<?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>54612</bug_id>
          
          <creation_ts>2011-02-16 20:15:12 -0800</creation_ts>
          <short_desc>keyboard support for extending/shrinking comment context</short_desc>
          <delta_ts>2011-02-20 23:21:52 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ojan Vafai">ojan</reporter>
          <assigned_to name="Ojan Vafai">ojan</assigned_to>
          <cc>abarth</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>352565</commentid>
    <comment_count>0</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-02-16 20:15:12 -0800</bug_when>
    <thetext>keyboard support for extending/shrinking comment context</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352568</commentid>
    <comment_count>1</comment_count>
      <attachid>82747</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-02-16 20:18:13 -0800</bug_when>
    <thetext>Created attachment 82747
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>353387</commentid>
    <comment_count>2</comment_count>
      <attachid>82912</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-02-17 20:58:36 -0800</bug_when>
    <thetext>Created attachment 82912
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354371</commentid>
    <comment_count>3</comment_count>
      <attachid>83116</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-02-20 19:08:15 -0800</bug_when>
    <thetext>Created attachment 83116
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354415</commentid>
    <comment_count>4</comment_count>
      <attachid>83116</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-02-20 21:58:40 -0800</bug_when>
    <thetext>Comment on attachment 83116
Patch

Removing review flag until bug 54849 is resolved since it will simplify this patch some.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354426</commentid>
    <comment_count>5</comment_count>
      <attachid>83130</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-02-20 22:55:53 -0800</bug_when>
    <thetext>Created attachment 83130
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354431</commentid>
    <comment_count>6</comment_count>
      <attachid>83130</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-02-20 23:08:43 -0800</bug_when>
    <thetext>Comment on attachment 83130
Patch

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

Interesting...  You should add this to the help screen.  :)

&gt; Websites/bugs.webkit.org/code-review.js:82
&gt; +    up: 38

Sigh at ie trailing comma bug...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354435</commentid>
    <comment_count>7</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-02-20 23:21:52 -0800</bug_when>
    <thetext>Committed r79191: &lt;http://trac.webkit.org/changeset/79191&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82747</attachid>
            <date>2011-02-16 20:18:13 -0800</date>
            <delta_ts>2011-02-17 20:58:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54612-20110217151810.patch</filename>
            <type>text/plain</type>
            <size>8086</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzg3NzUKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL2J1Z3Mud2Vi
