<?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>5266</bug_id>
          
          <creation_ts>2005-10-04 15:17:49 -0700</creation_ts>
          <short_desc>Support parenthesized comments in Date.parse()</short_desc>
          <delta_ts>2005-10-09 10:12:07 -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>JavaScriptCore</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>VERIFIED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.excite.com/</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>mitz</reporter>
          <assigned_to name="Maciej Stachowiak">mjs</assigned_to>
          <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>21367</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2005-10-04 15:17:49 -0700</bug_when>
    <thetext>Date.parse() should ignore comments in parentheses anywhere white space is allowed, following RFC 
2822. For example, Date.parse(&quot;Oct(ober)4 (today)1995 (10 years ago)&quot;) should be the same as Date.parse
(&quot;Oct 4 1995&quot;), and not NaN as it currently is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21369</commentid>
    <comment_count>1</comment_count>
    <who name="">mitz</who>
    <bug_when>2005-10-04 16:13:43 -0700</bug_when>
    <thetext>Actually, &quot;following RFC 2822&quot; would not be &quot;anywhere white space is allowed&quot;, but I think Firefox allows 
is more permissive than the RFC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21396</commentid>
    <comment_count>2</comment_count>
      <attachid>4209</attachid>
    <who name="">mitz</who>
    <bug_when>2005-10-05 03:13:07 -0700</bug_when>
    <thetext>Created attachment 4209
allow comments where spaces are allowed

This is more permissive than the RFC, to match Firefox</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21399</commentid>
    <comment_count>3</comment_count>
      <attachid>4211</attachid>
    <who name="">mitz</who>
    <bug_when>2005-10-05 03:52:01 -0700</bug_when>
    <thetext>Created attachment 4211
testcase for this</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21403</commentid>
    <comment_count>4</comment_count>
      <attachid>4209</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2005-10-05 08:10:47 -0700</bug_when>
    <thetext>Comment on attachment 4209
allow comments where spaces are allowed

Nice catch on this bug.

I have two concerns:

1) I think your logic is wrong -- it doesn&apos;t seem to support dates of the form
&quot;Wed (comment 1) (comment 2) Sep 28 2005&quot;, which FF does support. (Correct me
if I&apos;m wrong - I haven&apos;t tested.)

2) The nesting of the &amp;&amp;&apos;s and ||&apos;s at the end is pretty confusing at first
glance. I think this might work better:
    while ((ch = *s++)) {
	if (ch == &apos;(&apos;)
	    nesting++;
	else if (ch == &apos;)&apos;)
	    nesting--;
	else if (!isspace(ch) &amp;&amp; nesting == 0)
	    break;
    }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21404</commentid>
    <comment_count>5</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2005-10-05 08:11:20 -0700</bug_when>
    <thetext>PS I think you should add some &quot;Wed (comment 1) (comment 2) Sep 28 2005&quot; cases to the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21405</commentid>
    <comment_count>6</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2005-10-05 08:14:36 -0700</bug_when>
    <thetext>Actually, while (ch = *s++) won&apos;t work if there are no spaces or comments. Instead:

    while ((ch = *s)) {
	if (ch == &apos;(&apos;)
	    nesting++;
	else if (ch == &apos;)&apos;)
	    nesting--;
	else if (!isspace(ch) &amp;&amp; nesting == 0)
	    break;
        
        s++;
    }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21406</commentid>
    <comment_count>7</comment_count>
    <who name="">mitz</who>
    <bug_when>2005-10-05 08:22:46 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Nice catch on this bug.

Can&apos;t take credit for that, actually.

&gt; 1) I think your logic is wrong -- it doesn&apos;t seem to support dates of the form
&gt; &quot;Wed (comment 1) (comment 2) Sep 28 2005&quot;, which FF does support. (Correct me
&gt; if I&apos;m wrong - I haven&apos;t tested.)

Tested. It is supported. I&apos;ll add it to the test.

&gt; 	if (ch == &apos;(&apos;)
&gt; 	    nesting++;
&gt; 	else if (ch == &apos;)&apos;)
&gt; 	    nesting--;
&gt; 	else if (!isspace(ch) &amp;&amp; nesting == 0)
&gt; 	    break;

Is not good because it doesn&apos;t break if we encounter a &apos;)&apos; when nesting is 0.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21407</commentid>
    <comment_count>8</comment_count>
    <who name="">mitz</who>
    <bug_when>2005-10-05 08:32:47 -0700</bug_when>
    <thetext>Actually, while the patch allows
&quot;Wed (comment 1) (comment 2) Dec 25 1995 1:30 GMT&quot;
it doesn&apos;t allow
&quot;Wed(comment 1) (comment 2) Dec 25 1995 1:30 GMT&quot;
which Firefox does.

On the other hand, WebKit allows and Firefox rejects
&quot;Junk Dec 25 1995 1:30 GMT&quot;
while WebKit rejects and Firefox allows
&quot;We Dec 25 1995 1:30 GMT&quot;

The latter couple of cases seem to be outside the scope of this bug, though. I&apos;ll see what I can do about 
the Wed(comment) case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21413</commentid>
    <comment_count>9</comment_count>
      <attachid>4215</attachid>
    <who name="">mitz</who>
    <bug_when>2005-10-05 09:08:12 -0700</bug_when>
    <thetext>Created attachment 4215
revised patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21414</commentid>
    <comment_count>10</comment_count>
      <attachid>4216</attachid>
    <who name="">mitz</who>
    <bug_when>2005-10-05 09:09:46 -0700</bug_when>
    <thetext>Created attachment 4216
testcase

Added Wed(comment 1)... and We(comment 1)... cases</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21415</commentid>
    <comment_count>11</comment_count>
      <attachid>4215</attachid>
    <who name="">mitz</who>
    <bug_when>2005-10-05 09:14:35 -0700</bug_when>
    <thetext>Comment on attachment 4215
revised patch

Updated to allow comments between &quot;day of week&quot; and month. I didn&apos;t change
skipSpacesAndComments (see my previous comments).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21423</commentid>
    <comment_count>12</comment_count>
      <attachid>4215</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-10-05 10:07:21 -0700</bug_when>
    <thetext>Comment on attachment 4215
revised patch

I&apos;m surprised to learn that dates can include parenthesized comments, but this
is a very nice way to fix the bug.

Brace should be on the line after the function, but otherwise, looks good.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21424</commentid>
    <comment_count>13</comment_count>
      <attachid>4215</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2005-10-05 10:17:40 -0700</bug_when>
    <thetext>Comment on attachment 4215
revised patch

I&apos;m marking this R- so that nobody lands it yet -- Mitz and I discussed some
changes on IRC, and he&apos;ll submit a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21425</commentid>
    <comment_count>14</comment_count>
      <attachid>4217</attachid>
    <who name="">mitz</who>
    <bug_when>2005-10-05 10:19:11 -0700</bug_when>
    <thetext>Created attachment 4217
revised patch

Corrected style and also made skipSpacesAndComments more readable, as suggested
by ggaren.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21595</commentid>
    <comment_count>15</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-10-08 21:41:48 -0700</bug_when>
    <thetext>I landed the fix, with one last tweak I couldn&apos;t resist (check isspace first before checking for &apos;(&apos; and &apos;)&apos;).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4209</attachid>
            <date>2005-10-05 03:13:07 -0700</date>
            <delta_ts>2005-10-05 09:08:12 -0700</delta_ts>
            <desc>allow comments where spaces are allowed</desc>
            <filename>5266_r1.patch</filename>
            <type>text/plain</type>
            <size>4209</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IGRhdGVfb2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2
