<?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>35619</bug_id>
          
          <creation_ts>2010-03-02 16:14:00 -0800</creation_ts>
          <short_desc>Implement memmove behavior for WebGLArray set()</short_desc>
          <delta_ts>2010-03-31 03:26:50 -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>WebGL</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>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Russell">kbr</reporter>
          <assigned_to name="Zhenyao Mo">zmo</assigned_to>
          <cc>cmarrin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>195300</commentid>
    <comment_count>0</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-03-02 16:14:00 -0800</bug_when>
    <thetext>In the method WebGL&lt;T&gt;Array.set(WebGL&lt;T&gt;Array, offset) it is possible for the source and destination arrays to overlap the same region in the WebGLArrayBuffer. Per the revised spec, we need to implement memmove semantics for this case and write tests for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203609</commentid>
    <comment_count>1</comment_count>
      <attachid>51544</attachid>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2010-03-24 14:45:31 -0700</bug_when>
    <thetext>Created attachment 51544
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203612</commentid>
    <comment_count>2</comment_count>
      <attachid>51546</attachid>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2010-03-24 14:48:39 -0700</bug_when>
    <thetext>Created attachment 51546
revised patch: tiny fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203896</commentid>
    <comment_count>3</comment_count>
      <attachid>51546</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-25 01:13:46 -0700</bug_when>
    <thetext>Comment on attachment 51546
revised patch: tiny fix

Your ChangeLog should really explain *why* this is a good idea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204123</commentid>
    <comment_count>4</comment_count>
      <attachid>51655</attachid>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2010-03-25 10:21:34 -0700</bug_when>
    <thetext>Created attachment 51655
revised patch: add explanation in the changeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206262</commentid>
    <comment_count>5</comment_count>
      <attachid>51655</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-03-30 16:58:28 -0700</bug_when>
    <thetext>Comment on attachment 51655
revised patch: add explanation in the changeLog.

Looks good overall. One comment on the test case.

