<?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>220627</bug_id>
          
          <creation_ts>2021-01-14 11:46:43 -0800</creation_ts>
          <short_desc>[WK2] Bypass NetworkProcess for MessagePort communication within a single WebProcess</short_desc>
          <delta_ts>2021-01-14 17:07:20 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=181454</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>220038</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>annulen</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1719648</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-14 11:46:43 -0800</bug_when>
    <thetext>Bypass NetworkProcess for MessagePort communication within a single WebProcess. When the 2 MessagePorts are within the same WebProcess, there is no reason to go via the NetworkProcess to do the communication. Doing so is bad for performance and also loses functionality because SerializedScriptValue is not able to encode everything over IPC (e.g. Wasm modules, see Bug 220038).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719649</commentid>
    <comment_count>1</comment_count>
      <attachid>417635</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-14 11:48:19 -0800</bug_when>
    <thetext>Created attachment 417635
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719651</commentid>
    <comment_count>2</comment_count>
      <attachid>417636</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-14 11:53:21 -0800</bug_when>
    <thetext>Created attachment 417636
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719658</commentid>
    <comment_count>3</comment_count>
      <attachid>417639</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-14 12:06:58 -0800</bug_when>
    <thetext>Created attachment 417639
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719682</commentid>
    <comment_count>4</comment_count>
      <attachid>417639</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-14 13:25:28 -0800</bug_when>
    <thetext>Comment on attachment 417639
Patch

Sadly, this is not as easy as it looks. Current patch breaks cross-process communication (used by service workers). A given WebProcess does not seem to know if its remote MessagePort is within its process or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719749</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-14 16:50:44 -0800</bug_when>
    <thetext>I tried a different approach but it is tricky. At the time a message is posted, we may not know yet if the destination MessagePort will be in the same WebProcess or not.

You can send a MessagePort to a worker and call postMessage() on this MessagePort, before the Worker has received the port (so before entanglement has happened). Entanglement is when we know if both ends of the channel are in the same process.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417635</attachid>
            <date>2021-01-14 11:48:19 -0800</date>
            <delta_ts>2021-01-14 11:53:19 -0800</delta_ts>
            <desc>WIP Patch</desc>
            <filename>220627_wip.patch</filename>
            <type>text/plain</type>
            <size>11022</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCA0MTlhMDkxMTg0MzEuLmQ4MjQ3ZDU5MDIwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTU0Myw3ICsxNTQzLDcgQEAK
