<?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>81694</bug_id>
          
          <creation_ts>2012-03-20 13:00:01 -0700</creation_ts>
          <short_desc>Add a per-ScrollableArea tile cache base class</short_desc>
          <delta_ts>2012-03-20 17:10:47 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>583381</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-03-20 13:00:01 -0700</bug_when>
    <thetext>Add a per-ScrollableAre tile cache base class</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583387</commentid>
    <comment_count>1</comment_count>
      <attachid>132883</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-03-20 13:04:46 -0700</bug_when>
    <thetext>Created attachment 132883
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583403</commentid>
    <comment_count>2</comment_count>
      <attachid>132883</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-20 13:27:53 -0700</bug_when>
    <thetext>Comment on attachment 132883
Patch

Attachment 132883 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12035038</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583580</commentid>
    <comment_count>3</comment_count>
      <attachid>132923</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-03-20 16:22:59 -0700</bug_when>
    <thetext>Created attachment 132923
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583619</commentid>
    <comment_count>4</comment_count>
      <attachid>132923</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-03-20 16:55:19 -0700</bug_when>
    <thetext>Comment on attachment 132923
Patch

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

&gt; Source/WebCore/platform/graphics/TiledBacking.h:39
&gt; +    virtual void visibleRectChanged(const IntRect&amp;) = 0;
&gt; +
&gt; +};

Extra newline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583641</commentid>
    <comment_count>5</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-03-20 17:10:47 -0700</bug_when>
    <thetext>Committed r111471: &lt;http://trac.webkit.org/changeset/111471&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132883</attachid>
            <date>2012-03-20 13:04:46 -0700</date>
            <delta_ts>2012-03-20 16:22:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81694-20120320130540.patch</filename>
            <type>text/plain</type>
            <size>17825</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNDA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODc3OTUxZTNkZGExNmRk
