<?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>25741</bug_id>
          
          <creation_ts>2009-05-12 16:17:56 -0700</creation_ts>
          <short_desc>insertItemBefore boundary condition incorrect</short_desc>
          <delta_ts>2009-05-15 18:08:11 -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>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>120948</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-05-12 16:17:56 -0700</bug_when>
    <thetext>When we get an out-of-bound index here:

http://trac.webkit.org/browser/trunk/WebCore/svg/SVGList.h#L99

we should append instead of throwing an error according to the spec:

http://www.w3.org/TR/SVG/types.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120949</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-05-12 16:18:15 -0700</bug_when>
    <thetext>I have a patch that I can upload when I get home.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120986</commentid>
    <comment_count>2</comment_count>
      <attachid>30262</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-05-12 23:36:24 -0700</bug_when>
    <thetext>Created attachment 30262
patch (no tests)

Turns out unhorking my build was too much for Mac Mini to handle tonight.  Here&apos;s the code part of the patch.  I still need to update the tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121606</commentid>
    <comment_count>3</comment_count>
      <attachid>30405</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-05-15 17:21:00 -0700</bug_when>
    <thetext>Created attachment 30405
patch

patch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121607</commentid>
    <comment_count>4</comment_count>
      <attachid>30405</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-05-15 17:22:07 -0700</bug_when>
    <thetext>Comment on attachment 30405
patch

No, that&apos;t not right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121609</commentid>
    <comment_count>5</comment_count>
      <attachid>30406</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-05-15 17:27:16 -0700</bug_when>
    <thetext>Created attachment 30406
better patch

That&apos;s better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121611</commentid>
    <comment_count>6</comment_count>
      <attachid>30406</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-05-15 17:35:48 -0700</bug_when>
    <thetext>Comment on attachment 30406
better patch

r=me, but i&apos;d prefer it if the test were updated to actually confirm the correct insertion order</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121612</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-05-15 17:38:47 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 30406 [review])
&gt; r=me, but i&apos;d prefer it if the test were updated to actually confirm the
&gt; correct insertion order

You mean add the shouldBes after each modification?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121613</commentid>
    <comment_count>8</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-05-15 17:42:50 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; (From update of attachment 30406 [review] [review])
&gt; &gt; r=me, but i&apos;d prefer it if the test were updated to actually confirm the
&gt; &gt; correct insertion order
&gt; 
&gt; You mean add the shouldBes after each modification?
&gt; 
Yeah -- i find myself wondering what inserting null is meant to do? (and we;ll probably want to insert distinguishable values)
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121615</commentid>
    <comment_count>9</comment_count>
      <attachid>30407</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-05-15 17:52:28 -0700</bug_when>
    <thetext>Created attachment 30407
even better patch?

Like the new svglist-insertBeforeItem-appends test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121616</commentid>
    <comment_count>10</comment_count>
      <attachid>30407</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-05-15 17:59:15 -0700</bug_when>
    <thetext>Comment on attachment 30407
even better patch?

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121617</commentid>
    <comment_count>11</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-05-15 18:08:11 -0700</bug_when>
    <thetext>Sending        LayoutTests/ChangeLog
Sending        LayoutTests/svg/dom/svglist-exception-on-out-bounds-error-expected.txt
Sending        LayoutTests/svg/dom/svglist-exception-on-out-bounds-error.html
Adding         LayoutTests/svg/dom/svglist-insertItemBefore-appends-expected.txt
Adding         LayoutTests/svg/dom/svglist-insertItemBefore-appends.html
Sending        WebCore/ChangeLog
Sending        WebCore/svg/SVGList.h
Transmitting file data .......
Committed revision 43795.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30262</attachid>
            <date>2009-05-12 23:36:24 -0700</date>
            <delta_ts>2009-05-15 17:21:00 -0700</delta_ts>
            <desc>patch (no tests)</desc>
            <filename>svg.patch</filename>
            <type>text/plain</type>
            <size>800</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IHN2Zy9TVkdMaXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3ZnL1NWR0xpc3QuaAkocmV2aXNp
b24gNDM2MDYpCisrKyBzdmcvU1ZHTGlzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC05NCwxMyArOTQs
MTMgQEAKICAgICAgICAgICAgIHJldHVybiBtX3ZlY3RvcltpbmRleF07CiAgICAgICAgIH0KIAot
ICAgICAgICBJdGVtIGluc2VydEl0ZW1CZWZvcmUoSXRlbSBuZXdJdGVtLCB1bnNpZ25lZCBpbnQg
aW5kZXgsIEV4Y2VwdGlvbkNvZGUmIGVjKQorICAgICAgICBJdGVtIGluc2VydEl0ZW1CZWZvcmUo
SXRlbSBuZXdJdGVtLCB1bnNpZ25lZCBpbnQgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmKQogICAgICAg
ICB7Ci0gICAgICAgICAgICBpZiAoaW5kZXggPj0gbV92ZWN0b3Iuc2l6ZSgpKSB7Ci0gICAgICAg
ICAgICAgICAgZWMgPSBJTkRFWF9TSVpFX0VSUjsKLSAgICAgICAgICAgICAgICByZXR1cm4gVHlw
ZU9wZXJhdGlvbnM6Om51bGxJdGVtKCk7CisgICAgICAgICAgICBpZiAoaW5kZXggPCBtX3ZlY3Rv
ci5zaXplKCkpIHsKKyAgICAgICAgICAgICAgICBtX3ZlY3Rvci5pbnNlcnQoaW5kZXgsIG5ld0l0
ZW0pOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBtX3ZlY3Rvci5hcHBl
bmQobmV3SXRlbSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBtX3ZlY3Rvci5pbnNlcnQo
aW5kZXgsIG5ld0l0ZW0pOwogICAgICAgICAgICAgcmV0dXJuIG5ld0l0ZW07CiAgICAgICAgIH0K
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30405</attachid>
            <date>2009-05-15 17:21:00 -0700</date>
            <delta_ts>2009-05-15 17:27:16 -0700</delta_ts>
            <desc>patch</desc>
            <filename>svglist.patch</filename>
            <type>text/plain</type>
            <size>8058</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0Mzc5MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMDktMDUtMTUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU3NDEKKworICAgICAgICBBcHBl