a2l0Lm9yZy9DaGFuZ2VMb2cgYi9XZWJzaXRlcy9idWdzLndlYmtpdC5vcmcvQ2hhbmdlTG9nCmlu
ZGV4IGE0NzAzMWZmY2RkODI1OTUzNjAyYTk0NzVkNDkxNzdmOWYyZWQyYzEuLjlmMzhiYjk1OTQ0
MGZlMDEzZTkxYzBiMGIyYTZiZWE0YWQzNzIzODYgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL2J1Z3Mu
d2Via2l0Lm9yZy9DaGFuZ2VMb2cKKysrIGIvV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDExLTAyLTE2ICBPamFuIFZhZmFpICA8b2phbkBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAga2V5Ym9hcmQgc3VwcG9ydCBmb3IgZXh0ZW5kaW5nL3Nocmlua2luZyBjb21tZW50IGNvbnRl
eHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0NjEy
CisKKyAgICAgICAgY3RybCtzaGlmdCt1cC9kb3duIHdpbGwgZXh0ZW5kL3NocmluayB0aGUgY29t
bWVudCBjb250ZXh0IHdoZW4KKyAgICAgICAgYSBjb21tZW50IGlzIGZvY3VzZWQgb3Igd2hlbiBv
bmUgaXMgYmVpbmcgZWRpdGVkLgorCisgICAgICAgIEFsc28sIHN3aXRjaCBvdmVyIHRvIHVzaW5n
IGtleWRvd24gaW5zdGVhZCBvZiBrZXlwcmVzcyBldmVudHMuCisgICAgICAgIFRoaXMgbGV0cyB1
cyBzaGFyZSBjb2RlIGZvciBoYW5kbGluZyBlc2NhcGUgYW5kIG90aGVyIGtleSBldmVudHMuCisg
ICAgICAgIEFsc28sIGtleXByZXNzIGlzIGV2aWwgYW5kIHNob3VsZCBkaWUuCisKKyAgICAgICAg
KiBjb2RlLXJldmlldy5qczoKKwogMjAxMS0wMi0xNCAgT2phbiBWYWZhaSAgPG9qYW5AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRpZmYgLS1naXQgYS9X
ZWJzaXRlcy9idWdzLndlYmtpdC5vcmcvY29kZS1yZXZpZXcuanMgYi9XZWJzaXRlcy9idWdzLndl
YmtpdC5vcmcvY29kZS1yZXZpZXcuanMKaW5kZXggMDk2N2E1ZmY4Y2EyNTNmZjdlNWNjNjYwMzI2
Mjc5ZTRlMGVlMzEyNy4uZTgxMzdiYmU5NDVjN2Y0ODRiODFhY2YwMTczN2ZmZGQ0OTZhZDgwOCAx
MDA2NDQKLS0tIGEvV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL2NvZGUtcmV2aWV3LmpzCisrKyBi
L1dlYnNpdGVzL2J1Z3Mud2Via2l0Lm9yZy9jb2RlLXJldmlldy5qcwpAQCAtMTQwLDkgKzE0MCw3
IEBAIHZhciBDT0RFX1JFVklFV19VTklUVEVTVDsKICAgICB2YXIgc3RhcnQgPSBudW1iZXJGcm9t
KHN0YXJ0X2xpbmVfaWQpOwogICAgIHZhciBlbmQgPSBudW1iZXJGcm9tKGVuZF9saW5lX2lkKTsK
ICAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPD0gZW5kOyBpKyspIHsKLSAgICAgIHZhciBsaW5l
ID0gJCgnI2xpbmUnICsgaSk7Ci0gICAgICBsaW5lLmFkZENsYXNzKCdjb21tZW50Q29udGV4dCcp
OwotICAgICAgYWRkRGF0YUNvbW1lbnRCYXNlTGluZShsaW5lLCBlbmRfbGluZV9pZCk7CisgICAg
ICBhZGREYXRhQ29tbWVudEJhc2VMaW5lKCQoJyNsaW5lJyArIGkpLCBlbmRfbGluZV9pZCk7CiAg
ICAgfQogCiAgICAgdmFyIGNvbW1lbnRfYmxvY2sgPSBjcmVhdGVDb21tZW50Rm9yKGxpbmUpOwpA
QCAtMTM2OCwxMiArMTM2Niw2IEBAIHZhciBDT0RFX1JFVklFV19VTklUVEVTVDsKIAogICB2YXIg
RElSRUNUSU9OID0ge0ZPUldBUkQ6IDEsIEJBQ0tXQVJEOiAyfTsKIAotICB2YXIga0NoYXJDb2Rl
Rm9yTiA9ICduJy5jaGFyQ29kZUF0KDApOwotICB2YXIga0NoYXJDb2RlRm9yUCA9ICdwJy5jaGFy
Q29kZUF0KDApOwotICB2YXIga0NoYXJDb2RlRm9ySiA9ICdqJy5jaGFyQ29kZUF0KDApOwotICB2
YXIga0NoYXJDb2RlRm9ySyA9ICdrJy5jaGFyQ29kZUF0KDApOwotICB2YXIga0NoYXJDb2RlRm9y
RW50ZXIgPSAnXHInLmNoYXJDb2RlQXQoMCk7Ci0KICAgZnVuY3Rpb24gaXNDb21tZW50KG5vZGUp
IHsKICAgICByZXR1cm4gbm9kZS5oYXNDbGFzcygnZnJvemVuQ29tbWVudCcpIHx8IG5vZGUuaGFz
Q2xhc3MoJ3ByZXZpb3VzQ29tbWVudCcpIHx8IG5vZGUuaGFzQ2xhc3MoJ292ZXJhbGxDb21tZW50
cycpOwogICB9CkBAIC0xMzgyLDQ0ICsxMzc0LDEyMCBAQCB2YXIgQ09ERV9SRVZJRVdfVU5JVFRF
U1Q7CiAgICAgcmV0dXJuIG5vZGUuaGFzQ2xhc3MoJ0RpZmZCbG9jaycpOwogICB9CiAKLSAgJCgn
dGV4dGFyZWEnKS5saXZlKCdrZXlkb3duJywgZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHVuaWNvZGVf
ZXNjYXBlID0gJ1UrMDAxQic7Ci0gICAgaWYgKGV2ZW50LmtleUlkZW50aWZpZXIgPT0gdW5pY29k
ZV9lc2NhcGUpCisgIGZ1bmN0aW9uIGNvbW1lbnRUZXh0YXJlYUZvcktleVRhcmdldChrZXlfdGFy
Z2V0KSB7CisgICAgaWYgKGtleV90YXJnZXQubm9kZU5hbWUgPT0gJ1RFWFRBUkVBJykKKyAgICAg
IHJldHVybiAkKGtleV90YXJnZXQpOworCisgICAgdmFyIGNvbW1lbnRfdGV4dGFyZWEgPSAkKCcu
Zm9jdXNlZCcpLnByZXYoKS5maW5kKCd0ZXh0YXJlYScpOworICAgIGlmICghY29tbWVudF90ZXh0
YXJlYS5zaXplKCkpCisgICAgICByZXR1cm4gbnVsbDsKKyAgICByZXR1cm4gY29tbWVudF90ZXh0
YXJlYTsKKyAgfQorCisgIGZ1bmN0aW9uIGV4dGVuZENvbW1lbnRDb250ZXh0VXAoa2V5X3Rhcmdl
dCkgeworICAgIHZhciBjb21tZW50X3RleHRhcmVhID0gY29tbWVudFRleHRhcmVhRm9yS2V5VGFy
Z2V0KGtleV90YXJnZXQpOworICAgIGlmICghY29tbWVudF90ZXh0YXJlYSkKKyAgICAgIHJldHVy
bjsKKworICAgIHZhciBjb21tZW50X2Jhc2VfbGluZSA9IGNvbW1lbnRfdGV4dGFyZWEuYXR0cign
ZGF0YS1jb21tZW50LWZvcicpOworICAgIHZhciBkaWZmX3NlY3Rpb24gPSBkaWZmU2VjdGlvbkZv
cihjb21tZW50X3RleHRhcmVhKTsKKyAgICB2YXIgbGluZXMgPSAkKCcuTGluZScsIGRpZmZfc2Vj
dGlvbik7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaW5lcy5sZW5ndGggLSAxOyBpKyspIHsK
KyAgICAgIGlmIChoYXNEYXRhQ29tbWVudEJhc2VMaW5lKGxpbmVzW2kgKyAxXSwgY29tbWVudF9i
YXNlX2xpbmUpKSB7CisgICAgICAgIGFkZERhdGFDb21tZW50QmFzZUxpbmUobGluZXNbaV0sIGNv
bW1lbnRfYmFzZV9saW5lKTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgfQorICB9CisK
KyAgZnVuY3Rpb24gc2hyaW5rQ29tbWVudENvbnRleHREb3duKGtleV90YXJnZXQpIHsKKyAgICB2
YXIgY29tbWVudF90ZXh0YXJlYSA9IGNvbW1lbnRUZXh0YXJlYUZvcktleVRhcmdldChrZXlfdGFy
Z2V0KTsKKyAgICBpZiAoIWNvbW1lbnRfdGV4dGFyZWEpCisgICAgICByZXR1cm47CisKKyAgICB2
YXIgY29tbWVudF9iYXNlX2xpbmUgPSBjb21tZW50X3RleHRhcmVhLmF0dHIoJ2RhdGEtY29tbWVu
dC1mb3InKTsKKyAgICB2YXIgZGlmZl9zZWN0aW9uID0gZGlmZlNlY3Rpb25Gb3IoY29tbWVudF90
ZXh0YXJlYSk7CisgICAgdmFyIGxpbmVzID0gY29udGV4dExpbmVzRm9yKGNvbW1lbnRfYmFzZV9s
aW5lLCBkaWZmX3NlY3Rpb24pOworICAgIGlmIChsaW5lcy5zaXplKCkgPiAxKQorICAgICAgcmVt
b3ZlRGF0YUNvbW1lbnRCYXNlTGluZShsaW5lc1swXSwgY29tbWVudF9iYXNlX2xpbmUpOworICB9
CisKKyAgZnVuY3Rpb24gaGFuZGxlTW9kaWZ5Q29udGV4dEtleURvd24oZSkgeworICAgIHZhciBo
YW5kbGVkID0gZmFsc2U7CisKKyAgICBpZiAoZS5zaGlmdEtleSAmJiBlLmN0cmxLZXkpIHsKKyAg
ICAgIHZhciB1cF9rZXlfY29kZSA9IDM4OworICAgICAgdmFyIGRvd25fa2V5X2NvZGUgPSA0MDsK
KworICAgICAgc3dpdGNoIChlLmtleUNvZGUpIHsKKyAgICAgIGNhc2UgdXBfa2V5X2NvZGU6Cisg
ICAgICAgIGV4dGVuZENvbW1lbnRDb250ZXh0VXAoZS50YXJnZXQpOworICAgICAgICBoYW5kbGVk
ID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGNhc2UgZG93bl9rZXlfY29kZToKKyAg
ICAgICAgc2hyaW5rQ29tbWVudENvbnRleHREb3duKGUudGFyZ2V0KTsKKyAgICAgICAgaGFuZGxl
ZCA9IHRydWU7CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgIH0KKworICAgIGlmIChoYW5k
bGVkKQorICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOworCisgICAgcmV0dXJuIGhhbmRsZWQ7Cisg
IH0KKworICAkKCd0ZXh0YXJlYScpLmxpdmUoJ2tleWRvd24nLCBmdW5jdGlvbihlKSB7CisgICAg
aWYgKGhhbmRsZU1vZGlmeUNvbnRleHRLZXlEb3duKGUpKQorICAgICAgcmV0dXJuOworCisgICAg
dmFyIGVzY2FwZV9rZXlfY29kZSA9IDI3OworICAgIGlmIChlLmtleUNvZGUgPT0gZXNjYXBlX2tl
eV9jb2RlKQogICAgICAgaGFuZGxlRXNjYXBlS2V5RG93bkluVGV4dGFyZWEodGhpcyk7CiAgIH0p
OwogCi0gICQoJ2JvZHknKS5saXZlKCdrZXlwcmVzcycsIGZ1bmN0aW9uKCkgeworICAkKCdib2R5
JykubGl2ZSgna2V5ZG93bicsIGZ1bmN0aW9uKGUpIHsKICAgICAvLyBGSVhNRTogVGhlcmUncyBn
b3QgdG8gYmUgYSBiZXR0ZXIgd2F5IHRvIGF2b2lkIHNlZWluZyB0aGVzZSBrZXlwcmVzcwogICAg
IC8vIGV2ZW50cy4KLSAgICBpZiAoZXZlbnQudGFyZ2V0Lm5vZGVOYW1lID09ICdURVhUQVJFQScp
CisgICAgaWYgKGUudGFyZ2V0Lm5vZGVOYW1lID09ICdURVhUQVJFQScpCisgICAgICByZXR1cm47
CisKKyAgICBpZiAoaGFuZGxlTW9kaWZ5Q29udGV4dEtleURvd24oZSkpCiAgICAgICByZXR1cm47
Ci0gICAgCi0gICAgdmFyIGhhbmRsZWQgPSBmYWxzZTsKIAotICAgIHN3aXRjaCAoZXZlbnQuY2hh
ckNvZGUpIHsKLSAgICBjYXNlIGtDaGFyQ29kZUZvck46CisgICAgdmFyIGhhbmRsZWQgPSBmYWxz
ZTsKKyAgICAKKyAgICB2YXIgbl9rZXlfY29kZSA9IDc4OworICAgIHZhciBwX2tleV9jb2RlID0g
ODA7CisgICAgdmFyIGpfa2V5X2NvZGUgPSA3NDsKKyAgICB2YXIga19rZXlfY29kZSA9IDc1Owor
ICAgIHZhciBlbnRlcl9rZXlfY29kZSA9IDEzOworCisgICAgc3dpdGNoIChlLmtleUNvZGUpIHsK
KyAgICBjYXNlIG5fa2V5X2NvZGU6CiAgICAgICBoYW5kbGVkID0gZm9jdXNOZXh0KGlzQ29tbWVu
dCwgRElSRUNUSU9OLkZPUldBUkQpOwogICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIGtDaGFyQ29k
ZUZvclA6CisgICAgY2FzZSBwX2tleV9jb2RlOgogICAgICAgaGFuZGxlZCA9IGZvY3VzTmV4dChp
c0NvbW1lbnQsIERJUkVDVElPTi5CQUNLV0FSRCk7CiAgICAgICBicmVhazsKIAotICAgIGNhc2Ug
a0NoYXJDb2RlRm9ySjoKKyAgICBjYXNlIGpfa2V5X2NvZGU6CiAgICAgICBoYW5kbGVkID0gZm9j
dXNOZXh0KGlzRGlmZkJsb2NrLCBESVJFQ1RJT04uRk9SV0FSRCk7CiAgICAgICBicmVhazsKIAot
ICAgIGNhc2Uga0NoYXJDb2RlRm9ySzoKKyAgICBjYXNlIGtfa2V5X2NvZGU6CiAgICAgICBoYW5k
bGVkID0gZm9jdXNOZXh0KGlzRGlmZkJsb2NrLCBESVJFQ1RJT04uQkFDS1dBUkQpOwogICAgICAg
YnJlYWs7CiAgICAgCi0gICAgY2FzZSBrQ2hhckNvZGVGb3JFbnRlcjoKLSAgICAgIGhhbmRsZWQg
PSBoYW5kbGVFbnRlcktleVByZXNzKCk7CisgICAgY2FzZSBlbnRlcl9rZXlfY29kZToKKyAgICAg
IGhhbmRsZWQgPSBoYW5kbGVFbnRlcktleURvd24oKTsKICAgICAgIGJyZWFrOwogICAgIH0KICAg
ICAKICAgICBpZiAoaGFuZGxlZCkKLSAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CisgICAg
ICBlLnByZXZlbnREZWZhdWx0KCk7CiAgIH0pOwogICAKICAgZnVuY3Rpb24gaGFuZGxlRXNjYXBl
S2V5RG93bkluVGV4dGFyZWEodGV4dGFyZWEpIHsKQEAgLTE0MzEsNyArMTQ5OSw3IEBAIHZhciBD
T0RFX1JFVklFV19VTklUVEVTVDsKICAgICBkb2N1bWVudC5ib2R5LmZvY3VzKCk7CiAgIH0KICAg
Ci0gIGZ1bmN0aW9uIGhhbmRsZUVudGVyS2V5UHJlc3MoKSB7CisgIGZ1bmN0aW9uIGhhbmRsZUVu
dGVyS2V5RG93bigpIHsKICAgICB2YXIgZm9jdXNlZCA9ICQoJy5mb2N1c2VkJyk7CiAgICAgaWYg
KCFmb2N1c2VkLnNpemUoKSkKICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTE0NzYsOCArMTU0NCw2
IEBAIHZhciBDT0RFX1JFVklFV19VTklUVEVTVDsKICAgICAgICAgcmV0dXJuOwogCiAgICAgICBy
ZW1vdmVEYXRhQ29tbWVudEJhc2VMaW5lKHRoaXMsIGNvbW1lbnRfYmFzZV9saW5lKTsKLSAgICAg
IGlmICghJCh0aGlzKS5hdHRyKCdkYXRhLWNvbW1lbnQtYmFzZS1saW5lJykpCi0gICAgICAgICQo
dGhpcykucmVtb3ZlQ2xhc3MoJ2NvbW1lbnRDb250ZXh0Jyk7CiAgICAgfSk7CiAgIH0KIApAQCAt
MTU5Nyw3ICsxNjYzLDYgQEAgdmFyIENPREVfUkVWSUVXX1VOSVRURVNUOwogICAgICAgcmV0dXJu
OwogICAgIAogICAgIHZhciBhbHJlYWR5X2hhc19jb21tZW50ID0gc2VsZWN0ZWQubGFzdCgpLmhh
c0NsYXNzKCdjb21tZW50Q29udGV4dCcpOwotICAgIHNlbGVjdGVkLmFkZENsYXNzKCdjb21tZW50
Q29udGV4dCcpOwogCiAgICAgdmFyIGNvbW1lbnRfYmFzZV9saW5lOwogICAgIGlmIChhbHJlYWR5
X2hhc19jb21tZW50KQpAQCAtMTYxNiwxNSArMTY4MSwyNiBAQCB2YXIgQ09ERV9SRVZJRVdfVU5J
VFRFU1Q7CiAgICAgc2F2ZURyYWZ0Q29tbWVudHMoKTsKICAgfQogCi0gIGZ1bmN0aW9uIGFkZERh
dGFDb21tZW50QmFzZUxpbmUobGluZSwgaWQpIHsKKyAgZnVuY3Rpb24gaGFzRGF0YUNvbW1lbnRC
YXNlTGluZShsaW5lLCBpZCkgewogICAgIHZhciB2YWwgPSAkKGxpbmUpLmF0dHIoJ2RhdGEtY29t
bWVudC1iYXNlLWxpbmUnKTsKKyAgICBpZiAoIXZhbCkKKyAgICAgIHJldHVybiBmYWxzZTsKIAot
ICAgIHZhciBwYXJ0cyA9IHZhbCA/IHZhbC5zcGxpdCgnICcpIDogW107CisgICAgdmFyIHBhcnRz
ID0gdmFsLnNwbGl0KCcgJyk7CiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXJ0cy5sZW5ndGg7
IGkrKykgewogICAgICAgaWYgKHBhcnRzW2ldID09IGlkKQotICAgICAgICByZXR1cm47CisgICAg
ICAgIHJldHVybiB0cnVlOwogICAgIH0KKyAgICByZXR1cm4gZmFsc2U7CisgIH0KKworICBmdW5j
dGlvbiBhZGREYXRhQ29tbWVudEJhc2VMaW5lKGxpbmUsIGlkKSB7CisgICAgJChsaW5lKS5hZGRD
bGFzcygnY29tbWVudENvbnRleHQnKTsKKyAgICBpZiAoaGFzRGF0YUNvbW1lbnRCYXNlTGluZShs
aW5lLCBpZCkpCisgICAgICByZXR1cm47CiAKKyAgICB2YXIgdmFsID0gJChsaW5lKS5hdHRyKCdk
YXRhLWNvbW1lbnQtYmFzZS1saW5lJyk7CisgICAgdmFyIHBhcnRzID0gdmFsID8gdmFsLnNwbGl0
KCcgJykgOiBbXTsKICAgICBwYXJ0cy5wdXNoKGlkKTsKICAgICAkKGxpbmUpLmF0dHIoJ2RhdGEt
Y29tbWVudC1iYXNlLWxpbmUnLCBwYXJ0cy5qb2luKCcgJykpOwogICB9CkBAIC0xNjM2LDEzICsx
NzEyLDE5IEBAIHZhciBDT0RFX1JFVklFV19VTklUVEVTVDsKIAogICAgIHZhciBiYXNlX2xpbmVz
ID0gY29tbWVudF9iYXNlX2xpbmVzLnNwbGl0KCcgJyk7CiAgICAgdmFyIHBhcnRzID0gdmFsLnNw
bGl0KCcgJyk7Ci0gICAgdmFyIG5ld1ZhbCA9IFtdOworICAgIHZhciBuZXdfcGFydHMgPSBbXTsK
ICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBhcnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICBpZiAo
YmFzZV9saW5lcy5pbmRleE9mKHBhcnRzW2ldKSA9PSAtMSkKLSAgICAgICAgbmV3VmFsLnB1c2go
cGFydHNbaV0pOworICAgICAgICBuZXdfcGFydHMucHVzaChwYXJ0c1tpXSk7CiAgICAgfQogCi0g
ICAgJChsaW5lKS5hdHRyKCdkYXRhLWNvbW1lbnQtYmFzZS1saW5lJywgbmV3VmFsLmpvaW4oJyAn
KSk7CisgICAgdmFyIG5ld19jb21tZW50X2Jhc2VfbGluZSA9IG5ld19wYXJ0cy5qb2luKCcgJyk7
CisgICAgaWYgKG5ld19jb21tZW50X2Jhc2VfbGluZSkKKyAgICAgICQobGluZSkuYXR0cignZGF0
YS1jb21tZW50LWJhc2UtbGluZScsIG5ld19jb21tZW50X2Jhc2VfbGluZSk7CisgICAgZWxzZSB7
CisgICAgICAkKGxpbmUpLnJlbW92ZUF0dHIoJ2RhdGEtY29tbWVudC1iYXNlLWxpbmUnKTsKKyAg
ICAgICQobGluZSkucmVtb3ZlQ2xhc3MoJ2NvbW1lbnRDb250ZXh0Jyk7CisgICAgfQogICB9CiAK
ICAgZnVuY3Rpb24gbGluZUZyb21MaW5lRGVzY2VuZGFudChkZXNjZW5kYW50KSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82912</attachid>
            <date>2011-02-17 20:58:36 -0800</date>
            <delta_ts>2011-02-20 19:08:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54612-20110218155834.patch</filename>
            <type>text/plain</type>
            <size>7849</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzg5NTEKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL2J1Z3Mud2Vi
