<?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>59279</bug_id>
          
          <creation_ts>2011-04-23 09:31:17 -0700</creation_ts>
          <short_desc>The bots should learn from expected failures without having to retry</short_desc>
          <delta_ts>2011-05-02 00:53:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>391458</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-23 09:31:17 -0700</bug_when>
    <thetext>The bots should learn from expected failures without having to retry</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391459</commentid>
    <comment_count>1</comment_count>
      <attachid>90853</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-23 09:33:06 -0700</bug_when>
    <thetext>Created attachment 90853
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391460</commentid>
    <comment_count>2</comment_count>
      <attachid>90853</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-23 09:35:44 -0700</bug_when>
    <thetext>Comment on attachment 90853
Patch

Cute.  But we need a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391462</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-23 11:00:07 -0700</bug_when>
    <thetext>&gt; Cute.  But we need a test.

Do you think we should report failure at the end?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391463</commentid>
    <comment_count>4</comment_count>
      <attachid>90853</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-23 11:35:28 -0700</bug_when>
    <thetext>Comment on attachment 90853
Patch

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

I&apos;m not sure what you mean.

&gt; Tools/Scripts/webkitpy/tool/bot/patchanalysistask.py:217
&gt; +        if self._expected_failures.failures_were_expected(first_results):

This also could be complicated by flaky tests.  We won&apos;t get to here in the flaky test case (we would have stopped to report them already).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391464</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-23 11:44:46 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 90853 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=90853&amp;action=review
&gt; 
&gt; I&apos;m not sure what you mean.

In the line where I added a FIXME, we could report failure instead of returning False (which causes a retry).

&gt; &gt; Tools/Scripts/webkitpy/tool/bot/patchanalysistask.py:217
&gt; &gt; +        if self._expected_failures.failures_were_expected(first_results):
&gt; 
&gt; This also could be complicated by flaky tests.  We won&apos;t get to here in the flaky test case (we would have stopped to report them already).

The only way flaky tests cause problem here is if we think one test failed turing the clean run when it should have passed.  The result of that is only slightly less test coverage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393120</commentid>
    <comment_count>6</comment_count>
      <attachid>90853</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-04-26 17:02:42 -0700</bug_when>
    <thetext>Comment on attachment 90853
Patch

R- per lack of test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396241</commentid>
    <comment_count>7</comment_count>
      <attachid>90853</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-01 22:55:18 -0700</bug_when>
    <thetext>Comment on attachment 90853
Patch

This should be easy to test. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396257</commentid>
    <comment_count>8</comment_count>
      <attachid>91886</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-01 23:28:24 -0700</bug_when>
    <thetext>Created attachment 91886
now with test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396271</commentid>
    <comment_count>9</comment_count>
      <attachid>91890</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-02 00:32:01 -0700</bug_when>
    <thetext>Created attachment 91890
Updated with more tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396277</commentid>
    <comment_count>10</comment_count>
      <attachid>91890</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-05-02 00:39:48 -0700</bug_when>
    <thetext>Comment on attachment 91890
Updated with more tests

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

This is a patch of amazingness now.  Thanks you.  :)

&gt; Tools/Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:88
&gt; +        self._test_run_counter = -1

Why does this start at -1?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396280</commentid>
    <comment_count>11</comment_count>
      <attachid>91892</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-02 00:47:36 -0700</bug_when>
    <thetext>Created attachment 91892
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396281</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-02 00:47:44 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 91890 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=91890&amp;action=review
&gt; 
&gt; This is a patch of amazingness now.  Thanks you.  :)
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:88
&gt; &gt; +        self._test_run_counter = -1
&gt; 
&gt; Why does this start at -1?

I&apos;ve updated the comments to explain.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396284</commentid>
    <comment_count>13</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-02 00:53:17 -0700</bug_when>
    <thetext>Committed r85463: &lt;http://trac.webkit.org/changeset/85463&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90853</attachid>
            <date>2011-04-23 09:33:06 -0700</date>
            <delta_ts>2011-05-01 23:28:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59279-20110423093305.patch</filename>
            <type>text/plain</type>
            <size>1582</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDg0NzQxKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTEtMDQtMjMgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgYm90cyBz
aG91bGQgbGVhcm4gZnJvbSBleHBlY3RlZCBmYWlsdXJlcyB3aXRob3V0IGhhdmluZyB0byByZXRy
eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkyNzkK
KworICAgICAgICBSYXRoZXIgdGhhbiByZS10cnlpbmcgdGhlIHdob2xlIHBhdGNoLCB3ZSBjYW4g
anVzdCBjaGVjayB3aGV0aGVyIHdlIG5vdworICAgICAgICBleHBlY3QgdGhlIGZhaWx1cmVzIHdl
IHNlZSB3aXRoIHRoZSBwYXRjaCBhcHBsaWVkLCBzYXZpbmcgYSBsb3Qgb2YgdGltZS4KKworICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvcGF0Y2hhbmFseXNpc3Rhc2sucHk6CisK
IDIwMTEtMDQtMjIgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI4NDYyNy4KSW5kZXg6IFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvcGF0Y2hhbmFseXNpc3Rhc2sucHkKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9wYXRjaGFuYWx5c2lzdGFzay5weQko
cmV2aXNpb24gODQ3MDQpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L3BhdGNo
YW5hbHlzaXN0YXNrLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0yMTMsNiArMjEzLDExIEBAIGNsYXNz
IFBhdGNoQW5hbHlzaXNUYXNrKG9iamVjdCk6CiAgICAgICAgIGNsZWFuX3RyZWVfcmVzdWx0cyA9
IHNlbGYuX2RlbGVnYXRlLmxheW91dF90ZXN0X3Jlc3VsdHMoKQogICAgICAgICBzZWxmLl9leHBl
Y3RlZF9mYWlsdXJlcy5ncm93X2V4cGVjdGVkX2ZhaWx1cmVzKGNsZWFuX3RyZWVfcmVzdWx0cykK
IAorICAgICAgICAjIFJlLWNoZWNrIGlmIHRoZSBvcmlnaW5hbCByZXN1bHRzIGFyZSBub3cgdG8g
YmUgZXhwZWN0ZWQgdG8gYXZvaWQgYSBmdWxsIHJlLXRyeS4KKyAgICAgICAgaWYgc2VsZi5fZXhw
ZWN0ZWRfZmFpbHVyZXMuZmFpbHVyZXNfd2VyZV9leHBlY3RlZChmaXJzdF9yZXN1bHRzKToKKyAg
ICAgICAgICAgIHJldHVybiBUcnVlCisKKyAgICAgICAgIyBGSVhNRTogU2hvdWxkIHdlIHJlcG9y
dCBmYWlsdXJlIG5vdz8KICAgICAgICAgcmV0dXJuIEZhbHNlICAjIFRyZWUgbXVzdCBiZSByZWRk
ZXIgdGhhbiB3ZSBleHBlY3RlZCwganVzdCByZXRyeSBsYXRlci4KIAogICAgIGRlZiByZXN1bHRz
X2FyY2hpdmVfZnJvbV9wYXRjaF90ZXN0X3J1bihzZWxmLCBwYXRjaCk6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91886</attachid>
            <date>2011-05-01 23:28:24 -0700</date>
            <delta_ts>2011-05-02 00:31:57 -0700</delta_ts>
            <desc>now with test case</desc>
            <filename>bug-59279-20110501232823.patch</filename>
            <type>text/plain</type>
            <size>4791</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODU0NTcKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3YmI5NTkzM2Q3YmVkYmYzNzdhZDg3YTU1ZTE0ZDg1YmU4