IAkJNTFBNEJCMEExOTU0RDYxNjAwRkE1QzJFIC8qIEdhbWVwYWQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFBNEJCMDcxOTU0RDYxNjAwRkE1QzJF
IC8qIEdhbWVwYWQuY3BwICovOyB9OwogCQk1MUE0QkIxMDE5NTRENjI3MDBGQTVDMkUgLyogTmF2
aWdhdG9yR2FtZXBhZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MUE0QkIwRDE5NTRENjI3MDBGQTVDMkUgLyogTmF2aWdhdG9yR2FtZXBhZC5jcHAg
Ki87IH07CiAJCTUxQTc0OEUzMjAwNUQwRTgwMDc1QkE2OCAvKiBNZXNzYWdlV2l0aE1lc3NhZ2VQ
b3J0cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFB
NzQ4RTAyMDA1RDBFMDAwNzVCQTY4IC8qIE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNTFBNzQ4RTYyMDA2
MDA0RjAwNzVCQTY4IC8qIE1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVySW1wbC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFBNzQ4RTUyMDA2MDAyMTAw
NzVCQTY4IC8qIE1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVySW1wbC5oICovOyB9OworCQk1MUE3
NDhFNjIwMDYwMDRGMDA3NUJBNjggLyogTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXJJbXBsLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUE3NDhFNTIw
MDYwMDIxMDA3NUJBNjggLyogTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXJJbXBsLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTFBOUQ5RTkxOTVC
OTMxRjAwMUIyQjVDIC8qIEdhbWVwYWRNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQTlEOUU3MTk1QjkzMUYwMDFCMkI1QyAvKiBHYW1l
cGFkTWFuYWdlci5jcHAgKi87IH07CiAJCTUxQTlEOUVBMTk1QjkzMUYwMDFCMkI1QyAvKiBHYW1l
cGFkTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTFBOUQ5RTgxOTVCOTMxRjAwMUIyQjVDIC8qIEdhbWVwYWRNYW5hZ2VyLmggKi87IH07CiAJ
CTUxQUJBRTFFMTAzQzE5MTMwMDhDNTI2MCAvKiBTb2NrZXRTdHJlYW1IYW5kbGVJbXBsLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUFCQUUxQzEwM0Mx
OTEzMDA4QzUyNjAgLyogU29ja2V0U3RyZWFtSGFuZGxlSW1wbC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vbWVzc2FnZXBvcnRzL01lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vbWVzc2FnZXBvcnRzL01lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyLmgKaW5k
ZXggNTEwYmU3ZjE4NGY2Li5kZjEzZmNmNmY0YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9tZXNzYWdlcG9ydHMvTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vbWVzc2FnZXBvcnRzL01lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyLmgK
QEAgLTM2LDYgKzM2LDcgQEAgc3RydWN0IE1lc3NhZ2VQb3J0SWRlbnRpZmllcjsKIHN0cnVjdCBN
ZXNzYWdlV2l0aE1lc3NhZ2VQb3J0czsKIAogY2xhc3MgTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlk
ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBN
ZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlciYgZnJvbUNvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYpOwogICAgIHN0YXRpYyBNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlciYgc2luZ2xldG9u
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWVzc2FnZXBvcnRzL01lc3NhZ2VQ
b3J0Q2hhbm5lbFByb3ZpZGVySW1wbC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL21lc3NhZ2Vwb3J0
cy9NZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlckltcGwuaAppbmRleCBmZWFlYWNlMTVmY2IuLjc0
NjJkMTFkZjFiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL21lc3NhZ2Vwb3J0cy9N
ZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlckltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
bWVzc2FnZXBvcnRzL01lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVySW1wbC5oCkBAIC0zMiwxOCAr
MzIsMTggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBNZXNzYWdlUG9ydENoYW5uZWxQ
cm92aWRlckltcGwgZmluYWwgOiBwdWJsaWMgTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXIgewog
cHVibGljOgotICAgIE1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVySW1wbCgpOwotICAgIH5NZXNz
YWdlUG9ydENoYW5uZWxQcm92aWRlckltcGwoKSBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCBN
ZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlckltcGwoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB+TWVz
c2FnZVBvcnRDaGFubmVsUHJvdmlkZXJJbXBsKCkgZmluYWw7CiAKLXByaXZhdGU6Ci0gICAgdm9p
ZCBjcmVhdGVOZXdNZXNzYWdlUG9ydENoYW5uZWwoY29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVy
JiBsb2NhbCwgY29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiByZW1vdGUpIGZpbmFsOwotICAg
IHZvaWQgZW50YW5nbGVMb2NhbFBvcnRJblRoaXNQcm9jZXNzVG9SZW1vdGUoY29uc3QgTWVzc2Fn
ZVBvcnRJZGVudGlmaWVyJiBsb2NhbCwgY29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiByZW1v
dGUpIGZpbmFsOwotICAgIHZvaWQgbWVzc2FnZVBvcnREaXNlbnRhbmdsZWQoY29uc3QgTWVzc2Fn
ZVBvcnRJZGVudGlmaWVyJiBsb2NhbCkgZmluYWw7Ci0gICAgdm9pZCBtZXNzYWdlUG9ydENsb3Nl
ZChjb25zdCBNZXNzYWdlUG9ydElkZW50aWZpZXImIGxvY2FsKSBmaW5hbDsKLSAgICB2b2lkIHBv
c3RNZXNzYWdlVG9SZW1vdGUoTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJiwgY29uc3QgTWVzc2Fn
ZVBvcnRJZGVudGlmaWVyJiByZW1vdGVUYXJnZXQpIGZpbmFsOwotICAgIHZvaWQgdGFrZUFsbE1l
c3NhZ2VzRm9yUG9ydChjb25zdCBNZXNzYWdlUG9ydElkZW50aWZpZXImLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKFZlY3RvcjxNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cz4mJiwgRnVuY3Rpb248dm9p
ZCgpPiYmKT4mJikgZmluYWw7Ci0gICAgdm9pZCBjaGVja1JlbW90ZVBvcnRGb3JBY3Rpdml0eShj
b25zdCBNZXNzYWdlUG9ydElkZW50aWZpZXImIHJlbW90ZVRhcmdldCwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChIYXNBY3Rpdml0eSk+JiYgY2FsbGJhY2spIGZpbmFsOworICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgY3JlYXRlTmV3TWVzc2FnZVBvcnRDaGFubmVsKGNvbnN0IE1lc3NhZ2VQb3J0SWRl
bnRpZmllciYgbG9jYWwsIGNvbnN0IE1lc3NhZ2VQb3J0SWRlbnRpZmllciYgcmVtb3RlKSBmaW5h
bDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGVudGFuZ2xlTG9jYWxQb3J0SW5UaGlzUHJvY2Vz
c1RvUmVtb3RlKGNvbnN0IE1lc3NhZ2VQb3J0SWRlbnRpZmllciYgbG9jYWwsIGNvbnN0IE1lc3Nh
Z2VQb3J0SWRlbnRpZmllciYgcmVtb3RlKSBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IG1lc3NhZ2VQb3J0RGlzZW50YW5nbGVkKGNvbnN0IE1lc3NhZ2VQb3J0SWRlbnRpZmllciYgbG9j
YWwpIGZpbmFsOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgbWVzc2FnZVBvcnRDbG9zZWQoY29u
c3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiBsb2NhbCkgZmluYWw7CisgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBwb3N0TWVzc2FnZVRvUmVtb3RlKE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYsIGNv
bnN0IE1lc3NhZ2VQb3J0SWRlbnRpZmllciYgcmVtb3RlVGFyZ2V0KSBmaW5hbDsKKyAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHRha2VBbGxNZXNzYWdlc0ZvclBvcnQoY29uc3QgTWVzc2FnZVBvcnRJ
ZGVudGlmaWVyJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8TWVzc2FnZVdpdGhNZXNz
YWdlUG9ydHM+JiYsIEZ1bmN0aW9uPHZvaWQoKT4mJik+JiYpIGZpbmFsOworICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgY2hlY2tSZW1vdGVQb3J0Rm9yQWN0aXZpdHkoY29uc3QgTWVzc2FnZVBvcnRJ
ZGVudGlmaWVyJiByZW1vdGVUYXJnZXQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoSGFzQWN0aXZp
dHkpPiYmIGNhbGxiYWNrKSBmaW5hbDsKIAorcHJpdmF0ZToKICAgICB2b2lkIHBlcmZvcm1BY3Rp
b25Pbk1haW5UaHJlYWQoRnVuY3Rpb248dm9pZCgpPiYmKTsKIAogICAgIE1lc3NhZ2VQb3J0Q2hh
bm5lbFJlZ2lzdHJ5IG1fcmVnaXN0cnk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXIuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk1lc3NhZ2VQb3J0Q2hh
bm5lbFByb3ZpZGVyLmNwcAppbmRleCA5N2VlY2UyMmE0MmYuLmU3OGQzOThlYTk5MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk1lc3NhZ2VQ
b3J0Q2hhbm5lbFByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXIuY3BwCkBAIC0zMCw2ICsz
MCw3IEBACiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAi
V2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTWVzc2FnZVBvcnQuaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL01lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVySW1wbC5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvTWVzc2FnZVBvcnRJZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NZXNzYWdl
V2l0aE1lc3NhZ2VQb3J0cy5oPgogCkBAIC00Myw2ICs0NCw3IEBAIFdlYk1lc3NhZ2VQb3J0Q2hh
bm5lbFByb3ZpZGVyJiBXZWJNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcjo6c2luZ2xldG9uKCkK
IH0KIAogV2ViTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXI6OldlYk1lc3NhZ2VQb3J0Q2hhbm5l
bFByb3ZpZGVyKCkKKyAgICA6IG1fbG9jYWxQcm92aWRlcihtYWtlVW5pcXVlUmVmPE1lc3NhZ2VQ
b3J0Q2hhbm5lbFByb3ZpZGVySW1wbD4oKSkKIHsKIH0KIApAQCAtNTgsMjYgKzYwLDQzIEBAIHN0
YXRpYyBpbmxpbmUgSVBDOjpDb25uZWN0aW9uJiBuZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oKQog
CiB2b2lkIFdlYk1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyOjpjcmVhdGVOZXdNZXNzYWdlUG9y
dENoYW5uZWwoY29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiBwb3J0MSwgY29uc3QgTWVzc2Fn
ZVBvcnRJZGVudGlmaWVyJiBwb3J0MikKIHsKLSAgICBuZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24o
KS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Q3JlYXRlTmV3
TWVzc2FnZVBvcnRDaGFubmVsIHsgcG9ydDEsIHBvcnQyIH0sIDApOworICAgIGlmIChwb3J0MS5w
cm9jZXNzSWRlbnRpZmllciA9PSBwb3J0Mi5wcm9jZXNzSWRlbnRpZmllcikKKyAgICAgICAgbV9s
b2NhbFByb3ZpZGVyLT5jcmVhdGVOZXdNZXNzYWdlUG9ydENoYW5uZWwocG9ydDEsIHBvcnQyKTsK
KyAgICBlbHNlCisgICAgICAgIG5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpLnNlbmQoTWVzc2Fn
ZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpDcmVhdGVOZXdNZXNzYWdlUG9ydENo
YW5uZWwgeyBwb3J0MSwgcG9ydDIgfSwgMCk7CiB9CiAKIHZvaWQgV2ViTWVzc2FnZVBvcnRDaGFu
bmVsUHJvdmlkZXI6OmVudGFuZ2xlTG9jYWxQb3J0SW5UaGlzUHJvY2Vzc1RvUmVtb3RlKGNvbnN0
IE1lc3NhZ2VQb3J0SWRlbnRpZmllciYgbG9jYWwsIGNvbnN0IE1lc3NhZ2VQb3J0SWRlbnRpZmll
ciYgcmVtb3RlKQogewotICAgIG5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpLnNlbmQoTWVzc2Fn
ZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpFbnRhbmdsZUxvY2FsUG9ydEluVGhp
c1Byb2Nlc3NUb1JlbW90ZSB7IGxvY2FsLCByZW1vdGUgfSwgMCk7CisgICAgaWYgKGxvY2FsLnBy
b2Nlc3NJZGVudGlmaWVyID09IHJlbW90ZS5wcm9jZXNzSWRlbnRpZmllcikKKyAgICAgICAgbV9s
b2NhbFByb3ZpZGVyLT5lbnRhbmdsZUxvY2FsUG9ydEluVGhpc1Byb2Nlc3NUb1JlbW90ZShsb2Nh
bCwgcmVtb3RlKTsKKyAgICBlbHNlCisgICAgICAgIG5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigp
LnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpFbnRhbmdsZUxv
Y2FsUG9ydEluVGhpc1Byb2Nlc3NUb1JlbW90ZSB7IGxvY2FsLCByZW1vdGUgfSwgMCk7CiB9CiAK
IHZvaWQgV2ViTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXI6Om1lc3NhZ2VQb3J0RGlzZW50YW5n
bGVkKGNvbnN0IE1lc3NhZ2VQb3J0SWRlbnRpZmllciYgcG9ydCkKIHsKLSAgICBuZXR3b3JrUHJv
Y2Vzc0Nvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzczo6TWVzc2FnZVBvcnREaXNlbnRhbmdsZWQgeyBwb3J0IH0sIDApOworICAgIGlmIChwb3J0
LnByb2Nlc3NJZGVudGlmaWVyID09IFByb2Nlc3M6OmlkZW50aWZpZXIoKSkKKyAgICAgICAgbV9s
b2NhbFByb3ZpZGVyLT5tZXNzYWdlUG9ydERpc2VudGFuZ2xlZChwb3J0KTsKKyAgICBlbHNlCisg
ICAgICAgIG5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjpNZXNzYWdlUG9ydERpc2VudGFuZ2xlZCB7IHBvcnQgfSwg
MCk7CiB9CiAKIHZvaWQgV2ViTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXI6Om1lc3NhZ2VQb3J0
Q2xvc2VkKGNvbnN0IE1lc3NhZ2VQb3J0SWRlbnRpZmllciYgcG9ydCkKIHsKLSAgICBuZXR3b3Jr
UHJvY2Vzc0Nvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzczo6TWVzc2FnZVBvcnRDbG9zZWQgeyBwb3J0IH0sIDApOworICAgIGlmIChwb3J0LnBy
b2Nlc3NJZGVudGlmaWVyID09IFByb2Nlc3M6OmlkZW50aWZpZXIoKSkKKyAgICAgICAgbV9sb2Nh
bFByb3ZpZGVyLT5tZXNzYWdlUG9ydENsb3NlZChwb3J0KTsKKyAgICBlbHNlCisgICAgICAgIG5l
dHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzOjpNZXNzYWdlUG9ydENsb3NlZCB7IHBvcnQgfSwgMCk7CiB9CiAKIHZvaWQg
V2ViTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXI6OnRha2VBbGxNZXNzYWdlc0ZvclBvcnQoY29u
c3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiBwb3J0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFZl
Y3RvcjxNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cz4mJiwgRnVuY3Rpb248dm9pZCgpPiYmKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBpZiAocG9ydC5wcm9jZXNzSWRlbnRpZmllciA9PSBQ
cm9jZXNzOjppZGVudGlmaWVyKCkpIHsKKyAgICAgICAgbV9sb2NhbFByb3ZpZGVyLT50YWtlQWxs
TWVzc2FnZXNGb3JQb3J0KHBvcnQsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKwogICAgIG5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpLnNlbmRX
aXRoQXN5bmNSZXBseShNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OlRh
a2VBbGxNZXNzYWdlc0ZvclBvcnQgeyBwb3J0IH0sIFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1v
dmUoY29tcGxldGlvbkhhbmRsZXIpXShhdXRvJiYgbWVzc2FnZXMsIHVpbnQ2NF90IG1lc3NhZ2VC
YXRjaElkZW50aWZpZXIpIG11dGFibGUgewogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZN
b3ZlKG1lc3NhZ2VzKSwgW21lc3NhZ2VCYXRjaElkZW50aWZpZXJdIHsKICAgICAgICAgICAgIG5l
dHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzOjpEaWREZWxpdmVyTWVzc2FnZVBvcnRNZXNzYWdlcyB7IG1lc3NhZ2VCYXRj
aElkZW50aWZpZXIgfSwgMCk7CkBAIC04NywxMSArMTA2LDE5IEBAIHZvaWQgV2ViTWVzc2FnZVBv
cnRDaGFubmVsUHJvdmlkZXI6OnRha2VBbGxNZXNzYWdlc0ZvclBvcnQoY29uc3QgTWVzc2FnZVBv
cnRJZGVuCiAKIHZvaWQgV2ViTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXI6OnBvc3RNZXNzYWdl
VG9SZW1vdGUoTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJiBtZXNzYWdlLCBjb25zdCBNZXNzYWdl
UG9ydElkZW50aWZpZXImIHJlbW90ZVRhcmdldCkKIHsKLSAgICBuZXR3b3JrUHJvY2Vzc0Nvbm5l
Y3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6UG9z
dE1lc3NhZ2VUb1JlbW90ZSB7IG1lc3NhZ2UsIHJlbW90ZVRhcmdldCB9LCAwKTsKKyAgICBpZiAo
cmVtb3RlVGFyZ2V0LnByb2Nlc3NJZGVudGlmaWVyID09IFByb2Nlc3M6OmlkZW50aWZpZXIoKSkK
KyAgICAgICAgbV9sb2NhbFByb3ZpZGVyLT5wb3N0TWVzc2FnZVRvUmVtb3RlKFdURk1vdmUobWVz
c2FnZSksIHJlbW90ZVRhcmdldCk7CisgICAgZWxzZQorICAgICAgICBuZXR3b3JrUHJvY2Vzc0Nv
bm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6
UG9zdE1lc3NhZ2VUb1JlbW90ZSB7IG1lc3NhZ2UsIHJlbW90ZVRhcmdldCB9LCAwKTsKIH0KIAog
dm9pZCBXZWJNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcjo6Y2hlY2tSZW1vdGVQb3J0Rm9yQWN0
aXZpdHkoY29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiByZW1vdGVUYXJnZXQsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoSGFzQWN0aXZpdHkpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAg
IGlmIChyZW1vdGVUYXJnZXQucHJvY2Vzc0lkZW50aWZpZXIgPT0gUHJvY2Vzczo6aWRlbnRpZmll
cigpKSB7CisgICAgICAgIG1fbG9jYWxQcm92aWRlci0+Y2hlY2tSZW1vdGVQb3J0Rm9yQWN0aXZp
dHkocmVtb3RlVGFyZ2V0LCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKICAgICBuZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oKS5zZW5kV2l0aEFz
eW5jUmVwbHkoTWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpDaGVja1Jl
bW90ZVBvcnRGb3JBY3Rpdml0eSB7IHJlbW90ZVRhcmdldCB9LCBbY29tcGxldGlvbkhhbmRsZXIg
PSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oYm9vbCBoYXNBY3Rpdml0eSkgbXV0YWJsZSB7
CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGhhc0FjdGl2aXR5ID8gSGFzQWN0aXZpdHk6Olll
cyA6IEhhc0FjdGl2aXR5OjpObyk7CiAgICAgfSwgMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlk
ZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJNZXNzYWdl
UG9ydENoYW5uZWxQcm92aWRlci5oCmluZGV4IGIwZTg3MTNkMjYwZi4uYzZmOWJhMDU3ZDM5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTWVz
c2FnZVBvcnRDaGFubmVsUHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXIuaApAQCAtMjYsNiAr
MjYsMTEgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSA8V2ViQ29yZS9NZXNzYWdlUG9ydENo
YW5uZWxQcm92aWRlci5oPgorI2luY2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworY2xhc3MgTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXJJbXBsOworfQogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtNDUsNiArNTAsOCBAQCBwcml2YXRlOgogICAgIHZvaWQg
dGFrZUFsbE1lc3NhZ2VzRm9yUG9ydChjb25zdCBXZWJDb3JlOjpNZXNzYWdlUG9ydElkZW50aWZp
ZXImLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxXZWJDb3JlOjpNZXNzYWdlV2l0aE1l
c3NhZ2VQb3J0cz4mJiwgRnVuY3Rpb248dm9pZCgpPiYmKT4mJikgZmluYWw7CiAgICAgdm9pZCBw
b3N0TWVzc2FnZVRvUmVtb3RlKFdlYkNvcmU6Ok1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYsIGNv
bnN0IFdlYkNvcmU6Ok1lc3NhZ2VQb3J0SWRlbnRpZmllciYgcmVtb3RlVGFyZ2V0KSBmaW5hbDsK
ICAgICB2b2lkIGNoZWNrUmVtb3RlUG9ydEZvckFjdGl2aXR5KGNvbnN0IFdlYkNvcmU6Ok1lc3Nh
Z2VQb3J0SWRlbnRpZmllciYgcmVtb3RlVGFyZ2V0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEhh
c0FjdGl2aXR5KT4mJiBjYWxsYmFjaykgZmluYWw7CisKKyAgICBVbmlxdWVSZWY8V2ViQ29yZTo6
TWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXJJbXBsPiBtX2xvY2FsUHJvdmlkZXI7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417636</attachid>
            <date>2021-01-14 11:53:21 -0800</date>
            <delta_ts>2021-01-14 12:07:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220627-20210114115320.patch</filename>
            <type>text/plain</type>
            <size>15154</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNDgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzlmYjkxZmJiYmQ1Njlh
YWI0Mzc2YjdkOWU3NjFjYzc5MmY5YmJlMy4uMDU2NWI4ZDI1ZjI3MzVlY2UxNDI5YjgxZTRiNmZh
MTE2MTE0MjIyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTAxLTE0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMl0gQnlwYXNzIE5ldHdv
cmtQcm9jZXNzIGZvciBNZXNzYWdlUG9ydCBjb21tdW5pY2F0aW9uIHdpdGhpbiBhIHNpbmdsZSBX
ZWJQcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjA2MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgRXhwb3J0IE1l
c3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVySW1wbC5oIGhlYWRlciBzbyB0aGF0IGl0IGNhbiBiZSBp
bmNsdWRlZCBpbiBXZWJLaXQyLgorCisgICAgICAgICogZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdl
UG9ydENoYW5uZWxQcm92aWRlci5oOgorICAgICAgICAqIGRvbS9tZXNzYWdlcG9ydHMvTWVzc2Fn
ZVBvcnRDaGFubmVsUHJvdmlkZXJJbXBsLmg6CisgICAgICAgIE1hcmsgTWVzc2FnZVBvcnRDaGFu
bmVsUHJvdmlkZXIgYXMgZmFzdC1hbGxvY2F0ZWQgYW5kIG1ha2UgTWVzc2FnZVBvcnRDaGFubmVs
UHJvdmlkZXJJbXBsCisgICAgICAgIHB1YmxpYyBzbyB0aGF0IHRoZXkgY2FuIGJlIGNhbGxlZCBi
eSBXZWJLaXQyIGxheWVyLgorCiAyMDIxLTAxLTE0ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXVtRdWlya10gTGV0J3MgYWRvcHQgYSBsZXNzIHF1
aXJreSBiZWhhdmlvciBmb3IgbGluZSBicmVha3Mgb24gbm9uLWVtcHR5IGxpbmVzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDVhN2M5NjNmMWUzMTEzMjA0MTJiYjQ5MmQ1MGVkNTk0NjEzMDNiMWIuLjdjZDE1MjVkNDAz
OTMyOTY1YjZjNTVkMTIzYmFhMTFiOWMxYjA4OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAK
KzIwMjEtMDEtMTQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBb
V0syXSBCeXBhc3MgTmV0d29ya1Byb2Nlc3MgZm9yIE1lc3NhZ2VQb3J0IGNvbW11bmljYXRpb24g
d2l0aGluIGEgc2luZ2xlIFdlYlByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyMDYyNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEJ5cGFzcyBOZXR3b3JrUHJvY2VzcyBmb3IgTWVzc2FnZVBvcnQg
Y29tbXVuaWNhdGlvbiB3aXRoaW4gYSBzaW5nbGUgV2ViUHJvY2Vzcy4gV2hlbiB0aGUKKyAgICAg
ICAgMiBNZXNzYWdlUG9ydHMgYXJlIHdpdGhpbiB0aGUgc2FtZSBXZWJQcm9jZXNzLCB0aGVyZSBp
cyBubyByZWFzb24gdG8gZ28gdmlhIHRoZQorICAgICAgICBOZXR3b3JrUHJvY2VzcyB0byBkbyB0
aGUgY29tbXVuaWNhdGlvbi4gRG9pbmcgc28gaXMgYmFkIGZvciBwZXJmb3JtYW5jZSBhbmQgYWxz
byBsb3NlcworICAgICAgICBmdW5jdGlvbmFsaXR5IGJlY2F1c2UgU2VyaWFsaXplZFNjcmlwdFZh
bHVlIGlzIG5vdCBhYmxlIHRvIGVuY29kZSBldmVyeXRoaW5nIG92ZXIgSVBDCisgICAgICAgIChl
LmcuIFdhc20gbW9kdWxlcywgc2VlIEJ1ZyAyMjAwMzgpLgorCisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYk1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyOjpXZWJNZXNzYWdlUG9y
dENoYW5uZWxQcm92aWRlcik6CisgICAgICAgIChXZWJLaXQ6OldlYk1lc3NhZ2VQb3J0Q2hhbm5l
bFByb3ZpZGVyOjpjcmVhdGVOZXdNZXNzYWdlUG9ydENoYW5uZWwpOgorICAgICAgICAoV2ViS2l0
OjpXZWJNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcjo6ZW50YW5nbGVMb2NhbFBvcnRJblRoaXNQ
cm9jZXNzVG9SZW1vdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZXNzYWdlUG9ydENoYW5uZWxQ
cm92aWRlcjo6bWVzc2FnZVBvcnREaXNlbnRhbmdsZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJN
ZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcjo6bWVzc2FnZVBvcnRDbG9zZWQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcjo6dGFrZUFsbE1lc3NhZ2VzRm9y
UG9ydCk6CisgICAgICAgIChXZWJLaXQ6OldlYk1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyOjpw
b3N0TWVzc2FnZVRvUmVtb3RlKToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVzc2FnZVBvcnRDaGFu
bmVsUHJvdmlkZXI6OmNoZWNrUmVtb3RlUG9ydEZvckFjdGl2aXR5KToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyLmg6CisK
IDIwMjEtMDEtMTQgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFtHUFVQXVtpT1NdIENyZWF0ZSBzYW5kYm94IGV4dGVuc2lvbnMgZm9yIGNhY2hlIGFuZCB0
ZW1wIGRpcmVjdG9yeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDQxOWEwOTExODQzMWIzYmZiZWY1ZjAwNjZjMDEzMDQyMmYwNDdl
Y2YuLmE0YTk3YTk3ZDI5MjBhNTE1ZTI0ZmExMzZlNDM0MmM4MWE4NTg3NzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE1NDMs
NyArMTU0Myw3IEBACiAJCTUxQTRCQjBBMTk1NEQ2MTYwMEZBNUMyRSAvKiBHYW1lcGFkLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQTRCQjA3MTk1
NEQ2MTYwMEZBNUMyRSAvKiBHYW1lcGFkLmNwcCAqLzsgfTsKIAkJNTFBNEJCMTAxOTU0RDYyNzAw
RkE1QzJFIC8qIE5hdmlnYXRvckdhbWVwYWQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTFBNEJCMEQxOTU0RDYyNzAwRkE1QzJFIC8qIE5hdmlnYXRv
ckdhbWVwYWQuY3BwICovOyB9OwogCQk1MUE3NDhFMzIwMDVEMEU4MDA3NUJBNjggLyogTWVzc2Fn
ZVdpdGhNZXNzYWdlUG9ydHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDUxQTc0OEUwMjAwNUQwRTAwMDc1QkE2OCAvKiBNZXNzYWdlV2l0aE1lc3NhZ2VQ
b3J0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0J
CTUxQTc0OEU2MjAwNjAwNEYwMDc1QkE2OCAvKiBNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcklt
cGwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQTc0
OEU1MjAwNjAwMjEwMDc1QkE2OCAvKiBNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlckltcGwuaCAq
LzsgfTsKKwkJNTFBNzQ4RTYyMDA2MDA0RjAwNzVCQTY4IC8qIE1lc3NhZ2VQb3J0Q2hhbm5lbFBy
b3ZpZGVySW1wbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTFBNzQ4RTUyMDA2MDAyMTAwNzVCQTY4IC8qIE1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVy
SW1wbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTUxQTlEOUU5MTk1QjkzMUYwMDFCMkI1QyAvKiBHYW1lcGFkTWFuYWdlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUE5RDlFNzE5NUI5MzFGMDAx
QjJCNUMgLyogR2FtZXBhZE1hbmFnZXIuY3BwICovOyB9OwogCQk1MUE5RDlFQTE5NUI5MzFGMDAx
QjJCNUMgLyogR2FtZXBhZE1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUxQTlEOUU4MTk1QjkzMUYwMDFCMkI1QyAvKiBHYW1lcGFkTWFuYWdl
ci5oICovOyB9OwogCQk1MUFCQUUxRTEwM0MxOTEzMDA4QzUyNjAgLyogU29ja2V0U3RyZWFtSGFu
ZGxlSW1wbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTFBQkFFMUMxMDNDMTkxMzAwOEM1MjYwIC8qIFNvY2tldFN0cmVhbUhhbmRsZUltcGwuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMzMwNDYsNyAr
MzMwNDYsNiBAQAogCQkJCUU0NDYxNDE5MENENjgyNjkwMEZBREE3NSAvKiBKU01lZGlhRXJyb3Iu
aCBpbiBIZWFkZXJzICovLAogCQkJCUNERjc1NkEzMjE1QzI5RTkwMEVGQ0I1MCAvKiBKU01lZGlh
S2V5RW5jcnlwdGlvblNjaGVtZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ5QkY3MjgxREJGREIw
RDAwN0E3RDk5IC8qIEpTTWVkaWFLZXlNZXNzYWdlRXZlbnQuaCBpbiBIZWFkZXJzICovLAotCQkJ
CUU0NDBGRDUzMjVBNEFGREYwMEY3Qzg0OSAvKiBNYXJrZWRUZXh0U3R5bGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTJEOUJGNzI5MURCRkRCMTAwMDdBN0Q5OSAvKiBKU01lZGlhS2V5cy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMkQ5QkY3MkExREJGREIxMzAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTZXNz
aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREY0QjcxRTFFMDFFMTFBMDBFMjM1QTIgLyogSlNN
ZWRpYUtleVNlc3Npb25UeXBlLmggaW4gSGVhZGVycyAqLywKQEAgLTMzNjEzLDYgKzMzNjEyLDcg
QEAKIAkJCQk3QUU2QzkzQzFCRTBDNjAxMDBFMTlFMDMgLyogTWFpblRocmVhZFNoYXJlZFRpbWVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDUxQzYzMjIzOTQwMzFBMDA5OTMxOTAgLyogTWFyZ2lu
VHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFMTg2NjQ1MUY3MkU1QjQwMEEwQ0FCNiAvKiBN
YXJrZWRUZXh0LmggaW4gSGVhZGVycyAqLywKKwkJCQlFNDQwRkQ1MzI1QTRBRkRGMDBGN0M4NDkg
LyogTWFya2VkVGV4dFN0eWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOURGODA5OUU2NDky
MDA1NkU1ODEgLyogbWFya3VwLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzI4QzMxNDEyNjhFNDM5
MDA0MUU4OUIgLyogTWFya3VwQWNjdW11bGF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTAwQzYw
RTNGMTNENzZEN0UwMDkyQTI3NSAvKiBNYXJrdXBUb2tlbml6ZXJJbmxpbmVzLmggaW4gSGVhZGVy
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tZXNzYWdlcG9ydHMvTWVzc2Fn
ZVBvcnRDaGFubmVsUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tZXNzYWdlcG9ydHMv
TWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXIuaAppbmRleCA1MTBiZTdmMTg0ZjZkM2FmMzExYWVm
YjM4YzYyYzJhYmIyOWVmNzc4Li5kZjEzZmNmNmY0YWYyMzdlOTFmNGI4MTdiNmVmNjBlNDlkMmZk
ZGI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWVzc2FnZXBvcnRzL01lc3NhZ2VQ
b3J0Q2hhbm5lbFByb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21lc3NhZ2Vwb3J0
cy9NZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlci5oCkBAIC0zNiw2ICszNiw3IEBAIHN0cnVjdCBN
ZXNzYWdlUG9ydElkZW50aWZpZXI7CiBzdHJ1Y3QgTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHM7CiAK
IGNsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXIm
IGZyb21Db250ZXh0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKICAgICBzdGF0aWMgTWVzc2Fn
ZVBvcnRDaGFubmVsUHJvdmlkZXImIHNpbmdsZXRvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlckltcGwuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9tZXNzYWdlcG9ydHMvTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlk
ZXJJbXBsLmgKaW5kZXggZmVhZWFjZTE1ZmNiNGNkODgwOThkMjU2ZDZiZDJlNjJkOTE3N2NkNy4u
NzQ2MmQxMWRmMWIyOWE5ODFkYmEyNDg3ZTcwNDdiMThhNzc0YmY2YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcklt
cGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWVzc2FnZXBvcnRzL01lc3NhZ2VQb3J0Q2hh
bm5lbFByb3ZpZGVySW1wbC5oCkBAIC0zMiwxOCArMzIsMTggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlckltcGwgZmluYWwgOiBwdWJsaWMg
TWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXIgewogcHVibGljOgotICAgIE1lc3NhZ2VQb3J0Q2hh
bm5lbFByb3ZpZGVySW1wbCgpOwotICAgIH5NZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlckltcGwo
KSBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCBNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcklt
cGwoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB+TWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXJJbXBs
KCkgZmluYWw7CiAKLXByaXZhdGU6Ci0gICAgdm9pZCBjcmVhdGVOZXdNZXNzYWdlUG9ydENoYW5u
ZWwoY29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiBsb2NhbCwgY29uc3QgTWVzc2FnZVBvcnRJ
ZGVudGlmaWVyJiByZW1vdGUpIGZpbmFsOwotICAgIHZvaWQgZW50YW5nbGVMb2NhbFBvcnRJblRo
aXNQcm9jZXNzVG9SZW1vdGUoY29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiBsb2NhbCwgY29u
c3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiByZW1vdGUpIGZpbmFsOwotICAgIHZvaWQgbWVzc2Fn
ZVBvcnREaXNlbnRhbmdsZWQoY29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiBsb2NhbCkgZmlu
YWw7Ci0gICAgdm9pZCBtZXNzYWdlUG9ydENsb3NlZChjb25zdCBNZXNzYWdlUG9ydElkZW50aWZp
ZXImIGxvY2FsKSBmaW5hbDsKLSAgICB2b2lkIHBvc3RNZXNzYWdlVG9SZW1vdGUoTWVzc2FnZVdp
dGhNZXNzYWdlUG9ydHMmJiwgY29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiByZW1vdGVUYXJn
ZXQpIGZpbmFsOwotICAgIHZvaWQgdGFrZUFsbE1lc3NhZ2VzRm9yUG9ydChjb25zdCBNZXNzYWdl
UG9ydElkZW50aWZpZXImLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxNZXNzYWdlV2l0
aE1lc3NhZ2VQb3J0cz4mJiwgRnVuY3Rpb248dm9pZCgpPiYmKT4mJikgZmluYWw7Ci0gICAgdm9p
ZCBjaGVja1JlbW90ZVBvcnRGb3JBY3Rpdml0eShjb25zdCBNZXNzYWdlUG9ydElkZW50aWZpZXIm
IHJlbW90ZVRhcmdldCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChIYXNBY3Rpdml0eSk+JiYgY2Fs
bGJhY2spIGZpbmFsOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgY3JlYXRlTmV3TWVzc2FnZVBv
cnRDaGFubmVsKGNvbnN0IE1lc3NhZ2VQb3J0SWRlbnRpZmllciYgbG9jYWwsIGNvbnN0IE1lc3Nh
Z2VQb3J0SWRlbnRpZmllciYgcmVtb3RlKSBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IGVudGFuZ2xlTG9jYWxQb3J0SW5UaGlzUHJvY2Vzc1RvUmVtb3RlKGNvbnN0IE1lc3NhZ2VQb3J0
SWRlbnRpZmllciYgbG9jYWwsIGNvbnN0IE1lc3NhZ2VQb3J0SWRlbnRpZmllciYgcmVtb3RlKSBm
aW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIG1lc3NhZ2VQb3J0RGlzZW50YW5nbGVkKGNv
bnN0IE1lc3NhZ2VQb3J0SWRlbnRpZmllciYgbG9jYWwpIGZpbmFsOworICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgbWVzc2FnZVBvcnRDbG9zZWQoY29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiBs
b2NhbCkgZmluYWw7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwb3N0TWVzc2FnZVRvUmVtb3Rl
KE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYsIGNvbnN0IE1lc3NhZ2VQb3J0SWRlbnRpZmllciYg
cmVtb3RlVGFyZ2V0KSBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHRha2VBbGxNZXNz
YWdlc0ZvclBvcnQoY29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChWZWN0b3I8TWVzc2FnZVdpdGhNZXNzYWdlUG9ydHM+JiYsIEZ1bmN0aW9uPHZvaWQo
KT4mJik+JiYpIGZpbmFsOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgY2hlY2tSZW1vdGVQb3J0
Rm9yQWN0aXZpdHkoY29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiByZW1vdGVUYXJnZXQsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoSGFzQWN0aXZpdHkpPiYmIGNhbGxiYWNrKSBmaW5hbDsKIAor
cHJpdmF0ZToKICAgICB2b2lkIHBlcmZvcm1BY3Rpb25Pbk1haW5UaHJlYWQoRnVuY3Rpb248dm9p
ZCgpPiYmKTsKIAogICAgIE1lc3NhZ2VQb3J0Q2hhbm5lbFJlZ2lzdHJ5IG1fcmVnaXN0cnk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTWVz
c2FnZVBvcnRDaGFubmVsUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyLmNwcAppbmRleCA5N2Vl
Y2UyMmE0MmYyNDVhZDY1ZWE5YzZiYmM5YWFkNzljOGM0MzEwLi5lNzhkMzk4ZWE5OTMzNmQwYzc2
OThjMDQzZGEzYjE4YmFlZTIwM2VhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJNZXNzYWdlUG9ydENo
YW5uZWxQcm92aWRlci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJOZXR3b3JrUHJv
Y2Vzc0Nvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCiAjaW5jbHVkZSA8V2Vi
Q29yZS9NZXNzYWdlUG9ydC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTWVzc2FnZVBvcnRDaGFubmVs
UHJvdmlkZXJJbXBsLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NZXNzYWdlUG9ydElkZW50aWZpZXIu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL01lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzLmg+CiAKQEAgLTQz
LDYgKzQ0LDcgQEAgV2ViTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXImIFdlYk1lc3NhZ2VQb3J0
Q2hhbm5lbFByb3ZpZGVyOjpzaW5nbGV0b24oKQogfQogCiBXZWJNZXNzYWdlUG9ydENoYW5uZWxQ
cm92aWRlcjo6V2ViTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXIoKQorICAgIDogbV9sb2NhbFBy
b3ZpZGVyKG1ha2VVbmlxdWVSZWY8TWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXJJbXBsPigpKQog
ewogfQogCkBAIC01OCwyNiArNjAsNDMgQEAgc3RhdGljIGlubGluZSBJUEM6OkNvbm5lY3Rpb24m
IG5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpCiAKIHZvaWQgV2ViTWVzc2FnZVBvcnRDaGFubmVs
UHJvdmlkZXI6OmNyZWF0ZU5ld01lc3NhZ2VQb3J0Q2hhbm5lbChjb25zdCBNZXNzYWdlUG9ydElk
ZW50aWZpZXImIHBvcnQxLCBjb25zdCBNZXNzYWdlUG9ydElkZW50aWZpZXImIHBvcnQyKQogewot
ICAgIG5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzOjpDcmVhdGVOZXdNZXNzYWdlUG9ydENoYW5uZWwgeyBwb3J0MSwg
cG9ydDIgfSwgMCk7CisgICAgaWYgKHBvcnQxLnByb2Nlc3NJZGVudGlmaWVyID09IHBvcnQyLnBy
b2Nlc3NJZGVudGlmaWVyKQorICAgICAgICBtX2xvY2FsUHJvdmlkZXItPmNyZWF0ZU5ld01lc3Nh
Z2VQb3J0Q2hhbm5lbChwb3J0MSwgcG9ydDIpOworICAgIGVsc2UKKyAgICAgICAgbmV0d29ya1By
b2Nlc3NDb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M6OkNyZWF0ZU5ld01lc3NhZ2VQb3J0Q2hhbm5lbCB7IHBvcnQxLCBwb3J0MiB9LCAwKTsK
IH0KIAogdm9pZCBXZWJNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcjo6ZW50YW5nbGVMb2NhbFBv
cnRJblRoaXNQcm9jZXNzVG9SZW1vdGUoY29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiBsb2Nh
bCwgY29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiByZW1vdGUpCiB7Ci0gICAgbmV0d29ya1By
b2Nlc3NDb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M6OkVudGFuZ2xlTG9jYWxQb3J0SW5UaGlzUHJvY2Vzc1RvUmVtb3RlIHsgbG9jYWwsIHJl
bW90ZSB9LCAwKTsKKyAgICBpZiAobG9jYWwucHJvY2Vzc0lkZW50aWZpZXIgPT0gcmVtb3RlLnBy
b2Nlc3NJZGVudGlmaWVyKQorICAgICAgICBtX2xvY2FsUHJvdmlkZXItPmVudGFuZ2xlTG9jYWxQ
b3J0SW5UaGlzUHJvY2Vzc1RvUmVtb3RlKGxvY2FsLCByZW1vdGUpOworICAgIGVsc2UKKyAgICAg
ICAgbmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3M6OkVudGFuZ2xlTG9jYWxQb3J0SW5UaGlzUHJvY2Vzc1RvUmVtb3Rl
IHsgbG9jYWwsIHJlbW90ZSB9LCAwKTsKIH0KIAogdm9pZCBXZWJNZXNzYWdlUG9ydENoYW5uZWxQ
cm92aWRlcjo6bWVzc2FnZVBvcnREaXNlbnRhbmdsZWQoY29uc3QgTWVzc2FnZVBvcnRJZGVudGlm
aWVyJiBwb3J0KQogewotICAgIG5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpLnNlbmQoTWVzc2Fn
ZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpNZXNzYWdlUG9ydERpc2VudGFuZ2xl
ZCB7IHBvcnQgfSwgMCk7CisgICAgaWYgKHBvcnQucHJvY2Vzc0lkZW50aWZpZXIgPT0gUHJvY2Vz
czo6aWRlbnRpZmllcigpKQorICAgICAgICBtX2xvY2FsUHJvdmlkZXItPm1lc3NhZ2VQb3J0RGlz
ZW50YW5nbGVkKHBvcnQpOworICAgIGVsc2UKKyAgICAgICAgbmV0d29ya1Byb2Nlc3NDb25uZWN0
aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6Ok1lc3Nh
Z2VQb3J0RGlzZW50YW5nbGVkIHsgcG9ydCB9LCAwKTsKIH0KIAogdm9pZCBXZWJNZXNzYWdlUG9y
dENoYW5uZWxQcm92aWRlcjo6bWVzc2FnZVBvcnRDbG9zZWQoY29uc3QgTWVzc2FnZVBvcnRJZGVu
dGlmaWVyJiBwb3J0KQogewotICAgIG5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpLnNlbmQoTWVz
c2FnZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpNZXNzYWdlUG9ydENsb3NlZCB7
IHBvcnQgfSwgMCk7CisgICAgaWYgKHBvcnQucHJvY2Vzc0lkZW50aWZpZXIgPT0gUHJvY2Vzczo6
aWRlbnRpZmllcigpKQorICAgICAgICBtX2xvY2FsUHJvdmlkZXItPm1lc3NhZ2VQb3J0Q2xvc2Vk
KHBvcnQpOworICAgIGVsc2UKKyAgICAgICAgbmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCkuc2Vu
ZChNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6Ok1lc3NhZ2VQb3J0Q2xv
c2VkIHsgcG9ydCB9LCAwKTsKIH0KIAogdm9pZCBXZWJNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRl
cjo6dGFrZUFsbE1lc3NhZ2VzRm9yUG9ydChjb25zdCBNZXNzYWdlUG9ydElkZW50aWZpZXImIHBv
cnQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRz
PiYmLCBGdW5jdGlvbjx2b2lkKCk+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIGlm
IChwb3J0LnByb2Nlc3NJZGVudGlmaWVyID09IFByb2Nlc3M6OmlkZW50aWZpZXIoKSkgeworICAg
ICAgICBtX2xvY2FsUHJvdmlkZXItPnRha2VBbGxNZXNzYWdlc0ZvclBvcnQocG9ydCwgV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcikpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgbmV0
d29ya1Byb2Nlc3NDb25uZWN0aW9uKCkuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpOZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6VGFrZUFsbE1lc3NhZ2VzRm9yUG9ydCB7IHBvcnQg
fSwgW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKGF1dG8m
JiBtZXNzYWdlcywgdWludDY0X3QgbWVzc2FnZUJhdGNoSWRlbnRpZmllcikgbXV0YWJsZSB7CiAg
ICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUobWVzc2FnZXMpLCBbbWVzc2FnZUJhdGNo
SWRlbnRpZmllcl0gewogICAgICAgICAgICAgbmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCkuc2Vu
ZChNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkRpZERlbGl2ZXJNZXNz
YWdlUG9ydE1lc3NhZ2VzIHsgbWVzc2FnZUJhdGNoSWRlbnRpZmllciB9LCAwKTsKQEAgLTg3LDEx
ICsxMDYsMTkgQEAgdm9pZCBXZWJNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcjo6dGFrZUFsbE1l
c3NhZ2VzRm9yUG9ydChjb25zdCBNZXNzYWdlUG9ydElkZW4KIAogdm9pZCBXZWJNZXNzYWdlUG9y
dENoYW5uZWxQcm92aWRlcjo6cG9zdE1lc3NhZ2VUb1JlbW90ZShNZXNzYWdlV2l0aE1lc3NhZ2VQ
b3J0cyYmIG1lc3NhZ2UsIGNvbnN0IE1lc3NhZ2VQb3J0SWRlbnRpZmllciYgcmVtb3RlVGFyZ2V0
KQogewotICAgIG5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpQb3N0TWVzc2FnZVRvUmVtb3RlIHsgbWVzc2FnZSwg
cmVtb3RlVGFyZ2V0IH0sIDApOworICAgIGlmIChyZW1vdGVUYXJnZXQucHJvY2Vzc0lkZW50aWZp
ZXIgPT0gUHJvY2Vzczo6aWRlbnRpZmllcigpKQorICAgICAgICBtX2xvY2FsUHJvdmlkZXItPnBv
c3RNZXNzYWdlVG9SZW1vdGUoV1RGTW92ZShtZXNzYWdlKSwgcmVtb3RlVGFyZ2V0KTsKKyAgICBl
bHNlCisgICAgICAgIG5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpQb3N0TWVzc2FnZVRvUmVtb3RlIHsgbWVzc2Fn
ZSwgcmVtb3RlVGFyZ2V0IH0sIDApOwogfQogCiB2b2lkIFdlYk1lc3NhZ2VQb3J0Q2hhbm5lbFBy
b3ZpZGVyOjpjaGVja1JlbW90ZVBvcnRGb3JBY3Rpdml0eShjb25zdCBNZXNzYWdlUG9ydElkZW50
aWZpZXImIHJlbW90ZVRhcmdldCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChIYXNBY3Rpdml0eSk+
JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgaWYgKHJlbW90ZVRhcmdldC5wcm9jZXNzSWRl
bnRpZmllciA9PSBQcm9jZXNzOjppZGVudGlmaWVyKCkpIHsKKyAgICAgICAgbV9sb2NhbFByb3Zp
ZGVyLT5jaGVja1JlbW90ZVBvcnRGb3JBY3Rpdml0eShyZW1vdGVUYXJnZXQsIFdURk1vdmUoY29t
cGxldGlvbkhhbmRsZXIpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIG5ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbigpLnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6TmV0d29ya0Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkNoZWNrUmVtb3RlUG9ydEZvckFjdGl2aXR5IHsgcmVtb3Rl
VGFyZ2V0IH0sIFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
XShib29sIGhhc0FjdGl2aXR5KSBtdXRhYmxlIHsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIo
aGFzQWN0aXZpdHkgPyBIYXNBY3Rpdml0eTo6WWVzIDogSGFzQWN0aXZpdHk6Ok5vKTsKICAgICB9
LCAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyLmgKaW5kZXgg
YjBlODcxM2QyNjBmZjg0MjUyZTczZTdmM2Y4NzViNWU2OTFhMjI0Ny4uYzZmOWJhMDU3ZDM5YzRi
NTBlYTIwZTA2OTk1YWM1MWUyYWVkNDliNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyLmgKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk1lc3NhZ2VQb3J0
Q2hhbm5lbFByb3ZpZGVyLmgKQEAgLTI2LDYgKzI2LDExIEBACiAjcHJhZ21hIG9uY2UKIAogI2lu
Y2x1ZGUgPFdlYkNvcmUvTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXIuaD4KKyNpbmNsdWRlIDx3
dGYvVW5pcXVlUmVmLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIE1lc3NhZ2VQb3J0
Q2hhbm5lbFByb3ZpZGVySW1wbDsKK30KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTQ1LDYg
KzUwLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHRha2VBbGxNZXNzYWdlc0ZvclBvcnQoY29uc3Qg
V2ViQ29yZTo6TWVzc2FnZVBvcnRJZGVudGlmaWVyJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChW
ZWN0b3I8V2ViQ29yZTo6TWVzc2FnZVdpdGhNZXNzYWdlUG9ydHM+JiYsIEZ1bmN0aW9uPHZvaWQo
KT4mJik+JiYpIGZpbmFsOwogICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1JlbW90ZShXZWJDb3JlOjpN
ZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmLCBjb25zdCBXZWJDb3JlOjpNZXNzYWdlUG9ydElkZW50
aWZpZXImIHJlbW90ZVRhcmdldCkgZmluYWw7CiAgICAgdm9pZCBjaGVja1JlbW90ZVBvcnRGb3JB
Y3Rpdml0eShjb25zdCBXZWJDb3JlOjpNZXNzYWdlUG9ydElkZW50aWZpZXImIHJlbW90ZVRhcmdl
dCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChIYXNBY3Rpdml0eSk+JiYgY2FsbGJhY2spIGZpbmFs
OworCisgICAgVW5pcXVlUmVmPFdlYkNvcmU6Ok1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVySW1w
bD4gbV9sb2NhbFByb3ZpZGVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>
<flag name="commit-queue"
          id="435393"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417639</attachid>
            <date>2021-01-14 12:06:58 -0800</date>
            <delta_ts>2021-01-14 13:25:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220627-20210114120658.patch</filename>
            <type>text/plain</type>
            <size>15703</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNDgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzlmYjkxZmJiYmQ1Njlh
YWI0Mzc2YjdkOWU3NjFjYzc5MmY5YmJlMy4uMDU2NWI4ZDI1ZjI3MzVlY2UxNDI5YjgxZTRiNmZh
MTE2MTE0MjIyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTAxLTE0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMl0gQnlwYXNzIE5ldHdv
cmtQcm9jZXNzIGZvciBNZXNzYWdlUG9ydCBjb21tdW5pY2F0aW9uIHdpdGhpbiBhIHNpbmdsZSBX
ZWJQcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjA2MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgRXhwb3J0IE1l
c3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVySW1wbC5oIGhlYWRlciBzbyB0aGF0IGl0IGNhbiBiZSBp
bmNsdWRlZCBpbiBXZWJLaXQyLgorCisgICAgICAgICogZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdl
UG9ydENoYW5uZWxQcm92aWRlci5oOgorICAgICAgICAqIGRvbS9tZXNzYWdlcG9ydHMvTWVzc2Fn
ZVBvcnRDaGFubmVsUHJvdmlkZXJJbXBsLmg6CisgICAgICAgIE1hcmsgTWVzc2FnZVBvcnRDaGFu
bmVsUHJvdmlkZXIgYXMgZmFzdC1hbGxvY2F0ZWQgYW5kIG1ha2UgTWVzc2FnZVBvcnRDaGFubmVs
UHJvdmlkZXJJbXBsCisgICAgICAgIHB1YmxpYyBzbyB0aGF0IHRoZXkgY2FuIGJlIGNhbGxlZCBi
eSBXZWJLaXQyIGxheWVyLgorCiAyMDIxLTAxLTE0ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXVtRdWlya10gTGV0J3MgYWRvcHQgYSBsZXNzIHF1
aXJreSBiZWhhdmlvciBmb3IgbGluZSBicmVha3Mgb24gbm9uLWVtcHR5IGxpbmVzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDVhN2M5NjNmMWUzMTEzMjA0MTJiYjQ5MmQ1MGVkNTk0NjEzMDNiMWIuLjdjZDE1MjVkNDAz
OTMyOTY1YjZjNTVkMTIzYmFhMTFiOWMxYjA4OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAK
KzIwMjEtMDEtMTQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBb
V0syXSBCeXBhc3MgTmV0d29ya1Byb2Nlc3MgZm9yIE1lc3NhZ2VQb3J0IGNvbW11bmljYXRpb24g
d2l0aGluIGEgc2luZ2xlIFdlYlByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyMDYyNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEJ5cGFzcyBOZXR3b3JrUHJvY2VzcyBmb3IgTWVzc2FnZVBvcnQg
Y29tbXVuaWNhdGlvbiB3aXRoaW4gYSBzaW5nbGUgV2ViUHJvY2Vzcy4gV2hlbiB0aGUKKyAgICAg
ICAgMiBNZXNzYWdlUG9ydHMgYXJlIHdpdGhpbiB0aGUgc2FtZSBXZWJQcm9jZXNzLCB0aGVyZSBp
cyBubyByZWFzb24gdG8gZ28gdmlhIHRoZQorICAgICAgICBOZXR3b3JrUHJvY2VzcyB0byBkbyB0
aGUgY29tbXVuaWNhdGlvbi4gRG9pbmcgc28gaXMgYmFkIGZvciBwZXJmb3JtYW5jZSBhbmQgYWxz
byBsb3NlcworICAgICAgICBmdW5jdGlvbmFsaXR5IGJlY2F1c2UgU2VyaWFsaXplZFNjcmlwdFZh
bHVlIGlzIG5vdCBhYmxlIHRvIGVuY29kZSBldmVyeXRoaW5nIG92ZXIgSVBDCisgICAgICAgIChl
LmcuIFdhc20gbW9kdWxlcywgc2VlIEJ1ZyAyMjAwMzgpLgorCisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYk1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyOjpXZWJNZXNzYWdlUG9y
dENoYW5uZWxQcm92aWRlcik6CisgICAgICAgIChXZWJLaXQ6OldlYk1lc3NhZ2VQb3J0Q2hhbm5l
bFByb3ZpZGVyOjpjcmVhdGVOZXdNZXNzYWdlUG9ydENoYW5uZWwpOgorICAgICAgICAoV2ViS2l0
OjpXZWJNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcjo6ZW50YW5nbGVMb2NhbFBvcnRJblRoaXNQ
cm9jZXNzVG9SZW1vdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZXNzYWdlUG9ydENoYW5uZWxQ
cm92aWRlcjo6bWVzc2FnZVBvcnREaXNlbnRhbmdsZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJN
ZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcjo6bWVzc2FnZVBvcnRDbG9zZWQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcjo6dGFrZUFsbE1lc3NhZ2VzRm9y
UG9ydCk6CisgICAgICAgIChXZWJLaXQ6OldlYk1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyOjpw
b3N0TWVzc2FnZVRvUmVtb3RlKToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVzc2FnZVBvcnRDaGFu
bmVsUHJvdmlkZXI6OmNoZWNrUmVtb3RlUG9ydEZvckFjdGl2aXR5KToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyLmg6CisK
IDIwMjEtMDEtMTQgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFtHUFVQXVtpT1NdIENyZWF0ZSBzYW5kYm94IGV4dGVuc2lvbnMgZm9yIGNhY2hlIGFuZCB0
ZW1wIGRpcmVjdG9yeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBi
L1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggYWRlNWM2OTAyNDI5NzYyNWM3MGRh
Yjc5MGE1YzJjNWE4Nzc3ZWM2MS4uYjE1MzI0MWEwZDMxYmIyOWFmMTJkZjI0YzI5NWIzNDY1ZGMz
Y2U0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC01MjksNiArNTI5LDcgQEAgc2V0KFdlYkNvcmVf
UFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogCiAgICAgZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdl
UG9ydENoYW5uZWwuaAogICAgIGRvbS9tZXNzYWdlcG9ydHMvTWVzc2FnZVBvcnRDaGFubmVsUHJv
dmlkZXIuaAorICAgIGRvbS9tZXNzYWdlcG9ydHMvTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXJJ
bXBsLmgKICAgICBkb20vbWVzc2FnZXBvcnRzL01lc3NhZ2VQb3J0Q2hhbm5lbFJlZ2lzdHJ5LmgK
ICAgICBkb20vbWVzc2FnZXBvcnRzL01lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzLmgKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDQx
OWEwOTExODQzMWIzYmZiZWY1ZjAwNjZjMDEzMDQyMmYwNDdlY2YuLmE0YTk3YTk3ZDI5MjBhNTE1
ZTI0ZmExMzZlNDM0MmM4MWE4NTg3NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE1NDMsNyArMTU0Myw3IEBACiAJCTUxQTRC
QjBBMTk1NEQ2MTYwMEZBNUMyRSAvKiBHYW1lcGFkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQTRCQjA3MTk1NEQ2MTYwMEZBNUMyRSAvKiBHYW1l
cGFkLmNwcCAqLzsgfTsKIAkJNTFBNEJCMTAxOTU0RDYyNzAwRkE1QzJFIC8qIE5hdmlnYXRvckdh
bWVwYWQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTFBNEJCMEQxOTU0RDYyNzAwRkE1QzJFIC8qIE5hdmlnYXRvckdhbWVwYWQuY3BwICovOyB9Owog
CQk1MUE3NDhFMzIwMDVEMEU4MDA3NUJBNjggLyogTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQTc0OEUwMjAw
NUQwRTAwMDc1QkE2OCAvKiBNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTUxQTc0OEU2MjAwNjAwNEYwMDc1
QkE2OCAvKiBNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlckltcGwuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQTc0OEU1MjAwNjAwMjEwMDc1QkE2OCAv
KiBNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlckltcGwuaCAqLzsgfTsKKwkJNTFBNzQ4RTYyMDA2
MDA0RjAwNzVCQTY4IC8qIE1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVySW1wbC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFBNzQ4RTUyMDA2MDAyMTAw
NzVCQTY4IC8qIE1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVySW1wbC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxQTlEOUU5MTk1QjkzMUYwMDFC
MkI1QyAvKiBHYW1lcGFkTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MUE5RDlFNzE5NUI5MzFGMDAxQjJCNUMgLyogR2FtZXBhZE1hbmFn
ZXIuY3BwICovOyB9OwogCQk1MUE5RDlFQTE5NUI5MzFGMDAxQjJCNUMgLyogR2FtZXBhZE1hbmFn
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQTlE
OUU4MTk1QjkzMUYwMDFCMkI1QyAvKiBHYW1lcGFkTWFuYWdlci5oICovOyB9OwogCQk1MUFCQUUx
RTEwM0MxOTEzMDA4QzUyNjAgLyogU29ja2V0U3RyZWFtSGFuZGxlSW1wbC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFBQkFFMUMxMDNDMTkxMzAwOEM1
MjYwIC8qIFNvY2tldFN0cmVhbUhhbmRsZUltcGwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMzMwNDYsNyArMzMwNDYsNiBAQAogCQkJCUU0NDYx
NDE5MENENjgyNjkwMEZBREE3NSAvKiBKU01lZGlhRXJyb3IuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUNERjc1NkEzMjE1QzI5RTkwMEVGQ0I1MCAvKiBKU01lZGlhS2V5RW5jcnlwdGlvblNjaGVtZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ5QkY3MjgxREJGREIwRDAwN0E3RDk5IC8qIEpTTWVkaWFL
ZXlNZXNzYWdlRXZlbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCUU0NDBGRDUzMjVBNEFGREYwMEY3
Qzg0OSAvKiBNYXJrZWRUZXh0U3R5bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTJEOUJGNzI5MURC
RkRCMTAwMDdBN0Q5OSAvKiBKU01lZGlhS2V5cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ5QkY3
MkExREJGREIxMzAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTZXNzaW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQlDREY0QjcxRTFFMDFFMTFBMDBFMjM1QTIgLyogSlNNZWRpYUtleVNlc3Npb25UeXBlLmgg
aW4gSGVhZGVycyAqLywKQEAgLTMzNjEzLDYgKzMzNjEyLDcgQEAKIAkJCQk3QUU2QzkzQzFCRTBD
NjAxMDBFMTlFMDMgLyogTWFpblRocmVhZFNoYXJlZFRpbWVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFNDUxQzYzMjIzOTQwMzFBMDA5OTMxOTAgLyogTWFyZ2luVHlwZXMuaCBpbiBIZWFkZXJzICov
LAogCQkJCUNFMTg2NjQ1MUY3MkU1QjQwMEEwQ0FCNiAvKiBNYXJrZWRUZXh0LmggaW4gSGVhZGVy
cyAqLywKKwkJCQlFNDQwRkQ1MzI1QTRBRkRGMDBGN0M4NDkgLyogTWFya2VkVGV4dFN0eWxlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOURGODA5OUU2NDkyMDA1NkU1ODEgLyogbWFya3VwLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5NzI4QzMxNDEyNjhFNDM5MDA0MUU4OUIgLyogTWFya3VwQWNj
dW11bGF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTAwQzYwRTNGMTNENzZEN0UwMDkyQTI3NSAv
KiBNYXJrdXBUb2tlbml6ZXJJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9tZXNzYWdlcG9ydHMvTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tZXNzYWdlcG9ydHMvTWVzc2FnZVBvcnRDaGFubmVsUHJv
dmlkZXIuaAppbmRleCA1MTBiZTdmMTg0ZjZkM2FmMzExYWVmYjM4YzYyYzJhYmIyOWVmNzc4Li5k
ZjEzZmNmNmY0YWYyMzdlOTFmNGI4MTdiNmVmNjBlNDlkMmZkZGI2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vbWVzc2FnZXBvcnRzL01lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENoYW5uZWxQ
cm92aWRlci5oCkBAIC0zNiw2ICszNiw3IEBAIHN0cnVjdCBNZXNzYWdlUG9ydElkZW50aWZpZXI7
CiBzdHJ1Y3QgTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHM7CiAKIGNsYXNzIE1lc3NhZ2VQb3J0Q2hh
bm5lbFByb3ZpZGVyIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXImIGZyb21Db250ZXh0KFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmKTsKICAgICBzdGF0aWMgTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXIm
IHNpbmdsZXRvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL21lc3NhZ2Vwb3J0
cy9NZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlckltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9t
ZXNzYWdlcG9ydHMvTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXJJbXBsLmgKaW5kZXggZmVhZWFj
ZTE1ZmNiNGNkODgwOThkMjU2ZDZiZDJlNjJkOTE3N2NkNy4uNzQ2MmQxMWRmMWIyOWE5ODFkYmEy
NDg3ZTcwNDdiMThhNzc0YmY2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL21lc3Nh
Z2Vwb3J0cy9NZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlckltcGwuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vbWVzc2FnZXBvcnRzL01lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVySW1wbC5oCkBA
IC0zMiwxOCArMzIsMTggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBNZXNzYWdlUG9y
dENoYW5uZWxQcm92aWRlckltcGwgZmluYWwgOiBwdWJsaWMgTWVzc2FnZVBvcnRDaGFubmVsUHJv
dmlkZXIgewogcHVibGljOgotICAgIE1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVySW1wbCgpOwot
ICAgIH5NZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlckltcGwoKSBmaW5hbDsKKyAgICBXRUJDT1JF
X0VYUE9SVCBNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlckltcGwoKTsKKyAgICBXRUJDT1JFX0VY
UE9SVCB+TWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXJJbXBsKCkgZmluYWw7CiAKLXByaXZhdGU6
Ci0gICAgdm9pZCBjcmVhdGVOZXdNZXNzYWdlUG9ydENoYW5uZWwoY29uc3QgTWVzc2FnZVBvcnRJ
ZGVudGlmaWVyJiBsb2NhbCwgY29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiByZW1vdGUpIGZp
bmFsOwotICAgIHZvaWQgZW50YW5nbGVMb2NhbFBvcnRJblRoaXNQcm9jZXNzVG9SZW1vdGUoY29u
c3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiBsb2NhbCwgY29uc3QgTWVzc2FnZVBvcnRJZGVudGlm
aWVyJiByZW1vdGUpIGZpbmFsOwotICAgIHZvaWQgbWVzc2FnZVBvcnREaXNlbnRhbmdsZWQoY29u
c3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiBsb2NhbCkgZmluYWw7Ci0gICAgdm9pZCBtZXNzYWdl
UG9ydENsb3NlZChjb25zdCBNZXNzYWdlUG9ydElkZW50aWZpZXImIGxvY2FsKSBmaW5hbDsKLSAg
ICB2b2lkIHBvc3RNZXNzYWdlVG9SZW1vdGUoTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJiwgY29u
c3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiByZW1vdGVUYXJnZXQpIGZpbmFsOwotICAgIHZvaWQg
dGFrZUFsbE1lc3NhZ2VzRm9yUG9ydChjb25zdCBNZXNzYWdlUG9ydElkZW50aWZpZXImLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cz4mJiwgRnVu
Y3Rpb248dm9pZCgpPiYmKT4mJikgZmluYWw7Ci0gICAgdm9pZCBjaGVja1JlbW90ZVBvcnRGb3JB
Y3Rpdml0eShjb25zdCBNZXNzYWdlUG9ydElkZW50aWZpZXImIHJlbW90ZVRhcmdldCwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChIYXNBY3Rpdml0eSk+JiYgY2FsbGJhY2spIGZpbmFsOworICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgY3JlYXRlTmV3TWVzc2FnZVBvcnRDaGFubmVsKGNvbnN0IE1lc3Nh
Z2VQb3J0SWRlbnRpZmllciYgbG9jYWwsIGNvbnN0IE1lc3NhZ2VQb3J0SWRlbnRpZmllciYgcmVt
b3RlKSBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGVudGFuZ2xlTG9jYWxQb3J0SW5U
aGlzUHJvY2Vzc1RvUmVtb3RlKGNvbnN0IE1lc3NhZ2VQb3J0SWRlbnRpZmllciYgbG9jYWwsIGNv
bnN0IE1lc3NhZ2VQb3J0SWRlbnRpZmllciYgcmVtb3RlKSBmaW5hbDsKKyAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIG1lc3NhZ2VQb3J0RGlzZW50YW5nbGVkKGNvbnN0IE1lc3NhZ2VQb3J0SWRlbnRp
ZmllciYgbG9jYWwpIGZpbmFsOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgbWVzc2FnZVBvcnRD
bG9zZWQoY29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiBsb2NhbCkgZmluYWw7CisgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBwb3N0TWVzc2FnZVRvUmVtb3RlKE1lc3NhZ2VXaXRoTWVzc2FnZVBv
cnRzJiYsIGNvbnN0IE1lc3NhZ2VQb3J0SWRlbnRpZmllciYgcmVtb3RlVGFyZ2V0KSBmaW5hbDsK
KyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHRha2VBbGxNZXNzYWdlc0ZvclBvcnQoY29uc3QgTWVz
c2FnZVBvcnRJZGVudGlmaWVyJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8TWVzc2Fn
ZVdpdGhNZXNzYWdlUG9ydHM+JiYsIEZ1bmN0aW9uPHZvaWQoKT4mJik+JiYpIGZpbmFsOworICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgY2hlY2tSZW1vdGVQb3J0Rm9yQWN0aXZpdHkoY29uc3QgTWVz
c2FnZVBvcnRJZGVudGlmaWVyJiByZW1vdGVUYXJnZXQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
SGFzQWN0aXZpdHkpPiYmIGNhbGxiYWNrKSBmaW5hbDsKIAorcHJpdmF0ZToKICAgICB2b2lkIHBl
cmZvcm1BY3Rpb25Pbk1haW5UaHJlYWQoRnVuY3Rpb248dm9pZCgpPiYmKTsKIAogICAgIE1lc3Nh
Z2VQb3J0Q2hhbm5lbFJlZ2lzdHJ5IG1fcmVnaXN0cnk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlk
ZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk1lc3Nh
Z2VQb3J0Q2hhbm5lbFByb3ZpZGVyLmNwcAppbmRleCA5N2VlY2UyMmE0MmYyNDVhZDY1ZWE5YzZi
YmM5YWFkNzljOGM0MzEwLi5lNzhkMzk4ZWE5OTMzNmQwYzc2OThjMDQzZGEzYjE4YmFlZTIwM2Vh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
TWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlci5jcHAKQEAg
LTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKICNp
bmNsdWRlICJXZWJQcm9jZXNzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9NZXNzYWdlUG9ydC5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXJJbXBsLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9NZXNzYWdlUG9ydElkZW50aWZpZXIuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L01lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzLmg+CiAKQEAgLTQzLDYgKzQ0LDcgQEAgV2ViTWVzc2Fn
ZVBvcnRDaGFubmVsUHJvdmlkZXImIFdlYk1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyOjpzaW5n
bGV0b24oKQogfQogCiBXZWJNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcjo6V2ViTWVzc2FnZVBv
cnRDaGFubmVsUHJvdmlkZXIoKQorICAgIDogbV9sb2NhbFByb3ZpZGVyKG1ha2VVbmlxdWVSZWY8
TWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXJJbXBsPigpKQogewogfQogCkBAIC01OCwyNiArNjAs
NDMgQEAgc3RhdGljIGlubGluZSBJUEM6OkNvbm5lY3Rpb24mIG5ldHdvcmtQcm9jZXNzQ29ubmVj
dGlvbigpCiAKIHZvaWQgV2ViTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXI6OmNyZWF0ZU5ld01l
c3NhZ2VQb3J0Q2hhbm5lbChjb25zdCBNZXNzYWdlUG9ydElkZW50aWZpZXImIHBvcnQxLCBjb25z
dCBNZXNzYWdlUG9ydElkZW50aWZpZXImIHBvcnQyKQogewotICAgIG5ldHdvcmtQcm9jZXNzQ29u
bmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpD
cmVhdGVOZXdNZXNzYWdlUG9ydENoYW5uZWwgeyBwb3J0MSwgcG9ydDIgfSwgMCk7CisgICAgaWYg
KHBvcnQxLnByb2Nlc3NJZGVudGlmaWVyID09IHBvcnQyLnByb2Nlc3NJZGVudGlmaWVyKQorICAg
ICAgICBtX2xvY2FsUHJvdmlkZXItPmNyZWF0ZU5ld01lc3NhZ2VQb3J0Q2hhbm5lbChwb3J0MSwg
cG9ydDIpOworICAgIGVsc2UKKyAgICAgICAgbmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCkuc2Vu
ZChNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkNyZWF0ZU5ld01lc3Nh
Z2VQb3J0Q2hhbm5lbCB7IHBvcnQxLCBwb3J0MiB9LCAwKTsKIH0KIAogdm9pZCBXZWJNZXNzYWdl
UG9ydENoYW5uZWxQcm92aWRlcjo6ZW50YW5nbGVMb2NhbFBvcnRJblRoaXNQcm9jZXNzVG9SZW1v
dGUoY29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiBsb2NhbCwgY29uc3QgTWVzc2FnZVBvcnRJ
ZGVudGlmaWVyJiByZW1vdGUpCiB7Ci0gICAgbmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCkuc2Vu
ZChNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkVudGFuZ2xlTG9jYWxQ
b3J0SW5UaGlzUHJvY2Vzc1RvUmVtb3RlIHsgbG9jYWwsIHJlbW90ZSB9LCAwKTsKKyAgICBpZiAo
bG9jYWwucHJvY2Vzc0lkZW50aWZpZXIgPT0gcmVtb3RlLnByb2Nlc3NJZGVudGlmaWVyKQorICAg
ICAgICBtX2xvY2FsUHJvdmlkZXItPmVudGFuZ2xlTG9jYWxQb3J0SW5UaGlzUHJvY2Vzc1RvUmVt
b3RlKGxvY2FsLCByZW1vdGUpOworICAgIGVsc2UKKyAgICAgICAgbmV0d29ya1Byb2Nlc3NDb25u
ZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkVu
dGFuZ2xlTG9jYWxQb3J0SW5UaGlzUHJvY2Vzc1RvUmVtb3RlIHsgbG9jYWwsIHJlbW90ZSB9LCAw
KTsKIH0KIAogdm9pZCBXZWJNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcjo6bWVzc2FnZVBvcnRE
aXNlbnRhbmdsZWQoY29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiBwb3J0KQogewotICAgIG5l
dHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzOjpNZXNzYWdlUG9ydERpc2VudGFuZ2xlZCB7IHBvcnQgfSwgMCk7CisgICAg
aWYgKHBvcnQucHJvY2Vzc0lkZW50aWZpZXIgPT0gUHJvY2Vzczo6aWRlbnRpZmllcigpKQorICAg
ICAgICBtX2xvY2FsUHJvdmlkZXItPm1lc3NhZ2VQb3J0RGlzZW50YW5nbGVkKHBvcnQpOworICAg
IGVsc2UKKyAgICAgICAgbmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6Ok1lc3NhZ2VQb3J0RGlzZW50YW5nbGVkIHsg
cG9ydCB9LCAwKTsKIH0KIAogdm9pZCBXZWJNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcjo6bWVz
c2FnZVBvcnRDbG9zZWQoY29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiBwb3J0KQogewotICAg
IG5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0
aW9uVG9XZWJQcm9jZXNzOjpNZXNzYWdlUG9ydENsb3NlZCB7IHBvcnQgfSwgMCk7CisgICAgaWYg
KHBvcnQucHJvY2Vzc0lkZW50aWZpZXIgPT0gUHJvY2Vzczo6aWRlbnRpZmllcigpKQorICAgICAg
ICBtX2xvY2FsUHJvdmlkZXItPm1lc3NhZ2VQb3J0Q2xvc2VkKHBvcnQpOworICAgIGVsc2UKKyAg
ICAgICAgbmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya0Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3M6Ok1lc3NhZ2VQb3J0Q2xvc2VkIHsgcG9ydCB9LCAwKTsKIH0K
IAogdm9pZCBXZWJNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcjo6dGFrZUFsbE1lc3NhZ2VzRm9y
UG9ydChjb25zdCBNZXNzYWdlUG9ydElkZW50aWZpZXImIHBvcnQsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoVmVjdG9yPE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzPiYmLCBGdW5jdGlvbjx2b2lkKCk+
JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIGlmIChwb3J0LnByb2Nlc3NJZGVudGlm
aWVyID09IFByb2Nlc3M6OmlkZW50aWZpZXIoKSkgeworICAgICAgICBtX2xvY2FsUHJvdmlkZXIt
PnRha2VBbGxNZXNzYWdlc0ZvclBvcnQocG9ydCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikp
OworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgbmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
KCkuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzczo6VGFrZUFsbE1lc3NhZ2VzRm9yUG9ydCB7IHBvcnQgfSwgW2NvbXBsZXRpb25IYW5kbGVy
ID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKGF1dG8mJiBtZXNzYWdlcywgdWludDY0X3Qg
bWVzc2FnZUJhdGNoSWRlbnRpZmllcikgbXV0YWJsZSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKFdURk1vdmUobWVzc2FnZXMpLCBbbWVzc2FnZUJhdGNoSWRlbnRpZmllcl0gewogICAgICAg
ICAgICAgbmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya0Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkRpZERlbGl2ZXJNZXNzYWdlUG9ydE1lc3NhZ2VzIHsgbWVz
c2FnZUJhdGNoSWRlbnRpZmllciB9LCAwKTsKQEAgLTg3LDExICsxMDYsMTkgQEAgdm9pZCBXZWJN
ZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcjo6dGFrZUFsbE1lc3NhZ2VzRm9yUG9ydChjb25zdCBN
ZXNzYWdlUG9ydElkZW4KIAogdm9pZCBXZWJNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcjo6cG9z
dE1lc3NhZ2VUb1JlbW90ZShNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmIG1lc3NhZ2UsIGNvbnN0
IE1lc3NhZ2VQb3J0SWRlbnRpZmllciYgcmVtb3RlVGFyZ2V0KQogewotICAgIG5ldHdvcmtQcm9j
ZXNzQ29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOjpQb3N0TWVzc2FnZVRvUmVtb3RlIHsgbWVzc2FnZSwgcmVtb3RlVGFyZ2V0IH0sIDApOwor
ICAgIGlmIChyZW1vdGVUYXJnZXQucHJvY2Vzc0lkZW50aWZpZXIgPT0gUHJvY2Vzczo6aWRlbnRp
ZmllcigpKQorICAgICAgICBtX2xvY2FsUHJvdmlkZXItPnBvc3RNZXNzYWdlVG9SZW1vdGUoV1RG
TW92ZShtZXNzYWdlKSwgcmVtb3RlVGFyZ2V0KTsKKyAgICBlbHNlCisgICAgICAgIG5ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzOjpQb3N0TWVzc2FnZVRvUmVtb3RlIHsgbWVzc2FnZSwgcmVtb3RlVGFyZ2V0IH0sIDAp
OwogfQogCiB2b2lkIFdlYk1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyOjpjaGVja1JlbW90ZVBv
cnRGb3JBY3Rpdml0eShjb25zdCBNZXNzYWdlUG9ydElkZW50aWZpZXImIHJlbW90ZVRhcmdldCwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChIYXNBY3Rpdml0eSk+JiYgY29tcGxldGlvbkhhbmRsZXIp
CiB7CisgICAgaWYgKHJlbW90ZVRhcmdldC5wcm9jZXNzSWRlbnRpZmllciA9PSBQcm9jZXNzOjpp
ZGVudGlmaWVyKCkpIHsKKyAgICAgICAgbV9sb2NhbFByb3ZpZGVyLT5jaGVja1JlbW90ZVBvcnRG
b3JBY3Rpdml0eShyZW1vdGVUYXJnZXQsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIG5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpLnNl
bmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6
OkNoZWNrUmVtb3RlUG9ydEZvckFjdGl2aXR5IHsgcmVtb3RlVGFyZ2V0IH0sIFtjb21wbGV0aW9u
SGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShib29sIGhhc0FjdGl2aXR5KSBt
dXRhYmxlIHsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoaGFzQWN0aXZpdHkgPyBIYXNBY3Rp
dml0eTo6WWVzIDogSGFzQWN0aXZpdHk6Ok5vKTsKICAgICB9LCAwKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJNZXNzYWdlUG9ydENoYW5u
ZWxQcm92aWRlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
Yk1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyLmgKaW5kZXggYjBlODcxM2QyNjBmZjg0MjUyZTcz
ZTdmM2Y4NzViNWU2OTFhMjI0Ny4uYzZmOWJhMDU3ZDM5YzRiNTBlYTIwZTA2OTk1YWM1MWUyYWVk
NDliNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyLmgKQEAg
LTI2LDYgKzI2LDExIEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgPFdlYkNvcmUvTWVzc2Fn
ZVBvcnRDaGFubmVsUHJvdmlkZXIuaD4KKyNpbmNsdWRlIDx3dGYvVW5pcXVlUmVmLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVySW1wbDsK
K30KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTQ1LDYgKzUwLDggQEAgcHJpdmF0ZToKICAg
ICB2b2lkIHRha2VBbGxNZXNzYWdlc0ZvclBvcnQoY29uc3QgV2ViQ29yZTo6TWVzc2FnZVBvcnRJ
ZGVudGlmaWVyJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8V2ViQ29yZTo6TWVzc2Fn
ZVdpdGhNZXNzYWdlUG9ydHM+JiYsIEZ1bmN0aW9uPHZvaWQoKT4mJik+JiYpIGZpbmFsOwogICAg
IHZvaWQgcG9zdE1lc3NhZ2VUb1JlbW90ZShXZWJDb3JlOjpNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0
cyYmLCBjb25zdCBXZWJDb3JlOjpNZXNzYWdlUG9ydElkZW50aWZpZXImIHJlbW90ZVRhcmdldCkg
ZmluYWw7CiAgICAgdm9pZCBjaGVja1JlbW90ZVBvcnRGb3JBY3Rpdml0eShjb25zdCBXZWJDb3Jl
OjpNZXNzYWdlUG9ydElkZW50aWZpZXImIHJlbW90ZVRhcmdldCwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChIYXNBY3Rpdml0eSk+JiYgY2FsbGJhY2spIGZpbmFsOworCisgICAgVW5pcXVlUmVmPFdl
YkNvcmU6Ok1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVySW1wbD4gbV9sb2NhbFByb3ZpZGVyOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>