<?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>91056</bug_id>
          
          <creation_ts>2012-07-12 01:15:09 -0700</creation_ts>
          <short_desc>[V8Bindings] Implement generalised method to validates that the passed object is a sequence type.</short_desc>
          <delta_ts>2012-07-13 02:39: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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Vineet Chaudhary (vineetc)">code.vineet</reporter>
          <assigned_to name="Vineet Chaudhary (vineetc)">code.vineet</assigned_to>
          <cc>abarth</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>jochen</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>667499</commentid>
    <comment_count>0</comment_count>
    <who name="Vineet Chaudhary (vineetc)">code.vineet</who>
    <bug_when>2012-07-12 01:15:09 -0700</bug_when>
    <thetext>This has come up with Comment #10 from Bug90381.
Currently the V8 implementation validates that the passed object is a sequence type only
for MessagePort in V8Utilities::extractTransferables().
There should be generalised method for other types too.
JSDOMBindings already have such generic function toJSSequence().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667501</commentid>
    <comment_count>1</comment_count>
      <attachid>151882</attachid>
    <who name="Vineet Chaudhary (vineetc)">code.vineet</who>
    <bug_when>2012-07-12 01:16:44 -0700</bug_when>
    <thetext>Created attachment 151882
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667503</commentid>
    <comment_count>2</comment_count>
    <who name="Vineet Chaudhary (vineetc)">code.vineet</who>
    <bug_when>2012-07-12 01:18:56 -0700</bug_when>
    <thetext>I thought of removing custom code from V8Utilities.cpp in another patch.
Please let me know if we want that in one patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667518</commentid>
    <comment_count>3</comment_count>
      <attachid>151882</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-07-12 01:38:36 -0700</bug_when>
    <thetext>Comment on attachment 151882
Patch

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

&gt; Source/WebCore/bindings/v8/V8Binding.h:444
&gt; +    inline v8::Handle&lt;v8::Object&gt; toV8Sequence(v8::Handle&lt;v8::Value&gt; value, uint32_t&amp; length)

I think the current toJSSequence() is conformed to the spec. Would you implement toV8Sequence() so that it exactly corresponds to toJSSequence()? (toV8Sequence() in this patch is not conformed to the spec and has a couple of bugs.)

&gt; Source/WebCore/bindings/v8/V8Binding.h:447
&gt; +            V8Proxy::throwTypeError(&quot;TransferArray argument must be an object&quot;);

We want to make this message the same as the toJSSequence()&apos;s one.

&gt; Source/WebCore/bindings/v8/V8Binding.h:455
&gt; +            v8::Local&lt;v8::Array&gt; array = v8::Local&lt;v8::Array&gt;::Cast(v8Value);
&gt; +            length = array-&gt;Length();

You are doing something like:

  array = ...;
  length = ...;
  return object;

which would be wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667521</commentid>
    <comment_count>4</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-07-12 01:39:06 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; I thought of removing custom code from V8Utilities.cpp in another patch.
&gt; Please let me know if we want that in one patch.

Another patch is fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667552</commentid>
    <comment_count>5</comment_count>
      <attachid>151891</attachid>
    <who name="Vineet Chaudhary (vineetc)">code.vineet</who>
    <bug_when>2012-07-12 02:24:07 -0700</bug_when>
    <thetext>Created attachment 151891
Updated Patch

Updated patch with incorporating review comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667557</commentid>
    <comment_count>6</comment_count>
      <attachid>151891</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-07-12 02:34:40 -0700</bug_when>
    <thetext>Comment on attachment 151891
Updated Patch

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

&gt; Source/WebCore/bindings/v8/V8Binding.h:447
&gt; +            V8Proxy::throwTypeError(&quot;Type error&quot;);

To align with toJSSequence(), this could be V8Proxy::throwTypeError(). (though it would just print &quot;Type error&quot;.)

&gt; Source/WebCore/bindings/v8/V8Binding.h:448
&gt; +            return v8::Local&lt;v8::Object&gt;();

You can simply write &apos;return V8Proxy::throwTypeError()&apos;.

&gt; Source/WebCore/bindings/v8/V8Binding.h:453
&gt; +        v8::Local&lt;v8::Value&gt; lengthValue = object-&gt;Get(v8::String::New(&quot;length&quot;));

Isn&apos;t there any possibility that this code throws exception? Then we need to use TryCatch. (See macros in V8BindingMacros.h)

&gt; Source/WebCore/bindings/v8/V8Binding.h:457
&gt; +            V8Proxy::throwTypeError(&quot;Type error&quot;);
&gt; +            return v8::Local&lt;v8::Object&gt;();

return V8Proxy::throwTypeError();

