<?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>24001</bug_id>
          
          <creation_ts>2009-02-18 04:15:16 -0800</creation_ts>
          <short_desc>[GTK] Cache control APIs</short_desc>
          <delta_ts>2010-02-26 10:11:00 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kalle Vahlman">zuh</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>adam</cc>
    
    <cc>alex</cc>
    
    <cc>christian</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ht990332</cc>
    
    <cc>jmalonzo</cc>
    
    <cc>pnormand</cc>
    
    <cc>pochu27</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>xfdbse</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>110064</commentid>
    <comment_count>0</comment_count>
    <who name="Kalle Vahlman">zuh</who>
    <bug_when>2009-02-18 04:15:16 -0800</bug_when>
    <thetext>There&apos;s a certain amount of control applications want to have over the caches that WebKit has, most importantly clearing them (for forcing content re-loads for example).

There is three kinds of caches at least:

 - In-memory cache for resources (images, stylesheets etc)
 - On-disk cache for resources
 - Page cache for loaded documents

As mentioned in bug #21239, the on-disk cache is planned to be handled through Soup for the GTK+ port so it needs no additional API (although it does mean that you need to clear it separately then...).

The in-memory cache size is a bit tricky to expose and it probably makes more sense to be automatic or modified build-time for special cases anyway, so I don&apos;t have a patch for that.

Setting the page cache size is also a questionable thing to expose directly, since applications can&apos;t have a good view to what is a good value really.

What the mac port does is to have three caching models (small/medium/large) for different application profiles, and these are relative to the capacity of the machine. So for example for a document viewer (no frequent navigation) the page cache is disabled, for a document (eg. help) browser the size is at most 3 and smaller if there&apos;s under 1GB of memory and a web browser gets 5 if there&apos;s more than 2GB of memory.

I think this would be a sane thing to do for the GTK+ port too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110066</commentid>
    <comment_count>1</comment_count>
      <attachid>27745</attachid>
    <who name="Kalle Vahlman">zuh</who>
    <bug_when>2009-02-18 04:19:24 -0800</bug_when>
    <thetext>Created attachment 27745
This patch adds a boolean page-cache property to WebSettings for enabling/disabling the use of page cache</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110068</commentid>
    <comment_count>2</comment_count>
      <attachid>27746</attachid>
    <who name="Kalle Vahlman">zuh</who>
    <bug_when>2009-02-18 04:25:38 -0800</bug_when>
    <thetext>Created attachment 27746
This patch adds API to clear the page and resource caches</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110069</commentid>
    <comment_count>3</comment_count>
      <attachid>27747</attachid>
    <who name="Kalle Vahlman">zuh</who>
    <bug_when>2009-02-18 05:01:55 -0800</bug_when>
    <thetext>Created attachment 27747
This patch adds API to clear the page and resource caches *and* actually builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112747</commentid>
    <comment_count>4</comment_count>
      <attachid>28394</attachid>
    <who name="Bobby Powers">bobbypowers</who>
    <bug_when>2009-03-07 18:44:54 -0800</bug_when>
    <thetext>Created attachment 28394
Implement 3 cache models for gtk target

this adds a dependency to libgtop.  I couldn&apos;t find another way to find total system memory in a platform-agnostic way.  libgtop releases seem synced to GNOME, but its only linked against glib (doesn&apos;t pull in GNOME dependencies).  If this is really a problem, I suppose I could go through and pull out the platform dependent ways for mac, windows, {free|open}bsd, linux and create an internal webkit function to find the total memory, but it seems like a big hassle.

The cache model implementation is almost line for line the same as the Mac implementation, except on the mac they also manipulate NSURLCache.  The GTK equivalent would be libsoup, but I&apos;m told libsoup doesn&apos;t do any caching yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119823</commentid>
    <comment_count>5</comment_count>
      <attachid>27745</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-05-04 04:50:57 -0700</bug_when>
    <thetext>Comment on attachment 27745
This patch adds a boolean page-cache property to WebSettings for enabling/disabling the use of page cache

I believe this property should be called enable-page-cache, to match the other properties which are similar in behavior. I think it is good to improve the comment which describes the property, too, to explain what the page cache is, and that disabling it doesn&apos;t disable all caching, but looks otherwise good to me. I&apos;ll have Xan take a look, since this is public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119825</commentid>
    <comment_count>6</comment_count>
      <attachid>27747</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-05-04 05:32:27 -0700</bug_when>
    <thetext>Comment on attachment 27747
This patch adds API to clear the page and resource caches *and* actually builds

&gt; +/**
&gt; + * webkit_web_view_clear_cache:
&gt; + * @web_view: a #WebKitWebView

This looks wrong to me. Notice that you use the webview for nothing, and that&apos;s because both caches are actually global, right? So what we want is a webkit_clear_caches() that explains that it is cleaning the PageCache as well as the more generic cache, similar to webkit_get_default_session, that we already have.

&gt; + *
&gt; + * Clears cached resources. Useful for browsers with such functionality
&gt; + * and for forcing a reload of all resources.
&gt; + *
&gt; + * Since: 1.1.1
&gt; + */
&gt; +void webkit_web_view_clear_cache(WebKitWebView* webView)
&gt; +{
&gt; +    g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
&gt; +
&gt; +    // Clear the page cache
&gt; +    int pageCacheSize = pageCache()-&gt;capacity();
&gt; +    pageCache()-&gt;setCapacity(0);
&gt; +    pageCache()-&gt;setCapacity(pageCacheSize);
&gt; +
&gt; +    // Clear the global cache
&gt; +    cache()-&gt;setDisabled(true);
&gt; +    cache()-&gt;setDisabled(false);
&gt; +
&gt; +}
&gt; +
&gt;  }
&gt; diff --git a/WebKit/gtk/webkit/webkitwebview.h b/WebKit/gtk/webkit/webkitwebview.h
&gt; index 860c0d0..412326b 100644
&gt; --- a/WebKit/gtk/webkit/webkitwebview.h
&gt; +++ b/WebKit/gtk/webkit/webkitwebview.h
&gt; @@ -2,6 +2,7 @@
&gt;   * Copyright (C) 2007 Holger Hans Peter Freyther
&gt;   * Copyright (C) 2007, 2008 Alp Toker &lt;alp@atoker.com&gt;
&gt;   * Copyright (C) 2008 Collabora Ltd.
&gt; + * Copyright (C) 2009 Movial Creative Technologies Inc.
&gt;   *
&gt;   * This library is free software; you can redistribute it and/or
&gt;   * modify it under the terms of the GNU Library General Public
&gt; @@ -304,6 +305,9 @@ WEBKIT_API void
&gt;  webkit_web_view_set_full_content_zoom           (WebKitWebView        *web_view,
&gt;                                                   gboolean              full_content_zoom);
&gt;  
&gt; +WEBKIT_API void
&gt; +webkit_web_view_clear_cache                     (WebKitWebView        *web_view);
&gt; +
&gt;  G_END_DECLS
&gt;  
&gt;  #endif</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119826</commentid>
    <comment_count>7</comment_count>
      <attachid>28394</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-05-04 05:35:20 -0700</bug_when>
    <thetext>Comment on attachment 28394
Implement 3 cache models for gtk target

&gt; diff --git a/ChangeLog b/ChangeLog
&gt; index 1af6e4a..b4ef3b0 100644
&gt; --- a/ChangeLog
&gt; +++ b/ChangeLog
&gt; @@ -1,3 +1,16 @@
&gt; +2009-03-07  Bobby Powers  &lt;bobby@laptop.org&gt;
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        Implement and expose cache models for GTK
&gt; +        
&gt; +        Based off the Mac implementation in WebView.mm. Expose this as
&gt; +        a property in WebKitWebSettings, even though it is a global setting.
&gt; +        Update GtkLauncher to use the &apos;web browser&apos; cache model.

I really don&apos;t like exposing global settings through WebKitWebSettings, as those should at least in theory only affect the views they are attached to. So my preference would be to have ad-hoc functions for this, I think. Gustavo?

&gt;  libwebkit_1_0_la_CFLAGS = \
&gt;  	$(libWebCore_la_CFLAGS) \
&gt; -	$(GNOMEKEYRING_CFLAGS)
&gt; +	$(GNOMEKEYRING_CFLAGS) \
&gt; +	$(LIBGTOP_CFLAGS)

A new library dependency for this seems a real pain. Do you think there might a be a chance to get this code into glib proper? If so, I&apos;d favour copy&amp;pasting it while that happens to later drop the code.


&gt; --- a/WebKit/gtk/webkit/webkitprivate.h
&gt; +++ b/WebKit/gtk/webkit/webkitprivate.h
&gt; @@ -196,6 +196,15 @@ extern &quot;C&quot; {
&gt;  
&gt;      WEBKIT_API void
&gt;      webkit_web_settings_add_extra_plugin_directory (WebKitWebView *web_view, const gchar* directory);
&gt; +
&gt; +    WEBKIT_API void
&gt; +    webkit_web_view_set_cache_model (WebKitCacheModel cache_model);
&gt; +
&gt; +    WEBKIT_API WebKitCacheModel
&gt; +    webkit_web_view_cache_model (void);
&gt; +
&gt; +    WEBKIT_API gboolean
&gt; +    webkit_web_view_did_set_cache_model (void);

So all three functions are not meant for public usage, only the property?


&gt; +    /**
&gt; +    * WebKitWebSettings:cache-model:
&gt; +    *
&gt; +    * Specifies a usage model for a WebView, which WebKit will use to
&gt; +    * determine its caching behavior.
&gt; +    *
&gt; +    * Research indicates that users tend to browse within clusters of
&gt; +    * documents that hold resources in common, and to revisit previously visited
&gt; +    * documents. WebKit and the frameworks below it include built-in caches that take
&gt; +    * advantage of these patterns, substantially improving document load speed in
&gt; +    * browsing situations. The WebKit cache model controls the behaviors of all of
&gt; +    * these caches, including NSURLCache and the various WebCore caches.

Guess you want to drop the NSURLCache bit there, and mention libsoup in the future.

&gt; +    *
&gt; +    * Applications with a browsing interface can improve document load speed
&gt; +    * substantially by specifying WebCacheModelDocumentBrowser. Applications without
&gt; +    * a browsing interface can reduce memory usage substantially by specifying
&gt; +    * WebCacheModelDocumentViewer.
&gt; +    *
&gt; +    * Since: 1.1.1

1.1.7 (same everywhere else)

&gt; +    */
&gt; +    g_object_class_install_property(gobject_class,
&gt; +                                    PROP_CACHE_MODEL,
&gt; +                                    g_param_spec_int(
&gt; +                                    &quot;cache-model&quot;,
&gt; +                                    &quot;Cache Model&quot;,
&gt; +                                    &quot;The cache model for all WebViews to use.&quot;,
&gt; +                                    0, 2, 0,
&gt; +                                    flags));

This property should be an enum, not an int, and should mark for translation the blurb and long description.

&gt;  
&gt; +#include &lt;glibtop/mem.h&gt;
&gt; +#include &quot;Cache.h&quot;
&gt; +#include &quot;PageCache.h&quot;
&gt; +

Please use the existing system to sort the headers in that file.

&gt;  
&gt; +    if (!webkit_web_view_did_set_cache_model())
&gt; +    {

Brace is on the wrong line.


&gt; +    default:
&gt; +        ASSERT_NOT_REACHED();

g_assert_not_reached()

&gt;
&gt; +gboolean webkit_web_view_did_set_cache_model()
&gt; +{
&gt; +  return s_didSetCacheModel ? TRUE : FALSE;
&gt; +}

Just return s_didSetCacheModel; ?

&gt; +    g_object_set (G_OBJECT (settings), &quot;cache-model&quot;, WEBKIT_CACHE_MODEL_WEB_BROWSER, NULL);

g_object_set takes a gpointer.

I&apos;ll r- this for now while we discuss the poins I have raised or others people might have.

&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119828</commentid>
    <comment_count>8</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-05-04 05:39:57 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 27745 [review])
&gt; I believe this property should be called enable-page-cache, to match the other
&gt; properties which are similar in behavior. I think it is good to improve the
&gt; comment which describes the property, too, to explain what the page cache is,
&gt; and that disabling it doesn&apos;t disable all caching, but looks otherwise good to
&gt; me. I&apos;ll have Xan take a look, since this is public API.
&gt; 

Yes, I think it would be nice to have some of the great explanation of the first comment in the property documentation. Other issues are the enable- bit asd Gustavo mentioned, changing 1.1.1 to 1.1.7 in the Since: tags and marking strings for translation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119829</commentid>
    <comment_count>9</comment_count>
      <attachid>28394</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-05-04 05:57:52 -0700</bug_when>
    <thetext>Comment on attachment 28394
Implement 3 cache models for gtk target

&gt; +/* not having this produces a warning when including glibtop.h */
&gt; +#define TIME_WITH_SYS_TIME 1

I would prefer having this right before the include, in this case, and undef&apos;ed afterwards.

&gt; +    // initialize glibtop so we can get memory and disk usage.
&gt; +    glibtop_init();

I don&apos;t think we need to call this init here. We don&apos;t need all structs filled, anyway. I believe you can safely use the global server with the get function straight away, but do test please, because gtop&apos;s docs are way bad =(. Also, it looks like gtop doesn&apos;t work on Windows, so I think we&apos;d need a fallback for this.

&gt; +    WEBKIT_API void
&gt; +    webkit_web_view_set_cache_model (WebKitCacheModel cache_model);
&gt; +
&gt; +    WEBKIT_API WebKitCacheModel
&gt; +    webkit_web_view_cache_model (void);

These should not be webkit_web_view. They do not concern a specific webview, so make them webkit_{set,get}_cache_model. Notice the get, too.

&gt; +    WEBKIT_API gboolean
&gt; +    webkit_web_view_did_set_cache_model (void);

I don&apos;t think we need this at all.

&gt; +    PROP_CACHE_MODEL

Nor a property, since this will be handled globally.

&gt; +    if (!webkit_web_view_did_set_cache_model())
&gt; +    {
&gt; +        // the Mac port checks the running app against a list of known
&gt; +        // apps with preferred cache models, and then falls back on
&gt; +        // WEBWEBKIT_CACHE_MODEL_DOCUMENT_VIEWER
&gt; +        webkit_web_view_set_cache_model(WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER);
&gt; +    }
&gt; +

Move this to webkit_init. We should only do this once, really.

&gt; +    if (s_didSetCacheModel &amp;&amp; cacheModel == s_cacheModel)
&gt; +        return;

The didSetCacheModel check should go away everywhere, I think.

&gt; diff --git a/WebKitTools/GtkLauncher/main.c b/WebKitTools/GtkLauncher/main.c

Put this in a different patch, for the testing purposes, please.

Thanks for the patch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126265</commentid>
    <comment_count>10</comment_count>
    <who name="Christian Dywan">christian</who>
    <bug_when>2009-06-16 13:04:16 -0700</bug_when>
    <thetext>The patch looks quite nice, mind Gustavo&apos;s comments.

Did you check if libgtop 2.22.3 is available on Debian stable and BSD? I&apos;d say if this is going to be mandatory that should both be Yes.

And please check if gtop is available on Win32, WebKitGTK almost works out of the box on Win32 these days and we don&apos;t want to change that again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126267</commentid>
    <comment_count>11</comment_count>
    <who name="Emilio Pozuelo Monfort">pochu27</who>
    <bug_when>2009-06-16 13:09:13 -0700</bug_when>
    <thetext>Debian stable has libgtop 2.22.3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154576</commentid>
    <comment_count>12</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2009-10-14 08:06:40 -0700</bug_when>
    <thetext>Ping?

Can the media test media/restore-from-page-cache.html be skipped until this bug is fixed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156163</commentid>
    <comment_count>13</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-10-20 08:32:48 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Ping?
&gt; 
&gt; Can the media test media/restore-from-page-cache.html be skipped until this bug
&gt; is fixed?

I&apos;ve done this now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168738</commentid>
    <comment_count>14</comment_count>
      <attachid>44307</attachid>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2009-12-04 05:29:55 -0800</bug_when>
    <thetext>Created attachment 44307
Patch upgraded and reviewed

I&apos;ve upgraded and reviewed the patch following the comments: reviewed the name of the property, add documentation, add i18n and I&apos;ve added also some parts that were missing: check modification notifications of the property and include the property when copying the object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168739</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-04 05:32:12 -0800</bug_when>
    <thetext>Attachment 44307 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKit/gtk/webkit/webkitwebsettings.cpp:103:  enable_page_cache is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKit/gtk/webkit/webkitwebview.cpp:2549:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
Total errors found: 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168751</commentid>
    <comment_count>16</comment_count>
      <attachid>44307</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-12-04 06:23:01 -0800</bug_when>
    <thetext>Comment on attachment 44307
Patch upgraded and reviewed

&gt; @@ -2543,6 +2546,8 @@ static void webkit_web_view_settings_notify(WebKitWebSettings* webSettings, GPar
&gt;          if (page)
&gt;              page-&gt;setTabKeyCyclesThroughElements(g_value_get_boolean(&amp;value));
&gt;      }
&gt; +    else if (name == g_intern_string(&quot;enable-page-cache&quot;))
&gt; +        settings-&gt;setUsesPageCache(g_value_get_boolean(&amp;value));
&gt;      else if (!g_object_class_find_property(G_OBJECT_GET_CLASS(webSettings), name))
&gt;          g_warning(&quot;Unexpected setting &apos;%s&apos;&quot;, name);
&gt;      g_value_unset(&amp;value);

Like the bot already told us, this else if should be on the line with the }. The variable name is fine, though, leave it as is. Aside from this, the patch looks good, so I would say just fix this and reupload so we can set cq+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168754</commentid>
    <comment_count>17</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-12-04 06:55:01 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; (From update of attachment 44307 [details])
&gt; &gt; @@ -2543,6 +2546,8 @@ static void webkit_web_view_settings_notify(WebKitWebSettings* webSettings, GPar
&gt; &gt;          if (page)
&gt; &gt;              page-&gt;setTabKeyCyclesThroughElements(g_value_get_boolean(&amp;value));
&gt; &gt;      }
&gt; &gt; +    else if (name == g_intern_string(&quot;enable-page-cache&quot;))
&gt; &gt; +        settings-&gt;setUsesPageCache(g_value_get_boolean(&amp;value));
&gt; &gt;      else if (!g_object_class_find_property(G_OBJECT_GET_CLASS(webSettings), name))
&gt; &gt;          g_warning(&quot;Unexpected setting &apos;%s&apos;&quot;, name);
&gt; &gt;      g_value_unset(&amp;value);
&gt; 
&gt; Like the bot already told us, this else if should be on the line with the }.
&gt; The variable name is fine, though, leave it as is. Aside from this, the patch
&gt; looks good, so I would say just fix this and reupload so we can set cq+.

Actually there&apos;s no reason to not use camel case in those variables (and I&apos;m sure we do that in other places). But it can go in a different patch.

+    * viewers. This setting only controls the Page Cache, note that
+    * the Page Cache is an end user feature that makes navigating the
+    * web much smoother, it is not a cache in the disk cache sense and
+    * it is not a cache in the traditional memory cache. Basically the
+    * Page Cache makes clicking the back button almost
+    * instantaneous. For details about the different types of caches
+    * and their purposes see:
+    * http://webkit.org/blog/427/webkit-page-cache-i-the-basics/

I think here you are making things a bit confusing by not quoting the page completely. The page cache is a memory cache, but what the blog means is that it&apos;s not a &quot;memory cache&quot; in the traditional sense where a resource is stored in memory to be used by any page. I think I&apos;d only say that this cache is different than the disk-based or memory-based traditional resource caches, that its point is to make going back and forth between pages much faster, and that for more details you can see the mentioned link. Ideally in the future we&apos;d have a full explanation somewhere in our docs instead of in an external link.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168757</commentid>
    <comment_count>18</comment_count>
    <who name="Christian Dywan">christian</who>
    <bug_when>2009-12-04 07:07:42 -0800</bug_when>
    <thetext>Just in case, please keep in mind that the &quot;upgraded&quot; patch is only part of the feature. We still need a way to control the capacities of the caches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168767</commentid>
    <comment_count>19</comment_count>
      <attachid>44313</attachid>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2009-12-04 08:00:12 -0800</bug_when>
    <thetext>Created attachment 44313
New proposal of the patch

Thanks for the comments, I&apos;ve modified all the points.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168769</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-04 08:05:04 -0800</bug_when>
    <thetext>Attachment 44313 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKit/gtk/webkit/webkitwebsettings.cpp:103:  enable_page_cache is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168836</commentid>
    <comment_count>21</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2009-12-04 10:36:32 -0800</bug_when>
    <thetext>I&apos;ve checked the second patch and we have to make some decisions about it before creating the next proposal, the method is called webkit_web_view_clear_cache but it is not clearing the application storage, should we change the name to clear_memory_cache or add cacheStorage.empty().

I&apos;ve also checked win port when clearing the WebCache is also clearing the cross origin preflight cache, I guess this causes the preflight for all the cross origin requests again, this is not a resources cache in memory but the list of the states regarding those requests. Does anyone have any insight about this point, should we add it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168841</commentid>
    <comment_count>22</comment_count>
    <who name="Christian Dywan">christian</who>
    <bug_when>2009-12-04 10:52:38 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; I&apos;ve checked the second patch and we have to make some decisions about it
&gt; before creating the next proposal, the method is called
&gt; webkit_web_view_clear_cache but it is not clearing the application storage,
&gt; should we change the name to clear_memory_cache or add cacheStorage.empty().
&gt; 
&gt; I&apos;ve also checked win port when clearing the WebCache is also clearing the
&gt; cross origin preflight cache, I guess this causes the preflight for all the
&gt; cross origin requests again, this is not a resources cache in memory but the
&gt; list of the states regarding those requests. Does anyone have any insight about
&gt; this point, should we add it?

How about passing a WebKitCacheType to indicate which cache to clear? Then we can also extend it in the future, ie. we can start with memory and page cache.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172714</commentid>
    <comment_count>23</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2009-12-17 04:25:43 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt;
&gt; [...]
&gt; 
&gt; How about passing a WebKitCacheType to indicate which cache to clear? Then we
&gt; can also extend it in the future, ie. we can start with memory and page cache.

After checking the different implementations in the other ports I think we can do the same mac is doing, which is basically review the cache model patch and use that API to set the documentviewer cache model in order to clean the cache. And add application cache and preflight cache clearing to that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172840</commentid>
    <comment_count>24</comment_count>
      <attachid>45083</attachid>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2009-12-17 10:15:37 -0800</bug_when>
    <thetext>Created attachment 45083
Proposed patch for the cache models