bmQgaW5zdGVhZCBvZiB0aHJvd2luZyB3aGVuIGluc2VydEl0ZW1CZWZvcmUgZ2V0cyBhbiBvdXQt
b2YtYm91bmQKKyAgICAgICAgaW5kZXguCisKKyAgICAgICAgVGVzdDogc3ZnL2RvbS9zdmdsaXN0
LWluc2VydEl0ZW1CZWZvcmUtYXBwZW5kcy5odG1sCisKKyAgICAgICAgKiBzdmcvU1ZHTGlzdC5o
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGlzdDo6aW5zZXJ0SXRlbUJlZm9yZSk6CisKIDIwMDkt
MDUtMTUgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBTYW0gV2VpbmlnLgpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTGlzdC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3ZnL1NWR0xpc3QuaAkocmV2aXNpb24gNDM3ODYpCisrKyBXZWJDb3JlL3N2
Zy9TVkdMaXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTk0LDEzICs5NCwxMyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgICAgICByZXR1cm4gbV92ZWN0b3JbaW5kZXhdOwogICAgICAgICB9
CiAKLSAgICAgICAgSXRlbSBpbnNlcnRJdGVtQmVmb3JlKEl0ZW0gbmV3SXRlbSwgdW5zaWduZWQg
aW50IGluZGV4LCBFeGNlcHRpb25Db2RlJiBlYykKKyAgICAgICAgSXRlbSBpbnNlcnRJdGVtQmVm
b3JlKEl0ZW0gbmV3SXRlbSwgdW5zaWduZWQgaW50IGluZGV4LCBFeGNlcHRpb25Db2RlJikKICAg
ICAgICAgewotICAgICAgICAgICAgaWYgKGluZGV4ID49IG1fdmVjdG9yLnNpemUoKSkgewotICAg
ICAgICAgICAgICAgIGVjID0gSU5ERVhfU0laRV9FUlI7Ci0gICAgICAgICAgICAgICAgcmV0dXJu
IFR5cGVPcGVyYXRpb25zOjpudWxsSXRlbSgpOworICAgICAgICAgICAgaWYgKGluZGV4IDwgbV92
ZWN0b3Iuc2l6ZSgpKSB7CisgICAgICAgICAgICAgICAgbV92ZWN0b3IuaW5zZXJ0KGluZGV4LCBu
ZXdJdGVtKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgbV92ZWN0b3Iu
YXBwZW5kKG5ld0l0ZW0pOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgbV92ZWN0b3IuaW5z
ZXJ0KGluZGV4LCBuZXdJdGVtKTsKICAgICAgICAgICAgIHJldHVybiBuZXdJdGVtOwogICAgICAg
ICB9CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDQzNzkyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDktMDUtMTUgIEFkYW0gQmFydGgg
IDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU3
NDEKKworICAgICAgICBUZXN0IHRoYXQgaW5zZXJ0QmVmb3JlSXRlbSBiZWhhdmVzIHByb3Blcmx5
IGZvciBvdXQgb2YgYm91bmRzIGluZGljZXMuCisKKyAgICAgICAgKiBzdmcvZG9tL3N2Z2xpc3Qt
ZXhjZXB0aW9uLW9uLW91dC1ib3VuZHMtZXJyb3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN2
Zy9kb20vc3ZnbGlzdC1leGNlcHRpb24tb24tb3V0LWJvdW5kcy1lcnJvci5odG1sOgorICAgICAg
ICAqIHN2Zy9kb20vc3ZnbGlzdC1pbnNlcnRJdGVtQmVmb3JlLWFwcGVuZHMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvZG9tL3N2Z2xpc3QtaW5zZXJ0SXRlbUJlZm9yZS1hcHBl
bmRzLmh0bWw6IEFkZGVkLgorCiAyMDA5LTA1LTE1ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KSW5kZXg6IExheW91dFRl
c3RzL3N2Zy9kb20vc3ZnbGlzdC1leGNlcHRpb24tb24tb3V0LWJvdW5kcy1lcnJvci1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2RvbS9zdmdsaXN0LWV4Y2VwdGlv
bi1vbi1vdXQtYm91bmRzLWVycm9yLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDM3ODYpCisrKyBM
YXlvdXRUZXN0cy9zdmcvZG9tL3N2Z2xpc3QtZXhjZXB0aW9uLW9uLW91dC1ib3VuZHMtZXJyb3It
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00LDI3ICs0LDI3IEBAIE9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEEKIAogCiBQQVNTIHN2Z0xpc3QuZ2V0SXRlbShp
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOREVYX1NJWkVfRVJSOiBET00gRXhjZXB0aW9uIDEu
Ci1QQVNTIHN2Z0xpc3QuaW5zZXJ0SXRlbUJlZm9yZShudWxsLCBpKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IElOREVYX1NJWkVfRVJSOiBET00gRXhjZXB0aW9uIDEuCi1QQVNTIHN2Z0xpc3QucmVw
bGFjZUl0ZW0obnVsbCwgaSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTkRFWF9TSVpFX0VSUjog
RE9NIEV4Y2VwdGlvbiAxLgotUEFTUyBzdmdMaXN0LnJlbW92ZUl0ZW0oaSkgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBJTkRFWF9TSVpFX0VSUjogRE9NIEV4Y2VwdGlvbiAxLgorUEFTUyBzdmdMaXN0
Lmluc2VydEl0ZW1CZWZvcmUobnVsbCwgaSkgaXMgbnVsbAorRkFJTCBzdmdMaXN0LnJlcGxhY2VJ
dGVtKG51bGwsIGkpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyBudWxsLgorRkFJTCBz
dmdMaXN0LnJlbW92ZUl0ZW0oaSkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIG51bGwu
CiBQQVNTIHN2Z0xpc3QuZ2V0SXRlbShpKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOREVYX1NJ
WkVfRVJSOiBET00gRXhjZXB0aW9uIDEuCi1QQVNTIHN2Z0xpc3QuaW5zZXJ0SXRlbUJlZm9yZShu
dWxsLCBpKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOREVYX1NJWkVfRVJSOiBET00gRXhjZXB0
aW9uIDEuCitQQVNTIHN2Z0xpc3QuaW5zZXJ0SXRlbUJlZm9yZShudWxsLCBpKSBpcyBudWxsCiBQ
QVNTIHN2Z0xpc3QucmVwbGFjZUl0ZW0obnVsbCwgaSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJ
TkRFWF9TSVpFX0VSUjogRE9NIEV4Y2VwdGlvbiAxLgogUEFTUyBzdmdMaXN0LnJlbW92ZUl0ZW0o
aSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTkRFWF9TSVpFX0VSUjogRE9NIEV4Y2VwdGlvbiAx
LgogUEFTUyBzdmdMaXN0LmdldEl0ZW0oaSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTkRFWF9T
SVpFX0VSUjogRE9NIEV4Y2VwdGlvbiAxLgotUEFTUyBzdmdMaXN0Lmluc2VydEl0ZW1CZWZvcmUo
bnVsbCwgaSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTkRFWF9TSVpFX0VSUjogRE9NIEV4Y2Vw
dGlvbiAxLgorUEFTUyBzdmdMaXN0Lmluc2VydEl0ZW1CZWZvcmUobnVsbCwgaSkgaXMgbnVsbAog
UEFTUyBzdmdMaXN0LnJlcGxhY2VJdGVtKG51bGwsIGkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
SU5ERVhfU0laRV9FUlI6IERPTSBFeGNlcHRpb24gMS4KIFBBU1Mgc3ZnTGlzdC5yZW1vdmVJdGVt
KGkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5ERVhfU0laRV9FUlI6IERPTSBFeGNlcHRpb24g
MS4KIFBBU1Mgc3ZnTGlzdC5nZXRJdGVtKGkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5ERVhf
U0laRV9FUlI6IERPTSBFeGNlcHRpb24gMS4KLVBBU1Mgc3ZnTGlzdC5pbnNlcnRJdGVtQmVmb3Jl
KG51bGwsIGkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5ERVhfU0laRV9FUlI6IERPTSBFeGNl
cHRpb24gMS4KK1BBU1Mgc3ZnTGlzdC5pbnNlcnRJdGVtQmVmb3JlKG51bGwsIGkpIGlzIG51bGwK
IFBBU1Mgc3ZnTGlzdC5yZXBsYWNlSXRlbShudWxsLCBpKSB0aHJldyBleGNlcHRpb24gRXJyb3I6
IElOREVYX1NJWkVfRVJSOiBET00gRXhjZXB0aW9uIDEuCiBQQVNTIHN2Z0xpc3QucmVtb3ZlSXRl
bShpKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOREVYX1NJWkVfRVJSOiBET00gRXhjZXB0aW9u
IDEuCiBQQVNTIHN2Z0xpc3QuZ2V0SXRlbShpKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOREVY
X1NJWkVfRVJSOiBET00gRXhjZXB0aW9uIDEuCi1QQVNTIHN2Z0xpc3QuaW5zZXJ0SXRlbUJlZm9y
ZShudWxsLCBpKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOREVYX1NJWkVfRVJSOiBET00gRXhj
ZXB0aW9uIDEuCitQQVNTIHN2Z0xpc3QuaW5zZXJ0SXRlbUJlZm9yZShudWxsLCBpKSBpcyBudWxs
CiBQQVNTIHN2Z0xpc3QucmVwbGFjZUl0ZW0obnVsbCwgaSkgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBJTkRFWF9TSVpFX0VSUjogRE9NIEV4Y2VwdGlvbiAxLgogUEFTUyBzdmdMaXN0LnJlbW92ZUl0
ZW0oaSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTkRFWF9TSVpFX0VSUjogRE9NIEV4Y2VwdGlv
biAxLgogUEFTUyBzdmdMaXN0LmdldEl0ZW0oaSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTkRF
WF9TSVpFX0VSUjogRE9NIEV4Y2VwdGlvbiAxLgotUEFTUyBzdmdMaXN0Lmluc2VydEl0ZW1CZWZv
cmUobnVsbCwgaSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTkRFWF9TSVpFX0VSUjogRE9NIEV4
Y2VwdGlvbiAxLgorUEFTUyBzdmdMaXN0Lmluc2VydEl0ZW1CZWZvcmUobnVsbCwgaSkgaXMgbnVs
bAogUEFTUyBzdmdMaXN0LnJlcGxhY2VJdGVtKG51bGwsIGkpIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogSU5ERVhfU0laRV9FUlI6IERPTSBFeGNlcHRpb24gMS4KIFBBU1Mgc3ZnTGlzdC5yZW1vdmVJ
dGVtKGkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5ERVhfU0laRV9FUlI6IERPTSBFeGNlcHRp
b24gMS4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKSW5kZXg6IExheW91dFRlc3Rz
L3N2Zy9kb20vc3ZnbGlzdC1leGNlcHRpb24tb24tb3V0LWJvdW5kcy1lcnJvci5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9kb20vc3ZnbGlzdC1leGNlcHRpb24tb24tb3V0LWJv
dW5kcy1lcnJvci5odG1sCShyZXZpc2lvbiA0Mzc4NikKKysrIExheW91dFRlc3RzL3N2Zy9kb20v
c3ZnbGlzdC1leGNlcHRpb24tb24tb3V0LWJvdW5kcy1lcnJvci5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0xNCw3ICsxNCw3IEBACiAgICAgdmFyIGluZGljZXNUb1Rlc3QgPSBbLUluZmluaXR5LCBO
YU4sIC0xLCAwLCAxLCBJbmZpbml0eV07CiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpbmRpY2Vz
VG9UZXN0Lmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICBzaG91bGRUaHJvdygic3ZnTGlzdC5nZXRJ
dGVtKGkpIik7Ci0gICAgICAgICBzaG91bGRUaHJvdygic3ZnTGlzdC5pbnNlcnRJdGVtQmVmb3Jl
KG51bGwsIGkpIik7CisgICAgICAgICBzaG91bGRCZU51bGwoInN2Z0xpc3QuaW5zZXJ0SXRlbUJl
Zm9yZShudWxsLCBpKSIpOwogICAgICAgICAgc2hvdWxkVGhyb3coInN2Z0xpc3QucmVwbGFjZUl0
ZW0obnVsbCwgaSkiKTsKICAgICAgICAgIHNob3VsZFRocm93KCJzdmdMaXN0LnJlbW92ZUl0ZW0o
aSkiKTsKICAgICB9CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZG9tL3N2Z2xpc3QtaW5zZXJ0SXRl
bUJlZm9yZS1hcHBlbmRzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9z
dmcvZG9tL3N2Z2xpc3QtaW5zZXJ0SXRlbUJlZm9yZS1hcHBlbmRzLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9kb20vc3ZnbGlzdC1pbnNlcnRJdGVtQmVmb3Jl
LWFwcGVuZHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACitUZXN0
cyB0aGF0IGluc2VydEl0ZW1CZWZvcmUgY29ycmVjdGx5IGFwcGVuZHMgaWYgaXRzIGluZGV4IGlz
IG91dCBvZiBib3VuZHMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHN2
Z0xpc3QuZ2V0SXRlbSgwKSBpcyBzZWcwMAorUEFTUyBzdmdMaXN0LmdldEl0ZW0oMSkgaXMgc2Vn
MDEKK1BBU1Mgc3ZnTGlzdC5nZXRJdGVtKDIpIGlzIHNlZzExCitQQVNTIHN2Z0xpc3QuZ2V0SXRl
bSgzKSBpcyBzZWcxMAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9kb20vc3ZnbGlzdC1pbnNlcnRJdGVtQmVm
b3JlLWFwcGVuZHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9tL3N2Z2xp
c3QtaW5zZXJ0SXRlbUJlZm9yZS1hcHBlbmRzLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9zdmcvZG9tL3N2Z2xpc3QtaW5zZXJ0SXRlbUJlZm9yZS1hcHBlbmRzLmh0bWwJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgZGVzY3Jp
cHRpb24oIlRlc3RzIHRoYXQgaW5zZXJ0SXRlbUJlZm9yZSBjb3JyZWN0bHkgYXBwZW5kcyBpZiBp
dHMgaW5kZXggaXMgb3V0IG9mIGJvdW5kcy4iKTsKKyAgICB2YXIgcGF0aCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJwYXRoIik7CisgICAg
dmFyIHNlZzAwID0gcGF0aC5jcmVhdGVTVkdQYXRoU2VnTW92ZXRvQWJzKDAsMCk7CisgICAgdmFy
IHNlZzAxID0gcGF0aC5jcmVhdGVTVkdQYXRoU2VnTW92ZXRvQWJzKDAsMSk7CisgICAgdmFyIHNl
ZzExID0gcGF0aC5jcmVhdGVTVkdQYXRoU2VnTW92ZXRvQWJzKDEsMSk7CisgICAgdmFyIHNlZzEw
ID0gcGF0aC5jcmVhdGVTVkdQYXRoU2VnTW92ZXRvQWJzKDEsMCk7CisgICAgdmFyIHN2Z0xpc3Qg
PSBwYXRoLnBhdGhTZWdMaXN0OworICAgIHN2Z0xpc3QuYXBwZW5kSXRlbShzZWcwMSk7CisgICAg
c3ZnTGlzdC5hcHBlbmRJdGVtKHNlZzExKTsKKyAgICBzdmdMaXN0Lmluc2VydEl0ZW1CZWZvcmUo
c2VnMDAsIDApOworICAgIHN2Z0xpc3QuaW5zZXJ0SXRlbUJlZm9yZShzZWcxMCwgNDIpOworICAg
IHNob3VsZEJlKCJzdmdMaXN0LmdldEl0ZW0oMCkiLCAic2VnMDAiKTsKKyAgICBzaG91bGRCZSgi
c3ZnTGlzdC5nZXRJdGVtKDEpIiwgInNlZzAxIik7CisgICAgc2hvdWxkQmUoInN2Z0xpc3QuZ2V0
SXRlbSgyKSIsICJzZWcxMSIpOworICAgIHNob3VsZEJlKCJzdmdMaXN0LmdldEl0ZW0oMykiLCAi
c2VnMTAiKTsKKyAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30406</attachid>
            <date>2009-05-15 17:27:16 -0700</date>
            <delta_ts>2009-05-15 17:52:28 -0700</delta_ts>
            <desc>better patch</desc>
            <filename>svglist.patch</filename>
            <type>text/plain</type>
            <size>7954</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0Mzc5MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMDktMDUtMTUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU3NDEKKworICAgICAgICBBcHBl
