<?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>52762</bug_id>
          
          <creation_ts>2011-01-19 16:10:15 -0800</creation_ts>
          <short_desc>nrwt: remove fs refs from run_webkit_tests, rebaseline_chromium_webkit_tests</short_desc>
          <delta_ts>2011-01-20 18:27:09 -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>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>eric</cc>
    
    <cc>mihaip</cc>
    
    <cc>ojan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>336900</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-01-19 16:10:15 -0800</bug_when>
    <thetext>nrwt: remove fs refs from run_webkit_tests, rebaseline_chromium_webkit_tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336901</commentid>
    <comment_count>1</comment_count>
      <attachid>79512</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-01-19 16:11:09 -0800</bug_when>
    <thetext>Created attachment 79512
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336914</commentid>
    <comment_count>2</comment_count>
      <attachid>79516</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-01-19 16:20:47 -0800</bug_when>
    <thetext>Created attachment 79516
fix a few dangling references to test_filesystem in run_webkit_tests_unittest</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337228</commentid>
    <comment_count>3</comment_count>
      <attachid>79516</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-01-20 03:04:59 -0800</bug_when>
    <thetext>Comment on attachment 79516
fix a few dangling references to test_filesystem in run_webkit_tests_unittest

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

&gt; Tools/Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests_unittest.py:91
&gt; +        filesystem = port.unit_test_filesystem()

I&apos;m confused.  Why not just use MockFileSystem directly?  Generally our live objects know nothing about mocks or unit tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337642</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-01-20 15:13:45 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 79516 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=79516&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests_unittest.py:91
&gt; &gt; +        filesystem = port.unit_test_filesystem()
&gt; 
&gt; I&apos;m confused.  Why not just use MockFileSystem directly?  Generally our live objects know nothing about mocks or unit tests.

In this particular test we probably could&apos;ve used MockFileSystem directly, since we&apos;re not using the filesystem for anything in particular. In fact, it probably didn&apos;t even need to instantiate a filesystem at all. (I&apos;ll test that to make sure, and delete the ref if true).

Otherwise, the unit_test_filesystem() gives me a consistent configuration to work with - a set of known filenames that should be present, a fixed set of test expectations, etc. This will be needed for other tests in this file coming up in a patch shortly.

As to mixing live objects and mocks, assuming I understand you&apos;re concern, it&apos;s a valid point, but I&apos;m not sure if there&apos;s a better way to get around the problem. I could import port.test.unit_test_filesystem, but it feels like bad style to mix package-level exports like port.get and reaching inside the package.

I&apos;m definitely open to other suggestions here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337670</commentid>
    <comment_count>5</comment_count>
      <attachid>79661</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-01-20 15:47:29 -0800</bug_when>
    <thetext>Created attachment 79661
don&apos;t change MockFileSystem calls for now</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337707</commentid>
    <comment_count>6</comment_count>
      <attachid>79661</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-01-20 16:41:50 -0800</bug_when>
    <thetext>Comment on attachment 79661
don&apos;t change MockFileSystem calls for now

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

&gt; Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py:82
&gt; +    last_unexpected_results = _gather_unexpected_results(port, options)

Do you need to pass in the whole port, or is the filesystem enough?

&gt; Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:410
&gt; +        with fs.mkdtemp() as tmpdir:

Will need to import with from __future__.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337729</commentid>
    <comment_count>7</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-01-20 17:00:36 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 79661 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=79661&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py:82
&gt; &gt; +    last_unexpected_results = _gather_unexpected_results(port, options)
&gt; 
&gt; Do you need to pass in the whole port, or is the filesystem enough?
&gt; 

Good point. I can just pass in the filesystem.

&gt; &gt; Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:410
&gt; &gt; +        with fs.mkdtemp() as tmpdir:
&gt; 
&gt; Will need to import with from __future__.

Good catch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337741</commentid>
    <comment_count>8</comment_count>
      <attachid>79668</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-01-20 17:07:21 -0800</bug_when>
    <thetext>Created attachment 79668
update w/ review feedback from mihaip</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337778</commentid>
    <comment_count>9</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-01-20 18:27:09 -0800</bug_when>
    <thetext>Committed r76321: &lt;http://trac.webkit.org/changeset/76321&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79512</attachid>
            <date>2011-01-19 16:11:09 -0800</date>
            <delta_ts>2011-01-19 16:20:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52762-20110119161107.patch</filename>
            <type>text/plain</type>
            <size>12626</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzYzFm
