<?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>62226</bug_id>
          
          <creation_ts>2011-06-07 12:20:06 -0700</creation_ts>
          <short_desc>nrwt: support webaudio in chromium driver</short_desc>
          <delta_ts>2011-06-09 14:19:27 -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>PC</rep_platform>
          <op_sys>All</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>abarth</cc>
    
    <cc>crogers</cc>
    
    <cc>eric</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>416724</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-06-07 12:20:06 -0700</bug_when>
    <thetext>nrwt: support webaudio in chromium driver</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416726</commentid>
    <comment_count>1</comment_count>
      <attachid>96281</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-06-07 12:20:27 -0700</bug_when>
    <thetext>Created attachment 96281
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416728</commentid>
    <comment_count>2</comment_count>
      <attachid>96282</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-06-07 12:21:41 -0700</bug_when>
    <thetext>Created attachment 96282
fix uninitialized variables</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416926</commentid>
    <comment_count>3</comment_count>
      <attachid>96328</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-06-07 16:41:33 -0700</bug_when>
    <thetext>Created attachment 96328
fix bugs uncovered in testing (base64 import, encoding header)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417322</commentid>
    <comment_count>4</comment_count>
      <attachid>96328</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-06-08 10:15:46 -0700</bug_when>
    <thetext>Comment on attachment 96328
fix bugs uncovered in testing (base64 import, encoding header)

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

&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:530
&gt; +                if has_audio:
&gt; +                    audio.append(line)
&gt; +                else:
&gt; +                    output.append(line)

Is it possible to have audio and other output from the same test?  If so, I guess the text output has to come first and there&apos;s an audio header in the middle?  If not, seems like we don&apos;t need a separate |audio| variable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417332</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-06-08 10:26:16 -0700</bug_when>
    <thetext>We&apos;re planning on either having text output or audio output, but not both in the same test.

