<?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>54887</bug_id>
          
          <creation_ts>2011-02-21 09:23:17 -0800</creation_ts>
          <short_desc>[Qt] High memory usage for accelerating compositing html layers</short_desc>
          <delta_ts>2011-02-25 12:03:45 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>S60 Hardware</rep_platform>
          <op_sys>S60 3rd edition</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Misha">mtutunik</reporter>
          <assigned_to name="Misha">mtutunik</assigned_to>
          <cc>abarth</cc>
    
    <cc>ademar</cc>
    
    <cc>benjamin</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>noam</cc>
    
    <cc>ostap73</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>354631</commentid>
    <comment_count>0</comment_count>
    <who name="Misha">mtutunik</who>
    <bug_when>2011-02-21 09:23:17 -0800</bug_when>
    <thetext>Qt accelerating compositing uses QPixmapCache. When web site has a big accelerating compositing layer on devices with low memory we can reach the QPixmapCache limit very fast. In this case pixmap is dropped from QPixmapCache and getting re-allocated on every paint. This makes performance very bad. 
Increasing  QPixmapCache limit wouldn&apos;t help in this case since we run out of graphics memory. In the same time those html layers are quite simple and render fast without any cache on graphics accelerated hardware. 
I propose to disable html layer cache in this case. It will still allow to remove dynamic content from tiled backing store with AC and keep AC memory requirements low.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354635</commentid>
    <comment_count>1</comment_count>
      <attachid>83172</attachid>
    <who name="Misha">mtutunik</who>
    <bug_when>2011-02-21 09:33:52 -0800</bug_when>
    <thetext>Created attachment 83172
patch to address the issue

Patch to address the issue with hight memory usage for AC</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354637</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-21 09:34:47 -0800</bug_when>
    <thetext>Attachment 83172 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:210:  The parameter name &quot;painter&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:210:  The parameter name &quot;region&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:648:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
Source/WebKit/qt/Api/qwebpage.cpp:1177:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
Source/WebKit/qt/ChangeLog:6:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 5 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354643</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-21 09:45:04 -0800</bug_when>
    <thetext>Attachment 83172 did not build on chromium:
Build output: http://queues.webkit.org/results/7935953</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354645</commentid>
    <comment_count>4</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-02-21 09:47:03 -0800</bug_when>
    <thetext>Attachment 83172 did not build on qt:
Build output: http://queues.webkit.org/results/7935954</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354655</commentid>
    <comment_count>5</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-21 10:01:16 -0800</bug_when>
    <thetext>Attachment 83172 did not build on win:
Build output: http://queues.webkit.org/results/7938872</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354682</commentid>
    <comment_count>6</comment_count>
      <attachid>83188</attachid>
    <who name="Misha">mtutunik</who>
    <bug_when>2011-02-21 10:45:08 -0800</bug_when>
    <thetext>Created attachment 83188
addressed style and build issues</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355137</commentid>
    <comment_count>7</comment_count>
      <attachid>83188</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-02-22 01:57:47 -0800</bug_when>
    <thetext>Comment on attachment 83188
addressed style and build issues

This patch contains only ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355140</commentid>
    <comment_count>8</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-02-22 02:04:52 -0800</bug_when>
    <thetext>What is the point of accelerated compositing in this case? What do you think is &quot;accelerated&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355210</commentid>
    <comment_count>9</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-02-22 05:57:23 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; What is the point of accelerated compositing in this case? What do you think is &quot;accelerated&quot;?