&gt; Source/WebCore/bindings/v8/V8Binding.h:463
&gt; +        if (!lengthValue-&gt;IsNumber()) {
&gt; +            V8Proxy::throwTypeError(&quot;Type error&quot;);
&gt; +            return v8::Local&lt;v8::Object&gt;();
&gt; +        }

Is this check needed? toJSSequence() does not have the check.

&gt; Source/WebCore/bindings/v8/V8Binding.h:465
&gt; +        length = lengthValue-&gt;Uint32Value();

Isn&apos;t there any possibility that this code throws exception? Then we need to use TryCatch. (See macros in V8BindingMacros.h)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667572</commentid>
    <comment_count>7</comment_count>
      <attachid>151891</attachid>
    <who name="Vineet Chaudhary (vineetc)">code.vineet</who>
    <bug_when>2012-07-12 02:50:15 -0700</bug_when>
    <thetext>Comment on attachment 151891
Updated Patch

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

&gt;&gt; Source/WebCore/bindings/v8/V8Binding.h:448
&gt;&gt; +            return v8::Local&lt;v8::Object&gt;();
&gt; 
&gt; You can simply write &apos;return V8Proxy::throwTypeError()&apos;.

actually throwTypeError() returns v8::Value. Then may be might have Cast it to v8::Object

&gt;&gt; Source/WebCore/bindings/v8/V8Binding.h:453
&gt;&gt; +        v8::Local&lt;v8::Value&gt; lengthValue = object-&gt;Get(v8::String::New(&quot;length&quot;));
&gt; 
&gt; Isn&apos;t there any possibility that this code throws exception? Then we need to use TryCatch. (See macros in V8BindingMacros.h)

Oke I will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667574</commentid>
    <comment_count>8</comment_count>
      <attachid>151891</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-07-12 03:00:21 -0700</bug_when>
    <thetext>Comment on attachment 151891
Updated Patch

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

&gt;&gt;&gt; Source/WebCore/bindings/v8/V8Binding.h:448
&gt;&gt;&gt; +            return v8::Local&lt;v8::Object&gt;();
&gt;&gt; 
&gt;&gt; You can simply write &apos;return V8Proxy::throwTypeError()&apos;.
&gt; 
&gt; actually throwTypeError() returns v8::Value. Then may be might have Cast it to v8::Object

What if we change the return type from v8::Handle&lt;v8::Object&gt; to v8::Handle&lt;v8::Value&gt;? Would it cause a problem in the caller side?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667586</commentid>
    <comment_count>9</comment_count>
    <who name="Vineet Chaudhary (vineetc)">code.vineet</who>
    <bug_when>2012-07-12 03:24:24 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 151891 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=151891&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/bindings/v8/V8Binding.h:448
&gt; &gt;&gt;&gt; +            return v8::Local&lt;v8::Object&gt;();
&gt; &gt;&gt; 
&gt; &gt;&gt; You can simply write &apos;return V8Proxy::throwTypeError()&apos;.
&gt; &gt; 
&gt; &gt; actually throwTypeError() returns v8::Value. Then may be might have Cast it to v8::Object
&gt; 
&gt; What if we change the return type from v8::Handle&lt;v8::Object&gt; to v8::Handle&lt;v8::Value&gt;? Would it cause a problem in the caller side?

The original code is 
    v8::Local&lt;v8::Object&gt; transferrables = v8::Local&lt;v8::Object&gt;::Cast(value);

The caller code with Object return type would look like 

    uint32_t length = 0;
    v8::Hand&lt;v8::Object&gt; transferrables = toV8Sequence(value,length);
    if (transferrables.IsEmpty())
        return false;
And this &quot;transferrables&quot; further used.

With return type v8::Value along with the original code we need to add check what throwTypeError() returns.
BTW toJSSequence() returns JSObject.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667610</commentid>
    <comment_count>10</comment_count>
    <who name="Vineet Chaudhary (vineetc)">code.vineet</who>
    <bug_when>2012-07-12 04:16:27 -0700</bug_when>
    <thetext>I was trying to use 
EXCEPTION_BLOCK(v8::Local&lt;v8::Value&gt;, lengthValue, object-&gt;Get(v8::String::New(&quot;length&quot;))); and 
EXCEPTION_BLOCK(uint32_t, sequenceLength, lengthValue-&gt;Uint32Value());

But getting some compile errors like 

Source/WebKit/chromium/v8/include/v8.h: In constructor ‘v8::Handle&lt;T&gt;::Handle(v8::Handle&lt;S&gt;) [with S = v8::Value, T = v8::Object]’:
Source/WebCore/bindings/v8/V8Binding.h:462:9:   instantiated from here
Source/WebKit/chromium/v8/include/v8.h:202:5: error: invalid conversion from ‘v8::Value*’ to ‘v8::Object*’ [-fpermissive]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667755</commentid>
    <comment_count>11</comment_count>
      <attachid>151949</attachid>
    <who name="Vineet Chaudhary (vineetc)">code.vineet</who>
    <bug_when>2012-07-12 07:42:37 -0700</bug_when>
    <thetext>Created attachment 151949