&gt; Index: LayoutTests/fast/canvas/webgl/array-setters.html
&gt; ===================================================================
&gt; --- LayoutTests/fast/canvas/webgl/array-setters.html	(revision 56446)
&gt; +++ LayoutTests/fast/canvas/webgl/array-setters.html	(working copy)
&gt; @@ -39,6 +39,29 @@ function testSetters(typeName, low, high
&gt;      webGLArray.set(1, array[1]);
&gt;      shouldBe(&quot;webGLArray[1]&quot;, &quot;array[1]&quot;);
&gt;      shouldBe(&quot;webGLArray.get(1)&quot;, &quot;array[1]&quot;);
&gt; +
&gt; +    // Verify set() behaves correctly with shared underlying buffer. 
&gt; +    array = [0, 1, 2, 3, 4, 5];
&gt; +    webGLArray = new type(6);
&gt; +    webGLArray.set(array);
&gt; +    array = webGLArray.slice(2, 4);
&gt; +    array[0] = 88;
&gt; +    array[1] = 99;
&gt; +    shouldBe(&quot;webGLArray[2]&quot;, &quot;88&quot;);
&gt; +    shouldBe(&quot;webGLArray[3]&quot;, &quot;99&quot;);
&gt; +    // pre-overlap
&gt; +    webGLArray.set(array, 1);
&gt; +    shouldBe(&quot;webGLArray[1]&quot;, &quot;88&quot;);
&gt; +    shouldBe(&quot;webGLArray[2]&quot;, &quot;99&quot;);
&gt; +    shouldBe(&quot;array[0]&quot;, &quot;99&quot;);
&gt; +    shouldBe(&quot;array[1]&quot;, &quot;99&quot;);
&gt; +    array[1] = 77;
&gt; +    // post-overlap
&gt; +    webGLArray.set(array, 3);
&gt; +    shouldBe(&quot;webGLArray[3]&quot;, &quot;99&quot;);
&gt; +    shouldBe(&quot;webGLArray[4]&quot;, &quot;77&quot;);
&gt; +    shouldBe(&quot;array[0]&quot;, &quot;99&quot;);
&gt; +    shouldBe(&quot;array[0]&quot;, &quot;99&quot;);

The line above looks like a typo. Should it be verifying array[1]?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206310</commentid>
    <comment_count>6</comment_count>
      <attachid>52113</attachid>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2010-03-30 18:22:04 -0700</bug_when>
    <thetext>Created attachment 52113
revised patch : fixed the typo Ken Russell pointed out</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206311</commentid>
    <comment_count>7</comment_count>
      <attachid>52113</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-03-30 18:23:57 -0700</bug_when>
    <thetext>Comment on attachment 52113
revised patch : fixed the typo Ken Russell pointed out

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206366</commentid>
    <comment_count>8</comment_count>
      <attachid>52113</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-03-30 22:40:08 -0700</bug_when>
    <thetext>Comment on attachment 52113
revised patch : fixed the typo Ken Russell pointed out

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206441</commentid>
    <comment_count>9</comment_count>
      <attachid>52113</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-31 03:26:44 -0700</bug_when>
    <thetext>Comment on attachment 52113
revised patch : fixed the typo Ken Russell pointed out

Clearing flags on attachment: 52113

Committed r56833: &lt;http://trac.webkit.org/changeset/56833&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206442</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-31 03:26:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51544</attachid>
            <date>2010-03-24 14:45:31 -0700</date>
            <delta_ts>2010-03-24 14:48:39 -0700</delta_ts>
            <desc>patch</desc>
            <filename>arraySet.patch</filename>
            <type>text/plain</type>
            <size>6934</size>
            <attacher name="Zhenyao Mo">zmo</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NjQ2MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTAtMDMtMjQgIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1l
bnQgbWVtbW92ZSBiZWhhdmlvciBmb3IgV2ViR0xBcnJheSBzZXQoKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU2MTkKKworICAgICAgICBOZXcgdGVz
dCBjYXNlcyBhcmUgYWRkZWQgdG8gZmFzdC9jYW52YXMvd2ViZ2wvYXJyYXktc2V0dGVycy5odG1s
LgorCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xBcnJheS5jcHA6IFVzZSBtZW1tb3ZlIGlu
c3RlYWQgb2YgbWVtY3B5LgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xBcnJheTo6c2V0SW1wbCk6
CisKIDIwMTAtMDMtMjMgIEV2YW4gTWFydGluICA8ZXZhbkBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgRG1pdHJ5IFRpdG92LgpJbmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTEFycmF5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQXJy
YXkuY3BwCShyZXZpc2lvbiA1NjQ0NikKKysrIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xBcnJh
eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1LDcgKzU1LDcgQEAgdm9pZCBXZWJHTEFycmF5Ojpz
ZXRJbXBsKFdlYkdMQXJyYXkqIGFycgogICAgIH0KIAogICAgIGNoYXIqIGJhc2UgPSBzdGF0aWNf
Y2FzdDxjaGFyKj4oYmFzZUFkZHJlc3MoKSk7Ci0gICAgbWVtY3B5KGJhc2UgKyBieXRlT2Zmc2V0
LCBhcnJheS0+YmFzZUFkZHJlc3MoKSwgYXJyYXktPmJ5dGVMZW5ndGgoKSk7CisgICAgbWVtbW92
ZShiYXNlICsgYnl0ZU9mZnNldCwgYXJyYXktPmJhc2VBZGRyZXNzKCksIGFycmF5LT5ieXRlTGVu
Z3RoKCkpOwogfQogCiB2b2lkIFdlYkdMQXJyYXk6OmNhbGN1bGF0ZU9mZnNldEFuZExlbmd0aChp
bnQgc3RhcnQsIGludCBlbmQsIHVuc2lnbmVkIGFycmF5U2l6ZSwKSW5kZXg6IExheW91dFRlc3Rz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDU2NDYwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTAtMDMtMjQgIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgbWVt
bW92ZSBiZWhhdmlvciBmb3IgV2ViR0xBcnJheSBzZXQoKQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU2MTkKKworICAgICAgICAqIGZhc3QvY2FudmFz
L3dlYmdsL2FycmF5LXNldHRlcnMtZXhwZWN0ZWQudHh0OiBUZXN0aW5nIHNoYXJlZCBvdmVybGFw
cGluZyBidWZmZXIgc2V0KCkgYmVoYXZpb3JzLgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmds
L2FycmF5LXNldHRlcnMuaHRtbDogRGl0dG8uCisKIDIwMTAtMDMtMjMgIEV2YW4gTWFydGluICA8
ZXZhbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRG1pdHJ5IFRpdG92LgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvYXJyYXktc2V0dGVycy1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvYXJyYXkt
c2V0dGVycy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDU2NDQ2KQorKysgTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvd2ViZ2wvYXJyYXktc2V0dGVycy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTE3LDYgKzE3LDE2IEBAIFBBU1Mgd2ViR0xBcnJheVswXSBpcyBhcnJheVswXQogUEFTUyB3
ZWJHTEFycmF5LmdldCgwKSBpcyBhcnJheVswXQogUEFTUyB3ZWJHTEFycmF5WzFdIGlzIGFycmF5
WzFdCiBQQVNTIHdlYkdMQXJyYXkuZ2V0KDEpIGlzIGFycmF5WzFdCitQQVNTIHdlYkdMQXJyYXlb
Ml0gaXMgODgKK1BBU1Mgd2ViR0xBcnJheVszXSBpcyA5OQorUEFTUyB3ZWJHTEFycmF5WzFdIGlz
IDg4CitQQVNTIHdlYkdMQXJyYXlbMl0gaXMgOTkKK1BBU1MgYXJyYXlbMF0gaXMgOTkKK1BBU1Mg
YXJyYXlbMV0gaXMgOTkKK1BBU1Mgd2ViR0xBcnJheVszXSBpcyA5OQorUEFTUyB3ZWJHTEFycmF5
WzRdIGlzIDc3CitQQVNTIGFycmF5WzBdIGlzIDk5CitQQVNTIGFycmF5WzBdIGlzIDk5CiBUZXN0
aW5nIFdlYkdMVW5zaWduZWRCeXRlQXJyYXkKIFBBU1Mgd2ViR0xBcnJheSBpcyBhcnJheQogUEFT
UyB3ZWJHTEFycmF5WzBdIGlzIGFycmF5WzBdCkBAIC0zMSw2ICs0MSwxNiBAQCBQQVNTIHdlYkdM
QXJyYXlbMF0gaXMgYXJyYXlbMF0KIFBBU1Mgd2ViR0xBcnJheS5nZXQoMCkgaXMgYXJyYXlbMF0K
IFBBU1Mgd2ViR0xBcnJheVsxXSBpcyBhcnJheVsxXQogUEFTUyB3ZWJHTEFycmF5LmdldCgxKSBp
cyBhcnJheVsxXQorUEFTUyB3ZWJHTEFycmF5WzJdIGlzIDg4CitQQVNTIHdlYkdMQXJyYXlbM10g
aXMgOTkKK1BBU1Mgd2ViR0xBcnJheVsxXSBpcyA4OAorUEFTUyB3ZWJHTEFycmF5WzJdIGlzIDk5
CitQQVNTIGFycmF5WzBdIGlzIDk5CitQQVNTIGFycmF5WzFdIGlzIDk5CitQQVNTIHdlYkdMQXJy
YXlbM10gaXMgOTkKK1BBU1Mgd2ViR0xBcnJheVs0XSBpcyA3NworUEFTUyBhcnJheVswXSBpcyA5
OQorUEFTUyBhcnJheVswXSBpcyA5OQogVGVzdGluZyBXZWJHTFNob3J0QXJyYXkKIFBBU1Mgd2Vi
R0xBcnJheSBpcyBhcnJheQogUEFTUyB3ZWJHTEFycmF5WzBdIGlzIGFycmF5WzBdCkBAIC00NSw2
ICs2NSwxNiBAQCBQQVNTIHdlYkdMQXJyYXlbMF0gaXMgYXJyYXlbMF0KIFBBU1Mgd2ViR0xBcnJh
eS5nZXQoMCkgaXMgYXJyYXlbMF0KIFBBU1Mgd2ViR0xBcnJheVsxXSBpcyBhcnJheVsxXQogUEFT
UyB3ZWJHTEFycmF5LmdldCgxKSBpcyBhcnJheVsxXQorUEFTUyB3ZWJHTEFycmF5WzJdIGlzIDg4
CitQQVNTIHdlYkdMQXJyYXlbM10gaXMgOTkKK1BBU1Mgd2ViR0xBcnJheVsxXSBpcyA4OAorUEFT
UyB3ZWJHTEFycmF5WzJdIGlzIDk5CitQQVNTIGFycmF5WzBdIGlzIDk5CitQQVNTIGFycmF5WzFd
IGlzIDk5CitQQVNTIHdlYkdMQXJyYXlbM10gaXMgOTkKK1BBU1Mgd2ViR0xBcnJheVs0XSBpcyA3
NworUEFTUyBhcnJheVswXSBpcyA5OQorUEFTUyBhcnJheVswXSBpcyA5OQogVGVzdGluZyBXZWJH
TFVuc2lnbmVkU2hvcnRBcnJheQogUEFTUyB3ZWJHTEFycmF5IGlzIGFycmF5CiBQQVNTIHdlYkdM
QXJyYXlbMF0gaXMgYXJyYXlbMF0KQEAgLTU5LDYgKzg5LDE2IEBAIFBBU1Mgd2ViR0xBcnJheVsw
XSBpcyBhcnJheVswXQogUEFTUyB3ZWJHTEFycmF5LmdldCgwKSBpcyBhcnJheVswXQogUEFTUyB3
ZWJHTEFycmF5WzFdIGlzIGFycmF5WzFdCiBQQVNTIHdlYkdMQXJyYXkuZ2V0KDEpIGlzIGFycmF5
WzFdCitQQVNTIHdlYkdMQXJyYXlbMl0gaXMgODgKK1BBU1Mgd2ViR0xBcnJheVszXSBpcyA5OQor
UEFTUyB3ZWJHTEFycmF5WzFdIGlzIDg4CitQQVNTIHdlYkdMQXJyYXlbMl0gaXMgOTkKK1BBU1Mg
YXJyYXlbMF0gaXMgOTkKK1BBU1MgYXJyYXlbMV0gaXMgOTkKK1BBU1Mgd2ViR0xBcnJheVszXSBp
cyA5OQorUEFTUyB3ZWJHTEFycmF5WzRdIGlzIDc3CitQQVNTIGFycmF5WzBdIGlzIDk5CitQQVNT
IGFycmF5WzBdIGlzIDk5CiBUZXN0aW5nIFdlYkdMSW50QXJyYXkKIFBBU1Mgd2ViR0xBcnJheSBp
cyBhcnJheQogUEFTUyB3ZWJHTEFycmF5WzBdIGlzIGFycmF5WzBdCkBAIC03Myw2ICsxMTMsMTYg
QEAgUEFTUyB3ZWJHTEFycmF5WzBdIGlzIGFycmF5WzBdCiBQQVNTIHdlYkdMQXJyYXkuZ2V0KDAp
IGlzIGFycmF5WzBdCiBQQVNTIHdlYkdMQXJyYXlbMV0gaXMgYXJyYXlbMV0KIFBBU1Mgd2ViR0xB
cnJheS5nZXQoMSkgaXMgYXJyYXlbMV0KK1BBU1Mgd2ViR0xBcnJheVsyXSBpcyA4OAorUEFTUyB3
ZWJHTEFycmF5WzNdIGlzIDk5CitQQVNTIHdlYkdMQXJyYXlbMV0gaXMgODgKK1BBU1Mgd2ViR0xB
cnJheVsyXSBpcyA5OQorUEFTUyBhcnJheVswXSBpcyA5OQorUEFTUyBhcnJheVsxXSBpcyA5OQor
UEFTUyB3ZWJHTEFycmF5WzNdIGlzIDk5CitQQVNTIHdlYkdMQXJyYXlbNF0gaXMgNzcKK1BBU1Mg
YXJyYXlbMF0gaXMgOTkKK1BBU1MgYXJyYXlbMF0gaXMgOTkKIFRlc3RpbmcgV2ViR0xVbnNpZ25l
ZEludEFycmF5CiBQQVNTIHdlYkdMQXJyYXkgaXMgYXJyYXkKIFBBU1Mgd2ViR0xBcnJheVswXSBp
cyBhcnJheVswXQpAQCAtODcsNiArMTM3LDE2IEBAIFBBU1Mgd2ViR0xBcnJheVswXSBpcyBhcnJh
eVswXQogUEFTUyB3ZWJHTEFycmF5LmdldCgwKSBpcyBhcnJheVswXQogUEFTUyB3ZWJHTEFycmF5
WzFdIGlzIGFycmF5WzFdCiBQQVNTIHdlYkdMQXJyYXkuZ2V0KDEpIGlzIGFycmF5WzFdCitQQVNT
IHdlYkdMQXJyYXlbMl0gaXMgODgKK1BBU1Mgd2ViR0xBcnJheVszXSBpcyA5OQorUEFTUyB3ZWJH
TEFycmF5WzFdIGlzIDg4CitQQVNTIHdlYkdMQXJyYXlbMl0gaXMgOTkKK1BBU1MgYXJyYXlbMF0g
aXMgOTkKK1BBU1MgYXJyYXlbMV0gaXMgOTkKK1BBU1Mgd2ViR0xBcnJheVszXSBpcyA5OQorUEFT
UyB3ZWJHTEFycmF5WzRdIGlzIDc3CitQQVNTIGFycmF5WzBdIGlzIDk5CitQQVNTIGFycmF5WzBd
IGlzIDk5CiBUZXN0aW5nIFdlYkdMRmxvYXRBcnJheQogUEFTUyB3ZWJHTEFycmF5IGlzIGFycmF5
CiBQQVNTIHdlYkdMQXJyYXlbMF0gaXMgYXJyYXlbMF0KQEAgLTEwMSw2ICsxNjEsMTYgQEAgUEFT
UyB3ZWJHTEFycmF5WzBdIGlzIGFycmF5WzBdCiBQQVNTIHdlYkdMQXJyYXkuZ2V0KDApIGlzIGFy
cmF5WzBdCiBQQVNTIHdlYkdMQXJyYXlbMV0gaXMgYXJyYXlbMV0KIFBBU1Mgd2ViR0xBcnJheS5n
ZXQoMSkgaXMgYXJyYXlbMV0KK1BBU1Mgd2ViR0xBcnJheVsyXSBpcyA4OAorUEFTUyB3ZWJHTEFy
cmF5WzNdIGlzIDk5CitQQVNTIHdlYkdMQXJyYXlbMV0gaXMgODgKK1BBU1Mgd2ViR0xBcnJheVsy
XSBpcyA5OQorUEFTUyBhcnJheVswXSBpcyA5OQorUEFTUyBhcnJheVsxXSBpcyA5OQorUEFTUyB3
ZWJHTEFycmF5WzNdIGlzIDk5CitQQVNTIHdlYkdMQXJyYXlbNF0gaXMgNzcKK1BBU1MgYXJyYXlb
MF0gaXMgOTkKK1BBU1MgYXJyYXlbMF0gaXMgOTkKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKIAogVEVTVCBDT01QTEVURQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2Vi
Z2wvYXJyYXktc2V0dGVycy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3dlYmdsL2FycmF5LXNldHRlcnMuaHRtbAkocmV2aXNpb24gNTY0NDYpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9hcnJheS1zZXR0ZXJzLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTE1LDYgKzE1LDcgQEAgZGVidWcoJ1JlZ3Jlc3Npb24gdGVzdCBmb3IgPGEgaHJlZj0iaHR0
cAogCiB2YXIgd2ViR0xBcnJheSA9IG51bGw7CiB2YXIgYXJyYXkgPSBudWxsOwordmFyIG91dE9m
QXJyYW5nZUNhdWdodCA9IGZhbHNlOwogCiBmdW5jdGlvbiB0ZXN0U2V0dGVycyh0eXBlTmFtZSwg
bG93LCBoaWdoKSB7CiAgICAgdmFyIHR5cGUgPSB3aW5kb3dbdHlwZU5hbWVdOwpAQCAtMzksNiAr
NDAsMjkgQEAgZnVuY3Rpb24gdGVzdFNldHRlcnModHlwZU5hbWUsIGxvdywgaGlnaAogICAgIHdl
YkdMQXJyYXkuc2V0KDEsIGFycmF5WzFdKTsKICAgICBzaG91bGRCZSgid2ViR0xBcnJheVsxXSIs
ICJhcnJheVsxXSIpOwogICAgIHNob3VsZEJlKCJ3ZWJHTEFycmF5LmdldCgxKSIsICJhcnJheVsx
XSIpOworCisgICAgLy8gVmVyaWZ5IHNldCgpIGJlaGF2ZXMgY29ycmVjdGx5IHdpdGggc2hhcmVk
IHVuZGVybHlpbmcgYnVmZmVyLiAKKyAgICBhcnJheSA9IFswLCAxLCAyLCAzLCA0LCA1XTsKKyAg
ICB3ZWJHTEFycmF5ID0gbmV3IHR5cGUoNik7CisgICAgd2ViR0xBcnJheS5zZXQoYXJyYXkpOwor
ICAgIGFycmF5ID0gd2ViR0xBcnJheS5zbGljZSgyLCA0KTsKKyAgICBhcnJheVswXSA9IDg4Owor
ICAgIGFycmF5WzFdID0gOTk7CisgICAgc2hvdWxkQmUoIndlYkdMQXJyYXlbMl0iLCAiODgiKTsK
KyAgICBzaG91bGRCZSgid2ViR0xBcnJheVszXSIsICI5OSIpOworICAgIC8vIHByZS1vdmVybGFw
CisgICAgd2ViR0xBcnJheS5zZXQoYXJyYXksIDEpOworICAgIHNob3VsZEJlKCJ3ZWJHTEFycmF5
WzFdIiwgIjg4Iik7CisgICAgc2hvdWxkQmUoIndlYkdMQXJyYXlbMl0iLCAiOTkiKTsKKyAgICBz
aG91bGRCZSgiYXJyYXlbMF0iLCAiOTkiKTsKKyAgICBzaG91bGRCZSgiYXJyYXlbMV0iLCAiOTki
KTsKKyAgICBhcnJheVsxXSA9IDc3OworICAgIC8vIHBvc3Qtb3ZlcmxhcAorICAgIHdlYkdMQXJy
YXkuc2V0KGFycmF5LCAzKTsKKyAgICBzaG91bGRCZSgid2ViR0xBcnJheVszXSIsICI5OSIpOwor
ICAgIHNob3VsZEJlKCJ3ZWJHTEFycmF5WzRdIiwgIjc3Iik7CisgICAgc2hvdWxkQmUoImFycmF5
WzBdIiwgIjk5Iik7CisgICAgc2hvdWxkQmUoImFycmF5WzBdIiwgIjk5Iik7CiB9CiAKIHRlc3RT
ZXR0ZXJzKCJXZWJHTEJ5dGVBcnJheSIsIC0xMjgsIDEyNyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51546</attachid>
            <date>2010-03-24 14:48:39 -0700</date>
            <delta_ts>2010-03-25 10:21:34 -0700</delta_ts>
            <desc>revised patch: tiny fix</desc>
            <filename>arraySet.patch</filename>
            <type>text/plain</type>
            <size>6716</size>
            <attacher name="Zhenyao Mo">zmo</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NjQ2MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTAtMDMtMjQgIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1l
bnQgbWVtbW92ZSBiZWhhdmlvciBmb3IgV2ViR0xBcnJheSBzZXQoKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU2MTkKKworICAgICAgICBOZXcgdGVz
dCBjYXNlcyBhcmUgYWRkZWQgdG8gZmFzdC9jYW52YXMvd2ViZ2wvYXJyYXktc2V0dGVycy5odG1s
LgorCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xBcnJheS5jcHA6IFVzZSBtZW1tb3ZlIGlu
c3RlYWQgb2YgbWVtY3B5LgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xBcnJheTo6c2V0SW1wbCk6
CisKIDIwMTAtMDMtMjMgIEV2YW4gTWFydGluICA8ZXZhbkBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgRG1pdHJ5IFRpdG92LgpJbmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTEFycmF5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQXJy
YXkuY3BwCShyZXZpc2lvbiA1NjQ0NikKKysrIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xBcnJh
eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1LDcgKzU1LDcgQEAgdm9pZCBXZWJHTEFycmF5Ojpz
ZXRJbXBsKFdlYkdMQXJyYXkqIGFycgogICAgIH0KIAogICAgIGNoYXIqIGJhc2UgPSBzdGF0aWNf
Y2FzdDxjaGFyKj4oYmFzZUFkZHJlc3MoKSk7Ci0gICAgbWVtY3B5KGJhc2UgKyBieXRlT2Zmc2V0
LCBhcnJheS0+YmFzZUFkZHJlc3MoKSwgYXJyYXktPmJ5dGVMZW5ndGgoKSk7CisgICAgbWVtbW92
ZShiYXNlICsgYnl0ZU9mZnNldCwgYXJyYXktPmJhc2VBZGRyZXNzKCksIGFycmF5LT5ieXRlTGVu
Z3RoKCkpOwogfQogCiB2b2lkIFdlYkdMQXJyYXk6OmNhbGN1bGF0ZU9mZnNldEFuZExlbmd0aChp
bnQgc3RhcnQsIGludCBlbmQsIHVuc2lnbmVkIGFycmF5U2l6ZSwKSW5kZXg6IExheW91dFRlc3Rz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDU2NDYwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTAtMDMtMjQgIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgbWVt
bW92ZSBiZWhhdmlvciBmb3IgV2ViR0xBcnJheSBzZXQoKQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU2MTkKKworICAgICAgICAqIGZhc3QvY2FudmFz
L3dlYmdsL2FycmF5LXNldHRlcnMtZXhwZWN0ZWQudHh0OiBUZXN0aW5nIHNoYXJlZCBvdmVybGFw
cGluZyBidWZmZXIgc2V0KCkgYmVoYXZpb3JzLgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmds
L2FycmF5LXNldHRlcnMuaHRtbDogRGl0dG8uCisKIDIwMTAtMDMtMjMgIEV2YW4gTWFydGluICA8
ZXZhbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRG1pdHJ5IFRpdG92LgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvYXJyYXktc2V0dGVycy1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvYXJyYXkt
c2V0dGVycy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDU2NDQ2KQorKysgTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvd2ViZ2wvYXJyYXktc2V0dGVycy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTE3LDYgKzE3LDE2IEBAIFBBU1Mgd2ViR0xBcnJheVswXSBpcyBhcnJheVswXQogUEFTUyB3
ZWJHTEFycmF5LmdldCgwKSBpcyBhcnJheVswXQogUEFTUyB3ZWJHTEFycmF5WzFdIGlzIGFycmF5
WzFdCiBQQVNTIHdlYkdMQXJyYXkuZ2V0KDEpIGlzIGFycmF5WzFdCitQQVNTIHdlYkdMQXJyYXlb
Ml0gaXMgODgKK1BBU1Mgd2ViR0xBcnJheVszXSBpcyA5OQorUEFTUyB3ZWJHTEFycmF5WzFdIGlz
IDg4CitQQVNTIHdlYkdMQXJyYXlbMl0gaXMgOTkKK1BBU1MgYXJyYXlbMF0gaXMgOTkKK1BBU1Mg
YXJyYXlbMV0gaXMgOTkKK1BBU1Mgd2ViR0xBcnJheVszXSBpcyA5OQorUEFTUyB3ZWJHTEFycmF5
WzRdIGlzIDc3CitQQVNTIGFycmF5WzBdIGlzIDk5CitQQVNTIGFycmF5WzBdIGlzIDk5CiBUZXN0
aW5nIFdlYkdMVW5zaWduZWRCeXRlQXJyYXkKIFBBU1Mgd2ViR0xBcnJheSBpcyBhcnJheQogUEFT
UyB3ZWJHTEFycmF5WzBdIGlzIGFycmF5WzBdCkBAIC0zMSw2ICs0MSwxNiBAQCBQQVNTIHdlYkdM
QXJyYXlbMF0gaXMgYXJyYXlbMF0KIFBBU1Mgd2ViR0xBcnJheS5nZXQoMCkgaXMgYXJyYXlbMF0K
IFBBU1Mgd2ViR0xBcnJheVsxXSBpcyBhcnJheVsxXQogUEFTUyB3ZWJHTEFycmF5LmdldCgxKSBp
cyBhcnJheVsxXQorUEFTUyB3ZWJHTEFycmF5WzJdIGlzIDg4CitQQVNTIHdlYkdMQXJyYXlbM10g
aXMgOTkKK1BBU1Mgd2ViR0xBcnJheVsxXSBpcyA4OAorUEFTUyB3ZWJHTEFycmF5WzJdIGlzIDk5
CitQQVNTIGFycmF5WzBdIGlzIDk5CitQQVNTIGFycmF5WzFdIGlzIDk5CitQQVNTIHdlYkdMQXJy
YXlbM10gaXMgOTkKK1BBU1Mgd2ViR0xBcnJheVs0XSBpcyA3NworUEFTUyBhcnJheVswXSBpcyA5
OQorUEFTUyBhcnJheVswXSBpcyA5OQogVGVzdGluZyBXZWJHTFNob3J0QXJyYXkKIFBBU1Mgd2Vi
R0xBcnJheSBpcyBhcnJheQogUEFTUyB3ZWJHTEFycmF5WzBdIGlzIGFycmF5WzBdCkBAIC00NSw2
ICs2NSwxNiBAQCBQQVNTIHdlYkdMQXJyYXlbMF0gaXMgYXJyYXlbMF0KIFBBU1Mgd2ViR0xBcnJh
eS5nZXQoMCkgaXMgYXJyYXlbMF0KIFBBU1Mgd2ViR0xBcnJheVsxXSBpcyBhcnJheVsxXQogUEFT
UyB3ZWJHTEFycmF5LmdldCgxKSBpcyBhcnJheVsxXQorUEFTUyB3ZWJHTEFycmF5WzJdIGlzIDg4
CitQQVNTIHdlYkdMQXJyYXlbM10gaXMgOTkKK1BBU1Mgd2ViR0xBcnJheVsxXSBpcyA4OAorUEFT
UyB3ZWJHTEFycmF5WzJdIGlzIDk5CitQQVNTIGFycmF5WzBdIGlzIDk5CitQQVNTIGFycmF5WzFd
IGlzIDk5CitQQVNTIHdlYkdMQXJyYXlbM10gaXMgOTkKK1BBU1Mgd2ViR0xBcnJheVs0XSBpcyA3
NworUEFTUyBhcnJheVswXSBpcyA5OQorUEFTUyBhcnJheVswXSBpcyA5OQogVGVzdGluZyBXZWJH
TFVuc2lnbmVkU2hvcnRBcnJheQogUEFTUyB3ZWJHTEFycmF5IGlzIGFycmF5CiBQQVNTIHdlYkdM
QXJyYXlbMF0gaXMgYXJyYXlbMF0KQEAgLTU5LDYgKzg5LDE2IEBAIFBBU1Mgd2ViR0xBcnJheVsw
XSBpcyBhcnJheVswXQogUEFTUyB3ZWJHTEFycmF5LmdldCgwKSBpcyBhcnJheVswXQogUEFTUyB3
ZWJHTEFycmF5WzFdIGlzIGFycmF5WzFdCiBQQVNTIHdlYkdMQXJyYXkuZ2V0KDEpIGlzIGFycmF5
WzFdCitQQVNTIHdlYkdMQXJyYXlbMl0gaXMgODgKK1BBU1Mgd2ViR0xBcnJheVszXSBpcyA5OQor
UEFTUyB3ZWJHTEFycmF5WzFdIGlzIDg4CitQQVNTIHdlYkdMQXJyYXlbMl0gaXMgOTkKK1BBU1Mg
YXJyYXlbMF0gaXMgOTkKK1BBU1MgYXJyYXlbMV0gaXMgOTkKK1BBU1Mgd2ViR0xBcnJheVszXSBp
cyA5OQorUEFTUyB3ZWJHTEFycmF5WzRdIGlzIDc3CitQQVNTIGFycmF5WzBdIGlzIDk5CitQQVNT
IGFycmF5WzBdIGlzIDk5CiBUZXN0aW5nIFdlYkdMSW50QXJyYXkKIFBBU1Mgd2ViR0xBcnJheSBp
cyBhcnJheQogUEFTUyB3ZWJHTEFycmF5WzBdIGlzIGFycmF5WzBdCkBAIC03Myw2ICsxMTMsMTYg
QEAgUEFTUyB3ZWJHTEFycmF5WzBdIGlzIGFycmF5WzBdCiBQQVNTIHdlYkdMQXJyYXkuZ2V0KDAp
IGlzIGFycmF5WzBdCiBQQVNTIHdlYkdMQXJyYXlbMV0gaXMgYXJyYXlbMV0KIFBBU1Mgd2ViR0xB
cnJheS5nZXQoMSkgaXMgYXJyYXlbMV0KK1BBU1Mgd2ViR0xBcnJheVsyXSBpcyA4OAorUEFTUyB3
ZWJHTEFycmF5WzNdIGlzIDk5CitQQVNTIHdlYkdMQXJyYXlbMV0gaXMgODgKK1BBU1Mgd2ViR0xB
cnJheVsyXSBpcyA5OQorUEFTUyBhcnJheVswXSBpcyA5OQorUEFTUyBhcnJheVsxXSBpcyA5OQor
UEFTUyB3ZWJHTEFycmF5WzNdIGlzIDk5CitQQVNTIHdlYkdMQXJyYXlbNF0gaXMgNzcKK1BBU1Mg
YXJyYXlbMF0gaXMgOTkKK1BBU1MgYXJyYXlbMF0gaXMgOTkKIFRlc3RpbmcgV2ViR0xVbnNpZ25l
ZEludEFycmF5CiBQQVNTIHdlYkdMQXJyYXkgaXMgYXJyYXkKIFBBU1Mgd2ViR0xBcnJheVswXSBp
cyBhcnJheVswXQpAQCAtODcsNiArMTM3LDE2IEBAIFBBU1Mgd2ViR0xBcnJheVswXSBpcyBhcnJh
eVswXQogUEFTUyB3ZWJHTEFycmF5LmdldCgwKSBpcyBhcnJheVswXQogUEFTUyB3ZWJHTEFycmF5
WzFdIGlzIGFycmF5WzFdCiBQQVNTIHdlYkdMQXJyYXkuZ2V0KDEpIGlzIGFycmF5WzFdCitQQVNT
IHdlYkdMQXJyYXlbMl0gaXMgODgKK1BBU1Mgd2ViR0xBcnJheVszXSBpcyA5OQorUEFTUyB3ZWJH
TEFycmF5WzFdIGlzIDg4CitQQVNTIHdlYkdMQXJyYXlbMl0gaXMgOTkKK1BBU1MgYXJyYXlbMF0g
aXMgOTkKK1BBU1MgYXJyYXlbMV0gaXMgOTkKK1BBU1Mgd2ViR0xBcnJheVszXSBpcyA5OQorUEFT
UyB3ZWJHTEFycmF5WzRdIGlzIDc3CitQQVNTIGFycmF5WzBdIGlzIDk5CitQQVNTIGFycmF5WzBd
IGlzIDk5CiBUZXN0aW5nIFdlYkdMRmxvYXRBcnJheQogUEFTUyB3ZWJHTEFycmF5IGlzIGFycmF5
CiBQQVNTIHdlYkdMQXJyYXlbMF0gaXMgYXJyYXlbMF0KQEAgLTEwMSw2ICsxNjEsMTYgQEAgUEFT
UyB3ZWJHTEFycmF5WzBdIGlzIGFycmF5WzBdCiBQQVNTIHdlYkdMQXJyYXkuZ2V0KDApIGlzIGFy
cmF5WzBdCiBQQVNTIHdlYkdMQXJyYXlbMV0gaXMgYXJyYXlbMV0KIFBBU1Mgd2ViR0xBcnJheS5n
ZXQoMSkgaXMgYXJyYXlbMV0KK1BBU1Mgd2ViR0xBcnJheVsyXSBpcyA4OAorUEFTUyB3ZWJHTEFy
cmF5WzNdIGlzIDk5CitQQVNTIHdlYkdMQXJyYXlbMV0gaXMgODgKK1BBU1Mgd2ViR0xBcnJheVsy
XSBpcyA5OQorUEFTUyBhcnJheVswXSBpcyA5OQorUEFTUyBhcnJheVsxXSBpcyA5OQorUEFTUyB3
ZWJHTEFycmF5WzNdIGlzIDk5CitQQVNTIHdlYkdMQXJyYXlbNF0gaXMgNzcKK1BBU1MgYXJyYXlb
MF0gaXMgOTkKK1BBU1MgYXJyYXlbMF0gaXMgOTkKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKIAogVEVTVCBDT01QTEVURQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2Vi
Z2wvYXJyYXktc2V0dGVycy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3dlYmdsL2FycmF5LXNldHRlcnMuaHRtbAkocmV2aXNpb24gNTY0NDYpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9hcnJheS1zZXR0ZXJzLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTM5LDYgKzM5LDI5IEBAIGZ1bmN0aW9uIHRlc3RTZXR0ZXJzKHR5cGVOYW1lLCBsb3csIGhp
Z2gKICAgICB3ZWJHTEFycmF5LnNldCgxLCBhcnJheVsxXSk7CiAgICAgc2hvdWxkQmUoIndlYkdM
QXJyYXlbMV0iLCAiYXJyYXlbMV0iKTsKICAgICBzaG91bGRCZSgid2ViR0xBcnJheS5nZXQoMSki
LCAiYXJyYXlbMV0iKTsKKworICAgIC8vIFZlcmlmeSBzZXQoKSBiZWhhdmVzIGNvcnJlY3RseSB3
aXRoIHNoYXJlZCB1bmRlcmx5aW5nIGJ1ZmZlci4gCisgICAgYXJyYXkgPSBbMCwgMSwgMiwgMywg
NCwgNV07CisgICAgd2ViR0xBcnJheSA9IG5ldyB0eXBlKDYpOworICAgIHdlYkdMQXJyYXkuc2V0
KGFycmF5KTsKKyAgICBhcnJheSA9IHdlYkdMQXJyYXkuc2xpY2UoMiwgNCk7CisgICAgYXJyYXlb
MF0gPSA4ODsKKyAgICBhcnJheVsxXSA9IDk5OworICAgIHNob3VsZEJlKCJ3ZWJHTEFycmF5WzJd
IiwgIjg4Iik7CisgICAgc2hvdWxkQmUoIndlYkdMQXJyYXlbM10iLCAiOTkiKTsKKyAgICAvLyBw
cmUtb3ZlcmxhcAorICAgIHdlYkdMQXJyYXkuc2V0KGFycmF5LCAxKTsKKyAgICBzaG91bGRCZSgi
d2ViR0xBcnJheVsxXSIsICI4OCIpOworICAgIHNob3VsZEJlKCJ3ZWJHTEFycmF5WzJdIiwgIjk5
Iik7CisgICAgc2hvdWxkQmUoImFycmF5WzBdIiwgIjk5Iik7CisgICAgc2hvdWxkQmUoImFycmF5
WzFdIiwgIjk5Iik7CisgICAgYXJyYXlbMV0gPSA3NzsKKyAgICAvLyBwb3N0LW92ZXJsYXAKKyAg
ICB3ZWJHTEFycmF5LnNldChhcnJheSwgMyk7CisgICAgc2hvdWxkQmUoIndlYkdMQXJyYXlbM10i
LCAiOTkiKTsKKyAgICBzaG91bGRCZSgid2ViR0xBcnJheVs0XSIsICI3NyIpOworICAgIHNob3Vs
ZEJlKCJhcnJheVswXSIsICI5OSIpOworICAgIHNob3VsZEJlKCJhcnJheVswXSIsICI5OSIpOwog
fQogCiB0ZXN0U2V0dGVycygiV2ViR0xCeXRlQXJyYXkiLCAtMTI4LCAxMjcpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51655</attachid>
            <date>2010-03-25 10:21:34 -0700</date>
            <delta_ts>2010-03-30 18:22:04 -0700</delta_ts>
            <desc>revised patch: add explanation in the changeLog.</desc>
            <filename>arraySet.patch</filename>
            <type>text/plain</type>
            <size>6837</size>
            <attacher name="Zhenyao Mo">zmo</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NjQ2MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTAtMDMtMjQgIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1l
bnQgbWVtbW92ZSBiZWhhdmlvciBmb3IgV2ViR0xBcnJheSBzZXQoKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU2MTkKKworICAgICAgICBOZXcgdGVz
dCBjYXNlcyBhcmUgYWRkZWQgdG8gZmFzdC9jYW52YXMvd2ViZ2wvYXJyYXktc2V0dGVycy5odG1s
LgorCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xBcnJheS5jcHA6IFVzZSBtZW1tb3ZlIGlu
c3RlYWQgb2YgbWVtY3B5OyB3aXRoIG1lbW1vdmUsIGNvcHlpbmcgdGFrZXMgcGxhY2UgYXMgaWYg
YW4gaW50ZXJtZWRpYXRlIGJ1ZmZlciB3YXMgdXNlZCwgYWxsb3dpbmcgdGhlIGRlc3RpbmF0aW9u
IGFuZCBzb3VyY2UgdG8gb3ZlcmxhcC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMQXJyYXk6OnNl
dEltcGwpOgorCiAyMDEwLTAzLTIzICBFdmFuIE1hcnRpbiAgPGV2YW5AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IERtaXRyeSBUaXRvdi4KSW5kZXg6IFdlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xBcnJheS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTEFycmF5LmNwcAkocmV2aXNpb24gNTY0NDYpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMQXJyYXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NSw3ICs1NSw3IEBAIHZvaWQgV2ViR0xB
cnJheTo6c2V0SW1wbChXZWJHTEFycmF5KiBhcnIKICAgICB9CiAKICAgICBjaGFyKiBiYXNlID0g
c3RhdGljX2Nhc3Q8Y2hhcio+KGJhc2VBZGRyZXNzKCkpOwotICAgIG1lbWNweShiYXNlICsgYnl0
ZU9mZnNldCwgYXJyYXktPmJhc2VBZGRyZXNzKCksIGFycmF5LT5ieXRlTGVuZ3RoKCkpOworICAg
IG1lbW1vdmUoYmFzZSArIGJ5dGVPZmZzZXQsIGFycmF5LT5iYXNlQWRkcmVzcygpLCBhcnJheS0+
Ynl0ZUxlbmd0aCgpKTsKIH0KIAogdm9pZCBXZWJHTEFycmF5OjpjYWxjdWxhdGVPZmZzZXRBbmRM
ZW5ndGgoaW50IHN0YXJ0LCBpbnQgZW5kLCB1bnNpZ25lZCBhcnJheVNpemUsCkluZGV4OiBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiA1NjQ2MCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDEwLTAzLTI0ICBaaGVueWFvIE1vICA8em1vQGdvb2dsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVt
ZW50IG1lbW1vdmUgYmVoYXZpb3IgZm9yIFdlYkdMQXJyYXkgc2V0KCkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1NjE5CisKKyAgICAgICAgKiBmYXN0
L2NhbnZhcy93ZWJnbC9hcnJheS1zZXR0ZXJzLWV4cGVjdGVkLnR4dDogVGVzdGluZyBzaGFyZWQg
b3ZlcmxhcHBpbmcgYnVmZmVyIHNldCgpIGJlaGF2aW9ycy4KKyAgICAgICAgKiBmYXN0L2NhbnZh
cy93ZWJnbC9hcnJheS1zZXR0ZXJzLmh0bWw6IERpdHRvLgorCiAyMDEwLTAzLTIzICBFdmFuIE1h
cnRpbiAgPGV2YW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERtaXRyeSBU
aXRvdi4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2FycmF5LXNldHRlcnMt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L2FycmF5LXNldHRlcnMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1NjQ0NikKKysrIExheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3dlYmdsL2FycmF5LXNldHRlcnMtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xNyw2ICsxNywxNiBAQCBQQVNTIHdlYkdMQXJyYXlbMF0gaXMgYXJyYXlbMF0K
IFBBU1Mgd2ViR0xBcnJheS5nZXQoMCkgaXMgYXJyYXlbMF0KIFBBU1Mgd2ViR0xBcnJheVsxXSBp
cyBhcnJheVsxXQogUEFTUyB3ZWJHTEFycmF5LmdldCgxKSBpcyBhcnJheVsxXQorUEFTUyB3ZWJH
TEFycmF5WzJdIGlzIDg4CitQQVNTIHdlYkdMQXJyYXlbM10gaXMgOTkKK1BBU1Mgd2ViR0xBcnJh
eVsxXSBpcyA4OAorUEFTUyB3ZWJHTEFycmF5WzJdIGlzIDk5CitQQVNTIGFycmF5WzBdIGlzIDk5
CitQQVNTIGFycmF5WzFdIGlzIDk5CitQQVNTIHdlYkdMQXJyYXlbM10gaXMgOTkKK1BBU1Mgd2Vi
R0xBcnJheVs0XSBpcyA3NworUEFTUyBhcnJheVswXSBpcyA5OQorUEFTUyBhcnJheVswXSBpcyA5
OQogVGVzdGluZyBXZWJHTFVuc2lnbmVkQnl0ZUFycmF5CiBQQVNTIHdlYkdMQXJyYXkgaXMgYXJy
YXkKIFBBU1Mgd2ViR0xBcnJheVswXSBpcyBhcnJheVswXQpAQCAtMzEsNiArNDEsMTYgQEAgUEFT
UyB3ZWJHTEFycmF5WzBdIGlzIGFycmF5WzBdCiBQQVNTIHdlYkdMQXJyYXkuZ2V0KDApIGlzIGFy
cmF5WzBdCiBQQVNTIHdlYkdMQXJyYXlbMV0gaXMgYXJyYXlbMV0KIFBBU1Mgd2ViR0xBcnJheS5n
ZXQoMSkgaXMgYXJyYXlbMV0KK1BBU1Mgd2ViR0xBcnJheVsyXSBpcyA4OAorUEFTUyB3ZWJHTEFy
cmF5WzNdIGlzIDk5CitQQVNTIHdlYkdMQXJyYXlbMV0gaXMgODgKK1BBU1Mgd2ViR0xBcnJheVsy
XSBpcyA5OQorUEFTUyBhcnJheVswXSBpcyA5OQorUEFTUyBhcnJheVsxXSBpcyA5OQorUEFTUyB3
ZWJHTEFycmF5WzNdIGlzIDk5CitQQVNTIHdlYkdMQXJyYXlbNF0gaXMgNzcKK1BBU1MgYXJyYXlb
MF0gaXMgOTkKK1BBU1MgYXJyYXlbMF0gaXMgOTkKIFRlc3RpbmcgV2ViR0xTaG9ydEFycmF5CiBQ
QVNTIHdlYkdMQXJyYXkgaXMgYXJyYXkKIFBBU1Mgd2ViR0xBcnJheVswXSBpcyBhcnJheVswXQpA
QCAtNDUsNiArNjUsMTYgQEAgUEFTUyB3ZWJHTEFycmF5WzBdIGlzIGFycmF5WzBdCiBQQVNTIHdl
YkdMQXJyYXkuZ2V0KDApIGlzIGFycmF5WzBdCiBQQVNTIHdlYkdMQXJyYXlbMV0gaXMgYXJyYXlb
MV0KIFBBU1Mgd2ViR0xBcnJheS5nZXQoMSkgaXMgYXJyYXlbMV0KK1BBU1Mgd2ViR0xBcnJheVsy
XSBpcyA4OAorUEFTUyB3ZWJHTEFycmF5WzNdIGlzIDk5CitQQVNTIHdlYkdMQXJyYXlbMV0gaXMg
ODgKK1BBU1Mgd2ViR0xBcnJheVsyXSBpcyA5OQorUEFTUyBhcnJheVswXSBpcyA5OQorUEFTUyBh
cnJheVsxXSBpcyA5OQorUEFTUyB3ZWJHTEFycmF5WzNdIGlzIDk5CitQQVNTIHdlYkdMQXJyYXlb
NF0gaXMgNzcKK1BBU1MgYXJyYXlbMF0gaXMgOTkKK1BBU1MgYXJyYXlbMF0gaXMgOTkKIFRlc3Rp
bmcgV2ViR0xVbnNpZ25lZFNob3J0QXJyYXkKIFBBU1Mgd2ViR0xBcnJheSBpcyBhcnJheQogUEFT
UyB3ZWJHTEFycmF5WzBdIGlzIGFycmF5WzBdCkBAIC01OSw2ICs4OSwxNiBAQCBQQVNTIHdlYkdM
QXJyYXlbMF0gaXMgYXJyYXlbMF0KIFBBU1Mgd2ViR0xBcnJheS5nZXQoMCkgaXMgYXJyYXlbMF0K
IFBBU1Mgd2ViR0xBcnJheVsxXSBpcyBhcnJheVsxXQogUEFTUyB3ZWJHTEFycmF5LmdldCgxKSBp
cyBhcnJheVsxXQorUEFTUyB3ZWJHTEFycmF5WzJdIGlzIDg4CitQQVNTIHdlYkdMQXJyYXlbM10g
aXMgOTkKK1BBU1Mgd2ViR0xBcnJheVsxXSBpcyA4OAorUEFTUyB3ZWJHTEFycmF5WzJdIGlzIDk5
CitQQVNTIGFycmF5WzBdIGlzIDk5CitQQVNTIGFycmF5WzFdIGlzIDk5CitQQVNTIHdlYkdMQXJy
YXlbM10gaXMgOTkKK1BBU1Mgd2ViR0xBcnJheVs0XSBpcyA3NworUEFTUyBhcnJheVswXSBpcyA5
OQorUEFTUyBhcnJheVswXSBpcyA5OQogVGVzdGluZyBXZWJHTEludEFycmF5CiBQQVNTIHdlYkdM
QXJyYXkgaXMgYXJyYXkKIFBBU1Mgd2ViR0xBcnJheVswXSBpcyBhcnJheVswXQpAQCAtNzMsNiAr
MTEzLDE2IEBAIFBBU1Mgd2ViR0xBcnJheVswXSBpcyBhcnJheVswXQogUEFTUyB3ZWJHTEFycmF5
LmdldCgwKSBpcyBhcnJheVswXQogUEFTUyB3ZWJHTEFycmF5WzFdIGlzIGFycmF5WzFdCiBQQVNT
IHdlYkdMQXJyYXkuZ2V0KDEpIGlzIGFycmF5WzFdCitQQVNTIHdlYkdMQXJyYXlbMl0gaXMgODgK
K1BBU1Mgd2ViR0xBcnJheVszXSBpcyA5OQorUEFTUyB3ZWJHTEFycmF5WzFdIGlzIDg4CitQQVNT
IHdlYkdMQXJyYXlbMl0gaXMgOTkKK1BBU1MgYXJyYXlbMF0gaXMgOTkKK1BBU1MgYXJyYXlbMV0g
aXMgOTkKK1BBU1Mgd2ViR0xBcnJheVszXSBpcyA5OQorUEFTUyB3ZWJHTEFycmF5WzRdIGlzIDc3
CitQQVNTIGFycmF5WzBdIGlzIDk5CitQQVNTIGFycmF5WzBdIGlzIDk5CiBUZXN0aW5nIFdlYkdM
VW5zaWduZWRJbnRBcnJheQogUEFTUyB3ZWJHTEFycmF5IGlzIGFycmF5CiBQQVNTIHdlYkdMQXJy
YXlbMF0gaXMgYXJyYXlbMF0KQEAgLTg3LDYgKzEzNywxNiBAQCBQQVNTIHdlYkdMQXJyYXlbMF0g
aXMgYXJyYXlbMF0KIFBBU1Mgd2ViR0xBcnJheS5nZXQoMCkgaXMgYXJyYXlbMF0KIFBBU1Mgd2Vi
R0xBcnJheVsxXSBpcyBhcnJheVsxXQogUEFTUyB3ZWJHTEFycmF5LmdldCgxKSBpcyBhcnJheVsx
XQorUEFTUyB3ZWJHTEFycmF5WzJdIGlzIDg4CitQQVNTIHdlYkdMQXJyYXlbM10gaXMgOTkKK1BB
U1Mgd2ViR0xBcnJheVsxXSBpcyA4OAorUEFTUyB3ZWJHTEFycmF5WzJdIGlzIDk5CitQQVNTIGFy
cmF5WzBdIGlzIDk5CitQQVNTIGFycmF5WzFdIGlzIDk5CitQQVNTIHdlYkdMQXJyYXlbM10gaXMg
OTkKK1BBU1Mgd2ViR0xBcnJheVs0XSBpcyA3NworUEFTUyBhcnJheVswXSBpcyA5OQorUEFTUyBh
cnJheVswXSBpcyA5OQogVGVzdGluZyBXZWJHTEZsb2F0QXJyYXkKIFBBU1Mgd2ViR0xBcnJheSBp
cyBhcnJheQogUEFTUyB3ZWJHTEFycmF5WzBdIGlzIGFycmF5WzBdCkBAIC0xMDEsNiArMTYxLDE2
IEBAIFBBU1Mgd2ViR0xBcnJheVswXSBpcyBhcnJheVswXQogUEFTUyB3ZWJHTEFycmF5LmdldCgw
KSBpcyBhcnJheVswXQogUEFTUyB3ZWJHTEFycmF5WzFdIGlzIGFycmF5WzFdCiBQQVNTIHdlYkdM
QXJyYXkuZ2V0KDEpIGlzIGFycmF5WzFdCitQQVNTIHdlYkdMQXJyYXlbMl0gaXMgODgKK1BBU1Mg
d2ViR0xBcnJheVszXSBpcyA5OQorUEFTUyB3ZWJHTEFycmF5WzFdIGlzIDg4CitQQVNTIHdlYkdM
QXJyYXlbMl0gaXMgOTkKK1BBU1MgYXJyYXlbMF0gaXMgOTkKK1BBU1MgYXJyYXlbMV0gaXMgOTkK
K1BBU1Mgd2ViR0xBcnJheVszXSBpcyA5OQorUEFTUyB3ZWJHTEFycmF5WzRdIGlzIDc3CitQQVNT
IGFycmF5WzBdIGlzIDk5CitQQVNTIGFycmF5WzBdIGlzIDk5CiBQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3dlYmdsL2FycmF5LXNldHRlcnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy93ZWJnbC9hcnJheS1zZXR0ZXJzLmh0bWwJKHJldmlzaW9uIDU2NDQ2KQorKysg
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvYXJyYXktc2V0dGVycy5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0zOSw2ICszOSwyOSBAQCBmdW5jdGlvbiB0ZXN0U2V0dGVycyh0eXBlTmFtZSwg
bG93LCBoaWdoCiAgICAgd2ViR0xBcnJheS5zZXQoMSwgYXJyYXlbMV0pOwogICAgIHNob3VsZEJl
KCJ3ZWJHTEFycmF5WzFdIiwgImFycmF5WzFdIik7CiAgICAgc2hvdWxkQmUoIndlYkdMQXJyYXku
Z2V0KDEpIiwgImFycmF5WzFdIik7CisKKyAgICAvLyBWZXJpZnkgc2V0KCkgYmVoYXZlcyBjb3Jy
ZWN0bHkgd2l0aCBzaGFyZWQgdW5kZXJseWluZyBidWZmZXIuIAorICAgIGFycmF5ID0gWzAsIDEs
IDIsIDMsIDQsIDVdOworICAgIHdlYkdMQXJyYXkgPSBuZXcgdHlwZSg2KTsKKyAgICB3ZWJHTEFy
cmF5LnNldChhcnJheSk7CisgICAgYXJyYXkgPSB3ZWJHTEFycmF5LnNsaWNlKDIsIDQpOworICAg
IGFycmF5WzBdID0gODg7CisgICAgYXJyYXlbMV0gPSA5OTsKKyAgICBzaG91bGRCZSgid2ViR0xB
cnJheVsyXSIsICI4OCIpOworICAgIHNob3VsZEJlKCJ3ZWJHTEFycmF5WzNdIiwgIjk5Iik7Cisg
ICAgLy8gcHJlLW92ZXJsYXAKKyAgICB3ZWJHTEFycmF5LnNldChhcnJheSwgMSk7CisgICAgc2hv
dWxkQmUoIndlYkdMQXJyYXlbMV0iLCAiODgiKTsKKyAgICBzaG91bGRCZSgid2ViR0xBcnJheVsy
XSIsICI5OSIpOworICAgIHNob3VsZEJlKCJhcnJheVswXSIsICI5OSIpOworICAgIHNob3VsZEJl
KCJhcnJheVsxXSIsICI5OSIpOworICAgIGFycmF5WzFdID0gNzc7CisgICAgLy8gcG9zdC1vdmVy
bGFwCisgICAgd2ViR0xBcnJheS5zZXQoYXJyYXksIDMpOworICAgIHNob3VsZEJlKCJ3ZWJHTEFy
cmF5WzNdIiwgIjk5Iik7CisgICAgc2hvdWxkQmUoIndlYkdMQXJyYXlbNF0iLCAiNzciKTsKKyAg
ICBzaG91bGRCZSgiYXJyYXlbMF0iLCAiOTkiKTsKKyAgICBzaG91bGRCZSgiYXJyYXlbMF0iLCAi
OTkiKTsKIH0KIAogdGVzdFNldHRlcnMoIldlYkdMQnl0ZUFycmF5IiwgLTEyOCwgMTI3KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52113</attachid>
            <date>2010-03-30 18:22:04 -0700</date>
            <delta_ts>2010-03-31 03:26:44 -0700</delta_ts>
            <desc>revised patch : fixed the typo Ken Russell pointed out</desc>
            <filename>arraySet.patch</filename>
            <type>text/plain</type>
            <size>6837</size>
            <attacher name="Zhenyao Mo">zmo</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NjQ2MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTAtMDMtMjQgIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1l
bnQgbWVtbW92ZSBiZWhhdmlvciBmb3IgV2ViR0xBcnJheSBzZXQoKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU2MTkKKworICAgICAgICBOZXcgdGVz
dCBjYXNlcyBhcmUgYWRkZWQgdG8gZmFzdC9jYW52YXMvd2ViZ2wvYXJyYXktc2V0dGVycy5odG1s
LgorCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xBcnJheS5jcHA6IFVzZSBtZW1tb3ZlIGlu
c3RlYWQgb2YgbWVtY3B5OyB3aXRoIG1lbW1vdmUsIGNvcHlpbmcgdGFrZXMgcGxhY2UgYXMgaWYg
YW4gaW50ZXJtZWRpYXRlIGJ1ZmZlciB3YXMgdXNlZCwgYWxsb3dpbmcgdGhlIGRlc3RpbmF0aW9u
IGFuZCBzb3VyY2UgdG8gb3ZlcmxhcC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMQXJyYXk6OnNl
dEltcGwpOgorCiAyMDEwLTAzLTIzICBFdmFuIE1hcnRpbiAgPGV2YW5AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IERtaXRyeSBUaXRvdi4KSW5kZXg6IFdlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xBcnJheS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTEFycmF5LmNwcAkocmV2aXNpb24gNTY0NDYpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMQXJyYXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NSw3ICs1NSw3IEBAIHZvaWQgV2ViR0xB
cnJheTo6c2V0SW1wbChXZWJHTEFycmF5KiBhcnIKICAgICB9CiAKICAgICBjaGFyKiBiYXNlID0g
c3RhdGljX2Nhc3Q8Y2hhcio+KGJhc2VBZGRyZXNzKCkpOwotICAgIG1lbWNweShiYXNlICsgYnl0
ZU9mZnNldCwgYXJyYXktPmJhc2VBZGRyZXNzKCksIGFycmF5LT5ieXRlTGVuZ3RoKCkpOworICAg
IG1lbW1vdmUoYmFzZSArIGJ5dGVPZmZzZXQsIGFycmF5LT5iYXNlQWRkcmVzcygpLCBhcnJheS0+
Ynl0ZUxlbmd0aCgpKTsKIH0KIAogdm9pZCBXZWJHTEFycmF5OjpjYWxjdWxhdGVPZmZzZXRBbmRM
ZW5ndGgoaW50IHN0YXJ0LCBpbnQgZW5kLCB1bnNpZ25lZCBhcnJheVNpemUsCkluZGV4OiBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiA1NjQ2MCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDEwLTAzLTI0ICBaaGVueWFvIE1vICA8em1vQGdvb2dsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVt
ZW50IG1lbW1vdmUgYmVoYXZpb3IgZm9yIFdlYkdMQXJyYXkgc2V0KCkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1NjE5CisKKyAgICAgICAgKiBmYXN0
L2NhbnZhcy93ZWJnbC9hcnJheS1zZXR0ZXJzLWV4cGVjdGVkLnR4dDogVGVzdGluZyBzaGFyZWQg
b3ZlcmxhcHBpbmcgYnVmZmVyIHNldCgpIGJlaGF2aW9ycy4KKyAgICAgICAgKiBmYXN0L2NhbnZh
cy93ZWJnbC9hcnJheS1zZXR0ZXJzLmh0bWw6IERpdHRvLgorCiAyMDEwLTAzLTIzICBFdmFuIE1h
cnRpbiAgPGV2YW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERtaXRyeSBU
aXRvdi4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2FycmF5LXNldHRlcnMt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L2FycmF5LXNldHRlcnMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1NjQ0NikKKysrIExheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3dlYmdsL2FycmF5LXNldHRlcnMtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xNyw2ICsxNywxNiBAQCBQQVNTIHdlYkdMQXJyYXlbMF0gaXMgYXJyYXlbMF0K
IFBBU1Mgd2ViR0xBcnJheS5nZXQoMCkgaXMgYXJyYXlbMF0KIFBBU1Mgd2ViR0xBcnJheVsxXSBp
cyBhcnJheVsxXQogUEFTUyB3ZWJHTEFycmF5LmdldCgxKSBpcyBhcnJheVsxXQorUEFTUyB3ZWJH
TEFycmF5WzJdIGlzIDg4CitQQVNTIHdlYkdMQXJyYXlbM10gaXMgOTkKK1BBU1Mgd2ViR0xBcnJh
eVsxXSBpcyA4OAorUEFTUyB3ZWJHTEFycmF5WzJdIGlzIDk5CitQQVNTIGFycmF5WzBdIGlzIDk5
CitQQVNTIGFycmF5WzFdIGlzIDk5CitQQVNTIHdlYkdMQXJyYXlbM10gaXMgOTkKK1BBU1Mgd2Vi
R0xBcnJheVs0XSBpcyA3NworUEFTUyBhcnJheVswXSBpcyA5OQorUEFTUyBhcnJheVsxXSBpcyA5
OQogVGVzdGluZyBXZWJHTFVuc2lnbmVkQnl0ZUFycmF5CiBQQVNTIHdlYkdMQXJyYXkgaXMgYXJy
YXkKIFBBU1Mgd2ViR0xBcnJheVswXSBpcyBhcnJheVswXQpAQCAtMzEsNiArNDEsMTYgQEAgUEFT
UyB3ZWJHTEFycmF5WzBdIGlzIGFycmF5WzBdCiBQQVNTIHdlYkdMQXJyYXkuZ2V0KDApIGlzIGFy
cmF5WzBdCiBQQVNTIHdlYkdMQXJyYXlbMV0gaXMgYXJyYXlbMV0KIFBBU1Mgd2ViR0xBcnJheS5n
ZXQoMSkgaXMgYXJyYXlbMV0KK1BBU1Mgd2ViR0xBcnJheVsyXSBpcyA4OAorUEFTUyB3ZWJHTEFy
cmF5WzNdIGlzIDk5CitQQVNTIHdlYkdMQXJyYXlbMV0gaXMgODgKK1BBU1Mgd2ViR0xBcnJheVsy
XSBpcyA5OQorUEFTUyBhcnJheVswXSBpcyA5OQorUEFTUyBhcnJheVsxXSBpcyA5OQorUEFTUyB3
ZWJHTEFycmF5WzNdIGlzIDk5CitQQVNTIHdlYkdMQXJyYXlbNF0gaXMgNzcKK1BBU1MgYXJyYXlb
MF0gaXMgOTkKK1BBU1MgYXJyYXlbMV0gaXMgOTkKIFRlc3RpbmcgV2ViR0xTaG9ydEFycmF5CiBQ
QVNTIHdlYkdMQXJyYXkgaXMgYXJyYXkKIFBBU1Mgd2ViR0xBcnJheVswXSBpcyBhcnJheVswXQpA
QCAtNDUsNiArNjUsMTYgQEAgUEFTUyB3ZWJHTEFycmF5WzBdIGlzIGFycmF5WzBdCiBQQVNTIHdl
YkdMQXJyYXkuZ2V0KDApIGlzIGFycmF5WzBdCiBQQVNTIHdlYkdMQXJyYXlbMV0gaXMgYXJyYXlb
MV0KIFBBU1Mgd2ViR0xBcnJheS5nZXQoMSkgaXMgYXJyYXlbMV0KK1BBU1Mgd2ViR0xBcnJheVsy
XSBpcyA4OAorUEFTUyB3ZWJHTEFycmF5WzNdIGlzIDk5CitQQVNTIHdlYkdMQXJyYXlbMV0gaXMg
ODgKK1BBU1Mgd2ViR0xBcnJheVsyXSBpcyA5OQorUEFTUyBhcnJheVswXSBpcyA5OQorUEFTUyBh
cnJheVsxXSBpcyA5OQorUEFTUyB3ZWJHTEFycmF5WzNdIGlzIDk5CitQQVNTIHdlYkdMQXJyYXlb
NF0gaXMgNzcKK1BBU1MgYXJyYXlbMF0gaXMgOTkKK1BBU1MgYXJyYXlbMV0gaXMgOTkKIFRlc3Rp
bmcgV2ViR0xVbnNpZ25lZFNob3J0QXJyYXkKIFBBU1Mgd2ViR0xBcnJheSBpcyBhcnJheQogUEFT
UyB3ZWJHTEFycmF5WzBdIGlzIGFycmF5WzBdCkBAIC01OSw2ICs4OSwxNiBAQCBQQVNTIHdlYkdM
QXJyYXlbMF0gaXMgYXJyYXlbMF0KIFBBU1Mgd2ViR0xBcnJheS5nZXQoMCkgaXMgYXJyYXlbMF0K
IFBBU1Mgd2ViR0xBcnJheVsxXSBpcyBhcnJheVsxXQogUEFTUyB3ZWJHTEFycmF5LmdldCgxKSBp
cyBhcnJheVsxXQorUEFTUyB3ZWJHTEFycmF5WzJdIGlzIDg4CitQQVNTIHdlYkdMQXJyYXlbM10g
aXMgOTkKK1BBU1Mgd2ViR0xBcnJheVsxXSBpcyA4OAorUEFTUyB3ZWJHTEFycmF5WzJdIGlzIDk5
CitQQVNTIGFycmF5WzBdIGlzIDk5CitQQVNTIGFycmF5WzFdIGlzIDk5CitQQVNTIHdlYkdMQXJy
YXlbM10gaXMgOTkKK1BBU1Mgd2ViR0xBcnJheVs0XSBpcyA3NworUEFTUyBhcnJheVswXSBpcyA5
OQorUEFTUyBhcnJheVsxXSBpcyA5OQogVGVzdGluZyBXZWJHTEludEFycmF5CiBQQVNTIHdlYkdM
QXJyYXkgaXMgYXJyYXkKIFBBU1Mgd2ViR0xBcnJheVswXSBpcyBhcnJheVswXQpAQCAtNzMsNiAr
MTEzLDE2IEBAIFBBU1Mgd2ViR0xBcnJheVswXSBpcyBhcnJheVswXQogUEFTUyB3ZWJHTEFycmF5
LmdldCgwKSBpcyBhcnJheVswXQogUEFTUyB3ZWJHTEFycmF5WzFdIGlzIGFycmF5WzFdCiBQQVNT
IHdlYkdMQXJyYXkuZ2V0KDEpIGlzIGFycmF5WzFdCitQQVNTIHdlYkdMQXJyYXlbMl0gaXMgODgK
K1BBU1Mgd2ViR0xBcnJheVszXSBpcyA5OQorUEFTUyB3ZWJHTEFycmF5WzFdIGlzIDg4CitQQVNT
IHdlYkdMQXJyYXlbMl0gaXMgOTkKK1BBU1MgYXJyYXlbMF0gaXMgOTkKK1BBU1MgYXJyYXlbMV0g
aXMgOTkKK1BBU1Mgd2ViR0xBcnJheVszXSBpcyA5OQorUEFTUyB3ZWJHTEFycmF5WzRdIGlzIDc3
CitQQVNTIGFycmF5WzBdIGlzIDk5CitQQVNTIGFycmF5WzFdIGlzIDk5CiBUZXN0aW5nIFdlYkdM
VW5zaWduZWRJbnRBcnJheQogUEFTUyB3ZWJHTEFycmF5IGlzIGFycmF5CiBQQVNTIHdlYkdMQXJy
YXlbMF0gaXMgYXJyYXlbMF0KQEAgLTg3LDYgKzEzNywxNiBAQCBQQVNTIHdlYkdMQXJyYXlbMF0g
aXMgYXJyYXlbMF0KIFBBU1Mgd2ViR0xBcnJheS5nZXQoMCkgaXMgYXJyYXlbMF0KIFBBU1Mgd2Vi
R0xBcnJheVsxXSBpcyBhcnJheVsxXQogUEFTUyB3ZWJHTEFycmF5LmdldCgxKSBpcyBhcnJheVsx
XQorUEFTUyB3ZWJHTEFycmF5WzJdIGlzIDg4CitQQVNTIHdlYkdMQXJyYXlbM10gaXMgOTkKK1BB
U1Mgd2ViR0xBcnJheVsxXSBpcyA4OAorUEFTUyB3ZWJHTEFycmF5WzJdIGlzIDk5CitQQVNTIGFy
cmF5WzBdIGlzIDk5CitQQVNTIGFycmF5WzFdIGlzIDk5CitQQVNTIHdlYkdMQXJyYXlbM10gaXMg
OTkKK1BBU1Mgd2ViR0xBcnJheVs0XSBpcyA3NworUEFTUyBhcnJheVswXSBpcyA5OQorUEFTUyBh
cnJheVsxXSBpcyA5OQogVGVzdGluZyBXZWJHTEZsb2F0QXJyYXkKIFBBU1Mgd2ViR0xBcnJheSBp
cyBhcnJheQogUEFTUyB3ZWJHTEFycmF5WzBdIGlzIGFycmF5WzBdCkBAIC0xMDEsNiArMTYxLDE2
IEBAIFBBU1Mgd2ViR0xBcnJheVswXSBpcyBhcnJheVswXQogUEFTUyB3ZWJHTEFycmF5LmdldCgw
KSBpcyBhcnJheVswXQogUEFTUyB3ZWJHTEFycmF5WzFdIGlzIGFycmF5WzFdCiBQQVNTIHdlYkdM
QXJyYXkuZ2V0KDEpIGlzIGFycmF5WzFdCitQQVNTIHdlYkdMQXJyYXlbMl0gaXMgODgKK1BBU1Mg
d2ViR0xBcnJheVszXSBpcyA5OQorUEFTUyB3ZWJHTEFycmF5WzFdIGlzIDg4CitQQVNTIHdlYkdM
QXJyYXlbMl0gaXMgOTkKK1BBU1MgYXJyYXlbMF0gaXMgOTkKK1BBU1MgYXJyYXlbMV0gaXMgOTkK
K1BBU1Mgd2ViR0xBcnJheVszXSBpcyA5OQorUEFTUyB3ZWJHTEFycmF5WzRdIGlzIDc3CitQQVNT
IGFycmF5WzBdIGlzIDk5CitQQVNTIGFycmF5WzFdIGlzIDk5CiBQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3dlYmdsL2FycmF5LXNldHRlcnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy93ZWJnbC9hcnJheS1zZXR0ZXJzLmh0bWwJKHJldmlzaW9uIDU2NDQ2KQorKysg
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvYXJyYXktc2V0dGVycy5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0zOSw2ICszOSwyOSBAQCBmdW5jdGlvbiB0ZXN0U2V0dGVycyh0eXBlTmFtZSwg
bG93LCBoaWdoCiAgICAgd2ViR0xBcnJheS5zZXQoMSwgYXJyYXlbMV0pOwogICAgIHNob3VsZEJl
KCJ3ZWJHTEFycmF5WzFdIiwgImFycmF5WzFdIik7CiAgICAgc2hvdWxkQmUoIndlYkdMQXJyYXku
Z2V0KDEpIiwgImFycmF5WzFdIik7CisKKyAgICAvLyBWZXJpZnkgc2V0KCkgYmVoYXZlcyBjb3Jy
ZWN0bHkgd2l0aCBzaGFyZWQgdW5kZXJseWluZyBidWZmZXIuIAorICAgIGFycmF5ID0gWzAsIDEs
IDIsIDMsIDQsIDVdOworICAgIHdlYkdMQXJyYXkgPSBuZXcgdHlwZSg2KTsKKyAgICB3ZWJHTEFy
cmF5LnNldChhcnJheSk7CisgICAgYXJyYXkgPSB3ZWJHTEFycmF5LnNsaWNlKDIsIDQpOworICAg
IGFycmF5WzBdID0gODg7CisgICAgYXJyYXlbMV0gPSA5OTsKKyAgICBzaG91bGRCZSgid2ViR0xB
cnJheVsyXSIsICI4OCIpOworICAgIHNob3VsZEJlKCJ3ZWJHTEFycmF5WzNdIiwgIjk5Iik7Cisg
ICAgLy8gcHJlLW92ZXJsYXAKKyAgICB3ZWJHTEFycmF5LnNldChhcnJheSwgMSk7CisgICAgc2hv
dWxkQmUoIndlYkdMQXJyYXlbMV0iLCAiODgiKTsKKyAgICBzaG91bGRCZSgid2ViR0xBcnJheVsy
XSIsICI5OSIpOworICAgIHNob3VsZEJlKCJhcnJheVswXSIsICI5OSIpOworICAgIHNob3VsZEJl
KCJhcnJheVsxXSIsICI5OSIpOworICAgIGFycmF5WzFdID0gNzc7CisgICAgLy8gcG9zdC1vdmVy
bGFwCisgICAgd2ViR0xBcnJheS5zZXQoYXJyYXksIDMpOworICAgIHNob3VsZEJlKCJ3ZWJHTEFy
cmF5WzNdIiwgIjk5Iik7CisgICAgc2hvdWxkQmUoIndlYkdMQXJyYXlbNF0iLCAiNzciKTsKKyAg
ICBzaG91bGRCZSgiYXJyYXlbMF0iLCAiOTkiKTsKKyAgICBzaG91bGRCZSgiYXJyYXlbMV0iLCAi
OTkiKTsKIH0KIAogdGVzdFNldHRlcnMoIldlYkdMQnl0ZUFycmF5IiwgLTEyOCwgMTI3KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>