<?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>66260</bug_id>
          
          <creation_ts>2011-08-15 16:07:08 -0700</creation_ts>
          <short_desc>Switch Element/Node to to new layout types</short_desc>
          <delta_ts>2011-08-15 16:51:41 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>63567</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Emil A Eklund">eae</reporter>
          <assigned_to name="Emil A Eklund">eae</assigned_to>
          <cc>eric</cc>
    
    <cc>leviw</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>451356</commentid>
    <comment_count>0</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-08-15 16:07:08 -0700</bug_when>
    <thetext>Convert Element, Node, ElementRareData and ContainerNode to new layout abstraction as a part of the ongoing conversion work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451357</commentid>
    <comment_count>1</comment_count>
      <attachid>103973</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-08-15 16:09:07 -0700</bug_when>
    <thetext>Created attachment 103973
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451358</commentid>
    <comment_count>2</comment_count>
      <attachid>103973</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-08-15 16:11:05 -0700</bug_when>
    <thetext>Comment on attachment 103973
Patch

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451394</commentid>
    <comment_count>3</comment_count>
      <attachid>103973</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-15 16:51:36 -0700</bug_when>
    <thetext>Comment on attachment 103973
Patch

Clearing flags on attachment: 103973

Committed r93071: &lt;http://trac.webkit.org/changeset/93071&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451395</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-15 16:51:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103973</attachid>
            <date>2011-08-15 16:09:07 -0700</date>
            <delta_ts>2011-08-15 16:51:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66260-20110815160906.patch</filename>
            <type>text/plain</type>
            <size>11761</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzMDY2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTEtMDgtMTUgIEVtaWwgQSBF