test_patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667785</commentid>
    <comment_count>12</comment_count>
      <attachid>151958</attachid>
    <who name="Vineet Chaudhary (vineetc)">code.vineet</who>
    <bug_when>2012-07-12 08:16:42 -0700</bug_when>
    <thetext>Created attachment 151958
Updated Patch

Updated patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667790</commentid>
    <comment_count>13</comment_count>
      <attachid>151958</attachid>
    <who name="Vineet Chaudhary (vineetc)">code.vineet</who>
    <bug_when>2012-07-12 08:19:49 -0700</bug_when>
    <thetext>Comment on attachment 151958
Updated Patch

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

&gt; Source/WebCore/bindings/v8/V8Binding.h:445
&gt; +    inline v8::Handle&lt;v8::Value&gt; toV8Sequence(v8::Handle&lt;v8::Value&gt; value, uint32_t&amp; length)

inline is to avoid multiple definition error in multiple header inclusion.

&gt; Source/WebCore/bindings/v8/V8Binding.h:462
&gt; +        EXCEPTION_BLOCK(uint32_t, sequenceLength, lengthValue-&gt;Int32Value());

using length gives error of multiple declaration error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667816</commentid>
    <comment_count>14</comment_count>
      <attachid>151958</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-07-12 08:37:07 -0700</bug_when>
    <thetext>Comment on attachment 151958
Updated Patch

OK, thank you very much for the detailed investigation!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668776</commentid>
    <comment_count>15</comment_count>
      <attachid>151958</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-13 02:39:02 -0700</bug_when>
    <thetext>Comment on attachment 151958
Updated Patch

Clearing flags on attachment: 151958

Committed r122555: &lt;http://trac.webkit.org/changeset/122555&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668777</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-13 02:39:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151882</attachid>
            <date>2012-07-12 01:16:44 -0700</date>
            <delta_ts>2012-07-12 02:24:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>to_v8_sequence_01.diff</filename>
            <type>text/plain</type>
            <size>2790</size>
            <attacher name="Vineet Chaudhary (vineetc)">code.vineet</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyMjQyNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA3LTEyICBWaW5lZXQg