ZmUwOWRiYTA4YjQxYTgwOTAxNTYwYjQ1MC4uOGJjM2JkNzU5M2M3MWI4YTA3MTEzMDc1OGU4OTEw
ZWIzOTM3N2Q1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDEyLTAzLTIwICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgcGVyLVNj
cm9sbGFibGVBcmVhIHRpbGUgY2FjaGUgYmFzZSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE2OTQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYW4gYWJzdHJhY3QgYmFzZSBjbGFzcywgVGls
ZWRCYWNraW5nLCB0aGF0IGNhbiBiZSB1c2VkIHRvIGluZm9ybSB0aWxlIGNhY2hlcyBhYm91dCBj
aGFuZ2VkCisgICAgICAgIHN0YXRlIGluIHNjcm9sbGFibGUgYXJlYXMgKHN1Y2ggYXMgdGhlIGN1
cnJlbnRseSB2aXNpYmxlIHJlY3QsIHdoZXRoZXIgdGhlIHBhZ2UgaXMgYWN0aXZlIG9yIG5vdCwg
ZXRjKS4KKworICAgICAgICBNYWtlIFRpbGVDYWNoZSBpbmhlcml0IGZyb20gVGlsZWRCYWNraW5n
IGFuZCBwb3J0IHVwZGF0aW5nIHRoZSB2aXNpYmxlIHJlY3Qgb3ZlciB0byB0aGlzIG5ldyBtZWNo
YW5pc20uCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3
Ojp0aWxlZEJhY2tpbmcpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGFnZS9GcmFt
ZVZpZXcuaDoKKyAgICAgICAgKEZyYW1lVmlldyk6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xs
YWJsZUFyZWEuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoU2Nyb2xsYWJsZUFyZWEp
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OnRpbGVkQmFja2luZyk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyOjp0aWxlZEJhY2tpbmcpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZy5oOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoVGlsZWRCYWNraW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlRp
bGVkQmFja2luZzo6flRpbGVkQmFja2luZyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvR3JhcGhpY3NMYXllckNBLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJD
QTo6dGlsZWRCYWNraW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGlj
c0xheWVyQ0EuaDoKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXJDQSk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmg6CisgICAgICAgIChQbGF0Zm9ybUNBTGF5
ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJN
YWMubW06CisgICAgICAgIChQbGF0Zm9ybUNBTGF5ZXI6OnRpbGVkQmFja2luZyk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1RpbGVDYWNoZS5oOgorICAgICAgICAoVGlsZUNh
Y2hlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvV2ViVGlsZUNhY2hlTGF5
ZXIuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nh
L21hYy9XZWJUaWxlQ2FjaGVMYXllci5tbToKKyAgICAgICAgKC1bV2ViVGlsZUNhY2hlTGF5ZXIg
V2ViQ29yZTo6XSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmZyYW1lVmlld0Rp
ZFNjcm9sbCk6CisKIDIwMTItMDMtMjAgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1z
dW5nLmNvbT4KIAogICAgICAgICBDb252ZXJ0IGhhc1NwZWxsaW5nTWFya2VyIHRvIHVzZSBJbnRl
cm5hbHMgaW50ZXJmYWNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IGI4ZjFhMzI4MThhNDhhMWRkYmQ4MTBkMTBmYjVhYjFlY2E4
ZDMwNWIuLjE1ZTAwOTVlZGYwZjE3NzE0NWZjYjU5ZjU1NWQyYWVhZTU3OWVmZGEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU5
OCw2ICs1OTgsNyBAQAogCQkxQUY2MkYyNDE0REFGRTkxMDA0MTU1NkMgLyogU2Nyb2xsaW5nVGhy
ZWFkTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUFGNjJGMjMxNERBRkU5MTAwNDE1NTZDIC8qIFNjcm9sbGluZ1RocmVhZE1hYy5tbSAqLzsgfTsK
IAkJMUFGNjJGMjUxNERBRkU5RTAwNDE1NTZDIC8qIFNjcm9sbGluZ1RocmVhZC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUY2MkYyMDE0REFGRTc5
MDA0MTU1NkMgLyogU2Nyb2xsaW5nVGhyZWFkLmNwcCAqLzsgfTsKIAkJMUFGNjJGMjYxNERBRkVB
MTAwNDE1NTZDIC8qIFNjcm9sbGluZ1RocmVhZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUFGNjJGMjExNERBRkU3OTAwNDE1NTZDIC8qIFNjcm9sbGlu
Z1RocmVhZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTFBRjg5QTQyMTUxOEZERUEwMEU1NDdCNSAvKiBUaWxlZEJhY2tpbmcuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRjg5QTQxMTUxOEZERUEwMEU1
NDdCNSAvKiBUaWxlZEJhY2tpbmcuaCAqLzsgfTsKIAkJMUFGOEUxMUExMjU2NTkyNjAwMjMwRkY3
IC8qIFByb3h5U2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQUY4RTExOTEyNTY1OTI2MDAyMzBGRjcgLyogUHJveHlTZXJ2ZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQUY4RTEzMzEyNTY1
QTQ0MDAyMzBGRjcgLyogUHJveHlTZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUFGOEUxMzIxMjU2NUE0NDAwMjMwRkY3IC8qIFByb3h5U2Vy
dmVyLmNwcCAqLzsgfTsKIAkJMUFGOEUxQzMxMjU2NzNFMDAwMjMwRkY3IC8qIFByb3h5U2VydmVy
Q0ZOZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUFGOEUxQzExMjU2NzNFMDAwMjMwRkY3IC8qIFByb3h5U2VydmVyQ0ZOZXQuY3BwICovOyB9OwpA
QCAtNzQ0OCw2ICs3NDQ5LDcgQEAKIAkJMUFGNjJGMjAxNERBRkU3OTAwNDE1NTZDIC8qIFNjcm9s
bGluZ1RocmVhZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3Jv
bGxpbmdUaHJlYWQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUY2MkYyMTE0
REFGRTc5MDA0MTU1NkMgLyogU2Nyb2xsaW5nVGhyZWFkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNjcm9sbGluZ1RocmVhZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkxQUY2MkYyMzE0REFGRTkxMDA0MTU1NkMgLyogU2Nyb2xsaW5nVGhyZWFkTWFjLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2Nyb2xsaW5nVGhyZWFkTWFj
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQUY4OUE0MTE1MThGREVBMDBFNTQ3
QjUgLyogVGlsZWRCYWNraW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRp
bGVkQmFja2luZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUY4RTExOTEyNTY1
OTI2MDAyMzBGRjcgLyogUHJveHlTZXJ2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUHJveHlTZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFGOEUx
MzIxMjU2NUE0NDAwMjMwRkY3IC8qIFByb3h5U2VydmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFByb3h5U2VydmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMUFGOEUxQzExMjU2NzNFMDAwMjMwRkY3IC8qIFByb3h5U2VydmVyQ0ZOZXQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHJveHlTZXJ2ZXJDRk5ldC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xOTI2Nyw2ICsxOTI2OSw3IEBACiAJ
CQkJMzc2RENDRTAxM0I0Rjk2NjAwMkVCRUZDIC8qIFRleHRSdW4uY3BwICovLAogCQkJCUE4MjRC
NDY0MEUyRUYyRUEwMDgxQTdCNyAvKiBUZXh0UnVuLmggKi8sCiAJCQkJMzdDMjhBNjcxMEY2NTlD
QzAwOEM3ODEzIC8qIFR5cGVzZXR0aW5nRmVhdHVyZXMuaCAqLywKKwkJCQkxQUY4OUE0MTE1MThG
REVBMDBFNTQ3QjUgLyogVGlsZWRCYWNraW5nLmggKi8sCiAJCQkJRTRBRkNGQTQwREFGMjlBMzAw
RjVGNTVDIC8qIFVuaXRCZXppZXIuaCAqLywKIAkJCQk5MzlCMDJFQzBFQTJEQkM0MDBDNTQ1NzAg
LyogV2lkdGhJdGVyYXRvci5jcHAgKi8sCiAJCQkJOTM5QjAyRUQwRUEyREJDNDAwQzU0NTcwIC8q
IFdpZHRoSXRlcmF0b3IuaCAqLywKQEAgLTI0NjA3LDYgKzI0NjEwLDcgQEAKIAkJCQlGRDUzNzM1
MzEzN0I2NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRTMy
QjlDMTUxN0MwQjIwMEY1NDJFQyAvKiBSZW5kZXJNdWx0aUNvbHVtblNldC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkNFOTNGNDUxNTE3QzU2NzAwOENDRjc0IC8qIFJlbmRlclJlZ2lvblNldC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMUFGODlBNDIxNTE4RkRFQTAwRTU0N0I1IC8qIFRpbGVkQmFja2lu
Zy5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggZDI2MjEy
YzEyNjZmNTVlMzQzZjZlMmM2YzI0N2EwZDRkZjQ4NGViNy4uNmQwOGY5NTA0ZmNmYmRkYzNiOTdl
MjQwYTEzZTA2ZjYzNTgwM2I0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtNjkw
LDYgKzY5MCwxOSBAQCBHcmFwaGljc0xheWVyKiBGcmFtZVZpZXc6OmxheWVyRm9yU2Nyb2xsQ29y
bmVyKCkgY29uc3QKICAgICByZXR1cm4gcm9vdC0+Y29tcG9zaXRvcigpLT5sYXllckZvclNjcm9s
bENvcm5lcigpOwogfQogCitUaWxlZEJhY2tpbmcqIEZyYW1lVmlldzo6dGlsZWRCYWNraW5nKCkK
K3sKKyAgICBSZW5kZXJWaWV3KiByb290ID0gcm9vdFJlbmRlcmVyKHRoaXMpOworICAgIGlmICgh
cm9vdCkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBSZW5kZXJMYXllckJhY2tpbmcqIGJhY2tp
bmcgPSByb290LT5sYXllcigpLT5iYWNraW5nKCk7CisgICAgaWYgKCFiYWNraW5nKQorICAgICAg
ICByZXR1cm4gMDsKKworICAgIHJldHVybiBiYWNraW5nLT5ncmFwaGljc0xheWVyKCktPnRpbGVk
QmFja2luZygpOworfQorCiAjaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQogR3JhcGhpY3NMYXll
ciogRnJhbWVWaWV3OjpsYXllckZvck92ZXJoYW5nQXJlYXMoKSBjb25zdAogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmgKaW5kZXggMjc5ODQwMTU2NGQ1NjliNmQyMGFlZWE5YTY5ZjA0ODFiYzBkODky
Ni4uZjZlMWI4Y2EwMTUxY2IyMDdjYjljNGE4NDBiOGMxODU3YzM1ZjNiYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5oCkBAIC0xMjUsNiArMTI1LDggQEAgcHVibGljOgogICAgIC8vIENhbGxlZCB3
aGVuIGNoYW5nZXMgdG8gdGhlIEdyYXBoaWNzTGF5ZXIgaGllcmFyY2h5IGhhdmUgdG8gYmUgc3lu
Y2hyb25pemVkIHdpdGgKICAgICAvLyBjb250ZW50IHJlbmRlcmVkIHZpYSB0aGUgbm9ybWFsIHBh
aW50aW5nIHBhdGguCiAgICAgdm9pZCBzZXROZWVkc09uZVNob3REcmF3aW5nU3luY2hyb25pemF0
aW9uKCk7CisKKyAgICB2aXJ0dWFsIFRpbGVkQmFja2luZyogdGlsZWRCYWNraW5nKCkgT1ZFUlJJ
REU7CiAjZW5kaWYKIAogICAgIGJvb2wgaGFzQ29tcG9zaXRlZENvbnRlbnQoKSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCmluZGV4IDYxNzg3M2FmZDJmZGM1
MDA2NzRiNDk2ZjcwZTEwNTI0NzhiM2RmYmYuLjM1ZjU2OTMyZDgwNDhlMTA0NzQ0NjM3ZTYyNTg1
ZDEwODMzYjhjMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFi
bGVBcmVhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaApA
QCAtMzgsNiArMzgsNyBAQCBjbGFzcyBQbGF0Zm9ybVdoZWVsRXZlbnQ7CiBjbGFzcyBTY3JvbGxB
bmltYXRvcjsKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiBjbGFzcyBHcmFwaGlj
c0xheWVyOworY2xhc3MgVGlsZWRCYWNraW5nOwogI2VuZGlmCiAKIGNsYXNzIFNjcm9sbGFibGVB
cmVhIHsKQEAgLTE2MSw2ICsxNjIsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBzY2hl
ZHVsZUFuaW1hdGlvbigpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdm9pZCBzZXJ2aWNlU2Nyb2xs
QW5pbWF0aW9ucygpOwogCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorICAgIHZp
cnR1YWwgVGlsZWRCYWNraW5nKiB0aWxlZEJhY2tpbmcoKSB7IHJldHVybiAwOyB9CisjZW5kaWYK
KwogcHJvdGVjdGVkOgogICAgIFNjcm9sbGFibGVBcmVhKCk7CiAgICAgdmlydHVhbCB+U2Nyb2xs
YWJsZUFyZWEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzTGF5ZXIuaAppbmRleCBlN2RmZGM4M2ViZjJmMjE4OTg5YTE4NzM4NDkyOTBiZTdlNDM3MmI3
Li42OGMyYTRkMTYwZTQ0OGIyOGI0M2ViZDJhOGI3ZDI1MDVjMzg3MzZiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCkBAIC05NSw2ICs5
NSw3IEBAIGNsYXNzIEZsb2F0UG9pbnQzRDsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNsYXNz
IEltYWdlOwogY2xhc3MgVGV4dFN0cmVhbTsKK2NsYXNzIFRpbGVkQmFja2luZzsKIGNsYXNzIFRp
bWluZ0Z1bmN0aW9uOwogCiAvLyBCYXNlIGNsYXNzIGZvciBhbmltYXRpb24gdmFsdWVzIChhbHNv
IHVzZWQgZm9yIHRyYW5zaXRpb25zKS4gSGVyZSB0bwpAQCAtNDI3LDggKzQyOCw3IEBAIHB1Ymxp
YzoKIAogICAgIGJvb2wgdXNpbmdUaWxlZExheWVyKCkgY29uc3QgeyByZXR1cm4gbV91c2luZ1Rp
bGVkTGF5ZXI7IH0KIAotICAgIC8vIENhbGxlZCB3aGVuZXZlciB0aGUgdmlzaWJsZSByZWN0IG9m
IHRoZSBnaXZlbiBHcmFwaGljc0xheWVyIGNoYW5nZWQuCi0gICAgdmlydHVhbCB2b2lkIHZpc2li
bGVSZWN0Q2hhbmdlZChjb25zdCBJbnRSZWN0JikgeyB9CisgICAgdmlydHVhbCBUaWxlZEJhY2tp
bmcqIHRpbGVkQmFja2luZygpIHsgcmV0dXJuIDA7IH0KIAogI2lmIFBMQVRGT1JNKFFUKSB8fCBQ
TEFURk9STShHVEspCiAgICAgLy8gVGhpcyBhbGxvd3Mgc2V2ZXJhbCBhbHRlcm5hdGl2ZSBHcmFw
aGljc0xheWVyIGltcGxlbWVudGF0aW9ucyBpbiB0aGUgc2FtZSBwb3J0LApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmcuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNWI4
MjdlOGU2YTA4M2YwNGE3MmRmMjlmNjcxZGU0YzE3NDM3Y2I4Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nLmgKQEAgLTAsMCAr
MSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgVGlsZWRCYWNraW5nX2gKKyNkZWZpbmUgVGls
ZWRCYWNraW5nX2gKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJbnRSZWN0OworCitj
bGFzcyBUaWxlZEJhY2tpbmcgeworcHVibGljOgorICAgIHZpcnR1YWwgflRpbGVkQmFja2luZygp
IHsgfQorCisgICAgdmlydHVhbCB2b2lkIHZpc2libGVSZWN0Q2hhbmdlZChjb25zdCBJbnRSZWN0
JikgPSAwOworCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBUaWxl
ZEJhY2tpbmdfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvR3JhcGhpY3NMYXllckNBLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAKaW5kZXggNzA0MWUxMDkxZjk2OThmYWVkY2JjMGRkZDYy
Yzg5MWQ4NGNiMjZmZC4uZjM2YjgzZmRlYjkyNGJjYzlmMjM3MmY4Y2U3NTdhZjBiOWQzODczZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NM
YXllckNBLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFw
aGljc0xheWVyQ0EuY3BwCkBAIC04NzMsOSArODczLDkgQEAgdm9pZCBHcmFwaGljc0xheWVyQ0E6
OnN5bmNDb21wb3NpdGluZ1N0YXRlRm9yVGhpc0xheWVyT25seSgpCiAgICAgY29tbWl0TGF5ZXJD
aGFuZ2VzQWZ0ZXJTdWJsYXllcnMoKTsKIH0KIAotdm9pZCBHcmFwaGljc0xheWVyQ0E6OnZpc2li
bGVSZWN0Q2hhbmdlZChjb25zdCBJbnRSZWN0JiB2aXNpYmxlUmVjdCkKK1RpbGVkQmFja2luZyog
R3JhcGhpY3NMYXllckNBOjp0aWxlZEJhY2tpbmcoKQogewotICAgIG1fbGF5ZXItPnZpc2libGVS
ZWN0Q2hhbmdlZCh2aXNpYmxlUmVjdCk7CisgICAgcmV0dXJuIG1fbGF5ZXItPnRpbGVkQmFja2lu
ZygpOwogfQogCiB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6cmVjdXJzaXZlQ29tbWl0Q2hhbmdlcyhj
b25zdCBUcmFuc2Zvcm1TdGF0ZSYgc3RhdGUsIGZsb2F0IHBhZ2VTY2FsZUZhY3RvciwgY29uc3Qg
RmxvYXRQb2ludCYgcG9zaXRpb25SZWxhdGl2ZVRvQmFzZSwgYm9vbCBhZmZlY3RlZEJ5UGFnZVNj
YWxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3Jh
cGhpY3NMYXllckNBLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFw
aGljc0xheWVyQ0EuaAppbmRleCBmZWYwNzlmYmUzYWQzNzBiYzI2MjdlNTlkOTQzOGFhMTg5NTI4
ODMxLi5hMjkzZWY5OWE4M2RmODEzYjQ1Mzk3YmFkNGRjY2FlOTYwZDg1MWVkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0Eu
aApAQCAtMTM0LDcgKzEzNCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc3luY0NvbXBv
c2l0aW5nU3RhdGUoY29uc3QgRmxvYXRSZWN0Jik7CiAgICAgdmlydHVhbCB2b2lkIHN5bmNDb21w
b3NpdGluZ1N0YXRlRm9yVGhpc0xheWVyT25seSgpOwogCi0gICAgdmlydHVhbCB2b2lkIHZpc2li
bGVSZWN0Q2hhbmdlZChjb25zdCBJbnRSZWN0JikgT1ZFUlJJREU7CisgICAgdmlydHVhbCBUaWxl
ZEJhY2tpbmcqIHRpbGVkQmFja2luZygpIE9WRVJSSURFOwogCiAgICAgYm9vbCBhbGxvd1RpbGVk
TGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX2FsbG93VGlsZWRMYXllcjsgfQogICAgIHZpcnR1YWwg
dm9pZCBzZXRBbGxvd1RpbGVkTGF5ZXIoYm9vbCBiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXllci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmgKaW5kZXggM2FmZjdjMjYx
NGZlNmViZjJiOGExMGUzN2I1ZDVkMDUyODVmYjc4Mi4uZjdmMmQ1MmIzNDhkN2U4MTY2YzA3ZDhi
ZjQ0ZWQ4NDk1YWU3NTQ0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmgKQEAgLTIwMyw3ICsyMDMsNyBAQCBwdWJsaWM6
CiAgICAgZmxvYXQgY29udGVudHNTY2FsZSgpIGNvbnN0OwogICAgIHZvaWQgc2V0Q29udGVudHNT
Y2FsZShmbG9hdCk7CiAKLSAgICB2b2lkIHZpc2libGVSZWN0Q2hhbmdlZChjb25zdCBJbnRSZWN0
Jik7CisgICAgVGlsZWRCYWNraW5nKiB0aWxlZEJhY2tpbmcoKTsKIAogI2lmIFBMQVRGT1JNKFdJ
TikKICAgICBIYXNoTWFwPFN0cmluZywgUmVmUHRyPFBsYXRmb3JtQ0FBbmltYXRpb24+ID4mIGFu
aW1hdGlvbnMoKSB7IHJldHVybiBtX2FuaW1hdGlvbnM7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1DQUxheWVyTWFj
Lm1tCmluZGV4IGMzMzk4OWM0NzkwYWIzOTA4YTk0YmMzZjVhOGMyNTZjZmNiNzJhZjkuLjBiMTQ3
ZTQ3ZDY3OGE3MzY0ZDVlZTNkNGZmYWFlMmZkMTllNDU2YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FMYXll
ck1hYy5tbQpAQCAtOTU3LDEzICs5NTcsMTMgQEAgdm9pZCBQbGF0Zm9ybUNBTGF5ZXI6OnNldENv
bnRlbnRzU2NhbGUoZmxvYXQgdmFsdWUpCiAjZW5kaWYKIH0KIAotdm9pZCBQbGF0Zm9ybUNBTGF5
ZXI6OnZpc2libGVSZWN0Q2hhbmdlZChjb25zdCBJbnRSZWN0JiB2aXNpYmxlUmVjdCkKK1RpbGVk
QmFja2luZyogUGxhdGZvcm1DQUxheWVyOjp0aWxlZEJhY2tpbmcoKQogewogICAgIGlmIChtX2xh
eWVyVHlwZSAhPSBMYXllclR5cGVUaWxlQ2FjaGVMYXllcikKLSAgICAgICAgcmV0dXJuOworICAg
ICAgICByZXR1cm4gMDsKIAogICAgIFdlYlRpbGVDYWNoZUxheWVyICp0aWxlQ2FjaGVMYXllciA9
IHN0YXRpY19jYXN0PFdlYlRpbGVDYWNoZUxheWVyICo+KG1fbGF5ZXIuZ2V0KCkpOwotICAgIFt0
aWxlQ2FjaGVMYXllciB2aXNpYmxlUmVjdENoYW5nZWQ6dmlzaWJsZVJlY3RdOworICAgIHJldHVy
biBbdGlsZUNhY2hlTGF5ZXIgdGlsZWRCYWNraW5nXTsKIH0KIAogI2lmICFkZWZpbmVkKEJVSUxE
SU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9UaWxlQ2Fj
aGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9UaWxlQ2FjaGUu
aAppbmRleCAzNjY1OGZlNjcxYTI3ZDgwMWYyMzMzODBhYzQxOGJiYjk5ZWMwN2M5Li5hODM0NjM3
OTZkZjE4M2EyNDNhZmU2NmEzMTVhMGU0NDI2MjlkMDFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvVGlsZUNhY2hlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1RpbGVDYWNoZS5oCkBAIC0yOCw2ICsyOCw3
IEBACiAKICNpbmNsdWRlICJJbnRQb2ludEhhc2guaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCisj
aW5jbHVkZSAiVGlsZWRCYWNraW5nLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgpAQCAtNDQsNyArNDUs
NyBAQCBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBJbnRQb2ludDsKIGNsYXNzIEludFJlY3Q7CiAK
LWNsYXNzIFRpbGVDYWNoZSB7CitjbGFzcyBUaWxlQ2FjaGUgOiBwdWJsaWMgVGlsZWRCYWNraW5n
IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaWxlQ2FjaGUpOwogCiBwdWJsaWM6CkBAIC02
MywxOCArNjQsMTkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0QWNjZWxlcmF0ZXNEcmF3aW5nKGJv
b2wpOwogCiAgICAgQ0FMYXllciAqdGlsZUNvbnRhaW5lckxheWVyKCkgY29uc3QgeyByZXR1cm4g
bV90aWxlQ29udGFpbmVyTGF5ZXIuZ2V0KCk7IH0KLSAgICB2b2lkIHZpc2libGVSZWN0Q2hhbmdl
ZChjb25zdCBJbnRSZWN0Jik7CiAKICAgICB2b2lkIHNldFRpbGVEZWJ1Z0JvcmRlcldpZHRoKGZs
b2F0KTsKICAgICB2b2lkIHNldFRpbGVEZWJ1Z0JvcmRlckNvbG9yKENHQ29sb3JSZWYpOwogCiBw
cml2YXRlOgotICAgIHR5cGVkZWYgSW50UG9pbnQgVGlsZUluZGV4OwotCiAgICAgVGlsZUNhY2hl
KFdlYlRpbGVDYWNoZUxheWVyKiwgY29uc3QgSW50U2l6ZSYgdGlsZVNpemUpOwogCisgICAgLy8g
VGlsZWRCYWNraW5nIG1lbWJlciBmdW5jdGlvbnMuCisgICAgdmlydHVhbCB2b2lkIHZpc2libGVS
ZWN0Q2hhbmdlZChjb25zdCBJbnRSZWN0JikgT1ZFUlJJREU7CisKICAgICBJbnRSZWN0IGJvdW5k
cygpIGNvbnN0OwogCisgICAgdHlwZWRlZiBJbnRQb2ludCBUaWxlSW5kZXg7CiAgICAgSW50UmVj
dCByZWN0Rm9yVGlsZUluZGV4KGNvbnN0IFRpbGVJbmRleCYpIGNvbnN0OwogICAgIHZvaWQgZ2V0
VGlsZUluZGV4UmFuZ2VGb3JSZWN0KGNvbnN0IEludFJlY3QmLCBUaWxlSW5kZXgmIHRvcExlZnQs
IFRpbGVJbmRleCYgYm90dG9tUmlnaHQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvV2ViVGlsZUNhY2hlTGF5ZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9XZWJUaWxlQ2FjaGVMYXllci5oCmluZGV4IDIw
ODg4NGJmNzUxNDU4NWUyMzdjOGQyMDBhZDEyZmM0MWM3NGJiODYuLmI2YzM1OTkxZDY3YTkwNzAw
NTlkNjVkYTZlZDcxZTU1ZGUyYjFkOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL21hYy9XZWJUaWxlQ2FjaGVMYXllci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9XZWJUaWxlQ2FjaGVMYXllci5oCkBAIC0yOSw2
ICsyOSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgSW50UmVjdDsKICAgICBj
bGFzcyBUaWxlQ2FjaGU7CisgICAgY2xhc3MgVGlsZWRCYWNraW5nOwogfQogCiBAaW50ZXJmYWNl
IFdlYlRpbGVDYWNoZUxheWVyIDogQ0FMYXllciB7CkBAIC0zNiw2ICszNyw2IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIH0KIAogLSAoQ0FMYXllciAqKXRpbGVDb250YWluZXJMYXllcjsKLS0gKHZv
aWQpdmlzaWJsZVJlY3RDaGFuZ2VkOihjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jil2aXNpYmxlUmVj
dDsKKy0gKFdlYkNvcmU6OlRpbGVkQmFja2luZyopdGlsZWRCYWNraW5nOwogCiBAZW5kCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvV2ViVGlsZUNh
Y2hlTGF5ZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvV2Vi
VGlsZUNhY2hlTGF5ZXIubW0KaW5kZXggMDg2YzMxMTVjNGNjNzFkYWE3NzM4YWEyOGI0MzhiN2Y4
MjkwZGUwMS4uNjRjMDFmNzc4OWZkMGMxZmI0ZTgzNGQwZmNkMjkzOGY4YzBkMzRkMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1dlYlRpbGVDYWNo
ZUxheWVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9X
ZWJUaWxlQ2FjaGVMYXllci5tbQpAQCAtMTExLDkgKzExMSw5IEBAIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogICAgIHJldHVybiBfdGlsZUNhY2hlLT50aWxlQ29udGFpbmVyTGF5ZXIoKTsKIH0K
IAotLSAodm9pZCl2aXNpYmxlUmVjdENoYW5nZWQ6KGNvbnN0IEludFJlY3QmKXZpc2libGVSZWN0
CistIChXZWJDb3JlOjpUaWxlZEJhY2tpbmcqKXRpbGVkQmFja2luZwogewotICAgIF90aWxlQ2Fj
aGUtPnZpc2libGVSZWN0Q2hhbmdlZCh2aXNpYmxlUmVjdCk7CisgICAgcmV0dXJuIF90aWxlQ2Fj
aGUuZ2V0KCk7CiB9CiAKIC0gKHZvaWQpc2V0Qm9yZGVyQ29sb3I6KENHQ29sb3JSZWYpYm9yZGVy
Q29sb3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5jcHAKaW5kZXggZjlhOTgyZTQxODY0OWJkNmYyZWMzNDE0NDI5MTljMWM1YzdiMzkyNS4u
MWE0NjlmNzZjZjdkMDBjNjU4YjIxZWM0YWE2MTc0OWViNjdmYjViZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTUzLDYg
KzUzLDcgQEAKICNpbmNsdWRlICJTY3JvbGxiYXJUaGVtZS5oIgogI2luY2x1ZGUgIlNjcm9sbGlu
Z0Nvb3JkaW5hdG9yLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKKyNpbmNsdWRlICJUaWxlZEJh
Y2tpbmcuaCIKIAogI2lmIEVOQUJMRShQTFVHSU5fUFJPWFlfRk9SX1ZJREVPKQogI2luY2x1ZGUg
IkhUTUxNZWRpYUVsZW1lbnQuaCIKQEAgLTEwMjgsOCArMTAyOSw4IEBAIHZvaWQgUmVuZGVyTGF5
ZXJDb21wb3NpdG9yOjpmcmFtZVZpZXdEaWRTY3JvbGwoKQogICAgIEZyYW1lVmlldyogZnJhbWVW
aWV3ID0gbV9yZW5kZXJWaWV3LT5mcmFtZVZpZXcoKTsKICAgICBJbnRQb2ludCBzY3JvbGxQb3Np
dGlvbiA9IGZyYW1lVmlldy0+c2Nyb2xsUG9zaXRpb24oKTsKIAotICAgIGlmIChSZW5kZXJMYXll
ckJhY2tpbmcqIGJhY2tpbmcgPSByb290UmVuZGVyTGF5ZXIoKS0+YmFja2luZygpKQotICAgICAg
ICBiYWNraW5nLT5ncmFwaGljc0xheWVyKCktPnZpc2libGVSZWN0Q2hhbmdlZChmcmFtZVZpZXct
PnZpc2libGVDb250ZW50UmVjdChmYWxzZSAvKiBleGNsdWRlIHNjcm9sbGJhcnMgKi8pKTsKKyAg
ICBpZiAoVGlsZWRCYWNraW5nKiB0aWxlZEJhY2tpbmcgPSBmcmFtZVZpZXctPnRpbGVkQmFja2lu
ZygpKQorICAgICAgICB0aWxlZEJhY2tpbmctPnZpc2libGVSZWN0Q2hhbmdlZChmcmFtZVZpZXct
PnZpc2libGVDb250ZW50UmVjdChmYWxzZSAvKiBleGNsdWRlIHNjcm9sbGJhcnMgKi8pKTsKIAog
ICAgIGlmICghbV9zY3JvbGxMYXllcikKICAgICAgICAgcmV0dXJuOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132923</attachid>
            <date>2012-03-20 16:22:59 -0700</date>
            <delta_ts>2012-03-20 16:55:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81694-20120320162352.patch</filename>
            <type>text/plain</type>
            <size>18520</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNDA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODc3OTUxZTNkZGExNmRk