I think the point here is that the AC layers are not tiled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355213</commentid>
    <comment_count>10</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-02-22 06:03:55 -0800</bug_when>
    <thetext>(In reply to comment #0)
&gt; Qt accelerating compositing uses QPixmapCache. When web site has a big accelerating compositing layer on devices with low memory we can reach the QPixmapCache limit very fast. In this case pixmap is dropped from QPixmapCache and getting re-allocated on every paint. This makes performance very bad. 
&gt; Increasing  QPixmapCache limit wouldn&apos;t help in this case since we run out of graphics memory. In the same time those html layers are quite simple and render fast without any cache on graphics accelerated hardware.

Which HTML layers? Which websites? Which platform?
Does this mean that 3D &amp; animations run well on this platform even when this cache is turned off? (which effectively makes AC unaccelerated)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355266</commentid>
    <comment_count>11</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2011-02-22 07:49:01 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #0)
&gt; &gt; Qt accelerating compositing uses QPixmapCache. When web site has a big accelerating compositing layer on devices with low memory we can reach the QPixmapCache limit very fast. In this case pixmap is dropped from QPixmapCache and getting re-allocated on every paint. This makes performance very bad. 
&gt; &gt; Increasing  QPixmapCache limit wouldn&apos;t help in this case since we run out of graphics memory. In the same time those html layers are quite simple and render fast without any cache on graphics accelerated hardware.
&gt; 
&gt; Which HTML layers? 

GraphicsLayerQtImpl::HTMLContentType

&gt; Which websites? 

For example, iphone versions of google maps, or iphone gmail.

&gt; Which platform?

Any platform with low RAM (CPU or GPU).

&gt; Does this mean that 3D &amp; animations run well on this platform even when this cache is turned off? (which effectively makes AC unaccelerated)

This is totally unrelated.
3D, animations, media are layers of different type. They do not have cache by default and not affected by this.

This patch about html layers which have full size QPixmap cache by default or create another tiled layer and cause RAM overhead which is quite big.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355268</commentid>
    <comment_count>12</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2011-02-22 07:52:15 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; What is the point of accelerated compositing in this case? 

Removing dynamic content from tiled backing store.

&gt; What do you think is &quot;accelerated&quot;?

Animated images, plugins and etc.
Just everything as it is, but html layers will not have pixmap cache.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355269</commentid>
    <comment_count>13</comment_count>
      <attachid>83315</attachid>
    <who name="Misha">mtutunik</who>
    <bug_when>2011-02-22 07:52:59 -0800</bug_when>
    <thetext>Created attachment 83315
actual patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355283</commentid>
    <comment_count>14</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-22 08:21:29 -0800</bug_when>
    <thetext>Attachment 83315 did not build on win:
Build output: http://queues.webkit.org/results/7942327</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355317</commentid>
    <comment_count>15</comment_count>
      <attachid>83327</attachid>
    <who name="Misha">mtutunik</who>
    <bug_when>2011-02-22 09:03:56 -0800</bug_when>
    <thetext>Created attachment 83327
win build fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355343</commentid>
    <comment_count>16</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-22 09:30:56 -0800</bug_when>
    <thetext>Attachment 83327 did not build on win:
Build output: http://queues.webkit.org/results/7947244</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355544</commentid>
    <comment_count>17</comment_count>
      <attachid>83375</attachid>
    <who name="Misha">mtutunik</who>
    <bug_when>2011-02-22 13:12:22 -0800</bug_when>
    <thetext>Created attachment 83375
new patch

As discussed on irc changes are kept only in GraphicsLayerQt.cpp as they are Qt specific. If QPixmapCache limit is two small (2048Kb) them QPixmapCache is not used when rendering HTMLContentType layers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355576</commentid>
    <comment_count>18</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-02-22 14:02:18 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; Created an attachment (id=83375) [details]
&gt; new patch

LGTM, though I&apos;m not a reviewer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355589</commentid>
    <comment_count>19</comment_count>
      <attachid>83375</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-02-22 14:12:01 -0800</bug_when>
    <thetext>Comment on attachment 83375
new patch

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

&gt; Source/WebCore/ChangeLog:5
&gt; +        [Qt] Dont use QPixmapCache if  QPixmapCache::cacheLimit() is too small 

Double spaces after &apos;if&apos;.

&gt; Source/WebCore/ChangeLog:6
&gt; +(2048Kb for now).

Should be indented with the line above.

&gt; Source/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:57
&gt; +#define PIXMAP_CACHE_USE_THRESHOLD 2048

We try to avoid using #define for constants.
static const int gMinimumPixmapCacheLimit = 2048;

&gt; Source/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:213
&gt; +    void drawLayerContent(QPainter&amp;, QRegion&amp;);

QPainter&amp; -&gt; QPainter*

&gt; Source/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:649
&gt; +                QRegion region(option-&gt;exposedRect.toRect());
&gt; +                drawLayerContent(*painter, region);

We shouldn&apos;t be clipping to a region if we know it&apos;s always a rect.
Change drawLayerContent() to take a const QRect&amp; instead.

&gt; Source/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp:651
&gt; +

Unnecessary empty line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356153</commentid>
    <comment_count>20</comment_count>
      <attachid>83493</attachid>
    <who name="Misha">mtutunik</who>
    <bug_when>2011-02-23 09:40:05 -0800</bug_when>
    <thetext>Created attachment 83493
Fixed style and clip region

Addressed  issues in Comment #19</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356983</commentid>
    <comment_count>21</comment_count>
      <attachid>83493</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-02-24 07:43:05 -0800</bug_when>
    <thetext>Comment on attachment 83493
Fixed style and clip region

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>357198</commentid>
    <comment_count>22</comment_count>
      <attachid>83493</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-24 11:32:15 -0800</bug_when>
    <thetext>Comment on attachment 83493
Fixed style and clip region

Clearing flags on attachment: 83493

Committed r79595: &lt;http://trac.webkit.org/changeset/79595&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>357199</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-24 11:32:20 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>357512</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-24 15:59:30 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/79595 might have broken GTK Linux 32-bit Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358105</commentid>
    <comment_count>25</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2011-02-25 12:03:17 -0800</bug_when>
    <thetext>Revision r79595 cherry-picked into qtwebkit-2.1.x with commit 12a2bcc &lt;http://gitorious.org/webkit/qtwebkit/commit/12a2bcc&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83172</attachid>
            <date>2011-02-21 09:33:52 -0800</date>
            <delta_ts>2011-02-21 10:45:08 -0800</delta_ts>
            <desc>patch to address the issue</desc>
            <filename>nohtmllayercache.diff</filename>
            <type>text/plain</type>
            <size>10524</size>
            <attacher name="Misha">mtutunik</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyMjg5ZTk1Li5jOGRhMjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTEtMDItMjEgIE1pc2hhIFR5dXR5dW5payAgPG1pY2hhZWwudHl1dHl1bmlrQG5va2lh
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBb
UXRdIEludHJvZHVjZWQgZmxhZyB0byBkaXNhYmxlIGh0bWwgbGF5ZXIgY2FjaGUgZm9yIEFDLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ4ODcKKwor
ICAgICAgICBObyBuZXcgdGVzdHMgcmVxdWlyZWQuCisKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmll
dy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNldENvbXBvc2l0aW5nQ2FjaGVN
b2RlKToKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3Ojpjb21wb3NpdGluZ0NhY2hlTW9kZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NMYXllckNsaWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0
L0dyYXBoaWNzTGF5ZXJRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyUXRJ
bXBsOjpkcmF3TGF5ZXJDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJR
dEltcGw6OnBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6Y29tcG9zaXRpbmdVc2Vz
Q2FjaGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaDoKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y2FjaGVBY2NlbGVyYXRlZENvbXBv
c2l0aW5nRmxhZ3MpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3Iu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y29tcG9zaXRpbmdV
c2VzQ2FjaGUpOgorCiAyMDExLTAyLTIxICBBbmRyZXkgQWRhaWtpbiAgPGFhbmRyZXlAZ29vZ2xl
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwCmluZGV4IGM5MzM1NjQuLjFjZDJlNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5jcHAKQEAgLTEwNiw2ICsxMDYsOCBAQCBkb3VibGUgRnJhbWVWaWV3OjpzX21heERlZmVy
cmVkUmVwYWludERlbGF5RHVyaW5nTG9hZGluZyA9IDA7CiBkb3VibGUgRnJhbWVWaWV3OjpzX2Rl
ZmVycmVkUmVwYWludERlbGF5SW5jcmVtZW50RHVyaW5nTG9hZGluZyA9IDA7CiAjZW5kaWYKIAor
Ym9vbCBGcmFtZVZpZXc6OnNfY29tcG9zaXRpbmdDYWNoZU1vZGUgPSB0cnVlOworCiAvLyBUaGUg
bWF4aW11bSBudW1iZXIgb2YgdXBkYXRlV2lkZ2V0cyBpdGVyYXRpb25zIHRoYXQgc2hvdWxkIGJl
IGRvbmUgYmVmb3JlIHJldHVybmluZy4KIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXhVcGRhdGVX
aWRnZXRzSXRlcmF0aW9ucyA9IDI7CiAKQEAgLTI2NzMsNSArMjY3NSwxMSBAQCBBWE9iamVjdENh
Y2hlKiBGcmFtZVZpZXc6OmF4T2JqZWN0Q2FjaGUoKSBjb25zdAogICAgICAgICByZXR1cm4gZnJh
bWUoKS0+ZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpOwogICAgIHJldHVybiAwOwogfQorCit2
b2lkIEZyYW1lVmlldzo6c2V0Q29tcG9zaXRpbmdDYWNoZU1vZGUoYm9vbCBvbikKK3sKKyAgICBz
X2NvbXBvc2l0aW5nQ2FjaGVNb2RlID0gb247Cit9CisKICAgICAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IDVmYWI0YTQuLjBiYWVhYTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMjUyLDYgKzI1Miw5IEBAIHB1YmxpYzoKICAgICBib29s
IGlzRnJhbWVWaWV3U2Nyb2xsQ29ybmVyKFJlbmRlclNjcm9sbGJhclBhcnQqIHNjcm9sbENvcm5l
cikgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxDb3JuZXIgPT0gc2Nyb2xsQ29ybmVyOyB9CiAgICAg
dm9pZCBpbnZhbGlkYXRlU2Nyb2xsQ29ybmVyKCk7CiAKKyAgICBzdGF0aWMgdm9pZCBzZXRDb21w
b3NpdGluZ0NhY2hlTW9kZShib29sIG9uKTsKKyAgICBzdGF0aWMgYm9vbCBjb21wb3NpdGluZ0Nh
Y2hlTW9kZSgpIHsgcmV0dXJuIHNfY29tcG9zaXRpbmdDYWNoZU1vZGU7IH0KKwogICAgIHZvaWQg
Y2FsY3VsYXRlU2Nyb2xsYmFyTW9kZXNGb3JMYXlvdXQoU2Nyb2xsYmFyTW9kZSYgaE1vZGUsIFNj
cm9sbGJhck1vZGUmIHZNb2RlKTsKIAogICAgIC8vIE5vcm1hbCBkZWxheQpAQCAtNDIyLDYgKzQy
NSw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGRvdWJsZSBzX2luaXRpYWxEZWZlcnJlZFJlcGFp
bnREZWxheUR1cmluZ0xvYWRpbmc7CiAgICAgc3RhdGljIGRvdWJsZSBzX21heERlZmVycmVkUmVw
YWludERlbGF5RHVyaW5nTG9hZGluZzsKICAgICBzdGF0aWMgZG91YmxlIHNfZGVmZXJyZWRSZXBh
aW50RGVsYXlJbmNyZW1lbnREdXJpbmdMb2FkaW5nOworICAgIHN0YXRpYyBib29sICAgc19jb21w
b3NpdGluZ0NhY2hlTW9kZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJDbGllbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJDbGllbnQu
aAppbmRleCBhZmIyOTdkLi42MDljN2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckNsaWVudC5oCkBAIC02NSw2ICs2NSw3IEBA
IHB1YmxpYzoKICAgICAKICAgICB2aXJ0dWFsIGJvb2wgc2hvd0RlYnVnQm9yZGVycygpIGNvbnN0
ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgc2hvd1JlcGFpbnRDb3VudGVyKCkgY29uc3QgPSAwOwor
ICAgIHZpcnR1YWwgYm9vbCBjb21wb3NpdGluZ1VzZXNDYWNoZSgpIGNvbnN0ID0gMDsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuY3BwCmluZGV4IDBkN2FhNDUuLjg0ZWQ4
ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBo
aWNzTGF5ZXJRdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQv
R3JhcGhpY3NMYXllclF0LmNwcApAQCAtMjA3LDYgKzIwNyw4IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIENvbG9yIHRpbGVkQmFja2luZ1N0b3JlQmFja2dyb3VuZENvbG9yKCkgY29uc3Q7CiAjZW5k
aWYKIAorICAgIHZvaWQgZHJhd0xheWVyQ29udGVudChRUGFpbnRlciYgcGFpbnRlciwgUVJlZ2lv
biYgcmVnaW9uKTsKKwogcHVibGljIHNsb3RzOgogICAgIC8vIFdlIG5lZWQgdG8gbm90aWZ5IHRo
ZSBjbGllbnQgKGllLiB0aGUgbGF5ZXIgY29tcG9zaXRvcikgd2hlbiB0aGUgYW5pbWF0aW9uIGFj
dHVhbGx5IHN0YXJ0cy4KICAgICB2b2lkIG5vdGlmeUFuaW1hdGlvblN0YXJ0ZWQoKTsKQEAgLTM4
MSw2ICszODMsMTUgQEAgY29uc3QgR3JhcGhpY3NMYXllclF0SW1wbCogR3JhcGhpY3NMYXllclF0
SW1wbDo6cm9vdExheWVyKCkgY29uc3QKICAgICByZXR1cm4gdGhpczsKIH0KIAordm9pZCBHcmFw
aGljc0xheWVyUXRJbXBsOjpkcmF3TGF5ZXJDb250ZW50KFFQYWludGVyJiBwYWludGVyLCBRUmVn
aW9uJiByZWdpb24pCit7CisgICAgcGFpbnRlci5zZXRDbGlwUmVnaW9uKHJlZ2lvbiwgUXQ6Oklu
dGVyc2VjdENsaXApOworICAgIHBhaW50ZXIuc2V0Q29tcG9zaXRpb25Nb2RlKFFQYWludGVyOjpD
b21wb3NpdGlvbk1vZGVfU291cmNlT3Zlcik7CisgICAgR3JhcGhpY3NDb250ZXh0IGdjKCZwYWlu
dGVyKTsKKyAgICBtX2xheWVyLT5wYWludEdyYXBoaWNzTGF5ZXJDb250ZW50cyhnYywgcmVnaW9u
LmJvdW5kaW5nUmVjdCgpKTsKK30KKworCiBRUGl4bWFwIEdyYXBoaWNzTGF5ZXJRdEltcGw6OnJl
Y2FjaGUoY29uc3QgUVJlZ2lvbiYgcmVnaW9uVG9VcGRhdGUpCiB7CiAgICAgaWYgKCFtX2xheWVy
LT5kcmF3c0NvbnRlbnQoKSB8fCBtX3NpemUuaXNFbXB0eSgpIHx8ICFtX3NpemUuaXNWYWxpZCgp
KQpAQCAtNjMwLDEyICs2NDEsMTggQEAgdm9pZCBHcmFwaGljc0xheWVyUXRJbXBsOjpwYWludChR
UGFpbnRlciogcGFpbnRlciwgY29uc3QgUVN0eWxlT3B0aW9uR3JhcGhpY3NJdGUKICAgICBzd2l0
Y2ggKG1fY3VycmVudENvbnRlbnQuY29udGVudFR5cGUpIHsKICAgICBjYXNlIEhUTUxDb250ZW50
VHlwZToKICAgICAgICAgaWYgKG1fc3RhdGUuZHJhd3NDb250ZW50KSB7Ci0gICAgICAgICAgICBR
UGl4bWFwIGJhY2tpbmdTdG9yZTsKLSAgICAgICAgICAgIC8vIFdlIG1pZ2h0IG5lZWQgdG8gcmVj
YWNoZSwgaW4gY2FzZSB3ZSB0cnkgdG8gcGFpbnQgYW5kIHRoZSBjYWNoZSB3YXMgcHVyZ2VkIChl
LmcuIGlmIGl0IHdhcyBmdWxsKS4KLSAgICAgICAgICAgIGlmICghUVBpeG1hcENhY2hlOjpmaW5k
KG1fYmFja2luZ1N0b3JlLmtleSwgJmJhY2tpbmdTdG9yZSkgfHwgYmFja2luZ1N0b3JlLnNpemUo
KSAhPSBtX3NpemUudG9TaXplKCkpCi0gICAgICAgICAgICAgICAgYmFja2luZ1N0b3JlID0gcmVj
YWNoZShRUmVnaW9uKG1fc3RhdGUuY29udGVudHNSZWN0KSk7Ci0gICAgICAgICAgICBjb25zdCBR
UmVjdEYgYm91bmRzKDAsIDAsIG1fYmFja2luZ1N0b3JlLnNpemUud2lkdGgoKSwgbV9iYWNraW5n
U3RvcmUuc2l6ZS5oZWlnaHQoKSk7Ci0gICAgICAgICAgICBwYWludGVyLT5kcmF3UGl4bWFwKDAs
IDAsIGJhY2tpbmdTdG9yZSk7CisgICAgICAgICAgICBpZiAoIW1fbGF5ZXItPmNsaWVudCgpLT5j
b21wb3NpdGluZ1VzZXNDYWNoZSgpKSB7CisgICAgICAgICAgICAgICAgUVJlZ2lvbiByZWdpb24o
b3B0aW9uLT5leHBvc2VkUmVjdC50b1JlY3QoKSk7CisgICAgICAgICAgICAgICAgZHJhd0xheWVy
Q29udGVudCgqcGFpbnRlciwgcmVnaW9uKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVs
c2UgeworICAgICAgICAgICAgICAgIFFQaXhtYXAgYmFja2luZ1N0b3JlOworICAgICAgICAgICAg
ICAgIC8vIFdlIG1pZ2h0IG5lZWQgdG8gcmVjYWNoZSwgaW4gY2FzZSB3ZSB0cnkgdG8gcGFpbnQg
YW5kIHRoZSBjYWNoZSB3YXMgcHVyZ2VkIChlLmcuIGlmIGl0IHdhcyBmdWxsKS4KKyAgICAgICAg
ICAgICAgICBpZiAoIVFQaXhtYXBDYWNoZTo6ZmluZChtX2JhY2tpbmdTdG9yZS5rZXksICZiYWNr
aW5nU3RvcmUpIHx8IGJhY2tpbmdTdG9yZS5zaXplKCkgIT0gbV9zaXplLnRvU2l6ZSgpKQorICAg
ICAgICAgICAgICAgICAgICBiYWNraW5nU3RvcmUgPSByZWNhY2hlKFFSZWdpb24obV9zdGF0ZS5j
b250ZW50c1JlY3QpKTsKKyAgICAgICAgICAgICAgICBjb25zdCBRUmVjdEYgYm91bmRzKDAsIDAs
IG1fYmFja2luZ1N0b3JlLnNpemUud2lkdGgoKSwgbV9iYWNraW5nU3RvcmUuc2l6ZS5oZWlnaHQo
KSk7CisgICAgICAgICAgICAgICAgcGFpbnRlci0+ZHJhd1BpeG1hcCgwLCAwLCBiYWNraW5nU3Rv
cmUpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
UGl4bWFwQ29udGVudFR5cGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckJhY2tpbmcuY3BwCmluZGV4IGMwZjA0YjMuLjg5ZmQ3MzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCkBAIC0xMTQzLDYgKzExNDMs
MTEgQEAgYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnNob3dSZXBhaW50Q291bnRlcigpIGNvbnN0
CiAgICAgcmV0dXJuIGNvbXBvc2l0b3IoKSA/IGNvbXBvc2l0b3IoKS0+Y29tcG9zaXRvclNob3dS
ZXBhaW50Q291bnRlcigpIDogZmFsc2U7CiB9CiAKK2Jvb2wgUmVuZGVyTGF5ZXJCYWNraW5nOjpj
b21wb3NpdGluZ1VzZXNDYWNoZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGNvbXBvc2l0b3IoKSA/
IGNvbXBvc2l0b3IoKS0+Y29tcG9zaXRpbmdVc2VzQ2FjaGUoKSA6IGZhbHNlOworfQorCiBib29s
IFJlbmRlckxheWVyQmFja2luZzo6c3RhcnRBbmltYXRpb24oZG91YmxlIHRpbWVPZmZzZXQsIGNv
bnN0IEFuaW1hdGlvbiogYW5pbSwgY29uc3QgS2V5ZnJhbWVMaXN0JiBrZXlmcmFtZXMpCiB7CiAg
ICAgYm9vbCBoYXNPcGFjaXR5ID0ga2V5ZnJhbWVzLmNvbnRhaW5zUHJvcGVydHkoQ1NTUHJvcGVy
dHlPcGFjaXR5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckJhY2tpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tp
bmcuaAppbmRleCA3MjZiNzc3Li5kZDMxMTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQmFja2luZy5oCkBAIC0xMzksNiArMTM5LDggQEAgcHVibGljOgogICAg
IAogICAgIC8vIEZvciBpbmZvcm1hdGl2ZSBwdXJwb3NlcyBvbmx5LgogICAgIENvbXBvc2l0aW5n
TGF5ZXJUeXBlIGNvbXBvc2l0aW5nTGF5ZXJUeXBlKCkgY29uc3Q7CisKKyAgICB2aXJ0dWFsIGJv
b2wgY29tcG9zaXRpbmdVc2VzQ2FjaGUoKSBjb25zdDsKICAgICAKICAgICB2b2lkIHVwZGF0ZUNv
bnRlbnRzU2NhbGUoZmxvYXQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDNjZDM1NDguLjFlZjU1YmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBA
IC0xMDcsNiArMTA3LDcgQEAgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpSZW5kZXJMYXllckNvbXBv
c2l0b3IoUmVuZGVyVmlldyogcmVuZGVyVmlldykKICNpZiBQUk9GSUxFX0xBWUVSX1JFQlVJTEQK
ICAgICAsIG1fcm9vdExheWVyVXBkYXRlQ291bnQoMCkKICNlbmRpZiAvLyBQUk9GSUxFX0xBWUVS
X1JFQlVJTEQKKyAgICAsIG1fY29tcG9zaXRpbmdVc2VzQ2FjaGUodHJ1ZSkKIHsKIH0KIApAQCAt
MTU4LDYgKzE1OSw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpjYWNoZUFjY2VsZXJh
dGVkQ29tcG9zaXRpbmdGbGFncygpCiAgICAgbV9oYXNBY2NlbGVyYXRlZENvbXBvc2l0aW5nID0g
aGFzQWNjZWxlcmF0ZWRDb21wb3NpdGluZzsKICAgICBtX3Nob3dEZWJ1Z0JvcmRlcnMgPSBzaG93
RGVidWdCb3JkZXJzOwogICAgIG1fc2hvd1JlcGFpbnRDb3VudGVyID0gc2hvd1JlcGFpbnRDb3Vu
dGVyOworICAgIG1fY29tcG9zaXRpbmdVc2VzQ2FjaGUgPSBtX2hhc0FjY2VsZXJhdGVkQ29tcG9z
aXRpbmcgJiYgRnJhbWVWaWV3Ojpjb21wb3NpdGluZ0NhY2hlTW9kZSgpOwogfQogCiBib29sIFJl
bmRlckxheWVyQ29tcG9zaXRvcjo6Y2FuUmVuZGVyM0RUcmFuc2Zvcm1zKCkgY29uc3QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaAppbmRleCAz
MmQ2NGQzLi5jNjIzZmM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5oCkBAIC0xODQsNiArMTg0LDggQEAgcHVibGljOgogCiAgICAgdm9p
ZCB1cGRhdGVDb250ZW50c1NjYWxlKGZsb2F0LCBSZW5kZXJMYXllciogPSAwKTsKIAorICAgIGJv
b2wgY29tcG9zaXRpbmdVc2VzQ2FjaGUoKSB7IHJldHVybiBtX2NvbXBvc2l0aW5nVXNlc0NhY2hl
OyB9CisKIHByaXZhdGU6CiAgICAgLy8gR3JhcGhpY3NMYXllckNsaWVudCBJbXBsZW1lbnRhdGlv
bgogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlBbmltYXRpb25TdGFydGVkKGNvbnN0IEdyYXBoaWNz
TGF5ZXIqLCBkb3VibGUpIHsgfQpAQCAtMjYzLDYgKzI2NSw3IEBAIHByaXZhdGU6CiAgICAgYm9v
bCBtX3Nob3dEZWJ1Z0JvcmRlcnM7CiAgICAgYm9vbCBtX3Nob3dSZXBhaW50Q291bnRlcjsKICAg
ICBib29sIG1fY29tcG9zaXRpbmdDb25zdWx0c092ZXJsYXA7CisgICAgYm9vbCBtX2NvbXBvc2l0
aW5nVXNlc0NhY2hlOwogCiAgICAgLy8gV2hlbiB0cnVlLCB3ZSBoYXZlIHRvIHdhaXQgdW50aWwg
bGF5b3V0IGhhcyBoYXBwZW5lZCBiZWZvcmUgd2UgY2FuIGRlY2lkZSB3aGV0aGVyIHRvIGVudGVy
IGNvbXBvc2l0aW5nIG1vZGUsCiAgICAgLy8gYmVjYXVzZSBvbmx5IHRoZW4gZG8gd2Uga25vdyB0
aGUgZmluYWwgc2l6ZSBvZiBwbHVnaW5zIGFuZCBpZnJhbWVzLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBh
Z2UuY3BwCmluZGV4IDVmNzVhMjEuLmY2YjRlMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
cXQvQXBpL3F3ZWJwYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5j
cHAKQEAgLTExNzQsNiArMTE3NCwxMCBAQCB2b2lkIFFXZWJQYWdlUHJpdmF0ZTo6ZHluYW1pY1By
b3BlcnR5Q2hhbmdlRXZlbnQoUUR5bmFtaWNQcm9wZXJ0eUNoYW5nZUV2ZW50KiBldgogICAgICAg
ICAgICAgfQogICAgICAgICB9CiAgICAgfQorICAgIGVsc2UgaWYgKGV2ZW50LT5wcm9wZXJ0eU5h
bWUoKSA9PSAiX3FfQ29tcG9zaXRpbmdQaXhtYXBDYWNoZUZvckh0bWxMYXllciIpIHsKKyAgICAg
ICAgYm9vbCBoYXNjYWNoZSA9IHEtPnByb3BlcnR5KCJfcV9Db21wb3NpdGluZ1BpeG1hcENhY2hl
Rm9ySHRtbExheWVyIikudG9Cb29sKCk7CisgICAgICAgIEZyYW1lVmlldzo6c2V0Q29tcG9zaXRp
bmdDYWNoZU1vZGUoaGFzY2FjaGUpOworICAgIH0KICNpZiBFTkFCTEUoVElMRURfQkFDS0lOR19T
VE9SRSkKICAgICBlbHNlIGlmIChldmVudC0+cHJvcGVydHlOYW1lKCkgPT0gIl9xX1RpbGVkQmFj
a2luZ1N0b3JlVGlsZVNpemUiKSB7CiAgICAgICAgIFdlYkNvcmU6OkZyYW1lKiBmcmFtZSA9IFFX
ZWJGcmFtZVByaXZhdGU6OmNvcmUocS0+bWFpbkZyYW1lKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCBj
NTMwZjA4Li42ZDI2NTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTAy
LTIxICBNaXNoYSBUeXV0eXVuaWsgIDxtaWNoYWVsLnR5dXR5dW5pa0Bub2tpYS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBJbnRyb2R1
Y2VkIGZsYWcgdG8gZGlzYWJsZSBodG1sIGxheWVyIGNhY2hlIGZvciBBQy4KKwlodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ4ODcKKworICAgICAgICAqIEFwaS9xd2Vi
cGFnZS5jcHA6CisgICAgICAgIChRV2ViUGFnZVByaXZhdGU6OmR5bmFtaWNQcm9wZXJ0eUNoYW5n
ZUV2ZW50KToKKwogMjAxMS0wMi0xNyAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83188</attachid>
            <date>2011-02-21 10:45:08 -0800</date>
            <delta_ts>2011-02-22 07:52:59 -0800</delta_ts>
            <desc>addressed style and build issues</desc>
            <filename>nohtmllayercache.diff</filename>
            <type>text/plain</type>
            <size>1358</size>
            <attacher name="Misha">mtutunik</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4NzkxMDgxLi5kMTU3ZDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjgg
QEAKKzIwMTEtMDItMjEgIE1pc2hhIFR5dXR5dW5payAgPG1pY2hhZWwudHl1dHl1bmlrQG5va2lh
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgW1F0
XSBJbnRyb2R1Y2VkIGZsYWcgdG8gZGlzYWJsZSBodG1sIGxheWVyIGNhY2hlIGZvciBBQy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0ODg3CisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzIHJlcXVpcmVkLgorCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRDb21wb3NpdGluZ0NhY2hlTW9k
ZSk6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
Vmlldzo6Y29tcG9zaXRpbmdDYWNoZU1vZGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzTGF5ZXJDbGllbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9H
cmFwaGljc0xheWVyUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllclF0SW1w
bDo6ZHJhd0xheWVyQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyUXRJ
bXBsOjpwYWludCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OmNvbXBvc2l0aW5nVXNlc0Nh
Y2hlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmg6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OlJlbmRlckxheWVyQ29tcG9zaXRvcik6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNhY2hlQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0ZsYWdzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmg6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNvbXBvc2l0aW5nVXNl
c0NhY2hlKToKKwogMjAxMS0wMi0yMSAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBZdXJ5IFNlbWlraGF0c2t5Lgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83315</attachid>
            <date>2011-02-22 07:52:59 -0800</date>
            <delta_ts>2011-02-22 09:03:56 -0800</delta_ts>
            <desc>actual patch</desc>
            <filename>nohtmllayercache.diff</filename>
            <type>text/plain</type>
            <size>10238</size>
            <attacher name="Misha">mtutunik</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4NzkxMDgxLi5kMTU3ZDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjgg
QEAKKzIwMTEtMDItMjEgIE1pc2hhIFR5dXR5dW5payAgPG1pY2hhZWwudHl1dHl1bmlrQG5va2lh
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgW1F0
XSBJbnRyb2R1Y2VkIGZsYWcgdG8gZGlzYWJsZSBodG1sIGxheWVyIGNhY2hlIGZvciBBQy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0ODg3CisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzIHJlcXVpcmVkLgorCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRDb21wb3NpdGluZ0NhY2hlTW9k
ZSk6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
Vmlldzo6Y29tcG9zaXRpbmdDYWNoZU1vZGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzTGF5ZXJDbGllbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9H
cmFwaGljc0xheWVyUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllclF0SW1w
bDo6ZHJhd0xheWVyQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyUXRJ
bXBsOjpwYWludCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OmNvbXBvc2l0aW5nVXNlc0Nh
Y2hlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmg6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OlJlbmRlckxheWVyQ29tcG9zaXRvcik6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNhY2hlQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0ZsYWdzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmg6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNvbXBvc2l0aW5nVXNl
c0NhY2hlKToKKwogMjAxMS0wMi0yMSAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBZdXJ5IFNlbWlraGF0c2t5LgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCmluZGV4IGM5MzM1NjQuLjFjZDJlNmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAKQEAgLTEwNiw2ICsxMDYsOCBAQCBkb3VibGUgRnJhbWVWaWV3OjpzX21heERl
ZmVycmVkUmVwYWludERlbGF5RHVyaW5nTG9hZGluZyA9IDA7CiBkb3VibGUgRnJhbWVWaWV3Ojpz
X2RlZmVycmVkUmVwYWludERlbGF5SW5jcmVtZW50RHVyaW5nTG9hZGluZyA9IDA7CiAjZW5kaWYK
IAorYm9vbCBGcmFtZVZpZXc6OnNfY29tcG9zaXRpbmdDYWNoZU1vZGUgPSB0cnVlOworCiAvLyBU
aGUgbWF4aW11bSBudW1iZXIgb2YgdXBkYXRlV2lkZ2V0cyBpdGVyYXRpb25zIHRoYXQgc2hvdWxk
IGJlIGRvbmUgYmVmb3JlIHJldHVybmluZy4KIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXhVcGRh
dGVXaWRnZXRzSXRlcmF0aW9ucyA9IDI7CiAKQEAgLTI2NzMsNSArMjY3NSwxMSBAQCBBWE9iamVj
dENhY2hlKiBGcmFtZVZpZXc6OmF4T2JqZWN0Q2FjaGUoKSBjb25zdAogICAgICAgICByZXR1cm4g
ZnJhbWUoKS0+ZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpOwogICAgIHJldHVybiAwOwogfQor
Cit2b2lkIEZyYW1lVmlldzo6c2V0Q29tcG9zaXRpbmdDYWNoZU1vZGUoYm9vbCBvbikKK3sKKyAg
ICBzX2NvbXBvc2l0aW5nQ2FjaGVNb2RlID0gb247Cit9CisKICAgICAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IDVmYWI0YTQuLjBiYWVhYTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMjUyLDYgKzI1Miw5IEBAIHB1YmxpYzoKICAgICBi
b29sIGlzRnJhbWVWaWV3U2Nyb2xsQ29ybmVyKFJlbmRlclNjcm9sbGJhclBhcnQqIHNjcm9sbENv
cm5lcikgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxDb3JuZXIgPT0gc2Nyb2xsQ29ybmVyOyB9CiAg
ICAgdm9pZCBpbnZhbGlkYXRlU2Nyb2xsQ29ybmVyKCk7CiAKKyAgICBzdGF0aWMgdm9pZCBzZXRD
b21wb3NpdGluZ0NhY2hlTW9kZShib29sIG9uKTsKKyAgICBzdGF0aWMgYm9vbCBjb21wb3NpdGlu
Z0NhY2hlTW9kZSgpIHsgcmV0dXJuIHNfY29tcG9zaXRpbmdDYWNoZU1vZGU7IH0KKwogICAgIHZv
aWQgY2FsY3VsYXRlU2Nyb2xsYmFyTW9kZXNGb3JMYXlvdXQoU2Nyb2xsYmFyTW9kZSYgaE1vZGUs
IFNjcm9sbGJhck1vZGUmIHZNb2RlKTsKIAogICAgIC8vIE5vcm1hbCBkZWxheQpAQCAtNDIyLDYg
KzQyNSw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGRvdWJsZSBzX2luaXRpYWxEZWZlcnJlZFJl
cGFpbnREZWxheUR1cmluZ0xvYWRpbmc7CiAgICAgc3RhdGljIGRvdWJsZSBzX21heERlZmVycmVk
UmVwYWludERlbGF5RHVyaW5nTG9hZGluZzsKICAgICBzdGF0aWMgZG91YmxlIHNfZGVmZXJyZWRS
ZXBhaW50RGVsYXlJbmNyZW1lbnREdXJpbmdMb2FkaW5nOworICAgIHN0YXRpYyBib29sICAgc19j
b21wb3NpdGluZ0NhY2hlTW9kZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJDbGll
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJDbGll
bnQuaAppbmRleCBhZmIyOTdkLi42MDljN2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckNsaWVudC5oCkBAIC02NSw2ICs2NSw3
IEBAIHB1YmxpYzoKICAgICAKICAgICB2aXJ0dWFsIGJvb2wgc2hvd0RlYnVnQm9yZGVycygpIGNv
bnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgc2hvd1JlcGFpbnRDb3VudGVyKCkgY29uc3QgPSAw
OworICAgIHZpcnR1YWwgYm9vbCBjb21wb3NpdGluZ1VzZXNDYWNoZSgpIGNvbnN0ID0gMDsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuY3BwCmluZGV4IDBkN2FhNDUuLjcw
MjExY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dy
YXBoaWNzTGF5ZXJRdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvR3JhcGhpY3NMYXllclF0LmNwcApAQCAtMjA3LDYgKzIwNyw4IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIENvbG9yIHRpbGVkQmFja2luZ1N0b3JlQmFja2dyb3VuZENvbG9yKCkgY29uc3Q7CiAj
ZW5kaWYKIAorICAgIHZvaWQgZHJhd0xheWVyQ29udGVudChRUGFpbnRlciYsIFFSZWdpb24mKTsK
KwogcHVibGljIHNsb3RzOgogICAgIC8vIFdlIG5lZWQgdG8gbm90aWZ5IHRoZSBjbGllbnQgKGll
LiB0aGUgbGF5ZXIgY29tcG9zaXRvcikgd2hlbiB0aGUgYW5pbWF0aW9uIGFjdHVhbGx5IHN0YXJ0
cy4KICAgICB2b2lkIG5vdGlmeUFuaW1hdGlvblN0YXJ0ZWQoKTsKQEAgLTM4MSw2ICszODMsMTUg
QEAgY29uc3QgR3JhcGhpY3NMYXllclF0SW1wbCogR3JhcGhpY3NMYXllclF0SW1wbDo6cm9vdExh
eWVyKCkgY29uc3QKICAgICByZXR1cm4gdGhpczsKIH0KIAordm9pZCBHcmFwaGljc0xheWVyUXRJ
bXBsOjpkcmF3TGF5ZXJDb250ZW50KFFQYWludGVyJiBwYWludGVyLCBRUmVnaW9uJiByZWdpb24p
Cit7CisgICAgcGFpbnRlci5zZXRDbGlwUmVnaW9uKHJlZ2lvbiwgUXQ6OkludGVyc2VjdENsaXAp
OworICAgIHBhaW50ZXIuc2V0Q29tcG9zaXRpb25Nb2RlKFFQYWludGVyOjpDb21wb3NpdGlvbk1v
ZGVfU291cmNlT3Zlcik7CisgICAgR3JhcGhpY3NDb250ZXh0IGdjKCZwYWludGVyKTsKKyAgICBt
X2xheWVyLT5wYWludEdyYXBoaWNzTGF5ZXJDb250ZW50cyhnYywgcmVnaW9uLmJvdW5kaW5nUmVj
dCgpKTsKK30KKworCiBRUGl4bWFwIEdyYXBoaWNzTGF5ZXJRdEltcGw6OnJlY2FjaGUoY29uc3Qg
UVJlZ2lvbiYgcmVnaW9uVG9VcGRhdGUpCiB7CiAgICAgaWYgKCFtX2xheWVyLT5kcmF3c0NvbnRl
bnQoKSB8fCBtX3NpemUuaXNFbXB0eSgpIHx8ICFtX3NpemUuaXNWYWxpZCgpKQpAQCAtNjMwLDEy
ICs2NDEsMTcgQEAgdm9pZCBHcmFwaGljc0xheWVyUXRJbXBsOjpwYWludChRUGFpbnRlciogcGFp
bnRlciwgY29uc3QgUVN0eWxlT3B0aW9uR3JhcGhpY3NJdGUKICAgICBzd2l0Y2ggKG1fY3VycmVu
dENvbnRlbnQuY29udGVudFR5cGUpIHsKICAgICBjYXNlIEhUTUxDb250ZW50VHlwZToKICAgICAg
ICAgaWYgKG1fc3RhdGUuZHJhd3NDb250ZW50KSB7Ci0gICAgICAgICAgICBRUGl4bWFwIGJhY2tp
bmdTdG9yZTsKLSAgICAgICAgICAgIC8vIFdlIG1pZ2h0IG5lZWQgdG8gcmVjYWNoZSwgaW4gY2Fz
ZSB3ZSB0cnkgdG8gcGFpbnQgYW5kIHRoZSBjYWNoZSB3YXMgcHVyZ2VkIChlLmcuIGlmIGl0IHdh
cyBmdWxsKS4KLSAgICAgICAgICAgIGlmICghUVBpeG1hcENhY2hlOjpmaW5kKG1fYmFja2luZ1N0
b3JlLmtleSwgJmJhY2tpbmdTdG9yZSkgfHwgYmFja2luZ1N0b3JlLnNpemUoKSAhPSBtX3NpemUu
dG9TaXplKCkpCi0gICAgICAgICAgICAgICAgYmFja2luZ1N0b3JlID0gcmVjYWNoZShRUmVnaW9u
KG1fc3RhdGUuY29udGVudHNSZWN0KSk7Ci0gICAgICAgICAgICBjb25zdCBRUmVjdEYgYm91bmRz
KDAsIDAsIG1fYmFja2luZ1N0b3JlLnNpemUud2lkdGgoKSwgbV9iYWNraW5nU3RvcmUuc2l6ZS5o
ZWlnaHQoKSk7Ci0gICAgICAgICAgICBwYWludGVyLT5kcmF3UGl4bWFwKDAsIDAsIGJhY2tpbmdT
dG9yZSk7CisgICAgICAgICAgICBpZiAoIW1fbGF5ZXItPmNsaWVudCgpLT5jb21wb3NpdGluZ1Vz
ZXNDYWNoZSgpKSB7CisgICAgICAgICAgICAgICAgUVJlZ2lvbiByZWdpb24ob3B0aW9uLT5leHBv
c2VkUmVjdC50b1JlY3QoKSk7CisgICAgICAgICAgICAgICAgZHJhd0xheWVyQ29udGVudCgqcGFp
bnRlciwgcmVnaW9uKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgUVBp
eG1hcCBiYWNraW5nU3RvcmU7CisgICAgICAgICAgICAgICAgLy8gV2UgbWlnaHQgbmVlZCB0byBy
ZWNhY2hlLCBpbiBjYXNlIHdlIHRyeSB0byBwYWludCBhbmQgdGhlIGNhY2hlIHdhcyBwdXJnZWQg
KGUuZy4gaWYgaXQgd2FzIGZ1bGwpLgorICAgICAgICAgICAgICAgIGlmICghUVBpeG1hcENhY2hl
OjpmaW5kKG1fYmFja2luZ1N0b3JlLmtleSwgJmJhY2tpbmdTdG9yZSkgfHwgYmFja2luZ1N0b3Jl
LnNpemUoKSAhPSBtX3NpemUudG9TaXplKCkpCisgICAgICAgICAgICAgICAgICAgIGJhY2tpbmdT
dG9yZSA9IHJlY2FjaGUoUVJlZ2lvbihtX3N0YXRlLmNvbnRlbnRzUmVjdCkpOworICAgICAgICAg
ICAgICAgIGNvbnN0IFFSZWN0RiBib3VuZHMoMCwgMCwgbV9iYWNraW5nU3RvcmUuc2l6ZS53aWR0
aCgpLCBtX2JhY2tpbmdTdG9yZS5zaXplLmhlaWdodCgpKTsKKyAgICAgICAgICAgICAgICBwYWlu
dGVyLT5kcmF3UGl4bWFwKDAsIDAsIGJhY2tpbmdTdG9yZSk7CisgICAgICAgICAgICB9CiAgICAg
ICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQaXhtYXBDb250ZW50VHlwZToKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5kZXggYzBm
MDRiMy4uODlmZDczMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHAKQEAgLTExNDMsNiArMTE0MywxMSBAQCBib29sIFJlbmRlckxheWVyQmFj
a2luZzo6c2hvd1JlcGFpbnRDb3VudGVyKCkgY29uc3QKICAgICByZXR1cm4gY29tcG9zaXRvcigp
ID8gY29tcG9zaXRvcigpLT5jb21wb3NpdG9yU2hvd1JlcGFpbnRDb3VudGVyKCkgOiBmYWxzZTsK
IH0KIAorYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OmNvbXBvc2l0aW5nVXNlc0NhY2hlKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gY29tcG9zaXRvcigpID8gY29tcG9zaXRvcigpLT5jb21wb3NpdGlu
Z1VzZXNDYWNoZSgpIDogZmFsc2U7Cit9CisKIGJvb2wgUmVuZGVyTGF5ZXJCYWNraW5nOjpzdGFy
dEFuaW1hdGlvbihkb3VibGUgdGltZU9mZnNldCwgY29uc3QgQW5pbWF0aW9uKiBhbmltLCBjb25z
dCBLZXlmcmFtZUxpc3QmIGtleWZyYW1lcykKIHsKICAgICBib29sIGhhc09wYWNpdHkgPSBrZXlm
cmFtZXMuY29udGFpbnNQcm9wZXJ0eShDU1NQcm9wZXJ0eU9wYWNpdHkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oCmluZGV4IDcyNmI3NzcuLmRkMzEx
MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tp
bmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgK
QEAgLTEzOSw2ICsxMzksOCBAQCBwdWJsaWM6CiAgICAgCiAgICAgLy8gRm9yIGluZm9ybWF0aXZl
IHB1cnBvc2VzIG9ubHkuCiAgICAgQ29tcG9zaXRpbmdMYXllclR5cGUgY29tcG9zaXRpbmdMYXll
clR5cGUoKSBjb25zdDsKKworICAgIHZpcnR1YWwgYm9vbCBjb21wb3NpdGluZ1VzZXNDYWNoZSgp
IGNvbnN0OwogICAgIAogICAgIHZvaWQgdXBkYXRlQ29udGVudHNTY2FsZShmbG9hdCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAK
aW5kZXggM2NkMzU0OC4uMWVmNTViZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTEwNyw2ICsxMDcsNyBAQCBSZW5kZXJM
YXllckNvbXBvc2l0b3I6OlJlbmRlckxheWVyQ29tcG9zaXRvcihSZW5kZXJWaWV3KiByZW5kZXJW
aWV3KQogI2lmIFBST0ZJTEVfTEFZRVJfUkVCVUlMRAogICAgICwgbV9yb290TGF5ZXJVcGRhdGVD
b3VudCgwKQogI2VuZGlmIC8vIFBST0ZJTEVfTEFZRVJfUkVCVUlMRAorICAgICwgbV9jb21wb3Np
dGluZ1VzZXNDYWNoZSh0cnVlKQogewogfQogCkBAIC0xNTgsNiArMTU5LDcgQEAgdm9pZCBSZW5k
ZXJMYXllckNvbXBvc2l0b3I6OmNhY2hlQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZsYWdzKCkKICAg
ICBtX2hhc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcgPSBoYXNBY2NlbGVyYXRlZENvbXBvc2l0aW5n
OwogICAgIG1fc2hvd0RlYnVnQm9yZGVycyA9IHNob3dEZWJ1Z0JvcmRlcnM7CiAgICAgbV9zaG93
UmVwYWludENvdW50ZXIgPSBzaG93UmVwYWludENvdW50ZXI7CisgICAgbV9jb21wb3NpdGluZ1Vz
ZXNDYWNoZSA9IG1faGFzQWNjZWxlcmF0ZWRDb21wb3NpdGluZyAmJiBGcmFtZVZpZXc6OmNvbXBv
c2l0aW5nQ2FjaGVNb2RlKCk7CiB9CiAKIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpjYW5S
ZW5kZXIzRFRyYW5zZm9ybXMoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyQ29tcG9zaXRvci5oCmluZGV4IDMyZDY0ZDMuLmE1NGZjNGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKQEAgLTE4
NCw2ICsxODQsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHVwZGF0ZUNvbnRlbnRzU2NhbGUoZmxv
YXQsIFJlbmRlckxheWVyKiA9IDApOwogCisgICAgYm9vbCBjb21wb3NpdGluZ1VzZXNDYWNoZSgp
IGNvbnN0IHsgcmV0dXJuIG1fY29tcG9zaXRpbmdVc2VzQ2FjaGU7IH0KKwogcHJpdmF0ZToKICAg
ICAvLyBHcmFwaGljc0xheWVyQ2xpZW50IEltcGxlbWVudGF0aW9uCiAgICAgdmlydHVhbCB2b2lk
IG5vdGlmeUFuaW1hdGlvblN0YXJ0ZWQoY29uc3QgR3JhcGhpY3NMYXllciosIGRvdWJsZSkgeyB9
CkBAIC0yODIsNiArMjg0LDggQEAgcHJpdmF0ZToKICNpZiBQUk9GSUxFX0xBWUVSX1JFQlVJTEQK
ICAgICBpbnQgbV9yb290TGF5ZXJVcGRhdGVDb3VudDsKICNlbmRpZgorCisgICAgYm9vbCBtX2Nv
bXBvc2l0aW5nVXNlc0NhY2hlOwogfTsKIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0
L0FwaS9xd2VicGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKaW5k
ZXggNWY3NWEyMS4uYWI2MTM0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdl
YnBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcApAQCAtMTE3
Myw2ICsxMTczLDkgQEAgdm9pZCBRV2ViUGFnZVByaXZhdGU6OmR5bmFtaWNQcm9wZXJ0eUNoYW5n
ZUV2ZW50KFFEeW5hbWljUHJvcGVydHlDaGFuZ2VFdmVudCogZXYKICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoZXZlbnQtPnBy
b3BlcnR5TmFtZSgpID09ICJfcV9Db21wb3NpdGluZ1BpeG1hcENhY2hlRm9ySHRtbExheWVyIikg
eworICAgICAgICBib29sIGhhc2NhY2hlID0gcS0+cHJvcGVydHkoIl9xX0NvbXBvc2l0aW5nUGl4
bWFwQ2FjaGVGb3JIdG1sTGF5ZXIiKS50b0Jvb2woKTsKKyAgICAgICAgRnJhbWVWaWV3OjpzZXRD
b21wb3NpdGluZ0NhY2hlTW9kZShoYXNjYWNoZSk7CiAgICAgfQogI2lmIEVOQUJMRShUSUxFRF9C
QUNLSU5HX1NUT1JFKQogICAgIGVsc2UgaWYgKGV2ZW50LT5wcm9wZXJ0eU5hbWUoKSA9PSAiX3Ff
VGlsZWRCYWNraW5nU3RvcmVUaWxlU2l6ZSIpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
cXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggYzUzMGYwOC4u
N2M2YjY5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0wMi0yMSAgTWlz
aGEgVHl1dHl1bmlrICA8bWljaGFlbC50eXV0eXVuaWtAbm9raWEuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gSW50cm9kdWNlZCBmbGFn
IHRvIGRpc2FibGUgaHRtbCBsYXllciBjYWNoZSBmb3IgQUMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDg4NworCisgICAgICAgICogQXBpL3F3ZWJw
YWdlLmNwcDoKKyAgICAgICAgKFFXZWJQYWdlUHJpdmF0ZTo6ZHluYW1pY1Byb3BlcnR5Q2hhbmdl
RXZlbnQpOgorCiAyMDExLTAyLTE3ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEtlbnQgVGFtdXJhLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83327</attachid>
            <date>2011-02-22 09:03:56 -0800</date>
            <delta_ts>2011-02-22 13:12:22 -0800</delta_ts>
            <desc>win build fix</desc>
            <filename>nohtmllayercache.diff</filename>
            <type>text/plain</type>
            <size>10903</size>
            <attacher name="Misha">mtutunik</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4NzkxMDgxLi5kMTU3ZDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjgg
QEAKKzIwMTEtMDItMjEgIE1pc2hhIFR5dXR5dW5payAgPG1pY2hhZWwudHl1dHl1bmlrQG5va2lh
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgW1F0
XSBJbnRyb2R1Y2VkIGZsYWcgdG8gZGlzYWJsZSBodG1sIGxheWVyIGNhY2hlIGZvciBBQy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0ODg3CisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzIHJlcXVpcmVkLgorCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRDb21wb3NpdGluZ0NhY2hlTW9k
ZSk6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
Vmlldzo6Y29tcG9zaXRpbmdDYWNoZU1vZGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzTGF5ZXJDbGllbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9H
cmFwaGljc0xheWVyUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllclF0SW1w
bDo6ZHJhd0xheWVyQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyUXRJ
bXBsOjpwYWludCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OmNvbXBvc2l0aW5nVXNlc0Nh
Y2hlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmg6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OlJlbmRlckxheWVyQ29tcG9zaXRvcik6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNhY2hlQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0ZsYWdzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmg6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNvbXBvc2l0aW5nVXNl
c0NhY2hlKToKKwogMjAxMS0wMi0yMSAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBZdXJ5IFNlbWlraGF0c2t5LgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCmluZGV4IGM5MzM1NjQuLjFjZDJlNmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAKQEAgLTEwNiw2ICsxMDYsOCBAQCBkb3VibGUgRnJhbWVWaWV3OjpzX21heERl
ZmVycmVkUmVwYWludERlbGF5RHVyaW5nTG9hZGluZyA9IDA7CiBkb3VibGUgRnJhbWVWaWV3Ojpz
X2RlZmVycmVkUmVwYWludERlbGF5SW5jcmVtZW50RHVyaW5nTG9hZGluZyA9IDA7CiAjZW5kaWYK
IAorYm9vbCBGcmFtZVZpZXc6OnNfY29tcG9zaXRpbmdDYWNoZU1vZGUgPSB0cnVlOworCiAvLyBU
aGUgbWF4aW11bSBudW1iZXIgb2YgdXBkYXRlV2lkZ2V0cyBpdGVyYXRpb25zIHRoYXQgc2hvdWxk
IGJlIGRvbmUgYmVmb3JlIHJldHVybmluZy4KIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXhVcGRh
dGVXaWRnZXRzSXRlcmF0aW9ucyA9IDI7CiAKQEAgLTI2NzMsNSArMjY3NSwxMSBAQCBBWE9iamVj
dENhY2hlKiBGcmFtZVZpZXc6OmF4T2JqZWN0Q2FjaGUoKSBjb25zdAogICAgICAgICByZXR1cm4g
ZnJhbWUoKS0+ZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpOwogICAgIHJldHVybiAwOwogfQor
Cit2b2lkIEZyYW1lVmlldzo6c2V0Q29tcG9zaXRpbmdDYWNoZU1vZGUoYm9vbCBvbikKK3sKKyAg
ICBzX2NvbXBvc2l0aW5nQ2FjaGVNb2RlID0gb247Cit9CisKICAgICAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IDVmYWI0YTQuLjBiYWVhYTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMjUyLDYgKzI1Miw5IEBAIHB1YmxpYzoKICAgICBi
b29sIGlzRnJhbWVWaWV3U2Nyb2xsQ29ybmVyKFJlbmRlclNjcm9sbGJhclBhcnQqIHNjcm9sbENv
cm5lcikgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxDb3JuZXIgPT0gc2Nyb2xsQ29ybmVyOyB9CiAg
ICAgdm9pZCBpbnZhbGlkYXRlU2Nyb2xsQ29ybmVyKCk7CiAKKyAgICBzdGF0aWMgdm9pZCBzZXRD
b21wb3NpdGluZ0NhY2hlTW9kZShib29sIG9uKTsKKyAgICBzdGF0aWMgYm9vbCBjb21wb3NpdGlu
Z0NhY2hlTW9kZSgpIHsgcmV0dXJuIHNfY29tcG9zaXRpbmdDYWNoZU1vZGU7IH0KKwogICAgIHZv
aWQgY2FsY3VsYXRlU2Nyb2xsYmFyTW9kZXNGb3JMYXlvdXQoU2Nyb2xsYmFyTW9kZSYgaE1vZGUs
IFNjcm9sbGJhck1vZGUmIHZNb2RlKTsKIAogICAgIC8vIE5vcm1hbCBkZWxheQpAQCAtNDIyLDYg
KzQyNSw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGRvdWJsZSBzX2luaXRpYWxEZWZlcnJlZFJl
cGFpbnREZWxheUR1cmluZ0xvYWRpbmc7CiAgICAgc3RhdGljIGRvdWJsZSBzX21heERlZmVycmVk
UmVwYWludERlbGF5RHVyaW5nTG9hZGluZzsKICAgICBzdGF0aWMgZG91YmxlIHNfZGVmZXJyZWRS
ZXBhaW50RGVsYXlJbmNyZW1lbnREdXJpbmdMb2FkaW5nOworICAgIHN0YXRpYyBib29sICAgc19j
b21wb3NpdGluZ0NhY2hlTW9kZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJDbGll
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJDbGll
bnQuaAppbmRleCBhZmIyOTdkLi42MDljN2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckNsaWVudC5oCkBAIC02NSw2ICs2NSw3
IEBAIHB1YmxpYzoKICAgICAKICAgICB2aXJ0dWFsIGJvb2wgc2hvd0RlYnVnQm9yZGVycygpIGNv
bnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgc2hvd1JlcGFpbnRDb3VudGVyKCkgY29uc3QgPSAw
OworICAgIHZpcnR1YWwgYm9vbCBjb21wb3NpdGluZ1VzZXNDYWNoZSgpIGNvbnN0ID0gMDsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuY3BwCmluZGV4IDBkN2FhNDUuLjcw
MjExY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dy
YXBoaWNzTGF5ZXJRdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvR3JhcGhpY3NMYXllclF0LmNwcApAQCAtMjA3LDYgKzIwNyw4IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIENvbG9yIHRpbGVkQmFja2luZ1N0b3JlQmFja2dyb3VuZENvbG9yKCkgY29uc3Q7CiAj
ZW5kaWYKIAorICAgIHZvaWQgZHJhd0xheWVyQ29udGVudChRUGFpbnRlciYsIFFSZWdpb24mKTsK
KwogcHVibGljIHNsb3RzOgogICAgIC8vIFdlIG5lZWQgdG8gbm90aWZ5IHRoZSBjbGllbnQgKGll
LiB0aGUgbGF5ZXIgY29tcG9zaXRvcikgd2hlbiB0aGUgYW5pbWF0aW9uIGFjdHVhbGx5IHN0YXJ0
cy4KICAgICB2b2lkIG5vdGlmeUFuaW1hdGlvblN0YXJ0ZWQoKTsKQEAgLTM4MSw2ICszODMsMTUg
QEAgY29uc3QgR3JhcGhpY3NMYXllclF0SW1wbCogR3JhcGhpY3NMYXllclF0SW1wbDo6cm9vdExh
eWVyKCkgY29uc3QKICAgICByZXR1cm4gdGhpczsKIH0KIAordm9pZCBHcmFwaGljc0xheWVyUXRJ
bXBsOjpkcmF3TGF5ZXJDb250ZW50KFFQYWludGVyJiBwYWludGVyLCBRUmVnaW9uJiByZWdpb24p
Cit7CisgICAgcGFpbnRlci5zZXRDbGlwUmVnaW9uKHJlZ2lvbiwgUXQ6OkludGVyc2VjdENsaXAp
OworICAgIHBhaW50ZXIuc2V0Q29tcG9zaXRpb25Nb2RlKFFQYWludGVyOjpDb21wb3NpdGlvbk1v
ZGVfU291cmNlT3Zlcik7CisgICAgR3JhcGhpY3NDb250ZXh0IGdjKCZwYWludGVyKTsKKyAgICBt
X2xheWVyLT5wYWludEdyYXBoaWNzTGF5ZXJDb250ZW50cyhnYywgcmVnaW9uLmJvdW5kaW5nUmVj
dCgpKTsKK30KKworCiBRUGl4bWFwIEdyYXBoaWNzTGF5ZXJRdEltcGw6OnJlY2FjaGUoY29uc3Qg
UVJlZ2lvbiYgcmVnaW9uVG9VcGRhdGUpCiB7CiAgICAgaWYgKCFtX2xheWVyLT5kcmF3c0NvbnRl
bnQoKSB8fCBtX3NpemUuaXNFbXB0eSgpIHx8ICFtX3NpemUuaXNWYWxpZCgpKQpAQCAtNjMwLDEy
ICs2NDEsMTcgQEAgdm9pZCBHcmFwaGljc0xheWVyUXRJbXBsOjpwYWludChRUGFpbnRlciogcGFp
bnRlciwgY29uc3QgUVN0eWxlT3B0aW9uR3JhcGhpY3NJdGUKICAgICBzd2l0Y2ggKG1fY3VycmVu
dENvbnRlbnQuY29udGVudFR5cGUpIHsKICAgICBjYXNlIEhUTUxDb250ZW50VHlwZToKICAgICAg
ICAgaWYgKG1fc3RhdGUuZHJhd3NDb250ZW50KSB7Ci0gICAgICAgICAgICBRUGl4bWFwIGJhY2tp
bmdTdG9yZTsKLSAgICAgICAgICAgIC8vIFdlIG1pZ2h0IG5lZWQgdG8gcmVjYWNoZSwgaW4gY2Fz
ZSB3ZSB0cnkgdG8gcGFpbnQgYW5kIHRoZSBjYWNoZSB3YXMgcHVyZ2VkIChlLmcuIGlmIGl0IHdh
cyBmdWxsKS4KLSAgICAgICAgICAgIGlmICghUVBpeG1hcENhY2hlOjpmaW5kKG1fYmFja2luZ1N0
b3JlLmtleSwgJmJhY2tpbmdTdG9yZSkgfHwgYmFja2luZ1N0b3JlLnNpemUoKSAhPSBtX3NpemUu
dG9TaXplKCkpCi0gICAgICAgICAgICAgICAgYmFja2luZ1N0b3JlID0gcmVjYWNoZShRUmVnaW9u
KG1fc3RhdGUuY29udGVudHNSZWN0KSk7Ci0gICAgICAgICAgICBjb25zdCBRUmVjdEYgYm91bmRz
KDAsIDAsIG1fYmFja2luZ1N0b3JlLnNpemUud2lkdGgoKSwgbV9iYWNraW5nU3RvcmUuc2l6ZS5o
ZWlnaHQoKSk7Ci0gICAgICAgICAgICBwYWludGVyLT5kcmF3UGl4bWFwKDAsIDAsIGJhY2tpbmdT
dG9yZSk7CisgICAgICAgICAgICBpZiAoIW1fbGF5ZXItPmNsaWVudCgpLT5jb21wb3NpdGluZ1Vz
ZXNDYWNoZSgpKSB7CisgICAgICAgICAgICAgICAgUVJlZ2lvbiByZWdpb24ob3B0aW9uLT5leHBv
c2VkUmVjdC50b1JlY3QoKSk7CisgICAgICAgICAgICAgICAgZHJhd0xheWVyQ29udGVudCgqcGFp
bnRlciwgcmVnaW9uKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgUVBp
eG1hcCBiYWNraW5nU3RvcmU7CisgICAgICAgICAgICAgICAgLy8gV2UgbWlnaHQgbmVlZCB0byBy
ZWNhY2hlLCBpbiBjYXNlIHdlIHRyeSB0byBwYWludCBhbmQgdGhlIGNhY2hlIHdhcyBwdXJnZWQg
KGUuZy4gaWYgaXQgd2FzIGZ1bGwpLgorICAgICAgICAgICAgICAgIGlmICghUVBpeG1hcENhY2hl
OjpmaW5kKG1fYmFja2luZ1N0b3JlLmtleSwgJmJhY2tpbmdTdG9yZSkgfHwgYmFja2luZ1N0b3Jl
LnNpemUoKSAhPSBtX3NpemUudG9TaXplKCkpCisgICAgICAgICAgICAgICAgICAgIGJhY2tpbmdT
dG9yZSA9IHJlY2FjaGUoUVJlZ2lvbihtX3N0YXRlLmNvbnRlbnRzUmVjdCkpOworICAgICAgICAg
ICAgICAgIGNvbnN0IFFSZWN0RiBib3VuZHMoMCwgMCwgbV9iYWNraW5nU3RvcmUuc2l6ZS53aWR0
aCgpLCBtX2JhY2tpbmdTdG9yZS5zaXplLmhlaWdodCgpKTsKKyAgICAgICAgICAgICAgICBwYWlu
dGVyLT5kcmF3UGl4bWFwKDAsIDAsIGJhY2tpbmdTdG9yZSk7CisgICAgICAgICAgICB9CiAgICAg
ICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQaXhtYXBDb250ZW50VHlwZToKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclBy
aXZhdGVRdWlja1RpbWVXaW4uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9NZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVXaW4uaAppbmRleCBhYjliMWYwLi4yY2Y4ZTU3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQ
bGF5ZXJQcml2YXRlUXVpY2tUaW1lV2luLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZVF1aWNrVGltZVdpbi5oCkBAIC03MSw2ICs3
MSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeVN5bmNSZXF1aXJlZChjb25z
dCBHcmFwaGljc0xheWVyKikgeyB9CiAgICAgdmlydHVhbCBib29sIHNob3dEZWJ1Z0JvcmRlcnMo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBzaG93UmVwYWludENv
dW50ZXIoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBjb21wb3Np
dGluZ1VzZXNDYWNoZSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICNlbmRpZiAKIAogICAgIE1l
ZGlhUGxheWVyUHJpdmF0ZShNZWRpYVBsYXllciopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCBjMGYwNGIzLi44OWZkNzMxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAt
MTE0Myw2ICsxMTQzLDExIEBAIGJvb2wgUmVuZGVyTGF5ZXJCYWNraW5nOjpzaG93UmVwYWludENv
dW50ZXIoKSBjb25zdAogICAgIHJldHVybiBjb21wb3NpdG9yKCkgPyBjb21wb3NpdG9yKCktPmNv
bXBvc2l0b3JTaG93UmVwYWludENvdW50ZXIoKSA6IGZhbHNlOwogfQogCitib29sIFJlbmRlckxh
eWVyQmFja2luZzo6Y29tcG9zaXRpbmdVc2VzQ2FjaGUoKSBjb25zdAoreworICAgIHJldHVybiBj
b21wb3NpdG9yKCkgPyBjb21wb3NpdG9yKCktPmNvbXBvc2l0aW5nVXNlc0NhY2hlKCkgOiBmYWxz
ZTsKK30KKwogYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnN0YXJ0QW5pbWF0aW9uKGRvdWJsZSB0
aW1lT2Zmc2V0LCBjb25zdCBBbmltYXRpb24qIGFuaW0sIGNvbnN0IEtleWZyYW1lTGlzdCYga2V5
ZnJhbWVzKQogewogICAgIGJvb2wgaGFzT3BhY2l0eSA9IGtleWZyYW1lcy5jb250YWluc1Byb3Bl
cnR5KENTU1Byb3BlcnR5T3BhY2l0eSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJCYWNraW5nLmgKaW5kZXggNzI2Yjc3Ny4uZGQzMTExMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaApAQCAtMTM5LDYgKzEzOSw4IEBA
IHB1YmxpYzoKICAgICAKICAgICAvLyBGb3IgaW5mb3JtYXRpdmUgcHVycG9zZXMgb25seS4KICAg
ICBDb21wb3NpdGluZ0xheWVyVHlwZSBjb21wb3NpdGluZ0xheWVyVHlwZSgpIGNvbnN0OworCisg
ICAgdmlydHVhbCBib29sIGNvbXBvc2l0aW5nVXNlc0NhY2hlKCkgY29uc3Q7CiAgICAgCiAgICAg
dm9pZCB1cGRhdGVDb250ZW50c1NjYWxlKGZsb2F0KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCAzY2QzNTQ4Li4xZWY1
NWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21w
b3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21w
b3NpdG9yLmNwcApAQCAtMTA3LDYgKzEwNyw3IEBAIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6UmVu
ZGVyTGF5ZXJDb21wb3NpdG9yKFJlbmRlclZpZXcqIHJlbmRlclZpZXcpCiAjaWYgUFJPRklMRV9M
QVlFUl9SRUJVSUxECiAgICAgLCBtX3Jvb3RMYXllclVwZGF0ZUNvdW50KDApCiAjZW5kaWYgLy8g
UFJPRklMRV9MQVlFUl9SRUJVSUxECisgICAgLCBtX2NvbXBvc2l0aW5nVXNlc0NhY2hlKHRydWUp
CiB7CiB9CiAKQEAgLTE1OCw2ICsxNTksNyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6
Y2FjaGVBY2NlbGVyYXRlZENvbXBvc2l0aW5nRmxhZ3MoKQogICAgIG1faGFzQWNjZWxlcmF0ZWRD
b21wb3NpdGluZyA9IGhhc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmc7CiAgICAgbV9zaG93RGVidWdC
b3JkZXJzID0gc2hvd0RlYnVnQm9yZGVyczsKICAgICBtX3Nob3dSZXBhaW50Q291bnRlciA9IHNo
b3dSZXBhaW50Q291bnRlcjsKKyAgICBtX2NvbXBvc2l0aW5nVXNlc0NhY2hlID0gbV9oYXNBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nICYmIEZyYW1lVmlldzo6Y29tcG9zaXRpbmdDYWNoZU1vZGUoKTsK
IH0KIAogYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNhblJlbmRlcjNEVHJhbnNmb3Jtcygp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJD
b21wb3NpdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3Np
dG9yLmgKaW5kZXggMzJkNjRkMy4uYTU0ZmM0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaApAQCAtMTg0LDYgKzE4NCw4IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgdXBkYXRlQ29udGVudHNTY2FsZShmbG9hdCwgUmVuZGVyTGF5ZXIqID0g
MCk7CiAKKyAgICBib29sIGNvbXBvc2l0aW5nVXNlc0NhY2hlKCkgY29uc3QgeyByZXR1cm4gbV9j
b21wb3NpdGluZ1VzZXNDYWNoZTsgfQorCiBwcml2YXRlOgogICAgIC8vIEdyYXBoaWNzTGF5ZXJD
bGllbnQgSW1wbGVtZW50YXRpb24KICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5QW5pbWF0aW9uU3Rh
cnRlZChjb25zdCBHcmFwaGljc0xheWVyKiwgZG91YmxlKSB7IH0KQEAgLTI4Miw2ICsyODQsOCBA
QCBwcml2YXRlOgogI2lmIFBST0ZJTEVfTEFZRVJfUkVCVUlMRAogICAgIGludCBtX3Jvb3RMYXll
clVwZGF0ZUNvdW50OwogI2VuZGlmCisKKyAgICBib29sIG1fY29tcG9zaXRpbmdVc2VzQ2FjaGU7
CiB9OwogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCBi
L1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCA1Zjc1YTIxLi5hYjYxMzQ0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCkBAIC0xMTczLDYgKzExNzMsOSBAQCB2b2lk
IFFXZWJQYWdlUHJpdmF0ZTo6ZHluYW1pY1Byb3BlcnR5Q2hhbmdlRXZlbnQoUUR5bmFtaWNQcm9w
ZXJ0eUNoYW5nZUV2ZW50KiBldgogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAg
fQogICAgICAgICB9CisgICAgfSBlbHNlIGlmIChldmVudC0+cHJvcGVydHlOYW1lKCkgPT0gIl9x
X0NvbXBvc2l0aW5nUGl4bWFwQ2FjaGVGb3JIdG1sTGF5ZXIiKSB7CisgICAgICAgIGJvb2wgaGFz
Y2FjaGUgPSBxLT5wcm9wZXJ0eSgiX3FfQ29tcG9zaXRpbmdQaXhtYXBDYWNoZUZvckh0bWxMYXll
ciIpLnRvQm9vbCgpOworICAgICAgICBGcmFtZVZpZXc6OnNldENvbXBvc2l0aW5nQ2FjaGVNb2Rl
KGhhc2NhY2hlKTsKICAgICB9CiAjaWYgRU5BQkxFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCiAgICAg
ZWxzZSBpZiAoZXZlbnQtPnByb3BlcnR5TmFtZSgpID09ICJfcV9UaWxlZEJhY2tpbmdTdG9yZVRp
bGVTaXplIikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCBjNTMwZjA4Li43YzZiNjkxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTAyLTIxICBNaXNoYSBUeXV0eXVuaWsgIDxtaWNo
YWVsLnR5dXR5dW5pa0Bub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgW1F0XSBJbnRyb2R1Y2VkIGZsYWcgdG8gZGlzYWJsZSBodG1sIGxh
eWVyIGNhY2hlIGZvciBBQy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTU0ODg3CisKKyAgICAgICAgKiBBcGkvcXdlYnBhZ2UuY3BwOgorICAgICAgICAo
UVdlYlBhZ2VQcml2YXRlOjpkeW5hbWljUHJvcGVydHlDaGFuZ2VFdmVudCk6CisKIDIwMTEtMDIt
MTcgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgS2VudCBUYW11cmEuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83375</attachid>
            <date>2011-02-22 13:12:22 -0800</date>
            <delta_ts>2011-02-23 09:40:05 -0800</delta_ts>
            <desc>new patch</desc>
            <filename>nohtmllayercache.diff</filename>
            <type>text/plain</type>
            <size>4430</size>
            <attacher name="Misha">mtutunik</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxMmYwNWExLi5hMjMxMWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTEtMDItMjIgIE1pc2hhIFR5dXR5dW5payAgPG1pY2hhZWwudHl1dHl1bmlrQG5va2lh
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBb
UXRdIERvbnQgdXNlIFFQaXhtYXBDYWNoZSBpZiAgUVBpeG1hcENhY2hlOjpjYWNoZUxpbWl0KCkg
aXMgdG9vIHNtYWxsIAorKDIwNDhLYiBmb3Igbm93KS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0ODg3CisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHJl
cXVpcmVkLiAKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJR
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyUXRJbXBsOjphbGxvd0FjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdDYWNoZSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVy
UXRJbXBsOjpkcmF3TGF5ZXJDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5
ZXJRdEltcGw6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJRdEltcGw6
OmZsdXNoQ2hhbmdlcyk6CisKIDIwMTEtMDEtMTcgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNv
bkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFhhbiBMb3Blei4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQu
Y3BwCmluZGV4IDBkN2FhNDUuLjFjNjY4NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NMYXllclF0LmNwcApAQCAtNTQsNiArNTQs
NyBAQAogI2RlZmluZSBHUkFQSElDU19MQVlFUl9USUxJTkdfVEhSRVNIT0xEIDIwMDAKICNlbmRp
ZgogCisjZGVmaW5lIFBJWE1BUF9DQUNIRV9VU0VfVEhSRVNIT0xEIDIwNDgKIAogI2RlZmluZSBR
VF9ERUJVR19SRUNBQ0hFIDAKICNkZWZpbmUgUVRfREVCVUdfQ0FDSEVEVU1QIDAKQEAgLTIwNyw2
ICsyMDgsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgQ29sb3IgdGlsZWRCYWNraW5nU3RvcmVC
YWNrZ3JvdW5kQ29sb3IoKSBjb25zdDsKICNlbmRpZgogCisgICAgc3RhdGljIGJvb2wgYWxsb3dB
Y2NlbGVyYXRlZENvbXBvc2l0aW5nQ2FjaGUoKSB7IHJldHVybiBRUGl4bWFwQ2FjaGU6OmNhY2hl
TGltaXQoKSA+IFBJWE1BUF9DQUNIRV9VU0VfVEhSRVNIT0xEOyB9CisKKyAgICB2b2lkIGRyYXdM
YXllckNvbnRlbnQoUVBhaW50ZXImLCBRUmVnaW9uJik7CisKIHB1YmxpYyBzbG90czoKICAgICAv
LyBXZSBuZWVkIHRvIG5vdGlmeSB0aGUgY2xpZW50IChpZS4gdGhlIGxheWVyIGNvbXBvc2l0b3Ip
IHdoZW4gdGhlIGFuaW1hdGlvbiBhY3R1YWxseSBzdGFydHMuCiAgICAgdm9pZCBub3RpZnlBbmlt
YXRpb25TdGFydGVkKCk7CkBAIC0zODEsNiArMzg2LDE1IEBAIGNvbnN0IEdyYXBoaWNzTGF5ZXJR
dEltcGwqIEdyYXBoaWNzTGF5ZXJRdEltcGw6OnJvb3RMYXllcigpIGNvbnN0CiAgICAgcmV0dXJu
IHRoaXM7CiB9CiAKKwordm9pZCBHcmFwaGljc0xheWVyUXRJbXBsOjpkcmF3TGF5ZXJDb250ZW50
KFFQYWludGVyJiBwYWludGVyLCBRUmVnaW9uJiByZWdpb24pCit7CisgICAgcGFpbnRlci5zZXRD
bGlwUmVnaW9uKHJlZ2lvbiwgUXQ6OkludGVyc2VjdENsaXApOworICAgIHBhaW50ZXIuc2V0Q29t
cG9zaXRpb25Nb2RlKFFQYWludGVyOjpDb21wb3NpdGlvbk1vZGVfU291cmNlT3Zlcik7CisgICAg
R3JhcGhpY3NDb250ZXh0IGdjKCZwYWludGVyKTsKKyAgICBtX2xheWVyLT5wYWludEdyYXBoaWNz
TGF5ZXJDb250ZW50cyhnYywgcmVnaW9uLmJvdW5kaW5nUmVjdCgpKTsKK30KKwogUVBpeG1hcCBH
cmFwaGljc0xheWVyUXRJbXBsOjpyZWNhY2hlKGNvbnN0IFFSZWdpb24mIHJlZ2lvblRvVXBkYXRl
KQogewogICAgIGlmICghbV9sYXllci0+ZHJhd3NDb250ZW50KCkgfHwgbV9zaXplLmlzRW1wdHko
KSB8fCAhbV9zaXplLmlzVmFsaWQoKSkKQEAgLTYzMCwxMiArNjQ0LDE4IEBAIHZvaWQgR3JhcGhp
Y3NMYXllclF0SW1wbDo6cGFpbnQoUVBhaW50ZXIqIHBhaW50ZXIsIGNvbnN0IFFTdHlsZU9wdGlv
bkdyYXBoaWNzSXRlCiAgICAgc3dpdGNoIChtX2N1cnJlbnRDb250ZW50LmNvbnRlbnRUeXBlKSB7
CiAgICAgY2FzZSBIVE1MQ29udGVudFR5cGU6CiAgICAgICAgIGlmIChtX3N0YXRlLmRyYXdzQ29u
dGVudCkgewotICAgICAgICAgICAgUVBpeG1hcCBiYWNraW5nU3RvcmU7Ci0gICAgICAgICAgICAv
LyBXZSBtaWdodCBuZWVkIHRvIHJlY2FjaGUsIGluIGNhc2Ugd2UgdHJ5IHRvIHBhaW50IGFuZCB0
aGUgY2FjaGUgd2FzIHB1cmdlZCAoZS5nLiBpZiBpdCB3YXMgZnVsbCkuCi0gICAgICAgICAgICBp
ZiAoIVFQaXhtYXBDYWNoZTo6ZmluZChtX2JhY2tpbmdTdG9yZS5rZXksICZiYWNraW5nU3RvcmUp
IHx8IGJhY2tpbmdTdG9yZS5zaXplKCkgIT0gbV9zaXplLnRvU2l6ZSgpKQotICAgICAgICAgICAg
ICAgIGJhY2tpbmdTdG9yZSA9IHJlY2FjaGUoUVJlZ2lvbihtX3N0YXRlLmNvbnRlbnRzUmVjdCkp
OwotICAgICAgICAgICAgY29uc3QgUVJlY3RGIGJvdW5kcygwLCAwLCBtX2JhY2tpbmdTdG9yZS5z
aXplLndpZHRoKCksIG1fYmFja2luZ1N0b3JlLnNpemUuaGVpZ2h0KCkpOwotICAgICAgICAgICAg
cGFpbnRlci0+ZHJhd1BpeG1hcCgwLCAwLCBiYWNraW5nU3RvcmUpOworICAgICAgICAgICAgaWYg
KCFhbGxvd0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDYWNoZSgpKSB7CisgICAgICAgICAgICAgICAg
UVJlZ2lvbiByZWdpb24ob3B0aW9uLT5leHBvc2VkUmVjdC50b1JlY3QoKSk7CisgICAgICAgICAg
ICAgICAgZHJhd0xheWVyQ29udGVudCgqcGFpbnRlciwgcmVnaW9uKTsKKyAgICAgICAgICAgIH0g
ZWxzZSB7CisKKyAgICAgICAgICAgICAgICBRUGl4bWFwIGJhY2tpbmdTdG9yZTsKKyAgICAgICAg
ICAgICAgICAvLyBXZSBtaWdodCBuZWVkIHRvIHJlY2FjaGUsIGluIGNhc2Ugd2UgdHJ5IHRvIHBh
aW50IGFuZCB0aGUgY2FjaGUgd2FzIHB1cmdlZCAoZS5nLiBpZiBpdCB3YXMgZnVsbCkuCisgICAg
ICAgICAgICAgICAgaWYgKCFRUGl4bWFwQ2FjaGU6OmZpbmQobV9iYWNraW5nU3RvcmUua2V5LCAm
YmFja2luZ1N0b3JlKSB8fCBiYWNraW5nU3RvcmUuc2l6ZSgpICE9IG1fc2l6ZS50b1NpemUoKSkK
KyAgICAgICAgICAgICAgICAgICAgYmFja2luZ1N0b3JlID0gcmVjYWNoZShRUmVnaW9uKG1fc3Rh
dGUuY29udGVudHNSZWN0KSk7CisgICAgICAgICAgICAgICAgY29uc3QgUVJlY3RGIGJvdW5kcygw
LCAwLCBtX2JhY2tpbmdTdG9yZS5zaXplLndpZHRoKCksIG1fYmFja2luZ1N0b3JlLnNpemUuaGVp
Z2h0KCkpOworICAgICAgICAgICAgICAgIHBhaW50ZXItPmRyYXdQaXhtYXAoMCwgMCwgYmFja2lu
Z1N0b3JlKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICBj
YXNlIFBpeG1hcENvbnRlbnRUeXBlOgpAQCAtODM3LDcgKzg1Nyw3IEBAIHZvaWQgR3JhcGhpY3NM
YXllclF0SW1wbDo6Zmx1c2hDaGFuZ2VzKGJvb2wgcmVjdXJzaXZlLCBib29sIGZvcmNlVXBkYXRl
VHJhbnNmb3JtCiAgICAgICAgIC8vIFJlY2FjaGUgbm93OiBhbGwgdGhlIGNvbnRlbnQgaXMgcmVh
ZHkgYW5kIHdlIGRvbid0IHdhbnQgdG8gd2FpdCB1bnRpbCB0aGUgcGFpbnQgZXZlbnQuCiAgICAg
ICAgIC8vIFdlIG9ubHkgbmVlZCB0byBkbyB0aGlzIGZvciBIVE1MIGNvbnRlbnQsIHRoZXJlJ3Mg
bm8gcG9pbnQgaW4gY2FjaGluZyBkaXJlY3RseSBjb21wb3NpdGVkCiAgICAgICAgIC8vIGNvbnRl
bnQgbGlrZSBpbWFnZXMgb3Igc29saWQgcmVjdGFuZ2xlcy4KLSAgICAgICAgaWYgKG1fcGVuZGlu
Z0NvbnRlbnQuY29udGVudFR5cGUgPT0gSFRNTENvbnRlbnRUeXBlKQorICAgICAgICBpZiAobV9w
ZW5kaW5nQ29udGVudC5jb250ZW50VHlwZSA9PSBIVE1MQ29udGVudFR5cGUgJiYgYWxsb3dBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nQ2FjaGUoKSkKICAgICAgICAgICAgIHJlY2FjaGUobV9wZW5kaW5n
Q29udGVudC5yZWdpb25Ub1VwZGF0ZSk7CiAjZW5kaWYKICAgICAgICAgdXBkYXRlKG1fcGVuZGlu
Z0NvbnRlbnQucmVnaW9uVG9VcGRhdGUuYm91bmRpbmdSZWN0KCkpOwo=
</data>
<flag name="review"
          id="75183"
          type_id="1"
          status="-"
          setter="kling"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83493</attachid>
            <date>2011-02-23 09:40:05 -0800</date>
            <delta_ts>2011-02-24 11:32:15 -0800</delta_ts>
            <desc>Fixed style and clip region</desc>
            <filename>nohtmllayercache.diff</filename>
            <type>text/plain</type>
            <size>4550</size>
            <attacher name="Misha">mtutunik</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0MzhkN2E2Li44MjE4ODY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTEtMDItMjMgIE1pc2hhIFR5dXR5dW5payAgPG1pY2hhZWwudHl1dHl1bmlrQG5va2lh
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBb
UXRdIERvbnQgdXNlIFFQaXhtYXBDYWNoZSBpZiBRUGl4bWFwQ2FjaGU6OmNhY2hlTGltaXQoKSBp
cyB0b28gc21hbGwgCisgICAgICAgICgyMDQ4S2IgZm9yIG5vdykuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDg4NworCisgICAgICAgIE5vIG5ldyB0
ZXN0cyByZXF1aXJlZC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNz
TGF5ZXJRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyUXRJbXBsOjphbGxv
d0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDYWNoZSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGlj
c0xheWVyUXRJbXBsOjpkcmF3TGF5ZXJDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzTGF5ZXJRdEltcGw6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJR
dEltcGw6OmZsdXNoQ2hhbmdlcyk6CisKIDIwMTEtMDItMjMgIEhhbnMgV2VubmJvcmcgIDxoYW5z
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbmRleGVkREI6IE1vdmUgc29tZSBTUUwgY29kZSBp
bnRvIElEQkJhY2tpbmdTdG9yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvcXQvR3JhcGhpY3NMYXllclF0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5jcHAKaW5kZXggMGQ3YWE0NS4uZjNjZmM0NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NM
YXllclF0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFw
aGljc0xheWVyUXQuY3BwCkBAIC01NCw3ICs1NCw2IEBACiAjZGVmaW5lIEdSQVBISUNTX0xBWUVS
X1RJTElOR19USFJFU0hPTEQgMjAwMAogI2VuZGlmCiAKLQogI2RlZmluZSBRVF9ERUJVR19SRUNB
Q0hFIDAKICNkZWZpbmUgUVRfREVCVUdfQ0FDSEVEVU1QIDAKIApAQCAtNjIsNiArNjEsOCBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0YXRpYyBjb25zdCBpbnQgZ01pbmltdW1QaXhtYXBD
YWNoZUxpbWl0ID0gMjA0ODsKKwogI2lmbmRlZiBRVF9OT19HUkFQSElDU0VGRkVDVAogY2xhc3Mg
TWFza0VmZmVjdFF0IDogcHVibGljIFFHcmFwaGljc0VmZmVjdCB7CiBwdWJsaWM6CkBAIC0yMDcs
NiArMjA4LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIENvbG9yIHRpbGVkQmFja2luZ1N0b3Jl
QmFja2dyb3VuZENvbG9yKCkgY29uc3Q7CiAjZW5kaWYKIAorICAgIHN0YXRpYyBib29sIGFsbG93
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NhY2hlKCkgeyByZXR1cm4gUVBpeG1hcENhY2hlOjpjYWNo
ZUxpbWl0KCkgPiBnTWluaW11bVBpeG1hcENhY2hlTGltaXQ7IH0KKworICAgIHZvaWQgZHJhd0xh
eWVyQ29udGVudChRUGFpbnRlciosIGNvbnN0IFFSZWN0Jik7CisKIHB1YmxpYyBzbG90czoKICAg
ICAvLyBXZSBuZWVkIHRvIG5vdGlmeSB0aGUgY2xpZW50IChpZS4gdGhlIGxheWVyIGNvbXBvc2l0
b3IpIHdoZW4gdGhlIGFuaW1hdGlvbiBhY3R1YWxseSBzdGFydHMuCiAgICAgdm9pZCBub3RpZnlB
bmltYXRpb25TdGFydGVkKCk7CkBAIC0zODEsNiArMzg2LDE1IEBAIGNvbnN0IEdyYXBoaWNzTGF5
ZXJRdEltcGwqIEdyYXBoaWNzTGF5ZXJRdEltcGw6OnJvb3RMYXllcigpIGNvbnN0CiAgICAgcmV0
dXJuIHRoaXM7CiB9CiAKKwordm9pZCBHcmFwaGljc0xheWVyUXRJbXBsOjpkcmF3TGF5ZXJDb250
ZW50KFFQYWludGVyKiBwYWludGVyLCBjb25zdCBRUmVjdCYgY2xpcFJlY3QpCit7CisgICAgcGFp
bnRlci0+c2V0Q2xpcFJlY3QoY2xpcFJlY3QsIFF0OjpJbnRlcnNlY3RDbGlwKTsKKyAgICBwYWlu
dGVyLT5zZXRDb21wb3NpdGlvbk1vZGUoUVBhaW50ZXI6OkNvbXBvc2l0aW9uTW9kZV9Tb3VyY2VP
dmVyKTsKKyAgICBHcmFwaGljc0NvbnRleHQgZ2MocGFpbnRlcik7CisgICAgbV9sYXllci0+cGFp
bnRHcmFwaGljc0xheWVyQ29udGVudHMoZ2MsIGNsaXBSZWN0KTsKK30KKwogUVBpeG1hcCBHcmFw
aGljc0xheWVyUXRJbXBsOjpyZWNhY2hlKGNvbnN0IFFSZWdpb24mIHJlZ2lvblRvVXBkYXRlKQog
ewogICAgIGlmICghbV9sYXllci0+ZHJhd3NDb250ZW50KCkgfHwgbV9zaXplLmlzRW1wdHkoKSB8
fCAhbV9zaXplLmlzVmFsaWQoKSkKQEAgLTYzMCwxMiArNjQ0LDE2IEBAIHZvaWQgR3JhcGhpY3NM
YXllclF0SW1wbDo6cGFpbnQoUVBhaW50ZXIqIHBhaW50ZXIsIGNvbnN0IFFTdHlsZU9wdGlvbkdy
YXBoaWNzSXRlCiAgICAgc3dpdGNoIChtX2N1cnJlbnRDb250ZW50LmNvbnRlbnRUeXBlKSB7CiAg
ICAgY2FzZSBIVE1MQ29udGVudFR5cGU6CiAgICAgICAgIGlmIChtX3N0YXRlLmRyYXdzQ29udGVu
dCkgewotICAgICAgICAgICAgUVBpeG1hcCBiYWNraW5nU3RvcmU7Ci0gICAgICAgICAgICAvLyBX
ZSBtaWdodCBuZWVkIHRvIHJlY2FjaGUsIGluIGNhc2Ugd2UgdHJ5IHRvIHBhaW50IGFuZCB0aGUg
Y2FjaGUgd2FzIHB1cmdlZCAoZS5nLiBpZiBpdCB3YXMgZnVsbCkuCi0gICAgICAgICAgICBpZiAo
IVFQaXhtYXBDYWNoZTo6ZmluZChtX2JhY2tpbmdTdG9yZS5rZXksICZiYWNraW5nU3RvcmUpIHx8
IGJhY2tpbmdTdG9yZS5zaXplKCkgIT0gbV9zaXplLnRvU2l6ZSgpKQotICAgICAgICAgICAgICAg
IGJhY2tpbmdTdG9yZSA9IHJlY2FjaGUoUVJlZ2lvbihtX3N0YXRlLmNvbnRlbnRzUmVjdCkpOwot
ICAgICAgICAgICAgY29uc3QgUVJlY3RGIGJvdW5kcygwLCAwLCBtX2JhY2tpbmdTdG9yZS5zaXpl
LndpZHRoKCksIG1fYmFja2luZ1N0b3JlLnNpemUuaGVpZ2h0KCkpOwotICAgICAgICAgICAgcGFp
bnRlci0+ZHJhd1BpeG1hcCgwLCAwLCBiYWNraW5nU3RvcmUpOworICAgICAgICAgICAgaWYgKCFh
bGxvd0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDYWNoZSgpKQorICAgICAgICAgICAgICAgIGRyYXdM
YXllckNvbnRlbnQocGFpbnRlciwgb3B0aW9uLT5leHBvc2VkUmVjdC50b1JlY3QoKSk7CisgICAg
ICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICBRUGl4bWFwIGJhY2tpbmdTdG9yZTsKKyAg
ICAgICAgICAgICAgICAvLyBXZSBtaWdodCBuZWVkIHRvIHJlY2FjaGUsIGluIGNhc2Ugd2UgdHJ5
IHRvIHBhaW50IGFuZCB0aGUgY2FjaGUgd2FzIHB1cmdlZCAoZS5nLiBpZiBpdCB3YXMgZnVsbCku
CisgICAgICAgICAgICAgICAgaWYgKCFRUGl4bWFwQ2FjaGU6OmZpbmQobV9iYWNraW5nU3RvcmUu
a2V5LCAmYmFja2luZ1N0b3JlKSB8fCBiYWNraW5nU3RvcmUuc2l6ZSgpICE9IG1fc2l6ZS50b1Np
emUoKSkKKyAgICAgICAgICAgICAgICAgICAgYmFja2luZ1N0b3JlID0gcmVjYWNoZShRUmVnaW9u
KG1fc3RhdGUuY29udGVudHNSZWN0KSk7CisgICAgICAgICAgICAgICAgY29uc3QgUVJlY3RGIGJv
dW5kcygwLCAwLCBtX2JhY2tpbmdTdG9yZS5zaXplLndpZHRoKCksIG1fYmFja2luZ1N0b3JlLnNp
emUuaGVpZ2h0KCkpOworICAgICAgICAgICAgICAgIHBhaW50ZXItPmRyYXdQaXhtYXAoMCwgMCwg
YmFja2luZ1N0b3JlKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBicmVhazsK
ICAgICBjYXNlIFBpeG1hcENvbnRlbnRUeXBlOgpAQCAtODM3LDcgKzg1NSw3IEBAIHZvaWQgR3Jh
cGhpY3NMYXllclF0SW1wbDo6Zmx1c2hDaGFuZ2VzKGJvb2wgcmVjdXJzaXZlLCBib29sIGZvcmNl
VXBkYXRlVHJhbnNmb3JtCiAgICAgICAgIC8vIFJlY2FjaGUgbm93OiBhbGwgdGhlIGNvbnRlbnQg
aXMgcmVhZHkgYW5kIHdlIGRvbid0IHdhbnQgdG8gd2FpdCB1bnRpbCB0aGUgcGFpbnQgZXZlbnQu
CiAgICAgICAgIC8vIFdlIG9ubHkgbmVlZCB0byBkbyB0aGlzIGZvciBIVE1MIGNvbnRlbnQsIHRo
ZXJlJ3Mgbm8gcG9pbnQgaW4gY2FjaGluZyBkaXJlY3RseSBjb21wb3NpdGVkCiAgICAgICAgIC8v
IGNvbnRlbnQgbGlrZSBpbWFnZXMgb3Igc29saWQgcmVjdGFuZ2xlcy4KLSAgICAgICAgaWYgKG1f
cGVuZGluZ0NvbnRlbnQuY29udGVudFR5cGUgPT0gSFRNTENvbnRlbnRUeXBlKQorICAgICAgICBp
ZiAobV9wZW5kaW5nQ29udGVudC5jb250ZW50VHlwZSA9PSBIVE1MQ29udGVudFR5cGUgJiYgYWxs
b3dBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ2FjaGUoKSkKICAgICAgICAgICAgIHJlY2FjaGUobV9w
ZW5kaW5nQ29udGVudC5yZWdpb25Ub1VwZGF0ZSk7CiAjZW5kaWYKICAgICAgICAgdXBkYXRlKG1f
cGVuZGluZ0NvbnRlbnQucmVnaW9uVG9VcGRhdGUuYm91bmRpbmdSZWN0KCkpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>