Q2hhdWRoYXJ5ICA8cmdmNzQ4QG1vdG9yb2xhLmNvbT4KKworICAgICAgICBbVjhCaW5kaW5nc10g
SW1wbGVtZW50IGdlbmVyYWxpc2VkIG1ldGhvZCB0byB2YWxpZGF0ZXMgdGhhdCB0aGUgcGFzc2Vk
IG9iamVjdCBpcyBhIHNlcXVlbmNlIHR5cGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05MTA1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEN1cnJlbnRseSB0aGUgVjggaW1wbGVtZW50YXRpb24gdmFsaWRh
dGVzIHRoYXQgdGhlIHBhc3NlZCBvYmplY3QgaXMgYSBzZXF1ZW5jZSB0eXBlIG9ubHkKKyAgICAg
ICAgZm9yIE1lc3NhZ2VQb3J0IGluIFY4VXRpbGl0aWVzOjpleHRyYWN0VHJhbnNmZXJhYmxlcygp
LgorICAgICAgICBUaGVyZSBzaG91bGQgYmUgZ2VuZXJhbGlzZWQgbWV0aG9kIGZvciBvdGhlciB0
eXBlcyB0b28uCisgICAgICAgIFNwZWMgVVJMOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEyL1dE
LVdlYklETC0yMDEyMDIwNy8jZXMtc2VxdWVuY2UKKworICAgICAgICBObyBuZXcgdGVzdCwgSnVz
dCByZWZhY3RvcmluZyBhcyB0aGVyZSBhcmUgbm8gYmVoYXZpb3JhbCBjaGFuZ2VzLgorCisgICAg
ICAgICogYmluZGluZ3MvdjgvVjhCaW5kaW5nLmg6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4U2Vx
dWVuY2UpOiBBZGRlZCBpbXBsZW1lbnRhdGlvbiBvZiB0b1Y4U2VxdWVuY2UoKS4KKwogMjAxMi0w
Ny0xMiAgUGhpbGlwIFJvZ2VycyAgPHBkckBnb29nbGUuY29tPgogCiAgICAgICAgIFJlZmFjdG9y
IFJlbmRlclNWR1NoYXBlIGJvdW5kaW5nIGJveCBjb2RlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOEJpbmRpbmcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9WOEJpbmRpbmcuaAkocmV2aXNpb24gMTIyMzIyKQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvVjhCaW5kaW5nLmgJKHdvcmtpbmcgY29weSkKQEAgLTQzOSw2ICs0MzksMzIg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAor
ICAgIC8vIFZhbGlkYXRlcyB0aGF0IHRoZSBwYXNzZWQgb2JqZWN0IGlzIGEgc2VxdWVuY2UgdHlw
ZSBwZXIgV2ViSURMIHNwZWMKKyAgICAvLyBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEyL1dELVdl
YklETC0yMDEyMDIwNy8jZXMtc2VxdWVuY2UuCisgICAgaW5saW5lIHY4OjpIYW5kbGU8djg6Ok9i
amVjdD4gdG9WOFNlcXVlbmNlKHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2YWx1ZSwgdWludDMyX3Qm
IGxlbmd0aCkKKyAgICB7CisgICAgICAgIGlmICghdmFsdWUtPklzT2JqZWN0KCkpIHsKKyAgICAg
ICAgICAgIFY4UHJveHk6OnRocm93VHlwZUVycm9yKCJUcmFuc2ZlckFycmF5IGFyZ3VtZW50IG11
c3QgYmUgYW4gb2JqZWN0Iik7CisgICAgICAgICAgICByZXR1cm4gdjg6OkxvY2FsPHY4OjpPYmpl
Y3Q+KCk7CisgICAgICAgIH0KKyAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdjhWYWx1ZSh2
ODo6TG9jYWw8djg6OlZhbHVlPjo6TmV3KHZhbHVlKSk7CisgICAgICAgIHY4OjpMb2NhbDx2ODo6
T2JqZWN0PiBvYmplY3QgPSB2ODo6TG9jYWw8djg6Ok9iamVjdD46OkNhc3QodjhWYWx1ZSk7CisK
KyAgICAgICAgaWYgKHZhbHVlLT5Jc0FycmF5KCkpIHsKKyAgICAgICAgICAgIHY4OjpMb2NhbDx2
ODo6QXJyYXk+IGFycmF5ID0gdjg6OkxvY2FsPHY4OjpBcnJheT46OkNhc3QodjhWYWx1ZSk7Cisg
ICAgICAgICAgICBsZW5ndGggPSBhcnJheS0+TGVuZ3RoKCk7CisgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICAvLyBTZXF1ZW5jZS10eXBlIG9iamVjdCAtIGdldCB0aGUgbGVuZ3RoIGF0dHJp
YnV0ZQorICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gc2VxdWVuY2VMZW5ndGggPSBv
YmplY3QtPkdldCh2ODo6U3RyaW5nOjpOZXcoImxlbmd0aCIpKTsKKyAgICAgICAgICAgIGlmICgh
c2VxdWVuY2VMZW5ndGgtPklzTnVtYmVyKCkpIHsKKyAgICAgICAgICAgICAgICBWOFByb3h5Ojp0
aHJvd1R5cGVFcnJvcigiVHJhbnNmZXJBcnJheSBhcmd1bWVudCBoYXMgbm8gbGVuZ3RoIGF0dHJp
YnV0ZSIpOworICAgICAgICAgICAgICAgIHJldHVybiB2ODo6TG9jYWw8djg6Ok9iamVjdD4oKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGxlbmd0aCA9IHNlcXVlbmNlTGVuZ3RoLT5VaW50
MzJWYWx1ZSgpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBvYmplY3Q7CisgICAgfQorCiAg
ICAgLy8gRW5hYmxlcyBjYWNoaW5nIHY4IHdyYXBwZXJzIGNyZWF0ZWQgZm9yIFdURjo6U3RyaW5n
SW1wbC4gIEN1cnJlbnRseSB0aGlzIGNhY2hlIHJlcXVpcmVzCiAgICAgLy8gYWxsIHRoZSBjYWxs
cyAoYm90aCB0byBjb252ZXJ0IFdURjo6U3RyaW5nIHRvIHY4OjpTdHJpbmcgYW5kIHRvIEdDIHRo
ZSBoYW5kbGUpCiAgICAgLy8gdG8gYmUgcGVyZm9ybWVkIG9uIHRoZSBtYWluIHRocmVhZC4K
</data>
<flag name="review"
          id="160440"
          type_id="1"
          status="-"
          setter="haraken"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151891</attachid>
            <date>2012-07-12 02:24:07 -0700</date>
            <delta_ts>2012-07-12 08:16:42 -0700</delta_ts>
            <desc>Updated Patch</desc>
            <filename>to_v8_sequence_02.diff</filename>
            <type>text/plain</type>
            <size>2633</size>
            <attacher name="Vineet Chaudhary (vineetc)">code.vineet</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyMjQzMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA3LTEyICBWaW5lZXQg
