<?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>78452</bug_id>
          
          <creation_ts>2012-02-12 19:45:28 -0800</creation_ts>
          <short_desc>CSSPageRule should inherit from CSSRule instead of CSSStyleRule</short_desc>
          <delta_ts>2012-04-11 20:53: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>CSS</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>
          
          <blocked>77745</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>554956</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-02-12 19:45:28 -0800</bug_when>
    <thetext>This matches CSSOM and eliminates the only subclass of CSSStyleRule, enabling further refactoring.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>554960</commentid>
    <comment_count>1</comment_count>
      <attachid>126703</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-02-12 19:57:39 -0800</bug_when>
    <thetext>Created attachment 126703
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>554993</commentid>
    <comment_count>2</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-02-12 21:19:18 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/107526</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126703</attachid>
            <date>2012-02-12 19:57:39 -0800</date>
            <delta_ts>2012-02-12 20:23:28 -0800</delta_ts>
            <desc>patch</desc>
            <filename>page-rule-base.patch</filename>
            <type>text/plain</type>
            <size>13662</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNzUyMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQwIEBACisyMDEyLTAyLTEyICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBDU1NQYWdlUnVsZSBzaG91bGQg
aW5oZXJpdCBmcm9tIENTU1J1bGUgaW5zdGVhZCBvZiBDU1NTdHlsZVJ1bGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDUyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBtYXRjaGVzIENTU09NIGFu
ZCBlbGltaW5hdGVzIHRoZSBvbmx5IHN1YmNsYXNzIG9mIENTU1N0eWxlUnVsZSwgZW5hYmxpbmcg
ZnVydGhlciByZWZhY3RvcmluZy4KKworICAgICAgICAqIGNzcy9DU1NQYWdlUnVsZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQYWdlUnVsZTo6Q1NTUGFnZVJ1bGUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFnZVJ1bGU6On5DU1NQYWdlUnVsZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1BhZ2VSdWxlOjpzZWxlY3RvclRleHQpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFnZVJ1bGU6OnNldFNlbGVjdG9yVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQYWdlUnVsZTo6Y3NzVGV4dCk6CisgICAgICAgICogY3NzL0NTU1BhZ2VSdWxlLmg6CisgICAg
ICAgIChDU1NQYWdlUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYWdlUnVsZTo6c3R5bGUp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFnZVJ1bGU6OnNlbGVjdG9yKToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1BhZ2VSdWxlOjpwcm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Bh
Z2VSdWxlOjphZG9wdFNlbGVjdG9yVmVjdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhZ2VS
dWxlOjpzZXREZWNsYXJhdGlvbik6CisgICAgICAgICogY3NzL0NTU1J1bGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUnVsZTo6Y3NzVGV4dCk6CisgICAgICAgICogY3NzL0NTU1N0eWxlUnVs
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVJ1bGU6OmdlbmVyYXRlU2VsZWN0b3JU
ZXh0KToKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSdWxlU2V0OjpwYWdlUnVsZXMpOgorICAgICAgICAoUnVsZVNldCk6CisgICAgICAgIChX
ZWJDb3JlOjpSdWxlU2V0OjphZGRQYWdlUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpjb21wYXJl
UGFnZVJ1bGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6Om1hdGNoUGFn
ZVJ1bGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6Om1hdGNoUGFnZVJ1
bGVzRm9yTGlzdCk6CisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuaDoKKyAgICAgICAg
KENTU1N0eWxlU2VsZWN0b3IpOgorCiAyMDEyLTAyLTEyICBTaGlueWEgS2F3YW5ha2EgIDxzaGlu
eWFrQGdvb2dsZS5jb20+CiAKICAgICAgICAgU1ZHVFJlZkVsZW1lbnQgc2hvdWxkbid0IGNyZWF0
ZSBhIHNoYWRvdyByb290IGR5bmFtaWNhbGx5LgpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhZ2VSdWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFnZVJ1
bGUuY3BwCShyZXZpc2lvbiAxMDc0OTIpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFnZVJ1
bGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDcgKzEsNyBAQAogLyoKICAqIChDKSAxOTk5LTIw
MDMgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKICAqIChDKSAyMDAyLTIwMDMgRGlyayBNdWVs
bGVyIChtdWVsbGVyQGtkZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDUsIDIwMDYs
IDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDAyLCAyMDA1LCAyMDA2LCAyMDA4LCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjIsMjAgKzIyLDI4IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiQ1NTUGFnZVJ1bGUuaCIKIAorI2luY2x1ZGUgIkNTU1BhcnNlci5o
IgorI2luY2x1ZGUgIkNTU1NlbGVjdG9yLmgiCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNs
dWRlICJTdHlsZVByb3BlcnR5U2V0LmgiCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIENTU1BhZ2VSdWxlOjpDU1NQYWdlUnVsZShDU1NTdHlsZVNoZWV0
KiBwYXJlbnQsIGludCBzb3VyY2VMaW5lKQotICAgIDogQ1NTU3R5bGVSdWxlKHBhcmVudCwgc291
cmNlTGluZSwgQ1NTUnVsZTo6UEFHRV9SVUxFKQorICAgIDogQ1NTUnVsZShwYXJlbnQsIENTU1J1
bGU6OlBBR0VfUlVMRSkKIHsKKyAgICBzZXRTb3VyY2VMaW5lKHNvdXJjZUxpbmUpOwogfQogCi1T
dHJpbmcgQ1NTUGFnZVJ1bGU6OnBhZ2VTZWxlY3RvclRleHQoKSBjb25zdAorQ1NTUGFnZVJ1bGU6
On5DU1NQYWdlUnVsZSgpCit7Cit9CisKK1N0cmluZyBDU1NQYWdlUnVsZTo6c2VsZWN0b3JUZXh0
KCkgY29uc3QKIHsKICAgICBTdHJpbmcgdGV4dCA9ICJAcGFnZSI7Ci0gICAgQ1NTU2VsZWN0b3Iq
IHNlbGVjdG9yID0gc2VsZWN0b3JMaXN0KCkuZmlyc3QoKTsKKyAgICBjb25zdCBDU1NTZWxlY3Rv
ciogc2VsZWN0b3IgPSB0aGlzLT5zZWxlY3RvcigpOwogICAgIGlmIChzZWxlY3RvcikgewogICAg
ICAgICBTdHJpbmcgcGFnZVNwZWNpZmljYXRpb24gPSBzZWxlY3Rvci0+c2VsZWN0b3JUZXh0KCk7
CiAgICAgICAgIGlmICghcGFnZVNwZWNpZmljYXRpb24uaXNFbXB0eSgpICYmIHBhZ2VTcGVjaWZp
Y2F0aW9uICE9IHN0YXJBdG9tKQpAQCAtNDQsNCArNTIsMzUgQEAgU3RyaW5nIENTU1BhZ2VSdWxl
OjpwYWdlU2VsZWN0b3JUZXh0KCkgYwogICAgIHJldHVybiB0ZXh0OwogfQogCit2b2lkIENTU1Bh
Z2VSdWxlOjpzZXRTZWxlY3RvclRleHQoY29uc3QgU3RyaW5nJiBzZWxlY3RvclRleHQpCit7Cisg
ICAgRG9jdW1lbnQqIGRvYyA9IDA7CisgICAgaWYgKENTU1N0eWxlU2hlZXQqIHN0eWxlU2hlZXQg
PSBwYXJlbnRTdHlsZVNoZWV0KCkpCisgICAgICAgIGRvYyA9IHN0eWxlU2hlZXQtPmZpbmREb2N1
bWVudCgpOworICAgIGlmICghZG9jKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgQ1NTUGFy
c2VyIHA7CisgICAgQ1NTU2VsZWN0b3JMaXN0IHNlbGVjdG9yTGlzdDsKKyAgICBwLnBhcnNlU2Vs
ZWN0b3Ioc2VsZWN0b3JUZXh0LCBkb2MsIHNlbGVjdG9yTGlzdCk7CisgICAgaWYgKCFzZWxlY3Rv
ckxpc3QuZmlyc3QoKSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIFN0cmluZyBvbGRTZWxl
Y3RvclRleHQgPSB0aGlzLT5zZWxlY3RvclRleHQoKTsKKyAgICBtX3NlbGVjdG9yTGlzdC5hZG9w
dChzZWxlY3Rvckxpc3QpOworICAgIAorICAgIGlmICh0aGlzLT5zZWxlY3RvclRleHQoKSA9PSBv
bGRTZWxlY3RvclRleHQpCisgICAgICAgIHJldHVybjsKKyAgICBkb2MtPnN0eWxlU2VsZWN0b3JD
aGFuZ2VkKERlZmVyUmVjYWxjU3R5bGUpOworfQorCitTdHJpbmcgQ1NTUGFnZVJ1bGU6OmNzc1Rl
eHQoKSBjb25zdAoreworICAgIFN0cmluZyByZXN1bHQgPSBzZWxlY3RvclRleHQoKTsKKyAgICBy
ZXN1bHQgKz0gIiB7ICI7CisgICAgcmVzdWx0ICs9IG1fc3R5bGUtPmFzVGV4dCgpOworICAgIHJl
c3VsdCArPSAifSI7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmgJKHJldmlzaW9uIDEwNzQ5MikKKysr
IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWdlUnVsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMiw3
ICsyMiw5IEBACiAjaWZuZGVmIENTU1BhZ2VSdWxlX2gKICNkZWZpbmUgQ1NTUGFnZVJ1bGVfaAog
Ci0jaW5jbHVkZSAiQ1NTU3R5bGVSdWxlLmgiCisjaW5jbHVkZSAiQ1NTUnVsZS5oIgorI2luY2x1
ZGUgIkNTU1NlbGVjdG9yTGlzdC5oIgorI2luY2x1ZGUgIlN0eWxlUHJvcGVydHlTZXQuaCIKICNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIApAQCAt
MzEsMTcgKzMzLDMyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIENTU1NlbGVjdG9yOwog
Y2xhc3MgQ1NTU2VsZWN0b3JMaXN0OwogCi1jbGFzcyBDU1NQYWdlUnVsZSA6IHB1YmxpYyBDU1NT
dHlsZVJ1bGUgeworY2xhc3MgQ1NTUGFnZVJ1bGUgOiBwdWJsaWMgQ1NTUnVsZSB7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTUGFnZVJ1bGU+IGNyZWF0ZShDU1NTdHlsZVNoZWV0
KiBwYXJlbnQsIGludCBzb3VyY2VMaW5lKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBDU1NQYWdlUnVsZShwYXJlbnQsIHNvdXJjZUxpbmUpKTsKICAgICB9CisgICAgfkNTU1Bh
Z2VSdWxlKCk7CiAKLSAgICBTdHJpbmcgcGFnZVNlbGVjdG9yVGV4dCgpIGNvbnN0OworICAgIENT
U1N0eWxlRGVjbGFyYXRpb24qIHN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9zdHlsZS0+ZW5zdXJl
Q1NTU3R5bGVEZWNsYXJhdGlvbigpOyB9CisKKyAgICBTdHJpbmcgc2VsZWN0b3JUZXh0KCkgY29u
c3Q7CisgICAgdm9pZCBzZXRTZWxlY3RvclRleHQoY29uc3QgU3RyaW5nJik7CisKKyAgICBTdHJp
bmcgY3NzVGV4dCgpIGNvbnN0OworICAgIAorICAgIGNvbnN0IENTU1NlbGVjdG9yKiBzZWxlY3Rv
cigpIGNvbnN0IHsgcmV0dXJuIG1fc2VsZWN0b3JMaXN0LmZpcnN0KCk7IH0KKyAgICBTdHlsZVBy
b3BlcnR5U2V0KiBwcm9wZXJ0aWVzKCkgY29uc3QgeyByZXR1cm4gbV9zdHlsZS5nZXQoKTsgfQor
ICAgIAorICAgIHZvaWQgYWRvcHRTZWxlY3RvclZlY3RvcihWZWN0b3I8T3duUHRyPENTU1BhcnNl
clNlbGVjdG9yPiA+JiBzZWxlY3RvcnMpIHsgbV9zZWxlY3Rvckxpc3QuYWRvcHRTZWxlY3RvclZl
Y3RvcihzZWxlY3RvcnMpOyB9CisgICAgdm9pZCBzZXREZWNsYXJhdGlvbihQYXNzUmVmUHRyPFN0
eWxlUHJvcGVydHlTZXQ+IHN0eWxlKSB7IEFTU0VSVChzdHlsZS0+cGFyZW50UnVsZUludGVybmFs
KCkgPT0gdGhpcyk7IG1fc3R5bGUgPSBzdHlsZTsgfQogCiBwcml2YXRlOgogICAgIENTU1BhZ2VS
dWxlKENTU1N0eWxlU2hlZXQqIHBhcmVudCwgaW50IHNvdXJjZUxpbmUpOworCisgICAgUmVmUHRy
PFN0eWxlUHJvcGVydHlTZXQ+IG1fc3R5bGU7CisgICAgQ1NTU2VsZWN0b3JMaXN0IG1fc2VsZWN0
b3JMaXN0OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNv
cmUvY3NzL0NTU1J1bGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NS
dWxlLmNwcAkocmV2aXNpb24gMTA3NDkyKQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCw4ICs1NCw5IEBAIFN0cmluZyBDU1NSdWxlOjpjc3NU
ZXh0KCkgY29uc3QKICAgICBjYXNlIFVOS05PV05fUlVMRToKICAgICAgICAgcmV0dXJuIFN0cmlu
ZygpOwogICAgIGNhc2UgU1RZTEVfUlVMRToKLSAgICBjYXNlIFBBR0VfUlVMRToKICAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU1N0eWxlUnVsZSo+KHRoaXMpLT5jc3NUZXh0KCk7
CisgICAgY2FzZSBQQUdFX1JVTEU6CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBD
U1NQYWdlUnVsZSo+KHRoaXMpLT5jc3NUZXh0KCk7CiAgICAgY2FzZSBDSEFSU0VUX1JVTEU6CiAg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBDU1NDaGFyc2V0UnVsZSo+KHRoaXMpLT5j
c3NUZXh0KCk7CiAgICAgY2FzZSBJTVBPUlRfUlVMRToKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTdHlsZVJ1bGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NT
dHlsZVJ1bGUuY3BwCShyZXZpc2lvbiAxMDc0OTIpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
U3R5bGVSdWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsOCArMzUsOCBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLUNTU1N0eWxlUnVsZTo6Q1NTU3R5bGVSdWxlKENTU1N0eWxlU2hlZXQq
IHBhcmVudCwgaW50IGxpbmUsIENTU1J1bGU6OlR5cGUgdHlwZSkKLSAgICA6IENTU1J1bGUocGFy
ZW50LCB0eXBlKQorQ1NTU3R5bGVSdWxlOjpDU1NTdHlsZVJ1bGUoQ1NTU3R5bGVTaGVldCogcGFy
ZW50LCBpbnQgbGluZSkKKyAgICA6IENTU1J1bGUocGFyZW50LCBDU1NSdWxlOjpTVFlMRV9SVUxF
KQogewogICAgIHNldFNvdXJjZUxpbmUobGluZSk7CiAKQEAgLTY4LDE3ICs2OCwxMyBAQCBpbmxp
bmUgdm9pZCBDU1NTdHlsZVJ1bGU6OmNsZWFudXAoKQogCiBTdHJpbmcgQ1NTU3R5bGVSdWxlOjpn
ZW5lcmF0ZVNlbGVjdG9yVGV4dCgpIGNvbnN0CiB7Ci0gICAgaWYgKGlzUGFnZVJ1bGUoKSkKLSAg
ICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU1BhZ2VSdWxlKj4odGhpcyktPnBhZ2VT
ZWxlY3RvclRleHQoKTsKLSAgICBlbHNlIHsKLSAgICAgICAgU3RyaW5nQnVpbGRlciBidWlsZGVy
OwotICAgICAgICBmb3IgKENTU1NlbGVjdG9yKiBzID0gc2VsZWN0b3JMaXN0KCkuZmlyc3QoKTsg
czsgcyA9IENTU1NlbGVjdG9yTGlzdDo6bmV4dChzKSkgewotICAgICAgICAgICAgaWYgKHMgIT0g
c2VsZWN0b3JMaXN0KCkuZmlyc3QoKSkKLSAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgi
LCAiKTsKLSAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKHMtPnNlbGVjdG9yVGV4dCgpKTsKLSAg
ICAgICAgfQotICAgICAgICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpOworICAgIFN0cmluZ0J1
aWxkZXIgYnVpbGRlcjsKKyAgICBmb3IgKENTU1NlbGVjdG9yKiBzID0gc2VsZWN0b3JMaXN0KCku
Zmlyc3QoKTsgczsgcyA9IENTU1NlbGVjdG9yTGlzdDo6bmV4dChzKSkgeworICAgICAgICBpZiAo
cyAhPSBzZWxlY3Rvckxpc3QoKS5maXJzdCgpKQorICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQo
IiwgIik7CisgICAgICAgIGJ1aWxkZXIuYXBwZW5kKHMtPnNlbGVjdG9yVGV4dCgpKTsKICAgICB9
CisgICAgcmV0dXJuIGJ1aWxkZXIudG9TdHJpbmcoKTsKIH0KIAogU3RyaW5nIENTU1N0eWxlUnVs
ZTo6c2VsZWN0b3JUZXh0KCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHls
ZVJ1bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmgJ
KHJldmlzaW9uIDEwNzQ5MikKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuaAko
d29ya2luZyBjb3B5KQpAQCAtNTcsMTAgKzU3LDkgQEAgcHVibGljOgogCiAgICAgdXNpbmcgQ1NT
UnVsZTo6c291cmNlTGluZTsKIAotcHJvdGVjdGVkOgotICAgIENTU1N0eWxlUnVsZShDU1NTdHls
ZVNoZWV0KiBwYXJlbnQsIGludCBzb3VyY2VMaW5lLCBDU1NSdWxlOjpUeXBlID0gQ1NTUnVsZTo6
U1RZTEVfUlVMRSk7Ci0KIHByaXZhdGU6CisgICAgQ1NTU3R5bGVSdWxlKENTU1N0eWxlU2hlZXQq
IHBhcmVudCwgaW50IHNvdXJjZUxpbmUpOworCiAgICAgdm9pZCBjbGVhbnVwKCk7CiAgICAgU3Ry
aW5nIGdlbmVyYXRlU2VsZWN0b3JUZXh0KCkgY29uc3Q7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAJKHJldmlzaW9uIDEwNzQ5MikKKysrIFNvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQyLDcgKzI0
Miw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBWZWN0b3I8UnVsZURhdGE+KiBsaW5rUHNldWRvQ2xh
c3NSdWxlcygpIGNvbnN0IHsgcmV0dXJuICZtX2xpbmtQc2V1ZG9DbGFzc1J1bGVzOyB9CiAgICAg
Y29uc3QgVmVjdG9yPFJ1bGVEYXRhPiogZm9jdXNQc2V1ZG9DbGFzc1J1bGVzKCkgY29uc3QgeyBy
ZXR1cm4gJm1fZm9jdXNQc2V1ZG9DbGFzc1J1bGVzOyB9CiAgICAgY29uc3QgVmVjdG9yPFJ1bGVE
YXRhPiogdW5pdmVyc2FsUnVsZXMoKSBjb25zdCB7IHJldHVybiAmbV91bml2ZXJzYWxSdWxlczsg
fQotICAgIGNvbnN0IFZlY3RvcjxSdWxlRGF0YT4qIHBhZ2VSdWxlcygpIGNvbnN0IHsgcmV0dXJu
ICZtX3BhZ2VSdWxlczsgfQorICAgIGNvbnN0IFZlY3RvcjxDU1NQYWdlUnVsZSo+JiBwYWdlUnVs
ZXMoKSBjb25zdCB7IHJldHVybiBtX3BhZ2VSdWxlczsgfQogCiBwdWJsaWM6CiAgICAgQXRvbVJ1
bGVNYXAgbV9pZFJ1bGVzOwpAQCAtMjUyLDcgKzI1Miw3IEBAIHB1YmxpYzoKICAgICBWZWN0b3I8
UnVsZURhdGE+IG1fbGlua1BzZXVkb0NsYXNzUnVsZXM7CiAgICAgVmVjdG9yPFJ1bGVEYXRhPiBt
X2ZvY3VzUHNldWRvQ2xhc3NSdWxlczsKICAgICBWZWN0b3I8UnVsZURhdGE+IG1fdW5pdmVyc2Fs
UnVsZXM7Ci0gICAgVmVjdG9yPFJ1bGVEYXRhPiBtX3BhZ2VSdWxlczsKKyAgICBWZWN0b3I8Q1NT
UGFnZVJ1bGUqPiBtX3BhZ2VSdWxlczsKICAgICB1bnNpZ25lZCBtX3J1bGVDb3VudDsKICAgICBi
b29sIG1fYXV0b1Nocmlua1RvRml0RW5hYmxlZDsKICAgICBDU1NTdHlsZVNlbGVjdG9yOjpGZWF0
dXJlcyBtX2ZlYXR1cmVzOwpAQCAtMjMxNCw3ICsyMzE0LDcgQEAgdm9pZCBSdWxlU2V0OjphZGRS
dWxlKENTU1N0eWxlUnVsZSogcnVsZQogCiB2b2lkIFJ1bGVTZXQ6OmFkZFBhZ2VSdWxlKENTU1Bh
Z2VSdWxlKiBydWxlKQogewotICAgIG1fcGFnZVJ1bGVzLmFwcGVuZChSdWxlRGF0YShydWxlLCBy
dWxlLT5zZWxlY3Rvckxpc3QoKS5maXJzdCgpLCBtX3BhZ2VSdWxlcy5zaXplKCkpKTsKKyAgICBt
X3BhZ2VSdWxlcy5hcHBlbmQocnVsZSk7CiB9CiAKIHZvaWQgUnVsZVNldDo6YWRkUmVnaW9uUnVs
ZShXZWJLaXRDU1NSZWdpb25SdWxlKiBydWxlKQpAQCAtMjcyMyw1MiArMjcyMyw0OCBAQCB2b2lk
IENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5TWF0Y2hlZERlY2xhCiAgICAgYWRkVG9NYXRjaGVkRGVj
bGFyYXRpb25DYWNoZShtX3N0eWxlLmdldCgpLCBtX3BhcmVudFN0eWxlLCBjYWNoZUhhc2gsIG1h
dGNoUmVzdWx0KTsKIH0KIAotdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjptYXRjaFBhZ2VSdWxlcyhS
dWxlU2V0KiBydWxlcywgYm9vbCBpc0xlZnRQYWdlLCBib29sIGlzRmlyc3RQYWdlLCBjb25zdCBT
dHJpbmcmIHBhZ2VOYW1lKQorc3RhdGljIGlubGluZSBib29sIGNvbXBhcmVQYWdlUnVsZXMoY29u
c3QgQ1NTUGFnZVJ1bGUqIHIxLCBjb25zdCBDU1NQYWdlUnVsZSogcjIpCiB7Ci0gICAgbV9tYXRj
aGVkUnVsZXMuY2xlYXIoKTsKKyAgICByZXR1cm4gcjEtPnNlbGVjdG9yKCktPnNwZWNpZmljaXR5
KCkgPCByMi0+c2VsZWN0b3IoKS0+c3BlY2lmaWNpdHkoKTsKK30KIAordm9pZCBDU1NTdHlsZVNl
bGVjdG9yOjptYXRjaFBhZ2VSdWxlcyhSdWxlU2V0KiBydWxlcywgYm9vbCBpc0xlZnRQYWdlLCBi
b29sIGlzRmlyc3RQYWdlLCBjb25zdCBTdHJpbmcmIHBhZ2VOYW1lKQorewogICAgIGlmICghcnVs
ZXMpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1hdGNoUGFnZVJ1bGVzRm9yTGlzdChydWxlcy0+
cGFnZVJ1bGVzKCksIGlzTGVmdFBhZ2UsIGlzRmlyc3RQYWdlLCBwYWdlTmFtZSk7Ci0KLSAgICAv
LyBJZiB3ZSBkaWRuJ3QgbWF0Y2ggYW55IHJ1bGVzLCB3ZSdyZSBkb25lLgotICAgIGlmIChtX21h
dGNoZWRSdWxlcy5pc0VtcHR5KCkpCisgICAgVmVjdG9yPENTU1BhZ2VSdWxlKj4gbWF0Y2hlZFBh
Z2VSdWxlczsKKyAgICBtYXRjaFBhZ2VSdWxlc0Zvckxpc3QobWF0Y2hlZFBhZ2VSdWxlcywgcnVs
ZXMtPnBhZ2VSdWxlcygpLCBpc0xlZnRQYWdlLCBpc0ZpcnN0UGFnZSwgcGFnZU5hbWUpOworICAg
IGlmIChtYXRjaGVkUGFnZVJ1bGVzLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
Ly8gU29ydCB0aGUgc2V0IG9mIG1hdGNoZWQgcnVsZXMuCi0gICAgc29ydE1hdGNoZWRSdWxlcygp
OworICAgIHN0ZDo6c3RhYmxlX3NvcnQobWF0Y2hlZFBhZ2VSdWxlcy5iZWdpbigpLCBtYXRjaGVk
UGFnZVJ1bGVzLmVuZCgpLCBjb21wYXJlUGFnZVJ1bGVzKTsKIAotICAgIC8vIE5vdyB0cmFuc2Zl
ciB0aGUgc2V0IG9mIG1hdGNoZWQgcnVsZXMgb3ZlciB0byBvdXIgbGlzdCBvZiBkZWNscy4KLSAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9tYXRjaGVkUnVsZXMuc2l6ZSgpOyBpKyspCi0g
ICAgICAgIGFkZE1hdGNoZWREZWNsYXJhdGlvbihtX21hdGNoZWRSdWxlc1tpXS0+cnVsZSgpLT5k
ZWNsYXJhdGlvbigpKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbWF0Y2hlZFBhZ2VS
dWxlcy5zaXplKCk7IGkrKykKKyAgICAgICAgYWRkTWF0Y2hlZERlY2xhcmF0aW9uKG1hdGNoZWRQ
YWdlUnVsZXNbaV0tPnByb3BlcnRpZXMoKSk7CiB9CiAKLXZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6
bWF0Y2hQYWdlUnVsZXNGb3JMaXN0KGNvbnN0IFZlY3RvcjxSdWxlRGF0YT4qIHJ1bGVzLCBib29s
IGlzTGVmdFBhZ2UsIGJvb2wgaXNGaXJzdFBhZ2UsIGNvbnN0IFN0cmluZyYgcGFnZU5hbWUpCit2
b2lkIENTU1N0eWxlU2VsZWN0b3I6Om1hdGNoUGFnZVJ1bGVzRm9yTGlzdChWZWN0b3I8Q1NTUGFn
ZVJ1bGUqPiYgbWF0Y2hlZFJ1bGVzLCBjb25zdCBWZWN0b3I8Q1NTUGFnZVJ1bGUqPiYgcnVsZXMs
IGJvb2wgaXNMZWZ0UGFnZSwgYm9vbCBpc0ZpcnN0UGFnZSwgY29uc3QgU3RyaW5nJiBwYWdlTmFt
ZSkKIHsKLSAgICBpZiAoIXJ1bGVzKQotICAgICAgICByZXR1cm47Ci0KLSAgICB1bnNpZ25lZCBz
aXplID0gcnVsZXMtPnNpemUoKTsKKyAgICB1bnNpZ25lZCBzaXplID0gcnVsZXMuc2l6ZSgpOwog
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzaXplOyArK2kpIHsKLSAgICAgICAgY29uc3Qg
UnVsZURhdGEmIHJ1bGVEYXRhID0gcnVsZXMtPmF0KGkpOwotICAgICAgICBDU1NTdHlsZVJ1bGUq
IHJ1bGUgPSBydWxlRGF0YS5ydWxlKCk7Ci0gICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgc2Vs
ZWN0b3JMb2NhbE5hbWUgPSBydWxlRGF0YS5zZWxlY3RvcigpLT50YWcoKS5sb2NhbE5hbWUoKTsK
KyAgICAgICAgQ1NTUGFnZVJ1bGUqIHJ1bGUgPSBydWxlc1tpXTsKKyAgICAgICAgY29uc3QgQXRv
bWljU3RyaW5nJiBzZWxlY3RvckxvY2FsTmFtZSA9IHJ1bGUtPnNlbGVjdG9yKCktPnRhZygpLmxv
Y2FsTmFtZSgpOwogICAgICAgICBpZiAoc2VsZWN0b3JMb2NhbE5hbWUgIT0gc3RhckF0b20gJiYg
c2VsZWN0b3JMb2NhbE5hbWUgIT0gcGFnZU5hbWUpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgQ1NTU2VsZWN0b3I6OlBzZXVkb1R5cGUgcHNldWRvVHlwZSA9IHJ1bGVEYXRhLnNlbGVj
dG9yKCktPnBzZXVkb1R5cGUoKTsKKyAgICAgICAgQ1NTU2VsZWN0b3I6OlBzZXVkb1R5cGUgcHNl
dWRvVHlwZSA9IHJ1bGUtPnNlbGVjdG9yKCktPnBzZXVkb1R5cGUoKTsKICAgICAgICAgaWYgKChw
c2V1ZG9UeXBlID09IENTU1NlbGVjdG9yOjpQc2V1ZG9MZWZ0UGFnZSAmJiAhaXNMZWZ0UGFnZSkK
ICAgICAgICAgICAgIHx8IChwc2V1ZG9UeXBlID09IENTU1NlbGVjdG9yOjpQc2V1ZG9SaWdodFBh
Z2UgJiYgaXNMZWZ0UGFnZSkKICAgICAgICAgICAgIHx8IChwc2V1ZG9UeXBlID09IENTU1NlbGVj
dG9yOjpQc2V1ZG9GaXJzdFBhZ2UgJiYgIWlzRmlyc3RQYWdlKSkKICAgICAgICAgICAgIGNvbnRp
bnVlOwogCiAgICAgICAgIC8vIElmIHRoZSBydWxlIGhhcyBubyBwcm9wZXJ0aWVzIHRvIGFwcGx5
LCB0aGVuIGlnbm9yZSBpdC4KLSAgICAgICAgU3R5bGVQcm9wZXJ0eVNldCogZGVjbCA9IHJ1bGUt
PmRlY2xhcmF0aW9uKCk7Ci0gICAgICAgIGlmICghZGVjbCB8fCBkZWNsLT5pc0VtcHR5KCkpCisg
ICAgICAgIFN0eWxlUHJvcGVydHlTZXQqIHByb3BlcnRpZXMgPSBydWxlLT5wcm9wZXJ0aWVzKCk7
CisgICAgICAgIGlmICghcHJvcGVydGllcyB8fCBwcm9wZXJ0aWVzLT5pc0VtcHR5KCkpCiAgICAg
ICAgICAgICBjb250aW51ZTsKIAogICAgICAgICAvLyBBZGQgdGhpcyBydWxlIHRvIG91ciBsaXN0
IG9mIG1hdGNoZWQgcnVsZXMuCi0gICAgICAgIGFkZE1hdGNoZWRSdWxlKCZydWxlRGF0YSk7Cisg
ICAgICAgIG1hdGNoZWRSdWxlcy5hcHBlbmQocnVsZSk7CiAgICAgfQogfQogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgJKHJldmlzaW9uIDEwNzQ5MikKKysrIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5OSw3
ICsyOTksNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBib29sIGlzVmFsaWRSZWdpb25TdHlsZVBy
b3BlcnR5KGludCBpZCk7CiAKICAgICB2b2lkIG1hdGNoUGFnZVJ1bGVzKFJ1bGVTZXQqLCBib29s
IGlzTGVmdFBhZ2UsIGJvb2wgaXNGaXJzdFBhZ2UsIGNvbnN0IFN0cmluZyYgcGFnZU5hbWUpOwot
ICAgIHZvaWQgbWF0Y2hQYWdlUnVsZXNGb3JMaXN0KGNvbnN0IFZlY3RvcjxSdWxlRGF0YT4qLCBi
b29sIGlzTGVmdFBhZ2UsIGJvb2wgaXNGaXJzdFBhZ2UsIGNvbnN0IFN0cmluZyYgcGFnZU5hbWUp
OworICAgIHZvaWQgbWF0Y2hQYWdlUnVsZXNGb3JMaXN0KFZlY3RvcjxDU1NQYWdlUnVsZSo+JiBt
YXRjaGVkUnVsZXMsIGNvbnN0IFZlY3RvcjxDU1NQYWdlUnVsZSo+JiwgYm9vbCBpc0xlZnRQYWdl
LCBib29sIGlzRmlyc3RQYWdlLCBjb25zdCBTdHJpbmcmIHBhZ2VOYW1lKTsKICAgICBib29sIGlz
TGVmdFBhZ2UoaW50IHBhZ2VJbmRleCkgY29uc3Q7CiAgICAgYm9vbCBpc1JpZ2h0UGFnZShpbnQg
cGFnZUluZGV4KSBjb25zdCB7IHJldHVybiAhaXNMZWZ0UGFnZShwYWdlSW5kZXgpOyB9CiAgICAg
Ym9vbCBpc0ZpcnN0UGFnZShpbnQgcGFnZUluZGV4KSBjb25zdDsK
</data>
<flag name="review"
          id="128590"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>