MjZmYTk1Li5lMzc4YmFmNTJlZjcwY2UzMTQ1NmY2OTRkOTA4ZjNhNDc1ZDg3ZWQ5IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTEtMDUtMDEgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBib3RzIHNob3VsZCBs
ZWFybiBmcm9tIGV4cGVjdGVkIGZhaWx1cmVzIHdpdGhvdXQgaGF2aW5nIHRvIHJldHJ5CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTI3OQorCisgICAg
ICAgIFJhdGhlciB0aGFuIHJlLXRyeWluZyB0aGUgd2hvbGUgcGF0Y2gsIHdlIGNhbiBqdXN0IGNo
ZWNrIHdoZXRoZXIgd2Ugbm93CisgICAgICAgIGV4cGVjdCB0aGUgZmFpbHVyZXMgd2Ugc2VlIHdp
dGggdGhlIHBhdGNoIGFwcGxpZWQsIHNhdmluZyBhIGxvdCBvZiB0aW1lLgorCisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9wYXRjaGFuYWx5c2lzdGFzay5weToKKwogMjAxMS0w
NS0wMSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29s
L2JvdC9jb21taXRxdWV1ZXRhc2tfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvYm90L2NvbW1pdHF1ZXVldGFza191bml0dGVzdC5weQppbmRleCA3ODliM2YxMTY4OWEx
MzdkOTQyMGFkMzI1Yzc4MjQ3MzgxNGZjNWJlLi42ZTE5YmQ4ZDEzMTk0MDIzMDY3MWExNTZmMTgy
Y2I1MGE4OThmNjA2IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90
L2NvbW1pdHF1ZXVldGFza191bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvYm90L2NvbW1pdHF1ZXVldGFza191bml0dGVzdC5weQpAQCAtNDIsNiArNDIsMTAgQEAg
ZnJvbSB3ZWJraXRweS50b29sLmJvdC5leHBlY3RlZGZhaWx1cmVzIGltcG9ydCBFeHBlY3RlZEZh
aWx1cmVzCiBmcm9tIHdlYmtpdHB5LnRvb2wubW9ja3Rvb2wgaW1wb3J0IE1vY2tUb29sCiAKIAor
ZGVmIF9tb2NrX3Rlc3RfcmVzdWx0KHRlc3RuYW1lKToKKyAgICByZXR1cm4gdGVzdF9yZXN1bHRz
LlRlc3RSZXN1bHQodGVzdG5hbWUsIFt0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVUZXh0TWlzbWF0Y2go
KV0pCisKKwogY2xhc3MgTW9ja0NvbW1pdFF1ZXVlKENvbW1pdFF1ZXVlVGFza0RlbGVnYXRlKToK
ICAgICBkZWYgX19pbml0X18oc2VsZiwgZXJyb3JfcGxhbik6CiAgICAgICAgIHNlbGYuX2Vycm9y
X3BsYW4gPSBlcnJvcl9wbGFuCkBAIC0yNTQsMTMgKzI1OCwxMCBAQCBjb21tYW5kX3Bhc3NlZDog
c3VjY2Vzc19tZXNzYWdlPSdMYW5kZWQgcGF0Y2gnIHBhdGNoPScxOTcnCiAgICAgICAgICAgICAg
ICAgc2VsZi5fZG91YmxlX2ZsYWt5X3Rlc3RfY291bnRlciArPSAxCiAgICAgICAgICAgICAgICAg
TW9ja0NvbW1pdFF1ZXVlLnJ1bl9jb21tYW5kKHNlbGYsIGNvbW1hbmQpCiAKLSAgICAgICAgICAg
IGRlZiBfbW9ja190ZXN0X3Jlc3VsdChzZWxmLCB0ZXN0bmFtZSk6Ci0gICAgICAgICAgICAgICAg
cmV0dXJuIHRlc3RfcmVzdWx0cy5UZXN0UmVzdWx0KHRlc3RuYW1lLCBbdGVzdF9mYWlsdXJlcy5G
YWlsdXJlVGV4dE1pc21hdGNoKCldKQotCiAgICAgICAgICAgICBkZWYgbGF5b3V0X3Rlc3RfcmVz
dWx0cyhzZWxmKToKICAgICAgICAgICAgICAgICBpZiBzZWxmLl9kb3VibGVfZmxha3lfdGVzdF9j
b3VudGVyICUgMjoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIExheW91dFRlc3RSZXN1bHRz
KFtzZWxmLl9tb2NrX3Rlc3RfcmVzdWx0KCdmb28uaHRtbCcpXSkKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gTGF5b3V0VGVzdFJlc3VsdHMoW3NlbGYuX21vY2tfdGVzdF9yZXN1bHQoJ2Jhci5odG1s
JyldKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gTGF5b3V0VGVzdFJlc3VsdHMoW19tb2Nr
X3Rlc3RfcmVzdWx0KCdmb28uaHRtbCcpXSkKKyAgICAgICAgICAgICAgICByZXR1cm4gTGF5b3V0
VGVzdFJlc3VsdHMoW19tb2NrX3Rlc3RfcmVzdWx0KCdiYXIuaHRtbCcpXSkKIAogICAgICAgICBj
b21taXRfcXVldWUgPSBEb3VibGVGbGFreUNvbW1pdFF1ZXVlKFsKICAgICAgICAgICAgIE5vbmUs
CkBAIC0zMzEsNiArMzMyLDEyIEBAIGNvbW1hbmRfcGFzc2VkOiBzdWNjZXNzX21lc3NhZ2U9J0Fi
bGUgdG8gcGFzcyB0ZXN0cyB3aXRob3V0IHBhdGNoJyBwYXRjaD0nMTk3JwogICAgICAgICAgICAg
U2NyaXB0RXJyb3IoIk1PQ0sgdGVzdCBmYWlsdXJlIGFnYWluIiksCiAgICAgICAgICAgICBTY3Jp
cHRFcnJvcigiTU9DSyBjbGVhbiB0ZXN0IGZhaWx1cmUiKSwKICAgICAgICAgXSkKKyAgICAgICAg
IyBUZXN0cyBhbHdheXMgZmFpbCwgYW5kIGFsd2F5cyByZXR1cm4gdGhlIHNhbWUgcmVzdWx0cywg
YnV0IHdlCisgICAgICAgICMgc2hvdWxkIHN0aWxsIGJlIGFibGUgdG8gbGFuZCBpbiB0aGlzIGNh
c2UhCisgICAgICAgIHJlZF9yZXN1bHRzID0gTGF5b3V0VGVzdFJlc3VsdHMoW19tb2NrX3Rlc3Rf
cmVzdWx0KCdmb28uaHRtbCcpXSkKKyAgICAgICAgcmVkX3Jlc3VsdHMuc2V0X2ZhaWx1cmVfbGlt
aXRfY291bnQoMTApCisgICAgICAgIGNvbW1pdF9xdWV1ZS5sYXlvdXRfdGVzdF9yZXN1bHRzID0g
bGFtYmRhOiByZWRfcmVzdWx0cworCiAgICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICIiInJ1bl93
ZWJraXRfcGF0Y2g6IFsnY2xlYW4nXQogY29tbWFuZF9wYXNzZWQ6IHN1Y2Nlc3NfbWVzc2FnZT0n
Q2xlYW5lZCB3b3JraW5nIGRpcmVjdG9yeScgcGF0Y2g9JzE5NycKIHJ1bl93ZWJraXRfcGF0Y2g6
IFsndXBkYXRlJ10KQEAgLTM0Nyw4ICszNTQsMTAgQEAgY29tbWFuZF9mYWlsZWQ6IGZhaWx1cmVf
bWVzc2FnZT0nUGF0Y2ggZG9lcyBub3QgcGFzcyB0ZXN0cycgc2NyaXB0X2Vycm9yPSdNT0NLIHQK
IGFyY2hpdmVfbGFzdF9sYXlvdXRfdGVzdF9yZXN1bHRzOiBwYXRjaD0nMTk3JwogcnVuX3dlYmtp
dF9wYXRjaDogWydidWlsZC1hbmQtdGVzdCcsICctLWZvcmNlLWNsZWFuJywgJy0tbm8tdXBkYXRl
JywgJy0tYnVpbGQnLCAnLS10ZXN0JywgJy0tbm9uLWludGVyYWN0aXZlJ10KIGNvbW1hbmRfZmFp
bGVkOiBmYWlsdXJlX21lc3NhZ2U9J1VuYWJsZSB0byBwYXNzIHRlc3RzIHdpdGhvdXQgcGF0Y2gg
KHRyZWUgaXMgcmVkPyknIHNjcmlwdF9lcnJvcj0nTU9DSyBjbGVhbiB0ZXN0IGZhaWx1cmUnIHBh
dGNoPScxOTcnCitydW5fd2Via2l0X3BhdGNoOiBbJ2xhbmQtYXR0YWNobWVudCcsICctLWZvcmNl
LWNsZWFuJywgJy0taWdub3JlLWJ1aWxkZXJzJywgJy0tbm9uLWludGVyYWN0aXZlJywgJy0tcGFy
ZW50LWNvbW1hbmQ9Y29tbWl0LXF1ZXVlJywgMTk3XQorY29tbWFuZF9wYXNzZWQ6IHN1Y2Nlc3Nf
bWVzc2FnZT0nTGFuZGVkIHBhdGNoJyBwYXRjaD0nMTk3JwogIiIiCi0gICAgICAgIHNlbGYuX3J1
bl90aHJvdWdoX3Rhc2soY29tbWl0X3F1ZXVlLCBleHBlY3RlZF9zdGRlcnIsIGV4cGVjdF9yZXRy
eT1UcnVlKQorICAgICAgICBzZWxmLl9ydW5fdGhyb3VnaF90YXNrKGNvbW1pdF9xdWV1ZSwgZXhw
ZWN0ZWRfc3RkZXJyLCBleHBlY3RfcmV0cnk9RmFsc2UpCiAKICAgICBkZWYgdGVzdF9sYW5kX2Zh
aWx1cmUoc2VsZik6CiAgICAgICAgIGNvbW1pdF9xdWV1ZSA9IE1vY2tDb21taXRRdWV1ZShbCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L3BhdGNoYW5hbHlzaXN0
YXNrLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9wYXRjaGFuYWx5c2lzdGFz
ay5weQppbmRleCBjMjAyZDI0OTY2ZWM2OGJjNDQ2ZWJjNWM5YTkwNDVjNGE1OGFlM2RmLi4wYzcz
N2IyYWZhMDQxZTYyYjZjMzU3NWM3YjQ5YzM2ZWIzYmQ0ZWMyIDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L3BhdGNoYW5hbHlzaXN0YXNrLnB5CisrKyBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvcGF0Y2hhbmFseXNpc3Rhc2sucHkKQEAgLTIxMyw2
ICsyMTMsMTEgQEAgY2xhc3MgUGF0Y2hBbmFseXNpc1Rhc2sob2JqZWN0KToKICAgICAgICAgY2xl
YW5fdHJlZV9yZXN1bHRzID0gc2VsZi5fZGVsZWdhdGUubGF5b3V0X3Rlc3RfcmVzdWx0cygpCiAg
ICAgICAgIHNlbGYuX2V4cGVjdGVkX2ZhaWx1cmVzLmdyb3dfZXhwZWN0ZWRfZmFpbHVyZXMoY2xl
YW5fdHJlZV9yZXN1bHRzKQogCisgICAgICAgICMgUmUtY2hlY2sgaWYgdGhlIG9yaWdpbmFsIHJl
c3VsdHMgYXJlIG5vdyB0byBiZSBleHBlY3RlZCB0byBhdm9pZCBhIGZ1bGwgcmUtdHJ5LgorICAg
ICAgICBpZiBzZWxmLl9leHBlY3RlZF9mYWlsdXJlcy5mYWlsdXJlc193ZXJlX2V4cGVjdGVkKGZp
cnN0X3Jlc3VsdHMpOgorICAgICAgICAgICAgcmV0dXJuIFRydWUKKworICAgICAgICAjIEZJWE1F
OiBTaG91bGQgd2UgcmVwb3J0IGZhaWx1cmUgbm93PwogICAgICAgICByZXR1cm4gRmFsc2UgICMg
VHJlZSBtdXN0IGJlIHJlZGRlciB0aGFuIHdlIGV4cGVjdGVkLCBqdXN0IHJldHJ5IGxhdGVyLgog
CiAgICAgZGVmIHJlc3VsdHNfYXJjaGl2ZV9mcm9tX3BhdGNoX3Rlc3RfcnVuKHNlbGYsIHBhdGNo
KToK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91890</attachid>
            <date>2011-05-02 00:32:01 -0700</date>
            <delta_ts>2011-05-02 00:47:33 -0700</delta_ts>
            <desc>Updated with more tests</desc>
            <filename>bug-59279-20110502003200.patch</filename>
            <type>text/plain</type>
            <size>13214</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODU0NjEKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkNjhhM2JkMzUwN2RhMWY1MGIxYmMyODUwNWY5ZWY0ODI1