ZmUwOWRiYTA4YjQxYTgwOTAxNTYwYjQ1MC4uZmM3M2ZlMTcwZDE0NzkzZjI3OWY4NWMxMzhkMmJj
ZGRjNzlhODk0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEyLTAzLTIwICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgcGVyLVNj
cm9sbGFibGVBcmVhIHRpbGUgY2FjaGUgYmFzZSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE2OTQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYW4gYWJzdHJhY3QgYmFzZSBjbGFzcywgVGls
ZWRCYWNraW5nLCB0aGF0IGNhbiBiZSB1c2VkIHRvIGluZm9ybSB0aWxlIGNhY2hlcyBhYm91dCBj
aGFuZ2VkCisgICAgICAgIHN0YXRlIGluIHNjcm9sbGFibGUgYXJlYXMgKHN1Y2ggYXMgdGhlIGN1
cnJlbnRseSB2aXNpYmxlIHJlY3QsIHdoZXRoZXIgdGhlIHBhZ2UgaXMgYWN0aXZlIG9yIG5vdCwg
ZXRjKS4KKworICAgICAgICBNYWtlIFRpbGVDYWNoZSBpbmhlcml0IGZyb20gVGlsZWRCYWNraW5n
IGFuZCBwb3J0IHVwZGF0aW5nIHRoZSB2aXNpYmxlIHJlY3Qgb3ZlciB0byB0aGlzIG5ldyBtZWNo
YW5pc20uCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3
Ojp0aWxlZEJhY2tpbmcpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGFnZS9GcmFt
ZVZpZXcuaDoKKyAgICAgICAgKEZyYW1lVmlldyk6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xs
YWJsZUFyZWEuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoU2Nyb2xsYWJsZUFyZWEp
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OnRpbGVkQmFja2luZyk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyOjp0aWxlZEJhY2tpbmcpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZy5oOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoVGlsZWRCYWNraW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlRp
bGVkQmFja2luZzo6flRpbGVkQmFja2luZyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvR3JhcGhpY3NMYXllckNBLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJD
QTo6dGlsZWRCYWNraW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGlj
c0xheWVyQ0EuaDoKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXJDQSk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmg6CisgICAgICAgIChQbGF0Zm9ybUNBTGF5
ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJN
YWMubW06CisgICAgICAgIChQbGF0Zm9ybUNBTGF5ZXI6OnRpbGVkQmFja2luZyk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1RpbGVDYWNoZS5oOgorICAgICAgICAoVGlsZUNh
Y2hlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvV2ViVGlsZUNhY2hlTGF5
ZXIuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nh
L21hYy9XZWJUaWxlQ2FjaGVMYXllci5tbToKKyAgICAgICAgKC1bV2ViVGlsZUNhY2hlTGF5ZXIg
V2ViQ29yZTo6XSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3Jt
Q0FMYXllcldpbi5jcHA6CisgICAgICAgIChQbGF0Zm9ybUNBTGF5ZXI6OnRpbGVkQmFja2luZyk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmZyYW1lVmlld0RpZFNjcm9sbCk6CisK
IDIwMTItMDMtMjAgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAog
ICAgICAgICBDb252ZXJ0IGhhc1NwZWxsaW5nTWFya2VyIHRvIHVzZSBJbnRlcm5hbHMgaW50ZXJm
YWNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IGI4ZjFhMzI4MThhNDhhMWRkYmQ4MTBkMTBmYjVhYjFlY2E4ZDMwNWIuLjE1ZTAw
OTVlZGYwZjE3NzE0NWZjYjU5ZjU1NWQyYWVhZTU3OWVmZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU5OCw2ICs1OTgsNyBA
QAogCQkxQUY2MkYyNDE0REFGRTkxMDA0MTU1NkMgLyogU2Nyb2xsaW5nVGhyZWFkTWFjLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFGNjJGMjMxNERB
RkU5MTAwNDE1NTZDIC8qIFNjcm9sbGluZ1RocmVhZE1hYy5tbSAqLzsgfTsKIAkJMUFGNjJGMjUx
NERBRkU5RTAwNDE1NTZDIC8qIFNjcm9sbGluZ1RocmVhZC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUY2MkYyMDE0REFGRTc5MDA0MTU1NkMgLyog
U2Nyb2xsaW5nVGhyZWFkLmNwcCAqLzsgfTsKIAkJMUFGNjJGMjYxNERBRkVBMTAwNDE1NTZDIC8q
IFNjcm9sbGluZ1RocmVhZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUFGNjJGMjExNERBRkU3OTAwNDE1NTZDIC8qIFNjcm9sbGluZ1RocmVhZC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTFBRjg5QTQy
MTUxOEZERUEwMEU1NDdCNSAvKiBUaWxlZEJhY2tpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRjg5QTQxMTUxOEZERUEwMEU1NDdCNSAvKiBUaWxl
ZEJhY2tpbmcuaCAqLzsgfTsKIAkJMUFGOEUxMUExMjU2NTkyNjAwMjMwRkY3IC8qIFByb3h5U2Vy
dmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUY4
RTExOTEyNTY1OTI2MDAyMzBGRjcgLyogUHJveHlTZXJ2ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQUY4RTEzMzEyNTY1QTQ0MDAyMzBGRjcg
LyogUHJveHlTZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUFGOEUxMzIxMjU2NUE0NDAwMjMwRkY3IC8qIFByb3h5U2VydmVyLmNwcCAqLzsg
fTsKIAkJMUFGOEUxQzMxMjU2NzNFMDAwMjMwRkY3IC8qIFByb3h5U2VydmVyQ0ZOZXQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFGOEUxQzExMjU2
NzNFMDAwMjMwRkY3IC8qIFByb3h5U2VydmVyQ0ZOZXQuY3BwICovOyB9OwpAQCAtNzQ0OCw2ICs3
NDQ5LDcgQEAKIAkJMUFGNjJGMjAxNERBRkU3OTAwNDE1NTZDIC8qIFNjcm9sbGluZ1RocmVhZC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JvbGxpbmdUaHJlYWQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUY2MkYyMTE0REFGRTc5MDA0MTU1
NkMgLyogU2Nyb2xsaW5nVGhyZWFkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFNjcm9sbGluZ1RocmVhZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUY2MkYy
MzE0REFGRTkxMDA0MTU1NkMgLyogU2Nyb2xsaW5nVGhyZWFkTWFjLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2Nyb2xsaW5nVGhyZWFkTWFjLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkxQUY4OUE0MTE1MThGREVBMDBFNTQ3QjUgLyogVGlsZWRC
YWNraW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRpbGVkQmFja2luZy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUY4RTExOTEyNTY1OTI2MDAyMzBGRjcg
LyogUHJveHlTZXJ2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJveHlT
ZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFGOEUxMzIxMjU2NUE0NDAw
MjMwRkY3IC8qIFByb3h5U2VydmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFByb3h5U2VydmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFG
OEUxQzExMjU2NzNFMDAwMjMwRkY3IC8qIFByb3h5U2VydmVyQ0ZOZXQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHJveHlTZXJ2ZXJDRk5ldC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xOTI2Nyw2ICsxOTI2OSw3IEBACiAJCQkJMzc2RENDRTAx
M0I0Rjk2NjAwMkVCRUZDIC8qIFRleHRSdW4uY3BwICovLAogCQkJCUE4MjRCNDY0MEUyRUYyRUEw
MDgxQTdCNyAvKiBUZXh0UnVuLmggKi8sCiAJCQkJMzdDMjhBNjcxMEY2NTlDQzAwOEM3ODEzIC8q
IFR5cGVzZXR0aW5nRmVhdHVyZXMuaCAqLywKKwkJCQkxQUY4OUE0MTE1MThGREVBMDBFNTQ3QjUg
LyogVGlsZWRCYWNraW5nLmggKi8sCiAJCQkJRTRBRkNGQTQwREFGMjlBMzAwRjVGNTVDIC8qIFVu
aXRCZXppZXIuaCAqLywKIAkJCQk5MzlCMDJFQzBFQTJEQkM0MDBDNTQ1NzAgLyogV2lkdGhJdGVy
YXRvci5jcHAgKi8sCiAJCQkJOTM5QjAyRUQwRUEyREJDNDAwQzU0NTcwIC8qIFdpZHRoSXRlcmF0
b3IuaCAqLywKQEAgLTI0NjA3LDYgKzI0NjEwLDcgQEAKIAkJCQlGRDUzNzM1MzEzN0I2NTE4MDAw
MDhEQ0UgLyogWmVyb1BvbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRTMyQjlDMTUxN0MwQjIw
MEY1NDJFQyAvKiBSZW5kZXJNdWx0aUNvbHVtblNldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNF
OTNGNDUxNTE3QzU2NzAwOENDRjc0IC8qIFJlbmRlclJlZ2lvblNldC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMUFGODlBNDIxNTE4RkRFQTAwRTU0N0I1IC8qIFRpbGVkQmFja2luZy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7
CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggZDI2MjEyYzEyNjZmNTVlMzQz
ZjZlMmM2YzI0N2EwZDRkZjQ4NGViNy4uNmQwOGY5NTA0ZmNmYmRkYzNiOTdlMjQwYTEzZTA2ZjYz
NTgwM2I0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtNjkwLDYgKzY5MCwxOSBA
QCBHcmFwaGljc0xheWVyKiBGcmFtZVZpZXc6OmxheWVyRm9yU2Nyb2xsQ29ybmVyKCkgY29uc3QK
ICAgICByZXR1cm4gcm9vdC0+Y29tcG9zaXRvcigpLT5sYXllckZvclNjcm9sbENvcm5lcigpOwog
fQogCitUaWxlZEJhY2tpbmcqIEZyYW1lVmlldzo6dGlsZWRCYWNraW5nKCkKK3sKKyAgICBSZW5k
ZXJWaWV3KiByb290ID0gcm9vdFJlbmRlcmVyKHRoaXMpOworICAgIGlmICghcm9vdCkKKyAgICAg
ICAgcmV0dXJuIDA7CisKKyAgICBSZW5kZXJMYXllckJhY2tpbmcqIGJhY2tpbmcgPSByb290LT5s
YXllcigpLT5iYWNraW5nKCk7CisgICAgaWYgKCFiYWNraW5nKQorICAgICAgICByZXR1cm4gMDsK
KworICAgIHJldHVybiBiYWNraW5nLT5ncmFwaGljc0xheWVyKCktPnRpbGVkQmFja2luZygpOwor
fQorCiAjaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQogR3JhcGhpY3NMYXllciogRnJhbWVWaWV3
OjpsYXllckZvck92ZXJoYW5nQXJlYXMoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgK
aW5kZXggMjc5ODQwMTU2NGQ1NjliNmQyMGFlZWE5YTY5ZjA0ODFiYzBkODkyNi4uZjZlMWI4Y2Ew
MTUxY2IyMDdjYjljNGE4NDBiOGMxODU3YzM1ZjNiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5o
CkBAIC0xMjUsNiArMTI1LDggQEAgcHVibGljOgogICAgIC8vIENhbGxlZCB3aGVuIGNoYW5nZXMg
dG8gdGhlIEdyYXBoaWNzTGF5ZXIgaGllcmFyY2h5IGhhdmUgdG8gYmUgc3luY2hyb25pemVkIHdp
dGgKICAgICAvLyBjb250ZW50IHJlbmRlcmVkIHZpYSB0aGUgbm9ybWFsIHBhaW50aW5nIHBhdGgu
CiAgICAgdm9pZCBzZXROZWVkc09uZVNob3REcmF3aW5nU3luY2hyb25pemF0aW9uKCk7CisKKyAg
ICB2aXJ0dWFsIFRpbGVkQmFja2luZyogdGlsZWRCYWNraW5nKCkgT1ZFUlJJREU7CiAjZW5kaWYK
IAogICAgIGJvb2wgaGFzQ29tcG9zaXRlZENvbnRlbnQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCmluZGV4IDYxNzg3M2FmZDJmZGM1MDA2NzRiNDk2Zjcw
ZTEwNTI0NzhiM2RmYmYuLjM1ZjU2OTMyZDgwNDhlMTA0NzQ0NjM3ZTYyNTg1ZDEwODMzYjhjMjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaApAQCAtMzgsNiArMzgs
NyBAQCBjbGFzcyBQbGF0Zm9ybVdoZWVsRXZlbnQ7CiBjbGFzcyBTY3JvbGxBbmltYXRvcjsKICNp
ZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiBjbGFzcyBHcmFwaGljc0xheWVyOworY2xh
c3MgVGlsZWRCYWNraW5nOwogI2VuZGlmCiAKIGNsYXNzIFNjcm9sbGFibGVBcmVhIHsKQEAgLTE2
MSw2ICsxNjIsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBzY2hlZHVsZUFuaW1hdGlv
bigpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdm9pZCBzZXJ2aWNlU2Nyb2xsQW5pbWF0aW9ucygp
OwogCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorICAgIHZpcnR1YWwgVGlsZWRC
YWNraW5nKiB0aWxlZEJhY2tpbmcoKSB7IHJldHVybiAwOyB9CisjZW5kaWYKKwogcHJvdGVjdGVk
OgogICAgIFNjcm9sbGFibGVBcmVhKCk7CiAgICAgdmlydHVhbCB+U2Nyb2xsYWJsZUFyZWEoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaApp
bmRleCBlN2RmZGM4M2ViZjJmMjE4OTg5YTE4NzM4NDkyOTBiZTdlNDM3MmI3Li42OGMyYTRkMTYw
ZTQ0OGIyOGI0M2ViZDJhOGI3ZDI1MDVjMzg3MzZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCkBAIC05NSw2ICs5NSw3IEBAIGNsYXNz
IEZsb2F0UG9pbnQzRDsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNsYXNzIEltYWdlOwogY2xh
c3MgVGV4dFN0cmVhbTsKK2NsYXNzIFRpbGVkQmFja2luZzsKIGNsYXNzIFRpbWluZ0Z1bmN0aW9u
OwogCiAvLyBCYXNlIGNsYXNzIGZvciBhbmltYXRpb24gdmFsdWVzIChhbHNvIHVzZWQgZm9yIHRy
YW5zaXRpb25zKS4gSGVyZSB0bwpAQCAtNDI3LDggKzQyOCw3IEBAIHB1YmxpYzoKIAogICAgIGJv
b2wgdXNpbmdUaWxlZExheWVyKCkgY29uc3QgeyByZXR1cm4gbV91c2luZ1RpbGVkTGF5ZXI7IH0K
IAotICAgIC8vIENhbGxlZCB3aGVuZXZlciB0aGUgdmlzaWJsZSByZWN0IG9mIHRoZSBnaXZlbiBH
cmFwaGljc0xheWVyIGNoYW5nZWQuCi0gICAgdmlydHVhbCB2b2lkIHZpc2libGVSZWN0Q2hhbmdl
ZChjb25zdCBJbnRSZWN0JikgeyB9CisgICAgdmlydHVhbCBUaWxlZEJhY2tpbmcqIHRpbGVkQmFj
a2luZygpIHsgcmV0dXJuIDA7IH0KIAogI2lmIFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEsp
CiAgICAgLy8gVGhpcyBhbGxvd3Mgc2V2ZXJhbCBhbHRlcm5hdGl2ZSBHcmFwaGljc0xheWVyIGlt
cGxlbWVudGF0aW9ucyBpbiB0aGUgc2FtZSBwb3J0LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNWI4MjdlOGU2YTA4M2Yw
NGE3MmRmMjlmNjcxZGU0YzE3NDM3Y2I4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nLmgKQEAgLTAsMCArMSw0MyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgVGlsZWRCYWNraW5nX2gKKyNkZWZpbmUgVGlsZWRCYWNraW5nX2gK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJbnRSZWN0OworCitjbGFzcyBUaWxlZEJh
Y2tpbmcgeworcHVibGljOgorICAgIHZpcnR1YWwgflRpbGVkQmFja2luZygpIHsgfQorCisgICAg
dmlydHVhbCB2b2lkIHZpc2libGVSZWN0Q2hhbmdlZChjb25zdCBJbnRSZWN0JikgPSAwOworCit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBUaWxlZEJhY2tpbmdfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NM
YXllckNBLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNz
TGF5ZXJDQS5jcHAKaW5kZXggNzA0MWUxMDkxZjk2OThmYWVkY2JjMGRkZDYyYzg5MWQ4NGNiMjZm
ZC4uZjM2YjgzZmRlYjkyNGJjYzlmMjM3MmY4Y2U3NTdhZjBiOWQzODczZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0Eu
Y3BwCkBAIC04NzMsOSArODczLDkgQEAgdm9pZCBHcmFwaGljc0xheWVyQ0E6OnN5bmNDb21wb3Np
dGluZ1N0YXRlRm9yVGhpc0xheWVyT25seSgpCiAgICAgY29tbWl0TGF5ZXJDaGFuZ2VzQWZ0ZXJT
dWJsYXllcnMoKTsKIH0KIAotdm9pZCBHcmFwaGljc0xheWVyQ0E6OnZpc2libGVSZWN0Q2hhbmdl
ZChjb25zdCBJbnRSZWN0JiB2aXNpYmxlUmVjdCkKK1RpbGVkQmFja2luZyogR3JhcGhpY3NMYXll
ckNBOjp0aWxlZEJhY2tpbmcoKQogewotICAgIG1fbGF5ZXItPnZpc2libGVSZWN0Q2hhbmdlZCh2
aXNpYmxlUmVjdCk7CisgICAgcmV0dXJuIG1fbGF5ZXItPnRpbGVkQmFja2luZygpOwogfQogCiB2
b2lkIEdyYXBoaWNzTGF5ZXJDQTo6cmVjdXJzaXZlQ29tbWl0Q2hhbmdlcyhjb25zdCBUcmFuc2Zv
cm1TdGF0ZSYgc3RhdGUsIGZsb2F0IHBhZ2VTY2FsZUZhY3RvciwgY29uc3QgRmxvYXRQb2ludCYg
cG9zaXRpb25SZWxhdGl2ZVRvQmFzZSwgYm9vbCBhZmZlY3RlZEJ5UGFnZVNjYWxlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNB
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0Eu
aAppbmRleCBmZWYwNzlmYmUzYWQzNzBiYzI2MjdlNTlkOTQzOGFhMTg5NTI4ODMxLi5hMjkzZWY5
OWE4M2RmODEzYjQ1Mzk3YmFkNGRjY2FlOTYwZDg1MWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuaApAQCAtMTM0LDcg
KzEzNCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc3luY0NvbXBvc2l0aW5nU3RhdGUo
Y29uc3QgRmxvYXRSZWN0Jik7CiAgICAgdmlydHVhbCB2b2lkIHN5bmNDb21wb3NpdGluZ1N0YXRl
Rm9yVGhpc0xheWVyT25seSgpOwogCi0gICAgdmlydHVhbCB2b2lkIHZpc2libGVSZWN0Q2hhbmdl
ZChjb25zdCBJbnRSZWN0JikgT1ZFUlJJREU7CisgICAgdmlydHVhbCBUaWxlZEJhY2tpbmcqIHRp
bGVkQmFja2luZygpIE9WRVJSSURFOwogCiAgICAgYm9vbCBhbGxvd1RpbGVkTGF5ZXIoKSBjb25z
dCB7IHJldHVybiBtX2FsbG93VGlsZWRMYXllcjsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXRBbGxv
d1RpbGVkTGF5ZXIoYm9vbCBiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmgKaW5kZXggM2FmZjdjMjYxNGZlNmViZjJiOGEx
MGUzN2I1ZDVkMDUyODVmYjc4Mi4uZjdmMmQ1MmIzNDhkN2U4MTY2YzA3ZDhiZjQ0ZWQ4NDk1YWU3
NTQ0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxh
dGZvcm1DQUxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
UGxhdGZvcm1DQUxheWVyLmgKQEAgLTIwMyw3ICsyMDMsNyBAQCBwdWJsaWM6CiAgICAgZmxvYXQg
Y29udGVudHNTY2FsZSgpIGNvbnN0OwogICAgIHZvaWQgc2V0Q29udGVudHNTY2FsZShmbG9hdCk7
CiAKLSAgICB2b2lkIHZpc2libGVSZWN0Q2hhbmdlZChjb25zdCBJbnRSZWN0Jik7CisgICAgVGls
ZWRCYWNraW5nKiB0aWxlZEJhY2tpbmcoKTsKIAogI2lmIFBMQVRGT1JNKFdJTikKICAgICBIYXNo
TWFwPFN0cmluZywgUmVmUHRyPFBsYXRmb3JtQ0FBbmltYXRpb24+ID4mIGFuaW1hdGlvbnMoKSB7
IHJldHVybiBtX2FuaW1hdGlvbnM7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1DQUxheWVyTWFjLm1tCmluZGV4IGMz
Mzk4OWM0NzkwYWIzOTA4YTk0YmMzZjVhOGMyNTZjZmNiNzJhZjkuLjBiMTQ3ZTQ3ZDY3OGE3MzY0
ZDVlZTNkNGZmYWFlMmZkMTllNDU2YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FMYXllck1hYy5tbQpAQCAt
OTU3LDEzICs5NTcsMTMgQEAgdm9pZCBQbGF0Zm9ybUNBTGF5ZXI6OnNldENvbnRlbnRzU2NhbGUo
ZmxvYXQgdmFsdWUpCiAjZW5kaWYKIH0KIAotdm9pZCBQbGF0Zm9ybUNBTGF5ZXI6OnZpc2libGVS
ZWN0Q2hhbmdlZChjb25zdCBJbnRSZWN0JiB2aXNpYmxlUmVjdCkKK1RpbGVkQmFja2luZyogUGxh
dGZvcm1DQUxheWVyOjp0aWxlZEJhY2tpbmcoKQogewogICAgIGlmIChtX2xheWVyVHlwZSAhPSBM
YXllclR5cGVUaWxlQ2FjaGVMYXllcikKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4g
MDsKIAogICAgIFdlYlRpbGVDYWNoZUxheWVyICp0aWxlQ2FjaGVMYXllciA9IHN0YXRpY19jYXN0
PFdlYlRpbGVDYWNoZUxheWVyICo+KG1fbGF5ZXIuZ2V0KCkpOwotICAgIFt0aWxlQ2FjaGVMYXll
ciB2aXNpYmxlUmVjdENoYW5nZWQ6dmlzaWJsZVJlY3RdOworICAgIHJldHVybiBbdGlsZUNhY2hl
TGF5ZXIgdGlsZWRCYWNraW5nXTsKIH0KIAogI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BB
UkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9UaWxlQ2FjaGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9UaWxlQ2FjaGUuaAppbmRleCAzNjY1
OGZlNjcxYTI3ZDgwMWYyMzMzODBhYzQxOGJiYjk5ZWMwN2M5Li5hODM0NjM3OTZkZjE4M2EyNDNh
ZmU2NmEzMTVhMGU0NDI2MjlkMDFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9tYWMvVGlsZUNhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2EvbWFjL1RpbGVDYWNoZS5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNs
dWRlICJJbnRQb2ludEhhc2guaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCisjaW5jbHVkZSAiVGls
ZWRCYWNraW5nLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgpAQCAtNDQsNyArNDUsNyBAQCBjbGFzcyBG
bG9hdFJlY3Q7CiBjbGFzcyBJbnRQb2ludDsKIGNsYXNzIEludFJlY3Q7CiAKLWNsYXNzIFRpbGVD
YWNoZSB7CitjbGFzcyBUaWxlQ2FjaGUgOiBwdWJsaWMgVGlsZWRCYWNraW5nIHsKICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShUaWxlQ2FjaGUpOwogCiBwdWJsaWM6CkBAIC02MywxOCArNjQsMTkg
QEAgcHVibGljOgogICAgIHZvaWQgc2V0QWNjZWxlcmF0ZXNEcmF3aW5nKGJvb2wpOwogCiAgICAg
Q0FMYXllciAqdGlsZUNvbnRhaW5lckxheWVyKCkgY29uc3QgeyByZXR1cm4gbV90aWxlQ29udGFp
bmVyTGF5ZXIuZ2V0KCk7IH0KLSAgICB2b2lkIHZpc2libGVSZWN0Q2hhbmdlZChjb25zdCBJbnRS
ZWN0Jik7CiAKICAgICB2b2lkIHNldFRpbGVEZWJ1Z0JvcmRlcldpZHRoKGZsb2F0KTsKICAgICB2
b2lkIHNldFRpbGVEZWJ1Z0JvcmRlckNvbG9yKENHQ29sb3JSZWYpOwogCiBwcml2YXRlOgotICAg
IHR5cGVkZWYgSW50UG9pbnQgVGlsZUluZGV4OwotCiAgICAgVGlsZUNhY2hlKFdlYlRpbGVDYWNo
ZUxheWVyKiwgY29uc3QgSW50U2l6ZSYgdGlsZVNpemUpOwogCisgICAgLy8gVGlsZWRCYWNraW5n
IG1lbWJlciBmdW5jdGlvbnMuCisgICAgdmlydHVhbCB2b2lkIHZpc2libGVSZWN0Q2hhbmdlZChj
b25zdCBJbnRSZWN0JikgT1ZFUlJJREU7CisKICAgICBJbnRSZWN0IGJvdW5kcygpIGNvbnN0Owog
CisgICAgdHlwZWRlZiBJbnRQb2ludCBUaWxlSW5kZXg7CiAgICAgSW50UmVjdCByZWN0Rm9yVGls
ZUluZGV4KGNvbnN0IFRpbGVJbmRleCYpIGNvbnN0OwogICAgIHZvaWQgZ2V0VGlsZUluZGV4UmFu
Z2VGb3JSZWN0KGNvbnN0IEludFJlY3QmLCBUaWxlSW5kZXgmIHRvcExlZnQsIFRpbGVJbmRleCYg
Ym90dG9tUmlnaHQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS9tYWMvV2ViVGlsZUNhY2hlTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL21hYy9XZWJUaWxlQ2FjaGVMYXllci5oCmluZGV4IDIwODg4NGJmNzUxNDU4
NWUyMzdjOGQyMDBhZDEyZmM0MWM3NGJiODYuLmI2YzM1OTkxZDY3YTkwNzAwNTlkNjVkYTZlZDcx
ZTU1ZGUyYjFkOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhL21hYy9XZWJUaWxlQ2FjaGVMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL21hYy9XZWJUaWxlQ2FjaGVMYXllci5oCkBAIC0yOSw2ICsyOSw3IEBACiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgSW50UmVjdDsKICAgICBjbGFzcyBUaWxlQ2Fj
aGU7CisgICAgY2xhc3MgVGlsZWRCYWNraW5nOwogfQogCiBAaW50ZXJmYWNlIFdlYlRpbGVDYWNo
ZUxheWVyIDogQ0FMYXllciB7CkBAIC0zNiw2ICszNyw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IH0KIAogLSAoQ0FMYXllciAqKXRpbGVDb250YWluZXJMYXllcjsKLS0gKHZvaWQpdmlzaWJsZVJl
Y3RDaGFuZ2VkOihjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jil2aXNpYmxlUmVjdDsKKy0gKFdlYkNv
cmU6OlRpbGVkQmFja2luZyopdGlsZWRCYWNraW5nOwogCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvV2ViVGlsZUNhY2hlTGF5ZXIubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvV2ViVGlsZUNhY2hlTGF5
ZXIubW0KaW5kZXggMDg2YzMxMTVjNGNjNzFkYWE3NzM4YWEyOGI0MzhiN2Y4MjkwZGUwMS4uNjRj
MDFmNzc4OWZkMGMxZmI0ZTgzNGQwZmNkMjkzOGY4YzBkMzRkMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1dlYlRpbGVDYWNoZUxheWVyLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9XZWJUaWxlQ2FjaGVM
YXllci5tbQpAQCAtMTExLDkgKzExMSw5IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogICAg
IHJldHVybiBfdGlsZUNhY2hlLT50aWxlQ29udGFpbmVyTGF5ZXIoKTsKIH0KIAotLSAodm9pZCl2
aXNpYmxlUmVjdENoYW5nZWQ6KGNvbnN0IEludFJlY3QmKXZpc2libGVSZWN0CistIChXZWJDb3Jl
OjpUaWxlZEJhY2tpbmcqKXRpbGVkQmFja2luZwogewotICAgIF90aWxlQ2FjaGUtPnZpc2libGVS
ZWN0Q2hhbmdlZCh2aXNpYmxlUmVjdCk7CisgICAgcmV0dXJuIF90aWxlQ2FjaGUuZ2V0KCk7CiB9
CiAKIC0gKHZvaWQpc2V0Qm9yZGVyQ29sb3I6KENHQ29sb3JSZWYpYm9yZGVyQ29sb3IKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9QbGF0Zm9ybUNB
TGF5ZXJXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1Bs
YXRmb3JtQ0FMYXllcldpbi5jcHAKaW5kZXggY2E3MzAwMWQ1NTZhM2EyNzI1MjFkNDMzZjc1MWQ0
N2I1ODk0N2RiZi4uNDhiMjBkMGI4YmQyNDJhYjU0OWI4ZmU0NDJkZjQ0YWIzNjcyZWI4NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3Jt
Q0FMYXllcldpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
d2luL1BsYXRmb3JtQ0FMYXllcldpbi5jcHAKQEAgLTYzMyw4ICs2MzMsOSBAQCB2b2lkIFBsYXRm
b3JtQ0FMYXllcjo6c2V0Q29udGVudHNTY2FsZShmbG9hdCkKIHsKIH0KIAotdm9pZCBQbGF0Zm9y
bUNBTGF5ZXI6OnZpc2libGVSZWN0Q2hhbmdlZChjb25zdCBJbnRSZWN0JikKK1RpbGVkQmFja2lu
ZyogUGxhdGZvcm1DQUxheWVyOjp0aWxlZEJhY2tpbmcoKQogeworICAgIHJldHVybiAwOwogfQog
CiAjaWZuZGVmIE5ERUJVRwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCBmOWE5ODJlNDE4NjQ5YmQ2ZjJlYzM0MTQ0MjkxOWMx
YzVjN2IzOTI1Li4xYTQ2OWY3NmNmN2QwMGM2NThiMjFlYzRhYTYxNzQ5ZWI2N2ZiNWJlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNw
cApAQCAtNTMsNiArNTMsNyBAQAogI2luY2x1ZGUgIlNjcm9sbGJhclRoZW1lLmgiCiAjaW5jbHVk
ZSAiU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgorI2luY2x1
ZGUgIlRpbGVkQmFja2luZy5oIgogCiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9YWV9GT1JfVklERU8p
CiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgpAQCAtMTAyOCw4ICsxMDI5LDggQEAgdm9p
ZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmZyYW1lVmlld0RpZFNjcm9sbCgpCiAgICAgRnJhbWVW
aWV3KiBmcmFtZVZpZXcgPSBtX3JlbmRlclZpZXctPmZyYW1lVmlldygpOwogICAgIEludFBvaW50
IHNjcm9sbFBvc2l0aW9uID0gZnJhbWVWaWV3LT5zY3JvbGxQb3NpdGlvbigpOwogCi0gICAgaWYg
KFJlbmRlckxheWVyQmFja2luZyogYmFja2luZyA9IHJvb3RSZW5kZXJMYXllcigpLT5iYWNraW5n
KCkpCi0gICAgICAgIGJhY2tpbmctPmdyYXBoaWNzTGF5ZXIoKS0+dmlzaWJsZVJlY3RDaGFuZ2Vk
KGZyYW1lVmlldy0+dmlzaWJsZUNvbnRlbnRSZWN0KGZhbHNlIC8qIGV4Y2x1ZGUgc2Nyb2xsYmFy
cyAqLykpOworICAgIGlmIChUaWxlZEJhY2tpbmcqIHRpbGVkQmFja2luZyA9IGZyYW1lVmlldy0+
dGlsZWRCYWNraW5nKCkpCisgICAgICAgIHRpbGVkQmFja2luZy0+dmlzaWJsZVJlY3RDaGFuZ2Vk
KGZyYW1lVmlldy0+dmlzaWJsZUNvbnRlbnRSZWN0KGZhbHNlIC8qIGV4Y2x1ZGUgc2Nyb2xsYmFy
cyAqLykpOwogCiAgICAgaWYgKCFtX3Njcm9sbExheWVyKQogICAgICAgICByZXR1cm47Cg==
</data>
<flag name="review"
          id="136727"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>