<?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>71292</bug_id>
          
          <creation_ts>2011-11-01 09:43:30 -0700</creation_ts>
          <short_desc>CSSRule: Devirtualize cssText()</short_desc>
          <delta_ts>2011-11-02 08:02:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>darin</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>493955</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-11-01 09:43:30 -0700</bug_when>
    <thetext>SSIA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493958</commentid>
    <comment_count>1</comment_count>
      <attachid>113180</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-11-01 09:45:26 -0700</bug_when>
    <thetext>Created attachment 113180
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493963</commentid>
    <comment_count>2</comment_count>
      <attachid>113180</attachid>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-11-01 09:53:17 -0700</bug_when>
    <thetext>Comment on attachment 113180
Proposed patch

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

&gt; Source/WebCore/css/CSSRule.cpp:66
&gt; +        ASSERT_NOT_REACHED();

If you remove the default case and put the ASSERT_NOT_REACHED() after the switch the compiler should produce a warning if any cases are missed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493969</commentid>
    <comment_count>3</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-11-01 10:02:34 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 113180 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=113180&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/css/CSSRule.cpp:66
&gt; &gt; +        ASSERT_NOT_REACHED();
&gt; 
&gt; If you remove the default case and put the ASSERT_NOT_REACHED() after the switch the compiler should produce a warning if any cases are missed.

Fair point!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494010</commentid>
    <comment_count>4</comment_count>
      <attachid>113180</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-11-01 10:44:29 -0700</bug_when>
    <thetext>Comment on attachment 113180
Proposed patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Have CSSRule::cssText() redirect to the appropriate subclass based on type().

This patch needs a “why” comment. I think the reason is that a switch statement based on bits is faster than a virtual function call? If so, normally we want performance measurement to go along with the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494015</commentid>
    <comment_count>5</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-11-01 10:49:12 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 113180 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=113180&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:8
&gt; &gt; +        Have CSSRule::cssText() redirect to the appropriate subclass based on type().
&gt; 
&gt; This patch needs a “why” comment. I think the reason is that a switch statement based on bits is faster than a virtual function call? If so, normally we want performance measurement to go along with the patch.

Ah right. I&apos;ll gladly add one. (The primary reason is that I&apos;m devirtualizing CSSRule completely to remove the vtable pointer, shrinking each instance by sizeof(void*).)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494076</commentid>
    <comment_count>6</comment_count>
      <attachid>113180</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-11-01 12:46:38 -0700</bug_when>
    <thetext>Comment on attachment 113180
Proposed patch

Attachment 113180 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/10256028</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494584</commentid>
    <comment_count>7</comment_count>
      <attachid>113311</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-11-02 06:38:48 -0700</bug_when>
    <thetext>Created attachment 113311
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494585</commentid>
    <comment_count>8</comment_count>
      <attachid>113311</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-11-02 06:40:59 -0700</bug_when>
    <thetext>Comment on attachment 113311
Proposed patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494624</commentid>
    <comment_count>9</comment_count>
      <attachid>113311</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-02 08:02:19 -0700</bug_when>
    <thetext>Comment on attachment 113311
Proposed patch

Clearing flags on attachment: 113311

Committed r99059: &lt;http://trac.webkit.org/changeset/99059&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494625</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-02 08:02:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113180</attachid>
            <date>2011-11-01 09:45:26 -0700</date>
            <delta_ts>2011-11-02 06:38:48 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>bug-71292.diff</filename>
            <type>text/plain</type>
            <size>6985</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkNDE4NTJlLi4yYjI3ZDJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjYg
QEAKIDIwMTEtMTEtMDEgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgogCisgICAg
ICAgIENTU1J1bGU6IERldmlydHVhbGl6ZSBjc3NUZXh0KCkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSGF2ZSBDU1NSdWxlOjpjc3NUZXh0KCkgcmVkaXJl
Y3QgdG8gdGhlIGFwcHJvcHJpYXRlIHN1YmNsYXNzIGJhc2VkIG9uIHR5cGUoKS4KKworICAgICAg
ICAqIGNzcy9DU1NDaGFyc2V0UnVsZS5oOgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZVJ1bGUu
aDoKKyAgICAgICAgKiBjc3MvQ1NTSW1wb3J0UnVsZS5oOgorICAgICAgICAqIGNzcy9DU1NNZWRp
YVJ1bGUuaDoKKyAgICAgICAgKiBjc3MvQ1NTUmVnaW9uU3R5bGVSdWxlLmg6CisgICAgICAgICog
Y3NzL0NTU1J1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUnVsZTo6Y3NzVGV4dCk6Cisg
ICAgICAgICogY3NzL0NTU1J1bGUuaDoKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVSdWxlLmg6Cisg
ICAgICAgICogY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5oOgorICAgICAgICAqIGNzcy9XZWJL
aXRDU1NLZXlmcmFtZXNSdWxlLmg6CisKKzIwMTEtMTEtMDEgIEFuZHJlYXMgS2xpbmcgIDxrbGlu
Z0B3ZWJraXQub3JnPgorCiAgICAgICAgIENTU1N0eWxlU2hlZXQ6IE9wZXJhdGUgZGlyZWN0bHkg
b24gdGhlIHJ1bGUgdmVjdG9yIGludGVybmFsbHkuCiAKICAgICAgICAgUnViYmVyLXN0YW1wZWQg
YnkgQW50dGkgS29pdmlzdG8uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hh
cnNldFJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5oCmluZGV4IDZm
MGVkNzcuLjA5MTAzOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0
UnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5oCkBAIC0zOSw3
ICszOSw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIGVuY29kaW5nKCkgY29uc3QgeyBy
ZXR1cm4gbV9lbmNvZGluZzsgfQogICAgIHZvaWQgc2V0RW5jb2RpbmcoY29uc3QgU3RyaW5nJiBl
bmNvZGluZywgRXhjZXB0aW9uQ29kZSYpIHsgbV9lbmNvZGluZyA9IGVuY29kaW5nOyB9CiAKLSAg
ICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3Q7CisgICAgU3RyaW5nIGNzc1RleHQoKSBj
b25zdDsKIAogcHJpdmF0ZToKICAgICBDU1NDaGFyc2V0UnVsZShDU1NTdHlsZVNoZWV0KiBwYXJl
bnQsIGNvbnN0IFN0cmluZyYgZW5jb2RpbmcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0ZvbnRGYWNlUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlUnVs
ZS5oCmluZGV4IDFmM2FhN2IuLjNkMzcwZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250RmFjZVJ1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VS
dWxlLmgKQEAgLTQ1LDcgKzQ1LDcgQEAgcHVibGljOgogCiAgICAgQ1NTTXV0YWJsZVN0eWxlRGVj
bGFyYXRpb24qIHN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9zdHlsZS5nZXQoKTsgfQogCi0gICAg
dmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0OworICAgIFN0cmluZyBjc3NUZXh0KCkgY29u
c3Q7CiAKICAgICB2b2lkIHNldERlY2xhcmF0aW9uKFBhc3NSZWZQdHI8Q1NTTXV0YWJsZVN0eWxl
RGVjbGFyYXRpb24+KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltcG9y
dFJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKaW5kZXggNDNkODhh
MC4uNWI1MjhkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCkBAIC00Nyw3ICs0Nyw3
IEBAIHB1YmxpYzoKICAgICBNZWRpYUxpc3QqIG1lZGlhKCkgY29uc3QgeyByZXR1cm4gbV9sc3RN
ZWRpYS5nZXQoKTsgfQogICAgIENTU1N0eWxlU2hlZXQqIHN0eWxlU2hlZXQoKSBjb25zdCB7IHJl
dHVybiBtX3N0eWxlU2hlZXQuZ2V0KCk7IH0KIAotICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQo
KSBjb25zdDsKKyAgICBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0OwogCiAgICAgLy8gTm90IHBhcnQg
b2YgdGhlIENTU09NCiAgICAgYm9vbCBpc0xvYWRpbmcoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NN
ZWRpYVJ1bGUuaAppbmRleCBlOWRiNGNhLi5jNmJmYzcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTTWVkaWFSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU01lZGlh
UnVsZS5oCkBAIC00Niw3ICs0Niw3IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBpbnNlcnRSdWxl
KGNvbnN0IFN0cmluZyYgcnVsZSwgdW5zaWduZWQgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmKTsKICAg
ICB2b2lkIGRlbGV0ZVJ1bGUodW5zaWduZWQgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmKTsKIAotICAg
IHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKKyAgICBTdHJpbmcgY3NzVGV4dCgpIGNv
bnN0OwogCiAgICAgLy8gTm90IHBhcnQgb2YgdGhlIENTU09NCiAgICAgdW5zaWduZWQgYXBwZW5k
KENTU1J1bGUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWdpb25TdHls
ZVJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWdpb25TdHlsZVJ1bGUuaAppbmRleCA0
NzljZjIzLi42YTZmMTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUmVnaW9u
U3R5bGVSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1JlZ2lvblN0eWxlUnVsZS5o
CkBAIC01MSw3ICs1MSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgfkNTU1JlZ2lvblN0eWxl
UnVsZSgpOwogCi0gICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0OworICAgIFN0cmlu
ZyBjc3NUZXh0KCkgY29uc3Q7CiAgICAgY29uc3QgQ1NTU2VsZWN0b3JMaXN0JiBzZWxlY3Rvckxp
c3QoKSBjb25zdCB7IHJldHVybiBtX3NlbGVjdG9yTGlzdDsgfQogICAgIENTU1J1bGVMaXN0KiBj
c3NSdWxlcygpIGNvbnN0IHsgcmV0dXJuIG1fcnVsZUxpc3QuZ2V0KCk7IH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1J1bGUuY3BwCmluZGV4IDkxNWNjMzUuLjlkMWVmM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5jcHAK
QEAgLTIyLDYgKzIyLDE1IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ1NTUnVs
ZS5oIgogCisjaW5jbHVkZSAiQ1NTQ2hhcnNldFJ1bGUuaCIKKyNpbmNsdWRlICJDU1NGb250RmFj
ZVJ1bGUuaCIKKyNpbmNsdWRlICJDU1NJbXBvcnRSdWxlLmgiCisjaW5jbHVkZSAiQ1NTTWVkaWFS
dWxlLmgiCisjaW5jbHVkZSAiQ1NTUGFnZVJ1bGUuaCIKKyNpbmNsdWRlICJDU1NSZWdpb25TdHls
ZVJ1bGUuaCIKKyNpbmNsdWRlICJDU1NTdHlsZVJ1bGUuaCIKKyNpbmNsdWRlICJXZWJLaXRDU1NL
ZXlmcmFtZVJ1bGUuaCIKKyNpbmNsdWRlICJXZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmgiCiAjaW5j
bHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzEsNCAr
NDAsMzIgQEAgdm9pZCBDU1NSdWxlOjpzZXRDc3NUZXh0KGNvbnN0IFN0cmluZyYgLypjc3NUZXh0
Ki8sIEV4Y2VwdGlvbkNvZGUmIC8qZWMqLykKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCitT
dHJpbmcgQ1NTUnVsZTo6Y3NzVGV4dCgpIGNvbnN0Cit7CisgICAgc3dpdGNoICh0eXBlKCkpIHsK
KyAgICBjYXNlIFVOS05PV05fUlVMRToKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIGNh
c2UgU1RZTEVfUlVMRToKKyAgICBjYXNlIFBBR0VfUlVMRToKKyAgICAgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PGNvbnN0IENTU1N0eWxlUnVsZSo+KHRoaXMpLT5jc3NUZXh0KCk7CisgICAgY2FzZSBD
SEFSU0VUX1JVTEU6CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBDU1NDaGFyc2V0
UnVsZSo+KHRoaXMpLT5jc3NUZXh0KCk7CisgICAgY2FzZSBJTVBPUlRfUlVMRToKKyAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU0ltcG9ydFJ1bGUqPih0aGlzKS0+Y3NzVGV4dCgp
OworICAgIGNhc2UgTUVESUFfUlVMRToKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0
IENTU01lZGlhUnVsZSo+KHRoaXMpLT5jc3NUZXh0KCk7CisgICAgY2FzZSBGT05UX0ZBQ0VfUlVM
RToKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU0ZvbnRGYWNlUnVsZSo+KHRo
aXMpLT5jc3NUZXh0KCk7CisgICAgY2FzZSBXRUJLSVRfS0VZRlJBTUVTX1JVTEU6CisgICAgICAg
IHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlKj4odGhpcykt
PmNzc1RleHQoKTsKKyAgICBjYXNlIFdFQktJVF9LRVlGUkFNRV9SVUxFOgorICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8Y29uc3QgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlKj4odGhpcyktPmNzc1Rl
eHQoKTsKKyAgICBjYXNlIFdFQktJVF9SRUdJT05fU1RZTEVfUlVMRToKKyAgICAgICAgcmV0dXJu
IHN0YXRpY19jYXN0PGNvbnN0IENTU1JlZ2lvblN0eWxlUnVsZSo+KHRoaXMpLT5jc3NUZXh0KCk7
CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQorICAg
IHJldHVybiBTdHJpbmcoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NS
dWxlLmgKaW5kZXggMjRmODRjNi4uNmJlODBkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oCkBAIC05MSw3
ICs5MSw3IEBAIHB1YmxpYzoKIAogICAgIENTU1J1bGUqIHBhcmVudFJ1bGUoKSBjb25zdCB7IHJl
dHVybiBtX3BhcmVudElzUnVsZSA/IG1fcGFyZW50UnVsZSA6IDA7IH0KIAotICAgIHZpcnR1YWwg
U3RyaW5nIGNzc1RleHQoKSBjb25zdCA9IDA7CisgICAgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsK
ICAgICB2b2lkIHNldENzc1RleHQoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwogCiAg
ICAgS1VSTCBiYXNlVVJMKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NTdHlsZVJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuaAppbmRleCA2
NTNlODEyLi40MWIyZTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVS
dWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5oCkBAIC00NSw3ICs0
NSw3IEBAIHB1YmxpYzoKIAogICAgIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBzdHlsZSgp
IGNvbnN0IHsgcmV0dXJuIG1fc3R5bGUuZ2V0KCk7IH0KIAotICAgIHZpcnR1YWwgU3RyaW5nIGNz
c1RleHQoKSBjb25zdDsKKyAgICBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0OwogCiAgICAgLy8gTm90
IHBhcnQgb2YgdGhlIENTU09NCiAgICAgdmlydHVhbCBib29sIHBhcnNlU3RyaW5nKGNvbnN0IFN0
cmluZyYsIGJvb2wgPSBmYWxzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2Vi
S2l0Q1NTS2V5ZnJhbWVSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJh
bWVSdWxlLmgKaW5kZXggNjUyZjJlMy4uMDA5ZTJhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9X
ZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaApAQCAtNTYsNyArNTYsNyBAQCBwdWJsaWM6CiAKICAgICBD
U1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbiogc3R5bGUoKSBjb25zdCB7IHJldHVybiBtX3N0eWxl
LmdldCgpOyB9CiAKLSAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3Q7CisgICAgU3Ry
aW5nIGNzc1RleHQoKSBjb25zdDsKIAogICAgIC8vIE5vdCBwYXJ0IG9mIHRoZSBDU1NPTQogICAg
IHZpcnR1YWwgYm9vbCBwYXJzZVN0cmluZyhjb25zdCBTdHJpbmcmLCBib29sID0gZmFsc2UpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmgKaW5kZXggYmZmNmZj
My4uZjBkN2FlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZy
YW1lc1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVs
ZS5oCkBAIC02OCw3ICs2OCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRlbGV0ZVJ1bGUoY29uc3Qg
U3RyaW5nJiBrZXkpOwogICAgIFdlYktpdENTU0tleWZyYW1lUnVsZSogZmluZFJ1bGUoY29uc3Qg
U3RyaW5nJiBrZXkpOwogCi0gICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0OworICAg
IFN0cmluZyBjc3NUZXh0KCkgY29uc3Q7CiAKICAgICAvKiBub3QgcGFydCBvZiB0aGUgRE9NICov
CiAgICAgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3Q7Cg==
</data>
<flag name="commit-queue"
          id="111479"
          type_id="3"
          status="-"
          setter="dbates"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113311</attachid>
            <date>2011-11-02 06:38:48 -0700</date>
            <delta_ts>2011-11-02 08:02:18 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>bug-71292-v2.diff</filename>
            <type>text/plain</type>
            <size>7204</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4OWQ2ZDg0Li4xOTVmZjhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYg
QEAKKzIwMTEtMTEtMDIgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgorCisgICAg
ICAgIENTU1J1bGU6IERldmlydHVhbGl6ZSBjc3NUZXh0KCkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSGF2ZSBDU1NSdWxlOjpjc3NUZXh0KCkgcmVkaXJl
Y3QgdG8gdGhlIGFwcHJvcHJpYXRlIHN1YmNsYXNzIGJhc2VkIG9uIHR5cGUoKS4KKyAgICAgICAg
VGhpcyBpcyBvbmUgb2YgdGhlIGxhc3Qgc3RlcHMgb2YgZGV2aXJ0dWFsaXppbmcgQ1NTUnVsZSBj
b21wbGV0ZWx5LCB3aGljaCB3aWxsCisgICAgICAgIGFsbG93IHVzIHRvIGdldCByaWQgb2YgaXRz
IHZ0YWJsZSwgYW5kIGVhY2ggaW5zdGFuY2UncyBwb2ludGVyIHRoZXJldG8uCisKKyAgICAgICAg
KiBjc3MvQ1NTQ2hhcnNldFJ1bGUuaDoKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VSdWxlLmg6
CisgICAgICAgICogY3NzL0NTU0ltcG9ydFJ1bGUuaDoKKyAgICAgICAgKiBjc3MvQ1NTTWVkaWFS
dWxlLmg6CisgICAgICAgICogY3NzL0NTU1JlZ2lvblN0eWxlUnVsZS5oOgorICAgICAgICAqIGNz
cy9DU1NSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1J1bGU6OmNzc1RleHQpOgorICAg
ICAgICAqIGNzcy9DU1NSdWxlLmg6CisgICAgICAgICogY3NzL0NTU1N0eWxlUnVsZS5oOgorICAg
ICAgICAqIGNzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaDoKKyAgICAgICAgKiBjc3MvV2ViS2l0
Q1NTS2V5ZnJhbWVzUnVsZS5oOgorCiAyMDExLTExLTAyICBCZW4gV2VsbHMgIDxiZW53ZWxsc0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ2FudmFzIGZpbGxpbmcgcGF0aHMgb3IgcmVjdHMgbmVl
ZCB0byBiZSBpbnZhbGlkYXRlIGxhcmdlciByZWN0cyBmb3Igc29tZSBjb21wb3NpdGluZyBtb2Rl
cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmgKaW5kZXggNmYwZWQ3Ny4uMDkxMDM5OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmgKQEAgLTM5LDcgKzM5LDcgQEAgcHVibGlj
OgogICAgIGNvbnN0IFN0cmluZyYgZW5jb2RpbmcoKSBjb25zdCB7IHJldHVybiBtX2VuY29kaW5n
OyB9CiAgICAgdm9pZCBzZXRFbmNvZGluZyhjb25zdCBTdHJpbmcmIGVuY29kaW5nLCBFeGNlcHRp
b25Db2RlJikgeyBtX2VuY29kaW5nID0gZW5jb2Rpbmc7IH0KIAotICAgIHZpcnR1YWwgU3RyaW5n
IGNzc1RleHQoKSBjb25zdDsKKyAgICBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0OwogCiBwcml2YXRl
OgogICAgIENTU0NoYXJzZXRSdWxlKENTU1N0eWxlU2hlZXQqIHBhcmVudCwgY29uc3QgU3RyaW5n
JiBlbmNvZGluZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VS
dWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VSdWxlLmgKaW5kZXggMWYzYWE3
Yi4uM2QzNzBkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlUnVs
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVJ1bGUuaApAQCAtNDUsNyAr
NDUsNyBAQCBwdWJsaWM6CiAKICAgICBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbiogc3R5bGUo
KSBjb25zdCB7IHJldHVybiBtX3N0eWxlLmdldCgpOyB9CiAKLSAgICB2aXJ0dWFsIFN0cmluZyBj
c3NUZXh0KCkgY29uc3Q7CisgICAgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKIAogICAgIHZvaWQg
c2V0RGVjbGFyYXRpb24oUGFzc1JlZlB0cjxDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbj4pOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaAppbmRleCA0M2Q4OGEwLi41YjUyOGRiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogICAg
IE1lZGlhTGlzdCogbWVkaWEoKSBjb25zdCB7IHJldHVybiBtX2xzdE1lZGlhLmdldCgpOyB9CiAg
ICAgQ1NTU3R5bGVTaGVldCogc3R5bGVTaGVldCgpIGNvbnN0IHsgcmV0dXJuIG1fc3R5bGVTaGVl
dC5nZXQoKTsgfQogCi0gICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0OworICAgIFN0
cmluZyBjc3NUZXh0KCkgY29uc3Q7CiAKICAgICAvLyBOb3QgcGFydCBvZiB0aGUgQ1NTT00KICAg
ICBib29sIGlzTG9hZGluZygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU01lZGlhUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU01lZGlhUnVsZS5oCmluZGV4
IGU5ZGI0Y2EuLmM2YmZjNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRp
YVJ1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmgKQEAgLTQ2LDcg
KzQ2LDcgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIGluc2VydFJ1bGUoY29uc3QgU3RyaW5nJiBy
dWxlLCB1bnNpZ25lZCBpbmRleCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgZGVsZXRlUnVs
ZSh1bnNpZ25lZCBpbmRleCwgRXhjZXB0aW9uQ29kZSYpOwogCi0gICAgdmlydHVhbCBTdHJpbmcg
Y3NzVGV4dCgpIGNvbnN0OworICAgIFN0cmluZyBjc3NUZXh0KCkgY29uc3Q7CiAKICAgICAvLyBO
b3QgcGFydCBvZiB0aGUgQ1NTT00KICAgICB1bnNpZ25lZCBhcHBlbmQoQ1NTUnVsZSopOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1JlZ2lvblN0eWxlUnVsZS5oIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1JlZ2lvblN0eWxlUnVsZS5oCmluZGV4IDQ3OWNmMjMuLjZhNmYxMDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWdpb25TdHlsZVJ1bGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUmVnaW9uU3R5bGVSdWxlLmgKQEAgLTUxLDcgKzUxLDcg
QEAgcHVibGljOgogCiAgICAgdmlydHVhbCB+Q1NTUmVnaW9uU3R5bGVSdWxlKCk7CiAKLSAgICB2
aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3Q7CisgICAgU3RyaW5nIGNzc1RleHQoKSBjb25z
dDsKICAgICBjb25zdCBDU1NTZWxlY3Rvckxpc3QmIHNlbGVjdG9yTGlzdCgpIGNvbnN0IHsgcmV0
dXJuIG1fc2VsZWN0b3JMaXN0OyB9CiAgICAgQ1NTUnVsZUxpc3QqIGNzc1J1bGVzKCkgY29uc3Qg
eyByZXR1cm4gbV9ydWxlTGlzdC5nZXQoKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5jcHAKaW5kZXgg
OTE1Y2MzNS4uNWFjY2Q4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmNwcApAQCAtMjIsNiArMjIsMTUg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDU1NSdWxlLmgiCiAKKyNpbmNsdWRl
ICJDU1NDaGFyc2V0UnVsZS5oIgorI2luY2x1ZGUgIkNTU0ZvbnRGYWNlUnVsZS5oIgorI2luY2x1
ZGUgIkNTU0ltcG9ydFJ1bGUuaCIKKyNpbmNsdWRlICJDU1NNZWRpYVJ1bGUuaCIKKyNpbmNsdWRl
ICJDU1NQYWdlUnVsZS5oIgorI2luY2x1ZGUgIkNTU1JlZ2lvblN0eWxlUnVsZS5oIgorI2luY2x1
ZGUgIkNTU1N0eWxlUnVsZS5oIgorI2luY2x1ZGUgIldlYktpdENTU0tleWZyYW1lUnVsZS5oIgor
I2luY2x1ZGUgIldlYktpdENTU0tleWZyYW1lc1J1bGUuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1l
bnRlZC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMSw0ICs0MCwzMSBAQCB2b2lkIENT
U1J1bGU6OnNldENzc1RleHQoY29uc3QgU3RyaW5nJiAvKmNzc1RleHQqLywgRXhjZXB0aW9uQ29k
ZSYgLyplYyovKQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKK1N0cmluZyBDU1NSdWxlOjpj
c3NUZXh0KCkgY29uc3QKK3sKKyAgICBzd2l0Y2ggKHR5cGUoKSkgeworICAgIGNhc2UgVU5LTk9X
Tl9SVUxFOgorICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgY2FzZSBTVFlMRV9SVUxFOgor
ICAgIGNhc2UgUEFHRV9SVUxFOgorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ1NT
U3R5bGVSdWxlKj4odGhpcyktPmNzc1RleHQoKTsKKyAgICBjYXNlIENIQVJTRVRfUlVMRToKKyAg
ICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU0NoYXJzZXRSdWxlKj4odGhpcyktPmNz
c1RleHQoKTsKKyAgICBjYXNlIElNUE9SVF9SVUxFOgorICAgICAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8Y29uc3QgQ1NTSW1wb3J0UnVsZSo+KHRoaXMpLT5jc3NUZXh0KCk7CisgICAgY2FzZSBNRURJ
QV9SVUxFOgorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ1NTTWVkaWFSdWxlKj4o
dGhpcyktPmNzc1RleHQoKTsKKyAgICBjYXNlIEZPTlRfRkFDRV9SVUxFOgorICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ1NTRm9udEZhY2VSdWxlKj4odGhpcyktPmNzc1RleHQoKTsK
KyAgICBjYXNlIFdFQktJVF9LRVlGUkFNRVNfUlVMRToKKyAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PGNvbnN0IFdlYktpdENTU0tleWZyYW1lc1J1bGUqPih0aGlzKS0+Y3NzVGV4dCgpOworICAg
IGNhc2UgV0VCS0lUX0tFWUZSQU1FX1JVTEU6CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxj
b25zdCBXZWJLaXRDU1NLZXlmcmFtZVJ1bGUqPih0aGlzKS0+Y3NzVGV4dCgpOworICAgIGNhc2Ug
V0VCS0lUX1JFR0lPTl9TVFlMRV9SVUxFOgorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29u
c3QgQ1NTUmVnaW9uU3R5bGVSdWxlKj4odGhpcyktPmNzc1RleHQoKTsKKyAgICB9CisgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIFN0cmluZygpOworfQorCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaAppbmRleCAyNGY4NGM2Li42YmU4MGRlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NSdWxlLmgKQEAgLTkxLDcgKzkxLDcgQEAgcHVibGljOgogCiAgICAgQ1NTUnVsZSog
cGFyZW50UnVsZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGFyZW50SXNSdWxlID8gbV9wYXJlbnRSdWxl
IDogMDsgfQogCi0gICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0ID0gMDsKKyAgICBT
dHJpbmcgY3NzVGV4dCgpIGNvbnN0OwogICAgIHZvaWQgc2V0Q3NzVGV4dChjb25zdCBTdHJpbmcm
LCBFeGNlcHRpb25Db2RlJik7CiAKICAgICBLVVJMIGJhc2VVUkwoKSBjb25zdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlUnVsZS5oCmluZGV4IGMzZjdiOWMuLjgzNzQwNjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
U3R5bGVSdWxlLmgKQEAgLTQ1LDcgKzQ1LDcgQEAgcHVibGljOgogCiAgICAgQ1NTTXV0YWJsZVN0
eWxlRGVjbGFyYXRpb24qIHN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9zdHlsZS5nZXQoKTsgfQog
Ci0gICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0OworICAgIFN0cmluZyBjc3NUZXh0
KCkgY29uc3Q7CiAKICAgICB2b2lkIGFkb3B0U2VsZWN0b3JWZWN0b3IoVmVjdG9yPE93blB0cjxD
U1NQYXJzZXJTZWxlY3Rvcj4gPiYgc2VsZWN0b3JzKSB7IG1fc2VsZWN0b3JMaXN0LmFkb3B0U2Vs
ZWN0b3JWZWN0b3Ioc2VsZWN0b3JzKTsgfQogICAgIHZvaWQgc2V0RGVjbGFyYXRpb24oUGFzc1Jl
ZlB0cjxDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbj4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1dl
YktpdENTU0tleWZyYW1lUnVsZS5oCmluZGV4IDEwMmUxNjUuLmZlNjFmZTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgKQEAgLTU2LDcgKzU2LDcgQEAgcHVi
bGljOgogCiAgICAgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qIHN0eWxlKCkgY29uc3QgeyBy
ZXR1cm4gbV9zdHlsZS5nZXQoKTsgfQogCi0gICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNv
bnN0OworICAgIFN0cmluZyBjc3NUZXh0KCkgY29uc3Q7CiAKICAgICB2b2lkIHNldERlY2xhcmF0
aW9uKFBhc3NSZWZQdHI8Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24+KTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmgKaW5kZXggYmZmNmZjMy4uZjBkN2Fl
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5oCkBAIC02
OCw3ICs2OCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRlbGV0ZVJ1bGUoY29uc3QgU3RyaW5nJiBr
ZXkpOwogICAgIFdlYktpdENTU0tleWZyYW1lUnVsZSogZmluZFJ1bGUoY29uc3QgU3RyaW5nJiBr
ZXkpOwogCi0gICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0OworICAgIFN0cmluZyBj
c3NUZXh0KCkgY29uc3Q7CiAKICAgICAvKiBub3QgcGFydCBvZiB0aGUgRE9NICovCiAgICAgdW5z
aWduZWQgbGVuZ3RoKCkgY29uc3Q7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>