YVNjcmlwdENvcmUva2pzL2RhdGVfb2JqZWN0LmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS41
OQpkaWZmIC1wIC11IC1yMS41OSBkYXRlX29iamVjdC5jcHAKLS0tIGRhdGVfb2JqZWN0LmNwcAk0
IE9jdCAyMDA1IDAxOjQzOjU4IC0wMDAwCTEuNTkKKysrIGRhdGVfb2JqZWN0LmNwcAk1IE9jdCAy
MDA1IDEwOjE0OjQzIC0wMDAwCkBAIC0xMDMxLDYgKzEwMzEsMTggQEAgZG91YmxlIG1ha2VUaW1l
KHN0cnVjdCB0bSAqdCwgZG91YmxlIG1zLAogICAgIHJldHVybiAobWt0aW1lKHQpICsgdXRjT2Zm
c2V0KSAqIDEwMDAuMCArIG1zICsgeWVhck9mZnNldDsKIH0KIAoraW5saW5lIHN0YXRpYyB2b2lk
IHNraXBTcGFjZXNBbmRDb21tZW50cyhjb25zdCBjaGFyIComcykgeworICAgIGludCBuZXN0aW5n
ID0gMDsKKyAgICBjaGFyIGNoOworICAgIHdoaWxlICgoY2ggPSAqcykpIHsKKyAgICAgICAgaWYg
KGNoID09ICcoJykKKyAgICAgICAgICAgIG5lc3RpbmcrKzsKKyAgICAgICAgZWxzZSBpZiAoIWlz
c3BhY2UoY2gpICYmIChuZXN0aW5nID09IDAgfHwgKGNoID09ICcpJyAmJiBuZXN0aW5nLS0gPT0g
MCkpKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIHMrKzsKKyAgICB9Cit9CisKIC8vIHJl
dHVybnMgMC0xMSAoSmFuLURlYyk7IC0xIG9uIGZhaWx1cmUKIHN0YXRpYyBpbnQgZmluZE1vbnRo
KGNvbnN0IGNoYXIgKm1vbnRoU3RyKQogewpAQCAtMTA4Myw4ICsxMDk1LDcgQEAgZG91YmxlIEtS
RkNEYXRlX3BhcnNlRGF0ZShjb25zdCBVU3RyaW5nIAogICAgICBib29sIGhhdmVfdGltZSA9IGZh
bHNlOwogICAgICAKICAgICAgLy8gU2tpcCBsZWFkaW5nIHNwYWNlCi0gICAgIHdoaWxlKGlzc3Bh
Y2UoKmRhdGVTdHJpbmcpKQotICAgICAJZGF0ZVN0cmluZysrOworICAgICBza2lwU3BhY2VzQW5k
Q29tbWVudHMoZGF0ZVN0cmluZyk7CiAKICAgICAgY29uc3QgY2hhciAqd29yZFN0YXJ0ID0gZGF0
ZVN0cmluZzsKICAgICAgLy8gQ2hlY2sgY29udGVudHMgb2YgZmlyc3Qgd29yZHMgaWYgbm90IG51
bWJlcgpAQCAtMTA5Myw4ICsxMTA0LDcgQEAgZG91YmxlIEtSRkNEYXRlX3BhcnNlRGF0ZShjb25z
dCBVU3RyaW5nIAogICAgICAgICBpZiAoIGlzc3BhY2UoKmRhdGVTdHJpbmcpICYmIGRhdGVTdHJp
bmcgLSB3b3JkU3RhcnQgPj0gMyApCiAgICAgICAgIHsKICAgICAgICAgICBtb250aCA9IGZpbmRN
b250aCh3b3JkU3RhcnQpOwotICAgICAgICAgIHdoaWxlKGlzc3BhY2UoKmRhdGVTdHJpbmcpKQot
ICAgICAgICAgICAgIGRhdGVTdHJpbmcrKzsKKyAgICAgICAgICBza2lwU3BhY2VzQW5kQ29tbWVu
dHMoZGF0ZVN0cmluZyk7CiAgICAgICAgICAgd29yZFN0YXJ0ID0gZGF0ZVN0cmluZzsKICAgICAg
ICAgfQogICAgICAgICBlbHNlCkBAIC0xMTA2LDggKzExMTYsNyBAQCBkb3VibGUgS1JGQ0RhdGVf
cGFyc2VEYXRlKGNvbnN0IFVTdHJpbmcgCiAgICAgICAgLy8gVE9ETzogZW1pdCB3YXJuaW5nIGFi
b3V0IGR1YmlvdXMgZm9ybWF0IGZvdW5kCiAgICAgIH0KIAotICAgICB3aGlsZShpc3NwYWNlKCpk
YXRlU3RyaW5nKSkKLSAgICAgCWRhdGVTdHJpbmcrKzsKKyAgICAgc2tpcFNwYWNlc0FuZENvbW1l
bnRzKGRhdGVTdHJpbmcpOwogCiAgICAgIGlmICghKmRhdGVTdHJpbmcpCiAgICAgIAlyZXR1cm4g
aW52YWxpZERhdGU7CkBAIC0xMTYyLDggKzExNzEsNyBAQCBkb3VibGUgS1JGQ0RhdGVfcGFyc2VE
YXRlKGNvbnN0IFVTdHJpbmcgCiAgICAgICAgaWYgKCpkYXRlU3RyaW5nID09ICctJykKICAgICAg
ICAgIGRhdGVTdHJpbmcrKzsKIAotICAgICAgIHdoaWxlKGlzc3BhY2UoKmRhdGVTdHJpbmcpKQot
ICAgICAgICAgZGF0ZVN0cmluZysrOworICAgICAgIHNraXBTcGFjZXNBbmRDb21tZW50cyhkYXRl
U3RyaW5nKTsKIAogICAgICAgIGlmICgqZGF0ZVN0cmluZyA9PSAnLCcpCiAgICAgICAgICBkYXRl
U3RyaW5nKys7CkBAIC0xMjA2LDggKzEyMTQsMTEgQEAgZG91YmxlIEtSRkNEYXRlX3BhcnNlRGF0
ZShjb25zdCBVU3RyaW5nIAogICAgICAgICAgICAgICAgeWVhciA9IC0xOwogICAgICAgICAgICBl
bHNlCiAgICAgICAgICAgICAgICByZXR1cm4gaW52YWxpZERhdGU7Ci0gICAgICAgIH0gZWxzZSAv
LyBpbiB0aGUgbm9ybWFsIGNhc2UgKHdlIHBhcnNlZCB0aGUgeWVhciksIGFkdmFuY2UgdG8gdGhl
IG5leHQgbnVtYmVyCisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAvLyBpbiB0aGUgbm9y
bWFsIGNhc2UgKHdlIHBhcnNlZCB0aGUgeWVhciksIGFkdmFuY2UgdG8gdGhlIG5leHQgbnVtYmVy
CiAgICAgICAgICAgICBkYXRlU3RyaW5nID0gKytuZXdQb3NTdHI7CisgICAgICAgICAgICBza2lw
U3BhY2VzQW5kQ29tbWVudHMoZGF0ZVN0cmluZyk7CisgICAgICAgIH0KIAogICAgICAgICBob3Vy
ID0gc3RydG9sKGRhdGVTdHJpbmcsICZuZXdQb3NTdHIsIDEwKTsKIApAQCAtMTI1NCw4ICsxMjY1
LDcgQEAgZG91YmxlIEtSRkNEYXRlX3BhcnNlRGF0ZShjb25zdCBVU3RyaW5nIAogICAgICAgICAg
ICAgICByZXR1cm4gaW52YWxpZERhdGU7CiAgICAgICAgICAgfQogCi0gICAgICAgICAgd2hpbGUo
aXNzcGFjZSgqZGF0ZVN0cmluZykpCi0gICAgICAgICAgICBkYXRlU3RyaW5nKys7CisgICAgICBz
a2lwU3BhY2VzQW5kQ29tbWVudHMoZGF0ZVN0cmluZyk7CiAKIAkgIGlmIChzdHJuY2FzZWNtcChk
YXRlU3RyaW5nLCAiQU0iLCAyKSA9PSAwKSB7CiAJICAgIGlmIChob3VyID4gMTIpCkBAIC0xMjYz
LDE2ICsxMjczLDE0IEBAIGRvdWJsZSBLUkZDRGF0ZV9wYXJzZURhdGUoY29uc3QgVVN0cmluZyAK
IAkgICAgaWYgKGhvdXIgPT0gMTIpCiAJICAgICAgaG91ciA9IDA7CiAJICAgIGRhdGVTdHJpbmcg
Kz0gMjsKLQkgICAgd2hpbGUgKGlzc3BhY2UoKmRhdGVTdHJpbmcpKQotCSAgICAgIGRhdGVTdHJp
bmcrKzsKKyAgICAgICAgc2tpcFNwYWNlc0FuZENvbW1lbnRzKGRhdGVTdHJpbmcpOwogCSAgfSBl
bHNlIGlmIChzdHJuY2FzZWNtcChkYXRlU3RyaW5nLCAiUE0iLCAyKSA9PSAwKSB7CiAJICAgIGlm
IChob3VyID4gMTIpCiAJICAgICAgcmV0dXJuIGludmFsaWREYXRlOwogCSAgICBpZiAoaG91ciAh
PSAxMikKIAkgICAgICBob3VyICs9IDEyOwogCSAgICBkYXRlU3RyaW5nICs9IDI7Ci0JICAgIHdo
aWxlIChpc3NwYWNlKCpkYXRlU3RyaW5nKSkKLQkgICAgICBkYXRlU3RyaW5nKys7CisgICAgICAg
IHNraXBTcGFjZXNBbmRDb21tZW50cyhkYXRlU3RyaW5nKTsKIAkgIH0KICAgICAgICAgfQogICAg
ICB9IGVsc2UgewpAQCAtMTI4OCw4ICsxMjk2LDcgQEAgZG91YmxlIEtSRkNEYXRlX3BhcnNlRGF0
ZShjb25zdCBVU3RyaW5nIAogICAgICAgICAgaGF2ZV90eiA9IHRydWU7CiAgICAgICAgfQogCi0g
ICAgICAgd2hpbGUgKGlzc3BhY2UoKmRhdGVTdHJpbmcpKQotICAgICAgICAgKytkYXRlU3RyaW5n
OworICAgICAgIHNraXBTcGFjZXNBbmRDb21tZW50cyhkYXRlU3RyaW5nKTsKIAogICAgICAgIGlm
IChzdHJuY2FzZWNtcChkYXRlU3RyaW5nLCAiR01UIiwgMykgPT0gMCkgewogICAgICAgICAgZGF0
ZVN0cmluZyArPSAzOwpAQCAtMTMyNyw4ICsxMzM0LDcgQEAgZG91YmxlIEtSRkNEYXRlX3BhcnNl
RGF0ZShjb25zdCBVU3RyaW5nIAogICAgICAgIH0KICAgICAgfQogCi0gICAgIHdoaWxlKGlzc3Bh
Y2UoKmRhdGVTdHJpbmcpKQotICAgICAgICBkYXRlU3RyaW5nKys7CisgICAgIHNraXBTcGFjZXNB
bmRDb21tZW50cyhkYXRlU3RyaW5nKTsKIAogICAgICBpZiAoICpkYXRlU3RyaW5nICYmIHllYXIg
PT0gLTEgKSB7CiAgICAgICAgeWVhciA9IHN0cnRvbChkYXRlU3RyaW5nLCAmbmV3UG9zU3RyLCAx
MCk7CkBAIC0xMzM3LDggKzEzNDMsNyBAQCBkb3VibGUgS1JGQ0RhdGVfcGFyc2VEYXRlKGNvbnN0
IFVTdHJpbmcgCiAgICAgICAgZGF0ZVN0cmluZyA9IG5ld1Bvc1N0cjsKICAgICAgfQogICAgICAK
LSAgICAgd2hpbGUgKGlzc3BhY2UoKmRhdGVTdHJpbmcpKQotICAgICAgIGRhdGVTdHJpbmcrKzsK
KyAgICAgc2tpcFNwYWNlc0FuZENvbW1lbnRzKGRhdGVTdHJpbmcpOwogICAgICAKICAgICAgLy8g
VHJhaWxpbmcgZ2FyYmFnZQogICAgICBpZiAoKmRhdGVTdHJpbmcgIT0gJ1wwJykK
</data>
<flag name="review"
          id="686"
          type_id="1"
          status="-"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4211</attachid>
            <date>2005-10-05 03:52:01 -0700</date>
            <delta_ts>2005-10-05 09:09:46 -0700</delta_ts>
            <desc>testcase for this</desc>
            <filename>5266_test.patch</filename>
            <type>text/plain</type>
            <size>5239</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IGRhdGUtcGFyc2UtY29tbWVudHMtdGVzdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpk
aWZmIC1OcHUgZGF0ZS1wYXJzZS1jb21tZW50cy10ZXN0LWV4cGVjdGVkLnR4dAotLS0gZGF0ZS1w
YXJzZS1jb21tZW50cy10ZXN0LWV4cGVjdGVkLnR4dAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAw
CisrKyBkYXRlLXBhcnNlLWNvbW1lbnRzLXRlc3QtZXhwZWN0ZWQudHh0CTUgT2N0IDIwMDUgMTA6
NDg6MTcgLTAwMDAKQEAgLTAsMCArMSwzIEBACitUZXN0aW5nIGNvbXBsZXRlLiBObyBmYWlsdXJl
cy4KKworCkluZGV4OiBkYXRlLXBhcnNlLWNvbW1lbnRzLXRlc3QuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CmRp
ZmYgLU5wdSBkYXRlLXBhcnNlLWNvbW1lbnRzLXRlc3QuaHRtbAotLS0gZGF0ZS1wYXJzZS1jb21t
ZW50cy10ZXN0Lmh0bWwJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMAorKysgZGF0ZS1wYXJzZS1j
b21tZW50cy10ZXN0Lmh0bWwJNSBPY3QgMjAwNSAxMDo0NToxMSAtMDAwMApAQCAtMCwwICsxLDEz
MSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiAi
aHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+CisKKzxodG1sPgorCis8aGVh
ZD4KKzxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBj
aGFyc2V0PVVURi04Ij4KKzx0aXRsZT50ZXN0IG9mIEphdmFTY3JpcHQgZGF0ZSBwYXJzaW5nPC90
aXRsZT4KKzwvaGVhZD4KKworPGJvZHk+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij4KKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7CisKKy8vIC0tLS0tLS0tCisKKy8vIEhlbHBlciBmdW5jdGlv
bnMuCisKK2Z1bmN0aW9uIGNhbGwoZnVuY3Rpb25OYW1lLCBwYXJhbWV0ZXIpCit7CisgICAgdHJ5
IHsKKyAgICAgICAgcmVzdWx0ID0gZXZhbChmdW5jdGlvbk5hbWUgKyAiKHBhcmFtZXRlcikiKTsK
KyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIHJlc3VsdCA9ICJleGNlcHRpb24iOworICAgIH0K
KyAgICByZXR1cm4gcmVzdWx0OworfQorCisvLyAtLS0tLS0tLQorCisvLyBSdW4gdGVzdHMuCisK
K3ZhciBmYWlsdXJlQ291bnQgPSAwOworCitmdW5jdGlvbiB0ZXN0KGZ1bmN0aW9uTmFtZSwgcGFy
YW1ldGVyLCBkZXNpcmVkUmVzdWx0KQoreworICAgIHZhciByZXN1bHQgPSBjYWxsKGZ1bmN0aW9u
TmFtZSwgcGFyYW1ldGVyKTsKKyAgICBpZiAocmVzdWx0ICE9IGRlc2lyZWRSZXN1bHQgJiYgIShp
c05hTihyZXN1bHQpICYmIGlzTmFOKGRlc2lyZWRSZXN1bHQpKSkgeworICAgICAgICB2YXIgcyA9
ICJjYWxsZWQgIiArIGZ1bmN0aW9uTmFtZSArICIgb24gIiArIHBhcmFtZXRlciArICIgYW5kIGdv
dCAiICsgcmVzdWx0ICsgIiBpbnN0ZWFkIG9mICIgKyBkZXNpcmVkUmVzdWx0OworICAgICAgICBk
b2N1bWVudC53cml0ZWxuKCI8cD4iICsgcyArICI8L3A+Iik7CisgICAgICAgIGZhaWx1cmVDb3Vu
dCArPSAxOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgcmV0dXJuIDE7Cit9CisKK2Z1
bmN0aW9uIHRlc3REYXRlUGFyc2UoZGF0ZSwgbnVtZXJpY1Jlc3VsdCkKK3sKKyAgICBpZiAodGVz
dCgiRGF0ZS5wYXJzZSIsIGRhdGUsIG51bWVyaWNSZXN1bHQpKSB7CisgICAgICAgIHRlc3QoIkRh
dGUucGFyc2UiLCBkYXRlLnRvVXBwZXJDYXNlKCksIG51bWVyaWNSZXN1bHQpOworICAgICAgICB0
ZXN0KCJEYXRlLnBhcnNlIiwgZGF0ZS50b0xvd2VyQ2FzZSgpLCBudW1lcmljUmVzdWx0KTsKKyAg
ICB9Cit9CisKK3ZhciBvID0gRGF0ZS5wYXJzZSgiIERlYyAyNSAxOTk1IDE6MzAgIikgLSBEYXRl
LnBhcnNlKCIgRGVjIDI1IDE5OTUgMTozMCBHTVQgIik7CisKK3Rlc3REYXRlUGFyc2UoIkRlYyAo
KDI3KSAyNiAoMjQpKSAyNSAxOTk1IDE6MzAgUE0gVVRDIiwgODE5ODk4MjAwMDAwKTsKK3Rlc3RE
YXRlUGFyc2UoIkRlYyAyNSAxOTk1IDE6MzAgUE0gVVRDICgiLCA4MTk4OTgyMDAwMDApOwordGVz
dERhdGVQYXJzZSgiRGVjIDI1IDE5OTUgMTozMCAoUE0pKSBVVEMiLCBOYU4pOwordGVzdERhdGVQ
YXJzZSgiKE5vdikgRGVjICgyNCkgMjUgKDI2KSAxOTk1ICgxOTk2KSBHTVQgKEVTVCkiLCA4MTk4
NDk2MDAwMDApOwordGVzdERhdGVQYXJzZSgiKE5vdikgRGVjICgyNCkgMjUgKDI2KSAxOTk1ICgx
OTk2KSIsIDgxOTg0OTYwMDAwMCArIG8pOworCit0ZXN0RGF0ZVBhcnNlKCIoTm92KSBEZWMgKDI0
KSAyNSAoMjYpIDE5OTUgKDE5OTYpIDE6MzAgKDE6NDApIEdNVCAoRVNUKSIsIDgxOTg1NTAwMDAw
MCk7Cit0ZXN0RGF0ZVBhcnNlKCIoTm92KSBEZWMgKDI0KSAyNSAoMjYpIDE5OTUgKDE5OTYpIDE6
MzAgKDE6NDApIiwgODE5ODU1MDAwMDAwICsgbyk7Cit0ZXN0RGF0ZVBhcnNlKCIoTm92KSBEZWMg
KDI0KSAyNSAoMjYpIDE5OTUgKDE5OTYpIDE6MzAgIiwgODE5ODU1MDAwMDAwICsgbyk7Cit0ZXN0
RGF0ZVBhcnNlKCIoTm92KSBEZWMgKDI0KSAyNSAoMjYpIDE5OTUgKDE5OTYpIDE6MzAgQU0gKDE6
NDAgUE0pIEdNVCAoRVNUKSIsIDgxOTg1NTAwMDAwMCk7Cit0ZXN0RGF0ZVBhcnNlKCIoTm92KSBE
ZWMgKDI0KSAyNSAoMjYpIDE5OTUgKDE5OTYpIDE6MzAgQU0gKDE6NDAgUE0pIiwgODE5ODU1MDAw
MDAwICsgbyk7Cit0ZXN0RGF0ZVBhcnNlKCJEZWMgMjUgMTk5NSAxOjMwKCApQU0gKFBNKSIsIE5h
Tik7Cit0ZXN0RGF0ZVBhcnNlKCJEZWMgMjUgMTk5NSAxOjMwIEFNIChQTSkiLCA4MTk4NTUwMDAw
MDAgKyBvKTsKKwordGVzdERhdGVQYXJzZSgiKE5vdikgRGVjICgyNCkgMjUgKDI2KSAxOTk1ICgx
OTk2KSAxMzozMCAoMTM6NDApIEdNVCAoUFNUKSIsIDgxOTg5ODIwMDAwMCk7Cit0ZXN0RGF0ZVBh
cnNlKCIoTm92KSBEZWMgKDI0KSAyNSAoMjYpIDE5OTUgKDE5OTYpIDEzOjMwICgxMzo0MCkiLCA4
MTk4OTgyMDAwMDAgKyBvKTsKK3Rlc3REYXRlUGFyc2UoJyhOb3YpIERlYyAoMjQpIDI1ICgyNikg
MTM6MzAgKDEzOjQwKSAxOTk1ICgxOTk2KScsIDgxOTg5ODIwMDAwMCArIG8pOwordGVzdERhdGVQ
YXJzZSgiKE5vdikgRGVjICgyNCkgMjUgKDI2KSAxOTk1ICgxOTk2KSAxMzozMCAoMTM6NDApICIs
IDgxOTg5ODIwMDAwMCArIG8pOwordGVzdERhdGVQYXJzZSgiKE5vdikgRGVjICgyNCkgMjUgKDI2
KSAxOTk1ICgxOTk2KSAxOjMwICgxOjQwKSBQTSAoQU0pIEdNVCAoUFNUKSIsIDgxOTg5ODIwMDAw
MCk7Cit0ZXN0RGF0ZVBhcnNlKCIoTm92KSBEZWMgKDI0KSAyNSAoMjYpIDE5OTUgKDE5OTYpIDE6
MzAgKDE6NDApIFBNIChBTSkiLCA4MTk4OTgyMDAwMDAgKyBvKTsKK3Rlc3REYXRlUGFyc2UoIkRl
YyAyNSAxOTk1IDE6MzAoQU0pUE0iLCBOYU4pOwordGVzdERhdGVQYXJzZSgiRGVjIDI1IDE5OTUg
MTozMCAoQU0pUE0gIiwgODE5ODk4MjAwMDAwICsgbyk7CisKK3Rlc3REYXRlUGFyc2UoIkRlYyAy
NSAxOTk1IChQRFQpVVRDKFBTVCkiLCA4MTk4NDk2MDAwMDApOwordGVzdERhdGVQYXJzZSgiRGVj
IDI1IDE5OTUgKFBEVClVVChQU1QpIiwgODE5ODQ5NjAwMDAwKTsKK3Rlc3REYXRlUGFyc2UoIkRl
YyAyNSAxOTk1IChVVEMpUFNUKEdNVCkiLCA4MTk4Nzg0MDAwMDApOwordGVzdERhdGVQYXJzZSgi
RGVjIDI1IDE5OTUgKFVUQylQRFQoR01UKSIsIDgxOTg3NDgwMDAwMCk7CisKK3Rlc3REYXRlUGFy
c2UoIkRlYyAyNSAxOTk1IDE6MzAgKFBEVClVVEMoUFNUKSIsIDgxOTg1NTAwMDAwMCk7Cit0ZXN0
RGF0ZVBhcnNlKCJEZWMgMjUgMTk5NSAxOjMwIChQRFQpVVQoUFNUKSIsIDgxOTg1NTAwMDAwMCk7
Cit0ZXN0RGF0ZVBhcnNlKCJEZWMgMjUgMTk5NSAxOjMwIChVVEMpUFNUKEdNVCkiLCA4MTk4ODM4
MDAwMDApOwordGVzdERhdGVQYXJzZSgiRGVjIDI1IDE5OTUgMTozMCAoVVRDKVBEVChHTVQpIiwg
ODE5ODgwMjAwMDAwKTsKKwordGVzdERhdGVQYXJzZSgiRGVjIDI1IDE5OTUgMTozMCAoQU0pIFBN
IChQU1QpIFVUQyIsIDgxOTg5ODIwMDAwMCk7Cit0ZXN0RGF0ZVBhcnNlKCJEZWMgMjUgMTk5NSAx
OjMwIFBNIChBTSkgKFBTVCkgVVQiLCA4MTk4OTgyMDAwMDApOwordGVzdERhdGVQYXJzZSgiRGVj
IDI1IDE5OTUgMTozMCBQTSAoQU0pIChVVEMpIFBTVCIsIDgxOTkyNzAwMDAwMCk7Cit0ZXN0RGF0
ZVBhcnNlKCJEZWMgMjUgMTk5NSAxOjMwIChBTSkgUE0gUERUIChVVEMpIiwgODE5OTIzNDAwMDAw
KTsKKwordGVzdERhdGVQYXJzZSgiRGVjIDI1IDE5OTUgWFhYIChHTVQpIiwgTmFOKTsKK3Rlc3RE
YXRlUGFyc2UoIkRlYyAyNSAxOTk1IDE6MzAgWFhYIChHTVQpIiwgTmFOKTsKKwordGVzdERhdGVQ
YXJzZSgiRGVjIDI1IDE5OTUgMTozMCBVKFRDKSIsIE5hTik7Cit0ZXN0RGF0ZVBhcnNlKCJEZWMg
MjUgMTk5NSAxOjMwIFYoVVRDKSIsIE5hTik7Cit0ZXN0RGF0ZVBhcnNlKCJEZWMgMjUgMTk5NSAx
OjMwIChVVEMpVyIsIE5hTik7Cit0ZXN0RGF0ZVBhcnNlKCJEZWMgMjUgMTk5NSAxOjMwIChHTVQp
WCIsIE5hTik7CisKK3Rlc3REYXRlUGFyc2UoIkRlYyAyNSAxOTk1IDA6MzAgKFBNKSBHTVQiLCA4
MTk4NTE0MDAwMDApOwordGVzdERhdGVQYXJzZSgiRGVjIDI1IDE5OTUgKDEpMDozMCBBTSBHTVQi
LCA4MTk4NTE0MDAwMDApOwordGVzdERhdGVQYXJzZSgiRGVjIDI1IDE5OTUgKDEpMDozMCBQTSBH
TVQiLCA4MTk4OTQ2MDAwMDApOworCit0ZXN0RGF0ZVBhcnNlKCJBbmYoRGVjKSAyNSAxOTk1IEdN
VCIsIE5hTik7CisKK3Rlc3REYXRlUGFyc2UoIihTYXQpIFdlZCAoTm92KSBEZWMgKE5vdikgMjUg
MTk5NSAxOjMwIEdNVCIsIDgxOTg1NTAwMDAwMCk7CisKKy8vIC0tLS0tLS0tCisKKy8vIFN1bW1h
cml6ZS4KKwordmFyIGZhaWx1cmVzTWVzc2FnZTsKK2lmIChmYWlsdXJlQ291bnQpIHsKKyAgICBm
YWlsdXJlc01lc3NhZ2UgPSBmYWlsdXJlQ291bnQgKyAiIHRlc3RzIGZhaWxlZC4iOworfSBlbHNl
IHsKKyAgICBmYWlsdXJlc01lc3NhZ2UgPSAiTm8gZmFpbHVyZXMuIjsKK30KK2RvY3VtZW50Lndy
aXRlbG4oIjxwPlRlc3RpbmcgY29tcGxldGUuICIgKyBmYWlsdXJlc01lc3NhZ2UgKyAiPC9wPiIp
OworCisvLyAtLS0tLS0tLQorCis8L3NjcmlwdD4KKworPC9ib2R5PgorCis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4215</attachid>
            <date>2005-10-05 09:08:12 -0700</date>
            <delta_ts>2005-10-05 10:19:11 -0700</delta_ts>
            <desc>revised patch</desc>
            <filename>5266_r2.patch</filename>
            <type>text/plain</type>
            <size>4418</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IGRhdGVfb2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2
