<?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>233806</bug_id>
          
          <creation_ts>2021-12-03 02:20:44 -0800</creation_ts>
          <short_desc>[:has() pseudo-class] Improve result caching</short_desc>
          <delta_ts>2021-12-03 09:11:21 -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>CSS</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>227702</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Antti Koivisto">koivisto</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1820067</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-12-03 02:20:44 -0800</bug_when>
    <thetext>Better caching to avoid O(n^2) cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820081</commentid>
    <comment_count>1</comment_count>
      <attachid>445829</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-12-03 03:16:08 -0800</bug_when>
    <thetext>Created attachment 445829
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820160</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-03 09:10:21 -0800</bug_when>
    <thetext>Committed r286494 (244833@main): &lt;https://commits.webkit.org/244833@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 445829.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820162</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-03 09:11:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/86020744&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445829</attachid>
            <date>2021-12-03 03:16:08 -0800</date>
            <delta_ts>2021-12-03 09:10:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233806-20211203131606.patch</filename>
            <type>text/plain</type>
            <size>8856</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NDg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTNkMGM4ZDg4OTA4MTAw
YjAyODFhMDU5M2VhOGE0YzEzYWE1MDc0Mi4uOGM1ZTM1MjQzODcyZjk4ZmM1MWQ5NDM3ZDhhMTYz
ZmJkMmE5MDNiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTEyLTAzICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbOmhhcygpIHBzZXVkby1j
bGFzc10gSW1wcm92ZSByZXN1bHQgY2FjaGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzODA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSW1wcm92ZSBjYWNoaW5nIHRvIHRvIGF2b2lkIE8obl4yKSBj
YXNlcyBkdXJpbmcgaW52YWxpZGF0aW9uIGFuZCBzdHlsZSByZXNvbHV0aW9uLgorCisgICAgICAg
ICogY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNo
ZWNrZXI6Om1hdGNoSGFzUHNldWRvQ2xhc3MgY29uc3QpOgorCisgICAgICAgIENhY2hlIG1hdGNo
ZXMgYXMgd2VsbCBhcyBmYWlsdXJlcy4KKyAgICAgICAgQ2FjaGUgZmFpbHVyZXMgdGhhdCBkb24n
dCBhcHBseSB0byBzdWJ0cmVlcy4KKyAgICAgICAgQ2hlY2sgY2FjaGVkIG1hdGNoZXMgYW5kIGZh
aWx1cmVzIGZvciBhbGwgOmhhcygpIG1hdGNoIGVsZW1lbnQgdHlwZXMuCisKKyAgICAgICAgKiBz
dHlsZS9TZWxlY3Rvck1hdGNoaW5nU3RhdGUuaDoKKwogMjAyMS0xMi0wMyAgQWxpY2lhIEJveWEg
R2FyY8OtYSAgPGFib3lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW01TRV0gRml4IGVyYXNlIHJh
bmdlIHRvIHByZXZlbnQgYWNjaWRlbnRhbCBkZWxldGlvbiBpbiBmaWxlcyB3aXRoIGNoYW5naW5n
IGR1cmF0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAppbmRleCA5MDU0
NzM5NzdkNzI4ZDY4OGVhMWJjYzJkMzc4Njc1YTFiYzI5N2I0Li4zYTIyMDU4NDhjMzk5YTI0OWYw
MTYxOWE1MDUwYzcyODkzOTU2MDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2Vs
ZWN0b3JDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2Vy
LmNwcApAQCAtMTI0OSw3ICsxMjQ5LDIxIEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjptYXRjaFNl
bGVjdG9yTGlzdChDaGVja2luZ0NvbnRleHQmIGNoZWNraW5nQ29udGV4dCwgY29uc3QKIAogYm9v
bCBTZWxlY3RvckNoZWNrZXI6Om1hdGNoSGFzUHNldWRvQ2xhc3MoQ2hlY2tpbmdDb250ZXh0JiBj
aGVja2luZ0NvbnRleHQsIGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IENTU1NlbGVjdG9y
JiBoYXNTZWxlY3RvcikgY29uc3QKIHsKLSAgICAvLyBGSVhNRTogVGhpcyBjb3VsZCBiZSBiZXR0
ZXIgaW4gdGVybXMgb2YgcGVyZm9ybWFuY2UuCisgICAgYXV0byogY2FjaGUgPSBjaGVja2luZ0Nv
bnRleHQuc2VsZWN0b3JNYXRjaGluZ1N0YXRlID8gJmNoZWNraW5nQ29udGV4dC5zZWxlY3Rvck1h
dGNoaW5nU3RhdGUtPmhhc1BzZXVkb0NsYXNzTWF0Y2hDYWNoZSA6IG51bGxwdHI7CisKKyAgICBT
dHlsZTo6SGFzUHNldWRvQ2xhc3NNYXRjaCogY2FjaGVkTWF0Y2ggPSBudWxscHRyOworICAgIGlm
IChjYWNoZSkgeworICAgICAgICBjYWNoZWRNYXRjaCA9ICZjYWNoZS0+YWRkKFN0eWxlOjptYWtl
SGFzUHNldWRvQ2xhc3NDYWNoZUtleShoYXNTZWxlY3RvciwgZWxlbWVudCksIFN0eWxlOjpIYXNQ
c2V1ZG9DbGFzc01hdGNoOjpOb25lKS5pdGVyYXRvci0+dmFsdWU7CisgICAgICAgIHN3aXRjaCAo
KmNhY2hlZE1hdGNoKSB7CisgICAgICAgIGNhc2UgU3R5bGU6Okhhc1BzZXVkb0NsYXNzTWF0Y2g6
Ok1hdGNoZXM6CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgY2FzZSBTdHlsZTo6
SGFzUHNldWRvQ2xhc3NNYXRjaDo6RmFpbHM6CisgICAgICAgIGNhc2UgU3R5bGU6Okhhc1BzZXVk
b0NsYXNzTWF0Y2g6OkZhaWxzU3VidHJlZToKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgY2FzZSBTdHlsZTo6SGFzUHNldWRvQ2xhc3NNYXRjaDo6Tm9uZToKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisgICAgfQogCiAgICAgU2VsZWN0b3JDaGVja2VyIGhhc0NoZWNr
ZXIoZWxlbWVudC5kb2N1bWVudCgpKTsKICAgICBib29sIG1hdGNoZWRJbnNpZGVTY29wZSA9IGZh
bHNlOwpAQCAtMTI2Nyw2OSArMTI4MSw5MCBAQCBib29sIFNlbGVjdG9yQ2hlY2tlcjo6bWF0Y2hI
YXNQc2V1ZG9DbGFzcyhDaGVja2luZ0NvbnRleHQmIGNoZWNraW5nQ29udGV4dCwgY29ucwogICAg
IH07CiAKICAgICBhdXRvIGNoZWNrRGVzY2VuZGFudHMgPSBbJl0oY29uc3QgRWxlbWVudCYgZGVz
Y2VuZGFudFJvb3QpIHsKLSAgICAgICAgYXV0byBkZXNjZW5kYW50cyA9IGRlc2NlbmRhbnRzT2ZU
eXBlPEVsZW1lbnQ+KGRlc2NlbmRhbnRSb290KTsKLSAgICAgICAgaWYgKCFkZXNjZW5kYW50cy5m
aXJzdCgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgICAgIGlmIChjaGVja2lu
Z0NvbnRleHQuc2VsZWN0b3JNYXRjaGluZ1N0YXRlKSB7Ci0gICAgICAgICAgICAvLyBTZWUgaWYg
d2UgYWxyZWFkeSBrbm93IHRoaXMgOmhhcygpIHNlbGVjdG9yIGRvZXNuJ3QgbWF0Y2ggaW4gdGhp
cyBzdWJ0cmVlLgotICAgICAgICAgICAgYXV0byYgZmFpbHVyZUNhY2hlID0gY2hlY2tpbmdDb250
ZXh0LnNlbGVjdG9yTWF0Y2hpbmdTdGF0ZS0+aGFzUHNldWRvQ2xhc3NEZXNjZW5kYW50RmFpbHVy
ZUNhY2hlOwotICAgICAgICAgICAgaWYgKCFmYWlsdXJlQ2FjaGUuaXNFbXB0eSgpKSB7Ci0gICAg
ICAgICAgICAgICAgZm9yIChhdXRvKiBhbmNlc3RvciA9IGRlc2NlbmRhbnRSb290LnBhcmVudEVs
ZW1lbnQoKTsgYW5jZXN0b3I7IGFuY2VzdG9yID0gYW5jZXN0b3ItPnBhcmVudEVsZW1lbnQoKSkg
ewotICAgICAgICAgICAgICAgICAgICBpZiAoZmFpbHVyZUNhY2hlLmNvbnRhaW5zKFN0eWxlOjpt
YWtlSGFzUHNldWRvQ2xhc3NDYWNoZUtleShoYXNTZWxlY3RvciwgKmFuY2VzdG9yKSkpCi0gICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGZvciAoYXV0byBpdCA9
IGRlc2NlbmRhbnRzT2ZUeXBlPEVsZW1lbnQ+KGRlc2NlbmRhbnRSb290KS5iZWdpbigpOyBpdDsp
IHsKKyAgICAgICAgICAgIGF1dG8mIGRlc2NlbmRhbnQgPSAqaXQ7CisgICAgICAgICAgICBpZiAo
Y2FjaGUpIHsKKyAgICAgICAgICAgICAgICBhdXRvIGtleSA9IFN0eWxlOjptYWtlSGFzUHNldWRv
Q2xhc3NDYWNoZUtleShoYXNTZWxlY3RvciwgZGVzY2VuZGFudCk7CisgICAgICAgICAgICAgICAg
aWYgKGNhY2hlLT5nZXQoa2V5KSA9PSBTdHlsZTo6SGFzUHNldWRvQ2xhc3NNYXRjaDo6RmFpbHNT
dWJ0cmVlKSB7CisgICAgICAgICAgICAgICAgICAgIGl0LnRyYXZlcnNlTmV4dFNraXBwaW5nQ2hp
bGRyZW4oKTsKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgbWF0Y2hlZEluc2lkZVNjb3Bl
ID0gZmFsc2U7Ci0KLSAgICAgICAgZm9yIChhdXRvJiBkZXNjZW5kYW50IDogZGVzY2VuZGFudHMp
IHsKICAgICAgICAgICAgIGlmIChjaGVja1JlbGF0aXZlKGRlc2NlbmRhbnQpKQogICAgICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICB9CiAKLSAgICAgICAgaWYgKGNoZWNraW5nQ29u
dGV4dC5zZWxlY3Rvck1hdGNoaW5nU3RhdGUgJiYgIW1hdGNoZWRJbnNpZGVTY29wZSkgewotICAg
ICAgICAgICAgYXV0byYgZmFpbHVyZUNhY2hlID0gY2hlY2tpbmdDb250ZXh0LnNlbGVjdG9yTWF0
Y2hpbmdTdGF0ZS0+aGFzUHNldWRvQ2xhc3NEZXNjZW5kYW50RmFpbHVyZUNhY2hlOwotICAgICAg
ICAgICAgZmFpbHVyZUNhY2hlLmFkZChTdHlsZTo6bWFrZUhhc1BzZXVkb0NsYXNzQ2FjaGVLZXko
aGFzU2VsZWN0b3IsIGRlc2NlbmRhbnRSb290KSk7CisgICAgICAgICAgICBpdC50cmF2ZXJzZU5l
eHQoKTsKICAgICAgICAgfQogCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9OwogCi0gICAg
YXV0byBtYXRjaEVsZW1lbnQgPSBTdHlsZTo6Y29tcHV0ZUhhc1BzZXVkb0NsYXNzTWF0Y2hFbGVt
ZW50KGhhc1NlbGVjdG9yKTsKKyAgICBhdXRvIG1hdGNoID0gWyZdIHsKKyAgICAgICAgYXV0byBt
YXRjaEVsZW1lbnQgPSBTdHlsZTo6Y29tcHV0ZUhhc1BzZXVkb0NsYXNzTWF0Y2hFbGVtZW50KGhh
c1NlbGVjdG9yKTsKIAotICAgIHN3aXRjaCAobWF0Y2hFbGVtZW50KSB7Ci0gICAgY2FzZSBTdHls
ZTo6TWF0Y2hFbGVtZW50OjpIYXNDaGlsZDoKLSAgICAgICAgZm9yIChhdXRvJiBjaGlsZCA6IGNo
aWxkcmVuT2ZUeXBlPEVsZW1lbnQ+KGVsZW1lbnQpKSB7Ci0gICAgICAgICAgICBpZiAoY2hlY2tS
ZWxhdGl2ZShjaGlsZCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIH0K
LSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTdHlsZTo6TWF0Y2hFbGVtZW50OjpIYXNEZXNjZW5k
YW50OiB7Ci0gICAgICAgIGlmIChjaGVja0Rlc2NlbmRhbnRzKGVsZW1lbnQpKQotICAgICAgICAg
ICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBjYXNlIFN0eWxlOjpN
YXRjaEVsZW1lbnQ6Okhhc1NpYmxpbmc6Ci0gICAgICAgIGZvciAoYXV0byogc2libGluZyA9IGVs
ZW1lbnQubmV4dEVsZW1lbnRTaWJsaW5nKCk7IHNpYmxpbmc7IHNpYmxpbmcgPSBzaWJsaW5nLT5u
ZXh0RWxlbWVudFNpYmxpbmcoKSkgewotICAgICAgICAgICAgaWYgKGNoZWNrUmVsYXRpdmUoKnNp
YmxpbmcpKQorICAgICAgICBzd2l0Y2ggKG1hdGNoRWxlbWVudCkgeworICAgICAgICAvLyA6aGFz
KD4gLmNoaWxkKQorICAgICAgICBjYXNlIFN0eWxlOjpNYXRjaEVsZW1lbnQ6Okhhc0NoaWxkOgor
ICAgICAgICAgICAgZm9yIChhdXRvJiBjaGlsZCA6IGNoaWxkcmVuT2ZUeXBlPEVsZW1lbnQ+KGVs
ZW1lbnQpKSB7CisgICAgICAgICAgICAgICAgaWYgKGNoZWNrUmVsYXRpdmUoY2hpbGQpKQorICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAvLyA6aGFzKC5kZXNjZW5kYW50KQorICAgICAgICBjYXNlIFN0eWxl
OjpNYXRjaEVsZW1lbnQ6Okhhc0Rlc2NlbmRhbnQ6IHsKKyAgICAgICAgICAgIGlmICghZWxlbWVu
dC5maXJzdEVsZW1lbnRDaGlsZCgpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgICAgIGlmIChjYWNoZSkgeworICAgICAgICAgICAgICAgIC8vIFNlZSBpZiB3ZSBhbHJl
YWR5IGtub3cgdGhpcyBkZXNjZW5kYW50IHNlbGVjdG9yIGRvZXNuJ3QgbWF0Y2ggaW4gdGhpcyBz
dWJ0cmVlLgorICAgICAgICAgICAgICAgIGZvciAoYXV0byogYW5jZXN0b3IgPSBlbGVtZW50LnBh
cmVudEVsZW1lbnQoKTsgYW5jZXN0b3I7IGFuY2VzdG9yID0gYW5jZXN0b3ItPnBhcmVudEVsZW1l
bnQoKSkgeworICAgICAgICAgICAgICAgICAgICBhdXRvIGtleSA9IFN0eWxlOjptYWtlSGFzUHNl
dWRvQ2xhc3NDYWNoZUtleShoYXNTZWxlY3RvciwgKmFuY2VzdG9yKTsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKGNhY2hlLT5nZXQoa2V5KSA9PSBTdHlsZTo6SGFzUHNldWRvQ2xhc3NNYXRjaDo6
RmFpbHNTdWJ0cmVlKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChjaGVja0Rlc2Nl
bmRhbnRzKGVsZW1lbnQpKQogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTdHlsZTo6TWF0
Y2hFbGVtZW50OjpIYXNTaWJsaW5nRGVzY2VuZGFudDoKLSAgICAgICAgZm9yIChhdXRvKiBzaWJs
aW5nID0gZWxlbWVudC5uZXh0RWxlbWVudFNpYmxpbmcoKTsgc2libGluZzsgc2libGluZyA9IHNp
YmxpbmctPm5leHRFbGVtZW50U2libGluZygpKSB7Ci0gICAgICAgICAgICBpZiAoY2hlY2tEZXNj
ZW5kYW50cygqc2libGluZykpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAg
IC8vIEZJWE1FOiBBZGQgYSBzZXBhcmF0ZSBjYXNlIGZvciBhZGphY2VudCBjb21iaW5hdG9yLgor
ICAgICAgICAvLyA6aGFzKCsgLnNpYmxpbmcpCisgICAgICAgIC8vIDpoYXMofiAuc2libGluZykK
KyAgICAgICAgY2FzZSBTdHlsZTo6TWF0Y2hFbGVtZW50OjpIYXNTaWJsaW5nOgorICAgICAgICAg
ICAgZm9yIChhdXRvKiBzaWJsaW5nID0gZWxlbWVudC5uZXh0RWxlbWVudFNpYmxpbmcoKTsgc2li
bGluZzsgc2libGluZyA9IHNpYmxpbmctPm5leHRFbGVtZW50U2libGluZygpKSB7CisgICAgICAg
ICAgICAgICAgaWYgKGNoZWNrUmVsYXRpdmUoKnNpYmxpbmcpKQorICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAvLyBGSVhNRTogQWRkIGEgc2VwYXJhdGUgY2FzZSBmb3IgYWRqYWNlbnQgY29tYmluYXRvci4K
KyAgICAgICAgLy8gOmhhcygrIC5zaWJsaW5nIC5kZXNjZW5kYW50KQorICAgICAgICAvLyA6aGFz
KH4gLnNpYmxpbmcgLmRlc2NlbmRhbnQpCisgICAgICAgIGNhc2UgU3R5bGU6Ok1hdGNoRWxlbWVu
dDo6SGFzU2libGluZ0Rlc2NlbmRhbnQ6CisgICAgICAgICAgICBmb3IgKGF1dG8qIHNpYmxpbmcg
PSBlbGVtZW50Lm5leHRFbGVtZW50U2libGluZygpOyBzaWJsaW5nOyBzaWJsaW5nID0gc2libGlu
Zy0+bmV4dEVsZW1lbnRTaWJsaW5nKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAoY2hlY2tEZXNj
ZW5kYW50cygqc2libGluZykpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KLSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9OwogCi0gICAg
ZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIGJyZWFrOwor
ICAgIGF1dG8gcmVzdWx0ID0gbWF0Y2goKTsKKworICAgIGlmIChjYWNoZWRNYXRjaCkgeworICAg
ICAgICAqY2FjaGVkTWF0Y2ggPSBbJl0geworICAgICAgICAgICAgaWYgKHJlc3VsdCkKKyAgICAg
ICAgICAgICAgICByZXR1cm4gU3R5bGU6Okhhc1BzZXVkb0NsYXNzTWF0Y2g6Ok1hdGNoZXM7Cisg
ICAgICAgICAgICBpZiAobWF0Y2hlZEluc2lkZVNjb3BlKQorICAgICAgICAgICAgICAgIHJldHVy
biBTdHlsZTo6SGFzUHNldWRvQ2xhc3NNYXRjaDo6RmFpbHM7CisgICAgICAgICAgICByZXR1cm4g
U3R5bGU6Okhhc1BzZXVkb0NsYXNzTWF0Y2g6OkZhaWxzU3VidHJlZTsKKyAgICAgICAgfSgpOwog
ICAgIH0KIAotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQogCiBib29s
IFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tTY3JvbGxiYXJQc2V1ZG9DbGFzcyhjb25zdCBDaGVja2lu
Z0NvbnRleHQmIGNoZWNraW5nQ29udGV4dCwgY29uc3QgRWxlbWVudCYgZWxlbWVudCwgY29uc3Qg
Q1NTU2VsZWN0b3ImIHNlbGVjdG9yKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3R5bGUvU2VsZWN0b3JNYXRjaGluZ1N0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TZWxl
Y3Rvck1hdGNoaW5nU3RhdGUuaAppbmRleCAxOTRlMWE2YzNkM2ZlMWFhOTg1NzA0MDcyNTEzMGZi
YjZjNGQzZGI4Li40MjlhYjk2Y2QwZTI3MTEyOTFhYjkzZmYyOTEzN2RkNmIxZDkwNzMzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TZWxlY3Rvck1hdGNoaW5nU3RhdGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TZWxlY3Rvck1hdGNoaW5nU3RhdGUuaApAQCAtMjUsMTUg
KzI1LDE3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIlNlbGVjdG9yRmlsdGVyLmgiCi0j
aW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZTo6U3R5bGUgewogCiB1c2luZyBIYXNQc2V1ZG9DbGFzc0NhY2hlS2V5ID0g
c3RkOjpwYWlyPGNvbnN0IENTU1NlbGVjdG9yKiwgY29uc3QgRWxlbWVudCo+OwogCitlbnVtIGNs
YXNzIEhhc1BzZXVkb0NsYXNzTWF0Y2ggOiB1aW50OF90IHsgTm9uZSwgTWF0Y2hlcywgRmFpbHMs
IEZhaWxzU3VidHJlZSB9OworCiBzdHJ1Y3QgU2VsZWN0b3JNYXRjaGluZ1N0YXRlIHsKICAgICBT
ZWxlY3RvckZpbHRlciBzZWxlY3RvckZpbHRlcjsKLSAgICBIYXNoU2V0PEhhc1BzZXVkb0NsYXNz
Q2FjaGVLZXk+IGhhc1BzZXVkb0NsYXNzRGVzY2VuZGFudEZhaWx1cmVDYWNoZTsKKyAgICBIYXNo
TWFwPEhhc1BzZXVkb0NsYXNzQ2FjaGVLZXksIEhhc1BzZXVkb0NsYXNzTWF0Y2g+IGhhc1BzZXVk
b0NsYXNzTWF0Y2hDYWNoZTsKIH07CiAKIGlubGluZSBIYXNQc2V1ZG9DbGFzc0NhY2hlS2V5IG1h
a2VIYXNQc2V1ZG9DbGFzc0NhY2hlS2V5KGNvbnN0IENTU1NlbGVjdG9yJiBzZWxlY3RvciwgY29u
c3QgRWxlbWVudCYgZWxlbWVudCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>