<?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>34739</bug_id>
          
          <creation_ts>2010-02-08 19:12:34 -0800</creation_ts>
          <short_desc>update run-chromium-webkit-tests to work w/ chromium-linux, chromium-win</short_desc>
          <delta_ts>2010-02-10 17:56:18 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>188860</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2010-02-08 19:12:34 -0800</bug_when>
    <thetext>There are various bugs preventing run-chromiu-webkit-tests from actually working on either the Linux or Win ports of chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188863</commentid>
    <comment_count>1</comment_count>
      <attachid>48384</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2010-02-08 19:18:13 -0800</bug_when>
    <thetext>Created attachment 48384
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189122</commentid>
    <comment_count>2</comment_count>
      <attachid>48384</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-02-09 12:28:19 -0800</bug_when>
    <thetext>Comment on attachment 48384
Patch

+ port_to_use

There are some whitespace errors around the above.

+ Working around a race in Python 2.4&apos;s implementation of Popen().

Huh?  This doesn&apos;t look right.  We either need a more detailed comment or to call the API in another way that avoids the race.  This just looks like it will be buggy.  Maybe we need to call wait() at some point?  We do something similar in webkit-patch somewhere.

The rest of the patch LGTM.  Maybe land the rest and re-visit the Popen issue later?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189130</commentid>
    <comment_count>3</comment_count>
      <attachid>48438</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2010-02-09 12:44:15 -0800</bug_when>
    <thetext>Created attachment 48438
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189133</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2010-02-09 12:46:52 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 48384 [details])
&gt; + port_to_use
&gt; 
&gt; There are some whitespace errors around the above.
&gt;

Fixed.
 
&gt; + Working around a race in Python 2.4&apos;s implementation of Popen().
&gt; 
&gt; Huh?  This doesn&apos;t look right.  We either need a more detailed comment or to
&gt; call the API in another way that avoids the race.  This just looks like it will
&gt; be buggy.  Maybe we need to call wait() at some point?  We do something similar
&gt; in webkit-patch somewhere.
&gt;