YVNjcmlwdENvcmUva2pzL2RhdGVfb2JqZWN0LmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS41
OQpkaWZmIC11IC1wIC1yMS41OSBkYXRlX29iamVjdC5jcHAKLS0tIGRhdGVfb2JqZWN0LmNwcAk0
IE9jdCAyMDA1IDAxOjQzOjU4IC0wMDAwCTEuNTkKKysrIGRhdGVfb2JqZWN0LmNwcAk1IE9jdCAy
MDA1IDE2OjA0OjI4IC0wMDAwCkBAIC0xMDMxLDYgKzEwMzEsMTggQEAgZG91YmxlIG1ha2VUaW1l
KHN0cnVjdCB0bSAqdCwgZG91YmxlIG1zLAogICAgIHJldHVybiAobWt0aW1lKHQpICsgdXRjT2Zm
c2V0KSAqIDEwMDAuMCArIG1zICsgeWVhck9mZnNldDsKIH0KIAoraW5saW5lIHN0YXRpYyB2b2lk
IHNraXBTcGFjZXNBbmRDb21tZW50cyhjb25zdCBjaGFyIComcykgeworICAgIGludCBuZXN0aW5n
ID0gMDsKKyAgICBjaGFyIGNoOworICAgIHdoaWxlICgoY2ggPSAqcykpIHsKKyAgICAgICAgaWYg
KGNoID09ICcoJykKKyAgICAgICAgICAgIG5lc3RpbmcrKzsKKyAgICAgICAgZWxzZSBpZiAoIWlz
c3BhY2UoY2gpICYmIChuZXN0aW5nID09IDAgfHwgKGNoID09ICcpJyAmJiBuZXN0aW5nLS0gPT0g
MCkpKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIHMrKzsKKyAgICB9Cit9CisKIC8vIHJl
dHVybnMgMC0xMSAoSmFuLURlYyk7IC0xIG9uIGZhaWx1cmUKIHN0YXRpYyBpbnQgZmluZE1vbnRo
KGNvbnN0IGNoYXIgKm1vbnRoU3RyKQogewpAQCAtMTA4MywxOSArMTA5NSwxNyBAQCBkb3VibGUg
S1JGQ0RhdGVfcGFyc2VEYXRlKGNvbnN0IFVTdHJpbmcgCiAgICAgIGJvb2wgaGF2ZV90aW1lID0g
ZmFsc2U7CiAgICAgIAogICAgICAvLyBTa2lwIGxlYWRpbmcgc3BhY2UKLSAgICAgd2hpbGUoaXNz
cGFjZSgqZGF0ZVN0cmluZykpCi0gICAgIAlkYXRlU3RyaW5nKys7CisgICAgIHNraXBTcGFjZXNB
bmRDb21tZW50cyhkYXRlU3RyaW5nKTsKIAogICAgICBjb25zdCBjaGFyICp3b3JkU3RhcnQgPSBk
YXRlU3RyaW5nOwogICAgICAvLyBDaGVjayBjb250ZW50cyBvZiBmaXJzdCB3b3JkcyBpZiBub3Qg
bnVtYmVyCiAgICAgIHdoaWxlKCpkYXRlU3RyaW5nICYmICFpc2RpZ2l0KCpkYXRlU3RyaW5nKSkK
ICAgICAgewotICAgICAgICBpZiAoIGlzc3BhY2UoKmRhdGVTdHJpbmcpICYmIGRhdGVTdHJpbmcg
LSB3b3JkU3RhcnQgPj0gMyApCi0gICAgICAgIHsKLSAgICAgICAgICBtb250aCA9IGZpbmRNb250
aCh3b3JkU3RhcnQpOwotICAgICAgICAgIHdoaWxlKGlzc3BhY2UoKmRhdGVTdHJpbmcpKQotICAg
ICAgICAgICAgIGRhdGVTdHJpbmcrKzsKLSAgICAgICAgICB3b3JkU3RhcnQgPSBkYXRlU3RyaW5n
OworICAgICAgICBpZiAoaXNzcGFjZSgqZGF0ZVN0cmluZykgfHwgKmRhdGVTdHJpbmcgPT0gJygn
KSB7CisgICAgICAgICAgIGlmIChkYXRlU3RyaW5nIC0gd29yZFN0YXJ0ID49IDMpCisgICAgICAg
ICAgICAgIG1vbnRoID0gZmluZE1vbnRoKHdvcmRTdGFydCk7CisgICAgICAgICAgIHNraXBTcGFj
ZXNBbmRDb21tZW50cyhkYXRlU3RyaW5nKTsKKyAgICAgICAgICAgd29yZFN0YXJ0ID0gZGF0ZVN0
cmluZzsKICAgICAgICAgfQogICAgICAgICBlbHNlCiAgICAgICAgICAgIGRhdGVTdHJpbmcrKzsK
QEAgLTExMDYsOCArMTExNiw3IEBAIGRvdWJsZSBLUkZDRGF0ZV9wYXJzZURhdGUoY29uc3QgVVN0
cmluZyAKICAgICAgICAvLyBUT0RPOiBlbWl0IHdhcm5pbmcgYWJvdXQgZHViaW91cyBmb3JtYXQg
Zm91bmQKICAgICAgfQogCi0gICAgIHdoaWxlKGlzc3BhY2UoKmRhdGVTdHJpbmcpKQotICAgICAJ
ZGF0ZVN0cmluZysrOworICAgICBza2lwU3BhY2VzQW5kQ29tbWVudHMoZGF0ZVN0cmluZyk7CiAK
ICAgICAgaWYgKCEqZGF0ZVN0cmluZykKICAgICAgCXJldHVybiBpbnZhbGlkRGF0ZTsKQEAgLTEx
NjIsOCArMTE3MSw3IEBAIGRvdWJsZSBLUkZDRGF0ZV9wYXJzZURhdGUoY29uc3QgVVN0cmluZyAK
ICAgICAgICBpZiAoKmRhdGVTdHJpbmcgPT0gJy0nKQogICAgICAgICAgZGF0ZVN0cmluZysrOwog
Ci0gICAgICAgd2hpbGUoaXNzcGFjZSgqZGF0ZVN0cmluZykpCi0gICAgICAgICBkYXRlU3RyaW5n
Kys7CisgICAgICAgc2tpcFNwYWNlc0FuZENvbW1lbnRzKGRhdGVTdHJpbmcpOwogCiAgICAgICAg
aWYgKCpkYXRlU3RyaW5nID09ICcsJykKICAgICAgICAgIGRhdGVTdHJpbmcrKzsKQEAgLTEyMDYs
OCArMTIxNCwxMSBAQCBkb3VibGUgS1JGQ0RhdGVfcGFyc2VEYXRlKGNvbnN0IFVTdHJpbmcgCiAg
ICAgICAgICAgICAgICB5ZWFyID0gLTE7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAg
IHJldHVybiBpbnZhbGlkRGF0ZTsKLSAgICAgICAgfSBlbHNlIC8vIGluIHRoZSBub3JtYWwgY2Fz
ZSAod2UgcGFyc2VkIHRoZSB5ZWFyKSwgYWR2YW5jZSB0byB0aGUgbmV4dCBudW1iZXIKKyAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8vIGluIHRoZSBub3JtYWwgY2FzZSAod2UgcGFyc2Vk
IHRoZSB5ZWFyKSwgYWR2YW5jZSB0byB0aGUgbmV4dCBudW1iZXIKICAgICAgICAgICAgIGRhdGVT
dHJpbmcgPSArK25ld1Bvc1N0cjsKKyAgICAgICAgICAgIHNraXBTcGFjZXNBbmRDb21tZW50cyhk
YXRlU3RyaW5nKTsKKyAgICAgICAgfQogCiAgICAgICAgIGhvdXIgPSBzdHJ0b2woZGF0ZVN0cmlu
ZywgJm5ld1Bvc1N0ciwgMTApOwogCkBAIC0xMjU0LDggKzEyNjUsNyBAQCBkb3VibGUgS1JGQ0Rh
dGVfcGFyc2VEYXRlKGNvbnN0IFVTdHJpbmcgCiAgICAgICAgICAgICAgIHJldHVybiBpbnZhbGlk
RGF0ZTsKICAgICAgICAgICB9CiAKLSAgICAgICAgICB3aGlsZShpc3NwYWNlKCpkYXRlU3RyaW5n
KSkKLSAgICAgICAgICAgIGRhdGVTdHJpbmcrKzsKKyAgICAgIHNraXBTcGFjZXNBbmRDb21tZW50
cyhkYXRlU3RyaW5nKTsKIAogCSAgaWYgKHN0cm5jYXNlY21wKGRhdGVTdHJpbmcsICJBTSIsIDIp
ID09IDApIHsKIAkgICAgaWYgKGhvdXIgPiAxMikKQEAgLTEyNjMsMTYgKzEyNzMsMTQgQEAgZG91
YmxlIEtSRkNEYXRlX3BhcnNlRGF0ZShjb25zdCBVU3RyaW5nIAogCSAgICBpZiAoaG91ciA9PSAx
MikKIAkgICAgICBob3VyID0gMDsKIAkgICAgZGF0ZVN0cmluZyArPSAyOwotCSAgICB3aGlsZSAo
aXNzcGFjZSgqZGF0ZVN0cmluZykpCi0JICAgICAgZGF0ZVN0cmluZysrOworICAgICAgICBza2lw
U3BhY2VzQW5kQ29tbWVudHMoZGF0ZVN0cmluZyk7CiAJICB9IGVsc2UgaWYgKHN0cm5jYXNlY21w
KGRhdGVTdHJpbmcsICJQTSIsIDIpID09IDApIHsKIAkgICAgaWYgKGhvdXIgPiAxMikKIAkgICAg
ICByZXR1cm4gaW52YWxpZERhdGU7CiAJICAgIGlmIChob3VyICE9IDEyKQogCSAgICAgIGhvdXIg
Kz0gMTI7CiAJICAgIGRhdGVTdHJpbmcgKz0gMjsKLQkgICAgd2hpbGUgKGlzc3BhY2UoKmRhdGVT
dHJpbmcpKQotCSAgICAgIGRhdGVTdHJpbmcrKzsKKyAgICAgICAgc2tpcFNwYWNlc0FuZENvbW1l
bnRzKGRhdGVTdHJpbmcpOwogCSAgfQogICAgICAgICB9CiAgICAgIH0gZWxzZSB7CkBAIC0xMjg4
LDggKzEyOTYsNyBAQCBkb3VibGUgS1JGQ0RhdGVfcGFyc2VEYXRlKGNvbnN0IFVTdHJpbmcgCiAg
ICAgICAgICBoYXZlX3R6ID0gdHJ1ZTsKICAgICAgICB9CiAKLSAgICAgICB3aGlsZSAoaXNzcGFj
ZSgqZGF0ZVN0cmluZykpCi0gICAgICAgICArK2RhdGVTdHJpbmc7CisgICAgICAgc2tpcFNwYWNl
c0FuZENvbW1lbnRzKGRhdGVTdHJpbmcpOwogCiAgICAgICAgaWYgKHN0cm5jYXNlY21wKGRhdGVT
dHJpbmcsICJHTVQiLCAzKSA9PSAwKSB7CiAgICAgICAgICBkYXRlU3RyaW5nICs9IDM7CkBAIC0x
MzI3LDggKzEzMzQsNyBAQCBkb3VibGUgS1JGQ0RhdGVfcGFyc2VEYXRlKGNvbnN0IFVTdHJpbmcg
CiAgICAgICAgfQogICAgICB9CiAKLSAgICAgd2hpbGUoaXNzcGFjZSgqZGF0ZVN0cmluZykpCi0g
ICAgICAgIGRhdGVTdHJpbmcrKzsKKyAgICAgc2tpcFNwYWNlc0FuZENvbW1lbnRzKGRhdGVTdHJp
bmcpOwogCiAgICAgIGlmICggKmRhdGVTdHJpbmcgJiYgeWVhciA9PSAtMSApIHsKICAgICAgICB5
ZWFyID0gc3RydG9sKGRhdGVTdHJpbmcsICZuZXdQb3NTdHIsIDEwKTsKQEAgLTEzMzcsOCArMTM0
Myw3IEBAIGRvdWJsZSBLUkZDRGF0ZV9wYXJzZURhdGUoY29uc3QgVVN0cmluZyAKICAgICAgICBk
YXRlU3RyaW5nID0gbmV3UG9zU3RyOwogICAgICB9CiAgICAgIAotICAgICB3aGlsZSAoaXNzcGFj
ZSgqZGF0ZVN0cmluZykpCi0gICAgICAgZGF0ZVN0cmluZysrOworICAgICBza2lwU3BhY2VzQW5k
Q29tbWVudHMoZGF0ZVN0cmluZyk7CiAgICAgIAogICAgICAvLyBUcmFpbGluZyBnYXJiYWdlCiAg
ICAgIGlmICgqZGF0ZVN0cmluZyAhPSAnXDAnKQo=
</data>
<flag name="review"
          id="687"
          type_id="1"
          status="-"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4216</attachid>
            <date>2005-10-05 09:09:46 -0700</date>
            <delta_ts>2005-10-05 09:09:46 -0700</delta_ts>
            <desc>testcase</desc>
            <filename>5266_test_r2.patch</filename>
            <type>text/plain</type>
            <size>5508</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IGRhdGUtcGFyc2UtY29tbWVudHMtdGVzdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpk
aWZmIC1OcHUgZGF0ZS1wYXJzZS1jb21tZW50cy10ZXN0LWV4cGVjdGVkLnR4dAotLS0gZGF0ZS1w
YXJzZS1jb21tZW50cy10ZXN0LWV4cGVjdGVkLnR4dAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAw
CisrKyBkYXRlLXBhcnNlLWNvbW1lbnRzLXRlc3QtZXhwZWN0ZWQudHh0CTUgT2N0IDIwMDUgMTA6
NDg6MTcgLTAwMDAKQEAgLTAsMCArMSwzIEBACitUZXN0aW5nIGNvbXBsZXRlLiBObyBmYWlsdXJl
cy4KKworCkluZGV4OiBkYXRlLXBhcnNlLWNvbW1lbnRzLXRlc3QuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CmRp
ZmYgLU5wdSBkYXRlLXBhcnNlLWNvbW1lbnRzLXRlc3QuaHRtbAotLS0gZGF0ZS1wYXJzZS1jb21t
ZW50cy10ZXN0Lmh0bWwJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMAorKysgZGF0ZS1wYXJzZS1j
b21tZW50cy10ZXN0Lmh0bWwJNSBPY3QgMjAwNSAxNTo1OToxNyAtMDAwMApAQCAtMCwwICsxLDEz
NCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiAi
aHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+CisKKzxodG1sPgorCis8aGVh
ZD4KKzxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBj
aGFyc2V0PVVURi04Ij4KKzx0aXRsZT50ZXN0IG9mIEphdmFTY3JpcHQgZGF0ZSBwYXJzaW5nIChj
b21tZW50cyBpbiBwYXJlbnRoZXNlcyk8L3RpdGxlPgorPC9oZWFkPgorCis8Ym9keT4KKworPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCitpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworLy8gLS0t
LS0tLS0KKworLy8gSGVscGVyIGZ1bmN0aW9ucy4KKworZnVuY3Rpb24gY2FsbChmdW5jdGlvbk5h
bWUsIHBhcmFtZXRlcikKK3sKKyAgICB0cnkgeworICAgICAgICByZXN1bHQgPSBldmFsKGZ1bmN0
aW9uTmFtZSArICIocGFyYW1ldGVyKSIpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgcmVz
dWx0ID0gImV4Y2VwdGlvbiI7CisgICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9CisKKy8vIC0t
LS0tLS0tCisKKy8vIFJ1biB0ZXN0cy4KKwordmFyIGZhaWx1cmVDb3VudCA9IDA7CisKK2Z1bmN0
aW9uIHRlc3QoZnVuY3Rpb25OYW1lLCBwYXJhbWV0ZXIsIGRlc2lyZWRSZXN1bHQpCit7CisgICAg
dmFyIHJlc3VsdCA9IGNhbGwoZnVuY3Rpb25OYW1lLCBwYXJhbWV0ZXIpOworICAgIGlmIChyZXN1
bHQgIT0gZGVzaXJlZFJlc3VsdCAmJiAhKGlzTmFOKHJlc3VsdCkgJiYgaXNOYU4oZGVzaXJlZFJl
c3VsdCkpKSB7CisgICAgICAgIHZhciBzID0gImNhbGxlZCAiICsgZnVuY3Rpb25OYW1lICsgIiBv
biAiICsgcGFyYW1ldGVyICsgIiBhbmQgZ290ICIgKyByZXN1bHQgKyAiIGluc3RlYWQgb2YgIiAr
IGRlc2lyZWRSZXN1bHQ7CisgICAgICAgIGRvY3VtZW50LndyaXRlbG4oIjxwPiIgKyBzICsgIjwv
cD4iKTsKKyAgICAgICAgZmFpbHVyZUNvdW50ICs9IDE7CisgICAgICAgIHJldHVybiAwOworICAg
IH0KKyAgICByZXR1cm4gMTsKK30KKworZnVuY3Rpb24gdGVzdERhdGVQYXJzZShkYXRlLCBudW1l
cmljUmVzdWx0KQoreworICAgIGlmICh0ZXN0KCJEYXRlLnBhcnNlIiwgZGF0ZSwgbnVtZXJpY1Jl
c3VsdCkpIHsKKyAgICAgICAgdGVzdCgiRGF0ZS5wYXJzZSIsIGRhdGUudG9VcHBlckNhc2UoKSwg
bnVtZXJpY1Jlc3VsdCk7CisgICAgICAgIHRlc3QoIkRhdGUucGFyc2UiLCBkYXRlLnRvTG93ZXJD
YXNlKCksIG51bWVyaWNSZXN1bHQpOworICAgIH0KK30KKwordmFyIG8gPSBEYXRlLnBhcnNlKCIg
RGVjIDI1IDE5OTUgMTozMCAiKSAtIERhdGUucGFyc2UoIiBEZWMgMjUgMTk5NSAxOjMwIEdNVCAi
KTsKKwordGVzdERhdGVQYXJzZSgiRGVjICgoMjcpIDI2ICgyNCkpIDI1IDE5OTUgMTozMCBQTSBV
VEMiLCA4MTk4OTgyMDAwMDApOwordGVzdERhdGVQYXJzZSgiRGVjIDI1IDE5OTUgMTozMCBQTSBV
VEMgKCIsIDgxOTg5ODIwMDAwMCk7Cit0ZXN0RGF0ZVBhcnNlKCJEZWMgMjUgMTk5NSAxOjMwIChQ
TSkpIFVUQyIsIE5hTik7Cit0ZXN0RGF0ZVBhcnNlKCIoTm92KSBEZWMgKDI0KSAyNSAoMjYpIDE5
OTUgKDE5OTYpIEdNVCAoRVNUKSIsIDgxOTg0OTYwMDAwMCk7Cit0ZXN0RGF0ZVBhcnNlKCIoTm92
KSBEZWMgKDI0KSAyNSAoMjYpIDE5OTUgKDE5OTYpIiwgODE5ODQ5NjAwMDAwICsgbyk7CisKK3Rl
c3REYXRlUGFyc2UoIihOb3YpIERlYyAoMjQpIDI1ICgyNikgMTk5NSAoMTk5NikgMTozMCAoMTo0
MCkgR01UIChFU1QpIiwgODE5ODU1MDAwMDAwKTsKK3Rlc3REYXRlUGFyc2UoIihOb3YpIERlYyAo
MjQpIDI1ICgyNikgMTk5NSAoMTk5NikgMTozMCAoMTo0MCkiLCA4MTk4NTUwMDAwMDAgKyBvKTsK
K3Rlc3REYXRlUGFyc2UoIihOb3YpIERlYyAoMjQpIDI1ICgyNikgMTk5NSAoMTk5NikgMTozMCAi
LCA4MTk4NTUwMDAwMDAgKyBvKTsKK3Rlc3REYXRlUGFyc2UoIihOb3YpIERlYyAoMjQpIDI1ICgy
NikgMTk5NSAoMTk5NikgMTozMCBBTSAoMTo0MCBQTSkgR01UIChFU1QpIiwgODE5ODU1MDAwMDAw
KTsKK3Rlc3REYXRlUGFyc2UoIihOb3YpIERlYyAoMjQpIDI1ICgyNikgMTk5NSAoMTk5NikgMToz
MCBBTSAoMTo0MCBQTSkiLCA4MTk4NTUwMDAwMDAgKyBvKTsKK3Rlc3REYXRlUGFyc2UoIkRlYyAy
NSAxOTk1IDE6MzAoIClBTSAoUE0pIiwgTmFOKTsKK3Rlc3REYXRlUGFyc2UoIkRlYyAyNSAxOTk1
IDE6MzAgQU0gKFBNKSIsIDgxOTg1NTAwMDAwMCArIG8pOworCit0ZXN0RGF0ZVBhcnNlKCIoTm92
KSBEZWMgKDI0KSAyNSAoMjYpIDE5OTUgKDE5OTYpIDEzOjMwICgxMzo0MCkgR01UIChQU1QpIiwg
ODE5ODk4MjAwMDAwKTsKK3Rlc3REYXRlUGFyc2UoIihOb3YpIERlYyAoMjQpIDI1ICgyNikgMTk5
NSAoMTk5NikgMTM6MzAgKDEzOjQwKSIsIDgxOTg5ODIwMDAwMCArIG8pOwordGVzdERhdGVQYXJz
ZSgnKE5vdikgRGVjICgyNCkgMjUgKDI2KSAxMzozMCAoMTM6NDApIDE5OTUgKDE5OTYpJywgODE5
ODk4MjAwMDAwICsgbyk7Cit0ZXN0RGF0ZVBhcnNlKCIoTm92KSBEZWMgKDI0KSAyNSAoMjYpIDE5
OTUgKDE5OTYpIDEzOjMwICgxMzo0MCkgIiwgODE5ODk4MjAwMDAwICsgbyk7Cit0ZXN0RGF0ZVBh
cnNlKCIoTm92KSBEZWMgKDI0KSAyNSAoMjYpIDE5OTUgKDE5OTYpIDE6MzAgKDE6NDApIFBNIChB
TSkgR01UIChQU1QpIiwgODE5ODk4MjAwMDAwKTsKK3Rlc3REYXRlUGFyc2UoIihOb3YpIERlYyAo
MjQpIDI1ICgyNikgMTk5NSAoMTk5NikgMTozMCAoMTo0MCkgUE0gKEFNKSIsIDgxOTg5ODIwMDAw
MCArIG8pOwordGVzdERhdGVQYXJzZSgiRGVjIDI1IDE5OTUgMTozMChBTSlQTSIsIE5hTik7Cit0
ZXN0RGF0ZVBhcnNlKCJEZWMgMjUgMTk5NSAxOjMwIChBTSlQTSAiLCA4MTk4OTgyMDAwMDAgKyBv
KTsKKwordGVzdERhdGVQYXJzZSgiRGVjIDI1IDE5OTUgKFBEVClVVEMoUFNUKSIsIDgxOTg0OTYw
MDAwMCk7Cit0ZXN0RGF0ZVBhcnNlKCJEZWMgMjUgMTk5NSAoUERUKVVUKFBTVCkiLCA4MTk4NDk2
MDAwMDApOwordGVzdERhdGVQYXJzZSgiRGVjIDI1IDE5OTUgKFVUQylQU1QoR01UKSIsIDgxOTg3
ODQwMDAwMCk7Cit0ZXN0RGF0ZVBhcnNlKCJEZWMgMjUgMTk5NSAoVVRDKVBEVChHTVQpIiwgODE5
ODc0ODAwMDAwKTsKKwordGVzdERhdGVQYXJzZSgiRGVjIDI1IDE5OTUgMTozMCAoUERUKVVUQyhQ
U1QpIiwgODE5ODU1MDAwMDAwKTsKK3Rlc3REYXRlUGFyc2UoIkRlYyAyNSAxOTk1IDE6MzAgKFBE
VClVVChQU1QpIiwgODE5ODU1MDAwMDAwKTsKK3Rlc3REYXRlUGFyc2UoIkRlYyAyNSAxOTk1IDE6
MzAgKFVUQylQU1QoR01UKSIsIDgxOTg4MzgwMDAwMCk7Cit0ZXN0RGF0ZVBhcnNlKCJEZWMgMjUg
MTk5NSAxOjMwIChVVEMpUERUKEdNVCkiLCA4MTk4ODAyMDAwMDApOworCit0ZXN0RGF0ZVBhcnNl
KCJEZWMgMjUgMTk5NSAxOjMwIChBTSkgUE0gKFBTVCkgVVRDIiwgODE5ODk4MjAwMDAwKTsKK3Rl
c3REYXRlUGFyc2UoIkRlYyAyNSAxOTk1IDE6MzAgUE0gKEFNKSAoUFNUKSBVVCIsIDgxOTg5ODIw
MDAwMCk7Cit0ZXN0RGF0ZVBhcnNlKCJEZWMgMjUgMTk5NSAxOjMwIFBNIChBTSkgKFVUQykgUFNU
IiwgODE5OTI3MDAwMDAwKTsKK3Rlc3REYXRlUGFyc2UoIkRlYyAyNSAxOTk1IDE6MzAgKEFNKSBQ
TSBQRFQgKFVUQykiLCA4MTk5MjM0MDAwMDApOworCit0ZXN0RGF0ZVBhcnNlKCJEZWMgMjUgMTk5
NSBYWFggKEdNVCkiLCBOYU4pOwordGVzdERhdGVQYXJzZSgiRGVjIDI1IDE5OTUgMTozMCBYWFgg
KEdNVCkiLCBOYU4pOworCit0ZXN0RGF0ZVBhcnNlKCJEZWMgMjUgMTk5NSAxOjMwIFUoVEMpIiwg
TmFOKTsKK3Rlc3REYXRlUGFyc2UoIkRlYyAyNSAxOTk1IDE6MzAgVihVVEMpIiwgTmFOKTsKK3Rl
c3REYXRlUGFyc2UoIkRlYyAyNSAxOTk1IDE6MzAgKFVUQylXIiwgTmFOKTsKK3Rlc3REYXRlUGFy
c2UoIkRlYyAyNSAxOTk1IDE6MzAgKEdNVClYIiwgTmFOKTsKKwordGVzdERhdGVQYXJzZSgiRGVj
IDI1IDE5OTUgMDozMCAoUE0pIEdNVCIsIDgxOTg1MTQwMDAwMCk7Cit0ZXN0RGF0ZVBhcnNlKCJE
ZWMgMjUgMTk5NSAoMSkwOjMwIEFNIEdNVCIsIDgxOTg1MTQwMDAwMCk7Cit0ZXN0RGF0ZVBhcnNl
KCJEZWMgMjUgMTk5NSAoMSkwOjMwIFBNIEdNVCIsIDgxOTg5NDYwMDAwMCk7CisKK3Rlc3REYXRl
UGFyc2UoIkFuZihEZWMpIDI1IDE5OTUgR01UIiwgTmFOKTsKKwordGVzdERhdGVQYXJzZSgiKFNh
dCkgV2VkIChOb3YpIERlYyAoTm92KSAyNSAxOTk1IDE6MzAgR01UIiwgODE5ODU1MDAwMDAwKTsK
K3Rlc3REYXRlUGFyc2UoIldlZCAoY29tbWVudCAxKSAoY29tbWVudCAyKSBEZWMgMjUgMTk5NSAx
OjMwIEdNVCIsIDgxOTg1NTAwMDAwMCk7Cit0ZXN0RGF0ZVBhcnNlKCJXZWQoY29tbWVudCAxKSAo
Y29tbWVudCAyKSBEZWMgMjUgMTk5NSAxOjMwIEdNVCIsIDgxOTg1NTAwMDAwMCk7Cit0ZXN0RGF0
ZVBhcnNlKCJXZShjb21tZW50IDEpIChjb21tZW50IDIpIERlYyAyNSAxOTk1IDE6MzAgR01UIiwg
ODE5ODU1MDAwMDAwKTsKKworLy8gLS0tLS0tLS0KKworLy8gU3VtbWFyaXplLgorCit2YXIgZmFp
bHVyZXNNZXNzYWdlOworaWYgKGZhaWx1cmVDb3VudCkgeworICAgIGZhaWx1cmVzTWVzc2FnZSA9
IGZhaWx1cmVDb3VudCArICIgdGVzdHMgZmFpbGVkLiI7Cit9IGVsc2UgeworICAgIGZhaWx1cmVz
TWVzc2FnZSA9ICJObyBmYWlsdXJlcy4iOworfQorZG9jdW1lbnQud3JpdGVsbigiPHA+VGVzdGlu
ZyBjb21wbGV0ZS4gIiArIGZhaWx1cmVzTWVzc2FnZSArICI8L3A+Iik7CisKKy8vIC0tLS0tLS0t
CisKKzwvc2NyaXB0PgorCis8L2JvZHk+CisKKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4217</attachid>
            <date>2005-10-05 10:19:11 -0700</date>
            <delta_ts>2005-10-05 10:23:35 -0700</delta_ts>
            <desc>revised patch</desc>
            <filename>5266_r3.patch</filename>
            <type>text/plain</type>
            <size>4462</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IGRhdGVfb2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2
