<?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>6177</bug_id>
          
          <creation_ts>2005-12-21 01:28:05 -0800</creation_ts>
          <short_desc>move event code from JavaScript binding into DOM implementation</short_desc>
          <delta_ts>2019-02-06 09:03:27 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>cdumez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>26299</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-12-21 01:28:05 -0800</bug_when>
    <thetext>There is code in the JavaScript binding for events that really belongs in the DOM implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26300</commentid>
    <comment_count>1</comment_count>
      <attachid>5199</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-12-21 01:33:19 -0800</bug_when>
    <thetext>Created attachment 5199
do the work in the DOM implementation, not the JavaScript binding</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26310</commentid>
    <comment_count>2</comment_count>
      <attachid>5199</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2005-12-21 09:39:53 -0800</bug_when>
    <thetext>Comment on attachment 5199
do the work in the DOM implementation, not the JavaScript binding

Looks good, r=me.

Since you needed a comment to explain what viewportToContents does, and since
I&apos;m not quite sure what absolutePosition does (all coordinates are relative to
*something* -- does absolute mean relative to the screen?), I think it would be
good to rename them soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1502971</commentid>
    <comment_count>3</comment_count>
    <who name="Lucas Forschler">lforschler</who>
    <bug_when>2019-02-06 09:03:27 -0800</bug_when>
    <thetext>Mass moving XML DOM bugs to the &quot;DOM&quot; Component.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>5199</attachid>
            <date>2005-12-21 01:33:19 -0800</date>
            <delta_ts>2005-12-21 09:39:53 -0800</delta_ts>
            <desc>do the work in the DOM implementation, not the JavaScript binding</desc>
            <filename>EventDOMPatch.txt</filename>
            <type>text/plain</type>
            <size>13969</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9D