I added a comment with a pointer to the python bug ( http://bugs.python.org/issue1199282 ). Note that the bug is fixed in Python 2.5.

You can&apos;t work around it, and the windows port won&apos;t work reliably without this. I&apos;ve needed to use this workaround several times in the chromium.org codebase .
 
&gt; The rest of the patch LGTM.  Maybe land the rest and re-visit the Popen issue
&gt; later?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189460</commentid>
    <comment_count>5</comment_count>
      <attachid>48438</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-02-10 13:35:55 -0800</bug_when>
    <thetext>Comment on attachment 48438
Patch

Clearly we need unit testing.  Most of these could have been caught by unit tests.

OK though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189546</commentid>
    <comment_count>6</comment_count>
      <attachid>48438</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-02-10 17:50:51 -0800</bug_when>
    <thetext>Comment on attachment 48438
Patch

Clearing flags on attachment: 48438

Committed r54635: &lt;http://trac.webkit.org/changeset/54635&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189547</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-02-10 17:51:02 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189551</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-02-10 17:56:18 -0800</bug_when>
    <thetext>&gt; Clearly we need unit testing.  Most of these could have been caught by unit
&gt; tests.

Tests for the tests!  Where does the madness end?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48384</attachid>
            <date>2010-02-08 19:18:13 -0800</date>
            <delta_ts>2010-02-09 12:44:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-34739-20100208191811.patch</filename>
            <type>text/plain</type>
            <size>15112</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDU0NTI0KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTAtMDItMDggIERpcmsgUHJhbmtlICA8ZHBy
YW5rZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRml4IHZhcmlvdXMgbWlub3IgYnVncyBrZWVwaW5nIHJ1bi1jaHJvbWl1bS13
ZWJraXQtdGVzdHMgZnJvbSBhY3R1YWxseQorICAgICAgICB3b3JraW5nIG9uIHRoZSBsaW51eCBh
bmQgd2luIHBvcnRzIG9mIENocm9taXVtLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zNDczOQorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvdGVzdF9zaGVsbF90aHJlYWQucHk6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9fX2luaXRfXy5weToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHk6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2xpbnV4LnB5
OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1f
d2luLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvaHR0
cF9zZXJ2ZXIucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC93ZWJzb2NrZXRfc2VydmVyLnB5OgorCiAyMDEwLTAyLTA4ICBBbGV4ZXkgUHJvc2t1cnlha292
ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRl
eDogV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2th
Z2UvdGVzdF9zaGVsbF90aHJlYWQucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvdGVzdF9zaGVsbF90aHJlYWQu
cHkJKHJldmlzaW9uIDU0NTI0KQorKysgV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvdGVzdF9zaGVsbF90aHJlYWQucHkJKHdvcmtpbmcgY29w
eSkKQEAgLTg2LDcgKzg2LDcgQEAgZGVmIHByb2Nlc3Nfb3V0cHV0KHBvcnQsIHRlc3RfaW5mbywg
dGVzdAogICAgICAgICBmaWxlbmFtZSA9IG9zLnBhdGguc3BsaXRleHQoZmlsZW5hbWUpWzBdICsg
Ii1zdGFjay50eHQiCiAgICAgICAgIHBvcnQubWF5YmVfbWFrZV9kaXJlY3Rvcnkob3MucGF0aC5z
cGxpdChmaWxlbmFtZSlbMF0pCiAgICAgICAgIG9wZW4oZmlsZW5hbWUsICJ3YiIpLndyaXRlKGVy
cm9yKQotICAgIGVsc2U6CisgICAgZWxpZiBlcnJvcjoKICAgICAgICAgbG9nZ2luZy5kZWJ1Zygi
UHJldmlvdXMgdGVzdCBvdXRwdXQgZXh0cmEgbGluZXMgYWZ0ZXIgZHVtcDpcbiVzIiAlCiAgICAg
ICAgICAgICBlcnJvcikKIApJbmRleDogV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9fX2luaXRfXy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L19faW5pdF9fLnB5CShyZXZpc2lvbiA1NDUy
NCkKKysrIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvX19p
bml0X18ucHkJKHdvcmtpbmcgY29weSkKQEAgLTMwLDEzICszMCwyMCBAQAogIiIiUG9ydC1zcGVj
aWZpYyBlbnRyeXBvaW50cyBmb3IgdGhlIGxheW91dCB0ZXN0cyB0ZXN0IGluZnJhc3RydWN0dXJl
LiIiIgogCiAKK2ltcG9ydCBzeXMKKwogZGVmIGdldChwb3J0X25hbWU9Tm9uZSwgb3B0aW9ucz1O
b25lKToKICAgICAiIiJSZXR1cm5zIGFuIG9iamVjdCBpbXBsZW1lbnRpbmcgdGhlIFBvcnQgaW50
ZXJmYWNlLiBJZgogICAgIHBvcnRfbmFtZSBpcyBOb25lLCB0aGlzIHJvdXRpbmUgYXR0ZW1wdHMg
dG8gZ3Vlc3MgYXQgdGhlIG1vc3QKICAgICBhcHByb3ByaWF0ZSBwb3J0IG9uIHRoaXMgcGxhdGZv
cm0uIiIiCiAgICAgcG9ydF90b191c2UgPSBwb3J0X25hbWUKICAgICBpZiBwb3J0X3RvX3VzZSBp
cyBOb25lOgotICAgICAgICBwb3J0X3RvX3VzZSA9ICdjaHJvbWl1bS1tYWMnCisgICAgICAgIGlm
IHN5cy5wbGF0Zm9ybSA9PSAnd2luMzInOgorICAgICAgICAgICBwb3J0X3RvX3VzZSA9ICdjaHJv
bWl1bS13aW4nCisgICAgICAgIGVsaWYgc3lzLnBsYXRmb3JtID09ICdsaW51eDInOgorICAgICAg
ICAgICAgcG9ydF90b191c2UgPSAnY2hyb21pdW0tbGludXgnCisgICAgICAgIGVsaWYgc3lzLnBs
YXRmb3JtID09ICdkYXJ3aW4nOgorICAgICAgICAgICAgcG9ydF90b191c2UgPSAnY2hyb21pdW0t
bWFjJwogCiAgICAgaWYgcG9ydF90b191c2UgPT0gJ3Rlc3QnOgogICAgICAgICBpbXBvcnQgdGVz
dApAQCAtNTAsOCArNTcsOCBAQCBkZWYgZ2V0KHBvcnRfbmFtZT1Ob25lLCBvcHRpb25zPU5vbmUp
OgogICAgIGVsaWYgcG9ydF90b191c2Uuc3RhcnRzd2l0aCgnY2hyb21pdW0tbGludXgnKToKICAg
ICAgICAgaW1wb3J0IGNocm9taXVtX2xpbnV4CiAgICAgICAgIHJldHVybiBjaHJvbWl1bV9saW51
eC5DaHJvbWl1bUxpbnV4UG9ydChwb3J0X25hbWUsIG9wdGlvbnMpCi0gICAgZWxpZiBwb3J0X3Rv
X3VzZS5zdGFydHdpdGgoJ2Nocm9taXVtLXdpbicpOgorICAgIGVsaWYgcG9ydF90b191c2Uuc3Rh
cnRzd2l0aCgnY2hyb21pdW0td2luJyk6CiAgICAgICAgIGltcG9ydCBjaHJvbWl1bV93aW4KICAg
ICAgICAgcmV0dXJuIGNocm9taXVtX3dpbi5DaHJvbWl1bVdpblBvcnQocG9ydF9uYW1lLCBvcHRp
b25zKQogCi0gICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigndW5zdXBwb3J0ZWQgcG9ydDog
JXMnICUgcG9ydF9uYW1lKQorICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoJ3Vuc3VwcG9y
dGVkIHBvcnQ6ICVzJyAlIHBvcnRfdG9fdXNlKQpJbmRleDogV2ViS2l0VG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQkocmV2aXNpb24g
NTQ1MjQpCisrKyBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L2Jhc2UucHkJKHdvcmtpbmcgY29weSkKQEAgLTQ4NCw4ICs0ODQsMTMgQEAgY2xhc3MgUG9ydChv
YmplY3QpOgogICAgICAgICAgICAgIyB0aGUgUG9wZW4gcmFpc2VzIGEgVmFsdWVFcnJvci4KICAg
ICAgICAgICAgICMgaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTEyMzYKICAgICAgICAgICAg
IGlmIF93ZGlmZl9hdmFpbGFibGU6Ci0gICAgICAgICAgICAgICAgd2RpZmYgPSBzdWJwcm9jZXNz
LlBvcGVuKGNtZCwKLSAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSku
Y29tbXVuaWNhdGUoKVswXQorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAg
ICAgd2RpZmYgPSBzdWJwcm9jZXNzLlBvcGVuKGNtZCwKKyAgICAgICAgICAgICAgICAgICAgICAg
IHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUpLmNvbW11bmljYXRlKClbMF0KKyAgICAgICAgICAgICAg
ICBleGNlcHQgVmFsdWVFcnJvciwgZToKKyAgICAgICAgICAgICAgICAgICAgIyBXb3JraW5nIGFy
b3VuZCBhIHJhY2UgaW4gUHl0aG9uIDIuNCdzIGltcGxlbWVudGF0aW9uCisgICAgICAgICAgICAg
ICAgICAgICMgb2YgUG9wZW4oKS4KKyAgICAgICAgICAgICAgICAgICAgd2RpZmYgPSAnJwogICAg
ICAgICAgICAgICAgIHdkaWZmID0gY2dpLmVzY2FwZSh3ZGlmZikKICAgICAgICAgICAgICAgICB3
ZGlmZiA9IHdkaWZmLnJlcGxhY2UoJyMjV0RJRkZfREVMIyMnLCAnPHNwYW4gY2xhc3M9ZGVsPicp
CiAgICAgICAgICAgICAgICAgd2RpZmYgPSB3ZGlmZi5yZXBsYWNlKCcjI1dESUZGX0FERCMjJywg
JzxzcGFuIGNsYXNzPWFkZD4nKQpJbmRleDogV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CShyZXZpc2lvbiA1
NDUyNCkKKysrIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
Y2hyb21pdW0ucHkJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAKIAogaW1wb3J0IGxv
Z2dpbmcKIGltcG9ydCBvcworaW1wb3J0IHNodXRpbAogaW1wb3J0IHNpZ25hbAogaW1wb3J0IHN1
YnByb2Nlc3MKIGltcG9ydCBzeXMKSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fbGludXgucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9saW51eC5w
eQkocmV2aXNpb24gNTQ1MjQpCisrKyBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L2Nocm9taXVtX2xpbnV4LnB5CSh3b3JraW5nIGNvcHkpCkBAIC00Nyw5ICs0
Nyw5IEBAIGNsYXNzIENocm9taXVtTGludXhQb3J0KGNocm9taXVtLkNocm9taXUKIAogICAgIGRl
ZiBiYXNlbGluZV9zZWFyY2hfcGF0aChzZWxmKToKICAgICAgICAgcmV0dXJuIFtzZWxmLmJhc2Vs
aW5lX3BhdGgoKSwKLSAgICAgICAgICAgICAgICBzZWxmLmNocm9taXVtX2Jhc2VsaW5lX3BhdGgo
J2Nocm9taXVtLXdpbicpLAotICAgICAgICAgICAgICAgIHNlbGYud2Via2l0X2Jhc2VsaW5lX3Bh
dGgoJ3dpbicpLAotICAgICAgICAgICAgICAgIHNlbGYud2Via2l0X2Jhc2VsaW5lX3BhdGgoJ21h
YycpXQorICAgICAgICAgICAgICAgIHNlbGYuX2Nocm9taXVtX2Jhc2VsaW5lX3BhdGgoJ2Nocm9t
aXVtLXdpbicpLAorICAgICAgICAgICAgICAgIHNlbGYuX3dlYmtpdF9iYXNlbGluZV9wYXRoKCd3
aW4nKSwKKyAgICAgICAgICAgICAgICBzZWxmLl93ZWJraXRfYmFzZWxpbmVfcGF0aCgnbWFjJyld
CiAKICAgICBkZWYgY2hlY2tfc3lzX2RlcHMoc2VsZik6CiAgICAgICAgICMgV2UgaGF2ZSBubyBw
bGF0Zm9ybS1zcGVjaWZpYyBkZXBlbmRlbmNpZXMgdG8gY2hlY2suCkBAIC03NCw4ICs3NCwxMyBA
QCBjbGFzcyBDaHJvbWl1bUxpbnV4UG9ydChjaHJvbWl1bS5DaHJvbWl1CiAgICAgIwogCiAgICAg
ZGVmIF9idWlsZF9wYXRoKHNlbGYsICpjb21wcyk6Ci0gICAgICAgIHJldHVybiBzZWxmLnBhdGhf
ZnJvbV9jaHJvbWl1bV9iYXNlKCdzY29uc2J1aWxkJywgc2VsZi5fb3B0aW9ucy50YXJnZXQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpjb21wcykKKyAgICAg
ICAgYmFzZSA9IHNlbGYucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoKQorICAgICAgICBpZiBvcy5w
YXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oYmFzZSwgJ3Njb25zYnVpbGQnKSk6CisgICAgICAgICAg
IHJldHVybiBzZWxmLnBhdGhfZnJvbV9jaHJvbWl1bV9iYXNlKCdzY29uc2J1aWxkJywgCisgICAg
ICAgICAgICAgICBzZWxmLl9vcHRpb25zLnRhcmdldCwgKmNvbXBzKQorICAgICAgICBlbHNlOgor
ICAgICAgICAgICByZXR1cm4gc2VsZi5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSgnb3V0JywgCisg
ICAgICAgICAgICAgICBzZWxmLl9vcHRpb25zLnRhcmdldCwgKmNvbXBzKQogCiAgICAgZGVmIF9r
aWxsX3Byb2Nlc3Moc2VsZiwgcGlkKToKICAgICAgICAgIiIiRm9yY2VmdWxseSBraWxsIHRoZSBw
cm9jZXNzLgpJbmRleDogV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9jaHJvbWl1bV93aW4ucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW4ucHkJKHJldmlzaW9uIDU0NTI0
KQorKysgV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJv
bWl1bV93aW4ucHkJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAgaW1wb3J0IG9zCiBp
bXBvcnQgcGxhdGZvcm0KIGltcG9ydCBzaWduYWwKIGltcG9ydCBzdWJwcm9jZXNzCitpbXBvcnQg
c3lzCiAKIGltcG9ydCBjaHJvbWl1bQogCkBAIC00NiwxMyArNDcsMTQgQEAgY2xhc3MgQ2hyb21p
dW1XaW5Qb3J0KGNocm9taXVtLkNocm9taXVtUAogICAgICAgICBjaHJvbWl1bS5DaHJvbWl1bVBv
cnQuX19pbml0X18oc2VsZiwgcG9ydF9uYW1lLCBvcHRpb25zKQogCiAgICAgZGVmIGJhc2VsaW5l
X3NlYXJjaF9wYXRoKHNlbGYpOgorICAgICAgICBkaXJzID0gW10KICAgICAgICAgaWYgc2VsZi5f
bmFtZSA9PSAnY2hyb21pdW0td2luLXhwJzoKLSAgICAgICAgICAgIGRpcnMuYXBwZW5kKHNlbGYu
YmFzZWxpbmVfcGF0aChzZWxmLl9uYW1lKSkKKyAgICAgICAgICAgIGRpcnMuYXBwZW5kKHNlbGYu
X2Nocm9taXVtX2Jhc2VsaW5lX3BhdGgoc2VsZi5fbmFtZSkpCiAgICAgICAgIGlmIHNlbGYuX25h
bWUgaW4gKCdjaHJvbWl1bS13aW4teHAnLCAnY2hyb21pdW0td2luLXZpc3RhJyk6Ci0gICAgICAg
ICAgICBkaXJzLmFwcGVuZChzZWxmLmJhc2VsaW5lX3BhdGgoJ2Nocm9taXVtLXdpbi12aXN0YScp
KQotICAgICAgICBkaXJzLmFwcGVuZChzZWxmLmJhc2VsaW5lX3BhdGgoJ2Nocm9taXVtLXdpbicp
KQotICAgICAgICBkaXJzLmFwcGVuZChzZWxmLndlYmtpdF9iYXNlbGluZV9wYXRoKCd3aW4nKSkK
LSAgICAgICAgZGlycy5hcHBlbmQoc2VsZi53ZWJraXRfYmFzZWxpbmVfcGF0aCgnbWFjJykpCisg
ICAgICAgICAgICBkaXJzLmFwcGVuZChzZWxmLl9jaHJvbWl1bV9iYXNlbGluZV9wYXRoKCdjaHJv
bWl1bS13aW4tdmlzdGEnKSkKKyAgICAgICAgZGlycy5hcHBlbmQoc2VsZi5fY2hyb21pdW1fYmFz
ZWxpbmVfcGF0aCgnY2hyb21pdW0td2luJykpCisgICAgICAgIGRpcnMuYXBwZW5kKHNlbGYuX3dl
YmtpdF9iYXNlbGluZV9wYXRoKCd3aW4nKSkKKyAgICAgICAgZGlycy5hcHBlbmQoc2VsZi5fd2Vi
a2l0X2Jhc2VsaW5lX3BhdGgoJ21hYycpKQogICAgICAgICByZXR1cm4gZGlycwogCiAgICAgZGVm
IGNoZWNrX3N5c19kZXBzKHNlbGYpOgpAQCAtNjIsMTEgKzY0LDE1IEBAIGNsYXNzIENocm9taXVt
V2luUG9ydChjaHJvbWl1bS5DaHJvbWl1bVAKICAgICBkZWYgZ2V0X2Fic29sdXRlX3BhdGgoc2Vs
ZiwgZmlsZW5hbWUpOgogICAgICAgICAiIiJSZXR1cm4gdGhlIGFic29sdXRlIHBhdGggaW4gdW5p
eCBmb3JtYXQgZm9yIHRoZSBnaXZlbiBmaWxlbmFtZS4iIiIKICAgICAgICAgYWJzcGF0aCA9IG9z
LnBhdGguYWJzcGF0aChmaWxlbmFtZSkKLSAgICAgICAgcmV0dXJuIHBhdGgucmVwbGFjZSgnXFwn
LCAnLycpCisgICAgICAgIHJldHVybiBhYnNwYXRoLnJlcGxhY2UoJ1xcJywgJy8nKQogCiAgICAg
ZGVmIG51bV9jb3JlcyhzZWxmKToKICAgICAgICAgcmV0dXJuIGludChvcy5lbnZpcm9uLmdldCgn
TlVNQkVSX09GX1BST0NFU1NPUlMnLCAxKSkKIAorICAgIGRlZiByZWxhdGl2ZV90ZXN0X2ZpbGVu
YW1lKHNlbGYsIGZpbGVuYW1lKToKKyAgICAgICAgcGF0aCA9IGZpbGVuYW1lW2xlbihzZWxmLmxh
eW91dF90ZXN0c19kaXIoKSkgKyAxOl0KKyAgICAgICAgcmV0dXJuIHBhdGgucmVwbGFjZSgnXFwn
LCAnLycpCisKICAgICBkZWYgdGVzdF9wbGF0Zm9ybV9uYW1lKHNlbGYpOgogICAgICAgICAjIFdl
IHJldHVybiAnd2luLXhwJywgbm90ICdjaHJvbWl1bS13aW4teHAnIGhlcmUsIGZvciBjb252ZW5p
ZW5jZS4KICAgICAgICAgcmV0dXJuICd3aW4nICsgc2VsZi52ZXJzaW9uKCkKQEAgLTExMywxMyAr
MTE5LDEzIEBAIGNsYXNzIENocm9taXVtV2luUG9ydChjaHJvbWl1bS5DaHJvbWl1bVAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAnY3lnd2luLWh0dHBkLmNvbmYnKQogCiAgICAgZGVmIF9w
YXRoX3RvX2xpZ2h0dHBkKHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5fbGlnaHR0cF9wYXRo
KCdMaWdodFRQRC5leGUnKQorICAgICAgICByZXR1cm4gc2VsZi5fbGlnaHR0cGRfcGF0aCgnTGln
aHRUUEQuZXhlJykKIAogICAgIGRlZiBfcGF0aF90b19saWdodHRwZF9tb2R1bGVzKHNlbGYpOgot
ICAgICAgICByZXR1cm4gc2VsZi5fbGlnaHR0cF9wYXRoKCdsaWInKQorICAgICAgICByZXR1cm4g
c2VsZi5fbGlnaHR0cGRfcGF0aCgnbGliJykKIAogICAgIGRlZiBfcGF0aF90b19saWdodHRwZF9w
aHAoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLl9saWdodHRwX3BhdGgoJ3BocDUnLCAncGhw
LWNnaS5leGUnKQorICAgICAgICByZXR1cm4gc2VsZi5fbGlnaHR0cGRfcGF0aCgncGhwNScsICdw
aHAtY2dpLmV4ZScpCiAKICAgICBkZWYgX3BhdGhfdG9fZHJpdmVyKHNlbGYpOgogICAgICAgICBy
ZXR1cm4gc2VsZi5fYnVpbGRfcGF0aCgndGVzdF9zaGVsbC5leGUnKQpAQCAtMTI4LDcgKzEzNCw3
IEBAIGNsYXNzIENocm9taXVtV2luUG9ydChjaHJvbWl1bS5DaHJvbWl1bVAKICAgICAgICAgcmV0
dXJuIHNlbGYuX2J1aWxkX3BhdGgoJ2xheW91dF90ZXN0X2hlbHBlci5leGUnKQogCiAgICAgZGVm
IF9wYXRoX3RvX2ltYWdlX2RpZmYoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLl9idWlsZF9w
YXRoKCdsYXlvdXRfdGVzdF9oZWxwZXIuZXhlJykKKyAgICAgICAgcmV0dXJuIHNlbGYuX2J1aWxk
X3BhdGgoJ2ltYWdlX2RpZmYuZXhlJykKIAogICAgIGRlZiBfcGF0aF90b193ZGlmZihzZWxmKToK
ICAgICAgICAgcmV0dXJuIHNlbGYucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoJ3RoaXJkX3BhcnR5
JywgJ2N5Z3dpbicsICdiaW4nLApJbmRleDogV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9odHRwX3NlcnZlci5weQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2h0dHBfc2VydmVyLnB5CShyZXZp
c2lvbiA1NDUyNCkKKysrIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvaHR0cF9zZXJ2ZXIucHkJKHdvcmtpbmcgY29weSkKQEAgLTY2LDEzICs2NiwxMyBAQCBj
bGFzcyBMaWdodHRwZChodHRwX3NlcnZlcl9iYXNlLkh0dHBTZXJ2CiAgICAgICAgICAgICBzZWxm
Ll9wb3J0ID0gaW50KHNlbGYuX3BvcnQpCiAKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgX3dl
YmtpdF90ZXN0cyA9IG9zLnBhdGguam9pbihzZWxmLl9wb3J0X29iai5sYXlvdXRfdGVzdHNfZGly
KCksCi0gICAgICAgICAgICAgICAgICdodHRwJywgJ3Rlc3RzJykKLSAgICAgICAgICAgIF93ZWJr
aXRfdGVzdHMgPSBvcy5wYXRoLmpvaW4oc2VsZi5fcG9ydF9vYmoubGF5b3V0X3Rlc3RzX2Rpcigp
LAotICAgICAgICAgICAgICAgICAnZmFzdCcsICdqcycsICdyZXNvdXJjZXMnKQorICAgICAgICAg
ICAgc2VsZi5fd2Via2l0X3Rlc3RzID0gb3MucGF0aC5qb2luKAorICAgICAgICAgICAgICAgIHNl
bGYuX3BvcnRfb2JqLmxheW91dF90ZXN0c19kaXIoKSwgJ2h0dHAnLCAndGVzdHMnKQorICAgICAg
ICAgICAgc2VsZi5fanNfdGVzdF9yZXNvdXJjZSA9IG9zLnBhdGguam9pbigKKyAgICAgICAgICAg
ICAgICBzZWxmLl9wb3J0X29iai5sYXlvdXRfdGVzdHNfZGlyKCksICdmYXN0JywgJ2pzJywgJ3Jl
c291cmNlcycpCiAgICAgICAgIGV4Y2VwdDoKLSAgICAgICAgICAgIF93ZWJraXRfdGVzdHMgPSBO
b25lCi0gICAgICAgICAgICBfanNfdGVzdF9yZXNvdXJjZSA9IE5vbmUKKyAgICAgICAgICAgIHNl
bGYuX3dlYmtpdF90ZXN0cyA9IE5vbmUKKyAgICAgICAgICAgIHNlbGYuX2pzX3Rlc3RfcmVzb3Vy
Y2UgPSBOb25lCiAKICAgICAgICAgIyBTZWxmIGdlbmVyYXRlZCBjZXJ0aWZpY2F0ZSBmb3IgU1NM
IHNlcnZlciAoZm9yIGNsaWVudCBjZXJ0IGdldAogICAgICAgICAjIDxiYXNlLXBhdGg+XGNocm9t
ZVx0ZXN0XGRhdGFcc3NsXGNlcnRzXHJvb3RfY2FfY2VydC5jcnQpCkBAIC04MCwxNCArODAsMTQg
QEAgY2xhc3MgTGlnaHR0cGQoaHR0cF9zZXJ2ZXJfYmFzZS5IdHRwU2VydgogICAgICAgICAgICAg
b3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChfX2ZpbGVfXykpLCAnaHR0cGQyLnBlbScp
CiAKICAgICAgICAgIyBPbmUgbWFwcGluZyB3aGVyZSB3ZSBjYW4gZ2V0IHRvIGV2ZXJ5dGhpbmcK
LSAgICAgICAgVklSVFVBTENPTkZJRyA9IFtdCisgICAgICAgIHNlbGYuVklSVFVBTENPTkZJRyA9
IFtdCiAKLSAgICAgICAgaWYgX3dlYmtpdF90ZXN0czoKLSAgICAgICAgICAgIFZJUlRVQUxDT05G
SUcuZXh0ZW5kKAorICAgICAgICBpZiBzZWxmLl93ZWJraXRfdGVzdHM6CisgICAgICAgICAgICBz
ZWxmLlZJUlRVQUxDT05GSUcuZXh0ZW5kKAogICAgICAgICAgICAgICAgIyBUaHJlZSBtYXBwaW5n
cyAob25lIHdpdGggU1NMKSBmb3IgTGF5b3V0VGVzdHMgaHR0cCB0ZXN0cwotICAgICAgICAgICAg
ICAgW3sncG9ydCc6IDgwMDAsICdkb2Nyb290JzogX3dlYmtpdF90ZXN0c30sCi0gICAgICAgICAg
ICAgICAgeydwb3J0JzogODA4MCwgJ2RvY3Jvb3QnOiBfd2Via2l0X3Rlc3RzfSwKLSAgICAgICAg
ICAgICAgICB7J3BvcnQnOiA4NDQzLCAnZG9jcm9vdCc6IF93ZWJraXRfdGVzdHMsCisgICAgICAg
ICAgICAgICBbeydwb3J0JzogODAwMCwgJ2RvY3Jvb3QnOiBzZWxmLl93ZWJraXRfdGVzdHN9LAor
ICAgICAgICAgICAgICAgIHsncG9ydCc6IDgwODAsICdkb2Nyb290Jzogc2VsZi5fd2Via2l0X3Rl
c3RzfSwKKyAgICAgICAgICAgICAgICB7J3BvcnQnOiA4NDQzLCAnZG9jcm9vdCc6IHNlbGYuX3dl
YmtpdF90ZXN0cywKICAgICAgICAgICAgICAgICAgJ3NzbGNlcnQnOiBzZWxmLl9wZW1fZmlsZX1d
KQogCiAgICAgZGVmIGlzX3J1bm5pbmcoc2VsZik6CkBAIC05Nyw5ICs5Nyw4IEBAIGNsYXNzIExp
Z2h0dHBkKGh0dHBfc2VydmVyX2Jhc2UuSHR0cFNlcnYKICAgICAgICAgaWYgc2VsZi5pc19ydW5u
aW5nKCk6CiAgICAgICAgICAgICByYWlzZSAnTGlnaHR0cGQgYWxyZWFkeSBydW5uaW5nJwogCi0g
ICAgICAgIGJhc2VfY29uZl9maWxlID0gc2VsZi5fcG9ydF9vYmoucGF0aF9mcm9tX2Jhc2UoJ3Ro
aXJkX3BhcnR5JywKLSAgICAgICAgICAgICdXZWJLaXRUb29scycsICdTY3JpcHRzJywgJ3dlYmtp
dHB5JywgJ2xheW91dF90ZXN0cycsCi0gICAgICAgICAgICAncG9ydCcsICdsaWdodHRwZC5jb25m
JykKKyAgICAgICAgYmFzZV9jb25mX2ZpbGUgPSBzZWxmLl9wb3J0X29iai5wYXRoX2Zyb21fd2Vi
a2l0X2Jhc2UoJ1dlYktpdFRvb2xzJywKKyAgICAgICAgICAgICdTY3JpcHRzJywgJ3dlYmtpdHB5
JywgJ2xheW91dF90ZXN0cycsICdwb3J0JywgJ2xpZ2h0dHBkLmNvbmYnKQogICAgICAgICBvdXRf
Y29uZl9maWxlID0gb3MucGF0aC5qb2luKHNlbGYuX291dHB1dF9kaXIsICdsaWdodHRwZC5jb25m
JykKICAgICAgICAgdGltZV9zdHIgPSB0aW1lLnN0cmZ0aW1lKCIlZCViJVktJUglTSVTIikKICAg
ICAgICAgYWNjZXNzX2ZpbGVfbmFtZSA9ICJhY2Nlc3MubG9nLSIgKyB0aW1lX3N0ciArICIudHh0
IgpAQCAtMTc0LDggKzE3Myw3IEBAIGNsYXNzIExpZ2h0dHBkKGh0dHBfc2VydmVyX2Jhc2UuSHR0
cFNlcnYKICAgICAgICAgbW9kdWxlX3BhdGggPSBzZWxmLl9wb3J0X29iai5fcGF0aF90b19saWdo
dHRwZF9tb2R1bGVzKCkKICAgICAgICAgc3RhcnRfY21kID0gW2V4ZWN1dGFibGUsCiAgICAgICAg
ICAgICAgICAgICAgICAjIE5ld2x5IHdyaXR0ZW4gY29uZmlnIGZpbGUKLSAgICAgICAgICAgICAg
ICAgICAgICctZicsIHNlbGYuX3BvcnRfb2JqLl9wYXRoX2Zyb21fYmFzZShzZWxmLl9vdXRwdXRf
ZGlyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJ2xpZ2h0dHBkLmNvbmYnKSwKKyAgICAgICAgICAgICAgICAgICAgICctZicsIG9zLnBh
dGguam9pbihzZWxmLl9vdXRwdXRfZGlyLCAnbGlnaHR0cGQuY29uZicpLAogICAgICAgICAgICAg
ICAgICAgICAgIyBXaGVyZSBpdCBjYW4gZmluZCBpdHMgbW9kdWxlIGR5bmFtaWMgbGlicmFyaWVz
CiAgICAgICAgICAgICAgICAgICAgICAnLW0nLCBtb2R1bGVfcGF0aF0KIApAQCAtMTk3LDEyICsx
OTUsMTMgQEAgY2xhc3MgTGlnaHR0cGQoaHR0cF9zZXJ2ZXJfYmFzZS5IdHRwU2VydgogICAgICAg
ICBlbnYgPSBvcy5lbnZpcm9uCiAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSBpbiAoJ2N5Z3dpbics
ICd3aW4zMicpOgogICAgICAgICAgICAgZW52WydQQVRIJ10gPSAnJXM7JXMnICUgKAotICAgICAg
ICAgICAgICAgIHBvcnQucGF0aF9mcm9tX2Jhc2UoJ3RoaXJkX3BhcnR5JywgJ2N5Z3dpbicsICdi
aW4nKSwKKyAgICAgICAgICAgICAgICBzZWxmLl9wb3J0X29iai5wYXRoX2Zyb21fY2hyb21pdW1f
YmFzZSgndGhpcmRfcGFydHknLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnY3lnd2luJywgJ2JpbicpLAogICAgICAgICAgICAgICAgIGVu
dlsnUEFUSCddKQogCiAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAnd2luMzInIGFuZCBzZWxm
Ll9yZWdpc3Rlcl9jeWd3aW46Ci0gICAgICAgICAgICBzZXR1cF9tb3VudCA9IHBvcnQucGF0aF9m
cm9tX2Jhc2UoJ3RoaXJkX3BhcnR5JywgJ2N5Z3dpbicsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NldHVwX21vdW50LmJhdCcpCisgICAgICAg
ICAgICBzZXR1cF9tb3VudCA9IHBvcnQucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoJ3RoaXJkX3Bh
cnR5JywgCisgICAgICAgICAgICAgICAgJ2N5Z3dpbicsICdzZXR1cF9tb3VudC5iYXQnKQogICAg
ICAgICAgICAgc3VicHJvY2Vzcy5Qb3BlbihzZXR1cF9tb3VudCkud2FpdCgpCiAKICAgICAgICAg
bG9nZ2luZy5kZWJ1ZygnU3RhcnRpbmcgaHR0cCBzZXJ2ZXInKQpAQCAtMjI5LDcgKzIyOCw3IEBA
IGNsYXNzIExpZ2h0dHBkKGh0dHBfc2VydmVyX2Jhc2UuSHR0cFNlcnYKICAgICAgICAgaHR0cGRf
cGlkID0gTm9uZQogICAgICAgICBpZiBzZWxmLl9wcm9jZXNzOgogICAgICAgICAgICAgaHR0cGRf
cGlkID0gc2VsZi5fcHJvY2Vzcy5waWQKLSAgICAgICAgcG9ydC5fc2h1dF9kb3duX2h0dHBfc2Vy
dmVyKGh0dHBkX3BpZCkKKyAgICAgICAgc2VsZi5fcG9ydF9vYmouX3NodXRfZG93bl9odHRwX3Nl
cnZlcihodHRwZF9waWQpCiAKICAgICAgICAgaWYgc2VsZi5fcHJvY2VzczoKICAgICAgICAgICAg
IHNlbGYuX3Byb2Nlc3Mud2FpdCgpCkluZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L3dlYnNvY2tldF9zZXJ2ZXIucHkKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJzb2NrZXRfc2Vy
dmVyLnB5CShyZXZpc2lvbiA1NDUyNCkKKysrIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvd2Vic29ja2V0X3NlcnZlci5weQkod29ya2luZyBjb3B5KQpAQCAt
MTc5LDEyICsxNzksMTMgQEAgY2xhc3MgUHlXZWJTb2NrZXQoaHR0cF9zZXJ2ZXIuTGlnaHR0cGQp
OgogICAgICAgICBlbnYgPSBvcy5lbnZpcm9uCiAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSBpbiAo
J2N5Z3dpbicsICd3aW4zMicpOgogICAgICAgICAgICAgZW52WydQQVRIJ10gPSAnJXM7JXMnICUg
KAotICAgICAgICAgICAgICAgIHNlbGYuX3BvcnRfb2JqLl9wYXRoX2Zyb21fYmFzZSgndGhpcmRf
cGFydHknLCAnY3lnd2luJywgJ2JpbicpLAorICAgICAgICAgICAgICAgIHNlbGYuX3BvcnRfb2Jq
LnBhdGhfZnJvbV9jaHJvbWl1bV9iYXNlKCd0aGlyZF9wYXJ0eScsIAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjeWd3aW4nLCAnYmluJyks
CiAgICAgICAgICAgICAgICAgZW52WydQQVRIJ10pCiAKICAgICAgICAgaWYgc3lzLnBsYXRmb3Jt
ID09ICd3aW4zMicgYW5kIHNlbGYuX3JlZ2lzdGVyX2N5Z3dpbjoKLSAgICAgICAgICAgIHNldHVw
X21vdW50ID0gc2VsZi5fcG9ydF9vYmouX3BhdGhfZnJvbV9iYXNlKCd0aGlyZF9wYXJ0eScsCi0g
ICAgICAgICAgICAgICAgICdjeWd3aW4nLCAnc2V0dXBfbW91bnQuYmF0JykKKyAgICAgICAgICAg
IHNldHVwX21vdW50ID0gc2VsZi5fcG9ydF9vYmoucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoCisg
ICAgICAgICAgICAgICAgJ3RoaXJkX3BhcnR5JywgJ2N5Z3dpbicsICdzZXR1cF9tb3VudC5iYXQn
KQogICAgICAgICAgICAgc3VicHJvY2Vzcy5Qb3BlbihzZXR1cF9tb3VudCkud2FpdCgpCiAKICAg
ICAgICAgZW52WydQWVRIT05QQVRIJ10gPSAocHl3ZWJzb2NrZXRfYmFzZSArIG9zLnBhdGgucGF0
aHNlcCArCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48438</attachid>
            <date>2010-02-09 12:44:15 -0800</date>
            <delta_ts>2010-02-10 17:50:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-34739-20100209124414.patch</filename>
            <type>text/plain</type>
            <size>15438</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDU0NTI0KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTAtMDItMDggIERpcmsgUHJhbmtlICA8ZHBy
YW5rZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRml4IHZhcmlvdXMgbWlub3IgYnVncyBrZWVwaW5nIHJ1bi1jaHJvbWl1bS13
ZWJraXQtdGVzdHMgZnJvbSBhY3R1YWxseQorICAgICAgICB3b3JraW5nIG9uIHRoZSBsaW51eCBh
bmQgd2luIHBvcnRzIG9mIENocm9taXVtLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zNDczOQorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvdGVzdF9zaGVsbF90aHJlYWQucHk6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9fX2luaXRfXy5weToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHk6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2xpbnV4LnB5
OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1f
d2luLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvaHR0
cF9zZXJ2ZXIucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC93ZWJzb2NrZXRfc2VydmVyLnB5OgorCiAyMDEwLTAyLTA4ICBBbGV4ZXkgUHJvc2t1cnlha292
ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRl
eDogV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2th
Z2UvdGVzdF9zaGVsbF90aHJlYWQucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvdGVzdF9zaGVsbF90aHJlYWQu
cHkJKHJldmlzaW9uIDU0NTI0KQorKysgV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvdGVzdF9zaGVsbF90aHJlYWQucHkJKHdvcmtpbmcgY29w
eSkKQEAgLTg2LDcgKzg2LDcgQEAgZGVmIHByb2Nlc3Nfb3V0cHV0KHBvcnQsIHRlc3RfaW5mbywg
dGVzdAogICAgICAgICBmaWxlbmFtZSA9IG9zLnBhdGguc3BsaXRleHQoZmlsZW5hbWUpWzBdICsg
Ii1zdGFjay50eHQiCiAgICAgICAgIHBvcnQubWF5YmVfbWFrZV9kaXJlY3Rvcnkob3MucGF0aC5z
cGxpdChmaWxlbmFtZSlbMF0pCiAgICAgICAgIG9wZW4oZmlsZW5hbWUsICJ3YiIpLndyaXRlKGVy
cm9yKQotICAgIGVsc2U6CisgICAgZWxpZiBlcnJvcjoKICAgICAgICAgbG9nZ2luZy5kZWJ1Zygi
UHJldmlvdXMgdGVzdCBvdXRwdXQgZXh0cmEgbGluZXMgYWZ0ZXIgZHVtcDpcbiVzIiAlCiAgICAg
ICAgICAgICBlcnJvcikKIApJbmRleDogV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9fX2luaXRfXy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L19faW5pdF9fLnB5CShyZXZpc2lvbiA1NDUy
NCkKKysrIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvX19p
bml0X18ucHkJKHdvcmtpbmcgY29weSkKQEAgLTMwLDEzICszMCwyMSBAQAogIiIiUG9ydC1zcGVj
aWZpYyBlbnRyeXBvaW50cyBmb3IgdGhlIGxheW91dCB0ZXN0cyB0ZXN0IGluZnJhc3RydWN0dXJl
LiIiIgogCiAKK2ltcG9ydCBzeXMKKworCiBkZWYgZ2V0KHBvcnRfbmFtZT1Ob25lLCBvcHRpb25z
PU5vbmUpOgogICAgICIiIlJldHVybnMgYW4gb2JqZWN0IGltcGxlbWVudGluZyB0aGUgUG9ydCBp
bnRlcmZhY2UuIElmCiAgICAgcG9ydF9uYW1lIGlzIE5vbmUsIHRoaXMgcm91dGluZSBhdHRlbXB0
cyB0byBndWVzcyBhdCB0aGUgbW9zdAogICAgIGFwcHJvcHJpYXRlIHBvcnQgb24gdGhpcyBwbGF0
Zm9ybS4iIiIKICAgICBwb3J0X3RvX3VzZSA9IHBvcnRfbmFtZQogICAgIGlmIHBvcnRfdG9fdXNl
IGlzIE5vbmU6Ci0gICAgICAgIHBvcnRfdG9fdXNlID0gJ2Nocm9taXVtLW1hYycKKyAgICAgICAg
aWYgc3lzLnBsYXRmb3JtID09ICd3aW4zMic6CisgICAgICAgICAgICBwb3J0X3RvX3VzZSA9ICdj
aHJvbWl1bS13aW4nCisgICAgICAgIGVsaWYgc3lzLnBsYXRmb3JtID09ICdsaW51eDInOgorICAg
ICAgICAgICAgcG9ydF90b191c2UgPSAnY2hyb21pdW0tbGludXgnCisgICAgICAgIGVsaWYgc3lz
LnBsYXRmb3JtID09ICdkYXJ3aW4nOgorICAgICAgICAgICAgcG9ydF90b191c2UgPSAnY2hyb21p
dW0tbWFjJwogCiAgICAgaWYgcG9ydF90b191c2UgPT0gJ3Rlc3QnOgogICAgICAgICBpbXBvcnQg
dGVzdApAQCAtNTAsOCArNTgsOCBAQCBkZWYgZ2V0KHBvcnRfbmFtZT1Ob25lLCBvcHRpb25zPU5v
bmUpOgogICAgIGVsaWYgcG9ydF90b191c2Uuc3RhcnRzd2l0aCgnY2hyb21pdW0tbGludXgnKToK
ICAgICAgICAgaW1wb3J0IGNocm9taXVtX2xpbnV4CiAgICAgICAgIHJldHVybiBjaHJvbWl1bV9s
aW51eC5DaHJvbWl1bUxpbnV4UG9ydChwb3J0X25hbWUsIG9wdGlvbnMpCi0gICAgZWxpZiBwb3J0
X3RvX3VzZS5zdGFydHdpdGgoJ2Nocm9taXVtLXdpbicpOgorICAgIGVsaWYgcG9ydF90b191c2Uu
c3RhcnRzd2l0aCgnY2hyb21pdW0td2luJyk6CiAgICAgICAgIGltcG9ydCBjaHJvbWl1bV93aW4K
ICAgICAgICAgcmV0dXJuIGNocm9taXVtX3dpbi5DaHJvbWl1bVdpblBvcnQocG9ydF9uYW1lLCBv
cHRpb25zKQogCi0gICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigndW5zdXBwb3J0ZWQgcG9y
dDogJXMnICUgcG9ydF9uYW1lKQorICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoJ3Vuc3Vw
cG9ydGVkIHBvcnQ6ICVzJyAlIHBvcnRfdG9fdXNlKQpJbmRleDogV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQkocmV2aXNp
b24gNTQ1MjQpCisrKyBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L2Jhc2UucHkJKHdvcmtpbmcgY29weSkKQEAgLTEwNCw3ICsxMDQsNyBAQCBjbGFzcyBQb3J0
KG9iamVjdCk6CiAgICAgICAgICAgICAgICAgcmFpc2UgZQogICAgICAgICBleGNlcHQgVmFsdWVF
cnJvcjoKICAgICAgICAgICAgICMgd29yayBhcm91bmQgYSByYWNlIGNvbmRpdGlvbiBpbiBQeXRo
b24gMi40J3MgaW1wbGVtZW50YXRpb24KLSAgICAgICAgICAgICMgb2Ygc3VicHJvY2Vzcy5Qb3Bl
bgorICAgICAgICAgICAgIyBvZiBzdWJwcm9jZXNzLlBvcGVuLiBTZWUgaHR0cDovL2J1Z3MucHl0
aG9uLm9yZy9pc3N1ZTExOTkyODIgLgogICAgICAgICAgICAgcGFzcwogICAgICAgICByZXR1cm4g
cmVzdWx0CiAKQEAgLTQ4NCw4ICs0ODQsMTMgQEAgY2xhc3MgUG9ydChvYmplY3QpOgogICAgICAg
ICAgICAgIyB0aGUgUG9wZW4gcmFpc2VzIGEgVmFsdWVFcnJvci4KICAgICAgICAgICAgICMgaHR0
cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTEyMzYKICAgICAgICAgICAgIGlmIF93ZGlmZl9hdmFp
bGFibGU6Ci0gICAgICAgICAgICAgICAgd2RpZmYgPSBzdWJwcm9jZXNzLlBvcGVuKGNtZCwKLSAg
ICAgICAgICAgICAgICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSkuY29tbXVuaWNhdGUoKVsw
XQorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgd2RpZmYgPSBzdWJw
cm9jZXNzLlBvcGVuKGNtZCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0ZG91dD1zdWJwcm9j
ZXNzLlBJUEUpLmNvbW11bmljYXRlKClbMF0KKyAgICAgICAgICAgICAgICBleGNlcHQgVmFsdWVF
cnJvciwgZToKKyAgICAgICAgICAgICAgICAgICAgIyBXb3JraW5nIGFyb3VuZCBhIHJhY2UgaW4g
UHl0aG9uIDIuNCdzIGltcGxlbWVudGF0aW9uCisgICAgICAgICAgICAgICAgICAgICMgb2YgUG9w
ZW4oKS4KKyAgICAgICAgICAgICAgICAgICAgd2RpZmYgPSAnJwogICAgICAgICAgICAgICAgIHdk
aWZmID0gY2dpLmVzY2FwZSh3ZGlmZikKICAgICAgICAgICAgICAgICB3ZGlmZiA9IHdkaWZmLnJl
cGxhY2UoJyMjV0RJRkZfREVMIyMnLCAnPHNwYW4gY2xhc3M9ZGVsPicpCiAgICAgICAgICAgICAg
ICAgd2RpZmYgPSB3ZGlmZi5yZXBsYWNlKCcjI1dESUZGX0FERCMjJywgJzxzcGFuIGNsYXNzPWFk
ZD4nKQpJbmRleDogV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9jaHJvbWl1bS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CShyZXZpc2lvbiA1NDUyNCkKKysrIFdlYktp
dFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkJKHdv
cmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAKIAogaW1wb3J0IGxvZ2dpbmcKIGltcG9ydCBv
cworaW1wb3J0IHNodXRpbAogaW1wb3J0IHNpZ25hbAogaW1wb3J0IHN1YnByb2Nlc3MKIGltcG9y
dCBzeXMKSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvY2hyb21pdW1fbGludXgucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9saW51eC5weQkocmV2aXNpb24gNTQ1
MjQpCisrKyBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2No
cm9taXVtX2xpbnV4LnB5CSh3b3JraW5nIGNvcHkpCkBAIC00Nyw5ICs0Nyw5IEBAIGNsYXNzIENo
cm9taXVtTGludXhQb3J0KGNocm9taXVtLkNocm9taXUKIAogICAgIGRlZiBiYXNlbGluZV9zZWFy
Y2hfcGF0aChzZWxmKToKICAgICAgICAgcmV0dXJuIFtzZWxmLmJhc2VsaW5lX3BhdGgoKSwKLSAg
ICAgICAgICAgICAgICBzZWxmLmNocm9taXVtX2Jhc2VsaW5lX3BhdGgoJ2Nocm9taXVtLXdpbicp
LAotICAgICAgICAgICAgICAgIHNlbGYud2Via2l0X2Jhc2VsaW5lX3BhdGgoJ3dpbicpLAotICAg
ICAgICAgICAgICAgIHNlbGYud2Via2l0X2Jhc2VsaW5lX3BhdGgoJ21hYycpXQorICAgICAgICAg
ICAgICAgIHNlbGYuX2Nocm9taXVtX2Jhc2VsaW5lX3BhdGgoJ2Nocm9taXVtLXdpbicpLAorICAg
ICAgICAgICAgICAgIHNlbGYuX3dlYmtpdF9iYXNlbGluZV9wYXRoKCd3aW4nKSwKKyAgICAgICAg
ICAgICAgICBzZWxmLl93ZWJraXRfYmFzZWxpbmVfcGF0aCgnbWFjJyldCiAKICAgICBkZWYgY2hl
Y2tfc3lzX2RlcHMoc2VsZik6CiAgICAgICAgICMgV2UgaGF2ZSBubyBwbGF0Zm9ybS1zcGVjaWZp
YyBkZXBlbmRlbmNpZXMgdG8gY2hlY2suCkBAIC03NCw4ICs3NCwxMyBAQCBjbGFzcyBDaHJvbWl1
bUxpbnV4UG9ydChjaHJvbWl1bS5DaHJvbWl1CiAgICAgIwogCiAgICAgZGVmIF9idWlsZF9wYXRo
KHNlbGYsICpjb21wcyk6Ci0gICAgICAgIHJldHVybiBzZWxmLnBhdGhfZnJvbV9jaHJvbWl1bV9i
YXNlKCdzY29uc2J1aWxkJywgc2VsZi5fb3B0aW9ucy50YXJnZXQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICpjb21wcykKKyAgICAgICAgYmFzZSA9IHNlbGYu
cGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoKQorICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhvcy5w
YXRoLmpvaW4oYmFzZSwgJ3Njb25zYnVpbGQnKSk6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5w
YXRoX2Zyb21fY2hyb21pdW1fYmFzZSgnc2NvbnNidWlsZCcsCisgICAgICAgICAgICAgICAgc2Vs
Zi5fb3B0aW9ucy50YXJnZXQsICpjb21wcykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJl
dHVybiBzZWxmLnBhdGhfZnJvbV9jaHJvbWl1bV9iYXNlKCdvdXQnLAorICAgICAgICAgICAgICAg
IHNlbGYuX29wdGlvbnMudGFyZ2V0LCAqY29tcHMpCiAKICAgICBkZWYgX2tpbGxfcHJvY2Vzcyhz
ZWxmLCBwaWQpOgogICAgICAgICAiIiJGb3JjZWZ1bGx5IGtpbGwgdGhlIHByb2Nlc3MuCkluZGV4
OiBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVt
X3dpbi5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L2Nocm9taXVtX3dpbi5weQkocmV2aXNpb24gNTQ1MjQpCisrKyBXZWJLaXRU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3dpbi5weQko
d29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQCBpbXBvcnQgb3MKIGltcG9ydCBwbGF0Zm9y
bQogaW1wb3J0IHNpZ25hbAogaW1wb3J0IHN1YnByb2Nlc3MKK2ltcG9ydCBzeXMKIAogaW1wb3J0
IGNocm9taXVtCiAKQEAgLTQ2LDEzICs0NywxNCBAQCBjbGFzcyBDaHJvbWl1bVdpblBvcnQoY2hy
b21pdW0uQ2hyb21pdW1QCiAgICAgICAgIGNocm9taXVtLkNocm9taXVtUG9ydC5fX2luaXRfXyhz
ZWxmLCBwb3J0X25hbWUsIG9wdGlvbnMpCiAKICAgICBkZWYgYmFzZWxpbmVfc2VhcmNoX3BhdGgo
c2VsZik6CisgICAgICAgIGRpcnMgPSBbXQogICAgICAgICBpZiBzZWxmLl9uYW1lID09ICdjaHJv
bWl1bS13aW4teHAnOgotICAgICAgICAgICAgZGlycy5hcHBlbmQoc2VsZi5iYXNlbGluZV9wYXRo
KHNlbGYuX25hbWUpKQorICAgICAgICAgICAgZGlycy5hcHBlbmQoc2VsZi5fY2hyb21pdW1fYmFz
ZWxpbmVfcGF0aChzZWxmLl9uYW1lKSkKICAgICAgICAgaWYgc2VsZi5fbmFtZSBpbiAoJ2Nocm9t
aXVtLXdpbi14cCcsICdjaHJvbWl1bS13aW4tdmlzdGEnKToKLSAgICAgICAgICAgIGRpcnMuYXBw
ZW5kKHNlbGYuYmFzZWxpbmVfcGF0aCgnY2hyb21pdW0td2luLXZpc3RhJykpCi0gICAgICAgIGRp
cnMuYXBwZW5kKHNlbGYuYmFzZWxpbmVfcGF0aCgnY2hyb21pdW0td2luJykpCi0gICAgICAgIGRp
cnMuYXBwZW5kKHNlbGYud2Via2l0X2Jhc2VsaW5lX3BhdGgoJ3dpbicpKQotICAgICAgICBkaXJz
LmFwcGVuZChzZWxmLndlYmtpdF9iYXNlbGluZV9wYXRoKCdtYWMnKSkKKyAgICAgICAgICAgIGRp
cnMuYXBwZW5kKHNlbGYuX2Nocm9taXVtX2Jhc2VsaW5lX3BhdGgoJ2Nocm9taXVtLXdpbi12aXN0
YScpKQorICAgICAgICBkaXJzLmFwcGVuZChzZWxmLl9jaHJvbWl1bV9iYXNlbGluZV9wYXRoKCdj
aHJvbWl1bS13aW4nKSkKKyAgICAgICAgZGlycy5hcHBlbmQoc2VsZi5fd2Via2l0X2Jhc2VsaW5l
X3BhdGgoJ3dpbicpKQorICAgICAgICBkaXJzLmFwcGVuZChzZWxmLl93ZWJraXRfYmFzZWxpbmVf
cGF0aCgnbWFjJykpCiAgICAgICAgIHJldHVybiBkaXJzCiAKICAgICBkZWYgY2hlY2tfc3lzX2Rl
cHMoc2VsZik6CkBAIC02MiwxMSArNjQsMTUgQEAgY2xhc3MgQ2hyb21pdW1XaW5Qb3J0KGNocm9t
aXVtLkNocm9taXVtUAogICAgIGRlZiBnZXRfYWJzb2x1dGVfcGF0aChzZWxmLCBmaWxlbmFtZSk6
CiAgICAgICAgICIiIlJldHVybiB0aGUgYWJzb2x1dGUgcGF0aCBpbiB1bml4IGZvcm1hdCBmb3Ig
dGhlIGdpdmVuIGZpbGVuYW1lLiIiIgogICAgICAgICBhYnNwYXRoID0gb3MucGF0aC5hYnNwYXRo
KGZpbGVuYW1lKQotICAgICAgICByZXR1cm4gcGF0aC5yZXBsYWNlKCdcXCcsICcvJykKKyAgICAg
ICAgcmV0dXJuIGFic3BhdGgucmVwbGFjZSgnXFwnLCAnLycpCiAKICAgICBkZWYgbnVtX2NvcmVz
KHNlbGYpOgogICAgICAgICByZXR1cm4gaW50KG9zLmVudmlyb24uZ2V0KCdOVU1CRVJfT0ZfUFJP
Q0VTU09SUycsIDEpKQogCisgICAgZGVmIHJlbGF0aXZlX3Rlc3RfZmlsZW5hbWUoc2VsZiwgZmls
ZW5hbWUpOgorICAgICAgICBwYXRoID0gZmlsZW5hbWVbbGVuKHNlbGYubGF5b3V0X3Rlc3RzX2Rp
cigpKSArIDE6XQorICAgICAgICByZXR1cm4gcGF0aC5yZXBsYWNlKCdcXCcsICcvJykKKwogICAg
IGRlZiB0ZXN0X3BsYXRmb3JtX25hbWUoc2VsZik6CiAgICAgICAgICMgV2UgcmV0dXJuICd3aW4t
eHAnLCBub3QgJ2Nocm9taXVtLXdpbi14cCcgaGVyZSwgZm9yIGNvbnZlbmllbmNlLgogICAgICAg
ICByZXR1cm4gJ3dpbicgKyBzZWxmLnZlcnNpb24oKQpAQCAtMTEzLDEzICsxMTksMTMgQEAgY2xh
c3MgQ2hyb21pdW1XaW5Qb3J0KGNocm9taXVtLkNocm9taXVtUAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICdjeWd3aW4taHR0cGQuY29uZicpCiAKICAgICBkZWYgX3BhdGhfdG9fbGlnaHR0
cGQoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLl9saWdodHRwX3BhdGgoJ0xpZ2h0VFBELmV4
ZScpCisgICAgICAgIHJldHVybiBzZWxmLl9saWdodHRwZF9wYXRoKCdMaWdodFRQRC5leGUnKQog
CiAgICAgZGVmIF9wYXRoX3RvX2xpZ2h0dHBkX21vZHVsZXMoc2VsZik6Ci0gICAgICAgIHJldHVy
biBzZWxmLl9saWdodHRwX3BhdGgoJ2xpYicpCisgICAgICAgIHJldHVybiBzZWxmLl9saWdodHRw
ZF9wYXRoKCdsaWInKQogCiAgICAgZGVmIF9wYXRoX3RvX2xpZ2h0dHBkX3BocChzZWxmKToKLSAg
ICAgICAgcmV0dXJuIHNlbGYuX2xpZ2h0dHBfcGF0aCgncGhwNScsICdwaHAtY2dpLmV4ZScpCisg
ICAgICAgIHJldHVybiBzZWxmLl9saWdodHRwZF9wYXRoKCdwaHA1JywgJ3BocC1jZ2kuZXhlJykK
IAogICAgIGRlZiBfcGF0aF90b19kcml2ZXIoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLl9i
dWlsZF9wYXRoKCd0ZXN0X3NoZWxsLmV4ZScpCkBAIC0xMjgsNyArMTM0LDcgQEAgY2xhc3MgQ2hy
b21pdW1XaW5Qb3J0KGNocm9taXVtLkNocm9taXVtUAogICAgICAgICByZXR1cm4gc2VsZi5fYnVp
bGRfcGF0aCgnbGF5b3V0X3Rlc3RfaGVscGVyLmV4ZScpCiAKICAgICBkZWYgX3BhdGhfdG9faW1h
Z2VfZGlmZihzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX2J1aWxkX3BhdGgoJ2xheW91dF90
ZXN0X2hlbHBlci5leGUnKQorICAgICAgICByZXR1cm4gc2VsZi5fYnVpbGRfcGF0aCgnaW1hZ2Vf
ZGlmZi5leGUnKQogCiAgICAgZGVmIF9wYXRoX3RvX3dkaWZmKHNlbGYpOgogICAgICAgICByZXR1
cm4gc2VsZi5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSgndGhpcmRfcGFydHknLCAnY3lnd2luJywg
J2JpbicsCkluZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L2h0dHBfc2VydmVyLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvaHR0cF9zZXJ2ZXIucHkJKHJldmlzaW9uIDU0NTI0KQor
KysgV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9odHRwX3Nl
cnZlci5weQkod29ya2luZyBjb3B5KQpAQCAtNjYsMTMgKzY2LDEzIEBAIGNsYXNzIExpZ2h0dHBk
KGh0dHBfc2VydmVyX2Jhc2UuSHR0cFNlcnYKICAgICAgICAgICAgIHNlbGYuX3BvcnQgPSBpbnQo
c2VsZi5fcG9ydCkKIAogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBfd2Via2l0X3Rlc3RzID0g
b3MucGF0aC5qb2luKHNlbGYuX3BvcnRfb2JqLmxheW91dF90ZXN0c19kaXIoKSwKLSAgICAgICAg
ICAgICAgICAgJ2h0dHAnLCAndGVzdHMnKQotICAgICAgICAgICAgX3dlYmtpdF90ZXN0cyA9IG9z
LnBhdGguam9pbihzZWxmLl9wb3J0X29iai5sYXlvdXRfdGVzdHNfZGlyKCksCi0gICAgICAgICAg
ICAgICAgICdmYXN0JywgJ2pzJywgJ3Jlc291cmNlcycpCisgICAgICAgICAgICBzZWxmLl93ZWJr
aXRfdGVzdHMgPSBvcy5wYXRoLmpvaW4oCisgICAgICAgICAgICAgICAgc2VsZi5fcG9ydF9vYmou
bGF5b3V0X3Rlc3RzX2RpcigpLCAnaHR0cCcsICd0ZXN0cycpCisgICAgICAgICAgICBzZWxmLl9q
c190ZXN0X3Jlc291cmNlID0gb3MucGF0aC5qb2luKAorICAgICAgICAgICAgICAgIHNlbGYuX3Bv
cnRfb2JqLmxheW91dF90ZXN0c19kaXIoKSwgJ2Zhc3QnLCAnanMnLCAncmVzb3VyY2VzJykKICAg
ICAgICAgZXhjZXB0OgotICAgICAgICAgICAgX3dlYmtpdF90ZXN0cyA9IE5vbmUKLSAgICAgICAg
ICAgIF9qc190ZXN0X3Jlc291cmNlID0gTm9uZQorICAgICAgICAgICAgc2VsZi5fd2Via2l0X3Rl
c3RzID0gTm9uZQorICAgICAgICAgICAgc2VsZi5fanNfdGVzdF9yZXNvdXJjZSA9IE5vbmUKIAog
ICAgICAgICAjIFNlbGYgZ2VuZXJhdGVkIGNlcnRpZmljYXRlIGZvciBTU0wgc2VydmVyIChmb3Ig
Y2xpZW50IGNlcnQgZ2V0CiAgICAgICAgICMgPGJhc2UtcGF0aD5cY2hyb21lXHRlc3RcZGF0YVxz
c2xcY2VydHNccm9vdF9jYV9jZXJ0LmNydCkKQEAgLTgwLDE0ICs4MCwxNCBAQCBjbGFzcyBMaWdo
dHRwZChodHRwX3NlcnZlcl9iYXNlLkh0dHBTZXJ2CiAgICAgICAgICAgICBvcy5wYXRoLmRpcm5h
bWUob3MucGF0aC5hYnNwYXRoKF9fZmlsZV9fKSksICdodHRwZDIucGVtJykKIAogICAgICAgICAj
IE9uZSBtYXBwaW5nIHdoZXJlIHdlIGNhbiBnZXQgdG8gZXZlcnl0aGluZwotICAgICAgICBWSVJU
VUFMQ09ORklHID0gW10KKyAgICAgICAgc2VsZi5WSVJUVUFMQ09ORklHID0gW10KIAotICAgICAg
ICBpZiBfd2Via2l0X3Rlc3RzOgotICAgICAgICAgICAgVklSVFVBTENPTkZJRy5leHRlbmQoCisg
ICAgICAgIGlmIHNlbGYuX3dlYmtpdF90ZXN0czoKKyAgICAgICAgICAgIHNlbGYuVklSVFVBTENP
TkZJRy5leHRlbmQoCiAgICAgICAgICAgICAgICAjIFRocmVlIG1hcHBpbmdzIChvbmUgd2l0aCBT
U0wpIGZvciBMYXlvdXRUZXN0cyBodHRwIHRlc3RzCi0gICAgICAgICAgICAgICBbeydwb3J0Jzog
ODAwMCwgJ2RvY3Jvb3QnOiBfd2Via2l0X3Rlc3RzfSwKLSAgICAgICAgICAgICAgICB7J3BvcnQn
OiA4MDgwLCAnZG9jcm9vdCc6IF93ZWJraXRfdGVzdHN9LAotICAgICAgICAgICAgICAgIHsncG9y
dCc6IDg0NDMsICdkb2Nyb290JzogX3dlYmtpdF90ZXN0cywKKyAgICAgICAgICAgICAgIFt7J3Bv
cnQnOiA4MDAwLCAnZG9jcm9vdCc6IHNlbGYuX3dlYmtpdF90ZXN0c30sCisgICAgICAgICAgICAg
ICAgeydwb3J0JzogODA4MCwgJ2RvY3Jvb3QnOiBzZWxmLl93ZWJraXRfdGVzdHN9LAorICAgICAg
ICAgICAgICAgIHsncG9ydCc6IDg0NDMsICdkb2Nyb290Jzogc2VsZi5fd2Via2l0X3Rlc3RzLAog
ICAgICAgICAgICAgICAgICAnc3NsY2VydCc6IHNlbGYuX3BlbV9maWxlfV0pCiAKICAgICBkZWYg
aXNfcnVubmluZyhzZWxmKToKQEAgLTk3LDkgKzk3LDggQEAgY2xhc3MgTGlnaHR0cGQoaHR0cF9z
ZXJ2ZXJfYmFzZS5IdHRwU2VydgogICAgICAgICBpZiBzZWxmLmlzX3J1bm5pbmcoKToKICAgICAg
ICAgICAgIHJhaXNlICdMaWdodHRwZCBhbHJlYWR5IHJ1bm5pbmcnCiAKLSAgICAgICAgYmFzZV9j
b25mX2ZpbGUgPSBzZWxmLl9wb3J0X29iai5wYXRoX2Zyb21fYmFzZSgndGhpcmRfcGFydHknLAot
ICAgICAgICAgICAgJ1dlYktpdFRvb2xzJywgJ1NjcmlwdHMnLCAnd2Via2l0cHknLCAnbGF5b3V0
X3Rlc3RzJywKLSAgICAgICAgICAgICdwb3J0JywgJ2xpZ2h0dHBkLmNvbmYnKQorICAgICAgICBi
YXNlX2NvbmZfZmlsZSA9IHNlbGYuX3BvcnRfb2JqLnBhdGhfZnJvbV93ZWJraXRfYmFzZSgnV2Vi
S2l0VG9vbHMnLAorICAgICAgICAgICAgJ1NjcmlwdHMnLCAnd2Via2l0cHknLCAnbGF5b3V0X3Rl
c3RzJywgJ3BvcnQnLCAnbGlnaHR0cGQuY29uZicpCiAgICAgICAgIG91dF9jb25mX2ZpbGUgPSBv
cy5wYXRoLmpvaW4oc2VsZi5fb3V0cHV0X2RpciwgJ2xpZ2h0dHBkLmNvbmYnKQogICAgICAgICB0
aW1lX3N0ciA9IHRpbWUuc3RyZnRpbWUoIiVkJWIlWS0lSCVNJVMiKQogICAgICAgICBhY2Nlc3Nf
ZmlsZV9uYW1lID0gImFjY2Vzcy5sb2ctIiArIHRpbWVfc3RyICsgIi50eHQiCkBAIC0xNzQsOCAr
MTczLDcgQEAgY2xhc3MgTGlnaHR0cGQoaHR0cF9zZXJ2ZXJfYmFzZS5IdHRwU2VydgogICAgICAg
ICBtb2R1bGVfcGF0aCA9IHNlbGYuX3BvcnRfb2JqLl9wYXRoX3RvX2xpZ2h0dHBkX21vZHVsZXMo
KQogICAgICAgICBzdGFydF9jbWQgPSBbZXhlY3V0YWJsZSwKICAgICAgICAgICAgICAgICAgICAg
ICMgTmV3bHkgd3JpdHRlbiBjb25maWcgZmlsZQotICAgICAgICAgICAgICAgICAgICAgJy1mJywg
c2VsZi5fcG9ydF9vYmouX3BhdGhfZnJvbV9iYXNlKHNlbGYuX291dHB1dF9kaXIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbGlnaHR0
cGQuY29uZicpLAorICAgICAgICAgICAgICAgICAgICAgJy1mJywgb3MucGF0aC5qb2luKHNlbGYu
X291dHB1dF9kaXIsICdsaWdodHRwZC5jb25mJyksCiAgICAgICAgICAgICAgICAgICAgICAjIFdo
ZXJlIGl0IGNhbiBmaW5kIGl0cyBtb2R1bGUgZHluYW1pYyBsaWJyYXJpZXMKICAgICAgICAgICAg
ICAgICAgICAgICctbScsIG1vZHVsZV9wYXRoXQogCkBAIC0xOTcsMTIgKzE5NSwxMyBAQCBjbGFz
cyBMaWdodHRwZChodHRwX3NlcnZlcl9iYXNlLkh0dHBTZXJ2CiAgICAgICAgIGVudiA9IG9zLmVu
dmlyb24KICAgICAgICAgaWYgc3lzLnBsYXRmb3JtIGluICgnY3lnd2luJywgJ3dpbjMyJyk6CiAg
ICAgICAgICAgICBlbnZbJ1BBVEgnXSA9ICclczslcycgJSAoCi0gICAgICAgICAgICAgICAgcG9y
dC5wYXRoX2Zyb21fYmFzZSgndGhpcmRfcGFydHknLCAnY3lnd2luJywgJ2JpbicpLAorICAgICAg
ICAgICAgICAgIHNlbGYuX3BvcnRfb2JqLnBhdGhfZnJvbV9jaHJvbWl1bV9iYXNlKCd0aGlyZF9w
YXJ0eScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJ2N5Z3dpbicsICdiaW4nKSwKICAgICAgICAgICAgICAgICBlbnZbJ1BBVEgnXSkKIAog
ICAgICAgICBpZiBzeXMucGxhdGZvcm0gPT0gJ3dpbjMyJyBhbmQgc2VsZi5fcmVnaXN0ZXJfY3ln
d2luOgotICAgICAgICAgICAgc2V0dXBfbW91bnQgPSBwb3J0LnBhdGhfZnJvbV9iYXNlKCd0aGly
ZF9wYXJ0eScsICdjeWd3aW4nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICdzZXR1cF9tb3VudC5iYXQnKQorICAgICAgICAgICAgc2V0dXBfbW91
bnQgPSBwb3J0LnBhdGhfZnJvbV9jaHJvbWl1bV9iYXNlKCd0aGlyZF9wYXJ0eScsCisgICAgICAg
ICAgICAgICAgJ2N5Z3dpbicsICdzZXR1cF9tb3VudC5iYXQnKQogICAgICAgICAgICAgc3VicHJv
Y2Vzcy5Qb3BlbihzZXR1cF9tb3VudCkud2FpdCgpCiAKICAgICAgICAgbG9nZ2luZy5kZWJ1Zygn
U3RhcnRpbmcgaHR0cCBzZXJ2ZXInKQpAQCAtMjI5LDcgKzIyOCw3IEBAIGNsYXNzIExpZ2h0dHBk
KGh0dHBfc2VydmVyX2Jhc2UuSHR0cFNlcnYKICAgICAgICAgaHR0cGRfcGlkID0gTm9uZQogICAg
ICAgICBpZiBzZWxmLl9wcm9jZXNzOgogICAgICAgICAgICAgaHR0cGRfcGlkID0gc2VsZi5fcHJv
Y2Vzcy5waWQKLSAgICAgICAgcG9ydC5fc2h1dF9kb3duX2h0dHBfc2VydmVyKGh0dHBkX3BpZCkK
KyAgICAgICAgc2VsZi5fcG9ydF9vYmouX3NodXRfZG93bl9odHRwX3NlcnZlcihodHRwZF9waWQp
CiAKICAgICAgICAgaWYgc2VsZi5fcHJvY2VzczoKICAgICAgICAgICAgIHNlbGYuX3Byb2Nlc3Mu
d2FpdCgpCkluZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L3dlYnNvY2tldF9zZXJ2ZXIucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJzb2NrZXRfc2VydmVyLnB5CShyZXZpc2lv
biA1NDUyNCkKKysrIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvd2Vic29ja2V0X3NlcnZlci5weQkod29ya2luZyBjb3B5KQpAQCAtMTc5LDEyICsxNzksMTMg
QEAgY2xhc3MgUHlXZWJTb2NrZXQoaHR0cF9zZXJ2ZXIuTGlnaHR0cGQpOgogICAgICAgICBlbnYg
PSBvcy5lbnZpcm9uCiAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSBpbiAoJ2N5Z3dpbicsICd3aW4z
MicpOgogICAgICAgICAgICAgZW52WydQQVRIJ10gPSAnJXM7JXMnICUgKAotICAgICAgICAgICAg
ICAgIHNlbGYuX3BvcnRfb2JqLl9wYXRoX2Zyb21fYmFzZSgndGhpcmRfcGFydHknLCAnY3lnd2lu
JywgJ2JpbicpLAorICAgICAgICAgICAgICAgIHNlbGYuX3BvcnRfb2JqLnBhdGhfZnJvbV9jaHJv
bWl1bV9iYXNlKCd0aGlyZF9wYXJ0eScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJ2N5Z3dpbicsICdiaW4nKSwKICAgICAgICAgICAgICAg
ICBlbnZbJ1BBVEgnXSkKIAogICAgICAgICBpZiBzeXMucGxhdGZvcm0gPT0gJ3dpbjMyJyBhbmQg
c2VsZi5fcmVnaXN0ZXJfY3lnd2luOgotICAgICAgICAgICAgc2V0dXBfbW91bnQgPSBzZWxmLl9w
b3J0X29iai5fcGF0aF9mcm9tX2Jhc2UoJ3RoaXJkX3BhcnR5JywKLSAgICAgICAgICAgICAgICAg
J2N5Z3dpbicsICdzZXR1cF9tb3VudC5iYXQnKQorICAgICAgICAgICAgc2V0dXBfbW91bnQgPSBz
ZWxmLl9wb3J0X29iai5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSgKKyAgICAgICAgICAgICAgICAn
dGhpcmRfcGFydHknLCAnY3lnd2luJywgJ3NldHVwX21vdW50LmJhdCcpCiAgICAgICAgICAgICBz
dWJwcm9jZXNzLlBvcGVuKHNldHVwX21vdW50KS53YWl0KCkKIAogICAgICAgICBlbnZbJ1BZVEhP
TlBBVEgnXSA9IChweXdlYnNvY2tldF9iYXNlICsgb3MucGF0aC5wYXRoc2VwICsK
</data>

          </attachment>
      

    </bug>

</bugzilla>