bmQgaW5zdGVhZCBvZiB0aHJvd2luZyB3aGVuIGluc2VydEl0ZW1CZWZvcmUgZ2V0cyBhbiBvdXQt
b2YtYm91bmQKKyAgICAgICAgaW5kZXguCisKKyAgICAgICAgVGVzdDogc3ZnL2RvbS9zdmdsaXN0
LWluc2VydEl0ZW1CZWZvcmUtYXBwZW5kcy5odG1sCisKKyAgICAgICAgKiBzdmcvU1ZHTGlzdC5o
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGlzdDo6aW5zZXJ0SXRlbUJlZm9yZSk6CisKIDIwMDkt
MDUtMTUgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBTYW0gV2VpbmlnLgpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTGlzdC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3ZnL1NWR0xpc3QuaAkocmV2aXNpb24gNDM3ODYpCisrKyBXZWJDb3JlL3N2
Zy9TVkdMaXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTk0LDEzICs5NCwxMyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgICAgICByZXR1cm4gbV92ZWN0b3JbaW5kZXhdOwogICAgICAgICB9
CiAKLSAgICAgICAgSXRlbSBpbnNlcnRJdGVtQmVmb3JlKEl0ZW0gbmV3SXRlbSwgdW5zaWduZWQg
aW50IGluZGV4LCBFeGNlcHRpb25Db2RlJiBlYykKKyAgICAgICAgSXRlbSBpbnNlcnRJdGVtQmVm
b3JlKEl0ZW0gbmV3SXRlbSwgdW5zaWduZWQgaW50IGluZGV4LCBFeGNlcHRpb25Db2RlJikKICAg
ICAgICAgewotICAgICAgICAgICAgaWYgKGluZGV4ID49IG1fdmVjdG9yLnNpemUoKSkgewotICAg
ICAgICAgICAgICAgIGVjID0gSU5ERVhfU0laRV9FUlI7Ci0gICAgICAgICAgICAgICAgcmV0dXJu
IFR5cGVPcGVyYXRpb25zOjpudWxsSXRlbSgpOworICAgICAgICAgICAgaWYgKGluZGV4IDwgbV92
ZWN0b3Iuc2l6ZSgpKSB7CisgICAgICAgICAgICAgICAgbV92ZWN0b3IuaW5zZXJ0KGluZGV4LCBu
ZXdJdGVtKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgbV92ZWN0b3Iu
YXBwZW5kKG5ld0l0ZW0pOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgbV92ZWN0b3IuaW5z
ZXJ0KGluZGV4LCBuZXdJdGVtKTsKICAgICAgICAgICAgIHJldHVybiBuZXdJdGVtOwogICAgICAg
ICB9CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDQzNzkyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDktMDUtMTUgIEFkYW0gQmFydGgg
IDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU3
NDEKKworICAgICAgICBUZXN0IHRoYXQgaW5zZXJ0QmVmb3JlSXRlbSBiZWhhdmVzIHByb3Blcmx5
IGZvciBvdXQgb2YgYm91bmRzIGluZGljZXMuCisKKyAgICAgICAgKiBzdmcvZG9tL3N2Z2xpc3Qt
ZXhjZXB0aW9uLW9uLW91dC1ib3VuZHMtZXJyb3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN2
Zy9kb20vc3ZnbGlzdC1leGNlcHRpb24tb24tb3V0LWJvdW5kcy1lcnJvci5odG1sOgorICAgICAg
ICAqIHN2Zy9kb20vc3ZnbGlzdC1pbnNlcnRJdGVtQmVmb3JlLWFwcGVuZHMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvZG9tL3N2Z2xpc3QtaW5zZXJ0SXRlbUJlZm9yZS1hcHBl
bmRzLmh0bWw6IEFkZGVkLgorCiAyMDA5LTA1LTE1ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KSW5kZXg6IExheW91dFRl
c3RzL3N2Zy9kb20vc3ZnbGlzdC1leGNlcHRpb24tb24tb3V0LWJvdW5kcy1lcnJvci1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2RvbS9zdmdsaXN0LWV4Y2VwdGlv
bi1vbi1vdXQtYm91bmRzLWVycm9yLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDM3ODYpCisrKyBM
YXlvdXRUZXN0cy9zdmcvZG9tL3N2Z2xpc3QtZXhjZXB0aW9uLW9uLW91dC1ib3VuZHMtZXJyb3It
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00LDI3ICs0LDI3IEBAIE9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEEKIAogCiBQQVNTIHN2Z0xpc3QuZ2V0SXRlbShp
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOREVYX1NJWkVfRVJSOiBET00gRXhjZXB0aW9uIDEu
Ci1QQVNTIHN2Z0xpc3QuaW5zZXJ0SXRlbUJlZm9yZShudWxsLCBpKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IElOREVYX1NJWkVfRVJSOiBET00gRXhjZXB0aW9uIDEuCitQQVNTIHN2Z0xpc3QuaW5z
ZXJ0SXRlbUJlZm9yZShudWxsLCBpKSBpcyBudWxsCiBQQVNTIHN2Z0xpc3QucmVwbGFjZUl0ZW0o
bnVsbCwgaSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTkRFWF9TSVpFX0VSUjogRE9NIEV4Y2Vw
dGlvbiAxLgogUEFTUyBzdmdMaXN0LnJlbW92ZUl0ZW0oaSkgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBJTkRFWF9TSVpFX0VSUjogRE9NIEV4Y2VwdGlvbiAxLgogUEFTUyBzdmdMaXN0LmdldEl0ZW0o
aSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTkRFWF9TSVpFX0VSUjogRE9NIEV4Y2VwdGlvbiAx
LgotUEFTUyBzdmdMaXN0Lmluc2VydEl0ZW1CZWZvcmUobnVsbCwgaSkgdGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBJTkRFWF9TSVpFX0VSUjogRE9NIEV4Y2VwdGlvbiAxLgorUEFTUyBzdmdMaXN0Lmlu
c2VydEl0ZW1CZWZvcmUobnVsbCwgaSkgaXMgbnVsbAogUEFTUyBzdmdMaXN0LnJlcGxhY2VJdGVt
KG51bGwsIGkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5ERVhfU0laRV9FUlI6IERPTSBFeGNl
cHRpb24gMS4KIFBBU1Mgc3ZnTGlzdC5yZW1vdmVJdGVtKGkpIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogSU5ERVhfU0laRV9FUlI6IERPTSBFeGNlcHRpb24gMS4KIFBBU1Mgc3ZnTGlzdC5nZXRJdGVt
KGkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5ERVhfU0laRV9FUlI6IERPTSBFeGNlcHRpb24g
MS4KLVBBU1Mgc3ZnTGlzdC5pbnNlcnRJdGVtQmVmb3JlKG51bGwsIGkpIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogSU5ERVhfU0laRV9FUlI6IERPTSBFeGNlcHRpb24gMS4KK1BBU1Mgc3ZnTGlzdC5p
bnNlcnRJdGVtQmVmb3JlKG51bGwsIGkpIGlzIG51bGwKIFBBU1Mgc3ZnTGlzdC5yZXBsYWNlSXRl
bShudWxsLCBpKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOREVYX1NJWkVfRVJSOiBET00gRXhj
ZXB0aW9uIDEuCiBQQVNTIHN2Z0xpc3QucmVtb3ZlSXRlbShpKSB0aHJldyBleGNlcHRpb24gRXJy
b3I6IElOREVYX1NJWkVfRVJSOiBET00gRXhjZXB0aW9uIDEuCiBQQVNTIHN2Z0xpc3QuZ2V0SXRl
bShpKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOREVYX1NJWkVfRVJSOiBET00gRXhjZXB0aW9u
IDEuCi1QQVNTIHN2Z0xpc3QuaW5zZXJ0SXRlbUJlZm9yZShudWxsLCBpKSB0aHJldyBleGNlcHRp
b24gRXJyb3I6IElOREVYX1NJWkVfRVJSOiBET00gRXhjZXB0aW9uIDEuCitQQVNTIHN2Z0xpc3Qu
aW5zZXJ0SXRlbUJlZm9yZShudWxsLCBpKSBpcyBudWxsCiBQQVNTIHN2Z0xpc3QucmVwbGFjZUl0
ZW0obnVsbCwgaSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTkRFWF9TSVpFX0VSUjogRE9NIEV4
Y2VwdGlvbiAxLgogUEFTUyBzdmdMaXN0LnJlbW92ZUl0ZW0oaSkgdGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBJTkRFWF9TSVpFX0VSUjogRE9NIEV4Y2VwdGlvbiAxLgogUEFTUyBzdmdMaXN0LmdldEl0
ZW0oaSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTkRFWF9TSVpFX0VSUjogRE9NIEV4Y2VwdGlv
biAxLgotUEFTUyBzdmdMaXN0Lmluc2VydEl0ZW1CZWZvcmUobnVsbCwgaSkgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBJTkRFWF9TSVpFX0VSUjogRE9NIEV4Y2VwdGlvbiAxLgorUEFTUyBzdmdMaXN0
Lmluc2VydEl0ZW1CZWZvcmUobnVsbCwgaSkgaXMgbnVsbAogUEFTUyBzdmdMaXN0LnJlcGxhY2VJ
dGVtKG51bGwsIGkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5ERVhfU0laRV9FUlI6IERPTSBF
eGNlcHRpb24gMS4KIFBBU1Mgc3ZnTGlzdC5yZW1vdmVJdGVtKGkpIHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogSU5ERVhfU0laRV9FUlI6IERPTSBFeGNlcHRpb24gMS4KIFBBU1Mgc3ZnTGlzdC5nZXRJ
dGVtKGkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5ERVhfU0laRV9FUlI6IERPTSBFeGNlcHRp
b24gMS4KLVBBU1Mgc3ZnTGlzdC5pbnNlcnRJdGVtQmVmb3JlKG51bGwsIGkpIHRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogSU5ERVhfU0laRV9FUlI6IERPTSBFeGNlcHRpb24gMS4KK1BBU1Mgc3ZnTGlz
dC5pbnNlcnRJdGVtQmVmb3JlKG51bGwsIGkpIGlzIG51bGwKIFBBU1Mgc3ZnTGlzdC5yZXBsYWNl
SXRlbShudWxsLCBpKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOREVYX1NJWkVfRVJSOiBET00g
RXhjZXB0aW9uIDEuCiBQQVNTIHN2Z0xpc3QucmVtb3ZlSXRlbShpKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IElOREVYX1NJWkVfRVJSOiBET00gRXhjZXB0aW9uIDEuCiBQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZG9tL3N2Z2xpc3QtZXhjZXB0
aW9uLW9uLW91dC1ib3VuZHMtZXJyb3IuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9z
dmcvZG9tL3N2Z2xpc3QtZXhjZXB0aW9uLW9uLW91dC1ib3VuZHMtZXJyb3IuaHRtbAkocmV2aXNp
b24gNDM3ODYpCisrKyBMYXlvdXRUZXN0cy9zdmcvZG9tL3N2Z2xpc3QtZXhjZXB0aW9uLW9uLW91
dC1ib3VuZHMtZXJyb3IuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTQsNyArMTQsOCBAQAogICAg
IHZhciBpbmRpY2VzVG9UZXN0ID0gWy1JbmZpbml0eSwgTmFOLCAtMSwgMCwgMSwgSW5maW5pdHld
OwogICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW5kaWNlc1RvVGVzdC5sZW5ndGg7IGkrKykgewog
ICAgICAgICAgc2hvdWxkVGhyb3coInN2Z0xpc3QuZ2V0SXRlbShpKSIpOwotICAgICAgICAgc2hv
dWxkVGhyb3coInN2Z0xpc3QuaW5zZXJ0SXRlbUJlZm9yZShudWxsLCBpKSIpOworICAgICAgICAg
c2hvdWxkQmVOdWxsKCJzdmdMaXN0Lmluc2VydEl0ZW1CZWZvcmUobnVsbCwgaSkiKTsKKyAgICAg
ICAgIHN2Z0xpc3QucmVtb3ZlSXRlbSgwKTsKICAgICAgICAgIHNob3VsZFRocm93KCJzdmdMaXN0
LnJlcGxhY2VJdGVtKG51bGwsIGkpIik7CiAgICAgICAgICBzaG91bGRUaHJvdygic3ZnTGlzdC5y
ZW1vdmVJdGVtKGkpIik7CiAgICAgfQpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2RvbS9zdmdsaXN0
LWluc2VydEl0ZW1CZWZvcmUtYXBwZW5kcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvc3ZnL2RvbS9zdmdsaXN0LWluc2VydEl0ZW1CZWZvcmUtYXBwZW5kcy1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvZG9tL3N2Z2xpc3QtaW5zZXJ0
SXRlbUJlZm9yZS1hcHBlbmRzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
MyBAQAorVGVzdHMgdGhhdCBpbnNlcnRJdGVtQmVmb3JlIGNvcnJlY3RseSBhcHBlbmRzIGlmIGl0
cyBpbmRleCBpcyBvdXQgb2YgYm91bmRzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBzdmdMaXN0LmdldEl0ZW0oMCkgaXMgc2VnMDAKK1BBU1Mgc3ZnTGlzdC5nZXRJdGVt
KDEpIGlzIHNlZzAxCitQQVNTIHN2Z0xpc3QuZ2V0SXRlbSgyKSBpcyBzZWcxMQorUEFTUyBzdmdM
aXN0LmdldEl0ZW0oMykgaXMgc2VnMTAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZG9tL3N2Z2xpc3QtaW5z
ZXJ0SXRlbUJlZm9yZS1hcHBlbmRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3Zn
L2RvbS9zdmdsaXN0LWluc2VydEl0ZW1CZWZvcmUtYXBwZW5kcy5odG1sCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvc3ZnL2RvbS9zdmdsaXN0LWluc2VydEl0ZW1CZWZvcmUtYXBwZW5kcy5o
dG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
ICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGluc2VydEl0ZW1CZWZvcmUgY29ycmVjdGx5IGFw
cGVuZHMgaWYgaXRzIGluZGV4IGlzIG91dCBvZiBib3VuZHMuIik7CisgICAgdmFyIHBhdGggPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwicGF0
aCIpOworICAgIHZhciBzZWcwMCA9IHBhdGguY3JlYXRlU1ZHUGF0aFNlZ01vdmV0b0FicygwLDAp
OworICAgIHZhciBzZWcwMSA9IHBhdGguY3JlYXRlU1ZHUGF0aFNlZ01vdmV0b0FicygwLDEpOwor
ICAgIHZhciBzZWcxMSA9IHBhdGguY3JlYXRlU1ZHUGF0aFNlZ01vdmV0b0FicygxLDEpOworICAg
IHZhciBzZWcxMCA9IHBhdGguY3JlYXRlU1ZHUGF0aFNlZ01vdmV0b0FicygxLDApOworICAgIHZh
ciBzdmdMaXN0ID0gcGF0aC5wYXRoU2VnTGlzdDsKKyAgICBzdmdMaXN0LmFwcGVuZEl0ZW0oc2Vn
MDEpOworICAgIHN2Z0xpc3QuYXBwZW5kSXRlbShzZWcxMSk7CisgICAgc3ZnTGlzdC5pbnNlcnRJ
dGVtQmVmb3JlKHNlZzAwLCAwKTsKKyAgICBzdmdMaXN0Lmluc2VydEl0ZW1CZWZvcmUoc2VnMTAs
IDQyKTsKKyAgICBzaG91bGRCZSgic3ZnTGlzdC5nZXRJdGVtKDApIiwgInNlZzAwIik7CisgICAg
c2hvdWxkQmUoInN2Z0xpc3QuZ2V0SXRlbSgxKSIsICJzZWcwMSIpOworICAgIHNob3VsZEJlKCJz
dmdMaXN0LmdldEl0ZW0oMikiLCAic2VnMTEiKTsKKyAgICBzaG91bGRCZSgic3ZnTGlzdC5nZXRJ
dGVtKDMpIiwgInNlZzEwIik7CisgICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="15330"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30407</attachid>
            <date>2009-05-15 17:52:28 -0700</date>
            <delta_ts>2009-05-15 17:59:15 -0700</delta_ts>
            <desc>even better patch?</desc>
            <filename>svglist.patch</filename>
            <type>text/plain</type>
            <size>8824</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0Mzc5MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMDktMDUtMTUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU3NDEKKworICAgICAgICBBcHBl
