<?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>208448</bug_id>
          
          <creation_ts>2020-03-02 07:44:09 -0800</creation_ts>
          <short_desc>[BFC][MarginCollapsing] Sometimes precomputed margin values are just plain wrong.</short_desc>
          <delta_ts>2020-03-02 10:00:08 -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>1624546</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-03-02 07:44:09 -0800</bug_when>
    <thetext>and we should re-layout the subtree to get the vertical position correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624547</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-02 07:44:26 -0800</bug_when>
    <thetext>&lt;rdar://problem/59950390&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624556</commentid>
    <comment_count>2</comment_count>
      <attachid>392143</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-03-02 08:24:42 -0800</bug_when>
    <thetext>Created attachment 392143
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624583</commentid>
    <comment_count>3</comment_count>
      <attachid>392143</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-02 10:00:06 -0800</bug_when>
    <thetext>Comment on attachment 392143
Patch

Clearing flags on attachment: 392143

Committed r257718: &lt;https://trac.webkit.org/changeset/257718&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624584</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-02 10:00:08 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392143</attachid>
            <date>2020-03-02 08:24:42 -0800</date>
            <delta_ts>2020-03-02 10:00:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208448-20200302082441.patch</filename>
            <type>text/plain</type>
            <size>17516</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3NTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmNlM2VjZmI0OTlmMzZl