aGFuZ2VMb2csdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTcKZGlmZiAtcCAtdSAtcjEuMTcgQ2hh
bmdlTG9nCi0tLSBDaGFuZ2VMb2cJMjEgRGVjIDIwMDUgMDI6MDU6MTEgLTAwMDAJMS4xNworKysg
Q2hhbmdlTG9nCTIxIERlYyAyMDA1IDA5OjMzOjU4IC0wMDAwCkBAIC0xLDMgKzEsMzEgQEAKKzIw
MDUtMTItMjEgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gZml4IGh0dHA6Ly9idWd6aWxsYS5v
cGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE3NworICAgICAgICAgIG1vdmUgZXZlbnQg
Y29kZSBmcm9tIEphdmFTY3JpcHQgYmluZGluZyBpbnRvIERPTSBpbXBsZW1lbnRhdGlvbgorCisg
ICAgICAgICoga2h0bWwvZWNtYS9ranNfZXZlbnRzLmNwcDoKKyAgICAgICAgKEtKUzo6RE9NTW91
c2VFdmVudDo6Z2V0VmFsdWVQcm9wZXJ0eSk6IENoYW5nZSBldmVyeXRoaW5nIHRvIGp1c3QgY2Fs
bCB0aHJvdWdoIGluc3RlYWQgb2YgZG9pbmcKKyAgICAgICAgdGhlIHdvcmsgaGVyZS4KKyAgICAg
ICAgKEtKUzo6RE9NV2hlZWxFdmVudDo6Z2V0VmFsdWVQcm9wZXJ0eSk6IERpdHRvLgorCisgICAg
ICAgICoga2h0bWwveG1sL2RvbTJfZXZlbnRzaW1wbC5oOgorICAgICAgICAoRE9NOjpNb3VzZVJl
bGF0ZWRFdmVudEltcGw6Om9mZnNldFgpOgorICAgICAgICAoRE9NOjpNb3VzZVJlbGF0ZWRFdmVu
dEltcGw6Om9mZnNldFkpOgorICAgICAgICAqIGtodG1sL3htbC9kb20yX2V2ZW50c2ltcGwuY3Bw
OgorICAgICAgICAoRE9NOjpNb3VzZVJlbGF0ZWRFdmVudEltcGw6Ok1vdXNlUmVsYXRlZEV2ZW50
SW1wbCk6IEluaXRpYWxpemUgbmV3IG1fcGFnZVgsIG1fcGFnZVksIG1fbGF5ZXJYLAorICAgICAg
ICBtX2xheWVyWSwgbV9vZmZzZXRYLCBhbmQgbV9vZmZzZXRZLgorICAgICAgICAoRE9NOjpNb3Vz
ZVJlbGF0ZWRFdmVudEltcGw6OmNvbXB1dGVQb3NpdGlvbnMpOiBSZW5hbWVkIGZyb20gY29tcHV0
ZUxheWVyUG9zIHNpbmNlIGl0IGhhbmRsZXMKKyAgICAgICAgcGFnZSBwb3NpdGlvbiBhbmRvZmZz
ZXQgcG9zaXRpb24gdG9vIG5vdy4KKyAgICAgICAgKERPTTo6TW91c2VSZWxhdGVkRXZlbnRJbXBs
OjpwYWdlWCk6IEFkZGVkLiBOb3QgaW4gaGVhZGVyIHNpbmNlIGl0J3MgdmlydHVhbC4KKyAgICAg
ICAgKERPTTo6TW91c2VSZWxhdGVkRXZlbnRJbXBsOjpwYWdlWSk6IERpdHRvLgorICAgICAgICAo
RE9NOjpNb3VzZVJlbGF0ZWRFdmVudEltcGw6OngpOiBBZGRlZCwgd2l0aCBGSVhNRSBzaW5jZSBp
dCBzaG91bGQgY2hhbmdlIGV2ZW50dWFsbHkuCisgICAgICAgIChET006Ok1vdXNlUmVsYXRlZEV2
ZW50SW1wbDo6eSk6IERpdHRvLgorICAgICAgICAoRE9NOjpNb3VzZUV2ZW50SW1wbDo6aW5pdE1v
dXNlRXZlbnQpOiBDYWxsIGNvbXB1dGVQb3NpdGlvbnMgaW5zdGVhZCBvZiBjb21wdXRlTGF5ZXJQ
b3MuCisgICAgICAgIChET006Ok1vdXNlRXZlbnRJbXBsOjp0b0VsZW1lbnQpOiBBZGRlZC4KKyAg
ICAgICAgKERPTTo6TW91c2VFdmVudEltcGw6OmZyb21FbGVtZW50KTogQWRkZWQuCisKIDIwMDUt
MTItMjAgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBueXBvcC5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkganVzdGluCkluZGV4OiBraHRtbC9lY21hL2tqc19ldmVudHMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL2VjbWEva2pzX2V2ZW50cy5jcHAs
dgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNzgKZGlmZiAtcCAtdSAtcjEuNzgga2h0bWwvZWNtYS9r
anNfZXZlbnRzLmNwcAotLS0ga2h0bWwvZWNtYS9ranNfZXZlbnRzLmNwcAkxNiBEZWMgMjAwNSAw
ODowODoxMiAtMDAwMAkxLjc4CisrKyBraHRtbC9lY21hL2tqc19ldmVudHMuY3BwCTIxIERlYyAy
MDA1IDA5OjMzOjU5IC0wMDAwCkBAIC02NzUsMjkgKzY3NSw2IEBAIGJvb2wgRE9NTW91c2VFdmVu
dDo6Z2V0T3duUHJvcGVydHlTbG90KEUKICAgcmV0dXJuIGdldFN0YXRpY1ZhbHVlU2xvdDxET01N
b3VzZUV2ZW50LCBET01VSUV2ZW50PihleGVjLCAmRE9NTW91c2VFdmVudFRhYmxlLCB0aGlzLCBw
cm9wZXJ0eU5hbWUsIHNsb3QpOwogfQogCi1zdGF0aWMgUVBvaW50IG9mZnNldEZyb21UYXJnZXQo
Y29uc3QgTW91c2VSZWxhdGVkRXZlbnRJbXBsICplKQotewotICAgIGludCB4ID0gZS0+Y2xpZW50
WCgpOwotICAgIGludCB5ID0gZS0+Y2xpZW50WSgpOwotCi0gICAgTm9kZUltcGwgKm4gPSBlLT50
YXJnZXQoKTsKLSAgICBpZiAobikgewotICAgICAgICBEb2N1bWVudEltcGwgKmRvYyA9IG4tPmdl
dERvY3VtZW50KCk7Ci0gICAgICAgIGlmIChkb2MpIHsKLSAgICAgICAgICAgIGRvYy0+dXBkYXRl
UmVuZGVyaW5nKCk7Ci0gICAgICAgICAgICBSZW5kZXJPYmplY3QgKnIgPSBuLT5yZW5kZXJlcigp
OwotICAgICAgICAgICAgaWYgKHIpIHsKLSAgICAgICAgICAgICAgICBpbnQgcngsIHJ5OwotICAg
ICAgICAgICAgICAgIGlmIChyLT5hYnNvbHV0ZVBvc2l0aW9uKHJ4LCByeSkpIHsKLSAgICAgICAg
ICAgICAgICAgICAgeCAtPSByeDsKLSAgICAgICAgICAgICAgICAgICAgeSAtPSByeTsKLSAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJu
IFFQb2ludCh4LCB5KTsKLX0KLQogSlNWYWx1ZSAqRE9NTW91c2VFdmVudDo6Z2V0VmFsdWVQcm9w
ZXJ0eShFeGVjU3RhdGUgKmV4ZWMsIGludCB0b2tlbikgY29uc3QKIHsKICAgTW91c2VFdmVudElt
cGwgJmV2ZW50ID0gKnN0YXRpY19jYXN0PE1vdXNlRXZlbnRJbXBsICo+KGltcGwoKSk7CkBAIC03
MDcsMTUgKzY4NCwxMyBAQCBKU1ZhbHVlICpET01Nb3VzZUV2ZW50OjpnZXRWYWx1ZVByb3BlcnR5
CiAgIGNhc2UgU2NyZWVuWToKICAgICByZXR1cm4ganNOdW1iZXIoZXZlbnQuc2NyZWVuWSgpKTsK
ICAgY2FzZSBDbGllbnRYOgotICBjYXNlIFg6CiAgICAgcmV0dXJuIGpzTnVtYmVyKGV2ZW50LmNs
aWVudFgoKSk7CiAgIGNhc2UgQ2xpZW50WToKLSAgY2FzZSBZOgogICAgIHJldHVybiBqc051bWJl
cihldmVudC5jbGllbnRZKCkpOwotICBjYXNlIE9mZnNldFg6IC8vIE1TSUUgZXh0ZW5zaW9uCi0g
ICAgcmV0dXJuIGpzTnVtYmVyKG9mZnNldEZyb21UYXJnZXQoJmV2ZW50KS54KCkpOwotICBjYXNl
IE9mZnNldFk6IC8vIE1TSUUgZXh0ZW5zaW9uCi0gICAgcmV0dXJuIGpzTnVtYmVyKG9mZnNldEZy
b21UYXJnZXQoJmV2ZW50KS55KCkpOworICBjYXNlIE9mZnNldFg6CisgICAgcmV0dXJuIGpzTnVt
YmVyKGV2ZW50Lm9mZnNldFgoKSk7CisgIGNhc2UgT2Zmc2V0WToKKyAgICByZXR1cm4ganNOdW1i
ZXIoZXZlbnQub2Zmc2V0WSgpKTsKICAgY2FzZSBDdHJsS2V5OgogICAgIHJldHVybiBqc0Jvb2xl
YW4oZXZlbnQuY3RybEtleSgpKTsKICAgY2FzZSBTaGlmdEtleToKQEAgLTcyNSwxNiArNzAwLDE3
IEBAIEpTVmFsdWUgKkRPTU1vdXNlRXZlbnQ6OmdldFZhbHVlUHJvcGVydHkKICAgY2FzZSBNZXRh
S2V5OgogICAgIHJldHVybiBqc0Jvb2xlYW4oZXZlbnQubWV0YUtleSgpKTsKICAgY2FzZSBCdXR0
b246Ci0gICAgLy8gV2luSUUgdXNlcyAxLDQsMiBmb3IgbGVmdC9taWRkbGUvcmlnaHQgYnV0IG5v
dCBmb3IgY2xpY2sgKGp1c3QgZm9yIG1vdXNlZG93bi91cCwgbWF5YmUgb3RoZXJzKSwgYnV0IHdl
IHdpbGwgbWF0Y2ggdGhlIHN0YW5kYXJkIERPTS4KICAgICByZXR1cm4ganNOdW1iZXIoZXZlbnQu
YnV0dG9uKCkpOwogICBjYXNlIFRvRWxlbWVudDoKLSAgICAvLyBNU0lFIGV4dGVuc2lvbiAtICJ0
aGUgb2JqZWN0IHRvd2FyZCB3aGljaCB0aGUgdXNlciBpcyBtb3ZpbmcgdGhlIG1vdXNlIHBvaW50
ZXIiCi0gICAgcmV0dXJuIGdldERPTU5vZGUoZXhlYywgZXZlbnQudHlwZSgpID09IG1vdXNlb3V0
RXZlbnQgPyBldmVudC5yZWxhdGVkVGFyZ2V0KCkgOiBldmVudC50YXJnZXQoKSk7CisgICAgcmV0
dXJuIGdldERPTU5vZGUoZXhlYywgZXZlbnQudG9FbGVtZW50KCkpOwogICBjYXNlIEZyb21FbGVt
ZW50OgotICAgIC8vIE1TSUUgZXh0ZW5zaW9uIC0gIm9iamVjdCBmcm9tIHdoaWNoIGFjdGl2YXRp
b24gb3IgdGhlIG1vdXNlIHBvaW50ZXIgaXMgZXhpdGluZyBkdXJpbmcgdGhlIGV2ZW50IiAoaHVo
PykKLSAgICByZXR1cm4gZ2V0RE9NTm9kZShleGVjLCBldmVudC50eXBlKCkgPT0gbW91c2VvdXRF
dmVudCA/IGV2ZW50LnRhcmdldCgpIDogZXZlbnQucmVsYXRlZFRhcmdldCgpKTsKKyAgICByZXR1
cm4gZ2V0RE9NTm9kZShleGVjLCBldmVudC5mcm9tRWxlbWVudCgpKTsKICAgY2FzZSBSZWxhdGVk
VGFyZ2V0OgogICAgIHJldHVybiBnZXRET01Ob2RlKGV4ZWMsIGV2ZW50LnJlbGF0ZWRUYXJnZXQo
KSk7CisgIGNhc2UgWDoKKyAgICByZXR1cm4ganNOdW1iZXIoZXZlbnQueCgpKTsKKyAgY2FzZSBZ
OgorICAgIHJldHVybiBqc051bWJlcihldmVudC55KCkpOwogICBkZWZhdWx0OgogICAgIGtkV2Fy
bmluZygpIDw8ICJVbmhhbmRsZWQgdG9rZW4gaW4gRE9NTW91c2VFdmVudDo6Z2V0VmFsdWVQcm9w
ZXJ0eSA6ICIgPDwgdG9rZW4gPDwgZW5kbDsKICAgICByZXR1cm4gTlVMTDsKQEAgLTk4NywxOSAr
OTYzLDE3IEBAIEpTVmFsdWUgKkRPTVdoZWVsRXZlbnQ6OmdldFZhbHVlUHJvcGVydHkKICAgICAg
ICAgY2FzZSBBbHRLZXk6CiAgICAgICAgICAgICByZXR1cm4ganNCb29sZWFuKGUtPmFsdEtleSgp
KTsKICAgICAgICAgY2FzZSBDbGllbnRYOgotICAgICAgICBjYXNlIFg6CiAgICAgICAgICAgICBy
ZXR1cm4ganNOdW1iZXIoZS0+Y2xpZW50WCgpKTsKICAgICAgICAgY2FzZSBDbGllbnRZOgotICAg
ICAgICBjYXNlIFk6CiAgICAgICAgICAgICByZXR1cm4ganNOdW1iZXIoZS0+Y2xpZW50WSgpKTsK
ICAgICAgICAgY2FzZSBDdHJsS2V5OgogICAgICAgICAgICAgcmV0dXJuIGpzTnVtYmVyKGUtPmN0
cmxLZXkoKSk7CiAgICAgICAgIGNhc2UgTWV0YUtleToKICAgICAgICAgICAgIHJldHVybiBqc051
bWJlcihlLT5tZXRhS2V5KCkpOwogICAgICAgICBjYXNlIE9mZnNldFg6Ci0gICAgICAgICAgICBy
ZXR1cm4ganNOdW1iZXIob2Zmc2V0RnJvbVRhcmdldChlKS54KCkpOworICAgICAgICAgICAgcmV0
dXJuIGpzTnVtYmVyKGUtPm9mZnNldFgoKSk7CiAgICAgICAgIGNhc2UgT2Zmc2V0WToKLSAgICAg
ICAgICAgIHJldHVybiBqc051bWJlcihvZmZzZXRGcm9tVGFyZ2V0KGUpLnkoKSk7CisgICAgICAg
ICAgICByZXR1cm4ganNOdW1iZXIoZS0+b2Zmc2V0WSgpKTsKICAgICAgICAgY2FzZSBTY3JlZW5Y
OgogICAgICAgICAgICAgcmV0dXJuIGpzTnVtYmVyKGUtPnNjcmVlblgoKSk7CiAgICAgICAgIGNh
c2UgU2NyZWVuWToKQEAgLTEwMDgsNiArOTgyLDEwIEBAIEpTVmFsdWUgKkRPTVdoZWVsRXZlbnQ6
OmdldFZhbHVlUHJvcGVydHkKICAgICAgICAgICAgIHJldHVybiBqc0Jvb2xlYW4oZS0+c2hpZnRL
ZXkoKSk7CiAgICAgICAgIGNhc2UgV2hlZWxEZWx0YToKICAgICAgICAgICAgIHJldHVybiBqc051
bWJlcihlLT53aGVlbERlbHRhKCkpOworICAgICAgICBjYXNlIFg6CisgICAgICAgICAgICByZXR1
cm4ganNOdW1iZXIoZS0+eCgpKTsKKyAgICAgICAgY2FzZSBZOgorICAgICAgICAgICAgcmV0dXJu
IGpzTnVtYmVyKGUtPnkoKSk7CiAgICAgfQogICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogfQpJ
bmRleDoga2h0bWwveG1sL2RvbTJfZXZlbnRzaW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog
L2N2cy9yb290L1dlYkNvcmUva2h0bWwveG1sL2RvbTJfZXZlbnRzaW1wbC5jcHAsdgpyZXRyaWV2
aW5nIHJldmlzaW9uIDEuNDEKZGlmZiAtcCAtdSAtcjEuNDEga2h0bWwveG1sL2RvbTJfZXZlbnRz
aW1wbC5jcHAKLS0tIGtodG1sL3htbC9kb20yX2V2ZW50c2ltcGwuY3BwCTE5IE5vdiAyMDA1IDAx
OjI2OjQ2IC0wMDAwCTEuNDEKKysrIGtodG1sL3htbC9kb20yX2V2ZW50c2ltcGwuY3BwCTIxIERl
YyAyMDA1IDA5OjM0OjAwIC0wMDAwCkBAIC0zLDcgKzMsNyBAQAogICoKICAqIChDKSAyMDAxIFBl
dGVyIEtlbGx5IChwbWtAcG9zdC5jb20pCiAgKiAoQykgMjAwMSBUb2JpYXMgQW50b24gKGFudG9u
QHN0dWQuZmJpLmZoLWRhcm1zdGFkdC5kZSkKLSAqIENvcHlyaWdodCAoQykgMjAwMyBBcHBsZSBD
b21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA1IEFwcGxlIENvbXB1dGVy
LCBJbmMuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI1LDIwICsyNSwyMCBAQAogI2luY2x1ZGUg
InhtbC9kb20yX2V2ZW50c2ltcGwuaCIKIAogI2luY2x1ZGUgImRvbS9kb20yX2V2ZW50cy5oIgot
I2luY2x1ZGUgInhtbC9kb21fZG9jaW1wbC5oIgotI2luY2x1ZGUgInhtbC9kb20yX3ZpZXdzaW1w
bC5oIgotI2luY2x1ZGUgInhtbC9FdmVudE5hbWVzLmgiCisjaW5jbHVkZSAia2h0bWx2aWV3Lmgi
CiAjaW5jbHVkZSAicmVuZGVyaW5nL3JlbmRlcl9sYXllci5oIgorI2luY2x1ZGUgInhtbC9FdmVu
dE5hbWVzLmgiCisjaW5jbHVkZSAieG1sL2RvbTJfdmlld3NpbXBsLmgiCisjaW5jbHVkZSAieG1s
L2RvbV9kb2NpbXBsLmgiCiAKLXVzaW5nIGtodG1sOjpSZW5kZXJPYmplY3Q7Ci11c2luZyBraHRt
bDo6UmVuZGVyTGF5ZXI7Cit1c2luZyBuYW1lc3BhY2Uga2h0bWw7CiAKIG5hbWVzcGFjZSBET00g
ewogCiB1c2luZyBuYW1lc3BhY2UgRXZlbnROYW1lczsKIAogI2lmIF9fQVBQTEVfXwotaW5saW5l
IERPTVRpbWVTdGFtcCBjdXJyZW50VGltZVN0YW1wKCkKK3N0YXRpYyBpbmxpbmUgRE9NVGltZVN0
YW1wIGN1cnJlbnRUaW1lU3RhbXAoKQogewogICAgIC8vIFNpbmNlIHRoaXMgc2hvd3MgdXAgb24g
cHJvZmlsZXMsIGRvIHRoaXMgYW4gZXZlbiBmYXN0ZXIgd2F5IG9uIE1hYyBPUyBYLgogICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxET01UaW1lU3RhbXA+KChDRkFic29sdXRlVGltZUdldEN1cnJlbnQo
KSArIGtDRkFic29sdXRlVGltZUludGVydmFsU2luY2UxOTcwKSAqIDEwMDApOwpAQCAtMjA5LDcg
KzIwOSw4IEBAIGludCBVSUV2ZW50SW1wbDo6d2hpY2goKSBjb25zdAogLy8gLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KIAogTW91c2VSZWxhdGVkRXZlbnRJbXBsOjpNb3VzZVJlbGF0ZWRFdmVudEltcGwo
KQotICAgIDogbV9zY3JlZW5YKDApLCBtX3NjcmVlblkoMCksIG1fY2xpZW50WCgwKSwgbV9jbGll
bnRZKDApLCBtX2xheWVyWCgwKSwgbV9sYXllclkoMCkKKyAgICA6IG1fc2NyZWVuWCgwKSwgbV9z
Y3JlZW5ZKDApLCBtX2NsaWVudFgoMCksIG1fY2xpZW50WSgwKQorICAgICwgbV9wYWdlWCgwKSwg
bV9wYWdlWSgwKSwgbV9sYXllclgoMCksIG1fbGF5ZXJZKDApLCBtX29mZnNldFgoMCksIG1fb2Zm
c2V0WSgwKQogewogfQogCkBAIC0yMjgsNTYgKzIyOSw5MSBAQCBNb3VzZVJlbGF0ZWRFdmVudElt
cGw6Ok1vdXNlUmVsYXRlZEV2ZW50CiAJCQkgICAgICAgYm9vbCBtZXRhS2V5QXJnKQogICAgIDog
VUlFdmVudFdpdGhLZXlTdGF0ZUltcGwoZXZlbnRUeXBlLCBjYW5CdWJibGVBcmcsIGNhbmNlbGFi
bGVBcmcsIHZpZXdBcmcsIGRldGFpbEFyZywKICAgICAgICAgY3RybEtleUFyZywgYWx0S2V5QXJn
LCBzaGlmdEtleUFyZywgbWV0YUtleUFyZykKKyAgICAsIG1fc2NyZWVuWChzY3JlZW5YQXJnKSwg
bV9zY3JlZW5ZKHNjcmVlbllBcmcpCisgICAgLCBtX2NsaWVudFgoY2xpZW50WEFyZyksIG1fY2xp
ZW50WShjbGllbnRZQXJnKQogewotICAgIG1fc2NyZWVuWCA9IHNjcmVlblhBcmc7Ci0gICAgbV9z
Y3JlZW5ZID0gc2NyZWVuWUFyZzsKLSAgICBtX2NsaWVudFggPSBjbGllbnRYQXJnOwotICAgIG1f
Y2xpZW50WSA9IGNsaWVudFlBcmc7Ci0gICAgY29tcHV0ZUxheWVyUG9zKCk7CisgICAgY29tcHV0
ZVBvc2l0aW9ucygpOwogfQogCi12b2lkIE1vdXNlUmVsYXRlZEV2ZW50SW1wbDo6Y29tcHV0ZUxh
eWVyUG9zKCkKK3ZvaWQgTW91c2VSZWxhdGVkRXZlbnRJbXBsOjpjb21wdXRlUG9zaXRpb25zKCkK
IHsKLSAgICBtX2xheWVyWCA9IG1fY2xpZW50WDsKLSAgICBtX2xheWVyWSA9IG1fY2xpZW50WTsK
KyAgICBtX3BhZ2VYID0gbV9jbGllbnRYOworICAgIG1fcGFnZVkgPSBtX2NsaWVudFk7CisKKyAg
ICBtX2xheWVyWCA9IG1fcGFnZVg7CisgICAgbV9sYXllclkgPSBtX3BhZ2VZOworCisgICAgbV9v
ZmZzZXRYID0gbV9wYWdlWDsKKyAgICBtX29mZnNldFkgPSBtX3BhZ2VZOwogCi0gICAgQWJzdHJh
Y3RWaWV3SW1wbCAqYXYgPSB2aWV3KCk7CisgICAgQWJzdHJhY3RWaWV3SW1wbCogYXYgPSB2aWV3
KCk7CiAgICAgaWYgKCFhdikKICAgICAgICAgcmV0dXJuOwotICAgIERvY3VtZW50SW1wbCAqZG9j
ID0gYXYtPmRvY3VtZW50KCk7CisgICAgRG9jdW1lbnRJbXBsKiBkb2MgPSBhdi0+ZG9jdW1lbnQo
KTsKICAgICBpZiAoIWRvYykKLQlyZXR1cm47Ci0gICAgUmVuZGVyT2JqZWN0ICpkb2NSZW5kZXJl
ciA9IGRvYy0+cmVuZGVyZXIoKTsKLSAgICBpZiAoIWRvY1JlbmRlcmVyKQorICAgICAgICByZXR1
cm47CisgICAgS0hUTUxWaWV3KiBrdiA9IGRvYy0+dmlldygpOworICAgIGlmICgha3YpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIGtodG1sOjpSZW5kZXJPYmplY3Q6Ok5vZGVJbmZvIHJlbmRlcklu
Zm8odHJ1ZSwgZmFsc2UpOwotICAgIGRvY1JlbmRlcmVyLT5sYXllcigpLT5oaXRUZXN0KHJlbmRl
ckluZm8sIG1fY2xpZW50WCwgbV9jbGllbnRZKTsKLQotICAgIE5vZGVJbXBsICpub2RlID0gcmVu
ZGVySW5mby5pbm5lck5vblNoYXJlZE5vZGUoKTsKLSAgICB3aGlsZSAobm9kZSAmJiAhbm9kZS0+
cmVuZGVyZXIoKSkgewotCW5vZGUgPSBub2RlLT5wYXJlbnQoKTsKLSAgICB9CisgICAgZG9jLT51
cGRhdGVSZW5kZXJpbmcoKTsKIAotICAgIGlmICghbm9kZSkgewotCXJldHVybjsKLSAgICB9Cisg
ICAgLy8gQ29tcHV0ZSBwYWdlIHBvc2l0aW9uLgorICAgIGt2LT52aWV3cG9ydFRvQ29udGVudHMo
bV9jbGllbnRYLCBtX2NsaWVudFksIG1fcGFnZVgsIG1fcGFnZVkpOwogCi0gICAgbm9kZS0+cmVu
ZGVyZXIoKS0+ZW5jbG9zaW5nTGF5ZXIoKS0+dXBkYXRlTGF5ZXJQb3NpdGlvbigpOwotICAgIAot
ICAgIGZvciAoUmVuZGVyTGF5ZXIgKmxheWVyID0gbm9kZS0+cmVuZGVyZXIoKS0+ZW5jbG9zaW5n
TGF5ZXIoKTsgbGF5ZXI7IGxheWVyID0gbGF5ZXItPnBhcmVudCgpKSB7Ci0JbV9sYXllclggLT0g
bGF5ZXItPnhQb3MoKTsKLQltX2xheWVyWSAtPSBsYXllci0+eVBvcygpOworICAgIC8vIENvbXB1
dGUgb2Zmc2V0IHBvc2l0aW9uLgorICAgIG1fb2Zmc2V0WCA9IG1fcGFnZVg7CisgICAgbV9vZmZz
ZXRZID0gbV9wYWdlWTsKKyAgICBpZiAoTm9kZUltcGwgKm4gPSB0YXJnZXQoKSkKKyAgICAgICAg
aWYgKFJlbmRlck9iamVjdCAqciA9IG4tPnJlbmRlcmVyKCkpIHsKKyAgICAgICAgICAgIGludCBy
eCwgcnk7CisgICAgICAgICAgICBpZiAoci0+YWJzb2x1dGVQb3NpdGlvbihyeCwgcnkpKSB7Cisg
ICAgICAgICAgICAgICAgbV9vZmZzZXRYIC09IHJ4OworICAgICAgICAgICAgICAgIG1fb2Zmc2V0
WSAtPSByeTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgLy8gQ29tcHV0ZSBsYXll
ciBwb3NpdGlvbi4KKyAgICBtX2xheWVyWCA9IG1fcGFnZVg7CisgICAgbV9sYXllclkgPSBtX3Bh
Z2VZOworICAgIGlmIChSZW5kZXJPYmplY3QqIGRvY1JlbmRlcmVyID0gZG9jLT5yZW5kZXJlcigp
KSB7CisgICAgICAgIC8vIEZJWE1FOiBTaG91bGQgd2UgdXNlIHRoZSB0YXJnZXQgbm9kZSBpbnN0
ZWFkIG9mIGhpdCB0ZXN0aW5nPworICAgICAgICBSZW5kZXJPYmplY3Q6Ok5vZGVJbmZvIGhpdFRl
c3RSZXN1bHQodHJ1ZSwgZmFsc2UpOworICAgICAgICBkb2NSZW5kZXJlci0+bGF5ZXIoKS0+aGl0
VGVzdChoaXRUZXN0UmVzdWx0LCBtX3BhZ2VYLCBtX3BhZ2VZKTsKKyAgICAgICAgTm9kZUltcGwg
Km4gPSBoaXRUZXN0UmVzdWx0LmlubmVyTm9uU2hhcmVkTm9kZSgpOworICAgICAgICB3aGlsZSAo
biAmJiAhbi0+cmVuZGVyZXIoKSkKKyAgICAgICAgICAgIG4gPSBuLT5wYXJlbnQoKTsKKyAgICAg
ICAgaWYgKG4pIHsKKyAgICAgICAgICAgIG4tPnJlbmRlcmVyKCktPmVuY2xvc2luZ0xheWVyKCkt
PnVwZGF0ZUxheWVyUG9zaXRpb24oKTsgICAgCisgICAgICAgICAgICBmb3IgKFJlbmRlckxheWVy
ICpsYXllciA9IG4tPnJlbmRlcmVyKCktPmVuY2xvc2luZ0xheWVyKCk7IGxheWVyOyBsYXllciA9
IGxheWVyLT5wYXJlbnQoKSkgeworICAgICAgICAgICAgICAgIG1fbGF5ZXJYIC09IGxheWVyLT54
UG9zKCk7CisgICAgICAgICAgICAgICAgbV9sYXllclkgLT0gbGF5ZXItPnlQb3MoKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfQogICAgIH0KIH0KIAogaW50IE1vdXNlUmVsYXRlZEV2ZW50SW1w
bDo6cGFnZVgoKSBjb25zdAogewotICAgIHJldHVybiBtX2NsaWVudFg7CisgICAgcmV0dXJuIG1f
cGFnZVg7CiB9CiAKIGludCBNb3VzZVJlbGF0ZWRFdmVudEltcGw6OnBhZ2VZKCkgY29uc3QKIHsK
KyAgICByZXR1cm4gbV9wYWdlWTsKK30KKworaW50IE1vdXNlUmVsYXRlZEV2ZW50SW1wbDo6eCgp
IGNvbnN0Cit7CisgICAgLy8gRklYTUU6IFRoaXMgaXMgbm90IGNvcnJlY3QuCisgICAgLy8gU2Vl
IE1pY3Jvc29mdCBkb2N1bWVudGF0aW9uIGFuZCA8aHR0cDovL3d3dy5xdWlya3Ntb2RlLm9yZy9k
b20vdzNjX2V2ZW50cy5odG1sPi4KKyAgICByZXR1cm4gbV9jbGllbnRYOworfQorCitpbnQgTW91
c2VSZWxhdGVkRXZlbnRJbXBsOjp5KCkgY29uc3QKK3sKKyAgICAvLyBGSVhNRTogVGhpcyBpcyBu
b3QgY29ycmVjdC4KKyAgICAvLyBTZWUgTWljcm9zb2Z0IGRvY3VtZW50YXRpb24gYW5kIDxodHRw
Oi8vd3d3LnF1aXJrc21vZGUub3JnL2RvbS93M2NfZXZlbnRzLmh0bWw+LgogICAgIHJldHVybiBt
X2NsaWVudFk7CiB9CiAKQEAgLTM0OCw3ICszODQsOCBAQCB2b2lkIE1vdXNlRXZlbnRJbXBsOjpp
bml0TW91c2VFdmVudChjb25zCiAgICAgbV9tZXRhS2V5ID0gbWV0YUtleUFyZzsKICAgICBtX2J1
dHRvbiA9IGJ1dHRvbkFyZzsKICAgICBtX3JlbGF0ZWRUYXJnZXQgPSByZWxhdGVkVGFyZ2V0QXJn
OwotICAgIGNvbXB1dGVMYXllclBvcygpOworCisgICAgY29tcHV0ZVBvc2l0aW9ucygpOwogfQog
CiBib29sIE1vdXNlRXZlbnRJbXBsOjppc01vdXNlRXZlbnQoKSBjb25zdApAQCAtMzcyLDYgKzQw
OSwxOCBAQCBpbnQgTW91c2VFdmVudEltcGw6OndoaWNoKCkgY29uc3QKICAgICByZXR1cm4gbV9i
dXR0b24gKyAxOwogfQogCitOb2RlSW1wbCogTW91c2VFdmVudEltcGw6OnRvRWxlbWVudCgpIGNv
bnN0Cit7CisgICAgLy8gTVNJRSBleHRlbnNpb24gLSAidGhlIG9iamVjdCB0b3dhcmQgd2hpY2gg
dGhlIHVzZXIgaXMgbW92aW5nIHRoZSBtb3VzZSBwb2ludGVyIgorICAgIHJldHVybiB0eXBlKCkg
PT0gbW91c2VvdXRFdmVudCA/IHJlbGF0ZWRUYXJnZXQoKSA6IHRhcmdldCgpOworfQorCitOb2Rl
SW1wbCogTW91c2VFdmVudEltcGw6OmZyb21FbGVtZW50KCkgY29uc3QKK3sKKyAgICAvLyBNU0lF
IGV4dGVuc2lvbiAtICJvYmplY3QgZnJvbSB3aGljaCBhY3RpdmF0aW9uIG9yIHRoZSBtb3VzZSBw
b2ludGVyIGlzIGV4aXRpbmcgZHVyaW5nIHRoZSBldmVudCIgKGh1aD8pCisgICAgcmV0dXJuIHR5
cGUoKSA9PSBtb3VzZW91dEV2ZW50ID8gdGFyZ2V0KCkgOiByZWxhdGVkVGFyZ2V0KCk7Cit9CisK
IC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIEtleWJvYXJkRXZlbnRJ
bXBsOjpLZXlib2FyZEV2ZW50SW1wbCgpCkluZGV4OiBraHRtbC94bWwvZG9tMl9ldmVudHNpbXBs
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUva2h0bWwveG1sL2RvbTJf
ZXZlbnRzaW1wbC5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjM1CmRpZmYgLXAgLXUgLXIxLjM1
IGtodG1sL3htbC9kb20yX2V2ZW50c2ltcGwuaAotLS0ga2h0bWwveG1sL2RvbTJfZXZlbnRzaW1w
bC5oCTEgRGVjIDIwMDUgMTA6MzI6MjUgLTAwMDAJMS4zNQorKysga2h0bWwveG1sL2RvbTJfZXZl
bnRzaW1wbC5oCTIxIERlYyAyMDA1IDA5OjM0OjAwIC0wMDAwCkBAIC0xODAsMTcgKzE4MCwyNSBA
QCBwdWJsaWM6CiAgICAgaW50IGNsaWVudFkoKSBjb25zdCB7IHJldHVybiBtX2NsaWVudFk7IH0K
ICAgICBpbnQgbGF5ZXJYKCkgY29uc3QgeyByZXR1cm4gbV9sYXllclg7IH0KICAgICBpbnQgbGF5
ZXJZKCkgY29uc3QgeyByZXR1cm4gbV9sYXllclk7IH0KKyAgICBpbnQgb2Zmc2V0WCgpIGNvbnN0
IHsgcmV0dXJuIG1fb2Zmc2V0WDsgfQorICAgIGludCBvZmZzZXRZKCkgY29uc3QgeyByZXR1cm4g
bV9vZmZzZXRZOyB9CiAgICAgdmlydHVhbCBpbnQgcGFnZVgoKSBjb25zdDsKICAgICB2aXJ0dWFs
IGludCBwYWdlWSgpIGNvbnN0OworICAgIGludCB4KCkgY29uc3Q7CisgICAgaW50IHkoKSBjb25z
dDsKIHByb3RlY3RlZDogLy8gZXhwb3NlIHRoZXNlIHNvIE1vdXNlRXZlbnRJbXBsOjppbml0TW91
c2VFdmVudCBjYW4gc2V0IHRoZW0KICAgICBpbnQgbV9zY3JlZW5YOwogICAgIGludCBtX3NjcmVl
blk7CiAgICAgaW50IG1fY2xpZW50WDsKICAgICBpbnQgbV9jbGllbnRZOwotICAgIHZvaWQgY29t
cHV0ZUxheWVyUG9zKCk7CisgICAgdm9pZCBjb21wdXRlUG9zaXRpb25zKCk7CiBwcml2YXRlOgor
ICAgIGludCBtX3BhZ2VYOworICAgIGludCBtX3BhZ2VZOwogICAgIGludCBtX2xheWVyWDsKICAg
ICBpbnQgbV9sYXllclk7CisgICAgaW50IG1fb2Zmc2V0WDsKKyAgICBpbnQgbV9vZmZzZXRZOwog
fTsKIAogLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMgpAQCAtMjE0LDkgKzIyMiwxMiBAQCBw
dWJsaWM6CiAJCSAgIE5vZGVJbXBsICpyZWxhdGVkVGFyZ2V0QXJnLAogICAgICAgICAgICAgICAg
ICAgIENsaXBib2FyZEltcGwgKmNsaXBib2FyZEFyZz0wKTsKICAgICB2aXJ0dWFsIH5Nb3VzZUV2
ZW50SW1wbCgpOworICAgIC8vIFdpbklFIHVzZXMgMSw0LDIgZm9yIGxlZnQvbWlkZGxlL3JpZ2h0
IGJ1dCBub3QgZm9yIGNsaWNrIChqdXN0IGZvciBtb3VzZWRvd24vdXAsIG1heWJlIG90aGVycyks
IGJ1dCB3ZSB3aWxsIG1hdGNoIHRoZSBzdGFuZGFyZCBET00uCiAgICAgdW5zaWduZWQgc2hvcnQg
YnV0dG9uKCkgY29uc3QgeyByZXR1cm4gbV9idXR0b247IH0KICAgICBOb2RlSW1wbCAqcmVsYXRl
ZFRhcmdldCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVsYXRlZFRhcmdldC5nZXQoKTsgfQogICAgIENs
aXBib2FyZEltcGwgKmNsaXBib2FyZCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xpcGJvYXJkLmdldCgp
OyB9CisgICAgTm9kZUltcGwgKnRvRWxlbWVudCgpIGNvbnN0OworICAgIE5vZGVJbXBsICpmcm9t
RWxlbWVudCgpIGNvbnN0OwogICAgIHZvaWQgaW5pdE1vdXNlRXZlbnQoY29uc3QgQXRvbWljU3Ry
aW5nICZ0eXBlQXJnLAogCQkJYm9vbCBjYW5CdWJibGVBcmcsCiAJCQlib29sIGNhbmNlbGFibGVB
cmcsCg==
</data>
<flag name="review"
          id="1057"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>