<?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>40080</bug_id>
          
          <creation_ts>2010-06-02 13:08:06 -0700</creation_ts>
          <short_desc>Web Inspector: better Function.prototype.bind for the internal code</short_desc>
          <delta_ts>2010-06-04 08:37:56 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Nikita Vasilyev">me</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>commit-queue</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>233404</commentid>
    <comment_count>0</comment_count>
      <attachid>57687</attachid>
    <who name="Nikita Vasilyev">me</who>
    <bug_when>2010-06-02 13:08:06 -0700</bug_when>
    <thetext>Created attachment 57687
function.bind() causing useless listenerBody message

While digging Web Inspector I noticed how useless sometimes &quot;Event Listeners&quot; pane is. The problem is in the &quot;binded&quot; functions. All binded functions looks like: function () { return func.apply(thisObject, args.concat(Array.prototype.slice.call(arguments, 0))); }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233408</commentid>
    <comment_count>1</comment_count>
      <attachid>57688</attachid>
    <who name="Nikita Vasilyev">me</who>
    <bug_when>2010-06-02 13:16:17 -0700</bug_when>
    <thetext>Created attachment 57688
Show handler instead of Function.prototype.bind</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233409</commentid>
    <comment_count>2</comment_count>
      <attachid>57689</attachid>
    <who name="Nikita Vasilyev">me</who>
    <bug_when>2010-06-02 13:19:01 -0700</bug_when>
    <thetext>Created attachment 57689
Show handler instead of Function.prototype.bind</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233422</commentid>
    <comment_count>3</comment_count>
      <attachid>57694</attachid>
    <who name="Nikita Vasilyev">me</who>
    <bug_when>2010-06-02 13:36:14 -0700</bug_when>
    <thetext>Created attachment 57694
Show a handler function instead of Function.prototype.bind

binded --&gt; bound</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233426</commentid>
    <comment_count>4</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-06-02 13:45:35 -0700</bug_when>
    <thetext>Nikita, great idea!

We should keep this in mind for if/when we end up using a native Function.prototype.bind. (@see bug 26382)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233441</commentid>
    <comment_count>5</comment_count>
      <attachid>57700</attachid>
    <who name="Nikita Vasilyev">me</who>
    <bug_when>2010-06-02 14:05:51 -0700</bug_when>
    <thetext>Created attachment 57700
Show a handler function instead of Function.prototype.bind

s/binded/bound/ in the ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233677</commentid>
    <comment_count>6</comment_count>
      <attachid>57700</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-06-03 02:46:26 -0700</bug_when>
    <thetext>Comment on attachment 57700
Show a handler function instead of Function.prototype.bind