Mzk5MWI3Li4yNmQ5ODY0YTk4Y2E4YzI1MWQ0ODIzZmUzY2NkNWQwOTQxZTgwYjNmIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcg
QEAKKzIwMTEtMDUtMDEgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBib3RzIHNob3VsZCBs
ZWFybiBmcm9tIGV4cGVjdGVkIGZhaWx1cmVzIHdpdGhvdXQgaGF2aW5nIHRvIHJldHJ5CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTI3OQorCisgICAg
ICAgIFJhdGhlciB0aGFuIHJlLXRyeWluZyB0aGUgd2hvbGUgcGF0Y2gsIHdlIGNhbiBqdXN0IGNo
ZWNrIHdoZXRoZXIgd2Ugbm93CisgICAgICAgIGV4cGVjdCB0aGUgZmFpbHVyZXMgd2Ugc2VlIHdp
dGggdGhlIHBhdGNoIGFwcGxpZWQsIHNhdmluZyBhIGxvdCBvZiB0aW1lLgorCisgICAgICAgIFRo
aXMgcGF0Y2ggYWxzbyB0ZWFjaGVzIHRoZSBDb21taXRRdWV1ZSBob3cgdG8gcmVqZWN0IHBhdGNo
ZXMgZXZlbgorICAgICAgICB3aGVuIHRoZSB0cmVlIGlzIHJlZCB1c2luZyB0aGUgbmV3IHVuZXhw
ZWN0ZWRfZmFpbHVyZXMoKSBtZXRob2Qgb24KKyAgICAgICAgRXhwZWN0ZWRGYWlsdXJlcy4KKwor
ICAgICAgICBGaW5hbGx5IGluIHRlc3Rpbmcgd2UgZm91bmQgYSBidWcgaW4gRXhwZWN0ZWRGYWls
dXJlcyB3aGVyZSBpdCB3b3VsZAorICAgICAgICAidHJ1c3QiIHJlc3VsdHMgd2hpY2ggaGFkIG1h
bnkgbWFueSBmYWlsdXJlcywgZHVlIHRvIHVzaW5nIGFuCisgICAgICAgIGVxdWFsIHNpZ24gaW5z
dGVhZCBvZiBhIGxlc3MtdGhhbiBzaWduLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90
b29sL2JvdC9jb21taXRxdWV1ZXRhc2tfdW5pdHRlc3QucHkKKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvYm90L2V4cGVjdGVkZmFpbHVyZXMucHkKKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvYm90L2V4cGVjdGVkZmFpbHVyZXNfdW5pdHRlc3QucHkKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L3BhdGNoYW5hbHlzaXN0YXNrLnB5CisKKwogMjAxMS0w
NS0wMSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSB1
bmFkdmVydGFudGx5IGFkZGVkIGZpbGUuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvYm90L2NvbW1pdHF1ZXVldGFza191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9ib3QvY29tbWl0cXVldWV0YXNrX3VuaXR0ZXN0LnB5CmluZGV4IDc4OWIz
ZjExNjg5YTEzN2Q5NDIwYWQzMjVjNzgyNDczODE0ZmM1YmUuLmQxYmU3MjM4NzcxNzY2MThmMjU1
M2QwMjAzZjBhMmJhMTVlOTYxZTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dG9vbC9ib3QvY29tbWl0cXVldWV0YXNrX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9ib3QvY29tbWl0cXVldWV0YXNrX3VuaXR0ZXN0LnB5CkBAIC04Miw2ICs4
MiwyOCBAQCBjbGFzcyBNb2NrQ29tbWl0UXVldWUoQ29tbWl0UXVldWVUYXNrRGVsZWdhdGUpOgog
ICAgICAgICByZXR1cm4gYXJjaGl2ZQogCiAKK2NsYXNzIEZhaWxpbmdUZXN0Q29tbWl0UXVldWUo
TW9ja0NvbW1pdFF1ZXVlKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZXJyb3JfcGxhbiwgdGVz
dF9mYWlsdXJlX3BsYW4pOgorICAgICAgICBNb2NrQ29tbWl0UXVldWUuX19pbml0X18oc2VsZiwg
ZXJyb3JfcGxhbikKKyAgICAgICAgc2VsZi5fdGVzdF9ydW5fY291bnRlciA9IC0xCisgICAgICAg
IHNlbGYuX3Rlc3RfZmFpbHVyZV9wbGFuID0gdGVzdF9mYWlsdXJlX3BsYW4KKworICAgIGRlZiBy
dW5fY29tbWFuZChzZWxmLCBjb21tYW5kKToKKyAgICAgICAgaWYgY29tbWFuZFswXSA9PSAiYnVp
bGQtYW5kLXRlc3QiOgorICAgICAgICAgICAgc2VsZi5fdGVzdF9ydW5fY291bnRlciArPSAxCisg
ICAgICAgIE1vY2tDb21taXRRdWV1ZS5ydW5fY29tbWFuZChzZWxmLCBjb21tYW5kKQorCisgICAg
ZGVmIF9tb2NrX3Rlc3RfcmVzdWx0KHNlbGYsIHRlc3RuYW1lKToKKyAgICAgICAgcmV0dXJuIHRl
c3RfcmVzdWx0cy5UZXN0UmVzdWx0KHRlc3RuYW1lLCBbdGVzdF9mYWlsdXJlcy5GYWlsdXJlVGV4
dE1pc21hdGNoKCldKQorCisgICAgZGVmIGxheW91dF90ZXN0X3Jlc3VsdHMoc2VsZik6CisgICAg
ICAgIGZhaWx1cmVzX2Zvcl9ydW4gPSBzZWxmLl90ZXN0X2ZhaWx1cmVfcGxhbltzZWxmLl90ZXN0
X3J1bl9jb3VudGVyXQorICAgICAgICByZXN1bHRzID0gTGF5b3V0VGVzdFJlc3VsdHMobWFwKHNl
bGYuX21vY2tfdGVzdF9yZXN1bHQsIGZhaWx1cmVzX2Zvcl9ydW4pKQorICAgICAgICAjIFRoaXMg
bWFrZXMgdGhlIHJlc3VsdHMgdHJ1c3RhYmxlIGJ5IEV4cGVjdGVkRmFpbHVyZXMuCisgICAgICAg
IHJlc3VsdHMuc2V0X2ZhaWx1cmVfbGltaXRfY291bnQoMTApCisgICAgICAgIHJldHVybiByZXN1
bHRzCisKKwogY2xhc3MgQ29tbWl0UXVldWVUYXNrVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAg
ICAgZGVmIF9ydW5fdGhyb3VnaF90YXNrKHNlbGYsIGNvbW1pdF9xdWV1ZSwgZXhwZWN0ZWRfc3Rk
ZXJyLCBleHBlY3RlZF9leGNlcHRpb249Tm9uZSwgZXhwZWN0X3JldHJ5PUZhbHNlKToKICAgICAg
ICAgdG9vbCA9IE1vY2tUb29sKGxvZ19leGVjdXRpdmU9VHJ1ZSkKQEAgLTI0NSwzMCArMjY3LDE3
IEBAIGNvbW1hbmRfcGFzc2VkOiBzdWNjZXNzX21lc3NhZ2U9J0xhbmRlZCBwYXRjaCcgcGF0Y2g9
JzE5NycKICAgICAgICAgc2VsZi5fcnVuX3Rocm91Z2hfdGFzayhjb21taXRfcXVldWUsIGV4cGVj
dGVkX3N0ZGVycikKIAogICAgIGRlZiB0ZXN0X2RvdWJsZV9mbGFreV90ZXN0X2ZhaWx1cmUoc2Vs
Zik6Ci0gICAgICAgIGNsYXNzIERvdWJsZUZsYWt5Q29tbWl0UXVldWUoTW9ja0NvbW1pdFF1ZXVl
KToKLSAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBlcnJvcl9wbGFuKToKLSAgICAgICAg
ICAgICAgICBNb2NrQ29tbWl0UXVldWUuX19pbml0X18oc2VsZiwgZXJyb3JfcGxhbikKLSAgICAg
ICAgICAgICAgICBzZWxmLl9kb3VibGVfZmxha3lfdGVzdF9jb3VudGVyID0gMAotCi0gICAgICAg
ICAgICBkZWYgcnVuX2NvbW1hbmQoc2VsZiwgY29tbWFuZCk6Ci0gICAgICAgICAgICAgICAgc2Vs
Zi5fZG91YmxlX2ZsYWt5X3Rlc3RfY291bnRlciArPSAxCi0gICAgICAgICAgICAgICAgTW9ja0Nv
bW1pdFF1ZXVlLnJ1bl9jb21tYW5kKHNlbGYsIGNvbW1hbmQpCi0KLSAgICAgICAgICAgIGRlZiBf
bW9ja190ZXN0X3Jlc3VsdChzZWxmLCB0ZXN0bmFtZSk6Ci0gICAgICAgICAgICAgICAgcmV0dXJu
IHRlc3RfcmVzdWx0cy5UZXN0UmVzdWx0KHRlc3RuYW1lLCBbdGVzdF9mYWlsdXJlcy5GYWlsdXJl
VGV4dE1pc21hdGNoKCldKQotCi0gICAgICAgICAgICBkZWYgbGF5b3V0X3Rlc3RfcmVzdWx0cyhz
ZWxmKToKLSAgICAgICAgICAgICAgICBpZiBzZWxmLl9kb3VibGVfZmxha3lfdGVzdF9jb3VudGVy
ICUgMjoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIExheW91dFRlc3RSZXN1bHRzKFtzZWxm
Ll9tb2NrX3Rlc3RfcmVzdWx0KCdmb28uaHRtbCcpXSkKLSAgICAgICAgICAgICAgICByZXR1cm4g
TGF5b3V0VGVzdFJlc3VsdHMoW3NlbGYuX21vY2tfdGVzdF9yZXN1bHQoJ2Jhci5odG1sJyldKQot
Ci0gICAgICAgIGNvbW1pdF9xdWV1ZSA9IERvdWJsZUZsYWt5Q29tbWl0UXVldWUoWworICAgICAg
ICBjb21taXRfcXVldWUgPSBGYWlsaW5nVGVzdENvbW1pdFF1ZXVlKFsKICAgICAgICAgICAgIE5v
bmUsCiAgICAgICAgICAgICBOb25lLAogICAgICAgICAgICAgTm9uZSwKICAgICAgICAgICAgIE5v
bmUsCiAgICAgICAgICAgICBTY3JpcHRFcnJvcigiTU9DSyB0ZXN0IGZhaWx1cmUiKSwKICAgICAg
ICAgICAgIFNjcmlwdEVycm9yKCJNT0NLIHRlc3QgZmFpbHVyZSBhZ2FpbiIpLAorICAgICAgICBd
LCBbCisgICAgICAgICAgICAiZm9vLmh0bWwiLAorICAgICAgICAgICAgImJhci5odG1sIiwKKyAg
ICAgICAgICAgICJmb28uaHRtbCIsCiAgICAgICAgIF0pCiAgICAgICAgICMgVGhlIChzdWJ0bGUp
IHBvaW50IG9mIHRoaXMgdGVzdCBpcyB0aGF0IHJlcG9ydF9mbGFreV90ZXN0cyBkb2VzIG5vdCBh
cHBlYXIKICAgICAgICAgIyBpbiB0aGUgZXhwZWN0ZWRfc3RkZXJyIGZvciB0aGlzIHJ1bi4KQEAg
LTMyMiw3ICszMzEsNyBAQCBjb21tYW5kX3Bhc3NlZDogc3VjY2Vzc19tZXNzYWdlPSdBYmxlIHRv
IHBhc3MgdGVzdHMgd2l0aG91dCBwYXRjaCcgcGF0Y2g9JzE5NycKICAgICAgICAgc2VsZi5fcnVu
X3Rocm91Z2hfdGFzayhjb21taXRfcXVldWUsIGV4cGVjdGVkX3N0ZGVyciwgU2NyaXB0RXJyb3Ip
CiAKICAgICBkZWYgdGVzdF9yZWRfdGVzdF9mYWlsdXJlKHNlbGYpOgotICAgICAgICBjb21taXRf
cXVldWUgPSBNb2NrQ29tbWl0UXVldWUoWworICAgICAgICBjb21taXRfcXVldWUgPSBGYWlsaW5n
VGVzdENvbW1pdFF1ZXVlKFsKICAgICAgICAgICAgIE5vbmUsCiAgICAgICAgICAgICBOb25lLAog
ICAgICAgICAgICAgTm9uZSwKQEAgLTMzMCw3ICszMzksNTQgQEAgY29tbWFuZF9wYXNzZWQ6IHN1
Y2Nlc3NfbWVzc2FnZT0nQWJsZSB0byBwYXNzIHRlc3RzIHdpdGhvdXQgcGF0Y2gnIHBhdGNoPScx
OTcnCiAgICAgICAgICAgICBTY3JpcHRFcnJvcigiTU9DSyB0ZXN0IGZhaWx1cmUiKSwKICAgICAg
ICAgICAgIFNjcmlwdEVycm9yKCJNT0NLIHRlc3QgZmFpbHVyZSBhZ2FpbiIpLAogICAgICAgICAg
ICAgU2NyaXB0RXJyb3IoIk1PQ0sgY2xlYW4gdGVzdCBmYWlsdXJlIiksCisgICAgICAgIF0sIFsK
KyAgICAgICAgICAgICJmb28uaHRtbCIsCisgICAgICAgICAgICAiZm9vLmh0bWwiLAorICAgICAg
ICAgICAgImZvby5odG1sIiwKICAgICAgICAgXSkKKworICAgICAgICAjIFRlc3RzIGFsd2F5cyBm
YWlsLCBhbmQgYWx3YXlzIHJldHVybiB0aGUgc2FtZSByZXN1bHRzLCBidXQgd2UKKyAgICAgICAg
IyBzaG91bGQgc3RpbGwgYmUgYWJsZSB0byBsYW5kIGluIHRoaXMgY2FzZSEKKyAgICAgICAgZXhw
ZWN0ZWRfc3RkZXJyID0gIiIicnVuX3dlYmtpdF9wYXRjaDogWydjbGVhbiddCitjb21tYW5kX3Bh
c3NlZDogc3VjY2Vzc19tZXNzYWdlPSdDbGVhbmVkIHdvcmtpbmcgZGlyZWN0b3J5JyBwYXRjaD0n
MTk3JworcnVuX3dlYmtpdF9wYXRjaDogWyd1cGRhdGUnXQorY29tbWFuZF9wYXNzZWQ6IHN1Y2Nl
c3NfbWVzc2FnZT0nVXBkYXRlZCB3b3JraW5nIGRpcmVjdG9yeScgcGF0Y2g9JzE5NycKK3J1bl93
ZWJraXRfcGF0Y2g6IFsnYXBwbHktYXR0YWNobWVudCcsICctLW5vLXVwZGF0ZScsICctLW5vbi1p
bnRlcmFjdGl2ZScsIDE5N10KK2NvbW1hbmRfcGFzc2VkOiBzdWNjZXNzX21lc3NhZ2U9J0FwcGxp
ZWQgcGF0Y2gnIHBhdGNoPScxOTcnCitydW5fd2Via2l0X3BhdGNoOiBbJ2J1aWxkJywgJy0tbm8t
Y2xlYW4nLCAnLS1uby11cGRhdGUnLCAnLS1idWlsZC1zdHlsZT1ib3RoJ10KK2NvbW1hbmRfcGFz
c2VkOiBzdWNjZXNzX21lc3NhZ2U9J0J1aWx0IHBhdGNoJyBwYXRjaD0nMTk3JworcnVuX3dlYmtp
dF9wYXRjaDogWydidWlsZC1hbmQtdGVzdCcsICctLW5vLWNsZWFuJywgJy0tbm8tdXBkYXRlJywg
Jy0tdGVzdCcsICctLW5vbi1pbnRlcmFjdGl2ZSddCitjb21tYW5kX2ZhaWxlZDogZmFpbHVyZV9t
ZXNzYWdlPSdQYXRjaCBkb2VzIG5vdCBwYXNzIHRlc3RzJyBzY3JpcHRfZXJyb3I9J01PQ0sgdGVz
dCBmYWlsdXJlJyBwYXRjaD0nMTk3JworYXJjaGl2ZV9sYXN0X2xheW91dF90ZXN0X3Jlc3VsdHM6
IHBhdGNoPScxOTcnCitydW5fd2Via2l0X3BhdGNoOiBbJ2J1aWxkLWFuZC10ZXN0JywgJy0tbm8t
Y2xlYW4nLCAnLS1uby11cGRhdGUnLCAnLS10ZXN0JywgJy0tbm9uLWludGVyYWN0aXZlJ10KK2Nv
bW1hbmRfZmFpbGVkOiBmYWlsdXJlX21lc3NhZ2U9J1BhdGNoIGRvZXMgbm90IHBhc3MgdGVzdHMn
IHNjcmlwdF9lcnJvcj0nTU9DSyB0ZXN0IGZhaWx1cmUgYWdhaW4nIHBhdGNoPScxOTcnCithcmNo
aXZlX2xhc3RfbGF5b3V0X3Rlc3RfcmVzdWx0czogcGF0Y2g9JzE5NycKK3J1bl93ZWJraXRfcGF0
Y2g6IFsnYnVpbGQtYW5kLXRlc3QnLCAnLS1mb3JjZS1jbGVhbicsICctLW5vLXVwZGF0ZScsICct
LWJ1aWxkJywgJy0tdGVzdCcsICctLW5vbi1pbnRlcmFjdGl2ZSddCitjb21tYW5kX2ZhaWxlZDog
ZmFpbHVyZV9tZXNzYWdlPSdVbmFibGUgdG8gcGFzcyB0ZXN0cyB3aXRob3V0IHBhdGNoICh0cmVl
IGlzIHJlZD8pJyBzY3JpcHRfZXJyb3I9J01PQ0sgY2xlYW4gdGVzdCBmYWlsdXJlJyBwYXRjaD0n
MTk3JworcnVuX3dlYmtpdF9wYXRjaDogWydsYW5kLWF0dGFjaG1lbnQnLCAnLS1mb3JjZS1jbGVh
bicsICctLWlnbm9yZS1idWlsZGVycycsICctLW5vbi1pbnRlcmFjdGl2ZScsICctLXBhcmVudC1j
b21tYW5kPWNvbW1pdC1xdWV1ZScsIDE5N10KK2NvbW1hbmRfcGFzc2VkOiBzdWNjZXNzX21lc3Nh
Z2U9J0xhbmRlZCBwYXRjaCcgcGF0Y2g9JzE5NycKKyIiIgorICAgICAgICBzZWxmLl9ydW5fdGhy
b3VnaF90YXNrKGNvbW1pdF9xdWV1ZSwgZXhwZWN0ZWRfc3RkZXJyKQorCisgICAgZGVmIHRlc3Rf
dmVyeV9yZWRfdHJlZV9yZXRyeShzZWxmKToKKyAgICAgICAgbG90c19vZl9mYWlsaW5nX3Rlc3Rz
ID0gbWFwKGxhbWJkYSBudW06ICJ0ZXN0LSVzLmh0bWwiICUgbnVtLCByYW5nZSgwLCAxMDApKQor
ICAgICAgICBjb21taXRfcXVldWUgPSBGYWlsaW5nVGVzdENvbW1pdFF1ZXVlKFsKKyAgICAgICAg
ICAgIE5vbmUsCisgICAgICAgICAgICBOb25lLAorICAgICAgICAgICAgTm9uZSwKKyAgICAgICAg
ICAgIE5vbmUsCisgICAgICAgICAgICBTY3JpcHRFcnJvcigiTU9DSyB0ZXN0IGZhaWx1cmUiKSwK
KyAgICAgICAgICAgIFNjcmlwdEVycm9yKCJNT0NLIHRlc3QgZmFpbHVyZSBhZ2FpbiIpLAorICAg
ICAgICAgICAgU2NyaXB0RXJyb3IoIk1PQ0sgY2xlYW4gdGVzdCBmYWlsdXJlIiksCisgICAgICAg
IF0sIFsKKyAgICAgICAgICAgIGxvdHNfb2ZfZmFpbGluZ190ZXN0cywKKyAgICAgICAgICAgIGxv
dHNfb2ZfZmFpbGluZ190ZXN0cywKKyAgICAgICAgICAgIGxvdHNfb2ZfZmFpbGluZ190ZXN0cywK
KyAgICAgICAgXSkKKworICAgICAgICAjIFRlc3RzIGFsd2F5cyBmYWlsLCBhbmQgcmV0dXJuIHNv
IG1hbnkgZmFpbHVyZXMgdGhhdCB3ZSBkbyBub3QKKyAgICAgICAgIyB0cnVzdCB0aGUgcmVzdWx0
cyAoc2VlIEV4cGVjdGVkRmFpbHVyZXMuX2Nhbl90cnVzdF9yZXN1bHRzKSBzbyB3ZQorICAgICAg
ICAjIGp1c3QgZ2l2ZSB1cCBhbmQgcmV0cnkgdGhlIHBhdGNoLgogICAgICAgICBleHBlY3RlZF9z
dGRlcnIgPSAiIiJydW5fd2Via2l0X3BhdGNoOiBbJ2NsZWFuJ10KIGNvbW1hbmRfcGFzc2VkOiBz
dWNjZXNzX21lc3NhZ2U9J0NsZWFuZWQgd29ya2luZyBkaXJlY3RvcnknIHBhdGNoPScxOTcnCiBy
dW5fd2Via2l0X3BhdGNoOiBbJ3VwZGF0ZSddCkBAIC0zNTAsNiArNDA2LDQyIEBAIGNvbW1hbmRf
ZmFpbGVkOiBmYWlsdXJlX21lc3NhZ2U9J1VuYWJsZSB0byBwYXNzIHRlc3RzIHdpdGhvdXQgcGF0
Y2ggKHRyZWUgaXMgcmVkCiAiIiIKICAgICAgICAgc2VsZi5fcnVuX3Rocm91Z2hfdGFzayhjb21t
aXRfcXVldWUsIGV4cGVjdGVkX3N0ZGVyciwgZXhwZWN0X3JldHJ5PVRydWUpCiAKKyAgICBkZWYg
dGVzdF9yZWRfdHJlZV9wYXRjaF9yZWplY3Rpb24oc2VsZik6CisgICAgICAgIGNvbW1pdF9xdWV1
ZSA9IEZhaWxpbmdUZXN0Q29tbWl0UXVldWUoWworICAgICAgICAgICAgTm9uZSwKKyAgICAgICAg
ICAgIE5vbmUsCisgICAgICAgICAgICBOb25lLAorICAgICAgICAgICAgTm9uZSwKKyAgICAgICAg
ICAgIFNjcmlwdEVycm9yKCJNT0NLIHRlc3QgZmFpbHVyZSIpLAorICAgICAgICAgICAgU2NyaXB0
RXJyb3IoIk1PQ0sgdGVzdCBmYWlsdXJlIGFnYWluIiksCisgICAgICAgICAgICBTY3JpcHRFcnJv
cigiTU9DSyBjbGVhbiB0ZXN0IGZhaWx1cmUiKSwKKyAgICAgICAgXSwgWworICAgICAgICAgICAg
WyJmb28uaHRtbCIsICJiYXIuaHRtbCJdLAorICAgICAgICAgICAgWyJmb28uaHRtbCIsICJiYXIu
aHRtbCJdLAorICAgICAgICAgICAgWyJmb28uaHRtbCJdLAorICAgICAgICBdKQorCisgICAgICAg
ICMgVGVzdHMgYWx3YXlzIGZhaWwsIGJ1dCB0aGUgY2xlYW4gdHJlZSBvbmx5IGZhaWxzIG9uZSB0
ZXN0CisgICAgICAgICMgd2hpbGUgdGhlIHBhdGNoIGZhaWxzIHR3by4gIFNvIHdlIHNob3VsZCBy
ZWplY3QgdGhlIHBhdGNoIQorICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiIiJydW5fd2Via2l0
X3BhdGNoOiBbJ2NsZWFuJ10KK2NvbW1hbmRfcGFzc2VkOiBzdWNjZXNzX21lc3NhZ2U9J0NsZWFu
ZWQgd29ya2luZyBkaXJlY3RvcnknIHBhdGNoPScxOTcnCitydW5fd2Via2l0X3BhdGNoOiBbJ3Vw
ZGF0ZSddCitjb21tYW5kX3Bhc3NlZDogc3VjY2Vzc19tZXNzYWdlPSdVcGRhdGVkIHdvcmtpbmcg
ZGlyZWN0b3J5JyBwYXRjaD0nMTk3JworcnVuX3dlYmtpdF9wYXRjaDogWydhcHBseS1hdHRhY2ht
ZW50JywgJy0tbm8tdXBkYXRlJywgJy0tbm9uLWludGVyYWN0aXZlJywgMTk3XQorY29tbWFuZF9w
YXNzZWQ6IHN1Y2Nlc3NfbWVzc2FnZT0nQXBwbGllZCBwYXRjaCcgcGF0Y2g9JzE5NycKK3J1bl93
ZWJraXRfcGF0Y2g6IFsnYnVpbGQnLCAnLS1uby1jbGVhbicsICctLW5vLXVwZGF0ZScsICctLWJ1
aWxkLXN0eWxlPWJvdGgnXQorY29tbWFuZF9wYXNzZWQ6IHN1Y2Nlc3NfbWVzc2FnZT0nQnVpbHQg
cGF0Y2gnIHBhdGNoPScxOTcnCitydW5fd2Via2l0X3BhdGNoOiBbJ2J1aWxkLWFuZC10ZXN0Jywg
Jy0tbm8tY2xlYW4nLCAnLS1uby11cGRhdGUnLCAnLS10ZXN0JywgJy0tbm9uLWludGVyYWN0aXZl
J10KK2NvbW1hbmRfZmFpbGVkOiBmYWlsdXJlX21lc3NhZ2U9J1BhdGNoIGRvZXMgbm90IHBhc3Mg
dGVzdHMnIHNjcmlwdF9lcnJvcj0nTU9DSyB0ZXN0IGZhaWx1cmUnIHBhdGNoPScxOTcnCithcmNo
aXZlX2xhc3RfbGF5b3V0X3Rlc3RfcmVzdWx0czogcGF0Y2g9JzE5NycKK3J1bl93ZWJraXRfcGF0
Y2g6IFsnYnVpbGQtYW5kLXRlc3QnLCAnLS1uby1jbGVhbicsICctLW5vLXVwZGF0ZScsICctLXRl
c3QnLCAnLS1ub24taW50ZXJhY3RpdmUnXQorY29tbWFuZF9mYWlsZWQ6IGZhaWx1cmVfbWVzc2Fn
ZT0nUGF0Y2ggZG9lcyBub3QgcGFzcyB0ZXN0cycgc2NyaXB0X2Vycm9yPSdNT0NLIHRlc3QgZmFp
bHVyZSBhZ2FpbicgcGF0Y2g9JzE5NycKK2FyY2hpdmVfbGFzdF9sYXlvdXRfdGVzdF9yZXN1bHRz
OiBwYXRjaD0nMTk3JworcnVuX3dlYmtpdF9wYXRjaDogWydidWlsZC1hbmQtdGVzdCcsICctLWZv
cmNlLWNsZWFuJywgJy0tbm8tdXBkYXRlJywgJy0tYnVpbGQnLCAnLS10ZXN0JywgJy0tbm9uLWlu
dGVyYWN0aXZlJ10KK2NvbW1hbmRfZmFpbGVkOiBmYWlsdXJlX21lc3NhZ2U9J1VuYWJsZSB0byBw
YXNzIHRlc3RzIHdpdGhvdXQgcGF0Y2ggKHRyZWUgaXMgcmVkPyknIHNjcmlwdF9lcnJvcj0nTU9D
SyBjbGVhbiB0ZXN0IGZhaWx1cmUnIHBhdGNoPScxOTcnCisiIiIKKyAgICAgICAgc2VsZi5fcnVu
X3Rocm91Z2hfdGFzayhjb21taXRfcXVldWUsIGV4cGVjdGVkX3N0ZGVyciwgU2NyaXB0RXJyb3Ip
CisKICAgICBkZWYgdGVzdF9sYW5kX2ZhaWx1cmUoc2VsZik6CiAgICAgICAgIGNvbW1pdF9xdWV1
ZSA9IE1vY2tDb21taXRRdWV1ZShbCiAgICAgICAgICAgICBOb25lLApkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9leHBlY3RlZGZhaWx1cmVzLnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9leHBlY3RlZGZhaWx1cmVzLnB5CmluZGV4IDQxNTlh
MWRiYWZkNjkwZGExN2NmZTQ1YmFjMmRkMDdlOWZlNzgyNjguLjBlMGVkNjc0ZjUyNmIzNDkyMzdk
ZDg4ZjI0YTU3MWVhZDViZjNlOGYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dG9vbC9ib3QvZXhwZWN0ZWRmYWlsdXJlcy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvYm90L2V4cGVjdGVkZmFpbHVyZXMucHkKQEAgLTM0LDcgKzM0LDcgQEAgY2xhc3MgRXhw
ZWN0ZWRGYWlsdXJlcyhvYmplY3QpOgogICAgIGRlZiBfY2FuX3RydXN0X3Jlc3VsdHMoc2VsZiwg
cmVzdWx0cyk6CiAgICAgICAgIGlmIG5vdCByZXN1bHRzIG9yIG5vdCByZXN1bHRzLmZhaWx1cmVf
bGltaXRfY291bnQoKToKICAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgICAgICByZXR1cm4g
bGVuKHJlc3VsdHMuZmFpbGluZ190ZXN0cygpKSAhPSAwIGFuZCBsZW4ocmVzdWx0cy5mYWlsaW5n
X3Rlc3RzKCkpICE9IHJlc3VsdHMuZmFpbHVyZV9saW1pdF9jb3VudCgpCisgICAgICAgIHJldHVy
biBsZW4ocmVzdWx0cy5mYWlsaW5nX3Rlc3RzKCkpICE9IDAgYW5kIGxlbihyZXN1bHRzLmZhaWxp
bmdfdGVzdHMoKSkgPCByZXN1bHRzLmZhaWx1cmVfbGltaXRfY291bnQoKQogCiAgICAgZGVmIGZh
aWx1cmVzX3dlcmVfZXhwZWN0ZWQoc2VsZiwgcmVzdWx0cyk6CiAgICAgICAgIGlmIG5vdCBzZWxm
Ll9jYW5fdHJ1c3RfcmVzdWx0cyhyZXN1bHRzKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9ib3QvZXhwZWN0ZWRmYWlsdXJlc191bml0dGVzdC5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvZXhwZWN0ZWRmYWlsdXJlc191bml0dGVzdC5weQppbmRl
eCBmNzM3ZWQ5ZGRiNjMxZjA0MmM4NWYwNTVmMmFlNTQ2Nzg0N2EyYjViLi5jMjFiMmI5NjE3MTYy
YTczYTk3Y2Q4ZDQ1NjMxNzc3NTc0OGIwYTk4IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvYm90L2V4cGVjdGVkZmFpbHVyZXNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9leHBlY3RlZGZhaWx1cmVzX3VuaXR0ZXN0LnB5CkBA
IC01NCw2ICs1NCw3IEBAIGNsYXNzIEV4cGVjdGVkRmFpbHVyZXNUZXN0KHVuaXR0ZXN0LlRlc3RD
YXNlKToKICAgICAgICAgc2VsZi5fYXNzZXJ0X2Nhbl90cnVzdChNb2NrUmVzdWx0cyhmYWlsaW5n
X3Rlc3RzPVsxXSwgZmFpbHVyZV9saW1pdD1Ob25lKSwgRmFsc2UpCiAgICAgICAgIHNlbGYuX2Fz
c2VydF9jYW5fdHJ1c3QoTW9ja1Jlc3VsdHMoZmFpbGluZ190ZXN0cz1bMV0sIGZhaWx1cmVfbGlt
aXQ9MiksIFRydWUpCiAgICAgICAgIHNlbGYuX2Fzc2VydF9jYW5fdHJ1c3QoTW9ja1Jlc3VsdHMo
ZmFpbGluZ190ZXN0cz1bMV0sIGZhaWx1cmVfbGltaXQ9MSksIEZhbHNlKQorICAgICAgICBzZWxm
Ll9hc3NlcnRfY2FuX3RydXN0KE1vY2tSZXN1bHRzKGZhaWxpbmdfdGVzdHM9WzEsIDJdLCBmYWls
dXJlX2xpbWl0PTEpLCBGYWxzZSkKIAogICAgIGRlZiBfYXNzZXJ0X2V4cGVjdGVkKHNlbGYsIGV4
cGVjdGVkX2ZhaWx1cmVzLCBmYWlsdXJlcywgZXhwZWN0ZWQpOgogICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKGV4cGVjdGVkX2ZhaWx1cmVzLmZhaWx1cmVzX3dlcmVfZXhwZWN0ZWQoTW9ja1Jlc3Vs
dHMoZmFpbHVyZXMpKSwgZXhwZWN0ZWQpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvYm90L3BhdGNoYW5hbHlzaXN0YXNrLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL2JvdC9wYXRjaGFuYWx5c2lzdGFzay5weQppbmRleCBjMjAyZDI0OTY2ZWM2OGJjNDQ2
ZWJjNWM5YTkwNDVjNGE1OGFlM2RmLi4zNTMyMDdhNTE5NzQ3YmQ4MzA2MTJjODQxMGZkNDY3NmVk
ZGQ2MmU2IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L3BhdGNo
YW5hbHlzaXN0YXNrLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvcGF0
Y2hhbmFseXNpc3Rhc2sucHkKQEAgLTIxMyw3ICsyMTMsMTggQEAgY2xhc3MgUGF0Y2hBbmFseXNp
c1Rhc2sob2JqZWN0KToKICAgICAgICAgY2xlYW5fdHJlZV9yZXN1bHRzID0gc2VsZi5fZGVsZWdh
dGUubGF5b3V0X3Rlc3RfcmVzdWx0cygpCiAgICAgICAgIHNlbGYuX2V4cGVjdGVkX2ZhaWx1cmVz
Lmdyb3dfZXhwZWN0ZWRfZmFpbHVyZXMoY2xlYW5fdHJlZV9yZXN1bHRzKQogCi0gICAgICAgIHJl
dHVybiBGYWxzZSAgIyBUcmVlIG11c3QgYmUgcmVkZGVyIHRoYW4gd2UgZXhwZWN0ZWQsIGp1c3Qg
cmV0cnkgbGF0ZXIuCisgICAgICAgICMgUmUtY2hlY2sgaWYgdGhlIG9yaWdpbmFsIHJlc3VsdHMg
YXJlIG5vdyB0byBiZSBleHBlY3RlZCB0byBhdm9pZCBhIGZ1bGwgcmUtdHJ5LgorICAgICAgICBp
ZiBzZWxmLl9leHBlY3RlZF9mYWlsdXJlcy5mYWlsdXJlc193ZXJlX2V4cGVjdGVkKGZpcnN0X3Jl
c3VsdHMpOgorICAgICAgICAgICAgcmV0dXJuIFRydWUKKworICAgICAgICAjIE5vdyB0aGF0IHdl
IGhhdmUgdXBkYXRlZCBpbmZvcm1hdGlvbiBhYm91dCBmYWlsaW5nIHRlc3RzIHdpdGggYSBjbGVh
biBjaGVja291dCwgd2UgY2FuCisgICAgICAgICMgdGVsbCBpZiBvdXIgb3JpZ2luYWwgZmFpbHVy
ZXMgd2VyZSB1bmV4cGVjdGVkIGFuZCBmYWlsIHRoZSBwYXRjaCBpZiBuZWNlc3NhcnkuCisgICAg
ICAgIGlmIHNlbGYuX2V4cGVjdGVkX2ZhaWx1cmVzLnVuZXhwZWN0ZWRfZmFpbHVyZXMoZmlyc3Rf
cmVzdWx0cyk6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5yZXBvcnRfZmFpbHVyZShmaXJzdF9y
ZXN1bHRzX2FyY2hpdmUpCisKKyAgICAgICAgIyBXZSBkb24ndCBrbm93IHdoYXQncyBnb2luZyBv
bi4gIFRoZSB0cmVlIGlzIGxpa2VseSB2ZXJ5IHJlZCAoYmV5b25kIG91ciBsYXlvdXQtdGVzdC1y
ZXN1bHRzCisgICAgICAgICMgZmFpbHVyZSBsaW1pdCksIGp1c3Qga2VlcCByZXRyeWluZyB0aGUg
cGF0Y2guIHVudGlsIHNvbWVvbmUgZml4ZXMgdGhlIHRyZWUuCisgICAgICAgIHJldHVybiBGYWxz
ZQogCiAgICAgZGVmIHJlc3VsdHNfYXJjaGl2ZV9mcm9tX3BhdGNoX3Rlc3RfcnVuKHNlbGYsIHBh
dGNoKToKICAgICAgICAgYXNzZXJ0KHNlbGYuX3BhdGNoLmlkKCkgPT0gcGF0Y2guaWQoKSkgICMg
UGF0Y2hBbmFseXNpc1Rhc2sgaXMgbm90IGN1cnJlbnRseSByZS11c2VhYmxlLgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91892</attachid>
            <date>2011-05-02 00:47:36 -0700</date>
            <delta_ts>2011-05-02 00:47:36 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-59279-20110502004735.patch</filename>
            <type>text/plain</type>
            <size>13416</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODU0NjEKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkNjhhM2JkMzUwN2RhMWY1MGIxYmMyODUwNWY5ZWY0ODI1