YWRjZWQ3NmU4MjcyN2M0YTUwMDQ1Yzg4OS4uZTcxYTQ3ZmM0NmQ4NzUyNDQxOTYxZTE4OWYxNzVh
NzIyMGE0ODVmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIwLTAzLTAyICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0JGQ11bTWFyZ2luQ29sbGFw
c2luZ10gU29tZXRpbWVzIHByZWNvbXB1dGVkIG1hcmdpbiB2YWx1ZXMgYXJlIGp1c3QgcGxhaW4g
d3JvbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDg0NDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU5OTUwMzkwPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvbnNpZGVyIHRoZSBmb2xsb3dpbmcg
Y29udGVudDoKKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQiPjwvZGl2PgorICAgICAg
ICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDEwMHB4Ij4KKyAgICAgICAgICA8ZGl2IHN0eWxlPSJmbG9h
dDogbGVmdCI+PC9kaXY+CisgICAgICAgICAgPGRpdj4KKyAgICAgICAgICAgIDxzcGFuIHN0eWxl
PSJ3aGl0ZS1zcGFjZTogcHJlIj4gIDwvc3Bhbj4KKyAgICAgICAgICA8L2Rpdj4KKyAgICAgICAg
ICA8ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOiAzMjBweDsiPjwvZGl2PgorICAgICAgICAgPC9k
aXY+CisgICAgICAgIDwvZGl2PgorCisgICAgICAgIEluIG9yZGVyIHRvIGNvbXB1dGUgdGhlIHBv
c2l0aW9uIG9mIHRoZSBzZWNvbmQgZmxvYXQgd2UgbmVlZCBiZSBhYmxlIHRvIGludGVyc2VjdCBp
dCB3aXRoIGFsbAorICAgICAgICB0aGUgb3RoZXIgZmxvYXRzIGluIHRoZSBzYW1lIGZsb2F0aW5n
IGNvbnRleHQuIFRoZSBmbG9hdCBwb3NpdGlvbmluZyBzdGFydHMgd2l0aCB0aGUgYm94J3Mgc3Rh
dGljIHZlcnRpY2FsIHBvc2l0aW9uCisgICAgICAgIHdoaWNoIGlzIHRoZSBwb3NpdGlvbiB0aGUg
Ym94IHdvdWxkIGJlIHRha2luZyBpZiBpdCB3YXNuJ3QgZmxvYXRpbmcgcG9zaXRpb25lZC4KKyAg
ICAgICAgVGhpcyB2ZXJ0aWNhbCBwb3NpdGlvbiBuZWVkcyB0byBiZSBpbiB0aGUgc2FtZSBjb29y
ZGluYXRlIHN5c3RlbSBhcyBhbGwgdGhlIG90aGVyIGZsb2F0cyB0byBiZSBhYmxlIHRvIGludGVy
c2VjdCBwcm9wZXJseS4KKyAgICAgICAgVGhlIGNvb3JkaW5hdGUgc3lzdGVtIGlzIHRoZSBmb3Jt
YXR0aW5nIHJvb3QncyBjb250ZW50IGJveC4KKyAgICAgICAgV2hlbiB0aGUgc2Vjb25kIGZsb2F0
IGJveCBpcyBiZWluZyBwb3NpdGlvbmVkLCB3ZSBkb24ndCB5ZXQgaGF2ZSBmaW5hbCBtYXJnaW5z
IGZvciBpdHMgYW5jZXN0b3JzLCBzbyB0aGUgYm94J3MgdmVydGljYWwKKyAgICAgICAgcG9zaXRp
b24gYXQgdGhpcyBwb2ludCBpcyBvbmx5IGNvbXB1dGVkIHJlbGF0aXZlIHRvIGl0cyBjb250YWlu
aW5nIGJsb2NrLgorICAgICAgICBJbiBtb3N0IGNhc2VzIHdlIGNvdWxkIGp1c3Qgd2FsayB0aGUg
YW5jZXN0b3IgY2hhaW4gYWxsIHRoZSB3YXkgdG8gdGhlIGZvcm1hdHRpbmcgcm9vdCBhbmQgcHJl
LWNvbXB1dGUgdGhlIG1hcmdpbiBiZWZvcmUgdmFsdWVzLgorICAgICAgICBIb3dldmVyIGluIHNv
bWUgbm90LXNvLXJhcmUgY2FzZXMsIHRoZSBhbmNlc3RvciBtYXJnaW4gYmVmb3JlIHZhbHVlIGRl
cGVuZHMgb24gc29tZSBjb250ZW50IGFmdGVyIHRoZSBmbG9hdCBib3ggYW5kIHRvIGJlIGFibGUK
KyAgICAgICAgdG8gZmlndXJlIG91dCB0aGUgZXhhY3QgbWFyZ2luIHZhbHVlcywgd2UgYWN0dWFs
bHkgbmVlZCB0byBsYXkgb3V0IHRoZSByZXN0IG9mIHRoZSBjb250ZW50LgorICAgICAgICBJbiB0
aGUgZXhhbXBsZSBhYm92ZSwgdGhlIHNlY29uZCBmbG9hdCdzIGZpbmFsIHBvc2l0aW9uIGRlcGVu
ZHMgb24gd2hldGhlciB0aGUgPHNwYW4+IGhhcyB3aGl0ZS1zcGFjZTogcHJlIG9yIG5vdCAod2hl
dGhlciB0aGUgcGFyZW50CisgICAgICAgIGRpdiBwcm9kdWNlcyBlbXB0eSBjb250ZW50IG9yIG5v
dCkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBjb21wdXRlcyBtYXJnaW4gYmVmb3JlIHZhbHVlcyBv
bmx5IGZvciB0aGUgYW5jZXN0b3JzIGlnbm9yaW5nIG1hcmdpbiBjb2xsYXBzaW5nIChhbmQgbWFy
Z2luIGFmdGVyIHZhbHVlcykuCisKKyAgICAgICAgKiBsYXlvdXQvTWFyZ2luVHlwZXMuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6UHJlY29tcHV0ZWRNYXJnaW5CZWZvcmU6OnVzZWRWYWx1
ZSBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRp
bmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5n
Q29udGV4dDo6cHJlY29tcHV0ZVZlcnRpY2FsUG9zaXRpb25Gb3JCb3hBbmRBbmNlc3RvcnMpOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRl
SGVpZ2h0QW5kTWFyZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0
aW5nQ29udGV4dDo6c2V0UHJlY29tcHV0ZWRNYXJnaW5CZWZvcmUpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpoYXNQcmVjb21wdXRl
ZE1hcmdpbkJlZm9yZSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2Jsb2NrZm9y
bWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0Lmg6CisgICAgICAgICogbGF5b3V0L2Jsb2Nr
Zm9ybWF0dGluZy9QcmVjb21wdXRlZEJsb2NrTWFyZ2luQ29sbGFwc2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5Db2xsYXBzZTo6
cHJlY29tcHV0ZWRQb3NpdGl2ZU5lZ2F0aXZlVmFsdWVzIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6OnByZWNv
bXB1dGVkUG9zaXRpdmVOZWdhdGl2ZU1hcmdpbkJlZm9yZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjpwcmVj
b21wdXRlZE1hcmdpbkJlZm9yZSk6CisKIDIwMjAtMDItMjkgIFphbGFuIEJ1anRhcyAgPHphbGFu
QGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtNYXJnaW5Db2xsYXBzaW5nXSBEbyBub3QgcmUt
Y29tcHV0ZSBQb3NpdGl2ZUFuZE5lZ2F0aXZlVmVydGljYWxNYXJnaW4gdmFsdWVzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTWFyZ2luVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9NYXJnaW5UeXBlcy5oCmluZGV4IGY2NWYyNGNmOWU3M2IzMjU2MDI3OTMyNzNmZWUz
OGMzYjJkZjFjZWIuLjg1MmMzMWY0OGIxY2ZkNjBkOWY0MmY3MTc4YWE4ZjYxMzAxNjFjMDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9NYXJnaW5UeXBlcy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9NYXJnaW5UeXBlcy5oCkBAIC03NSwxMyArNzUsNiBAQCBzdHJ1Y3Qg
VXNlZEhvcml6b250YWxNYXJnaW4gewogICAgIExheW91dFVuaXQgZW5kOwogfTsKIAotc3RydWN0
IFByZWNvbXB1dGVkTWFyZ2luQmVmb3JlIHsKLSAgICBMYXlvdXRVbml0IHVzZWRWYWx1ZSgpIGNv
bnN0IHsgcmV0dXJuIGNvbGxhcHNlZFZhbHVlLnZhbHVlT3Iobm9uQ29sbGFwc2VkVmFsdWUpOyB9
Ci0gICAgTGF5b3V0VW5pdCBub25Db2xsYXBzZWRWYWx1ZTsKLSAgICBPcHRpb25hbDxMYXlvdXRV
bml0PiBjb2xsYXBzZWRWYWx1ZTsKLSAgICBib29sIGlzQ29sbGFwc2VkVGhyb3VnaCB7IGZhbHNl
IH07Ci19OwotCiAvLyBGSVhNRTogVGhpcyBzdHJ1Y3R1cmUgbWlnaHQgbmVlZCB0byBjaGFuZ2Ug
dG8gaW5kaWNhdGUgdGhhdCB0aGUgY2FjaGVkIHZhbHVlIGlzIG5vdCBuZWNlc3NhcmlseSB0aGUg
c2FtZSBhcyB0aGUgYm94J3MgY29tcHV0ZWQgbWFyZ2luIHZhbHVlLgogLy8gVGhpcyBvbmx5IG1h
dHRlcnMgaW4gY2FzZSBvZiBjb2xsYXBzZSB0aHJvdWdoIG1hcmdpbnMgd2hlbiB0aGV5IGNvbGxh
cHNlIGludG8gYW5vdGhlciBzaWJsaW5nIGJveC4KIC8vIDxkaXYgc3R5bGU9Im1hcmdpbjogMXB4
Ij48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46IDEwcHgiPjwvZGl2PiA8LSB0aGUgc2Vjb25kIGRp
didzIGJlZm9yZS9hZnRlciBtYXJpbmdzIGNvbGxhcHNlIHRocm91Z2ggYW5kIHRoZSBzYW1lIHRp
bWUgdGhleSBjb2xsYXBzZSBpbnRvCkBAIC0xMDAsNiArOTMsMTMgQEAgc3RydWN0IFBvc2l0aXZl
QW5kTmVnYXRpdmVWZXJ0aWNhbE1hcmdpbiB7CiAgICAgVmFsdWVzIGFmdGVyOwogfTsKIAorc3Ry
dWN0IFByZWNvbXB1dGVkTWFyZ2luQmVmb3JlIHsKKyAgICBMYXlvdXRVbml0IHVzZWRWYWx1ZSgp
IGNvbnN0IHsgcmV0dXJuIGNvbGxhcHNlZFZhbHVlLnZhbHVlT3Iobm9uQ29sbGFwc2VkVmFsdWUp
OyB9CisgICAgTGF5b3V0VW5pdCBub25Db2xsYXBzZWRWYWx1ZTsKKyAgICBPcHRpb25hbDxMYXlv
dXRVbml0PiBjb2xsYXBzZWRWYWx1ZTsKKyAgICBQb3NpdGl2ZUFuZE5lZ2F0aXZlVmVydGljYWxN
YXJnaW46OlZhbHVlcyBwb3NpdGl2ZUFuZE5lZ2F0aXZlTWFyZ2luQmVmb3JlOworfTsKKwogaW5s
aW5lIFVzZWRWZXJ0aWNhbE1hcmdpbjo6VXNlZFZlcnRpY2FsTWFyZ2luKFVzZWRWZXJ0aWNhbE1h
cmdpbjo6Tm9uQ29sbGFwc2VkVmFsdWVzIG5vbkNvbGxhcHNlZFZhbHVlcywgVXNlZFZlcnRpY2Fs
TWFyZ2luOjpDb2xsYXBzZWRWYWx1ZXMgY29sbGFwc2VkVmFsdWVzKQogICAgIDogbV9ub25Db2xs
YXBzZWRWYWx1ZXMobm9uQ29sbGFwc2VkVmFsdWVzKQogICAgICwgbV9jb2xsYXBzZWRWYWx1ZXMo
Y29sbGFwc2VkVmFsdWVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2Nr
Zm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXggNzE1
OWQ2Njg1NGVjZWNkODZjODlhM2ZmYmI2ZGJkY2QwZjgzMDI1YS4uNDgxYWZjZGNiZjJiYTk0Y2Zi
NGFjNmUzNTcwYTAzMTcwMDNlMDk0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3Bw
CkBAIC0yNzQsMTAgKzI3NCw3IEBAIHZvaWQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6cHJlY29t
cHV0ZVZlcnRpY2FsUG9zaXRpb25Gb3JCb3hBbmRBbmNlc3RvcnMoY29uc3QKICAgICAvLwogICAg
IC8vIFRoZSBpZGVhIGhlcmUgaXMgdGhhdCBhcyBsb25nIGFzIHdlIGRvbid0IGNyb3NzIHRoZSBi
bG9jayBmb3JtYXR0aW5nIGNvbnRleHQgYm91bmRhcnksIHdlIHNob3VsZCBiZSBhYmxlIHRvIHBy
ZS1jb21wdXRlIHRoZSBmaW5hbCB0b3AgcG9zaXRpb24uCiAgICAgLy8gRklYTUU6IHdlIGN1cnJl
bnRseSBkb24ndCBhY2NvdW50IGZvciB0aGUgImNsZWFyIiBwcm9wZXJ0eSB3aGVuIGNvbXB1dGlu
ZyB0aGUgZmluYWwgcG9zaXRpb24gZm9yIGFuIGFuY2VzdG9yLgotICAgIGZvciAoYXV0byogYW5j
ZXN0b3IgPSAmbGF5b3V0Qm94OyBhbmNlc3RvciAmJiAhYW5jZXN0b3ItPmVzdGFibGlzaGVzQmxv
Y2tGb3JtYXR0aW5nQ29udGV4dCgpOyBhbmNlc3RvciA9IGFuY2VzdG9yLT5jb250YWluaW5nQmxv
Y2soKSkgewotICAgICAgICAvLyBGSVhNRTogd2l0aCBpbmNyZW1lbnRhbCBsYXlvdXQsIHdlIG1p
Z2h0IGFjdHVhbGx5IGhhdmUgYSB2YWxpZCAobm9uLXByZWNvbXB1dGVkKSBtYXJnaW4gdG9wIGFz
IHdlbGwuCi0gICAgICAgIGlmIChoYXNQcmVjb21wdXRlZE1hcmdpbkJlZm9yZSgqYW5jZXN0b3Ip
KQotICAgICAgICAgICAgcmV0dXJuOworICAgIGZvciAoYXV0byogYW5jZXN0b3IgPSAmbGF5b3V0
Qm94OyBhbmNlc3RvciAmJiBhbmNlc3RvciAhPSAmcm9vdCgpOyBhbmNlc3RvciA9IGFuY2VzdG9y
LT5jb250YWluaW5nQmxvY2soKSkgewogICAgICAgICBhdXRvIGhvcml6b250YWxDb25zdHJhaW50
c0ZvckFuY2VzdG9yID0gWyZdIHsKICAgICAgICAgICAgIGF1dG8qIGNvbnRhaW5pbmdCbG9jayA9
IGFuY2VzdG9yLT5jb250YWluaW5nQmxvY2soKTsKICAgICAgICAgICAgIHJldHVybiBjb250YWlu
aW5nQmxvY2sgPT0gJnJvb3QoKSA/IGhvcml6b250YWxDb25zdHJhaW50cy5yb290IDogR2VvbWV0
cnk6Omhvcml6b250YWxDb25zdHJhaW50c0ZvckluRmxvdyhnZW9tZXRyeUZvckJveCgqY29udGFp
bmluZ0Jsb2NrKSk7CkBAIC0yOTAsMTUgKzI4NywxNiBAQCB2b2lkIEJsb2NrRm9ybWF0dGluZ0Nv
bnRleHQ6OnByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yQm94QW5kQW5jZXN0b3JzKGNvbnN0
CiAgICAgICAgIGF1dG8gY29tcHV0ZWRWZXJ0aWNhbE1hcmdpbiA9IGdlb21ldHJ5KCkuY29tcHV0
ZWRWZXJ0aWNhbE1hcmdpbigqYW5jZXN0b3IsIGhvcml6b250YWxDb25zdHJhaW50c0ZvckFuY2Vz
dG9yKCkpOwogICAgICAgICBhdXRvIHVzZWROb25Db2xsYXBzZWRNYXJnaW4gPSBVc2VkVmVydGlj
YWxNYXJnaW46Ok5vbkNvbGxhcHNlZFZhbHVlcyB7IGNvbXB1dGVkVmVydGljYWxNYXJnaW4uYmVm
b3JlLnZhbHVlT3IoMCksIGNvbXB1dGVkVmVydGljYWxNYXJnaW4uYWZ0ZXIudmFsdWVPcigwKSB9
OwogICAgICAgICBhdXRvIHByZWNvbXB1dGVkTWFyZ2luQmVmb3JlID0gbWFyZ2luQ29sbGFwc2Uo
KS5wcmVjb21wdXRlZE1hcmdpbkJlZm9yZSgqYW5jZXN0b3IsIHVzZWROb25Db2xsYXBzZWRNYXJn
aW4pOwotICAgICAgICBzZXRQcmVjb21wdXRlZE1hcmdpbkJlZm9yZSgqYW5jZXN0b3IsIHByZWNv
bXB1dGVkTWFyZ2luQmVmb3JlKTsKKyAgICAgICAgZm9ybWF0dGluZ1N0YXRlKCkuc2V0UG9zaXRp
dmVBbmROZWdhdGl2ZVZlcnRpY2FsTWFyZ2luKCphbmNlc3RvciwgeyBwcmVjb21wdXRlZE1hcmdp
bkJlZm9yZS5wb3NpdGl2ZUFuZE5lZ2F0aXZlTWFyZ2luQmVmb3JlLCB7IH0gfSk7CiAKICAgICAg
ICAgYXV0byYgZGlzcGxheUJveCA9IGZvcm1hdHRpbmdTdGF0ZSgpLmRpc3BsYXlCb3goKmFuY2Vz
dG9yKTsKICAgICAgICAgYXV0byBub25Db2xsYXBzZWRWYWx1ZXMgPSBVc2VkVmVydGljYWxNYXJn
aW46Ok5vbkNvbGxhcHNlZFZhbHVlcyB7IHByZWNvbXB1dGVkTWFyZ2luQmVmb3JlLm5vbkNvbGxh
cHNlZFZhbHVlLCB7IH0gfTsKLSAgICAgICAgYXV0byBjb2xsYXBzZWRWYWx1ZXMgPSBVc2VkVmVy
dGljYWxNYXJnaW46OkNvbGxhcHNlZFZhbHVlcyB7IHByZWNvbXB1dGVkTWFyZ2luQmVmb3JlLmNv
bGxhcHNlZFZhbHVlLCB7IH0sIHByZWNvbXB1dGVkTWFyZ2luQmVmb3JlLmlzQ29sbGFwc2VkVGhy
b3VnaCB9OworICAgICAgICBhdXRvIGNvbGxhcHNlZFZhbHVlcyA9IFVzZWRWZXJ0aWNhbE1hcmdp
bjo6Q29sbGFwc2VkVmFsdWVzIHsgcHJlY29tcHV0ZWRNYXJnaW5CZWZvcmUuY29sbGFwc2VkVmFs
dWUsIHsgfSwgZmFsc2UgfTsKICAgICAgICAgYXV0byB2ZXJ0aWNhbE1hcmdpbiA9IFVzZWRWZXJ0
aWNhbE1hcmdpbiB7IG5vbkNvbGxhcHNlZFZhbHVlcywgY29sbGFwc2VkVmFsdWVzIH07CiAgICAg
ICAgIGRpc3BsYXlCb3guc2V0VmVydGljYWxNYXJnaW4odmVydGljYWxNYXJnaW4pOwogICAgICAg
ICBkaXNwbGF5Qm94LnNldFRvcCh2ZXJ0aWNhbFBvc2l0aW9uV2l0aE1hcmdpbigqYW5jZXN0b3Is
IHZlcnRpY2FsTWFyZ2luLCB2ZXJ0aWNhbENvbnN0cmFpbnRzRm9yQW5jZXN0b3IoKSkpOwogI2lm
IEFTU0VSVF9FTkFCTEVECisgICAgICAgIHNldFByZWNvbXB1dGVkTWFyZ2luQmVmb3JlKCphbmNl
c3RvciwgcHJlY29tcHV0ZWRNYXJnaW5CZWZvcmUpOwogICAgICAgICBkaXNwbGF5Qm94LnNldEhh
c1ByZWNvbXB1dGVkTWFyZ2luQmVmb3JlKCk7CiAjZW5kaWYKICAgICB9CkBAIC00MzgsOCArNDM2
LDE5IEBAIHZvaWQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUhlaWdodEFuZE1hcmdp
bihjb25zdCBCb3gmIGxheW91dEJveCwgY29uc3QKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAot
ICAgIEFTU0VSVCghaGFzUHJlY29tcHV0ZWRNYXJnaW5CZWZvcmUobGF5b3V0Qm94KSB8fCBwcmVj
b21wdXRlZE1hcmdpbkJlZm9yZShsYXlvdXRCb3gpLnVzZWRWYWx1ZSgpID09IHZlcnRpY2FsTWFy
Z2luLmJlZm9yZSgpKTsKLSAgICByZW1vdmVQcmVjb21wdXRlZE1hcmdpbkJlZm9yZShsYXlvdXRC
b3gpOworI2lmIEFTU0VSVF9FTkFCTEVECisgICAgaWYgKGhhc1ByZWNvbXB1dGVkTWFyZ2luQmVm
b3JlKGxheW91dEJveCkgJiYgcHJlY29tcHV0ZWRNYXJnaW5CZWZvcmUobGF5b3V0Qm94KS51c2Vk
VmFsdWUoKSAhPSB2ZXJ0aWNhbE1hcmdpbi5iZWZvcmUoKSkgeworICAgICAgICAvLyBXaGVuIHRo
ZSBwcmUtY29tcHV0ZWQgbWFyZ2luIHR1cm5zIG91dCB0byBiZSBpbmNvcnJlY3QsIHdlIG5lZWQg
dG8gcmUtbGF5b3V0IHRoaXMgc3VidHJlZSB3aXRoIHRoZSBjb3JyZWN0IG1hcmdpbiB2YWx1ZXMu
CisgICAgICAgIC8vIDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0Ij48L2Rpdj4KKyAgICAgICAgLy8g
PGRpdj4KKyAgICAgICAgLy8gICA8ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOiAyMDBweCI+PC9k
aXY+CisgICAgICAgIC8vIDwvZGl2PgorICAgICAgICAvLyBUaGUgZmxvYXQgYm94IHRyaWdnZXJz
IG1hcmdpbiBiZWZvcmUgY29tcHV0YXRpb24gb24gdGhlIGFuY2VzdG9yIGNoYWluIHRvIGJlIGFi
bGUgdG8gaW50ZXJzZWN0IHdpdGggb3RoZXIgZmxvYXRzIGluIHRoZSBzYW1lIGZsb2F0aW5nIGNv
bnRleHQuCisgICAgICAgIC8vIEhvd2V2ZXIgaW4gc29tZSBjYXNlcyB0aGUgcGFyZW50IG1hcmdp
bi10b3AgY29sbGFwc2VzIHdpdGggc29tZSBuZXh0IHNpYmxpbmdzIChuZXBoZXdzKSBhbmQgdGhl
cmUncyBubyB3YXkgdG8gYmUgYWJsZSB0byBwcm9wZXJseQorICAgICAgICAvLyBhY2NvdW50IGZv
ciB0aGF0IHdpdGhvdXQgbGF5aW5nIG91dCBldmVyeSBub2RlIGluIHRoZSBGQyAoaW4gdGhlIGV4
YW1wbGUsIHRoZSBtYXJnaW4tYm90dG9tIHB1c2hlcyBkb3duIHRoZSBmbG9hdCkuCisgICAgICAg
IEFTU0VSVF9OT1RfSU1QTEVNRU5URURfWUVUKCk7CisgICAgfQorI2VuZGlmCiAgICAgYXV0byYg
ZGlzcGxheUJveCA9IGZvcm1hdHRpbmdTdGF0ZSgpLmRpc3BsYXlCb3gobGF5b3V0Qm94KTsKICAg
ICBkaXNwbGF5Qm94LnNldFRvcCh2ZXJ0aWNhbFBvc2l0aW9uV2l0aE1hcmdpbihsYXlvdXRCb3gs
IHZlcnRpY2FsTWFyZ2luLCB2ZXJ0aWNhbENvbnN0cmFpbnRzKSk7CiAgICAgZGlzcGxheUJveC5z
ZXRDb250ZW50Qm94SGVpZ2h0KGNvbnRlbnRIZWlnaHRBbmRNYXJnaW4uY29udGVudEhlaWdodCk7
CkBAIC01NTMsMjAgKzU2Miw2IEBAIExheW91dFVuaXQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6
dmVydGljYWxQb3NpdGlvbldpdGhNYXJnaW4oY29uc3QgQm94JiBsYXlvdXRCCiAgICAgcmV0dXJu
IGNvbnRhaW5pbmdCbG9ja0NvbnRlbnRCb3hUb3AgKyB2ZXJ0aWNhbE1hcmdpbi5iZWZvcmUoKTsK
IH0KIAotdm9pZCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpzZXRQcmVjb21wdXRlZE1hcmdpbkJl
Zm9yZShjb25zdCBCb3gmIGxheW91dEJveCwgY29uc3QgUHJlY29tcHV0ZWRNYXJnaW5CZWZvcmUm
IHByZWNvbXB1dGVkTWFyZ2luQmVmb3JlKQotewotICAgIC8vIENhbid0IGNyb3NzIGZvcm1hdHRp
bmcgY29udGV4dCBib3VuZGFyeS4KLSAgICBBU1NFUlQoJmxheW91dFN0YXRlKCkuZm9ybWF0dGlu
Z1N0YXRlRm9yQm94KGxheW91dEJveCkgPT0gJmZvcm1hdHRpbmdTdGF0ZSgpKTsKLSAgICBtX3By
ZWNvbXB1dGVkTWFyZ2luQmVmb3JlTGlzdC5zZXQoJmxheW91dEJveCwgcHJlY29tcHV0ZWRNYXJn
aW5CZWZvcmUpOwotfQotCi1ib29sIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Omhhc1ByZWNvbXB1
dGVkTWFyZ2luQmVmb3JlKGNvbnN0IEJveCYgbGF5b3V0Qm94KSBjb25zdAotewotICAgIC8vIENh
bid0IGNyb3NzIGZvcm1hdHRpbmcgY29udGV4dCBib3VuZGFyeS4KLSAgICBBU1NFUlQoJmxheW91
dFN0YXRlKCkuZm9ybWF0dGluZ1N0YXRlRm9yQm94KGxheW91dEJveCkgPT0gJmZvcm1hdHRpbmdT
dGF0ZSgpKTsKLSAgICByZXR1cm4gbV9wcmVjb21wdXRlZE1hcmdpbkJlZm9yZUxpc3QuY29udGFp
bnMoJmxheW91dEJveCk7Ci19Ci0KIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuaApp
bmRleCBiMGQ1YWJkMWU0Yzc4Njg1MGM1MGM5ZmM3M2M5MWU3ZTcwMGZiMzdlLi4xZGY1ZjI5NTFm
ZWExZDIxOTIyNTM2NzhmMGQ5ZDY0N2VkZDJlNTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRl
eHQuaApAQCAtMTM0LDcgKzEzNCw3IEBAIHByaXZhdGU6CiAgICAgICAgIFBvc2l0aXZlQW5kTmVn
YXRpdmVWZXJ0aWNhbE1hcmdpbjo6VmFsdWVzIHBvc2l0aXZlTmVnYXRpdmVNYXJnaW5BZnRlcihj
b25zdCBCb3gmLCBVc2VkVmVydGljYWxNYXJnaW46Ok5vbkNvbGxhcHNlZFZhbHVlcykgY29uc3Q7
CiAKICAgICAgICAgUG9zaXRpdmVBbmROZWdhdGl2ZVZlcnRpY2FsTWFyZ2luOjpWYWx1ZXMgcHJl
Y29tcHV0ZWRQb3NpdGl2ZU5lZ2F0aXZlTWFyZ2luQmVmb3JlKGNvbnN0IEJveCYsIFVzZWRWZXJ0
aWNhbE1hcmdpbjo6Tm9uQ29sbGFwc2VkVmFsdWVzKSBjb25zdDsKLSAgICAgICAgUG9zaXRpdmVB
bmROZWdhdGl2ZVZlcnRpY2FsTWFyZ2luOjpWYWx1ZXMgcHJlY29tcHV0ZWRQb3NpdGl2ZU5lZ2F0
aXZlVmFsdWVzKGNvbnN0IEJveCYsIE1hcmdpblR5cGUpIGNvbnN0OworICAgICAgICBQb3NpdGl2
ZUFuZE5lZ2F0aXZlVmVydGljYWxNYXJnaW46OlZhbHVlcyBwcmVjb21wdXRlZFBvc2l0aXZlTmVn
YXRpdmVWYWx1ZXMoY29uc3QgQm94JikgY29uc3Q7CiAKICAgICAgICAgYm9vbCBoYXNDbGVhcmFu
Y2UoY29uc3QgQm94JikgY29uc3Q7CiAKQEAgLTE2NCwxNyArMTY0LDE2IEBAIHByaXZhdGU6CiAg
ICAgfTsKICAgICBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpRdWlya3MgcXVpcmtzKCkgY29uc3Qg
eyByZXR1cm4gUXVpcmtzKCp0aGlzKTsgfQogCi0gICAgdm9pZCBzZXRQcmVjb21wdXRlZE1hcmdp
bkJlZm9yZShjb25zdCBCb3gmLCBjb25zdCBQcmVjb21wdXRlZE1hcmdpbkJlZm9yZSYpOwotICAg
IHZvaWQgcmVtb3ZlUHJlY29tcHV0ZWRNYXJnaW5CZWZvcmUoY29uc3QgQm94JiBsYXlvdXRCb3gp
IHsgbV9wcmVjb21wdXRlZE1hcmdpbkJlZm9yZUxpc3QucmVtb3ZlKCZsYXlvdXRCb3gpOyB9Ci0g
ICAgYm9vbCBoYXNQcmVjb21wdXRlZE1hcmdpbkJlZm9yZShjb25zdCBCb3gmKSBjb25zdDsKICAg
ICBPcHRpb25hbDxMYXlvdXRVbml0PiB1c2VkQXZhaWxhYmxlV2lkdGhGb3JGbG9hdEF2b2lkZXIo
Y29uc3QgRmxvYXRpbmdDb250ZXh0JiwgY29uc3QgQm94JiwgY29uc3QgQ29uc3RyYWludHNQYWly
PEhvcml6b250YWxDb25zdHJhaW50cz4mLCBjb25zdCBDb25zdHJhaW50c1BhaXI8VmVydGljYWxD
b25zdHJhaW50cz4mKTsKLSNpZiBBU1NFUlRfRU5BQkxFRAotICAgIFByZWNvbXB1dGVkTWFyZ2lu
QmVmb3JlIHByZWNvbXB1dGVkTWFyZ2luQmVmb3JlKGNvbnN0IEJveCYgbGF5b3V0Qm94KSBjb25z
dCB7IHJldHVybiBtX3ByZWNvbXB1dGVkTWFyZ2luQmVmb3JlTGlzdC5nZXQoJmxheW91dEJveCk7
IH0KLSNlbmRpZgogCiAgICAgY29uc3QgQmxvY2tGb3JtYXR0aW5nU3RhdGUmIGZvcm1hdHRpbmdT
dGF0ZSgpIGNvbnN0IHsgcmV0dXJuIGRvd25jYXN0PEJsb2NrRm9ybWF0dGluZ1N0YXRlPihGb3Jt
YXR0aW5nQ29udGV4dDo6Zm9ybWF0dGluZ1N0YXRlKCkpOyB9CiAgICAgQmxvY2tGb3JtYXR0aW5n
U3RhdGUmIGZvcm1hdHRpbmdTdGF0ZSgpIHsgcmV0dXJuIGRvd25jYXN0PEJsb2NrRm9ybWF0dGlu
Z1N0YXRlPihGb3JtYXR0aW5nQ29udGV4dDo6Zm9ybWF0dGluZ1N0YXRlKCkpOyB9CiAKKyNpZiBB
U1NFUlRfRU5BQkxFRAorICAgIHZvaWQgc2V0UHJlY29tcHV0ZWRNYXJnaW5CZWZvcmUoY29uc3Qg
Qm94JiBsYXlvdXRCb3gsIGNvbnN0IFByZWNvbXB1dGVkTWFyZ2luQmVmb3JlJiBwcmVjb21wdXRl
ZE1hcmdpbkJlZm9yZSkgeyBtX3ByZWNvbXB1dGVkTWFyZ2luQmVmb3JlTGlzdC5zZXQoJmxheW91
dEJveCwgcHJlY29tcHV0ZWRNYXJnaW5CZWZvcmUpOyB9CisgICAgUHJlY29tcHV0ZWRNYXJnaW5C
ZWZvcmUgcHJlY29tcHV0ZWRNYXJnaW5CZWZvcmUoY29uc3QgQm94JiBsYXlvdXRCb3gpIGNvbnN0
IHsgcmV0dXJuIG1fcHJlY29tcHV0ZWRNYXJnaW5CZWZvcmVMaXN0LmdldCgmbGF5b3V0Qm94KTsg
fQorICAgIGJvb2wgaGFzUHJlY29tcHV0ZWRNYXJnaW5CZWZvcmUoY29uc3QgQm94JiBsYXlvdXRC
b3gpIGNvbnN0IHsgcmV0dXJuIG1fcHJlY29tcHV0ZWRNYXJnaW5CZWZvcmVMaXN0LmNvbnRhaW5z
KCZsYXlvdXRCb3gpOyB9CisjZW5kaWYKIHByaXZhdGU6CiAgICAgSGFzaE1hcDxjb25zdCBCb3gq
LCBQcmVjb21wdXRlZE1hcmdpbkJlZm9yZT4gbV9wcmVjb21wdXRlZE1hcmdpbkJlZm9yZUxpc3Q7
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9Q
cmVjb21wdXRlZEJsb2NrTWFyZ2luQ29sbGFwc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Jsb2NrZm9ybWF0dGluZy9QcmVjb21wdXRlZEJsb2NrTWFyZ2luQ29sbGFwc2UuY3BwCmluZGV4
IDYwZGFiMWE5NzIxOWFkZTNkM2U4YWFjNzJiMTE1OTIxYjhjZjAzODAuLjRkYjc0MDYyNGE0YWE1
ZDJjNGJjYWVhNTgzZDUyMWE3NDY5NDc2MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9ibG9ja2Zvcm1hdHRpbmcvUHJlY29tcHV0ZWRCbG9ja01hcmdpbkNvbGxhcHNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL1ByZWNvbXB1dGVkQmxv
Y2tNYXJnaW5Db2xsYXBzZS5jcHAKQEAgLTM2LDE0ICszNiwxNiBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogbmFtZXNwYWNlIExheW91dCB7CiAKLVBvc2l0aXZlQW5kTmVnYXRpdmVWZXJ0aWNhbE1h
cmdpbjo6VmFsdWVzIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjpwcmVj
b21wdXRlZFBvc2l0aXZlTmVnYXRpdmVWYWx1ZXMoY29uc3QgQm94JiBsYXlvdXRCb3gsIE1hcmdp
blR5cGUgbWFyZ2luVHlwZSkgY29uc3QKK1Bvc2l0aXZlQW5kTmVnYXRpdmVWZXJ0aWNhbE1hcmdp
bjo6VmFsdWVzIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjpwcmVjb21w
dXRlZFBvc2l0aXZlTmVnYXRpdmVWYWx1ZXMoY29uc3QgQm94JiBsYXlvdXRCb3gpIGNvbnN0CiB7
Ci0gICAgYXV0byBjb21wdXRlZFZlcnRpY2FsTWFyZ2luID0gZm9ybWF0dGluZ0NvbnRleHQoKS5n
ZW9tZXRyeSgpLmNvbXB1dGVkVmVydGljYWxNYXJnaW4obGF5b3V0Qm94LCBHZW9tZXRyeTo6aG9y
aXpvbnRhbENvbnN0cmFpbnRzRm9ySW5GbG93KGZvcm1hdHRpbmdDb250ZXh0KCkuZ2VvbWV0cnlG
b3JCb3goKmxheW91dEJveC5jb250YWluaW5nQmxvY2soKSkpKTsKLSAgICBhdXRvIG5vbkNvbGxh
cHNlZE1hcmdpbiA9IFVzZWRWZXJ0aWNhbE1hcmdpbjo6Tm9uQ29sbGFwc2VkVmFsdWVzIHsgY29t
cHV0ZWRWZXJ0aWNhbE1hcmdpbi5iZWZvcmUudmFsdWVPcigwKSwgY29tcHV0ZWRWZXJ0aWNhbE1h
cmdpbi5hZnRlci52YWx1ZU9yKDApIH07IAotCi0gICAgaWYgKG1hcmdpblR5cGUgPT0gTWFyZ2lu
VHlwZTo6QmVmb3JlKQotICAgICAgICByZXR1cm4gcHJlY29tcHV0ZWRQb3NpdGl2ZU5lZ2F0aXZl
TWFyZ2luQmVmb3JlKGxheW91dEJveCwgbm9uQ29sbGFwc2VkTWFyZ2luKTsKLSAgICByZXR1cm4g
cG9zaXRpdmVOZWdhdGl2ZU1hcmdpbkFmdGVyKGxheW91dEJveCwgbm9uQ29sbGFwc2VkTWFyZ2lu
KTsKKyAgICBhdXRvJiBibG9ja0Zvcm1hdHRpbmdTdGF0ZSA9IGRvd25jYXN0PEJsb2NrRm9ybWF0
dGluZ1N0YXRlPihsYXlvdXRTdGF0ZSgpLmZvcm1hdHRpbmdTdGF0ZUZvckJveChsYXlvdXRCb3gp
KTsKKyAgICBpZiAoYmxvY2tGb3JtYXR0aW5nU3RhdGUuaGFzUG9zaXRpdmVBbmROZWdhdGl2ZVZl
cnRpY2FsTWFyZ2luKGxheW91dEJveCkpCisgICAgICAgIHJldHVybiBibG9ja0Zvcm1hdHRpbmdT
dGF0ZS5wb3NpdGl2ZUFuZE5lZ2F0aXZlVmVydGljYWxNYXJnaW4obGF5b3V0Qm94KS5iZWZvcmU7
CisKKyAgICBhdXRvIGhvcml6b250YWxDb25zdHJhaW50cyA9IEdlb21ldHJ5Ojpob3Jpem9udGFs
Q29uc3RyYWludHNGb3JJbkZsb3coZm9ybWF0dGluZ0NvbnRleHQoKS5nZW9tZXRyeUZvckJveCgq
bGF5b3V0Qm94LmNvbnRhaW5pbmdCbG9jaygpKSk7CisgICAgYXV0byBjb21wdXRlZFZlcnRpY2Fs
TWFyZ2luID0gZm9ybWF0dGluZ0NvbnRleHQoKS5nZW9tZXRyeSgpLmNvbXB1dGVkVmVydGljYWxN
YXJnaW4obGF5b3V0Qm94LCBob3Jpem9udGFsQ29uc3RyYWludHMpOworICAgIGF1dG8gbm9uQ29s
bGFwc2VkTWFyZ2luID0gVXNlZFZlcnRpY2FsTWFyZ2luOjpOb25Db2xsYXBzZWRWYWx1ZXMgeyBj
b21wdXRlZFZlcnRpY2FsTWFyZ2luLmJlZm9yZS52YWx1ZU9yKDApLCBjb21wdXRlZFZlcnRpY2Fs
TWFyZ2luLmFmdGVyLnZhbHVlT3IoMCkgfTsKKyAgICByZXR1cm4gcHJlY29tcHV0ZWRQb3NpdGl2
ZU5lZ2F0aXZlTWFyZ2luQmVmb3JlKGxheW91dEJveCwgbm9uQ29sbGFwc2VkTWFyZ2luKTsKIH0K
IAogUG9zaXRpdmVBbmROZWdhdGl2ZVZlcnRpY2FsTWFyZ2luOjpWYWx1ZXMgQmxvY2tGb3JtYXR0
aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6OnByZWNvbXB1dGVkUG9zaXRpdmVOZWdhdGl2ZU1h
cmdpbkJlZm9yZShjb25zdCBCb3gmIGxheW91dEJveCwgVXNlZFZlcnRpY2FsTWFyZ2luOjpOb25D
b2xsYXBzZWRWYWx1ZXMgbm9uQ29sbGFwc2VkVmFsdWVzKSBjb25zdApAQCAtNTEsMTMgKzUzLDE1
IEBAIFBvc2l0aXZlQW5kTmVnYXRpdmVWZXJ0aWNhbE1hcmdpbjo6VmFsdWVzIEJsb2NrRm9ybWF0
dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlCiAgICAgYXV0byBmaXJzdENoaWxkQ29sbGFwc2Vk
TWFyZ2luQmVmb3JlID0gWyZdKCkgLT4gUG9zaXRpdmVBbmROZWdhdGl2ZVZlcnRpY2FsTWFyZ2lu
OjpWYWx1ZXMgewogICAgICAgICBpZiAoIW1hcmdpbkJlZm9yZUNvbGxhcHNlc1dpdGhGaXJzdElu
Rmxvd0NoaWxkTWFyZ2luQmVmb3JlKGxheW91dEJveCkpCiAgICAgICAgICAgICByZXR1cm4geyB9
OwotICAgICAgICByZXR1cm4gcHJlY29tcHV0ZWRQb3NpdGl2ZU5lZ2F0aXZlVmFsdWVzKCpkb3du
Y2FzdDxDb250YWluZXJCb3g+KGxheW91dEJveCkuZmlyc3RJbkZsb3dDaGlsZCgpLCBNYXJnaW5U
eXBlOjpCZWZvcmUpOworICAgICAgICByZXR1cm4gcHJlY29tcHV0ZWRQb3NpdGl2ZU5lZ2F0aXZl
VmFsdWVzKCpkb3duY2FzdDxDb250YWluZXJCb3g+KGxheW91dEJveCkuZmlyc3RJbkZsb3dDaGls
ZCgpKTsKICAgICB9OwogCiAgICAgYXV0byBwcmV2aW91U2libGluZ0NvbGxhcHNlZE1hcmdpbkFm
dGVyID0gWyZdKCkgLT4gUG9zaXRpdmVBbmROZWdhdGl2ZVZlcnRpY2FsTWFyZ2luOjpWYWx1ZXMg
ewogICAgICAgICBpZiAoIW1hcmdpbkJlZm9yZUNvbGxhcHNlc1dpdGhQcmV2aW91c1NpYmxpbmdN
YXJnaW5BZnRlcihsYXlvdXRCb3gpKQogICAgICAgICAgICAgcmV0dXJuIHsgfTsKLSAgICAgICAg
cmV0dXJuIHByZWNvbXB1dGVkUG9zaXRpdmVOZWdhdGl2ZVZhbHVlcygqbGF5b3V0Qm94LnByZXZp
b3VzSW5GbG93U2libGluZygpLCBNYXJnaW5UeXBlOjpBZnRlcik7CisgICAgICAgIGF1dG8mIHBy
ZXZpb3VzSW5GbG93U2libGluZyA9ICpsYXlvdXRCb3gucHJldmlvdXNJbkZsb3dTaWJsaW5nKCk7
CisgICAgICAgIGF1dG8mIGJsb2NrRm9ybWF0dGluZ1N0YXRlID0gZG93bmNhc3Q8QmxvY2tGb3Jt
YXR0aW5nU3RhdGU+KGxheW91dFN0YXRlKCkuZm9ybWF0dGluZ1N0YXRlRm9yQm94KHByZXZpb3Vz
SW5GbG93U2libGluZykpOworICAgICAgICByZXR1cm4gYmxvY2tGb3JtYXR0aW5nU3RhdGUucG9z
aXRpdmVBbmROZWdhdGl2ZVZlcnRpY2FsTWFyZ2luKHByZXZpb3VzSW5GbG93U2libGluZykuYWZ0
ZXI7CiAgICAgfTsKIAogICAgIC8vIDEuIEdhdGhlciBwb3NpdGl2ZSBhbmQgbmVnYXRpdmUgbWFy
Z2luIHZhbHVlcyBmcm9tIGZpcnN0IGNoaWxkIGlmIG1hcmdpbnMgYXJlIGFkam9pbmluZy4KQEAg
LTgzLDEzICs4Nyw5IEBAIFByZWNvbXB1dGVkTWFyZ2luQmVmb3JlIEJsb2NrRm9ybWF0dGluZ0Nv
bnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjpwcmVjb21wdXRlZE1hcmdpCiAgICAgQVNTRVJUKGxheW91
dEJveC5pc0luRmxvdygpIHx8IGxheW91dEJveC5pc0Zsb2F0aW5nUG9zaXRpb25lZCgpKTsKICAg
ICBBU1NFUlQoIWxheW91dEJveC5pc1JlcGxhY2VkQm94KCkpOwogCi0gICAgYXV0byBtYXJnaW5z
Q29sbGFwc2VUaHJvdWdoID0gdGhpcy0+bWFyZ2luc0NvbGxhcHNlVGhyb3VnaChsYXlvdXRCb3gp
OwogICAgIGF1dG8gcG9zaXRpdmVOZWdhdGl2ZU1hcmdpbkJlZm9yZSA9IHByZWNvbXB1dGVkUG9z
aXRpdmVOZWdhdGl2ZU1hcmdpbkJlZm9yZShsYXlvdXRCb3gsIHVzZWROb25Db2xsYXBzZWRNYXJn
aW4pOwotCi0gICAgYXV0byBjb2xsYXBzZWRNYXJnaW5CZWZvcmUgPSBtYXJnaW5WYWx1ZSghbWFy
Z2luc0NvbGxhcHNlVGhyb3VnaCA/IHBvc2l0aXZlTmVnYXRpdmVNYXJnaW5CZWZvcmUKLSAgICAg
ICAgOiBjb21wdXRlZFBvc2l0aXZlQW5kTmVnYXRpdmVNYXJnaW4ocG9zaXRpdmVOZWdhdGl2ZU1h
cmdpbkJlZm9yZSwgcG9zaXRpdmVOZWdhdGl2ZU1hcmdpbkFmdGVyKGxheW91dEJveCwgdXNlZE5v
bkNvbGxhcHNlZE1hcmdpbikpKTsKLQotICAgIHJldHVybiB7IHVzZWROb25Db2xsYXBzZWRNYXJn
aW4uYmVmb3JlLCBjb2xsYXBzZWRNYXJnaW5CZWZvcmUsIG1hcmdpbnNDb2xsYXBzZVRocm91Z2gg
fTsKKyAgICBhdXRvIGNvbGxhcHNlZE1hcmdpbkJlZm9yZSA9IG1hcmdpblZhbHVlKHBvc2l0aXZl
TmVnYXRpdmVNYXJnaW5CZWZvcmUpOworICAgIHJldHVybiB7IHVzZWROb25Db2xsYXBzZWRNYXJn
aW4uYmVmb3JlLCBjb2xsYXBzZWRNYXJnaW5CZWZvcmUsIHBvc2l0aXZlTmVnYXRpdmVNYXJnaW5C
ZWZvcmUgfTsKIH0KIAogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>