<?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>197915</bug_id>
          
          <creation_ts>2019-05-15 07:25:57 -0700</creation_ts>
          <short_desc>Move RenderLayerCompositor&apos;s OverlapMap to its own file</short_desc>
          <delta_ts>2019-05-15 09:00:20 -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>New Bugs</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>achristensen</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>1536410</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-05-15 07:25:57 -0700</bug_when>
    <thetext>Move RenderLayerCompositor&apos;s OverlapMap to its own file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1536411</commentid>
    <comment_count>1</comment_count>
      <attachid>369950</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-05-15 07:26:45 -0700</bug_when>
    <thetext>Created attachment 369950
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1536436</commentid>
    <comment_count>2</comment_count>
      <attachid>369950</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-15 08:59:27 -0700</bug_when>
    <thetext>Comment on attachment 369950
Patch

Clearing flags on attachment: 369950

Committed r245326: &lt;https://trac.webkit.org/changeset/245326&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1536437</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-15 08:59:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1536438</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-05-15 09:00:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/50812267&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>369950</attachid>
            <date>2019-05-15 07:26:45 -0700</date>
            <delta_ts>2019-05-15 08:59:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197915-20190515072644.patch</filename>
            <type>text/plain</type>
            <size>22447</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1MjIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZThkMTQ0NDMzZjFlMTA1
