<?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>202121</bug_id>
          
          <creation_ts>2019-09-23 15:51:50 -0700</creation_ts>
          <short_desc>[LFC][IFC] Move line constraints computation to a dedicated function</short_desc>
          <delta_ts>2019-09-24 07:40:06 -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>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>1573449</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-09-23 15:51:50 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573450</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-23 15:52:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/55640742&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573453</commentid>
    <comment_count>2</comment_count>
      <attachid>379400</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-09-23 15:55:03 -0700</bug_when>
    <thetext>Created attachment 379400
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573651</commentid>
    <comment_count>3</comment_count>
      <attachid>379400</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-24 07:40:04 -0700</bug_when>
    <thetext>Comment on attachment 379400
Patch

Clearing flags on attachment: 379400

Committed r250297: &lt;https://trac.webkit.org/changeset/250297&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573652</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-24 07:40:06 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379400</attachid>
            <date>2019-09-23 15:55:03 -0700</date>
            <delta_ts>2019-09-24 07:40:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202121-20190923155455.patch</filename>
            <type>text/plain</type>
            <size>12774</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMjQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjgyZjA0NGY0Yjc1MDlh
YmQ2ZGE0N2FlODE1M2RiMjFkNmJhNDJhMi4uZTllOTI2N2M3M2RhNWI2MjhkYmY1MTk1YWYzZWNi
OWU2NTBiMzBlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTA5LTIzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBNb3ZlIGxp
bmUgY29uc3RyYWludHMgY29tcHV0YXRpb24gdG8gYSBkZWRpY2F0ZWQgZnVuY3Rpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjEyMQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNTU2NDA3NDI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGlu
ZUZvcm1hdHRpbmdDb250ZXh0TGluZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkxpbmVMYXlvdXQ6OkxpbmVMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpM
aW5lTGF5b3V0OjpjbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVMYXlvdXQ6
OnBsYWNlSW5saW5lSXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1h
dHRpbmdDb250ZXh0OjpJbmxpbmVMYXlvdXQ6OmxheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0OjpJbmxpbmVMYXlvdXQ6OmluaXRpYWxDb25z
dHJhaW50c0ZvckxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0
aW5nQ29udGV4dDo6SW5saW5lTGF5b3V0Ojpjb21wdXRlZEludHJpbnNpY1dpZHRoIGNvbnN0KToK
KyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lLmg6CisKIDIwMTkt
MDktMjMgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCBXaW5DYWlyby9GVFcgQnVpbGQgZml4IGFmdGVyIHIyNTAxOTIuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5n
Q29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQuaAppbmRleCA2Y2NmMTg4ZDkyODYwMGJlMzg4YWM3MjNiYzk0OGZj
OGEzOWI5YTMyLi5mOTQ2NWUzY2M5M2Q3MjJiNzNjZjhlMmNjNjNkMTQ3ZjdkM2YxMzg3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0
aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmgKQEAgLTU4LDYgKzU4LDggQEAgcHJpdmF0ZToK
ICAgICAgICAgTGF5b3V0VW5pdCBjb21wdXRlZEludHJpbnNpY1dpZHRoKGNvbnN0IElubGluZUl0
ZW1zJikgY29uc3Q7CiAKICAgICBwcml2YXRlOgorICAgICAgICBMaW5lOjpJbml0aWFsQ29uc3Ry
YWludHMgaW5pdGlhbENvbnN0cmFpbnRzRm9yTGluZShjb25zdCBMYXlvdXRVbml0IGxpbmVMb2dp
Y2FsVG9wKTsKKwogICAgICAgICBMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUoKSBjb25zdCB7IHJl
dHVybiBtX2lubGluZUZvcm1hdHRpbmdDb250ZXh0LmxheW91dFN0YXRlKCk7IH0KICAgICAgICAg
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQmIGZvcm1hdHRpbmdDb250ZXh0KCkgY29uc3QgeyByZXR1
cm4gbV9pbmxpbmVGb3JtYXR0aW5nQ29udGV4dDsgfQogICAgICAgICBjb25zdCBDb250YWluZXIm
IGZvcm1hdHRpbmdSb290KCkgY29uc3QgeyByZXR1cm4gbV9pbmxpbmVGb3JtYXR0aW5nQ29udGV4
dC5yb290KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3Jt
YXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0TGluZUxheW91dC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dExpbmVM
YXlvdXQuY3BwCmluZGV4IGY2MmU3ZmM0OGE2MjM2Y2ZiZTdjZmM2NTkwNTkzZjgwMGY1MzAxMzcu
LjFhZTVmMzAzYTgyMjgwMmJmNmZhNWQ5YTI0YjgwMWU2MTg1OWVmYjQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250
ZXh0TGluZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRMaW5lTGF5b3V0LmNwcApAQCAtMTMyLDcgKzEz
Miw3IEBAIHByaXZhdGU6CiAgICAgY29uc3QgTGluZUlucHV0JiBtX2xpbmVJbnB1dDsKICAgICBM
aW5lIG1fbGluZTsKICAgICBMaW5lQnJlYWtlciBtX2xpbmVCcmVha2VyOwotICAgIGJvb2wgbV9s
aW5lSGFzRmxvYXRCb3ggeyBmYWxzZSB9OworICAgIGJvb2wgbV9saW5lSGFzSW50cnVzaXZlRmxv
YXQgeyBmYWxzZSB9OwogICAgIFVuY29tbWl0dGVkQ29udGVudCBtX3VuY29tbWl0dGVkQ29udGVu
dDsKICAgICB1bnNpZ25lZCBtX2NvbW1pdHRlZElubGluZUl0ZW1Db3VudCB7IDAgfTsKICAgICBW
ZWN0b3I8V2Vha1B0cjxJbmxpbmVJdGVtPj4gbV9mbG9hdHM7CkBAIC0xNTYsNyArMTU2LDcgQEAg
TGluZUxheW91dDo6TGluZUxheW91dChjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYgaW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQsIGMKICAgICA6IG1faW5saW5lRm9ybWF0dGluZ0NvbnRleHQo
aW5saW5lRm9ybWF0dGluZ0NvbnRleHQpCiAgICAgLCBtX2xpbmVJbnB1dChsaW5lSW5wdXQpCiAg
ICAgLCBtX2xpbmUoaW5saW5lRm9ybWF0dGluZ0NvbnRleHQsIGxpbmVJbnB1dC5pbml0aWFsQ29u
c3RyYWludHMsIGxpbmVJbnB1dC5za2lwVmVydGljYWxBbGlnbWVudCkKLSAgICAsIG1fbGluZUhh
c0Zsb2F0Qm94KGxpbmVJbnB1dC5mbG9hdE1pbmltdW1Mb2dpY2FsQm90dG9tLmhhc1ZhbHVlKCkp
CisgICAgLCBtX2xpbmVIYXNJbnRydXNpdmVGbG9hdChsaW5lSW5wdXQuaW5pdGlhbENvbnN0cmFp
bnRzLmxpbmVJc0NvbnN0cmFpbmVkQnlGbG9hdCkKIHsKIH0KIApAQCAtMTcyLDcgKzE3Miw3IEBA
IHZvaWQgTGluZUxheW91dDo6Y29tbWl0UGVuZGluZ0NvbnRlbnQoKQogCiBMaW5lQ29udGVudCBM
aW5lTGF5b3V0OjpjbG9zZSgpCiB7Ci0gICAgQVNTRVJUKG1fY29tbWl0dGVkSW5saW5lSXRlbUNv
dW50IHx8IG1fbGluZUhhc0Zsb2F0Qm94KTsKKyAgICBBU1NFUlQobV9jb21taXR0ZWRJbmxpbmVJ
dGVtQ291bnQgfHwgbV9saW5lSGFzSW50cnVzaXZlRmxvYXQpOwogICAgIGlmICghbV9jb21taXR0
ZWRJbmxpbmVJdGVtQ291bnQpCiAgICAgICAgIHJldHVybiBMaW5lQ29udGVudCB7IFdURjo6bnVs
bG9wdCwgV1RGTW92ZShtX2Zsb2F0cyksIG1fbGluZS5jbG9zZSgpIH07CiAKQEAgLTE5Miw3ICsx
OTIsNyBAQCBMaW5lTGF5b3V0OjpJc0VuZE9mTGluZSBMaW5lTGF5b3V0OjpwbGFjZUlubGluZUl0
ZW0oY29uc3QgSW5saW5lSXRlbSYgaW5saW5lSXRlbQogICAgIGF1dG8gaXRlbUxvZ2ljYWxXaWR0
aCA9IGlubGluZUl0ZW1XaWR0aChmb3JtYXR0aW5nQ29udGV4dCgpLCBpbmxpbmVJdGVtLCBjdXJy
ZW50TG9naWNhbFJpZ2h0KTsKIAogICAgIC8vIEZJWE1FOiBFbnN1cmUgTGluZUNvbnRleHQ6OnRy
aW1tYWJsZVdpZHRoIGluY2x1ZGVzIHVuY29tbWl0dGVkIGNvbnRlbnQgaWYgbmVlZGVkLgotICAg
IGF1dG8gbGluZUlzQ29uc2lkZXJlZEVtcHR5ID0gIW1fbGluZS5oYXNDb250ZW50KCkgJiYgIW1f
bGluZUhhc0Zsb2F0Qm94OworICAgIGF1dG8gbGluZUlzQ29uc2lkZXJlZEVtcHR5ID0gIW1fbGlu
ZS5oYXNDb250ZW50KCkgJiYgIW1fbGluZUhhc0ludHJ1c2l2ZUZsb2F0OwogICAgIGF1dG8gYnJl
YWtpbmdDb250ZXh0ID0gbV9saW5lQnJlYWtlci5icmVha2luZ0NvbnRleHQoaW5saW5lSXRlbSwg
aXRlbUxvZ2ljYWxXaWR0aCwgeyBhdmFpbGFibGVXaWR0aCwgY3VycmVudExvZ2ljYWxSaWdodCwg
bV9saW5lLnRyYWlsaW5nVHJpbW1hYmxlV2lkdGgoKSwgbGluZUlzQ29uc2lkZXJlZEVtcHR5IH0p
OwogICAgIGlmIChicmVha2luZ0NvbnRleHQuaXNBdEJyZWFraW5nT3Bwb3J0dW5pdHkpCiAgICAg
ICAgIGNvbW1pdFBlbmRpbmdDb250ZW50KCk7CkBAIC0yMjIsNyArMjIyLDcgQEAgTGluZUxheW91
dDo6SXNFbmRPZkxpbmUgTGluZUxheW91dDo6cGxhY2VJbmxpbmVJdGVtKGNvbnN0IElubGluZUl0
ZW0mIGlubGluZUl0ZW0KICAgICAgICAgZmxvYXRCb3guaXNMZWZ0RmxvYXRpbmdQb3NpdGlvbmVk
KCkgPyBtX2xpbmUubW92ZUxvZ2ljYWxMZWZ0KGZsb2F0Qm94V2lkdGgpIDogbV9saW5lLm1vdmVM
b2dpY2FsUmlnaHQoZmxvYXRCb3hXaWR0aCk7CiAgICAgICAgIG1fZmxvYXRzLmFwcGVuZChtYWtl
V2Vha1B0cihpbmxpbmVJdGVtKSk7CiAgICAgICAgICsrbV9jb21taXR0ZWRJbmxpbmVJdGVtQ291
bnQ7Ci0gICAgICAgIG1fbGluZUhhc0Zsb2F0Qm94ID0gdHJ1ZTsKKyAgICAgICAgbV9saW5lSGFz
SW50cnVzaXZlRmxvYXQgPSB0cnVlOwogICAgICAgICByZXR1cm4gSXNFbmRPZkxpbmU6Ok5vOwog
ICAgIH0KIApAQCAtMjc3LDMzICsyNzcsNTMgQEAgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6Oklu
bGluZUxheW91dDo6SW5saW5lTGF5b3V0KElubGluZUZvcm1hdHRpbmdDb250ZXh0JiBpbmwKIAog
dm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6SW5saW5lTGF5b3V0OjpsYXlvdXQoY29uc3Qg
SW5saW5lSXRlbXMmIGlubGluZUl0ZW1zKQogewotICAgIGF1dG8mIGZvcm1hdHRpbmdDb250ZXh0
ID0gdGhpcy0+Zm9ybWF0dGluZ0NvbnRleHQoKTsKLSAgICBhdXRvJiBmb3JtYXR0aW5nUm9vdCA9
IHRoaXMtPmZvcm1hdHRpbmdSb290KCk7Ci0gICAgYXV0byYgZm9ybWF0dGluZ1Jvb3RHZW9tZXRy
eSA9IGZvcm1hdHRpbmdDb250ZXh0Lmdlb21ldHJ5Rm9yQm94KGZvcm1hdHRpbmdSb290KTsKLSAg
ICBhdXRvIGZsb2F0aW5nQ29udGV4dCA9IEZsb2F0aW5nQ29udGV4dCB7IGZvcm1hdHRpbmdSb290
LCBmb3JtYXR0aW5nQ29udGV4dCwgZm9ybWF0dGluZ1N0YXRlKCkuZmxvYXRpbmdTdGF0ZSgpIH07
Ci0KLSAgICBhdXRvIGxpbmVMb2dpY2FsVG9wID0gZm9ybWF0dGluZ1Jvb3RHZW9tZXRyeS5jb250
ZW50Qm94VG9wKCk7Ci0gICAgYXV0byBsaW5lTG9naWNhbExlZnQgPSBmb3JtYXR0aW5nUm9vdEdl
b21ldHJ5LmNvbnRlbnRCb3hMZWZ0KCk7Ci0KLSAgICBhdXRvIGFwcGx5RmxvYXRDb25zdHJhaW50
ID0gWyZdKGF1dG8mIGxpbmVJbnB1dCkgewotICAgICAgICAvLyBDaGVjayBmb3IgaW50cnVkaW5n
IGZsb2F0cyBhbmQgYWRqdXN0IGxvZ2ljYWwgbGVmdC9hdmFpbGFibGUgd2lkdGggZm9yIHRoaXMg
bGluZSBhY2NvcmRpbmdseS4KLSAgICAgICAgaWYgKGZsb2F0aW5nQ29udGV4dC5pc0VtcHR5KCkp
Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGF1dG8gYXZhaWxhYmxlV2lkdGggPSBsaW5l
SW5wdXQuaW5pdGlhbENvbnN0cmFpbnRzLmF2YWlsYWJsZUxvZ2ljYWxXaWR0aDsKLSAgICAgICAg
YXV0byBsaW5lTG9naWNhbExlZnQgPSBsaW5lSW5wdXQuaW5pdGlhbENvbnN0cmFpbnRzLmxvZ2lj
YWxUb3BMZWZ0LngoKTsKKyAgICBhdXRvIGxpbmVMb2dpY2FsVG9wID0gZm9ybWF0dGluZ0NvbnRl
eHQoKS5nZW9tZXRyeUZvckJveChmb3JtYXR0aW5nUm9vdCgpKS5jb250ZW50Qm94VG9wKCk7Cisg
ICAgSW5kZXhBbmRSYW5nZSBjdXJyZW50SW5saW5lSXRlbTsKKyAgICB3aGlsZSAoY3VycmVudElu
bGluZUl0ZW0uaW5kZXggPCBpbmxpbmVJdGVtcy5zaXplKCkpIHsKKyAgICAgICAgYXV0byBsaW5l
SW5wdXQgPSBMaW5lSW5wdXQgeyBpbml0aWFsQ29uc3RyYWludHNGb3JMaW5lKGxpbmVMb2dpY2Fs
VG9wKSwgTGluZTo6U2tpcFZlcnRpY2FsQWxpZ21lbnQ6Ok5vLCBjdXJyZW50SW5saW5lSXRlbSwg
aW5saW5lSXRlbXMgfTsKKyAgICAgICAgYXV0byBsaW5lTGF5b3V0ID0gTGluZUxheW91dCB7IGZv
cm1hdHRpbmdDb250ZXh0KCksIGxpbmVJbnB1dCB9OworCisgICAgICAgIGF1dG8gbGluZUNvbnRl
bnQgPSBsaW5lTGF5b3V0LmxheW91dCgpOworICAgICAgICBjcmVhdGVEaXNwbGF5UnVucygqbGlu
ZUNvbnRlbnQucnVucywgbGluZUNvbnRlbnQuZmxvYXRzKTsKKworICAgICAgICBpZiAobGluZUNv
bnRlbnQubGFzdENvbW1pdHRlZCkgeworICAgICAgICAgICAgY3VycmVudElubGluZUl0ZW0gPSB7
IGxpbmVDb250ZW50Lmxhc3RDb21taXR0ZWQtPmluZGV4ICsgMSwgV1RGOjpudWxsb3B0IH07Cisg
ICAgICAgICAgICBsaW5lTG9naWNhbFRvcCA9IGxpbmVDb250ZW50LnJ1bnMtPmxvZ2ljYWxCb3R0
b20oKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8vIEZsb2F0cyBwcmV2ZW50ZWQg
dXMgcGxhY2luZyBhbnkgY29udGVudCBvbiB0aGUgbGluZS4KKyAgICAgICAgICAgIEFTU0VSVChs
aW5lSW5wdXQuaW5pdGlhbENvbnN0cmFpbnRzLmxpbmVJc0NvbnN0cmFpbmVkQnlGbG9hdCk7Cisg
ICAgICAgICAgICBBU1NFUlQobGluZUNvbnRlbnQucnVucy0+aXNFbXB0eSgpKTsKKyAgICAgICAg
ICAgIC8vIE1vdmUgdGhlIG5leHQgbGluZSBiZWxvdyB0aGUgaW50cnVzaXZlIGZsb2F0LgorICAg
ICAgICAgICAgYXV0byBmbG9hdGluZ0NvbnRleHQgPSBGbG9hdGluZ0NvbnRleHQgeyBmb3JtYXR0
aW5nUm9vdCgpLCBmb3JtYXR0aW5nQ29udGV4dCgpLCBmb3JtYXR0aW5nU3RhdGUoKS5mbG9hdGlu
Z1N0YXRlKCkgfTsKKyAgICAgICAgICAgIGF1dG8gZmxvYXRDb25zdHJhaW50cyA9IGZsb2F0aW5n
Q29udGV4dC5jb25zdHJhaW50cyh7IGxpbmVMb2dpY2FsVG9wIH0pOworICAgICAgICAgICAgQVNT
RVJUKGZsb2F0Q29uc3RyYWludHMubGVmdCB8fCBmbG9hdENvbnN0cmFpbnRzLnJpZ2h0KTsKKyAg
ICAgICAgICAgIHN0YXRpYyBhdXRvIGluaWZpdGVQb2ludCA9IFBvaW50SW5Db250ZXh0Um9vdDo6
bWF4KCk7CisgICAgICAgICAgICAvLyBJbiBjYXNlIG9mIGxlZnQgYW5kIHJpZ2h0IGNvbnN0cmFp
bnRzLCB3ZSBuZWVkIHRvIHBpY2sgdGhlIG9uZSB0aGF0J3MgY2xvc2VyIHRvIHRoZSBjdXJyZW50
IGxpbmUuCisgICAgICAgICAgICBsaW5lTG9naWNhbFRvcCA9IHN0ZDo6bWluKGZsb2F0Q29uc3Ry
YWludHMubGVmdC52YWx1ZU9yKGluaWZpdGVQb2ludCkueSwgZmxvYXRDb25zdHJhaW50cy5yaWdo
dC52YWx1ZU9yKGluaWZpdGVQb2ludCkueSk7CisgICAgICAgICAgICBBU1NFUlQobGluZUxvZ2lj
YWxUb3AgPCBpbmlmaXRlUG9pbnQueSk7CisgICAgICAgIH0KKyAgICB9Cit9CisKK0xpbmU6Oklu
aXRpYWxDb25zdHJhaW50cyBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6SW5saW5lTGF5b3V0Ojpp
bml0aWFsQ29uc3RyYWludHNGb3JMaW5lKGNvbnN0IExheW91dFVuaXQgbGluZUxvZ2ljYWxUb3Ap
Cit7CisgICAgYXV0byBsaW5lTG9naWNhbExlZnQgPSBmb3JtYXR0aW5nQ29udGV4dCgpLmdlb21l
dHJ5Rm9yQm94KGZvcm1hdHRpbmdSb290KCkpLmNvbnRlbnRCb3hMZWZ0KCk7CisgICAgYXV0byBh
dmFpbGFibGVXaWR0aCA9IHdpZHRoQ29uc3RyYWludCgpOworICAgIGF1dG8gbGluZUlzQ29uc3Ry
YWluZWRCeUZsb2F0ID0gZmFsc2U7CisKKyAgICBhdXRvIGZsb2F0aW5nQ29udGV4dCA9IEZsb2F0
aW5nQ29udGV4dCB7IGZvcm1hdHRpbmdSb290KCksIGZvcm1hdHRpbmdDb250ZXh0KCksIGZvcm1h
dHRpbmdTdGF0ZSgpLmZsb2F0aW5nU3RhdGUoKSB9OworICAgIC8vIENoZWNrIGZvciBpbnRydWRp
bmcgZmxvYXRzIGFuZCBhZGp1c3QgbG9naWNhbCBsZWZ0L2F2YWlsYWJsZSB3aWR0aCBmb3IgdGhp
cyBsaW5lIGFjY29yZGluZ2x5LgorICAgIGlmICghZmxvYXRpbmdDb250ZXh0LmlzRW1wdHkoKSkg
ewogICAgICAgICBhdXRvIGZsb2F0Q29uc3RyYWludHMgPSBmbG9hdGluZ0NvbnRleHQuY29uc3Ry
YWludHMoeyBsaW5lTG9naWNhbFRvcCB9KTsKICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlc2UgY29u
c3RyYWludHMgYWN0dWFsbHkgcHV0IGxpbWl0YXRpb24gb24gdGhlIGxpbmUuCi0gICAgICAgIGlm
IChmbG9hdENvbnN0cmFpbnRzLmxlZnQgJiYgZmxvYXRDb25zdHJhaW50cy5sZWZ0LT54IDw9IGZv
cm1hdHRpbmdSb290R2VvbWV0cnkuY29udGVudEJveExlZnQoKSkKKyAgICAgICAgaWYgKGZsb2F0
Q29uc3RyYWludHMubGVmdCAmJiBmbG9hdENvbnN0cmFpbnRzLmxlZnQtPnggPD0gbGluZUxvZ2lj
YWxMZWZ0KQogICAgICAgICAgICAgZmxvYXRDb25zdHJhaW50cy5sZWZ0ID0geyB9OwogCi0gICAg
ICAgIGlmIChmbG9hdENvbnN0cmFpbnRzLnJpZ2h0ICYmIGZsb2F0Q29uc3RyYWludHMucmlnaHQt
PnggPj0gZm9ybWF0dGluZ1Jvb3RHZW9tZXRyeS5jb250ZW50Qm94UmlnaHQoKSkKKyAgICAgICAg
YXV0byBsaW5lTG9naWNhbFJpZ2h0ID0gZm9ybWF0dGluZ0NvbnRleHQoKS5nZW9tZXRyeUZvckJv
eChmb3JtYXR0aW5nUm9vdCgpKS5jb250ZW50Qm94UmlnaHQoKTsKKyAgICAgICAgaWYgKGZsb2F0
Q29uc3RyYWludHMucmlnaHQgJiYgZmxvYXRDb25zdHJhaW50cy5yaWdodC0+eCA+PSBsaW5lTG9n
aWNhbFJpZ2h0KQogICAgICAgICAgICAgZmxvYXRDb25zdHJhaW50cy5yaWdodCA9IHsgfTsKIAot
ICAgICAgICAvLyBTZXQgdGhlIG1pbmltdW0gZmxvYXQgYm90dG9tIHZhbHVlIGFzIGEgaGludCBm
b3IgdGhlIG5leHQgbGluZSBpZiBuZWVkZWQuCi0gICAgICAgIHN0YXRpYyBhdXRvIGluaWZpdGVQ
b2ludCA9IFBvaW50SW5Db250ZXh0Um9vdDo6bWF4KCk7Ci0gICAgICAgIGF1dG8gZmxvYXRNaW5p
bXVtTG9naWNhbEJvdHRvbSA9IHN0ZDo6bWluKGZsb2F0Q29uc3RyYWludHMubGVmdC52YWx1ZU9y
KGluaWZpdGVQb2ludCkueSwgZmxvYXRDb25zdHJhaW50cy5yaWdodC52YWx1ZU9yKGluaWZpdGVQ
b2ludCkueSk7Ci0gICAgICAgIGlmIChmbG9hdE1pbmltdW1Mb2dpY2FsQm90dG9tICE9IGluaWZp
dGVQb2ludC55KQotICAgICAgICAgICAgbGluZUlucHV0LmZsb2F0TWluaW11bUxvZ2ljYWxCb3R0
b20gPSBmbG9hdE1pbmltdW1Mb2dpY2FsQm90dG9tOworICAgICAgICBsaW5lSXNDb25zdHJhaW5l
ZEJ5RmxvYXQgPSBmbG9hdENvbnN0cmFpbnRzLmxlZnQgfHwgZmxvYXRDb25zdHJhaW50cy5yaWdo
dDsKIAogICAgICAgICBpZiAoZmxvYXRDb25zdHJhaW50cy5sZWZ0ICYmIGZsb2F0Q29uc3RyYWlu
dHMucmlnaHQpIHsKICAgICAgICAgICAgIEFTU0VSVChmbG9hdENvbnN0cmFpbnRzLmxlZnQtPngg
PD0gZmxvYXRDb25zdHJhaW50cy5yaWdodC0+eCk7CkBAIC0zMTcsMjcgKzMzNyw4IEBAIHZvaWQg
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OklubGluZUxheW91dDo6bGF5b3V0KGNvbnN0IElubGlu
ZUl0ZW1zJiBpbmxpbmVJdGVtCiAgICAgICAgICAgICBBU1NFUlQoZmxvYXRDb25zdHJhaW50cy5y
aWdodC0+eCA+PSBsaW5lTG9naWNhbExlZnQpOwogICAgICAgICAgICAgYXZhaWxhYmxlV2lkdGgg
PSBmbG9hdENvbnN0cmFpbnRzLnJpZ2h0LT54IC0gbGluZUxvZ2ljYWxMZWZ0OwogICAgICAgICB9
Ci0gICAgICAgIGxpbmVJbnB1dC5pbml0aWFsQ29uc3RyYWludHMuYXZhaWxhYmxlTG9naWNhbFdp
ZHRoID0gYXZhaWxhYmxlV2lkdGg7Ci0gICAgICAgIGxpbmVJbnB1dC5pbml0aWFsQ29uc3RyYWlu
dHMubG9naWNhbFRvcExlZnQuc2V0WChsaW5lTG9naWNhbExlZnQpOwotICAgIH07Ci0KLSAgICBJ
bmRleEFuZFJhbmdlIGN1cnJlbnRJbmxpbmVJdGVtOwotICAgIGF1dG8gcXVpcmtzID0gZm9ybWF0
dGluZ0NvbnRleHQucXVpcmtzKCk7Ci0gICAgd2hpbGUgKGN1cnJlbnRJbmxpbmVJdGVtLmluZGV4
IDwgaW5saW5lSXRlbXMuc2l6ZSgpKSB7Ci0gICAgICAgIGF1dG8gbGluZUlucHV0ID0gTGluZUlu
cHV0IHsgeyB7IGxpbmVMb2dpY2FsTGVmdCwgbGluZUxvZ2ljYWxUb3AgfSwgd2lkdGhDb25zdHJh
aW50KCksIHF1aXJrcy5saW5lSGVpZ2h0Q29uc3RyYWludHMoZm9ybWF0dGluZ1Jvb3QpIH0sIExp
bmU6OlNraXBWZXJ0aWNhbEFsaWdtZW50OjpObywgY3VycmVudElubGluZUl0ZW0sIGlubGluZUl0
ZW1zIH07Ci0gICAgICAgIGFwcGx5RmxvYXRDb25zdHJhaW50KGxpbmVJbnB1dCk7Ci0gICAgICAg
IGF1dG8gbGluZUNvbnRlbnQgPSBMaW5lTGF5b3V0KGZvcm1hdHRpbmdDb250ZXh0LCBsaW5lSW5w
dXQpLmxheW91dCgpOwotICAgICAgICBjcmVhdGVEaXNwbGF5UnVucygqbGluZUNvbnRlbnQucnVu
cywgbGluZUNvbnRlbnQuZmxvYXRzKTsKLSAgICAgICAgaWYgKCFsaW5lQ29udGVudC5sYXN0Q29t
bWl0dGVkKSB7Ci0gICAgICAgICAgICAvLyBGbG9hdHMgcHJldmVudGVkIHVzIHB1dHRpbmcgYW55
IGNvbnRlbnQgb24gdGhlIGxpbmUuCi0gICAgICAgICAgICBBU1NFUlQobGluZUlucHV0LmZsb2F0
TWluaW11bUxvZ2ljYWxCb3R0b20pOwotICAgICAgICAgICAgQVNTRVJUKGxpbmVDb250ZW50LnJ1
bnMtPmlzRW1wdHkoKSk7Ci0gICAgICAgICAgICBsaW5lTG9naWNhbFRvcCA9ICpsaW5lSW5wdXQu
ZmxvYXRNaW5pbXVtTG9naWNhbEJvdHRvbTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
IGN1cnJlbnRJbmxpbmVJdGVtID0geyBsaW5lQ29udGVudC5sYXN0Q29tbWl0dGVkLT5pbmRleCAr
IDEsIFdURjo6bnVsbG9wdCB9OwotICAgICAgICAgICAgbGluZUxvZ2ljYWxUb3AgPSBsaW5lQ29u
dGVudC5ydW5zLT5sb2dpY2FsQm90dG9tKCk7Ci0gICAgICAgIH0KICAgICB9CisgICAgcmV0dXJu
IExpbmU6OkluaXRpYWxDb25zdHJhaW50cyB7IHsgbGluZUxvZ2ljYWxMZWZ0LCBsaW5lTG9naWNh
bFRvcCB9LCBhdmFpbGFibGVXaWR0aCwgbGluZUlzQ29uc3RyYWluZWRCeUZsb2F0LCBmb3JtYXR0
aW5nQ29udGV4dCgpLnF1aXJrcygpLmxpbmVIZWlnaHRDb25zdHJhaW50cyhmb3JtYXR0aW5nUm9v
dCgpKSB9OwogfQogCiBMYXlvdXRVbml0IElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpJbmxpbmVM
YXlvdXQ6OmNvbXB1dGVkSW50cmluc2ljV2lkdGgoY29uc3QgSW5saW5lSXRlbXMmIGlubGluZUl0
ZW1zKSBjb25zdApAQCAtMzQ3LDcgKzM0OCw3IEBAIExheW91dFVuaXQgSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQ6OklubGluZUxheW91dDo6Y29tcHV0ZWRJbnRyaW5zaWNXaWR0aChjb25zdCBJCiAg
ICAgSW5kZXhBbmRSYW5nZSBjdXJyZW50SW5saW5lSXRlbTsKICAgICBhdXRvIHF1aXJrcyA9IGZv
cm1hdHRpbmdDb250ZXh0LnF1aXJrcygpOwogICAgIHdoaWxlIChjdXJyZW50SW5saW5lSXRlbS5p
bmRleCA8IGlubGluZUl0ZW1zLnNpemUoKSkgewotICAgICAgICBhdXRvIGxpbmVDb250ZW50ID0g
TGluZUxheW91dChmb3JtYXR0aW5nQ29udGV4dCwgeyB7IHsgfSwgd2lkdGhDb25zdHJhaW50KCks
IHF1aXJrcy5saW5lSGVpZ2h0Q29uc3RyYWludHMoZm9ybWF0dGluZ1Jvb3QoKSkgfSwgTGluZTo6
U2tpcFZlcnRpY2FsQWxpZ21lbnQ6OlllcywgY3VycmVudElubGluZUl0ZW0sIGlubGluZUl0ZW1z
IH0pLmxheW91dCgpOworICAgICAgICBhdXRvIGxpbmVDb250ZW50ID0gTGluZUxheW91dChmb3Jt
YXR0aW5nQ29udGV4dCwgeyB7IHsgfSwgd2lkdGhDb25zdHJhaW50KCksIGZhbHNlLCBxdWlya3Mu
bGluZUhlaWdodENvbnN0cmFpbnRzKGZvcm1hdHRpbmdSb290KCkpIH0sIExpbmU6OlNraXBWZXJ0
aWNhbEFsaWdtZW50OjpZZXMsIGN1cnJlbnRJbmxpbmVJdGVtLCBpbmxpbmVJdGVtcyB9KS5sYXlv
dXQoKTsKICAgICAgICAgY3VycmVudElubGluZUl0ZW0gPSB7IGxpbmVDb250ZW50Lmxhc3RDb21t
aXR0ZWQtPmluZGV4ICsgMSwgV1RGOjpudWxsb3B0IH07CiAgICAgICAgIExheW91dFVuaXQgZmxv
YXRzV2lkdGg7CiAgICAgICAgIGZvciAoYXV0byYgZmxvYXRJdGVtIDogbGluZUNvbnRlbnQuZmxv
YXRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcv
SW5saW5lTGluZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5s
aW5lTGluZS5oCmluZGV4IGM3N2FlM2VhYTFhZWRlMmYzZmYwNzVmMGUwNjViZDFlNWM0YTk0ZjMu
Ljc3ZjQ3MWZmYzUwN2RlNjc5OTA1YzA4YzFiNzJkOWQyMzUyZWM4YTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lLmgKQEAgLTQz
LDYgKzQzLDcgQEAgcHVibGljOgogICAgIHN0cnVjdCBJbml0aWFsQ29uc3RyYWludHMgewogICAg
ICAgICBMYXlvdXRQb2ludCBsb2dpY2FsVG9wTGVmdDsKICAgICAgICAgTGF5b3V0VW5pdCBhdmFp
bGFibGVMb2dpY2FsV2lkdGg7CisgICAgICAgIGJvb2wgbGluZUlzQ29uc3RyYWluZWRCeUZsb2F0
IHsgZmFsc2UgfTsKICAgICAgICAgc3RydWN0IEhlaWdodEFuZEJhc2VsaW5lIHsKICAgICAgICAg
ICAgIExheW91dFVuaXQgaGVpZ2h0OwogICAgICAgICAgICAgTGF5b3V0VW5pdCBiYXNlbGluZU9m
ZnNldDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>