(In reply to comment #4)
&gt; (From update of attachment 96328 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=96328&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:530
&gt; &gt; +                if has_audio:
&gt; &gt; +                    audio.append(line)
&gt; &gt; +                else:
&gt; &gt; +                    output.append(line)
&gt; 
&gt; Is it possible to have audio and other output from the same test?  If so, I guess the text output has to come first and there&apos;s an audio header in the middle?  If not, seems like we don&apos;t need a separate |audio| variable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417463</commentid>
    <comment_count>6</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-06-08 13:27:50 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 96328 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=96328&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:530
&gt; &gt; +                if has_audio:
&gt; &gt; +                    audio.append(line)
&gt; &gt; +                else:
&gt; &gt; +                    output.append(line)
&gt; 
&gt; Is it possible to have audio and other output from the same test?  If so, I guess the text output has to come first and there&apos;s an audio header in the middle?  If not, seems like we don&apos;t need a separate |audio| variable.

As Chris noted, we can&apos;t have both audio and text output. So, we could reuse the output variable, but we&apos;d have to have a branch later in the function to make sure that the output is passed to the audio= param of the DriverOutput constructor instead of the text= param.

I thought having a single constructor call in the end was better, but it might help to rename output to &apos;text&apos; or something like that to make it clear(er) that that variable was only ever used for a single type of output as well. 

WDYT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417473</commentid>
    <comment_count>7</comment_count>
      <attachid>96328</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-06-08 13:43:08 -0700</bug_when>
    <thetext>Comment on attachment 96328
fix bugs uncovered in testing (base64 import, encoding header)

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

&gt;&gt;&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:530
&gt;&gt;&gt;&gt; +                    output.append(line)
&gt;&gt;&gt; 
&gt;&gt;&gt; Is it possible to have audio and other output from the same test?  If so, I guess the text output has to come first and there&apos;s an audio header in the middle?  If not, seems like we don&apos;t need a separate |audio| variable.
&gt;&gt; 
&gt;&gt; 
&gt; 
&gt; As Chris noted, we can&apos;t have both audio and text output. So, we could reuse the output variable, but we&apos;d have to have a branch later in the function to make sure that the output is passed to the audio= param of the DriverOutput constructor instead of the text= param.
&gt; 
&gt; I thought having a single constructor call in the end was better, but it might help to rename output to &apos;text&apos; or something like that to make it clear(er) that that variable was only ever used for a single type of output as well. 
&gt; 
&gt; WDYT?

I think using audio_bytes is fine.  You can still do that.  Something like:

  audio_bytes = None
  if has_audio:
      if has_base64:
          audio_bytes = base64.b64decode(&apos;&apos;.join(output))
      else:
          audio_bytes = &apos;&apos;.join(output)
  else:
      text = &apos;&apos;.join(output)
      if not text:
          text = None

  return base.DriverOutput(text, output_image, actual_checksum, audio=audio_bytes,
      crash=crash, test_time=run_time, timeout=timeout, error=&apos;&apos;.join(error))</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417478</commentid>
    <comment_count>8</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-06-08 13:44:57 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 96328 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=96328&amp;action=review
&gt; 
&gt; &gt;&gt;&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:530
&gt; &gt;&gt;&gt;&gt; +                    output.append(line)
&gt; &gt;&gt;&gt; 
&gt; &gt;&gt;&gt; Is it possible to have audio and other output from the same test?  If so, I guess the text output has to come first and there&apos;s an audio header in the middle?  If not, seems like we don&apos;t need a separate |audio| variable.
&gt; &gt;&gt; 
&gt; &gt;&gt; 
&gt; &gt; 
&gt; &gt; As Chris noted, we can&apos;t have both audio and text output. So, we could reuse the output variable, but we&apos;d have to have a branch later in the function to make sure that the output is passed to the audio= param of the DriverOutput constructor instead of the text= param.
&gt; &gt; 
&gt; &gt; I thought having a single constructor call in the end was better, but it might help to rename output to &apos;text&apos; or something like that to make it clear(er) that that variable was only ever used for a single type of output as well. 
&gt; &gt; 
&gt; &gt; WDYT?
&gt; 
&gt; I think using audio_bytes is fine.  You can still do that.  Something like:
&gt; 
&gt;   audio_bytes = None
&gt;   if has_audio:
&gt;       if has_base64:
&gt;           audio_bytes = base64.b64decode(&apos;&apos;.join(output))
&gt;       else:
&gt;           audio_bytes = &apos;&apos;.join(output)
&gt;   else:
&gt;       text = &apos;&apos;.join(output)
&gt;       if not text:
&gt;           text = None
&gt; 
&gt;   return base.DriverOutput(text, output_image, actual_checksum, audio=audio_bytes,
&gt;       crash=crash, test_time=run_time, timeout=timeout, error=&apos;&apos;.join(error))

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417715</commentid>
    <comment_count>9</comment_count>
      <attachid>96515</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-06-08 17:40:49 -0700</bug_when>
    <thetext>Created attachment 96515
update w/ review feedback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418072</commentid>
    <comment_count>10</comment_count>
      <attachid>96515</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-06-09 09:50:49 -0700</bug_when>
    <thetext>Comment on attachment 96515
update w/ review feedback

Should we have a test case for this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418076</commentid>
    <comment_count>11</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-06-09 09:58:01 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 96515 [details])
&gt; Should we have a test case for this?

Yeah, that would be good, but we don&apos;t quite have the right infrastructure to run the tests cleanly. I need to update the mock_drt code and figure out how to wire it in for this sort of testing. Shouldn&apos;t be too hard and I should be able to get to it soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418282</commentid>
    <comment_count>12</comment_count>
      <attachid>96515</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-06-09 14:19:20 -0700</bug_when>
    <thetext>Comment on attachment 96515
update w/ review feedback

Clearing flags on attachment: 96515

Committed r88483: &lt;http://trac.webkit.org/changeset/88483&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418284</commentid>
    <comment_count>13</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-06-09 14:19:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96281</attachid>
            <date>2011-06-07 12:20:27 -0700</date>
            <delta_ts>2011-06-07 12:21:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62226-20110607122026.patch</filename>
            <type>text/plain</type>
            <size>2633</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODgxODYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3OTdiNzg0Mzg1Zjk2YWMyYTAyNTJhMDkyN2Q5YjViYmI4
ZDIwYzg4Li5lYWYyMjFiYmYwNWQ0Njc1Y2E0YjAzN2EyYTZmNWZiYWNmMzBiN2VmIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIg
QEAKKzIwMTEtMDYtMDcgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgbnJ3dDogc3VwcG9y
dCB3ZWJhdWRpbyBpbiBjaHJvbWl1bSBkcml2ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjI2CisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5OgorCiAyMDExLTA2LTA2ICBNYXJ0aW4gUm9i
aW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBGaXggdGhlIEdUSysgYnVp
bGQgYnkgZW5zdXJpbmcgdGhhdCB0aGUgYXV0b2dlbmVyYXRlZCBzb3VyY2VzCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQppbmRl
eCA2OWRlYjk2YWE3MzQwMWNkZDA5MmI0NDQ0MWIzZDFmOTYzOWU2OTBlLi5hMTAxMWNiZjdjMDg0
NDJkOWZlODU2MWFjMWYwZDA5MjI0MGNhMWY0IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkKQEAgLTQ3MSw2ICs0NzEsNyBA
QCBjbGFzcyBDaHJvbWl1bURyaXZlcihiYXNlLkRyaXZlcik6CiAKICAgICBkZWYgcnVuX3Rlc3Qo
c2VsZiwgZHJpdmVyX2lucHV0KToKICAgICAgICAgb3V0cHV0ID0gW10KKyAgICAgICAgYXVkaW8g
PSBbXQogICAgICAgICBlcnJvciA9IFtdCiAgICAgICAgIGNyYXNoID0gRmFsc2UKICAgICAgICAg
dGltZW91dCA9IEZhbHNlCkBAIC01MTUsMjIgKzUxNiwzMyBAQCBjbGFzcyBDaHJvbWl1bURyaXZl
cihiYXNlLkRyaXZlcik6CiAgICAgICAgICAgICBlbGlmIGxpbmUuc3RhcnRzd2l0aCgiI1RFU1Rf
VElNRURfT1VUIik6CiAgICAgICAgICAgICAgICAgdGltZW91dCA9IFRydWUKICAgICAgICAgICAg
ICAgICAjIFRlc3QgdGltZWQgb3V0LCBidXQgd2Ugc3RpbGwgbmVlZCB0byByZWFkIHVudGlsICNF
T0YuCisgICAgICAgICAgICBlbGlmIGxpbmUuc3RhcnRzd2l0aCgiQ29udGVudC1UeXBlOiBhdWRp
by93YXYiKToKKyAgICAgICAgICAgICAgICBoYXNfYXVkaW8gPSBUcnVlCisgICAgICAgICAgICBl
bGlmIGxpbmUuc3RhcnRzd2l0aCgiQ29udGVudC1FbmNvZGluZzogYmFzZTY0Iik6CisgICAgICAg
ICAgICAgICAgaGFzX2Jhc2U2NCA9IFRydWUKICAgICAgICAgICAgIGVsaWYgYWN0dWFsX3VyaToK
LSAgICAgICAgICAgICAgICBvdXRwdXQuYXBwZW5kKGxpbmUpCisgICAgICAgICAgICAgICAgaWYg
aGFzX2F1ZGlvOgorICAgICAgICAgICAgICAgICAgICBhdWRpby5hcHBlbmQobGluZSkKKyAgICAg
ICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBvdXRwdXQuYXBwZW5kKGxpbmUp
CiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIGVycm9yLmFwcGVuZChsaW5lKQog
CiAgICAgICAgICAgICAobGluZSwgY3Jhc2gpID0gc2VsZi5fd3JpdGVfY29tbWFuZF9hbmRfcmVh
ZF9saW5lKGlucHV0PU5vbmUpCiAKLSAgICAgICAgIyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIGF1
ZGlvIHdoZW4gd2UncmUgcmVhZHkuCi0KICAgICAgICAgcnVuX3RpbWUgPSB0aW1lLnRpbWUoKSAt
IHN0YXJ0X3RpbWUKICAgICAgICAgb3V0cHV0X2ltYWdlID0gc2VsZi5fb3V0cHV0X2ltYWdlX3dp
dGhfcmV0cnkoKQogICAgICAgICB0ZXh0ID0gJycuam9pbihvdXRwdXQpCiAgICAgICAgIGlmIG5v
dCB0ZXh0OgogICAgICAgICAgICAgdGV4dCA9IE5vbmUKIAotICAgICAgICByZXR1cm4gYmFzZS5E
cml2ZXJPdXRwdXQodGV4dCwgb3V0cHV0X2ltYWdlLCBhY3R1YWxfY2hlY2tzdW0sIGF1ZGlvPU5v
bmUsCisgICAgICAgIGF1ZGlvX2J5dGVzID0gTm9uZQorICAgICAgICBpZiBoYXNfYXVkaW86Cisg
ICAgICAgICAgICBpZiBoYXNfYmFzZTY0OgorICAgICAgICAgICAgICAgIGF1ZGlvX2J5dGVzID0g
YmFzZTY0LmI2NGRlY29kZSgnJy5qb2luKGF1ZGlvKSkKKyAgICAgICAgICAgIGVsc2U6CisgICAg
ICAgICAgICAgICAgYXVkaW9fYnl0ZXMgPSAnJy5qb2luKGF1ZGlvKQorICAgICAgICByZXR1cm4g
YmFzZS5Ecml2ZXJPdXRwdXQodGV4dCwgb3V0cHV0X2ltYWdlLCBhY3R1YWxfY2hlY2tzdW0sIGF1
ZGlvPWF1ZGlvX2J5dGVzLAogICAgICAgICAgICAgY3Jhc2g9Y3Jhc2gsIHRlc3RfdGltZT1ydW5f
dGltZSwgdGltZW91dD10aW1lb3V0LCBlcnJvcj0nJy5qb2luKGVycm9yKSkKIAogICAgIGRlZiBz
dG9wKHNlbGYpOgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96282</attachid>
            <date>2011-06-07 12:21:41 -0700</date>
            <delta_ts>2011-06-07 16:41:30 -0700</delta_ts>
            <desc>fix uninitialized variables</desc>
            <filename>bug-62226-20110607122140.patch</filename>
            <type>text/plain</type>
            <size>2979</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODgxODYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3OTdiNzg0Mzg1Zjk2YWMyYTAyNTJhMDkyN2Q5YjViYmI4
ZDIwYzg4Li5lYWYyMjFiYmYwNWQ0Njc1Y2E0YjAzN2EyYTZmNWZiYWNmMzBiN2VmIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIg
QEAKKzIwMTEtMDYtMDcgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgbnJ3dDogc3VwcG9y
dCB3ZWJhdWRpbyBpbiBjaHJvbWl1bSBkcml2ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjI2CisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5OgorCiAyMDExLTA2LTA2ICBNYXJ0aW4gUm9i
aW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBGaXggdGhlIEdUSysgYnVp
bGQgYnkgZW5zdXJpbmcgdGhhdCB0aGUgYXV0b2dlbmVyYXRlZCBzb3VyY2VzCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQppbmRl
eCA2OWRlYjk2YWE3MzQwMWNkZDA5MmI0NDQ0MWIzZDFmOTYzOWU2OTBlLi4zZDU2MDMyZTU5ZDUx
ZTc0MGFkMzcwOWRkNDk1YjllMjc4MjYwZTYyIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkKQEAgLTQ3MSw2ICs0NzEsNyBA
QCBjbGFzcyBDaHJvbWl1bURyaXZlcihiYXNlLkRyaXZlcik6CiAKICAgICBkZWYgcnVuX3Rlc3Qo
c2VsZiwgZHJpdmVyX2lucHV0KToKICAgICAgICAgb3V0cHV0ID0gW10KKyAgICAgICAgYXVkaW8g
PSBbXQogICAgICAgICBlcnJvciA9IFtdCiAgICAgICAgIGNyYXNoID0gRmFsc2UKICAgICAgICAg
dGltZW91dCA9IEZhbHNlCkBAIC00NzgsNiArNDc5LDggQEAgY2xhc3MgQ2hyb21pdW1Ecml2ZXIo
YmFzZS5Ecml2ZXIpOgogICAgICAgICBhY3R1YWxfY2hlY2tzdW0gPSBOb25lCiAgICAgICAgIHNl
bGYuX2NsZWFyX291dHB1dF9pbWFnZSgpCiAgICAgICAgIHN0YXJ0X3RpbWUgPSB0aW1lLnRpbWUo
KQorICAgICAgICBoYXNfYXVkaW8gPSBGYWxzZQorICAgICAgICBoYXNfYmFzZTY0ID0gRmFsc2UK
IAogICAgICAgICB1cmkgPSBzZWxmLl9wb3J0LmZpbGVuYW1lX3RvX3VyaShkcml2ZXJfaW5wdXQu
ZmlsZW5hbWUpCiAgICAgICAgIGNtZCA9IHNlbGYuX3Rlc3Rfc2hlbGxfY29tbWFuZCh1cmksIGRy
aXZlcl9pbnB1dC50aW1lb3V0LApAQCAtNTE1LDIyICs1MTgsMzMgQEAgY2xhc3MgQ2hyb21pdW1E
cml2ZXIoYmFzZS5Ecml2ZXIpOgogICAgICAgICAgICAgZWxpZiBsaW5lLnN0YXJ0c3dpdGgoIiNU
RVNUX1RJTUVEX09VVCIpOgogICAgICAgICAgICAgICAgIHRpbWVvdXQgPSBUcnVlCiAgICAgICAg
ICAgICAgICAgIyBUZXN0IHRpbWVkIG91dCwgYnV0IHdlIHN0aWxsIG5lZWQgdG8gcmVhZCB1bnRp
bCAjRU9GLgorICAgICAgICAgICAgZWxpZiBsaW5lLnN0YXJ0c3dpdGgoIkNvbnRlbnQtVHlwZTog
YXVkaW8vd2F2Iik6CisgICAgICAgICAgICAgICAgaGFzX2F1ZGlvID0gVHJ1ZQorICAgICAgICAg
ICAgZWxpZiBsaW5lLnN0YXJ0c3dpdGgoIkNvbnRlbnQtRW5jb2Rpbmc6IGJhc2U2NCIpOgorICAg
ICAgICAgICAgICAgIGhhc19iYXNlNjQgPSBUcnVlCiAgICAgICAgICAgICBlbGlmIGFjdHVhbF91
cmk6Ci0gICAgICAgICAgICAgICAgb3V0cHV0LmFwcGVuZChsaW5lKQorICAgICAgICAgICAgICAg
IGlmIGhhc19hdWRpbzoKKyAgICAgICAgICAgICAgICAgICAgYXVkaW8uYXBwZW5kKGxpbmUpCisg
ICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgb3V0cHV0LmFwcGVuZChs
aW5lKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBlcnJvci5hcHBlbmQobGlu
ZSkKIAogICAgICAgICAgICAgKGxpbmUsIGNyYXNoKSA9IHNlbGYuX3dyaXRlX2NvbW1hbmRfYW5k
X3JlYWRfbGluZShpbnB1dD1Ob25lKQogCi0gICAgICAgICMgRklYTUU6IEFkZCBzdXBwb3J0IGZv
ciBhdWRpbyB3aGVuIHdlJ3JlIHJlYWR5LgotCiAgICAgICAgIHJ1bl90aW1lID0gdGltZS50aW1l
KCkgLSBzdGFydF90aW1lCiAgICAgICAgIG91dHB1dF9pbWFnZSA9IHNlbGYuX291dHB1dF9pbWFn
ZV93aXRoX3JldHJ5KCkKICAgICAgICAgdGV4dCA9ICcnLmpvaW4ob3V0cHV0KQogICAgICAgICBp
ZiBub3QgdGV4dDoKICAgICAgICAgICAgIHRleHQgPSBOb25lCiAKLSAgICAgICAgcmV0dXJuIGJh
c2UuRHJpdmVyT3V0cHV0KHRleHQsIG91dHB1dF9pbWFnZSwgYWN0dWFsX2NoZWNrc3VtLCBhdWRp
bz1Ob25lLAorICAgICAgICBhdWRpb19ieXRlcyA9IE5vbmUKKyAgICAgICAgaWYgaGFzX2F1ZGlv
OgorICAgICAgICAgICAgaWYgaGFzX2Jhc2U2NDoKKyAgICAgICAgICAgICAgICBhdWRpb19ieXRl
cyA9IGJhc2U2NC5iNjRkZWNvZGUoJycuam9pbihhdWRpbykpCisgICAgICAgICAgICBlbHNlOgor
ICAgICAgICAgICAgICAgIGF1ZGlvX2J5dGVzID0gJycuam9pbihhdWRpbykKKyAgICAgICAgcmV0
dXJuIGJhc2UuRHJpdmVyT3V0cHV0KHRleHQsIG91dHB1dF9pbWFnZSwgYWN0dWFsX2NoZWNrc3Vt
LCBhdWRpbz1hdWRpb19ieXRlcywKICAgICAgICAgICAgIGNyYXNoPWNyYXNoLCB0ZXN0X3RpbWU9
cnVuX3RpbWUsIHRpbWVvdXQ9dGltZW91dCwgZXJyb3I9Jycuam9pbihlcnJvcikpCiAKICAgICBk
ZWYgc3RvcChzZWxmKToK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96328</attachid>
            <date>2011-06-07 16:41:33 -0700</date>
            <delta_ts>2011-06-08 17:40:45 -0700</delta_ts>
            <desc>fix bugs uncovered in testing (base64 import, encoding header)</desc>
            <filename>bug-62226-20110607164132.patch</filename>
            <type>text/plain</type>
            <size>3121</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODgxODYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3OTdiNzg0Mzg1Zjk2YWMyYTAyNTJhMDkyN2Q5YjViYmI4
ZDIwYzg4Li5lYWYyMjFiYmYwNWQ0Njc1Y2E0YjAzN2EyYTZmNWZiYWNmMzBiN2VmIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIg
QEAKKzIwMTEtMDYtMDcgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgbnJ3dDogc3VwcG9y
dCB3ZWJhdWRpbyBpbiBjaHJvbWl1bSBkcml2ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjI2CisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5OgorCiAyMDExLTA2LTA2ICBNYXJ0aW4gUm9i
aW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBGaXggdGhlIEdUSysgYnVp
bGQgYnkgZW5zdXJpbmcgdGhhdCB0aGUgYXV0b2dlbmVyYXRlZCBzb3VyY2VzCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQppbmRl
eCA2OWRlYjk2YWE3MzQwMWNkZDA5MmI0NDQ0MWIzZDFmOTYzOWU2OTBlLi4zYjlmMzQ3NzNiMGE5
ZDAzMTQ5MDc1ZGU5NDAyM2Q1OTY0MDg2NWVmIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkKQEAgLTI5LDYgKzI5LDcgQEAK
IAogIiIiQ2hyb21pdW0gaW1wbGVtZW50YXRpb25zIG9mIHRoZSBQb3J0IGludGVyZmFjZS4iIiIK
IAoraW1wb3J0IGJhc2U2NAogaW1wb3J0IGVycm5vCiBpbXBvcnQgbG9nZ2luZwogaW1wb3J0IHJl
CkBAIC00NzEsNiArNDcyLDcgQEAgY2xhc3MgQ2hyb21pdW1Ecml2ZXIoYmFzZS5Ecml2ZXIpOgog
CiAgICAgZGVmIHJ1bl90ZXN0KHNlbGYsIGRyaXZlcl9pbnB1dCk6CiAgICAgICAgIG91dHB1dCA9
IFtdCisgICAgICAgIGF1ZGlvID0gW10KICAgICAgICAgZXJyb3IgPSBbXQogICAgICAgICBjcmFz
aCA9IEZhbHNlCiAgICAgICAgIHRpbWVvdXQgPSBGYWxzZQpAQCAtNDc4LDYgKzQ4MCw4IEBAIGNs
YXNzIENocm9taXVtRHJpdmVyKGJhc2UuRHJpdmVyKToKICAgICAgICAgYWN0dWFsX2NoZWNrc3Vt
ID0gTm9uZQogICAgICAgICBzZWxmLl9jbGVhcl9vdXRwdXRfaW1hZ2UoKQogICAgICAgICBzdGFy
dF90aW1lID0gdGltZS50aW1lKCkKKyAgICAgICAgaGFzX2F1ZGlvID0gRmFsc2UKKyAgICAgICAg
aGFzX2Jhc2U2NCA9IEZhbHNlCiAKICAgICAgICAgdXJpID0gc2VsZi5fcG9ydC5maWxlbmFtZV90
b191cmkoZHJpdmVyX2lucHV0LmZpbGVuYW1lKQogICAgICAgICBjbWQgPSBzZWxmLl90ZXN0X3No
ZWxsX2NvbW1hbmQodXJpLCBkcml2ZXJfaW5wdXQudGltZW91dCwKQEAgLTUxNSwyMiArNTE5LDMz
IEBAIGNsYXNzIENocm9taXVtRHJpdmVyKGJhc2UuRHJpdmVyKToKICAgICAgICAgICAgIGVsaWYg
bGluZS5zdGFydHN3aXRoKCIjVEVTVF9USU1FRF9PVVQiKToKICAgICAgICAgICAgICAgICB0aW1l
b3V0ID0gVHJ1ZQogICAgICAgICAgICAgICAgICMgVGVzdCB0aW1lZCBvdXQsIGJ1dCB3ZSBzdGls
bCBuZWVkIHRvIHJlYWQgdW50aWwgI0VPRi4KKyAgICAgICAgICAgIGVsaWYgbGluZS5zdGFydHN3
aXRoKCJDb250ZW50LVR5cGU6IGF1ZGlvL3dhdiIpOgorICAgICAgICAgICAgICAgIGhhc19hdWRp
byA9IFRydWUKKyAgICAgICAgICAgIGVsaWYgbGluZS5zdGFydHN3aXRoKCJDb250ZW50LVRyYW5z
ZmVyLUVuY29kaW5nOiBiYXNlNjQiKToKKyAgICAgICAgICAgICAgICBoYXNfYmFzZTY0ID0gVHJ1
ZQogICAgICAgICAgICAgZWxpZiBhY3R1YWxfdXJpOgotICAgICAgICAgICAgICAgIG91dHB1dC5h
cHBlbmQobGluZSkKKyAgICAgICAgICAgICAgICBpZiBoYXNfYXVkaW86CisgICAgICAgICAgICAg
ICAgICAgIGF1ZGlvLmFwcGVuZChsaW5lKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAg
ICAgICAgICAgICAgIG91dHB1dC5hcHBlbmQobGluZSkKICAgICAgICAgICAgIGVsc2U6CiAgICAg
ICAgICAgICAgICAgZXJyb3IuYXBwZW5kKGxpbmUpCiAKICAgICAgICAgICAgIChsaW5lLCBjcmFz
aCkgPSBzZWxmLl93cml0ZV9jb21tYW5kX2FuZF9yZWFkX2xpbmUoaW5wdXQ9Tm9uZSkKIAotICAg
ICAgICAjIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgYXVkaW8gd2hlbiB3ZSdyZSByZWFkeS4KLQog
ICAgICAgICBydW5fdGltZSA9IHRpbWUudGltZSgpIC0gc3RhcnRfdGltZQogICAgICAgICBvdXRw
dXRfaW1hZ2UgPSBzZWxmLl9vdXRwdXRfaW1hZ2Vfd2l0aF9yZXRyeSgpCiAgICAgICAgIHRleHQg
PSAnJy5qb2luKG91dHB1dCkKICAgICAgICAgaWYgbm90IHRleHQ6CiAgICAgICAgICAgICB0ZXh0
ID0gTm9uZQogCi0gICAgICAgIHJldHVybiBiYXNlLkRyaXZlck91dHB1dCh0ZXh0LCBvdXRwdXRf
aW1hZ2UsIGFjdHVhbF9jaGVja3N1bSwgYXVkaW89Tm9uZSwKKyAgICAgICAgYXVkaW9fYnl0ZXMg
PSBOb25lCisgICAgICAgIGlmIGhhc19hdWRpbzoKKyAgICAgICAgICAgIGlmIGhhc19iYXNlNjQ6
CisgICAgICAgICAgICAgICAgYXVkaW9fYnl0ZXMgPSBiYXNlNjQuYjY0ZGVjb2RlKCcnLmpvaW4o
YXVkaW8pKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBhdWRpb19ieXRlcyA9
ICcnLmpvaW4oYXVkaW8pCisgICAgICAgIHJldHVybiBiYXNlLkRyaXZlck91dHB1dCh0ZXh0LCBv
dXRwdXRfaW1hZ2UsIGFjdHVhbF9jaGVja3N1bSwgYXVkaW89YXVkaW9fYnl0ZXMsCiAgICAgICAg
ICAgICBjcmFzaD1jcmFzaCwgdGVzdF90aW1lPXJ1bl90aW1lLCB0aW1lb3V0PXRpbWVvdXQsIGVy
cm9yPScnLmpvaW4oZXJyb3IpKQogCiAgICAgZGVmIHN0b3Aoc2VsZik6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96515</attachid>
            <date>2011-06-08 17:40:49 -0700</date>
            <delta_ts>2011-06-09 14:19:20 -0700</delta_ts>
            <desc>update w/ review feedback</desc>
            <filename>bug-62226-20110608174048.patch</filename>
            <type>text/plain</type>
            <size>2944</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODgyODgKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3ZDYwMTQ4ZDA2OWM5MDQ2YjZjOTI4Y2NlNWFkOGRmYWM5
YTM5NGFlLi41YWE1ZTRhY2NhM2EyZTg5NWM2YTA0MTU0ZjUxYjllYjNkOTM0NmQ5IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTQg
QEAKIDIwMTEtMDYtMDcgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CiAKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgbnJ3dDogc3VwcG9y
dCB3ZWJhdWRpbyBpbiBjaHJvbWl1bSBkcml2ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjI2CisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5OgorCisyMDExLTA2LTA3ICBEaXJrIFByYW5r
ZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2Vp
ZGVsLgogCiAgICAgICAgIHdlYmtpdHB5OiBhZGQgYSBwb3BlbigpIGNhbGwgdG8gZXhlY3V0aXZl
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2No
cm9taXVtLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJv
bWl1bS5weQppbmRleCBhOGQ5ZTgyZGFjNTgzMDY0MDQ2N2U1OWY0ZjI5NGU4OGYxNTlhNGY5Li5i
NWYzNTZiNmU5NWM0YmQyMDYzMDAzMWQzYmQ4NjU0NjYyY2ZhZWUyIDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkKQEAgLTI5
LDYgKzI5LDcgQEAKIAogIiIiQ2hyb21pdW0gaW1wbGVtZW50YXRpb25zIG9mIHRoZSBQb3J0IGlu
dGVyZmFjZS4iIiIKIAoraW1wb3J0IGJhc2U2NAogaW1wb3J0IGVycm5vCiBpbXBvcnQgbG9nZ2lu
ZwogaW1wb3J0IHJlCkBAIC00NzgsNiArNDc5LDggQEAgY2xhc3MgQ2hyb21pdW1Ecml2ZXIoYmFz
ZS5Ecml2ZXIpOgogICAgICAgICBhY3R1YWxfY2hlY2tzdW0gPSBOb25lCiAgICAgICAgIHNlbGYu
X2NsZWFyX291dHB1dF9pbWFnZSgpCiAgICAgICAgIHN0YXJ0X3RpbWUgPSB0aW1lLnRpbWUoKQor
ICAgICAgICBoYXNfYXVkaW8gPSBGYWxzZQorICAgICAgICBoYXNfYmFzZTY0ID0gRmFsc2UKIAog
ICAgICAgICB1cmkgPSBzZWxmLl9wb3J0LmZpbGVuYW1lX3RvX3VyaShkcml2ZXJfaW5wdXQuZmls
ZW5hbWUpCiAgICAgICAgIGNtZCA9IHNlbGYuX3Rlc3Rfc2hlbGxfY29tbWFuZCh1cmksIGRyaXZl
cl9pbnB1dC50aW1lb3V0LApAQCAtNTE1LDYgKzUxOCwxMCBAQCBjbGFzcyBDaHJvbWl1bURyaXZl
cihiYXNlLkRyaXZlcik6CiAgICAgICAgICAgICBlbGlmIGxpbmUuc3RhcnRzd2l0aCgiI1RFU1Rf
VElNRURfT1VUIik6CiAgICAgICAgICAgICAgICAgdGltZW91dCA9IFRydWUKICAgICAgICAgICAg
ICAgICAjIFRlc3QgdGltZWQgb3V0LCBidXQgd2Ugc3RpbGwgbmVlZCB0byByZWFkIHVudGlsICNF
T0YuCisgICAgICAgICAgICBlbGlmIGxpbmUuc3RhcnRzd2l0aCgiQ29udGVudC1UeXBlOiBhdWRp
by93YXYiKToKKyAgICAgICAgICAgICAgICBoYXNfYXVkaW8gPSBUcnVlCisgICAgICAgICAgICBl
bGlmIGxpbmUuc3RhcnRzd2l0aCgiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogYmFzZTY0Iik6
CisgICAgICAgICAgICAgICAgaGFzX2Jhc2U2NCA9IFRydWUKICAgICAgICAgICAgIGVsaWYgYWN0
dWFsX3VyaToKICAgICAgICAgICAgICAgICBvdXRwdXQuYXBwZW5kKGxpbmUpCiAgICAgICAgICAg
ICBlbHNlOgpAQCAtNTIyLDE1ICs1MjksMjIgQEAgY2xhc3MgQ2hyb21pdW1Ecml2ZXIoYmFzZS5E
cml2ZXIpOgogCiAgICAgICAgICAgICAobGluZSwgY3Jhc2gpID0gc2VsZi5fd3JpdGVfY29tbWFu
ZF9hbmRfcmVhZF9saW5lKGlucHV0PU5vbmUpCiAKLSAgICAgICAgIyBGSVhNRTogQWRkIHN1cHBv
cnQgZm9yIGF1ZGlvIHdoZW4gd2UncmUgcmVhZHkuCi0KICAgICAgICAgcnVuX3RpbWUgPSB0aW1l
LnRpbWUoKSAtIHN0YXJ0X3RpbWUKICAgICAgICAgb3V0cHV0X2ltYWdlID0gc2VsZi5fb3V0cHV0
X2ltYWdlX3dpdGhfcmV0cnkoKQotICAgICAgICB0ZXh0ID0gJycuam9pbihvdXRwdXQpCi0gICAg
ICAgIGlmIG5vdCB0ZXh0OgotICAgICAgICAgICAgdGV4dCA9IE5vbmUKIAotICAgICAgICByZXR1
cm4gYmFzZS5Ecml2ZXJPdXRwdXQodGV4dCwgb3V0cHV0X2ltYWdlLCBhY3R1YWxfY2hlY2tzdW0s
IGF1ZGlvPU5vbmUsCisgICAgICAgIGF1ZGlvX2J5dGVzID0gTm9uZQorICAgICAgICB0ZXh0ID0g
Tm9uZQorICAgICAgICBpZiBoYXNfYXVkaW86CisgICAgICAgICAgICBpZiBoYXNfYmFzZTY0Ogor
ICAgICAgICAgICAgICAgIGF1ZGlvX2J5dGVzID0gYmFzZTY0LmI2NGRlY29kZSgnJy5qb2luKG91
dHB1dCkpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGF1ZGlvX2J5dGVzID0g
Jycuam9pbihvdXRwdXQpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICB0ZXh0ID0gJycuam9p
bihvdXRwdXQpCisgICAgICAgICAgICBpZiBub3QgdGV4dDoKKyAgICAgICAgICAgICAgICB0ZXh0
ID0gTm9uZQorCisgICAgICAgIHJldHVybiBiYXNlLkRyaXZlck91dHB1dCh0ZXh0LCBvdXRwdXRf
aW1hZ2UsIGFjdHVhbF9jaGVja3N1bSwgYXVkaW89YXVkaW9fYnl0ZXMsCiAgICAgICAgICAgICBj
cmFzaD1jcmFzaCwgdGVzdF90aW1lPXJ1bl90aW1lLCB0aW1lb3V0PXRpbWVvdXQsIGVycm9yPScn
LmpvaW4oZXJyb3IpKQogCiAgICAgZGVmIHN0b3Aoc2VsZik6Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>