<?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>224217</bug_id>
          
          <creation_ts>2021-04-05 17:18:29 -0700</creation_ts>
          <short_desc>Remove RepaintLayoutRectsMap</short_desc>
          <delta_ts>2021-04-07 16:08:24 -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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</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>1747183</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-04-05 17:18:29 -0700</bug_when>
    <thetext>Remove RepaintLayoutRectsMap</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747185</commentid>
    <comment_count>1</comment_count>
      <attachid>425226</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-04-05 17:25:01 -0700</bug_when>
    <thetext>Created attachment 425226
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747262</commentid>
    <comment_count>2</comment_count>
      <attachid>425226</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-04-05 20:34:13 -0700</bug_when>
    <thetext>Comment on attachment 425226
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=425226&amp;action=review

great change.

&gt; Source/WebCore/rendering/ComplexLineLayout.cpp:1328
&gt; +        if (!layoutContext().needsFullRepaint() &amp;&amp; m_flow.hasSelfPaintingLayer() &amp;&amp; m_flow.layerRepaintRects()) {

isn&apos;t m_flow.hasSelfPaintingLayer() redundant here (though maybe it provides some information about the type of content (backed by a layer) we are dealing here with).

&gt; Source/WebCore/rendering/RenderLayer.h:224
&gt; +        return WTF::nullopt;

return { }; ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1748118</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-04-07 16:07:25 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/275641/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1748121</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-07 16:08:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/76370395&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425226</attachid>
            <date>2021-04-05 17:25:01 -0700</date>
            <delta_ts>2021-04-05 20:34:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224217-20210405172500.patch</filename>
            <type>text/plain</type>
            <size>20817</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NDQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjY0OGIxMGVmNGMyMTAz
OWJlYjNlNDY3OWMxMDg4ODFiYTkwNTc0Ny4uMWQ1ZTQ5MTYwNDY4NjFhYzA4MDQyNDhhYTI1ZGE4
YzllZjdlZjg1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDIxLTA0LTA1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBSZXBh
aW50TGF5b3V0UmVjdHNNYXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyNDIxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFJlcGFpbnRMYXlvdXRSZWN0c01hcCB3YXMgYSBzaWRlIHRhYmxlIHVzZWQgdG8g
bWFwIFJlbmRlckxheWVyTW9kZWxPYmplY3RzIHRvCisgICAgICAgIHJlcGFpbnQgcmVjdHMgZm9y
IHRoZWlyIGNvcnJlc3BvbmRpbmcgbGF5ZXJzLiBIb3dldmVyLCB0aGlzIEhhc2hNYXAgY291bGQK
KyAgICAgICAgZ2V0IGxhcmdlLCBhbmQgd2FzdGUgbW9yZSBzcGFjZSB0aGFuIGlmIHdlIGp1c3Qg
c3RvcmVkIHRoZSByZXBhaW50IHJlY3RzCisgICAgICAgIG9uIFJlbmRlckxheWVyLgorCisgICAg
ICAgIEZvciBleGFtcGxlLCBvbiB0d2l0dGVyLmNvbSB3ZSBjb3VsZCBoYXZlIGFib3V0IDIwMDAg
UmVuZGVyTGF5ZXJzOyBpbmNyZWFzaW5nCisgICAgICAgIHRoZWlyIHNpemUgYnkgMzIgYnl0ZXMg
KHRoZSBzaXplIG9mIHRoZSB0d28gTGF5b3V0UmVjdHMpIGFkZHMgNjJLQiwgYnV0IFJlcGFpbnRM
YXlvdXRSZWN0c01hcAorICAgICAgICB3b3VsZCBjb250YWluIGFib3V0IDE5NTAgZW50cmllcyB3
aXRoIGEgY2FwYWNpdHkgb2YgODE5Miwgd2FzdGluZyBhcm91bmQgMjAwS0IuCisKKyAgICAgICAg
U28gbW92aW5nIHJlcGFpbnQgcmVjdHMgaW50byBSZW5kZXJMYXllciBpcyBhIG1lbW9yeSBzYXZp
bmcuIFRoaXMgcGF0Y2ggZG9lcyBzbworICAgICAgICB3aXRob3V0IHVzaW5nIE9wdGlvbmFsPD4g
c2luY2UgdGhhdCBpbnRyb2R1Y2VzIGV4dHJhIHBhZGRpbmcuCisKKyAgICAgICAgKiByZW5kZXJp
bmcvQ29tcGxleExpbmVMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcGxleExpbmVM
YXlvdXQ6OmxheW91dFJ1bnNBbmRGbG9hdHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJM
YXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6UmVuZGVyTGF5ZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZUxheWVyUG9zaXRpb25zKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpyZXBhaW50UmVjdEluY2x1ZGluZ05vbkNvbXBv
c2l0aW5nRGVzY2VuZGFudHMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6
OmNvbXB1dGVSZXBhaW50UmVjdHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNl
dFJlcGFpbnRSZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2xlYXJSZXBh
aW50UmVjdHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZUxheWVyUG9z
aXRpb25zQWZ0ZXJTY3JvbGwpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1
bGF0ZUNsaXBSZWN0cyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cmVwYWludFJlY3RzIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpoYXNDb21wdXRlZFJlcGFpbnRSZWN0cyBjb25z
dCk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6d2lsbEJlRGVz
dHJveWVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6OmRlc3Ry
b3lMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllck1vZGVsT2JqZWN0OjpzdHls
ZURpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllck1vZGVsT2JqZWN0Ojps
YXllclJlcGFpbnRSZWN0cyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXBhaW50TGF5b3V0
UmVjdHM6OlJlcGFpbnRMYXlvdXRSZWN0cyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllck1vZGVsT2JqZWN0OjpoYXNSZXBhaW50TGF5b3V0UmVjdHMgY29uc3QpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6c2V0UmVwYWlu
dExheW91dFJlY3RzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9k
ZWxPYmplY3Q6OmNsZWFyUmVwYWludExheW91dFJlY3RzKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6OnJlcGFpbnRMYXlvdXRSZWN0cyBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllck1vZGVsT2JqZWN0Ojpjb21w
dXRlUmVwYWludExheW91dFJlY3RzKTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVwYWludExheW91dFJl
Y3RzOjpSZXBhaW50TGF5b3V0UmVjdHMpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJMYXllclNjcm9sbGFibGVBcmVhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbFRvKToKKwogMjAyMS0wNC0wMyAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBXYXN0ZWQgdmVjdG9yIGNhcGFj
aXR5IGluIEZFQ29sb3JNYXRyaXggYW5kIGZpbHRlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9Db21wbGV4TGluZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvQ29tcGxleExpbmVMYXlvdXQuY3BwCmluZGV4IGY2N2U0ZjFlOTEyMjEzZGY3NjdkNjU2
NWU3NWQzN2RkMmZkYTI1ZDguLjcyMzFiMjE3YWQ3ZGJmZjg4Yjc5MTNlNzM1MzJjYjRmZGIwODli
NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Db21wbGV4TGluZUxheW91
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbXBsZXhMaW5lTGF5b3V0LmNw
cApAQCAtMTMyNSwxMiArMTMyNSwxMiBAQCB2b2lkIENvbXBsZXhMaW5lTGF5b3V0OjpsYXlvdXRS
dW5zQW5kRmxvYXRzKExpbmVMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIGJvb2wgaAogICAgIC8v
IGRldGVybWluZVN0YXJ0UG9zaXRpb24gZmlyc3Qgd2lsbCBicmVhayBmYXN0L3JlcGFpbnQvbGlu
ZS1mbG93LXdpdGgtZmxvYXRzLTkuaHRtbC4KICAgICBpZiAobGF5b3V0U3RhdGUuaXNGdWxsTGF5
b3V0KCkgJiYgaGFzSW5saW5lQ2hpbGQgJiYgIW1fZmxvdy5zZWxmTmVlZHNMYXlvdXQoKSkgewog
ICAgICAgICBtX2Zsb3cuc2V0TmVlZHNMYXlvdXQoTWFya09ubHlUaGlzKTsgLy8gTWFyayBhcyBu
ZWVkaW5nIGEgZnVsbCBsYXlvdXQgdG8gZm9yY2UgdXMgdG8gcmVwYWludC4KLSAgICAgICAgaWYg
KCFsYXlvdXRDb250ZXh0KCkubmVlZHNGdWxsUmVwYWludCgpICYmIG1fZmxvdy5oYXNTZWxmUGFp
bnRpbmdMYXllcigpICYmIG1fZmxvdy5oYXNSZXBhaW50TGF5b3V0UmVjdHMoKSkgeworICAgICAg
ICBpZiAoIWxheW91dENvbnRleHQoKS5uZWVkc0Z1bGxSZXBhaW50KCkgJiYgbV9mbG93Lmhhc1Nl
bGZQYWludGluZ0xheWVyKCkgJiYgbV9mbG93LmxheWVyUmVwYWludFJlY3RzKCkpIHsKICAgICAg
ICAgICAgIC8vIEJlY2F1c2Ugd2Ugd2FpdGVkIHVudGlsIHdlIHdlcmUgYWxyZWFkeSBpbnNpZGUg
bGF5b3V0IHRvIGRpc2NvdmVyCiAgICAgICAgICAgICAvLyB0aGF0IHRoZSBibG9jayByZWFsbHkg
bmVlZGVkIGEgZnVsbCBsYXlvdXQsIHdlIG1pc3NlZCBvdXIgY2hhbmNlIHRvIHJlcGFpbnQgdGhl
IGxheWVyCiAgICAgICAgICAgICAvLyBiZWZvcmUgbGF5b3V0IHN0YXJ0ZWQuIEx1Y2tpbHkgdGhl
IGxheWVyIGhhcyBjYWNoZWQgdGhlIHJlcGFpbnQgcmVjdCBmb3IgaXRzIG9yaWdpbmFsCiAgICAg
ICAgICAgICAvLyBwb3NpdGlvbiBhbmQgc2l6ZSwgYW5kIHNvIHdlIGNhbiB1c2UgdGhhdCB0byBt
YWtlIGEgcmVwYWludCBoYXBwZW4gbm93LgotICAgICAgICAgICAgbV9mbG93LnJlcGFpbnRVc2lu
Z0NvbnRhaW5lcihtX2Zsb3cuY29udGFpbmVyRm9yUmVwYWludCgpLCBtX2Zsb3cucmVwYWludExh
eW91dFJlY3RzKCkubV9yZXBhaW50UmVjdCk7CisgICAgICAgICAgICBtX2Zsb3cucmVwYWludFVz
aW5nQ29udGFpbmVyKG1fZmxvdy5jb250YWluZXJGb3JSZXBhaW50KCksIG1fZmxvdy5sYXllclJl
cGFpbnRSZWN0cygpLT5jbGlwcGVkT3ZlcmZsb3dSZWN0KTsKICAgICAgICAgfQogICAgIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggNjYwYTFiNTcwNDA1
OTBmYjg1Nzk1ODYwMThlYmYzNWIwZmIzOWNkNC4uN2E1OTU4YzkyM2EyMTQ4NjIxYWZjZGMzYzRk
YmNmNGEzN2I0MjMxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3Bw
CkBAIC0zMzMsNiArMzMzLDcgQEAgUmVuZGVyTGF5ZXI6OlJlbmRlckxheWVyKFJlbmRlckxheWVy
TW9kZWxPYmplY3QmIHJlbmRlcmVyTGF5ZXJNb2RlbE9iamVjdCkKICAgICAsIG1faGFzTm90SXNv
bGF0ZWRCbGVuZGluZ0Rlc2NlbmRhbnRzKGZhbHNlKQogICAgICwgbV9oYXNOb3RJc29sYXRlZEJs
ZW5kaW5nRGVzY2VuZGFudHNTdGF0dXNEaXJ0eShmYWxzZSkKICNlbmRpZgorICAgICwgbV9yZXBh
aW50UmVjdHNWYWxpZChmYWxzZSkKICAgICAsIG1fcmVuZGVyZXIocmVuZGVyZXJMYXllck1vZGVs
T2JqZWN0KQogewogICAgIHNldElzTm9ybWFsRmxvd09ubHkoc2hvdWxkQmVOb3JtYWxGbG93T25s
eSgpKTsKQEAgLTk0NSwyNSArOTQ2LDI4IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZUxheWVy
UG9zaXRpb25zKFJlbmRlckdlb21ldHJ5TWFwKiBnZW9tZXRyeU1hcCwgT3B0aW9uU2V0CiAKICAg
ICAgICAgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciA9IHJlbmRlcmVy
KCkuY29udGFpbmVyRm9yUmVwYWludCgpOwogICAgICAgICAKLSAgICAgICAgYXV0byBoYWRSZXBh
aW50TGF5b3V0UmVjdHMgPSByZW5kZXJlcigpLmhhc1JlcGFpbnRMYXlvdXRSZWN0cygpOwotICAg
ICAgICBSZXBhaW50TGF5b3V0UmVjdHMgb2xkUmVjdHMgPSBoYWRSZXBhaW50TGF5b3V0UmVjdHMg
PyByZW5kZXJlcigpLnJlcGFpbnRMYXlvdXRSZWN0cygpIDogUmVwYWludExheW91dFJlY3RzKCk7
CisgICAgICAgIGF1dG8gb2xkUmVjdHMgPSByZXBhaW50UmVjdHMoKTsKICAgICAgICAgY29tcHV0
ZVJlcGFpbnRSZWN0cyhyZXBhaW50Q29udGFpbmVyLCBnZW9tZXRyeU1hcCk7CiAgICAgICAgIAot
ICAgICAgICBhdXRvIGhhc1JlcGFpbnRMYXlvdXRSZWN0cyA9IHJlbmRlcmVyKCkuaGFzUmVwYWlu
dExheW91dFJlY3RzKCk7Ci0gICAgICAgIFJlcGFpbnRMYXlvdXRSZWN0cyBuZXdSZWN0cyA9IGhh
c1JlcGFpbnRMYXlvdXRSZWN0cyA/IHJlbmRlcmVyKCkucmVwYWludExheW91dFJlY3RzKCkgOiBS
ZXBhaW50TGF5b3V0UmVjdHMoKTsKKyAgICAgICAgYXV0byBuZXdSZWN0cyA9IHJlcGFpbnRSZWN0
cygpOworCiAgICAgICAgIC8vIEZJWE1FOiBTaG91bGQgQVNTRVJUIHRoYXQgdmFsdWUgY2FsY3Vs
YXRlZCBmb3IgbV9vdXRsaW5lQm94IHVzaW5nIHRoZSBjYWNoZWQgb2Zmc2V0IGlzIHRoZSBzYW1l
CiAgICAgICAgIC8vIGFzIHRoZSB2YWx1ZSBub3QgdXNpbmcgdGhlIGNhY2hlZCBvZmZzZXQsIGJ1
dCB3ZSBjYW4ndCBkdWUgdG8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTM3MDQ4Ci0gICAgICAgIGlmICgoZmxhZ3MgJiBDaGVja0ZvclJlcGFpbnQpICYmIGhhc1JlcGFp
bnRMYXlvdXRSZWN0cykgeworICAgICAgICBpZiAoKGZsYWdzICYgQ2hlY2tGb3JSZXBhaW50KSAm
JiBuZXdSZWN0cykgewogICAgICAgICAgICAgaWYgKCFyZW5kZXJlcigpLnZpZXcoKS5wcmludGlu
ZygpKSB7CiAgICAgICAgICAgICAgICAgaWYgKG1fcmVwYWludFN0YXR1cyAmIE5lZWRzRnVsbFJl
cGFpbnQpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGhhZFJlcGFpbnRMYXlvdXRSZWN0cykK
LSAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyKCkucmVwYWludFVzaW5nQ29udGFpbmVy
KHJlcGFpbnRDb250YWluZXIsIG9sZFJlY3RzLm1fcmVwYWludFJlY3QpOwotICAgICAgICAgICAg
ICAgICAgICBpZiAoIWhhZFJlcGFpbnRMYXlvdXRSZWN0cyB8fCBuZXdSZWN0cy5tX3JlcGFpbnRS
ZWN0ICE9IG9sZFJlY3RzLm1fcmVwYWludFJlY3QpCi0gICAgICAgICAgICAgICAgICAgICAgICBy
ZW5kZXJlcigpLnJlcGFpbnRVc2luZ0NvbnRhaW5lcihyZXBhaW50Q29udGFpbmVyLCBuZXdSZWN0
cy5tX3JlcGFpbnRSZWN0KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG9sZFJlY3RzKQorICAg
ICAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXIoKS5yZXBhaW50VXNpbmdDb250YWluZXIocmVw
YWludENvbnRhaW5lciwgb2xkUmVjdHMtPmNsaXBwZWRPdmVyZmxvd1JlY3QpOworCisgICAgICAg
ICAgICAgICAgICAgIGlmICghb2xkUmVjdHMgfHwgbmV3UmVjdHMtPmNsaXBwZWRPdmVyZmxvd1Jl
Y3QgIT0gb2xkUmVjdHMtPmNsaXBwZWRPdmVyZmxvd1JlY3QpCisgICAgICAgICAgICAgICAgICAg
ICAgICByZW5kZXJlcigpLnJlcGFpbnRVc2luZ0NvbnRhaW5lcihyZXBhaW50Q29udGFpbmVyLCBu
ZXdSZWN0cy0+Y2xpcHBlZE92ZXJmbG93UmVjdCk7CisKICAgICAgICAgICAgICAgICB9IGVsc2Ug
aWYgKHNob3VsZFJlcGFpbnRBZnRlckxheW91dCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIC8v
IEZJWE1FOiBXZSB3aWxsIGNvbnZlcnQgdGhpcyB0byBqdXN0IHRha2UgdGhlIG9sZCBhbmQgbmV3
IFJlcGFpbnRMYXlvdXRSZWN0cyBvbmNlCiAgICAgICAgICAgICAgICAgICAgIC8vIHdlIGNoYW5n
ZSBvdGhlciBjYWxsZXJzIHRvIHVzZSBSZXBhaW50TGF5b3V0UmVjdHMuCi0gICAgICAgICAgICAg
ICAgICAgIHJlbmRlcmVyKCkucmVwYWludEFmdGVyTGF5b3V0SWZOZWVkZWQocmVwYWludENvbnRh
aW5lciwgb2xkUmVjdHMubV9yZXBhaW50UmVjdCwgb2xkUmVjdHMubV9vdXRsaW5lQm94LCAmbmV3
UmVjdHMubV9yZXBhaW50UmVjdCwgJm5ld1JlY3RzLm1fb3V0bGluZUJveCk7CisgICAgICAgICAg
ICAgICAgICAgIGF1dG8gcmVzb2x2ZWRPbGRSZWN0cyA9IG9sZFJlY3RzLnZhbHVlT3IoTGF5ZXJS
ZXBhaW50UmVjdHMgeyB9KTsKKyAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXIoKS5yZXBhaW50
QWZ0ZXJMYXlvdXRJZk5lZWRlZChyZXBhaW50Q29udGFpbmVyLCByZXNvbHZlZE9sZFJlY3RzLmNs
aXBwZWRPdmVyZmxvd1JlY3QsIHJlc29sdmVkT2xkUmVjdHMub3V0bGluZUJvdW5kc1JlY3QsCisg
ICAgICAgICAgICAgICAgICAgICAgICAmbmV3UmVjdHMtPmNsaXBwZWRPdmVyZmxvd1JlY3QsICZu
ZXdSZWN0cy0+b3V0bGluZUJvdW5kc1JlY3QpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIH0KICAgICAgICAgfQpAQCAtMTAyNSw3ICsxMDI5LDkgQEAgdm9pZCBSZW5kZXJMYXllcjo6
dXBkYXRlTGF5ZXJQb3NpdGlvbnMoUmVuZGVyR2VvbWV0cnlNYXAqIGdlb21ldHJ5TWFwLCBPcHRp
b25TZXQKIAogTGF5b3V0UmVjdCBSZW5kZXJMYXllcjo6cmVwYWludFJlY3RJbmNsdWRpbmdOb25D
b21wb3NpdGluZ0Rlc2NlbmRhbnRzKCkgY29uc3QKIHsKLSAgICBMYXlvdXRSZWN0IHJlcGFpbnRS
ZWN0ID0gcmVuZGVyZXIoKS5yZXBhaW50TGF5b3V0UmVjdHMoKS5tX3JlcGFpbnRSZWN0OworICAg
IExheW91dFJlY3QgcmVwYWludFJlY3Q7CisgICAgaWYgKG1fcmVwYWludFJlY3RzVmFsaWQpCisg
ICAgICAgIHJlcGFpbnRSZWN0ID0gbV9yZXBhaW50UmVjdHMuY2xpcHBlZE92ZXJmbG93UmVjdDsK
ICAgICBmb3IgKFJlbmRlckxheWVyKiBjaGlsZCA9IGZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxk
ID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpIHsKICAgICAgICAgLy8gRG9uJ3QgaW5jbHVkZSByZXBh
aW50IHJlY3RzIGZvciBjb21wb3NpdGVkIGNoaWxkIGxheWVyczsgdGhleSB3aWxsIHBhaW50IHRo
ZW1zZWx2ZXMgYW5kIGhhdmUgYSBkaWZmZXJlbnQgb3JpZ2luLgogICAgICAgICBpZiAoY2hpbGQt
PmlzQ29tcG9zaXRlZCgpKQpAQCAtMTA2Myw3ICsxMDY5LDE1IEBAIHZvaWQgUmVuZGVyTGF5ZXI6
OmRpcnR5QW5jZXN0b3JDaGFpbkhhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudFN0YXR1cygp
CiB2b2lkIFJlbmRlckxheWVyOjpjb21wdXRlUmVwYWludFJlY3RzKGNvbnN0IFJlbmRlckxheWVy
TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIGNvbnN0IFJlbmRlckdlb21ldHJ5TWFwKiBn
ZW9tZXRyeU1hcCkKIHsKICAgICBBU1NFUlQoIW1fdmlzaWJsZUNvbnRlbnRTdGF0dXNEaXJ0eSk7
Ci0gICAgcmVuZGVyZXIoKS5jb21wdXRlUmVwYWludExheW91dFJlY3RzKHJlcGFpbnRDb250YWlu
ZXIsIGdlb21ldHJ5TWFwKTsKKworICAgIGlmICghaXNTZWxmUGFpbnRpbmdMYXllcigpKQorICAg
ICAgICBjbGVhclJlcGFpbnRSZWN0cygpOworICAgIGVsc2UgeworICAgICAgICBzZXRSZXBhaW50
UmVjdHMoeworICAgICAgICAgICAgcmVuZGVyZXIoKS5jbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVw
YWludChyZXBhaW50Q29udGFpbmVyKSwKKyAgICAgICAgICAgIHJlbmRlcmVyKCkub3V0bGluZUJv
dW5kc0ZvclJlcGFpbnQocmVwYWludENvbnRhaW5lciwgZ2VvbWV0cnlNYXApCisgICAgICAgIH0p
OworICAgIH0KIH0KIAogdm9pZCBSZW5kZXJMYXllcjo6Y29tcHV0ZVJlcGFpbnRSZWN0c0luY2x1
ZGluZ0Rlc2NlbmRhbnRzKCkKQEAgLTEwNzcsMTEgKzEwOTEsMTYgQEAgdm9pZCBSZW5kZXJMYXll
cjo6Y29tcHV0ZVJlcGFpbnRSZWN0c0luY2x1ZGluZ0Rlc2NlbmRhbnRzKCkKICAgICAgICAgbGF5
ZXItPmNvbXB1dGVSZXBhaW50UmVjdHNJbmNsdWRpbmdEZXNjZW5kYW50cygpOwogfQogCit2b2lk
IFJlbmRlckxheWVyOjpzZXRSZXBhaW50UmVjdHMoY29uc3QgTGF5ZXJSZXBhaW50UmVjdHMmIHJl
Y3RzKQoreworICAgIG1fcmVwYWludFJlY3RzID0gcmVjdHM7CisgICAgbV9yZXBhaW50UmVjdHNW
YWxpZCA9IHRydWU7Cit9CisKIHZvaWQgUmVuZGVyTGF5ZXI6OmNsZWFyUmVwYWludFJlY3RzKCkK
IHsKICAgICBBU1NFUlQoIW1fdmlzaWJsZUNvbnRlbnRTdGF0dXNEaXJ0eSk7Ci0KLSAgICByZW5k
ZXJlcigpLmNsZWFyUmVwYWludExheW91dFJlY3RzKCk7CisgICAgbV9yZXBhaW50UmVjdHNWYWxp
ZCA9IGZhbHNlOwogfQogCiB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVMYXllclBvc2l0aW9uc0Fm
dGVyU2Nyb2xsKFJlbmRlckdlb21ldHJ5TWFwKiBnZW9tZXRyeU1hcCwgT3B0aW9uU2V0PFVwZGF0
ZUxheWVyUG9zaXRpb25zQWZ0ZXJTY3JvbGxGbGFnPiBmbGFncykKQEAgLTExMjUsOCArMTE0NCw4
IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZUxheWVyUG9zaXRpb25zQWZ0ZXJTY3JvbGwoUmVu
ZGVyR2VvbWV0cnlNYXAqIGdlb21ldHJ5TWFwCiAgICAgICAgIC8vIFdoZW4gU2Nyb2xsVmlldydz
IG1fcGFpbnRzRW50aXJlQ29udGVudHMgZmxhZyBmbGlwcyBkdWUgdG8gbGF5ZXIgYmFja2luZyBj
aGFuZ2VzLCB0aGUgcmVwYWludCBhcmVhIHRyYW5zaXRpb25zIGZyb20KICAgICAgICAgLy8gdmlz
dWFsIHRvIGxheW91dCBvdmVyZmxvdy4gV2hlbiB0aGlzIGhhcHBlbnMgdGhlIGNhY2hlZCByZXBh
aW50IHJlY3RzIGJlY29tZSBpbnZhbGlkIGFuZCB0aGV5IG5lZWQgdG8gYmUgcmVjb21wdXRlZCAo
c2VlIHdlYmtpdC5vcmcvYi8xODgxMjEpLgogICAgICAgICAvLyBDaGVjayB0aGF0IG91ciBjYWNo
ZWQgcmVjdHMgYXJlIGNvcnJlY3QuCi0gICAgICAgIEFTU0VSVCghcmVuZGVyZXIoKS5oYXNSZXBh
aW50TGF5b3V0UmVjdHMoKSB8fCByZW5kZXJlcigpLnJlcGFpbnRMYXlvdXRSZWN0cygpLm1fcmVw
YWludFJlY3QgPT0gcmVuZGVyZXIoKS5jbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChyZW5k
ZXJlcigpLmNvbnRhaW5lckZvclJlcGFpbnQoKSkpOwotICAgICAgICBBU1NFUlQoIXJlbmRlcmVy
KCkuaGFzUmVwYWludExheW91dFJlY3RzKCkgfHwgcmVuZGVyZXIoKS5yZXBhaW50TGF5b3V0UmVj
dHMoKS5tX291dGxpbmVCb3ggPT0gcmVuZGVyZXIoKS5vdXRsaW5lQm91bmRzRm9yUmVwYWludChy
ZW5kZXJlcigpLmNvbnRhaW5lckZvclJlcGFpbnQoKSkpOworICAgICAgICBBU1NFUlRfSU1QTElF
UyhtX3JlcGFpbnRSZWN0c1ZhbGlkLCBtX3JlcGFpbnRSZWN0cy5jbGlwcGVkT3ZlcmZsb3dSZWN0
ID09IHJlbmRlcmVyKCkuY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQocmVuZGVyZXIoKS5j
b250YWluZXJGb3JSZXBhaW50KCkpKTsKKyAgICAgICAgQVNTRVJUX0lNUExJRVMobV9yZXBhaW50
UmVjdHNWYWxpZCwgbV9yZXBhaW50UmVjdHMub3V0bGluZUJvdW5kc1JlY3QgPT0gcmVuZGVyZXIo
KS5vdXRsaW5lQm91bmRzRm9yUmVwYWludChyZW5kZXJlcigpLmNvbnRhaW5lckZvclJlcGFpbnQo
KSkpOwogICAgIH0KICAgICAKICAgICBmb3IgKFJlbmRlckxheWVyKiBjaGlsZCA9IGZpcnN0Q2hp
bGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpCkBAIC01MTQwLDEwICs1
MTU5LDEzIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZVNlbGZQYWludGluZ0xheWVyKCkKICAg
ICBtX2lzU2VsZlBhaW50aW5nTGF5ZXIgPSBpc1NlbGZQYWludGluZ0xheWVyOwogICAgIGlmICgh
cGFyZW50KCkpCiAgICAgICAgIHJldHVybjsKKwogICAgIGlmIChpc1NlbGZQYWludGluZ0xheWVy
KQogICAgICAgICBwYXJlbnQoKS0+c2V0QW5jZXN0b3JDaGFpbkhhc1NlbGZQYWludGluZ0xheWVy
RGVzY2VuZGFudCgpOwotICAgIGVsc2UKKyAgICBlbHNlIHsKICAgICAgICAgcGFyZW50KCktPmRp
cnR5QW5jZXN0b3JDaGFpbkhhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudFN0YXR1cygpOwor
ICAgICAgICBjbGVhclJlcGFpbnRSZWN0cygpOworICAgIH0KIH0KIAogc3RhdGljIGJvb2wgaGFz
VmlzaWJsZUJveERlY29yYXRpb25zT3JCYWNrZ3JvdW5kKGNvbnN0IFJlbmRlckVsZW1lbnQmIHJl
bmRlcmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCAxODYyYTJm
MjlkYWRhZjI1M2YzNDcxMTg4OTNmYmE5NGI4NDViMmFlLi5hMjJhNDJjODIyYmU1NTFjNGM4NzY4
YzRmODEyYmQxYjJlOGRhMTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
aApAQCAtMjE2LDYgKzIxNiwxNCBAQCBwdWJsaWM6CiAKICAgICBSZW5kZXJMYXllciogcGFpbnRP
cmRlclBhcmVudCgpIGNvbnN0OwogCisgICAgT3B0aW9uYWw8TGF5ZXJSZXBhaW50UmVjdHM+IHJl
cGFpbnRSZWN0cygpIGNvbnN0CisgICAgeworICAgICAgICBpZiAobV9yZXBhaW50UmVjdHNWYWxp
ZCkKKyAgICAgICAgICAgIHJldHVybiBtX3JlcGFpbnRSZWN0czsKKworICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OworICAgIH0KKwogICAgIHZvaWQgZGlydHlOb3JtYWxGbG93TGlzdCgpOwog
ICAgIHZvaWQgZGlydHlaT3JkZXJMaXN0cygpOwogICAgIHZvaWQgZGlydHlTdGFja2luZ0NvbnRl
eHRaT3JkZXJMaXN0cygpOwpAQCAtNjk5LDggKzcwNyw2IEBAIHB1YmxpYzoKICAgICAvLyBDYW4g
cGFzcyBvZmZzZXRGcm9tUm9vdCBpZiBrbm93bi4KICAgICBMYXlvdXRSZWN0IGNhbGN1bGF0ZUxh
eWVyQm91bmRzKGNvbnN0IFJlbmRlckxheWVyKiBhbmNlc3RvckxheWVyLCBjb25zdCBMYXlvdXRT
aXplJiBvZmZzZXRGcm9tUm9vdCwgT3B0aW9uU2V0PENhbGN1bGF0ZUxheWVyQm91bmRzRmxhZz4g
PSBkZWZhdWx0Q2FsY3VsYXRlTGF5ZXJCb3VuZHNGbGFncygpKSBjb25zdDsKICAgICAKLSAgICAv
LyBSZXR1cm4gYSBjYWNoZWQgcmVwYWludCByZWN0LCBjb21wdXRlZCByZWxhdGl2ZSB0byB0aGUg
bGF5ZXIgcmVuZGVyZXIncyBjb250YWluZXJGb3JSZXBhaW50LgotICAgIGJvb2wgaGFzQ29tcHV0
ZWRSZXBhaW50UmVjdHMoKSBjb25zdCB7IHJldHVybiByZW5kZXJlcigpLmhhc1JlcGFpbnRMYXlv
dXRSZWN0cygpOyB9CiAgICAgTGF5b3V0UmVjdCByZXBhaW50UmVjdEluY2x1ZGluZ05vbkNvbXBv
c2l0aW5nRGVzY2VuZGFudHMoKSBjb25zdDsKIAogICAgIHZvaWQgc2V0UmVwYWludFN0YXR1cyhS
ZXBhaW50U3RhdHVzIHN0YXR1cykgeyBtX3JlcGFpbnRTdGF0dXMgPSBzdGF0dXM7IH0KQEAgLTkx
MCw2ICs5MTYsOCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBjb21wdXRlUmVwYWludFJlY3RzKGNv
bnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIGNvbnN0IFJlbmRl
ckdlb21ldHJ5TWFwKiA9IG51bGxwdHIpOwogICAgIHZvaWQgY29tcHV0ZVJlcGFpbnRSZWN0c0lu
Y2x1ZGluZ0Rlc2NlbmRhbnRzKCk7CisKKyAgICB2b2lkIHNldFJlcGFpbnRSZWN0cyhjb25zdCBM
YXllclJlcGFpbnRSZWN0cyYpOwogICAgIHZvaWQgY2xlYXJSZXBhaW50UmVjdHMoKTsKIAogICAg
IExheW91dFJlY3QgY2xpcFJlY3RSZWxhdGl2ZVRvQW5jZXN0b3IoUmVuZGVyTGF5ZXIqIGFuY2Vz
dG9yLCBMYXlvdXRTaXplIG9mZnNldEZyb21BbmNlc3RvciwgY29uc3QgTGF5b3V0UmVjdCYgY29u
c3RyYWluaW5nUmVjdCkgY29uc3Q7CkBAIC0xMTM2LDYgKzExNDQsNyBAQCBwcml2YXRlOgogICAg
IGJvb2wgbV9oYXNOb3RJc29sYXRlZEJsZW5kaW5nRGVzY2VuZGFudHMgOiAxOwogICAgIGJvb2wg
bV9oYXNOb3RJc29sYXRlZEJsZW5kaW5nRGVzY2VuZGFudHNTdGF0dXNEaXJ0eSA6IDE7CiAjZW5k
aWYKKyAgICBib29sIG1fcmVwYWludFJlY3RzVmFsaWQgOiAxOwogCiAgICAgUmVuZGVyTGF5ZXJN
b2RlbE9iamVjdCYgbV9yZW5kZXJlcjsKIApAQCAtMTE1Nyw2ICsxMTY2LDkgQEAgcHJpdmF0ZToK
ICAgICAvLyBUaGlzIGxpc3QgY29udGFpbnMgY2hpbGQgbGF5ZXJzIHRoYXQgY2Fubm90IGNyZWF0
ZSBzdGFja2luZyBjb250ZXh0cyBhbmQgYXBwZWFyIGluIG5vcm1hbCBmbG93IG9yZGVyLgogICAg
IHN0ZDo6dW5pcXVlX3B0cjxWZWN0b3I8UmVuZGVyTGF5ZXIqPj4gbV9ub3JtYWxGbG93TGlzdDsK
IAorICAgIC8vIE9ubHkgdmFsaWQgaWYgbV9yZXBhaW50UmVjdHNWYWxpZCBpcyBzZXQgKE9wdGlv
bmFsPD4gbm90IHVzZWQgdG8gYXZvaWQgcGFkZGluZykuCisgICAgTGF5ZXJSZXBhaW50UmVjdHMg
bV9yZXBhaW50UmVjdHM7CisKICAgICAvLyBPdXIgY3VycmVudCByZWxhdGl2ZSBwb3NpdGlvbiBv
ZmZzZXQuCiAgICAgTGF5b3V0U2l6ZSBtX29mZnNldEZvckluRmxvd1Bvc2l0aW9uOwogCkBAIC0x
MTg4LDcgKzEyMDAsNyBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJMYXll
ckZpbHRlcnM+IG1fZmlsdGVyczsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyTGF5ZXJCYWNr
aW5nPiBtX2JhY2tpbmc7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlckxheWVyU2Nyb2xsYWJs
ZUFyZWE+IG1fc2Nyb2xsYWJsZUFyZWE7Ci0gICAgCisKICAgICBQYWludEZyZXF1ZW5jeVRyYWNr
ZXIgbV9wYWludEZyZXF1ZW5jeVRyYWNrZXI7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAKaW5kZXggMjE0NWY4ZDZhNGMz
ZDBiZWFkNDE4NjQyOGUyYjE2YjI1NTk5YjVkOC4uZGFiNWVhOTg0ZTcyZTFhNWRmYmZiMTE0OThj
N2I3MjhmYjk5ZjdhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyTW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllck1vZGVsT2JqZWN0LmNwcApAQCAtNDMsMTUgKzQzLDYgQEAgYm9vbCBSZW5kZXJMYXll
ck1vZGVsT2JqZWN0OjpzX2hhZExheWVyID0gZmFsc2U7CiBib29sIFJlbmRlckxheWVyTW9kZWxP
YmplY3Q6OnNfaGFkVHJhbnNmb3JtID0gZmFsc2U7CiBib29sIFJlbmRlckxheWVyTW9kZWxPYmpl
Y3Q6OnNfbGF5ZXJXYXNTZWxmUGFpbnRpbmcgPSBmYWxzZTsKIAotdHlwZWRlZiBXVEY6Okhhc2hN
YXA8Y29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCosIFJlcGFpbnRMYXlvdXRSZWN0cz4gUmVw
YWludExheW91dFJlY3RzTWFwOwotc3RhdGljIFJlcGFpbnRMYXlvdXRSZWN0c01hcCogZ1JlcGFp
bnRMYXlvdXRSZWN0c01hcCA9IG51bGxwdHI7Ci0KLVJlcGFpbnRMYXlvdXRSZWN0czo6UmVwYWlu
dExheW91dFJlY3RzKGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QmIHJlbmRlcmVyLCBjb25z
dCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBjb25zdCBSZW5kZXJH
ZW9tZXRyeU1hcCogZ2VvbWV0cnlNYXApCi0gICAgOiBtX3JlcGFpbnRSZWN0KHJlbmRlcmVyLmNs
aXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KHJlcGFpbnRDb250YWluZXIpKQotICAgICwgbV9v
dXRsaW5lQm94KHJlbmRlcmVyLm91dGxpbmVCb3VuZHNGb3JSZXBhaW50KHJlcGFpbnRDb250YWlu
ZXIsIGdlb21ldHJ5TWFwKSkKLXsKLX0KLQogUmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6UmVuZGVy
TGF5ZXJNb2RlbE9iamVjdChFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlLCBC
YXNlVHlwZUZsYWdzIGJhc2VUeXBlRmxhZ3MpCiAgICAgOiBSZW5kZXJFbGVtZW50KGVsZW1lbnQs
IFdURk1vdmUoc3R5bGUpLCBiYXNlVHlwZUZsYWdzIHwgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdEZs
YWcpCiB7CkBAIC04MCwxNiArNzEsMTIgQEAgdm9pZCBSZW5kZXJMYXllck1vZGVsT2JqZWN0Ojp3
aWxsQmVEZXN0cm95ZWQoKQogICAgIH0KIAogICAgIFJlbmRlckVsZW1lbnQ6OndpbGxCZURlc3Ry
b3llZCgpOwotICAgIAotICAgIGNsZWFyUmVwYWludExheW91dFJlY3RzKCk7CiB9CiAKIHZvaWQg
UmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6ZGVzdHJveUxheWVyKCkKIHsKICAgICBBU1NFUlQoIWhh
c0xheWVyKCkpOwogICAgIEFTU0VSVChtX2xheWVyKTsKLSAgICBpZiAobV9sYXllci0+aXNTZWxm
UGFpbnRpbmdMYXllcigpKQotICAgICAgICBjbGVhclJlcGFpbnRMYXlvdXRSZWN0cygpOwogICAg
IG1fbGF5ZXIgPSBudWxscHRyOwogfQogCkBAIC0xNDcsOSArMTM0LDEwIEBAIHZvaWQgUmVuZGVy
TGF5ZXJNb2RlbE9iamVjdDo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNv
bnN0IFJlbmRlclN0CiAjZW5kaWYKICAgICAgICAgc2V0SGFzVHJhbnNmb3JtUmVsYXRlZFByb3Bl
cnR5KGZhbHNlKTsgLy8gQWxsIHRyYW5zZm9ybS1yZWxhdGVkIHByb3BlcnRpZXMgZm9yY2UgbGF5
ZXJzLCBzbyB3ZSBrbm93IHdlIGRvbid0IGhhdmUgb25lIG9yIHRoZSBvYmplY3QgZG9lc24ndCBz
dXBwb3J0IHRoZW0uCiAgICAgICAgIHNldEhhc1JlZmxlY3Rpb24oZmFsc2UpOworCiAgICAgICAg
IC8vIFJlcGFpbnQgdGhlIGFib3V0IHRvIGJlIGRlc3Ryb3llZCBzZWxmLXBhaW50aW5nIGxheWVy
IHdoZW4gc3R5bGUgY2hhbmdlIGFsc28gdHJpZ2dlcnMgcmVwYWludC4KLSAgICAgICAgaWYgKGxh
eWVyKCktPmlzU2VsZlBhaW50aW5nTGF5ZXIoKSAmJiBsYXllcigpLT5yZXBhaW50U3RhdHVzKCkg
PT0gTmVlZHNGdWxsUmVwYWludCAmJiBoYXNSZXBhaW50TGF5b3V0UmVjdHMoKSkKLSAgICAgICAg
ICAgIHJlcGFpbnRVc2luZ0NvbnRhaW5lcihjb250YWluZXJGb3JSZXBhaW50KCksIHJlcGFpbnRM
YXlvdXRSZWN0cygpLm1fcmVwYWludFJlY3QpOworICAgICAgICBpZiAobGF5ZXIoKS0+aXNTZWxm
UGFpbnRpbmdMYXllcigpICYmIGxheWVyKCktPnJlcGFpbnRTdGF0dXMoKSA9PSBOZWVkc0Z1bGxS
ZXBhaW50ICYmIGxheWVyKCktPnJlcGFpbnRSZWN0cygpKQorICAgICAgICAgICAgcmVwYWludFVz
aW5nQ29udGFpbmVyKGNvbnRhaW5lckZvclJlcGFpbnQoKSwgbGF5ZXIoKS0+cmVwYWludFJlY3Rz
KCktPmNsaXBwZWRPdmVyZmxvd1JlY3QpOwogCiAgICAgICAgIGxheWVyKCktPnJlbW92ZU9ubHlU
aGlzTGF5ZXIoUmVuZGVyTGF5ZXI6OkxheWVyQ2hhbmdlVGltaW5nOjpTdHlsZUNoYW5nZSk7IC8v
IGNhbGxzIGRlc3Ryb3lMYXllcigpIHdoaWNoIGNsZWFycyBtX2xheWVyCiAgICAgICAgIGlmIChz
X3dhc0Zsb2F0aW5nICYmIGlzRmxvYXRpbmcoKSkKQEAgLTIzNiwzNyArMjI0LDkgQEAgYm9vbCBS
ZW5kZXJMYXllck1vZGVsT2JqZWN0OjpzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFy
T25MZWZ0KCkgY29uc3QKICNlbmRpZgogfQogCi1ib29sIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6
Omhhc1JlcGFpbnRMYXlvdXRSZWN0cygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGdSZXBhaW50TGF5
b3V0UmVjdHNNYXAgJiYgZ1JlcGFpbnRMYXlvdXRSZWN0c01hcC0+Y29udGFpbnModGhpcyk7Ci19
Ci0KLXZvaWQgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6c2V0UmVwYWludExheW91dFJlY3RzKGNv
bnN0IFJlcGFpbnRMYXlvdXRSZWN0cyYgcmVjdHMpCi17Ci0gICAgaWYgKCFnUmVwYWludExheW91
dFJlY3RzTWFwKQotICAgICAgICBnUmVwYWludExheW91dFJlY3RzTWFwID0gbmV3IFJlcGFpbnRM
YXlvdXRSZWN0c01hcCgpOwotICAgIGdSZXBhaW50TGF5b3V0UmVjdHNNYXAtPnNldCh0aGlzLCBy
ZWN0cyk7Ci19Ci0KLXZvaWQgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6Y2xlYXJSZXBhaW50TGF5
b3V0UmVjdHMoKQotewotICAgIGlmIChnUmVwYWludExheW91dFJlY3RzTWFwKQotICAgICAgICBn
UmVwYWludExheW91dFJlY3RzTWFwLT5yZW1vdmUodGhpcyk7Ci19Ci0KLVJlcGFpbnRMYXlvdXRS
ZWN0cyBSZW5kZXJMYXllck1vZGVsT2JqZWN0OjpyZXBhaW50TGF5b3V0UmVjdHMoKSBjb25zdAot
ewotICAgIGlmICghaGFzUmVwYWludExheW91dFJlY3RzKCkpCi0gICAgICAgIHJldHVybiBSZXBh
aW50TGF5b3V0UmVjdHMoKTsKLSAgICByZXR1cm4gZ1JlcGFpbnRMYXlvdXRSZWN0c01hcC0+Z2V0
KHRoaXMpOwotfQotCi12b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OmNvbXB1dGVSZXBhaW50
TGF5b3V0UmVjdHMoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5l
ciwgY29uc3QgUmVuZGVyR2VvbWV0cnlNYXAqIGdlb21ldHJ5TWFwKQorT3B0aW9uYWw8TGF5ZXJS
ZXBhaW50UmVjdHM+IFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OmxheWVyUmVwYWludFJlY3RzKCkg
Y29uc3QKIHsKLSAgICBpZiAoIW1fbGF5ZXIgfHwgIW1fbGF5ZXItPmlzU2VsZlBhaW50aW5nTGF5
ZXIoKSkKLSAgICAgICAgY2xlYXJSZXBhaW50TGF5b3V0UmVjdHMoKTsKLSAgICBlbHNlCi0gICAg
ICAgIHNldFJlcGFpbnRMYXlvdXRSZWN0cyhSZXBhaW50TGF5b3V0UmVjdHMoKnRoaXMsIHJlcGFp
bnRDb250YWluZXIsIGdlb21ldHJ5TWFwKSk7CisgICAgcmV0dXJuIGhhc0xheWVyKCkgPyBsYXll
cigpLT5yZXBhaW50UmVjdHMoKSA6IFdURjo6bnVsbG9wdDsKIH0KIAogYm9vbCBSZW5kZXJMYXll
ck1vZGVsT2JqZWN0OjpzdGFydEFuaW1hdGlvbihkb3VibGUgdGltZU9mZnNldCwgY29uc3QgQW5p
bWF0aW9uJiBhbmltYXRpb24sIGNvbnN0IEtleWZyYW1lTGlzdCYga2V5ZnJhbWVzKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmgKaW5kZXgg
YmY2YzQyYTNmNDVmNmE2MDljNWQ0MjYzM2Y1YmNiYjQxYWNkNmViNy4uOWM5NjZmN2ViMmYwMjdk
NjMwZDAyMTMyYWRiOWIxM2NiYThlOWRmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oCkBAIC0yOSwxMiArMjksOSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBjbGFzcyBLZXlmcmFtZUxpc3Q7CiBjbGFzcyBSZW5kZXJMYXllcjsKIAot
c3RydWN0IFJlcGFpbnRMYXlvdXRSZWN0cyB7Ci0gICAgTGF5b3V0UmVjdCBtX3JlcGFpbnRSZWN0
OyAvLyBUaGlzIHJlY3QgaXMgY2xpcHBlZCBieSBlbmNsb3Npbmcgb2JqZWN0cyAoZS5nLiwgb3Zl
cmZsb3c6aGlkZGVuKS4KLSAgICBMYXlvdXRSZWN0IG1fb3V0bGluZUJveDsgLy8gVGhpcyByZWN0
IGlzIHVuY2xpcHBlZC4KLQotICAgIFJlcGFpbnRMYXlvdXRSZWN0cyhjb25zdCBSZW5kZXJMYXll
ck1vZGVsT2JqZWN0JiByZW5kZXJlciwgY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVw
YWludENvbnRhaW5lciwgY29uc3QgUmVuZGVyR2VvbWV0cnlNYXAqID0gbnVsbHB0cik7Ci0gICAg
UmVwYWludExheW91dFJlY3RzKCkgeyB9Oworc3RydWN0IExheWVyUmVwYWludFJlY3RzIHsKKyAg
ICBMYXlvdXRSZWN0IGNsaXBwZWRPdmVyZmxvd1JlY3Q7CisgICAgTGF5b3V0UmVjdCBvdXRsaW5l
Qm91bmRzUmVjdDsKIH07CiAKIGNsYXNzIFJlbmRlckxheWVyTW9kZWxPYmplY3QgOiBwdWJsaWMg
UmVuZGVyRWxlbWVudCB7CkBAIC02MCwxNCArNTcsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBi
b29sIGlzU2Nyb2xsYWJsZU9yUnViYmVyYmFuZGFibGVCb3goKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQogCiAgICAgYm9vbCBzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0
KCkgY29uc3Q7Ci0gICAgCi0gICAgdm9pZCBjb21wdXRlUmVwYWludExheW91dFJlY3RzKGNvbnN0
IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIGNvbnN0IFJlbmRlckdl
b21ldHJ5TWFwKiA9IG51bGxwdHIpOwotCi0gICAgUmVwYWludExheW91dFJlY3RzIHJlcGFpbnRM
YXlvdXRSZWN0cygpIGNvbnN0OwotICAgIAotICAgIGJvb2wgaGFzUmVwYWludExheW91dFJlY3Rz
KCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRSZXBhaW50TGF5b3V0UmVjdHMoY29uc3QgUmVwYWludExh
eW91dFJlY3RzJik7Ci0gICAgdm9pZCBjbGVhclJlcGFpbnRMYXlvdXRSZWN0cygpOworCisgICAg
T3B0aW9uYWw8TGF5ZXJSZXBhaW50UmVjdHM+IGxheWVyUmVwYWludFJlY3RzKCkgY29uc3Q7CiAK
ICAgICBib29sIHN0YXJ0QW5pbWF0aW9uKGRvdWJsZSB0aW1lT2Zmc2V0LCBjb25zdCBBbmltYXRp
b24mLCBjb25zdCBLZXlmcmFtZUxpc3QmKSBvdmVycmlkZTsKICAgICB2b2lkIGFuaW1hdGlvblBh
dXNlZChkb3VibGUgdGltZU9mZnNldCwgY29uc3QgU3RyaW5nJiBuYW1lKSBvdmVycmlkZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllclNjcm9sbGFibGVB
cmVhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllclNjcm9sbGFibGVB
cmVhLmNwcAppbmRleCBiNmI3YWIwYTIxMjUyNGVmZTg3YWMzN2VhZGNiZTEyMDA3Y2M1ZTY1Li45
Njg1OTc4ODg2NjNhODQ1YzQzMTUxMWQ1OGMxNmFmYjEyYzBkYmNlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuY3BwCkBA
IC0zNTksNyArMzU5LDcgQEAgdm9pZCBSZW5kZXJMYXllclNjcm9sbGFibGVBcmVhOjpzY3JvbGxU
byhjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24pCiAgICAgLy8gVGhlIGNhcmV0IHJlY3Qg
bmVlZHMgdG8gYmUgaW52YWxpZGF0ZWQgYWZ0ZXIgc2Nyb2xsaW5nCiAgICAgZnJhbWUuc2VsZWN0
aW9uKCkuc2V0Q2FyZXRSZWN0TmVlZHNVcGRhdGUoKTsKIAotICAgIExheW91dFJlY3QgcmVjdEZv
clJlcGFpbnQgPSByZW5kZXJlci5oYXNSZXBhaW50TGF5b3V0UmVjdHMoKSA/IHJlbmRlcmVyLnJl
cGFpbnRMYXlvdXRSZWN0cygpLm1fcmVwYWludFJlY3QgOiByZW5kZXJlci5jbGlwcGVkT3ZlcmZs
b3dSZWN0Rm9yUmVwYWludChyZXBhaW50Q29udGFpbmVyKTsKKyAgICBMYXlvdXRSZWN0IHJlY3RG
b3JSZXBhaW50ID0gbGF5ZXIoKS5yZXBhaW50UmVjdHMoKSA/IGxheWVyKCkucmVwYWludFJlY3Rz
KCktPmNsaXBwZWRPdmVyZmxvd1JlY3QgOiByZW5kZXJlci5jbGlwcGVkT3ZlcmZsb3dSZWN0Rm9y
UmVwYWludChyZXBhaW50Q29udGFpbmVyKTsKIAogICAgIEZsb2F0UXVhZCBxdWFkRm9yRmFrZU1v
dXNlTW92ZUV2ZW50ID0gRmxvYXRRdWFkKHJlY3RGb3JSZXBhaW50KTsKICAgICBpZiAocmVwYWlu
dENvbnRhaW5lcikK
</data>
<flag name="review"
          id="445083"
          type_id="1"
          status="+"
          setter="zalan"
    />
          </attachment>
      

    </bug>

</bugzilla>