YVNjcmlwdENvcmUva2pzL2RhdGVfb2JqZWN0LmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS41
OQpkaWZmIC11IC1wIC1yMS41OSBkYXRlX29iamVjdC5jcHAKLS0tIGRhdGVfb2JqZWN0LmNwcAk0
IE9jdCAyMDA1IDAxOjQzOjU4IC0wMDAwCTEuNTkKKysrIGRhdGVfb2JqZWN0LmNwcAk1IE9jdCAy
MDA1IDE3OjE5OjI4IC0wMDAwCkBAIC0xMDMxLDYgKzEwMzEsMjIgQEAgZG91YmxlIG1ha2VUaW1l
KHN0cnVjdCB0bSAqdCwgZG91YmxlIG1zLAogICAgIHJldHVybiAobWt0aW1lKHQpICsgdXRjT2Zm
c2V0KSAqIDEwMDAuMCArIG1zICsgeWVhck9mZnNldDsKIH0KIAoraW5saW5lIHN0YXRpYyB2b2lk
IHNraXBTcGFjZXNBbmRDb21tZW50cyhjb25zdCBjaGFyIComcykKK3sKKyAgICBpbnQgbmVzdGlu
ZyA9IDA7CisgICAgY2hhciBjaDsKKyAgICB3aGlsZSAoKGNoID0gKnMpKSB7CisgICAgICAgIGlm
IChjaCA9PSAnKCcpCisgICAgICAgICAgICBuZXN0aW5nKys7CisgICAgICAgIGVsc2UgaWYgKGNo
ID09ICcpJyAmJiBuZXN0aW5nID4gMCkKKyAgICAgICAgICAgIG5lc3RpbmctLTsKKyAgICAgICAg
ZWxzZSBpZiAoIWlzc3BhY2UoY2gpICYmIG5lc3RpbmcgPT0gMCkKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAKKyAgICAgICAgcysrOworICAgIH0KK30KKwogLy8gcmV0dXJucyAwLTExIChK
YW4tRGVjKTsgLTEgb24gZmFpbHVyZQogc3RhdGljIGludCBmaW5kTW9udGgoY29uc3QgY2hhciAq
bW9udGhTdHIpCiB7CkBAIC0xMDgzLDE5ICsxMDk5LDE3IEBAIGRvdWJsZSBLUkZDRGF0ZV9wYXJz
ZURhdGUoY29uc3QgVVN0cmluZyAKICAgICAgYm9vbCBoYXZlX3RpbWUgPSBmYWxzZTsKICAgICAg
CiAgICAgIC8vIFNraXAgbGVhZGluZyBzcGFjZQotICAgICB3aGlsZShpc3NwYWNlKCpkYXRlU3Ry
aW5nKSkKLSAgICAgCWRhdGVTdHJpbmcrKzsKKyAgICAgc2tpcFNwYWNlc0FuZENvbW1lbnRzKGRh
dGVTdHJpbmcpOwogCiAgICAgIGNvbnN0IGNoYXIgKndvcmRTdGFydCA9IGRhdGVTdHJpbmc7CiAg
ICAgIC8vIENoZWNrIGNvbnRlbnRzIG9mIGZpcnN0IHdvcmRzIGlmIG5vdCBudW1iZXIKICAgICAg
d2hpbGUoKmRhdGVTdHJpbmcgJiYgIWlzZGlnaXQoKmRhdGVTdHJpbmcpKQogICAgICB7Ci0gICAg
ICAgIGlmICggaXNzcGFjZSgqZGF0ZVN0cmluZykgJiYgZGF0ZVN0cmluZyAtIHdvcmRTdGFydCA+
PSAzICkKLSAgICAgICAgewotICAgICAgICAgIG1vbnRoID0gZmluZE1vbnRoKHdvcmRTdGFydCk7
Ci0gICAgICAgICAgd2hpbGUoaXNzcGFjZSgqZGF0ZVN0cmluZykpCi0gICAgICAgICAgICAgZGF0
ZVN0cmluZysrOwotICAgICAgICAgIHdvcmRTdGFydCA9IGRhdGVTdHJpbmc7CisgICAgICAgIGlm
IChpc3NwYWNlKCpkYXRlU3RyaW5nKSB8fCAqZGF0ZVN0cmluZyA9PSAnKCcpIHsKKyAgICAgICAg
ICAgaWYgKGRhdGVTdHJpbmcgLSB3b3JkU3RhcnQgPj0gMykKKyAgICAgICAgICAgICAgbW9udGgg
PSBmaW5kTW9udGgod29yZFN0YXJ0KTsKKyAgICAgICAgICAgc2tpcFNwYWNlc0FuZENvbW1lbnRz
KGRhdGVTdHJpbmcpOworICAgICAgICAgICB3b3JkU3RhcnQgPSBkYXRlU3RyaW5nOwogICAgICAg
ICB9CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgZGF0ZVN0cmluZysrOwpAQCAtMTEwNiw4ICsx
MTIwLDcgQEAgZG91YmxlIEtSRkNEYXRlX3BhcnNlRGF0ZShjb25zdCBVU3RyaW5nIAogICAgICAg
IC8vIFRPRE86IGVtaXQgd2FybmluZyBhYm91dCBkdWJpb3VzIGZvcm1hdCBmb3VuZAogICAgICB9
CiAKLSAgICAgd2hpbGUoaXNzcGFjZSgqZGF0ZVN0cmluZykpCi0gICAgIAlkYXRlU3RyaW5nKys7
CisgICAgIHNraXBTcGFjZXNBbmRDb21tZW50cyhkYXRlU3RyaW5nKTsKIAogICAgICBpZiAoISpk
YXRlU3RyaW5nKQogICAgICAJcmV0dXJuIGludmFsaWREYXRlOwpAQCAtMTE2Miw4ICsxMTc1LDcg
QEAgZG91YmxlIEtSRkNEYXRlX3BhcnNlRGF0ZShjb25zdCBVU3RyaW5nIAogICAgICAgIGlmICgq
ZGF0ZVN0cmluZyA9PSAnLScpCiAgICAgICAgICBkYXRlU3RyaW5nKys7CiAKLSAgICAgICB3aGls
ZShpc3NwYWNlKCpkYXRlU3RyaW5nKSkKLSAgICAgICAgIGRhdGVTdHJpbmcrKzsKKyAgICAgICBz
a2lwU3BhY2VzQW5kQ29tbWVudHMoZGF0ZVN0cmluZyk7CiAKICAgICAgICBpZiAoKmRhdGVTdHJp
bmcgPT0gJywnKQogICAgICAgICAgZGF0ZVN0cmluZysrOwpAQCAtMTIwNiw4ICsxMjE4LDExIEBA
IGRvdWJsZSBLUkZDRGF0ZV9wYXJzZURhdGUoY29uc3QgVVN0cmluZyAKICAgICAgICAgICAgICAg
IHllYXIgPSAtMTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgcmV0dXJuIGludmFs
aWREYXRlOwotICAgICAgICB9IGVsc2UgLy8gaW4gdGhlIG5vcm1hbCBjYXNlICh3ZSBwYXJzZWQg
dGhlIHllYXIpLCBhZHZhbmNlIHRvIHRoZSBuZXh0IG51bWJlcgorICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgLy8gaW4gdGhlIG5vcm1hbCBjYXNlICh3ZSBwYXJzZWQgdGhlIHllYXIpLCBh
ZHZhbmNlIHRvIHRoZSBuZXh0IG51bWJlcgogICAgICAgICAgICAgZGF0ZVN0cmluZyA9ICsrbmV3
UG9zU3RyOworICAgICAgICAgICAgc2tpcFNwYWNlc0FuZENvbW1lbnRzKGRhdGVTdHJpbmcpOwor
ICAgICAgICB9CiAKICAgICAgICAgaG91ciA9IHN0cnRvbChkYXRlU3RyaW5nLCAmbmV3UG9zU3Ry
LCAxMCk7CiAKQEAgLTEyNTQsOCArMTI2OSw3IEBAIGRvdWJsZSBLUkZDRGF0ZV9wYXJzZURhdGUo
Y29uc3QgVVN0cmluZyAKICAgICAgICAgICAgICAgcmV0dXJuIGludmFsaWREYXRlOwogICAgICAg
ICAgIH0KIAotICAgICAgICAgIHdoaWxlKGlzc3BhY2UoKmRhdGVTdHJpbmcpKQotICAgICAgICAg
ICAgZGF0ZVN0cmluZysrOworICAgICAgc2tpcFNwYWNlc0FuZENvbW1lbnRzKGRhdGVTdHJpbmcp
OwogCiAJICBpZiAoc3RybmNhc2VjbXAoZGF0ZVN0cmluZywgIkFNIiwgMikgPT0gMCkgewogCSAg
ICBpZiAoaG91ciA+IDEyKQpAQCAtMTI2MywxNiArMTI3NywxNCBAQCBkb3VibGUgS1JGQ0RhdGVf
cGFyc2VEYXRlKGNvbnN0IFVTdHJpbmcgCiAJICAgIGlmIChob3VyID09IDEyKQogCSAgICAgIGhv
dXIgPSAwOwogCSAgICBkYXRlU3RyaW5nICs9IDI7Ci0JICAgIHdoaWxlIChpc3NwYWNlKCpkYXRl
U3RyaW5nKSkKLQkgICAgICBkYXRlU3RyaW5nKys7CisgICAgICAgIHNraXBTcGFjZXNBbmRDb21t
ZW50cyhkYXRlU3RyaW5nKTsKIAkgIH0gZWxzZSBpZiAoc3RybmNhc2VjbXAoZGF0ZVN0cmluZywg
IlBNIiwgMikgPT0gMCkgewogCSAgICBpZiAoaG91ciA+IDEyKQogCSAgICAgIHJldHVybiBpbnZh
bGlkRGF0ZTsKIAkgICAgaWYgKGhvdXIgIT0gMTIpCiAJICAgICAgaG91ciArPSAxMjsKIAkgICAg
ZGF0ZVN0cmluZyArPSAyOwotCSAgICB3aGlsZSAoaXNzcGFjZSgqZGF0ZVN0cmluZykpCi0JICAg
ICAgZGF0ZVN0cmluZysrOworICAgICAgICBza2lwU3BhY2VzQW5kQ29tbWVudHMoZGF0ZVN0cmlu
Zyk7CiAJICB9CiAgICAgICAgIH0KICAgICAgfSBlbHNlIHsKQEAgLTEyODgsOCArMTMwMCw3IEBA
IGRvdWJsZSBLUkZDRGF0ZV9wYXJzZURhdGUoY29uc3QgVVN0cmluZyAKICAgICAgICAgIGhhdmVf
dHogPSB0cnVlOwogICAgICAgIH0KIAotICAgICAgIHdoaWxlIChpc3NwYWNlKCpkYXRlU3RyaW5n
KSkKLSAgICAgICAgICsrZGF0ZVN0cmluZzsKKyAgICAgICBza2lwU3BhY2VzQW5kQ29tbWVudHMo
ZGF0ZVN0cmluZyk7CiAKICAgICAgICBpZiAoc3RybmNhc2VjbXAoZGF0ZVN0cmluZywgIkdNVCIs
IDMpID09IDApIHsKICAgICAgICAgIGRhdGVTdHJpbmcgKz0gMzsKQEAgLTEzMjcsOCArMTMzOCw3
IEBAIGRvdWJsZSBLUkZDRGF0ZV9wYXJzZURhdGUoY29uc3QgVVN0cmluZyAKICAgICAgICB9CiAg
ICAgIH0KIAotICAgICB3aGlsZShpc3NwYWNlKCpkYXRlU3RyaW5nKSkKLSAgICAgICAgZGF0ZVN0
cmluZysrOworICAgICBza2lwU3BhY2VzQW5kQ29tbWVudHMoZGF0ZVN0cmluZyk7CiAKICAgICAg
aWYgKCAqZGF0ZVN0cmluZyAmJiB5ZWFyID09IC0xICkgewogICAgICAgIHllYXIgPSBzdHJ0b2wo
ZGF0ZVN0cmluZywgJm5ld1Bvc1N0ciwgMTApOwpAQCAtMTMzNyw4ICsxMzQ3LDcgQEAgZG91Ymxl
IEtSRkNEYXRlX3BhcnNlRGF0ZShjb25zdCBVU3RyaW5nIAogICAgICAgIGRhdGVTdHJpbmcgPSBu
ZXdQb3NTdHI7CiAgICAgIH0KICAgICAgCi0gICAgIHdoaWxlIChpc3NwYWNlKCpkYXRlU3RyaW5n
KSkKLSAgICAgICBkYXRlU3RyaW5nKys7CisgICAgIHNraXBTcGFjZXNBbmRDb21tZW50cyhkYXRl
U3RyaW5nKTsKICAgICAgCiAgICAgIC8vIFRyYWlsaW5nIGdhcmJhZ2UKICAgICAgaWYgKCpkYXRl
U3RyaW5nICE9ICdcMCcpCg==
</data>
<flag name="review"
          id="689"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>