<?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>266338</bug_id>
          
          <creation_ts>2023-12-13 07:47:35 -0800</creation_ts>
          <short_desc>REGRESSION(271948@main): Caused a massive memory and page load time regression</short_desc>
          <delta_ts>2023-12-13 09:37:14 -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>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>
          
          <blocked>266288</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>darbinyan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1999256</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2023-12-13 07:47:35 -0800</bug_when>
    <thetext>https://commits.webkit.org/271948@main introduced a regression:
Caused a massive memory and page load time regression

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1999258</commentid>
    <comment_count>1</comment_count>
      <attachid>469015</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2023-12-13 07:47:41 -0800</bug_when>
    <thetext>Created attachment 469015
REVERT of 271948@main

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the revert will be successful.  This process takes approximately 15 minutes.

If you would like to land the revert faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1999261</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-12-13 07:58:05 -0800</bug_when>
    <thetext>Committed 271981@main (31ed84288fae): &lt;https://commits.webkit.org/271981@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 469015.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1999262</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-12-13 07:59:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/119613340&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1999298</commentid>
    <comment_count>4</comment_count>
    <who name="Marta Darbinyan">darbinyan</who>
    <bug_when>2023-12-13 09:37:14 -0800</bug_when>
    <thetext>*** Bug 266346 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>469015</attachid>
            <date>2023-12-13 07:47:41 -0800</date>
            <delta_ts>2023-12-13 07:58:11 -0800</delta_ts>
            <desc>REVERT of 271948@main</desc>
            <filename>bug-266338-20231213154740.patch</filename>
            <type>text/plain</type>
            <size>37669</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">RnJvbSAzZWJiZjFkZDYzZThjZjU0YjA0ZGVmOGQ0NTU2YTQyMDI5NGIzZjk0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDb21taXQgUXVldWUgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgpEYXRlOiBXZWQsIDEzIERlYyAyMDIzIDE1OjQ3OjM4ICswMDAwClN1YmplY3Q6IFtQQVRDSF0g
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIDI3MTk0OEBtYWluLgogaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTI2NjMzOAoKQ2F1c2VkIGEgbWFzc2l2ZSBtZW1vcnkgYW5kIHBh
Z2UgbG9hZCB0aW1lIHJlZ3Jlc3Npb24KClJldmVydGVkIGNoYW5nZXNldDoKCiJVc2UgZXhpc3Rp
bmcgQXJyYXkvRGF0ZS9EaWN0aW9uYXJ5L1VSTCB3cmFwcGVycyBmb3IgdGhlaXIgQ0YgdHlwZXMi
Cmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjYyODgKaHR0cHM6Ly9j
b21taXRzLndlYmtpdC5vcmcvMjcxOTQ4QG1haW4KLS0tCiBTb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L0lQQy9Bcmd1bWVudENvZGVycy5oICAgfCAgIDEgLQogLi4uL1dlYktpdC9TaGFyZWQvQ29jb2Ev
QXJndW1lbnRDb2RlcnNDb2NvYS5oIHwgICA0ICstCiAuLi4vU2hhcmVkL0NvY29hL0FyZ3VtZW50
Q29kZXJzQ29jb2EubW0gICAgICAgfCAgMjcgKy0tCiAuLi4vQ29yZUlQQ0FWT3V0cHV0Q29udGV4
dC5zZXJpYWxpemF0aW9uLmluICAgfCAgIDIgKy0KIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29h
L0NvcmVJUENBcnJheS5oICAgICB8ICAgMiAtCiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9D
b3JlSVBDQXJyYXkubW0gICAgfCAgIDUgLQogLi4uL0NvY29hL0NvcmVJUENBcnJheS5zZXJpYWxp
emF0aW9uLmluICAgICAgIHwgICAyICstCiAuLi4vQ29jb2EvQ29yZUlQQ0NGVHlwZS5zZXJpYWxp
emF0aW9uLmluICAgICAgfCAgIDIgKy0KIC4uLi9Db2NvYS9Db3JlSVBDQ29sb3Iuc2VyaWFsaXph
dGlvbi5pbiAgICAgICB8ICAgMiArLQogLi4uL0NvY29hL0NvcmVJUENDb250YWN0cy5zZXJpYWxp
emF0aW9uLmluICAgIHwgICA0ICstCiAuLi4vQ29yZUlQQ0REQWN0aW9uQ29udGV4dC5zZXJpYWxp
emF0aW9uLmluICAgfCAgIDIgKy0KIC4uLi9Db3JlSVBDRERTY2FubmVyUmVzdWx0LnNlcmlhbGl6
YXRpb24uaW4gICB8ICAgMiArLQogU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ0Rh
dGUuaCAgICAgIHwgICA0ICstCiAuLi4vV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlSVBDRGljdGlv
bmFyeS5oICAgfCAgIDIgLQogLi4uL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ0RpY3Rpb25h
cnkubW0gIHwgIDExIC0KIC4uLi9Db2NvYS9Db3JlSVBDRGljdGlvbmFyeS5zZXJpYWxpemF0aW9u
LmluICB8ICAgMiArLQogLi4uL1NoYXJlZC9Db2NvYS9Db3JlSVBDRm9udC5zZXJpYWxpemF0aW9u
LmluIHwgICAyICstCiAuLi4vQ29jb2EvQ29yZUlQQ0xvY2FsZS5zZXJpYWxpemF0aW9uLmluICAg
ICAgfCAgIDIgKy0KIC4uLi9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJUENOU0NGT2JqZWN0Lmgg
ICB8ICAgMSAtCiAuLi4vV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlSVBDTlNDRk9iamVjdC5tbSAg
fCAgIDYgLQogLi4uL0NvY29hL0NvcmVJUENOU0NGT2JqZWN0LnNlcmlhbGl6YXRpb24uaW4gIHwg
ICAyICstCiAuLi4vQ29jb2EvQ29yZUlQQ05TVmFsdWUuc2VyaWFsaXphdGlvbi5pbiAgICAgfCAg
IDQgKy0KIC4uLi9Db2NvYS9Db3JlSVBDUGFzc0tpdC5zZXJpYWxpemF0aW9uLmluICAgICB8ICAg
MiArLQogLi4uL0NvcmVJUENTZWN1cmVDb2Rpbmcuc2VyaWFsaXphdGlvbi5pbiAgICAgIHwgICAy
ICstCiAuLi4vQ29jb2EvQ29yZUlQQ1N0cmluZy5zZXJpYWxpemF0aW9uLmluICAgICAgfCAgIDIg
Ky0KIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJUENVUkwuaCAgICAgICB8ICAgNiAt
CiAuLi4vU2hhcmVkL0NvY29hL0NvcmVJUENVUkwuc2VyaWFsaXphdGlvbi5pbiAgfCAgIDIgKy0K
IC4uLi9XZWJDb3JlQXJndW1lbnRDb2RlcnMuc2VyaWFsaXphdGlvbi5pbiAgICB8ICAgNCArLQog
U291cmNlL1dlYktpdC9TaGFyZWQvY2YvQXJndW1lbnRDb2RlcnNDRi5jcHAgIHwgMjEwICsrKysr
KysrKysrKysrKysrKwogU291cmNlL1dlYktpdC9TaGFyZWQvY2YvQXJndW1lbnRDb2RlcnNDRi5o
ICAgIHwgIDI4ICsrKwogLi4uL1dlYktpdC9TaGFyZWQvY2YvQ0ZUeXBlcy5zZXJpYWxpemF0aW9u
LmluIHwgIDEyIC0KIC4uLi9UZXN0cy9JUEMvSVBDU2VyaWFsaXphdGlvbi5tbSAgICAgICAgICAg
ICB8ICAyNiArLS0KIDMyIGZpbGVzIGNoYW5nZWQsIDI3MiBpbnNlcnRpb25zKCspLCAxMTMgZGVs
ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQXJndW1l
bnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmgK
aW5kZXggMDkzZWI3N2QyMDUzLi5iZGQ3NDM1NjAzZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuaApAQCAtODI4LDcgKzgyOCw2IEBAIHRlbXBsYXRlPD4g
c3RydWN0IEFyZ3VtZW50Q29kZXI8c3RkOjptb25vc3RhdGU+IHsKIH07CiAKIHRlbXBsYXRlPD4g
c3RydWN0IEFyZ3VtZW50Q29kZXI8c3RkOjpudWxscHRyX3Q+IHsKLSAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBFbmNvZGVyPgogICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3Qgc3Rk
OjpudWxscHRyX3QmKSB7IH0KICAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxzdGQ6Om51bGxwdHJf
dD4gZGVjb2RlKERlY29kZXImKSB7IHJldHVybiBudWxscHRyOyB9CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5oIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5oCmluZGV4IDU2ZGIxNGE0
Mzg3YS4uZDRjOWRiMTM5ZDUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2Nv
YS9Bcmd1bWVudENvZGVyc0NvY29hLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2Ev
QXJndW1lbnRDb2RlcnNDb2NvYS5oCkBAIC0xMzMsOCArMTMzLDYgQEAgc3RkOjpvcHRpb25hbDxS
ZXRhaW5QdHI8aWQ+PiBkZWNvZGVPYmplY3RGcm9tV3JhcHBlcihEZWNvZGVyJiwgY29uc3QgSGFz
aFNldDxDbGEKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBlbmNvZGVPYmplY3REaXJlY3Rs
eShFbmNvZGVyJiwgVCAqKTsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgZW5jb2RlT2JqZWN0
RGlyZWN0bHkoRW5jb2RlciYsIFQpOwotdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBlbmNvZGVP
YmplY3REaXJlY3RseShTdHJlYW1Db25uZWN0aW9uRW5jb2RlciYsIFQgKik7Ci10ZW1wbGF0ZTx0
eXBlbmFtZSBUPiB2b2lkIGVuY29kZU9iamVjdERpcmVjdGx5KFN0cmVhbUNvbm5lY3Rpb25FbmNv
ZGVyJiwgVCk7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdGQ6Om9wdGlvbmFsPFJldGFpblB0cjxp
ZD4+IGRlY29kZU9iamVjdERpcmVjdGx5UmVxdWlyaW5nQWxsb3dlZENsYXNzZXMoRGVjb2RlciYp
OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSA9IElzT2JqQ09iamVjdDxUPj4gdm9p
ZCBlbmNvZGUoRW5jb2RlciYsIFQgKik7CkBAIC0xODEsNyArMTc5LDcgQEAgdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8VCAqPiB7CiB9OwogCiB0ZW1wbGF0ZTx0eXBl
bmFtZSBUPiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxDb3JlSVBDUmV0YWluUHRyPFQ+PiB7Ci0gICAg
dGVtcGxhdGU8dHlwZW5hbWUgRW5jb2RlciwgdHlwZW5hbWUgVSA9IFQ+CisgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVSA9IFQ+CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIs
IGNvbnN0IENvcmVJUENSZXRhaW5QdHI8VT4mIG9iamVjdCkKICAgICB7CiAgICAgICAgIGVuY29k
ZU9iamVjdERpcmVjdGx5PFU+KGVuY29kZXIsIG9iamVjdC5nZXQoKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLm1tIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5tbQppbmRleCA0OWEwNTI1
ODA0ZGYuLmM0NjhkNGZlZmMxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29j
b2EvQXJndW1lbnRDb2RlcnNDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2Nv
YS9Bcmd1bWVudENvZGVyc0NvY29hLm1tCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgUExBVEZPUk0o
Q09DT0EpCiAKICNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ0YuaCIKLSNpbXBvcnQgIkNvcmVJUENE
YXRhLmgiCiAjaW1wb3J0ICJDb3JlSVBDTlNDRk9iamVjdC5oIgogI2ltcG9ydCAiQ29yZUlQQ1R5
cGVzLmgiCiAjaW1wb3J0ICJDb3JlVGV4dEhlbHBlcnMuaCIKQEAgLTM3LDcgKzM2LDYgQEAKICNp
bXBvcnQgIkxlZ2FjeUdsb2JhbFNldHRpbmdzLmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1w
b3J0ICJNZXNzYWdlTmFtZXMuaCIKLSNpbXBvcnQgIlN0cmVhbUNvbm5lY3Rpb25FbmNvZGVyLmgi
CiAjaW1wb3J0ICJXZWJQcmVmZXJlbmNlc0tleXMuaCIKICNpbXBvcnQgPENvcmVUZXh0L0NURm9u
dC5oPgogI2ltcG9ydCA8Q29yZVRleHQvQ1RGb250RGVzY3JpcHRvci5oPgpAQCAtMzgxLDcgKzM3
OSw3IEBAIGJvb2wgaXNTZXJpYWxpemFibGVWYWx1ZShpZCB2YWx1ZSkKIAogI3ByYWdtYSBtYXJr
IC0gaWQgPE5TU2VjdXJlQ29kaW5nPgogCi10ZW1wbGF0ZTx0eXBlbmFtZSBFbmNvZGVyPiBzdGF0
aWMgdm9pZCBlbmNvZGVTZWN1cmVDb2RpbmdEaXJlY3RseUltcGwoRW5jb2RlciYgZW5jb2Rlciwg
TlNPYmplY3Q8TlNTZWN1cmVDb2Rpbmc+ICpvYmplY3QpCit0ZW1wbGF0ZTw+IHZvaWQgZW5jb2Rl
T2JqZWN0RGlyZWN0bHk8TlNPYmplY3Q8TlNTZWN1cmVDb2Rpbmc+PihFbmNvZGVyJiBlbmNvZGVy
LCBOU09iamVjdDxOU1NlY3VyZUNvZGluZz4gKm9iamVjdCkKIHsKICAgICBhdXRvIGFyY2hpdmVy
ID0gYWRvcHROUyhbW05TS2V5ZWRBcmNoaXZlciBhbGxvY10gaW5pdFJlcXVpcmluZ1NlY3VyZUNv
ZGluZzpZRVNdKTsKIApAQCAtNDMwLDE3ICs0MjgsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBFbmNv
ZGVyPiBzdGF0aWMgdm9pZCBlbmNvZGVTZWN1cmVDb2RpbmdEaXJlY3RseUltcGwoRW5jb2RlciYg
ZQogICAgIFthcmNoaXZlciBmaW5pc2hFbmNvZGluZ107CiAgICAgW2FyY2hpdmVyIHNldERlbGVn
YXRlOm5pbF07CiAKLSAgICBlbmNvZGVyIDw8IFdlYktpdDo6Q29yZUlQQ0RhdGEgeyBbYXJjaGl2
ZXIgZW5jb2RlZERhdGFdIH07Ci19Ci0KLXRlbXBsYXRlPD4gdm9pZCBlbmNvZGVPYmplY3REaXJl
Y3RseTxOU09iamVjdDxOU1NlY3VyZUNvZGluZz4+KEVuY29kZXImIGVuY29kZXIsIE5TT2JqZWN0
PE5TU2VjdXJlQ29kaW5nPiAqb2JqZWN0KQotewotICAgIGVuY29kZVNlY3VyZUNvZGluZ0RpcmVj
dGx5SW1wbChlbmNvZGVyLCBvYmplY3QpOwotfQotCi10ZW1wbGF0ZTw+IHZvaWQgZW5jb2RlT2Jq
ZWN0RGlyZWN0bHk8TlNPYmplY3Q8TlNTZWN1cmVDb2Rpbmc+PihTdHJlYW1Db25uZWN0aW9uRW5j
b2RlciYgZW5jb2RlciwgTlNPYmplY3Q8TlNTZWN1cmVDb2Rpbmc+ICpvYmplY3QpCi17Ci0gICAg
ZW5jb2RlU2VjdXJlQ29kaW5nRGlyZWN0bHlJbXBsKGVuY29kZXIsIG9iamVjdCk7CisgICAgZW5j
b2RlciA8PCAoX19icmlkZ2UgQ0ZEYXRhUmVmKVthcmNoaXZlciBlbmNvZGVkRGF0YV07CiB9CiAK
IHN0YXRpYyBib29sIHNob3VsZEVuYWJsZVN0cmljdE1vZGUoRGVjb2RlciYgZGVjb2RlciwgY29u
c3QgSGFzaFNldDxDbGFzcz4mIGFsbG93ZWRDbGFzc2VzKQpAQCAtNTg5LDEyICs1NzcsMTAgQEAg
dGVtcGxhdGU8PiBzdGQ6Om9wdGlvbmFsPFJldGFpblB0cjxpZD4+IGRlY29kZU9iamVjdERpcmVj
dGx5UmVxdWlyaW5nQWxsb3dlZENsYXMKICAgICBhdXRvJiBhbGxvd2VkQ2xhc3NlcyA9IGRlY29k
ZXIuYWxsb3dlZENsYXNzZXMoKTsKICAgICBSRUxFQVNFX0FTU0VSVChhbGxvd2VkQ2xhc3Nlcy5z
aXplKCkpOwogCi0gICAgYXV0byBjb3JlSVBDRGF0YSA9IGRlY29kZXIuZGVjb2RlPFdlYktpdDo6
Q29yZUlQQ0RhdGE+KCk7Ci0gICAgaWYgKCFjb3JlSVBDRGF0YSkKKyAgICBSZXRhaW5QdHI8Q0ZE
YXRhUmVmPiBkYXRhOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZGF0YSkpCiAgICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBkYXRhID0gY29y
ZUlQQ0RhdGEtPmRhdGEoKTsKLQogICAgIGF1dG8gdW5hcmNoaXZlciA9IGFkb3B0TlMoW1tOU0tl
eWVkVW5hcmNoaXZlciBhbGxvY10gaW5pdEZvclJlYWRpbmdGcm9tRGF0YTpicmlkZ2VfY2FzdChk
YXRhLmdldCgpKSBlcnJvcjpudWxscHRyXSk7CiAgICAgdW5hcmNoaXZlci5nZXQoKS5kZWNvZGlu
Z0ZhaWx1cmVQb2xpY3kgPSBOU0RlY29kaW5nRmFpbHVyZVBvbGljeVJhaXNlRXhjZXB0aW9uOwog
CkBAIC02NDEsMTEgKzYyNyw2IEBAIHRlbXBsYXRlPD4gdm9pZCBlbmNvZGVPYmplY3REaXJlY3Rs
eTxDRlR5cGVSZWY+KEVuY29kZXImIGVuY29kZXIsIENGVHlwZVJlZiBjZikKICAgICBBcmd1bWVu
dENvZGVyPENGVHlwZVJlZj46OmVuY29kZShlbmNvZGVyLCBjZik7CiB9CiAKLXRlbXBsYXRlPD4g
dm9pZCBlbmNvZGVPYmplY3REaXJlY3RseTxDRlR5cGVSZWY+KFN0cmVhbUNvbm5lY3Rpb25FbmNv
ZGVyJiBlbmNvZGVyLCBDRlR5cGVSZWYgY2YpCi17Ci0gICAgQXJndW1lbnRDb2RlcjxDRlR5cGVS
ZWY+OjplbmNvZGUoZW5jb2RlciwgY2YpOwotfQotCiB0ZW1wbGF0ZTw+IHN0ZDo6b3B0aW9uYWw8
UmV0YWluUHRyPGlkPj4gZGVjb2RlT2JqZWN0RGlyZWN0bHlSZXF1aXJpbmdBbGxvd2VkQ2xhc3Nl
czxDRlR5cGVSZWY+KERlY29kZXImIGRlY29kZXIpCiB7CiAgICAgYXV0byByZXN1bHQgPSBBcmd1
bWVudENvZGVyPFJldGFpblB0cjxDRlR5cGVSZWY+Pjo6ZGVjb2RlKGRlY29kZXIpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ0FWT3V0cHV0Q29udGV4dC5z
ZXJpYWxpemF0aW9uLmluIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ0FWT3V0
cHV0Q29udGV4dC5zZXJpYWxpemF0aW9uLmluCmluZGV4IGM3NWFlZTk3MTBhOC4uOWY3MTkwNWY2
ZTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlSVBDQVZPdXRw
dXRDb250ZXh0LnNlcmlhbGl6YXRpb24uaW4KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29j
b2EvQ29yZUlQQ0FWT3V0cHV0Q29udGV4dC5zZXJpYWxpemF0aW9uLmluCkBAIC0yNSw3ICsyNSw3
IEBACiAjIEZJWE1FOiBSZW1vdmUgU3VwcG9ydFdLS2V5ZWRDb2RlciBvbmNlIEFWT3V0cHV0Q29u
dGV4dCBjb25mb3JtcyB0byB0aGUgV2ViS2l0IFByb3BlcnR5IExpc3Qgc2VjdXJlIGNvZGluZyBw
cm90b2NvbCwgdHJhY2tlZCBieSByZGFyOi8vMTE5Mjg5MzYyCiAKIHNlY3VyZV9jb2RpbmdfaGVh
ZGVyOiA8cGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmg+Ci1bV2ViS2l0U2VjdXJlQ29k
aW5nQ2xhc3M9UEFMOjpnZXRBVk91dHB1dENvbnRleHRDbGFzcygpLCBTdXBwb3J0V0tLZXllZENv
ZGVyLCBBZGRpdGlvbmFsRW5jb2Rlcj1TdHJlYW1Db25uZWN0aW9uRW5jb2Rlcl0gd2Via2l0X3Nl
Y3VyZV9jb2RpbmcgQVZPdXRwdXRDb250ZXh0IHsKK1tXZWJLaXRTZWN1cmVDb2RpbmdDbGFzcz1Q
QUw6OmdldEFWT3V0cHV0Q29udGV4dENsYXNzKCksIFN1cHBvcnRXS0tleWVkQ29kZXJdIHdlYmtp
dF9zZWN1cmVfY29kaW5nIEFWT3V0cHV0Q29udGV4dCB7CiAgICAgQVZPdXRwdXRDb250ZXh0U2Vy
aWFsaXphdGlvbktleUNvbnRleHRJRDogU3RyaW5nCiAgICAgQVZPdXRwdXRDb250ZXh0U2VyaWFs
aXphdGlvbktleUNvbnRleHRUeXBlOiBTdHJpbmcKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0NvY29hL0NvcmVJUENBcnJheS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29j
b2EvQ29yZUlQQ0FycmF5LmgKaW5kZXggMWUxOGM3Njk1MmRiLi5jZmZkYjRjM2I1NDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJUENBcnJheS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJUENBcnJheS5oCkBAIC0zOCwxNCArMzgsMTIg
QEAgY2xhc3MgQ29yZUlQQ05TQ0ZPYmplY3Q7CiBjbGFzcyBDb3JlSVBDQXJyYXkgewogcHVibGlj
OgogICAgIENvcmVJUENBcnJheShOU0FycmF5ICopOwotICAgIENvcmVJUENBcnJheShDRkFycmF5
UmVmKTsKICAgICBDb3JlSVBDQXJyYXkoY29uc3QgUmV0YWluUHRyPE5TQXJyYXk+JiBhcnJheSkK
ICAgICAgICAgOiBDb3JlSVBDQXJyYXkoYXJyYXkuZ2V0KCkpCiAgICAgewogICAgIH0KIAogICAg
IFJldGFpblB0cjxpZD4gdG9JRCgpIGNvbnN0OwotICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBj
cmVhdGVDRkFycmF5KCkgY29uc3QgeyByZXR1cm4gKF9fYnJpZGdlIENGQXJyYXlSZWYpdG9JRCgp
LmdldCgpOyB9CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIHN0cnVjdCBJUEM6OkFyZ3VtZW50Q29k
ZXI8Q29yZUlQQ0FycmF5LCB2b2lkPjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0NvY29hL0NvcmVJUENBcnJheS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJ
UENBcnJheS5tbQppbmRleCA1MzVmOGYzYTYzNGUuLjZiYzU2N2U4YWQ3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ0FycmF5Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJUENBcnJheS5tbQpAQCAtNDIsMTEgKzQyLDYgQEAgQ29y
ZUlQQ0FycmF5OjpDb3JlSVBDQXJyYXkoTlNBcnJheSAqYXJyYXkpCiAgICAgfQogfQogCi1Db3Jl
SVBDQXJyYXk6OkNvcmVJUENBcnJheShDRkFycmF5UmVmIGFycmF5KQotICAgIDogQ29yZUlQQ0Fy
cmF5KChfX2JyaWRnZSBOU0FycmF5ICopYXJyYXkpCi17Ci19Ci0KIFJldGFpblB0cjxpZD4gQ29y
ZUlQQ0FycmF5Ojp0b0lEKCkgY29uc3QKIHsKICAgICBhdXRvIHJlc3VsdCA9IGFkb3B0TlMoW1tO
U011dGFibGVBcnJheSBhbGxvY10gaW5pdFdpdGhDYXBhY2l0eTptX2FycmF5LnNpemUoKV0pOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ0FycmF5LnNlcmlh
bGl6YXRpb24uaW4gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlSVBDQXJyYXkuc2Vy
aWFsaXphdGlvbi5pbgppbmRleCBmYjRhMmUyZjUyMzEuLjFiOTcyMGQwMmRiYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ0FycmF5LnNlcmlhbGl6YXRpb24u
aW4KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ0FycmF5LnNlcmlhbGl6
YXRpb24uaW4KQEAgLTI0LDcgKzI0LDcgQEAKIAogd2Via2l0X3BsYXRmb3JtX2hlYWRlcnM6ICJD
b3JlSVBDQXJyYXkuaCIKIAotW1dlYktpdFBsYXRmb3JtLCBBZGRpdGlvbmFsRW5jb2Rlcj1TdHJl
YW1Db25uZWN0aW9uRW5jb2Rlcl0gY2xhc3MgV2ViS2l0OjpDb3JlSVBDQXJyYXkgeworW1dlYktp
dFBsYXRmb3JtXSBjbGFzcyBXZWJLaXQ6OkNvcmVJUENBcnJheSB7CiAgICAgVmVjdG9yPFVuaXF1
ZVJlZjxXZWJLaXQ6OkNvcmVJUENOU0NGT2JqZWN0Pj4gbV9hcnJheTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ0NGVHlwZS5zZXJpYWxpemF0aW9u
LmluIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ0NGVHlwZS5zZXJpYWxpemF0
aW9uLmluCmluZGV4IGI3NDkxNDA3YzQ1Ny4uYjJkNmQ1MTc5YTc4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlSVBDQ0ZUeXBlLnNlcmlhbGl6YXRpb24uaW4KKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ0NGVHlwZS5zZXJpYWxpemF0aW9u
LmluCkBAIC0yNCw3ICsyNCw3IEBACiAKIHdlYmtpdF9wbGF0Zm9ybV9oZWFkZXJzOiAiQ29yZUlQ
Q0NGVHlwZS5oIgogCi1bV2ViS2l0UGxhdGZvcm0sIEFkZGl0aW9uYWxFbmNvZGVyPVN0cmVhbUNv
bm5lY3Rpb25FbmNvZGVyXSBjbGFzcyBXZWJLaXQ6OkNvcmVJUENDRlR5cGUgeworW1dlYktpdFBs
YXRmb3JtXSBjbGFzcyBXZWJLaXQ6OkNvcmVJUENDRlR5cGUgewogICAgIElQQzo6Q29yZUlQQ1Jl
dGFpblB0cjxDRlR5cGVSZWY+IG1fY2ZUeXBlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9Db2NvYS9Db3JlSVBDQ29sb3Iuc2VyaWFsaXphdGlvbi5pbiBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJUENDb2xvci5zZXJpYWxpemF0aW9uLmluCmluZGV4IGRl
ZTc0ZGI2MzNmMC4uMGYxYzNiZGQyNTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9Db2NvYS9Db3JlSVBDQ29sb3Iuc2VyaWFsaXphdGlvbi5pbgorKysgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Db2NvYS9Db3JlSVBDQ29sb3Iuc2VyaWFsaXphdGlvbi5pbgpAQCAtMjQsNyArMjQs
NyBAQAogCiB3ZWJraXRfcGxhdGZvcm1faGVhZGVyczogIkNvcmVJUENDb2xvci5oIgogCi1bV2Vi
S2l0UGxhdGZvcm0sIEFkZGl0aW9uYWxFbmNvZGVyPVN0cmVhbUNvbm5lY3Rpb25FbmNvZGVyXSBj
bGFzcyBXZWJLaXQ6OkNvcmVJUENDb2xvciB7CitbV2ViS2l0UGxhdGZvcm1dIGNsYXNzIFdlYktp
dDo6Q29yZUlQQ0NvbG9yIHsKICAgICBXZWJDb3JlOjpDb2xvciBtX2NvbG9yOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlSVBDQ29udGFjdHMuc2VyaWFs
aXphdGlvbi5pbiBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJUENDb250YWN0cy5z
ZXJpYWxpemF0aW9uLmluCmluZGV4IGI1YzIwODc3NDdiOS4uNjFhN2ZlZTBkODE2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlSVBDQ29udGFjdHMuc2VyaWFsaXph
dGlvbi5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlSVBDQ29udGFjdHMu
c2VyaWFsaXphdGlvbi5pbgpAQCAtMjQsNyArMjQsNyBAQAogCiB3ZWJraXRfcGxhdGZvcm1faGVh
ZGVyczogIkNvcmVJUENDb250YWN0cy5oIgogCi1bQ3VzdG9tSGVhZGVyLCBXZWJLaXRQbGF0Zm9y
bSwgQWRkaXRpb25hbEVuY29kZXI9U3RyZWFtQ29ubmVjdGlvbkVuY29kZXJdIGNsYXNzIFdlYktp
dDo6Q29yZUlQQ0NOUG9zdGFsQWRkcmVzcyB7CitbQ3VzdG9tSGVhZGVyLCBXZWJLaXRQbGF0Zm9y
bV0gY2xhc3MgV2ViS2l0OjpDb3JlSVBDQ05Qb3N0YWxBZGRyZXNzIHsKICAgICBTdHJpbmcgbV9z
dHJlZXQ7CiAgICAgU3RyaW5nIG1fc3ViTG9jYWxpdHk7CiAgICAgU3RyaW5nIG1fY2l0eTsKQEAg
LTM2LDcgKzM2LDcgQEAgd2Via2l0X3BsYXRmb3JtX2hlYWRlcnM6ICJDb3JlSVBDQ29udGFjdHMu
aCIKICAgICBTdHJpbmcgbV9mb3JtYXR0ZWRBZGRyZXNzOwogfQogCi1bQ3VzdG9tSGVhZGVyLCBX
ZWJLaXRQbGF0Zm9ybSwgQWRkaXRpb25hbEVuY29kZXI9U3RyZWFtQ29ubmVjdGlvbkVuY29kZXJd
IGNsYXNzIFdlYktpdDo6Q29yZUlQQ0NOUGhvbmVOdW1iZXIgeworW0N1c3RvbUhlYWRlciwgV2Vi
S2l0UGxhdGZvcm1dIGNsYXNzIFdlYktpdDo6Q29yZUlQQ0NOUGhvbmVOdW1iZXIgewogICAgIFN0
cmluZyBtX2RpZ2l0czsKICAgICBTdHJpbmcgbV9jb3VudHJ5Q29kZTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJUENEREFjdGlvbkNvbnRleHQuc2VyaWFs
aXphdGlvbi5pbiBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJUENEREFjdGlvbkNv
bnRleHQuc2VyaWFsaXphdGlvbi5pbgppbmRleCA3YzZiYWEyY2EzMzIuLmYzOWQ4Y2JmYWM2NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ0REQWN0aW9uQ29u
dGV4dC5zZXJpYWxpemF0aW9uLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0Nv
cmVJUENEREFjdGlvbkNvbnRleHQuc2VyaWFsaXphdGlvbi5pbgpAQCAtMjIsNyArMjIsNyBAQAog
CiAjaWYgRU5BQkxFKERBVEFfREVURUNUSU9OKSAmJiBQTEFURk9STShNQUMpCiBzZWN1cmVfY29k
aW5nX2hlYWRlcjogPHBhbC9tYWMvRGF0YURldGVjdG9yc1NvZnRMaW5rLmg+Ci1bV2ViS2l0U2Vj
dXJlQ29kaW5nQ2xhc3M9UEFMOjpnZXRXS0REQWN0aW9uQ29udGV4dENsYXNzKCksIEFkZGl0aW9u
YWxFbmNvZGVyPVN0cmVhbUNvbm5lY3Rpb25FbmNvZGVyXSB3ZWJraXRfc2VjdXJlX2NvZGluZyBE
REFjdGlvbkNvbnRleHQgeworW1dlYktpdFNlY3VyZUNvZGluZ0NsYXNzPVBBTDo6Z2V0V0tEREFj
dGlvbkNvbnRleHRDbGFzcygpXSB3ZWJraXRfc2VjdXJlX2NvZGluZyBEREFjdGlvbkNvbnRleHQg
ewogICAgIGhpZ2hsaWdodEZyYW1lOiBOU1ZhbHVlCiAgICAgYWltRnJhbWU6IE5TVmFsdWUKICAg
ICBldmVudFRpdGxlOiBTdHJpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nv
Y29hL0NvcmVJUENERFNjYW5uZXJSZXN1bHQuc2VyaWFsaXphdGlvbi5pbiBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0NvY29hL0NvcmVJUENERFNjYW5uZXJSZXN1bHQuc2VyaWFsaXphdGlvbi5pbgpp
bmRleCAxNWExYjQ4ZWNjYWYuLjAzZWY4M2QwMzNjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQ29jb2EvQ29yZUlQQ0REU2Nhbm5lclJlc3VsdC5zZXJpYWxpemF0aW9uLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJUENERFNjYW5uZXJSZXN1bHQuc2Vy
aWFsaXphdGlvbi5pbgpAQCAtMjIsNyArMjIsNyBAQAogCiAjaWYgRU5BQkxFKERBVEFfREVURUNU
SU9OKQogc2VjdXJlX2NvZGluZ19oZWFkZXI6IDxwYWwvY29jb2EvRGF0YURldGVjdG9yc0NvcmVT
b2Z0TGluay5oPgotW1dlYktpdFNlY3VyZUNvZGluZ0NsYXNzPVBBTDo6Z2V0RERTY2FubmVyUmVz
dWx0Q2xhc3MoKSwgQWRkaXRpb25hbEVuY29kZXI9U3RyZWFtQ29ubmVjdGlvbkVuY29kZXJdIHdl
YmtpdF9zZWN1cmVfY29kaW5nIEREU2Nhbm5lclJlc3VsdCB7CitbV2ViS2l0U2VjdXJlQ29kaW5n
Q2xhc3M9UEFMOjpnZXRERFNjYW5uZXJSZXN1bHRDbGFzcygpXSB3ZWJraXRfc2VjdXJlX2NvZGlu
ZyBERFNjYW5uZXJSZXN1bHQgewogICAgIEFSOiBOU1ZhbHVlCiAgICAgTVM6IFN0cmluZwogICAg
IFQ6IFN0cmluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQ
Q0RhdGUuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJUENEYXRlLmgKaW5kZXgg
ZDMxYWU3OTMyN2U2Li5iNWI2N2ZmN2JhOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0NvY29hL0NvcmVJUENEYXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2Ev
Q29yZUlQQ0RhdGUuaApAQCAtNTIsNyArNTIsNyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAot
ICAgIFJldGFpblB0cjxDRkRhdGVSZWY+IGNyZWF0ZUNGRGF0ZSgpIGNvbnN0CisgICAgUmV0YWlu
UHRyPENGRGF0ZVJlZj4gY3JlYXRlRGF0ZSgpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4g
YWRvcHRDRihDRkRhdGVDcmVhdGUoMCwgbV9hYnNvbHV0ZVRpbWUpKTsKICAgICB9CkBAIC02NCw3
ICs2NCw3IEBAIHB1YmxpYzoKIAogICAgIFJldGFpblB0cjxpZD4gdG9JRCgpIGNvbnN0CiAgICAg
ewotICAgICAgICByZXR1cm4gYnJpZGdlX2Nhc3QoY3JlYXRlQ0ZEYXRlKCkuZ2V0KCkpOworICAg
ICAgICByZXR1cm4gYnJpZGdlX2Nhc3QoY3JlYXRlRGF0ZSgpLmdldCgpKTsKICAgICB9CiAKIHBy
aXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlSVBDRGlj
dGlvbmFyeS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ0RpY3Rpb25hcnku
aAppbmRleCBhMzdhYjg5NTlhY2EuLmZmMDViMjEwZDVmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ0RpY3Rpb25hcnkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Db2NvYS9Db3JlSVBDRGljdGlvbmFyeS5oCkBAIC00MCw3ICs0MCw2IEBAIGNsYXNz
IENvcmVJUENEaWN0aW9uYXJ5IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBDb3JlSVBDRGljdGlvbmFyeShOU0RpY3Rpb25hcnkgKik7Ci0gICAgQ29yZUlQQ0Rp
Y3Rpb25hcnkoQ0ZEaWN0aW9uYXJ5UmVmKTsKIAogICAgIENvcmVJUENEaWN0aW9uYXJ5KGNvbnN0
IFJldGFpblB0cjxOU0RpY3Rpb25hcnk+JiBkaWN0aW9uYXJ5KQogICAgICAgICA6IENvcmVJUENE
aWN0aW9uYXJ5KGRpY3Rpb25hcnkuZ2V0KCkpCkBAIC00OCw3ICs0Nyw2IEBAIHB1YmxpYzoKICAg
ICB9CiAKICAgICBSZXRhaW5QdHI8aWQ+IHRvSUQoKSBjb25zdDsKLSAgICBSZXRhaW5QdHI8Q0ZE
aWN0aW9uYXJ5UmVmPiBjcmVhdGVDRkRpY3Rpb25hcnkoKSBjb25zdDsKIAogICAgIGJvb2wga2V5
SGFzVmFsdWVPZlR5cGUoY29uc3QgU3RyaW5nJiwgSVBDOjpOU1R5cGUpIGNvbnN0OwogICAgIGJv
b2wga2V5SXNNaXNzaW5nT3JIYXNWYWx1ZU9mVHlwZShjb25zdCBTdHJpbmcmLCBJUEM6Ok5TVHlw
ZSkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlSVBD
RGljdGlvbmFyeS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJUENEaWN0aW9u
YXJ5Lm1tCmluZGV4IDQ4ZGQ0ZjZjNWRiYS4uNmZiN2VmNGEwNzNjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlSVBDRGljdGlvbmFyeS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlSVBDRGljdGlvbmFyeS5tbQpAQCAtNTEsMTEgKzUxLDYg
QEAgQ29yZUlQQ0RpY3Rpb25hcnk6OkNvcmVJUENEaWN0aW9uYXJ5KE5TRGljdGlvbmFyeSAqZGlj
dGlvbmFyeSkKICAgICB9CiB9CiAKLUNvcmVJUENEaWN0aW9uYXJ5OjpDb3JlSVBDRGljdGlvbmFy
eShDRkRpY3Rpb25hcnlSZWYgYXJyYXkpCi0gICAgOiBDb3JlSVBDRGljdGlvbmFyeSgoX19icmlk
Z2UgTlNEaWN0aW9uYXJ5ICopYXJyYXkpCi17Ci19Ci0KIGJvb2wgQ29yZUlQQ0RpY3Rpb25hcnk6
OmtleUhhc1ZhbHVlT2ZUeXBlKGNvbnN0IFN0cmluZyYga2V5LCBJUEM6Ok5TVHlwZSB0eXBlKSBj
b25zdAogewogICAgIGNyZWF0ZU5TRGljdGlvbmFyeUlmTmVlZGVkKCk7CkBAIC0xMzEsMTIgKzEy
Niw2IEBAIFJldGFpblB0cjxpZD4gQ29yZUlQQ0RpY3Rpb25hcnk6OnRvSUQoKSBjb25zdAogICAg
IHJldHVybiBtX25zRGljdGlvbmFyeTsKIH0KIAotUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4g
Q29yZUlQQ0RpY3Rpb25hcnk6OmNyZWF0ZUNGRGljdGlvbmFyeSgpIGNvbnN0Ci17Ci0gICAgY3Jl
YXRlTlNEaWN0aW9uYXJ5SWZOZWVkZWQoKTsKLSAgICByZXR1cm4gKF9fYnJpZGdlIENGRGljdGlv
bmFyeVJlZiltX25zRGljdGlvbmFyeS5nZXQoKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CiAKICNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0NvY29hL0NvcmVJUENEaWN0aW9uYXJ5LnNlcmlhbGl6YXRpb24uaW4gYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlSVBDRGljdGlvbmFyeS5zZXJpYWxpemF0aW9uLmluCmlu
ZGV4IDVhOGFjZTQwYTdjMy4uNjI5NGVlNzA2YjY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Db2NvYS9Db3JlSVBDRGljdGlvbmFyeS5zZXJpYWxpemF0aW9uLmluCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJUENEaWN0aW9uYXJ5LnNlcmlhbGl6YXRpb24u
aW4KQEAgLTI0LDcgKzI0LDcgQEAKIAogd2Via2l0X3BsYXRmb3JtX2hlYWRlcnM6ICJDb3JlSVBD
RGljdGlvbmFyeS5oIgogCi1bV2ViS2l0UGxhdGZvcm0sIEFkZGl0aW9uYWxFbmNvZGVyPVN0cmVh
bUNvbm5lY3Rpb25FbmNvZGVyXSBjbGFzcyBXZWJLaXQ6OkNvcmVJUENEaWN0aW9uYXJ5IHsKK1tX
ZWJLaXRQbGF0Zm9ybV0gY2xhc3MgV2ViS2l0OjpDb3JlSVBDRGljdGlvbmFyeSB7CiAgICAgW05v
dFNlcmlhbGl6ZWRdIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IG1fbnNEaWN0aW9uYXJ5OwogICAg
IFZlY3RvcjxLZXlWYWx1ZVBhaXI8VW5pcXVlUmVmPFdlYktpdDo6Q29yZUlQQ05TQ0ZPYmplY3Q+
LCBVbmlxdWVSZWY8V2ViS2l0OjpDb3JlSVBDTlNDRk9iamVjdD4+PiBtX2tleVZhbHVlUGFpcnM7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlSVBDRm9udC5z
ZXJpYWxpemF0aW9uLmluIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ0ZvbnQu
c2VyaWFsaXphdGlvbi5pbgppbmRleCBhOGE5M2M4YmZjYjYuLmI3ZWM0Y2VhMGVjZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ0ZvbnQuc2VyaWFsaXphdGlv
bi5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlSVBDRm9udC5zZXJpYWxp
emF0aW9uLmluCkBAIC0yNCw3ICsyNCw3IEBACiAKIHdlYmtpdF9wbGF0Zm9ybV9oZWFkZXJzOiAi
Q29yZUlQQ0ZvbnQuaCIKIAotW1dlYktpdFBsYXRmb3JtLCBBZGRpdGlvbmFsRW5jb2Rlcj1TdHJl
YW1Db25uZWN0aW9uRW5jb2Rlcl0gY2xhc3MgV2ViS2l0OjpDb3JlSVBDRm9udCB7CitbV2ViS2l0
UGxhdGZvcm1dIGNsYXNzIFdlYktpdDo6Q29yZUlQQ0ZvbnQgewogICAgIFdlYktpdDo6Q29yZUlQ
Q0RpY3Rpb25hcnkgbV9mb250RGVzY3JpcHRvckF0dHJpYnV0ZXM7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJUENMb2NhbGUuc2VyaWFsaXphdGlvbi5p
biBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJUENMb2NhbGUuc2VyaWFsaXphdGlv
bi5pbgppbmRleCAwZDMyMGZmNTRkOGQuLjZlZTc2MTIwYTNiYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ0xvY2FsZS5zZXJpYWxpemF0aW9uLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJUENMb2NhbGUuc2VyaWFsaXphdGlvbi5p
bgpAQCAtMjQsNyArMjQsNyBAQAogCiB3ZWJraXRfcGxhdGZvcm1faGVhZGVyczogIkNvcmVJUENM
b2NhbGUuaCIKIAotW1dlYktpdFBsYXRmb3JtLCBBZGRpdGlvbmFsRW5jb2Rlcj1TdHJlYW1Db25u
ZWN0aW9uRW5jb2Rlcl0gY2xhc3MgV2ViS2l0OjpDb3JlSVBDTG9jYWxlIHsKK1tXZWJLaXRQbGF0
Zm9ybV0gY2xhc3MgV2ViS2l0OjpDb3JlSVBDTG9jYWxlIHsKICAgICBbVmFsaWRhdG9yPSdXZWJL
aXQ6OkNvcmVJUENMb2NhbGU6OmlzVmFsaWRJZGVudGlmaWVyKCppZGVudGZpZXIpJ10gV1RGOjpT
dHJpbmcgaWRlbnRmaWVyKCkKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
Q29jb2EvQ29yZUlQQ05TQ0ZPYmplY3QuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0Nv
cmVJUENOU0NGT2JqZWN0LmgKaW5kZXggZDEyYTdmN2Q1ZmQ2Li5jYjY3ZTc5YTJmOTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJUENOU0NGT2JqZWN0LmgKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ05TQ0ZPYmplY3QuaApAQCAtMTE0
LDcgKzExNCw2IEBAIG5hbWVzcGFjZSBJUEMgewogLy8gbWFrZVVuaXF1ZVJlZldpdGhvdXRGYXN0
TWFsbG9jQ2hlY2s8Piwgc2luY2Ugd2UgY2FuJ3QgbWFrZSB0aGUgdmFyaWFudCBmYXN0IG1hbGxv
YydlZAogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxVbmlxdWVSZWY8V2ViS2l0OjpP
YmplY3RWYWx1ZT4+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFVu
aXF1ZVJlZjxXZWJLaXQ6Ok9iamVjdFZhbHVlPiYpOwotICAgIHN0YXRpYyB2b2lkIGVuY29kZShT
dHJlYW1Db25uZWN0aW9uRW5jb2RlciYsIGNvbnN0IFVuaXF1ZVJlZjxXZWJLaXQ6Ok9iamVjdFZh
bHVlPiYpOwogICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFVuaXF1ZVJlZjxXZWJLaXQ6Ok9iamVj
dFZhbHVlPj4gZGVjb2RlKERlY29kZXImKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0NvY29hL0NvcmVJUENOU0NGT2JqZWN0Lm1tIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvQ29jb2EvQ29yZUlQQ05TQ0ZPYmplY3QubW0KaW5kZXggNTE1NGUxZDgyZWQxLi5lYTAzY2Iy
NmNiMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJUENOU0NG
T2JqZWN0Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJUENOU0NGT2Jq
ZWN0Lm1tCkBAIC0zMSw3ICszMSw2IEBACiAjaW1wb3J0ICJBcmd1bWVudENvZGVyc0NvY29hLmgi
CiAjaW1wb3J0ICJDb3JlSVBDVHlwZXMuaCIKICNpbXBvcnQgIkdlbmVyYXRlZFdlYktpdFNlY3Vy
ZUNvZGluZy5oIgotI2ltcG9ydCAiU3RyZWFtQ29ubmVjdGlvbkVuY29kZXIuaCIKICNpbXBvcnQg
PHd0Zi9jb2NvYS9UeXBlQ2FzdHNDb2NvYS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTE1
NiwxMSArMTU1LDYgQEAgdm9pZCBBcmd1bWVudENvZGVyPFVuaXF1ZVJlZjxXZWJLaXQ6Ok9iamVj
dFZhbHVlPj46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb24KICAgICBlbmNvZGVyIDw8ICpv
YmplY3Q7CiB9CiAKLXZvaWQgQXJndW1lbnRDb2RlcjxVbmlxdWVSZWY8V2ViS2l0OjpPYmplY3RW
YWx1ZT4+OjplbmNvZGUoU3RyZWFtQ29ubmVjdGlvbkVuY29kZXImIGVuY29kZXIsIGNvbnN0IFVu
aXF1ZVJlZjxXZWJLaXQ6Ok9iamVjdFZhbHVlPiYgb2JqZWN0KQotewotICAgIGVuY29kZXIgPDwg
Km9iamVjdDsKLX0KLQogc3RkOjpvcHRpb25hbDxVbmlxdWVSZWY8V2ViS2l0OjpPYmplY3RWYWx1
ZT4+IEFyZ3VtZW50Q29kZXI8VW5pcXVlUmVmPFdlYktpdDo6T2JqZWN0VmFsdWU+Pjo6ZGVjb2Rl
KERlY29kZXImIGRlY29kZXIpCiB7CiAgICAgYXV0byBvYmplY3QgPSBkZWNvZGVyLmRlY29kZTxX
ZWJLaXQ6Ok9iamVjdFZhbHVlPigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
Q29jb2EvQ29yZUlQQ05TQ0ZPYmplY3Quc2VyaWFsaXphdGlvbi5pbiBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0NvY29hL0NvcmVJUENOU0NGT2JqZWN0LnNlcmlhbGl6YXRpb24uaW4KaW5kZXggNDRj
MjA4YmIwYTg4Li41OTljYzZhMDA1ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0NvY29hL0NvcmVJUENOU0NGT2JqZWN0LnNlcmlhbGl6YXRpb24uaW4KKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ05TQ0ZPYmplY3Quc2VyaWFsaXphdGlvbi5pbgpAQCAt
MjQsNyArMjQsNyBAQAogCiB3ZWJraXRfcGxhdGZvcm1faGVhZGVyczogIkFyZ3VtZW50Q29kZXJz
Q29jb2EuaCIgIkFyZ3VtZW50Q29kZXJzQ0YuaCIgIkNvcmVJUENOU0NGT2JqZWN0LmgiCiAKLVtX
ZWJLaXRQbGF0Zm9ybSwgQWRkaXRpb25hbEVuY29kZXI9U3RyZWFtQ29ubmVjdGlvbkVuY29kZXJd
IGNsYXNzIFdlYktpdDo6Q29yZUlQQ05TQ0ZPYmplY3QgeworW1dlYktpdFBsYXRmb3JtXSBjbGFz
cyBXZWJLaXQ6OkNvcmVJUENOU0NGT2JqZWN0IHsKICAgICBbVmFsaWRhdG9yPSdXZWJLaXQ6OkNv
cmVJUENOU0NGT2JqZWN0Ojp2YWx1ZUlzQWxsb3dlZChkZWNvZGVyLCAqbV92YWx1ZSknXSBVbmlx
dWVSZWY8V2ViS2l0OjpPYmplY3RWYWx1ZT4gbV92YWx1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ05TVmFsdWUuc2VyaWFsaXphdGlvbi5pbiBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJUENOU1ZhbHVlLnNlcmlhbGl6YXRpb24u
aW4KaW5kZXggYzBjYThhZjAxZTMzLi44NWE4ZWU2ZGRmNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJUENOU1ZhbHVlLnNlcmlhbGl6YXRpb24uaW4KKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ05TVmFsdWUuc2VyaWFsaXphdGlvbi5p
bgpAQCAtMjQsMTIgKzI0LDEyIEBACiAKIHdlYmtpdF9wbGF0Zm9ybV9oZWFkZXJzOiAiQ29yZUlQ
Q05TVmFsdWUuaCIgPEZvdW5kYXRpb24vTlNSYW5nZS5oPgogCi1bV2ViS2l0UGxhdGZvcm0sIEFk
ZGl0aW9uYWxFbmNvZGVyPVN0cmVhbUNvbm5lY3Rpb25FbmNvZGVyXSBzdHJ1Y3QgX05TUmFuZ2Ug
eworW1dlYktpdFBsYXRmb3JtXSBzdHJ1Y3QgX05TUmFuZ2UgewogICAgIE5TVUludGVnZXIgbG9j
YXRpb247CiAgICAgTlNVSW50ZWdlciBsZW5ndGg7CiB9CiAKLVtXZWJLaXRQbGF0Zm9ybSwgQWRk
aXRpb25hbEVuY29kZXI9U3RyZWFtQ29ubmVjdGlvbkVuY29kZXJdIGNsYXNzIFdlYktpdDo6Q29y
ZUlQQ05TVmFsdWUgeworW1dlYktpdFBsYXRmb3JtXSBjbGFzcyBXZWJLaXQ6OkNvcmVJUENOU1Zh
bHVlIHsKICAgICBXZWJLaXQ6OkNvcmVJUENOU1ZhbHVlOjpWYWx1ZSBtX3ZhbHVlCiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJUENQYXNzS2l0LnNlcmlh
bGl6YXRpb24uaW4gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlSVBDUGFzc0tpdC5z
ZXJpYWxpemF0aW9uLmluCmluZGV4IGI5NDhlOTc4MjRjMi4uN2VmZjU2ZGQ3MTRjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlSVBDUGFzc0tpdC5zZXJpYWxpemF0
aW9uLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJUENQYXNzS2l0LnNl
cmlhbGl6YXRpb24uaW4KQEAgLTI0LDcgKzI0LDcgQEAKIAogd2Via2l0X3BsYXRmb3JtX2hlYWRl
cnM6ICJDb3JlSVBDUGFzc0tpdC5oIgogCi1bQ3VzdG9tSGVhZGVyLCBXZWJLaXRQbGF0Zm9ybSwg
QWRkaXRpb25hbEVuY29kZXI9U3RyZWFtQ29ubmVjdGlvbkVuY29kZXJdIGNsYXNzIFdlYktpdDo6
Q29yZUlQQ1BLQ29udGFjdCB7CitbQ3VzdG9tSGVhZGVyLCBXZWJLaXRQbGF0Zm9ybV0gY2xhc3Mg
V2ViS2l0OjpDb3JlSVBDUEtDb250YWN0IHsKICAgICBXZWJLaXQ6OkNvcmVJUENQZXJzb25OYW1l
Q29tcG9uZW50cyBtX25hbWU7CiAgICAgU3RyaW5nIG1fZW1haWxBZGRyZXNzOwogICAgIFdlYktp
dDo6Q29yZUlQQ0NOUGhvbmVOdW1iZXIgbV9waG9uZU51bWJlcjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJUENTZWN1cmVDb2Rpbmcuc2VyaWFsaXphdGlvbi5p
biBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJUENTZWN1cmVDb2Rpbmcuc2VyaWFs
aXphdGlvbi5pbgppbmRleCA3ZjMwNGExNDNhYjYuLjc2Y2M0ZDg0MTNiNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ1NlY3VyZUNvZGluZy5zZXJpYWxpemF0
aW9uLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVJUENTZWN1cmVDb2Rp
bmcuc2VyaWFsaXphdGlvbi5pbgpAQCAtMjQsNyArMjQsNyBAQAogCiB3ZWJraXRfcGxhdGZvcm1f
aGVhZGVyczogIkNvcmVJUENTZWN1cmVDb2RpbmcuaCIKIAotW1dlYktpdFBsYXRmb3JtLCBBZGRp
dGlvbmFsRW5jb2Rlcj1TdHJlYW1Db25uZWN0aW9uRW5jb2Rlcl0gY2xhc3MgV2ViS2l0OjpDb3Jl
SVBDU2VjdXJlQ29kaW5nIHsKK1tXZWJLaXRQbGF0Zm9ybV0gY2xhc3MgV2ViS2l0OjpDb3JlSVBD
U2VjdXJlQ29kaW5nIHsKICAgICBJUEM6OkNvcmVJUENSZXRhaW5QdHI8TlNPYmplY3Q8TlNTZWN1
cmVDb2Rpbmc+PiBtX3NlY3VyZUNvZGluZzsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQ29jb2EvQ29yZUlQQ1N0cmluZy5zZXJpYWxpemF0aW9uLmluIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ1N0cmluZy5zZXJpYWxpemF0aW9uLmluCmluZGV4IGEx
N2RhNzY3MTU2NC4uNWM4Yjk3NGE1YzAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9Db2NvYS9Db3JlSVBDU3RyaW5nLnNlcmlhbGl6YXRpb24uaW4KKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvQ29jb2EvQ29yZUlQQ1N0cmluZy5zZXJpYWxpemF0aW9uLmluCkBAIC0yNCw3ICsy
NCw3IEBACiAKIHdlYmtpdF9wbGF0Zm9ybV9oZWFkZXJzOiAiQ29yZUlQQ1N0cmluZy5oIgogCi1b
V2ViS2l0UGxhdGZvcm0sIEFkZGl0aW9uYWxFbmNvZGVyPVN0cmVhbUNvbm5lY3Rpb25FbmNvZGVy
XSBjbGFzcyBXZWJLaXQ6OkNvcmVJUENTdHJpbmcgeworW1dlYktpdFBsYXRmb3JtXSBjbGFzcyBX
ZWJLaXQ6OkNvcmVJUENTdHJpbmcgewogICAgIFN0cmluZyBtX3N0cmluZzsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ1VSTC5oIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ1VSTC5oCmluZGV4IDJjOTYwZmY0NWE2Yi4uYmVhMGVj
Y2M3ZmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlSVBDVVJM
LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ1VSTC5oCkBAIC0zOSwx
OCArMzksMTIgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICBDb3JlSVBDVVJMKENGVVJM
UmVmIHVybCkKLSAgICAgICAgOiBtX3VybCh1cmwpCi0gICAgewotICAgIH0KLQogICAgIENvcmVJ
UENVUkwoVVJMJiYgdXJsKQogICAgICAgICA6IG1fdXJsKFdURk1vdmUodXJsKSkKICAgICB7CiAg
ICAgfQogCiAgICAgUmV0YWluUHRyPGlkPiB0b0lEKCkgY29uc3QgeyByZXR1cm4gKE5TVVJMICop
bV91cmw7IH0KLSAgICBSZXRhaW5QdHI8Q0ZVUkxSZWY+IGNyZWF0ZUNGVVJMKCkgY29uc3QgeyBy
ZXR1cm4gbV91cmwuY3JlYXRlQ0ZVUkwoKTsgfQogCiBwcml2YXRlOgogICAgIGZyaWVuZCBzdHJ1
Y3QgSVBDOjpBcmd1bWVudENvZGVyPENvcmVJUENVUkwsIHZvaWQ+OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ1VSTC5zZXJpYWxpemF0aW9uLmluIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZUlQQ1VSTC5zZXJpYWxpemF0aW9uLmluCmluZGV4
IDVjZjVmMTExMjMyNy4uODVmZjEzZmU3MzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Db2NvYS9Db3JlSVBDVVJMLnNlcmlhbGl6YXRpb24uaW4KKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvQ29jb2EvQ29yZUlQQ1VSTC5zZXJpYWxpemF0aW9uLmluCkBAIC0yNCw3ICsyNCw3
IEBACiAKIHdlYmtpdF9wbGF0Zm9ybV9oZWFkZXJzOiAiQ29yZUlQQ1VSTC5oIgogCi1bV2ViS2l0
UGxhdGZvcm0sIEFkZGl0aW9uYWxFbmNvZGVyPVN0cmVhbUNvbm5lY3Rpb25FbmNvZGVyXSBjbGFz
cyBXZWJLaXQ6OkNvcmVJUENVUkwgeworW1dlYktpdFBsYXRmb3JtXSBjbGFzcyBXZWJLaXQ6OkNv
cmVJUENVUkwgewogICAgIFVSTCBtX3VybDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLnNlcmlhbGl6YXRpb24uaW4gYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuc2VyaWFsaXphdGlvbi5pbgppbmRl
eCAwMmZjYTVjM2IyZDUuLmMzMmZiYjdjMGEzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLnNlcmlhbGl6YXRpb24uaW4KKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLnNlcmlhbGl6YXRpb24uaW4KQEAg
LTY5NiwxMiArNjk2LDEyIEBAIGhlYWRlcnM6IDxDb3JlR3JhcGhpY3MvQ0dHZW9tZXRyeS5oPiA8
Q29yZUdyYXBoaWNzL0NHQWZmaW5lVHJhbnNmb3JtLmg+CiAgICAgQ0dGbG9hdCBoZWlnaHQKIH07
CiAKLVtXZWJLaXRQbGF0Zm9ybSwgQWRkaXRpb25hbEVuY29kZXI9U3RyZWFtQ29ubmVjdGlvbkVu
Y29kZXJdIHN0cnVjdCBDR1BvaW50IHsKK1tXZWJLaXRQbGF0Zm9ybV0gc3RydWN0IENHUG9pbnQg
ewogICAgIENHRmxvYXQgeAogICAgIENHRmxvYXQgeQogfTsKIAotW1dlYktpdFBsYXRmb3JtLCBB
ZGRpdGlvbmFsRW5jb2Rlcj1TdHJlYW1Db25uZWN0aW9uRW5jb2Rlcl0gc3RydWN0IENHUmVjdCB7
CitbV2ViS2l0UGxhdGZvcm1dIHN0cnVjdCBDR1JlY3QgewogICAgIENHUG9pbnQgb3JpZ2luCiAg
ICAgQ0dTaXplIHNpemUKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9jZi9B
cmd1bWVudENvZGVyc0NGLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2NmL0FyZ3VtZW50Q29k
ZXJzQ0YuY3BwCmluZGV4IGIzZGU0MzQ0ODM5MC4uZGMyY2I1NWM3NDFjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9jZi9Bcmd1bWVudENvZGVyc0NGLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9jZi9Bcmd1bWVudENvZGVyc0NGLmNwcApAQCAtMzI2LDYgKzMyNiw3MyBA
QCBzdGQ6Om9wdGlvbmFsPFJldGFpblB0cjxDRlR5cGVSZWY+PiBBcmd1bWVudENvZGVyPFJldGFp
blB0cjxDRlR5cGVSZWY+Pjo6ZGVjb2RlKAogICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiB9CiAK
K3RlbXBsYXRlPHR5cGVuYW1lIEVuY29kZXI+Cit2b2lkIEFyZ3VtZW50Q29kZXI8Q0ZBcnJheVJl
Zj46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBDRkFycmF5UmVmIGFycmF5KQoreworICAgIGlm
ICghYXJyYXkpIHsKKyAgICAgICAgZW5jb2RlciA8PCB0cnVlOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgZW5jb2RlciA8PCBmYWxzZTsKKworICAgIENGSW5kZXggc2l6ZSA9IENGQXJy
YXlHZXRDb3VudChhcnJheSk7CisgICAgVmVjdG9yPENGVHlwZVJlZiwgMzI+IHZhbHVlcyhzaXpl
KTsKKworICAgIENGQXJyYXlHZXRWYWx1ZXMoYXJyYXksIENGUmFuZ2VNYWtlKDAsIHNpemUpLCB2
YWx1ZXMuZGF0YSgpKTsKKworICAgIEhhc2hTZXQ8Q0ZJbmRleD4gaW52YWxpZEluZGljZXM7Cisg
ICAgZm9yIChDRkluZGV4IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7CisgICAgICAgIC8vIElnbm9y
ZSB2YWx1ZXMgd2UgZG9uJ3Qgc3VwcG9ydC4KKyAgICAgICAgQVNTRVJUKHR5cGVGcm9tQ0ZUeXBl
UmVmKHZhbHVlc1tpXSkgIT0gQ0ZUeXBlOjpVbmtub3duKTsKKyAgICAgICAgaWYgKHR5cGVGcm9t
Q0ZUeXBlUmVmKHZhbHVlc1tpXSkgPT0gQ0ZUeXBlOjpVbmtub3duKQorICAgICAgICAgICAgaW52
YWxpZEluZGljZXMuYWRkKGkpOworICAgIH0KKworICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8
dWludDY0X3Q+KHNpemUgLSBpbnZhbGlkSW5kaWNlcy5zaXplKCkpOworCisgICAgZm9yIChDRklu
ZGV4IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7CisgICAgICAgIGlmIChpbnZhbGlkSW5kaWNlcy5j
b250YWlucyhpKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBlbmNvZGVyIDw8IHZh
bHVlc1tpXTsKKyAgICB9Cit9CisKK3RlbXBsYXRlIHZvaWQgQXJndW1lbnRDb2RlcjxDRkFycmF5
UmVmPjo6ZW5jb2RlPEVuY29kZXI+KEVuY29kZXImLCBDRkFycmF5UmVmKTsKK3RlbXBsYXRlIHZv
aWQgQXJndW1lbnRDb2RlcjxDRkFycmF5UmVmPjo6ZW5jb2RlPFN0cmVhbUNvbm5lY3Rpb25FbmNv
ZGVyPihTdHJlYW1Db25uZWN0aW9uRW5jb2RlciYsIENGQXJyYXlSZWYpOworCitzdGQ6Om9wdGlv
bmFsPFJldGFpblB0cjxDRkFycmF5UmVmPj4gQXJndW1lbnRDb2RlcjxSZXRhaW5QdHI8Q0ZBcnJh
eVJlZj4+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBzdGQ6Om9wdGlvbmFsPGJv
b2w+IGlzTnVsbDsKKyAgICBkZWNvZGVyID4+IGlzTnVsbDsKKyAgICBpZiAoIWlzTnVsbCkKKyAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIGlmICgqaXNOdWxsKQorICAgICAgICBy
ZXR1cm4ge3sgbnVsbHB0ciB9fTsKKworICAgIHN0ZDo6b3B0aW9uYWw8dWludDY0X3Q+IHNpemU7
CisgICAgZGVjb2RlciA+PiBzaXplOworICAgIGlmICghc2l6ZSkKKyAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKKworICAgIGF1dG8gYXJyYXkgPSBhZG9wdENGKENGQXJyYXlDcmVhdGVNdXRh
YmxlKDAsIDAsICZrQ0ZUeXBlQXJyYXlDYWxsQmFja3MpKTsKKworICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgKnNpemU7ICsraSkgeworICAgICAgICBzdGQ6Om9wdGlvbmFsPFJldGFpblB0cjxD
RlR5cGVSZWY+PiBlbGVtZW50OworICAgICAgICBkZWNvZGVyID4+IGVsZW1lbnQ7CisgICAgICAg
IGlmICghZWxlbWVudCkKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICAg
ICAgaWYgKCEqZWxlbWVudCkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAKKyAgICAg
ICAgQ0ZBcnJheUFwcGVuZFZhbHVlKGFycmF5LmdldCgpLCBlbGVtZW50LT5nZXQoKSk7CisgICAg
fQorCisgICAgcmV0dXJuIFdURk1vdmUoYXJyYXkpOworfQorCiB0ZW1wbGF0ZTx0eXBlbmFtZSBF
bmNvZGVyPgogdm9pZCBBcmd1bWVudENvZGVyPENGQ2hhcmFjdGVyU2V0UmVmPjo6ZW5jb2RlKEVu
Y29kZXImIGVuY29kZXIsIENGQ2hhcmFjdGVyU2V0UmVmIGNoYXJhY3RlclNldCkKIHsKQEAgLTM2
Myw2ICs0MzAsMTQ5IEBAIHN0ZDo6b3B0aW9uYWw8UmV0YWluUHRyPENGQ2hhcmFjdGVyU2V0UmVm
Pj4gQXJndW1lbnRDb2RlcjxSZXRhaW5QdHI8Q0ZDaGFyYWN0ZXJTCiAgICAgcmV0dXJuIFdURk1v
dmUoY2hhcmFjdGVyU2V0KTsKIH0KIAordGVtcGxhdGU8dHlwZW5hbWUgRW5jb2Rlcj4KK3ZvaWQg
QXJndW1lbnRDb2RlcjxDRkRhdGVSZWY+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgQ0ZEYXRl
UmVmIGRhdGUpCit7CisgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDxkb3VibGU+KENGRGF0ZUdl
dEFic29sdXRlVGltZShkYXRlKSk7Cit9CisKK3RlbXBsYXRlIHZvaWQgQXJndW1lbnRDb2RlcjxD
RkRhdGVSZWY+OjplbmNvZGU8RW5jb2Rlcj4oRW5jb2RlciYsIENGRGF0ZVJlZik7Cit0ZW1wbGF0
ZSB2b2lkIEFyZ3VtZW50Q29kZXI8Q0ZEYXRlUmVmPjo6ZW5jb2RlPFN0cmVhbUNvbm5lY3Rpb25F
bmNvZGVyPihTdHJlYW1Db25uZWN0aW9uRW5jb2RlciYsIENGRGF0ZVJlZik7CisKK3N0ZDo6b3B0
aW9uYWw8UmV0YWluUHRyPENGRGF0ZVJlZj4+IEFyZ3VtZW50Q29kZXI8UmV0YWluUHRyPENGRGF0
ZVJlZj4+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBzdGQ6Om9wdGlvbmFsPGRv
dWJsZT4gYWJzb2x1dGVUaW1lOworICAgIGRlY29kZXIgPj4gYWJzb2x1dGVUaW1lOworICAgIGlm
ICghYWJzb2x1dGVUaW1lKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgcmV0
dXJuIGFkb3B0Q0YoQ0ZEYXRlQ3JlYXRlKDAsICphYnNvbHV0ZVRpbWUpKTsKK30KKwordGVtcGxh
dGU8dHlwZW5hbWUgRW5jb2Rlcj4KK3ZvaWQgQXJndW1lbnRDb2RlcjxDRkRpY3Rpb25hcnlSZWY+
OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgQ0ZEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnkpCit7
CisgICAgaWYgKCFkaWN0aW9uYXJ5KSB7CisgICAgICAgIGVuY29kZXIgPDwgdHJ1ZTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIGVuY29kZXIgPDwgZmFsc2U7CisKKyAgICBDRkluZGV4
IHNpemUgPSBDRkRpY3Rpb25hcnlHZXRDb3VudChkaWN0aW9uYXJ5KTsKKyAgICBWZWN0b3I8Q0ZU
eXBlUmVmLCAzMj4ga2V5cyhzaXplKTsKKyAgICBWZWN0b3I8Q0ZUeXBlUmVmLCAzMj4gdmFsdWVz
KHNpemUpOworICAgIAorICAgIENGRGljdGlvbmFyeUdldEtleXNBbmRWYWx1ZXMoZGljdGlvbmFy
eSwga2V5cy5kYXRhKCksIHZhbHVlcy5kYXRhKCkpOworCisgICAgSGFzaFNldDxDRlR5cGVSZWY+
IGludmFsaWRLZXlzOworICAgIGZvciAoQ0ZJbmRleCBpID0gMDsgaSA8IHNpemU7ICsraSkgewor
ICAgICAgICBBU1NFUlQoa2V5c1tpXSk7CisgICAgICAgIEFTU0VSVCh2YWx1ZXNbaV0pOworCisg
ICAgICAgIC8vIElnbm9yZSBrZXlzL3ZhbHVlcyB3ZSBkb24ndCBzdXBwb3J0LgorICAgICAgICBB
U1NFUlQodHlwZUZyb21DRlR5cGVSZWYoa2V5c1tpXSkgIT0gQ0ZUeXBlOjpVbmtub3duKTsKKyAg
ICAgICAgQVNTRVJUKHR5cGVGcm9tQ0ZUeXBlUmVmKHZhbHVlc1tpXSkgIT0gQ0ZUeXBlOjpVbmtu
b3duKTsKKyAgICAgICAgaWYgKHR5cGVGcm9tQ0ZUeXBlUmVmKGtleXNbaV0pID09IENGVHlwZTo6
VW5rbm93biB8fCB0eXBlRnJvbUNGVHlwZVJlZih2YWx1ZXNbaV0pID09IENGVHlwZTo6VW5rbm93
bikKKyAgICAgICAgICAgIGludmFsaWRLZXlzLmFkZChrZXlzW2ldKTsKKyAgICB9CisKKyAgICBl
bmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQ2NF90PihzaXplIC0gaW52YWxpZEtleXMuc2l6ZSgp
KTsKKworICAgIGZvciAoQ0ZJbmRleCBpID0gMDsgaSA8IHNpemU7ICsraSkgeworICAgICAgICBp
ZiAoaW52YWxpZEtleXMuY29udGFpbnMoa2V5c1tpXSkpCisgICAgICAgICAgICBjb250aW51ZTsK
KworICAgICAgICBlbmNvZGVyIDw8IGtleXNbaV0gPDwgdmFsdWVzW2ldOworICAgIH0KK30KKwor
dGVtcGxhdGUgdm9pZCBBcmd1bWVudENvZGVyPENGRGljdGlvbmFyeVJlZj46OmVuY29kZTxFbmNv
ZGVyPihFbmNvZGVyJiwgQ0ZEaWN0aW9uYXJ5UmVmKTsKK3RlbXBsYXRlIHZvaWQgQXJndW1lbnRD
b2RlcjxDRkRpY3Rpb25hcnlSZWY+OjplbmNvZGU8U3RyZWFtQ29ubmVjdGlvbkVuY29kZXI+KFN0
cmVhbUNvbm5lY3Rpb25FbmNvZGVyJiwgQ0ZEaWN0aW9uYXJ5UmVmKTsKKworc3RkOjpvcHRpb25h
bDxSZXRhaW5QdHI8Q0ZEaWN0aW9uYXJ5UmVmPj4gQXJndW1lbnRDb2RlcjxSZXRhaW5QdHI8Q0ZE
aWN0aW9uYXJ5UmVmPj46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIHN0ZDo6b3B0
aW9uYWw8Ym9vbD4gaXNOdWxsOworICAgIGRlY29kZXIgPj4gaXNOdWxsOworICAgIGlmICghaXNO
dWxsKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgaWYgKCppc051bGwpCisg
ICAgICAgIHJldHVybiB7eyBudWxscHRyIH19OworCisgICAgc3RkOjpvcHRpb25hbDx1aW50NjRf
dD4gc2l6ZTsKKyAgICBkZWNvZGVyID4+IHNpemU7CisgICAgaWYgKCFzaXplKQorICAgICAgICBy
ZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgUmV0YWluUHRyPENGTXV0YWJsZURpY3Rpb25hcnlS
ZWY+IGRpY3Rpb25hcnkgPSBhZG9wdENGKENGRGljdGlvbmFyeUNyZWF0ZU11dGFibGUoMCwgMCwg
JmtDRlR5cGVEaWN0aW9uYXJ5S2V5Q2FsbEJhY2tzLCAma0NGVHlwZURpY3Rpb25hcnlWYWx1ZUNh
bGxCYWNrcykpOworICAgIGZvciAodWludDY0X3QgaSA9IDA7IGkgPCAqc2l6ZTsgKytpKSB7Cisg
ICAgICAgIHN0ZDo6b3B0aW9uYWw8UmV0YWluUHRyPENGVHlwZVJlZj4+IGtleTsKKyAgICAgICAg
ZGVjb2RlciA+PiBrZXk7CisgICAgICAgIGlmICgha2V5IHx8ICEqa2V5KQorICAgICAgICAgICAg
cmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgICAgICBzdGQ6Om9wdGlvbmFsPFJldGFpblB0cjxD
RlR5cGVSZWY+PiB2YWx1ZTsKKyAgICAgICAgZGVjb2RlciA+PiB2YWx1ZTsKKyAgICAgICAgaWYg
KCF2YWx1ZSB8fCAhKnZhbHVlKQorICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKwor
ICAgICAgICBDRkRpY3Rpb25hcnlTZXRWYWx1ZShkaWN0aW9uYXJ5LmdldCgpLCBrZXktPmdldCgp
LCB2YWx1ZS0+Z2V0KCkpOworICAgIH0KKworICAgIHJldHVybiBXVEZNb3ZlKGRpY3Rpb25hcnkp
OworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBFbmNvZGVyPgordm9pZCBBcmd1bWVudENvZGVyPENG
VVJMUmVmPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIENGVVJMUmVmIHVybCkKK3sKKyAgICBD
RlVSTFJlZiBiYXNlVVJMID0gQ0ZVUkxHZXRCYXNlVVJMKHVybCk7CisgICAgZW5jb2RlciA8PCBz
dGF0aWNfY2FzdDxib29sPihiYXNlVVJMKTsKKyAgICBpZiAoYmFzZVVSTCkKKyAgICAgICAgZW5j
b2RlciA8PCBiYXNlVVJMOworCisgICAgZW5jb2RlciA8PCBJUEM6OkRhdGFSZWZlcmVuY2UoYnl0
ZXNBc1ZlY3Rvcih1cmwpKTsKK30KKwordGVtcGxhdGUgdm9pZCBBcmd1bWVudENvZGVyPENGVVJM
UmVmPjo6ZW5jb2RlPEVuY29kZXI+KEVuY29kZXImLCBDRlVSTFJlZik7Cit0ZW1wbGF0ZSB2b2lk
IEFyZ3VtZW50Q29kZXI8Q0ZVUkxSZWY+OjplbmNvZGU8U3RyZWFtQ29ubmVjdGlvbkVuY29kZXI+
KFN0cmVhbUNvbm5lY3Rpb25FbmNvZGVyJiwgQ0ZVUkxSZWYpOworCitzdGQ6Om9wdGlvbmFsPFJl
dGFpblB0cjxDRlVSTFJlZj4+IEFyZ3VtZW50Q29kZXI8UmV0YWluUHRyPENGVVJMUmVmPj46OmRl
Y29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIFJldGFpblB0cjxDRlVSTFJlZj4gYmFzZVVS
TDsKKyAgICBzdGQ6Om9wdGlvbmFsPGJvb2w+IGhhc0Jhc2VVUkw7CisgICAgZGVjb2RlciA+PiBo
YXNCYXNlVVJMOworICAgIGlmICghaGFzQmFzZVVSTCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKKyAgICBpZiAoKmhhc0Jhc2VVUkwpIHsKKyAgICAgICAgc3RkOjpvcHRpb25hbDxSZXRh
aW5QdHI8Q0ZVUkxSZWY+PiBkZWNvZGVkQmFzZVVSTDsKKyAgICAgICAgZGVjb2RlciA+PiBkZWNv
ZGVkQmFzZVVSTDsKKyAgICAgICAgaWYgKCFkZWNvZGVkQmFzZVVSTCkKKyAgICAgICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7CisgICAgICAgIGJhc2VVUkwgPSBXVEZNb3ZlKCpkZWNvZGVkQmFz
ZVVSTCk7CisgICAgfQorCisgICAgc3RkOjpvcHRpb25hbDxJUEM6OkRhdGFSZWZlcmVuY2U+IHVy
bEJ5dGVzOworICAgIGRlY29kZXIgPj4gdXJsQnl0ZXM7CisgICAgaWYgKCF1cmxCeXRlcykKKyAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworI2lmIFVTRShGT1VOREFUSU9OKQorICAgIC8v
IEZJWE1FOiBNb3ZlIHRoaXMgdG8gQXJndW1lbnRDb2RlcnNDRk1hYy5tbSBhbmQgY2hhbmdlIHRo
aXMgZmlsZSBiYWNrIHRvIGJlIEMrKworICAgIC8vIGluc3RlYWQgb2YgT2JqZWN0aXZlLUMrKy4K
KyAgICBpZiAodXJsQnl0ZXMtPmVtcHR5KCkpIHsKKyAgICAgICAgLy8gQ0ZVUkwgY2FuJ3QgaG9s
ZCBhbiBlbXB0eSBVUkwsIHVubGlrZSBOU1VSTC4KKyAgICAgICAgLy8gRklYTUU6IFRoaXMgZGlz
Y2FyZHMgYmFzZSBVUkwsIHdoaWNoIHNlZW1zIGluY29ycmVjdC4KKyAgICAgICAgcmV0dXJuIHt7
IChfX2JyaWRnZSBDRlVSTFJlZilbTlNVUkwgVVJMV2l0aFN0cmluZzpAIiJdIH19OworICAgIH0K
KyNlbmRpZgorCisgICAgYXV0byByZXN1bHQgPSBhZG9wdENGKENGVVJMQ3JlYXRlQWJzb2x1dGVV
UkxXaXRoQnl0ZXMobnVsbHB0ciwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBVSW50OCo+KHVybEJ5
dGVzLT5kYXRhKCkpLCB1cmxCeXRlcy0+c2l6ZSgpLCBrQ0ZTdHJpbmdFbmNvZGluZ1VURjgsIGJh
c2VVUkwuZ2V0KCksIHRydWUpKTsKKyAgICBpZiAoIXJlc3VsdCkKKyAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKKyAgICByZXR1cm4gV1RGTW92ZShyZXN1bHQpOworfQorCiBuYW1lc3BhY2Ug
ewogdXNpbmcgQ0dDb2xvclNwYWNlU2VyaWFsaXphdGlvbiA9IHN0ZDo6dmFyaWFudDxXZWJDb3Jl
OjpDb2xvclNwYWNlLCBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+LCBSZXRhaW5QdHI8Q0ZUeXBlUmVm
Pj47CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9jZi9Bcmd1bWVudENvZGVy
c0NGLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9jZi9Bcmd1bWVudENvZGVyc0NGLmgKaW5kZXgg
MjE3ODA5ZGI1NGZhLi4xOTRhOGI1YTQ2ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL2NmL0FyZ3VtZW50Q29kZXJzQ0YuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9jZi9B
cmd1bWVudENvZGVyc0NGLmgKQEAgLTU2LDYgKzU2LDEzIEBAIHRlbXBsYXRlPD4gc3RydWN0IEFy
Z3VtZW50Q29kZXI8UmV0YWluUHRyPENGVHlwZVJlZj4+IDogQ0ZSZXRhaW5QdHJBcmd1bWVudENv
ZGVyCiAgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8UmV0YWluUHRyPENGVHlwZVJlZj4+IGRlY29k
ZShEZWNvZGVyJik7CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPENGQXJy
YXlSZWY+IHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBFbmNvZGVyPiBzdGF0aWMgdm9pZCBlbmNv
ZGUoRW5jb2RlciYsIENGQXJyYXlSZWYpOworfTsKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50
Q29kZXI8UmV0YWluUHRyPENGQXJyYXlSZWY+PiA6IENGUmV0YWluUHRyQXJndW1lbnRDb2RlcjxD
RkFycmF5UmVmPiB7CisgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8UmV0YWluUHRyPENGQXJyYXlS
ZWY+PiBkZWNvZGUoRGVjb2RlciYpOworfTsKKwogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRD
b2RlcjxDRkNoYXJhY3RlclNldFJlZj4gewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEVuY29kZXI+
IHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgQ0ZDaGFyYWN0ZXJTZXRSZWYpOwogfTsKQEAg
LTYzLDYgKzcwLDI3IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8UmV0YWluUHRy
PENGQ2hhcmFjdGVyU2V0UmVmPj4gOiBDRlJldGFpblB0ckFyZ3VtCiAgICAgc3RhdGljIHN0ZDo6
b3B0aW9uYWw8UmV0YWluUHRyPENGQ2hhcmFjdGVyU2V0UmVmPj4gZGVjb2RlKERlY29kZXImKTsK
IH07CiAKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8Q0ZEYXRlUmVmPiB7CisgICAg
dGVtcGxhdGU8dHlwZW5hbWUgRW5jb2Rlcj4gc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBD
RkRhdGVSZWYpOworfTsKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8UmV0YWluUHRy
PENGRGF0ZVJlZj4+IDogQ0ZSZXRhaW5QdHJBcmd1bWVudENvZGVyPENGRGF0ZVJlZj4geworICAg
IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFJldGFpblB0cjxDRkRhdGVSZWY+PiBkZWNvZGUoRGVjb2Rl
ciYpOworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxDRkRpY3Rpb25hcnlS
ZWY+IHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBFbmNvZGVyPiBzdGF0aWMgdm9pZCBlbmNvZGUo
RW5jb2RlciYsIENGRGljdGlvbmFyeVJlZik7Cit9OwordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1l
bnRDb2RlcjxSZXRhaW5QdHI8Q0ZEaWN0aW9uYXJ5UmVmPj4gOiBDRlJldGFpblB0ckFyZ3VtZW50
Q29kZXI8Q0ZEaWN0aW9uYXJ5UmVmPiB7CisgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8UmV0YWlu
UHRyPENGRGljdGlvbmFyeVJlZj4+IGRlY29kZShEZWNvZGVyJik7Cit9OworCit0ZW1wbGF0ZTw+
IHN0cnVjdCBBcmd1bWVudENvZGVyPENGVVJMUmVmPiB7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUg
RW5jb2Rlcj4gc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBDRlVSTFJlZik7Cit9OwordGVt
cGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxSZXRhaW5QdHI8Q0ZVUkxSZWY+PiA6IENGUmV0
YWluUHRyQXJndW1lbnRDb2RlcjxDRlVSTFJlZj4geworICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFs
PFJldGFpblB0cjxDRlVSTFJlZj4+IGRlY29kZShEZWNvZGVyJik7Cit9OworCiB0ZW1wbGF0ZTw+
IHN0cnVjdCBBcmd1bWVudENvZGVyPENHQ29sb3JTcGFjZVJlZj4gewogICAgIHRlbXBsYXRlPHR5
cGVuYW1lIEVuY29kZXI+IHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgQ0dDb2xvclNwYWNl
UmVmKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9jZi9DRlR5cGVzLnNl
cmlhbGl6YXRpb24uaW4gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9jZi9DRlR5cGVzLnNlcmlhbGl6
YXRpb24uaW4KaW5kZXggMDdlNmM1MWE0NTRlLi4zZGJjY2Q5NTBmYTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL2NmL0NGVHlwZXMuc2VyaWFsaXphdGlvbi5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9jZi9DRlR5cGVzLnNlcmlhbGl6YXRpb24uaW4KQEAgLTM0LDE4ICsz
NCw2IEBACiBbV2ViS2l0UGxhdGZvcm0sIEN1c3RvbUhlYWRlciwgQWRkaXRpb25hbEVuY29kZXI9
U3RyZWFtQ29ubmVjdGlvbkVuY29kZXIsIFRvQ0ZNZXRob2Q9cmVzdWx0LT5jcmVhdGVDRk51bWJl
cigpXSBDRk51bWJlclJlZiB3cmFwcGVkIGJ5IFdlYktpdDo6Q29yZUlQQ051bWJlciB7CiB9CiAK
LVtXZWJLaXRQbGF0Zm9ybSwgQ3VzdG9tSGVhZGVyLCBBZGRpdGlvbmFsRW5jb2Rlcj1TdHJlYW1D
b25uZWN0aW9uRW5jb2RlciwgVG9DRk1ldGhvZD1yZXN1bHQtPmNyZWF0ZUNGQXJyYXkoKV0gQ0ZB
cnJheVJlZiB3cmFwcGVkIGJ5IFdlYktpdDo6Q29yZUlQQ0FycmF5IHsKLX0KLQotW1dlYktpdFBs
YXRmb3JtLCBDdXN0b21IZWFkZXIsIEFkZGl0aW9uYWxFbmNvZGVyPVN0cmVhbUNvbm5lY3Rpb25F
bmNvZGVyLCBUb0NGTWV0aG9kPXJlc3VsdC0+Y3JlYXRlQ0ZEYXRlKCldIENGRGF0ZVJlZiB3cmFw
cGVkIGJ5IFdlYktpdDo6Q29yZUlQQ0RhdGUgewotfQotCi1bV2ViS2l0UGxhdGZvcm0sIEN1c3Rv
bUhlYWRlciwgQWRkaXRpb25hbEVuY29kZXI9U3RyZWFtQ29ubmVjdGlvbkVuY29kZXIsIFRvQ0ZN
ZXRob2Q9cmVzdWx0LT5jcmVhdGVDRkRpY3Rpb25hcnkoKV0gQ0ZEaWN0aW9uYXJ5UmVmIHdyYXBw
ZWQgYnkgV2ViS2l0OjpDb3JlSVBDRGljdGlvbmFyeSB7Ci19Ci0KLVtXZWJLaXRQbGF0Zm9ybSwg
Q3VzdG9tSGVhZGVyLCBBZGRpdGlvbmFsRW5jb2Rlcj1TdHJlYW1Db25uZWN0aW9uRW5jb2Rlciwg
VG9DRk1ldGhvZD1yZXN1bHQtPmNyZWF0ZUNGVVJMKCldIENGVVJMUmVmIHdyYXBwZWQgYnkgV2Vi
S2l0OjpDb3JlSVBDVVJMIHsKLX0KLQogI2VuZGlmCiAKICNpZiBVU0UoQ0cpCmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL0lQQy9JUENTZXJpYWxpemF0aW9uLm1tIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9JUEMvSVBDU2VyaWFsaXphdGlvbi5tbQppbmRleCA4Y2Y0
ZmY3ODU2YzAuLjhmMzE4ODI4NjVjYSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9JUEMvSVBDU2VyaWFsaXphdGlvbi5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL0lQQy9JUENTZXJpYWxpemF0aW9uLm1tCkBAIC04NywxNCArODcsMTIgQEAgc3RydWN0IENG
SG9sZGVyRm9yVGVzdGluZyB7CiAgICAgfQogCiAgICAgdHlwZWRlZiBzdGQ6OnZhcmlhbnQ8Ci0g
ICAgICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiwKLSAgICAgICAgUmV0YWluUHRyPENGQm9vbGVh
blJlZj4sCi0gICAgICAgIFJldGFpblB0cjxDRkRhdGFSZWY+LAotICAgICAgICBSZXRhaW5QdHI8
Q0ZEYXRlUmVmPiwKLSAgICAgICAgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4sCiAgICAgICAg
IFJldGFpblB0cjxDRlN0cmluZ1JlZj4sCiAgICAgICAgIFJldGFpblB0cjxDRlVSTFJlZj4sCi0g
ICAgICAgIFJldGFpblB0cjxDR0NvbG9yUmVmPgorICAgICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVm
PiwKKyAgICAgICAgUmV0YWluUHRyPENGQm9vbGVhblJlZj4sCisgICAgICAgIFJldGFpblB0cjxD
R0NvbG9yUmVmPiwKKyAgICAgICAgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4KICAgICA+IFZh
bHVlVHlwZTsKIAogICAgIFZhbHVlVHlwZSB2YWx1ZTsKQEAgLTQ1Niw3ICs0NTQsNyBAQCBURVNU
KElQQ1NlcmlhbGl6YXRpb24sIEJhc2ljKQogICAgIGF1dG8gY2ZEYXRhID0gYWRvcHRDRihDRkRh
dGFDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgKGNvbnN0IFVJbnQ4ICopIkRhdGEgdGVzdCIs
IHN0cmxlbigiRGF0YSB0ZXN0IikpKTsKICAgICBydW5UZXN0Q0YoeyBjZkRhdGEuZ2V0KCkgfSk7
CiAKLSAgICAvLyBOU0RhdGUvQ0ZEYXRlCisgICAgLy8gTlNEYXRlCiAgICAgTlNEYXRlQ29tcG9u
ZW50cyAqZGF0ZUNvbXBvbmVudHMgPSBbW05TRGF0ZUNvbXBvbmVudHMgYWxsb2NdIGluaXRdOwog
ICAgIFtkYXRlQ29tcG9uZW50cyBzZXRZZWFyOjIwMDddOwogICAgIFtkYXRlQ29tcG9uZW50cyBz
ZXRNb250aDoxXTsKQEAgLTQ2NCw5ICs0NjIsNyBAQCBURVNUKElQQ1NlcmlhbGl6YXRpb24sIEJh
c2ljKQogICAgIFtkYXRlQ29tcG9uZW50cyBzZXRIb3VyOjEwXTsKICAgICBbZGF0ZUNvbXBvbmVu
dHMgc2V0TWludXRlOjAwXTsKICAgICBbZGF0ZUNvbXBvbmVudHMgc2V0U2Vjb25kOjBdOwotICAg
IE5TRGF0ZSAqZGF0ZSA9IFtbTlNDYWxlbmRhciBjdXJyZW50Q2FsZW5kYXJdIGRhdGVGcm9tQ29t
cG9uZW50czpkYXRlQ29tcG9uZW50c107Ci0gICAgcnVuVGVzdE5TKHsgZGF0ZSB9KTsKLSAgICBy
dW5UZXN0Q0YoeyAoX19icmlkZ2UgQ0ZEYXRlUmVmKWRhdGUgfSk7CisgICAgcnVuVGVzdE5TKHsg
W1tOU0NhbGVuZGFyIGN1cnJlbnRDYWxlbmRhcl0gZGF0ZUZyb21Db21wb25lbnRzOmRhdGVDb21w
b25lbnRzXSB9KTsKIAogICAgIC8vIENGQm9vbGVhbgogICAgIHJ1blRlc3RDRih7IGtDRkJvb2xl
YW5UcnVlIH0pOwpAQCAtNTA0LDE1ICs1MDAsNyBAQCBURVNUKElQQ1NlcmlhbGl6YXRpb24sIEJh
c2ljKQogICAgIHJ1bk51bWJlclRlc3QoW05TTnVtYmVyIG51bWJlcldpdGhVbnNpZ25lZEludGVn
ZXI6IE5TVUludGVnZXJNYXhdKTsKIAogICAgIC8vIE5TQXJyYXkKLSAgICBOU0FycmF5ICpuc0Fy
cmF5ID0gQFsgQCJBcnJheSB0ZXN0IiwgQDEsIEB7IEAiaGVsbG8iOiBAOSB9LCBAWyBAIkFub3Ro
ZXIiLCBAMywgQCJhcnJheSJdLCBbTlNVUkwgVVJMV2l0aFN0cmluZzpAImh0dHBzOi8vd2Via2l0
Lm9yZy8iXSwgW05TRGF0YSBkYXRhV2l0aEJ5dGVzOiJEYXRhIHRlc3QiIGxlbmd0aDpzdHJsZW4o
IkRhdGEgdGVzdCIpXSBdOwotICAgIHJ1blRlc3ROUyh7IG5zQXJyYXkgfSk7Ci0KLSAgICAvLyBD
RkFycmF5IHdpdGggYSBub24tdG9sbC1mcmVlIGJyaWRnZWQgQ0ZUeXBlLCBhbHNvIHJ1biBhcyBO
U0FycmF5Ci0gICAgYXV0byBjZkFycmF5ID0gYWRvcHRDRihDRkFycmF5Q3JlYXRlTXV0YWJsZShr
Q0ZBbGxvY2F0b3JEZWZhdWx0LCAxMCwgTlVMTCkpOwotICAgIENGQXJyYXlBcHBlbmRBcnJheShj
ZkFycmF5LmdldCgpLCAoX19icmlkZ2UgQ0ZBcnJheVJlZiluc0FycmF5LCBDRlJhbmdlTWFrZSgw
LCBuc0FycmF5LmNvdW50KSk7Ci0gICAgQ0ZBcnJheUFwcGVuZFZhbHVlKGNmQXJyYXkuZ2V0KCks
IGNnQ29sb3IuZ2V0KCkpOwotICAgIHJ1blRlc3RDRih7IGNmQXJyYXkuZ2V0KCkgfSk7Ci0gICAg
cnVuVGVzdE5TKHsgYnJpZGdlX2Nhc3QoY2ZBcnJheS5nZXQoKSkgfSk7CisgICAgcnVuVGVzdE5T
KHsgQFsgQCJBcnJheSB0ZXN0IiwgQDEsIEB7IEAiaGVsbG8iOiBAOSB9LCBAWyBAIkFub3RoZXIi
LCBAMywgQCJhcnJheSJdLCBbTlNVUkwgVVJMV2l0aFN0cmluZzpAImh0dHBzOi8vd2Via2l0Lm9y
Zy8iXSwgW05TRGF0YSBkYXRhV2l0aEJ5dGVzOiJEYXRhIHRlc3QiIGxlbmd0aDpzdHJsZW4oIkRh
dGEgdGVzdCIpXSBdIH0pOwogCiAgICAgLy8gTlNEaWN0aW9uYXJ5CiAgICAgcnVuVGVzdE5TKHsg
QHsgQCJEaWN0aW9uYXJ5IjogQFsgQCJhcnJheSB2YWx1ZSIsIEAxMiBdIH0gfSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>