<?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>189309</bug_id>
          
          <creation_ts>2018-09-05 10:46:59 -0700</creation_ts>
          <short_desc>[LFC] Drop Display:Box from FormattingContext::compute* functions</short_desc>
          <delta_ts>2018-09-05 10:55:33 -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>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>1456780</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-09-05 10:46:59 -0700</bug_when>
    <thetext>They are redundant and can get out of sync.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1456783</commentid>
    <comment_count>1</comment_count>
      <attachid>348943</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-09-05 10:49:42 -0700</bug_when>
    <thetext>Created attachment 348943
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1456784</commentid>
    <comment_count>2</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-09-05 10:54:18 -0700</bug_when>
    <thetext>Committed r235677: &lt;https://trac.webkit.org/changeset/235677&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1456785</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-05 10:55:33 -0700</bug_when>
    <thetext>&lt;rdar://problem/44145026&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348943</attachid>
            <date>2018-09-05 10:49:42 -0700</date>
            <delta_ts>2018-09-05 10:50:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189309-20180905104939.patch</filename>
            <type>text/plain</type>
            <size>27032</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NjY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWU3MTA3YmJhNWI4ZGM0
ZDkxMjVjNzM4MzMzNzg3MTdjODMzOWYzNi4uZGQwYzlmZDM5NGU5MzA0ZTQ5ZjRkOTE0YzA4M2Nm
ZWIzZmE5NzM0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE4LTA5LTA1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gRHJvcCBEaXNwbGF5
OkJveCBmcm9tIEZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlKiBmdW5jdGlvbnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTMwOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXkgYXJlIHJlZHVuZGFu
dCBhbmQgY291bGQgZ2V0IG91dCBvZiBzeW5jLgorCisgICAgICAgICogbGF5b3V0L0Zvcm1hdHRp
bmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRl
eHQ6OmNvbXB1dGVPdXRPZkZsb3dIb3Jpem9udGFsR2VvbWV0cnkgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZU91dE9mRmxvd1ZlcnRp
Y2FsR2VvbWV0cnkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5n
Q29udGV4dDo6Y29tcHV0ZUJvcmRlckFuZFBhZGRpbmcgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6cGxhY2VJbkZsb3dQb3NpdGlvbmVkQ2hpbGRy
ZW4gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6
bGF5b3V0T3V0T2ZGbG93RGVzY2VuZGFudHMgY29uc3QpOgorICAgICAgICAqIGxheW91dC9Gb3Jt
YXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tG
b3JtYXR0aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9y
bWF0dGluZ0NvbnRleHQ6OmxheW91dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dEZvcm1hdHRpbmdDb250ZXh0Um9vdCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmNv
bXB1dGVTdGF0aWNQb3NpdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJs
b2NrRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVFc3RpbWF0ZWRNYXJnaW5Ub3AgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRl
RXN0aW1hdGVkTWFyZ2luVG9wRm9yQW5jZXN0b3JzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUZsb2F0aW5nUG9zaXRpb24g
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0
Ojpjb21wdXRlUG9zaXRpb25Ub0F2b2lkRmxvYXRzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVZlcnRpY2FsUG9zaXRpb25G
b3JGbG9hdENsZWFyIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3Jt
YXR0aW5nQ29udGV4dDo6Y29tcHV0ZUluRmxvd1Bvc2l0aW9uZWRQb3NpdGlvbiBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVX
aWR0aEFuZE1hcmdpbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9y
bWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVIZWlnaHRBbmRNYXJnaW4gY29uc3QpOgorICAgICAgICAq
IGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAg
ICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1
dGVTdGF0aWNQb3NpdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGlu
ZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlSW5GbG93UG9zaXRpb25lZFBvc2l0aW9uIGNvbnN0
KToKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dC5oOgorCiAyMDE4LTA5LTA1ICBaYWxhbiBCdWp0YXMgPHphbGFuQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbTEZDXVtCRkNdIE1vdmUgTWFyZ2luQ29sbGFwc2UgY2xhc3MgdW5kZXIgQmxvY2tG
b3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0
dGluZ0NvbnRleHQuY3BwCmluZGV4IGJhODIwY2U5NTdmMWE0MzkzYjg3NmQ0YzAzMDc5MTlhMzg0
ZDUzOTEuLjYxNDEyNGMyYTE1OWQxZDU5MzAwNGJlN2Y1MTdhY2JmY2RlOGZiZTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtNTEsMTggKzUxLDIy
IEBAIEZvcm1hdHRpbmdDb250ZXh0Ojp+Rm9ybWF0dGluZ0NvbnRleHQoKQogewogfQogCi12b2lk
IEZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlT3V0T2ZGbG93SG9yaXpvbnRhbEdlb21ldHJ5KExh
eW91dENvbnRleHQmIGxheW91dENvbnRleHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94LCBEaXNwbGF5
OjpCb3gmIGRpc3BsYXlCb3gpIGNvbnN0Cit2b2lkIEZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRl
T3V0T2ZGbG93SG9yaXpvbnRhbEdlb21ldHJ5KExheW91dENvbnRleHQmIGxheW91dENvbnRleHQs
IGNvbnN0IEJveCYgbGF5b3V0Qm94KSBjb25zdAogewogICAgIGF1dG8gaG9yaXpvbnRhbEdlb21l
dHJ5ID0gR2VvbWV0cnk6Om91dE9mRmxvd0hvcml6b250YWxHZW9tZXRyeShsYXlvdXRDb250ZXh0
LCAqdGhpcywgbGF5b3V0Qm94KTsKKworICAgIGF1dG8mIGRpc3BsYXlCb3ggPSAqbGF5b3V0Q29u
dGV4dC5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KGxheW91dEJveCk7CiAgICAgZGlzcGxheUJveC5z
ZXRMZWZ0KGhvcml6b250YWxHZW9tZXRyeS5sZWZ0ICsgaG9yaXpvbnRhbEdlb21ldHJ5LndpZHRo
QW5kTWFyZ2luLm1hcmdpbi5sZWZ0KTsKICAgICBkaXNwbGF5Qm94LnNldENvbnRlbnRCb3hXaWR0
aChob3Jpem9udGFsR2VvbWV0cnkud2lkdGhBbmRNYXJnaW4ud2lkdGgpOwogICAgIGRpc3BsYXlC
b3guc2V0SG9yaXpvbnRhbE1hcmdpbihob3Jpem9udGFsR2VvbWV0cnkud2lkdGhBbmRNYXJnaW4u
bWFyZ2luKTsKICAgICBkaXNwbGF5Qm94LnNldEhvcml6b250YWxOb25Db21wdXRlZE1hcmdpbiho
b3Jpem9udGFsR2VvbWV0cnkud2lkdGhBbmRNYXJnaW4ubm9uQ29tcHV0ZWRNYXJnaW4pOwogfQog
Ci12b2lkIEZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlT3V0T2ZGbG93VmVydGljYWxHZW9tZXRy
eShMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBCb3gmIGxheW91dEJveCwgRGlz
cGxheTo6Qm94JiBkaXNwbGF5Qm94KSBjb25zdAordm9pZCBGb3JtYXR0aW5nQ29udGV4dDo6Y29t
cHV0ZU91dE9mRmxvd1ZlcnRpY2FsR2VvbWV0cnkoTGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4
dCwgY29uc3QgQm94JiBsYXlvdXRCb3gpIGNvbnN0CiB7CiAgICAgYXV0byB2ZXJ0aWNhbEdlb21l
dHJ5ID0gR2VvbWV0cnk6Om91dE9mRmxvd1ZlcnRpY2FsR2VvbWV0cnkobGF5b3V0Q29udGV4dCwg
bGF5b3V0Qm94KTsKKworICAgIGF1dG8mIGRpc3BsYXlCb3ggPSAqbGF5b3V0Q29udGV4dC5kaXNw
bGF5Qm94Rm9yTGF5b3V0Qm94KGxheW91dEJveCk7CiAgICAgZGlzcGxheUJveC5zZXRUb3AodmVy
dGljYWxHZW9tZXRyeS50b3AgKyB2ZXJ0aWNhbEdlb21ldHJ5LmhlaWdodEFuZE1hcmdpbi5tYXJn
aW4udG9wKTsKICAgICBkaXNwbGF5Qm94LnNldENvbnRlbnRCb3hIZWlnaHQodmVydGljYWxHZW9t
ZXRyeS5oZWlnaHRBbmRNYXJnaW4uaGVpZ2h0KTsKICAgICBBU1NFUlQoIXZlcnRpY2FsR2VvbWV0
cnkuaGVpZ2h0QW5kTWFyZ2luLmNvbGxhcHNlZE1hcmdpbik7CkBAIC03MCw4ICs3NCw5IEBAIHZv
aWQgRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVPdXRPZkZsb3dWZXJ0aWNhbEdlb21ldHJ5KExh
eW91dENvbnRleHQmIGxheW91dENvCiAgICAgZGlzcGxheUJveC5zZXRWZXJ0aWNhbE5vbkNvbGxh
cHNlZE1hcmdpbih2ZXJ0aWNhbEdlb21ldHJ5LmhlaWdodEFuZE1hcmdpbi5tYXJnaW4pOwogfQog
Ci12b2lkIEZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlQm9yZGVyQW5kUGFkZGluZyhMYXlvdXRD
b250ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBCb3gmIGxheW91dEJveCwgRGlzcGxheTo6Qm94
JiBkaXNwbGF5Qm94KSBjb25zdAordm9pZCBGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUJvcmRl
ckFuZFBhZGRpbmcoTGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4dCwgY29uc3QgQm94JiBsYXlv
dXRCb3gpIGNvbnN0CiB7CisgICAgYXV0byYgZGlzcGxheUJveCA9ICpsYXlvdXRDb250ZXh0LmRp
c3BsYXlCb3hGb3JMYXlvdXRCb3gobGF5b3V0Qm94KTsKICAgICBkaXNwbGF5Qm94LnNldEJvcmRl
cihHZW9tZXRyeTo6Y29tcHV0ZWRCb3JkZXIobGF5b3V0Q29udGV4dCwgbGF5b3V0Qm94KSk7CiAg
ICAgZGlzcGxheUJveC5zZXRQYWRkaW5nKEdlb21ldHJ5Ojpjb21wdXRlZFBhZGRpbmcobGF5b3V0
Q29udGV4dCwgbGF5b3V0Qm94KSk7CiB9CkBAIC04Niw3ICs5MSw3IEBAIHZvaWQgRm9ybWF0dGlu
Z0NvbnRleHQ6OnBsYWNlSW5GbG93UG9zaXRpb25lZENoaWxkcmVuKExheW91dENvbnRleHQmIGxh
eW91dENvbnRlCiAgICAgZm9yIChhdXRvJiBsYXlvdXRCb3ggOiBjaGlsZHJlbk9mVHlwZTxCb3g+
KGNvbnRhaW5lcikpIHsKICAgICAgICAgaWYgKCFsYXlvdXRCb3guaXNJbkZsb3dQb3NpdGlvbmVk
KCkpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgY29tcHV0ZUluRmxvd1Bvc2l0aW9u
ZWRQb3NpdGlvbihsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gsICpsYXlvdXRDb250ZXh0LmRpc3Bs
YXlCb3hGb3JMYXlvdXRCb3gobGF5b3V0Qm94KSk7CisgICAgICAgIGNvbXB1dGVJbkZsb3dQb3Np
dGlvbmVkUG9zaXRpb24obGF5b3V0Q29udGV4dCwgbGF5b3V0Qm94KTsKICAgICB9CiAgICAgTE9H
X1dJVEhfU1RSRUFNKEZvcm1hdHRpbmdDb250ZXh0TGF5b3V0LCBzdHJlYW0gPDwgIkVuZDogbW92
ZSBpbi1mbG93IHBvc2l0aW9uZWQgY2hpbGRyZW4gLT4gY29udGV4dDogIiA8PCAmbGF5b3V0Q29u
dGV4dCA8PCAiIHBhcmVudDogIiA8PCAmY29udGFpbmVyKTsKIH0KQEAgLTEwOCwxNyArMTEzLDE3
IEBAIHZvaWQgRm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dE91dE9mRmxvd0Rlc2NlbmRhbnRzKExh
eW91dENvbnRleHQmIGxheW91dENvbnRleHQsCiAKICAgICBmb3IgKGF1dG8mIG91dE9mRmxvd0Jv
eCA6IGNvbnRhaW5lci5vdXRPZkZsb3dEZXNjZW5kYW50cygpKSB7CiAgICAgICAgIGF1dG8mIGxh
eW91dEJveCA9ICpvdXRPZkZsb3dCb3g7Ci0gICAgICAgIGF1dG8mIGRpc3BsYXlCb3ggPSBsYXlv
dXRDb250ZXh0LmNyZWF0ZURpc3BsYXlCb3gobGF5b3V0Qm94KTsKKyAgICAgICAgbGF5b3V0Q29u
dGV4dC5jcmVhdGVEaXNwbGF5Qm94KGxheW91dEJveCk7CiAKICAgICAgICAgQVNTRVJUKGxheW91
dEJveC5lc3RhYmxpc2hlc0Zvcm1hdHRpbmdDb250ZXh0KCkpOwogICAgICAgICBhdXRvIGZvcm1h
dHRpbmdDb250ZXh0ID0gbGF5b3V0Q29udGV4dC5mb3JtYXR0aW5nQ29udGV4dChsYXlvdXRCb3gp
OwogCi0gICAgICAgIGNvbXB1dGVCb3JkZXJBbmRQYWRkaW5nKGxheW91dENvbnRleHQsIGxheW91
dEJveCwgZGlzcGxheUJveCk7Ci0gICAgICAgIGNvbXB1dGVPdXRPZkZsb3dIb3Jpem9udGFsR2Vv
bWV0cnkobGF5b3V0Q29udGV4dCwgbGF5b3V0Qm94LCBkaXNwbGF5Qm94KTsKKyAgICAgICAgY29t
cHV0ZUJvcmRlckFuZFBhZGRpbmcobGF5b3V0Q29udGV4dCwgbGF5b3V0Qm94KTsKKyAgICAgICAg
Y29tcHV0ZU91dE9mRmxvd0hvcml6b250YWxHZW9tZXRyeShsYXlvdXRDb250ZXh0LCBsYXlvdXRC
b3gpOwogCiAgICAgICAgIGZvcm1hdHRpbmdDb250ZXh0LT5sYXlvdXQobGF5b3V0Q29udGV4dCwg
bGF5b3V0Q29udGV4dC5lc3RhYmxpc2hlZEZvcm1hdHRpbmdTdGF0ZShsYXlvdXRCb3gpKTsKIAot
ICAgICAgICBjb21wdXRlT3V0T2ZGbG93VmVydGljYWxHZW9tZXRyeShsYXlvdXRDb250ZXh0LCBs
YXlvdXRCb3gsIGRpc3BsYXlCb3gpOworICAgICAgICBjb21wdXRlT3V0T2ZGbG93VmVydGljYWxH
ZW9tZXRyeShsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gpOwogICAgICAgICBsYXlvdXRPdXRPZkZs
b3dEZXNjZW5kYW50cyhsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gpOwogICAgIH0KICAgICBMT0df
V0lUSF9TVFJFQU0oRm9ybWF0dGluZ0NvbnRleHRMYXlvdXQsIHN0cmVhbSA8PCAiRW5kOiBsYXlv
dXQgb3V0LW9mLWZsb3cgZGVzY2VuZGFudHMgLT4gY29udGV4dDogIiA8PCAmbGF5b3V0Q29udGV4
dCA8PCAiIHJvb3Q6ICIgPDwgJnJvb3QoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0
aW5nQ29udGV4dC5oCmluZGV4IDExYzc3MTdkMTE5ZGVkYWRkNzQ3NWUyZTEwNGM1YzRlZDkyODM3
YjYuLjExNGE0MzE4MjRlZmZmMTc5OGMxYzgxYjNlM2Q4YzgyNjQwYzU3MDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oCkBAIC02NCwxOCArNjQsMTQgQEAgcHVi
bGljOgogICAgIHN0YXRpYyBQb3NpdGlvbiBtYXBDb29yZGluYXRlVG9BbmNlc3Rvcihjb25zdCBM
YXlvdXRDb250ZXh0JiwgUG9zaXRpb24sIGNvbnN0IENvbnRhaW5lciYgY29udGFpbmluZ0Jsb2Nr
LCBjb25zdCBDb250YWluZXImIGFuY2VzdG9yKTsKIAogcHJvdGVjdGVkOgotICAgIHN0cnVjdCBC
b3hQYWlyIHsKLSAgICAgICAgY29uc3QgQm94JiBsYXlvdXQ7Ci0gICAgICAgIERpc3BsYXk6OkJv
eCYgZGlzcGxheTsKLSAgICB9OwotICAgIHVzaW5nIExheW91dFF1ZXVlID0gVmVjdG9yPHN0ZDo6
dW5pcXVlX3B0cjxCb3hQYWlyPj47CisgICAgdXNpbmcgTGF5b3V0UXVldWUgPSBWZWN0b3I8Y29u
c3QgQm94Kj47CiAKICAgICBjb25zdCBCb3gmIHJvb3QoKSBjb25zdCB7IHJldHVybiAqbV9yb290
OyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVN0YXRpY1Bvc2l0aW9uKExheW91dENvbnRl
eHQmLCBjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gmKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCB2
b2lkIGNvbXB1dGVJbkZsb3dQb3NpdGlvbmVkUG9zaXRpb24oTGF5b3V0Q29udGV4dCYsIGNvbnN0
IEJveCYsIERpc3BsYXk6OkJveCYpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgY29tcHV0
ZVN0YXRpY1Bvc2l0aW9uKExheW91dENvbnRleHQmLCBjb25zdCBCb3gmKSBjb25zdCA9IDA7Cisg
ICAgdmlydHVhbCB2b2lkIGNvbXB1dGVJbkZsb3dQb3NpdGlvbmVkUG9zaXRpb24oTGF5b3V0Q29u
dGV4dCYsIGNvbnN0IEJveCYpIGNvbnN0ID0gMDsKIAotICAgIHZvaWQgY29tcHV0ZUJvcmRlckFu
ZFBhZGRpbmcoTGF5b3V0Q29udGV4dCYsIGNvbnN0IEJveCYsIERpc3BsYXk6OkJveCYpIGNvbnN0
OworICAgIHZvaWQgY29tcHV0ZUJvcmRlckFuZFBhZGRpbmcoTGF5b3V0Q29udGV4dCYsIGNvbnN0
IEJveCYpIGNvbnN0OwogCiAgICAgdm9pZCBwbGFjZUluRmxvd1Bvc2l0aW9uZWRDaGlsZHJlbihM
YXlvdXRDb250ZXh0JiwgY29uc3QgQ29udGFpbmVyJikgY29uc3Q7CiAKQEAgLTEyMyw4ICsxMTks
OCBAQCBwcm90ZWN0ZWQ6CiAgICAgfTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIGNvbXB1dGVPdXRP
ZkZsb3dWZXJ0aWNhbEdlb21ldHJ5KExheW91dENvbnRleHQmLCBjb25zdCBCb3gmLCBEaXNwbGF5
OjpCb3gmKSBjb25zdDsKLSAgICB2b2lkIGNvbXB1dGVPdXRPZkZsb3dIb3Jpem9udGFsR2VvbWV0
cnkoTGF5b3V0Q29udGV4dCYsIGNvbnN0IEJveCYsIERpc3BsYXk6OkJveCYpIGNvbnN0OworICAg
IHZvaWQgY29tcHV0ZU91dE9mRmxvd1ZlcnRpY2FsR2VvbWV0cnkoTGF5b3V0Q29udGV4dCYsIGNv
bnN0IEJveCYpIGNvbnN0OworICAgIHZvaWQgY29tcHV0ZU91dE9mRmxvd0hvcml6b250YWxHZW9t
ZXRyeShMYXlvdXRDb250ZXh0JiwgY29uc3QgQm94JikgY29uc3Q7CiAKICAgICBXZWFrUHRyPEJv
eD4gbV9yb290OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zv
cm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IGI5NjQw
ZThjYjVlMjAxMmVmZTgwMjc5OWJiYzEwMGY2ZGU5MWQ2ZWIuLjg5NDY0YWNmNzQ2YmQ1OWI0ZGNi
YjRiZmZlODlkN2ZiMDRmYWViYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9i
bG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmNwcApA
QCAtNjUsOCArNjUsMTAgQEAgdm9pZCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXQoTGF5
b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4dCwgRm9ybWF0dGluZ1N0YXQKICAgICBGbG9hdGluZ0Nv
bnRleHQgZmxvYXRpbmdDb250ZXh0KGZvcm1hdHRpbmdTdGF0ZS5mbG9hdGluZ1N0YXRlKCkpOwog
ICAgIC8vIFRoaXMgaXMgYSBwb3N0LW9yZGVyIHRyZWUgdHJhdmVyc2FsIGxheW91dC4KICAgICAv
LyBUaGUgcm9vdCBjb250YWluZXIgbGF5b3V0IGlzIGRvbmUgaW4gdGhlIGZvcm1hdHRpbmcgY29u
dGV4dCBpdCBsaXZlcyBpbiwgbm90IHRoYXQgb25lIGl0IGNyZWF0ZXMsIHNvIGxldCdzIHN0YXJ0
IHdpdGggdGhlIGZpcnN0IGNoaWxkLgotICAgIGlmIChhdXRvKiBmaXJzdENoaWxkID0gZm9ybWF0
dGluZ1Jvb3QuZmlyc3RJbkZsb3dPckZsb2F0aW5nQ2hpbGQoKSkKLSAgICAgICAgbGF5b3V0UXVl
dWUuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8Qm94UGFpcj4oQm94UGFpciB7KmZpcnN0Q2hpbGQs
IGxheW91dENvbnRleHQuY3JlYXRlRGlzcGxheUJveCgqZmlyc3RDaGlsZCl9KSk7CisgICAgaWYg
KGF1dG8qIGZpcnN0Q2hpbGQgPSBmb3JtYXR0aW5nUm9vdC5maXJzdEluRmxvd09yRmxvYXRpbmdD
aGlsZCgpKSB7CisgICAgICAgIGxheW91dFF1ZXVlLmFwcGVuZChmaXJzdENoaWxkKTsKKyAgICAg
ICAgbGF5b3V0Q29udGV4dC5jcmVhdGVEaXNwbGF5Qm94KCpmaXJzdENoaWxkKTsKKyAgICB9CiAg
ICAgLy8gMS4gR28gYWxsIHRoZSB3YXkgZG93biB0byB0aGUgbGVhZiBub2RlCiAgICAgLy8gMi4g
Q29tcHV0ZSBzdGF0aWMgcG9zaXRpb24gYW5kIHdpZHRoIGFzIHdlIHRyYXZlcnNlIGRvd24KICAg
ICAvLyAzLiBBcyB3ZSBjbGltYiBiYWNrIG9uIHRoZSB0cmVlLCBjb21wdXRlIGhlaWdodCBhbmQg
ZmluaWFsaXplIHBvc2l0aW9uCkBAIC03NCw1MyArNzYsNTIgQEAgdm9pZCBCbG9ja0Zvcm1hdHRp
bmdDb250ZXh0OjpsYXlvdXQoTGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4dCwgRm9ybWF0dGlu
Z1N0YXQKICAgICB3aGlsZSAoIWxheW91dFF1ZXVlLmlzRW1wdHkoKSkgewogICAgICAgICAvLyBU
cmF2ZXJzZSBkb3duIG9uIHRoZSBkZXNjZW5kYW50cyBhbmQgY29tcHV0ZSB3aWR0aC9zdGF0aWMg
cG9zaXRpb24gdW50aWwgd2UgZmluZCBhIGxlYWYgbm9kZS4KICAgICAgICAgd2hpbGUgKHRydWUp
IHsKLSAgICAgICAgICAgIGF1dG8mIGJveFBhaXIgPSAqbGF5b3V0UXVldWUubGFzdCgpOwotICAg
ICAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gYm94UGFpci5sYXlvdXQ7Ci0gICAgICAgICAgICBh
dXRvJiBkaXNwbGF5Qm94ID0gYm94UGFpci5kaXNwbGF5OworICAgICAgICAgICAgYXV0byYgbGF5
b3V0Qm94ID0gKmxheW91dFF1ZXVlLmxhc3QoKTsKIAogICAgICAgICAgICAgaWYgKGxheW91dEJv
eC5lc3RhYmxpc2hlc0Zvcm1hdHRpbmdDb250ZXh0KCkpIHsKLSAgICAgICAgICAgICAgICBsYXlv
dXRGb3JtYXR0aW5nQ29udGV4dFJvb3QobGF5b3V0Q29udGV4dCwgZmxvYXRpbmdDb250ZXh0LCBm
b3JtYXR0aW5nU3RhdGUsIGxheW91dEJveCwgZGlzcGxheUJveCk7CisgICAgICAgICAgICAgICAg
bGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRSb290KGxheW91dENvbnRleHQsIGZsb2F0aW5nQ29udGV4
dCwgZm9ybWF0dGluZ1N0YXRlLCBsYXlvdXRCb3gpOwogICAgICAgICAgICAgICAgIGxheW91dFF1
ZXVlLnJlbW92ZUxhc3QoKTsKICAgICAgICAgICAgICAgICAvLyBTaW5jZSB0aGlzIGJveCBpcyBh
IGZvcm1hdHRpbmcgY29udGV4dCByb290LCBpdCB0YWtlcyBjYXJlIG9mIGl0cyBlbnRpcmUgc3Vi
dHJlZS4KICAgICAgICAgICAgICAgICAvLyBDb250aW51ZSB3aXRoIG5leHQgc2libGluZyBpZiBl
eGlzdHMuCiAgICAgICAgICAgICAgICAgaWYgKCFsYXlvdXRCb3gubmV4dEluRmxvd09yRmxvYXRp
bmdTaWJsaW5nKCkpCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAg
IGF1dG8qIG5leHRTaWJsaW5nID0gbGF5b3V0Qm94Lm5leHRJbkZsb3dPckZsb2F0aW5nU2libGlu
ZygpOwotICAgICAgICAgICAgICAgIGxheW91dFF1ZXVlLmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVl
PEJveFBhaXI+KEJveFBhaXIgeypuZXh0U2libGluZywgbGF5b3V0Q29udGV4dC5jcmVhdGVEaXNw
bGF5Qm94KCpuZXh0U2libGluZyl9KSk7CisgICAgICAgICAgICAgICAgbGF5b3V0UXVldWUuYXBw
ZW5kKG5leHRTaWJsaW5nKTsKKyAgICAgICAgICAgICAgICBsYXlvdXRDb250ZXh0LmNyZWF0ZURp
c3BsYXlCb3goKm5leHRTaWJsaW5nKTsKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAg
ICAgICAgIH0KIAogICAgICAgICAgICAgTE9HX1dJVEhfU1RSRUFNKEZvcm1hdHRpbmdDb250ZXh0
TGF5b3V0LCBzdHJlYW0gPDwgIltDb21wdXRlXSAtPiBbUG9zaXRpb25dW0JvcmRlcl1bUGFkZGlu
Z11bV2lkdGhdW01hcmdpbl0gLT4gZm9yIGxheW91dEJveCgiIDw8ICZsYXlvdXRCb3ggPDwgIiki
KTsKLSAgICAgICAgICAgIGNvbXB1dGVTdGF0aWNQb3NpdGlvbihsYXlvdXRDb250ZXh0LCBsYXlv
dXRCb3gsIGRpc3BsYXlCb3gpOwotICAgICAgICAgICAgY29tcHV0ZUJvcmRlckFuZFBhZGRpbmco
bGF5b3V0Q29udGV4dCwgbGF5b3V0Qm94LCBkaXNwbGF5Qm94KTsKLSAgICAgICAgICAgIGNvbXB1
dGVXaWR0aEFuZE1hcmdpbihsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gsIGRpc3BsYXlCb3gpOwor
ICAgICAgICAgICAgY29tcHV0ZVN0YXRpY1Bvc2l0aW9uKGxheW91dENvbnRleHQsIGxheW91dEJv
eCk7CisgICAgICAgICAgICBjb21wdXRlQm9yZGVyQW5kUGFkZGluZyhsYXlvdXRDb250ZXh0LCBs
YXlvdXRCb3gpOworICAgICAgICAgICAgY29tcHV0ZVdpZHRoQW5kTWFyZ2luKGxheW91dENvbnRl
eHQsIGxheW91dEJveCk7CiAgICAgICAgICAgICBpZiAoIWlzPENvbnRhaW5lcj4obGF5b3V0Qm94
KSB8fCAhZG93bmNhc3Q8Q29udGFpbmVyPihsYXlvdXRCb3gpLmhhc0luRmxvd09yRmxvYXRpbmdD
aGlsZCgpKQogICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgYXV0byYgZmlyc3RD
aGlsZCA9ICpkb3duY2FzdDxDb250YWluZXI+KGxheW91dEJveCkuZmlyc3RJbkZsb3dPckZsb2F0
aW5nQ2hpbGQoKTsKLSAgICAgICAgICAgIGxheW91dFF1ZXVlLmFwcGVuZChzdGQ6Om1ha2VfdW5p
cXVlPEJveFBhaXI+KEJveFBhaXIge2ZpcnN0Q2hpbGQsIGxheW91dENvbnRleHQuY3JlYXRlRGlz
cGxheUJveChmaXJzdENoaWxkKX0pKTsKKyAgICAgICAgICAgIGF1dG8qIGZpcnN0Q2hpbGQgPSBk
b3duY2FzdDxDb250YWluZXI+KGxheW91dEJveCkuZmlyc3RJbkZsb3dPckZsb2F0aW5nQ2hpbGQo
KTsKKyAgICAgICAgICAgIGxheW91dFF1ZXVlLmFwcGVuZChmaXJzdENoaWxkKTsKKyAgICAgICAg
ICAgIGxheW91dENvbnRleHQuY3JlYXRlRGlzcGxheUJveCgqZmlyc3RDaGlsZCk7CiAgICAgICAg
IH0KIAogICAgICAgICAvLyBDbGltYiBiYWNrIG9uIHRoZSBhbmNlc3RvcnMgYW5kIGNvbXB1dGUg
aGVpZ2h0L2ZpbmFsIHBvc2l0aW9uLgogICAgICAgICB3aGlsZSAoIWxheW91dFF1ZXVlLmlzRW1w
dHkoKSkgewogICAgICAgICAgICAgLy8gQWxsIGluZmxvdyBkZXNjZW5kYW50cyAoaWYgdGhlcmUg
YXJlIGFueSkgYXJlIGxhaWQgb3V0IGJ5IG5vdy4gTGV0J3MgY29tcHV0ZSB0aGUgYm94J3MgaGVp
Z2h0LgotICAgICAgICAgICAgYXV0byBib3hQYWlyID0gbGF5b3V0UXVldWUudGFrZUxhc3QoKTsK
LSAgICAgICAgICAgIGF1dG8mIGxheW91dEJveCA9IGJveFBhaXItPmxheW91dDsKLSAgICAgICAg
ICAgIGF1dG8mIGRpc3BsYXlCb3ggPSBib3hQYWlyLT5kaXNwbGF5OworICAgICAgICAgICAgYXV0
byYgbGF5b3V0Qm94ID0gKmxheW91dFF1ZXVlLnRha2VMYXN0KCk7CiAKICAgICAgICAgICAgIExP
R19XSVRIX1NUUkVBTShGb3JtYXR0aW5nQ29udGV4dExheW91dCwgc3RyZWFtIDw8ICJbQ29tcHV0
ZV0gLT4gW0hlaWdodF1bTWFyZ2luXSAtPiBmb3IgbGF5b3V0Qm94KCIgPDwgJmxheW91dEJveCA8
PCAiKSIpOwogICAgICAgICAgICAgLy8gRm9ybWF0dGluZyByb290IGJveGVzIGFyZSBzcGVjaWFs
LWNhc2VkIGFuZCB0aGV5IGRvbid0IGNvbWUgaGVyZS4KICAgICAgICAgICAgIEFTU0VSVCghbGF5
b3V0Qm94LmVzdGFibGlzaGVzRm9ybWF0dGluZ0NvbnRleHQoKSk7Ci0gICAgICAgICAgICBjb21w
dXRlSGVpZ2h0QW5kTWFyZ2luKGxheW91dENvbnRleHQsIGxheW91dEJveCwgZGlzcGxheUJveCk7
CisgICAgICAgICAgICBjb21wdXRlSGVpZ2h0QW5kTWFyZ2luKGxheW91dENvbnRleHQsIGxheW91
dEJveCk7CiAgICAgICAgICAgICAvLyBGaW5hbGl6ZSBwb3NpdGlvbiB3aXRoIGNsZWFyYW5jZS4K
ICAgICAgICAgICAgIGlmIChsYXlvdXRCb3guaGFzRmxvYXRDbGVhcigpKQotICAgICAgICAgICAg
ICAgIGNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yRmxvYXRDbGVhcihsYXlvdXRDb250ZXh0LCBm
bG9hdGluZ0NvbnRleHQsIGxheW91dEJveCwgZGlzcGxheUJveCk7CisgICAgICAgICAgICAgICAg
Y29tcHV0ZVZlcnRpY2FsUG9zaXRpb25Gb3JGbG9hdENsZWFyKGxheW91dENvbnRleHQsIGZsb2F0
aW5nQ29udGV4dCwgbGF5b3V0Qm94KTsKICAgICAgICAgICAgIGlmICghaXM8Q29udGFpbmVyPihs
YXlvdXRCb3gpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgYXV0byYg
Y29udGFpbmVyID0gZG93bmNhc3Q8Q29udGFpbmVyPihsYXlvdXRCb3gpOwogICAgICAgICAgICAg
Ly8gTW92ZSBpbi1mbG93IHBvc2l0aW9uZWQgY2hpbGRyZW4gdG8gdGhlaXIgZmluYWwgcG9zaXRp
b24uCiAgICAgICAgICAgICBwbGFjZUluRmxvd1Bvc2l0aW9uZWRDaGlsZHJlbihsYXlvdXRDb250
ZXh0LCBjb250YWluZXIpOwogICAgICAgICAgICAgaWYgKGF1dG8qIG5leHRTaWJsaW5nID0gY29u
dGFpbmVyLm5leHRJbkZsb3dPckZsb2F0aW5nU2libGluZygpKSB7Ci0gICAgICAgICAgICAgICAg
bGF5b3V0UXVldWUuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8Qm94UGFpcj4oQm94UGFpciB7Km5l
eHRTaWJsaW5nLCBsYXlvdXRDb250ZXh0LmNyZWF0ZURpc3BsYXlCb3goKm5leHRTaWJsaW5nKX0p
KTsKKyAgICAgICAgICAgICAgICBsYXlvdXRRdWV1ZS5hcHBlbmQobmV4dFNpYmxpbmcpOworICAg
ICAgICAgICAgICAgIGxheW91dENvbnRleHQuY3JlYXRlRGlzcGxheUJveCgqbmV4dFNpYmxpbmcp
OwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0x
MzAsMTMgKzEzMSwxMyBAQCB2b2lkIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dChMYXlv
dXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBGb3JtYXR0aW5nU3RhdAogICAgIExPR19XSVRIX1NU
UkVBTShGb3JtYXR0aW5nQ29udGV4dExheW91dCwgc3RyZWFtIDw8ICJbRW5kXSAtPiBibG9jayBm
b3JtYXR0aW5nIGNvbnRleHQgLT4gbGF5b3V0IGNvbnRleHQoIiA8PCAmbGF5b3V0Q29udGV4dCA8
PCAiKSBmb3JtYXR0aW5nIHJvb3QoIiA8PCAmcm9vdCgpIDw8ICIpIik7CiB9CiAKLXZvaWQgQmxv
Y2tGb3JtYXR0aW5nQ29udGV4dDo6bGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRSb290KExheW91dENv
bnRleHQmIGxheW91dENvbnRleHQsIEZsb2F0aW5nQ29udGV4dCYgZmxvYXRpbmdDb250ZXh0LCBG
b3JtYXR0aW5nU3RhdGUmLCBjb25zdCBCb3gmIGxheW91dEJveCwgRGlzcGxheTo6Qm94JiBkaXNw
bGF5Qm94KSBjb25zdAordm9pZCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXRGb3JtYXR0
aW5nQ29udGV4dFJvb3QoTGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4dCwgRmxvYXRpbmdDb250
ZXh0JiBmbG9hdGluZ0NvbnRleHQsIEZvcm1hdHRpbmdTdGF0ZSYsIGNvbnN0IEJveCYgbGF5b3V0
Qm94KSBjb25zdAogewogICAgIC8vIFN0YXJ0IGxheWluZyBvdXQgdGhpcyBmb3JtYXR0aW5nIHJv
b3QgaW4gdGhlIGZvcm1hdHRpbmcgY29udGVueHQgaXQgbGl2ZXMgaW4uCiAgICAgTE9HX1dJVEhf
U1RSRUFNKEZvcm1hdHRpbmdDb250ZXh0TGF5b3V0LCBzdHJlYW0gPDwgIltDb21wdXRlXSAtPiBb
UG9zaXRpb25dW0JvcmRlcl1bUGFkZGluZ11bV2lkdGhdW01hcmdpbl0gLT4gZm9yIGxheW91dEJv
eCgiIDw8ICZsYXlvdXRCb3ggPDwgIikiKTsKLSAgICBjb21wdXRlU3RhdGljUG9zaXRpb24obGF5
b3V0Q29udGV4dCwgbGF5b3V0Qm94LCBkaXNwbGF5Qm94KTsKLSAgICBjb21wdXRlQm9yZGVyQW5k
UGFkZGluZyhsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gsIGRpc3BsYXlCb3gpOwotICAgIGNvbXB1
dGVXaWR0aEFuZE1hcmdpbihsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gsIGRpc3BsYXlCb3gpOwor
ICAgIGNvbXB1dGVTdGF0aWNQb3NpdGlvbihsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gpOworICAg
IGNvbXB1dGVCb3JkZXJBbmRQYWRkaW5nKGxheW91dENvbnRleHQsIGxheW91dEJveCk7CisgICAg
Y29tcHV0ZVdpZHRoQW5kTWFyZ2luKGxheW91dENvbnRleHQsIGxheW91dEJveCk7CiAKICAgICAv
LyBTd2ljaCBvdmVyIHRvIHRoZSBuZXcgZm9ybWF0dGluZyBjb250ZXh0ICh0aGUgb25lIHRoYXQg
dGhlIHJvb3QgY3JlYXRlcykuCiAgICAgYXV0byBmb3JtYXR0aW5nQ29udGV4dCA9IGxheW91dENv
bnRleHQuZm9ybWF0dGluZ0NvbnRleHQobGF5b3V0Qm94KTsKQEAgLTE0NCwyOCArMTQ1LDMwIEBA
IHZvaWQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6bGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRSb290
KExheW91dENvbnRleHQmIGxheW91dENvCiAKICAgICAvLyBDb21lIGJhY2sgYW5kIGZpbmFsaXpl
IHRoZSByb290J3MgZ2VvbWV0cnkuCiAgICAgTE9HX1dJVEhfU1RSRUFNKEZvcm1hdHRpbmdDb250
ZXh0TGF5b3V0LCBzdHJlYW0gPDwgIltDb21wdXRlXSAtPiBbSGVpZ2h0XVtNYXJnaW5dIC0+IGZv
ciBsYXlvdXRCb3goIiA8PCAmbGF5b3V0Qm94IDw8ICIpIik7Ci0gICAgY29tcHV0ZUhlaWdodEFu
ZE1hcmdpbihsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gsIGRpc3BsYXlCb3gpOworICAgIGNvbXB1
dGVIZWlnaHRBbmRNYXJnaW4obGF5b3V0Q29udGV4dCwgbGF5b3V0Qm94KTsKIAogICAgIC8vIEZs
b2F0IHJlbGF0ZWQgZmluYWwgcG9zaXRpb25pbmcuCiAgICAgaWYgKGxheW91dEJveC5pc0Zsb2F0
aW5nUG9zaXRpb25lZCgpKQotICAgICAgICBjb21wdXRlRmxvYXRpbmdQb3NpdGlvbihsYXlvdXRD
b250ZXh0LCBmbG9hdGluZ0NvbnRleHQsIGxheW91dEJveCwgZGlzcGxheUJveCk7CisgICAgICAg
IGNvbXB1dGVGbG9hdGluZ1Bvc2l0aW9uKGxheW91dENvbnRleHQsIGZsb2F0aW5nQ29udGV4dCwg
bGF5b3V0Qm94KTsKICAgICBlbHNlIGlmIChsYXlvdXRCb3guaGFzRmxvYXRDbGVhcigpKQotICAg
ICAgICBjb21wdXRlVmVydGljYWxQb3NpdGlvbkZvckZsb2F0Q2xlYXIobGF5b3V0Q29udGV4dCwg
ZmxvYXRpbmdDb250ZXh0LCBsYXlvdXRCb3gsIGRpc3BsYXlCb3gpOworICAgICAgICBjb21wdXRl
VmVydGljYWxQb3NpdGlvbkZvckZsb2F0Q2xlYXIobGF5b3V0Q29udGV4dCwgZmxvYXRpbmdDb250
ZXh0LCBsYXlvdXRCb3gpOwogICAgIGVsc2UKLSAgICAgICAgY29tcHV0ZVBvc2l0aW9uVG9Bdm9p
ZEZsb2F0cyhsYXlvdXRDb250ZXh0LCBmbG9hdGluZ0NvbnRleHQsIGxheW91dEJveCwgZGlzcGxh
eUJveCk7CisgICAgICAgIGNvbXB1dGVQb3NpdGlvblRvQXZvaWRGbG9hdHMobGF5b3V0Q29udGV4
dCwgZmxvYXRpbmdDb250ZXh0LCBsYXlvdXRCb3gpOwogCiAgICAgLy8gTm93IHRoYXQgd2UgY29t
cHV0ZWQgdGhlIHJvb3QncyBoZWlnaHQsIHdlIGNhbiBnbyBiYWNrIGFuZCBsYXlvdXQgdGhlIG91
dC1vZi1mbG93IGRlc2NlZGFudHMgKGlmIGFueSkuCiAgICAgZm9ybWF0dGluZ0NvbnRleHQtPmxh
eW91dE91dE9mRmxvd0Rlc2NlbmRhbnRzKGxheW91dENvbnRleHQsIGxheW91dEJveCk7CiB9CiAK
LXZvaWQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVN0YXRpY1Bvc2l0aW9uKExheW91
dENvbnRleHQmIGxheW91dENvbnRleHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94LCBEaXNwbGF5OjpC
b3gmIGRpc3BsYXlCb3gpIGNvbnN0Cit2b2lkIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1
dGVTdGF0aWNQb3NpdGlvbihMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBCb3gm
IGxheW91dEJveCkgY29uc3QKIHsKLSAgICBkaXNwbGF5Qm94LnNldFRvcExlZnQoR2VvbWV0cnk6
OnN0YXRpY1Bvc2l0aW9uKGxheW91dENvbnRleHQsIGxheW91dEJveCkpOworICAgIGxheW91dENv
bnRleHQuZGlzcGxheUJveEZvckxheW91dEJveChsYXlvdXRCb3gpLT5zZXRUb3BMZWZ0KEdlb21l
dHJ5OjpzdGF0aWNQb3NpdGlvbihsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gpKTsKIH0KIAotdm9p
ZCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlRXN0aW1hdGVkTWFyZ2luVG9wKExheW91
dENvbnRleHQmIGxheW91dENvbnRleHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94LCBEaXNwbGF5OjpC
b3gmIGRpc3BsYXlCb3gpIGNvbnN0Cit2b2lkIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1
dGVFc3RpbWF0ZWRNYXJnaW5Ub3AoTGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4dCwgY29uc3Qg
Qm94JiBsYXlvdXRCb3gpIGNvbnN0CiB7CiAgICAgYXV0byBlc3RpbWF0ZWRNYXJnaW5Ub3AgPSBH
ZW9tZXRyeTo6ZXN0aW1hdGVkTWFyZ2luVG9wKGxheW91dENvbnRleHQsIGxheW91dEJveCk7CisK
KyAgICBhdXRvJiBkaXNwbGF5Qm94ID0gKmxheW91dENvbnRleHQuZGlzcGxheUJveEZvckxheW91
dEJveChsYXlvdXRCb3gpOwogICAgIGRpc3BsYXlCb3guc2V0RXN0aW1hdGVkTWFyZ2luVG9wKGVz
dGltYXRlZE1hcmdpblRvcCk7CiAgICAgZGlzcGxheUJveC5tb3ZlVmVydGljYWxseShlc3RpbWF0
ZWRNYXJnaW5Ub3ApOwogfQpAQCAtMTkyLDEzICsxOTUsMTQgQEAgdm9pZCBCbG9ja0Zvcm1hdHRp
bmdDb250ZXh0Ojpjb21wdXRlRXN0aW1hdGVkTWFyZ2luVG9wRm9yQW5jZXN0b3JzKExheW91dENv
bnRleHQKICAgICAgICAgaWYgKGRpc3BsYXlCb3gtPmVzdGltYXRlZE1hcmdpblRvcCgpKQogICAg
ICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGNvbXB1dGVFc3RpbWF0ZWRNYXJnaW5Ub3AobGF5
b3V0Q29udGV4dCwgKmFuY2VzdG9yLCAqZGlzcGxheUJveCk7CisgICAgICAgIGNvbXB1dGVFc3Rp
bWF0ZWRNYXJnaW5Ub3AobGF5b3V0Q29udGV4dCwgKmFuY2VzdG9yKTsKICAgICB9CiB9CiAKLXZv
aWQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUZsb2F0aW5nUG9zaXRpb24oTGF5b3V0
Q29udGV4dCYgbGF5b3V0Q29udGV4dCwgRmxvYXRpbmdDb250ZXh0JiBmbG9hdGluZ0NvbnRleHQs
IGNvbnN0IEJveCYgbGF5b3V0Qm94LCBEaXNwbGF5OjpCb3gmIGRpc3BsYXlCb3gpIGNvbnN0Cit2
b2lkIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVGbG9hdGluZ1Bvc2l0aW9uKExheW91
dENvbnRleHQmIGxheW91dENvbnRleHQsIEZsb2F0aW5nQ29udGV4dCYgZmxvYXRpbmdDb250ZXh0
LCBjb25zdCBCb3gmIGxheW91dEJveCkgY29uc3QKIHsKICAgICBBU1NFUlQobGF5b3V0Qm94Lmlz
RmxvYXRpbmdQb3NpdGlvbmVkKCkpOworICAgIGF1dG8mIGRpc3BsYXlCb3ggPSAqbGF5b3V0Q29u
dGV4dC5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KGxheW91dEJveCk7CiAgICAgLy8gOC4zLjEgQ29s
bGFwc2luZyBtYXJnaW5zCiAgICAgLy8gSW4gYmxvY2sgZm9ybWF0dGluZyBjb250ZXh0IG1hcmdp
bnMgYmV0d2VlbiBhIGZsb2F0ZWQgYm94IGFuZCBhbnkgb3RoZXIgYm94IGRvIG5vdCBjb2xsYXBz
ZS4KICAgICAvLyBBZGp1c3QgdGhlIHN0YXRpYyBwb3NpdGlvbiBieSB1c2luZyB0aGUgcHJldmlv
dXMgaW5mbG93IGJveCdzIG5vbi1jb2xsYXBzZWQgbWFyZ2luLgpAQCAtMjExLDcgKzIxNSw3IEBA
IHZvaWQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUZsb2F0aW5nUG9zaXRpb24oTGF5
b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4CiAgICAgZmxvYXRpbmdDb250ZXh0LmZsb2F0aW5nU3Rh
dGUoKS5hcHBlbmQobGF5b3V0Qm94KTsKIH0KIAotdm9pZCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0
Ojpjb21wdXRlUG9zaXRpb25Ub0F2b2lkRmxvYXRzKExheW91dENvbnRleHQmIGxheW91dENvbnRl
eHQsIEZsb2F0aW5nQ29udGV4dCYgZmxvYXRpbmdDb250ZXh0LCBjb25zdCBCb3gmIGxheW91dEJv
eCwgRGlzcGxheTo6Qm94JiBkaXNwbGF5Qm94KSBjb25zdAordm9pZCBCbG9ja0Zvcm1hdHRpbmdD
b250ZXh0Ojpjb21wdXRlUG9zaXRpb25Ub0F2b2lkRmxvYXRzKExheW91dENvbnRleHQmIGxheW91
dENvbnRleHQsIEZsb2F0aW5nQ29udGV4dCYgZmxvYXRpbmdDb250ZXh0LCBjb25zdCBCb3gmIGxh
eW91dEJveCkgY29uc3QKIHsKICAgICAvLyBGb3JtYXR0aW5nIGNvbnRleHQgcm9vdHMgYXZvaWQg
ZmxvYXRzLgogICAgIEFTU0VSVChsYXlvdXRCb3guZXN0YWJsaXNoZXNCbG9ja0Zvcm1hdHRpbmdD
b250ZXh0KCkpOwpAQCAtMjIzLDEwICsyMjcsMTAgQEAgdm9pZCBCbG9ja0Zvcm1hdHRpbmdDb250
ZXh0Ojpjb21wdXRlUG9zaXRpb25Ub0F2b2lkRmxvYXRzKExheW91dENvbnRleHQmIGxheW91dEMK
IAogICAgIGNvbXB1dGVFc3RpbWF0ZWRNYXJnaW5Ub3BGb3JBbmNlc3RvcnMobGF5b3V0Q29udGV4
dCwgbGF5b3V0Qm94KTsKICAgICBpZiAoYXV0byBhZGp1c3RlZFBvc2l0aW9uID0gZmxvYXRpbmdD
b250ZXh0LnBvc2l0aW9uRm9yRmxvYXRBdm9pZGluZyhsYXlvdXRCb3gpKQotICAgICAgICBkaXNw
bGF5Qm94LnNldFRvcExlZnQoKmFkanVzdGVkUG9zaXRpb24pOworICAgICAgICBsYXlvdXRDb250
ZXh0LmRpc3BsYXlCb3hGb3JMYXlvdXRCb3gobGF5b3V0Qm94KS0+c2V0VG9wTGVmdCgqYWRqdXN0
ZWRQb3NpdGlvbik7CiB9CiAKLXZvaWQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVZl
cnRpY2FsUG9zaXRpb25Gb3JGbG9hdENsZWFyKExheW91dENvbnRleHQmIGxheW91dENvbnRleHQs
IGNvbnN0IEZsb2F0aW5nQ29udGV4dCYgZmxvYXRpbmdDb250ZXh0LCBjb25zdCBCb3gmIGxheW91
dEJveCwgRGlzcGxheTo6Qm94JiBkaXNwbGF5Qm94KSBjb25zdAordm9pZCBCbG9ja0Zvcm1hdHRp
bmdDb250ZXh0Ojpjb21wdXRlVmVydGljYWxQb3NpdGlvbkZvckZsb2F0Q2xlYXIoTGF5b3V0Q29u
dGV4dCYgbGF5b3V0Q29udGV4dCwgY29uc3QgRmxvYXRpbmdDb250ZXh0JiBmbG9hdGluZ0NvbnRl
eHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94KSBjb25zdAogewogICAgIEFTU0VSVChsYXlvdXRCb3gu
aGFzRmxvYXRDbGVhcigpKTsKICAgICBpZiAoZmxvYXRpbmdDb250ZXh0LmZsb2F0aW5nU3RhdGUo
KS5pc0VtcHR5KCkpCkBAIC0yMzQsMTUgKzIzOCwxNSBAQCB2b2lkIEJsb2NrRm9ybWF0dGluZ0Nv
bnRleHQ6OmNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yRmxvYXRDbGVhcihMYXlvdXRDb250ZXh0
JgogCiAgICAgY29tcHV0ZUVzdGltYXRlZE1hcmdpblRvcEZvckFuY2VzdG9ycyhsYXlvdXRDb250
ZXh0LCBsYXlvdXRCb3gpOwogICAgIGlmIChhdXRvIHZlcnRpY2FsUG9zaXRpb25XaXRoQ2xlYXJh
bmNlID0gZmxvYXRpbmdDb250ZXh0LnZlcnRpY2FsUG9zaXRpb25XaXRoQ2xlYXJhbmNlKGxheW91
dEJveCkpCi0gICAgICAgIGRpc3BsYXlCb3guc2V0VG9wKCp2ZXJ0aWNhbFBvc2l0aW9uV2l0aENs
ZWFyYW5jZSk7CisgICAgICAgIGxheW91dENvbnRleHQuZGlzcGxheUJveEZvckxheW91dEJveChs
YXlvdXRCb3gpLT5zZXRUb3AoKnZlcnRpY2FsUG9zaXRpb25XaXRoQ2xlYXJhbmNlKTsKIH0KIAot
dm9pZCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlSW5GbG93UG9zaXRpb25lZFBvc2l0
aW9uKExheW91dENvbnRleHQmIGxheW91dENvbnRleHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94LCBE
aXNwbGF5OjpCb3gmIGRpc3BsYXlCb3gpIGNvbnN0Cit2b2lkIEJsb2NrRm9ybWF0dGluZ0NvbnRl
eHQ6OmNvbXB1dGVJbkZsb3dQb3NpdGlvbmVkUG9zaXRpb24oTGF5b3V0Q29udGV4dCYgbGF5b3V0
Q29udGV4dCwgY29uc3QgQm94JiBsYXlvdXRCb3gpIGNvbnN0CiB7Ci0gICAgZGlzcGxheUJveC5z
ZXRUb3BMZWZ0KEdlb21ldHJ5OjppbkZsb3dQb3NpdGlvbmVkUG9zaXRpb24obGF5b3V0Q29udGV4
dCwgbGF5b3V0Qm94KSk7CisgICAgbGF5b3V0Q29udGV4dC5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94
KGxheW91dEJveCktPnNldFRvcExlZnQoR2VvbWV0cnk6OmluRmxvd1Bvc2l0aW9uZWRQb3NpdGlv
bihsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gpKTsKIH0KIAotdm9pZCBCbG9ja0Zvcm1hdHRpbmdD
b250ZXh0Ojpjb21wdXRlV2lkdGhBbmRNYXJnaW4oTGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4
dCwgY29uc3QgQm94JiBsYXlvdXRCb3gsIERpc3BsYXk6OkJveCYgZGlzcGxheUJveCkgY29uc3QK
K3ZvaWQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVdpZHRoQW5kTWFyZ2luKExheW91
dENvbnRleHQmIGxheW91dENvbnRleHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94KSBjb25zdAogewog
ICAgIFdpZHRoQW5kTWFyZ2luIHdpZHRoQW5kTWFyZ2luOwogCkBAIC0yNTMsMTYgKzI1NywxOCBA
QCB2b2lkIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVXaWR0aEFuZE1hcmdpbihMYXlv
dXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LAogICAgIGVsc2UKICAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CiAKKyAgICBhdXRvJiBkaXNwbGF5Qm94ID0gKmxheW91dENvbnRleHQuZGlzcGxh
eUJveEZvckxheW91dEJveChsYXlvdXRCb3gpOwogICAgIGRpc3BsYXlCb3guc2V0Q29udGVudEJv
eFdpZHRoKHdpZHRoQW5kTWFyZ2luLndpZHRoKTsKICAgICBkaXNwbGF5Qm94Lm1vdmVIb3Jpem9u
dGFsbHkod2lkdGhBbmRNYXJnaW4ubWFyZ2luLmxlZnQpOwogICAgIGRpc3BsYXlCb3guc2V0SG9y
aXpvbnRhbE1hcmdpbih3aWR0aEFuZE1hcmdpbi5tYXJnaW4pOwogICAgIGRpc3BsYXlCb3guc2V0
SG9yaXpvbnRhbE5vbkNvbXB1dGVkTWFyZ2luKHdpZHRoQW5kTWFyZ2luLm5vbkNvbXB1dGVkTWFy
Z2luKTsKIH0KIAotdm9pZCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlSGVpZ2h0QW5k
TWFyZ2luKExheW91dENvbnRleHQmIGxheW91dENvbnRleHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94
LCBEaXNwbGF5OjpCb3gmIGRpc3BsYXlCb3gpIGNvbnN0Cit2b2lkIEJsb2NrRm9ybWF0dGluZ0Nv
bnRleHQ6OmNvbXB1dGVIZWlnaHRBbmRNYXJnaW4oTGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4
dCwgY29uc3QgQm94JiBsYXlvdXRCb3gpIGNvbnN0CiB7CiAgICAgSGVpZ2h0QW5kTWFyZ2luIGhl
aWdodEFuZE1hcmdpbjsKICAgICBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IG1hcmdpblRvcE9m
ZnNldDsKKyAgICBhdXRvJiBkaXNwbGF5Qm94ID0gKmxheW91dENvbnRleHQuZGlzcGxheUJveEZv
ckxheW91dEJveChsYXlvdXRCb3gpOwogCiAgICAgaWYgKGxheW91dEJveC5pc0luRmxvdygpKSB7
CiAgICAgICAgIGhlaWdodEFuZE1hcmdpbiA9IEdlb21ldHJ5OjppbkZsb3dIZWlnaHRBbmRNYXJn
aW4obGF5b3V0Q29udGV4dCwgbGF5b3V0Qm94KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmgK
aW5kZXggYTFhZTdlMjkzNjA4Y2Y0MjIxODY1NzI3ZTNlZTdmZjM4NDVkYWY5NS4uOTg5MjU2MTZi
ZDUxNGI2ZDRlNmEzOTkwNzEzNWE5NDcxYTM4MTYzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250
ZXh0LmgKQEAgLTUwLDE4ICs1MCwxOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBsYXlvdXQoTGF5b3V0
Q29udGV4dCYsIEZvcm1hdHRpbmdTdGF0ZSYpIGNvbnN0IG92ZXJyaWRlOwogCiBwcml2YXRlOgot
ICAgIHZvaWQgbGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRSb290KExheW91dENvbnRleHQmLCBGbG9h
dGluZ0NvbnRleHQmLCBGb3JtYXR0aW5nU3RhdGUmLCBjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gm
KSBjb25zdDsKKyAgICB2b2lkIGxheW91dEZvcm1hdHRpbmdDb250ZXh0Um9vdChMYXlvdXRDb250
ZXh0JiwgRmxvYXRpbmdDb250ZXh0JiwgRm9ybWF0dGluZ1N0YXRlJiwgY29uc3QgQm94JikgY29u
c3Q7CiAKLSAgICB2b2lkIGNvbXB1dGVXaWR0aEFuZE1hcmdpbihMYXlvdXRDb250ZXh0JiwgY29u
c3QgQm94JiwgRGlzcGxheTo6Qm94JikgY29uc3Q7Ci0gICAgdm9pZCBjb21wdXRlSGVpZ2h0QW5k
TWFyZ2luKExheW91dENvbnRleHQmLCBjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gmKSBjb25zdDsK
KyAgICB2b2lkIGNvbXB1dGVXaWR0aEFuZE1hcmdpbihMYXlvdXRDb250ZXh0JiwgY29uc3QgQm94
JikgY29uc3Q7CisgICAgdm9pZCBjb21wdXRlSGVpZ2h0QW5kTWFyZ2luKExheW91dENvbnRleHQm
LCBjb25zdCBCb3gmKSBjb25zdDsKIAotICAgIHZvaWQgY29tcHV0ZVN0YXRpY1Bvc2l0aW9uKExh
eW91dENvbnRleHQmLCBjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gmKSBjb25zdCBvdmVycmlkZTsK
LSAgICB2b2lkIGNvbXB1dGVGbG9hdGluZ1Bvc2l0aW9uKExheW91dENvbnRleHQmLCBGbG9hdGlu
Z0NvbnRleHQmLCBjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gmKSBjb25zdDsKLSAgICB2b2lkIGNv
bXB1dGVQb3NpdGlvblRvQXZvaWRGbG9hdHMoTGF5b3V0Q29udGV4dCYsIEZsb2F0aW5nQ29udGV4
dCYsIGNvbnN0IEJveCYsIERpc3BsYXk6OkJveCYpIGNvbnN0OwotICAgIHZvaWQgY29tcHV0ZVZl
cnRpY2FsUG9zaXRpb25Gb3JGbG9hdENsZWFyKExheW91dENvbnRleHQmLCBjb25zdCBGbG9hdGlu
Z0NvbnRleHQmLCBjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gmKSBjb25zdDsKKyAgICB2b2lkIGNv
bXB1dGVTdGF0aWNQb3NpdGlvbihMYXlvdXRDb250ZXh0JiwgY29uc3QgQm94JikgY29uc3Qgb3Zl
cnJpZGU7CisgICAgdm9pZCBjb21wdXRlRmxvYXRpbmdQb3NpdGlvbihMYXlvdXRDb250ZXh0Jiwg
RmxvYXRpbmdDb250ZXh0JiwgY29uc3QgQm94JikgY29uc3Q7CisgICAgdm9pZCBjb21wdXRlUG9z
aXRpb25Ub0F2b2lkRmxvYXRzKExheW91dENvbnRleHQmLCBGbG9hdGluZ0NvbnRleHQmLCBjb25z
dCBCb3gmKSBjb25zdDsKKyAgICB2b2lkIGNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yRmxvYXRD
bGVhcihMYXlvdXRDb250ZXh0JiwgY29uc3QgRmxvYXRpbmdDb250ZXh0JiwgY29uc3QgQm94Jikg
Y29uc3Q7CiAKLSAgICB2b2lkIGNvbXB1dGVJbkZsb3dQb3NpdGlvbmVkUG9zaXRpb24oTGF5b3V0
Q29udGV4dCYsIGNvbnN0IEJveCYsIERpc3BsYXk6OkJveCYpIGNvbnN0IG92ZXJyaWRlOwotICAg
IHZvaWQgY29tcHV0ZUVzdGltYXRlZE1hcmdpblRvcChMYXlvdXRDb250ZXh0JiwgY29uc3QgQm94
JiwgRGlzcGxheTo6Qm94JikgY29uc3Q7CisgICAgdm9pZCBjb21wdXRlSW5GbG93UG9zaXRpb25l
ZFBvc2l0aW9uKExheW91dENvbnRleHQmLCBjb25zdCBCb3gmKSBjb25zdCBvdmVycmlkZTsKKyAg
ICB2b2lkIGNvbXB1dGVFc3RpbWF0ZWRNYXJnaW5Ub3AoTGF5b3V0Q29udGV4dCYsIGNvbnN0IEJv
eCYpIGNvbnN0OwogICAgIHZvaWQgY29tcHV0ZUVzdGltYXRlZE1hcmdpblRvcEZvckFuY2VzdG9y
cyhMYXlvdXRDb250ZXh0JiwgY29uc3QgQm94JikgY29uc3Q7CiAKICAgICBJbnN0cmluc2ljV2lk
dGhDb25zdHJhaW50cyBpbnN0cmluc2ljV2lkdGhDb25zdHJhaW50cyhMYXlvdXRDb250ZXh0Jiwg
Y29uc3QgQm94JikgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4
dC5jcHAKaW5kZXggZTNmNmFhMjNmODliMjk5YjdlN2M4OGQxYzI3Yzk2YzcyMmNiY2ViMC4uZTE2
YzIyODFjZDc2N2NkZTE3YWNiNzJmZWU4ZGU3M2M3NjY5NWFkOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZv
cm1hdHRpbmdDb250ZXh0LmNwcApAQCAtMTAyLDExICsxMDIsMTEgQEAgdm9pZCBJbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dDo6bGF5b3V0KExheW91dENvbnRleHQmIGxheW91dENvbnRleHQsIEZvcm1h
dHRpbmdTdGEKICAgICBMT0dfV0lUSF9TVFJFQU0oRm9ybWF0dGluZ0NvbnRleHRMYXlvdXQsIHN0
cmVhbSA8PCAiW0VuZF0gLT4gaW5saW5lIGZvcm1hdHRpbmcgY29udGV4dCAtPiBsYXlvdXQgY29u
dGV4dCgiIDw8ICZsYXlvdXRDb250ZXh0IDw8ICIpIGZvcm1hdHRpbmcgcm9vdCgiIDw8ICZyb290
KCkgPDwgIikiKTsKIH0KIAotdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVN0
YXRpY1Bvc2l0aW9uKExheW91dENvbnRleHQmLCBjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gmKSBj
b25zdAordm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVN0YXRpY1Bvc2l0aW9u
KExheW91dENvbnRleHQmLCBjb25zdCBCb3gmKSBjb25zdAogewogfQogCi12b2lkIElubGluZUZv
cm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlSW5GbG93UG9zaXRpb25lZFBvc2l0aW9uKExheW91dENv
bnRleHQmLCBjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gmKSBjb25zdAordm9pZCBJbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dDo6Y29tcHV0ZUluRmxvd1Bvc2l0aW9uZWRQb3NpdGlvbihMYXlvdXRDb250
ZXh0JiwgY29uc3QgQm94JikgY29uc3QKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250
ZXh0LmgKaW5kZXggZDcwNDMzNWRhNjNjMWE5Y2Y1Nzc5ZGNiNWZhODZhMjFmMTg3ZjRmNi4uMDI2
NmRmM2E2N2NhMTIyN2ZhYjc5YTRkZjExMWQxYWMyMDY0YWJiZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dC5oCkBAIC00Niw4ICs0Niw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGxheW91
dChMYXlvdXRDb250ZXh0JiwgRm9ybWF0dGluZ1N0YXRlJikgY29uc3Qgb3ZlcnJpZGU7CiAKIHBy
aXZhdGU6Ci0gICAgdm9pZCBjb21wdXRlU3RhdGljUG9zaXRpb24oTGF5b3V0Q29udGV4dCYsIGNv
bnN0IEJveCYsIERpc3BsYXk6OkJveCYpIGNvbnN0IG92ZXJyaWRlOwotICAgIHZvaWQgY29tcHV0
ZUluRmxvd1Bvc2l0aW9uZWRQb3NpdGlvbihMYXlvdXRDb250ZXh0JiwgY29uc3QgQm94JiwgRGlz
cGxheTo6Qm94JikgY29uc3Qgb3ZlcnJpZGU7CisgICAgdm9pZCBjb21wdXRlU3RhdGljUG9zaXRp
b24oTGF5b3V0Q29udGV4dCYsIGNvbnN0IEJveCYpIGNvbnN0IG92ZXJyaWRlOworICAgIHZvaWQg
Y29tcHV0ZUluRmxvd1Bvc2l0aW9uZWRQb3NpdGlvbihMYXlvdXRDb250ZXh0JiwgY29uc3QgQm94
JikgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBJbnN0cmluc2ljV2lkdGhDb25zdHJhaW50cyBpbnN0
cmluc2ljV2lkdGhDb25zdHJhaW50cyhMYXlvdXRDb250ZXh0JiwgY29uc3QgQm94JikgY29uc3Qg
b3ZlcnJpZGU7CiB9Owo=
</data>
<flag name="review"
          id="366560"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>