First proposal for the cache models API, based in the last patch uploaded in the bug. I&apos;ve created just one API: void webkit_set_cache_model(WebKitCacheModel cacheModel), and avoided the libgtop setting static values.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172845</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-17 10:19:38 -0800</bug_when>
    <thetext>Attachment 45083 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKit/gtk/webkit/webkitprivate.cpp:248:  Extra space before ( in function call  [whitespace/parens] [4]
WebKit/gtk/webkit/webkitwebview.cpp:4089:  webkit_set_cache_model is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKit/gtk/webkit/webkitwebview.h:379:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172854</commentid>
    <comment_count>26</comment_count>
      <attachid>44313</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-17 10:32:37 -0800</bug_when>
    <thetext>Comment on attachment 44313
New proposal of the patch

Rejecting patch 44313 from commit-queue.

Failed to run &quot;[&apos;/Users/eseidel/Projects/CommitQueue/WebKitTools/Scripts/svn-apply&apos;, &apos;--reviewer&apos;, &apos;Gustavo Noronha Silva&apos;, &apos;--force&apos;]&quot; exit_code: 1
Last 500 characters of output:
D at 142.
Hunk #4 succeeded at 736 with fuzz 2 (offset 46 lines).
Hunk #5 succeeded at 964 with fuzz 2 (offset 52 lines).
Hunk #6 FAILED at 1084.
Hunk #7 FAILED at 1152.
4 out of 7 hunks FAILED -- saving rejects to file WebKit/gtk/webkit/webkitwebsettings.cpp.rej
patching file WebKit/gtk/webkit/webkitwebview.cpp
Hunk #2 FAILED at 2389.
Hunk #3 FAILED at 2420.
Hunk #4 FAILED at 2448.
Hunk #5 FAILED at 2545.
4 out of 5 hunks FAILED -- saving rejects to file WebKit/gtk/webkit/webkitwebview.cpp.rej

Full output: http://webkit-commit-queue.appspot.com/results/127969</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173096</commentid>
    <comment_count>27</comment_count>
      <attachid>45137</attachid>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2009-12-18 03:15:10 -0800</bug_when>
    <thetext>Created attachment 45137
Proposed patch

Updated patch, let&apos;s try it again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173097</commentid>
    <comment_count>28</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-18 03:19:28 -0800</bug_when>
    <thetext>Attachment 45137 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKit/gtk/webkit/webkitwebsettings.cpp:105:  enable_page_cache is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173107</commentid>
    <comment_count>29</comment_count>
      <attachid>45137</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-12-18 03:50:35 -0800</bug_when>
    <thetext>Comment on attachment 45137
Proposed patch

ok!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173112</commentid>
    <comment_count>30</comment_count>
      <attachid>45137</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-18 04:00:37 -0800</bug_when>
    <thetext>Comment on attachment 45137
Proposed patch

Clearing flags on attachment: 45137

Committed r52306: &lt;http://trac.webkit.org/changeset/52306&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173113</commentid>
    <comment_count>31</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-18 04:00:43 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173114</commentid>
    <comment_count>32</comment_count>
      <attachid>45142</attachid>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2009-12-18 04:01:29 -0800</bug_when>
    <thetext>Created attachment 45142
Proposed patch for cache models

Added a variable to store the current cache model and API to get it, we are going to use it to clear the caches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173120</commentid>
    <comment_count>33</comment_count>
    <who name="Christian Dywan">christian</who>
    <bug_when>2009-12-18 04:44:06 -0800</bug_when>
    <thetext>Re-opening since not all patches are done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173124</commentid>
    <comment_count>34</comment_count>
    <who name="Christian Dywan">christian</who>
    <bug_when>2009-12-18 05:24:48 -0800</bug_when>
    <thetext>(In reply to comment #32)
&gt; Created an attachment (id=45142) [details]
&gt; Proposed patch for cache models
&gt; 
&gt; Added a variable to store the current cache model and API to get it, we are
&gt; going to use it to clear the caches.

Did you intentionally make &quot;web browser&quot; the default or is the documentation wrong by saying that you should specifiy it if you are writing a web browser? I would think &quot;none&quot; should be the default with non-optimized values just like it is at the moment?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173133</commentid>
    <comment_count>35</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2009-12-18 05:59:27 -0800</bug_when>
    <thetext>(In reply to comment #34)
&gt;
&gt; [...]
&gt; 
&gt; Did you intentionally make &quot;web browser&quot; the default or is the documentation
&gt; wrong by saying that you should specifiy it if you are writing a web browser?

The intention was explaining each option, as: if you you are writing a web browser you can do it specifying it.

&gt; I would think &quot;none&quot; should be the default with non-optimized values just like &gt; it is at the moment?

Currently we have page cache capacity to 3, and defaults in the resources cache values, so none is not exactly what we have now. Those default values are smaller than the smallest values set in Apple policies,that is why I thought we could increase them, it is true they are magic values agreed with kov and xan.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173500</commentid>
    <comment_count>36</comment_count>
      <attachid>45229</attachid>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2009-12-19 01:51:51 -0800</bug_when>
    <thetext>Created attachment 45229
Proposed patch cache models

I&apos;ve removed the none value and reviewed the documentation, thanks for the comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173501</commentid>
    <comment_count>37</comment_count>
      <attachid>45230</attachid>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2009-12-19 02:27:35 -0800</bug_when>
    <thetext>Created attachment 45230
Cache models proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173502</commentid>
    <comment_count>38</comment_count>
      <attachid>45231</attachid>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2009-12-19 03:21:07 -0800</bug_when>
    <thetext>Created attachment 45231
Clearing cache API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173663</commentid>
    <comment_count>39</comment_count>
      <attachid>45261</attachid>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2009-12-20 01:42:06 -0800</bug_when>
    <thetext>Created attachment 45261
Proposed patch

Small fix in the doc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173666</commentid>
    <comment_count>40</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-20 01:46:40 -0800</bug_when>
    <thetext>Attachment 45261 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKit/gtk/webkit/webkitwebview.cpp:4100:  webkit_set_cache_model is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKit/gtk/webkit/webkitwebview.cpp:4105:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/gtk/webkit/webkitwebview.cpp:4148:  webkit_get_cache_model is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKit/gtk/webkit/webkitwebview.h:379:  Extra space before ( in function call  [whitespace/parens] [4]
WebKit/gtk/webkit/webkitwebview.h:382:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173668</commentid>
    <comment_count>41</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2009-12-20 01:52:15 -0800</bug_when>
    <thetext>Clearing cache patch needs some discussion before applying it, the use case to clean the whole cache (disk and memory) is not clear. We will have the soup API to release the disk cache, so in which situation we would like to release memory and disk? Considering the application has picked the proper cache model.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173671</commentid>
    <comment_count>42</comment_count>
      <attachid>45262</attachid>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2009-12-20 01:56:15 -0800</bug_when>
    <thetext>Created attachment 45262
Cache models proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173672</commentid>
    <comment_count>43</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-20 01:57:10 -0800</bug_when>
    <thetext>Attachment 45262 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKit/gtk/webkit/webkitwebview.cpp:4100:  webkit_set_cache_model is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKit/gtk/webkit/webkitwebview.cpp:4148:  webkit_get_cache_model is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKit/gtk/webkit/webkitwebview.h:379:  Extra space before ( in function call  [whitespace/parens] [4]
WebKit/gtk/webkit/webkitwebview.h:382:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173688</commentid>
    <comment_count>44</comment_count>
      <attachid>45262</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-12-20 02:41:39 -0800</bug_when>
    <thetext>Comment on attachment 45262
Cache models proposed patch

&gt;diff --git a/WebKit/gtk/ChangeLog b/WebKit/gtk/ChangeLog
&gt;index 1bc9b80..c4b48ff 100644
&gt;--- a/WebKit/gtk/ChangeLog
&gt;+++ b/WebKit/gtk/ChangeLog
&gt;@@ -1,3 +1,21 @@
&gt;+2009-12-18  Alejandro G. Castro  &lt;alex@igalia.com&gt;
&gt;+
&gt;+        Reviewed by NOBODY (OOPS!).
&gt;+
&gt;+        [GTK] Cache control APIs
&gt;+        https://bugs.webkit.org/show_bug.cgi?id=24001
&gt;+
&gt;+        Original patch by Bobby Powers &lt;bobby@laptop.org&gt;
&gt;+
&gt;+        Added new API to specify cache models for GTK port.
&gt;+
&gt;+        * webkit/webkitprivate.cpp:
&gt;+        (webkit_init): set a default cache model.
&gt;+        * webkit/webkitwebview.cpp:
&gt;+        * webkit/webkitwebview.h:
&gt;+        (webkit_set_cache_model): Added function.
&gt;+        (webkit_get_cache_model): Added function.
&gt;+
&gt; 2009-12-18  Xan Lopez  &lt;xlopez@igalia.com&gt;
&gt; 
&gt;         Reviewed by Gustavo Noronha.
&gt;diff --git a/WebKit/gtk/webkit/webkitprivate.cpp b/WebKit/gtk/webkit/webkitprivate.cpp
&gt;index 7b613ba..bf0b109 100644
&gt;--- a/WebKit/gtk/webkit/webkitprivate.cpp
&gt;+++ b/WebKit/gtk/webkit/webkitprivate.cpp
&gt;@@ -246,10 +246,7 @@ void webkit_init()
&gt;     JSC::initializeThreading();
&gt;     WebCore::InitializeLoggingChannelsIfNecessary();
&gt; 
&gt;-    // Page cache capacity (in pages). Comment from Mac port:
&gt;-    // (Research indicates that value / page drops substantially after 3 pages.)
&gt;-    // FIXME: Expose this with an API and/or calculate based on available resources
&gt;-    WebCore::pageCache()-&gt;setCapacity(3);
&gt;+    webkit_set_cache_model(WEBKIT_CACHE_MODEL_WEB_BROWSER);
&gt; 
&gt; #if ENABLE(DATABASE)
&gt;     gchar* databaseDirectory = g_build_filename(g_get_user_data_dir(), &quot;webkit&quot;, &quot;databases&quot;, NULL);
&gt;diff --git a/WebKit/gtk/webkit/webkitwebview.cpp b/WebKit/gtk/webkit/webkitwebview.cpp
&gt;index b87eeeb..a63b8cc 100644
&gt;--- a/WebKit/gtk/webkit/webkitwebview.cpp
&gt;+++ b/WebKit/gtk/webkit/webkitwebview.cpp
&gt;@@ -9,6 +9,7 @@
&gt;  *  Copyright (C) 2008, 2009 Collabora Ltd.
&gt;  *  Copyright (C) 2009 Igalia S.L.
&gt;  *  Copyright (C) 2009 Movial Creative Technologies Inc.
&gt;+ *  Copyright (C) 2009 Bobby Powers
&gt;  *
&gt;  *  This library is free software; you can redistribute it and/or
&gt;  *  modify it under the terms of the GNU Lesser General Public
&gt;@@ -41,6 +42,7 @@
&gt; #include &quot;AXObjectCache.h&quot;
&gt; #include &quot;NotImplemented.h&quot;
&gt; #include &quot;BackForwardList.h&quot;
&gt;+#include &quot;Cache.h&quot;
&gt; #include &quot;CString.h&quot;
&gt; #include &quot;ChromeClientGtk.h&quot;
&gt; #include &quot;ContextMenu.h&quot;
&gt;@@ -65,6 +67,7 @@
&gt; #include &quot;FrameLoader.h&quot;
&gt; #include &quot;FrameView.h&quot;
&gt; #include &quot;MouseEventWithHitTestResults.h&quot;
&gt;+#include &quot;PageCache.h&quot;
&gt; #include &quot;Pasteboard.h&quot;
&gt; #include &quot;PasteboardHelper.h&quot;
&gt; #include &quot;PasteboardHelperGtk.h&quot;
&gt;@@ -113,6 +116,7 @@
&gt;  */
&gt; 
&gt; static const double defaultDPI = 96.0;
&gt;+static WebKitCacheModel cacheModel;
&gt; 
&gt; using namespace WebKit;
&gt; using namespace WebCore;
&gt;@@ -4067,3 +4071,81 @@ G_CONST_RETURN gchar* webkit_web_view_get_icon_uri(WebKitWebView* webView)
&gt;     priv-&gt;iconURI = g_strdup(iconURL.utf8().data());
&gt;     return priv-&gt;iconURI;
&gt; }
&gt;+
&gt;+/**
&gt;+ * webkit_web_view_set_cache_model:

Wrong name.

&gt;+ * @cache_model: a #WebKitCacheModel
&gt;+ *
&gt;+ * Specifies a usage model for a WebView, which WebKit will use to

for WebViews?

&gt;+ * determine its caching behavior. All web views follow the cache
&gt;+ * model. This cache model determines the RAM and disk space to use
&gt;+ * for caching previously viewed content .
&gt;+ *
&gt;+ * Research indicates that users tend to browse within clusters of

I&apos;m wonder if we&apos;ll ever see this research/study we all quote ;)

&gt;+ * documents that hold resources in common, and to revisit previously
&gt;+ * visited documents. WebKit and the frameworks below it include
&gt;+ * built-in caches that take advantage of these patterns,
&gt;+ * substantially improving document load speed in browsing
&gt;+ * situations. The WebKit cache model controls the behaviors of all of
&gt;+ * these caches, including disk and the various WebCore caches.

Maybe we shouldn&apos;t mention the disk caches until we support them?

&gt;+ *
&gt;+ * Browsers can improve document load speed substantially by
&gt;+ * specifying WEBKIT_CACHE_MODEL_WEB_BROWSER. Applications without a
&gt;+ * browsing interface can reduce memory usage substantially by
&gt;+ * specifying WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER. Default value is
&gt;+ * WEBKIT_CACHE_MODEL_WEB_BROWSER.
&gt;+ *
&gt;+ * Since: 1.1.18
&gt;+ */
&gt;+void webkit_set_cache_model(WebKitCacheModel model)
&gt;+{
&gt;+    if (cacheModel == model)
&gt;+        return;
&gt;+
&gt;+    // FIXME: Add disk cache handling when soup has the API
&gt;+    guint cacheTotalCapacity;
&gt;+    guint cacheMinDeadCapacity;
&gt;+    guint cacheMaxDeadCapacity;
&gt;+    gdouble deadDecodedDataDeletionInterval;
&gt;+    guint pageCacheCapacity;
&gt;+
&gt;+    switch (model) {
&gt;+    case WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER:
&gt;+        pageCacheCapacity = 0;
&gt;+        cacheTotalCapacity = 0;
&gt;+        cacheMinDeadCapacity = 0;
&gt;+        cacheMaxDeadCapacity = 0;
&gt;+        deadDecodedDataDeletionInterval = 0;
&gt;+        break;
&gt;+    case WEBKIT_CACHE_MODEL_WEB_BROWSER:
&gt;+        pageCacheCapacity = 3;
&gt;+        cacheTotalCapacity = 32 * 1024 * 1024;
&gt;+        cacheMinDeadCapacity = cacheTotalCapacity / 4;
&gt;+        cacheMaxDeadCapacity = cacheTotalCapacity / 2;
&gt;+        deadDecodedDataDeletionInterval = 60;
&gt;+        break;
&gt;+    default:
&gt;+        g_assert_not_reached();

Use g_return_if_reached, otherwise we&apos;ll always crash at runtime which is bad.

&gt;+    }
&gt;+
&gt;+    cache()-&gt;setCapacities(cacheMinDeadCapacity, cacheMaxDeadCapacity, cacheTotalCapacity);
&gt;+    cache()-&gt;setDeadDecodedDataDeletionInterval(deadDecodedDataDeletionInterval);
&gt;+    pageCache()-&gt;setCapacity(pageCacheCapacity);
&gt;+    cacheModel = model;
&gt;+}
&gt;+
&gt;+/**
&gt;+ * webkit_web_view_get_cache_model:

Wrong name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173739</commentid>
    <comment_count>45</comment_count>
      <attachid>45279</attachid>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2009-12-20 07:37:58 -0800</bug_when>
    <thetext>Created attachment 45279
Cache models proposed patch

Reviewed the points.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173740</commentid>
    <comment_count>46</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-20 07:41:17 -0800</bug_when>
    <thetext>Attachment 45279 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKit/gtk/webkit/webkitwebview.cpp:4100:  webkit_set_cache_model is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKit/gtk/webkit/webkitwebview.cpp:4148:  webkit_get_cache_model is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKit/gtk/webkit/webkitwebview.h:379:  Extra space before ( in function call  [whitespace/parens] [4]
WebKit/gtk/webkit/webkitwebview.h:382:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173741</commentid>
    <comment_count>47</comment_count>
      <attachid>45279</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-12-20 07:42:44 -0800</bug_when>
    <thetext>Comment on attachment 45279
Cache models proposed patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173742</commentid>
    <comment_count>48</comment_count>
      <attachid>45279</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-20 07:53:46 -0800</bug_when>
    <thetext>Comment on attachment 45279
Cache models proposed patch

Clearing flags on attachment: 45279

Committed r52418: &lt;http://trac.webkit.org/changeset/52418&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173743</commentid>
    <comment_count>49</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-20 07:53:56 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27745</attachid>
            <date>2009-02-18 04:19:24 -0800</date>
            <delta_ts>2009-05-04 04:50:57 -0700</delta_ts>
            <desc>This patch adds a boolean page-cache property to WebSettings for enabling/disabling the use of page cache</desc>
            <filename>add-page-cache-property.patch</filename>
            <type>text/plain</type>
            <size>6246</size>
            <attacher name="Kalle Vahlman">zuh</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
aW5kZXggM2FkMWE0My4uMGMxYjE4OCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAwOS0wMi0xOCAg
S2FsbGUgVmFobG1hbiAgPGthbGxlLnZhaGxtYW5AbW92aWFsLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR1RLXSBBZGQgcGFnZS1jYWNoZSBw
cm9wZXJ0eSB0byBXZWJTZXR0aW5ncyBmb3IgZGlzYWJsaW5nIHRoZSBjYWNoZQorCisgICAgICAg
ICogd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcDoKKyAgICAgICAgKF9XZWJLaXRXZWJTZXR0
aW5nc1ByaXZhdGU6Oik6CisgICAgICAgIChfV2ViS2l0V2ViU2V0dGluZ3NQcml2YXRlOjp3ZWJr
aXRfd2ViX3NldHRpbmdzX2NsYXNzX2luaXQpOgorICAgICAgICAoX1dlYktpdFdlYlNldHRpbmdz
UHJpdmF0ZTo6d2Via2l0X3dlYl9zZXR0aW5nc19zZXRfcHJvcGVydHkpOgorICAgICAgICAoX1dl
YktpdFdlYlNldHRpbmdzUHJpdmF0ZTo6d2Via2l0X3dlYl9zZXR0aW5nc19nZXRfcHJvcGVydHkp
OgorICAgICAgICAoX1dlYktpdFdlYlNldHRpbmdzUHJpdmF0ZTo6d2Via2l0X3dlYl9zZXR0aW5n
c19jb3B5KToKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vidmlldy5jcHA6CisKIDIwMDktMDIt
MTcgIFhhbiBMb3BleiAgPHhhbkBnbm9tZS5vcmc+CiAKICAgICAgICAgUnViYmVyLXN0YW1wZWQg
YnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dl
YmtpdHdlYnNldHRpbmdzLmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdz
LmNwcAppbmRleCBhYTM4YzZjLi41YzUyNjY4IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXR3ZWJzZXR0aW5ncy5jcHAKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vi
c2V0dGluZ3MuY3BwCkBAIC0zLDYgKzMsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA4IE51YW50
aSBMdGQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggQ29sbGFib3JhIEx0ZC4KICAqIENvcHlyaWdo
dCAoQykgMjAwOCBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlcgorICogQ29weXJpZ2h0IChDKSAy
MDA5IE1vdmlhbCBDcmVhdGl2ZSBUZWNobm9sb2dpZXMgSW5jLgogICoKICAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
CkBAIC03NCw2ICs3NSw3IEBAIHN0cnVjdCBfV2ViS2l0V2ViU2V0dGluZ3NQcml2YXRlIHsKICAg
ICBnY2hhciogdXNlcl9zdHlsZXNoZWV0X3VyaTsKICAgICBnZmxvYXQgem9vbV9zdGVwOwogICAg
IGdib29sZWFuIGVuYWJsZV9kZXZlbG9wZXJfZXh0cmFzOworICAgIGdib29sZWFuIHBhZ2VfY2Fj
aGU7CiB9OwogCiAjZGVmaW5lIFdFQktJVF9XRUJfU0VUVElOR1NfR0VUX1BSSVZBVEUob2JqKSAo
R19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKChvYmopLCBXRUJLSVRfVFlQRV9XRUJfU0VUVElO
R1MsIFdlYktpdFdlYlNldHRpbmdzUHJpdmF0ZSkpCkBAIC0xMDEsNyArMTAzLDggQEAgZW51bSB7
CiAgICAgUFJPUF9SRVNJWkFCTEVfVEVYVF9BUkVBUywKICAgICBQUk9QX1VTRVJfU1RZTEVTSEVF
VF9VUkksCiAgICAgUFJPUF9aT09NX1NURVAsCi0gICAgUFJPUF9FTkFCTEVfREVWRUxPUEVSX0VY
VFJBUworICAgIFBST1BfRU5BQkxFX0RFVkVMT1BFUl9FWFRSQVMsCisgICAgUFJPUF9QQUdFX0NB
Q0hFCiB9OwogCiBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX2ZpbmFsaXplKEdPYmpl
Y3QqIG9iamVjdCk7CkBAIC0zMzUsNiArMzM4LDI0IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJf
c2V0dGluZ3NfY2xhc3NfaW5pdChXZWJLaXRXZWJTZXR0aW5nc0NsYXNzKiBrbGFzcykKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZmxhZ3MpKTsKIAorICAgIC8qKgorICAgICogV2ViS2l0V2ViU2V0
dGluZ3M6cGFnZS1jYWNoZToKKyAgICAqCisgICAgKiBFbmFibGUgb3IgZGlzYWJsZSB0aGUgcGFn
ZSBjYWNoZS4gRGlzYWJsaW5nIHRoZSBwYWdlIGNhY2hlIGlzIGdlbmVyYWxseQorICAgICogb25s
eSB1c2VmdWwgZm9yIHNwZWNpYWwgY2lyY3Vtc3RhbmNlcyBsaWtlIGxvdy1tZW1vcnkgc2NlbmFy
aW9zIG9yCisgICAgKiBzcGVjaWFsIHB1cnBvc2UgYXBwbGljYXRpb25zIGxpa2Ugc3RhdGljIEhU
TUwgdmlld2Vycy4KKyAgICAqCisgICAgKiBTaW5jZTogMS4xLjAKKyAgICAqLworICAgIGdfb2Jq
ZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVjdF9jbGFzcywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFBST1BfUEFHRV9DQUNIRSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19ib29sZWFuKAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInBhZ2UtY2FjaGUiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIlBhZ2UgY2FjaGUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIldoZXRoZXIgdGhlIHBhZ2UgY2FjaGUgc2hvdWxkIGJlIHVzZWQiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGZsYWdzKSk7CisKICAgICBnX3R5cGVfY2xhc3NfYWRkX3ByaXZhdGUo
a2xhc3MsIHNpemVvZihXZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGUpKTsKIH0KIApAQCAtNDM3LDYg
KzQ1OCw5IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfc2V0dGluZ3Nfc2V0X3Byb3BlcnR5KEdP
YmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcF9pZCwgY29uCiAgICAgY2FzZSBQUk9QX0VOQUJMRV9E
RVZFTE9QRVJfRVhUUkFTOgogICAgICAgICBwcml2LT5lbmFibGVfZGV2ZWxvcGVyX2V4dHJhcyA9
IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFBS
T1BfUEFHRV9DQUNIRToKKyAgICAgICAgcHJpdi0+cGFnZV9jYWNoZSA9IGdfdmFsdWVfZ2V0X2Jv
b2xlYW4odmFsdWUpOworICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBHX09C
SkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQob2JqZWN0LCBwcm9wX2lkLCBwc3BlYyk7CiAg
ICAgICAgIGJyZWFrOwpAQCAtNTEyLDYgKzUzNiw5IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJf
c2V0dGluZ3NfZ2V0X3Byb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcF9pZCwgR1Zh
CiAgICAgY2FzZSBQUk9QX0VOQUJMRV9ERVZFTE9QRVJfRVhUUkFTOgogICAgICAgICBnX3ZhbHVl
X3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVfZGV2ZWxvcGVyX2V4dHJhcyk7CiAgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgUFJPUF9QQUdFX0NBQ0hFOgorICAgICAgICBnX3ZhbHVlX3Nl
dF9ib29sZWFuKHZhbHVlLCBwcml2LT5wYWdlX2NhY2hlKTsKKyAgICAgICAgYnJlYWs7CiAgICAg
ZGVmYXVsdDoKICAgICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVj
dCwgcHJvcF9pZCwgcHNwZWMpOwogICAgICAgICBicmVhazsKQEAgLTU2Myw2ICs1OTAsNyBAQCBX
ZWJLaXRXZWJTZXR0aW5ncyogd2Via2l0X3dlYl9zZXR0aW5nc19jb3B5KFdlYktpdFdlYlNldHRp
bmdzKiB3ZWJfc2V0dGluZ3MpCiAgICAgICAgICAgICAgICAgICJ1c2VyLXN0eWxlc2hlZXQtdXJp
IiwgcHJpdi0+dXNlcl9zdHlsZXNoZWV0X3VyaSwKICAgICAgICAgICAgICAgICAgInpvb20tc3Rl
cCIsIHByaXYtPnpvb21fc3RlcCwKICAgICAgICAgICAgICAgICAgImVuYWJsZS1kZXZlbG9wZXIt
ZXh0cmFzIiwgcHJpdi0+ZW5hYmxlX2RldmVsb3Blcl9leHRyYXMsCisgICAgICAgICAgICAgICAg
ICJwYWdlLWNhY2hlIiwgcHJpdi0+cGFnZV9jYWNoZSwKICAgICAgICAgICAgICAgICAgTlVMTCkp
OwogCiAgICAgcmV0dXJuIGNvcHk7CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXR3ZWJ2aWV3LmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCmluZGV4
IDQ5NGEyNmYuLjg4MTY0NmYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdl
YnZpZXcuY3BwCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCkBAIC03
LDYgKzcsNyBAQAogICogIENvcHlyaWdodCAoQykgMjAwOCBHdXN0YXZvIE5vcm9uaGEgU2lsdmEg
PGduc0Bnbm9tZS5vcmc+CiAgKiAgQ29weXJpZ2h0IChDKSAyMDA4IE51YW50aSBMdGQuCiAgKiAg
Q29weXJpZ2h0IChDKSAyMDA4IENvbGxhYm9yYSBMdGQuCisgKiAgQ29weXJpZ2h0IChDKSAyMDA5
IE1vdmlhbCBDcmVhdGl2ZSBUZWNobm9sb2dpZXMgSW5jLgogICoKICAqICBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiAgbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwpA
QCAtMTYyNCw3ICsxNjI1LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X3VwZGF0ZV9z
ZXR0aW5ncyhXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQogICAgIFNldHRpbmdzKiBzZXR0aW5ncyA9
IGNvcmUod2ViVmlldyktPnNldHRpbmdzKCk7CiAKICAgICBnY2hhciogZGVmYXVsdEVuY29kaW5n
LCAqY3Vyc2l2ZUZvbnRGYW1pbHksICpkZWZhdWx0Rm9udEZhbWlseSwgKmZhbnRhc3lGb250RmFt
aWx5LCAqbW9ub3NwYWNlRm9udEZhbWlseSwgKnNhbnNTZXJpZkZvbnRGYW1pbHksICpzZXJpZkZv
bnRGYW1pbHksICp1c2VyU3R5bGVzaGVldFVyaTsKLSAgICBnYm9vbGVhbiBhdXRvTG9hZEltYWdl
cywgYXV0b1Nocmlua0ltYWdlcywgcHJpbnRCYWNrZ3JvdW5kcywgZW5hYmxlU2NyaXB0cywgZW5h
YmxlUGx1Z2lucywgZW5hYmxlRGV2ZWxvcGVyRXh0cmFzLCByZXNpemFibGVUZXh0QXJlYXM7Cisg
ICAgZ2Jvb2xlYW4gYXV0b0xvYWRJbWFnZXMsIGF1dG9TaHJpbmtJbWFnZXMsIHByaW50QmFja2dy
b3VuZHMsIGVuYWJsZVNjcmlwdHMsIGVuYWJsZVBsdWdpbnMsIGVuYWJsZURldmVsb3BlckV4dHJh
cywgcmVzaXphYmxlVGV4dEFyZWFzLCB1c2VQYWdlQ2FjaGU7CiAKICAgICBnX29iamVjdF9nZXQo
d2ViU2V0dGluZ3MsCiAgICAgICAgICAgICAgICAgICJkZWZhdWx0LWVuY29kaW5nIiwgJmRlZmF1
bHRFbmNvZGluZywKQEAgLTE2NDIsNiArMTY0Myw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJf
dmlld191cGRhdGVfc2V0dGluZ3MoV2ViS2l0V2ViVmlldyogd2ViVmlldykKICAgICAgICAgICAg
ICAgICAgInJlc2l6YWJsZS10ZXh0LWFyZWFzIiwgJnJlc2l6YWJsZVRleHRBcmVhcywKICAgICAg
ICAgICAgICAgICAgInVzZXItc3R5bGVzaGVldC11cmkiLCAmdXNlclN0eWxlc2hlZXRVcmksCiAg
ICAgICAgICAgICAgICAgICJlbmFibGUtZGV2ZWxvcGVyLWV4dHJhcyIsICZlbmFibGVEZXZlbG9w
ZXJFeHRyYXMsCisgICAgICAgICAgICAgICAgICJwYWdlLWNhY2hlIiwgJnVzZVBhZ2VDYWNoZSwK
ICAgICAgICAgICAgICAgICAgTlVMTCk7CiAKICAgICBzZXR0aW5ncy0+c2V0RGVmYXVsdFRleHRF
bmNvZGluZ05hbWUoZGVmYXVsdEVuY29kaW5nKTsKQEAgLTE2NTksNiArMTY2MSw3IEBAIHN0YXRp
YyB2b2lkIHdlYmtpdF93ZWJfdmlld191cGRhdGVfc2V0dGluZ3MoV2ViS2l0V2ViVmlldyogd2Vi
VmlldykKICAgICBzZXR0aW5ncy0+c2V0VGV4dEFyZWFzQXJlUmVzaXphYmxlKHJlc2l6YWJsZVRl
eHRBcmVhcyk7CiAgICAgc2V0dGluZ3MtPnNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb24oS1VSTChL
VVJMKCksIHVzZXJTdHlsZXNoZWV0VXJpKSk7CiAgICAgc2V0dGluZ3MtPnNldERldmVsb3BlckV4
dHJhc0VuYWJsZWQoZW5hYmxlRGV2ZWxvcGVyRXh0cmFzKTsKKyAgICBzZXR0aW5ncy0+c2V0VXNl
c1BhZ2VDYWNoZSh1c2VQYWdlQ2FjaGUpOwogCiAgICAgZ19mcmVlKGRlZmF1bHRFbmNvZGluZyk7
CiAgICAgZ19mcmVlKGN1cnNpdmVGb250RmFtaWx5KTsK
</data>
<flag name="review"
          id="15034"
          type_id="1"
          status="-"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27746</attachid>
            <date>2009-02-18 04:25:38 -0800</date>
            <delta_ts>2009-02-18 05:01:55 -0800</delta_ts>
            <desc>This patch adds API to clear the page and resource caches</desc>
            <filename>add-clear-cache.patch</filename>
            <type>text/plain</type>
            <size>2317</size>
            <attacher name="Kalle Vahlman">zuh</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
aW5kZXggM2FkMWE0My4uNWQ1Y2E3ZiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAwOS0wMi0xOCAg
S2FsbGUgVmFobG1hbiAgPGthbGxlLnZhaGxtYW5AbW92aWFsLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR1RLXSBBZGQgY2FjaGUgY2xlYXJp
bmcgQVBJCisKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vidmlldy5jcHA6CisgICAgICAgICog
d2Via2l0L3dlYmtpdHdlYnZpZXcuaDoKKwogMjAwOS0wMi0xNyAgWGFuIExvcGV6ICA8eGFuQGdu
b21lLm9yZz4KIAogICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292
LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAgYi9XZWJL
aXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAppbmRleCA4ODE2NDZmLi41ZTJkNDdmIDEw
MDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAorKysgYi9XZWJL
aXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcApAQCAtMjc0MSw0ICsyNzQxLDI4IEBAIHZv
aWQgd2Via2l0X3dlYl92aWV3X3NldF9mdWxsX2NvbnRlbnRfem9vbShXZWJLaXRXZWJWaWV3KiB3
ZWJWaWV3LCBnYm9vbGVhbiB6b29tCiAgICAgZ19vYmplY3Rfbm90aWZ5KEdfT0JKRUNUKHdlYlZp
ZXcpLCAiZnVsbC1jb250ZW50LXpvb20iKTsKIH0KIAorLyoqCisgKiB3ZWJraXRfd2ViX3ZpZXdf
Y2xlYXJfY2FjaGU6CisgKiBAd2ViX3ZpZXc6IGEgI1dlYktpdFdlYlZpZXcKKyAqCisgKiBDbGVh
cnMgY2FjaGVkIHJlc291cmNlcy4gVXNlZnVsIGZvciBicm93c2VycyB3aXRoIHN1Y2ggZnVuY3Rp
b25hbGl0eQorICogYW5kIGZvciBmb3JjaW5nIGEgcmVsb2FkIG9mIGFsbCByZXNvdXJjZXMuCisg
KgorICogU2luY2U6IDEuMS4xCisgKi8KK3ZvaWQgd2Via2l0X3dlYl92aWV3X2NsZWFyX2NhY2hl
KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRf
SVNfV0VCX1ZJRVcod2ViVmlldykpOworCisgICAgLy8gQ2xlYXIgdGhlIHBhZ2UgY2FjaGUKKyAg
ICBpbnQgcGFnZUNhY2hlU2l6ZSA9IHBhZ2VDYWNoZSgpLT5jYXBhY2l0eSgpOworICAgIHBhZ2VD
YWNoZSgpLT5zZXRDYXBhY2l0eSgwKTsKKyAgICBwYWdlQ2FjaGUoKS0+c2V0Q2FwYWNpdHkocGFn
ZUNhY2hlU2l6ZSk7CisKKyAgICAvLyBDbGVhciB0aGUgcmVzb3VyY2UgY2FjaGUKKyAgICBjYWNo
ZSgpLT5zZXREaXNhYmxlZCh0cnVlKTsKKyAgICBjYWNoZSgpLT5zZXREaXNhYmxlZChmYWxzZSk7
CisKK30KKwogfQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5o
IGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5oCmluZGV4IDg2MGMwZDAuLjQxMjMy
NmIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuaAorKysgYi9X
ZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmgKQEAgLTIsNiArMiw3IEBACiAgKiBDb3B5
cmlnaHQgKEMpIDIwMDcgSG9sZ2VyIEhhbnMgUGV0ZXIgRnJleXRoZXIKICAqIENvcHlyaWdodCAo
QykgMjAwNywgMjAwOCBBbHAgVG9rZXIgPGFscEBhdG9rZXIuY29tPgogICogQ29weXJpZ2h0IChD
KSAyMDA4IENvbGxhYm9yYSBMdGQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgTW92aWFsIENyZWF0
aXZlIFRlY2hub2xvZ2llcyBJbmMuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTMwNCw2ICszMDUs
OSBAQCBXRUJLSVRfQVBJIHZvaWQKIHdlYmtpdF93ZWJfdmlld19zZXRfZnVsbF9jb250ZW50X3pv
b20gICAgICAgICAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAqd2ViX3ZpZXcsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Jvb2xlYW4gICAgICAgICAg
ICAgIGZ1bGxfY29udGVudF96b29tKTsKIAorV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRfd2ViX3Zp
ZXdfY2xlYXJfY2FjaGUgICAgICAgICAgICAgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAg
KndlYl92aWV3KTsKKwogR19FTkRfREVDTFMKIAogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27747</attachid>
            <date>2009-02-18 05:01:55 -0800</date>
            <delta_ts>2009-05-04 05:32:27 -0700</delta_ts>
            <desc>This patch adds API to clear the page and resource caches *and* actually builds</desc>
            <filename>add-clear-cache.patch</filename>
            <type>text/plain</type>
            <size>2738</size>
            <attacher name="Kalle Vahlman">zuh</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
aW5kZXggM2FkMWE0My4uNWQ1Y2E3ZiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAwOS0wMi0xOCAg
S2FsbGUgVmFobG1hbiAgPGthbGxlLnZhaGxtYW5AbW92aWFsLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR1RLXSBBZGQgY2FjaGUgY2xlYXJp
bmcgQVBJCisKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vidmlldy5jcHA6CisgICAgICAgICog
d2Via2l0L3dlYmtpdHdlYnZpZXcuaDoKKwogMjAwOS0wMi0xNyAgWGFuIExvcGV6ICA8eGFuQGdu
b21lLm9yZz4KIAogICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292
LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAgYi9XZWJL
aXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAppbmRleCA4ODE2NDZmLi45NDgyZGUzIDEw
MDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAorKysgYi9XZWJL
aXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1
ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiQmFja0ZvcndhcmRMaXN0LmgiCiAjaW5j
bHVkZSAiQ1N0cmluZy5oIgorI2luY2x1ZGUgIkNhY2hlLmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xp
ZW50R3RrLmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnUuaCIKICNpbmNsdWRlICJDb250ZXh0TWVu
dUNsaWVudEd0ay5oIgpAQCAtNTgsNiArNTksNyBAQAogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgi
CiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiRWRpdG9yLmgiCisjaW5jbHVkZSAi
UGFnZUNhY2hlLmgiCiAjaW5jbHVkZSAiUGFzdGVib2FyZEhlbHBlci5oIgogI2luY2x1ZGUgIlBs
YXRmb3JtS2V5Ym9hcmRFdmVudC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtV2hlZWxFdmVudC5oIgpA
QCAtMjc0MSw0ICsyNzQzLDI4IEBAIHZvaWQgd2Via2l0X3dlYl92aWV3X3NldF9mdWxsX2NvbnRl
bnRfem9vbShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBnYm9vbGVhbiB6b29tCiAgICAgZ19vYmpl
Y3Rfbm90aWZ5KEdfT0JKRUNUKHdlYlZpZXcpLCAiZnVsbC1jb250ZW50LXpvb20iKTsKIH0KIAor
LyoqCisgKiB3ZWJraXRfd2ViX3ZpZXdfY2xlYXJfY2FjaGU6CisgKiBAd2ViX3ZpZXc6IGEgI1dl
YktpdFdlYlZpZXcKKyAqCisgKiBDbGVhcnMgY2FjaGVkIHJlc291cmNlcy4gVXNlZnVsIGZvciBi
cm93c2VycyB3aXRoIHN1Y2ggZnVuY3Rpb25hbGl0eQorICogYW5kIGZvciBmb3JjaW5nIGEgcmVs
b2FkIG9mIGFsbCByZXNvdXJjZXMuCisgKgorICogU2luY2U6IDEuMS4xCisgKi8KK3ZvaWQgd2Vi
a2l0X3dlYl92aWV3X2NsZWFyX2NhY2hlKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCit7CisgICAg
Z19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfV0VCX1ZJRVcod2ViVmlldykpOworCisgICAgLy8g
Q2xlYXIgdGhlIHBhZ2UgY2FjaGUKKyAgICBpbnQgcGFnZUNhY2hlU2l6ZSA9IHBhZ2VDYWNoZSgp
LT5jYXBhY2l0eSgpOworICAgIHBhZ2VDYWNoZSgpLT5zZXRDYXBhY2l0eSgwKTsKKyAgICBwYWdl
Q2FjaGUoKS0+c2V0Q2FwYWNpdHkocGFnZUNhY2hlU2l6ZSk7CisKKyAgICAvLyBDbGVhciB0aGUg
Z2xvYmFsIGNhY2hlCisgICAgY2FjaGUoKS0+c2V0RGlzYWJsZWQodHJ1ZSk7CisgICAgY2FjaGUo
KS0+c2V0RGlzYWJsZWQoZmFsc2UpOworCit9CisKIH0KZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdHdlYnZpZXcuaCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcu
aAppbmRleCA4NjBjMGQwLi40MTIzMjZiIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93
ZWJraXR3ZWJ2aWV3LmgKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5oCkBA
IC0yLDYgKzIsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA3IEhvbGdlciBIYW5zIFBldGVyIEZy
ZXl0aGVyCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggQWxwIFRva2VyIDxhbHBAYXRva2Vy
LmNvbT4KICAqIENvcHlyaWdodCAoQykgMjAwOCBDb2xsYWJvcmEgTHRkLgorICogQ29weXJpZ2h0
IChDKSAyMDA5IE1vdmlhbCBDcmVhdGl2ZSBUZWNobm9sb2dpZXMgSW5jLgogICoKICAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
ICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCkBAIC0zMDQsNiArMzA1LDkgQEAgV0VCS0lUX0FQSSB2b2lkCiB3ZWJraXRfd2ViX3Zp
ZXdfc2V0X2Z1bGxfY29udGVudF96b29tICAgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAg
KndlYl92aWV3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdib29sZWFuICAgICAgICAgICAgICBmdWxsX2NvbnRlbnRfem9vbSk7CiAKK1dFQktJVF9B
UEkgdm9pZAord2Via2l0X3dlYl92aWV3X2NsZWFyX2NhY2hlICAgICAgICAgICAgICAgICAgICAg
KFdlYktpdFdlYlZpZXcgICAgICAgICp3ZWJfdmlldyk7CisKIEdfRU5EX0RFQ0xTCiAKICNlbmRp
Zgo=
</data>
<flag name="review"
          id="15035"
          type_id="1"
          status="-"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28394</attachid>
            <date>2009-03-07 18:44:54 -0800</date>
            <delta_ts>2009-05-04 05:35:20 -0700</delta_ts>
            <desc>Implement 3 cache models for gtk target</desc>
            <filename>gtk_cache_model.patch</filename>
            <type>text/plain</type>
            <size>17887</size>
            <attacher name="Bobby Powers">bobbypowers</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAxYWY2ZTRhLi5iNGVmM2Iw
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMDktMDMtMDcgIEJvYmJ5IFBvd2VycyAgPGJvYmJ5QGxhcHRvcC5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IGFuZCBleHBv
c2UgY2FjaGUgbW9kZWxzIGZvciBHVEsKKyAgICAgICAgCisgICAgICAgIEJhc2VkIG9mZiB0aGUg
TWFjIGltcGxlbWVudGF0aW9uIGluIFdlYlZpZXcubW0uIEV4cG9zZSB0aGlzIGFzCisgICAgICAg
IGEgcHJvcGVydHkgaW4gV2ViS2l0V2ViU2V0dGluZ3MsIGV2ZW4gdGhvdWdoIGl0IGlzIGEgZ2xv
YmFsIHNldHRpbmcuCisgICAgICAgIFVwZGF0ZSBHdGtMYXVuY2hlciB0byB1c2UgdGhlICd3ZWIg
YnJvd3NlcicgY2FjaGUgbW9kZWwuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAg
ICAgKiBjb25maWd1cmUuYWM6CisKIDIwMDktMDMtMDIgIFhhbiBMb3BleiAgPHhhbkBnbm9tZS5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBSb3dlLgpkaWZmIC0tZ2l0IGEvR05VbWFr
ZWZpbGUuYW0gYi9HTlVtYWtlZmlsZS5hbQppbmRleCBhOTI2Nzc0Li41OTg2YTJlIDEwMDY0NAot
LS0gYS9HTlVtYWtlZmlsZS5hbQorKysgYi9HTlVtYWtlZmlsZS5hbQpAQCAtMjM2LDcgKzIzNiw4
IEBAIGxpYndlYmtpdF8xXzBfbGFfQ1hYRkxBR1MgPSBcCiAKIGxpYndlYmtpdF8xXzBfbGFfQ0ZM
QUdTID0gXAogCSQobGliV2ViQ29yZV9sYV9DRkxBR1MpIFwKLQkkKEdOT01FS0VZUklOR19DRkxB
R1MpCisJJChHTk9NRUtFWVJJTkdfQ0ZMQUdTKSBcCisJJChMSUJHVE9QX0NGTEFHUykKIAogbGli
d2Via2l0XzFfMF9sYV9DUFBGTEFHUyA9IFwKIAkkKGxpYldlYkNvcmVfbGFfQ1BQRkxBR1MpIFwK
QEAgLTI1MCw3ICsyNTEsOCBAQCBsaWJ3ZWJraXRfMV8wX2xhX0xERkxBR1MgPSBcCiAKIGxpYndl
YmtpdF8xXzBfbGFfTElCQUREID0gXAogCWxpYldlYkNvcmUubGEgXAotCSQoR05PTUVLRVlSSU5H
X0xJQlMpCisJJChHTk9NRUtFWVJJTkdfTElCUykgXAorCSQoTElCR1RPUF9MSUJTKQogCiAjCiAj
IEV4dHJhIGNoZWNrcyBhbmQgZmxhZ3MKQEAgLTM2MCw3ICszNjIsOCBAQCB3ZWJraXRndGtfY3Bw
ZmxhZ3MgKz0gXAogCS1JJChzcmNkaXIpL1dlYktpdC9ndGsgXAogCS1JJChzcmNkaXIpL1dlYktp
dC9ndGsvV2ViQ29yZVN1cHBvcnQgXAogCS1JJChzcmNkaXIpL1dlYktpdC9ndGsvd2Via2l0IFwK
LQktSSQodG9wX2J1aWxkZGlyKS9XZWJLaXQvZ3RrL3dlYmtpdAorCS1JJCh0b3BfYnVpbGRkaXIp
L1dlYktpdC9ndGsvd2Via2l0IFwKKwkkKExJQkdUT1BfQ0ZMQUdTKQogCiB3ZWJraXRndGtfY2xl
YW5maWxlcyArPSBcCiAJJCh0b3BfYnVpbGRkaXIpL1Byb2dyYW1zL0d0a0xhdW5jaGVyIFwKZGlm
ZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5k
ZXggOTYyYjJkMC4uMzBiYzhjOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAwOS0wMy0wNyAgQm9i
YnkgUG93ZXJzICA8Ym9iYnlAbGFwdG9wLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgYW5kIGV4cG9zZSBjYWNoZSBtb2RlbHMg
Zm9yIEdUSworICAgICAgICAKKyAgICAgICAgQmFzZWQgb2ZmIHRoZSBNYWMgaW1wbGVtZW50YXRp
b24gaW4gV2ViVmlldy5tbS4gRXhwb3NlIHRoaXMgYXMKKyAgICAgICAgYSBwcm9wZXJ0eSBpbiBX
ZWJLaXRXZWJTZXR0aW5ncywgZXZlbiB0aG91Z2ggaXQgaXMgYSBnbG9iYWwgc2V0dGluZy4KKyAg
ICAgICAgVXBkYXRlIEd0a0xhdW5jaGVyIHRvIHVzZSB0aGUgJ3dlYiBicm93c2VyJyBjYWNoZSBt
b2RlbC4KKworICAgICAgICAqIHdlYmtpdC93ZWJraXRkZWZpbmVzLmg6CisgICAgICAgICogd2Vi
a2l0L3dlYmtpdHByaXZhdGUuY3BwOgorICAgICAgICAod2Via2l0X2luaXQpOgorICAgICAgICAq
IHdlYmtpdC93ZWJraXRwcml2YXRlLmg6CisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYnNldHRp
bmdzLmNwcDoKKyAgICAgICAgKF9XZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGU6Oik6CisgICAgICAg
IChfV2ViS2l0V2ViU2V0dGluZ3NQcml2YXRlOjp3ZWJraXRfd2ViX3NldHRpbmdzX2NsYXNzX2lu
aXQpOgorICAgICAgICAoX1dlYktpdFdlYlNldHRpbmdzUHJpdmF0ZTo6d2Via2l0X3dlYl9zZXR0
aW5nc19zZXRfcHJvcGVydHkpOgorICAgICAgICAoX1dlYktpdFdlYlNldHRpbmdzUHJpdmF0ZTo6
d2Via2l0X3dlYl9zZXR0aW5nc19nZXRfcHJvcGVydHkpOgorICAgICAgICAqIHdlYmtpdC93ZWJr
aXR3ZWJzZXR0aW5ncy5oOgorICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcDoKKyAg
ICAgICAgKFdlYk1lbW9yeVNpemUpOgorICAgICAgICAod2Via2l0X3dlYl92aWV3X3NldF9jYWNo
ZV9tb2RlbCk6CisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfY2FjaGVfbW9kZWwpOgorICAgICAg
ICAod2Via2l0X3dlYl92aWV3X2RpZF9zZXRfY2FjaGVfbW9kZWwpOgorCiAyMDA5LTAzLTA1ICBH
dXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxnbnNAZ25vbWUub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IE9sbGllai4KZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRlZmluZXMu
aCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRlZmluZXMuaAppbmRleCBiMGFiNWU5Li41ZTU2
NWU0IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkZWZpbmVzLmgKKysrIGIv
V2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZGVmaW5lcy5oCkBAIC0zOSw2ICszOSw5IEBACiAgICAg
I2RlZmluZSBXRUJLSVRfQVBJCiAjZW5kaWYKIAorLyogbm90IGhhdmluZyB0aGlzIHByb2R1Y2Vz
IGEgd2FybmluZyB3aGVuIGluY2x1ZGluZyBnbGlidG9wLmggKi8KKyNkZWZpbmUgVElNRV9XSVRI
X1NZU19USU1FIDEKKwogR19CRUdJTl9ERUNMUwogCiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0TmV0
d29ya1JlcXVlc3QgV2ViS2l0TmV0d29ya1JlcXVlc3Q7CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXRwcml2YXRlLmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZh
dGUuY3BwCmluZGV4IGM0MjY0YzkuLmYzZjQyYzYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHByaXZhdGUuY3BwCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZh
dGUuY3BwCkBAIC0zNyw2ICszNyw4IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5h
bC5oIgogI2luY2x1ZGUgPHJ1bnRpbWUvSW5pdGlhbGl6ZVRocmVhZGluZy5oPgogCisjaW5jbHVk
ZSA8Z2xpYnRvcC5oPgorCiAjaWYgRU5BQkxFKERBVEFCQVNFKQogI2luY2x1ZGUgIkRhdGFiYXNl
VHJhY2tlci5oIgogI2VuZGlmCkBAIC0xMzMsMTQgKzEzNSwxMiBAQCB2b2lkIHdlYmtpdF9pbml0
KCkKICAgICAgICAgcmV0dXJuOwogICAgIGlzSW5pdGlhbGl6ZWQgPSB0cnVlOwogCisgICAgLy8g
aW5pdGlhbGl6ZSBnbGlidG9wIHNvIHdlIGNhbiBnZXQgbWVtb3J5IGFuZCBkaXNrIHVzYWdlLgor
ICAgIGdsaWJ0b3BfaW5pdCgpOworCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CiAg
ICAgV2ViQ29yZTo6SW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CiAKLSAg
ICAvLyBQYWdlIGNhY2hlIGNhcGFjaXR5IChpbiBwYWdlcykuIENvbW1lbnQgZnJvbSBNYWMgcG9y
dDoKLSAgICAvLyAoUmVzZWFyY2ggaW5kaWNhdGVzIHRoYXQgdmFsdWUgLyBwYWdlIGRyb3BzIHN1
YnN0YW50aWFsbHkgYWZ0ZXIgMyBwYWdlcy4pCi0gICAgLy8gRklYTUU6IEV4cG9zZSB0aGlzIHdp
dGggYW4gQVBJIGFuZC9vciBjYWxjdWxhdGUgYmFzZWQgb24gYXZhaWxhYmxlIHJlc291cmNlcwot
ICAgIFdlYkNvcmU6OnBhZ2VDYWNoZSgpLT5zZXRDYXBhY2l0eSgzKTsKLQogI2lmIEVOQUJMRShE
QVRBQkFTRSkKICAgICAvLyBGSVhNRTogSXQgc2hvdWxkIGJlIHBvc3NpYmxlIGZvciBjbGllbnQg
YXBwbGljYXRpb25zIHRvIG92ZXJyaWRlIHRoaXMgZGVmYXVsdCBsb2NhdGlvbgogICAgIGdjaGFy
KiBkYXRhYmFzZURpcmVjdG9yeSA9IGdfYnVpbGRfZmlsZW5hbWUoZ19nZXRfdXNlcl9kYXRhX2Rp
cigpLCAid2Via2l0IiwgImRhdGFiYXNlcyIsIE5VTEwpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0
ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5oIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0
ZS5oCmluZGV4IDUwMzliMzkuLjliYmViYTQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdHByaXZhdGUuaAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2YXRlLmgK
QEAgLTE5Niw2ICsxOTYsMTUgQEAgZXh0ZXJuICJDIiB7CiAKICAgICBXRUJLSVRfQVBJIHZvaWQK
ICAgICB3ZWJraXRfd2ViX3NldHRpbmdzX2FkZF9leHRyYV9wbHVnaW5fZGlyZWN0b3J5IChXZWJL
aXRXZWJWaWV3ICp3ZWJfdmlldywgY29uc3QgZ2NoYXIqIGRpcmVjdG9yeSk7CisKKyAgICBXRUJL
SVRfQVBJIHZvaWQKKyAgICB3ZWJraXRfd2ViX3ZpZXdfc2V0X2NhY2hlX21vZGVsIChXZWJLaXRD
YWNoZU1vZGVsIGNhY2hlX21vZGVsKTsKKworICAgIFdFQktJVF9BUEkgV2ViS2l0Q2FjaGVNb2Rl
bAorICAgIHdlYmtpdF93ZWJfdmlld19jYWNoZV9tb2RlbCAodm9pZCk7CisKKyAgICBXRUJLSVRf
QVBJIGdib29sZWFuCisgICAgd2Via2l0X3dlYl92aWV3X2RpZF9zZXRfY2FjaGVfbW9kZWwgKHZv
aWQpOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdl
YnNldHRpbmdzLmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcApp
bmRleCBhYTM4YzZjLi5iYmU3MzQ3IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXR3ZWJzZXR0aW5ncy5jcHAKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGlu
Z3MuY3BwCkBAIC0zLDYgKzMsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA4IE51YW50aSBMdGQu
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggQ29sbGFib3JhIEx0ZC4KICAqIENvcHlyaWdodCAoQykg
MjAwOCBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlcgorICogQ29weXJpZ2h0IChDKSAyMDA5IEJv
YmJ5IFBvd2VycyAoYm9iYnlwb3dlcnNAZ21haWwuY29tKQogICoKICAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBA
IC0xMDEsNyArMTAyLDggQEAgZW51bSB7CiAgICAgUFJPUF9SRVNJWkFCTEVfVEVYVF9BUkVBUywK
ICAgICBQUk9QX1VTRVJfU1RZTEVTSEVFVF9VUkksCiAgICAgUFJPUF9aT09NX1NURVAsCi0gICAg
UFJPUF9FTkFCTEVfREVWRUxPUEVSX0VYVFJBUworICAgIFBST1BfRU5BQkxFX0RFVkVMT1BFUl9F
WFRSQVMsCisgICAgUFJPUF9DQUNIRV9NT0RFTAogfTsKIAogc3RhdGljIHZvaWQgd2Via2l0X3dl
Yl9zZXR0aW5nc19maW5hbGl6ZShHT2JqZWN0KiBvYmplY3QpOwpAQCAtMzM1LDYgKzMzNywzNSBA
QCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX2NsYXNzX2luaXQoV2ViS2l0V2ViU2V0
dGluZ3NDbGFzcyoga2xhc3MpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBG
QUxTRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdzKSk7CiAKKyAg
ICAvKioKKyAgICAqIFdlYktpdFdlYlNldHRpbmdzOmNhY2hlLW1vZGVsOgorICAgICoKKyAgICAq
IFNwZWNpZmllcyBhIHVzYWdlIG1vZGVsIGZvciBhIFdlYlZpZXcsIHdoaWNoIFdlYktpdCB3aWxs
IHVzZSB0bworICAgICogZGV0ZXJtaW5lIGl0cyBjYWNoaW5nIGJlaGF2aW9yLgorICAgICoKKyAg
ICAqIFJlc2VhcmNoIGluZGljYXRlcyB0aGF0IHVzZXJzIHRlbmQgdG8gYnJvd3NlIHdpdGhpbiBj
bHVzdGVycyBvZgorICAgICogZG9jdW1lbnRzIHRoYXQgaG9sZCByZXNvdXJjZXMgaW4gY29tbW9u
LCBhbmQgdG8gcmV2aXNpdCBwcmV2aW91c2x5IHZpc2l0ZWQKKyAgICAqIGRvY3VtZW50cy4gV2Vi
S2l0IGFuZCB0aGUgZnJhbWV3b3JrcyBiZWxvdyBpdCBpbmNsdWRlIGJ1aWx0LWluIGNhY2hlcyB0
aGF0IHRha2UKKyAgICAqIGFkdmFudGFnZSBvZiB0aGVzZSBwYXR0ZXJucywgc3Vic3RhbnRpYWxs
eSBpbXByb3ZpbmcgZG9jdW1lbnQgbG9hZCBzcGVlZCBpbgorICAgICogYnJvd3Npbmcgc2l0dWF0
aW9ucy4gVGhlIFdlYktpdCBjYWNoZSBtb2RlbCBjb250cm9scyB0aGUgYmVoYXZpb3JzIG9mIGFs
bCBvZgorICAgICogdGhlc2UgY2FjaGVzLCBpbmNsdWRpbmcgTlNVUkxDYWNoZSBhbmQgdGhlIHZh
cmlvdXMgV2ViQ29yZSBjYWNoZXMuCisgICAgKgorICAgICogQXBwbGljYXRpb25zIHdpdGggYSBi
cm93c2luZyBpbnRlcmZhY2UgY2FuIGltcHJvdmUgZG9jdW1lbnQgbG9hZCBzcGVlZAorICAgICog
c3Vic3RhbnRpYWxseSBieSBzcGVjaWZ5aW5nIFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXIu
IEFwcGxpY2F0aW9ucyB3aXRob3V0CisgICAgKiBhIGJyb3dzaW5nIGludGVyZmFjZSBjYW4gcmVk
dWNlIG1lbW9yeSB1c2FnZSBzdWJzdGFudGlhbGx5IGJ5IHNwZWNpZnlpbmcKKyAgICAqIFdlYkNh
Y2hlTW9kZWxEb2N1bWVudFZpZXdlci4KKyAgICAqCisgICAgKiBTaW5jZTogMS4xLjEKKyAgICAq
LworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVjdF9jbGFzcywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BfQ0FDSEVfTU9ERUwsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfaW50KAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNhY2hlLW1vZGVsIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJDYWNoZSBNb2RlbCIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiVGhlIGNhY2hlIG1vZGVsIGZvciBhbGwgV2ViVmlld3MgdG8g
dXNlLiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAyLCAwLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ3MpKTsKKwogICAgIGdfdHlwZV9j
bGFzc19hZGRfcHJpdmF0ZShrbGFzcywgc2l6ZW9mKFdlYktpdFdlYlNldHRpbmdzUHJpdmF0ZSkp
OwogfQogCkBAIC00MzcsNiArNDY4LDkgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl9zZXR0aW5n
c19zZXRfcHJvcGVydHkoR09iamVjdCogb2JqZWN0LCBndWludCBwcm9wX2lkLCBjb24KICAgICBj
YXNlIFBST1BfRU5BQkxFX0RFVkVMT1BFUl9FWFRSQVM6CiAgICAgICAgIHByaXYtPmVuYWJsZV9k
ZXZlbG9wZXJfZXh0cmFzID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CiAgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgUFJPUF9DQUNIRV9NT0RFTDoKKyAgICAgICAgd2Via2l0X3dlYl92aWV3
X3NldF9jYWNoZV9tb2RlbCgoV2ViS2l0Q2FjaGVNb2RlbClnX3ZhbHVlX2dldF9pbnQodmFsdWUp
KTsKKyAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgR19PQkpFQ1RfV0FSTl9J
TlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJvcF9pZCwgcHNwZWMpOwogICAgICAgICBicmVh
azsKQEAgLTUxMiw2ICs1NDYsOSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX2dl
dF9wcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BfaWQsIEdWYQogICAgIGNhc2Ug
UFJPUF9FTkFCTEVfREVWRUxPUEVSX0VYVFJBUzoKICAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVh
bih2YWx1ZSwgcHJpdi0+ZW5hYmxlX2RldmVsb3Blcl9leHRyYXMpOwogICAgICAgICBicmVhazsK
KyAgICBjYXNlIFBST1BfQ0FDSEVfTU9ERUw6CisgICAgICAgIGdfdmFsdWVfc2V0X2ludCh2YWx1
ZSwgKGdpbnQpd2Via2l0X3dlYl92aWV3X2NhY2hlX21vZGVsKCkpOworICAgICAgICBicmVhazsK
ICAgICBkZWZhdWx0OgogICAgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQo
b2JqZWN0LCBwcm9wX2lkLCBwc3BlYyk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuaCBiL1dlYktpdC9ndGsvd2Via2l0L3dl
YmtpdHdlYnNldHRpbmdzLmgKaW5kZXggNWQyNWZlZS4uYjIyZGFiOSAxMDA2NDQKLS0tIGEvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuaAorKysgYi9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXR3ZWJzZXR0aW5ncy5oCkBAIC0zNSw2ICszNSwxMiBAQCBHX0JFR0lOX0RFQ0xTCiAK
IHR5cGVkZWYgc3RydWN0IF9XZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGUgV2ViS2l0V2ViU2V0dGlu
Z3NQcml2YXRlOwogCit0eXBlZGVmIGVudW0geworICAgIFdFQktJVF9DQUNIRV9NT0RFTF9ET0NV
TUVOVF9WSUVXRVIsCisgICAgV0VCS0lUX0NBQ0hFX01PREVMX0RPQ1VNRU5UX0JST1dTRVIsCisg
ICAgV0VCS0lUX0NBQ0hFX01PREVMX1dFQl9CUk9XU0VSCit9IFdlYktpdENhY2hlTW9kZWw7CisK
IHN0cnVjdCBfV2ViS2l0V2ViU2V0dGluZ3MgewogICAgIEdPYmplY3QgcGFyZW50X2luc3RhbmNl
OwogCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcCBiL1dl
YktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCmluZGV4IGNjMDEzMzUuLjgxZjY0ZTIg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCisrKyBiL1dl
YktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCkBAIC04LDYgKzgsNyBAQAogICogIENv
cHlyaWdodCAoQykgMjAwOCBOdWFudGkgTHRkLgogICogIENvcHlyaWdodCAoQykgMjAwOCBDb2xs
YWJvcmEgTHRkLgogICogIENvcHlyaWdodCAoQykgMjAwOSBJZ2FsaWEgUy5MLgorICogIENvcHly
aWdodCAoQykgMjAwOSBCb2JieSBQb3dlcnMgKGJvYmJ5cG93ZXJzQGdtYWlsLmNvbSkKICAqCiAg
KiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgogICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIg
R2VuZXJhbCBQdWJsaWMKQEAgLTY5LDYgKzcwLDEwIEBACiAKICNpbmNsdWRlIDxnZGsvZ2Rra2V5
c3ltcy5oPgogCisjaW5jbHVkZSA8Z2xpYnRvcC9tZW0uaD4KKyNpbmNsdWRlICJDYWNoZS5oIgor
I2luY2x1ZGUgIlBhZ2VDYWNoZS5oIgorCiAvKioKICAqIFNFQ1RJT046d2Via2l0d2Vidmlldwog
ICogQHNob3J0X2Rlc2NyaXB0aW9uOiBUaGUgY2VudHJhbCBjbGFzcyBvZiB0aGUgV2ViS2l0L0d0
aysgQVBJCkBAIC0xNTUsNiArMTYwLDkgQEAgZW51bSB7CiAgICAgUFJPUF9DVVNUT01fRU5DT0RJ
TkcKIH07CiAKK3N0YXRpYyBib29sIHNfZGlkU2V0Q2FjaGVNb2RlbCA9IGZhbHNlOworc3RhdGlj
IFdlYktpdENhY2hlTW9kZWwgc19jYWNoZU1vZGVsID0gV0VCS0lUX0NBQ0hFX01PREVMX0RPQ1VN
RU5UX1ZJRVdFUjsKKwogc3RhdGljIGd1aW50IHdlYmtpdF93ZWJfdmlld19zaWduYWxzW0xBU1Rf
U0lHTkFMXSA9IHsgMCwgfTsKIAogR19ERUZJTkVfVFlQRShXZWJLaXRXZWJWaWV3LCB3ZWJraXRf
d2ViX3ZpZXcsIEdUS19UWVBFX0NPTlRBSU5FUikKQEAgLTE4NjcsNiArMTg3NSwxNCBAQCBzdGF0
aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfaW5pdChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQogICAg
IGdfc2lnbmFsX2Nvbm5lY3Qod2ViVmlldywgInNjcmVlbi1jaGFuZ2VkIiwgR19DQUxMQkFDSyh3
ZWJraXRfd2ViX3ZpZXdfc2NyZWVuX2NoYW5nZWQpLCBOVUxMKTsKICAgICBnX3NpZ25hbF9jb25u
ZWN0KHByaXYtPndlYlNldHRpbmdzLCAibm90aWZ5IiwgR19DQUxMQkFDSyh3ZWJraXRfd2ViX3Zp
ZXdfc2V0dGluZ3Nfbm90aWZ5KSwgd2ViVmlldyk7CiAKKyAgICBpZiAoIXdlYmtpdF93ZWJfdmll
d19kaWRfc2V0X2NhY2hlX21vZGVsKCkpCisgICAgeworICAgICAgICAvLyB0aGUgTWFjIHBvcnQg
Y2hlY2tzIHRoZSBydW5uaW5nIGFwcCBhZ2FpbnN0IGEgbGlzdCBvZiBrbm93bgorICAgICAgICAv
LyBhcHBzIHdpdGggcHJlZmVycmVkIGNhY2hlIG1vZGVscywgYW5kIHRoZW4gZmFsbHMgYmFjayBv
bgorICAgICAgICAvLyBXRUJXRUJLSVRfQ0FDSEVfTU9ERUxfRE9DVU1FTlRfVklFV0VSCisgICAg
ICAgIHdlYmtpdF93ZWJfdmlld19zZXRfY2FjaGVfbW9kZWwoV0VCS0lUX0NBQ0hFX01PREVMX0RP
Q1VNRU5UX1ZJRVdFUik7CisgICAgfQorCiAgICAgcHJpdi0+d2ViV2luZG93RmVhdHVyZXMgPSB3
ZWJraXRfd2ViX3dpbmRvd19mZWF0dXJlc19uZXcoKTsKIH0KIApAQCAtMjkxMSwzICsyOTI3LDE2
NSBAQCBjb25zdCBjaGFyKiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2N1c3RvbV9lbmNvZGluZyhXZWJL
aXRXZWJWaWV3KiB3ZWJWaWV3KQogICAgIH0gZWxzZQogICAgICAgcmV0dXJuIE5VTEw7CiB9CisK
Ky8vIGZvciBpbnRlcm5hbCB1c2Ugb25seS4gcmV0dXJucyB0aGUgdG90YWwgbWVtb3J5IGF2YWls
YWJsZSBvbiB0aGUgc3lzdGVtLgorc3RhdGljIHVpbnQ2NF90IFdlYk1lbW9yeVNpemUoKQorewor
ICAgIGdsaWJ0b3BfbWVtIG1lbW9yeTsKKyAgICBnbGlidG9wX2dldF9tZW0oJm1lbW9yeSk7Cisg
ICAgcmV0dXJuICh1aW50NjRfdCltZW1vcnkudG90YWw7Cit9CisKKy8qKgorICogd2Via2l0X3dl
Yl92aWV3X3NldF9jYWNoZV9tb2RlbDoKKyAqIEBjYWNoZV9tb2RlbDogYSAjV2ViS2l0Q2FjaGVN
b2RlbAorICoKKyAqIFNldHMgdGhlIGNhY2hlIG1vZGVsIGFsbCB3ZWIgdmlld3Mgc2hvdWxkIGZv
bGxvdy4gIFRoaXMgY2FjaGUgbW9kZWwKKyAqIGRldGVybWluZXMgdGhlIFJBTSBhbmQgZGlzayBz
cGFjZSB0byB1c2UgZm9yIGNhY2hpbmcgcHJldmlvdXNseSB2aWV3ZWQKKyAqIGNvbnRlbnQuCisg
KgorICogU2luY2U6IDEuMS4xCisgKi8KK3ZvaWQgd2Via2l0X3dlYl92aWV3X3NldF9jYWNoZV9t
b2RlbChXZWJLaXRDYWNoZU1vZGVsIGNhY2hlTW9kZWwpCit7CisgICAgaWYgKHNfZGlkU2V0Q2Fj
aGVNb2RlbCAmJiBjYWNoZU1vZGVsID09IHNfY2FjaGVNb2RlbCkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgLy8gbWFjIHZlcnNpb24gc2V0cyBjYWNoZSBkaXJlY3RvcnkgaGVyZQorCisgICAgdWlu
dDY0X3QgbWVtU2l6ZSA9IFdlYk1lbW9yeVNpemUoKSAvIDEwMjQgLyAxMDAwOworICAgIC8vIG1h
YyB2ZXJzaW9uIGdldHMgZGlzayBzaXplIGhlcmUKKworICAgIHVuc2lnbmVkIGNhY2hlVG90YWxD
YXBhY2l0eSA9IDA7CisgICAgdW5zaWduZWQgY2FjaGVNaW5EZWFkQ2FwYWNpdHkgPSAwOworICAg
IHVuc2lnbmVkIGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gMDsKKyAgICBkb3VibGUgZGVhZERlY29k
ZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IDA7CisKKyAgICB1bnNpZ25lZCBwYWdlQ2FjaGVDYXBh
Y2l0eSA9IDA7CisKKyAgICBzd2l0Y2ggKGNhY2hlTW9kZWwpIHsKKyAgICBjYXNlIFdFQktJVF9D
QUNIRV9NT0RFTF9ET0NVTUVOVF9WSUVXRVI6IHsKKyAgICAgICAgLy8gUGFnZSBjYWNoZSBjYXBh
Y2l0eSAoaW4gcGFnZXMpCisgICAgICAgIHBhZ2VDYWNoZUNhcGFjaXR5ID0gMDsKKworICAgICAg
ICAvLyBPYmplY3QgY2FjaGUgY2FwYWNpdGllcyAoaW4gYnl0ZXMpCisgICAgICAgIGlmIChtZW1T
aXplID49IDIwNDgpCisgICAgICAgICAgICBjYWNoZVRvdGFsQ2FwYWNpdHkgPSA5NiAqIDEwMjQg
KiAxMDI0OworICAgICAgICBlbHNlIGlmIChtZW1TaXplID49IDE1MzYpCisgICAgICAgICAgICBj
YWNoZVRvdGFsQ2FwYWNpdHkgPSA2NCAqIDEwMjQgKiAxMDI0OworICAgICAgICBlbHNlIGlmICht
ZW1TaXplID49IDEwMjQpCisgICAgICAgICAgICBjYWNoZVRvdGFsQ2FwYWNpdHkgPSAzMiAqIDEw
MjQgKiAxMDI0OworICAgICAgICBlbHNlIGlmIChtZW1TaXplID49IDUxMikKKyAgICAgICAgICAg
IGNhY2hlVG90YWxDYXBhY2l0eSA9IDE2ICogMTAyNCAqIDEwMjQ7CisKKyAgICAgICAgY2FjaGVN
aW5EZWFkQ2FwYWNpdHkgPSAwOworICAgICAgICBjYWNoZU1heERlYWRDYXBhY2l0eSA9IDA7CisK
KyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGNhc2UgV0VCS0lUX0NBQ0hFX01PREVMX0RPQ1VN
RU5UX0JST1dTRVI6IHsKKyAgICAgICAgLy8gUGFnZSBjYWNoZSBjYXBhY2l0eSAoaW4gcGFnZXMp
CisgICAgICAgIGlmIChtZW1TaXplID49IDEwMjQpCisgICAgICAgICAgICBwYWdlQ2FjaGVDYXBh
Y2l0eSA9IDM7CisgICAgICAgIGVsc2UgaWYgKG1lbVNpemUgPj0gNTEyKQorICAgICAgICAgICAg
cGFnZUNhY2hlQ2FwYWNpdHkgPSAyOworICAgICAgICBlbHNlIGlmIChtZW1TaXplID49IDI1NikK
KyAgICAgICAgICAgIHBhZ2VDYWNoZUNhcGFjaXR5ID0gMTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgcGFnZUNhY2hlQ2FwYWNpdHkgPSAwOworCisgICAgICAgIC8vIE9iamVjdCBjYWNoZSBj
YXBhY2l0aWVzIChpbiBieXRlcykKKyAgICAgICAgaWYgKG1lbVNpemUgPj0gMjA0OCkKKyAgICAg
ICAgICAgIGNhY2hlVG90YWxDYXBhY2l0eSA9IDk2ICogMTAyNCAqIDEwMjQ7CisgICAgICAgIGVs
c2UgaWYgKG1lbVNpemUgPj0gMTUzNikKKyAgICAgICAgICAgIGNhY2hlVG90YWxDYXBhY2l0eSA9
IDY0ICogMTAyNCAqIDEwMjQ7CisgICAgICAgIGVsc2UgaWYgKG1lbVNpemUgPj0gMTAyNCkKKyAg
ICAgICAgICAgIGNhY2hlVG90YWxDYXBhY2l0eSA9IDMyICogMTAyNCAqIDEwMjQ7CisgICAgICAg
IGVsc2UgaWYgKG1lbVNpemUgPj0gNTEyKQorICAgICAgICAgICAgY2FjaGVUb3RhbENhcGFjaXR5
ID0gMTYgKiAxMDI0ICogMTAyNDsKKworICAgICAgICBjYWNoZU1pbkRlYWRDYXBhY2l0eSA9IGNh
Y2hlVG90YWxDYXBhY2l0eSAvIDg7CisgICAgICAgIGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gY2Fj
aGVUb3RhbENhcGFjaXR5IC8gNDsKKworICAgICAgICBicmVhazsKKyAgICB9CisgICAgY2FzZSBX
RUJLSVRfQ0FDSEVfTU9ERUxfV0VCX0JST1dTRVI6IHsKKyAgICAgICAgLy8gUGFnZSBjYWNoZSBj
YXBhY2l0eSAoaW4gcGFnZXMpCisgICAgICAgIC8vIChSZXNlYXJjaCBpbmRpY2F0ZXMgdGhhdCB2
YWx1ZSAvIHBhZ2UgZHJvcHMgc3Vic3RhbnRpYWxseSBhZnRlciAzIHBhZ2VzLikKKyAgICAgICAg
aWYgKG1lbVNpemUgPj0gMjA0OCkKKyAgICAgICAgICAgIHBhZ2VDYWNoZUNhcGFjaXR5ID0gNTsK
KyAgICAgICAgZWxzZSBpZiAobWVtU2l6ZSA+PSAxMDI0KQorICAgICAgICAgICAgcGFnZUNhY2hl
Q2FwYWNpdHkgPSA0OworICAgICAgICBlbHNlIGlmIChtZW1TaXplID49IDUxMikKKyAgICAgICAg
ICAgIHBhZ2VDYWNoZUNhcGFjaXR5ID0gMzsKKyAgICAgICAgZWxzZSBpZiAobWVtU2l6ZSA+PSAy
NTYpCisgICAgICAgICAgICBwYWdlQ2FjaGVDYXBhY2l0eSA9IDI7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIHBhZ2VDYWNoZUNhcGFjaXR5ID0gMTsKKworICAgICAgICAvLyBPYmplY3QgY2Fj
aGUgY2FwYWNpdGllcyAoaW4gYnl0ZXMpCisgICAgICAgIC8vIChUZXN0aW5nIGluZGljYXRlcyB0
aGF0IHZhbHVlIC8gTUIgZGVwZW5kcyBoZWF2aWx5IG9uIGNvbnRlbnQgYW5kCisgICAgICAgIC8v
IGJyb3dzaW5nIHBhdHRlcm4uIEV2ZW4gZ3Jvd3RoIGFib3ZlIDEyOE1CIGNhbiBoYXZlIHN1YnN0
YW50aWFsCisgICAgICAgIC8vIHZhbHVlIC8gTUIgZm9yIHNvbWUgY29udGVudCAvIGJyb3dzaW5n
IHBhdHRlcm5zLikKKyAgICAgICAgaWYgKG1lbVNpemUgPj0gMjA0OCkKKyAgICAgICAgICAgIGNh
Y2hlVG90YWxDYXBhY2l0eSA9IDEyOCAqIDEwMjQgKiAxMDI0OworICAgICAgICBlbHNlIGlmICht
ZW1TaXplID49IDE1MzYpCisgICAgICAgICAgICBjYWNoZVRvdGFsQ2FwYWNpdHkgPSA5NiAqIDEw
MjQgKiAxMDI0OworICAgICAgICBlbHNlIGlmIChtZW1TaXplID49IDEwMjQpCisgICAgICAgICAg
ICBjYWNoZVRvdGFsQ2FwYWNpdHkgPSA2NCAqIDEwMjQgKiAxMDI0OworICAgICAgICBlbHNlIGlm
IChtZW1TaXplID49IDUxMikKKyAgICAgICAgICAgIGNhY2hlVG90YWxDYXBhY2l0eSA9IDMyICog
MTAyNCAqIDEwMjQ7CisKKyAgICAgICAgY2FjaGVNaW5EZWFkQ2FwYWNpdHkgPSBjYWNoZVRvdGFs
Q2FwYWNpdHkgLyA0OworICAgICAgICBjYWNoZU1heERlYWRDYXBhY2l0eSA9IGNhY2hlVG90YWxD
YXBhY2l0eSAvIDI7CisKKyAgICAgICAgLy8gVGhpcyBjb2RlIGlzIGhlcmUgdG8gYXZvaWQgYSBQ
TFQgcmVncmVzc2lvbi4gV2UgY2FuIHJlbW92ZSBpdCBpZiB3ZQorICAgICAgICAvLyBjYW4gcHJv
dmUgdGhhdCB0aGUgb3ZlcmFsbCBzeXN0ZW0gZ2FpbiB3b3VsZCBqdXN0aWZ5IHRoZSByZWdyZXNz
aW9uLgorICAgICAgICBjYWNoZU1heERlYWRDYXBhY2l0eSA9IG1heCgyNHUsIGNhY2hlTWF4RGVh
ZENhcGFjaXR5KTsKKworICAgICAgICBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0g
NjA7CisKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgIH0KKworICAgIFdlYkNvcmU6OmNhY2hlKCktPnNldENhcGFj
aXRpZXMoY2FjaGVNaW5EZWFkQ2FwYWNpdHksIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBjYWNoZVRv
dGFsQ2FwYWNpdHkpOworICAgIFdlYkNvcmU6OmNhY2hlKCktPnNldERlYWREZWNvZGVkRGF0YURl
bGV0aW9uSW50ZXJ2YWwoZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCk7CisgICAgV2Vi
Q29yZTo6cGFnZUNhY2hlKCktPnNldENhcGFjaXR5KHBhZ2VDYWNoZUNhcGFjaXR5KTsKKworICAg
IHNfY2FjaGVNb2RlbCA9IGNhY2hlTW9kZWw7CisgICAgc19kaWRTZXRDYWNoZU1vZGVsID0gdHJ1
ZTsKK30KKworLyoqCisgKiB3ZWJraXRfd2ViX3ZpZXdfY2FjaGVfbW9kZWw6CisgKgorICogUmV0
dXJucyB0aGUgY3VycmVudCBjYWNoZSBtb2RlbC4KKyAqCisgKiBSZXR1cm4gdmFsdWU6IHRoZSBj
dXJyZW50IEB3ZWJraXRfY2FjaGVfbW9kZWwuCisgKgorICogU2luY2U6IDEuMS4xCisgKi8KK1dl
YktpdENhY2hlTW9kZWwgd2Via2l0X3dlYl92aWV3X2NhY2hlX21vZGVsKCkKK3sKKyAgcmV0dXJu
IHNfY2FjaGVNb2RlbDsKK30KKworLyoqCisgKiB3ZWJraXRfd2ViX3ZpZXdfZGlkX3NldF9jYWNo
ZV9tb2RlbDoKKyAqCisgKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHdlIGhhdmUgc2V0IHRoZSBj
YWNoZSBtb2RlbCBhbmQgYXJlIG5vdCBqdXN0CisgKiB1c2luZyB0aGUgZGVmYXVsdC4KKyAqCisg
KiBSZXR1cm4gdmFsdWU6IGEgYm9vbGVhbiB2YWx1ZSwgd2l0aCBUUlVFIGluZGljYXRpbmcgdGhh
dCB3ZSBoYXZlIHNwZWNpZmllZAorICogYSBjYWNoZSBtb2RlbC4KKyAqCisgKiBTaW5jZTogMS4x
LjEKKyAqLworZ2Jvb2xlYW4gd2Via2l0X3dlYl92aWV3X2RpZF9zZXRfY2FjaGVfbW9kZWwoKQor
eworICByZXR1cm4gc19kaWRTZXRDYWNoZU1vZGVsID8gVFJVRSA6IEZBTFNFOworfQorCmRpZmYg
LS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5k
ZXggY2U2Y2Y2ZS4uNTZkNDA5OCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDA5LTAzLTA3ICBC
b2JieSBQb3dlcnMgIDxib2JieUBsYXB0b3Aub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBhbmQgZXhwb3NlIGNhY2hlIG1vZGVs
cyBmb3IgR1RLCisgICAgICAgIAorICAgICAgICBCYXNlZCBvZmYgdGhlIE1hYyBpbXBsZW1lbnRh
dGlvbiBpbiBXZWJWaWV3Lm1tLiBFeHBvc2UgdGhpcyBhcworICAgICAgICBhIHByb3BlcnR5IGlu
IFdlYktpdFdlYlNldHRpbmdzLCBldmVuIHRob3VnaCBpdCBpcyBhIGdsb2JhbCBzZXR0aW5nLgor
ICAgICAgICBVcGRhdGUgR3RrTGF1bmNoZXIgdG8gdXNlIHRoZSAnd2ViIGJyb3dzZXInIGNhY2hl
IG1vZGVsLgorCisgICAgICAgICogR3RrTGF1bmNoZXIvbWFpbi5jOgorICAgICAgICAoY3JlYXRl
X2Jyb3dzZXIpOgorCiAyMDA5LTAzLTA3ICBKYW4gTWljaGFlbCBBbG9uem8gIDxqbWFsb256b0B3
ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEhvbGdlciBGcmV5dGhlci4KZGlmZiAt
LWdpdCBhL1dlYktpdFRvb2xzL0d0a0xhdW5jaGVyL21haW4uYyBiL1dlYktpdFRvb2xzL0d0a0xh
dW5jaGVyL21haW4uYwppbmRleCAwYzhjNzg1Li40OGM0MGM3IDEwMDY0NAotLS0gYS9XZWJLaXRU
b29scy9HdGtMYXVuY2hlci9tYWluLmMKKysrIGIvV2ViS2l0VG9vbHMvR3RrTGF1bmNoZXIvbWFp
bi5jCkBAIC0xMjAsNiArMTIwLDExIEBAIGNyZWF0ZV9icm93c2VyICgpCiAgICAgZ19zaWduYWxf
Y29ubmVjdCAoR19PQkpFQ1QgKHdlYl92aWV3KSwgImxvYWQtY29tbWl0dGVkIiwgR19DQUxMQkFD
SyAobG9hZF9jb21taXRfY2IpLCB3ZWJfdmlldyk7CiAgICAgZ19zaWduYWxfY29ubmVjdCAoR19P
QkpFQ1QgKHdlYl92aWV3KSwgImhvdmVyaW5nLW92ZXItbGluayIsIEdfQ0FMTEJBQ0sgKGxpbmtf
aG92ZXJfY2IpLCB3ZWJfdmlldyk7CiAKKyAgICAvKiBzZXQgdGhlIGNhY2hlIG1vZGVsIHRvICd3
ZWIgYnJvd3NlcicsIHRvIGltcHJvdmUgcGVyZm9ybWFuY2UgYXQKKyAgICAgKiB0aGUgZXhwZW5z
ZSBvZiBpbmNyZWFzZWQgbWVtb3J5IHByZXNzdXJlLiAqLworICAgIFdlYktpdFdlYlNldHRpbmdz
KiBzZXR0aW5ncyA9IHdlYmtpdF93ZWJfdmlld19nZXRfc2V0dGluZ3MgKHdlYl92aWV3KTsKKyAg
ICBnX29iamVjdF9zZXQgKEdfT0JKRUNUIChzZXR0aW5ncyksICJjYWNoZS1tb2RlbCIsIFdFQktJ
VF9DQUNIRV9NT0RFTF9XRUJfQlJPV1NFUiwgTlVMTCk7CisKICAgICByZXR1cm4gc2Nyb2xsZWRf
d2luZG93OwogfQogCmRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKaW5k
ZXggYmVkNTU2MC4uOGU5MzM5YSAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmFjCisrKyBiL2NvbmZp
Z3VyZS5hYwpAQCAtMTg3LDYgKzE4Nyw3IEBAIEdUS19SRVFVSVJFRF9WRVJTSU9OPTIuOAogCiAj
IG9wdGlvbmFsIG1vZHVsZXMKIExJQlNPVVBfUkVRVUlSRURfVkVSU0lPTj0yLjI1LjkxCitMSUJH
VE9QX1JFUVVJUkVEX1ZFUlNJT049Mi4yMi4zCiBMSUJYU0xUX1JFUVVJUkVEX1ZFUlNJT049MS4x
LjcKIFNRTElURV9SRVFVSVJFRF9WRVJTSU9OPTMuMAogR1NUUkVBTUVSX1JFUVVJUkVEX1ZFUlNJ
T049MC4xMApAQCAtNTI1LDYgKzUyNiwxMSBAQCBQS0dfQ0hFQ0tfTU9EVUxFUyhbTElCU09VUF0s
CiBBQ19TVUJTVChbTElCU09VUF9DRkxBR1NdKQogQUNfU1VCU1QoW0xJQlNPVVBfTElCU10pCiAK
K1BLR19DSEVDS19NT0RVTEVTKFtMSUJHVE9QXSwKKyAgICAgICAgICAgICAgICAgIFtsaWJndG9w
LTIuMCA+PSAkTElCR1RPUF9SRVFVSVJFRF9WRVJTSU9OXSkKK0FDX1NVQlNUKFtMSUJHVE9QX0NG
TEFHU10pCitBQ19TVUJTVChbTElCR1RPUF9MSUJTXSkKKwogaWYgdGVzdCAiJGVuYWJsZV9nbm9t
ZWtleXJpbmciID0gInllcyI7IHRoZW4KICAgIFBLR19DSEVDS19NT0RVTEVTKFtHTk9NRUtFWVJJ
TkddLAogICAgICAgICAgICAgICAgICAgICAgW2dub21lLWtleXJpbmctMV0pCg==
</data>
<flag name="review"
          id="13912"
          type_id="1"
          status="-"
          setter="xan.lopez"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44307</attachid>
            <date>2009-12-04 05:29:55 -0800</date>
            <delta_ts>2009-12-04 08:00:12 -0800</delta_ts>
            <desc>Patch upgraded and reviewed</desc>
            <filename>enable-page-cache.patch</filename>
            <type>text/plain</type>
            <size>7532</size>
            <attacher name="Alejandro G. Castro">alex</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
aW5kZXggYzBjNDJkNC4uZGViOTBmYiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAwOS0xMi0wNCAg
S2FsbGUgVmFobG1hbiAgPGthbGxlLnZhaGxtYW5AbW92aWFsLmNvbT4gYW5kIEFsZWphbmRybyBH
LiBDYXN0cm8gIDxhbGV4QGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgW0dUS10gQWRkIGVuYWJsZS1wYWdlLWNhY2hlIHByb3BlcnR5
IHRvIFdlYlNldHRpbmdzIGZvciBkaXNhYmxpbmcgdGhlIFBhZ2UgQ2FjaGUKKworICAgICAgICAq
IHdlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5jcHA6CisgICAgICAgIChfV2ViS2l0V2ViU2V0dGlu
Z3NQcml2YXRlOjopOgorICAgICAgICAoX1dlYktpdFdlYlNldHRpbmdzUHJpdmF0ZTo6d2Via2l0
X3dlYl9zZXR0aW5nc19jbGFzc19pbml0KToKKyAgICAgICAgKF9XZWJLaXRXZWJTZXR0aW5nc1By
aXZhdGU6OndlYmtpdF93ZWJfc2V0dGluZ3Nfc2V0X3Byb3BlcnR5KToKKyAgICAgICAgKF9XZWJL
aXRXZWJTZXR0aW5nc1ByaXZhdGU6OndlYmtpdF93ZWJfc2V0dGluZ3NfZ2V0X3Byb3BlcnR5KToK
KyAgICAgICAgKF9XZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGU6OndlYmtpdF93ZWJfc2V0dGluZ3Nf
Y29weSk6CisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwOgorCiAyMDA5LTEyLTAz
ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0
dGluZ3MuY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwCmluZGV4
IDE0M2FlMDYuLjcxOGQwYzQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdl
YnNldHRpbmdzLmNwcAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5j
cHAKQEAgLTQsNiArNCw4IEBACiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggQ29sbGFib3JhIEx0ZC4K
ICAqIENvcHlyaWdodCAoQykgMjAwOCBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlcgogICogQ29w
eXJpZ2h0IChDKSAyMDA5IEphbiBNaWNoYWVsIEFsb256bworICogQ29weXJpZ2h0IChDKSAyMDA5
IE1vdmlhbCBDcmVhdGl2ZSBUZWNobm9sb2dpZXMgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA5
IElnYWxpYSBTLkwuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTk4LDYgKzEwMCw3IEBAIHN0cnVj
dCBfV2ViS2l0V2ViU2V0dGluZ3NQcml2YXRlIHsKICAgICBnYm9vbGVhbiBlbmFibGVfdW5pdmVy
c2FsX2FjY2Vzc19mcm9tX2ZpbGVfdXJpczsKICAgICBnYm9vbGVhbiBlbmFibGVfZG9tX3Bhc3Rl
OwogICAgIGdib29sZWFuIHRhYl9rZXlfY3ljbGVzX3Rocm91Z2hfZWxlbWVudHM7CisgICAgZ2Jv
b2xlYW4gZW5hYmxlX3BhZ2VfY2FjaGU7CiB9OwogCiAjZGVmaW5lIFdFQktJVF9XRUJfU0VUVElO
R1NfR0VUX1BSSVZBVEUob2JqKSAoR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKChvYmopLCBX
RUJLSVRfVFlQRV9XRUJfU0VUVElOR1MsIFdlYktpdFdlYlNldHRpbmdzUHJpdmF0ZSkpCkBAIC0x
MzksNyArMTQyLDggQEAgZW51bSB7CiAgICAgUFJPUF9FRElUSU5HX0JFSEFWSU9SLAogICAgIFBS
T1BfRU5BQkxFX1VOSVZFUlNBTF9BQ0NFU1NfRlJPTV9GSUxFX1VSSVMsCiAgICAgUFJPUF9FTkFC
TEVfRE9NX1BBU1RFLAotICAgIFBST1BfVEFCX0tFWV9DWUNMRVNfVEhST1VHSF9FTEVNRU5UUwor
ICAgIFBST1BfVEFCX0tFWV9DWUNMRVNfVEhST1VHSF9FTEVNRU5UUywKKyAgICBQUk9QX0VOQUJM
RV9QQUdFX0NBQ0hFCiB9OwogCiAvLyBDcmVhdGUgYSBkZWZhdWx0IHVzZXIgYWdlbnQgc3RyaW5n
CkBAIC02ODYsNiArNjkwLDMxIEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfc2V0dGluZ3NfY2xh
c3NfaW5pdChXZWJLaXRXZWJTZXR0aW5nc0NsYXNzKiBrbGFzcykKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFncykpOwog
CisgICAgLyoqCisgICAgKiBXZWJLaXRXZWJTZXR0aW5nczplbmFibGUtcGFnZS1jYWNoZToKKyAg
ICAqCisgICAgKiBFbmFibGUgb3IgZGlzYWJsZSB0aGUgcGFnZSBjYWNoZS4gRGlzYWJsaW5nIHRo
ZSBwYWdlIGNhY2hlIGlzCisgICAgKiBnZW5lcmFsbHkgb25seSB1c2VmdWwgZm9yIHNwZWNpYWwg
Y2lyY3Vtc3RhbmNlcyBsaWtlIGxvdy1tZW1vcnkKKyAgICAqIHNjZW5hcmlvcyBvciBzcGVjaWFs
IHB1cnBvc2UgYXBwbGljYXRpb25zIGxpa2Ugc3RhdGljIEhUTUwKKyAgICAqIHZpZXdlcnMuIFRo
aXMgc2V0dGluZyBvbmx5IGNvbnRyb2xzIHRoZSBQYWdlIENhY2hlLCBub3RlIHRoYXQKKyAgICAq
IHRoZSBQYWdlIENhY2hlIGlzIGFuIGVuZCB1c2VyIGZlYXR1cmUgdGhhdCBtYWtlcyBuYXZpZ2F0
aW5nIHRoZQorICAgICogd2ViIG11Y2ggc21vb3RoZXIsIGl0IGlzIG5vdCBhIGNhY2hlIGluIHRo
ZSBkaXNrIGNhY2hlIHNlbnNlIGFuZAorICAgICogaXQgaXMgbm90IGEgY2FjaGUgaW4gdGhlIHRy
YWRpdGlvbmFsIG1lbW9yeSBjYWNoZS4gQmFzaWNhbGx5IHRoZQorICAgICogUGFnZSBDYWNoZSBt
YWtlcyBjbGlja2luZyB0aGUgYmFjayBidXR0b24gYWxtb3N0CisgICAgKiBpbnN0YW50YW5lb3Vz
LiBGb3IgZGV0YWlscyBhYm91dCB0aGUgZGlmZmVyZW50IHR5cGVzIG9mIGNhY2hlcworICAgICog
YW5kIHRoZWlyIHB1cnBvc2VzIHNlZToKKyAgICAqIGh0dHA6Ly93ZWJraXQub3JnL2Jsb2cvNDI3
L3dlYmtpdC1wYWdlLWNhY2hlLWktdGhlLWJhc2ljcy8KKyAgICAqCisgICAgKiBTaW5jZTogMS4x
LjE4CisgICAgKi8KKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3Rf
Y2xhc3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX0VOQUJMRV9Q
QUdFX0NBQ0hFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9z
cGVjX2Jvb2xlYW4oImVuYWJsZS1wYWdlLWNhY2hlIiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8oIkVuYWJsZSBwYWdlIGNhY2hlIiks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBfKCJXaGV0aGVyIHRoZSBwYWdlIGNhY2hlIHNob3VsZCBiZSB1c2VkIiksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVFLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxh
Z3MpKTsKKwogICAgIGdfdHlwZV9jbGFzc19hZGRfcHJpdmF0ZShrbGFzcywgc2l6ZW9mKFdlYktp
dFdlYlNldHRpbmdzUHJpdmF0ZSkpOwogfQogCkBAIC04ODUsNiArOTE0LDkgQEAgc3RhdGljIHZv
aWQgd2Via2l0X3dlYl9zZXR0aW5nc19zZXRfcHJvcGVydHkoR09iamVjdCogb2JqZWN0LCBndWlu
dCBwcm9wX2lkLCBjb24KICAgICBjYXNlIFBST1BfVEFCX0tFWV9DWUNMRVNfVEhST1VHSF9FTEVN
RU5UUzoKICAgICAgICAgcHJpdi0+dGFiX2tleV9jeWNsZXNfdGhyb3VnaF9lbGVtZW50cyA9ICBn
X3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9Q
X0VOQUJMRV9QQUdFX0NBQ0hFOgorICAgICAgICBwcml2LT5lbmFibGVfcGFnZV9jYWNoZSA9IGdf
dmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOworICAgICAgICBicmVhazsKICAgICBkZWZhdWx0Ogog
ICAgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQob2JqZWN0LCBwcm9wX2lk
LCBwc3BlYyk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTAwMiw2ICsxMDM0LDkgQEAgc3RhdGljIHZv
aWQgd2Via2l0X3dlYl9zZXR0aW5nc19nZXRfcHJvcGVydHkoR09iamVjdCogb2JqZWN0LCBndWlu
dCBwcm9wX2lkLCBHVmEKICAgICBjYXNlIFBST1BfVEFCX0tFWV9DWUNMRVNfVEhST1VHSF9FTEVN
RU5UUzoKICAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+dGFiX2tleV9j
eWNsZXNfdGhyb3VnaF9lbGVtZW50cyk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgUFJPUF9F
TkFCTEVfUEFHRV9DQUNIRToKKyAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJp
di0+ZW5hYmxlX3BhZ2VfY2FjaGUpOworICAgICAgICBicmVhazsKICAgIGRlZmF1bHQ6CiAgICAg
ICAgIEdfT0JKRUNUX1dBUk5fSU5WQUxJRF9QUk9QRVJUWV9JRChvYmplY3QsIHByb3BfaWQsIHBz
cGVjKTsKICAgICAgICAgYnJlYWs7CkBAIC0xMDY3LDYgKzExMDIsNyBAQCBXZWJLaXRXZWJTZXR0
aW5ncyogd2Via2l0X3dlYl9zZXR0aW5nc19jb3B5KFdlYktpdFdlYlNldHRpbmdzKiB3ZWJfc2V0
dGluZ3MpCiAgICAgICAgICAgICAgICAgICJlZGl0aW5nLWJlaGF2aW9yIiwgcHJpdi0+ZWRpdGlu
Z19iZWhhdmlvciwKICAgICAgICAgICAgICAgICAgImVuYWJsZS11bml2ZXJzYWwtYWNjZXNzLWZy
b20tZmlsZS11cmlzIiwgcHJpdi0+ZW5hYmxlX3VuaXZlcnNhbF9hY2Nlc3NfZnJvbV9maWxlX3Vy
aXMsCiAgICAgICAgICAgICAgICAgICJlbmFibGUtZG9tLXBhc3RlIiwgcHJpdi0+ZW5hYmxlX2Rv
bV9wYXN0ZSwKKyAgICAgICAgICAgICAgICAgImVuYWJsZS1wYWdlLWNhY2hlIiwgcHJpdi0+ZW5h
YmxlX3BhZ2VfY2FjaGUsCiAgICAgICAgICAgICAgICAgIE5VTEwpKTsKIAogICAgIHJldHVybiBj
b3B5OwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAgYi9X
ZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAppbmRleCA0ZGE2NWFhLi45NTk4NGY1
IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAorKysgYi9X
ZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcApAQCAtOCw2ICs4LDcgQEAKICAqICBD
b3B5cmlnaHQgKEMpIDIwMDggTnVhbnRpIEx0ZC4KICAqICBDb3B5cmlnaHQgKEMpIDIwMDgsIDIw
MDkgQ29sbGFib3JhIEx0ZC4KICAqICBDb3B5cmlnaHQgKEMpIDIwMDkgSWdhbGlhIFMuTC4KKyAq
ICBDb3B5cmlnaHQgKEMpIDIwMDkgTW92aWFsIENyZWF0aXZlIFRlY2hub2xvZ2llcyBJbmMuCiAg
KgogICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKICAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVz
c2VyIEdlbmVyYWwgUHVibGljCkBAIC0yMzg4LDcgKzIzODksNyBAQCBzdGF0aWMgdm9pZCB3ZWJr
aXRfd2ViX3ZpZXdfdXBkYXRlX3NldHRpbmdzKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAg
ICAgIGVuYWJsZVNjcmlwdHMsIGVuYWJsZVBsdWdpbnMsIGVuYWJsZURldmVsb3BlckV4dHJhcywg
cmVzaXphYmxlVGV4dEFyZWFzLAogICAgICAgICBlbmFibGVQcml2YXRlQnJvd3NpbmcsIGVuYWJs
ZUNhcmV0QnJvd3NpbmcsIGVuYWJsZUhUTUw1RGF0YWJhc2UsIGVuYWJsZUhUTUw1TG9jYWxTdG9y
YWdlLAogICAgICAgICBlbmFibGVYU1NBdWRpdG9yLCBqYXZhc2NyaXB0Q2FuT3BlbldpbmRvd3Ms
IGVuYWJsZU9mZmxpbmVXZWJBcHBDYWNoZSwKLSAgICAgICAgZW5hYmxlVW5pdmVyc2FsQWNjZXNz
RnJvbUZpbGVVUkksIGVuYWJsZURPTVBhc3RlLCB0YWJLZXlDeWNsZXNUaHJvdWdoRWxlbWVudHM7
CisgICAgICAgIGVuYWJsZVVuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJJLCBlbmFibGVET01QYXN0
ZSwgdGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzLCB1c2VQYWdlQ2FjaGU7CiAKICAgICBXZWJL
aXRFZGl0aW5nQmVoYXZpb3IgZWRpdGluZ0JlaGF2aW9yOwogCkBAIC0yNDE5LDYgKzI0MjAsNyBA
QCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfdXBkYXRlX3NldHRpbmdzKFdlYktpdFdlYlZp
ZXcqIHdlYlZpZXcpCiAgICAgICAgICAgICAgICAgICJlbmFibGUtdW5pdmVyc2FsLWFjY2Vzcy1m
cm9tLWZpbGUtdXJpcyIsICZlbmFibGVVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSSSwKICAgICAg
ICAgICAgICAgICAgImVuYWJsZS1kb20tcGFzdGUiLCAmZW5hYmxlRE9NUGFzdGUsCiAgICAgICAg
ICAgICAgICAgICJ0YWIta2V5LWN5Y2xlcy10aHJvdWdoLWVsZW1lbnRzIiwgJnRhYktleUN5Y2xl
c1Rocm91Z2hFbGVtZW50cywKKyAgICAgICAgICAgICAgICAgInBhZ2UtY2FjaGUiLCAmdXNlUGFn
ZUNhY2hlLAogICAgICAgICAgICAgICAgICBOVUxMKTsKIAogICAgIHNldHRpbmdzLT5zZXREZWZh
dWx0VGV4dEVuY29kaW5nTmFtZShkZWZhdWx0RW5jb2RpbmcpOwpAQCAtMjQ0Niw2ICsyNDQ4LDcg
QEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X3VwZGF0ZV9zZXR0aW5ncyhXZWJLaXRXZWJW
aWV3KiB3ZWJWaWV3KQogICAgIHNldHRpbmdzLT5zZXRFZGl0aW5nQmVoYXZpb3IoY29yZShlZGl0
aW5nQmVoYXZpb3IpKTsKICAgICBzZXR0aW5ncy0+c2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9t
RmlsZVVSTHMoZW5hYmxlVW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkkpOwogICAgIHNldHRpbmdz
LT5zZXRET01QYXN0ZUFsbG93ZWQoZW5hYmxlRE9NUGFzdGUpOworICAgIHNldHRpbmdzLT5zZXRV
c2VzUGFnZUNhY2hlKHVzZVBhZ2VDYWNoZSk7CiAKICAgICBQYWdlKiBwYWdlID0gY29yZSh3ZWJW
aWV3KTsKICAgICBpZiAocGFnZSkKQEAgLTI1NDMsNiArMjU0Niw4IEBAIHN0YXRpYyB2b2lkIHdl
YmtpdF93ZWJfdmlld19zZXR0aW5nc19ub3RpZnkoV2ViS2l0V2ViU2V0dGluZ3MqIHdlYlNldHRp
bmdzLCBHUGFyCiAgICAgICAgIGlmIChwYWdlKQogICAgICAgICAgICAgcGFnZS0+c2V0VGFiS2V5
Q3ljbGVzVGhyb3VnaEVsZW1lbnRzKGdfdmFsdWVfZ2V0X2Jvb2xlYW4oJnZhbHVlKSk7CiAgICAg
fQorICAgIGVsc2UgaWYgKG5hbWUgPT0gZ19pbnRlcm5fc3RyaW5nKCJlbmFibGUtcGFnZS1jYWNo
ZSIpKQorICAgICAgICBzZXR0aW5ncy0+c2V0VXNlc1BhZ2VDYWNoZShnX3ZhbHVlX2dldF9ib29s
ZWFuKCZ2YWx1ZSkpOwogICAgIGVsc2UgaWYgKCFnX29iamVjdF9jbGFzc19maW5kX3Byb3BlcnR5
KEdfT0JKRUNUX0dFVF9DTEFTUyh3ZWJTZXR0aW5ncyksIG5hbWUpKQogICAgICAgICBnX3dhcm5p
bmcoIlVuZXhwZWN0ZWQgc2V0dGluZyAnJXMnIiwgbmFtZSk7CiAgICAgZ192YWx1ZV91bnNldCgm
dmFsdWUpOwo=
</data>
<flag name="review"
          id="26127"
          type_id="1"
          status="-"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44313</attachid>
            <date>2009-12-04 08:00:12 -0800</date>
            <delta_ts>2009-12-18 03:15:10 -0800</delta_ts>
            <desc>New proposal of the patch</desc>
            <filename>enable-page-cache.patch</filename>
            <type>text/plain</type>
            <size>7454</size>
            <attacher name="Alejandro G. Castro">alex</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
aW5kZXggYzBjNDJkNC4uZGViOTBmYiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAwOS0xMi0wNCAg
S2FsbGUgVmFobG1hbiAgPGthbGxlLnZhaGxtYW5AbW92aWFsLmNvbT4gYW5kIEFsZWphbmRybyBH
LiBDYXN0cm8gIDxhbGV4QGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgW0dUS10gQWRkIGVuYWJsZS1wYWdlLWNhY2hlIHByb3BlcnR5
IHRvIFdlYlNldHRpbmdzIGZvciBkaXNhYmxpbmcgdGhlIFBhZ2UgQ2FjaGUKKworICAgICAgICAq
IHdlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5jcHA6CisgICAgICAgIChfV2ViS2l0V2ViU2V0dGlu
Z3NQcml2YXRlOjopOgorICAgICAgICAoX1dlYktpdFdlYlNldHRpbmdzUHJpdmF0ZTo6d2Via2l0
X3dlYl9zZXR0aW5nc19jbGFzc19pbml0KToKKyAgICAgICAgKF9XZWJLaXRXZWJTZXR0aW5nc1By
aXZhdGU6OndlYmtpdF93ZWJfc2V0dGluZ3Nfc2V0X3Byb3BlcnR5KToKKyAgICAgICAgKF9XZWJL
aXRXZWJTZXR0aW5nc1ByaXZhdGU6OndlYmtpdF93ZWJfc2V0dGluZ3NfZ2V0X3Byb3BlcnR5KToK
KyAgICAgICAgKF9XZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGU6OndlYmtpdF93ZWJfc2V0dGluZ3Nf
Y29weSk6CisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwOgorCiAyMDA5LTEyLTAz
ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0
dGluZ3MuY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwCmluZGV4
IDE0M2FlMDYuLmZiNGNkYTIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdl
YnNldHRpbmdzLmNwcAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5j
cHAKQEAgLTQsNiArNCw4IEBACiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggQ29sbGFib3JhIEx0ZC4K
ICAqIENvcHlyaWdodCAoQykgMjAwOCBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlcgogICogQ29w
eXJpZ2h0IChDKSAyMDA5IEphbiBNaWNoYWVsIEFsb256bworICogQ29weXJpZ2h0IChDKSAyMDA5
IE1vdmlhbCBDcmVhdGl2ZSBUZWNobm9sb2dpZXMgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA5
IElnYWxpYSBTLkwuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTk4LDYgKzEwMCw3IEBAIHN0cnVj
dCBfV2ViS2l0V2ViU2V0dGluZ3NQcml2YXRlIHsKICAgICBnYm9vbGVhbiBlbmFibGVfdW5pdmVy
c2FsX2FjY2Vzc19mcm9tX2ZpbGVfdXJpczsKICAgICBnYm9vbGVhbiBlbmFibGVfZG9tX3Bhc3Rl
OwogICAgIGdib29sZWFuIHRhYl9rZXlfY3ljbGVzX3Rocm91Z2hfZWxlbWVudHM7CisgICAgZ2Jv
b2xlYW4gZW5hYmxlX3BhZ2VfY2FjaGU7CiB9OwogCiAjZGVmaW5lIFdFQktJVF9XRUJfU0VUVElO
R1NfR0VUX1BSSVZBVEUob2JqKSAoR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKChvYmopLCBX
RUJLSVRfVFlQRV9XRUJfU0VUVElOR1MsIFdlYktpdFdlYlNldHRpbmdzUHJpdmF0ZSkpCkBAIC0x
MzksNyArMTQyLDggQEAgZW51bSB7CiAgICAgUFJPUF9FRElUSU5HX0JFSEFWSU9SLAogICAgIFBS
T1BfRU5BQkxFX1VOSVZFUlNBTF9BQ0NFU1NfRlJPTV9GSUxFX1VSSVMsCiAgICAgUFJPUF9FTkFC
TEVfRE9NX1BBU1RFLAotICAgIFBST1BfVEFCX0tFWV9DWUNMRVNfVEhST1VHSF9FTEVNRU5UUwor
ICAgIFBST1BfVEFCX0tFWV9DWUNMRVNfVEhST1VHSF9FTEVNRU5UUywKKyAgICBQUk9QX0VOQUJM
RV9QQUdFX0NBQ0hFCiB9OwogCiAvLyBDcmVhdGUgYSBkZWZhdWx0IHVzZXIgYWdlbnQgc3RyaW5n
CkBAIC02ODYsNiArNjkwLDI5IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfc2V0dGluZ3NfY2xh
c3NfaW5pdChXZWJLaXRXZWJTZXR0aW5nc0NsYXNzKiBrbGFzcykKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFncykpOwog
CisgICAgLyoqCisgICAgKiBXZWJLaXRXZWJTZXR0aW5nczplbmFibGUtcGFnZS1jYWNoZToKKyAg
ICAqCisgICAgKiBFbmFibGUgb3IgZGlzYWJsZSB0aGUgcGFnZSBjYWNoZS4gRGlzYWJsaW5nIHRo
ZSBwYWdlIGNhY2hlIGlzCisgICAgKiBnZW5lcmFsbHkgb25seSB1c2VmdWwgZm9yIHNwZWNpYWwg
Y2lyY3Vtc3RhbmNlcyBsaWtlIGxvdy1tZW1vcnkKKyAgICAqIHNjZW5hcmlvcyBvciBzcGVjaWFs
IHB1cnBvc2UgYXBwbGljYXRpb25zIGxpa2Ugc3RhdGljIEhUTUwKKyAgICAqIHZpZXdlcnMuIFRo
aXMgc2V0dGluZyBvbmx5IGNvbnRyb2xzIHRoZSBQYWdlIENhY2hlLCB0aGlzIGNhY2hlCisgICAg
KiBpcyBkaWZmZXJlbnQgdGhhbiB0aGUgZGlzay1iYXNlZCBvciBtZW1vcnktYmFzZWQgdHJhZGl0
aW9uYWwKKyAgICAqIHJlc291cmNlIGNhY2hlcywgaXRzIHBvaW50IGlzIHRvIG1ha2UgZ29pbmcg
YmFjayBhbmQgZm9ydGgKKyAgICAqIGJldHdlZW4gcGFnZXMgbXVjaCBmYXN0ZXIuIEZvciBkZXRh
aWxzIGFib3V0IHRoZSBkaWZmZXJlbnQgdHlwZXMKKyAgICAqIG9mIGNhY2hlcyBhbmQgdGhlaXIg
cHVycG9zZXMgc2VlOgorICAgICogaHR0cDovL3dlYmtpdC5vcmcvYmxvZy80Mjcvd2Via2l0LXBh
Z2UtY2FjaGUtaS10aGUtYmFzaWNzLworICAgICoKKyAgICAqIFNpbmNlOiAxLjEuMTgKKyAgICAq
LworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVjdF9jbGFzcywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BfRU5BQkxFX1BBR0VfQ0FDSEUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfYm9vbGVh
bigiZW5hYmxlLXBhZ2UtY2FjaGUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXygiRW5hYmxlIHBhZ2UgY2FjaGUiKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8oIldoZXRo
ZXIgdGhlIHBhZ2UgY2FjaGUgc2hvdWxkIGJlIHVzZWQiKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFncykpOworCiAg
ICAgZ190eXBlX2NsYXNzX2FkZF9wcml2YXRlKGtsYXNzLCBzaXplb2YoV2ViS2l0V2ViU2V0dGlu
Z3NQcml2YXRlKSk7CiB9CiAKQEAgLTg4NSw2ICs5MTIsOSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRf
d2ViX3NldHRpbmdzX3NldF9wcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BfaWQs
IGNvbgogICAgIGNhc2UgUFJPUF9UQUJfS0VZX0NZQ0xFU19USFJPVUdIX0VMRU1FTlRTOgogICAg
ICAgICBwcml2LT50YWJfa2V5X2N5Y2xlc190aHJvdWdoX2VsZW1lbnRzID0gIGdfdmFsdWVfZ2V0
X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfRU5BQkxFX1BB
R0VfQ0FDSEU6CisgICAgICAgIHByaXYtPmVuYWJsZV9wYWdlX2NhY2hlID0gZ192YWx1ZV9nZXRf
Ym9vbGVhbih2YWx1ZSk7CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEdf
T0JKRUNUX1dBUk5fSU5WQUxJRF9QUk9QRVJUWV9JRChvYmplY3QsIHByb3BfaWQsIHBzcGVjKTsK
ICAgICAgICAgYnJlYWs7CkBAIC0xMDAyLDYgKzEwMzIsOSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRf
d2ViX3NldHRpbmdzX2dldF9wcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BfaWQs
IEdWYQogICAgIGNhc2UgUFJPUF9UQUJfS0VZX0NZQ0xFU19USFJPVUdIX0VMRU1FTlRTOgogICAg
ICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT50YWJfa2V5X2N5Y2xlc190aHJv
dWdoX2VsZW1lbnRzKTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX0VOQUJMRV9QQUdF
X0NBQ0hFOgorICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVf
cGFnZV9jYWNoZSk7CisgICAgICAgIGJyZWFrOwogICAgZGVmYXVsdDoKICAgICAgICAgR19PQkpF
Q1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJvcF9pZCwgcHNwZWMpOwogICAg
ICAgICBicmVhazsKQEAgLTEwNjcsNiArMTEwMCw3IEBAIFdlYktpdFdlYlNldHRpbmdzKiB3ZWJr
aXRfd2ViX3NldHRpbmdzX2NvcHkoV2ViS2l0V2ViU2V0dGluZ3MqIHdlYl9zZXR0aW5ncykKICAg
ICAgICAgICAgICAgICAgImVkaXRpbmctYmVoYXZpb3IiLCBwcml2LT5lZGl0aW5nX2JlaGF2aW9y
LAogICAgICAgICAgICAgICAgICAiZW5hYmxlLXVuaXZlcnNhbC1hY2Nlc3MtZnJvbS1maWxlLXVy
aXMiLCBwcml2LT5lbmFibGVfdW5pdmVyc2FsX2FjY2Vzc19mcm9tX2ZpbGVfdXJpcywKICAgICAg
ICAgICAgICAgICAgImVuYWJsZS1kb20tcGFzdGUiLCBwcml2LT5lbmFibGVfZG9tX3Bhc3RlLAor
ICAgICAgICAgICAgICAgICAiZW5hYmxlLXBhZ2UtY2FjaGUiLCBwcml2LT5lbmFibGVfcGFnZV9j
YWNoZSwKICAgICAgICAgICAgICAgICAgTlVMTCkpOwogCiAgICAgcmV0dXJuIGNvcHk7CmRpZmYg
LS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcCBiL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCmluZGV4IDRkYTY1YWEuLjBiNGU0YjAgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCisrKyBiL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCkBAIC04LDYgKzgsNyBAQAogICogIENvcHlyaWdodCAo
QykgMjAwOCBOdWFudGkgTHRkLgogICogIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSBDb2xsYWJv
cmEgTHRkLgogICogIENvcHlyaWdodCAoQykgMjAwOSBJZ2FsaWEgUy5MLgorICogIENvcHlyaWdo
dCAoQykgMjAwOSBNb3ZpYWwgQ3JlYXRpdmUgVGVjaG5vbG9naWVzIEluYy4KICAqCiAgKiAgVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgogICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJh
bCBQdWJsaWMKQEAgLTIzODgsNyArMjM4OSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmll
d191cGRhdGVfc2V0dGluZ3MoV2ViS2l0V2ViVmlldyogd2ViVmlldykKICAgICAgICAgZW5hYmxl
U2NyaXB0cywgZW5hYmxlUGx1Z2lucywgZW5hYmxlRGV2ZWxvcGVyRXh0cmFzLCByZXNpemFibGVU
ZXh0QXJlYXMsCiAgICAgICAgIGVuYWJsZVByaXZhdGVCcm93c2luZywgZW5hYmxlQ2FyZXRCcm93
c2luZywgZW5hYmxlSFRNTDVEYXRhYmFzZSwgZW5hYmxlSFRNTDVMb2NhbFN0b3JhZ2UsCiAgICAg
ICAgIGVuYWJsZVhTU0F1ZGl0b3IsIGphdmFzY3JpcHRDYW5PcGVuV2luZG93cywgZW5hYmxlT2Zm
bGluZVdlYkFwcENhY2hlLAotICAgICAgICBlbmFibGVVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVS
SSwgZW5hYmxlRE9NUGFzdGUsIHRhYktleUN5Y2xlc1Rocm91Z2hFbGVtZW50czsKKyAgICAgICAg
ZW5hYmxlVW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkksIGVuYWJsZURPTVBhc3RlLCB0YWJLZXlD
eWNsZXNUaHJvdWdoRWxlbWVudHMsIHVzZVBhZ2VDYWNoZTsKIAogICAgIFdlYktpdEVkaXRpbmdC
ZWhhdmlvciBlZGl0aW5nQmVoYXZpb3I7CiAKQEAgLTI0MTksNiArMjQyMCw3IEBAIHN0YXRpYyB2
b2lkIHdlYmtpdF93ZWJfdmlld191cGRhdGVfc2V0dGluZ3MoV2ViS2l0V2ViVmlldyogd2ViVmll
dykKICAgICAgICAgICAgICAgICAgImVuYWJsZS11bml2ZXJzYWwtYWNjZXNzLWZyb20tZmlsZS11
cmlzIiwgJmVuYWJsZVVuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJJLAogICAgICAgICAgICAgICAg
ICAiZW5hYmxlLWRvbS1wYXN0ZSIsICZlbmFibGVET01QYXN0ZSwKICAgICAgICAgICAgICAgICAg
InRhYi1rZXktY3ljbGVzLXRocm91Z2gtZWxlbWVudHMiLCAmdGFiS2V5Q3ljbGVzVGhyb3VnaEVs
ZW1lbnRzLAorICAgICAgICAgICAgICAgICAiZW5hYmxlLXBhZ2UtY2FjaGUiLCAmdXNlUGFnZUNh
Y2hlLAogICAgICAgICAgICAgICAgICBOVUxMKTsKIAogICAgIHNldHRpbmdzLT5zZXREZWZhdWx0
VGV4dEVuY29kaW5nTmFtZShkZWZhdWx0RW5jb2RpbmcpOwpAQCAtMjQ0Niw2ICsyNDQ4LDcgQEAg
c3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X3VwZGF0ZV9zZXR0aW5ncyhXZWJLaXRXZWJWaWV3
KiB3ZWJWaWV3KQogICAgIHNldHRpbmdzLT5zZXRFZGl0aW5nQmVoYXZpb3IoY29yZShlZGl0aW5n
QmVoYXZpb3IpKTsKICAgICBzZXR0aW5ncy0+c2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmls
ZVVSTHMoZW5hYmxlVW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkkpOwogICAgIHNldHRpbmdzLT5z
ZXRET01QYXN0ZUFsbG93ZWQoZW5hYmxlRE9NUGFzdGUpOworICAgIHNldHRpbmdzLT5zZXRVc2Vz
UGFnZUNhY2hlKHVzZVBhZ2VDYWNoZSk7CiAKICAgICBQYWdlKiBwYWdlID0gY29yZSh3ZWJWaWV3
KTsKICAgICBpZiAocGFnZSkKQEAgLTI1NDIsNyArMjU0NSw4IEBAIHN0YXRpYyB2b2lkIHdlYmtp
dF93ZWJfdmlld19zZXR0aW5nc19ub3RpZnkoV2ViS2l0V2ViU2V0dGluZ3MqIHdlYlNldHRpbmdz
LCBHUGFyCiAgICAgICAgIFBhZ2UqIHBhZ2UgPSBjb3JlKHdlYlZpZXcpOwogICAgICAgICBpZiAo
cGFnZSkKICAgICAgICAgICAgIHBhZ2UtPnNldFRhYktleUN5Y2xlc1Rocm91Z2hFbGVtZW50cyhn
X3ZhbHVlX2dldF9ib29sZWFuKCZ2YWx1ZSkpOwotICAgIH0KKyAgICB9IGVsc2UgaWYgKG5hbWUg
PT0gZ19pbnRlcm5fc3RyaW5nKCJlbmFibGUtcGFnZS1jYWNoZSIpKQorICAgICAgICBzZXR0aW5n
cy0+c2V0VXNlc1BhZ2VDYWNoZShnX3ZhbHVlX2dldF9ib29sZWFuKCZ2YWx1ZSkpOwogICAgIGVs
c2UgaWYgKCFnX29iamVjdF9jbGFzc19maW5kX3Byb3BlcnR5KEdfT0JKRUNUX0dFVF9DTEFTUyh3
ZWJTZXR0aW5ncyksIG5hbWUpKQogICAgICAgICBnX3dhcm5pbmcoIlVuZXhwZWN0ZWQgc2V0dGlu
ZyAnJXMnIiwgbmFtZSk7CiAgICAgZ192YWx1ZV91bnNldCgmdmFsdWUpOwo=
</data>
<flag name="review"
          id="26135"
          type_id="1"
          status="+"
          setter="gustavo"
    />
    <flag name="commit-queue"
          id="27058"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45083</attachid>
            <date>2009-12-17 10:15:37 -0800</date>
            <delta_ts>2009-12-18 04:01:29 -0800</delta_ts>
            <desc>Proposed patch for the cache models</desc>
            <filename>cache_models.patch</filename>
            <type>text/plain</type>
            <size>5530</size>
            <attacher name="Alejandro G. Castro">alex</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
aW5kZXggY2YxM2M3Zi4uMjM3YWU5YyAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAwOS0xMi0xNyAg
QWxlamFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR1RLXSBDYWNoZSBjb250cm9sIEFQSXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0MDAxCisK
KyAgICAgICAgQWRkZWQgbmV3IEFQSSB0byBzcGVjaWZ5IGNhY2hlIG1vZGVscyBmb3IgR1RLIHBv
cnQuCisKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0cHJpdmF0ZS5jcHA6CisgICAgICAgICogd2Vi
a2l0L3dlYmtpdHdlYnZpZXcuY3BwOgorICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJ2aWV3Lmg6
CisKIDIwMDktMTItMTYgIERhbiBXaW5zaGlwICA8ZGFud0Bnbm9tZS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgR3VzdGF2byBOb3JvbmhhIFNpbHZhLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0
ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5jcHAgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2
YXRlLmNwcAppbmRleCA5NWE1NzE3Li5mZjQ0Y2ZmIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dl
YmtpdC93ZWJraXRwcml2YXRlLmNwcAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2
YXRlLmNwcApAQCAtMjQ1LDEwICsyNDUsNyBAQCB2b2lkIHdlYmtpdF9pbml0KCkKICAgICBKU0M6
OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKICAgICBXZWJDb3JlOjpJbml0aWFsaXplTG9nZ2luZ0No
YW5uZWxzSWZOZWNlc3NhcnkoKTsKIAotICAgIC8vIFBhZ2UgY2FjaGUgY2FwYWNpdHkgKGluIHBh
Z2VzKS4gQ29tbWVudCBmcm9tIE1hYyBwb3J0OgotICAgIC8vIChSZXNlYXJjaCBpbmRpY2F0ZXMg
dGhhdCB2YWx1ZSAvIHBhZ2UgZHJvcHMgc3Vic3RhbnRpYWxseSBhZnRlciAzIHBhZ2VzLikKLSAg
ICAvLyBGSVhNRTogRXhwb3NlIHRoaXMgd2l0aCBhbiBBUEkgYW5kL29yIGNhbGN1bGF0ZSBiYXNl
ZCBvbiBhdmFpbGFibGUgcmVzb3VyY2VzCi0gICAgV2ViQ29yZTo6cGFnZUNhY2hlKCktPnNldENh
cGFjaXR5KDMpOworICAgIHdlYmtpdF9zZXRfY2FjaGVfbW9kZWwgKFdFQktJVF9DQUNIRV9NT0RF
TF9XRUJfQlJPV1NFUik7CiAKICNpZiBFTkFCTEUoREFUQUJBU0UpCiAgICAgZ2NoYXIqIGRhdGFi
YXNlRGlyZWN0b3J5ID0gZ19idWlsZF9maWxlbmFtZShnX2dldF91c2VyX2RhdGFfZGlyKCksICJ3
ZWJraXQiLCAiZGF0YWJhc2VzIiwgTlVMTCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXR3ZWJ2aWV3LmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3Bw
CmluZGV4IDMzNTA5OTkuLjRiYzRiYzUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dl
YmtpdHdlYnZpZXcuY3BwCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3Bw
CkBAIC04LDYgKzgsNyBAQAogICogIENvcHlyaWdodCAoQykgMjAwOCBOdWFudGkgTHRkLgogICog
IENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSBDb2xsYWJvcmEgTHRkLgogICogIENvcHlyaWdodCAo
QykgMjAwOSBJZ2FsaWEgUy5MLgorICogIENvcHlyaWdodCAoQykgMjAwOSBCb2JieSBQb3dlcnMK
ICAqCiAgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgogICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
ZXNzZXIgR2VuZXJhbCBQdWJsaWMKQEAgLTQwLDYgKzQxLDcgQEAKICNpbmNsdWRlICJBWE9iamVj
dENhY2hlLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJCYWNrRm9y
d2FyZExpc3QuaCIKKyNpbmNsdWRlICJDYWNoZS5oIgogI2luY2x1ZGUgIkNTdHJpbmcuaCIKICNp
bmNsdWRlICJDaHJvbWVDbGllbnRHdGsuaCIKICNpbmNsdWRlICJDb250ZXh0TWVudS5oIgpAQCAt
NjQsNiArNjYsNyBAQAogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVW
aWV3LmgiCiAjaW5jbHVkZSAiTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cy5oIgorI2luY2x1
ZGUgIlBhZ2VDYWNoZS5oIgogI2luY2x1ZGUgIlBhc3RlYm9hcmQuaCIKICNpbmNsdWRlICJQYXN0
ZWJvYXJkSGVscGVyLmgiCiAjaW5jbHVkZSAiUGFzdGVib2FyZEhlbHBlckd0ay5oIgpAQCAtNDA1
NCwzICs0MDU3LDYwIEBAIEdfQ09OU1RfUkVUVVJOIGdjaGFyKiB3ZWJraXRfd2ViX3ZpZXdfZ2V0
X2ljb25fdXJpKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgcHJpdi0+aWNvblVSSSA9IGdf
c3RyZHVwKGljb25VUkwudXRmOCgpLmRhdGEoKSk7CiAgICAgcmV0dXJuIHByaXYtPmljb25VUkk7
CiB9CisKKy8qKgorICogd2Via2l0X3dlYl92aWV3X3NldF9jYWNoZV9tb2RlbDoKKyAqIEBjYWNo
ZV9tb2RlbDogYSAjV2ViS2l0Q2FjaGVNb2RlbAorICoKKyAqIFNwZWNpZmllcyBhIHVzYWdlIG1v
ZGVsIGZvciBhIFdlYlZpZXcsIHdoaWNoIFdlYktpdCB3aWxsIHVzZSB0bworICogZGV0ZXJtaW5l
IGl0cyBjYWNoaW5nIGJlaGF2aW9yLiBBbGwgd2ViIHZpZXdzIGZvbGxvdyB0aGUgY2FjaGUKKyAq
IG1vZGVsLiBUaGlzIGNhY2hlIG1vZGVsIGRldGVybWluZXMgdGhlIFJBTSBhbmQgZGlzayBzcGFj
ZSB0byB1c2UKKyAqIGZvciBjYWNoaW5nIHByZXZpb3VzbHkgdmlld2VkIGNvbnRlbnQgLgorICoK
KyAqIFJlc2VhcmNoIGluZGljYXRlcyB0aGF0IHVzZXJzIHRlbmQgdG8gYnJvd3NlIHdpdGhpbiBj
bHVzdGVycyBvZgorICogZG9jdW1lbnRzIHRoYXQgaG9sZCByZXNvdXJjZXMgaW4gY29tbW9uLCBh
bmQgdG8gcmV2aXNpdCBwcmV2aW91c2x5CisgKiB2aXNpdGVkIGRvY3VtZW50cy4gV2ViS2l0IGFu
ZCB0aGUgZnJhbWV3b3JrcyBiZWxvdyBpdCBpbmNsdWRlCisgKiBidWlsdC1pbiBjYWNoZXMgdGhh
dCB0YWtlIGFkdmFudGFnZSBvZiB0aGVzZSBwYXR0ZXJucywKKyAqIHN1YnN0YW50aWFsbHkgaW1w
cm92aW5nIGRvY3VtZW50IGxvYWQgc3BlZWQgaW4gYnJvd3NpbmcKKyAqIHNpdHVhdGlvbnMuIFRo
ZSBXZWJLaXQgY2FjaGUgbW9kZWwgY29udHJvbHMgdGhlIGJlaGF2aW9ycyBvZiBhbGwgb2YKKyAq
IHRoZXNlIGNhY2hlcywgaW5jbHVkaW5nIGRpc2sgYW5kIHRoZSB2YXJpb3VzIFdlYkNvcmUgY2Fj
aGVzLgorICoKKyAqIEJyb3dzZXJzIGNhbiBpbXByb3ZlIGRvY3VtZW50IGxvYWQgc3BlZWQgc3Vi
c3RhbnRpYWxseSBieQorICogc3BlY2lmeWluZyBXRUJLSVRfQ0FDSEVfTU9ERUxfV0VCX0JST1dT
RVIuIEFwcGxpY2F0aW9ucyB3aXRob3V0IGEKKyAqIGJyb3dzaW5nIGludGVyZmFjZSBjYW4gcmVk
dWNlIG1lbW9yeSB1c2FnZSBzdWJzdGFudGlhbGx5IGJ5CisgKiBzcGVjaWZ5aW5nIFdFQktJVF9D
QUNIRV9NT0RFTF9ET0NVTUVOVF9WSUVXRVIuCisgKgorICogU2luY2U6IDEuMS4xOAorICovCit2
b2lkIHdlYmtpdF9zZXRfY2FjaGVfbW9kZWwoV2ViS2l0Q2FjaGVNb2RlbCBjYWNoZU1vZGVsKQor
eworICAgIC8vRklYTUU6IEFkZCBkaXNrIGNhY2hlIGhhbmRsaW5nIHdoZW4gc291cCBoYXMgdGhl
IEFQSQorICAgIGd1aW50IGNhY2hlVG90YWxDYXBhY2l0eSA9IDA7CisgICAgZ3VpbnQgY2FjaGVN
aW5EZWFkQ2FwYWNpdHkgPSAwOworICAgIGd1aW50IGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gMDsK
KyAgICBnZG91YmxlIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSAwOworCisgICAg
Z3VpbnQgcGFnZUNhY2hlQ2FwYWNpdHkgPSAwOworCisgICAgc3dpdGNoIChjYWNoZU1vZGVsKSB7
CisgICAgY2FzZSBXRUJLSVRfQ0FDSEVfTU9ERUxfRE9DVU1FTlRfVklFV0VSOgorICAgICAgICBw
YWdlQ2FjaGVDYXBhY2l0eSA9IDA7CisgICAgICAgIGNhY2hlVG90YWxDYXBhY2l0eSA9IDA7Cisg
ICAgICAgIGNhY2hlTWluRGVhZENhcGFjaXR5ID0gMDsKKyAgICAgICAgY2FjaGVNYXhEZWFkQ2Fw
YWNpdHkgPSAwOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFdFQktJVF9DQUNIRV9NT0RFTF9X
RUJfQlJPV1NFUjoKKyAgICAgICAgcGFnZUNhY2hlQ2FwYWNpdHkgPSAzOworICAgICAgICBjYWNo
ZVRvdGFsQ2FwYWNpdHkgPSAzMiAqIDEwMjQgKiAxMDI0OworICAgICAgICBjYWNoZU1pbkRlYWRD
YXBhY2l0eSA9IGNhY2hlVG90YWxDYXBhY2l0eSAvIDQ7CisgICAgICAgIGNhY2hlTWF4RGVhZENh
cGFjaXR5ID0gY2FjaGVUb3RhbENhcGFjaXR5IC8gMjsKKyAgICAgICAgZGVhZERlY29kZWREYXRh
RGVsZXRpb25JbnRlcnZhbCA9IDYwOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAg
ICAgICBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpOworICAgIH0KKworICAgIGNhY2hlKCktPnNldENh
cGFjaXRpZXMoY2FjaGVNaW5EZWFkQ2FwYWNpdHksIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBjYWNo
ZVRvdGFsQ2FwYWNpdHkpOworICAgIGNhY2hlKCktPnNldERlYWREZWNvZGVkRGF0YURlbGV0aW9u
SW50ZXJ2YWwoZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCk7CisgICAgcGFnZUNhY2hl
KCktPnNldENhcGFjaXR5KHBhZ2VDYWNoZUNhcGFjaXR5KTsKK30KZGlmZiAtLWdpdCBhL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuaCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdl
YnZpZXcuaAppbmRleCA4ZGQ3ZjM5Li40MmRjMGNjIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dl
YmtpdC93ZWJraXR3ZWJ2aWV3LmgKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmll
dy5oCkBAIC00OSw2ICs0OSwxMSBAQCB0eXBlZGVmIGVudW0gewogICAgIFdFQktJVF9OQVZJR0FU
SU9OX1JFU1BPTlNFX0RPV05MT0FECiB9IFdlYktpdE5hdmlnYXRpb25SZXNwb25zZTsKIAordHlw
ZWRlZiBlbnVtIHsKKyAgICBXRUJLSVRfQ0FDSEVfTU9ERUxfRE9DVU1FTlRfVklFV0VSLAorICAg
IFdFQktJVF9DQUNIRV9NT0RFTF9XRUJfQlJPV1NFUgorfSBXZWJLaXRDYWNoZU1vZGVsOworCiB0
eXBlZGVmIGVudW0KIHsKICAgICBXRUJLSVRfV0VCX1ZJRVdfVEFSR0VUX0lORk9fSFRNTCwKQEAg
LTM3MCw2ICszNzUsOSBAQCB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2hpdF90ZXN0X3Jlc3VsdCAgICAg
ICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgKndlYlZpZXcsCiBXRUJLSVRfQVBJIEdfQ09O
U1RfUkVUVVJOIGdjaGFyICoKIHdlYmtpdF93ZWJfdmlld19nZXRfaWNvbl91cmkgICAgICAgICAg
ICAgICAgICAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAqd2ViVmlldyk7CiAKK1dFQktJVF9BUEkg
dm9pZAord2Via2l0X3NldF9jYWNoZV9tb2RlbCAgICAgICAgICAgICAgICAgICAgICAgICAgKFdl
YktpdENhY2hlTW9kZWwgICAgIGNhY2hlX21vZGVsKTsKKwogR19FTkRfREVDTFMKIAogI2VuZGlm
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45137</attachid>
            <date>2009-12-18 03:15:10 -0800</date>
            <delta_ts>2009-12-18 04:00:36 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>enable-page-cache.patch</filename>
            <type>text/plain</type>
            <size>7421</size>
            <attacher name="Alejandro G. Castro">alex</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
aW5kZXggZTQ2NGVlNy4uNGQyYTIyOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAwOS0xMi0xOCAg
S2FsbGUgVmFobG1hbiAgPGthbGxlLnZhaGxtYW5AbW92aWFsLmNvbT4gYW5kIEFsZWphbmRybyBH
LiBDYXN0cm8gIDxhbGV4QGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgW0dUS10gQWRkIGVuYWJsZS1wYWdlLWNhY2hlIHByb3BlcnR5
IHRvIFdlYlNldHRpbmdzIGZvciBkaXNhYmxpbmcgdGhlIFBhZ2UgQ2FjaGUKKworICAgICAgICAq
IHdlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5jcHA6CisgICAgICAgIChfV2ViS2l0V2ViU2V0dGlu
Z3NQcml2YXRlOjopOgorICAgICAgICAoX1dlYktpdFdlYlNldHRpbmdzUHJpdmF0ZTo6d2Via2l0
X3dlYl9zZXR0aW5nc19jbGFzc19pbml0KToKKyAgICAgICAgKF9XZWJLaXRXZWJTZXR0aW5nc1By
aXZhdGU6OndlYmtpdF93ZWJfc2V0dGluZ3Nfc2V0X3Byb3BlcnR5KToKKyAgICAgICAgKF9XZWJL
aXRXZWJTZXR0aW5nc1ByaXZhdGU6OndlYmtpdF93ZWJfc2V0dGluZ3NfZ2V0X3Byb3BlcnR5KToK
KyAgICAgICAgKF9XZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGU6OndlYmtpdF93ZWJfc2V0dGluZ3Nf
Y29weSk6CisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwOgorCiAyMDA5LTEyLTE3
ICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0YXZvLm5vcm9uaGFAY29sbGFib3JhLmNvLnVr
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IFhhbiBMb3Blei4KZGlmZiAtLWdpdCBhL1dlYktpdC9n
dGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtp
dHdlYnNldHRpbmdzLmNwcAppbmRleCAxMTA0NzM4Li5kZTAwMWI4IDEwMDY0NAotLS0gYS9XZWJL
aXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5jcHAKKysrIGIvV2ViS2l0L2d0ay93ZWJr
aXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwCkBAIC00LDYgKzQsOCBAQAogICogQ29weXJpZ2h0IChD
KSAyMDA4IENvbGxhYm9yYSBMdGQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggSG9sZ2VyIEhhbnMg
UGV0ZXIgRnJleXRoZXIKICAqIENvcHlyaWdodCAoQykgMjAwOSBKYW4gTWljaGFlbCBBbG9uem8K
KyAqIENvcHlyaWdodCAoQykgMjAwOSBNb3ZpYWwgQ3JlYXRpdmUgVGVjaG5vbG9naWVzIEluYy4K
KyAqIENvcHlyaWdodCAoQykgMjAwOSBJZ2FsaWEgUy5MLgogICoKICAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBA
IC0xMDAsNiArMTAyLDcgQEAgc3RydWN0IF9XZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGUgewogICAg
IGdib29sZWFuIHRhYl9rZXlfY3ljbGVzX3Rocm91Z2hfZWxlbWVudHM7CiAgICAgZ2Jvb2xlYW4g
ZW5hYmxlX2RlZmF1bHRfY29udGV4dF9tZW51OwogICAgIGdib29sZWFuIGVuYWJsZV9zaXRlX3Nw
ZWNpZmljX3F1aXJrczsKKyAgICBnYm9vbGVhbiBlbmFibGVfcGFnZV9jYWNoZTsKIH07CiAKICNk
ZWZpbmUgV0VCS0lUX1dFQl9TRVRUSU5HU19HRVRfUFJJVkFURShvYmopIChHX1RZUEVfSU5TVEFO
Q0VfR0VUX1BSSVZBVEUoKG9iaiksIFdFQktJVF9UWVBFX1dFQl9TRVRUSU5HUywgV2ViS2l0V2Vi
U2V0dGluZ3NQcml2YXRlKSkKQEAgLTE0Myw3ICsxNDYsOCBAQCBlbnVtIHsKICAgICBQUk9QX0VO
QUJMRV9ET01fUEFTVEUsCiAgICAgUFJPUF9UQUJfS0VZX0NZQ0xFU19USFJPVUdIX0VMRU1FTlRT
LAogICAgIFBST1BfRU5BQkxFX0RFRkFVTFRfQ09OVEVYVF9NRU5VLAotICAgIFBST1BfRU5BQkxF
X1NJVEVfU1BFQ0lGSUNfUVVJUktTCisgICAgUFJPUF9FTkFCTEVfU0lURV9TUEVDSUZJQ19RVUlS
S1MsCisgICAgUFJPUF9FTkFCTEVfUEFHRV9DQUNIRQogfTsKIAogLy8gQ3JlYXRlIGEgZGVmYXVs
dCB1c2VyIGFnZW50IHN0cmluZwpAQCAtNzMyLDYgKzczNiwyOSBAQCBzdGF0aWMgdm9pZCB3ZWJr
aXRfd2ViX3NldHRpbmdzX2NsYXNzX2luaXQoV2ViS2l0V2ViU2V0dGluZ3NDbGFzcyoga2xhc3Mp
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdzKSk7CiAKKyAgICAvKioKKyAgICAqIFdlYktp
dFdlYlNldHRpbmdzOmVuYWJsZS1wYWdlLWNhY2hlOgorICAgICoKKyAgICAqIEVuYWJsZSBvciBk
aXNhYmxlIHRoZSBwYWdlIGNhY2hlLiBEaXNhYmxpbmcgdGhlIHBhZ2UgY2FjaGUgaXMKKyAgICAq
IGdlbmVyYWxseSBvbmx5IHVzZWZ1bCBmb3Igc3BlY2lhbCBjaXJjdW1zdGFuY2VzIGxpa2UgbG93
LW1lbW9yeQorICAgICogc2NlbmFyaW9zIG9yIHNwZWNpYWwgcHVycG9zZSBhcHBsaWNhdGlvbnMg
bGlrZSBzdGF0aWMgSFRNTAorICAgICogdmlld2Vycy4gVGhpcyBzZXR0aW5nIG9ubHkgY29udHJv
bHMgdGhlIFBhZ2UgQ2FjaGUsIHRoaXMgY2FjaGUKKyAgICAqIGlzIGRpZmZlcmVudCB0aGFuIHRo
ZSBkaXNrLWJhc2VkIG9yIG1lbW9yeS1iYXNlZCB0cmFkaXRpb25hbAorICAgICogcmVzb3VyY2Ug
Y2FjaGVzLCBpdHMgcG9pbnQgaXMgdG8gbWFrZSBnb2luZyBiYWNrIGFuZCBmb3J0aAorICAgICog
YmV0d2VlbiBwYWdlcyBtdWNoIGZhc3Rlci4gRm9yIGRldGFpbHMgYWJvdXQgdGhlIGRpZmZlcmVu
dCB0eXBlcworICAgICogb2YgY2FjaGVzIGFuZCB0aGVpciBwdXJwb3NlcyBzZWU6CisgICAgKiBo
dHRwOi8vd2Via2l0Lm9yZy9ibG9nLzQyNy93ZWJraXQtcGFnZS1jYWNoZS1pLXRoZS1iYXNpY3Mv
CisgICAgKgorICAgICogU2luY2U6IDEuMS4xOAorICAgICovCisgICAgZ19vYmplY3RfY2xhc3Nf
aW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0X2NsYXNzLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgUFJPUF9FTkFCTEVfUEFHRV9DQUNIRSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19ib29sZWFuKCJlbmFibGUtcGFnZS1jYWNoZSIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBfKCJFbmFibGUgcGFnZSBjYWNoZSIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiV2hldGhlciB0aGUgcGFnZSBjYWNoZSBzaG91
bGQgYmUgdXNlZCIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgVFJVRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGZsYWdzKSk7CisKICAgICBnX3R5cGVfY2xhc3NfYWRkX3By
aXZhdGUoa2xhc3MsIHNpemVvZihXZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGUpKTsKIH0KIApAQCAt
OTM3LDYgKzk2NCw5IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfc2V0dGluZ3Nfc2V0X3Byb3Bl
cnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcF9pZCwgY29uCiAgICAgY2FzZSBQUk9QX0VO
QUJMRV9TSVRFX1NQRUNJRklDX1FVSVJLUzoKICAgICAgICAgcHJpdi0+ZW5hYmxlX3NpdGVfc3Bl
Y2lmaWNfcXVpcmtzID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CiAgICAgICAgIGJyZWFr
OworICAgIGNhc2UgUFJPUF9FTkFCTEVfUEFHRV9DQUNIRToKKyAgICAgICAgcHJpdi0+ZW5hYmxl
X3BhZ2VfY2FjaGUgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKKyAgICAgICAgYnJlYWs7
CiAgICAgZGVmYXVsdDoKICAgICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lE
KG9iamVjdCwgcHJvcF9pZCwgcHNwZWMpOwogICAgICAgICBicmVhazsKQEAgLTEwNjAsNiArMTA5
MCw5IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfc2V0dGluZ3NfZ2V0X3Byb3BlcnR5KEdPYmpl
Y3QqIG9iamVjdCwgZ3VpbnQgcHJvcF9pZCwgR1ZhCiAgICAgY2FzZSBQUk9QX0VOQUJMRV9TSVRF
X1NQRUNJRklDX1FVSVJLUzoKICAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJp
di0+ZW5hYmxlX3NpdGVfc3BlY2lmaWNfcXVpcmtzKTsKICAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBQUk9QX0VOQUJMRV9QQUdFX0NBQ0hFOgorICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZh
bHVlLCBwcml2LT5lbmFibGVfcGFnZV9jYWNoZSk7CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1
bHQ6CiAgICAgICAgIEdfT0JKRUNUX1dBUk5fSU5WQUxJRF9QUk9QRVJUWV9JRChvYmplY3QsIHBy
b3BfaWQsIHBzcGVjKTsKICAgICAgICAgYnJlYWs7CkBAIC0xMTI4LDYgKzExNjEsNyBAQCBXZWJL
aXRXZWJTZXR0aW5ncyogd2Via2l0X3dlYl9zZXR0aW5nc19jb3B5KFdlYktpdFdlYlNldHRpbmdz
KiB3ZWJfc2V0dGluZ3MpCiAgICAgICAgICAgICAgICAgICJ0YWIta2V5LWN5Y2xlcy10aHJvdWdo
LWVsZW1lbnRzIiwgcHJpdi0+dGFiX2tleV9jeWNsZXNfdGhyb3VnaF9lbGVtZW50cywKICAgICAg
ICAgICAgICAgICAgImVuYWJsZS1kZWZhdWx0LWNvbnRleHQtbWVudSIsIHByaXYtPmVuYWJsZV9k
ZWZhdWx0X2NvbnRleHRfbWVudSwKICAgICAgICAgICAgICAgICAgImVuYWJsZS1zaXRlLXNwZWNp
ZmljLXF1aXJrcyIsIHByaXYtPmVuYWJsZV9zaXRlX3NwZWNpZmljX3F1aXJrcywKKyAgICAgICAg
ICAgICAgICAgImVuYWJsZS1wYWdlLWNhY2hlIiwgcHJpdi0+ZW5hYmxlX3BhZ2VfY2FjaGUsCiAg
ICAgICAgICAgICAgICAgIE5VTEwpKTsKIAogICAgIHJldHVybiBjb3B5OwpkaWZmIC0tZ2l0IGEv
V2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAgYi9XZWJLaXQvZ3RrL3dlYmtpdC93
ZWJraXR3ZWJ2aWV3LmNwcAppbmRleCBiOWM3MGM2Li5iODdlZWViIDEwMDY0NAotLS0gYS9XZWJL
aXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93
ZWJraXR3ZWJ2aWV3LmNwcApAQCAtOCw2ICs4LDcgQEAKICAqICBDb3B5cmlnaHQgKEMpIDIwMDgg
TnVhbnRpIEx0ZC4KICAqICBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgQ29sbGFib3JhIEx0ZC4K
ICAqICBDb3B5cmlnaHQgKEMpIDIwMDkgSWdhbGlhIFMuTC4KKyAqICBDb3B5cmlnaHQgKEMpIDIw
MDkgTW92aWFsIENyZWF0aXZlIFRlY2hub2xvZ2llcyBJbmMuCiAgKgogICogIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqICBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGlj
CkBAIC0yNDU4LDcgKzI0NTksNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfdXBkYXRl
X3NldHRpbmdzKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgICAgIGVuYWJsZVByaXZhdGVC
cm93c2luZywgZW5hYmxlQ2FyZXRCcm93c2luZywgZW5hYmxlSFRNTDVEYXRhYmFzZSwgZW5hYmxl
SFRNTDVMb2NhbFN0b3JhZ2UsCiAgICAgICAgIGVuYWJsZVhTU0F1ZGl0b3IsIGphdmFzY3JpcHRD
YW5PcGVuV2luZG93cywgZW5hYmxlT2ZmbGluZVdlYkFwcENhY2hlLAogICAgICAgICBlbmFibGVV
bml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSSSwgZW5hYmxlRE9NUGFzdGUsIHRhYktleUN5Y2xlc1Ro
cm91Z2hFbGVtZW50cywKLSAgICAgICAgZW5hYmxlU2l0ZVNwZWNpZmljUXVpcmtzOworICAgICAg
ICBlbmFibGVTaXRlU3BlY2lmaWNRdWlya3MsIHVzZVBhZ2VDYWNoZTsKIAogICAgIFdlYktpdEVk
aXRpbmdCZWhhdmlvciBlZGl0aW5nQmVoYXZpb3I7CiAKQEAgLTI0OTAsNiArMjQ5MSw3IEBAIHN0
YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld191cGRhdGVfc2V0dGluZ3MoV2ViS2l0V2ViVmlldyog
d2ViVmlldykKICAgICAgICAgICAgICAgICAgImVuYWJsZS1kb20tcGFzdGUiLCAmZW5hYmxlRE9N
UGFzdGUsCiAgICAgICAgICAgICAgICAgICJ0YWIta2V5LWN5Y2xlcy10aHJvdWdoLWVsZW1lbnRz
IiwgJnRhYktleUN5Y2xlc1Rocm91Z2hFbGVtZW50cywKICAgICAgICAgICAgICAgICAgImVuYWJs
ZS1zaXRlLXNwZWNpZmljLXF1aXJrcyIsICZlbmFibGVTaXRlU3BlY2lmaWNRdWlya3MsCisgICAg
ICAgICAgICAgICAgICJlbmFibGUtcGFnZS1jYWNoZSIsICZ1c2VQYWdlQ2FjaGUsCiAgICAgICAg
ICAgICAgICAgIE5VTEwpOwogCiAgICAgc2V0dGluZ3MtPnNldERlZmF1bHRUZXh0RW5jb2RpbmdO
YW1lKGRlZmF1bHRFbmNvZGluZyk7CkBAIC0yNTE4LDYgKzI1MjAsNyBAQCBzdGF0aWMgdm9pZCB3
ZWJraXRfd2ViX3ZpZXdfdXBkYXRlX3NldHRpbmdzKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAg
ICAgc2V0dGluZ3MtPnNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGVuYWJsZVVu
aXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJJKTsKICAgICBzZXR0aW5ncy0+c2V0RE9NUGFzdGVBbGxv
d2VkKGVuYWJsZURPTVBhc3RlKTsKICAgICBzZXR0aW5ncy0+c2V0TmVlZHNTaXRlU3BlY2lmaWNR
dWlya3MoZW5hYmxlU2l0ZVNwZWNpZmljUXVpcmtzKTsKKyAgICBzZXR0aW5ncy0+c2V0VXNlc1Bh
Z2VDYWNoZSh1c2VQYWdlQ2FjaGUpOwogCiAgICAgUGFnZSogcGFnZSA9IGNvcmUod2ViVmlldyk7
CiAgICAgaWYgKHBhZ2UpCkBAIC0yNjE2LDYgKzI2MTksOCBAQCBzdGF0aWMgdm9pZCB3ZWJraXRf
d2ViX3ZpZXdfc2V0dGluZ3Nfbm90aWZ5KFdlYktpdFdlYlNldHRpbmdzKiB3ZWJTZXR0aW5ncywg
R1BhcgogICAgICAgICAgICAgcGFnZS0+c2V0VGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzKGdf
dmFsdWVfZ2V0X2Jvb2xlYW4oJnZhbHVlKSk7CiAgICAgfSBlbHNlIGlmIChuYW1lID09IGdfaW50
ZXJuX3N0cmluZygiZW5hYmxlLXNpdGUtc3BlY2lmaWMtcXVpcmtzIikpCiAgICAgICAgIHNldHRp
bmdzLT5zZXROZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyhnX3ZhbHVlX2dldF9ib29sZWFuKCZ2YWx1
ZSkpOworICAgIGVsc2UgaWYgKG5hbWUgPT0gZ19pbnRlcm5fc3RyaW5nKCJlbmFibGUtcGFnZS1j
YWNoZSIpKQorICAgICAgICBzZXR0aW5ncy0+c2V0VXNlc1BhZ2VDYWNoZShnX3ZhbHVlX2dldF9i
b29sZWFuKCZ2YWx1ZSkpOwogICAgIGVsc2UgaWYgKCFnX29iamVjdF9jbGFzc19maW5kX3Byb3Bl
cnR5KEdfT0JKRUNUX0dFVF9DTEFTUyh3ZWJTZXR0aW5ncyksIG5hbWUpKQogICAgICAgICBnX3dh
cm5pbmcoIlVuZXhwZWN0ZWQgc2V0dGluZyAnJXMnIiwgbmFtZSk7CiAgICAgZ192YWx1ZV91bnNl
dCgmdmFsdWUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45142</attachid>
            <date>2009-12-18 04:01:29 -0800</date>
            <delta_ts>2009-12-19 01:51:51 -0800</delta_ts>
            <desc>Proposed patch for cache models</desc>
            <filename>cache_models.patch</filename>
            <type>text/plain</type>
            <size>6422</size>
            <attacher name="Alejandro G. Castro">alex</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
aW5kZXggZTQ2NGVlNy4uNmE1MWU1MCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAwOS0xMi0xNyAg
QWxlamFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR1RLXSBDYWNoZSBjb250cm9sIEFQSXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0MDAxCisK
KyAgICAgICAgQWRkZWQgbmV3IEFQSSB0byBzcGVjaWZ5IGNhY2hlIG1vZGVscyBmb3IgR1RLIHBv
cnQuCisKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0cHJpdmF0ZS5jcHA6CisgICAgICAgICh3ZWJr
aXRfaW5pdCk6IHNldCBhIGRlZmF1bHQgY2FjaGUgbW9kZWwuCisgICAgICAgICogd2Via2l0L3dl
YmtpdHdlYnZpZXcuY3BwOgorICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJ2aWV3Lmg6CisgICAg
ICAgICh3ZWJraXRfc2V0X2NhY2hlX21vZGVsKTogQWRkZWQgZnVuY3Rpb24uCisgICAgICAgICh3
ZWJraXRfZ2V0X2NhY2hlX21vZGVsKTogQWRkZWQgZnVuY3Rpb24uCisKIDIwMDktMTItMTcgIEd1
c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGd1c3Rhdm8ubm9yb25oYUBjb2xsYWJvcmEuY28udWs+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgWGFuIExvcGV6LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93
ZWJraXQvd2Via2l0cHJpdmF0ZS5jcHAgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2YXRl
LmNwcAppbmRleCA5NWE1NzE3Li42MDYwZDc3IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXRwcml2YXRlLmNwcAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2YXRl
LmNwcApAQCAtMjQ1LDEwICsyNDUsNyBAQCB2b2lkIHdlYmtpdF9pbml0KCkKICAgICBKU0M6Omlu
aXRpYWxpemVUaHJlYWRpbmcoKTsKICAgICBXZWJDb3JlOjpJbml0aWFsaXplTG9nZ2luZ0NoYW5u
ZWxzSWZOZWNlc3NhcnkoKTsKIAotICAgIC8vIFBhZ2UgY2FjaGUgY2FwYWNpdHkgKGluIHBhZ2Vz
KS4gQ29tbWVudCBmcm9tIE1hYyBwb3J0OgotICAgIC8vIChSZXNlYXJjaCBpbmRpY2F0ZXMgdGhh
dCB2YWx1ZSAvIHBhZ2UgZHJvcHMgc3Vic3RhbnRpYWxseSBhZnRlciAzIHBhZ2VzLikKLSAgICAv
LyBGSVhNRTogRXhwb3NlIHRoaXMgd2l0aCBhbiBBUEkgYW5kL29yIGNhbGN1bGF0ZSBiYXNlZCBv
biBhdmFpbGFibGUgcmVzb3VyY2VzCi0gICAgV2ViQ29yZTo6cGFnZUNhY2hlKCktPnNldENhcGFj
aXR5KDMpOworICAgIHdlYmtpdF9zZXRfY2FjaGVfbW9kZWwoV0VCS0lUX0NBQ0hFX01PREVMX1dF
Ql9CUk9XU0VSKTsKIAogI2lmIEVOQUJMRShEQVRBQkFTRSkKICAgICBnY2hhciogZGF0YWJhc2VE
aXJlY3RvcnkgPSBnX2J1aWxkX2ZpbGVuYW1lKGdfZ2V0X3VzZXJfZGF0YV9kaXIoKSwgIndlYmtp
dCIsICJkYXRhYmFzZXMiLCBOVUxMKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dl
YmtpdHdlYnZpZXcuY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKaW5k
ZXggYjljNzBjNi4uYmFlOTlmMiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
d2Vidmlldy5jcHAKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKQEAg
LTgsNiArOCw3IEBACiAgKiAgQ29weXJpZ2h0IChDKSAyMDA4IE51YW50aSBMdGQuCiAgKiAgQ29w
eXJpZ2h0IChDKSAyMDA4LCAyMDA5IENvbGxhYm9yYSBMdGQuCiAgKiAgQ29weXJpZ2h0IChDKSAy
MDA5IElnYWxpYSBTLkwuCisgKiAgQ29weXJpZ2h0IChDKSAyMDA5IEJvYmJ5IFBvd2VycwogICoK
ICAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCiAgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3Nl
ciBHZW5lcmFsIFB1YmxpYwpAQCAtNDAsNiArNDEsNyBAQAogI2luY2x1ZGUgIkFYT2JqZWN0Q2Fj
aGUuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIkJhY2tGb3J3YXJk
TGlzdC5oIgorI2luY2x1ZGUgIkNhY2hlLmgiCiAjaW5jbHVkZSAiQ1N0cmluZy5oIgogI2luY2x1
ZGUgIkNocm9tZUNsaWVudEd0ay5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51LmgiCkBAIC02NCw2
ICs2Niw3IEBACiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcu
aCIKICNpbmNsdWRlICJNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmgiCisjaW5jbHVkZSAi
UGFnZUNhY2hlLmgiCiAjaW5jbHVkZSAiUGFzdGVib2FyZC5oIgogI2luY2x1ZGUgIlBhc3RlYm9h
cmRIZWxwZXIuaCIKICNpbmNsdWRlICJQYXN0ZWJvYXJkSGVscGVyR3RrLmgiCkBAIC0xMTIsNiAr
MTE1LDcgQEAKICAqLwogCiBzdGF0aWMgY29uc3QgZG91YmxlIGRlZmF1bHREUEkgPSA5Ni4wOwor
c3RhdGljIFdlYktpdENhY2hlTW9kZWwgY2FjaGVNb2RlbCA9IFdFQktJVF9DQUNIRV9NT0RFTF9O
T05FOwogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CkBAIC00MDYyLDMgKzQwNjYsODEgQEAgR19DT05TVF9SRVRVUk4gZ2NoYXIqIHdlYmtpdF93ZWJf
dmlld19nZXRfaWNvbl91cmkoV2ViS2l0V2ViVmlldyogd2ViVmlldykKICAgICBwcml2LT5pY29u
VVJJID0gZ19zdHJkdXAoaWNvblVSTC51dGY4KCkuZGF0YSgpKTsKICAgICByZXR1cm4gcHJpdi0+
aWNvblVSSTsKIH0KKworLyoqCisgKiB3ZWJraXRfd2ViX3ZpZXdfc2V0X2NhY2hlX21vZGVsOgor
ICogQGNhY2hlX21vZGVsOiBhICNXZWJLaXRDYWNoZU1vZGVsCisgKgorICogU3BlY2lmaWVzIGEg
dXNhZ2UgbW9kZWwgZm9yIGEgV2ViVmlldywgd2hpY2ggV2ViS2l0IHdpbGwgdXNlIHRvCisgKiBk
ZXRlcm1pbmUgaXRzIGNhY2hpbmcgYmVoYXZpb3IuIEFsbCB3ZWIgdmlld3MgZm9sbG93IHRoZSBj
YWNoZQorICogbW9kZWwuIFRoaXMgY2FjaGUgbW9kZWwgZGV0ZXJtaW5lcyB0aGUgUkFNIGFuZCBk
aXNrIHNwYWNlIHRvIHVzZQorICogZm9yIGNhY2hpbmcgcHJldmlvdXNseSB2aWV3ZWQgY29udGVu
dCAuCisgKgorICogUmVzZWFyY2ggaW5kaWNhdGVzIHRoYXQgdXNlcnMgdGVuZCB0byBicm93c2Ug
d2l0aGluIGNsdXN0ZXJzIG9mCisgKiBkb2N1bWVudHMgdGhhdCBob2xkIHJlc291cmNlcyBpbiBj
b21tb24sIGFuZCB0byByZXZpc2l0IHByZXZpb3VzbHkKKyAqIHZpc2l0ZWQgZG9jdW1lbnRzLiBX
ZWJLaXQgYW5kIHRoZSBmcmFtZXdvcmtzIGJlbG93IGl0IGluY2x1ZGUKKyAqIGJ1aWx0LWluIGNh
Y2hlcyB0aGF0IHRha2UgYWR2YW50YWdlIG9mIHRoZXNlIHBhdHRlcm5zLAorICogc3Vic3RhbnRp
YWxseSBpbXByb3ZpbmcgZG9jdW1lbnQgbG9hZCBzcGVlZCBpbiBicm93c2luZworICogc2l0dWF0
aW9ucy4gVGhlIFdlYktpdCBjYWNoZSBtb2RlbCBjb250cm9scyB0aGUgYmVoYXZpb3JzIG9mIGFs
bCBvZgorICogdGhlc2UgY2FjaGVzLCBpbmNsdWRpbmcgZGlzayBhbmQgdGhlIHZhcmlvdXMgV2Vi
Q29yZSBjYWNoZXMuCisgKgorICogQnJvd3NlcnMgY2FuIGltcHJvdmUgZG9jdW1lbnQgbG9hZCBz
cGVlZCBzdWJzdGFudGlhbGx5IGJ5CisgKiBzcGVjaWZ5aW5nIFdFQktJVF9DQUNIRV9NT0RFTF9X
RUJfQlJPV1NFUi4gQXBwbGljYXRpb25zIHdpdGhvdXQgYQorICogYnJvd3NpbmcgaW50ZXJmYWNl
IGNhbiByZWR1Y2UgbWVtb3J5IHVzYWdlIHN1YnN0YW50aWFsbHkgYnkKKyAqIHNwZWNpZnlpbmcg
V0VCS0lUX0NBQ0hFX01PREVMX0RPQ1VNRU5UX1ZJRVdFUi4KKyAqCisgKiBTaW5jZTogMS4xLjE4
CisgKi8KK3ZvaWQgd2Via2l0X3NldF9jYWNoZV9tb2RlbChXZWJLaXRDYWNoZU1vZGVsIG1vZGVs
KQoreworICAgIGlmIChjYWNoZU1vZGVsID09IG1vZGVsKQorICAgICAgICByZXR1cm47CisKKyAg
ICAvL0ZJWE1FOiBBZGQgZGlzayBjYWNoZSBoYW5kbGluZyB3aGVuIHNvdXAgaGFzIHRoZSBBUEkK
KyAgICBndWludCBjYWNoZVRvdGFsQ2FwYWNpdHkgPSAwOworICAgIGd1aW50IGNhY2hlTWluRGVh
ZENhcGFjaXR5ID0gMDsKKyAgICBndWludCBjYWNoZU1heERlYWRDYXBhY2l0eSA9IDA7CisgICAg
Z2RvdWJsZSBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gMDsKKworICAgIGd1aW50
IHBhZ2VDYWNoZUNhcGFjaXR5ID0gMDsKKworICAgIHN3aXRjaCAobW9kZWwpIHsKKyAgICBjYXNl
IFdFQktJVF9DQUNIRV9NT0RFTF9ET0NVTUVOVF9WSUVXRVI6CisgICAgICAgIHBhZ2VDYWNoZUNh
cGFjaXR5ID0gMDsKKyAgICAgICAgY2FjaGVUb3RhbENhcGFjaXR5ID0gMDsKKyAgICAgICAgY2Fj
aGVNaW5EZWFkQ2FwYWNpdHkgPSAwOworICAgICAgICBjYWNoZU1heERlYWRDYXBhY2l0eSA9IDA7
CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgV0VCS0lUX0NBQ0hFX01PREVMX1dFQl9CUk9XU0VS
OgorICAgICAgICBwYWdlQ2FjaGVDYXBhY2l0eSA9IDM7CisgICAgICAgIGNhY2hlVG90YWxDYXBh
Y2l0eSA9IDMyICogMTAyNCAqIDEwMjQ7CisgICAgICAgIGNhY2hlTWluRGVhZENhcGFjaXR5ID0g
Y2FjaGVUb3RhbENhcGFjaXR5IC8gNDsKKyAgICAgICAgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSBj
YWNoZVRvdGFsQ2FwYWNpdHkgLyAyOworICAgICAgICBkZWFkRGVjb2RlZERhdGFEZWxldGlvbklu
dGVydmFsID0gNjA7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIGdfYXNz
ZXJ0X25vdF9yZWFjaGVkKCk7CisgICAgfQorCisgICAgY2FjaGUoKS0+c2V0Q2FwYWNpdGllcyhj
YWNoZU1pbkRlYWRDYXBhY2l0eSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIGNhY2hlVG90YWxDYXBh
Y2l0eSk7CisgICAgY2FjaGUoKS0+c2V0RGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbChk
ZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKTsKKyAgICBwYWdlQ2FjaGUoKS0+c2V0Q2Fw
YWNpdHkocGFnZUNhY2hlQ2FwYWNpdHkpOworICAgIGNhY2hlTW9kZWwgPSBtb2RlbDsKK30KKwor
LyoqCisgKiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2NhY2hlX21vZGVsOgorICoKKyAqIFJldHVybnMg
dGhlIGN1cnJlbnQgY2FjaGUgbW9kZWwuIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoaXMK
KyAqIHZhbHVlIGNoZWNrIHRoZSBkb2N1bWVudGF0aW9uIG9mIHRoZSBmdW5jdGlvbgorICogI3dl
YmtpdF93ZWJfdmlld19zZXRfY2FjaGVfbW9kZWwuCisgKgorICogUmV0dXJuIHZhbHVlOiB0aGUg
Y3VycmVudCAjV2ViS2l0Q2FjaGVNb2RlbAorICoKKyAqIFNpbmNlOiAxLjEuMTgKKyAqLworV2Vi
S2l0Q2FjaGVNb2RlbCB3ZWJraXRfZ2V0X2NhY2hlX21vZGVsKCkKK3sKKyAgICByZXR1cm4gY2Fj
aGVNb2RlbDsKK30KKwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmll
dy5oIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5oCmluZGV4IDhkZDdmMzkuLjVj
NDg4NjAgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuaAorKysg
Yi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmgKQEAgLTQ5LDYgKzQ5LDEyIEBAIHR5
cGVkZWYgZW51bSB7CiAgICAgV0VCS0lUX05BVklHQVRJT05fUkVTUE9OU0VfRE9XTkxPQUQKIH0g
V2ViS2l0TmF2aWdhdGlvblJlc3BvbnNlOwogCit0eXBlZGVmIGVudW0geworICAgIFdFQktJVF9D
QUNIRV9NT0RFTF9OT05FLAorICAgIFdFQktJVF9DQUNIRV9NT0RFTF9ET0NVTUVOVF9WSUVXRVIs
CisgICAgV0VCS0lUX0NBQ0hFX01PREVMX1dFQl9CUk9XU0VSCit9IFdlYktpdENhY2hlTW9kZWw7
CisKIHR5cGVkZWYgZW51bQogewogICAgIFdFQktJVF9XRUJfVklFV19UQVJHRVRfSU5GT19IVE1M
LApAQCAtMzcwLDYgKzM3NiwxMiBAQCB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2hpdF90ZXN0X3Jlc3Vs
dCAgICAgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgKndlYlZpZXcsCiBXRUJLSVRfQVBJ
IEdfQ09OU1RfUkVUVVJOIGdjaGFyICoKIHdlYmtpdF93ZWJfdmlld19nZXRfaWNvbl91cmkgICAg
ICAgICAgICAgICAgICAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAqd2ViVmlldyk7CiAKK1dFQktJ
VF9BUEkgdm9pZAord2Via2l0X3NldF9jYWNoZV9tb2RlbCAgICAgICAgICAgICAgICAgICAgICAg
ICAgKFdlYktpdENhY2hlTW9kZWwgICAgIGNhY2hlX21vZGVsKTsKKworV0VCS0lUX0FQSSBXZWJL
aXRDYWNoZU1vZGVsCit3ZWJraXRfZ2V0X2NhY2hlX21vZGVsICAgICAgICAgICAgICAgICAgICAg
ICAgICAodm9pZCk7CisKIEdfRU5EX0RFQ0xTCiAKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45229</attachid>
            <date>2009-12-19 01:51:51 -0800</date>
            <delta_ts>2009-12-19 02:27:35 -0800</delta_ts>
            <desc>Proposed patch cache models</desc>
            <filename>cache_models.patch</filename>
            <type>text/plain</type>
            <size>6484</size>
            <attacher name="Alejandro G. Castro">alex</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
aW5kZXggMWJjOWI4MC4uYzRiNDhmZiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAwOS0xMi0xOCAg
QWxlamFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR1RLXSBDYWNoZSBjb250cm9sIEFQSXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0MDAxCisK
KyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgQm9iYnkgUG93ZXJzIDxib2JieUBsYXB0b3Aub3Jn
PgorCisgICAgICAgIEFkZGVkIG5ldyBBUEkgdG8gc3BlY2lmeSBjYWNoZSBtb2RlbHMgZm9yIEdU
SyBwb3J0LgorCisgICAgICAgICogd2Via2l0L3dlYmtpdHByaXZhdGUuY3BwOgorICAgICAgICAo
d2Via2l0X2luaXQpOiBzZXQgYSBkZWZhdWx0IGNhY2hlIG1vZGVsLgorICAgICAgICAqIHdlYmtp
dC93ZWJraXR3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vidmlldy5oOgor
ICAgICAgICAod2Via2l0X3NldF9jYWNoZV9tb2RlbCk6IEFkZGVkIGZ1bmN0aW9uLgorICAgICAg
ICAod2Via2l0X2dldF9jYWNoZV9tb2RlbCk6IEFkZGVkIGZ1bmN0aW9uLgorCiAyMDA5LTEyLTE4
ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBH
dXN0YXZvIE5vcm9uaGEuCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2
YXRlLmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUuY3BwCmluZGV4IDdiNjEz
YmEuLmJmMGIxMDkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUu
Y3BwCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUuY3BwCkBAIC0yNDYsMTAg
KzI0Niw3IEBAIHZvaWQgd2Via2l0X2luaXQoKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGlu
ZygpOwogICAgIFdlYkNvcmU6OkluaXRpYWxpemVMb2dnaW5nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgp
OwogCi0gICAgLy8gUGFnZSBjYWNoZSBjYXBhY2l0eSAoaW4gcGFnZXMpLiBDb21tZW50IGZyb20g
TWFjIHBvcnQ6Ci0gICAgLy8gKFJlc2VhcmNoIGluZGljYXRlcyB0aGF0IHZhbHVlIC8gcGFnZSBk
cm9wcyBzdWJzdGFudGlhbGx5IGFmdGVyIDMgcGFnZXMuKQotICAgIC8vIEZJWE1FOiBFeHBvc2Ug
dGhpcyB3aXRoIGFuIEFQSSBhbmQvb3IgY2FsY3VsYXRlIGJhc2VkIG9uIGF2YWlsYWJsZSByZXNv
dXJjZXMKLSAgICBXZWJDb3JlOjpwYWdlQ2FjaGUoKS0+c2V0Q2FwYWNpdHkoMyk7CisgICAgd2Vi
a2l0X3NldF9jYWNoZV9tb2RlbChXRUJLSVRfQ0FDSEVfTU9ERUxfV0VCX0JST1dTRVIpOwogCiAj
aWYgRU5BQkxFKERBVEFCQVNFKQogICAgIGdjaGFyKiBkYXRhYmFzZURpcmVjdG9yeSA9IGdfYnVp
bGRfZmlsZW5hbWUoZ19nZXRfdXNlcl9kYXRhX2RpcigpLCAid2Via2l0IiwgImRhdGFiYXNlcyIs
IE5VTEwpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAg
Yi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAppbmRleCBiODdlZWViLi44ZGU3
ODE1IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAorKysg
Yi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcApAQCAtOSw2ICs5LDcgQEAKICAq
ICBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgQ29sbGFib3JhIEx0ZC4KICAqICBDb3B5cmlnaHQg
KEMpIDIwMDkgSWdhbGlhIFMuTC4KICAqICBDb3B5cmlnaHQgKEMpIDIwMDkgTW92aWFsIENyZWF0
aXZlIFRlY2hub2xvZ2llcyBJbmMuCisgKiAgQ29weXJpZ2h0IChDKSAyMDA5IEJvYmJ5IFBvd2Vy
cwogICoKICAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCiAgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExlc3NlciBHZW5lcmFsIFB1YmxpYwpAQCAtNDEsNiArNDIsNyBAQAogI2luY2x1ZGUgIkFYT2Jq
ZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIkJhY2tG
b3J3YXJkTGlzdC5oIgorI2luY2x1ZGUgIkNhY2hlLmgiCiAjaW5jbHVkZSAiQ1N0cmluZy5oIgog
I2luY2x1ZGUgIkNocm9tZUNsaWVudEd0ay5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51LmgiCkBA
IC02NSw2ICs2Nyw3IEBACiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKICNpbmNsdWRlICJGcmFt
ZVZpZXcuaCIKICNpbmNsdWRlICJNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmgiCisjaW5j
bHVkZSAiUGFnZUNhY2hlLmgiCiAjaW5jbHVkZSAiUGFzdGVib2FyZC5oIgogI2luY2x1ZGUgIlBh
c3RlYm9hcmRIZWxwZXIuaCIKICNpbmNsdWRlICJQYXN0ZWJvYXJkSGVscGVyR3RrLmgiCkBAIC0x
MTMsNiArMTE2LDcgQEAKICAqLwogCiBzdGF0aWMgY29uc3QgZG91YmxlIGRlZmF1bHREUEkgPSA5
Ni4wOworc3RhdGljIFdlYktpdENhY2hlTW9kZWwgY2FjaGVNb2RlbDsKIAogdXNpbmcgbmFtZXNw
YWNlIFdlYktpdDsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAtNDA2NywzICs0MDcxLDgx
IEBAIEdfQ09OU1RfUkVUVVJOIGdjaGFyKiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2ljb25fdXJpKFdl
YktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgcHJpdi0+aWNvblVSSSA9IGdfc3RyZHVwKGljb25V
UkwudXRmOCgpLmRhdGEoKSk7CiAgICAgcmV0dXJuIHByaXYtPmljb25VUkk7CiB9CisKKy8qKgor
ICogd2Via2l0X3dlYl92aWV3X3NldF9jYWNoZV9tb2RlbDoKKyAqIEBjYWNoZV9tb2RlbDogYSAj
V2ViS2l0Q2FjaGVNb2RlbAorICoKKyAqIFNwZWNpZmllcyBhIHVzYWdlIG1vZGVsIGZvciBhIFdl
YlZpZXcsIHdoaWNoIFdlYktpdCB3aWxsIHVzZSB0bworICogZGV0ZXJtaW5lIGl0cyBjYWNoaW5n
IGJlaGF2aW9yLiBBbGwgd2ViIHZpZXdzIGZvbGxvdyB0aGUgY2FjaGUKKyAqIG1vZGVsLiBUaGlz
IGNhY2hlIG1vZGVsIGRldGVybWluZXMgdGhlIFJBTSBhbmQgZGlzayBzcGFjZSB0byB1c2UKKyAq
IGZvciBjYWNoaW5nIHByZXZpb3VzbHkgdmlld2VkIGNvbnRlbnQgLgorICoKKyAqIFJlc2VhcmNo
IGluZGljYXRlcyB0aGF0IHVzZXJzIHRlbmQgdG8gYnJvd3NlIHdpdGhpbiBjbHVzdGVycyBvZgor
ICogZG9jdW1lbnRzIHRoYXQgaG9sZCByZXNvdXJjZXMgaW4gY29tbW9uLCBhbmQgdG8gcmV2aXNp
dCBwcmV2aW91c2x5CisgKiB2aXNpdGVkIGRvY3VtZW50cy4gV2ViS2l0IGFuZCB0aGUgZnJhbWV3
b3JrcyBiZWxvdyBpdCBpbmNsdWRlCisgKiBidWlsdC1pbiBjYWNoZXMgdGhhdCB0YWtlIGFkdmFu
dGFnZSBvZiB0aGVzZSBwYXR0ZXJucywKKyAqIHN1YnN0YW50aWFsbHkgaW1wcm92aW5nIGRvY3Vt
ZW50IGxvYWQgc3BlZWQgaW4gYnJvd3NpbmcKKyAqIHNpdHVhdGlvbnMuIFRoZSBXZWJLaXQgY2Fj
aGUgbW9kZWwgY29udHJvbHMgdGhlIGJlaGF2aW9ycyBvZiBhbGwgb2YKKyAqIHRoZXNlIGNhY2hl
cywgaW5jbHVkaW5nIGRpc2sgYW5kIHRoZSB2YXJpb3VzIFdlYkNvcmUgY2FjaGVzLgorICoKKyAq
IEJyb3dzZXJzIGNhbiBpbXByb3ZlIGRvY3VtZW50IGxvYWQgc3BlZWQgc3Vic3RhbnRpYWxseSBi
eQorICogc3BlY2lmeWluZyBXRUJLSVRfQ0FDSEVfTU9ERUxfV0VCX0JST1dTRVIuIEFwcGxpY2F0
aW9ucyB3aXRob3V0IGEKKyAqIGJyb3dzaW5nIGludGVyZmFjZSBjYW4gcmVkdWNlIG1lbW9yeSB1
c2FnZSBzdWJzdGFudGlhbGx5IGJ5CisgKiBzcGVjaWZ5aW5nIFdFQktJVF9DQUNIRV9NT0RFTF9E
T0NVTUVOVF9WSUVXRVIuIERlZmF1bHQgdmFsdWUgaXMKKyAqIFdFQktJVF9DQUNIRV9NT0RFTF9X
RUJfQlJPV1NFUi4KKyAqCisgKiBTaW5jZTogMS4xLjE4CisgKi8KK3ZvaWQgd2Via2l0X3NldF9j
YWNoZV9tb2RlbChXZWJLaXRDYWNoZU1vZGVsIG1vZGVsKQoreworICAgIGlmIChjYWNoZU1vZGVs
ID09IG1vZGVsKQorICAgICAgICByZXR1cm47CisKKyAgICAvL0ZJWE1FOiBBZGQgZGlzayBjYWNo
ZSBoYW5kbGluZyB3aGVuIHNvdXAgaGFzIHRoZSBBUEkKKyAgICBndWludCBjYWNoZVRvdGFsQ2Fw
YWNpdHkgPSAwOworICAgIGd1aW50IGNhY2hlTWluRGVhZENhcGFjaXR5ID0gMDsKKyAgICBndWlu
dCBjYWNoZU1heERlYWRDYXBhY2l0eSA9IDA7CisgICAgZ2RvdWJsZSBkZWFkRGVjb2RlZERhdGFE
ZWxldGlvbkludGVydmFsID0gMDsKKworICAgIGd1aW50IHBhZ2VDYWNoZUNhcGFjaXR5ID0gMDsK
KworICAgIHN3aXRjaCAobW9kZWwpIHsKKyAgICBjYXNlIFdFQktJVF9DQUNIRV9NT0RFTF9ET0NV
TUVOVF9WSUVXRVI6CisgICAgICAgIHBhZ2VDYWNoZUNhcGFjaXR5ID0gMDsKKyAgICAgICAgY2Fj
aGVUb3RhbENhcGFjaXR5ID0gMDsKKyAgICAgICAgY2FjaGVNaW5EZWFkQ2FwYWNpdHkgPSAwOwor
ICAgICAgICBjYWNoZU1heERlYWRDYXBhY2l0eSA9IDA7CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgV0VCS0lUX0NBQ0hFX01PREVMX1dFQl9CUk9XU0VSOgorICAgICAgICBwYWdlQ2FjaGVDYXBh
Y2l0eSA9IDM7CisgICAgICAgIGNhY2hlVG90YWxDYXBhY2l0eSA9IDMyICogMTAyNCAqIDEwMjQ7
CisgICAgICAgIGNhY2hlTWluRGVhZENhcGFjaXR5ID0gY2FjaGVUb3RhbENhcGFjaXR5IC8gNDsK
KyAgICAgICAgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSBjYWNoZVRvdGFsQ2FwYWNpdHkgLyAyOwor
ICAgICAgICBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gNjA7CisgICAgICAgIGJy
ZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCk7CisgICAg
fQorCisgICAgY2FjaGUoKS0+c2V0Q2FwYWNpdGllcyhjYWNoZU1pbkRlYWRDYXBhY2l0eSwgY2Fj
aGVNYXhEZWFkQ2FwYWNpdHksIGNhY2hlVG90YWxDYXBhY2l0eSk7CisgICAgY2FjaGUoKS0+c2V0
RGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbChkZWFkRGVjb2RlZERhdGFEZWxldGlvbklu
dGVydmFsKTsKKyAgICBwYWdlQ2FjaGUoKS0+c2V0Q2FwYWNpdHkocGFnZUNhY2hlQ2FwYWNpdHkp
OworICAgIGNhY2hlTW9kZWwgPSBtb2RlbDsKK30KKworLyoqCisgKiB3ZWJraXRfd2ViX3ZpZXdf
Z2V0X2NhY2hlX21vZGVsOgorICoKKyAqIFJldHVybnMgdGhlIGN1cnJlbnQgY2FjaGUgbW9kZWwu
IEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoaXMKKyAqIHZhbHVlIGNoZWNrIHRoZSBkb2N1
bWVudGF0aW9uIG9mIHRoZSBmdW5jdGlvbgorICogI3dlYmtpdF93ZWJfdmlld19zZXRfY2FjaGVf
bW9kZWwuCisgKgorICogUmV0dXJuIHZhbHVlOiB0aGUgY3VycmVudCAjV2ViS2l0Q2FjaGVNb2Rl
bAorICoKKyAqIFNpbmNlOiAxLjEuMTgKKyAqLworV2ViS2l0Q2FjaGVNb2RlbCB3ZWJraXRfZ2V0
X2NhY2hlX21vZGVsKCkKK3sKKyAgICByZXR1cm4gY2FjaGVNb2RlbDsKK30KZGlmZiAtLWdpdCBh
L1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuaCBiL1dlYktpdC9ndGsvd2Via2l0L3dl
YmtpdHdlYnZpZXcuaAppbmRleCA4ZGQ3ZjM5Li5lNjlkZTBhIDEwMDY0NAotLS0gYS9XZWJLaXQv
Z3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmgKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
d2Vidmlldy5oCkBAIC00OSw2ICs0OSwxMSBAQCB0eXBlZGVmIGVudW0gewogICAgIFdFQktJVF9O
QVZJR0FUSU9OX1JFU1BPTlNFX0RPV05MT0FECiB9IFdlYktpdE5hdmlnYXRpb25SZXNwb25zZTsK
IAordHlwZWRlZiBlbnVtIHsKKyAgICBXRUJLSVRfQ0FDSEVfTU9ERUxfRE9DVU1FTlRfVklFV0VS
ID0gMSwKKyAgICBXRUJLSVRfQ0FDSEVfTU9ERUxfV0VCX0JST1dTRVIKK30gV2ViS2l0Q2FjaGVN
b2RlbDsKKwogdHlwZWRlZiBlbnVtCiB7CiAgICAgV0VCS0lUX1dFQl9WSUVXX1RBUkdFVF9JTkZP
X0hUTUwsCkBAIC0zNzAsNiArMzc1LDEyIEBAIHdlYmtpdF93ZWJfdmlld19nZXRfaGl0X3Rlc3Rf
cmVzdWx0ICAgICAgICAgICAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAqd2ViVmlldywKIFdFQktJ
VF9BUEkgR19DT05TVF9SRVRVUk4gZ2NoYXIgKgogd2Via2l0X3dlYl92aWV3X2dldF9pY29uX3Vy
aSAgICAgICAgICAgICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICp3ZWJWaWV3KTsKIAor
V0VCS0lUX0FQSSB2b2lkCit3ZWJraXRfc2V0X2NhY2hlX21vZGVsICAgICAgICAgICAgICAgICAg
ICAgICAgICAoV2ViS2l0Q2FjaGVNb2RlbCAgICAgY2FjaGVfbW9kZWwpOworCitXRUJLSVRfQVBJ
IFdlYktpdENhY2hlTW9kZWwKK3dlYmtpdF9nZXRfY2FjaGVfbW9kZWwgICAgICAgICAgICAgICAg
ICAgICAgICAgICh2b2lkKTsKKwogR19FTkRfREVDTFMKIAogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45230</attachid>
            <date>2009-12-19 02:27:35 -0800</date>
            <delta_ts>2009-12-20 01:42:06 -0800</delta_ts>
            <desc>Cache models proposed patch</desc>
            <filename>cache_models.patch</filename>
            <type>text/plain</type>
            <size>7264</size>
            <attacher name="Alejandro G. Castro">alex</attacher>
            
              <data encoding="base64">Y29tbWl0IDZjN2RlNmRjMTNiNTMxYzA5Njg1NDdjMGI3ZTk4NGRkYzJlMWUzNWMKQXV0aG9yOiBB
bGVqYW5kcm8gRy4gQ2FzdHJvIDxhbGV4QGlnYWxpYS5jb20+CkRhdGU6ICAgRnJpIERlYyAxOCAx
MzowMDozMyAyMDA5ICswMTAwCgogICAgMjAwOS0xMi0xNyAgQWxlamFuZHJvIEcuIENhc3RybyAg
PGFsZXhAaWdhbGlhLmNvbT4KICAgIAogICAgICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KICAgIAogICAgICAgICAgICBbR1RLXSBDYWNoZSBjb250cm9sIEFQSXMKICAgICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0MDAxCiAgICAKICAg
ICAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgQm9iYnkgUG93ZXJzIDxib2JieUBsYXB0b3Aub3Jn
PgogICAgCiAgICAgICAgICAgIEFkZGVkIG5ldyBBUEkgdG8gc3BlY2lmeSBjYWNoZSBtb2RlbHMg
Zm9yIEdUSyBwb3J0LgogICAgCiAgICAgICAgICAgICogd2Via2l0L3dlYmtpdHByaXZhdGUuY3Bw
OgogICAgICAgICAgICAod2Via2l0X2luaXQpOiBzZXQgYSBkZWZhdWx0IGNhY2hlIG1vZGVsLgog
ICAgICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcDoKICAgICAgICAgICAgKiB3ZWJr
aXQvd2Via2l0d2Vidmlldy5oOgogICAgICAgICAgICAod2Via2l0X3NldF9jYWNoZV9tb2RlbCk6
IEFkZGVkIGZ1bmN0aW9uLgogICAgICAgICAgICAod2Via2l0X2dldF9jYWNoZV9tb2RlbCk6IEFk
ZGVkIGZ1bmN0aW9uLgoKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0
L2d0ay9DaGFuZ2VMb2cKaW5kZXggMWJjOWI4MC4uYzRiNDhmZiAxMDA2NDQKLS0tIGEvV2ViS2l0
L2d0ay9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBA
QAorMjAwOS0xMi0xOCAgQWxlamFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR1RLXSBDYWNo
ZSBjb250cm9sIEFQSXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTI0MDAxCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgQm9iYnkgUG93ZXJzIDxi
b2JieUBsYXB0b3Aub3JnPgorCisgICAgICAgIEFkZGVkIG5ldyBBUEkgdG8gc3BlY2lmeSBjYWNo
ZSBtb2RlbHMgZm9yIEdUSyBwb3J0LgorCisgICAgICAgICogd2Via2l0L3dlYmtpdHByaXZhdGUu
Y3BwOgorICAgICAgICAod2Via2l0X2luaXQpOiBzZXQgYSBkZWZhdWx0IGNhY2hlIG1vZGVsLgor
ICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKiB3ZWJraXQvd2Vi
a2l0d2Vidmlldy5oOgorICAgICAgICAod2Via2l0X3NldF9jYWNoZV9tb2RlbCk6IEFkZGVkIGZ1
bmN0aW9uLgorICAgICAgICAod2Via2l0X2dldF9jYWNoZV9tb2RlbCk6IEFkZGVkIGZ1bmN0aW9u
LgorCiAyMDA5LTEyLTE4ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBHdXN0YXZvIE5vcm9uaGEuCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dl
YmtpdC93ZWJraXRwcml2YXRlLmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUu
Y3BwCmluZGV4IDdiNjEzYmEuLmJmMGIxMDkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdHByaXZhdGUuY3BwCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUu
Y3BwCkBAIC0yNDYsMTAgKzI0Niw3IEBAIHZvaWQgd2Via2l0X2luaXQoKQogICAgIEpTQzo6aW5p
dGlhbGl6ZVRocmVhZGluZygpOwogICAgIFdlYkNvcmU6OkluaXRpYWxpemVMb2dnaW5nQ2hhbm5l
bHNJZk5lY2Vzc2FyeSgpOwogCi0gICAgLy8gUGFnZSBjYWNoZSBjYXBhY2l0eSAoaW4gcGFnZXMp
LiBDb21tZW50IGZyb20gTWFjIHBvcnQ6Ci0gICAgLy8gKFJlc2VhcmNoIGluZGljYXRlcyB0aGF0
IHZhbHVlIC8gcGFnZSBkcm9wcyBzdWJzdGFudGlhbGx5IGFmdGVyIDMgcGFnZXMuKQotICAgIC8v
IEZJWE1FOiBFeHBvc2UgdGhpcyB3aXRoIGFuIEFQSSBhbmQvb3IgY2FsY3VsYXRlIGJhc2VkIG9u
IGF2YWlsYWJsZSByZXNvdXJjZXMKLSAgICBXZWJDb3JlOjpwYWdlQ2FjaGUoKS0+c2V0Q2FwYWNp
dHkoMyk7CisgICAgd2Via2l0X3NldF9jYWNoZV9tb2RlbChXRUJLSVRfQ0FDSEVfTU9ERUxfV0VC
X0JST1dTRVIpOwogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQogICAgIGdjaGFyKiBkYXRhYmFzZURp
cmVjdG9yeSA9IGdfYnVpbGRfZmlsZW5hbWUoZ19nZXRfdXNlcl9kYXRhX2RpcigpLCAid2Via2l0
IiwgImRhdGFiYXNlcyIsIE5VTEwpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0d2Vidmlldy5jcHAgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAppbmRl
eCBiODdlZWViLi45N2YxOWQ1IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3
ZWJ2aWV3LmNwcAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcApAQCAt
OSw2ICs5LDcgQEAKICAqICBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgQ29sbGFib3JhIEx0ZC4K
ICAqICBDb3B5cmlnaHQgKEMpIDIwMDkgSWdhbGlhIFMuTC4KICAqICBDb3B5cmlnaHQgKEMpIDIw
MDkgTW92aWFsIENyZWF0aXZlIFRlY2hub2xvZ2llcyBJbmMuCisgKiAgQ29weXJpZ2h0IChDKSAy
MDA5IEJvYmJ5IFBvd2VycwogICoKICAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwpAQCAtNDEsNiArNDIsNyBAQAog
I2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgog
I2luY2x1ZGUgIkJhY2tGb3J3YXJkTGlzdC5oIgorI2luY2x1ZGUgIkNhY2hlLmgiCiAjaW5jbHVk
ZSAiQ1N0cmluZy5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudEd0ay5oIgogI2luY2x1ZGUgIkNv
bnRleHRNZW51LmgiCkBAIC02NSw2ICs2Nyw3IEBACiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIK
ICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJNb3VzZUV2ZW50V2l0aEhpdFRlc3RS
ZXN1bHRzLmgiCisjaW5jbHVkZSAiUGFnZUNhY2hlLmgiCiAjaW5jbHVkZSAiUGFzdGVib2FyZC5o
IgogI2luY2x1ZGUgIlBhc3RlYm9hcmRIZWxwZXIuaCIKICNpbmNsdWRlICJQYXN0ZWJvYXJkSGVs
cGVyR3RrLmgiCkBAIC0xMTMsNiArMTE2LDcgQEAKICAqLwogCiBzdGF0aWMgY29uc3QgZG91Ymxl
IGRlZmF1bHREUEkgPSA5Ni4wOworc3RhdGljIFdlYktpdENhY2hlTW9kZWwgY2FjaGVNb2RlbDsK
IAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAt
NDA2NywzICs0MDcxLDgxIEBAIEdfQ09OU1RfUkVUVVJOIGdjaGFyKiB3ZWJraXRfd2ViX3ZpZXdf
Z2V0X2ljb25fdXJpKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgcHJpdi0+aWNvblVSSSA9
IGdfc3RyZHVwKGljb25VUkwudXRmOCgpLmRhdGEoKSk7CiAgICAgcmV0dXJuIHByaXYtPmljb25V
Ukk7CiB9CisKKy8qKgorICogd2Via2l0X3dlYl92aWV3X3NldF9jYWNoZV9tb2RlbDoKKyAqIEBj
YWNoZV9tb2RlbDogYSAjV2ViS2l0Q2FjaGVNb2RlbAorICoKKyAqIFNwZWNpZmllcyBhIHVzYWdl
IG1vZGVsIGZvciBhIFdlYlZpZXcsIHdoaWNoIFdlYktpdCB3aWxsIHVzZSB0bworICogZGV0ZXJt
aW5lIGl0cyBjYWNoaW5nIGJlaGF2aW9yLiBBbGwgd2ViIHZpZXdzIGZvbGxvdyB0aGUgY2FjaGUK
KyAqIG1vZGVsLiBUaGlzIGNhY2hlIG1vZGVsIGRldGVybWluZXMgdGhlIFJBTSBhbmQgZGlzayBz
cGFjZSB0byB1c2UKKyAqIGZvciBjYWNoaW5nIHByZXZpb3VzbHkgdmlld2VkIGNvbnRlbnQgLgor
ICoKKyAqIFJlc2VhcmNoIGluZGljYXRlcyB0aGF0IHVzZXJzIHRlbmQgdG8gYnJvd3NlIHdpdGhp
biBjbHVzdGVycyBvZgorICogZG9jdW1lbnRzIHRoYXQgaG9sZCByZXNvdXJjZXMgaW4gY29tbW9u
LCBhbmQgdG8gcmV2aXNpdCBwcmV2aW91c2x5CisgKiB2aXNpdGVkIGRvY3VtZW50cy4gV2ViS2l0
IGFuZCB0aGUgZnJhbWV3b3JrcyBiZWxvdyBpdCBpbmNsdWRlCisgKiBidWlsdC1pbiBjYWNoZXMg
dGhhdCB0YWtlIGFkdmFudGFnZSBvZiB0aGVzZSBwYXR0ZXJucywKKyAqIHN1YnN0YW50aWFsbHkg
aW1wcm92aW5nIGRvY3VtZW50IGxvYWQgc3BlZWQgaW4gYnJvd3NpbmcKKyAqIHNpdHVhdGlvbnMu
IFRoZSBXZWJLaXQgY2FjaGUgbW9kZWwgY29udHJvbHMgdGhlIGJlaGF2aW9ycyBvZiBhbGwgb2YK
KyAqIHRoZXNlIGNhY2hlcywgaW5jbHVkaW5nIGRpc2sgYW5kIHRoZSB2YXJpb3VzIFdlYkNvcmUg
Y2FjaGVzLgorICoKKyAqIEJyb3dzZXJzIGNhbiBpbXByb3ZlIGRvY3VtZW50IGxvYWQgc3BlZWQg
c3Vic3RhbnRpYWxseSBieQorICogc3BlY2lmeWluZyBXRUJLSVRfQ0FDSEVfTU9ERUxfV0VCX0JS
T1dTRVIuIEFwcGxpY2F0aW9ucyB3aXRob3V0IGEKKyAqIGJyb3dzaW5nIGludGVyZmFjZSBjYW4g
cmVkdWNlIG1lbW9yeSB1c2FnZSBzdWJzdGFudGlhbGx5IGJ5CisgKiBzcGVjaWZ5aW5nIFdFQktJ
VF9DQUNIRV9NT0RFTF9ET0NVTUVOVF9WSUVXRVIuIERlZmF1bHQgdmFsdWUgaXMKKyAqIFdFQktJ
VF9DQUNIRV9NT0RFTF9XRUJfQlJPV1NFUi4KKyAqCisgKiBTaW5jZTogMS4xLjE4CisgKi8KK3Zv
aWQgd2Via2l0X3NldF9jYWNoZV9tb2RlbChXZWJLaXRDYWNoZU1vZGVsIG1vZGVsKQoreworICAg
IGlmIChjYWNoZU1vZGVsID09IG1vZGVsKQorICAgICAgICByZXR1cm47CisKKyAgICAvL0ZJWE1F
OiBBZGQgZGlzayBjYWNoZSBoYW5kbGluZyB3aGVuIHNvdXAgaGFzIHRoZSBBUEkKKyAgICBndWlu
dCBjYWNoZVRvdGFsQ2FwYWNpdHk7CisgICAgZ3VpbnQgY2FjaGVNaW5EZWFkQ2FwYWNpdHk7Cisg
ICAgZ3VpbnQgY2FjaGVNYXhEZWFkQ2FwYWNpdHk7CisgICAgZ2RvdWJsZSBkZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsOworICAgIGd1aW50IHBhZ2VDYWNoZUNhcGFjaXR5OworCisgICAg
c3dpdGNoIChtb2RlbCkgeworICAgIGNhc2UgV0VCS0lUX0NBQ0hFX01PREVMX0RPQ1VNRU5UX1ZJ
RVdFUjoKKyAgICAgICAgcGFnZUNhY2hlQ2FwYWNpdHkgPSAwOworICAgICAgICBjYWNoZVRvdGFs
Q2FwYWNpdHkgPSAwOworICAgICAgICBjYWNoZU1pbkRlYWRDYXBhY2l0eSA9IDA7CisgICAgICAg
IGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gMDsKKyAgICAgICAgZGVhZERlY29kZWREYXRhRGVsZXRp
b25JbnRlcnZhbCA9IDA7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgV0VCS0lUX0NBQ0hFX01P
REVMX1dFQl9CUk9XU0VSOgorICAgICAgICBwYWdlQ2FjaGVDYXBhY2l0eSA9IDM7CisgICAgICAg
IGNhY2hlVG90YWxDYXBhY2l0eSA9IDMyICogMTAyNCAqIDEwMjQ7CisgICAgICAgIGNhY2hlTWlu
RGVhZENhcGFjaXR5ID0gY2FjaGVUb3RhbENhcGFjaXR5IC8gNDsKKyAgICAgICAgY2FjaGVNYXhE
ZWFkQ2FwYWNpdHkgPSBjYWNoZVRvdGFsQ2FwYWNpdHkgLyAyOworICAgICAgICBkZWFkRGVjb2Rl
ZERhdGFEZWxldGlvbkludGVydmFsID0gNjA7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6
CisgICAgICAgIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCk7CisgICAgfQorCisgICAgY2FjaGUoKS0+
c2V0Q2FwYWNpdGllcyhjYWNoZU1pbkRlYWRDYXBhY2l0eSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHks
IGNhY2hlVG90YWxDYXBhY2l0eSk7CisgICAgY2FjaGUoKS0+c2V0RGVhZERlY29kZWREYXRhRGVs
ZXRpb25JbnRlcnZhbChkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKTsKKyAgICBwYWdl
Q2FjaGUoKS0+c2V0Q2FwYWNpdHkocGFnZUNhY2hlQ2FwYWNpdHkpOworICAgIGNhY2hlTW9kZWwg
PSBtb2RlbDsKK30KKworLyoqCisgKiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2NhY2hlX21vZGVsOgor
ICoKKyAqIFJldHVybnMgdGhlIGN1cnJlbnQgY2FjaGUgbW9kZWwuIEZvciBtb3JlIGluZm9ybWF0
aW9uIGFib3V0IHRoaXMKKyAqIHZhbHVlIGNoZWNrIHRoZSBkb2N1bWVudGF0aW9uIG9mIHRoZSBm
dW5jdGlvbgorICogI3dlYmtpdF93ZWJfdmlld19zZXRfY2FjaGVfbW9kZWwuCisgKgorICogUmV0
dXJuIHZhbHVlOiB0aGUgY3VycmVudCAjV2ViS2l0Q2FjaGVNb2RlbAorICoKKyAqIFNpbmNlOiAx
LjEuMTgKKyAqLworV2ViS2l0Q2FjaGVNb2RlbCB3ZWJraXRfZ2V0X2NhY2hlX21vZGVsKCkKK3sK
KyAgICByZXR1cm4gY2FjaGVNb2RlbDsKK30KZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdHdlYnZpZXcuaCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuaAppbmRl
eCA4ZGQ3ZjM5Li5lNjlkZTBhIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3
ZWJ2aWV3LmgKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5oCkBAIC00OSw2
ICs0OSwxMSBAQCB0eXBlZGVmIGVudW0gewogICAgIFdFQktJVF9OQVZJR0FUSU9OX1JFU1BPTlNF
X0RPV05MT0FECiB9IFdlYktpdE5hdmlnYXRpb25SZXNwb25zZTsKIAordHlwZWRlZiBlbnVtIHsK
KyAgICBXRUJLSVRfQ0FDSEVfTU9ERUxfRE9DVU1FTlRfVklFV0VSID0gMSwKKyAgICBXRUJLSVRf
Q0FDSEVfTU9ERUxfV0VCX0JST1dTRVIKK30gV2ViS2l0Q2FjaGVNb2RlbDsKKwogdHlwZWRlZiBl
bnVtCiB7CiAgICAgV0VCS0lUX1dFQl9WSUVXX1RBUkdFVF9JTkZPX0hUTUwsCkBAIC0zNzAsNiAr
Mzc1LDEyIEBAIHdlYmtpdF93ZWJfdmlld19nZXRfaGl0X3Rlc3RfcmVzdWx0ICAgICAgICAgICAg
IChXZWJLaXRXZWJWaWV3ICAgICAgICAqd2ViVmlldywKIFdFQktJVF9BUEkgR19DT05TVF9SRVRV
Uk4gZ2NoYXIgKgogd2Via2l0X3dlYl92aWV3X2dldF9pY29uX3VyaSAgICAgICAgICAgICAgICAg
ICAgKFdlYktpdFdlYlZpZXcgICAgICAgICp3ZWJWaWV3KTsKIAorV0VCS0lUX0FQSSB2b2lkCit3
ZWJraXRfc2V0X2NhY2hlX21vZGVsICAgICAgICAgICAgICAgICAgICAgICAgICAoV2ViS2l0Q2Fj
aGVNb2RlbCAgICAgY2FjaGVfbW9kZWwpOworCitXRUJLSVRfQVBJIFdlYktpdENhY2hlTW9kZWwK
K3dlYmtpdF9nZXRfY2FjaGVfbW9kZWwgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkKTsK
KwogR19FTkRfREVDTFMKIAogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45231</attachid>
            <date>2009-12-19 03:21:07 -0800</date>
            <delta_ts>2009-12-20 01:43:59 -0800</delta_ts>
            <desc>Clearing cache API</desc>
            <filename>clearing_cache.patch</filename>
            <type>text/plain</type>
            <size>2968</size>
            <attacher name="Alejandro G. Castro">alex</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
aW5kZXggYzRiNDhmZi4uYzEyZDgyZSAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTIsNiArMiwxOCBAQAogCiAgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCisgICAgICAgIFtHVEtdIEFkZCBtZW1vcnkgY2Fj
aGUgY2xlYXJpbmcgQVBJIHRvIEdUSy4KKworICAgICAgICBPcmlnaW5hbCBwYXRjaCBieSBLYWxs
ZSBWYWhsbWFuICA8a2FsbGUudmFobG1hbkBtb3ZpYWwuY29tPgorCisgICAgICAgICogd2Via2l0
L3dlYmtpdHdlYnZpZXcuY3BwOgorICAgICAgICAod2Via2l0X2NsZWFyX21lbW9yeV9jYWNoZSk6
IEFkZGVkLgorICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJ2aWV3Lmg6CisKKzIwMDktMTItMTcg
IEFsZWphbmRybyBHLiBDYXN0cm8gIDxhbGV4QGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAgICAgW0dUS10gQ2FjaGUgY29udHJvbCBBUElz
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDAwMQog
CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcCBiL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCmluZGV4IDk3ZjE5ZDUuLjFjOWRiNTAgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCisrKyBiL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCkBAIC0zOSwyMCArMzksMjQgQEAKICNpbmNs
dWRlICJ3ZWJraXR3ZWJiYWNrZm9yd2FyZGxpc3QuaCIKICNpbmNsdWRlICJ3ZWJraXR3ZWJoaXN0
b3J5aXRlbS5oIgogCisjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaCIKICNpbmNs
dWRlICJBWE9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNs
dWRlICJCYWNrRm9yd2FyZExpc3QuaCIKICNpbmNsdWRlICJDYWNoZS5oIgogI2luY2x1ZGUgIkNT
dHJpbmcuaCIKKyNpbmNsdWRlICJDYWNoZS5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudEd0ay5o
IgogI2luY2x1ZGUgIkNvbnRleHRNZW51LmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVDbGllbnRH
dGsuaCIKICNpbmNsdWRlICJDb250ZXh0TWVudUNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJDcm9z
c09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmgiCiAjaW5jbHVkZSAiQ3Vyc29yLmgiCiAjaW5j
bHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgogI2luY2x1ZGUg
IkRyYWdDbGllbnRHdGsuaCIKICNpbmNsdWRlICJFZGl0b3IuaCIKKyNpbmNsdWRlICJQYWdlQ2Fj
aGUuaCIKICNpbmNsdWRlICJFZGl0b3JDbGllbnRHdGsuaCIKICNpbmNsdWRlICJFdmVudEhhbmRs
ZXIuaCIKICNpbmNsdWRlICJGbG9hdFF1YWQuaCIKQEAgLTQxNDksMyArNDE1MywyNSBAQCBXZWJL
aXRDYWNoZU1vZGVsIHdlYmtpdF9nZXRfY2FjaGVfbW9kZWwoKQogewogICAgIHJldHVybiBjYWNo
ZU1vZGVsOwogfQorCisvKioKKyAqIHdlYmtpdF9jbGVhcl9jYWNoZToKKyAqCisgKiBDbGVhcnMg
Y2FjaGVkIHJlc291cmNlcy4gVXNlZnVsIGZvciBmb3JjaW5nIGEgcmVsb2FkIG9mIGFsbAorICog
cmVzb3VyY2VzLgorICoKKyAqIFNpbmNlOiAxLjEuMTgKKyAqLwordm9pZCB3ZWJraXRfY2xlYXJf
Y2FjaGUoKQoreworICAgIFdlYktpdENhY2hlTW9kZWwgbW9kZWwgPSBjYWNoZU1vZGVsOworCisg
ICAgd2Via2l0X3NldF9jYWNoZV9tb2RlbCAoV0VCS0lUX0NBQ0hFX01PREVMX0RPQ1VNRU5UX1ZJ
RVdFUik7CisgICAgd2Via2l0X3NldF9jYWNoZV9tb2RlbCAobW9kZWwpOworCisgICAgLy8gRW1w
dHkgdGhlIGFwcGxpY2F0aW9uIGNhY2hlLgorICAgIGNhY2hlU3RvcmFnZSgpLmVtcHR5KCk7CisK
KyAgICAvLyBFbXB0eSB0aGUgQ3Jvc3MtT3JpZ2luIFByZWZsaWdodCBjYWNoZQorICAgIENyb3Nz
T3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGU6OnNoYXJlZCgpLmVtcHR5KCk7Cit9CmRpZmYgLS1n
aXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmggYi9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXR3ZWJ2aWV3LmgKaW5kZXggZTY5ZGUwYS4uMzI3YjQ1ZSAxMDA2NDQKLS0tIGEvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5oCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dl
YmtpdHdlYnZpZXcuaApAQCAtMiw2ICsyLDggQEAKICAqIENvcHlyaWdodCAoQykgMjAwNyBIb2xn
ZXIgSGFucyBQZXRlciBGcmV5dGhlcgogICogQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4IEFscCBU
b2tlciA8YWxwQGF0b2tlci5jb20+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggQ29sbGFib3JhIEx0
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSBNb3ZpYWwgQ3JlYXRpdmUgVGVjaG5vbG9naWVzIElu
Yy4KKyAqIENvcHlyaWdodCAoQykgMjAwOSBJZ2FsaWEgUy5MLgogICoKICAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
CkBAIC0zODEsNiArMzgzLDkgQEAgd2Via2l0X3NldF9jYWNoZV9tb2RlbCAgICAgICAgICAgICAg
ICAgICAgICAgICAgKFdlYktpdENhY2hlTW9kZWwgICAgIGNhY2hlX21vZGUKIFdFQktJVF9BUEkg
V2ViS2l0Q2FjaGVNb2RlbAogd2Via2l0X2dldF9jYWNoZV9tb2RlbCAgICAgICAgICAgICAgICAg
ICAgICAgICAgKHZvaWQpOwogCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF9jbGVhcl9jYWNoZSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkKTsKKwogR19FTkRfREVDTFMKIAogI2Vu
ZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45261</attachid>
            <date>2009-12-20 01:42:06 -0800</date>
            <delta_ts>2009-12-20 01:56:15 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>cache_models.patch</filename>
            <type>text/plain</type>
            <size>6509</size>
            <attacher name="Alejandro G. Castro">alex</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
aW5kZXggMWJjOWI4MC4uYzRiNDhmZiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAwOS0xMi0xOCAg
QWxlamFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR1RLXSBDYWNoZSBjb250cm9sIEFQSXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0MDAxCisK
KyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgQm9iYnkgUG93ZXJzIDxib2JieUBsYXB0b3Aub3Jn
PgorCisgICAgICAgIEFkZGVkIG5ldyBBUEkgdG8gc3BlY2lmeSBjYWNoZSBtb2RlbHMgZm9yIEdU
SyBwb3J0LgorCisgICAgICAgICogd2Via2l0L3dlYmtpdHByaXZhdGUuY3BwOgorICAgICAgICAo
d2Via2l0X2luaXQpOiBzZXQgYSBkZWZhdWx0IGNhY2hlIG1vZGVsLgorICAgICAgICAqIHdlYmtp
dC93ZWJraXR3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vidmlldy5oOgor
ICAgICAgICAod2Via2l0X3NldF9jYWNoZV9tb2RlbCk6IEFkZGVkIGZ1bmN0aW9uLgorICAgICAg
ICAod2Via2l0X2dldF9jYWNoZV9tb2RlbCk6IEFkZGVkIGZ1bmN0aW9uLgorCiAyMDA5LTEyLTE4
ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBH
dXN0YXZvIE5vcm9uaGEuCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2
YXRlLmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUuY3BwCmluZGV4IDdiNjEz
YmEuLmJmMGIxMDkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUu
Y3BwCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUuY3BwCkBAIC0yNDYsMTAg
KzI0Niw3IEBAIHZvaWQgd2Via2l0X2luaXQoKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGlu
ZygpOwogICAgIFdlYkNvcmU6OkluaXRpYWxpemVMb2dnaW5nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgp
OwogCi0gICAgLy8gUGFnZSBjYWNoZSBjYXBhY2l0eSAoaW4gcGFnZXMpLiBDb21tZW50IGZyb20g
TWFjIHBvcnQ6Ci0gICAgLy8gKFJlc2VhcmNoIGluZGljYXRlcyB0aGF0IHZhbHVlIC8gcGFnZSBk
cm9wcyBzdWJzdGFudGlhbGx5IGFmdGVyIDMgcGFnZXMuKQotICAgIC8vIEZJWE1FOiBFeHBvc2Ug
dGhpcyB3aXRoIGFuIEFQSSBhbmQvb3IgY2FsY3VsYXRlIGJhc2VkIG9uIGF2YWlsYWJsZSByZXNv
dXJjZXMKLSAgICBXZWJDb3JlOjpwYWdlQ2FjaGUoKS0+c2V0Q2FwYWNpdHkoMyk7CisgICAgd2Vi
a2l0X3NldF9jYWNoZV9tb2RlbChXRUJLSVRfQ0FDSEVfTU9ERUxfV0VCX0JST1dTRVIpOwogCiAj
aWYgRU5BQkxFKERBVEFCQVNFKQogICAgIGdjaGFyKiBkYXRhYmFzZURpcmVjdG9yeSA9IGdfYnVp
bGRfZmlsZW5hbWUoZ19nZXRfdXNlcl9kYXRhX2RpcigpLCAid2Via2l0IiwgImRhdGFiYXNlcyIs
IE5VTEwpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAg
Yi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAppbmRleCBiODdlZWViLi4zYjE4
MTgwIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAorKysg
Yi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcApAQCAtOSw2ICs5LDcgQEAKICAq
ICBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgQ29sbGFib3JhIEx0ZC4KICAqICBDb3B5cmlnaHQg
KEMpIDIwMDkgSWdhbGlhIFMuTC4KICAqICBDb3B5cmlnaHQgKEMpIDIwMDkgTW92aWFsIENyZWF0
aXZlIFRlY2hub2xvZ2llcyBJbmMuCisgKiAgQ29weXJpZ2h0IChDKSAyMDA5IEJvYmJ5IFBvd2Vy
cwogICoKICAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCiAgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExlc3NlciBHZW5lcmFsIFB1YmxpYwpAQCAtNDEsNiArNDIsNyBAQAogI2luY2x1ZGUgIkFYT2Jq
ZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIkJhY2tG
b3J3YXJkTGlzdC5oIgorI2luY2x1ZGUgIkNhY2hlLmgiCiAjaW5jbHVkZSAiQ1N0cmluZy5oIgog
I2luY2x1ZGUgIkNocm9tZUNsaWVudEd0ay5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51LmgiCkBA
IC02NSw2ICs2Nyw3IEBACiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKICNpbmNsdWRlICJGcmFt
ZVZpZXcuaCIKICNpbmNsdWRlICJNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmgiCisjaW5j
bHVkZSAiUGFnZUNhY2hlLmgiCiAjaW5jbHVkZSAiUGFzdGVib2FyZC5oIgogI2luY2x1ZGUgIlBh
c3RlYm9hcmRIZWxwZXIuaCIKICNpbmNsdWRlICJQYXN0ZWJvYXJkSGVscGVyR3RrLmgiCkBAIC0x
MTMsNiArMTE2LDcgQEAKICAqLwogCiBzdGF0aWMgY29uc3QgZG91YmxlIGRlZmF1bHREUEkgPSA5
Ni4wOworc3RhdGljIFdlYktpdENhY2hlTW9kZWwgY2FjaGVNb2RlbDsKIAogdXNpbmcgbmFtZXNw
YWNlIFdlYktpdDsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAtNDA2NywzICs0MDcxLDgx
IEBAIEdfQ09OU1RfUkVUVVJOIGdjaGFyKiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2ljb25fdXJpKFdl
YktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgcHJpdi0+aWNvblVSSSA9IGdfc3RyZHVwKGljb25V
UkwudXRmOCgpLmRhdGEoKSk7CiAgICAgcmV0dXJuIHByaXYtPmljb25VUkk7CiB9CisKKy8qKgor
ICogd2Via2l0X3dlYl92aWV3X3NldF9jYWNoZV9tb2RlbDoKKyAqIEBjYWNoZV9tb2RlbDogYSAj
V2ViS2l0Q2FjaGVNb2RlbAorICoKKyAqIFNwZWNpZmllcyBhIHVzYWdlIG1vZGVsIGZvciBhIFdl
YlZpZXcsIHdoaWNoIFdlYktpdCB3aWxsIHVzZSB0bworICogZGV0ZXJtaW5lIGl0cyBjYWNoaW5n
IGJlaGF2aW9yLiBBbGwgd2ViIHZpZXdzIGZvbGxvdyB0aGUgY2FjaGUKKyAqIG1vZGVsLiBUaGlz
IGNhY2hlIG1vZGVsIGRldGVybWluZXMgdGhlIFJBTSBhbmQgZGlzayBzcGFjZSB0byB1c2UKKyAq
IGZvciBjYWNoaW5nIHByZXZpb3VzbHkgdmlld2VkIGNvbnRlbnQgLgorICoKKyAqIFJlc2VhcmNo
IGluZGljYXRlcyB0aGF0IHVzZXJzIHRlbmQgdG8gYnJvd3NlIHdpdGhpbiBjbHVzdGVycyBvZgor
ICogZG9jdW1lbnRzIHRoYXQgaG9sZCByZXNvdXJjZXMgaW4gY29tbW9uLCBhbmQgdG8gcmV2aXNp
dCBwcmV2aW91c2x5CisgKiB2aXNpdGVkIGRvY3VtZW50cy4gV2ViS2l0IGFuZCB0aGUgZnJhbWV3
b3JrcyBiZWxvdyBpdCBpbmNsdWRlCisgKiBidWlsdC1pbiBjYWNoZXMgdGhhdCB0YWtlIGFkdmFu
dGFnZSBvZiB0aGVzZSBwYXR0ZXJucywKKyAqIHN1YnN0YW50aWFsbHkgaW1wcm92aW5nIGRvY3Vt
ZW50IGxvYWQgc3BlZWQgaW4gYnJvd3NpbmcKKyAqIHNpdHVhdGlvbnMuIFRoZSBXZWJLaXQgY2Fj
aGUgbW9kZWwgY29udHJvbHMgdGhlIGJlaGF2aW9ycyBvZiBhbGwgb2YKKyAqIHRoZXNlIGNhY2hl
cywgaW5jbHVkaW5nIGRpc2sgYW5kIHRoZSB2YXJpb3VzIFdlYkNvcmUgY2FjaGVzLgorICoKKyAq
IEJyb3dzZXJzIGNhbiBpbXByb3ZlIGRvY3VtZW50IGxvYWQgc3BlZWQgc3Vic3RhbnRpYWxseSBi
eQorICogc3BlY2lmeWluZyBXRUJLSVRfQ0FDSEVfTU9ERUxfV0VCX0JST1dTRVIuIEFwcGxpY2F0
aW9ucyB3aXRob3V0IGEKKyAqIGJyb3dzaW5nIGludGVyZmFjZSBjYW4gcmVkdWNlIG1lbW9yeSB1
c2FnZSBzdWJzdGFudGlhbGx5IGJ5CisgKiBzcGVjaWZ5aW5nIFdFQktJVF9DQUNIRV9NT0RFTF9E
T0NVTUVOVF9WSUVXRVIuIERlZmF1bHQgdmFsdWUgaXMKKyAqIFdFQktJVF9DQUNIRV9NT0RFTF9X
RUJfQlJPV1NFUi4KKyAqCisgKiBTaW5jZTogMS4xLjE4CisgKi8KK3ZvaWQgd2Via2l0X3NldF9j
YWNoZV9tb2RlbChXZWJLaXRDYWNoZU1vZGVsIG1vZGVsKQoreworICAgIGlmIChjYWNoZU1vZGVs
ID09IG1vZGVsKQorICAgICAgICByZXR1cm47CisKKyAgICAvL0ZJWE1FOiBBZGQgZGlzayBjYWNo
ZSBoYW5kbGluZyB3aGVuIHNvdXAgaGFzIHRoZSBBUEkKKyAgICBndWludCBjYWNoZVRvdGFsQ2Fw
YWNpdHk7CisgICAgZ3VpbnQgY2FjaGVNaW5EZWFkQ2FwYWNpdHk7CisgICAgZ3VpbnQgY2FjaGVN
YXhEZWFkQ2FwYWNpdHk7CisgICAgZ2RvdWJsZSBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVy
dmFsOworICAgIGd1aW50IHBhZ2VDYWNoZUNhcGFjaXR5OworCisgICAgc3dpdGNoIChtb2RlbCkg
eworICAgIGNhc2UgV0VCS0lUX0NBQ0hFX01PREVMX0RPQ1VNRU5UX1ZJRVdFUjoKKyAgICAgICAg
cGFnZUNhY2hlQ2FwYWNpdHkgPSAwOworICAgICAgICBjYWNoZVRvdGFsQ2FwYWNpdHkgPSAwOwor
ICAgICAgICBjYWNoZU1pbkRlYWRDYXBhY2l0eSA9IDA7CisgICAgICAgIGNhY2hlTWF4RGVhZENh
cGFjaXR5ID0gMDsKKyAgICAgICAgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IDA7
CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgV0VCS0lUX0NBQ0hFX01PREVMX1dFQl9CUk9XU0VS
OgorICAgICAgICBwYWdlQ2FjaGVDYXBhY2l0eSA9IDM7CisgICAgICAgIGNhY2hlVG90YWxDYXBh
Y2l0eSA9IDMyICogMTAyNCAqIDEwMjQ7CisgICAgICAgIGNhY2hlTWluRGVhZENhcGFjaXR5ID0g
Y2FjaGVUb3RhbENhcGFjaXR5IC8gNDsKKyAgICAgICAgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSBj
YWNoZVRvdGFsQ2FwYWNpdHkgLyAyOworICAgICAgICBkZWFkRGVjb2RlZERhdGFEZWxldGlvbklu
dGVydmFsID0gNjA7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIGdfYXNz
ZXJ0X25vdF9yZWFjaGVkKCk7CisgICAgfQorCisgICAgY2FjaGUoKS0+c2V0Q2FwYWNpdGllcyhj
YWNoZU1pbkRlYWRDYXBhY2l0eSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIGNhY2hlVG90YWxDYXBh
Y2l0eSk7CisgICAgY2FjaGUoKS0+c2V0RGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbChk
ZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKTsKKyAgICBwYWdlQ2FjaGUoKS0+c2V0Q2Fw
YWNpdHkocGFnZUNhY2hlQ2FwYWNpdHkpOworICAgIGNhY2hlTW9kZWwgPSBtb2RlbDsKK30KKwor
LyoqCisgKiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2NhY2hlX21vZGVsOgorICoKKyAqIFJldHVybnMg
dGhlIGN1cnJlbnQgY2FjaGUgbW9kZWwuIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoaXMK
KyAqIHZhbHVlIGNoZWNrIHRoZSBkb2N1bWVudGF0aW9uIG9mIHRoZSBmdW5jdGlvbgorICogd2Vi
a2l0X3dlYl92aWV3X3NldF9jYWNoZV9tb2RlbCgpLgorICoKKyAqIFJldHVybiB2YWx1ZTogdGhl
IGN1cnJlbnQgI1dlYktpdENhY2hlTW9kZWwKKyAqCisgKiBTaW5jZTogMS4xLjE4CisgKi8KK1dl
YktpdENhY2hlTW9kZWwgd2Via2l0X2dldF9jYWNoZV9tb2RlbCgpCit7CisgICAgcmV0dXJuIGNh
Y2hlTW9kZWw7Cit9CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3
LmggYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmgKaW5kZXggOGRkN2YzOS4uZTY5
ZGUwYSAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5oCisrKyBi
L1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuaApAQCAtNDksNiArNDksMTEgQEAgdHlw
ZWRlZiBlbnVtIHsKICAgICBXRUJLSVRfTkFWSUdBVElPTl9SRVNQT05TRV9ET1dOTE9BRAogfSBX
ZWJLaXROYXZpZ2F0aW9uUmVzcG9uc2U7CiAKK3R5cGVkZWYgZW51bSB7CisgICAgV0VCS0lUX0NB
Q0hFX01PREVMX0RPQ1VNRU5UX1ZJRVdFUiA9IDEsCisgICAgV0VCS0lUX0NBQ0hFX01PREVMX1dF
Ql9CUk9XU0VSCit9IFdlYktpdENhY2hlTW9kZWw7CisKIHR5cGVkZWYgZW51bQogewogICAgIFdF
QktJVF9XRUJfVklFV19UQVJHRVRfSU5GT19IVE1MLApAQCAtMzcwLDYgKzM3NSwxMiBAQCB3ZWJr
aXRfd2ViX3ZpZXdfZ2V0X2hpdF90ZXN0X3Jlc3VsdCAgICAgICAgICAgICAoV2ViS2l0V2ViVmll
dyAgICAgICAgKndlYlZpZXcsCiBXRUJLSVRfQVBJIEdfQ09OU1RfUkVUVVJOIGdjaGFyICoKIHdl
YmtpdF93ZWJfdmlld19nZXRfaWNvbl91cmkgICAgICAgICAgICAgICAgICAgIChXZWJLaXRXZWJW
aWV3ICAgICAgICAqd2ViVmlldyk7CiAKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X3NldF9jYWNo
ZV9tb2RlbCAgICAgICAgICAgICAgICAgICAgICAgICAgKFdlYktpdENhY2hlTW9kZWwgICAgIGNh
Y2hlX21vZGVsKTsKKworV0VCS0lUX0FQSSBXZWJLaXRDYWNoZU1vZGVsCit3ZWJraXRfZ2V0X2Nh
Y2hlX21vZGVsICAgICAgICAgICAgICAgICAgICAgICAgICAodm9pZCk7CisKIEdfRU5EX0RFQ0xT
CiAKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45262</attachid>
            <date>2009-12-20 01:56:15 -0800</date>
            <delta_ts>2009-12-20 07:37:58 -0800</delta_ts>
            <desc>Cache models proposed patch</desc>
            <filename>cache_models.patch</filename>
            <type>text/plain</type>
            <size>6510</size>
            <attacher name="Alejandro G. Castro">alex</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
aW5kZXggMWJjOWI4MC4uYzRiNDhmZiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAwOS0xMi0xOCAg
QWxlamFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR1RLXSBDYWNoZSBjb250cm9sIEFQSXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0MDAxCisK
KyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgQm9iYnkgUG93ZXJzIDxib2JieUBsYXB0b3Aub3Jn
PgorCisgICAgICAgIEFkZGVkIG5ldyBBUEkgdG8gc3BlY2lmeSBjYWNoZSBtb2RlbHMgZm9yIEdU
SyBwb3J0LgorCisgICAgICAgICogd2Via2l0L3dlYmtpdHByaXZhdGUuY3BwOgorICAgICAgICAo
d2Via2l0X2luaXQpOiBzZXQgYSBkZWZhdWx0IGNhY2hlIG1vZGVsLgorICAgICAgICAqIHdlYmtp
dC93ZWJraXR3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vidmlldy5oOgor
ICAgICAgICAod2Via2l0X3NldF9jYWNoZV9tb2RlbCk6IEFkZGVkIGZ1bmN0aW9uLgorICAgICAg
ICAod2Via2l0X2dldF9jYWNoZV9tb2RlbCk6IEFkZGVkIGZ1bmN0aW9uLgorCiAyMDA5LTEyLTE4
ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBH
dXN0YXZvIE5vcm9uaGEuCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2
YXRlLmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUuY3BwCmluZGV4IDdiNjEz
YmEuLmJmMGIxMDkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUu
Y3BwCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUuY3BwCkBAIC0yNDYsMTAg
KzI0Niw3IEBAIHZvaWQgd2Via2l0X2luaXQoKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGlu
ZygpOwogICAgIFdlYkNvcmU6OkluaXRpYWxpemVMb2dnaW5nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgp
OwogCi0gICAgLy8gUGFnZSBjYWNoZSBjYXBhY2l0eSAoaW4gcGFnZXMpLiBDb21tZW50IGZyb20g
TWFjIHBvcnQ6Ci0gICAgLy8gKFJlc2VhcmNoIGluZGljYXRlcyB0aGF0IHZhbHVlIC8gcGFnZSBk
cm9wcyBzdWJzdGFudGlhbGx5IGFmdGVyIDMgcGFnZXMuKQotICAgIC8vIEZJWE1FOiBFeHBvc2Ug
dGhpcyB3aXRoIGFuIEFQSSBhbmQvb3IgY2FsY3VsYXRlIGJhc2VkIG9uIGF2YWlsYWJsZSByZXNv
dXJjZXMKLSAgICBXZWJDb3JlOjpwYWdlQ2FjaGUoKS0+c2V0Q2FwYWNpdHkoMyk7CisgICAgd2Vi
a2l0X3NldF9jYWNoZV9tb2RlbChXRUJLSVRfQ0FDSEVfTU9ERUxfV0VCX0JST1dTRVIpOwogCiAj
aWYgRU5BQkxFKERBVEFCQVNFKQogICAgIGdjaGFyKiBkYXRhYmFzZURpcmVjdG9yeSA9IGdfYnVp
bGRfZmlsZW5hbWUoZ19nZXRfdXNlcl9kYXRhX2RpcigpLCAid2Via2l0IiwgImRhdGFiYXNlcyIs
IE5VTEwpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAg
Yi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAppbmRleCBiODdlZWViLi5hNjNi
OGNjIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAorKysg
Yi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcApAQCAtOSw2ICs5LDcgQEAKICAq
ICBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgQ29sbGFib3JhIEx0ZC4KICAqICBDb3B5cmlnaHQg
KEMpIDIwMDkgSWdhbGlhIFMuTC4KICAqICBDb3B5cmlnaHQgKEMpIDIwMDkgTW92aWFsIENyZWF0
aXZlIFRlY2hub2xvZ2llcyBJbmMuCisgKiAgQ29weXJpZ2h0IChDKSAyMDA5IEJvYmJ5IFBvd2Vy
cwogICoKICAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCiAgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExlc3NlciBHZW5lcmFsIFB1YmxpYwpAQCAtNDEsNiArNDIsNyBAQAogI2luY2x1ZGUgIkFYT2Jq
ZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIkJhY2tG
b3J3YXJkTGlzdC5oIgorI2luY2x1ZGUgIkNhY2hlLmgiCiAjaW5jbHVkZSAiQ1N0cmluZy5oIgog
I2luY2x1ZGUgIkNocm9tZUNsaWVudEd0ay5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51LmgiCkBA
IC02NSw2ICs2Nyw3IEBACiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKICNpbmNsdWRlICJGcmFt
ZVZpZXcuaCIKICNpbmNsdWRlICJNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmgiCisjaW5j
bHVkZSAiUGFnZUNhY2hlLmgiCiAjaW5jbHVkZSAiUGFzdGVib2FyZC5oIgogI2luY2x1ZGUgIlBh
c3RlYm9hcmRIZWxwZXIuaCIKICNpbmNsdWRlICJQYXN0ZWJvYXJkSGVscGVyR3RrLmgiCkBAIC0x
MTMsNiArMTE2LDcgQEAKICAqLwogCiBzdGF0aWMgY29uc3QgZG91YmxlIGRlZmF1bHREUEkgPSA5
Ni4wOworc3RhdGljIFdlYktpdENhY2hlTW9kZWwgY2FjaGVNb2RlbDsKIAogdXNpbmcgbmFtZXNw
YWNlIFdlYktpdDsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAtNDA2NywzICs0MDcxLDgx
IEBAIEdfQ09OU1RfUkVUVVJOIGdjaGFyKiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2ljb25fdXJpKFdl
YktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgcHJpdi0+aWNvblVSSSA9IGdfc3RyZHVwKGljb25V
UkwudXRmOCgpLmRhdGEoKSk7CiAgICAgcmV0dXJuIHByaXYtPmljb25VUkk7CiB9CisKKy8qKgor
ICogd2Via2l0X3dlYl92aWV3X3NldF9jYWNoZV9tb2RlbDoKKyAqIEBjYWNoZV9tb2RlbDogYSAj
V2ViS2l0Q2FjaGVNb2RlbAorICoKKyAqIFNwZWNpZmllcyBhIHVzYWdlIG1vZGVsIGZvciBhIFdl
YlZpZXcsIHdoaWNoIFdlYktpdCB3aWxsIHVzZSB0bworICogZGV0ZXJtaW5lIGl0cyBjYWNoaW5n
IGJlaGF2aW9yLiBBbGwgd2ViIHZpZXdzIGZvbGxvdyB0aGUgY2FjaGUKKyAqIG1vZGVsLiBUaGlz
IGNhY2hlIG1vZGVsIGRldGVybWluZXMgdGhlIFJBTSBhbmQgZGlzayBzcGFjZSB0byB1c2UKKyAq
IGZvciBjYWNoaW5nIHByZXZpb3VzbHkgdmlld2VkIGNvbnRlbnQgLgorICoKKyAqIFJlc2VhcmNo
IGluZGljYXRlcyB0aGF0IHVzZXJzIHRlbmQgdG8gYnJvd3NlIHdpdGhpbiBjbHVzdGVycyBvZgor
ICogZG9jdW1lbnRzIHRoYXQgaG9sZCByZXNvdXJjZXMgaW4gY29tbW9uLCBhbmQgdG8gcmV2aXNp
dCBwcmV2aW91c2x5CisgKiB2aXNpdGVkIGRvY3VtZW50cy4gV2ViS2l0IGFuZCB0aGUgZnJhbWV3
b3JrcyBiZWxvdyBpdCBpbmNsdWRlCisgKiBidWlsdC1pbiBjYWNoZXMgdGhhdCB0YWtlIGFkdmFu
dGFnZSBvZiB0aGVzZSBwYXR0ZXJucywKKyAqIHN1YnN0YW50aWFsbHkgaW1wcm92aW5nIGRvY3Vt
ZW50IGxvYWQgc3BlZWQgaW4gYnJvd3NpbmcKKyAqIHNpdHVhdGlvbnMuIFRoZSBXZWJLaXQgY2Fj
aGUgbW9kZWwgY29udHJvbHMgdGhlIGJlaGF2aW9ycyBvZiBhbGwgb2YKKyAqIHRoZXNlIGNhY2hl
cywgaW5jbHVkaW5nIGRpc2sgYW5kIHRoZSB2YXJpb3VzIFdlYkNvcmUgY2FjaGVzLgorICoKKyAq
IEJyb3dzZXJzIGNhbiBpbXByb3ZlIGRvY3VtZW50IGxvYWQgc3BlZWQgc3Vic3RhbnRpYWxseSBi
eQorICogc3BlY2lmeWluZyBXRUJLSVRfQ0FDSEVfTU9ERUxfV0VCX0JST1dTRVIuIEFwcGxpY2F0
aW9ucyB3aXRob3V0IGEKKyAqIGJyb3dzaW5nIGludGVyZmFjZSBjYW4gcmVkdWNlIG1lbW9yeSB1
c2FnZSBzdWJzdGFudGlhbGx5IGJ5CisgKiBzcGVjaWZ5aW5nIFdFQktJVF9DQUNIRV9NT0RFTF9E
T0NVTUVOVF9WSUVXRVIuIERlZmF1bHQgdmFsdWUgaXMKKyAqIFdFQktJVF9DQUNIRV9NT0RFTF9X
RUJfQlJPV1NFUi4KKyAqCisgKiBTaW5jZTogMS4xLjE4CisgKi8KK3ZvaWQgd2Via2l0X3NldF9j
YWNoZV9tb2RlbChXZWJLaXRDYWNoZU1vZGVsIG1vZGVsKQoreworICAgIGlmIChjYWNoZU1vZGVs
ID09IG1vZGVsKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBGSVhNRTogQWRkIGRpc2sgY2Fj
aGUgaGFuZGxpbmcgd2hlbiBzb3VwIGhhcyB0aGUgQVBJCisgICAgZ3VpbnQgY2FjaGVUb3RhbENh
cGFjaXR5OworICAgIGd1aW50IGNhY2hlTWluRGVhZENhcGFjaXR5OworICAgIGd1aW50IGNhY2hl
TWF4RGVhZENhcGFjaXR5OworICAgIGdkb3VibGUgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRl
cnZhbDsKKyAgICBndWludCBwYWdlQ2FjaGVDYXBhY2l0eTsKKworICAgIHN3aXRjaCAobW9kZWwp
IHsKKyAgICBjYXNlIFdFQktJVF9DQUNIRV9NT0RFTF9ET0NVTUVOVF9WSUVXRVI6CisgICAgICAg
IHBhZ2VDYWNoZUNhcGFjaXR5ID0gMDsKKyAgICAgICAgY2FjaGVUb3RhbENhcGFjaXR5ID0gMDsK
KyAgICAgICAgY2FjaGVNaW5EZWFkQ2FwYWNpdHkgPSAwOworICAgICAgICBjYWNoZU1heERlYWRD
YXBhY2l0eSA9IDA7CisgICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSAw
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIFdFQktJVF9DQUNIRV9NT0RFTF9XRUJfQlJPV1NF
UjoKKyAgICAgICAgcGFnZUNhY2hlQ2FwYWNpdHkgPSAzOworICAgICAgICBjYWNoZVRvdGFsQ2Fw
YWNpdHkgPSAzMiAqIDEwMjQgKiAxMDI0OworICAgICAgICBjYWNoZU1pbkRlYWRDYXBhY2l0eSA9
IGNhY2hlVG90YWxDYXBhY2l0eSAvIDQ7CisgICAgICAgIGNhY2hlTWF4RGVhZENhcGFjaXR5ID0g
Y2FjaGVUb3RhbENhcGFjaXR5IC8gMjsKKyAgICAgICAgZGVhZERlY29kZWREYXRhRGVsZXRpb25J
bnRlcnZhbCA9IDYwOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBnX2Fz
c2VydF9ub3RfcmVhY2hlZCgpOworICAgIH0KKworICAgIGNhY2hlKCktPnNldENhcGFjaXRpZXMo
Y2FjaGVNaW5EZWFkQ2FwYWNpdHksIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBjYWNoZVRvdGFsQ2Fw
YWNpdHkpOworICAgIGNhY2hlKCktPnNldERlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwo
ZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCk7CisgICAgcGFnZUNhY2hlKCktPnNldENh
cGFjaXR5KHBhZ2VDYWNoZUNhcGFjaXR5KTsKKyAgICBjYWNoZU1vZGVsID0gbW9kZWw7Cit9CisK
Ky8qKgorICogd2Via2l0X3dlYl92aWV3X2dldF9jYWNoZV9tb2RlbDoKKyAqCisgKiBSZXR1cm5z
IHRoZSBjdXJyZW50IGNhY2hlIG1vZGVsLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGlz
CisgKiB2YWx1ZSBjaGVjayB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGUgZnVuY3Rpb24KKyAqIHdl
YmtpdF93ZWJfdmlld19zZXRfY2FjaGVfbW9kZWwoKS4KKyAqCisgKiBSZXR1cm4gdmFsdWU6IHRo
ZSBjdXJyZW50ICNXZWJLaXRDYWNoZU1vZGVsCisgKgorICogU2luY2U6IDEuMS4xOAorICovCitX
ZWJLaXRDYWNoZU1vZGVsIHdlYmtpdF9nZXRfY2FjaGVfbW9kZWwoKQoreworICAgIHJldHVybiBj
YWNoZU1vZGVsOworfQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmll
dy5oIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5oCmluZGV4IDhkZDdmMzkuLmU2
OWRlMGEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuaAorKysg
Yi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmgKQEAgLTQ5LDYgKzQ5LDExIEBAIHR5
cGVkZWYgZW51bSB7CiAgICAgV0VCS0lUX05BVklHQVRJT05fUkVTUE9OU0VfRE9XTkxPQUQKIH0g
V2ViS2l0TmF2aWdhdGlvblJlc3BvbnNlOwogCit0eXBlZGVmIGVudW0geworICAgIFdFQktJVF9D
QUNIRV9NT0RFTF9ET0NVTUVOVF9WSUVXRVIgPSAxLAorICAgIFdFQktJVF9DQUNIRV9NT0RFTF9X
RUJfQlJPV1NFUgorfSBXZWJLaXRDYWNoZU1vZGVsOworCiB0eXBlZGVmIGVudW0KIHsKICAgICBX
RUJLSVRfV0VCX1ZJRVdfVEFSR0VUX0lORk9fSFRNTCwKQEAgLTM3MCw2ICszNzUsMTIgQEAgd2Vi
a2l0X3dlYl92aWV3X2dldF9oaXRfdGVzdF9yZXN1bHQgICAgICAgICAgICAgKFdlYktpdFdlYlZp
ZXcgICAgICAgICp3ZWJWaWV3LAogV0VCS0lUX0FQSSBHX0NPTlNUX1JFVFVSTiBnY2hhciAqCiB3
ZWJraXRfd2ViX3ZpZXdfZ2V0X2ljb25fdXJpICAgICAgICAgICAgICAgICAgICAoV2ViS2l0V2Vi
VmlldyAgICAgICAgKndlYlZpZXcpOwogCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF9zZXRfY2Fj
aGVfbW9kZWwgICAgICAgICAgICAgICAgICAgICAgICAgIChXZWJLaXRDYWNoZU1vZGVsICAgICBj
YWNoZV9tb2RlbCk7CisKK1dFQktJVF9BUEkgV2ViS2l0Q2FjaGVNb2RlbAord2Via2l0X2dldF9j
YWNoZV9tb2RlbCAgICAgICAgICAgICAgICAgICAgICAgICAgKHZvaWQpOworCiBHX0VORF9ERUNM
UwogCiAjZW5kaWYK
</data>
<flag name="review"
          id="27268"
          type_id="1"
          status="-"
          setter="xan.lopez"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45279</attachid>
            <date>2009-12-20 07:37:58 -0800</date>
            <delta_ts>2009-12-20 07:53:45 -0800</delta_ts>
            <desc>Cache models proposed patch</desc>
            <filename>cache_models.patch</filename>
            <type>text/plain</type>
            <size>6378</size>
            <attacher name="Alejandro G. Castro">alex</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
aW5kZXggODg3YTc2My4uNjg5YTE5MCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAwOS0xMi0yMCAg
QWxlamFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR1RLXSBDYWNoZSBjb250cm9sIEFQSXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0MDAxCisK
KyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgQm9iYnkgUG93ZXJzIDxib2JieUBsYXB0b3Aub3Jn
PgorCisgICAgICAgIEFkZGVkIG5ldyBBUEkgdG8gc3BlY2lmeSBjYWNoZSBtb2RlbHMgZm9yIEdU
SyBwb3J0LgorCisgICAgICAgICogd2Via2l0L3dlYmtpdHByaXZhdGUuY3BwOgorICAgICAgICAo
d2Via2l0X2luaXQpOiBzZXQgYSBkZWZhdWx0IGNhY2hlIG1vZGVsLgorICAgICAgICAqIHdlYmtp
dC93ZWJraXR3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vidmlldy5oOgor
ICAgICAgICAod2Via2l0X3NldF9jYWNoZV9tb2RlbCk6IEFkZGVkIGZ1bmN0aW9uLgorICAgICAg
ICAod2Via2l0X2dldF9jYWNoZV9tb2RlbCk6IEFkZGVkIGZ1bmN0aW9uLgorCiAyMDA5LTEyLTIw
ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBH
dXN0YXZvIE5vcm9uaGEuCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2
YXRlLmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUuY3BwCmluZGV4IGE3NWJm
OWEuLmZlODFlMzYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUu
Y3BwCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUuY3BwCkBAIC0yNTQsNyAr
MjU0LDcgQEAgdm9pZCB3ZWJraXRfaW5pdCgpCiAgICAgLy8gUGFnZSBjYWNoZSBjYXBhY2l0eSAo
aW4gcGFnZXMpLiBDb21tZW50IGZyb20gTWFjIHBvcnQ6CiAgICAgLy8gKFJlc2VhcmNoIGluZGlj
YXRlcyB0aGF0IHZhbHVlIC8gcGFnZSBkcm9wcyBzdWJzdGFudGlhbGx5IGFmdGVyIDMgcGFnZXMu
KQogICAgIC8vIEZJWE1FOiBFeHBvc2UgdGhpcyB3aXRoIGFuIEFQSSBhbmQvb3IgY2FsY3VsYXRl
IGJhc2VkIG9uIGF2YWlsYWJsZSByZXNvdXJjZXMKLSAgICBXZWJDb3JlOjpwYWdlQ2FjaGUoKS0+
c2V0Q2FwYWNpdHkoMyk7CisgICAgd2Via2l0X3NldF9jYWNoZV9tb2RlbChXRUJLSVRfQ0FDSEVf
TU9ERUxfV0VCX0JST1dTRVIpOwogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQogICAgIGdjaGFyKiBk
YXRhYmFzZURpcmVjdG9yeSA9IGdfYnVpbGRfZmlsZW5hbWUoZ19nZXRfdXNlcl9kYXRhX2Rpcigp
LCAid2Via2l0IiwgImRhdGFiYXNlcyIsIE5VTEwpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93
ZWJraXQvd2Via2l0d2Vidmlldy5jcHAgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3
LmNwcAppbmRleCBiODdlZWViLi4yZDJlNmU3IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXR3ZWJ2aWV3LmNwcAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3
LmNwcApAQCAtOSw2ICs5LDcgQEAKICAqICBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgQ29sbGFi
b3JhIEx0ZC4KICAqICBDb3B5cmlnaHQgKEMpIDIwMDkgSWdhbGlhIFMuTC4KICAqICBDb3B5cmln
aHQgKEMpIDIwMDkgTW92aWFsIENyZWF0aXZlIFRlY2hub2xvZ2llcyBJbmMuCisgKiAgQ29weXJp
Z2h0IChDKSAyMDA5IEJvYmJ5IFBvd2VycwogICoKICAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiAgbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwpAQCAtNDEsNiAr
NDIsNyBAQAogI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1l
bnRlZC5oIgogI2luY2x1ZGUgIkJhY2tGb3J3YXJkTGlzdC5oIgorI2luY2x1ZGUgIkNhY2hlLmgi
CiAjaW5jbHVkZSAiQ1N0cmluZy5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudEd0ay5oIgogI2lu
Y2x1ZGUgIkNvbnRleHRNZW51LmgiCkBAIC02NSw2ICs2Nyw3IEBACiAjaW5jbHVkZSAiRnJhbWVM
b2FkZXIuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJNb3VzZUV2ZW50V2l0
aEhpdFRlc3RSZXN1bHRzLmgiCisjaW5jbHVkZSAiUGFnZUNhY2hlLmgiCiAjaW5jbHVkZSAiUGFz
dGVib2FyZC5oIgogI2luY2x1ZGUgIlBhc3RlYm9hcmRIZWxwZXIuaCIKICNpbmNsdWRlICJQYXN0
ZWJvYXJkSGVscGVyR3RrLmgiCkBAIC0xMTMsNiArMTE2LDcgQEAKICAqLwogCiBzdGF0aWMgY29u
c3QgZG91YmxlIGRlZmF1bHREUEkgPSA5Ni4wOworc3RhdGljIFdlYktpdENhY2hlTW9kZWwgY2Fj
aGVNb2RlbDsKIAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwpAQCAtNDA2NywzICs0MDcxLDgxIEBAIEdfQ09OU1RfUkVUVVJOIGdjaGFyKiB3ZWJraXRf
d2ViX3ZpZXdfZ2V0X2ljb25fdXJpKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgcHJpdi0+
aWNvblVSSSA9IGdfc3RyZHVwKGljb25VUkwudXRmOCgpLmRhdGEoKSk7CiAgICAgcmV0dXJuIHBy
aXYtPmljb25VUkk7CiB9CisKKy8qKgorICogd2Via2l0X3NldF9jYWNoZV9tb2RlbDoKKyAqIEBj
YWNoZV9tb2RlbDogYSAjV2ViS2l0Q2FjaGVNb2RlbAorICoKKyAqIFNwZWNpZmllcyBhIHVzYWdl
IG1vZGVsIGZvciBXZWJWaWV3cywgd2hpY2ggV2ViS2l0IHdpbGwgdXNlIHRvCisgKiBkZXRlcm1p
bmUgaXRzIGNhY2hpbmcgYmVoYXZpb3IuIEFsbCB3ZWIgdmlld3MgZm9sbG93IHRoZSBjYWNoZQor
ICogbW9kZWwuIFRoaXMgY2FjaGUgbW9kZWwgZGV0ZXJtaW5lcyB0aGUgUkFNIGFuZCBkaXNrIHNw
YWNlIHRvIHVzZQorICogZm9yIGNhY2hpbmcgcHJldmlvdXNseSB2aWV3ZWQgY29udGVudCAuCisg
KgorICogUmVzZWFyY2ggaW5kaWNhdGVzIHRoYXQgdXNlcnMgdGVuZCB0byBicm93c2Ugd2l0aGlu
IGNsdXN0ZXJzIG9mCisgKiBkb2N1bWVudHMgdGhhdCBob2xkIHJlc291cmNlcyBpbiBjb21tb24s
IGFuZCB0byByZXZpc2l0IHByZXZpb3VzbHkKKyAqIHZpc2l0ZWQgZG9jdW1lbnRzLiBXZWJLaXQg
YW5kIHRoZSBmcmFtZXdvcmtzIGJlbG93IGl0IGluY2x1ZGUKKyAqIGJ1aWx0LWluIGNhY2hlcyB0
aGF0IHRha2UgYWR2YW50YWdlIG9mIHRoZXNlIHBhdHRlcm5zLAorICogc3Vic3RhbnRpYWxseSBp
bXByb3ZpbmcgZG9jdW1lbnQgbG9hZCBzcGVlZCBpbiBicm93c2luZworICogc2l0dWF0aW9ucy4g
VGhlIFdlYktpdCBjYWNoZSBtb2RlbCBjb250cm9scyB0aGUgYmVoYXZpb3JzIG9mIGFsbCBvZgor
ICogdGhlc2UgY2FjaGVzLCBpbmNsdWRpbmcgdmFyaW91cyBXZWJDb3JlIGNhY2hlcy4KKyAqCisg
KiBCcm93c2VycyBjYW4gaW1wcm92ZSBkb2N1bWVudCBsb2FkIHNwZWVkIHN1YnN0YW50aWFsbHkg
YnkKKyAqIHNwZWNpZnlpbmcgV0VCS0lUX0NBQ0hFX01PREVMX1dFQl9CUk9XU0VSLiBBcHBsaWNh
dGlvbnMgd2l0aG91dCBhCisgKiBicm93c2luZyBpbnRlcmZhY2UgY2FuIHJlZHVjZSBtZW1vcnkg
dXNhZ2Ugc3Vic3RhbnRpYWxseSBieQorICogc3BlY2lmeWluZyBXRUJLSVRfQ0FDSEVfTU9ERUxf
RE9DVU1FTlRfVklFV0VSLiBEZWZhdWx0IHZhbHVlIGlzCisgKiBXRUJLSVRfQ0FDSEVfTU9ERUxf
V0VCX0JST1dTRVIuCisgKgorICogU2luY2U6IDEuMS4xOAorICovCit2b2lkIHdlYmtpdF9zZXRf
Y2FjaGVfbW9kZWwoV2ViS2l0Q2FjaGVNb2RlbCBtb2RlbCkKK3sKKyAgICBpZiAoY2FjaGVNb2Rl
bCA9PSBtb2RlbCkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gRklYTUU6IEFkZCBkaXNrIGNh
Y2hlIGhhbmRsaW5nIHdoZW4gc291cCBoYXMgdGhlIEFQSQorICAgIGd1aW50IGNhY2hlVG90YWxD
YXBhY2l0eTsKKyAgICBndWludCBjYWNoZU1pbkRlYWRDYXBhY2l0eTsKKyAgICBndWludCBjYWNo
ZU1heERlYWRDYXBhY2l0eTsKKyAgICBnZG91YmxlIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50
ZXJ2YWw7CisgICAgZ3VpbnQgcGFnZUNhY2hlQ2FwYWNpdHk7CisKKyAgICBzd2l0Y2ggKG1vZGVs
KSB7CisgICAgY2FzZSBXRUJLSVRfQ0FDSEVfTU9ERUxfRE9DVU1FTlRfVklFV0VSOgorICAgICAg
ICBwYWdlQ2FjaGVDYXBhY2l0eSA9IDA7CisgICAgICAgIGNhY2hlVG90YWxDYXBhY2l0eSA9IDA7
CisgICAgICAgIGNhY2hlTWluRGVhZENhcGFjaXR5ID0gMDsKKyAgICAgICAgY2FjaGVNYXhEZWFk
Q2FwYWNpdHkgPSAwOworICAgICAgICBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0g
MDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBXRUJLSVRfQ0FDSEVfTU9ERUxfV0VCX0JST1dT
RVI6CisgICAgICAgIHBhZ2VDYWNoZUNhcGFjaXR5ID0gMzsKKyAgICAgICAgY2FjaGVUb3RhbENh
cGFjaXR5ID0gMzIgKiAxMDI0ICogMTAyNDsKKyAgICAgICAgY2FjaGVNaW5EZWFkQ2FwYWNpdHkg
PSBjYWNoZVRvdGFsQ2FwYWNpdHkgLyA0OworICAgICAgICBjYWNoZU1heERlYWRDYXBhY2l0eSA9
IGNhY2hlVG90YWxDYXBhY2l0eSAvIDI7CisgICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9u
SW50ZXJ2YWwgPSA2MDsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgZ19y
ZXR1cm5faWZfcmVhY2hlZCgpOworICAgIH0KKworICAgIGNhY2hlKCktPnNldENhcGFjaXRpZXMo
Y2FjaGVNaW5EZWFkQ2FwYWNpdHksIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBjYWNoZVRvdGFsQ2Fw
YWNpdHkpOworICAgIGNhY2hlKCktPnNldERlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwo
ZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCk7CisgICAgcGFnZUNhY2hlKCktPnNldENh
cGFjaXR5KHBhZ2VDYWNoZUNhcGFjaXR5KTsKKyAgICBjYWNoZU1vZGVsID0gbW9kZWw7Cit9CisK
Ky8qKgorICogd2Via2l0X2dldF9jYWNoZV9tb2RlbDoKKyAqCisgKiBSZXR1cm5zIHRoZSBjdXJy
ZW50IGNhY2hlIG1vZGVsLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGlzCisgKiB2YWx1
ZSBjaGVjayB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGUgZnVuY3Rpb24KKyAqIHdlYmtpdF9zZXRf
Y2FjaGVfbW9kZWwoKS4KKyAqCisgKiBSZXR1cm4gdmFsdWU6IHRoZSBjdXJyZW50ICNXZWJLaXRD
YWNoZU1vZGVsCisgKgorICogU2luY2U6IDEuMS4xOAorICovCitXZWJLaXRDYWNoZU1vZGVsIHdl
YmtpdF9nZXRfY2FjaGVfbW9kZWwoKQoreworICAgIHJldHVybiBjYWNoZU1vZGVsOworfQpkaWZm
IC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5oIGIvV2ViS2l0L2d0ay93
ZWJraXQvd2Via2l0d2Vidmlldy5oCmluZGV4IDhkZDdmMzkuLmU2OWRlMGEgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuaAorKysgYi9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXR3ZWJ2aWV3LmgKQEAgLTQ5LDYgKzQ5LDExIEBAIHR5cGVkZWYgZW51bSB7CiAgICAg
V0VCS0lUX05BVklHQVRJT05fUkVTUE9OU0VfRE9XTkxPQUQKIH0gV2ViS2l0TmF2aWdhdGlvblJl
c3BvbnNlOwogCit0eXBlZGVmIGVudW0geworICAgIFdFQktJVF9DQUNIRV9NT0RFTF9ET0NVTUVO
VF9WSUVXRVIgPSAxLAorICAgIFdFQktJVF9DQUNIRV9NT0RFTF9XRUJfQlJPV1NFUgorfSBXZWJL
aXRDYWNoZU1vZGVsOworCiB0eXBlZGVmIGVudW0KIHsKICAgICBXRUJLSVRfV0VCX1ZJRVdfVEFS
R0VUX0lORk9fSFRNTCwKQEAgLTM3MCw2ICszNzUsMTIgQEAgd2Via2l0X3dlYl92aWV3X2dldF9o
aXRfdGVzdF9yZXN1bHQgICAgICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICp3ZWJWaWV3
LAogV0VCS0lUX0FQSSBHX0NPTlNUX1JFVFVSTiBnY2hhciAqCiB3ZWJraXRfd2ViX3ZpZXdfZ2V0
X2ljb25fdXJpICAgICAgICAgICAgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgKndlYlZp
ZXcpOwogCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF9zZXRfY2FjaGVfbW9kZWwgICAgICAgICAg
ICAgICAgICAgICAgICAgIChXZWJLaXRDYWNoZU1vZGVsICAgICBjYWNoZV9tb2RlbCk7CisKK1dF
QktJVF9BUEkgV2ViS2l0Q2FjaGVNb2RlbAord2Via2l0X2dldF9jYWNoZV9tb2RlbCAgICAgICAg
ICAgICAgICAgICAgICAgICAgKHZvaWQpOworCiBHX0VORF9ERUNMUwogCiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>