a2l0Lm9yZy9DaGFuZ2VMb2cgYi9XZWJzaXRlcy9idWdzLndlYmtpdC5vcmcvQ2hhbmdlTG9nCmlu
ZGV4IGM4Zjg5MjkxYzk4NDc2YjY2YWQzYTZjZjQyNmJjZDAxYTBlNzlkZGMuLjAzZDgyNDcyZWM4
OWI5NWVjZmJlYmI0ZDk4NDNmODBmMmIzNWM2ZTkgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL2J1Z3Mu
d2Via2l0Lm9yZy9DaGFuZ2VMb2cKKysrIGIvV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDExLTAyLTE2ICBPamFuIFZhZmFpICA8b2phbkBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAga2V5Ym9hcmQgc3VwcG9ydCBmb3IgZXh0ZW5kaW5nL3Nocmlua2luZyBjb21tZW50IGNvbnRl
eHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0NjEy
CisKKyAgICAgICAgY3RybCtzaGlmdCt1cC9kb3duIHdpbGwgZXh0ZW5kL3NocmluayB0aGUgY29t
bWVudCBjb250ZXh0IHdoZW4KKyAgICAgICAgYSBjb21tZW50IGlzIGZvY3VzZWQgb3Igd2hlbiBv
bmUgaXMgYmVpbmcgZWRpdGVkLgorCisgICAgICAgIEFsc28sIHN3aXRjaCBvdmVyIHRvIHVzaW5n
IGtleWRvd24gaW5zdGVhZCBvZiBrZXlwcmVzcyBldmVudHMuCisgICAgICAgIFRoaXMgbGV0cyB1
cyBzaGFyZSBjb2RlIGZvciBoYW5kbGluZyBlc2NhcGUgYW5kIG90aGVyIGtleSBldmVudHMuCisg
ICAgICAgIEFsc28sIGtleXByZXNzIGlzIGV2aWwgYW5kIHNob3VsZCBkaWUuCisKKyAgICAgICAg
KiBjb2RlLXJldmlldy5qczoKKwogMjAxMS0wMi0xNyAgT2phbiBWYWZhaSAgPG9qYW5AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFudG9uaW8gR29tZXMuCmRpZmYgLS1naXQg
YS9XZWJzaXRlcy9idWdzLndlYmtpdC5vcmcvY29kZS1yZXZpZXcuanMgYi9XZWJzaXRlcy9idWdz
LndlYmtpdC5vcmcvY29kZS1yZXZpZXcuanMKaW5kZXggOTM4NjQ5M2EwYzVjODQzMGQ4YjYxMGMx
NTJmMWY5Mzg2NDRiZjAyNi4uMWJlNTgxMzMxZDMyZDdhOTc2NTk0M2Q3YjI0M2VhZGIxM2NlMGZh
ZSAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL2NvZGUtcmV2aWV3LmpzCisr
KyBiL1dlYnNpdGVzL2J1Z3Mud2Via2l0Lm9yZy9jb2RlLXJldmlldy5qcwpAQCAtMTQwLDkgKzE0
MCw3IEBAIHZhciBDT0RFX1JFVklFV19VTklUVEVTVDsKICAgICB2YXIgc3RhcnQgPSBudW1iZXJG
cm9tKHN0YXJ0X2xpbmVfaWQpOwogICAgIHZhciBlbmQgPSBudW1iZXJGcm9tKGVuZF9saW5lX2lk
KTsKICAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPD0gZW5kOyBpKyspIHsKLSAgICAgIHZhciBs
aW5lID0gJCgnI2xpbmUnICsgaSk7Ci0gICAgICBsaW5lLmFkZENsYXNzKCdjb21tZW50Q29udGV4
dCcpOwotICAgICAgYWRkRGF0YUNvbW1lbnRCYXNlTGluZShsaW5lLCBlbmRfbGluZV9pZCk7Cisg
ICAgICBhZGREYXRhQ29tbWVudEJhc2VMaW5lKCQoJyNsaW5lJyArIGkpLCBlbmRfbGluZV9pZCk7
CiAgICAgfQogCiAgICAgdmFyIGNvbW1lbnRfYmxvY2sgPSBjcmVhdGVDb21tZW50Rm9yKGxpbmUp
OwpAQCAtMTM2OCwxMiArMTM2Niw2IEBAIHZhciBDT0RFX1JFVklFV19VTklUVEVTVDsKIAogICB2
YXIgRElSRUNUSU9OID0ge0ZPUldBUkQ6IDEsIEJBQ0tXQVJEOiAyfTsKIAotICB2YXIga0NoYXJD
b2RlRm9yTiA9ICduJy5jaGFyQ29kZUF0KDApOwotICB2YXIga0NoYXJDb2RlRm9yUCA9ICdwJy5j
aGFyQ29kZUF0KDApOwotICB2YXIga0NoYXJDb2RlRm9ySiA9ICdqJy5jaGFyQ29kZUF0KDApOwot
ICB2YXIga0NoYXJDb2RlRm9ySyA9ICdrJy5jaGFyQ29kZUF0KDApOwotICB2YXIga0NoYXJDb2Rl
Rm9yRW50ZXIgPSAnXHInLmNoYXJDb2RlQXQoMCk7Ci0KICAgZnVuY3Rpb24gaXNDb21tZW50KG5v
ZGUpIHsKICAgICByZXR1cm4gbm9kZS5oYXNDbGFzcygnZnJvemVuQ29tbWVudCcpIHx8IG5vZGUu
aGFzQ2xhc3MoJ3ByZXZpb3VzQ29tbWVudCcpIHx8IG5vZGUuaGFzQ2xhc3MoJ292ZXJhbGxDb21t
ZW50cycpOwogICB9CkBAIC0xMzgyLDM5ICsxMzc0LDExNSBAQCB2YXIgQ09ERV9SRVZJRVdfVU5J
VFRFU1Q7CiAgICAgcmV0dXJuIG5vZGUuaGFzQ2xhc3MoJ0RpZmZCbG9jaycpOwogICB9CiAKKyAg
ZnVuY3Rpb24gY29tbWVudFRleHRhcmVhRm9yS2V5VGFyZ2V0KGtleV90YXJnZXQpIHsKKyAgICBp
ZiAoa2V5X3RhcmdldC5ub2RlTmFtZSA9PSAnVEVYVEFSRUEnKQorICAgICAgcmV0dXJuICQoa2V5
X3RhcmdldCk7CisKKyAgICB2YXIgY29tbWVudF90ZXh0YXJlYSA9ICQoJy5mb2N1c2VkJykucHJl
digpLmZpbmQoJ3RleHRhcmVhJyk7CisgICAgaWYgKCFjb21tZW50X3RleHRhcmVhLnNpemUoKSkK
KyAgICAgIHJldHVybiBudWxsOworICAgIHJldHVybiBjb21tZW50X3RleHRhcmVhOworICB9CisK
KyAgZnVuY3Rpb24gZXh0ZW5kQ29tbWVudENvbnRleHRVcChrZXlfdGFyZ2V0KSB7CisgICAgdmFy
IGNvbW1lbnRfdGV4dGFyZWEgPSBjb21tZW50VGV4dGFyZWFGb3JLZXlUYXJnZXQoa2V5X3Rhcmdl
dCk7CisgICAgaWYgKCFjb21tZW50X3RleHRhcmVhKQorICAgICAgcmV0dXJuOworCisgICAgdmFy
IGNvbW1lbnRfYmFzZV9saW5lID0gY29tbWVudF90ZXh0YXJlYS5hdHRyKCdkYXRhLWNvbW1lbnQt
Zm9yJyk7CisgICAgdmFyIGRpZmZfc2VjdGlvbiA9IGRpZmZTZWN0aW9uRm9yKGNvbW1lbnRfdGV4
dGFyZWEpOworICAgIHZhciBsaW5lcyA9ICQoJy5MaW5lJywgZGlmZl9zZWN0aW9uKTsKKyAgICBm
b3IgKHZhciBpID0gMDsgaSA8IGxpbmVzLmxlbmd0aCAtIDE7IGkrKykgeworICAgICAgaWYgKGhh
c0RhdGFDb21tZW50QmFzZUxpbmUobGluZXNbaSArIDFdLCBjb21tZW50X2Jhc2VfbGluZSkpIHsK
KyAgICAgICAgYWRkRGF0YUNvbW1lbnRCYXNlTGluZShsaW5lc1tpXSwgY29tbWVudF9iYXNlX2xp
bmUpOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICBmdW5jdGlvbiBz
aHJpbmtDb21tZW50Q29udGV4dERvd24oa2V5X3RhcmdldCkgeworICAgIHZhciBjb21tZW50X3Rl
eHRhcmVhID0gY29tbWVudFRleHRhcmVhRm9yS2V5VGFyZ2V0KGtleV90YXJnZXQpOworICAgIGlm
ICghY29tbWVudF90ZXh0YXJlYSkKKyAgICAgIHJldHVybjsKKworICAgIHZhciBjb21tZW50X2Jh
c2VfbGluZSA9IGNvbW1lbnRfdGV4dGFyZWEuYXR0cignZGF0YS1jb21tZW50LWZvcicpOworICAg
IHZhciBkaWZmX3NlY3Rpb24gPSBkaWZmU2VjdGlvbkZvcihjb21tZW50X3RleHRhcmVhKTsKKyAg
ICB2YXIgbGluZXMgPSBjb250ZXh0TGluZXNGb3IoY29tbWVudF9iYXNlX2xpbmUsIGRpZmZfc2Vj
dGlvbik7CisgICAgaWYgKGxpbmVzLnNpemUoKSA+IDEpCisgICAgICByZW1vdmVEYXRhQ29tbWVu
dEJhc2VMaW5lKGxpbmVzWzBdLCBjb21tZW50X2Jhc2VfbGluZSk7CisgIH0KKworICBmdW5jdGlv
biBoYW5kbGVNb2RpZnlDb250ZXh0S2V5RG93bihlKSB7CisgICAgdmFyIGhhbmRsZWQgPSBmYWxz
ZTsKKworICAgIGlmIChlLnNoaWZ0S2V5ICYmIGUuY3RybEtleSkgeworICAgICAgdmFyIHVwX2tl
eV9jb2RlID0gMzg7CisgICAgICB2YXIgZG93bl9rZXlfY29kZSA9IDQwOworCisgICAgICBzd2l0
Y2ggKGUua2V5Q29kZSkgeworICAgICAgY2FzZSB1cF9rZXlfY29kZToKKyAgICAgICAgZXh0ZW5k
Q29tbWVudENvbnRleHRVcChlLnRhcmdldCk7CisgICAgICAgIGhhbmRsZWQgPSB0cnVlOworICAg
ICAgICBicmVhazsKKworICAgICAgY2FzZSBkb3duX2tleV9jb2RlOgorICAgICAgICBzaHJpbmtD
b21tZW50Q29udGV4dERvd24oZS50YXJnZXQpOworICAgICAgICBoYW5kbGVkID0gdHJ1ZTsKKyAg
ICAgICAgYnJlYWs7CisgICAgICB9CisgICAgfQorCisgICAgaWYgKGhhbmRsZWQpCisgICAgICBl
LnByZXZlbnREZWZhdWx0KCk7CisKKyAgICByZXR1cm4gaGFuZGxlZDsKKyAgfQorCiAgICQoJ3Rl
eHRhcmVhJykubGl2ZSgna2V5ZG93bicsIGZ1bmN0aW9uKGUpIHsKLSAgICB2YXIgdW5pY29kZV9l
c2NhcGUgPSAnVSswMDFCJzsKLSAgICBpZiAoZS5rZXlJZGVudGlmaWVyID09IHVuaWNvZGVfZXNj
YXBlKQorICAgIGlmIChoYW5kbGVNb2RpZnlDb250ZXh0S2V5RG93bihlKSkKKyAgICAgIHJldHVy
bjsKKworICAgIHZhciBlc2NhcGVfa2V5X2NvZGUgPSAyNzsKKyAgICBpZiAoZS5rZXlDb2RlID09
IGVzY2FwZV9rZXlfY29kZSkKICAgICAgIGhhbmRsZUVzY2FwZUtleURvd25JblRleHRhcmVhKHRo
aXMpOwogICB9KTsKIAotICAkKCdib2R5JykubGl2ZSgna2V5cHJlc3MnLCBmdW5jdGlvbihlKSB7
CisgICQoJ2JvZHknKS5saXZlKCdrZXlkb3duJywgZnVuY3Rpb24oZSkgewogICAgIC8vIEZJWE1F
OiBUaGVyZSdzIGdvdCB0byBiZSBhIGJldHRlciB3YXkgdG8gYXZvaWQgc2VlaW5nIHRoZXNlIGtl
eXByZXNzCiAgICAgLy8gZXZlbnRzLgogICAgIGlmIChlLnRhcmdldC5ub2RlTmFtZSA9PSAnVEVY
VEFSRUEnKQogICAgICAgcmV0dXJuOwotICAgIAotICAgIHZhciBoYW5kbGVkID0gZmFsc2U7CiAK
LSAgICBzd2l0Y2ggKGUuY2hhckNvZGUpIHsKLSAgICBjYXNlIGtDaGFyQ29kZUZvck46CisgICAg
aWYgKGhhbmRsZU1vZGlmeUNvbnRleHRLZXlEb3duKGUpKQorICAgICAgcmV0dXJuOworCisgICAg
dmFyIGhhbmRsZWQgPSBmYWxzZTsKKyAgICAKKyAgICB2YXIgbl9rZXlfY29kZSA9IDc4OworICAg
IHZhciBwX2tleV9jb2RlID0gODA7CisgICAgdmFyIGpfa2V5X2NvZGUgPSA3NDsKKyAgICB2YXIg
a19rZXlfY29kZSA9IDc1OworICAgIHZhciBlbnRlcl9rZXlfY29kZSA9IDEzOworCisgICAgc3dp
dGNoIChlLmtleUNvZGUpIHsKKyAgICBjYXNlIG5fa2V5X2NvZGU6CiAgICAgICBoYW5kbGVkID0g
Zm9jdXNOZXh0KGlzQ29tbWVudCwgRElSRUNUSU9OLkZPUldBUkQpOwogICAgICAgYnJlYWs7CiAK
LSAgICBjYXNlIGtDaGFyQ29kZUZvclA6CisgICAgY2FzZSBwX2tleV9jb2RlOgogICAgICAgaGFu
ZGxlZCA9IGZvY3VzTmV4dChpc0NvbW1lbnQsIERJUkVDVElPTi5CQUNLV0FSRCk7CiAgICAgICBi
cmVhazsKIAotICAgIGNhc2Uga0NoYXJDb2RlRm9ySjoKKyAgICBjYXNlIGpfa2V5X2NvZGU6CiAg
ICAgICBoYW5kbGVkID0gZm9jdXNOZXh0KGlzRGlmZkJsb2NrLCBESVJFQ1RJT04uRk9SV0FSRCk7
CiAgICAgICBicmVhazsKIAotICAgIGNhc2Uga0NoYXJDb2RlRm9ySzoKKyAgICBjYXNlIGtfa2V5
X2NvZGU6CiAgICAgICBoYW5kbGVkID0gZm9jdXNOZXh0KGlzRGlmZkJsb2NrLCBESVJFQ1RJT04u
QkFDS1dBUkQpOwogICAgICAgYnJlYWs7CiAgICAgCi0gICAgY2FzZSBrQ2hhckNvZGVGb3JFbnRl
cjoKLSAgICAgIGhhbmRsZWQgPSBoYW5kbGVFbnRlcktleVByZXNzKCk7CisgICAgY2FzZSBlbnRl
cl9rZXlfY29kZToKKyAgICAgIGhhbmRsZWQgPSBoYW5kbGVFbnRlcktleURvd24oKTsKICAgICAg
IGJyZWFrOwogICAgIH0KICAgICAKQEAgLTE0MzEsNyArMTQ5OSw3IEBAIHZhciBDT0RFX1JFVklF
V19VTklUVEVTVDsKICAgICBkb2N1bWVudC5ib2R5LmZvY3VzKCk7CiAgIH0KICAgCi0gIGZ1bmN0
aW9uIGhhbmRsZUVudGVyS2V5UHJlc3MoKSB7CisgIGZ1bmN0aW9uIGhhbmRsZUVudGVyS2V5RG93
bigpIHsKICAgICB2YXIgZm9jdXNlZCA9ICQoJy5mb2N1c2VkJyk7CiAgICAgaWYgKCFmb2N1c2Vk
LnNpemUoKSkKICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTE0NzYsOCArMTU0NCw2IEBAIHZhciBD
T0RFX1JFVklFV19VTklUVEVTVDsKICAgICAgICAgcmV0dXJuOwogCiAgICAgICByZW1vdmVEYXRh
Q29tbWVudEJhc2VMaW5lKHRoaXMsIGNvbW1lbnRfYmFzZV9saW5lKTsKLSAgICAgIGlmICghJCh0
aGlzKS5hdHRyKCdkYXRhLWNvbW1lbnQtYmFzZS1saW5lJykpCi0gICAgICAgICQodGhpcykucmVt
b3ZlQ2xhc3MoJ2NvbW1lbnRDb250ZXh0Jyk7CiAgICAgfSk7CiAgIH0KIApAQCAtMTU5Nyw3ICsx
NjYzLDYgQEAgdmFyIENPREVfUkVWSUVXX1VOSVRURVNUOwogICAgICAgcmV0dXJuOwogICAgIAog
ICAgIHZhciBhbHJlYWR5X2hhc19jb21tZW50ID0gc2VsZWN0ZWQubGFzdCgpLmhhc0NsYXNzKCdj
b21tZW50Q29udGV4dCcpOwotICAgIHNlbGVjdGVkLmFkZENsYXNzKCdjb21tZW50Q29udGV4dCcp
OwogCiAgICAgdmFyIGNvbW1lbnRfYmFzZV9saW5lOwogICAgIGlmIChhbHJlYWR5X2hhc19jb21t
ZW50KQpAQCAtMTYxNiwxNSArMTY4MSwyNiBAQCB2YXIgQ09ERV9SRVZJRVdfVU5JVFRFU1Q7CiAg
ICAgc2F2ZURyYWZ0Q29tbWVudHMoKTsKICAgfQogCi0gIGZ1bmN0aW9uIGFkZERhdGFDb21tZW50
QmFzZUxpbmUobGluZSwgaWQpIHsKKyAgZnVuY3Rpb24gaGFzRGF0YUNvbW1lbnRCYXNlTGluZShs
aW5lLCBpZCkgewogICAgIHZhciB2YWwgPSAkKGxpbmUpLmF0dHIoJ2RhdGEtY29tbWVudC1iYXNl
LWxpbmUnKTsKKyAgICBpZiAoIXZhbCkKKyAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHZhciBw
YXJ0cyA9IHZhbCA/IHZhbC5zcGxpdCgnICcpIDogW107CisgICAgdmFyIHBhcnRzID0gdmFsLnNw
bGl0KCcgJyk7CiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXJ0cy5sZW5ndGg7IGkrKykgewog
ICAgICAgaWYgKHBhcnRzW2ldID09IGlkKQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVy
biB0cnVlOwogICAgIH0KKyAgICByZXR1cm4gZmFsc2U7CisgIH0KKworICBmdW5jdGlvbiBhZGRE
YXRhQ29tbWVudEJhc2VMaW5lKGxpbmUsIGlkKSB7CisgICAgJChsaW5lKS5hZGRDbGFzcygnY29t
bWVudENvbnRleHQnKTsKKyAgICBpZiAoaGFzRGF0YUNvbW1lbnRCYXNlTGluZShsaW5lLCBpZCkp
CisgICAgICByZXR1cm47CiAKKyAgICB2YXIgdmFsID0gJChsaW5lKS5hdHRyKCdkYXRhLWNvbW1l
bnQtYmFzZS1saW5lJyk7CisgICAgdmFyIHBhcnRzID0gdmFsID8gdmFsLnNwbGl0KCcgJykgOiBb
XTsKICAgICBwYXJ0cy5wdXNoKGlkKTsKICAgICAkKGxpbmUpLmF0dHIoJ2RhdGEtY29tbWVudC1i
YXNlLWxpbmUnLCBwYXJ0cy5qb2luKCcgJykpOwogICB9CkBAIC0xNjM2LDEzICsxNzEyLDE5IEBA
IHZhciBDT0RFX1JFVklFV19VTklUVEVTVDsKIAogICAgIHZhciBiYXNlX2xpbmVzID0gY29tbWVu
dF9iYXNlX2xpbmVzLnNwbGl0KCcgJyk7CiAgICAgdmFyIHBhcnRzID0gdmFsLnNwbGl0KCcgJyk7
Ci0gICAgdmFyIG5ld1ZhbCA9IFtdOworICAgIHZhciBuZXdfcGFydHMgPSBbXTsKICAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IHBhcnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICBpZiAoYmFzZV9saW5l
cy5pbmRleE9mKHBhcnRzW2ldKSA9PSAtMSkKLSAgICAgICAgbmV3VmFsLnB1c2gocGFydHNbaV0p
OworICAgICAgICBuZXdfcGFydHMucHVzaChwYXJ0c1tpXSk7CiAgICAgfQogCi0gICAgJChsaW5l
KS5hdHRyKCdkYXRhLWNvbW1lbnQtYmFzZS1saW5lJywgbmV3VmFsLmpvaW4oJyAnKSk7CisgICAg
dmFyIG5ld19jb21tZW50X2Jhc2VfbGluZSA9IG5ld19wYXJ0cy5qb2luKCcgJyk7CisgICAgaWYg
KG5ld19jb21tZW50X2Jhc2VfbGluZSkKKyAgICAgICQobGluZSkuYXR0cignZGF0YS1jb21tZW50
LWJhc2UtbGluZScsIG5ld19jb21tZW50X2Jhc2VfbGluZSk7CisgICAgZWxzZSB7CisgICAgICAk
KGxpbmUpLnJlbW92ZUF0dHIoJ2RhdGEtY29tbWVudC1iYXNlLWxpbmUnKTsKKyAgICAgICQobGlu
ZSkucmVtb3ZlQ2xhc3MoJ2NvbW1lbnRDb250ZXh0Jyk7CisgICAgfQogICB9CiAKICAgZnVuY3Rp
b24gbGluZUZyb21MaW5lRGVzY2VuZGFudChkZXNjZW5kYW50KSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83116</attachid>
            <date>2011-02-20 19:08:15 -0800</date>
            <delta_ts>2011-02-20 22:55:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54612-20110221140812.patch</filename>
            <type>text/plain</type>
            <size>8678</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzkxNjYKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL2J1Z3Mud2Vi
