<?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>35524</bug_id>
          
          <creation_ts>2010-03-01 04:45:29 -0800</creation_ts>
          <short_desc>[Qt] GraphicsLayer: support plugins</short_desc>
          <delta_ts>2011-03-29 21:25:54 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Plug-ins</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P3</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>47418</dependson>
    
    <dependson>47485</dependson>
    
    <dependson>47571</dependson>
          <blocked>57418</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Noam Rosenthal">noam</reporter>
          <assigned_to name="Girish Ramakrishnan">girish</assigned_to>
          <cc>ademar</cc>
    
    <cc>christian.webkit</cc>
    
    <cc>eric</cc>
    
    <cc>girish</cc>
    
    <cc>hausmann</cc>
    
    <cc>ostap73</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>zuh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>194682</commentid>
    <comment_count>0</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-03-01 04:45:29 -0800</bug_when>
    <thetext>This would probably involve creating a special PluginWidget and QGraphicsItem for NPAPI/Qt plugins. Right now the WebCore API for that doesn&apos;t seem very clear and the NPAPI plugins are very platform specific.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196521</commentid>
    <comment_count>1</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2010-03-05 09:39:50 -0800</bug_when>
    <thetext>
Please follow the QtWebKit bug reporting guidelines when reporting bugs.

See http://trac.webkit.org/wiki/QtWebKitBugs

Specifically:

  - The &apos;QtWebKit&apos; component should be used for bugs/features in the public QtWebKit API layer, not to signify that the bug is specific to the Qt port of WebKit

    http://trac.webkit.org/wiki/QtWebKitBugs#Component</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291572</commentid>
    <comment_count>2</comment_count>
    <who name="Girish Ramakrishnan">girish</who>
    <bug_when>2010-10-08 05:21:26 -0700</bug_when>
    <thetext>Initial version - http://gitorious.org/~girish/webkit/girishs-webkit/commits/plugins_ac_35524</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291599</commentid>
    <comment_count>3</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-10-08 06:18:57 -0700</bug_when>
    <thetext>&gt; #if USE(ACCELERATED_COMPOSITING)
&gt;     m_platformLayer-&gt;update();
&gt; #else
&gt;     invalidate();
&gt; #endif

Maybe instead of duplicating that code we can just do it once in forceUpdate(), and call forceUpdate() from all the other places?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291627</commentid>
    <comment_count>4</comment_count>
    <who name="Girish Ramakrishnan">girish</who>
    <bug_when>2010-10-08 07:03:41 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; &gt; #if USE(ACCELERATED_COMPOSITING)
&gt; &gt;     m_platformLayer-&gt;update();
&gt; &gt; #else
&gt; &gt;     invalidate();
&gt; &gt; #endif
&gt; 
&gt; Maybe instead of duplicating that code we can just do it once in forceUpdate(), and call forceUpdate() from all the other places?

Agree. 

Do you think I had it all correct conceptually?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291630</commentid>
    <comment_count>5</comment_count>
    <who name="Girish Ramakrishnan">girish</who>
    <bug_when>2010-10-08 07:07:02 -0700</bug_when>
    <thetext>What&apos;s left:
1. Check if the resizing code is correct. 
    1.a. Check if we need a Plugin type (and just media type) in the layering code.
2. Enable/Disable AC not just based on the compile-time define but also on the settings value.
3. Transparent flash
4. Check on m6.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291635</commentid>
    <comment_count>6</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-10-08 07:12:51 -0700</bug_when>
    <thetext>&gt; Do you think I had it all correct conceptually?
Yes, looks pretty clean!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292501</commentid>
    <comment_count>7</comment_count>
      <attachid>70438</attachid>
    <who name="Girish Ramakrishnan">girish</who>
    <bug_when>2010-10-11 09:01:10 -0700</bug_when>
    <thetext>Created attachment 70438
Refactor rendering code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292512</commentid>
    <comment_count>8</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-10-11 09:59:50 -0700</bug_when>
    <thetext>Attachment 70438 did not build on qt:
Build output: http://queues.webkit.org/results/4362022</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292529</commentid>
    <comment_count>9</comment_count>
      <attachid>70444</attachid>
    <who name="Girish Ramakrishnan">girish</who>
    <bug_when>2010-10-11 10:20:35 -0700</bug_when>
    <thetext>Created attachment 70444
Second try

Fix the build problem</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293622</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-10-13 12:28:10 -0700</bug_when>
    <thetext>Attachment 70444 was posted by a committer and has review+, assigning to Girish Ramakrishnan for commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293939</commentid>
    <comment_count>11</comment_count>
    <who name="Girish Ramakrishnan">girish</who>
    <bug_when>2010-10-13 21:05:05 -0700</bug_when>
    <thetext>Patch landed in http://trac.webkit.org/changeset/69518. 

There is still work to do on this patch, please don&apos;t close the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295521</commentid>
    <comment_count>12</comment_count>
      <attachid>71039</attachid>
    <who name="Girish Ramakrishnan">girish</who>
    <bug_when>2010-10-18 08:35:31 -0700</bug_when>
    <thetext>Created attachment 71039
AC for NPAPI plugins</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295604</commentid>
    <comment_count>13</comment_count>
      <attachid>71039</attachid>
    <who name="Ariya Hidayat">ariya.hidayat</who>
    <bug_when>2010-10-18 10:41:31 -0700</bug_when>
    <thetext>Comment on attachment 71039
AC for NPAPI plugins

Looks good!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295670</commentid>
    <comment_count>14</comment_count>
      <attachid>71068</attachid>
    <who name="Girish Ramakrishnan">girish</who>
    <bug_when>2010-10-18 11:57:06 -0700</bug_when>
    <thetext>Created attachment 71068
use OwnPtr

per ariya&apos;s suggestion on irc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295673</commentid>
    <comment_count>15</comment_count>
      <attachid>71070</attachid>
    <who name="Girish Ramakrishnan">girish</who>
    <bug_when>2010-10-18 12:09:02 -0700</bug_when>
    <thetext>Created attachment 71070
remove 0 initialization

OwnPtr is already inited to 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295675</commentid>
    <comment_count>16</comment_count>
      <attachid>71070</attachid>
    <who name="Ariya Hidayat">ariya.hidayat</who>
    <bug_when>2010-10-18 12:10:03 -0700</bug_when>
    <thetext>Comment on attachment 71070
remove 0 initialization

LGTM. r+=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295678</commentid>
    <comment_count>17</comment_count>
    <who name="Girish Ramakrishnan">girish</who>
    <bug_when>2010-10-18 12:14:55 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/69981</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296262</commentid>
    <comment_count>18</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2010-10-19 10:27:58 -0700</bug_when>
    <thetext>Unfortunately I&apos;m not familiar with this change... can someone please tell me if there&apos;s a hard-requirement to have this as part of qtwebkit-2.1? The release is frozen and unless there&apos;s a hard-requirement (discussed in the program meetings) or a critical bug, patches will not be cherry-picked anymore.

The same is valid for the other related bugs: Bug 47418 and bug 47571. I would like to remove both as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296323</commentid>
    <comment_count>19</comment_count>
    <who name="Girish Ramakrishnan">girish</who>
    <bug_when>2010-10-19 12:16:05 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; Unfortunately I&apos;m not familiar with this change... can someone please tell me if there&apos;s a hard-requirement to have this as part of qtwebkit-2.1? The release is frozen and unless there&apos;s a hard-requirement (discussed in the program meetings) or a critical bug, patches will not be cherry-picked anymore.
&gt; 
&gt; The same is valid for the other related bugs: Bug 47418 and bug 47571. I would like to remove both as well.

This change might be required for m6. I am not 100% sure, I will get back in a day or two.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297843</commentid>
    <comment_count>20</comment_count>
    <who name="Girish Ramakrishnan">girish</who>
    <bug_when>2010-10-21 23:10:28 -0700</bug_when>
    <thetext>I have removed this from 2.1. Tests show that AC is slower than non-AC on m6. On the desktop, there appears to be no difference.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>360511</commentid>
    <comment_count>21</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2011-03-01 18:58:19 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; I have removed this from 2.1. Tests show that AC is slower than non-AC on m6. On the desktop, there appears to be no difference.