WebCore/inspector/front-end/utilities.js:61
 +      bound.toString = function toString() {
Psease, use anonymouse function on the right here: bound.toString = function() {</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233683</commentid>
    <comment_count>7</comment_count>
      <attachid>57700</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-06-03 03:11:54 -0700</bug_when>
    <thetext>Comment on attachment 57700
Show a handler function instead of Function.prototype.bind

Clearing r+ since Nikita won&apos;t be able to land it with modifications anyways (he is not yet a committer).

WebCore/inspector/front-end/utilities.js:58
 +      function bound() {
Please move { to the next line.


Also, I am not a fan of this change - it improves things for Web Inspector, but leaves rest of the web developers suffering. None of the major frameworks do this trick for the bind.
In fact, there already is something that could become a standard: see https://bugs.webkit.org/show_bug.cgi?id=25171. I don&apos;t like it much, but it is already there. I&apos;d rather support displayName in event listeners list and set in bind to be consistent.

Ideal solution to my taste is when we infer the name from the closure. It is hard though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233714</commentid>
    <comment_count>8</comment_count>
    <who name="Patrick Mueller">pmuellr</who>
    <bug_when>2010-06-03 05:20:56 -0700</bug_when>
    <thetext>Using displayName will allow you to see a function name on the call stack in the debugger, in the profiler, and other places.  Not clear if it helps with the toString() output that Nikita originally posted the bug about.  Quick check in WI says it doesn&apos;t:

    &gt; var x = function() { }
    undefined

    &gt; x
    function () { }

    &gt; x.displayName = &quot;a_function_called_x&quot;
    &quot;a_function_called_x&quot;

    &gt; x
    function () { }

    &gt; x.toString()
    &quot;function () { }&quot;

But it wouldn&apos;t show the &quot;original&quot; function body anyway.

My main objection to the proposed fix is that it&apos;s misleading.  The debugger is showing you something which isn&apos;t true.  I&apos;d be quite happy if the toString() was implemented like this though:

binded.toString = function toString() {
    return &quot;bound: &quot; + func.toString();
};</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233715</commentid>
    <comment_count>9</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-06-03 05:29:59 -0700</bug_when>
    <thetext>&gt; But it wouldn&apos;t show the &quot;original&quot; function body anyway.
&gt; 
&gt; My main objection to the proposed fix is that it&apos;s misleading.  The debugger is showing you something which isn&apos;t true.  I&apos;d be quite happy if the toString() was implemented like this though:
&gt; 
&gt; binded.toString = function toString() {
&gt;     return &quot;bound: &quot; + func.toString();
&gt; };

I would be totally fine with the change if we did not have this displayName already. In fact, we don&apos;t support it in v8 (and do not need to support it) since we have name inferring that works much better. I wonder if JSC guys are interested in getting rid of displayName and doing inferring as well. In that case, toString would not conflict with the displayName approach. Timothy, what do you say?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233728</commentid>
    <comment_count>10</comment_count>
    <who name="Patrick Mueller">pmuellr</who>
    <bug_when>2010-06-03 06:07:23 -0700</bug_when>
    <thetext>I forgot to mention that if we do the toString() thuing, we should also do the displayName thing.  So we get the benefits for toString() usage, and on the stack, in the profiler, etc.  Suggest the displayName be set to the derived function name (if there is one!), prefixed with &quot;bound: &quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233729</commentid>
    <comment_count>11</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2010-06-03 06:16:44 -0700</bug_when>
    <thetext>I don&apos;t see what the big deal is with bound.toString = function toString(). It helps the debugger and profiler in JSC. Sure we would rather have inferred names, but we don&apos;t yet. Andwho knows when we will.

I don&apos;t see any huge negatives from keeping it. The fact that we even talked about this is pretty pathetic. Just remove it and move on. (IIRC, Nikita has done this in other patches.)

Patrick, setting displayName is overkill and will make bind slower for no end user added benifit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233730</commentid>
    <comment_count>12</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-06-03 06:18:27 -0700</bug_when>
    <thetext>Patrick opened my eyes to the fact that we&apos;d like the function body here, not the name only. The reason I keep forgetting about it is that it is lame. In Chromium, we have a link to the source code with the handler function for each event listener instead. I think JSC should catch up soonish. But neither toString nor displayName would fix the problem of navigating to the proper function in case of bind.

I think what we should do is to instrument all the handler registrations and store JavaScript source location at the place of the registration. That clearly adds some overhead and needs to be optional, but it gives us source location of the handler registration. And that is exactly what user needs. He might see call to bind there, but he will see bind&apos;s arguments as well. We were thinking of doing this for timeline long ago. It might be good time to start.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233733</commentid>
    <comment_count>13</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2010-06-03 06:21:09 -0700</bug_when>
    <thetext>That sounds fine. I agree JSC needs to catch up. Then again I&apos;d rather have one JS engine that everyone shared…</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234137</commentid>
    <comment_count>14</comment_count>
    <who name="Nikita Vasilyev">me</who>
    <bug_when>2010-06-04 02:58:57 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; My main objection to the proposed fix is that it&apos;s misleading.  The debugger is showing you something which isn&apos;t true.  I&apos;d be quite happy if the toString() was implemented like this though:
&gt; 
&gt; binded.toString = function toString() {
&gt;     return &quot;bound: &quot; + func.toString();
&gt; };

Sounds good enough for me. 

So, everyone, what&apos;s the final decision?


(In reply to comment #7)
&gt; ... None of the major frameworks do this trick for the bind.

http://dev.jquery.com/ticket/6632
https://prototype.lighthouseapp.com/projects/8886/tickets/1069-make-bound-functions-look-nicely-in-web-inspector-event-listeners-pane


(In reply to comment #12)
&gt; I think what we should do is to instrument all the handler registrations and store JavaScript source location at the place of the registration. That clearly adds some overhead and needs to be optional, but it gives us source location of the handler registration. And that is exactly what user needs. He might see call to bind there, but he will see bind&apos;s arguments as well. We were thinking of doing this for timeline long ago. It might be good time to start.

Chrome already did it, isn&apos;t it?
http://elv1s.ru/i/chrome-inspector-events-line_numbers.png</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234158</commentid>
    <comment_count>15</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-06-04 04:42:41 -0700</bug_when>
    <thetext>&gt; So, everyone, what&apos;s the final decision?
&gt; 

The final decision is to ask you to prepend &apos;bound:&apos;, fix style nites and let us land it!

&gt; 
&gt; Chrome already did it, isn&apos;t it?
&gt; http://elv1s.ru/i/chrome-inspector-events-line_numbers.png

It did, but the line number is going to point to bind no matter you land this fix or now. And it&apos;ll become misleading.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234163</commentid>
    <comment_count>16</comment_count>
      <attachid>57864</attachid>
    <who name="Nikita Vasilyev">me</who>
    <bug_when>2010-06-04 04:58:30 -0700</bug_when>
    <thetext>Created attachment 57864
Show a handler function instead of Function.prototype.bind</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234231</commentid>
    <comment_count>17</comment_count>
      <attachid>57864</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-06-04 08:37:49 -0700</bug_when>
    <thetext>Comment on attachment 57864
Show a handler function instead of Function.prototype.bind

Clearing flags on attachment: 57864

Committed r60682: &lt;http://trac.webkit.org/changeset/60682&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234232</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-06-04 08:37:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>57687</attachid>
            <date>2010-06-02 13:08:06 -0700</date>
            <delta_ts>2010-06-02 13:08:06 -0700</delta_ts>
            <desc>function.bind() causing useless listenerBody message</desc>
            <filename>useless-listenerBody-message.png</filename>
            <type>image/png</type>
            <size>14449</size>
            <attacher name="Nikita Vasilyev">me</attacher>
            
              <data encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAjUAAACTCAIAAAD5rX8VAAA4OElEQVR42uydiVMTeRbH9y+mdgeZ
XUbCjqDLMejEI8ulTqMRMVlBh0vAHBCSEGKIISTp7qRzcyggR0ABg73v1wECoRuzlrObWr6f+lR8
/d5L/7rKKr6VYJV/evz4sQUAAACoMFg+5QAAAIAKg+XTIgAAAFBhsHzKAAAAABXG/0U+SQter9e/
IGUAAABUANFolF5nZmb+pkBFofkf51P6HEltikux6eaqM9Q+mEz/oRQPbZ6OFXuirZv12m1pAAAA
/2t8Pp9OpxsfH/d4PH9VoIIuqUmjdNmwfEqeJR6PNzc369S4efNmcS/mbqhicMPWqakpq9Xq9AvJ
74BobquuqmpwSMXWuUMbpsVTzVTE63YH+VRSA8ljpjvWc44kAACAPxKe5+vq6n5UuH79eklBI1pI
lodKPhE2m02nBn1GOxUVMy1VRCu/s7W5ubm1tbWxKpn19bW1DWbPUXo4jG3VDdw8PbFnpK2+mq1X
1/fZqMFwmfXVtQ3cwIC+XsmcewM8NfvaTj6PGR3UYJw7tJFOKPbeDP3y88+dLzxKFs0PdLTVHt+h
z8UnRdfRHWuuVNe2OeiN4ps+fUOh18aNidoPw9Bevt9nbKJNzqFyKAAAXEpSqRR9YvlRAxrRQrI8
WD5JarS3t189C8dxZzZEN0UF0f18aHRoaGjUIUqp8PCv1LlyZ1hiuG5RKBhdmfnRWrbYMjxlNdRR
UW8JsfFMX/NRcDQ21ijFv1x8yPNSp9T6bpNrIUpraoc2uoViL+J+Sq1rj51U+191KvNer99r7jYM
ewUpwY8YdMopBtPA+EIs9Eg5wPDC+qKbVfqhN1oPI0kXL9N2za/9syqHAgDApcThcLjd7kb6QVpT
Q59qJhWooEtq0ogWpPJg+RRTw+/319fXXz3m2rVrwWDwzIbgYlFRpHs+FlvKenWsvmEXYpHXv1Fl
ia/Ye25Qoeuefrex7ObYnLMF6AYeE7uB/kXkSz4/39tItXE6mHm/NsjK1sjuzmo2Tmtqhza6+GIv
4nlGrYYnLqrnfr/D5nXtk35pZ29/czkZi6U/iIPsPf3hndxm1j9yVUmc8NJ6cm6A7XZOaD1MbO7i
5aD85cvB9orKoQAAcCm5cgq73Z5RoOJ0n9bot0gnl1TH1GD5FNXAbDb/dMzg4GDpmC9Ehc7/IS/n
ie0kNZOLFr0SViPOF3dpaE5nYzMmWjxDrytEu4X+8/kE1bPmluN+6HkjixvnQlQF/jifIsVeeOYo
n6jOLgmUgMf8Y8AZpOaCmy00mpxUB+2Pqkq42hvUeJivLadoWf1QAAC4lFSfgmKp0KTidJ862WyW
fhdFNb1SHVWD5ZOoQSQSaWpqonCifxYhCELp+CgqWmalqBhlKF0p7TdXHWOYlBKiOGNqoLrG4M7L
cp4h76xQm/rsBk+cwZO617UgimEln+qmlAO1DvVEi72Q+yifRCK++PFQfp/w97bWsMXm59QLO03s
jvdtbC7YlIE+unf8NIe5uMbDlLOsfigAAFxK3irQt26UPfTByK5ABV1SszClNYoMihj6Zo5eqRbV
YPkkaGOz2eiOLpdLZRZxUuwQNzs5I0c84J6OLghCfFEwVBVonMumaTGTcNYo17e4/omJV30PDCZ7
gPruZ82Fn/Jn69CzOhZn7U9e2j2Bcg59e5RPTpo7TIbbXL/7Le8fMbC7dFqpKYWsygPceDpkmZOS
Jh27qG3tHJqYGDb33Db0B7QeJvn1ZfVDAQDgUhKPx0dGRn7QgEa0IChIkrS2tkavggYsn/gLef36
tfogPFP6td1P3FvqC5l5cyNd1XQ7F2M8ayTX1iPW1priotm1QP3CT3nTTKhYO6mO8ZNcYe1Kx1g5
h3oL+fRsmubewTvFkc4wl8nyRFIaM+gKtxwPSLlcwqzXFdea+hc0H+bry+qHAgDApSQQCNTW1v6g
QF+/lRQ0ogW+PFg+hb8NIXsgn+UwF1Mmi7nPdPXl42rkeFdaXD/4kt/d2trd3c3L8mZWpGZ2i91g
63S9yOrU2q68x3Y/7yyXc2giu0V/ft5aZO9d35Pze7uMPflwbyUhFM7f2DtUup+W6QQxk9tnl1u0
lM/LBxui5sN8fVn9UAAAuJREIpFQKEQ5ZLVafT7fXxSooEtq0ogWwuXB8in0XyIsRKOCIITL2eXZ
bvgbz+EFBl96y7NNuozSdfiiQ7SXtQ8FAIDLjSAI2Ww2Ho/bbLY/K1BBl9SkUahsWD4tAAAAAN8P
Shd6FUVxXYGKk2b5sHwKAgAAABUGy6cAAAAAUGHg/3cHAABQibB8kgEAAIAKg+XTbc4OIYQQVpQs
nx699EMIIYQVJcun3/p9EEIIYUXJ8qnbPAshhBBWlCyfukye7+Hs2JuUwxGg+uFQoH90TmXneWB6
PjU26qUaQgghvECWTx1PZ76Hvowsy+8SVLtWqdp+dn7nZSIvy0tzb6mGEEIIL5Dl0z2j87zTvsS7
tVyJ5tEAjTT0Jg7kg6Uo1T0joTGbv+P8jjn6SZbTHh/VEEII4QVq5lNnn3t5dft0OKWXNkp2LPxm
XlbYe99zKp/GpN18bqWH7fjmVz7JCjsZgfJpn+WT554xtHoof+BD9y79XwCEEELNfNJzU6paXOLK
2vaJXL/39PTx7AalTn7z3YRd9AXFLm4mfiDvLwo0mkjn5cP1B9yUY5nl14d0ctSd9M0G9H0i5VPU
7ptdl2nhKd0HQgghVJPl062HdlVv90xmljdWVrfJWGq1ZGpl/xPT5ynTScfN8inLUz2e+iznV+8/
9FBHPlh/cPKuXv6jLH/cpq7se0kdCCGEUF2WT233bVoOWkOFfOrsc5WMLCkWPhbjScclKflE9RjL
p/dd1GEr77tP3mVU8mmH5VMuzjYhhBBCVVk+tXRZtGzttiaz60Fh6fyoN7AtU9gsJR71ugcsc3e7
plk+ZcI0Gk2yfOrosnnXDmknE5jvMHkHRtwtjyL7sixYvN4N1hfs07QMIYQQnpflU1PH6wvsG5rT
c5NqI8fs0ie5QH61vcMRU/KJRiPJffng3T9p58l8ZufwaGUp3NQTps9PCdskFZusl+u/T/eBEEII
S2X5dKN94pv9hXMYjPZfLtzRGx0Gzk4FhBBCWKYsnxruvoIQQggrSpZPf789Av/N3tk1pZFmcZzP
MH6OtWaKLzBMcjubzdVU7cSqrampxN2LneRiNyONiaIxoCETTBSMGxmDqFEH32KM4wsKoiQEg2hL
QzfQKESDxjWQyCSQsOfp1sUXdKzJjqOz51enwunznHOe017wr6fpqqChoaGhHSkj+nTpRh8aGhoa
GtqRMqJPiuv30dDQ0NDQjpQRfSqq6kFDQ0NDQztSRvQpgyAIgiBHDIkRQRAEQY4eRJ8SCIIgCHLE
IPq0hiAIgiBHDKJPLxAEQRDkiEH0aeVDWZoe7e8fnV5aQRAE+T8lGvDPx47p6H7r0MCA5clhzh/w
Bn42h+hT7EPhr38mlUqvc7HfkmcLodDCsxiCIMjhw45cuqSnl2LHkIUu9aXyxvuD/YNM9MMaue4V
F3csHCx5RH9JP8Lsn0P0aTEXjY2N3+5ieHg4V+68qUAqPV0XWvzt4Ee/kEplVcOLCIIgh02gvay4
3ckfz+H59jKVNfBLq6MuVXGZc15wecY9d+BG805Vscq+b/qe+uT3++Vy+VZxKi0tjUajW1IWeisL
pYBMRv4tqAtCjBkq/gIugc8rzY/EvFFTOYQIX9RwvP2iTFpYMwpxe/03Utk3dn6Rs9fLZIU1NcVC
3UXzUBv0BSp7p8k29MOLn4sti0c5CHD1hbLCyu9vFJKuf6nsXYAttF+BTy5vDC0iCIIcIlH6YXGx
gSHu/JBBVSzQYpmBa97do9IY2oWgymiZF8RsyKgRUsrarbRQ5NKpqtvb64uFpJn5RXuLRmN2ir2t
Bo3Rzrp76jX1LfVCb7Pd2VdfBo6mxR7N3dCpq+7hicf3VavMLnDZHigmVO+QUVdPtTiwrsflMte3
OwOkgbunTAMdcswPuIdaxBKNefKhrkz0zU5+wd1zrbaPzzFS7j52Q7Gmb+Zn9CmyByaT6eIWJiYm
tq7O/agGPTit7pt9dK+AeHou4lERITk36Av0qU+DVzcRmOtTgnOyqGnW93RwYJJnR7+EXO0YdBjX
nZFKzwyyEW5cJyX8/Y7uglTg+h0d9PyTaiAS8ZTJoEDnm39aBAvF3ZEIB3XAl1fvqM/B51eWQGR+
2nwSdrlwZzq4EEEQBDlEAo57iqtdIeKGnHanPxJhrI0KhQmcgLNDoVBc67DT7gGFQmkPRNy9WoXS
NBOa9zsfwNIAPR8JOa4JSTPMVINC0Wj3++0mhaJuhrS2K4UqZwdJ6XXSzgd14NT1OuipXoVC6wzl
aAhV15SwO6m/p1SYHP7QVJdCUeOGFYYJRbYTcjcqrw5MMYHQvMN0DXbfuCPFvUCO+SG9FyId1plQ
yE9DEW2BCaE8NA9VrQpFK9TvHml3HwDSlCZHZG+IPoX3gGEYOEL9Q0CpVIZCoa2rP14jQjO+8nL5
xfLdAqJPvrlBEtI9WYs9f8GZQTr+XDXwo4bEHr14tRxbWVtbWQiMnoHr6lHoMK4n+jTmC/vG9SAu
o7G3r9fd0Kl08FnydfzuaenJ6rEw6Ql8rb1RcgI+T1ydCfv0oH1FfemfXs80niMKx4QjC4+gsOD2
k+XFSBhBEOQQcZq/q2hxhEW4meH75u/1pVRFmz8c9jtaKKrFT+ITFVSFze9vK6W+uz8lpoL/vY3Z
WOI2IsYJJhyaukVRbVMhuv8WdasfvnknWipKjRMk4yAN/baq0haGRPwbDRlbBUWV3jLa3FC6A39L
RZVNCE8Yq0h5duzd84cdbVViRESMT8Dw2eQcI+3uQ1xnG1VhhtK9IPrE701ra6uoT5OTkzuWLKK6
cOCyd4jm6BjGQkL6cQiFp7tPQkxrEdNGIU3Em80Z0RLXwvCMTQe51iDP+0ZAem5aWZ6f050m5Tzp
CcpzudXc1tnZ2Wdx8TxDlm7ZoINVJzRnYIQR4ulsPIIgyOHisxupqi4WvFkLyIDuhyFLl44qbfbB
0mQzRRGHZ+3wvWz1+ZpLKd2AhyewRDys3s0liJBVo90LntVYUaprM1RQzXayYG8GfbLzB2zos1aV
Gr1iZLNhcHayrR6khep6zPLb8DZXVFl8xLMbqwxQDmVkl5zz866u7yjKCBGR7PDZ5Bwj7e4DPO29
WWqw8ntD9Cm4N3Nzc3A/KpVq99JT87cgHH+91tp9Ww4OiMNc+GkJOCcuDs96+279DdzaSXaml8S+
KDE+mXWPDdu9QScp+1rbYbwiFcp+nAvOWYk+jdDBoKBP2pG5YFDUp5FgeOYqSfvnID3//FnQYX/M
bS7BDKI+kXSa6NNJRfMTLxtEEAQ5RHzODopqgC8wr+2u6Lj6qinK5IXIhIk4JMl2hboy6g3aTFeo
650k4hm5QlGdTt9/lyDdVELdtdHgcc4eitDgDgKkquSuLXjAht7REqpkhOZcDxsoyLbRnNftFvqT
+Ubp4DZo05XKEa+wy90SqmGE45wNJRR1pTXn/JwLBivpcUATzuOhN/cKCrM1yeVNkLx7pN19gNGG
kiutjuDeEH3i9sVsNj9+/Hh3PBKZhd+YCJ99WXASZKKW5iIrgb5z0g2K7tjXnocXVlcGb2zGZKrZ
wPyQukC4+Lr0AtSfhT8iPVYL9eBwXiIzWuLRtYIIcdzCamD0AvQX+fy7mewSN1Z7dqOQD5qLhGk+
LfdwCIIgh4n7jlzeMs5w9HiNnFCu0V6Wy9Vt4/R4k/xyCw0pzJhaXm4Bz/+kSS0X0baNccJSuVw9
RpLolnL592Mzmz1JB05gvKm8vIkkZxuSqvKxHA2BqY2IWgufTWM0Pd4iF7lcN05z25lpKlcP0ULZ
UNNGnxroTXbZPT8w1qYV04Qc+ge4IrcPuxiF5Bwj5fo7TKrllx+4uX0g+sT+MkLP1t9lkolE6n06
/T6TSSdCEIuupjKpBJDM/JRY5oS8F69TqSQJpd6/CrHcyno6SdZTybfvMpnUUogNLSagHhw2sJTO
ZF4RL5R4l3n3aomFWHTl7fuM2CDzDnbJLi0mUmIh5P/7p3ek7VvYAkEQ5FDxuXrl8jqn4Hq9Phbw
zsLnXngJ7H54bfAN/8C9I3rwhr7Z2dntI3pJZH/ELC97sLRsXvZeD3yPD2oua7sc7L4QfWI+AJbj
fDtjPg5gt4dYEvJlq7LrByTbYN8cSEEQBDl8ph0Trjnmf4Wj+2bRNfMs87vFYXP8bA7RJxpBEARB
jhhEn2YRBEEQ5IhB9MmDIAiCIEcMok9uBEEQBDli4P/vjiAIghxFiD5lEARBEOSIgfqEIAiCoD4h
CIIgyLHVp/QzF/s8nv5Vesf5/naTqduxmtoeT626rJ7VDIIgCPI70KcEq/mohknkXlxoblXldT3P
HJxk/0faXlcCnN48bafj1a+hTnqZJL/I0G5q55M77mVSIpFYExkEQRDkd3B+Sj7zLr/JvbTamadV
5Wn7XRsy88YzpMobEpP56tuqyuDuY9MLbnEtKQjVJ9p+D+TmZlfDgxPX5suGV3PeiutTyaeTqE8I
giC/B31Khps/6yAHkRjb/AlRI9Vp27ooHl6LKq+1s1CrujCVJpnRZlglZmSeTKpEvwCSk7ZCQ6O8
Ay57XSu2wgabNwnZgye0Ny90aEjabZvrJZG0ug6QOqGzTQO7bGnIxTPpWFAcQF82vb4xm+eM5I87
9MZjOCMROGvwcN1K0T+l7E9u06eY4bxMWDnjisNlymU6LyZ2w04IgiDIcdCnYPVHt5kEiMdtVcHj
N5n0WvRVWlQCufamYSnN2VR5BvFb/cXwfVXe/YVYMg0nn7JalXxqLf4GWlhOgK50cOGX66lk/8fi
8z0x2MXHXtLVBqhay2S4SoP4xG/dRY5N69sbQv6/OpYymeVmcmJLige4yX7r89SOgTllvqzbG4sn
U1GPiwwW65dI8h3xrD4lvQbQLy6VicdiyUz2Mtp/XpKvR4FCEAQ5TvqUcIBmaBsrHz+Pi/GwPk87
6Hr5JsaC0/xwleiKR9CVzed7GuH5nvgor3dDUbL6lH2+F2c1ebd98Q19yvbZ2jC1BLJ0s7Crs4yc
wyBtv+d7slOO+OYJa7hdqzwLByNXVp9A1xwykKyzagdP8vhuODzJipTK8+TopcYXKBAEQY6TPgFr
num203DoaV1IZtbIyUabNXgct12fuJ369Gq3PoFo5dSnN7v0CcbQgyx1MJyD9TnY56vpzJ6sgj5Z
ie7E1PmS/PMGh8OUL5FtPT8BqZhHX3QK5MjkTXr0pyQytdXlcgAePpVBEARBjo8+rUeXBZ0ALaml
4+RpW2PPckYkOgUSNRWD53IPVXkP10R9qqxVlTH76NMgdGiOQuhZR6vqE8v6Zkk6tdQJvzOdgMjW
hmTHm9Viw/Sb5MZwUTac2Euf4o58iYS8KMG373i+l4pHo3EijGqJROlYFZ7vyawxQbeSSdQnBEGQ
46JPDRz5/ckgHpU0Fx4nVhlNniH79rYgNnpDmLxMsfk6w7p3cuNcBaufbP5iBP7HxBdLVKBDJL92
0ktWX9iGxC0aL9wW9Wlrw3SMJf7WNwaTrj+Q98X3Oj/FTWfzJYDszBn4PGWIE336I4hj3KOXiOQX
ecT3IwznNyIy/P3pP+xd36sbt7b233D6d8Tc/gcd8t6h7+6ryaPz6FIKx6U0UwjEDez6lF6GUBxK
XJo6ycWBdAh4Q7Zvy7ScIWXaZk4YnzChmdxOk3HYwmiXuWtp7dmaH9qOkx2f3Sb6HoKiLWmkpTX6
JI30WUNDQ+Ovdj93jy130+VTU8k0fLnL9g5Nx/FPy5QtefERbJepCyTsUvq1wRgVx1JWzsZZmpaZ
CCNYpqGhoaGh9Y00NDQ0NDLNT5mGhoaGhsbLw098EUznf0rJBRbO7j7iR9DlOyakUfjveZgqjZ0E
rh9nG8Cf2DL8jrszX/BDaxYmWQFgIReMtz44S5MkZbxcgv7ImEVBlL3aSO647kbGNin1yZM7O+6c
vwQ2Z2mSsoMRLN1vZRTloZBCBOXIFsQb0d8787f+jwtxlO5vN3Y3a4K7n+2fgNi6+I+flqsTp3cg
5Y/pc+ryHQUL12o0zj2nX0djuAs8vdxptMe8WkHXgPOETphtHutbZvNYgDX/vpMovXoCdhoFxShX
nLlcszuCSb+Rw7TGySElpF7/Vbv3hlfRWyMKM38IJ4XGr97FCld4ngicaFhudiSopT4X7t/JtaTN
/4KIpv38PNk4FRdGafjieDS6IwasEA6YrXAhHjkmGGKWbOp8+d4iuTdfHF0ib/Wzzr+25cXs/vVr
Z8SNqFXg8wGmOZou3/rgHozhLqMlZeTPn6+gpN9s9MVV4UETj7aXhS9sUK94JoLw+saR3ytpmWPC
4hMcHBKFsVyL5DwY8kefLOP2jWbfKyZTdwfJgkC2aZQB4lkLz2Z6xRJ4cXYXRHxzBj9+SAdGpDOj
YUCY4PSayN/9Y2uX2rCbN7t77o0TotgF3FN5wLIjQS31ufDO4eRJ2vxP5AnrgnlALbYPGWKc2k3j
4vDlDYymNcNUT5vk+QMDXsAN8RNq4n1y6tZuVhbiWy2Rx+YXTn4++fhLTHDy2n1hkUfuznmR5fKV
X/E8nr99/uQXF9+Cs+bfLJCfPg2xL3+CJZTgniffvW/Timri0HWrJ9unt0RMX+gqPZ6c3Lqxf7nq
4eWTthc/XZfPG3T6bkJDWNO08a6Ubxtmt981IIGBYn0If2xRFnNwa9RuUnjgppDrzfZQFJ+MeyZN
LPpOmCnLkaDpRjcS4XjabZhDVvZpE/5ac44OlNg1obxZWtIJxGkvoQVNSO1Wh1QzfLvdGngi0DHa
mLNpuRCmegF64+DFWcYt1nWMyRDWJNi3htHptpqYtzOM+X5zel3xRKPrYtTinOCnqWXmpXGna/am
90etRseJoCrUZhJL9Ppmo9XrmrIhB90Rz2yDaiWa73RhbjfJcsROl1Ss8Dq22YFKAbpDFysVjMzW
MBWphiTMaFgBy0QTxq384kFcMrgKPOgZ+4aZhKzSBTyedcRDm03QLhGPwxhKXihQZWE/V5Js9R2q
17ANvWKZuTNQXen/pJZSFp9kRQcOhWULo0+zZ7VxIlx3ubjofuX+jacm9gjNjieGYcUZQdHLFVNk
qZcbqu2ErOTJ2I6RmbcWrFj86/Wqk8To2J2e7M1aJ0pUPUTykz/stId+pbuhJjx2oYPIhsUOqqUs
WUbJT2Tz53CS1Bu0+y5Ztd1su6kIGC0Luoxe2plN1nEijm10h1A8vR3VEanmCSs8sLy70E8PJgrd
aWn4Shx4tC+eDA43DJhq+KXVqmnN0o3dz3VvwP7eIisL8a2UyEPRB6Sxmw/i6BKJEvEIYraDpbjS
+ym0Zde7CUxz8cu7jxKRHsIfXYd/P6Oruxc/P/P69Qdsb+F9C8m+i/Z+u/IFxTzY/obWWD/Drd5T
/8z2L/N+s1hDlw8sReSfumh6cgLhtbMoGNNlXhYMsQunIWNJBJkiBxwGsjMOa3b0OcgfDFvgUyHj
iTeCxOOI18uRoMcZNpOrJXy0RDI1mr24NhHDd7UzCuNkUdUJZDjz7Y6hdvLWF60PLFdMbTDr0A2T
lFN4MAt9FHOykhdnmRKXzrwEfbdHj6C83bEXh45JMy9sDkZFSdA3MOqAn5KZRUMkXqzGB6Ww1hz4
aK3I6UFSqCB0ab0heXcw24BdhxDyxwnkSmGK1yruDSaOGGSphObIi0KxazFNZGN924Q8PONoYBgU
uN+Cl28wTXkaRzEvGlwJFs1cqAAXBpiVu2BhG+AsDthvBpHY9Tj3hMexjMdR8cNfzfcCvD/uhCn4
WQc5F9soBlpzGkXjDj2LDUVdwxTyRGCpivhk0YFd8JWBL2nbGDLumw1c2VdcjhfD1f5N+g0yOAw9
TZpEE+q9XDHF0CRTcG/UgXRhwbBkc8sJM56MRGuLZq84iao3a50oUfYQyU8U2Kl3t22QC4UdMk6O
SsqqZVT8RDZ/DidJXcvozciqBjpwbt72MIq9bgPQcaNo1AaK8aBiJpEEfkcwXKZ6f6UnKDxwNT9F
ThfCiRy+yBRYK/RAE19k5fBL/NR14o3xk4f8tJuVhfhWS+SJ9dDP6AnLG0JCYi/4FvO+c+3y6c9p
hSSz5yJGV7/cuXQShM9vPuAMcgnCoxKgzMffnQLqEjF8joXDom0OZdr3sr3v30ZJi3V0+WgUlqaX
AekEwmkkf1A8LYpzn5Mj4MGCt15OEb7dMg72prgHr5EnBzosrdF1MkLtuUqdQC+nIhU/yUAxzKiG
L8AyCqDvj+xep4mTSkFytGMphzBqDie2ttDXc37KeNCGQTng8biNu9vo9yY0XFZG3RA5BMxwLGxa
I6gj2ZMGI0n/JHNV2CFMLLCj7DU2ghoY7V6vhwbuzfDdJuMTSgZXg0XeyB604Un9UhdQ60YhL9Y8
mfVxnLFG5eMaVQt7AzHg5pskUDFqneWmsko4ZlEMQC0+SY5E40jfSw+GbGMwYzwemLTclCkLYXX/
hmAvwwYqxKYV9kdVvSxNQVUlU9Be0yyVhhV90Q6oGH9Q8fOqk2T13rxf6cRMouQhNX5yq93Ngw6W
hC+cKElO6mRKpefX+Una/BmdRM1PsivLbjDjwQg9isYIYdjct1XZVR64mp9i4qfS8MXAJQd+So5K
C1MlkiluCdh+ulF+qgjxrZTII35KpcSRECa3d2Z3f8Y08wUv8ROlDzi25SIy3P9BLqE8mzOciLnk
PJb8JPYAr0Iy++Z52O5j2Rq6fHIUZoePwgFOR63cljK+yE/9JrzR0QE/Wav5id5VWhTTXl+zsI6h
TRIZo3huXSfQVfGTt4KfZEuPbpka4qkBQ5ztTIc4caW8GJD85Mp3o8ZPOHxYRrMz6Bk0V0XzDgN2
GD+lFX6i0W4i5qKtIcPpc4nvk2lPbETIEvAROKbnvSbOiRi9UW7ghAXD4iK4YlKVASxIbzuzYac2
9DCvhStsClryhfcmXTEZ9qXrlixMHUrMIbf70ThYc/kI7rclPynFJ6UjwYjXGgY03jQbRbRcVkwp
w8r+zVKk/IHdxUFZPalS85OBpijxk+xWt3+wB878fiVvzUnqvfnvSidmEmUPqfFTpbuJR3ujqTtD
hIUFhkyp8nwVP0mbr+8kVX7ikmAoUHcDYT1zNKMqewlX8lMeqHmgCjTLLO7vOYXhiziVSuOjFrG4
Gm7f7IyDTa+fKkJ8qyTy6vxEqudXt4lglsusxk9QZry3nN8+/xqmDz6GvcQd/Gv803mxMYgafW9t
Q3/fu/I17hCmmVDwwxXb2XduQ/ipunw0VsKeA+ewr0Xbx4pe5EK1b+QnuAsdJ7SfMEXjl9bs4Ogp
OahYVq/mJ7FR00uoNrMezD1r35864eH8VNcJpIbkLycEYxZOsE19NT/JjbsXaBkeje2h+4DDi0St
C8ftArd1/JScGOePNDYNRdSoTdsvkp9o9geFRNn+NL8rLC5KtmJlQ2R38CjEfEwkTvLzEbYb0ySw
Q2ahd6w9SjNqiOEW5pi+jZsq9CAwMFW7M/KxgDhmJYMzd2yP3QfldY8hvjFwMEB1ioDkh2UFwazd
INvm53SZcK0UGuDa9uQBr1pYtJSGjwjGIxjmFPyEowOWj3nSOHlYFZ8sOnBgo2Uzam97nFc/FIQe
HcZPtf4FMAxSLkDuCbVerpkCW+HTYI1N4wXDpgd5syn0lDkqmr3iJKrerHai7KmKh9T4qdrdtLjs
03M5Y7KBlZQPS5ZR8xPZ/JmdRDo/m+A7abor+YnOMlgHY4Tq/ZWeUPVA2cD6+YhRAJExPA736OTw
RXMU02O0fqWFFA2/qu9PbroZ/T3ip/8CTbyyEN9qiTzkGxviSW2PJGIfudtn5ekG5CcUh62eL+8P
Tm+jlfjDyVv7MRdsVEMH6tpP8/oWlYBIbkPMTfEGr6HLJ49LtjuGHIWbECCSyKeZdrsgypcOxf8G
Xoo+d+ITLJ6HfbNBaNtupiqnjLiHJTAx+NJbLcGDIeRldX4ip8wUOoGpP8y/bfLpflXMtikHYgrI
MG1NwGzoBVpmAdbGlwQ5gOJabaF36OGzcjQ7o/1CZFTXT/fP751zF7l9MGM+K83fAUYlt9xU0ZC8
O1I7L7oz9PLz5VYjh9HLz5f3ZRW6I7+8PottrDuCnhLjx2d56EAaHKtNp5MlUm9ISVtt3FsCAxS7
gMdu10TDWFYLap7Qgjg3Tv4h7cTOou57zLHylG2b+HZAB0FFITS6QV1FHvLS+xXxyaIDZ7EjxpTY
ov8SqD6mzYouVwjX+1esSruNg23q3BPqvVzxRhY6Zv5nmkAUDJuFzkGvdWYxL/215iTeoNybtU6k
CdCJcxCoeoh37o03MJ4Ciu7G0woNAlg7kQ2spLxfs0wu9SnHin2bP7OT8Hhq0mM6ha1aCkg3kOaN
Xbspm6B8f6UnVDwQq6267BE5Vp4Mz5fL4YumOLSiEpPvKC9kulCc3zNtf9P6EVKI7wgSeZBdLcyn
Ts2WS1ZR5Mv/L3/J9+vfsrVB8ntszWSUTqXiR5GItZ+L3y27/zvpKu8/4X7CJKznWqUTyGWlVrRp
05aR0YznlqKdAUFyKSvt/KSYmx9yknUSZwSaY3bGIYWpkLVtI6PiOE6KT+Oc4oXdGPwlmdGEulgI
rzSV1wzufdLqjKOVBighjSKqhT9s4ZGEPDkUvo6FMeXT/YxT3dXikzJEV1gm2RpY3Tx/YOJqQKLW
y+s6mjSstLnqr9JJ5H0DV1ZI0Ynrq2yqHy1LUqZUWUYJsvlzOEkmDbkmWLo6Az1a4YEL+803xhFX
OVYS54ehIhq+RAi4PhChLn05oxsjb75Z4ScWjJtr3H96KbH3/emtC3Bo4i+CNAx++Veg7CgW+zMv
zl4K0BKnem6VuS38yHH4C9walf+YBGCqzYF5LXkY95nAXDqktDboHD8tgqYRy44bkR9mRwQPu40m
fSPMVL28AVSdxBu08Jv8XwFk8z+1k/C543hPdeokDJJcNSLMQ0GY5oVE0+kdXikYR7ZI6+9paGho
aGh9WBV2o3ngP3lxUnWe6+vfW9fQ0NB49fjphx9+2Nvby14cgo/6Z96/86y54qnVc6Jo3LWmiUJs
TUNDQ0PjVeOnd99998MPP/zll1/++OOP7EXg3j8+PfvR3WfNNeu1xzFzOu1pWj3y0bTc41Sp0j9Y
qKGhoXFc/EQ4e/ZsGIZZFWoNvXtXrtGZ788+vr3MEAtvJz81DleggJ9qWnyZWhYvmg17PdSjMruo
ZNfqWk7AEg8uFQLkMd+KYFdG2ndWKz/6mW5SpUr/FoOGhobG8fETYWtrK47jYoK6ht4y2IaLsd6c
7SV48+ni9YckuHd1++Eee3jjLeKnmhbfIbJ4LA49pw8sNHMsA1jE98L0X6goNg05Cwcm8ROrCXbR
HfvWNEyFRBnfqEqVhoaGhsYx89MHH3xw69atYoK6hh7czwV92L18Nw++NgkFvC/ui5iQ9vfqWnyH
IE3S0OkZPSdweq3+NEmZuAfeDqSai6sS7EoHRkH8cWMqVXp/T0NDQ+OY+Qk22RzH2d3dzUpQaBSF
oDl0+p+ZZKM7QlXv2qPC9yeFFp8akd1pNcUld6F80Gp1R/ddVOqJC9+fVIJdQq0Z/kTYnEqV3tvT
0NDQOC5+eu+9965evfrkiXqJo9Z4RWVYiEkgBtXEU9Di69/0nmRpdIm+P1W1+FbI4nG71fZ4MjA7
AUWkKB1me0mW+l36/qQS7ApRprjrpyQ3xjalUqUPt2toaGgcCz999dVXv//++4qcKg29pfdRLsF3
apuUYb2PP6cYIKoB8lNVi08pi0eRLdNOmdtuj3ge5fRbDQGkmr6rEuwila0GwRy4m1Sp0msoDQ0N
jQ3z0wuW4GPLcgzbZRmhpsV3dBU4dRzGMJ5tUKVKH4/Q0NDQeAHQ+kYaGhoaGpqfNDQ0NDQ0XmZ+
4ok79ZKnJdAnFTQ0NDQ0P/1nsdhp4LkJDJyg32erIJ1hAn1MQUNDQ0PzkwSfw2+uByzbFORvISNT
3fHntUfpq0gaGhoamp9q2Dm1RWfEr/33/5x5a5vWNr9dvzZ4/6ddf/v8yS8vvY0Jzp/eecQzwCN3
57xIf/nKr0rNPYI/tg6Ohkt+Yl7njY7Hqtp6UsohHBsNcxrrI3UaGhoarzw/LaPbZ1/b+s5/vIzx
Eu53kbioC2p7sye73k3goUtX5o/mt1EtYvtxxiMIbAfLLPoeNPoCdojmXjDEe0XTkAntvAI/UaCq
rbd/kyny8EbuJMw0NDQ0NDQ/kX6EYJq9nbf75+1fsxi458sHWYZCEq/fXO7/7NMWCB3tBd8CY114
59rl03BddwtUJ5TwBiaJNRBq/FTR1suVXumuroaGhoaG5qeyvlG2mF0/8/rXN9//lH5BY9cDfvpm
V/LTXSF9ZO/M7v6MsnvzBc9UoOWRdTg/kbZenZ9QjFx/hNLQ0NDQ/IQQ2npbPyYYJFVyWBh9H2fE
T7CQupdi/AUQMfJYxuYD/KGNxyLxcnmI5p5QKG+O/ASCcZzU+Kmqrbe/v5cEvQZET/TXJw0NDQ3N
TwC2fQrPO9wQ5xZ+fKcPpyRoT4++P+3L7p3+lhZSj9ztsxSJqn0KzT2Ce6CdZwxSpKU3XUiTByra
evJ8RDJrwSJq5GcaGv/P3tk2NZFlcdzvsN+DKitfYFDfuiWvpnZHq2Z3p9Tamt3F2Sp3TQd5xjDI
SlB5nAExBBCYgCACC5KQEIzGxpjQdB46SQfCg4iowTHLkJE9p5tWIQ1mZ1wGnPMrypw+939P3/gi
/7qd7hOCIH71/oSsxleT+IpdyVvuLGOofP/0CoL46hY5tN1LptVhL7GDAMep+x1BEAT503tJRifK
4YIeWoayf8qyv1onCIIgCOq/RxAEQZA//TyScJXvVQIuDBIEQRDE3vCnuYFh6S4J5UYJuiucIAiC
+MX9aZW3Y3+jgQX56DEffZ5Ia6JYWaf/OvxBO6N74ElfNrFOEARBfITP5zadsL+SIvuJOuku8xeW
M3XSxsgoxFN77iU9WoP+9MRW04pOyBp91sBcQr5tvbGpsLsck3V29sUqf1cvC/B0CcuJTr9UfKax
7ZvaqBR0Xj7dDc9XwYPAycVwy0EU1xQ+wrWpN/pLdJzMOCBRw8b5xuzMk+fgOd+MUjbuqTlpYOVZ
JzNOsnG0MtaULd/QfpO2ewRBEPvi+dyagwMrGCX6Dxp62ZfS9qhtbm391eKLVUhv7bmXGDpo+KZl
IaWPX1QQ8AmmLql3H1QbOgwG0y0uvuAqG/W/ufV8fdVTWKXXTjyPQ9WX/YcbOckmhMo6MCQIxFqQ
Gezsk5V4Am5z/6YTTvGkBZ4Lxv3RNo3+Zu9kHMi4yS8m1uSmSgdMrLgcX4uzpZkFznc7oyf4Rniw
Slhbn+3PPpBRQwZFEASxL/xpWPanIcmf1peDsBMqPz3gj6IxpPTcQ1lT55PUSk89k5bKW5fRUV7K
btfvWVVaVGALJVGxIjV/UgKljQXspboKO3HTBm63HcqDvQBryMxQeial+pN4EzZPmecKCrKxbXop
/RYiQRDEPto/rcr+hJ60GB3SSrsZfjWl517SBf0mzjzaUob7ug5693lYH1gLFFF2Y4l3/UlQ8ycx
1Z8SYWyX3ukT8IzBx8vJnf3JGd/en9ZkgbS7yiy1sawT8Ij0VDBBEMR+6b+XfDxwSy9tfZLx5adx
GEj0SnuX1J576FgwNDC7jiQfs8HHCXSjdjvYEnTqQ1uSr+81daJmrrMN+1BITWb1hT7ZWPqlH+xY
jT4qh61S5WZ/wjYWkJSVyVUoptboD4k74fqebVnFn2CTtAhnKciAL5zYjet7mbZF6U1Q1wqCIIj9
cP/ecn+WfF9DWw36U+Jt272D3WJcpeceMNMzAIfKX5uYWJ9p6ZTiuib8PUOjmEhYst4Iqu7yaDKv
5FsksCdFEr6Ukgs2ZaE/yRspOZA2cMEWpb50tXC7Rn9xk9THr8YT9xgyM5Wf51hbtG38YEf2Scmf
MMc2ZistAen7J4IgiL3vT8qTtpsSa6uY2bnn3lpiZfnlyvJbWVJ5Vhf69SnfP8H2K7G6trmyUmY1
ngDdtmAdnPteEvHEmnr7v5Q05OJ0NzpBEMSvur8R7J+qhjxkBgRBEORPBEEQBEH+RBAEQRDkTwRB
EMQ+9SeCIIiPF5PJFI1G13cEBM3NzUZij4H+tEIQBPGREg6Hd7YoGAIByFaIPQb603OCIIiPl2Aw
qFiUujmB4Dmx90B/ekoQBPFR4/f7ZYtKNScYekrsSdCfln4aCyFrfz8bWoAwGvKHohikP5m19lvZ
UDrS9Ncz1i/VJAiCSMHn8ykW9dacIPmh6s+GAtOLS/uS2YBteHDQ8mA31x/iQ+/VoD8t/jTE4UMa
jX5YWFwMlmg0mn8O/U+T/6XByemJ52YikZm5tNZzCGoSBEGowfM8WpQEBHD4wUoHR86fr+EWFvch
M92l54uabg31D/lmf14h9kZOTudMeuKRmvM1I76dNehP82oMDQ3FYrH5HZge+0yjuTwWnJ+fi4V8
oek5yKVNuPaY5tjlsXSkorUCvKzsjvAe3azzlEaTBTUJgiC2geM4kwQEH65qqKMwp8Mlzu9LxI5C
vS30U2fPsvqcQte0FIo+91TahaZd+hy9Y0f5tv505swZhmEcDsfs7Ow21e3HwJ/s4E+h62eO/rnB
9nZIsBZ9nqmRqLCir8xwA/84qkGO5kiJcA36kz11CPG9O91T9TsMMB4W5mce1f/tUw3y6TWHD8Uz
bMVpFGcePQT/noCaBEEQu8gsN5CT0+jDcHq4UZ8j0WrxwrHo7tGXN3ZISb3RMi2Z2bCxXJIUdtg4
aRJbra/s6KjPkUTe6XlHa3m52SXXtjWWGx1Bd099eX1rvVTb7HD11RdCUN7qmFUv6Kqu7BExEvsq
9WYWwmAPTEYqt9go21OZI1Hdw7Lm+g5XCAu4ewrLoULq+hH3cKs8pdx8d6C6UI7NLnHG3XOxqk9U
WZJ6HUdjTnmf9z3+FFMjWyE3N9fpdKooIjbwp0qbPxYTqo5pDleMxhRsV/8IVlF9f3rRf5+dEmMx
TyE4SFa1f/rhORjIuQlT0J8qbWpDHj3a1ZFvrQ8fWofsnmm3OR+Oz3xrDc/M3ET1cWso1IXqIk8s
9u9StKvSvof3JNlxqEkQBLGLhJw3dBe6IxhGXA5XIBbz2Zp0OhMEIVenTqe72Ong3IM6XYEjFHP3
GnQFJm9kOuC6DUOD3HQs4rwoiby+iQadrskRCDhMOl2tF0s7CqRZrk6U9Lo41+1aCGp7ndxEr05n
cEVUCsKsiwVwdpx/o0BncgYiE9063VU3jPh8kdhmIu6mgguDE75QZNppughn33hHuhshlfWDvBcy
nTZvJBLgYBJngRXC9AgUd7bpdG0wP3VJqXUAkBWYnLHtQX+KqvHXzRQXF09MTGxSCFbwJ4N1KhoN
VIPZGKxRBW9vrgb47eeXOh2wwYlODX2Gx18YKvIOw+vhC15lisqQlMmquPf9s6WlZ8+fLszM3LsG
I3UPFuZjk1dQfSTfYPiTBtU9U97KY2hvCy+Wni4/PAVhpTVKEASxi7jMl0panVEZwXvnlvlaTT5T
0h6AD0dnK8O0BjA/XsKU2AOB9nzm0q0JWQrxNbtvY0jYyBjHfdHIxBWGaZ+IcP1XmCv9kWh0vLUk
3ziOinQKBuxl+a0+zAQ2CvrsJQyTf8Vod+PUzQRaS8rsUnrcWIbTlWWrrT/qbC+TM4iSHxcwVMQq
S0qtg6GrnSkxC9FtQX8S1djiT2fPnjWbzZsUQQv6k4UTRb9kNhZRYe7Zf0LW5lNZGuCTv98I+SzH
ITqR22Zu7+rq6rOwb6ekDmEGbUZU4O3VuBuz8zhLUte2mb+T1IGIvzoL1DUh0IXtOBFqEgRB7CJ+
h5Ep6w5CNGkBG6j+btjSXc3kt/hh6G4Lw2AgBh3wuWzz+1vymepBj4gE0TxsvDIEGRw1OniIbMaS
/Or2xhKmxYEDjhbwJ4eYZkG/rSzfyMsZpWB48m57PVgL030/KG6Cbykps/gxchjLGm0oDuJZVNcv
st2XGMaIGRklDyhilSWl1gEe9l7Ob7SJ24P+FFbjLwpfffWVyWSampraqvDL/jQZDvNVktmE+cEv
wD0qBh8M3nQEnqy9wA0NfMvERb0XNMDZIW768VzY6bgvvJmSOhR9mIeZT413HrjvjTrc/NSIAY51
TUN8MDyQdwQv/Q1xjx/PPXI6PELYnI0bqYttfXXaoxAdN4yECYIgdhG/q5NhGjj4KLRflwO2r5Jh
TDxkxk0YoMhezBRb+bDdVMz8qwsznpFihuly+d8MgdyUx1y3cxAJrh4GaXCHAZyVd90eTrMgb81j
8kY4gR1oYEBt5wTe7Zbq4/qsXHgTnKn46xFeOsv1PKZhRBBcDXkMU9ymun6BhYXl9TihiODxcMq5
QAHiZq22GcSpS0qtA1gb8orbnOHtQX8S1Pjyyy9h21RfX+/xeARV+BG42FYx4hUEDs2mYkTg7/xe
o/ns0p3hqj9oNshqvhcRhZnlkPXMESV39JL3zRSVodhSqO+Ukijod4vTD/MlwSe5t5aeC9Vv1Z8O
eEOxya4TGuTQF6dg4Hj1iEAQBLGruL/ValvHfAI3dlWLFJUbcrXa0vYxbqxZm9vKgcQ3WqotskAU
eNBcqpUxtI8K0lCRtnQURVxrkfbaqFepiRUEibHmoqJmFCsF5VlFo6kFkYmNTKkBXptHOW6sdUOR
WzvGCZvxNheVDnPStOHmjTpXoTaeJXX9wGi7QZZJGu47OMK3D2cxSmKVJan9P9wt1ebedgs7gP4U
VKOqqopl2eAOhBaS6+svF8RgMLzy4/qPLxfkTPLlwnx8DX8kd2Vlbf3H+GIUtbNLP7xex1QCcisR
ZYraUDAyuwzzMZFY+x7qh+YSr/Hwh+8XQP3yh9eJDXVyIRKMzD1Lohgka6/h7CsLQYIgiN3Fz/Zq
tbUuKeR5P77yk/C6HTyyY0XeDp/wt90p+XQL+icnJzcvkcfM+0AVH0xPJutS3mt67/H21VxDtzO4
I+hPvv8H/iC4n39zDlNBJfeeIT8m3mb871YLblX74dBHEATxy/HIOc5OfbBqzpuXz100T/o+Wpx2
53s16E8cQRAEQewx0J8mCYIgCGKPgf7kIQiCIIg9BvqTmyAI4r/t3TEBAAAAwqD+qbXGDigCxPjd
Aaj+7gOAmAO8WOcPbpWpwQAAAABJRU5ErkJggg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>57688</attachid>
            <date>2010-06-02 13:16:17 -0700</date>
            <delta_ts>2010-06-02 13:16:17 -0700</delta_ts>
            <desc>Show handler instead of Function.prototype.bind</desc>
            <filename>helpful-listenerBody-message.png</filename>
            <type>image/png</type>
            <size>14533</size>
            <attacher name="Nikita Vasilyev">me</attacher>
            
              <data encoding="base64">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
5icHCAloptC+fDvc5UqdfcCDa2edF+fM7fW3vhc0uvlk04kTJ0Kh0MLCwvsJrTUFy4ZBh6yRZtDp
ozCjTk/fn76Srv6++id/cwbf/qmN0tc20HdbffR00cim77G3Rzq3Gg8cvHIoMHu/cDeZLtCFmA9e
f/njbaobtxz7+Yelt9WnTxcfZtNFZkQ/5W8KT41PfS8dgNVhX8xACKHeouV+JmRENQyqjLYW+akz
hIQoVDIhvuAhxU3cCWooITf5boJXijE3IRM57e0WxEMOMqqosGK5q4QbKRiAn3KMKsYuG9KEgzhi
KsvfGiGQVlRGCwWrP79fQjW2UEPub2LUesqog4zEGMuNOAhxj3e9P8vDxRxXs9CEFYuqeBa84uGg
JAUh3Hmlzj4gMeJwj2eN7YkpyLo5fvw4vAUcHh4uFousKxqDjydPx0qMqXyknY4xOvuhzfbRwOzM
0Mc24WDwbt1kvzyvJT7bbxMODJTeHumy9fhZbeqYTfjqZsF89MBpBfbZrz/7g/nb6UO3SrXH5Ykj
Nu6Do8dg47A/xhBCqNcUfpCkcKrC1NQ5iXN967NLkieSUlNByR5WIVJJeiRXHFbV+0GP1OKLJJm1
5ZI8SR5Swy7pUrIkelodmCUVdLmCPCwailOuZGdDbl5UPD74GUyqaiosEvYLKZVtVQq6PDOqdWwm
KPqcg978KZ33B8mIT7JYGfWy9SqcgqcERLjjSt3+He54JPuNAtvByX7rE1G9m6GhoXw+r++g1oQ/
/b7cNHXdWFp/s77cbFXWlpu/vlzlf1B+aWn1zfrL3xo8++TZ6403vLQCtaX65pFuW3r9yXM4zwsr
q6+gf21xZYO/fP2qCenl1xsrIr3WrOv1xRdrPAyR1Q14+lJTRwihnqPlr0nShZy1pFTTAS3Dz+1Q
Tt8JVWCO3Ch01HfbUCuXy1uvSHllRyJF9d3FRE78rv/yd7xxzu6bzOo76m99L1j5P2g6Y0zbWuMl
vV3bcUvjhXZFe7ebLtLvhvUKQgj1tIfZTH6h8l/JXjn7xaloudKzskr2HzP9rfeCKkIIIbT3iClY
RgghhPYeMQWLCCGE0N4jpmABIYQQ2nusKYgQQgjtSTAF/wZ8vRB+AU47aQAAAABJRU5ErkJggg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57689</attachid>
            <date>2010-06-02 13:19:01 -0700</date>
            <delta_ts>2010-06-02 13:36:14 -0700</delta_ts>
            <desc>Show handler instead of Function.prototype.bind</desc>
            <filename>better_bind.patch</filename>
            <type>text/plain</type>
            <size>1541</size>
            <attacher name="Nikita Vasilyev">me</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZjUyZDg1NS4uMTZiMTAzZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wNi0wMiAgTmlraXRhIFZhc2ls
eWV2ICA8bWVAZWx2MXMucnU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogYmV0dGVyIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5k
IGZvciB0aGUgaW50ZXJuYWwgY29kZS4KKworICAgICAgICBJbiB0aGUgIkV2ZW50IExpc3RlbmVy
cyIgcGFuZSBzaG93IGhhbmRsZXIgZnVuY3Rpb24gaW5zdGVhZCBvZiBGdW5jdGlvbi5wcm90b3R5
cGUuYmluZC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDAwODAKKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzOgor
ICAgICAgICAoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuYmluZGVkKToKKyAgICAgICAgKEZ1bmN0
aW9uLnByb3RvdHlwZS5iaW5kLmJpbmRlZC50b1N0cmluZyk6CisgICAgICAgIChGdW5jdGlvbi5w
cm90b3R5cGUuYmluZCk6CisKIDIwMTAtMDYtMDIgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZGVycyBDYXJsc3Nvbi4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC91dGlsaXRpZXMuanMgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzCmluZGV4IDlhZDFjMTAuLjliYzdlMDMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC91dGlsaXRpZXMuanMKKysrIGIvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3V0aWxpdGllcy5qcwpAQCAtNTUsNyArNTUsMTMgQEAg
RnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgPSBmdW5jdGlvbih0aGlzT2JqZWN0KQogewogICAgIHZh
ciBmdW5jID0gdGhpczsKICAgICB2YXIgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxs
KGFyZ3VtZW50cywgMSk7Ci0gICAgcmV0dXJuIGZ1bmN0aW9uKCkgeyByZXR1cm4gZnVuYy5hcHBs
eSh0aGlzT2JqZWN0LCBhcmdzLmNvbmNhdChBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1
bWVudHMsIDApKSkgfTsKKyAgICBmdW5jdGlvbiBiaW5kZWQoKSB7CisgICAgICAgIHJldHVybiBm
dW5jLmFwcGx5KHRoaXNPYmplY3QsIGFyZ3MuY29uY2F0KEFycmF5LnByb3RvdHlwZS5zbGljZS5j
YWxsKGFyZ3VtZW50cywgMCkpKTsKKyAgICB9OworICAgIGJpbmRlZC50b1N0cmluZyA9IGZ1bmN0
aW9uIHRvU3RyaW5nKCkgeworICAgICAgICByZXR1cm4gZnVuYy50b1N0cmluZygpOworICAgIH07
CisgICAgcmV0dXJuIGJpbmRlZDsKIH0KIAogTm9kZS5wcm90b3R5cGUucmFuZ2VPZldvcmQgPSBm
dW5jdGlvbihvZmZzZXQsIHN0b3BDaGFyYWN0ZXJzLCBzdGF5V2l0aGluTm9kZSwgZGlyZWN0aW9u
KQo=
</data>
<flag name="review"
          id="42325"
          type_id="1"
          status="+"
          setter="timothy"
    />
    <flag name="commit-queue"
          id="42330"
          type_id="3"
          status="+"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57694</attachid>
            <date>2010-06-02 13:36:14 -0700</date>
            <delta_ts>2010-06-02 14:05:51 -0700</delta_ts>
            <desc>Show a handler function instead of Function.prototype.bind</desc>
            <filename>better_bind.patch</filename>
            <type>text/plain</type>
            <size>1538</size>
            <attacher name="Nikita Vasilyev">me</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZjUyZDg1NS4uMTZiMTAzZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wNi0wMiAgTmlraXRhIFZhc2ls
eWV2ICA8bWVAZWx2MXMucnU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogYmV0dGVyIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5k
IGZvciB0aGUgaW50ZXJuYWwgY29kZS4KKworICAgICAgICBJbiB0aGUgIkV2ZW50IExpc3RlbmVy
cyIgcGFuZSBzaG93IGhhbmRsZXIgZnVuY3Rpb24gaW5zdGVhZCBvZiBGdW5jdGlvbi5wcm90b3R5
cGUuYmluZC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDAwODAKKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzOgor
ICAgICAgICAoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuYmluZGVkKToKKyAgICAgICAgKEZ1bmN0
aW9uLnByb3RvdHlwZS5iaW5kLmJpbmRlZC50b1N0cmluZyk6CisgICAgICAgIChGdW5jdGlvbi5w
cm90b3R5cGUuYmluZCk6CisKIDIwMTAtMDYtMDIgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZGVycyBDYXJsc3Nvbi4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC91dGlsaXRpZXMuanMgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzCmluZGV4IDlhZDFjMTAuLjhiOGYxNGMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC91dGlsaXRpZXMuanMKKysrIGIvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3V0aWxpdGllcy5qcwpAQCAtNTUsNyArNTUsMTMgQEAg
RnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgPSBmdW5jdGlvbih0aGlzT2JqZWN0KQogewogICAgIHZh
ciBmdW5jID0gdGhpczsKICAgICB2YXIgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxs
KGFyZ3VtZW50cywgMSk7Ci0gICAgcmV0dXJuIGZ1bmN0aW9uKCkgeyByZXR1cm4gZnVuYy5hcHBs
eSh0aGlzT2JqZWN0LCBhcmdzLmNvbmNhdChBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1
bWVudHMsIDApKSkgfTsKKyAgICBmdW5jdGlvbiBib3VuZCgpIHsKKyAgICAgICAgcmV0dXJuIGZ1
bmMuYXBwbHkodGhpc09iamVjdCwgYXJncy5jb25jYXQoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNh
bGwoYXJndW1lbnRzLCAwKSkpOworICAgIH07CisgICAgYm91bmQudG9TdHJpbmcgPSBmdW5jdGlv
biB0b1N0cmluZygpIHsKKyAgICAgICAgcmV0dXJuIGZ1bmMudG9TdHJpbmcoKTsKKyAgICB9Owor
ICAgIHJldHVybiBib3VuZDsKIH0KIAogTm9kZS5wcm90b3R5cGUucmFuZ2VPZldvcmQgPSBmdW5j
dGlvbihvZmZzZXQsIHN0b3BDaGFyYWN0ZXJzLCBzdGF5V2l0aGluTm9kZSwgZGlyZWN0aW9uKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57700</attachid>
            <date>2010-06-02 14:05:51 -0700</date>
            <delta_ts>2010-06-04 04:58:30 -0700</delta_ts>
            <desc>Show a handler function instead of Function.prototype.bind</desc>
            <filename>better_bind.patch</filename>
            <type>text/plain</type>
            <size>1536</size>
            <attacher name="Nikita Vasilyev">me</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZjUyZDg1NS4uZWUxZGZiNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wNi0wMiAgTmlraXRhIFZhc2ls
eWV2ICA8bWVAZWx2MXMucnU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogYmV0dGVyIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5k
IGZvciB0aGUgaW50ZXJuYWwgY29kZS4KKworICAgICAgICBJbiB0aGUgIkV2ZW50IExpc3RlbmVy
cyIgcGFuZSBzaG93IGhhbmRsZXIgZnVuY3Rpb24gaW5zdGVhZCBvZiBGdW5jdGlvbi5wcm90b3R5
cGUuYmluZC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDAwODAKKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzOgor
ICAgICAgICAoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuYm91bmQpOgorICAgICAgICAoRnVuY3Rp
b24ucHJvdG90eXBlLmJpbmQuYm91bmQudG9TdHJpbmcpOgorICAgICAgICAoRnVuY3Rpb24ucHJv
dG90eXBlLmJpbmQpOgorCiAyMDEwLTA2LTAyICBEYXZpZCBIeWF0dCAgPGh5YXR0QGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRlcnMgQ2FybHNzb24uCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzIGIvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL3V0aWxpdGllcy5qcwppbmRleCA5YWQxYzEwLi44YjhmMTRjIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzCisrKyBiL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC91dGlsaXRpZXMuanMKQEAgLTU1LDcgKzU1LDEzIEBAIEZ1
bmN0aW9uLnByb3RvdHlwZS5iaW5kID0gZnVuY3Rpb24odGhpc09iamVjdCkKIHsKICAgICB2YXIg
ZnVuYyA9IHRoaXM7CiAgICAgdmFyIGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChh
cmd1bWVudHMsIDEpOwotICAgIHJldHVybiBmdW5jdGlvbigpIHsgcmV0dXJuIGZ1bmMuYXBwbHko
dGhpc09iamVjdCwgYXJncy5jb25jYXQoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1l
bnRzLCAwKSkpIH07CisgICAgZnVuY3Rpb24gYm91bmQoKSB7CisgICAgICAgIHJldHVybiBmdW5j
LmFwcGx5KHRoaXNPYmplY3QsIGFyZ3MuY29uY2F0KEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxs
KGFyZ3VtZW50cywgMCkpKTsKKyAgICB9OworICAgIGJvdW5kLnRvU3RyaW5nID0gZnVuY3Rpb24g
dG9TdHJpbmcoKSB7CisgICAgICAgIHJldHVybiBmdW5jLnRvU3RyaW5nKCk7CisgICAgfTsKKyAg
ICByZXR1cm4gYm91bmQ7CiB9CiAKIE5vZGUucHJvdG90eXBlLnJhbmdlT2ZXb3JkID0gZnVuY3Rp
b24ob2Zmc2V0LCBzdG9wQ2hhcmFjdGVycywgc3RheVdpdGhpbk5vZGUsIGRpcmVjdGlvbikK
</data>
<flag name="review"
          id="42343"
          type_id="1"
          status="-"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57864</attachid>
            <date>2010-06-04 04:58:30 -0700</date>
            <delta_ts>2010-06-04 08:37:49 -0700</delta_ts>
            <desc>Show a handler function instead of Function.prototype.bind</desc>
            <filename>better_bind.patch</filename>
            <type>text/plain</type>
            <size>1532</size>
            <attacher name="Nikita Vasilyev">me</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZjUyZDg1NS4uZWUxZGZiNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wNi0wMiAgTmlraXRhIFZhc2ls
eWV2ICA8bWVAZWx2MXMucnU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogYmV0dGVyIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5k
IGZvciB0aGUgaW50ZXJuYWwgY29kZS4KKworICAgICAgICBJbiB0aGUgIkV2ZW50IExpc3RlbmVy
cyIgcGFuZSBzaG93IGhhbmRsZXIgZnVuY3Rpb24gaW5zdGVhZCBvZiBGdW5jdGlvbi5wcm90b3R5
cGUuYmluZC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDAwODAKKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzOgor
ICAgICAgICAoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuYm91bmQpOgorICAgICAgICAoRnVuY3Rp
b24ucHJvdG90eXBlLmJpbmQuYm91bmQudG9TdHJpbmcpOgorICAgICAgICAoRnVuY3Rpb24ucHJv
dG90eXBlLmJpbmQpOgorCiAyMDEwLTA2LTAyICBEYXZpZCBIeWF0dCAgPGh5YXR0QGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRlcnMgQ2FybHNzb24uCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzIGIvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL3V0aWxpdGllcy5qcwppbmRleCA5YWQxYzEwLi5iYjE5ZGJkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzCisrKyBiL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC91dGlsaXRpZXMuanMKQEAgLTU1LDcgKzU1LDE0IEBAIEZ1
bmN0aW9uLnByb3RvdHlwZS5iaW5kID0gZnVuY3Rpb24odGhpc09iamVjdCkKIHsKICAgICB2YXIg
ZnVuYyA9IHRoaXM7CiAgICAgdmFyIGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChh
cmd1bWVudHMsIDEpOwotICAgIHJldHVybiBmdW5jdGlvbigpIHsgcmV0dXJuIGZ1bmMuYXBwbHko
dGhpc09iamVjdCwgYXJncy5jb25jYXQoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1l
bnRzLCAwKSkpIH07CisgICAgZnVuY3Rpb24gYm91bmQoKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGZ1bmMuYXBwbHkodGhpc09iamVjdCwgYXJncy5jb25jYXQoQXJyYXkucHJvdG90eXBlLnNsaWNl
LmNhbGwoYXJndW1lbnRzLCAwKSkpOworICAgIH0KKyAgICBib3VuZC50b1N0cmluZyA9IGZ1bmN0
aW9uKCkgeworICAgICAgICByZXR1cm4gImJvdW5kOiAiICsgZnVuYzsKKyAgICB9OworICAgIHJl
dHVybiBib3VuZDsKIH0KIAogTm9kZS5wcm90b3R5cGUucmFuZ2VPZldvcmQgPSBmdW5jdGlvbihv
ZmZzZXQsIHN0b3BDaGFyYWN0ZXJzLCBzdGF5V2l0aGluTm9kZSwgZGlyZWN0aW9uKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>