Mzk5MWI3Li5kMWRiMTM3ZDYzYmM5YjQ1ZTUxYmJlYTE3Njc1ZjM5ZTAxM2NkN2E1IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcg
QEAKKzIwMTEtMDUtMDEgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgVGhlIGJvdHMgc2hvdWxkIGxlYXJu
IGZyb20gZXhwZWN0ZWQgZmFpbHVyZXMgd2l0aG91dCBoYXZpbmcgdG8gcmV0cnkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5Mjc5CisKKyAgICAgICAg
UmF0aGVyIHRoYW4gcmUtdHJ5aW5nIHRoZSB3aG9sZSBwYXRjaCwgd2UgY2FuIGp1c3QgY2hlY2sg
d2hldGhlciB3ZSBub3cKKyAgICAgICAgZXhwZWN0IHRoZSBmYWlsdXJlcyB3ZSBzZWUgd2l0aCB0
aGUgcGF0Y2ggYXBwbGllZCwgc2F2aW5nIGEgbG90IG9mIHRpbWUuCisKKyAgICAgICAgVGhpcyBw
YXRjaCBhbHNvIHRlYWNoZXMgdGhlIENvbW1pdFF1ZXVlIGhvdyB0byByZWplY3QgcGF0Y2hlcyBl
dmVuCisgICAgICAgIHdoZW4gdGhlIHRyZWUgaXMgcmVkIHVzaW5nIHRoZSBuZXcgdW5leHBlY3Rl
ZF9mYWlsdXJlcygpIG1ldGhvZCBvbgorICAgICAgICBFeHBlY3RlZEZhaWx1cmVzLgorCisgICAg
ICAgIEZpbmFsbHkgaW4gdGVzdGluZyB3ZSBmb3VuZCBhIGJ1ZyBpbiBFeHBlY3RlZEZhaWx1cmVz
IHdoZXJlIGl0IHdvdWxkCisgICAgICAgICJ0cnVzdCIgcmVzdWx0cyB3aGljaCBoYWQgbWFueSBt
YW55IGZhaWx1cmVzLCBkdWUgdG8gdXNpbmcgYW4KKyAgICAgICAgZXF1YWwgc2lnbiBpbnN0ZWFk
IG9mIGEgbGVzcy10aGFuIHNpZ24uCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wv
Ym90L2NvbW1pdHF1ZXVldGFza191bml0dGVzdC5weQorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvdG9vbC9ib3QvZXhwZWN0ZWRmYWlsdXJlcy5weQorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvdG9vbC9ib3QvZXhwZWN0ZWRmYWlsdXJlc191bml0dGVzdC5weQorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvdG9vbC9ib3QvcGF0Y2hhbmFseXNpc3Rhc2sucHkKKworCiAyMDExLTA1LTAx
ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIHVuYWR2
ZXJ0YW50bHkgYWRkZWQgZmlsZS4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dG9vbC9ib3QvY29tbWl0cXVldWV0YXNrX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS90b29sL2JvdC9jb21taXRxdWV1ZXRhc2tfdW5pdHRlc3QucHkKaW5kZXggNzg5YjNmMTE2
ODlhMTM3ZDk0MjBhZDMyNWM3ODI0NzM4MTRmYzViZS4uNDJjYzY0MDRlMDllNzJlNTNjNGZlOWFj
ZjNiOTcwZjAyMmIwZjg1MCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29s
L2JvdC9jb21taXRxdWV1ZXRhc2tfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS90b29sL2JvdC9jb21taXRxdWV1ZXRhc2tfdW5pdHRlc3QucHkKQEAgLTgyLDYgKzgyLDMw
IEBAIGNsYXNzIE1vY2tDb21taXRRdWV1ZShDb21taXRRdWV1ZVRhc2tEZWxlZ2F0ZSk6CiAgICAg
ICAgIHJldHVybiBhcmNoaXZlCiAKIAorY2xhc3MgRmFpbGluZ1Rlc3RDb21taXRRdWV1ZShNb2Nr
Q29tbWl0UXVldWUpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBlcnJvcl9wbGFuLCB0ZXN0X2Zh
aWx1cmVfcGxhbik6CisgICAgICAgIE1vY2tDb21taXRRdWV1ZS5fX2luaXRfXyhzZWxmLCBlcnJv
cl9wbGFuKQorICAgICAgICBzZWxmLl90ZXN0X3J1bl9jb3VudGVyID0gLTEgICMgU3BlY2lhbCB2
YWx1ZSB0byBpbmRpY2F0ZSB0ZXN0cyBoYXZlIG5ldmVyIGJlZW4gcnVuLgorICAgICAgICBzZWxm
Ll90ZXN0X2ZhaWx1cmVfcGxhbiA9IHRlc3RfZmFpbHVyZV9wbGFuCisKKyAgICBkZWYgcnVuX2Nv
bW1hbmQoc2VsZiwgY29tbWFuZCk6CisgICAgICAgIGlmIGNvbW1hbmRbMF0gPT0gImJ1aWxkLWFu
ZC10ZXN0IjoKKyAgICAgICAgICAgIHNlbGYuX3Rlc3RfcnVuX2NvdW50ZXIgKz0gMQorICAgICAg
ICBNb2NrQ29tbWl0UXVldWUucnVuX2NvbW1hbmQoc2VsZiwgY29tbWFuZCkKKworICAgIGRlZiBf
bW9ja190ZXN0X3Jlc3VsdChzZWxmLCB0ZXN0bmFtZSk6CisgICAgICAgIHJldHVybiB0ZXN0X3Jl
c3VsdHMuVGVzdFJlc3VsdCh0ZXN0bmFtZSwgW3Rlc3RfZmFpbHVyZXMuRmFpbHVyZVRleHRNaXNt
YXRjaCgpXSkKKworICAgIGRlZiBsYXlvdXRfdGVzdF9yZXN1bHRzKHNlbGYpOgorICAgICAgICAj
IERvZXNuJ3QgbWFrZSBzZW5zZSB0byBhc2sgZm9yIHRoZSBsYXlvdXRfdGVzdF9yZXN1bHRzIHVu
dGlsIHRoZSB0ZXN0cyBoYXZlIHJ1biBhdCBsZWFzdCBvbmNlLgorICAgICAgICBhc3NlcnQoc2Vs
Zi5fdGVzdF9ydW5fY291bnRlciA+PSAwKQorICAgICAgICBmYWlsdXJlc19mb3JfcnVuID0gc2Vs
Zi5fdGVzdF9mYWlsdXJlX3BsYW5bc2VsZi5fdGVzdF9ydW5fY291bnRlcl0KKyAgICAgICAgcmVz
dWx0cyA9IExheW91dFRlc3RSZXN1bHRzKG1hcChzZWxmLl9tb2NrX3Rlc3RfcmVzdWx0LCBmYWls
dXJlc19mb3JfcnVuKSkKKyAgICAgICAgIyBUaGlzIG1ha2VzIHRoZSByZXN1bHRzIHRydXN0YWJs
ZSBieSBFeHBlY3RlZEZhaWx1cmVzLgorICAgICAgICByZXN1bHRzLnNldF9mYWlsdXJlX2xpbWl0
X2NvdW50KDEwKQorICAgICAgICByZXR1cm4gcmVzdWx0cworCisKIGNsYXNzIENvbW1pdFF1ZXVl
VGFza1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBfcnVuX3Rocm91Z2hfdGFzayhz
ZWxmLCBjb21taXRfcXVldWUsIGV4cGVjdGVkX3N0ZGVyciwgZXhwZWN0ZWRfZXhjZXB0aW9uPU5v
bmUsIGV4cGVjdF9yZXRyeT1GYWxzZSk6CiAgICAgICAgIHRvb2wgPSBNb2NrVG9vbChsb2dfZXhl
Y3V0aXZlPVRydWUpCkBAIC0yNDUsMzAgKzI2OSwxNyBAQCBjb21tYW5kX3Bhc3NlZDogc3VjY2Vz
c19tZXNzYWdlPSdMYW5kZWQgcGF0Y2gnIHBhdGNoPScxOTcnCiAgICAgICAgIHNlbGYuX3J1bl90
aHJvdWdoX3Rhc2soY29tbWl0X3F1ZXVlLCBleHBlY3RlZF9zdGRlcnIpCiAKICAgICBkZWYgdGVz
dF9kb3VibGVfZmxha3lfdGVzdF9mYWlsdXJlKHNlbGYpOgotICAgICAgICBjbGFzcyBEb3VibGVG
bGFreUNvbW1pdFF1ZXVlKE1vY2tDb21taXRRdWV1ZSk6Ci0gICAgICAgICAgICBkZWYgX19pbml0
X18oc2VsZiwgZXJyb3JfcGxhbik6Ci0gICAgICAgICAgICAgICAgTW9ja0NvbW1pdFF1ZXVlLl9f
aW5pdF9fKHNlbGYsIGVycm9yX3BsYW4pCi0gICAgICAgICAgICAgICAgc2VsZi5fZG91YmxlX2Zs
YWt5X3Rlc3RfY291bnRlciA9IDAKLQotICAgICAgICAgICAgZGVmIHJ1bl9jb21tYW5kKHNlbGYs
IGNvbW1hbmQpOgotICAgICAgICAgICAgICAgIHNlbGYuX2RvdWJsZV9mbGFreV90ZXN0X2NvdW50
ZXIgKz0gMQotICAgICAgICAgICAgICAgIE1vY2tDb21taXRRdWV1ZS5ydW5fY29tbWFuZChzZWxm
LCBjb21tYW5kKQotCi0gICAgICAgICAgICBkZWYgX21vY2tfdGVzdF9yZXN1bHQoc2VsZiwgdGVz
dG5hbWUpOgotICAgICAgICAgICAgICAgIHJldHVybiB0ZXN0X3Jlc3VsdHMuVGVzdFJlc3VsdCh0
ZXN0bmFtZSwgW3Rlc3RfZmFpbHVyZXMuRmFpbHVyZVRleHRNaXNtYXRjaCgpXSkKLQotICAgICAg
ICAgICAgZGVmIGxheW91dF90ZXN0X3Jlc3VsdHMoc2VsZik6Ci0gICAgICAgICAgICAgICAgaWYg
c2VsZi5fZG91YmxlX2ZsYWt5X3Rlc3RfY291bnRlciAlIDI6Ci0gICAgICAgICAgICAgICAgICAg
IHJldHVybiBMYXlvdXRUZXN0UmVzdWx0cyhbc2VsZi5fbW9ja190ZXN0X3Jlc3VsdCgnZm9vLmh0
bWwnKV0pCi0gICAgICAgICAgICAgICAgcmV0dXJuIExheW91dFRlc3RSZXN1bHRzKFtzZWxmLl9t
b2NrX3Rlc3RfcmVzdWx0KCdiYXIuaHRtbCcpXSkKLQotICAgICAgICBjb21taXRfcXVldWUgPSBE
b3VibGVGbGFreUNvbW1pdFF1ZXVlKFsKKyAgICAgICAgY29tbWl0X3F1ZXVlID0gRmFpbGluZ1Rl
c3RDb21taXRRdWV1ZShbCiAgICAgICAgICAgICBOb25lLAogICAgICAgICAgICAgTm9uZSwKICAg
ICAgICAgICAgIE5vbmUsCiAgICAgICAgICAgICBOb25lLAogICAgICAgICAgICAgU2NyaXB0RXJy
b3IoIk1PQ0sgdGVzdCBmYWlsdXJlIiksCiAgICAgICAgICAgICBTY3JpcHRFcnJvcigiTU9DSyB0
ZXN0IGZhaWx1cmUgYWdhaW4iKSwKKyAgICAgICAgXSwgWworICAgICAgICAgICAgImZvby5odG1s
IiwKKyAgICAgICAgICAgICJiYXIuaHRtbCIsCisgICAgICAgICAgICAiZm9vLmh0bWwiLAogICAg
ICAgICBdKQogICAgICAgICAjIFRoZSAoc3VidGxlKSBwb2ludCBvZiB0aGlzIHRlc3QgaXMgdGhh
dCByZXBvcnRfZmxha3lfdGVzdHMgZG9lcyBub3QgYXBwZWFyCiAgICAgICAgICMgaW4gdGhlIGV4
cGVjdGVkX3N0ZGVyciBmb3IgdGhpcyBydW4uCkBAIC0zMjIsNyArMzMzLDcgQEAgY29tbWFuZF9w
YXNzZWQ6IHN1Y2Nlc3NfbWVzc2FnZT0nQWJsZSB0byBwYXNzIHRlc3RzIHdpdGhvdXQgcGF0Y2gn
IHBhdGNoPScxOTcnCiAgICAgICAgIHNlbGYuX3J1bl90aHJvdWdoX3Rhc2soY29tbWl0X3F1ZXVl
LCBleHBlY3RlZF9zdGRlcnIsIFNjcmlwdEVycm9yKQogCiAgICAgZGVmIHRlc3RfcmVkX3Rlc3Rf
ZmFpbHVyZShzZWxmKToKLSAgICAgICAgY29tbWl0X3F1ZXVlID0gTW9ja0NvbW1pdFF1ZXVlKFsK
KyAgICAgICAgY29tbWl0X3F1ZXVlID0gRmFpbGluZ1Rlc3RDb21taXRRdWV1ZShbCiAgICAgICAg
ICAgICBOb25lLAogICAgICAgICAgICAgTm9uZSwKICAgICAgICAgICAgIE5vbmUsCkBAIC0zMzAs
NyArMzQxLDU0IEBAIGNvbW1hbmRfcGFzc2VkOiBzdWNjZXNzX21lc3NhZ2U9J0FibGUgdG8gcGFz
cyB0ZXN0cyB3aXRob3V0IHBhdGNoJyBwYXRjaD0nMTk3JwogICAgICAgICAgICAgU2NyaXB0RXJy
b3IoIk1PQ0sgdGVzdCBmYWlsdXJlIiksCiAgICAgICAgICAgICBTY3JpcHRFcnJvcigiTU9DSyB0
ZXN0IGZhaWx1cmUgYWdhaW4iKSwKICAgICAgICAgICAgIFNjcmlwdEVycm9yKCJNT0NLIGNsZWFu
IHRlc3QgZmFpbHVyZSIpLAorICAgICAgICBdLCBbCisgICAgICAgICAgICAiZm9vLmh0bWwiLAor
ICAgICAgICAgICAgImZvby5odG1sIiwKKyAgICAgICAgICAgICJmb28uaHRtbCIsCiAgICAgICAg
IF0pCisKKyAgICAgICAgIyBUZXN0cyBhbHdheXMgZmFpbCwgYW5kIGFsd2F5cyByZXR1cm4gdGhl
IHNhbWUgcmVzdWx0cywgYnV0IHdlCisgICAgICAgICMgc2hvdWxkIHN0aWxsIGJlIGFibGUgdG8g
bGFuZCBpbiB0aGlzIGNhc2UhCisgICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICIiInJ1bl93ZWJr
aXRfcGF0Y2g6IFsnY2xlYW4nXQorY29tbWFuZF9wYXNzZWQ6IHN1Y2Nlc3NfbWVzc2FnZT0nQ2xl
YW5lZCB3b3JraW5nIGRpcmVjdG9yeScgcGF0Y2g9JzE5NycKK3J1bl93ZWJraXRfcGF0Y2g6IFsn
dXBkYXRlJ10KK2NvbW1hbmRfcGFzc2VkOiBzdWNjZXNzX21lc3NhZ2U9J1VwZGF0ZWQgd29ya2lu
ZyBkaXJlY3RvcnknIHBhdGNoPScxOTcnCitydW5fd2Via2l0X3BhdGNoOiBbJ2FwcGx5LWF0dGFj
aG1lbnQnLCAnLS1uby11cGRhdGUnLCAnLS1ub24taW50ZXJhY3RpdmUnLCAxOTddCitjb21tYW5k
X3Bhc3NlZDogc3VjY2Vzc19tZXNzYWdlPSdBcHBsaWVkIHBhdGNoJyBwYXRjaD0nMTk3JworcnVu
X3dlYmtpdF9wYXRjaDogWydidWlsZCcsICctLW5vLWNsZWFuJywgJy0tbm8tdXBkYXRlJywgJy0t
YnVpbGQtc3R5bGU9Ym90aCddCitjb21tYW5kX3Bhc3NlZDogc3VjY2Vzc19tZXNzYWdlPSdCdWls
dCBwYXRjaCcgcGF0Y2g9JzE5NycKK3J1bl93ZWJraXRfcGF0Y2g6IFsnYnVpbGQtYW5kLXRlc3Qn
LCAnLS1uby1jbGVhbicsICctLW5vLXVwZGF0ZScsICctLXRlc3QnLCAnLS1ub24taW50ZXJhY3Rp
dmUnXQorY29tbWFuZF9mYWlsZWQ6IGZhaWx1cmVfbWVzc2FnZT0nUGF0Y2ggZG9lcyBub3QgcGFz
cyB0ZXN0cycgc2NyaXB0X2Vycm9yPSdNT0NLIHRlc3QgZmFpbHVyZScgcGF0Y2g9JzE5NycKK2Fy
Y2hpdmVfbGFzdF9sYXlvdXRfdGVzdF9yZXN1bHRzOiBwYXRjaD0nMTk3JworcnVuX3dlYmtpdF9w
YXRjaDogWydidWlsZC1hbmQtdGVzdCcsICctLW5vLWNsZWFuJywgJy0tbm8tdXBkYXRlJywgJy0t
dGVzdCcsICctLW5vbi1pbnRlcmFjdGl2ZSddCitjb21tYW5kX2ZhaWxlZDogZmFpbHVyZV9tZXNz
YWdlPSdQYXRjaCBkb2VzIG5vdCBwYXNzIHRlc3RzJyBzY3JpcHRfZXJyb3I9J01PQ0sgdGVzdCBm
YWlsdXJlIGFnYWluJyBwYXRjaD0nMTk3JworYXJjaGl2ZV9sYXN0X2xheW91dF90ZXN0X3Jlc3Vs
dHM6IHBhdGNoPScxOTcnCitydW5fd2Via2l0X3BhdGNoOiBbJ2J1aWxkLWFuZC10ZXN0JywgJy0t
Zm9yY2UtY2xlYW4nLCAnLS1uby11cGRhdGUnLCAnLS1idWlsZCcsICctLXRlc3QnLCAnLS1ub24t
aW50ZXJhY3RpdmUnXQorY29tbWFuZF9mYWlsZWQ6IGZhaWx1cmVfbWVzc2FnZT0nVW5hYmxlIHRv
IHBhc3MgdGVzdHMgd2l0aG91dCBwYXRjaCAodHJlZSBpcyByZWQ/KScgc2NyaXB0X2Vycm9yPSdN
T0NLIGNsZWFuIHRlc3QgZmFpbHVyZScgcGF0Y2g9JzE5NycKK3J1bl93ZWJraXRfcGF0Y2g6IFsn
bGFuZC1hdHRhY2htZW50JywgJy0tZm9yY2UtY2xlYW4nLCAnLS1pZ25vcmUtYnVpbGRlcnMnLCAn
LS1ub24taW50ZXJhY3RpdmUnLCAnLS1wYXJlbnQtY29tbWFuZD1jb21taXQtcXVldWUnLCAxOTdd
Citjb21tYW5kX3Bhc3NlZDogc3VjY2Vzc19tZXNzYWdlPSdMYW5kZWQgcGF0Y2gnIHBhdGNoPScx
OTcnCisiIiIKKyAgICAgICAgc2VsZi5fcnVuX3Rocm91Z2hfdGFzayhjb21taXRfcXVldWUsIGV4
cGVjdGVkX3N0ZGVycikKKworICAgIGRlZiB0ZXN0X3ZlcnlfcmVkX3RyZWVfcmV0cnkoc2VsZik6
CisgICAgICAgIGxvdHNfb2ZfZmFpbGluZ190ZXN0cyA9IG1hcChsYW1iZGEgbnVtOiAidGVzdC0l
cy5odG1sIiAlIG51bSwgcmFuZ2UoMCwgMTAwKSkKKyAgICAgICAgY29tbWl0X3F1ZXVlID0gRmFp
bGluZ1Rlc3RDb21taXRRdWV1ZShbCisgICAgICAgICAgICBOb25lLAorICAgICAgICAgICAgTm9u
ZSwKKyAgICAgICAgICAgIE5vbmUsCisgICAgICAgICAgICBOb25lLAorICAgICAgICAgICAgU2Ny
aXB0RXJyb3IoIk1PQ0sgdGVzdCBmYWlsdXJlIiksCisgICAgICAgICAgICBTY3JpcHRFcnJvcigi
TU9DSyB0ZXN0IGZhaWx1cmUgYWdhaW4iKSwKKyAgICAgICAgICAgIFNjcmlwdEVycm9yKCJNT0NL
IGNsZWFuIHRlc3QgZmFpbHVyZSIpLAorICAgICAgICBdLCBbCisgICAgICAgICAgICBsb3RzX29m
X2ZhaWxpbmdfdGVzdHMsCisgICAgICAgICAgICBsb3RzX29mX2ZhaWxpbmdfdGVzdHMsCisgICAg
ICAgICAgICBsb3RzX29mX2ZhaWxpbmdfdGVzdHMsCisgICAgICAgIF0pCisKKyAgICAgICAgIyBU
ZXN0cyBhbHdheXMgZmFpbCwgYW5kIHJldHVybiBzbyBtYW55IGZhaWx1cmVzIHRoYXQgd2UgZG8g
bm90CisgICAgICAgICMgdHJ1c3QgdGhlIHJlc3VsdHMgKHNlZSBFeHBlY3RlZEZhaWx1cmVzLl9j
YW5fdHJ1c3RfcmVzdWx0cykgc28gd2UKKyAgICAgICAgIyBqdXN0IGdpdmUgdXAgYW5kIHJldHJ5
IHRoZSBwYXRjaC4KICAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIiIicnVuX3dlYmtpdF9wYXRj
aDogWydjbGVhbiddCiBjb21tYW5kX3Bhc3NlZDogc3VjY2Vzc19tZXNzYWdlPSdDbGVhbmVkIHdv
cmtpbmcgZGlyZWN0b3J5JyBwYXRjaD0nMTk3JwogcnVuX3dlYmtpdF9wYXRjaDogWyd1cGRhdGUn
XQpAQCAtMzUwLDYgKzQwOCw0MiBAQCBjb21tYW5kX2ZhaWxlZDogZmFpbHVyZV9tZXNzYWdlPSdV
bmFibGUgdG8gcGFzcyB0ZXN0cyB3aXRob3V0IHBhdGNoICh0cmVlIGlzIHJlZAogIiIiCiAgICAg
ICAgIHNlbGYuX3J1bl90aHJvdWdoX3Rhc2soY29tbWl0X3F1ZXVlLCBleHBlY3RlZF9zdGRlcnIs
IGV4cGVjdF9yZXRyeT1UcnVlKQogCisgICAgZGVmIHRlc3RfcmVkX3RyZWVfcGF0Y2hfcmVqZWN0
aW9uKHNlbGYpOgorICAgICAgICBjb21taXRfcXVldWUgPSBGYWlsaW5nVGVzdENvbW1pdFF1ZXVl
KFsKKyAgICAgICAgICAgIE5vbmUsCisgICAgICAgICAgICBOb25lLAorICAgICAgICAgICAgTm9u
ZSwKKyAgICAgICAgICAgIE5vbmUsCisgICAgICAgICAgICBTY3JpcHRFcnJvcigiTU9DSyB0ZXN0
IGZhaWx1cmUiKSwKKyAgICAgICAgICAgIFNjcmlwdEVycm9yKCJNT0NLIHRlc3QgZmFpbHVyZSBh
Z2FpbiIpLAorICAgICAgICAgICAgU2NyaXB0RXJyb3IoIk1PQ0sgY2xlYW4gdGVzdCBmYWlsdXJl
IiksCisgICAgICAgIF0sIFsKKyAgICAgICAgICAgIFsiZm9vLmh0bWwiLCAiYmFyLmh0bWwiXSwK
KyAgICAgICAgICAgIFsiZm9vLmh0bWwiLCAiYmFyLmh0bWwiXSwKKyAgICAgICAgICAgIFsiZm9v
Lmh0bWwiXSwKKyAgICAgICAgXSkKKworICAgICAgICAjIFRlc3RzIGFsd2F5cyBmYWlsLCBidXQg
dGhlIGNsZWFuIHRyZWUgb25seSBmYWlscyBvbmUgdGVzdAorICAgICAgICAjIHdoaWxlIHRoZSBw
YXRjaCBmYWlscyB0d28uICBTbyB3ZSBzaG91bGQgcmVqZWN0IHRoZSBwYXRjaCEKKyAgICAgICAg
ZXhwZWN0ZWRfc3RkZXJyID0gIiIicnVuX3dlYmtpdF9wYXRjaDogWydjbGVhbiddCitjb21tYW5k
X3Bhc3NlZDogc3VjY2Vzc19tZXNzYWdlPSdDbGVhbmVkIHdvcmtpbmcgZGlyZWN0b3J5JyBwYXRj
aD0nMTk3JworcnVuX3dlYmtpdF9wYXRjaDogWyd1cGRhdGUnXQorY29tbWFuZF9wYXNzZWQ6IHN1
Y2Nlc3NfbWVzc2FnZT0nVXBkYXRlZCB3b3JraW5nIGRpcmVjdG9yeScgcGF0Y2g9JzE5NycKK3J1
bl93ZWJraXRfcGF0Y2g6IFsnYXBwbHktYXR0YWNobWVudCcsICctLW5vLXVwZGF0ZScsICctLW5v
bi1pbnRlcmFjdGl2ZScsIDE5N10KK2NvbW1hbmRfcGFzc2VkOiBzdWNjZXNzX21lc3NhZ2U9J0Fw
cGxpZWQgcGF0Y2gnIHBhdGNoPScxOTcnCitydW5fd2Via2l0X3BhdGNoOiBbJ2J1aWxkJywgJy0t
bm8tY2xlYW4nLCAnLS1uby11cGRhdGUnLCAnLS1idWlsZC1zdHlsZT1ib3RoJ10KK2NvbW1hbmRf
cGFzc2VkOiBzdWNjZXNzX21lc3NhZ2U9J0J1aWx0IHBhdGNoJyBwYXRjaD0nMTk3JworcnVuX3dl
YmtpdF9wYXRjaDogWydidWlsZC1hbmQtdGVzdCcsICctLW5vLWNsZWFuJywgJy0tbm8tdXBkYXRl
JywgJy0tdGVzdCcsICctLW5vbi1pbnRlcmFjdGl2ZSddCitjb21tYW5kX2ZhaWxlZDogZmFpbHVy
ZV9tZXNzYWdlPSdQYXRjaCBkb2VzIG5vdCBwYXNzIHRlc3RzJyBzY3JpcHRfZXJyb3I9J01PQ0sg
dGVzdCBmYWlsdXJlJyBwYXRjaD0nMTk3JworYXJjaGl2ZV9sYXN0X2xheW91dF90ZXN0X3Jlc3Vs
dHM6IHBhdGNoPScxOTcnCitydW5fd2Via2l0X3BhdGNoOiBbJ2J1aWxkLWFuZC10ZXN0JywgJy0t
bm8tY2xlYW4nLCAnLS1uby11cGRhdGUnLCAnLS10ZXN0JywgJy0tbm9uLWludGVyYWN0aXZlJ10K
K2NvbW1hbmRfZmFpbGVkOiBmYWlsdXJlX21lc3NhZ2U9J1BhdGNoIGRvZXMgbm90IHBhc3MgdGVz
dHMnIHNjcmlwdF9lcnJvcj0nTU9DSyB0ZXN0IGZhaWx1cmUgYWdhaW4nIHBhdGNoPScxOTcnCith
cmNoaXZlX2xhc3RfbGF5b3V0X3Rlc3RfcmVzdWx0czogcGF0Y2g9JzE5NycKK3J1bl93ZWJraXRf
cGF0Y2g6IFsnYnVpbGQtYW5kLXRlc3QnLCAnLS1mb3JjZS1jbGVhbicsICctLW5vLXVwZGF0ZScs
ICctLWJ1aWxkJywgJy0tdGVzdCcsICctLW5vbi1pbnRlcmFjdGl2ZSddCitjb21tYW5kX2ZhaWxl
ZDogZmFpbHVyZV9tZXNzYWdlPSdVbmFibGUgdG8gcGFzcyB0ZXN0cyB3aXRob3V0IHBhdGNoICh0
cmVlIGlzIHJlZD8pJyBzY3JpcHRfZXJyb3I9J01PQ0sgY2xlYW4gdGVzdCBmYWlsdXJlJyBwYXRj
aD0nMTk3JworIiIiCisgICAgICAgIHNlbGYuX3J1bl90aHJvdWdoX3Rhc2soY29tbWl0X3F1ZXVl
LCBleHBlY3RlZF9zdGRlcnIsIFNjcmlwdEVycm9yKQorCiAgICAgZGVmIHRlc3RfbGFuZF9mYWls
dXJlKHNlbGYpOgogICAgICAgICBjb21taXRfcXVldWUgPSBNb2NrQ29tbWl0UXVldWUoWwogICAg
ICAgICAgICAgTm9uZSwKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9i
b3QvZXhwZWN0ZWRmYWlsdXJlcy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3Qv
ZXhwZWN0ZWRmYWlsdXJlcy5weQppbmRleCA0MTU5YTFkYmFmZDY5MGRhMTdjZmU0NWJhYzJkZDA3
ZTlmZTc4MjY4Li4wZTBlZDY3NGY1MjZiMzQ5MjM3ZGQ4OGYyNGE1NzFlYWQ1YmYzZThmIDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2V4cGVjdGVkZmFpbHVyZXMu
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9leHBlY3RlZGZhaWx1cmVz
LnB5CkBAIC0zNCw3ICszNCw3IEBAIGNsYXNzIEV4cGVjdGVkRmFpbHVyZXMob2JqZWN0KToKICAg
ICBkZWYgX2Nhbl90cnVzdF9yZXN1bHRzKHNlbGYsIHJlc3VsdHMpOgogICAgICAgICBpZiBub3Qg
cmVzdWx0cyBvciBub3QgcmVzdWx0cy5mYWlsdXJlX2xpbWl0X2NvdW50KCk6CiAgICAgICAgICAg
ICByZXR1cm4gRmFsc2UKLSAgICAgICAgcmV0dXJuIGxlbihyZXN1bHRzLmZhaWxpbmdfdGVzdHMo
KSkgIT0gMCBhbmQgbGVuKHJlc3VsdHMuZmFpbGluZ190ZXN0cygpKSAhPSByZXN1bHRzLmZhaWx1
cmVfbGltaXRfY291bnQoKQorICAgICAgICByZXR1cm4gbGVuKHJlc3VsdHMuZmFpbGluZ190ZXN0
cygpKSAhPSAwIGFuZCBsZW4ocmVzdWx0cy5mYWlsaW5nX3Rlc3RzKCkpIDwgcmVzdWx0cy5mYWls
dXJlX2xpbWl0X2NvdW50KCkKIAogICAgIGRlZiBmYWlsdXJlc193ZXJlX2V4cGVjdGVkKHNlbGYs
IHJlc3VsdHMpOgogICAgICAgICBpZiBub3Qgc2VsZi5fY2FuX3RydXN0X3Jlc3VsdHMocmVzdWx0
cyk6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2V4cGVjdGVk
ZmFpbHVyZXNfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2V4
cGVjdGVkZmFpbHVyZXNfdW5pdHRlc3QucHkKaW5kZXggZjczN2VkOWRkYjYzMWYwNDJjODVmMDU1
ZjJhZTU0Njc4NDdhMmI1Yi4uYzIxYjJiOTYxNzE2MmE3M2E5N2NkOGQ0NTYzMTc3NzU3NDhiMGE5
OCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9leHBlY3RlZGZh
aWx1cmVzX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3Qv
ZXhwZWN0ZWRmYWlsdXJlc191bml0dGVzdC5weQpAQCAtNTQsNiArNTQsNyBAQCBjbGFzcyBFeHBl
Y3RlZEZhaWx1cmVzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuX2Fzc2Vy
dF9jYW5fdHJ1c3QoTW9ja1Jlc3VsdHMoZmFpbGluZ190ZXN0cz1bMV0sIGZhaWx1cmVfbGltaXQ9
Tm9uZSksIEZhbHNlKQogICAgICAgICBzZWxmLl9hc3NlcnRfY2FuX3RydXN0KE1vY2tSZXN1bHRz
KGZhaWxpbmdfdGVzdHM9WzFdLCBmYWlsdXJlX2xpbWl0PTIpLCBUcnVlKQogICAgICAgICBzZWxm
Ll9hc3NlcnRfY2FuX3RydXN0KE1vY2tSZXN1bHRzKGZhaWxpbmdfdGVzdHM9WzFdLCBmYWlsdXJl
X2xpbWl0PTEpLCBGYWxzZSkKKyAgICAgICAgc2VsZi5fYXNzZXJ0X2Nhbl90cnVzdChNb2NrUmVz
dWx0cyhmYWlsaW5nX3Rlc3RzPVsxLCAyXSwgZmFpbHVyZV9saW1pdD0xKSwgRmFsc2UpCiAKICAg
ICBkZWYgX2Fzc2VydF9leHBlY3RlZChzZWxmLCBleHBlY3RlZF9mYWlsdXJlcywgZmFpbHVyZXMs
IGV4cGVjdGVkKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZF9mYWlsdXJlcy5m
YWlsdXJlc193ZXJlX2V4cGVjdGVkKE1vY2tSZXN1bHRzKGZhaWx1cmVzKSksIGV4cGVjdGVkKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9wYXRjaGFuYWx5c2lz
dGFzay5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvcGF0Y2hhbmFseXNpc3Rh
c2sucHkKaW5kZXggYzIwMmQyNDk2NmVjNjhiYzQ0NmViYzVjOWE5MDQ1YzRhNThhZTNkZi4uMzUz
MjA3YTUxOTc0N2JkODMwNjEyYzg0MTBmZDQ2NzZlZGRkNjJlNiAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9wYXRjaGFuYWx5c2lzdGFzay5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L3BhdGNoYW5hbHlzaXN0YXNrLnB5CkBAIC0yMTMs
NyArMjEzLDE4IEBAIGNsYXNzIFBhdGNoQW5hbHlzaXNUYXNrKG9iamVjdCk6CiAgICAgICAgIGNs
ZWFuX3RyZWVfcmVzdWx0cyA9IHNlbGYuX2RlbGVnYXRlLmxheW91dF90ZXN0X3Jlc3VsdHMoKQog
ICAgICAgICBzZWxmLl9leHBlY3RlZF9mYWlsdXJlcy5ncm93X2V4cGVjdGVkX2ZhaWx1cmVzKGNs
ZWFuX3RyZWVfcmVzdWx0cykKIAotICAgICAgICByZXR1cm4gRmFsc2UgICMgVHJlZSBtdXN0IGJl
IHJlZGRlciB0aGFuIHdlIGV4cGVjdGVkLCBqdXN0IHJldHJ5IGxhdGVyLgorICAgICAgICAjIFJl
LWNoZWNrIGlmIHRoZSBvcmlnaW5hbCByZXN1bHRzIGFyZSBub3cgdG8gYmUgZXhwZWN0ZWQgdG8g
YXZvaWQgYSBmdWxsIHJlLXRyeS4KKyAgICAgICAgaWYgc2VsZi5fZXhwZWN0ZWRfZmFpbHVyZXMu
ZmFpbHVyZXNfd2VyZV9leHBlY3RlZChmaXJzdF9yZXN1bHRzKToKKyAgICAgICAgICAgIHJldHVy
biBUcnVlCisKKyAgICAgICAgIyBOb3cgdGhhdCB3ZSBoYXZlIHVwZGF0ZWQgaW5mb3JtYXRpb24g
YWJvdXQgZmFpbGluZyB0ZXN0cyB3aXRoIGEgY2xlYW4gY2hlY2tvdXQsIHdlIGNhbgorICAgICAg
ICAjIHRlbGwgaWYgb3VyIG9yaWdpbmFsIGZhaWx1cmVzIHdlcmUgdW5leHBlY3RlZCBhbmQgZmFp
bCB0aGUgcGF0Y2ggaWYgbmVjZXNzYXJ5LgorICAgICAgICBpZiBzZWxmLl9leHBlY3RlZF9mYWls
dXJlcy51bmV4cGVjdGVkX2ZhaWx1cmVzKGZpcnN0X3Jlc3VsdHMpOgorICAgICAgICAgICAgcmV0
dXJuIHNlbGYucmVwb3J0X2ZhaWx1cmUoZmlyc3RfcmVzdWx0c19hcmNoaXZlKQorCisgICAgICAg
ICMgV2UgZG9uJ3Qga25vdyB3aGF0J3MgZ29pbmcgb24uICBUaGUgdHJlZSBpcyBsaWtlbHkgdmVy
eSByZWQgKGJleW9uZCBvdXIgbGF5b3V0LXRlc3QtcmVzdWx0cworICAgICAgICAjIGZhaWx1cmUg
bGltaXQpLCBqdXN0IGtlZXAgcmV0cnlpbmcgdGhlIHBhdGNoLiB1bnRpbCBzb21lb25lIGZpeGVz
IHRoZSB0cmVlLgorICAgICAgICByZXR1cm4gRmFsc2UKIAogICAgIGRlZiByZXN1bHRzX2FyY2hp
dmVfZnJvbV9wYXRjaF90ZXN0X3J1bihzZWxmLCBwYXRjaCk6CiAgICAgICAgIGFzc2VydChzZWxm
Ll9wYXRjaC5pZCgpID09IHBhdGNoLmlkKCkpICAjIFBhdGNoQW5hbHlzaXNUYXNrIGlzIG5vdCBj
dXJyZW50bHkgcmUtdXNlYWJsZS4K
</data>
<flag name="commit-queue"
          id="84800"
          type_id="3"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>