a2l0Lm9yZy9DaGFuZ2VMb2cgYi9XZWJzaXRlcy9idWdzLndlYmtpdC5vcmcvQ2hhbmdlTG9nCmlu
ZGV4IGJlMDI2N2NhYjBhMGFmM2IxMjU3M2IzMjE4MDEyZDhmOTI2NjhkYzYuLjg4NzEyN2Q5MzAy
ODAxNGNhZWIzMjYxZmZjNTI1NzA4Mzg3NTQ3ZDUgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL2J1Z3Mu
d2Via2l0Lm9yZy9DaGFuZ2VMb2cKKysrIGIvV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDExLTAyLTE2ICBPamFuIFZhZmFpICA8b2phbkBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAga2V5Ym9hcmQgc3VwcG9ydCBmb3IgZXh0ZW5kaW5nL3Nocmlua2luZyBjb21tZW50IGNvbnRl
eHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0NjEy
CisKKyAgICAgICAgY3RybCtzaGlmdCt1cC9kb3duIHdpbGwgZXh0ZW5kL3NocmluayB0aGUgY29t
bWVudCBjb250ZXh0IHdoZW4KKyAgICAgICAgYSBjb21tZW50IGlzIGZvY3VzZWQgb3Igd2hlbiBv
bmUgaXMgYmVpbmcgZWRpdGVkLgorCisgICAgICAgIEFsc28sIHN3aXRjaCBvdmVyIHRvIHVzaW5n
IGtleWRvd24gaW5zdGVhZCBvZiBrZXlwcmVzcyBldmVudHMuCisgICAgICAgIFRoaXMgbGV0cyB1
cyBzaGFyZSBjb2RlIGZvciBoYW5kbGluZyBlc2NhcGUgYW5kIG90aGVyIGtleSBldmVudHMuCisg
ICAgICAgIEFsc28sIGtleXByZXNzIGlzIGV2aWwgYW5kIHNob3VsZCBkaWUuCisKKyAgICAgICAg
KiBjb2RlLXJldmlldy5qczoKKwogMjAxMS0wMi0xNyAgT2phbiBWYWZhaSAgPG9qYW5AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRpZmYgLS1naXQgYS9X
ZWJzaXRlcy9idWdzLndlYmtpdC5vcmcvY29kZS1yZXZpZXcuanMgYi9XZWJzaXRlcy9idWdzLndl
YmtpdC5vcmcvY29kZS1yZXZpZXcuanMKaW5kZXggZDMxYWRmM2JmOWY4ZTE1YmYzNWQ4NTM3YWUz
ODdlNzMxNDhhNDhiNS4uNzczOTNhM2M0ZjcxMDFhYzBhMDU0MjU2MjE2ZGRlNTk1YTE3MjRkOCAx
MDA2NDQKLS0tIGEvV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL2NvZGUtcmV2aWV3LmpzCisrKyBi
L1dlYnNpdGVzL2J1Z3Mud2Via2l0Lm9yZy9jb2RlLXJldmlldy5qcwpAQCAtMTQwLDkgKzE0MCw3
IEBAIHZhciBDT0RFX1JFVklFV19VTklUVEVTVDsKICAgICB2YXIgc3RhcnQgPSBudW1iZXJGcm9t
KHN0YXJ0X2xpbmVfaWQpOwogICAgIHZhciBlbmQgPSBudW1iZXJGcm9tKGVuZF9saW5lX2lkKTsK
ICAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPD0gZW5kOyBpKyspIHsKLSAgICAgIHZhciBsaW5l
ID0gJCgnI2xpbmUnICsgaSk7Ci0gICAgICBsaW5lLmFkZENsYXNzKCdjb21tZW50Q29udGV4dCcp
OwotICAgICAgYWRkRGF0YUNvbW1lbnRCYXNlTGluZShsaW5lLCBlbmRfbGluZV9pZCk7CisgICAg
ICBhZGREYXRhQ29tbWVudEJhc2VMaW5lKCQoJyNsaW5lJyArIGkpLCBlbmRfbGluZV9pZCk7CiAg
ICAgfQogCiAgICAgdmFyIGNvbW1lbnRfYmxvY2sgPSBjcmVhdGVDb21tZW50Rm9yKGxpbmUpOwpA
QCAtMTM3MiwxNCArMTM3MCw2IEBAIHZhciBDT0RFX1JFVklFV19VTklUVEVTVDsKIAogICB2YXIg
RElSRUNUSU9OID0ge0ZPUldBUkQ6IDEsIEJBQ0tXQVJEOiAyfTsKIAotICB2YXIga0NoYXJDb2Rl
Rm9yTiA9ICduJy5jaGFyQ29kZUF0KDApOwotICB2YXIga0NoYXJDb2RlRm9yUCA9ICdwJy5jaGFy
Q29kZUF0KDApOwotICB2YXIga0NoYXJDb2RlRm9ySiA9ICdqJy5jaGFyQ29kZUF0KDApOwotICB2
YXIga0NoYXJDb2RlRm9ySyA9ICdrJy5jaGFyQ29kZUF0KDApOwotICB2YXIga0NoYXJDb2RlRm9y
Q2FwaXRhbEogPSAnSicuY2hhckNvZGVBdCgwKTsKLSAgdmFyIGtDaGFyQ29kZUZvckNhcGl0YWxL
ID0gJ0snLmNoYXJDb2RlQXQoMCk7Ci0gIHZhciBrQ2hhckNvZGVGb3JFbnRlciA9ICdccicuY2hh
ckNvZGVBdCgwKTsKLQogICBmdW5jdGlvbiBpc0NvbW1lbnQobm9kZSkgewogICAgIHJldHVybiBu
b2RlLmhhc0NsYXNzKCdmcm96ZW5Db21tZW50JykgfHwgbm9kZS5oYXNDbGFzcygncHJldmlvdXND
b21tZW50JykgfHwgbm9kZS5oYXNDbGFzcygnb3ZlcmFsbENvbW1lbnRzJyk7CiAgIH0KQEAgLTEz
OTIsNDcgKzEzODIsMTIxIEBAIHZhciBDT0RFX1JFVklFV19VTklUVEVTVDsKICAgICByZXR1cm4g
bm9kZS5oYXNDbGFzcygnTGluZScpOwogICB9CiAKKyAgZnVuY3Rpb24gY29tbWVudFRleHRhcmVh
Rm9yS2V5VGFyZ2V0KGtleV90YXJnZXQpIHsKKyAgICBpZiAoa2V5X3RhcmdldC5ub2RlTmFtZSA9
PSAnVEVYVEFSRUEnKQorICAgICAgcmV0dXJuICQoa2V5X3RhcmdldCk7CisKKyAgICB2YXIgY29t
bWVudF90ZXh0YXJlYSA9ICQoJy5mb2N1c2VkJykucHJldigpLmZpbmQoJ3RleHRhcmVhJyk7Cisg
ICAgaWYgKCFjb21tZW50X3RleHRhcmVhLnNpemUoKSkKKyAgICAgIHJldHVybiBudWxsOworICAg
IHJldHVybiBjb21tZW50X3RleHRhcmVhOworICB9CisKKyAgZnVuY3Rpb24gZXh0ZW5kQ29tbWVu
dENvbnRleHRVcChrZXlfdGFyZ2V0KSB7CisgICAgdmFyIGNvbW1lbnRfdGV4dGFyZWEgPSBjb21t
ZW50VGV4dGFyZWFGb3JLZXlUYXJnZXQoa2V5X3RhcmdldCk7CisgICAgaWYgKCFjb21tZW50X3Rl
eHRhcmVhKQorICAgICAgcmV0dXJuOworCisgICAgdmFyIGNvbW1lbnRfYmFzZV9saW5lID0gY29t
bWVudF90ZXh0YXJlYS5hdHRyKCdkYXRhLWNvbW1lbnQtZm9yJyk7CisgICAgdmFyIGRpZmZfc2Vj
dGlvbiA9IGRpZmZTZWN0aW9uRm9yKGNvbW1lbnRfdGV4dGFyZWEpOworICAgIHZhciBsaW5lcyA9
ICQoJy5MaW5lJywgZGlmZl9zZWN0aW9uKTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxpbmVz
Lmxlbmd0aCAtIDE7IGkrKykgeworICAgICAgaWYgKGhhc0RhdGFDb21tZW50QmFzZUxpbmUobGlu
ZXNbaSArIDFdLCBjb21tZW50X2Jhc2VfbGluZSkpIHsKKyAgICAgICAgYWRkRGF0YUNvbW1lbnRC
YXNlTGluZShsaW5lc1tpXSwgY29tbWVudF9iYXNlX2xpbmUpOworICAgICAgICBicmVhazsKKyAg
ICAgIH0KKyAgICB9CisgIH0KKworICBmdW5jdGlvbiBzaHJpbmtDb21tZW50Q29udGV4dERvd24o
a2V5X3RhcmdldCkgeworICAgIHZhciBjb21tZW50X3RleHRhcmVhID0gY29tbWVudFRleHRhcmVh
Rm9yS2V5VGFyZ2V0KGtleV90YXJnZXQpOworICAgIGlmICghY29tbWVudF90ZXh0YXJlYSkKKyAg
ICAgIHJldHVybjsKKworICAgIHZhciBjb21tZW50X2Jhc2VfbGluZSA9IGNvbW1lbnRfdGV4dGFy
ZWEuYXR0cignZGF0YS1jb21tZW50LWZvcicpOworICAgIHZhciBkaWZmX3NlY3Rpb24gPSBkaWZm
U2VjdGlvbkZvcihjb21tZW50X3RleHRhcmVhKTsKKyAgICB2YXIgbGluZXMgPSBjb250ZXh0TGlu
ZXNGb3IoY29tbWVudF9iYXNlX2xpbmUsIGRpZmZfc2VjdGlvbik7CisgICAgaWYgKGxpbmVzLnNp
emUoKSA+IDEpCisgICAgICByZW1vdmVEYXRhQ29tbWVudEJhc2VMaW5lKGxpbmVzWzBdLCBjb21t
ZW50X2Jhc2VfbGluZSk7CisgIH0KKworICBmdW5jdGlvbiBoYW5kbGVNb2RpZnlDb250ZXh0S2V5
KGUpIHsKKyAgICB2YXIgaGFuZGxlZCA9IGZhbHNlOworCisgICAgaWYgKGUuc2hpZnRLZXkgJiYg
ZS5jdHJsS2V5KSB7CisgICAgICB2YXIgdXBfa2V5X2NvZGUgPSAzODsKKyAgICAgIHZhciBkb3du
X2tleV9jb2RlID0gNDA7CisKKyAgICAgIHN3aXRjaCAoZS5rZXlDb2RlKSB7CisgICAgICBjYXNl
IHVwX2tleV9jb2RlOgorICAgICAgICBleHRlbmRDb21tZW50Q29udGV4dFVwKGUudGFyZ2V0KTsK
KyAgICAgICAgaGFuZGxlZCA9IHRydWU7CisgICAgICAgIGJyZWFrOworCisgICAgICBjYXNlIGRv
d25fa2V5X2NvZGU6CisgICAgICAgIHNocmlua0NvbW1lbnRDb250ZXh0RG93bihlLnRhcmdldCk7
CisgICAgICAgIGhhbmRsZWQgPSB0cnVlOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICB9
CisKKyAgICBpZiAoaGFuZGxlZCkKKyAgICAgIGUucHJldmVudERlZmF1bHQoKTsKKworICAgIHJl
dHVybiBoYW5kbGVkOworICB9CisKICAgJCgndGV4dGFyZWEnKS5saXZlKCdrZXlkb3duJywgZnVu
Y3Rpb24oZSkgeworICAgIGlmIChoYW5kbGVNb2RpZnlDb250ZXh0S2V5KGUpKQorICAgICAgcmV0
dXJuOworCiAgICAgdmFyIGVzY2FwZV9rZXlfY29kZSA9IDI3OwogICAgIGlmIChlLmtleUNvZGUg
PT0gZXNjYXBlX2tleV9jb2RlKQotICAgICAgaGFuZGxlRXNjYXBlS2V5RG93bkluVGV4dGFyZWEo
dGhpcyk7CisgICAgICBoYW5kbGVFc2NhcGVLZXlJblRleHRhcmVhKHRoaXMpOwogICB9KTsKIAot
ICAkKCdib2R5JykubGl2ZSgna2V5cHJlc3MnLCBmdW5jdGlvbihlKSB7CisgICQoJ2JvZHknKS5s
aXZlKCdrZXlkb3duJywgZnVuY3Rpb24oZSkgewogICAgIC8vIEZJWE1FOiBUaGVyZSdzIGdvdCB0
byBiZSBhIGJldHRlciB3YXkgdG8gYXZvaWQgc2VlaW5nIHRoZXNlIGtleXByZXNzCiAgICAgLy8g
ZXZlbnRzLgogICAgIGlmIChlLnRhcmdldC5ub2RlTmFtZSA9PSAnVEVYVEFSRUEnKQogICAgICAg
cmV0dXJuOwotICAgIAotICAgIHZhciBoYW5kbGVkID0gZmFsc2U7CiAKLSAgICBzd2l0Y2ggKGUu
Y2hhckNvZGUpIHsKLSAgICBjYXNlIGtDaGFyQ29kZUZvck46CisgICAgaWYgKGhhbmRsZU1vZGlm
eUNvbnRleHRLZXkoZSkpCisgICAgICByZXR1cm47CisKKyAgICB2YXIgaGFuZGxlZCA9IGZhbHNl
OworICAgIAorICAgIHZhciBuX2tleV9jb2RlID0gNzg7CisgICAgdmFyIHBfa2V5X2NvZGUgPSA4
MDsKKyAgICB2YXIgal9rZXlfY29kZSA9IDc0OworICAgIHZhciBrX2tleV9jb2RlID0gNzU7Cisg
ICAgdmFyIGVudGVyX2tleV9jb2RlID0gMTM7CisKKyAgICBzd2l0Y2ggKGUua2V5Q29kZSkgewor
ICAgIGNhc2Ugbl9rZXlfY29kZToKICAgICAgIGhhbmRsZWQgPSBmb2N1c05leHQoaXNDb21tZW50
LCBESVJFQ1RJT04uRk9SV0FSRCk7CiAgICAgICBicmVhazsKIAotICAgIGNhc2Uga0NoYXJDb2Rl
Rm9yUDoKKyAgICBjYXNlIHBfa2V5X2NvZGU6CiAgICAgICBoYW5kbGVkID0gZm9jdXNOZXh0KGlz
Q29tbWVudCwgRElSRUNUSU9OLkJBQ0tXQVJEKTsKICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBr
Q2hhckNvZGVGb3JKOgotICAgICAgaGFuZGxlZCA9IGZvY3VzTmV4dChpc0RpZmZCbG9jaywgRElS
RUNUSU9OLkZPUldBUkQpOwotICAgICAgYnJlYWs7Ci0KLSAgICBjYXNlIGtDaGFyQ29kZUZvcks6
Ci0gICAgICBoYW5kbGVkID0gZm9jdXNOZXh0KGlzRGlmZkJsb2NrLCBESVJFQ1RJT04uQkFDS1dB
UkQpOwotICAgICAgYnJlYWs7Ci0gICAgICAKLSAgICBjYXNlIGtDaGFyQ29kZUZvckNhcGl0YWxK
OgotICAgICAgaGFuZGxlZCA9IGZvY3VzTmV4dChpc0xpbmUsIERJUkVDVElPTi5GT1JXQVJEKTsK
KyAgICBjYXNlIGpfa2V5X2NvZGU6CisgICAgICBpZiAoZS5zaGlmdEtleSkKKyAgICAgICAgaGFu
ZGxlZCA9IGZvY3VzTmV4dChpc0xpbmUsIERJUkVDVElPTi5GT1JXQVJEKTsKKyAgICAgIGVsc2UK
KyAgICAgICAgaGFuZGxlZCA9IGZvY3VzTmV4dChpc0RpZmZCbG9jaywgRElSRUNUSU9OLkZPUldB
UkQpOwogICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIGtDaGFyQ29kZUZvckNhcGl0YWxLOgotICAg
ICAgaGFuZGxlZCA9IGZvY3VzTmV4dChpc0xpbmUsIERJUkVDVElPTi5CQUNLV0FSRCk7CisgICAg
Y2FzZSBrX2tleV9jb2RlOgorICAgICAgaWYgKGUuc2hpZnRLZXkpCisgICAgICAgIGhhbmRsZWQg
PSBmb2N1c05leHQoaXNMaW5lLCBESVJFQ1RJT04uQkFDS1dBUkQpOworICAgICAgZWxzZQorICAg
ICAgICBoYW5kbGVkID0gZm9jdXNOZXh0KGlzRGlmZkJsb2NrLCBESVJFQ1RJT04uQkFDS1dBUkQp
OwogICAgICAgYnJlYWs7CiAgICAgCi0gICAgY2FzZSBrQ2hhckNvZGVGb3JFbnRlcjoKLSAgICAg
IGhhbmRsZWQgPSBoYW5kbGVFbnRlcktleVByZXNzKCk7CisgICAgY2FzZSBlbnRlcl9rZXlfY29k
ZToKKyAgICAgIGhhbmRsZWQgPSBoYW5kbGVFbnRlcktleSgpOwogICAgICAgYnJlYWs7CiAgICAg
fQogICAgIApAQCAtMTQ0MCw3ICsxNTA0LDcgQEAgdmFyIENPREVfUkVWSUVXX1VOSVRURVNUOwog
ICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICB9KTsKICAgCi0gIGZ1bmN0aW9uIGhhbmRsZUVz
Y2FwZUtleURvd25JblRleHRhcmVhKHRleHRhcmVhKSB7CisgIGZ1bmN0aW9uIGhhbmRsZUVzY2Fw
ZUtleUluVGV4dGFyZWEodGV4dGFyZWEpIHsKICAgICB2YXIgY29tbWVudCA9ICQodGV4dGFyZWEp
LnBhcmVudHMoJy5jb21tZW50Jyk7CiAgICAgaWYgKGNvbW1lbnQuc2l6ZSgpKQogICAgICAgYWNj
ZXB0Q29tbWVudChjb21tZW50KTsKQEAgLTE0NDksNyArMTUxMyw3IEBAIHZhciBDT0RFX1JFVklF
V19VTklUVEVTVDsKICAgICBkb2N1bWVudC5ib2R5LmZvY3VzKCk7CiAgIH0KICAgCi0gIGZ1bmN0
aW9uIGhhbmRsZUVudGVyS2V5UHJlc3MoKSB7CisgIGZ1bmN0aW9uIGhhbmRsZUVudGVyS2V5KCkg
ewogICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50Lm5vZGVOYW1lID09ICdCT0RZJykKICAg
ICAgIHJldHVybjsKIApAQCAtMTUwMyw4ICsxNTY3LDYgQEAgdmFyIENPREVfUkVWSUVXX1VOSVRU
RVNUOwogICAgICAgICByZXR1cm47CiAKICAgICAgIHJlbW92ZURhdGFDb21tZW50QmFzZUxpbmUo
dGhpcywgY29tbWVudF9iYXNlX2xpbmUpOwotICAgICAgaWYgKCEkKHRoaXMpLmF0dHIoJ2RhdGEt
Y29tbWVudC1iYXNlLWxpbmUnKSkKLSAgICAgICAgJCh0aGlzKS5yZW1vdmVDbGFzcygnY29tbWVu
dENvbnRleHQnKTsKICAgICB9KTsKICAgfQogCkBAIC0xNjI2LDcgKzE2ODgsNiBAQCB2YXIgQ09E
RV9SRVZJRVdfVU5JVFRFU1Q7CiAgICAgICByZXR1cm47CiAKICAgICB2YXIgYWxyZWFkeV9oYXNf
Y29tbWVudCA9IGxpbmVzLmxhc3QoKS5oYXNDbGFzcygnY29tbWVudENvbnRleHQnKTsKLSAgICBs
aW5lcy5hZGRDbGFzcygnY29tbWVudENvbnRleHQnKTsKIAogICAgIHZhciBjb21tZW50X2Jhc2Vf
bGluZTsKICAgICBpZiAoYWxyZWFkeV9oYXNfY29tbWVudCkKQEAgLTE2NDUsMTUgKzE3MDYsMjYg
QEAgdmFyIENPREVfUkVWSUVXX1VOSVRURVNUOwogICAgIHNhdmVEcmFmdENvbW1lbnRzKCk7CiAg
IH0KIAotICBmdW5jdGlvbiBhZGREYXRhQ29tbWVudEJhc2VMaW5lKGxpbmUsIGlkKSB7CisgIGZ1
bmN0aW9uIGhhc0RhdGFDb21tZW50QmFzZUxpbmUobGluZSwgaWQpIHsKICAgICB2YXIgdmFsID0g
JChsaW5lKS5hdHRyKCdkYXRhLWNvbW1lbnQtYmFzZS1saW5lJyk7CisgICAgaWYgKCF2YWwpCisg
ICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICB2YXIgcGFydHMgPSB2YWwgPyB2YWwuc3BsaXQoJyAn
KSA6IFtdOworICAgIHZhciBwYXJ0cyA9IHZhbC5zcGxpdCgnICcpOwogICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgcGFydHMubGVuZ3RoOyBpKyspIHsKICAgICAgIGlmIChwYXJ0c1tpXSA9PSBpZCkK
LSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CisgICAgcmV0dXJu
IGZhbHNlOworICB9CiAKKyAgZnVuY3Rpb24gYWRkRGF0YUNvbW1lbnRCYXNlTGluZShsaW5lLCBp
ZCkgeworICAgICQobGluZSkuYWRkQ2xhc3MoJ2NvbW1lbnRDb250ZXh0Jyk7CisgICAgaWYgKGhh
c0RhdGFDb21tZW50QmFzZUxpbmUobGluZSwgaWQpKQorICAgICAgcmV0dXJuOworCisgICAgdmFy
IHZhbCA9ICQobGluZSkuYXR0cignZGF0YS1jb21tZW50LWJhc2UtbGluZScpOworICAgIHZhciBw
YXJ0cyA9IHZhbCA/IHZhbC5zcGxpdCgnICcpIDogW107CiAgICAgcGFydHMucHVzaChpZCk7CiAg
ICAgJChsaW5lKS5hdHRyKCdkYXRhLWNvbW1lbnQtYmFzZS1saW5lJywgcGFydHMuam9pbignICcp
KTsKICAgfQpAQCAtMTY2NSwxMyArMTczNywxOSBAQCB2YXIgQ09ERV9SRVZJRVdfVU5JVFRFU1Q7
CiAKICAgICB2YXIgYmFzZV9saW5lcyA9IGNvbW1lbnRfYmFzZV9saW5lcy5zcGxpdCgnICcpOwog
ICAgIHZhciBwYXJ0cyA9IHZhbC5zcGxpdCgnICcpOwotICAgIHZhciBuZXdWYWwgPSBbXTsKKyAg
ICB2YXIgbmV3X3BhcnRzID0gW107CiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXJ0cy5sZW5n
dGg7IGkrKykgewogICAgICAgaWYgKGJhc2VfbGluZXMuaW5kZXhPZihwYXJ0c1tpXSkgPT0gLTEp
Ci0gICAgICAgIG5ld1ZhbC5wdXNoKHBhcnRzW2ldKTsKKyAgICAgICAgbmV3X3BhcnRzLnB1c2go
cGFydHNbaV0pOwogICAgIH0KIAotICAgICQobGluZSkuYXR0cignZGF0YS1jb21tZW50LWJhc2Ut
bGluZScsIG5ld1ZhbC5qb2luKCcgJykpOworICAgIHZhciBuZXdfY29tbWVudF9iYXNlX2xpbmUg
PSBuZXdfcGFydHMuam9pbignICcpOworICAgIGlmIChuZXdfY29tbWVudF9iYXNlX2xpbmUpCisg
ICAgICAkKGxpbmUpLmF0dHIoJ2RhdGEtY29tbWVudC1iYXNlLWxpbmUnLCBuZXdfY29tbWVudF9i
YXNlX2xpbmUpOworICAgIGVsc2UgeworICAgICAgJChsaW5lKS5yZW1vdmVBdHRyKCdkYXRhLWNv
bW1lbnQtYmFzZS1saW5lJyk7CisgICAgICAkKGxpbmUpLnJlbW92ZUNsYXNzKCdjb21tZW50Q29u
dGV4dCcpOworICAgIH0KICAgfQogCiAgIGZ1bmN0aW9uIGxpbmVGcm9tTGluZURlc2NlbmRhbnQo
ZGVzY2VuZGFudCkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83130</attachid>
            <date>2011-02-20 22:55:53 -0800</date>
            <delta_ts>2011-02-20 23:08:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54612-20110221175551.patch</filename>
            <type>text/plain</type>
            <size>6802</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzkxODYKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL2J1Z3Mud2Vi