Q2hhdWRoYXJ5ICA8cmdmNzQ4QG1vdG9yb2xhLmNvbT4KKworICAgICAgICBbVjhCaW5kaW5nc10g
SW1wbGVtZW50IGdlbmVyYWxpc2VkIG1ldGhvZCB0byB2YWxpZGF0ZXMgdGhhdCB0aGUgcGFzc2Vk
IG9iamVjdCBpcyBhIHNlcXVlbmNlIHR5cGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05MTA1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEN1cnJlbnRseSB0aGUgVjggaW1wbGVtZW50YXRpb24gdmFsaWRh
dGVzIHRoYXQgdGhlIHBhc3NlZCBvYmplY3QgaXMgYSBzZXF1ZW5jZSB0eXBlIG9ubHkKKyAgICAg
ICAgZm9yIE1lc3NhZ2VQb3J0IGluIFY4VXRpbGl0aWVzOjpleHRyYWN0VHJhbnNmZXJhYmxlcygp
LgorICAgICAgICBUaGVyZSBzaG91bGQgYmUgZ2VuZXJhbGlzZWQgbWV0aG9kIGZvciBvdGhlciB0
eXBlcyB0b28uCisgICAgICAgIFNwZWMgVVJMOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEyL1dE
LVdlYklETC0yMDEyMDIwNy8jZXMtc2VxdWVuY2UKKworICAgICAgICBObyBuZXcgdGVzdCwgSnVz
dCByZWZhY3RvcmluZyBhcyB0aGVyZSBhcmUgbm8gYmVoYXZpb3JhbCBjaGFuZ2VzLgorCisgICAg
ICAgICogYmluZGluZ3MvdjgvVjhCaW5kaW5nLmg6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4U2Vx
dWVuY2UpOiBBZGRlZCBpbXBsZW1lbnRhdGlvbiBvZiB0b1Y4U2VxdWVuY2UoKS4KKwogMjAxMi0w
Ny0xMiAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbU2hh
ZG93IERPTV0gPHZpZGVvPiB3aXRoIDxzaGFkb3c+IGNyYXNoZXMKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5oCShyZXZpc2lvbiAxMjIzMjIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcuaAkod29ya2luZyBjb3B5KQpAQCAtNDM5LDYgKzQz
OSwzMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAg
fQogCisgICAgLy8gVmFsaWRhdGVzIHRoYXQgdGhlIHBhc3NlZCBvYmplY3QgaXMgYSBzZXF1ZW5j
ZSB0eXBlIHBlciBXZWJJREwgc3BlYworICAgIC8vIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTIv
V0QtV2ViSURMLTIwMTIwMjA3LyNlcy1zZXF1ZW5jZQorICAgIGlubGluZSB2ODo6SGFuZGxlPHY4
OjpPYmplY3Q+IHRvVjhTZXF1ZW5jZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUsIHVpbnQz
Ml90JiBsZW5ndGgpCisgICAgeworICAgICAgICBpZiAoIXZhbHVlLT5Jc09iamVjdCgpKSB7Cisg
ICAgICAgICAgICBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigiVHlwZSBlcnJvciIpOworICAgICAg
ICAgICAgcmV0dXJuIHY4OjpMb2NhbDx2ODo6T2JqZWN0PigpOworICAgICAgICB9CisgICAgICAg
IHY4OjpMb2NhbDx2ODo6VmFsdWU+IHY4VmFsdWUodjg6OkxvY2FsPHY4OjpWYWx1ZT46Ok5ldyh2
YWx1ZSkpOworICAgICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gb2JqZWN0ID0gdjg6OkxvY2Fs
PHY4OjpPYmplY3Q+OjpDYXN0KHY4VmFsdWUpOworCisgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFs
dWU+IGxlbmd0aFZhbHVlID0gb2JqZWN0LT5HZXQodjg6OlN0cmluZzo6TmV3KCJsZW5ndGgiKSk7
CisKKyAgICAgICAgaWYgKGxlbmd0aFZhbHVlLT5Jc1VuZGVmaW5lZCgpIHx8IGxlbmd0aFZhbHVl
LT5Jc051bGwoKSkgeworICAgICAgICAgICAgVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoIlR5cGUg
ZXJyb3IiKTsKKyAgICAgICAgICAgIHJldHVybiB2ODo6TG9jYWw8djg6Ok9iamVjdD4oKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGlmICghbGVuZ3RoVmFsdWUtPklzTnVtYmVyKCkpIHsKKyAgICAg
ICAgICAgIFY4UHJveHk6OnRocm93VHlwZUVycm9yKCJUeXBlIGVycm9yIik7CisgICAgICAgICAg
ICByZXR1cm4gdjg6OkxvY2FsPHY4OjpPYmplY3Q+KCk7CisgICAgICAgIH0KKworICAgICAgICBs
ZW5ndGggPSBsZW5ndGhWYWx1ZS0+VWludDMyVmFsdWUoKTsKKyAgICAgICAgcmV0dXJuIG9iamVj
dDsKKyAgICB9CisKICAgICAvLyBFbmFibGVzIGNhY2hpbmcgdjggd3JhcHBlcnMgY3JlYXRlZCBm
b3IgV1RGOjpTdHJpbmdJbXBsLiAgQ3VycmVudGx5IHRoaXMgY2FjaGUgcmVxdWlyZXMKICAgICAv
LyBhbGwgdGhlIGNhbGxzIChib3RoIHRvIGNvbnZlcnQgV1RGOjpTdHJpbmcgdG8gdjg6OlN0cmlu
ZyBhbmQgdG8gR0MgdGhlIGhhbmRsZSkKICAgICAvLyB0byBiZSBwZXJmb3JtZWQgb24gdGhlIG1h
aW4gdGhyZWFkLgo=
</data>
<flag name="review"
          id="160456"
          type_id="1"
          status="-"
          setter="haraken"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151949</attachid>
            <date>2012-07-12 07:42:37 -0700</date>
            <delta_ts>2012-07-12 08:16:42 -0700</delta_ts>
            <desc>test_patch</desc>
            <filename>test.patch</filename>
            <type>text/plain</type>
            <size>2674</size>
            <attacher name="Vineet Chaudhary (vineetc)">code.vineet</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5oCShyZXZpc2lvbiAxMjI0
NTApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcuaAkod29ya2luZyBj
b3B5KQpAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkJpbmRpbmdTZWN1cml0eS5oIgogI2lu
Y2x1ZGUgIkRPTURhdGFTdG9yZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisjaW5j
bHVkZSAiVjhCaW5kaW5nTWFjcm9zLmgiCiAjaW5jbHVkZSAiVjhET01XcmFwcGVyLmgiCiAjaW5j
bHVkZSAiVjhHQ0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJWOEhpZGRlblByb3BlcnR5TmFtZS5o
IgpAQCAtNDM5LDYgKzQ0MCwyNyBAQAogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAor
ICAgIC8vIFZhbGlkYXRlcyB0aGF0IHRoZSBwYXNzZWQgb2JqZWN0IGlzIGEgc2VxdWVuY2UgdHlw
ZSBwZXIgV2ViSURMIHNwZWMKKyAgICAvLyBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEyL1dELVdl
YklETC0yMDEyMDIwNy8jZXMtc2VxdWVuY2UKKyAgICBpbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IHRvVjhTZXF1ZW5jZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUsIHVpbnQzMl90JiBs
ZW5ndGgpCisgICAgeworICAgICAgICBpZiAoIXZhbHVlLT5Jc09iamVjdCgpKSB7CisgICAgICAg
ICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoKTsKKyAgICAgICAgfQorICAgICAg
ICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2OFZhbHVlKHY4OjpMb2NhbDx2ODo6VmFsdWU+OjpOZXco
dmFsdWUpKTsKKyAgICAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IG9iamVjdCA9IHY4OjpMb2Nh
bDx2ODo6T2JqZWN0Pjo6Q2FzdCh2OFZhbHVlKTsKKworICAgICAgICBFWENFUFRJT05fQkxPQ0so
djg6OkxvY2FsPHY4OjpWYWx1ZT4sIGxlbmd0aFZhbHVlLCBvYmplY3QtPkdldCh2ODo6U3RyaW5n
OjpOZXcoImxlbmd0aCIpKSk7CisKKyAgICAgICAgaWYgKGxlbmd0aFZhbHVlLT5Jc1VuZGVmaW5l
ZCgpIHx8IGxlbmd0aFZhbHVlLT5Jc051bGwoKSkgeworICAgICAgICAgICAgcmV0dXJuIFY4UHJv
eHk6OnRocm93VHlwZUVycm9yKCk7CisgICAgICAgIH0KKworICAgICAgICBFWENFUFRJT05fQkxP
Q0sodWludDMyX3QsIHNlcXVlbmNlTGVuZ3RoLCBsZW5ndGhWYWx1ZS0+SW50MzJWYWx1ZSgpKTsK
KyAgICAgICAgbGVuZ3RoID0gc2VxdWVuY2VMZW5ndGg7CisgICAgICAgIHJldHVybiB2OFZhbHVl
OworICAgIH0KKwogICAgIC8vIEVuYWJsZXMgY2FjaGluZyB2OCB3cmFwcGVycyBjcmVhdGVkIGZv
ciBXVEY6OlN0cmluZ0ltcGwuICBDdXJyZW50bHkgdGhpcyBjYWNoZSByZXF1aXJlcwogICAgIC8v
IGFsbCB0aGUgY2FsbHMgKGJvdGggdG8gY29udmVydCBXVEY6OlN0cmluZyB0byB2ODo6U3RyaW5n
IGFuZCB0byBHQyB0aGUgaGFuZGxlKQogICAgIC8vIHRvIGJlIHBlcmZvcm1lZCBvbiB0aGUgbWFp
biB0aHJlYWQuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFV0aWxpdGllcy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhVdGlsaXRpZXMu
Y3BwCShyZXZpc2lvbiAxMjI0NTApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFV0
aWxpdGllcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkxLDE0ICs5MSwxNyBAQAogICAgICAgICBh
cnJheUJ1ZmZlcnMucmVzaXplKDApOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9Ci0KKy8q
CiAgICAgaWYgKCF2YWx1ZS0+SXNPYmplY3QoKSkgewogICAgICAgICBWOFByb3h5Ojp0aHJvd1R5
cGVFcnJvcigiVHJhbnNmZXJBcnJheSBhcmd1bWVudCBtdXN0IGJlIGFuIG9iamVjdCIpOwogICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQorICAgIH0qLwogICAgIHVpbnQzMl90IGxlbmd0aCA9
IDA7CisgICAgaWYgKHRvVjhTZXF1ZW5jZSh2YWx1ZSwgbGVuZ3RoKS5Jc0VtcHR5KCkpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKwogICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiB0cmFuc2ZlcnJh
YmxlcyA9IHY4OjpMb2NhbDx2ODo6T2JqZWN0Pjo6Q2FzdCh2YWx1ZSk7Ci0KKy8qCiAgICAgaWYg
KHZhbHVlLT5Jc0FycmF5KCkpIHsKICAgICAgICAgdjg6OkxvY2FsPHY4OjpBcnJheT4gYXJyYXkg
PSB2ODo6TG9jYWw8djg6OkFycmF5Pjo6Q2FzdCh2YWx1ZSk7CiAgICAgICAgIGxlbmd0aCA9IGFy
cmF5LT5MZW5ndGgoKTsKQEAgLTExMSw3ICsxMTQsNyBAQAogICAgICAgICB9CiAgICAgICAgIGxl
bmd0aCA9IHNlcXVlbmNlTGVuZ3RoLT5VaW50MzJWYWx1ZSgpOwogICAgIH0KLQorKi8KICAgICAv
LyBWYWxpZGF0ZSB0aGUgcGFzc2VkIGFycmF5IG9mIHRyYW5zZmVycmFibGVzLgogICAgIGZvciAo
dW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKICAgICAgICAgdjg6OkxvY2Fs
PHY4OjpWYWx1ZT4gdHJhbnNmZXJyYWJsZSA9IHRyYW5zZmVycmFibGVzLT5HZXQoaSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151958</attachid>
            <date>2012-07-12 08:16:42 -0700</date>
            <delta_ts>2012-07-13 02:39:02 -0700</delta_ts>
            <desc>Updated Patch</desc>
            <filename>to_v8_sequence_03.diff</filename>
            <type>text/plain</type>
            <size>2789</size>
            <attacher name="Vineet Chaudhary (vineetc)">code.vineet</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyMjQ1OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA3LTEyICBWaW5lZXQg
