<?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>144277</bug_id>
          
          <creation_ts>2015-04-27 14:20:34 -0700</creation_ts>
          <short_desc>Reduce allocations and memory usage when compiling content extensions.</short_desc>
          <delta_ts>2015-04-27 15:36:38 -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>WebCore Misc.</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="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1089188</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-04-27 14:20:34 -0700</bug_when>
    <thetext>The BitVector in Term always has capacity of 128, so it always allocates 16 bytes in addition to a pointer to the allocated buffer and additional malloc overhead.  Let&apos;s just have the 16 bytes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089191</commentid>
    <comment_count>1</comment_count>
      <attachid>251776</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-04-27 14:22:24 -0700</bug_when>
    <thetext>Created attachment 251776
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089206</commentid>
    <comment_count>2</comment_count>
      <attachid>251776</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-04-27 14:46:08 -0700</bug_when>
    <thetext>Comment on attachment 251776
Patch

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

Can you remove the #include &lt;BitVector&gt;?

&gt; Source/WebCore/contentextensions/Term.h:131
&gt; +        void set(unsigned character)

unsigned -&gt; UChar?

&gt; Source/WebCore/contentextensions/Term.h:137
&gt; +        bool get(unsigned character) const

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089233</commentid>
    <comment_count>3</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-04-27 15:36:38 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/183433</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251776</attachid>
            <date>2015-04-27 14:22:24 -0700</date>
            <delta_ts>2015-04-27 14:46:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144277-20150427152116.patch</filename>
            <type>text/plain</type>
            <size>7372</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MzQyMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE1LTA0LTI3ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVkdWNlIGFs
