<?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>219523</bug_id>
          
          <creation_ts>2020-12-03 18:45:53 -0800</creation_ts>
          <short_desc>[LFC][IFC] Float positioning needs to happen while building the line</short_desc>
          <delta_ts>2020-12-04 05:49:18 -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>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>1711923</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-12-03 18:45:53 -0800</bug_when>
    <thetext>do not assume every float that fits the line is intrusive.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711925</commentid>
    <comment_count>1</comment_count>
      <attachid>415374</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-12-03 19:01:55 -0800</bug_when>
    <thetext>Created attachment 415374
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712002</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-12-04 05:48:36 -0800</bug_when>
    <thetext>Committed r270429: &lt;https://trac.webkit.org/changeset/270429&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 415374.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712003</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-12-04 05:49:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/71976766&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415374</attachid>
            <date>2020-12-03 19:01:55 -0800</date>
            <delta_ts>2020-12-04 05:48:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219523-20201203190155.patch</filename>
            <type>text/plain</type>
            <size>18854</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjE1YzI1MWNjZjFiN2Jj
OWUxZjIwODYxYmRiNjhmZDkxYzg0NDRlNy4uMmJkODg1OWIxYWY3Njc0ODNjYzdlMTFjZWFjMzAw
MzJmZjlhNTc5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIwLTEyLTAzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBGbG9hdCBw
b3NpdGlvbmluZyBuZWVkcyB0byBoYXBwZW4gd2hpbGUgYnVpbGRpbmcgdGhlIGxpbmUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTUyMworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaXMg
aW4gcHJlcGFyYXRpb24gZm9yIGNhc2VzIHdoZW4gdGhlIGZsb2F0IG1heSBmaXQgdGhlIGxpbmUg
YW5kIHdlIGFzc3VtZSBpdCdzIGludHJ1c2l2ZSBidXQgZHVlIHRvIGUuZy4gImNsZWFyIgorICAg
ICAgICBpdCBpcyBub3QgaW50ZXJzZWN0aW5nIHRoZSBsaW5lIGF0IGFsbC4KKyAgICAgICAgSW4g
b3JkZXIgdG8gZmlndXJlIG91dCB3aGV0aGVyIHRoZSBmbG9hdCBib3hlcyBpbnRlcnNlY3QgdGhl
IGN1cnJlbnQgbGluZSwgd2UgbmVlZCB0byBjb21wdXRlIHRoZWlyIHBvc2l0aW9uIGFzIHdlIGZp
bmQgdGhlbS4KKyAgICAgICAgSW4gdGhpcyBwYXRjaCB0aGUgZmxvYXQgcG9zaXRpb25pbmcgbG9n
aWMgaXMgbW92ZWQgb3ZlciB0byBMaW5lQnVpbGRlciAoZnJvbSB0aGUgbGluZSBwb3N0LXByb2Nl
c3NpbmcpIGFuZCBmbG9hdHMgYXJlIGFkZGVkCisgICAgICAgIHRvIHRoZSBGbG9hdGluZ1N0YXRl
IGFzIHdlIGVuY291bnRlciB0aGVtIHdoaWxlIGJ1aWxkaW5nIHRoZSBsaW5lLgorCisgICAgICAg
ICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6bGluZUxh
eW91dCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0
Ojpjb21wdXRlZEludHJpbnNpY1dpZHRoRm9yQ29uc3RyYWludCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlR2VvbWV0cnlG
b3JMaW5lQ29udGVudCk6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQuaDoKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9J
bmxpbmVMaW5lQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWls
ZGVyOjpMaW5lQnVpbGRlcik6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVy
OjpsYXlvdXRJbmxpbmVDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1
aWxkZXI6OmNvbXB1dGVkSW50cmluc2ljV2lkdGgpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpMaW5lQnVpbGRlcjo6aW5pdGlhbGl6ZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Okxp
bmVCdWlsZGVyOjpjb25zdHJhaW50c0ZvckxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpMaW5lQnVpbGRlcjo6aGFuZGxlRmxvYXRDb250ZW50KToKKyAgICAgICAgKiBsYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpMaW5lQnVpbGRlcjo6Zm9ybWF0dGluZ1N0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6TGluZUJ1aWxkZXI6OmZsb2F0aW5nU3RhdGUpOgorCiAyMDIwLTEyLTAyICBaYWxhbiBC
dWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBEZWNvdXBsZSBp
bmxpbmUgY29udGVudCBhbmQgZmxvYXQgaGFuZGxpbmcgaW4gTGluZUJ1aWxkZXIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRp
bmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lu
bGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAppbmRleCA4YTIyN2RiNTU0M2RiYjE4NmNiYzdkYjY4
MWY0YzYwOTllODk5MTBkLi5hMWVjZjRhMGJiODc1MTVhYjNhNTQ5YWQ5YTZhMWEwYzVlZTdhOWFi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGlu
ZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0xNDksMTAgKzE0OSwx
MSBAQCB2b2lkIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpsaW5lTGF5b3V0KElubGluZUl0ZW1z
JiBpbmxpbmVJdGVtcywgTGluZUJ1aWxkZXI6OgogICAgICAgICBzaXplX3Qgb3ZlcmZsb3dDb250
ZW50TGVuZ3RoIHsgMCB9OwogICAgIH07CiAgICAgT3B0aW9uYWw8UHJldmlvdXNMaW5lPiBwcmV2
aW91c0xpbmU7Ci0gICAgYXV0byBmbG9hdGluZ0NvbnRleHQgPSBGbG9hdGluZ0NvbnRleHQgeyAq
dGhpcywgZm9ybWF0dGluZ1N0YXRlKCkuZmxvYXRpbmdTdGF0ZSgpIH07CisgICAgYXV0byYgZmxv
YXRpbmdTdGF0ZSA9IGZvcm1hdHRpbmdTdGF0ZSgpLmZsb2F0aW5nU3RhdGUoKTsKKyAgICBhdXRv
IGZsb2F0aW5nQ29udGV4dCA9IEZsb2F0aW5nQ29udGV4dCB7ICp0aGlzLCBmbG9hdGluZ1N0YXRl
IH07CiAgICAgYXV0byBpc0ZpcnN0TGluZSA9IGZvcm1hdHRpbmdTdGF0ZSgpLmxpbmVzKCkuaXNF
bXB0eSgpOwogCi0gICAgYXV0byBsaW5lQnVpbGRlciA9IExpbmVCdWlsZGVyIHsgKnRoaXMsIGZs
b2F0aW5nQ29udGV4dCwgaW5saW5lSXRlbXMgfTsKKyAgICBhdXRvIGxpbmVCdWlsZGVyID0gTGlu
ZUJ1aWxkZXIgeyAqdGhpcywgZmxvYXRpbmdTdGF0ZSwgY29uc3RyYWludHMuaG9yaXpvbnRhbCwg
aW5saW5lSXRlbXMgfTsKICAgICB3aGlsZSAoIW5lZWRzTGF5b3V0UmFuZ2UuaXNFbXB0eSgpKSB7
CiAgICAgICAgIC8vIFR1cm4gcHJldmlvdXMgbGluZSdzIG92ZXJmbG93IGNvbnRlbnQgbGVuZ3Ro
IGludG8gdGhlIG5leHQgbGluZSdzIGxlYWRpbmcgY29udGVudCBwYXJ0aWFsIGxlbmd0aC4KICAg
ICAgICAgLy8gInNwWzwtbGluZSBicmVhay0+XWxpdF9jb250ZW50IiAtPiBvdmVyZmxvdyBsZW5n
dGg6IDExIC0+IGxlYWRpbmcgcGFydGlhbCBjb250ZW50IGxlbmd0aDogMTEuCkBAIC0yNjEsMTkg
KzI2MiwxOSBAQCBGb3JtYXR0aW5nQ29udGV4dDo6SW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBJ
bmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZWRJbgogSW5saW5lTGF5b3V0VW5pdCBJbmxp
bmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZWRJbnRyaW5zaWNXaWR0aEZvckNvbnN0cmFpbnQo
SW5saW5lTGF5b3V0VW5pdCBhdmFpbGFibGVXaWR0aCkgY29uc3QKIHsKICAgICBhdXRvJiBpbmxp
bmVJdGVtcyA9IGZvcm1hdHRpbmdTdGF0ZSgpLmlubGluZUl0ZW1zKCk7Ci0gICAgLy8gUHJlZmVy
cmVkIHdpZHRoIGNvbXB1dGF0aW9uIGlzIG5vdCBjb25zdHJhaW5lZCBieSBmbG9hdHMuIAotICAg
IGF1dG8gZmxvYXRpbmdTdGF0ZSA9IEZsb2F0aW5nU3RhdGU6OmNyZWF0ZShsYXlvdXRTdGF0ZSgp
LCByb290KCkpOwotICAgIGF1dG8gZmxvYXRpbmdDb250ZXh0ID0gRmxvYXRpbmdDb250ZXh0IHsg
KnRoaXMsIGZsb2F0aW5nU3RhdGUgfTsKLSAgICBhdXRvIGxpbmVCdWlsZGVyID0gTGluZUJ1aWxk
ZXIgeyAqdGhpcywgZmxvYXRpbmdDb250ZXh0LCBpbmxpbmVJdGVtcyB9OworICAgIGF1dG8gbGlu
ZUJ1aWxkZXIgPSBMaW5lQnVpbGRlciB7ICp0aGlzLCBpbmxpbmVJdGVtcyB9OwogICAgIGF1dG8g
bGF5b3V0UmFuZ2UgPSBMaW5lQnVpbGRlcjo6SW5saW5lSXRlbVJhbmdlIHsgMCAsIGlubGluZUl0
ZW1zLnNpemUoKSB9OwogICAgIGF1dG8gbWF4aW11bUxpbmVXaWR0aCA9IElubGluZUxheW91dFVu
aXQgeyB9OworICAgIGF1dG8gbWF4aW11bUZsb2F0V2lkdGggPSBMYXlvdXRVbml0IHsgfTsKICAg
ICB3aGlsZSAoIWxheW91dFJhbmdlLmlzRW1wdHkoKSkgewogICAgICAgICBhdXRvIGludHJpbnNp
Y0NvbnRlbnQgPSBsaW5lQnVpbGRlci5jb21wdXRlZEludHJpbnNpY1dpZHRoKGxheW91dFJhbmdl
LCBhdmFpbGFibGVXaWR0aCk7CiAgICAgICAgIGxheW91dFJhbmdlLnN0YXJ0ID0gaW50cmluc2lj
Q29udGVudC5pbmxpbmVJdGVtUmFuZ2UuZW5kOwotICAgICAgICAvLyBGSVhNRTogVXNlIGxpbmUg
bG9naWNhbCBsZWZ0IGFuZCByaWdodCB0byB0YWtlIGZsb2F0cyBpbnRvIGFjY291bnQuCiAgICAg
ICAgIG1heGltdW1MaW5lV2lkdGggPSBzdGQ6Om1heChtYXhpbXVtTGluZVdpZHRoLCBpbnRyaW5z
aWNDb250ZW50LmxvZ2ljYWxXaWR0aCk7CisgICAgICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBm
b3IgY2xlYXIuCisgICAgICAgIGZvciAoYXV0byogZmxvYXRCb3ggOiBpbnRyaW5zaWNDb250ZW50
LmZsb2F0cykKKyAgICAgICAgICAgIG1heGltdW1GbG9hdFdpZHRoICs9IGdlb21ldHJ5Rm9yQm94
KCpmbG9hdEJveCkubWFyZ2luQm94V2lkdGgoKTsKICAgICB9Ci0gICAgcmV0dXJuIG1heGltdW1M
aW5lV2lkdGg7CisgICAgcmV0dXJuIG1heGltdW1MaW5lV2lkdGggKyBtYXhpbXVtRmxvYXRXaWR0
aDsKIH0KIAogdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUludHJpbnNpY1dp
ZHRoRm9yRm9ybWF0dGluZ1Jvb3QoY29uc3QgQm94JiBmb3JtYXR0aW5nUm9vdCkKQEAgLTQxNCwy
MyArNDE1LDYgQEAgSW5saW5lUmVjdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUdl
b21ldHJ5Rm9yTGluZUNvbnRlbnQoY29uc3QgTGluZUJ1aWwKICAgICBjb25zdCBhdXRvJiBsaW5l
Qm94ID0gZm9ybWF0dGluZ1N0YXRlLmxpbmVCb3hlcygpLmxhc3QoKTsKICAgICBhdXRvJiBsaW5l
Qm94TG9naWNhbFJlY3QgPSBsaW5lQm94LmxvZ2ljYWxSZWN0KCk7CiAKLSAgICBhdXRvIHVwZGF0
ZUZsb2F0R2VvbWV0cnkgPSBbJl0gewotICAgICAgICBpZiAobGluZUNvbnRlbnQuZmxvYXRzLmlz
RW1wdHkoKSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgYXV0byYgZmxvYXRpbmdTdGF0
ZSA9IGZvcm1hdHRpbmdTdGF0ZS5mbG9hdGluZ1N0YXRlKCk7Ci0gICAgICAgIGF1dG8gZmxvYXRp
bmdDb250ZXh0ID0gRmxvYXRpbmdDb250ZXh0IHsgKnRoaXMsIGZsb2F0aW5nU3RhdGUgfTsKLSAg
ICAgICAgLy8gTW92ZSBmbG9hdHMgdG8gdGhlaXIgZmluYWwgcG9zaXRpb24uCi0gICAgICAgIGZv
ciAoYXV0byogZmxvYXRCb3ggOiBsaW5lQ29udGVudC5mbG9hdHMpIHsKLSAgICAgICAgICAgIGF1
dG8mIGJveEdlb21ldHJ5ID0gZm9ybWF0dGluZ1N0YXRlLmJveEdlb21ldHJ5KCpmbG9hdEJveCk7
Ci0gICAgICAgICAgICAvLyBTZXQgc3RhdGljIHBvc2l0aW9uIGZpcnN0LgotICAgICAgICAgICAg
Ym94R2VvbWV0cnkuc2V0TG9naWNhbFRvcExlZnQoeyBsaW5lQm94TG9naWNhbFJlY3QubGVmdCgp
LCBsaW5lQm94TG9naWNhbFJlY3QudG9wKCkgfSk7Ci0gICAgICAgICAgICAvLyBGbG9hdCBpdC4K
LSAgICAgICAgICAgIGJveEdlb21ldHJ5LnNldExvZ2ljYWxUb3BMZWZ0KGZsb2F0aW5nQ29udGV4
dC5wb3NpdGlvbkZvckZsb2F0KCpmbG9hdEJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRzKSk7Ci0g
ICAgICAgICAgICBmbG9hdGluZ1N0YXRlLmFwcGVuZChmbG9hdGluZ0NvbnRleHQudG9GbG9hdEl0
ZW0oKmZsb2F0Qm94KSk7Ci0gICAgICAgIH0KLSAgICB9OwotICAgIHVwZGF0ZUZsb2F0R2VvbWV0
cnkoKTsKLQogICAgIGF1dG8gY29uc3RydWN0TGluZVJ1bnMgPSBbJl0gewogICAgICAgICBhdXRv
IGxpbmVJbmRleCA9IGZvcm1hdHRpbmdTdGF0ZS5saW5lcygpLnNpemUoKTsKICAgICAgICAgLy8g
Q3JlYXRlIHRoZSBpbmxpbmUgcnVucyBvbiB0aGUgY3VycmVudCBsaW5lLiBUaGlzIGlzIG1vc3Rs
eSB0ZXh0IGFuZCBhdG9taWMgaW5saW5lIHJ1bnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQuaAppbmRleCAzOTdjN2FhZjUxNGJjYzgyOWM5MGNjZGNhZmI1NzliODFiMWZkODkyLi5hMmQ0
MGFkOTE0MTZhNGNmYTdhZTIwZWJmZDM5MjAxOGM3MDgxZDEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1h
dHRpbmdDb250ZXh0LmgKQEAgLTYxLDYgKzYxLDkgQEAgcHVibGljOgogICAgIH07CiAgICAgSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQ6OlF1aXJrcyBxdWlya3MoKSBjb25zdCB7IHJldHVybiBRdWly
a3MoKnRoaXMpOyB9CiAKKyAgICBjb25zdCBJbmxpbmVGb3JtYXR0aW5nU3RhdGUmIGZvcm1hdHRp
bmdTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIGRvd25jYXN0PElubGluZUZvcm1hdHRpbmdTdGF0ZT4o
Rm9ybWF0dGluZ0NvbnRleHQ6OmZvcm1hdHRpbmdTdGF0ZSgpKTsgfQorICAgIElubGluZUZvcm1h
dHRpbmdTdGF0ZSYgZm9ybWF0dGluZ1N0YXRlKCkgeyByZXR1cm4gZG93bmNhc3Q8SW5saW5lRm9y
bWF0dGluZ1N0YXRlPihGb3JtYXR0aW5nQ29udGV4dDo6Zm9ybWF0dGluZ1N0YXRlKCkpOyB9CisK
IHByaXZhdGU6CiAgICAgSW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBjb21wdXRlZEludHJpbnNp
Y1dpZHRoQ29uc3RyYWludHMoKSBvdmVycmlkZTsKIApAQCAtOTMsOSArOTYsNiBAQCBwcml2YXRl
OgogICAgIHZvaWQgY29sbGVjdElubGluZUNvbnRlbnRJZk5lZWRlZCgpOwogICAgIElubGluZVJl
Y3QgY29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVD
b250ZW50JiwgY29uc3QgSG9yaXpvbnRhbENvbnN0cmFpbnRzJik7CiAgICAgdm9pZCBpbnZhbGlk
YXRlRm9ybWF0dGluZ1N0YXRlKGNvbnN0IEludmFsaWRhdGlvblN0YXRlJik7Ci0KLSAgICBjb25z
dCBJbmxpbmVGb3JtYXR0aW5nU3RhdGUmIGZvcm1hdHRpbmdTdGF0ZSgpIGNvbnN0IHsgcmV0dXJu
IGRvd25jYXN0PElubGluZUZvcm1hdHRpbmdTdGF0ZT4oRm9ybWF0dGluZ0NvbnRleHQ6OmZvcm1h
dHRpbmdTdGF0ZSgpKTsgfQotICAgIElubGluZUZvcm1hdHRpbmdTdGF0ZSYgZm9ybWF0dGluZ1N0
YXRlKCkgeyByZXR1cm4gZG93bmNhc3Q8SW5saW5lRm9ybWF0dGluZ1N0YXRlPihGb3JtYXR0aW5n
Q29udGV4dDo6Zm9ybWF0dGluZ1N0YXRlKCkpOyB9CiB9OwogCiBpbmxpbmUgSW5saW5lRm9ybWF0
dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpHZW9tZXRyeShjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dCYgaW5saW5lRm9ybWF0dGluZ0NvbnRleHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5jcHAKaW5k
ZXggYzdmY2QwYWM0Y2QxZjVjMTY4NWM0YTdhYTFjOTk5NjM5ZjdkMjQwNS4uMjRmMWQzY2VmZjk2
ZjdhYTQ4MWI1NjRkY2Y5YTVmY2MxYTk5YmY0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmNwcApA
QCAtMjMwLDkgKzIzMCwxOCBAQCBJbmxpbmVMYXlvdXRVbml0IExpbmVCdWlsZGVyOjppbmxpbmVJ
dGVtV2lkdGgoY29uc3QgSW5saW5lSXRlbSYgaW5saW5lSXRlbSwgSW5saQogICAgIHJldHVybiBi
b3hHZW9tZXRyeS5tYXJnaW5Cb3hXaWR0aCgpOwogfQogCi1MaW5lQnVpbGRlcjo6TGluZUJ1aWxk
ZXIoY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQmIGlubGluZUZvcm1hdHRpbmdDb250ZXh0
LCBjb25zdCBGbG9hdGluZ0NvbnRleHQmIGZsb2F0aW5nQ29udGV4dCwgY29uc3QgSW5saW5lSXRl
bXMmIGlubGluZUl0ZW1zKQorTGluZUJ1aWxkZXI6OkxpbmVCdWlsZGVyKElubGluZUZvcm1hdHRp
bmdDb250ZXh0JiBpbmxpbmVGb3JtYXR0aW5nQ29udGV4dCwgRmxvYXRpbmdTdGF0ZSYgZmxvYXRp
bmdTdGF0ZSwgSG9yaXpvbnRhbENvbnN0cmFpbnRzIHJvb3RIb3Jpem9udGFsQ29uc3RyYWludHMs
IGNvbnN0IElubGluZUl0ZW1zJiBpbmxpbmVJdGVtcykKKyAgICA6IG1faW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQoaW5saW5lRm9ybWF0dGluZ0NvbnRleHQpCisgICAgLCBtX2lubGluZUZvcm1hdHRp
bmdTdGF0ZSgmaW5saW5lRm9ybWF0dGluZ0NvbnRleHQuZm9ybWF0dGluZ1N0YXRlKCkpCisgICAg
LCBtX2Zsb2F0aW5nU3RhdGUoJmZsb2F0aW5nU3RhdGUpCisgICAgLCBtX3Jvb3RIb3Jpem9udGFs
Q29uc3RyYWludHMocm9vdEhvcml6b250YWxDb25zdHJhaW50cykKKyAgICAsIG1fbGluZShpbmxp
bmVGb3JtYXR0aW5nQ29udGV4dCkKKyAgICAsIG1faW5saW5lSXRlbXMoaW5saW5lSXRlbXMpCit7
Cit9CisKK0xpbmVCdWlsZGVyOjpMaW5lQnVpbGRlcihjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dCYgaW5saW5lRm9ybWF0dGluZ0NvbnRleHQsIGNvbnN0IElubGluZUl0ZW1zJiBpbmxpbmVJ
dGVtcykKICAgICA6IG1faW5saW5lRm9ybWF0dGluZ0NvbnRleHQoaW5saW5lRm9ybWF0dGluZ0Nv
bnRleHQpCi0gICAgLCBtX2Zsb2F0aW5nQ29udGV4dChmbG9hdGluZ0NvbnRleHQpCiAgICAgLCBt
X2xpbmUoaW5saW5lRm9ybWF0dGluZ0NvbnRleHQpCiAgICAgLCBtX2lubGluZUl0ZW1zKGlubGlu
ZUl0ZW1zKQogewpAQCAtMjQ2LDcgKzI1NSw3IEBAIExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCBM
aW5lQnVpbGRlcjo6bGF5b3V0SW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmCiAg
ICAgYXV0byBjb21taXR0ZWRDb250ZW50ID0gcGxhY2VJbmxpbmVDb250ZW50KG5lZWRzTGF5b3V0
UmFuZ2UsIHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCk7CiAgICAgYXV0byBjb21taXR0ZWRS
YW5nZSA9IGNsb3NlKG5lZWRzTGF5b3V0UmFuZ2UsIGNvbW1pdHRlZENvbnRlbnQpOwogCi0gICAg
YXV0byBsaW5lTG9naWNhbFRvcExlZnQgPSBJbmxpbmVMYXlvdXRQb2ludCB7IHVzZWRDb25zdHJh
aW50cy5sb2dpY2FsTGVmdCwgaW5pdGlhbENvbnN0cmFpbnRzRm9yTGluZS50b3AoKSB9OworICAg
IGF1dG8gbGluZUxvZ2ljYWxUb3BMZWZ0ID0gdXNlZENvbnN0cmFpbnRzLmxvZ2ljYWxUb3BMZWZ0
OwogICAgIGF1dG8gaXNMYXN0TGluZSA9IGlzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudChjb21t
aXR0ZWRSYW5nZSwgbmVlZHNMYXlvdXRSYW5nZS5lbmQsIGNvbW1pdHRlZENvbnRlbnQucGFydGlh
bFRyYWlsaW5nQ29udGVudExlbmd0aCk7CiAgICAgcmV0dXJuIExpbmVDb250ZW50IHsgY29tbWl0
dGVkUmFuZ2UsIGNvbW1pdHRlZENvbnRlbnQucGFydGlhbFRyYWlsaW5nQ29udGVudExlbmd0aCwg
bV9mbG9hdHMsIG1fY29udGVudElzQ29uc3RyYWluZWRCeUZsb2F0CiAgICAgICAgICwgbGluZUxv
Z2ljYWxUb3BMZWZ0CkBAIC0yNjIsNyArMjcxLDcgQEAgTGluZUJ1aWxkZXI6OkludHJpbnNpY0Nv
bnRlbnQgTGluZUJ1aWxkZXI6OmNvbXB1dGVkSW50cmluc2ljV2lkdGgoY29uc3QgSW5saW5lSXQK
ICAgICBpbml0aWFsaXplKHsgeyB9LCBhdmFpbGFibGVXaWR0aCwgZmFsc2UgfSk7CiAgICAgYXV0
byBjb21taXR0ZWRDb250ZW50ID0gcGxhY2VJbmxpbmVDb250ZW50KG5lZWRzTGF5b3V0UmFuZ2Us
IHsgfSk7CiAgICAgYXV0byBjb21taXR0ZWRSYW5nZSA9IGNsb3NlKG5lZWRzTGF5b3V0UmFuZ2Us
IGNvbW1pdHRlZENvbnRlbnQpOwotICAgIHJldHVybiB7IGNvbW1pdHRlZFJhbmdlLCBtX2xpbmUu
Y29udGVudExvZ2ljYWxXaWR0aCgpIH07CisgICAgcmV0dXJuIHsgY29tbWl0dGVkUmFuZ2UsIG1f
bGluZS5jb250ZW50TG9naWNhbFdpZHRoKCksIG1fZmxvYXRzIH07CiB9CiAKIHZvaWQgTGluZUJ1
aWxkZXI6OmluaXRpYWxpemUoY29uc3QgVXNlZENvbnN0cmFpbnRzJiBsaW5lQ29uc3RyYWludHMp
CkBAIC0yNzQsNiArMjgzLDcgQEAgdm9pZCBMaW5lQnVpbGRlcjo6aW5pdGlhbGl6ZShjb25zdCBV
c2VkQ29uc3RyYWludHMmIGxpbmVDb25zdHJhaW50cykKICAgICBtX2xpbmUuaW5pdGlhbGl6ZSgp
OwogICAgIG1fY29udGVudElzQ29uc3RyYWluZWRCeUZsb2F0ID0gbGluZUNvbnN0cmFpbnRzLmlz
Q29uc3RyYWluZWRCeUZsb2F0OwogICAgIG1faG9yaXpvbnRhbFNwYWNlRm9yTGluZSA9IGxpbmVD
b25zdHJhaW50cy5sb2dpY2FsV2lkdGg7IAorICAgIG1fbGluZUxvZ2ljYWxUb3BMZWZ0ID0gbGlu
ZUNvbnN0cmFpbnRzLmxvZ2ljYWxUb3BMZWZ0OwogfQogCiBMaW5lQnVpbGRlcjo6Q29tbWl0dGVk
Q29udGVudCBMaW5lQnVpbGRlcjo6cGxhY2VJbmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1S
YW5nZSYgbmVlZHNMYXlvdXRSYW5nZSwgc2l6ZV90IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0
aCkKQEAgLTM2MCwyOCArMzcwLDMxIEBAIExpbmVCdWlsZGVyOjpVc2VkQ29uc3RyYWludHMgTGlu
ZUJ1aWxkZXI6OmNvbnN0cmFpbnRzRm9yTGluZShjb25zdCBJbmxpbmVSZWN0JiBsCiAgICAgYXV0
byBsaW5lSXNDb25zdHJhaW5lZEJ5RmxvYXQgPSBmYWxzZTsKIAogICAgIC8vIENoZWNrIGZvciBp
bnRydWRpbmcgZmxvYXRzIGFuZCBhZGp1c3QgbG9naWNhbCBsZWZ0L2F2YWlsYWJsZSB3aWR0aCBm
b3IgdGhpcyBsaW5lIGFjY29yZGluZ2x5LgotICAgIGlmICghbV9mbG9hdGluZ0NvbnRleHQuaXNF
bXB0eSgpKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgdmFyaWFibGUgbGlu
ZSBoZWlnaHQsIHdoZXJlIHRoZSBmbG9hdHMgc2hvdWxkIGJlIHByb2JlZCBhcyB0aGUgbGluZSBo
ZWlnaHQgZ3Jvd3MuCi0gICAgICAgIGF1dG8gZmxvYXRDb25zdHJhaW50cyA9IG1fZmxvYXRpbmdD
b250ZXh0LmNvbnN0cmFpbnRzKHRvTGF5b3V0VW5pdChsaW5lTG9naWNhbFRvcCksIHRvTGF5b3V0
VW5pdChsaW5lTG9naWNhbFRvcCArIGxpbmVMb2dpY2FsQ29uc3RyYWludHMuaGVpZ2h0KCkpKTsK
LSAgICAgICAgLy8gQ2hlY2sgaWYgdGhlc2UgdmFsdWVzIGFjdHVhbGx5IGNvbnN0cmFpbiB0aGUg
bGluZS4KLSAgICAgICAgaWYgKGZsb2F0Q29uc3RyYWludHMubGVmdCAmJiBmbG9hdENvbnN0cmFp
bnRzLmxlZnQtPnggPD0gbGluZUxvZ2ljYWxMZWZ0KQotICAgICAgICAgICAgZmxvYXRDb25zdHJh
aW50cy5sZWZ0ID0geyB9OwotCi0gICAgICAgIGlmIChmbG9hdENvbnN0cmFpbnRzLnJpZ2h0ICYm
IGZsb2F0Q29uc3RyYWludHMucmlnaHQtPnggPj0gbGluZUxvZ2ljYWxSaWdodCkKLSAgICAgICAg
ICAgIGZsb2F0Q29uc3RyYWludHMucmlnaHQgPSB7IH07Ci0KLSAgICAgICAgbGluZUlzQ29uc3Ry
YWluZWRCeUZsb2F0ID0gZmxvYXRDb25zdHJhaW50cy5sZWZ0IHx8IGZsb2F0Q29uc3RyYWludHMu
cmlnaHQ7Ci0KLSAgICAgICAgaWYgKGZsb2F0Q29uc3RyYWludHMubGVmdCAmJiBmbG9hdENvbnN0
cmFpbnRzLnJpZ2h0KSB7Ci0gICAgICAgICAgICBBU1NFUlQoZmxvYXRDb25zdHJhaW50cy5sZWZ0
LT54IDw9IGZsb2F0Q29uc3RyYWludHMucmlnaHQtPngpOwotICAgICAgICAgICAgbGluZUxvZ2lj
YWxSaWdodCA9IGZsb2F0Q29uc3RyYWludHMucmlnaHQtPng7Ci0gICAgICAgICAgICBsaW5lTG9n
aWNhbExlZnQgPSBmbG9hdENvbnN0cmFpbnRzLmxlZnQtPng7Ci0gICAgICAgIH0gZWxzZSBpZiAo
ZmxvYXRDb25zdHJhaW50cy5sZWZ0KSB7Ci0gICAgICAgICAgICBBU1NFUlQoZmxvYXRDb25zdHJh
aW50cy5sZWZ0LT54ID49IGxpbmVMb2dpY2FsTGVmdCk7Ci0gICAgICAgICAgICBsaW5lTG9naWNh
bExlZnQgPSBmbG9hdENvbnN0cmFpbnRzLmxlZnQtPng7Ci0gICAgICAgIH0gZWxzZSBpZiAoZmxv
YXRDb25zdHJhaW50cy5yaWdodCkgewotICAgICAgICAgICAgLy8gUmlnaHQgZmxvYXQgYm94ZXMg
bWF5IG92ZXJmbG93IHRoZSBjb250YWluaW5nIGJsb2NrIG9uIHRoZSBsZWZ0LgotICAgICAgICAg
ICAgbGluZUxvZ2ljYWxSaWdodCA9IHN0ZDo6bWF4PElubGluZUxheW91dFVuaXQ+KGxpbmVMb2dp
Y2FsTGVmdCwgZmxvYXRDb25zdHJhaW50cy5yaWdodC0+eCk7CisgICAgaWYgKGF1dG8qIGZsb2F0
aW5nU3RhdGUgPSB0aGlzLT5mbG9hdGluZ1N0YXRlKCkpIHsKKyAgICAgICAgYXV0byBmbG9hdGlu
Z0NvbnRleHQgPSBGbG9hdGluZ0NvbnRleHQgeyBmb3JtYXR0aW5nQ29udGV4dCgpLCAqZmxvYXRp
bmdTdGF0ZSB9OworICAgICAgICBpZiAoIWZsb2F0aW5nQ29udGV4dC5pc0VtcHR5KCkpIHsKKyAg
ICAgICAgICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgdmFyaWFibGUgbGluZSBoZWlnaHQs
IHdoZXJlIHRoZSBmbG9hdHMgc2hvdWxkIGJlIHByb2JlZCBhcyB0aGUgbGluZSBoZWlnaHQgZ3Jv
d3MuCisgICAgICAgICAgICBhdXRvIGZsb2F0Q29uc3RyYWludHMgPSBmbG9hdGluZ0NvbnRleHQu
Y29uc3RyYWludHModG9MYXlvdXRVbml0KGxpbmVMb2dpY2FsVG9wKSwgdG9MYXlvdXRVbml0KGxp
bmVMb2dpY2FsVG9wICsgbGluZUxvZ2ljYWxDb25zdHJhaW50cy5oZWlnaHQoKSkpOworICAgICAg
ICAgICAgLy8gQ2hlY2sgaWYgdGhlc2UgdmFsdWVzIGFjdHVhbGx5IGNvbnN0cmFpbiB0aGUgbGlu
ZS4KKyAgICAgICAgICAgIGlmIChmbG9hdENvbnN0cmFpbnRzLmxlZnQgJiYgZmxvYXRDb25zdHJh
aW50cy5sZWZ0LT54IDw9IGxpbmVMb2dpY2FsTGVmdCkKKyAgICAgICAgICAgICAgICBmbG9hdENv
bnN0cmFpbnRzLmxlZnQgPSB7IH07CisKKyAgICAgICAgICAgIGlmIChmbG9hdENvbnN0cmFpbnRz
LnJpZ2h0ICYmIGZsb2F0Q29uc3RyYWludHMucmlnaHQtPnggPj0gbGluZUxvZ2ljYWxSaWdodCkK
KyAgICAgICAgICAgICAgICBmbG9hdENvbnN0cmFpbnRzLnJpZ2h0ID0geyB9OworCisgICAgICAg
ICAgICBsaW5lSXNDb25zdHJhaW5lZEJ5RmxvYXQgPSBmbG9hdENvbnN0cmFpbnRzLmxlZnQgfHwg
ZmxvYXRDb25zdHJhaW50cy5yaWdodDsKKworICAgICAgICAgICAgaWYgKGZsb2F0Q29uc3RyYWlu
dHMubGVmdCAmJiBmbG9hdENvbnN0cmFpbnRzLnJpZ2h0KSB7CisgICAgICAgICAgICAgICAgQVNT
RVJUKGZsb2F0Q29uc3RyYWludHMubGVmdC0+eCA8PSBmbG9hdENvbnN0cmFpbnRzLnJpZ2h0LT54
KTsKKyAgICAgICAgICAgICAgICBsaW5lTG9naWNhbFJpZ2h0ID0gZmxvYXRDb25zdHJhaW50cy5y
aWdodC0+eDsKKyAgICAgICAgICAgICAgICBsaW5lTG9naWNhbExlZnQgPSBmbG9hdENvbnN0cmFp
bnRzLmxlZnQtPng7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGZsb2F0Q29uc3RyYWludHMubGVm
dCkgeworICAgICAgICAgICAgICAgIEFTU0VSVChmbG9hdENvbnN0cmFpbnRzLmxlZnQtPnggPj0g
bGluZUxvZ2ljYWxMZWZ0KTsKKyAgICAgICAgICAgICAgICBsaW5lTG9naWNhbExlZnQgPSBmbG9h
dENvbnN0cmFpbnRzLmxlZnQtPng7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGZsb2F0Q29uc3Ry
YWludHMucmlnaHQpIHsKKyAgICAgICAgICAgICAgICAvLyBSaWdodCBmbG9hdCBib3hlcyBtYXkg
b3ZlcmZsb3cgdGhlIGNvbnRhaW5pbmcgYmxvY2sgb24gdGhlIGxlZnQuCisgICAgICAgICAgICAg
ICAgbGluZUxvZ2ljYWxSaWdodCA9IHN0ZDo6bWF4PElubGluZUxheW91dFVuaXQ+KGxpbmVMb2dp
Y2FsTGVmdCwgZmxvYXRDb25zdHJhaW50cy5yaWdodC0+eCk7CisgICAgICAgICAgICB9CiAgICAg
ICAgIH0KICAgICB9CiAKQEAgLTQyMyw3ICs0MzYsNyBAQCBMaW5lQnVpbGRlcjo6VXNlZENvbnN0
cmFpbnRzIExpbmVCdWlsZGVyOjpjb25zdHJhaW50c0ZvckxpbmUoY29uc3QgSW5saW5lUmVjdCYg
bAogICAgICAgICByZXR1cm4geyBtaW5pbXVtVmFsdWVGb3JMZW5ndGgodGV4dEluZGVudCwgbGlu
ZUxvZ2ljYWxDb25zdHJhaW50cy53aWR0aCgpKSB9OwogICAgIH07CiAgICAgbGluZUxvZ2ljYWxM
ZWZ0ICs9IGNvbXB1dGVkVGV4dEluZGVudCgpOwotICAgIHJldHVybiBVc2VkQ29uc3RyYWludHMg
eyBsaW5lTG9naWNhbExlZnQsIGxpbmVMb2dpY2FsUmlnaHQgLSBsaW5lTG9naWNhbExlZnQsIGxp
bmVJc0NvbnN0cmFpbmVkQnlGbG9hdCB9OworICAgIHJldHVybiBVc2VkQ29uc3RyYWludHMgeyB7
IGxpbmVMb2dpY2FsTGVmdCwgbGluZUxvZ2ljYWxUb3AgfSwgbGluZUxvZ2ljYWxSaWdodCAtIGxp
bmVMb2dpY2FsTGVmdCwgbGluZUlzQ29uc3RyYWluZWRCeUZsb2F0IH07CiB9CiAKIHZvaWQgTGlu
ZUJ1aWxkZXI6OmNhbmRpZGF0ZUNvbnRlbnRGb3JMaW5lKExpbmVDYW5kaWRhdGUmIGxpbmVDYW5k
aWRhdGUsIHNpemVfdCBjdXJyZW50SW5saW5lSXRlbUluZGV4LCBjb25zdCBJbmxpbmVJdGVtUmFu
Z2UmIGxheW91dFJhbmdlLCBzaXplX3QgcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBJbmxp
bmVMYXlvdXRVbml0IGN1cnJlbnRMb2dpY2FsUmlnaHQpCkBAIC01MzksNiArNTUyLDIwIEBAIExp
bmVCdWlsZGVyOjpSZXN1bHQgTGluZUJ1aWxkZXI6OmhhbmRsZUZsb2F0Q29udGVudChjb25zdCBJ
bmxpbmVJdGVtJiBmbG9hdEl0ZW0pCiAgICAgYXV0byYgZmxvYXRCb3ggPSBmbG9hdEl0ZW0ubGF5
b3V0Qm94KCk7CiAgICAgbV9mbG9hdHMuYXBwZW5kKCZmbG9hdEJveCk7CiAgICAgbV9jb250ZW50
SXNDb25zdHJhaW5lZEJ5RmxvYXQgPSB0cnVlOworCisgICAgaWYgKGF1dG8qIGZsb2F0aW5nU3Rh
dGUgPSB0aGlzLT5mbG9hdGluZ1N0YXRlKCkpIHsKKyAgICAgICAgQVNTRVJUKGZvcm1hdHRpbmdT
dGF0ZSgpKTsKKyAgICAgICAgYXV0byYgYm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nU3RhdGUoKS0+
Ym94R2VvbWV0cnkoZmxvYXRCb3gpOworICAgICAgICAvLyBTZXQgc3RhdGljIHBvc2l0aW9uIGZp
cnN0LgorICAgICAgICBib3hHZW9tZXRyeS5zZXRMb2dpY2FsVG9wTGVmdChMYXlvdXRQb2ludCB7
IG1fbGluZUxvZ2ljYWxUb3BMZWZ0IH0pOworICAgICAgICAvLyBGbG9hdCBpdC4KKyAgICAgICAg
QVNTRVJUKG1fcm9vdEhvcml6b250YWxDb25zdHJhaW50cyk7CisgICAgICAgIGF1dG8gZmxvYXRp
bmdDb250ZXh0ID0gRmxvYXRpbmdDb250ZXh0IHsgZm9ybWF0dGluZ0NvbnRleHQoKSwgKmZsb2F0
aW5nU3RhdGUgfTsKKyAgICAgICAgYXV0byBmbG9hdGluZ1Bvc2l0aW9uID0gZmxvYXRpbmdDb250
ZXh0LnBvc2l0aW9uRm9yRmxvYXQoZmxvYXRCb3gsICptX3Jvb3RIb3Jpem9udGFsQ29uc3RyYWlu
dHMpOworICAgICAgICBib3hHZW9tZXRyeS5zZXRMb2dpY2FsVG9wTGVmdChmbG9hdGluZ1Bvc2l0
aW9uKTsKKyAgICAgICAgZmxvYXRpbmdTdGF0ZS0+YXBwZW5kKGZsb2F0aW5nQ29udGV4dC50b0Zs
b2F0SXRlbShmbG9hdEJveCkpOworICAgIH0KKwogICAgIGlmIChmbG9hdEJveC5pc0xlZnRGbG9h
dGluZ1Bvc2l0aW9uZWQoKSkKICAgICAgICAgbV9saW5lLm1vdmVMb2dpY2FsTGVmdChmbG9hdEJv
eFdpZHRoKTsKICAgICBtX2hvcml6b250YWxTcGFjZUZvckxpbmUgLT0gZmxvYXRCb3hXaWR0aDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGlu
ZUxpbmVCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9J
bmxpbmVMaW5lQnVpbGRlci5oCmluZGV4IDJiYjAwOWU3M2NjNGY1MDAzNjdkN2IzY2M5NTFmODU2
MmEwNzE0ZDguLjdmYzdkZGMzZjk4ZmFhMjUzMDA5ZDc1MjEzNDg2Y2ZmYTY5NzU5Y2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVC
dWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5s
aW5lTGluZUJ1aWxkZXIuaApAQCAtMzksNyArMzksOCBAQCBzdHJ1Y3QgTGluZUNhbmRpZGF0ZTsK
IAogY2xhc3MgTGluZUJ1aWxkZXIgewogcHVibGljOgotICAgIExpbmVCdWlsZGVyKGNvbnN0IElu
bGluZUZvcm1hdHRpbmdDb250ZXh0JiwgY29uc3QgRmxvYXRpbmdDb250ZXh0JiwgY29uc3QgSW5s
aW5lSXRlbXMmKTsKKyAgICBMaW5lQnVpbGRlcihJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYsIEZs
b2F0aW5nU3RhdGUmLCBIb3Jpem9udGFsQ29uc3RyYWludHMgcm9vdEhvcml6b250YWxDb25zdHJh
aW50cywgY29uc3QgSW5saW5lSXRlbXMmKTsKKyAgICBMaW5lQnVpbGRlcihjb25zdCBJbmxpbmVG
b3JtYXR0aW5nQ29udGV4dCYsIGNvbnN0IElubGluZUl0ZW1zJik7CiAKICAgICBzdHJ1Y3QgSW5s
aW5lSXRlbVJhbmdlIHsKICAgICAgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeyByZXR1cm4gc3Rh
cnQgPT0gZW5kOyB9CkBAIC00NywxMCArNDgsMTAgQEAgcHVibGljOgogICAgICAgICBzaXplX3Qg
c3RhcnQgeyAwIH07CiAgICAgICAgIHNpemVfdCBlbmQgeyAwIH07CiAgICAgfTsKKyAgICB1c2lu
ZyBGbG9hdExpc3QgPSBWZWN0b3I8Y29uc3QgQm94Kj47CiAgICAgc3RydWN0IExpbmVDb250ZW50
IHsKICAgICAgICAgSW5saW5lSXRlbVJhbmdlIGlubGluZUl0ZW1SYW5nZTsKICAgICAgICAgc2l6
ZV90IHBhcnRpYWxUcmFpbGluZ0NvbnRlbnRMZW5ndGggeyAwIH07Ci0gICAgICAgIHVzaW5nIEZs
b2F0TGlzdCA9IFZlY3Rvcjxjb25zdCBCb3gqPjsKICAgICAgICAgY29uc3QgRmxvYXRMaXN0JiBm
bG9hdHM7CiAgICAgICAgIGJvb2wgaGFzSW50cnVzaXZlRmxvYXQgeyBmYWxzZSB9OwogICAgICAg
ICBJbmxpbmVMYXlvdXRQb2ludCBsb2dpY2FsVG9wTGVmdDsKQEAgLTY1LDYgKzY2LDcgQEAgcHVi
bGljOgogICAgIHN0cnVjdCBJbnRyaW5zaWNDb250ZW50IHsKICAgICAgICAgSW5saW5lSXRlbVJh
bmdlIGlubGluZUl0ZW1SYW5nZTsKICAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lk
dGggeyAwIH07CisgICAgICAgIGNvbnN0IEZsb2F0TGlzdCYgZmxvYXRzOwogICAgIH07CiAgICAg
SW50cmluc2ljQ29udGVudCBjb21wdXRlZEludHJpbnNpY1dpZHRoKGNvbnN0IElubGluZUl0ZW1S
YW5nZSYsIElubGluZUxheW91dFVuaXQgYXZhaWxhYmxlV2lkdGgpOwogCkBAIC04Miw3ICs4NCw3
IEBAIHByaXZhdGU6CiAgICAgICAgIHNpemVfdCBwYXJ0aWFsVHJhaWxpbmdDb250ZW50TGVuZ3Ro
IHsgMCB9OwogICAgIH07CiAgICAgc3RydWN0IFVzZWRDb25zdHJhaW50cyB7Ci0gICAgICAgIElu
bGluZUxheW91dFVuaXQgbG9naWNhbExlZnQgeyAwIH07CisgICAgICAgIElubGluZUxheW91dFBv
aW50IGxvZ2ljYWxUb3BMZWZ0OwogICAgICAgICBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxXaWR0
aCB7IDAgfTsKICAgICAgICAgYm9vbCBpc0NvbnN0cmFpbmVkQnlGbG9hdCB7IGZhbHNlIH07CiAg
ICAgfTsKQEAgLTEwNCwxNSArMTA2LDIxIEBAIHByaXZhdGU6CiAgICAgYm9vbCBpc0xhc3RMaW5l
V2l0aElubGluZUNvbnRlbnQoY29uc3QgSW5saW5lSXRlbVJhbmdlJiBsaW5lUmFuZ2UsIHNpemVf
dCBsYXN0SW5saW5lSXRlbUluZGV4LCBib29sIGhhc1BhcnRpYWxUcmFpbGluZ0NvbnRlbnQpIGNv
bnN0OwogCiAgICAgY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQmIGZvcm1hdHRpbmdDb250
ZXh0KCkgY29uc3QgeyByZXR1cm4gbV9pbmxpbmVGb3JtYXR0aW5nQ29udGV4dDsgfQorICAgIElu
bGluZUZvcm1hdHRpbmdTdGF0ZSogZm9ybWF0dGluZ1N0YXRlKCkgeyByZXR1cm4gbV9pbmxpbmVG
b3JtYXR0aW5nU3RhdGU7IH0KKyAgICBGbG9hdGluZ1N0YXRlKiBmbG9hdGluZ1N0YXRlKCkgeyBy
ZXR1cm4gbV9mbG9hdGluZ1N0YXRlOyB9CiAgICAgY29uc3QgQ29udGFpbmVyQm94JiByb290KCkg
Y29uc3Q7CiAgICAgY29uc3QgTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlKCkgY29uc3Q7CiAKICAg
ICBjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYgbV9pbmxpbmVGb3JtYXR0aW5nQ29udGV4
dDsKLSAgICBjb25zdCBGbG9hdGluZ0NvbnRleHQmIG1fZmxvYXRpbmdDb250ZXh0OworICAgIElu
bGluZUZvcm1hdHRpbmdTdGF0ZSogbV9pbmxpbmVGb3JtYXR0aW5nU3RhdGUgeyBudWxscHRyIH07
CisgICAgRmxvYXRpbmdTdGF0ZSogbV9mbG9hdGluZ1N0YXRlIHsgbnVsbHB0ciB9OworICAgIE9w
dGlvbmFsPEhvcml6b250YWxDb25zdHJhaW50cz4gbV9yb290SG9yaXpvbnRhbENvbnN0cmFpbnRz
OworCiAgICAgTGluZSBtX2xpbmU7CisgICAgSW5saW5lTGF5b3V0UG9pbnQgbV9saW5lTG9naWNh
bFRvcExlZnQ7CiAgICAgSW5saW5lTGF5b3V0VW5pdCBtX2hvcml6b250YWxTcGFjZUZvckxpbmUg
eyAwIH07CiAgICAgY29uc3QgSW5saW5lSXRlbXMmIG1faW5saW5lSXRlbXM7Ci0gICAgTGluZUNv
bnRlbnQ6OkZsb2F0TGlzdCBtX2Zsb2F0czsKKyAgICBGbG9hdExpc3QgbV9mbG9hdHM7CiAgICAg
T3B0aW9uYWw8SW5saW5lVGV4dEl0ZW0+IG1fcGFydGlhbExlYWRpbmdUZXh0SXRlbTsKICAgICBW
ZWN0b3I8Y29uc3QgSW5saW5lSXRlbSo+IG1fd3JhcE9wcG9ydHVuaXR5TGlzdDsKICAgICB1bnNp
Z25lZCBtX3N1Y2Nlc3NpdmVIeXBoZW5hdGVkTGluZUNvdW50IHsgMCB9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>