Q2hhdWRoYXJ5ICA8cmdmNzQ4QG1vdG9yb2xhLmNvbT4KKworICAgICAgICBbVjhCaW5kaW5nc10g
SW1wbGVtZW50IGdlbmVyYWxpc2VkIG1ldGhvZCB0byB2YWxpZGF0ZXMgdGhhdCB0aGUgcGFzc2Vk
IG9iamVjdCBpcyBhIHNlcXVlbmNlIHR5cGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05MTA1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEN1cnJlbnRseSB0aGUgVjggaW1wbGVtZW50YXRpb24gdmFsaWRh
dGVzIHRoYXQgdGhlIHBhc3NlZCBvYmplY3QgaXMgYSBzZXF1ZW5jZSB0eXBlIG9ubHkKKyAgICAg
ICAgZm9yIE1lc3NhZ2VQb3J0IGluIFY4VXRpbGl0aWVzOjpleHRyYWN0VHJhbnNmZXJhYmxlcygp
LgorICAgICAgICBUaGVyZSBzaG91bGQgYmUgZ2VuZXJhbGlzZWQgbWV0aG9kIGZvciBvdGhlciB0
eXBlcyB0b28uCisgICAgICAgIFNwZWMgVVJMOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEyL1dE
LVdlYklETC0yMDEyMDIwNy8jZXMtc2VxdWVuY2UKKworICAgICAgICBObyBuZXcgdGVzdCwgSnVz
dCByZWZhY3RvcmluZy4gVGhlcmUgc2hvdWxkIGJlIG5vIGJlaGF2aW9yYWwgY2hhbmdlcy4KKwor
ICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4QmluZGluZy5oOgorICAgICAgICAoV2ViQ29yZTo6dG9W
OFNlcXVlbmNlKTogQWRkZWQgaW1wbGVtZW50YXRpb24gb2YgdG9WOFNlcXVlbmNlKCkuCisKIDIw
MTItMDctMTIgIERvbmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBJbnNw
ZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwIGhhdmUgdG8gaW5jbHVkZSBGaWxlLmggZXhwbGljaXRs
eQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmgJKHJldmlzaW9uIDEy
MjQ1MCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiQmluZGluZ1NlY3VyaXR5LmgiCiAj
aW5jbHVkZSAiRE9NRGF0YVN0b3JlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNp
bmNsdWRlICJWOEJpbmRpbmdNYWNyb3MuaCIKICNpbmNsdWRlICJWOERPTVdyYXBwZXIuaCIKICNp
bmNsdWRlICJWOEdDQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIlY4SGlkZGVuUHJvcGVydHlOYW1l
LmgiCkBAIC00MzksNiArNDQwLDMxIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgcmV0
dXJuIHJlc3VsdDsKICAgICB9CiAKKyAgICAvLyBWYWxpZGF0ZXMgdGhhdCB0aGUgcGFzc2VkIG9i
amVjdCBpcyBhIHNlcXVlbmNlIHR5cGUgcGVyIFdlYklETCBzcGVjCisgICAgLy8gaHR0cDovL3d3
dy53My5vcmcvVFIvMjAxMi9XRC1XZWJJREwtMjAxMjAyMDcvI2VzLXNlcXVlbmNlCisgICAgaW5s
aW5lIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4U2VxdWVuY2Uodjg6OkhhbmRsZTx2ODo6VmFs
dWU+IHZhbHVlLCB1aW50MzJfdCYgbGVuZ3RoKQorICAgIHsKKyAgICAgICAgaWYgKCF2YWx1ZS0+
SXNPYmplY3QoKSkgeworICAgICAgICAgICAgVjhQcm94eTo6dGhyb3dUeXBlRXJyb3IoKTsKKyAg
ICAgICAgICAgIHJldHVybiB2ODo6TG9jYWw8djg6OlZhbHVlPigpOworICAgICAgICB9CisKKyAg
ICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdjhWYWx1ZSh2ODo6TG9jYWw8djg6OlZhbHVlPjo6
TmV3KHZhbHVlKSk7CisgICAgICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBvYmplY3QgPSB2ODo6
TG9jYWw8djg6Ok9iamVjdD46OkNhc3QodjhWYWx1ZSk7CisKKyAgICAgICAgRVhDRVBUSU9OX0JM
T0NLKHY4OjpMb2NhbDx2ODo6VmFsdWU+LCBsZW5ndGhWYWx1ZSwgb2JqZWN0LT5HZXQodjg6OlN0
cmluZzo6TmV3KCJsZW5ndGgiKSkpOworCisgICAgICAgIGlmIChsZW5ndGhWYWx1ZS0+SXNVbmRl
ZmluZWQoKSB8fCBsZW5ndGhWYWx1ZS0+SXNOdWxsKCkpIHsKKyAgICAgICAgICAgIFY4UHJveHk6
OnRocm93VHlwZUVycm9yKCk7CisgICAgICAgICAgICByZXR1cm4gdjg6OkxvY2FsPHY4OjpWYWx1
ZT4oKTsKKyAgICAgICAgfQorCisgICAgICAgIEVYQ0VQVElPTl9CTE9DSyh1aW50MzJfdCwgc2Vx
dWVuY2VMZW5ndGgsIGxlbmd0aFZhbHVlLT5JbnQzMlZhbHVlKCkpOworICAgICAgICBsZW5ndGgg
PSBzZXF1ZW5jZUxlbmd0aDsKKworICAgICAgICByZXR1cm4gdjhWYWx1ZTsKKyAgICB9CisKICAg
ICAvLyBFbmFibGVzIGNhY2hpbmcgdjggd3JhcHBlcnMgY3JlYXRlZCBmb3IgV1RGOjpTdHJpbmdJ
bXBsLiAgQ3VycmVudGx5IHRoaXMgY2FjaGUgcmVxdWlyZXMKICAgICAvLyBhbGwgdGhlIGNhbGxz
IChib3RoIHRvIGNvbnZlcnQgV1RGOjpTdHJpbmcgdG8gdjg6OlN0cmluZyBhbmQgdG8gR0MgdGhl
IGhhbmRsZSkKICAgICAvLyB0byBiZSBwZXJmb3JtZWQgb24gdGhlIG1haW4gdGhyZWFkLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>