bG9jYXRpb25zIGFuZCBtZW1vcnkgdXNhZ2Ugd2hlbiBjb21waWxpbmcgY29udGVudCBleHRlbnNp
b25zLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0
Mjc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ292
ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIGNvbnRlbnRleHRlbnNpb25zL1Rl
cm0uaDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNpb25zOjpUZXJtOjpDaGFyYWN0
ZXJTZXQ6OnNldCk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6VGVybTo6
Q2hhcmFjdGVyU2V0OjpnZXQpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudEV4dGVuc2lvbnM6
OlRlcm06OkNoYXJhY3RlclNldDo6aW52ZXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRF
eHRlbnNpb25zOjpUZXJtOjpDaGFyYWN0ZXJTZXQ6OmludmVydGVkKToKKyAgICAgICAgKFdlYkNv
cmU6OkNvbnRlbnRFeHRlbnNpb25zOjpUZXJtOjpDaGFyYWN0ZXJTZXQ6OmJpdENvdW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNpb25zOjpUZXJtOjpDaGFyYWN0ZXJTZXQ6Om9w
ZXJhdG9yPT0pOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudEV4dGVuc2lvbnM6OlRlcm06OkNo
YXJhY3RlclNldDo6aGFzaCk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6
VGVybTo6VGVybSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6VGVybTo6
YWRkQ2hhcmFjdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNpb25zOjpUZXJt
Ojppc0VuZE9mTGluZUFzc2VydGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0ZW5z
aW9uczo6VGVybTo6aXNVbml2ZXJzYWxUcmFuc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNv
bnRlbnRFeHRlbnNpb25zOjpUZXJtOjpnZW5lcmF0ZVN1YmdyYXBoRm9yQXRvbSk6CisgICAgICAg
IFVzZSB0d28gdWludDY0X3QncyBpbnN0ZWFkIG9mIGEgQml0VmVjdG9yIHdpdGggYSBjYXBhY2l0
eSBvZiAxMjggYml0cy4KKwogMjAxNS0wNC0yNyAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFw
cGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXguCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jb250
ZW50ZXh0ZW5zaW9ucy9UZXJtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY29udGVu
dGV4dGVuc2lvbnMvVGVybS5oCShyZXZpc2lvbiAxODMzOTcpCisrKyBTb3VyY2UvV2ViQ29yZS9j
b250ZW50ZXh0ZW5zaW9ucy9UZXJtLmgJKHdvcmtpbmcgY29weSkKQEAgLTEyNiwxOSArMTI2LDQ3
IEBAIHByaXZhdGU6CiAgICAgVGVybVR5cGUgbV90ZXJtVHlwZSB7IFRlcm1UeXBlOjpFbXB0eSB9
OwogICAgIEF0b21RdWFudGlmaWVyIG1fcXVhbnRpZmllciB7IEF0b21RdWFudGlmaWVyOjpPbmUg
fTsKIAotICAgIHN0cnVjdCBDaGFyYWN0ZXJTZXQgewotICAgICAgICBib29sIGludmVydGVkIHsg
ZmFsc2UgfTsKLSAgICAgICAgQml0VmVjdG9yIGNoYXJhY3RlcnMgeyAxMjggfTsKLQorICAgIGNs
YXNzIENoYXJhY3RlclNldCB7CisgICAgcHVibGljOgorICAgICAgICB2b2lkIHNldCh1bnNpZ25l
ZCBjaGFyYWN0ZXIpCisgICAgICAgIHsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGNoYXJh
Y3RlciA8IDEyOCk7CisgICAgICAgICAgICBtX2NoYXJhY3RlcnNbY2hhcmFjdGVyIC8gNjRdIHw9
ICh1aW50NjRfdCgxKSA8PCAoY2hhcmFjdGVyICUgNjQpKTsKKyAgICAgICAgfQorICAgICAgICAK
KyAgICAgICAgYm9vbCBnZXQodW5zaWduZWQgY2hhcmFjdGVyKSBjb25zdAorICAgICAgICB7Cisg
ICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChjaGFyYWN0ZXIgPCAxMjgpOworICAgICAgICAgICAg
cmV0dXJuIG1fY2hhcmFjdGVyc1tjaGFyYWN0ZXIgLyA2NF0gJiAodWludDY0X3QoMSkgPDwgKGNo
YXJhY3RlciAlIDY0KSk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHZvaWQgaW52ZXJ0
KCkKKyAgICAgICAgeworICAgICAgICAgICAgQVNTRVJUKCFtX2ludmVydGVkKTsKKyAgICAgICAg
ICAgIG1faW52ZXJ0ZWQgPSB0cnVlOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBib29s
IGludmVydGVkKCkgY29uc3QgeyByZXR1cm4gbV9pbnZlcnRlZDsgfQorICAgICAgICAKKyAgICAg
ICAgdW5zaWduZWQgYml0Q291bnQoKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICByZXR1
cm4gV1RGOjpiaXRDb3VudChtX2NoYXJhY3RlcnNbMF0pICsgV1RGOjpiaXRDb3VudChtX2NoYXJh
Y3RlcnNbMV0pOworICAgICAgICB9CisgICAgICAgIAogICAgICAgICBib29sIG9wZXJhdG9yPT0o
Y29uc3QgQ2hhcmFjdGVyU2V0JiBvdGhlcikgY29uc3QKICAgICAgICAgewotICAgICAgICAgICAg
cmV0dXJuIG90aGVyLmludmVydGVkID09IGludmVydGVkICYmIG90aGVyLmNoYXJhY3RlcnMgPT0g
Y2hhcmFjdGVyczsKKyAgICAgICAgICAgIHJldHVybiBvdGhlci5tX2ludmVydGVkID09IG1faW52
ZXJ0ZWQKKyAgICAgICAgICAgICAgICAmJiBvdGhlci5tX2NoYXJhY3RlcnNbMF0gPT0gbV9jaGFy
YWN0ZXJzWzBdCisgICAgICAgICAgICAgICAgJiYgb3RoZXIubV9jaGFyYWN0ZXJzWzFdID09IG1f
Y2hhcmFjdGVyc1sxXTsKICAgICAgICAgfQogCiAgICAgICAgIHVuc2lnbmVkIGhhc2goKSBjb25z
dAogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gV1RGOjpwYWlySW50SGFzaChpbnZlcnRl
ZCwgY2hhcmFjdGVycy5oYXNoKCkpOworICAgICAgICAgICAgcmV0dXJuIFdURjo6cGFpckludEhh
c2goV1RGOjpwYWlySW50SGFzaChXVEY6OmludEhhc2gobV9jaGFyYWN0ZXJzWzBdKSwgV1RGOjpp
bnRIYXNoKG1fY2hhcmFjdGVyc1sxXSkpLCBtX2ludmVydGVkKTsKICAgICAgICAgfQorICAgIHBy
aXZhdGU6CisgICAgICAgIGJvb2wgbV9pbnZlcnRlZCB7IGZhbHNlIH07CisgICAgICAgIHVpbnQ2
NF90IG1fY2hhcmFjdGVyc1syXSB7IDAsIDAgfTsKICAgICB9OwogCiAgICAgc3RydWN0IEdyb3Vw
IHsKQEAgLTE5NSwyMCArMjIzLDIwIEBAIGlubGluZSBUZXJtOjpUZXJtKGNoYXIgY2hhcmFjdGVy
LCBib29sIGkKICAgICBhZGRDaGFyYWN0ZXIoY2hhcmFjdGVyLCBpc0Nhc2VTZW5zaXRpdmUpOwog
fQogCi1lbnVtIFVuaXZlcnNhbFRyYW5zaXRpb25UYWcgeyBVbml2ZXJzYWxUcmFuc2l0aW9uIH07
CiBpbmxpbmUgVGVybTo6VGVybShVbml2ZXJzYWxUcmFuc2l0aW9uVGFnKQogICAgIDogbV90ZXJt
VHlwZShUZXJtVHlwZTo6Q2hhcmFjdGVyU2V0KQogewogICAgIG5ldyAoTm90TnVsbCwgJm1fYXRv
bURhdGEuY2hhcmFjdGVyU2V0KSBDaGFyYWN0ZXJTZXQoKTsKICAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpIDwgMTI4OyArK2kpCi0gICAgICAgIG1fYXRvbURhdGEuY2hhcmFjdGVyU2V0LmNoYXJh
Y3RlcnMuc2V0KGkpOworICAgICAgICBtX2F0b21EYXRhLmNoYXJhY3RlclNldC5zZXQoaSk7CiB9
CiAKIGlubGluZSBUZXJtOjpUZXJtKENoYXJhY3RlclNldFRlcm1UYWcsIGJvb2wgaXNJbnZlcnRl
ZCkKICAgICA6IG1fdGVybVR5cGUoVGVybVR5cGU6OkNoYXJhY3RlclNldCkKIHsKICAgICBuZXcg
KE5vdE51bGwsICZtX2F0b21EYXRhLmNoYXJhY3RlclNldCkgQ2hhcmFjdGVyU2V0KCk7Ci0gICAg
bV9hdG9tRGF0YS5jaGFyYWN0ZXJTZXQuaW52ZXJ0ZWQgPSBpc0ludmVydGVkOworICAgIGlmIChp
c0ludmVydGVkKQorICAgICAgICBtX2F0b21EYXRhLmNoYXJhY3RlclNldC5pbnZlcnQoKTsKIH0K
IAogaW5saW5lIFRlcm06OlRlcm0oR3JvdXBUZXJtVGFnKQpAQCAtMjIwLDcgKzI0OCw3IEBAIGlu
bGluZSBUZXJtOjpUZXJtKEdyb3VwVGVybVRhZykKIGlubGluZSBUZXJtOjpUZXJtKEVuZE9mTGlu
ZUFzc2VydGlvblRlcm1UYWcpCiAgICAgOiBUZXJtKENoYXJhY3RlclNldFRlcm0sIGZhbHNlKQog
ewotICAgIG1fYXRvbURhdGEuY2hhcmFjdGVyU2V0LmNoYXJhY3RlcnMuc2V0KDApOworICAgIG1f
YXRvbURhdGEuY2hhcmFjdGVyU2V0LnNldCgwKTsKIH0KIAogaW5saW5lIFRlcm06OlRlcm0oY29u
c3QgVGVybSYgb3RoZXIpCkBAIC0yODcsMTAgKzMxNSwxMCBAQCBpbmxpbmUgdm9pZCBUZXJtOjph
ZGRDaGFyYWN0ZXIoVUNoYXIgY2hhCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChpc0Nhc2VT
ZW5zaXRpdmUgfHwgIWlzQVNDSUlBbHBoYShjaGFyYWN0ZXIpKQotICAgICAgICBtX2F0b21EYXRh
LmNoYXJhY3RlclNldC5jaGFyYWN0ZXJzLnNldChjaGFyYWN0ZXIpOworICAgICAgICBtX2F0b21E
YXRhLmNoYXJhY3RlclNldC5zZXQoY2hhcmFjdGVyKTsKICAgICBlbHNlIHsKLSAgICAgICAgbV9h
dG9tRGF0YS5jaGFyYWN0ZXJTZXQuY2hhcmFjdGVycy5zZXQodG9BU0NJSVVwcGVyKGNoYXJhY3Rl
cikpOwotICAgICAgICBtX2F0b21EYXRhLmNoYXJhY3RlclNldC5jaGFyYWN0ZXJzLnNldCh0b0FT
Q0lJTG93ZXIoY2hhcmFjdGVyKSk7CisgICAgICAgIG1fYXRvbURhdGEuY2hhcmFjdGVyU2V0LnNl
dCh0b0FTQ0lJVXBwZXIoY2hhcmFjdGVyKSk7CisgICAgICAgIG1fYXRvbURhdGEuY2hhcmFjdGVy
U2V0LnNldCh0b0FTQ0lJTG93ZXIoY2hhcmFjdGVyKSk7CiAgICAgfQogfQogCkBAIC0zNTYsNyAr
Mzg0LDcgQEAgaW5saW5lIHVuc2lnbmVkIFRlcm06OlRlcm06OmdlbmVyYXRlR3JhcAogCiBpbmxp
bmUgYm9vbCBUZXJtOjppc0VuZE9mTGluZUFzc2VydGlvbigpIGNvbnN0CiB7Ci0gICAgcmV0dXJu
IG1fdGVybVR5cGUgPT0gVGVybVR5cGU6OkNoYXJhY3RlclNldCAmJiBtX2F0b21EYXRhLmNoYXJh
Y3RlclNldC5jaGFyYWN0ZXJzLmJpdENvdW50KCkgPT0gMSAmJiBtX2F0b21EYXRhLmNoYXJhY3Rl
clNldC5jaGFyYWN0ZXJzLmdldCgwKTsKKyAgICByZXR1cm4gbV90ZXJtVHlwZSA9PSBUZXJtVHlw
ZTo6Q2hhcmFjdGVyU2V0ICYmIG1fYXRvbURhdGEuY2hhcmFjdGVyU2V0LmJpdENvdW50KCkgPT0g
MSAmJiBtX2F0b21EYXRhLmNoYXJhY3RlclNldC5nZXQoMCk7CiB9CiAKIGlubGluZSBib29sIFRl
cm06Om1hdGNoZXNBdExlYXN0T25lQ2hhcmFjdGVyKCkgY29uc3QKQEAgLTUxNyw4ICs1NDUsOCBA
QCBpbmxpbmUgYm9vbCBUZXJtOjppc1VuaXZlcnNhbFRyYW5zaXRpb24oCiAgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFRlcm1UeXBlOjpDaGFy
YWN0ZXJTZXQ6Ci0gICAgICAgIHJldHVybiAobV9hdG9tRGF0YS5jaGFyYWN0ZXJTZXQuaW52ZXJ0
ZWQgJiYgIW1fYXRvbURhdGEuY2hhcmFjdGVyU2V0LmNoYXJhY3RlcnMuYml0Q291bnQoKSkKLSAg
ICAgICAgICAgIHx8ICghbV9hdG9tRGF0YS5jaGFyYWN0ZXJTZXQuaW52ZXJ0ZWQgJiYgbV9hdG9t
RGF0YS5jaGFyYWN0ZXJTZXQuY2hhcmFjdGVycy5iaXRDb3VudCgpID09IDEyOCk7CisgICAgICAg
IHJldHVybiAobV9hdG9tRGF0YS5jaGFyYWN0ZXJTZXQuaW52ZXJ0ZWQoKSAmJiAhbV9hdG9tRGF0
YS5jaGFyYWN0ZXJTZXQuYml0Q291bnQoKSkKKyAgICAgICAgICAgIHx8ICghbV9hdG9tRGF0YS5j
aGFyYWN0ZXJTZXQuaW52ZXJ0ZWQoKSAmJiBtX2F0b21EYXRhLmNoYXJhY3RlclNldC5iaXRDb3Vu
dCgpID09IDEyOCk7CiAgICAgY2FzZSBUZXJtVHlwZTo6R3JvdXA6CiAgICAgICAgIHJldHVybiBt
X2F0b21EYXRhLmdyb3VwLnRlcm1zLnNpemUoKSA9PSAxICYmIG1fYXRvbURhdGEuZ3JvdXAudGVy
bXMuZmlyc3QoKS5pc1VuaXZlcnNhbFRyYW5zaXRpb24oKTsKICAgICB9CkBAIC01MzcsMTQgKzU2
NSwxNSBAQCBpbmxpbmUgdW5zaWduZWQgVGVybTo6Z2VuZXJhdGVTdWJncmFwaEZvCiAgICAgICAg
IGlmIChpc1VuaXZlcnNhbFRyYW5zaXRpb24oKSkKICAgICAgICAgICAgIG5mYS5hZGRUcmFuc2l0
aW9uc09uQW55Q2hhcmFjdGVyKHNvdXJjZSwgdGFyZ2V0KTsKICAgICAgICAgZWxzZSB7Ci0gICAg
ICAgICAgICBpZiAoIW1fYXRvbURhdGEuY2hhcmFjdGVyU2V0LmludmVydGVkKSB7Ci0gICAgICAg
ICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBjaGFyYWN0ZXJJdGVyYXRvciA6IG1fYXRvbURhdGEu
Y2hhcmFjdGVyU2V0LmNoYXJhY3RlcnMuc2V0Qml0cygpKQotICAgICAgICAgICAgICAgICAgICBu
ZmEuYWRkVHJhbnNpdGlvbihzb3VyY2UsIHRhcmdldCwgc3RhdGljX2Nhc3Q8Y2hhcj4oY2hhcmFj
dGVySXRlcmF0b3IpKTsKKyAgICAgICAgICAgIGlmICghbV9hdG9tRGF0YS5jaGFyYWN0ZXJTZXQu
aW52ZXJ0ZWQoKSkgeworICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCAx
Mjg7ICsraSkgeworICAgICAgICAgICAgICAgICAgICBpZiAobV9hdG9tRGF0YS5jaGFyYWN0ZXJT
ZXQuZ2V0KGkpKQorICAgICAgICAgICAgICAgICAgICAgICAgbmZhLmFkZFRyYW5zaXRpb24oc291
cmNlLCB0YXJnZXQsIHN0YXRpY19jYXN0PGNoYXI+KGkpKTsKKyAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDE7
IGkgPCBtX2F0b21EYXRhLmNoYXJhY3RlclNldC5jaGFyYWN0ZXJzLnNpemUoKTsgKytpKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIGlmIChtX2F0b21EYXRhLmNoYXJhY3RlclNldC5jaGFyYWN0ZXJz
LmdldChpKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAg
ICAgICAgICBuZmEuYWRkVHJhbnNpdGlvbihzb3VyY2UsIHRhcmdldCwgc3RhdGljX2Nhc3Q8Y2hh
cj4oaSkpOworICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDE7IGkgPCAxMjg7ICsr
aSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoIW1fYXRvbURhdGEuY2hhcmFjdGVyU2V0Lmdl
dChpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIG5mYS5hZGRUcmFuc2l0aW9uKHNvdXJjZSwg
dGFyZ2V0LCBzdGF0aWNfY2FzdDxjaGFyPihpKSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgfQogICAgICAgICB9Cg==
</data>
<flag name="review"
          id="276570"
          type_id="1"
          status="+"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>