bmQgaW5zdGVhZCBvZiB0aHJvd2luZyB3aGVuIGluc2VydEl0ZW1CZWZvcmUgZ2V0cyBhbiBvdXQt
b2YtYm91bmQKKyAgICAgICAgaW5kZXguCisKKyAgICAgICAgVGVzdDogc3ZnL2RvbS9zdmdsaXN0
LWluc2VydEl0ZW1CZWZvcmUtYXBwZW5kcy5odG1sCisKKyAgICAgICAgKiBzdmcvU1ZHTGlzdC5o
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGlzdDo6aW5zZXJ0SXRlbUJlZm9yZSk6CisKIDIwMDkt
MDUtMTUgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBTYW0gV2VpbmlnLgpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTGlzdC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3ZnL1NWR0xpc3QuaAkocmV2aXNpb24gNDM3ODYpCisrKyBXZWJDb3JlL3N2
Zy9TVkdMaXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTk0LDEzICs5NCwxMyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgICAgICByZXR1cm4gbV92ZWN0b3JbaW5kZXhdOwogICAgICAgICB9
CiAKLSAgICAgICAgSXRlbSBpbnNlcnRJdGVtQmVmb3JlKEl0ZW0gbmV3SXRlbSwgdW5zaWduZWQg
aW50IGluZGV4LCBFeGNlcHRpb25Db2RlJiBlYykKKyAgICAgICAgSXRlbSBpbnNlcnRJdGVtQmVm
b3JlKEl0ZW0gbmV3SXRlbSwgdW5zaWduZWQgaW50IGluZGV4LCBFeGNlcHRpb25Db2RlJikKICAg
ICAgICAgewotICAgICAgICAgICAgaWYgKGluZGV4ID49IG1fdmVjdG9yLnNpemUoKSkgewotICAg
ICAgICAgICAgICAgIGVjID0gSU5ERVhfU0laRV9FUlI7Ci0gICAgICAgICAgICAgICAgcmV0dXJu
IFR5cGVPcGVyYXRpb25zOjpudWxsSXRlbSgpOworICAgICAgICAgICAgaWYgKGluZGV4IDwgbV92
ZWN0b3Iuc2l6ZSgpKSB7CisgICAgICAgICAgICAgICAgbV92ZWN0b3IuaW5zZXJ0KGluZGV4LCBu
ZXdJdGVtKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgbV92ZWN0b3Iu
YXBwZW5kKG5ld0l0ZW0pOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgbV92ZWN0b3IuaW5z
ZXJ0KGluZGV4LCBuZXdJdGVtKTsKICAgICAgICAgICAgIHJldHVybiBuZXdJdGVtOwogICAgICAg
ICB9CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDQzNzkyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDktMDUtMTUgIEFkYW0gQmFydGgg
IDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU3
NDEKKworICAgICAgICBUZXN0IHRoYXQgaW5zZXJ0QmVmb3JlSXRlbSBiZWhhdmVzIHByb3Blcmx5
IGZvciBvdXQgb2YgYm91bmRzIGluZGljZXMuCisKKyAgICAgICAgKiBzdmcvZG9tL3N2Z2xpc3Qt
ZXhjZXB0aW9uLW9uLW91dC1ib3VuZHMtZXJyb3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN2
Zy9kb20vc3ZnbGlzdC1leGNlcHRpb24tb24tb3V0LWJvdW5kcy1lcnJvci5odG1sOgorICAgICAg
ICAqIHN2Zy9kb20vc3ZnbGlzdC1pbnNlcnRJdGVtQmVmb3JlLWFwcGVuZHMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvZG9tL3N2Z2xpc3QtaW5zZXJ0SXRlbUJlZm9yZS1hcHBl
bmRzLmh0bWw6IEFkZGVkLgorCiAyMDA5LTA1LTE1ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KSW5kZXg6IExheW91dFRl
c3RzL3N2Zy9kb20vc3ZnbGlzdC1leGNlcHRpb24tb24tb3V0LWJvdW5kcy1lcnJvci1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2RvbS9zdmdsaXN0LWV4Y2VwdGlv
bi1vbi1vdXQtYm91bmRzLWVycm9yLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDM3ODYpCisrKyBM
YXlvdXRUZXN0cy9zdmcvZG9tL3N2Z2xpc3QtZXhjZXB0aW9uLW9uLW91dC1ib3VuZHMtZXJyb3It
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00LDI3ICs0LDI3IEBAIE9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEEKIAogCiBQQVNTIHN2Z0xpc3QuZ2V0SXRlbShp
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOREVYX1NJWkVfRVJSOiBET00gRXhjZXB0aW9uIDEu
Ci1QQVNTIHN2Z0xpc3QuaW5zZXJ0SXRlbUJlZm9yZShudWxsLCBpKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IElOREVYX1NJWkVfRVJSOiBET00gRXhjZXB0aW9uIDEuCitQQVNTIHN2Z0xpc3QuaW5z
ZXJ0SXRlbUJlZm9yZShudWxsLCBpKSBpcyBudWxsCiBQQVNTIHN2Z0xpc3QucmVwbGFjZUl0ZW0o
bnVsbCwgaSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTkRFWF9TSVpFX0VSUjogRE9NIEV4Y2Vw
dGlvbiAxLgogUEFTUyBzdmdMaXN0LnJlbW92ZUl0ZW0oaSkgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBJTkRFWF9TSVpFX0VSUjogRE9NIEV4Y2VwdGlvbiAxLgogUEFTUyBzdmdMaXN0LmdldEl0ZW0o
aSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTkRFWF9TSVpFX0VSUjogRE9NIEV4Y2VwdGlvbiAx
LgotUEFTUyBzdmdMaXN0Lmluc2VydEl0ZW1CZWZvcmUobnVsbCwgaSkgdGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBJTkRFWF9TSVpFX0VSUjogRE9NIEV4Y2VwdGlvbiAxLgorUEFTUyBzdmdMaXN0Lmlu
c2VydEl0ZW1CZWZvcmUobnVsbCwgaSkgaXMgbnVsbAogUEFTUyBzdmdMaXN0LnJlcGxhY2VJdGVt
KG51bGwsIGkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5ERVhfU0laRV9FUlI6IERPTSBFeGNl
cHRpb24gMS4KIFBBU1Mgc3ZnTGlzdC5yZW1vdmVJdGVtKGkpIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogSU5ERVhfU0laRV9FUlI6IERPTSBFeGNlcHRpb24gMS4KIFBBU1Mgc3ZnTGlzdC5nZXRJdGVt
KGkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5ERVhfU0laRV9FUlI6IERPTSBFeGNlcHRpb24g
MS4KLVBBU1Mgc3ZnTGlzdC5pbnNlcnRJdGVtQmVmb3JlKG51bGwsIGkpIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogSU5ERVhfU0laRV9FUlI6IERPTSBFeGNlcHRpb24gMS4KK1BBU1Mgc3ZnTGlzdC5p
bnNlcnRJdGVtQmVmb3JlKG51bGwsIGkpIGlzIG51bGwKIFBBU1Mgc3ZnTGlzdC5yZXBsYWNlSXRl
bShudWxsLCBpKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOREVYX1NJWkVfRVJSOiBET00gRXhj
ZXB0aW9uIDEuCiBQQVNTIHN2Z0xpc3QucmVtb3ZlSXRlbShpKSB0aHJldyBleGNlcHRpb24gRXJy
b3I6IElOREVYX1NJWkVfRVJSOiBET00gRXhjZXB0aW9uIDEuCiBQQVNTIHN2Z0xpc3QuZ2V0SXRl
bShpKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOREVYX1NJWkVfRVJSOiBET00gRXhjZXB0aW9u
IDEuCi1QQVNTIHN2Z0xpc3QuaW5zZXJ0SXRlbUJlZm9yZShudWxsLCBpKSB0aHJldyBleGNlcHRp
b24gRXJyb3I6IElOREVYX1NJWkVfRVJSOiBET00gRXhjZXB0aW9uIDEuCitQQVNTIHN2Z0xpc3Qu
aW5zZXJ0SXRlbUJlZm9yZShudWxsLCBpKSBpcyBudWxsCiBQQVNTIHN2Z0xpc3QucmVwbGFjZUl0
ZW0obnVsbCwgaSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTkRFWF9TSVpFX0VSUjogRE9NIEV4
Y2VwdGlvbiAxLgogUEFTUyBzdmdMaXN0LnJlbW92ZUl0ZW0oaSkgdGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBJTkRFWF9TSVpFX0VSUjogRE9NIEV4Y2VwdGlvbiAxLgogUEFTUyBzdmdMaXN0LmdldEl0
ZW0oaSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTkRFWF9TSVpFX0VSUjogRE9NIEV4Y2VwdGlv
biAxLgotUEFTUyBzdmdMaXN0Lmluc2VydEl0ZW1CZWZvcmUobnVsbCwgaSkgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBJTkRFWF9TSVpFX0VSUjogRE9NIEV4Y2VwdGlvbiAxLgorUEFTUyBzdmdMaXN0
Lmluc2VydEl0ZW1CZWZvcmUobnVsbCwgaSkgaXMgbnVsbAogUEFTUyBzdmdMaXN0LnJlcGxhY2VJ
dGVtKG51bGwsIGkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5ERVhfU0laRV9FUlI6IERPTSBF
eGNlcHRpb24gMS4KIFBBU1Mgc3ZnTGlzdC5yZW1vdmVJdGVtKGkpIHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogSU5ERVhfU0laRV9FUlI6IERPTSBFeGNlcHRpb24gMS4KIFBBU1Mgc3ZnTGlzdC5nZXRJ
dGVtKGkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5ERVhfU0laRV9FUlI6IERPTSBFeGNlcHRp
b24gMS4KLVBBU1Mgc3ZnTGlzdC5pbnNlcnRJdGVtQmVmb3JlKG51bGwsIGkpIHRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogSU5ERVhfU0laRV9FUlI6IERPTSBFeGNlcHRpb24gMS4KK1BBU1Mgc3ZnTGlz
dC5pbnNlcnRJdGVtQmVmb3JlKG51bGwsIGkpIGlzIG51bGwKIFBBU1Mgc3ZnTGlzdC5yZXBsYWNl
SXRlbShudWxsLCBpKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOREVYX1NJWkVfRVJSOiBET00g
RXhjZXB0aW9uIDEuCiBQQVNTIHN2Z0xpc3QucmVtb3ZlSXRlbShpKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IElOREVYX1NJWkVfRVJSOiBET00gRXhjZXB0aW9uIDEuCiBQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZG9tL3N2Z2xpc3QtZXhjZXB0
aW9uLW9uLW91dC1ib3VuZHMtZXJyb3IuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9z
dmcvZG9tL3N2Z2xpc3QtZXhjZXB0aW9uLW9uLW91dC1ib3VuZHMtZXJyb3IuaHRtbAkocmV2aXNp
b24gNDM3ODYpCisrKyBMYXlvdXRUZXN0cy9zdmcvZG9tL3N2Z2xpc3QtZXhjZXB0aW9uLW9uLW91
dC1ib3VuZHMtZXJyb3IuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTQsNyArMTQsOCBAQAogICAg
IHZhciBpbmRpY2VzVG9UZXN0ID0gWy1JbmZpbml0eSwgTmFOLCAtMSwgMCwgMSwgSW5maW5pdHld
OwogICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW5kaWNlc1RvVGVzdC5sZW5ndGg7IGkrKykgewog
ICAgICAgICAgc2hvdWxkVGhyb3coInN2Z0xpc3QuZ2V0SXRlbShpKSIpOwotICAgICAgICAgc2hv
dWxkVGhyb3coInN2Z0xpc3QuaW5zZXJ0SXRlbUJlZm9yZShudWxsLCBpKSIpOworICAgICAgICAg
c2hvdWxkQmVOdWxsKCJzdmdMaXN0Lmluc2VydEl0ZW1CZWZvcmUobnVsbCwgaSkiKTsKKyAgICAg
ICAgIHN2Z0xpc3QucmVtb3ZlSXRlbSgwKTsKICAgICAgICAgIHNob3VsZFRocm93KCJzdmdMaXN0
LnJlcGxhY2VJdGVtKG51bGwsIGkpIik7CiAgICAgICAgICBzaG91bGRUaHJvdygic3ZnTGlzdC5y
ZW1vdmVJdGVtKGkpIik7CiAgICAgfQpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2RvbS9zdmdsaXN0
LWluc2VydEl0ZW1CZWZvcmUtYXBwZW5kcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvc3ZnL2RvbS9zdmdsaXN0LWluc2VydEl0ZW1CZWZvcmUtYXBwZW5kcy1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvZG9tL3N2Z2xpc3QtaW5zZXJ0
SXRlbUJlZm9yZS1hcHBlbmRzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwy
NCBAQAorVGVzdHMgdGhhdCBpbnNlcnRJdGVtQmVmb3JlIGNvcnJlY3RseSBhcHBlbmRzIGlmIGl0
cyBpbmRleCBpcyBvdXQgb2YgYm91bmRzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBzdmdMaXN0Lm51bWJlck9mSXRlbXMgaXMgMAorUEFTUyBzdmdMaXN0Lm51bWJlck9m
SXRlbXMgaXMgMQorUEFTUyBzdmdMaXN0LmdldEl0ZW0oMCkgaXMgc2VnMDEKK1BBU1Mgc3ZnTGlz
dC5udW1iZXJPZkl0ZW1zIGlzIDIKK1BBU1Mgc3ZnTGlzdC5nZXRJdGVtKDApIGlzIHNlZzAxCitQ
QVNTIHN2Z0xpc3QuZ2V0SXRlbSgxKSBpcyBzZWcxMQorUEFTUyBzdmdMaXN0Lm51bWJlck9mSXRl
bXMgaXMgMworUEFTUyBzdmdMaXN0LmdldEl0ZW0oMCkgaXMgc2VnMDAKK1BBU1Mgc3ZnTGlzdC5n
ZXRJdGVtKDEpIGlzIHNlZzAxCitQQVNTIHN2Z0xpc3QuZ2V0SXRlbSgyKSBpcyBzZWcxMQorUEFT
UyBzdmdMaXN0Lm51bWJlck9mSXRlbXMgaXMgNAorUEFTUyBzdmdMaXN0LmdldEl0ZW0oMCkgaXMg
c2VnMDAKK1BBU1Mgc3ZnTGlzdC5nZXRJdGVtKDEpIGlzIHNlZzAxCitQQVNTIHN2Z0xpc3QuZ2V0
SXRlbSgyKSBpcyBzZWcxMQorUEFTUyBzdmdMaXN0LmdldEl0ZW0oMykgaXMgc2VnMTAKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlv
dXRUZXN0cy9zdmcvZG9tL3N2Z2xpc3QtaW5zZXJ0SXRlbUJlZm9yZS1hcHBlbmRzLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2RvbS9zdmdsaXN0LWluc2VydEl0ZW1CZWZvcmUt
YXBwZW5kcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2RvbS9zdmdsaXN0
LWluc2VydEl0ZW1CZWZvcmUtYXBwZW5kcy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQx
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGlu
c2VydEl0ZW1CZWZvcmUgY29ycmVjdGx5IGFwcGVuZHMgaWYgaXRzIGluZGV4IGlzIG91dCBvZiBi
b3VuZHMuIik7CisgICAgdmFyIHBhdGggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6
Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwicGF0aCIpOworICAgIHZhciBzZWcwMCA9IHBhdGguY3Jl
YXRlU1ZHUGF0aFNlZ01vdmV0b0FicygwLDApOworICAgIHZhciBzZWcwMSA9IHBhdGguY3JlYXRl
U1ZHUGF0aFNlZ01vdmV0b0FicygwLDEpOworICAgIHZhciBzZWcxMSA9IHBhdGguY3JlYXRlU1ZH
UGF0aFNlZ01vdmV0b0FicygxLDEpOworICAgIHZhciBzZWcxMCA9IHBhdGguY3JlYXRlU1ZHUGF0
aFNlZ01vdmV0b0FicygxLDApOworICAgIHZhciBzdmdMaXN0ID0gcGF0aC5wYXRoU2VnTGlzdDsK
KyAgICBzaG91bGRCZSgic3ZnTGlzdC5udW1iZXJPZkl0ZW1zIiwgIjAiKTsKKyAgICBzdmdMaXN0
LmFwcGVuZEl0ZW0oc2VnMDEpOworICAgIHNob3VsZEJlKCJzdmdMaXN0Lm51bWJlck9mSXRlbXMi
LCAiMSIpOworICAgIHNob3VsZEJlKCJzdmdMaXN0LmdldEl0ZW0oMCkiLCAic2VnMDEiKTsKKyAg
ICBzdmdMaXN0LmFwcGVuZEl0ZW0oc2VnMTEpOworICAgIHNob3VsZEJlKCJzdmdMaXN0Lm51bWJl
ck9mSXRlbXMiLCAiMiIpOworICAgIHNob3VsZEJlKCJzdmdMaXN0LmdldEl0ZW0oMCkiLCAic2Vn
MDEiKTsKKyAgICBzaG91bGRCZSgic3ZnTGlzdC5nZXRJdGVtKDEpIiwgInNlZzExIik7CisgICAg
c3ZnTGlzdC5pbnNlcnRJdGVtQmVmb3JlKHNlZzAwLCAwKTsKKyAgICBzaG91bGRCZSgic3ZnTGlz
dC5udW1iZXJPZkl0ZW1zIiwgIjMiKTsKKyAgICBzaG91bGRCZSgic3ZnTGlzdC5nZXRJdGVtKDAp
IiwgInNlZzAwIik7CisgICAgc2hvdWxkQmUoInN2Z0xpc3QuZ2V0SXRlbSgxKSIsICJzZWcwMSIp
OworICAgIHNob3VsZEJlKCJzdmdMaXN0LmdldEl0ZW0oMikiLCAic2VnMTEiKTsKKyAgICBzdmdM
aXN0Lmluc2VydEl0ZW1CZWZvcmUoc2VnMTAsIDQyKTsKKyAgICBzaG91bGRCZSgic3ZnTGlzdC5u
dW1iZXJPZkl0ZW1zIiwgIjQiKTsKKyAgICBzaG91bGRCZSgic3ZnTGlzdC5nZXRJdGVtKDApIiwg
InNlZzAwIik7CisgICAgc2hvdWxkQmUoInN2Z0xpc3QuZ2V0SXRlbSgxKSIsICJzZWcwMSIpOwor
ICAgIHNob3VsZEJlKCJzdmdMaXN0LmdldEl0ZW0oMikiLCAic2VnMTEiKTsKKyAgICBzaG91bGRC
ZSgic3ZnTGlzdC5nZXRJdGVtKDMpIiwgInNlZzEwIik7CisgICAgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="15331"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>