Hi Girish,

  How did you test this? Did you try AC with tiled backing store switched on with animated plugins? Something like this: http://goo.gl/uhgYk or this: http://goo.gl/bb202
  Looks strange, that repainting plugin on tiles is faster, than repainting only AC layer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>360757</commentid>
    <comment_count>22</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-03-02 06:01:19 -0800</bug_when>
    <thetext>This corresponds to http://bugreports.qt.nokia.com/browse/QTWEBKIT-94</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361387</commentid>
    <comment_count>23</comment_count>
    <who name="Girish Ramakrishnan">girish</who>
    <bug_when>2011-03-02 23:35:23 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; (In reply to comment #20)
&gt; &gt; I have removed this from 2.1. Tests show that AC is slower than non-AC on m6. On the desktop, there appears to be no difference.
&gt; 
&gt; Hi Girish,
&gt; 
&gt;   How did you test this? Did you try AC with tiled backing store switched on with animated plugins? Something like this: http://goo.gl/uhgYk or this: http://goo.gl/bb202
&gt;   Looks strange, that repainting plugin on tiles is faster, than repainting only AC layer.

IIRC, I tested with flash fps test at http://www.shinedraw.com/mathematics/flash-vs-silverlight-fps-meter-stress-test/. There is also this other flash fps file that I used to test. I don&apos;t think I can attach that swf here since I am not sure about it&apos;s license.

As for whether tiled backing store was off/on, I just used the default which I think is off. As I understand, enabling tiled backing store shouldn&apos;t affect my tests (it might make the thing slower because of the caching)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361596</commentid>
    <comment_count>24</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2011-03-03 07:16:30 -0800</bug_when>
    <thetext>&gt; As for whether tiled backing store was off/on, I just used the default which I 
&gt; think is off. As I understand, enabling tiled backing store shouldn&apos;t affect 
&gt; my tests (it might make the thing slower because of the caching)

Actually, it should affect your tests a lot!
Without tiled backing store you will not get any advantage, because on any flash update layers below flash will have to be redrawn.
If tiled backing store is switched on and animated plugin is not in layer, then it will cause redrawing of plugin (and content) on tiles. This is quite slow and can cause visual artifacts if plugin covers more than one tile.
The best case if tiled backing store is used and plugin is in AC layer. On plugin repaint only plugin layer gets repainted and content below plugin will be blit from tiles (no content redraw).
IMHO, the whole idea of AC is to removed dynamically updated/repositioned content from cached main layer and there is no use to have AC without main layer cache.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70438</attachid>
            <date>2010-10-11 09:01:10 -0700</date>
            <delta_ts>2010-10-11 10:20:35 -0700</delta_ts>
            <desc>Refactor rendering code</desc>
            <filename>refactor</filename>
            <type>text/plain</type>
            <size>5380</size>
            <attacher name="Girish Ramakrishnan">girish</attacher>
            
              <data encoding="base64">Y29tbWl0IGYzYWNlODNjOTU1NmM0OGZiZDIyYTlmMzFiOTVjMjFhOWRhZjlkZjQKQXV0aG9yOiBH
aXJpc2ggUmFtYWtyaXNobmFuIDxnaXJpc2hAZm9yd2FyZGJpYXMuaW4+CkRhdGU6ICAgRnJpIE9j
dCA4IDE2OjU0OjM5IDIwMTAgKzA1MzAKCiAgICAyMDEwLTEwLTExICBHaXJpc2ggUmFtYWtyaXNo
bmFuICA8Z2lyaXNoQGZvcndhcmRiaWFzLmluPgogICAgCiAgICAgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgogICAgCiAgICAgICAgICAgIFtRdF0gUmVmYWN0b3IgUGx1Z2luIFgg
UGl4bWFwIHBhaW50aW5nIGNvZGUgdG8gYSBzZXBhcmF0ZSBmdW5jdGlvbgogICAgCiAgICAgICAg
ICAgIFRoZSByZWZhY3RvcmVkIGZ1bmN0aW9uIHdpbGwgYmUgdXNlZCBmb3IgcmVuZGVyaW5nIGJ5
IHRoZSBBY2NlbGVyYXRlZAogICAgICAgICAgICBDb21wb3NpdGlvbiBlbmFibGVkIGdyYXBoaWNz
IGxheWVyLgogICAgCiAgICAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zNTUyNAogICAgCiAgICAgICAgICAgICogcGx1Z2lucy9QbHVnaW5WaWV3Lmg6CiAg
ICAgICAgICAgICogcGx1Z2lucy9xdC9QbHVnaW5WaWV3UXQuY3BwOgogICAgICAgICAgICAoV2Vi
Q29yZTo6UGx1Z2luVmlldzo6cGFpbnRVc2luZ1hQaXhtYXApOgogICAgICAgICAgICAoV2ViQ29y
ZTo6UGx1Z2luVmlldzo6cGFpbnQpOgoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTllZTZlMC4uMGM1ZjhmZCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTIsNiArMiwyMiBAQAog
CiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCisgICAgICAgIFtRdF0gUmVm
YWN0b3IgUGx1Z2luIFggUGl4bWFwIHBhaW50aW5nIGNvZGUgdG8gYSBzZXBhcmF0ZSBmdW5jdGlv
bgorCisgICAgICAgIFRoZSByZWZhY3RvcmVkIGZ1bmN0aW9uIHdpbGwgYmUgdXNlZCBmb3IgcmVu
ZGVyaW5nIGJ5IHRoZSBBY2NlbGVyYXRlZAorICAgICAgICBDb21wb3NpdGlvbiBlbmFibGVkIGdy
YXBoaWNzIGxheWVyLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zNTUyNAorCisgICAgICAgICogcGx1Z2lucy9QbHVnaW5WaWV3Lmg6CisgICAgICAg
ICogcGx1Z2lucy9xdC9QbHVnaW5WaWV3UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2lu
Vmlldzo6cGFpbnRVc2luZ1hQaXhtYXApOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6
cGFpbnQpOgorCisyMDEwLTEwLTExICBHaXJpc2ggUmFtYWtyaXNobmFuICA8Z2lyaXNoQGZvcndh
cmRiaWFzLmluPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCiAgICAg
ICAgIFtRdF0gR3JhcGhpY3NMYXllclF0IHNob3VsZCByZXNpemUgdGhlIG1lZGlhIGVsZW1lbnQg
d2hlbiBzaXplIG9mIHRoZQogICAgICAgICBlbGVtZW50IGNoYW5nZXMuIFRoZXJlIGlzIGFuIGlt
cGxpY2l0IGFzc3VtcHRpb24gdGhhdCBNZWRpYSBlbGVtZW50cyBhcmUKICAgICAgICAgaW1wbGVt
ZW50ZWQgYXMgUUdyYXBoaWNzV2lkZ2V0cy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9Q
bHVnaW5WaWV3LmggYi9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCmluZGV4IGY1ZWUxNjgu
Ljg5NDVkMTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmgKKysrIGIv
V2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaApAQCAtNDAyLDExICs0MDIsMTYgQEAgcHJpdmF0
ZToKICAgICAgICAgdm9pZCBpbml0WEV2ZW50KFhFdmVudCogZXZlbnQpOwogI2VuZGlmCiAKLSNp
ZiBQTEFURk9STShRVCkgJiYgZGVmaW5lZChNT1pfUExBVEZPUk1fTUFFTU8pICYmIChNT1pfUExB
VEZPUk1fTUFFTU8gPj0gNSkKKyNpZiBQTEFURk9STShRVCkgCisjaWYgZGVmaW5lZChNT1pfUExB
VEZPUk1fTUFFTU8pICYmIChNT1pfUExBVEZPUk1fTUFFTU8gPj0gNSkKICAgICAgICAgUUltYWdl
IG1faW1hZ2U7CiAgICAgICAgIGJvb2wgbV9yZW5kZXJUb0ltYWdlOwogICAgICAgICB2b2lkIHBh
aW50VXNpbmdJbWFnZVN1cmZhY2VFeHRlbnNpb24oUVBhaW50ZXIqIHBhaW50ZXIsIGNvbnN0IElu
dFJlY3QmIGV4cG9zZWRSZWN0KTsKICNlbmRpZgorI2lmIGRlZmluZWQoWFBfVU5JWCkgJiYgRU5B
QkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCisgICAgICAgIHZvaWQgcGFpbnRVc2luZ1hQaXhtYXAo
UVBhaW50ZXIqIHBhaW50ZXIsIGNvbnN0IFFSZWN0ICZleHBvc2VkUmVjdCk7CisjZW5kaWYKKyNl
bmRpZgogCiAgICAgICAgIEludFJlY3QgbV9jbGlwUmVjdDsgLy8gVGhlIGNsaXAgcmVjdCB0byBh
cHBseSB0byBhIHdpbmRvd2VkIHBsdWctaW4KICAgICAgICAgSW50UmVjdCBtX3dpbmRvd1JlY3Q7
IC8vIE91ciB3aW5kb3cgcmVjdC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9xdC9QbHVn
aW5WaWV3UXQuY3BwIGIvV2ViQ29yZS9wbHVnaW5zL3F0L1BsdWdpblZpZXdRdC5jcHAKaW5kZXgg
NTUzNDRjOS4uMmY2YmNhOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbHVnaW5zL3F0L1BsdWdpblZp
ZXdRdC5jcHAKKysrIGIvV2ViQ29yZS9wbHVnaW5zL3F0L1BsdWdpblZpZXdRdC5jcHAKQEAgLTIz
Nyw0MCArMjM3LDggQEAgdm9pZCBQbHVnaW5WaWV3OjpwYWludFVzaW5nSW1hZ2VTdXJmYWNlRXh0
ZW5zaW9uKFFQYWludGVyKiBwYWludGVyLCBjb25zdCBJbnRSZWMKIH0KICNlbmRpZgogCi12b2lk
IFBsdWdpblZpZXc6OnBhaW50KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UmVj
dCYgcmVjdCkKK3ZvaWQgUGx1Z2luVmlldzo6cGFpbnRVc2luZ1hQaXhtYXAoUVBhaW50ZXIqIHBh
aW50ZXIsIGNvbnN0IFFSZWN0ICZleHBvc2VkUmVjdCkKIHsKLSAgICBpZiAoIW1faXNTdGFydGVk
KSB7Ci0gICAgICAgIHBhaW50TWlzc2luZ1BsdWdpbkljb24oY29udGV4dCwgcmVjdCk7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoY29udGV4dC0+cGFpbnRpbmdEaXNhYmxlZCgp
KQotICAgICAgICByZXR1cm47Ci0KLSAgICBzZXROUFdpbmRvd0lmTmVlZGVkKCk7Ci0KLSAgICBp
ZiAobV9pc1dpbmRvd2VkKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoIW1fZHJhd2FibGUK
LSNpZiBkZWZpbmVkKE1PWl9QTEFURk9STV9NQUVNTykgJiYgKE1PWl9QTEFURk9STV9NQUVNTyA+
PSA1KQotICAgICAgICAmJiBtX2ltYWdlLmlzTnVsbCgpCi0jZW5kaWYKLSAgICAgICApCi0gICAg
ICAgIHJldHVybjsKLQotICAgIFFQYWludGVyKiBwYWludGVyID0gY29udGV4dC0+cGxhdGZvcm1D
b250ZXh0KCk7Ci0gICAgSW50UmVjdCBleHBvc2VkUmVjdChyZWN0KTsKLSAgICBleHBvc2VkUmVj
dC5pbnRlcnNlY3QoZnJhbWVSZWN0KCkpOwotICAgIGV4cG9zZWRSZWN0Lm1vdmUoLWZyYW1lUmVj
dCgpLngoKSwgLWZyYW1lUmVjdCgpLnkoKSk7Ci0KLSNpZiBkZWZpbmVkKE1PWl9QTEFURk9STV9N
QUVNTykgJiYgKE1PWl9QTEFURk9STV9NQUVNTyA+PSA1KQotICAgIGlmICghbV9pbWFnZS5pc051
bGwoKSkgewotICAgICAgICBwYWludFVzaW5nSW1hZ2VTdXJmYWNlRXh0ZW5zaW9uKHBhaW50ZXIs
IGV4cG9zZWRSZWN0KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSNlbmRpZgotCiAgICAgUVBp
eG1hcCBxdERyYXdhYmxlID0gUVBpeG1hcDo6ZnJvbVgxMVBpeG1hcChtX2RyYXdhYmxlLCBRUGl4
bWFwOjpFeHBsaWNpdGx5U2hhcmVkKTsKICAgICBjb25zdCBpbnQgZHJhd2FibGVEZXB0aCA9ICgo
TlBTZXRXaW5kb3dDYWxsYmFja1N0cnVjdCopbV9ucFdpbmRvdy53c19pbmZvKS0+ZGVwdGg7CiAg
ICAgQVNTRVJUKGRyYXdhYmxlRGVwdGggPT0gcXREcmF3YWJsZS5kZXB0aCgpKTsKQEAgLTMyOCw4
ICsyOTYsNDYgQEAgdm9pZCBQbHVnaW5WaWV3OjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRl
eHQsIGNvbnN0IEludFJlY3QmIHJlY3QpCiAgICAgaWYgKHN5bmNYKQogICAgICAgICBYU3luYyht
X3BsdWdpbkRpc3BsYXksIGZhbHNlKTsgLy8gc3luYyBjaGFuZ2VzIGJ5IHBsdWdpbgogCi0gICAg
cGFpbnRlci0+ZHJhd1BpeG1hcChRUG9pbnQoZnJhbWVSZWN0KCkueCgpICsgZXhwb3NlZFJlY3Qu
eCgpLCBmcmFtZVJlY3QoKS55KCkgKyBleHBvc2VkUmVjdC55KCkpLCBxdERyYXdhYmxlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgZXhwb3NlZFJlY3QpOworICAgIHBhaW50ZXItPmRyYXdQaXht
YXAoUVBvaW50KGV4cG9zZWRSZWN0LngoKSwgZXhwb3NlZFJlY3QueSgpKSwgcXREcmF3YWJsZSwg
ZXhwb3NlZFJlY3QpOworfQorCit2b2lkIFBsdWdpblZpZXc6OnBhaW50KEdyYXBoaWNzQ29udGV4
dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgcmVjdCkKK3sKKyAgICBpZiAoIW1faXNTdGFydGVk
KSB7CisgICAgICAgIHBhaW50TWlzc2luZ1BsdWdpbkljb24oY29udGV4dCwgcmVjdCk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoY29udGV4dC0+cGFpbnRpbmdEaXNhYmxlZCgp
KQorICAgICAgICByZXR1cm47CisKKyAgICBzZXROUFdpbmRvd0lmTmVlZGVkKCk7CisKKyAgICBp
ZiAobV9pc1dpbmRvd2VkKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIW1fZHJhd2FibGUK
KyNpZiBkZWZpbmVkKE1PWl9QTEFURk9STV9NQUVNTykgJiYgKE1PWl9QTEFURk9STV9NQUVNTyA+
PSA1KQorICAgICAgICAmJiBtX2ltYWdlLmlzTnVsbCgpCisjZW5kaWYKKyAgICAgICApCisgICAg
ICAgIHJldHVybjsKKworICAgIFFQYWludGVyKiBwYWludGVyID0gY29udGV4dC0+cGxhdGZvcm1D
b250ZXh0KCk7CisgICAgSW50UmVjdCBleHBvc2VkUmVjdChyZWN0KTsKKyAgICBleHBvc2VkUmVj
dC5pbnRlcnNlY3QoZnJhbWVSZWN0KCkpOworICAgIGV4cG9zZWRSZWN0Lm1vdmUoLWZyYW1lUmVj
dCgpLngoKSwgLWZyYW1lUmVjdCgpLnkoKSk7CisKKyNpZiBkZWZpbmVkKE1PWl9QTEFURk9STV9N
QUVNTykgJiYgKE1PWl9QTEFURk9STV9NQUVNTyA+PSA1KQorICAgIGlmICghbV9pbWFnZS5pc051
bGwoKSkgeworICAgICAgICBwYWludFVzaW5nSW1hZ2VTdXJmYWNlRXh0ZW5zaW9uKHBhaW50ZXIs
IGV4cG9zZWRSZWN0KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorCisgICAgcGFp
bnRlci0+dHJhbnNsYXRlKGZyYW1lUmVjdCgpLngoKSwgZnJhbWVSZWN0KCkueSgpKTsKKyAgICBw
YWludFVzaW5nWFBpeG1hcChwYWludGVyLCBleHBvc2VkUmVjdCk7CisgICAgcGFpbnRlci0+dHJh
bnNsYXRlKC1mcmFtZVJlY3QoKS54KCksIC1mcmFtZVJlY3QoKS55KCkpOwogfQogCiAvLyBUT0RP
OiBVbmlmeSBhY3Jvc3MgcG9ydHMuCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70444</attachid>
            <date>2010-10-11 10:20:35 -0700</date>
            <delta_ts>2010-10-11 11:43:05 -0700</delta_ts>
            <desc>Second try</desc>
            <filename>refactor</filename>
            <type>text/plain</type>
            <size>5619</size>
            <attacher name="Girish Ramakrishnan">girish</attacher>
            
              <data encoding="base64">Y29tbWl0IGNjYmJkMjkyNWZkYzE4ZWRlODgxMjExZWFiMTFkMzQzNDhiY2ExNWIKQXV0aG9yOiBH
aXJpc2ggUmFtYWtyaXNobmFuIDxnaXJpc2hAZm9yd2FyZGJpYXMuaW4+CkRhdGU6ICAgRnJpIE9j
dCA4IDE2OjU0OjM5IDIwMTAgKzA1MzAKCiAgICAyMDEwLTEwLTExICBHaXJpc2ggUmFtYWtyaXNo
bmFuICA8Z2lyaXNoQGZvcndhcmRiaWFzLmluPgogICAgCiAgICAgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgogICAgCiAgICAgICAgICAgIFtRdF0gUmVmYWN0b3IgUGx1Z2luIFgg
UGl4bWFwIHBhaW50aW5nIGNvZGUgdG8gYSBzZXBhcmF0ZSBmdW5jdGlvbgogICAgCiAgICAgICAg
ICAgIFRoZSByZWZhY3RvcmVkIGZ1bmN0aW9uIHdpbGwgYmUgdXNlZCBmb3IgcmVuZGVyaW5nIGJ5
IHRoZSBBY2NlbGVyYXRlZAogICAgICAgICAgICBDb21wb3NpdGlvbiBlbmFibGVkIGdyYXBoaWNz
IGxheWVyLgogICAgCiAgICAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zNTUyNAogICAgCiAgICAgICAgICAgICogcGx1Z2lucy9QbHVnaW5WaWV3Lmg6CiAg
ICAgICAgICAgICogcGx1Z2lucy9xdC9QbHVnaW5WaWV3UXQuY3BwOgogICAgICAgICAgICAoV2Vi
Q29yZTo6UGx1Z2luVmlldzo6cGFpbnRVc2luZ1hQaXhtYXApOgogICAgICAgICAgICAoV2ViQ29y
ZTo6UGx1Z2luVmlldzo6cGFpbnQpOgoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTllZTZlMC4uMGM1ZjhmZCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTIsNiArMiwyMiBAQAog
CiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCisgICAgICAgIFtRdF0gUmVm
YWN0b3IgUGx1Z2luIFggUGl4bWFwIHBhaW50aW5nIGNvZGUgdG8gYSBzZXBhcmF0ZSBmdW5jdGlv
bgorCisgICAgICAgIFRoZSByZWZhY3RvcmVkIGZ1bmN0aW9uIHdpbGwgYmUgdXNlZCBmb3IgcmVu
ZGVyaW5nIGJ5IHRoZSBBY2NlbGVyYXRlZAorICAgICAgICBDb21wb3NpdGlvbiBlbmFibGVkIGdy
YXBoaWNzIGxheWVyLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zNTUyNAorCisgICAgICAgICogcGx1Z2lucy9QbHVnaW5WaWV3Lmg6CisgICAgICAg
ICogcGx1Z2lucy9xdC9QbHVnaW5WaWV3UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2lu
Vmlldzo6cGFpbnRVc2luZ1hQaXhtYXApOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6
cGFpbnQpOgorCisyMDEwLTEwLTExICBHaXJpc2ggUmFtYWtyaXNobmFuICA8Z2lyaXNoQGZvcndh
cmRiaWFzLmluPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCiAgICAg
ICAgIFtRdF0gR3JhcGhpY3NMYXllclF0IHNob3VsZCByZXNpemUgdGhlIG1lZGlhIGVsZW1lbnQg
d2hlbiBzaXplIG9mIHRoZQogICAgICAgICBlbGVtZW50IGNoYW5nZXMuIFRoZXJlIGlzIGFuIGlt
cGxpY2l0IGFzc3VtcHRpb24gdGhhdCBNZWRpYSBlbGVtZW50cyBhcmUKICAgICAgICAgaW1wbGVt
ZW50ZWQgYXMgUUdyYXBoaWNzV2lkZ2V0cy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9Q
bHVnaW5WaWV3LmggYi9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCmluZGV4IGY1ZWUxNjgu
LmUzN2RiZGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmgKKysrIGIv
V2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaApAQCAtNTcsNyArNTcsNyBAQCB0eXBlZGVmIFBs
YXRmb3JtV2lkZ2V0IFBsYXRmb3JtUGx1Z2luV2lkZ2V0OwogI2luY2x1ZGUgPFFQaXhtYXA+CiAj
ZW5kaWYKICNlbmRpZgotI2lmIFBMQVRGT1JNKFFUKSAmJiBkZWZpbmVkKE1PWl9QTEFURk9STV9N
QUVNTykgJiYgKE1PWl9QTEFURk9STV9NQUVNTyA+PSA1KQorI2lmIFBMQVRGT1JNKFFUKQogI2lu
Y2x1ZGUgPFFJbWFnZT4KIGNsYXNzIFFQYWludGVyOwogI2VuZGlmCkBAIC00MDIsMTEgKzQwMiwx
NiBAQCBwcml2YXRlOgogICAgICAgICB2b2lkIGluaXRYRXZlbnQoWEV2ZW50KiBldmVudCk7CiAj
ZW5kaWYKIAotI2lmIFBMQVRGT1JNKFFUKSAmJiBkZWZpbmVkKE1PWl9QTEFURk9STV9NQUVNTykg
JiYgKE1PWl9QTEFURk9STV9NQUVNTyA+PSA1KQorI2lmIFBMQVRGT1JNKFFUKSAKKyNpZiBkZWZp
bmVkKE1PWl9QTEFURk9STV9NQUVNTykgJiYgKE1PWl9QTEFURk9STV9NQUVNTyA+PSA1KQogICAg
ICAgICBRSW1hZ2UgbV9pbWFnZTsKICAgICAgICAgYm9vbCBtX3JlbmRlclRvSW1hZ2U7CiAgICAg
ICAgIHZvaWQgcGFpbnRVc2luZ0ltYWdlU3VyZmFjZUV4dGVuc2lvbihRUGFpbnRlciogcGFpbnRl
ciwgY29uc3QgSW50UmVjdCYgZXhwb3NlZFJlY3QpOwogI2VuZGlmCisjaWYgZGVmaW5lZChYUF9V
TklYKSAmJiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKKyAgICAgICAgdm9pZCBwYWludFVz
aW5nWFBpeG1hcChRUGFpbnRlciogcGFpbnRlciwgY29uc3QgUVJlY3QgJmV4cG9zZWRSZWN0KTsK
KyNlbmRpZgorI2VuZGlmCiAKICAgICAgICAgSW50UmVjdCBtX2NsaXBSZWN0OyAvLyBUaGUgY2xp
cCByZWN0IHRvIGFwcGx5IHRvIGEgd2luZG93ZWQgcGx1Zy1pbgogICAgICAgICBJbnRSZWN0IG1f
d2luZG93UmVjdDsgLy8gT3VyIHdpbmRvdyByZWN0LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbHVn
aW5zL3F0L1BsdWdpblZpZXdRdC5jcHAgYi9XZWJDb3JlL3BsdWdpbnMvcXQvUGx1Z2luVmlld1F0
LmNwcAppbmRleCA1NTM0NGM5Li4yZjZiY2E5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsdWdpbnMv
cXQvUGx1Z2luVmlld1F0LmNwcAorKysgYi9XZWJDb3JlL3BsdWdpbnMvcXQvUGx1Z2luVmlld1F0
LmNwcApAQCAtMjM3LDQwICsyMzcsOCBAQCB2b2lkIFBsdWdpblZpZXc6OnBhaW50VXNpbmdJbWFn
ZVN1cmZhY2VFeHRlbnNpb24oUVBhaW50ZXIqIHBhaW50ZXIsIGNvbnN0IEludFJlYwogfQogI2Vu
ZGlmCiAKLXZvaWQgUGx1Z2luVmlldzo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBj
b25zdCBJbnRSZWN0JiByZWN0KQordm9pZCBQbHVnaW5WaWV3OjpwYWludFVzaW5nWFBpeG1hcChR
UGFpbnRlciogcGFpbnRlciwgY29uc3QgUVJlY3QgJmV4cG9zZWRSZWN0KQogewotICAgIGlmICgh
bV9pc1N0YXJ0ZWQpIHsKLSAgICAgICAgcGFpbnRNaXNzaW5nUGx1Z2luSWNvbihjb250ZXh0LCBy
ZWN0KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChjb250ZXh0LT5wYWludGlu
Z0Rpc2FibGVkKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIHNldE5QV2luZG93SWZOZWVkZWQo
KTsKLQotICAgIGlmIChtX2lzV2luZG93ZWQpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmICgh
bV9kcmF3YWJsZQotI2lmIGRlZmluZWQoTU9aX1BMQVRGT1JNX01BRU1PKSAmJiAoTU9aX1BMQVRG
T1JNX01BRU1PID49IDUpCi0gICAgICAgICYmIG1faW1hZ2UuaXNOdWxsKCkKLSNlbmRpZgotICAg
ICAgICkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgUVBhaW50ZXIqIHBhaW50ZXIgPSBjb250ZXh0
LT5wbGF0Zm9ybUNvbnRleHQoKTsKLSAgICBJbnRSZWN0IGV4cG9zZWRSZWN0KHJlY3QpOwotICAg
IGV4cG9zZWRSZWN0LmludGVyc2VjdChmcmFtZVJlY3QoKSk7Ci0gICAgZXhwb3NlZFJlY3QubW92
ZSgtZnJhbWVSZWN0KCkueCgpLCAtZnJhbWVSZWN0KCkueSgpKTsKLQotI2lmIGRlZmluZWQoTU9a
X1BMQVRGT1JNX01BRU1PKSAmJiAoTU9aX1BMQVRGT1JNX01BRU1PID49IDUpCi0gICAgaWYgKCFt
X2ltYWdlLmlzTnVsbCgpKSB7Ci0gICAgICAgIHBhaW50VXNpbmdJbWFnZVN1cmZhY2VFeHRlbnNp
b24ocGFpbnRlciwgZXhwb3NlZFJlY3QpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotI2VuZGlm
Ci0KICAgICBRUGl4bWFwIHF0RHJhd2FibGUgPSBRUGl4bWFwOjpmcm9tWDExUGl4bWFwKG1fZHJh
d2FibGUsIFFQaXhtYXA6OkV4cGxpY2l0bHlTaGFyZWQpOwogICAgIGNvbnN0IGludCBkcmF3YWJs
ZURlcHRoID0gKChOUFNldFdpbmRvd0NhbGxiYWNrU3RydWN0KiltX25wV2luZG93LndzX2luZm8p
LT5kZXB0aDsKICAgICBBU1NFUlQoZHJhd2FibGVEZXB0aCA9PSBxdERyYXdhYmxlLmRlcHRoKCkp
OwpAQCAtMzI4LDggKzI5Niw0NiBAQCB2b2lkIFBsdWdpblZpZXc6OnBhaW50KEdyYXBoaWNzQ29u
dGV4dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgcmVjdCkKICAgICBpZiAoc3luY1gpCiAgICAg
ICAgIFhTeW5jKG1fcGx1Z2luRGlzcGxheSwgZmFsc2UpOyAvLyBzeW5jIGNoYW5nZXMgYnkgcGx1
Z2luCiAKLSAgICBwYWludGVyLT5kcmF3UGl4bWFwKFFQb2ludChmcmFtZVJlY3QoKS54KCkgKyBl
eHBvc2VkUmVjdC54KCksIGZyYW1lUmVjdCgpLnkoKSArIGV4cG9zZWRSZWN0LnkoKSksIHF0RHJh
d2FibGUsCi0gICAgICAgICAgICAgICAgICAgICAgICBleHBvc2VkUmVjdCk7CisgICAgcGFpbnRl
ci0+ZHJhd1BpeG1hcChRUG9pbnQoZXhwb3NlZFJlY3QueCgpLCBleHBvc2VkUmVjdC55KCkpLCBx
dERyYXdhYmxlLCBleHBvc2VkUmVjdCk7Cit9CisKK3ZvaWQgUGx1Z2luVmlldzo6cGFpbnQoR3Jh
cGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAgIGlmICgh
bV9pc1N0YXJ0ZWQpIHsKKyAgICAgICAgcGFpbnRNaXNzaW5nUGx1Z2luSWNvbihjb250ZXh0LCBy
ZWN0KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChjb250ZXh0LT5wYWludGlu
Z0Rpc2FibGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIHNldE5QV2luZG93SWZOZWVkZWQo
KTsKKworICAgIGlmIChtX2lzV2luZG93ZWQpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICgh
bV9kcmF3YWJsZQorI2lmIGRlZmluZWQoTU9aX1BMQVRGT1JNX01BRU1PKSAmJiAoTU9aX1BMQVRG
T1JNX01BRU1PID49IDUpCisgICAgICAgICYmIG1faW1hZ2UuaXNOdWxsKCkKKyNlbmRpZgorICAg
ICAgICkKKyAgICAgICAgcmV0dXJuOworCisgICAgUVBhaW50ZXIqIHBhaW50ZXIgPSBjb250ZXh0
LT5wbGF0Zm9ybUNvbnRleHQoKTsKKyAgICBJbnRSZWN0IGV4cG9zZWRSZWN0KHJlY3QpOworICAg
IGV4cG9zZWRSZWN0LmludGVyc2VjdChmcmFtZVJlY3QoKSk7CisgICAgZXhwb3NlZFJlY3QubW92
ZSgtZnJhbWVSZWN0KCkueCgpLCAtZnJhbWVSZWN0KCkueSgpKTsKKworI2lmIGRlZmluZWQoTU9a
X1BMQVRGT1JNX01BRU1PKSAmJiAoTU9aX1BMQVRGT1JNX01BRU1PID49IDUpCisgICAgaWYgKCFt
X2ltYWdlLmlzTnVsbCgpKSB7CisgICAgICAgIHBhaW50VXNpbmdJbWFnZVN1cmZhY2VFeHRlbnNp
b24ocGFpbnRlciwgZXhwb3NlZFJlY3QpOworICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlm
CisKKyAgICBwYWludGVyLT50cmFuc2xhdGUoZnJhbWVSZWN0KCkueCgpLCBmcmFtZVJlY3QoKS55
KCkpOworICAgIHBhaW50VXNpbmdYUGl4bWFwKHBhaW50ZXIsIGV4cG9zZWRSZWN0KTsKKyAgICBw
YWludGVyLT50cmFuc2xhdGUoLWZyYW1lUmVjdCgpLngoKSwgLWZyYW1lUmVjdCgpLnkoKSk7CiB9
CiAKIC8vIFRPRE86IFVuaWZ5IGFjcm9zcyBwb3J0cy4K
</data>
<flag name="review"
          id="60289"
          type_id="1"
          status="+"
          setter="kenneth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71039</attachid>
            <date>2010-10-18 08:35:31 -0700</date>
            <delta_ts>2010-10-18 11:57:06 -0700</delta_ts>
            <desc>AC for NPAPI plugins</desc>
            <filename>acp</filename>
            <type>text/plain</type>
            <size>8049</size>
            <attacher name="Girish Ramakrishnan">girish</attacher>
            
              <data encoding="base64">Y29tbWl0IGZiMTZjMTc4MjI2YjRkMTdhYzdlMTNkZDRlZGM3NjQ3MmI5NDc2MjQKQXV0aG9yOiBH
aXJpc2ggUmFtYWtyaXNobmFuIDxnaXJpc2hAZm9yd2FyZGJpYXMuaW4+CkRhdGU6ICAgRnJpIE9j
dCA4IDE3OjEzOjUzIDIwMTAgKzA1MzAKCiAgICBbUXRdIEltcGxlbWVudCBBY2NlbGVyYXRlZCBD
b21wb3NpdGlvbiBmb3IgTlBBUEkgUGx1Z2lucy4KICAgIAogICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCiAgICAKICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zNTUyNAogICAgCiAgICAqIHBsdWdpbnMvUGx1Z2luVmlldy5jcHA6CiAgICAoV2ViQ29yZTo6
UGx1Z2luVmlldzo6UGx1Z2luVmlldyk6CiAgICAqIHBsdWdpbnMvUGx1Z2luVmlldy5oOgogICAg
KFdlYkNvcmU6OlBsdWdpblZpZXc6OnBsYXRmb3JtTGF5ZXIpOgogICAgKiBwbHVnaW5zL3F0L1Bs
dWdpblZpZXdRdC5jcHA6CiAgICAoV2ViQ29yZTo6UGx1Z2luR3JhcGhpY3NMYXllclF0OjpQbHVn
aW5HcmFwaGljc0xheWVyUXQpOgogICAgKFdlYkNvcmU6OlBsdWdpbkdyYXBoaWNzTGF5ZXJRdDo6
flBsdWdpbkdyYXBoaWNzTGF5ZXJRdCk6CiAgICAoV2ViQ29yZTo6UGx1Z2luR3JhcGhpY3NMYXll
clF0OjpwYWludCk6CiAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6dXBkYXRlUGx1Z2luV2lkZ2V0
KToKICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjpwYWludCk6CiAgICAoV2ViQ29yZTo6UGx1Z2lu
Vmlldzo6aW52YWxpZGF0ZVJlY3QpOgogICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OmludmFsaWRh
dGVSZWdpb24pOgogICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OnBsYXRmb3JtU3RhcnQpOgogICAg
KFdlYkNvcmU6OlBsdWdpblZpZXc6OnBsYXRmb3JtRGVzdHJveSk6CiAgICAoV2ViQ29yZTo6UGx1
Z2luVmlldzo6cGxhdGZvcm1MYXllcik6CgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyZTYyZDc0Li4wZTY4NzcwIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBA
CisyMDEwLTEwLTE4ICBHaXJpc2ggUmFtYWtyaXNobmFuICA8Z2lyaXNoQGZvcndhcmRiaWFzLmlu
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0g
SW1wbGVtZW50IEFjY2VsZXJhdGVkIENvbXBvc2l0aW9uIGZvciBOUEFQSSBQbHVnaW5zLgorCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTUyNAorCisg
ICAgICAgICogcGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdp
blZpZXc6OlBsdWdpblZpZXcpOgorICAgICAgICAqIHBsdWdpbnMvUGx1Z2luVmlldy5oOgorICAg
ICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6cGxhdGZvcm1MYXllcik6CisgICAgICAgICogcGx1
Z2lucy9xdC9QbHVnaW5WaWV3UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luR3JhcGhp
Y3NMYXllclF0OjpQbHVnaW5HcmFwaGljc0xheWVyUXQpOgorICAgICAgICAoV2ViQ29yZTo6UGx1
Z2luR3JhcGhpY3NMYXllclF0Ojp+UGx1Z2luR3JhcGhpY3NMYXllclF0KToKKyAgICAgICAgKFdl
YkNvcmU6OlBsdWdpbkdyYXBoaWNzTGF5ZXJRdDo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6
UGx1Z2luVmlldzo6dXBkYXRlUGx1Z2luV2lkZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdp
blZpZXc6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OmludmFsaWRhdGVS
ZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OmludmFsaWRhdGVSZWdpb24pOgor
ICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6cGxhdGZvcm1TdGFydCk6CisgICAgICAgIChX
ZWJDb3JlOjpQbHVnaW5WaWV3OjpwbGF0Zm9ybURlc3Ryb3kpOgorICAgICAgICAoV2ViQ29yZTo6
UGx1Z2luVmlldzo6cGxhdGZvcm1MYXllcik6CisKIDIwMTAtMTAtMTYgIFBhdmVsIEZlbGRtYW4g
IDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1p
a2hhdHNreS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBiL1dl
YkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCA5N2ZjNDE5Li40ZGY0ODBlIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5jcHAKKysrIGIvV2ViQ29yZS9wbHVn
aW5zL1BsdWdpblZpZXcuY3BwCkBAIC04NzQsNiArODc0LDkgQEAgUGx1Z2luVmlldzo6UGx1Z2lu
VmlldyhGcmFtZSogcGFyZW50RnJhbWUsIGNvbnN0IEludFNpemUmIHNpemUsIFBsdWdpblBhY2th
Z2UqIHAKICAgICAsIG1fdmlzdWFsKDApCiAgICAgLCBtX2NvbG9ybWFwKDApCiAgICAgLCBtX3Bs
dWdpbkRpc3BsYXkoMCkKKyNpZiBQTEFURk9STShRVCkgJiYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBP
U0lUSU5HKQorICAgICwgbV9wbGF0Zm9ybUxheWVyKDApCisjZW5kaWYKICNlbmRpZgogI2lmIFBM
QVRGT1JNKFFUKSAmJiBkZWZpbmVkKE1PWl9QTEFURk9STV9NQUVNTykgJiYgKE1PWl9QTEFURk9S
TV9NQUVNTyA+PSA1KQogICAgICwgbV9yZW5kZXJUb0ltYWdlKGZhbHNlKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaCBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3
LmgKaW5kZXggYjEzNzJmYy4uNmNlNzVhZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbHVnaW5zL1Bs
dWdpblZpZXcuaAorKysgYi9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCkBAIC0yNDcsNiAr
MjQ3LDE0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNlbmRpZgogICAgICAgICB2b2lkIGtlZXBB
bGl2ZSgpOwogCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorI2lmIGRlZmluZWQo
WFBfVU5JWCkgJiYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpICYmIFBMQVRGT1JNKFFUKQor
ICAgICAgICB2aXJ0dWFsIFBsYXRmb3JtTGF5ZXIqIHBsYXRmb3JtTGF5ZXIoKSBjb25zdDsKKyNl
bHNlCisgICAgICAgIHZpcnR1YWwgUGxhdGZvcm1MYXllciogcGxhdGZvcm1MYXllcigpIGNvbnN0
IHsgcmV0dXJuIDA7IH0KKyNlbmRpZgorI2VuZGlmCisKICAgICBwcml2YXRlOgogICAgICAgICBQ
bHVnaW5WaWV3KEZyYW1lKiBwYXJlbnRGcmFtZSwgY29uc3QgSW50U2l6ZSYsIFBsdWdpblBhY2th
Z2UqLCBFbGVtZW50KiwgY29uc3QgS1VSTCYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwYXJhbU5h
bWVzLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFyYW1WYWx1ZXMsIGNvbnN0IFN0cmluZyYgbWlt
ZVR5cGUsIGJvb2wgbG9hZE1hbnVhbGx5KTsKIApAQCAtNDEzLDggKzQyMSwxMiBAQCBwcml2YXRl
OgogI2VuZGlmCiAjaWYgZGVmaW5lZChYUF9VTklYKSAmJiBFTkFCTEUoTkVUU0NBUEVfUExVR0lO
X0FQSSkKICAgICAgICAgdm9pZCBwYWludFVzaW5nWFBpeG1hcChRUGFpbnRlciogcGFpbnRlciwg
Y29uc3QgUVJlY3QgJmV4cG9zZWRSZWN0KTsKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJ
TkcpCisgICAgICAgIFBsYXRmb3JtTGF5ZXIgKm1fcGxhdGZvcm1MYXllcjsKKyAgICAgICAgZnJp
ZW5kIGNsYXNzIFBsdWdpbkdyYXBoaWNzTGF5ZXJRdDsKKyNlbmRpZiAvLyBVU0UoQUNDRUxFUkFU
RURfQ09NUE9TSVRJTkcpCiAjZW5kaWYKLSNlbmRpZgorI2VuZGlmIC8vIFBMQVRGT1JNKFFUKQog
CiAgICAgICAgIEludFJlY3QgbV9jbGlwUmVjdDsgLy8gVGhlIGNsaXAgcmVjdCB0byBhcHBseSB0
byBhIHdpbmRvd2VkIHBsdWctaW4KICAgICAgICAgSW50UmVjdCBtX3dpbmRvd1JlY3Q7IC8vIE91
ciB3aW5kb3cgcmVjdC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9xdC9QbHVnaW5WaWV3
UXQuY3BwIGIvV2ViQ29yZS9wbHVnaW5zL3F0L1BsdWdpblZpZXdRdC5jcHAKaW5kZXggMjZlNWI4
Mi4uMWZjNjNhYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbHVnaW5zL3F0L1BsdWdpblZpZXdRdC5j
cHAKKysrIGIvV2ViQ29yZS9wbHVnaW5zL3F0L1BsdWdpblZpZXdRdC5jcHAKQEAgLTMxLDYgKzMx
LDggQEAKICNpZiBVU0UoSlNDKQogI2luY2x1ZGUgIkJyaWRnZS5oIgogI2VuZGlmCisjaW5jbHVk
ZSAiQ2hyb21lLmgiCisjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1l
bnQuaCIKICNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIK
QEAgLTY5LDggKzcxLDEwIEBACiAKICNpbmNsdWRlIDxRQXBwbGljYXRpb24+CiAjaW5jbHVkZSA8
UURlc2t0b3BXaWRnZXQ+CisjaW5jbHVkZSA8UUdyYXBoaWNzV2lkZ2V0PgogI2luY2x1ZGUgPFFL
ZXlFdmVudD4KICNpbmNsdWRlIDxRUGFpbnRlcj4KKyNpbmNsdWRlIDxRU3R5bGVPcHRpb25HcmFw
aGljc0l0ZW0+CiAjaW5jbHVkZSA8UVdpZGdldD4KICNpbmNsdWRlIDxRWDExSW5mbz4KICNpbmNs
dWRlIDxYMTEvWC5oPgpAQCAtOTYsNiArMTAwLDI0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
dXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJ
VElORykKKy8vIFF0J3MgR3JhcGhpY3NMYXllciAoR3JhcGhpY3NMYXllclF0KSByZXF1aXJlcyBs
YXllcnMgdG8gYmUgUUdyYXBoaWNzV2lkZ2V0cworY2xhc3MgUGx1Z2luR3JhcGhpY3NMYXllclF0
IDogcHVibGljIFFHcmFwaGljc1dpZGdldCB7CitwdWJsaWM6CisgICAgUGx1Z2luR3JhcGhpY3NM
YXllclF0KFBsdWdpblZpZXcqIHZpZXcpIDogbV92aWV3KHZpZXcpIHsgfQorICAgIH5QbHVnaW5H
cmFwaGljc0xheWVyUXQoKSB7IH0KKworICAgIHZvaWQgcGFpbnQoUVBhaW50ZXIqIHBhaW50ZXIs
IGNvbnN0IFFTdHlsZU9wdGlvbkdyYXBoaWNzSXRlbSogb3B0aW9uLCBRV2lkZ2V0KiB3aWRnZXQg
PSAwKQorICAgIHsKKyAgICAgICAgUV9VTlVTRUQod2lkZ2V0KTsKKyAgICAgICAgbV92aWV3LT5w
YWludFVzaW5nWFBpeG1hcChwYWludGVyLCBvcHRpb24tPmV4cG9zZWRSZWN0LnRvUmVjdCgpKTsK
KyAgICB9CisKK3ByaXZhdGU6CisgICAgUGx1Z2luVmlldyogbV92aWV3OworfTsKKyNlbmRpZgor
CiB2b2lkIFBsdWdpblZpZXc6OnVwZGF0ZVBsdWdpbldpZGdldCgpCiB7CiAgICAgaWYgKCFwYXJl
bnQoKSkKQEAgLTE0NSw5ICsxNjcsMTEgQEAgdm9pZCBQbHVnaW5WaWV3Ojp1cGRhdGVQbHVnaW5X
aWRnZXQoKQogICAgICAgICB8fCAoUVdlYlBhZ2VQcml2YXRlOjpkcnRSdW4gJiYgcGxhdGZvcm1Q
bHVnaW5XaWRnZXQoKSAmJiAobV93aW5kb3dSZWN0ICE9IG9sZFdpbmRvd1JlY3QgfHwgbV9jbGlw
UmVjdCAhPSBvbGRDbGlwUmVjdCkpKQogICAgICAgICBzZXROUFdpbmRvd0lmTmVlZGVkKCk7CiAK
LSAgICAvLyBNYWtlIHN1cmUgd2UgZ2V0IHJlcGFpbnRlZCBhZnRlcndhcmRzLiBUaGlzIGlzIG5l
Y2Vzc2FyeSBmb3IgZG93bndhcmQKLSAgICAvLyBzY3JvbGxpbmcgdG8gbW92ZSB0aGUgcGx1Z2lu
IHdpZGdldCBwcm9wZXJseS4KLSAgICBpbnZhbGlkYXRlKCk7CisgICAgaWYgKCFtX3BsYXRmb3Jt
TGF5ZXIpIHsKKyAgICAgICAgLy8gTWFrZSBzdXJlIHdlIGdldCByZXBhaW50ZWQgYWZ0ZXJ3YXJk
cy4gVGhpcyBpcyBuZWNlc3NhcnkgZm9yIGRvd253YXJkCisgICAgICAgIC8vIHNjcm9sbGluZyB0
byBtb3ZlIHRoZSBwbHVnaW4gd2lkZ2V0IHByb3Blcmx5LgorICAgICAgICBpbnZhbGlkYXRlKCk7
CisgICAgfQogfQogCiB2b2lkIFBsdWdpblZpZXc6OnNldEZvY3VzKGJvb2wgZm9jdXNlZCkKQEAg
LTMxNCw2ICszMzgsMTEgQEAgdm9pZCBQbHVnaW5WaWV3OjpwYWludChHcmFwaGljc0NvbnRleHQq
IGNvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QpCiAgICAgaWYgKG1faXNXaW5kb3dlZCkKICAg
ICAgICAgcmV0dXJuOwogCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorICAgIGlm
IChtX3BsYXRmb3JtTGF5ZXIpCisgICAgICAgIHJldHVybjsKKyNlbmRpZgorCiAgICAgaWYgKCFt
X2RyYXdhYmxlCiAjaWYgZGVmaW5lZChNT1pfUExBVEZPUk1fTUFFTU8pICYmIChNT1pfUExBVEZP
Uk1fTUFFTU8gPj0gNSkKICAgICAgICAgJiYgbV9pbWFnZS5pc051bGwoKQpAQCAtNzU1LDYgKzc4
NCwxMyBAQCBib29sIFBsdWdpblZpZXc6OnBsYXRmb3JtR2V0VmFsdWUoTlBOVmFyaWFibGUgdmFy
aWFibGUsIHZvaWQqIHZhbHVlLCBOUEVycm9yKiByZQogCiB2b2lkIFBsdWdpblZpZXc6OmludmFs
aWRhdGVSZWN0KGNvbnN0IEludFJlY3QmIHJlY3QpCiB7CisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NP
TVBPU0lUSU5HKQorICAgIGlmIChtX3BsYXRmb3JtTGF5ZXIpIHsKKyAgICAgICAgbV9wbGF0Zm9y
bUxheWVyLT51cGRhdGUoUVJlY3RGKHJlY3QpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNl
bmRpZgorCiAgICAgaWYgKG1faXNXaW5kb3dlZCkgewogICAgICAgICBpZiAocGxhdGZvcm1XaWRn
ZXQoKSkKICAgICAgICAgICAgIHBsYXRmb3JtV2lkZ2V0KCktPnVwZGF0ZShyZWN0KTsKQEAgLTc3
MSwxMSArODA3LDEyIEBAIHZvaWQgUGx1Z2luVmlldzo6aW52YWxpZGF0ZVJlY3QoTlBSZWN0KiBy
ZWN0KQogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIEludFJlY3QgcihyZWN0LT5sZWZ0LCBy
ZWN0LT50b3AsIHJlY3QtPnJpZ2h0IC0gcmVjdC0+bGVmdCwgcmVjdC0+Ym90dG9tIC0gcmVjdC0+
dG9wKTsKLSAgICBpbnZhbGlkYXRlV2luZG93bGVzc1BsdWdpblJlY3Qocik7CisgICAgaW52YWxp
ZGF0ZVJlY3Qocik7CiB9CiAKIHZvaWQgUGx1Z2luVmlldzo6aW52YWxpZGF0ZVJlZ2lvbihOUFJl
Z2lvbiByZWdpb24pCiB7CisgICAgUV9VTlVTRUQocmVnaW9uKTsKICAgICBpbnZhbGlkYXRlKCk7
CiB9CiAKQEAgLTg4MCw2ICs5MTcsMTYgQEAgYm9vbCBQbHVnaW5WaWV3OjpwbGF0Zm9ybVN0YXJ0
KCkKICAgICB9IGVsc2UgewogICAgICAgICBzZXRQbGF0Zm9ybVdpZGdldCgwKTsKICAgICAgICAg
bV9wbHVnaW5EaXNwbGF5ID0gZ2V0UGx1Z2luRGlzcGxheSgpOworCisjaWYgVVNFKEFDQ0VMRVJB
VEVEX0NPTVBPU0lUSU5HKQorICAgICAgICBpZiAobV9wYXJlbnRGcmFtZS0+cGFnZSgpLT5jaHJv
bWUoKS0+Y2xpZW50KCktPmFsbG93c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKQorICAgICAgICAg
ICAgJiYgbV9wYXJlbnRGcmFtZS0+cGFnZSgpLT5zZXR0aW5ncygpIAorICAgICAgICAgICAgJiYg
bV9wYXJlbnRGcmFtZS0+cGFnZSgpLT5zZXR0aW5ncygpLT5hY2NlbGVyYXRlZENvbXBvc2l0aW5n
RW5hYmxlZCgpKSB7CisgICAgICAgICAgICBtX3BsYXRmb3JtTGF5ZXIgPSBuZXcgUGx1Z2luR3Jh
cGhpY3NMYXllclF0KHRoaXMpOworICAgICAgICAgICAgLy8gVHJpZ2dlciBsYXllciBjb21wdXRh
dGlvbiBpbiBSZW5kZXJMYXllckNvbXBvc2l0b3IKKyAgICAgICAgICAgIG1fZWxlbWVudC0+c2V0
TmVlZHNTdHlsZVJlY2FsYyhTeW50aGV0aWNTdHlsZUNoYW5nZSk7CisgICAgICAgIH0KKyNlbmRp
ZgogICAgIH0KIAogICAgIHNob3coKTsKQEAgLTk0NCw2ICs5OTEsMTEgQEAgdm9pZCBQbHVnaW5W
aWV3OjpwbGF0Zm9ybURlc3Ryb3koKQogCiAgICAgaWYgKG1fY29sb3JtYXApCiAgICAgICAgIFhG
cmVlQ29sb3JtYXAoUVgxMUluZm86OmRpc3BsYXkoKSwgbV9jb2xvcm1hcCk7CisKKyNpZiBVU0Uo
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisgICAgZGVsZXRlIG1fcGxhdGZvcm1MYXllcjsKKyAg
ICBtX3BsYXRmb3JtTGF5ZXIgPSAwOworI2VuZGlmCiB9CiAKIHZvaWQgUGx1Z2luVmlldzo6aGFs
dCgpCkBAIC05NTMsNSArMTAwNSwxMiBAQCB2b2lkIFBsdWdpblZpZXc6OmhhbHQoKQogdm9pZCBQ
bHVnaW5WaWV3OjpyZXN0YXJ0KCkKIHsKIH0KKyAKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9T
SVRJTkcpCitQbGF0Zm9ybUxheWVyKiBQbHVnaW5WaWV3OjpwbGF0Zm9ybUxheWVyKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gbV9wbGF0Zm9ybUxheWVyOworfQorI2VuZGlmCiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUK
</data>
<flag name="review"
          id="60993"
          type_id="1"
          status="+"
          setter="ariya.hidayat"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71068</attachid>
            <date>2010-10-18 11:57:06 -0700</date>
            <delta_ts>2010-10-18 12:09:02 -0700</delta_ts>
            <desc>use OwnPtr</desc>
            <filename>ownptr</filename>
            <type>text/plain</type>
            <size>7965</size>
            <attacher name="Girish Ramakrishnan">girish</attacher>
            
              <data encoding="base64">Y29tbWl0IDdiMTU4ZmVmZGI4ZjBiM2M3ZjJkMTEzM2Q4NGEwMDgzZWNiNzdkNjgKQXV0aG9yOiBH
aXJpc2ggUmFtYWtyaXNobmFuIDxnaXJpc2hAZm9yd2FyZGJpYXMuaW4+CkRhdGU6ICAgTW9uIE9j
dCAxOCAyMzoxMjo1NiAyMDEwICswNTMwCgogICAgW1F0XSBJbXBsZW1lbnQgQWNjZWxlcmF0ZWQg
Q29tcG9zaXRpb24gZm9yIE5QQVBJIFBsdWdpbnMuCiAgICAKICAgIFJldmlld2VkIGJ5IEFyaXlh
IEhpZGF5YXQuCiAgICAKICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zNTUyNAogICAgCiAgICAqIHBsdWdpbnMvUGx1Z2luVmlldy5jcHA6CiAgICAoV2ViQ29yZTo6
UGx1Z2luVmlldzo6UGx1Z2luVmlldyk6CiAgICAqIHBsdWdpbnMvUGx1Z2luVmlldy5oOgogICAg
KFdlYkNvcmU6OlBsdWdpblZpZXc6OnBsYXRmb3JtTGF5ZXIpOgogICAgKiBwbHVnaW5zL3F0L1Bs
dWdpblZpZXdRdC5jcHA6CiAgICAoV2ViQ29yZTo6UGx1Z2luR3JhcGhpY3NMYXllclF0OjpQbHVn
aW5HcmFwaGljc0xheWVyUXQpOgogICAgKFdlYkNvcmU6OlBsdWdpbkdyYXBoaWNzTGF5ZXJRdDo6
flBsdWdpbkdyYXBoaWNzTGF5ZXJRdCk6CiAgICAoV2ViQ29yZTo6UGx1Z2luR3JhcGhpY3NMYXll
clF0OjpwYWludCk6CiAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6dXBkYXRlUGx1Z2luV2lkZ2V0
KToKICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjpwYWludCk6CiAgICAoV2ViQ29yZTo6UGx1Z2lu
Vmlldzo6aW52YWxpZGF0ZVJlY3QpOgogICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OmludmFsaWRh
dGVSZWdpb24pOgogICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OnBsYXRmb3JtU3RhcnQpOgogICAg
KFdlYkNvcmU6OlBsdWdpblZpZXc6OnBsYXRmb3JtRGVzdHJveSk6CiAgICAoV2ViQ29yZTo6UGx1
Z2luVmlldzo6cGxhdGZvcm1MYXllcik6CgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwYmU4NDc5Li4wMzA2Y2IyIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBA
CisyMDEwLTEwLTE4ICBHaXJpc2ggUmFtYWtyaXNobmFuICA8Z2lyaXNoQGZvcndhcmRiaWFzLmlu
PgorCisgICAgICAgIFJldmlld2VkIGJ5IEFyaXlhIEhpZGF5YXQuCisKKyAgICAgICAgW1F0XSBJ
bXBsZW1lbnQgQWNjZWxlcmF0ZWQgQ29tcG9zaXRpb24gZm9yIE5QQVBJIFBsdWdpbnMuCisKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1NTI0CisKKyAg
ICAgICAgKiBwbHVnaW5zL1BsdWdpblZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2lu
Vmlldzo6UGx1Z2luVmlldyk6CisgICAgICAgICogcGx1Z2lucy9QbHVnaW5WaWV3Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjpwbGF0Zm9ybUxheWVyKToKKyAgICAgICAgKiBwbHVn
aW5zL3F0L1BsdWdpblZpZXdRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5HcmFwaGlj
c0xheWVyUXQ6OlBsdWdpbkdyYXBoaWNzTGF5ZXJRdCk6CisgICAgICAgIChXZWJDb3JlOjpQbHVn
aW5HcmFwaGljc0xheWVyUXQ6On5QbHVnaW5HcmFwaGljc0xheWVyUXQpOgorICAgICAgICAoV2Vi
Q29yZTo6UGx1Z2luR3JhcGhpY3NMYXllclF0OjpwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpQ
bHVnaW5WaWV3Ojp1cGRhdGVQbHVnaW5XaWRnZXQpOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2lu
Vmlldzo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6aW52YWxpZGF0ZVJl
Y3QpOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6aW52YWxpZGF0ZVJlZ2lvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjpwbGF0Zm9ybVN0YXJ0KToKKyAgICAgICAgKFdl
YkNvcmU6OlBsdWdpblZpZXc6OnBsYXRmb3JtRGVzdHJveSk6CisgICAgICAgIChXZWJDb3JlOjpQ
bHVnaW5WaWV3OjpwbGF0Zm9ybUxheWVyKToKKwogMjAxMC0xMC0xOCAgTm8nYW0gUm9zZW50aGFs
ICA8bm9hbS5yb3NlbnRoYWxAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJl
YXMgS2xpbmcuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5jcHAgYi9X
ZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5jcHAKaW5kZXggOTdmYzQxOS4uNGRmNDgwZSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuY3BwCisrKyBiL1dlYkNvcmUvcGx1
Z2lucy9QbHVnaW5WaWV3LmNwcApAQCAtODc0LDYgKzg3NCw5IEBAIFBsdWdpblZpZXc6OlBsdWdp
blZpZXcoRnJhbWUqIHBhcmVudEZyYW1lLCBjb25zdCBJbnRTaXplJiBzaXplLCBQbHVnaW5QYWNr
YWdlKiBwCiAgICAgLCBtX3Zpc3VhbCgwKQogICAgICwgbV9jb2xvcm1hcCgwKQogICAgICwgbV9w
bHVnaW5EaXNwbGF5KDApCisjaWYgUExBVEZPUk0oUVQpICYmIFVTRShBQ0NFTEVSQVRFRF9DT01Q
T1NJVElORykKKyAgICAsIG1fcGxhdGZvcm1MYXllcigwKQorI2VuZGlmCiAjZW5kaWYKICNpZiBQ
TEFURk9STShRVCkgJiYgZGVmaW5lZChNT1pfUExBVEZPUk1fTUFFTU8pICYmIChNT1pfUExBVEZP
Uk1fTUFFTU8gPj0gNSkKICAgICAsIG1fcmVuZGVyVG9JbWFnZShmYWxzZSkKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmggYi9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmll
dy5oCmluZGV4IGIxMzcyZmMuLmRlYWVjOTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9Q
bHVnaW5WaWV3LmgKKysrIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaApAQCAtNTgsNiAr
NTgsNyBAQCB0eXBlZGVmIFBsYXRmb3JtV2lkZ2V0IFBsYXRmb3JtUGx1Z2luV2lkZ2V0OwogI2Vu
ZGlmCiAjZW5kaWYKICNpZiBQTEFURk9STShRVCkKKyNpbmNsdWRlIDxRR3JhcGhpY3NJdGVtPgog
I2luY2x1ZGUgPFFJbWFnZT4KIGNsYXNzIFFQYWludGVyOwogI2VuZGlmCkBAIC0yNDcsNiArMjQ4
LDE0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNlbmRpZgogICAgICAgICB2b2lkIGtlZXBBbGl2
ZSgpOwogCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorI2lmIGRlZmluZWQoWFBf
VU5JWCkgJiYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpICYmIFBMQVRGT1JNKFFUKQorICAg
ICAgICB2aXJ0dWFsIFBsYXRmb3JtTGF5ZXIqIHBsYXRmb3JtTGF5ZXIoKSBjb25zdDsKKyNlbHNl
CisgICAgICAgIHZpcnR1YWwgUGxhdGZvcm1MYXllciogcGxhdGZvcm1MYXllcigpIGNvbnN0IHsg
cmV0dXJuIDA7IH0KKyNlbmRpZgorI2VuZGlmCisKICAgICBwcml2YXRlOgogICAgICAgICBQbHVn
aW5WaWV3KEZyYW1lKiBwYXJlbnRGcmFtZSwgY29uc3QgSW50U2l6ZSYsIFBsdWdpblBhY2thZ2Uq
LCBFbGVtZW50KiwgY29uc3QgS1VSTCYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwYXJhbU5hbWVz
LCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFyYW1WYWx1ZXMsIGNvbnN0IFN0cmluZyYgbWltZVR5
cGUsIGJvb2wgbG9hZE1hbnVhbGx5KTsKIApAQCAtNDEzLDggKzQyMiwxMiBAQCBwcml2YXRlOgog
I2VuZGlmCiAjaWYgZGVmaW5lZChYUF9VTklYKSAmJiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQ
SSkKICAgICAgICAgdm9pZCBwYWludFVzaW5nWFBpeG1hcChRUGFpbnRlciogcGFpbnRlciwgY29u
c3QgUVJlY3QgJmV4cG9zZWRSZWN0KTsKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcp
CisgICAgICAgIE93blB0cjxQbGF0Zm9ybUxheWVyPiBtX3BsYXRmb3JtTGF5ZXI7CisgICAgICAg
IGZyaWVuZCBjbGFzcyBQbHVnaW5HcmFwaGljc0xheWVyUXQ7CisjZW5kaWYgLy8gVVNFKEFDQ0VM
RVJBVEVEX0NPTVBPU0lUSU5HKQogI2VuZGlmCi0jZW5kaWYKKyNlbmRpZiAvLyBQTEFURk9STShR
VCkKIAogICAgICAgICBJbnRSZWN0IG1fY2xpcFJlY3Q7IC8vIFRoZSBjbGlwIHJlY3QgdG8gYXBw
bHkgdG8gYSB3aW5kb3dlZCBwbHVnLWluCiAgICAgICAgIEludFJlY3QgbV93aW5kb3dSZWN0OyAv
LyBPdXIgd2luZG93IHJlY3QuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvcXQvUGx1Z2lu
Vmlld1F0LmNwcCBiL1dlYkNvcmUvcGx1Z2lucy9xdC9QbHVnaW5WaWV3UXQuY3BwCmluZGV4IDI2
ZTViODIuLjliNGU1OTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9xdC9QbHVnaW5WaWV3
UXQuY3BwCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9xdC9QbHVnaW5WaWV3UXQuY3BwCkBAIC0zMSw2
ICszMSw4IEBACiAjaWYgVVNFKEpTQykKICNpbmNsdWRlICJCcmlkZ2UuaCIKICNlbmRpZgorI2lu
Y2x1ZGUgIkNocm9tZS5oIgorI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIkRv
Y3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJFbGVtZW50
LmgiCkBAIC02OSw4ICs3MSwxMCBAQAogCiAjaW5jbHVkZSA8UUFwcGxpY2F0aW9uPgogI2luY2x1
ZGUgPFFEZXNrdG9wV2lkZ2V0PgorI2luY2x1ZGUgPFFHcmFwaGljc1dpZGdldD4KICNpbmNsdWRl
IDxRS2V5RXZlbnQ+CiAjaW5jbHVkZSA8UVBhaW50ZXI+CisjaW5jbHVkZSA8UVN0eWxlT3B0aW9u
R3JhcGhpY3NJdGVtPgogI2luY2x1ZGUgPFFXaWRnZXQ+CiAjaW5jbHVkZSA8UVgxMUluZm8+CiAj
aW5jbHVkZSA8WDExL1guaD4KQEAgLTk2LDYgKzEwMCwyNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09N
UE9TSVRJTkcpCisvLyBRdCdzIEdyYXBoaWNzTGF5ZXIgKEdyYXBoaWNzTGF5ZXJRdCkgcmVxdWly
ZXMgbGF5ZXJzIHRvIGJlIFFHcmFwaGljc1dpZGdldHMKK2NsYXNzIFBsdWdpbkdyYXBoaWNzTGF5
ZXJRdCA6IHB1YmxpYyBRR3JhcGhpY3NXaWRnZXQgeworcHVibGljOgorICAgIFBsdWdpbkdyYXBo
aWNzTGF5ZXJRdChQbHVnaW5WaWV3KiB2aWV3KSA6IG1fdmlldyh2aWV3KSB7IH0KKyAgICB+UGx1
Z2luR3JhcGhpY3NMYXllclF0KCkgeyB9CisKKyAgICB2b2lkIHBhaW50KFFQYWludGVyKiBwYWlu
dGVyLCBjb25zdCBRU3R5bGVPcHRpb25HcmFwaGljc0l0ZW0qIG9wdGlvbiwgUVdpZGdldCogd2lk
Z2V0ID0gMCkKKyAgICB7CisgICAgICAgIFFfVU5VU0VEKHdpZGdldCk7CisgICAgICAgIG1fdmll
dy0+cGFpbnRVc2luZ1hQaXhtYXAocGFpbnRlciwgb3B0aW9uLT5leHBvc2VkUmVjdC50b1JlY3Qo
KSk7CisgICAgfQorCitwcml2YXRlOgorICAgIFBsdWdpblZpZXcqIG1fdmlldzsKK307CisjZW5k
aWYKKwogdm9pZCBQbHVnaW5WaWV3Ojp1cGRhdGVQbHVnaW5XaWRnZXQoKQogewogICAgIGlmICgh
cGFyZW50KCkpCkBAIC0xNDUsOSArMTY3LDExIEBAIHZvaWQgUGx1Z2luVmlldzo6dXBkYXRlUGx1
Z2luV2lkZ2V0KCkKICAgICAgICAgfHwgKFFXZWJQYWdlUHJpdmF0ZTo6ZHJ0UnVuICYmIHBsYXRm
b3JtUGx1Z2luV2lkZ2V0KCkgJiYgKG1fd2luZG93UmVjdCAhPSBvbGRXaW5kb3dSZWN0IHx8IG1f
Y2xpcFJlY3QgIT0gb2xkQ2xpcFJlY3QpKSkKICAgICAgICAgc2V0TlBXaW5kb3dJZk5lZWRlZCgp
OwogCi0gICAgLy8gTWFrZSBzdXJlIHdlIGdldCByZXBhaW50ZWQgYWZ0ZXJ3YXJkcy4gVGhpcyBp
cyBuZWNlc3NhcnkgZm9yIGRvd253YXJkCi0gICAgLy8gc2Nyb2xsaW5nIHRvIG1vdmUgdGhlIHBs
dWdpbiB3aWRnZXQgcHJvcGVybHkuCi0gICAgaW52YWxpZGF0ZSgpOworICAgIGlmICghbV9wbGF0
Zm9ybUxheWVyKSB7CisgICAgICAgIC8vIE1ha2Ugc3VyZSB3ZSBnZXQgcmVwYWludGVkIGFmdGVy
d2FyZHMuIFRoaXMgaXMgbmVjZXNzYXJ5IGZvciBkb3dud2FyZAorICAgICAgICAvLyBzY3JvbGxp
bmcgdG8gbW92ZSB0aGUgcGx1Z2luIHdpZGdldCBwcm9wZXJseS4KKyAgICAgICAgaW52YWxpZGF0
ZSgpOworICAgIH0KIH0KIAogdm9pZCBQbHVnaW5WaWV3OjpzZXRGb2N1cyhib29sIGZvY3VzZWQp
CkBAIC0zMTQsNiArMzM4LDExIEBAIHZvaWQgUGx1Z2luVmlldzo6cGFpbnQoR3JhcGhpY3NDb250
ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiByZWN0KQogICAgIGlmIChtX2lzV2luZG93ZWQp
CiAgICAgICAgIHJldHVybjsKIAorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKKyAg
ICBpZiAobV9wbGF0Zm9ybUxheWVyKQorICAgICAgICByZXR1cm47CisjZW5kaWYKKwogICAgIGlm
ICghbV9kcmF3YWJsZQogI2lmIGRlZmluZWQoTU9aX1BMQVRGT1JNX01BRU1PKSAmJiAoTU9aX1BM
QVRGT1JNX01BRU1PID49IDUpCiAgICAgICAgICYmIG1faW1hZ2UuaXNOdWxsKCkKQEAgLTc1NSw2
ICs3ODQsMTMgQEAgYm9vbCBQbHVnaW5WaWV3OjpwbGF0Zm9ybUdldFZhbHVlKE5QTlZhcmlhYmxl
IHZhcmlhYmxlLCB2b2lkKiB2YWx1ZSwgTlBFcnJvciogcmUKIAogdm9pZCBQbHVnaW5WaWV3Ojpp
bnZhbGlkYXRlUmVjdChjb25zdCBJbnRSZWN0JiByZWN0KQogeworI2lmIFVTRShBQ0NFTEVSQVRF
RF9DT01QT1NJVElORykKKyAgICBpZiAobV9wbGF0Zm9ybUxheWVyKSB7CisgICAgICAgIG1fcGxh
dGZvcm1MYXllci0+dXBkYXRlKFFSZWN0RihyZWN0KSk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisjZW5kaWYKKwogICAgIGlmIChtX2lzV2luZG93ZWQpIHsKICAgICAgICAgaWYgKHBsYXRmb3Jt
V2lkZ2V0KCkpCiAgICAgICAgICAgICBwbGF0Zm9ybVdpZGdldCgpLT51cGRhdGUocmVjdCk7CkBA
IC03NzEsMTEgKzgwNywxMiBAQCB2b2lkIFBsdWdpblZpZXc6OmludmFsaWRhdGVSZWN0KE5QUmVj
dCogcmVjdCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBJbnRSZWN0IHIocmVjdC0+bGVm
dCwgcmVjdC0+dG9wLCByZWN0LT5yaWdodCAtIHJlY3QtPmxlZnQsIHJlY3QtPmJvdHRvbSAtIHJl
Y3QtPnRvcCk7Ci0gICAgaW52YWxpZGF0ZVdpbmRvd2xlc3NQbHVnaW5SZWN0KHIpOworICAgIGlu
dmFsaWRhdGVSZWN0KHIpOwogfQogCiB2b2lkIFBsdWdpblZpZXc6OmludmFsaWRhdGVSZWdpb24o
TlBSZWdpb24gcmVnaW9uKQogeworICAgIFFfVU5VU0VEKHJlZ2lvbik7CiAgICAgaW52YWxpZGF0
ZSgpOwogfQogCkBAIC04ODAsNiArOTE3LDE2IEBAIGJvb2wgUGx1Z2luVmlldzo6cGxhdGZvcm1T
dGFydCgpCiAgICAgfSBlbHNlIHsKICAgICAgICAgc2V0UGxhdGZvcm1XaWRnZXQoMCk7CiAgICAg
ICAgIG1fcGx1Z2luRGlzcGxheSA9IGdldFBsdWdpbkRpc3BsYXkoKTsKKworI2lmIFVTRShBQ0NF
TEVSQVRFRF9DT01QT1NJVElORykKKyAgICAgICAgaWYgKG1fcGFyZW50RnJhbWUtPnBhZ2UoKS0+
Y2hyb21lKCktPmNsaWVudCgpLT5hbGxvd3NBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCkKKyAgICAg
ICAgICAgICYmIG1fcGFyZW50RnJhbWUtPnBhZ2UoKS0+c2V0dGluZ3MoKSAKKyAgICAgICAgICAg
ICYmIG1fcGFyZW50RnJhbWUtPnBhZ2UoKS0+c2V0dGluZ3MoKS0+YWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0VuYWJsZWQoKSkgeworICAgICAgICAgICAgbV9wbGF0Zm9ybUxheWVyID0gbmV3IFBsdWdp
bkdyYXBoaWNzTGF5ZXJRdCh0aGlzKTsKKyAgICAgICAgICAgIC8vIFRyaWdnZXIgbGF5ZXIgY29t
cHV0YXRpb24gaW4gUmVuZGVyTGF5ZXJDb21wb3NpdG9yCisgICAgICAgICAgICBtX2VsZW1lbnQt
PnNldE5lZWRzU3R5bGVSZWNhbGMoU3ludGhldGljU3R5bGVDaGFuZ2UpOworICAgICAgICB9Cisj
ZW5kaWYKICAgICB9CiAKICAgICBzaG93KCk7CkBAIC05NTMsNSArMTAwMCwxMiBAQCB2b2lkIFBs
dWdpblZpZXc6OmhhbHQoKQogdm9pZCBQbHVnaW5WaWV3OjpyZXN0YXJ0KCkKIHsKIH0KKyAKKyNp
ZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCitQbGF0Zm9ybUxheWVyKiBQbHVnaW5WaWV3
OjpwbGF0Zm9ybUxheWVyKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9wbGF0Zm9ybUxheWVyLmdl
dCgpOworfQorI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71070</attachid>
            <date>2010-10-18 12:09:02 -0700</date>
            <delta_ts>2010-10-18 12:10:03 -0700</delta_ts>
            <desc>remove 0 initialization</desc>
            <filename>remove0init</filename>
            <type>text/plain</type>
            <size>7176</size>
            <attacher name="Girish Ramakrishnan">girish</attacher>
            
              <data encoding="base64">Y29tbWl0IDZlNzJmNjkxOTJhYzBjZmNlN2FhYThlNTRlZmU4YWY5ZTVmYTNiMWQKQXV0aG9yOiBH
aXJpc2ggUmFtYWtyaXNobmFuIDxnaXJpc2hAZm9yd2FyZGJpYXMuaW4+CkRhdGU6ICAgVHVlIE9j
dCAxOSAwMDozNjo0MCAyMDEwICswNTMwCgogICAgW1F0XSBJbXBsZW1lbnQgQWNjZWxlcmF0ZWQg
Q29tcG9zaXRpb24gZm9yIE5QQVBJIFBsdWdpbnMuCiAgICAKICAgIFJldmlld2VkIGJ5IEFyaXlh
IEhpZGF5YXQuCiAgICAKICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zNTUyNAogICAgCiAgICAqIHBsdWdpbnMvUGx1Z2luVmlldy5oOgogICAgKFdlYkNvcmU6OlBs
dWdpblZpZXc6OnBsYXRmb3JtTGF5ZXIpOgogICAgKiBwbHVnaW5zL3F0L1BsdWdpblZpZXdRdC5j
cHA6CiAgICAoV2ViQ29yZTo6UGx1Z2luR3JhcGhpY3NMYXllclF0OjpQbHVnaW5HcmFwaGljc0xh
eWVyUXQpOgogICAgKFdlYkNvcmU6OlBsdWdpbkdyYXBoaWNzTGF5ZXJRdDo6flBsdWdpbkdyYXBo
aWNzTGF5ZXJRdCk6CiAgICAoV2ViQ29yZTo6UGx1Z2luR3JhcGhpY3NMYXllclF0OjpwYWludCk6
CiAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6dXBkYXRlUGx1Z2luV2lkZ2V0KToKICAgIChXZWJD
b3JlOjpQbHVnaW5WaWV3OjpwYWludCk6CiAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6aW52YWxp
ZGF0ZVJlY3QpOgogICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OmludmFsaWRhdGVSZWdpb24pOgog
ICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OnBsYXRmb3JtU3RhcnQpOgogICAgKFdlYkNvcmU6OlBs
dWdpblZpZXc6OnBsYXRmb3JtTGF5ZXIpOgoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGJlODQ3OS4uY2RkOWQ1MyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBA
QAorMjAxMC0xMC0xOCAgR2lyaXNoIFJhbWFrcmlzaG5hbiAgPGdpcmlzaEBmb3J3YXJkYmlhcy5p
bj4KKworICAgICAgICBSZXZpZXdlZCBieSBBcml5YSBIaWRheWF0LgorCisgICAgICAgIFtRdF0g
SW1wbGVtZW50IEFjY2VsZXJhdGVkIENvbXBvc2l0aW9uIGZvciBOUEFQSSBQbHVnaW5zLgorCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTUyNAorCisg
ICAgICAgICogcGx1Z2lucy9QbHVnaW5WaWV3Lmg6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5W
aWV3OjpwbGF0Zm9ybUxheWVyKToKKyAgICAgICAgKiBwbHVnaW5zL3F0L1BsdWdpblZpZXdRdC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5HcmFwaGljc0xheWVyUXQ6OlBsdWdpbkdyYXBo
aWNzTGF5ZXJRdCk6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5HcmFwaGljc0xheWVyUXQ6On5Q
bHVnaW5HcmFwaGljc0xheWVyUXQpOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luR3JhcGhpY3NM
YXllclF0OjpwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3Ojp1cGRhdGVQbHVn
aW5XaWRnZXQpOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6cGFpbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6aW52YWxpZGF0ZVJlY3QpOgorICAgICAgICAoV2ViQ29y
ZTo6UGx1Z2luVmlldzo6aW52YWxpZGF0ZVJlZ2lvbik6CisgICAgICAgIChXZWJDb3JlOjpQbHVn
aW5WaWV3OjpwbGF0Zm9ybVN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OnBs
YXRmb3JtTGF5ZXIpOgorCiAyMDEwLTEwLTE4ICBObydhbSBSb3NlbnRoYWwgIDxub2FtLnJvc2Vu
dGhhbEBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmggYi9XZWJDb3JlL3BsdWdpbnMv
UGx1Z2luVmlldy5oCmluZGV4IGIxMzcyZmMuLmRlYWVjOTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGx1Z2lucy9QbHVnaW5WaWV3LmgKKysrIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaApA
QCAtNTgsNiArNTgsNyBAQCB0eXBlZGVmIFBsYXRmb3JtV2lkZ2V0IFBsYXRmb3JtUGx1Z2luV2lk
Z2V0OwogI2VuZGlmCiAjZW5kaWYKICNpZiBQTEFURk9STShRVCkKKyNpbmNsdWRlIDxRR3JhcGhp
Y3NJdGVtPgogI2luY2x1ZGUgPFFJbWFnZT4KIGNsYXNzIFFQYWludGVyOwogI2VuZGlmCkBAIC0y
NDcsNiArMjQ4LDE0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNlbmRpZgogICAgICAgICB2b2lk
IGtlZXBBbGl2ZSgpOwogCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorI2lmIGRl
ZmluZWQoWFBfVU5JWCkgJiYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpICYmIFBMQVRGT1JN
KFFUKQorICAgICAgICB2aXJ0dWFsIFBsYXRmb3JtTGF5ZXIqIHBsYXRmb3JtTGF5ZXIoKSBjb25z
dDsKKyNlbHNlCisgICAgICAgIHZpcnR1YWwgUGxhdGZvcm1MYXllciogcGxhdGZvcm1MYXllcigp
IGNvbnN0IHsgcmV0dXJuIDA7IH0KKyNlbmRpZgorI2VuZGlmCisKICAgICBwcml2YXRlOgogICAg
ICAgICBQbHVnaW5WaWV3KEZyYW1lKiBwYXJlbnRGcmFtZSwgY29uc3QgSW50U2l6ZSYsIFBsdWdp
blBhY2thZ2UqLCBFbGVtZW50KiwgY29uc3QgS1VSTCYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBw
YXJhbU5hbWVzLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFyYW1WYWx1ZXMsIGNvbnN0IFN0cmlu
ZyYgbWltZVR5cGUsIGJvb2wgbG9hZE1hbnVhbGx5KTsKIApAQCAtNDEzLDggKzQyMiwxMiBAQCBw
cml2YXRlOgogI2VuZGlmCiAjaWYgZGVmaW5lZChYUF9VTklYKSAmJiBFTkFCTEUoTkVUU0NBUEVf
UExVR0lOX0FQSSkKICAgICAgICAgdm9pZCBwYWludFVzaW5nWFBpeG1hcChRUGFpbnRlciogcGFp
bnRlciwgY29uc3QgUVJlY3QgJmV4cG9zZWRSZWN0KTsKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09N
UE9TSVRJTkcpCisgICAgICAgIE93blB0cjxQbGF0Zm9ybUxheWVyPiBtX3BsYXRmb3JtTGF5ZXI7
CisgICAgICAgIGZyaWVuZCBjbGFzcyBQbHVnaW5HcmFwaGljc0xheWVyUXQ7CisjZW5kaWYgLy8g
VVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogI2VuZGlmCi0jZW5kaWYKKyNlbmRpZiAvLyBQ
TEFURk9STShRVCkKIAogICAgICAgICBJbnRSZWN0IG1fY2xpcFJlY3Q7IC8vIFRoZSBjbGlwIHJl
Y3QgdG8gYXBwbHkgdG8gYSB3aW5kb3dlZCBwbHVnLWluCiAgICAgICAgIEludFJlY3QgbV93aW5k
b3dSZWN0OyAvLyBPdXIgd2luZG93IHJlY3QuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMv
cXQvUGx1Z2luVmlld1F0LmNwcCBiL1dlYkNvcmUvcGx1Z2lucy9xdC9QbHVnaW5WaWV3UXQuY3Bw
CmluZGV4IDI2ZTViODIuLjliNGU1OTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9xdC9Q
bHVnaW5WaWV3UXQuY3BwCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9xdC9QbHVnaW5WaWV3UXQuY3Bw
CkBAIC0zMSw2ICszMSw4IEBACiAjaWYgVVNFKEpTQykKICNpbmNsdWRlICJCcmlkZ2UuaCIKICNl
bmRpZgorI2luY2x1ZGUgIkNocm9tZS5oIgorI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgogI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRl
ICJFbGVtZW50LmgiCkBAIC02OSw4ICs3MSwxMCBAQAogCiAjaW5jbHVkZSA8UUFwcGxpY2F0aW9u
PgogI2luY2x1ZGUgPFFEZXNrdG9wV2lkZ2V0PgorI2luY2x1ZGUgPFFHcmFwaGljc1dpZGdldD4K
ICNpbmNsdWRlIDxRS2V5RXZlbnQ+CiAjaW5jbHVkZSA8UVBhaW50ZXI+CisjaW5jbHVkZSA8UVN0
eWxlT3B0aW9uR3JhcGhpY3NJdGVtPgogI2luY2x1ZGUgPFFXaWRnZXQ+CiAjaW5jbHVkZSA8UVgx
MUluZm8+CiAjaW5jbHVkZSA8WDExL1guaD4KQEAgLTk2LDYgKzEwMCwyNCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKKyNpZiBVU0UoQUNDRUxF
UkFURURfQ09NUE9TSVRJTkcpCisvLyBRdCdzIEdyYXBoaWNzTGF5ZXIgKEdyYXBoaWNzTGF5ZXJR
dCkgcmVxdWlyZXMgbGF5ZXJzIHRvIGJlIFFHcmFwaGljc1dpZGdldHMKK2NsYXNzIFBsdWdpbkdy
YXBoaWNzTGF5ZXJRdCA6IHB1YmxpYyBRR3JhcGhpY3NXaWRnZXQgeworcHVibGljOgorICAgIFBs
dWdpbkdyYXBoaWNzTGF5ZXJRdChQbHVnaW5WaWV3KiB2aWV3KSA6IG1fdmlldyh2aWV3KSB7IH0K
KyAgICB+UGx1Z2luR3JhcGhpY3NMYXllclF0KCkgeyB9CisKKyAgICB2b2lkIHBhaW50KFFQYWlu
dGVyKiBwYWludGVyLCBjb25zdCBRU3R5bGVPcHRpb25HcmFwaGljc0l0ZW0qIG9wdGlvbiwgUVdp
ZGdldCogd2lkZ2V0ID0gMCkKKyAgICB7CisgICAgICAgIFFfVU5VU0VEKHdpZGdldCk7CisgICAg
ICAgIG1fdmlldy0+cGFpbnRVc2luZ1hQaXhtYXAocGFpbnRlciwgb3B0aW9uLT5leHBvc2VkUmVj
dC50b1JlY3QoKSk7CisgICAgfQorCitwcml2YXRlOgorICAgIFBsdWdpblZpZXcqIG1fdmlldzsK
K307CisjZW5kaWYKKwogdm9pZCBQbHVnaW5WaWV3Ojp1cGRhdGVQbHVnaW5XaWRnZXQoKQogewog
ICAgIGlmICghcGFyZW50KCkpCkBAIC0xNDUsOSArMTY3LDExIEBAIHZvaWQgUGx1Z2luVmlldzo6
dXBkYXRlUGx1Z2luV2lkZ2V0KCkKICAgICAgICAgfHwgKFFXZWJQYWdlUHJpdmF0ZTo6ZHJ0UnVu
ICYmIHBsYXRmb3JtUGx1Z2luV2lkZ2V0KCkgJiYgKG1fd2luZG93UmVjdCAhPSBvbGRXaW5kb3dS
ZWN0IHx8IG1fY2xpcFJlY3QgIT0gb2xkQ2xpcFJlY3QpKSkKICAgICAgICAgc2V0TlBXaW5kb3dJ
Zk5lZWRlZCgpOwogCi0gICAgLy8gTWFrZSBzdXJlIHdlIGdldCByZXBhaW50ZWQgYWZ0ZXJ3YXJk
cy4gVGhpcyBpcyBuZWNlc3NhcnkgZm9yIGRvd253YXJkCi0gICAgLy8gc2Nyb2xsaW5nIHRvIG1v
dmUgdGhlIHBsdWdpbiB3aWRnZXQgcHJvcGVybHkuCi0gICAgaW52YWxpZGF0ZSgpOworICAgIGlm
ICghbV9wbGF0Zm9ybUxheWVyKSB7CisgICAgICAgIC8vIE1ha2Ugc3VyZSB3ZSBnZXQgcmVwYWlu
dGVkIGFmdGVyd2FyZHMuIFRoaXMgaXMgbmVjZXNzYXJ5IGZvciBkb3dud2FyZAorICAgICAgICAv
LyBzY3JvbGxpbmcgdG8gbW92ZSB0aGUgcGx1Z2luIHdpZGdldCBwcm9wZXJseS4KKyAgICAgICAg
aW52YWxpZGF0ZSgpOworICAgIH0KIH0KIAogdm9pZCBQbHVnaW5WaWV3OjpzZXRGb2N1cyhib29s
IGZvY3VzZWQpCkBAIC0zMTQsNiArMzM4LDExIEBAIHZvaWQgUGx1Z2luVmlldzo6cGFpbnQoR3Jh
cGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiByZWN0KQogICAgIGlmIChtX2lz
V2luZG93ZWQpCiAgICAgICAgIHJldHVybjsKIAorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJ
VElORykKKyAgICBpZiAobV9wbGF0Zm9ybUxheWVyKQorICAgICAgICByZXR1cm47CisjZW5kaWYK
KwogICAgIGlmICghbV9kcmF3YWJsZQogI2lmIGRlZmluZWQoTU9aX1BMQVRGT1JNX01BRU1PKSAm
JiAoTU9aX1BMQVRGT1JNX01BRU1PID49IDUpCiAgICAgICAgICYmIG1faW1hZ2UuaXNOdWxsKCkK
QEAgLTc1NSw2ICs3ODQsMTMgQEAgYm9vbCBQbHVnaW5WaWV3OjpwbGF0Zm9ybUdldFZhbHVlKE5Q
TlZhcmlhYmxlIHZhcmlhYmxlLCB2b2lkKiB2YWx1ZSwgTlBFcnJvciogcmUKIAogdm9pZCBQbHVn
aW5WaWV3OjppbnZhbGlkYXRlUmVjdChjb25zdCBJbnRSZWN0JiByZWN0KQogeworI2lmIFVTRShB
Q0NFTEVSQVRFRF9DT01QT1NJVElORykKKyAgICBpZiAobV9wbGF0Zm9ybUxheWVyKSB7CisgICAg
ICAgIG1fcGxhdGZvcm1MYXllci0+dXBkYXRlKFFSZWN0RihyZWN0KSk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisjZW5kaWYKKwogICAgIGlmIChtX2lzV2luZG93ZWQpIHsKICAgICAgICAgaWYg
KHBsYXRmb3JtV2lkZ2V0KCkpCiAgICAgICAgICAgICBwbGF0Zm9ybVdpZGdldCgpLT51cGRhdGUo
cmVjdCk7CkBAIC03NzEsMTEgKzgwNywxMiBAQCB2b2lkIFBsdWdpblZpZXc6OmludmFsaWRhdGVS
ZWN0KE5QUmVjdCogcmVjdCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBJbnRSZWN0IHIo
cmVjdC0+bGVmdCwgcmVjdC0+dG9wLCByZWN0LT5yaWdodCAtIHJlY3QtPmxlZnQsIHJlY3QtPmJv
dHRvbSAtIHJlY3QtPnRvcCk7Ci0gICAgaW52YWxpZGF0ZVdpbmRvd2xlc3NQbHVnaW5SZWN0KHIp
OworICAgIGludmFsaWRhdGVSZWN0KHIpOwogfQogCiB2b2lkIFBsdWdpblZpZXc6OmludmFsaWRh
dGVSZWdpb24oTlBSZWdpb24gcmVnaW9uKQogeworICAgIFFfVU5VU0VEKHJlZ2lvbik7CiAgICAg
aW52YWxpZGF0ZSgpOwogfQogCkBAIC04ODAsNiArOTE3LDE2IEBAIGJvb2wgUGx1Z2luVmlldzo6
cGxhdGZvcm1TdGFydCgpCiAgICAgfSBlbHNlIHsKICAgICAgICAgc2V0UGxhdGZvcm1XaWRnZXQo
MCk7CiAgICAgICAgIG1fcGx1Z2luRGlzcGxheSA9IGdldFBsdWdpbkRpc3BsYXkoKTsKKworI2lm
IFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKKyAgICAgICAgaWYgKG1fcGFyZW50RnJhbWUt
PnBhZ2UoKS0+Y2hyb21lKCktPmNsaWVudCgpLT5hbGxvd3NBY2NlbGVyYXRlZENvbXBvc2l0aW5n
KCkKKyAgICAgICAgICAgICYmIG1fcGFyZW50RnJhbWUtPnBhZ2UoKS0+c2V0dGluZ3MoKSAKKyAg
ICAgICAgICAgICYmIG1fcGFyZW50RnJhbWUtPnBhZ2UoKS0+c2V0dGluZ3MoKS0+YWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0VuYWJsZWQoKSkgeworICAgICAgICAgICAgbV9wbGF0Zm9ybUxheWVyID0g
bmV3IFBsdWdpbkdyYXBoaWNzTGF5ZXJRdCh0aGlzKTsKKyAgICAgICAgICAgIC8vIFRyaWdnZXIg
bGF5ZXIgY29tcHV0YXRpb24gaW4gUmVuZGVyTGF5ZXJDb21wb3NpdG9yCisgICAgICAgICAgICBt
X2VsZW1lbnQtPnNldE5lZWRzU3R5bGVSZWNhbGMoU3ludGhldGljU3R5bGVDaGFuZ2UpOworICAg
ICAgICB9CisjZW5kaWYKICAgICB9CiAKICAgICBzaG93KCk7CkBAIC05NTMsNSArMTAwMCwxMiBA
QCB2b2lkIFBsdWdpblZpZXc6OmhhbHQoKQogdm9pZCBQbHVnaW5WaWV3OjpyZXN0YXJ0KCkKIHsK
IH0KKyAKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCitQbGF0Zm9ybUxheWVyKiBQ
bHVnaW5WaWV3OjpwbGF0Zm9ybUxheWVyKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9wbGF0Zm9y
bUxheWVyLmdldCgpOworfQorI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>
<flag name="review"
          id="61029"
          type_id="1"
          status="+"
          setter="ariya.hidayat"
    />
          </attachment>
      

    </bug>

</bugzilla>