a2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFN3aXRjaCBFbGVtZW50L05vZGUg
dG8gdG8gbmV3IGxheW91dCB0eXBlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjYyNjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBDb252ZXJ0IEVsZW1lbnQsIE5vZGUsIEVsZW1lbnRSYXJlRGF0YSBhbmQg
Q29udGFpbmVyTm9kZSB0byBuZXcgbGF5b3V0CisgICAgICAgIGFic3RyYWN0aW9uIGFzIGEgcGFy
dCBvZiB0aGUgb25nb2luZyBjb252ZXJzaW9uIHdvcmsuCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
LCBubyBuZXcgZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIGRvbS9Db250YWluZXJOb2RlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRhaW5lck5vZGU6OmdldExvd2VyUmlnaHRDb3JuZXIp
OgorICAgICAgICAoV2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6Z2V0UmVjdCk6CisgICAgICAgICog
ZG9tL0NvbnRhaW5lck5vZGUuaDoKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50OjpzY3JvbGxJbnRvVmlldyk6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50OjpzY3JvbGxJbnRvVmlld0lmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OmFkanVz
dEZvckxvY2FsWm9vbSk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojpib3VuZHNJbldpbmRv
d1NwYWNlKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmdldENsaWVudFJlY3RzKToKKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmdldEJvdW5kaW5nQ2xpZW50UmVjdCk6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50OjpzY3JlZW5SZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1l
bnQ6Om1pbmltdW1TaXplRm9yUmVzaXppbmcpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6
c2V0TWluaW11bVNpemVGb3JSZXNpemluZyk6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAg
ICAgICAgKiBkb20vRWxlbWVudFJhcmVEYXRhLmg6CisgICAgICAgICogZG9tL05vZGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6Z2V0UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpOb2Rl
OjpyZW5kZXJSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6Omhhc05vbkVtcHR5Qm91bmRp
bmdCb3gpOgorICAgICAgICAqIGRvbS9Ob2RlLmg6CisKIDIwMTEtMDgtMTUgIERtaXRyeSBUaXRv
diAgPGRpbWljaEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRnJhbWVMb2FkZXJDbGllbnQ6OnRy
YW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UgZG9lcyBub3QgaGF2ZSBlbm91Z2ggcGFyYW1l
dGVycwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcAkocmV2aXNpb24gOTMw
NjIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTk0Nyw3ICs5NDcsNyBAQCBib29sIENvbnRhaW5lck5vZGU6OmdldExvd2VyUmlnaHRD
b3JuZXIoCiAgICAgICAgICAgICBwb2ludCA9IEZsb2F0UG9pbnQoKTsKICAgICAgICAgICAgIGlm
IChvLT5pc1RleHQoKSkgewogICAgICAgICAgICAgICAgIFJlbmRlclRleHQqIHRleHQgPSB0b1Jl
bmRlclRleHQobyk7Ci0gICAgICAgICAgICAgICAgSW50UmVjdCBsaW5lc0JveCA9IHRleHQtPmxp
bmVzQm91bmRpbmdCb3goKTsKKyAgICAgICAgICAgICAgICBMYXlvdXRSZWN0IGxpbmVzQm94ID0g
dGV4dC0+bGluZXNCb3VuZGluZ0JveCgpOwogICAgICAgICAgICAgICAgIGlmICghbGluZXNCb3gu
bWF4WCgpICYmICFsaW5lc0JveC5tYXhZKCkpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwogICAgICAgICAgICAgICAgIHBvaW50Lm1vdmVCeShsaW5lc0JveC5tYXhYTWF4WUNvcm5lcigp
KTsKQEAgLTk2Miw3ICs5NjIsNyBAQCBib29sIENvbnRhaW5lck5vZGU6OmdldExvd2VyUmlnaHRD
b3JuZXIoCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUludFJlY3QgQ29udGFpbmVyTm9kZTo6Z2V0
UmVjdCgpIGNvbnN0CitMYXlvdXRSZWN0IENvbnRhaW5lck5vZGU6OmdldFJlY3QoKSBjb25zdAog
ewogICAgIEZsb2F0UG9pbnQgIHVwcGVyTGVmdCwgbG93ZXJSaWdodDsKICAgICBib29sIGZvdW5k
VXBwZXJMZWZ0ID0gZ2V0VXBwZXJMZWZ0Q29ybmVyKHVwcGVyTGVmdCk7CkBAIC05NzcsNyArOTc3
LDcgQEAgSW50UmVjdCBDb250YWluZXJOb2RlOjpnZXRSZWN0KCkgY29uc3QKICAgICAgICAgICAg
IHVwcGVyTGVmdCA9IGxvd2VyUmlnaHQ7CiAgICAgfSAKIAotICAgIHJldHVybiBlbmNsb3NpbmdJ
bnRSZWN0KEZsb2F0UmVjdCh1cHBlckxlZnQsIGxvd2VyUmlnaHQuZXhwYW5kZWRUbyh1cHBlckxl
ZnQpIC0gdXBwZXJMZWZ0KSk7CisgICAgcmV0dXJuIGVuY2xvc2luZ0xheW91dFJlY3QoRmxvYXRS
ZWN0KHVwcGVyTGVmdCwgbG93ZXJSaWdodC5leHBhbmRlZFRvKHVwcGVyTGVmdCkgLSB1cHBlckxl
ZnQpKTsKIH0KIAogdm9pZCBDb250YWluZXJOb2RlOjpzZXRGb2N1cyhib29sIHJlY2VpdmVkKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oCShyZXZpc2lvbiA5MzA2MikKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTYwLDcg
KzYwLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2goKTsKICAgICB2aXJ0dWFs
IHZvaWQgZGV0YWNoKCk7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxSZW1vdmUoKTsKLSAgICB2aXJ0
dWFsIEludFJlY3QgZ2V0UmVjdCgpIGNvbnN0OworICAgIHZpcnR1YWwgTGF5b3V0UmVjdCBnZXRS
ZWN0KCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIHNldEZvY3VzKGJvb2wgPSB0cnVlKTsKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0QWN0aXZlKGJvb2wgYWN0aXZlID0gdHJ1ZSwgYm9vbCBwYXVzZSA9
IGZhbHNlKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0SG92ZXJlZChib29sID0gdHJ1ZSk7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCShyZXZpc2lvbiA5MzA2MikKKysrIFNvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgxLDcgKzI4MSw3IEBAIHZvaWQg
RWxlbWVudDo6c2Nyb2xsSW50b1ZpZXcoYm9vbCBhbGlnblQKICAgICBpZiAoIXJlbmRlcmVyKCkp
CiAgICAgICAgIHJldHVybjsKIAotICAgIEludFJlY3QgYm91bmRzID0gZ2V0UmVjdCgpOyAgICAK
KyAgICBMYXlvdXRSZWN0IGJvdW5kcyA9IGdldFJlY3QoKTsKICAgICAvLyBBbGlnbiB0byB0aGUg
dG9wIC8gYm90dG9tIGFuZCB0byB0aGUgY2xvc2VzdCBlZGdlLgogICAgIGlmIChhbGlnblRvVG9w
KQogICAgICAgICByZW5kZXJlcigpLT5lbmNsb3NpbmdMYXllcigpLT5zY3JvbGxSZWN0VG9WaXNp
YmxlKGJvdW5kcywgU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvRWRnZUlmTmVlZGVkLCBTY3JvbGxB
bGlnbm1lbnQ6OmFsaWduVG9wQWx3YXlzKTsKQEAgLTI5Niw3ICsyOTYsNyBAQCB2b2lkIEVsZW1l
bnQ6OnNjcm9sbEludG9WaWV3SWZOZWVkZWQoYm9vCiAgICAgaWYgKCFyZW5kZXJlcigpKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBJbnRSZWN0IGJvdW5kcyA9IGdldFJlY3QoKTsgICAgCisgICAg
TGF5b3V0UmVjdCBib3VuZHMgPSBnZXRSZWN0KCk7CiAgICAgaWYgKGNlbnRlcklmTmVlZGVkKQog
ICAgICAgICByZW5kZXJlcigpLT5lbmNsb3NpbmdMYXllcigpLT5zY3JvbGxSZWN0VG9WaXNpYmxl
KGJvdW5kcywgU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVlZGVkLCBTY3JvbGxBbGln
bm1lbnQ6OmFsaWduQ2VudGVySWZOZWVkZWQpOwogICAgIGVsc2UKQEAgLTM1NCw3ICszNTQsNyBA
QCBzdGF0aWMgZmxvYXQgbG9jYWxab29tRm9yUmVuZGVyZXIoUmVuZGVyCiAgICAgcmV0dXJuIHpv
b21GYWN0b3I7CiB9CiAKLXN0YXRpYyBpbnQgYWRqdXN0Rm9yTG9jYWxab29tKGludCB2YWx1ZSwg
UmVuZGVyT2JqZWN0KiByZW5kZXJlcikKK3N0YXRpYyBMYXlvdXRVbml0IGFkanVzdEZvckxvY2Fs
Wm9vbShMYXlvdXRVbml0IHZhbHVlLCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogewogICAgIGZs
b2F0IHpvb21GYWN0b3IgPSBsb2NhbFpvb21Gb3JSZW5kZXJlcihyZW5kZXJlcik7CiAgICAgaWYg
KHpvb21GYWN0b3IgPT0gMSkKQEAgLTM2Miw3ICszNjIsNyBAQCBzdGF0aWMgaW50IGFkanVzdEZv
ckxvY2FsWm9vbShpbnQgdmFsdWUsCiAgICAgLy8gTmVlZGVkIGJlY2F1c2UgY29tcHV0ZUxlbmd0
aEludCB0cnVuY2F0ZXMgKHJhdGhlciB0aGFuIHJvdW5kcykgd2hlbiBzY2FsaW5nIHVwLgogICAg
IGlmICh6b29tRmFjdG9yID4gMSkKICAgICAgICAgdmFsdWUrKzsKLSAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8aW50Pih2YWx1ZSAvIHpvb21GYWN0b3IpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxM
YXlvdXRVbml0Pih2YWx1ZSAvIHpvb21GYWN0b3IpOwogfQogCiBpbnQgRWxlbWVudDo6b2Zmc2V0
TGVmdCgpCkBAIC01MTEsMTMgKzUxMSwxMyBAQCBpbnQgRWxlbWVudDo6c2Nyb2xsSGVpZ2h0KCkK
ICAgICByZXR1cm4gMDsKIH0KIAotSW50UmVjdCBFbGVtZW50Ojpib3VuZHNJbldpbmRvd1NwYWNl
KCkKK0xheW91dFJlY3QgRWxlbWVudDo6Ym91bmRzSW5XaW5kb3dTcGFjZSgpCiB7CiAgICAgZG9j
dW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAKICAgICBG
cmFtZVZpZXcqIHZpZXcgPSBkb2N1bWVudCgpLT52aWV3KCk7CiAgICAgaWYgKCF2aWV3KQotICAg
ICAgICByZXR1cm4gSW50UmVjdCgpOworICAgICAgICByZXR1cm4gTGF5b3V0UmVjdCgpOwogCiAg
ICAgVmVjdG9yPEZsb2F0UXVhZD4gcXVhZHM7CiAjaWYgRU5BQkxFKFNWRykKQEAgLTUzNiw5ICs1
MzYsOSBAQCBJbnRSZWN0IEVsZW1lbnQ6OmJvdW5kc0luV2luZG93U3BhY2UoKQogICAgIH0KIAog
ICAgIGlmIChxdWFkcy5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBJbnRSZWN0KCk7CisgICAg
ICAgIHJldHVybiBMYXlvdXRSZWN0KCk7CiAKLSAgICBJbnRSZWN0IHJlc3VsdCA9IHF1YWRzWzBd
LmVuY2xvc2luZ0JvdW5kaW5nQm94KCk7CisgICAgTGF5b3V0UmVjdCByZXN1bHQgPSBxdWFkc1sw
XS5lbmNsb3NpbmdCb3VuZGluZ0JveCgpOwogICAgIGZvciAoc2l6ZV90IGkgPSAxOyBpIDwgcXVh
ZHMuc2l6ZSgpOyArK2kpCiAgICAgICAgIHJlc3VsdC51bml0ZShxdWFkc1tpXS5lbmNsb3NpbmdC
b3VuZGluZ0JveCgpKTsKIApAQCAtNTY3LDcgKzU2Nyw3IEBAIFBhc3NSZWZQdHI8Q2xpZW50UmVj
dExpc3Q+IEVsZW1lbnQ6OmdldEMKICAgICB9CiAKICAgICBpZiAoRnJhbWVWaWV3KiB2aWV3ID0g
ZG9jdW1lbnQoKS0+dmlldygpKSB7Ci0gICAgICAgIEludFJlY3QgdmlzaWJsZUNvbnRlbnRSZWN0
ID0gdmlldy0+dmlzaWJsZUNvbnRlbnRSZWN0KCk7CisgICAgICAgIExheW91dFJlY3QgdmlzaWJs
ZUNvbnRlbnRSZWN0ID0gdmlldy0+dmlzaWJsZUNvbnRlbnRSZWN0KCk7CiAgICAgICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgcXVhZHMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgICAgIHF1YWRz
W2ldLm1vdmUoLXZpc2libGVDb250ZW50UmVjdC54KCksIC12aXNpYmxlQ29udGVudFJlY3QueSgp
KTsKICAgICAgICAgICAgIGFkanVzdEZsb2F0UXVhZEZvckFic29sdXRlWm9vbShxdWFkc1tpXSwg
cmVuZGVyQm94TW9kZWxPYmplY3QpOwpAQCAtNjA3LDcgKzYwNyw3IEBAIFBhc3NSZWZQdHI8Q2xp
ZW50UmVjdD4gRWxlbWVudDo6Z2V0Qm91bmQKICAgICAgICAgcmVzdWx0LnVuaXRlKHF1YWRzW2ld
LmJvdW5kaW5nQm94KCkpOwogCiAgICAgaWYgKEZyYW1lVmlldyogdmlldyA9IGRvY3VtZW50KCkt
PnZpZXcoKSkgewotICAgICAgICBJbnRSZWN0IHZpc2libGVDb250ZW50UmVjdCA9IHZpZXctPnZp
c2libGVDb250ZW50UmVjdCgpOworICAgICAgICBMYXlvdXRSZWN0IHZpc2libGVDb250ZW50UmVj
dCA9IHZpZXctPnZpc2libGVDb250ZW50UmVjdCgpOwogICAgICAgICByZXN1bHQubW92ZSgtdmlz
aWJsZUNvbnRlbnRSZWN0LngoKSwgLXZpc2libGVDb250ZW50UmVjdC55KCkpOwogICAgIH0KIApA
QCAtNjIwLDEwICs2MjAsMTAgQEAgUGFzc1JlZlB0cjxDbGllbnRSZWN0PiBFbGVtZW50OjpnZXRC
b3VuZAogICAgIHJldHVybiBDbGllbnRSZWN0OjpjcmVhdGUocmVzdWx0KTsKIH0KICAgICAKLUlu
dFJlY3QgRWxlbWVudDo6c2NyZWVuUmVjdCgpIGNvbnN0CitMYXlvdXRSZWN0IEVsZW1lbnQ6OnNj
cmVlblJlY3QoKSBjb25zdAogewogICAgIGlmICghcmVuZGVyZXIoKSkKLSAgICAgICAgcmV0dXJu
IEludFJlY3QoKTsKKyAgICAgICAgcmV0dXJuIExheW91dFJlY3QoKTsKICAgICByZXR1cm4gcmVu
ZGVyZXIoKS0+dmlldygpLT5mcmFtZVZpZXcoKS0+Y29udGVudHNUb1NjcmVlbihyZW5kZXJlcigp
LT5hYnNvbHV0ZUJvdW5kaW5nQm94UmVjdCgpKTsKIH0KIApAQCAtMTcyMiwxMiArMTcyMiwxMiBA
QCBTdHJpbmcgRWxlbWVudDo6dGl0bGUoKSBjb25zdAogICAgIHJldHVybiBTdHJpbmcoKTsKIH0K
IAotSW50U2l6ZSBFbGVtZW50OjptaW5pbXVtU2l6ZUZvclJlc2l6aW5nKCkgY29uc3QKK0xheW91
dFNpemUgRWxlbWVudDo6bWluaW11bVNpemVGb3JSZXNpemluZygpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIGhhc1JhcmVEYXRhKCkgPyByYXJlRGF0YSgpLT5tX21pbmltdW1TaXplRm9yUmVzaXppbmcg
OiBkZWZhdWx0TWluaW11bVNpemVGb3JSZXNpemluZygpOwogfQogCi12b2lkIEVsZW1lbnQ6OnNl
dE1pbmltdW1TaXplRm9yUmVzaXppbmcoY29uc3QgSW50U2l6ZSYgc2l6ZSkKK3ZvaWQgRWxlbWVu
dDo6c2V0TWluaW11bVNpemVGb3JSZXNpemluZyhjb25zdCBMYXlvdXRTaXplJiBzaXplKQogewog
ICAgIGlmIChzaXplID09IGRlZmF1bHRNaW5pbXVtU2l6ZUZvclJlc2l6aW5nKCkgJiYgIWhhc1Jh
cmVEYXRhKCkpCiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAkocmV2aXNp
b24gOTMwNjIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xNjgsMTMgKzE2OCwxMyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBpbnQgc2Nyb2xsV2lk
dGgoKTsKICAgICB2aXJ0dWFsIGludCBzY3JvbGxIZWlnaHQoKTsKIAotICAgIEludFJlY3QgYm91
bmRzSW5XaW5kb3dTcGFjZSgpOworICAgIExheW91dFJlY3QgYm91bmRzSW5XaW5kb3dTcGFjZSgp
OwogCiAgICAgUGFzc1JlZlB0cjxDbGllbnRSZWN0TGlzdD4gZ2V0Q2xpZW50UmVjdHMoKTsKICAg
ICBQYXNzUmVmUHRyPENsaWVudFJlY3Q+IGdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgIAog
ICAgIC8vIFJldHVybnMgdGhlIGFic29sdXRlIGJvdW5kaW5nIGJveCB0cmFuc2xhdGVkIGludG8g
c2NyZWVuIGNvb3JkaW5hdGVzOgotICAgIEludFJlY3Qgc2NyZWVuUmVjdCgpIGNvbnN0OworICAg
IExheW91dFJlY3Qgc2NyZWVuUmVjdCgpIGNvbnN0OwogCiAgICAgdm9pZCByZW1vdmVBdHRyaWJ1
dGUoY29uc3QgU3RyaW5nJiBuYW1lLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCByZW1vdmVB
dHRyaWJ1dGVOUyhjb25zdCBTdHJpbmcmIG5hbWVzcGFjZVVSSSwgY29uc3QgU3RyaW5nJiBsb2Nh
bE5hbWUsIEV4Y2VwdGlvbkNvZGUmKTsKQEAgLTI3Miw4ICsyNzIsOCBAQCBwdWJsaWM6CiAKICAg
ICB2b2lkIHVwZGF0ZUlkKGNvbnN0IEF0b21pY1N0cmluZyYgb2xkSWQsIGNvbnN0IEF0b21pY1N0
cmluZyYgbmV3SWQpOwogCi0gICAgSW50U2l6ZSBtaW5pbXVtU2l6ZUZvclJlc2l6aW5nKCkgY29u
c3Q7Ci0gICAgdm9pZCBzZXRNaW5pbXVtU2l6ZUZvclJlc2l6aW5nKGNvbnN0IEludFNpemUmKTsK
KyAgICBMYXlvdXRTaXplIG1pbmltdW1TaXplRm9yUmVzaXppbmcoKSBjb25zdDsKKyAgICB2b2lk
IHNldE1pbmltdW1TaXplRm9yUmVzaXppbmcoY29uc3QgTGF5b3V0U2l6ZSYpOwogCiAgICAgLy8g
VXNlIERvY3VtZW50OjpyZWdpc3RlckZvckRvY3VtZW50QWN0aXZhdGlvbkNhbGxiYWNrcygpIHRv
IHN1YnNjcmliZSB0byB0aGVzZQogICAgIHZpcnR1YWwgdm9pZCBkb2N1bWVudFdpbGxCZWNvbWVJ
bmFjdGl2ZSgpIHsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaAkocmV2
aXNpb24gOTMwNjIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQyLDcgKzQyLDcgQEAgcHVibGljOgogICAgIHVzaW5nIE5vZGVSYXJl
RGF0YTo6bmVlZHNGb2N1c0FwcGVhcmFuY2VVcGRhdGVTb29uQWZ0ZXJBdHRhY2g7CiAgICAgdXNp
bmcgTm9kZVJhcmVEYXRhOjpzZXROZWVkc0ZvY3VzQXBwZWFyYW5jZVVwZGF0ZVNvb25BZnRlckF0
dGFjaDsKIAotICAgIEludFNpemUgbV9taW5pbXVtU2l6ZUZvclJlc2l6aW5nOworICAgIExheW91
dFNpemUgbV9taW5pbXVtU2l6ZUZvclJlc2l6aW5nOwogICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4g
bV9jb21wdXRlZFN0eWxlOwogICAgIFNoYWRvd1Jvb3QqIG1fc2hhZG93Um9vdDsKICAgICBBdG9t
aWNTdHJpbmcgbV9zaGFkb3dQc2V1ZG9JZDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAJKHJldmlzaW9u
IDkzMDYyKQorKysgU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC04MTksMTQgKzgxOSwxNCBAQCBSZW5kZXJCb3hNb2RlbE9iamVjdCogTm9kZTo6cmVuZGVyQm94
TW9kCiAgICAgcmV0dXJuIG1fcmVuZGVyZXIgJiYgbV9yZW5kZXJlci0+aXNCb3hNb2RlbE9iamVj
dCgpID8gdG9SZW5kZXJCb3hNb2RlbE9iamVjdChtX3JlbmRlcmVyKSA6IDA7CiB9CiAKLUludFJl
Y3QgTm9kZTo6Z2V0UmVjdCgpIGNvbnN0CitMYXlvdXRSZWN0IE5vZGU6OmdldFJlY3QoKSBjb25z
dAogewogICAgIGlmIChyZW5kZXJlcigpKQogICAgICAgICByZXR1cm4gcmVuZGVyZXIoKS0+YWJz
b2x1dGVCb3VuZGluZ0JveFJlY3QodHJ1ZSk7Ci0gICAgcmV0dXJuIEludFJlY3QoKTsKKyAgICBy
ZXR1cm4gTGF5b3V0UmVjdCgpOwogfQogICAgIAotSW50UmVjdCBOb2RlOjpyZW5kZXJSZWN0KGJv
b2wqIGlzUmVwbGFjZWQpCitMYXlvdXRSZWN0IE5vZGU6OnJlbmRlclJlY3QoYm9vbCogaXNSZXBs
YWNlZCkKIHsgICAgCiAgICAgUmVuZGVyT2JqZWN0KiBoaXRSZW5kZXJlciA9IHRoaXMtPnJlbmRl
cmVyKCk7CiAgICAgQVNTRVJUKGhpdFJlbmRlcmVyKTsKQEAgLTgzOCw3ICs4MzgsNyBAQCBJbnRS
ZWN0IE5vZGU6OnJlbmRlclJlY3QoYm9vbCogaXNSZXBsYWNlCiAgICAgICAgIH0KICAgICAgICAg
cmVuZGVyZXIgPSByZW5kZXJlci0+cGFyZW50KCk7CiAgICAgfQotICAgIHJldHVybiBJbnRSZWN0
KCk7ICAgIAorICAgIHJldHVybiBMYXlvdXRSZWN0KCk7ICAgIAogfQogCiBib29sIE5vZGU6Omhh
c05vbkVtcHR5Qm91bmRpbmdCb3goKSBjb25zdApAQCAtODUxLDkgKzg1MSw5IEBAIGJvb2wgTm9k
ZTo6aGFzTm9uRW1wdHlCb3VuZGluZ0JveCgpIGNvbnMKICAgICBpZiAoIWJveC0+Ym9yZGVyQm91
bmRpbmdCb3goKS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgVmVjdG9y
PEludFJlY3Q+IHJlY3RzOworICAgIFZlY3RvcjxMYXlvdXRSZWN0PiByZWN0czsKICAgICBGbG9h
dFBvaW50IGFic1BvcyA9IHJlbmRlcmVyKCktPmxvY2FsVG9BYnNvbHV0ZSgpOwotICAgIHJlbmRl
cmVyKCktPmFic29sdXRlUmVjdHMocmVjdHMsIGZsb29yZWRJbnRQb2ludChhYnNQb3MpKTsKKyAg
ICByZW5kZXJlcigpLT5hYnNvbHV0ZVJlY3RzKHJlY3RzLCBmbG9vcmVkTGF5b3V0UG9pbnQoYWJz
UG9zKSk7CiAgICAgc2l6ZV90IG4gPSByZWN0cy5zaXplKCk7CiAgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBuOyArK2kpCiAgICAgICAgIGlmICghcmVjdHNbaV0uaXNFbXB0eSgpKQpJbmRleDog
U291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5oCShyZXZpc2lvbiA5MzA2MikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0
LmgiCiAjaW5jbHVkZSAiS1VSTEhhc2guaCIKKyNpbmNsdWRlICJMYXlvdXRUeXBlcy5oIgogI2lu
Y2x1ZGUgIlJlbmRlclN0eWxlQ29uc3RhbnRzLmgiCiAjaW5jbHVkZSAiU2NyaXB0V3JhcHBhYmxl
LmgiCiAjaW5jbHVkZSAiVHJlZVNoYXJlZC5oIgpAQCAtMzQzLDggKzM0NCw4IEBAIHB1YmxpYzoK
ICAgICBib29sIHJlbmRlcmVySXNFZGl0YWJsZSgpIGNvbnN0IHsgcmV0dXJuIHJlbmRlcmVySXNF
ZGl0YWJsZShFZGl0YWJsZSk7IH0KICAgICBib29sIHJlbmRlcmVySXNSaWNobHlFZGl0YWJsZSgp
IGNvbnN0IHsgcmV0dXJuIHJlbmRlcmVySXNFZGl0YWJsZShSaWNobHlFZGl0YWJsZSk7IH0KICAg
ICB2aXJ0dWFsIGJvb2wgc2hvdWxkVXNlSW5wdXRNZXRob2QoKTsKLSAgICB2aXJ0dWFsIEludFJl
Y3QgZ2V0UmVjdCgpIGNvbnN0OwotICAgIEludFJlY3QgcmVuZGVyUmVjdChib29sKiBpc1JlcGxh
Y2VkKTsKKyAgICB2aXJ0dWFsIExheW91dFJlY3QgZ2V0UmVjdCgpIGNvbnN0OworICAgIExheW91
dFJlY3QgcmVuZGVyUmVjdChib29sKiBpc1JlcGxhY2VkKTsKIAogICAgIC8vIFJldHVybnMgdHJ1
ZSBpZiB0aGUgbm9kZSBoYXMgYSBub24tZW1wdHkgYm91bmRpbmcgYm94IGluIGxheW91dC4KICAg
ICAvLyBUaGlzIGRvZXMgbm90IDEwMCUgZ3VhcmFudGVlIHRoZSB1c2VyIGNhbiBzZWUgaXQsIGJ1
dCBpcyBwcmV0dHkgY2xvc2UuCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>