a2l0Lm9yZy9DaGFuZ2VMb2cgYi9XZWJzaXRlcy9idWdzLndlYmtpdC5vcmcvQ2hhbmdlTG9nCmlu
ZGV4IDY0MTZkMWZlYTQyODcyMmRkNjFhNDA4NzA4OTQzNTdkYjQ5NzFmYTguLjA0YjA1MzdjZjU1
NmEyNWM3YmQ1OGZmNjA5NGE2OGIzNTYwNGExMzEgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL2J1Z3Mu
d2Via2l0Lm9yZy9DaGFuZ2VMb2cKKysrIGIvV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDExLTAyLTE2ICBPamFuIFZhZmFpICA8b2phbkBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAga2V5Ym9hcmQgc3VwcG9ydCBmb3IgZXh0ZW5kaW5nL3Nocmlua2luZyBjb21tZW50IGNvbnRl
eHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0NjEy
CisKKyAgICAgICAgY3RybCtzaGlmdCt1cC9kb3duIHdpbGwgZXh0ZW5kL3NocmluayB0aGUgY29t
bWVudCBjb250ZXh0IHdoZW4KKyAgICAgICAgYSBjb21tZW50IGlzIGZvY3VzZWQgb3Igd2hlbiBv
bmUgaXMgYmVpbmcgZWRpdGVkLgorCisgICAgICAgIEFsc28sIHN3aXRjaCBvdmVyIHRvIHVzaW5n
IGtleWRvd24gaW5zdGVhZCBvZiBrZXlwcmVzcyBldmVudHMuCisgICAgICAgIFRoaXMgbGV0cyB1
cyBzaGFyZSBjb2RlIGZvciBoYW5kbGluZyBlc2NhcGUgYW5kIG90aGVyIGtleSBldmVudHMuCisg
ICAgICAgIEFsc28sIGtleXByZXNzIGlzIGV2aWwgYW5kIHNob3VsZCBkaWUuCisKKyAgICAgICAg
KiBjb2RlLXJldmlldy5qczoKKwogMjAxMS0wMi0yMCAgT2phbiBWYWZhaSAgPG9qYW5AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRpZmYgLS1naXQgYS9X
ZWJzaXRlcy9idWdzLndlYmtpdC5vcmcvY29kZS1yZXZpZXcuanMgYi9XZWJzaXRlcy9idWdzLndl
YmtpdC5vcmcvY29kZS1yZXZpZXcuanMKaW5kZXggYmJjNGE3Mzk2ZDNhM2VlODg1MWYyYWRlNGI5
MmNhM2Q3OGVhYTlkZC4uOWUzYjU0MTA1YmJiZGQwOGQyZTYxYWQxMjE0MDkxYjhiODQ0ZTlhZiAx
MDA2NDQKLS0tIGEvV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL2NvZGUtcmV2aWV3LmpzCisrKyBi
L1dlYnNpdGVzL2J1Z3Mud2Via2l0Lm9yZy9jb2RlLXJldmlldy5qcwpAQCAtNzEsMTMgKzcxLDE1
IEBAIHZhciBDT0RFX1JFVklFV19VTklUVEVTVDsKICAgdmFyIFNJREVfQllfU0lERV9ESUZGU19L
RVkgPSAnc2lkZWJ5c2lkZWRpZmZzJzsKICAgdmFyIGdfZGlzcGxheWVkX2RyYWZ0X2NvbW1lbnRz
ID0gZmFsc2U7CiAgIHZhciBLRVlfQ09ERSA9IHsKKyAgICBkb3duOiA0MCwKICAgICBlbnRlcjog
MTMsCiAgICAgZXNjYXBlOiAyNywKICAgICBqOiA3NCwKICAgICBrOiA3NSwKICAgICBuOiA3OCwK
ICAgICBwOiA4MCwKLSAgICByOiA4MgorICAgIHI6IDgyLAorICAgIHVwOiAzOAogICB9CiAKICAg
ZnVuY3Rpb24gaWRGb3JMaW5lKG51bWJlcikgewpAQCAtMTQ5LDkgKzE1MSw3IEBAIHZhciBDT0RF
X1JFVklFV19VTklUVEVTVDsKICAgICB2YXIgc3RhcnQgPSBudW1iZXJGcm9tKHN0YXJ0X2xpbmVf
aWQpOwogICAgIHZhciBlbmQgPSBudW1iZXJGcm9tKGVuZF9saW5lX2lkKTsKICAgICBmb3IgKHZh
ciBpID0gc3RhcnQ7IGkgPD0gZW5kOyBpKyspIHsKLSAgICAgIHZhciBsaW5lID0gJCgnI2xpbmUn
ICsgaSk7Ci0gICAgICBsaW5lLmFkZENsYXNzKCdjb21tZW50Q29udGV4dCcpOwotICAgICAgYWRk
RGF0YUNvbW1lbnRCYXNlTGluZShsaW5lLCBlbmRfbGluZV9pZCk7CisgICAgICBhZGREYXRhQ29t
bWVudEJhc2VMaW5lKCQoJyNsaW5lJyArIGkpLCBlbmRfbGluZV9pZCk7CiAgICAgfQogCiAgICAg
dmFyIGNvbW1lbnRfYmxvY2sgPSBjcmVhdGVDb21tZW50Rm9yKGxpbmUpOwpAQCAtMTQwMCw3ICsx
NDAwLDcxIEBAIHZhciBDT0RFX1JFVklFV19VTklUVEVTVDsKICAgICByZXR1cm4gbm9kZS5oYXND
bGFzcygnTGluZScpOwogICB9CiAKKyAgZnVuY3Rpb24gY29tbWVudFRleHRhcmVhRm9yS2V5VGFy
Z2V0KGtleV90YXJnZXQpIHsKKyAgICBpZiAoa2V5X3RhcmdldC5ub2RlTmFtZSA9PSAnVEVYVEFS
RUEnKQorICAgICAgcmV0dXJuICQoa2V5X3RhcmdldCk7CisKKyAgICB2YXIgY29tbWVudF90ZXh0
YXJlYSA9ICQoJy5mb2N1c2VkJykucHJldigpLmZpbmQoJ3RleHRhcmVhJyk7CisgICAgaWYgKCFj
b21tZW50X3RleHRhcmVhLnNpemUoKSkKKyAgICAgIHJldHVybiBudWxsOworICAgIHJldHVybiBj
b21tZW50X3RleHRhcmVhOworICB9CisKKyAgZnVuY3Rpb24gZXh0ZW5kQ29tbWVudENvbnRleHRV
cChrZXlfdGFyZ2V0KSB7CisgICAgdmFyIGNvbW1lbnRfdGV4dGFyZWEgPSBjb21tZW50VGV4dGFy
ZWFGb3JLZXlUYXJnZXQoa2V5X3RhcmdldCk7CisgICAgaWYgKCFjb21tZW50X3RleHRhcmVhKQor
ICAgICAgcmV0dXJuOworCisgICAgdmFyIGNvbW1lbnRfYmFzZV9saW5lID0gY29tbWVudF90ZXh0
YXJlYS5hdHRyKCdkYXRhLWNvbW1lbnQtZm9yJyk7CisgICAgdmFyIGRpZmZfc2VjdGlvbiA9IGRp
ZmZTZWN0aW9uRm9yKGNvbW1lbnRfdGV4dGFyZWEpOworICAgIHZhciBsaW5lcyA9ICQoJy5MaW5l
JywgZGlmZl9zZWN0aW9uKTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxpbmVzLmxlbmd0aCAt
IDE7IGkrKykgeworICAgICAgaWYgKGhhc0RhdGFDb21tZW50QmFzZUxpbmUobGluZXNbaSArIDFd
LCBjb21tZW50X2Jhc2VfbGluZSkpIHsKKyAgICAgICAgYWRkRGF0YUNvbW1lbnRCYXNlTGluZShs
aW5lc1tpXSwgY29tbWVudF9iYXNlX2xpbmUpOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAg
ICB9CisgIH0KKworICBmdW5jdGlvbiBzaHJpbmtDb21tZW50Q29udGV4dERvd24oa2V5X3Rhcmdl
dCkgeworICAgIHZhciBjb21tZW50X3RleHRhcmVhID0gY29tbWVudFRleHRhcmVhRm9yS2V5VGFy
Z2V0KGtleV90YXJnZXQpOworICAgIGlmICghY29tbWVudF90ZXh0YXJlYSkKKyAgICAgIHJldHVy
bjsKKworICAgIHZhciBjb21tZW50X2Jhc2VfbGluZSA9IGNvbW1lbnRfdGV4dGFyZWEuYXR0cign
ZGF0YS1jb21tZW50LWZvcicpOworICAgIHZhciBkaWZmX3NlY3Rpb24gPSBkaWZmU2VjdGlvbkZv
cihjb21tZW50X3RleHRhcmVhKTsKKyAgICB2YXIgbGluZXMgPSBjb250ZXh0TGluZXNGb3IoY29t
bWVudF9iYXNlX2xpbmUsIGRpZmZfc2VjdGlvbik7CisgICAgaWYgKGxpbmVzLnNpemUoKSA+IDEp
CisgICAgICByZW1vdmVEYXRhQ29tbWVudEJhc2VMaW5lKGxpbmVzWzBdLCBjb21tZW50X2Jhc2Vf
bGluZSk7CisgIH0KKworICBmdW5jdGlvbiBoYW5kbGVNb2RpZnlDb250ZXh0S2V5KGUpIHsKKyAg
ICB2YXIgaGFuZGxlZCA9IGZhbHNlOworCisgICAgaWYgKGUuc2hpZnRLZXkgJiYgZS5jdHJsS2V5
KSB7CisgICAgICBzd2l0Y2ggKGUua2V5Q29kZSkgeworICAgICAgY2FzZSBLRVlfQ09ERS51cDoK
KyAgICAgICAgZXh0ZW5kQ29tbWVudENvbnRleHRVcChlLnRhcmdldCk7CisgICAgICAgIGhhbmRs
ZWQgPSB0cnVlOworICAgICAgICBicmVhazsKKworICAgICAgY2FzZSBLRVlfQ09ERS5kb3duOgor
ICAgICAgICBzaHJpbmtDb21tZW50Q29udGV4dERvd24oZS50YXJnZXQpOworICAgICAgICBoYW5k
bGVkID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgfQorCisgICAgaWYgKGhh
bmRsZWQpCisgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CisKKyAgICByZXR1cm4gaGFuZGxlZDsK
KyAgfQorCiAgICQoJ3RleHRhcmVhJykubGl2ZSgna2V5ZG93bicsIGZ1bmN0aW9uKGUpIHsKKyAg
ICBpZiAoaGFuZGxlTW9kaWZ5Q29udGV4dEtleShlKSkKKyAgICAgIHJldHVybjsKKwogICAgIGlm
IChlLmtleUNvZGUgPT0gS0VZX0NPREUuZXNjYXBlKQogICAgICAgaGFuZGxlRXNjYXBlS2V5SW5U
ZXh0YXJlYSh0aGlzKTsKICAgfSk7CkBAIC0xNDEwLDkgKzE0NzQsMTEgQEAgdmFyIENPREVfUkVW
SUVXX1VOSVRURVNUOwogICAgIC8vIGV2ZW50cy4KICAgICBpZiAoZS50YXJnZXQubm9kZU5hbWUg
PT0gJ1RFWFRBUkVBJykKICAgICAgIHJldHVybjsKLSAgICAKLSAgICB2YXIgaGFuZGxlZCA9IGZh
bHNlOwogCisgICAgaWYgKGhhbmRsZU1vZGlmeUNvbnRleHRLZXkoZSkpCisgICAgICByZXR1cm47
CisKKyAgICB2YXIgaGFuZGxlZCA9IGZhbHNlOwogICAgIHN3aXRjaCAoZS5rZXlDb2RlKSB7CiAg
ICAgY2FzZSBLRVlfQ09ERS5yOgogICAgICAgJCgnLnJldmlldyBzZWxlY3QnKS5mb2N1cygpOwpA
QCAtMTQ0Miw3ICsxNTA4LDcgQEAgdmFyIENPREVfUkVWSUVXX1VOSVRURVNUOwogICAgICAgYnJl
YWs7CiAgICAgICAKICAgICBjYXNlIEtFWV9DT0RFLmVudGVyOgotICAgICAgaGFuZGxlZCA9IGhh
bmRsZUVudGVyS2V5UHJlc3MoKTsKKyAgICAgIGhhbmRsZWQgPSBoYW5kbGVFbnRlcktleSgpOwog
ICAgICAgYnJlYWs7CiAgICAgfQogICAgIApAQCAtMTQ1OSw3ICsxNTI1LDcgQEAgdmFyIENPREVf
UkVWSUVXX1VOSVRURVNUOwogICAgIGRvY3VtZW50LmJvZHkuZm9jdXMoKTsKICAgfQogICAKLSAg
ZnVuY3Rpb24gaGFuZGxlRW50ZXJLZXlQcmVzcygpIHsKKyAgZnVuY3Rpb24gaGFuZGxlRW50ZXJL
ZXkoKSB7CiAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQubm9kZU5hbWUgPT0gJ0JPRFkn
KQogICAgICAgcmV0dXJuOwogCkBAIC0xNTEzLDggKzE1NzksNiBAQCB2YXIgQ09ERV9SRVZJRVdf
VU5JVFRFU1Q7CiAgICAgICAgIHJldHVybjsKIAogICAgICAgcmVtb3ZlRGF0YUNvbW1lbnRCYXNl
TGluZSh0aGlzLCBjb21tZW50X2Jhc2VfbGluZSk7Ci0gICAgICBpZiAoISQodGhpcykuYXR0cign
ZGF0YS1jb21tZW50LWJhc2UtbGluZScpKQotICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCdj
b21tZW50Q29udGV4dCcpOwogICAgIH0pOwogICB9CiAKQEAgLTE2MzYsNyArMTcwMCw2IEBAIHZh
ciBDT0RFX1JFVklFV19VTklUVEVTVDsKICAgICAgIHJldHVybjsKIAogICAgIHZhciBhbHJlYWR5
X2hhc19jb21tZW50ID0gbGluZXMubGFzdCgpLmhhc0NsYXNzKCdjb21tZW50Q29udGV4dCcpOwot
ICAgIGxpbmVzLmFkZENsYXNzKCdjb21tZW50Q29udGV4dCcpOwogCiAgICAgdmFyIGNvbW1lbnRf
YmFzZV9saW5lOwogICAgIGlmIChhbHJlYWR5X2hhc19jb21tZW50KQpAQCAtMTY1NSwxNSArMTcx
OCwyNiBAQCB2YXIgQ09ERV9SRVZJRVdfVU5JVFRFU1Q7CiAgICAgc2F2ZURyYWZ0Q29tbWVudHMo
KTsKICAgfQogCi0gIGZ1bmN0aW9uIGFkZERhdGFDb21tZW50QmFzZUxpbmUobGluZSwgaWQpIHsK
KyAgZnVuY3Rpb24gaGFzRGF0YUNvbW1lbnRCYXNlTGluZShsaW5lLCBpZCkgewogICAgIHZhciB2
YWwgPSAkKGxpbmUpLmF0dHIoJ2RhdGEtY29tbWVudC1iYXNlLWxpbmUnKTsKKyAgICBpZiAoIXZh
bCkKKyAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHZhciBwYXJ0cyA9IHZhbCA/IHZhbC5zcGxp
dCgnICcpIDogW107CisgICAgdmFyIHBhcnRzID0gdmFsLnNwbGl0KCcgJyk7CiAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBwYXJ0cy5sZW5ndGg7IGkrKykgewogICAgICAgaWYgKHBhcnRzW2ldID09
IGlkKQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KKyAgICBy
ZXR1cm4gZmFsc2U7CisgIH0KIAorICBmdW5jdGlvbiBhZGREYXRhQ29tbWVudEJhc2VMaW5lKGxp
bmUsIGlkKSB7CisgICAgJChsaW5lKS5hZGRDbGFzcygnY29tbWVudENvbnRleHQnKTsKKyAgICBp
ZiAoaGFzRGF0YUNvbW1lbnRCYXNlTGluZShsaW5lLCBpZCkpCisgICAgICByZXR1cm47CisKKyAg
ICB2YXIgdmFsID0gJChsaW5lKS5hdHRyKCdkYXRhLWNvbW1lbnQtYmFzZS1saW5lJyk7CisgICAg
dmFyIHBhcnRzID0gdmFsID8gdmFsLnNwbGl0KCcgJykgOiBbXTsKICAgICBwYXJ0cy5wdXNoKGlk
KTsKICAgICAkKGxpbmUpLmF0dHIoJ2RhdGEtY29tbWVudC1iYXNlLWxpbmUnLCBwYXJ0cy5qb2lu
KCcgJykpOwogICB9CkBAIC0xNjc1LDEzICsxNzQ5LDE5IEBAIHZhciBDT0RFX1JFVklFV19VTklU
VEVTVDsKIAogICAgIHZhciBiYXNlX2xpbmVzID0gY29tbWVudF9iYXNlX2xpbmVzLnNwbGl0KCcg
Jyk7CiAgICAgdmFyIHBhcnRzID0gdmFsLnNwbGl0KCcgJyk7Ci0gICAgdmFyIG5ld1ZhbCA9IFtd
OworICAgIHZhciBuZXdfcGFydHMgPSBbXTsKICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBhcnRz
Lmxlbmd0aDsgaSsrKSB7CiAgICAgICBpZiAoYmFzZV9saW5lcy5pbmRleE9mKHBhcnRzW2ldKSA9
PSAtMSkKLSAgICAgICAgbmV3VmFsLnB1c2gocGFydHNbaV0pOworICAgICAgICBuZXdfcGFydHMu
cHVzaChwYXJ0c1tpXSk7CiAgICAgfQogCi0gICAgJChsaW5lKS5hdHRyKCdkYXRhLWNvbW1lbnQt
YmFzZS1saW5lJywgbmV3VmFsLmpvaW4oJyAnKSk7CisgICAgdmFyIG5ld19jb21tZW50X2Jhc2Vf
bGluZSA9IG5ld19wYXJ0cy5qb2luKCcgJyk7CisgICAgaWYgKG5ld19jb21tZW50X2Jhc2VfbGlu
ZSkKKyAgICAgICQobGluZSkuYXR0cignZGF0YS1jb21tZW50LWJhc2UtbGluZScsIG5ld19jb21t
ZW50X2Jhc2VfbGluZSk7CisgICAgZWxzZSB7CisgICAgICAkKGxpbmUpLnJlbW92ZUF0dHIoJ2Rh
dGEtY29tbWVudC1iYXNlLWxpbmUnKTsKKyAgICAgICQobGluZSkucmVtb3ZlQ2xhc3MoJ2NvbW1l
bnRDb250ZXh0Jyk7CisgICAgfQogICB9CiAKICAgZnVuY3Rpb24gbGluZUZyb21MaW5lRGVzY2Vu
ZGFudChkZXNjZW5kYW50KSB7Cg==
</data>
<flag name="review"
          id="74885"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>