<?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>194210</bug_id>
          
          <creation_ts>2019-02-03 20:13:55 -0800</creation_ts>
          <short_desc>[LFC][IFC] Make InlineFormattingContext::collectInlineContent non-recursive.</short_desc>
          <delta_ts>2019-02-04 07:50:34 -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>Layout and Rendering</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1501729</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-02-03 20:13:55 -0800</bug_when>
    <thetext>This is in preparation for fixing the preferred width computation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1501732</commentid>
    <comment_count>1</comment_count>
      <attachid>361036</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-02-03 20:46:29 -0800</bug_when>
    <thetext>Created attachment 361036
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1501823</commentid>
    <comment_count>2</comment_count>
      <attachid>361036</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-04 07:49:29 -0800</bug_when>
    <thetext>Comment on attachment 361036
Patch

Clearing flags on attachment: 361036

Committed r240924: &lt;https://trac.webkit.org/changeset/240924&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1501824</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-04 07:49:31 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1501825</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-02-04 07:50:34 -0800</bug_when>
    <thetext>&lt;rdar://problem/47786020&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361036</attachid>
            <date>2019-02-03 20:46:29 -0800</date>
            <delta_ts>2019-02-04 07:49:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194210-20190203204612.patch</filename>
            <type>text/plain</type>
            <size>14636</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwODk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWVmZWZhZDdjNDFlN2Jl
ZWMwNWIzMGJiMTczYmEwMjhkMmViNDhlNS4uYjc2ZTEyYjNhN2MwYmY4OTQ1OTI5YWZkNmJkOGJj
YWM4ZjUwYTRjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE5LTAyLTAzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBNYWtlIElu
bGluZUZvcm1hdHRpbmdDb250ZXh0Ojpjb2xsZWN0SW5saW5lQ29udGVudCBub24tcmVjdXJzaXZl
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0MjEw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIGl0
ZXJhdGl2ZSBhbGdvcml0aG0gdG8gY29sbGVjdCBpbmxpbmUgY29udGVudCAoYW5kIGFkZCBicmVh
a2luZyBydWxlcykuCisgICAgICAgIFRoaXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIGZpeGluZyB0
aGUgaW5saW5lIHByZWZlcnJlZCB3aWR0aCBjb21wdXRhdGlvbi4gIAorCisgICAgICAgICogbGF5
b3V0L1ZlcmlmaWNhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OnJlc29sdmVG
b3JSZWxhdGl2ZVBvc2l0aW9uSWZOZWVkZWQpOgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3Jt
YXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6YWRkRGV0YWNoaW5nUnVsZXMpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpjcmVh
dGVBbmRBcHBlbmRJbmxpbmVJdGVtKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQ6OmNvbGxlY3RJbmxpbmVDb250ZW50IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbGxlY3RJbmxpbmVD
b250ZW50Rm9yU3VidHJlZSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2lubGlu
ZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaDoKKwogMjAxOS0wMi0wMiAgWmFs
YW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdIEluaXRpYWxpemUg
SUNCJ3Mgc3R5bGUgd2l0aCBmaXhlZCB3aWR0aC9oZWlnaHQuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvVmVyaWZpY2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9W
ZXJpZmljYXRpb24uY3BwCmluZGV4IDM2MWM0Nzg3NTVjOWRmYzM1NTNiMzJjNjVkOTNhMmIzMGRl
NTNjNzQuLjJlNzdjMzllOTIxNDQ5NDJlZjI5ZTQwZTRjNzQzNmU1MTEyMDBiYzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9WZXJpZmljYXRpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9WZXJpZmljYXRpb24uY3BwCkBAIC0xMzMsNyArMTMzLDcgQEAgc3RhdGlj
IExheW91dFVuaXQgcmVzb2x2ZUZvclJlbGF0aXZlUG9zaXRpb25JZk5lZWRlZChjb25zdCBJbmxp
bmVUZXh0Qm94JiBpbmxpbmUKICAgICB3aGlsZSAoaXM8SW5saW5lRmxvd0JveD4ocGFyZW50KSkg
ewogICAgICAgICBhdXRvJiByZW5kZXJlciA9IHBhcmVudC0+cmVuZGVyZXIoKTsKICAgICAgICAg
aWYgKHJlbmRlcmVyLmlzSW5GbG93UG9zaXRpb25lZCgpKQotICAgICAgICAgICAgeE9mZnNldCA9
IGRvd25jYXN0PFJlbmRlcklubGluZT4ocmVuZGVyZXIpLm9mZnNldEZvckluRmxvd1Bvc2l0aW9u
KCkud2lkdGgoKTsKKyAgICAgICAgICAgIHhPZmZzZXQgPSByZW5kZXJlci5vZmZzZXRGb3JJbkZs
b3dQb3NpdGlvbigpLndpZHRoKCk7CiAgICAgICAgIHBhcmVudCA9IHBhcmVudC0+cGFyZW50KCk7
CiAgICAgfQogICAgIHJldHVybiB4T2Zmc2V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQuY3BwCmluZGV4IDk2ZjAxZWFlNDY2MDc2ZWFjN2Y5ODE3OTI4NjMxMGJiMGU3OTJlNGMuLjc4
ZjM0ZjhjNjg5OTNkMzllZDZhYmFkOWZiYjBmNjJiOGE1MmJkZTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVG
b3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTQzMCw5OCArNDMwLDEzMiBAQCB2b2lkIElubGluZUZv
cm1hdHRpbmdDb250ZXh0OjpwbGFjZUluRmxvd1Bvc2l0aW9uZWRDaGlsZHJlbih1bnNpZ25lZCBm
aXN0UnVuSW5kZQogICAgIH0KIH0KIAotdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29s
bGVjdElubGluZUNvbnRlbnRGb3JTdWJ0cmVlKGNvbnN0IEJveCYgcm9vdCwgSW5saW5lUnVuUHJv
dmlkZXImIGlubGluZVJ1blByb3ZpZGVyKSBjb25zdAorc3RhdGljIHZvaWQgYWRkRGV0YWNoaW5n
UnVsZXMoSW5saW5lSXRlbSYgaW5saW5lSXRlbSwgT3B0aW9uYWw8TGF5b3V0VW5pdD4gbm9uQnJl
YWthYmxlU3RhcnRXaWR0aCwgT3B0aW9uYWw8TGF5b3V0VW5pdD4gbm9uQnJlYWthYmxlRW5kV2lk
dGgpCiB7Ci0gICAgLy8gQ29sbGVjdCBpbmxpbmUgY29udGVudCByZWN1cnNpdmVseSBhbmQgc2V0
IGJyZWFraW5nIHJ1bGVzIGZvciB0aGUgaW5saW5lIGVsZW1lbnRzIChmb3IgcGFkZGluZ3MsIG1h
cmdpbnMsIHBvc2l0aW9uZWQgZWxlbWVudCBldGMpLgotICAgIGF1dG8mIGlubGluZUZvcm1hdHRp
bmdTdGF0ZSA9IGZvcm1hdHRpbmdTdGF0ZSgpOwotCi0gICAgYXV0byBjcmVhdGVBbmRBcHBlbmRJ
bmxpbmVJdGVtID0gWyZdIHsKLSAgICAgICAgYXV0byBpbmxpbmVJdGVtID0gc3RkOjptYWtlX3Vu
aXF1ZTxJbmxpbmVJdGVtPihyb290KTsKLSAgICAgICAgaW5saW5lUnVuUHJvdmlkZXIuYXBwZW5k
KCppbmxpbmVJdGVtKTsKLSAgICAgICAgaW5saW5lRm9ybWF0dGluZ1N0YXRlLmlubGluZUNvbnRl
bnQoKS5hZGQoV1RGTW92ZShpbmxpbmVJdGVtKSk7Ci0gICAgfTsKKyAgICBPcHRpb25TZXQ8SW5s
aW5lSXRlbTo6RGV0YWNoaW5nUnVsZT4gZGV0YWNoaW5nUnVsZXM7CisgICAgaWYgKG5vbkJyZWFr
YWJsZVN0YXJ0V2lkdGgpIHsKKyAgICAgICAgZGV0YWNoaW5nUnVsZXMuYWRkKElubGluZUl0ZW06
OkRldGFjaGluZ1J1bGU6OkJyZWFrQXRTdGFydCk7CisgICAgICAgIGlubGluZUl0ZW0uYWRkTm9u
QnJlYWthYmxlU3RhcnQoKm5vbkJyZWFrYWJsZVN0YXJ0V2lkdGgpOworICAgIH0KKyAgICBpZiAo
bm9uQnJlYWthYmxlRW5kV2lkdGgpIHsKKyAgICAgICAgZGV0YWNoaW5nUnVsZXMuYWRkKElubGlu
ZUl0ZW06OkRldGFjaGluZ1J1bGU6OkJyZWFrQXRFbmQpOworICAgICAgICBpbmxpbmVJdGVtLmFk
ZE5vbkJyZWFrYWJsZUVuZCgqbm9uQnJlYWthYmxlRW5kV2lkdGgpOworICAgIH0KKyAgICBpbmxp
bmVJdGVtLmFkZERldGFjaGluZ1J1bGUoZGV0YWNoaW5nUnVsZXMpOworfQogCi0gICAgaWYgKHJv
b3QuZXN0YWJsaXNoZXNGb3JtYXR0aW5nQ29udGV4dCgpICYmICZyb290ICE9ICYodGhpcy0+cm9v
dCgpKSkgewotICAgICAgICBjcmVhdGVBbmRBcHBlbmRJbmxpbmVJdGVtKCk7Ci0gICAgICAgIGF1
dG8mIGlubGluZVJ1biA9ICppbmxpbmVGb3JtYXR0aW5nU3RhdGUuaW5saW5lQ29udGVudCgpLmxh
c3QoKTsKLSAgICAgICAgYXV0byBjb21wdXRlZEhvcml6b250YWxNYXJnaW4gPSBHZW9tZXRyeTo6
Y29tcHV0ZWRIb3Jpem9udGFsTWFyZ2luKGxheW91dFN0YXRlKCksIHJvb3QpOwotICAgICAgICBh
dXRvIGhvcml6b250YWxNYXJnaW4gPSBVc2VkSG9yaXpvbnRhbE1hcmdpbiB7IGNvbXB1dGVkSG9y
aXpvbnRhbE1hcmdpbi5zdGFydC52YWx1ZU9yKDApLCBjb21wdXRlZEhvcml6b250YWxNYXJnaW4u
ZW5kLnZhbHVlT3IoMCkgfTsKK3N0YXRpYyBJbmxpbmVJdGVtJiBjcmVhdGVBbmRBcHBlbmRJbmxp
bmVJdGVtKElubGluZVJ1blByb3ZpZGVyJiBpbmxpbmVSdW5Qcm92aWRlciwgSW5saW5lQ29udGVu
dCYgaW5saW5lQ29udGVudCwgY29uc3QgQm94JiBsYXlvdXRCb3gpCit7CisgICAgQVNTRVJUKGxh
eW91dEJveC5pc0lubGluZUxldmVsQm94KCkgfHwgbGF5b3V0Qm94LmlzRmxvYXRpbmdQb3NpdGlv
bmVkKCkpOworICAgIGF1dG8gaW5saW5lSXRlbSA9IHN0ZDo6bWFrZV91bmlxdWU8SW5saW5lSXRl
bT4obGF5b3V0Qm94KTsKKyAgICBhdXRvKiBpbmxpbmVJdGVtUHRyID0gaW5saW5lSXRlbS5nZXQo
KTsKKyAgICBpbmxpbmVDb250ZW50LmFkZChXVEZNb3ZlKGlubGluZUl0ZW0pKTsKKyAgICBpbmxp
bmVSdW5Qcm92aWRlci5hcHBlbmQoKmlubGluZUl0ZW1QdHIpOworICAgIHJldHVybiAqaW5saW5l
SXRlbVB0cjsKK30KIAotICAgICAgICBpbmxpbmVSdW4uYWRkRGV0YWNoaW5nUnVsZSh7IElubGlu
ZUl0ZW06OkRldGFjaGluZ1J1bGU6OkJyZWFrQXRTdGFydCwgSW5saW5lSXRlbTo6RGV0YWNoaW5n
UnVsZTo6QnJlYWtBdEVuZCB9KTsKLSAgICAgICAgaW5saW5lUnVuLmFkZE5vbkJyZWFrYWJsZVN0
YXJ0KGhvcml6b250YWxNYXJnaW4uc3RhcnQpOwotICAgICAgICBpbmxpbmVSdW4uYWRkTm9uQnJl
YWthYmxlRW5kKGhvcml6b250YWxNYXJnaW4uZW5kKTsKLSAgICAgICAgLy8gU2tpcCBmb3JtYXR0
aW5nIHJvb3Qgc3VidHJlZS4gVGhleSBhcmUgbm90IHBhcnQgb2YgdGhpcyBpbmxpbmUgZm9ybWF0
dGluZyBjb250ZXh0Lgordm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29sbGVjdElubGlu
ZUNvbnRlbnQoSW5saW5lUnVuUHJvdmlkZXImIGlubGluZVJ1blByb3ZpZGVyKSBjb25zdAorewor
ICAgIGlmICghaXM8Q29udGFpbmVyPihyb290KCkpKQogICAgICAgICByZXR1cm47Ci0gICAgfQot
Ci0gICAgaWYgKCFpczxDb250YWluZXI+KHJvb3QpKSB7Ci0gICAgICAgIGNyZWF0ZUFuZEFwcGVu
ZElubGluZUl0ZW0oKTsKKyAgICBhdXRvJiByb290ID0gZG93bmNhc3Q8Q29udGFpbmVyPih0aGlz
LT5yb290KCkpOworICAgIGlmICghcm9vdC5oYXNJbkZsb3dPckZsb2F0aW5nQ2hpbGQoKSkKICAg
ICAgICAgcmV0dXJuOwotICAgIH0KKyAgICAvLyBUaGUgbG9naWMgaGVyZSBpcyB2ZXJ5IHNpbWls
YXIgdG8gQkZDIGxheW91dC4KKyAgICAvLyAxLiBUcmF2ZXJzIGRvd24gdGhlIGxheW91dCB0cmVl
IGFuZCBjb2xsZWN0ICJzdGFydCIgdW5icmVha2FibGUgd2lkdGhzIChtYXJnaW4tbGVmdCwgYm9y
ZGVyLWxlZnQsIHBhZGRpbmctbGVmdCkKKyAgICAvLyAyLiBDcmVhdGUgSW5saW5lSXRlbSBwZXIg
bGVhZiBpbmxpbmUgYm94ICh0ZXh0IG5vZGVzLCBpbmxpbmUtYmxvY2tzLCBmbG9hdHMpIGFuZCBz
ZXQgInN0YXJ0IiB1bmJyZWFrYWJsZSB3aWR0aCBvbiB0aGVtLiAKKyAgICAvLyAzLiBDbGltYiBi
YWNrIGFuZCBjb2xsZWN0ICJlbmQiIHVuYnJlYWthYmxlIHdpZHRoIGFuZCBzZXQgaXQgb24gdGhl
IGxhc3QgSW5saW5lSXRlbS4KKyAgICBhdXRvJiBsYXlvdXRTdGF0ZSA9IHRoaXMtPmxheW91dFN0
YXRlKCk7CisgICAgYXV0byYgaW5saW5lQ29udGVudCA9IGZvcm1hdHRpbmdTdGF0ZSgpLmlubGlu
ZUNvbnRlbnQoKTsKIAotICAgIGF1dG8qIGxhc3RJbmxpbmVCb3hCZWZvcmVDb250YWluZXIgPSBp
bmxpbmVGb3JtYXR0aW5nU3RhdGUubGFzdElubGluZUl0ZW0oKTsKLSAgICBhdXRvKiBjaGlsZCA9
IGRvd25jYXN0PENvbnRhaW5lcj4ocm9vdCkuZmlyc3RJbkZsb3dPckZsb2F0aW5nQ2hpbGQoKTsK
LSAgICB3aGlsZSAoY2hpbGQpIHsKLSAgICAgICAgY29sbGVjdElubGluZUNvbnRlbnRGb3JTdWJ0
cmVlKCpjaGlsZCwgaW5saW5lUnVuUHJvdmlkZXIpOwotICAgICAgICBjaGlsZCA9IGNoaWxkLT5u
ZXh0SW5GbG93T3JGbG9hdGluZ1NpYmxpbmcoKTsKLSAgICB9CisgICAgZW51bSBjbGFzcyBOb25C
cmVha2FibGVXaWR0aFR5cGUgeyBTdGFydCwgRW5kIH07CisgICAgYXV0byBub25CcmVha2FibGVX
aWR0aCA9IFsmXShhdXRvJiBjb250YWluZXIsIGF1dG8gdHlwZSkgeworICAgICAgICBhdXRvIGNv
bXB1dGVkSG9yaXpvbnRhbE1hcmdpbiA9IEdlb21ldHJ5Ojpjb21wdXRlZEhvcml6b250YWxNYXJn
aW4obGF5b3V0U3RhdGUsIGNvbnRhaW5lcik7CisgICAgICAgIGF1dG8gaG9yaXpvbnRhbE1hcmdp
biA9IFVzZWRIb3Jpem9udGFsTWFyZ2luIHsgY29tcHV0ZWRIb3Jpem9udGFsTWFyZ2luLnN0YXJ0
LnZhbHVlT3IoMCksIGNvbXB1dGVkSG9yaXpvbnRhbE1hcmdpbi5lbmQudmFsdWVPcigwKSB9Owor
ICAgICAgICBhdXRvIGJvcmRlciA9IEdlb21ldHJ5Ojpjb21wdXRlZEJvcmRlcihsYXlvdXRTdGF0
ZSwgY29udGFpbmVyKTsKKyAgICAgICAgYXV0byBwYWRkaW5nID0gR2VvbWV0cnk6OmNvbXB1dGVk
UGFkZGluZyhsYXlvdXRTdGF0ZSwgY29udGFpbmVyKTsKIAotICAgIC8vIEZJWE1FOiBSZXZpc2l0
IHRoaXMgd2hlbiB3ZSBmaWd1cmVkIG91dCBob3cgaW5saW5lIGJveGVzIGZpdCB0aGUgZGlzcGxh
eSB0cmVlLgotICAgIGF1dG8gcGFkZGluZyA9IEdlb21ldHJ5Ojpjb21wdXRlZFBhZGRpbmcobGF5
b3V0U3RhdGUoKSwgcm9vdCk7Ci0gICAgYXV0byBib3JkZXIgPSBHZW9tZXRyeTo6Y29tcHV0ZWRC
b3JkZXIobGF5b3V0U3RhdGUoKSwgcm9vdCk7Ci0gICAgYXV0byBjb21wdXRlZEhvcml6b250YWxN
YXJnaW4gPSBHZW9tZXRyeTo6Y29tcHV0ZWRIb3Jpem9udGFsTWFyZ2luKGxheW91dFN0YXRlKCks
IHJvb3QpOwotICAgIGF1dG8gaG9yaXpvbnRhbE1hcmdpbiA9IFVzZWRIb3Jpem9udGFsTWFyZ2lu
IHsgY29tcHV0ZWRIb3Jpem9udGFsTWFyZ2luLnN0YXJ0LnZhbHVlT3IoMCksIGNvbXB1dGVkSG9y
aXpvbnRhbE1hcmdpbi5lbmQudmFsdWVPcigwKSB9OworICAgICAgICBpZiAodHlwZSA9PSBOb25C
cmVha2FibGVXaWR0aFR5cGU6OlN0YXJ0KQorICAgICAgICAgICAgcmV0dXJuIGJvcmRlci5ob3Jp
em9udGFsLmxlZnQgKyBob3Jpem9udGFsTWFyZ2luLnN0YXJ0ICsgKHBhZGRpbmcgPyBwYWRkaW5n
LT5ob3Jpem9udGFsLmxlZnQgOiBMYXlvdXRVbml0KCkpOworICAgICAgICByZXR1cm4gYm9yZGVy
Lmhvcml6b250YWwucmlnaHQgKyBob3Jpem9udGFsTWFyZ2luLmVuZCArIChwYWRkaW5nID8gcGFk
ZGluZy0+aG9yaXpvbnRhbC5yaWdodCA6IExheW91dFVuaXQoKSk7CisgICAgfTsKIAotICAgIC8v
IFNldHVwIGJyZWFraW5nIGJvdW5kYXJpZXMgZm9yIHRoaXMgc3VidHJlZS4KLSAgICBhdXRvKiBs
YXN0RGVzY2VuZGFudElubGluZUJveCA9IGlubGluZUZvcm1hdHRpbmdTdGF0ZS5sYXN0SW5saW5l
SXRlbSgpOwotICAgIC8vIEVtcHR5IGNvbnRhaW5lcj8KLSAgICBpZiAobGFzdElubGluZUJveEJl
Zm9yZUNvbnRhaW5lciA9PSBsYXN0RGVzY2VuZGFudElubGluZUJveCkKLSAgICAgICAgcmV0dXJu
OworICAgIExheW91dFF1ZXVlIGxheW91dFF1ZXVlOworICAgIGxheW91dFF1ZXVlLmFwcGVuZChy
b290LmZpcnN0SW5GbG93T3JGbG9hdGluZ0NoaWxkKCkpOworCisgICAgT3B0aW9uYWw8TGF5b3V0
VW5pdD4gbm9uQnJlYWthYmxlU3RhcnRXaWR0aDsKKyAgICBPcHRpb25hbDxMYXlvdXRVbml0PiBu
b25CcmVha2FibGVFbmRXaWR0aDsKKyAgICBJbmxpbmVJdGVtKiBsYXN0SW5saW5lSXRlbSA9IG51
bGxwdHI7CisgICAgd2hpbGUgKCFsYXlvdXRRdWV1ZS5pc0VtcHR5KCkpIHsKKyAgICAgICAgd2hp
bGUgKHRydWUpIHsKKyAgICAgICAgICAgIGF1dG8mIGxheW91dEJveCA9ICpsYXlvdXRRdWV1ZS5s
YXN0KCk7CisgICAgICAgICAgICBpZiAoIWlzPENvbnRhaW5lcj4obGF5b3V0Qm94KSkKKyAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGF1dG8mIGNvbnRhaW5lciA9IGRvd25jYXN0
PENvbnRhaW5lcj4obGF5b3V0Qm94KTsKKworICAgICAgICAgICAgaWYgKGNvbnRhaW5lci5lc3Rh
Ymxpc2hlc0Zvcm1hdHRpbmdDb250ZXh0KCkpIHsKKyAgICAgICAgICAgICAgICAvLyBGb3JtYXR0
aW5nIGNvbnRleHRzIGFyZSB0cmVhdGVkIGFzIGxlYWYgbm9kZXMuCisgICAgICAgICAgICAgICAg
YXV0byYgaW5saW5lSXRlbSA9IGNyZWF0ZUFuZEFwcGVuZElubGluZUl0ZW0oaW5saW5lUnVuUHJv
dmlkZXIsIGlubGluZUNvbnRlbnQsIGNvbnRhaW5lcik7CisgICAgICAgICAgICAgICAgYXV0byBj
b21wdXRlZEhvcml6b250YWxNYXJnaW4gPSBHZW9tZXRyeTo6Y29tcHV0ZWRIb3Jpem9udGFsTWFy
Z2luKGxheW91dFN0YXRlLCBjb250YWluZXIpOworICAgICAgICAgICAgICAgIGF1dG8gY3VycmVu
dE5vbkJyZWFrYWJsZVN0YXJ0V2lkdGggPSBub25CcmVha2FibGVTdGFydFdpZHRoLnZhbHVlT3Io
MCkgKyBjb21wdXRlZEhvcml6b250YWxNYXJnaW4uc3RhcnQudmFsdWVPcigwKSArIG5vbkJyZWFr
YWJsZUVuZFdpZHRoLnZhbHVlT3IoMCk7CisgICAgICAgICAgICAgICAgYWRkRGV0YWNoaW5nUnVs
ZXMoaW5saW5lSXRlbSwgY3VycmVudE5vbkJyZWFrYWJsZVN0YXJ0V2lkdGgsIGNvbXB1dGVkSG9y
aXpvbnRhbE1hcmdpbi5lbmQpOworICAgICAgICAgICAgICAgIG5vbkJyZWFrYWJsZVN0YXJ0V2lk
dGggPSB7IH07CisgICAgICAgICAgICAgICAgbm9uQnJlYWthYmxlRW5kV2lkdGggPSB7IH07CisK
KyAgICAgICAgICAgICAgICAvLyBGb3JtYXR0aW5nIGNvbnRleHQgcm9vdHMgdGFrZSBjYXJlIG9m
IHRoZWlyIHN1YnRyZWVzLiBDb250aW51ZSB3aXRoIG5leHQgc2libGluZyBpZiBleGlzdHMuCisg
ICAgICAgICAgICAgICAgbGF5b3V0UXVldWUucmVtb3ZlTGFzdCgpOworICAgICAgICAgICAgICAg
IGlmICghY29udGFpbmVyLm5leHRJbkZsb3dPckZsb2F0aW5nU2libGluZygpKQorICAgICAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBsYXlvdXRRdWV1ZS5hcHBlbmQoY29u
dGFpbmVyLm5leHRJbkZsb3dPckZsb2F0aW5nU2libGluZygpKTsKKyAgICAgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgICAgIH0KIAotICAgIGF1dG8gcm9vdEJyZWFrc0F0U3RhcnQgPSBb
Jl0gewotICAgICAgICBpZiAoJnJvb3QgPT0gJih0aGlzLT5yb290KCkpKQotICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICByZXR1cm4gKHBhZGRpbmcgJiYgcGFkZGluZy0+aG9yaXpv
bnRhbC5sZWZ0KSB8fCBib3JkZXIuaG9yaXpvbnRhbC5sZWZ0IHx8IGhvcml6b250YWxNYXJnaW4u
c3RhcnQgfHwgcm9vdC5pc1Bvc2l0aW9uZWQoKTsKLSAgICB9OworICAgICAgICAgICAgLy8gQ2hl
Y2sgaWYgdGhpcyBub24tZm9ybWF0dGluZyBjb250ZXh0IGNvbnRhaW5lciBoYXMgYW55IG5vbi1i
cmVha2FibGUgc3RhcnQgcHJvcGVydGllcyAobWFyZ2luLWxlZnQsIGJvcmRlci1sZWZ0LCBwYWRk
aW5nLWxlZnQpCisgICAgICAgICAgICAvLyA8c3BhbiBzdHlsZT0icGFkZGluZy1sZWZ0OiA1cHgi
PjxzcGFuIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDVweCI+Zm9vYmFyPC9zcGFuPjwvc3Bhbj4gLT4g
NXB4ICsgNXB4CisgICAgICAgICAgICBhdXRvIGN1cnJlbnROb25CcmVha2FibGVTdGFydFdpZHRo
ID0gbm9uQnJlYWthYmxlV2lkdGgobGF5b3V0Qm94LCBOb25CcmVha2FibGVXaWR0aFR5cGU6OlN0
YXJ0KTsKKyAgICAgICAgICAgIGlmIChjdXJyZW50Tm9uQnJlYWthYmxlU3RhcnRXaWR0aCB8fCBs
YXlvdXRCb3guaXNQb3NpdGlvbmVkKCkpCisgICAgICAgICAgICAgICAgbm9uQnJlYWthYmxlU3Rh
cnRXaWR0aCA9IG5vbkJyZWFrYWJsZVN0YXJ0V2lkdGgudmFsdWVPcigwKSArIGN1cnJlbnROb25C
cmVha2FibGVTdGFydFdpZHRoOwogCi0gICAgYXV0byByb290QnJlYWtzQXRFbmQgPSBbJl0gewot
ICAgICAgICBpZiAoJnJvb3QgPT0gJih0aGlzLT5yb290KCkpKQotICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgICAgICByZXR1cm4gKHBhZGRpbmcgJiYgcGFkZGluZy0+aG9yaXpvbnRhbC5y
aWdodCkgfHwgYm9yZGVyLmhvcml6b250YWwucmlnaHQgfHwgaG9yaXpvbnRhbE1hcmdpbi5lbmQg
fHwgcm9vdC5pc1Bvc2l0aW9uZWQoKTsKLSAgICB9OworICAgICAgICAgICAgaWYgKCFjb250YWlu
ZXIuaGFzSW5GbG93T3JGbG9hdGluZ0NoaWxkKCkpCisgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICBsYXlvdXRRdWV1ZS5hcHBlbmQoY29udGFpbmVyLmZpcnN0SW5GbG93T3JGbG9h
dGluZ0NoaWxkKCkpOworICAgICAgICB9CiAKLSAgICBpZiAocm9vdEJyZWFrc0F0U3RhcnQoKSkg
ewotICAgICAgICBJbmxpbmVJdGVtKiBmaXJzdERlc2NlbmRhbnRJbmxpbmVCb3ggPSBudWxscHRy
OwotICAgICAgICBhdXRvJiBpbmxpbmVDb250ZW50ID0gaW5saW5lRm9ybWF0dGluZ1N0YXRlLmlu
bGluZUNvbnRlbnQoKTsKLQotICAgICAgICBpZiAobGFzdElubGluZUJveEJlZm9yZUNvbnRhaW5l
cikgewotICAgICAgICAgICAgYXV0byBpdGVyYXRvciA9IGlubGluZUNvbnRlbnQuZmluZChsYXN0
SW5saW5lQm94QmVmb3JlQ29udGFpbmVyKTsKLSAgICAgICAgICAgIGZpcnN0RGVzY2VuZGFudElu
bGluZUJveCA9ICgqKytpdGVyYXRvcikuZ2V0KCk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAg
ICAgZmlyc3REZXNjZW5kYW50SW5saW5lQm94ID0gaW5saW5lQ29udGVudC5maXJzdCgpLmdldCgp
OwotCi0gICAgICAgIEFTU0VSVChmaXJzdERlc2NlbmRhbnRJbmxpbmVCb3gpOwotICAgICAgICBm
aXJzdERlc2NlbmRhbnRJbmxpbmVCb3gtPmFkZERldGFjaGluZ1J1bGUoSW5saW5lSXRlbTo6RGV0
YWNoaW5nUnVsZTo6QnJlYWtBdFN0YXJ0KTsKLSAgICAgICAgYXV0byBzdGFydE9mZnNldCA9IGJv
cmRlci5ob3Jpem9udGFsLmxlZnQgKyBob3Jpem9udGFsTWFyZ2luLnN0YXJ0OwotICAgICAgICBp
ZiAocGFkZGluZykKLSAgICAgICAgICAgIHN0YXJ0T2Zmc2V0ICs9IHBhZGRpbmctPmhvcml6b250
YWwubGVmdDsKLSAgICAgICAgZmlyc3REZXNjZW5kYW50SW5saW5lQm94LT5hZGROb25CcmVha2Fi
bGVTdGFydChzdGFydE9mZnNldCk7Ci0gICAgfQorICAgICAgICB3aGlsZSAoIWxheW91dFF1ZXVl
LmlzRW1wdHkoKSkgeworICAgICAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gKmxheW91dFF1ZXVl
LnRha2VMYXN0KCk7CisgICAgICAgICAgICBpZiAoaXM8Q29udGFpbmVyPihsYXlvdXRCb3gpKSB7
CisgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUgZW5kIG9mIGFuIGlubGluZSBjb250YWlu
ZXIuIENvbXB1dGUgdGhlIG5vbi1icmVha2FibGUgZW5kIHdpZHRoIGFuZCBhZGQgaXQgdG8gdGhl
IGxhc3QgaW5saW5lIGJveC4KKyAgICAgICAgICAgICAgICAvLyA8c3BhbiBzdHlsZT0icGFkZGlu
Zy1yaWdodDogNXB4Ij5mb29iYXI8L3NwYW4+IC0+IDVweDsgbGFzdCBpbmxpbmUgaXRlbSAtPiAi
Zm9vYmFyIgorICAgICAgICAgICAgICAgIGF1dG8gY3VycmVudE5vbkJyZWFrYWJsZUVuZFdpZHRo
ID0gbm9uQnJlYWthYmxlV2lkdGgobGF5b3V0Qm94LCBOb25CcmVha2FibGVXaWR0aFR5cGU6OkVu
ZCk7CisgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnROb25CcmVha2FibGVFbmRXaWR0aCB8fCBs
YXlvdXRCb3guaXNQb3NpdGlvbmVkKCkpCisgICAgICAgICAgICAgICAgICAgIG5vbkJyZWFrYWJs
ZUVuZFdpZHRoID0gbm9uQnJlYWthYmxlRW5kV2lkdGgudmFsdWVPcigwKSArIGN1cnJlbnROb25C
cmVha2FibGVFbmRXaWR0aDsKKyAgICAgICAgICAgICAgICAvLyBBZGQgaXQgdG8gdGhlIGxhc3Qg
aW5saW5lIGJveAorICAgICAgICAgICAgICAgIGlmIChsYXN0SW5saW5lSXRlbSkgeworICAgICAg
ICAgICAgICAgICAgICBhZGREZXRhY2hpbmdSdWxlcygqbGFzdElubGluZUl0ZW0sIHsgfSwgbm9u
QnJlYWthYmxlRW5kV2lkdGgpOworICAgICAgICAgICAgICAgICAgICBub25CcmVha2FibGVFbmRX
aWR0aCA9IHsgfTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgICAgIC8vIExlYWYgaW5saW5lIGJveAorICAgICAgICAgICAgICAgIGF1dG8mIGlu
bGluZUl0ZW0gPSBjcmVhdGVBbmRBcHBlbmRJbmxpbmVJdGVtKGlubGluZVJ1blByb3ZpZGVyLCBp
bmxpbmVDb250ZW50LCBsYXlvdXRCb3gpOworICAgICAgICAgICAgICAgIC8vIEFkZCBzdGFydCBh
bmQgdGhlICh0aHJvdWdoIGVtcHR5IGNvbnRhaW5lcnMpIGFjY3VtdWxhdGVkIGVuZCB3aWR0aC4K
KyAgICAgICAgICAgICAgICAvLyA8c3BhbiBzdHlsZT0icGFkZGluZy1sZWZ0OiAxcHgiPmZvb2Jh
cjwvc3Bhbj4gLT4gbm9uQnJlYWthYmxlU3RhcnRXaWR0aDogMXB4OworICAgICAgICAgICAgICAg
IC8vIDxzcGFuIHN0eWxlPSJwYWRkaW5nOiA1cHgiPjwvc3Bhbj5mb29iYXIgLT4gbm9uQnJlYWth
YmxlU3RhcnRXaWR0aDogNXB4OyBub25CcmVha2FibGVFbmRXaWR0aDogNXB4CisgICAgICAgICAg
ICAgICAgaWYgKG5vbkJyZWFrYWJsZVN0YXJ0V2lkdGggfHwgbm9uQnJlYWthYmxlRW5kV2lkdGgp
IHsKKyAgICAgICAgICAgICAgICAgICAgYWRkRGV0YWNoaW5nUnVsZXMoaW5saW5lSXRlbSwgbm9u
QnJlYWthYmxlU3RhcnRXaWR0aC52YWx1ZU9yKDApICsgbm9uQnJlYWthYmxlRW5kV2lkdGgudmFs
dWVPcigwKSwgeyB9KTsKKyAgICAgICAgICAgICAgICAgICAgbm9uQnJlYWthYmxlU3RhcnRXaWR0
aCA9IHsgfTsKKyAgICAgICAgICAgICAgICAgICAgbm9uQnJlYWthYmxlRW5kV2lkdGggPSB7IH07
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGxhc3RJbmxpbmVJdGVtID0gJmlu
bGluZUl0ZW07CisgICAgICAgICAgICB9CiAKLSAgICBpZiAocm9vdEJyZWFrc0F0RW5kKCkpIHsK
LSAgICAgICAgbGFzdERlc2NlbmRhbnRJbmxpbmVCb3gtPmFkZERldGFjaGluZ1J1bGUoSW5saW5l
SXRlbTo6RGV0YWNoaW5nUnVsZTo6QnJlYWtBdEVuZCk7Ci0gICAgICAgIGF1dG8gZW5kT2Zmc2V0
ID0gYm9yZGVyLmhvcml6b250YWwucmlnaHQgKyBob3Jpem9udGFsTWFyZ2luLmVuZDsKLSAgICAg
ICAgaWYgKHBhZGRpbmcpCi0gICAgICAgICAgICBlbmRPZmZzZXQgKz0gcGFkZGluZy0+aG9yaXpv
bnRhbC5yaWdodDsKLSAgICAgICAgbGFzdERlc2NlbmRhbnRJbmxpbmVCb3gtPmFkZE5vbkJyZWFr
YWJsZUVuZChlbmRPZmZzZXQpOworICAgICAgICAgICAgaWYgKGF1dG8qIG5leHRTaWJsaW5nID0g
bGF5b3V0Qm94Lm5leHRJbkZsb3dPckZsb2F0aW5nU2libGluZygpKSB7CisgICAgICAgICAgICAg
ICAgbGF5b3V0UXVldWUuYXBwZW5kKG5leHRTaWJsaW5nKTsKKyAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQogICAgIH0KIH0KIAotdm9pZCBJbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dDo6Y29sbGVjdElubGluZUNvbnRlbnQoSW5saW5lUnVuUHJvdmlkZXImIGlu
bGluZVJ1blByb3ZpZGVyKSBjb25zdAotewotICAgIGNvbGxlY3RJbmxpbmVDb250ZW50Rm9yU3Vi
dHJlZShyb290KCksIGlubGluZVJ1blByb3ZpZGVyKTsKLX0KLQogRm9ybWF0dGluZ0NvbnRleHQ6
Okluc3RyaW5zaWNXaWR0aENvbnN0cmFpbnRzIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjppbnN0
cmluc2ljV2lkdGhDb25zdHJhaW50cygpIGNvbnN0CiB7CiAgICAgYXV0byYgZm9ybWF0dGluZ1N0
YXRlRm9yUm9vdCA9IGxheW91dFN0YXRlKCkuZm9ybWF0dGluZ1N0YXRlRm9yQm94KHJvb3QoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVGb3JtYXR0aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaAppbmRleCA5OWYyODJmODBiNWNhYWExNDdl
Y2Y1OTE2NWRjNjQwYTBiMGYxMjVmLi4zZjdjZDNmNTMyNDc0NGEyNDlhOGI0NmUyZWExMTdhNTg5
MDRkZGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmgKQEAgLTExOCw3ICsxMTgs
NiBAQCBwcml2YXRlOgogICAgIHZvaWQgcGxhY2VJbkZsb3dQb3NpdGlvbmVkQ2hpbGRyZW4odW5z
aWduZWQgZmlyc3RSdW5JbmRleCkgY29uc3Q7CiAKICAgICB2b2lkIGNvbGxlY3RJbmxpbmVDb250
ZW50KElubGluZVJ1blByb3ZpZGVyJikgY29uc3Q7Ci0gICAgdm9pZCBjb2xsZWN0SW5saW5lQ29u
dGVudEZvclN1YnRyZWUoY29uc3QgQm94JiByb290LCBJbmxpbmVSdW5Qcm92aWRlciYpIGNvbnN0
OwogICAgIEluc3RyaW5zaWNXaWR0aENvbnN0cmFpbnRzIGluc3RyaW5zaWNXaWR0aENvbnN0cmFp
bnRzKCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBJbmxpbmVGb3JtYXR0aW5nU3RhdGUmIGZvcm1h
dHRpbmdTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIGRvd25jYXN0PElubGluZUZvcm1hdHRpbmdTdGF0
ZT4oRm9ybWF0dGluZ0NvbnRleHQ6OmZvcm1hdHRpbmdTdGF0ZSgpKTsgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>