MWU5NzM4OWNlYzdlZDZlYmU1ZDNmMTNkNjE3NDMwMDBiM2UzLi5hZjkxNDBjZjFhOWM4ZGFkZTEy
YTJjYzBiODAzOGEwYmFjMDgxZjE3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMTggQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KIAorICAgICAgICByZW1vdmUgZnMgcmVmcyBmcm9tIHJ1bl93ZWJraXRf
dGVzdHMsIHJlYmFzZWxpbmVfY2hyb21pdW1fd2Via2l0X3Rlc3RzCisKKyAgICAgICAgTmVlZCBh
IHNob3J0IGRlc2NyaXB0aW9uIGFuZCBidWcgVVJMIChPT1BTISkKKworICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3JlYmFzZWxpbmVfY2hyb21pdW1fd2Via2l0X3Rlc3Rz
X3VuaXR0ZXN0LnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1
bl93ZWJraXRfdGVzdHMucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcnVuX3dlYmtpdF90ZXN0c191bml0dGVzdC5weToKKworMjAxMS0wMS0xOSAgRGlyayBQcmFu
a2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKwogICAgICAgICBucnd0OiByZW1vdmUgZnMgcmVmcyBmcm9tIHByaW50aW5nLCB0
ZXN0X2ZhaWx1cmVzLCB0ZXN0X2V4cGVjdGF0aW9ucywgdGV4dF9kaWZmCiAKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUyNzU2CmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9yZWJhc2VsaW5lX2Nocm9taXVtX3dl
YmtpdF90ZXN0c191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3JlYmFzZWxpbmVfY2hyb21pdW1fd2Via2l0X3Rlc3RzX3VuaXR0ZXN0LnB5CmluZGV4IDUw
YzAyMDQzYjg0NDk4NDlhNzAyYzg3NDVlZjAwMmFlN2NkN2FkN2QuLmQ2ZGVlMmQ3MGVlMjQ5YTU4
YWE5N2Y1Y2UxNTdmMGExNWZkMzBmOGYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3JlYmFzZWxpbmVfY2hyb21pdW1fd2Via2l0X3Rlc3RzX3VuaXR0ZXN0
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3JlYmFzZWxpbmVf
Y2hyb21pdW1fd2Via2l0X3Rlc3RzX3VuaXR0ZXN0LnB5CkBAIC04OCw3ICs4OCw3IEBAIGNsYXNz
IFRlc3RSZWJhc2VsaW5lcih1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIG1ha2VfcmViYXNl
bGluZXIoc2VsZik6CiAgICAgICAgIG9wdGlvbnMgPSBtb2NrdG9vbC5Nb2NrT3B0aW9ucyhjb25m
aWd1cmF0aW9uPU5vbmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBo
dG1sX2RpcmVjdG9yeT1Ob25lKQotICAgICAgICBmaWxlc3lzdGVtID0gZmlsZXN5c3RlbV9tb2Nr
Lk1vY2tGaWxlU3lzdGVtKCkKKyAgICAgICAgZmlsZXN5c3RlbSA9IHBvcnQudW5pdF90ZXN0X2Zp
bGVzeXN0ZW0oKQogICAgICAgICBob3N0X3BvcnRfb2JqID0gcG9ydC5nZXQoJ3Rlc3QnLCBvcHRp
b25zLCBmaWxlc3lzdGVtPWZpbGVzeXN0ZW0pCiAgICAgICAgIHRhcmdldF9vcHRpb25zID0gb3B0
aW9ucwogICAgICAgICB0YXJnZXRfcG9ydF9vYmogPSBwb3J0LmdldCgndGVzdCcsIHRhcmdldF9v
cHRpb25zLCBmaWxlc3lzdGVtPWZpbGVzeXN0ZW0pCkBAIC0xMzEsNyArMTMxLDcgQEAgY2xhc3Mg
VGVzdFJlYmFzZWxpbmVyKHVuaXR0ZXN0LlRlc3RDYXNlKToKIGNsYXNzIFRlc3RIdG1sR2VuZXJh
dG9yKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgbWFrZV9nZW5lcmF0b3Ioc2VsZiwgZmls
ZXMsIHRlc3RzKToKICAgICAgICAgb3B0aW9ucyA9IG1vY2t0b29sLk1vY2tPcHRpb25zKGNvbmZp
Z3VyYXRpb249Tm9uZSwgaHRtbF9kaXJlY3Rvcnk9Jy90bXAnKQotICAgICAgICBob3N0X3BvcnQg
PSBwb3J0LmdldCgndGVzdCcsIG9wdGlvbnMsIGZpbGVzeXN0ZW09ZmlsZXN5c3RlbV9tb2NrLk1v
Y2tGaWxlU3lzdGVtKGZpbGVzKSkKKyAgICAgICAgaG9zdF9wb3J0ID0gcG9ydC5nZXQoJ3Rlc3Qn
LCBvcHRpb25zLCBmaWxlc3lzdGVtPXBvcnQudW5pdF90ZXN0X2ZpbGVzeXN0ZW0oZmlsZXMpKQog
ICAgICAgICBnZW5lcmF0b3IgPSByZWJhc2VsaW5lX2Nocm9taXVtX3dlYmtpdF90ZXN0cy5IdG1s
R2VuZXJhdG9yKAogICAgICAgICAgICAgaG9zdF9wb3J0LAogICAgICAgICAgICAgdGFyZ2V0X3Bv
cnQ9Tm9uZSwKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3J1bl93ZWJraXRfdGVzdHMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9ydW5fd2Via2l0X3Rlc3RzLnB5CmluZGV4IGRjZGNmYWEzM2U3ZjcwNmMzOWEzNjYyYjUxNjdj
ZGZjYmY0NDQwZDEuLmM2MDdmMTc1MzVhYTIwMGI0ZjVjZDcwM2UzZDIxYjExZjExZWUyNjggMTAw
NzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRf
dGVzdHMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dl
YmtpdF90ZXN0cy5weQpAQCAtMzIsNyArMzIsNiBAQAogCiBmcm9tIF9fZnV0dXJlX18gaW1wb3J0
IHdpdGhfc3RhdGVtZW50CiAKLWltcG9ydCBjb2RlY3MKIGltcG9ydCBlcnJubwogaW1wb3J0IGxv
Z2dpbmcKIGltcG9ydCBvcHRwYXJzZQpAQCAtODAsNyArNzksNyBAQCBkZWYgcnVuKHBvcnQsIG9w
dGlvbnMsIGFyZ3MsIHJlZ3VsYXJfb3V0cHV0PXN5cy5zdGRlcnIsCiAgICAgICAgIHByaW50ZXIu
Y2xlYW51cCgpCiAgICAgICAgIHJldHVybiAwCiAKLSAgICBsYXN0X3VuZXhwZWN0ZWRfcmVzdWx0
cyA9IF9nYXRoZXJfdW5leHBlY3RlZF9yZXN1bHRzKG9wdGlvbnMpCisgICAgbGFzdF91bmV4cGVj
dGVkX3Jlc3VsdHMgPSBfZ2F0aGVyX3VuZXhwZWN0ZWRfcmVzdWx0cyhwb3J0LCBvcHRpb25zKQog
ICAgIGlmIG9wdGlvbnMucHJpbnRfbGFzdF9mYWlsdXJlczoKICAgICAgICAgcHJpbnRlci53cml0
ZSgiXG4iLmpvaW4obGFzdF91bmV4cGVjdGVkX3Jlc3VsdHMpICsgIlxuIikKICAgICAgICAgcHJp
bnRlci5jbGVhbnVwKCkKQEAgLTE0Niw3ICsxNDUsNyBAQCBkZWYgX3NldF91cF9kZXJpdmVkX29w
dGlvbnMocG9ydF9vYmosIG9wdGlvbnMpOgogICAgIGlmIG5vdCBvcHRpb25zLnVzZV9hcGFjaGU6
CiAgICAgICAgIG9wdGlvbnMudXNlX2FwYWNoZSA9IHN5cy5wbGF0Zm9ybSBpbiAoJ2Rhcndpbics
ICdsaW51eDInKQogCi0gICAgaWYgbm90IG9zLnBhdGguaXNhYnMob3B0aW9ucy5yZXN1bHRzX2Rp
cmVjdG9yeSk6CisgICAgaWYgbm90IHBvcnRfb2JqLl9maWxlc3lzdGVtLmlzYWJzKG9wdGlvbnMu
cmVzdWx0c19kaXJlY3RvcnkpOgogICAgICAgICAjIFRoaXMgbm9ybWFsaXplcyB0aGUgcGF0aCB0
byB0aGUgYnVpbGQgZGlyLgogICAgICAgICAjIEZJWE1FOiBob3cgdGhpcyBoYXBwZW5zIGlzIG5v
dCBhdCBhbGwgb2J2aW91czsgdGhpcyBpcyBhIGR1bWIKICAgICAgICAgIyBpbnRlcmZhY2UgYW5k
IHNob3VsZCBiZSBjbGVhbmVkIHVwLgpAQCAtMTYyLDE0ICsxNjEsMTMgQEAgZGVmIF9zZXRfdXBf
ZGVyaXZlZF9vcHRpb25zKHBvcnRfb2JqLCBvcHRpb25zKToKICAgICByZXR1cm4gd2FybmluZ3MK
IAogCi1kZWYgX2dhdGhlcl91bmV4cGVjdGVkX3Jlc3VsdHMob3B0aW9ucyk6CitkZWYgX2dhdGhl
cl91bmV4cGVjdGVkX3Jlc3VsdHMocG9ydCwgb3B0aW9ucyk6CiAgICAgIiIiUmV0dXJucyB0aGUg
dW5leHBlY3RlZCByZXN1bHRzIGZyb20gdGhlIHByZXZpb3VzIHJ1biwgaWYgYW55LiIiIgogICAg
IGxhc3RfdW5leHBlY3RlZF9yZXN1bHRzID0gW10KICAgICBpZiBvcHRpb25zLnByaW50X2xhc3Rf
ZmFpbHVyZXMgb3Igb3B0aW9ucy5yZXRlc3RfbGFzdF9mYWlsdXJlczoKLSAgICAgICAgdW5leHBl
Y3RlZF9yZXN1bHRzX2ZpbGVuYW1lID0gb3MucGF0aC5qb2luKAotICAgICAgICBvcHRpb25zLnJl
c3VsdHNfZGlyZWN0b3J5LCAidW5leHBlY3RlZF9yZXN1bHRzLmpzb24iKQotICAgICAgICB3aXRo
IGNvZGVjcy5vcGVuKHVuZXhwZWN0ZWRfcmVzdWx0c19maWxlbmFtZSwgInIiLCAidXRmLTgiKSBh
cyBmaWxlOgotICAgICAgICAgICAgcmVzdWx0cyA9IHNpbXBsZWpzb24ubG9hZChmaWxlKQorICAg
ICAgICB1bmV4cGVjdGVkX3Jlc3VsdHNfZmlsZW5hbWUgPSBwb3J0Ll9maWxlc3lzdGVtLmpvaW4o
CisgICAgICAgICAgICBvcHRpb25zLnJlc3VsdHNfZGlyZWN0b3J5LCAidW5leHBlY3RlZF9yZXN1
bHRzLmpzb24iKQorICAgICAgICByZXN1bHRzID0gc2ltcGxlanNvbi5sb2Fkcyhwb3J0Ll9maWxl
c3lzdGVtLnJlYWRfdGV4dF9maWxlKHVuZXhwZWN0ZWRfcmVzdWx0c19maWxlbmFtZSkpCiAgICAg
ICAgIGxhc3RfdW5leHBlY3RlZF9yZXN1bHRzID0gcmVzdWx0c1sndGVzdHMnXS5rZXlzKCkKICAg
ICByZXR1cm4gbGFzdF91bmV4cGVjdGVkX3Jlc3VsdHMKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c191bml0dGVzdC5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfdW5p
dHRlc3QucHkKaW5kZXggZjJmZjgyZjUyOWQ3N2NkNDU2OGViOTgxNjRmYTM0YzliNWFjNmU3Ny4u
Yzk2NjIzNmFlZjJiNjk4YTU0YzcxNzJmMDhjMzM4ZTk0MjBmZDM3OCAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c191bml0dGVz
dC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0
X3Rlc3RzX3VuaXR0ZXN0LnB5CkBAIC0zMywxMSArMzMsOCBAQAogaW1wb3J0IGNvZGVjcwogaW1w
b3J0IGl0ZXJ0b29scwogaW1wb3J0IGxvZ2dpbmcKLWltcG9ydCBvcwogaW1wb3J0IFF1ZXVlCi1p
bXBvcnQgc2h1dGlsCiBpbXBvcnQgc3lzCi1pbXBvcnQgdGVtcGZpbGUKIGltcG9ydCB0aHJlYWQK
IGltcG9ydCB0aW1lCiBpbXBvcnQgdGhyZWFkaW5nCkBAIC00NSw2ICs0Miw3IEBAIGltcG9ydCB1
bml0dGVzdAogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbiBpbXBvcnQgYXJyYXlfc3RyZWFtCiBmcm9t
IHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1wb3J0IG91dHB1dGNhcHR1cmUKK2Zyb20gd2Via2l0
cHkuY29tbW9uLnN5c3RlbSBpbXBvcnQgZmlsZXN5c3RlbV9tb2NrCiBmcm9tIHdlYmtpdHB5LmNv
bW1vbi5zeXN0ZW0gaW1wb3J0IHVzZXIKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzIGltcG9y
dCBwb3J0CiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cyBpbXBvcnQgcnVuX3dlYmtpdF90ZXN0
cwpAQCAtNjQsNiArNjIsMTAgQEAgY2xhc3MgTW9ja1VzZXIoKToKICAgICAgICAgc2VsZi51cmwg
PSB1cmwKIAogCitkZWYgdGVzdF9maWxlc3lzdGVtKCk6CisgICAgcmV0dXJuIHBvcnQudW5pdF90
ZXN0X2ZpbGVzeXN0ZW0oKQorCisKIGRlZiBwYXJzZV9hcmdzKGV4dHJhX2FyZ3M9Tm9uZSwgcmVj
b3JkX3Jlc3VsdHM9RmFsc2UsIHRlc3RzX2luY2x1ZGVkPUZhbHNlLAogICAgICAgICAgICAgICAg
cHJpbnRfbm90aGluZz1UcnVlKToKICAgICBleHRyYV9hcmdzID0gZXh0cmFfYXJncyBvciBbXQpA
QCAtODgsMTIgKzkwLDEyIEBAIGRlZiBwYXJzZV9hcmdzKGV4dHJhX2FyZ3M9Tm9uZSwgcmVjb3Jk
X3Jlc3VsdHM9RmFsc2UsIHRlc3RzX2luY2x1ZGVkPUZhbHNlLAogCiAKIGRlZiBwYXNzaW5nX3J1
bihleHRyYV9hcmdzPU5vbmUsIHBvcnRfb2JqPU5vbmUsIHJlY29yZF9yZXN1bHRzPUZhbHNlLAot
ICAgICAgICAgICAgICAgIHRlc3RzX2luY2x1ZGVkPUZhbHNlKToKKyAgICAgICAgICAgICAgICB0
ZXN0c19pbmNsdWRlZD1GYWxzZSwgZmlsZXN5c3RlbT1Ob25lKToKICAgICBvcHRpb25zLCBwYXJz
ZWRfYXJncyA9IHBhcnNlX2FyZ3MoZXh0cmFfYXJncywgcmVjb3JkX3Jlc3VsdHMsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RzX2luY2x1ZGVkKQogICAgIGlmIG5v
dCBwb3J0X29iajoKICAgICAgICAgcG9ydF9vYmogPSBwb3J0LmdldChwb3J0X25hbWU9b3B0aW9u
cy5wbGF0Zm9ybSwgb3B0aW9ucz1vcHRpb25zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVzZXI9TW9ja1VzZXIoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyPU1vY2tV
c2VyKCksIGZpbGVzeXN0ZW09ZmlsZXN5c3RlbSkKICAgICByZXMgPSBydW5fd2Via2l0X3Rlc3Rz
LnJ1bihwb3J0X29iaiwgb3B0aW9ucywgcGFyc2VkX2FyZ3MpCiAgICAgcmV0dXJuIHJlcyA9PSAw
CiAKQEAgLTIzOSw5ICsyNDEsMTAgQEAgY2xhc3MgTWFpblRlc3QodW5pdHRlc3QuVGVzdENhc2Up
OgogICAgICAgICAgICAgWydmYWlsdXJlcy9leHBlY3RlZC9rZXlib2FyZC5odG1sJ10sIHRlc3Rz
X2luY2x1ZGVkPVRydWUpCiAKICAgICBkZWYgdGVzdF9sYXN0X3Jlc3VsdHMoc2VsZik6Ci0gICAg
ICAgIHBhc3NpbmdfcnVuKFsnLS1jbG9iYmVyLW9sZC1yZXN1bHRzJ10sIHJlY29yZF9yZXN1bHRz
PVRydWUpCisgICAgICAgIGZzID0gdGVzdF9maWxlc3lzdGVtKCkKKyAgICAgICAgcGFzc2luZ19y
dW4oWyctLWNsb2JiZXItb2xkLXJlc3VsdHMnXSwgcmVjb3JkX3Jlc3VsdHM9VHJ1ZSwgZmlsZXN5
c3RlbT1mcykKICAgICAgICAgKHJlcywgYnVpbGRib3Rfb3V0cHV0LCByZWd1bGFyX291dHB1dCwg
dXNlcikgPSBsb2dnaW5nX3J1bigKLSAgICAgICAgICAgIFsnLS1wcmludC1sYXN0LWZhaWx1cmVz
J10pCisgICAgICAgICAgICBbJy0tcHJpbnQtbGFzdC1mYWlsdXJlcyddLCBmaWxlc3lzdGVtPWZz
KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlZ3VsYXJfb3V0cHV0LmdldCgpLCBbJ1xuXG4n
XSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWlsZGJvdF9vdXRwdXQuZ2V0KCksIFtdKQog
CkBAIC0zMzgsNyArMzQxLDcgQEAgY2xhc3MgTWFpblRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgog
ICAgIGRlZiB0ZXN0X3Rlc3RfbGlzdF93aXRoX3ByZWZpeChzZWxmKToKICAgICAgICAgZnMgPSBw
b3J0LnVuaXRfdGVzdF9maWxlc3lzdGVtKCkKICAgICAgICAgZmlsZW5hbWUgPSAnL3RtcC9mb28u
dHh0JwotICAgICAgICBmcy53cml0ZV90ZXh0X2ZpbGUoZmlsZW5hbWUsICdwYXNzZXMvdGV4dC5o
dG1sJykKKyAgICAgICAgZnMud3JpdGVfdGV4dF9maWxlKGZpbGVuYW1lLCAnTGF5b3V0VGVzdHMv
cGFzc2VzL3RleHQuaHRtbCcpCiAgICAgICAgIHRlc3RzX3J1biA9IGdldF90ZXN0c19ydW4oWyct
LXRlc3QtbGlzdD0lcycgJSBmaWxlbmFtZV0sIHRlc3RzX2luY2x1ZGVkPVRydWUsIGZsYXR0ZW5f
YmF0Y2hlcz1UcnVlLCBmaWxlc3lzdGVtPWZzKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhb
J3Bhc3Nlcy90ZXh0Lmh0bWwnXSwgdGVzdHNfcnVuKQogCkBAIC00MDcsMTEgKzQxMCwxMSBAQCBj
bGFzcyBNYWluVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICMgV2UgcnVuIGEgY29u
ZmlndXJhdGlvbiB0aGF0IHNob3VsZCBmYWlsLCB0byBnZW5lcmF0ZSBvdXRwdXQsIHRoZW4KICAg
ICAgICAgIyBsb29rIGZvciB3aGF0IHRoZSBvdXRwdXQgcmVzdWx0cyB1cmwgd2FzLgogCi0gICAg
ICAgIHRtcGRpciA9IHRlbXBmaWxlLm1rZHRlbXAoKQotICAgICAgICByZXMsIG91dCwgZXJyLCB1
c2VyID0gbG9nZ2luZ19ydW4oWyctLXJlc3VsdHMtZGlyZWN0b3J5PScgKyB0bXBkaXJdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdHNfaW5jbHVkZWQ9VHJ1
ZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1c2VyLnVybCwgb3MucGF0aC5qb2luKHRtcGRp
ciwgJ3Jlc3VsdHMuaHRtbCcpKQotICAgICAgICBzaHV0aWwucm10cmVlKHRtcGRpciwgaWdub3Jl
X2Vycm9ycz1UcnVlKQorICAgICAgICBmcyA9IHRlc3RfZmlsZXN5c3RlbSgpCisgICAgICAgIHdp
dGggZnMubWtkdGVtcCgpIGFzIHRtcGRpcjoKKyAgICAgICAgICAgIHJlcywgb3V0LCBlcnIsIHVz
ZXIgPSBsb2dnaW5nX3J1bihbJy0tcmVzdWx0cy1kaXJlY3Rvcnk9JyArIHN0cih0bXBkaXIpXSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0c19pbmNs
dWRlZD1UcnVlLCBmaWxlc3lzdGVtPWZzKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1
c2VyLnVybCwgZnMuam9pbih0bXBkaXIsICdyZXN1bHRzLmh0bWwnKSkKIAogICAgIGRlZiB0ZXN0
X3Jlc3VsdHNfZGlyZWN0b3J5X2RlZmF1bHQoc2VsZik6CiAgICAgICAgICMgV2UgcnVuIGEgY29u
ZmlndXJhdGlvbiB0aGF0IHNob3VsZCBmYWlsLCB0byBnZW5lcmF0ZSBvdXRwdXQsIHRoZW4KQEAg
LTQ2OCwxOCArNDcxLDYgQEAgY2xhc3MgTWFpblRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogTWFp
blRlc3QgPSBza2lwX2lmKE1haW5UZXN0LCBzeXMucGxhdGZvcm0gPT0gJ2N5Z3dpbicgYW5kIGNv
bXBhcmVfdmVyc2lvbihzeXMsICcyLjYnKVswXSA8IDAsICduZXctcnVuLXdlYmtpdC10ZXN0cyB0
ZXN0cyBoYW5nIG9uIEN5Z3dpbiBQeXRob24gMi41LjInKQogCiAKLQotZGVmIF9tb2NrZWRfb3Bl
bihvcmlnaW5hbF9vcGVuLCBmaWxlX2xpc3QpOgotICAgIGRlZiBfd3JhcHBlcihuYW1lLCBtb2Rl
LCBlbmNvZGluZyk6Ci0gICAgICAgIGlmIG5hbWUuZmluZCgiLWV4cGVjdGVkLiIpICE9IC0xIGFu
ZCBtb2RlLmZpbmQoInciKSAhPSAtMToKLSAgICAgICAgICAgICMgd2UgZG9uJ3Qgd2FudCB0byBh
Y3R1YWxseSB3cml0ZSBuZXcgYmFzZWxpbmVzLCBzbyBzdHViIHRoZXNlIG91dAotICAgICAgICAg
ICAgbmFtZS5yZXBsYWNlKCdcXCcsICcvJykKLSAgICAgICAgICAgIGZpbGVfbGlzdC5hcHBlbmQo
bmFtZSkKLSAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbF9vcGVuKG9zLmRldm51bGwsIG1vZGUs
IGVuY29kaW5nKQotICAgICAgICByZXR1cm4gb3JpZ2luYWxfb3BlbihuYW1lLCBtb2RlLCBlbmNv
ZGluZykKLSAgICByZXR1cm4gX3dyYXBwZXIKLQotCiBjbGFzcyBSZWJhc2VsaW5lVGVzdCh1bml0
dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIGFzc2VydEJhc2VsaW5lcyhzZWxmLCBmaWxlX2xpc3Qs
IGZpbGUpOgogICAgICAgICAiYXNzZXJ0IHRoYXQgdGhlIGZpbGVfbGlzdCBjb250YWlucyB0aGUg
YmFzZWxpbmVzLiIiIgpAQCAtNDkwLDQ5ICs0ODEsNDIgQEAgY2xhc3MgUmViYXNlbGluZVRlc3Qo
dW5pdHRlc3QuVGVzdENhc2UpOgogICAgICMgRklYTUU6IEFkZCB0ZXN0cyB0byBlbnN1cmUgdGhh
dCB3ZSdyZSAqbm90KiB3cml0aW5nIGJhc2VsaW5lcyB3aGVuIHdlJ3JlIG5vdAogICAgICMgc3Vw
cG9zZWQgdG8gYmUuCiAKLSAgICBkZWYgZGlzYWJsZWRfdGVzdF9yZXNldF9yZXN1bHRzKHNlbGYp
OgotICAgICAgICAjIEZJWE1FOiBUaGlzIHRlc3QgaXMgZGlzYWJsZWQgdW50aWwgd2UgY2FuIHJl
d3JpdGUgaXQgdG8gdXNlIGEKLSAgICAgICAgIyBtb2NrIGZpbGVzeXN0ZW0uCi0gICAgICAgICMK
KyAgICBkZWYgdGVzdF9yZXNldF9yZXN1bHRzKHNlbGYpOgogICAgICAgICAjIFRlc3QgdGhhdCB3
ZSB1cGRhdGUgZXhwZWN0YXRpb25zIGluIHBsYWNlLiBJZiB0aGUgZXhwZWN0YXRpb24KICAgICAg
ICAgIyBpcyBtaXNzaW5nLCB1cGRhdGUgdGhlIGV4cGVjdGVkIGdlbmVyaWMgbG9jYXRpb24uCi0g
ICAgICAgIGZpbGVfbGlzdCA9IFtdCisgICAgICAgIGZzID0gdGVzdF9maWxlc3lzdGVtKCkKICAg
ICAgICAgcGFzc2luZ19ydW4oWyctLXBpeGVsLXRlc3RzJywKICAgICAgICAgICAgICAgICAgICAg
ICAgICctLXJlc2V0LXJlc3VsdHMnLAogICAgICAgICAgICAgICAgICAgICAgICAgJ3Bhc3Nlcy9p
bWFnZS5odG1sJywKICAgICAgICAgICAgICAgICAgICAgICAgICdmYWlsdXJlcy9leHBlY3RlZC9t
aXNzaW5nX2ltYWdlLmh0bWwnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RzX2luY2x1
ZGVkPVRydWUpCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0c19pbmNsdWRlZD1UcnVlLCBm
aWxlc3lzdGVtPWZzKQorICAgICAgICBmaWxlX2xpc3QgPSBmcy53cml0dGVuX2ZpbGVzLmtleXMo
KQorICAgICAgICBmaWxlX2xpc3QucmVtb3ZlKCcvdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvdGVz
dHNfcnVuLnR4dCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGZpbGVfbGlzdCksIDYp
CiAgICAgICAgIHNlbGYuYXNzZXJ0QmFzZWxpbmVzKGZpbGVfbGlzdCwKLSAgICAgICAgICAgICJk
YXRhL3Bhc3Nlcy9pbWFnZSIpCisgICAgICAgICAgICAiL3Bhc3Nlcy9pbWFnZSIpCiAgICAgICAg
IHNlbGYuYXNzZXJ0QmFzZWxpbmVzKGZpbGVfbGlzdCwKLSAgICAgICAgICAgICJkYXRhL2ZhaWx1
cmVzL2V4cGVjdGVkL21pc3NpbmdfaW1hZ2UiKQorICAgICAgICAgICAgIi9mYWlsdXJlcy9leHBl
Y3RlZC9taXNzaW5nX2ltYWdlIikKKworICAgIGRlZiB0ZXN0X25ld19iYXNlbGluZShzZWxmKToK
KyAgICAgICAgIyBUZXN0IHRoYXQgd2UgdXBkYXRlIHRoZSBwbGF0Zm9ybSBleHBlY3RhdGlvbnMu
IElmIHRoZSBleHBlY3RhdGlvbgorICAgICAgICAjIGlzIG1zc2luZywgdGhlbiBjcmVhdGUgYSBu
ZXcgZXhwZWN0YXRpb24gaW4gdGhlIHBsYXRmb3JtIGRpci4KKyAgICAgICAgZnMgPSB0ZXN0X2Zp
bGVzeXN0ZW0oKQogCi0gICAgZGVmIGRpc2FibGVkX3Rlc3RfbmV3X2Jhc2VsaW5lKHNlbGYpOgot
ICAgICAgICAjIEZJWE1FOiBUaGlzIHRlc3QgaXMgZGlzYWJsZWQgdW50aWwgd2UgY2FuIHJld3Jp
dGUgaXQgdG8gdXNlIGEKLSAgICAgICAgIyBtb2NrIGZpbGVzeXN0ZW0uCi0gICAgICAgICMKICAg
ICAgICAgIyBUZXN0IHRoYXQgd2UgdXBkYXRlIHRoZSBwbGF0Zm9ybSBleHBlY3RhdGlvbnMuIElm
IHRoZSBleHBlY3RhdGlvbgogICAgICAgICAjIGlzIG1zc2luZywgdGhlbiBjcmVhdGUgYSBuZXcg
ZXhwZWN0YXRpb24gaW4gdGhlIHBsYXRmb3JtIGRpci4KLSAgICAgICAgZmlsZV9saXN0ID0gW10K
LSAgICAgICAgb3JpZ2luYWxfb3BlbiA9IGNvZGVjcy5vcGVuCi0gICAgICAgIHRyeToKLSAgICAg
ICAgICAgICMgVGVzdCB0aGF0IHdlIHVwZGF0ZSB0aGUgcGxhdGZvcm0gZXhwZWN0YXRpb25zLiBJ
ZiB0aGUgZXhwZWN0YXRpb24KLSAgICAgICAgICAgICMgaXMgbXNzaW5nLCB0aGVuIGNyZWF0ZSBh
IG5ldyBleHBlY3RhdGlvbiBpbiB0aGUgcGxhdGZvcm0gZGlyLgotICAgICAgICAgICAgZmlsZV9s
aXN0ID0gW10KLSAgICAgICAgICAgIGNvZGVjcy5vcGVuID0gX21vY2tlZF9vcGVuKG9yaWdpbmFs
X29wZW4sIGZpbGVfbGlzdCkKLSAgICAgICAgICAgIHBhc3NpbmdfcnVuKFsnLS1waXhlbC10ZXN0
cycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgJy0tbmV3LWJhc2VsaW5lJywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAncGFzc2VzL2ltYWdlLmh0bWwnLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICdmYWlsdXJlcy9leHBlY3RlZC9taXNzaW5nX2ltYWdlLmh0bWwnXSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHRlc3RzX2luY2x1ZGVkPVRydWUpCi0gICAgICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKGxlbihmaWxlX2xpc3QpLCA2KQotICAgICAgICAgICAgc2VsZi5hc3NlcnRCYXNl
bGluZXMoZmlsZV9saXN0LAotICAgICAgICAgICAgICAgICJkYXRhL3BsYXRmb3JtL3Rlc3QvcGFz
c2VzL2ltYWdlIikKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0QmFzZWxpbmVzKGZpbGVfbGlzdCwK
LSAgICAgICAgICAgICAgICAiZGF0YS9wbGF0Zm9ybS90ZXN0L2ZhaWx1cmVzL2V4cGVjdGVkL21p
c3NpbmdfaW1hZ2UiKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgY29kZWNzLm9wZW4g
PSBvcmlnaW5hbF9vcGVuCisgICAgICAgIHBhc3NpbmdfcnVuKFsnLS1waXhlbC10ZXN0cycsCisg
ICAgICAgICAgICAgICAgICAgICAgICAnLS1uZXctYmFzZWxpbmUnLAorICAgICAgICAgICAgICAg
ICAgICAgICAgJ3Bhc3Nlcy9pbWFnZS5odG1sJywKKyAgICAgICAgICAgICAgICAgICAgICAgICdm
YWlsdXJlcy9leHBlY3RlZC9taXNzaW5nX2ltYWdlLmh0bWwnXSwKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwgZmlsZXN5c3RlbT1mcykKKyAgICAgICAgZmlsZV9saXN0
ID0gZnMud3JpdHRlbl9maWxlcy5rZXlzKCkKKyAgICAgICAgZmlsZV9saXN0LnJlbW92ZSgnL3Rt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Rlc3RzX3J1bi50eHQnKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKGxlbihmaWxlX2xpc3QpLCA2KQorICAgICAgICBzZWxmLmFzc2VydEJhc2VsaW5lcyhm
aWxlX2xpc3QsCisgICAgICAgICAgICAiL3BsYXRmb3JtL3Rlc3QvcGFzc2VzL2ltYWdlIikKKyAg
ICAgICAgc2VsZi5hc3NlcnRCYXNlbGluZXMoZmlsZV9saXN0LAorICAgICAgICAgICAgIi9wbGF0
Zm9ybS90ZXN0L2ZhaWx1cmVzL2V4cGVjdGVkL21pc3NpbmdfaW1hZ2UiKQogCiAKIGNsYXNzIERy
eXJ1blRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79516</attachid>
            <date>2011-01-19 16:20:47 -0800</date>
            <delta_ts>2011-01-20 15:47:25 -0800</delta_ts>
            <desc>fix a few dangling references to test_filesystem in run_webkit_tests_unittest</desc>
            <filename>bug-52762-20110119162046.patch</filename>
            <type>text/plain</type>
            <size>12385</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzYzFm
MWU5NzM4OWNlYzdlZDZlYmU1ZDNmMTNkNjE3NDMwMDBiM2UzLi5iNzNlMDM1YjFiNjY1NTYzNjBh
MGI1NjNmODA1YWViMTAxMDc5NzA2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMTggQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KIAorICAgICAgICByZW1vdmUgZnMgcmVmcyBmcm9tIHJ1bl93ZWJraXRf
dGVzdHMsIHJlYmFzZWxpbmVfY2hyb21pdW1fd2Via2l0X3Rlc3RzCisKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUyNzYyCisKKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9yZWJhc2VsaW5lX2Nocm9taXVtX3dlYmtpdF90ZXN0
c191bml0dGVzdC5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9y
dW5fd2Via2l0X3Rlc3RzLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3J1bl93ZWJraXRfdGVzdHNfdW5pdHRlc3QucHk6CisKKzIwMTEtMDEtMTkgIERpcmsgUHJh
bmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKICAgICAgICAgbnJ3dDogcmVtb3ZlIGZzIHJlZnMgZnJvbSBwcmludGluZywg
dGVzdF9mYWlsdXJlcywgdGVzdF9leHBlY3RhdGlvbnMsIHRleHRfZGlmZgogCiAgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01Mjc1NgpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcmViYXNlbGluZV9jaHJvbWl1bV93
ZWJraXRfdGVzdHNfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9yZWJhc2VsaW5lX2Nocm9taXVtX3dlYmtpdF90ZXN0c191bml0dGVzdC5weQppbmRleCA1
MGMwMjA0M2I4NDQ5ODQ5YTcwMmM4NzQ1ZWYwMDJhZTdjZDdhZDdkLi5kNmRlZTJkNzBlZTI0OWE1
OGFhOTdmNWNlMTU3ZjBhMTVmZDMwZjhmIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9yZWJhc2VsaW5lX2Nocm9taXVtX3dlYmtpdF90ZXN0c191bml0dGVz
dC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9yZWJhc2VsaW5l
X2Nocm9taXVtX3dlYmtpdF90ZXN0c191bml0dGVzdC5weQpAQCAtODgsNyArODgsNyBAQCBjbGFz
cyBUZXN0UmViYXNlbGluZXIodW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBtYWtlX3JlYmFz
ZWxpbmVyKHNlbGYpOgogICAgICAgICBvcHRpb25zID0gbW9ja3Rvb2wuTW9ja09wdGlvbnMoY29u
ZmlndXJhdGlvbj1Ob25lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aHRtbF9kaXJlY3Rvcnk9Tm9uZSkKLSAgICAgICAgZmlsZXN5c3RlbSA9IGZpbGVzeXN0ZW1fbW9j
ay5Nb2NrRmlsZVN5c3RlbSgpCisgICAgICAgIGZpbGVzeXN0ZW0gPSBwb3J0LnVuaXRfdGVzdF9m
aWxlc3lzdGVtKCkKICAgICAgICAgaG9zdF9wb3J0X29iaiA9IHBvcnQuZ2V0KCd0ZXN0Jywgb3B0
aW9ucywgZmlsZXN5c3RlbT1maWxlc3lzdGVtKQogICAgICAgICB0YXJnZXRfb3B0aW9ucyA9IG9w
dGlvbnMKICAgICAgICAgdGFyZ2V0X3BvcnRfb2JqID0gcG9ydC5nZXQoJ3Rlc3QnLCB0YXJnZXRf
b3B0aW9ucywgZmlsZXN5c3RlbT1maWxlc3lzdGVtKQpAQCAtMTMxLDcgKzEzMSw3IEBAIGNsYXNz
IFRlc3RSZWJhc2VsaW5lcih1bml0dGVzdC5UZXN0Q2FzZSk6CiBjbGFzcyBUZXN0SHRtbEdlbmVy
YXRvcih1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIG1ha2VfZ2VuZXJhdG9yKHNlbGYsIGZp
bGVzLCB0ZXN0cyk6CiAgICAgICAgIG9wdGlvbnMgPSBtb2NrdG9vbC5Nb2NrT3B0aW9ucyhjb25m
aWd1cmF0aW9uPU5vbmUsIGh0bWxfZGlyZWN0b3J5PScvdG1wJykKLSAgICAgICAgaG9zdF9wb3J0
ID0gcG9ydC5nZXQoJ3Rlc3QnLCBvcHRpb25zLCBmaWxlc3lzdGVtPWZpbGVzeXN0ZW1fbW9jay5N
b2NrRmlsZVN5c3RlbShmaWxlcykpCisgICAgICAgIGhvc3RfcG9ydCA9IHBvcnQuZ2V0KCd0ZXN0
Jywgb3B0aW9ucywgZmlsZXN5c3RlbT1wb3J0LnVuaXRfdGVzdF9maWxlc3lzdGVtKGZpbGVzKSkK
ICAgICAgICAgZ2VuZXJhdG9yID0gcmViYXNlbGluZV9jaHJvbWl1bV93ZWJraXRfdGVzdHMuSHRt
bEdlbmVyYXRvcigKICAgICAgICAgICAgIGhvc3RfcG9ydCwKICAgICAgICAgICAgIHRhcmdldF9w
b3J0PU5vbmUsCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9ydW5fd2Via2l0X3Rlc3RzLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcnVuX3dlYmtpdF90ZXN0cy5weQppbmRleCBkY2RjZmFhMzNlN2Y3MDZjMzlhMzY2MmI1MTY3
Y2RmY2JmNDQ0MGQxLi5jNjA3ZjE3NTM1YWEyMDBiNGY1Y2Q3MDNlM2QyMWIxMWYxMWVlMjY4IDEw
MDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0
X3Rlc3RzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93
ZWJraXRfdGVzdHMucHkKQEAgLTMyLDcgKzMyLDYgQEAKIAogZnJvbSBfX2Z1dHVyZV9fIGltcG9y
dCB3aXRoX3N0YXRlbWVudAogCi1pbXBvcnQgY29kZWNzCiBpbXBvcnQgZXJybm8KIGltcG9ydCBs
b2dnaW5nCiBpbXBvcnQgb3B0cGFyc2UKQEAgLTgwLDcgKzc5LDcgQEAgZGVmIHJ1bihwb3J0LCBv
cHRpb25zLCBhcmdzLCByZWd1bGFyX291dHB1dD1zeXMuc3RkZXJyLAogICAgICAgICBwcmludGVy
LmNsZWFudXAoKQogICAgICAgICByZXR1cm4gMAogCi0gICAgbGFzdF91bmV4cGVjdGVkX3Jlc3Vs
dHMgPSBfZ2F0aGVyX3VuZXhwZWN0ZWRfcmVzdWx0cyhvcHRpb25zKQorICAgIGxhc3RfdW5leHBl
Y3RlZF9yZXN1bHRzID0gX2dhdGhlcl91bmV4cGVjdGVkX3Jlc3VsdHMocG9ydCwgb3B0aW9ucykK
ICAgICBpZiBvcHRpb25zLnByaW50X2xhc3RfZmFpbHVyZXM6CiAgICAgICAgIHByaW50ZXIud3Jp
dGUoIlxuIi5qb2luKGxhc3RfdW5leHBlY3RlZF9yZXN1bHRzKSArICJcbiIpCiAgICAgICAgIHBy
aW50ZXIuY2xlYW51cCgpCkBAIC0xNDYsNyArMTQ1LDcgQEAgZGVmIF9zZXRfdXBfZGVyaXZlZF9v
cHRpb25zKHBvcnRfb2JqLCBvcHRpb25zKToKICAgICBpZiBub3Qgb3B0aW9ucy51c2VfYXBhY2hl
OgogICAgICAgICBvcHRpb25zLnVzZV9hcGFjaGUgPSBzeXMucGxhdGZvcm0gaW4gKCdkYXJ3aW4n
LCAnbGludXgyJykKIAotICAgIGlmIG5vdCBvcy5wYXRoLmlzYWJzKG9wdGlvbnMucmVzdWx0c19k
aXJlY3RvcnkpOgorICAgIGlmIG5vdCBwb3J0X29iai5fZmlsZXN5c3RlbS5pc2FicyhvcHRpb25z
LnJlc3VsdHNfZGlyZWN0b3J5KToKICAgICAgICAgIyBUaGlzIG5vcm1hbGl6ZXMgdGhlIHBhdGgg
dG8gdGhlIGJ1aWxkIGRpci4KICAgICAgICAgIyBGSVhNRTogaG93IHRoaXMgaGFwcGVucyBpcyBu
b3QgYXQgYWxsIG9idmlvdXM7IHRoaXMgaXMgYSBkdW1iCiAgICAgICAgICMgaW50ZXJmYWNlIGFu
ZCBzaG91bGQgYmUgY2xlYW5lZCB1cC4KQEAgLTE2MiwxNCArMTYxLDEzIEBAIGRlZiBfc2V0X3Vw
X2Rlcml2ZWRfb3B0aW9ucyhwb3J0X29iaiwgb3B0aW9ucyk6CiAgICAgcmV0dXJuIHdhcm5pbmdz
CiAKIAotZGVmIF9nYXRoZXJfdW5leHBlY3RlZF9yZXN1bHRzKG9wdGlvbnMpOgorZGVmIF9nYXRo
ZXJfdW5leHBlY3RlZF9yZXN1bHRzKHBvcnQsIG9wdGlvbnMpOgogICAgICIiIlJldHVybnMgdGhl
IHVuZXhwZWN0ZWQgcmVzdWx0cyBmcm9tIHRoZSBwcmV2aW91cyBydW4sIGlmIGFueS4iIiIKICAg
ICBsYXN0X3VuZXhwZWN0ZWRfcmVzdWx0cyA9IFtdCiAgICAgaWYgb3B0aW9ucy5wcmludF9sYXN0
X2ZhaWx1cmVzIG9yIG9wdGlvbnMucmV0ZXN0X2xhc3RfZmFpbHVyZXM6Ci0gICAgICAgIHVuZXhw
ZWN0ZWRfcmVzdWx0c19maWxlbmFtZSA9IG9zLnBhdGguam9pbigKLSAgICAgICAgb3B0aW9ucy5y
ZXN1bHRzX2RpcmVjdG9yeSwgInVuZXhwZWN0ZWRfcmVzdWx0cy5qc29uIikKLSAgICAgICAgd2l0
aCBjb2RlY3Mub3Blbih1bmV4cGVjdGVkX3Jlc3VsdHNfZmlsZW5hbWUsICJyIiwgInV0Zi04Iikg
YXMgZmlsZToKLSAgICAgICAgICAgIHJlc3VsdHMgPSBzaW1wbGVqc29uLmxvYWQoZmlsZSkKKyAg
ICAgICAgdW5leHBlY3RlZF9yZXN1bHRzX2ZpbGVuYW1lID0gcG9ydC5fZmlsZXN5c3RlbS5qb2lu
KAorICAgICAgICAgICAgb3B0aW9ucy5yZXN1bHRzX2RpcmVjdG9yeSwgInVuZXhwZWN0ZWRfcmVz
dWx0cy5qc29uIikKKyAgICAgICAgcmVzdWx0cyA9IHNpbXBsZWpzb24ubG9hZHMocG9ydC5fZmls
ZXN5c3RlbS5yZWFkX3RleHRfZmlsZSh1bmV4cGVjdGVkX3Jlc3VsdHNfZmlsZW5hbWUpKQogICAg
ICAgICBsYXN0X3VuZXhwZWN0ZWRfcmVzdWx0cyA9IHJlc3VsdHNbJ3Rlc3RzJ10ua2V5cygpCiAg
ICAgcmV0dXJuIGxhc3RfdW5leHBlY3RlZF9yZXN1bHRzCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfdW5pdHRlc3QucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzX3Vu
aXR0ZXN0LnB5CmluZGV4IGYyZmY4MmY1MjlkNzdjZDQ1NjhlYjk4MTY0ZmEzNGM5YjVhYzZlNzcu
LjQ3NjA3NjQzNjkwMjU5NzgwN2RmZDZiYWRmMDc0Mzk1YzBkNzJhNjIgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfdW5pdHRl
c3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtp
dF90ZXN0c191bml0dGVzdC5weQpAQCAtMzMsMTEgKzMzLDggQEAKIGltcG9ydCBjb2RlY3MKIGlt
cG9ydCBpdGVydG9vbHMKIGltcG9ydCBsb2dnaW5nCi1pbXBvcnQgb3MKIGltcG9ydCBRdWV1ZQot
aW1wb3J0IHNodXRpbAogaW1wb3J0IHN5cwotaW1wb3J0IHRlbXBmaWxlCiBpbXBvcnQgdGhyZWFk
CiBpbXBvcnQgdGltZQogaW1wb3J0IHRocmVhZGluZwpAQCAtNDUsNiArNDIsNyBAQCBpbXBvcnQg
dW5pdHRlc3QKIAogZnJvbSB3ZWJraXRweS5jb21tb24gaW1wb3J0IGFycmF5X3N0cmVhbQogZnJv
bSB3ZWJraXRweS5jb21tb24uc3lzdGVtIGltcG9ydCBvdXRwdXRjYXB0dXJlCitmcm9tIHdlYmtp
dHB5LmNvbW1vbi5zeXN0ZW0gaW1wb3J0IGZpbGVzeXN0ZW1fbW9jawogZnJvbSB3ZWJraXRweS5j
b21tb24uc3lzdGVtIGltcG9ydCB1c2VyCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cyBpbXBv
cnQgcG9ydAogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMgaW1wb3J0IHJ1bl93ZWJraXRfdGVz
dHMKQEAgLTg4LDEyICs4NiwxMiBAQCBkZWYgcGFyc2VfYXJncyhleHRyYV9hcmdzPU5vbmUsIHJl
Y29yZF9yZXN1bHRzPUZhbHNlLCB0ZXN0c19pbmNsdWRlZD1GYWxzZSwKIAogCiBkZWYgcGFzc2lu
Z19ydW4oZXh0cmFfYXJncz1Ob25lLCBwb3J0X29iaj1Ob25lLCByZWNvcmRfcmVzdWx0cz1GYWxz
ZSwKLSAgICAgICAgICAgICAgICB0ZXN0c19pbmNsdWRlZD1GYWxzZSk6CisgICAgICAgICAgICAg
ICAgdGVzdHNfaW5jbHVkZWQ9RmFsc2UsIGZpbGVzeXN0ZW09Tm9uZSk6CiAgICAgb3B0aW9ucywg
cGFyc2VkX2FyZ3MgPSBwYXJzZV9hcmdzKGV4dHJhX2FyZ3MsIHJlY29yZF9yZXN1bHRzLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0c19pbmNsdWRlZCkKICAgICBp
ZiBub3QgcG9ydF9vYmo6CiAgICAgICAgIHBvcnRfb2JqID0gcG9ydC5nZXQocG9ydF9uYW1lPW9w
dGlvbnMucGxhdGZvcm0sIG9wdGlvbnM9b3B0aW9ucywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1c2VyPU1vY2tVc2VyKCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj1N
b2NrVXNlcigpLCBmaWxlc3lzdGVtPWZpbGVzeXN0ZW0pCiAgICAgcmVzID0gcnVuX3dlYmtpdF90
ZXN0cy5ydW4ocG9ydF9vYmosIG9wdGlvbnMsIHBhcnNlZF9hcmdzKQogICAgIHJldHVybiByZXMg
PT0gMAogCkBAIC0yMzksOSArMjM3LDEwIEBAIGNsYXNzIE1haW5UZXN0KHVuaXR0ZXN0LlRlc3RD
YXNlKToKICAgICAgICAgICAgIFsnZmFpbHVyZXMvZXhwZWN0ZWQva2V5Ym9hcmQuaHRtbCddLCB0
ZXN0c19pbmNsdWRlZD1UcnVlKQogCiAgICAgZGVmIHRlc3RfbGFzdF9yZXN1bHRzKHNlbGYpOgot
ICAgICAgICBwYXNzaW5nX3J1bihbJy0tY2xvYmJlci1vbGQtcmVzdWx0cyddLCByZWNvcmRfcmVz
dWx0cz1UcnVlKQorICAgICAgICBmcyA9IHBvcnQudW5pdF90ZXN0X2ZpbGVzeXN0ZW0oKQorICAg
ICAgICBwYXNzaW5nX3J1bihbJy0tY2xvYmJlci1vbGQtcmVzdWx0cyddLCByZWNvcmRfcmVzdWx0
cz1UcnVlLCBmaWxlc3lzdGVtPWZzKQogICAgICAgICAocmVzLCBidWlsZGJvdF9vdXRwdXQsIHJl
Z3VsYXJfb3V0cHV0LCB1c2VyKSA9IGxvZ2dpbmdfcnVuKAotICAgICAgICAgICAgWyctLXByaW50
LWxhc3QtZmFpbHVyZXMnXSkKKyAgICAgICAgICAgIFsnLS1wcmludC1sYXN0LWZhaWx1cmVzJ10s
IGZpbGVzeXN0ZW09ZnMpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVndWxhcl9vdXRwdXQu
Z2V0KCksIFsnXG5cbiddKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1aWxkYm90X291dHB1
dC5nZXQoKSwgW10pCiAKQEAgLTMzOCw3ICszMzcsNyBAQCBjbGFzcyBNYWluVGVzdCh1bml0dGVz
dC5UZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3RfdGVzdF9saXN0X3dpdGhfcHJlZml4KHNlbGYpOgog
ICAgICAgICBmcyA9IHBvcnQudW5pdF90ZXN0X2ZpbGVzeXN0ZW0oKQogICAgICAgICBmaWxlbmFt
ZSA9ICcvdG1wL2Zvby50eHQnCi0gICAgICAgIGZzLndyaXRlX3RleHRfZmlsZShmaWxlbmFtZSwg
J3Bhc3Nlcy90ZXh0Lmh0bWwnKQorICAgICAgICBmcy53cml0ZV90ZXh0X2ZpbGUoZmlsZW5hbWUs
ICdMYXlvdXRUZXN0cy9wYXNzZXMvdGV4dC5odG1sJykKICAgICAgICAgdGVzdHNfcnVuID0gZ2V0
X3Rlc3RzX3J1bihbJy0tdGVzdC1saXN0PSVzJyAlIGZpbGVuYW1lXSwgdGVzdHNfaW5jbHVkZWQ9
VHJ1ZSwgZmxhdHRlbl9iYXRjaGVzPVRydWUsIGZpbGVzeXN0ZW09ZnMpCiAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWxzKFsncGFzc2VzL3RleHQuaHRtbCddLCB0ZXN0c19ydW4pCiAKQEAgLTQwNywx
MSArNDA2LDExIEBAIGNsYXNzIE1haW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAg
IyBXZSBydW4gYSBjb25maWd1cmF0aW9uIHRoYXQgc2hvdWxkIGZhaWwsIHRvIGdlbmVyYXRlIG91
dHB1dCwgdGhlbgogICAgICAgICAjIGxvb2sgZm9yIHdoYXQgdGhlIG91dHB1dCByZXN1bHRzIHVy
bCB3YXMuCiAKLSAgICAgICAgdG1wZGlyID0gdGVtcGZpbGUubWtkdGVtcCgpCi0gICAgICAgIHJl
cywgb3V0LCBlcnIsIHVzZXIgPSBsb2dnaW5nX3J1bihbJy0tcmVzdWx0cy1kaXJlY3Rvcnk9JyAr
IHRtcGRpcl0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0
c19pbmNsdWRlZD1UcnVlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHVzZXIudXJsLCBvcy5w
YXRoLmpvaW4odG1wZGlyLCAncmVzdWx0cy5odG1sJykpCi0gICAgICAgIHNodXRpbC5ybXRyZWUo
dG1wZGlyLCBpZ25vcmVfZXJyb3JzPVRydWUpCisgICAgICAgIGZzID0gcG9ydC51bml0X3Rlc3Rf
ZmlsZXN5c3RlbSgpCisgICAgICAgIHdpdGggZnMubWtkdGVtcCgpIGFzIHRtcGRpcjoKKyAgICAg
ICAgICAgIHJlcywgb3V0LCBlcnIsIHVzZXIgPSBsb2dnaW5nX3J1bihbJy0tcmVzdWx0cy1kaXJl
Y3Rvcnk9JyArIHN0cih0bXBkaXIpXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0ZXN0c19pbmNsdWRlZD1UcnVlLCBmaWxlc3lzdGVtPWZzKQorICAgICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1c2VyLnVybCwgZnMuam9pbih0bXBkaXIsICdyZXN1bHRz
Lmh0bWwnKSkKIAogICAgIGRlZiB0ZXN0X3Jlc3VsdHNfZGlyZWN0b3J5X2RlZmF1bHQoc2VsZik6
CiAgICAgICAgICMgV2UgcnVuIGEgY29uZmlndXJhdGlvbiB0aGF0IHNob3VsZCBmYWlsLCB0byBn
ZW5lcmF0ZSBvdXRwdXQsIHRoZW4KQEAgLTQ2OCwxOCArNDY3LDYgQEAgY2xhc3MgTWFpblRlc3Qo
dW5pdHRlc3QuVGVzdENhc2UpOgogTWFpblRlc3QgPSBza2lwX2lmKE1haW5UZXN0LCBzeXMucGxh
dGZvcm0gPT0gJ2N5Z3dpbicgYW5kIGNvbXBhcmVfdmVyc2lvbihzeXMsICcyLjYnKVswXSA8IDAs
ICduZXctcnVuLXdlYmtpdC10ZXN0cyB0ZXN0cyBoYW5nIG9uIEN5Z3dpbiBQeXRob24gMi41LjIn
KQogCiAKLQotZGVmIF9tb2NrZWRfb3BlbihvcmlnaW5hbF9vcGVuLCBmaWxlX2xpc3QpOgotICAg
IGRlZiBfd3JhcHBlcihuYW1lLCBtb2RlLCBlbmNvZGluZyk6Ci0gICAgICAgIGlmIG5hbWUuZmlu
ZCgiLWV4cGVjdGVkLiIpICE9IC0xIGFuZCBtb2RlLmZpbmQoInciKSAhPSAtMToKLSAgICAgICAg
ICAgICMgd2UgZG9uJ3Qgd2FudCB0byBhY3R1YWxseSB3cml0ZSBuZXcgYmFzZWxpbmVzLCBzbyBz
dHViIHRoZXNlIG91dAotICAgICAgICAgICAgbmFtZS5yZXBsYWNlKCdcXCcsICcvJykKLSAgICAg
ICAgICAgIGZpbGVfbGlzdC5hcHBlbmQobmFtZSkKLSAgICAgICAgICAgIHJldHVybiBvcmlnaW5h
bF9vcGVuKG9zLmRldm51bGwsIG1vZGUsIGVuY29kaW5nKQotICAgICAgICByZXR1cm4gb3JpZ2lu
YWxfb3BlbihuYW1lLCBtb2RlLCBlbmNvZGluZykKLSAgICByZXR1cm4gX3dyYXBwZXIKLQotCiBj
bGFzcyBSZWJhc2VsaW5lVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIGFzc2VydEJh
c2VsaW5lcyhzZWxmLCBmaWxlX2xpc3QsIGZpbGUpOgogICAgICAgICAiYXNzZXJ0IHRoYXQgdGhl
IGZpbGVfbGlzdCBjb250YWlucyB0aGUgYmFzZWxpbmVzLiIiIgpAQCAtNDkwLDQ5ICs0NzcsNDIg
QEAgY2xhc3MgUmViYXNlbGluZVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICMgRklYTUU6
IEFkZCB0ZXN0cyB0byBlbnN1cmUgdGhhdCB3ZSdyZSAqbm90KiB3cml0aW5nIGJhc2VsaW5lcyB3
aGVuIHdlJ3JlIG5vdAogICAgICMgc3VwcG9zZWQgdG8gYmUuCiAKLSAgICBkZWYgZGlzYWJsZWRf
dGVzdF9yZXNldF9yZXN1bHRzKHNlbGYpOgotICAgICAgICAjIEZJWE1FOiBUaGlzIHRlc3QgaXMg
ZGlzYWJsZWQgdW50aWwgd2UgY2FuIHJld3JpdGUgaXQgdG8gdXNlIGEKLSAgICAgICAgIyBtb2Nr
IGZpbGVzeXN0ZW0uCi0gICAgICAgICMKKyAgICBkZWYgdGVzdF9yZXNldF9yZXN1bHRzKHNlbGYp
OgogICAgICAgICAjIFRlc3QgdGhhdCB3ZSB1cGRhdGUgZXhwZWN0YXRpb25zIGluIHBsYWNlLiBJ
ZiB0aGUgZXhwZWN0YXRpb24KICAgICAgICAgIyBpcyBtaXNzaW5nLCB1cGRhdGUgdGhlIGV4cGVj
dGVkIGdlbmVyaWMgbG9jYXRpb24uCi0gICAgICAgIGZpbGVfbGlzdCA9IFtdCisgICAgICAgIGZz
ID0gcG9ydC51bml0X3Rlc3RfZmlsZXN5c3RlbSgpCiAgICAgICAgIHBhc3NpbmdfcnVuKFsnLS1w
aXhlbC10ZXN0cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAnLS1yZXNldC1yZXN1bHRzJywK
ICAgICAgICAgICAgICAgICAgICAgICAgICdwYXNzZXMvaW1hZ2UuaHRtbCcsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAnZmFpbHVyZXMvZXhwZWN0ZWQvbWlzc2luZ19pbWFnZS5odG1sJ10sCi0g
ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0c19pbmNsdWRlZD1UcnVlKQorICAgICAgICAgICAg
ICAgICAgICAgICAgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwgZmlsZXN5c3RlbT1mcykKKyAgICAgICAg
ZmlsZV9saXN0ID0gZnMud3JpdHRlbl9maWxlcy5rZXlzKCkKKyAgICAgICAgZmlsZV9saXN0LnJl
bW92ZSgnL3RtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Rlc3RzX3J1bi50eHQnKQogICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKGxlbihmaWxlX2xpc3QpLCA2KQogICAgICAgICBzZWxmLmFzc2VydEJh
c2VsaW5lcyhmaWxlX2xpc3QsCi0gICAgICAgICAgICAiZGF0YS9wYXNzZXMvaW1hZ2UiKQorICAg
ICAgICAgICAgIi9wYXNzZXMvaW1hZ2UiKQogICAgICAgICBzZWxmLmFzc2VydEJhc2VsaW5lcyhm
aWxlX2xpc3QsCi0gICAgICAgICAgICAiZGF0YS9mYWlsdXJlcy9leHBlY3RlZC9taXNzaW5nX2lt
YWdlIikKKyAgICAgICAgICAgICIvZmFpbHVyZXMvZXhwZWN0ZWQvbWlzc2luZ19pbWFnZSIpCisK
KyAgICBkZWYgdGVzdF9uZXdfYmFzZWxpbmUoc2VsZik6CisgICAgICAgICMgVGVzdCB0aGF0IHdl
IHVwZGF0ZSB0aGUgcGxhdGZvcm0gZXhwZWN0YXRpb25zLiBJZiB0aGUgZXhwZWN0YXRpb24KKyAg
ICAgICAgIyBpcyBtc3NpbmcsIHRoZW4gY3JlYXRlIGEgbmV3IGV4cGVjdGF0aW9uIGluIHRoZSBw
bGF0Zm9ybSBkaXIuCisgICAgICAgIGZzID0gcG9ydC51bml0X3Rlc3RfZmlsZXN5c3RlbSgpCiAK
LSAgICBkZWYgZGlzYWJsZWRfdGVzdF9uZXdfYmFzZWxpbmUoc2VsZik6Ci0gICAgICAgICMgRklY
TUU6IFRoaXMgdGVzdCBpcyBkaXNhYmxlZCB1bnRpbCB3ZSBjYW4gcmV3cml0ZSBpdCB0byB1c2Ug
YQotICAgICAgICAjIG1vY2sgZmlsZXN5c3RlbS4KLSAgICAgICAgIwogICAgICAgICAjIFRlc3Qg
dGhhdCB3ZSB1cGRhdGUgdGhlIHBsYXRmb3JtIGV4cGVjdGF0aW9ucy4gSWYgdGhlIGV4cGVjdGF0
aW9uCiAgICAgICAgICMgaXMgbXNzaW5nLCB0aGVuIGNyZWF0ZSBhIG5ldyBleHBlY3RhdGlvbiBp
biB0aGUgcGxhdGZvcm0gZGlyLgotICAgICAgICBmaWxlX2xpc3QgPSBbXQotICAgICAgICBvcmln
aW5hbF9vcGVuID0gY29kZWNzLm9wZW4KLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgIyBUZXN0
IHRoYXQgd2UgdXBkYXRlIHRoZSBwbGF0Zm9ybSBleHBlY3RhdGlvbnMuIElmIHRoZSBleHBlY3Rh
dGlvbgotICAgICAgICAgICAgIyBpcyBtc3NpbmcsIHRoZW4gY3JlYXRlIGEgbmV3IGV4cGVjdGF0
aW9uIGluIHRoZSBwbGF0Zm9ybSBkaXIuCi0gICAgICAgICAgICBmaWxlX2xpc3QgPSBbXQotICAg
ICAgICAgICAgY29kZWNzLm9wZW4gPSBfbW9ja2VkX29wZW4ob3JpZ2luYWxfb3BlbiwgZmlsZV9s
aXN0KQotICAgICAgICAgICAgcGFzc2luZ19ydW4oWyctLXBpeGVsLXRlc3RzJywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAnLS1uZXctYmFzZWxpbmUnLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICdwYXNzZXMvaW1hZ2UuaHRtbCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgJ2ZhaWx1
cmVzL2V4cGVjdGVkL21pc3NpbmdfaW1hZ2UuaHRtbCddLAotICAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVu
KGZpbGVfbGlzdCksIDYpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEJhc2VsaW5lcyhmaWxlX2xp
c3QsCi0gICAgICAgICAgICAgICAgImRhdGEvcGxhdGZvcm0vdGVzdC9wYXNzZXMvaW1hZ2UiKQot
ICAgICAgICAgICAgc2VsZi5hc3NlcnRCYXNlbGluZXMoZmlsZV9saXN0LAotICAgICAgICAgICAg
ICAgICJkYXRhL3BsYXRmb3JtL3Rlc3QvZmFpbHVyZXMvZXhwZWN0ZWQvbWlzc2luZ19pbWFnZSIp
Ci0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBjb2RlY3Mub3BlbiA9IG9yaWdpbmFsX29w
ZW4KKyAgICAgICAgcGFzc2luZ19ydW4oWyctLXBpeGVsLXRlc3RzJywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICctLW5ldy1iYXNlbGluZScsCisgICAgICAgICAgICAgICAgICAgICAgICAncGFz
c2VzL2ltYWdlLmh0bWwnLAorICAgICAgICAgICAgICAgICAgICAgICAgJ2ZhaWx1cmVzL2V4cGVj
dGVkL21pc3NpbmdfaW1hZ2UuaHRtbCddLAorICAgICAgICAgICAgICAgICAgICB0ZXN0c19pbmNs
dWRlZD1UcnVlLCBmaWxlc3lzdGVtPWZzKQorICAgICAgICBmaWxlX2xpc3QgPSBmcy53cml0dGVu
X2ZpbGVzLmtleXMoKQorICAgICAgICBmaWxlX2xpc3QucmVtb3ZlKCcvdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvdGVzdHNfcnVuLnR4dCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGZp
bGVfbGlzdCksIDYpCisgICAgICAgIHNlbGYuYXNzZXJ0QmFzZWxpbmVzKGZpbGVfbGlzdCwKKyAg
ICAgICAgICAgICIvcGxhdGZvcm0vdGVzdC9wYXNzZXMvaW1hZ2UiKQorICAgICAgICBzZWxmLmFz
c2VydEJhc2VsaW5lcyhmaWxlX2xpc3QsCisgICAgICAgICAgICAiL3BsYXRmb3JtL3Rlc3QvZmFp
bHVyZXMvZXhwZWN0ZWQvbWlzc2luZ19pbWFnZSIpCiAKIAogY2xhc3MgRHJ5cnVuVGVzdCh1bml0
dGVzdC5UZXN0Q2FzZSk6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79661</attachid>
            <date>2011-01-20 15:47:29 -0800</date>
            <delta_ts>2011-01-20 17:07:18 -0800</delta_ts>
            <desc>don&apos;t change MockFileSystem calls for now</desc>
            <filename>bug-52762-20110120154728.patch</filename>
            <type>text/plain</type>
            <size>10793</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzYzFm
MWU5NzM4OWNlYzdlZDZlYmU1ZDNmMTNkNjE3NDMwMDBiM2UzLi5lMjE2ZDVlODc2NmNlMzM5MzBj
NGRmMTQ2YjdkODVjMTNjMDMyZTNiIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMTcgQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KIAorICAgICAgICByZW1vdmUgZnMgcmVmcyBmcm9tIHJ1bl93ZWJraXRf
dGVzdHMsIHJlYmFzZWxpbmVfY2hyb21pdW1fd2Via2l0X3Rlc3RzCisKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUyNzYyCisKKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5OgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfdW5pdHRlc3Qu
cHk6CisKKzIwMTEtMDEtMTkgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAgICAgbnJ3dDogcmVt
b3ZlIGZzIHJlZnMgZnJvbSBwcmludGluZywgdGVzdF9mYWlsdXJlcywgdGVzdF9leHBlY3RhdGlv
bnMsIHRleHRfZGlmZgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01Mjc1NgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkKaW5kZXggZGNkY2ZhYTMzZTdmNzA2YzM5YTM2NjJi
NTE2N2NkZmNiZjQ0NDBkMS4uYzYwN2YxNzUzNWFhMjAwYjRmNWNkNzAzZTNkMjFiMTFmMTFlZTI2
OCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dl
YmtpdF90ZXN0cy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9y
dW5fd2Via2l0X3Rlc3RzLnB5CkBAIC0zMiw3ICszMiw2IEBACiAKIGZyb20gX19mdXR1cmVfXyBp
bXBvcnQgd2l0aF9zdGF0ZW1lbnQKIAotaW1wb3J0IGNvZGVjcwogaW1wb3J0IGVycm5vCiBpbXBv
cnQgbG9nZ2luZwogaW1wb3J0IG9wdHBhcnNlCkBAIC04MCw3ICs3OSw3IEBAIGRlZiBydW4ocG9y
dCwgb3B0aW9ucywgYXJncywgcmVndWxhcl9vdXRwdXQ9c3lzLnN0ZGVyciwKICAgICAgICAgcHJp
bnRlci5jbGVhbnVwKCkKICAgICAgICAgcmV0dXJuIDAKIAotICAgIGxhc3RfdW5leHBlY3RlZF9y
ZXN1bHRzID0gX2dhdGhlcl91bmV4cGVjdGVkX3Jlc3VsdHMob3B0aW9ucykKKyAgICBsYXN0X3Vu
ZXhwZWN0ZWRfcmVzdWx0cyA9IF9nYXRoZXJfdW5leHBlY3RlZF9yZXN1bHRzKHBvcnQsIG9wdGlv
bnMpCiAgICAgaWYgb3B0aW9ucy5wcmludF9sYXN0X2ZhaWx1cmVzOgogICAgICAgICBwcmludGVy
LndyaXRlKCJcbiIuam9pbihsYXN0X3VuZXhwZWN0ZWRfcmVzdWx0cykgKyAiXG4iKQogICAgICAg
ICBwcmludGVyLmNsZWFudXAoKQpAQCAtMTQ2LDcgKzE0NSw3IEBAIGRlZiBfc2V0X3VwX2Rlcml2
ZWRfb3B0aW9ucyhwb3J0X29iaiwgb3B0aW9ucyk6CiAgICAgaWYgbm90IG9wdGlvbnMudXNlX2Fw
YWNoZToKICAgICAgICAgb3B0aW9ucy51c2VfYXBhY2hlID0gc3lzLnBsYXRmb3JtIGluICgnZGFy
d2luJywgJ2xpbnV4MicpCiAKLSAgICBpZiBub3Qgb3MucGF0aC5pc2FicyhvcHRpb25zLnJlc3Vs
dHNfZGlyZWN0b3J5KToKKyAgICBpZiBub3QgcG9ydF9vYmouX2ZpbGVzeXN0ZW0uaXNhYnMob3B0
aW9ucy5yZXN1bHRzX2RpcmVjdG9yeSk6CiAgICAgICAgICMgVGhpcyBub3JtYWxpemVzIHRoZSBw
YXRoIHRvIHRoZSBidWlsZCBkaXIuCiAgICAgICAgICMgRklYTUU6IGhvdyB0aGlzIGhhcHBlbnMg
aXMgbm90IGF0IGFsbCBvYnZpb3VzOyB0aGlzIGlzIGEgZHVtYgogICAgICAgICAjIGludGVyZmFj
ZSBhbmQgc2hvdWxkIGJlIGNsZWFuZWQgdXAuCkBAIC0xNjIsMTQgKzE2MSwxMyBAQCBkZWYgX3Nl
dF91cF9kZXJpdmVkX29wdGlvbnMocG9ydF9vYmosIG9wdGlvbnMpOgogICAgIHJldHVybiB3YXJu
aW5ncwogCiAKLWRlZiBfZ2F0aGVyX3VuZXhwZWN0ZWRfcmVzdWx0cyhvcHRpb25zKToKK2RlZiBf
Z2F0aGVyX3VuZXhwZWN0ZWRfcmVzdWx0cyhwb3J0LCBvcHRpb25zKToKICAgICAiIiJSZXR1cm5z
IHRoZSB1bmV4cGVjdGVkIHJlc3VsdHMgZnJvbSB0aGUgcHJldmlvdXMgcnVuLCBpZiBhbnkuIiIi
CiAgICAgbGFzdF91bmV4cGVjdGVkX3Jlc3VsdHMgPSBbXQogICAgIGlmIG9wdGlvbnMucHJpbnRf
bGFzdF9mYWlsdXJlcyBvciBvcHRpb25zLnJldGVzdF9sYXN0X2ZhaWx1cmVzOgotICAgICAgICB1
bmV4cGVjdGVkX3Jlc3VsdHNfZmlsZW5hbWUgPSBvcy5wYXRoLmpvaW4oCi0gICAgICAgIG9wdGlv
bnMucmVzdWx0c19kaXJlY3RvcnksICJ1bmV4cGVjdGVkX3Jlc3VsdHMuanNvbiIpCi0gICAgICAg
IHdpdGggY29kZWNzLm9wZW4odW5leHBlY3RlZF9yZXN1bHRzX2ZpbGVuYW1lLCAiciIsICJ1dGYt
OCIpIGFzIGZpbGU6Ci0gICAgICAgICAgICByZXN1bHRzID0gc2ltcGxlanNvbi5sb2FkKGZpbGUp
CisgICAgICAgIHVuZXhwZWN0ZWRfcmVzdWx0c19maWxlbmFtZSA9IHBvcnQuX2ZpbGVzeXN0ZW0u
am9pbigKKyAgICAgICAgICAgIG9wdGlvbnMucmVzdWx0c19kaXJlY3RvcnksICJ1bmV4cGVjdGVk
X3Jlc3VsdHMuanNvbiIpCisgICAgICAgIHJlc3VsdHMgPSBzaW1wbGVqc29uLmxvYWRzKHBvcnQu
X2ZpbGVzeXN0ZW0ucmVhZF90ZXh0X2ZpbGUodW5leHBlY3RlZF9yZXN1bHRzX2ZpbGVuYW1lKSkK
ICAgICAgICAgbGFzdF91bmV4cGVjdGVkX3Jlc3VsdHMgPSByZXN1bHRzWyd0ZXN0cyddLmtleXMo
KQogICAgIHJldHVybiBsYXN0X3VuZXhwZWN0ZWRfcmVzdWx0cwogCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzX3VuaXR0ZXN0
LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0
c191bml0dGVzdC5weQppbmRleCBmMmZmODJmNTI5ZDc3Y2Q0NTY4ZWI5ODE2NGZhMzRjOWI1YWM2
ZTc3Li40NzYwNzY0MzY5MDI1OTc4MDdkZmQ2YmFkZjA3NDM5NWMwZDcyYTYyIDEwMDY0NAotLS0g
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzX3Vu
aXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93
ZWJraXRfdGVzdHNfdW5pdHRlc3QucHkKQEAgLTMzLDExICszMyw4IEBACiBpbXBvcnQgY29kZWNz
CiBpbXBvcnQgaXRlcnRvb2xzCiBpbXBvcnQgbG9nZ2luZwotaW1wb3J0IG9zCiBpbXBvcnQgUXVl
dWUKLWltcG9ydCBzaHV0aWwKIGltcG9ydCBzeXMKLWltcG9ydCB0ZW1wZmlsZQogaW1wb3J0IHRo
cmVhZAogaW1wb3J0IHRpbWUKIGltcG9ydCB0aHJlYWRpbmcKQEAgLTQ1LDYgKzQyLDcgQEAgaW1w
b3J0IHVuaXR0ZXN0CiAKIGZyb20gd2Via2l0cHkuY29tbW9uIGltcG9ydCBhcnJheV9zdHJlYW0K
IGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbSBpbXBvcnQgb3V0cHV0Y2FwdHVyZQorZnJvbSB3
ZWJraXRweS5jb21tb24uc3lzdGVtIGltcG9ydCBmaWxlc3lzdGVtX21vY2sKIGZyb20gd2Via2l0
cHkuY29tbW9uLnN5c3RlbSBpbXBvcnQgdXNlcgogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMg
aW1wb3J0IHBvcnQKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzIGltcG9ydCBydW5fd2Via2l0
X3Rlc3RzCkBAIC04OCwxMiArODYsMTIgQEAgZGVmIHBhcnNlX2FyZ3MoZXh0cmFfYXJncz1Ob25l
LCByZWNvcmRfcmVzdWx0cz1GYWxzZSwgdGVzdHNfaW5jbHVkZWQ9RmFsc2UsCiAKIAogZGVmIHBh
c3NpbmdfcnVuKGV4dHJhX2FyZ3M9Tm9uZSwgcG9ydF9vYmo9Tm9uZSwgcmVjb3JkX3Jlc3VsdHM9
RmFsc2UsCi0gICAgICAgICAgICAgICAgdGVzdHNfaW5jbHVkZWQ9RmFsc2UpOgorICAgICAgICAg
ICAgICAgIHRlc3RzX2luY2x1ZGVkPUZhbHNlLCBmaWxlc3lzdGVtPU5vbmUpOgogICAgIG9wdGlv
bnMsIHBhcnNlZF9hcmdzID0gcGFyc2VfYXJncyhleHRyYV9hcmdzLCByZWNvcmRfcmVzdWx0cywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdHNfaW5jbHVkZWQpCiAg
ICAgaWYgbm90IHBvcnRfb2JqOgogICAgICAgICBwb3J0X29iaiA9IHBvcnQuZ2V0KHBvcnRfbmFt
ZT1vcHRpb25zLnBsYXRmb3JtLCBvcHRpb25zPW9wdGlvbnMsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdXNlcj1Nb2NrVXNlcigpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVz
ZXI9TW9ja1VzZXIoKSwgZmlsZXN5c3RlbT1maWxlc3lzdGVtKQogICAgIHJlcyA9IHJ1bl93ZWJr
aXRfdGVzdHMucnVuKHBvcnRfb2JqLCBvcHRpb25zLCBwYXJzZWRfYXJncykKICAgICByZXR1cm4g
cmVzID09IDAKIApAQCAtMjM5LDkgKzIzNywxMCBAQCBjbGFzcyBNYWluVGVzdCh1bml0dGVzdC5U
ZXN0Q2FzZSk6CiAgICAgICAgICAgICBbJ2ZhaWx1cmVzL2V4cGVjdGVkL2tleWJvYXJkLmh0bWwn
XSwgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSkKIAogICAgIGRlZiB0ZXN0X2xhc3RfcmVzdWx0cyhzZWxm
KToKLSAgICAgICAgcGFzc2luZ19ydW4oWyctLWNsb2JiZXItb2xkLXJlc3VsdHMnXSwgcmVjb3Jk
X3Jlc3VsdHM9VHJ1ZSkKKyAgICAgICAgZnMgPSBwb3J0LnVuaXRfdGVzdF9maWxlc3lzdGVtKCkK
KyAgICAgICAgcGFzc2luZ19ydW4oWyctLWNsb2JiZXItb2xkLXJlc3VsdHMnXSwgcmVjb3JkX3Jl
c3VsdHM9VHJ1ZSwgZmlsZXN5c3RlbT1mcykKICAgICAgICAgKHJlcywgYnVpbGRib3Rfb3V0cHV0
LCByZWd1bGFyX291dHB1dCwgdXNlcikgPSBsb2dnaW5nX3J1bigKLSAgICAgICAgICAgIFsnLS1w
cmludC1sYXN0LWZhaWx1cmVzJ10pCisgICAgICAgICAgICBbJy0tcHJpbnQtbGFzdC1mYWlsdXJl
cyddLCBmaWxlc3lzdGVtPWZzKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlZ3VsYXJfb3V0
cHV0LmdldCgpLCBbJ1xuXG4nXSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWlsZGJvdF9v
dXRwdXQuZ2V0KCksIFtdKQogCkBAIC0zMzgsNyArMzM3LDcgQEAgY2xhc3MgTWFpblRlc3QodW5p
dHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X3Rlc3RfbGlzdF93aXRoX3ByZWZpeChzZWxm
KToKICAgICAgICAgZnMgPSBwb3J0LnVuaXRfdGVzdF9maWxlc3lzdGVtKCkKICAgICAgICAgZmls
ZW5hbWUgPSAnL3RtcC9mb28udHh0JwotICAgICAgICBmcy53cml0ZV90ZXh0X2ZpbGUoZmlsZW5h
bWUsICdwYXNzZXMvdGV4dC5odG1sJykKKyAgICAgICAgZnMud3JpdGVfdGV4dF9maWxlKGZpbGVu
YW1lLCAnTGF5b3V0VGVzdHMvcGFzc2VzL3RleHQuaHRtbCcpCiAgICAgICAgIHRlc3RzX3J1biA9
IGdldF90ZXN0c19ydW4oWyctLXRlc3QtbGlzdD0lcycgJSBmaWxlbmFtZV0sIHRlc3RzX2luY2x1
ZGVkPVRydWUsIGZsYXR0ZW5fYmF0Y2hlcz1UcnVlLCBmaWxlc3lzdGVtPWZzKQogICAgICAgICBz
ZWxmLmFzc2VydEVxdWFscyhbJ3Bhc3Nlcy90ZXh0Lmh0bWwnXSwgdGVzdHNfcnVuKQogCkBAIC00
MDcsMTEgKzQwNiwxMSBAQCBjbGFzcyBNYWluVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAg
ICAgICMgV2UgcnVuIGEgY29uZmlndXJhdGlvbiB0aGF0IHNob3VsZCBmYWlsLCB0byBnZW5lcmF0
ZSBvdXRwdXQsIHRoZW4KICAgICAgICAgIyBsb29rIGZvciB3aGF0IHRoZSBvdXRwdXQgcmVzdWx0
cyB1cmwgd2FzLgogCi0gICAgICAgIHRtcGRpciA9IHRlbXBmaWxlLm1rZHRlbXAoKQotICAgICAg
ICByZXMsIG91dCwgZXJyLCB1c2VyID0gbG9nZ2luZ19ydW4oWyctLXJlc3VsdHMtZGlyZWN0b3J5
PScgKyB0bXBkaXJdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdHNfaW5jbHVkZWQ9VHJ1ZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1c2VyLnVybCwg
b3MucGF0aC5qb2luKHRtcGRpciwgJ3Jlc3VsdHMuaHRtbCcpKQotICAgICAgICBzaHV0aWwucm10
cmVlKHRtcGRpciwgaWdub3JlX2Vycm9ycz1UcnVlKQorICAgICAgICBmcyA9IHBvcnQudW5pdF90
ZXN0X2ZpbGVzeXN0ZW0oKQorICAgICAgICB3aXRoIGZzLm1rZHRlbXAoKSBhcyB0bXBkaXI6Cisg
ICAgICAgICAgICByZXMsIG91dCwgZXJyLCB1c2VyID0gbG9nZ2luZ19ydW4oWyctLXJlc3VsdHMt
ZGlyZWN0b3J5PScgKyBzdHIodG1wZGlyKV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwgZmlsZXN5c3RlbT1mcykKKyAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodXNlci51cmwsIGZzLmpvaW4odG1wZGlyLCAncmVz
dWx0cy5odG1sJykpCiAKICAgICBkZWYgdGVzdF9yZXN1bHRzX2RpcmVjdG9yeV9kZWZhdWx0KHNl
bGYpOgogICAgICAgICAjIFdlIHJ1biBhIGNvbmZpZ3VyYXRpb24gdGhhdCBzaG91bGQgZmFpbCwg
dG8gZ2VuZXJhdGUgb3V0cHV0LCB0aGVuCkBAIC00NjgsMTggKzQ2Nyw2IEBAIGNsYXNzIE1haW5U
ZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIE1haW5UZXN0ID0gc2tpcF9pZihNYWluVGVzdCwgc3lz
LnBsYXRmb3JtID09ICdjeWd3aW4nIGFuZCBjb21wYXJlX3ZlcnNpb24oc3lzLCAnMi42JylbMF0g
PCAwLCAnbmV3LXJ1bi13ZWJraXQtdGVzdHMgdGVzdHMgaGFuZyBvbiBDeWd3aW4gUHl0aG9uIDIu
NS4yJykKIAogCi0KLWRlZiBfbW9ja2VkX29wZW4ob3JpZ2luYWxfb3BlbiwgZmlsZV9saXN0KToK
LSAgICBkZWYgX3dyYXBwZXIobmFtZSwgbW9kZSwgZW5jb2RpbmcpOgotICAgICAgICBpZiBuYW1l
LmZpbmQoIi1leHBlY3RlZC4iKSAhPSAtMSBhbmQgbW9kZS5maW5kKCJ3IikgIT0gLTE6Ci0gICAg
ICAgICAgICAjIHdlIGRvbid0IHdhbnQgdG8gYWN0dWFsbHkgd3JpdGUgbmV3IGJhc2VsaW5lcywg
c28gc3R1YiB0aGVzZSBvdXQKLSAgICAgICAgICAgIG5hbWUucmVwbGFjZSgnXFwnLCAnLycpCi0g
ICAgICAgICAgICBmaWxlX2xpc3QuYXBwZW5kKG5hbWUpCi0gICAgICAgICAgICByZXR1cm4gb3Jp
Z2luYWxfb3Blbihvcy5kZXZudWxsLCBtb2RlLCBlbmNvZGluZykKLSAgICAgICAgcmV0dXJuIG9y
aWdpbmFsX29wZW4obmFtZSwgbW9kZSwgZW5jb2RpbmcpCi0gICAgcmV0dXJuIF93cmFwcGVyCi0K
LQogY2xhc3MgUmViYXNlbGluZVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBhc3Nl
cnRCYXNlbGluZXMoc2VsZiwgZmlsZV9saXN0LCBmaWxlKToKICAgICAgICAgImFzc2VydCB0aGF0
IHRoZSBmaWxlX2xpc3QgY29udGFpbnMgdGhlIGJhc2VsaW5lcy4iIiIKQEAgLTQ5MCw0OSArNDc3
LDQyIEBAIGNsYXNzIFJlYmFzZWxpbmVUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAjIEZJ
WE1FOiBBZGQgdGVzdHMgdG8gZW5zdXJlIHRoYXQgd2UncmUgKm5vdCogd3JpdGluZyBiYXNlbGlu
ZXMgd2hlbiB3ZSdyZSBub3QKICAgICAjIHN1cHBvc2VkIHRvIGJlLgogCi0gICAgZGVmIGRpc2Fi
bGVkX3Rlc3RfcmVzZXRfcmVzdWx0cyhzZWxmKToKLSAgICAgICAgIyBGSVhNRTogVGhpcyB0ZXN0
IGlzIGRpc2FibGVkIHVudGlsIHdlIGNhbiByZXdyaXRlIGl0IHRvIHVzZSBhCi0gICAgICAgICMg
bW9jayBmaWxlc3lzdGVtLgotICAgICAgICAjCisgICAgZGVmIHRlc3RfcmVzZXRfcmVzdWx0cyhz
ZWxmKToKICAgICAgICAgIyBUZXN0IHRoYXQgd2UgdXBkYXRlIGV4cGVjdGF0aW9ucyBpbiBwbGFj
ZS4gSWYgdGhlIGV4cGVjdGF0aW9uCiAgICAgICAgICMgaXMgbWlzc2luZywgdXBkYXRlIHRoZSBl
eHBlY3RlZCBnZW5lcmljIGxvY2F0aW9uLgotICAgICAgICBmaWxlX2xpc3QgPSBbXQorICAgICAg
ICBmcyA9IHBvcnQudW5pdF90ZXN0X2ZpbGVzeXN0ZW0oKQogICAgICAgICBwYXNzaW5nX3J1bihb
Jy0tcGl4ZWwtdGVzdHMnLAogICAgICAgICAgICAgICAgICAgICAgICAgJy0tcmVzZXQtcmVzdWx0
cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAncGFzc2VzL2ltYWdlLmh0bWwnLAogICAgICAg
ICAgICAgICAgICAgICAgICAgJ2ZhaWx1cmVzL2V4cGVjdGVkL21pc3NpbmdfaW1hZ2UuaHRtbCdd
LAotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSkKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHRlc3RzX2luY2x1ZGVkPVRydWUsIGZpbGVzeXN0ZW09ZnMpCisgICAg
ICAgIGZpbGVfbGlzdCA9IGZzLndyaXR0ZW5fZmlsZXMua2V5cygpCisgICAgICAgIGZpbGVfbGlz
dC5yZW1vdmUoJy90bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy90ZXN0c19ydW4udHh0JykKICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZmlsZV9saXN0KSwgNikKICAgICAgICAgc2VsZi5hc3Nl
cnRCYXNlbGluZXMoZmlsZV9saXN0LAotICAgICAgICAgICAgImRhdGEvcGFzc2VzL2ltYWdlIikK
KyAgICAgICAgICAgICIvcGFzc2VzL2ltYWdlIikKICAgICAgICAgc2VsZi5hc3NlcnRCYXNlbGlu
ZXMoZmlsZV9saXN0LAotICAgICAgICAgICAgImRhdGEvZmFpbHVyZXMvZXhwZWN0ZWQvbWlzc2lu
Z19pbWFnZSIpCisgICAgICAgICAgICAiL2ZhaWx1cmVzL2V4cGVjdGVkL21pc3NpbmdfaW1hZ2Ui
KQorCisgICAgZGVmIHRlc3RfbmV3X2Jhc2VsaW5lKHNlbGYpOgorICAgICAgICAjIFRlc3QgdGhh
dCB3ZSB1cGRhdGUgdGhlIHBsYXRmb3JtIGV4cGVjdGF0aW9ucy4gSWYgdGhlIGV4cGVjdGF0aW9u
CisgICAgICAgICMgaXMgbXNzaW5nLCB0aGVuIGNyZWF0ZSBhIG5ldyBleHBlY3RhdGlvbiBpbiB0
aGUgcGxhdGZvcm0gZGlyLgorICAgICAgICBmcyA9IHBvcnQudW5pdF90ZXN0X2ZpbGVzeXN0ZW0o
KQogCi0gICAgZGVmIGRpc2FibGVkX3Rlc3RfbmV3X2Jhc2VsaW5lKHNlbGYpOgotICAgICAgICAj
IEZJWE1FOiBUaGlzIHRlc3QgaXMgZGlzYWJsZWQgdW50aWwgd2UgY2FuIHJld3JpdGUgaXQgdG8g
dXNlIGEKLSAgICAgICAgIyBtb2NrIGZpbGVzeXN0ZW0uCi0gICAgICAgICMKICAgICAgICAgIyBU
ZXN0IHRoYXQgd2UgdXBkYXRlIHRoZSBwbGF0Zm9ybSBleHBlY3RhdGlvbnMuIElmIHRoZSBleHBl
Y3RhdGlvbgogICAgICAgICAjIGlzIG1zc2luZywgdGhlbiBjcmVhdGUgYSBuZXcgZXhwZWN0YXRp
b24gaW4gdGhlIHBsYXRmb3JtIGRpci4KLSAgICAgICAgZmlsZV9saXN0ID0gW10KLSAgICAgICAg
b3JpZ2luYWxfb3BlbiA9IGNvZGVjcy5vcGVuCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgICMg
VGVzdCB0aGF0IHdlIHVwZGF0ZSB0aGUgcGxhdGZvcm0gZXhwZWN0YXRpb25zLiBJZiB0aGUgZXhw
ZWN0YXRpb24KLSAgICAgICAgICAgICMgaXMgbXNzaW5nLCB0aGVuIGNyZWF0ZSBhIG5ldyBleHBl
Y3RhdGlvbiBpbiB0aGUgcGxhdGZvcm0gZGlyLgotICAgICAgICAgICAgZmlsZV9saXN0ID0gW10K
LSAgICAgICAgICAgIGNvZGVjcy5vcGVuID0gX21vY2tlZF9vcGVuKG9yaWdpbmFsX29wZW4sIGZp
bGVfbGlzdCkKLSAgICAgICAgICAgIHBhc3NpbmdfcnVuKFsnLS1waXhlbC10ZXN0cycsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgJy0tbmV3LWJhc2VsaW5lJywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAncGFzc2VzL2ltYWdlLmh0bWwnLAotICAgICAgICAgICAgICAgICAgICAgICAgICdm
YWlsdXJlcy9leHBlY3RlZC9taXNzaW5nX2ltYWdlLmh0bWwnXSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHRlc3RzX2luY2x1ZGVkPVRydWUpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KGxlbihmaWxlX2xpc3QpLCA2KQotICAgICAgICAgICAgc2VsZi5hc3NlcnRCYXNlbGluZXMoZmls
ZV9saXN0LAotICAgICAgICAgICAgICAgICJkYXRhL3BsYXRmb3JtL3Rlc3QvcGFzc2VzL2ltYWdl
IikKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0QmFzZWxpbmVzKGZpbGVfbGlzdCwKLSAgICAgICAg
ICAgICAgICAiZGF0YS9wbGF0Zm9ybS90ZXN0L2ZhaWx1cmVzL2V4cGVjdGVkL21pc3NpbmdfaW1h
Z2UiKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgY29kZWNzLm9wZW4gPSBvcmlnaW5h
bF9vcGVuCisgICAgICAgIHBhc3NpbmdfcnVuKFsnLS1waXhlbC10ZXN0cycsCisgICAgICAgICAg
ICAgICAgICAgICAgICAnLS1uZXctYmFzZWxpbmUnLAorICAgICAgICAgICAgICAgICAgICAgICAg
J3Bhc3Nlcy9pbWFnZS5odG1sJywKKyAgICAgICAgICAgICAgICAgICAgICAgICdmYWlsdXJlcy9l
eHBlY3RlZC9taXNzaW5nX2ltYWdlLmh0bWwnXSwKKyAgICAgICAgICAgICAgICAgICAgdGVzdHNf
aW5jbHVkZWQ9VHJ1ZSwgZmlsZXN5c3RlbT1mcykKKyAgICAgICAgZmlsZV9saXN0ID0gZnMud3Jp
dHRlbl9maWxlcy5rZXlzKCkKKyAgICAgICAgZmlsZV9saXN0LnJlbW92ZSgnL3RtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL3Rlc3RzX3J1bi50eHQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxl
bihmaWxlX2xpc3QpLCA2KQorICAgICAgICBzZWxmLmFzc2VydEJhc2VsaW5lcyhmaWxlX2xpc3Qs
CisgICAgICAgICAgICAiL3BsYXRmb3JtL3Rlc3QvcGFzc2VzL2ltYWdlIikKKyAgICAgICAgc2Vs
Zi5hc3NlcnRCYXNlbGluZXMoZmlsZV9saXN0LAorICAgICAgICAgICAgIi9wbGF0Zm9ybS90ZXN0
L2ZhaWx1cmVzL2V4cGVjdGVkL21pc3NpbmdfaW1hZ2UiKQogCiAKIGNsYXNzIERyeXJ1blRlc3Qo
dW5pdHRlc3QuVGVzdENhc2UpOgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79668</attachid>
            <date>2011-01-20 17:07:21 -0800</date>
            <delta_ts>2011-01-20 17:09:32 -0800</delta_ts>
            <desc>update w/ review feedback from mihaip</desc>
            <filename>bug-52762-20110120170720.patch</filename>
            <type>text/plain</type>
            <size>10878</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzYzFm
MWU5NzM4OWNlYzdlZDZlYmU1ZDNmMTNkNjE3NDMwMDBiM2UzLi5hZWU1NjBmZDdmNTBkYzM0NTNm
M2MzMDIzMmEyZjEzMGQwM2U4ZTcxIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTYgQEAKIDIwMTEtMDEtMTkgIERpcmsgUHJhbmtl
ICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWloYWkgUGFy
cGFyaXRhLgorCisgICAgICAgIHJlbW92ZSBmcyByZWZzIGZyb20gcnVuX3dlYmtpdF90ZXN0cywg
cmViYXNlbGluZV9jaHJvbWl1bV93ZWJraXRfdGVzdHMKKworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTI3NjIKKworICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c191bml0dGVzdC5weToKKwor
MjAxMS0wMS0xOSAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KKwogICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAogICAgICAgICBucnd0OiByZW1vdmUgZnMg
cmVmcyBmcm9tIHByaW50aW5nLCB0ZXN0X2ZhaWx1cmVzLCB0ZXN0X2V4cGVjdGF0aW9ucywgdGV4
dF9kaWZmCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9y
dW5fd2Via2l0X3Rlc3RzLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cnVuX3dlYmtpdF90ZXN0cy5weQppbmRleCBkY2RjZmFhMzNlN2Y3MDZjMzlhMzY2MmI1MTY3Y2Rm
Y2JmNDQ0MGQxLi41YmQ3NjliNjRlZGZlOGFiYWJhMTMwMjNkOTY2MzEyZWE5MmE5N2QzIDEwMDc1
NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rl
c3RzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJr
aXRfdGVzdHMucHkKQEAgLTMyLDcgKzMyLDYgQEAKIAogZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCB3
aXRoX3N0YXRlbWVudAogCi1pbXBvcnQgY29kZWNzCiBpbXBvcnQgZXJybm8KIGltcG9ydCBsb2dn
aW5nCiBpbXBvcnQgb3B0cGFyc2UKQEAgLTgwLDcgKzc5LDcgQEAgZGVmIHJ1bihwb3J0LCBvcHRp
b25zLCBhcmdzLCByZWd1bGFyX291dHB1dD1zeXMuc3RkZXJyLAogICAgICAgICBwcmludGVyLmNs
ZWFudXAoKQogICAgICAgICByZXR1cm4gMAogCi0gICAgbGFzdF91bmV4cGVjdGVkX3Jlc3VsdHMg
PSBfZ2F0aGVyX3VuZXhwZWN0ZWRfcmVzdWx0cyhvcHRpb25zKQorICAgIGxhc3RfdW5leHBlY3Rl
ZF9yZXN1bHRzID0gX2dhdGhlcl91bmV4cGVjdGVkX3Jlc3VsdHMocG9ydC5fZmlsZXN5c3RlbSwg
b3B0aW9ucykKICAgICBpZiBvcHRpb25zLnByaW50X2xhc3RfZmFpbHVyZXM6CiAgICAgICAgIHBy
aW50ZXIud3JpdGUoIlxuIi5qb2luKGxhc3RfdW5leHBlY3RlZF9yZXN1bHRzKSArICJcbiIpCiAg
ICAgICAgIHByaW50ZXIuY2xlYW51cCgpCkBAIC0xNDYsNyArMTQ1LDcgQEAgZGVmIF9zZXRfdXBf
ZGVyaXZlZF9vcHRpb25zKHBvcnRfb2JqLCBvcHRpb25zKToKICAgICBpZiBub3Qgb3B0aW9ucy51
c2VfYXBhY2hlOgogICAgICAgICBvcHRpb25zLnVzZV9hcGFjaGUgPSBzeXMucGxhdGZvcm0gaW4g
KCdkYXJ3aW4nLCAnbGludXgyJykKIAotICAgIGlmIG5vdCBvcy5wYXRoLmlzYWJzKG9wdGlvbnMu
cmVzdWx0c19kaXJlY3RvcnkpOgorICAgIGlmIG5vdCBwb3J0X29iai5fZmlsZXN5c3RlbS5pc2Fi
cyhvcHRpb25zLnJlc3VsdHNfZGlyZWN0b3J5KToKICAgICAgICAgIyBUaGlzIG5vcm1hbGl6ZXMg
dGhlIHBhdGggdG8gdGhlIGJ1aWxkIGRpci4KICAgICAgICAgIyBGSVhNRTogaG93IHRoaXMgaGFw
cGVucyBpcyBub3QgYXQgYWxsIG9idmlvdXM7IHRoaXMgaXMgYSBkdW1iCiAgICAgICAgICMgaW50
ZXJmYWNlIGFuZCBzaG91bGQgYmUgY2xlYW5lZCB1cC4KQEAgLTE2MiwxNCArMTYxLDEzIEBAIGRl
ZiBfc2V0X3VwX2Rlcml2ZWRfb3B0aW9ucyhwb3J0X29iaiwgb3B0aW9ucyk6CiAgICAgcmV0dXJu
IHdhcm5pbmdzCiAKIAotZGVmIF9nYXRoZXJfdW5leHBlY3RlZF9yZXN1bHRzKG9wdGlvbnMpOgor
ZGVmIF9nYXRoZXJfdW5leHBlY3RlZF9yZXN1bHRzKGZpbGVzeXN0ZW0sIG9wdGlvbnMpOgogICAg
ICIiIlJldHVybnMgdGhlIHVuZXhwZWN0ZWQgcmVzdWx0cyBmcm9tIHRoZSBwcmV2aW91cyBydW4s
IGlmIGFueS4iIiIKICAgICBsYXN0X3VuZXhwZWN0ZWRfcmVzdWx0cyA9IFtdCiAgICAgaWYgb3B0
aW9ucy5wcmludF9sYXN0X2ZhaWx1cmVzIG9yIG9wdGlvbnMucmV0ZXN0X2xhc3RfZmFpbHVyZXM6
Ci0gICAgICAgIHVuZXhwZWN0ZWRfcmVzdWx0c19maWxlbmFtZSA9IG9zLnBhdGguam9pbigKLSAg
ICAgICAgb3B0aW9ucy5yZXN1bHRzX2RpcmVjdG9yeSwgInVuZXhwZWN0ZWRfcmVzdWx0cy5qc29u
IikKLSAgICAgICAgd2l0aCBjb2RlY3Mub3Blbih1bmV4cGVjdGVkX3Jlc3VsdHNfZmlsZW5hbWUs
ICJyIiwgInV0Zi04IikgYXMgZmlsZToKLSAgICAgICAgICAgIHJlc3VsdHMgPSBzaW1wbGVqc29u
LmxvYWQoZmlsZSkKKyAgICAgICAgdW5leHBlY3RlZF9yZXN1bHRzX2ZpbGVuYW1lID0gZmlsZXN5
c3RlbS5qb2luKAorICAgICAgICAgICAgb3B0aW9ucy5yZXN1bHRzX2RpcmVjdG9yeSwgInVuZXhw
ZWN0ZWRfcmVzdWx0cy5qc29uIikKKyAgICAgICAgcmVzdWx0cyA9IHNpbXBsZWpzb24ubG9hZHMo
ZmlsZXN5c3RlbS5yZWFkX3RleHRfZmlsZSh1bmV4cGVjdGVkX3Jlc3VsdHNfZmlsZW5hbWUpKQog
ICAgICAgICBsYXN0X3VuZXhwZWN0ZWRfcmVzdWx0cyA9IHJlc3VsdHNbJ3Rlc3RzJ10ua2V5cygp
CiAgICAgcmV0dXJuIGxhc3RfdW5leHBlY3RlZF9yZXN1bHRzCiAKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfdW5pdHRlc3Qu
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3Rz
X3VuaXR0ZXN0LnB5CmluZGV4IGYyZmY4MmY1MjlkNzdjZDQ1NjhlYjk4MTY0ZmEzNGM5YjVhYzZl
NzcuLmFlYzk1OTc5OTQyZmY1ZGEzMWY4NTA3ZDE4MTE2NGYzNzk5MTc1ZGEgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfdW5p
dHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dl
YmtpdF90ZXN0c191bml0dGVzdC5weQpAQCAtMzAsMTQgKzMwLDEzIEBACiAKICIiIlVuaXQgdGVz
dHMgZm9yIHJ1bl93ZWJraXRfdGVzdHMuIiIiCiAKK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgd2l0
aF9zdGF0ZW1lbnQKKwogaW1wb3J0IGNvZGVjcwogaW1wb3J0IGl0ZXJ0b29scwogaW1wb3J0IGxv
Z2dpbmcKLWltcG9ydCBvcwogaW1wb3J0IFF1ZXVlCi1pbXBvcnQgc2h1dGlsCiBpbXBvcnQgc3lz
Ci1pbXBvcnQgdGVtcGZpbGUKIGltcG9ydCB0aHJlYWQKIGltcG9ydCB0aW1lCiBpbXBvcnQgdGhy
ZWFkaW5nCkBAIC00NSw2ICs0NCw3IEBAIGltcG9ydCB1bml0dGVzdAogCiBmcm9tIHdlYmtpdHB5
LmNvbW1vbiBpbXBvcnQgYXJyYXlfc3RyZWFtCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0g
aW1wb3J0IG91dHB1dGNhcHR1cmUKK2Zyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbSBpbXBvcnQg
ZmlsZXN5c3RlbV9tb2NrCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1wb3J0IHVzZXIK
IGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzIGltcG9ydCBwb3J0CiBmcm9tIHdlYmtpdHB5Lmxh
eW91dF90ZXN0cyBpbXBvcnQgcnVuX3dlYmtpdF90ZXN0cwpAQCAtODgsMTIgKzg4LDEyIEBAIGRl
ZiBwYXJzZV9hcmdzKGV4dHJhX2FyZ3M9Tm9uZSwgcmVjb3JkX3Jlc3VsdHM9RmFsc2UsIHRlc3Rz
X2luY2x1ZGVkPUZhbHNlLAogCiAKIGRlZiBwYXNzaW5nX3J1bihleHRyYV9hcmdzPU5vbmUsIHBv
cnRfb2JqPU5vbmUsIHJlY29yZF9yZXN1bHRzPUZhbHNlLAotICAgICAgICAgICAgICAgIHRlc3Rz
X2luY2x1ZGVkPUZhbHNlKToKKyAgICAgICAgICAgICAgICB0ZXN0c19pbmNsdWRlZD1GYWxzZSwg
ZmlsZXN5c3RlbT1Ob25lKToKICAgICBvcHRpb25zLCBwYXJzZWRfYXJncyA9IHBhcnNlX2FyZ3Mo
ZXh0cmFfYXJncywgcmVjb3JkX3Jlc3VsdHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHRlc3RzX2luY2x1ZGVkKQogICAgIGlmIG5vdCBwb3J0X29iajoKICAgICAgICAg
cG9ydF9vYmogPSBwb3J0LmdldChwb3J0X25hbWU9b3B0aW9ucy5wbGF0Zm9ybSwgb3B0aW9ucz1v
cHRpb25zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9TW9ja1VzZXIoKSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyPU1vY2tVc2VyKCksIGZpbGVzeXN0ZW09Zmls
ZXN5c3RlbSkKICAgICByZXMgPSBydW5fd2Via2l0X3Rlc3RzLnJ1bihwb3J0X29iaiwgb3B0aW9u
cywgcGFyc2VkX2FyZ3MpCiAgICAgcmV0dXJuIHJlcyA9PSAwCiAKQEAgLTIzOSw5ICsyMzksMTAg
QEAgY2xhc3MgTWFpblRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAgWydmYWls
dXJlcy9leHBlY3RlZC9rZXlib2FyZC5odG1sJ10sIHRlc3RzX2luY2x1ZGVkPVRydWUpCiAKICAg
ICBkZWYgdGVzdF9sYXN0X3Jlc3VsdHMoc2VsZik6Ci0gICAgICAgIHBhc3NpbmdfcnVuKFsnLS1j
bG9iYmVyLW9sZC1yZXN1bHRzJ10sIHJlY29yZF9yZXN1bHRzPVRydWUpCisgICAgICAgIGZzID0g
cG9ydC51bml0X3Rlc3RfZmlsZXN5c3RlbSgpCisgICAgICAgIHBhc3NpbmdfcnVuKFsnLS1jbG9i
YmVyLW9sZC1yZXN1bHRzJ10sIHJlY29yZF9yZXN1bHRzPVRydWUsIGZpbGVzeXN0ZW09ZnMpCiAg
ICAgICAgIChyZXMsIGJ1aWxkYm90X291dHB1dCwgcmVndWxhcl9vdXRwdXQsIHVzZXIpID0gbG9n
Z2luZ19ydW4oCi0gICAgICAgICAgICBbJy0tcHJpbnQtbGFzdC1mYWlsdXJlcyddKQorICAgICAg
ICAgICAgWyctLXByaW50LWxhc3QtZmFpbHVyZXMnXSwgZmlsZXN5c3RlbT1mcykKICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChyZWd1bGFyX291dHB1dC5nZXQoKSwgWydcblxuJ10pCiAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoYnVpbGRib3Rfb3V0cHV0LmdldCgpLCBbXSkKIApAQCAtMzM4LDcg
KzMzOSw3IEBAIGNsYXNzIE1haW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgdGVz
dF90ZXN0X2xpc3Rfd2l0aF9wcmVmaXgoc2VsZik6CiAgICAgICAgIGZzID0gcG9ydC51bml0X3Rl
c3RfZmlsZXN5c3RlbSgpCiAgICAgICAgIGZpbGVuYW1lID0gJy90bXAvZm9vLnR4dCcKLSAgICAg
ICAgZnMud3JpdGVfdGV4dF9maWxlKGZpbGVuYW1lLCAncGFzc2VzL3RleHQuaHRtbCcpCisgICAg
ICAgIGZzLndyaXRlX3RleHRfZmlsZShmaWxlbmFtZSwgJ0xheW91dFRlc3RzL3Bhc3Nlcy90ZXh0
Lmh0bWwnKQogICAgICAgICB0ZXN0c19ydW4gPSBnZXRfdGVzdHNfcnVuKFsnLS10ZXN0LWxpc3Q9
JXMnICUgZmlsZW5hbWVdLCB0ZXN0c19pbmNsdWRlZD1UcnVlLCBmbGF0dGVuX2JhdGNoZXM9VHJ1
ZSwgZmlsZXN5c3RlbT1mcykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoWydwYXNzZXMvdGV4
dC5odG1sJ10sIHRlc3RzX3J1bikKIApAQCAtNDA3LDExICs0MDgsMTEgQEAgY2xhc3MgTWFpblRl
c3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAjIFdlIHJ1biBhIGNvbmZpZ3VyYXRpb24g
dGhhdCBzaG91bGQgZmFpbCwgdG8gZ2VuZXJhdGUgb3V0cHV0LCB0aGVuCiAgICAgICAgICMgbG9v
ayBmb3Igd2hhdCB0aGUgb3V0cHV0IHJlc3VsdHMgdXJsIHdhcy4KIAotICAgICAgICB0bXBkaXIg
PSB0ZW1wZmlsZS5ta2R0ZW1wKCkKLSAgICAgICAgcmVzLCBvdXQsIGVyciwgdXNlciA9IGxvZ2dp
bmdfcnVuKFsnLS1yZXN1bHRzLWRpcmVjdG9yeT0nICsgdG1wZGlyXSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RzX2luY2x1ZGVkPVRydWUpCi0gICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwodXNlci51cmwsIG9zLnBhdGguam9pbih0bXBkaXIsICdyZXN1bHRz
Lmh0bWwnKSkKLSAgICAgICAgc2h1dGlsLnJtdHJlZSh0bXBkaXIsIGlnbm9yZV9lcnJvcnM9VHJ1
ZSkKKyAgICAgICAgZnMgPSBwb3J0LnVuaXRfdGVzdF9maWxlc3lzdGVtKCkKKyAgICAgICAgd2l0
aCBmcy5ta2R0ZW1wKCkgYXMgdG1wZGlyOgorICAgICAgICAgICAgcmVzLCBvdXQsIGVyciwgdXNl
ciA9IGxvZ2dpbmdfcnVuKFsnLS1yZXN1bHRzLWRpcmVjdG9yeT0nICsgc3RyKHRtcGRpcildLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RzX2luY2x1
ZGVkPVRydWUsIGZpbGVzeXN0ZW09ZnMpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHVz
ZXIudXJsLCBmcy5qb2luKHRtcGRpciwgJ3Jlc3VsdHMuaHRtbCcpKQogCiAgICAgZGVmIHRlc3Rf
cmVzdWx0c19kaXJlY3RvcnlfZGVmYXVsdChzZWxmKToKICAgICAgICAgIyBXZSBydW4gYSBjb25m
aWd1cmF0aW9uIHRoYXQgc2hvdWxkIGZhaWwsIHRvIGdlbmVyYXRlIG91dHB1dCwgdGhlbgpAQCAt
NDY4LDE4ICs0NjksNiBAQCBjbGFzcyBNYWluVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiBNYWlu
VGVzdCA9IHNraXBfaWYoTWFpblRlc3QsIHN5cy5wbGF0Zm9ybSA9PSAnY3lnd2luJyBhbmQgY29t
cGFyZV92ZXJzaW9uKHN5cywgJzIuNicpWzBdIDwgMCwgJ25ldy1ydW4td2Via2l0LXRlc3RzIHRl
c3RzIGhhbmcgb24gQ3lnd2luIFB5dGhvbiAyLjUuMicpCiAKIAotCi1kZWYgX21vY2tlZF9vcGVu
KG9yaWdpbmFsX29wZW4sIGZpbGVfbGlzdCk6Ci0gICAgZGVmIF93cmFwcGVyKG5hbWUsIG1vZGUs
IGVuY29kaW5nKToKLSAgICAgICAgaWYgbmFtZS5maW5kKCItZXhwZWN0ZWQuIikgIT0gLTEgYW5k
IG1vZGUuZmluZCgidyIpICE9IC0xOgotICAgICAgICAgICAgIyB3ZSBkb24ndCB3YW50IHRvIGFj
dHVhbGx5IHdyaXRlIG5ldyBiYXNlbGluZXMsIHNvIHN0dWIgdGhlc2Ugb3V0Ci0gICAgICAgICAg
ICBuYW1lLnJlcGxhY2UoJ1xcJywgJy8nKQotICAgICAgICAgICAgZmlsZV9saXN0LmFwcGVuZChu
YW1lKQotICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsX29wZW4ob3MuZGV2bnVsbCwgbW9kZSwg
ZW5jb2RpbmcpCi0gICAgICAgIHJldHVybiBvcmlnaW5hbF9vcGVuKG5hbWUsIG1vZGUsIGVuY29k
aW5nKQotICAgIHJldHVybiBfd3JhcHBlcgotCi0KIGNsYXNzIFJlYmFzZWxpbmVUZXN0KHVuaXR0
ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgYXNzZXJ0QmFzZWxpbmVzKHNlbGYsIGZpbGVfbGlzdCwg
ZmlsZSk6CiAgICAgICAgICJhc3NlcnQgdGhhdCB0aGUgZmlsZV9saXN0IGNvbnRhaW5zIHRoZSBi
YXNlbGluZXMuIiIiCkBAIC00OTAsNDkgKzQ3OSw0MiBAQCBjbGFzcyBSZWJhc2VsaW5lVGVzdCh1
bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgIyBGSVhNRTogQWRkIHRlc3RzIHRvIGVuc3VyZSB0aGF0
IHdlJ3JlICpub3QqIHdyaXRpbmcgYmFzZWxpbmVzIHdoZW4gd2UncmUgbm90CiAgICAgIyBzdXBw
b3NlZCB0byBiZS4KIAotICAgIGRlZiBkaXNhYmxlZF90ZXN0X3Jlc2V0X3Jlc3VsdHMoc2VsZik6
Ci0gICAgICAgICMgRklYTUU6IFRoaXMgdGVzdCBpcyBkaXNhYmxlZCB1bnRpbCB3ZSBjYW4gcmV3
cml0ZSBpdCB0byB1c2UgYQotICAgICAgICAjIG1vY2sgZmlsZXN5c3RlbS4KLSAgICAgICAgIwor
ICAgIGRlZiB0ZXN0X3Jlc2V0X3Jlc3VsdHMoc2VsZik6CiAgICAgICAgICMgVGVzdCB0aGF0IHdl
IHVwZGF0ZSBleHBlY3RhdGlvbnMgaW4gcGxhY2UuIElmIHRoZSBleHBlY3RhdGlvbgogICAgICAg
ICAjIGlzIG1pc3NpbmcsIHVwZGF0ZSB0aGUgZXhwZWN0ZWQgZ2VuZXJpYyBsb2NhdGlvbi4KLSAg
ICAgICAgZmlsZV9saXN0ID0gW10KKyAgICAgICAgZnMgPSBwb3J0LnVuaXRfdGVzdF9maWxlc3lz
dGVtKCkKICAgICAgICAgcGFzc2luZ19ydW4oWyctLXBpeGVsLXRlc3RzJywKICAgICAgICAgICAg
ICAgICAgICAgICAgICctLXJlc2V0LXJlc3VsdHMnLAogICAgICAgICAgICAgICAgICAgICAgICAg
J3Bhc3Nlcy9pbWFnZS5odG1sJywKICAgICAgICAgICAgICAgICAgICAgICAgICdmYWlsdXJlcy9l
eHBlY3RlZC9taXNzaW5nX2ltYWdlLmh0bWwnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHRl
c3RzX2luY2x1ZGVkPVRydWUpCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0c19pbmNsdWRl
ZD1UcnVlLCBmaWxlc3lzdGVtPWZzKQorICAgICAgICBmaWxlX2xpc3QgPSBmcy53cml0dGVuX2Zp
bGVzLmtleXMoKQorICAgICAgICBmaWxlX2xpc3QucmVtb3ZlKCcvdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvdGVzdHNfcnVuLnR4dCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGZpbGVf
bGlzdCksIDYpCiAgICAgICAgIHNlbGYuYXNzZXJ0QmFzZWxpbmVzKGZpbGVfbGlzdCwKLSAgICAg
ICAgICAgICJkYXRhL3Bhc3Nlcy9pbWFnZSIpCisgICAgICAgICAgICAiL3Bhc3Nlcy9pbWFnZSIp
CiAgICAgICAgIHNlbGYuYXNzZXJ0QmFzZWxpbmVzKGZpbGVfbGlzdCwKLSAgICAgICAgICAgICJk
YXRhL2ZhaWx1cmVzL2V4cGVjdGVkL21pc3NpbmdfaW1hZ2UiKQorICAgICAgICAgICAgIi9mYWls
dXJlcy9leHBlY3RlZC9taXNzaW5nX2ltYWdlIikKIAotICAgIGRlZiBkaXNhYmxlZF90ZXN0X25l
d19iYXNlbGluZShzZWxmKToKLSAgICAgICAgIyBGSVhNRTogVGhpcyB0ZXN0IGlzIGRpc2FibGVk
IHVudGlsIHdlIGNhbiByZXdyaXRlIGl0IHRvIHVzZSBhCi0gICAgICAgICMgbW9jayBmaWxlc3lz
dGVtLgotICAgICAgICAjCisgICAgZGVmIHRlc3RfbmV3X2Jhc2VsaW5lKHNlbGYpOgogICAgICAg
ICAjIFRlc3QgdGhhdCB3ZSB1cGRhdGUgdGhlIHBsYXRmb3JtIGV4cGVjdGF0aW9ucy4gSWYgdGhl
IGV4cGVjdGF0aW9uCiAgICAgICAgICMgaXMgbXNzaW5nLCB0aGVuIGNyZWF0ZSBhIG5ldyBleHBl
Y3RhdGlvbiBpbiB0aGUgcGxhdGZvcm0gZGlyLgotICAgICAgICBmaWxlX2xpc3QgPSBbXQotICAg
ICAgICBvcmlnaW5hbF9vcGVuID0gY29kZWNzLm9wZW4KLSAgICAgICAgdHJ5OgotICAgICAgICAg
ICAgIyBUZXN0IHRoYXQgd2UgdXBkYXRlIHRoZSBwbGF0Zm9ybSBleHBlY3RhdGlvbnMuIElmIHRo
ZSBleHBlY3RhdGlvbgotICAgICAgICAgICAgIyBpcyBtc3NpbmcsIHRoZW4gY3JlYXRlIGEgbmV3
IGV4cGVjdGF0aW9uIGluIHRoZSBwbGF0Zm9ybSBkaXIuCi0gICAgICAgICAgICBmaWxlX2xpc3Qg
PSBbXQotICAgICAgICAgICAgY29kZWNzLm9wZW4gPSBfbW9ja2VkX29wZW4ob3JpZ2luYWxfb3Bl
biwgZmlsZV9saXN0KQotICAgICAgICAgICAgcGFzc2luZ19ydW4oWyctLXBpeGVsLXRlc3RzJywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAnLS1uZXctYmFzZWxpbmUnLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICdwYXNzZXMvaW1hZ2UuaHRtbCcsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgJ2ZhaWx1cmVzL2V4cGVjdGVkL21pc3NpbmdfaW1hZ2UuaHRtbCddLAotICAgICAgICAgICAg
ICAgICAgICAgICAgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwobGVuKGZpbGVfbGlzdCksIDYpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEJhc2VsaW5l
cyhmaWxlX2xpc3QsCi0gICAgICAgICAgICAgICAgImRhdGEvcGxhdGZvcm0vdGVzdC9wYXNzZXMv
aW1hZ2UiKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRCYXNlbGluZXMoZmlsZV9saXN0LAotICAg
ICAgICAgICAgICAgICJkYXRhL3BsYXRmb3JtL3Rlc3QvZmFpbHVyZXMvZXhwZWN0ZWQvbWlzc2lu
Z19pbWFnZSIpCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBjb2RlY3Mub3BlbiA9IG9y
aWdpbmFsX29wZW4KKyAgICAgICAgZnMgPSBwb3J0LnVuaXRfdGVzdF9maWxlc3lzdGVtKCkKKwor
ICAgICAgICAjIFRlc3QgdGhhdCB3ZSB1cGRhdGUgdGhlIHBsYXRmb3JtIGV4cGVjdGF0aW9ucy4g
SWYgdGhlIGV4cGVjdGF0aW9uCisgICAgICAgICMgaXMgbXNzaW5nLCB0aGVuIGNyZWF0ZSBhIG5l
dyBleHBlY3RhdGlvbiBpbiB0aGUgcGxhdGZvcm0gZGlyLgorICAgICAgICBwYXNzaW5nX3J1bihb
Jy0tcGl4ZWwtdGVzdHMnLAorICAgICAgICAgICAgICAgICAgICAgICAgJy0tbmV3LWJhc2VsaW5l
JywKKyAgICAgICAgICAgICAgICAgICAgICAgICdwYXNzZXMvaW1hZ2UuaHRtbCcsCisgICAgICAg
ICAgICAgICAgICAgICAgICAnZmFpbHVyZXMvZXhwZWN0ZWQvbWlzc2luZ19pbWFnZS5odG1sJ10s
CisgICAgICAgICAgICAgICAgICAgIHRlc3RzX2luY2x1ZGVkPVRydWUsIGZpbGVzeXN0ZW09ZnMp
CisgICAgICAgIGZpbGVfbGlzdCA9IGZzLndyaXR0ZW5fZmlsZXMua2V5cygpCisgICAgICAgIGZp
bGVfbGlzdC5yZW1vdmUoJy90bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy90ZXN0c19ydW4udHh0JykK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZmlsZV9saXN0KSwgNikKKyAgICAgICAgc2Vs
Zi5hc3NlcnRCYXNlbGluZXMoZmlsZV9saXN0LAorICAgICAgICAgICAgIi9wbGF0Zm9ybS90ZXN0
L3Bhc3Nlcy9pbWFnZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0QmFzZWxpbmVzKGZpbGVfbGlzdCwK
KyAgICAgICAgICAgICIvcGxhdGZvcm0vdGVzdC9mYWlsdXJlcy9leHBlY3RlZC9taXNzaW5nX2lt
YWdlIikKIAogCiBjbGFzcyBEcnlydW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToK
</data>
<flag name="review"
          id="71085"
          type_id="1"
          status="+"
          setter="mihaip"
    />
          </attachment>
      

    </bug>

</bugzilla>