NTYxZjZkNDgzMjUxMTc3NmQ5YzVmMjc1OS4uNjM4YTI5NTBiODFkOWE4NGEzYTQyYTYwMjU5MDVm
MzExYTM0NGYxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDE5LTA1LTE1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgUmVuZGVy
TGF5ZXJDb21wb3NpdG9yJ3MgT3ZlcmxhcE1hcCB0byBpdHMgb3duIGZpbGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NzkxNQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgT3ZlcmxhcE1hcCB0byBp
dHMgb3duIGZpbGUuCisgICAgICAgIE1ha2UgdXNlIG9mIFJlY3RMaXN0LCB3aGljaCB3YXMgaW4g
dGhlIGZpbGUgYnV0IHVudXNlZCEKKyAgICAgICAgQWxsb2NhdGUgT3ZlcmxhcE1hcENvbnRhaW5l
ciBvbiB0aGUgaGVhcCBib3RoIHRvIGF2b2lkIGhlYWRlciBwb2xsdXRpb24gb2YgaW50ZXJuYWxz
LAorICAgICAgICBhbmQgYmVjYXVzZSB0aGV5IHdpbGwgZ2V0IGJpZ2dlciBpbiBmdXR1cmUuCisK
KyAgICAgICAgTm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogU291cmNlcy50eHQ6Cisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHJl
bmRlcmluZy9MYXllck92ZXJsYXBNYXAuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJl
Y3RMaXN0OjphcHBlbmQpOgorICAgICAgICAoV2ViQ29yZTo6UmVjdExpc3Q6OmludGVyc2VjdHMg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6T3ZlcmxhcE1hcENvbnRhaW5lcjo6YWRkKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok92ZXJsYXBNYXBDb250YWluZXI6Om92ZXJsYXBzTGF5ZXJzIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6Ok92ZXJsYXBNYXBDb250YWluZXI6OnVuaXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkxheWVyT3ZlcmxhcE1hcDo6TGF5ZXJPdmVybGFwTWFwKToKKyAgICAgICAg
KFdlYkNvcmU6OkxheWVyT3ZlcmxhcE1hcDo6YWRkKToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVy
T3ZlcmxhcE1hcDo6b3ZlcmxhcHNMYXllcnMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
ZXJPdmVybGFwTWFwOjpwdXNoQ29tcG9zaXRpbmdDb250YWluZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5ZXJPdmVybGFwTWFwOjpwb3BDb21wb3NpdGluZ0NvbnRhaW5lcik6CisgICAgICAgICog
cmVuZGVyaW5nL0xheWVyT3ZlcmxhcE1hcC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okxh
eWVyT3ZlcmxhcE1hcDo6aXNFbXB0eSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXllck92
ZXJsYXBNYXA6Omdlb21ldHJ5TWFwIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyT3Zl
cmxhcE1hcDo6Z2VvbWV0cnlNYXApOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1
cGRhdGVDb21wb3NpdGluZ0xheWVycyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNv
bXBvc2l0b3I6OmNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnRyYXZlcnNlVW5jaGFuZ2VkU3VidHJlZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNvbXB1dGVFeHRlbnQgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjphZGRUb092ZXJs
YXBNYXApOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjphZGRUb092
ZXJsYXBNYXBSZWN1cnNpdmUpOgorICAgICAgICAoV2ViQ29yZTo6T3ZlcmxhcE1hcENvbnRhaW5l
cjo6YWRkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok92ZXJsYXBNYXBDb250YWluZXI6
Om92ZXJsYXBzTGF5ZXJzIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok92ZXJs
YXBNYXBDb250YWluZXI6OnVuaXRlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6T3ZlcmxhcE1hcDo6T3ZlcmxhcE1hcCk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6Ok92ZXJsYXBNYXA6OmFkZCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6Ok92ZXJsYXBN
YXA6Om92ZXJsYXBzTGF5ZXJzIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyQ29tcG9zaXRvcjo6T3ZlcmxhcE1hcDo6aXNFbXB0eSBjb25zdCk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6Ok92ZXJsYXBNYXA6OnB1
c2hDb21wb3NpdGluZ0NvbnRhaW5lcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllckNvbXBvc2l0b3I6Ok92ZXJsYXBNYXA6OnBvcENvbXBvc2l0aW5nQ29udGFpbmVyKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6T3Zlcmxh
cE1hcDo6Z2VvbWV0cnlNYXAgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjpPdmVybGFwTWFwOjpnZW9tZXRyeU1hcCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6Ok92ZXJsYXBNYXA6OlJlY3RM
aXN0OjphcHBlbmQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21w
b3NpdG9yOjpPdmVybGFwTWFwOjpSZWN0TGlzdDo6aW50ZXJzZWN0cyBjb25zdCk6IERlbGV0ZWQu
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oOgorCiAyMDE5LTA1
LTEyICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFdo
ZW4gdGhlIHNldCBvZiBiYWNraW5nLXNoYXJpbmcgbGF5ZXJzIGNoYW5nZXMsIHdlIG5lZWQgdG8g
aXNzdWUgYSByZXBhaW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IGJjZWNiYTkwODk3NjZmOTBmOTUwYzIx
NzgzYWY2MmUxMThmZmI2Y2MuLjdjM2Y4OWNkYzFjZDEyNGM4MTBjZTcyZTQ2MjU2OGUyNWMyNjcx
NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xOTcxLDYgKzE5NzEsNyBAQCByZW5kZXJpbmcvSW5saW5l
RWxlbWVudEJveC5jcHAKIHJlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcAogcmVuZGVyaW5nL0lu
bGluZUl0ZXJhdG9yLmNwcAogcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCityZW5kZXJpbmcv
TGF5ZXJPdmVybGFwTWFwLmNwcAogcmVuZGVyaW5nL0xheW91dERpc2FsbG93ZWRTY29wZS5jcHAK
IHJlbmRlcmluZy9MYXlvdXRSZXBhaW50ZXIuY3BwCiByZW5kZXJpbmcvTWFya2VkVGV4dC5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCA2ODBkNjQ0NmY1OTRjNWY1YmNlMDI1MDBmMGFjNTE1MWZmNzc1OWE2Li4xNDAzYTY2NTQz
OTgxOGQxMGJmODQ5NjUwYzU3MGRhZGEwMDM2ZWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01NzAwLDYgKzU3MDAsOCBAQAog
CQkwRjYwRjMyQTFERkJCMTA0MDA0MTZENkMgLyogQ29tbW9uVk0uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ29tbW9uVk0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMEY2MzgzREIxODYxNUIyOTAwM0U1REI1IC8qIFRocmVhZGVkU2Nyb2xsaW5nVHJlZS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUaHJlYWRlZFNjcm9sbGluZ1Ry
ZWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjYzODNEQzE4NjE1QjI5MDAz
RTVEQjUgLyogVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFRocmVhZGVkU2Nyb2xsaW5nVHJlZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkwRjY5RjJCNjIyOEI5OEZGMDA4RDM1NjUgLyogTGF5ZXJPdmVybGFwTWFwLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IExheWVyT3ZlcmxhcE1hcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkwRjY5RjJCNzIyOEI5OEZGMDA4RDM1NjUgLyogTGF5ZXJPdmVybGFwTWFwLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IExheWVyT3ZlcmxhcE1hcC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTBGNkExMkJCMUEwMDkyMzcwMEM2REU3MiAvKiBEZWJ1Z1BhZ2VPdmVybGF5cy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEZWJ1Z1BhZ2VPdmVybGF5
cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNkExMkJDMUEwMDkyMzcwMEM2
REU3MiAvKiBEZWJ1Z1BhZ2VPdmVybGF5cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBEZWJ1Z1BhZ2VPdmVybGF5cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
RjcwNDk1RDIxMUI1MjQyMDAzNjk5NjggLyogQWN0aXZpdHlTdGF0ZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBBY3Rpdml0eVN0YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTI2ODYzLDYgKzI2ODY1LDggQEAKIAkJCQlCQ0VBNDgxQTA5N0Q5MzAyMDA5NEM5RTQgLyogSW5s
aW5lVGV4dEJveC5jcHAgKi8sCiAJCQkJQkNFQTQ4MUIwOTdEOTMwMjAwOTRDOUU0IC8qIElubGlu
ZVRleHRCb3guaCAqLywKIAkJCQk1ODAzNzE2MzFBNjZGMUQzMDBCQUY1MTkgLyogTGF5ZXJGcmFn
bWVudC5oICovLAorCQkJCTBGNjlGMkI3MjI4Qjk4RkYwMDhEMzU2NSAvKiBMYXllck92ZXJsYXBN
YXAuY3BwICovLAorCQkJCTBGNjlGMkI2MjI4Qjk4RkYwMDhEMzU2NSAvKiBMYXllck92ZXJsYXBN
YXAuaCAqLywKIAkJCQk5QkQxRjY4MTFGMDQ2MzEwMDAxQzlDREQgLyogTGF5b3V0RGlzYWxsb3dl
ZFNjb3BlLmNwcCAqLywKIAkJCQk5QkQxRjY4MDFGMDQ2MkI4MDAxQzlDREQgLyogTGF5b3V0RGlz
YWxsb3dlZFNjb3BlLmggKi8sCiAJCQkJQTEyMEFDQTExM0Y5OTg0NjAwRkU0QUM3IC8qIExheW91
dFJlcGFpbnRlci5jcHAgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
TGF5ZXJPdmVybGFwTWFwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXllck92ZXJs
YXBNYXAuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc4MTAwYzc0NWVkMzMzNGEzODJmZjVmYTM0MGUwYzg5Zjk1
OGZhZjQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5ZXJP
dmVybGFwTWFwLmNwcApAQCAtMCwwICsxLDExOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
OSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJMYXllck92ZXJsYXBNYXAuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitzdHJ1Y3QgUmVjdExpc3QgeworICAgIFZlY3RvcjxMYXlvdXRSZWN0PiByZWN0czsK
KyAgICBMYXlvdXRSZWN0IGJvdW5kaW5nUmVjdDsKKyAgICAKKyAgICB2b2lkIGFwcGVuZChjb25z
dCBMYXlvdXRSZWN0JiByZWN0KQorICAgIHsKKyAgICAgICAgcmVjdHMuYXBwZW5kKHJlY3QpOwor
ICAgICAgICBib3VuZGluZ1JlY3QudW5pdGUocmVjdCk7CisgICAgfQorCisgICAgdm9pZCBhcHBl
bmQoY29uc3QgUmVjdExpc3QmIHJlY3RMaXN0KQorICAgIHsKKyAgICAgICAgcmVjdHMuYXBwZW5k
VmVjdG9yKHJlY3RMaXN0LnJlY3RzKTsKKyAgICAgICAgYm91bmRpbmdSZWN0LnVuaXRlKHJlY3RM
aXN0LmJvdW5kaW5nUmVjdCk7CisgICAgfQorICAgIAorICAgIGJvb2wgaW50ZXJzZWN0cyhjb25z
dCBMYXlvdXRSZWN0JiByZWN0KSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKCFyZWN0cy5zaXpl
KCkgfHwgIXJlY3QuaW50ZXJzZWN0cyhib3VuZGluZ1JlY3QpKQorICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgICAgIGZvciAoY29uc3QgYXV0byYgY3VycmVudFJlY3QgOiByZWN0cykg
eworICAgICAgICAgICAgaWYgKGN1cnJlbnRSZWN0LmludGVyc2VjdHMocmVjdCkpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIH0KK307CisKK2NsYXNzIE92ZXJsYXBNYXBDb250YWluZXIgeworcHVibGljOgorICAgIHZv
aWQgYWRkKGNvbnN0IExheW91dFJlY3QmIGJvdW5kcykKKyAgICB7CisgICAgICAgIG1fcmVjdExp
c3QuYXBwZW5kKGJvdW5kcyk7CisgICAgfQorCisgICAgYm9vbCBvdmVybGFwc0xheWVycyhjb25z
dCBMYXlvdXRSZWN0JiBib3VuZHMpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9yZWN0
TGlzdC5pbnRlcnNlY3RzKGJvdW5kcyk7CisgICAgfQorCisgICAgdm9pZCB1bml0ZShjb25zdCBP
dmVybGFwTWFwQ29udGFpbmVyJiBvdGhlckNvbnRhaW5lcikKKyAgICB7CisgICAgICAgIG1fcmVj
dExpc3QuYXBwZW5kKG90aGVyQ29udGFpbmVyLm1fcmVjdExpc3QpOworICAgIH0KKworcHJpdmF0
ZToKKyAgICBSZWN0TGlzdCBtX3JlY3RMaXN0OworfTsKKworTGF5ZXJPdmVybGFwTWFwOjpMYXll
ck92ZXJsYXBNYXAoKQorICAgIDogbV9nZW9tZXRyeU1hcChVc2VUcmFuc2Zvcm1zKQoreworICAg
IC8vIEJlZ2luIGFzc3VtaW5nIHRoZSByb290IGxheWVyIHdpbGwgYmUgY29tcG9zaXRlZCBzbyB0
aGF0IHRoZXJlIGlzCisgICAgLy8gc29tZXRoaW5nIG9uIHRoZSBzdGFjay4gVGhlIHJvb3QgbGF5
ZXIgc2hvdWxkIGFsc28gbmV2ZXIgZ2V0IGFuCisgICAgLy8gcG9wQ29tcG9zaXRpbmdDb250YWlu
ZXIgY2FsbC4KKyAgICBwdXNoQ29tcG9zaXRpbmdDb250YWluZXIoKTsKK30KKworTGF5ZXJPdmVy
bGFwTWFwOjp+TGF5ZXJPdmVybGFwTWFwKCkgPSBkZWZhdWx0OworCit2b2lkIExheWVyT3Zlcmxh
cE1hcDo6YWRkKGNvbnN0IExheW91dFJlY3QmIGJvdW5kcykKK3sKKyAgICAvLyBMYXllcnMgZG8g
bm90IGNvbnRyaWJ1dGUgdG8gb3ZlcmxhcCBpbW1lZGlhdGVseS0taW5zdGVhZCwgdGhleSB3aWxs
CisgICAgLy8gY29udHJpYnV0ZSB0byBvdmVybGFwIGFzIHNvb24gYXMgdGhlaXIgY29tcG9zaXRl
ZCBhbmNlc3RvciBoYXMgYmVlbgorICAgIC8vIHJlY3Vyc2l2ZWx5IHByb2Nlc3NlZCBhbmQgcG9w
cGVkIG9mZiB0aGUgc3RhY2suCisgICAgQVNTRVJUKG1fb3ZlcmxhcFN0YWNrLnNpemUoKSA+PSAy
KTsKKyAgICBtX292ZXJsYXBTdGFja1ttX292ZXJsYXBTdGFjay5zaXplKCkgLSAyXS0+YWRkKGJv
dW5kcyk7CisgICAgbV9pc0VtcHR5ID0gZmFsc2U7Cit9CisKK2Jvb2wgTGF5ZXJPdmVybGFwTWFw
OjpvdmVybGFwc0xheWVycyhjb25zdCBMYXlvdXRSZWN0JiBib3VuZHMpIGNvbnN0Cit7CisgICAg
cmV0dXJuIG1fb3ZlcmxhcFN0YWNrLmxhc3QoKS0+b3ZlcmxhcHNMYXllcnMoYm91bmRzKTsKK30K
Kwordm9pZCBMYXllck92ZXJsYXBNYXA6OnB1c2hDb21wb3NpdGluZ0NvbnRhaW5lcigpCit7Cisg
ICAgbV9vdmVybGFwU3RhY2suYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8T3ZlcmxhcE1hcENvbnRh
aW5lcj4oKSk7Cit9CisKK3ZvaWQgTGF5ZXJPdmVybGFwTWFwOjpwb3BDb21wb3NpdGluZ0NvbnRh
aW5lcigpCit7CisgICAgbV9vdmVybGFwU3RhY2tbbV9vdmVybGFwU3RhY2suc2l6ZSgpIC0gMl0t
PnVuaXRlKCptX292ZXJsYXBTdGFjay5sYXN0KCkpOworICAgIG1fb3ZlcmxhcFN0YWNrLnJlbW92
ZUxhc3QoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0xheWVyT3ZlcmxhcE1hcC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0xheWVyT3ZlcmxhcE1hcC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2Y2ZjMzk0NThlZjEwZGZlYjFi
ZGRkMWQ5MjZhOWE0ZDQwMDFmYWUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvTGF5ZXJPdmVybGFwTWFwLmgKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiTGF5b3V0UmVjdC5oIgorI2luY2x1ZGUgIlJlbmRl
ckdlb21ldHJ5TWFwLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgT3ZlcmxhcE1h
cENvbnRhaW5lcjsKKworY2xhc3MgTGF5ZXJPdmVybGFwTWFwIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMYXllck92ZXJsYXBNYXApOworcHVibGljOgorICAgIExheWVyT3ZlcmxhcE1hcCgp
OworICAgIH5MYXllck92ZXJsYXBNYXAoKTsKKworICAgIHZvaWQgYWRkKGNvbnN0IExheW91dFJl
Y3QmIGJvdW5kcyk7CisgICAgYm9vbCBvdmVybGFwc0xheWVycyhjb25zdCBMYXlvdXRSZWN0Jikg
Y29uc3Q7CisgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeyByZXR1cm4gbV9pc0VtcHR5OyB9CisK
KyAgICB2b2lkIHB1c2hDb21wb3NpdGluZ0NvbnRhaW5lcigpOworICAgIHZvaWQgcG9wQ29tcG9z
aXRpbmdDb250YWluZXIoKTsKKworICAgIGNvbnN0IFJlbmRlckdlb21ldHJ5TWFwJiBnZW9tZXRy
eU1hcCgpIGNvbnN0IHsgcmV0dXJuIG1fZ2VvbWV0cnlNYXA7IH0KKyAgICBSZW5kZXJHZW9tZXRy
eU1hcCYgZ2VvbWV0cnlNYXAoKSB7IHJldHVybiBtX2dlb21ldHJ5TWFwOyB9CisKK3ByaXZhdGU6
CisgICAgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxPdmVybGFwTWFwQ29udGFpbmVyPj4gbV9vdmVy
bGFwU3RhY2s7CisgICAgUmVuZGVyR2VvbWV0cnlNYXAgbV9nZW9tZXRyeU1hcDsKKyAgICBib29s
IG1faXNFbXB0eSB7IHRydWUgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5k
ZXggMDdlOGNjNzliOTVlNGYwYzNkMTc2ZDVhYzQyOWJkZDY1MWYwNGE1ZS4uMWY2NWM4NTA0ZDhj
MzQzM2E1ZjY0ZTQ4NGMxMWYxZWZjZjIxMjhjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTQyLDYgKzQyLDcgQEAKICNp
bmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVk
ZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCisjaW5jbHVkZSAiTGF5ZXJPdmVybGFwTWFw
LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5vZGVMaXN0LmgiCiAjaW5jbHVk
ZSAiUGFnZS5oIgpAQCAtMTEyLDExOSArMTEzLDYgQEAgc3RydWN0IFNjcm9sbGluZ1RyZWVTdGF0
ZSB7CiAgICAgc2l6ZV90IG5leHRDaGlsZEluZGV4IHsgMCB9OwogfTsKIAotY2xhc3MgT3Zlcmxh
cE1hcENvbnRhaW5lciB7Ci1wdWJsaWM6Ci0gICAgdm9pZCBhZGQoY29uc3QgTGF5b3V0UmVjdCYg
Ym91bmRzKQotICAgIHsKLSAgICAgICAgbV9sYXllclJlY3RzLmFwcGVuZChib3VuZHMpOwotICAg
ICAgICBtX2JvdW5kaW5nQm94LnVuaXRlKGJvdW5kcyk7Ci0gICAgfQotCi0gICAgYm9vbCBvdmVy
bGFwc0xheWVycyhjb25zdCBMYXlvdXRSZWN0JiBib3VuZHMpIGNvbnN0Ci0gICAgewotICAgICAg
ICAvLyBDaGVja2luZyB3aXRoIHRoZSBib3VuZGluZyBib3ggd2lsbCBxdWlja2x5IHJlamVjdCBj
YXNlcyB3aGVuCi0gICAgICAgIC8vIGxheWVycyBhcmUgY3JlYXRlZCBmb3IgbGlzdHMgb2YgaXRl
bXMgZ29pbmcgaW4gb25lIGRpcmVjdGlvbiBhbmQKLSAgICAgICAgLy8gbmV2ZXIgb3ZlcmxhcCB3
aXRoIGVhY2ggb3RoZXIuCi0gICAgICAgIGlmICghYm91bmRzLmludGVyc2VjdHMobV9ib3VuZGlu
Z0JveCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGZvciAoY29uc3QgYXV0
byYgbGF5ZXJSZWN0IDogbV9sYXllclJlY3RzKSB7Ci0gICAgICAgICAgICBpZiAobGF5ZXJSZWN0
LmludGVyc2VjdHMoYm91bmRzKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAg
ICAgfQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgdm9pZCB1bml0ZShjb25z
dCBPdmVybGFwTWFwQ29udGFpbmVyJiBvdGhlckNvbnRhaW5lcikKLSAgICB7Ci0gICAgICAgIG1f
bGF5ZXJSZWN0cy5hcHBlbmRWZWN0b3Iob3RoZXJDb250YWluZXIubV9sYXllclJlY3RzKTsKLSAg
ICAgICAgbV9ib3VuZGluZ0JveC51bml0ZShvdGhlckNvbnRhaW5lci5tX2JvdW5kaW5nQm94KTsK
LSAgICB9Ci1wcml2YXRlOgotICAgIFZlY3RvcjxMYXlvdXRSZWN0PiBtX2xheWVyUmVjdHM7Ci0g
ICAgTGF5b3V0UmVjdCBtX2JvdW5kaW5nQm94OwotfTsKLQotY2xhc3MgUmVuZGVyTGF5ZXJDb21w
b3NpdG9yOjpPdmVybGFwTWFwIHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPdmVybGFwTWFw
KTsKLXB1YmxpYzoKLSAgICBPdmVybGFwTWFwKCkKLSAgICAgICAgOiBtX2dlb21ldHJ5TWFwKFVz
ZVRyYW5zZm9ybXMpCi0gICAgewotICAgICAgICAvLyBCZWdpbiBhc3N1bWluZyB0aGUgcm9vdCBs
YXllciB3aWxsIGJlIGNvbXBvc2l0ZWQgc28gdGhhdCB0aGVyZSBpcwotICAgICAgICAvLyBzb21l
dGhpbmcgb24gdGhlIHN0YWNrLiBUaGUgcm9vdCBsYXllciBzaG91bGQgYWxzbyBuZXZlciBnZXQg
YW4KLSAgICAgICAgLy8gcG9wQ29tcG9zaXRpbmdDb250YWluZXIgY2FsbC4KLSAgICAgICAgcHVz
aENvbXBvc2l0aW5nQ29udGFpbmVyKCk7Ci0gICAgfQotCi0gICAgdm9pZCBhZGQoY29uc3QgTGF5
b3V0UmVjdCYgYm91bmRzKQotICAgIHsKLSAgICAgICAgLy8gTGF5ZXJzIGRvIG5vdCBjb250cmli
dXRlIHRvIG92ZXJsYXAgaW1tZWRpYXRlbHktLWluc3RlYWQsIHRoZXkgd2lsbAotICAgICAgICAv
LyBjb250cmlidXRlIHRvIG92ZXJsYXAgYXMgc29vbiBhcyB0aGVpciBjb21wb3NpdGVkIGFuY2Vz
dG9yIGhhcyBiZWVuCi0gICAgICAgIC8vIHJlY3Vyc2l2ZWx5IHByb2Nlc3NlZCBhbmQgcG9wcGVk
IG9mZiB0aGUgc3RhY2suCi0gICAgICAgIEFTU0VSVChtX292ZXJsYXBTdGFjay5zaXplKCkgPj0g
Mik7Ci0gICAgICAgIG1fb3ZlcmxhcFN0YWNrW21fb3ZlcmxhcFN0YWNrLnNpemUoKSAtIDJdLmFk
ZChib3VuZHMpOwotICAgICAgICBtX2lzRW1wdHkgPSBmYWxzZTsKLSAgICB9Ci0KLSAgICBib29s
IG92ZXJsYXBzTGF5ZXJzKGNvbnN0IExheW91dFJlY3QmIGJvdW5kcykgY29uc3QKLSAgICB7Ci0g
ICAgICAgIHJldHVybiBtX292ZXJsYXBTdGFjay5sYXN0KCkub3ZlcmxhcHNMYXllcnMoYm91bmRz
KTsKLSAgICB9Ci0KLSAgICBib29sIGlzRW1wdHkoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0
dXJuIG1faXNFbXB0eTsKLSAgICB9Ci0KLSAgICB2b2lkIHB1c2hDb21wb3NpdGluZ0NvbnRhaW5l
cigpCi0gICAgewotICAgICAgICBtX292ZXJsYXBTdGFjay5hcHBlbmQoT3ZlcmxhcE1hcENvbnRh
aW5lcigpKTsKLSAgICB9Ci0KLSAgICB2b2lkIHBvcENvbXBvc2l0aW5nQ29udGFpbmVyKCkKLSAg
ICB7Ci0gICAgICAgIG1fb3ZlcmxhcFN0YWNrW21fb3ZlcmxhcFN0YWNrLnNpemUoKSAtIDJdLnVu
aXRlKG1fb3ZlcmxhcFN0YWNrLmxhc3QoKSk7Ci0gICAgICAgIG1fb3ZlcmxhcFN0YWNrLnJlbW92
ZUxhc3QoKTsKLSAgICB9Ci0KLSAgICBjb25zdCBSZW5kZXJHZW9tZXRyeU1hcCYgZ2VvbWV0cnlN
YXAoKSBjb25zdCB7IHJldHVybiBtX2dlb21ldHJ5TWFwOyB9Ci0gICAgUmVuZGVyR2VvbWV0cnlN
YXAmIGdlb21ldHJ5TWFwKCkgeyByZXR1cm4gbV9nZW9tZXRyeU1hcDsgfQotCi1wcml2YXRlOgot
ICAgIHN0cnVjdCBSZWN0TGlzdCB7Ci0gICAgICAgIFZlY3RvcjxMYXlvdXRSZWN0PiByZWN0czsK
LSAgICAgICAgTGF5b3V0UmVjdCBib3VuZGluZ1JlY3Q7Ci0gICAgICAgIAotICAgICAgICB2b2lk
IGFwcGVuZChjb25zdCBMYXlvdXRSZWN0JiByZWN0KQotICAgICAgICB7Ci0gICAgICAgICAgICBy
ZWN0cy5hcHBlbmQocmVjdCk7Ci0gICAgICAgICAgICBib3VuZGluZ1JlY3QudW5pdGUocmVjdCk7
Ci0gICAgICAgIH0KLQotICAgICAgICB2b2lkIGFwcGVuZChjb25zdCBSZWN0TGlzdCYgcmVjdExp
c3QpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJlY3RzLmFwcGVuZFZlY3RvcihyZWN0TGlzdC5y
ZWN0cyk7Ci0gICAgICAgICAgICBib3VuZGluZ1JlY3QudW5pdGUocmVjdExpc3QuYm91bmRpbmdS
ZWN0KTsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgYm9vbCBpbnRlcnNlY3RzKGNvbnN0
IExheW91dFJlY3QmIHJlY3QpIGNvbnN0Ci0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICghcmVj
dHMuc2l6ZSgpIHx8ICFib3VuZGluZ1JlY3QuaW50ZXJzZWN0cyhyZWN0KSkKLSAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgICAgIGZvciAoY29uc3QgYXV0byYgY3VycmVu
dFJlY3QgOiByZWN0cykgewotICAgICAgICAgICAgICAgIGlmIChjdXJyZW50UmVjdC5pbnRlcnNl
Y3RzKHJlY3QpKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgIH07Ci0KLSAgICBW
ZWN0b3I8T3ZlcmxhcE1hcENvbnRhaW5lcj4gbV9vdmVybGFwU3RhY2s7Ci0gICAgUmVuZGVyR2Vv
bWV0cnlNYXAgbV9nZW9tZXRyeU1hcDsKLSAgICBib29sIG1faXNFbXB0eSB7IHRydWUgfTsKLX07
Ci0KIHN0cnVjdCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OkNvbXBvc2l0aW5nU3RhdGUgewogICAg
IENvbXBvc2l0aW5nU3RhdGUoUmVuZGVyTGF5ZXIqIGNvbXBBbmNlc3RvciwgYm9vbCB0ZXN0T3Zl
cmxhcCA9IHRydWUpCiAgICAgICAgIDogY29tcG9zaXRpbmdBbmNlc3Rvcihjb21wQW5jZXN0b3Ip
CkBAIC04NjcsNyArNzU1LDcgQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUNv
bXBvc2l0aW5nTGF5ZXJzKENvbXBvc2l0aW5nVXBkYXRlVHlwZSB1cGRhdGUKICAgICBpZiAodXBk
YXRlUm9vdC0+aGFzRGVzY2VuZGFudE5lZWRpbmdDb21wb3NpdGluZ1JlcXVpcmVtZW50c1RyYXZl
cnNhbCgpIHx8IHVwZGF0ZVJvb3QtPm5lZWRzQ29tcG9zaXRpbmdSZXF1aXJlbWVudHNUcmF2ZXJz
YWwoKSkgewogICAgICAgICBDb21wb3NpdGluZ1N0YXRlIGNvbXBvc2l0aW5nU3RhdGUodXBkYXRl
Um9vdCk7CiAgICAgICAgIEJhY2tpbmdTaGFyaW5nU3RhdGUgYmFja2luZ1NoYXJpbmdTdGF0ZTsK
LSAgICAgICAgT3ZlcmxhcE1hcCBvdmVybGFwTWFwOworICAgICAgICBMYXllck92ZXJsYXBNYXAg
b3ZlcmxhcE1hcDsKIAogICAgICAgICBib29sIGRlc2NlbmRhbnRIYXMzRFRyYW5zZm9ybSA9IGZh
bHNlOwogICAgICAgICBjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHMobnVsbHB0ciwgcm9v
dFJlbmRlckxheWVyKCksIG92ZXJsYXBNYXAsIGNvbXBvc2l0aW5nU3RhdGUsIGJhY2tpbmdTaGFy
aW5nU3RhdGUsIGRlc2NlbmRhbnRIYXMzRFRyYW5zZm9ybSk7CkBAIC05MzIsNyArODIwLDcgQEAg
c3RhdGljIGJvb2wgYmFja2luZ1Byb3ZpZGVyTGF5ZXJDYW5JbmNsdWRlTGF5ZXIoY29uc3QgUmVu
ZGVyTGF5ZXImIHNoYXJlZExheWVyLAogICAgIHJldHVybiBsYXllci5hbmNlc3RvckxheWVySXNJ
bkNvbnRhaW5pbmdCbG9ja0NoYWluKHNoYXJlZExheWVyKTsKIH0KIAotdm9pZCBSZW5kZXJMYXll
ckNvbXBvc2l0b3I6OmNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyhSZW5kZXJMYXllciog
YW5jZXN0b3JMYXllciwgUmVuZGVyTGF5ZXImIGxheWVyLCBPdmVybGFwTWFwJiBvdmVybGFwTWFw
LCBDb21wb3NpdGluZ1N0YXRlJiBjb21wb3NpdGluZ1N0YXRlLCBCYWNraW5nU2hhcmluZ1N0YXRl
JiBiYWNraW5nU2hhcmluZ1N0YXRlLCBib29sJiBkZXNjZW5kYW50SGFzM0RUcmFuc2Zvcm0pCit2
b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRz
KFJlbmRlckxheWVyKiBhbmNlc3RvckxheWVyLCBSZW5kZXJMYXllciYgbGF5ZXIsIExheWVyT3Zl
cmxhcE1hcCYgb3ZlcmxhcE1hcCwgQ29tcG9zaXRpbmdTdGF0ZSYgY29tcG9zaXRpbmdTdGF0ZSwg
QmFja2luZ1NoYXJpbmdTdGF0ZSYgYmFja2luZ1NoYXJpbmdTdGF0ZSwgYm9vbCYgZGVzY2VuZGFu
dEhhczNEVHJhbnNmb3JtKQogewogICAgIGlmICghbGF5ZXIuaGFzRGVzY2VuZGFudE5lZWRpbmdD
b21wb3NpdGluZ1JlcXVpcmVtZW50c1RyYXZlcnNhbCgpCiAgICAgICAgICYmICFsYXllci5uZWVk
c0NvbXBvc2l0aW5nUmVxdWlyZW1lbnRzVHJhdmVyc2FsKCkKQEAgLTExODIsNyArMTA3MCw3IEBA
IHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVu
dHMoUmVuZGVyTGF5ZXIqIGFuY2VzdG9yCiB9CiAKIC8vIFdlIGhhdmUgdG8gdHJhdmVyc2UgdW5j
aGFuZ2VkIGxheWVycyB0byBmaWxsIGluIHRoZSBvdmVybGFwIG1hcC4KLXZvaWQgUmVuZGVyTGF5
ZXJDb21wb3NpdG9yOjp0cmF2ZXJzZVVuY2hhbmdlZFN1YnRyZWUoUmVuZGVyTGF5ZXIqIGFuY2Vz
dG9yTGF5ZXIsIFJlbmRlckxheWVyJiBsYXllciwgT3ZlcmxhcE1hcCYgb3ZlcmxhcE1hcCwgQ29t
cG9zaXRpbmdTdGF0ZSYgY29tcG9zaXRpbmdTdGF0ZSwgQmFja2luZ1NoYXJpbmdTdGF0ZSYgYmFj
a2luZ1NoYXJpbmdTdGF0ZSwgYm9vbCYgZGVzY2VuZGFudEhhczNEVHJhbnNmb3JtKQordm9pZCBS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OnRyYXZlcnNlVW5jaGFuZ2VkU3VidHJlZShSZW5kZXJMYXll
ciogYW5jZXN0b3JMYXllciwgUmVuZGVyTGF5ZXImIGxheWVyLCBMYXllck92ZXJsYXBNYXAmIG92
ZXJsYXBNYXAsIENvbXBvc2l0aW5nU3RhdGUmIGNvbXBvc2l0aW5nU3RhdGUsIEJhY2tpbmdTaGFy
aW5nU3RhdGUmIGJhY2tpbmdTaGFyaW5nU3RhdGUsIGJvb2wmIGRlc2NlbmRhbnRIYXMzRFRyYW5z
Zm9ybSkKIHsKICAgICBBU1NFUlQoIWNvbXBvc2l0aW5nU3RhdGUuZnVsbFBhaW50T3JkZXJUcmF2
ZXJzYWxSZXF1aXJlZCk7CiAgICAgQVNTRVJUKCFsYXllci5oYXNEZXNjZW5kYW50TmVlZGluZ0Nv
bXBvc2l0aW5nUmVxdWlyZW1lbnRzVHJhdmVyc2FsKCkpOwpAQCAtMTg4OCw3ICsxNzc2LDcgQEAg
UmVuZGVyTGF5ZXIqIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZW5jbG9zaW5nTm9uU3RhY2tpbmdD
bGlwcGluZ0xheWVyKGNvbnN0IFJlbmQKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAotdm9pZCBS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OmNvbXB1dGVFeHRlbnQoY29uc3QgT3ZlcmxhcE1hcCYgb3Zl
cmxhcE1hcCwgY29uc3QgUmVuZGVyTGF5ZXImIGxheWVyLCBPdmVybGFwRXh0ZW50JiBleHRlbnQp
IGNvbnN0Cit2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUV4dGVudChjb25zdCBM
YXllck92ZXJsYXBNYXAmIG92ZXJsYXBNYXAsIGNvbnN0IFJlbmRlckxheWVyJiBsYXllciwgT3Zl
cmxhcEV4dGVudCYgZXh0ZW50KSBjb25zdAogewogICAgIGlmIChleHRlbnQuZXh0ZW50Q29tcHV0
ZWQpCiAgICAgICAgIHJldHVybjsKQEAgLTE5MTksNyArMTgwNyw3IEBAIHZvaWQgUmVuZGVyTGF5
ZXJDb21wb3NpdG9yOjpjb21wdXRlRXh0ZW50KGNvbnN0IE92ZXJsYXBNYXAmIG92ZXJsYXBNYXAs
IGNvbnN0IFJlCiAgICAgZXh0ZW50LmV4dGVudENvbXB1dGVkID0gdHJ1ZTsKIH0KIAotdm9pZCBS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OmFkZFRvT3ZlcmxhcE1hcChPdmVybGFwTWFwJiBvdmVybGFw
TWFwLCBjb25zdCBSZW5kZXJMYXllciYgbGF5ZXIsIE92ZXJsYXBFeHRlbnQmIGV4dGVudCkKK3Zv
aWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjphZGRUb092ZXJsYXBNYXAoTGF5ZXJPdmVybGFwTWFw
JiBvdmVybGFwTWFwLCBjb25zdCBSZW5kZXJMYXllciYgbGF5ZXIsIE92ZXJsYXBFeHRlbnQmIGV4
dGVudCkKIHsKICAgICBpZiAobGF5ZXIuaXNSZW5kZXJWaWV3TGF5ZXIoKSkKICAgICAgICAgcmV0
dXJuOwpAQCAtMTkzNSw3ICsxODIzLDcgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmFk
ZFRvT3ZlcmxhcE1hcChPdmVybGFwTWFwJiBvdmVybGFwTWFwLCBjb25zdCBSZW5kZXIKICAgICBv
dmVybGFwTWFwLmFkZChjbGlwUmVjdCk7CiB9CiAKLXZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9y
OjphZGRUb092ZXJsYXBNYXBSZWN1cnNpdmUoT3ZlcmxhcE1hcCYgb3ZlcmxhcE1hcCwgY29uc3Qg
UmVuZGVyTGF5ZXImIGxheWVyLCBjb25zdCBSZW5kZXJMYXllciogYW5jZXN0b3JMYXllcikKK3Zv
aWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjphZGRUb092ZXJsYXBNYXBSZWN1cnNpdmUoTGF5ZXJP
dmVybGFwTWFwJiBvdmVybGFwTWFwLCBjb25zdCBSZW5kZXJMYXllciYgbGF5ZXIsIGNvbnN0IFJl
bmRlckxheWVyKiBhbmNlc3RvckxheWVyKQogewogICAgIGlmICghY2FuQmVDb21wb3NpdGVkKGxh
eWVyKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQ29tcG9zaXRvci5oCmluZGV4IDEyNWIzMjkyMTYyZWRjYzQwYmFkYTUyNTg2MDM0
MzM2MzllNjE2MTguLjc4ZGNiNjkwMDQ1ZmJjMzlhZmRkMzczNDEyNDZhODE3MTg5MTdjMmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3Iu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgK
QEAgLTM3LDYgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRml4ZWRQb3NpdGlv
blZpZXdwb3J0Q29uc3RyYWludHM7CiBjbGFzcyBHcmFwaGljc0xheWVyOwogY2xhc3MgR3JhcGhp
Y3NMYXllclVwZGF0ZXI7CitjbGFzcyBMYXllck92ZXJsYXBNYXA7CiBjbGFzcyBSZW5kZXJFbWJl
ZGRlZE9iamVjdDsKIGNsYXNzIFJlbmRlclZpZGVvOwogY2xhc3MgUmVuZGVyV2lkZ2V0OwpAQCAt
MzY4LDcgKzM2OSw2IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBjbGFzcyBCYWNraW5nU2hh
cmluZ1N0YXRlOwotICAgIGNsYXNzIE92ZXJsYXBNYXA7CiAgICAgc3RydWN0IENvbXBvc2l0aW5n
U3RhdGU7CiAgICAgc3RydWN0IE92ZXJsYXBFeHRlbnQ7CiAKQEAgLTQwNSwxNCArNDA1LDE0IEBA
IHByaXZhdGU6CiAgICAgLy8gUmVwYWludCB0aGlzIGFuZCBpdHMgY2hpbGQgbGF5ZXJzLgogICAg
IHZvaWQgcmVjdXJzaXZlUmVwYWludExheWVyKFJlbmRlckxheWVyJik7CiAKLSAgICB2b2lkIGNv
bXB1dGVFeHRlbnQoY29uc3QgT3ZlcmxhcE1hcCYsIGNvbnN0IFJlbmRlckxheWVyJiwgT3Zlcmxh
cEV4dGVudCYpIGNvbnN0OwotICAgIHZvaWQgYWRkVG9PdmVybGFwTWFwKE92ZXJsYXBNYXAmLCBj
b25zdCBSZW5kZXJMYXllciYsIE92ZXJsYXBFeHRlbnQmKTsKLSAgICB2b2lkIGFkZFRvT3Zlcmxh
cE1hcFJlY3Vyc2l2ZShPdmVybGFwTWFwJiwgY29uc3QgUmVuZGVyTGF5ZXImLCBjb25zdCBSZW5k
ZXJMYXllciogYW5jZXN0b3JMYXllciA9IG51bGxwdHIpOworICAgIHZvaWQgY29tcHV0ZUV4dGVu
dChjb25zdCBMYXllck92ZXJsYXBNYXAmLCBjb25zdCBSZW5kZXJMYXllciYsIE92ZXJsYXBFeHRl
bnQmKSBjb25zdDsKKyAgICB2b2lkIGFkZFRvT3ZlcmxhcE1hcChMYXllck92ZXJsYXBNYXAmLCBj
b25zdCBSZW5kZXJMYXllciYsIE92ZXJsYXBFeHRlbnQmKTsKKyAgICB2b2lkIGFkZFRvT3Zlcmxh
cE1hcFJlY3Vyc2l2ZShMYXllck92ZXJsYXBNYXAmLCBjb25zdCBSZW5kZXJMYXllciYsIGNvbnN0
IFJlbmRlckxheWVyKiBhbmNlc3RvckxheWVyID0gbnVsbHB0cik7CiAKICAgICB2b2lkIHVwZGF0
ZUNvbXBvc2l0aW5nTGF5ZXJzVGltZXJGaXJlZCgpOwogCi0gICAgdm9pZCBjb21wdXRlQ29tcG9z
aXRpbmdSZXF1aXJlbWVudHMoUmVuZGVyTGF5ZXIqIGFuY2VzdG9yTGF5ZXIsIFJlbmRlckxheWVy
JiwgT3ZlcmxhcE1hcCYsIENvbXBvc2l0aW5nU3RhdGUmLCBCYWNraW5nU2hhcmluZ1N0YXRlJiwg
Ym9vbCYgZGVzY2VuZGFudEhhczNEVHJhbnNmb3JtKTsKLSAgICB2b2lkIHRyYXZlcnNlVW5jaGFu
Z2VkU3VidHJlZShSZW5kZXJMYXllciogYW5jZXN0b3JMYXllciwgUmVuZGVyTGF5ZXImLCBPdmVy
bGFwTWFwJiwgQ29tcG9zaXRpbmdTdGF0ZSYsIEJhY2tpbmdTaGFyaW5nU3RhdGUmLCBib29sJiBk
ZXNjZW5kYW50SGFzM0RUcmFuc2Zvcm0pOworICAgIHZvaWQgY29tcHV0ZUNvbXBvc2l0aW5nUmVx
dWlyZW1lbnRzKFJlbmRlckxheWVyKiBhbmNlc3RvckxheWVyLCBSZW5kZXJMYXllciYsIExheWVy
T3ZlcmxhcE1hcCYsIENvbXBvc2l0aW5nU3RhdGUmLCBCYWNraW5nU2hhcmluZ1N0YXRlJiwgYm9v
bCYgZGVzY2VuZGFudEhhczNEVHJhbnNmb3JtKTsKKyAgICB2b2lkIHRyYXZlcnNlVW5jaGFuZ2Vk
U3VidHJlZShSZW5kZXJMYXllciogYW5jZXN0b3JMYXllciwgUmVuZGVyTGF5ZXImLCBMYXllck92
ZXJsYXBNYXAmLCBDb21wb3NpdGluZ1N0YXRlJiwgQmFja2luZ1NoYXJpbmdTdGF0ZSYsIGJvb2wm
IGRlc2NlbmRhbnRIYXMzRFRyYW5zZm9ybSk7CiAKICAgICBlbnVtIGNsYXNzIFVwZGF0ZUxldmVs
IHsKICAgICAgICAgQWxsRGVzY2VuZGFudHMgICAgICAgICAgPSAxIDw8IDAsCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>