<?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>269743</bug_id>
          
          <creation_ts>2024-02-19 13:05:56 -0800</creation_ts>
          <short_desc>REGRESSION(274680@main): Caused ~0.3% Speedometer</short_desc>
          <delta_ts>2024-02-20 09:11:21 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=269749</see_also>
          <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>264103</blocked>
    
    <blocked>265170</blocked>
    
    <blocked>265224</blocked>
    
    <blocked>268064</blocked>
    
    <blocked>269338</blocked>
    
    <blocked>269460</blocked>
    
    <blocked>269468</blocked>
    
    <blocked>269597</blocked>
    
    <blocked>269601</blocked>
    
    <blocked>269692</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>ntim</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2015225</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2024-02-19 13:05:56 -0800</bug_when>
    <thetext>https://commits.webkit.org/274680@main introduced a regression:
Caused ~0.3% Speedometer

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>2015236</commentid>
    <comment_count>1</comment_count>
      <attachid>469970</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2024-02-19 13:06:29 -0800</bug_when>
    <thetext>Created attachment 469970
REVERT of 274680@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>2015239</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2024-02-19 13:13:00 -0800</bug_when>
    <thetext>Committed 274996@main (a5e570d96fc1): &lt;https://commits.webkit.org/274996@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 469970.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2015240</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2024-02-19 13:14:42 -0800</bug_when>
    <thetext>&lt;rdar://problem/123262218&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>469970</attachid>
            <date>2024-02-19 13:06:29 -0800</date>
            <delta_ts>2024-02-19 13:13:00 -0800</delta_ts>
            <desc>REVERT of 274680@main</desc>
            <filename>bug-269743-20240219210628.patch</filename>
            <type>text/plain</type>
            <size>501449</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">RnJvbSA1ZDU5MmRiOWI2ZTliZDNlMmU1ZTQ5YjIxZjlmZTkyMTdhMTU0MmQ5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDb21taXQgUXVldWUgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgpEYXRlOiBNb24sIDE5IEZlYiAyMDI0IDIxOjA2OjI1ICswMDAwClN1YmplY3Q6IFtQQVRDSF0g
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIDI3NDY4MEBtYWluLCAyNzQ3MzRAbWFpbiwgMjc0ODE3QG1h
aW4sCiAyNzQ4NDZAbWFpbiwgMjc0ODkzQG1haW4sIDI3NDkxM0BtYWluLCAyNzQ5MTZAbWFpbiwg
Mjc0OTU3QG1haW4sIDI3NDk2MUBtYWluCiBhbmQgMjc0OTY0QG1haW4uIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjk3NDMKCkNhdXNlZCB+MC4zJSBTcGVlZG9tZXRl
cgoKUmV2ZXJ0ZWQgY2hhbmdlc2V0czoKCiJbdmlldy10cmFuc2l0aW9uc10gSW50ZWdyYXRlIHBz
ZXVkby1lbGVtZW50cyB3aXRoIGFuaW1hdGlvbiBjb2RlIgpodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjY4MDY0Cmh0dHBzOi8vY29tbWl0cy53ZWJraXQub3JnLzI3NDY4
MEBtYWluCgoiW3ZpZXctdHJhbnNpdGlvbnNdIEFsbG93IGFuaW1hdGlvbnMgdG8gcnVuIG1vcmUg
dGhhbiBvbmNlIgpodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY5NDYw
Cmh0dHBzOi8vY29tbWl0cy53ZWJraXQub3JnLzI3NDczNEBtYWluCgoiW3ZpZXctdHJhbnNpdGlv
bnNdIEltcGxlbWVudCAidXBkYXRlIHBzZXVkby1lbGVtZW50IHN0eWxlcyIgYWxnb3JpdGhtLiIK
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2NTIyNApodHRwczovL2Nv
bW1pdHMud2Via2l0Lm9yZy8yNzQ4MTdAbWFpbgoKImdldENvbXB1dGVkU3R5bGUoKSBzaG91bGQg
d29yayB3aXRoIGZ1bmN0aW9uYWwgcHNldWRvLWVsZW1lbnRzIGxpa2UgOjpoaWdobGlnaHQoKSIK
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2NDEwMwpodHRwczovL2Nv
bW1pdHMud2Via2l0Lm9yZy8yNzQ4NDZAbWFpbgoKIk1vdmUgcGFyc2VQc2V1ZG9FbGVtZW50KCkg
dG8gQ1NTU2VsZWN0b3JQYXJzZXIiCmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yNjk1OTcKaHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvMjc0ODkzQG1haW4KCiJEZXZp
cnR1YWxpemUgRXZlbnQ6OmV2ZW50SW50ZXJmYWNlIgpodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjY5MzM4Cmh0dHBzOi8vY29tbWl0cy53ZWJraXQub3JnLzI3NDkxM0Bt
YWluCgoiU3luY2hyb25pemUgY3NzL2Nzc29tICYgY3NzL2Nzcy1oaWdobGlnaHQtYXBpIFdQVCIK
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2OTYwMQpodHRwczovL2Nv
bW1pdHMud2Via2l0Lm9yZy8yNzQ5MTZAbWFpbgoKIlt2aWV3LXRyYW5zaXRpb25zXSBJbXBsZW1l
bnQgImNhcHR1cmUgdGhlIGltYWdlIiBhbGdvcml0aG0uIgpodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjY1MTcwCmh0dHBzOi8vY29tbWl0cy53ZWJraXQub3JnLzI3NDk1
N0BtYWluCgoiW3ZpZXctdHJhbnNpdGlvbnNdIFN1cHBvcnQgc2NyaXB0LW9yaWdpbmF0ZWQgYW5p
bWF0aW9ucyIKaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2OTQ2OApo
dHRwczovL2NvbW1pdHMud2Via2l0Lm9yZy8yNzQ5NjFAbWFpbgoKIjo6dmlldy10cmFuc2l0aW9u
LWdyb3VwIGR5bmFtaWMgc3R5bGVzIGRvZXNuJ3QgY29tcHV0ZSB0aGUgdHJhbnNmb3JtLiIKaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2OTY5MgpodHRwczovL2NvbW1p
dHMud2Via2l0Lm9yZy8yNzQ5NjRAbWFpbgotLS0KIC4uLi9XZWJHUFUvR1BVVW5jYXB0dXJlZEVy
cm9yRXZlbnQuY3BwICAgICAgICB8ICAgMiArLQogLi4uL1dlYktpdFBsYXliYWNrVGFyZ2V0QXZh
aWxhYmlsaXR5RXZlbnQuY3BwIHwgICA0ICstCiAuLi4vTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eUNhbmNlbEV2ZW50LmNwcCAgfCAgIDIgKy0KIC4uLi9BcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2Vk
RXZlbnQuY3BwICAgICAgICB8ICAgMiArLQogLi4uL0FwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRF
dmVudC5jcHAgICAgICAgIHwgICAyICstCiAuLi4vQXBwbGVQYXlQYXltZW50TWV0aG9kU2VsZWN0
ZWRFdmVudC5jcHAgICAgfCAgIDIgKy0KIC4uLi9BcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVj
dGVkRXZlbnQuY3BwICB8ICAgMiArLQogLi4uL0FwcGxlUGF5U2hpcHBpbmdNZXRob2RTZWxlY3Rl
ZEV2ZW50LmNwcCAgIHwgICAyICstCiAuLi4vQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQu
Y3BwICAgICAgICAgfCAgIDIgKy0KIC4uLi9jb29raWUtc3RvcmUvQ29va2llQ2hhbmdlRXZlbnQu
Y3BwICAgICAgICB8ICAgMiArLQogLi4uL0V4dGVuZGFibGVDb29raWVDaGFuZ2VFdmVudC5jcHAg
ICAgICAgICAgIHwgICAyICstCiAuLi4vZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlNZXNzYWdlRXZl
bnQuY3BwICAgfCAgIDIgKy0KIC4uLi9sZWdhY3kvV2ViS2l0TWVkaWFLZXlNZXNzYWdlRXZlbnQu
Y3BwICAgICB8ICAgNCArLQogLi4uL2xlZ2FjeS9XZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50LmNw
cCAgICAgIHwgICA0ICstCiAuLi4vV2ViQ29yZS9Nb2R1bGVzL2dhbWVwYWQvR2FtZXBhZEV2ZW50
LmNwcCAgfCAgIDQgKy0KIC4uLi9pbmRleGVkZGIvSURCUmVxdWVzdENvbXBsZXRpb25FdmVudC5j
cHAgICB8ICAgMiArLQogLi4uL2luZGV4ZWRkYi9JREJWZXJzaW9uQ2hhbmdlRXZlbnQuY3BwICAg
ICAgIHwgICA0ICstCiAuLi4vTW9kdWxlcy9tZWRpYXJlY29yZGVyL0Jsb2JFdmVudC5jcHAgICAg
ICAgfCAgIDIgKy0KIC4uLi9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJFcnJvckV2ZW50LmNw
cCB8ICAgNCArLQogLi4uL21lZGlhc291cmNlL0J1ZmZlcmVkQ2hhbmdlRXZlbnQuY3BwICAgICAg
IHwgICA0ICstCiAuLi4vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja0V2ZW50LmNwcCAgICAg
fCAgIDQgKy0KIC4uLi9tZWRpYXN0cmVhbS9PdmVyY29uc3RyYWluZWRFcnJvckV2ZW50LmggICB8
ICAgNCArLQogLi4uL21lZGlhc3RyZWFtL1JUQ0RUTUZUb25lQ2hhbmdlRXZlbnQuY3BwICAgIHwg
ICA0ICstCiAuLi4vbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWxFdmVudC5jcHAgICAgICAgfCAg
IDQgKy0KIC4uLi9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0Vycm9yRXZlbnQuY3BwICAgICB8ICAg
MiArLQogLi4uL1JUQ1BlZXJDb25uZWN0aW9uSWNlRXJyb3JFdmVudC5jcHAgICAgICAgIHwgICAy
ICstCiAuLi4vbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25JY2VFdmVudC5jcHAgfCAgIDIg
Ky0KIC4uLi9SVENSdHBTRnJhbWVUcmFuc2Zvcm1FcnJvckV2ZW50LmNwcCAgICAgICB8ICAgMiAr
LQogLi4uL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDVHJhY2tFdmVudC5jcHAgICAgIHwgICA0ICst
CiAuLi4vTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENUcmFuc2Zvcm1FdmVudC5jcHAgfCAgIDIgKy0K
IC4uLi9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkV2ZW50LmNwcCAgICAgICB8ICAgMiArLQog
Li4uL01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcCAgICAgICAgICAgICAgIHwgICA0ICstCiAu
Li4vUGF5bWVudE1ldGhvZENoYW5nZUV2ZW50LmNwcCAgICAgICAgICAgICAgfCAgIDQgKy0KIC4u
Li9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50LmNwcCAgICAgICAgICAgICB8ICAgOCArLQogLi4u
L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuaCAgICAgICAgICAgICAgIHwgICA2ICstCiAuLi4v
UGljdHVyZUluUGljdHVyZUV2ZW50LmNwcCAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaEV2ZW50LmNwcCB8ICAgMiArLQogLi4uL3B1
c2gtYXBpL1B1c2hOb3RpZmljYXRpb25FdmVudC5jcHAgICAgICAgIHwgICAyICstCiAuLi4vcHVz
aC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmNwcCAgfCAgIDIgKy0KIC4uLi9zcGVl
Y2gvU3BlZWNoUmVjb2duaXRpb25FcnJvckV2ZW50LmNwcCAgICB8ICAgNCArLQogLi4uL01vZHVs
ZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXZlbnQuY3BwIHwgICA0ICstCiAuLi4vc3BlZWNo
L1NwZWVjaFN5bnRoZXNpc0Vycm9yRXZlbnQuY3BwICAgICAgfCAgIDIgKy0KIC4uLi9Nb2R1bGVz
L3NwZWVjaC9TcGVlY2hTeW50aGVzaXNFdmVudC5jcHAgICB8ICAgNiArLQogLi4uL01vZHVsZXMv
c3BlZWNoL1NwZWVjaFN5bnRoZXNpc0V2ZW50LmggICAgIHwgICAyICstCiAuLi4vTW9kdWxlcy93
ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5jcHAgfCAgIDQgKy0KIC4uLi93ZWJhdWRpby9P
ZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnQuY3BwICB8ICAgNCArLQogLi4uL1dlYkNvcmUvTW9k
dWxlcy93ZWJzb2NrZXRzL0Nsb3NlRXZlbnQuaCAgIHwgICA0ICstCiAuLi4vTW9kdWxlcy93ZWJ4
ci9YUklucHV0U291cmNlRXZlbnQuY3BwICAgICAgfCAgIDIgKy0KIC4uLi93ZWJ4ci9YUklucHV0
U291cmNlc0NoYW5nZUV2ZW50LmNwcCAgICAgICB8ICAgMiArLQogLi4uL01vZHVsZXMvd2VieHIv
WFJSZWZlcmVuY2VTcGFjZUV2ZW50LmNwcCAgIHwgICAyICstCiAuLi4vV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1hSU2Vzc2lvbkV2ZW50LmNwcCAgfCAgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0ICAgICAgICAgICAgICAgICAgICB8ICAgMSAtCiAuLi4vV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogfCAgIDYgLQogLi4uL1dlYkNvcmUvYW5pbWF0aW9uL0Fj
Y2VsZXJhdGVkVGltZWxpbmUuY3BwIHwgICA4ICstCiAuLi4vV2ViQ29yZS9hbmltYXRpb24vQWNj
ZWxlcmF0ZWRUaW1lbGluZS5oICAgfCAgIDIgKy0KIC4uLi9XZWJDb3JlL2FuaW1hdGlvbi9Bbmlt
YXRpb25FdmVudEJhc2UuY3BwICB8ICAgOCArLQogU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0Fu
aW1hdGlvbkV2ZW50QmFzZS5oIHwgICA0ICstCiAuLi4vYW5pbWF0aW9uL0FuaW1hdGlvblBsYXli
YWNrRXZlbnQuY3BwICAgICAgfCAgIDQgKy0KIFNvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9DU1NB
bmltYXRpb24uY3BwICAgICB8ICAgNCArLQogU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0NTU0Fu
aW1hdGlvbi5oICAgICAgIHwgICAyICstCiAuLi4vV2ViQ29yZS9hbmltYXRpb24vQ1NTQW5pbWF0
aW9uRXZlbnQuY3BwICAgfCAgIDYgKy0KIFNvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9DU1NBbmlt
YXRpb25FdmVudC5oICB8ICAgNiArLQogU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0NTU1RyYW5z
aXRpb24uY3BwICAgIHwgICA0ICstCiBTb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQ1NTVHJhbnNp
dGlvbi5oICAgICAgfCAgIDIgKy0KIC4uLi9XZWJDb3JlL2FuaW1hdGlvbi9DU1NUcmFuc2l0aW9u
RXZlbnQuY3BwICB8ICAgNiArLQogU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0NTU1RyYW5zaXRp
b25FdmVudC5oIHwgICA2ICstCiAuLi4vYW5pbWF0aW9uL0VsZW1lbnRBbmltYXRpb25SYXJlRGF0
YS5jcHAgICAgfCAgIDQgKy0KIC4uLi9hbmltYXRpb24vRWxlbWVudEFuaW1hdGlvblJhcmVEYXRh
LmggICAgICB8ICAgNyArLQogU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0
LmNwcCAgIHwgIDUzICsrKystLS0tCiBTb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVF
ZmZlY3QuaCAgICAgfCAgIDggKy0KIC4uLi9hbmltYXRpb24vU3R5bGVPcmlnaW5hdGVkQW5pbWF0
aW9uLmNwcCAgICB8ICAgOCArLQogLi4uL2FuaW1hdGlvbi9TdHlsZU9yaWdpbmF0ZWRBbmltYXRp
b24uaCAgICAgIHwgICA0ICstCiAuLi4vU3R5bGVPcmlnaW5hdGVkQW5pbWF0aW9uRXZlbnQuY3Bw
ICAgICAgICAgfCAgMjAgKy0tCiAuLi4vYW5pbWF0aW9uL1N0eWxlT3JpZ2luYXRlZEFuaW1hdGlv
bkV2ZW50LmggfCAgMTAgKy0KIFNvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24u
Y3BwICAgICB8ICAgMiArLQogLi4uL2FuaW1hdGlvbi9XZWJBbmltYXRpb25VdGlsaXRpZXMuY3Bw
ICAgICAgIHwgIDY0ICsrKystLS0tLS0KIC4uLi9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRp
b25VdGlsaXRpZXMuaCB8ICAgNCArLQogLi4uL2JpbmRpbmdzL3NjcmlwdHMvSW5GaWxlc0NvbXBp
bGVyLnBtICAgICAgIHwgIDMwICstLS0tCiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3Iu
Y3BwICAgICAgICAgICAgfCAgMzMgKysrKysKIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rv
ci5oICAgICAgICAgICAgICB8ICAgMiArCiBTb3VyY2UvV2ViQ29yZS9jc3MvQ29tcHV0ZWRTdHls
ZUV4dHJhY3Rvci5jcHAgfCAgMTEgKy0KIFNvdXJjZS9XZWJDb3JlL2Nzcy9Db21wdXRlZFN0eWxl
RXh0cmFjdG9yLmggICB8ICAgMiAtCiBTb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3RF
dmVudC5jcHAgICAgfCAgIDQgKy0KIC4uLi9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQ
YXJzZXIuY3BwICB8ICA2OSAtLS0tLS0tLS0tLQogU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9D
U1NTZWxlY3RvclBhcnNlci5oIHwgICA3IC0tCiAuLi4vV2ViQ29yZS9kb20vQmVmb3JlVGV4dElu
c2VydGVkRXZlbnQuY3BwICAgfCAgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL2RvbS9CZWZvcmVVbmxv
YWRFdmVudC5jcHAgICAgICB8ICAgMyArLQogU291cmNlL1dlYkNvcmUvZG9tL0NsaXBib2FyZEV2
ZW50LmNwcCAgICAgICAgIHwgICA0ICstCiBTb3VyY2UvV2ViQ29yZS9kb20vQ29tcG9zaXRpb25F
dmVudC5jcHAgICAgICAgfCAgIDkgKy0KIC4uLi9Db250ZW50VmlzaWJpbGl0eUF1dG9TdGF0ZUNo
YW5nZUV2ZW50LmNwcCB8ICAgMiArLQogU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmNw
cCAgICAgICAgICAgIHwgICA0ICstCiBTb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZl
bnQuY3BwICAgICAgfCAgMTkgKy0tCiBTb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRp
b25FdmVudC5jcHAgfCAgMTkgKy0tCiBTb3VyY2UvV2ViQ29yZS9kb20vRHJhZ0V2ZW50LmNwcCAg
ICAgICAgICAgICAgfCAgIDkgKy0KIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCAgICAg
ICAgICAgICAgICB8IDExNCArKysrKysrKy0tLS0tLS0tLQogU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuaCAgICAgICAgICAgICAgICAgIHwgIDU5ICsrKysrLS0tLQogU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnRSYXJlRGF0YS5oICAgICAgICAgIHwgIDE1ICsrLQogU291cmNlL1dlYkNvcmUv
ZG9tL0Vycm9yRXZlbnQuY3BwICAgICAgICAgICAgIHwgICA0ICstCiBTb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnQuY3BwICAgICAgICAgICAgICAgICAgfCAgMjcgKystLQogU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50LmggICAgICAgICAgICAgICAgICAgIHwgIDE2ICstLQogU291cmNlL1dlYkNvcmUv
ZG9tL0ZvY3VzRXZlbnQuY3BwICAgICAgICAgICAgIHwgICA5ICstCiBTb3VyY2UvV2ViQ29yZS9k
b20vRm9jdXNFdmVudC5oICAgICAgICAgICAgICAgfCAgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL2Rv
bS9Gb3JtRGF0YUV2ZW50LmNwcCAgICAgICAgICB8ICAgNCArLQogU291cmNlL1dlYkNvcmUvZG9t
L0hhc2hDaGFuZ2VFdmVudC5oICAgICAgICAgIHwgICA1ICstCiBTb3VyY2UvV2ViQ29yZS9kb20v
SW5wdXRFdmVudC5jcHAgICAgICAgICAgICAgfCAgIDQgKy0KIFNvdXJjZS9XZWJDb3JlL2RvbS9J
bnZva2VFdmVudC5jcHAgICAgICAgICAgICB8ICAgNyArLQogU291cmNlL1dlYkNvcmUvZG9tL0lu
dm9rZUV2ZW50LmggICAgICAgICAgICAgIHwgICAyICstCiBTb3VyY2UvV2ViQ29yZS9kb20vS2V5
Ym9hcmRFdmVudC5jcHAgICAgICAgICAgfCAgIDkgKy0KIFNvdXJjZS9XZWJDb3JlL2RvbS9NZXNz
YWdlRXZlbnQuY3BwICAgICAgICAgICB8ICAgOSArLQogU291cmNlL1dlYkNvcmUvZG9tL01vdXNl
RXZlbnQuY3BwICAgICAgICAgICAgIHwgIDI5ICsrLS0tCiBTb3VyY2UvV2ViQ29yZS9kb20vTW91
c2VFdmVudC5oICAgICAgICAgICAgICAgfCAgMTAgKy0KIFNvdXJjZS9XZWJDb3JlL2RvbS9Nb3Vz
ZVJlbGF0ZWRFdmVudC5jcHAgICAgICB8ICA0MyArLS0tLS0tCiBTb3VyY2UvV2ViQ29yZS9kb20v
TW91c2VSZWxhdGVkRXZlbnQuaCAgICAgICAgfCAgIDggKy0KIFNvdXJjZS9XZWJDb3JlL2RvbS9N
dXRhdGlvbkV2ZW50LmNwcCAgICAgICAgICB8ICAgNyArLQogU291cmNlL1dlYkNvcmUvZG9tL011
dGF0aW9uRXZlbnQuaCAgICAgICAgICAgIHwgICAyICstCiBTb3VyY2UvV2ViQ29yZS9kb20vT3Zl
cmZsb3dFdmVudC5jcHAgICAgICAgICAgfCAgIDcgKy0KIFNvdXJjZS9XZWJDb3JlL2RvbS9QYWdl
VHJhbnNpdGlvbkV2ZW50LmNwcCAgICB8ICAgNCArLQogU291cmNlL1dlYkNvcmUvZG9tL1BvaW50
ZXJFdmVudC5jcHAgICAgICAgICAgIHwgIDExICstCiBTb3VyY2UvV2ViQ29yZS9kb20vUG9wU3Rh
dGVFdmVudC5jcHAgICAgICAgICAgfCAgIDkgKy0KIFNvdXJjZS9XZWJDb3JlL2RvbS9Qb3BTdGF0
ZUV2ZW50LmggICAgICAgICAgICB8ICAgMiArLQogU291cmNlL1dlYkNvcmUvZG9tL1Byb2dyZXNz
RXZlbnQuY3BwICAgICAgICAgIHwgICA4ICstCiBTb3VyY2UvV2ViQ29yZS9kb20vUHJvZ3Jlc3NF
dmVudC5oICAgICAgICAgICAgfCAgIDggKy0KIFNvdXJjZS9XZWJDb3JlL2RvbS9Qcm9taXNlUmVq
ZWN0aW9uRXZlbnQuY3BwICB8ICAgMiArLQogU291cmNlL1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1l
bnQuY3BwICAgICAgICAgIHwgICAyICstCiBTb3VyY2UvV2ViQ29yZS9kb20vU2NvcGVkRXZlbnRR
dWV1ZS5jcHAgICAgICAgfCAgIDIgKy0KIC4uLi9kb20vU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25F
dmVudC5oICAgICAgICB8ICAgMyArLQogU291cmNlL1dlYkNvcmUvZG9tL1NpbXVsYXRlZENsaWNr
LmNwcCAgICAgICAgIHwgICAyICstCiBTb3VyY2UvV2ViQ29yZS9kb20vVGV4dEV2ZW50LmNwcCAg
ICAgICAgICAgICAgfCAgIDggKy0KIFNvdXJjZS9XZWJDb3JlL2RvbS9Ub2dnbGVFdmVudC5jcHAg
ICAgICAgICAgICB8ICAgOSArLQogU291cmNlL1dlYkNvcmUvZG9tL1RvZ2dsZUV2ZW50LmggICAg
ICAgICAgICAgIHwgICAyICstCiBTb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5jcHAgICAgICAg
ICAgICAgICAgfCAgMTcgKystCiBTb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5oICAgICAgICAg
ICAgICAgICAgfCAgMTQgKy0tCiBTb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudFdpdGhLZXlTdGF0
ZS5oICAgICAgfCAgMTcgKystCiBTb3VyY2UvV2ViQ29yZS9kb20vVmlld1RyYW5zaXRpb24uY3Bw
ICAgICAgICAgfCAxMTUgKy0tLS0tLS0tLS0tLS0tLS0tCiBTb3VyY2UvV2ViQ29yZS9kb20vVmll
d1RyYW5zaXRpb24uaCAgICAgICAgICAgfCAgMzUgKystLS0tCiBTb3VyY2UvV2ViQ29yZS9kb20v
V2hlZWxFdmVudC5jcHAgICAgICAgICAgICAgfCAgIDkgKy0KIFNvdXJjZS9XZWJDb3JlL2RvbS9p
b3MvTW91c2VFdmVudElPUy5jcHAgICAgICB8ICAgMiArLQogU291cmNlL1dlYkNvcmUvZG9tL2lv
cy9Qb2ludGVyRXZlbnRJT1MuY3BwICAgIHwgICAyICstCiBTb3VyY2UvV2ViQ29yZS9kb20vbWFr
ZV9ldmVudF9mYWN0b3J5LnBsICAgICAgfCAgIDggKy0KIFNvdXJjZS9XZWJDb3JlL2RvbS93cGUv
UG9pbnRlckV2ZW50V1BFLmNwcCAgICB8ICAgMiArLQogU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YUVuY3J5cHRlZEV2ZW50LmNwcCAgIHwgICAyICstCiBTb3VyY2UvV2ViQ29yZS9odG1sL1N1Ym1p
dEV2ZW50LmNwcCAgICAgICAgICAgfCAgIDQgKy0KIC4uLi9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMQ29udGV4dEV2ZW50LmNwcCB8ICAgNCArLQogU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9U
cmFja0V2ZW50LmNwcCAgICAgIHwgICA0ICstCiAuLi4vaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JDU1NBZ2VudC5jcHAgICAgfCAgIDQgKy0KIC4uLi9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
ckRPTUFnZW50LmNwcCAgICB8ICAxOSArKy0KIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYWxET01X
aW5kb3cuY3BwICAgICAgICB8ICAxNiArLS0KIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdGVF
dmVudC5jcHAgICAgICAgICB8ICAgMiArLQogLi4uL05hdmlnYXRpb25DdXJyZW50RW50cnlDaGFu
Z2VFdmVudC5jcHAgICAgIHwgICAyICstCiAuLi4vcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2Jq
ZWN0LmNwcCAgICAgICAgfCAgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJF
bGVtZW50LmNwcCAgICB8ICAxNCAtLS0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJF
bGVtZW50LmggICAgICB8ICAgMiAtCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwICAgICAgfCAgIDYgKy0KIC4uLi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJh
Y2tpbmcuY3BwICB8ICAgNiAtCiAuLi4vcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5j
cHAgICAgICAgfCAgMzUgKy0tLS0tCiAuLi4vV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJD
b21wb3NpdG9yLmggfCAgIDIgLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oICAgICAgIHwgICAzIC0KIC4uLi9yZW5kZXJpbmcvUmVuZGVyVmlld1RyYW5zaXRpb25DYXB0
dXJlLmNwcCB8ICA3MyAtLS0tLS0tLS0tLQogLi4uL3JlbmRlcmluZy9SZW5kZXJWaWV3VHJhbnNp
dGlvbkNhcHR1cmUuaCAgIHwgIDQ5IC0tLS0tLS0tCiAuLi4vcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVVcGRhdGVyLmNwcCAgfCAgIDIgKy0KIC4uLi9SZW5kZXJUcmVlVXBkYXRlckdlbmVy
YXRlZENvbnRlbnQuY3BwICAgICB8ICAgMiArLQogLi4uL1JlbmRlclRyZWVVcGRhdGVyVmlld1Ry
YW5zaXRpb24uY3BwICAgICAgIHwgIDM2ICsrLS0tLQogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9T
dG9yYWdlRXZlbnQuY3BwICAgICAgIHwgIDExICstCiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVt
ZW50UnVsZUNvbGxlY3Rvci5jcHAgfCAgMjIgKystLQogU291cmNlL1dlYkNvcmUvc3R5bGUvRWxl
bWVudFJ1bGVDb2xsZWN0b3IuaCAgIHwgICA1ICstCiAuLi4vc3R5bGUvTWF0Y2hlZERlY2xhcmF0
aW9uc0NhY2hlLmNwcCAgICAgICAgfCAgIDUgLQogLi4uL1dlYkNvcmUvc3R5bGUvUHNldWRvRWxl
bWVudElkZW50aWZpZXIuaCAgIHwgIDM2IC0tLS0tLQogU291cmNlL1dlYkNvcmUvc3R5bGUvUHNl
dWRvRWxlbWVudFJlcXVlc3QuaCAgIHwgICAyIC0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxl
UmVzb2x2ZXIuY3BwICAgICAgICB8ICA0MiArKy0tLS0tCiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZVJlc29sdmVyLmggICAgICAgICAgfCAgIDQgKy0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0
eWxlU2NvcGUuY3BwICAgICAgICAgICB8ICAxMiAtLQogU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5
bGVTY29wZS5oICAgICAgICAgICAgIHwgICA1IC0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxl
U2NvcGVSdWxlU2V0cy5jcHAgICB8ICAgNSAtCiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNj
b3BlUnVsZVNldHMuaCAgICAgfCAgIDcgLS0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2hh
cmluZ1Jlc29sdmVyLmNwcCB8ICAgMiArLQogU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVl
UmVzb2x2ZXIuY3BwICAgIHwgMTA4ICsrKysrKystLS0tLS0tLS0KIFNvdXJjZS9XZWJDb3JlL3N0
eWxlL1N0eWxlVHJlZVJlc29sdmVyLmggICAgICB8ICAgNyArLQogU291cmNlL1dlYkNvcmUvc3R5
bGUvU3R5bGVhYmxlLmNwcCAgICAgICAgICAgIHwgIDcxICsrLS0tLS0tLS0tCiBTb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZWFibGUuaCAgICAgICAgICAgICAgfCAgNTIgKysrKy0tLS0KIC4uLi93
b3JrZXJzL3NlcnZpY2UvRXh0ZW5kYWJsZUV2ZW50LmNwcCAgICAgICB8ICAgOCArLQogLi4uL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL0V4dGVuZGFibGVFdmVudC5oIHwgICA2ICstCiAuLi4vc2Vy
dmljZS9FeHRlbmRhYmxlTWVzc2FnZUV2ZW50LmNwcCAgICAgICAgfCAgIDQgKy0KIFNvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9GZXRjaEV2ZW50LmNwcCB8ICAgMiArLQogLi4uL2JhY2tn
cm91bmQtZmV0Y2gvQmFja2dyb3VuZEZldGNoRXZlbnQuY3BwIHwgICA2ICstCiAuLi4vYmFja2dy
b3VuZC1mZXRjaC9CYWNrZ3JvdW5kRmV0Y2hFdmVudC5oICAgfCAgIDIgKy0KIC4uLi9CYWNrZ3Jv
dW5kRmV0Y2hVcGRhdGVVSUV2ZW50LmNwcCAgICAgICAgICB8ICAgMiArLQogLi4uL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oIHwgICAyICstCiBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9ET00vRE9NRXZlbnRzLm1tICAgICAgfCAgMTggKy0tCiBMYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zICAgICAgICAgICAgICAgICAgfCAgMjMgKy0tLQogLi4uL3czYy9yZXNv
dXJjZXMvcmVzb3VyY2UtZmlsZXMuanNvbiAgICAgICAgIHwgIDE3IC0tLQogLi4uL3BzZXVkby1l
bGVtZW50cy0wMDgtZXhwZWN0ZWQudHh0ICAgICAgICAgIHwgICAyICstCiAuLi4vcHNldWRvLWVs
ZW1lbnRzLTAxMy1leHBlY3RlZC50eHQgICAgICAgICAgfCAgIDYgKy0KIC4uLi9jc3MtaGlnaGxp
Z2h0LWFwaS9oaWdobGlnaHQtcHJpb3JpdHkuaHRtbCB8ICAgMSArCiAuLi4vaGlnaGxpZ2h0LXBz
ZXVkby1jb21wdXRlZC1leHBlY3RlZC50eHQgICAgfCAgMjMgKystLQogLi4uL2hpZ2hsaWdodC1w
c2V1ZG8tY29tcHV0ZWQuaHRtbCAgICAgICAgICAgIHwgIDExICstCiAuLi5naHQtcHNldWRvLWZy
b20tZm9udC1jb21wdXRlZC1leHBlY3RlZC50eHQgfCAgIDcgLS0KIC4uLi9oaWdobGlnaHQtcHNl
dWRvLWZyb20tZm9udC1jb21wdXRlZC5odG1sICB8ICA1OSAtLS0tLS0tLS0KIC4uLi9oaXN0b3Jp
Y2FsLndpbmRvdy1leHBlY3RlZC50eHQgICAgICAgICAgICB8ICAgMyAtCiAuLi4vY3NzLWhpZ2hs
aWdodC1hcGkvaGlzdG9yaWNhbC53aW5kb3cuaHRtbCAgfCAgIDEgLQogLi4uL2Nzcy1oaWdobGln
aHQtYXBpL2hpc3RvcmljYWwud2luZG93LmpzICAgIHwgICA3IC0tCiAuLi5obGlnaHQtY29udGFp
bmVyLW1ldHJpY3MtMDAxLWV4cGVjdGVkLmh0bWwgfCAgMjAgLS0tCiAuLi5tLWhpZ2hsaWdodC1j
b250YWluZXItbWV0cmljcy0wMDEtcmVmLmh0bWwgfCAgMjAgLS0tCiAuLi51c3RvbS1oaWdobGln
aHQtY29udGFpbmVyLW1ldHJpY3MtMDAxLmh0bWwgfCAgMzEgLS0tLS0KIC4uLmhsaWdodC1jb250
YWluZXItbWV0cmljcy0wMDItZXhwZWN0ZWQuaHRtbCB8ICAyNSAtLS0tCiAuLi5tLWhpZ2hsaWdo
dC1jb250YWluZXItbWV0cmljcy0wMDItcmVmLmh0bWwgfCAgMjUgLS0tLQogLi4udXN0b20taGln
aGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAwMi5odG1sIHwgIDM5IC0tLS0tLQogLi4uaGxpZ2h0
LWNvbnRhaW5lci1tZXRyaWNzLTAwMy1leHBlY3RlZC5odG1sIHwgIDE5IC0tLQogLi4ubS1oaWdo
bGlnaHQtY29udGFpbmVyLW1ldHJpY3MtMDAzLXJlZi5odG1sIHwgIDE5IC0tLQogLi4udXN0b20t
aGlnaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAwMy5odG1sIHwgIDQwIC0tLS0tLQogLi4uaGxp
Z2h0LWNvbnRhaW5lci1tZXRyaWNzLTAwNC1leHBlY3RlZC5odG1sIHwgIDI1IC0tLS0KIC4uLm0t
aGlnaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAwNC1yZWYuaHRtbCB8ICAyNSAtLS0tCiAuLi51
c3RvbS1oaWdobGlnaHQtY29udGFpbmVyLW1ldHJpY3MtMDA0Lmh0bWwgfCAgNDEgLS0tLS0tLQog
Li4uaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAwNS1leHBlY3RlZC5odG1sIHwgIDE5IC0tLQog
Li4udXN0b20taGlnaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAwNS5odG1sIHwgIDM5IC0tLS0t
LQogLi4uaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAwNi1leHBlY3RlZC5odG1sIHwgIDI1IC0t
LS0KIC4uLnVzdG9tLWhpZ2hsaWdodC1jb250YWluZXItbWV0cmljcy0wMDYuaHRtbCB8ICAzNyAt
LS0tLS0KIC4uLnluYW1pYy1jb250YWluZXItbWV0cmljcy0wMDEtZXhwZWN0ZWQuaHRtbCB8ICAx
MyAtLQogLi4uZ2h0LWR5bmFtaWMtY29udGFpbmVyLW1ldHJpY3MtMDAxLXJlZi5odG1sIHwgIDEz
IC0tCiAuLi5naGxpZ2h0LWR5bmFtaWMtY29udGFpbmVyLW1ldHJpY3MtMDAxLmh0bWwgfCAgMzIg
LS0tLS0KIC4uLnluYW1pYy1jb250YWluZXItbWV0cmljcy0wMDItZXhwZWN0ZWQuaHRtbCB8ICAy
NSAtLS0tCiAuLi5naGxpZ2h0LWR5bmFtaWMtY29udGFpbmVyLW1ldHJpY3MtMDAyLmh0bWwgfCAg
NTAgLS0tLS0tLS0KIC4uLnluYW1pYy1jb250YWluZXItbWV0cmljcy0wMDMtZXhwZWN0ZWQuaHRt
bCB8ICAxOSAtLS0KIC4uLmdobGlnaHQtZHluYW1pYy1jb250YWluZXItbWV0cmljcy0wMDMuaHRt
bCB8ICA0OCAtLS0tLS0tLQogLi4ueW5hbWljLWNvbnRhaW5lci1tZXRyaWNzLTAwNC1leHBlY3Rl
ZC5odG1sIHwgIDE5IC0tLQogLi4uZ2hsaWdodC1keW5hbWljLWNvbnRhaW5lci1tZXRyaWNzLTAw
NC5odG1sIHwgIDQ3IC0tLS0tLS0KIC4uLmdodC1keW5hbWljLWZvbnQtbWV0cmljcy0wMDEtZXhw
ZWN0ZWQuaHRtbCB8ICAyMiAtLS0tCiAuLi5vbS1oaWdobGlnaHQtZHluYW1pYy1mb250LW1ldHJp
Y3MtMDAxLmh0bWwgfCAgNDcgLS0tLS0tLQogLi4uLWR5bmFtaWMtbG9naWNhbC1tZXRyaWNzLTAw
MS1leHBlY3RlZC5odG1sIHwgIDIwIC0tLQogLi4uaGlnaGxpZ2h0LWR5bmFtaWMtbG9naWNhbC1t
ZXRyaWNzLTAwMS5odG1sIHwgIDM5IC0tLS0tLQogLi4ubS1oaWdobGlnaHQtZm9udC1tZXRyaWNz
LTAwMS1leHBlY3RlZC5odG1sIHwgIDIyIC0tLS0KIC4uLmN1c3RvbS1oaWdobGlnaHQtZm9udC1t
ZXRyaWNzLTAwMS1yZWYuaHRtbCB8ICAyMiAtLS0tCiAuLi4vY3VzdG9tLWhpZ2hsaWdodC1mb250
LW1ldHJpY3MtMDAxLmh0bWwgICAgfCAgNDIgLS0tLS0tLQogLi4ubS1oaWdobGlnaHQtZm9udC1t
ZXRyaWNzLTAwMi1leHBlY3RlZC5odG1sIHwgIDI3IC0tLS0KIC4uLmN1c3RvbS1oaWdobGlnaHQt
Zm9udC1tZXRyaWNzLTAwMi1yZWYuaHRtbCB8ICAyNyAtLS0tCiAuLi4vY3VzdG9tLWhpZ2hsaWdo
dC1mb250LW1ldHJpY3MtMDAyLmh0bWwgICAgfCAgNDUgLS0tLS0tLQogLi4ubS1oaWdobGlnaHQt
Zm9udC1tZXRyaWNzLTAwMy1leHBlY3RlZC5odG1sIHwgIDE4IC0tLQogLi4uY3VzdG9tLWhpZ2hs
aWdodC1mb250LW1ldHJpY3MtMDAzLXJlZi5odG1sIHwgIDE4IC0tLQogLi4uL2N1c3RvbS1oaWdo
bGlnaHQtZm9udC1tZXRyaWNzLTAwMy5odG1sICAgIHwgIDQyIC0tLS0tLS0KIC4uLm0taGlnaGxp
Z2h0LWZvbnQtbWV0cmljcy0wMDQtZXhwZWN0ZWQuaHRtbCB8ICAxOCAtLS0KIC4uLmN1c3RvbS1o
aWdobGlnaHQtZm9udC1tZXRyaWNzLTAwNC1yZWYuaHRtbCB8ICAxOCAtLS0KIC4uLi9jdXN0b20t
aGlnaGxpZ2h0LWZvbnQtbWV0cmljcy0wMDQuaHRtbCAgICB8ICAzOCAtLS0tLS0KIC4uLm0taGln
aGxpZ2h0LWZvbnQtbWV0cmljcy0wMDUtZXhwZWN0ZWQuaHRtbCB8ICAxOSAtLS0KIC4uLmN1c3Rv
bS1oaWdobGlnaHQtZm9udC1tZXRyaWNzLTAwNS1yZWYuaHRtbCB8ICAxOSAtLS0KIC4uLi9jdXN0
b20taGlnaGxpZ2h0LWZvbnQtbWV0cmljcy0wMDUuaHRtbCAgICB8ICA0OSAtLS0tLS0tLQogLi4u
aWdobGlnaHQtbG9naWNhbC1tZXRyaWNzLTAwMS1leHBlY3RlZC5odG1sIHwgIDE5IC0tLQogLi4u
dG9tLWhpZ2hsaWdodC1sb2dpY2FsLW1ldHJpY3MtMDAxLXJlZi5odG1sIHwgIDE5IC0tLQogLi4u
L2N1c3RvbS1oaWdobGlnaHQtbG9naWNhbC1tZXRyaWNzLTAwMS5odG1sIHwgIDMyIC0tLS0tCiAu
Li5pZ2hsaWdodC1sb2dpY2FsLW1ldHJpY3MtMDAyLWV4cGVjdGVkLmh0bWwgfCAgMjAgLS0tCiAu
Li50b20taGlnaGxpZ2h0LWxvZ2ljYWwtbWV0cmljcy0wMDItcmVmLmh0bWwgfCAgMjAgLS0tCiAu
Li4vY3VzdG9tLWhpZ2hsaWdodC1sb2dpY2FsLW1ldHJpY3MtMDAyLmh0bWwgfCAgMzMgLS0tLS0K
IC4uLmJlbG93LXNlbGVjdGlvbi10cmFuc3BhcmVuY3ktZXhwZWN0ZWQuaHRtbCB8ICAxMyAtLQog
Li4udGluZy1iZWxvdy1zZWxlY3Rpb24tdHJhbnNwYXJlbmN5LXJlZi5odG1sIHwgIDEzIC0tCiAu
Li5wYWludGluZy1iZWxvdy1zZWxlY3Rpb24tdHJhbnNwYXJlbmN5Lmh0bWwgfCAgMjIgLS0tLQog
Li4ucHJpb3JpdHktdGV4dC1kZWNvcmF0aW9uLTAwMS1leHBlY3RlZC5odG1sIHwgIDE2ICsrKwog
Li4udGluZy1wcmlvcml0eS10ZXh0LWRlY29yYXRpb24tMDAxLXJlZi5odG1sIHwgIDE2ICsrKwog
Li4ucGFpbnRpbmctcHJpb3JpdHktdGV4dC1kZWNvcmF0aW9uLTAwMS5odG1sIHwgIDM5ICsrKysr
KwogLi4uZ2h0LXBhaW50aW5nLXN0YXRpY3JhbmdlLTAwNC1leHBlY3RlZC5odG1sIHwgIDEwIC0t
CiAuLi5pZ2hsaWdodC1wYWludGluZy1zdGF0aWNyYW5nZS0wMDQtcmVmLmh0bWwgfCAgMTAgLS0K
IC4uLm9tLWhpZ2hsaWdodC1wYWludGluZy1zdGF0aWNyYW5nZS0wMDQuaHRtbCB8ICAyMCAtLS0K
IC4uLmdodC1wYWludGluZy1zdGF0aWNyYW5nZS0wMDUtZXhwZWN0ZWQuaHRtbCB8ICAgOSAtLQog
Li4ub20taGlnaGxpZ2h0LXBhaW50aW5nLXN0YXRpY3JhbmdlLTAwNS5odG1sIHwgIDI4IC0tLS0t
CiAuLi5uZy12ZXJ0aWNhbC13cml0aW5nLW1vZGUtMDAxLWV4cGVjdGVkLmh0bWwgfCAgMTUgLS0t
CiAuLi5haW50aW5nLXZlcnRpY2FsLXdyaXRpbmctbW9kZS0wMDEtcmVmLmh0bWwgfCAgMTUgLS0t
CiAuLi5odC1wYWludGluZy12ZXJ0aWNhbC13cml0aW5nLW1vZGUtMDAxLmh0bWwgfCAgMjUgLS0t
LQogLi4uL3BhaW50aW5nL3Jlc291cmNlcy9pZnJhbWUtY29udGFpbmVyLmh0bWwgIHwgIDE2IC0t
LQogLi4uL3BhaW50aW5nL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZyAgICAgICAgIHwgICAxIC0K
IC4uLi9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy93M2MtaW1wb3J0LmxvZyB8ICA2NCAtLS0t
LS0tLS0tCiAuLi4vY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3czYy1pbXBvcnQubG9nICAgICAgfCAg
IDcgLS0KIC4uLmdobGlnaHQtY3VycmVudGNvbG9yLWNvbXB1dGVkLWV4cGVjdGVkLnR4dCB8ICAg
NCArLQogLi4uZW50Y29sb3ItY29tcHV0ZWQtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0IHwgICAy
ICstCiAuLi5jdXJyZW50Y29sb3ItY29tcHV0ZWQtdmlzaXRlZC1leHBlY3RlZC50eHQgfCAgIDQg
Ky0KIC4uLi9oaWdobGlnaHQtcHNldWRvcy1jb21wdXRlZC1leHBlY3RlZC50eHQgICB8ICAgNCAr
LQogLi4udWRvcy1pbmhlcml0YW5jZS1jb21wdXRlZC0wMDEtZXhwZWN0ZWQudHh0IHwgICA0ICst
CiAuLi4tcHNldWRvcy12aXNpdGVkLWNvbXB1dGVkLTAwMS1leHBlY3RlZC50eHQgfCAgIDQgKy0K
IC4uLmJsZW5kLW1vZGUtb25seS1vbi10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dCB8ICAgMiArLQog
Li4uL3BzZXVkby1lbGVtZW50LWFuaW1hdGlvbnMtZXhwZWN0ZWQudHh0ICAgIHwgICAzIC0KIC4u
Li9wc2V1ZG8tZWxlbWVudC1hbmltYXRpb25zLmh0bWwgICAgICAgICAgICB8ICAzNiAtLS0tLS0K
IC4uLi9wc2V1ZG8tZ2V0LWNvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dCAgICB8ICAgMiArLQog
Li4uL3BzZXVkby1nZXQtY29tcHV0ZWQtc3R5bGUuaHRtbCAgICAgICAgICAgIHwgIDk0ICsrKysr
KystLS0tLS0tCiAuLi4vc3R5bGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0ICAgICAgICAgICAg
fCAgIDQgKy0KIC4uLmltYXRpb24tcHNldWRvLWluY29ycmVjdC1uYW1lLWV4cGVjdGVkLnR4dCB8
ICAgOSArLQogLi4uL2dldENvbXB1dGVkU3R5bGUtcHNldWRvLWV4cGVjdGVkLnR4dCAgICAgIHwg
IDEwICstCiAuLi50ZWRTdHlsZS1wc2V1ZG8td2l0aC1hcmd1bWVudC1leHBlY3RlZC50eHQgfCAg
MTggLS0tCiAuLi5nZXRDb21wdXRlZFN0eWxlLXBzZXVkby13aXRoLWFyZ3VtZW50Lmh0bWwgfCAg
NTYgLS0tLS0tLS0tCiAuLi4vY3NzL2Nzc29tL3czYy1pbXBvcnQubG9nICAgICAgICAgICAgICAg
ICAgfCAgIDEgLQogTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zICAg
IHwgICAzIC0KIDI4NiBmaWxlcyBjaGFuZ2VkLCA4MTkgaW5zZXJ0aW9ucygrKSwgMzQwNiBkZWxl
dGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVmlld1RyYW5zaXRpb25DYXB0dXJlLmNwcAogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3VHJhbnNpdGlvbkNhcHR1cmUuaAogZGVsZXRlIG1v
ZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1oaWdobGlnaHQtYXBpL2hpZ2hsaWdodC1wc2V1ZG8tZnJvbS1mb250LWNvbXB1dGVkLWV4
cGVjdGVkLnR4dAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL2hpZ2hsaWdodC1wc2V1ZG8t
ZnJvbS1mb250LWNvbXB1dGVkLmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9oaXN0
b3JpY2FsLndpbmRvdy1leHBlY3RlZC50eHQKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9o
aXN0b3JpY2FsLndpbmRvdy5odG1sCiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvaGlzdG9y
aWNhbC53aW5kb3cuanMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0
b20taGlnaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAwMS1leHBlY3RlZC5odG1sCiBkZWxldGUg
bW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1jb250YWluZXIt
bWV0cmljcy0wMDEtcmVmLmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGlu
Zy9jdXN0b20taGlnaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAwMS5odG1sCiBkZWxldGUgbW9k
ZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1jb250YWluZXItbWV0
cmljcy0wMDItZXhwZWN0ZWQuaHRtbAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50
aW5nL2N1c3RvbS1oaWdobGlnaHQtY29udGFpbmVyLW1ldHJpY3MtMDAyLXJlZi5odG1sCiBkZWxl
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1jb250YWlu
ZXItbWV0cmljcy0wMDIuaHRtbAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5n
L2N1c3RvbS1oaWdobGlnaHQtY29udGFpbmVyLW1ldHJpY3MtMDAzLWV4cGVjdGVkLmh0bWwKIGRl
bGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWNvbnRh
aW5lci1tZXRyaWNzLTAwMy1yZWYuaHRtbAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3Bh
aW50aW5nL2N1c3RvbS1oaWdobGlnaHQtY29udGFpbmVyLW1ldHJpY3MtMDAzLmh0bWwKIGRlbGV0
ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWNvbnRhaW5l
ci1tZXRyaWNzLTAwNC1leHBlY3RlZC5odG1sCiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkv
cGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1jb250YWluZXItbWV0cmljcy0wMDQtcmVmLmh0bWwK
IGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWNv
bnRhaW5lci1tZXRyaWNzLTAwNC5odG1sCiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFp
bnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1jb250YWluZXItbWV0cmljcy0wMDUtZXhwZWN0ZWQuaHRt
bAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQt
Y29udGFpbmVyLW1ldHJpY3MtMDA1Lmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9w
YWludGluZy9jdXN0b20taGlnaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAwNi1leHBlY3RlZC5o
dG1sCiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdo
dC1jb250YWluZXItbWV0cmljcy0wMDYuaHRtbAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBp
L3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtZHluYW1pYy1jb250YWluZXItbWV0cmljcy0wMDEt
ZXhwZWN0ZWQuaHRtbAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3Rv
bS1oaWdobGlnaHQtZHluYW1pYy1jb250YWluZXItbWV0cmljcy0wMDEtcmVmLmh0bWwKIGRlbGV0
ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWR5bmFtaWMt
Y29udGFpbmVyLW1ldHJpY3MtMDAxLmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9w
YWludGluZy9jdXN0b20taGlnaGxpZ2h0LWR5bmFtaWMtY29udGFpbmVyLW1ldHJpY3MtMDAyLWV4
cGVjdGVkLmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20t
aGlnaGxpZ2h0LWR5bmFtaWMtY29udGFpbmVyLW1ldHJpY3MtMDAyLmh0bWwKIGRlbGV0ZSBtb2Rl
IDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWR5bmFtaWMtY29udGFp
bmVyLW1ldHJpY3MtMDAzLWV4cGVjdGVkLmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFw
aS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWR5bmFtaWMtY29udGFpbmVyLW1ldHJpY3MtMDAz
Lmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxp
Z2h0LWR5bmFtaWMtY29udGFpbmVyLW1ldHJpY3MtMDA0LWV4cGVjdGVkLmh0bWwKIGRlbGV0ZSBt
b2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWR5bmFtaWMtY29u
dGFpbmVyLW1ldHJpY3MtMDA0Lmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWlu
dGluZy9jdXN0b20taGlnaGxpZ2h0LWR5bmFtaWMtZm9udC1tZXRyaWNzLTAwMS1leHBlY3RlZC5o
dG1sCiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdo
dC1keW5hbWljLWZvbnQtbWV0cmljcy0wMDEuaHRtbAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQt
YXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtZHluYW1pYy1sb2dpY2FsLW1ldHJpY3MtMDAx
LWV4cGVjdGVkLmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0
b20taGlnaGxpZ2h0LWR5bmFtaWMtbG9naWNhbC1tZXRyaWNzLTAwMS5odG1sCiBkZWxldGUgbW9k
ZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1mb250LW1ldHJpY3Mt
MDAxLWV4cGVjdGVkLmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9j
dXN0b20taGlnaGxpZ2h0LWZvbnQtbWV0cmljcy0wMDEtcmVmLmh0bWwKIGRlbGV0ZSBtb2RlIDEw
MDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
aGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWZvbnQtbWV0cmljcy0wMDEu
aHRtbAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGln
aHQtZm9udC1tZXRyaWNzLTAwMi1leHBlY3RlZC5odG1sCiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdo
dC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1mb250LW1ldHJpY3MtMDAyLXJlZi5odG1s
CiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1m
b250LW1ldHJpY3MtMDAyLmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGlu
Zy9jdXN0b20taGlnaGxpZ2h0LWZvbnQtbWV0cmljcy0wMDMtZXhwZWN0ZWQuaHRtbAogZGVsZXRl
IG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtZm9udC1tZXRy
aWNzLTAwMy1yZWYuaHRtbAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1
c3RvbS1oaWdobGlnaHQtZm9udC1tZXRyaWNzLTAwMy5odG1sCiBkZWxldGUgbW9kZSAxMDA2NDQg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hs
aWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1mb250LW1ldHJpY3MtMDA0LWV4cGVj
dGVkLmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGln
aGxpZ2h0LWZvbnQtbWV0cmljcy0wMDQtcmVmLmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0
LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWZvbnQtbWV0cmljcy0wMDQuaHRtbAogZGVs
ZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtZm9udC1t
ZXRyaWNzLTAwNS1leHBlY3RlZC5odG1sCiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFp
bnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1mb250LW1ldHJpY3MtMDA1LXJlZi5odG1sCiBkZWxldGUg
bW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1mb250LW1ldHJp
Y3MtMDA1Lmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20t
aGlnaGxpZ2h0LWxvZ2ljYWwtbWV0cmljcy0wMDEtZXhwZWN0ZWQuaHRtbAogZGVsZXRlIG1vZGUg
MTAwNjQ0IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtbG9naWNhbC1tZXRyaWNz
LTAwMS1yZWYuaHRtbAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3Rv
bS1oaWdobGlnaHQtbG9naWNhbC1tZXRyaWNzLTAwMS5odG1sCiBkZWxldGUgbW9kZSAxMDA2NDQg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hs
aWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1sb2dpY2FsLW1ldHJpY3MtMDAyLWV4
cGVjdGVkLmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20t
aGlnaGxpZ2h0LWxvZ2ljYWwtbWV0cmljcy0wMDItcmVmLmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0
NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGln
aGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWxvZ2ljYWwtbWV0cmljcy0wMDIu
aHRtbAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGln
aHQtcGFpbnRpbmctYmVsb3ctc2VsZWN0aW9uLXRyYW5zcGFyZW5jeS1leHBlY3RlZC5odG1sCiBk
ZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1wYWlu
dGluZy1iZWxvdy1zZWxlY3Rpb24tdHJhbnNwYXJlbmN5LXJlZi5odG1sCiBkZWxldGUgbW9kZSAx
MDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1wYWludGluZy1iZWxvdy1z
ZWxlY3Rpb24tdHJhbnNwYXJlbmN5Lmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9w
YWludGluZy9jdXN0b20taGlnaGxpZ2h0LXBhaW50aW5nLXByaW9yaXR5LXRleHQtZGVjb3JhdGlv
bi0wMDEtZXhwZWN0ZWQuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5n
L2N1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctcHJpb3JpdHktdGV4dC1kZWNvcmF0aW9uLTAwMS1y
ZWYuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdo
bGlnaHQtcGFpbnRpbmctcHJpb3JpdHktdGV4dC1kZWNvcmF0aW9uLTAwMS5odG1sCiBkZWxldGUg
bW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1wYWludGluZy1z
dGF0aWNyYW5nZS0wMDQtZXhwZWN0ZWQuaHRtbAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBp
L3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctc3RhdGljcmFuZ2UtMDA0LXJlZi5o
dG1sCiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdo
dC1wYWludGluZy1zdGF0aWNyYW5nZS0wMDQuaHRtbAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQt
YXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctc3RhdGljcmFuZ2UtMDA1LWV4
cGVjdGVkLmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20t
aGlnaGxpZ2h0LXBhaW50aW5nLXN0YXRpY3JhbmdlLTAwNS5odG1sCiBkZWxldGUgbW9kZSAxMDA2
NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhp
Z2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1wYWludGluZy12ZXJ0aWNhbC13
cml0aW5nLW1vZGUtMDAxLWV4cGVjdGVkLmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFw
aS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LXBhaW50aW5nLXZlcnRpY2FsLXdyaXRpbmctbW9k
ZS0wMDEtcmVmLmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0
b20taGlnaGxpZ2h0LXBhaW50aW5nLXZlcnRpY2FsLXdyaXRpbmctbW9kZS0wMDEuaHRtbAogZGVs
ZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL3Jlc291cmNlcy9pZnJhbWUtY29udGFp
bmVyLmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtdmlldy10cmFuc2l0aW9ucy9wc2V1ZG8tZWxlbWVudC1h
bmltYXRpb25zLWV4cGVjdGVkLnR4dAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12aWV3LXRyYW5zaXRpb25zL3Bz
ZXVkby1lbGVtZW50LWFuaW1hdGlvbnMuaHRtbAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tL2dldENvbXB1dGVk
U3R5bGUtcHNldWRvLXdpdGgtYXJndW1lbnQtZXhwZWN0ZWQudHh0CiBkZWxldGUgbW9kZSAxMDA2
NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20v
Z2V0Q29tcHV0ZWRTdHlsZS1wc2V1ZG8td2l0aC1hcmd1bWVudC5odG1sCgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQu
Y3BwCmluZGV4IGEwNGMwNzkzZTRlOS4uOTA2NjlmY2IzYzZkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVVbmNhcHR1cmVkRXJyb3JFdmVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQuY3Bw
CkBAIC0zMyw3ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIFdURl9NQUtFX0lTT19BTExP
Q0FURURfSU1QTChHUFVVbmNhcHR1cmVkRXJyb3JFdmVudCk7CiAKIEdQVVVuY2FwdHVyZWRFcnJv
ckV2ZW50OjpHUFVVbmNhcHR1cmVkRXJyb3JFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBH
UFVVbmNhcHR1cmVkRXJyb3JFdmVudEluaXQmJiB1bmNhcHR1cmVkRXJyb3JFdmVudEluaXQpCi0g
ICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6OkdQVVVuY2FwdHVyZWRFcnJvckV2ZW50LCB0
eXBlLCB1bmNhcHR1cmVkRXJyb3JFdmVudEluaXQsIElzVHJ1c3RlZDo6WWVzKQorICAgIDogRXZl
bnQodHlwZSwgdW5jYXB0dXJlZEVycm9yRXZlbnRJbml0LCBJc1RydXN0ZWQ6OlllcykKICAgICAs
IG1fdW5jYXB0dXJlZEVycm9yRXZlbnRJbml0KFdURk1vdmUodW5jYXB0dXJlZEVycm9yRXZlbnRJ
bml0KSkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYWlycGxheS9X
ZWJLaXRQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYWlycGxheS9XZWJLaXRQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUV2ZW50LmNw
cAppbmRleCA3ZGM3YmEwYjFkNTIuLmU2MDY1YWUzMjMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9haXJwbGF5L1dlYktpdFBsYXliYWNrVGFyZ2V0QXZhaWxhYmlsaXR5RXZl
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYWlycGxheS9XZWJLaXRQbGF5YmFj
a1RhcmdldEF2YWlsYWJpbGl0eUV2ZW50LmNwcApAQCAtNDQsMTMgKzQ0LDEzIEBAIHN0YXRpYyBj
b25zdCBBdG9tU3RyaW5nJiBzdHJpbmdGb3JQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eShib29s
IGF2YWlsYWJsZSkKIH0KIAogV2ViS2l0UGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlFdmVudDo6
V2ViS2l0UGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlFdmVudChjb25zdCBBdG9tU3RyaW5nJiBl
dmVudFR5cGUsIGJvb2wgYXZhaWxhYmxlKQotICAgIDogRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBl
OjpXZWJLaXRQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUV2ZW50LCBldmVudFR5cGUsIENhbkJ1
YmJsZTo6Tm8sIElzQ2FuY2VsYWJsZTo6Tm8pCisgICAgOiBFdmVudChldmVudFR5cGUsIENhbkJ1
YmJsZTo6Tm8sIElzQ2FuY2VsYWJsZTo6Tm8pCiAgICAgLCBtX2F2YWlsYWJpbGl0eShzdHJpbmdG
b3JQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eShhdmFpbGFibGUpKQogewogfQogCiBXZWJLaXRQ
bGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUV2ZW50OjpXZWJLaXRQbGF5YmFja1RhcmdldEF2YWls
YWJpbGl0eUV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgSW5pdCYgaW5p
dGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0ZWQpCi0gICAgOiBFdmVudChFdmVudEludGVyZmFj
ZVR5cGU6OldlYktpdFBsYXliYWNrVGFyZ2V0QXZhaWxhYmlsaXR5RXZlbnQsIGV2ZW50VHlwZSwg
aW5pdGlhbGl6ZXIsIGlzVHJ1c3RlZCkKKyAgICA6IEV2ZW50KGV2ZW50VHlwZSwgaW5pdGlhbGl6
ZXIsIGlzVHJ1c3RlZCkKICAgICAsIG1fYXZhaWxhYmlsaXR5KGluaXRpYWxpemVyLmF2YWlsYWJp
bGl0eSkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlDYW5jZWxFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwCmluZGV4IGQyMDNmZDdiYzY1OC4uYzY3NGJiMDMxNDg3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2Fu
Y2VsRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlDYW5jZWxFdmVudC5jcHAKQEAgLTM2LDcgKzM2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
V1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKEFwcGxlUGF5Q2FuY2VsRXZlbnQpOwogCiBBcHBs
ZVBheUNhbmNlbEV2ZW50OjpBcHBsZVBheUNhbmNlbEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5
cGUsIFBheW1lbnRTZXNzaW9uRXJyb3ImJiBzZXNzaW9uRXJyb3IpCi0gICAgOiBFdmVudCB7IEV2
ZW50SW50ZXJmYWNlVHlwZTo6QXBwbGVQYXlDYW5jZWxFdmVudCwgdHlwZSwgQ2FuQnViYmxlOjpO
bywgSXNDYW5jZWxhYmxlOjpObyB9CisgICAgOiBFdmVudCB7IHR5cGUsIENhbkJ1YmJsZTo6Tm8s
IElzQ2FuY2VsYWJsZTo6Tm8gfQogICAgICwgbV9zZXNzaW9uRXJyb3IgeyBXVEZNb3ZlKHNlc3Np
b25FcnJvcikgfQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuY3BwCmluZGV4
IDEzZmY0MmRkYzI0OC4uMzgxMTk3MzRjMDQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2Vk
RXZlbnQuY3BwCkBAIC0zNSw3ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIFdURl9NQUtF
X0lTT19BTExPQ0FURURfSU1QTChBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQpOwogCiBB
cHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQ6OkFwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRF
dmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBTdHJpbmcmJiBjb3Vwb25Db2RlKQotICAgIDog
RXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQs
IHR5cGUsIENhbkJ1YmJsZTo6Tm8sIElzQ2FuY2VsYWJsZTo6Tm8pCisgICAgOiBFdmVudCh0eXBl
LCBDYW5CdWJibGU6Ok5vLCBJc0NhbmNlbGFibGU6Ok5vKQogICAgICwgbV9jb3Vwb25Db2RlKFdU
Rk1vdmUoY291cG9uQ29kZSkpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudC5j
cHAKaW5kZXggYmViNTUzNDUwN2U3Li4wMTJkZGYzNDk5ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudEF1
dGhvcml6ZWRFdmVudC5jcHAKQEAgLTM2LDcgKzM2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
V1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKEFwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVu
dCk7CiAKIEFwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudDo6QXBwbGVQYXlQYXltZW50QXV0
aG9yaXplZEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIHVuc2lnbmVkIHZlcnNpb24sIGNv
bnN0IFBheW1lbnQmIHBheW1lbnQpCi0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6OkFw
cGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudCwgdHlwZSwgQ2FuQnViYmxlOjpObywgSXNDYW5j
ZWxhYmxlOjpObykKKyAgICA6IEV2ZW50KHR5cGUsIENhbkJ1YmJsZTo6Tm8sIElzQ2FuY2VsYWJs
ZTo6Tm8pCiAgICAgLCBtX3BheW1lbnQocGF5bWVudC50b0FwcGxlUGF5UGF5bWVudCh2ZXJzaW9u
KSkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlQYXltZW50TWV0aG9kU2VsZWN0ZWRFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuY3BwCmluZGV4
IDBiMTFhNjhmOTY4NS4uZGMzYzI2NDA2MGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9k
U2VsZWN0ZWRFdmVudC5jcHAKQEAgLTM2LDcgKzM2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
V1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKEFwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVk
RXZlbnQpOwogCiBBcHBsZVBheVBheW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50OjpBcHBsZVBheVBh
eW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IFBh
eW1lbnRNZXRob2QmIHBheW1lbnRNZXRob2QpCi0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5
cGU6OkFwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQsIHR5cGUsIENhbkJ1YmJsZTo6
Tm8sIElzQ2FuY2VsYWJsZTo6Tm8pCisgICAgOiBFdmVudCh0eXBlLCBDYW5CdWJibGU6Ok5vLCBJ
c0NhbmNlbGFibGU6Ok5vKQogICAgICwgbV9wYXltZW50TWV0aG9kKHBheW1lbnRNZXRob2QudG9B
cHBsZVBheVBheW1lbnRNZXRob2QoKSkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRh
Y3RTZWxlY3RlZEV2ZW50LmNwcAppbmRleCA3NzgxMjQ0ZDkwNTEuLmMzMGU3MjlhNGYzMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5n
Q29udGFjdFNlbGVjdGVkRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LmNwcApAQCAtMzYsNyAr
MzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwo
QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50KTsKIAogQXBwbGVQYXlTaGlwcGlu
Z0NvbnRhY3RTZWxlY3RlZEV2ZW50OjpBcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZl
bnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgdW5zaWduZWQgdmVyc2lvbiwgY29uc3QgUGF5bWVu
dENvbnRhY3QmIHNoaXBwaW5nQ29udGFjdCkKLSAgICA6IEV2ZW50KEV2ZW50SW50ZXJmYWNlVHlw
ZTo6QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LCB0eXBlLCBDYW5CdWJibGU6
Ok5vLCBJc0NhbmNlbGFibGU6Ok5vKQorICAgIDogRXZlbnQodHlwZSwgQ2FuQnViYmxlOjpObywg
SXNDYW5jZWxhYmxlOjpObykKICAgICAsIG1fc2hpcHBpbmdDb250YWN0KHNoaXBwaW5nQ29udGFj
dC50b0FwcGxlUGF5UGF5bWVudENvbnRhY3QodmVyc2lvbikpCiB7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2RTZWxl
Y3RlZEV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlT
aGlwcGluZ01ldGhvZFNlbGVjdGVkRXZlbnQuY3BwCmluZGV4IDljNmIxZGE0Yjk2NS4uOTU3NzZh
NDQ4Zjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5U2hpcHBpbmdNZXRob2RTZWxlY3RlZEV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2RTZWxlY3RlZEV2ZW50LmNwcApA
QCAtMzYsNyArMzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEX0lNUEwoQXBwbGVQYXlTaGlwcGluZ01ldGhvZFNlbGVjdGVkRXZlbnQpOwogCiBBcHBsZVBh
eVNoaXBwaW5nTWV0aG9kU2VsZWN0ZWRFdmVudDo6QXBwbGVQYXlTaGlwcGluZ01ldGhvZFNlbGVj
dGVkRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgQXBwbGVQYXlTaGlwcGluZ01l
dGhvZCYgc2hpcHBpbmdNZXRob2QpCi0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6OkFw
cGxlUGF5U2hpcHBpbmdNZXRob2RTZWxlY3RlZEV2ZW50LCB0eXBlLCBDYW5CdWJibGU6Ok5vLCBJ
c0NhbmNlbGFibGU6Ok5vKQorICAgIDogRXZlbnQodHlwZSwgQ2FuQnViYmxlOjpObywgSXNDYW5j
ZWxhYmxlOjpObykKICAgICAsIG1fc2hpcHBpbmdNZXRob2Qoc2hpcHBpbmdNZXRob2QpCiB7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5VmFs
aWRhdGVNZXJjaGFudEV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuY3BwCmluZGV4IGM1YTgwMDk2ODhhNS4uNTZk
MzI5YTZjMDAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50LmNwcApAQCAtMzUsNyAr
MzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwo
QXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQpOwogCiBBcHBsZVBheVZhbGlkYXRlTWVyY2hh
bnRFdmVudDo6QXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQoY29uc3QgQXRvbVN0cmluZyYg
dHlwZSwgVVJMJiYgdmFsaWRhdGlvblVSTCkKLSAgICA6IEV2ZW50KEV2ZW50SW50ZXJmYWNlVHlw
ZTo6QXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQsIHR5cGUsIENhbkJ1YmJsZTo6Tm8sIElz
Q2FuY2VsYWJsZTo6Tm8pCisgICAgOiBFdmVudCh0eXBlLCBDYW5CdWJibGU6Ok5vLCBJc0NhbmNl
bGFibGU6Ok5vKQogICAgICwgbV92YWxpZGF0aW9uVVJMKFdURk1vdmUodmFsaWRhdGlvblVSTCkp
CiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1zdG9yZS9D
b29raWVDaGFuZ2VFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1zdG9y
ZS9Db29raWVDaGFuZ2VFdmVudC5jcHAKaW5kZXggZTdmMzNiYTQ5ODU2Li4xZDM3Njk1ZDUzNjUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29va2llLXN0b3JlL0Nvb2tpZUNo
YW5nZUV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nvb2tpZS1zdG9yZS9D
b29raWVDaGFuZ2VFdmVudC5jcHAKQEAgLTQyLDcgKzQyLDcgQEAgUmVmPENvb2tpZUNoYW5nZUV2
ZW50PiBDb29raWVDaGFuZ2VFdmVudDo6Y3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIENv
b2tpZUMKIH0KIAogQ29va2llQ2hhbmdlRXZlbnQ6OkNvb2tpZUNoYW5nZUV2ZW50KGNvbnN0IEF0
b21TdHJpbmcmIHR5cGUsIENvb2tpZUNoYW5nZUV2ZW50SW5pdCYmIGV2ZW50SW5pdERpY3QsIElz
VHJ1c3RlZCBpc1RydXN0ZWQpCi0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6OkNvb2tp
ZUNoYW5nZUV2ZW50LCB0eXBlLCBldmVudEluaXREaWN0LCBpc1RydXN0ZWQpCisgICAgOiBFdmVu
dCh0eXBlLCBldmVudEluaXREaWN0LCBpc1RydXN0ZWQpCiAgICAgLCBtX2NoYW5nZWQoV1RGTW92
ZShldmVudEluaXREaWN0LmNoYW5nZWQpKQogICAgICwgbV9kZWxldGVkKFdURk1vdmUoZXZlbnRJ
bml0RGljdC5kZWxldGVkKSkKIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9jb29raWUtc3RvcmUvRXh0ZW5kYWJsZUNvb2tpZUNoYW5nZUV2ZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvY29va2llLXN0b3JlL0V4dGVuZGFibGVDb29raWVDaGFuZ2VFdmVudC5j
cHAKaW5kZXggNGZlNjU2ZDc4NjhjLi5mZjE0ZjFlNDc2YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvY29va2llLXN0b3JlL0V4dGVuZGFibGVDb29raWVDaGFuZ2VFdmVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jb29raWUtc3RvcmUvRXh0ZW5kYWJsZUNv
b2tpZUNoYW5nZUV2ZW50LmNwcApAQCAtNDIsNyArNDIsNyBAQCBSZWY8RXh0ZW5kYWJsZUNvb2tp
ZUNoYW5nZUV2ZW50PiBFeHRlbmRhYmxlQ29va2llQ2hhbmdlRXZlbnQ6OmNyZWF0ZShjb25zdCBB
dG9tUwogfQogCiBFeHRlbmRhYmxlQ29va2llQ2hhbmdlRXZlbnQ6OkV4dGVuZGFibGVDb29raWVD
aGFuZ2VFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBFeHRlbmRhYmxlQ29va2llQ2hhbmdl
RXZlbnRJbml0JiYgZXZlbnRJbml0RGljdCwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkKLSAgICA6IEV4
dGVuZGFibGVFdmVudChFdmVudEludGVyZmFjZVR5cGU6OkV4dGVuZGFibGVDb29raWVDaGFuZ2VF
dmVudCwgdHlwZSwgZXZlbnRJbml0RGljdCwgaXNUcnVzdGVkKQorICAgIDogRXh0ZW5kYWJsZUV2
ZW50KHR5cGUsIGV2ZW50SW5pdERpY3QsIGlzVHJ1c3RlZCkKICAgICAsIG1fY2hhbmdlZChXVEZN
b3ZlKGV2ZW50SW5pdERpY3QuY2hhbmdlZCkpCiAgICAgLCBtX2RlbGV0ZWQoV1RGTW92ZShldmVu
dEluaXREaWN0LmRlbGV0ZWQpKQogeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwCmluZGV4
IDg1NWQ2MGI4YTI1NC4uMTMzMDIyYmI5NDZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmNw
cApAQCAtNDAsNyArNDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBXVEZfTUFLRV9JU09fQUxM
T0NBVEVEX0lNUEwoTWVkaWFLZXlNZXNzYWdlRXZlbnQpOwogCiBNZWRpYUtleU1lc3NhZ2VFdmVu
dDo6TWVkaWFLZXlNZXNzYWdlRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgTWVk
aWFLZXlNZXNzYWdlRXZlbnQ6OkluaXQmIGluaXRpYWxpemVyLCBJc1RydXN0ZWQgaXNUcnVzdGVk
KQotICAgIDogRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpNZWRpYUtleU1lc3NhZ2VFdmVudCwg
dHlwZSwgaW5pdGlhbGl6ZXIsIGlzVHJ1c3RlZCkKKyAgICA6IEV2ZW50KHR5cGUsIGluaXRpYWxp
emVyLCBpc1RydXN0ZWQpCiAgICAgLCBtX21lc3NhZ2VUeXBlKGluaXRpYWxpemVyLm1lc3NhZ2VU
eXBlKQogICAgICwgbV9tZXNzYWdlKGluaXRpYWxpemVyLm1lc3NhZ2UpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRp
YUtleU1lc3NhZ2VFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleU1lc3NhZ2VFdmVudC5jcHAKaW5kZXggOWIwNjE1NjVl
ZmQ3Li42MDA4ZWU4ZjZkZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtl
eU1lc3NhZ2VFdmVudC5jcHAKQEAgLTM2LDcgKzM2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
V1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFdlYktpdE1lZGlhS2V5TWVzc2FnZUV2ZW50KTsK
IAogV2ViS2l0TWVkaWFLZXlNZXNzYWdlRXZlbnQ6OldlYktpdE1lZGlhS2V5TWVzc2FnZUV2ZW50
KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIFVpbnQ4QXJyYXkqIG1lc3NhZ2UsIGNvbnN0IFN0cmlu
ZyYgZGVzdGluYXRpb25VUkwpCi0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6OldlYktp
dE1lZGlhS2V5TWVzc2FnZUV2ZW50LCB0eXBlLCBDYW5CdWJibGU6Ok5vLCBJc0NhbmNlbGFibGU6
Ok5vKQorICAgIDogRXZlbnQodHlwZSwgQ2FuQnViYmxlOjpObywgSXNDYW5jZWxhYmxlOjpObykK
ICAgICAsIG1fbWVzc2FnZShtZXNzYWdlKQogICAgICwgbV9kZXN0aW5hdGlvblVSTChkZXN0aW5h
dGlvblVSTCkKIHsKQEAgLTQ0LDcgKzQ0LDcgQEAgV2ViS2l0TWVkaWFLZXlNZXNzYWdlRXZlbnQ6
OldlYktpdE1lZGlhS2V5TWVzc2FnZUV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIFUKIAog
CiBXZWJLaXRNZWRpYUtleU1lc3NhZ2VFdmVudDo6V2ViS2l0TWVkaWFLZXlNZXNzYWdlRXZlbnQo
Y29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgSW5pdCYgaW5pdGlhbGl6ZXIsIElzVHJ1c3Rl
ZCBpc1RydXN0ZWQpCi0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6OldlYktpdE1lZGlh
S2V5TWVzc2FnZUV2ZW50LCB0eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKQorICAgIDogRXZl
bnQodHlwZSwgaW5pdGlhbGl6ZXIsIGlzVHJ1c3RlZCkKICAgICAsIG1fbWVzc2FnZShpbml0aWFs
aXplci5tZXNzYWdlKQogICAgICwgbV9kZXN0aW5hdGlvblVSTChpbml0aWFsaXplci5kZXN0aW5h
dGlvblVSTCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVk
bWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5TmVlZGVkRXZlbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlOZWVkZWRFdmVu
dC5jcHAKaW5kZXggODAzNWEwMGY4YjU0Li5hYmM5ZjYzNDM3NTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5TmVl
ZGVkRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEv
bGVnYWN5L1dlYktpdE1lZGlhS2V5TmVlZGVkRXZlbnQuY3BwCkBAIC0zNiwxMyArMzYsMTMgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFdlYktpdE1l
ZGlhS2V5TmVlZGVkRXZlbnQpOwogCiBXZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50OjpXZWJLaXRN
ZWRpYUtleU5lZWRlZEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIFVpbnQ4QXJyYXkqIGlu
aXREYXRhKQotICAgIDogRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpXZWJLaXRNZWRpYUtleU5l
ZWRlZEV2ZW50LCB0eXBlLCBDYW5CdWJibGU6Ok5vLCBJc0NhbmNlbGFibGU6Ok5vKQorICAgIDog
RXZlbnQodHlwZSwgQ2FuQnViYmxlOjpObywgSXNDYW5jZWxhYmxlOjpObykKICAgICAsIG1faW5p
dERhdGEoaW5pdERhdGEpCiB7CiB9CiAKIFdlYktpdE1lZGlhS2V5TmVlZGVkRXZlbnQ6OldlYktp
dE1lZGlhS2V5TmVlZGVkRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgSW5pdCYg
aW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0ZWQpCi0gICAgOiBFdmVudChFdmVudEludGVy
ZmFjZVR5cGU6OldlYktpdE1lZGlhS2V5TmVlZGVkRXZlbnQsIHR5cGUsIGluaXRpYWxpemVyLCBp
c1RydXN0ZWQpCisgICAgOiBFdmVudCh0eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKQogICAg
ICwgbV9pbml0RGF0YShpbml0aWFsaXplci5pbml0RGF0YSkKIHsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFkRXZlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWRFdmVudC5jcHAKaW5kZXggYTRjNzhkM2FlMWUx
Li4zNmZjNjFmNTg0NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBh
ZC9HYW1lcGFkRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9H
YW1lcGFkRXZlbnQuY3BwCkBAIC0zNCwxMyArMzQsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
V1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKEdhbWVwYWRFdmVudCk7CiAKIEdhbWVwYWRFdmVu
dDo6R2FtZXBhZEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgR2FtZXBhZCYgZ2Ft
ZXBhZCkKLSAgICA6IEV2ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6R2FtZXBhZEV2ZW50LCBldmVu
dFR5cGUsIENhbkJ1YmJsZTo6Tm8sIElzQ2FuY2VsYWJsZTo6Tm8pCisgICAgOiBFdmVudChldmVu
dFR5cGUsIENhbkJ1YmJsZTo6Tm8sIElzQ2FuY2VsYWJsZTo6Tm8pCiAgICAgLCBtX2dhbWVwYWQo
JmdhbWVwYWQpCiB7CiB9CiAKIEdhbWVwYWRFdmVudDo6R2FtZXBhZEV2ZW50KGNvbnN0IEF0b21T
dHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgSW5pdCYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1Ry
dXN0ZWQpCi0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6OkdhbWVwYWRFdmVudCwgZXZl
bnRUeXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKQorICAgIDogRXZlbnQoZXZlbnRUeXBlLCBp
bml0aWFsaXplciwgaXNUcnVzdGVkKQogICAgICwgbV9nYW1lcGFkKGluaXRpYWxpemVyLmdhbWVw
YWQpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJSZXF1ZXN0Q29tcGxldGlvbkV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQlJlcXVlc3RDb21wbGV0aW9uRXZlbnQuY3BwCmluZGV4IDRkZmQxMzY0OTA4NS4u
NDZmN2Q3OTRmMzU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJSZXF1ZXN0Q29tcGxldGlvbkV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0Q29tcGxldGlvbkV2ZW50LmNwcApAQCAtMzMsNyArMzMs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoSURC
UmVxdWVzdENvbXBsZXRpb25FdmVudCk7CiAKIElEQlJlcXVlc3RDb21wbGV0aW9uRXZlbnQ6OklE
QlJlcXVlc3RDb21wbGV0aW9uRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgQ2FuQnViYmxl
IGNhbkJ1YmJsZSwgSXNDYW5jZWxhYmxlIGNhbmNlbGFibGUsIElEQlJlcXVlc3QmIHJlcXVlc3Qp
Ci0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6OkV2ZW50LCB0eXBlLCBjYW5CdWJibGUs
IGNhbmNlbGFibGUpCisgICAgOiBFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUpCiAg
ICAgLCBtX3JlcXVlc3QocmVxdWVzdCkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQlZlcnNpb25DaGFuZ2VFdmVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJWZXJzaW9uQ2hhbmdlRXZlbnQuY3BwCmluZGV4IGE3
MTFmNTNlYTM5Yy4uM2Y3MmM3MGM2ZjUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJWZXJzaW9uQ2hhbmdlRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlZlcnNpb25DaGFuZ2VFdmVudC5jcHAKQEAgLTMzLDcg
KzMzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBM
KElEQlZlcnNpb25DaGFuZ2VFdmVudCk7CiAKIElEQlZlcnNpb25DaGFuZ2VFdmVudDo6SURCVmVy
c2lvbkNoYW5nZUV2ZW50KGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgcmVxdWVzdElkZW50
aWZpZXIsIHVpbnQ2NF90IG9sZFZlcnNpb24sIHVpbnQ2NF90IG5ld1ZlcnNpb24sIGNvbnN0IEF0
b21TdHJpbmcmIG5hbWUpCi0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6OklEQlZlcnNp
b25DaGFuZ2VFdmVudCwgbmFtZSwgQ2FuQnViYmxlOjpObywgSXNDYW5jZWxhYmxlOjpObykKKyAg
ICA6IEV2ZW50KG5hbWUsIENhbkJ1YmJsZTo6Tm8sIElzQ2FuY2VsYWJsZTo6Tm8pCiAgICAgLCBt
X3JlcXVlc3RJZGVudGlmaWVyKHJlcXVlc3RJZGVudGlmaWVyKQogICAgICwgbV9vbGRWZXJzaW9u
KG9sZFZlcnNpb24pCiB7CkBAIC00NCw3ICs0NCw3IEBAIElEQlZlcnNpb25DaGFuZ2VFdmVudDo6
SURCVmVyc2lvbkNoYW5nZUV2ZW50KGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgcmVxdWVz
CiB9CiAKIElEQlZlcnNpb25DaGFuZ2VFdmVudDo6SURCVmVyc2lvbkNoYW5nZUV2ZW50KGNvbnN0
IEF0b21TdHJpbmcmIG5hbWUsIGNvbnN0IEluaXQmIGluaXQsIElzVHJ1c3RlZCBpc1RydXN0ZWQp
Ci0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6OklEQlZlcnNpb25DaGFuZ2VFdmVudCwg
bmFtZSwgaW5pdCwgaXNUcnVzdGVkKQorICAgIDogRXZlbnQobmFtZSwgaW5pdCwgaXNUcnVzdGVk
KQogICAgICwgbV9vbGRWZXJzaW9uKGluaXQub2xkVmVyc2lvbikKICAgICAsIG1fbmV3VmVyc2lv
bihpbml0Lm5ld1ZlcnNpb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhcmVjb3JkZXIvQmxvYkV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFyZWNvcmRlci9CbG9iRXZlbnQuY3BwCmluZGV4IDFlYmQ2ZDI3ZDQ3MS4uODdjYjQ4MGVjNzJi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvQmxvYkV2
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvQmxvYkV2
ZW50LmNwcApAQCAtNDEsNyArNDEsNyBAQCBSZWY8QmxvYkV2ZW50PiBCbG9iRXZlbnQ6OmNyZWF0
ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBJbml0JiYgaW5pdCwgSXNUcnVzdGVkCiB9CiAKIEJs
b2JFdmVudDo6QmxvYkV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIEluaXQmJiBpbml0LCBJ
c1RydXN0ZWQgaXNUcnVzdGVkKQotICAgIDogRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpCbG9i
RXZlbnQsIHR5cGUsIGluaXQsIGlzVHJ1c3RlZCkKKyAgICA6IEV2ZW50KHR5cGUsIGluaXQsIGlz
VHJ1c3RlZCkKICAgICAsIG1fYmxvYihpbml0LmRhdGEucmVsZWFzZU5vbk51bGwoKSkKICAgICAs
IG1fdGltZWNvZGUoaW5pdC50aW1lY29kZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyRXJyb3JFdmVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlckVycm9yRXZlbnQu
Y3BwCmluZGV4IGE4ODBlOGY2ZjRlZi4uM2U3NGNlOGM3NDk2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlckVycm9yRXZlbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVy
RXJyb3JFdmVudC5jcHAKQEAgLTQ3LDEzICs0NywxMyBAQCBSZWY8TWVkaWFSZWNvcmRlckVycm9y
RXZlbnQ+IE1lZGlhUmVjb3JkZXJFcnJvckV2ZW50OjpjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYg
dAogfQogCiBNZWRpYVJlY29yZGVyRXJyb3JFdmVudDo6TWVkaWFSZWNvcmRlckVycm9yRXZlbnQo
Y29uc3QgQXRvbVN0cmluZyYgdHlwZSwgSW5pdCYmIGluaXQsIFJlZjxET01FeGNlcHRpb24+JiYg
ZXhjZXB0aW9uLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQotICAgIDogRXZlbnQoRXZlbnRJbnRlcmZh
Y2VUeXBlOjpNZWRpYVJlY29yZGVyRXJyb3JFdmVudCwgdHlwZSwgV1RGTW92ZShpbml0KSwgaXNU
cnVzdGVkKQorICAgIDogRXZlbnQodHlwZSwgV1RGTW92ZShpbml0KSwgaXNUcnVzdGVkKQogICAg
ICwgbV9kb21FcnJvcihXVEZNb3ZlKGV4Y2VwdGlvbikpCiB7CiB9CiAKIE1lZGlhUmVjb3JkZXJF
cnJvckV2ZW50OjpNZWRpYVJlY29yZGVyRXJyb3JFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBl
LCBFeGNlcHRpb24mJiBleGNlcHRpb24pCi0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6
Ok1lZGlhUmVjb3JkZXJFcnJvckV2ZW50LCB0eXBlLCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZl
bnQ6OklzQ2FuY2VsYWJsZTo6Tm8pCisgICAgOiBFdmVudCh0eXBlLCBFdmVudDo6Q2FuQnViYmxl
OjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pCiAgICAgLCBtX2RvbUVycm9yKERPTUV4Y2Vw
dGlvbjo6Y3JlYXRlKGV4Y2VwdGlvbikpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc291cmNlL0J1ZmZlcmVkQ2hhbmdlRXZlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9CdWZmZXJlZENoYW5nZUV2ZW50LmNwcAppbmRleCAw
YTU1NmQwOWQ4NzguLjBjY2M2ZGVkZjJlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXNvdXJjZS9CdWZmZXJlZENoYW5nZUV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL0J1ZmZlcmVkQ2hhbmdlRXZlbnQuY3BwCkBAIC0zOCwx
NCArMzgsMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9J
TVBMKEJ1ZmZlcmVkQ2hhbmdlRXZlbnQpOwogCiBCdWZmZXJlZENoYW5nZUV2ZW50OjpCdWZmZXJl
ZENoYW5nZUV2ZW50KFJlZlB0cjxUaW1lUmFuZ2VzPiYmIGFkZGVkLCBSZWZQdHI8VGltZVJhbmdl
cz4mJiByZW1vdmVkKQotICAgIDogRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpCdWZmZXJlZENo
YW5nZUV2ZW50LCBldmVudE5hbWVzKCkuYnVmZmVyZWRjaGFuZ2VFdmVudCwgQ2FuQnViYmxlOjpO
bywgSXNDYW5jZWxhYmxlOjpObykKKyAgICA6IEV2ZW50KGV2ZW50TmFtZXMoKS5idWZmZXJlZGNo
YW5nZUV2ZW50LCBDYW5CdWJibGU6Ok5vLCBJc0NhbmNlbGFibGU6Ok5vKQogICAgICwgbV9hZGRl
ZChXVEZNb3ZlKGFkZGVkKSkKICAgICAsIG1fcmVtb3ZlZChXVEZNb3ZlKHJlbW92ZWQpKQogewog
fQogCiBCdWZmZXJlZENoYW5nZUV2ZW50OjpCdWZmZXJlZENoYW5nZUV2ZW50KGNvbnN0IEF0b21T
dHJpbmcmIHR5cGUsIEluaXQmJiBpbml0KQotICAgIDogRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBl
OjpCdWZmZXJlZENoYW5nZUV2ZW50LCB0eXBlLCBpbml0LCBJc1RydXN0ZWQ6Ok5vKQorICAgIDog
RXZlbnQodHlwZSwgaW5pdCwgSXNUcnVzdGVkOjpObykKICAgICAsIG1fYWRkZWQoV1RGTW92ZShp
bml0LmFkZGVkUmFuZ2VzKSkKICAgICAsIG1fcmVtb3ZlZChXVEZNb3ZlKGluaXQucmVtb3ZlZFJh
bmdlcykpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtVHJhY2tFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL01lZGlhU3RyZWFtVHJhY2tFdmVudC5jcHAKaW5kZXggNmUxYzdmNGM0N2ViLi43NWE4
ZjdmY2Q3ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW1UcmFja0V2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tFdmVudC5jcHAKQEAgLTQ1LDEzICs0NSwxMyBAQCBS
ZWY8TWVkaWFTdHJlYW1UcmFja0V2ZW50PiBNZWRpYVN0cmVhbVRyYWNrRXZlbnQ6OmNyZWF0ZShj
b25zdCBBdG9tU3RyaW5nJiB0eXBlLAogfQogCiBNZWRpYVN0cmVhbVRyYWNrRXZlbnQ6Ok1lZGlh
U3RyZWFtVHJhY2tFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBDYW5CdWJibGUgY2FuQnVi
YmxlLCBJc0NhbmNlbGFibGUgY2FuY2VsYWJsZSwgUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2s+JiYg
dHJhY2spCi0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6Ok1lZGlhU3RyZWFtVHJhY2tF
dmVudCwgdHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlKQorICAgIDogRXZlbnQodHlwZSwgY2Fu
QnViYmxlLCBjYW5jZWxhYmxlKQogICAgICwgbV90cmFjayhXVEZNb3ZlKHRyYWNrKSkKIHsKIH0K
IAogTWVkaWFTdHJlYW1UcmFja0V2ZW50OjpNZWRpYVN0cmVhbVRyYWNrRXZlbnQoY29uc3QgQXRv
bVN0cmluZyYgdHlwZSwgY29uc3QgSW5pdCYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0
ZWQpCi0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6Ok1lZGlhU3RyZWFtVHJhY2tFdmVu
dCwgdHlwZSwgaW5pdGlhbGl6ZXIsIGlzVHJ1c3RlZCkKKyAgICA6IEV2ZW50KHR5cGUsIGluaXRp
YWxpemVyLCBpc1RydXN0ZWQpCiAgICAgLCBtX3RyYWNrKGluaXRpYWxpemVyLnRyYWNrKQogewog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9PdmVyY29u
c3RyYWluZWRFcnJvckV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L092ZXJjb25zdHJhaW5lZEVycm9yRXZlbnQuaAppbmRleCBjOGViY2I5YjZlMDEuLjJlMWU5ZmRk
MWJjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9PdmVy
Y29uc3RyYWluZWRFcnJvckV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9PdmVyY29uc3RyYWluZWRFcnJvckV2ZW50LmgKQEAgLTYwLDEyICs2MCwxMiBAQCBw
dWJsaWM6CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgT3ZlcmNvbnN0cmFpbmVkRXJyb3JFdmVu
dChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBDYW5CdWJibGUgY2FuQnViYmxlLCBJc0NhbmNlbGFi
bGUgY2FuY2VsYWJsZSwgT3ZlcmNvbnN0cmFpbmVkRXJyb3IqIGVycm9yKQotICAgICAgICA6IEV2
ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6T3ZlcmNvbnN0cmFpbmVkRXJyb3JFdmVudCwgdHlwZSwg
Y2FuQnViYmxlLCBjYW5jZWxhYmxlKQorICAgICAgICA6IEV2ZW50KHR5cGUsIGNhbkJ1YmJsZSwg
Y2FuY2VsYWJsZSkKICAgICAgICAgLCBtX2Vycm9yKGVycm9yKQogICAgIHsKICAgICB9CiAgICAg
T3ZlcmNvbnN0cmFpbmVkRXJyb3JFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBJ
bml0JiBpbml0aWFsaXplciwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkKLSAgICAgICAgOiBFdmVudChF
dmVudEludGVyZmFjZVR5cGU6Ok92ZXJjb25zdHJhaW5lZEVycm9yRXZlbnQsIHR5cGUsIGluaXRp
YWxpemVyLCBpc1RydXN0ZWQpCisgICAgICAgIDogRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIsIGlz
VHJ1c3RlZCkKICAgICAgICAgLCBtX2Vycm9yKGluaXRpYWxpemVyLmVycm9yKQogICAgIHsKICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RU
TUZUb25lQ2hhbmdlRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENEVE1GVG9uZUNoYW5nZUV2ZW50LmNwcAppbmRleCBhYmZiNmEzMWVhYjYuLjExOGMyNTE3
NDgzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENE
VE1GVG9uZUNoYW5nZUV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ0RUTUZUb25lQ2hhbmdlRXZlbnQuY3BwCkBAIC00NiwxMyArNDYsMTMgQEAgUmVm
PFJUQ0RUTUZUb25lQ2hhbmdlRXZlbnQ+IFJUQ0RUTUZUb25lQ2hhbmdlRXZlbnQ6OmNyZWF0ZShj
b25zdCBBdG9tU3RyaW5nJiB0eXAKIH0KIAogUlRDRFRNRlRvbmVDaGFuZ2VFdmVudDo6UlRDRFRN
RlRvbmVDaGFuZ2VFdmVudChjb25zdCBTdHJpbmcmIHRvbmUpCi0gICAgOiBFdmVudChFdmVudElu
dGVyZmFjZVR5cGU6OlJUQ0RUTUZUb25lQ2hhbmdlRXZlbnQsIGV2ZW50TmFtZXMoKS50b25lY2hh
bmdlRXZlbnQsIENhbkJ1YmJsZTo6Tm8sIElzQ2FuY2VsYWJsZTo6Tm8pCisgICAgOiBFdmVudChl
dmVudE5hbWVzKCkudG9uZWNoYW5nZUV2ZW50LCBDYW5CdWJibGU6Ok5vLCBJc0NhbmNlbGFibGU6
Ok5vKQogICAgICwgbV90b25lKHRvbmUpCiB7CiB9CiAKIFJUQ0RUTUZUb25lQ2hhbmdlRXZlbnQ6
OlJUQ0RUTUZUb25lQ2hhbmdlRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgSW5p
dCYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0ZWQpCi0gICAgOiBFdmVudChFdmVudElu
dGVyZmFjZVR5cGU6OlJUQ0RUTUZUb25lQ2hhbmdlRXZlbnQsIHR5cGUsIGluaXRpYWxpemVyLCBp
c1RydXN0ZWQpCisgICAgOiBFdmVudCh0eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKQogICAg
ICwgbV90b25lKGluaXRpYWxpemVyLnRvbmUpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsRXZlbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbEV2ZW50LmNwcAppbmRl
eCAyZmNhMmIxZjQyYTIuLjg2YmM5NjE0YjdiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbEV2ZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsRXZlbnQuY3BwCkBAIC00
NiwxMyArNDYsMTMgQEAgUmVmPFJUQ0RhdGFDaGFubmVsRXZlbnQ+IFJUQ0RhdGFDaGFubmVsRXZl
bnQ6OmNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBJbmkKIH0KIAogUlRDRGF0YUNoYW5u
ZWxFdmVudDo6UlRDRGF0YUNoYW5uZWxFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBDYW5C
dWJibGUgY2FuQnViYmxlLCBJc0NhbmNlbGFibGUgY2FuY2VsYWJsZSwgUmVmPFJUQ0RhdGFDaGFu
bmVsPiYmIGNoYW5uZWwpCi0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6OlJUQ0RhdGFD
aGFubmVsRXZlbnQsIHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSkKKyAgICA6IEV2ZW50KHR5
cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSkKICAgICAsIG1fY2hhbm5lbChXVEZNb3ZlKGNoYW5u
ZWwpKQogewogfQogCiBSVENEYXRhQ2hhbm5lbEV2ZW50OjpSVENEYXRhQ2hhbm5lbEV2ZW50KGNv
bnN0IEF0b21TdHJpbmcmIHR5cGUsIEluaXQmJiBpbml0aWFsaXplciwgSXNUcnVzdGVkIGlzVHJ1
c3RlZCkKLSAgICA6IEV2ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6UlRDRGF0YUNoYW5uZWxFdmVu
dCwgdHlwZSwgaW5pdGlhbGl6ZXIsIGlzVHJ1c3RlZCkKKyAgICA6IEV2ZW50KHR5cGUsIGluaXRp
YWxpemVyLCBpc1RydXN0ZWQpCiAgICAgLCBtX2NoYW5uZWwoaW5pdGlhbGl6ZXIuY2hhbm5lbC5y
ZWxlYXNlTm9uTnVsbCgpKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENFcnJvckV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDRXJyb3JFdmVudC5jcHAKaW5kZXggZTA2NTc0YzU1OGM4Li4wOTFmMjMy
NmE5Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
RXJyb3JFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENFcnJvckV2ZW50LmNwcApAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoUlRDRXJyb3JFdmVudCk7CiAKIFJUQ0Vycm9yRXZl
bnQ6OlJUQ0Vycm9yRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgSW5pdCYmIGluaXRpYWxp
emVyLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQotICAgIDogRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBl
OjpSVENFcnJvckV2ZW50LCB0eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKQorICAgIDogRXZl
bnQodHlwZSwgaW5pdGlhbGl6ZXIsIGlzVHJ1c3RlZCkKICAgICAsIG1fZXJyb3IoaW5pdGlhbGl6
ZXIuZXJyb3IucmVsZWFzZU5vbk51bGwoKSkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25JY2VFcnJvckV2ZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25J
Y2VFcnJvckV2ZW50LmNwcAppbmRleCBkMTI5Y2Q1Y2VkNjQuLmU2NjY2OGQwMWFkOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlv
bkljZUVycm9yRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUGVlckNvbm5lY3Rpb25JY2VFcnJvckV2ZW50LmNwcApAQCAtNDcsNyArNDcsNyBAQCBS
ZWY8UlRDUGVlckNvbm5lY3Rpb25JY2VFcnJvckV2ZW50PiBSVENQZWVyQ29ubmVjdGlvbkljZUVy
cm9yRXZlbnQ6OmNyZWF0ZShjb25zdAogfQogCiBSVENQZWVyQ29ubmVjdGlvbkljZUVycm9yRXZl
bnQ6OlJUQ1BlZXJDb25uZWN0aW9uSWNlRXJyb3JFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBl
LCBDYW5CdWJibGUgY2FuQnViYmxlLCBJc0NhbmNlbGFibGUgY2FuY2VsYWJsZSwgU3RyaW5nJiYg
YWRkcmVzcywgc3RkOjpvcHRpb25hbDx1aW50MTZfdD4gcG9ydCwgU3RyaW5nJiYgdXJsLCB1aW50
MTZfdCBlcnJvckNvZGUsIFN0cmluZyYmIGVycm9yVGV4dCkKLSAgICA6IEV2ZW50KEV2ZW50SW50
ZXJmYWNlVHlwZTo6UlRDUGVlckNvbm5lY3Rpb25JY2VFcnJvckV2ZW50LCB0eXBlLCBjYW5CdWJi
bGUsIGNhbmNlbGFibGUpCisgICAgOiBFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUp
CiAgICAgLCBtX2FkZHJlc3MoV1RGTW92ZShhZGRyZXNzKSkKICAgICAsIG1fcG9ydChwb3J0KQog
ICAgICwgbV91cmwoV1RGTW92ZSh1cmwpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbkljZUV2ZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25JY2VFdmVudC5jcHAK
aW5kZXggMjRkMWI4MDQzN2RlLi43NjBmODk1NDg2NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25JY2VFdmVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbklj
ZUV2ZW50LmNwcApAQCAtNDcsNyArNDcsNyBAQCBSZWY8UlRDUGVlckNvbm5lY3Rpb25JY2VFdmVu
dD4gUlRDUGVlckNvbm5lY3Rpb25JY2VFdmVudDo6Y3JlYXRlKGNvbnN0IEF0b21TdHJpbgogfQog
CiBSVENQZWVyQ29ubmVjdGlvbkljZUV2ZW50OjpSVENQZWVyQ29ubmVjdGlvbkljZUV2ZW50KGNv
bnN0IEF0b21TdHJpbmcmIHR5cGUsIENhbkJ1YmJsZSBjYW5CdWJibGUsIElzQ2FuY2VsYWJsZSBj
YW5jZWxhYmxlLCBSZWZQdHI8UlRDSWNlQ2FuZGlkYXRlPiYmIGNhbmRpZGF0ZSwgU3RyaW5nJiYg
c2VydmVyVVJMKQotICAgIDogRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpSVENQZWVyQ29ubmVj
dGlvbkljZUV2ZW50LCB0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUpCisgICAgOiBFdmVudCh0
eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUpCiAgICAgLCBtX2NhbmRpZGF0ZShXVEZNb3ZlKGNh
bmRpZGF0ZSkpCiAgICAgLCBtX3VybChXVEZNb3ZlKHNlcnZlclVSTCkpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9y
bUVycm9yRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBTRnJhbWVUcmFuc2Zvcm1FcnJvckV2ZW50LmNwcAppbmRleCBiOGQ0YzIxMGQwZTEuLmU4OTRi
MmVmMmUwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENSdHBTRnJhbWVUcmFuc2Zvcm1FcnJvckV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9ybUVycm9yRXZlbnQuY3BwCkBA
IC00Nyw3ICs0Nyw3IEBAIFJlZjxSVENSdHBTRnJhbWVUcmFuc2Zvcm1FcnJvckV2ZW50PiBSVENS
dHBTRnJhbWVUcmFuc2Zvcm1FcnJvckV2ZW50OjpjcmVhdGUoY29uCiB9CiAKIFJUQ1J0cFNGcmFt
ZVRyYW5zZm9ybUVycm9yRXZlbnQ6OlJUQ1J0cFNGcmFtZVRyYW5zZm9ybUVycm9yRXZlbnQoY29u
c3QgQXRvbVN0cmluZyYgdHlwZSwgQ2FuQnViYmxlIGNhbkJ1YmJsZSwgSXNDYW5jZWxhYmxlIGNh
bmNlbGFibGUsIFR5cGUgZXJyb3JUeXBlKQotICAgIDogRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBl
OjpSVENSdHBTRnJhbWVUcmFuc2Zvcm1FcnJvckV2ZW50LCB0eXBlLCBjYW5CdWJibGUsIGNhbmNl
bGFibGUpCisgICAgOiBFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUpCiAgICAgLCBt
X2Vycm9yVHlwZShlcnJvclR5cGUpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1RyYWNrRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENUcmFja0V2ZW50LmNwcAppbmRleCA3MjAyMjBlMDkzNTYuLjkz
Y2YzYTBmYjEyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENUcmFja0V2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1RyYWNrRXZlbnQuY3BwCkBAIC01Myw3ICs1Myw3IEBAIFJlZjxSVENUcmFja0V2ZW50
PiBSVENUcmFja0V2ZW50OjpjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgSW5p
dCYgaW5pCiB9CiAKIFJUQ1RyYWNrRXZlbnQ6OlJUQ1RyYWNrRXZlbnQoY29uc3QgQXRvbVN0cmlu
ZyYgdHlwZSwgQ2FuQnViYmxlIGNhbkJ1YmJsZSwgSXNDYW5jZWxhYmxlIGNhbmNlbGFibGUsIFJl
ZlB0cjxSVENSdHBSZWNlaXZlcj4mJiByZWNlaXZlciwgUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2s+
JiYgdHJhY2ssIFZlY3RvcjxSZWZQdHI8TWVkaWFTdHJlYW0+PiYmIHN0cmVhbXMsIFJlZlB0cjxS
VENSdHBUcmFuc2NlaXZlcj4mJiB0cmFuc2NlaXZlcikKLSAgICA6IEV2ZW50KEV2ZW50SW50ZXJm
YWNlVHlwZTo6UlRDVHJhY2tFdmVudCwgdHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlKQorICAg
IDogRXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlKQogICAgICwgbV9yZWNlaXZlcihX
VEZNb3ZlKHJlY2VpdmVyKSkKICAgICAsIG1fdHJhY2soV1RGTW92ZSh0cmFjaykpCiAgICAgLCBt
X3N0cmVhbXMoV1RGTW92ZShzdHJlYW1zKSkKQEAgLTYyLDcgKzYyLDcgQEAgUlRDVHJhY2tFdmVu
dDo6UlRDVHJhY2tFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBDYW5CdWJibGUgY2FuQnVi
YmxlLCBJc0NhbmMKIH0KIAogUlRDVHJhY2tFdmVudDo6UlRDVHJhY2tFdmVudChjb25zdCBBdG9t
U3RyaW5nJiB0eXBlLCBjb25zdCBJbml0JiBpbml0aWFsaXplciwgSXNUcnVzdGVkIGlzVHJ1c3Rl
ZCkKLSAgICA6IEV2ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6UlRDVHJhY2tFdmVudCwgdHlwZSwg
aW5pdGlhbGl6ZXIsIGlzVHJ1c3RlZCkKKyAgICA6IEV2ZW50KHR5cGUsIGluaXRpYWxpemVyLCBp
c1RydXN0ZWQpCiAgICAgLCBtX3JlY2VpdmVyKGluaXRpYWxpemVyLnJlY2VpdmVyKQogICAgICwg
bV90cmFjayhpbml0aWFsaXplci50cmFjaykKICAgICAsIG1fc3RyZWFtcyhpbml0aWFsaXplci5z
dHJlYW1zKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENUcmFuc2Zvcm1FdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1RyYW5zZm9ybUV2ZW50LmNwcAppbmRleCAyZGQxOTgyMWZlNTIuLmFkYTYwYTQ2Yzg1MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENUcmFuc2Zv
cm1FdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENU
cmFuc2Zvcm1FdmVudC5jcHAKQEAgLTM5LDcgKzM5LDcgQEAgUmVmPFJUQ1RyYW5zZm9ybUV2ZW50
PiBSVENUcmFuc2Zvcm1FdmVudDo6Y3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIFJlZjxS
VEMKIH0KIAogUlRDVHJhbnNmb3JtRXZlbnQ6OlJUQ1RyYW5zZm9ybUV2ZW50KGNvbnN0IEF0b21T
dHJpbmcmIHR5cGUsIFJlZjxSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcj4mJiB0cmFuc2Zvcm1lciwg
SXNUcnVzdGVkIGlzVHJ1c3RlZCkKLSAgICA6IEV2ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6UlRD
VHJhbnNmb3JtRXZlbnQsIHR5cGUsIHsgfSwgaXNUcnVzdGVkKQorICAgIDogRXZlbnQodHlwZSwg
eyB9LCBpc1RydXN0ZWQpCiAgICAgLCBtX3RyYW5zZm9ybWVyKFdURk1vdmUodHJhbnNmb3JtZXIp
KQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25FdmVudC5jcHAKaW5kZXggY2M2NjgyOGYzYjQxLi5mMDVhMDIyYzJh
NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25FdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkV2ZW50LmNwcApAQCAtNDgsNyArNDgsNyBAQCBSZWY8Tm90aWZpY2F0
aW9uRXZlbnQ+IE5vdGlmaWNhdGlvbkV2ZW50OjpjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgdHlw
ZSwgTm90aWZpYwogfQogCiBOb3RpZmljYXRpb25FdmVudDo6Tm90aWZpY2F0aW9uRXZlbnQoY29u
c3QgQXRvbVN0cmluZyYgdHlwZSwgTm90aWZpY2F0aW9uRXZlbnRJbml0JiYgZXZlbnRJbml0LCBO
b3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbiwgY29uc3QgU3RyaW5nJiBhY3Rpb24sIElzVHJ1c3Rl
ZCBpc1RydXN0ZWQpCi0gICAgOiBFeHRlbmRhYmxlRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpO
b3RpZmljYXRpb25FdmVudCwgdHlwZSwgV1RGTW92ZShldmVudEluaXQpLCBpc1RydXN0ZWQpCisg
ICAgOiBFeHRlbmRhYmxlRXZlbnQodHlwZSwgV1RGTW92ZShldmVudEluaXQpLCBpc1RydXN0ZWQp
CiAgICAgLCBtX25vdGlmaWNhdGlvbihub3RpZmljYXRpb24pCiAgICAgLCBtX2FjdGlvbihhY3Rp
b24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0
L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5
bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwCmluZGV4IGFhZjk5ODRiY2Jj
Ny4uMDRkYTc0YWI2YTcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1l
bnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcApAQCAt
NTgsNyArNTgsNyBAQCBFeGNlcHRpb25PcjxSZWY8TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ+PiBN
ZXJjaGFudFZhbGlkYXRpb25FdmVudDo6Y3JlYXRlKERvY3VtZQogfQogCiBNZXJjaGFudFZhbGlk
YXRpb25FdmVudDo6TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlw
ZSwgY29uc3QgU3RyaW5nJiBtZXRob2ROYW1lLCBVUkwmJiB2YWxpZGF0aW9uVVJMKQotICAgIDog
RXZlbnQgeyBFdmVudEludGVyZmFjZVR5cGU6Ok1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LCB0eXBl
LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8gfQorICAgIDog
RXZlbnQgeyB0eXBlLCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6
Tm8gfQogICAgICwgbV9tZXRob2ROYW1lIHsgbWV0aG9kTmFtZSB9CiAgICAgLCBtX3ZhbGlkYXRp
b25VUkwgeyBXVEZNb3ZlKHZhbGlkYXRpb25VUkwpIH0KIHsKQEAgLTY3LDcgKzY3LDcgQEAgTWVy
Y2hhbnRWYWxpZGF0aW9uRXZlbnQ6Ok1lcmNoYW50VmFsaWRhdGlvbkV2ZW50KGNvbnN0IEF0b21T
dHJpbmcmIHR5cGUsIGNvbnN0IFMKIH0KIAogTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6Ok1lcmNo
YW50VmFsaWRhdGlvbkV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIFN0cmluZyYmIG1ldGhv
ZE5hbWUsIFVSTCYmIHZhbGlkYXRpb25VUkwsIEluaXQmJiBldmVudEluaXQpCi0gICAgOiBFdmVu
dCB7IEV2ZW50SW50ZXJmYWNlVHlwZTo6TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQsIHR5cGUsIFdU
Rk1vdmUoZXZlbnRJbml0KSwgSXNUcnVzdGVkOjpObyB9CisgICAgOiBFdmVudCB7IHR5cGUsIFdU
Rk1vdmUoZXZlbnRJbml0KSwgSXNUcnVzdGVkOjpObyB9CiAgICAgLCBtX21ldGhvZE5hbWUgeyBX
VEZNb3ZlKG1ldGhvZE5hbWUpIH0KICAgICAsIG1fdmFsaWRhdGlvblVSTCB7IFdURk1vdmUodmFs
aWRhdGlvblVSTCkgfQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXlt
ZW50cmVxdWVzdC9QYXltZW50TWV0aG9kQ2hhbmdlRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50TWV0aG9kQ2hhbmdlRXZlbnQuY3BwCmluZGV4
IGJkZTUxNTRmNWNkZC4uMTA3MmJmZWI1NGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRNZXRob2RDaGFuZ2VFdmVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50TWV0aG9kQ2hhbmdl
RXZlbnQuY3BwCkBAIC00MCwxNCArNDAsMTQgQEAgRXZlbnRJbnRlcmZhY2UgUGF5bWVudE1ldGhv
ZENoYW5nZUV2ZW50OjpldmVudEludGVyZmFjZSgpIGNvbnN0CiB9CiAKIFBheW1lbnRNZXRob2RD
aGFuZ2VFdmVudDo6UGF5bWVudE1ldGhvZENoYW5nZUV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5
cGUsIEluaXQmJiBldmVudEluaXQpCi0gICAgOiBQYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50IHsg
RXZlbnRJbnRlcmZhY2VUeXBlOjpQYXltZW50TWV0aG9kQ2hhbmdlRXZlbnQsIHR5cGUsIGV2ZW50
SW5pdCB9CisgICAgOiBQYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50IHsgdHlwZSwgZXZlbnRJbml0
IH0KICAgICAsIG1fbWV0aG9kTmFtZSB7IFdURk1vdmUoZXZlbnRJbml0Lm1ldGhvZE5hbWUpIH0K
ICAgICAsIG1fbWV0aG9kRGV0YWlscyB7IHN0ZDo6aW5fcGxhY2VfdHlwZV90PEpTVmFsdWVJbldy
YXBwZWRPYmplY3Q+KCksIGV2ZW50SW5pdC5tZXRob2REZXRhaWxzLmdldCgpIH0KIHsKIH0KIAog
UGF5bWVudE1ldGhvZENoYW5nZUV2ZW50OjpQYXltZW50TWV0aG9kQ2hhbmdlRXZlbnQoY29uc3Qg
QXRvbVN0cmluZyYgdHlwZSwgY29uc3QgU3RyaW5nJiBtZXRob2ROYW1lLCBNZXRob2REZXRhaWxz
RnVuY3Rpb24mJiBtZXRob2REZXRhaWxzRnVuY3Rpb24pCi0gICAgOiBQYXltZW50UmVxdWVzdFVw
ZGF0ZUV2ZW50IHsgRXZlbnRJbnRlcmZhY2VUeXBlOjpQYXltZW50TWV0aG9kQ2hhbmdlRXZlbnQs
IHR5cGUgfQorICAgIDogUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudCB7IHR5cGUgfQogICAgICwg
bV9tZXRob2ROYW1lIHsgbWV0aG9kTmFtZSB9CiAgICAgLCBtX21ldGhvZERldGFpbHMgeyBzdGQ6
OmluX3BsYWNlX3R5cGVfdDxNZXRob2REZXRhaWxzRnVuY3Rpb24+KCksIFdURk1vdmUobWV0aG9k
RGV0YWlsc0Z1bmN0aW9uKSB9CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50LmNw
cAppbmRleCA4MDg3Mjg1ODQwNTguLjA5YjhmZDBmMmI3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1
ZXN0VXBkYXRlRXZlbnQuY3BwCkBAIC0zNiwxNCArMzYsMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVu
dCk7CiAKLVBheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQ6OlBheW1lbnRSZXF1ZXN0VXBkYXRlRXZl
bnQoZW51bSBFdmVudEludGVyZmFjZVR5cGUgZXZlbnRJbnRlcmZhY2UsIGNvbnN0IEF0b21TdHJp
bmcmIHR5cGUsIGNvbnN0IFBheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnRJbml0JiBldmVudEluaXQp
Ci0gICAgOiBFdmVudCB7IGV2ZW50SW50ZXJmYWNlLCB0eXBlLCBldmVudEluaXQsIElzVHJ1c3Rl
ZDo6Tm8gfQorUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudDo6UGF5bWVudFJlcXVlc3RVcGRhdGVF
dmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBQYXltZW50UmVxdWVzdFVwZGF0ZUV2
ZW50SW5pdCYgZXZlbnRJbml0KQorICAgIDogRXZlbnQgeyB0eXBlLCBldmVudEluaXQsIElzVHJ1
c3RlZDo6Tm8gfQogewogICAgIEFTU0VSVCghaXNUcnVzdGVkKCkpOwogfQogCi1QYXltZW50UmVx
dWVzdFVwZGF0ZUV2ZW50OjpQYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50KGVudW0gRXZlbnRJbnRl
cmZhY2VUeXBlIGV2ZW50SW50ZXJmYWNlLCBjb25zdCBBdG9tU3RyaW5nJiB0eXBlKQotICAgIDog
RXZlbnQgeyBldmVudEludGVyZmFjZSwgdHlwZSwgQ2FuQnViYmxlOjpObywgSXNDYW5jZWxhYmxl
OjpObyB9CitQYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50OjpQYXltZW50UmVxdWVzdFVwZGF0ZUV2
ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUpCisgICAgOiBFdmVudCB7IHR5cGUsIENhbkJ1YmJs
ZTo6Tm8sIElzQ2FuY2VsYWJsZTo6Tm8gfQogewogICAgIEFTU0VSVChpc1RydXN0ZWQoKSk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1l
bnRSZXF1ZXN0VXBkYXRlRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJl
cXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5oCmluZGV4IDY3ZmE5YmQxMmY0NS4uY2Mx
MThkZmVjOTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1
ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuaApAQCAtNDAsNyAr
NDAsNyBAQCBjbGFzcyBQYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50IDogcHVibGljIEV2ZW50IHsK
IHB1YmxpYzoKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gQXJncz4gc3RhdGljIFJlZjxQYXlt
ZW50UmVxdWVzdFVwZGF0ZUV2ZW50PiBjcmVhdGUoQXJncyYmLi4uIGFyZ3MpCiAgICAgewotICAg
ICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50KEV2ZW50
SW50ZXJmYWNlVHlwZTo6UGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudCwgc3RkOjpmb3J3YXJkPEFy
Z3M+KGFyZ3MpLi4uKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFBheW1lbnRSZXF1
ZXN0VXBkYXRlRXZlbnQoc3RkOjpmb3J3YXJkPEFyZ3M+KGFyZ3MpLi4uKSk7CiAgICAgfQogICAg
IH5QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50KCk7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gdXBk
YXRlV2l0aChSZWY8RE9NUHJvbWlzZT4mJik7CkBAIC00OCw4ICs0OCw4IEBAIHB1YmxpYzoKICAg
ICBib29sIGRpZENhbGxVcGRhdGVXaXRoKCkgY29uc3QgeyByZXR1cm4gbV93YWl0Rm9yVXBkYXRl
OyB9CiAKIHByb3RlY3RlZDoKLSAgICBleHBsaWNpdCBQYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50
KGVudW0gRXZlbnRJbnRlcmZhY2VUeXBlLCBjb25zdCBBdG9tU3RyaW5nJiB0eXBlKTsKLSAgICBQ
YXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50KGVudW0gRXZlbnRJbnRlcmZhY2VUeXBlLCBjb25zdCBB
dG9tU3RyaW5nJiB0eXBlLCBjb25zdCBQYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50SW5pdCYpOwor
ICAgIGV4cGxpY2l0IFBheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQoY29uc3QgQXRvbVN0cmluZyYg
dHlwZSk7CisgICAgUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0
eXBlLCBjb25zdCBQYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50SW5pdCYpOwogCiAgICAgLy8gRXZl
bnQKICAgICBFdmVudEludGVyZmFjZSBldmVudEludGVyZmFjZSgpIGNvbnN0IG92ZXJyaWRlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL1BpY3R1
cmVJblBpY3R1cmVFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BpY3R1cmVpbnBp
Y3R1cmUvUGljdHVyZUluUGljdHVyZUV2ZW50LmNwcAppbmRleCAzZDk2NjdjMzU5YmUuLmRkNTE2
YmU4OTY0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9waWN0dXJlaW5waWN0
dXJlL1BpY3R1cmVJblBpY3R1cmVFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9waWN0dXJlaW5waWN0dXJlL1BpY3R1cmVJblBpY3R1cmVFdmVudC5jcHAKQEAgLTQyLDcgKzQy
LDcgQEAgUmVmPFBpY3R1cmVJblBpY3R1cmVFdmVudD4gUGljdHVyZUluUGljdHVyZUV2ZW50Ojpj
cmVhdGUoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwKIH0KIAogUGljdHVyZUluUGljdHVyZUV2ZW50
OjpQaWN0dXJlSW5QaWN0dXJlRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgSW5pdCYmIGlu
aXQsIElzVHJ1c3RlZCBpc1RydXN0ZWQpCi0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6
OlBpY3R1cmVJblBpY3R1cmVFdmVudCwgdHlwZSwgaW5pdCwgaXNUcnVzdGVkKQorICAgIDogRXZl
bnQodHlwZSwgaW5pdCwgaXNUcnVzdGVkKQogICAgICwgbV9waWN0dXJlSW5QaWN0dXJlV2luZG93
KGluaXQucGljdHVyZUluUGljdHVyZVdpbmRvdy5yZWxlYXNlTm9uTnVsbCgpKQogewogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZlbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZlbnQuY3BwCmluZGV4IGQ0NGM0
OTRlNDEzZi4uZDM1NGUxYzRmNWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3B1c2gtYXBpL1B1c2hFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNo
LWFwaS9QdXNoRXZlbnQuY3BwCkBAIC03Myw3ICs3Myw3IEBAIHN0YXRpYyBpbmxpbmUgUmVmUHRy
PFB1c2hNZXNzYWdlRGF0YT4gcHVzaE1lc3NhZ2VEYXRhRnJvbU9wdGlvbmFsVmVjdG9yKHN0ZDo6
b3B0CiB9CiAKIFB1c2hFdmVudDo6UHVzaEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIEV4
dGVuZGFibGVFdmVudEluaXQmJiBldmVudEluaXQsIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4
X3Q+PiYmIGRhdGEsIElzVHJ1c3RlZCBpc1RydXN0ZWQpCi0gICAgOiBFeHRlbmRhYmxlRXZlbnQo
RXZlbnRJbnRlcmZhY2VUeXBlOjpQdXNoRXZlbnQsIHR5cGUsIFdURk1vdmUoZXZlbnRJbml0KSwg
aXNUcnVzdGVkKQorICAgIDogRXh0ZW5kYWJsZUV2ZW50KHR5cGUsIFdURk1vdmUoZXZlbnRJbml0
KSwgaXNUcnVzdGVkKQogICAgICwgbV9kYXRhKHB1c2hNZXNzYWdlRGF0YUZyb21PcHRpb25hbFZl
Y3RvcihXVEZNb3ZlKGRhdGEpKSkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcHVzaC1hcGkvUHVzaE5vdGlmaWNhdGlvbkV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcHVzaC1hcGkvUHVzaE5vdGlmaWNhdGlvbkV2ZW50LmNwcAppbmRleCAyN2ZjNmM4
MWIwN2IuLmY5OTQxYTg2MjUxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
dXNoLWFwaS9QdXNoTm90aWZpY2F0aW9uRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcHVzaC1hcGkvUHVzaE5vdGlmaWNhdGlvbkV2ZW50LmNwcApAQCAtMzUsNyArMzUsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoUHVzaE5v
dGlmaWNhdGlvbkV2ZW50KTsKIAogUHVzaE5vdGlmaWNhdGlvbkV2ZW50OjpQdXNoTm90aWZpY2F0
aW9uRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgRXh0ZW5kYWJsZUV2ZW50SW5pdCYmIGV2
ZW50SW5pdCwgTm90aWZpY2F0aW9uKiBwcm9wb3NlZE5vdGlmaWNhdGlvbiwgc3RkOjpvcHRpb25h
bDx1aW50NjRfdD4gcHJvcG9zZWRBcHBCYWRnZSwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkKLSAgICA6
IEV4dGVuZGFibGVFdmVudChFdmVudEludGVyZmFjZVR5cGU6OlB1c2hOb3RpZmljYXRpb25FdmVu
dCwgdHlwZSwgV1RGTW92ZShldmVudEluaXQpLCBpc1RydXN0ZWQpCisgICAgOiBFeHRlbmRhYmxl
RXZlbnQodHlwZSwgV1RGTW92ZShldmVudEluaXQpLCBpc1RydXN0ZWQpCiAgICAgLCBtX3Byb3Bv
c2VkTm90aWZpY2F0aW9uKHByb3Bvc2VkTm90aWZpY2F0aW9uKQogICAgICwgbV9wcm9wb3NlZEFw
cEJhZGdlKHByb3Bvc2VkQXBwQmFkZ2UpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5jcHAK
aW5kZXggZTU2YWVjYTY2ZTYzLi4xNjgyMDU3MWNkZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25DaGFuZ2VF
dmVudC5jcHAKQEAgLTQ2LDcgKzQ2LDcgQEAgUmVmPFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVu
dD4gUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50OjpjcmVhdGUoY29uc3QgQXRvbVMKIH0KIAog
UHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50OjpQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQo
Y29uc3QgQXRvbVN0cmluZyYgdHlwZSwgRXh0ZW5kYWJsZUV2ZW50SW5pdCYmIGV2ZW50SW5pdCwg
UmVmUHRyPFB1c2hTdWJzY3JpcHRpb24+JiYgbmV3U3Vic2NyaXB0aW9uLCBSZWZQdHI8UHVzaFN1
YnNjcmlwdGlvbj4mJiBvbGRTdWJzY3JpcHRpb24sIElzVHJ1c3RlZCBpc1RydXN0ZWQpCi0gICAg
OiBFeHRlbmRhYmxlRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpQdXNoU3Vic2NyaXB0aW9uQ2hh
bmdlRXZlbnQsIHR5cGUsIFdURk1vdmUoZXZlbnRJbml0KSwgaXNUcnVzdGVkKQorICAgIDogRXh0
ZW5kYWJsZUV2ZW50KHR5cGUsIFdURk1vdmUoZXZlbnRJbml0KSwgaXNUcnVzdGVkKQogICAgICwg
bV9uZXdTdWJzY3JpcHRpb24oV1RGTW92ZShuZXdTdWJzY3JpcHRpb24pKQogICAgICwgbV9vbGRT
dWJzY3JpcHRpb24oV1RGTW92ZShvbGRTdWJzY3JpcHRpb24pKQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25FcnJvckV2ZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXJyb3JF
dmVudC5jcHAKaW5kZXggYzFlNjZmN2E1ZjZlLi42MWM4ZDMxNmIwNGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXJyb3JFdmVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25F
cnJvckV2ZW50LmNwcApAQCAtNDQsMTQgKzQ0LDE0IEBAIFJlZjxTcGVlY2hSZWNvZ25pdGlvbkVy
cm9yRXZlbnQ+IFNwZWVjaFJlY29nbml0aW9uRXJyb3JFdmVudDo6Y3JlYXRlKGNvbnN0IEF0b21T
CiB9CiAKIFNwZWVjaFJlY29nbml0aW9uRXJyb3JFdmVudDo6U3BlZWNoUmVjb2duaXRpb25FcnJv
ckV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIEluaXQmJiBpbml0LCBJc1RydXN0ZWQgaXNU
cnVzdGVkKQotICAgIDogRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpTcGVlY2hSZWNvZ25pdGlv
bkVycm9yRXZlbnQsIHR5cGUsIGluaXQsIGlzVHJ1c3RlZCkKKyAgICA6IEV2ZW50KHR5cGUsIGlu
aXQsIGlzVHJ1c3RlZCkKICAgICAsIG1fZXJyb3IoaW5pdC5lcnJvcikKICAgICAsIG1fbWVzc2Fn
ZShXVEZNb3ZlKGluaXQubWVzc2FnZSkpCiB7CiB9CiAKIFNwZWVjaFJlY29nbml0aW9uRXJyb3JF
dmVudDo6U3BlZWNoUmVjb2duaXRpb25FcnJvckV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUs
IFNwZWVjaFJlY29nbml0aW9uRXJyb3JDb2RlIGVycm9yLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2Up
Ci0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6OlNwZWVjaFJlY29nbml0aW9uRXJyb3JF
dmVudCwgdHlwZSwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5v
KQorICAgIDogRXZlbnQodHlwZSwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNl
bGFibGU6Ok5vKQogICAgICwgbV9lcnJvcihlcnJvcikKICAgICAsIG1fbWVzc2FnZShtZXNzYWdl
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVj
b2duaXRpb25FdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hS
ZWNvZ25pdGlvbkV2ZW50LmNwcAppbmRleCAxNDA5NGMxM2NiZDAuLjI4NDZkYWE2MmU1OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25F
dmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2du
aXRpb25FdmVudC5jcHAKQEAgLTQ0LDE0ICs0NCwxNCBAQCBSZWY8U3BlZWNoUmVjb2duaXRpb25F
dmVudD4gU3BlZWNoUmVjb2duaXRpb25FdmVudDo6Y3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5
cAogfQogCiBTcGVlY2hSZWNvZ25pdGlvbkV2ZW50OjpTcGVlY2hSZWNvZ25pdGlvbkV2ZW50KGNv
bnN0IEF0b21TdHJpbmcmIHR5cGUsIEluaXQmJiBpbml0LCBJc1RydXN0ZWQgaXNUcnVzdGVkKQot
ICAgIDogRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpTcGVlY2hSZWNvZ25pdGlvbkV2ZW50LCB0
eXBlLCBpbml0LCBpc1RydXN0ZWQpCisgICAgOiBFdmVudCh0eXBlLCBpbml0LCBpc1RydXN0ZWQp
CiAgICAgLCBtX3Jlc3VsdEluZGV4KGluaXQucmVzdWx0SW5kZXgpCiAgICAgLCBtX3Jlc3VsdHMo
V1RGTW92ZShpbml0LnJlc3VsdHMpKQogewogfQogCiBTcGVlY2hSZWNvZ25pdGlvbkV2ZW50OjpT
cGVlY2hSZWNvZ25pdGlvbkV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIHVpbnQ2NF90IHJl
c3VsdEluZGV4LCBSZWZQdHI8U3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0PiYmIHJlc3VsdHMp
Ci0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6OlNwZWVjaFJlY29nbml0aW9uRXZlbnQs
IHR5cGUsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykKKyAg
ICA6IEV2ZW50KHR5cGUsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxl
OjpObykKICAgICAsIG1fcmVzdWx0SW5kZXgocmVzdWx0SW5kZXgpCiAgICAgLCBtX3Jlc3VsdHMo
V1RGTW92ZShyZXN1bHRzKSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
c3BlZWNoL1NwZWVjaFN5bnRoZXNpc0Vycm9yRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzRXJyb3JFdmVudC5jcHAKaW5kZXggYmQ2N2QwYzg5
MTIyLi43MDgwN2Y3OTBjNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3Bl
ZWNoL1NwZWVjaFN5bnRoZXNpc0Vycm9yRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpc0Vycm9yRXZlbnQuY3BwCkBAIC00MSw3ICs0MSw3
IEBAIFJlZjxTcGVlY2hTeW50aGVzaXNFcnJvckV2ZW50PiBTcGVlY2hTeW50aGVzaXNFcnJvckV2
ZW50OjpjcmVhdGUoY29uc3QgQXRvbVN0cmluCiB9CiAKIFNwZWVjaFN5bnRoZXNpc0Vycm9yRXZl
bnQ6OlNwZWVjaFN5bnRoZXNpc0Vycm9yRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29u
c3QgU3BlZWNoU3ludGhlc2lzRXJyb3JFdmVudEluaXQmIGluaXRpYWxpemVyKQotICAgIDogU3Bl
ZWNoU3ludGhlc2lzRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpTcGVlY2hTeW50aGVzaXNFcnJv
ckV2ZW50LCB0eXBlLCBpbml0aWFsaXplcikKKyAgICA6IFNwZWVjaFN5bnRoZXNpc0V2ZW50KHR5
cGUsIGluaXRpYWxpemVyKQogICAgICwgbV9lcnJvcihpbml0aWFsaXplci5lcnJvcikKIHsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNp
c0V2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNp
c0V2ZW50LmNwcAppbmRleCBjZjM2MGIyZTVmYzAuLjkwN2FlMDg2MjFlZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzRXZlbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpc0V2ZW50LmNw
cApAQCAtMzcsMTEgKzM3LDExIEBAIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChTcGVlY2hT
eW50aGVzaXNFdmVudCk7CiAKIFJlZjxTcGVlY2hTeW50aGVzaXNFdmVudD4gU3BlZWNoU3ludGhl
c2lzRXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBTcGVlY2hTeW50
aGVzaXNFdmVudEluaXQmIGluaXRpYWxpemVyKQogewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IFNwZWVjaFN5bnRoZXNpc0V2ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6U3BlZWNoU3ludGhlc2lz
RXZlbnQsIHR5cGUsIGluaXRpYWxpemVyKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3Bl
ZWNoU3ludGhlc2lzRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIpKTsKIH0KIAotU3BlZWNoU3ludGhl
c2lzRXZlbnQ6OlNwZWVjaFN5bnRoZXNpc0V2ZW50KGVudW0gRXZlbnRJbnRlcmZhY2VUeXBlIGV2
ZW50SW50ZXJmYWNlLCBjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBTcGVlY2hTeW50aGVz
aXNFdmVudEluaXQmIGluaXRpYWxpemVyKQotICAgIDogRXZlbnQoZXZlbnRJbnRlcmZhY2UsIHR5
cGUsIENhbkJ1YmJsZTo6Tm8sIElzQ2FuY2VsYWJsZTo6Tm8pCitTcGVlY2hTeW50aGVzaXNFdmVu
dDo6U3BlZWNoU3ludGhlc2lzRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgU3Bl
ZWNoU3ludGhlc2lzRXZlbnRJbml0JiBpbml0aWFsaXplcikKKyAgICA6IEV2ZW50KHR5cGUsIENh
bkJ1YmJsZTo6Tm8sIElzQ2FuY2VsYWJsZTo6Tm8pCiAgICAgLCBtX3V0dGVyYW5jZShpbml0aWFs
aXplci51dHRlcmFuY2UpCiAgICAgLCBtX2NoYXJJbmRleChpbml0aWFsaXplci5jaGFySW5kZXgp
CiAgICAgLCBtX2NoYXJMZW5ndGgoaW5pdGlhbGl6ZXIuY2hhckxlbmd0aCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpc0V2ZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNFdmVudC5oCmluZGV4
IDIzZGMwNTEwMjdhZC4uZjQwOTBkMzk0NGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpc0V2ZW50LmgKQEAgLTQ4LDcgKzQ4LDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRlcmZhY2UoKSBjb25z
dCB7IHJldHVybiBTcGVlY2hTeW50aGVzaXNFdmVudEludGVyZmFjZVR5cGU7IH0KIAogcHJvdGVj
dGVkOgotICAgIFNwZWVjaFN5bnRoZXNpc0V2ZW50KGVudW0gRXZlbnRJbnRlcmZhY2VUeXBlLCBj
b25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBTcGVlY2hTeW50aGVzaXNFdmVudEluaXQmKTsK
KyAgICBTcGVlY2hTeW50aGVzaXNFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBT
cGVlY2hTeW50aGVzaXNFdmVudEluaXQmKTsKIAogcHJpdmF0ZToKICAgICBSZWZQdHI8U3BlZWNo
U3ludGhlc2lzVXR0ZXJhbmNlPiBtX3V0dGVyYW5jZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5jcHAKaW5kZXggZmZh
YTQ5NTI5ZjY4Li5hNDE2NzBiZGJhODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuY3BwCkBAIC00Nyw3ICs0Nyw3
IEBAIFJlZjxBdWRpb1Byb2Nlc3NpbmdFdmVudD4gQXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OmNyZWF0
ZShjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5CiB9CiAKIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpB
dWRpb1Byb2Nlc3NpbmdFdmVudChSZWZQdHI8QXVkaW9CdWZmZXI+JiYgaW5wdXRCdWZmZXIsIFJl
ZlB0cjxBdWRpb0J1ZmZlcj4mJiBvdXRwdXRCdWZmZXIsIGRvdWJsZSBwbGF5YmFja1RpbWUpCi0g
ICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50LCBldmVu
dE5hbWVzKCkuYXVkaW9wcm9jZXNzRXZlbnQsIENhbkJ1YmJsZTo6WWVzLCBJc0NhbmNlbGFibGU6
Ok5vKQorICAgIDogRXZlbnQoZXZlbnROYW1lcygpLmF1ZGlvcHJvY2Vzc0V2ZW50LCBDYW5CdWJi
bGU6OlllcywgSXNDYW5jZWxhYmxlOjpObykKICAgICAsIG1faW5wdXRCdWZmZXIoV1RGTW92ZShp
bnB1dEJ1ZmZlcikpCiAgICAgLCBtX291dHB1dEJ1ZmZlcihXVEZNb3ZlKG91dHB1dEJ1ZmZlcikp
CiAgICAgLCBtX3BsYXliYWNrVGltZShwbGF5YmFja1RpbWUpCkBAIC01NSw3ICs1NSw3IEBAIEF1
ZGlvUHJvY2Vzc2luZ0V2ZW50OjpBdWRpb1Byb2Nlc3NpbmdFdmVudChSZWZQdHI8QXVkaW9CdWZm
ZXI+JiYgaW5wdXRCdWZmZXIsIFJlCiB9CiAKIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpBdWRpb1By
b2Nlc3NpbmdFdmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIEF1ZGlvUHJvY2Vzc2lu
Z0V2ZW50SW5pdCYmIGV2ZW50SW5pdERpY3QpCi0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5
cGU6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50LCBldmVudFR5cGUsIGV2ZW50SW5pdERpY3QsIElzVHJ1
c3RlZDo6Tm8pCisgICAgOiBFdmVudChldmVudFR5cGUsIGV2ZW50SW5pdERpY3QsIElzVHJ1c3Rl
ZDo6Tm8pCiAgICAgLCBtX2lucHV0QnVmZmVyKGV2ZW50SW5pdERpY3QuaW5wdXRCdWZmZXIucmVs
ZWFzZU5vbk51bGwoKSkKICAgICAsIG1fb3V0cHV0QnVmZmVyKGV2ZW50SW5pdERpY3Qub3V0cHV0
QnVmZmVyLnJlbGVhc2VOb25OdWxsKCkpCiAgICAgLCBtX3BsYXliYWNrVGltZShldmVudEluaXRE
aWN0LnBsYXliYWNrVGltZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50LmNwcAppbmRleCA1OGVk
YjE5NjRjZDAuLjY5MjUyMzM0NWJhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50LmNwcApA
QCAtNTEsMTMgKzUxLDEzIEBAIFJlZjxPZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnQ+IE9mZmxp
bmVBdWRpb0NvbXBsZXRpb25FdmVudDo6Y3JlYXRlKGNvbnN0IEF0b21TCiB9CiAKIE9mZmxpbmVB
dWRpb0NvbXBsZXRpb25FdmVudDo6T2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50KFJlZjxBdWRp
b0J1ZmZlcj4mJiByZW5kZXJlZEJ1ZmZlcikKLSAgICA6IEV2ZW50KEV2ZW50SW50ZXJmYWNlVHlw
ZTo6T2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50LCBldmVudE5hbWVzKCkuY29tcGxldGVFdmVu
dCwgQ2FuQnViYmxlOjpZZXMsIElzQ2FuY2VsYWJsZTo6Tm8pCisgICAgOiBFdmVudChldmVudE5h
bWVzKCkuY29tcGxldGVFdmVudCwgQ2FuQnViYmxlOjpZZXMsIElzQ2FuY2VsYWJsZTo6Tm8pCiAg
ICAgLCBtX3JlbmRlcmVkQnVmZmVyKFdURk1vdmUocmVuZGVyZWRCdWZmZXIpKQogewogfQogCiBP
ZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnQ6Ok9mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudChj
b25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIE9mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudElu
aXQmJiBpbml0KQotICAgIDogRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpPZmZsaW5lQXVkaW9D
b21wbGV0aW9uRXZlbnQsIGV2ZW50VHlwZSwgaW5pdCwgSXNUcnVzdGVkOjpObykKKyAgICA6IEV2
ZW50KGV2ZW50VHlwZSwgaW5pdCwgSXNUcnVzdGVkOjpObykKICAgICAsIG1fcmVuZGVyZWRCdWZm
ZXIoaW5pdC5yZW5kZXJlZEJ1ZmZlci5yZWxlYXNlTm9uTnVsbCgpKQogewogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL0Nsb3NlRXZlbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9DbG9zZUV2ZW50LmgKaW5kZXggNjE2ODgwMjAz
MzMzLi5lN2ZmMGIyMzBlMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
c29ja2V0cy9DbG9zZUV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2Nr
ZXRzL0Nsb3NlRXZlbnQuaApAQCAtNjMsNyArNjMsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAg
ICAgQ2xvc2VFdmVudChib29sIHdhc0NsZWFuLCBpbnQgY29kZSwgY29uc3QgU3RyaW5nJiByZWFz
b24pCi0gICAgICAgIDogRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpDbG9zZUV2ZW50LCBldmVu
dE5hbWVzKCkuY2xvc2VFdmVudCwgQ2FuQnViYmxlOjpObywgSXNDYW5jZWxhYmxlOjpObykKKyAg
ICAgICAgOiBFdmVudChldmVudE5hbWVzKCkuY2xvc2VFdmVudCwgQ2FuQnViYmxlOjpObywgSXND
YW5jZWxhYmxlOjpObykKICAgICAgICAgLCBtX3dhc0NsZWFuKHdhc0NsZWFuKQogICAgICAgICAs
IG1fY29kZShjb2RlKQogICAgICAgICAsIG1fcmVhc29uKHJlYXNvbikKQEAgLTcxLDcgKzcxLDcg
QEAgcHJpdmF0ZToKICAgICB9CiAKICAgICBDbG9zZUV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5
cGUsIGNvbnN0IEluaXQmIGluaXRpYWxpemVyLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQotICAgICAg
ICA6IEV2ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6Q2xvc2VFdmVudCwgdHlwZSwgaW5pdGlhbGl6
ZXIsIGlzVHJ1c3RlZCkKKyAgICAgICAgOiBFdmVudCh0eXBlLCBpbml0aWFsaXplciwgaXNUcnVz
dGVkKQogICAgICAgICAsIG1fd2FzQ2xlYW4oaW5pdGlhbGl6ZXIud2FzQ2xlYW4pCiAgICAgICAg
ICwgbV9jb2RlKGluaXRpYWxpemVyLmNvZGUpCiAgICAgICAgICwgbV9yZWFzb24oaW5pdGlhbGl6
ZXIucmVhc29uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUklu
cHV0U291cmNlRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUklucHV0
U291cmNlRXZlbnQuY3BwCmluZGV4IGJmOGViOWFlOWNlZC4uZmM4OGJmN2E3OWI2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1hSSW5wdXRTb3VyY2VFdmVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUklucHV0U291cmNlRXZlbnQuY3Bw
CkBAIC00Miw3ICs0Miw3IEBAIFJlZjxYUklucHV0U291cmNlRXZlbnQ+IFhSSW5wdXRTb3VyY2VF
dmVudDo6Y3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0CiB9CiAKIFhSSW5wdXRT
b3VyY2VFdmVudDo6WFJJbnB1dFNvdXJjZUV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNv
bnN0IEluaXQmIGluaXRpYWxpemVyLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQotICAgIDogRXZlbnQo
RXZlbnRJbnRlcmZhY2VUeXBlOjpYUklucHV0U291cmNlRXZlbnQsIHR5cGUsIGluaXRpYWxpemVy
LCBpc1RydXN0ZWQpCisgICAgOiBFdmVudCh0eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKQog
ICAgICwgbV9mcmFtZShpbml0aWFsaXplci5mcmFtZSkKICAgICAsIG1faW5wdXRTb3VyY2UoaW5p
dGlhbGl6ZXIuaW5wdXRTb3VyY2UpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnhyL1hSSW5wdXRTb3VyY2VzQ2hhbmdlRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJ4ci9YUklucHV0U291cmNlc0NoYW5nZUV2ZW50LmNwcAppbmRleCAyNzdhMTc5
ODU2NDQuLjgwYjk1ZGJlZThkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJ4ci9YUklucHV0U291cmNlc0NoYW5nZUV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnhyL1hSSW5wdXRTb3VyY2VzQ2hhbmdlRXZlbnQuY3BwCkBAIC00Miw3ICs0Miw3
IEBAIFJlZjxYUklucHV0U291cmNlc0NoYW5nZUV2ZW50PiBYUklucHV0U291cmNlc0NoYW5nZUV2
ZW50OjpjcmVhdGUoY29uc3QgQXRvbVN0cmluCiB9CiAKIFhSSW5wdXRTb3VyY2VzQ2hhbmdlRXZl
bnQ6OlhSSW5wdXRTb3VyY2VzQ2hhbmdlRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29u
c3QgSW5pdCYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0ZWQpCi0gICAgOiBFdmVudChF
dmVudEludGVyZmFjZVR5cGU6OlhSSW5wdXRTb3VyY2VzQ2hhbmdlRXZlbnQsIHR5cGUsIGluaXRp
YWxpemVyLCBpc1RydXN0ZWQpCisgICAgOiBFdmVudCh0eXBlLCBpbml0aWFsaXplciwgaXNUcnVz
dGVkKQogICAgICwgbV9zZXNzaW9uKCppbml0aWFsaXplci5zZXNzaW9uKQogICAgICwgbV9hZGRl
ZChpbml0aWFsaXplci5hZGRlZCkKICAgICAsIG1fcmVtb3ZlZChpbml0aWFsaXplci5yZW1vdmVk
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUlJlZmVyZW5jZVNw
YWNlRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUlJlZmVyZW5jZVNw
YWNlRXZlbnQuY3BwCmluZGV4IGMxOGQ3YmQzMzcyNy4uNmEyZjRjZWU5YTAwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1hSUmVmZXJlbmNlU3BhY2VFdmVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUlJlZmVyZW5jZVNwYWNlRXZlbnQu
Y3BwCkBAIC00Miw3ICs0Miw3IEBAIFJlZjxYUlJlZmVyZW5jZVNwYWNlRXZlbnQ+IFhSUmVmZXJl
bmNlU3BhY2VFdmVudDo6Y3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsCiB9CiAKIFhSUmVm
ZXJlbmNlU3BhY2VFdmVudDo6WFJSZWZlcmVuY2VTcGFjZUV2ZW50KGNvbnN0IEF0b21TdHJpbmcm
IHR5cGUsIGNvbnN0IEluaXQmIGluaXRpYWxpemVyLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQotICAg
IDogRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpYUlJlZmVyZW5jZVNwYWNlRXZlbnQsIHR5cGUs
IGluaXRpYWxpemVyLCBpc1RydXN0ZWQpCisgICAgOiBFdmVudCh0eXBlLCBpbml0aWFsaXplciwg
aXNUcnVzdGVkKQogICAgICwgbV9yZWZlcmVuY2VTcGFjZShpbml0aWFsaXplci5yZWZlcmVuY2VT
cGFjZSkKICAgICAsIG1fdHJhbnNmb3JtKGluaXRpYWxpemVyLnRyYW5zZm9ybSkKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvWFJTZXNzaW9uRXZlbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUlNlc3Npb25FdmVudC5jcHAKaW5kZXggMmRk
OGU3NGMxYzQ3Li5kZmUyZWM2NDE5ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2VieHIvWFJTZXNzaW9uRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VieHIvWFJTZXNzaW9uRXZlbnQuY3BwCkBAIC00MSw3ICs0MSw3IEBAIFJlZjxYUlNlc3Npb25F
dmVudD4gWFJTZXNzaW9uRXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25z
dCBJbml0JiBpCiB9CiAKIFhSU2Vzc2lvbkV2ZW50OjpYUlNlc3Npb25FdmVudChjb25zdCBBdG9t
U3RyaW5nJiB0eXBlLCBjb25zdCBJbml0JiBpbml0aWFsaXplciwgSXNUcnVzdGVkIGlzVHJ1c3Rl
ZCkKLSAgICA6IEV2ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6WFJTZXNzaW9uRXZlbnQsIHR5cGUs
IGluaXRpYWxpemVyLCBpc1RydXN0ZWQpCisgICAgOiBFdmVudCh0eXBlLCBpbml0aWFsaXplciwg
aXNUcnVzdGVkKQogICAgICwgbV9zZXNzaW9uKGluaXRpYWxpemVyLnNlc3Npb24pCiB7CiAgICAg
QVNTRVJUKG1fc2Vzc2lvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDUxOTNjOGI3ZjhmNC4uOTcyODBk
NzI0YmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMjY5NSw3ICsyNjk1LDYgQEAgcmVuZGVyaW5nL1Jl
bmRlclRyZWVNdXRhdGlvbkRpc2FsbG93ZWRTY29wZS5jcHAKIHJlbmRlcmluZy9SZW5kZXJWVFRD
dWUuY3BwCiByZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwCiByZW5kZXJpbmcvUmVuZGVyVmlldy5j
cHAKLXJlbmRlcmluZy9SZW5kZXJWaWV3VHJhbnNpdGlvbkNhcHR1cmUuY3BwCiByZW5kZXJpbmcv
UmVuZGVyV2lkZ2V0LmNwcAogcmVuZGVyaW5nL1N0eWxlZE1hcmtlZFRleHQuY3BwCiByZW5kZXJp
bmcvVGFibGVMYXlvdXQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggMTQwZGFmMDk5ODcwLi4yMmFjM2QxZjI4NTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTQyMjMsNyArNDIyMyw2IEBACiAJCUE3RDZCMzQ5MEY2MTEwNDUwMEZGOUZEMSAvKiBXb3JrZXJG
b250TG9hZFJlcXVlc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE3RDZCMzQ3MEY2MTEwNDUwMEZGOUZEMSAvKiBXb3JrZXJGb250TG9hZFJlcXVlc3Qu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBN0Q4
RTY0QTI4QzgwRjJBMDAxOUY5MkYgLyogR3JhcGhpY3NDbGllbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3RDhFNjQ5MjhDODBGMkEwMDE5RjkyRiAv
KiBHcmFwaGljc0NsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCUE3REJGOERFMTI3NjkxOUMwMDZCNjAwOCAvKiBUZXh0Q2hlY2tpbmdIZWxw
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3REJG
OERDMTI3NjkxOUMwMDZCNjAwOCAvKiBUZXh0Q2hlY2tpbmdIZWxwZXIuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlBN0Y0OUMxMzJCN0Q0OUI4MDBD
NzE1MTkgLyogUmVuZGVyVmlld1RyYW5zaXRpb25DYXB0dXJlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0Y0OUMxMjJCN0Q0OUEwMDBDNzE1MTkgLyog
UmVuZGVyVmlld1RyYW5zaXRpb25DYXB0dXJlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTgwRTZDRTYwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU1By
aW1pdGl2ZVZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBODBFNkNCQzBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTUHJpbWl0aXZlVmFsdWUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBODBFNkNFODBB
MTk4OUNBMDA3RkI4QzUgLyogQ1NTU2hhZG93VmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4MEU2Q0JFMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NT
aGFkb3dWYWx1ZS5oICovOyB9OwogCQlBODBFNkNFOTBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTVmFs
dWVMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
ODBFNkNCRjBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTVmFsdWVMaXN0LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTE2MTgyLDggKzE2MTgxLDYgQEAK
IAkJQTdEOEU2NDkyOEM4MEYyQTAwMTlGOTJGIC8qIEdyYXBoaWNzQ2xpZW50LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdyYXBoaWNzQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUE3REJGOERCMTI3NjkxOUMwMDZCNjAwOCAvKiBUZXh0Q2hlY2tpbmdI
ZWxwZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGV4dENoZWNr
aW5nSGVscGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTdEQkY4REMxMjc2
OTE5QzAwNkI2MDA4IC8qIFRleHRDaGVja2luZ0hlbHBlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBUZXh0Q2hlY2tpbmdIZWxwZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJQTdGNDlDMTIyQjdENDlBMDAwQzcxNTE5IC8qIFJlbmRlclZpZXdUcmFuc2l0aW9u
Q2FwdHVyZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJWaWV3VHJhbnNpdGlvbkNhcHR1cmUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQTdGNDlDMTQyQjdENTAwRjAwQzcxNTE5IC8q
IFJlbmRlclZpZXdUcmFuc2l0aW9uQ2FwdHVyZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5k
ZXJWaWV3VHJhbnNpdGlvbkNhcHR1cmUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBN0ZGMUE4NjI5MUM0QUQxMDBBN0RFMjQgLyogR3JhcGhpY3NMYXllckFzeW5jQ29udGVudHNE
aXNwbGF5RGVsZWdhdGVDb2NvYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHcmFwaGljc0xheWVyQXN5bmND
b250ZW50c0Rpc3BsYXlEZWxlZ2F0ZUNvY29hLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE3RkYxQTg3MjkxQzRBRDIwMEE3REUyNCAvKiBHcmFwaGljc0xheWVyQXN5bmNDb250ZW50
c0Rpc3BsYXlEZWxlZ2F0ZUNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gR3JhcGhpY3NM
YXllckFzeW5jQ29udGVudHNEaXNwbGF5RGVsZWdhdGVDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTgwQTM4RkQwRTUwQ0M4MjAwQTI1RUJDIC8qIFBhdHRlcm5DRy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYXR0ZXJuQ0cuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzY0NDgsOCArMzY0NDUsNiBAQAogCQkJCUU0QjQx
RTM0MENCRkI2MDkwMEFGMkVDRSAvKiBSZW5kZXJWaWRlby5oICovLAogCQkJCUJDRUE0ODI4MDk3
RDkzMDIwMDk0QzlFNCAvKiBSZW5kZXJWaWV3LmNwcCAqLywKIAkJCQlCQ0VBNDgyOTA5N0Q5MzAy
MDA5NEM5RTQgLyogUmVuZGVyVmlldy5oICovLAotCQkJCUE3RjQ5QzE0MkI3RDUwMEYwMEM3MTUx
OSAvKiBSZW5kZXJWaWV3VHJhbnNpdGlvbkNhcHR1cmUuY3BwICovLAotCQkJCUE3RjQ5QzEyMkI3
RDQ5QTAwMEM3MTUxOSAvKiBSZW5kZXJWaWV3VHJhbnNpdGlvbkNhcHR1cmUuaCAqLywKIAkJCQlC
RTIwNTA3QjE4QTQ1OEIxMDA4MDY0N0UgLyogUmVuZGVyVlRUQ3VlLmNwcCAqLywKIAkJCQlCRTIw
NTA3QzE4QTQ1OEIxMDA4MDY0N0UgLyogUmVuZGVyVlRUQ3VlLmggKi8sCiAJCQkJQTg3MURGRTEw
QTE1Mzc2QjAwQjEyQTY4IC8qIFJlbmRlcldpZGdldC5jcHAgKi8sCkBAIC00MTczOCw3ICs0MTcz
Myw2IEBACiAJCQkJRTQ3QzM5MzExRkU2RTEwMjAwQkJCQzZCIC8qIFJlbmRlclRyZWVVcGRhdGVy
R2VuZXJhdGVkQ29udGVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ0NjE0NTIwQ0Q2OEEzNTAw
RkFEQTc1IC8qIFJlbmRlclZpZGVvLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VBNDg2ODA5N0Q5
MzAyMDA5NEM5RTQgLyogUmVuZGVyVmlldy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQTdGNDlDMTMy
QjdENDlCODAwQzcxNTE5IC8qIFJlbmRlclZpZXdUcmFuc2l0aW9uQ2FwdHVyZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkUyMDUwN0UxOEE0NThDMjAwODA2NDdFIC8qIFJlbmRlclZUVEN1ZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTg3MURGRTQwQTE1Mzc2QjAwQjEyQTY4IC8qIFJlbmRlcldpZGdl
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg5Q0NDNTMwRjQ0RTk4MTAwQjVEQTEwIC8qIFJlcGxh
Y2VOb2RlV2l0aFNwYW5Db21tYW5kLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9BY2NlbGVyYXRlZFRpbWVsaW5lLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9BY2NlbGVyYXRlZFRpbWVsaW5lLmNwcAppbmRleCA5M2FiNzFlZTRhNmQu
LmY1NTU3ODM5ODI4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FjY2Vs
ZXJhdGVkVGltZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BY2NlbGVy
YXRlZFRpbWVsaW5lLmNwcApAQCAtNTQsMTEgKzU0LDEzIEBAIEFjY2VsZXJhdGVkVGltZWxpbmU6
OkFjY2VsZXJhdGVkVGltZWxpbmUoRG9jdW1lbnQmIGRvY3VtZW50KQogdm9pZCBBY2NlbGVyYXRl
ZFRpbWVsaW5lOjp1cGRhdGVFZmZlY3RTdGFja3MoKQogewogICAgIGF1dG8gdGFyZ2V0c1BlbmRp
bmdVcGRhdGUgPSBzdGQ6OmV4Y2hhbmdlKG1fdGFyZ2V0c1BlbmRpbmdVcGRhdGUsIHsgfSk7Ci0g
ICAgZm9yIChhdXRvIFtlbGVtZW50LCBwc2V1ZG9FbGVtZW50SWRlbnRpZmllcl0gOiB0YXJnZXRz
UGVuZGluZ1VwZGF0ZSkgeworICAgIGZvciAoYXV0byBoYXNoZWRTdHlsZWFibGUgOiB0YXJnZXRz
UGVuZGluZ1VwZGF0ZSkgeworICAgICAgICBhdXRvKiBlbGVtZW50ID0gaGFzaGVkU3R5bGVhYmxl
LmZpcnN0OwogICAgICAgICBpZiAoIWVsZW1lbnQpCiAgICAgICAgICAgICBjb250aW51ZTsKIAot
ICAgICAgICBTdHlsZWFibGUgdGFyZ2V0IHsgKmVsZW1lbnQsIHBzZXVkb0VsZW1lbnRJZGVudGlm
aWVyIH07CisgICAgICAgIGF1dG8gcHNldWRvSWQgPSBzdGF0aWNfY2FzdDxQc2V1ZG9JZD4oaGFz
aGVkU3R5bGVhYmxlLnNlY29uZCk7CisgICAgICAgIFN0eWxlYWJsZSB0YXJnZXQgeyAqZWxlbWVu
dCwgcHNldWRvSWQgfTsKIAogICAgICAgICBhdXRvKiByZW5kZXJlciA9IGR5bmFtaWNEb3duY2Fz
dDxSZW5kZXJMYXllck1vZGVsT2JqZWN0Pih0YXJnZXQucmVuZGVyZXIoKSk7CiAgICAgICAgIGlm
ICghcmVuZGVyZXIgfHwgIXJlbmRlcmVyLT5pc0NvbXBvc2l0ZWQoKSkKQEAgLTcyLDcgKzc0LDcg
QEAgdm9pZCBBY2NlbGVyYXRlZFRpbWVsaW5lOjp1cGRhdGVFZmZlY3RTdGFja3MoKQogCiB2b2lk
IEFjY2VsZXJhdGVkVGltZWxpbmU6OnVwZGF0ZUVmZmVjdFN0YWNrRm9yVGFyZ2V0KGNvbnN0IFN0
eWxlYWJsZSYgdGFyZ2V0KQogewotICAgIG1fdGFyZ2V0c1BlbmRpbmdVcGRhdGUuYWRkKHsgJnRh
cmdldC5lbGVtZW50LCB0YXJnZXQucHNldWRvRWxlbWVudElkZW50aWZpZXIgfSk7CisgICAgbV90
YXJnZXRzUGVuZGluZ1VwZGF0ZS5hZGQoeyAmdGFyZ2V0LmVsZW1lbnQsIGVudW1Ub1VuZGVybHlp
bmdUeXBlKHRhcmdldC5wc2V1ZG9JZCkgfSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BY2NlbGVyYXRlZFRpbWVsaW5l
LmggYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQWNjZWxlcmF0ZWRUaW1lbGluZS5oCmluZGV4
IDI2ZTRmYmI2YzcwNi4uZTI3NjcxZTVmYjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
bmltYXRpb24vQWNjZWxlcmF0ZWRUaW1lbGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1h
dGlvbi9BY2NlbGVyYXRlZFRpbWVsaW5lLmgKQEAgLTUxLDcgKzUxLDcgQEAgcHVibGljOgogcHJv
dGVjdGVkOgogICAgIAogcHJpdmF0ZToKLSAgICB1c2luZyBIYXNoZWRTdHlsZWFibGUgPSBzdGQ6
OnBhaXI8RWxlbWVudCosIHN0ZDo6b3B0aW9uYWw8U3R5bGU6OlBzZXVkb0VsZW1lbnRJZGVudGlm
aWVyPj47CisgICAgdXNpbmcgSGFzaGVkU3R5bGVhYmxlID0gc3RkOjpwYWlyPEVsZW1lbnQqLCB1
bnNpZ25lZD47CiAgICAgSGFzaFNldDxIYXNoZWRTdHlsZWFibGU+IG1fdGFyZ2V0c1BlbmRpbmdV
cGRhdGU7CiAgICAgU2Vjb25kcyBtX3RpbWVPcmlnaW47CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkV2ZW50QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vQW5pbWF0aW9uRXZlbnRCYXNlLmNwcAppbmRleCA0ZWUzZDA2MjQ5MDUuLmJl
M2MwMDAwMzQyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlv
bkV2ZW50QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkV2
ZW50QmFzZS5jcHAKQEAgLTM1LDE1ICszNSwxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdU
Rl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChBbmltYXRpb25FdmVudEJhc2UpOwogCi1BbmltYXRp
b25FdmVudEJhc2U6OkFuaW1hdGlvbkV2ZW50QmFzZShlbnVtIEV2ZW50SW50ZXJmYWNlVHlwZSBl
dmVudEludGVyZmFjZSwgY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgV2ViQW5pbWF0aW9uKiBhbmlt
YXRpb24sIHN0ZDo6b3B0aW9uYWw8U2Vjb25kcz4gc2NoZWR1bGVkVGltZSkKLSAgICA6IEV2ZW50
KGV2ZW50SW50ZXJmYWNlLCB0eXBlLCBDYW5CdWJibGU6OlllcywgSXNDYW5jZWxhYmxlOjpObykK
K0FuaW1hdGlvbkV2ZW50QmFzZTo6QW5pbWF0aW9uRXZlbnRCYXNlKGNvbnN0IEF0b21TdHJpbmcm
IHR5cGUsIFdlYkFuaW1hdGlvbiogYW5pbWF0aW9uLCBzdGQ6Om9wdGlvbmFsPFNlY29uZHM+IHNj
aGVkdWxlZFRpbWUpCisgICAgOiBFdmVudCh0eXBlLCBDYW5CdWJibGU6OlllcywgSXNDYW5jZWxh
YmxlOjpObykKICAgICAsIG1fYW5pbWF0aW9uKGFuaW1hdGlvbikKICAgICAsIG1fc2NoZWR1bGVk
VGltZShzY2hlZHVsZWRUaW1lKQogewogfQogCi1BbmltYXRpb25FdmVudEJhc2U6OkFuaW1hdGlv
bkV2ZW50QmFzZShlbnVtIEV2ZW50SW50ZXJmYWNlVHlwZSBldmVudEludGVyZmFjZSwgY29uc3Qg
QXRvbVN0cmluZyYgdHlwZSwgY29uc3QgRXZlbnRJbml0JiBpbml0aWFsaXplciwgSXNUcnVzdGVk
IGlzVHJ1c3RlZCkKLSAgICA6IEV2ZW50KGV2ZW50SW50ZXJmYWNlLCB0eXBlLCBpbml0aWFsaXpl
ciwgaXNUcnVzdGVkKQorQW5pbWF0aW9uRXZlbnRCYXNlOjpBbmltYXRpb25FdmVudEJhc2UoY29u
c3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgRXZlbnRJbml0JiBpbml0aWFsaXplciwgSXNUcnVz
dGVkIGlzVHJ1c3RlZCkKKyAgICA6IEV2ZW50KHR5cGUsIGluaXRpYWxpemVyLCBpc1RydXN0ZWQp
CiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25F
dmVudEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FdmVudEJhc2Uu
aAppbmRleCA1MDQ2YzY4OGY5ZjYuLmE4NTdmMmQ1YTRmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkV2ZW50QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FuaW1hdGlvbi9BbmltYXRpb25FdmVudEJhc2UuaApAQCAtNDUsOCArNDUsOCBAQCBwdWJsaWM6
CiAgICAgc3RkOjpvcHRpb25hbDxTZWNvbmRzPiBzY2hlZHVsZWRUaW1lKCkgY29uc3QgeyByZXR1
cm4gbV9zY2hlZHVsZWRUaW1lOyB9CiAKIHByb3RlY3RlZDoKLSAgICBBbmltYXRpb25FdmVudEJh
c2UoZW51bSBFdmVudEludGVyZmFjZVR5cGUsIGNvbnN0IEF0b21TdHJpbmcmLCBXZWJBbmltYXRp
b24qLCBzdGQ6Om9wdGlvbmFsPFNlY29uZHM+IHNjaGVkdWxlZFRpbWUpOwotICAgIEFuaW1hdGlv
bkV2ZW50QmFzZShlbnVtIEV2ZW50SW50ZXJmYWNlVHlwZSwgY29uc3QgQXRvbVN0cmluZyYsIGNv
bnN0IEV2ZW50SW5pdCYsIElzVHJ1c3RlZCk7CisgICAgQW5pbWF0aW9uRXZlbnRCYXNlKGNvbnN0
IEF0b21TdHJpbmcmLCBXZWJBbmltYXRpb24qLCBzdGQ6Om9wdGlvbmFsPFNlY29uZHM+IHNjaGVk
dWxlZFRpbWUpOworICAgIEFuaW1hdGlvbkV2ZW50QmFzZShjb25zdCBBdG9tU3RyaW5nJiwgY29u
c3QgRXZlbnRJbml0JiwgSXNUcnVzdGVkKTsKIAogcHJpdmF0ZToKICAgICBSZWZQdHI8V2ViQW5p
bWF0aW9uPiBtX2FuaW1hdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9BbmltYXRpb25QbGF5YmFja0V2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9B
bmltYXRpb25QbGF5YmFja0V2ZW50LmNwcAppbmRleCBhOGU5MWRjN2U1Y2IuLjg2ZTQ0ZmYzMzRm
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvblBsYXliYWNr
RXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25QbGF5YmFj
a0V2ZW50LmNwcApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBXVEZfTUFL
RV9JU09fQUxMT0NBVEVEX0lNUEwoQW5pbWF0aW9uUGxheWJhY2tFdmVudCk7CiAKIEFuaW1hdGlv
blBsYXliYWNrRXZlbnQ6OkFuaW1hdGlvblBsYXliYWNrRXZlbnQoY29uc3QgQXRvbVN0cmluZyYg
dHlwZSwgY29uc3QgQW5pbWF0aW9uUGxheWJhY2tFdmVudEluaXQmIGluaXRpYWxpemVyLCBJc1Ry
dXN0ZWQgaXNUcnVzdGVkKQotICAgIDogQW5pbWF0aW9uRXZlbnRCYXNlKEV2ZW50SW50ZXJmYWNl
VHlwZTo6QW5pbWF0aW9uUGxheWJhY2tFdmVudCwgdHlwZSwgaW5pdGlhbGl6ZXIsIGlzVHJ1c3Rl
ZCkKKyAgICA6IEFuaW1hdGlvbkV2ZW50QmFzZSh0eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVk
KQogewogICAgIGlmIChpbml0aWFsaXplci5jdXJyZW50VGltZSkKICAgICAgICAgbV9jdXJyZW50
VGltZSA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMoKmluaXRpYWxpemVyLmN1cnJlbnRUaW1l
KTsKQEAgLTQ4LDcgKzQ4LDcgQEAgQW5pbWF0aW9uUGxheWJhY2tFdmVudDo6QW5pbWF0aW9uUGxh
eWJhY2tFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBBbmkKIH0KIAogQW5pbWF0
aW9uUGxheWJhY2tFdmVudDo6QW5pbWF0aW9uUGxheWJhY2tFdmVudChjb25zdCBBdG9tU3RyaW5n
JiB0eXBlLCBXZWJBbmltYXRpb24qIGFuaW1hdGlvbiwgc3RkOjpvcHRpb25hbDxTZWNvbmRzPiBz
Y2hlZHVsZWRUaW1lLCBzdGQ6Om9wdGlvbmFsPFNlY29uZHM+IHRpbWVsaW5lVGltZSwgc3RkOjpv
cHRpb25hbDxTZWNvbmRzPiBjdXJyZW50VGltZSkKLSAgICA6IEFuaW1hdGlvbkV2ZW50QmFzZShF
dmVudEludGVyZmFjZVR5cGU6OkFuaW1hdGlvblBsYXliYWNrRXZlbnQsIHR5cGUsIGFuaW1hdGlv
biwgc2NoZWR1bGVkVGltZSkKKyAgICA6IEFuaW1hdGlvbkV2ZW50QmFzZSh0eXBlLCBhbmltYXRp
b24sIHNjaGVkdWxlZFRpbWUpCiAgICAgLCBtX3RpbWVsaW5lVGltZSh0aW1lbGluZVRpbWUpCiAg
ICAgLCBtX2N1cnJlbnRUaW1lKGN1cnJlbnRUaW1lKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYW5pbWF0aW9uL0NTU0FuaW1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vQ1NTQW5pbWF0aW9uLmNwcAppbmRleCBkZGZlZWU0MjllZjYuLjZiYzJhM2IzMDM1MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0NTU0FuaW1hdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0NTU0FuaW1hdGlvbi5jcHAKQEAgLTI4OCw5ICsyODgs
OSBAQCB2b2lkIENTU0FuaW1hdGlvbjo6dXBkYXRlS2V5ZnJhbWVzSWZOZWVkZWQoY29uc3QgUmVu
ZGVyU3R5bGUqIG9sZFN0eWxlLCBjb25zdCBSZQogICAgICAgICBrZXlmcmFtZUVmZmVjdC0+Y29t
cHV0ZVN0eWxlT3JpZ2luYXRlZEFuaW1hdGlvbkJsZW5kaW5nS2V5ZnJhbWVzKG9sZFN0eWxlLCBu
ZXdTdHlsZSwgcmVzb2x1dGlvbkNvbnRleHQpOwogfQogCi1SZWY8U3R5bGVPcmlnaW5hdGVkQW5p
bWF0aW9uRXZlbnQ+IENTU0FuaW1hdGlvbjo6Y3JlYXRlRXZlbnQoY29uc3QgQXRvbVN0cmluZyYg
ZXZlbnRUeXBlLCBzdGQ6Om9wdGlvbmFsPFNlY29uZHM+IHNjaGVkdWxlZFRpbWUsIGRvdWJsZSBl
bGFwc2VkVGltZSwgY29uc3Qgc3RkOjpvcHRpb25hbDxTdHlsZTo6UHNldWRvRWxlbWVudElkZW50
aWZpZXI+JiBwc2V1ZG9FbGVtZW50SWRlbnRpZmllcikKK1JlZjxTdHlsZU9yaWdpbmF0ZWRBbmlt
YXRpb25FdmVudD4gQ1NTQW5pbWF0aW9uOjpjcmVhdGVFdmVudChjb25zdCBBdG9tU3RyaW5nJiBl
dmVudFR5cGUsIHN0ZDo6b3B0aW9uYWw8U2Vjb25kcz4gc2NoZWR1bGVkVGltZSwgZG91YmxlIGVs
YXBzZWRUaW1lLCBQc2V1ZG9JZCBwc2V1ZG9JZCkKIHsKLSAgICByZXR1cm4gQ1NTQW5pbWF0aW9u
RXZlbnQ6OmNyZWF0ZShldmVudFR5cGUsIHRoaXMsIHNjaGVkdWxlZFRpbWUsIGVsYXBzZWRUaW1l
LCBwc2V1ZG9FbGVtZW50SWRlbnRpZmllciwgbV9hbmltYXRpb25OYW1lKTsKKyAgICByZXR1cm4g
Q1NTQW5pbWF0aW9uRXZlbnQ6OmNyZWF0ZShldmVudFR5cGUsIHRoaXMsIHNjaGVkdWxlZFRpbWUs
IGVsYXBzZWRUaW1lLCBwc2V1ZG9JZCwgbV9hbmltYXRpb25OYW1lKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0NTU0Fu
aW1hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0NTU0FuaW1hdGlvbi5oCmluZGV4
IGNiOTA0OTJmMWRlYS4uYjdmMzNmNmQxMTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
bmltYXRpb24vQ1NTQW5pbWF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0NT
U0FuaW1hdGlvbi5oCkBAIC01NCw3ICs1NCw3IEBAIHByaXZhdGU6CiAgICAgQ1NTQW5pbWF0aW9u
KGNvbnN0IFN0eWxlYWJsZSYsIGNvbnN0IEFuaW1hdGlvbiYpOwogCiAgICAgdm9pZCBzeW5jUHJv
cGVydGllc1dpdGhCYWNraW5nQW5pbWF0aW9uKCkgZmluYWw7Ci0gICAgUmVmPFN0eWxlT3JpZ2lu
YXRlZEFuaW1hdGlvbkV2ZW50PiBjcmVhdGVFdmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5
cGUsIHN0ZDo6b3B0aW9uYWw8U2Vjb25kcz4gc2NoZWR1bGVkVGltZSwgZG91YmxlIGVsYXBzZWRU
aW1lLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllcj4m
KSBmaW5hbDsKKyAgICBSZWY8U3R5bGVPcmlnaW5hdGVkQW5pbWF0aW9uRXZlbnQ+IGNyZWF0ZUV2
ZW50KGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgc3RkOjpvcHRpb25hbDxTZWNvbmRzPiBz
Y2hlZHVsZWRUaW1lLCBkb3VibGUgZWxhcHNlZFRpbWUsIFBzZXVkb0lkKSBmaW5hbDsKIAogICAg
IEV4Y2VwdGlvbk9yPHZvaWQ+IGJpbmRpbmdzUGxheSgpIGZpbmFsOwogICAgIEV4Y2VwdGlvbk9y
PHZvaWQ+IGJpbmRpbmdzUGF1c2UoKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2FuaW1hdGlvbi9DU1NBbmltYXRpb25FdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vQ1NTQW5pbWF0aW9uRXZlbnQuY3BwCmluZGV4IDQ3NDgxZTQwNzUzYi4uMGFlZWYwZDJiZjgz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uRXZlbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9DU1NBbmltYXRpb25FdmVudC5jcHAK
QEAgLTMzLDEzICszMywxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBXVEZfTUFLRV9JU09fQUxM
T0NBVEVEX0lNUEwoQ1NTQW5pbWF0aW9uRXZlbnQpOwogCiBDU1NBbmltYXRpb25FdmVudDo6Q1NT
QW5pbWF0aW9uRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgSW5pdCYgaW5pdGlh
bGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0ZWQpCi0gICAgOiBTdHlsZU9yaWdpbmF0ZWRBbmltYXRp
b25FdmVudChFdmVudEludGVyZmFjZVR5cGU6OkNTU0FuaW1hdGlvbkV2ZW50LCB0eXBlLCBpbml0
aWFsaXplciwgaXNUcnVzdGVkLCBpbml0aWFsaXplci5lbGFwc2VkVGltZSwgaW5pdGlhbGl6ZXIu
cHNldWRvRWxlbWVudCkKKyAgICA6IFN0eWxlT3JpZ2luYXRlZEFuaW1hdGlvbkV2ZW50KHR5cGUs
IGluaXRpYWxpemVyLCBpc1RydXN0ZWQsIGluaXRpYWxpemVyLmVsYXBzZWRUaW1lLCBpbml0aWFs
aXplci5wc2V1ZG9FbGVtZW50KQogICAgICwgbV9hbmltYXRpb25OYW1lKGluaXRpYWxpemVyLmFu
aW1hdGlvbk5hbWUpCiB7CiB9CiAKLUNTU0FuaW1hdGlvbkV2ZW50OjpDU1NBbmltYXRpb25FdmVu
dChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBXZWJBbmltYXRpb24qIGFuaW1hdGlvbiwgc3RkOjpv
cHRpb25hbDxTZWNvbmRzPiBzY2hlZHVsZWRUaW1lLCBkb3VibGUgZWxhcHNlZFRpbWUsIGNvbnN0
IHN0ZDo6b3B0aW9uYWw8U3R5bGU6OlBzZXVkb0VsZW1lbnRJZGVudGlmaWVyPiYgcHNldWRvRWxl
bWVudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgYW5pbWF0aW9uTmFtZSkKLSAgICA6IFN0eWxl
T3JpZ2luYXRlZEFuaW1hdGlvbkV2ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6Q1NTQW5pbWF0aW9u
RXZlbnQsIHR5cGUsIGFuaW1hdGlvbiwgc2NoZWR1bGVkVGltZSwgZWxhcHNlZFRpbWUsIHBzZXVk
b0VsZW1lbnRJZGVudGlmaWVyKQorQ1NTQW5pbWF0aW9uRXZlbnQ6OkNTU0FuaW1hdGlvbkV2ZW50
KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIFdlYkFuaW1hdGlvbiogYW5pbWF0aW9uLCBzdGQ6Om9w
dGlvbmFsPFNlY29uZHM+IHNjaGVkdWxlZFRpbWUsIGRvdWJsZSBlbGFwc2VkVGltZSwgUHNldWRv
SWQgcHNldWRvSWQsIGNvbnN0IFN0cmluZyYgYW5pbWF0aW9uTmFtZSkKKyAgICA6IFN0eWxlT3Jp
Z2luYXRlZEFuaW1hdGlvbkV2ZW50KHR5cGUsIGFuaW1hdGlvbiwgc2NoZWR1bGVkVGltZSwgZWxh
cHNlZFRpbWUsIHBzZXVkb0lkKQogICAgICwgbV9hbmltYXRpb25OYW1lKGFuaW1hdGlvbk5hbWUp
CiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9u
RXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9DU1NBbmltYXRpb25FdmVudC5oCmlu
ZGV4IDYxYTQ5MGI5YjE4Ny4uMjA3NmYwODIyYzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmlt
YXRpb24vQ1NTQW5pbWF0aW9uRXZlbnQuaApAQCAtMzIsOSArMzIsOSBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBjbGFzcyBDU1NBbmltYXRpb25FdmVudCBmaW5hbCA6IHB1YmxpYyBTdHlsZU9yaWdp
bmF0ZWRBbmltYXRpb25FdmVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChDU1NBbmlt
YXRpb25FdmVudCk7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxDU1NBbmltYXRpb25FdmVudD4g
Y3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIFdlYkFuaW1hdGlvbiogYW5pbWF0aW9uLCBz
dGQ6Om9wdGlvbmFsPFNlY29uZHM+IHNjaGVkdWxlZFRpbWUsIGRvdWJsZSBlbGFwc2VkVGltZSwg
Y29uc3Qgc3RkOjpvcHRpb25hbDxTdHlsZTo6UHNldWRvRWxlbWVudElkZW50aWZpZXI+JiBwc2V1
ZG9FbGVtZW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBhbmltYXRpb25OYW1lKQorICAgIHN0
YXRpYyBSZWY8Q1NTQW5pbWF0aW9uRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBl
LCBXZWJBbmltYXRpb24qIGFuaW1hdGlvbiwgc3RkOjpvcHRpb25hbDxTZWNvbmRzPiBzY2hlZHVs
ZWRUaW1lLCBkb3VibGUgZWxhcHNlZFRpbWUsIFBzZXVkb0lkIHBzZXVkb0lkLCBjb25zdCBTdHJp
bmcmIGFuaW1hdGlvbk5hbWUpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBD
U1NBbmltYXRpb25FdmVudCh0eXBlLCBhbmltYXRpb24sIHNjaGVkdWxlZFRpbWUsIGVsYXBzZWRU
aW1lLCBwc2V1ZG9FbGVtZW50SWRlbnRpZmllciwgYW5pbWF0aW9uTmFtZSkpOworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NBbmltYXRpb25FdmVudCh0eXBlLCBhbmltYXRpb24sIHNj
aGVkdWxlZFRpbWUsIGVsYXBzZWRUaW1lLCBwc2V1ZG9JZCwgYW5pbWF0aW9uTmFtZSkpOwogICAg
IH0KIAogICAgIHN0cnVjdCBJbml0IDogRXZlbnRJbml0IHsKQEAgLTU3LDcgKzU3LDcgQEAgcHVi
bGljOgogICAgIEV2ZW50SW50ZXJmYWNlIGV2ZW50SW50ZXJmYWNlKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gQ1NTQW5pbWF0aW9uRXZlbnRJbnRlcmZhY2VUeXBlOyB9CiAKIHByaXZhdGU6Ci0g
ICAgQ1NTQW5pbWF0aW9uRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgV2ViQW5pbWF0aW9u
Kiwgc3RkOjpvcHRpb25hbDxTZWNvbmRzPiBzY2hlZHVsZWRUaW1lLCBkb3VibGUgZWxhcHNlZFRp
bWUsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U3R5bGU6OlBzZXVkb0VsZW1lbnRJZGVudGlmaWVyPiYs
IGNvbnN0IFN0cmluZyYgYW5pbWF0aW9uTmFtZSk7CisgICAgQ1NTQW5pbWF0aW9uRXZlbnQoY29u
c3QgQXRvbVN0cmluZyYgdHlwZSwgV2ViQW5pbWF0aW9uKiwgc3RkOjpvcHRpb25hbDxTZWNvbmRz
PiBzY2hlZHVsZWRUaW1lLCBkb3VibGUgZWxhcHNlZFRpbWUsIFBzZXVkb0lkLCBjb25zdCBTdHJp
bmcmIGFuaW1hdGlvbk5hbWUpOwogICAgIENTU0FuaW1hdGlvbkV2ZW50KGNvbnN0IEF0b21TdHJp
bmcmLCBjb25zdCBJbml0JiwgSXNUcnVzdGVkKTsKIAogICAgIFN0cmluZyBtX2FuaW1hdGlvbk5h
bWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQ1NTVHJhbnNpdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQ1NTVHJhbnNpdGlvbi5jcHAKaW5kZXggMGEw
ODk2OWIwMDBhLi45ZTBjOTI2NjBkZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1h
dGlvbi9DU1NUcmFuc2l0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQ1NT
VHJhbnNpdGlvbi5jcHAKQEAgLTk1LDkgKzk1LDkgQEAgdm9pZCBDU1NUcmFuc2l0aW9uOjpzZXRU
aW1pbmdQcm9wZXJ0aWVzKFNlY29uZHMgZGVsYXksIFNlY29uZHMgZHVyYXRpb24pCiAgICAgdW5z
dXNwZW5kRWZmZWN0SW52YWxpZGF0aW9uKCk7CiB9CiAKLVJlZjxTdHlsZU9yaWdpbmF0ZWRBbmlt
YXRpb25FdmVudD4gQ1NTVHJhbnNpdGlvbjo6Y3JlYXRlRXZlbnQoY29uc3QgQXRvbVN0cmluZyYg
ZXZlbnRUeXBlLCBzdGQ6Om9wdGlvbmFsPFNlY29uZHM+IHNjaGVkdWxlZFRpbWUsIGRvdWJsZSBl
bGFwc2VkVGltZSwgY29uc3Qgc3RkOjpvcHRpb25hbDxTdHlsZTo6UHNldWRvRWxlbWVudElkZW50
aWZpZXI+JiBwc2V1ZG9FbGVtZW50SWRlbnRpZmllcikKK1JlZjxTdHlsZU9yaWdpbmF0ZWRBbmlt
YXRpb25FdmVudD4gQ1NTVHJhbnNpdGlvbjo6Y3JlYXRlRXZlbnQoY29uc3QgQXRvbVN0cmluZyYg
ZXZlbnRUeXBlLCBzdGQ6Om9wdGlvbmFsPFNlY29uZHM+IHNjaGVkdWxlZFRpbWUsIGRvdWJsZSBl
bGFwc2VkVGltZSwgUHNldWRvSWQgcHNldWRvSWQpCiB7Ci0gICAgcmV0dXJuIENTU1RyYW5zaXRp
b25FdmVudDo6Y3JlYXRlKGV2ZW50VHlwZSwgdGhpcywgc2NoZWR1bGVkVGltZSwgZWxhcHNlZFRp
bWUsIHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyLCB0cmFuc2l0aW9uUHJvcGVydHkoKSk7CisgICAg
cmV0dXJuIENTU1RyYW5zaXRpb25FdmVudDo6Y3JlYXRlKGV2ZW50VHlwZSwgdGhpcywgc2NoZWR1
bGVkVGltZSwgZWxhcHNlZFRpbWUsIHBzZXVkb0lkLCB0cmFuc2l0aW9uUHJvcGVydHkoKSk7CiB9
CiAKIGNvbnN0IEF0b21TdHJpbmcgQ1NTVHJhbnNpdGlvbjo6dHJhbnNpdGlvblByb3BlcnR5KCkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9DU1NUcmFuc2l0aW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQ1NTVHJhbnNpdGlvbi5oCmluZGV4IGU2MGM5
Y2ZiMzMwZS4uOGNiYjk3ZGUwMTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vQ1NTVHJhbnNpdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9DU1NUcmFu
c2l0aW9uLmgKQEAgLTU3LDcgKzU3LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBDU1NUcmFu
c2l0aW9uKGNvbnN0IFN0eWxlYWJsZSYsIGNvbnN0IEFuaW1hdGFibGVDU1NQcm9wZXJ0eSYsIE1v
bm90b25pY1RpbWUgZ2VuZXJhdGlvblRpbWUsIGNvbnN0IEFuaW1hdGlvbiYsIGNvbnN0IFJlbmRl
clN0eWxlJiBvbGRTdHlsZSwgY29uc3QgUmVuZGVyU3R5bGUmIHRhcmdldFN0eWxlLCBjb25zdCBS
ZW5kZXJTdHlsZSYgcmV2ZXJzaW5nQWRqdXN0ZWRTdGFydFN0eWxlLCBkb3VibGUpOwogICAgIHZv
aWQgc2V0VGltaW5nUHJvcGVydGllcyhTZWNvbmRzIGRlbGF5LCBTZWNvbmRzIGR1cmF0aW9uKTsK
LSAgICBSZWY8U3R5bGVPcmlnaW5hdGVkQW5pbWF0aW9uRXZlbnQ+IGNyZWF0ZUV2ZW50KGNvbnN0
IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgc3RkOjpvcHRpb25hbDxTZWNvbmRzPiBzY2hlZHVsZWRU
aW1lLCBkb3VibGUgZWxhcHNlZFRpbWUsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U3R5bGU6OlBzZXVk
b0VsZW1lbnRJZGVudGlmaWVyPiYpIGZpbmFsOworICAgIFJlZjxTdHlsZU9yaWdpbmF0ZWRBbmlt
YXRpb25FdmVudD4gY3JlYXRlRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBzdGQ6
Om9wdGlvbmFsPFNlY29uZHM+IHNjaGVkdWxlZFRpbWUsIGRvdWJsZSBlbGFwc2VkVGltZSwgUHNl
dWRvSWQpIGZpbmFsOwogICAgIHZvaWQgcmVzb2x2ZShSZW5kZXJTdHlsZSYgdGFyZ2V0U3R5bGUs
IGNvbnN0IFN0eWxlOjpSZXNvbHV0aW9uQ29udGV4dCYsIHN0ZDo6b3B0aW9uYWw8U2Vjb25kcz4p
IGZpbmFsOwogICAgIHZvaWQgYW5pbWF0aW9uRGlkRmluaXNoKCkgZmluYWw7CiAgICAgYm9vbCBp
c0NTU1RyYW5zaXRpb24oKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQ1NTVHJhbnNpdGlvbkV2ZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9DU1NUcmFuc2l0aW9uRXZlbnQuY3BwCmluZGV4IDEyMjNlNTUw
M2MwMy4uYmNlYzE2MzZhNmMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24v
Q1NTVHJhbnNpdGlvbkV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQ1NT
VHJhbnNpdGlvbkV2ZW50LmNwcApAQCAtMzMsMTQgKzMzLDE0IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKENTU1RyYW5zaXRpb25FdmVudCk7CiAK
LUNTU1RyYW5zaXRpb25FdmVudDo6Q1NTVHJhbnNpdGlvbkV2ZW50KGNvbnN0IEF0b21TdHJpbmcm
IHR5cGUsIFdlYkFuaW1hdGlvbiogYW5pbWF0aW9uLCBzdGQ6Om9wdGlvbmFsPFNlY29uZHM+IHNj
aGVkdWxlZFRpbWUsIGRvdWJsZSBlbGFwc2VkVGltZSwgY29uc3Qgc3RkOjpvcHRpb25hbDxTdHls
ZTo6UHNldWRvRWxlbWVudElkZW50aWZpZXI+JiBwc2V1ZG9FbGVtZW50SWRlbnRpZmllciwgY29u
c3QgU3RyaW5nIHByb3BlcnR5TmFtZSkKLSAgICA6IFN0eWxlT3JpZ2luYXRlZEFuaW1hdGlvbkV2
ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6Q1NTVHJhbnNpdGlvbkV2ZW50LCB0eXBlLCBhbmltYXRp
b24sIHNjaGVkdWxlZFRpbWUsIGVsYXBzZWRUaW1lLCBwc2V1ZG9FbGVtZW50SWRlbnRpZmllcikK
K0NTU1RyYW5zaXRpb25FdmVudDo6Q1NTVHJhbnNpdGlvbkV2ZW50KGNvbnN0IEF0b21TdHJpbmcm
IHR5cGUsIFdlYkFuaW1hdGlvbiogYW5pbWF0aW9uLCBzdGQ6Om9wdGlvbmFsPFNlY29uZHM+IHNj
aGVkdWxlZFRpbWUsIGRvdWJsZSBlbGFwc2VkVGltZSwgUHNldWRvSWQgcHNldWRvSWQsIGNvbnN0
IFN0cmluZyBwcm9wZXJ0eU5hbWUpCisgICAgOiBTdHlsZU9yaWdpbmF0ZWRBbmltYXRpb25FdmVu
dCh0eXBlLCBhbmltYXRpb24sIHNjaGVkdWxlZFRpbWUsIGVsYXBzZWRUaW1lLCBwc2V1ZG9JZCkK
ICAgICAsIG1fcHJvcGVydHlOYW1lKHByb3BlcnR5TmFtZSkKIHsKIH0KIAogQ1NTVHJhbnNpdGlv
bkV2ZW50OjpDU1NUcmFuc2l0aW9uRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3Qg
SW5pdCYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0ZWQpCi0gICAgOiBTdHlsZU9yaWdp
bmF0ZWRBbmltYXRpb25FdmVudChFdmVudEludGVyZmFjZVR5cGU6OkNTU1RyYW5zaXRpb25FdmVu
dCwgdHlwZSwgaW5pdGlhbGl6ZXIsIGlzVHJ1c3RlZCwgaW5pdGlhbGl6ZXIuZWxhcHNlZFRpbWUs
IGluaXRpYWxpemVyLnBzZXVkb0VsZW1lbnQpCisgICAgOiBTdHlsZU9yaWdpbmF0ZWRBbmltYXRp
b25FdmVudCh0eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkLCBpbml0aWFsaXplci5lbGFwc2Vk
VGltZSwgaW5pdGlhbGl6ZXIucHNldWRvRWxlbWVudCkKICAgICAsIG1fcHJvcGVydHlOYW1lKGlu
aXRpYWxpemVyLnByb3BlcnR5TmFtZSkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2FuaW1hdGlvbi9DU1NUcmFuc2l0aW9uRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9DU1NUcmFuc2l0aW9uRXZlbnQuaAppbmRleCA2NGZlZDc3MmYyOWIuLjhmOWU4YWUzZmYyNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0NTU1RyYW5zaXRpb25FdmVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9DU1NUcmFuc2l0aW9uRXZlbnQuaApAQCAt
MzMsOSArMzMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDU1NUcmFuc2l0aW9uRXZl
bnQgZmluYWwgOiBwdWJsaWMgU3R5bGVPcmlnaW5hdGVkQW5pbWF0aW9uRXZlbnQgewogICAgIFdU
Rl9NQUtFX0lTT19BTExPQ0FURUQoQ1NTVHJhbnNpdGlvbkV2ZW50KTsKIHB1YmxpYzoKLSAgICBz
dGF0aWMgUmVmPENTU1RyYW5zaXRpb25FdmVudD4gY3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5
cGUsIFdlYkFuaW1hdGlvbiogYW5pbWF0aW9uLCBzdGQ6Om9wdGlvbmFsPFNlY29uZHM+IHNjaGVk
dWxlZFRpbWUsICBkb3VibGUgZWxhcHNlZFRpbWUsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U3R5bGU6
OlBzZXVkb0VsZW1lbnRJZGVudGlmaWVyPiYgcHNldWRvRWxlbWVudElkZW50aWZpZXIsIGNvbnN0
IFN0cmluZyBwcm9wZXJ0eU5hbWUpCisgICAgc3RhdGljIFJlZjxDU1NUcmFuc2l0aW9uRXZlbnQ+
IGNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBXZWJBbmltYXRpb24qIGFuaW1hdGlvbiwg
c3RkOjpvcHRpb25hbDxTZWNvbmRzPiBzY2hlZHVsZWRUaW1lLCAgZG91YmxlIGVsYXBzZWRUaW1l
LCBQc2V1ZG9JZCBwc2V1ZG9JZCwgY29uc3QgU3RyaW5nIHByb3BlcnR5TmFtZSkKICAgICB7Ci0g
ICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENTU1RyYW5zaXRpb25FdmVudCh0eXBlLCBhbmlt
YXRpb24sIHNjaGVkdWxlZFRpbWUsIGVsYXBzZWRUaW1lLCBwc2V1ZG9FbGVtZW50SWRlbnRpZmll
ciwgcHJvcGVydHlOYW1lKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENTU1RyYW5z
aXRpb25FdmVudCh0eXBlLCBhbmltYXRpb24sIHNjaGVkdWxlZFRpbWUsIGVsYXBzZWRUaW1lLCBw
c2V1ZG9JZCwgcHJvcGVydHlOYW1lKSk7CiAgICAgfQogCiAgICAgc3RydWN0IEluaXQgOiBFdmVu
dEluaXQgewpAQCAtNTgsNyArNTgsNyBAQCBwdWJsaWM6CiAgICAgRXZlbnRJbnRlcmZhY2UgZXZl
bnRJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBDU1NUcmFuc2l0aW9uRXZlbnRJ
bnRlcmZhY2VUeXBlOyB9CiAKIHByaXZhdGU6Ci0gICAgQ1NTVHJhbnNpdGlvbkV2ZW50KGNvbnN0
IEF0b21TdHJpbmcmIHR5cGUsIFdlYkFuaW1hdGlvbiosIHN0ZDo6b3B0aW9uYWw8U2Vjb25kcz4g
c2NoZWR1bGVkVGltZSwgZG91YmxlIGVsYXBzZWRUaW1lLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFN0
eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllcj4mLCBjb25zdCBTdHJpbmcgcHJvcGVydHlOYW1l
KTsKKyAgICBDU1NUcmFuc2l0aW9uRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgV2ViQW5p
bWF0aW9uKiwgc3RkOjpvcHRpb25hbDxTZWNvbmRzPiBzY2hlZHVsZWRUaW1lLCBkb3VibGUgZWxh
cHNlZFRpbWUsIFBzZXVkb0lkLCBjb25zdCBTdHJpbmcgcHJvcGVydHlOYW1lKTsKICAgICBDU1NU
cmFuc2l0aW9uRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgSW5pdCYgaW5pdGlh
bGl6ZXIsIElzVHJ1c3RlZCk7CiAKICAgICBTdHJpbmcgbV9wcm9wZXJ0eU5hbWU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRWxlbWVudEFuaW1hdGlvblJhcmVEYXRhLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9FbGVtZW50QW5pbWF0aW9uUmFyZURhdGEuY3Bw
CmluZGV4IGVmN2UwZGE4NzhmMy4uMzFkMzEzOTliMTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vRWxlbWVudEFuaW1hdGlvblJhcmVEYXRhLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hbmltYXRpb24vRWxlbWVudEFuaW1hdGlvblJhcmVEYXRhLmNwcApAQCAtMzUsOCAr
MzUsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogREVGSU5FX0FMTE9DQVRPUl9XSVRIX0hFQVBf
SURFTlRJRklFUihFbGVtZW50QW5pbWF0aW9uUmFyZURhdGEpOwogCi1FbGVtZW50QW5pbWF0aW9u
UmFyZURhdGE6OkVsZW1lbnRBbmltYXRpb25SYXJlRGF0YShjb25zdCBzdGQ6Om9wdGlvbmFsPFN0
eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllcj4mIHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyKQot
ICAgIDogbV9wc2V1ZG9FbGVtZW50SWRlbnRpZmllcihwc2V1ZG9FbGVtZW50SWRlbnRpZmllcikK
K0VsZW1lbnRBbmltYXRpb25SYXJlRGF0YTo6RWxlbWVudEFuaW1hdGlvblJhcmVEYXRhKFBzZXVk
b0lkIHBzZXVkb0lkKQorICAgIDogbV9wc2V1ZG9JZChwc2V1ZG9JZCkKIHsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0VsZW1lbnRBbmltYXRpb25SYXJlRGF0YS5o
IGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0VsZW1lbnRBbmltYXRpb25SYXJlRGF0YS5oCmlu
ZGV4IGE0NzhjYTM2M2QzOC4uMDdiN2U4ODVkZDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vRWxlbWVudEFuaW1hdGlvblJhcmVEYXRhLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYW5pbWF0aW9uL0VsZW1lbnRBbmltYXRpb25SYXJlRGF0YS5oCkBAIC0yNiw3ICsyNiw2IEBA
CiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIktleWZyYW1lRWZmZWN0U3RhY2suaCIKLSNpbmNs
dWRlICJQc2V1ZG9FbGVtZW50SWRlbnRpZmllci5oIgogI2luY2x1ZGUgIldlYkFuaW1hdGlvblR5
cGVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDEwICs0MCwxMCBAQCBjbGFzcyBF
bGVtZW50QW5pbWF0aW9uUmFyZURhdGEgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEX1dJ
VEhfSEVBUF9JREVOVElGSUVSKEVsZW1lbnRBbmltYXRpb25SYXJlRGF0YSk7CiAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRWxlbWVudEFuaW1hdGlvblJhcmVEYXRhKTsKIHB1YmxpYzoKLSAgICBl
eHBsaWNpdCBFbGVtZW50QW5pbWF0aW9uUmFyZURhdGEoY29uc3Qgc3RkOjpvcHRpb25hbDxTdHls
ZTo6UHNldWRvRWxlbWVudElkZW50aWZpZXI+Jik7CisgICAgZXhwbGljaXQgRWxlbWVudEFuaW1h
dGlvblJhcmVEYXRhKFBzZXVkb0lkKTsKICAgICB+RWxlbWVudEFuaW1hdGlvblJhcmVEYXRhKCk7
CiAKLSAgICBjb25zdCBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmll
cj4mIHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyKCkgeyByZXR1cm4gbV9wc2V1ZG9FbGVtZW50SWRl
bnRpZmllcjsgfQorICAgIFBzZXVkb0lkIHBzZXVkb0lkKCkgY29uc3QgeyByZXR1cm4gbV9wc2V1
ZG9JZDsgfQogCiAgICAgS2V5ZnJhbWVFZmZlY3RTdGFjayoga2V5ZnJhbWVFZmZlY3RTdGFjaygp
IHsgcmV0dXJuIG1fa2V5ZnJhbWVFZmZlY3RTdGFjay5nZXQoKTsgfQogICAgIEtleWZyYW1lRWZm
ZWN0U3RhY2smIGVuc3VyZUtleWZyYW1lRWZmZWN0U3RhY2soKTsKQEAgLTY5LDcgKzY4LDcgQEAg
cHJpdmF0ZToKICAgICBDU1NBbmltYXRpb25Db2xsZWN0aW9uIG1fYW5pbWF0aW9uc0NyZWF0ZWRC
eU1hcmt1cDsKICAgICBBbmltYXRhYmxlQ1NTUHJvcGVydHlUb1RyYW5zaXRpb25NYXAgbV9jb21w
bGV0ZWRUcmFuc2l0aW9uc0J5UHJvcGVydHk7CiAgICAgQW5pbWF0YWJsZUNTU1Byb3BlcnR5VG9U
cmFuc2l0aW9uTWFwIG1fcnVubmluZ1RyYW5zaXRpb25zQnlQcm9wZXJ0eTsKLSAgICBzdGQ6Om9w
dGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllcj4gbV9wc2V1ZG9FbGVtZW50SWRl
bnRpZmllciB7IH07CisgICAgUHNldWRvSWQgbV9wc2V1ZG9JZDsKICAgICBib29sIG1faGFzUGVu
ZGluZ0tleWZyYW1lc1VwZGF0ZSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhc1Byb3BlcnRpZXNP
dmVycmlkZW5BZnRlckFuaW1hdGlvbiB7IGZhbHNlIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Fu
aW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKaW5kZXggMGVjOTRjYTA0NDkxLi41ZWNjYzNlYThi
NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcApAQCAt
NTI5LDcgKzUyOSw3IEBAIHN0YXRpYyBpbmxpbmUgRXhjZXB0aW9uT3I8dm9pZD4gcHJvY2Vzc1By
b3BlcnR5SW5kZXhlZEtleWZyYW1lcyhKU0dsb2JhbE9iamVjdCYKIAogRXhjZXB0aW9uT3I8UmVm
PEtleWZyYW1lRWZmZWN0Pj4gS2V5ZnJhbWVFZmZlY3Q6OmNyZWF0ZShKU0dsb2JhbE9iamVjdCYg
bGV4aWNhbEdsb2JhbE9iamVjdCwgRG9jdW1lbnQmIGRvY3VtZW50LCBFbGVtZW50KiB0YXJnZXQs
IFN0cm9uZzxKU09iamVjdD4mJiBrZXlmcmFtZXMsIHN0ZDo6b3B0aW9uYWw8c3RkOjp2YXJpYW50
PGRvdWJsZSwgS2V5ZnJhbWVFZmZlY3RPcHRpb25zPj4mJiBvcHRpb25zKQogewotICAgIGF1dG8g
a2V5ZnJhbWVFZmZlY3QgPSBhZG9wdFJlZigqbmV3IEtleWZyYW1lRWZmZWN0KHRhcmdldCwgeyB9
KSk7CisgICAgYXV0byBrZXlmcmFtZUVmZmVjdCA9IGFkb3B0UmVmKCpuZXcgS2V5ZnJhbWVFZmZl
Y3QodGFyZ2V0LCBQc2V1ZG9JZDo6Tm9uZSkpOwogICAgIGtleWZyYW1lRWZmZWN0LT5tX2RvY3Vt
ZW50ID0gZG9jdW1lbnQ7CiAKICAgICBpZiAob3B0aW9ucykgewpAQCAtNTczLDIwICs1NzMsMjAg
QEAgRXhjZXB0aW9uT3I8UmVmPEtleWZyYW1lRWZmZWN0Pj4gS2V5ZnJhbWVFZmZlY3Q6OmNyZWF0
ZShKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEcKIAogUmVmPEtleWZyYW1lRWZmZWN0PiBLZXlmcmFt
ZUVmZmVjdDo6Y3JlYXRlKFJlZjxLZXlmcmFtZUVmZmVjdD4mJiBzb3VyY2UpCiB7Ci0gICAgYXV0
byBrZXlmcmFtZUVmZmVjdCA9IGFkb3B0UmVmKCpuZXcgS2V5ZnJhbWVFZmZlY3QobnVsbHB0ciwg
eyB9KSk7CisgICAgYXV0byBrZXlmcmFtZUVmZmVjdCA9IGFkb3B0UmVmKCpuZXcgS2V5ZnJhbWVF
ZmZlY3QobnVsbHB0ciwgUHNldWRvSWQ6Ok5vbmUpKTsKICAgICBrZXlmcmFtZUVmZmVjdC0+Y29w
eVByb3BlcnRpZXNGcm9tU291cmNlKFdURk1vdmUoc291cmNlKSk7CiAgICAgcmV0dXJuIGtleWZy
YW1lRWZmZWN0OwogfQogCi1SZWY8S2V5ZnJhbWVFZmZlY3Q+IEtleWZyYW1lRWZmZWN0OjpjcmVh
dGUoY29uc3QgRWxlbWVudCYgdGFyZ2V0LCBjb25zdCBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1
ZG9FbGVtZW50SWRlbnRpZmllcj4mIHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyKQorUmVmPEtleWZy
YW1lRWZmZWN0PiBLZXlmcmFtZUVmZmVjdDo6Y3JlYXRlKGNvbnN0IEVsZW1lbnQmIHRhcmdldCwg
UHNldWRvSWQgcHNldWRvSWQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgS2V5ZnJhbWVF
ZmZlY3QoY29uc3RfY2FzdDxFbGVtZW50Kj4oJnRhcmdldCksIHBzZXVkb0VsZW1lbnRJZGVudGlm
aWVyKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgS2V5ZnJhbWVFZmZlY3QoY29uc3RfY2Fz
dDxFbGVtZW50Kj4oJnRhcmdldCksIHBzZXVkb0lkKSk7CiB9CiAKLUtleWZyYW1lRWZmZWN0OjpL
ZXlmcmFtZUVmZmVjdChFbGVtZW50KiB0YXJnZXQsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U3R5bGU6
OlBzZXVkb0VsZW1lbnRJZGVudGlmaWVyPiYgcHNldWRvRWxlbWVudElkZW50aWZpZXIpCitLZXlm
cmFtZUVmZmVjdDo6S2V5ZnJhbWVFZmZlY3QoRWxlbWVudCogdGFyZ2V0LCBQc2V1ZG9JZCBwc2V1
ZG9JZCkKICAgICA6IG1fa2V5ZnJhbWVzTmFtZShtYWtlQXRvbVN0cmluZygia2V5ZnJhbWUtZWZm
ZWN0LSJfcywgV1RGOjpVVUlEOjpjcmVhdGVWZXJzaW9uNFdlYWsoKSkpCiAgICAgLCBtX3Rhcmdl
dCh0YXJnZXQpCi0gICAgLCBtX3BzZXVkb0VsZW1lbnRJZGVudGlmaWVyKHBzZXVkb0VsZW1lbnRJ
ZGVudGlmaWVyKQorICAgICwgbV9wc2V1ZG9JZChwc2V1ZG9JZCkKIHsKICAgICBpZiAobV90YXJn
ZXQpCiAgICAgICAgIG1fZG9jdW1lbnQgPSBtX3RhcmdldC0+ZG9jdW1lbnQoKTsKQEAgLTU5NSw3
ICs1OTUsNyBAQCBLZXlmcmFtZUVmZmVjdDo6S2V5ZnJhbWVFZmZlY3QoRWxlbWVudCogdGFyZ2V0
LCBjb25zdCBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1ZAogdm9pZCBLZXlmcmFtZUVmZmVjdDo6
Y29weVByb3BlcnRpZXNGcm9tU291cmNlKFJlZjxLZXlmcmFtZUVmZmVjdD4mJiBzb3VyY2UpCiB7
CiAgICAgbV90YXJnZXQgPSBzb3VyY2UtPm1fdGFyZ2V0OwotICAgIG1fcHNldWRvRWxlbWVudElk
ZW50aWZpZXIgPSBzb3VyY2UtPm1fcHNldWRvRWxlbWVudElkZW50aWZpZXI7CisgICAgbV9wc2V1
ZG9JZCA9IHNvdXJjZS0+bV9wc2V1ZG9JZDsKICAgICBtX2RvY3VtZW50ID0gc291cmNlLT5tX2Rv
Y3VtZW50OwogICAgIG1fY29tcG9zaXRlT3BlcmF0aW9uID0gc291cmNlLT5tX2NvbXBvc2l0ZU9w
ZXJhdGlvbjsKICAgICBtX2l0ZXJhdGlvbkNvbXBvc2l0ZU9wZXJhdGlvbiA9IHNvdXJjZS0+bV9p
dGVyYXRpb25Db21wb3NpdGVPcGVyYXRpb247CkBAIC02NTksNyArNjU5LDggQEAgYXV0byBLZXlm
cmFtZUVmZmVjdDo6Z2V0S2V5ZnJhbWVzKCkgLT4gVmVjdG9yPENvbXB1dGVkS2V5ZnJhbWU+CiAg
ICAgYXV0byogbGFzdFN0eWxlQ2hhbmdlRXZlbnRTdHlsZSA9IHRhcmdldFN0eWxlYWJsZSgpLT5s
YXN0U3R5bGVDaGFuZ2VFdmVudFN0eWxlKCk7CiAgICAgYXV0byYgZWxlbWVudFN0eWxlID0gbGFz
dFN0eWxlQ2hhbmdlRXZlbnRTdHlsZSA/ICpsYXN0U3R5bGVDaGFuZ2VFdmVudFN0eWxlIDogY3Vy
cmVudFN0eWxlKCk7CiAKLSAgICBDb21wdXRlZFN0eWxlRXh0cmFjdG9yIGNvbXB1dGVkU3R5bGVF
eHRyYWN0b3IgeyB0YXJnZXQsIGZhbHNlLCBtX3BzZXVkb0VsZW1lbnRJZGVudGlmaWVyIH07Cisg
ICAgYXV0byBwc2V1ZG9FbGVtZW50SWRlbnRpZmllciA9IG1fcHNldWRvSWQgPT0gUHNldWRvSWQ6
Ok5vbmUgPyBzdGQ6Om51bGxvcHQgOiBzdGQ6Om9wdGlvbmFsKFN0eWxlOjpQc2V1ZG9FbGVtZW50
SWRlbnRpZmllciB7IG1fcHNldWRvSWQgfSk7CisgICAgQ29tcHV0ZWRTdHlsZUV4dHJhY3RvciBj
b21wdXRlZFN0eWxlRXh0cmFjdG9yIHsgdGFyZ2V0LCBmYWxzZSwgcHNldWRvRWxlbWVudElkZW50
aWZpZXIgfTsKIAogICAgIEJsZW5kaW5nS2V5ZnJhbWVzIGNvbXB1dGVkQmxlbmRpbmdLZXlmcmFt
ZXMobV9ibGVuZGluZ0tleWZyYW1lcy5hbmltYXRpb25OYW1lKCkpOwogICAgIGNvbXB1dGVkQmxl
bmRpbmdLZXlmcmFtZXMuY29weUtleWZyYW1lcyhtX2JsZW5kaW5nS2V5ZnJhbWVzKTsKQEAgLTY5
MywxMCArNjk0LDEwIEBAIGF1dG8gS2V5ZnJhbWVFZmZlY3Q6OmdldEtleWZyYW1lcygpIC0+IFZl
Y3RvcjxDb21wdXRlZEtleWZyYW1lPgogCiAgICAgYXV0byBzdHlsZVByb3BlcnRpZXMgPSBNdXRh
YmxlU3R5bGVQcm9wZXJ0aWVzOjpjcmVhdGUoKTsKICAgICBpZiAobV9hbmltYXRpb25UeXBlID09
IFdlYkFuaW1hdGlvblR5cGU6OkNTU0FuaW1hdGlvbikgewotICAgICAgICBhdXRvIG1hdGNoaW5n
UnVsZXMgPSBtX3RhcmdldC0+c3R5bGVSZXNvbHZlcigpLnBzZXVkb1N0eWxlUnVsZXNGb3JFbGVt
ZW50KHRhcmdldCwgbV9wc2V1ZG9FbGVtZW50SWRlbnRpZmllciwgU3R5bGU6OlJlc29sdmVyOjpB
bGxDU1NSdWxlcyk7CisgICAgICAgIGF1dG8gbWF0Y2hpbmdSdWxlcyA9IG1fdGFyZ2V0LT5zdHls
ZVJlc29sdmVyKCkucHNldWRvU3R5bGVSdWxlc0ZvckVsZW1lbnQodGFyZ2V0LCBtX3BzZXVkb0lk
LCBTdHlsZTo6UmVzb2x2ZXI6OkFsbENTU1J1bGVzKTsKICAgICAgICAgZm9yIChhdXRvJiBtYXRj
aGVkUnVsZSA6IG1hdGNoaW5nUnVsZXMpCiAgICAgICAgICAgICBzdHlsZVByb3BlcnRpZXMtPm1l
cmdlQW5kT3ZlcnJpZGVPbkNvbmZsaWN0KG1hdGNoZWRSdWxlLT5wcm9wZXJ0aWVzKCkpOwotICAg
ICAgICBpZiAoYXV0byogdGFyZ2V0ID0gZHluYW1pY0Rvd25jYXN0PFN0eWxlZEVsZW1lbnQ+KG1f
dGFyZ2V0LmdldCgpKTsgdGFyZ2V0ICYmICFtX3BzZXVkb0VsZW1lbnRJZGVudGlmaWVyKSB7Cisg
ICAgICAgIGlmIChhdXRvKiB0YXJnZXQgPSBkeW5hbWljRG93bmNhc3Q8U3R5bGVkRWxlbWVudD4o
bV90YXJnZXQuZ2V0KCkpOyB0YXJnZXQgJiYgbV9wc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6Tm9uZSkg
ewogICAgICAgICAgICAgaWYgKGF1dG8qIGlubGluZVByb3BlcnRpZXMgPSB0YXJnZXQtPmlubGlu
ZVN0eWxlKCkpCiAgICAgICAgICAgICAgICAgc3R5bGVQcm9wZXJ0aWVzLT5tZXJnZUFuZE92ZXJy
aWRlT25Db25mbGljdCgqaW5saW5lUHJvcGVydGllcyk7CiAgICAgICAgIH0KQEAgLTExOTUsMTMg
KzExOTYsMTMgQEAgdm9pZCBLZXlmcmFtZUVmZmVjdDo6c2V0QW5pbWF0aW9uKFdlYkFuaW1hdGlv
biogYW5pbWF0aW9uKQogY29uc3Qgc3RkOjpvcHRpb25hbDxjb25zdCBTdHlsZWFibGU+IEtleWZy
YW1lRWZmZWN0Ojp0YXJnZXRTdHlsZWFibGUoKSBjb25zdAogewogICAgIGlmIChtX3RhcmdldCkK
LSAgICAgICAgcmV0dXJuIFN0eWxlYWJsZSgqbV90YXJnZXQsIG1fcHNldWRvRWxlbWVudElkZW50
aWZpZXIpOworICAgICAgICByZXR1cm4gU3R5bGVhYmxlKCptX3RhcmdldCwgbV9wc2V1ZG9JZCk7
CiAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIH0KIAogYm9vbCBLZXlmcmFtZUVmZmVjdDo6dGFy
Z2V0c1BzZXVkb0VsZW1lbnQoKSBjb25zdAogewotICAgIHJldHVybiBtX3RhcmdldC5nZXQoKSAm
JiBtX3BzZXVkb0VsZW1lbnRJZGVudGlmaWVyOworICAgIHJldHVybiBtX3RhcmdldC5nZXQoKSAm
JiBtX3BzZXVkb0lkICE9IFBzZXVkb0lkOjpOb25lOwogfQogCiB2b2lkIEtleWZyYW1lRWZmZWN0
OjpzZXRUYXJnZXQoUmVmUHRyPEVsZW1lbnQ+JiYgbmV3VGFyZ2V0KQpAQCAtMTIyNCwyMiArMTIy
NSwyMiBAQCBjb25zdCBTdHJpbmcgS2V5ZnJhbWVFZmZlY3Q6OnBzZXVkb0VsZW1lbnQoKSBjb25z
dAogICAgIC8vIFRoZSB0YXJnZXQgcHNldWRvLXNlbGVjdG9yLiBudWxsIGlmIHRoaXMgZWZmZWN0
IGhhcyBubyBlZmZlY3QgdGFyZ2V0IG9yIGlmIHRoZSBlZmZlY3QgdGFyZ2V0IGlzIGFuIGVsZW1l
bnQgKGkuZS4gbm90IGEgcHNldWRvLWVsZW1lbnQpLgogICAgIC8vIFdoZW4gdGhlIGVmZmVjdCB0
YXJnZXQgaXMgYSBwc2V1ZG8tZWxlbWVudCwgdGhpcyBzcGVjaWZpZXMgdGhlIHBzZXVkby1lbGVt
ZW50IHNlbGVjdG9yIChlLmcuIDo6YmVmb3JlKS4KICAgICBpZiAodGFyZ2V0c1BzZXVkb0VsZW1l
bnQoKSkKLSAgICAgICAgcmV0dXJuIHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyQXNTdHJpbmcobV9w
c2V1ZG9FbGVtZW50SWRlbnRpZmllcik7CisgICAgICAgIHJldHVybiBwc2V1ZG9JZEFzU3RyaW5n
KG1fcHNldWRvSWQpOwogICAgIHJldHVybiB7IH07CiB9CiAKIEV4Y2VwdGlvbk9yPHZvaWQ+IEtl
eWZyYW1lRWZmZWN0OjpzZXRQc2V1ZG9FbGVtZW50KGNvbnN0IFN0cmluZyYgcHNldWRvRWxlbWVu
dCkKIHsKICAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvd2ViLWFuaW1hdGlvbnMtMS8j
ZG9tLWtleWZyYW1lZWZmZWN0LXBzZXVkb2VsZW1lbnQKLSAgICBhdXRvIFtwYXJzZWQsIHBzZXVk
b0VsZW1lbnRJZGVudGlmaWVyXSA9IHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyRnJvbVN0cmluZyhw
c2V1ZG9FbGVtZW50LCBkb2N1bWVudCgpKTsKLSAgICBpZiAoIXBhcnNlZCkKKyAgICBhdXRvIHBz
ZXVkb0lkID0gcHNldWRvSWRGcm9tU3RyaW5nKHBzZXVkb0VsZW1lbnQpOworICAgIGlmICghcHNl
dWRvSWQpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBFeGNlcHRpb25Db2RlOjpTeW50YXhF
cnJvciwgIlBhcnNpbmcgcHNldWRvLWVsZW1lbnQgc2VsZWN0b3IgZmFpbGVkIl9zIH07CiAKLSAg
ICBpZiAobV9wc2V1ZG9FbGVtZW50SWRlbnRpZmllciA9PSBwc2V1ZG9FbGVtZW50SWRlbnRpZmll
cikKKyAgICBpZiAoKnBzZXVkb0lkID09IG1fcHNldWRvSWQpCiAgICAgICAgIHJldHVybiB7IH07
CiAKICAgICBhdXRvJiBwcmV2aW91c1RhcmdldFN0eWxlYWJsZSA9IHRhcmdldFN0eWxlYWJsZSgp
OwotICAgIG1fcHNldWRvRWxlbWVudElkZW50aWZpZXIgPSBwc2V1ZG9FbGVtZW50SWRlbnRpZmll
cjsKKyAgICBtX3BzZXVkb0lkID0gKnBzZXVkb0lkOwogICAgIGRpZENoYW5nZVRhcmdldFN0eWxl
YWJsZShwcmV2aW91c1RhcmdldFN0eWxlYWJsZSk7CiAKICAgICByZXR1cm4geyB9OwpAQCAtMTMx
Niw3ICsxMzE3LDcgQEAgYm9vbCBLZXlmcmFtZUVmZmVjdDo6aXNDdXJyZW50bHlBZmZlY3RpbmdQ
cm9wZXJ0eShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5LCBBY2NlbGUKICAgICBpZiAoIW1fYmxlbmRp
bmdLZXlmcmFtZXMucHJvcGVydGllcygpLmNvbnRhaW5zKHByb3BlcnR5KSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCi0gICAgaWYgKG1fcHNldWRvRWxlbWVudElkZW50aWZpZXIgJiYgbV9wc2V1
ZG9FbGVtZW50SWRlbnRpZmllci0+cHNldWRvSWQgPT0gUHNldWRvSWQ6Ok1hcmtlciAmJiAhU3R5
bGU6OmlzVmFsaWRNYXJrZXJTdHlsZVByb3BlcnR5KHByb3BlcnR5KSkKKyAgICBpZiAobV9wc2V1
ZG9JZCA9PSBQc2V1ZG9JZDo6TWFya2VyICYmICFTdHlsZTo6aXNWYWxpZE1hcmtlclN0eWxlUHJv
cGVydHkocHJvcGVydHkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICByZXR1cm4gbV9w
aGFzZUF0TGFzdEFwcGxpY2F0aW9uID09IEFuaW1hdGlvbkVmZmVjdFBoYXNlOjpBY3RpdmU7CkBA
IC0xOTQ3LDcgKzE5NDgsNyBAQCB2b2lkIEtleWZyYW1lRWZmZWN0OjphcHBseVBlbmRpbmdBY2Nl
bGVyYXRlZEFjdGlvbnMoKQogICAgICAgICAgICAgcmVuZGVyZXItPmFuaW1hdGlvbkZpbmlzaGVk
KG1fYmxlbmRpbmdLZXlmcmFtZXMuYW5pbWF0aW9uTmFtZSgpKTsKIAogICAgICAgICBBU1NFUlQo
bV90YXJnZXQpOwotICAgICAgICBhdXRvKiBlZmZlY3RTdGFjayA9IG1fdGFyZ2V0LT5rZXlmcmFt
ZUVmZmVjdFN0YWNrKG1fcHNldWRvRWxlbWVudElkZW50aWZpZXIpOworICAgICAgICBhdXRvKiBl
ZmZlY3RTdGFjayA9IG1fdGFyZ2V0LT5rZXlmcmFtZUVmZmVjdFN0YWNrKG1fcHNldWRvSWQpOwog
ICAgICAgICBBU1NFUlQoZWZmZWN0U3RhY2spOwogCiAgICAgICAgIGlmICgobV9ibGVuZGluZ0tl
eWZyYW1lcy5oYXNXaWR0aERlcGVuZGVudFRyYW5zZm9ybSgpICYmIGVmZmVjdFN0YWNrLT5jb250
YWluc1Byb3BlcnR5KENTU1Byb3BlcnR5V2lkdGgpKQpAQCAtMTk2Myw3ICsxOTY0LDcgQEAgdm9p
ZCBLZXlmcmFtZUVmZmVjdDo6YXBwbHlQZW5kaW5nQWNjZWxlcmF0ZWRBY3Rpb25zKCkKICAgICAg
ICAgLy8gV2UgbmVlZCB0byByZXNvbHZlIGFsbCBhbmltYXRpb25zIHVwIHRvIHRoaXMgcG9pbnQg
dG8gZW5zdXJlIGFueSBmb3J3YXJkLWZpbGxpbmcKICAgICAgICAgLy8gZWZmZWN0IGlzIGFjY291
bnRlZCBmb3Igd2hlbiBjb21wdXRpbmcgdGhlICJmcm9tIiB2YWx1ZSBmb3IgdGhlIGFjY2VsZXJh
dGVkIGFuaW1hdGlvbi4KICAgICAgICAgYXV0byB1bmRlcmx5aW5nU3R5bGUgPSBbJl0oKSB7Ci0g
ICAgICAgICAgICBpZiAoYXV0byogbGFzdFN0eWxlQ2hhbmdlRXZlbnRTdHlsZSA9IG1fdGFyZ2V0
LT5sYXN0U3R5bGVDaGFuZ2VFdmVudFN0eWxlKG1fcHNldWRvRWxlbWVudElkZW50aWZpZXIpKQor
ICAgICAgICAgICAgaWYgKGF1dG8qIGxhc3RTdHlsZUNoYW5nZUV2ZW50U3R5bGUgPSBtX3Rhcmdl
dC0+bGFzdFN0eWxlQ2hhbmdlRXZlbnRTdHlsZShtX3BzZXVkb0lkKSkKICAgICAgICAgICAgICAg
ICByZXR1cm4gUmVuZGVyU3R5bGU6OmNsb25lUHRyKCpsYXN0U3R5bGVDaGFuZ2VFdmVudFN0eWxl
KTsKICAgICAgICAgICAgIHJldHVybiBSZW5kZXJTdHlsZTo6Y2xvbmVQdHIocmVuZGVyZXItPnN0
eWxlKCkpOwogICAgICAgICB9KCk7CkBAIC0yMjg1LDkgKzIyODYsNyBAQCBib29sIEtleWZyYW1l
RWZmZWN0Ojp0aWNrc0NvbnRpbnVvdXNseVdoaWxlQWN0aXZlKCkgY29uc3QKICAgICBpZiAoZG9l
c05vdEFmZmVjdFN0eWxlcykKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgYXV0byB0YXJn
ZXRIYXNEaXNwbGF5Q29udGVudHMgPSBbJl0oKSB7Ci0gICAgICAgIHJldHVybiBtX3RhcmdldCAm
JiAhbV9wc2V1ZG9FbGVtZW50SWRlbnRpZmllciAmJiBtX3RhcmdldC0+aGFzRGlzcGxheUNvbnRl
bnRzKCk7Ci0gICAgfTsKKyAgICBhdXRvIHRhcmdldEhhc0Rpc3BsYXlDb250ZW50cyA9IFsmXSgp
IHsgcmV0dXJuIG1fdGFyZ2V0ICYmIG1fcHNldWRvSWQgPT0gUHNldWRvSWQ6Ok5vbmUgJiYgbV90
YXJnZXQtPmhhc0Rpc3BsYXlDb250ZW50cygpOyB9OwogICAgIGlmICghcmVuZGVyZXIoKSAmJiAh
dGFyZ2V0SGFzRGlzcGxheUNvbnRlbnRzKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApAQCAt
MjQ3OCw3ICsyNDc3LDcgQEAgdm9pZCBLZXlmcmFtZUVmZmVjdDo6Y29tcHV0ZUhhc0FjY2VsZXJh
dGVkUHJvcGVydHlPdmVycmlkZGVuQnlDYXNjYWRlUHJvcGVydHkoKQogICAgICAgICByZXR1cm47
CiAKICAgICBBU1NFUlQobV90YXJnZXQpOwotICAgIGF1dG8qIGVmZmVjdFN0YWNrID0gbV90YXJn
ZXQtPmtleWZyYW1lRWZmZWN0U3RhY2sobV9wc2V1ZG9FbGVtZW50SWRlbnRpZmllcik7CisgICAg
YXV0byogZWZmZWN0U3RhY2sgPSBtX3RhcmdldC0+a2V5ZnJhbWVFZmZlY3RTdGFjayhtX3BzZXVk
b0lkKTsKICAgICBpZiAoIWVmZmVjdFN0YWNrKQogICAgICAgICByZXR1cm47CiAKQEAgLTI1NjQs
NyArMjU2Myw3IEBAIHZvaWQgS2V5ZnJhbWVFZmZlY3Q6OmFiaWxpdHlUb0JlQWNjZWxlcmF0ZWRE
aWRDaGFuZ2UoKQogICAgICAgICByZXR1cm47CiAKICAgICBBU1NFUlQobV90YXJnZXQpOwotICAg
IGlmIChhdXRvKiBlZmZlY3RTdGFjayA9IG1fdGFyZ2V0LT5rZXlmcmFtZUVmZmVjdFN0YWNrKG1f
cHNldWRvRWxlbWVudElkZW50aWZpZXIpKQorICAgIGlmIChhdXRvKiBlZmZlY3RTdGFjayA9IG1f
dGFyZ2V0LT5rZXlmcmFtZUVmZmVjdFN0YWNrKG1fcHNldWRvSWQpKQogICAgICAgICBlZmZlY3RT
dGFjay0+ZWZmZWN0QWJpbGl0eVRvQmVBY2NlbGVyYXRlZERpZENoYW5nZSgqdGhpcyk7CiB9CiAK
QEAgLTI2OTUsNyArMjY5NCw3IEBAIEtleWZyYW1lRWZmZWN0OjpTdGFja01lbWJlcnNoaXBNdXRh
dGlvblNjb3BlOjpTdGFja01lbWJlcnNoaXBNdXRhdGlvblNjb3BlKEtleWZyCiAgICAgQVNTRVJU
KGVmZmVjdCk7CiAgICAgaWYgKG1fZWZmZWN0LT5tX3RhcmdldCkgewogICAgICAgICBtX29yaWdp
bmFsVGFyZ2V0ID0gbV9lZmZlY3QtPm1fdGFyZ2V0OwotICAgICAgICBtX29yaWdpbmFsUHNldWRv
RWxlbWVudElkZW50aWZpZXIgPSBtX2VmZmVjdC0+bV9wc2V1ZG9FbGVtZW50SWRlbnRpZmllcjsK
KyAgICAgICAgbV9vcmlnaW5hbFBzZXVkb0lkID0gbV9lZmZlY3QtPm1fcHNldWRvSWQ7CiAgICAg
fQogfQogCkBAIC0yNzAzLDcgKzI3MDIsNyBAQCBLZXlmcmFtZUVmZmVjdDo6U3RhY2tNZW1iZXJz
aGlwTXV0YXRpb25TY29wZTo6flN0YWNrTWVtYmVyc2hpcE11dGF0aW9uU2NvcGUoKQogewogICAg
IGF1dG8gb3JpZ2luYWxUYXJnZXRTdHlsZWFibGUgPSBbJl0oKSAtPiBjb25zdCBzdGQ6Om9wdGlv
bmFsPGNvbnN0IFN0eWxlYWJsZT4gewogICAgICAgICBpZiAobV9vcmlnaW5hbFRhcmdldCkKLSAg
ICAgICAgICAgIHJldHVybiBTdHlsZWFibGUoKm1fb3JpZ2luYWxUYXJnZXQsIG1fb3JpZ2luYWxQ
c2V1ZG9FbGVtZW50SWRlbnRpZmllcik7CisgICAgICAgICAgICByZXR1cm4gU3R5bGVhYmxlKCpt
X29yaWdpbmFsVGFyZ2V0LCBtX29yaWdpbmFsUHNldWRvSWQpOwogICAgICAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OwogICAgIH0oKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0
aW9uL0tleWZyYW1lRWZmZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVF
ZmZlY3QuaAppbmRleCBlMGJmMWNlNzc5NWUuLjc1MjBlMmI5ZjNjZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmgKQEAgLTY0LDcgKzY0LDcgQEAgY2xhc3MgS2V5
ZnJhbWVFZmZlY3QgZmluYWwgOiBwdWJsaWMgQW5pbWF0aW9uRWZmZWN0LCBwdWJsaWMgQ1NTUHJv
cGVydHlCbGVuZGluZ0MKIHB1YmxpYzoKICAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPEtleWZy
YW1lRWZmZWN0Pj4gY3JlYXRlKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBEb2N1bWVudCYsIEVsZW1l
bnQqLCBKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0PiYmLCBzdGQ6Om9wdGlvbmFsPHN0ZDo6dmFy
aWFudDxkb3VibGUsIEtleWZyYW1lRWZmZWN0T3B0aW9ucz4+JiYpOwogICAgIHN0YXRpYyBSZWY8
S2V5ZnJhbWVFZmZlY3Q+IGNyZWF0ZShSZWY8S2V5ZnJhbWVFZmZlY3Q+JiYpOwotICAgIHN0YXRp
YyBSZWY8S2V5ZnJhbWVFZmZlY3Q+IGNyZWF0ZShjb25zdCBFbGVtZW50JiwgY29uc3Qgc3RkOjpv
cHRpb25hbDxTdHlsZTo6UHNldWRvRWxlbWVudElkZW50aWZpZXI+Jik7CisgICAgc3RhdGljIFJl
ZjxLZXlmcmFtZUVmZmVjdD4gY3JlYXRlKGNvbnN0IEVsZW1lbnQmLCBQc2V1ZG9JZCk7CiAKICAg
ICBzdHJ1Y3QgQmFzZVByb3BlcnR5SW5kZXhlZEtleWZyYW1lIHsKICAgICAgICAgc3RkOjp2YXJp
YW50PHN0ZDo6bnVsbHB0cl90LCBWZWN0b3I8c3RkOjpvcHRpb25hbDxkb3VibGU+PiwgZG91Ymxl
PiBvZmZzZXQgPSBWZWN0b3I8c3RkOjpvcHRpb25hbDxkb3VibGU+PigpOwpAQCAtMTk0LDcgKzE5
NCw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiBwcml2YXRlOgotICAgIEtleWZyYW1lRWZmZWN0KEVs
ZW1lbnQqLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmll
cj4mKTsKKyAgICBLZXlmcmFtZUVmZmVjdChFbGVtZW50KiwgUHNldWRvSWQpOwogCiAgICAgZW51
bSBjbGFzcyBBY2NlbGVyYXRlZEFjdGlvbiA6IHVpbnQ4X3QgeyBQbGF5LCBQYXVzZSwgVXBkYXRl
UHJvcGVydGllcywgVHJhbnNmb3JtQ2hhbmdlLCBTdG9wIH07CiAgICAgZW51bSBjbGFzcyBBY2Nl
bGVyYXRlZFByb3BlcnRpZXMgOiB1aW50OF90IHsgTm9uZSwgU29tZSwgQWxsIH07CkBAIC0yNTQs
NyArMjU0LDcgQEAgcHJpdmF0ZToKICAgICBwcml2YXRlOgogICAgICAgICBLZXlmcmFtZUVmZmVj
dCogbV9lZmZlY3Q7CiAgICAgICAgIFJlZlB0cjxFbGVtZW50PiBtX29yaWdpbmFsVGFyZ2V0Owot
ICAgICAgICBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllcj4gbV9v
cmlnaW5hbFBzZXVkb0VsZW1lbnRJZGVudGlmaWVyOworICAgICAgICBQc2V1ZG9JZCBtX29yaWdp
bmFsUHNldWRvSWQ7CiAgICAgfTsKIAogICAgIGJvb2wgdGhyZWFkZWRBbmltYXRpb25SZXNvbHV0
aW9uRW5hYmxlZCgpIGNvbnN0OwpAQCAtMjkxLDcgKzI5MSw3IEBAIHByaXZhdGU6CiAgICAgVmVj
dG9yPFBhcnNlZEtleWZyYW1lPiBtX3BhcnNlZEtleWZyYW1lczsKICAgICBWZWN0b3I8QWNjZWxl
cmF0ZWRBY3Rpb24+IG1fcGVuZGluZ0FjY2VsZXJhdGVkQWN0aW9uczsKICAgICBSZWZQdHI8RWxl
bWVudD4gbV90YXJnZXQ7Ci0gICAgc3RkOjpvcHRpb25hbDxTdHlsZTo6UHNldWRvRWxlbWVudElk
ZW50aWZpZXI+IG1fcHNldWRvRWxlbWVudElkZW50aWZpZXIgeyB9OworICAgIFBzZXVkb0lkIG1f
cHNldWRvSWQgeyBQc2V1ZG9JZDo6Tm9uZSB9OwogCiAjaWYgRU5BQkxFKFRIUkVBREVEX0FOSU1B
VElPTl9SRVNPTFVUSU9OKQogICAgIFdlYWtQdHI8QWNjZWxlcmF0ZWRFZmZlY3Q+IG1fYWNjZWxl
cmF0ZWRSZXByZXNlbnRhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9TdHlsZU9yaWdpbmF0ZWRBbmltYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9u
L1N0eWxlT3JpZ2luYXRlZEFuaW1hdGlvbi5jcHAKaW5kZXggODMwNzEwZjdmNzZjLi5kZGQxM2Qz
N2FjMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9TdHlsZU9yaWdpbmF0
ZWRBbmltYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9TdHlsZU9yaWdp
bmF0ZWRBbmltYXRpb24uY3BwCkBAIC00Niw3ICs0Niw3IEBAIFdURl9NQUtFX0lTT19BTExPQ0FU
RURfSU1QTChTdHlsZU9yaWdpbmF0ZWRBbmltYXRpb24pOwogU3R5bGVPcmlnaW5hdGVkQW5pbWF0
aW9uOjpTdHlsZU9yaWdpbmF0ZWRBbmltYXRpb24oY29uc3QgU3R5bGVhYmxlJiBzdHlsZWFibGUs
IGNvbnN0IEFuaW1hdGlvbiYgYmFja2luZ0FuaW1hdGlvbikKICAgICA6IFdlYkFuaW1hdGlvbihz
dHlsZWFibGUuZWxlbWVudC5kb2N1bWVudCgpKQogICAgICwgbV9vd25pbmdFbGVtZW50KHN0eWxl
YWJsZS5lbGVtZW50KQotICAgICwgbV9vd25pbmdQc2V1ZG9FbGVtZW50SWRlbnRpZmllcihzdHls
ZWFibGUucHNldWRvRWxlbWVudElkZW50aWZpZXIpCisgICAgLCBtX293bmluZ1BzZXVkb0lkKHN0
eWxlYWJsZS5wc2V1ZG9JZCkKICAgICAsIG1fYmFja2luZ0FuaW1hdGlvbihjb25zdF9jYXN0PEFu
aW1hdGlvbiY+KGJhY2tpbmdBbmltYXRpb24pKQogewogfQpAQCAtNTgsNyArNTgsNyBAQCBTdHls
ZU9yaWdpbmF0ZWRBbmltYXRpb246On5TdHlsZU9yaWdpbmF0ZWRBbmltYXRpb24oKQogY29uc3Qg
c3RkOjpvcHRpb25hbDxjb25zdCBTdHlsZWFibGU+IFN0eWxlT3JpZ2luYXRlZEFuaW1hdGlvbjo6
b3duaW5nRWxlbWVudCgpIGNvbnN0CiB7CiAgICAgaWYgKG1fb3duaW5nRWxlbWVudCkKLSAgICAg
ICAgcmV0dXJuIFN0eWxlYWJsZSgqbV9vd25pbmdFbGVtZW50LCBtX293bmluZ1BzZXVkb0VsZW1l
bnRJZGVudGlmaWVyKTsKKyAgICAgICAgcmV0dXJuIFN0eWxlYWJsZSgqbV9vd25pbmdFbGVtZW50
LCBtX293bmluZ1BzZXVkb0lkKTsKICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogfQogCkBAIC0x
MTYsNyArMTE2LDcgQEAgdm9pZCBTdHlsZU9yaWdpbmF0ZWRBbmltYXRpb246OmluaXRpYWxpemUo
Y29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlLCBjb25zdCBSZW4KIAogICAgIEFTU0VSVChtX293
bmluZ0VsZW1lbnQpOwogCi0gICAgc2V0RWZmZWN0KEtleWZyYW1lRWZmZWN0OjpjcmVhdGUoKm1f
b3duaW5nRWxlbWVudCwgbV9vd25pbmdQc2V1ZG9FbGVtZW50SWRlbnRpZmllcikpOworICAgIHNl
dEVmZmVjdChLZXlmcmFtZUVmZmVjdDo6Y3JlYXRlKCptX293bmluZ0VsZW1lbnQsIG1fb3duaW5n
UHNldWRvSWQpKTsKICAgICBzZXRUaW1lbGluZSgmbV9vd25pbmdFbGVtZW50LT5kb2N1bWVudCgp
LnRpbWVsaW5lKCkpOwogICAgIGRvd25jYXN0PEtleWZyYW1lRWZmZWN0PihlZmZlY3QoKSktPmNv
bXB1dGVTdHlsZU9yaWdpbmF0ZWRBbmltYXRpb25CbGVuZGluZ0tleWZyYW1lcyhvbGRTdHlsZSwg
bmV3U3R5bGUsIHJlc29sdXRpb25Db250ZXh0KTsKICAgICBzeW5jUHJvcGVydGllc1dpdGhCYWNr
aW5nQW5pbWF0aW9uKCk7CkBAIC0zOTMsNyArMzkzLDcgQEAgdm9pZCBTdHlsZU9yaWdpbmF0ZWRB
bmltYXRpb246OmVucXVldWVET01FdmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIFNl
Y28KICAgICB9KCk7CiAKICAgICBhdXRvIHRpbWUgPSBzZWNvbmRzVG9XZWJBbmltYXRpb25zQVBJ
VGltZShlbGFwc2VkVGltZSkgLyAxMDAwOwotICAgIGF1dG8gZXZlbnQgPSBjcmVhdGVFdmVudChl
dmVudFR5cGUsIHNjaGVkdWxlZFRpbWVsaW5lVGltZSwgdGltZSwgbV9vd25pbmdQc2V1ZG9FbGVt
ZW50SWRlbnRpZmllcik7CisgICAgYXV0byBldmVudCA9IGNyZWF0ZUV2ZW50KGV2ZW50VHlwZSwg
c2NoZWR1bGVkVGltZWxpbmVUaW1lLCB0aW1lLCBtX293bmluZ1BzZXVkb0lkKTsKICAgICBldmVu
dC0+c2V0VGFyZ2V0KFJlZlB0ciB7IG1fb3duaW5nRWxlbWVudC5nZXQoKSB9KTsKICAgICBlbnF1
ZXVlQW5pbWF0aW9uRXZlbnQoV1RGTW92ZShldmVudCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYW5pbWF0aW9uL1N0eWxlT3JpZ2luYXRlZEFuaW1hdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvYW5pbWF0aW9uL1N0eWxlT3JpZ2luYXRlZEFuaW1hdGlvbi5oCmluZGV4IDNkOTgyYThj
OWI5MS4uYjFlNTk1OGRhODJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24v
U3R5bGVPcmlnaW5hdGVkQW5pbWF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9u
L1N0eWxlT3JpZ2luYXRlZEFuaW1hdGlvbi5oCkBAIC03Niw3ICs3Niw3IEBAIHByb3RlY3RlZDoK
IAogICAgIHZvaWQgaW5pdGlhbGl6ZShjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUsIGNvbnN0
IFJlbmRlclN0eWxlJiBuZXdTdHlsZSwgY29uc3QgU3R5bGU6OlJlc29sdXRpb25Db250ZXh0Jik7
CiAgICAgdmlydHVhbCB2b2lkIHN5bmNQcm9wZXJ0aWVzV2l0aEJhY2tpbmdBbmltYXRpb24oKTsK
LSAgICB2aXJ0dWFsIFJlZjxTdHlsZU9yaWdpbmF0ZWRBbmltYXRpb25FdmVudD4gY3JlYXRlRXZl
bnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBzdGQ6Om9wdGlvbmFsPFNlY29uZHM+IHNj
aGVkdWxlZFRpbWUsIGRvdWJsZSBlbGFwc2VkVGltZSwgY29uc3Qgc3RkOjpvcHRpb25hbDxTdHls
ZTo6UHNldWRvRWxlbWVudElkZW50aWZpZXI+JikgPSAwOworICAgIHZpcnR1YWwgUmVmPFN0eWxl
T3JpZ2luYXRlZEFuaW1hdGlvbkV2ZW50PiBjcmVhdGVFdmVudChjb25zdCBBdG9tU3RyaW5nJiBl
dmVudFR5cGUsIHN0ZDo6b3B0aW9uYWw8U2Vjb25kcz4gc2NoZWR1bGVkVGltZSwgZG91YmxlIGVs
YXBzZWRUaW1lLCBQc2V1ZG9JZCkgPSAwOwogCiAgICAgZW51bSBjbGFzcyBTaG91bGRGaXJlRXZl
bnRzIDogdWludDhfdCB7IE5vLCBZZXNGb3JDU1NBbmltYXRpb24sIFllc0ZvckNTU1RyYW5zaXRp
b24gfTsKICAgICBTaG91bGRGaXJlRXZlbnRzIHNob3VsZEZpcmVET01FdmVudHMoKSBjb25zdDsK
QEAgLTk1LDcgKzk1LDcgQEAgcHJpdmF0ZToKICAgICBBbmltYXRpb25FZmZlY3RQaGFzZSBtX3By
ZXZpb3VzUGhhc2UgeyBBbmltYXRpb25FZmZlY3RQaGFzZTo6SWRsZSB9OwogCiAgICAgV2Vha1B0
cjxFbGVtZW50LCBXZWFrUHRySW1wbFdpdGhFdmVudFRhcmdldERhdGE+IG1fb3duaW5nRWxlbWVu
dDsKLSAgICBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllcj4gbV9v
d25pbmdQc2V1ZG9FbGVtZW50SWRlbnRpZmllcjsKKyAgICBQc2V1ZG9JZCBtX293bmluZ1BzZXVk
b0lkOwogICAgIFJlZjxBbmltYXRpb24+IG1fYmFja2luZ0FuaW1hdGlvbjsKICAgICBkb3VibGUg
bV9wcmV2aW91c0l0ZXJhdGlvbjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmlt
YXRpb24vU3R5bGVPcmlnaW5hdGVkQW5pbWF0aW9uRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
YW5pbWF0aW9uL1N0eWxlT3JpZ2luYXRlZEFuaW1hdGlvbkV2ZW50LmNwcAppbmRleCA4MjgxM2Iy
OTllZDMuLmY0ODI5NDE2MDdhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9u
L1N0eWxlT3JpZ2luYXRlZEFuaW1hdGlvbkV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9h
bmltYXRpb24vU3R5bGVPcmlnaW5hdGVkQW5pbWF0aW9uRXZlbnQuY3BwCkBAIC0zNCwyOSArMzQs
MjkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwo
U3R5bGVPcmlnaW5hdGVkQW5pbWF0aW9uRXZlbnQpOwogCi1TdHlsZU9yaWdpbmF0ZWRBbmltYXRp
b25FdmVudDo6U3R5bGVPcmlnaW5hdGVkQW5pbWF0aW9uRXZlbnQoZW51bSBFdmVudEludGVyZmFj
ZVR5cGUgZXZlbnRJbnRlcmZhY2UsIGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIFdlYkFuaW1hdGlv
biogYW5pbWF0aW9uLCBzdGQ6Om9wdGlvbmFsPFNlY29uZHM+IHNjaGVkdWxlZFRpbWUsIGRvdWJs
ZSBlbGFwc2VkVGltZSwgY29uc3Qgc3RkOjpvcHRpb25hbDxTdHlsZTo6UHNldWRvRWxlbWVudElk
ZW50aWZpZXI+JiBwc2V1ZG9FbGVtZW50SWRlbnRpZmllcikKLSAgICA6IEFuaW1hdGlvbkV2ZW50
QmFzZShldmVudEludGVyZmFjZSwgdHlwZSwgYW5pbWF0aW9uLCBzY2hlZHVsZWRUaW1lKQorU3R5
bGVPcmlnaW5hdGVkQW5pbWF0aW9uRXZlbnQ6OlN0eWxlT3JpZ2luYXRlZEFuaW1hdGlvbkV2ZW50
KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIFdlYkFuaW1hdGlvbiogYW5pbWF0aW9uLCBzdGQ6Om9w
dGlvbmFsPFNlY29uZHM+IHNjaGVkdWxlZFRpbWUsIGRvdWJsZSBlbGFwc2VkVGltZSwgUHNldWRv
SWQgcHNldWRvSWQpCisgICAgOiBBbmltYXRpb25FdmVudEJhc2UodHlwZSwgYW5pbWF0aW9uLCBz
Y2hlZHVsZWRUaW1lKQogICAgICwgbV9lbGFwc2VkVGltZShlbGFwc2VkVGltZSkKLSAgICAsIG1f
cHNldWRvRWxlbWVudElkZW50aWZpZXIocHNldWRvRWxlbWVudElkZW50aWZpZXIpCisgICAgLCBt
X3BzZXVkb0lkKHBzZXVkb0lkKQogewogfQogCi1TdHlsZU9yaWdpbmF0ZWRBbmltYXRpb25FdmVu
dDo6U3R5bGVPcmlnaW5hdGVkQW5pbWF0aW9uRXZlbnQoZW51bSBFdmVudEludGVyZmFjZVR5cGUg
ZXZlbnRJbnRlcmZhY2UsIGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IEV2ZW50SW5pdCYg
aW5pdCwgSXNUcnVzdGVkIGlzVHJ1c3RlZCwgZG91YmxlIGVsYXBzZWRUaW1lLCBjb25zdCBTdHJp
bmcmIHBzZXVkb0VsZW1lbnQpCi0gICAgOiBBbmltYXRpb25FdmVudEJhc2UoZXZlbnRJbnRlcmZh
Y2UsIHR5cGUsIGluaXQsIGlzVHJ1c3RlZCkKK1N0eWxlT3JpZ2luYXRlZEFuaW1hdGlvbkV2ZW50
OjpTdHlsZU9yaWdpbmF0ZWRBbmltYXRpb25FdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBj
b25zdCBFdmVudEluaXQmIGluaXQsIElzVHJ1c3RlZCBpc1RydXN0ZWQsIGRvdWJsZSBlbGFwc2Vk
VGltZSwgY29uc3QgU3RyaW5nJiBwc2V1ZG9FbGVtZW50KQorICAgIDogQW5pbWF0aW9uRXZlbnRC
YXNlKHR5cGUsIGluaXQsIGlzVHJ1c3RlZCkKICAgICAsIG1fZWxhcHNlZFRpbWUoZWxhcHNlZFRp
bWUpCiAgICAgLCBtX3BzZXVkb0VsZW1lbnQocHNldWRvRWxlbWVudCkKIHsKLSAgICBhdXRvKiBu
b2RlID0gZHluYW1pY0Rvd25jYXN0PE5vZGU+KHRhcmdldCgpKTsKLSAgICBhdXRvIFtwYXJzZWQs
IHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyXSA9IHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyRnJvbVN0
cmluZyhtX3BzZXVkb0VsZW1lbnQsIG5vZGUgPyAmbm9kZS0+ZG9jdW1lbnQoKSA6IG51bGxwdHIp
OwotICAgIG1fcHNldWRvRWxlbWVudElkZW50aWZpZXIgPSBwYXJzZWQgPyBwc2V1ZG9FbGVtZW50
SWRlbnRpZmllciA6IHN0ZDo6bnVsbG9wdDsKKyAgICBhdXRvIHBzZXVkb0lkID0gcHNldWRvSWRG
cm9tU3RyaW5nKG1fcHNldWRvRWxlbWVudCk7CisgICAgaWYgKHBzZXVkb0lkKQorICAgICAgICBt
X3BzZXVkb0lkID0gKnBzZXVkb0lkOwogfQogCiBTdHlsZU9yaWdpbmF0ZWRBbmltYXRpb25FdmVu
dDo6flN0eWxlT3JpZ2luYXRlZEFuaW1hdGlvbkV2ZW50KCkgPSBkZWZhdWx0OwogCiBjb25zdCBT
dHJpbmcmIFN0eWxlT3JpZ2luYXRlZEFuaW1hdGlvbkV2ZW50Ojpwc2V1ZG9FbGVtZW50KCkKIHsK
LSAgICBpZiAobV9wc2V1ZG9FbGVtZW50SWRlbnRpZmllciAmJiBtX3BzZXVkb0VsZW1lbnQuaXNO
dWxsKCkpCi0gICAgICAgIG1fcHNldWRvRWxlbWVudCA9IHBzZXVkb0VsZW1lbnRJZGVudGlmaWVy
QXNTdHJpbmcobV9wc2V1ZG9FbGVtZW50SWRlbnRpZmllcik7CisgICAgaWYgKG1fcHNldWRvRWxl
bWVudC5pc051bGwoKSkKKyAgICAgICAgbV9wc2V1ZG9FbGVtZW50ID0gcHNldWRvSWRBc1N0cmlu
ZyhtX3BzZXVkb0lkKTsKICAgICByZXR1cm4gbV9wc2V1ZG9FbGVtZW50OwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vU3R5bGVPcmlnaW5hdGVkQW5pbWF0aW9uRXZl
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9TdHlsZU9yaWdpbmF0ZWRBbmltYXRpb25F
dmVudC5oCmluZGV4IDc3NzQ4MWNlOGY1Yi4uNGVkYTM4MjQyMDcyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hbmltYXRpb24vU3R5bGVPcmlnaW5hdGVkQW5pbWF0aW9uRXZlbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vU3R5bGVPcmlnaW5hdGVkQW5pbWF0aW9uRXZlbnQu
aApAQCAtMjYsNyArMjYsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJBbmltYXRpb25F
dmVudEJhc2UuaCIKLSNpbmNsdWRlICJQc2V1ZG9FbGVtZW50SWRlbnRpZmllci5oIgorI2luY2x1
ZGUgIlJlbmRlclN0eWxlQ29uc3RhbnRzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAt
MzcsMTYgKzM3LDE2IEBAIHB1YmxpYzoKIAogICAgIGRvdWJsZSBlbGFwc2VkVGltZSgpIGNvbnN0
IHsgcmV0dXJuIG1fZWxhcHNlZFRpbWU7IH0KICAgICBjb25zdCBTdHJpbmcmIHBzZXVkb0VsZW1l
bnQoKTsKLSAgICBjb25zdCBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRp
Zmllcj4mIHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9wc2V1ZG9F
bGVtZW50SWRlbnRpZmllcjsgfQorICAgIFBzZXVkb0lkIHBzZXVkb0lkKCkgY29uc3QgeyByZXR1
cm4gbV9wc2V1ZG9JZDsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgU3R5bGVPcmlnaW5hdGVkQW5pbWF0
aW9uRXZlbnQoZW51bSBFdmVudEludGVyZmFjZVR5cGUsIGNvbnN0IEF0b21TdHJpbmcmIHR5cGUs
IFdlYkFuaW1hdGlvbiosIHN0ZDo6b3B0aW9uYWw8U2Vjb25kcz4gc2NoZWR1bGVkVGltZSwgZG91
YmxlLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllcj4m
KTsKLSAgICBTdHlsZU9yaWdpbmF0ZWRBbmltYXRpb25FdmVudChlbnVtIEV2ZW50SW50ZXJmYWNl
VHlwZSwgY29uc3QgQXRvbVN0cmluZyYsIGNvbnN0IEV2ZW50SW5pdCYsIElzVHJ1c3RlZCwgZG91
YmxlLCBjb25zdCBTdHJpbmcmKTsKKyAgICBTdHlsZU9yaWdpbmF0ZWRBbmltYXRpb25FdmVudChj
b25zdCBBdG9tU3RyaW5nJiB0eXBlLCBXZWJBbmltYXRpb24qLCBzdGQ6Om9wdGlvbmFsPFNlY29u
ZHM+IHNjaGVkdWxlZFRpbWUsIGRvdWJsZSwgUHNldWRvSWQpOworICAgIFN0eWxlT3JpZ2luYXRl
ZEFuaW1hdGlvbkV2ZW50KGNvbnN0IEF0b21TdHJpbmcmLCBjb25zdCBFdmVudEluaXQmLCBJc1Ry
dXN0ZWQsIGRvdWJsZSwgY29uc3QgU3RyaW5nJik7CiAKIHByaXZhdGU6CiAgICAgZG91YmxlIG1f
ZWxhcHNlZFRpbWU7CiAgICAgU3RyaW5nIG1fcHNldWRvRWxlbWVudDsKLSAgICBzdGQ6Om9wdGlv
bmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllcj4gbV9wc2V1ZG9FbGVtZW50SWRlbnRp
ZmllciB7IH07CisgICAgUHNldWRvSWQgbV9wc2V1ZG9JZCB7IFBzZXVkb0lkOjpOb25lIH07CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
bmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJB
bmltYXRpb24uY3BwCmluZGV4IGJiZDhkZGY3YTE0OC4uMmQyMmQwYjQzNTgzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcApAQCAtMTU4NCw3ICsxNTg0LDcgQEAg
RXhjZXB0aW9uT3I8dm9pZD4gV2ViQW5pbWF0aW9uOjpjb21taXRTdHlsZXMoKQogICAgICAgICBy
ZXR1cm4gc3R5bGVEZWNsYXJhdGlvbi0+Y29weVByb3BlcnRpZXMoKTsKICAgICB9KCk7CiAKLSAg
ICBhdXRvJiBrZXlmcmFtZVN0YWNrID0gc3R5bGVkRWxlbWVudC0+ZW5zdXJlS2V5ZnJhbWVFZmZl
Y3RTdGFjayh7IH0pOworICAgIGF1dG8mIGtleWZyYW1lU3RhY2sgPSBzdHlsZWRFbGVtZW50LT5l
bnN1cmVLZXlmcmFtZUVmZmVjdFN0YWNrKFBzZXVkb0lkOjpOb25lKTsKIAogICAgIGF1dG8gY29t
bWl0UHJvcGVydHkgPSBbJl0oQW5pbWF0YWJsZUNTU1Byb3BlcnR5IHByb3BlcnR5KSB7CiAgICAg
ICAgIC8vIDEuIExldCBwYXJ0aWFsRWZmZWN0U3RhY2sgYmUgYSBjb3B5IG9mIHRoZSBlZmZlY3Qg
c3RhY2sgZm9yIHByb3BlcnR5IG9uIHRhcmdldC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2FuaW1hdGlvbi9XZWJBbmltYXRpb25VdGlsaXRpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5p
bWF0aW9uL1dlYkFuaW1hdGlvblV0aWxpdGllcy5jcHAKaW5kZXggOWVhNWUwNmUyMTdiLi5lMTgx
ODkwNmEwZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRp
b25VdGlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRp
b25VdGlsaXRpZXMuY3BwCkBAIC0zNCw3ICszNCw4IEBACiAjaW5jbHVkZSAiQ1NTQW5pbWF0aW9u
RXZlbnQuaCIKICNpbmNsdWRlICJDU1NQYXJzZXJDb250ZXh0LmgiCiAjaW5jbHVkZSAiQ1NTUHJv
cGVydHlOYW1lcy5oIgotI2luY2x1ZGUgIkNTU1NlbGVjdG9yUGFyc2VyLmgiCisjaW5jbHVkZSAi
Q1NTU2VsZWN0b3IuaCIKKyNpbmNsdWRlICJDU1NTZWxlY3RvclBhcnNlckNvbnRleHQuaCIKICNp
bmNsdWRlICJDU1NUcmFuc2l0aW9uLmgiCiAjaW5jbHVkZSAiQ1NTVHJhbnNpdGlvbkV2ZW50Lmgi
CiAjaW5jbHVkZSAiRWxlbWVudC5oIgpAQCAtNjAsMTMgKzYxLDExIEBAIHN0YXRpYyBib29sIGNv
bXBhcmVTdHlsZU9yaWdpbmF0ZWRBbmltYXRpb25Pd25pbmdFbGVtZW50UG9zaXRpb25zSW5Eb2N1
bWVudFRyZWVPCiAgICAgLy8gICAgIC0gYW55IG90aGVyIHBzZXVkby1lbGVtZW50cyBub3QgbWVu
dGlvbmVkIHNwZWNpZmljYWxseSBpbiB0aGlzIGxpc3QsIHNvcnRlZCBpbiBhc2NlbmRpbmcgb3Jk
ZXIgYnkgdGhlIFVuaWNvZGUgY29kZXBvaW50cyB0aGF0IG1ha2UgdXAgZWFjaCBzZWxlY3Rvcgog
ICAgIC8vICAgICAtIDo6YWZ0ZXIKICAgICAvLyAgICAgLSBlbGVtZW50IGNoaWxkcmVuCi0gICAg
Ly8gRklYTUU6IFRyZWUgb3JkZXIgc2hvdWxkIGFjY291bnQgZm9yIHRoZSBuYW1lIGFyZ3VtZW50
IG9mIHZpZXcgdHJhbnNpdGlvbnMuCi0gICAgZW51bSBTb3J0aW5nSW5kZXggOiB1aW50OF90IHsg
Tm90UHNldWRvLCBNYXJrZXIsIEJlZm9yZSwgRmlyc3RMZXR0ZXIsIEZpcnN0TGluZSwgR3JhbW1h
ckVycm9yLCBIaWdobGlnaHQsIFdlYktpdFNjcm9sbGJhciwgU2VsZWN0aW9uLCBTcGVsbGluZ0Vy
cm9yLCBBZnRlciwgVmlld1RyYW5zaXRpb24sIFZpZXdUcmFuc2l0aW9uR3JvdXAsIFZpZXdUcmFu
c2l0aW9uSW1hZ2VQYWlyLCBWaWV3VHJhbnNpdGlvbk9sZCwgVmlld1RyYW5zaXRpb25OZXcsIE90
aGVyIH07Ci0gICAgYXV0byBzb3J0aW5nSW5kZXggPSBbXShjb25zdCBzdGQ6Om9wdGlvbmFsPFN0
eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllcj4mIHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyKSAt
PiBTb3J0aW5nSW5kZXggewotICAgICAgICBpZiAoIXBzZXVkb0VsZW1lbnRJZGVudGlmaWVyKQor
ICAgIGVudW0gU29ydGluZ0luZGV4IDogdWludDhfdCB7IE5vdFBzZXVkbywgTWFya2VyLCBCZWZv
cmUsIEZpcnN0TGV0dGVyLCBGaXJzdExpbmUsIEdyYW1tYXJFcnJvciwgSGlnaGxpZ2h0LCBXZWJL
aXRTY3JvbGxiYXIsIFNlbGVjdGlvbiwgU3BlbGxpbmdFcnJvciwgQWZ0ZXIsIE90aGVyIH07Cisg
ICAgYXV0byBzb3J0aW5nSW5kZXggPSBbXShQc2V1ZG9JZCBwc2V1ZG9JZCkgLT4gU29ydGluZ0lu
ZGV4IHsKKyAgICAgICAgc3dpdGNoIChwc2V1ZG9JZCkgeworICAgICAgICBjYXNlIFBzZXVkb0lk
OjpOb25lOgogICAgICAgICAgICAgcmV0dXJuIE5vdFBzZXVkbzsKLQotICAgICAgICBzd2l0Y2gg
KHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyLT5wc2V1ZG9JZCkgewogICAgICAgICBjYXNlIFBzZXVk
b0lkOjpNYXJrZXI6CiAgICAgICAgICAgICByZXR1cm4gTWFya2VyOwogICAgICAgICBjYXNlIFBz
ZXVkb0lkOjpCZWZvcmU6CkBAIC04NywxNiArODYsNiBAQCBzdGF0aWMgYm9vbCBjb21wYXJlU3R5
bGVPcmlnaW5hdGVkQW5pbWF0aW9uT3duaW5nRWxlbWVudFBvc2l0aW9uc0luRG9jdW1lbnRUcmVl
TwogICAgICAgICAgICAgcmV0dXJuIFNwZWxsaW5nRXJyb3I7CiAgICAgICAgIGNhc2UgUHNldWRv
SWQ6OkFmdGVyOgogICAgICAgICAgICAgcmV0dXJuIEFmdGVyOwotICAgICAgICBjYXNlIFBzZXVk
b0lkOjpWaWV3VHJhbnNpdGlvbjoKLSAgICAgICAgICAgIHJldHVybiBWaWV3VHJhbnNpdGlvbjsK
LSAgICAgICAgY2FzZSBQc2V1ZG9JZDo6Vmlld1RyYW5zaXRpb25Hcm91cDoKLSAgICAgICAgICAg
IHJldHVybiBWaWV3VHJhbnNpdGlvbkdyb3VwOwotICAgICAgICBjYXNlIFBzZXVkb0lkOjpWaWV3
VHJhbnNpdGlvbkltYWdlUGFpcjoKLSAgICAgICAgICAgIHJldHVybiBWaWV3VHJhbnNpdGlvbklt
YWdlUGFpcjsKLSAgICAgICAgY2FzZSBQc2V1ZG9JZDo6Vmlld1RyYW5zaXRpb25PbGQ6Ci0gICAg
ICAgICAgICByZXR1cm4gVmlld1RyYW5zaXRpb25PbGQ7Ci0gICAgICAgIGNhc2UgUHNldWRvSWQ6
OlZpZXdUcmFuc2l0aW9uTmV3OgotICAgICAgICAgICAgcmV0dXJuIFZpZXdUcmFuc2l0aW9uTmV3
OwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAg
ICAgICAgICAgICByZXR1cm4gT3RoZXI7CkBAIC0xMDcsOCArOTYsOCBAQCBzdGF0aWMgYm9vbCBj
b21wYXJlU3R5bGVPcmlnaW5hdGVkQW5pbWF0aW9uT3duaW5nRWxlbWVudFBvc2l0aW9uc0luRG9j
dW1lbnRUcmVlTwogICAgIGF1dG8mIGJSZWZlcmVuY2VFbGVtZW50ID0gYi5lbGVtZW50OwogCiAg
ICAgaWYgKCZhUmVmZXJlbmNlRWxlbWVudCA9PSAmYlJlZmVyZW5jZUVsZW1lbnQpIHsKLSAgICAg
ICAgYXV0byBhU29ydGluZ0luZGV4ID0gc29ydGluZ0luZGV4KGEucHNldWRvRWxlbWVudElkZW50
aWZpZXIpOwotICAgICAgICBhdXRvIGJTb3J0aW5nSW5kZXggPSBzb3J0aW5nSW5kZXgoYi5wc2V1
ZG9FbGVtZW50SWRlbnRpZmllcik7CisgICAgICAgIGF1dG8gYVNvcnRpbmdJbmRleCA9IHNvcnRp
bmdJbmRleChhLnBzZXVkb0lkKTsKKyAgICAgICAgYXV0byBiU29ydGluZ0luZGV4ID0gc29ydGlu
Z0luZGV4KGIucHNldWRvSWQpOwogICAgICAgICBBU1NFUlQoYVNvcnRpbmdJbmRleCAhPSBiU29y
dGluZ0luZGV4KTsKICAgICAgICAgcmV0dXJuIGFTb3J0aW5nSW5kZXggPCBiU29ydGluZ0luZGV4
OwogICAgIH0KQEAgLTIyMyw4ICsyMTIsOCBAQCBzdGF0aWMgc3RkOjpvcHRpb25hbDxib29sPiBj
b21wYXJlU3R5bGVPcmlnaW5hdGVkQW5pbWF0aW9uRXZlbnRzKGNvbnN0IEFuaW1hdGlvbgogICAg
IGlmIChhVGFyZ2V0ID09IGJUYXJnZXQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGF1
dG8gYVN0eWxlYWJsZSA9IFN0eWxlYWJsZSgqY2hlY2tlZERvd25jYXN0PEVsZW1lbnQ+KGFUYXJn
ZXQpLCBhQXNEU3R5bGVPcmlnaW5hdGVkQW5pbWF0aW9uRXZlbnRBbmltYXRpb25FdmVudC0+cHNl
dWRvRWxlbWVudElkZW50aWZpZXIoKSk7Ci0gICAgYXV0byBiU3R5bGVhYmxlID0gU3R5bGVhYmxl
KCpjaGVja2VkRG93bmNhc3Q8RWxlbWVudD4oYlRhcmdldCksIGJBc0RTdHlsZU9yaWdpbmF0ZWRB
bmltYXRpb25FdmVudEFuaW1hdGlvbkV2ZW50LT5wc2V1ZG9FbGVtZW50SWRlbnRpZmllcigpKTsK
KyAgICBhdXRvIGFTdHlsZWFibGUgPSBTdHlsZWFibGUoKmNoZWNrZWREb3duY2FzdDxFbGVtZW50
PihhVGFyZ2V0KSwgYUFzRFN0eWxlT3JpZ2luYXRlZEFuaW1hdGlvbkV2ZW50QW5pbWF0aW9uRXZl
bnQtPnBzZXVkb0lkKCkpOworICAgIGF1dG8gYlN0eWxlYWJsZSA9IFN0eWxlYWJsZSgqY2hlY2tl
ZERvd25jYXN0PEVsZW1lbnQ+KGJUYXJnZXQpLCBiQXNEU3R5bGVPcmlnaW5hdGVkQW5pbWF0aW9u
RXZlbnRBbmltYXRpb25FdmVudC0+cHNldWRvSWQoKSk7CiAgICAgcmV0dXJuIGNvbXBhcmVTdHls
ZU9yaWdpbmF0ZWRBbmltYXRpb25Pd25pbmdFbGVtZW50UG9zaXRpb25zSW5Eb2N1bWVudFRyZWVP
cmRlcihhU3R5bGVhYmxlLCBiU3R5bGVhYmxlKTsKIH0KIApAQCAtMjk2LDIyICsyODUsMjQgQEAg
Ym9vbCBjb21wYXJlQW5pbWF0aW9uRXZlbnRzQnlDb21wb3NpdGVPcmRlcihjb25zdCBBbmltYXRp
b25FdmVudEJhc2UmIGEsIGNvbnN0IEEKIH0KIAogLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIG93
bmVkIGJ5IENTU1NlbGVjdG9yLgotLy8gRklYTUU6IEdlbmVyYXRlIHRoaXMgZnVuY3Rpb24uCi1T
dHJpbmcgcHNldWRvRWxlbWVudElkZW50aWZpZXJBc1N0cmluZyhjb25zdCBzdGQ6Om9wdGlvbmFs
PFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllcj4mIHBzZXVkb0VsZW1lbnRJZGVudGlmaWVy
KQorU3RyaW5nIHBzZXVkb0lkQXNTdHJpbmcoUHNldWRvSWQgcHNldWRvSWQpCiB7Ci0gICAgaWYg
KCFwc2V1ZG9FbGVtZW50SWRlbnRpZmllcikKLSAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7
CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPGNvbnN0IFN0cmluZz4gYWZ0ZXIoTUFLRV9TVEFU
SUNfU1RSSU5HX0lNUEwoIjo6YWZ0ZXIiKSk7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPGNv
bnN0IFN0cmluZz4gYmVmb3JlKE1BS0VfU1RBVElDX1NUUklOR19JTVBMKCI6OmJlZm9yZSIpKTsK
ICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgU3RyaW5nPiBmaXJzdExldHRlcihNQUtF
X1NUQVRJQ19TVFJJTkdfSU1QTCgiOjpmaXJzdC1sZXR0ZXIiKSk7CiAgICAgc3RhdGljIE5ldmVy
RGVzdHJveWVkPGNvbnN0IFN0cmluZz4gZmlyc3RMaW5lKE1BS0VfU1RBVElDX1NUUklOR19JTVBM
KCI6OmZpcnN0LWxpbmUiKSk7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPGNvbnN0IFN0cmlu
Zz4gZ3JhbW1hckVycm9yKE1BS0VfU1RBVElDX1NUUklOR19JTVBMKCI6OmdyYW1tYXItZXJyb3Ii
KSk7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPGNvbnN0IFN0cmluZz4gaGlnaGxpZ2h0KE1B
S0VfU1RBVElDX1NUUklOR19JTVBMKCI6OmhpZ2hsaWdodCIpKTsKICAgICBzdGF0aWMgTmV2ZXJE
ZXN0cm95ZWQ8Y29uc3QgU3RyaW5nPiBtYXJrZXIoTUFLRV9TVEFUSUNfU1RSSU5HX0lNUEwoIjo6
bWFya2VyIikpOwogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxjb25zdCBTdHJpbmc+IHNlbGVj
dGlvbihNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgiOjpzZWxlY3Rpb24iKSk7CiAgICAgc3RhdGlj
IE5ldmVyRGVzdHJveWVkPGNvbnN0IFN0cmluZz4gc3BlbGxpbmdFcnJvcihNQUtFX1NUQVRJQ19T
VFJJTkdfSU1QTCgiOjpzcGVsbGluZy1lcnJvciIpKTsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8Y29uc3QgU3RyaW5nPiB2aWV3VHJhbnNpdGlvbihNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgi
Ojp2aWV3LXRyYW5zaXRpb24iKSk7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPGNvbnN0IFN0
cmluZz4gdmlld1RyYW5zaXRpb25Hcm91cChNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgiOjp2aWV3
LXRyYW5zaXRpb24tZ3JvdXAiKSk7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPGNvbnN0IFN0
cmluZz4gdmlld1RyYW5zaXRpb25JbWFnZVBhaXIoTUFLRV9TVEFUSUNfU1RSSU5HX0lNUEwoIjo6
dmlldy10cmFuc2l0aW9uLWltYWdlLXBhaXIiKSk7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVk
PGNvbnN0IFN0cmluZz4gdmlld1RyYW5zaXRpb25PbGQoTUFLRV9TVEFUSUNfU1RSSU5HX0lNUEwo
Ijo6dmlldy10cmFuc2l0aW9uLW9sZCIpKTsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Y29u
c3QgU3RyaW5nPiB2aWV3VHJhbnNpdGlvbk5ldyhNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgiOjp2
aWV3LXRyYW5zaXRpb24tbmV3IikpOwogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxjb25zdCBT
dHJpbmc+IHdlYmtpdFNjcm9sbGJhcihNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgiOjotd2Via2l0
LXNjcm9sbGJhciIpKTsKLSAgICBzd2l0Y2ggKHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyLT5wc2V1
ZG9JZCkgeworICAgIHN3aXRjaCAocHNldWRvSWQpIHsKICAgICBjYXNlIFBzZXVkb0lkOjpBZnRl
cjoKICAgICAgICAgcmV0dXJuIGFmdGVyOwogICAgIGNhc2UgUHNldWRvSWQ6OkJlZm9yZToKQEAg
LTMyMyw3ICszMTQsNyBAQCBTdHJpbmcgcHNldWRvRWxlbWVudElkZW50aWZpZXJBc1N0cmluZyhj
b25zdCBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50SQogICAgIGNhc2UgUHNldWRv
SWQ6OkdyYW1tYXJFcnJvcjoKICAgICAgICAgcmV0dXJuIGdyYW1tYXJFcnJvcjsKICAgICBjYXNl
IFBzZXVkb0lkOjpIaWdobGlnaHQ6Ci0gICAgICAgIHJldHVybiBtYWtlU3RyaW5nKCI6OmhpZ2hs
aWdodCJfcywgJygnLCBwc2V1ZG9FbGVtZW50SWRlbnRpZmllci0+bmFtZUFyZ3VtZW50LCAnKScp
OworICAgICAgICByZXR1cm4gaGlnaGxpZ2h0OwogICAgIGNhc2UgUHNldWRvSWQ6Ok1hcmtlcjoK
ICAgICAgICAgcmV0dXJuIG1hcmtlcjsKICAgICBjYXNlIFBzZXVkb0lkOjpTZWxlY3Rpb246CkBA
IC0zMzMsMTMgKzMyNCwxMyBAQCBTdHJpbmcgcHNldWRvRWxlbWVudElkZW50aWZpZXJBc1N0cmlu
Zyhjb25zdCBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50SQogICAgIGNhc2UgUHNl
dWRvSWQ6OlZpZXdUcmFuc2l0aW9uOgogICAgICAgICByZXR1cm4gdmlld1RyYW5zaXRpb247CiAg
ICAgY2FzZSBQc2V1ZG9JZDo6Vmlld1RyYW5zaXRpb25Hcm91cDoKLSAgICAgICAgcmV0dXJuIG1h
a2VTdHJpbmcoIjo6dmlldy10cmFuc2l0aW9uLWdyb3VwIl9zLCAnKCcsIHBzZXVkb0VsZW1lbnRJ
ZGVudGlmaWVyLT5uYW1lQXJndW1lbnQsICcpJyk7CisgICAgICAgIHJldHVybiB2aWV3VHJhbnNp
dGlvbkdyb3VwOwogICAgIGNhc2UgUHNldWRvSWQ6OlZpZXdUcmFuc2l0aW9uSW1hZ2VQYWlyOgot
ICAgICAgICByZXR1cm4gbWFrZVN0cmluZygiOjp2aWV3LXRyYW5zaXRpb24taW1hZ2UtcGFpciJf
cywgJygnLCBwc2V1ZG9FbGVtZW50SWRlbnRpZmllci0+bmFtZUFyZ3VtZW50LCAnKScpOworICAg
ICAgICByZXR1cm4gdmlld1RyYW5zaXRpb25JbWFnZVBhaXI7CiAgICAgY2FzZSBQc2V1ZG9JZDo6
Vmlld1RyYW5zaXRpb25PbGQ6Ci0gICAgICAgIHJldHVybiBtYWtlU3RyaW5nKCI6OnZpZXctdHJh
bnNpdGlvbi1vbGQiX3MsICcoJywgcHNldWRvRWxlbWVudElkZW50aWZpZXItPm5hbWVBcmd1bWVu
dCwgJyknKTsKKyAgICAgICAgcmV0dXJuIHZpZXdUcmFuc2l0aW9uT2xkOwogICAgIGNhc2UgUHNl
dWRvSWQ6OlZpZXdUcmFuc2l0aW9uTmV3OgotICAgICAgICByZXR1cm4gbWFrZVN0cmluZygiOjp2
aWV3LXRyYW5zaXRpb24tbmV3Il9zLCAnKCcsIHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyLT5uYW1l
QXJndW1lbnQsICcpJyk7CisgICAgICAgIHJldHVybiB2aWV3VHJhbnNpdGlvbk5ldzsKICAgICBj
YXNlIFBzZXVkb0lkOjpXZWJLaXRTY3JvbGxiYXI6CiAgICAgICAgIHJldHVybiB3ZWJraXRTY3Jv
bGxiYXI7CiAgICAgZGVmYXVsdDoKQEAgLTM0NywxNiArMzM4LDE1IEBAIFN0cmluZyBwc2V1ZG9F
bGVtZW50SWRlbnRpZmllckFzU3RyaW5nKGNvbnN0IHN0ZDo6b3B0aW9uYWw8U3R5bGU6OlBzZXVk
b0VsZW1lbnRJCiAgICAgfQogfQogCi0vLyBib29sIHJlcHJlc2VudHMgd2hldGhlciBwYXJzaW5n
IHdhcyBzdWNjZXNzZnVsLCBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRp
Zmllcj4gaXMgdGhlIHJlc3VsdCBvZiB0aGUgcGFyc2luZyB3aGVuIHN1Y2Nlc3NmdWwuCi1zdGQ6
OnBhaXI8Ym9vbCwgc3RkOjpvcHRpb25hbDxTdHlsZTo6UHNldWRvRWxlbWVudElkZW50aWZpZXI+
PiBwc2V1ZG9FbGVtZW50SWRlbnRpZmllckZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBwc2V1ZG9F
bGVtZW50LCBEb2N1bWVudCogZG9jdW1lbnQpCitzdGQ6Om9wdGlvbmFsPFBzZXVkb0lkPiBwc2V1
ZG9JZEZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBwc2V1ZG9FbGVtZW50KQogewogICAgIC8vIGh0
dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy93ZWItYW5pbWF0aW9ucy0xLyNkb20ta2V5ZnJhbWVlZmZl
Y3QtcHNldWRvZWxlbWVudAogICAgIGlmIChwc2V1ZG9FbGVtZW50LmlzTnVsbCgpKQotICAgICAg
ICByZXR1cm4geyB0cnVlLCBzdGQ6Om51bGxvcHQgfTsKKyAgICAgICAgcmV0dXJuIFBzZXVkb0lk
OjpOb25lOwogCi0gICAgLy8gRklYTUU6IFdlIHNob3VsZCBhbHdheXMgaGF2ZSBhIGRvY3VtZW50
IGZvciBhY2N1cmF0ZSBzZXR0aW5ncy4KLSAgICBhdXRvIHBhcnNlckNvbnRleHQgPSBkb2N1bWVu
dCA/IENTU1NlbGVjdG9yUGFyc2VyQ29udGV4dCB7ICpkb2N1bWVudCB9IDogQ1NTU2VsZWN0b3JQ
YXJzZXJDb250ZXh0IHsgQ1NTUGFyc2VyQ29udGV4dCB7IEhUTUxTdGFuZGFyZE1vZGUgfSB9Owot
ICAgIHJldHVybiBDU1NTZWxlY3RvclBhcnNlcjo6cGFyc2VQc2V1ZG9FbGVtZW50KHBzZXVkb0Vs
ZW1lbnQsIHBhcnNlckNvbnRleHQpOworICAgIC8vIEZJWE1FOiBUaGlzIHBhcnNlckNvbnRleHQg
c2hvdWxkIGluY2x1ZGUgYSBkb2N1bWVudCB0byBnZXQgdGhlIHByb3BlciBzZXR0aW5ncy4KKyAg
ICBDU1NTZWxlY3RvclBhcnNlckNvbnRleHQgcGFyc2VyQ29udGV4dCB7IENTU1BhcnNlckNvbnRl
eHQgeyBIVE1MU3RhbmRhcmRNb2RlIH0gfTsKKyAgICByZXR1cm4gQ1NTU2VsZWN0b3I6OnBhcnNl
UHNldWRvRWxlbWVudChwc2V1ZG9FbGVtZW50LCBwYXJzZXJDb250ZXh0KTsKIH0KIAogQXRvbVN0
cmluZyBhbmltYXRhYmxlUHJvcGVydHlBc1N0cmluZyhBbmltYXRhYmxlQ1NTUHJvcGVydHkgcHJv
cGVydHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9u
VXRpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uVXRpbGl0
aWVzLmgKaW5kZXggNTlkNzQxMWNjMTgxLi5hZjkyMjEwMTljM2MgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb25VdGlsaXRpZXMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uVXRpbGl0aWVzLmgKQEAgLTU4LDggKzU4LDgg
QEAgY29uc3QgYXV0byB0aW1lRXBzaWxvbiA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMoMC4w
MDEpOwogCiBib29sIGNvbXBhcmVBbmltYXRpb25zQnlDb21wb3NpdGVPcmRlcihjb25zdCBXZWJB
bmltYXRpb24mLCBjb25zdCBXZWJBbmltYXRpb24mKTsKIGJvb2wgY29tcGFyZUFuaW1hdGlvbkV2
ZW50c0J5Q29tcG9zaXRlT3JkZXIoY29uc3QgQW5pbWF0aW9uRXZlbnRCYXNlJiwgY29uc3QgQW5p
bWF0aW9uRXZlbnRCYXNlJik7Ci1TdHJpbmcgcHNldWRvRWxlbWVudElkZW50aWZpZXJBc1N0cmlu
Zyhjb25zdCBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllcj4mKTsK
LXN0ZDo6cGFpcjxib29sLCBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRp
Zmllcj4+IHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyRnJvbVN0cmluZyhjb25zdCBTdHJpbmcmLCBE
b2N1bWVudCopOworU3RyaW5nIHBzZXVkb0lkQXNTdHJpbmcoUHNldWRvSWQpOworc3RkOjpvcHRp
b25hbDxQc2V1ZG9JZD4gcHNldWRvSWRGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYpOwogQXRvbVN0
cmluZyBhbmltYXRhYmxlUHJvcGVydHlBc1N0cmluZyhBbmltYXRhYmxlQ1NTUHJvcGVydHkpOwog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0luRmlsZXNDb21waWxlci5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvSW5GaWxlc0NvbXBpbGVyLnBtCmluZGV4IGUyMTE0YzY1NTllOC4uOTA2Y2IwZTU1
MzRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0luRmlsZXND
b21waWxlci5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0luRmlsZXND
b21waWxlci5wbQpAQCAtMjI0LDQyICsyMjQsMTQgQEAgc3ViIGdlbmVyYXRlSW50ZXJmYWNlc0hl
YWRlcigpCiAKICAgICBwcmludCBGICJuYW1lc3BhY2UgV2ViQ29yZSB7XG4iOwogICAgIHByaW50
IEYgIlxuIjsKLSAgICBwcmludCBGICJlbnVtIGNsYXNzICR7bmFtZXNwYWNlfUludGVyZmFjZVR5
cGUge1xuIjsKKyAgICBwcmludCBGICJlbnVtICR7bmFtZXNwYWNlfUludGVyZmFjZSB7XG4iOwog
CiAgICAgbXkgJHN1ZmZpeCA9ICJJbnRlcmZhY2VUeXBlIjsKICAgICBpZiAoJHVzZU5hbWVzcGFj
ZUFzU3VmZml4IGVxICJ0cnVlIikgewogICAgICAgICAkc3VmZml4ID0gJG5hbWVzcGFjZSAuICRz
dWZmaXg7CiAgICAgfQogCi0gICAgcHJpbnQgRiAiICAgIEludmFsaWQgPSAwLFxuIjsKLQogICAg
IG15ICRjb3VudCA9IDE7Ci0gICAgZm9yIG15ICRjb25kaXRpb25hbCAoc29ydCBrZXlzICVpbnRl
cmZhY2VzQnlDb25kaXRpb25hbCkgewotICAgICAgICBteSAkcHJlZmVycmVkQ29uZGl0aW9uYWwg
PSAkb2JqZWN0LT5wcmVmZXJyZWRDb25kaXRpb25hbCgkY29uZGl0aW9uYWwpOwotICAgICAgICBw
cmludCBGICIjaWYgIiAuICRvYmplY3QtPmNvbmRpdGlvbmFsU3RyaW5nRnJvbUF0dHJpYnV0ZVZh
bHVlKCRjb25kaXRpb25hbCkgLiAiXG4iOwotICAgICAgICBmb3IgbXkgJGludGVyZmFjZSAoc29y
dCBrZXlzICV7ICRpbnRlcmZhY2VzQnlDb25kaXRpb25hbHskY29uZGl0aW9uYWx9IH0pIHsKLSAg
ICAgICAgICAgIG5leHQgaWYgZGVmaW5lZCgkdW5jb25kaXRpb25hbEludGVyZmFjZXN7JGludGVy
ZmFjZX0pOwotICAgICAgICAgICAgcHJpbnQgRiAiICAgICR7aW50ZXJmYWNlfSA9ICRjb3VudCxc
biI7Ci0gICAgICAgICAgICAkY291bnQrKzsKLSAgICAgICAgfQotICAgICAgICBwcmludCBGICIj
ZW5kaWZcbiI7Ci0gICAgfQotCi0gICAgaWYgKCRuYW1lc3BhY2UgZXEgIkV2ZW50VGFyZ2V0Iikg
ewotICAgICAgICBwcmludCBGICIgICAgJHtzdWZmaXh9ID0gJGNvdW50LFxuIjsKLSAgICAgICAg
JGNvdW50Kys7Ci0gICAgfQotCi0gICAgZm9yIG15ICRpbnRlcmZhY2UgKHNvcnQga2V5cyAldW5j
b25kaXRpb25hbEludGVyZmFjZXMpIHsKLSAgICAgICAgcHJpbnQgRiAiICAgICR7aW50ZXJmYWNl
fSA9ICRjb3VudCxcbiI7Ci0gICAgICAgICRjb3VudCsrOwotICAgIH0KLQotICAgIHByaW50IEYg
In07XG4iOwotICAgIHByaW50IEYgIlxuIjsKLSAgICBwcmludCBGICJlbnVtICR7bmFtZXNwYWNl
fUludGVyZmFjZSB7XG4iOwotCi0gICAgJGNvdW50ID0gMTsKICAgICBmb3IgbXkgJGNvbmRpdGlv
bmFsIChzb3J0IGtleXMgJWludGVyZmFjZXNCeUNvbmRpdGlvbmFsKSB7CiAgICAgICAgIG15ICRw
cmVmZXJyZWRDb25kaXRpb25hbCA9ICRvYmplY3QtPnByZWZlcnJlZENvbmRpdGlvbmFsKCRjb25k
aXRpb25hbCk7CiAgICAgICAgIHByaW50IEYgIiNpZiAiIC4gJG9iamVjdC0+Y29uZGl0aW9uYWxT
dHJpbmdGcm9tQXR0cmlidXRlVmFsdWUoJGNvbmRpdGlvbmFsKSAuICJcbiI7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1NlbGVjdG9yLmNwcAppbmRleCA1NjRlNDhhNTEwNGUuLmNlMGU1M2E5ZjY4NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCkBAIC0yNywxMCArMjcsMTQgQEAKICNpbmNsdWRlICJD
U1NTZWxlY3Rvci5oIgogCiAjaW5jbHVkZSAiQ1NTTWFya3VwLmgiCisjaW5jbHVkZSAiQ1NTUGFy
c2VyVG9rZW5SYW5nZS5oIgogI2luY2x1ZGUgIkNTU1NlbGVjdG9ySW5saW5lcy5oIgogI2luY2x1
ZGUgIkNTU1NlbGVjdG9yTGlzdC5oIgorI2luY2x1ZGUgIkNTU1NlbGVjdG9yUGFyc2VyQ29udGV4
dC5oIgorI2luY2x1ZGUgIkNTU1Rva2VuaXplci5oIgogI2luY2x1ZGUgIkNvbW1vbkF0b21TdHJp
bmdzLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiTXV0YWJsZUNTU1NlbGVj
dG9yLmgiCiAjaW5jbHVkZSAiU2VsZWN0b3JQc2V1ZG9UeXBlTWFwLmgiCiAjaW5jbHVkZSA8bWVt
b3J5PgogI2luY2x1ZGUgPHF1ZXVlPgpAQCAtMzMyLDYgKzMzNiwzNSBAQCBzdGQ6Om9wdGlvbmFs
PENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50PiBDU1NTZWxlY3Rvcjo6cGFyc2VQc2V1ZG9FbGVt
ZW50TmFtZShTdAogICAgIHJldHVybiAqdHlwZTsKIH0KIAorLy8gRklYTUU6IFdlIHNob3VsZCBl
dmVudHVhbGx5IGRlZHVwbGljYXRlIHRoaXMgd2l0aCBDU1NTZWxlY3RvclBhcnNlcjo6Y29uc3Vt
ZVBzZXVkbygpIHNvbWVob3cuCitzdGQ6Om9wdGlvbmFsPFBzZXVkb0lkPiBDU1NTZWxlY3Rvcjo6
cGFyc2VQc2V1ZG9FbGVtZW50KGNvbnN0IFN0cmluZyYgaW5wdXQsIGNvbnN0IENTU1NlbGVjdG9y
UGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICAvLyBGSVhNRTogQWRkIHN1cHBvcnQgZm9y
IEZ1bmN0aW9uVG9rZW4gKHdlYmtpdC5vcmcvYi8yNjQxMDMpLgorICAgIGF1dG8gdG9rZW5pemVy
ID0gQ1NTVG9rZW5pemVyIHsgaW5wdXQgfTsKKyAgICBhdXRvIHJhbmdlID0gdG9rZW5pemVyLnRv
a2VuUmFuZ2UoKTsKKyAgICBhdXRvIHRva2VuID0gcmFuZ2UuY29uc3VtZSgpOworICAgIGlmICh0
b2tlbi50eXBlKCkgIT0gQ29sb25Ub2tlbikKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
KyAgICB0b2tlbiA9IHJhbmdlLmNvbnN1bWUoKTsKKyAgICBpZiAodG9rZW4udHlwZSgpID09IElk
ZW50VG9rZW4pIHsKKyAgICAgICAgaWYgKCFyYW5nZS5hdEVuZCgpKQorICAgICAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICAgICAgYXV0byBwc2V1ZG9DbGFzc09yRWxlbWVudCA9IGZp
bmRQc2V1ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlFbGVtZW50TmFtZSh0b2tlbi52YWx1ZSgpKTsK
KyAgICAgICAgaWYgKCFwc2V1ZG9DbGFzc09yRWxlbWVudC5jb21wYXRpYmlsaXR5UHNldWRvRWxl
bWVudCkKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgICAgIEFTU0VSVChD
U1NTZWxlY3Rvcjo6aXNQc2V1ZG9FbGVtZW50RW5hYmxlZCgqcHNldWRvQ2xhc3NPckVsZW1lbnQu
Y29tcGF0aWJpbGl0eVBzZXVkb0VsZW1lbnQsIHRva2VuLnZhbHVlKCksIGNvbnRleHQpKTsKKyAg
ICAgICAgcmV0dXJuIHBzZXVkb0lkKCpwc2V1ZG9DbGFzc09yRWxlbWVudC5jb21wYXRpYmlsaXR5
UHNldWRvRWxlbWVudCk7CisgICAgfQorICAgIGlmICh0b2tlbi50eXBlKCkgIT0gQ29sb25Ub2tl
bikKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICB0b2tlbiA9IHJhbmdlLmNvbnN1
bWUoKTsKKyAgICBpZiAodG9rZW4udHlwZSgpICE9IElkZW50VG9rZW4gfHwgIXJhbmdlLmF0RW5k
KCkpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgaWYgKGF1dG8gcHNldWRvRWxl
bWVudCA9IHBhcnNlUHNldWRvRWxlbWVudE5hbWUodG9rZW4udmFsdWUoKSwgY29udGV4dCkpCisg
ICAgICAgIHJldHVybiBwc2V1ZG9JZCgqcHNldWRvRWxlbWVudCk7CisgICAgcmV0dXJuIHN0ZDo6
bnVsbG9wdDsKK30KKwogY29uc3QgQ1NTU2VsZWN0b3IqIENTU1NlbGVjdG9yOjpmaXJzdEluQ29t
cG91bmQoKSBjb25zdAogewogICAgIGF1dG8qIHNlbGVjdG9yID0gdGhpczsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1NlbGVjdG9yLmgKaW5kZXggYjdiODZkODliY2ZiLi41MDdiOGI2NjcwMjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTZWxlY3Rvci5oCkBAIC0yMSw2ICsyMSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5j
bHVkZSAiQ1NTUGFyc2VyQ29udGV4dC5oIgogI2luY2x1ZGUgIkNTU1NlbGVjdG9yRW51bXMuaCIK
ICNpbmNsdWRlICJRdWFsaWZpZWROYW1lLmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGVDb25zdGFu
dHMuaCIKQEAgLTExNyw2ICsxMTgsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBzZXVkb0lkIHBz
ZXVkb0lkKFBzZXVkb0VsZW1lbnQpOwogICAgIHN0YXRpYyBib29sIGlzUHNldWRvQ2xhc3NFbmFi
bGVkKFBzZXVkb0NsYXNzLCBjb25zdCBDU1NTZWxlY3RvclBhcnNlckNvbnRleHQmKTsKICAgICBz
dGF0aWMgYm9vbCBpc1BzZXVkb0VsZW1lbnRFbmFibGVkKFBzZXVkb0VsZW1lbnQsIFN0cmluZ1Zp
ZXcsIGNvbnN0IENTU1NlbGVjdG9yUGFyc2VyQ29udGV4dCYpOworICAgIHN0YXRpYyBzdGQ6Om9w
dGlvbmFsPFBzZXVkb0lkPiBwYXJzZVBzZXVkb0VsZW1lbnQoY29uc3QgU3RyaW5nJiwgY29uc3Qg
Q1NTU2VsZWN0b3JQYXJzZXJDb250ZXh0Jik7CiAgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8UHNl
dWRvRWxlbWVudD4gcGFyc2VQc2V1ZG9FbGVtZW50TmFtZShTdHJpbmdWaWV3LCBjb25zdCBDU1NT
ZWxlY3RvclBhcnNlckNvbnRleHQmKTsKICAgICBzdGF0aWMgYm9vbCBwc2V1ZG9DbGFzc1JlcXVp
cmVzQXJndW1lbnQoUHNldWRvQ2xhc3MpOwogICAgIHN0YXRpYyBib29sIHBzZXVkb0VsZW1lbnRS
ZXF1aXJlc0FyZ3VtZW50KFBzZXVkb0VsZW1lbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NvbXB1dGVkU3R5bGVFeHRyYWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0Nv
bXB1dGVkU3R5bGVFeHRyYWN0b3IuY3BwCmluZGV4IDFhNDgwNDJhYmE1NS4uNmRhNjczMzE2YjE5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NvbXB1dGVkU3R5bGVFeHRyYWN0b3IuY3BwCkBA
IC03MzYsNyArNzM2LDcgQEAgc3RhdGljIExheW91dFJlY3Qgc2l6aW5nQm94KFJlbmRlck9iamVj
dCYgcmVuZGVyZXIpCiAgICAgcmV0dXJuIGJveC0+c3R5bGUoKS5ib3hTaXppbmcoKSA9PSBCb3hT
aXppbmc6OkJvcmRlckJveCA/IGJveC0+Ym9yZGVyQm94UmVjdCgpIDogYm94LT5jb21wdXRlZENT
U0NvbnRlbnRCb3hSZWN0KCk7CiB9CiAKLVJlZjxDU1NGdW5jdGlvblZhbHVlPiBDb21wdXRlZFN0
eWxlRXh0cmFjdG9yOjptYXRyaXhUcmFuc2Zvcm1WYWx1ZShjb25zdCBUcmFuc2Zvcm1hdGlvbk1h
dHJpeCYgdHJhbnNmb3JtLCBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUpCitzdGF0aWMgUmVmPENT
U0Z1bmN0aW9uVmFsdWU+IG1hdHJpeFRyYW5zZm9ybVZhbHVlKGNvbnN0IFRyYW5zZm9ybWF0aW9u
TWF0cml4JiB0cmFuc2Zvcm0sIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKIHsKICAgICBhdXRv
IHpvb20gPSBzdHlsZS5lZmZlY3RpdmVab29tKCk7CiAgICAgaWYgKHRyYW5zZm9ybS5pc0FmZmlu
ZSgpKSB7CkBAIC04NDksNyArODQ5LDcgQEAgUmVmUHRyPENTU0Z1bmN0aW9uVmFsdWU+IHRyYW5z
Zm9ybU9wZXJhdGlvbkFzQ1NTVmFsdWUoY29uc3QgVHJhbnNmb3JtT3BlcmF0aW9uJgogICAgIGNh
c2UgVHJhbnNmb3JtT3BlcmF0aW9uOjpUeXBlOjpNYXRyaXgzRDogewogICAgICAgICBUcmFuc2Zv
cm1hdGlvbk1hdHJpeCB0cmFuc2Zvcm07CiAgICAgICAgIG9wZXJhdGlvbi5hcHBseSh0cmFuc2Zv
cm0sIHsgfSk7Ci0gICAgICAgIHJldHVybiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjptYXRyaXhU
cmFuc2Zvcm1WYWx1ZSh0cmFuc2Zvcm0sIHN0eWxlKTsKKyAgICAgICAgcmV0dXJuIG1hdHJpeFRy
YW5zZm9ybVZhbHVlKHRyYW5zZm9ybSwgc3R5bGUpOwogICAgIH0KICAgICBjYXNlIFRyYW5zZm9y
bU9wZXJhdGlvbjo6VHlwZTo6SWRlbnRpdHk6CiAgICAgY2FzZSBUcmFuc2Zvcm1PcGVyYXRpb246
OlR5cGU6Ok5vbmU6CkBAIC04NjgsNyArODY4LDcgQEAgc3RhdGljIFJlZjxDU1NWYWx1ZT4gY29t
cHV0ZWRUcmFuc2Zvcm0oUmVuZGVyRWxlbWVudCogcmVuZGVyZXIsIGNvbnN0IFJlbmRlclN0eWwK
ICAgICBpZiAocmVuZGVyZXIpIHsKICAgICAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggdHJhbnNm
b3JtOwogICAgICAgICBzdHlsZS5hcHBseVRyYW5zZm9ybSh0cmFuc2Zvcm0sIFRyYW5zZm9ybU9w
ZXJhdGlvbkRhdGEocmVuZGVyZXItPnRyYW5zZm9ybVJlZmVyZW5jZUJveFJlY3Qoc3R5bGUpLCBy
ZW5kZXJlciksIHsgfSk7Ci0gICAgICAgIHJldHVybiBDU1NUcmFuc2Zvcm1MaXN0VmFsdWU6OmNy
ZWF0ZShDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjptYXRyaXhUcmFuc2Zvcm1WYWx1ZSh0cmFuc2Zv
cm0sIHN0eWxlKSk7CisgICAgICAgIHJldHVybiBDU1NUcmFuc2Zvcm1MaXN0VmFsdWU6OmNyZWF0
ZShtYXRyaXhUcmFuc2Zvcm1WYWx1ZSh0cmFuc2Zvcm0sIHN0eWxlKSk7CiAgICAgfQogCiAgICAg
Ly8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL2Nzc3dnLWRyYWZ0cy9jc3MtdHJhbnNmb3Jtcy0xLyNz
ZXJpYWxpemF0aW9uLW9mLXRoZS1jb21wdXRlZC12YWx1ZQpAQCAtMjc0Miw4ICsyNzQyLDkgQEAg
UmVuZGVyRWxlbWVudCogQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6c3R5bGVkUmVuZGVyZXIoKSBj
b25zdAogewogICAgIGlmICghbV9lbGVtZW50KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAg
ICAvLyBGSVhNRTogU3R5bGVhYmxlIHNob3VsZCB1c2UgUHNldWRvRWxlbWVudElkZW50aWZpZXIg
KHdlYmtpdC5vcmcvYi8yNjgwNjQpLgogICAgIGlmIChtX3BzZXVkb0VsZW1lbnRJZGVudGlmaWVy
KQotICAgICAgICByZXR1cm4gU3R5bGVhYmxlKCptX2VsZW1lbnQsIG1fcHNldWRvRWxlbWVudElk
ZW50aWZpZXIpLnJlbmRlcmVyKCk7CisgICAgICAgIHJldHVybiBTdHlsZWFibGUoKm1fZWxlbWVu
dCwgbV9wc2V1ZG9FbGVtZW50SWRlbnRpZmllci0+cHNldWRvSWQpLnJlbmRlcmVyKCk7CiAgICAg
aWYgKG1fZWxlbWVudC0+aGFzRGlzcGxheUNvbnRlbnRzKCkpCiAgICAgICAgIHJldHVybiBudWxs
cHRyOwogICAgIHJldHVybiBtX2VsZW1lbnQtPnJlbmRlcmVyKCk7CkBAIC0yNzU4LDcgKzI3NTks
NyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaGFzVmFsaWRTdHlsZUZvclByb3BlcnR5KEVsZW1lbnQm
IGVsZW1lbnQsIENTU1Byb3BlcnR5SUQgcHJvcAogICAgIGlmICghZWxlbWVudC5kb2N1bWVudCgp
LmNoaWxkTmVlZHNTdHlsZVJlY2FsYygpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlm
IChhdXRvKiBrZXlmcmFtZUVmZmVjdFN0YWNrID0gU3R5bGVhYmxlKGVsZW1lbnQsIHsgfSkua2V5
ZnJhbWVFZmZlY3RTdGFjaygpKSB7CisgICAgaWYgKGF1dG8qIGtleWZyYW1lRWZmZWN0U3RhY2sg
PSBTdHlsZWFibGUoZWxlbWVudCwgUHNldWRvSWQ6Ok5vbmUpLmtleWZyYW1lRWZmZWN0U3RhY2so
KSkgewogICAgICAgICBpZiAoa2V5ZnJhbWVFZmZlY3RTdGFjay0+Y29udGFpbnNQcm9wZXJ0eShw
cm9wZXJ0eUlEKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvci5oIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NvbXB1dGVkU3R5bGVFeHRyYWN0b3IuaAppbmRleCBhZDE5MjcxZDcyMGIuLjli
YmZkNGUxOTU3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NvbXB1dGVkU3R5bGVF
eHRyYWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29tcHV0ZWRTdHlsZUV4dHJhY3Rv
ci5oCkBAIC00MCw3ICs0MCw2IEBAIGNsYXNzIFJlbmRlclN0eWxlOwogY2xhc3MgU2hhZG93RGF0
YTsKIGNsYXNzIFN0eWxlQ29sb3I7CiBjbGFzcyBTdHlsZVByb3BlcnR5U2hvcnRoYW5kOwotY2xh
c3MgVHJhbnNmb3JtYXRpb25NYXRyaXg7CiBjbGFzcyBUcmFuc2Zvcm1PcGVyYXRpb247CiAKIHN0
cnVjdCBQcm9wZXJ0eVZhbHVlOwpAQCAtODIsNyArODEsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IFJlZjxDU1NWYWx1ZT4gdmFsdWVGb3JGaWx0ZXIoY29uc3QgUmVuZGVyU3R5bGUmLCBjb25zdCBG
aWx0ZXJPcGVyYXRpb25zJiwgQWRqdXN0UGl4ZWxWYWx1ZXNGb3JDb21wdXRlZFN0eWxlID0gQWRq
dXN0UGl4ZWxWYWx1ZXNGb3JDb21wdXRlZFN0eWxlOjpZZXMpOwogCiAgICAgc3RhdGljIFJlZjxD
U1NQcmltaXRpdmVWYWx1ZT4gY3VycmVudENvbG9yT3JWYWxpZENvbG9yKGNvbnN0IFJlbmRlclN0
eWxlJiwgY29uc3QgU3R5bGVDb2xvciYpOwotICAgIHN0YXRpYyBSZWY8Q1NTRnVuY3Rpb25WYWx1
ZT4gbWF0cml4VHJhbnNmb3JtVmFsdWUoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmLCBjb25z
dCBSZW5kZXJTdHlsZSYpOwogCiAgICAgc3RhdGljIGJvb2wgdXBkYXRlU3R5bGVJZk5lZWRlZEZv
clByb3BlcnR5KEVsZW1lbnQmLCBDU1NQcm9wZXJ0eUlEKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0RXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L01lZGlhUXVlcnlMaXN0RXZlbnQuY3BwCmluZGV4IGY1ODEwNWU3MjgxMC4uMGZkN2EwN2Y5OTUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3RFdmVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0RXZlbnQuY3BwCkBAIC0zMywx
NCArMzMsMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9J
TVBMKE1lZGlhUXVlcnlMaXN0RXZlbnQpOwogCiBNZWRpYVF1ZXJ5TGlzdEV2ZW50OjpNZWRpYVF1
ZXJ5TGlzdEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgbWVkaWEs
IGJvb2wgbWF0Y2hlcykKLSAgICA6IEV2ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6TWVkaWFRdWVy
eUxpc3RFdmVudCwgdHlwZSwgQ2FuQnViYmxlOjpObywgSXNDYW5jZWxhYmxlOjpObykKKyAgICA6
IEV2ZW50KHR5cGUsIENhbkJ1YmJsZTo6Tm8sIElzQ2FuY2VsYWJsZTo6Tm8pCiAgICAgLCBtX21l
ZGlhKG1lZGlhKQogICAgICwgbV9tYXRjaGVzKG1hdGNoZXMpCiB7CiB9CiAKIE1lZGlhUXVlcnlM
aXN0RXZlbnQ6Ok1lZGlhUXVlcnlMaXN0RXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29u
c3QgSW5pdCYgaW5pdCwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkKLSAgICA6IEV2ZW50KEV2ZW50SW50
ZXJmYWNlVHlwZTo6TWVkaWFRdWVyeUxpc3RFdmVudCwgdHlwZSwgaW5pdCwgaXNUcnVzdGVkKQor
ICAgIDogRXZlbnQodHlwZSwgaW5pdCwgaXNUcnVzdGVkKQogICAgICwgbV9tZWRpYShpbml0Lm1l
ZGlhKQogICAgICwgbV9tYXRjaGVzKGluaXQubWF0Y2hlcykKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NTZWxlY3RvclBhcnNlci5jcHAKaW5kZXggMWNiZDA2MDkxMGI5Li4y
NjBhNzA3NWEyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTU2Vs
ZWN0b3JQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTU2VsZWN0
b3JQYXJzZXIuY3BwCkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSAiQ29tbW9uQXRvbVN0cmlu
Z3MuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIk11dGFibGVDU1NTZWxlY3Rv
ci5oIgotI2luY2x1ZGUgIlBzZXVkb0VsZW1lbnRJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiU2Vs
ZWN0b3JQc2V1ZG9UeXBlTWFwLmgiCiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0Zi9P
cHRpb25TZXQuaD4KQEAgLTEyMDgsNzIgKzEyMDcsNCBAQCBDU1NTZWxlY3Rvckxpc3QgQ1NTU2Vs
ZWN0b3JQYXJzZXI6OnJlc29sdmVOZXN0aW5nUGFyZW50KGNvbnN0IENTU1NlbGVjdG9yTGlzdCYg
bgogICAgIHJldHVybiBmaW5hbDsKIH0KIAotc3RhdGljIHN0ZDo6b3B0aW9uYWw8U3R5bGU6OlBz
ZXVkb0VsZW1lbnRJZGVudGlmaWVyPiBwc2V1ZG9FbGVtZW50SWRlbnRpZmllckZvcihDU1NTZWxl
Y3RvclBzZXVkb0VsZW1lbnQgdHlwZSkKLXsKLSAgICBhdXRvIHBzZXVkb0lkID0gQ1NTU2VsZWN0
b3I6OnBzZXVkb0lkKHR5cGUpOwotICAgIGlmIChwc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6Tm9uZSkK
LSAgICAgICAgcmV0dXJuIHsgfTsKLSAgICByZXR1cm4gU3R5bGU6OlBzZXVkb0VsZW1lbnRJZGVu
dGlmaWVyIHsgcHNldWRvSWQgfTsKLX0KLQotLy8gRklYTUU6IEFzIHdlIGFkZCBtb3JlIHBzZXVk
byBlbGVtZW50cyB3aXRoIGFyZ3VtZW50cyB3ZSBzaG91bGQgcGVyaGFwcyBjb25zb2xpZGF0ZSB3
aXRoCi0vLyBDU1NTZWxlY3RvclBhcnNlcjo6Y29uc3VtZVBzZXVkbygpLCB0aG91Z2ggbm90ZSB0
aGF0IHRoaXMgaXMgbm90IHBhcnRpY3VsYXJseSBzdHJhaWdodGZvcndhcmQgYXMKLS8vIHRoZSBy
ZXF1aXJlbWVudHMgZm9yIGF0dHJpYnV0ZSB2YWx1ZXMgYXJlIGRpZmZlcmVudC4gRS5nLiwgOjpo
aWdobGlnaHQoKikgbmVlZHMgdG8gZmFpbCBoZXJlLgotc3RkOjpwYWlyPGJvb2wsIHN0ZDo6b3B0
aW9uYWw8U3R5bGU6OlBzZXVkb0VsZW1lbnRJZGVudGlmaWVyPj4gQ1NTU2VsZWN0b3JQYXJzZXI6
OnBhcnNlUHNldWRvRWxlbWVudChjb25zdCBTdHJpbmcmIGlucHV0LCBjb25zdCBDU1NTZWxlY3Rv
clBhcnNlckNvbnRleHQmIGNvbnRleHQpCi17Ci0gICAgYXV0byB0b2tlbml6ZXIgPSBDU1NUb2tl
bml6ZXIgeyBpbnB1dCB9OwotICAgIGF1dG8gcmFuZ2UgPSB0b2tlbml6ZXIudG9rZW5SYW5nZSgp
OwotICAgIGF1dG8gdG9rZW4gPSByYW5nZS5jb25zdW1lKCk7Ci0gICAgaWYgKHRva2VuLnR5cGUo
KSAhPSBDb2xvblRva2VuKQotICAgICAgICByZXR1cm4geyB9OwotICAgIHRva2VuID0gcmFuZ2Uu
Y29uc3VtZSgpOwotICAgIGlmICh0b2tlbi50eXBlKCkgPT0gSWRlbnRUb2tlbikgewotICAgICAg
ICBpZiAoIXJhbmdlLmF0RW5kKCkpCi0gICAgICAgICAgICByZXR1cm4geyB9OwotICAgICAgICBh
dXRvIHBzZXVkb0NsYXNzT3JFbGVtZW50ID0gZmluZFBzZXVkb0NsYXNzQW5kQ29tcGF0aWJpbGl0
eUVsZW1lbnROYW1lKHRva2VuLnZhbHVlKCkpOwotICAgICAgICBpZiAoIXBzZXVkb0NsYXNzT3JF
bGVtZW50LmNvbXBhdGliaWxpdHlQc2V1ZG9FbGVtZW50KQotICAgICAgICAgICAgcmV0dXJuIHsg
fTsKLSAgICAgICAgQVNTRVJUKENTU1NlbGVjdG9yOjppc1BzZXVkb0VsZW1lbnRFbmFibGVkKCpw
c2V1ZG9DbGFzc09yRWxlbWVudC5jb21wYXRpYmlsaXR5UHNldWRvRWxlbWVudCwgdG9rZW4udmFs
dWUoKSwgY29udGV4dCkpOwotICAgICAgICByZXR1cm4geyB0cnVlLCBwc2V1ZG9FbGVtZW50SWRl
bnRpZmllckZvcigqcHNldWRvQ2xhc3NPckVsZW1lbnQuY29tcGF0aWJpbGl0eVBzZXVkb0VsZW1l
bnQpIH07Ci0gICAgfQotICAgIGlmICh0b2tlbi50eXBlKCkgIT0gQ29sb25Ub2tlbikKLSAgICAg
ICAgcmV0dXJuIHsgfTsKLSAgICB0b2tlbiA9IHJhbmdlLnBlZWsoKTsKLSAgICBpZiAoKHRva2Vu
LnR5cGUoKSAhPSBJZGVudFRva2VuICYmIHRva2VuLnR5cGUoKSAhPSBGdW5jdGlvblRva2VuKSkK
LSAgICAgICAgcmV0dXJuIHsgfTsKLSAgICBhdXRvIHBzZXVkb0VsZW1lbnQgPSBDU1NTZWxlY3Rv
cjo6cGFyc2VQc2V1ZG9FbGVtZW50TmFtZSh0b2tlbi52YWx1ZSgpLCBjb250ZXh0KTsKLSAgICBp
ZiAoIXBzZXVkb0VsZW1lbnQpCi0gICAgICAgIHJldHVybiB7IH07Ci0gICAgaWYgKHRva2VuLnR5
cGUoKSA9PSBJZGVudFRva2VuKSB7Ci0gICAgICAgIHJhbmdlLmNvbnN1bWUoKTsKLSAgICAgICAg
aWYgKCFyYW5nZS5hdEVuZCgpIHx8IENTU1NlbGVjdG9yOjpwc2V1ZG9FbGVtZW50UmVxdWlyZXNB
cmd1bWVudCgqcHNldWRvRWxlbWVudCkpCi0gICAgICAgICAgICByZXR1cm4geyB9OwotICAgICAg
ICByZXR1cm4geyB0cnVlLCBwc2V1ZG9FbGVtZW50SWRlbnRpZmllckZvcigqcHNldWRvRWxlbWVu
dCkgfTsKLSAgICB9Ci0gICAgQVNTRVJUKHRva2VuLnR5cGUoKSA9PSBGdW5jdGlvblRva2VuKTsK
LSAgICBhdXRvIGJsb2NrID0gcmFuZ2UuY29uc3VtZUJsb2NrKCk7Ci0gICAgaWYgKCFyYW5nZS5h
dEVuZCgpKQotICAgICAgICByZXR1cm4geyB9OwotICAgIGJsb2NrLmNvbnN1bWVXaGl0ZXNwYWNl
KCk7Ci0gICAgc3dpdGNoICgqcHNldWRvRWxlbWVudCkgewotICAgIGNhc2UgQ1NTU2VsZWN0b3I6
OlBzZXVkb0VsZW1lbnQ6OkhpZ2hsaWdodDogewotICAgICAgICBhdXRvJiBpZGVudCA9IGJsb2Nr
LmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNwYWNlKCk7Ci0gICAgICAgIGlmIChpZGVudC50eXBlKCkg
IT0gSWRlbnRUb2tlbiB8fCAhYmxvY2suYXRFbmQoKSkKLSAgICAgICAgICAgIHJldHVybiB7IH07
Ci0gICAgICAgIHJldHVybiB7IHRydWUsIFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllciB7
IFBzZXVkb0lkOjpIaWdobGlnaHQsIGlkZW50LnZhbHVlKCkudG9BdG9tU3RyaW5nKCkgfSB9Owot
ICAgIH0KLSAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50OjpWaWV3VHJhbnNpdGlv
bkdyb3VwOgotICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnQ6OlZpZXdUcmFuc2l0
aW9uSW1hZ2VQYWlyOgotICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnQ6OlZpZXdU
cmFuc2l0aW9uT2xkOgotICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnQ6OlZpZXdU
cmFuc2l0aW9uTmV3OiB7Ci0gICAgICAgIGF1dG8mIGlkZW50ID0gYmxvY2suY29uc3VtZUluY2x1
ZGluZ1doaXRlc3BhY2UoKTsKLSAgICAgICAgaWYgKGlkZW50LnR5cGUoKSAhPSBJZGVudFRva2Vu
IHx8ICFpc1ZhbGlkQ3VzdG9tSWRlbnRpZmllcihpZGVudC5pZCgpKSB8fCAhYmxvY2suYXRFbmQo
KSkKLSAgICAgICAgICAgIHJldHVybiB7IH07Ci0gICAgICAgIHJldHVybiB7IHRydWUsIFN0eWxl
OjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllciB7IENTU1NlbGVjdG9yOjpwc2V1ZG9JZCgqcHNldWRv
RWxlbWVudCksIGlkZW50LnZhbHVlKCkudG9BdG9tU3RyaW5nKCkgfSB9OwotICAgIH0KLSAgICBk
ZWZhdWx0OgotICAgICAgICByZXR1cm4geyB9OwotICAgIH0KLX0KLQogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NTZWxlY3Rv
clBhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NTZWxlY3RvclBhcnNlci5o
CmluZGV4IDkzODhlNjZmNTkyMi4uMGUyNzJiYWQ5YWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9DU1NTZWxlY3RvclBhcnNlci5oCkBAIC00NCwxMiArNDQsNiBAQCBjbGFzcyBD
U1NTZWxlY3Rvckxpc3Q7CiBjbGFzcyBTdHlsZVNoZWV0Q29udGVudHM7CiBjbGFzcyBTdHlsZVJ1
bGU7CiAKLW5hbWVzcGFjZSBTdHlsZSB7Ci0KLXN0cnVjdCBQc2V1ZG9FbGVtZW50SWRlbnRpZmll
cjsKLQotfQotCiBjbGFzcyBDU1NTZWxlY3RvclBhcnNlciB7CiBwdWJsaWM6CiAgICAgQ1NTU2Vs
ZWN0b3JQYXJzZXIoY29uc3QgQ1NTU2VsZWN0b3JQYXJzZXJDb250ZXh0JiwgU3R5bGVTaGVldENv
bnRlbnRzKiwgQ1NTUGFyc2VyRW51bTo6SXNOZXN0ZWRDb250ZXh0ID0gQ1NTUGFyc2VyRW51bTo6
SXNOZXN0ZWRDb250ZXh0OjpObyk7CkBAIC02MSw3ICs1NSw2IEBAIHB1YmxpYzoKIAogICAgIHN0
YXRpYyBib29sIHN1cHBvcnRzQ29tcGxleFNlbGVjdG9yKENTU1BhcnNlclRva2VuUmFuZ2UsIGNv
bnN0IENTU1NlbGVjdG9yUGFyc2VyQ29udGV4dCYsIENTU1BhcnNlckVudW06OklzTmVzdGVkQ29u
dGV4dCk7CiAgICAgc3RhdGljIENTU1NlbGVjdG9yTGlzdCByZXNvbHZlTmVzdGluZ1BhcmVudChj
b25zdCBDU1NTZWxlY3Rvckxpc3QmIG5lc3RlZFNlbGVjdG9yTGlzdCwgY29uc3QgQ1NTU2VsZWN0
b3JMaXN0KiBwYXJlbnRSZXNvbHZlZFNlbGVjdG9yTGlzdCk7Ci0gICAgc3RhdGljIHN0ZDo6cGFp
cjxib29sLCBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllcj4+IHBh
cnNlUHNldWRvRWxlbWVudChjb25zdCBTdHJpbmcmLCBjb25zdCBDU1NTZWxlY3RvclBhcnNlckNv
bnRleHQmKTsKIAogcHJpdmF0ZToKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDb25zdW1lU2VsZWN0
b3I+IE11dGFibGVDU1NTZWxlY3Rvckxpc3QgY29uc3VtZVNlbGVjdG9yTGlzdChDU1NQYXJzZXJU
b2tlblJhbmdlJiwgQ29uc3VtZVNlbGVjdG9yJiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0JlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9C
ZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5jcHAKaW5kZXggZjdkMjAwM2JmYjZkLi4wZTA1NGNjNTdl
MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9CZWZvcmVUZXh0SW5zZXJ0ZWRFdmVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0JlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmNw
cApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBXVEZfTUFLRV9JU09fQUxM
T0NBVEVEX0lNUEwoQmVmb3JlVGV4dEluc2VydGVkRXZlbnQpOwogCiBCZWZvcmVUZXh0SW5zZXJ0
ZWRFdmVudDo6QmVmb3JlVGV4dEluc2VydGVkRXZlbnQoY29uc3QgU3RyaW5nJiB0ZXh0KQotICAg
IDogRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpFdmVudCwgZXZlbnROYW1lcygpLndlYmtpdEJl
Zm9yZVRleHRJbnNlcnRlZEV2ZW50LCBDYW5CdWJibGU6Ok5vLCBJc0NhbmNlbGFibGU6Olllcyks
IG1fdGV4dCh0ZXh0KQorICAgIDogRXZlbnQoZXZlbnROYW1lcygpLndlYmtpdEJlZm9yZVRleHRJ
bnNlcnRlZEV2ZW50LCBDYW5CdWJibGU6Ok5vLCBJc0NhbmNlbGFibGU6OlllcyksIG1fdGV4dCh0
ZXh0KQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQmVmb3JlVW5sb2Fk
RXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0JlZm9yZVVubG9hZEV2ZW50LmNwcAppbmRl
eCAzMWI2NDk2MGQ1MjkuLmEzY2YwNzM2YzIyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0JlZm9yZVVubG9hZEV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQmVmb3Jl
VW5sb2FkRXZlbnQuY3BwCkBAIC0zMSwxMiArMzEsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
V1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKEJlZm9yZVVubG9hZEV2ZW50KTsKIAogQmVmb3Jl
VW5sb2FkRXZlbnQ6OkJlZm9yZVVubG9hZEV2ZW50KCkKLSAgICA6IEV2ZW50KEV2ZW50SW50ZXJm
YWNlVHlwZTo6QmVmb3JlVW5sb2FkRXZlbnQsIGV2ZW50TmFtZXMoKS5iZWZvcmV1bmxvYWRFdmVu
dCwgQ2FuQnViYmxlOjpObywgSXNDYW5jZWxhYmxlOjpZZXMpCisgICAgOiBFdmVudChldmVudE5h
bWVzKCkuYmVmb3JldW5sb2FkRXZlbnQsIENhbkJ1YmJsZTo6Tm8sIElzQ2FuY2VsYWJsZTo6WWVz
KQogewogfQogCiBCZWZvcmVVbmxvYWRFdmVudDo6QmVmb3JlVW5sb2FkRXZlbnQoRm9yQmluZGlu
Z3NGbGFnKQotICAgIDogRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpCZWZvcmVVbmxvYWRFdmVu
dCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0NsaXBib2FyZEV2ZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DbGlwYm9hcmRFdmVudC5jcHAKaW5kZXggNmY0YzRi
Y2JiMTcwLi4zNjQ4Yjc4MWZhMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DbGlw
Ym9hcmRFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0NsaXBib2FyZEV2ZW50LmNw
cApAQCAtMzEsMTMgKzMxLDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIFdURl9NQUtFX0lTT19B
TExPQ0FURURfSU1QTChDbGlwYm9hcmRFdmVudCk7CiAKIENsaXBib2FyZEV2ZW50OjpDbGlwYm9h
cmRFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBSZWY8RGF0YVRyYW5zZmVyPiYmIGRhdGFU
cmFuc2ZlcikKLSAgICA6IEV2ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6Q2xpcGJvYXJkRXZlbnQs
IHR5cGUsIENhbkJ1YmJsZTo6WWVzLCBJc0NhbmNlbGFibGU6OlllcywgSXNDb21wb3NlZDo6WWVz
KQorICAgIDogRXZlbnQodHlwZSwgQ2FuQnViYmxlOjpZZXMsIElzQ2FuY2VsYWJsZTo6WWVzLCBJ
c0NvbXBvc2VkOjpZZXMpCiAgICAgLCBtX2NsaXBib2FyZERhdGEoV1RGTW92ZShkYXRhVHJhbnNm
ZXIpKQogewogfQogCiBDbGlwYm9hcmRFdmVudDo6Q2xpcGJvYXJkRXZlbnQoY29uc3QgQXRvbVN0
cmluZyYgdHlwZSwgY29uc3QgSW5pdCYgaW5pdCkKLSAgICA6IEV2ZW50KEV2ZW50SW50ZXJmYWNl
VHlwZTo6Q2xpcGJvYXJkRXZlbnQsIHR5cGUsIGluaXQsIElzVHJ1c3RlZDo6Tm8pCisgICAgOiBF
dmVudCh0eXBlLCBpbml0LCBJc1RydXN0ZWQ6Ok5vKQogICAgICwgbV9jbGlwYm9hcmREYXRhKGlu
aXQuY2xpcGJvYXJkRGF0YSkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9D
b21wb3NpdGlvbkV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Db21wb3NpdGlvbkV2ZW50
LmNwcAppbmRleCBmYmRmZTcwNzAwMjkuLjRmN2YzZTZmM2VlZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0NvbXBvc2l0aW9uRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Db21wb3NpdGlvbkV2ZW50LmNwcApAQCAtMzMsMTkgKzMzLDE2IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKENvbXBvc2l0aW9uRXZlbnQpOwog
Ci1Db21wb3NpdGlvbkV2ZW50OjpDb21wb3NpdGlvbkV2ZW50KCkKLSAgICA6IFVJRXZlbnQoRXZl
bnRJbnRlcmZhY2VUeXBlOjpDb21wb3NpdGlvbkV2ZW50KQotewotfQorQ29tcG9zaXRpb25FdmVu
dDo6Q29tcG9zaXRpb25FdmVudCgpID0gZGVmYXVsdDsKIAogQ29tcG9zaXRpb25FdmVudDo6Q29t
cG9zaXRpb25FdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBSZWZQdHI8V2luZG93UHJveHk+
JiYgdmlldywgY29uc3QgU3RyaW5nJiBkYXRhKQotICAgIDogVUlFdmVudChFdmVudEludGVyZmFj
ZVR5cGU6OkNvbXBvc2l0aW9uRXZlbnQsIHR5cGUsIENhbkJ1YmJsZTo6WWVzLCBJc0NhbmNlbGFi
bGU6OlllcywgSXNDb21wb3NlZDo6WWVzLCBXVEZNb3ZlKHZpZXcpLCAwKQorICAgIDogVUlFdmVu
dCh0eXBlLCBDYW5CdWJibGU6OlllcywgSXNDYW5jZWxhYmxlOjpZZXMsIElzQ29tcG9zZWQ6Olll
cywgV1RGTW92ZSh2aWV3KSwgMCkKICAgICAsIG1fZGF0YShkYXRhKQogewogfQogCiBDb21wb3Np
dGlvbkV2ZW50OjpDb21wb3NpdGlvbkV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0
IEluaXQmIGluaXRpYWxpemVyKQotICAgIDogVUlFdmVudChFdmVudEludGVyZmFjZVR5cGU6OkNv
bXBvc2l0aW9uRXZlbnQsIHR5cGUsIGluaXRpYWxpemVyKQorICAgIDogVUlFdmVudCh0eXBlLCBp
bml0aWFsaXplcikKICAgICAsIG1fZGF0YShpbml0aWFsaXplci5kYXRhKQogewogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRlbnRWaXNpYmlsaXR5QXV0b1N0YXRlQ2hhbmdl
RXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRlbnRWaXNpYmlsaXR5QXV0b1N0YXRl
Q2hhbmdlRXZlbnQuY3BwCmluZGV4IGQ2OGVhZjFmNjk5Ni4uZDM2OWExYTMzYzRkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGVudFZpc2liaWxpdHlBdXRvU3RhdGVDaGFuZ2VF
dmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRlbnRWaXNpYmlsaXR5QXV0b1N0
YXRlQ2hhbmdlRXZlbnQuY3BwCkBAIC0zMyw3ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChDb250ZW50VmlzaWJpbGl0eUF1dG9TdGF0ZUNo
YW5nZUV2ZW50KTsKIAogQ29udGVudFZpc2liaWxpdHlBdXRvU3RhdGVDaGFuZ2VFdmVudDo6Q29u
dGVudFZpc2liaWxpdHlBdXRvU3RhdGVDaGFuZ2VFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBl
LCBjb25zdCBJbml0JiBpbml0aWFsaXplciwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkKLSAgICA6IEV2
ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6Q29udGVudFZpc2liaWxpdHlBdXRvU3RhdGVDaGFuZ2VF
dmVudCwgdHlwZSwgaW5pdGlhbGl6ZXIsIGlzVHJ1c3RlZCkKKyAgICA6IEV2ZW50KHR5cGUsIGlu
aXRpYWxpemVyLCBpc1RydXN0ZWQpCiAgICAgLCBtX3NraXBwZWQoaW5pdGlhbGl6ZXIuc2tpcHBl
ZCkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuY3BwCmluZGV4IDI2ODMzZjQ3MWY0NC4u
Y2RhMmU1ZjhlNmVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5jcHAKQEAgLTM1LDEyICsz
NSwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwo
Q3VzdG9tRXZlbnQpOwogCiBpbmxpbmUgQ3VzdG9tRXZlbnQ6OkN1c3RvbUV2ZW50KElzVHJ1c3Rl
ZCBpc1RydXN0ZWQpCi0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6OkN1c3RvbUV2ZW50
LCBpc1RydXN0ZWQpCisgICAgOiBFdmVudChpc1RydXN0ZWQpCiB7CiB9CiAKIGlubGluZSBDdXN0
b21FdmVudDo6Q3VzdG9tRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgSW5pdCYg
aW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0ZWQpCi0gICAgOiBFdmVudChFdmVudEludGVy
ZmFjZVR5cGU6OkN1c3RvbUV2ZW50LCB0eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKQorICAg
IDogRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIsIGlzVHJ1c3RlZCkKICAgICAsIG1fZGV0YWlsKGlu
aXRpYWxpemVyLmRldGFpbCkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
ZXZpY2VNb3Rpb25FdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZl
bnQuY3BwCmluZGV4IGM1MjZhZjUwNGI1Zi4uMTQ4OTQ2NjQ2ZTY3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAKQEAgLTM4LDI3ICszOCwxMiBAQCBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEX0lNUEwoRGV2aWNlTW90aW9uRXZlbnQpOwogRGV2aWNlTW90aW9uRXZlbnQ6
On5EZXZpY2VNb3Rpb25FdmVudCgpID0gZGVmYXVsdDsKIAogRGV2aWNlTW90aW9uRXZlbnQ6OkRl
dmljZU1vdGlvbkV2ZW50KCkKLSNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQotICAgIDog
RXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpEZXZpY2VNb3Rpb25FdmVudCkKLSNlbHNlCi0gICAg
Ly8gRklYTUU6IEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pIHNlZW1zIHRvIGJlIGluIGEgc3Ry
YW5nZSBzdGF0ZSB3aGVyZQotICAgIC8vIGl0IGlzIGhhbGYtZ3VhcmRlZCBieSAjaWZkZWZzLiBE
ZXZpY2VNb3Rpb25FdmVudC5pZGwgaXMgZ3VhcmRlZAotICAgIC8vIGJ1dCBEZXZpY2VNb3Rpb25F
dmVudC5jcHAgaXRzZWxmIGlzIHJlcXVpcmVkIGJ5IHVuZ3VhcmRlZCBjb2RlLgotICAgIDogRXZl
bnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpFdmVudCkKLSNlbmRpZgotICAgICwgbV9kZXZpY2VNb3Rp
b25EYXRhKERldmljZU1vdGlvbkRhdGE6OmNyZWF0ZSgpKQorICAgIDogbV9kZXZpY2VNb3Rpb25E
YXRhKERldmljZU1vdGlvbkRhdGE6OmNyZWF0ZSgpKQogewogfQogCiBEZXZpY2VNb3Rpb25FdmVu
dDo6RGV2aWNlTW90aW9uRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBEZXZpY2VN
b3Rpb25EYXRhKiBkZXZpY2VNb3Rpb25EYXRhKQotI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJ
T04pCi0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6OkRldmljZU1vdGlvbkV2ZW50LCBl
dmVudFR5cGUsIENhbkJ1YmJsZTo6Tm8sIElzQ2FuY2VsYWJsZTo6Tm8pCi0jZWxzZQotICAgIC8v
IEZJWE1FOiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKSBzZWVtcyB0byBiZSBpbiBhIHN0cmFu
Z2Ugc3RhdGUgd2hlcmUKLSAgICAvLyBpdCBpcyBoYWxmLWd1YXJkZWQgYnkgI2lmZGVmcy4gRGV2
aWNlTW90aW9uRXZlbnQuaWRsIGlzIGd1YXJkZWQKLSAgICAvLyBidXQgRGV2aWNlTW90aW9uRXZl
bnQuY3BwIGl0c2VsZiBpcyByZXF1aXJlZCBieSB1bmd1YXJkZWQgY29kZS4KLSAgICA6IEV2ZW50
KEV2ZW50SW50ZXJmYWNlVHlwZTo6RXZlbnQsIGV2ZW50VHlwZSwgQ2FuQnViYmxlOjpObywgSXND
YW5jZWxhYmxlOjpObykKLSNlbmRpZgorICAgIDogRXZlbnQoZXZlbnRUeXBlLCBDYW5CdWJibGU6
Ok5vLCBJc0NhbmNlbGFibGU6Ok5vKQogICAgICwgbV9kZXZpY2VNb3Rpb25EYXRhKGRldmljZU1v
dGlvbkRhdGEpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3Jp
ZW50YXRpb25FdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25F
dmVudC5jcHAKaW5kZXggYmJmNDk4NzJkZWM0Li4wMjVlODk2YTczZjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAKQEAgLTQwLDI3ICs0MCwxMiBA
QCBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoRGV2aWNlT3JpZW50YXRpb25FdmVudCk7CiBE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50Ojp+RGV2aWNlT3JpZW50YXRpb25FdmVudCgpID0gZGVmYXVs
dDsKIAogRGV2aWNlT3JpZW50YXRpb25FdmVudDo6RGV2aWNlT3JpZW50YXRpb25FdmVudCgpCi0j
aWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKLSAgICA6IEV2ZW50KEV2ZW50SW50ZXJmYWNl
VHlwZTo6RGV2aWNlT3JpZW50YXRpb25FdmVudCkKLSNlbHNlCi0gICAgLy8gRklYTUU6IEVOQUJM
RShERVZJQ0VfT1JJRU5UQVRJT04pIHNlZW1zIHRvIGJlIGluIGEgc3RyYW5nZSBzdGF0ZSB3aGVy
ZQotICAgIC8vIGl0IGlzIGhhbGYtZ3VhcmRlZCBieSAjaWZkZWZzLiBEZXZpY2VPcmllbnRhdGlv
bkV2ZW50LmlkbCBpcyBndWFyZGVkCi0gICAgLy8gYnV0IERldmljZU9yaWVudGF0aW9uRXZlbnQu
Y3BwIGl0c2VsZiBpcyByZXF1aXJlZCBieSB1bmd1YXJkZWQgY29kZS4KLSAgICA6IEV2ZW50KEV2
ZW50SW50ZXJmYWNlVHlwZTo6RXZlbnQpCi0jZW5kaWYKLSAgICAsIG1fb3JpZW50YXRpb24oRGV2
aWNlT3JpZW50YXRpb25EYXRhOjpjcmVhdGUoKSkKKyAgICA6IG1fb3JpZW50YXRpb24oRGV2aWNl
T3JpZW50YXRpb25EYXRhOjpjcmVhdGUoKSkKIHsKIH0KIAogRGV2aWNlT3JpZW50YXRpb25FdmVu
dDo6RGV2aWNlT3JpZW50YXRpb25FdmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIERl
dmljZU9yaWVudGF0aW9uRGF0YSogb3JpZW50YXRpb24pCi0jaWYgRU5BQkxFKERFVklDRV9PUklF
TlRBVElPTikKLSAgICA6IEV2ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6RGV2aWNlT3JpZW50YXRp
b25FdmVudCwgZXZlbnRUeXBlLCBDYW5CdWJibGU6Ok5vLCBJc0NhbmNlbGFibGU6Ok5vKQotI2Vs
c2UKLSAgICAvLyBGSVhNRTogRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikgc2VlbXMgdG8gYmUg
aW4gYSBzdHJhbmdlIHN0YXRlIHdoZXJlCi0gICAgLy8gaXQgaXMgaGFsZi1ndWFyZGVkIGJ5ICNp
ZmRlZnMuIERldmljZU9yaWVudGF0aW9uRXZlbnQuaWRsIGlzIGd1YXJkZWQKLSAgICAvLyBidXQg
RGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAgaXRzZWxmIGlzIHJlcXVpcmVkIGJ5IHVuZ3VhcmRl
ZCBjb2RlLgotICAgIDogRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpFdmVudCwgZXZlbnRUeXBl
LCBDYW5CdWJibGU6Ok5vLCBJc0NhbmNlbGFibGU6Ok5vKQotI2VuZGlmCisgICAgOiBFdmVudChl
dmVudFR5cGUsIENhbkJ1YmJsZTo6Tm8sIElzQ2FuY2VsYWJsZTo6Tm8pCiAgICAgLCBtX29yaWVu
dGF0aW9uKG9yaWVudGF0aW9uKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0RyYWdFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRHJhZ0V2ZW50LmNwcAppbmRleCAx
YWRjYmQ4Yzg0ODMuLjUzZDMwZWJlZjhmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RyYWdFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RyYWdFdmVudC5jcHAKQEAg
LTUzLDcgKzUzLDcgQEAgUmVmPERyYWdFdmVudD4gRHJhZ0V2ZW50OjpjcmVhdGUoY29uc3QgQXRv
bVN0cmluZyYgdHlwZSwgQ2FuQnViYmxlIGNhbkJ1YmJsZSwgSXMKIH0KIAogRHJhZ0V2ZW50OjpE
cmFnRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBEcmFnRXZlbnRJbml0JiYgaW5p
dCkKLSAgICA6IE1vdXNlRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpEcmFnRXZlbnQsIGV2ZW50
VHlwZSwgaW5pdCkKKyAgICA6IE1vdXNlRXZlbnQoZXZlbnRUeXBlLCBpbml0KQogICAgICwgbV9k
YXRhVHJhbnNmZXIoV1RGTW92ZShpbml0LmRhdGFUcmFuc2ZlcikpCiB7CiB9CkBAIC02MiwxNSAr
NjIsMTIgQEAgRHJhZ0V2ZW50OjpEcmFnRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBl
LCBDYW5CdWJibGUgY2FuQnViYmxlLCBJc0NhbmNlbGEKICAgICBNb25vdG9uaWNUaW1lIHRpbWVz
dGFtcCwgUmVmUHRyPFdpbmRvd1Byb3h5PiYmIHZpZXcsIGludCBkZXRhaWwsCiAgICAgY29uc3Qg
SW50UG9pbnQmIHNjcmVlbkxvY2F0aW9uLCBjb25zdCBJbnRQb2ludCYgd2luZG93TG9jYXRpb24s
IGRvdWJsZSBtb3ZlbWVudFgsIGRvdWJsZSBtb3ZlbWVudFksIE9wdGlvblNldDxNb2RpZmllcj4g
bW9kaWZpZXJzLCBNb3VzZUJ1dHRvbiBidXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsCiAg
ICAgRXZlbnRUYXJnZXQqIHJlbGF0ZWRUYXJnZXQsIGRvdWJsZSBmb3JjZSwgU3ludGhldGljQ2xp
Y2tUeXBlIHN5bnRoZXRpY0NsaWNrVHlwZSwgRGF0YVRyYW5zZmVyKiBkYXRhVHJhbnNmZXIsIElz
U2ltdWxhdGVkIGlzU2ltdWxhdGVkLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQotICAgIDogTW91c2VF
dmVudChFdmVudEludGVyZmFjZVR5cGU6OkRyYWdFdmVudCwgZXZlbnRUeXBlLCBjYW5CdWJibGUs
IGlzQ2FuY2VsYWJsZSwgaXNDb21wb3NlZCwgdGltZXN0YW1wLCBXVEZNb3ZlKHZpZXcpLCBkZXRh
aWwsIHNjcmVlbkxvY2F0aW9uLCB3aW5kb3dMb2NhdGlvbiwgbW92ZW1lbnRYLCBtb3ZlbWVudFks
IG1vZGlmaWVycywgYnV0dG9uLCBidXR0b25zLCByZWxhdGVkVGFyZ2V0LCBmb3JjZSwgc3ludGhl
dGljQ2xpY2tUeXBlLCBpc1NpbXVsYXRlZCwgaXNUcnVzdGVkKQorICAgIDogTW91c2VFdmVudChl
dmVudFR5cGUsIGNhbkJ1YmJsZSwgaXNDYW5jZWxhYmxlLCBpc0NvbXBvc2VkLCB0aW1lc3RhbXAs
IFdURk1vdmUodmlldyksIGRldGFpbCwgc2NyZWVuTG9jYXRpb24sIHdpbmRvd0xvY2F0aW9uLCBt
b3ZlbWVudFgsIG1vdmVtZW50WSwgbW9kaWZpZXJzLCBidXR0b24sIGJ1dHRvbnMsIHJlbGF0ZWRU
YXJnZXQsIGZvcmNlLCBzeW50aGV0aWNDbGlja1R5cGUsIGlzU2ltdWxhdGVkLCBpc1RydXN0ZWQp
CiAgICAgLCBtX2RhdGFUcmFuc2ZlcihkYXRhVHJhbnNmZXIpCiB7CiB9CiAKLURyYWdFdmVudDo6
RHJhZ0V2ZW50KCkKLSAgICA6IE1vdXNlRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpEcmFnRXZl
bnQpCi17Ci19CitEcmFnRXZlbnQ6OkRyYWdFdmVudCgpID0gZGVmYXVsdDsKIAogRXZlbnRJbnRl
cmZhY2UgRHJhZ0V2ZW50OjpldmVudEludGVyZmFjZSgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5jcHAKaW5kZXggZWI2YzU2NDlkZjBlLi5lNjg0OTMyM2NkNjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5jcHAKQEAgLTQwMDksMjIgKzQwMDksMTYgQEAgY29uc3QgUmVuZGVyU3R5bGUqIEVsZW1lbnQ6
OmV4aXN0aW5nQ29tcHV0ZWRTdHlsZSgpIGNvbnN0CiAgICAgcmV0dXJuIHJlbmRlck9yRGlzcGxh
eUNvbnRlbnRzU3R5bGUoKTsKIH0KIAotY29uc3QgUmVuZGVyU3R5bGUqIEVsZW1lbnQ6OnJlbmRl
ck9yRGlzcGxheUNvbnRlbnRzU3R5bGUoKSBjb25zdAorY29uc3QgUmVuZGVyU3R5bGUqIEVsZW1l
bnQ6OnJlbmRlck9yRGlzcGxheUNvbnRlbnRzU3R5bGUoUHNldWRvSWQgcHNldWRvSWQpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIHJlbmRlck9yRGlzcGxheUNvbnRlbnRzU3R5bGUoeyB9KTsKLX0KLQot
Y29uc3QgUmVuZGVyU3R5bGUqIEVsZW1lbnQ6OnJlbmRlck9yRGlzcGxheUNvbnRlbnRzU3R5bGUo
Y29uc3Qgc3RkOjpvcHRpb25hbDxTdHlsZTo6UHNldWRvRWxlbWVudElkZW50aWZpZXI+JiBwc2V1
ZG9FbGVtZW50SWRlbnRpZmllcikgY29uc3QKLXsKLSAgICBpZiAocHNldWRvRWxlbWVudElkZW50
aWZpZXIpIHsKLSAgICAgICAgaWYgKGF1dG8qIHBzZXVkb0VsZW1lbnQgPSBiZWZvcmVPckFmdGVy
UHNldWRvRWxlbWVudCgqdGhpcywgcHNldWRvRWxlbWVudElkZW50aWZpZXItPnBzZXVkb0lkKSkK
KyAgICBpZiAocHNldWRvSWQgIT0gUHNldWRvSWQ6Ok5vbmUpIHsKKyAgICAgICAgaWYgKGF1dG8q
IHBzZXVkb0VsZW1lbnQgPSBiZWZvcmVPckFmdGVyUHNldWRvRWxlbWVudCgqdGhpcywgcHNldWRv
SWQpKQogICAgICAgICAgICAgcmV0dXJuIHBzZXVkb0VsZW1lbnQtPnJlbmRlck9yRGlzcGxheUNv
bnRlbnRzU3R5bGUoKTsKIAogICAgICAgICBpZiAoYXV0byogc3R5bGUgPSByZW5kZXJPckRpc3Bs
YXlDb250ZW50c1N0eWxlKCkpIHsKLSAgICAgICAgICAgIGlmIChhdXRvKiBjYWNoZWRQc2V1ZG9T
dHlsZSA9IHN0eWxlLT5nZXRDYWNoZWRQc2V1ZG9TdHlsZSgqcHNldWRvRWxlbWVudElkZW50aWZp
ZXIpKQorICAgICAgICAgICAgaWYgKGF1dG8qIGNhY2hlZFBzZXVkb1N0eWxlID0gc3R5bGUtPmdl
dENhY2hlZFBzZXVkb1N0eWxlKHsgcHNldWRvSWQgfSkpCiAgICAgICAgICAgICAgICAgcmV0dXJu
IGNhY2hlZFBzZXVkb1N0eWxlOwogICAgICAgICB9Ci0KICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CiAgICAgfQogCkBAIC00NTM2LDE1MSArNDUzMCwxNTEgQEAgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJE
YXRhKiBFbGVtZW50OjppbnRlcnNlY3Rpb25PYnNlcnZlckRhdGFJZkV4aXN0cygpCiAgICAgcmV0
dXJuIGhhc1JhcmVEYXRhKCkgPyBlbGVtZW50UmFyZURhdGEoKS0+aW50ZXJzZWN0aW9uT2JzZXJ2
ZXJEYXRhKCkgOiBudWxscHRyOwogfQogCi1FbGVtZW50QW5pbWF0aW9uUmFyZURhdGEqIEVsZW1l
bnQ6OmFuaW1hdGlvblJhcmVEYXRhKGNvbnN0IHN0ZDo6b3B0aW9uYWw8U3R5bGU6OlBzZXVkb0Vs
ZW1lbnRJZGVudGlmaWVyPiYgcHNldWRvRWxlbWVudElkZW50aWZpZXIpIGNvbnN0CitFbGVtZW50
QW5pbWF0aW9uUmFyZURhdGEqIEVsZW1lbnQ6OmFuaW1hdGlvblJhcmVEYXRhKFBzZXVkb0lkIHBz
ZXVkb0lkKSBjb25zdAogewotICAgIHJldHVybiBoYXNSYXJlRGF0YSgpID8gZWxlbWVudFJhcmVE
YXRhKCktPmFuaW1hdGlvblJhcmVEYXRhKHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyKSA6IG51bGxw
dHI7CisgICAgcmV0dXJuIGhhc1JhcmVEYXRhKCkgPyBlbGVtZW50UmFyZURhdGEoKS0+YW5pbWF0
aW9uUmFyZURhdGEocHNldWRvSWQpIDogbnVsbHB0cjsKIH0KIAotRWxlbWVudEFuaW1hdGlvblJh
cmVEYXRhJiBFbGVtZW50OjplbnN1cmVBbmltYXRpb25SYXJlRGF0YShjb25zdCBzdGQ6Om9wdGlv
bmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllcj4mIHBzZXVkb0VsZW1lbnRJZGVudGlm
aWVyKQorRWxlbWVudEFuaW1hdGlvblJhcmVEYXRhJiBFbGVtZW50OjplbnN1cmVBbmltYXRpb25S
YXJlRGF0YShQc2V1ZG9JZCBwc2V1ZG9JZCkKIHsKLSAgICByZXR1cm4gZW5zdXJlRWxlbWVudFJh
cmVEYXRhKCkuZW5zdXJlQW5pbWF0aW9uUmFyZURhdGEocHNldWRvRWxlbWVudElkZW50aWZpZXIp
OworICAgIHJldHVybiBlbnN1cmVFbGVtZW50UmFyZURhdGEoKS5lbnN1cmVBbmltYXRpb25SYXJl
RGF0YShwc2V1ZG9JZCk7CiB9CiAKLUtleWZyYW1lRWZmZWN0U3RhY2sqIEVsZW1lbnQ6OmtleWZy
YW1lRWZmZWN0U3RhY2soY29uc3Qgc3RkOjpvcHRpb25hbDxTdHlsZTo6UHNldWRvRWxlbWVudElk
ZW50aWZpZXI+JiBwc2V1ZG9FbGVtZW50SWRlbnRpZmllcikgY29uc3QKK0tleWZyYW1lRWZmZWN0
U3RhY2sqIEVsZW1lbnQ6OmtleWZyYW1lRWZmZWN0U3RhY2soUHNldWRvSWQgcHNldWRvSWQpIGNv
bnN0CiB7Ci0gICAgaWYgKGF1dG8qIGFuaW1hdGlvbkRhdGEgPSBhbmltYXRpb25SYXJlRGF0YShw
c2V1ZG9FbGVtZW50SWRlbnRpZmllcikpCisgICAgaWYgKGF1dG8qIGFuaW1hdGlvbkRhdGEgPSBh
bmltYXRpb25SYXJlRGF0YShwc2V1ZG9JZCkpCiAgICAgICAgIHJldHVybiBhbmltYXRpb25EYXRh
LT5rZXlmcmFtZUVmZmVjdFN0YWNrKCk7CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLUtleWZy
YW1lRWZmZWN0U3RhY2smIEVsZW1lbnQ6OmVuc3VyZUtleWZyYW1lRWZmZWN0U3RhY2soY29uc3Qg
c3RkOjpvcHRpb25hbDxTdHlsZTo6UHNldWRvRWxlbWVudElkZW50aWZpZXI+JiBwc2V1ZG9FbGVt
ZW50SWRlbnRpZmllcikKK0tleWZyYW1lRWZmZWN0U3RhY2smIEVsZW1lbnQ6OmVuc3VyZUtleWZy
YW1lRWZmZWN0U3RhY2soUHNldWRvSWQgcHNldWRvSWQpCiB7Ci0gICAgcmV0dXJuIGVuc3VyZUFu
aW1hdGlvblJhcmVEYXRhKHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyKS5lbnN1cmVLZXlmcmFtZUVm
ZmVjdFN0YWNrKCk7CisgICAgcmV0dXJuIGVuc3VyZUFuaW1hdGlvblJhcmVEYXRhKHBzZXVkb0lk
KS5lbnN1cmVLZXlmcmFtZUVmZmVjdFN0YWNrKCk7CiB9CiAKLWJvb2wgRWxlbWVudDo6aGFzS2V5
ZnJhbWVFZmZlY3RzKGNvbnN0IHN0ZDo6b3B0aW9uYWw8U3R5bGU6OlBzZXVkb0VsZW1lbnRJZGVu
dGlmaWVyPiYgcHNldWRvRWxlbWVudElkZW50aWZpZXIpIGNvbnN0Citib29sIEVsZW1lbnQ6Omhh
c0tleWZyYW1lRWZmZWN0cyhQc2V1ZG9JZCBwc2V1ZG9JZCkgY29uc3QKIHsKLSAgICBpZiAoYXV0
byogYW5pbWF0aW9uRGF0YSA9IGFuaW1hdGlvblJhcmVEYXRhKHBzZXVkb0VsZW1lbnRJZGVudGlm
aWVyKSkgeworICAgIGlmIChhdXRvKiBhbmltYXRpb25EYXRhID0gYW5pbWF0aW9uUmFyZURhdGEo
cHNldWRvSWQpKSB7CiAgICAgICAgIGlmIChhdXRvKiBrZXlmcmFtZUVmZmVjdFN0YWNrID0gYW5p
bWF0aW9uRGF0YS0+a2V5ZnJhbWVFZmZlY3RTdGFjaygpKQogICAgICAgICAgICAgcmV0dXJuIGtl
eWZyYW1lRWZmZWN0U3RhY2stPmhhc0VmZmVjdHMoKTsKICAgICB9CiAgICAgcmV0dXJuIGZhbHNl
OwogfQogCi1jb25zdCBBbmltYXRpb25Db2xsZWN0aW9uKiBFbGVtZW50OjphbmltYXRpb25zKGNv
bnN0IHN0ZDo6b3B0aW9uYWw8U3R5bGU6OlBzZXVkb0VsZW1lbnRJZGVudGlmaWVyPiYgcHNldWRv
RWxlbWVudElkZW50aWZpZXIpIGNvbnN0Citjb25zdCBBbmltYXRpb25Db2xsZWN0aW9uKiBFbGVt
ZW50OjphbmltYXRpb25zKFBzZXVkb0lkIHBzZXVkb0lkKSBjb25zdAogewotICAgIGlmIChhdXRv
KiBhbmltYXRpb25EYXRhID0gYW5pbWF0aW9uUmFyZURhdGEocHNldWRvRWxlbWVudElkZW50aWZp
ZXIpKQorICAgIGlmIChhdXRvKiBhbmltYXRpb25EYXRhID0gYW5pbWF0aW9uUmFyZURhdGEocHNl
dWRvSWQpKQogICAgICAgICByZXR1cm4gJmFuaW1hdGlvbkRhdGEtPmFuaW1hdGlvbnMoKTsKICAg
ICByZXR1cm4gbnVsbHB0cjsKIH0KIAotYm9vbCBFbGVtZW50OjpoYXNDb21wbGV0ZWRUcmFuc2l0
aW9uRm9yUHJvcGVydHkoY29uc3Qgc3RkOjpvcHRpb25hbDxTdHlsZTo6UHNldWRvRWxlbWVudElk
ZW50aWZpZXI+JiBwc2V1ZG9FbGVtZW50SWRlbnRpZmllciwgY29uc3QgQW5pbWF0YWJsZUNTU1By
b3BlcnR5JiBwcm9wZXJ0eSkgY29uc3QKK2Jvb2wgRWxlbWVudDo6aGFzQ29tcGxldGVkVHJhbnNp
dGlvbkZvclByb3BlcnR5KFBzZXVkb0lkIHBzZXVkb0lkLCBjb25zdCBBbmltYXRhYmxlQ1NTUHJv
cGVydHkmIHByb3BlcnR5KSBjb25zdAogewotICAgIGlmIChhdXRvKiBhbmltYXRpb25EYXRhID0g
YW5pbWF0aW9uUmFyZURhdGEocHNldWRvRWxlbWVudElkZW50aWZpZXIpKQorICAgIGlmIChhdXRv
KiBhbmltYXRpb25EYXRhID0gYW5pbWF0aW9uUmFyZURhdGEocHNldWRvSWQpKQogICAgICAgICBy
ZXR1cm4gYW5pbWF0aW9uRGF0YS0+Y29tcGxldGVkVHJhbnNpdGlvbnNCeVByb3BlcnR5KCkuY29u
dGFpbnMocHJvcGVydHkpOwogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBFbGVtZW50Ojpo
YXNSdW5uaW5nVHJhbnNpdGlvbkZvclByb3BlcnR5KGNvbnN0IHN0ZDo6b3B0aW9uYWw8U3R5bGU6
OlBzZXVkb0VsZW1lbnRJZGVudGlmaWVyPiYgcHNldWRvRWxlbWVudElkZW50aWZpZXIsIGNvbnN0
IEFuaW1hdGFibGVDU1NQcm9wZXJ0eSYgcHJvcGVydHkpIGNvbnN0Citib29sIEVsZW1lbnQ6Omhh
c1J1bm5pbmdUcmFuc2l0aW9uRm9yUHJvcGVydHkoUHNldWRvSWQgcHNldWRvSWQsIGNvbnN0IEFu
aW1hdGFibGVDU1NQcm9wZXJ0eSYgcHJvcGVydHkpIGNvbnN0CiB7Ci0gICAgaWYgKGF1dG8qIGFu
aW1hdGlvbkRhdGEgPSBhbmltYXRpb25SYXJlRGF0YShwc2V1ZG9FbGVtZW50SWRlbnRpZmllcikp
CisgICAgaWYgKGF1dG8qIGFuaW1hdGlvbkRhdGEgPSBhbmltYXRpb25SYXJlRGF0YShwc2V1ZG9J
ZCkpCiAgICAgICAgIHJldHVybiBhbmltYXRpb25EYXRhLT5ydW5uaW5nVHJhbnNpdGlvbnNCeVBy
b3BlcnR5KCkuY29udGFpbnMocHJvcGVydHkpOwogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9v
bCBFbGVtZW50OjpoYXNSdW5uaW5nVHJhbnNpdGlvbnMoY29uc3Qgc3RkOjpvcHRpb25hbDxTdHls
ZTo6UHNldWRvRWxlbWVudElkZW50aWZpZXI+JiBwc2V1ZG9FbGVtZW50SWRlbnRpZmllcikgY29u
c3QKK2Jvb2wgRWxlbWVudDo6aGFzUnVubmluZ1RyYW5zaXRpb25zKFBzZXVkb0lkIHBzZXVkb0lk
KSBjb25zdAogewotICAgIGlmIChhdXRvKiBhbmltYXRpb25EYXRhID0gYW5pbWF0aW9uUmFyZURh
dGEocHNldWRvRWxlbWVudElkZW50aWZpZXIpKQorICAgIGlmIChhdXRvKiBhbmltYXRpb25EYXRh
ID0gYW5pbWF0aW9uUmFyZURhdGEocHNldWRvSWQpKQogICAgICAgICByZXR1cm4gIWFuaW1hdGlv
bkRhdGEtPnJ1bm5pbmdUcmFuc2l0aW9uc0J5UHJvcGVydHkoKS5pc0VtcHR5KCk7CiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCi1jb25zdCBBbmltYXRhYmxlQ1NTUHJvcGVydHlUb1RyYW5zaXRpb25N
YXAqIEVsZW1lbnQ6OmNvbXBsZXRlZFRyYW5zaXRpb25zQnlQcm9wZXJ0eShjb25zdCBzdGQ6Om9w
dGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllcj4mIHBzZXVkb0VsZW1lbnRJZGVu
dGlmaWVyKSBjb25zdAorY29uc3QgQW5pbWF0YWJsZUNTU1Byb3BlcnR5VG9UcmFuc2l0aW9uTWFw
KiBFbGVtZW50Ojpjb21wbGV0ZWRUcmFuc2l0aW9uc0J5UHJvcGVydHkoUHNldWRvSWQgcHNldWRv
SWQpIGNvbnN0CiB7Ci0gICAgaWYgKGF1dG8qIGFuaW1hdGlvbkRhdGEgPSBhbmltYXRpb25SYXJl
RGF0YShwc2V1ZG9FbGVtZW50SWRlbnRpZmllcikpCisgICAgaWYgKGF1dG8qIGFuaW1hdGlvbkRh
dGEgPSBhbmltYXRpb25SYXJlRGF0YShwc2V1ZG9JZCkpCiAgICAgICAgIHJldHVybiAmYW5pbWF0
aW9uRGF0YS0+Y29tcGxldGVkVHJhbnNpdGlvbnNCeVByb3BlcnR5KCk7CiAgICAgcmV0dXJuIG51
bGxwdHI7CiB9CiAKLWNvbnN0IEFuaW1hdGFibGVDU1NQcm9wZXJ0eVRvVHJhbnNpdGlvbk1hcCog
RWxlbWVudDo6cnVubmluZ1RyYW5zaXRpb25zQnlQcm9wZXJ0eShjb25zdCBzdGQ6Om9wdGlvbmFs
PFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllcj4mIHBzZXVkb0VsZW1lbnRJZGVudGlmaWVy
KSBjb25zdAorY29uc3QgQW5pbWF0YWJsZUNTU1Byb3BlcnR5VG9UcmFuc2l0aW9uTWFwKiBFbGVt
ZW50OjpydW5uaW5nVHJhbnNpdGlvbnNCeVByb3BlcnR5KFBzZXVkb0lkIHBzZXVkb0lkKSBjb25z
dAogewotICAgIGlmIChhdXRvKiBhbmltYXRpb25EYXRhID0gYW5pbWF0aW9uUmFyZURhdGEocHNl
dWRvRWxlbWVudElkZW50aWZpZXIpKQorICAgIGlmIChhdXRvKiBhbmltYXRpb25EYXRhID0gYW5p
bWF0aW9uUmFyZURhdGEocHNldWRvSWQpKQogICAgICAgICByZXR1cm4gJmFuaW1hdGlvbkRhdGEt
PnJ1bm5pbmdUcmFuc2l0aW9uc0J5UHJvcGVydHkoKTsKICAgICByZXR1cm4gbnVsbHB0cjsKIH0K
IAotQW5pbWF0aW9uQ29sbGVjdGlvbiYgRWxlbWVudDo6ZW5zdXJlQW5pbWF0aW9ucyhjb25zdCBz
dGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllcj4mIHBzZXVkb0VsZW1l
bnRJZGVudGlmaWVyKQorQW5pbWF0aW9uQ29sbGVjdGlvbiYgRWxlbWVudDo6ZW5zdXJlQW5pbWF0
aW9ucyhQc2V1ZG9JZCBwc2V1ZG9JZCkKIHsKLSAgICByZXR1cm4gZW5zdXJlQW5pbWF0aW9uUmFy
ZURhdGEocHNldWRvRWxlbWVudElkZW50aWZpZXIpLmFuaW1hdGlvbnMoKTsKKyAgICByZXR1cm4g
ZW5zdXJlQW5pbWF0aW9uUmFyZURhdGEocHNldWRvSWQpLmFuaW1hdGlvbnMoKTsKIH0KIAotQ1NT
QW5pbWF0aW9uQ29sbGVjdGlvbiYgRWxlbWVudDo6YW5pbWF0aW9uc0NyZWF0ZWRCeU1hcmt1cChj
b25zdCBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllcj4mIHBzZXVk
b0VsZW1lbnRJZGVudGlmaWVyKQorQ1NTQW5pbWF0aW9uQ29sbGVjdGlvbiYgRWxlbWVudDo6YW5p
bWF0aW9uc0NyZWF0ZWRCeU1hcmt1cChQc2V1ZG9JZCBwc2V1ZG9JZCkKIHsKLSAgICByZXR1cm4g
ZW5zdXJlQW5pbWF0aW9uUmFyZURhdGEocHNldWRvRWxlbWVudElkZW50aWZpZXIpLmFuaW1hdGlv
bnNDcmVhdGVkQnlNYXJrdXAoKTsKKyAgICByZXR1cm4gZW5zdXJlQW5pbWF0aW9uUmFyZURhdGEo
cHNldWRvSWQpLmFuaW1hdGlvbnNDcmVhdGVkQnlNYXJrdXAoKTsKIH0KIAotdm9pZCBFbGVtZW50
OjpzZXRBbmltYXRpb25zQ3JlYXRlZEJ5TWFya3VwKGNvbnN0IHN0ZDo6b3B0aW9uYWw8U3R5bGU6
OlBzZXVkb0VsZW1lbnRJZGVudGlmaWVyPiYgcHNldWRvRWxlbWVudElkZW50aWZpZXIsIENTU0Fu
aW1hdGlvbkNvbGxlY3Rpb24mJiBhbmltYXRpb25zKQordm9pZCBFbGVtZW50OjpzZXRBbmltYXRp
b25zQ3JlYXRlZEJ5TWFya3VwKFBzZXVkb0lkIHBzZXVkb0lkLCBDU1NBbmltYXRpb25Db2xsZWN0
aW9uJiYgYW5pbWF0aW9ucykKIHsKLSAgICBpZiAoYW5pbWF0aW9ucy5pc0VtcHR5KCkgJiYgIWFu
aW1hdGlvblJhcmVEYXRhKHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyKSkKKyAgICBpZiAoYW5pbWF0
aW9ucy5pc0VtcHR5KCkgJiYgIWFuaW1hdGlvblJhcmVEYXRhKHBzZXVkb0lkKSkKICAgICAgICAg
cmV0dXJuOwotICAgIGVuc3VyZUFuaW1hdGlvblJhcmVEYXRhKHBzZXVkb0VsZW1lbnRJZGVudGlm
aWVyKS5zZXRBbmltYXRpb25zQ3JlYXRlZEJ5TWFya3VwKFdURk1vdmUoYW5pbWF0aW9ucykpOwor
ICAgIGVuc3VyZUFuaW1hdGlvblJhcmVEYXRhKHBzZXVkb0lkKS5zZXRBbmltYXRpb25zQ3JlYXRl
ZEJ5TWFya3VwKFdURk1vdmUoYW5pbWF0aW9ucykpOwogfQogCi1BbmltYXRhYmxlQ1NTUHJvcGVy
dHlUb1RyYW5zaXRpb25NYXAmIEVsZW1lbnQ6OmVuc3VyZUNvbXBsZXRlZFRyYW5zaXRpb25zQnlQ
cm9wZXJ0eShjb25zdCBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmll
cj4mIHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyKQorQW5pbWF0YWJsZUNTU1Byb3BlcnR5VG9UcmFu
c2l0aW9uTWFwJiBFbGVtZW50OjplbnN1cmVDb21wbGV0ZWRUcmFuc2l0aW9uc0J5UHJvcGVydHko
UHNldWRvSWQgcHNldWRvSWQpCiB7Ci0gICAgcmV0dXJuIGVuc3VyZUFuaW1hdGlvblJhcmVEYXRh
KHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyKS5jb21wbGV0ZWRUcmFuc2l0aW9uc0J5UHJvcGVydHko
KTsKKyAgICByZXR1cm4gZW5zdXJlQW5pbWF0aW9uUmFyZURhdGEocHNldWRvSWQpLmNvbXBsZXRl
ZFRyYW5zaXRpb25zQnlQcm9wZXJ0eSgpOwogfQogCi1BbmltYXRhYmxlQ1NTUHJvcGVydHlUb1Ry
YW5zaXRpb25NYXAmIEVsZW1lbnQ6OmVuc3VyZVJ1bm5pbmdUcmFuc2l0aW9uc0J5UHJvcGVydHko
Y29uc3Qgc3RkOjpvcHRpb25hbDxTdHlsZTo6UHNldWRvRWxlbWVudElkZW50aWZpZXI+JiBwc2V1
ZG9FbGVtZW50SWRlbnRpZmllcikKK0FuaW1hdGFibGVDU1NQcm9wZXJ0eVRvVHJhbnNpdGlvbk1h
cCYgRWxlbWVudDo6ZW5zdXJlUnVubmluZ1RyYW5zaXRpb25zQnlQcm9wZXJ0eShQc2V1ZG9JZCBw
c2V1ZG9JZCkKIHsKLSAgICByZXR1cm4gZW5zdXJlQW5pbWF0aW9uUmFyZURhdGEocHNldWRvRWxl
bWVudElkZW50aWZpZXIpLnJ1bm5pbmdUcmFuc2l0aW9uc0J5UHJvcGVydHkoKTsKKyAgICByZXR1
cm4gZW5zdXJlQW5pbWF0aW9uUmFyZURhdGEocHNldWRvSWQpLnJ1bm5pbmdUcmFuc2l0aW9uc0J5
UHJvcGVydHkoKTsKIH0KIAotY29uc3QgUmVuZGVyU3R5bGUqIEVsZW1lbnQ6Omxhc3RTdHlsZUNo
YW5nZUV2ZW50U3R5bGUoY29uc3Qgc3RkOjpvcHRpb25hbDxTdHlsZTo6UHNldWRvRWxlbWVudElk
ZW50aWZpZXI+JiBwc2V1ZG9FbGVtZW50SWRlbnRpZmllcikgY29uc3QKK2NvbnN0IFJlbmRlclN0
eWxlKiBFbGVtZW50OjpsYXN0U3R5bGVDaGFuZ2VFdmVudFN0eWxlKFBzZXVkb0lkIHBzZXVkb0lk
KSBjb25zdAogewotICAgIGlmIChhdXRvKiBhbmltYXRpb25EYXRhID0gYW5pbWF0aW9uUmFyZURh
dGEocHNldWRvRWxlbWVudElkZW50aWZpZXIpKQorICAgIGlmIChhdXRvKiBhbmltYXRpb25EYXRh
ID0gYW5pbWF0aW9uUmFyZURhdGEocHNldWRvSWQpKQogICAgICAgICByZXR1cm4gYW5pbWF0aW9u
RGF0YS0+bGFzdFN0eWxlQ2hhbmdlRXZlbnRTdHlsZSgpOwogICAgIHJldHVybiBudWxscHRyOwog
fQogCi12b2lkIEVsZW1lbnQ6OnNldExhc3RTdHlsZUNoYW5nZUV2ZW50U3R5bGUoY29uc3Qgc3Rk
OjpvcHRpb25hbDxTdHlsZTo6UHNldWRvRWxlbWVudElkZW50aWZpZXI+JiBwc2V1ZG9FbGVtZW50
SWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPGNvbnN0IFJlbmRlclN0eWxlPiYmIHN0eWxlKQor
dm9pZCBFbGVtZW50OjpzZXRMYXN0U3R5bGVDaGFuZ2VFdmVudFN0eWxlKFBzZXVkb0lkIHBzZXVk
b0lkLCBzdGQ6OnVuaXF1ZV9wdHI8Y29uc3QgUmVuZGVyU3R5bGU+JiYgc3R5bGUpCiB7Ci0gICAg
aWYgKGF1dG8qIGFuaW1hdGlvbkRhdGEgPSBhbmltYXRpb25SYXJlRGF0YShwc2V1ZG9FbGVtZW50
SWRlbnRpZmllcikpCisgICAgaWYgKGF1dG8qIGFuaW1hdGlvbkRhdGEgPSBhbmltYXRpb25SYXJl
RGF0YShwc2V1ZG9JZCkpCiAgICAgICAgIGFuaW1hdGlvbkRhdGEtPnNldExhc3RTdHlsZUNoYW5n
ZUV2ZW50U3R5bGUoV1RGTW92ZShzdHlsZSkpOwogICAgIGVsc2UgaWYgKHN0eWxlKQotICAgICAg
ICBlbnN1cmVBbmltYXRpb25SYXJlRGF0YShwc2V1ZG9FbGVtZW50SWRlbnRpZmllcikuc2V0TGFz
dFN0eWxlQ2hhbmdlRXZlbnRTdHlsZShXVEZNb3ZlKHN0eWxlKSk7CisgICAgICAgIGVuc3VyZUFu
aW1hdGlvblJhcmVEYXRhKHBzZXVkb0lkKS5zZXRMYXN0U3R5bGVDaGFuZ2VFdmVudFN0eWxlKFdU
Rk1vdmUoc3R5bGUpKTsKIH0KIAotYm9vbCBFbGVtZW50OjpoYXNQcm9wZXJ0aWVzT3ZlcnJpZGVu
QWZ0ZXJBbmltYXRpb24oY29uc3Qgc3RkOjpvcHRpb25hbDxTdHlsZTo6UHNldWRvRWxlbWVudElk
ZW50aWZpZXI+JiBwc2V1ZG9FbGVtZW50SWRlbnRpZmllcikgY29uc3QKK2Jvb2wgRWxlbWVudDo6
aGFzUHJvcGVydGllc092ZXJyaWRlbkFmdGVyQW5pbWF0aW9uKFBzZXVkb0lkIHBzZXVkb0lkKSBj
b25zdAogewotICAgIGlmIChhdXRvKiBhbmltYXRpb25EYXRhID0gYW5pbWF0aW9uUmFyZURhdGEo
cHNldWRvRWxlbWVudElkZW50aWZpZXIpKQorICAgIGlmIChhdXRvKiBhbmltYXRpb25EYXRhID0g
YW5pbWF0aW9uUmFyZURhdGEocHNldWRvSWQpKQogICAgICAgICByZXR1cm4gYW5pbWF0aW9uRGF0
YS0+aGFzUHJvcGVydGllc092ZXJyaWRlbkFmdGVyQW5pbWF0aW9uKCk7CiAgICAgcmV0dXJuIGZh
bHNlOwogfQogCi12b2lkIEVsZW1lbnQ6OnNldEhhc1Byb3BlcnRpZXNPdmVycmlkZW5BZnRlckFu
aW1hdGlvbihjb25zdCBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmll
cj4mIHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyLCBib29sIHZhbHVlKQordm9pZCBFbGVtZW50Ojpz
ZXRIYXNQcm9wZXJ0aWVzT3ZlcnJpZGVuQWZ0ZXJBbmltYXRpb24oUHNldWRvSWQgcHNldWRvSWQs
IGJvb2wgdmFsdWUpCiB7Ci0gICAgaWYgKGF1dG8qIGFuaW1hdGlvbkRhdGEgPSBhbmltYXRpb25S
YXJlRGF0YShwc2V1ZG9FbGVtZW50SWRlbnRpZmllcikpIHsKKyAgICBpZiAoYXV0byogYW5pbWF0
aW9uRGF0YSA9IGFuaW1hdGlvblJhcmVEYXRhKHBzZXVkb0lkKSkgewogICAgICAgICBhbmltYXRp
b25EYXRhLT5zZXRIYXNQcm9wZXJ0aWVzT3ZlcnJpZGVuQWZ0ZXJBbmltYXRpb24odmFsdWUpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGlmICh2YWx1ZSkKLSAgICAgICAgZW5zdXJlQW5p
bWF0aW9uUmFyZURhdGEocHNldWRvRWxlbWVudElkZW50aWZpZXIpLnNldEhhc1Byb3BlcnRpZXNP
dmVycmlkZW5BZnRlckFuaW1hdGlvbih0cnVlKTsKKyAgICAgICAgZW5zdXJlQW5pbWF0aW9uUmFy
ZURhdGEocHNldWRvSWQpLnNldEhhc1Byb3BlcnRpZXNPdmVycmlkZW5BZnRlckFuaW1hdGlvbih0
cnVlKTsKIH0KIAotdm9pZCBFbGVtZW50Ojpjc3NBbmltYXRpb25zRGlkVXBkYXRlKGNvbnN0IHN0
ZDo6b3B0aW9uYWw8U3R5bGU6OlBzZXVkb0VsZW1lbnRJZGVudGlmaWVyPiYgcHNldWRvRWxlbWVu
dElkZW50aWZpZXIpCit2b2lkIEVsZW1lbnQ6OmNzc0FuaW1hdGlvbnNEaWRVcGRhdGUoUHNldWRv
SWQgcHNldWRvSWQpCiB7Ci0gICAgZW5zdXJlQW5pbWF0aW9uUmFyZURhdGEocHNldWRvRWxlbWVu
dElkZW50aWZpZXIpLmNzc0FuaW1hdGlvbnNEaWRVcGRhdGUoKTsKKyAgICBlbnN1cmVBbmltYXRp
b25SYXJlRGF0YShwc2V1ZG9JZCkuY3NzQW5pbWF0aW9uc0RpZFVwZGF0ZSgpOwogfQogCi12b2lk
IEVsZW1lbnQ6OmtleWZyYW1lc1J1bGVEaWRDaGFuZ2UoY29uc3Qgc3RkOjpvcHRpb25hbDxTdHls
ZTo6UHNldWRvRWxlbWVudElkZW50aWZpZXI+JiBwc2V1ZG9FbGVtZW50SWRlbnRpZmllcikKK3Zv
aWQgRWxlbWVudDo6a2V5ZnJhbWVzUnVsZURpZENoYW5nZShQc2V1ZG9JZCBwc2V1ZG9JZCkKIHsK
LSAgICBlbnN1cmVBbmltYXRpb25SYXJlRGF0YShwc2V1ZG9FbGVtZW50SWRlbnRpZmllcikua2V5
ZnJhbWVzUnVsZURpZENoYW5nZSgpOworICAgIGVuc3VyZUFuaW1hdGlvblJhcmVEYXRhKHBzZXVk
b0lkKS5rZXlmcmFtZXNSdWxlRGlkQ2hhbmdlKCk7CiB9CiAKLWJvb2wgRWxlbWVudDo6aGFzUGVu
ZGluZ0tleWZyYW1lc1VwZGF0ZShjb25zdCBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVt
ZW50SWRlbnRpZmllcj4mIHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyKSBjb25zdAorYm9vbCBFbGVt
ZW50OjpoYXNQZW5kaW5nS2V5ZnJhbWVzVXBkYXRlKFBzZXVkb0lkIHBzZXVkb0lkKSBjb25zdAog
ewotICAgIGF1dG8qIGRhdGEgPSBhbmltYXRpb25SYXJlRGF0YShwc2V1ZG9FbGVtZW50SWRlbnRp
Zmllcik7CisgICAgYXV0byogZGF0YSA9IGFuaW1hdGlvblJhcmVEYXRhKHBzZXVkb0lkKTsKICAg
ICByZXR1cm4gZGF0YSAmJiBkYXRhLT5oYXNQZW5kaW5nS2V5ZnJhbWVzVXBkYXRlKCk7CiB9CiAK
QEAgLTU0MjksNyArNTQyMyw3IEBAIFZlY3RvcjxSZWZQdHI8V2ViQW5pbWF0aW9uPj4gRWxlbWVu
dDo6Z2V0QW5pbWF0aW9ucyhzdGQ6Om9wdGlvbmFsPEdldEFuaW1hdGlvbnNPCiAgICAgZG9jdW1l
bnQtPnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKIAogICAgIFZlY3RvcjxSZWZQdHI8V2ViQW5pbWF0
aW9uPj4gYW5pbWF0aW9uczsKLSAgICBpZiAoYXV0byogZWZmZWN0U3RhY2sgPSBrZXlmcmFtZUVm
ZmVjdFN0YWNrKHsgfSkpIHsKKyAgICBpZiAoYXV0byogZWZmZWN0U3RhY2sgPSBrZXlmcmFtZUVm
ZmVjdFN0YWNrKFBzZXVkb0lkOjpOb25lKSkgewogICAgICAgICBmb3IgKGF1dG8mIGVmZmVjdCA6
IGVmZmVjdFN0YWNrLT5zb3J0ZWRFZmZlY3RzKCkpIHsKICAgICAgICAgICAgIGlmIChlZmZlY3Qt
PmFuaW1hdGlvbigpLT5pc1JlbGV2YW50KCkpCiAgICAgICAgICAgICAgICAgYW5pbWF0aW9ucy5h
cHBlbmQoZWZmZWN0LT5hbmltYXRpb24oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCA5NzBjZmI4
NWMzN2MuLjZiMjNhZTYzYThhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC01NzMsMzIgKzU3Mywz
MiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJl
cihjb25zdCBOb2RlJikgY29uc3Q7CiAKLSAgICBLZXlmcmFtZUVmZmVjdFN0YWNrKiBrZXlmcmFt
ZUVmZmVjdFN0YWNrKGNvbnN0IHN0ZDo6b3B0aW9uYWw8U3R5bGU6OlBzZXVkb0VsZW1lbnRJZGVu
dGlmaWVyPiYpIGNvbnN0OwotICAgIEtleWZyYW1lRWZmZWN0U3RhY2smIGVuc3VyZUtleWZyYW1l
RWZmZWN0U3RhY2soY29uc3Qgc3RkOjpvcHRpb25hbDxTdHlsZTo6UHNldWRvRWxlbWVudElkZW50
aWZpZXI+Jik7Ci0gICAgYm9vbCBoYXNLZXlmcmFtZUVmZmVjdHMoY29uc3Qgc3RkOjpvcHRpb25h
bDxTdHlsZTo6UHNldWRvRWxlbWVudElkZW50aWZpZXI+JikgY29uc3Q7Ci0KLSAgICBjb25zdCBB
bmltYXRpb25Db2xsZWN0aW9uKiBhbmltYXRpb25zKGNvbnN0IHN0ZDo6b3B0aW9uYWw8U3R5bGU6
OlBzZXVkb0VsZW1lbnRJZGVudGlmaWVyPiYpIGNvbnN0OwotICAgIGJvb2wgaGFzQ29tcGxldGVk
VHJhbnNpdGlvbkZvclByb3BlcnR5KGNvbnN0IHN0ZDo6b3B0aW9uYWw8U3R5bGU6OlBzZXVkb0Vs
ZW1lbnRJZGVudGlmaWVyPiYsIGNvbnN0IEFuaW1hdGFibGVDU1NQcm9wZXJ0eSYpIGNvbnN0Owot
ICAgIGJvb2wgaGFzUnVubmluZ1RyYW5zaXRpb25Gb3JQcm9wZXJ0eShjb25zdCBzdGQ6Om9wdGlv
bmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllcj4mLCBjb25zdCBBbmltYXRhYmxlQ1NT
UHJvcGVydHkmKSBjb25zdDsKLSAgICBib29sIGhhc1J1bm5pbmdUcmFuc2l0aW9ucyhjb25zdCBz
dGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllcj4mKSBjb25zdDsKLSAg
ICBBbmltYXRpb25Db2xsZWN0aW9uJiBlbnN1cmVBbmltYXRpb25zKGNvbnN0IHN0ZDo6b3B0aW9u
YWw8U3R5bGU6OlBzZXVkb0VsZW1lbnRJZGVudGlmaWVyPiYpOwotCi0gICAgY29uc3QgQW5pbWF0
YWJsZUNTU1Byb3BlcnR5VG9UcmFuc2l0aW9uTWFwKiBjb21wbGV0ZWRUcmFuc2l0aW9uc0J5UHJv
cGVydHkoY29uc3Qgc3RkOjpvcHRpb25hbDxTdHlsZTo6UHNldWRvRWxlbWVudElkZW50aWZpZXI+
JikgY29uc3Q7Ci0gICAgY29uc3QgQW5pbWF0YWJsZUNTU1Byb3BlcnR5VG9UcmFuc2l0aW9uTWFw
KiBydW5uaW5nVHJhbnNpdGlvbnNCeVByb3BlcnR5KGNvbnN0IHN0ZDo6b3B0aW9uYWw8U3R5bGU6
OlBzZXVkb0VsZW1lbnRJZGVudGlmaWVyPiYpIGNvbnN0OwotCi0gICAgQW5pbWF0YWJsZUNTU1By
b3BlcnR5VG9UcmFuc2l0aW9uTWFwJiBlbnN1cmVDb21wbGV0ZWRUcmFuc2l0aW9uc0J5UHJvcGVy
dHkoY29uc3Qgc3RkOjpvcHRpb25hbDxTdHlsZTo6UHNldWRvRWxlbWVudElkZW50aWZpZXI+Jik7
Ci0gICAgQW5pbWF0YWJsZUNTU1Byb3BlcnR5VG9UcmFuc2l0aW9uTWFwJiBlbnN1cmVSdW5uaW5n
VHJhbnNpdGlvbnNCeVByb3BlcnR5KGNvbnN0IHN0ZDo6b3B0aW9uYWw8U3R5bGU6OlBzZXVkb0Vs
ZW1lbnRJZGVudGlmaWVyPiYpOwotICAgIENTU0FuaW1hdGlvbkNvbGxlY3Rpb24mIGFuaW1hdGlv
bnNDcmVhdGVkQnlNYXJrdXAoY29uc3Qgc3RkOjpvcHRpb25hbDxTdHlsZTo6UHNldWRvRWxlbWVu
dElkZW50aWZpZXI+Jik7Ci0gICAgdm9pZCBzZXRBbmltYXRpb25zQ3JlYXRlZEJ5TWFya3VwKGNv
bnN0IHN0ZDo6b3B0aW9uYWw8U3R5bGU6OlBzZXVkb0VsZW1lbnRJZGVudGlmaWVyPiYsIENTU0Fu
aW1hdGlvbkNvbGxlY3Rpb24mJik7Ci0KLSAgICBjb25zdCBSZW5kZXJTdHlsZSogbGFzdFN0eWxl
Q2hhbmdlRXZlbnRTdHlsZShjb25zdCBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50
SWRlbnRpZmllcj4mKSBjb25zdDsKLSAgICB2b2lkIHNldExhc3RTdHlsZUNoYW5nZUV2ZW50U3R5
bGUoY29uc3Qgc3RkOjpvcHRpb25hbDxTdHlsZTo6UHNldWRvRWxlbWVudElkZW50aWZpZXI+Jiwg
c3RkOjp1bmlxdWVfcHRyPGNvbnN0IFJlbmRlclN0eWxlPiYmKTsKLSAgICBib29sIGhhc1Byb3Bl
cnRpZXNPdmVycmlkZW5BZnRlckFuaW1hdGlvbihjb25zdCBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQ
c2V1ZG9FbGVtZW50SWRlbnRpZmllcj4mKSBjb25zdDsKLSAgICB2b2lkIHNldEhhc1Byb3BlcnRp
ZXNPdmVycmlkZW5BZnRlckFuaW1hdGlvbihjb25zdCBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1
ZG9FbGVtZW50SWRlbnRpZmllcj4mLCBib29sKTsKLQotICAgIHZvaWQgY3NzQW5pbWF0aW9uc0Rp
ZFVwZGF0ZShjb25zdCBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmll
cj4mKTsKLSAgICB2b2lkIGtleWZyYW1lc1J1bGVEaWRDaGFuZ2UoY29uc3Qgc3RkOjpvcHRpb25h
bDxTdHlsZTo6UHNldWRvRWxlbWVudElkZW50aWZpZXI+Jik7Ci0gICAgYm9vbCBoYXNQZW5kaW5n
S2V5ZnJhbWVzVXBkYXRlKGNvbnN0IHN0ZDo6b3B0aW9uYWw8U3R5bGU6OlBzZXVkb0VsZW1lbnRJ
ZGVudGlmaWVyPiYpIGNvbnN0OworICAgIEtleWZyYW1lRWZmZWN0U3RhY2sqIGtleWZyYW1lRWZm
ZWN0U3RhY2soUHNldWRvSWQpIGNvbnN0OworICAgIEtleWZyYW1lRWZmZWN0U3RhY2smIGVuc3Vy
ZUtleWZyYW1lRWZmZWN0U3RhY2soUHNldWRvSWQpOworICAgIGJvb2wgaGFzS2V5ZnJhbWVFZmZl
Y3RzKFBzZXVkb0lkKSBjb25zdDsKKworICAgIGNvbnN0IEFuaW1hdGlvbkNvbGxlY3Rpb24qIGFu
aW1hdGlvbnMoUHNldWRvSWQpIGNvbnN0OworICAgIGJvb2wgaGFzQ29tcGxldGVkVHJhbnNpdGlv
bkZvclByb3BlcnR5KFBzZXVkb0lkLCBjb25zdCBBbmltYXRhYmxlQ1NTUHJvcGVydHkmKSBjb25z
dDsKKyAgICBib29sIGhhc1J1bm5pbmdUcmFuc2l0aW9uRm9yUHJvcGVydHkoUHNldWRvSWQsIGNv
bnN0IEFuaW1hdGFibGVDU1NQcm9wZXJ0eSYpIGNvbnN0OworICAgIGJvb2wgaGFzUnVubmluZ1Ry
YW5zaXRpb25zKFBzZXVkb0lkKSBjb25zdDsKKyAgICBBbmltYXRpb25Db2xsZWN0aW9uJiBlbnN1
cmVBbmltYXRpb25zKFBzZXVkb0lkKTsKKworICAgIGNvbnN0IEFuaW1hdGFibGVDU1NQcm9wZXJ0
eVRvVHJhbnNpdGlvbk1hcCogY29tcGxldGVkVHJhbnNpdGlvbnNCeVByb3BlcnR5KFBzZXVkb0lk
KSBjb25zdDsKKyAgICBjb25zdCBBbmltYXRhYmxlQ1NTUHJvcGVydHlUb1RyYW5zaXRpb25NYXAq
IHJ1bm5pbmdUcmFuc2l0aW9uc0J5UHJvcGVydHkoUHNldWRvSWQpIGNvbnN0OworCisgICAgQW5p
bWF0YWJsZUNTU1Byb3BlcnR5VG9UcmFuc2l0aW9uTWFwJiBlbnN1cmVDb21wbGV0ZWRUcmFuc2l0
aW9uc0J5UHJvcGVydHkoUHNldWRvSWQpOworICAgIEFuaW1hdGFibGVDU1NQcm9wZXJ0eVRvVHJh
bnNpdGlvbk1hcCYgZW5zdXJlUnVubmluZ1RyYW5zaXRpb25zQnlQcm9wZXJ0eShQc2V1ZG9JZCk7
CisgICAgQ1NTQW5pbWF0aW9uQ29sbGVjdGlvbiYgYW5pbWF0aW9uc0NyZWF0ZWRCeU1hcmt1cChQ
c2V1ZG9JZCk7CisgICAgdm9pZCBzZXRBbmltYXRpb25zQ3JlYXRlZEJ5TWFya3VwKFBzZXVkb0lk
LCBDU1NBbmltYXRpb25Db2xsZWN0aW9uJiYpOworCisgICAgY29uc3QgUmVuZGVyU3R5bGUqIGxh
c3RTdHlsZUNoYW5nZUV2ZW50U3R5bGUoUHNldWRvSWQpIGNvbnN0OworICAgIHZvaWQgc2V0TGFz
dFN0eWxlQ2hhbmdlRXZlbnRTdHlsZShQc2V1ZG9JZCwgc3RkOjp1bmlxdWVfcHRyPGNvbnN0IFJl
bmRlclN0eWxlPiYmKTsKKyAgICBib29sIGhhc1Byb3BlcnRpZXNPdmVycmlkZW5BZnRlckFuaW1h
dGlvbihQc2V1ZG9JZCkgY29uc3Q7CisgICAgdm9pZCBzZXRIYXNQcm9wZXJ0aWVzT3ZlcnJpZGVu
QWZ0ZXJBbmltYXRpb24oUHNldWRvSWQsIGJvb2wpOworCisgICAgdm9pZCBjc3NBbmltYXRpb25z
RGlkVXBkYXRlKFBzZXVkb0lkKTsKKyAgICB2b2lkIGtleWZyYW1lc1J1bGVEaWRDaGFuZ2UoUHNl
dWRvSWQpOworICAgIGJvb2wgaGFzUGVuZGluZ0tleWZyYW1lc1VwZGF0ZShQc2V1ZG9JZCkgY29u
c3Q7CiAgICAgLy8gRklYTUU6IGRvIHdlIG5lZWQgYSBjb3VudGVyIHN0eWxlIGRpZENoYW5nZSBo
ZXJlPyAocmRhcjovLzEwMzAxODk5MykuCiAKICAgICBib29sIGlzTGluaygpIGNvbnN0IHsgcmV0
dXJuIGhhc1N0YXRlRmxhZyhTdGF0ZUZsYWc6OklzTGluayk7IH0KQEAgLTY3Miw4ICs2NzIsNyBA
QCBwdWJsaWM6CiAgICAgTGF5b3V0UmVjdCBhYnNvbHV0ZUV2ZW50SGFuZGxlckJvdW5kcyhib29s
JiBpbmNsdWRlc0ZpeGVkUG9zaXRpb25FbGVtZW50cykgb3ZlcnJpZGU7CiAKICAgICBjb25zdCBS
ZW5kZXJTdHlsZSogZXhpc3RpbmdDb21wdXRlZFN0eWxlKCkgY29uc3Q7Ci0gICAgV0VCQ09SRV9F
WFBPUlQgY29uc3QgUmVuZGVyU3R5bGUqIHJlbmRlck9yRGlzcGxheUNvbnRlbnRzU3R5bGUoKSBj
b25zdDsKLSAgICBXRUJDT1JFX0VYUE9SVCBjb25zdCBSZW5kZXJTdHlsZSogcmVuZGVyT3JEaXNw
bGF5Q29udGVudHNTdHlsZShjb25zdCBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50
SWRlbnRpZmllcj4mKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCBjb25zdCBSZW5kZXJTdHls
ZSogcmVuZGVyT3JEaXNwbGF5Q29udGVudHNTdHlsZShQc2V1ZG9JZCA9IFBzZXVkb0lkOjpOb25l
KSBjb25zdDsKIAogICAgIHZvaWQgY2xlYXJCZWZvcmVQc2V1ZG9FbGVtZW50KCk7CiAgICAgdm9p
ZCBjbGVhckFmdGVyUHNldWRvRWxlbWVudCgpOwpAQCAtODgzLDggKzg4Miw4IEBAIHByaXZhdGU6
CiAgICAgaW5saW5lIEVsZW1lbnRSYXJlRGF0YSogZWxlbWVudFJhcmVEYXRhKCkgY29uc3Q7CiAg
ICAgRWxlbWVudFJhcmVEYXRhJiBlbnN1cmVFbGVtZW50UmFyZURhdGEoKTsKIAotICAgIEVsZW1l
bnRBbmltYXRpb25SYXJlRGF0YSogYW5pbWF0aW9uUmFyZURhdGEoY29uc3Qgc3RkOjpvcHRpb25h
bDxTdHlsZTo6UHNldWRvRWxlbWVudElkZW50aWZpZXI+JikgY29uc3Q7Ci0gICAgRWxlbWVudEFu
aW1hdGlvblJhcmVEYXRhJiBlbnN1cmVBbmltYXRpb25SYXJlRGF0YShjb25zdCBzdGQ6Om9wdGlv
bmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllcj4mKTsKKyAgICBFbGVtZW50QW5pbWF0
aW9uUmFyZURhdGEqIGFuaW1hdGlvblJhcmVEYXRhKFBzZXVkb0lkKSBjb25zdDsKKyAgICBFbGVt
ZW50QW5pbWF0aW9uUmFyZURhdGEmIGVuc3VyZUFuaW1hdGlvblJhcmVEYXRhKFBzZXVkb0lkKTsK
IAogICAgIHZpcnR1YWwgaW50IGRlZmF1bHRUYWJJbmRleCgpIGNvbnN0OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudFJhcmVEYXRhLmgKaW5kZXggMjg5NWNmNWU5MzFlLi4yNGY2NmNiOGJmMzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNs
dWRlICJOb2RlUmFyZURhdGEuaCIKICNpbmNsdWRlICJQb3BvdmVyRGF0YS5oIgogI2luY2x1ZGUg
IlBzZXVkb0VsZW1lbnQuaCIKLSNpbmNsdWRlICJQc2V1ZG9FbGVtZW50SWRlbnRpZmllci5oIgog
I2luY2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKICNpbmNsdWRlICJSZXNpemVPYnNlcnZlci5oIgog
I2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKQEAgLTExMSw4ICsxMTAsOCBAQCBwdWJsaWM6CiAgICAg
U2Nyb2xsUG9zaXRpb24gc2F2ZWRMYXllclNjcm9sbFBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4g
bV9zYXZlZExheWVyU2Nyb2xsUG9zaXRpb247IH0KICAgICB2b2lkIHNldFNhdmVkTGF5ZXJTY3Jv
bGxQb3NpdGlvbihTY3JvbGxQb3NpdGlvbiBwb3NpdGlvbikgeyBtX3NhdmVkTGF5ZXJTY3JvbGxQ
b3NpdGlvbiA9IHBvc2l0aW9uOyB9CiAKLSAgICBFbGVtZW50QW5pbWF0aW9uUmFyZURhdGEqIGFu
aW1hdGlvblJhcmVEYXRhKGNvbnN0IHN0ZDo6b3B0aW9uYWw8U3R5bGU6OlBzZXVkb0VsZW1lbnRJ
ZGVudGlmaWVyPiYpIGNvbnN0OwotICAgIEVsZW1lbnRBbmltYXRpb25SYXJlRGF0YSYgZW5zdXJl
QW5pbWF0aW9uUmFyZURhdGEoY29uc3Qgc3RkOjpvcHRpb25hbDxTdHlsZTo6UHNldWRvRWxlbWVu
dElkZW50aWZpZXI+Jik7CisgICAgRWxlbWVudEFuaW1hdGlvblJhcmVEYXRhKiBhbmltYXRpb25S
YXJlRGF0YShQc2V1ZG9JZCkgY29uc3Q7CisgICAgRWxlbWVudEFuaW1hdGlvblJhcmVEYXRhJiBl
bnN1cmVBbmltYXRpb25SYXJlRGF0YShQc2V1ZG9JZCk7CiAKICAgICBET01Ub2tlbkxpc3QqIHBh
cnRMaXN0KCkgY29uc3QgeyByZXR1cm4gbV9wYXJ0TGlzdC5nZXQoKTsgfQogICAgIHZvaWQgc2V0
UGFydExpc3Qoc3RkOjp1bmlxdWVfcHRyPERPTVRva2VuTGlzdD4mJiBwYXJ0TGlzdCkgeyBtX3Bh
cnRMaXN0ID0gV1RGTW92ZShwYXJ0TGlzdCk7IH0KQEAgLTI5OCwyMSArMjk3LDIxIEBAIGlubGlu
ZSB2b2lkIEVsZW1lbnRSYXJlRGF0YTo6c2V0VW51c3VhbFRhYkluZGV4KGludCB0YWJJbmRleCkK
ICAgICBtX3VudXN1YWxUYWJJbmRleCA9IHRhYkluZGV4OwogfQogCi1pbmxpbmUgRWxlbWVudEFu
aW1hdGlvblJhcmVEYXRhKiBFbGVtZW50UmFyZURhdGE6OmFuaW1hdGlvblJhcmVEYXRhKGNvbnN0
IHN0ZDo6b3B0aW9uYWw8U3R5bGU6OlBzZXVkb0VsZW1lbnRJZGVudGlmaWVyPiYgcHNldWRvRWxl
bWVudElkZW50aWZpZXIpIGNvbnN0CitpbmxpbmUgRWxlbWVudEFuaW1hdGlvblJhcmVEYXRhKiBF
bGVtZW50UmFyZURhdGE6OmFuaW1hdGlvblJhcmVEYXRhKFBzZXVkb0lkIHBzZXVkb0lkKSBjb25z
dAogewogICAgIGZvciAoYXV0byYgYW5pbWF0aW9uUmFyZURhdGEgOiBtX2FuaW1hdGlvblJhcmVE
YXRhKSB7Ci0gICAgICAgIGlmIChhbmltYXRpb25SYXJlRGF0YS0+cHNldWRvRWxlbWVudElkZW50
aWZpZXIoKSA9PSBwc2V1ZG9FbGVtZW50SWRlbnRpZmllcikKKyAgICAgICAgaWYgKGFuaW1hdGlv
blJhcmVEYXRhLT5wc2V1ZG9JZCgpID09IHBzZXVkb0lkKQogICAgICAgICAgICAgcmV0dXJuIGFu
aW1hdGlvblJhcmVEYXRhLmdldCgpOwogICAgIH0KICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAot
aW5saW5lIEVsZW1lbnRBbmltYXRpb25SYXJlRGF0YSYgRWxlbWVudFJhcmVEYXRhOjplbnN1cmVB
bmltYXRpb25SYXJlRGF0YShjb25zdCBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50
SWRlbnRpZmllcj4mIHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyKQoraW5saW5lIEVsZW1lbnRBbmlt
YXRpb25SYXJlRGF0YSYgRWxlbWVudFJhcmVEYXRhOjplbnN1cmVBbmltYXRpb25SYXJlRGF0YShQ
c2V1ZG9JZCBwc2V1ZG9JZCkKIHsKLSAgICBpZiAoYXV0byogYW5pbWF0aW9uUmFyZURhdGEgPSB0
aGlzLT5hbmltYXRpb25SYXJlRGF0YShwc2V1ZG9FbGVtZW50SWRlbnRpZmllcikpCisgICAgaWYg
KGF1dG8qIGFuaW1hdGlvblJhcmVEYXRhID0gdGhpcy0+YW5pbWF0aW9uUmFyZURhdGEocHNldWRv
SWQpKQogICAgICAgICByZXR1cm4gKmFuaW1hdGlvblJhcmVEYXRhOwogCi0gICAgbV9hbmltYXRp
b25SYXJlRGF0YS5hcHBlbmQobWFrZVVuaXF1ZTxFbGVtZW50QW5pbWF0aW9uUmFyZURhdGE+KHBz
ZXVkb0VsZW1lbnRJZGVudGlmaWVyKSk7CisgICAgbV9hbmltYXRpb25SYXJlRGF0YS5hcHBlbmQo
bWFrZVVuaXF1ZTxFbGVtZW50QW5pbWF0aW9uUmFyZURhdGE+KHBzZXVkb0lkKSk7CiAgICAgcmV0
dXJuICptX2FuaW1hdGlvblJhcmVEYXRhLmxhc3QoKS5nZXQoKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0Vycm9yRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0Vy
cm9yRXZlbnQuY3BwCmluZGV4IDVkZTZmOTQ0NWQwZi4uOTZjYmQ4MDRjZDg2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRXJyb3JFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0Vycm9yRXZlbnQuY3BwCkBAIC00NCw3ICs0NCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7
CiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoRXJyb3JFdmVudCk7CiAKIEVycm9yRXZlbnQ6
OkVycm9yRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgSW5pdCYgaW5pdGlhbGl6
ZXIsIElzVHJ1c3RlZCBpc1RydXN0ZWQpCi0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6
OkVycm9yRXZlbnQsIHR5cGUsIGluaXRpYWxpemVyLCBpc1RydXN0ZWQpCisgICAgOiBFdmVudCh0
eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKQogICAgICwgbV9tZXNzYWdlKGluaXRpYWxpemVy
Lm1lc3NhZ2UpCiAgICAgLCBtX2ZpbGVOYW1lKGluaXRpYWxpemVyLmZpbGVuYW1lKQogICAgICwg
bV9saW5lTnVtYmVyKGluaXRpYWxpemVyLmxpbmVubykKQEAgLTU0LDcgKzU0LDcgQEAgRXJyb3JF
dmVudDo6RXJyb3JFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBJbml0JiBpbml0
aWFsaXplciwgSXNUcnVzdGUKIH0KIAogRXJyb3JFdmVudDo6RXJyb3JFdmVudChjb25zdCBBdG9t
U3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZmlsZU5h
bWUsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgSlNDOjpTdHJv
bmc8SlNDOjpVbmtub3duPiBlcnJvcikKLSAgICA6IEV2ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6
RXJyb3JFdmVudCwgdHlwZSwgQ2FuQnViYmxlOjpObywgSXNDYW5jZWxhYmxlOjpZZXMpCisgICAg
OiBFdmVudCh0eXBlLCBDYW5CdWJibGU6Ok5vLCBJc0NhbmNlbGFibGU6OlllcykKICAgICAsIG1f
bWVzc2FnZShtZXNzYWdlKQogICAgICwgbV9maWxlTmFtZShmaWxlTmFtZSkKICAgICAsIG1fbGlu
ZU51bWJlcihsaW5lTnVtYmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAKaW5kZXggNGJmYjk5NzlmMDU4Li5k
NjMwM2Q4MzhmZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmNwcApAQCAtNDEsNyArNDEsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChFdmVudCk7CiAKLUFM
V0FZU19JTkxJTkUgRXZlbnQ6OkV2ZW50KE1vbm90b25pY1RpbWUgY3JlYXRlVGltZSwgZW51bSBF
dmVudEludGVyZmFjZVR5cGUgZXZlbnRJbnRlcmZhY2UsIGNvbnN0IEF0b21TdHJpbmcmIHR5cGUs
IElzVHJ1c3RlZCBpc1RydXN0ZWQsIENhbkJ1YmJsZSBjYW5CdWJibGUsIElzQ2FuY2VsYWJsZSBj
YW5jZWxhYmxlLCBJc0NvbXBvc2VkIGNvbXBvc2VkKQorQUxXQVlTX0lOTElORSBFdmVudDo6RXZl
bnQoTW9ub3RvbmljVGltZSBjcmVhdGVUaW1lLCBjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBJc1Ry
dXN0ZWQgaXNUcnVzdGVkLCBDYW5CdWJibGUgY2FuQnViYmxlLCBJc0NhbmNlbGFibGUgY2FuY2Vs
YWJsZSwgSXNDb21wb3NlZCBjb21wb3NlZCkKICAgICA6IG1faXNJbml0aWFsaXplZCB7ICF0eXBl
LmlzTnVsbCgpIH0KICAgICAsIG1fY2FuQnViYmxlIHsgY2FuQnViYmxlID09IENhbkJ1YmJsZTo6
WWVzIH0KICAgICAsIG1fY2FuY2VsYWJsZSB7IGNhbmNlbGFibGUgPT0gSXNDYW5jZWxhYmxlOjpZ
ZXMgfQpAQCAtNTUsMzEgKzU1LDMwIEBAIEFMV0FZU19JTkxJTkUgRXZlbnQ6OkV2ZW50KE1vbm90
b25pY1RpbWUgY3JlYXRlVGltZSwgZW51bSBFdmVudEludGVyZmFjZVR5cGUgZXZlCiAgICAgLCBt
X2lzRXhlY3V0aW5nUGFzc2l2ZUV2ZW50TGlzdGVuZXIgeyBmYWxzZSB9CiAgICAgLCBtX2N1cnJl
bnRUYXJnZXRJc0luU2hhZG93VHJlZSB7IGZhbHNlIH0KICAgICAsIG1fZXZlbnRQaGFzZSB7IE5P
TkUgfQotICAgICwgbV9ldmVudEludGVyZmFjZShlbnVtVG9VbmRlcmx5aW5nVHlwZShldmVudElu
dGVyZmFjZSkpCiAgICAgLCBtX3R5cGUgeyB0eXBlIH0KICAgICAsIG1fY3JlYXRlVGltZSB7IGNy
ZWF0ZVRpbWUgfQogewotICAgIEFTU0VSVChtX2V2ZW50SW50ZXJmYWNlID09IGVudW1Ub1VuZGVy
bHlpbmdUeXBlKGV2ZW50SW50ZXJmYWNlKSk7CiB9CiAKLUV2ZW50OjpFdmVudChlbnVtIEV2ZW50
SW50ZXJmYWNlVHlwZSBldmVudEludGVyZmFjZSwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkKLSAgICA6
IEV2ZW50IHsgTW9ub3RvbmljVGltZTo6bm93KCksIGV2ZW50SW50ZXJmYWNlLCB7IH0sIGlzVHJ1
c3RlZCwgQ2FuQnViYmxlOjpObywgSXNDYW5jZWxhYmxlOjpObywgSXNDb21wb3NlZDo6Tm8gfQor
RXZlbnQ6OkV2ZW50KElzVHJ1c3RlZCBpc1RydXN0ZWQpCisgICAgOiBFdmVudCB7IE1vbm90b25p
Y1RpbWU6Om5vdygpLCB7IH0sIGlzVHJ1c3RlZCwgQ2FuQnViYmxlOjpObywgSXNDYW5jZWxhYmxl
OjpObywgSXNDb21wb3NlZDo6Tm8gfQogewogfQogCi1FdmVudDo6RXZlbnQoZW51bSBFdmVudElu
dGVyZmFjZVR5cGUgZXZlbnRJbnRlcmZhY2UsIGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwg
Q2FuQnViYmxlIGNhbkJ1YmJsZSwgSXNDYW5jZWxhYmxlIGlzQ2FuY2VsYWJsZSwgSXNDb21wb3Nl
ZCBpc0NvbXBvc2VkKQotICAgIDogRXZlbnQgeyBNb25vdG9uaWNUaW1lOjpub3coKSwgZXZlbnRJ
bnRlcmZhY2UsIGV2ZW50VHlwZSwgSXNUcnVzdGVkOjpZZXMsIGNhbkJ1YmJsZSwgaXNDYW5jZWxh
YmxlLCBpc0NvbXBvc2VkIH0KK0V2ZW50OjpFdmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5
cGUsIENhbkJ1YmJsZSBjYW5CdWJibGUsIElzQ2FuY2VsYWJsZSBpc0NhbmNlbGFibGUsIElzQ29t
cG9zZWQgaXNDb21wb3NlZCkKKyAgICA6IEV2ZW50IHsgTW9ub3RvbmljVGltZTo6bm93KCksIGV2
ZW50VHlwZSwgSXNUcnVzdGVkOjpZZXMsIGNhbkJ1YmJsZSwgaXNDYW5jZWxhYmxlLCBpc0NvbXBv
c2VkIH0KIHsKICAgICBBU1NFUlQoIWV2ZW50VHlwZS5pc051bGwoKSk7CiB9CiAKLUV2ZW50OjpF
dmVudChlbnVtIEV2ZW50SW50ZXJmYWNlVHlwZSBldmVudEludGVyZmFjZSwgY29uc3QgQXRvbVN0
cmluZyYgZXZlbnRUeXBlLCBDYW5CdWJibGUgY2FuQnViYmxlLCBJc0NhbmNlbGFibGUgY2FuY2Vs
YWJsZSwgSXNDb21wb3NlZCBjb21wb3NlZCwgTW9ub3RvbmljVGltZSB0aW1lc3RhbXAsIElzVHJ1
c3RlZCBpc1RydXN0ZWQpCi0gICAgOiBFdmVudCh0aW1lc3RhbXAsIGV2ZW50SW50ZXJmYWNlLCBl
dmVudFR5cGUsIGlzVHJ1c3RlZCwgY2FuQnViYmxlLCBjYW5jZWxhYmxlLCBjb21wb3NlZCkKK0V2
ZW50OjpFdmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIENhbkJ1YmJsZSBjYW5CdWJi
bGUsIElzQ2FuY2VsYWJsZSBpc0NhbmNlbGFibGUsIElzQ29tcG9zZWQgaXNDb21wb3NlZCwgTW9u
b3RvbmljVGltZSB0aW1lc3RhbXAsIElzVHJ1c3RlZCBpc1RydXN0ZWQpCisgICAgOiBFdmVudCB7
IHRpbWVzdGFtcCwgZXZlbnRUeXBlLCBpc1RydXN0ZWQsIGNhbkJ1YmJsZSwgaXNDYW5jZWxhYmxl
LCBpc0NvbXBvc2VkIH0KIHsKKyAgICBBU1NFUlQoIWV2ZW50VHlwZS5pc051bGwoKSk7CiB9CiAK
LUV2ZW50OjpFdmVudChlbnVtIEV2ZW50SW50ZXJmYWNlVHlwZSBldmVudEludGVyZmFjZSwgY29u
c3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBjb25zdCBFdmVudEluaXQmIGluaXRpYWxpemVyLCBJ
c1RydXN0ZWQgaXNUcnVzdGVkKQotICAgIDogRXZlbnQgeyBNb25vdG9uaWNUaW1lOjpub3coKSwg
ZXZlbnRJbnRlcmZhY2UsIGV2ZW50VHlwZSwgaXNUcnVzdGVkLAorRXZlbnQ6OkV2ZW50KGNvbnN0
IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgRXZlbnRJbml0JiBpbml0aWFsaXplciwgSXNU
cnVzdGVkIGlzVHJ1c3RlZCkKKyAgICA6IEV2ZW50IHsgTW9ub3RvbmljVGltZTo6bm93KCksIGV2
ZW50VHlwZSwgaXNUcnVzdGVkLAogICAgICAgICBpbml0aWFsaXplci5idWJibGVzID8gQ2FuQnVi
YmxlOjpZZXMgOiBDYW5CdWJibGU6Ok5vLAogICAgICAgICBpbml0aWFsaXplci5jYW5jZWxhYmxl
ID8gSXNDYW5jZWxhYmxlOjpZZXMgOiBJc0NhbmNlbGFibGU6Ok5vLAogICAgICAgICBpbml0aWFs
aXplci5jb21wb3NlZCA/IElzQ29tcG9zZWQ6OlllcyA6IElzQ29tcG9zZWQ6Ok5vIH0KQEAgLTky
LDE3ICs5MSwxNyBAQCBFdmVudDo6fkV2ZW50KCkgPSBkZWZhdWx0OwogCiBSZWY8RXZlbnQ+IEV2
ZW50OjpjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgQ2FuQnViYmxlIGNhbkJ1YmJsZSwg
SXNDYW5jZWxhYmxlIGlzQ2FuY2VsYWJsZSwgSXNDb21wb3NlZCBpc0NvbXBvc2VkKQogewotICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IEV2ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6RXZlbnQsIHR5
cGUsIGNhbkJ1YmJsZSwgaXNDYW5jZWxhYmxlLCBpc0NvbXBvc2VkKSk7CisgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgRXZlbnQodHlwZSwgY2FuQnViYmxlLCBpc0NhbmNlbGFibGUsIGlzQ29tcG9z
ZWQpKTsKIH0KIAogUmVmPEV2ZW50PiBFdmVudDo6Y3JlYXRlRm9yQmluZGluZ3MoKQogewotICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IEV2ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6RXZlbnQpKTsK
KyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBFdmVudCk7CiB9CiAKIFJlZjxFdmVudD4gRXZlbnQ6
OmNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBFdmVudEluaXQmIGluaXRpYWxp
emVyLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQogewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEV2
ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6RXZlbnQsIHR5cGUsIGluaXRpYWxpemVyLCBpc1RydXN0
ZWQpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBFdmVudCh0eXBlLCBpbml0aWFsaXplciwg
aXNUcnVzdGVkKSk7CiB9CiAKIHZvaWQgRXZlbnQ6OmluaXRFdmVudChjb25zdCBBdG9tU3RyaW5n
JiBldmVudFR5cGVBcmcsIGJvb2wgY2FuQnViYmxlQXJnLCBib29sIGNhbmNlbGFibGVBcmcpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudC5oCmluZGV4IDUwYjkyZTNjNTI3Ny4uYzY4ZTExYjE3Y2UzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQu
aApAQCAtNzIsOCArNzIsNiBAQCBwdWJsaWM6CiAgICAgY29uc3QgQXRvbVN0cmluZyYgdHlwZSgp
IGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQogICAgIHZvaWQgc2V0VHlwZShjb25zdCBBdG9tU3Ry
aW5nJiB0eXBlKSB7IG1fdHlwZSA9IHR5cGU7IH0KIAotICAgIGVudW0gRXZlbnRJbnRlcmZhY2VU
eXBlIGludGVyZmFjZVR5cGUoKSBjb25zdCB7IHJldHVybiBtX2V2ZW50SW50ZXJmYWNlID8gc3Rh
dGljX2Nhc3Q8ZW51bSBFdmVudEludGVyZmFjZVR5cGU+KG1fZXZlbnRJbnRlcmZhY2UpIDogc3Rh
dGljX2Nhc3Q8ZW51bSBFdmVudEludGVyZmFjZVR5cGU+KGV2ZW50SW50ZXJmYWNlKCkpOyB9Ci0K
ICAgICBFdmVudFRhcmdldCogdGFyZ2V0KCkgY29uc3QgeyByZXR1cm4gbV90YXJnZXQuZ2V0KCk7
IH0KICAgICB2b2lkIHNldFRhcmdldChSZWZQdHI8RXZlbnRUYXJnZXQ+JiYpOwogCkBAIC0xNTcs
MTcgKzE1NSwxNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBTdHJpbmcgZGVidWdEZXNjcmlwdGlv
bigpIGNvbnN0OwogCiBwcm90ZWN0ZWQ6Ci0gICAgZXhwbGljaXQgRXZlbnQoZW51bSBFdmVudElu
dGVyZmFjZVR5cGUsIElzVHJ1c3RlZCA9IElzVHJ1c3RlZDo6Tm8pOwotICAgIEV2ZW50KGVudW0g
RXZlbnRJbnRlcmZhY2VUeXBlLCBjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBDYW5CdWJibGUsIElz
Q2FuY2VsYWJsZSwgSXNDb21wb3NlZCA9IElzQ29tcG9zZWQ6Ok5vKTsKLSAgICBFdmVudChlbnVt
IEV2ZW50SW50ZXJmYWNlVHlwZSwgY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgQ2FuQnViYmxlLCBJ
c0NhbmNlbGFibGUsIElzQ29tcG9zZWQsIE1vbm90b25pY1RpbWUgdGltZXN0YW1wLCBJc1RydXN0
ZWQgaXNUcnVzdGVkID0gSXNUcnVzdGVkOjpZZXMpOwotICAgIEV2ZW50KGVudW0gRXZlbnRJbnRl
cmZhY2VUeXBlLCBjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBFdmVudEluaXQmLCBJc1Ry
dXN0ZWQpOworICAgIGV4cGxpY2l0IEV2ZW50KElzVHJ1c3RlZCA9IElzVHJ1c3RlZDo6Tm8pOwor
ICAgIEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIENhbkJ1YmJsZSwgSXNDYW5jZWxhYmxl
LCBJc0NvbXBvc2VkID0gSXNDb21wb3NlZDo6Tm8pOworICAgIEV2ZW50KGNvbnN0IEF0b21TdHJp
bmcmIHR5cGUsIENhbkJ1YmJsZSwgSXNDYW5jZWxhYmxlLCBJc0NvbXBvc2VkLCBNb25vdG9uaWNU
aW1lIHRpbWVzdGFtcCwgSXNUcnVzdGVkIGlzVHJ1c3RlZCA9IElzVHJ1c3RlZDo6WWVzKTsKKyAg
ICBFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBFdmVudEluaXQmLCBJc1RydXN0
ZWQpOwogCiAgICAgdmlydHVhbCB2b2lkIHJlY2VpdmVkVGFyZ2V0KCkgeyB9CiAKICAgICBib29s
IGlzQ29uc3RydWN0ZWRGcm9tSW5pdGlhbGl6ZXIoKSBjb25zdCB7IHJldHVybiBtX2lzQ29uc3Ry
dWN0ZWRGcm9tSW5pdGlhbGl6ZXI7IH0KIAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBFdmVudChN
b25vdG9uaWNUaW1lIGNyZWF0ZVRpbWUsIGVudW0gRXZlbnRJbnRlcmZhY2VUeXBlLCBjb25zdCBB
dG9tU3RyaW5nJiB0eXBlLCBJc1RydXN0ZWQsIENhbkJ1YmJsZSwgSXNDYW5jZWxhYmxlLCBJc0Nv
bXBvc2VkKTsKKyAgICBleHBsaWNpdCBFdmVudChNb25vdG9uaWNUaW1lIGNyZWF0ZVRpbWUsIGNv
bnN0IEF0b21TdHJpbmcmIHR5cGUsIElzVHJ1c3RlZCwgQ2FuQnViYmxlLCBJc0NhbmNlbGFibGUs
IElzQ29tcG9zZWQpOwogCiAgICAgdm9pZCBzZXRDYW5jZWxlZEZsYWdJZlBvc3NpYmxlKCk7CiAK
QEAgLTE5MSwxMCArMTg5LDYgQEAgcHJpdmF0ZToKICAgICAvLyBTZWUgc3RlcCA0IG9mIGh0dHBz
Oi8vZG9tLnNwZWMud2hhdHdnLm9yZy8jaW5uZXItZXZlbnQtY3JlYXRpb24tc3RlcHMKICAgICB1
bnNpZ25lZCBtX2lzQ29uc3RydWN0ZWRGcm9tSW5pdGlhbGl6ZXIgOiAxIHsgZmFsc2UgfTsKIAot
ICAgIHVuc2lnbmVkIG1fZXZlbnRJbnRlcmZhY2UgOiA3IHsgMCB9OwotCi0gICAgLy8gMTAtYml0
cyBsZWZ0LgotCiAgICAgQXRvbVN0cmluZyBtX3R5cGU7CiAKICAgICBSZWZQdHI8RXZlbnRUYXJn
ZXQ+IG1fY3VycmVudFRhcmdldDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1
c0V2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmNwcAppbmRleCBmYzcw
MTQ2NDk1ODQuLjdlMjVjMzNhNmI1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Zv
Y3VzRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmNwcApAQCAt
NDMsMTkgKzQzLDE0IEBAIGJvb2wgRm9jdXNFdmVudDo6aXNGb2N1c0V2ZW50KCkgY29uc3QKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAotRm9jdXNFdmVudDo6Rm9jdXNFdmVudCgpCi0gICAgOiBVSUV2
ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6Rm9jdXNFdmVudCkKLXsKLX0KLQogRm9jdXNFdmVudDo6
Rm9jdXNFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBDYW5CdWJibGUgY2FuQnViYmxlLCBJ
c0NhbmNlbGFibGUgaXNDYW5jZWxhYmxlLCBSZWZQdHI8V2luZG93UHJveHk+JiYgdmlldywgaW50
IGRldGFpbCwgUmVmUHRyPEV2ZW50VGFyZ2V0PiYmIHJlbGF0ZWRUYXJnZXQpCi0gICAgOiBVSUV2
ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6Rm9jdXNFdmVudCwgdHlwZSwgY2FuQnViYmxlLCBpc0Nh
bmNlbGFibGUsIElzQ29tcG9zZWQ6OlllcywgV1RGTW92ZSh2aWV3KSwgZGV0YWlsKQorICAgIDog
VUlFdmVudCh0eXBlLCBjYW5CdWJibGUsIGlzQ2FuY2VsYWJsZSwgSXNDb21wb3NlZDo6WWVzLCBX
VEZNb3ZlKHZpZXcpLCBkZXRhaWwpCiAgICAgLCBtX3JlbGF0ZWRUYXJnZXQoV1RGTW92ZShyZWxh
dGVkVGFyZ2V0KSkKIHsKIH0KIAogRm9jdXNFdmVudDo6Rm9jdXNFdmVudChjb25zdCBBdG9tU3Ry
aW5nJiB0eXBlLCBjb25zdCBJbml0JiBpbml0aWFsaXplcikKLSAgICA6IFVJRXZlbnQoRXZlbnRJ
bnRlcmZhY2VUeXBlOjpGb2N1c0V2ZW50LCB0eXBlLCBpbml0aWFsaXplcikKKyAgICA6IFVJRXZl
bnQodHlwZSwgaW5pdGlhbGl6ZXIpCiAgICAgLCBtX3JlbGF0ZWRUYXJnZXQoaW5pdGlhbGl6ZXIu
cmVsYXRlZFRhcmdldCkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1
c0V2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5oCmluZGV4IDBhZmVmN2Ew
YzBkYy4uNjdkNmY2MGJlOGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNF
dmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmgKQEAgLTU4LDcgKzU4
LDcgQEAgcHVibGljOgogICAgIEV2ZW50VGFyZ2V0KiByZWxhdGVkVGFyZ2V0KCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gbV9yZWxhdGVkVGFyZ2V0LmdldCgpOyB9CiAKIHByaXZhdGU6Ci0gICAgRm9j
dXNFdmVudCgpOworICAgIEZvY3VzRXZlbnQoKSA9IGRlZmF1bHQ7CiAgICAgRm9jdXNFdmVudChj
b25zdCBBdG9tU3RyaW5nJiB0eXBlLCBDYW5CdWJibGUsIElzQ2FuY2VsYWJsZSwgUmVmUHRyPFdp
bmRvd1Byb3h5PiYmLCBpbnQsIFJlZlB0cjxFdmVudFRhcmdldD4mJik7CiAgICAgRm9jdXNFdmVu
dChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBJbml0Jik7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Gb3JtRGF0YUV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9G
b3JtRGF0YUV2ZW50LmNwcAppbmRleCBiMThlOGQyMGFiM2MuLmEyZGNkMTBmODAwOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Zvcm1EYXRhRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Gb3JtRGF0YUV2ZW50LmNwcApAQCAtNDQsMTMgKzQ0LDEzIEBAIFJlZjxGb3Jt
RGF0YUV2ZW50PiBGb3JtRGF0YUV2ZW50OjpjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRU
eXBlLCBDYW5CdWJibGUKIH0KIAogRm9ybURhdGFFdmVudDo6Rm9ybURhdGFFdmVudChjb25zdCBB
dG9tU3RyaW5nJiBldmVudFR5cGUsIEluaXQmJiBpbml0KQotICAgIDogRXZlbnQoRXZlbnRJbnRl
cmZhY2VUeXBlOjpGb3JtRGF0YUV2ZW50LCBldmVudFR5cGUsIGluaXQsIElzVHJ1c3RlZDo6Tm8p
CisgICAgOiBFdmVudChldmVudFR5cGUsIGluaXQsIElzVHJ1c3RlZDo6Tm8pCiAgICAgLCBtX2Zv
cm1EYXRhKGluaXQuZm9ybURhdGEucmVsZWFzZU5vbk51bGwoKSkKIHsKIH0KIAogRm9ybURhdGFF
dmVudDo6Rm9ybURhdGFFdmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIENhbkJ1YmJs
ZSBjYW5CdWJibGUsIElzQ2FuY2VsYWJsZSBpc0NhbmNlbGFibGUsIElzQ29tcG9zZWQgaXNDb21w
b3NlZCwgUmVmPERPTUZvcm1EYXRhPiYmIGZvcm1EYXRhKQotICAgIDogRXZlbnQoRXZlbnRJbnRl
cmZhY2VUeXBlOjpGb3JtRGF0YUV2ZW50LCBldmVudFR5cGUsIGNhbkJ1YmJsZSwgaXNDYW5jZWxh
YmxlLCBpc0NvbXBvc2VkKQorICAgIDogRXZlbnQoZXZlbnRUeXBlLCBjYW5CdWJibGUsIGlzQ2Fu
Y2VsYWJsZSwgaXNDb21wb3NlZCkKICAgICAsIG1fZm9ybURhdGEoV1RGTW92ZShmb3JtRGF0YSkp
CiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vSGFzaENoYW5nZUV2ZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vSGFzaENoYW5nZUV2ZW50LmgKaW5kZXggOTBkMzY4NzVmZDg0
Li5mOWYyM2ZkZmI2NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9IYXNoQ2hhbmdl
RXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vSGFzaENoYW5nZUV2ZW50LmgKQEAgLTY2
LDE5ICs2NiwxOCBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgSGFzaENoYW5nZUV2ZW50KCkK
LSAgICAgICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6Okhhc2hDaGFuZ2VFdmVudCkKICAg
ICB7CiAgICAgfQogCiAgICAgSGFzaENoYW5nZUV2ZW50KGNvbnN0IFN0cmluZyYgb2xkVVJMLCBj
b25zdCBTdHJpbmcmIG5ld1VSTCkKLSAgICAgICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6
Okhhc2hDaGFuZ2VFdmVudCwgZXZlbnROYW1lcygpLmhhc2hjaGFuZ2VFdmVudCwgQ2FuQnViYmxl
OjpObywgSXNDYW5jZWxhYmxlOjpObykKKyAgICAgICAgOiBFdmVudChldmVudE5hbWVzKCkuaGFz
aGNoYW5nZUV2ZW50LCBDYW5CdWJibGU6Ok5vLCBJc0NhbmNlbGFibGU6Ok5vKQogICAgICAgICAs
IG1fb2xkVVJMKG9sZFVSTCkKICAgICAgICAgLCBtX25ld1VSTChuZXdVUkwpCiAgICAgewogICAg
IH0KIAogICAgIEhhc2hDaGFuZ2VFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBJ
bml0JiBpbml0aWFsaXplciwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkKLSAgICAgICAgOiBFdmVudChF
dmVudEludGVyZmFjZVR5cGU6Okhhc2hDaGFuZ2VFdmVudCwgdHlwZSwgaW5pdGlhbGl6ZXIsIGlz
VHJ1c3RlZCkKKyAgICAgICAgOiBFdmVudCh0eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKQog
ICAgICAgICAsIG1fb2xkVVJMKGluaXRpYWxpemVyLm9sZFVSTCkKICAgICAgICAgLCBtX25ld1VS
TChpbml0aWFsaXplci5uZXdVUkwpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0lucHV0RXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0lucHV0RXZlbnQuY3BwCmlu
ZGV4IDc3M2M1MTc2MThkMS4uM2MzOGNiZTlhMTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vSW5wdXRFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0lucHV0RXZlbnQu
Y3BwCkBAIC00NCw3ICs0NCw3IEBAIFJlZjxJbnB1dEV2ZW50PiBJbnB1dEV2ZW50OjpjcmVhdGUo
Y29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBjb25zdCBTdHJpbmcmIGluCiAKIElucHV0RXZl
bnQ6OklucHV0RXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBjb25zdCBTdHJpbmcm
IGlucHV0VHlwZSwgSXNDYW5jZWxhYmxlIGNhbmNlbGFibGUsIFJlZlB0cjxXaW5kb3dQcm94eT4m
JiB2aWV3LAogICAgIGNvbnN0IFN0cmluZyYgZGF0YSwgUmVmUHRyPERhdGFUcmFuc2Zlcj4mJiBk
YXRhVHJhbnNmZXIsIGNvbnN0IFZlY3RvcjxSZWZQdHI8U3RhdGljUmFuZ2U+PiYgdGFyZ2V0UmFu
Z2VzLCBpbnQgZGV0YWlsLCBJc0lucHV0TWV0aG9kQ29tcG9zaW5nIGlzSW5wdXRNZXRob2RDb21w
b3NpbmcpCi0gICAgOiBVSUV2ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6SW5wdXRFdmVudCwgZXZl
bnRUeXBlLCBDYW5CdWJibGU6OlllcywgY2FuY2VsYWJsZSwgSXNDb21wb3NlZDo6WWVzLCBXVEZN
b3ZlKHZpZXcpLCBkZXRhaWwpCisgICAgOiBVSUV2ZW50KGV2ZW50VHlwZSwgQ2FuQnViYmxlOjpZ
ZXMsIGNhbmNlbGFibGUsIElzQ29tcG9zZWQ6OlllcywgV1RGTW92ZSh2aWV3KSwgZGV0YWlsKQog
ICAgICwgbV9pbnB1dFR5cGUoaW5wdXRUeXBlKQogICAgICwgbV9kYXRhKGRhdGEpCiAgICAgLCBt
X2RhdGFUcmFuc2ZlcihkYXRhVHJhbnNmZXIpCkBAIC01NCw3ICs1NCw3IEBAIElucHV0RXZlbnQ6
OklucHV0RXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBjb25zdCBTdHJpbmcmIGlu
cHV0VHlwZSwgSXNDCiB9CiAKIElucHV0RXZlbnQ6OklucHV0RXZlbnQoY29uc3QgQXRvbVN0cmlu
ZyYgZXZlbnRUeXBlLCBjb25zdCBJbml0JiBpbml0aWFsaXplcikKLSAgICA6IFVJRXZlbnQoRXZl
bnRJbnRlcmZhY2VUeXBlOjpJbnB1dEV2ZW50LCBldmVudFR5cGUsIGluaXRpYWxpemVyKQorICAg
IDogVUlFdmVudChldmVudFR5cGUsIGluaXRpYWxpemVyKQogICAgICwgbV9pbnB1dFR5cGUoaW5p
dGlhbGl6ZXIuaW5wdXRUeXBlKQogICAgICwgbV9kYXRhKGluaXRpYWxpemVyLmRhdGEpCiAgICAg
LCBtX2lzSW5wdXRNZXRob2RDb21wb3NpbmcoaW5pdGlhbGl6ZXIuaXNDb21wb3NpbmcpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vSW52b2tlRXZlbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL0ludm9rZUV2ZW50LmNwcAppbmRleCAzZjYyNDg4Mzk1NWYuLjRlODY2Y2MyYWQ0ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0ludm9rZUV2ZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vSW52b2tlRXZlbnQuY3BwCkBAIC0zNCwxMyArMzQsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChJbnZva2VFdmVudCk7
CiAKLUludm9rZUV2ZW50OjpJbnZva2VFdmVudCgpCi0gICAgOiBFdmVudChFdmVudEludGVyZmFj
ZVR5cGU6Okludm9rZUV2ZW50KQotewotfQotCiBJbnZva2VFdmVudDo6SW52b2tlRXZlbnQoY29u
c3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgSW52b2tlRXZlbnQ6OkluaXQmIGluaXRpYWxpemVy
LCBJc1RydXN0ZWQgaXNUcnVzdGVkKQotICAgIDogRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpJ
bnZva2VFdmVudCwgdHlwZSwgaW5pdGlhbGl6ZXIsIGlzVHJ1c3RlZCkKKyAgICA6IEV2ZW50KHR5
cGUsIGluaXRpYWxpemVyLCBpc1RydXN0ZWQpCiAgICAgLCBtX2ludm9rZXIoaW5pdGlhbGl6ZXIu
aW52b2tlcikKICAgICAsIG1fYWN0aW9uKGluaXRpYWxpemVyLmFjdGlvbikKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9JbnZva2VFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L0ludm9rZUV2ZW50LmgKaW5kZXggMDMwYjFlMWY3MGY3Li4xMGViOWMyZGI2N2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9JbnZva2VFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9JbnZva2VFdmVudC5oCkBAIC01MSw3ICs1MSw3IEBAIHB1YmxpYzoKICAgICBTdHJpbmcg
YWN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9hY3Rpb247IH0KIAogcHJpdmF0ZToKLSAgICBJbnZv
a2VFdmVudCgpOworICAgIEludm9rZUV2ZW50KCkgPSBkZWZhdWx0OwogICAgIEludm9rZUV2ZW50
KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IEluaXQmLCBJc1RydXN0ZWQgPSBJc1RydXN0
ZWQ6Ok5vKTsKIAogICAgIEV2ZW50SW50ZXJmYWNlIGV2ZW50SW50ZXJmYWNlKCkgY29uc3QgZmlu
YWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vS2V5Ym9hcmRFdmVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vS2V5Ym9hcmRFdmVudC5jcHAKaW5kZXggOWFlNTk0OTY3N2E4Li45
MzU1Njc4YTAzYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9LZXlib2FyZEV2ZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vS2V5Ym9hcmRFdmVudC5jcHAKQEAgLTEwMSwx
MCArMTAxLDcgQEAgc3RhdGljIGlubGluZSBLZXlib2FyZEV2ZW50OjpLZXlMb2NhdGlvbkNvZGUg
a2V5TG9jYXRpb25Db2RlKGNvbnN0IFBsYXRmb3JtS2V5Ym8KICAgICB9CiB9CiAKLWlubGluZSBL
ZXlib2FyZEV2ZW50OjpLZXlib2FyZEV2ZW50KCkKLSAgICAgOiBVSUV2ZW50V2l0aEtleVN0YXRl
KEV2ZW50SW50ZXJmYWNlVHlwZTo6S2V5Ym9hcmRFdmVudCkKLXsKLX0KK2lubGluZSBLZXlib2Fy
ZEV2ZW50OjpLZXlib2FyZEV2ZW50KCkgPSBkZWZhdWx0OwogCiBzdGF0aWMgYm9vbCB2aWV3SXND
b21wb3NpdGluZyhXaW5kb3dQcm94eSogdmlldykKIHsKQEAgLTExNSw3ICsxMTIsNyBAQCBzdGF0
aWMgYm9vbCB2aWV3SXNDb21wb3NpdGluZyhXaW5kb3dQcm94eSogdmlldykKIH0KIAogaW5saW5l
IEtleWJvYXJkRXZlbnQ6OktleWJvYXJkRXZlbnQoY29uc3QgUGxhdGZvcm1LZXlib2FyZEV2ZW50
JiBrZXksIFJlZlB0cjxXaW5kb3dQcm94eT4mJiB2aWV3KQotICAgIDogVUlFdmVudFdpdGhLZXlT
dGF0ZShFdmVudEludGVyZmFjZVR5cGU6OktleWJvYXJkRXZlbnQsIGV2ZW50VHlwZUZvcktleWJv
YXJkRXZlbnRUeXBlKGtleS50eXBlKCkpLCBDYW5CdWJibGU6OlllcywgSXNDYW5jZWxhYmxlOjpZ
ZXMsIElzQ29tcG9zZWQ6OlllcywKKyAgICA6IFVJRXZlbnRXaXRoS2V5U3RhdGUoZXZlbnRUeXBl
Rm9yS2V5Ym9hcmRFdmVudFR5cGUoa2V5LnR5cGUoKSksIENhbkJ1YmJsZTo6WWVzLCBJc0NhbmNl
bGFibGU6OlllcywgSXNDb21wb3NlZDo6WWVzLAogICAgICAgICBrZXkudGltZXN0YW1wKCkuYXBw
cm94aW1hdGVNb25vdG9uaWNUaW1lKCksIHZpZXcuY29weVJlZigpLCAwLCBrZXkubW9kaWZpZXJz
KCksIElzVHJ1c3RlZDo6WWVzKQogICAgICwgbV91bmRlcmx5aW5nUGxhdGZvcm1FdmVudChtYWtl
VW5pcXVlPFBsYXRmb3JtS2V5Ym9hcmRFdmVudD4oa2V5KSkKICAgICAsIG1fa2V5KGtleS5rZXko
KSkKQEAgLTEzNCw3ICsxMzEsNyBAQCBpbmxpbmUgS2V5Ym9hcmRFdmVudDo6S2V5Ym9hcmRFdmVu
dChjb25zdCBQbGF0Zm9ybUtleWJvYXJkRXZlbnQmIGtleSwgUmVmUHRyPFdpbgogfQogCiBpbmxp
bmUgS2V5Ym9hcmRFdmVudDo6S2V5Ym9hcmRFdmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5
cGUsIGNvbnN0IEluaXQmIGluaXRpYWxpemVyLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQotICAgIDog
VUlFdmVudFdpdGhLZXlTdGF0ZShFdmVudEludGVyZmFjZVR5cGU6OktleWJvYXJkRXZlbnQsIGV2
ZW50VHlwZSwgaW5pdGlhbGl6ZXIsIGlzVHJ1c3RlZCkKKyAgICA6IFVJRXZlbnRXaXRoS2V5U3Rh
dGUoZXZlbnRUeXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKQogICAgICwgbV9rZXkoaW5pdGlh
bGl6ZXIua2V5KQogICAgICwgbV9jb2RlKGluaXRpYWxpemVyLmNvZGUpCiAgICAgLCBtX2tleUlk
ZW50aWZpZXIoaW5pdGlhbGl6ZXIua2V5SWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VF
dmVudC5jcHAKaW5kZXggYmE0MjM4OWVlNDU4Li5kZDUxNTlkOWI4YjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9NZXNzYWdlRXZlbnQuY3BwCkBAIC00MCwxMyArNDAsMTAgQEAgdXNpbmcgbmFtZXNwYWNlIEpT
QzsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKE1lc3NhZ2VFdmVudCk7CiAKLU1lc3Nh
Z2VFdmVudDo6TWVzc2FnZUV2ZW50KCkKLSAgICA6IEV2ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6
TWVzc2FnZUV2ZW50KQotewotfQorTWVzc2FnZUV2ZW50OjpNZXNzYWdlRXZlbnQoKSA9IGRlZmF1
bHQ7CiAKIGlubGluZSBNZXNzYWdlRXZlbnQ6Ok1lc3NhZ2VFdmVudChjb25zdCBBdG9tU3RyaW5n
JiB0eXBlLCBJbml0JiYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0ZWQpCi0gICAgOiBF
dmVudChFdmVudEludGVyZmFjZVR5cGU6Ok1lc3NhZ2VFdmVudCwgdHlwZSwgaW5pdGlhbGl6ZXIs
IGlzVHJ1c3RlZCkKKyAgICA6IEV2ZW50KHR5cGUsIGluaXRpYWxpemVyLCBpc1RydXN0ZWQpCiAg
ICAgLCBtX2RhdGEoSlNWYWx1ZVRhZyB7IH0pCiAgICAgLCBtX29yaWdpbihpbml0aWFsaXplci5v
cmlnaW4pCiAgICAgLCBtX2xhc3RFdmVudElkKGluaXRpYWxpemVyLmxhc3RFdmVudElkKQpAQCAt
NTcsNyArNTQsNyBAQCBpbmxpbmUgTWVzc2FnZUV2ZW50OjpNZXNzYWdlRXZlbnQoY29uc3QgQXRv
bVN0cmluZyYgdHlwZSwgSW5pdCYmIGluaXRpYWxpemVyLCBJcwogfQogCiBpbmxpbmUgTWVzc2Fn
ZUV2ZW50OjpNZXNzYWdlRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgRGF0YVR5cGUmJiBk
YXRhLCBjb25zdCBTdHJpbmcmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBsYXN0RXZlbnRJZCwgc3Rk
OjpvcHRpb25hbDxNZXNzYWdlRXZlbnRTb3VyY2U+JiYgc291cmNlLCBWZWN0b3I8UmVmUHRyPE1l
c3NhZ2VQb3J0Pj4mJiBwb3J0cykKLSAgICA6IEV2ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6TWVz
c2FnZUV2ZW50LCB0eXBlLCBDYW5CdWJibGU6Ok5vLCBJc0NhbmNlbGFibGU6Ok5vKQorICAgIDog
RXZlbnQodHlwZSwgQ2FuQnViYmxlOjpObywgSXNDYW5jZWxhYmxlOjpObykKICAgICAsIG1fZGF0
YShXVEZNb3ZlKGRhdGEpKQogICAgICwgbV9vcmlnaW4ob3JpZ2luKQogICAgICwgbV9sYXN0RXZl
bnRJZChsYXN0RXZlbnRJZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmNwcAppbmRleCBiYWYxMTdh
NTBkYWMuLjIyYmY5NDZmYWE5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01vdXNl
RXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmNwcApAQCAtNDMs
NyArNDMsNyBAQCBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoTW91c2VFdmVudCk7CiAKIFJl
ZjxNb3VzZUV2ZW50PiBNb3VzZUV2ZW50OjpjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwg
Y29uc3QgTW91c2VFdmVudEluaXQmIGluaXRpYWxpemVyKQogewotICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IE1vdXNlRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpNb3VzZUV2ZW50LCB0eXBlLCBp
bml0aWFsaXplcikpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1vdXNlRXZlbnQodHlwZSwg
aW5pdGlhbGl6ZXIpKTsKIH0KIAogUmVmPE1vdXNlRXZlbnQ+IE1vdXNlRXZlbnQ6OmNyZWF0ZShj
b25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIFJlZlB0cjxXaW5kb3dQcm94eT4mJiB2aWV3LCBj
b25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2ZW50LCBpbnQgZGV0YWlsLCBOb2RlKiByZWxhdGVk
VGFyZ2V0KQpAQCAtNjMsNyArNjMsNyBAQCBSZWY8TW91c2VFdmVudD4gTW91c2VFdmVudDo6Y3Jl
YXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIENhbkJ1YmJsZSBjYW5CdWJibGUsCiAgICAgY29u
c3QgSW50UG9pbnQmIHNjcmVlbkxvY2F0aW9uLCBjb25zdCBJbnRQb2ludCYgd2luZG93TG9jYXRp
b24sIGRvdWJsZSBtb3ZlbWVudFgsIGRvdWJsZSBtb3ZlbWVudFksIE9wdGlvblNldDxNb2RpZmll
cj4gbW9kaWZpZXJzLCBNb3VzZUJ1dHRvbiBidXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMs
CiAgICAgRXZlbnRUYXJnZXQqIHJlbGF0ZWRUYXJnZXQsIGRvdWJsZSBmb3JjZSwgU3ludGhldGlj
Q2xpY2tUeXBlIHN5bnRoZXRpY0NsaWNrVHlwZSwgSXNTaW11bGF0ZWQgaXNTaW11bGF0ZWQsIElz
VHJ1c3RlZCBpc1RydXN0ZWQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTW91c2VFdmVu
dChFdmVudEludGVyZmFjZVR5cGU6Ok1vdXNlRXZlbnQsIHR5cGUsIGNhbkJ1YmJsZSwgaXNDYW5j
ZWxhYmxlLCBpc0NvbXBvc2VkLCB0aW1lc3RhbXAsIFdURk1vdmUodmlldyksIGRldGFpbCwKKyAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNb3VzZUV2ZW50KHR5cGUsIGNhbkJ1YmJsZSwgaXNDYW5j
ZWxhYmxlLCBpc0NvbXBvc2VkLCB0aW1lc3RhbXAsIFdURk1vdmUodmlldyksIGRldGFpbCwKICAg
ICAgICAgc2NyZWVuTG9jYXRpb24sIHdpbmRvd0xvY2F0aW9uLCBtb3ZlbWVudFgsIG1vdmVtZW50
WSwgbW9kaWZpZXJzLCBidXR0b24sIGJ1dHRvbnMsIHJlbGF0ZWRUYXJnZXQsIGZvcmNlLCBzeW50
aGV0aWNDbGlja1R5cGUsIGlzU2ltdWxhdGVkLCBpc1RydXN0ZWQpKTsKIH0KIApAQCAtNzEsMjUg
KzcxLDE2IEBAIFJlZjxNb3VzZUV2ZW50PiBNb3VzZUV2ZW50OjpjcmVhdGUoY29uc3QgQXRvbVN0
cmluZyYgZXZlbnRUeXBlLCBDYW5CdWJibGUgY2FuQnViCiAgICAgaW50IHNjcmVlblgsIGludCBz
Y3JlZW5ZLCBpbnQgY2xpZW50WCwgaW50IGNsaWVudFksIE9wdGlvblNldDxNb2RpZmllcj4gbW9k
aWZpZXJzLCBNb3VzZUJ1dHRvbiBidXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsCiAgICAg
U3ludGhldGljQ2xpY2tUeXBlIHN5bnRoZXRpY0NsaWNrVHlwZSwgRXZlbnRUYXJnZXQqIHJlbGF0
ZWRUYXJnZXQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTW91c2VFdmVudChFdmVudElu
dGVyZmFjZVR5cGU6Ok1vdXNlRXZlbnQsIGV2ZW50VHlwZSwgY2FuQnViYmxlLCBpc0NhbmNlbGFi
bGUsIGlzQ29tcG9zZWQsIFdURk1vdmUodmlldyksIGRldGFpbCwgeyBzY3JlZW5YLCBzY3JlZW5Z
IH0sIHsgY2xpZW50WCwgY2xpZW50WSB9LCAwLCAwLCBtb2RpZmllcnMsIGJ1dHRvbiwgYnV0dG9u
cywgc3ludGhldGljQ2xpY2tUeXBlLCByZWxhdGVkVGFyZ2V0KSk7CisgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgTW91c2VFdmVudChldmVudFR5cGUsIGNhbkJ1YmJsZSwgaXNDYW5jZWxhYmxlLCBp
c0NvbXBvc2VkLCBXVEZNb3ZlKHZpZXcpLCBkZXRhaWwsIHsgc2NyZWVuWCwgc2NyZWVuWSB9LCB7
IGNsaWVudFgsIGNsaWVudFkgfSwgMCwgMCwgbW9kaWZpZXJzLCBidXR0b24sIGJ1dHRvbnMsIHN5
bnRoZXRpY0NsaWNrVHlwZSwgcmVsYXRlZFRhcmdldCkpOwogfQogCitNb3VzZUV2ZW50OjpNb3Vz
ZUV2ZW50KCkgPSBkZWZhdWx0OwogCi1SZWY8TW91c2VFdmVudD4gTW91c2VFdmVudDo6Y3JlYXRl
Rm9yQmluZGluZ3MoKQotewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1vdXNlRXZlbnQoRXZl
bnRJbnRlcmZhY2VUeXBlOjpNb3VzZUV2ZW50KSk7Ci19Ci0KLU1vdXNlRXZlbnQ6Ok1vdXNlRXZl
bnQoZW51bSBFdmVudEludGVyZmFjZVR5cGUgZXZlbnRJbnRlcmZhY2UpCi0gICAgOiBNb3VzZVJl
bGF0ZWRFdmVudChldmVudEludGVyZmFjZSkKLXsKLX0KLQotTW91c2VFdmVudDo6TW91c2VFdmVu
dChlbnVtIEV2ZW50SW50ZXJmYWNlVHlwZSBldmVudEludGVyZmFjZSwgY29uc3QgQXRvbVN0cmlu
ZyYgZXZlbnRUeXBlLCBDYW5CdWJibGUgY2FuQnViYmxlLCBJc0NhbmNlbGFibGUgaXNDYW5jZWxh
YmxlLCBJc0NvbXBvc2VkIGlzQ29tcG9zZWQsCitNb3VzZUV2ZW50OjpNb3VzZUV2ZW50KGNvbnN0
IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgQ2FuQnViYmxlIGNhbkJ1YmJsZSwgSXNDYW5jZWxhYmxl
IGlzQ2FuY2VsYWJsZSwgSXNDb21wb3NlZCBpc0NvbXBvc2VkLAogICAgIE1vbm90b25pY1RpbWUg
dGltZXN0YW1wLCBSZWZQdHI8V2luZG93UHJveHk+JiYgdmlldywgaW50IGRldGFpbCwKICAgICBj
b25zdCBJbnRQb2ludCYgc2NyZWVuTG9jYXRpb24sIGNvbnN0IEludFBvaW50JiB3aW5kb3dMb2Nh
dGlvbiwgZG91YmxlIG1vdmVtZW50WCwgZG91YmxlIG1vdmVtZW50WSwgT3B0aW9uU2V0PE1vZGlm
aWVyPiBtb2RpZmllcnMsIE1vdXNlQnV0dG9uIGJ1dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9u
cywKICAgICBFdmVudFRhcmdldCogcmVsYXRlZFRhcmdldCwgZG91YmxlIGZvcmNlLCBTeW50aGV0
aWNDbGlja1R5cGUgc3ludGhldGljQ2xpY2tUeXBlLCBJc1NpbXVsYXRlZCBpc1NpbXVsYXRlZCwg
SXNUcnVzdGVkIGlzVHJ1c3RlZCkKLSAgICA6IE1vdXNlUmVsYXRlZEV2ZW50KGV2ZW50SW50ZXJm
YWNlLCBldmVudFR5cGUsIGNhbkJ1YmJsZSwgaXNDYW5jZWxhYmxlLCBpc0NvbXBvc2VkLCB0aW1l
c3RhbXAsIFdURk1vdmUodmlldyksIGRldGFpbCwgc2NyZWVuTG9jYXRpb24sIHdpbmRvd0xvY2F0
aW9uLCBtb3ZlbWVudFgsIG1vdmVtZW50WSwgbW9kaWZpZXJzLCBpc1NpbXVsYXRlZCwgaXNUcnVz
dGVkKQorICAgIDogTW91c2VSZWxhdGVkRXZlbnQoZXZlbnRUeXBlLCBjYW5CdWJibGUsIGlzQ2Fu
Y2VsYWJsZSwgaXNDb21wb3NlZCwgdGltZXN0YW1wLCBXVEZNb3ZlKHZpZXcpLCBkZXRhaWwsIHNj
cmVlbkxvY2F0aW9uLCB3aW5kb3dMb2NhdGlvbiwgbW92ZW1lbnRYLCBtb3ZlbWVudFksIG1vZGlm
aWVycywgaXNTaW11bGF0ZWQsIGlzVHJ1c3RlZCkKICAgICAsIG1fYnV0dG9uKGVudW1Ub1VuZGVy
bHlpbmdUeXBlKGJ1dHRvbiA9PSBNb3VzZUJ1dHRvbjo6Tm9uZSA/IE1vdXNlQnV0dG9uOjpMZWZ0
IDogYnV0dG9uKSkKICAgICAsIG1fYnV0dG9ucyhidXR0b25zKQogICAgICwgbV9zeW50aGV0aWND
bGlja1R5cGUoYnV0dG9uID09IE1vdXNlQnV0dG9uOjpOb25lID8gU3ludGhldGljQ2xpY2tUeXBl
OjpOb1RhcCA6IHN5bnRoZXRpY0NsaWNrVHlwZSkKQEAgLTk5LDEwICs5MCwxMCBAQCBNb3VzZUV2
ZW50OjpNb3VzZUV2ZW50KGVudW0gRXZlbnRJbnRlcmZhY2VUeXBlIGV2ZW50SW50ZXJmYWNlLCBj
b25zdCBBdG9tU3RyaW5nJgogewogfQogCi1Nb3VzZUV2ZW50OjpNb3VzZUV2ZW50KGVudW0gRXZl
bnRJbnRlcmZhY2VUeXBlIGV2ZW50SW50ZXJmYWNlLCBjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5
cGUsIENhbkJ1YmJsZSBjYW5CdWJibGUsIElzQ2FuY2VsYWJsZSBpc0NhbmNlbGFibGUsIElzQ29t
cG9zZWQgaXNDb21wb3NlZCwKK01vdXNlRXZlbnQ6Ok1vdXNlRXZlbnQoY29uc3QgQXRvbVN0cmlu
ZyYgZXZlbnRUeXBlLCBDYW5CdWJibGUgY2FuQnViYmxlLCBJc0NhbmNlbGFibGUgaXNDYW5jZWxh
YmxlLCBJc0NvbXBvc2VkIGlzQ29tcG9zZWQsCiAgICAgUmVmUHRyPFdpbmRvd1Byb3h5PiYmIHZp
ZXcsIGludCBkZXRhaWwsIGNvbnN0IEludFBvaW50JiBzY3JlZW5Mb2NhdGlvbiwgY29uc3QgSW50
UG9pbnQmIGNsaWVudExvY2F0aW9uLCBkb3VibGUgbW92ZW1lbnRYLCBkb3VibGUgbW92ZW1lbnRZ
LAogICAgIE9wdGlvblNldDxNb2RpZmllcj4gbW9kaWZpZXJzLCBNb3VzZUJ1dHRvbiBidXR0b24s
IHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsIFN5bnRoZXRpY0NsaWNrVHlwZSBzeW50aGV0aWNDbGlj
a1R5cGUsIEV2ZW50VGFyZ2V0KiByZWxhdGVkVGFyZ2V0KQotICAgIDogTW91c2VSZWxhdGVkRXZl
bnQoZXZlbnRJbnRlcmZhY2UsIGV2ZW50VHlwZSwgY2FuQnViYmxlLCBpc0NhbmNlbGFibGUsIGlz
Q29tcG9zZWQsIE1vbm90b25pY1RpbWU6Om5vdygpLCBXVEZNb3ZlKHZpZXcpLCBkZXRhaWwsIHNj
cmVlbkxvY2F0aW9uLCB7IH0sIG1vdmVtZW50WCwgbW92ZW1lbnRZLCBtb2RpZmllcnMsIElzU2lt
dWxhdGVkOjpObykKKyAgICA6IE1vdXNlUmVsYXRlZEV2ZW50KGV2ZW50VHlwZSwgY2FuQnViYmxl
LCBpc0NhbmNlbGFibGUsIGlzQ29tcG9zZWQsIE1vbm90b25pY1RpbWU6Om5vdygpLCBXVEZNb3Zl
KHZpZXcpLCBkZXRhaWwsIHNjcmVlbkxvY2F0aW9uLCB7IH0sIG1vdmVtZW50WCwgbW92ZW1lbnRZ
LCBtb2RpZmllcnMsIElzU2ltdWxhdGVkOjpObykKICAgICAsIG1fYnV0dG9uKGVudW1Ub1VuZGVy
bHlpbmdUeXBlKGJ1dHRvbiA9PSBNb3VzZUJ1dHRvbjo6Tm9uZSA/IE1vdXNlQnV0dG9uOjpMZWZ0
IDogYnV0dG9uKSkKICAgICAsIG1fYnV0dG9ucyhidXR0b25zKQogICAgICwgbV9zeW50aGV0aWND
bGlja1R5cGUoYnV0dG9uID09IE1vdXNlQnV0dG9uOjpOb25lID8gU3ludGhldGljQ2xpY2tUeXBl
OjpOb1RhcCA6IHN5bnRoZXRpY0NsaWNrVHlwZSkKQEAgLTExMiw4ICsxMDMsOCBAQCBNb3VzZUV2
ZW50OjpNb3VzZUV2ZW50KGVudW0gRXZlbnRJbnRlcmZhY2VUeXBlIGV2ZW50SW50ZXJmYWNlLCBj
b25zdCBBdG9tU3RyaW5nJgogICAgIGluaXRDb29yZGluYXRlcyhjbGllbnRMb2NhdGlvbik7CiB9
CiAKLU1vdXNlRXZlbnQ6Ok1vdXNlRXZlbnQoZW51bSBFdmVudEludGVyZmFjZVR5cGUgZXZlbnRJ
bnRlcmZhY2UsIGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgTW91c2VFdmVudElu
aXQmIGluaXRpYWxpemVyKQotICAgIDogTW91c2VSZWxhdGVkRXZlbnQoZXZlbnRJbnRlcmZhY2Us
IGV2ZW50VHlwZSwgaW5pdGlhbGl6ZXIpCitNb3VzZUV2ZW50OjpNb3VzZUV2ZW50KGNvbnN0IEF0
b21TdHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgTW91c2VFdmVudEluaXQmIGluaXRpYWxpemVyKQor
ICAgIDogTW91c2VSZWxhdGVkRXZlbnQoZXZlbnRUeXBlLCBpbml0aWFsaXplcikKICAgICAsIG1f
YnV0dG9uKGluaXRpYWxpemVyLmJ1dHRvbiA9PSBlbnVtVG9VbmRlcmx5aW5nVHlwZShNb3VzZUJ1
dHRvbjo6Tm9uZSkgPyBlbnVtVG9VbmRlcmx5aW5nVHlwZShNb3VzZUJ1dHRvbjo6TGVmdCkgOiBp
bml0aWFsaXplci5idXR0b24pCiAgICAgLCBtX2J1dHRvbnMoaW5pdGlhbGl6ZXIuYnV0dG9ucykK
ICAgICAsIG1fYnV0dG9uRG93bihpbml0aWFsaXplci5idXR0b24gIT0gZW51bVRvVW5kZXJseWlu
Z1R5cGUoTW91c2VCdXR0b246Ok5vbmUpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L01vdXNlRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmgKaW5kZXggMTFi
YzhlYjcyZWRkLi5hNGVmNDRiNDZiMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9N
b3VzZUV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuaApAQCAtNTgs
NyArNTgsNyBAQCBwdWJsaWM6CiAgICAgICAgIGludCBzY3JlZW5YLCBpbnQgc2NyZWVuWSwgaW50
IGNsaWVudFgsIGludCBjbGllbnRZLCBPcHRpb25TZXQ8TW9kaWZpZXI+LCBNb3VzZUJ1dHRvbiwg
dW5zaWduZWQgc2hvcnQgYnV0dG9ucywKICAgICAgICAgU3ludGhldGljQ2xpY2tUeXBlLCBFdmVu
dFRhcmdldCogcmVsYXRlZFRhcmdldCk7CiAKLSAgICBzdGF0aWMgUmVmPE1vdXNlRXZlbnQ+IGNy
ZWF0ZUZvckJpbmRpbmdzKCk7CisgICAgc3RhdGljIFJlZjxNb3VzZUV2ZW50PiBjcmVhdGVGb3JC
aW5kaW5ncygpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTW91c2VFdmVudCk7IH0KIAogICAgIHN0
YXRpYyBSZWY8TW91c2VFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwg
Y29uc3QgTW91c2VFdmVudEluaXQmKTsKIApAQCAtODksMTcgKzg5LDE3IEBAIHB1YmxpYzoKICAg
ICB1bnNpZ25lZCB3aGljaCgpIGNvbnN0IGZpbmFsOwogCiBwcm90ZWN0ZWQ6Ci0gICAgTW91c2VF
dmVudChlbnVtIEV2ZW50SW50ZXJmYWNlVHlwZSwgY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgQ2Fu
QnViYmxlLCBJc0NhbmNlbGFibGUsIElzQ29tcG9zZWQsIE1vbm90b25pY1RpbWUgdGltZXN0YW1w
LCBSZWZQdHI8V2luZG93UHJveHk+JiYsIGludCBkZXRhaWwsCisgICAgTW91c2VFdmVudChjb25z
dCBBdG9tU3RyaW5nJiB0eXBlLCBDYW5CdWJibGUsIElzQ2FuY2VsYWJsZSwgSXNDb21wb3NlZCwg
TW9ub3RvbmljVGltZSB0aW1lc3RhbXAsIFJlZlB0cjxXaW5kb3dQcm94eT4mJiwgaW50IGRldGFp
bCwKICAgICAgICAgY29uc3QgSW50UG9pbnQmIHNjcmVlbkxvY2F0aW9uLCBjb25zdCBJbnRQb2lu
dCYgd2luZG93TG9jYXRpb24sIGRvdWJsZSBtb3ZlbWVudFgsIGRvdWJsZSBtb3ZlbWVudFksIE9w
dGlvblNldDxNb2RpZmllcj4sIE1vdXNlQnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLAog
ICAgICAgICBFdmVudFRhcmdldCogcmVsYXRlZFRhcmdldCwgZG91YmxlIGZvcmNlLCBTeW50aGV0
aWNDbGlja1R5cGUsIElzU2ltdWxhdGVkLCBJc1RydXN0ZWQpOwogCi0gICAgTW91c2VFdmVudChl
bnVtIEV2ZW50SW50ZXJmYWNlVHlwZSwgY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgQ2FuQnViYmxl
LCBJc0NhbmNlbGFibGUsIElzQ29tcG9zZWQsIFJlZlB0cjxXaW5kb3dQcm94eT4mJiwgaW50IGRl
dGFpbCwKKyAgICBNb3VzZUV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIENhbkJ1YmJsZSwg
SXNDYW5jZWxhYmxlLCBJc0NvbXBvc2VkLCBSZWZQdHI8V2luZG93UHJveHk+JiYsIGludCBkZXRh
aWwsCiAgICAgICAgIGNvbnN0IEludFBvaW50JiBzY3JlZW5Mb2NhdGlvbiwgY29uc3QgSW50UG9p
bnQmIGNsaWVudExvY2F0aW9uLCBkb3VibGUgbW92ZW1lbnRYLCBkb3VibGUgbW92ZW1lbnRZLCBP
cHRpb25TZXQ8TW9kaWZpZXI+LCBNb3VzZUJ1dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9ucywK
ICAgICAgICAgU3ludGhldGljQ2xpY2tUeXBlLCBFdmVudFRhcmdldCogcmVsYXRlZFRhcmdldCk7
CiAKLSAgICBNb3VzZUV2ZW50KGVudW0gRXZlbnRJbnRlcmZhY2VUeXBlLCBjb25zdCBBdG9tU3Ry
aW5nJiB0eXBlLCBjb25zdCBNb3VzZUV2ZW50SW5pdCYpOworICAgIE1vdXNlRXZlbnQoY29uc3Qg
QXRvbVN0cmluZyYgdHlwZSwgY29uc3QgTW91c2VFdmVudEluaXQmKTsKIAotICAgIE1vdXNlRXZl
bnQoZW51bSBFdmVudEludGVyZmFjZVR5cGUpOworICAgIE1vdXNlRXZlbnQoKTsKIAogcHJpdmF0
ZToKICAgICBib29sIGlzTW91c2VFdmVudCgpIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Nb3VzZVJlbGF0ZWRFdmVudC5jcHAKaW5kZXggMmRmZDFkNGVhMzMwLi5hMjFkODI4Njg3ZTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZVJlbGF0ZWRFdmVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmNwcApAQCAtMzgsMjEgKzM4
LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBM
KE1vdXNlUmVsYXRlZEV2ZW50KTsKIAotLy8gRklYTUU6IFJlbW92ZSB0aGlzIHZhcmlhbnQuCi1N
b3VzZVJlbGF0ZWRFdmVudDo6TW91c2VSZWxhdGVkRXZlbnQoKQotICAgIDogVUlFdmVudFdpdGhL
ZXlTdGF0ZShFdmVudEludGVyZmFjZVR5cGU6OkludmFsaWQpCi17Ci19Ci0KLU1vdXNlUmVsYXRl
ZEV2ZW50OjpNb3VzZVJlbGF0ZWRFdmVudChlbnVtIEV2ZW50SW50ZXJmYWNlVHlwZSBldmVudElu
dGVyZmFjZSkKLSAgICA6IFVJRXZlbnRXaXRoS2V5U3RhdGUoZXZlbnRJbnRlcmZhY2UpCi17Ci19
Ci0KLU1vdXNlUmVsYXRlZEV2ZW50OjpNb3VzZVJlbGF0ZWRFdmVudChlbnVtIEV2ZW50SW50ZXJm
YWNlVHlwZSBldmVudEludGVyZmFjZSwgY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBDYW5C
dWJibGUgY2FuQnViYmxlLCBJc0NhbmNlbGFibGUgaXNDYW5jZWxhYmxlLCBJc0NvbXBvc2VkIGlz
Q29tcG9zZWQsCitNb3VzZVJlbGF0ZWRFdmVudDo6TW91c2VSZWxhdGVkRXZlbnQoY29uc3QgQXRv
bVN0cmluZyYgZXZlbnRUeXBlLCBDYW5CdWJibGUgY2FuQnViYmxlLCBJc0NhbmNlbGFibGUgaXND
YW5jZWxhYmxlLCBJc0NvbXBvc2VkIGlzQ29tcG9zZWQsCiAgICAgTW9ub3RvbmljVGltZSB0aW1l
c3RhbXAsIFJlZlB0cjxXaW5kb3dQcm94eT4mJiB2aWV3LCBpbnQgZGV0YWlsLAogICAgIGNvbnN0
IEludFBvaW50JiBzY3JlZW5Mb2NhdGlvbiwgY29uc3QgSW50UG9pbnQmIHdpbmRvd0xvY2F0aW9u
LCBkb3VibGUgbW92ZW1lbnRYLCBkb3VibGUgbW92ZW1lbnRZLCBPcHRpb25TZXQ8TW9kaWZpZXI+
IG1vZGlmaWVycywgSXNTaW11bGF0ZWQgaXNTaW11bGF0ZWQsIElzVHJ1c3RlZCBpc1RydXN0ZWQp
Ci0gICAgOiBVSUV2ZW50V2l0aEtleVN0YXRlKGV2ZW50SW50ZXJmYWNlLCBldmVudFR5cGUsIGNh
bkJ1YmJsZSwgaXNDYW5jZWxhYmxlLCBpc0NvbXBvc2VkLCB0aW1lc3RhbXAsIFdURk1vdmUodmll
dyksIGRldGFpbCwgbW9kaWZpZXJzLCBpc1RydXN0ZWQpCisgICAgOiBVSUV2ZW50V2l0aEtleVN0
YXRlKGV2ZW50VHlwZSwgY2FuQnViYmxlLCBpc0NhbmNlbGFibGUsIGlzQ29tcG9zZWQsIHRpbWVz
dGFtcCwgV1RGTW92ZSh2aWV3KSwgZGV0YWlsLCBtb2RpZmllcnMsIGlzVHJ1c3RlZCkKICAgICAs
IG1fc2NyZWVuTG9jYXRpb24oc2NyZWVuTG9jYXRpb24pCiAgICAgLCBtX21vdmVtZW50WChtb3Zl
bWVudFgpCiAgICAgLCBtX21vdmVtZW50WShtb3ZlbWVudFkpCkBAIC02MSwzMCArNTAsMTQgQEAg
TW91c2VSZWxhdGVkRXZlbnQ6Ok1vdXNlUmVsYXRlZEV2ZW50KGVudW0gRXZlbnRJbnRlcmZhY2VU
eXBlIGV2ZW50SW50ZXJmYWNlLCBjb24KICAgICBpbml0KG1faXNTaW11bGF0ZWQsIHdpbmRvd0xv
Y2F0aW9uKTsKIH0KIAotLy8gRklYTUU6IFJlbW92ZSB0aGlzIHZhcmlhbnQuCi1Nb3VzZVJlbGF0
ZWRFdmVudDo6TW91c2VSZWxhdGVkRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBD
YW5CdWJibGUgY2FuQnViYmxlLCBJc0NhbmNlbGFibGUgaXNDYW5jZWxhYmxlLCBJc0NvbXBvc2Vk
IGlzQ29tcG9zZWQsCi0gICAgTW9ub3RvbmljVGltZSB0aW1lc3RhbXAsIFJlZlB0cjxXaW5kb3dQ
cm94eT4mJiB2aWV3LCBpbnQgZGV0YWlsLAotICAgIGNvbnN0IEludFBvaW50JiBzY3JlZW5Mb2Nh
dGlvbiwgY29uc3QgSW50UG9pbnQmIHdpbmRvd0xvY2F0aW9uLCBkb3VibGUgbW92ZW1lbnRYLCBk
b3VibGUgbW92ZW1lbnRZLCBPcHRpb25TZXQ8TW9kaWZpZXI+IG1vZGlmaWVycywgSXNTaW11bGF0
ZWQgaXNTaW11bGF0ZWQsIElzVHJ1c3RlZCBpc1RydXN0ZWQpCi0gICAgOiBNb3VzZVJlbGF0ZWRF
dmVudChFdmVudEludGVyZmFjZVR5cGU6OkludmFsaWQsIGV2ZW50VHlwZSwgY2FuQnViYmxlLCBp
c0NhbmNlbGFibGUsIGlzQ29tcG9zZWQsIHRpbWVzdGFtcCwgV1RGTW92ZSh2aWV3KSwgZGV0YWls
LCBzY3JlZW5Mb2NhdGlvbiwgd2luZG93TG9jYXRpb24sCi0gICAgICAgIG1vdmVtZW50WCwgbW92
ZW1lbnRZLCBtb2RpZmllcnMsIGlzU2ltdWxhdGVkLCBpc1RydXN0ZWQpCi17Ci19Ci0KLU1vdXNl
UmVsYXRlZEV2ZW50OjpNb3VzZVJlbGF0ZWRFdmVudChlbnVtIEV2ZW50SW50ZXJmYWNlVHlwZSBl
dmVudEludGVyZmFjZSwgY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgSXNDYW5jZWxhYmxlIGlzQ2Fu
Y2VsYWJsZSwgTW9ub3RvbmljVGltZSB0aW1lc3RhbXAsIFJlZlB0cjxXaW5kb3dQcm94eT4mJiB2
aWV3LCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsTG9jYXRpb24sIE9wdGlvblNldDxNb2RpZmllcj4g
bW9kaWZpZXJzKQotICAgIDogTW91c2VSZWxhdGVkRXZlbnQoZXZlbnRJbnRlcmZhY2UsIHR5cGUs
IENhbkJ1YmJsZTo6WWVzLCBpc0NhbmNlbGFibGUsIElzQ29tcG9zZWQ6OlllcywgdGltZXN0YW1w
LAotICAgICAgICBXVEZNb3ZlKHZpZXcpLCAwLCBnbG9iYWxMb2NhdGlvbiwgZ2xvYmFsTG9jYXRp
b24gLyogQ29udmVydGVkIGluIGluaXQgKi8sIDAsIDAsIG1vZGlmaWVycywgSXNTaW11bGF0ZWQ6
Ok5vKQotewotfQotCi0vLyBGSVhNRTogUmVtb3ZlIHRoaXMgdmFyaWFudC4KIE1vdXNlUmVsYXRl
ZEV2ZW50OjpNb3VzZVJlbGF0ZWRFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBJc0NhbmNl
bGFibGUgaXNDYW5jZWxhYmxlLCBNb25vdG9uaWNUaW1lIHRpbWVzdGFtcCwgUmVmUHRyPFdpbmRv
d1Byb3h5PiYmIHZpZXcsIGNvbnN0IEludFBvaW50JiBnbG9iYWxMb2NhdGlvbiwgT3B0aW9uU2V0
PE1vZGlmaWVyPiBtb2RpZmllcnMpCi0gICAgOiBNb3VzZVJlbGF0ZWRFdmVudChFdmVudEludGVy
ZmFjZVR5cGU6OkludmFsaWQsIHR5cGUsIENhbkJ1YmJsZTo6WWVzLCBpc0NhbmNlbGFibGUsIElz
Q29tcG9zZWQ6OlllcywgdGltZXN0YW1wLAorICAgIDogTW91c2VSZWxhdGVkRXZlbnQodHlwZSwg
Q2FuQnViYmxlOjpZZXMsIGlzQ2FuY2VsYWJsZSwgSXNDb21wb3NlZDo6WWVzLCB0aW1lc3RhbXAs
CiAgICAgICAgIFdURk1vdmUodmlldyksIDAsIGdsb2JhbExvY2F0aW9uLCBnbG9iYWxMb2NhdGlv
biAvKiBDb252ZXJ0ZWQgaW4gaW5pdCAqLywgMCwgMCwgbW9kaWZpZXJzLCBJc1NpbXVsYXRlZDo6
Tm8pCiB7CiB9CiAKLU1vdXNlUmVsYXRlZEV2ZW50OjpNb3VzZVJlbGF0ZWRFdmVudChlbnVtIEV2
ZW50SW50ZXJmYWNlVHlwZSBldmVudEludGVyZmFjZSwgY29uc3QgQXRvbVN0cmluZyYgZXZlbnRU
eXBlLCBjb25zdCBNb3VzZVJlbGF0ZWRFdmVudEluaXQmIGluaXRpYWxpemVyLCBJc1RydXN0ZWQg
aXNUcnVzdGVkKQotICAgIDogVUlFdmVudFdpdGhLZXlTdGF0ZShldmVudEludGVyZmFjZSwgZXZl
bnRUeXBlLCBpbml0aWFsaXplcikKK01vdXNlUmVsYXRlZEV2ZW50OjpNb3VzZVJlbGF0ZWRFdmVu
dChjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IE1vdXNlUmVsYXRlZEV2ZW50SW5p
dCYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0ZWQpCisgICAgOiBVSUV2ZW50V2l0aEtl
eVN0YXRlKGV2ZW50VHlwZSwgaW5pdGlhbGl6ZXIpCiAgICAgLCBtX3NjcmVlbkxvY2F0aW9uKElu
dFBvaW50KGluaXRpYWxpemVyLnNjcmVlblgsIGluaXRpYWxpemVyLnNjcmVlblkpKQogICAgICwg
bV9tb3ZlbWVudFgoaW5pdGlhbGl6ZXIubW92ZW1lbnRYKQogICAgICwgbV9tb3ZlbWVudFkoaW5p
dGlhbGl6ZXIubW92ZW1lbnRZKQpAQCAtOTMsMTIgKzY2LDYgQEAgTW91c2VSZWxhdGVkRXZlbnQ6
Ok1vdXNlUmVsYXRlZEV2ZW50KGVudW0gRXZlbnRJbnRlcmZhY2VUeXBlIGV2ZW50SW50ZXJmYWNl
LCBjb24KICAgICBpbml0KGZhbHNlLCBJbnRQb2ludCgwLCAwKSk7CiB9CiAKLS8vIEZJWE1FOiBS
ZW1vdmUgdGhpcyB2YXJpYW50LgotTW91c2VSZWxhdGVkRXZlbnQ6Ok1vdXNlUmVsYXRlZEV2ZW50
KGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgTW91c2VSZWxhdGVkRXZlbnRJbml0
JiBpbml0aWFsaXplciwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkKLSAgICA6IE1vdXNlUmVsYXRlZEV2
ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6SW52YWxpZCwgZXZlbnRUeXBlLCBpbml0aWFsaXplciwg
aXNUcnVzdGVkKQotewotfQotCiBzdGF0aWMgaW5saW5lIGJvb2wgaXNNb3ZlRXZlbnRUeXBlKGNv
bnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSkKIHsKICAgICBhdXRvJiBldmVudE5hbWVzID0gV2Vi
Q29yZTo6ZXZlbnROYW1lcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01vdXNl
UmVsYXRlZEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VSZWxhdGVkRXZlbnQuaApp
bmRleCA4ODJmMTU1MWU2NjUuLmFlZWU2YjljNWNkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNl
UmVsYXRlZEV2ZW50LmgKQEAgLTc1LDE3ICs3NSwxMSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIExh
eW91dFBvaW50IHBhZ2VQb2ludFRvQWJzb2x1dGVQb2ludChMYXlvdXRQb2ludCBwYWdlUG9pbnQs
IExvY2FsRnJhbWVWaWV3Kik7CiAKIHByb3RlY3RlZDoKLSAgICBNb3VzZVJlbGF0ZWRFdmVudChl
bnVtIEV2ZW50SW50ZXJmYWNlVHlwZSk7Ci0gICAgTW91c2VSZWxhdGVkRXZlbnQoKTsKLSAgICBN
b3VzZVJlbGF0ZWRFdmVudChlbnVtIEV2ZW50SW50ZXJmYWNlVHlwZSwgY29uc3QgQXRvbVN0cmlu
ZyYgdHlwZSwgQ2FuQnViYmxlLCBJc0NhbmNlbGFibGUsIElzQ29tcG9zZWQsIE1vbm90b25pY1Rp
bWUsIFJlZlB0cjxXaW5kb3dQcm94eT4mJiwgaW50IGRldGFpbCwKLSAgICAgICAgY29uc3QgSW50
UG9pbnQmIHNjcmVlbkxvY2F0aW9uLCBjb25zdCBJbnRQb2ludCYgd2luZG93TG9jYXRpb24sIGRv
dWJsZSBtb3ZlbWVudFgsIGRvdWJsZSBtb3ZlbWVudFksIE9wdGlvblNldDxNb2RpZmllcj4gbW9k
aWZpZXJzLAotICAgICAgICBJc1NpbXVsYXRlZCA9IElzU2ltdWxhdGVkOjpObywgSXNUcnVzdGVk
ID0gSXNUcnVzdGVkOjpZZXMpOworICAgIE1vdXNlUmVsYXRlZEV2ZW50KCkgPSBkZWZhdWx0Owog
ICAgIE1vdXNlUmVsYXRlZEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIENhbkJ1YmJsZSwg
SXNDYW5jZWxhYmxlLCBJc0NvbXBvc2VkLCBNb25vdG9uaWNUaW1lLCBSZWZQdHI8V2luZG93UHJv
eHk+JiYsIGludCBkZXRhaWwsCiAgICAgICAgIGNvbnN0IEludFBvaW50JiBzY3JlZW5Mb2NhdGlv
biwgY29uc3QgSW50UG9pbnQmIHdpbmRvd0xvY2F0aW9uLCBkb3VibGUgbW92ZW1lbnRYLCBkb3Vi
bGUgbW92ZW1lbnRZLCBPcHRpb25TZXQ8TW9kaWZpZXI+IG1vZGlmaWVycywKICAgICAgICAgSXNT
aW11bGF0ZWQgPSBJc1NpbXVsYXRlZDo6Tm8sIElzVHJ1c3RlZCA9IElzVHJ1c3RlZDo6WWVzKTsK
ICAgICBNb3VzZVJlbGF0ZWRFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBJc0NhbmNlbGFi
bGUsIE1vbm90b25pY1RpbWUsIFJlZlB0cjxXaW5kb3dQcm94eT4mJiwgY29uc3QgSW50UG9pbnQm
IGdsb2JhbExvY2F0aW9uLCBPcHRpb25TZXQ8TW9kaWZpZXI+KTsKLSAgICBNb3VzZVJlbGF0ZWRF
dmVudChlbnVtIEV2ZW50SW50ZXJmYWNlVHlwZSwgY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgSXND
YW5jZWxhYmxlLCBNb25vdG9uaWNUaW1lLCBSZWZQdHI8V2luZG93UHJveHk+JiYsIGNvbnN0IElu
dFBvaW50JiBnbG9iYWxMb2NhdGlvbiwgT3B0aW9uU2V0PE1vZGlmaWVyPik7Ci0gICAgTW91c2VS
ZWxhdGVkRXZlbnQoZW51bSBFdmVudEludGVyZmFjZVR5cGUsIGNvbnN0IEF0b21TdHJpbmcmIHR5
cGUsIGNvbnN0IE1vdXNlUmVsYXRlZEV2ZW50SW5pdCYsIElzVHJ1c3RlZCA9IElzVHJ1c3RlZDo6
Tm8pOwogICAgIE1vdXNlUmVsYXRlZEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0
IE1vdXNlUmVsYXRlZEV2ZW50SW5pdCYsIElzVHJ1c3RlZCA9IElzVHJ1c3RlZDo6Tm8pOwogCiAg
ICAgdm9pZCBpbml0Q29vcmRpbmF0ZXMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9NdXRhdGlvbkV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkV2ZW50LmNw
cAppbmRleCAzN2VhNWJlZjFkM2IuLjQzNTAwZmRiNTY3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL011dGF0aW9uRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRh
dGlvbkV2ZW50LmNwcApAQCAtMjksMTMgKzI5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoTXV0YXRpb25FdmVudCk7CiAKLU11dGF0aW9uRXZl
bnQ6Ok11dGF0aW9uRXZlbnQoKQotICAgIDogRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpNdXRh
dGlvbkV2ZW50KQotewotfQotCiBNdXRhdGlvbkV2ZW50OjpNdXRhdGlvbkV2ZW50KGNvbnN0IEF0
b21TdHJpbmcmIHR5cGUsIENhbkJ1YmJsZSBjYW5CdWJibGUsIElzQ2FuY2VsYWJsZSBjYW5jZWxh
YmxlLCBOb2RlKiByZWxhdGVkTm9kZSwgY29uc3QgU3RyaW5nJiBwcmV2VmFsdWUsIGNvbnN0IFN0
cmluZyYgbmV3VmFsdWUpCi0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6Ok11dGF0aW9u
RXZlbnQsIHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSkKKyAgICA6IEV2ZW50KHR5cGUsIGNh
bkJ1YmJsZSwgY2FuY2VsYWJsZSkKICAgICAsIG1fcmVsYXRlZE5vZGUocmVsYXRlZE5vZGUpCiAg
ICAgLCBtX3ByZXZWYWx1ZShwcmV2VmFsdWUpCiAgICAgLCBtX25ld1ZhbHVlKG5ld1ZhbHVlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uRXZlbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9NdXRhdGlvbkV2ZW50LmgKaW5kZXggNGViN2MzYjM4YzFkLi5mOWExNDBjYTJi
MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkV2ZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uRXZlbnQuaApAQCAtNTYsNyArNTYsNyBAQCBwdWJs
aWM6CiAgICAgdW5zaWduZWQgc2hvcnQgYXR0ckNoYW5nZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXR0
ckNoYW5nZTsgfQogCiBwcml2YXRlOgotICAgIE11dGF0aW9uRXZlbnQoKTsKKyAgICBNdXRhdGlv
bkV2ZW50KCkgPSBkZWZhdWx0OwogICAgIE11dGF0aW9uRXZlbnQoY29uc3QgQXRvbVN0cmluZyYg
dHlwZSwgQ2FuQnViYmxlLCBJc0NhbmNlbGFibGUsIE5vZGUqIHJlbGF0ZWROb2RlLCBjb25zdCBT
dHJpbmcmIHByZXZWYWx1ZSwgY29uc3QgU3RyaW5nJiBuZXdWYWx1ZSk7CiAKICAgICBFdmVudElu
dGVyZmFjZSBldmVudEludGVyZmFjZSgpIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL092ZXJmbG93RXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL092ZXJm
bG93RXZlbnQuY3BwCmluZGV4IDA0MTRmYWIxOWJjMS4uMzIzNTA4OTYwMTk5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vT3ZlcmZsb3dFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL092ZXJmbG93RXZlbnQuY3BwCkBAIC0zNCwxNSArMzQsMTQgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKE92ZXJmbG93RXZlbnQpOwogCiBP
dmVyZmxvd0V2ZW50OjpPdmVyZmxvd0V2ZW50KCkKLSAgICA6IEV2ZW50KEV2ZW50SW50ZXJmYWNl
VHlwZTo6T3ZlcmZsb3dFdmVudCkKLSAgICAsIG1fb3JpZW50KFZFUlRJQ0FMKQorICAgIDogbV9v
cmllbnQoVkVSVElDQUwpCiAgICAgLCBtX2hvcml6b250YWxPdmVyZmxvdyhmYWxzZSkKICAgICAs
IG1fdmVydGljYWxPdmVyZmxvdyhmYWxzZSkKIHsKIH0KIAogT3ZlcmZsb3dFdmVudDo6T3ZlcmZs
b3dFdmVudChib29sIGhvcml6b250YWxPdmVyZmxvd0NoYW5nZWQsIGJvb2wgaG9yaXpvbnRhbE92
ZXJmbG93LCBib29sIHZlcnRpY2FsT3ZlcmZsb3dDaGFuZ2VkLCBib29sIHZlcnRpY2FsT3ZlcmZs
b3cpCi0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6Ok92ZXJmbG93RXZlbnQsIGV2ZW50
TmFtZXMoKS5vdmVyZmxvd2NoYW5nZWRFdmVudCwgQ2FuQnViYmxlOjpObywgSXNDYW5jZWxhYmxl
OjpObykKKyAgICA6IEV2ZW50KGV2ZW50TmFtZXMoKS5vdmVyZmxvd2NoYW5nZWRFdmVudCwgQ2Fu
QnViYmxlOjpObywgSXNDYW5jZWxhYmxlOjpObykKICAgICAsIG1faG9yaXpvbnRhbE92ZXJmbG93
KGhvcml6b250YWxPdmVyZmxvdykKICAgICAsIG1fdmVydGljYWxPdmVyZmxvdyh2ZXJ0aWNhbE92
ZXJmbG93KQogewpAQCAtNTcsNyArNTYsNyBAQCBPdmVyZmxvd0V2ZW50OjpPdmVyZmxvd0V2ZW50
KGJvb2wgaG9yaXpvbnRhbE92ZXJmbG93Q2hhbmdlZCwgYm9vbCBob3Jpem9udGFsT3ZlcgogfQog
CiBPdmVyZmxvd0V2ZW50OjpPdmVyZmxvd0V2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNv
bnN0IEluaXQmIGluaXRpYWxpemVyLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQotICAgIDogRXZlbnQo
RXZlbnRJbnRlcmZhY2VUeXBlOjpPdmVyZmxvd0V2ZW50LCB0eXBlLCBpbml0aWFsaXplciwgaXNU
cnVzdGVkKQorICAgIDogRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIsIGlzVHJ1c3RlZCkKICAgICAs
IG1fb3JpZW50KGluaXRpYWxpemVyLm9yaWVudCkKICAgICAsIG1faG9yaXpvbnRhbE92ZXJmbG93
KGluaXRpYWxpemVyLmhvcml6b250YWxPdmVyZmxvdykKICAgICAsIG1fdmVydGljYWxPdmVyZmxv
dyhpbml0aWFsaXplci52ZXJ0aWNhbE92ZXJmbG93KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1BhZ2VUcmFuc2l0aW9uRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1BhZ2VU
cmFuc2l0aW9uRXZlbnQuY3BwCmluZGV4IGJmNjc0YjIyNjk2Ny4uMTc3MmU1Y2Y4NmM3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUGFnZVRyYW5zaXRpb25FdmVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL1BhZ2VUcmFuc2l0aW9uRXZlbnQuY3BwCkBAIC0zMywxMyArMzMs
MTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFBh
Z2VUcmFuc2l0aW9uRXZlbnQpOwogCiBQYWdlVHJhbnNpdGlvbkV2ZW50OjpQYWdlVHJhbnNpdGlv
bkV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGJvb2wgcGVyc2lzdGVkKQotICAgIDogRXZl
bnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpQYWdlVHJhbnNpdGlvbkV2ZW50LCB0eXBlLCBDYW5CdWJi
bGU6OlllcywgSXNDYW5jZWxhYmxlOjpZZXMpCisgICAgOiBFdmVudCh0eXBlLCBDYW5CdWJibGU6
OlllcywgSXNDYW5jZWxhYmxlOjpZZXMpCiAgICAgLCBtX3BlcnNpc3RlZChwZXJzaXN0ZWQpCiB7
CiB9CiAKIFBhZ2VUcmFuc2l0aW9uRXZlbnQ6OlBhZ2VUcmFuc2l0aW9uRXZlbnQoY29uc3QgQXRv
bVN0cmluZyYgdHlwZSwgY29uc3QgSW5pdCYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0
ZWQpCi0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6OlBhZ2VUcmFuc2l0aW9uRXZlbnQs
IHR5cGUsIGluaXRpYWxpemVyLCBpc1RydXN0ZWQpCisgICAgOiBFdmVudCh0eXBlLCBpbml0aWFs
aXplciwgaXNUcnVzdGVkKQogICAgICwgbV9wZXJzaXN0ZWQoaW5pdGlhbGl6ZXIucGVyc2lzdGVk
KQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1BvaW50ZXJFdmVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vUG9pbnRlckV2ZW50LmNwcAppbmRleCA0ZDhhMDZlNDhmYmQu
LjY5YjY2ZWFlMTQxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1BvaW50ZXJFdmVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1BvaW50ZXJFdmVudC5jcHAKQEAgLTc2LDEz
ICs3NiwxMCBAQCBSZWY8UG9pbnRlckV2ZW50PiBQb2ludGVyRXZlbnQ6OmNyZWF0ZShjb25zdCBB
dG9tU3RyaW5nJiB0eXBlLCBQb2ludGVySUQgcG9pbnRlcgogICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFBvaW50ZXJFdmVudCh0eXBlLCBwb2ludGVySWQsIHBvaW50ZXJUeXBlLCBpc1ByaW1hcnkp
KTsKIH0KIAotUG9pbnRlckV2ZW50OjpQb2ludGVyRXZlbnQoKQotICAgIDogTW91c2VFdmVudChF
dmVudEludGVyZmFjZVR5cGU6OlBvaW50ZXJFdmVudCkKLXsKLX0KK1BvaW50ZXJFdmVudDo6UG9p
bnRlckV2ZW50KCkgPSBkZWZhdWx0OwogCiBQb2ludGVyRXZlbnQ6OlBvaW50ZXJFdmVudChjb25z
dCBBdG9tU3RyaW5nJiB0eXBlLCBJbml0JiYgaW5pdGlhbGl6ZXIpCi0gICAgOiBNb3VzZUV2ZW50
KEV2ZW50SW50ZXJmYWNlVHlwZTo6UG9pbnRlckV2ZW50LCB0eXBlLCBpbml0aWFsaXplcikKKyAg
ICA6IE1vdXNlRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIpCiAgICAgLCBtX3BvaW50ZXJJZChpbml0
aWFsaXplci5wb2ludGVySWQpCiAgICAgLCBtX3dpZHRoKGluaXRpYWxpemVyLndpZHRoKQogICAg
ICwgbV9oZWlnaHQoaW5pdGlhbGl6ZXIuaGVpZ2h0KQpAQCAtOTcsNyArOTQsNyBAQCBQb2ludGVy
RXZlbnQ6OlBvaW50ZXJFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBJbml0JiYgaW5pdGlh
bGl6ZXIpCiB9CiAKIFBvaW50ZXJFdmVudDo6UG9pbnRlckV2ZW50KGNvbnN0IEF0b21TdHJpbmcm
IHR5cGUsIE1vdXNlQnV0dG9uIGJ1dHRvbiwgY29uc3QgTW91c2VFdmVudCYgbW91c2VFdmVudCwg
UG9pbnRlcklEIHBvaW50ZXJJZCwgY29uc3QgU3RyaW5nJiBwb2ludGVyVHlwZSkKLSAgICA6IE1v
dXNlRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpQb2ludGVyRXZlbnQsIHR5cGUsIHR5cGVDYW5C
dWJibGUodHlwZSksIHR5cGVJc0NhbmNlbGFibGUodHlwZSksIHR5cGVJc0NvbXBvc2VkKHR5cGUp
LCBtb3VzZUV2ZW50LnZpZXcoKSwgbW91c2VFdmVudC5kZXRhaWwoKSwgbW91c2VFdmVudC5zY3Jl
ZW5Mb2NhdGlvbigpLAorICAgIDogTW91c2VFdmVudCh0eXBlLCB0eXBlQ2FuQnViYmxlKHR5cGUp
LCB0eXBlSXNDYW5jZWxhYmxlKHR5cGUpLCB0eXBlSXNDb21wb3NlZCh0eXBlKSwgbW91c2VFdmVu
dC52aWV3KCksIG1vdXNlRXZlbnQuZGV0YWlsKCksIG1vdXNlRXZlbnQuc2NyZWVuTG9jYXRpb24o
KSwKICAgICAgICAgeyBtb3VzZUV2ZW50LmNsaWVudFgoKSwgbW91c2VFdmVudC5jbGllbnRZKCkg
fSwgbW91c2VFdmVudC5tb3ZlbWVudFgoKSwgbW91c2VFdmVudC5tb3ZlbWVudFkoKSwgbW91c2VF
dmVudC5tb2RpZmllcktleXMoKSwgYnV0dG9uLCBtb3VzZUV2ZW50LmJ1dHRvbnMoKSwKICAgICAg
ICAgbW91c2VFdmVudC5zeW50aGV0aWNDbGlja1R5cGUoKSwgbW91c2VFdmVudC5yZWxhdGVkVGFy
Z2V0KCkpCiAgICAgLCBtX3BvaW50ZXJJZChwb2ludGVySWQpCkBAIC0xMTAsNyArMTA3LDcgQEAg
UG9pbnRlckV2ZW50OjpQb2ludGVyRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgTW91c2VC
dXR0b24gYnV0dG9uLCBjb25zdCBNb3UKIH0KIAogUG9pbnRlckV2ZW50OjpQb2ludGVyRXZlbnQo
Y29uc3QgQXRvbVN0cmluZyYgdHlwZSwgUG9pbnRlcklEIHBvaW50ZXJJZCwgY29uc3QgU3RyaW5n
JiBwb2ludGVyVHlwZSwgSXNQcmltYXJ5IGlzUHJpbWFyeSkKLSAgICA6IE1vdXNlRXZlbnQoRXZl
bnRJbnRlcmZhY2VUeXBlOjpQb2ludGVyRXZlbnQsIHR5cGUsIHR5cGVDYW5CdWJibGUodHlwZSks
IHR5cGVJc0NhbmNlbGFibGUodHlwZSksIHR5cGVJc0NvbXBvc2VkKHR5cGUpLCBudWxscHRyLCAw
LCB7IH0sIHsgfSwgMCwgMCwgeyB9LCBidXR0b25Gb3JUeXBlKHR5cGUpLCBidXR0b25zRm9yVHlw
ZSh0eXBlKSwgU3ludGhldGljQ2xpY2tUeXBlOjpOb1RhcCwgbnVsbHB0cikKKyAgICA6IE1vdXNl
RXZlbnQodHlwZSwgdHlwZUNhbkJ1YmJsZSh0eXBlKSwgdHlwZUlzQ2FuY2VsYWJsZSh0eXBlKSwg
dHlwZUlzQ29tcG9zZWQodHlwZSksIG51bGxwdHIsIDAsIHsgfSwgeyB9LCAwLCAwLCB7IH0sIGJ1
dHRvbkZvclR5cGUodHlwZSksIGJ1dHRvbnNGb3JUeXBlKHR5cGUpLCBTeW50aGV0aWNDbGlja1R5
cGU6Ok5vVGFwLCBudWxscHRyKQogICAgICwgbV9wb2ludGVySWQocG9pbnRlcklkKQogICAgIC8v
IEZJWE1FOiBUaGlzIG1heSBiZSB3cm9uZyBiZWNhdXNlIHdlIGNhbiBjcmVhdGUgYW4gZXZlbnQg
ZnJvbSBhIHByZXNzdXJlIHNlbnNpdGl2ZSBkZXZpY2UuCiAgICAgLy8gV2UgZG9uJ3QgaGF2ZSBh
IGJhY2tpbmcgTW91c2VFdmVudCB0byBjb25zdWx0IHByZXNzdXJlL2ZvcmNlIGluZm9ybWF0aW9u
IGZyb20sIHRob3VnaCwgc28gbGV0J3MgZG8gdGhlIG5leHQgYmVzdCB0aGluZy4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb3BTdGF0ZUV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Qb3BTdGF0ZUV2ZW50LmNwcAppbmRleCBkNDJjN2NhY2I0ZmMuLjM0ODIyNWVlYjAwZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1BvcFN0YXRlRXZlbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Qb3BTdGF0ZUV2ZW50LmNwcApAQCAtMzYsMjAgKzM2LDE1IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFBvcFN0YXRl
RXZlbnQpOwogCi1Qb3BTdGF0ZUV2ZW50OjpQb3BTdGF0ZUV2ZW50KCkKLSAgICA6IEV2ZW50KEV2
ZW50SW50ZXJmYWNlVHlwZTo6UG9wU3RhdGVFdmVudCkKLXsKLX0KLQogUG9wU3RhdGVFdmVudDo6
UG9wU3RhdGVFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBJbml0JiBpbml0aWFs
aXplciwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkKLSAgICA6IEV2ZW50KEV2ZW50SW50ZXJmYWNlVHlw
ZTo6UG9wU3RhdGVFdmVudCwgdHlwZSwgaW5pdGlhbGl6ZXIsIGlzVHJ1c3RlZCkKKyAgICA6IEV2
ZW50KHR5cGUsIGluaXRpYWxpemVyLCBpc1RydXN0ZWQpCiAgICAgLCBtX3N0YXRlKGluaXRpYWxp
emVyLnN0YXRlKQogICAgICwgbV9oYXNVQVZpc3VhbFRyYW5zaXRpb24oaW5pdGlhbGl6ZXIuaGFz
VUFWaXN1YWxUcmFuc2l0aW9uKQogewogfQogCiBQb3BTdGF0ZUV2ZW50OjpQb3BTdGF0ZUV2ZW50
KFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgc2VyaWFsaXplZFN0YXRlLCBIaXN0b3J5
KiBoaXN0b3J5KQotICAgIDogRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpQb3BTdGF0ZUV2ZW50
LCBldmVudE5hbWVzKCkucG9wc3RhdGVFdmVudCwgQ2FuQnViYmxlOjpObywgSXNDYW5jZWxhYmxl
OjpObykKKyAgICA6IEV2ZW50KGV2ZW50TmFtZXMoKS5wb3BzdGF0ZUV2ZW50LCBDYW5CdWJibGU6
Ok5vLCBJc0NhbmNlbGFibGU6Ok5vKQogICAgICwgbV9zZXJpYWxpemVkU3RhdGUoV1RGTW92ZShz
ZXJpYWxpemVkU3RhdGUpKQogICAgICwgbV9oaXN0b3J5KGhpc3RvcnkpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vUG9wU3RhdGVFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L1BvcFN0YXRlRXZlbnQuaAppbmRleCBiYTk5Y2IzODMxNjAuLjM0NTMyNjBiODUyOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1BvcFN0YXRlRXZlbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vUG9wU3RhdGVFdmVudC5oCkBAIC01OSw3ICs1OSw3IEBAIHB1YmxpYzoKICAgICBi
b29sIGhhc1VBVmlzdWFsVHJhbnNpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1faGFzVUFWaXN1YWxU
cmFuc2l0aW9uOyB9CiAKIHByaXZhdGU6Ci0gICAgUG9wU3RhdGVFdmVudCgpOworICAgIFBvcFN0
YXRlRXZlbnQoKSA9IGRlZmF1bHQ7CiAgICAgUG9wU3RhdGVFdmVudChjb25zdCBBdG9tU3RyaW5n
JiwgY29uc3QgSW5pdCYsIElzVHJ1c3RlZCk7CiAgICAgUG9wU3RhdGVFdmVudChSZWZQdHI8U2Vy
aWFsaXplZFNjcmlwdFZhbHVlPiYmLCBIaXN0b3J5Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Qcm9ncmVzc0V2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9ncmVz
c0V2ZW50LmNwcAppbmRleCA5OWI3YmExZDUxZmIuLjQ2ZjY2M2Q3NmMxZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL1Byb2dyZXNzRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Qcm9ncmVzc0V2ZW50LmNwcApAQCAtMzIsMTYgKzMyLDE2IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFByb2dyZXNzRXZlbnQpOwogCi1Q
cm9ncmVzc0V2ZW50OjpQcm9ncmVzc0V2ZW50KGVudW0gRXZlbnRJbnRlcmZhY2VUeXBlIGV2ZW50
SW50ZXJmYWNlLCBjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBJbml0JiBpbml0aWFsaXpl
ciwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkKLSAgICA6IEV2ZW50KGV2ZW50SW50ZXJmYWNlLCB0eXBl
LCBpbml0aWFsaXplciwgaXNUcnVzdGVkKQorUHJvZ3Jlc3NFdmVudDo6UHJvZ3Jlc3NFdmVudChj
b25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBJbml0JiBpbml0aWFsaXplciwgSXNUcnVzdGVk
IGlzVHJ1c3RlZCkKKyAgICA6IEV2ZW50KHR5cGUsIGluaXRpYWxpemVyLCBpc1RydXN0ZWQpCiAg
ICAgLCBtX2xlbmd0aENvbXB1dGFibGUoaW5pdGlhbGl6ZXIubGVuZ3RoQ29tcHV0YWJsZSkKICAg
ICAsIG1fbG9hZGVkKGluaXRpYWxpemVyLmxvYWRlZCkKICAgICAsIG1fdG90YWwoaW5pdGlhbGl6
ZXIudG90YWwpCiB7CiB9CiAKLVByb2dyZXNzRXZlbnQ6OlByb2dyZXNzRXZlbnQoZW51bSBFdmVu
dEludGVyZmFjZVR5cGUgZXZlbnRJbnRlcmZhY2UsIGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGJv
b2wgbGVuZ3RoQ29tcHV0YWJsZSwgdW5zaWduZWQgbG9uZyBsb25nIGxvYWRlZCwgdW5zaWduZWQg
bG9uZyBsb25nIHRvdGFsKQotICAgIDogRXZlbnQoZXZlbnRJbnRlcmZhY2UsIHR5cGUsIENhbkJ1
YmJsZTo6Tm8sIElzQ2FuY2VsYWJsZTo6Tm8pCitQcm9ncmVzc0V2ZW50OjpQcm9ncmVzc0V2ZW50
KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGJvb2wgbGVuZ3RoQ29tcHV0YWJsZSwgdW5zaWduZWQg
bG9uZyBsb25nIGxvYWRlZCwgdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsKQorICAgIDogRXZlbnQo
dHlwZSwgQ2FuQnViYmxlOjpObywgSXNDYW5jZWxhYmxlOjpObykKICAgICAsIG1fbGVuZ3RoQ29t
cHV0YWJsZShsZW5ndGhDb21wdXRhYmxlKQogICAgICwgbV9sb2FkZWQobG9hZGVkKQogICAgICwg
bV90b3RhbCh0b3RhbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9ncmVzc0V2
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvZ3Jlc3NFdmVudC5oCmluZGV4IDA3Y2I4OTVk
M2U5Mi4uMGExMDM3ZWY5OGViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvZ3Jl
c3NFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9ncmVzc0V2ZW50LmgKQEAgLTM0
LDcgKzM0LDcgQEAgY2xhc3MgUHJvZ3Jlc3NFdmVudCA6IHB1YmxpYyBFdmVudCB7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFJlZjxQcm9ncmVzc0V2ZW50PiBjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYg
dHlwZSwgYm9vbCBsZW5ndGhDb21wdXRhYmxlLCB1bnNpZ25lZCBsb25nIGxvbmcgbG9hZGVkLCB1
bnNpZ25lZCBsb25nIGxvbmcgdG90YWwpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBQcm9ncmVzc0V2ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6UHJvZ3Jlc3NFdmVudCwgdHlw
ZSwgbGVuZ3RoQ29tcHV0YWJsZSwgbG9hZGVkLCB0b3RhbCkpOworICAgICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBQcm9ncmVzc0V2ZW50KHR5cGUsIGxlbmd0aENvbXB1dGFibGUsIGxvYWRlZCwg
dG90YWwpKTsKICAgICB9CiAKICAgICBzdHJ1Y3QgSW5pdCA6IEV2ZW50SW5pdCB7CkBAIC00NSw3
ICs0NSw3IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBSZWY8UHJvZ3Jlc3NFdmVudD4gY3JlYXRl
KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IEluaXQmIGluaXRpYWxpemVyLCBJc1RydXN0
ZWQgaXNUcnVzdGVkID0gSXNUcnVzdGVkOjpObykKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFByb2dyZXNzRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpQcm9ncmVzc0V2ZW50
LCB0eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFByb2dyZXNzRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIsIGlzVHJ1c3RlZCkpOwogICAg
IH0KIAogICAgIGJvb2wgbGVuZ3RoQ29tcHV0YWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3Ro
Q29tcHV0YWJsZTsgfQpAQCAtNTUsOCArNTUsOCBAQCBwdWJsaWM6CiAgICAgRXZlbnRJbnRlcmZh
Y2UgZXZlbnRJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZTsKIAogcHJvdGVjdGVkOgotICAgIFBy
b2dyZXNzRXZlbnQoZW51bSBFdmVudEludGVyZmFjZVR5cGUsIGNvbnN0IEF0b21TdHJpbmcmIHR5
cGUsIGJvb2wgbGVuZ3RoQ29tcHV0YWJsZSwgdW5zaWduZWQgbG9uZyBsb25nIGxvYWRlZCwgdW5z
aWduZWQgbG9uZyBsb25nIHRvdGFsKTsKLSAgICBQcm9ncmVzc0V2ZW50KGVudW0gRXZlbnRJbnRl
cmZhY2VUeXBlLCBjb25zdCBBdG9tU3RyaW5nJiwgY29uc3QgSW5pdCYsIElzVHJ1c3RlZCk7Cisg
ICAgUHJvZ3Jlc3NFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBib29sIGxlbmd0aENvbXB1
dGFibGUsIHVuc2lnbmVkIGxvbmcgbG9uZyBsb2FkZWQsIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3Rh
bCk7CisgICAgUHJvZ3Jlc3NFdmVudChjb25zdCBBdG9tU3RyaW5nJiwgY29uc3QgSW5pdCYsIElz
VHJ1c3RlZCk7CiAKIHByaXZhdGU6CiAgICAgYm9vbCBtX2xlbmd0aENvbXB1dGFibGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvbWlzZVJlamVjdGlvbkV2ZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Qcm9taXNlUmVqZWN0aW9uRXZlbnQuY3BwCmluZGV4IDJlYzExMDUz
ZDcyYS4uOGMzOTRmZjBkNTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvbWlz
ZVJlamVjdGlvbkV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvbWlzZVJlamVj
dGlvbkV2ZW50LmNwcApAQCAtMzgsNyArMzgsNyBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogV1RG
X01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFByb21pc2VSZWplY3Rpb25FdmVudCk7CiAKIFByb21p
c2VSZWplY3Rpb25FdmVudDo6UHJvbWlzZVJlamVjdGlvbkV2ZW50KGNvbnN0IEF0b21TdHJpbmcm
IHR5cGUsIGNvbnN0IEluaXQmIGluaXRpYWxpemVyLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQotICAg
IDogRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpQcm9taXNlUmVqZWN0aW9uRXZlbnQsIHR5cGUs
IGluaXRpYWxpemVyLCBpc1RydXN0ZWQpCisgICAgOiBFdmVudCh0eXBlLCBpbml0aWFsaXplciwg
aXNUcnVzdGVkKQogICAgICwgbV9wcm9taXNlKCooaW5pdGlhbGl6ZXIucHJvbWlzZSkpCiAgICAg
LCBtX3JlYXNvbihpbml0aWFsaXplci5yZWFzb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vUHNldWRvRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRvRWxl
bWVudC5jcHAKaW5kZXggNWM3YTk5YjJhNTc4Li45ZTg5MTI3NjAyODMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vUHNldWRvRWxlbWVudC5jcHAKQEAgLTg2LDcgKzg2LDcgQEAgYm9vbCBQc2V1ZG9FbGVtZW50
OjpyZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKICAgICAgICAgcmV0
dXJuIHRydWU7CiAKICAgICBpZiAoUmVmUHRyIGVsZW1lbnQgPSBtX2hvc3RFbGVtZW50LmdldCgp
KSB7Ci0gICAgICAgIGlmIChhdXRvKiBzdGFjayA9IGVsZW1lbnQtPmtleWZyYW1lRWZmZWN0U3Rh
Y2soU3R5bGU6OlBzZXVkb0VsZW1lbnRJZGVudGlmaWVyIHsgcHNldWRvSWQoKSB9KSkKKyAgICAg
ICAgaWYgKGF1dG8qIHN0YWNrID0gZWxlbWVudC0+a2V5ZnJhbWVFZmZlY3RTdGFjayhwc2V1ZG9J
ZCgpKSkKICAgICAgICAgICAgIHJldHVybiBzdGFjay0+cmVxdWlyZXNQc2V1ZG9FbGVtZW50KCk7
CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY29wZWRFdmVudFF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY29wZWRFdmVudFF1
ZXVlLmNwcAppbmRleCBmNmVhYzcwNzMwMzMuLjAwNjBlN2YwMmRmZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1Njb3BlZEV2ZW50UXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY29wZWRFdmVudFF1ZXVlLmNwcApAQCAtNTYsNyArNTYsNyBAQCB2b2lkIFNjb3BlZEV2
ZW50UXVldWU6OmVucXVldWVFdmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiAKIHZvaWQgU2NvcGVk
RXZlbnRRdWV1ZTo6ZGlzcGF0Y2hFdmVudChjb25zdCBTY29wZWRFdmVudCYgZXZlbnQpIGNvbnN0
CiB7Ci0gICAgaWYgKGV2ZW50LmV2ZW50LT5pbnRlcmZhY2VUeXBlKCkgPT0gRXZlbnRJbnRlcmZh
Y2VUeXBlOjpNdXRhdGlvbkV2ZW50ICYmIGV2ZW50LnRhcmdldC0+aXNJblNoYWRvd1RyZWUoKSkK
KyAgICBpZiAoZXZlbnQuZXZlbnQtPmV2ZW50SW50ZXJmYWNlKCkgPT0gTXV0YXRpb25FdmVudElu
dGVyZmFjZVR5cGUgJiYgZXZlbnQudGFyZ2V0LT5pc0luU2hhZG93VHJlZSgpKQogICAgICAgICBy
ZXR1cm47CiAgICAgUmVmIHsgZXZlbnQudGFyZ2V0LmdldCgpIH0tPmRpc3BhdGNoRXZlbnQoZXZl
bnQuZXZlbnQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5UG9s
aWN5VmlvbGF0aW9uRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eVBvbGljeVZp
b2xhdGlvbkV2ZW50LmgKaW5kZXggOGI3Mjc0MWQ0MTY5Li5lMTc3NWJlNjM2NTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQuaApAQCAt
NzYsMTIgKzc2LDExIEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBTZWN1cml0eVBvbGljeVZp
b2xhdGlvbkV2ZW50KCkKLSAgICAgICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6OlNlY3Vy
aXR5UG9saWN5VmlvbGF0aW9uRXZlbnQpCiAgICAgewogICAgIH0KIAogICAgIFNlY3VyaXR5UG9s
aWN5VmlvbGF0aW9uRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgSW5pdCYgaW5p
dGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0ZWQpCi0gICAgICAgIDogRXZlbnQoRXZlbnRJbnRl
cmZhY2VUeXBlOjpTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50LCB0eXBlLCBpbml0aWFsaXpl
ciwgaXNUcnVzdGVkKQorICAgICAgICA6IEV2ZW50KHR5cGUsIGluaXRpYWxpemVyLCBpc1RydXN0
ZWQpCiAgICAgICAgICwgbV9kb2N1bWVudFVSSShpbml0aWFsaXplci5kb2N1bWVudFVSSSkKICAg
ICAgICAgLCBtX3JlZmVycmVyKGluaXRpYWxpemVyLnJlZmVycmVyKQogICAgICAgICAsIG1fYmxv
Y2tlZFVSSShpbml0aWFsaXplci5ibG9ja2VkVVJJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1NpbXVsYXRlZENsaWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaW11bGF0ZWRD
bGljay5jcHAKaW5kZXggZmVhZjRjNjc0M2VmLi40NjUwY2RkOTMwNjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TaW11bGF0ZWRDbGljay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NpbXVsYXRlZENsaWNrLmNwcApAQCAtNDgsNyArNDgsNyBAQCBwdWJsaWM6CiAKIHByaXZh
dGU6CiAgICAgU2ltdWxhdGVkTW91c2VFdmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUs
IFJlZlB0cjxXaW5kb3dQcm94eT4mJiB2aWV3LCBSZWZQdHI8RXZlbnQ+JiYgdW5kZXJseWluZ0V2
ZW50LCBFbGVtZW50JiB0YXJnZXQsIFNpbXVsYXRlZENsaWNrU291cmNlIHNvdXJjZSkKLSAgICAg
ICAgOiBNb3VzZUV2ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6TW91c2VFdmVudCwgZXZlbnRUeXBl
LCBDYW5CdWJibGU6OlllcywgSXNDYW5jZWxhYmxlOjpZZXMsIElzQ29tcG9zZWQ6OlllcywKKyAg
ICAgICAgOiBNb3VzZUV2ZW50KGV2ZW50VHlwZSwgQ2FuQnViYmxlOjpZZXMsIElzQ2FuY2VsYWJs
ZTo6WWVzLCBJc0NvbXBvc2VkOjpZZXMsCiAgICAgICAgICAgICB1bmRlcmx5aW5nRXZlbnQgPyB1
bmRlcmx5aW5nRXZlbnQtPnRpbWVTdGFtcCgpIDogTW9ub3RvbmljVGltZTo6bm93KCksIFdURk1v
dmUodmlldyksIC8qIGRldGFpbCAqLyAwLAogICAgICAgICAgICAgeyB9LCB7IH0sIDAsIDAsIG1v
ZGlmaWVyc0Zyb21VbmRlcmx5aW5nRXZlbnQodW5kZXJseWluZ0V2ZW50KSwgTW91c2VCdXR0b246
OkxlZnQsIDAsIG51bGxwdHIsIDAsIFN5bnRoZXRpY0NsaWNrVHlwZTo6Tm9UYXAsIElzU2ltdWxh
dGVkOjpZZXMsCiAgICAgICAgICAgICBzb3VyY2UgPT0gU2ltdWxhdGVkQ2xpY2tTb3VyY2U6OlVz
ZXJBZ2VudCA/IElzVHJ1c3RlZDo6WWVzIDogSXNUcnVzdGVkOjpObykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9UZXh0RXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1RleHRF
dmVudC5jcHAKaW5kZXggOTQwMjcyMDg4ZmNiLi5mOTI4YTQ0YzgxYzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9UZXh0RXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9U
ZXh0RXZlbnQuY3BwCkBAIC02Nyw3ICs2Nyw3IEBAIFJlZjxUZXh0RXZlbnQ+IFRleHRFdmVudDo6
Y3JlYXRlRm9yRGljdGF0aW9uKFJlZlB0cjxXaW5kb3dQcm94eT4mJiB2aWV3LCBjb25zdCBTCiB9
CiAKIFRleHRFdmVudDo6VGV4dEV2ZW50KCkKLSAgICA6IFVJRXZlbnQoRXZlbnRJbnRlcmZhY2VU
eXBlOjpUZXh0RXZlbnQpCisgICAgOiBtX2lucHV0VHlwZShUZXh0RXZlbnRJbnB1dEtleWJvYXJk
KQogICAgICwgbV9zaG91bGRTbWFydFJlcGxhY2UoZmFsc2UpCiAgICAgLCBtX3Nob3VsZE1hdGNo
U3R5bGUoZmFsc2UpCiAgICAgLCBtX21haWxCbG9ja3F1b3RlSGFuZGxpbmcoTWFpbEJsb2NrcXVv
dGVIYW5kbGluZzo6UmVzcGVjdEJsb2NrcXVvdGUpCkBAIC03NSw3ICs3NSw3IEBAIFRleHRFdmVu
dDo6VGV4dEV2ZW50KCkKIH0KIAogVGV4dEV2ZW50OjpUZXh0RXZlbnQoUmVmUHRyPFdpbmRvd1By
b3h5PiYmIHZpZXcsIGNvbnN0IFN0cmluZyYgZGF0YSwgVGV4dEV2ZW50SW5wdXRUeXBlIGlucHV0
VHlwZSkKLSAgICA6IFVJRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpUZXh0RXZlbnQsIGV2ZW50
TmFtZXMoKS50ZXh0SW5wdXRFdmVudCwgQ2FuQnViYmxlOjpZZXMsIElzQ2FuY2VsYWJsZTo6WWVz
LCBJc0NvbXBvc2VkOjpZZXMsIFdURk1vdmUodmlldyksIDApCisgICAgOiBVSUV2ZW50KGV2ZW50
TmFtZXMoKS50ZXh0SW5wdXRFdmVudCwgQ2FuQnViYmxlOjpZZXMsIElzQ2FuY2VsYWJsZTo6WWVz
LCBJc0NvbXBvc2VkOjpZZXMsIFdURk1vdmUodmlldyksIDApCiAgICAgLCBtX2lucHV0VHlwZShp
bnB1dFR5cGUpCiAgICAgLCBtX2RhdGEoZGF0YSkKICAgICAsIG1fc2hvdWxkU21hcnRSZXBsYWNl
KGZhbHNlKQpAQCAtODUsNyArODUsNyBAQCBUZXh0RXZlbnQ6OlRleHRFdmVudChSZWZQdHI8V2lu
ZG93UHJveHk+JiYgdmlldywgY29uc3QgU3RyaW5nJiBkYXRhLCBUZXh0RXZlbnRJbgogfQogCiBU
ZXh0RXZlbnQ6OlRleHRFdmVudChSZWZQdHI8V2luZG93UHJveHk+JiYgdmlldywgY29uc3QgU3Ry
aW5nJiBkYXRhLCBSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4mJiBwYXN0aW5nRnJhZ21lbnQsIFRl
eHRFdmVudElucHV0VHlwZSBpbnB1dFR5cGUsIGJvb2wgc2hvdWxkU21hcnRSZXBsYWNlLCBib29s
IHNob3VsZE1hdGNoU3R5bGUsIE1haWxCbG9ja3F1b3RlSGFuZGxpbmcgbWFpbEJsb2NrcXVvdGVI
YW5kbGluZykKLSAgICA6IFVJRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpUZXh0RXZlbnQsIGV2
ZW50TmFtZXMoKS50ZXh0SW5wdXRFdmVudCwgQ2FuQnViYmxlOjpZZXMsIElzQ2FuY2VsYWJsZTo6
WWVzLCBJc0NvbXBvc2VkOjpZZXMsIFdURk1vdmUodmlldyksIDApCisgICAgOiBVSUV2ZW50KGV2
ZW50TmFtZXMoKS50ZXh0SW5wdXRFdmVudCwgQ2FuQnViYmxlOjpZZXMsIElzQ2FuY2VsYWJsZTo6
WWVzLCBJc0NvbXBvc2VkOjpZZXMsIFdURk1vdmUodmlldyksIDApCiAgICAgLCBtX2lucHV0VHlw
ZShpbnB1dFR5cGUpCiAgICAgLCBtX2RhdGEoZGF0YSkKICAgICAsIG1fcGFzdGluZ0ZyYWdtZW50
KFdURk1vdmUocGFzdGluZ0ZyYWdtZW50KSkKQEAgLTk2LDcgKzk2LDcgQEAgVGV4dEV2ZW50OjpU
ZXh0RXZlbnQoUmVmUHRyPFdpbmRvd1Byb3h5PiYmIHZpZXcsIGNvbnN0IFN0cmluZyYgZGF0YSwg
UmVmUHRyPERvY3UKIH0KIAogVGV4dEV2ZW50OjpUZXh0RXZlbnQoUmVmUHRyPFdpbmRvd1Byb3h5
PiYmIHZpZXcsIGNvbnN0IFN0cmluZyYgZGF0YSwgY29uc3QgVmVjdG9yPERpY3RhdGlvbkFsdGVy
bmF0aXZlPiYgZGljdGF0aW9uQWx0ZXJuYXRpdmVzKQotICAgIDogVUlFdmVudChFdmVudEludGVy
ZmFjZVR5cGU6OlRleHRFdmVudCwgZXZlbnROYW1lcygpLnRleHRJbnB1dEV2ZW50LCBDYW5CdWJi
bGU6OlllcywgSXNDYW5jZWxhYmxlOjpZZXMsIElzQ29tcG9zZWQ6OlllcywgV1RGTW92ZSh2aWV3
KSwgMCkKKyAgICA6IFVJRXZlbnQoZXZlbnROYW1lcygpLnRleHRJbnB1dEV2ZW50LCBDYW5CdWJi
bGU6OlllcywgSXNDYW5jZWxhYmxlOjpZZXMsIElzQ29tcG9zZWQ6OlllcywgV1RGTW92ZSh2aWV3
KSwgMCkKICAgICAsIG1faW5wdXRUeXBlKFRleHRFdmVudElucHV0RGljdGF0aW9uKQogICAgICwg
bV9kYXRhKGRhdGEpCiAgICAgLCBtX3Nob3VsZFNtYXJ0UmVwbGFjZShmYWxzZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ub2dnbGVFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vVG9nZ2xlRXZlbnQuY3BwCmluZGV4IGUyNTBlYTJkYWJlOC4uYzg1NWNiMDAwNWUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVG9nZ2xlRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ub2dnbGVFdmVudC5jcHAKQEAgLTMyLDIwICszMiwxNSBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChUb2dnbGVFdmVudCk7CiAK
LVRvZ2dsZUV2ZW50OjpUb2dnbGVFdmVudCgpCi0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5
cGU6OlRvZ2dsZUV2ZW50KQotewotfQotCiBUb2dnbGVFdmVudDo6VG9nZ2xlRXZlbnQoY29uc3Qg
QXRvbVN0cmluZyYgdHlwZSwgY29uc3QgVG9nZ2xlRXZlbnQ6OkluaXQmIGluaXRpYWxpemVyLCBF
dmVudDo6SXNDYW5jZWxhYmxlIGNhbmNlbGFibGUpCi0gICAgOiBFdmVudChFdmVudEludGVyZmFj
ZVR5cGU6OlRvZ2dsZUV2ZW50LCB0eXBlLCBFdmVudDo6Q2FuQnViYmxlOjpObywgY2FuY2VsYWJs
ZSwgRXZlbnQ6OklzQ29tcG9zZWQ6Ok5vKQorICAgIDogRXZlbnQodHlwZSwgRXZlbnQ6OkNhbkJ1
YmJsZTo6Tm8sIGNhbmNlbGFibGUsIEV2ZW50OjpJc0NvbXBvc2VkOjpObykKICAgICAsIG1fb2xk
U3RhdGUoaW5pdGlhbGl6ZXIub2xkU3RhdGUpCiAgICAgLCBtX25ld1N0YXRlKGluaXRpYWxpemVy
Lm5ld1N0YXRlKQogewogfQogCiBUb2dnbGVFdmVudDo6VG9nZ2xlRXZlbnQoY29uc3QgQXRvbVN0
cmluZyYgdHlwZSwgY29uc3QgVG9nZ2xlRXZlbnQ6OkluaXQmIGluaXRpYWxpemVyKQotICAgIDog
RXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpUb2dnbGVFdmVudCwgdHlwZSwgaW5pdGlhbGl6ZXIs
IElzVHJ1c3RlZDo6Tm8pCisgICAgOiBFdmVudCh0eXBlLCBpbml0aWFsaXplciwgSXNUcnVzdGVk
OjpObykKICAgICAsIG1fb2xkU3RhdGUoaW5pdGlhbGl6ZXIub2xkU3RhdGUpCiAgICAgLCBtX25l
d1N0YXRlKGluaXRpYWxpemVyLm5ld1N0YXRlKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1RvZ2dsZUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVG9nZ2xlRXZlbnQuaApp
bmRleCA4ZDM5ZmFmMGJjMjYuLjBlODNkYjgzY2E0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL1RvZ2dsZUV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1RvZ2dsZUV2ZW50
LmgKQEAgLTQ2LDcgKzQ2LDcgQEAgcHVibGljOgogICAgIFN0cmluZyBuZXdTdGF0ZSgpIGNvbnN0
IHsgcmV0dXJuIG1fbmV3U3RhdGU7IH0KIAogcHJpdmF0ZToKLSAgICBUb2dnbGVFdmVudCgpOwor
ICAgIFRvZ2dsZUV2ZW50KCkgPSBkZWZhdWx0OwogICAgIFRvZ2dsZUV2ZW50KGNvbnN0IEF0b21T
dHJpbmcmLCBjb25zdCBJbml0JiwgRXZlbnQ6OklzQ2FuY2VsYWJsZSk7CiAgICAgVG9nZ2xlRXZl
bnQoY29uc3QgQXRvbVN0cmluZyYsIGNvbnN0IEluaXQmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL1VJRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuY3Bw
CmluZGV4IDA1NjQ5Y2EwZTk0Ni4uY2U1MzA3ZTAxNzdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vVUlFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuY3Bw
CkBAIC0zMSwyOCArMzEsMjcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAogV1RGX01BS0Vf
SVNPX0FMTE9DQVRFRF9JTVBMKFVJRXZlbnQpOwogCi1VSUV2ZW50OjpVSUV2ZW50KGVudW0gRXZl
bnRJbnRlcmZhY2VUeXBlIGV2ZW50SW50ZXJmYWNlKQotICAgIDogRXZlbnQoZXZlbnRJbnRlcmZh
Y2UpCi0gICAgLCBtX2RldGFpbCgwKQorVUlFdmVudDo6VUlFdmVudCgpCisgICAgOiBtX2RldGFp
bCgwKQogewogfQogCi1VSUV2ZW50OjpVSUV2ZW50KGVudW0gRXZlbnRJbnRlcmZhY2VUeXBlIGV2
ZW50SW50ZXJmYWNlLCBjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIENhbkJ1YmJsZSBjYW5C
dWJibGUsIElzQ2FuY2VsYWJsZSBpc0NhbmNlbGFibGUsIElzQ29tcG9zZWQgaXNDb21wb3NlZCwg
UmVmUHRyPFdpbmRvd1Byb3h5PiYmIHZpZXdBcmcsIGludCBkZXRhaWxBcmcpCi0gICAgOiBFdmVu
dChldmVudEludGVyZmFjZSwgZXZlbnRUeXBlLCBjYW5CdWJibGUsIGlzQ2FuY2VsYWJsZSwgaXND
b21wb3NlZCkKK1VJRXZlbnQ6OlVJRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBD
YW5CdWJibGUgY2FuQnViYmxlLCBJc0NhbmNlbGFibGUgaXNDYW5jZWxhYmxlLCBJc0NvbXBvc2Vk
IGlzQ29tcG9zZWQsIFJlZlB0cjxXaW5kb3dQcm94eT4mJiB2aWV3QXJnLCBpbnQgZGV0YWlsQXJn
KQorICAgIDogRXZlbnQoZXZlbnRUeXBlLCBjYW5CdWJibGUsIGlzQ2FuY2VsYWJsZSwgaXNDb21w
b3NlZCkKICAgICAsIG1fdmlldyhXVEZNb3ZlKHZpZXdBcmcpKQogICAgICwgbV9kZXRhaWwoZGV0
YWlsQXJnKQogewogfQogCi1VSUV2ZW50OjpVSUV2ZW50KGVudW0gRXZlbnRJbnRlcmZhY2VUeXBl
IGV2ZW50SW50ZXJmYWNlLCBjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIENhbkJ1YmJsZSBj
YW5CdWJibGUsIElzQ2FuY2VsYWJsZSBpc0NhbmNlbGFibGUsIElzQ29tcG9zZWQgaXNDb21wb3Nl
ZCwgTW9ub3RvbmljVGltZSB0aW1lc3RhbXAsIFJlZlB0cjxXaW5kb3dQcm94eT4mJiB2aWV3QXJn
LCBpbnQgZGV0YWlsQXJnLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQotICAgIDogRXZlbnQoZXZlbnRJ
bnRlcmZhY2UsIGV2ZW50VHlwZSwgY2FuQnViYmxlLCBpc0NhbmNlbGFibGUsIGlzQ29tcG9zZWQs
IHRpbWVzdGFtcCwgaXNUcnVzdGVkKQorVUlFdmVudDo6VUlFdmVudChjb25zdCBBdG9tU3RyaW5n
JiBldmVudFR5cGUsIENhbkJ1YmJsZSBjYW5CdWJibGUsIElzQ2FuY2VsYWJsZSBpc0NhbmNlbGFi
bGUsIElzQ29tcG9zZWQgaXNDb21wb3NlZCwgTW9ub3RvbmljVGltZSB0aW1lc3RhbXAsIFJlZlB0
cjxXaW5kb3dQcm94eT4mJiB2aWV3QXJnLCBpbnQgZGV0YWlsQXJnLCBJc1RydXN0ZWQgaXNUcnVz
dGVkKQorICAgIDogRXZlbnQoZXZlbnRUeXBlLCBjYW5CdWJibGUsIGlzQ2FuY2VsYWJsZSwgaXND
b21wb3NlZCwgdGltZXN0YW1wLCBpc1RydXN0ZWQpCiAgICAgLCBtX3ZpZXcoV1RGTW92ZSh2aWV3
QXJnKSkKICAgICAsIG1fZGV0YWlsKGRldGFpbEFyZykKIHsKIH0KIAotVUlFdmVudDo6VUlFdmVu
dChlbnVtIEV2ZW50SW50ZXJmYWNlVHlwZSBldmVudEludGVyZmFjZSwgY29uc3QgQXRvbVN0cmlu
ZyYgZXZlbnRUeXBlLCBjb25zdCBVSUV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBp
c1RydXN0ZWQpCi0gICAgOiBFdmVudChldmVudEludGVyZmFjZSwgZXZlbnRUeXBlLCBpbml0aWFs
aXplciwgaXNUcnVzdGVkKQorVUlFdmVudDo6VUlFdmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVu
dFR5cGUsIGNvbnN0IFVJRXZlbnRJbml0JiBpbml0aWFsaXplciwgSXNUcnVzdGVkIGlzVHJ1c3Rl
ZCkKKyAgICA6IEV2ZW50KGV2ZW50VHlwZSwgaW5pdGlhbGl6ZXIsIGlzVHJ1c3RlZCkKICAgICAs
IG1fdmlldyhpbml0aWFsaXplci52aWV3LmdldCgpKQogICAgICwgbV9kZXRhaWwoaW5pdGlhbGl6
ZXIuZGV0YWlsKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9VSUV2ZW50LmgKaW5kZXggMTUzMjZmYzVjMWYwLi42NzdmNDI2
NjcwMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9VSUV2ZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuaApAQCAtMzgsMTUgKzM4LDE1IEBAIGNsYXNzIFVJRXZl
bnQgOiBwdWJsaWMgRXZlbnQgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8VUlFdmVudD4gY3Jl
YXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIENhbkJ1YmJsZSBjYW5CdWJibGUsIElzQ2FuY2Vs
YWJsZSBpc0NhbmNlbGFibGUsIElzQ29tcG9zZWQgaXNDb21wb3NlZCwgUmVmUHRyPFdpbmRvd1By
b3h5PiYmIHZpZXcsIGludCBkZXRhaWwpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBVSUV2ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6VUlFdmVudCwgdHlwZSwgY2FuQnViYmxl
LCBpc0NhbmNlbGFibGUsIGlzQ29tcG9zZWQsIFdURk1vdmUodmlldyksIGRldGFpbCkpOworICAg
ICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBVSUV2ZW50KHR5cGUsIGNhbkJ1YmJsZSwgaXNDYW5j
ZWxhYmxlLCBpc0NvbXBvc2VkLCBXVEZNb3ZlKHZpZXcpLCBkZXRhaWwpKTsKICAgICB9CiAgICAg
c3RhdGljIFJlZjxVSUV2ZW50PiBjcmVhdGVGb3JCaW5kaW5ncygpCiAgICAgewotICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBVSUV2ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6VUlFdmVudCkp
OworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBVSUV2ZW50KTsKICAgICB9CiAgICAgc3Rh
dGljIFJlZjxVSUV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgVUlF
dmVudEluaXQmIGluaXRpYWxpemVyLCBJc1RydXN0ZWQgPSBJc1RydXN0ZWQ6Ok5vKQogICAgIHsK
LSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVUlFdmVudChFdmVudEludGVyZmFjZVR5cGU6
OlVJRXZlbnQsIHR5cGUsIGluaXRpYWxpemVyKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFVJRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIpKTsKICAgICB9CiAgICAgdmlydHVhbCB+VUlF
dmVudCgpOwogCkBAIC02NiwxMSArNjYsMTEgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdW5zaWdu
ZWQgd2hpY2goKSBjb25zdDsKIAogcHJvdGVjdGVkOgotICAgIFVJRXZlbnQoZW51bSBFdmVudElu
dGVyZmFjZVR5cGUpOworICAgIFVJRXZlbnQoKTsKIAotICAgIFVJRXZlbnQoZW51bSBFdmVudElu
dGVyZmFjZVR5cGUsIGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIENhbkJ1YmJsZSwgSXNDYW5jZWxh
YmxlLCBJc0NvbXBvc2VkLCBSZWZQdHI8V2luZG93UHJveHk+JiYsIGludCBkZXRhaWwpOwotICAg
IFVJRXZlbnQoZW51bSBFdmVudEludGVyZmFjZVR5cGUsIGNvbnN0IEF0b21TdHJpbmcmIHR5cGUs
IENhbkJ1YmJsZSwgSXNDYW5jZWxhYmxlLCBJc0NvbXBvc2VkLCBNb25vdG9uaWNUaW1lIHRpbWVz
dGFtcCwgUmVmUHRyPFdpbmRvd1Byb3h5PiYmLCBpbnQgZGV0YWlsLCBJc1RydXN0ZWQgPSBJc1Ry
dXN0ZWQ6Olllcyk7Ci0gICAgVUlFdmVudChlbnVtIEV2ZW50SW50ZXJmYWNlVHlwZSwgY29uc3Qg
QXRvbVN0cmluZyYsIGNvbnN0IFVJRXZlbnRJbml0JiwgSXNUcnVzdGVkID0gSXNUcnVzdGVkOjpO
byk7CisgICAgVUlFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBDYW5CdWJibGUsIElzQ2Fu
Y2VsYWJsZSwgSXNDb21wb3NlZCwgUmVmUHRyPFdpbmRvd1Byb3h5PiYmLCBpbnQgZGV0YWlsKTsK
KyAgICBVSUV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIENhbkJ1YmJsZSwgSXNDYW5jZWxh
YmxlLCBJc0NvbXBvc2VkLCBNb25vdG9uaWNUaW1lIHRpbWVzdGFtcCwgUmVmUHRyPFdpbmRvd1By
b3h5PiYmLCBpbnQgZGV0YWlsLCBJc1RydXN0ZWQgPSBJc1RydXN0ZWQ6Olllcyk7CisgICAgVUlF
dmVudChjb25zdCBBdG9tU3RyaW5nJiwgY29uc3QgVUlFdmVudEluaXQmLCBJc1RydXN0ZWQgPSBJ
c1RydXN0ZWQ6Ok5vKTsKIAogcHJpdmF0ZToKICAgICBib29sIGlzVUlFdmVudCgpIGNvbnN0IGZp
bmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnRXaXRoS2V5U3RhdGUu
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9VSUV2ZW50V2l0aEtleVN0YXRlLmgKaW5kZXggYTkxMDMx
Njg1OGQwLi44NzUxOTExODA1ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9VSUV2
ZW50V2l0aEtleVN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnRXaXRoS2V5
U3RhdGUuaApAQCAtNDUsMjcgKzQ1LDI0IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBi
b29sIGdldE1vZGlmaWVyU3RhdGUoY29uc3QgU3RyaW5nJiBrZXlJZGVudGlmaWVyKSBjb25zdDsK
IAogcHJvdGVjdGVkOgotICAgIFVJRXZlbnRXaXRoS2V5U3RhdGUoZW51bSBFdmVudEludGVyZmFj
ZVR5cGUgZXZlbnRJbnRlcmZhY2UpCi0gICAgICAgIDogVUlFdmVudChldmVudEludGVyZmFjZSkK
LSAgICB7Ci0gICAgfQorICAgIFVJRXZlbnRXaXRoS2V5U3RhdGUoKSA9IGRlZmF1bHQ7CiAKLSAg
ICBVSUV2ZW50V2l0aEtleVN0YXRlKGVudW0gRXZlbnRJbnRlcmZhY2VUeXBlIGV2ZW50SW50ZXJm
YWNlLCBjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBDYW5CdWJibGUgY2FuQnViYmxlLCBJc0NhbmNl
bGFibGUgY2FuY2VsYWJsZSwgSXNDb21wb3NlZCBpc0NvbXBvc2VkLAorICAgIFVJRXZlbnRXaXRo
S2V5U3RhdGUoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgQ2FuQnViYmxlIGNhbkJ1YmJsZSwgSXND
YW5jZWxhYmxlIGNhbmNlbGFibGUsIElzQ29tcG9zZWQgaXNDb21wb3NlZCwKICAgICAgICAgUmVm
UHRyPFdpbmRvd1Byb3h5PiYmIHZpZXcsIGludCBkZXRhaWwsIE9wdGlvblNldDxNb2RpZmllcj4g
bW9kaWZpZXJzKQotICAgICAgICA6IFVJRXZlbnQoZXZlbnRJbnRlcmZhY2UsIHR5cGUsIGNhbkJ1
YmJsZSwgY2FuY2VsYWJsZSwgaXNDb21wb3NlZCwgV1RGTW92ZSh2aWV3KSwgZGV0YWlsKQorICAg
ICAgICA6IFVJRXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlLCBpc0NvbXBvc2VkLCBX
VEZNb3ZlKHZpZXcpLCBkZXRhaWwpCiAgICAgICAgICwgbV9tb2RpZmllcnMobW9kaWZpZXJzKQog
ICAgIHsKICAgICB9CiAKLSAgICBVSUV2ZW50V2l0aEtleVN0YXRlKGVudW0gRXZlbnRJbnRlcmZh
Y2VUeXBlIGV2ZW50SW50ZXJmYWNlLCBjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBDYW5CdWJibGUg
Y2FuQnViYmxlLCBJc0NhbmNlbGFibGUgY2FuY2VsYWJsZSwgSXNDb21wb3NlZCBpc0NvbXBvc2Vk
LAorICAgIFVJRXZlbnRXaXRoS2V5U3RhdGUoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgQ2FuQnVi
YmxlIGNhbkJ1YmJsZSwgSXNDYW5jZWxhYmxlIGNhbmNlbGFibGUsIElzQ29tcG9zZWQgaXNDb21w
b3NlZCwKICAgICAgICAgTW9ub3RvbmljVGltZSB0aW1lc3RhbXAsIFJlZlB0cjxXaW5kb3dQcm94
eT4mJiB2aWV3LCBpbnQgZGV0YWlsLCBPcHRpb25TZXQ8TW9kaWZpZXI+IG1vZGlmaWVycywgSXNU
cnVzdGVkIGlzVHJ1c3RlZCkKLSAgICAgICAgOiBVSUV2ZW50KGV2ZW50SW50ZXJmYWNlLCB0eXBl
LCBjYW5CdWJibGUsIGNhbmNlbGFibGUsIGlzQ29tcG9zZWQsIHRpbWVzdGFtcCwgV1RGTW92ZSh2
aWV3KSwgZGV0YWlsLCBpc1RydXN0ZWQpCisgICAgICAgIDogVUlFdmVudCh0eXBlLCBjYW5CdWJi
bGUsIGNhbmNlbGFibGUsIGlzQ29tcG9zZWQsIHRpbWVzdGFtcCwgV1RGTW92ZSh2aWV3KSwgZGV0
YWlsLCBpc1RydXN0ZWQpCiAgICAgICAgICwgbV9tb2RpZmllcnMobW9kaWZpZXJzKQogICAgIHsK
ICAgICB9CiAKLSAgICBVSUV2ZW50V2l0aEtleVN0YXRlKGVudW0gRXZlbnRJbnRlcmZhY2VUeXBl
IGV2ZW50SW50ZXJmYWNlLCBjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBFdmVudE1vZGlm
aWVySW5pdCYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0ZWQgPSBJc1RydXN0ZWQ6Ok5v
KQotICAgICAgICA6IFVJRXZlbnQoZXZlbnRJbnRlcmZhY2UsIHR5cGUsIGluaXRpYWxpemVyLCBp
c1RydXN0ZWQpCisgICAgVUlFdmVudFdpdGhLZXlTdGF0ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBl
LCBjb25zdCBFdmVudE1vZGlmaWVySW5pdCYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0
ZWQgPSBJc1RydXN0ZWQ6Ok5vKQorICAgICAgICA6IFVJRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIs
IGlzVHJ1c3RlZCkKICAgICAgICAgLCBtX21vZGlmaWVycyhtb2RpZmllcnNGcm9tSW5pdGlhbGl6
ZXIoaW5pdGlhbGl6ZXIpKQogICAgIHsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vVmlld1RyYW5zaXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdUcmFuc2l0
aW9uLmNwcAppbmRleCBlOWVkNjkwNTM0YmYuLmZjM2QyYjU0NDUzMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1ZpZXdUcmFuc2l0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vVmlld1RyYW5zaXRpb24uY3BwCkBAIC0yNiwxOCArMjYsMTAgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJWaWV3VHJhbnNpdGlvbi5oIgogCi0jaW5jbHVkZSAiQ1NTVHJhbnNm
b3JtTGlzdFZhbHVlLmgiCiAjaW5jbHVkZSAiQ2hlY2tWaXNpYmlsaXR5T3B0aW9ucy5oIgotI2lu
Y2x1ZGUgIkNvbXB1dGVkU3R5bGVFeHRyYWN0b3IuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgot
I2luY2x1ZGUgIkZyYW1lU25hcHNob3R0aW5nLmgiCiAjaW5jbHVkZSAiSlNET01Qcm9taXNlLmgi
CiAjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKLSNpbmNsdWRlICJQc2V1ZG9FbGVt
ZW50UmVxdWVzdC5oIgotI2luY2x1ZGUgIlJlbmRlckJveC5oIgotI2luY2x1ZGUgIlN0eWxlUmVz
b2x2ZXIuaCIKLSNpbmNsdWRlICJTdHlsZVNjb3BlLmgiCi0jaW5jbHVkZSAiU3R5bGVhYmxlLmgi
CiAjaW5jbHVkZSAiVHlwZWRFbGVtZW50RGVzY2VuZGFudEl0ZXJhdG9ySW5saW5lcy5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yNzksMTggKzI3MSw4IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+
IFZpZXdUcmFuc2l0aW9uOjpjYXB0dXJlT2xkU3RhdGUoKQogICAgIGZvciAoYXV0byYgZWxlbWVu
dCA6IGNhcHR1cmVFbGVtZW50cykgewogICAgICAgICAvLyBGSVhNRTogRmlsbCBpbiB0aGUgcmVz
dCBvZiBDYXB0dXJlZEVsZW1lbnQuCiAgICAgICAgIENhcHR1cmVkRWxlbWVudCBjYXB0dXJlOwot
Ci0gICAgICAgIENoZWNrZWRQdHIgcmVuZGVyQm94ID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlckJv
eD4oZWxlbWVudC0+cmVuZGVyZXIoKSk7Ci0gICAgICAgIGlmIChyZW5kZXJCb3gpCi0gICAgICAg
ICAgICBjYXB0dXJlLm9sZFNpemUgPSByZW5kZXJCb3gtPnNpemUoKTsKLSAgICAgICAgY2FwdHVy
ZS5vbGRQcm9wZXJ0aWVzID0gY29weUVsZW1lbnRCYXNlUHJvcGVydGllcyhlbGVtZW50LmdldCgp
KTsKLSAgICAgICAgaWYgKG1fZG9jdW1lbnQtPmZyYW1lKCkpCi0gICAgICAgICAgICBjYXB0dXJl
Lm9sZEltYWdlID0gc25hcHNob3ROb2RlKCptX2RvY3VtZW50LT5mcmFtZSgpLCBlbGVtZW50Lmdl
dCgpLCB7IHsgfSwgUGl4ZWxGb3JtYXQ6OkJHUkE4LCBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6OlNS
R0IoKSB9KTsKLQogICAgICAgICBhdXRvIHRyYW5zaXRpb25OYW1lID0gZWxlbWVudC0+Y29tcHV0
ZWRTdHlsZSgpLT52aWV3VHJhbnNpdGlvbk5hbWUoKTsKICAgICAgICAgbV9uYW1lZEVsZW1lbnRz
LmFkZCh0cmFuc2l0aW9uTmFtZS0+bmFtZSwgY2FwdHVyZSk7Ci0KLSAgICAgICAgZWxlbWVudC0+
aW52YWxpZGF0ZVN0eWxlQW5kTGF5ZXJDb21wb3NpdGlvbigpOwogICAgIH0KICAgICByZXR1cm4g
eyB9OwogfQpAQCAtMzU2LDIzICszMzgsOSBAQCB2b2lkIFZpZXdUcmFuc2l0aW9uOjphY3RpdmF0
ZVZpZXdUcmFuc2l0aW9uKCkKIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3Mtdmlldy10
cmFuc2l0aW9ucy8jaGFuZGxlLXRyYW5zaXRpb24tZnJhbWUtYWxnb3JpdGhtCiB2b2lkIFZpZXdU
cmFuc2l0aW9uOjpoYW5kbGVUcmFuc2l0aW9uRnJhbWUoKQogewotICAgIGlmICghbV9kb2N1bWVu
dCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgUmVmUHRyIGRvY3VtZW50RWxlbWVudCA9IG1fZG9j
dW1lbnQtPmRvY3VtZW50RWxlbWVudCgpOwotICAgIGlmICghZG9jdW1lbnRFbGVtZW50KQotICAg
ICAgICByZXR1cm47CisgICAgYm9vbCBoYXNBY3RpdmVBbmltYXRpb25zID0gZmFsc2U7CiAKLSAg
ICBib29sIGhhc0FjdGl2ZUFuaW1hdGlvbnMgPSBkb2N1bWVudEVsZW1lbnQtPmhhc0tleWZyYW1l
RWZmZWN0cyhTdHlsZTo6UHNldWRvRWxlbWVudElkZW50aWZpZXIgeyBQc2V1ZG9JZDo6Vmlld1Ry
YW5zaXRpb24gfSk7Ci0KLSAgICBmb3IgKGF1dG8mIG5hbWUgOiBuYW1lZEVsZW1lbnRzKCkua2V5
cygpKSB7Ci0gICAgICAgIGlmIChoYXNBY3RpdmVBbmltYXRpb25zKQotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGhhc0FjdGl2ZUFuaW1hdGlvbnMgPSBkb2N1bWVudEVsZW1lbnQtPmhhc0tl
eWZyYW1lRWZmZWN0cyhTdHlsZTo6UHNldWRvRWxlbWVudElkZW50aWZpZXIgeyBQc2V1ZG9JZDo6
Vmlld1RyYW5zaXRpb25Hcm91cCwgbmFtZSB9KQotICAgICAgICAgICAgfHwgZG9jdW1lbnRFbGVt
ZW50LT5oYXNLZXlmcmFtZUVmZmVjdHMoU3R5bGU6OlBzZXVkb0VsZW1lbnRJZGVudGlmaWVyIHsg
UHNldWRvSWQ6OlZpZXdUcmFuc2l0aW9uSW1hZ2VQYWlyLCBuYW1lIH0pCi0gICAgICAgICAgICB8
fCBkb2N1bWVudEVsZW1lbnQtPmhhc0tleWZyYW1lRWZmZWN0cyhTdHlsZTo6UHNldWRvRWxlbWVu
dElkZW50aWZpZXIgeyBQc2V1ZG9JZDo6Vmlld1RyYW5zaXRpb25OZXcsIG5hbWUgfSkKLSAgICAg
ICAgICAgIHx8IGRvY3VtZW50RWxlbWVudC0+aGFzS2V5ZnJhbWVFZmZlY3RzKFN0eWxlOjpQc2V1
ZG9FbGVtZW50SWRlbnRpZmllciB7IFBzZXVkb0lkOjpWaWV3VHJhbnNpdGlvbk9sZCwgbmFtZSB9
KTsKLSAgICB9CisgICAgLy8gRklYTUU6IEFjdHVhbGx5IHF1ZXJ5IHRoZSBhbmltYXRpb24gc3Rh
dGUuCiAKICAgICBpZiAoIWhhc0FjdGl2ZUFuaW1hdGlvbnMpIHsKICAgICAgICAgbV9waGFzZSA9
IFZpZXdUcmFuc2l0aW9uUGhhc2U6OkRvbmU7CkBAIC0zODEsNyArMzQ5LDcgQEAgdm9pZCBWaWV3
VHJhbnNpdGlvbjo6aGFuZGxlVHJhbnNpdGlvbkZyYW1lKCkKICAgICB9CiAKICAgICAvLyBGSVhN
RTogSWYgdHJhbnNpdGlvbuKAmXMgaW5pdGlhbCBzbmFwc2hvdCBjb250YWluaW5nIGJsb2NrIHNp
emUgaXMgbm90IGVxdWFsIHRvIHRoZSBzbmFwc2hvdCBjb250YWluaW5nIGJsb2NrIHNpemUsIHRo
ZW4gc2tpcCB0aGUgdmlldyB0cmFuc2l0aW9uIGZvciB0cmFuc2l0aW9uLCBhbmQgcmV0dXJuLgot
ICAgIHVwZGF0ZVBzZXVkb0VsZW1lbnRTdHlsZXMoKTsKKyAgICAvLyBGSVhNRTogVXBkYXRlIHBz
ZXVkby1lbGVtZW50IHN0eWxlcyBmb3IgdHJhbnNpdGlvbi4KIH0KIAogLy8gaHR0cHM6Ly9kcmFm
dHMuY3Nzd2cub3JnL2Nzcy12aWV3LXRyYW5zaXRpb25zLyNjbGVhci12aWV3LXRyYW5zaXRpb24t
YWxnb3JpdGhtCkBAIC0zOTQsODggKzM2MiwxMSBAQCB2b2lkIFZpZXdUcmFuc2l0aW9uOjpjbGVh
clZpZXdUcmFuc2l0aW9uKCkKIAogICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgc3RlcCAzLgogCi0g
ICAgLy8gRW5kIGFuaW1hdGlvbnMgb24gcHNldWRvLWVsZW1lbnRzIHNvIHRoZXkgY2FuIHJ1biBh
Z2Fpbi4KLSAgICBpZiAoUmVmUHRyIGRvY3VtZW50RWxlbWVudCA9IG1fZG9jdW1lbnQtPmRvY3Vt
ZW50RWxlbWVudCgpKSB7Ci0gICAgICAgIFN0eWxlYWJsZSgqZG9jdW1lbnRFbGVtZW50LCBTdHls
ZTo6UHNldWRvRWxlbWVudElkZW50aWZpZXIgeyBQc2V1ZG9JZDo6Vmlld1RyYW5zaXRpb24gfSku
Y2FuY2VsU3R5bGVPcmlnaW5hdGVkQW5pbWF0aW9ucygpOwotICAgICAgICBmb3IgKGF1dG8mIG5h
bWUgOiBuYW1lZEVsZW1lbnRzKCkua2V5cygpKSB7Ci0gICAgICAgICAgICBTdHlsZWFibGUoKmRv
Y3VtZW50RWxlbWVudCwgU3R5bGU6OlBzZXVkb0VsZW1lbnRJZGVudGlmaWVyIHsgUHNldWRvSWQ6
OlZpZXdUcmFuc2l0aW9uR3JvdXAsIG5hbWUgfSkuY2FuY2VsU3R5bGVPcmlnaW5hdGVkQW5pbWF0
aW9ucygpOwotICAgICAgICAgICAgU3R5bGVhYmxlKCpkb2N1bWVudEVsZW1lbnQsIFN0eWxlOjpQ
c2V1ZG9FbGVtZW50SWRlbnRpZmllciB7IFBzZXVkb0lkOjpWaWV3VHJhbnNpdGlvbkltYWdlUGFp
ciwgbmFtZSB9KS5jYW5jZWxTdHlsZU9yaWdpbmF0ZWRBbmltYXRpb25zKCk7Ci0gICAgICAgICAg
ICBTdHlsZWFibGUoKmRvY3VtZW50RWxlbWVudCwgU3R5bGU6OlBzZXVkb0VsZW1lbnRJZGVudGlm
aWVyIHsgUHNldWRvSWQ6OlZpZXdUcmFuc2l0aW9uTmV3LCBuYW1lIH0pLmNhbmNlbFN0eWxlT3Jp
Z2luYXRlZEFuaW1hdGlvbnMoKTsKLSAgICAgICAgICAgIFN0eWxlYWJsZSgqZG9jdW1lbnRFbGVt
ZW50LCBTdHlsZTo6UHNldWRvRWxlbWVudElkZW50aWZpZXIgeyBQc2V1ZG9JZDo6Vmlld1RyYW5z
aXRpb25PbGQsIG5hbWUgfSkuY2FuY2VsU3R5bGVPcmlnaW5hdGVkQW5pbWF0aW9ucygpOwotICAg
ICAgICB9Ci0gICAgfQotCiAgICAgcHJvdGVjdGVkRG9jdW1lbnQoKS0+c2V0SGFzVmlld1RyYW5z
aXRpb25Qc2V1ZG9FbGVtZW50VHJlZShmYWxzZSk7CiAgICAgcHJvdGVjdGVkRG9jdW1lbnQoKS0+
c2V0QWN0aXZlVmlld1RyYW5zaXRpb24obnVsbHB0cik7Ci0gICAgcHJvdGVjdGVkRG9jdW1lbnQo
KS0+c3R5bGVTY29wZSgpLmNsZWFyVmlld1RyYW5zaXRpb25TdHlsZXMoKTsKIAogICAgIGlmIChS
ZWZQdHIgZG9jdW1lbnRFbGVtZW50ID0gcHJvdGVjdGVkRG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVt
ZW50KCkpCiAgICAgICAgIGRvY3VtZW50RWxlbWVudC0+aW52YWxpZGF0ZVN0eWxlSW50ZXJuYWwo
KTsKIH0KIAotUmVmPE11dGFibGVTdHlsZVByb3BlcnRpZXM+IFZpZXdUcmFuc2l0aW9uOjpjb3B5
RWxlbWVudEJhc2VQcm9wZXJ0aWVzKEVsZW1lbnQmIGVsZW1lbnQpCi17Ci0gICAgQ29tcHV0ZWRT
dHlsZUV4dHJhY3RvciBzdHlsZUV4dHJhY3RvcigmZWxlbWVudCk7Ci0KLSAgICBDU1NQcm9wZXJ0
eUlEIHRyYW5zaXRpb25Qcm9wZXJ0aWVzW10gPSB7Ci0gICAgICAgIENTU1Byb3BlcnR5V3JpdGlu
Z01vZGUsCi0gICAgICAgIENTU1Byb3BlcnR5RGlyZWN0aW9uLAotICAgICAgICBDU1NQcm9wZXJ0
eVRleHRPcmllbnRhdGlvbiwKLSAgICAgICAgQ1NTUHJvcGVydHlNaXhCbGVuZE1vZGUsCi0gICAg
ICAgIENTU1Byb3BlcnR5QmFja2Ryb3BGaWx0ZXIsCi0jaWYgRU5BQkxFKERBUktfTU9ERV9DU1Mp
Ci0gICAgICAgIENTU1Byb3BlcnR5Q29sb3JTY2hlbWUsCi0jZW5kaWYKLSAgICAgICAgQ1NTUHJv
cGVydHlXaWR0aCwKLSAgICAgICAgQ1NTUHJvcGVydHlIZWlnaHQsCi0gICAgfTsKLQotICAgIFJl
ZiBwcm9wcyA9IHN0eWxlRXh0cmFjdG9yLmNvcHlQcm9wZXJ0aWVzKHRyYW5zaXRpb25Qcm9wZXJ0
aWVzKTsKLQotICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IHRyYW5zZm9ybTsKLSAgICBhdXRvKiBy
ZW5kZXJlciA9IGVsZW1lbnQucmVuZGVyZXIoKTsKLSAgICBSZW5kZXJFbGVtZW50KiBjb250YWlu
ZXIgPSBudWxscHRyOwotICAgIHdoaWxlIChyZW5kZXJlciAmJiAhcmVuZGVyZXItPmlzUmVuZGVy
VmlldygpKSB7Ci0gICAgICAgIGNvbnRhaW5lciA9IHJlbmRlcmVyLT5jb250YWluZXIoKTsKLSAg
ICAgICAgaWYgKCFjb250YWluZXIpCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgTGF5b3V0
U2l6ZSBjb250YWluZXJPZmZzZXQgPSByZW5kZXJlci0+b2Zmc2V0RnJvbUNvbnRhaW5lcigqY29u
dGFpbmVyLCBMYXlvdXRQb2ludCgpKTsKLSAgICAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggbG9j
YWxUcmFuc2Zvcm07Ci0gICAgICAgIHJlbmRlcmVyLT5nZXRUcmFuc2Zvcm1Gcm9tQ29udGFpbmVy
KG51bGxwdHIsIGNvbnRhaW5lck9mZnNldCwgbG9jYWxUcmFuc2Zvcm0pOwotICAgICAgICB0cmFu
c2Zvcm0ubXVsdGlwbHkobG9jYWxUcmFuc2Zvcm0pOwotICAgICAgICByZW5kZXJlciA9IGNvbnRh
aW5lcjsKLSAgICB9Ci0KLSAgICBpZiAoZWxlbWVudC5yZW5kZXJlcigpKSB7Ci0gICAgICAgIFJl
ZiB0cmFuc2Zvcm1MaXN0VmFsdWUgPSBDU1NUcmFuc2Zvcm1MaXN0VmFsdWU6OmNyZWF0ZShDb21w
dXRlZFN0eWxlRXh0cmFjdG9yOjptYXRyaXhUcmFuc2Zvcm1WYWx1ZSh0cmFuc2Zvcm0sIGVsZW1l
bnQucmVuZGVyZXIoKS0+c3R5bGUoKSkpOwotICAgICAgICBwcm9wcy0+c2V0UHJvcGVydHkoQ1NT
UHJvcGVydHlUcmFuc2Zvcm0sIFdURk1vdmUodHJhbnNmb3JtTGlzdFZhbHVlKSk7Ci0gICAgfQot
Ci0gICAgcmV0dXJuIHByb3BzOwotfQotCi0vLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3Nz
LXZpZXctdHJhbnNpdGlvbnMtMS8jdXBkYXRlLXBzZXVkby1lbGVtZW50LXN0eWxlcwotdm9pZCBW
aWV3VHJhbnNpdGlvbjo6dXBkYXRlUHNldWRvRWxlbWVudFN0eWxlcygpCi17Ci0gICAgYXV0byYg
cmVzb2x2ZXIgPSBwcm90ZWN0ZWREb2N1bWVudCgpLT5zdHlsZVNjb3BlKCkucmVzb2x2ZXIoKTsK
LQotICAgIGZvciAoYXV0byYgaXRlciA6IG1fbmFtZWRFbGVtZW50cy5tYXAoKSkgewotICAgICAg
ICBSZWZQdHI8TXV0YWJsZVN0eWxlUHJvcGVydGllcz4gcHJvcGVydGllczsKLSAgICAgICAgaWYg
KGl0ZXIudmFsdWUtPm5ld0VsZW1lbnQpCi0gICAgICAgICAgICBwcm9wZXJ0aWVzID0gY29weUVs
ZW1lbnRCYXNlUHJvcGVydGllcygqaXRlci52YWx1ZS0+bmV3RWxlbWVudCk7Ci0gICAgICAgIGVs
c2UKLSAgICAgICAgICAgIHByb3BlcnRpZXMgPSBpdGVyLnZhbHVlLT5vbGRQcm9wZXJ0aWVzOwot
Ci0gICAgICAgIGlmIChwcm9wZXJ0aWVzKSB7Ci0gICAgICAgICAgICBpZiAoIWl0ZXIudmFsdWUt
Pmdyb3VwU3R5bGVQcm9wZXJ0aWVzKSB7Ci0gICAgICAgICAgICAgICAgaXRlci52YWx1ZS0+Z3Jv
dXBTdHlsZVByb3BlcnRpZXMgPSBwcm9wZXJ0aWVzOwotICAgICAgICAgICAgICAgIHJlc29sdmVy
LnNldFZpZXdUcmFuc2l0aW9uR3JvdXBTdHlsZXMoaXRlci5rZXksICpwcm9wZXJ0aWVzKTsKLSAg
ICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIGl0ZXIudmFsdWUtPmdyb3VwU3R5bGVQ
cm9wZXJ0aWVzLT5tZXJnZUFuZE92ZXJyaWRlT25Db25mbGljdCgqcHJvcGVydGllcyk7Ci0gICAg
ICAgIH0KLSAgICB9Ci0KLSAgICBwcm90ZWN0ZWREb2N1bWVudCgpLT5zdHlsZVNjb3BlKCkuZGlk
Q2hhbmdlU3R5bGVTaGVldENvbnRlbnRzKCk7Ci19Ci0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9WaWV3VHJhbnNpdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdUcmFu
c2l0aW9uLmgKaW5kZXggMDRhMDZmZDMzYTkzLi5hMWM3ODhiMDJlZmMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9WaWV3VHJhbnNpdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9WaWV3VHJhbnNpdGlvbi5oCkBAIC0yOCw5ICsyOCw3IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQu
aCIKICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKLSNpbmNs
dWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkpTVmFsdWVJbldyYXBwZWRPYmplY3QuaCIK
LSNpbmNsdWRlICJNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzLmgiCiAjaW5jbHVkZSAiVmlld1RyYW5z
aXRpb25VcGRhdGVDYWxsYmFjay5oIgogI2luY2x1ZGUgPHd0Zi9DaGVja2VkUmVmLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZi5oPgpAQCAtNTMsMTcgKzUxLDE5IEBAIHN0cnVjdCBDYXB0dXJlZEVsZW1l
bnQgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIC8vIEZJWE1F
OiBBZGQgdGhlIGZvbGxvd2luZzoKLSAgICBSZWZQdHI8SW1hZ2VCdWZmZXI+IG9sZEltYWdlOwot
ICAgIExheW91dFNpemUgb2xkU2l6ZTsKLSAgICBSZWZQdHI8TXV0YWJsZVN0eWxlUHJvcGVydGll
cz4gb2xkUHJvcGVydGllczsKKyAgICAvLyBvbGQgaW1hZ2UgKDJkIGJpdG1hcCkKKyAgICAvLyBv
bGQgd2lkdGggLyBoZWlnaHQKICAgICAvLyBvbGQgdHJhbnNmb3JtCisgICAgLy8gb2xkIHdyaXRp
bmcgbW9kZQorICAgIC8vIG9sZCBkaXJlY3Rpb24KKyAgICAvLyBvbGQgdGV4dC1vcmllbnRhdGlv
bgorICAgIC8vIG9sZCBtaXgtYmxlbmQtbW9kZQogICAgIFdlYWtQdHI8RWxlbWVudCwgV2Vha1B0
ckltcGxXaXRoRXZlbnRUYXJnZXREYXRhPiBuZXdFbGVtZW50OwogCi0gICAgUmVmUHRyPE11dGFi
bGVTdHlsZVByb3BlcnRpZXM+IGdyb3VwU3R5bGVQcm9wZXJ0aWVzOwotCiAgICAgLy8gRklYTUU6
IEFsc28gaGFuZGxlIHRoZXNlOgogICAgIC8vIGdyb3VwIGtleWZyYW1lcwogICAgIC8vIGdyb3Vw
IGFuaW1hdGlvbiBuYW1lIHJ1bGUKKyAgICAvLyBncm91cCBzdHlsZXMgcnVsZQogICAgIC8vIGlt
YWdlIHBhaXIgaXNvbGF0aW9uIHJ1bGUKICAgICAvLyBpbWFnZSBhbmltYXRpb24gbmFtZSBydWxl
CiB9OwpAQCAtOTIsMTYgKzkyLDYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV9rZXlzOwog
ICAgIH0KIAotICAgIGF1dG8mIG1hcCgpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gbV9t
YXA7Ci0gICAgfQotCi0gICAgYXV0byYgbWFwKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX21h
cDsKLSAgICB9Ci0KICAgICBib29sIGlzRW1wdHkoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0
dXJuIG1fa2V5cy5pc0VtcHR5KCk7CkBAIC0xMTQsMTMgKzEwNCw2IEBAIHB1YmxpYzoKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCi0gICAgY29uc3QgQ2FwdHVyZWRFbGVtZW50KiBm
aW5kKGNvbnN0IEF0b21TdHJpbmcmIGtleSkgY29uc3QKLSAgICB7Ci0gICAgICAgIGlmIChhdXRv
IGl0ID0gbV9tYXAuZmluZChrZXkpOyBpdCAhPSBtX21hcC5lbmQoKSkKLSAgICAgICAgICAgIHJl
dHVybiAmaXQtPnZhbHVlOwotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0KIHByaXZh
dGU6CiAgICAgTGlzdEhhc2hTZXQ8QXRvbVN0cmluZz4gbV9rZXlzOwogICAgIEhhc2hNYXA8QXRv
bVN0cmluZywgVW5pcXVlUmVmPENhcHR1cmVkRWxlbWVudD4+IG1fbWFwOwpAQCAtMTU1LDEwICsx
MzgsNiBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFZpZXdUcmFuc2l0aW9uKERvY3VtZW50Jiwg
UmVmUHRyPFZpZXdUcmFuc2l0aW9uVXBkYXRlQ2FsbGJhY2s+JiYpOwogCi0gICAgUmVmPE11dGFi
bGVTdHlsZVByb3BlcnRpZXM+IGNvcHlFbGVtZW50QmFzZVByb3BlcnRpZXMoRWxlbWVudCYpOwot
Ci0gICAgdm9pZCB1cGRhdGVQc2V1ZG9FbGVtZW50U3R5bGVzKCk7Ci0KICAgICBXZWFrUHRyPERv
Y3VtZW50LCBXZWFrUHRySW1wbFdpdGhFdmVudFRhcmdldERhdGE+IG1fZG9jdW1lbnQ7CiAKICAg
ICBPcmRlcmVkTmFtZWRFbGVtZW50c01hcCBtX25hbWVkRWxlbWVudHM7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vV2hlZWxFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2hl
ZWxFdmVudC5jcHAKaW5kZXggNjZlMGVmMjU4ZTRjLi40ZjRhNWY3NzIzMjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vV2hlZWxFdmVudC5jcHAKQEAgLTQ4LDEzICs0OCwxMCBAQCBzdGF0aWMgZG91YmxlIHdoZWVs
RGVsdGFUb0RlbHRhKGludCB3aGVlbERlbHRhKQogICAgIHJldHVybiAtc3RhdGljX2Nhc3Q8ZG91
YmxlPih3aGVlbERlbHRhKTsKIH0KIAotaW5saW5lIFdoZWVsRXZlbnQ6OldoZWVsRXZlbnQoKQot
ICAgIDogTW91c2VFdmVudChFdmVudEludGVyZmFjZVR5cGU6OldoZWVsRXZlbnQpCi17Ci19Citp
bmxpbmUgV2hlZWxFdmVudDo6V2hlZWxFdmVudCgpID0gZGVmYXVsdDsKIAogaW5saW5lIFdoZWVs
RXZlbnQ6OldoZWVsRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgSW5pdCYgaW5p
dGlhbGl6ZXIpCi0gICAgOiBNb3VzZUV2ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6V2hlZWxFdmVu
dCwgdHlwZSwgaW5pdGlhbGl6ZXIpCisgICAgOiBNb3VzZUV2ZW50KHR5cGUsIGluaXRpYWxpemVy
KQogICAgICwgbV93aGVlbERlbHRhKGluaXRpYWxpemVyLndoZWVsRGVsdGFYID8gaW5pdGlhbGl6
ZXIud2hlZWxEZWx0YVggOiBjbGFtcFRvPGludD4oLWluaXRpYWxpemVyLmRlbHRhWCksIGluaXRp
YWxpemVyLndoZWVsRGVsdGFZID8gaW5pdGlhbGl6ZXIud2hlZWxEZWx0YVkgOiBjbGFtcFRvPGlu
dD4oLWluaXRpYWxpemVyLmRlbHRhWSkpCiAgICAgLCBtX2RlbHRhWChpbml0aWFsaXplci5kZWx0
YVggPyBpbml0aWFsaXplci5kZWx0YVggOiB3aGVlbERlbHRhVG9EZWx0YShpbml0aWFsaXplci53
aGVlbERlbHRhWCkpCiAgICAgLCBtX2RlbHRhWShpbml0aWFsaXplci5kZWx0YVkgPyBpbml0aWFs
aXplci5kZWx0YVkgOiB3aGVlbERlbHRhVG9EZWx0YShpbml0aWFsaXplci53aGVlbERlbHRhWSkp
CkBAIC02NCw3ICs2MSw3IEBAIGlubGluZSBXaGVlbEV2ZW50OjpXaGVlbEV2ZW50KGNvbnN0IEF0
b21TdHJpbmcmIHR5cGUsIGNvbnN0IEluaXQmIGluaXRpYWxpemVyKQogfQogCiBpbmxpbmUgV2hl
ZWxFdmVudDo6V2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGV2ZW50LCBSZWZQ
dHI8V2luZG93UHJveHk+JiYgdmlldywgSXNDYW5jZWxhYmxlIGlzQ2FuY2VsYWJsZSkKLSAgICA6
IE1vdXNlRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpXaGVlbEV2ZW50LCBldmVudE5hbWVzKCku
d2hlZWxFdmVudCwgQ2FuQnViYmxlOjpZZXMsIGlzQ2FuY2VsYWJsZSwgSXNDb21wb3NlZDo6WWVz
LCBldmVudC50aW1lc3RhbXAoKS5hcHByb3hpbWF0ZU1vbm90b25pY1RpbWUoKSwgV1RGTW92ZSh2
aWV3KSwgMCwKKyAgICA6IE1vdXNlRXZlbnQoZXZlbnROYW1lcygpLndoZWVsRXZlbnQsIENhbkJ1
YmJsZTo6WWVzLCBpc0NhbmNlbGFibGUsIElzQ29tcG9zZWQ6OlllcywgZXZlbnQudGltZXN0YW1w
KCkuYXBwcm94aW1hdGVNb25vdG9uaWNUaW1lKCksIFdURk1vdmUodmlldyksIDAsCiAgICAgICAg
IGV2ZW50Lmdsb2JhbFBvc2l0aW9uKCksIGV2ZW50LnBvc2l0aW9uKCkgLCAwLCAwLCBldmVudC5t
b2RpZmllcnMoKSwgTW91c2VCdXR0b246OkxlZnQsIDAsIG51bGxwdHIsIDAsIFN5bnRoZXRpY0Ns
aWNrVHlwZTo6Tm9UYXAsIElzU2ltdWxhdGVkOjpObywgSXNUcnVzdGVkOjpZZXMpCiAgICAgLCBt
X3doZWVsRGVsdGEoZXZlbnQud2hlZWxUaWNrc1goKSAqIFRpY2tNdWx0aXBsaWVyLCBldmVudC53
aGVlbFRpY2tzWSgpICogVGlja011bHRpcGxpZXIpCiAgICAgLCBtX2RlbHRhWCgtZXZlbnQuZGVs
dGFYKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vaW9zL01vdXNlRXZlbnRJT1Mu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL2lvcy9Nb3VzZUV2ZW50SU9TLmNwcAppbmRleCA0YTQw
MDljZTg5N2IuLjQ2N2E3ZGNkOWM5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL2lv
cy9Nb3VzZUV2ZW50SU9TLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vaW9zL01vdXNlRXZl
bnRJT1MuY3BwCkBAIC01MSw3ICs1MSw3IEBAIHN0YXRpYyBBdG9tU3RyaW5nIG1vdXNlRXZlbnRU
eXBlKFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hQaGFzZVR5cGUgcGhhc2UpCiAKIFJlZjxNb3Vz
ZUV2ZW50PiBNb3VzZUV2ZW50OjpjcmVhdGUoY29uc3QgUGxhdGZvcm1Ub3VjaEV2ZW50JiBldmVu
dCwgdW5zaWduZWQgaW5kZXgsIFJlZjxXaW5kb3dQcm94eT4mJiB2aWV3LCBJc0NhbmNlbGFibGUg
Y2FuY2VsYWJsZSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNb3VzZUV2ZW50KEV2ZW50
SW50ZXJmYWNlVHlwZTo6TW91c2VFdmVudCwgbW91c2VFdmVudFR5cGUoZXZlbnQudG91Y2hQaGFz
ZUF0SW5kZXgoaW5kZXgpKSwgQ2FuQnViYmxlOjpZZXMsIGNhbmNlbGFibGUsIElzQ29tcG9zZWQ6
OlllcywKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNb3VzZUV2ZW50KG1vdXNlRXZlbnRUeXBl
KGV2ZW50LnRvdWNoUGhhc2VBdEluZGV4KGluZGV4KSksIENhbkJ1YmJsZTo6WWVzLCBjYW5jZWxh
YmxlLCBJc0NvbXBvc2VkOjpZZXMsCiAgICAgICAgIGV2ZW50LnRpbWVzdGFtcCgpLmFwcHJveGlt
YXRlTW9ub3RvbmljVGltZSgpLCBXVEZNb3ZlKHZpZXcpLCAwLCBldmVudC50b3VjaExvY2F0aW9u
QXRJbmRleChpbmRleCksIGV2ZW50LnRvdWNoTG9jYXRpb25BdEluZGV4KGluZGV4KSwgMCwgMCwK
ICAgICAgICAgZXZlbnQubW9kaWZpZXJzKCksIE1vdXNlQnV0dG9uOjpMZWZ0LCAwLCBudWxscHRy
LCAwLCBTeW50aGV0aWNDbGlja1R5cGU6Ok5vVGFwLCBJc1NpbXVsYXRlZDo6Tm8sIElzVHJ1c3Rl
ZDo6WWVzKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vaW9zL1BvaW50ZXJF
dmVudElPUy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vaW9zL1BvaW50ZXJFdmVudElPUy5jcHAK
aW5kZXggN2FjMTQzZWI1MWY4Li4yYjZjZThmMmU4NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9pb3MvUG9pbnRlckV2ZW50SU9TLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
aW9zL1BvaW50ZXJFdmVudElPUy5jcHAKQEAgLTYzLDcgKzYzLDcgQEAgUmVmPFBvaW50ZXJFdmVu
dD4gUG9pbnRlckV2ZW50OjpjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgUGxh
dGZvcm1Ub3UKIH0KIAogUG9pbnRlckV2ZW50OjpQb2ludGVyRXZlbnQoY29uc3QgQXRvbVN0cmlu
ZyYgdHlwZSwgY29uc3QgUGxhdGZvcm1Ub3VjaEV2ZW50JiBldmVudCwgSXNDYW5jZWxhYmxlIGlz
Q2FuY2VsYWJsZSwgdW5zaWduZWQgaW5kZXgsIGJvb2wgaXNQcmltYXJ5LCBSZWY8V2luZG93UHJv
eHk+JiYgdmlldywgY29uc3QgSW50UG9pbnQmIHRvdWNoRGVsdGEpCi0gICAgOiBNb3VzZUV2ZW50
KEV2ZW50SW50ZXJmYWNlVHlwZTo6UG9pbnRlckV2ZW50LCB0eXBlLCB0eXBlQ2FuQnViYmxlKHR5
cGUpLCBpc0NhbmNlbGFibGUsIHR5cGVJc0NvbXBvc2VkKHR5cGUpLCBldmVudC50aW1lc3RhbXAo
KS5hcHByb3hpbWF0ZU1vbm90b25pY1RpbWUoKSwgV1RGTW92ZSh2aWV3KSwgMCwKKyAgICA6IE1v
dXNlRXZlbnQodHlwZSwgdHlwZUNhbkJ1YmJsZSh0eXBlKSwgaXNDYW5jZWxhYmxlLCB0eXBlSXND
b21wb3NlZCh0eXBlKSwgZXZlbnQudGltZXN0YW1wKCkuYXBwcm94aW1hdGVNb25vdG9uaWNUaW1l
KCksIFdURk1vdmUodmlldyksIDAsCiAgICAgICAgIGV2ZW50LnRvdWNoTG9jYXRpb25BdEluZGV4
KGluZGV4KSwgZXZlbnQudG91Y2hMb2NhdGlvbkF0SW5kZXgoaW5kZXgpLCB0b3VjaERlbHRhLngo
KSwgdG91Y2hEZWx0YS55KCksIGV2ZW50Lm1vZGlmaWVycygpLCBidXR0b25Gb3JUeXBlKHR5cGUp
LCBidXR0b25zRm9yVHlwZSh0eXBlKSwgbnVsbHB0ciwgMCwgU3ludGhldGljQ2xpY2tUeXBlOjpO
b1RhcCwgSXNTaW11bGF0ZWQ6Ok5vLCBJc1RydXN0ZWQ6OlllcykKICAgICAsIG1fcG9pbnRlcklk
KGV2ZW50LnRvdWNoSWRlbnRpZmllckF0SW5kZXgoaW5kZXgpKQogICAgICwgbV93aWR0aCgyICog
ZXZlbnQucmFkaXVzWEF0SW5kZXgoaW5kZXgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL21ha2VfZXZlbnRfZmFjdG9yeS5wbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX2V2ZW50
X2ZhY3RvcnkucGwKaW5kZXggOGRmZjZkYTU4OWNkLi40ZjJmZmE0ZjljYmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX2V2ZW50X2ZhY3RvcnkucGwKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL21ha2VfZXZlbnRfZmFjdG9yeS5wbApAQCAtOTgsMTAgKzk4LDcgQEAgc3ViIGdl
bmVyYXRlSW1wbGVtZW50YXRpb24oKQogICAgIGlmICgkZmFjdG9yeUZ1bmN0aW9uIGVxICJ0b05l
d2x5Q3JlYXRlZCIpIHsKICAgICAgICAgcHJpbnQgRiAiSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNy
ZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIFJlZjwke25hbWVzcGFjZX0+JiYgaW1wbClcbiI7CiAgICAgICAgIHByaW50IEYgIntcbiI7
Ci0gICAgICAgIHByaW50IEYgIiAgICBzd2l0Y2ggKGltcGwtPmludGVyZmFjZVR5cGUoKSkge1xu
IjsKLSAgICAgICAgcHJpbnQgRiAiICAgIGNhc2UgRXZlbnRJbnRlcmZhY2VUeXBlOjpJbnZhbGlk
OlxuIjsKLSAgICAgICAgcHJpbnQgRiAiICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTtcbiI7
Ci0gICAgICAgIHByaW50IEYgIiAgICAgICAgYnJlYWs7XG4iOworICAgICAgICBwcmludCBGICIg
ICAgc3dpdGNoIChpbXBsLT4ke2ludGVyZmFjZU1ldGhvZE5hbWV9KCkpIHtcbiI7CiAgICAgfSBl
bHNlIHsKICAgICAgICAgcHJpbnQgRiAiSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpKU0dsb2JhbE9i
amVjdCogc3RhdGUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsICR7bmFtZXNwYWNl
fSYgaW1wbClcbiI7CiAgICAgICAgIHByaW50IEYgIntcbiI7CkBAIC0xMjgsMTEgKzEyNSwxMCBA
QCBzdWIgZ2VuZXJhdGVJbXBsZW1lbnRhdGlvbigpCiAgICAgICAgICAgICBteSAkY29uZGl0aW9u
YWxzID0gIiNpZiBFTkFCTEUoIiAuIGpvaW4oIikgfHwgRU5BQkxFKCIsIHNwbGl0KCJcXHwiLCAk
Y29uZGl0aW9uYWwpKSAuICIpIjsKICAgICAgICAgICAgIHByaW50IEYgIiRjb25kaXRpb25hbHNc
biI7CiAgICAgICAgIH0KKyAgICAgICAgcHJpbnQgRiAiICAgIGNhc2UgJHtpbnRlcmZhY2VOYW1l
fSR7c3VmZml4fUludGVyZmFjZVR5cGU6XG4iOwogICAgICAgICBpZiAoJGZhY3RvcnlGdW5jdGlv
biBlcSAidG9OZXdseUNyZWF0ZWQiKSB7Ci0gICAgICAgICAgICBwcmludCBGICIgICAgY2FzZSBF
dmVudEludGVyZmFjZVR5cGU6OiR7aW50ZXJmYWNlTmFtZX06XG4iOwogICAgICAgICAgICAgcHJp
bnQgRiAiICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjwkaW50ZXJmYWNlTmFtZSRzdWZmaXg+
KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7XG4iOwogICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgcHJpbnQgRiAiICAgIGNhc2UgJHtpbnRlcmZhY2VOYW1lfSR7c3VmZml4fUludGVy
ZmFjZVR5cGU6XG4iOwogICAgICAgICAgICAgcHJpbnQgRiAiICAgICAgICByZXR1cm4gdG9KUyhz
dGF0ZSwgZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDwkaW50ZXJmYWNlTmFtZSY+KGltcGwpKTtc
biI7CiAgICAgICAgIH0KICAgICAgICAgcHJpbnQgRiAiI2VuZGlmXG4iIGlmICRjb25kaXRpb25h
bDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS93cGUvUG9pbnRlckV2ZW50V1BFLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2RvbS93cGUvUG9pbnRlckV2ZW50V1BFLmNwcAppbmRleCAzMWZk
ZTZhY2I3YjEuLjA3ZjNkMGYxMjRjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL3dw
ZS9Qb2ludGVyRXZlbnRXUEUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS93cGUvUG9pbnRl
ckV2ZW50V1BFLmNwcApAQCAtNjYsNyArNjYsNyBAQCBSZWY8UG9pbnRlckV2ZW50PiBQb2ludGVy
RXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBQbGF0Zm9ybVRvdQog
fQogCiBQb2ludGVyRXZlbnQ6OlBvaW50ZXJFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBj
b25zdCBQbGF0Zm9ybVRvdWNoRXZlbnQmIGV2ZW50LCBJc0NhbmNlbGFibGUgaXNDYW5jZWxhYmxl
LCB1bnNpZ25lZCBpbmRleCwgYm9vbCBpc1ByaW1hcnksIFJlZjxXaW5kb3dQcm94eT4mJiB2aWV3
LCBjb25zdCBJbnRQb2ludCYgdG91Y2hEZWx0YSkKLSAgICA6IE1vdXNlRXZlbnQoRXZlbnRJbnRl
cmZhY2VUeXBlOjpQb2ludGVyRXZlbnQsIHR5cGUsIHR5cGVDYW5CdWJibGUodHlwZSksIGlzQ2Fu
Y2VsYWJsZSwgdHlwZUlzQ29tcG9zZWQodHlwZSksIGV2ZW50LnRpbWVzdGFtcCgpLmFwcHJveGlt
YXRlTW9ub3RvbmljVGltZSgpLCBXVEZNb3ZlKHZpZXcpLCAwLCBldmVudC50b3VjaFBvaW50cygp
LmF0KGluZGV4KS5wb3MoKSwgZXZlbnQudG91Y2hQb2ludHMoKS5hdChpbmRleCkucG9zKCksIHRv
dWNoRGVsdGEueCgpLCB0b3VjaERlbHRhLnkoKSwgZXZlbnQubW9kaWZpZXJzKCksIGJ1dHRvbkZv
clR5cGUodHlwZSksIGJ1dHRvbnNGb3JUeXBlKHR5cGUpLCBudWxscHRyLCAwLCBTeW50aGV0aWND
bGlja1R5cGU6Ok5vVGFwLCBJc1NpbXVsYXRlZDo6Tm8sIElzVHJ1c3RlZDo6WWVzKQorICAgIDog
TW91c2VFdmVudCh0eXBlLCB0eXBlQ2FuQnViYmxlKHR5cGUpLCBpc0NhbmNlbGFibGUsIHR5cGVJ
c0NvbXBvc2VkKHR5cGUpLCBldmVudC50aW1lc3RhbXAoKS5hcHByb3hpbWF0ZU1vbm90b25pY1Rp
bWUoKSwgV1RGTW92ZSh2aWV3KSwgMCwgZXZlbnQudG91Y2hQb2ludHMoKS5hdChpbmRleCkucG9z
KCksIGV2ZW50LnRvdWNoUG9pbnRzKCkuYXQoaW5kZXgpLnBvcygpLCB0b3VjaERlbHRhLngoKSwg
dG91Y2hEZWx0YS55KCksIGV2ZW50Lm1vZGlmaWVycygpLCBidXR0b25Gb3JUeXBlKHR5cGUpLCBi
dXR0b25zRm9yVHlwZSh0eXBlKSwgbnVsbHB0ciwgMCwgU3ludGhldGljQ2xpY2tUeXBlOjpOb1Rh
cCwgSXNTaW11bGF0ZWQ6Ok5vLCBJc1RydXN0ZWQ6OlllcykKICAgICAsIG1fcG9pbnRlcklkKGV2
ZW50LnRvdWNoUG9pbnRzKCkuYXQoaW5kZXgpLmlkKCkpCiAgICAgLCBtX3dpZHRoKDIgKiBldmVu
dC50b3VjaFBvaW50cygpLmF0KGluZGV4KS5yYWRpdXNYKCkpCiAgICAgLCBtX2hlaWdodCgyICog
ZXZlbnQudG91Y2hQb2ludHMoKS5hdChpbmRleCkucmFkaXVzWSgpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudC5jcHAKaW5kZXggYWM0ZTY1Y2JiN2UxLi41YWNiYzYw
NWE0ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbmNyeXB0ZWRFdmVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50LmNwcApA
QCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEX0lNUEwoTWVkaWFFbmNyeXB0ZWRFdmVudCk7CiAKIE1lZGlhRW5jcnlwdGVkRXZlbnQ6Ok1l
ZGlhRW5jcnlwdGVkRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgTWVkaWFFbmNy
eXB0ZWRFdmVudEluaXQmIGluaXRpYWxpemVyLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQotICAgIDog
RXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpNZWRpYUVuY3J5cHRlZEV2ZW50LCB0eXBlLCBpbml0
aWFsaXplciwgaXNUcnVzdGVkKQorICAgIDogRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIsIGlzVHJ1
c3RlZCkKICAgICAsIG1faW5pdERhdGFUeXBlKGluaXRpYWxpemVyLmluaXREYXRhVHlwZSkKICAg
ICAsIG1faW5pdERhdGEoaW5pdGlhbGl6ZXIuaW5pdERhdGEpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL1N1Ym1pdEV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3Vi
bWl0RXZlbnQuY3BwCmluZGV4IDlhYmZmMzM0ZGY3OS4uYjkwYjBkNDc5MzMwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL1N1Ym1pdEV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL1N1Ym1pdEV2ZW50LmNwcApAQCAtNDUsMTIgKzQ1LDEyIEBAIFJlZjxTdWJtaXRFdmVu
dD4gU3VibWl0RXZlbnQ6OmNyZWF0ZShSZWZQdHI8SFRNTEVsZW1lbnQ+JiYgc3VibWl0dGVyKQog
fQogCiBTdWJtaXRFdmVudDo6U3VibWl0RXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgSW5p
dCYmIGluaXQpCi0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6OlN1Ym1pdEV2ZW50LCB0
eXBlLCBpbml0LCBJc1RydXN0ZWQ6Ok5vKQorICAgIDogRXZlbnQodHlwZSwgaW5pdCwgSXNUcnVz
dGVkOjpObykKICAgICAsIG1fc3VibWl0dGVyKFdURk1vdmUoaW5pdC5zdWJtaXR0ZXIpKQogeyB9
CiAKIFN1Ym1pdEV2ZW50OjpTdWJtaXRFdmVudChSZWZQdHI8SFRNTEVsZW1lbnQ+JiYgc3VibWl0
dGVyKQotICAgIDogRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpTdWJtaXRFdmVudCwgZXZlbnRO
YW1lcygpLnN1Ym1pdEV2ZW50LCBDYW5CdWJibGU6OlllcywgSXNDYW5jZWxhYmxlOjpZZXMpCisg
ICAgOiBFdmVudChldmVudE5hbWVzKCkuc3VibWl0RXZlbnQsIENhbkJ1YmJsZTo6WWVzLCBJc0Nh
bmNlbGFibGU6OlllcykKICAgICAsIG1fc3VibWl0dGVyKFdURk1vdmUoc3VibWl0dGVyKSkKIHsg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbnRleHRF
dmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbnRleHRFdmVudC5j
cHAKaW5kZXggYzliNjU0MTcxMTk5Li4yNjI4ZDBkODFiZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQ29udGV4dEV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTENvbnRleHRFdmVudC5jcHAKQEAgLTM1LDEzICszNSwxMyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoV2ViR0xD
b250ZXh0RXZlbnQpOwogCiBXZWJHTENvbnRleHRFdmVudDo6V2ViR0xDb250ZXh0RXZlbnQoY29u
c3QgQXRvbVN0cmluZyYgdHlwZSwgQ2FuQnViYmxlIGNhbkJ1YmJsZSwgSXNDYW5jZWxhYmxlIGNh
bmNlbGFibGUsIGNvbnN0IFN0cmluZyYgc3RhdHVzTWVzc2FnZSkKLSAgICA6IEV2ZW50KEV2ZW50
SW50ZXJmYWNlVHlwZTo6V2ViR0xDb250ZXh0RXZlbnQsIHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2Vs
YWJsZSkKKyAgICA6IEV2ZW50KHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSkKICAgICAsIG1f
c3RhdHVzTWVzc2FnZShzdGF0dXNNZXNzYWdlKQogewogfQogCiBXZWJHTENvbnRleHRFdmVudDo6
V2ViR0xDb250ZXh0RXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgSW5pdCYgaW5p
dGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0ZWQpCi0gICAgOiBFdmVudChFdmVudEludGVyZmFj
ZVR5cGU6OldlYkdMQ29udGV4dEV2ZW50LCB0eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKQor
ICAgIDogRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIsIGlzVHJ1c3RlZCkKICAgICAsIG1fc3RhdHVz
TWVzc2FnZShpbml0aWFsaXplci5zdGF0dXNNZXNzYWdlKQogewogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0V2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvdHJhY2svVHJhY2tFdmVudC5jcHAKaW5kZXggOWI4YzQ1OGYxYmQzLi43YzljZjk3OGUyMWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tFdmVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0V2ZW50LmNwcApAQCAtNTIsMTMgKzUy
LDEzIEBAIHN0YXRpYyBpbmxpbmUgc3RkOjpvcHRpb25hbDxUcmFja0V2ZW50OjpUcmFja0V2ZW50
VHJhY2s+IGNvbnZlcnRUb1RyYWNrRXZlbnRUcmFjCiB9CiAKIFRyYWNrRXZlbnQ6OlRyYWNrRXZl
bnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgQ2FuQnViYmxlIGNhbkJ1YmJsZSwgSXNDYW5jZWxh
YmxlIGNhbmNlbGFibGUsIFJlZjxUcmFja0Jhc2U+JiYgdHJhY2spCi0gICAgOiBFdmVudChFdmVu
dEludGVyZmFjZVR5cGU6OlRyYWNrRXZlbnQsIHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSkK
KyAgICA6IEV2ZW50KHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSkKICAgICAsIG1fdHJhY2so
Y29udmVydFRvVHJhY2tFdmVudFRyYWNrKFdURk1vdmUodHJhY2spKSkKIHsKIH0KIAogVHJhY2tF
dmVudDo6VHJhY2tFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBJbml0JiYgaW5pdGlhbGl6
ZXIsIElzVHJ1c3RlZCBpc1RydXN0ZWQpCi0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6
OlRyYWNrRXZlbnQsIHR5cGUsIGluaXRpYWxpemVyLCBpc1RydXN0ZWQpCisgICAgOiBFdmVudCh0
eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKQogICAgICwgbV90cmFjayhXVEZNb3ZlKGluaXRp
YWxpemVyLnRyYWNrKSkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKaW5kZXggYzhjODJhYjJiZGNmLi5jZTMxNDQ0
YWFjM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVj
dG9yQ1NTQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5z
cGVjdG9yQ1NTQWdlbnQuY3BwCkBAIC00NjEsNyArNDYxLDcgQEAgSW5zcGVjdG9yOjpQcm90b2Nv
bDo6RXJyb3JTdHJpbmdPcjxzdGQ6OnR1cGxlPFJlZlB0cjxKU09OOjpBcnJheU9mPEluc3BlY3Rv
cjo6UHIKICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKCJFbGVtZW50IGZvciBnaXZlbiBu
b2RlSWQgd2FzIG5vdCBjb25uZWN0ZWQgdG8gRE9NIHRyZWUuIl9zKTsKIAogICAgIEVsZW1lbnQq
IG9yaWdpbmFsRWxlbWVudCA9IGVsZW1lbnQ7Ci0gICAgYXV0byBlbGVtZW50UHNldWRvSWQgPSBl
bGVtZW50LT5wc2V1ZG9JZCgpOworICAgIFBzZXVkb0lkIGVsZW1lbnRQc2V1ZG9JZCA9IGVsZW1l
bnQtPnBzZXVkb0lkKCk7CiAgICAgaWYgKGVsZW1lbnRQc2V1ZG9JZCAhPSBQc2V1ZG9JZDo6Tm9u
ZSkgewogICAgICAgICBlbGVtZW50ID0gZG93bmNhc3Q8UHNldWRvRWxlbWVudD4oKmVsZW1lbnQp
Lmhvc3RFbGVtZW50KCk7CiAgICAgICAgIGlmICghZWxlbWVudCkKQEAgLTQ3MCw3ICs0NzAsNyBA
QCBJbnNwZWN0b3I6OlByb3RvY29sOjpFcnJvclN0cmluZ09yPHN0ZDo6dHVwbGU8UmVmUHRyPEpT
T046OkFycmF5T2Y8SW5zcGVjdG9yOjpQcgogCiAgICAgLy8gTWF0Y2hlZCBydWxlcy4KICAgICBh
dXRvJiBzdHlsZVJlc29sdmVyID0gZWxlbWVudC0+c3R5bGVSZXNvbHZlcigpOwotICAgIGF1dG8g
bWF0Y2hlZFJ1bGVzID0gc3R5bGVSZXNvbHZlci5wc2V1ZG9TdHlsZVJ1bGVzRm9yRWxlbWVudChl
bGVtZW50LCBlbGVtZW50UHNldWRvSWQgPT0gUHNldWRvSWQ6Ok5vbmUgPyBzdGQ6Om51bGxvcHQg
OiBzdGQ6Om9wdGlvbmFsKFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllciB7IGVsZW1lbnRQ
c2V1ZG9JZCB9KSwgU3R5bGU6OlJlc29sdmVyOjpBbGxDU1NSdWxlcyk7CisgICAgYXV0byBtYXRj
aGVkUnVsZXMgPSBzdHlsZVJlc29sdmVyLnBzZXVkb1N0eWxlUnVsZXNGb3JFbGVtZW50KGVsZW1l
bnQsIGVsZW1lbnRQc2V1ZG9JZCwgU3R5bGU6OlJlc29sdmVyOjpBbGxDU1NSdWxlcyk7CiAgICAg
YXV0byBtYXRjaGVkQ1NTUnVsZXMgPSBidWlsZEFycmF5Rm9yTWF0Y2hlZFJ1bGVMaXN0KG1hdGNo
ZWRSdWxlcywgc3R5bGVSZXNvbHZlciwgKmVsZW1lbnQsIGVsZW1lbnRQc2V1ZG9JZCk7CiAgICAg
UmVmUHRyPEpTT046OkFycmF5T2Y8SW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpQc2V1ZG9JZE1h
dGNoZXM+PiBwc2V1ZG9FbGVtZW50czsKICAgICBSZWZQdHI8SlNPTjo6QXJyYXlPZjxJbnNwZWN0
b3I6OlByb3RvY29sOjpDU1M6OkluaGVyaXRlZFN0eWxlRW50cnk+PiBpbmhlcml0ZWQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTUFnZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NQWdlbnQu
Y3BwCmluZGV4IDg5MjJmNGU5MTEyNC4uMzkzY2Q1YjBlNmNmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtNTcx
LDE0ICs1NzEsMTQgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6ZGlzY2FyZEJpbmRpbmdzKCkK
IAogc3RhdGljIEVsZW1lbnQqIGVsZW1lbnRUb1B1c2hGb3JTdHlsZWFibGUoY29uc3QgU3R5bGVh
YmxlJiBzdHlsZWFibGUpCiB7Ci0gICAgYXV0byogZWxlbWVudCA9ICZzdHlsZWFibGUuZWxlbWVu
dDsKICAgICAvLyBGSVhNRTogV2Ugd2FudCB0byBnZXQgcmlkIG9mIFBzZXVkb0VsZW1lbnQuCi0g
ICAgaWYgKHN0eWxlYWJsZS5wc2V1ZG9FbGVtZW50SWRlbnRpZmllcikgewotICAgICAgICBpZiAo
c3R5bGVhYmxlLnBzZXVkb0VsZW1lbnRJZGVudGlmaWVyLT5wc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6
QmVmb3JlKQotICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQtPmJlZm9yZVBzZXVkb0VsZW1lbnQo
KTsKLSAgICAgICAgaWYgKHN0eWxlYWJsZS5wc2V1ZG9FbGVtZW50SWRlbnRpZmllci0+cHNldWRv
SWQgPT0gUHNldWRvSWQ6OkFmdGVyKQotICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQtPmFmdGVy
UHNldWRvRWxlbWVudCgpOwotICAgIH0KKyAgICBhdXRvKiBlbGVtZW50ID0gJnN0eWxlYWJsZS5l
bGVtZW50OworCisgICAgaWYgKHN0eWxlYWJsZS5wc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QmVmb3Jl
KQorICAgICAgICBlbGVtZW50ID0gZWxlbWVudC0+YmVmb3JlUHNldWRvRWxlbWVudCgpOworICAg
IGVsc2UgaWYgKHN0eWxlYWJsZS5wc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QWZ0ZXIpCisgICAgICAg
IGVsZW1lbnQgPSBlbGVtZW50LT5hZnRlclBzZXVkb0VsZW1lbnQoKTsKKwogICAgIHJldHVybiBl
bGVtZW50OwogfQogCkBAIC03MDIsOSArNzAyLDggQEAgUmVmPEluc3BlY3Rvcjo6UHJvdG9jb2w6
OkRPTTo6U3R5bGVhYmxlPiBJbnNwZWN0b3JET01BZ2VudDo6cHVzaFN0eWxlYWJsZVBhdGhUb0YK
ICAgICAgICAgLnNldE5vZGVJZChub2RlSWQpCiAgICAgICAgIC5yZWxlYXNlKCk7CiAKLSAgICAv
LyBGSVhNRTogVGhpcyBzaG91bGQgc3VwcG9ydCBQc2V1ZG9FbGVtZW50SWRlbnRpZmllciBuYW1l
IGFyZ3VtZW50LgotICAgIGlmIChzdHlsZWFibGUucHNldWRvRWxlbWVudElkZW50aWZpZXIpIHsK
LSAgICAgICAgaWYgKGF1dG8gcHNldWRvSWQgPSBJbnNwZWN0b3JDU1NBZ2VudDo6cHJvdG9jb2xW
YWx1ZUZvclBzZXVkb0lkKHN0eWxlYWJsZS5wc2V1ZG9FbGVtZW50SWRlbnRpZmllci0+cHNldWRv
SWQpKQorICAgIGlmIChzdHlsZWFibGUucHNldWRvSWQgIT0gUHNldWRvSWQ6Ok5vbmUpIHsKKyAg
ICAgICAgaWYgKGF1dG8gcHNldWRvSWQgPSBJbnNwZWN0b3JDU1NBZ2VudDo6cHJvdG9jb2xWYWx1
ZUZvclBzZXVkb0lkKHN0eWxlYWJsZS5wc2V1ZG9JZCkpCiAgICAgICAgICAgICBwcm90b2NvbFN0
eWxlYWJsZS0+c2V0UHNldWRvSWQoKnBzZXVkb0lkKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvTG9jYWxET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9Mb2NhbERPTVdpbmRvdy5jcHAKaW5kZXggY2YzMzQwYzMyMWEzLi4wOWU0MDNiMzYxZmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYWxET01XaW5kb3cuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvTG9jYWxET01XaW5kb3cuY3BwCkBAIC0zMiw3ICszMiw3IEBACiAj
aW5jbHVkZSAiQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmgiCiAjaW5jbHVkZSAiQ1NTUnVs
ZS5oIgogI2luY2x1ZGUgIkNTU1J1bGVMaXN0LmgiCi0jaW5jbHVkZSAiQ1NTU2VsZWN0b3JQYXJz
ZXIuaCIKKyNpbmNsdWRlICJDU1NTZWxlY3RvclBhcnNlckNvbnRleHQuaCIKICNpbmNsdWRlICJD
aHJvbWUuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRlICJDb21wb3NlZFRy
ZWVJdGVyYXRvci5oIgpAQCAtMTYxNiwxMCArMTYxNiwxMiBAQCBSZWY8Q1NTU3R5bGVEZWNsYXJh
dGlvbj4gTG9jYWxET01XaW5kb3c6OmdldENvbXB1dGVkU3R5bGUoRWxlbWVudCYgZWxlbWVudCwg
Y29ucwogICAgIGlmICghcHNldWRvRWx0LnN0YXJ0c1dpdGgoJzonKSkKICAgICAgICAgcmV0dXJu
IENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Y3JlYXRlKGVsZW1lbnQsIHN0ZDo6bnVsbG9w
dCk7CiAKLSAgICBhdXRvIFtwc2V1ZG9FbGVtZW50SXNQYXJzYWJsZSwgcHNldWRvRWxlbWVudElk
ZW50aWZpZXJdID0gQ1NTU2VsZWN0b3JQYXJzZXI6OnBhcnNlUHNldWRvRWxlbWVudChwc2V1ZG9F
bHQsIENTU1NlbGVjdG9yUGFyc2VyQ29udGV4dCB7IGVsZW1lbnQucHJvdGVjdGVkRG9jdW1lbnQo
KSB9KTsKLSAgICBpZiAoIXBzZXVkb0VsZW1lbnRJc1BhcnNhYmxlKQorICAgIC8vIEZJWE1FOiBU
aGlzIGRvZXMgbm90IHdvcmsgZm9yIHBzZXVkby1lbGVtZW50cyB0aGF0IHRha2UgYXJndW1lbnRz
ICh3ZWJraXQub3JnL2IvMjY0MTAzKS4KKyAgICBhdXRvIHBzZXVkb0lkID0gQ1NTU2VsZWN0b3I6
OnBhcnNlUHNldWRvRWxlbWVudChwc2V1ZG9FbHQsIENTU1NlbGVjdG9yUGFyc2VyQ29udGV4dCB7
IGVsZW1lbnQucHJvdGVjdGVkRG9jdW1lbnQoKSB9KTsKKyAgICBpZiAoIXBzZXVkb0lkKQogICAg
ICAgICByZXR1cm4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpjcmVhdGVFbXB0eShlbGVt
ZW50KTsKLSAgICByZXR1cm4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpjcmVhdGUoZWxl
bWVudCwgcHNldWRvRWxlbWVudElkZW50aWZpZXIpOworICAgIC8vIEZJWE1FOiBDU1NTZWxlY3Rv
cjo6cGFyc2VQc2V1ZG9FbGVtZW50IHNob3VsZCBuZXZlciByZXR1cm4gUHNldWRvSWQ6Ok5vbmUu
CisgICAgcmV0dXJuIENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Y3JlYXRlKGVsZW1lbnQs
IHBzZXVkb0lkID09IFBzZXVkb0lkOjpOb25lID8gc3RkOjpudWxsb3B0IDogc3RkOjpvcHRpb25h
bChTdHlsZTo6UHNldWRvRWxlbWVudElkZW50aWZpZXIgeyAqcHNldWRvSWQgfSkpOwogfQogCiBS
ZWZQdHI8Q1NTUnVsZUxpc3Q+IExvY2FsRE9NV2luZG93OjpnZXRNYXRjaGVkQ1NTUnVsZXMoRWxl
bWVudCogZWxlbWVudCwgY29uc3QgU3RyaW5nJiBwc2V1ZG9FbGVtZW50LCBib29sIGF1dGhvck9u
bHkpIGNvbnN0CkBAIC0xNjI5LDEwICsxNjMxLDEwIEBAIFJlZlB0cjxDU1NSdWxlTGlzdD4gTG9j
YWxET01XaW5kb3c6OmdldE1hdGNoZWRDU1NSdWxlcyhFbGVtZW50KiBlbGVtZW50LCBjb25zdCBT
CiAKICAgICAvLyBGSVhNRTogVGhpcyBwYXJzZXIgY29udGV4dCB3b24ndCBnZXQgdGhlIHJpZ2h0
IHNldHRpbmdzIHdpdGhvdXQgYSBkb2N1bWVudC4KICAgICBhdXRvIHBhcnNlckNvbnRleHQgPSBk
b2N1bWVudCgpID8gQ1NTU2VsZWN0b3JQYXJzZXJDb250ZXh0IHsgKnByb3RlY3RlZERvY3VtZW50
KCkgfSA6IENTU1NlbGVjdG9yUGFyc2VyQ29udGV4dCB7IENTU1BhcnNlckNvbnRleHQgeyBIVE1M
U3RhbmRhcmRNb2RlIH0gfTsKLSAgICBhdXRvIFtwc2V1ZG9FbGVtZW50SXNQYXJzYWJsZSwgcHNl
dWRvRWxlbWVudElkZW50aWZpZXJdID0gQ1NTU2VsZWN0b3JQYXJzZXI6OnBhcnNlUHNldWRvRWxl
bWVudChwc2V1ZG9FbGVtZW50LCBwYXJzZXJDb250ZXh0KTsKLSAgICBpZiAoIShwc2V1ZG9FbGVt
ZW50SXNQYXJzYWJsZSB8fCAocHNldWRvRWxlbWVudElkZW50aWZpZXIgJiYgIXBzZXVkb0VsZW1l
bnRJZGVudGlmaWVyLT5uYW1lQXJndW1lbnQuaXNOdWxsKCkpKSAmJiAhcHNldWRvRWxlbWVudC5p
c0VtcHR5KCkpCisgICAgYXV0byBvcHRpb25hbFBzZXVkb0lkID0gQ1NTU2VsZWN0b3I6OnBhcnNl
UHNldWRvRWxlbWVudChwc2V1ZG9FbGVtZW50LCBwYXJzZXJDb250ZXh0KTsKKyAgICBpZiAoIW9w
dGlvbmFsUHNldWRvSWQgJiYgIXBzZXVkb0VsZW1lbnQuaXNFbXB0eSgpKQogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKLSAgICBhdXRvIHBzZXVkb0lkID0gcHNldWRvRWxlbWVudElkZW50aWZpZXIg
PyBwc2V1ZG9FbGVtZW50SWRlbnRpZmllci0+cHNldWRvSWQgOiBQc2V1ZG9JZDo6Tm9uZTsKKyAg
ICBhdXRvIHBzZXVkb0lkID0gb3B0aW9uYWxQc2V1ZG9JZCA/ICpvcHRpb25hbFBzZXVkb0lkIDog
UHNldWRvSWQ6Ok5vbmU7CiAKICAgICBSZWZQdHIgZnJhbWUgPSB0aGlzLT5mcmFtZSgpOwogICAg
IGZyYW1lLT5wcm90ZWN0ZWREb2N1bWVudCgpLT5zdHlsZVNjb3BlKCkuZmx1c2hQZW5kaW5nVXBk
YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRlRXZlbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0ZUV2ZW50LmNwcAppbmRleCA2YzJmNjUwYzM3
ZWIuLjhlMzhiYjNhZTczYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0
ZUV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRlRXZlbnQuY3BwCkBA
IC0zMyw3ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIFdURl9NQUtFX0lTT19BTExPQ0FU
RURfSU1QTChOYXZpZ2F0ZUV2ZW50KTsKIAogTmF2aWdhdGVFdmVudDo6TmF2aWdhdGVFdmVudChj
b25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBOYXZpZ2F0ZUV2ZW50OjpJbml0JiBpbml0KQot
ICAgIDogRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpOYXZpZ2F0ZUV2ZW50LCB0eXBlLCBDYW5C
dWJibGU6Ok5vLCBJc0NhbmNlbGFibGU6Ok5vKQorICAgIDogRXZlbnQodHlwZSwgQ2FuQnViYmxl
OjpObywgSXNDYW5jZWxhYmxlOjpObykKICAgICAsIG1fbmF2aWdhdGlvblR5cGUoaW5pdC5uYXZp
Z2F0aW9uVHlwZSkKICAgICAsIG1fZGVzdGluYXRpb24oaW5pdC5kZXN0aW5hdGlvbikKICAgICAs
IG1fc2lnbmFsKGluaXQuc2lnbmFsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9O
YXZpZ2F0aW9uQ3VycmVudEVudHJ5Q2hhbmdlRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9OYXZpZ2F0aW9uQ3VycmVudEVudHJ5Q2hhbmdlRXZlbnQuY3BwCmluZGV4IDljZWZkNDM5NmUz
OS4uMTNjMTgyNTI4ZWU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRp
b25DdXJyZW50RW50cnlDaGFuZ2VFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9O
YXZpZ2F0aW9uQ3VycmVudEVudHJ5Q2hhbmdlRXZlbnQuY3BwCkBAIC0zMyw3ICszMyw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChOYXZpZ2F0aW9u
Q3VycmVudEVudHJ5Q2hhbmdlRXZlbnQpOwogCiBOYXZpZ2F0aW9uQ3VycmVudEVudHJ5Q2hhbmdl
RXZlbnQ6Ok5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VFdmVudChjb25zdCBBdG9tU3RyaW5n
JiB0eXBlLCBjb25zdCBOYXZpZ2F0aW9uQ3VycmVudEVudHJ5Q2hhbmdlRXZlbnQ6OkluaXQmIGlu
aXQpCi0gICAgOiBFdmVudChFdmVudEludGVyZmFjZVR5cGU6Ok5hdmlnYXRpb25DdXJyZW50RW50
cnlDaGFuZ2VFdmVudCwgdHlwZSwgQ2FuQnViYmxlOjpObywgSXNDYW5jZWxhYmxlOjpObykKKyAg
ICA6IEV2ZW50KHR5cGUsIENhbkJ1YmJsZTo6Tm8sIElzQ2FuY2VsYWJsZTo6Tm8pCiAgICAgLCBt
X25hdmlnYXRpb25UeXBlKGluaXQubmF2aWdhdGlvblR5cGUpCiAgICAgLCBtX2Zyb20oaW5pdC5m
cm9tKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1v
ZGVsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9i
amVjdC5jcHAKaW5kZXggNjI2ZTUxYjRmMzVmLi42NDkxZDVhMDU0ZmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApAQCAtOTcwLDcg
Kzk3MCw3IEBAIHZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OmFwcGx5VHJhbnNmb3JtKFRyYW5z
Zm9ybWF0aW9uTWF0cml4JiwgY29uc3QgUmVuZGVyU3R5CiAKIGJvb2wgUmVuZGVyQm94TW9kZWxP
YmplY3Q6OnJlcXVpcmVzTGF5ZXIoKSBjb25zdAogewotICAgIHJldHVybiBpc0RvY3VtZW50RWxl
bWVudFJlbmRlcmVyKCkgfHwgaXNQb3NpdGlvbmVkKCkgfHwgY3JlYXRlc0dyb3VwKCkgfHwgaGFz
VHJhbnNmb3JtUmVsYXRlZFByb3BlcnR5KCkgfHwgaGFzSGlkZGVuQmFja2ZhY2UoKSB8fCBoYXNS
ZWZsZWN0aW9uKCkgfHwgaGFzVmlld1RyYW5zaXRpb24oKSB8fCBpc1ZpZXdUcmFuc2l0aW9uUHNl
dWRvKCk7CisgICAgcmV0dXJuIGlzRG9jdW1lbnRFbGVtZW50UmVuZGVyZXIoKSB8fCBpc1Bvc2l0
aW9uZWQoKSB8fCBjcmVhdGVzR3JvdXAoKSB8fCBoYXNUcmFuc2Zvcm1SZWxhdGVkUHJvcGVydHko
KSB8fCBoYXNIaWRkZW5CYWNrZmFjZSgpIHx8IGhhc1JlZmxlY3Rpb24oKTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQu
Y3BwCmluZGV4IDZlYjY5ODRkNjU0OC4uYzc0NDAyNjA1Zjk4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCkBAIC05NSw3ICs5NSw2IEBACiAjaW5jbHVkZSAi
U3R5bGVSZXNvbHZlci5oIgogI2luY2x1ZGUgIlN0eWxlYWJsZS5oIgogI2luY2x1ZGUgIlRleHRB
dXRvU2l6aW5nLmgiCi0jaW5jbHVkZSAiVmlld1RyYW5zaXRpb24uaCIKICNpbmNsdWRlIDx3dGYv
SXNvTWFsbG9jSW5saW5lcy5oPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVk
ZSA8d3RmL1N0YWNrU3RhdHMuaD4KQEAgLTIwNjQsMTkgKzIwNjMsNiBAQCBib29sIFJlbmRlckVs
ZW1lbnQ6Omhhc1NlbGZQYWludGluZ0xheWVyKCkgY29uc3QKICAgICByZXR1cm4gbGF5ZXJNb2Rl
bE9iamVjdC5oYXNTZWxmUGFpbnRpbmdMYXllcigpOwogfQogCi1ib29sIFJlbmRlckVsZW1lbnQ6
Omhhc1ZpZXdUcmFuc2l0aW9uKCkgY29uc3QKLXsKLSAgICBpZiAoIXN0eWxlKCkudmlld1RyYW5z
aXRpb25OYW1lKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiAhIWRvY3Vt
ZW50KCkuYWN0aXZlVmlld1RyYW5zaXRpb24oKTsKLX0KLQotYm9vbCBSZW5kZXJFbGVtZW50Ojpp
c1ZpZXdUcmFuc2l0aW9uUHNldWRvKCkgY29uc3QKLXsKLSAgICByZXR1cm4gc3R5bGUoKS5wc2V1
ZG9FbGVtZW50VHlwZSgpID09IFBzZXVkb0lkOjpWaWV3VHJhbnNpdGlvbk5ldyB8fCBzdHlsZSgp
LnBzZXVkb0VsZW1lbnRUeXBlKCkgPT0gUHNldWRvSWQ6OlZpZXdUcmFuc2l0aW9uT2xkOwotfQot
CiBib29sIFJlbmRlckVsZW1lbnQ6OmNoZWNrRm9yUmVwYWludER1cmluZ0xheW91dCgpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIGV2ZXJIYWRMYXlvdXQoKSAmJiAhaGFzU2VsZlBhaW50aW5nTGF5ZXIo
KSAmJiAhZG9jdW1lbnQoKS52aWV3KCktPmxheW91dENvbnRleHQoKS5uZWVkc0Z1bGxSZXBhaW50
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAppbmRleCA2OWVmM2Nk
ZmE5OWUuLjlhZTg4MDRiMjc5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxl
bWVudC5oCkBAIC0xOTEsOCArMTkxLDYgQEAgcHVibGljOgogICAgIGlubGluZSBib29sIGhhc0Ns
aXBPck5vblZpc2libGVPdmVyZmxvdygpIGNvbnN0OwogICAgIGlubGluZSBib29sIGhhc0NsaXBQ
YXRoKCkgY29uc3Q7CiAgICAgaW5saW5lIGJvb2wgaGFzSGlkZGVuQmFja2ZhY2UoKSBjb25zdDsK
LSAgICBib29sIGhhc1ZpZXdUcmFuc2l0aW9uKCkgY29uc3Q7Ci0gICAgYm9vbCBpc1ZpZXdUcmFu
c2l0aW9uUHNldWRvKCkgY29uc3Q7CiAgICAgYm9vbCBoYXNPdXRsaW5lQW5ub3RhdGlvbigpIGNv
bnN0OwogICAgIGlubGluZSBib29sIGhhc091dGxpbmUoKSBjb25zdDsKICAgICBib29sIGhhc1Nl
bGZQYWludGluZ0xheWVyKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcAppbmRleCA4ZDZhZWYyZjY5NGEuLjYxMGMyODA2NjU0MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0xNDYsNyArMTQ2LDYgQEAKICNpbmNsdWRl
ICJUcmFuc2Zvcm1PcGVyYXRpb25EYXRhLmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25NYXRy
aXguaCIKICNpbmNsdWRlICJUcmFuc2xhdGVUcmFuc2Zvcm1PcGVyYXRpb24uaCIKLSNpbmNsdWRl
ICJWaWV3VHJhbnNpdGlvbi5oIgogI2luY2x1ZGUgIldoZWVsRXZlbnRUZXN0TW9uaXRvci5oIgog
I2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8d3RmL0hleE51bWJlci5oPgpAQCAtNTc1LDgg
KzU3NCw2IEBAIHN0YXRpYyBib29sIGNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dChjb25zdCBSZW5k
ZXJMYXllciYgbGF5ZXIpCiAgICAgICAgIHx8IHJlbmRlcmVyLmhhc0JhY2tkcm9wRmlsdGVyKCkK
ICAgICAgICAgfHwgcmVuZGVyZXIuaGFzQmxlbmRNb2RlKCkKICAgICAgICAgfHwgcmVuZGVyZXIu
aXNUcmFuc3BhcmVudCgpCi0gICAgICAgIHx8IHJlbmRlcmVyLmhhc1ZpZXdUcmFuc2l0aW9uKCkK
LSAgICAgICAgfHwgcmVuZGVyZXIuaXNWaWV3VHJhbnNpdGlvblBzZXVkbygpCiAgICAgICAgIHx8
IHJlbmRlcmVyLmlzUG9zaXRpb25lZCgpIC8vIE5vdGUgdGhhdCB0aGlzIG9ubHkgY3JlYXRlcyBz
dGFja2luZyBjb250ZXh0IGluIGNvbmp1bmN0aW9uIHdpdGggZXhwbGljaXQgei1pbmRleC4KICAg
ICAgICAgfHwgcmVuZGVyZXIuaGFzUmVmbGVjdGlvbigpCiAgICAgICAgIHx8IHJlbmRlcmVyLnN0
eWxlKCkuaGFzSXNvbGF0aW9uKCkKQEAgLTYwMiw3ICs1OTksNyBAQCBib29sIFJlbmRlckxheWVy
OjpzaG91bGRCZU5vcm1hbEZsb3dPbmx5KCkgY29uc3QKIAogYm9vbCBSZW5kZXJMYXllcjo6c2hv
dWxkQmVDU1NTdGFja2luZ0NvbnRleHQoKSBjb25zdAogewotICAgIHJldHVybiAhcmVuZGVyZXIo
KS5zdHlsZSgpLmhhc0F1dG9Vc2VkWkluZGV4KCkgfHwgcmVuZGVyZXIoKS5zaG91bGRBcHBseUxh
eW91dE9yUGFpbnRDb250YWlubWVudCgpIHx8IHJlbmRlcmVyKCkuaGFzVmlld1RyYW5zaXRpb24o
KSB8fCByZW5kZXJlcigpLmlzVmlld1RyYW5zaXRpb25Qc2V1ZG8oKSB8fCBpc1JlbmRlclZpZXdM
YXllcigpOworICAgIHJldHVybiAhcmVuZGVyZXIoKS5zdHlsZSgpLmhhc0F1dG9Vc2VkWkluZGV4
KCkgfHwgcmVuZGVyZXIoKS5zaG91bGRBcHBseUxheW91dE9yUGFpbnRDb250YWlubWVudCgpIHx8
IGlzUmVuZGVyVmlld0xheWVyKCk7CiB9CiAKIGJvb2wgUmVuZGVyTGF5ZXI6OmNvbXB1dGVDYW5C
ZUJhY2tkcm9wUm9vdCgpIGNvbnN0CkBAIC02MTYsNyArNjEzLDYgQEAgYm9vbCBSZW5kZXJMYXll
cjo6Y29tcHV0ZUNhbkJlQmFja2Ryb3BSb290KCkgY29uc3QKICAgICAgICAgfHwgcmVuZGVyZXIo
KS5oYXNGaWx0ZXIoKQogICAgICAgICB8fCByZW5kZXJlcigpLmhhc0JsZW5kTW9kZSgpCiAgICAg
ICAgIHx8IHJlbmRlcmVyKCkuaGFzTWFzaygpCi0gICAgICAgIHx8IHJlbmRlcmVyKCkuaGFzVmll
d1RyYW5zaXRpb24oKQogICAgICAgICB8fCByZW5kZXJlcigpLmlzRG9jdW1lbnRFbGVtZW50UmVu
ZGVyZXIoKQogICAgICAgICB8fCAocmVuZGVyZXIoKS5zdHlsZSgpLndpbGxDaGFuZ2UoKSAmJiBy
ZW5kZXJlcigpLnN0eWxlKCkud2lsbENoYW5nZSgpLT5jYW5CZUJhY2tkcm9wUm9vdCgpKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5k
ZXggYzllMjliNmJhYTQwLi5jYjhlMDk1YmVlYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCkBAIC0xNDEyLDEyICsxNDEyLDYgQEAgdm9p
ZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdlb21ldHJ5KGNvbnN0IFJlbmRlckxheWVyKiBj
b21wb3NpdGVkQW5jZXN0b3IpCiAKICAgICBhdXRvIHByaW1hcnlMYXllclBvc2l0aW9uID0gcHJp
bWFyeUdyYXBoaWNzTGF5ZXJSZWN0LmxvY2F0aW9uKCk7CiAKLSAgICAvLyBJZiBvdXIgY29udGVu
dCBpcyBiZWluZyB1c2VkIGluIGEgdmlldy10cmFuc2l0aW9uLCB0aGVuIGFsbCBwb3NpdGlvbmlu
ZwotICAgIC8vIGlzIGhhbmRsZWQgdXNpbmcgYSBzeW50aGVzaXplZCAndHJhbnNmb3JtJyBwcm9w
ZXJ0eSBvbiB0aGUgd3JhcHBpbmcKLSAgICAvLyA6OnZpZXctdHJhbnNpdGlvbi1uZXcgZWxlbWVu
dC4KLSAgICBpZiAocmVuZGVyZXIoKS5oYXNWaWV3VHJhbnNpdGlvbigpKQotICAgICAgICBwcmlt
YXJ5TGF5ZXJQb3NpdGlvbiA9IHsgfTsKLQogICAgIC8vIEZJWE1FOiByZWZsZWN0aW9ucyBzaG91
bGQgZm9yY2UgdHJhbnNmb3JtLXN0eWxlIHRvIGJlIGZsYXQgaW4gdGhlIHN0eWxlOiBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2OTU5CiAgICAgYm9vbCBwcmVzZXJ2
ZXMzRCA9IHN0eWxlLnByZXNlcnZlczNEKCkgJiYgIXJlbmRlcmVyKCkuaGFzUmVmbGVjdGlvbigp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21w
b3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuY3BwCmluZGV4IDNmMDNhZjlmMzY1OS4uNDYwYjAyOTJhNDgxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtNzMsNyAr
NzMsNiBAQAogI2luY2x1ZGUgIlRpbGVkQmFja2luZy5oIgogI2luY2x1ZGUgIlRyYW5zZm9ybVN0
YXRlLmgiCiAjaW5jbHVkZSAiVHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9uLmgiCi0jaW5jbHVk
ZSAiVmlld1RyYW5zaXRpb24uaCIKICNpbmNsdWRlICJXaWxsQ2hhbmdlRGF0YS5oIgogI2luY2x1
ZGUgPHd0Zi9IZXhOdW1iZXIuaD4KICNpbmNsdWRlIDx3dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVy
Lmg+CkBAIC0xNDAwLDI4ICsxMzk5LDYgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnRy
YXZlcnNlVW5jaGFuZ2VkU3VidHJlZShSZW5kZXJMYXllciogYW5jZXN0b3JMYXllciwKICAgICBB
U1NFUlQoIWxheWVyLm5lZWRzQ29tcG9zaXRpbmdSZXF1aXJlbWVudHNUcmF2ZXJzYWwoKSk7CiB9
CiAKLXZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpjb2xsZWN0Vmlld1RyYW5zaXRpb25OZXdD
b250ZW50TGF5ZXJzKFJlbmRlckxheWVyJiBsYXllciwgVmVjdG9yPFJlZjxHcmFwaGljc0xheWVy
Pj4mIGNoaWxkTGlzdCkKLXsKLSAgICBpZiAobGF5ZXIucmVuZGVyZXIoKS5zdHlsZSgpLnBzZXVk
b0VsZW1lbnRUeXBlKCkgIT0gUHNldWRvSWQ6OlZpZXdUcmFuc2l0aW9uTmV3KQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBSZWZQdHIgYWN0aXZlVmlld1RyYW5zaXRpb24gPSBsYXllci5yZW5kZXJl
cigpLmRvY3VtZW50KCkuYWN0aXZlVmlld1RyYW5zaXRpb24oKTsKLSAgICBpZiAoIWFjdGl2ZVZp
ZXdUcmFuc2l0aW9uKQotICAgICAgICByZXR1cm47Ci0KLSAgICBhdXRvKiBjYXB0dXJlZEVsZW1l
bnQgPSBhY3RpdmVWaWV3VHJhbnNpdGlvbi0+bmFtZWRFbGVtZW50cygpLmZpbmQobGF5ZXIucmVu
ZGVyZXIoKS5zdHlsZSgpLnBzZXVkb0VsZW1lbnROYW1lQXJndW1lbnQoKSk7Ci0gICAgaWYgKCFj
YXB0dXJlZEVsZW1lbnQgfHwgIWNhcHR1cmVkRWxlbWVudC0+bmV3RWxlbWVudCkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgYXV0byogY2FwdHVyZWRSZW5kZXJlciA9IGNhcHR1cmVkRWxlbWVudC0+
bmV3RWxlbWVudC0+cmVuZGVyZXIoKTsKLSAgICBpZiAoIWNhcHR1cmVkUmVuZGVyZXIgfHwgIWNh
cHR1cmVkUmVuZGVyZXItPmhhc0xheWVyKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGF1dG8m
IG1vZGVsT2JqZWN0ID0gZG93bmNhc3Q8UmVuZGVyTGF5ZXJNb2RlbE9iamVjdD4oKmNhcHR1cmVk
UmVuZGVyZXIpOwotICAgIGlmIChSZW5kZXJMYXllckJhY2tpbmcqIGJhY2tpbmcgPSBtb2RlbE9i
amVjdC5sYXllcigpLT5iYWNraW5nKCkpCi0gICAgICAgIGNoaWxkTGlzdC5hcHBlbmQoKmJhY2tp
bmctPmNoaWxkRm9yU3VwZXJsYXllcnMoKSk7Ci19Ci0KIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3Np
dG9yOjp1cGRhdGVCYWNraW5nQW5kSGllcmFyY2h5KFJlbmRlckxheWVyJiBsYXllciwgVmVjdG9y
PFJlZjxHcmFwaGljc0xheWVyPj4mIGNoaWxkTGF5ZXJzT2ZFbmNsb3NpbmdMYXllciwgVXBkYXRl
QmFja2luZ1RyYXZlcnNhbFN0YXRlJiB0cmF2ZXJzYWxTdGF0ZSwgU2Nyb2xsaW5nVHJlZVN0YXRl
JiBzY3JvbGxpbmdUcmVlU3RhdGUsIE9wdGlvblNldDxVcGRhdGVMZXZlbD4gdXBkYXRlTGV2ZWwp
CiB7CiAgICAgbGF5ZXIudXBkYXRlRGVzY2VuZGFudERlcGVuZGVudEZsYWdzKCk7CkBAIC0xNTQz
LDggKzE1MjAsNiBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlQmFja2luZ0Fu
ZEhpZXJhcmNoeShSZW5kZXJMYXllciYgbGF5ZXIsIFZlY3RvcgogICAgICAgICAgICAgaWYgKGF1
dG8qIHJlbmRlcldpZGdldCA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJXaWRnZXQ+KGxheWVyLnJl
bmRlcmVyKCkpKQogICAgICAgICAgICAgICAgIGF0dGFjaGVkV2lkZ2V0Q29udGVudHMgPSBhdHRh
Y2hXaWRnZXRDb250ZW50TGF5ZXJzKCpyZW5kZXJXaWRnZXQpOwogCi0gICAgICAgICAgICBjb2xs
ZWN0Vmlld1RyYW5zaXRpb25OZXdDb250ZW50TGF5ZXJzKGxheWVyLCBjaGlsZExpc3QpOwotCiAg
ICAgICAgICAgICBpZiAoIWF0dGFjaGVkV2lkZ2V0Q29udGVudHMpIHsKICAgICAgICAgICAgICAg
ICAvLyBJZiB0aGUgbGF5ZXIgaGFzIGEgY2xpcHBpbmcgbGF5ZXIgdGhlIG92ZXJmbG93IGNvbnRy
b2xzIGxheWVycyB3aWxsIGJlIHNpYmxpbmdzIG9mIHRoZSBjbGlwcGluZyBsYXllci4KICAgICAg
ICAgICAgICAgICAvLyBPdGhlcndpc2UsIHRoZSBvdmVyZmxvdyBjb250cm9sIGxheWVycyBhcmUg
bm9ybWFsIGNoaWxkcmVuLgpAQCAtMTU1OCw4ICsxNTMzLDcgQEAgdm9pZCBSZW5kZXJMYXllckNv
bXBvc2l0b3I6OnVwZGF0ZUJhY2tpbmdBbmRIaWVyYXJjaHkoUmVuZGVyTGF5ZXImIGxheWVyLCBW
ZWN0b3IKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0gICAgICAgIGlmICghbGF5ZXIucmVu
ZGVyZXIoKS5oYXNWaWV3VHJhbnNpdGlvbigpKQotICAgICAgICAgICAgY2hpbGRMYXllcnNPZkVu
Y2xvc2luZ0xheWVyLmFwcGVuZCgqbGF5ZXJCYWNraW5nLT5jaGlsZEZvclN1cGVybGF5ZXJzKCkp
OworICAgICAgICBjaGlsZExheWVyc09mRW5jbG9zaW5nTGF5ZXIuYXBwZW5kKCpsYXllckJhY2tp
bmctPmNoaWxkRm9yU3VwZXJsYXllcnMoKSk7CiAKICAgICAgICAgaWYgKGxheWVyQmFja2luZy0+
aGFzQW5jZXN0b3JDbGlwcGluZ0xheWVycygpICYmIGxheWVyQmFja2luZy0+YW5jZXN0b3JDbGlw
cGluZ1N0YWNrKCktPmhhc0FueVNjcm9sbGluZ0xheWVycygpKQogICAgICAgICAgICAgdHJhdmVy
c2FsU3RhdGUubGF5ZXJzQ2xpcHBlZEJ5U2Nyb2xsZXJzLT5hcHBlbmQoJmxheWVyKTsKQEAgLTI4
OTAsNyArMjg2NCw2IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBv
c2l0aW5nTGF5ZXIoY29uc3QgUmVuZGVyTGF5ZXImIGxheWVyLCBSCiAgICAgICAgIHx8IHJlcXVp
cmVzQ29tcG9zaXRpbmdGb3JGaWx0ZXJzKHJlbmRlcmVyKQogICAgICAgICB8fCByZXF1aXJlc0Nv
bXBvc2l0aW5nRm9yV2lsbENoYW5nZShyZW5kZXJlcikKICAgICAgICAgfHwgcmVxdWlyZXNDb21w
b3NpdGluZ0ZvckJhY2tmYWNlVmlzaWJpbGl0eShyZW5kZXJlcikKLSAgICAgICAgfHwgcmVxdWly
ZXNDb21wb3NpdGluZ0ZvclZpZXdUcmFuc2l0aW9uKHJlbmRlcmVyKQogICAgICAgICB8fCByZXF1
aXJlc0NvbXBvc2l0aW5nRm9yVmlkZW8ocmVuZGVyZXIpCiAgICAgICAgIHx8IHJlcXVpcmVzQ29t
cG9zaXRpbmdGb3JNb2RlbChyZW5kZXJlcikKICAgICAgICAgfHwgcmVxdWlyZXNDb21wb3NpdGlu
Z0ZvckZyYW1lKHJlbmRlcmVyLCBxdWVyeURhdGEpCkBAIC0yOTY1LDcgKzI5MzgsNiBAQCBib29s
IFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNPd25CYWNraW5nU3RvcmUoY29uc3QgUmVu
ZGVyTGF5ZXImIGxheWVyLCBjbwogICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yRmls
dGVycyhyZW5kZXJlcikKICAgICAgICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0ZvcldpbGxDaGFu
Z2UocmVuZGVyZXIpCiAgICAgICAgIHx8IHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JCYWNrZmFjZVZp
c2liaWxpdHkocmVuZGVyZXIpCi0gICAgICAgIHx8IHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JWaWV3
VHJhbnNpdGlvbihyZW5kZXJlcikKICAgICAgICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0ZvclZp
ZGVvKHJlbmRlcmVyKQogICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yTW9kZWwocmVu
ZGVyZXIpCiAgICAgICAgIHx8IHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JGcmFtZShyZW5kZXJlciwg
cXVlcnlEYXRhKQpAQCAtMzQ4MywxMSArMzQ1NSw2IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3Np
dG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5nRm9yQmFja2ZhY2VWaXNpYmlsaXR5KFJlbmRlckxheWVy
CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVx
dWlyZXNDb21wb3NpdGluZ0ZvclZpZXdUcmFuc2l0aW9uKFJlbmRlckxheWVyTW9kZWxPYmplY3Qm
IHJlbmRlcmVyKSBjb25zdAotewotICAgIHJldHVybiByZW5kZXJlci5oYXNWaWV3VHJhbnNpdGlv
bigpIHx8IHJlbmRlcmVyLmlzVmlld1RyYW5zaXRpb25Qc2V1ZG8oKTsKLX0KLQogYm9vbCBSZW5k
ZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29tcG9zaXRpbmdGb3JWaWRlbyhSZW5kZXJMYXll
ck1vZGVsT2JqZWN0JiByZW5kZXJlcikgY29uc3QKIHsKICAgICBpZiAoIShtX2NvbXBvc2l0aW5n
VHJpZ2dlcnMgJiBDaHJvbWVDbGllbnQ6OlZpZGVvVHJpZ2dlcikpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKaW5kZXggYTkwYWZiMWI0ZGU2
Li4yOTJlMmE0OGNhZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllckNvbXBvc2l0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJDb21wb3NpdG9yLmgKQEAgLTMwNCw3ICszMDQsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IFJlbmRlckxheWVyQ29tcG9zaXRvciogZnJhbWVDb250ZW50c0NvbXBvc2l0b3IoUmVuZGVyV2lk
Z2V0Jik7CiAgICAgLy8gUmV0dXJucyB0cnVlIHRoZSB3aWRnZXQgY29udGVudHMgbGF5ZXIgd2Fz
IHBhcmVudGVkLgogICAgIGJvb2wgYXR0YWNoV2lkZ2V0Q29udGVudExheWVycyhSZW5kZXJXaWRn
ZXQmKTsKLSAgICB2b2lkIGNvbGxlY3RWaWV3VHJhbnNpdGlvbk5ld0NvbnRlbnRMYXllcnMoUmVu
ZGVyTGF5ZXImLCBWZWN0b3I8UmVmPEdyYXBoaWNzTGF5ZXI+PiYpOwogCiAgICAgLy8gVXBkYXRl
IHRoZSBnZW9tZXRyeSBvZiB0aGUgbGF5ZXJzIHVzZWQgZm9yIGNsaXBwaW5nIGFuZCBzY3JvbGxp
bmcgaW4gZnJhbWVzLgogICAgIHZvaWQgZnJhbWVWaWV3RGlkQ2hhbmdlTG9jYXRpb24oY29uc3Qg
SW50UG9pbnQmIGNvbnRlbnRzT2Zmc2V0KTsKQEAgLTQ5Niw3ICs0OTUsNiBAQCBwcml2YXRlOgog
ICAgIGJvb2wgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckFuaW1hdGlvbihSZW5kZXJMYXllck1vZGVs
T2JqZWN0JikgY29uc3Q7CiAgICAgYm9vbCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yVHJhbnNmb3Jt
KFJlbmRlckxheWVyTW9kZWxPYmplY3QmKSBjb25zdDsKICAgICBib29sIHJlcXVpcmVzQ29tcG9z
aXRpbmdGb3JCYWNrZmFjZVZpc2liaWxpdHkoUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCYpIGNvbnN0
OwotICAgIGJvb2wgcmVxdWlyZXNDb21wb3NpdGluZ0ZvclZpZXdUcmFuc2l0aW9uKFJlbmRlckxh
eWVyTW9kZWxPYmplY3QmKSBjb25zdDsKICAgICBib29sIHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JW
aWRlbyhSZW5kZXJMYXllck1vZGVsT2JqZWN0JikgY29uc3Q7CiAgICAgYm9vbCByZXF1aXJlc0Nv
bXBvc2l0aW5nRm9yQ2FudmFzKFJlbmRlckxheWVyTW9kZWxPYmplY3QmKSBjb25zdDsKICAgICBi
b29sIHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JGaWx0ZXJzKFJlbmRlckxheWVyTW9kZWxPYmplY3Qm
KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCAyY2Ew
YjgwZDg0Y2UuLjE5ZDE2Y2Y3YThiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuaApAQCAtMTY5LDcgKzE2OSw2IEBAIHB1YmxpYzoKICAgICAgICAgVlRUQ3VlLAogICAg
ICAgICBWaWRlbywKICAgICAgICAgVmlldywKLSAgICAgICAgVmlld1RyYW5zaXRpb25DYXB0dXJl
LAogI2lmIEVOQUJMRShNQVRITUwpCiAgICAgICAgIE1hdGhNTEJsb2NrLAogICAgICAgICBNYXRo
TUxGZW5jZWQsCkBAIC0yNTUsNyArMjU0LDYgQEAgcHVibGljOgogICAgICAgICBJc0ltYWdlID0g
MSA8PCAwLAogICAgICAgICBJc01lZGlhID0gMSA8PCAxLAogICAgICAgICBJc1dpZGdldCA9IDEg
PDwgMiwKLSAgICAgICAgSXNWaWV3VHJhbnNpdGlvbkNhcHR1cmUgPSAxIDw8IDMsCiAgICAgfTsK
IAogICAgIGVudW0gY2xhc3MgU1ZHTW9kZWxPYmplY3RGbGFnIDogdWludDhfdCB7CkBAIC00NzYs
NyArNDc0LDYgQEAgcHVibGljOgogICAgIGJvb2wgaXNSZW5kZXJTZWFyY2hGaWVsZCgpIGNvbnN0
IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpTZWFyY2hGaWVsZDsgfQogICAgIGJvb2wgaXNSZW5k
ZXJUZXh0Q29udHJvbElubmVyQmxvY2soKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6
VGV4dENvbnRyb2xJbm5lckJsb2NrOyB9CiAgICAgYm9vbCBpc1JlbmRlclZpZGVvKCkgY29uc3Qg
eyByZXR1cm4gdHlwZSgpID09IFR5cGU6OlZpZGVvOyB9Ci0gICAgYm9vbCBpc1JlbmRlclZpZXdU
cmFuc2l0aW9uQ2FwdHVyZSgpIGNvbnN0IHsgcmV0dXJuIGlzUmVuZGVyUmVwbGFjZWQoKSAmJiBt
X3R5cGVTcGVjaWZpY0ZsYWdzLnJlcGxhY2VkRmxhZ3MoKS5jb250YWlucyhSZXBsYWNlZEZsYWc6
OklzVmlld1RyYW5zaXRpb25DYXB0dXJlKTsgfQogICAgIGJvb2wgaXNSZW5kZXJXaWRnZXQoKSBj
b25zdCB7IHJldHVybiBpc1JlbmRlclJlcGxhY2VkKCkgJiYgbV90eXBlU3BlY2lmaWNGbGFncy5y
ZXBsYWNlZEZsYWdzKCkuY29udGFpbnMoUmVwbGFjZWRGbGFnOjpJc1dpZGdldCk7IH0KICAgICBi
b29sIGlzUmVuZGVySFRNTENhbnZhcygpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpI
VE1MQ2FudmFzOyB9CiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3VHJhbnNpdGlvbkNhcHR1cmUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXdUcmFuc2l0aW9uQ2FwdHVyZS5j
cHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJkOGExN2UzODU1Yy4uMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3VHJhbnNpdGlvbkNh
cHR1cmUuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAyNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
bmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJSZW5kZXJWaWV3VHJhbnNpdGlvbkNhcHR1cmUu
aCIKLQotI2luY2x1ZGUgIlJlbmRlckJveE1vZGVsT2JqZWN0SW5saW5lcy5oIgotCi1uYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0KLVdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChSZW5kZXJWaWV3VHJh
bnNpdGlvbkNhcHR1cmUpOwotCi1SZW5kZXJWaWV3VHJhbnNpdGlvbkNhcHR1cmU6OlJlbmRlclZp
ZXdUcmFuc2l0aW9uQ2FwdHVyZShUeXBlIHR5cGUsIERvY3VtZW50JiBkb2N1bWVudCwgUmVuZGVy
U3R5bGUmJiBzdHlsZSkKLSAgICA6IFJlbmRlclJlcGxhY2VkKHR5cGUsIGRvY3VtZW50LCBXVEZN
b3ZlKHN0eWxlKSwgeyB9LCBSZXBsYWNlZEZsYWc6OklzVmlld1RyYW5zaXRpb25DYXB0dXJlKQot
eyB9Ci0KLXZvaWQgUmVuZGVyVmlld1RyYW5zaXRpb25DYXB0dXJlOjpzZXRJbWFnZShSZWZQdHI8
SW1hZ2VCdWZmZXI+IG9sZEltYWdlLCBjb25zdCBMYXlvdXRTaXplJiBzaXplKQotewotICAgIHNl
dEludHJpbnNpY1NpemUoc2l6ZSk7Ci0gICAgbV9vbGRJbWFnZSA9IG9sZEltYWdlOwotfQotCi12
b2lkIFJlbmRlclZpZXdUcmFuc2l0aW9uQ2FwdHVyZTo6cGFpbnRSZXBsYWNlZChQYWludEluZm8m
IHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQotewotICAgIGF1dG8m
IGNvbnRleHQgPSBwYWludEluZm8uY29udGV4dCgpOwotCi0gICAgTGF5b3V0UmVjdCBjb250ZW50
Qm94UmVjdCA9IHRoaXMtPmNvbnRlbnRCb3hSZWN0KCk7Ci0KLSAgICBpZiAoY29udGV4dC5kZXRl
Y3RpbmdDb250ZW50ZnVsUGFpbnQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgY29udGVudEJv
eFJlY3QubW92ZUJ5KHBhaW50T2Zmc2V0KTsKLSAgICBMYXlvdXRSZWN0IHJlcGxhY2VkQ29udGVu
dFJlY3QgPSB0aGlzLT5yZXBsYWNlZENvbnRlbnRSZWN0KCk7Ci0gICAgcmVwbGFjZWRDb250ZW50
UmVjdC5tb3ZlQnkocGFpbnRPZmZzZXQpOwotCi0gICAgLy8gTm90IGFsbG93ZWQgdG8gb3ZlcmZs
b3cgdGhlIGNvbnRlbnQgYm94LgotICAgIGJvb2wgY2xpcCA9ICFjb250ZW50Qm94UmVjdC5jb250
YWlucyhyZXBsYWNlZENvbnRlbnRSZWN0KTsKLSAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVy
IHN0YXRlU2F2ZXIocGFpbnRJbmZvLmNvbnRleHQoKSwgY2xpcCk7Ci0gICAgaWYgKGNsaXApCi0g
ICAgICAgIHBhaW50SW5mby5jb250ZXh0KCkuY2xpcChzbmFwcGVkSW50UmVjdChjb250ZW50Qm94
UmVjdCkpOwotCi0gICAgaWYgKHBhaW50SW5mby5waGFzZSA9PSBQYWludFBoYXNlOjpGb3JlZ3Jv
dW5kKQotICAgICAgICBwYWdlKCkuYWRkUmVsZXZhbnRSZXBhaW50ZWRPYmplY3QoKnRoaXMsIGlu
dGVyc2VjdGlvbihyZXBsYWNlZENvbnRlbnRSZWN0LCBjb250ZW50Qm94UmVjdCkpOwotCi0gICAg
SW50ZXJwb2xhdGlvblF1YWxpdHlNYWludGFpbmVyIGludGVycG9sYXRpb25NYWludGFpbmVyKGNv
bnRleHQsIEltYWdlUXVhbGl0eUNvbnRyb2xsZXI6OmludGVycG9sYXRpb25RdWFsaXR5RnJvbVN0
eWxlKHN0eWxlKCkpKTsKLSAgICBpZiAobV9vbGRJbWFnZSkKLSAgICAgICAgY29udGV4dC5kcmF3
SW1hZ2VCdWZmZXIoKm1fb2xkSW1hZ2UsIHNuYXBwZWRJbnRSZWN0KHJlcGxhY2VkQ29udGVudFJl
Y3QpLCB7IGNvbnRleHQuY29tcG9zaXRlT3BlcmF0aW9uKCkgfSk7Ci0KLX0KLQotfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clZpZXdUcmFuc2l0aW9uQ2FwdHVyZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clZpZXdUcmFuc2l0aW9uQ2FwdHVyZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBj
MjJmZDE4NGRhNWYuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVmlld1RyYW5zaXRpb25DYXB0dXJlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDI0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpbmNsdWRlICJSZW5kZXJSZXBsYWNl
ZC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFJlbmRlclZpZXdUcmFuc2l0aW9u
Q2FwdHVyZSA6IHB1YmxpYyBSZW5kZXJSZXBsYWNlZCB7Ci0gICAgV1RGX01BS0VfSVNPX0FMTE9D
QVRFRChSZW5kZXJWaWV3VHJhbnNpdGlvbkNhcHR1cmUpOwotcHVibGljOgotICAgIFJlbmRlclZp
ZXdUcmFuc2l0aW9uQ2FwdHVyZShUeXBlLCBEb2N1bWVudCYsIFJlbmRlclN0eWxlJiYpOwotCi0g
ICAgdm9pZCBzZXRJbWFnZShSZWZQdHI8SW1hZ2VCdWZmZXI+LCBjb25zdCBMYXlvdXRTaXplJik7
Ci0KLSAgICB2b2lkIHBhaW50UmVwbGFjZWQoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQm
IHBhaW50T2Zmc2V0KSBvdmVycmlkZTsKLQotcHJpdmF0ZToKLSAgICBBU0NJSUxpdGVyYWwgcmVu
ZGVyTmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHN0eWxlKCkucHNldWRvRWxlbWVudFR5
cGUoKSA9PSBQc2V1ZG9JZDo6Vmlld1RyYW5zaXRpb25OZXcgPyAiUmVuZGVyVmlld1RyYW5zaXRp
b25OZXciX3MgOiAiUmVuZGVyVmlld1RyYW5zaXRpb25PbGQiX3M7IH0KLQotICAgIFJlZlB0cjxJ
bWFnZUJ1ZmZlcj4gbV9vbGRJbWFnZTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQot
U1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclZpZXdUcmFuc2l0aW9u
Q2FwdHVyZSwgaXNSZW5kZXJWaWV3VHJhbnNpdGlvbkNhcHR1cmUoKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCmlu
ZGV4IDgxMzZkNzIwMDE1NS4uYzhkMzA3MTM3YzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAKQEAgLTczOCw3
ICs3MzgsNyBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp0ZWFyRG93blJlbmRlcmVycyhFbGVt
ZW50JiByb290LCBUZWFyZG93blR5cGUgdGVhcmRvd25UeQogICAgICAgICAgICAgICAgIC8vIHdl
IGNhbm5vdCBjcmVhdGUgYSBTdHlsZWFibGUgd2l0aCBhIFBzZXVkb0VsZW1lbnQuCiAgICAgICAg
ICAgICAgICAgaWYgKGF1dG8qIHJlbmRlckxpc3RJdGVtID0gZHluYW1pY0Rvd25jYXN0PFJlbmRl
ckxpc3RJdGVtPihlbGVtZW50LnJlbmRlcmVyKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlm
IChyZW5kZXJMaXN0SXRlbS0+bWFya2VyUmVuZGVyZXIoKSkKLSAgICAgICAgICAgICAgICAgICAg
ICAgIFN0eWxlYWJsZShlbGVtZW50LCBTdHlsZTo6UHNldWRvRWxlbWVudElkZW50aWZpZXIgeyBQ
c2V1ZG9JZDo6TWFya2VyIH0pLmNhbmNlbFN0eWxlT3JpZ2luYXRlZEFuaW1hdGlvbnMoKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIFN0eWxlYWJsZShlbGVtZW50LCBQc2V1ZG9JZDo6TWFya2Vy
KS5jYW5jZWxTdHlsZU9yaWdpbmF0ZWRBbmltYXRpb25zKCk7CiAgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBk
YXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXJHZW5lcmF0ZWRDb250ZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQu
Y3BwCmluZGV4IDFkZTIyMDM3YzVjOS4uMjMwNDY5MDQ0OWM3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXJHZW5lcmF0ZWRDb250
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJl
ZVVwZGF0ZXJHZW5lcmF0ZWRDb250ZW50LmNwcApAQCAtODksNyArODksNyBAQCBzdGF0aWMgYm9v
bCBlbGVtZW50SXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50
KGNvbnN0IEVsZW1lbgogICAgICAgICByZXR1cm4gZWxlbWVudElzVGFyZ2V0ZWRCeUtleWZyYW1l
RWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudChwc2V1ZG9FbGVtZW50LT5ob3N0RWxlbWVudCgp
LCBwc2V1ZG9JZCk7CiAKICAgICBpZiAoZWxlbWVudCkgewotICAgICAgICBpZiAoYXV0byogc3Rh
Y2sgPSBlbGVtZW50LT5rZXlmcmFtZUVmZmVjdFN0YWNrKHBzZXVkb0lkID09IFBzZXVkb0lkOjpO
b25lID8gc3RkOjpudWxsb3B0IDogc3RkOjpvcHRpb25hbChTdHlsZTo6UHNldWRvRWxlbWVudElk
ZW50aWZpZXIgeyBwc2V1ZG9JZCB9KSkpCisgICAgICAgIGlmIChhdXRvKiBzdGFjayA9IGVsZW1l
bnQtPmtleWZyYW1lRWZmZWN0U3RhY2socHNldWRvSWQpKQogICAgICAgICAgICAgcmV0dXJuIHN0
YWNrLT5yZXF1aXJlc1BzZXVkb0VsZW1lbnQoKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlclZpZXdUcmFuc2l0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBk
YXRlclZpZXdUcmFuc2l0aW9uLmNwcAppbmRleCA5N2Q0MDQwYjAzNWQuLmQ2NjU1OTdlMWQ2MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVV
cGRhdGVyVmlld1RyYW5zaXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91
cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlclZpZXdUcmFuc2l0aW9uLmNwcApAQCAtMzIsNyArMzIs
NiBAQAogI2luY2x1ZGUgIlJlbmRlclN0eWxlSW5saW5lcy5oIgogI2luY2x1ZGUgIlJlbmRlclRy
ZWVVcGRhdGVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgotI2luY2x1ZGUgIlJlbmRlclZp
ZXdUcmFuc2l0aW9uQ2FwdHVyZS5oIgogI2luY2x1ZGUgIlN0eWxlVHJlZVJlc29sdmVyLmgiCiAj
aW5jbHVkZSAiVmlld1RyYW5zaXRpb24uaCIKIApAQCAtODEsNyArODAsNyBAQCB2b2lkIFJlbmRl
clRyZWVVcGRhdGVyOjpWaWV3VHJhbnNpdGlvbjo6dXBkYXRlUHNldWRvRWxlbWVudFRyZWUoUmVu
ZGVyRWxlbWVudCYgZAogICAgICAgICBuZXdWaWV3VHJhbnNpdGlvblJvb3QtPmluaXRpYWxpemVT
dHlsZSgpOwogICAgICAgICBkb2N1bWVudEVsZW1lbnRSZW5kZXJlci52aWV3KCkuc2V0Vmlld1Ry
YW5zaXRpb25Sb290KCpuZXdWaWV3VHJhbnNpdGlvblJvb3QuZ2V0KCkpOwogICAgICAgICB2aWV3
VHJhbnNpdGlvblJvb3QgPSBuZXdWaWV3VHJhbnNpdGlvblJvb3QuZ2V0KCk7Ci0gICAgICAgIG1f
dXBkYXRlci5tX2J1aWxkZXIuYXR0YWNoKCpkb2N1bWVudEVsZW1lbnRSZW5kZXJlci5wYXJlbnQo
KSwgV1RGTW92ZShuZXdWaWV3VHJhbnNpdGlvblJvb3QpKTsKKyAgICAgICAgbV91cGRhdGVyLm1f
YnVpbGRlci5hdHRhY2goZG9jdW1lbnRFbGVtZW50UmVuZGVyZXIsIFdURk1vdmUobmV3Vmlld1Ry
YW5zaXRpb25Sb290KSk7CiAgICAgfQogCiAgICAgLy8gTm8gZ3JvdXBzLiBUaGUgbWFwIGlzIGNv
bnN0YW50IGR1cmluZyB0aGUgZHVyYXRpb24gb2YgdGhlIHRyYW5zaXRpb24sIHNvIHdlIGRvbid0
IG5lZWQgdG8gaGFuZGxlIGRlbGV0aW9ucy4KQEAgLTEwMyw3ICsxMDIsNiBAQCB2b2lkIFJlbmRl
clRyZWVVcGRhdGVyOjpWaWV3VHJhbnNpdGlvbjo6dXBkYXRlUHNldWRvRWxlbWVudFRyZWUoUmVu
ZGVyRWxlbWVudCYgZAogICAgICAgICAgICAgYnVpbGRQc2V1ZG9FbGVtZW50R3JvdXAobmFtZSwg
ZG9jdW1lbnRFbGVtZW50UmVuZGVyZXIsIGN1cnJlbnRHcm91cCk7CiAgICAgICAgICAgICBjdXJy
ZW50R3JvdXAgPSBjdXJyZW50R3JvdXAgPyBjdXJyZW50R3JvdXAtPnByZXZpb3VzU2libGluZygp
IDogZG9jdW1lbnRFbGVtZW50UmVuZGVyZXIudmlldygpLnZpZXdUcmFuc2l0aW9uUm9vdCgpLT5m
aXJzdENoaWxkKCk7CiAgICAgICAgIH0KLQogICAgICAgICBjdXJyZW50R3JvdXAgPSBjdXJyZW50
R3JvdXAgPyBjdXJyZW50R3JvdXAtPm5leHRTaWJsaW5nKCkgOiBudWxscHRyOwogICAgIH0KIApA
QCAtMTE3LDIyICsxMTUsMTIgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6Vmlld1RyYW5zaXRp
b246OmJ1aWxkUHNldWRvRWxlbWVudEdyb3VwKGNvbnN0IEF0b21TdHJpbmcKIHsKICAgICBSZWYg
ZG9jdW1lbnQgPSBkb2N1bWVudEVsZW1lbnRSZW5kZXJlci5kb2N1bWVudCgpOwogICAgIGF1dG8m
IGRvY3VtZW50RWxlbWVudFN0eWxlID0gZG9jdW1lbnRFbGVtZW50UmVuZGVyZXIuc3R5bGUoKTsK
LSAgICBhdXRvIGNyZWF0ZVJlbmRlcmVySWZOZWVkZWQgPSBbJl0oY29uc3QgQXRvbVN0cmluZyYg
bmFtZSwgUHNldWRvSWQgcHNldWRvSWQpIC0+IFJlbmRlclB0cjxSZW5kZXJCb3g+IHsKKyAgICBh
dXRvIGNyZWF0ZVJlbmRlcmVySWZOZWVkZWQgPSBbJl0oY29uc3QgQXRvbVN0cmluZyYgbmFtZSwg
UHNldWRvSWQgcHNldWRvSWQpIC0+IFJlbmRlclB0cjxSZW5kZXJCbG9ja0Zsb3c+IHsKICAgICAg
ICAgYXV0byBzdHlsZSA9IGRvY3VtZW50RWxlbWVudFJlbmRlcmVyLmdldENhY2hlZFBzZXVkb1N0
eWxlKHsgcHNldWRvSWQsIG5hbWUgfSwgJmRvY3VtZW50RWxlbWVudFN0eWxlKTsKICAgICAgICAg
aWYgKCFzdHlsZSB8fCBzdHlsZS0+ZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpOb25lKQogICAg
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgIGF1dG8gbmV3U3R5bGUgPSBSZW5kZXJT
dHlsZTo6Y2xvbmUoKnN0eWxlKTsKLSAgICAgICAgUmVuZGVyUHRyPFJlbmRlckJveD4gcmVuZGVy
ZXI7Ci0gICAgICAgIGlmIChwc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6Vmlld1RyYW5zaXRpb25PbGQg
fHwgcHNldWRvSWQgPT0gUHNldWRvSWQ6OlZpZXdUcmFuc2l0aW9uTmV3KSB7Ci0gICAgICAgICAg
ICBSZW5kZXJQdHI8UmVuZGVyVmlld1RyYW5zaXRpb25DYXB0dXJlPiByZW5kZXJlclZpZXdUcmFu
c2l0aW9uID0gV2ViQ29yZTo6Y3JlYXRlUmVuZGVyZXI8UmVuZGVyVmlld1RyYW5zaXRpb25DYXB0
dXJlPihSZW5kZXJPYmplY3Q6OlR5cGU6OlZpZXdUcmFuc2l0aW9uQ2FwdHVyZSwgZG9jdW1lbnQs
IFdURk1vdmUobmV3U3R5bGUpKTsKLQotICAgICAgICAgICAgaWYgKGNvbnN0IGF1dG8qIGNhcHR1
cmVkRWxlbWVudCA9IGRvY3VtZW50LT5hY3RpdmVWaWV3VHJhbnNpdGlvbigpLT5uYW1lZEVsZW1l
bnRzKCkuZmluZChuYW1lKSkKLSAgICAgICAgICAgICAgICByZW5kZXJlclZpZXdUcmFuc2l0aW9u
LT5zZXRJbWFnZShwc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6Vmlld1RyYW5zaXRpb25PbGQgPyBjYXB0
dXJlZEVsZW1lbnQtPm9sZEltYWdlIDogbnVsbHB0ciwgY2FwdHVyZWRFbGVtZW50LT5vbGRTaXpl
KTsKLQotICAgICAgICAgICAgcmVuZGVyZXIgPSBXVEZNb3ZlKHJlbmRlcmVyVmlld1RyYW5zaXRp
b24pOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHJlbmRlcmVyID0gV2ViQ29yZTo6Y3Jl
YXRlUmVuZGVyZXI8UmVuZGVyQmxvY2tGbG93PihSZW5kZXJPYmplY3Q6OlR5cGU6OkJsb2NrRmxv
dywgZG9jdW1lbnQsIFdURk1vdmUobmV3U3R5bGUpKTsKLQorICAgICAgICBhdXRvIHJlbmRlcmVy
ID0gV2ViQ29yZTo6Y3JlYXRlUmVuZGVyZXI8UmVuZGVyQmxvY2tGbG93PihSZW5kZXJPYmplY3Q6
OlR5cGU6OkJsb2NrRmxvdywgZG9jdW1lbnQsIFdURk1vdmUobmV3U3R5bGUpKTsKICAgICAgICAg
cmVuZGVyZXItPmluaXRpYWxpemVTdHlsZSgpOwogICAgICAgICByZXR1cm4gcmVuZGVyZXI7CiAg
ICAgfTsKQEAgLTE2MywyMiArMTUxLDEyIEBAIHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OlZpZXdU
cmFuc2l0aW9uOjp1cGRhdGVQc2V1ZG9FbGVtZW50R3JvdXAoY29uc3QgUmVuZGVyU3R5CiAgICAg
YXV0byBuZXdHcm91cFN0eWxlID0gUmVuZGVyU3R5bGU6OmNsb25lKGdyb3VwU3R5bGUpOwogICAg
IGdyb3VwLnNldFN0eWxlKFdURk1vdmUobmV3R3JvdXBTdHlsZSkpOwogCi0gICAgYXV0byBjcmVh
dGVSZW5kZXJlcklmTmVlZGVkID0gWyZdKFBzZXVkb0lkIHBzZXVkb0lkKSAtPiBSZW5kZXJQdHI8
UmVuZGVyQm94PiB7CisgICAgYXV0byBjcmVhdGVSZW5kZXJlcklmTmVlZGVkID0gWyZdKFBzZXVk
b0lkIHBzZXVkb0lkKSAtPiBSZW5kZXJQdHI8UmVuZGVyQmxvY2tGbG93PiB7CiAgICAgICAgIGF1
dG8gc3R5bGUgPSBkb2N1bWVudEVsZW1lbnRSZW5kZXJlci5nZXRDYWNoZWRQc2V1ZG9TdHlsZSh7
IHBzZXVkb0lkLCBuYW1lIH0sICZkb2N1bWVudEVsZW1lbnRTdHlsZSk7CiAgICAgICAgIGlmICgh
c3R5bGUgfHwgc3R5bGUtPmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6Tm9uZSkKICAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOwogICAgICAgICBhdXRvIG5ld1N0eWxlID0gUmVuZGVyU3R5bGU6
OmNsb25lKCpzdHlsZSk7Ci0gICAgICAgIFJlbmRlclB0cjxSZW5kZXJCb3g+IHJlbmRlcmVyOwot
ICAgICAgICBpZiAocHNldWRvSWQgPT0gUHNldWRvSWQ6OlZpZXdUcmFuc2l0aW9uT2xkIHx8IHBz
ZXVkb0lkID09IFBzZXVkb0lkOjpWaWV3VHJhbnNpdGlvbk5ldykgewotICAgICAgICAgICAgUmVu
ZGVyUHRyPFJlbmRlclZpZXdUcmFuc2l0aW9uQ2FwdHVyZT4gcmVuZGVyZXJWaWV3VHJhbnNpdGlv
biA9IFdlYkNvcmU6OmNyZWF0ZVJlbmRlcmVyPFJlbmRlclZpZXdUcmFuc2l0aW9uQ2FwdHVyZT4o
UmVuZGVyT2JqZWN0OjpUeXBlOjpWaWV3VHJhbnNpdGlvbkNhcHR1cmUsIGRvY3VtZW50RWxlbWVu
dFJlbmRlcmVyLmRvY3VtZW50KCksIFdURk1vdmUobmV3U3R5bGUpKTsKLQotICAgICAgICAgICAg
aWYgKGNvbnN0IGF1dG8qIGNhcHR1cmVkRWxlbWVudCA9IGRvY3VtZW50RWxlbWVudFJlbmRlcmVy
LmRvY3VtZW50KCkuYWN0aXZlVmlld1RyYW5zaXRpb24oKS0+bmFtZWRFbGVtZW50cygpLmZpbmQo
bmFtZSkpCi0gICAgICAgICAgICAgICAgcmVuZGVyZXJWaWV3VHJhbnNpdGlvbi0+c2V0SW1hZ2Uo
cHNldWRvSWQgPT0gUHNldWRvSWQ6OlZpZXdUcmFuc2l0aW9uT2xkID8gY2FwdHVyZWRFbGVtZW50
LT5vbGRJbWFnZSA6IG51bGxwdHIsIGNhcHR1cmVkRWxlbWVudC0+b2xkU2l6ZSk7Ci0KLSAgICAg
ICAgICAgIHJlbmRlcmVyID0gV1RGTW92ZShyZW5kZXJlclZpZXdUcmFuc2l0aW9uKTsKLSAgICAg
ICAgfSBlbHNlCi0gICAgICAgICAgICByZW5kZXJlciA9IFdlYkNvcmU6OmNyZWF0ZVJlbmRlcmVy
PFJlbmRlckJsb2NrRmxvdz4oUmVuZGVyT2JqZWN0OjpUeXBlOjpCbG9ja0Zsb3csIGRvY3VtZW50
RWxlbWVudFJlbmRlcmVyLmRvY3VtZW50KCksIFdURk1vdmUobmV3U3R5bGUpKTsKLQorICAgICAg
ICBhdXRvIHJlbmRlcmVyID0gV2ViQ29yZTo6Y3JlYXRlUmVuZGVyZXI8UmVuZGVyQmxvY2tGbG93
PihSZW5kZXJPYmplY3Q6OlR5cGU6OkJsb2NrRmxvdywgZG9jdW1lbnRFbGVtZW50UmVuZGVyZXIu
ZG9jdW1lbnQoKSwgV1RGTW92ZShuZXdTdHlsZSkpOwogICAgICAgICByZW5kZXJlci0+aW5pdGlh
bGl6ZVN0eWxlKCk7CiAgICAgICAgIHJldHVybiByZW5kZXJlcjsKICAgICB9OwpAQCAtMjI1LDgg
KzIwMyw4IEBAIHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OlZpZXdUcmFuc2l0aW9uOjp1cGRhdGVQ
c2V1ZG9FbGVtZW50R3JvdXAoY29uc3QgUmVuZGVyU3R5CiAgICAgU2luZ2xlVGhyZWFkV2Vha1B0
cjxSZW5kZXJPYmplY3Q+IHZpZXdUcmFuc2l0aW9uT2xkOwogICAgIFNpbmdsZVRocmVhZFdlYWtQ
dHI8UmVuZGVyT2JqZWN0PiB2aWV3VHJhbnNpdGlvbk5ldzsKIAotICAgIFJlbmRlclB0cjxSZW5k
ZXJCb3g+IG5ld1ZpZXdUcmFuc2l0aW9uT2xkOwotICAgIFJlbmRlclB0cjxSZW5kZXJCb3g+IG5l
d1ZpZXdUcmFuc2l0aW9uTmV3OworICAgIFJlbmRlclB0cjxSZW5kZXJCbG9ja0Zsb3c+IG5ld1Zp
ZXdUcmFuc2l0aW9uT2xkOworICAgIFJlbmRlclB0cjxSZW5kZXJCbG9ja0Zsb3c+IG5ld1ZpZXdU
cmFuc2l0aW9uTmV3OwogICAgIGlmIChpbWFnZVBhaXJGaXJzdENoaWxkLT5zdHlsZSgpLnBzZXVk
b0VsZW1lbnRUeXBlKCkgPT0gUHNldWRvSWQ6OlZpZXdUcmFuc2l0aW9uT2xkKSB7CiAgICAgICAg
IHZpZXdUcmFuc2l0aW9uT2xkID0gaW1hZ2VQYWlyRmlyc3RDaGlsZDsKICAgICAgICAgc2hvdWxk
RGVsZXRlVmlld1RyYW5zaXRpb25PbGQgPSB1cGRhdGVSZW5kZXJlcigqdmlld1RyYW5zaXRpb25P
bGQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlRXZlbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlRXZlbnQuY3BwCmluZGV4IDdkNTc3NzBj
NzljZi4uYWFiZDIxYmI5OGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0
b3JhZ2VFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlRXZlbnQu
Y3BwCkBAIC0zOCw2ICszOCw4IEBAIFJlZjxTdG9yYWdlRXZlbnQ+IFN0b3JhZ2VFdmVudDo6Y3Jl
YXRlRm9yQmluZGluZ3MoKQogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0b3JhZ2VFdmVudCk7
CiB9CiAKK1N0b3JhZ2VFdmVudDo6U3RvcmFnZUV2ZW50KCkgPSBkZWZhdWx0OworCiBTdG9yYWdl
RXZlbnQ6On5TdG9yYWdlRXZlbnQoKSA9IGRlZmF1bHQ7CiAKIFJlZjxTdG9yYWdlRXZlbnQ+IFN0
b3JhZ2VFdmVudDo6Y3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYg
a2V5LCBjb25zdCBTdHJpbmcmIG9sZFZhbHVlLCBjb25zdCBTdHJpbmcmIG5ld1ZhbHVlLCBjb25z
dCBTdHJpbmcmIHVybCwgU3RvcmFnZSogc3RvcmFnZUFyZWEpCkBAIC01MCwxMyArNTIsOCBAQCBS
ZWY8U3RvcmFnZUV2ZW50PiBTdG9yYWdlRXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiB0
eXBlLCBjb25zdCBJbml0JiBpbml0aQogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0b3JhZ2VF
dmVudCh0eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKSk7CiB9CiAKLVN0b3JhZ2VFdmVudDo6
U3RvcmFnZUV2ZW50KCkKLSAgICA6IEV2ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6U3RvcmFnZUV2
ZW50KQotewotfQotCiBTdG9yYWdlRXZlbnQ6OlN0b3JhZ2VFdmVudChjb25zdCBBdG9tU3RyaW5n
JiB0eXBlLCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiBvbGRWYWx1ZSwgY29uc3Qg
U3RyaW5nJiBuZXdWYWx1ZSwgY29uc3QgU3RyaW5nJiB1cmwsIFN0b3JhZ2UqIHN0b3JhZ2VBcmVh
KQotICAgIDogRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpTdG9yYWdlRXZlbnQsIHR5cGUsIENh
bkJ1YmJsZTo6Tm8sIElzQ2FuY2VsYWJsZTo6Tm8pCisgICAgOiBFdmVudCh0eXBlLCBDYW5CdWJi
bGU6Ok5vLCBJc0NhbmNlbGFibGU6Ok5vKQogICAgICwgbV9rZXkoa2V5KQogICAgICwgbV9vbGRW
YWx1ZShvbGRWYWx1ZSkKICAgICAsIG1fbmV3VmFsdWUobmV3VmFsdWUpCkBAIC02Niw3ICs2Myw3
IEBAIFN0b3JhZ2VFdmVudDo6U3RvcmFnZUV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNv
bnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpCiB9CiAKIFN0b3JhZ2VFdmVudDo6U3RvcmFnZUV2
ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IEluaXQmIGluaXRpYWxpemVyLCBJc1Ry
dXN0ZWQgaXNUcnVzdGVkKQotICAgIDogRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpTdG9yYWdl
RXZlbnQsIHR5cGUsIGluaXRpYWxpemVyLCBpc1RydXN0ZWQpCisgICAgOiBFdmVudCh0eXBlLCBp
bml0aWFsaXplciwgaXNUcnVzdGVkKQogICAgICwgbV9rZXkoaW5pdGlhbGl6ZXIua2V5KQogICAg
ICwgbV9vbGRWYWx1ZShpbml0aWFsaXplci5vbGRWYWx1ZSkKICAgICAsIG1fbmV3VmFsdWUoaW5p
dGlhbGl6ZXIubmV3VmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVt
ZW50UnVsZUNvbGxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNv
bGxlY3Rvci5jcHAKaW5kZXggZWY2NWI5N2UxZmM0Li44NmZhMDk2MDk3ZGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAKQEAgLTk5LDcgKzk5LDYg
QEAgRWxlbWVudFJ1bGVDb2xsZWN0b3I6OkVsZW1lbnRSdWxlQ29sbGVjdG9yKGNvbnN0IEVsZW1l
bnQmIGVsZW1lbnQsIGNvbnN0IFNjb3BlUnUKICAgICAsIG1fYXV0aG9yU3R5bGUocnVsZVNldHMu
YXV0aG9yU3R5bGUoKSkKICAgICAsIG1fdXNlclN0eWxlKHJ1bGVTZXRzLnVzZXJTdHlsZSgpKQog
ICAgICwgbV91c2VyQWdlbnRNZWRpYVF1ZXJ5U3R5bGUocnVsZVNldHMudXNlckFnZW50TWVkaWFR
dWVyeVN0eWxlKCkpCi0gICAgLCBtX2R5bmFtaWNWaWV3VHJhbnNpdGlvbnNTdHlsZShydWxlU2V0
cy5keW5hbWljVmlld1RyYW5zaXRpb25zU3R5bGUoKSkKICAgICAsIG1fc2VsZWN0b3JNYXRjaGlu
Z1N0YXRlKHNlbGVjdG9yTWF0Y2hpbmdTdGF0ZSkKICAgICAsIG1fcmVzdWx0KG1ha2VVbmlxdWU8
TWF0Y2hSZXN1bHQ+KGVsZW1lbnQuaXNMaW5rKCkpKQogewpAQCAtMTk0LDcgKzE5Myw3IEBAIHZv
aWQgRWxlbWVudFJ1bGVDb2xsZWN0b3I6OmNvbGxlY3RNYXRjaGluZ1J1bGVzKENhc2NhZGVMZXZl
bCBsZXZlbCkKIAogdm9pZCBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6Y29sbGVjdE1hdGNoaW5nUnVs
ZXMoY29uc3QgTWF0Y2hSZXF1ZXN0JiBtYXRjaFJlcXVlc3QpCiB7Ci0gICAgQVNTRVJUX1dJVEhf
TUVTU0FHRSghKG1fbW9kZSA9PSBTZWxlY3RvckNoZWNrZXI6Ok1vZGU6OkNvbGxlY3RpbmdSdWxl
c0lnbm9yaW5nVmlydHVhbFBzZXVkb0VsZW1lbnRzICYmIG1fcHNldWRvRWxlbWVudFJlcXVlc3Qp
LCAiV2hlbiBpbiBTdHlsZUludmFsaWRhdGlvbiBvciBTaGFyaW5nUnVsZXMsIFNlbGVjdG9yQ2hl
Y2tlciBkb2VzIG5vdCB0cnkgdG8gbWF0Y2ggdGhlIHBzZXVkbyBJRC4gV2hpbGUgRWxlbWVudFJ1
bGVDb2xsZWN0b3Igc3VwcG9ydHMgbWF0Y2hpbmcgYSBwYXJ0aWN1bGFyIHBzZXVkb0lkIGluIHRo
aXMgY2FzZSwgdGhpcyB3b3VsZCBpbmRpY2F0ZSBhIGVycm9yIGF0IHRoZSBjYWxsIHNpdGUgc2lu
Y2UgbWF0Y2hpbmcgYSBwYXJ0aWN1bGFyIGVsZW1lbnQgc2hvdWxkIGJlIHVubmVjZXNzYXJ5LiIp
OworICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoIShtX21vZGUgPT0gU2VsZWN0b3JDaGVja2VyOjpN
b2RlOjpDb2xsZWN0aW5nUnVsZXNJZ25vcmluZ1ZpcnR1YWxQc2V1ZG9FbGVtZW50cyAmJiBtX3Bz
ZXVkb0VsZW1lbnRSZXF1ZXN0LnBzZXVkb0lkKCkgIT0gUHNldWRvSWQ6Ok5vbmUpLCAiV2hlbiBp
biBTdHlsZUludmFsaWRhdGlvbiBvciBTaGFyaW5nUnVsZXMsIFNlbGVjdG9yQ2hlY2tlciBkb2Vz
IG5vdCB0cnkgdG8gbWF0Y2ggdGhlIHBzZXVkbyBJRC4gV2hpbGUgRWxlbWVudFJ1bGVDb2xsZWN0
b3Igc3VwcG9ydHMgbWF0Y2hpbmcgYSBwYXJ0aWN1bGFyIHBzZXVkb0lkIGluIHRoaXMgY2FzZSwg
dGhpcyB3b3VsZCBpbmRpY2F0ZSBhIGVycm9yIGF0IHRoZSBjYWxsIHNpdGUgc2luY2UgbWF0Y2hp
bmcgYSBwYXJ0aWN1bGFyIGVsZW1lbnQgc2hvdWxkIGJlIHVubmVjZXNzYXJ5LiIpOwogCiAgICAg
YXV0byYgZWxlbWVudCA9IHRoaXMtPmVsZW1lbnQoKTsKICAgICBhdXRvKiBzaGFkb3dSb290ID0g
ZWxlbWVudC5jb250YWluaW5nU2hhZG93Um9vdCgpOwpAQCAtNDMwLDkgKzQyOSw2IEBAIHZvaWQg
RWxlbWVudFJ1bGVDb2xsZWN0b3I6Om1hdGNoVUFSdWxlcygpCiAKICAgICBpZiAobV91c2VyQWdl
bnRNZWRpYVF1ZXJ5U3R5bGUpCiAgICAgICAgIG1hdGNoVUFSdWxlcygqbV91c2VyQWdlbnRNZWRp
YVF1ZXJ5U3R5bGUpOwotCi0gICAgaWYgKG1fZHluYW1pY1ZpZXdUcmFuc2l0aW9uc1N0eWxlKQot
ICAgICAgICBtYXRjaFVBUnVsZXMoKm1fZHluYW1pY1ZpZXdUcmFuc2l0aW9uc1N0eWxlKTsKIH0K
IAogdm9pZCBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6bWF0Y2hVQVJ1bGVzKGNvbnN0IFJ1bGVTZXQm
IHJ1bGVzKQpAQCAtNDUwLDcgKzQ0Niw3IEBAIGlubGluZSBib29sIEVsZW1lbnRSdWxlQ29sbGVj
dG9yOjpydWxlTWF0Y2hlcyhjb25zdCBSdWxlRGF0YSYgcnVsZURhdGEsIHVuc2lnbmVkCiAgICAg
Ly8gVGhpcyBpcyBsaW1pdGVkIHRvIEhUTUwgb25seSBzbyB3ZSBkb24ndCBuZWVkIHRvIGNoZWNr
IHRoZSBuYW1lc3BhY2UgKGJlY2F1c2Ugb2YgdGFnIG5hbWUgbWF0Y2gpLgogICAgIGF1dG8gbWF0
Y2hCYXNlZE9uUnVsZUhhc2ggPSBydWxlRGF0YS5tYXRjaEJhc2VkT25SdWxlSGFzaCgpOwogICAg
IGlmIChtYXRjaEJhc2VkT25SdWxlSGFzaCAhPSBNYXRjaEJhc2VkT25SdWxlSGFzaDo6Tm9uZSAm
JiBlbGVtZW50KCkuaXNIVE1MRWxlbWVudCgpKSB7Ci0gICAgICAgIEFTU0VSVF9XSVRIX01FU1NB
R0UoIW1fcHNldWRvRWxlbWVudFJlcXVlc3QsICJJZiB3ZSBtYXRjaCBiYXNlZCBvbiB0aGUgcnVs
ZSBoYXNoIHdoaWxlIGNvbGxlY3RpbmcgZm9yIGEgcGFydGljdWxhciBwc2V1ZG8gZWxlbWVudCBJ
RCwgd2Ugd291bGQgYWRkIGluY29ycmVjdCBydWxlcyBmb3IgdGhhdCBwc2V1ZG8gZWxlbWVudCBJ
RC4gV2Ugc2hvdWxkIG5ldmVyIGVuZCBpbiBydWxlTWF0Y2hlcygpIHdpdGggYSBwc2V1ZG8gZWxl
bWVudCBpZiB0aGUgcnVsZURhdGEgY2Fubm90IG1hdGNoIGFueSBwc2V1ZG8gZWxlbWVudC4iKTsK
KyAgICAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShtX3BzZXVkb0VsZW1lbnRSZXF1ZXN0LnBzZXVk
b0lkKCkgPT0gUHNldWRvSWQ6Ok5vbmUsICJJZiB3ZSBtYXRjaCBiYXNlZCBvbiB0aGUgcnVsZSBo
YXNoIHdoaWxlIGNvbGxlY3RpbmcgZm9yIGEgcGFydGljdWxhciBwc2V1ZG8gZWxlbWVudCBJRCwg
d2Ugd291bGQgYWRkIGluY29ycmVjdCBydWxlcyBmb3IgdGhhdCBwc2V1ZG8gZWxlbWVudCBJRC4g
V2Ugc2hvdWxkIG5ldmVyIGVuZCBpbiBydWxlTWF0Y2hlcygpIHdpdGggYSBwc2V1ZG8gZWxlbWVu
dCBpZiB0aGUgcnVsZURhdGEgY2Fubm90IG1hdGNoIGFueSBwc2V1ZG8gZWxlbWVudC4iKTsKIAog
ICAgICAgICBzd2l0Y2ggKG1hdGNoQmFzZWRPblJ1bGVIYXNoKSB7CiAgICAgICAgIGNhc2UgTWF0
Y2hCYXNlZE9uUnVsZUhhc2g6Ok5vbmU6CkBAIC00ODMsNyArNDc5LDcgQEAgaW5saW5lIGJvb2wg
RWxlbWVudFJ1bGVDb2xsZWN0b3I6OnJ1bGVNYXRjaGVzKGNvbnN0IFJ1bGVEYXRhJiBydWxlRGF0
YSwgdW5zaWduZWQKIAogI2lmICFBU1NFUlRfTVNHX0RJU0FCTEVECiAgICAgICAgIHVuc2lnbmVk
IGlnbm9yZVNwZWNpZmljaXR5OwotICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFTZWxlY3Rv
ckNvbXBpbGVyOjpydWxlQ29sbGVjdG9yU2ltcGxlU2VsZWN0b3JDaGVja2VyKGNvbXBpbGVkU2Vs
ZWN0b3IsICZlbGVtZW50KCksICZpZ25vcmVTcGVjaWZpY2l0eSkgfHwgIW1fcHNldWRvRWxlbWVu
dFJlcXVlc3QsICJXaGVuIG1hdGNoaW5nIHBzZXVkbyBlbGVtZW50cywgd2Ugc2hvdWxkIG5ldmVy
IGNvbXBpbGUgYSBzZWxlY3RvciBjaGVja2VyIHdpdGhvdXQgY29udGV4dCB1bmxlc3MgaXQgY2Fu
bm90IG1hdGNoIGFueXRoaW5nLiIpOworICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFTZWxl
Y3RvckNvbXBpbGVyOjpydWxlQ29sbGVjdG9yU2ltcGxlU2VsZWN0b3JDaGVja2VyKGNvbXBpbGVk
U2VsZWN0b3IsICZlbGVtZW50KCksICZpZ25vcmVTcGVjaWZpY2l0eSkgfHwgbV9wc2V1ZG9FbGVt
ZW50UmVxdWVzdC5wc2V1ZG9JZCgpID09IFBzZXVkb0lkOjpOb25lLCAiV2hlbiBtYXRjaGluZyBw
c2V1ZG8gZWxlbWVudHMsIHdlIHNob3VsZCBuZXZlciBjb21waWxlIGEgc2VsZWN0b3IgY2hlY2tl
ciB3aXRob3V0IGNvbnRleHQgdW5sZXNzIGl0IGNhbm5vdCBtYXRjaCBhbnl0aGluZy4iKTsKICNl
bmRpZgogICAgICAgICBib29sIHNlbGVjdG9yTWF0Y2hlcyA9IFNlbGVjdG9yQ29tcGlsZXI6OnJ1
bGVDb2xsZWN0b3JTaW1wbGVTZWxlY3RvckNoZWNrZXIoY29tcGlsZWRTZWxlY3RvciwgJmVsZW1l
bnQoKSwgJnNwZWNpZmljaXR5KTsKIApAQCAtNDk1LDExICs0OTEsOSBAQCBpbmxpbmUgYm9vbCBF
bGVtZW50UnVsZUNvbGxlY3Rvcjo6cnVsZU1hdGNoZXMoY29uc3QgUnVsZURhdGEmIHJ1bGVEYXRh
LCB1bnNpZ25lZAogI2VuZGlmIC8vIEVOQUJMRShDU1NfU0VMRUNUT1JfSklUKQogCiAgICAgU2Vs
ZWN0b3JDaGVja2VyOjpDaGVja2luZ0NvbnRleHQgY29udGV4dChtX21vZGUpOwotICAgIGlmICht
X3BzZXVkb0VsZW1lbnRSZXF1ZXN0KSB7Ci0gICAgICAgIGNvbnRleHQucHNldWRvSWQgPSBtX3Bz
ZXVkb0VsZW1lbnRSZXF1ZXN0LT5wc2V1ZG9JZCgpOwotICAgICAgICBjb250ZXh0LnBzZXVkb0Vs
ZW1lbnROYW1lQXJndW1lbnQgPSBtX3BzZXVkb0VsZW1lbnRSZXF1ZXN0LT5uYW1lQXJndW1lbnQo
KTsKLSAgICAgICAgY29udGV4dC5zY3JvbGxiYXJTdGF0ZSA9IG1fcHNldWRvRWxlbWVudFJlcXVl
c3QtPnNjcm9sbGJhclN0YXRlKCk7Ci0gICAgfQorICAgIGNvbnRleHQucHNldWRvSWQgPSBtX3Bz
ZXVkb0VsZW1lbnRSZXF1ZXN0LnBzZXVkb0lkKCk7CisgICAgY29udGV4dC5wc2V1ZG9FbGVtZW50
TmFtZUFyZ3VtZW50ID0gbV9wc2V1ZG9FbGVtZW50UmVxdWVzdC5uYW1lQXJndW1lbnQoKTsKKyAg
ICBjb250ZXh0LnNjcm9sbGJhclN0YXRlID0gbV9wc2V1ZG9FbGVtZW50UmVxdWVzdC5zY3JvbGxi
YXJTdGF0ZSgpOwogICAgIGNvbnRleHQuc3R5bGVTY29wZU9yZGluYWwgPSBzdHlsZVNjb3BlT3Jk
aW5hbDsKICAgICBjb250ZXh0LnNlbGVjdG9yTWF0Y2hpbmdTdGF0ZSA9IG1fc2VsZWN0b3JNYXRj
aGluZ1N0YXRlOwogICAgIGNvbnRleHQuc2NvcGUgPSBzY29waW5nUm9vdDsKQEAgLTU0MSw3ICs1
MzUsNyBAQCB2b2lkIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjpjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zv
ckxpc3QoY29uc3QgUnVsZVNldDo6UnVsZURhdGFWZQogICAgICAgICBpZiAoVU5MSUtFTFkoIXJ1
bGVEYXRhLmlzRW5hYmxlZCgpKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIGlm
ICghcnVsZURhdGEuY2FuTWF0Y2hQc2V1ZG9FbGVtZW50KCkgJiYgbV9wc2V1ZG9FbGVtZW50UmVx
dWVzdCkKKyAgICAgICAgaWYgKCFydWxlRGF0YS5jYW5NYXRjaFBzZXVkb0VsZW1lbnQoKSAmJiBt
X3BzZXVkb0VsZW1lbnRSZXF1ZXN0LnBzZXVkb0lkKCkgIT0gUHNldWRvSWQ6Ok5vbmUpCiAgICAg
ICAgICAgICBjb250aW51ZTsKIAogICAgICAgICBpZiAobV9zZWxlY3Rvck1hdGNoaW5nU3RhdGUg
JiYgbV9zZWxlY3Rvck1hdGNoaW5nU3RhdGUtPnNlbGVjdG9yRmlsdGVyLmZhc3RSZWplY3RTZWxl
Y3RvcihydWxlRGF0YS5kZXNjZW5kYW50U2VsZWN0b3JJZGVudGlmaWVySGFzaGVzKCkpKQpAQCAt
ODU5LDcgKzg1Myw3IEBAIHZvaWQgRWxlbWVudFJ1bGVDb2xsZWN0b3I6OmFkZE1hdGNoZWRQcm9w
ZXJ0aWVzKE1hdGNoZWRQcm9wZXJ0aWVzJiYgbWF0Y2hlZFByb3BlCiB2b2lkIEVsZW1lbnRSdWxl
Q29sbGVjdG9yOjphZGRBdXRob3JLZXlmcmFtZVJ1bGVzKGNvbnN0IFN0eWxlUnVsZUtleWZyYW1l
JiBrZXlmcmFtZSkKIHsKICAgICBBU1NFUlQobV9yZXN1bHQtPmF1dGhvckRlY2xhcmF0aW9ucy5p
c0VtcHR5KCkpOwotICAgIG1fcmVzdWx0LT5hdXRob3JEZWNsYXJhdGlvbnMuYXBwZW5kKHsga2V5
ZnJhbWUucHJvcGVydGllcygpLCBTZWxlY3RvckNoZWNrZXI6Ok1hdGNoQWxsLCBwcm9wZXJ0eUFs
bG93bGlzdEZvclBzZXVkb0lkKG1fcHNldWRvRWxlbWVudFJlcXVlc3QgPyBtX3BzZXVkb0VsZW1l
bnRSZXF1ZXN0LT5wc2V1ZG9JZCgpIDogUHNldWRvSWQ6Ok5vbmUpIH0pOworICAgIG1fcmVzdWx0
LT5hdXRob3JEZWNsYXJhdGlvbnMuYXBwZW5kKHsga2V5ZnJhbWUucHJvcGVydGllcygpLCBTZWxl
Y3RvckNoZWNrZXI6Ok1hdGNoQWxsLCBwcm9wZXJ0eUFsbG93bGlzdEZvclBzZXVkb0lkKG1fcHNl
dWRvRWxlbWVudFJlcXVlc3QucHNldWRvSWQoKSkgfSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5oCmluZGV4IGE2ZDliNjQwYzJhYi4uYWZjYzNh
NzUxODM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxl
Y3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmgK
QEAgLTYyLDcgKzYyLDcgQEAgcHVibGljOgogICAgIGJvb2wgbWF0Y2hlc0FueUF1dGhvclJ1bGVz
KCk7CiAKICAgICB2b2lkIHNldE1vZGUoU2VsZWN0b3JDaGVja2VyOjpNb2RlIG1vZGUpIHsgbV9t
b2RlID0gbW9kZTsgfQotICAgIHZvaWQgc2V0UHNldWRvRWxlbWVudFJlcXVlc3QoY29uc3Qgc3Rk
OjpvcHRpb25hbDxQc2V1ZG9FbGVtZW50UmVxdWVzdD4mIHJlcXVlc3QpIHsgbV9wc2V1ZG9FbGVt
ZW50UmVxdWVzdCA9IHJlcXVlc3Q7IH0KKyAgICB2b2lkIHNldFBzZXVkb0VsZW1lbnRSZXF1ZXN0
KGNvbnN0IFBzZXVkb0VsZW1lbnRSZXF1ZXN0JiByZXF1ZXN0KSB7IG1fcHNldWRvRWxlbWVudFJl
cXVlc3QgPSByZXF1ZXN0OyB9CiAgICAgdm9pZCBzZXRNZWRpdW0oY29uc3QgTVE6Ok1lZGlhUXVl
cnlFdmFsdWF0b3ImIG1lZGl1bSkgeyBtX2lzUHJpbnRTdHlsZSA9IG1lZGl1bS5pc1ByaW50TWVk
aWEoKTsgfQogCiAgICAgYm9vbCBoYXNBbnlNYXRjaGluZ1J1bGVzKGNvbnN0IFJ1bGVTZXQmKTsK
QEAgLTEyMiwxMiArMTIyLDExIEBAIHByaXZhdGU6CiAgICAgUmVmPGNvbnN0IFJ1bGVTZXQ+IG1f
YXV0aG9yU3R5bGU7CiAgICAgUmVmUHRyPGNvbnN0IFJ1bGVTZXQ+IG1fdXNlclN0eWxlOwogICAg
IFJlZlB0cjxjb25zdCBSdWxlU2V0PiBtX3VzZXJBZ2VudE1lZGlhUXVlcnlTdHlsZTsKLSAgICBS
ZWZQdHI8Y29uc3QgUnVsZVNldD4gbV9keW5hbWljVmlld1RyYW5zaXRpb25zU3R5bGU7CiAgICAg
U2VsZWN0b3JNYXRjaGluZ1N0YXRlKiBtX3NlbGVjdG9yTWF0Y2hpbmdTdGF0ZTsKIAogICAgIGJv
b2wgbV9zaG91bGRJbmNsdWRlRW1wdHlSdWxlcyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzUHJp
bnRTdHlsZSB7IGZhbHNlIH07Ci0gICAgc3RkOjpvcHRpb25hbDxQc2V1ZG9FbGVtZW50UmVxdWVz
dD4gbV9wc2V1ZG9FbGVtZW50UmVxdWVzdCB7IH07CisgICAgUHNldWRvRWxlbWVudFJlcXVlc3Qg
bV9wc2V1ZG9FbGVtZW50UmVxdWVzdCB7IFBzZXVkb0lkOjpOb25lIH07CiAgICAgU2VsZWN0b3JD
aGVja2VyOjpNb2RlIG1fbW9kZSB7IFNlbGVjdG9yQ2hlY2tlcjo6TW9kZTo6UmVzb2x2aW5nU3R5
bGUgfTsKIAogICAgIFZlY3RvcjxNYXRjaGVkUnVsZSwgNjQ+IG1fbWF0Y2hlZFJ1bGVzOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvTWF0Y2hlZERlY2xhcmF0aW9uc0NhY2hlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL01hdGNoZWREZWNsYXJhdGlvbnNDYWNoZS5jcHAKaW5k
ZXggNGFlZTdhZDFkOTcwLi45ZWZkMTk4Yjg1ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL01hdGNoZWREZWNsYXJhdGlvbnNDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3R5bGUvTWF0Y2hlZERlY2xhcmF0aW9uc0NhY2hlLmNwcApAQCAtNjUsMTEgKzY1LDYgQEAgYm9v
bCBNYXRjaGVkRGVjbGFyYXRpb25zQ2FjaGU6OmlzQ2FjaGVhYmxlKGNvbnN0IEVsZW1lbnQmIGVs
ZW1lbnQsIGNvbnN0IFJlbmRlclMKICAgICAvLyBEb2N1bWVudDo6c2V0V3JpdGluZ01vZGUvRGly
ZWN0aW9uU2V0T25Eb2N1bWVudEVsZW1lbnQuIFdlIGNhbid0IHNraXAgdGhlIGFwcGx5aW5nIGJ5
IGNhY2hpbmcuCiAgICAgaWYgKCZlbGVtZW50ID09IGVsZW1lbnQuZG9jdW1lbnQoKS5kb2N1bWVu
dEVsZW1lbnQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIC8vIEZJWE1FOiBXaXRob3V0
IHRoZSBmb2xsb3dpbmcgZWFybHkgcmV0dXJuIHdlIGhpdCB0aGUgZmluYWwgYXNzZXJ0IGluCi0g
ICAgLy8gRWxlbWVudDo6cmVzb2x2ZVBzZXVkb0VsZW1lbnRTdHlsZSgpLiBNYWtpbmcgbWF0Y2hl
ZFBzZXVkb0VsZW1lbnRJZHMKLSAgICAvLyBQc2V1ZG9FbGVtZW50SWRlbnRpZmllci1hd2FyZSBt
aWdodCBiZSBhIHBvc3NpYmxlIHNvbHV0aW9uLgotICAgIGlmICghc3R5bGUucHNldWRvRWxlbWVu
dE5hbWVBcmd1bWVudCgpLmlzTnVsbCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgLy8g
Y29udGVudDphdHRyKCkgdmFsdWUgZGVwZW5kcyBvbiB0aGUgZWxlbWVudCBpdCBpcyBiZWluZyBh
cHBsaWVkIHRvLgogICAgIGlmIChzdHlsZS5oYXNBdHRyQ29udGVudCgpIHx8IChzdHlsZS5wc2V1
ZG9FbGVtZW50VHlwZSgpICE9IFBzZXVkb0lkOjpOb25lICYmIHBhcmVudFN0eWxlLmhhc0F0dHJD
b250ZW50KCkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9Qc2V1ZG9FbGVtZW50SWRlbnRpZmllci5oIGIvU291cmNlL1dlYkNvcmUvc3R5
bGUvUHNldWRvRWxlbWVudElkZW50aWZpZXIuaAppbmRleCBlZTA5OWJlMTQ4MjMuLmNjOGM5YTUx
OTFlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUHNldWRvRWxlbWVudElkZW50
aWZpZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Qc2V1ZG9FbGVtZW50SWRlbnRpZmll
ci5oCkBAIC0yNyw4ICsyNyw2IEBACiAKICNpbmNsdWRlICJSZW5kZXJTdHlsZUNvbnN0YW50cy5o
IgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21TdHJpbmcuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9B
dG9tU3RyaW5nSGFzaC5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRTdHJlYW0uaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmU6OlN0eWxlIHsKIApAQCAtMzcsNDAgKzM1LDYgQEAgc3RydWN0IFBzZXVk
b0VsZW1lbnRJZGVudGlmaWVyIHsKIAogICAgIC8vIGhpZ2hsaWdodCBuYW1lIGZvciA6OmhpZ2hs
aWdodCBvciB2aWV3IHRyYW5zaXRpb24gbmFtZSBmb3IgdmlldyB0cmFuc2l0aW9uIHBzZXVkbyBl
bGVtZW50cy4KICAgICBBdG9tU3RyaW5nIG5hbWVBcmd1bWVudCB7IG51bGxBdG9tKCkgfTsKLQot
ICAgIGZyaWVuZCBib29sIG9wZXJhdG9yPT0oY29uc3QgUHNldWRvRWxlbWVudElkZW50aWZpZXIm
IGEsIGNvbnN0IFBzZXVkb0VsZW1lbnRJZGVudGlmaWVyJiBiKSA9IGRlZmF1bHQ7CiB9OwogCi1p
bmxpbmUgdm9pZCBhZGQoSGFzaGVyJiBoYXNoZXIsIGNvbnN0IFBzZXVkb0VsZW1lbnRJZGVudGlm
aWVyJiBwc2V1ZG9FbGVtZW50SWRlbnRpZmllcikKLXsKLSAgICBhZGQoaGFzaGVyLCBwc2V1ZG9F
bGVtZW50SWRlbnRpZmllci5wc2V1ZG9JZCwgcHNldWRvRWxlbWVudElkZW50aWZpZXIubmFtZUFy
Z3VtZW50KTsKLX0KLQotaW5saW5lIFdURjo6VGV4dFN0cmVhbSYgb3BlcmF0b3I8PChXVEY6OlRl
eHRTdHJlYW0mIHRzLCBjb25zdCBQc2V1ZG9FbGVtZW50SWRlbnRpZmllciYgcHNldWRvRWxlbWVu
dElkZW50aWZpZXIpCi17Ci0gICAgdHMgPDwgIjo6IiA8PCBwc2V1ZG9FbGVtZW50SWRlbnRpZmll
ci5wc2V1ZG9JZDsKLSAgICBpZiAoIXBzZXVkb0VsZW1lbnRJZGVudGlmaWVyLm5hbWVBcmd1bWVu
dC5pc051bGwoKSkKLSAgICAgICAgdHMgPDwgIigiIDw8IHBzZXVkb0VsZW1lbnRJZGVudGlmaWVy
Lm5hbWVBcmd1bWVudCA8PCAiKSI7Ci0gICAgcmV0dXJuIHRzOwotfQotCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCi0KLW5hbWVzcGFjZSBXVEYgewotCi10ZW1wbGF0ZTw+Ci1zdHJ1Y3QgSGFzaFRy
YWl0czxzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmll
cj4+IDogR2VuZXJpY0hhc2hUcmFpdHM8c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTdHlsZTo6UHNl
dWRvRWxlbWVudElkZW50aWZpZXI+PiB7Ci0gICAgdHlwZWRlZiBzdGQ6Om9wdGlvbmFsPFdlYkNv
cmU6OlN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllcj4gRW1wdHlWYWx1ZVR5cGU7Ci0KLSAg
ICBzdGF0aWMgY29uc3RleHByIGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IGZhbHNlOwotICAgIHN0
YXRpYyBFbXB0eVZhbHVlVHlwZSBlbXB0eVZhbHVlKCkgeyByZXR1cm4gV2ViQ29yZTo6U3R5bGU6
OlBzZXVkb0VsZW1lbnRJZGVudGlmaWVyIHsgV2ViQ29yZTo6UHNldWRvSWQ6OkFmdGVyTGFzdElu
dGVybmFsUHNldWRvSWQsIG51bGxBdG9tKCkgfTsgfQotfTsKLQotdGVtcGxhdGU8Pgotc3RydWN0
IERlZmF1bHRIYXNoPHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U3R5bGU6OlBzZXVkb0VsZW1lbnRJ
ZGVudGlmaWVyPj4gewotICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IHN0ZDo6b3B0aW9u
YWw8V2ViQ29yZTo6U3R5bGU6OlBzZXVkb0VsZW1lbnRJZGVudGlmaWVyPiYgZGF0YSkgeyByZXR1
cm4gY29tcHV0ZUhhc2goZGF0YSk7IH0KLSAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBzdGQ6
Om9wdGlvbmFsPFdlYkNvcmU6OlN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllcj4mIGEsIGNv
bnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U3R5bGU6OlBzZXVkb0VsZW1lbnRJZGVudGlmaWVy
PiYgYikgeyByZXR1cm4gYSA9PSBiOyB9Ci0gICAgc3RhdGljIGNvbnN0IGJvb2wgc2FmZVRvQ29t
cGFyZVRvRW1wdHlPckRlbGV0ZWQgPSBmYWxzZTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdURgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUHNldWRvRWxlbWVudFJlcXVlc3QuaCBi
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1BzZXVkb0VsZW1lbnRSZXF1ZXN0LmgKaW5kZXggMzllNDA4
ZjMxMzYzLi4xMzg0ZTQ5ZmJlN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1Bz
ZXVkb0VsZW1lbnRSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUHNldWRvRWxl
bWVudFJlcXVlc3QuaApAQCAtMzgsNyArMzgsNiBAQCBwdWJsaWM6CiAgICAgICAgIDogbV9pZGVu
dGlmaWVyKHsgcHNldWRvSWQgfSkKICAgICAgICAgLCBtX3Njcm9sbGJhclN0YXRlKHNjcm9sbGJh
clN0YXRlKQogICAgIHsKLSAgICAgICAgQVNTRVJUKHBzZXVkb0lkICE9IFBzZXVkb0lkOjpOb25l
KTsKICAgICB9CiAKICAgICBQc2V1ZG9FbGVtZW50UmVxdWVzdChQc2V1ZG9JZCBwc2V1ZG9JZCwg
Y29uc3QgQXRvbVN0cmluZyYgbmFtZUFyZ3VtZW50KQpAQCAtNTAsNyArNDksNiBAQCBwdWJsaWM6
CiAgICAgUHNldWRvRWxlbWVudFJlcXVlc3QoY29uc3QgUHNldWRvRWxlbWVudElkZW50aWZpZXIm
IHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyKQogICAgICAgICA6IG1faWRlbnRpZmllcihwc2V1ZG9F
bGVtZW50SWRlbnRpZmllcikKICAgICB7Ci0gICAgICAgIEFTU0VSVChwc2V1ZG9FbGVtZW50SWRl
bnRpZmllci5wc2V1ZG9JZCAhPSBQc2V1ZG9JZDo6Tm9uZSk7CiAgICAgfQogCiAgICAgY29uc3Qg
UHNldWRvRWxlbWVudElkZW50aWZpZXImIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lk
ZW50aWZpZXI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlci5jcHAKaW5kZXggZWMx
MzNmMmNmM2Y1Li4wMzY1Nzg2NDg4MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2
ZXIuY3BwCkBAIC02MSw3ICs2MSw2IEBACiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1
ZGUgIlJlc29sdmVkU3R5bGUuaCIKICNpbmNsdWRlICJSdWxlU2V0LmgiCi0jaW5jbHVkZSAiUnVs
ZVNldEJ1aWxkZXIuaCIKICNpbmNsdWRlICJTVkdEb2N1bWVudEV4dGVuc2lvbnMuaCIKICNpbmNs
dWRlICJTVkdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHRm9udEZhY2VFbGVtZW50LmgiCkBAIC0z
MzYsMTAgKzMzNSw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gUmVzb2x2ZXI6OnN0
eWxlRm9yS2V5ZnJhbWUoY29uc3QgRWxlbWVudCYgZWxlbWVudCwKICAgICBzdGF0ZS5zZXRQYXJl
bnRTdHlsZShSZW5kZXJTdHlsZTo6Y2xvbmVQdHIoY29udGV4dC5wYXJlbnRTdHlsZSA/ICpjb250
ZXh0LnBhcmVudFN0eWxlIDogZWxlbWVudFN0eWxlKSk7CiAKICAgICBFbGVtZW50UnVsZUNvbGxl
Y3RvciBjb2xsZWN0b3IoZWxlbWVudCwgbV9ydWxlU2V0cywgY29udGV4dC5zZWxlY3Rvck1hdGNo
aW5nU3RhdGUpOwotCi0gICAgaWYgKGVsZW1lbnRTdHlsZS5wc2V1ZG9FbGVtZW50VHlwZSgpICE9
IFBzZXVkb0lkOjpOb25lKQotICAgICAgICBjb2xsZWN0b3Iuc2V0UHNldWRvRWxlbWVudFJlcXVl
c3QoU3R5bGU6OlBzZXVkb0VsZW1lbnRJZGVudGlmaWVyIHsgZWxlbWVudFN0eWxlLnBzZXVkb0Vs
ZW1lbnRUeXBlKCksIGVsZW1lbnRTdHlsZS5wc2V1ZG9FbGVtZW50TmFtZUFyZ3VtZW50KCkgfSk7
Ci0KKyAgICBjb2xsZWN0b3Iuc2V0UHNldWRvRWxlbWVudFJlcXVlc3QoeyBlbGVtZW50U3R5bGUu
cHNldWRvRWxlbWVudFR5cGUoKSB9KTsKICAgICBpZiAoaGFzUmV2ZXJ0KSB7CiAgICAgICAgIC8v
IEluIHRoZSBhbmltYXRpb24gb3JpZ2luLCAncmV2ZXJ0JyByb2xscyBiYWNrIHRoZSBjYXNjYWRl
ZCB2YWx1ZSB0byB0aGUgdXNlciBsZXZlbC4KICAgICAgICAgLy8gVGhlcmVmb3JlLCB3ZSBuZWVk
IHRvIGNvbGxlY3QgVUEgYW5kIHVzZXIgcnVsZXMuCkBAIC0zNTIsNyArMzQ4LDcgQEAgc3RkOjp1
bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBSZXNvbHZlcjo6c3R5bGVGb3JLZXlmcmFtZShjb25zdCBF
bGVtZW50JiBlbGVtZW50LAogICAgIGJ1aWxkZXIuc3RhdGUoKS5zZXRJc0J1aWxkaW5nS2V5ZnJh
bWVTdHlsZSgpOwogICAgIGJ1aWxkZXIuYXBwbHlBbGxQcm9wZXJ0aWVzKCk7CiAKLSAgICBBZGp1
c3RlciBhZGp1c3Rlcihkb2N1bWVudCgpLCAqc3RhdGUucGFyZW50U3R5bGUoKSwgbnVsbHB0ciwg
ZWxlbWVudFN0eWxlLnBzZXVkb0VsZW1lbnRUeXBlKCkgPT0gUHNldWRvSWQ6Ok5vbmUgPyAmZWxl
bWVudCA6IG51bGxwdHIpOworICAgIEFkanVzdGVyIGFkanVzdGVyKGRvY3VtZW50KCksICpzdGF0
ZS5wYXJlbnRTdHlsZSgpLCBudWxscHRyLCBudWxscHRyKTsKICAgICBhZGp1c3Rlci5hZGp1c3Qo
KnN0YXRlLnN0eWxlKCksIHN0YXRlLnVzZXJBZ2VudEFwcGVhcmFuY2VTdHlsZSgpKTsKIAogICAg
IHJldHVybiBzdGF0ZS50YWtlU3R5bGUoKTsKQEAgLTQ5MSw4ICs0ODcsNyBAQCBzdGQ6Om9wdGlv
bmFsPFJlc29sdmVkU3R5bGU+IFJlc29sdmVyOjpzdHlsZUZvclBzZXVkb0VsZW1lbnQoY29uc3Qg
RWxlbWVudCYgZWxlbQogICAgIH0KIAogICAgIEVsZW1lbnRSdWxlQ29sbGVjdG9yIGNvbGxlY3Rv
cihlbGVtZW50LCBtX3J1bGVTZXRzLCBjb250ZXh0LnNlbGVjdG9yTWF0Y2hpbmdTdGF0ZSk7Ci0g
ICAgaWYgKHBzZXVkb0VsZW1lbnRSZXF1ZXN0LnBzZXVkb0lkKCkgIT0gUHNldWRvSWQ6Ok5vbmUp
Ci0gICAgICAgIGNvbGxlY3Rvci5zZXRQc2V1ZG9FbGVtZW50UmVxdWVzdChwc2V1ZG9FbGVtZW50
UmVxdWVzdCk7CisgICAgY29sbGVjdG9yLnNldFBzZXVkb0VsZW1lbnRSZXF1ZXN0KHBzZXVkb0Vs
ZW1lbnRSZXF1ZXN0KTsKICAgICBjb2xsZWN0b3Iuc2V0TWVkaXVtKG1fbWVkaWFRdWVyeUV2YWx1
YXRvcik7CiAgICAgY29sbGVjdG9yLm1hdGNoVUFSdWxlcygpOwogCkBAIC01NjYsMTAgKzU2MSwx
MCBAQCBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+IFJlc29sdmVyOjpkZWZhdWx0U3R5bGVG
b3JFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZQogCiBWZWN0b3I8UmVmUHRyPGNvbnN0IFN0eWxl
UnVsZT4+IFJlc29sdmVyOjpzdHlsZVJ1bGVzRm9yRWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVt
ZW50LCB1bnNpZ25lZCBydWxlc1RvSW5jbHVkZSkKIHsKLSAgICByZXR1cm4gcHNldWRvU3R5bGVS
dWxlc0ZvckVsZW1lbnQoZWxlbWVudCwgeyB9LCBydWxlc1RvSW5jbHVkZSk7CisgICAgcmV0dXJu
IHBzZXVkb1N0eWxlUnVsZXNGb3JFbGVtZW50KGVsZW1lbnQsIFBzZXVkb0lkOjpOb25lLCBydWxl
c1RvSW5jbHVkZSk7CiB9CiAKLVZlY3RvcjxSZWZQdHI8Y29uc3QgU3R5bGVSdWxlPj4gUmVzb2x2
ZXI6OnBzZXVkb1N0eWxlUnVsZXNGb3JFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQsIGNv
bnN0IHN0ZDo6b3B0aW9uYWw8U3R5bGU6OlBzZXVkb0VsZW1lbnRSZXF1ZXN0PiYgcHNldWRvRWxl
bWVudElkZW50aWZpZXIsIHVuc2lnbmVkIHJ1bGVzVG9JbmNsdWRlKQorVmVjdG9yPFJlZlB0cjxj
b25zdCBTdHlsZVJ1bGU+PiBSZXNvbHZlcjo6cHNldWRvU3R5bGVSdWxlc0ZvckVsZW1lbnQoY29u
c3QgRWxlbWVudCogZWxlbWVudCwgUHNldWRvSWQgcHNldWRvSWQsIHVuc2lnbmVkIHJ1bGVzVG9J
bmNsdWRlKQogewogICAgIGlmICghZWxlbWVudCkKICAgICAgICAgcmV0dXJuIHsgfTsKQEAgLTU3
OCw4ICs1NzMsNyBAQCBWZWN0b3I8UmVmUHRyPGNvbnN0IFN0eWxlUnVsZT4+IFJlc29sdmVyOjpw
c2V1ZG9TdHlsZVJ1bGVzRm9yRWxlbWVudChjb25zdCBFbGVtZQogCiAgICAgRWxlbWVudFJ1bGVD
b2xsZWN0b3IgY29sbGVjdG9yKCplbGVtZW50LCBtX3J1bGVTZXRzLCBudWxscHRyKTsKICAgICBj
b2xsZWN0b3Iuc2V0TW9kZShTZWxlY3RvckNoZWNrZXI6Ok1vZGU6OkNvbGxlY3RpbmdSdWxlcyk7
Ci0gICAgaWYgKHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyKQotICAgICAgICBjb2xsZWN0b3Iuc2V0
UHNldWRvRWxlbWVudFJlcXVlc3QoKnBzZXVkb0VsZW1lbnRJZGVudGlmaWVyKTsKKyAgICBjb2xs
ZWN0b3Iuc2V0UHNldWRvRWxlbWVudFJlcXVlc3QoeyBwc2V1ZG9JZCB9KTsKICAgICBjb2xsZWN0
b3Iuc2V0TWVkaXVtKG1fbWVkaWFRdWVyeUV2YWx1YXRvcik7CiAgICAgY29sbGVjdG9yLnNldElu
Y2x1ZGVFbXB0eVJ1bGVzKHJ1bGVzVG9JbmNsdWRlICYgRW1wdHlDU1NSdWxlcyk7CiAKQEAgLTYz
NSw3ICs2MjksNyBAQCB2b2lkIFJlc29sdmVyOjphcHBseU1hdGNoZWRQcm9wZXJ0aWVzKFN0YXRl
JiBzdGF0ZSwgY29uc3QgTWF0Y2hSZXN1bHQmIG1hdGNoUmVzdQogICAgIGF1dG8gaGFzVXNhYmxl
RW50cnkgPSBjYWNoZUVudHJ5ICYmIE1hdGNoZWREZWNsYXJhdGlvbnNDYWNoZTo6aXNDYWNoZWFi
bGUoZWxlbWVudCwgc3R5bGUsIHBhcmVudFN0eWxlKTsKICAgICBpZiAoaGFzVXNhYmxlRW50cnkp
IHsKICAgICAgICAgLy8gV2UgY2FuIGJ1aWxkIHVwIHRoZSBzdHlsZSBieSBjb3B5aW5nIG5vbi1p
bmhlcml0ZWQgcHJvcGVydGllcyBmcm9tIGFuIGVhcmxpZXIgc3R5bGUgb2JqZWN0IGJ1aWx0IHVz
aW5nIHRoZSBzYW1lIGV4YWN0Ci0gICAgICAgIC8vIHN0eWxlIGRlY2xhcmF0aW9ucy4gV2UgdGhl
biBvbmx5IG5lZWQgdG8gYXBwbHkgdGhlIGluaGVyaXRlZCBwcm9wZXJ0aWVzLCBpZiBhbnksIGFz
IHRoZWlyIHZhbHVlcyBjYW4gZGVwZW5kIG9uIHRoZQorICAgICAgICAvLyBzdHlsZSBkZWNsYXJh
dGlvbnMuIFdlIHRoZW4gb25seSBuZWVkIHRvIGFwcGx5IHRoZSBpbmhlcml0ZWQgcHJvcGVydGll
cywgaWYgYW55LCBhcyB0aGVpciB2YWx1ZXMgY2FuIGRlcGVuZCBvbiB0aGUgCiAgICAgICAgIC8v
IGVsZW1lbnQgY29udGV4dC4gVGhpcyBpcyBmYXN0IGFuZCBzYXZlcyBtZW1vcnkgYnkgcmV1c2lu
ZyB0aGUgc3R5bGUgZGF0YSBzdHJ1Y3R1cmVzLgogICAgICAgICBzdHlsZS5jb3B5Tm9uSW5oZXJp
dGVkRnJvbSgqY2FjaGVFbnRyeS0+cmVuZGVyU3R5bGUpOwogCkBAIC03MjUsMjcgKzcxOSw1IEBA
IHN0ZDo6b3B0aW9uYWw8RHluYW1pY01lZGlhUXVlcnlFdmFsdWF0aW9uQ2hhbmdlcz4gUmVzb2x2
ZXI6OmV2YWx1YXRlRHluYW1pY01lZGlhCiAgICAgcmV0dXJuIG1fcnVsZVNldHMuZXZhbHVhdGVE
eW5hbWljTWVkaWFRdWVyeVJ1bGVzKG1fbWVkaWFRdWVyeUV2YWx1YXRvcik7CiB9CiAKLQotdm9p
ZCBSZXNvbHZlcjo6c2V0Vmlld1RyYW5zaXRpb25Hcm91cFN0eWxlcyhjb25zdCBBdG9tU3RyaW5n
JiBuYW1lLCBSZWY8TXV0YWJsZVN0eWxlUHJvcGVydGllcz4gcHJvcGVydGllcykKLXsKLSAgICBp
ZiAoIW1fZG9jdW1lbnQpCi0gICAgICAgIHJldHVybjsKLQotICAgIGF1dG8qIHZpZXdUcmFuc2l0
aW9uc1N0eWxlID0gbV9ydWxlU2V0cy5keW5hbWljVmlld1RyYW5zaXRpb25zU3R5bGUoKTsKLSAg
ICBSdWxlU2V0QnVpbGRlciBidWlsZGVyKCp2aWV3VHJhbnNpdGlvbnNTdHlsZSwgbWVkaWFRdWVy
eUV2YWx1YXRvcigpLCB0aGlzKTsKLSAgICBDU1NTZWxlY3RvclBhcnNlckNvbnRleHQgY29udGV4
dCgqbV9kb2N1bWVudC5nZXQoKSk7Ci0KLSAgICBNdXRhYmxlQ1NTU2VsZWN0b3JMaXN0IHNlbGVj
dG9yTGlzdDsKLSAgICBzZWxlY3Rvckxpc3QuYXBwZW5kKE11dGFibGVDU1NTZWxlY3Rvcjo6cGFy
c2VQc2V1ZG9DbGFzc1NlbGVjdG9yKCJyb290Il9zLCBjb250ZXh0KSk7Ci0gICAgYXV0byBncm91
cFNlbGVjdG9yID0gTXV0YWJsZUNTU1NlbGVjdG9yOjpwYXJzZVBzZXVkb0VsZW1lbnRTZWxlY3Rv
cigidmlldy10cmFuc2l0aW9uLWdyb3VwIl9zLCBjb250ZXh0KTsKLSAgICBncm91cFNlbGVjdG9y
LT5zZXRBcmd1bWVudExpc3QoeyB7IG5hbWUgfSB9KTsKLQotICAgIHNlbGVjdG9yTGlzdC5maXJz
dCgpLT5hcHBlbmRUYWdIaXN0b3J5KENTU1NlbGVjdG9yOjpSZWxhdGlvbjo6U3Vic2VsZWN0b3Is
IFdURk1vdmUoZ3JvdXBTZWxlY3RvcikpOwotCi0gICAgYXV0byBzdHlsZVJ1bGUgPSBTdHlsZVJ1
bGU6OmNyZWF0ZShXVEZNb3ZlKHByb3BlcnRpZXMpLCB0cnVlLCBDU1NTZWxlY3Rvckxpc3QoV1RG
TW92ZShzZWxlY3Rvckxpc3QpKSk7Ci0KLSAgICBidWlsZGVyLmFkZFN0eWxlUnVsZShzdHlsZVJ1
bGUpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBTdHlsZQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlci5oIGIvU291cmNl
L1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlci5oCmluZGV4IDZhMjMzYmJkMzA4My4uNTczMTdj
ZmUyMmI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlci5oCkBAIC0xMTgsOCArMTE4
LDYgQEAgcHVibGljOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gc3R5bGVGb3JL
ZXlmcmFtZShjb25zdCBFbGVtZW50JiwgY29uc3QgUmVuZGVyU3R5bGUmIGVsZW1lbnRTdHlsZSwg
Y29uc3QgUmVzb2x1dGlvbkNvbnRleHQmLCBjb25zdCBTdHlsZVJ1bGVLZXlmcmFtZSYsIEJsZW5k
aW5nS2V5ZnJhbWUmKTsKICAgICBib29sIGlzQW5pbWF0aW9uTmFtZVZhbGlkKGNvbnN0IFN0cmlu
ZyYpOwogCi0gICAgdm9pZCBzZXRWaWV3VHJhbnNpdGlvbkdyb3VwU3R5bGVzKGNvbnN0IEF0b21T
dHJpbmcmLCBSZWY8TXV0YWJsZVN0eWxlUHJvcGVydGllcz4pOwotCiAgICAgLy8gVGhlc2UgbWV0
aG9kcyB3aWxsIGdpdmUgYmFjayB0aGUgc2V0IG9mIHJ1bGVzIHRoYXQgbWF0Y2hlZCBmb3IgYSBn
aXZlbiBlbGVtZW50IChvciBhIHBzZXVkby1lbGVtZW50KS4KICAgICBlbnVtIENTU1J1bGVGaWx0
ZXIgewogICAgICAgICBVQUFuZFVzZXJDU1NSdWxlcyAgID0gMSA8PCAxLApAQCAtMTI5LDcgKzEy
Nyw3IEBAIHB1YmxpYzoKICAgICAgICAgQWxsQ1NTUnVsZXMgICAgICAgICA9IEFsbEJ1dEVtcHR5
Q1NTUnVsZXMgfCBFbXB0eUNTU1J1bGVzLAogICAgIH07CiAgICAgVmVjdG9yPFJlZlB0cjxjb25z
dCBTdHlsZVJ1bGU+PiBzdHlsZVJ1bGVzRm9yRWxlbWVudChjb25zdCBFbGVtZW50KiwgdW5zaWdu
ZWQgcnVsZXNUb0luY2x1ZGUgPSBBbGxCdXRFbXB0eUNTU1J1bGVzKTsKLSAgICBWZWN0b3I8UmVm
UHRyPGNvbnN0IFN0eWxlUnVsZT4+IHBzZXVkb1N0eWxlUnVsZXNGb3JFbGVtZW50KGNvbnN0IEVs
ZW1lbnQqLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50UmVxdWVzdD4m
LCB1bnNpZ25lZCBydWxlc1RvSW5jbHVkZSA9IEFsbEJ1dEVtcHR5Q1NTUnVsZXMpOworICAgIFZl
Y3RvcjxSZWZQdHI8Y29uc3QgU3R5bGVSdWxlPj4gcHNldWRvU3R5bGVSdWxlc0ZvckVsZW1lbnQo
Y29uc3QgRWxlbWVudCosIFBzZXVkb0lkLCB1bnNpZ25lZCBydWxlc1RvSW5jbHVkZSA9IEFsbEJ1
dEVtcHR5Q1NTUnVsZXMpOwogCiAgICAgYm9vbCBoYXNTZWxlY3RvckZvcklkKGNvbnN0IEF0b21T
dHJpbmcmKSBjb25zdDsKICAgICBib29sIGhhc1NlbGVjdG9yRm9yQXR0cmlidXRlKGNvbnN0IEVs
ZW1lbnQmLCBjb25zdCBBdG9tU3RyaW5nJikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2Nv
cGUuY3BwCmluZGV4IDFjZWFhN2IyZWE1OC4uNjE0MTg4YzUxNDRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9TdHlsZVNjb3BlLmNwcApAQCAtNDgsNyArNDgsNiBAQAogI2luY2x1ZGUgIlByb2Nlc3NpbmdJ
bnN0cnVjdGlvbi5oIgogI2luY2x1ZGUgIlJlbmRlckJveElubGluZXMuaCIKICNpbmNsdWRlICJS
ZW5kZXJWaWV3LmgiCi0jaW5jbHVkZSAiUnVsZVNldC5oIgogI2luY2x1ZGUgIlNWR0VsZW1lbnRU
eXBlSGVscGVycy5oIgogI2luY2x1ZGUgIlNWR1N0eWxlRWxlbWVudC5oIgogI2luY2x1ZGUgIlNl
dHRpbmdzLmgiCkBAIC0xMTUsMTEgKzExNCw2IEBAIHZvaWQgU2NvcGU6OmNyZWF0ZURvY3VtZW50
UmVzb2x2ZXIoKQogCiAgICAgbV9yZXNvbHZlciA9IFJlc29sdmVyOjpjcmVhdGUobV9kb2N1bWVu
dCwgUmVzb2x2ZXI6OlNjb3BlVHlwZTo6RG9jdW1lbnQpOwogCi0gICAgaWYgKCFtX2R5bmFtaWNW
aWV3VHJhbnNpdGlvbnNTdHlsZSkKLSAgICAgICAgbV9keW5hbWljVmlld1RyYW5zaXRpb25zU3R5
bGUgPSBSdWxlU2V0OjpjcmVhdGUoKTsKLQotICAgIG1fcmVzb2x2ZXItPnJ1bGVTZXRzKCkuc2V0
RHluYW1pY1ZpZXdUcmFuc2l0aW9uc1N0eWxlKG1fZHluYW1pY1ZpZXdUcmFuc2l0aW9uc1N0eWxl
LmdldCgpKTsKLQogICAgIG1fZG9jdW1lbnQtPmZvbnRTZWxlY3RvcigpLmJ1aWxkU3RhcnRlZCgp
OwogCiAgICAgbV9yZXNvbHZlci0+cnVsZVNldHMoKS5pbml0aWFsaXplVXNlclN0eWxlKCk7CkBA
IC0xODIsMTIgKzE3Niw2IEBAIHZvaWQgU2NvcGU6OmNsZWFyUmVzb2x2ZXIoKQogICAgIGNvdW50
ZXJTdHlsZVJlZ2lzdHJ5KCkuY2xlYXJBdXRob3JDb3VudGVyU3R5bGVzKCk7CiB9CiAKLXZvaWQg
U2NvcGU6OmNsZWFyVmlld1RyYW5zaXRpb25TdHlsZXMoKQotewotICAgIGNsZWFyUmVzb2x2ZXIo
KTsKLSAgICBtX2R5bmFtaWNWaWV3VHJhbnNpdGlvbnNTdHlsZSA9IG51bGxwdHI7Ci19Ci0KIHZv
aWQgU2NvcGU6OnJlbGVhc2VNZW1vcnkoKQogewogICAgIGlmICghbV9zaGFkb3dSb290KSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZVNjb3BlLmgKaW5kZXggNWYyMTg4NTQ0ZmFhLi5kYmQ2OGNkMGRhZGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmgKQEAgLTY1LDcgKzY1LDYgQEAgbmFtZXNwYWNl
IFN0eWxlIHsKIAogY2xhc3MgQ3VzdG9tUHJvcGVydHlSZWdpc3RyeTsKIGNsYXNzIFJlc29sdmVy
OwotY2xhc3MgUnVsZVNldDsKIAogY2xhc3MgU2NvcGUgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8
U2NvcGU+LCBwdWJsaWMgQ2FuTWFrZUNoZWNrZWRQdHIgewogICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwpAQCAtMTMwLDggKzEyOSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGNsZWFyUmVzb2x2
ZXIoKTsKICAgICB2b2lkIHJlbGVhc2VNZW1vcnkoKTsKIAotICAgIHZvaWQgY2xlYXJWaWV3VHJh
bnNpdGlvblN0eWxlcygpOwotCiAgICAgY29uc3QgRG9jdW1lbnQmIGRvY3VtZW50KCkgY29uc3Qg
eyByZXR1cm4gbV9kb2N1bWVudDsgfQogICAgIERvY3VtZW50JiBkb2N1bWVudCgpIHsgcmV0dXJu
IG1fZG9jdW1lbnQ7IH0KICAgICBjb25zdCBTaGFkb3dSb290KiBzaGFkb3dSb290KCkgY29uc3Qg
eyByZXR1cm4gbV9zaGFkb3dSb290OyB9CkBAIC0yMTQsOCArMjExLDYgQEAgcHJpdmF0ZToKICAg
ICBWZWN0b3I8UmVmUHRyPFN0eWxlU2hlZXQ+PiBtX3N0eWxlU2hlZXRzRm9yU3R5bGVTaGVldExp
c3Q7CiAgICAgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0Pj4gbV9hY3RpdmVTdHlsZVNoZWV0
czsKIAotICAgIG11dGFibGUgUmVmUHRyPFJ1bGVTZXQ+IG1fZHluYW1pY1ZpZXdUcmFuc2l0aW9u
c1N0eWxlOwotCiAgICAgVGltZXIgbV9wZW5kaW5nVXBkYXRlVGltZXI7CiAKICAgICBtdXRhYmxl
IEhhc2hTZXQ8U2luZ2xlVGhyZWFkV2Vha1JlZjxjb25zdCBDU1NTdHlsZVNoZWV0Pj4gbV93ZWFr
Q29weU9mQWN0aXZlU3R5bGVTaGVldExpc3RGb3JGYXN0TG9va3VwOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZVJ1bGVTZXRzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL1N0eWxlU2NvcGVSdWxlU2V0cy5jcHAKaW5kZXggNWMzMWIzYTk4MjIzLi5hMWQxMzYz
MGQ0NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGVSdWxlU2V0
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZVJ1bGVTZXRzLmNwcApA
QCAtODMsMTEgKzgzLDYgQEAgdm9pZCBTY29wZVJ1bGVTZXRzOjp1cGRhdGVVc2VyQWdlbnRNZWRp
YVF1ZXJ5U3R5bGVJZk5lZWRlZCgpIGNvbnN0CiAgICAgYnVpbGRlci5hZGRSdWxlc0Zyb21TaGVl
dCgqVXNlckFnZW50U3R5bGU6Om1lZGlhUXVlcnlTdHlsZVNoZWV0KTsKIH0KIAotUnVsZVNldCog
U2NvcGVSdWxlU2V0czo6ZHluYW1pY1ZpZXdUcmFuc2l0aW9uc1N0eWxlKCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gbV9keW5hbWljVmlld1RyYW5zaXRpb25zU3R5bGUuZ2V0KCk7Ci19Ci0KIFJ1bGVT
ZXQqIFNjb3BlUnVsZVNldHM6OnVzZXJTdHlsZSgpIGNvbnN0CiB7CiAgICAgaWYgKG1fdXNlc1No
YXJlZFVzZXJTdHlsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2Nv
cGVSdWxlU2V0cy5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZVJ1bGVTZXRzLmgK
aW5kZXggN2RmZGY4Yzg0Zjc0Li5kNTVkOGI3MzI3YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1N0eWxlU2NvcGVSdWxlU2V0cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlU2NvcGVSdWxlU2V0cy5oCkBAIC02MCw3ICs2MCw2IEBAIHB1YmxpYzoKIAogICAgIGJv
b2wgaXNBdXRob3JTdHlsZURlZmluZWQoKSBjb25zdCB7IHJldHVybiBtX2lzQXV0aG9yU3R5bGVE
ZWZpbmVkOyB9CiAgICAgUnVsZVNldCogdXNlckFnZW50TWVkaWFRdWVyeVN0eWxlKCkgY29uc3Q7
Ci0gICAgUnVsZVNldCogZHluYW1pY1ZpZXdUcmFuc2l0aW9uc1N0eWxlKCkgY29uc3Q7CiAgICAg
UnVsZVNldCYgYXV0aG9yU3R5bGUoKSBjb25zdCB7IHJldHVybiAqbV9hdXRob3JTdHlsZTsgfQog
ICAgIFJ1bGVTZXQqIHVzZXJTdHlsZSgpIGNvbnN0OwogICAgIFJ1bGVTZXQqIHN0eWxlRm9yQ2Fz
Y2FkZUxldmVsKENhc2NhZGVMZXZlbCk7CkBAIC05NCwxMSArOTMsNiBAQCBwdWJsaWM6CiAKICAg
ICBSdWxlRmVhdHVyZVNldCYgbXV0YWJsZUZlYXR1cmVzKCk7CiAKLSAgICB2b2lkIHNldER5bmFt
aWNWaWV3VHJhbnNpdGlvbnNTdHlsZShSdWxlU2V0KiBydWxlU2V0KQotICAgIHsKLSAgICAgICAg
bV9keW5hbWljVmlld1RyYW5zaXRpb25zU3R5bGUgPSBydWxlU2V0OwotICAgIH0KLQogICAgIGJv
b2wmIGlzSW52YWxpZGF0aW5nU3R5bGVXaXRoUnVsZVNldHMoKSB7IHJldHVybiBtX2lzSW52YWxp
ZGF0aW5nU3R5bGVXaXRoUnVsZVNldHM7IH0KIAogICAgIGJvb2wgaGFzTWF0Y2hpbmdVc2VyT3JB
dXRob3JTdHlsZShjb25zdCBGdW5jdGlvbjxib29sKFJ1bGVTZXQmKT4mKTsKQEAgLTExMCw3ICsx
MDQsNiBAQCBwcml2YXRlOgogCiAgICAgUmVmUHRyPFJ1bGVTZXQ+IG1fYXV0aG9yU3R5bGU7CiAg
ICAgbXV0YWJsZSBSZWZQdHI8UnVsZVNldD4gbV91c2VyQWdlbnRNZWRpYVF1ZXJ5U3R5bGU7Ci0g
ICAgbXV0YWJsZSBSZWZQdHI8UnVsZVNldD4gbV9keW5hbWljVmlld1RyYW5zaXRpb25zU3R5bGU7
CiAgICAgUmVmUHRyPFJ1bGVTZXQ+IG1fdXNlclN0eWxlOwogCiAgICAgUmVzb2x2ZXImIG1fc3R5
bGVSZXNvbHZlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2hhcmlu
Z1Jlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2hhcmluZ1Jlc29sdmVy
LmNwcAppbmRleCAwOTAzZWY4NGNmMjYuLjBmYTk2MDRkZWJkOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3R5bGUvU3R5bGVTaGFyaW5nUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1N0eWxlU2hhcmluZ1Jlc29sdmVyLmNwcApAQCAtMjQ4LDcgKzI0OCw3IEBAIGJv
b2wgU2hhcmluZ1Jlc29sdmVyOjpjYW5TaGFyZVN0eWxlV2l0aEVsZW1lbnQoY29uc3QgQ29udGV4
dCYgY29udGV4dCwgY29uc3QgU3R5CiAgICAgaWYgKGNhbmRpZGF0ZUVsZW1lbnQubWF0Y2hlc0Rl
ZmF1bHRQc2V1ZG9DbGFzcygpICE9IGVsZW1lbnQubWF0Y2hlc0RlZmF1bHRQc2V1ZG9DbGFzcygp
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAoY2FuZGlkYXRlRWxlbWVudC5oYXNL
ZXlmcmFtZUVmZmVjdHMoc3RkOjpudWxsb3B0KSkKKyAgICBpZiAoY2FuZGlkYXRlRWxlbWVudC5o
YXNLZXlmcmFtZUVmZmVjdHMoUHNldWRvSWQ6Ok5vbmUpKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKICAgICAvLyBUdXJuIG9mZiBzdHlsZSBzaGFyaW5nIGZvciBlbGVtZW50cyB0aGF0IGNhbiBn
YWluIGxheWVycyBmb3IgcmVhc29ucyBvdXRzaWRlIG9mIHRoZSBzdHlsZSBzeXN0ZW0uCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAKaW5kZXggNDlmOTY3ODFkZWU0
Li42NTA4M2YxZjE5MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJl
ZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZl
ci5jcHAKQEAgLTU2LDcgKzU2LDYgQEAKICNpbmNsdWRlICJTdHlsZVNjb3BlLmgiCiAjaW5jbHVk
ZSAiVGV4dC5oIgogI2luY2x1ZGUgIlR5cGVkRWxlbWVudERlc2NlbmRhbnRJdGVyYXRvcklubGlu
ZXMuaCIKLSNpbmNsdWRlICJWaWV3VHJhbnNpdGlvbi5oIgogI2luY2x1ZGUgIldlYkFuaW1hdGlv
blR5cGVzLmgiCiAjaW5jbHVkZSAiV2ViQW5pbWF0aW9uVXRpbGl0aWVzLmgiCiAKQEAgLTI0Niw3
ICsyNDUsNyBAQCBhdXRvIFRyZWVSZXNvbHZlcjo6cmVzb2x2ZUVsZW1lbnQoRWxlbWVudCYgZWxl
bWVudCwgY29uc3QgUmVuZGVyU3R5bGUqIGV4aXN0aW5nUwogCiAgICAgYXV0byByZXNvbHV0aW9u
Q29udGV4dCA9IG1ha2VSZXNvbHV0aW9uQ29udGV4dCgpOwogCi0gICAgU3R5bGVhYmxlIHN0eWxl
YWJsZSB7IGVsZW1lbnQsIHsgfSB9OworICAgIFN0eWxlYWJsZSBzdHlsZWFibGUgeyBlbGVtZW50
LCBQc2V1ZG9JZDo6Tm9uZSB9OwogICAgIGF1dG8gcmVzb2x2ZWRTdHlsZSA9IHN0eWxlRm9yU3R5
bGVhYmxlKHN0eWxlYWJsZSwgcmVzb2x1dGlvblR5cGUsIHJlc29sdXRpb25Db250ZXh0KTsKIAog
ICAgIGlmICghYWZmZWN0c1JlbmRlcmVkU3VidHJlZShlbGVtZW50LCAqcmVzb2x2ZWRTdHlsZS5z
dHlsZSkpCkBAIC0yNzgsNTIgKzI3Nyw0MCBAQCBhdXRvIFRyZWVSZXNvbHZlcjo6cmVzb2x2ZUVs
ZW1lbnQoRWxlbWVudCYgZWxlbWVudCwgY29uc3QgUmVuZGVyU3R5bGUqIGV4aXN0aW5nUwogICAg
ICAgICB9CiAgICAgfQogCi0gICAgYXV0byByZXNvbHZlQW5kQWRkUHNldWRvRWxlbWVudFN0eWxl
ID0gWyZdKGNvbnN0IFBzZXVkb0VsZW1lbnRJZGVudGlmaWVyJiBwc2V1ZG9FbGVtZW50SWRlbnRp
ZmllcikgewotICAgICAgICBhdXRvIHBzZXVkb0VsZW1lbnRVcGRhdGUgPSByZXNvbHZlUHNldWRv
RWxlbWVudChlbGVtZW50LCBwc2V1ZG9FbGVtZW50SWRlbnRpZmllciwgdXBkYXRlKTsKKyAgICBh
dXRvIHJlc29sdmVBbmRBZGRQc2V1ZG9FbGVtZW50U3R5bGUgPSBbJl0oUHNldWRvSWQgcHNldWRv
SWQpIHsKKyAgICAgICAgYXV0byBwc2V1ZG9FbGVtZW50VXBkYXRlID0gcmVzb2x2ZVBzZXVkb0Vs
ZW1lbnQoZWxlbWVudCwgcHNldWRvSWQsIHVwZGF0ZSk7CiAgICAgICAgIGF1dG8gcHNldWRvRWxl
bWVudENoYW5nZSA9IFsmXSB7CiAgICAgICAgICAgICBpZiAocHNldWRvRWxlbWVudFVwZGF0ZSkg
ewotICAgICAgICAgICAgICAgIGlmIChwc2V1ZG9FbGVtZW50SWRlbnRpZmllci5wc2V1ZG9JZCA9
PSBQc2V1ZG9JZDo6V2ViS2l0U2Nyb2xsYmFyKQorICAgICAgICAgICAgICAgIGlmIChwc2V1ZG9J
ZCA9PSBQc2V1ZG9JZDo6V2ViS2l0U2Nyb2xsYmFyKQogICAgICAgICAgICAgICAgICAgICByZXR1
cm4gcHNldWRvRWxlbWVudFVwZGF0ZS0+Y2hhbmdlOwogICAgICAgICAgICAgICAgIHJldHVybiBw
c2V1ZG9FbGVtZW50VXBkYXRlLT5jaGFuZ2UgPT0gQ2hhbmdlOjpOb25lID8gQ2hhbmdlOjpOb25l
IDogQ2hhbmdlOjpOb25Jbmhlcml0ZWQ7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAo
IWV4aXN0aW5nU3R5bGUgfHwgIWV4aXN0aW5nU3R5bGUtPmdldENhY2hlZFBzZXVkb1N0eWxlKHBz
ZXVkb0VsZW1lbnRJZGVudGlmaWVyKSkKKyAgICAgICAgICAgIGlmICghZXhpc3RpbmdTdHlsZSB8
fCAhZXhpc3RpbmdTdHlsZS0+Z2V0Q2FjaGVkUHNldWRvU3R5bGUoeyBwc2V1ZG9JZCB9KSkKICAg
ICAgICAgICAgICAgICByZXR1cm4gQ2hhbmdlOjpOb25lOwogICAgICAgICAgICAgLy8gSWYgOjpm
aXJzdC1sZXR0ZXIgZ29lcyBhd2F5cyByZWJ1aWxkIHRoZSByZW5kZXJlcnMuCi0gICAgICAgICAg
ICByZXR1cm4gcHNldWRvRWxlbWVudElkZW50aWZpZXIucHNldWRvSWQgPT0gUHNldWRvSWQ6OkZp
cnN0TGV0dGVyID8gQ2hhbmdlOjpSZW5kZXJlciA6IENoYW5nZTo6Tm9uSW5oZXJpdGVkOworICAg
ICAgICAgICAgcmV0dXJuIHBzZXVkb0lkID09IFBzZXVkb0lkOjpGaXJzdExldHRlciA/IENoYW5n
ZTo6UmVuZGVyZXIgOiBDaGFuZ2U6Ok5vbkluaGVyaXRlZDsKICAgICAgICAgfSgpOwogICAgICAg
ICB1cGRhdGUuY2hhbmdlID0gc3RkOjptYXgodXBkYXRlLmNoYW5nZSwgcHNldWRvRWxlbWVudENo
YW5nZSk7CiAgICAgICAgIGlmICghcHNldWRvRWxlbWVudFVwZGF0ZSkKICAgICAgICAgICAgIHJl
dHVybiBwc2V1ZG9FbGVtZW50Q2hhbmdlOwogICAgICAgICBpZiAocHNldWRvRWxlbWVudFVwZGF0
ZS0+cmVjb21wb3NpdGVMYXllcikKICAgICAgICAgICAgIHVwZGF0ZS5yZWNvbXBvc2l0ZUxheWVy
ID0gdHJ1ZTsKLSAgICAgICAgaWYgKHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyLm5hbWVBcmd1bWVu
dC5pc051bGwoKSkKLSAgICAgICAgICAgIHVwZGF0ZS5zdHlsZS0+YWRkQ2FjaGVkUHNldWRvU3R5
bGUoV1RGTW92ZShwc2V1ZG9FbGVtZW50VXBkYXRlLT5zdHlsZSkpOworICAgICAgICB1cGRhdGUu
c3R5bGUtPmFkZENhY2hlZFBzZXVkb1N0eWxlKFdURk1vdmUocHNldWRvRWxlbWVudFVwZGF0ZS0+
c3R5bGUpKTsKICAgICAgICAgcmV0dXJuIHBzZXVkb0VsZW1lbnRVcGRhdGUtPmNoYW5nZTsKICAg
ICB9OwogICAgIAotICAgIGlmIChyZXNvbHZlQW5kQWRkUHNldWRvRWxlbWVudFN0eWxlKHsgUHNl
dWRvSWQ6OkZpcnN0TGluZSB9KSAhPSBDaGFuZ2U6Ok5vbmUpCisgICAgaWYgKHJlc29sdmVBbmRB
ZGRQc2V1ZG9FbGVtZW50U3R5bGUoUHNldWRvSWQ6OkZpcnN0TGluZSkgIT0gQ2hhbmdlOjpOb25l
KQogICAgICAgICBkZXNjZW5kYW50c1RvUmVzb2x2ZSA9IERlc2NlbmRhbnRzVG9SZXNvbHZlOjpB
bGw7Ci0gICAgaWYgKHJlc29sdmVBbmRBZGRQc2V1ZG9FbGVtZW50U3R5bGUoeyBQc2V1ZG9JZDo6
Rmlyc3RMZXR0ZXIgfSkgIT0gQ2hhbmdlOjpOb25lKQorICAgIGlmIChyZXNvbHZlQW5kQWRkUHNl
dWRvRWxlbWVudFN0eWxlKFBzZXVkb0lkOjpGaXJzdExldHRlcikgIT0gQ2hhbmdlOjpOb25lKQog
ICAgICAgICBkZXNjZW5kYW50c1RvUmVzb2x2ZSA9IERlc2NlbmRhbnRzVG9SZXNvbHZlOjpBbGw7
Ci0gICAgaWYgKHJlc29sdmVBbmRBZGRQc2V1ZG9FbGVtZW50U3R5bGUoeyBQc2V1ZG9JZDo6V2Vi
S2l0U2Nyb2xsYmFyIH0pICE9IENoYW5nZTo6Tm9uZSkKKyAgICBpZiAocmVzb2x2ZUFuZEFkZFBz
ZXVkb0VsZW1lbnRTdHlsZShQc2V1ZG9JZDo6V2ViS2l0U2Nyb2xsYmFyKSAhPSBDaGFuZ2U6Ok5v
bmUpCiAgICAgICAgIGRlc2NlbmRhbnRzVG9SZXNvbHZlID0gRGVzY2VuZGFudHNUb1Jlc29sdmU6
OkFsbDsKIAotICAgIHJlc29sdmVBbmRBZGRQc2V1ZG9FbGVtZW50U3R5bGUoeyBQc2V1ZG9JZDo6
TWFya2VyIH0pOwotICAgIHJlc29sdmVBbmRBZGRQc2V1ZG9FbGVtZW50U3R5bGUoeyBQc2V1ZG9J
ZDo6QmVmb3JlIH0pOwotICAgIHJlc29sdmVBbmRBZGRQc2V1ZG9FbGVtZW50U3R5bGUoeyBQc2V1
ZG9JZDo6QWZ0ZXIgfSk7Ci0gICAgcmVzb2x2ZUFuZEFkZFBzZXVkb0VsZW1lbnRTdHlsZSh7IFBz
ZXVkb0lkOjpCYWNrZHJvcCB9KTsKLSAgICByZXNvbHZlQW5kQWRkUHNldWRvRWxlbWVudFN0eWxl
KHsgUHNldWRvSWQ6OlZpZXdUcmFuc2l0aW9uIH0pOwotCi0gICAgaWYgKG1fZG9jdW1lbnQuaGFz
Vmlld1RyYW5zaXRpb25Qc2V1ZG9FbGVtZW50VHJlZSgpICYmICZlbGVtZW50ID09IG1fZG9jdW1l
bnQuZG9jdW1lbnRFbGVtZW50KCkpIHsKLSAgICAgICAgUmVmUHRyIGFjdGl2ZVZpZXdUcmFuc2l0
aW9uID0gbV9kb2N1bWVudC5hY3RpdmVWaWV3VHJhbnNpdGlvbigpOwotICAgICAgICBBU1NFUlQo
YWN0aXZlVmlld1RyYW5zaXRpb24pOwotICAgICAgICBmb3IgKGF1dG8mIG5hbWUgOiBhY3RpdmVW
aWV3VHJhbnNpdGlvbi0+bmFtZWRFbGVtZW50cygpLmtleXMoKSkgewotICAgICAgICAgICAgcmVz
b2x2ZUFuZEFkZFBzZXVkb0VsZW1lbnRTdHlsZSh7IFBzZXVkb0lkOjpWaWV3VHJhbnNpdGlvbkdy
b3VwLCBuYW1lIH0pOwotICAgICAgICAgICAgcmVzb2x2ZUFuZEFkZFBzZXVkb0VsZW1lbnRTdHls
ZSh7IFBzZXVkb0lkOjpWaWV3VHJhbnNpdGlvbkltYWdlUGFpciwgbmFtZSB9KTsKLSAgICAgICAg
ICAgIHJlc29sdmVBbmRBZGRQc2V1ZG9FbGVtZW50U3R5bGUoeyBQc2V1ZG9JZDo6Vmlld1RyYW5z
aXRpb25OZXcsIG5hbWUgfSk7Ci0gICAgICAgICAgICByZXNvbHZlQW5kQWRkUHNldWRvRWxlbWVu
dFN0eWxlKHsgUHNldWRvSWQ6OlZpZXdUcmFuc2l0aW9uT2xkLCBuYW1lIH0pOwotICAgICAgICB9
Ci0gICAgfQorICAgIHJlc29sdmVBbmRBZGRQc2V1ZG9FbGVtZW50U3R5bGUoUHNldWRvSWQ6Ok1h
cmtlcik7CisgICAgcmVzb2x2ZUFuZEFkZFBzZXVkb0VsZW1lbnRTdHlsZShQc2V1ZG9JZDo6QmVm
b3JlKTsKKyAgICByZXNvbHZlQW5kQWRkUHNldWRvRWxlbWVudFN0eWxlKFBzZXVkb0lkOjpBZnRl
cik7CisgICAgcmVzb2x2ZUFuZEFkZFBzZXVkb0VsZW1lbnRTdHlsZShQc2V1ZG9JZDo6QmFja2Ry
b3ApOworICAgIHJlc29sdmVBbmRBZGRQc2V1ZG9FbGVtZW50U3R5bGUoUHNldWRvSWQ6OlZpZXdU
cmFuc2l0aW9uKTsKIAogI2lmIEVOQUJMRShUT1VDSF9BQ1RJT05fUkVHSU9OUykKICAgICAvLyBG
SVhNRTogVHJhY2sgdGhpcyBleGFjdGx5LgpAQCAtMzQ5LDUzICszMzYsNDggQEAgaW5saW5lIGJv
b2wgc3VwcG9ydHNGaXJzdExpbmVBbmRMZXR0ZXJQc2V1ZG9FbGVtZW50KGNvbnN0IFJlbmRlclN0
eWxlJiBzdHlsZSkKICAgICAgICAgfHwgZGlzcGxheSA9PSBEaXNwbGF5VHlwZTo6Rmxvd1Jvb3Q7
CiB9OwogCi1zdGQ6Om9wdGlvbmFsPEVsZW1lbnRVcGRhdGU+IFRyZWVSZXNvbHZlcjo6cmVzb2x2
ZVBzZXVkb0VsZW1lbnQoRWxlbWVudCYgZWxlbWVudCwgY29uc3QgUHNldWRvRWxlbWVudElkZW50
aWZpZXImIHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyLCBjb25zdCBFbGVtZW50VXBkYXRlJiBlbGVt
ZW50VXBkYXRlKQorc3RkOjpvcHRpb25hbDxFbGVtZW50VXBkYXRlPiBUcmVlUmVzb2x2ZXI6OnJl
c29sdmVQc2V1ZG9FbGVtZW50KEVsZW1lbnQmIGVsZW1lbnQsIFBzZXVkb0lkIHBzZXVkb0lkLCBj
b25zdCBFbGVtZW50VXBkYXRlJiBlbGVtZW50VXBkYXRlKQogewogICAgIGlmIChlbGVtZW50VXBk
YXRlLnN0eWxlLT5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6Ok5vbmUpCiAgICAgICAgIHJldHVy
biB7IH07Ci0gICAgaWYgKHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyLnBzZXVkb0lkID09IFBzZXVk
b0lkOjpCYWNrZHJvcCAmJiAhZWxlbWVudC5pc0luVG9wTGF5ZXIoKSkKKyAgICBpZiAocHNldWRv
SWQgPT0gUHNldWRvSWQ6OkJhY2tkcm9wICYmICFlbGVtZW50LmlzSW5Ub3BMYXllcigpKQogICAg
ICAgICByZXR1cm4geyB9OwotICAgIGlmIChwc2V1ZG9FbGVtZW50SWRlbnRpZmllci5wc2V1ZG9J
ZCA9PSBQc2V1ZG9JZDo6TWFya2VyICYmIGVsZW1lbnRVcGRhdGUuc3R5bGUtPmRpc3BsYXkoKSAh
PSBEaXNwbGF5VHlwZTo6TGlzdEl0ZW0pCisgICAgaWYgKHBzZXVkb0lkID09IFBzZXVkb0lkOjpN
YXJrZXIgJiYgZWxlbWVudFVwZGF0ZS5zdHlsZS0+ZGlzcGxheSgpICE9IERpc3BsYXlUeXBlOjpM
aXN0SXRlbSkKICAgICAgICAgcmV0dXJuIHsgfTsKLSAgICBpZiAocHNldWRvRWxlbWVudElkZW50
aWZpZXIucHNldWRvSWQgPT0gUHNldWRvSWQ6OkZpcnN0TGluZSAmJiAhc2NvcGUoKS5yZXNvbHZl
ci0+dXNlc0ZpcnN0TGluZVJ1bGVzKCkpCisgICAgaWYgKHBzZXVkb0lkID09IFBzZXVkb0lkOjpG
aXJzdExpbmUgJiYgIXNjb3BlKCkucmVzb2x2ZXItPnVzZXNGaXJzdExpbmVSdWxlcygpKQogICAg
ICAgICByZXR1cm4geyB9OwotICAgIGlmIChwc2V1ZG9FbGVtZW50SWRlbnRpZmllci5wc2V1ZG9J
ZCA9PSBQc2V1ZG9JZDo6Rmlyc3RMZXR0ZXIgJiYgIXNjb3BlKCkucmVzb2x2ZXItPnVzZXNGaXJz
dExldHRlclJ1bGVzKCkpCisgICAgaWYgKHBzZXVkb0lkID09IFBzZXVkb0lkOjpGaXJzdExldHRl
ciAmJiAhc2NvcGUoKS5yZXNvbHZlci0+dXNlc0ZpcnN0TGV0dGVyUnVsZXMoKSkKICAgICAgICAg
cmV0dXJuIHsgfTsKLSAgICBpZiAocHNldWRvRWxlbWVudElkZW50aWZpZXIucHNldWRvSWQgPT0g
UHNldWRvSWQ6OldlYktpdFNjcm9sbGJhciAmJiBlbGVtZW50VXBkYXRlLnN0eWxlLT5vdmVyZmxv
d1goKSAhPSBPdmVyZmxvdzo6U2Nyb2xsICYmIGVsZW1lbnRVcGRhdGUuc3R5bGUtPm92ZXJmbG93
WSgpICE9IE92ZXJmbG93OjpTY3JvbGwpCisgICAgaWYgKHBzZXVkb0lkID09IFBzZXVkb0lkOjpX
ZWJLaXRTY3JvbGxiYXIgJiYgZWxlbWVudFVwZGF0ZS5zdHlsZS0+b3ZlcmZsb3dYKCkgIT0gT3Zl
cmZsb3c6OlNjcm9sbCAmJiBlbGVtZW50VXBkYXRlLnN0eWxlLT5vdmVyZmxvd1koKSAhPSBPdmVy
Zmxvdzo6U2Nyb2xsKQogICAgICAgICByZXR1cm4geyB9OwotICAgIGF1dG8gaXNWaWV3VHJhbnNp
dGlvblBzZXVkb0VsZW1lbnQgPSBwc2V1ZG9FbGVtZW50SWRlbnRpZmllci5wc2V1ZG9JZCA9PSBQ
c2V1ZG9JZDo6Vmlld1RyYW5zaXRpb24KLSAgICAgICAgfHwgcHNldWRvRWxlbWVudElkZW50aWZp
ZXIucHNldWRvSWQgPT0gUHNldWRvSWQ6OlZpZXdUcmFuc2l0aW9uR3JvdXAKLSAgICAgICAgfHwg
cHNldWRvRWxlbWVudElkZW50aWZpZXIucHNldWRvSWQgPT0gUHNldWRvSWQ6OlZpZXdUcmFuc2l0
aW9uSW1hZ2VQYWlyCi0gICAgICAgIHx8IHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyLnBzZXVkb0lk
ID09IFBzZXVkb0lkOjpWaWV3VHJhbnNpdGlvbk5ldwotICAgICAgICB8fCBwc2V1ZG9FbGVtZW50
SWRlbnRpZmllci5wc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6Vmlld1RyYW5zaXRpb25PbGQ7Ci0gICAg
aWYgKGlzVmlld1RyYW5zaXRpb25Qc2V1ZG9FbGVtZW50ICYmICghZWxlbWVudC5kb2N1bWVudCgp
Lmhhc1ZpZXdUcmFuc2l0aW9uUHNldWRvRWxlbWVudFRyZWUoKSB8fCAmZWxlbWVudCAhPSBlbGVt
ZW50LmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkpKQorICAgIGlmIChwc2V1ZG9JZCA9PSBQ
c2V1ZG9JZDo6Vmlld1RyYW5zaXRpb24gJiYgKCFlbGVtZW50LmRvY3VtZW50KCkuaGFzVmlld1Ry
YW5zaXRpb25Qc2V1ZG9FbGVtZW50VHJlZSgpIHx8ICZlbGVtZW50ICE9IGVsZW1lbnQuZG9jdW1l
bnQoKS5kb2N1bWVudEVsZW1lbnQoKSkpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBpZiAo
IWVsZW1lbnRVcGRhdGUuc3R5bGUtPmhhc1BzZXVkb1N0eWxlKHBzZXVkb0VsZW1lbnRJZGVudGlm
aWVyLnBzZXVkb0lkKSkKLSAgICAgICAgcmV0dXJuIHJlc29sdmVBbmNlc3RvclBzZXVkb0VsZW1l
bnQoZWxlbWVudCwgcHNldWRvRWxlbWVudElkZW50aWZpZXIsIGVsZW1lbnRVcGRhdGUpOworICAg
IGlmICghZWxlbWVudFVwZGF0ZS5zdHlsZS0+aGFzUHNldWRvU3R5bGUocHNldWRvSWQpKQorICAg
ICAgICByZXR1cm4gcmVzb2x2ZUFuY2VzdG9yUHNldWRvRWxlbWVudChlbGVtZW50LCBwc2V1ZG9J
ZCwgZWxlbWVudFVwZGF0ZSk7CiAKLSAgICBpZiAoKHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyLnBz
ZXVkb0lkID09IFBzZXVkb0lkOjpGaXJzdExpbmUgfHwgcHNldWRvRWxlbWVudElkZW50aWZpZXIu
cHNldWRvSWQgPT0gUHNldWRvSWQ6OkZpcnN0TGV0dGVyKSAmJiAhc3VwcG9ydHNGaXJzdExpbmVB
bmRMZXR0ZXJQc2V1ZG9FbGVtZW50KCplbGVtZW50VXBkYXRlLnN0eWxlKSkKKyAgICBpZiAoKHBz
ZXVkb0lkID09IFBzZXVkb0lkOjpGaXJzdExpbmUgfHwgcHNldWRvSWQgPT0gUHNldWRvSWQ6OkZp
cnN0TGV0dGVyKSAmJiAhc3VwcG9ydHNGaXJzdExpbmVBbmRMZXR0ZXJQc2V1ZG9FbGVtZW50KCpl
bGVtZW50VXBkYXRlLnN0eWxlKSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGF1dG8gcmVz
b2x1dGlvbkNvbnRleHQgPSBtYWtlUmVzb2x1dGlvbkNvbnRleHRGb3JQc2V1ZG9FbGVtZW50KGVs
ZW1lbnRVcGRhdGUsIHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyKTsKKyAgICBhdXRvIHJlc29sdXRp
b25Db250ZXh0ID0gbWFrZVJlc29sdXRpb25Db250ZXh0Rm9yUHNldWRvRWxlbWVudChlbGVtZW50
VXBkYXRlLCBwc2V1ZG9JZCk7CiAKLSAgICBhdXRvIHJlc29sdmVkU3R5bGUgPSBzY29wZSgpLnJl
c29sdmVyLT5zdHlsZUZvclBzZXVkb0VsZW1lbnQoZWxlbWVudCwgcHNldWRvRWxlbWVudElkZW50
aWZpZXIsIHJlc29sdXRpb25Db250ZXh0KTsKKyAgICBhdXRvIHJlc29sdmVkU3R5bGUgPSBzY29w
ZSgpLnJlc29sdmVyLT5zdHlsZUZvclBzZXVkb0VsZW1lbnQoZWxlbWVudCwgeyBwc2V1ZG9JZCB9
LCByZXNvbHV0aW9uQ29udGV4dCk7CiAgICAgaWYgKCFyZXNvbHZlZFN0eWxlKQogICAgICAgICBy
ZXR1cm4geyB9OwogCi0gICAgYXV0byBhbmltYXRlZFVwZGF0ZSA9IGNyZWF0ZUFuaW1hdGVkRWxl
bWVudFVwZGF0ZShXVEZNb3ZlKCpyZXNvbHZlZFN0eWxlKSwgeyBlbGVtZW50LCBwc2V1ZG9FbGVt
ZW50SWRlbnRpZmllciB9LCBlbGVtZW50VXBkYXRlLmNoYW5nZSwgcmVzb2x1dGlvbkNvbnRleHQp
OworICAgIGF1dG8gYW5pbWF0ZWRVcGRhdGUgPSBjcmVhdGVBbmltYXRlZEVsZW1lbnRVcGRhdGUo
V1RGTW92ZSgqcmVzb2x2ZWRTdHlsZSksIHsgZWxlbWVudCwgcHNldWRvSWQgfSwgZWxlbWVudFVw
ZGF0ZS5jaGFuZ2UsIHJlc29sdXRpb25Db250ZXh0KTsKIAotICAgIGlmIChwc2V1ZG9FbGVtZW50
SWRlbnRpZmllci5wc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QmVmb3JlIHx8IHBzZXVkb0VsZW1lbnRJ
ZGVudGlmaWVyLnBzZXVkb0lkID09IFBzZXVkb0lkOjpBZnRlcikgeworICAgIGlmIChwc2V1ZG9J
ZCA9PSBQc2V1ZG9JZDo6QmVmb3JlIHx8IHBzZXVkb0lkID09IFBzZXVkb0lkOjpBZnRlcikgewog
ICAgICAgICBpZiAoc2NvcGUoKS5yZXNvbHZlci0+dXNlc0ZpcnN0TGluZVJ1bGVzKCkpIHsKICAg
ICAgICAgICAgIC8vIDo6Zmlyc3QtbGluZSBjYW4gaW5oZXJpdCB0byA6OmJlZm9yZS86OmFmdGVy
CiAgICAgICAgICAgICBpZiAoYXV0byBmaXJzdExpbmVDb250ZXh0ID0gbWFrZVJlc29sdXRpb25D
b250ZXh0Rm9ySW5oZXJpdGVkRmlyc3RMaW5lKGVsZW1lbnRVcGRhdGUsICplbGVtZW50VXBkYXRl
LnN0eWxlKSkgewotICAgICAgICAgICAgICAgIGF1dG8gZmlyc3RMaW5lU3R5bGUgPSBzY29wZSgp
LnJlc29sdmVyLT5zdHlsZUZvclBzZXVkb0VsZW1lbnQoZWxlbWVudCwgcHNldWRvRWxlbWVudElk
ZW50aWZpZXIsICpmaXJzdExpbmVDb250ZXh0KTsKKyAgICAgICAgICAgICAgICBhdXRvIGZpcnN0
TGluZVN0eWxlID0gc2NvcGUoKS5yZXNvbHZlci0+c3R5bGVGb3JQc2V1ZG9FbGVtZW50KGVsZW1l
bnQsIHsgcHNldWRvSWQgfSwgKmZpcnN0TGluZUNvbnRleHQpOwogICAgICAgICAgICAgICAgIGZp
cnN0TGluZVN0eWxlLT5zdHlsZS0+c2V0UHNldWRvRWxlbWVudFR5cGUoUHNldWRvSWQ6OkZpcnN0
TGluZSk7CiAgICAgICAgICAgICAgICAgYW5pbWF0ZWRVcGRhdGUuc3R5bGUtPmFkZENhY2hlZFBz
ZXVkb1N0eWxlKFdURk1vdmUoZmlyc3RMaW5lU3R5bGUtPnN0eWxlKSk7CiAgICAgICAgICAgICB9
CiAgICAgICAgIH0KICAgICAgICAgaWYgKHNjb3BlKCkucmVzb2x2ZXItPnVzZXNGaXJzdExldHRl
clJ1bGVzKCkpIHsKLSAgICAgICAgICAgIGF1dG8gYmVmb3JlQWZ0ZXJDb250ZXh0ID0gbWFrZVJl
c29sdXRpb25Db250ZXh0Rm9yUHNldWRvRWxlbWVudChhbmltYXRlZFVwZGF0ZSwgeyBQc2V1ZG9J
ZDo6Rmlyc3RMZXR0ZXIgfSk7CisgICAgICAgICAgICBhdXRvIGJlZm9yZUFmdGVyQ29udGV4dCA9
IG1ha2VSZXNvbHV0aW9uQ29udGV4dEZvclBzZXVkb0VsZW1lbnQoYW5pbWF0ZWRVcGRhdGUsIFBz
ZXVkb0lkOjpGaXJzdExldHRlcik7CiAgICAgICAgICAgICBpZiAoYXV0byBmaXJzdExldHRlclN0
eWxlID0gcmVzb2x2ZUFuY2VzdG9yRmlyc3RMZXR0ZXJQc2V1ZG9FbGVtZW50KGVsZW1lbnQsIGVs
ZW1lbnRVcGRhdGUsIGJlZm9yZUFmdGVyQ29udGV4dCkpCiAgICAgICAgICAgICAgICAgYW5pbWF0
ZWRVcGRhdGUuc3R5bGUtPmFkZENhY2hlZFBzZXVkb1N0eWxlKFdURk1vdmUoZmlyc3RMZXR0ZXJT
dHlsZS0+c3R5bGUpKTsKICAgICAgICAgfQpAQCAtNDA0LDE2ICszODYsMTYgQEAgc3RkOjpvcHRp
b25hbDxFbGVtZW50VXBkYXRlPiBUcmVlUmVzb2x2ZXI6OnJlc29sdmVQc2V1ZG9FbGVtZW50KEVs
ZW1lbnQmIGVsZW1lbnQKICAgICByZXR1cm4gYW5pbWF0ZWRVcGRhdGU7CiB9CiAKLXN0ZDo6b3B0
aW9uYWw8RWxlbWVudFVwZGF0ZT4gVHJlZVJlc29sdmVyOjpyZXNvbHZlQW5jZXN0b3JQc2V1ZG9F
bGVtZW50KEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFBzZXVkb0VsZW1lbnRJZGVudGlmaWVyJiBw
c2V1ZG9FbGVtZW50SWRlbnRpZmllciwgY29uc3QgRWxlbWVudFVwZGF0ZSYgZWxlbWVudFVwZGF0
ZSkKK3N0ZDo6b3B0aW9uYWw8RWxlbWVudFVwZGF0ZT4gVHJlZVJlc29sdmVyOjpyZXNvbHZlQW5j
ZXN0b3JQc2V1ZG9FbGVtZW50KEVsZW1lbnQmIGVsZW1lbnQsIFBzZXVkb0lkIHBzZXVkb0lkLCBj
b25zdCBFbGVtZW50VXBkYXRlJiBlbGVtZW50VXBkYXRlKQogewotICAgIEFTU0VSVCghZWxlbWVu
dFVwZGF0ZS5zdHlsZS0+aGFzUHNldWRvU3R5bGUocHNldWRvRWxlbWVudElkZW50aWZpZXIucHNl
dWRvSWQpKTsKKyAgICBBU1NFUlQoIWVsZW1lbnRVcGRhdGUuc3R5bGUtPmhhc1BzZXVkb1N0eWxl
KHBzZXVkb0lkKSk7CiAKICAgICBhdXRvIHBzZXVkb0VsZW1lbnRTdHlsZSA9IFsmXSgpIC0+IHN0
ZDo6b3B0aW9uYWw8UmVzb2x2ZWRTdHlsZT4gewogICAgICAgICAvLyA6OmZpcnN0LWxpbmUgYW5k
IDo6Zmlyc3QtbGV0dGVyIGRlZmluZWQgb24gYW4gYW5jZXN0b3IgZWxlbWVudCBtYXkgbmVlZCB0
byBiZSByZXNvbHZlZCBmb3IgdGhlIGN1cnJlbnQgZWxlbWVudC4KLSAgICAgICAgaWYgKHBzZXVk
b0VsZW1lbnRJZGVudGlmaWVyLnBzZXVkb0lkID09IFBzZXVkb0lkOjpGaXJzdExpbmUpCisgICAg
ICAgIGlmIChwc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6Rmlyc3RMaW5lKQogICAgICAgICAgICAgcmV0
dXJuIHJlc29sdmVBbmNlc3RvckZpcnN0TGluZVBzZXVkb0VsZW1lbnQoZWxlbWVudCwgZWxlbWVu
dFVwZGF0ZSk7Ci0gICAgICAgIGlmIChwc2V1ZG9FbGVtZW50SWRlbnRpZmllci5wc2V1ZG9JZCA9
PSBQc2V1ZG9JZDo6Rmlyc3RMZXR0ZXIpIHsKLSAgICAgICAgICAgIGF1dG8gcmVzb2x1dGlvbkNv
bnRleHQgPSBtYWtlUmVzb2x1dGlvbkNvbnRleHRGb3JQc2V1ZG9FbGVtZW50KGVsZW1lbnRVcGRh
dGUsIHsgUHNldWRvSWQ6OkZpcnN0TGV0dGVyIH0pOworICAgICAgICBpZiAocHNldWRvSWQgPT0g
UHNldWRvSWQ6OkZpcnN0TGV0dGVyKSB7CisgICAgICAgICAgICBhdXRvIHJlc29sdXRpb25Db250
ZXh0ID0gbWFrZVJlc29sdXRpb25Db250ZXh0Rm9yUHNldWRvRWxlbWVudChlbGVtZW50VXBkYXRl
LCBQc2V1ZG9JZDo6Rmlyc3RMZXR0ZXIpOwogICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVBbmNl
c3RvckZpcnN0TGV0dGVyUHNldWRvRWxlbWVudChlbGVtZW50LCBlbGVtZW50VXBkYXRlLCByZXNv
bHV0aW9uQ29udGV4dCk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHsgfTsKQEAgLTQyMiwx
MSArNDA0LDExIEBAIHN0ZDo6b3B0aW9uYWw8RWxlbWVudFVwZGF0ZT4gVHJlZVJlc29sdmVyOjpy
ZXNvbHZlQW5jZXN0b3JQc2V1ZG9FbGVtZW50KEVsZW1lbnQmCiAgICAgaWYgKCFwc2V1ZG9FbGVt
ZW50U3R5bGUpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvKiBvbGRTdHlsZSA9IGVs
ZW1lbnQucmVuZGVyT3JEaXNwbGF5Q29udGVudHNTdHlsZShwc2V1ZG9FbGVtZW50SWRlbnRpZmll
cik7CisgICAgYXV0byogb2xkU3R5bGUgPSBlbGVtZW50LnJlbmRlck9yRGlzcGxheUNvbnRlbnRz
U3R5bGUocHNldWRvSWQpOwogICAgIGF1dG8gY2hhbmdlID0gb2xkU3R5bGUgPyBkZXRlcm1pbmVD
aGFuZ2UoKm9sZFN0eWxlLCAqcHNldWRvRWxlbWVudFN0eWxlLT5zdHlsZSkgOiBDaGFuZ2U6OlJl
bmRlcmVyOwotICAgIGF1dG8gcmVzb2x1dGlvbkNvbnRleHQgPSBtYWtlUmVzb2x1dGlvbkNvbnRl
eHRGb3JQc2V1ZG9FbGVtZW50KGVsZW1lbnRVcGRhdGUsIHBzZXVkb0VsZW1lbnRJZGVudGlmaWVy
KTsKKyAgICBhdXRvIHJlc29sdXRpb25Db250ZXh0ID0gbWFrZVJlc29sdXRpb25Db250ZXh0Rm9y
UHNldWRvRWxlbWVudChlbGVtZW50VXBkYXRlLCBwc2V1ZG9JZCk7CiAKLSAgICByZXR1cm4gY3Jl
YXRlQW5pbWF0ZWRFbGVtZW50VXBkYXRlKFdURk1vdmUoKnBzZXVkb0VsZW1lbnRTdHlsZSksIHsg
ZWxlbWVudCwgcHNldWRvRWxlbWVudElkZW50aWZpZXIgfSwgY2hhbmdlLCByZXNvbHV0aW9uQ29u
dGV4dCk7CisgICAgcmV0dXJuIGNyZWF0ZUFuaW1hdGVkRWxlbWVudFVwZGF0ZShXVEZNb3ZlKCpw
c2V1ZG9FbGVtZW50U3R5bGUpLCB7IGVsZW1lbnQsIHBzZXVkb0lkIH0sIGNoYW5nZSwgcmVzb2x1
dGlvbkNvbnRleHQpOwogfQogCiBzdGF0aWMgYm9vbCBpc0NoaWxkSW5CbG9ja0Zvcm1hdHRpbmdD
b250ZXh0KGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKQEAgLTQ4NSw3ICs0NjcsNyBAQCBzdGQ6
Om9wdGlvbmFsPFJlc29sdmVkU3R5bGU+IFRyZWVSZXNvbHZlcjo6cmVzb2x2ZUFuY2VzdG9yRmly
c3RMaW5lUHNldWRvRWxlbWVudAogICAgIGlmICghZmlyc3RMaW5lRWxlbWVudCkKICAgICAgICAg
cmV0dXJuIHsgfTsKIAotICAgIGF1dG8gcmVzb2x1dGlvbkNvbnRleHQgPSBtYWtlUmVzb2x1dGlv
bkNvbnRleHRGb3JQc2V1ZG9FbGVtZW50KGVsZW1lbnRVcGRhdGUsIHsgUHNldWRvSWQ6OkZpcnN0
TGluZSB9KTsKKyAgICBhdXRvIHJlc29sdXRpb25Db250ZXh0ID0gbWFrZVJlc29sdXRpb25Db250
ZXh0Rm9yUHNldWRvRWxlbWVudChlbGVtZW50VXBkYXRlLCBQc2V1ZG9JZDo6Rmlyc3RMaW5lKTsK
ICAgICAvLyBDYW4ndCB1c2UgdGhlIGNhY2hlZCBzdGF0ZSBzaW5jZSB0aGUgZWxlbWVudCBiZWlu
ZyByZXNvbHZlZCBpcyBub3QgdGhlIGN1cnJlbnQgb25lLgogICAgIHJlc29sdXRpb25Db250ZXh0
LnNlbGVjdG9yTWF0Y2hpbmdTdGF0ZSA9IG51bGxwdHI7CiAKQEAgLTU0MywxMCArNTI1LDEwIEBA
IFJlc29sdXRpb25Db250ZXh0IFRyZWVSZXNvbHZlcjo6bWFrZVJlc29sdXRpb25Db250ZXh0KCkK
ICAgICB9OwogfQogCi1SZXNvbHV0aW9uQ29udGV4dCBUcmVlUmVzb2x2ZXI6Om1ha2VSZXNvbHV0
aW9uQ29udGV4dEZvclBzZXVkb0VsZW1lbnQoY29uc3QgRWxlbWVudFVwZGF0ZSYgZWxlbWVudFVw
ZGF0ZSwgY29uc3QgUHNldWRvRWxlbWVudElkZW50aWZpZXImIHBzZXVkb0VsZW1lbnRJZGVudGlm
aWVyKQorUmVzb2x1dGlvbkNvbnRleHQgVHJlZVJlc29sdmVyOjptYWtlUmVzb2x1dGlvbkNvbnRl
eHRGb3JQc2V1ZG9FbGVtZW50KGNvbnN0IEVsZW1lbnRVcGRhdGUmIGVsZW1lbnRVcGRhdGUsIFBz
ZXVkb0lkIHBzZXVkb0lkKQogewogICAgIGF1dG8gcGFyZW50U3R5bGUgPSBbJl0oKSAtPiBjb25z
dCBSZW5kZXJTdHlsZSogewotICAgICAgICBpZiAocHNldWRvRWxlbWVudElkZW50aWZpZXIucHNl
dWRvSWQgPT0gUHNldWRvSWQ6OkZpcnN0TGV0dGVyKSB7CisgICAgICAgIGlmIChwc2V1ZG9JZCA9
PSBQc2V1ZG9JZDo6Rmlyc3RMZXR0ZXIpIHsKICAgICAgICAgICAgIGlmIChhdXRvKiBmaXJzdExp
bmVTdHlsZSA9IGVsZW1lbnRVcGRhdGUuc3R5bGUtPmdldENhY2hlZFBzZXVkb1N0eWxlKHsgUHNl
dWRvSWQ6OkZpcnN0TGluZSB9KSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmlyc3RMaW5lU3R5
bGU7CiAgICAgICAgIH0KQEAgLTYxMSw3ICs1OTMsNyBAQCBFbGVtZW50VXBkYXRlIFRyZWVSZXNv
bHZlcjo6Y3JlYXRlQW5pbWF0ZWRFbGVtZW50VXBkYXRlKFJlc29sdmVkU3R5bGUmJiByZXNvbHZl
ZAogewogICAgIGF1dG8mIGVsZW1lbnQgPSBzdHlsZWFibGUuZWxlbWVudDsKICAgICBhdXRvJiBk
b2N1bWVudCA9IGVsZW1lbnQuZG9jdW1lbnQoKTsKLSAgICBhdXRvKiBvbGRTdHlsZSA9IGVsZW1l
bnQucmVuZGVyT3JEaXNwbGF5Q29udGVudHNTdHlsZShzdHlsZWFibGUucHNldWRvRWxlbWVudElk
ZW50aWZpZXIpOworICAgIGF1dG8qIG9sZFN0eWxlID0gZWxlbWVudC5yZW5kZXJPckRpc3BsYXlD
b250ZW50c1N0eWxlKHN0eWxlYWJsZS5wc2V1ZG9JZCk7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
UmVuZGVyU3R5bGU+IHN0YXJ0aW5nU3R5bGU7CiAgICAgaWYgKCFvbGRTdHlsZSAmJiByZXNvbHZl
ZFN0eWxlLnN0eWxlLT5oYXNUcmFuc2l0aW9ucygpKSB7CkBAIC02NjUsNyArNjQ3LDcgQEAgRWxl
bWVudFVwZGF0ZSBUcmVlUmVzb2x2ZXI6OmNyZWF0ZUFuaW1hdGVkRWxlbWVudFVwZGF0ZShSZXNv
bHZlZFN0eWxlJiYgcmVzb2x2ZWQKICAgICAgICAgICAgIHN0eWxlYWJsZS5zZXRIYXNQcm9wZXJ0
aWVzT3ZlcnJpZGVuQWZ0ZXJBbmltYXRpb24oIW92ZXJyaWRkZW5BbmltYXRlZFByb3BlcnRpZXMu
aXNFbXB0eSgpKTsKICAgICAgICAgfQogCi0gICAgICAgIEFkanVzdGVyIGFkanVzdGVyKGRvY3Vt
ZW50LCAqcmVzb2x1dGlvbkNvbnRleHQucGFyZW50U3R5bGUsIHJlc29sdXRpb25Db250ZXh0LnBh
cmVudEJveFN0eWxlLCAhc3R5bGVhYmxlLnBzZXVkb0VsZW1lbnRJZGVudGlmaWVyID8gJnN0eWxl
YWJsZS5lbGVtZW50IDogbnVsbHB0cik7CisgICAgICAgIEFkanVzdGVyIGFkanVzdGVyKGRvY3Vt
ZW50LCAqcmVzb2x1dGlvbkNvbnRleHQucGFyZW50U3R5bGUsIHJlc29sdXRpb25Db250ZXh0LnBh
cmVudEJveFN0eWxlLCBzdHlsZWFibGUucHNldWRvSWQgPT0gUHNldWRvSWQ6Ok5vbmUgPyAmZWxl
bWVudCA6IG51bGxwdHIpOwogICAgICAgICBhZGp1c3Rlci5hZGp1c3RBbmltYXRlZFN0eWxlKCph
bmltYXRlZFN0eWxlLCBhbmltYXRpb25JbXBhY3QpOwogCiAgICAgICAgIHJldHVybiB7IFdURk1v
dmUoYW5pbWF0ZWRTdHlsZSksIGFuaW1hdGlvbkltcGFjdCB9OwpAQCAtNzI3LDcgKzcwOSw3IEBA
IHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gVHJlZVJlc29sdmVyOjpyZXNvbHZlU3RhcnRp
bmdTdHlsZShjb25zdCBSZXNvbHZlZFN0CiAgICAgaWYgKHN0YXJ0aW5nU3R5bGUtPmRpc3BsYXko
KSA9PSBEaXNwbGF5VHlwZTo6Tm9uZSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBB
ZGp1c3RlciBhZGp1c3RlcihtX2RvY3VtZW50LCAqcmVzb2x1dGlvbkNvbnRleHQucGFyZW50U3R5
bGUsIHJlc29sdXRpb25Db250ZXh0LnBhcmVudEJveFN0eWxlLCAhc3R5bGVhYmxlLnBzZXVkb0Vs
ZW1lbnRJZGVudGlmaWVyID8gJnN0eWxlYWJsZS5lbGVtZW50IDogbnVsbHB0cik7CisgICAgQWRq
dXN0ZXIgYWRqdXN0ZXIobV9kb2N1bWVudCwgKnJlc29sdXRpb25Db250ZXh0LnBhcmVudFN0eWxl
LCByZXNvbHV0aW9uQ29udGV4dC5wYXJlbnRCb3hTdHlsZSwgc3R5bGVhYmxlLnBzZXVkb0lkID09
IFBzZXVkb0lkOjpOb25lID8gJnN0eWxlYWJsZS5lbGVtZW50IDogbnVsbHB0cik7CiAgICAgYWRq
dXN0ZXIuYWRqdXN0KCpzdGFydGluZ1N0eWxlLCBudWxscHRyKTsKIAogICAgIHJldHVybiBzdGFy
dGluZ1N0eWxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVz
b2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmgKaW5kZXgg
NTliMWQ1MTUyYzZlLi5mMjMwY2FiZjZhODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1N0eWxlVHJlZVJlc29sdmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVU
cmVlUmVzb2x2ZXIuaApAQCAtNDYsNyArNDYsNiBAQCBuYW1lc3BhY2UgU3R5bGUgewogCiBjbGFz
cyBSZXNvbHZlcjsKIHN0cnVjdCBNYXRjaFJlc3VsdDsKLXN0cnVjdCBQc2V1ZG9FbGVtZW50SWRl
bnRpZmllcjsKIHN0cnVjdCBSZXNvbHV0aW9uQ29udGV4dDsKIHN0cnVjdCBSZXNvbHZlZFN0eWxl
OwogCkBAIC03OSw4ICs3OCw4IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRl
clN0eWxlPiByZXNvbHZlU3RhcnRpbmdTdHlsZShjb25zdCBSZXNvbHZlZFN0eWxlJiwgY29uc3Qg
U3R5bGVhYmxlJiwgY29uc3QgUmVzb2x1dGlvbkNvbnRleHQmKSBjb25zdDsKICAgICBIYXNoU2V0
PEFuaW1hdGFibGVDU1NQcm9wZXJ0eT4gYXBwbHlDYXNjYWRlQWZ0ZXJBbmltYXRpb24oUmVuZGVy
U3R5bGUmLCBjb25zdCBIYXNoU2V0PEFuaW1hdGFibGVDU1NQcm9wZXJ0eT4mLCBib29sIGlzVHJh
bnNpdGlvbiwgY29uc3QgTWF0Y2hSZXN1bHQmLCBjb25zdCBFbGVtZW50JiwgY29uc3QgUmVzb2x1
dGlvbkNvbnRleHQmKTsKIAotICAgIHN0ZDo6b3B0aW9uYWw8RWxlbWVudFVwZGF0ZT4gcmVzb2x2
ZVBzZXVkb0VsZW1lbnQoRWxlbWVudCYsIGNvbnN0IFBzZXVkb0VsZW1lbnRJZGVudGlmaWVyJiwg
Y29uc3QgRWxlbWVudFVwZGF0ZSYpOwotICAgIHN0ZDo6b3B0aW9uYWw8RWxlbWVudFVwZGF0ZT4g
cmVzb2x2ZUFuY2VzdG9yUHNldWRvRWxlbWVudChFbGVtZW50JiwgY29uc3QgUHNldWRvRWxlbWVu
dElkZW50aWZpZXImLCBjb25zdCBFbGVtZW50VXBkYXRlJik7CisgICAgc3RkOjpvcHRpb25hbDxF
bGVtZW50VXBkYXRlPiByZXNvbHZlUHNldWRvRWxlbWVudChFbGVtZW50JiwgUHNldWRvSWQsIGNv
bnN0IEVsZW1lbnRVcGRhdGUmKTsKKyAgICBzdGQ6Om9wdGlvbmFsPEVsZW1lbnRVcGRhdGU+IHJl
c29sdmVBbmNlc3RvclBzZXVkb0VsZW1lbnQoRWxlbWVudCYsIFBzZXVkb0lkLCBjb25zdCBFbGVt
ZW50VXBkYXRlJik7CiAgICAgc3RkOjpvcHRpb25hbDxSZXNvbHZlZFN0eWxlPiByZXNvbHZlQW5j
ZXN0b3JGaXJzdExpbmVQc2V1ZG9FbGVtZW50KEVsZW1lbnQmLCBjb25zdCBFbGVtZW50VXBkYXRl
Jik7CiAgICAgc3RkOjpvcHRpb25hbDxSZXNvbHZlZFN0eWxlPiByZXNvbHZlQW5jZXN0b3JGaXJz
dExldHRlclBzZXVkb0VsZW1lbnQoRWxlbWVudCYsIGNvbnN0IEVsZW1lbnRVcGRhdGUmLCBSZXNv
bHV0aW9uQ29udGV4dCYpOwogCkBAIC0xMjYsNyArMTI1LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0
aWMgdm9pZCByZXNldERlc2NlbmRhbnRTdHlsZVJlbGF0aW9ucyhFbGVtZW50JiwgRGVzY2VuZGFu
dHNUb1Jlc29sdmUpOwogCiAgICAgUmVzb2x1dGlvbkNvbnRleHQgbWFrZVJlc29sdXRpb25Db250
ZXh0KCk7Ci0gICAgUmVzb2x1dGlvbkNvbnRleHQgbWFrZVJlc29sdXRpb25Db250ZXh0Rm9yUHNl
dWRvRWxlbWVudChjb25zdCBFbGVtZW50VXBkYXRlJiwgY29uc3QgUHNldWRvRWxlbWVudElkZW50
aWZpZXImKTsKKyAgICBSZXNvbHV0aW9uQ29udGV4dCBtYWtlUmVzb2x1dGlvbkNvbnRleHRGb3JQ
c2V1ZG9FbGVtZW50KGNvbnN0IEVsZW1lbnRVcGRhdGUmLCBQc2V1ZG9JZCk7CiAgICAgc3RkOjpv
cHRpb25hbDxSZXNvbHV0aW9uQ29udGV4dD4gbWFrZVJlc29sdXRpb25Db250ZXh0Rm9ySW5oZXJp
dGVkRmlyc3RMaW5lKGNvbnN0IEVsZW1lbnRVcGRhdGUmLCBjb25zdCBSZW5kZXJTdHlsZSYgaW5o
ZXJpdFN0eWxlKTsKICAgICBjb25zdCBQYXJlbnQqIGJveEdlbmVyYXRpbmdQYXJlbnQoKSBjb25z
dDsKICAgICBjb25zdCBSZW5kZXJTdHlsZSogcGFyZW50Qm94U3R5bGUoKSBjb25zdDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlYWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9TdHlsZWFibGUuY3BwCmluZGV4IDhkYzdlZjc0YmJiNS4uOWZkMjU1YjliYjNmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZWFibGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N0eWxlL1N0eWxlYWJsZS5jcHAKQEAgLTQyLDggKzQyLDYgQEAKICNpbmNsdWRl
ICJLZXlmcmFtZUVmZmVjdC5oIgogI2luY2x1ZGUgIktleWZyYW1lRWZmZWN0U3RhY2suaCIKICNp
bmNsdWRlICJRdWlya3MuaCIKLSNpbmNsdWRlICJSZW5kZXJDaGlsZEl0ZXJhdG9yLmgiCi0jaW5j
bHVkZSAiUmVuZGVyRGVzY2VuZGFudEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVyRWxlbWVu
dC5oIgogI2luY2x1ZGUgIlJlbmRlckxpc3RJdGVtLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGlzdE1h
cmtlci5oIgpAQCAtNjUsNyArNjMsNyBAQCBjb25zdCBzdGQ6Om9wdGlvbmFsPGNvbnN0IFN0eWxl
YWJsZT4gU3R5bGVhYmxlOjpmcm9tUmVuZGVyZXIoY29uc3QgUmVuZGVyRWxlbWVudAogICAgIGNh
c2UgUHNldWRvSWQ6OkJhY2tkcm9wOgogICAgICAgICBmb3IgKGF1dG8mIHRvcExheWVyRWxlbWVu
dCA6IHJlbmRlcmVyLmRvY3VtZW50KCkudG9wTGF5ZXJFbGVtZW50cygpKSB7CiAgICAgICAgICAg
ICBpZiAodG9wTGF5ZXJFbGVtZW50LT5yZW5kZXJlcigpICYmIHRvcExheWVyRWxlbWVudC0+cmVu
ZGVyZXIoKS0+YmFja2Ryb3BSZW5kZXJlcigpID09ICZyZW5kZXJlcikKLSAgICAgICAgICAgICAg
ICByZXR1cm4gU3R5bGVhYmxlKHRvcExheWVyRWxlbWVudC5nZXQoKSwgU3R5bGU6OlBzZXVkb0Vs
ZW1lbnRJZGVudGlmaWVyIHsgUHNldWRvSWQ6OkJhY2tkcm9wIH0pOworICAgICAgICAgICAgICAg
IHJldHVybiBTdHlsZWFibGUodG9wTGF5ZXJFbGVtZW50LmdldCgpLCBQc2V1ZG9JZDo6QmFja2Ry
b3ApOwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUHNldWRvSWQ6Ok1hcmtl
cjogewpAQCAtNzMsMjIgKzcxLDExIEBAIGNvbnN0IHN0ZDo6b3B0aW9uYWw8Y29uc3QgU3R5bGVh
YmxlPiBTdHlsZWFibGU6OmZyb21SZW5kZXJlcihjb25zdCBSZW5kZXJFbGVtZW50CiAgICAgICAg
IHdoaWxlIChhbmNlc3RvcikgewogICAgICAgICAgICAgYXV0byogcmVuZGVyTGlzdEl0ZW0gPSBk
eW5hbWljRG93bmNhc3Q8UmVuZGVyTGlzdEl0ZW0+KGFuY2VzdG9yKTsKICAgICAgICAgICAgIGlm
IChyZW5kZXJMaXN0SXRlbSAmJiBhbmNlc3Rvci0+ZWxlbWVudCgpICYmIHJlbmRlckxpc3RJdGVt
LT5tYXJrZXJSZW5kZXJlcigpID09ICZyZW5kZXJlcikKLSAgICAgICAgICAgICAgICByZXR1cm4g
U3R5bGVhYmxlKCphbmNlc3Rvci0+ZWxlbWVudCgpLCBTdHlsZTo6UHNldWRvRWxlbWVudElkZW50
aWZpZXIgeyBQc2V1ZG9JZDo6TWFya2VyIH0pOworICAgICAgICAgICAgICAgIHJldHVybiBTdHls
ZWFibGUoKmFuY2VzdG9yLT5lbGVtZW50KCksIFBzZXVkb0lkOjpNYXJrZXIpOwogICAgICAgICAg
ICAgYW5jZXN0b3IgPSBhbmNlc3Rvci0+cGFyZW50KCk7CiAgICAgICAgIH0KICAgICAgICAgYnJl
YWs7CiAgICAgfQotICAgIGNhc2UgUHNldWRvSWQ6OlZpZXdUcmFuc2l0aW9uR3JvdXA6Ci0gICAg
Y2FzZSBQc2V1ZG9JZDo6Vmlld1RyYW5zaXRpb25JbWFnZVBhaXI6Ci0gICAgY2FzZSBQc2V1ZG9J
ZDo6Vmlld1RyYW5zaXRpb25OZXc6Ci0gICAgY2FzZSBQc2V1ZG9JZDo6Vmlld1RyYW5zaXRpb25P
bGQ6Ci0gICAgICAgIGlmIChhdXRvKiBkb2N1bWVudEVsZW1lbnQgPSByZW5kZXJlci5kb2N1bWVu
dCgpLmRvY3VtZW50RWxlbWVudCgpKQotICAgICAgICAgICAgcmV0dXJuIFN0eWxlYWJsZSgqZG9j
dW1lbnRFbGVtZW50LCBTdHlsZTo6UHNldWRvRWxlbWVudElkZW50aWZpZXIgeyByZW5kZXJlci5z
dHlsZSgpLnBzZXVkb0VsZW1lbnRUeXBlKCksIHJlbmRlcmVyLnN0eWxlKCkucHNldWRvRWxlbWVu
dE5hbWVBcmd1bWVudCgpIH0pOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFBzZXVkb0lkOjpW
aWV3VHJhbnNpdGlvbjoKLSAgICAgICAgaWYgKGF1dG8qIGRvY3VtZW50RWxlbWVudCA9IHJlbmRl
cmVyLmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkpCi0gICAgICAgICAgICByZXR1cm4gU3R5
bGVhYmxlKCpkb2N1bWVudEVsZW1lbnQsIFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllciB7
IFBzZXVkb0lkOjpWaWV3VHJhbnNpdGlvbiB9KTsKLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQ
c2V1ZG9JZDo6QWZ0ZXI6CiAgICAgY2FzZSBQc2V1ZG9JZDo6QmVmb3JlOgogICAgIGNhc2UgUHNl
dWRvSWQ6Ok5vbmU6CkBAIC0xMDQsMTAgKzkxLDcgQEAgY29uc3Qgc3RkOjpvcHRpb25hbDxjb25z
dCBTdHlsZWFibGU+IFN0eWxlYWJsZTo6ZnJvbVJlbmRlcmVyKGNvbnN0IFJlbmRlckVsZW1lbnQK
IAogUmVuZGVyRWxlbWVudCogU3R5bGVhYmxlOjpyZW5kZXJlcigpIGNvbnN0CiB7Ci0gICAgaWYg
KCFwc2V1ZG9FbGVtZW50SWRlbnRpZmllcikKLSAgICAgICAgcmV0dXJuIGVsZW1lbnQucmVuZGVy
ZXIoKTsKLQotICAgIHN3aXRjaCAocHNldWRvRWxlbWVudElkZW50aWZpZXItPnBzZXVkb0lkKSB7
CisgICAgc3dpdGNoIChwc2V1ZG9JZCkgewogICAgIGNhc2UgUHNldWRvSWQ6OkFmdGVyOgogICAg
ICAgICBpZiAoYXV0byogYWZ0ZXJQc2V1ZG9FbGVtZW50ID0gZWxlbWVudC5hZnRlclBzZXVkb0Vs
ZW1lbnQoKSkKICAgICAgICAgICAgIHJldHVybiBhZnRlclBzZXVkb0VsZW1lbnQtPnJlbmRlcmVy
KCk7CkBAIC0xMjcsNDUgKzExMSw4IEBAIFJlbmRlckVsZW1lbnQqIFN0eWxlYWJsZTo6cmVuZGVy
ZXIoKSBjb25zdAogICAgICAgICAgICAgICAgIHJldHVybiBtYXJrZXJSZW5kZXJlcjsKICAgICAg
ICAgfQogICAgICAgICBicmVhazsKLSAgICBjYXNlIFBzZXVkb0lkOjpWaWV3VHJhbnNpdGlvbjoK
LSAgICAgICAgaWYgKGVsZW1lbnQucmVuZGVyZXIoKSkKLSAgICAgICAgICAgIHJldHVybiBlbGVt
ZW50LnJlbmRlcmVyKCktPnZpZXcoKS52aWV3VHJhbnNpdGlvblJvb3QoKS5nZXQoKTsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBQc2V1ZG9JZDo6Vmlld1RyYW5zaXRpb25Hcm91cDoKLSAgICBj
YXNlIFBzZXVkb0lkOjpWaWV3VHJhbnNpdGlvbkltYWdlUGFpcjoKLSAgICBjYXNlIFBzZXVkb0lk
OjpWaWV3VHJhbnNpdGlvbk5ldzoKLSAgICBjYXNlIFBzZXVkb0lkOjpWaWV3VHJhbnNpdGlvbk9s
ZDogewotICAgICAgICBpZiAoIWVsZW1lbnQucmVuZGVyZXIoKSkKLSAgICAgICAgICAgIHJldHVy
biBudWxscHRyOwotCi0gICAgICAgIFdlYWtQdHIgdmlld1RyYW5zaXRpb25Sb290ID0gZWxlbWVu
dC5yZW5kZXJlcigpLT52aWV3KCkudmlld1RyYW5zaXRpb25Sb290KCk7Ci0gICAgICAgIGlmICgh
dmlld1RyYW5zaXRpb25Sb290KQotICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICAg
ICAgLy8gRmluZCB0aGUgcmlnaHQgOjp2aWV3LXRyYW5zaXRpb24tZ3JvdXAoKS4KLSAgICAgICAg
UmVuZGVyQmxvY2tGbG93KiBjb3JyZWN0R3JvdXAgPSBudWxscHRyOwotICAgICAgICBmb3IgKGF1
dG8mIGdyb3VwIDogY2hpbGRyZW5PZlR5cGU8UmVuZGVyQmxvY2tGbG93Pigqdmlld1RyYW5zaXRp
b25Sb290LmdldCgpKSkgewotICAgICAgICAgICAgaWYgKGdyb3VwLnN0eWxlKCkucHNldWRvRWxl
bWVudE5hbWVBcmd1bWVudCgpID09IHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyLT5uYW1lQXJndW1l
bnQpIHsKLSAgICAgICAgICAgICAgICBjb3JyZWN0R3JvdXAgPSAmZ3JvdXA7Ci0gICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgICAvLyBJZiB3
ZSBjYW4ndCBmaW5kIHRoZSBjb3JyZWN0IGdyb3VwLCByZXR1cm4gbnVsbHB0ci4KLSAgICAgICAg
aWYgKCFjb3JyZWN0R3JvdXApCi0gICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLQotICAgICAg
ICAvLyBSZXR1cm4gZWFybHkgaWYgd2UncmUgbG9va2luZyBmb3IgOjp2aWV3LXRyYW5zaXRpb24t
Z3JvdXAoKS4KLSAgICAgICAgaWYgKHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyLT5wc2V1ZG9JZCA9
PSBQc2V1ZG9JZDo6Vmlld1RyYW5zaXRpb25Hcm91cCkKLSAgICAgICAgICAgIHJldHVybiBjb3Jy
ZWN0R3JvdXA7Ci0KLSAgICAgICAgLy8gR28gdGhyb3VnaCBhbGwgZGVzY2VuZGFudHMgdW50aWwg
d2UgZmluZCB0aGUgcmVsZXZhbnQgcHNldWRvIGVsZW1lbnQgb3RoZXJ3aXNlLgotICAgICAgICBm
b3IgKGF1dG8mIGRlc2NlbmRhbnQgOiBkZXNjZW5kYW50c09mVHlwZTxSZW5kZXJCb3g+KCpjb3Jy
ZWN0R3JvdXApKSB7Ci0gICAgICAgICAgICBpZiAoZGVzY2VuZGFudC5zdHlsZSgpLnBzZXVkb0Vs
ZW1lbnRUeXBlKCkgPT0gcHNldWRvRWxlbWVudElkZW50aWZpZXItPnBzZXVkb0lkKQotICAgICAg
ICAgICAgICAgIHJldHVybiAmZGVzY2VuZGFudDsKLSAgICAgICAgfQotICAgICAgICBicmVhazsK
LSAgICB9CisgICAgY2FzZSBQc2V1ZG9JZDo6Tm9uZToKKyAgICAgICAgcmV0dXJuIGVsZW1lbnQu
cmVuZGVyZXIoKTsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9
CkBAIC0zNjIsNyArMzA5LDcgQEAgdm9pZCBTdHlsZWFibGU6OnVwZGF0ZUNTU0FuaW1hdGlvbnMo
Y29uc3QgUmVuZGVyU3R5bGUqIGN1cnJlbnRTdHlsZSwgY29uc3QgUmVuZGUKIAogICAgIGF1dG8q
IGN1cnJlbnRBbmltYXRpb25MaXN0ID0gbmV3U3R5bGUuYW5pbWF0aW9ucygpOwogICAgIGF1dG8q
IHByZXZpb3VzQW5pbWF0aW9uTGlzdCA9IGtleWZyYW1lRWZmZWN0U3RhY2suY3NzQW5pbWF0aW9u
TGlzdCgpOwotICAgIGlmICghZWxlbWVudC5oYXNQZW5kaW5nS2V5ZnJhbWVzVXBkYXRlKHBzZXVk
b0VsZW1lbnRJZGVudGlmaWVyKSAmJiBwcmV2aW91c0FuaW1hdGlvbkxpc3QgJiYgIXByZXZpb3Vz
QW5pbWF0aW9uTGlzdC0+aXNFbXB0eSgpICYmIG5ld1N0eWxlLmhhc0FuaW1hdGlvbnMoKSAmJiAq
KHByZXZpb3VzQW5pbWF0aW9uTGlzdCkgPT0gKihuZXdTdHlsZS5hbmltYXRpb25zKCkpICYmICFh
bmltYXRpb25MaXN0Q29udGFpbnNOZXdseVZhbGlkQW5pbWF0aW9uKCpuZXdTdHlsZS5hbmltYXRp
b25zKCkpKQorICAgIGlmICghZWxlbWVudC5oYXNQZW5kaW5nS2V5ZnJhbWVzVXBkYXRlKHBzZXVk
b0lkKSAmJiBwcmV2aW91c0FuaW1hdGlvbkxpc3QgJiYgIXByZXZpb3VzQW5pbWF0aW9uTGlzdC0+
aXNFbXB0eSgpICYmIG5ld1N0eWxlLmhhc0FuaW1hdGlvbnMoKSAmJiAqKHByZXZpb3VzQW5pbWF0
aW9uTGlzdCkgPT0gKihuZXdTdHlsZS5hbmltYXRpb25zKCkpICYmICFhbmltYXRpb25MaXN0Q29u
dGFpbnNOZXdseVZhbGlkQW5pbWF0aW9uKCpuZXdTdHlsZS5hbmltYXRpb25zKCkpKQogICAgICAg
ICByZXR1cm47CiAKICAgICBDU1NBbmltYXRpb25Db2xsZWN0aW9uIG5ld0FuaW1hdGlvbnM7CkBA
IC00MjcsNyArMzc0LDcgQEAgdm9pZCBTdHlsZWFibGU6OnVwZGF0ZUNTU0FuaW1hdGlvbnMoY29u
c3QgUmVuZGVyU3R5bGUqIGN1cnJlbnRTdHlsZSwgY29uc3QgUmVuZGUKIAogICAgIGtleWZyYW1l
RWZmZWN0U3RhY2suc2V0Q1NTQW5pbWF0aW9uTGlzdChjdXJyZW50QW5pbWF0aW9uTGlzdCk7CiAK
LSAgICBlbGVtZW50LmNzc0FuaW1hdGlvbnNEaWRVcGRhdGUocHNldWRvRWxlbWVudElkZW50aWZp
ZXIpOworICAgIGVsZW1lbnQuY3NzQW5pbWF0aW9uc0RpZFVwZGF0ZShwc2V1ZG9JZCk7CiB9CiAK
IHN0YXRpYyBLZXlmcmFtZUVmZmVjdCoga2V5ZnJhbWVFZmZlY3RGb3JFbGVtZW50QW5kUHJvcGVy
dHkoY29uc3QgU3R5bGVhYmxlJiBzdHlsZWFibGUsIGNvbnN0IEFuaW1hdGFibGVDU1NQcm9wZXJ0
eSYgcHJvcGVydHkpCkBAIC03NzQsMTEgKzcyMSwxMSBAQCB2b2lkIFN0eWxlYWJsZTo6dXBkYXRl
Q1NTVHJhbnNpdGlvbnMoY29uc3QgUmVuZGVyU3R5bGUmIGN1cnJlbnRTdHlsZSwgY29uc3QgUmVu
ZAogICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgaWYgKGF1dG8qIHByb3BlcnRp
ZXMgPSBlbGVtZW50LnJ1bm5pbmdUcmFuc2l0aW9uc0J5UHJvcGVydHkocHNldWRvRWxlbWVudElk
ZW50aWZpZXIpKSB7CisgICAgICAgIGlmIChhdXRvKiBwcm9wZXJ0aWVzID0gZWxlbWVudC5ydW5u
aW5nVHJhbnNpdGlvbnNCeVByb3BlcnR5KHBzZXVkb0lkKSkgewogICAgICAgICAgICAgZm9yIChj
b25zdCBhdXRvJiBbcHJvcGVydHksIHRyYW5zaXRpb25dIDogKnByb3BlcnRpZXMpCiAgICAgICAg
ICAgICAgICAgYWRkUHJvcGVydHkocHJvcGVydHkpOwogICAgICAgICB9Ci0gICAgICAgIGlmIChh
dXRvKiBwcm9wZXJ0aWVzID0gZWxlbWVudC5jb21wbGV0ZWRUcmFuc2l0aW9uc0J5UHJvcGVydHko
cHNldWRvRWxlbWVudElkZW50aWZpZXIpKSB7CisgICAgICAgIGlmIChhdXRvKiBwcm9wZXJ0aWVz
ID0gZWxlbWVudC5jb21wbGV0ZWRUcmFuc2l0aW9uc0J5UHJvcGVydHkocHNldWRvSWQpKSB7CiAg
ICAgICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIFtwcm9wZXJ0eSwgdHJhbnNpdGlvbl0gOiAqcHJv
cGVydGllcykKICAgICAgICAgICAgICAgICBhZGRQcm9wZXJ0eShwcm9wZXJ0eSk7CiAgICAgICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlYWJsZS5oIGIvU291cmNl
L1dlYkNvcmUvc3R5bGUvU3R5bGVhYmxlLmgKaW5kZXggZGJlZjRmODc2NGNjLi5jZmVkODVmOThk
YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlYWJsZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlYWJsZS5oCkBAIC0yNiwxMCArMjYsOCBAQAogI3ByYWdt
YSBvbmNlCiAKICNpbmNsdWRlICJFbGVtZW50LmgiCi0jaW5jbHVkZSAiRWxlbWVudFJ1bGVDb2xs
ZWN0b3IuaCIKICNpbmNsdWRlICJLZXlmcmFtZUVmZmVjdFN0YWNrLmgiCiAjaW5jbHVkZSAiUHNl
dWRvRWxlbWVudC5oIgotI2luY2x1ZGUgIlBzZXVkb0VsZW1lbnRJZGVudGlmaWVyLmgiCiAjaW5j
bHVkZSAiUmVuZGVyU3R5bGVDb25zdGFudHMuaCIKICNpbmNsdWRlICJXZWJBbmltYXRpb25UeXBl
cy5oIgogCkBAIC00MiwyNyArNDAsMjcgQEAgY2xhc3MgV2ViQW5pbWF0aW9uOwogCiBzdHJ1Y3Qg
U3R5bGVhYmxlIHsKICAgICBFbGVtZW50JiBlbGVtZW50OwotICAgIHN0ZDo6b3B0aW9uYWw8U3R5
bGU6OlBzZXVkb0VsZW1lbnRJZGVudGlmaWVyPiBwc2V1ZG9FbGVtZW50SWRlbnRpZmllcjsKKyAg
ICBQc2V1ZG9JZCBwc2V1ZG9JZDsKIAotICAgIFN0eWxlYWJsZShFbGVtZW50JiBlbGVtZW50LCBj
b25zdCBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllcj4mIHBzZXVk
b0VsZW1lbnRJZGVudGlmaWVyKQorICAgIFN0eWxlYWJsZShFbGVtZW50JiBlbGVtZW50LCBQc2V1
ZG9JZCBwc2V1ZG9JZCkKICAgICAgICAgOiBlbGVtZW50KGVsZW1lbnQpCi0gICAgICAgICwgcHNl
dWRvRWxlbWVudElkZW50aWZpZXIocHNldWRvRWxlbWVudElkZW50aWZpZXIpCisgICAgICAgICwg
cHNldWRvSWQocHNldWRvSWQpCiAgICAgeworICAgICAgICBBU1NFUlQoIWlzPFBzZXVkb0VsZW1l
bnQ+KGVsZW1lbnQpKTsKICAgICB9CiAKICAgICBzdGF0aWMgY29uc3QgU3R5bGVhYmxlIGZyb21F
bGVtZW50KEVsZW1lbnQmIGVsZW1lbnQpCiAgICAgewogICAgICAgICBpZiAoYXV0byogcHNldWRv
RWxlbWVudCA9IGR5bmFtaWNEb3duY2FzdDxQc2V1ZG9FbGVtZW50PihlbGVtZW50KSkKLSAgICAg
ICAgICAgIHJldHVybiBTdHlsZWFibGUoKnBzZXVkb0VsZW1lbnQtPmhvc3RFbGVtZW50KCksIFN0
eWxlOjpQc2V1ZG9FbGVtZW50SWRlbnRpZmllciB7IGVsZW1lbnQucHNldWRvSWQoKSB9KTsKLSAg
ICAgICAgQVNTRVJUKGVsZW1lbnQucHNldWRvSWQoKSA9PSBQc2V1ZG9JZDo6Tm9uZSk7Ci0gICAg
ICAgIHJldHVybiBTdHlsZWFibGUoZWxlbWVudCwgc3RkOjpudWxsb3B0KTsKKyAgICAgICAgICAg
IHJldHVybiBTdHlsZWFibGUoKnBzZXVkb0VsZW1lbnQtPmhvc3RFbGVtZW50KCksIGVsZW1lbnQu
cHNldWRvSWQoKSk7CisgICAgICAgIHJldHVybiBTdHlsZWFibGUoZWxlbWVudCwgZWxlbWVudC5w
c2V1ZG9JZCgpKTsKICAgICB9CiAKICAgICBzdGF0aWMgY29uc3Qgc3RkOjpvcHRpb25hbDxjb25z
dCBTdHlsZWFibGU+IGZyb21SZW5kZXJlcihjb25zdCBSZW5kZXJFbGVtZW50Jik7CiAKICAgICBi
b29sIG9wZXJhdG9yPT0oY29uc3QgU3R5bGVhYmxlJiBvdGhlcikgY29uc3QKICAgICB7Ci0gICAg
ICAgIHJldHVybiAoJmVsZW1lbnQgPT0gJm90aGVyLmVsZW1lbnQgJiYgcHNldWRvRWxlbWVudElk
ZW50aWZpZXIgPT0gb3RoZXIucHNldWRvRWxlbWVudElkZW50aWZpZXIpOworICAgICAgICByZXR1
cm4gKCZlbGVtZW50ID09ICZvdGhlci5lbGVtZW50ICYmIHBzZXVkb0lkID09IG90aGVyLnBzZXVk
b0lkKTsKICAgICB9CiAKICAgICBSZW5kZXJFbGVtZW50KiByZW5kZXJlcigpIGNvbnN0OwpAQCAt
ODIsOTIgKzgwLDkyIEBAIHN0cnVjdCBTdHlsZWFibGUgewogCiAgICAgS2V5ZnJhbWVFZmZlY3RT
dGFjayoga2V5ZnJhbWVFZmZlY3RTdGFjaygpIGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4g
ZWxlbWVudC5rZXlmcmFtZUVmZmVjdFN0YWNrKHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyKTsKKyAg
ICAgICAgcmV0dXJuIGVsZW1lbnQua2V5ZnJhbWVFZmZlY3RTdGFjayhwc2V1ZG9JZCk7CiAgICAg
fQogCiAgICAgS2V5ZnJhbWVFZmZlY3RTdGFjayYgZW5zdXJlS2V5ZnJhbWVFZmZlY3RTdGFjaygp
IGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4gZWxlbWVudC5lbnN1cmVLZXlmcmFtZUVmZmVj
dFN0YWNrKHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyKTsKKyAgICAgICAgcmV0dXJuIGVsZW1lbnQu
ZW5zdXJlS2V5ZnJhbWVFZmZlY3RTdGFjayhwc2V1ZG9JZCk7CiAgICAgfQogCiAgICAgYm9vbCBo
YXNLZXlmcmFtZUVmZmVjdHMoKSBjb25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuIGVsZW1lbnQu
aGFzS2V5ZnJhbWVFZmZlY3RzKHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyKTsKKyAgICAgICAgcmV0
dXJuIGVsZW1lbnQuaGFzS2V5ZnJhbWVFZmZlY3RzKHBzZXVkb0lkKTsKICAgICB9CiAKICAgICBP
cHRpb25TZXQ8QW5pbWF0aW9uSW1wYWN0PiBhcHBseUtleWZyYW1lRWZmZWN0cyhSZW5kZXJTdHls
ZSYgdGFyZ2V0U3R5bGUsIEhhc2hTZXQ8QW5pbWF0YWJsZUNTU1Byb3BlcnR5PiYgYWZmZWN0ZWRQ
cm9wZXJ0aWVzLCBjb25zdCBSZW5kZXJTdHlsZSogcHJldmlvdXNMYXN0U3R5bGVDaGFuZ2VFdmVu
dFN0eWxlLCBjb25zdCBTdHlsZTo6UmVzb2x1dGlvbkNvbnRleHQmIHJlc29sdXRpb25Db250ZXh0
KSBjb25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuIGVsZW1lbnQuZW5zdXJlS2V5ZnJhbWVFZmZl
Y3RTdGFjayhwc2V1ZG9FbGVtZW50SWRlbnRpZmllcikuYXBwbHlLZXlmcmFtZUVmZmVjdHModGFy
Z2V0U3R5bGUsIGFmZmVjdGVkUHJvcGVydGllcywgcHJldmlvdXNMYXN0U3R5bGVDaGFuZ2VFdmVu
dFN0eWxlLCByZXNvbHV0aW9uQ29udGV4dCk7CisgICAgICAgIHJldHVybiBlbGVtZW50LmVuc3Vy
ZUtleWZyYW1lRWZmZWN0U3RhY2socHNldWRvSWQpLmFwcGx5S2V5ZnJhbWVFZmZlY3RzKHRhcmdl
dFN0eWxlLCBhZmZlY3RlZFByb3BlcnRpZXMsIHByZXZpb3VzTGFzdFN0eWxlQ2hhbmdlRXZlbnRT
dHlsZSwgcmVzb2x1dGlvbkNvbnRleHQpOwogICAgIH0KIAogICAgIGNvbnN0IEFuaW1hdGlvbkNv
bGxlY3Rpb24qIGFuaW1hdGlvbnMoKSBjb25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuIGVsZW1l
bnQuYW5pbWF0aW9ucyhwc2V1ZG9FbGVtZW50SWRlbnRpZmllcik7CisgICAgICAgIHJldHVybiBl
bGVtZW50LmFuaW1hdGlvbnMocHNldWRvSWQpOwogICAgIH0KIAogICAgIGJvb2wgaGFzQ29tcGxl
dGVkVHJhbnNpdGlvbkZvclByb3BlcnR5KGNvbnN0IEFuaW1hdGFibGVDU1NQcm9wZXJ0eSYgcHJv
cGVydHkpIGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4gZWxlbWVudC5oYXNDb21wbGV0ZWRU
cmFuc2l0aW9uRm9yUHJvcGVydHkocHNldWRvRWxlbWVudElkZW50aWZpZXIsIHByb3BlcnR5KTsK
KyAgICAgICAgcmV0dXJuIGVsZW1lbnQuaGFzQ29tcGxldGVkVHJhbnNpdGlvbkZvclByb3BlcnR5
KHBzZXVkb0lkLCBwcm9wZXJ0eSk7CiAgICAgfQogCiAgICAgYm9vbCBoYXNSdW5uaW5nVHJhbnNp
dGlvbkZvclByb3BlcnR5KGNvbnN0IEFuaW1hdGFibGVDU1NQcm9wZXJ0eSYgcHJvcGVydHkpIGNv
bnN0CiAgICAgewotICAgICAgICByZXR1cm4gZWxlbWVudC5oYXNSdW5uaW5nVHJhbnNpdGlvbkZv
clByb3BlcnR5KHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyLCBwcm9wZXJ0eSk7CisgICAgICAgIHJl
dHVybiBlbGVtZW50Lmhhc1J1bm5pbmdUcmFuc2l0aW9uRm9yUHJvcGVydHkocHNldWRvSWQsIHBy
b3BlcnR5KTsKICAgICB9CiAKICAgICBib29sIGhhc1J1bm5pbmdUcmFuc2l0aW9ucygpIGNvbnN0
CiAgICAgewotICAgICAgICByZXR1cm4gZWxlbWVudC5oYXNSdW5uaW5nVHJhbnNpdGlvbnMocHNl
dWRvRWxlbWVudElkZW50aWZpZXIpOworICAgICAgICByZXR1cm4gZWxlbWVudC5oYXNSdW5uaW5n
VHJhbnNpdGlvbnMocHNldWRvSWQpOwogICAgIH0KIAogICAgIEFuaW1hdGlvbkNvbGxlY3Rpb24m
IGVuc3VyZUFuaW1hdGlvbnMoKSBjb25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuIGVsZW1lbnQu
ZW5zdXJlQW5pbWF0aW9ucyhwc2V1ZG9FbGVtZW50SWRlbnRpZmllcik7CisgICAgICAgIHJldHVy
biBlbGVtZW50LmVuc3VyZUFuaW1hdGlvbnMocHNldWRvSWQpOwogICAgIH0KIAogICAgIEFuaW1h
dGFibGVDU1NQcm9wZXJ0eVRvVHJhbnNpdGlvbk1hcCYgZW5zdXJlQ29tcGxldGVkVHJhbnNpdGlv
bnNCeVByb3BlcnR5KCkgY29uc3QKICAgICB7Ci0gICAgICAgIHJldHVybiBlbGVtZW50LmVuc3Vy
ZUNvbXBsZXRlZFRyYW5zaXRpb25zQnlQcm9wZXJ0eShwc2V1ZG9FbGVtZW50SWRlbnRpZmllcik7
CisgICAgICAgIHJldHVybiBlbGVtZW50LmVuc3VyZUNvbXBsZXRlZFRyYW5zaXRpb25zQnlQcm9w
ZXJ0eShwc2V1ZG9JZCk7CiAgICAgfQogCiAgICAgQW5pbWF0YWJsZUNTU1Byb3BlcnR5VG9UcmFu
c2l0aW9uTWFwJiBlbnN1cmVSdW5uaW5nVHJhbnNpdGlvbnNCeVByb3BlcnR5KCkgY29uc3QKICAg
ICB7Ci0gICAgICAgIHJldHVybiBlbGVtZW50LmVuc3VyZVJ1bm5pbmdUcmFuc2l0aW9uc0J5UHJv
cGVydHkocHNldWRvRWxlbWVudElkZW50aWZpZXIpOworICAgICAgICByZXR1cm4gZWxlbWVudC5l
bnN1cmVSdW5uaW5nVHJhbnNpdGlvbnNCeVByb3BlcnR5KHBzZXVkb0lkKTsKICAgICB9CiAKICAg
ICBDU1NBbmltYXRpb25Db2xsZWN0aW9uJiBhbmltYXRpb25zQ3JlYXRlZEJ5TWFya3VwKCkgY29u
c3QKICAgICB7Ci0gICAgICAgIHJldHVybiBlbGVtZW50LmFuaW1hdGlvbnNDcmVhdGVkQnlNYXJr
dXAocHNldWRvRWxlbWVudElkZW50aWZpZXIpOworICAgICAgICByZXR1cm4gZWxlbWVudC5hbmlt
YXRpb25zQ3JlYXRlZEJ5TWFya3VwKHBzZXVkb0lkKTsKICAgICB9CiAKICAgICB2b2lkIHNldEFu
aW1hdGlvbnNDcmVhdGVkQnlNYXJrdXAoQ1NTQW5pbWF0aW9uQ29sbGVjdGlvbiYmIGNvbGxlY3Rp
b24pIGNvbnN0CiAgICAgewotICAgICAgICBlbGVtZW50LnNldEFuaW1hdGlvbnNDcmVhdGVkQnlN
YXJrdXAocHNldWRvRWxlbWVudElkZW50aWZpZXIsIFdURk1vdmUoY29sbGVjdGlvbikpOworICAg
ICAgICBlbGVtZW50LnNldEFuaW1hdGlvbnNDcmVhdGVkQnlNYXJrdXAocHNldWRvSWQsIFdURk1v
dmUoY29sbGVjdGlvbikpOwogICAgIH0KIAogICAgIGNvbnN0IFJlbmRlclN0eWxlKiBsYXN0U3R5
bGVDaGFuZ2VFdmVudFN0eWxlKCkgY29uc3QKICAgICB7Ci0gICAgICAgIHJldHVybiBlbGVtZW50
Lmxhc3RTdHlsZUNoYW5nZUV2ZW50U3R5bGUocHNldWRvRWxlbWVudElkZW50aWZpZXIpOworICAg
ICAgICByZXR1cm4gZWxlbWVudC5sYXN0U3R5bGVDaGFuZ2VFdmVudFN0eWxlKHBzZXVkb0lkKTsK
ICAgICB9CiAKICAgICB2b2lkIHNldExhc3RTdHlsZUNoYW5nZUV2ZW50U3R5bGUoc3RkOjp1bmlx
dWVfcHRyPGNvbnN0IFJlbmRlclN0eWxlPiYmIHN0eWxlKSBjb25zdAogICAgIHsKLSAgICAgICAg
ZWxlbWVudC5zZXRMYXN0U3R5bGVDaGFuZ2VFdmVudFN0eWxlKHBzZXVkb0VsZW1lbnRJZGVudGlm
aWVyLCBXVEZNb3ZlKHN0eWxlKSk7CisgICAgICAgIGVsZW1lbnQuc2V0TGFzdFN0eWxlQ2hhbmdl
RXZlbnRTdHlsZShwc2V1ZG9JZCwgV1RGTW92ZShzdHlsZSkpOwogICAgIH0KIAogICAgIGJvb2wg
aGFzUHJvcGVydGllc092ZXJyaWRlbkFmdGVyQW5pbWF0aW9uKCkgY29uc3QKICAgICB7Ci0gICAg
ICAgIHJldHVybiBlbGVtZW50Lmhhc1Byb3BlcnRpZXNPdmVycmlkZW5BZnRlckFuaW1hdGlvbihw
c2V1ZG9FbGVtZW50SWRlbnRpZmllcik7CisgICAgICAgIHJldHVybiBlbGVtZW50Lmhhc1Byb3Bl
cnRpZXNPdmVycmlkZW5BZnRlckFuaW1hdGlvbihwc2V1ZG9JZCk7CiAgICAgfQogCiAgICAgdm9p
ZCBzZXRIYXNQcm9wZXJ0aWVzT3ZlcnJpZGVuQWZ0ZXJBbmltYXRpb24oYm9vbCB2YWx1ZSkgY29u
c3QKICAgICB7Ci0gICAgICAgIGVsZW1lbnQuc2V0SGFzUHJvcGVydGllc092ZXJyaWRlbkFmdGVy
QW5pbWF0aW9uKHBzZXVkb0VsZW1lbnRJZGVudGlmaWVyLCB2YWx1ZSk7CisgICAgICAgIGVsZW1l
bnQuc2V0SGFzUHJvcGVydGllc092ZXJyaWRlbkFmdGVyQW5pbWF0aW9uKHBzZXVkb0lkLCB2YWx1
ZSk7CiAgICAgfQogCiAgICAgdm9pZCBrZXlmcmFtZXNSdWxlRGlkQ2hhbmdlKCkgY29uc3QKICAg
ICB7Ci0gICAgICAgIGVsZW1lbnQua2V5ZnJhbWVzUnVsZURpZENoYW5nZShwc2V1ZG9FbGVtZW50
SWRlbnRpZmllcik7CisgICAgICAgIGVsZW1lbnQua2V5ZnJhbWVzUnVsZURpZENoYW5nZShwc2V1
ZG9JZCk7CiAgICAgfQogCiAgICAgdm9pZCBxdWVyeUNvbnRhaW5lckRpZENoYW5nZSgpIGNvbnN0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL0V4dGVuZGFibGVF
dmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvRXh0ZW5kYWJsZUV2ZW50
LmNwcAppbmRleCA1Mzg0MTc5YzZjZmYuLjUxMzZjMGNjODJiMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL0V4dGVuZGFibGVFdmVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL0V4dGVuZGFibGVFdmVudC5jcHAKQEAgLTM2LDEzICsz
NiwxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1Q
TChFeHRlbmRhYmxlRXZlbnQpOwogCi1FeHRlbmRhYmxlRXZlbnQ6OkV4dGVuZGFibGVFdmVudChl
bnVtIEV2ZW50SW50ZXJmYWNlVHlwZSBldmVudEludGVyZmFjZSwgY29uc3QgQXRvbVN0cmluZyYg
dHlwZSwgY29uc3QgRXh0ZW5kYWJsZUV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBp
c1RydXN0ZWQpCi0gICAgOiBFdmVudChldmVudEludGVyZmFjZSwgdHlwZSwgaW5pdGlhbGl6ZXIs
IGlzVHJ1c3RlZCkKK0V4dGVuZGFibGVFdmVudDo6RXh0ZW5kYWJsZUV2ZW50KGNvbnN0IEF0b21T
dHJpbmcmIHR5cGUsIGNvbnN0IEV4dGVuZGFibGVFdmVudEluaXQmIGluaXRpYWxpemVyLCBJc1Ry
dXN0ZWQgaXNUcnVzdGVkKQorICAgIDogRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIsIGlzVHJ1c3Rl
ZCkKIHsKIH0KIAotRXh0ZW5kYWJsZUV2ZW50OjpFeHRlbmRhYmxlRXZlbnQoZW51bSBFdmVudElu
dGVyZmFjZVR5cGUgZXZlbnRJbnRlcmZhY2UsIGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIENhbkJ1
YmJsZSBjYW5CdWJibGUsIElzQ2FuY2VsYWJsZSBjYW5jZWxhYmxlKQotICAgIDogRXZlbnQoZXZl
bnRJbnRlcmZhY2UsIHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSkKK0V4dGVuZGFibGVFdmVu
dDo6RXh0ZW5kYWJsZUV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIENhbkJ1YmJsZSBjYW5C
dWJibGUsIElzQ2FuY2VsYWJsZSBjYW5jZWxhYmxlKQorICAgIDogRXZlbnQodHlwZSwgY2FuQnVi
YmxlLCBjYW5jZWxhYmxlKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvRXh0ZW5kYWJsZUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvRXh0ZW5kYWJsZUV2ZW50LmgKaW5kZXggODg5NWQyZDgxYTYwLi42OTUxYmIxODlmMTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9FeHRlbmRhYmxlRXZl
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvRXh0ZW5kYWJsZUV2ZW50
LmgKQEAgLTM4LDcgKzM4LDcgQEAgY2xhc3MgRXh0ZW5kYWJsZUV2ZW50IDogcHVibGljIEV2ZW50
LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8RXh0ZW5kYWJsZUV2ZW50PiB7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFJlZjxFeHRlbmRhYmxlRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBl
LCBjb25zdCBFeHRlbmRhYmxlRXZlbnRJbml0JiBpbml0aWFsaXplciwgSXNUcnVzdGVkIGlzVHJ1
c3RlZCA9IElzVHJ1c3RlZDo6Tm8pCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBFeHRlbmRhYmxlRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpFeHRlbmRhYmxlRXZlbnQsIHR5
cGUsIGluaXRpYWxpemVyLCBpc1RydXN0ZWQpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgRXh0ZW5kYWJsZUV2ZW50KHR5cGUsIGluaXRpYWxpemVyLCBpc1RydXN0ZWQpKTsKICAgICB9
CiAKICAgICB+RXh0ZW5kYWJsZUV2ZW50KCk7CkBAIC01MSw4ICs1MSw4IEBAIHB1YmxpYzoKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHdoZW5BbGxFeHRlbmRMaWZldGltZVByb21pc2VzQXJlU2V0
dGxlZChGdW5jdGlvbjx2b2lkKEhhc2hTZXQ8UmVmPERPTVByb21pc2U+PiYmKT4mJik7CiAKIHBy
b3RlY3RlZDoKLSAgICBXRUJDT1JFX0VYUE9SVCBFeHRlbmRhYmxlRXZlbnQoZW51bSBFdmVudElu
dGVyZmFjZVR5cGUsIGNvbnN0IEF0b21TdHJpbmcmLCBjb25zdCBFeHRlbmRhYmxlRXZlbnRJbml0
JiwgSXNUcnVzdGVkKTsKLSAgICBFeHRlbmRhYmxlRXZlbnQoZW51bSBFdmVudEludGVyZmFjZVR5
cGUsIGNvbnN0IEF0b21TdHJpbmcmLCBDYW5CdWJibGUsIElzQ2FuY2VsYWJsZSk7CisgICAgV0VC
Q09SRV9FWFBPUlQgRXh0ZW5kYWJsZUV2ZW50KGNvbnN0IEF0b21TdHJpbmcmLCBjb25zdCBFeHRl
bmRhYmxlRXZlbnRJbml0JiwgSXNUcnVzdGVkKTsKKyAgICBFeHRlbmRhYmxlRXZlbnQoY29uc3Qg
QXRvbVN0cmluZyYsIENhbkJ1YmJsZSwgSXNDYW5jZWxhYmxlKTsKIAogICAgIHZvaWQgYWRkRXh0
ZW5kTGlmZXRpbWVQcm9taXNlKFJlZjxET01Qcm9taXNlPiYmKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL0V4dGVuZGFibGVNZXNzYWdlRXZlbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL0V4dGVuZGFibGVNZXNzYWdlRXZlbnQuY3Bw
CmluZGV4IGQ2N2UwOGFlMTQ0ZS4uMWNiZjViN2VhMmI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvRXh0ZW5kYWJsZU1lc3NhZ2VFdmVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL0V4dGVuZGFibGVNZXNzYWdlRXZlbnQuY3BwCkBA
IC00MCw3ICs0MCw3IEBAIFJlZjxFeHRlbmRhYmxlTWVzc2FnZUV2ZW50PiBFeHRlbmRhYmxlTWVz
c2FnZUV2ZW50OjpjcmVhdGUoVmVjdG9yPFJlZlB0cjxNZXNzYWdlCiB9CiAKIEV4dGVuZGFibGVN
ZXNzYWdlRXZlbnQ6OkV4dGVuZGFibGVNZXNzYWdlRXZlbnQoSlNDOjpKU0dsb2JhbE9iamVjdCYg
c3RhdGUsIGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IEluaXQmIGluaXQsIElzVHJ1c3Rl
ZCBpc1RydXN0ZWQpCi0gICAgOiBFeHRlbmRhYmxlRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpF
eHRlbmRhYmxlTWVzc2FnZUV2ZW50LCB0eXBlLCBpbml0LCBpc1RydXN0ZWQpCisgICAgOiBFeHRl
bmRhYmxlRXZlbnQodHlwZSwgaW5pdCwgaXNUcnVzdGVkKQogICAgICwgbV9kYXRhKFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKHN0YXRlLCBpbml0LmRhdGEsIFNlcmlhbGl6YXRpb25Gb3JT
dG9yYWdlOjpObywgU2VyaWFsaXphdGlvbkVycm9yTW9kZTo6Tm9uVGhyb3dpbmcpKQogICAgICwg
bV9vcmlnaW4oaW5pdC5vcmlnaW4pCiAgICAgLCBtX2xhc3RFdmVudElkKGluaXQubGFzdEV2ZW50
SWQpCkBAIC01MCw3ICs1MCw3IEBAIEV4dGVuZGFibGVNZXNzYWdlRXZlbnQ6OkV4dGVuZGFibGVN
ZXNzYWdlRXZlbnQoSlNDOjpKU0dsb2JhbE9iamVjdCYgc3RhdGUsIGNvbnN0CiB9CiAKIEV4dGVu
ZGFibGVNZXNzYWdlRXZlbnQ6OkV4dGVuZGFibGVNZXNzYWdlRXZlbnQoUmVmUHRyPFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZT4mJiBkYXRhLCBjb25zdCBTdHJpbmcmIG9yaWdpbiwgY29uc3QgU3RyaW5n
JiBsYXN0RXZlbnRJZCwgc3RkOjpvcHRpb25hbDxFeHRlbmRhYmxlTWVzc2FnZUV2ZW50U291cmNl
PiYmIHNvdXJjZSwgVmVjdG9yPFJlZlB0cjxNZXNzYWdlUG9ydD4+JiYgcG9ydHMpCi0gICAgOiBF
eHRlbmRhYmxlRXZlbnQoRXZlbnRJbnRlcmZhY2VUeXBlOjpFeHRlbmRhYmxlTWVzc2FnZUV2ZW50
LCBldmVudE5hbWVzKCkubWVzc2FnZUV2ZW50LCBDYW5CdWJibGU6Ok5vLCBJc0NhbmNlbGFibGU6
Ok5vKQorICAgIDogRXh0ZW5kYWJsZUV2ZW50KGV2ZW50TmFtZXMoKS5tZXNzYWdlRXZlbnQsIENh
bkJ1YmJsZTo6Tm8sIElzQ2FuY2VsYWJsZTo6Tm8pCiAgICAgLCBtX2RhdGEoV1RGTW92ZShkYXRh
KSkKICAgICAsIG1fb3JpZ2luKG9yaWdpbikKICAgICAsIG1fbGFzdEV2ZW50SWQobGFzdEV2ZW50
SWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvRmV0Y2hFdmVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvRmV0Y2hFdmVudC5jcHAKaW5k
ZXggZjc5OThjOTdjNDg1Li45NmMxZTdkOGFlYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9GZXRjaEV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvRmV0Y2hFdmVudC5jcHAKQEAgLTU5LDcgKzU5LDcgQEAgc3RhdGljIGlubGlu
ZSBSZWY8RE9NUHJvbWlzZT4gcmV0cmlldmVIYW5kbGVkUHJvbWlzZShKU0M6OkpTR2xvYmFsT2Jq
ZWN0JiBnbG9iYWwKIH0KIAogRmV0Y2hFdmVudDo6RmV0Y2hFdmVudChKU0M6OkpTR2xvYmFsT2Jq
ZWN0JiBnbG9iYWxPYmplY3QsIGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIEluaXQmJiBpbml0aWFs
aXplciwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkKLSAgICA6IEV4dGVuZGFibGVFdmVudChFdmVudElu
dGVyZmFjZVR5cGU6OkZldGNoRXZlbnQsIHR5cGUsIGluaXRpYWxpemVyLCBpc1RydXN0ZWQpCisg
ICAgOiBFeHRlbmRhYmxlRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIsIGlzVHJ1c3RlZCkKICAgICAs
IG1fcmVxdWVzdChpbml0aWFsaXplci5yZXF1ZXN0LnJlbGVhc2VOb25OdWxsKCkpCiAgICAgLCBt
X2NsaWVudElkKFdURk1vdmUoaW5pdGlhbGl6ZXIuY2xpZW50SWQpKQogICAgICwgbV9yZXN1bHRp
bmdDbGllbnRJZChXVEZNb3ZlKGluaXRpYWxpemVyLnJlc3VsdGluZ0NsaWVudElkKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9iYWNrZ3JvdW5kLWZldGNoL0Jh
Y2tncm91bmRGZXRjaEV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9i
YWNrZ3JvdW5kLWZldGNoL0JhY2tncm91bmRGZXRjaEV2ZW50LmNwcAppbmRleCAwY2MyNzAzZWZi
NDYuLmVmNmE5OGM0MTFlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL2JhY2tncm91bmQtZmV0Y2gvQmFja2dyb3VuZEZldGNoRXZlbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9iYWNrZ3JvdW5kLWZldGNoL0JhY2tncm91bmRGZXRj
aEV2ZW50LmNwcApAQCAtMzUsMTEgKzM1LDExIEBAIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1Q
TChCYWNrZ3JvdW5kRmV0Y2hFdmVudCk7CiBSZWY8QmFja2dyb3VuZEZldGNoRXZlbnQ+IEJhY2tn
cm91bmRGZXRjaEV2ZW50OjpjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgSW5pdCYmIGlu
aXQsIElzVHJ1c3RlZCBpc1RydXN0ZWQpCiB7CiAgICAgYXV0byByZWdpc3RyYXRpb24gPSBpbml0
LnJlZ2lzdHJhdGlvbjsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBCYWNrZ3JvdW5kRmV0Y2hF
dmVudChFdmVudEludGVyZmFjZVR5cGU6OkJhY2tncm91bmRGZXRjaEV2ZW50LCB0eXBlLCBXVEZN
b3ZlKGluaXQpLCBXVEZNb3ZlKHJlZ2lzdHJhdGlvbiksIGlzVHJ1c3RlZCkpOworICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IEJhY2tncm91bmRGZXRjaEV2ZW50KHR5cGUsIFdURk1vdmUoaW5pdCks
IFdURk1vdmUocmVnaXN0cmF0aW9uKSwgaXNUcnVzdGVkKSk7CiB9CiAKLUJhY2tncm91bmRGZXRj
aEV2ZW50OjpCYWNrZ3JvdW5kRmV0Y2hFdmVudChlbnVtIEV2ZW50SW50ZXJmYWNlVHlwZSBldmVu
dEludGVyZmFjZSwgY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgRXh0ZW5kYWJsZUV2ZW50SW5pdCYm
IGV2ZW50SW5pdCwgUmVmUHRyPEJhY2tncm91bmRGZXRjaFJlZ2lzdHJhdGlvbj4mJiByZWdpc3Ry
YXRpb24sIElzVHJ1c3RlZCBpc1RydXN0ZWQpCi0gICAgOiBFeHRlbmRhYmxlRXZlbnQoZXZlbnRJ
bnRlcmZhY2UsIHR5cGUsIFdURk1vdmUoZXZlbnRJbml0KSwgaXNUcnVzdGVkKQorQmFja2dyb3Vu
ZEZldGNoRXZlbnQ6OkJhY2tncm91bmRGZXRjaEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUs
IEV4dGVuZGFibGVFdmVudEluaXQmJiBldmVudEluaXQsIFJlZlB0cjxCYWNrZ3JvdW5kRmV0Y2hS
ZWdpc3RyYXRpb24+JiYgcmVnaXN0cmF0aW9uLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQorICAgIDog
RXh0ZW5kYWJsZUV2ZW50KHR5cGUsIFdURk1vdmUoZXZlbnRJbml0KSwgaXNUcnVzdGVkKQogICAg
ICwgbV9yZWdpc3RyYXRpb24oV1RGTW92ZShyZWdpc3RyYXRpb24pKQogewogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2JhY2tncm91bmQtZmV0Y2gvQmFja2dy
b3VuZEZldGNoRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9iYWNrZ3Jv
dW5kLWZldGNoL0JhY2tncm91bmRGZXRjaEV2ZW50LmgKaW5kZXggYTA2NTkxZjM3NmIyLi4zMDFk
NjY2ZDhjOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9iYWNr
Z3JvdW5kLWZldGNoL0JhY2tncm91bmRGZXRjaEV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL2JhY2tncm91bmQtZmV0Y2gvQmFja2dyb3VuZEZldGNoRXZlbnQuaApA
QCAtNDMsNyArNDMsNyBAQCBwdWJsaWM6CiAgICAgUmVmUHRyPEJhY2tncm91bmRGZXRjaFJlZ2lz
dHJhdGlvbj4gcmVnaXN0cmF0aW9uKCkgY29uc3Q7CiAKIHByb3RlY3RlZDoKLSAgICBCYWNrZ3Jv
dW5kRmV0Y2hFdmVudChlbnVtIEV2ZW50SW50ZXJmYWNlVHlwZSwgY29uc3QgQXRvbVN0cmluZyYs
IEV4dGVuZGFibGVFdmVudEluaXQmJiwgUmVmUHRyPEJhY2tncm91bmRGZXRjaFJlZ2lzdHJhdGlv
bj4mJiwgSXNUcnVzdGVkKTsKKyAgICBCYWNrZ3JvdW5kRmV0Y2hFdmVudChjb25zdCBBdG9tU3Ry
aW5nJiwgRXh0ZW5kYWJsZUV2ZW50SW5pdCYmLCBSZWZQdHI8QmFja2dyb3VuZEZldGNoUmVnaXN0
cmF0aW9uPiYmLCBJc1RydXN0ZWQpOwogCiBwcml2YXRlOgogICAgIFJlZlB0cjxCYWNrZ3JvdW5k
RmV0Y2hSZWdpc3RyYXRpb24+IG1fcmVnaXN0cmF0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL2JhY2tncm91bmQtZmV0Y2gvQmFja2dyb3VuZEZldGNoVXBk
YXRlVUlFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvYmFja2dyb3Vu
ZC1mZXRjaC9CYWNrZ3JvdW5kRmV0Y2hVcGRhdGVVSUV2ZW50LmNwcAppbmRleCBhZjBlZTM2MzI5
YjQuLjQzOTQ4MWE0OTBiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL2JhY2tncm91bmQtZmV0Y2gvQmFja2dyb3VuZEZldGNoVXBkYXRlVUlFdmVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2JhY2tncm91bmQtZmV0Y2gvQmFja2dy
b3VuZEZldGNoVXBkYXRlVUlFdmVudC5jcHAKQEAgLTQwLDcgKzQwLDcgQEAgUmVmPEJhY2tncm91
bmRGZXRjaFVwZGF0ZVVJRXZlbnQ+IEJhY2tncm91bmRGZXRjaFVwZGF0ZVVJRXZlbnQ6OmNyZWF0
ZShjb25zdCBBdG8KIH0KIAogQmFja2dyb3VuZEZldGNoVXBkYXRlVUlFdmVudDo6QmFja2dyb3Vu
ZEZldGNoVXBkYXRlVUlFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBFeHRlbmRhYmxlRXZl
bnRJbml0JiYgZXZlbnRJbml0LCBSZWZQdHI8QmFja2dyb3VuZEZldGNoUmVnaXN0cmF0aW9uPiYm
IHJlZ2lzdHJhdGlvbiwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkKLSAgICA6IEJhY2tncm91bmRGZXRj
aEV2ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6QmFja2dyb3VuZEZldGNoVXBkYXRlVUlFdmVudCwg
dHlwZSwgV1RGTW92ZShldmVudEluaXQpLCBXVEZNb3ZlKHJlZ2lzdHJhdGlvbiksIGlzVHJ1c3Rl
ZCkKKyAgICA6IEJhY2tncm91bmRGZXRjaEV2ZW50KHR5cGUsIFdURk1vdmUoZXZlbnRJbml0KSwg
V1RGTW92ZShyZWdpc3RyYXRpb24pLCBpc1RydXN0ZWQpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaAppbmRleCA2NTBmMjc1YTg0
ODAuLjQwZDMyZGY2MmZjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBS
ZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdFByb2dyZXNzRXZlbnQuaApAQCAtNDUsNyArNDUsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6
CiAgICAgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUs
IGJvb2wgbGVuZ3RoQ29tcHV0YWJsZSwgdW5zaWduZWQgbG9uZyBsb25nIGxvYWRlZCwgdW5zaWdu
ZWQgbG9uZyBsb25nIHRvdGFsKQotICAgICAgICA6IFByb2dyZXNzRXZlbnQoRXZlbnRJbnRlcmZh
Y2VUeXBlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQsIHR5cGUsIGxlbmd0aENvbXB1dGFi
bGUsIGxvYWRlZCwgdG90YWwpCisgICAgICAgIDogUHJvZ3Jlc3NFdmVudCh0eXBlLCBsZW5ndGhD
b21wdXRhYmxlLCBsb2FkZWQsIHRvdGFsKQogICAgIHsKICAgICB9CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvRE9NL0RPTUV2ZW50cy5tbSBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL0RPTS9ET01FdmVudHMubW0KaW5kZXggOTgzNzc3NzY2NmI3Li5jNDg5YTVkMjE0
ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0RPTS9ET01FdmVudHMubW0K
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvRE9NL0RPTUV2ZW50cy5tbQpAQCAtNDEsMjEg
KzQxLDIxIEBAIHVzaW5nIFdlYkNvcmU6OmV2ZW50TmFtZXM7CiAKIENsYXNzIGtpdENsYXNzKFdl
YkNvcmU6OkV2ZW50KiBpbXBsKQogewotICAgIHN3aXRjaCAoaW1wbC0+aW50ZXJmYWNlVHlwZSgp
KSB7Ci0gICAgY2FzZSBXZWJDb3JlOjpFdmVudEludGVyZmFjZVR5cGU6OktleWJvYXJkRXZlbnQ6
CisgICAgc3dpdGNoIChpbXBsLT5ldmVudEludGVyZmFjZSgpKSB7CisgICAgY2FzZSBXZWJDb3Jl
OjpLZXlib2FyZEV2ZW50SW50ZXJmYWNlVHlwZToKICAgICAgICAgcmV0dXJuIFtET01LZXlib2Fy
ZEV2ZW50IGNsYXNzXTsKLSAgICBjYXNlIFdlYkNvcmU6OkV2ZW50SW50ZXJmYWNlVHlwZTo6TW91
c2VFdmVudDoKKyAgICBjYXNlIFdlYkNvcmU6Ok1vdXNlRXZlbnRJbnRlcmZhY2VUeXBlOgogICAg
ICAgICByZXR1cm4gW0RPTU1vdXNlRXZlbnQgY2xhc3NdOwotICAgIGNhc2UgV2ViQ29yZTo6RXZl
bnRJbnRlcmZhY2VUeXBlOjpNdXRhdGlvbkV2ZW50OgorICAgIGNhc2UgV2ViQ29yZTo6TXV0YXRp
b25FdmVudEludGVyZmFjZVR5cGU6CiAgICAgICAgIHJldHVybiBbRE9NTXV0YXRpb25FdmVudCBj
bGFzc107Ci0gICAgY2FzZSBXZWJDb3JlOjpFdmVudEludGVyZmFjZVR5cGU6Ok92ZXJmbG93RXZl
bnQ6CisgICAgY2FzZSBXZWJDb3JlOjpPdmVyZmxvd0V2ZW50SW50ZXJmYWNlVHlwZToKICAgICAg
ICAgcmV0dXJuIFtET01PdmVyZmxvd0V2ZW50IGNsYXNzXTsKLSAgICBjYXNlIFdlYkNvcmU6OkV2
ZW50SW50ZXJmYWNlVHlwZTo6UHJvZ3Jlc3NFdmVudDoKLSAgICBjYXNlIFdlYkNvcmU6OkV2ZW50
SW50ZXJmYWNlVHlwZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50OgorICAgIGNhc2UgV2Vi
Q29yZTo6UHJvZ3Jlc3NFdmVudEludGVyZmFjZVR5cGU6CisgICAgY2FzZSBXZWJDb3JlOjpYTUxI
dHRwUmVxdWVzdFByb2dyZXNzRXZlbnRJbnRlcmZhY2VUeXBlOgogICAgICAgICByZXR1cm4gW0RP
TVByb2dyZXNzRXZlbnQgY2xhc3NdOwotICAgIGNhc2UgV2ViQ29yZTo6RXZlbnRJbnRlcmZhY2VU
eXBlOjpUZXh0RXZlbnQ6CisgICAgY2FzZSBXZWJDb3JlOjpUZXh0RXZlbnRJbnRlcmZhY2VUeXBl
OgogICAgICAgICByZXR1cm4gW0RPTVRleHRFdmVudCBjbGFzc107Ci0gICAgY2FzZSBXZWJDb3Jl
OjpFdmVudEludGVyZmFjZVR5cGU6OldoZWVsRXZlbnQ6CisgICAgY2FzZSBXZWJDb3JlOjpXaGVl
bEV2ZW50SW50ZXJmYWNlVHlwZToKICAgICAgICAgcmV0dXJuIFtET01XaGVlbEV2ZW50IGNsYXNz
XTsKICAgICBkZWZhdWx0OgogICAgICAgICBpZiAoaW1wbC0+aXNVSUV2ZW50KCkpCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucwppbmRleCBiMjQ0Y2ZjYzI1YjAuLjEzMTgxN2NjMjE4ZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCkBAIC00OTgyLDI5ICs0OTgyLDkgQEAgd2Via2l0Lm9yZy9iLzIyMDMyNSBodHRwL3dwdC9j
c3MvY3NzLWhpZ2hsaWdodC1hcGkvaGlnaGxpZ2h0LXRleHQtY2FzY2FkZS5odG1sIFsKIAogIyBU
ZXN0cyBuZWVkIHVwZGF0aW5nIHJlbGF0aW5nIHRvIEhpZ2hsaWdodCBTcGVjCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jc3Mt
dGFyZ2V0LXRleHQtZGVjb3JhdGlvbi0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRp
bmcvY3VzdG9tLWhpZ2hsaWdodC1jb250YWluZXItbWV0cmljcy0wMDEuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hs
aWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1jb250YWluZXItbWV0cmljcy0wMDIu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1jb250YWlu
ZXItbWV0cmljcy0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhp
Z2hsaWdodC1jb250YWluZXItbWV0cmljcy0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFp
bnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1jb250YWluZXItbWV0cmljcy0wMDUuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhp
Z2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1jb250YWluZXItbWV0cmljcy0w
MDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1keW5h
bWljLWNvbnRhaW5lci1tZXRyaWNzLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGlu
Zy9jdXN0b20taGlnaGxpZ2h0LWR5bmFtaWMtY29udGFpbmVyLW1ldHJpY3MtMDAzLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtZHluYW1pYy1jb250YWlu
ZXItbWV0cmljcy0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhp
Z2hsaWdodC1keW5hbWljLWZvbnQtbWV0cmljcy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkv
cGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1keW5hbWljLWxvZ2ljYWwtbWV0cmljcy0wMDEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1mb250LW1ldHJp
Y3MtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQt
Zm9udC1tZXRyaWNzLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20t
aGlnaGxpZ2h0LWZvbnQtbWV0cmljcy0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRp
bmcvY3VzdG9tLWhpZ2hsaWdodC1mb250LW1ldHJpY3MtMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQt
YXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtZm9udC1tZXRyaWNzLTAwNS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
aGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWxvZ2ljYWwtbWV0cmljcy0w
MDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1sb2dp
Y2FsLW1ldHJpY3MtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1o
aWdobGlnaHQtcGFpbnRpbmctYmVsb3ctc2VsZWN0aW9uLXRyYW5zcGFyZW5jeS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
aGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LXBhaW50aW5nLWJlbG93LXRh
cmdldC10ZXh0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGln
aHQtcGFpbnRpbmctaW5oZXJpdGFuY2UtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50
aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctaW5oZXJpdGFuY2UtMDAyLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1o
aWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctdmVydGljYWwt
d3JpdGluZy1tb2RlLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKIGh0dHAvdGVzdHMv
d2ViZ2wvMS4wLngvY29uZm9ybWFuY2UvdGV4dHVyZXMvbWlzYy9vcmlnaW4tY2xlYW4tY29uZm9y
bWFuY2Utb2Zmc2NyZWVuY2FudmFzLmh0bWwgWyBTa2lwIF0KIGh0dHAvdGVzdHMvd2ViZ2wvMi4w
LnkvY29uZm9ybWFuY2UvdGV4dHVyZXMvbWlzYy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2Utb2Zm
c2NyZWVuY2FudmFzLmh0bWwgWyBTa2lwIF0KQEAgLTcwMTgsMTIgKzY5OTgsMTMgQEAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZpZXctdHJhbnNpdGlvbnMvb2xkLWNv
bnRlbnQtd2l0aC1vdmVyZmwKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy12aWV3LXRyYW5zaXRpb25zL3BzZXVkby1yZW5kZXJpbmctaW52YWxpZGF0aW9uLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy12aWV3LXRyYW5zaXRpb25zL3NuYXBzaG90LWNvbnRhaW5pbmctYmxvY2stc3RhdGljLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy12aWV3LXRyYW5zaXRpb25zL3NwYW4td2l0aC1vdmVyZmxvd2luZy10ZXh0LWhpZGRlbi5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtdmlldy10cmFuc2l0aW9ucy93ZWItYW5pbWF0aW9ucy1hcGkuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQogCiAjIFRpbWVvdXRzCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3Mtdmlldy10cmFuc2l0aW9ucy9pZnJhbWUtdHJhbnNpdGlvbi5zdWIuaHRtbCBb
IFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZpZXctdHJh
bnNpdGlvbnMvcHNldWRvLWdldC1jb21wdXRlZC1zdHlsZS5odG1sIFsgU2tpcCBdCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtdmlldy10cmFuc2l0aW9ucy9wc2V1ZG8t
Y29tcHV0ZWQtc3R5bGUtc3RheXMtaW4tc3luYy13aXRoLW5ldy1lbGVtZW50Lmh0bWwgWyBTa2lw
IF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12aWV3LXRyYW5zaXRp
b25zL3dlYi1hbmltYXRpb25zLWFwaS5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtdmlldy10cmFuc2l0aW9ucy93ZWItYW5pbWF0aW9uLXBzZXVk
by1pbmNvcnJlY3QtbmFtZS5odG1sIFsgU2tpcCBdCiAKICMgRmxha2VzCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtdmlldy10cmFuc2l0aW9ucy9zeW5jaHJvbm91cy1j
YWxsYmFjay1za2lwcGVkLWJlZm9yZS1ydW4uaHRtbCBbIEZhaWx1cmUgUGFzcyBdCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL3Jlc291cmNlLWZpbGVzLmpz
b24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL3Jlc291cmNlLWZpbGVzLmpz
b24KaW5kZXggYzU3NWJjZDYzYmM4Li4yZmNhMzAzMjU0NTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvcmVzb3VyY2UtZmlsZXMuanNvbgorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL3Jlc291cmNlLWZpbGVzLmpzb24KQEAgLTI4
ODEsMjEgKzI4ODEsOCBAQAogICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3Jp
ZC90YWJsZS1ncmlkLWl0ZW0tZHluYW1pYy0wMDMtcmVmLmh0bWwiLAogICAgICAgICAid2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC90YWJsZS1ncmlkLWl0ZW0tZHluYW1pYy0wMDQtcmVm
Lmh0bWwiLAogICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC90ZXN0LXBs
YW4vaW5kZXguaHRtbCIsCi0gICAgICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdo
bGlnaHQtYXBpL2hpZ2hsaWdodC1wcmlvcml0eS1wYWludGluZy1yZWYuaHRtbCIsCiAgICAgICAg
ICJ3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2Nzcy1o
aWdobGlnaHQtcGFpbnRpbmctdW5kZXJsaW5lLW9mZnNldC0wMDEtcmVmLmh0bWwiLAogICAgICAg
ICAid2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jc3Mt
dGFyZ2V0LXRleHQtZGVjb3JhdGlvbi0wMDEtcmVmLmh0bWwiLAotICAgICAgICAid2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0
LWNvbnRhaW5lci1tZXRyaWNzLTAwMS1yZWYuaHRtbCIsCi0gICAgICAgICJ3ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtY29u
dGFpbmVyLW1ldHJpY3MtMDAyLXJlZi5odG1sIiwKLSAgICAgICAgIndlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1jb250YWlu
ZXItbWV0cmljcy0wMDMtcmVmLmh0bWwiLAotICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWNvbnRhaW5lci1t
ZXRyaWNzLTAwNC1yZWYuaHRtbCIsCi0gICAgICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtZHluYW1pYy1jb250YWlu
ZXItbWV0cmljcy0wMDEtcmVmLmh0bWwiLAotICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWZvbnQtbWV0cmlj
cy0wMDEtcmVmLmh0bWwiLAotICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGln
aGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWZvbnQtbWV0cmljcy0wMDItcmVm
Lmh0bWwiLAotICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFw
aS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWZvbnQtbWV0cmljcy0wMDMtcmVmLmh0bWwiLAot
ICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGlu
Zy9jdXN0b20taGlnaGxpZ2h0LWZvbnQtbWV0cmljcy0wMDQtcmVmLmh0bWwiLAotICAgICAgICAi
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20t
aGlnaGxpZ2h0LWZvbnQtbWV0cmljcy0wMDUtcmVmLmh0bWwiLAotICAgICAgICAid2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0
LWxvZ2ljYWwtbWV0cmljcy0wMDEtcmVmLmh0bWwiLAotICAgICAgICAid2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWxvZ2lj
YWwtbWV0cmljcy0wMDItcmVmLmh0bWwiLAogICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LXBhaW50aW5nLTAw
MS1yZWYuaHRtbCIsCiAgICAgICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGln
aHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctMDAyLXJlZi5odG1sIiwK
ICAgICAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRp
bmcvY3VzdG9tLWhpZ2hsaWdodC1wYWludGluZy0wMDMtcmVmLmh0bWwiLApAQCAtMjkwMyw3ICsy
ODkwLDYgQEAKICAgICAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1h
cGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1wYWludGluZy0wMDQtcmVmLmh0bWwiLAogICAg
ICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9j
dXN0b20taGlnaGxpZ2h0LXBhaW50aW5nLWJlbG93LWdyYW1tYXItcmVmLmh0bWwiLAogICAgICAg
ICAid2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0
b20taGlnaGxpZ2h0LXBhaW50aW5nLWJlbG93LXNlbGVjdGlvbi1yZWYuaHRtbCIsCi0gICAgICAg
ICJ3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3Rv
bS1oaWdobGlnaHQtcGFpbnRpbmctYmVsb3ctc2VsZWN0aW9uLXRyYW5zcGFyZW5jeS1yZWYuaHRt
bCIsCiAgICAgICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3Bh
aW50aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctYmVsb3ctdGFyZ2V0LXRleHQtcmVmLmh0
bWwiLAogICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9w
YWludGluZy9jdXN0b20taGlnaGxpZ2h0LXBhaW50aW5nLWlmcmFtZS0wMDEtcmVmLmh0bWwiLAog
ICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGlu
Zy9jdXN0b20taGlnaGxpZ2h0LXBhaW50aW5nLWlmcmFtZS0wMDMtcmVmLmh0bWwiLApAQCAtMjkx
NSwxMiArMjkwMSw5IEBACiAgICAgICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdo
bGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctaW52YWxpZGF0aW9u
LTAwNy1yZWYuaHRtbCIsCiAgICAgICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdo
bGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctb3ZlcmxhcHBpbmct
aGlnaGxpZ2h0cy0wMDEtcmVmLmh0bWwiLAogICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LXBhaW50aW5nLW92
ZXJsYXBwaW5nLWhpZ2hsaWdodHMtMDAyLXJlZi5odG1sIiwKLSAgICAgICAgIndlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1w
YWludGluZy1wcmlvcml0aXphdGlvbi0wMDMtcmVmLmh0bWwiLAogICAgICAgICAid2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0
LXBhaW50aW5nLXN0YXRpY3JhbmdlLTAwMS1yZWYuaHRtbCIsCi0gICAgICAgICJ3ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQt
cGFpbnRpbmctc3RhdGljcmFuZ2UtMDA0LXJlZi5odG1sIiwKICAgICAgICAgIndlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1w
YWludGluZy10ZXh0LWRlY29yYXRpb24tMDAxLXJlZi5odG1sIiwKICAgICAgICAgIndlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdo
dC1wYWludGluZy10ZXh0LWRlY29yYXRpb24tZHluYW1pYy0wMDEtcmVmLmh0bWwiLAotICAgICAg
ICAid2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0
b20taGlnaGxpZ2h0LXBhaW50aW5nLXZlcnRpY2FsLXdyaXRpbmctbW9kZS0wMDEtcmVmLmh0bWwi
LAogICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWlu
dGluZy9pbnZhbGlkYXRpb24vY3NzLWhpZ2hsaWdodC1pbnZhbGlkYXRpb24tMDAxLXJlZi5odG1s
IiwKICAgICAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9pbWFnZS1maXQt
MDAxLnhodCIsCiAgICAgICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMvaW1h
Z2UtZml0LTAwNi54aHQiLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvcHNldWRv
LWVsZW1lbnRzLTAwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9wc2V1ZG8t
ZWxlbWVudHMtMDA4LWV4cGVjdGVkLnR4dAppbmRleCAwNjA5NDIyNzcyN2IuLjU0ODUwZDJmODk0
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvcHNldWRvLWVsZW1lbnRzLTAwOC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvcHNldWRvLWVsZW1lbnRzLTAw
OC1leHBlY3RlZC50eHQKQEAgLTYsNyArNiw3IEBAIFBBU1MgT3JpZ2luYXRpbmcgZWxlbWVudCBj
b250YWluZXIgZm9yIDo6YWZ0ZXIKIFBBU1MgT3JpZ2luYXRpbmcgZWxlbWVudCBjb250YWluZXIg
Zm9yIDo6bWFya2VyCiBQQVNTIE9yaWdpbmF0aW5nIGVsZW1lbnQgY29udGFpbmVyIGZvciA6OmZp
cnN0LWxpbmUKIFBBU1MgT3JpZ2luYXRpbmcgZWxlbWVudCBjb250YWluZXIgZm9yIDo6Zmlyc3Qt
bGV0dGVyCi1QQVNTIE9yaWdpbmF0aW5nIGVsZW1lbnQgY29udGFpbmVyICBmb3IgOjpoaWdobGln
aHQKK0ZBSUwgT3JpZ2luYXRpbmcgZWxlbWVudCBjb250YWluZXIgIGZvciA6OmhpZ2hsaWdodCBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiMjBweCIgYnV0IGdvdCAiIgogUEFTUyBPcmlnaW5hdGlu
ZyBlbGVtZW50IGNvbnRhaW5lciBmb3Igb3V0ZXIgOjpmaXJzdC1saW5lCiBQQVNTIE9yaWdpbmF0
aW5nIGVsZW1lbnQgY29udGFpbmVyIGZvciBvdXRlciA6OmZpcnN0LWxldHRlcgogUEFTUyBPcmln
aW5hdGluZyBlbGVtZW50IGNvbnRhaW5lciBmb3IgOjpiYWNrZHJvcApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbmVyLXF1ZXJpZXMvcHNldWRvLWVsZW1lbnRzLTAxMy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluZXItcXVlcmllcy9wc2V1ZG8tZWxlbWVudHMtMDEzLWV4cGVjdGVkLnR4dAppbmRleCBi
NTRjNjhhMGJmMGIuLjhkZjAyNzMxODEyNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJp
ZXMvcHNldWRvLWVsZW1lbnRzLTAxMy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1
ZXJpZXMvcHNldWRvLWVsZW1lbnRzLTAxMy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAK
LVBBU1MgSW5pdGlhbCB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzIGZvciBoaWdobGlnaHQgcHNl
dWRvCi1QQVNTIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3MgZm9yIGhpZ2hsaWdodCBwc2V1ZG8g
ZGVwZW5kaW5nIG9uIGNvbnRhaW5lcgotUEFTUyB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzIGZv
ciBoaWdobGlnaHQgcHNldWRvIGRlcGVuZGluZyBvbiBjb250YWluZXIgb25seSBkZWZpbmVkIGlu
IGEgcXVlcnkKK0ZBSUwgSW5pdGlhbCB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzIGZvciBoaWdo
bGlnaHQgcHNldWRvIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIwcHgiIGJ1dCBnb3QgIiIKK0ZB
SUwgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzcyBmb3IgaGlnaGxpZ2h0IHBzZXVkbyBkZXBlbmRp
bmcgb24gY29udGFpbmVyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIzMHB4IiBidXQgZ290ICIi
CitGQUlMIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3MgZm9yIGhpZ2hsaWdodCBwc2V1ZG8gZGVw
ZW5kaW5nIG9uIGNvbnRhaW5lciBvbmx5IGRlZmluZWQgaW4gYSBxdWVyeSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiMzBweCIgYnV0IGdvdCAiIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9oaWdo
bGlnaHQtcHJpb3JpdHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL2hpZ2hsaWdodC1wcmlvcml0eS5odG1sCmlu
ZGV4IGFjMGVmOGE2Y2QzNS4uODk2Y2Y3N2FhMmFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9oaWdo
bGlnaHQtcHJpb3JpdHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9oaWdobGlnaHQtcHJpb3JpdHkuaHRt
bApAQCAtNzMsNSArNzMsNiBAQAogICAgICAgICBhc3NlcnRfZXF1YWxzKGhpZ2hsaWdodEJsdWUu
cHJpb3JpdHksIC0xKTsKICAgICB9KTsKICAgICA8L3NjcmlwdD4KKwogPC9ib2R5PgogPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvaGlnaGxpZ2h0LXBzZXVkby1jb21wdXRlZC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtaGlnaGxpZ2h0LWFwaS9oaWdobGlnaHQtcHNldWRvLWNvbXB1dGVkLWV4cGVjdGVkLnR4dApp
bmRleCBmZDM3OGE1NDM3MzQuLjIzODg0ZDZkNjhjZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvaGln
aGxpZ2h0LXBzZXVkby1jb21wdXRlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvaGlnaGxp
Z2h0LXBzZXVkby1jb21wdXRlZC1leHBlY3RlZC50eHQKQEAgLTEsMTQgKzEsMTMgQEAKIAotUEFT
UyBnZXRDb21wdXRlZFN0eWxlKCkgZm9yIDo6aGlnaGxpZ2h0KGZvbykKLVBBU1MgRGlmZmVyZW50
IGdldENvbXB1dGVkU3R5bGUoKSBmb3IgOjpoaWdobGlnaHQoYmFyKSBhbmQgc2FtZSBlbGVtZW50
Ci1QQVNTIGdldENvbXB1dGVkU3R5bGUoKSBmb3IgOjpoaWdobGlnaHQoZm9vKTogc2hvdWxkIG5v
dCByZXR1cm4gYSBzdHlsZS4KLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZSgpIGZvciA6OmhpZ2hsaWdo
dChmb28pKSBzaG91bGQgbm90IHJldHVybiBhIHN0eWxlLgotUEFTUyBnZXRDb21wdXRlZFN0eWxl
KCkgZm9yIDo6aGlnaGxpZ2h0KGZvbykoIHNob3VsZCBub3QgcmV0dXJuIGEgc3R5bGUuCi1QQVNT
IGdldENvbXB1dGVkU3R5bGUoKSBmb3IgOjpoaWdobGlnaHQgc2hvdWxkIG5vdCByZXR1cm4gYSBz
dHlsZS4KLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZSgpIGZvciA6OmhpZ2hsaWdodChmb28pKGZvbykg
c2hvdWxkIG5vdCByZXR1cm4gYSBzdHlsZS4KLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZSgpIGZvciA6
OmhpZ2hsaWdodChmb28pKCkgc2hvdWxkIG5vdCByZXR1cm4gYSBzdHlsZS4KLVBBU1MgZ2V0Q29t
cHV0ZWRTdHlsZSgpIGZvciA6OjpoaWdobGlnaHQoZm9vKSBzaG91bGQgbm90IHJldHVybiBhIHN0
eWxlLgotUEFTUyBnZXRDb21wdXRlZFN0eWxlKCkgZm9yIDo6aGlnaGxpZ2h0KGZvbykuIHNob3Vs
ZCBub3QgcmV0dXJuIGEgc3R5bGUuCi1QQVNTIGdldENvbXB1dGVkU3R5bGUoKSBmb3IgOjpoaWdo
bGlnaHQoZm9vLGJhcikgc2hvdWxkIG5vdCByZXR1cm4gYSBzdHlsZS4KLVBBU1MgZ2V0Q29tcHV0
ZWRTdHlsZSgpIGZvciA6OmhpZ2hsaWdodChmb28gYmFyKSBzaG91bGQgbm90IHJldHVybiBhIHN0
eWxlLgorRkFJTCBnZXRDb21wdXRlZFN0eWxlKCkgZm9yIDo6aGlnaGxpZ2h0KGZvbykgYXNzZXJ0
X2VxdWFsczogQmFja2dyb3VuZCBjb2xvciBpcyBncmVlbi4gZXhwZWN0ZWQgInJnYigwLCAxMjgs
IDApIiBidXQgZ290ICIiCitGQUlMIERpZmZlcmVudCBnZXRDb21wdXRlZFN0eWxlKCkgZm9yIDo6
aGlnaGxpZ2h0KGJhcikgYW5kIHNhbWUgZWxlbWVudCBhc3NlcnRfZXF1YWxzOiBCYWNrZ3JvdW5k
IGNvbG9yIGlzIGN5YW4uIGV4cGVjdGVkICJyZ2IoMCwgMjU1LCAyNTUpIiBidXQgZ290ICIiCitG
QUlMIGdldENvbXB1dGVkU3R5bGUoKSBmb3IgOjpoaWdobGlnaHQoZm9vKTogc2hvdWxkIGJlIGVs
ZW1lbnQncyBkZWZhdWx0IGFzc2VydF9lcXVhbHM6IEJhY2tncm91bmQgY29sb3IgaXMgZWxlbWVu
dCdzIGRlZmF1bHQuIGV4cGVjdGVkICJyZ2JhKDAsIDAsIDAsIDApIiBidXQgZ290ICIiCitGQUlM
IGdldENvbXB1dGVkU3R5bGUoKSBmb3IgOjpoaWdobGlnaHQoZm9vKSkgc2hvdWxkIGJlIGVsZW1l
bnQncyBkZWZhdWx0IGFzc2VydF9lcXVhbHM6IEJhY2tncm91bmQgY29sb3IgaXMgZWxlbWVudCdz
IGRlZmF1bHQuIGV4cGVjdGVkICJyZ2JhKDAsIDAsIDAsIDApIiBidXQgZ290ICIiCitGQUlMIGdl
dENvbXB1dGVkU3R5bGUoKSBmb3IgOjpoaWdobGlnaHQoZm9vKSggc2hvdWxkIGJlIGVsZW1lbnQn
cyBkZWZhdWx0IGFzc2VydF9lcXVhbHM6IEJhY2tncm91bmQgY29sb3IgaXMgZWxlbWVudCdzIGRl
ZmF1bHQuIGV4cGVjdGVkICJyZ2JhKDAsIDAsIDAsIDApIiBidXQgZ290ICIiCitQQVNTIGdldENv
bXB1dGVkU3R5bGUoKSBmb3IgOjpoaWdobGlnaHQgc2hvdWxkIGJlIGVsZW1lbnQncyBkZWZhdWx0
CitGQUlMIGdldENvbXB1dGVkU3R5bGUoKSBmb3IgOjpoaWdobGlnaHQoZm9vKShmb28pIHNob3Vs
ZCBiZSBlbGVtZW50J3MgZGVmYXVsdCBhc3NlcnRfZXF1YWxzOiBCYWNrZ3JvdW5kIGNvbG9yIGlz
IGVsZW1lbnQncyBkZWZhdWx0LiBleHBlY3RlZCAicmdiYSgwLCAwLCAwLCAwKSIgYnV0IGdvdCAi
IgorRkFJTCBnZXRDb21wdXRlZFN0eWxlKCkgZm9yIDo6aGlnaGxpZ2h0KGZvbykoKSBzaG91bGQg
YmUgZWxlbWVudCdzIGRlZmF1bHQgYXNzZXJ0X2VxdWFsczogQmFja2dyb3VuZCBjb2xvciBpcyBl
bGVtZW50J3MgZGVmYXVsdC4gZXhwZWN0ZWQgInJnYmEoMCwgMCwgMCwgMCkiIGJ1dCBnb3QgIiIK
K0ZBSUwgZ2V0Q29tcHV0ZWRTdHlsZSgpIGZvciA6OjpoaWdobGlnaHQoZm9vKSBzaG91bGQgYmUg
ZWxlbWVudCdzIGRlZmF1bHQgYXNzZXJ0X2VxdWFsczogQmFja2dyb3VuZCBjb2xvciBpcyBlbGVt
ZW50J3MgZGVmYXVsdC4gZXhwZWN0ZWQgInJnYmEoMCwgMCwgMCwgMCkiIGJ1dCBnb3QgIiIKK0ZB
SUwgZ2V0Q29tcHV0ZWRTdHlsZSgpIGZvciA6OmhpZ2hsaWdodChmb28pLiBzaG91bGQgYmUgZWxl
bWVudCdzIGRlZmF1bHQgYXNzZXJ0X2VxdWFsczogQmFja2dyb3VuZCBjb2xvciBpcyBlbGVtZW50
J3MgZGVmYXVsdC4gZXhwZWN0ZWQgInJnYmEoMCwgMCwgMCwgMCkiIGJ1dCBnb3QgIiIKK0ZBSUwg
Z2V0Q29tcHV0ZWRTdHlsZSgpIGZvciA6OmhpZ2hsaWdodChmb28sYmFyKSBzaG91bGQgYmUgZWxl
bWVudCdzIGRlZmF1bHQgYXNzZXJ0X2VxdWFsczogQmFja2dyb3VuZCBjb2xvciBpcyBlbGVtZW50
J3MgZGVmYXVsdC4gZXhwZWN0ZWQgInJnYmEoMCwgMCwgMCwgMCkiIGJ1dCBnb3QgIiIKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWhpZ2hsaWdodC1hcGkvaGlnaGxpZ2h0LXBzZXVkby1jb21wdXRlZC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1h
cGkvaGlnaGxpZ2h0LXBzZXVkby1jb21wdXRlZC5odG1sCmluZGV4IDk5MjEyYWJjM2U1My4uZTUw
ZjE4MDFiMGMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9oaWdobGlnaHQtcHNldWRvLWNvbXB1dGVk
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWhpZ2hsaWdodC1hcGkvaGlnaGxpZ2h0LXBzZXVkby1jb21wdXRlZC5odG1sCkBAIC05
LDcgKzksNiBAQAogICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOwogICAgIGNvbG9yOiBsaW1l
OwogICB9Ci0KICAgI3RhcmdldDo6aGlnaGxpZ2h0KGJhcikgewogICAgIGJhY2tncm91bmQtY29s
b3I6IGN5YW47CiAgICAgY29sb3I6IGZ1Y2hzaWE7CkBAIC0zMSwxMCArMzAsMTIgQEAKICAgICBh
c3NlcnRfZXF1YWxzKHN0eWxlLmNvbG9yLCAicmdiKDI1NSwgMCwgMjU1KSIsICJDb2xvciBpcyBm
dWNoc2lhLiIpOwogICB9LCBgRGlmZmVyZW50IGdldENvbXB1dGVkU3R5bGUoKSBmb3IgJHtoaWdo
bGlnaHRQc2V1ZG99IGFuZCBzYW1lIGVsZW1lbnRgKTsKIAotICBmb3IgKGNvbnN0IGlsbEhpZ2hs
aWdodFBzZXVkbyBvZiBbIjo6aGlnaGxpZ2h0KGZvbyk6IiwgIjo6aGlnaGxpZ2h0KGZvbykpIiwg
Ijo6aGlnaGxpZ2h0KGZvbykoIiwgIjo6aGlnaGxpZ2h0IiwgIjo6aGlnaGxpZ2h0KGZvbykoZm9v
KSIsICI6OmhpZ2hsaWdodChmb28pKCkiLCAiOjo6aGlnaGxpZ2h0KGZvbykiLCAiOjpoaWdobGln
aHQoZm9vKS4iLCAiOjpoaWdobGlnaHQoZm9vLGJhcikiLCAiOjpoaWdobGlnaHQoZm9vIGJhciki
XSkgeworICBmb3IgKGNvbnN0IGlsbEhpZ2hsaWdodFBzZXVkbyBvZiBbIjo6aGlnaGxpZ2h0KGZv
byk6IiwgIjo6aGlnaGxpZ2h0KGZvbykpIiwgIjo6aGlnaGxpZ2h0KGZvbykoIiwgIjo6aGlnaGxp
Z2h0IiwgIjo6aGlnaGxpZ2h0KGZvbykoZm9vKSIsICI6OmhpZ2hsaWdodChmb28pKCkiLCAiOjo6
aGlnaGxpZ2h0KGZvbykiLCAiOjpoaWdobGlnaHQoZm9vKS4iLCAiOjpoaWdobGlnaHQoZm9vLGJh
cikiXSkgewogICAgIHRlc3QoKCkgPT4gewogICAgICAgbGV0IHN0eWxlID0gZ2V0Q29tcHV0ZWRT
dHlsZSh0YXJnZXQsIGlsbEhpZ2hsaWdodFBzZXVkbyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHN0
eWxlLmxlbmd0aCwgMCwgIkludmFsaWQgcHNldWRvIGlkZW50aWZpZXJzIHNob3VsZCBub3QgcmV0
dXJuIGEgc3R5bGUuIik7Ci0gICAgfSwgYGdldENvbXB1dGVkU3R5bGUoKSBmb3IgJHtpbGxIaWdo
bGlnaHRQc2V1ZG99IHNob3VsZCBub3QgcmV0dXJuIGEgc3R5bGUuYCk7CisgICAgICBsZXQgZGVm
YXVsdFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQpOworICAgICAgYXNzZXJ0X2VxdWFs
cyhzdHlsZS5iYWNrZ3JvdW5kQ29sb3IsIGRlZmF1bHRTdHlsZS5iYWNrZ3JvdW5kQ29sb3IsICJC
YWNrZ3JvdW5kIGNvbG9yIGlzIGVsZW1lbnQncyBkZWZhdWx0LiIpOworICAgICAgYXNzZXJ0X2Vx
dWFscyhzdHlsZS5jb2xvciwgIGRlZmF1bHRTdHlsZS5jb2xvciwgIkNvbG9yIGlzIGVsZW1lbnQn
cyBkZWZhdWx0LiIpOworICAgIH0sIGBnZXRDb21wdXRlZFN0eWxlKCkgZm9yICR7aWxsSGlnaGxp
Z2h0UHNldWRvfSBzaG91bGQgYmUgZWxlbWVudCdzIGRlZmF1bHRgKTsKICAgfQotPC9zY3JpcHQ+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0
LWFwaS9oaWdobGlnaHQtcHNldWRvLWZyb20tZm9udC1jb21wdXRlZC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxp
Z2h0LWFwaS9oaWdobGlnaHQtcHNldWRvLWZyb20tZm9udC1jb21wdXRlZC1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkyZmVmN2ZkNzRlOC4uMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1oaWdobGlnaHQtYXBpL2hpZ2hsaWdodC1wc2V1ZG8tZnJvbS1mb250LWNvbXB1dGVkLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotQSBncmVlbiAxMHB4IG9mZnNl
dCB1bmRlcmxpbmUgNHB4IHRoaWNrCi1BIGJsdWUgMjBweCBvZmZzZXQgdW5kZXJsaW5lIDJweCB0
aGljawotCi1QQVNTIGdldENvbXB1dGVkU3R5bGUoKSBmb3Igcm9vdCBlbGVtZW50Ci1QQVNTIGdl
dENvbXB1dGVkU3R5bGUoKSBmb3Igcm9vdCBoaWdobGlnaHQgYXBwbGllZCB0byBkaXYKLVBBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZSgpIGZvciBkaXYgc3BlY2lmaWMgaGlnaGxpZ2h0Ci0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1o
aWdobGlnaHQtYXBpL2hpZ2hsaWdodC1wc2V1ZG8tZnJvbS1mb250LWNvbXB1dGVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxp
Z2h0LWFwaS9oaWdobGlnaHQtcHNldWRvLWZyb20tZm9udC1jb21wdXRlZC5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YzQzNmQ5NWQxMjYuLjAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxp
Z2h0LWFwaS9oaWdobGlnaHQtcHNldWRvLWZyb20tZm9udC1jb21wdXRlZC5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNTkgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Ci08dGl0bGU+Q1NTIDo6aGlnaGxpZ2h0IFBzZXVkby1FbGVtZW50IFRlc3Q6IDo6aGln
aGxpZ2h0IHNlbGVjdG9yIGdldENvbXB1dGVkU3R5bGU8L3RpdGxlPgotPGxpbmsgcmVsPSJoZWxw
IiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWhpZ2hsaWdodC1hcGktMS8iPgot
PG1ldGEgbmFtZT0iYXNzZXJ0IiB2YWx1ZT0iRm9udCByZWxhdGl2ZSB1bml0cyBhcmUgY29ycmVj
dGx5IHJlcG9ydGVkIGluIGdldENvbXB1dGVkU3R5bGUiPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHN0eWxlPgotICA6cm9vdCB7Ci0gICAgZm9u
dC1zaXplOiAxNnB4OwotICB9Ci0gIGRpdiB7Ci0gICAgbWFyZ2luOiA0MHB4OwotICAgIGZvbnQt
c2l6ZTogMjBweDsKLSAgfQotICA6OmhpZ2hsaWdodChoaWdobGlnaHQxKSB7Ci0gICAgdGV4dC11
bmRlcmxpbmUtb2Zmc2V0OiAwLjVlbTsKLSAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJs
aW5lOwotICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogZ3JlZW47Ci0gICAgdGV4dC1kZWNvcmF0
aW9uLXRoaWNrbmVzczogMC4yNXJlbTsKLSAgfQotICAjaDI6OmhpZ2hsaWdodChoaWdobGlnaHQx
KSB7Ci0gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAxLjBlbTsKLSAgICB0ZXh0LWRlY29yYXRp
b24tbGluZTogdW5kZXJsaW5lOwotICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogYmx1ZTsKLSAg
ICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAwLjEyNXJlbTsKLSAgfQotPC9zdHlsZT4KLTxk
aXYgaWQ9ImgxIj5BIGdyZWVuIDEwcHggb2Zmc2V0IHVuZGVybGluZSA0cHggdGhpY2s8L2Rpdj4K
LTxkaXYgaWQ9ImgyIj5BIGJsdWUgMjBweCBvZmZzZXQgdW5kZXJsaW5lIDJweCB0aGljazwvZGl2
PgotPHNjcmlwdD4KLSAgbGV0IHIxID0gbmV3IFJhbmdlKCk7Ci0gIHIxLnNldFN0YXJ0KGgxLCAw
KTsKLSAgcjEuc2V0RW5kKGgxLCAxKTsKLSAgbGV0IHIyID0gbmV3IFJhbmdlKCk7Ci0gIHIyLnNl
dFN0YXJ0KGgyLCAwKTsKLSAgcjIuc2V0RW5kKGgyLCAxKTsKLSAgQ1NTLmhpZ2hsaWdodHMuc2V0
KCJoaWdobGlnaHQxIiwgbmV3IEhpZ2hsaWdodChyMSwgcjIpKTsKLQotICBsZXQgaGlnaGxpZ2h0
UHNldWRvID0gIjo6aGlnaGxpZ2h0KGhpZ2hsaWdodDEpIjsKLSAgdGVzdCgoKSA9PiB7Ci0gICAg
bGV0IHN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIGhp
Z2hsaWdodFBzZXVkbyk7Ci0gICAgYXNzZXJ0X2VxdWFscyhzdHlsZS50ZXh0VW5kZXJsaW5lT2Zm
c2V0LCAiOHB4IiwgIlRleHQgdW5kZXJsaW5lIG9mZnNldCBpcyA4cHguIik7Ci0gICAgYXNzZXJ0
X2VxdWFscyhzdHlsZS50ZXh0RGVjb3JhdGlvblRoaWNrbmVzcywgIjRweCIsICJUZXh0IGRlY29y
YXRpb24gdGhpY2tuZXNzIGlzIDRweC4iKTsKLSAgfSwgYGdldENvbXB1dGVkU3R5bGUoKSBmb3Ig
cm9vdCBlbGVtZW50YCk7Ci0KLSAgdGVzdCgoKSA9PiB7Ci0gICAgbGV0IHN0eWxlID0gZ2V0Q29t
cHV0ZWRTdHlsZShoMSwgaGlnaGxpZ2h0UHNldWRvKTsKLSAgICBhc3NlcnRfZXF1YWxzKHN0eWxl
LnRleHRVbmRlcmxpbmVPZmZzZXQsICIxMHB4IiwgIlRleHQgdW5kZXJsaW5lIG9mZnNldCBpcyAx
MHB4LiIpOwotICAgIGFzc2VydF9lcXVhbHMoc3R5bGUudGV4dERlY29yYXRpb25UaGlja25lc3Ms
ICI0cHgiLCAiVGV4dCBkZWNvcmF0aW9uIHRoaWNrbmVzcyBpcyA0cHguIik7Ci0gIH0sIGBnZXRD
b21wdXRlZFN0eWxlKCkgZm9yIHJvb3QgaGlnaGxpZ2h0IGFwcGxpZWQgdG8gZGl2YCk7Ci0KLSAg
dGVzdCgoKSA9PiB7Ci0gICAgbGV0IHN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShoMiwgaGlnaGxp
Z2h0UHNldWRvKTsKLSAgICBhc3NlcnRfZXF1YWxzKHN0eWxlLnRleHRVbmRlcmxpbmVPZmZzZXQs
ICIyMHB4IiwgIlRleHQgdW5kZXJsaW5lIG9mZnNldCBpcyAyMHB4LiIpOwotICAgIGFzc2VydF9l
cXVhbHMoc3R5bGUudGV4dERlY29yYXRpb25UaGlja25lc3MsICIycHgiLCAiVGV4dCBkZWNvcmF0
aW9uIHRoaWNrbmVzcyBpcyAycHguIik7Ci0gIH0sIGBnZXRDb21wdXRlZFN0eWxlKCkgZm9yIGRp
diBzcGVjaWZpYyBoaWdobGlnaHRgKTsKLQotPC9zY3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvaGlzdG9yaWNhbC53aW5kb3ctZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWhpZ2hsaWdodC1hcGkvaGlzdG9yaWNhbC53aW5kb3ctZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBkMzA1MmE0ZDgxNjguLjAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0
LWFwaS9oaXN0b3JpY2FsLndpbmRvdy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwz
ICswLDAgQEAKLQotUEFTUyBIaWdobGlnaHRSZWdpc3RlciB3YXMgcmVuYW1lZAotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
aGlnaGxpZ2h0LWFwaS9oaXN0b3JpY2FsLndpbmRvdy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvaGlzdG9yaWNh
bC53aW5kb3cuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjM4MjkxMzUyOGU2
Li4wMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvaGlzdG9yaWNhbC53aW5kb3cuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xICswLDAgQEAKLTwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBX
ZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL2hpc3Rvcmlj
YWwud2luZG93LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvaGlzdG9yaWNhbC53aW5kb3cuanMKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDliNzM1Zjg1NWRjNS4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQt
YXBpL2hpc3RvcmljYWwud2luZG93LmpzCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0v
LyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWhpZ2hsaWdodC1hcGktMS8KLQotInVzZSBz
dHJpY3QiOwotCi10ZXN0KCgpID0+IHsKLSAgYXNzZXJ0X2VxdWFscyhzZWxmLkhpZ2hsaWdodFJl
Z2lzdGVyLCB1bmRlZmluZWQpOwotfSwgIkhpZ2hsaWdodFJlZ2lzdGVyIHdhcyByZW5hbWVkIik7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWNvbnRhaW5l
ci1tZXRyaWNzLTAwMS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhp
Z2hsaWdodC1jb250YWluZXItbWV0cmljcy0wMDEtZXhwZWN0ZWQuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggOTI3NTExNDRhMjY3Li4wMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1h
cGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1jb250YWluZXItbWV0cmljcy0wMDEtZXhwZWN0
ZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PG1ldGEgY2hhcnNldD0iVVRGLTgiPgotPHRpdGxlPkNTUyBIaWdobGlnaHQgQVBJIFRlc3QgUmVm
ZXJlbmNlPC90aXRsZT4KLTxoZWFkPgotICA8c3R5bGU+Ci0gICAgZGl2IHsKLSAgICAgIHdpZHRo
OiAyMDBweDsKLSAgICAgIGhlaWdodDogMTAwcHg7Ci0gICAgfQotICAgICNoMSB7Ci0gICAgICB0
ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDFzdnc7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTog
dW5kZXJsaW5lOwotICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBncmVlbjsKLSAgICAgIHRl
eHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDJzdmg7Ci0gICAgfQotICA8L3N0eWxlPgotPC9oZWFk
PgotPGJvZHk+Ci0gIDxkaXYgaWQ9ImgxIj5XaXRoIGNvbnRhaW5lciBzaXplPC9kaXY+Ci08L2Jv
ZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFp
bnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1jb250YWluZXItbWV0cmljcy0wMDEtcmVmLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxp
Z2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAwMS1y
ZWYuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTI3NTExNDRhMjY3Li4wMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1jb250YWlu
ZXItbWV0cmljcy0wMDEtcmVmLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLTx0aXRsZT5DU1MgSGlnaGxp
Z2h0IEFQSSBUZXN0IFJlZmVyZW5jZTwvdGl0bGU+Ci08aGVhZD4KLSAgPHN0eWxlPgotICAgIGRp
diB7Ci0gICAgICB3aWR0aDogMjAwcHg7Ci0gICAgICBoZWlnaHQ6IDEwMHB4OwotICAgIH0KLSAg
ICAjaDEgewotICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAxc3Z3OwotICAgICAgdGV4dC1k
ZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTsKLSAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjog
Z3JlZW47Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAyc3ZoOwotICAgIH0KLSAg
PC9zdHlsZT4KLTwvaGVhZD4KLTxib2R5PgotICA8ZGl2IGlkPSJoMSI+V2l0aCBjb250YWluZXIg
c2l6ZTwvZGl2PgotPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1o
aWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtY29udGFpbmVyLW1ldHJpY3Mt
MDAxLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWNvbnRhaW5lci1t
ZXRyaWNzLTAwMS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZTIyZGNjOTky
NGYuLjAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0
LWNvbnRhaW5lci1tZXRyaWNzLTAwMS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci08dGl0bGU+Q1NTIEhp
Z2hsaWdodCBBUEkgVGVzdDogSGlnaGxpZ2h0cyB1c2luZyBjb250YWluZXIgc2l6ZXM8L3RpdGxl
PgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWhp
Z2hsaWdodC1hcGktMS8iPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5j
c3N3Zy5vcmcvY3NzLXBzZXVkby8jaGlnaGxpZ2h0LXN0eWxpbmciPgotPGxpbmsgcmVsPSJoZWxw
IiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvbnRhaW4tMy8jY29udGFpbmVy
LWxlbmd0aHMiPgotPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0iY3VzdG9tLWhpZ2hsaWdodC1jb250
YWluZXItbWV0cmljcy0wMDEtcmVmLmh0bWwiPgotPG1ldGEgbmFtZT0iYXNzZXJ0IiB2YWx1ZT0i
bGVuZ3RocyBkZXBlbmRpbmcgb24gY29udGFpbmVycyB0YWtlIHRoZSBjb3JyZWN0IHZhbHVlcyBp
biBhIHVuaXZlcnNhbCBoaWdobGlnaHQgd2l0aCBubyBjb250YWluZXIiPgotPGhlYWQ+Ci0gIDxz
dHlsZT4KLSAgICBkaXYgewotICAgICAgd2lkdGg6IDIwMHB4OwotICAgICAgaGVpZ2h0OiAxMDBw
eDsKLSAgICB9Ci0gICAgOjpoaWdobGlnaHQoaGlnaGxpZ2h0MSkgewotICAgICAgdGV4dC11bmRl
cmxpbmUtb2Zmc2V0OiAxY3F3OwotICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGlu
ZTsKLSAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogZ3JlZW47Ci0gICAgICB0ZXh0LWRlY29y
YXRpb24tdGhpY2tuZXNzOiAyY3FoOwotICAgIH0KLTwvc3R5bGU+Ci08L2hlYWQ+Ci08Ym9keT4K
LSAgPGRpdiBpZD0iaDEiPldpdGggY29udGFpbmVyIHNpemU8L2Rpdj4KLSAgPHNjcmlwdD4KLSAg
ICBsZXQgcjEgPSBuZXcgUmFuZ2UoKTsKLSAgICByMS5zZXRTdGFydChoMSwgMCk7Ci0gICAgcjEu
c2V0RW5kKGgxLCAxKTsKLSAgICBDU1MuaGlnaGxpZ2h0cy5zZXQoImhpZ2hsaWdodDEiLCBuZXcg
SGlnaGxpZ2h0KHIxKSk7Ci0gIDwvc2NyaXB0PgotPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQt
Y29udGFpbmVyLW1ldHJpY3MtMDAyLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9j
dXN0b20taGlnaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAwMi1leHBlY3RlZC5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OGNjZmE1YjExYzcuLjAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGln
aGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAw
Mi1leHBlY3RlZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci08dGl0bGU+Q1NTIEhpZ2hsaWdodCBBUEkg
VGVzdCBSZWZlcmVuY2U8L3RpdGxlPgotPGhlYWQ+Ci0gIDxzdHlsZT4KLSAgICAud3JhcHBlciB7
Ci0gICAgICB3aWR0aDogMjAwcHg7Ci0gICAgICBoZWlnaHQ6IDEwMHB4OwotICAgICAgdGV4dC11
bmRlcmxpbmUtb2Zmc2V0OiA0cHg7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJs
aW5lOwotICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBncmVlbjsKLSAgICAgIHRleHQtZGVj
b3JhdGlvbi10aGlja25lc3M6IDRweDsKLSAgICB9Ci0gICAgI2gyIHsKLSAgICAgIHRleHQtdW5k
ZXJsaW5lLW9mZnNldDogMnN2dzsKLSAgICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxp
bmU7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGdyZWVuOwotICAgICAgdGV4dC1kZWNv
cmF0aW9uLXRoaWNrbmVzczogNHN2aDsKLSAgICB9Ci0gIDwvc3R5bGU+Ci08L2hlYWQ+Ci08Ym9k
eT4KLSAgPGRpdiBjbGFzcz0id3JhcHBlciI+V2l0aCBjb250YWluZXIgc2l6ZTwvZGl2PgotICA8
ZGl2IGlkPSJoMiI+V2l0aG91dCBjb250YWluZXIgc2l6ZTwvZGl2PgotPC9ib2R5PgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3Rv
bS1oaWdobGlnaHQtY29udGFpbmVyLW1ldHJpY3MtMDAyLXJlZi5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFp
bnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1jb250YWluZXItbWV0cmljcy0wMDItcmVmLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk4Y2NmYTViMTFjNy4uMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1o
aWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtY29udGFpbmVyLW1ldHJpY3Mt
MDAyLXJlZi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci08dGl0bGU+Q1NTIEhpZ2hsaWdodCBBUEkgVGVz
dCBSZWZlcmVuY2U8L3RpdGxlPgotPGhlYWQ+Ci0gIDxzdHlsZT4KLSAgICAud3JhcHBlciB7Ci0g
ICAgICB3aWR0aDogMjAwcHg7Ci0gICAgICBoZWlnaHQ6IDEwMHB4OwotICAgICAgdGV4dC11bmRl
cmxpbmUtb2Zmc2V0OiA0cHg7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5l
OwotICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBncmVlbjsKLSAgICAgIHRleHQtZGVjb3Jh
dGlvbi10aGlja25lc3M6IDRweDsKLSAgICB9Ci0gICAgI2gyIHsKLSAgICAgIHRleHQtdW5kZXJs
aW5lLW9mZnNldDogMnN2dzsKLSAgICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7
Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGdyZWVuOwotICAgICAgdGV4dC1kZWNvcmF0
aW9uLXRoaWNrbmVzczogNHN2aDsKLSAgICB9Ci0gIDwvc3R5bGU+Ci08L2hlYWQ+Ci08Ym9keT4K
LSAgPGRpdiBjbGFzcz0id3JhcHBlciI+V2l0aCBjb250YWluZXIgc2l6ZTwvZGl2PgotICA8ZGl2
IGlkPSJoMiI+V2l0aG91dCBjb250YWluZXIgc2l6ZTwvZGl2PgotPC9ib2R5PgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1o
aWdobGlnaHQtY29udGFpbmVyLW1ldHJpY3MtMDAyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9j
dXN0b20taGlnaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAwMi5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwYTgwNWNmN2VhNDcuLjAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFw
aS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAwMi5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08bWV0YSBjaGFy
c2V0PSJVVEYtOCI+Ci08dGl0bGU+Q1NTIEhpZ2hsaWdodCBBUEkgVGVzdDogSGlnaGxpZ2h0cyB1
c2luZyBjb250YWluZXIgc2l6ZXM8L3RpdGxlPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRw
czovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWhpZ2hsaWdodC1hcGktMS8iPgotPGxpbmsgcmVsPSJo
ZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXBzZXVkby8jaGlnaGxpZ2h0
LXN0eWxpbmciPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5v
cmcvY3NzLWNvbnRhaW4tMy8jY29udGFpbmVyLWxlbmd0aHMiPgotPGxpbmsgcmVsPSJtYXRjaCIg
aHJlZj0iY3VzdG9tLWhpZ2hsaWdodC1jb250YWluZXItbWV0cmljcy0wMDItcmVmLmh0bWwiPgot
PG1ldGEgbmFtZT0iYXNzZXJ0IiB2YWx1ZT0ibGVuZ3RocyBkZXBlbmRpbmcgb24gY29udGFpbmVy
cyB0YWtlIHRoZSBjb3JyZWN0IHZhbHVlcyBpbnNpZGUgYW5kIG91dHNpZGUgYSBjb250YWluZXIi
PgotPG1ldGEgbmFtZT0iZnV6enkiIGNvbnRlbnQ9IjAtNjA7MC0yNSI+Ci08aGVhZD4KLSAgPHN0
eWxlPgotICAgIC53cmFwcGVyIHsKLSAgICAgIGNvbnRhaW5lcjogd3JhcHBlciAvIHNpemU7Ci0g
ICAgICB3aWR0aDogMjAwcHg7Ci0gICAgICBoZWlnaHQ6IDEwMHB4OwotICAgIH0KLSAgICA6Omhp
Z2hsaWdodChoaWdobGlnaHQxKSB7Ci0gICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJjcXc7
Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lOwotICAgICAgdGV4dC1kZWNv
cmF0aW9uLWNvbG9yOiBncmVlbjsKLSAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDRj
cWg7Ci0gICAgfQotPC9zdHlsZT4KLTwvaGVhZD4KLTxib2R5PgotICA8ZGl2IGNsYXNzPSJ3cmFw
cGVyIj4KLSAgICA8ZGl2IGlkPSJoMSI+V2l0aCBjb250YWluZXIgc2l6ZTwvZGl2PgotICA8L2Rp
dj4KLSAgPGRpdiBpZD0iaDIiPldpdGhvdXQgY29udGFpbmVyIHNpemU8L2Rpdj4KLSAgPHNjcmlw
dD4KLSAgICBsZXQgcjEgPSBuZXcgUmFuZ2UoKTsKLSAgICByMS5zZXRTdGFydChoMSwgMCk7Ci0g
ICAgcjEuc2V0RW5kKGgxLCAxKTsKLSAgICBsZXQgcjIgPSBuZXcgUmFuZ2UoKTsKLSAgICByMi5z
ZXRTdGFydChoMiwgMCk7Ci0gICAgcjIuc2V0RW5kKGgyLCAxKTsKLSAgICBDU1MuaGlnaGxpZ2h0
cy5zZXQoImhpZ2hsaWdodDEiLCBuZXcgSGlnaGxpZ2h0KHIxLCByMikpOwotICA8L3NjcmlwdD4K
LTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQt
Y29udGFpbmVyLW1ldHJpY3MtMDAzLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9j
dXN0b20taGlnaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAwMy1leHBlY3RlZC5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkM2Q3NTMzM2Y4YTAuLjAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGln
aGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAw
My1leHBlY3RlZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci08dGl0bGU+Q1NTIEhpZ2hsaWdodCBBUEkg
VGVzdCBSZWZlcmVuY2U8L3RpdGxlPgotPGhlYWQ+Ci0gIDxzdHlsZT4KLSAgICAud3JhcHBlciB7
Ci0gICAgICB3aWR0aDogMjAwcHg7Ci0gICAgICBoZWlnaHQ6IDEwMHB4OwotICAgICAgdGV4dC11
bmRlcmxpbmUtb2Zmc2V0OiA0cHg7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJs
aW5lOwotICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBncmVlbjsKLSAgICAgIHRleHQtZGVj
b3JhdGlvbi10aGlja25lc3M6IDRweDsKLSAgICB9Ci0gIDwvc3R5bGU+Ci08L2hlYWQ+Ci08Ym9k
eT4KLSAgPGRpdiBjbGFzcz0id3JhcHBlciI+V2l0aCBjb250YWluZXIgc2l6ZTwvZGl2PgotICA8
ZGl2PlNob3VsZCBiZSBubyBoaWdobGlnaHQ8L2Rpdj4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGln
aHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtY29udGFpbmVyLW1ldHJpY3MtMDAzLXJl
Zi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1jb250YWluZXItbWV0
cmljcy0wMDMtcmVmLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQzZDc1MzMz
ZjhhMC4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGln
aHQtY29udGFpbmVyLW1ldHJpY3MtMDAzLXJlZi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTkg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci08dGl0bGU+
Q1NTIEhpZ2hsaWdodCBBUEkgVGVzdCBSZWZlcmVuY2U8L3RpdGxlPgotPGhlYWQ+Ci0gIDxzdHls
ZT4KLSAgICAud3JhcHBlciB7Ci0gICAgICB3aWR0aDogMjAwcHg7Ci0gICAgICBoZWlnaHQ6IDEw
MHB4OwotICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiA0cHg7Ci0gICAgICB0ZXh0LWRlY29y
YXRpb24tbGluZTogdW5kZXJsaW5lOwotICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBncmVl
bjsKLSAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDRweDsKLSAgICB9Ci0gIDwvc3R5
bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLSAgPGRpdiBjbGFzcz0id3JhcHBlciI+V2l0aCBjb250YWlu
ZXIgc2l6ZTwvZGl2PgotICA8ZGl2PlNob3VsZCBiZSBubyBoaWdobGlnaHQ8L2Rpdj4KLTwvYm9k
eT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtY29udGFp
bmVyLW1ldHJpY3MtMDAzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0
LWNvbnRhaW5lci1tZXRyaWNzLTAwMy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAxODlkYjQ5YmQzZTcuLjAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0
b20taGlnaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAwMy5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNDAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci08
dGl0bGU+Q1NTIEhpZ2hsaWdodCBBUEkgVGVzdDogSGlnaGxpZ2h0cyB1c2luZyBjb250YWluZXIg
c2l6ZXM8L3RpdGxlPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3
Zy5vcmcvY3NzLWhpZ2hsaWdodC1hcGktMS8iPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRw
czovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXBzZXVkby8jaGlnaGxpZ2h0LXN0eWxpbmciPgotPGxp
bmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvbnRhaW4t
My8jY29udGFpbmVyLWxlbmd0aHMiPgotPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0iY3VzdG9tLWhp
Z2hsaWdodC1jb250YWluZXItbWV0cmljcy0wMDMtcmVmLmh0bWwiPgotPG1ldGEgbmFtZT0iYXNz
ZXJ0IiB2YWx1ZT0ibGVuZ3RocyBkZXBlbmRpbmcgb24gY29udGFpbmVycyB0YWtlIHRoZSBjb3Jy
ZWN0IHZhbHVlcyBhbmQgYSBoaWdobGlnaHQgZGVmaW5lZCBpbnNpZGUgdGhlIGNvbnRhaW5lciBy
ZW5kZXJzIG9ubHkgd2l0aGluIHRoZSBjb250YWluZXIiPgotPGhlYWQ+Ci0gIDxzdHlsZT4KLSAg
ICAud3JhcHBlciB7Ci0gICAgICBjb250YWluZXI6IHdyYXBwZXIgLyBzaXplOwotICAgICAgd2lk
dGg6IDIwMHB4OwotICAgICAgaGVpZ2h0OiAxMDBweDsKLSAgICB9Ci0gICAgQGNvbnRhaW5lciAo
d2lkdGggPiAxMDBweCkgewotICAgICAgOjpoaWdobGlnaHQoaGlnaGxpZ2h0MSkgewotICAgICAg
ICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJjcXc7Ci0gICAgICAgIHRleHQtZGVjb3JhdGlvbi1s
aW5lOiB1bmRlcmxpbmU7Ci0gICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogZ3JlZW47Ci0g
ICAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDRjcWg7Ci0gICAgICB9Ci0gICAgfQot
ICA8L3N0eWxlPgotPC9oZWFkPgotPGJvZHk+Ci0gIDxkaXYgY2xhc3M9IndyYXBwZXIiPgotICAg
IDxkaXYgaWQ9ImgxIj5XaXRoIGNvbnRhaW5lciBzaXplPC9kaXY+Ci0gIDwvZGl2PgotICA8ZGl2
IGlkPSJoMiI+U2hvdWxkIGJlIG5vIGhpZ2hsaWdodDwvZGl2PgotICA8c2NyaXB0PgotICAgIGxl
dCByMSA9IG5ldyBSYW5nZSgpOwotICAgIHIxLnNldFN0YXJ0KGgxLCAwKTsKLSAgICByMS5zZXRF
bmQoaDEsIDEpOwotICAgIGxldCByMiA9IG5ldyBSYW5nZSgpOwotICAgIHIyLnNldFN0YXJ0KGgy
LCAwKTsKLSAgICByMi5zZXRFbmQoaDIsIDEpOwotICAgIENTUy5oaWdobGlnaHRzLnNldCgiaGln
aGxpZ2h0MSIsIG5ldyBIaWdobGlnaHQocjEsIHIyKSk7Ci0gIDwvc2NyaXB0PgotPC9ib2R5Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1jb250YWluZXIt
bWV0cmljcy0wMDQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdo
bGlnaHQtY29udGFpbmVyLW1ldHJpY3MtMDA0LWV4cGVjdGVkLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDk4Y2NmYTViMTFjNy4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBp
L3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtY29udGFpbmVyLW1ldHJpY3MtMDA0LWV4cGVjdGVk
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxt
ZXRhIGNoYXJzZXQ9IlVURi04Ij4KLTx0aXRsZT5DU1MgSGlnaGxpZ2h0IEFQSSBUZXN0IFJlZmVy
ZW5jZTwvdGl0bGU+Ci08aGVhZD4KLSAgPHN0eWxlPgotICAgIC53cmFwcGVyIHsKLSAgICAgIHdp
ZHRoOiAyMDBweDsKLSAgICAgIGhlaWdodDogMTAwcHg7Ci0gICAgICB0ZXh0LXVuZGVybGluZS1v
ZmZzZXQ6IDRweDsKLSAgICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7Ci0gICAg
ICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGdyZWVuOwotICAgICAgdGV4dC1kZWNvcmF0aW9uLXRo
aWNrbmVzczogNHB4OwotICAgIH0KLSAgICAjaDIgewotICAgICAgdGV4dC11bmRlcmxpbmUtb2Zm
c2V0OiAyc3Z3OwotICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTsKLSAgICAg
IHRleHQtZGVjb3JhdGlvbi1jb2xvcjogZ3JlZW47Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tdGhp
Y2tuZXNzOiA0c3ZoOwotICAgIH0KLSAgPC9zdHlsZT4KLTwvaGVhZD4KLTxib2R5PgotICA8ZGl2
IGNsYXNzPSJ3cmFwcGVyIj5XaXRoIGNvbnRhaW5lciBzaXplPC9kaXY+Ci0gIDxkaXYgaWQ9Imgy
Ij5XaXRob3V0IGNvbnRhaW5lciBzaXplPC9kaXY+Ci08L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdo
dC1jb250YWluZXItbWV0cmljcy0wMDQtcmVmLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0
b20taGlnaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAwNC1yZWYuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggOThjY2ZhNWIxMWM3Li4wMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1h
cGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1jb250YWluZXItbWV0cmljcy0wMDQtcmVmLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxtZXRh
IGNoYXJzZXQ9IlVURi04Ij4KLTx0aXRsZT5DU1MgSGlnaGxpZ2h0IEFQSSBUZXN0IFJlZmVyZW5j
ZTwvdGl0bGU+Ci08aGVhZD4KLSAgPHN0eWxlPgotICAgIC53cmFwcGVyIHsKLSAgICAgIHdpZHRo
OiAyMDBweDsKLSAgICAgIGhlaWdodDogMTAwcHg7Ci0gICAgICB0ZXh0LXVuZGVybGluZS1vZmZz
ZXQ6IDRweDsKLSAgICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7Ci0gICAgICB0
ZXh0LWRlY29yYXRpb24tY29sb3I6IGdyZWVuOwotICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNr
bmVzczogNHB4OwotICAgIH0KLSAgICAjaDIgewotICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0
OiAyc3Z3OwotICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTsKLSAgICAgIHRl
eHQtZGVjb3JhdGlvbi1jb2xvcjogZ3JlZW47Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tu
ZXNzOiA0c3ZoOwotICAgIH0KLSAgPC9zdHlsZT4KLTwvaGVhZD4KLTxib2R5PgotICA8ZGl2IGNs
YXNzPSJ3cmFwcGVyIj5XaXRoIGNvbnRhaW5lciBzaXplPC9kaXY+Ci0gIDxkaXYgaWQ9ImgyIj5X
aXRob3V0IGNvbnRhaW5lciBzaXplPC9kaXY+Ci08L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1j
b250YWluZXItbWV0cmljcy0wMDQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdo
bGlnaHQtY29udGFpbmVyLW1ldHJpY3MtMDA0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDE1OGY0ZWUxMmM5MS4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5n
L2N1c3RvbS1oaWdobGlnaHQtY29udGFpbmVyLW1ldHJpY3MtMDA0Lmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw0MSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9IlVURi04
Ij4KLTx0aXRsZT5DU1MgSGlnaGxpZ2h0IEFQSSBUZXN0OiBIaWdobGlnaHRzIHVzaW5nIGNvbnRh
aW5lciBzaXplczwvdGl0bGU+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3MtaGlnaGxpZ2h0LWFwaS0xLyI+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtcHNldWRvLyNoaWdobGlnaHQtc3R5bGluZyI+
Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29u
dGFpbi0zLyNjb250YWluZXItbGVuZ3RocyI+Ci08bGluayByZWw9Im1hdGNoIiBocmVmPSJjdXN0
b20taGlnaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAwNC1yZWYuaHRtbCI+Ci08bWV0YSBuYW1l
PSJhc3NlcnQiIHZhbHVlPSJsZW5ndGhzIGRlcGVuZGluZyBvbiBjb250YWluZXJzIHRha2UgdGhl
IGNvcnJlY3QgdmFsdWVzIGluc2lkZSBhbmQgb3V0c2lkZSBhIGNvbnRhaW5lciI+Ci08bWV0YSBu
YW1lPSJmdXp6eSIgY29udGVudD0iMC02MDswLTI1Ij4KLTxoZWFkPgotICA8c3R5bGU+Ci0gICAg
LndyYXBwZXIgewotICAgICAgY29udGFpbmVyOiB3cmFwcGVyIC8gc2l6ZTsKLSAgICAgIHdpZHRo
OiAyMDBweDsKLSAgICAgIGhlaWdodDogMTAwcHg7Ci0gICAgfQotICAgIDo6aGlnaGxpZ2h0KGhp
Z2hsaWdodDEpIHsKLSAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMmNxdzsKLSAgICAgIHRl
eHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tY29s
b3I6IGdyZWVuOwotICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogNGNxaDsKLSAgICB9
Ci08L3N0eWxlPgotPC9oZWFkPgotPGJvZHk+Ci0gIDxkaXYgY2xhc3M9IndyYXBwZXIiPgotICAg
IDxkaXY+Ci0gICAgICA8ZGl2IGlkPSJoMSI+V2l0aCBjb250YWluZXIgc2l6ZTwvZGl2PgotICAg
IDwvZGl2PgotICA8L2Rpdj4KLSAgPGRpdiBpZD0iaDIiPldpdGhvdXQgY29udGFpbmVyIHNpemU8
L2Rpdj4KLSAgPHNjcmlwdD4KLSAgICBsZXQgcjEgPSBuZXcgUmFuZ2UoKTsKLSAgICByMS5zZXRT
dGFydChoMSwgMCk7Ci0gICAgcjEuc2V0RW5kKGgxLCAxKTsKLSAgICBsZXQgcjIgPSBuZXcgUmFu
Z2UoKTsKLSAgICByMi5zZXRTdGFydChoMiwgMCk7Ci0gICAgcjIuc2V0RW5kKGgyLCAxKTsKLSAg
ICBDU1MuaGlnaGxpZ2h0cy5zZXQoImhpZ2hsaWdodDEiLCBuZXcgSGlnaGxpZ2h0KHIxLCByMikp
OwotICA8L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1
c3RvbS1oaWdobGlnaHQtY29udGFpbmVyLW1ldHJpY3MtMDA1LWV4cGVjdGVkLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0
LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAwNS1leHBl
Y3RlZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkM2Q3NTMzM2Y4YTAuLjAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWNvbnRh
aW5lci1tZXRyaWNzLTAwNS1leHBlY3RlZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci08dGl0bGU+Q1NT
IEhpZ2hsaWdodCBBUEkgVGVzdCBSZWZlcmVuY2U8L3RpdGxlPgotPGhlYWQ+Ci0gIDxzdHlsZT4K
LSAgICAud3JhcHBlciB7Ci0gICAgICB3aWR0aDogMjAwcHg7Ci0gICAgICBoZWlnaHQ6IDEwMHB4
OwotICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiA0cHg7Ci0gICAgICB0ZXh0LWRlY29yYXRp
b24tbGluZTogdW5kZXJsaW5lOwotICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBncmVlbjsK
LSAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDRweDsKLSAgICB9Ci0gIDwvc3R5bGU+
Ci08L2hlYWQ+Ci08Ym9keT4KLSAgPGRpdiBjbGFzcz0id3JhcHBlciI+V2l0aCBjb250YWluZXIg
c2l6ZTwvZGl2PgotICA8ZGl2PlNob3VsZCBiZSBubyBoaWdobGlnaHQ8L2Rpdj4KLTwvYm9keT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtY29udGFpbmVy
LW1ldHJpY3MtMDA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWNv
bnRhaW5lci1tZXRyaWNzLTAwNS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBk
N2JlNzhkMWZkYjguLjAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20t
aGlnaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAwNS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MzkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci08dGl0
bGU+Q1NTIEhpZ2hsaWdodCBBUEkgVGVzdDogSGlnaGxpZ2h0cyB1c2luZyBjb250YWluZXIgc2l6
ZXM8L3RpdGxlPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5v
cmcvY3NzLWhpZ2hsaWdodC1hcGktMS8iPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczov
L2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXBzZXVkby8jaGlnaGxpZ2h0LXN0eWxpbmciPgotPGxpbmsg
cmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvbnRhaW4tMy8j
Y29udGFpbmVyLWxlbmd0aHMiPgotPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0iY3VzdG9tLWhpZ2hs
aWdodC1jb250YWluZXItbWV0cmljcy0wMDMtcmVmLmh0bWwiPgotPG1ldGEgbmFtZT0iYXNzZXJ0
IiB2YWx1ZT0iYSBoaWdobGlnaHQgb24gYSBjb250YWluZXIgaXRzZWxmIHJlbmRlcnMgYXQgdGhl
IGNvcnJlY3Qgc2l6ZSI+Ci08aGVhZD4KLSAgPHN0eWxlPgotICAgIC53cmFwcGVyIHsKLSAgICAg
IGNvbnRhaW5lcjogd3JhcHBlciAvIHNpemU7Ci0gICAgICB3aWR0aDogMjAwcHg7Ci0gICAgICBo
ZWlnaHQ6IDEwMHB4OwotICAgIH0KLSAgICBAY29udGFpbmVyICh3aWR0aCA+IDEwMHB4KSB7Ci0g
ICAgICAud3JhcHBlcjo6aGlnaGxpZ2h0KGhpZ2hsaWdodDEpIHsKLSAgICAgICAgdGV4dC11bmRl
cmxpbmUtb2Zmc2V0OiAyY3F3OwotICAgICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJs
aW5lOwotICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGdyZWVuOwotICAgICAgICB0ZXh0
LWRlY29yYXRpb24tdGhpY2tuZXNzOiA0Y3FoOwotICAgICAgfQotICAgIH0KLSAgPC9zdHlsZT4K
LTwvaGVhZD4KLTxib2R5PgotICA8ZGl2IGlkPSJoMSIgY2xhc3M9IndyYXBwZXIiPldpdGggY29u
dGFpbmVyIHNpemU8L2Rpdj4KLSAgPGRpdiBpZD0iaDIiPlNob3VsZCBiZSBubyBoaWdobGlnaHQ8
L2Rpdj4KLSAgPHNjcmlwdD4KLSAgICBsZXQgcjEgPSBuZXcgUmFuZ2UoKTsKLSAgICByMS5zZXRT
dGFydChoMSwgMCk7Ci0gICAgcjEuc2V0RW5kKGgxLCAxKTsKLSAgICBsZXQgcjIgPSBuZXcgUmFu
Z2UoKTsKLSAgICByMi5zZXRTdGFydChoMiwgMCk7Ci0gICAgcjIuc2V0RW5kKGgyLCAxKTsKLSAg
ICBDU1MuaGlnaGxpZ2h0cy5zZXQoImhpZ2hsaWdodDEiLCBuZXcgSGlnaGxpZ2h0KHIxLCByMikp
OwotICA8L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3Bh
aW50aW5nL2N1c3RvbS1oaWdobGlnaHQtY29udGFpbmVyLW1ldHJpY3MtMDA2LWV4cGVjdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
aGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNz
LTAwNi1leHBlY3RlZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OGNjZmE1
YjExYzcuLjAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxp
Z2h0LWNvbnRhaW5lci1tZXRyaWNzLTAwNi1leHBlY3RlZC5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMjUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci08
dGl0bGU+Q1NTIEhpZ2hsaWdodCBBUEkgVGVzdCBSZWZlcmVuY2U8L3RpdGxlPgotPGhlYWQ+Ci0g
IDxzdHlsZT4KLSAgICAud3JhcHBlciB7Ci0gICAgICB3aWR0aDogMjAwcHg7Ci0gICAgICBoZWln
aHQ6IDEwMHB4OwotICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiA0cHg7Ci0gICAgICB0ZXh0
LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lOwotICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9y
OiBncmVlbjsKLSAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDRweDsKLSAgICB9Ci0g
ICAgI2gyIHsKLSAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMnN2dzsKLSAgICAgIHRleHQt
ZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6
IGdyZWVuOwotICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogNHN2aDsKLSAgICB9Ci0g
IDwvc3R5bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLSAgPGRpdiBjbGFzcz0id3JhcHBlciI+V2l0aCBj
b250YWluZXIgc2l6ZTwvZGl2PgotICA8ZGl2IGlkPSJoMiI+V2l0aG91dCBjb250YWluZXIgc2l6
ZTwvZGl2PgotPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdo
bGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtY29udGFpbmVyLW1ldHJpY3MtMDA2
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWNvbnRhaW5lci1tZXRy
aWNzLTAwNi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YmNhZTA3M2I1ZGYu
LjAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWNv
bnRhaW5lci1tZXRyaWNzLTAwNi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci08dGl0bGU+Q1NTIEhpZ2hs
aWdodCBBUEkgVGVzdDogSGlnaGxpZ2h0cyB1c2luZyBjb250YWluZXIgc2l6ZXM8L3RpdGxlPgot
PGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWhpZ2hs
aWdodC1hcGktMS8iPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3
Zy5vcmcvY3NzLXBzZXVkby8jaGlnaGxpZ2h0LXN0eWxpbmciPgotPGxpbmsgcmVsPSJoZWxwIiBo
cmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvbnRhaW4tMy8jY29udGFpbmVyLWxl
bmd0aHMiPgotPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0iY3VzdG9tLWhpZ2hsaWdodC1jb250YWlu
ZXItbWV0cmljcy0wMDItcmVmLmh0bWwiPgotPG1ldGEgbmFtZT0iYXNzZXJ0IiB2YWx1ZT0ibGVu
Z3RocyBkZXBlbmRpbmcgb24gY29udGFpbmVycyB0YWtlIHRoZSBjb3JyZWN0IHZhbHVlcyBpbnNp
ZGUgYW5kIG91dHNpZGUgYSBjb250YWluZXIiPgotPG1ldGEgbmFtZT0iZnV6enkiIGNvbnRlbnQ9
IjAtNjA7MC0yNSI+Ci08aGVhZD4KLSAgPHN0eWxlPgotICAgIC53cmFwcGVyIHsKLSAgICAgIGNv
bnRhaW5lcjogd3JhcHBlciAvIHNpemU7Ci0gICAgICB3aWR0aDogMjAwcHg7Ci0gICAgICBoZWln
aHQ6IDEwMHB4OwotICAgIH0KLSAgICA6OmhpZ2hsaWdodChoaWdobGlnaHQxKSB7Ci0gICAgICB0
ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJjcXc7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTog
dW5kZXJsaW5lOwotICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBncmVlbjsKLSAgICAgIHRl
eHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDRjcWg7Ci0gICAgfQotPC9zdHlsZT4KLTwvaGVhZD4K
LTxib2R5PgotICA8ZGl2IGlkPSJoMSIgY2xhc3M9IndyYXBwZXIiPldpdGggY29udGFpbmVyIHNp
emU8L2Rpdj4KLSAgPGRpdiBpZD0iaDIiPldpdGhvdXQgY29udGFpbmVyIHNpemU8L2Rpdj4KLSAg
PHNjcmlwdD4KLSAgICBsZXQgcjEgPSBuZXcgUmFuZ2UoKTsKLSAgICByMS5zZXRTdGFydChoMSwg
MCk7Ci0gICAgcjEuc2V0RW5kKGgxLCAxKTsKLSAgICBsZXQgcjIgPSBuZXcgUmFuZ2UoKTsKLSAg
ICByMi5zZXRTdGFydChoMiwgMCk7Ci0gICAgcjIuc2V0RW5kKGgyLCAxKTsKLSAgICBDU1MuaGln
aGxpZ2h0cy5zZXQoImhpZ2hsaWdodDEiLCBuZXcgSGlnaGxpZ2h0KHIxLCByMikpOwotICA8L3Nj
cmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdo
bGlnaHQtZHluYW1pYy1jb250YWluZXItbWV0cmljcy0wMDEtZXhwZWN0ZWQuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQt
YXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtZHluYW1pYy1jb250YWluZXItbWV0cmljcy0w
MDEtZXhwZWN0ZWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGM5NzMyZjFk
ZGI5Li4wMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdo
dC1keW5hbWljLWNvbnRhaW5lci1tZXRyaWNzLTAwMS1leHBlY3RlZC5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJVVEYt
OCI+Ci08dGl0bGU+Q1NTIEhpZ2hsaWdodCBBUEkgVGVzdDogUmVmZXJlbmNlPC90aXRsZT4KLTxo
ZWFkPgotICA8c3R5bGU+Ci0gICAgaWZyYW1lIHsKLSAgICAgIHdpZHRoOiA0MDBweDsKLSAgICAg
IGhlaWdodDogMjAwcHg7Ci0gICAgfQotPC9zdHlsZT4KLTwvaGVhZD4KLTxpZnJhbWUgaWQ9Imlm
cmFtZSIgc3JjPSJyZXNvdXJjZXMvaWZyYW1lLWNvbnRhaW5lci5odG1sIj48L2lmcmFtZT4KLTwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9w
YWludGluZy9jdXN0b20taGlnaGxpZ2h0LWR5bmFtaWMtY29udGFpbmVyLW1ldHJpY3MtMDAxLXJl
Zi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1keW5hbWljLWNvbnRh
aW5lci1tZXRyaWNzLTAwMS1yZWYuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
OGM5NzMyZjFkZGI5Li4wMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9t
LWhpZ2hsaWdodC1keW5hbWljLWNvbnRhaW5lci1tZXRyaWNzLTAwMS1yZWYuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPG1ldGEgY2hhcnNldD0i
VVRGLTgiPgotPHRpdGxlPkNTUyBIaWdobGlnaHQgQVBJIFRlc3Q6IFJlZmVyZW5jZTwvdGl0bGU+
Ci08aGVhZD4KLSAgPHN0eWxlPgotICAgIGlmcmFtZSB7Ci0gICAgICB3aWR0aDogNDAwcHg7Ci0g
ICAgICBoZWlnaHQ6IDIwMHB4OwotICAgIH0KLTwvc3R5bGU+Ci08L2hlYWQ+Ci08aWZyYW1lIGlk
PSJpZnJhbWUiIHNyYz0icmVzb3VyY2VzL2lmcmFtZS1jb250YWluZXIuaHRtbCI+PC9pZnJhbWU+
Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1h
cGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1keW5hbWljLWNvbnRhaW5lci1tZXRyaWNzLTAw
MS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1keW5hbWljLWNvbnRh
aW5lci1tZXRyaWNzLTAwMS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYzI4
ZjdkMTMyYTYuLjAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGln
aGxpZ2h0LWR5bmFtaWMtY29udGFpbmVyLW1ldHJpY3MtMDAxLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwzMiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sIGNsYXNzPSJyZWZ0ZXN0LXdh
aXQiPgotPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotPHRpdGxlPkNTUyBIaWdobGlnaHQgQVBJIFRl
c3Q6IEhpZ2hsaWdodHMgdXNpbmcgY29udGFpbmVyIHNpemVzIHVwZGF0ZSBvbiBjb250YWluZXIg
Y2hhbmdlczwvdGl0bGU+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNz
c3dnLm9yZy9jc3MtaGlnaGxpZ2h0LWFwaS0xLyI+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0
dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtcHNldWRvLyNoaWdobGlnaHQtc3R5bGluZyI+Ci08
bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29udGFp
bi0zLyNjb250YWluZXItbGVuZ3RocyI+Ci08bGluayByZWw9Im1hdGNoIiBocmVmPSJjdXN0b20t
aGlnaGxpZ2h0LWR5bmFtaWMtY29udGFpbmVyLW1ldHJpY3MtMDAxLXJlZi5odG1sIj4KLTxtZXRh
IG5hbWU9ImFzc2VydCIgdmFsdWU9Imxlbmd0aHMgZGVwZW5kaW5nIG9uIGNvbnRhaW5lcnMgdGFr
ZSB0aGUgY29ycmVjdCB2YWx1ZXMgaW4gYSB1bml2ZXJzYWwgaGlnaGxpZ2h0IHdpdGggbm8gY29u
dGFpbmVyIHdoZW4gdGhlIGNvbnRhaW5lciBzaXplIGNoYW5nZXMiPgotPHNjcmlwdCBzcmM9Ii9j
b21tb24vcmVmdGVzdC13YWl0LmpzIj48L3NjcmlwdD4KLTxoZWFkPgotICA8c3R5bGU+Ci0gICAg
aWZyYW1lIHsKLSAgICAgIHdpZHRoOiAyMDBweDsKLSAgICAgIGhlaWdodDogMTAwcHg7Ci0gICAg
fQotCi0gICAgaWZyYW1lLnJlc2l6ZSB7Ci0gICAgICB3aWR0aDogNDAwcHg7Ci0gICAgICBoZWln
aHQ6IDIwMHB4OwotICAgIH0KLTwvc3R5bGU+Ci08L2hlYWQ+Ci08aWZyYW1lIGlkPSJpZnJhbWUi
IHNyYz0icmVzb3VyY2VzL2lmcmFtZS1jb250YWluZXIuaHRtbCI+PC9pZnJhbWU+Ci08c2NyaXB0
PgotICBmdW5jdGlvbiBydW50ZXN0KCkgewotICAgIGlmcmFtZS5jbGFzc0xpc3QuYWRkKCdyZXNp
emUnKTsKLSAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gdGFrZVNjcmVlbnNob3QoKSk7
Ci0gIH0KLSAgaWZyYW1lLm9ubG9hZCA9IHJ1bnRlc3Q7Ci08L3NjcmlwdD4KLTwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9j
dXN0b20taGlnaGxpZ2h0LWR5bmFtaWMtY29udGFpbmVyLW1ldHJpY3MtMDAyLWV4cGVjdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
aGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWR5bmFtaWMtY29udGFpbmVy
LW1ldHJpY3MtMDAyLWV4cGVjdGVkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDk4Y2NmYTViMTFjNy4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3Rv
bS1oaWdobGlnaHQtZHluYW1pYy1jb250YWluZXItbWV0cmljcy0wMDItZXhwZWN0ZWQuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPG1ldGEgY2hh
cnNldD0iVVRGLTgiPgotPHRpdGxlPkNTUyBIaWdobGlnaHQgQVBJIFRlc3QgUmVmZXJlbmNlPC90
aXRsZT4KLTxoZWFkPgotICA8c3R5bGU+Ci0gICAgLndyYXBwZXIgewotICAgICAgd2lkdGg6IDIw
MHB4OwotICAgICAgaGVpZ2h0OiAxMDBweDsKLSAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDog
NHB4OwotICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTsKLSAgICAgIHRleHQt
ZGVjb3JhdGlvbi1jb2xvcjogZ3JlZW47Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNz
OiA0cHg7Ci0gICAgfQotICAgICNoMiB7Ci0gICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJz
dnc7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lOwotICAgICAgdGV4dC1k
ZWNvcmF0aW9uLWNvbG9yOiBncmVlbjsKLSAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6
IDRzdmg7Ci0gICAgfQotICA8L3N0eWxlPgotPC9oZWFkPgotPGJvZHk+Ci0gIDxkaXYgY2xhc3M9
IndyYXBwZXIiPldpdGggY29udGFpbmVyIHNpemU8L2Rpdj4KLSAgPGRpdiBpZD0iaDIiPldpdGhv
dXQgY29udGFpbmVyIHNpemU8L2Rpdj4KLTwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWR5bmFt
aWMtY29udGFpbmVyLW1ldHJpY3MtMDAyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20t
aGlnaGxpZ2h0LWR5bmFtaWMtY29udGFpbmVyLW1ldHJpY3MtMDAyLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDFhMGNiZTg3YTU1Ny4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQt
YXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtZHluYW1pYy1jb250YWluZXItbWV0cmljcy0w
MDIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWwgY2xhc3M9InJlZnRlc3Qtd2FpdCI+Ci08bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci08dGl0
bGU+Q1NTIEhpZ2hsaWdodCBBUEkgVGVzdDogSGlnaGxpZ2h0cyB1c2luZyBkeW5hbWljIGNvbnRh
aW5lciBzaXplczwvdGl0bGU+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3MtaGlnaGxpZ2h0LWFwaS0xLyI+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtcHNldWRvLyNoaWdobGlnaHQtc3R5bGluZyI+
Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29u
dGFpbi0zLyNjb250YWluZXItbGVuZ3RocyI+Ci08bGluayByZWw9Im1hdGNoIiBocmVmPSJjdXN0
b20taGlnaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAwMi1yZWYuaHRtbCI+Ci08bWV0YSBuYW1l
PSJhc3NlcnQiIHZhbHVlPSJsZW5ndGhzIGRlcGVuZGluZyBvbiBjb250YWluZXJzIHRha2UgdGhl
IGNvcnJlY3QgdmFsdWVzIHdoZW4gdGhlIGNvbnRhaW5lciBzaXplIGNobmFnZXMiPgotPG1ldGEg
bmFtZT0iZnV6enkiIGNvbnRlbnQ9IjAtNjA7MC0yNSI+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9y
ZWZ0ZXN0LXdhaXQuanMiPjwvc2NyaXB0PgotPGhlYWQ+Ci0gIDxzdHlsZT4KLSAgICAud3JhcHBl
ciB7Ci0gICAgICBjb250YWluZXI6IHdyYXBwZXIgLyBzaXplOwotICAgICAgd2lkdGg6IDQwMHB4
OwotICAgICAgaGVpZ2h0OiAyMDBweDsKLSAgICB9Ci0gICAgLnJlc2l6ZSB7Ci0gICAgICB3aWR0
aDogMjAwcHg7Ci0gICAgICBoZWlnaHQ6IDEwMHB4OwotICAgIH0KLSAgICA6OmhpZ2hsaWdodCho
aWdobGlnaHQxKSB7Ci0gICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJjcXc7Ci0gICAgICB0
ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lOwotICAgICAgdGV4dC1kZWNvcmF0aW9uLWNv
bG9yOiBncmVlbjsKLSAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDRjcWg7Ci0gICAg
fQotPC9zdHlsZT4KLTwvaGVhZD4KLTxib2R5PgotICA8ZGl2IGlkPSJjb250YWluZXIiIGNsYXNz
PSJ3cmFwcGVyIj4KLSAgICA8ZGl2IGlkPSJoMSI+V2l0aCBjb250YWluZXIgc2l6ZTwvZGl2Pgot
ICA8L2Rpdj4KLSAgPGRpdiBpZD0iaDIiPldpdGhvdXQgY29udGFpbmVyIHNpemU8L2Rpdj4KLSAg
PHNjcmlwdD4KLSAgICBsZXQgcjEgPSBuZXcgUmFuZ2UoKTsKLSAgICByMS5zZXRTdGFydChoMSwg
MCk7Ci0gICAgcjEuc2V0RW5kKGgxLCAxKTsKLSAgICBsZXQgcjIgPSBuZXcgUmFuZ2UoKTsKLSAg
ICByMi5zZXRTdGFydChoMiwgMCk7Ci0gICAgcjIuc2V0RW5kKGgyLCAxKTsKLSAgICBDU1MuaGln
aGxpZ2h0cy5zZXQoImhpZ2hsaWdodDEiLCBuZXcgSGlnaGxpZ2h0KHIxLCByMikpOwotICAgIHJl
cXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7Ci0gICAgICBjb250YWluZXIuY2xhc3NMaXN0LmFk
ZCgncmVzaXplJyk7Ci0gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gdGFrZVNjcmVl
bnNob3QoKSk7Ci0gICAgfSk7Ci0gIDwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1keW5hbWljLWNvbnRhaW5l
ci1tZXRyaWNzLTAwMy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhp
Z2hsaWdodC1keW5hbWljLWNvbnRhaW5lci1tZXRyaWNzLTAwMy1leHBlY3RlZC5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkM2Q3NTMzM2Y4YTAuLjAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGln
aGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWR5bmFtaWMtY29udGFpbmVyLW1l
dHJpY3MtMDAzLWV4cGVjdGVkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLTx0aXRsZT5DU1MgSGlnaGxp
Z2h0IEFQSSBUZXN0IFJlZmVyZW5jZTwvdGl0bGU+Ci08aGVhZD4KLSAgPHN0eWxlPgotICAgIC53
cmFwcGVyIHsKLSAgICAgIHdpZHRoOiAyMDBweDsKLSAgICAgIGhlaWdodDogMTAwcHg7Ci0gICAg
ICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDRweDsKLSAgICAgIHRleHQtZGVjb3JhdGlvbi1saW5l
OiB1bmRlcmxpbmU7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGdyZWVuOwotICAgICAg
dGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogNHB4OwotICAgIH0KLSAgPC9zdHlsZT4KLTwvaGVh
ZD4KLTxib2R5PgotICA8ZGl2IGNsYXNzPSJ3cmFwcGVyIj5XaXRoIGNvbnRhaW5lciBzaXplPC9k
aXY+Ci0gIDxkaXY+U2hvdWxkIGJlIG5vIGhpZ2hsaWdodDwvZGl2PgotPC9ib2R5PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1keW5hbWljLWNvbnRhaW5l
ci1tZXRyaWNzLTAwMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1k
eW5hbWljLWNvbnRhaW5lci1tZXRyaWNzLTAwMy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAzODI0NmExNWFmZmMuLjAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGlu
Zy9jdXN0b20taGlnaGxpZ2h0LWR5bmFtaWMtY29udGFpbmVyLW1ldHJpY3MtMDAzLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxtZXRhIGNoYXJz
ZXQ9IlVURi04Ij4KLTx0aXRsZT5DU1MgSGlnaGxpZ2h0IEFQSSBUZXN0OiBIaWdobGlnaHRzIHVz
aW5nIGR5bmFtaWMgY29udGFpbmVyIHNpemVzPC90aXRsZT4KLTxsaW5rIHJlbD0iaGVscCIgaHJl
Zj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1oaWdobGlnaHQtYXBpLTEvIj4KLTxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1wc2V1ZG8vI2hp
Z2hsaWdodC1zdHlsaW5nIj4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy1jb250YWluLTMvI2NvbnRhaW5lci1sZW5ndGhzIj4KLTxsaW5rIHJlbD0i
bWF0Y2giIGhyZWY9ImN1c3RvbS1oaWdobGlnaHQtY29udGFpbmVyLW1ldHJpY3MtMDAzLXJlZi5o
dG1sIj4KLTxtZXRhIG5hbWU9ImFzc2VydCIgdmFsdWU9Imxlbmd0aHMgZGVwZW5kaW5nIG9uIGNv
bnRhaW5lcnMgdXBkYXRlIGNvcnJlY3RseSBmb3IgYSBoaWdobGlnaHQgZGVmaW5lZCBvbmx5IGlu
c2lkZSBhIGNvbnRhaW5lciBxdWVyeSI+Ci08aGVhZD4KLSAgPHN0eWxlPgotICAgIC53cmFwcGVy
IHsKLSAgICAgIGNvbnRhaW5lcjogd3JhcHBlciAvIHNpemU7Ci0gICAgICB3aWR0aDogNDAwcHg7
Ci0gICAgICBoZWlnaHQ6IDIwMHB4OwotICAgIH0KLSAgICAucmVzaXplIHsKLSAgICAgIHdpZHRo
OiAyMDBweDsKLSAgICAgIGhlaWdodDogMTAwcHg7Ci0gICAgfQotICAgIEBjb250YWluZXIgKHdp
ZHRoIDwgMzAwcHgpIHsKLSAgICAgIDo6aGlnaGxpZ2h0KGhpZ2hsaWdodDEpIHsKLSAgICAgICAg
dGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAyY3F3OwotICAgICAgICB0ZXh0LWRlY29yYXRpb24tbGlu
ZTogdW5kZXJsaW5lOwotICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGdyZWVuOwotICAg
ICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiA0Y3FoOwotICAgICAgfQotICAgIH0KLSAg
PC9zdHlsZT4KLTwvaGVhZD4KLTxib2R5PgotICA8ZGl2IGlkPSJjb250YWluZXIiIGNsYXNzPSJ3
cmFwcGVyIj4KLSAgICA8ZGl2IGlkPSJoMSI+V2l0aCBjb250YWluZXIgc2l6ZTwvZGl2PgotICA8
L2Rpdj4KLSAgPGRpdiBpZD0iaDIiPlNob3VsZCBiZSBubyBoaWdobGlnaHQ8L2Rpdj4KLSAgPHNj
cmlwdD4KLSAgICBsZXQgcjEgPSBuZXcgUmFuZ2UoKTsKLSAgICByMS5zZXRTdGFydChoMSwgMCk7
Ci0gICAgcjEuc2V0RW5kKGgxLCAxKTsKLSAgICBsZXQgcjIgPSBuZXcgUmFuZ2UoKTsKLSAgICBy
Mi5zZXRTdGFydChoMiwgMCk7Ci0gICAgcjIuc2V0RW5kKGgyLCAxKTsKLSAgICBDU1MuaGlnaGxp
Z2h0cy5zZXQoImhpZ2hsaWdodDEiLCBuZXcgSGlnaGxpZ2h0KHIxLCByMikpOwotICAgIHJlcXVl
c3RBbmltYXRpb25GcmFtZSgoKSA9PiB7Ci0gICAgICBjb250YWluZXIuY2xhc3NMaXN0LmFkZCgn
cmVzaXplJyk7Ci0gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gdGFrZVNjcmVlbnNo
b3QoKSk7Ci0gICAgfSk7Ci0gIDwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1h
cGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1keW5hbWljLWNvbnRhaW5lci1tZXRyaWNzLTAw
NC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1keW5h
bWljLWNvbnRhaW5lci1tZXRyaWNzLTAwNC1leHBlY3RlZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBkM2Q3NTMzM2Y4YTAuLjAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9w
YWludGluZy9jdXN0b20taGlnaGxpZ2h0LWR5bmFtaWMtY29udGFpbmVyLW1ldHJpY3MtMDA0LWV4
cGVjdGVkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLTx0aXRsZT5DU1MgSGlnaGxpZ2h0IEFQSSBUZXN0
IFJlZmVyZW5jZTwvdGl0bGU+Ci08aGVhZD4KLSAgPHN0eWxlPgotICAgIC53cmFwcGVyIHsKLSAg
ICAgIHdpZHRoOiAyMDBweDsKLSAgICAgIGhlaWdodDogMTAwcHg7Ci0gICAgICB0ZXh0LXVuZGVy
bGluZS1vZmZzZXQ6IDRweDsKLSAgICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7
Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGdyZWVuOwotICAgICAgdGV4dC1kZWNvcmF0
aW9uLXRoaWNrbmVzczogNHB4OwotICAgIH0KLSAgPC9zdHlsZT4KLTwvaGVhZD4KLTxib2R5Pgot
ICA8ZGl2IGNsYXNzPSJ3cmFwcGVyIj5XaXRoIGNvbnRhaW5lciBzaXplPC9kaXY+Ci0gIDxkaXY+
U2hvdWxkIGJlIG5vIGhpZ2hsaWdodDwvZGl2PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1h
cGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1keW5hbWljLWNvbnRhaW5lci1tZXRyaWNzLTAw
NC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1keW5hbWljLWNvbnRh
aW5lci1tZXRyaWNzLTAwNC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYmRi
ZWEzMmVmY2IuLjAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGln
aGxpZ2h0LWR5bmFtaWMtY29udGFpbmVyLW1ldHJpY3MtMDA0Lmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw0NyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9IlVURi04Ij4K
LTx0aXRsZT5DU1MgSGlnaGxpZ2h0IEFQSSBUZXN0OiBIaWdobGlnaHRzIHVzaW5nIGNvbnRhaW5l
ciBzaXplczwvdGl0bGU+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNz
c3dnLm9yZy9jc3MtaGlnaGxpZ2h0LWFwaS0xLyI+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0
dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtcHNldWRvLyNoaWdobGlnaHQtc3R5bGluZyI+Ci08
bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29udGFp
bi0zLyNjb250YWluZXItbGVuZ3RocyI+Ci08bGluayByZWw9Im1hdGNoIiBocmVmPSJjdXN0b20t
aGlnaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAwMy1yZWYuaHRtbCI+Ci08bWV0YSBuYW1lPSJh
c3NlcnQiIHZhbHVlPSJhIGhpZ2hsaWdodCBvbiBhIGNvbnRhaW5lciBpdHNlbGYgcmVuZGVycyBh
dCB0aGUgY29ycmVjdCBzaXplIHdoZW4gdGhlIGNvbnRhaW5lciBjaGFuZ2VzIj4KLTxoZWFkPgot
ICA8c3R5bGU+Ci0gICAgLndyYXBwZXIgewotICAgICAgY29udGFpbmVyOiB3cmFwcGVyIC8gc2l6
ZTsKLSAgICAgIHdpZHRoOiA0MDBweDsKLSAgICAgIGhlaWdodDogMjAwcHg7Ci0gICAgfQotICAg
IC5yZXNpemUgewotICAgICAgd2lkdGg6IDIwMHB4OwotICAgICAgaGVpZ2h0OiAxMDBweDsKLSAg
ICB9Ci0gICAgQGNvbnRhaW5lciAod2lkdGggPCAzMDBweCkgewotICAgICAgLndyYXBwZXI6Omhp
Z2hsaWdodChoaWdobGlnaHQxKSB7Ci0gICAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMmNx
dzsKLSAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTsKLSAgICAgICAgdGV4
dC1kZWNvcmF0aW9uLWNvbG9yOiBncmVlbjsKLSAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNr
bmVzczogNGNxaDsKLSAgICAgIH0KLSAgICB9Ci0gIDwvc3R5bGU+Ci08L2hlYWQ+Ci08Ym9keT4K
LSAgPGRpdiBpZD0iaDEiIGNsYXNzPSJ3cmFwcGVyIj5XaXRoIGNvbnRhaW5lciBzaXplPC9kaXY+
Ci0gIDxkaXYgaWQ9ImgyIj5TaG91bGQgYmUgbm8gaGlnaGxpZ2h0PC9kaXY+Ci0gIDxzY3JpcHQ+
Ci0gICAgbGV0IHIxID0gbmV3IFJhbmdlKCk7Ci0gICAgcjEuc2V0U3RhcnQoaDEsIDApOwotICAg
IHIxLnNldEVuZChoMSwgMSk7Ci0gICAgbGV0IHIyID0gbmV3IFJhbmdlKCk7Ci0gICAgcjIuc2V0
U3RhcnQoaDIsIDApOwotICAgIHIyLnNldEVuZChoMiwgMSk7Ci0gICAgQ1NTLmhpZ2hsaWdodHMu
c2V0KCJoaWdobGlnaHQxIiwgbmV3IEhpZ2hsaWdodChyMSwgcjIpKTsKLSAgICByZXF1ZXN0QW5p
bWF0aW9uRnJhbWUoKCkgPT4gewotICAgICAgaDEuY2xhc3NMaXN0LmFkZCgncmVzaXplJyk7Ci0g
ICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gdGFrZVNjcmVlbnNob3QoKSk7Ci0gICAg
fSk7Ci0gIDwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkv
cGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1keW5hbWljLWZvbnQtbWV0cmljcy0wMDEtZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtZHluYW1pYy1mb250
LW1ldHJpY3MtMDAxLWV4cGVjdGVkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDc2YjczMTdjYWFiZS4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3Rv
bS1oaWdobGlnaHQtZHluYW1pYy1mb250LW1ldHJpY3MtMDAxLWV4cGVjdGVkLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9
IlVURi04Ij4KLTx0aXRsZT5DU1MgSGlnaGxpZ2h0IEFQSSBUZXN0OiA8L3RpdGxlPgotPGhlYWQ+
Ci0gIDxzdHlsZT4KLSAgICBkaXYgewotICAgICAgbWFyZ2luOiA1MHB4OwotICAgICAgZm9udC1z
aXplOiA0MHB4OwotICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjVlbTsKLSAgICAgIHRl
eHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tY29s
b3I6IGdyZWVuOwotICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMC4yNXJlbTsKLSAg
ICB9Ci0gICAgI2gyIHsKLSAgICAgIGZvbnQtc2l6ZTogMjBweDsKLSAgICB9Ci0gIDwvc3R5bGU+
Ci08L2hlYWQ+Ci08Ym9keT4KLSAgPGRpdiBpZD0iaDEiPkZvbnQgcmVsYXRpdmUgdW5pdHMgd2l0
aCA0MHB4IGZvbnQ8L2Rpdj4KLSAgPGRpdiBpZD0iaDIiPkZvbnQgcmVsYXRpdmUgdW5pdHMgd2l0
aCAyMHB4IGZvbnQ8L2Rpdj4KLTwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWR5bmFtaWMtZm9u
dC1tZXRyaWNzLTAwMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1k
eW5hbWljLWZvbnQtbWV0cmljcy0wMDEuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNGJkZGJjMDJhMWRhLi4wMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3Vz
dG9tLWhpZ2hsaWdodC1keW5hbWljLWZvbnQtbWV0cmljcy0wMDEuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDQ3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPG1ldGEgY2hhcnNldD0iVVRGLTgi
PgotPHRpdGxlPkNTUyBIaWdobGlnaHQgQVBJIFRlc3Q6IDwvdGl0bGU+Ci08bGluayByZWw9Imhl
bHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtaGlnaGxpZ2h0LWFwaS0xLyI+
Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtcHNl
dWRvLyNoaWdobGlnaHQtc3R5bGluZyI+Ci08bGluayByZWw9Im1hdGNoIiBocmVmPSJjdXN0b20t
aGlnaGxpZ2h0LWZvbnQtbWV0cmljcy0wMDEtcmVmLmh0bWwiPgotPG1ldGEgbmFtZT0iYXNzZXJ0
IiB2YWx1ZT0iZm9udHMgcmVsYXRpdmUgdW5pdHMgdGFrZSB0aGUgY29ycmVjdCB2YWx1ZXMsIHdp
dGggY29ycmVjdCBjYXNjYWRlIj4KLTxtZXRhIG5hbWU9ImZ1enp5IiBjb250ZW50PSIwLTgwOzAt
NCI+Ci08aGVhZD4KLSAgPHN0eWxlPgotICAgIDpyb290IHsKLSAgICAgIGZvbnQtc2l6ZTogOHB4
OwotICAgIH0KLSAgICBkaXYgewotICAgICAgbWFyZ2luOiA1MHB4OwotICAgICAgZm9udC1zaXpl
OiAxMHB4OwotICAgIH0KLSAgICA6OmhpZ2hsaWdodChoaWdobGlnaHQxKSB7Ci0gICAgICB0ZXh0
LXVuZGVybGluZS1vZmZzZXQ6IDAuNWVtOwotICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVu
ZGVybGluZTsKLSAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogZ3JlZW47Ci0gICAgICB0ZXh0
LWRlY29yYXRpb24tdGhpY2tuZXNzOiAwLjI1cmVtOwotICAgIH0KLSAgPC9zdHlsZT4KLTwvaGVh
ZD4KLTxib2R5PgotICA8ZGl2IGlkPSJoMSI+Rm9udCByZWxhdGl2ZSB1bml0cyB3aXRoIDQwcHgg
Zm9udDwvZGl2PgotICA8ZGl2IGlkPSJoMiI+Rm9udCByZWxhdGl2ZSB1bml0cyB3aXRoIDIwcHgg
Zm9udDwvZGl2PgotICA8c2NyaXB0PgotICAgIGxldCByMSA9IG5ldyBSYW5nZSgpOwotICAgIHIx
LnNldFN0YXJ0KGgxLCAwKTsKLSAgICByMS5zZXRFbmQoaDEsIDEpOwotICAgIGxldCByMiA9IG5l
dyBSYW5nZSgpOwotICAgIHIyLnNldFN0YXJ0KGgyLCAwKTsKLSAgICByMi5zZXRFbmQoaDIsIDEp
OwotICAgIENTUy5oaWdobGlnaHRzLnNldCgiaGlnaGxpZ2h0MSIsIG5ldyBIaWdobGlnaHQocjEs
IHIyKSk7Ci0gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKLSAgICAgIHJlcXVlc3RB
bmltYXRpb25GcmFtZSgoKSA9PiB7Ci0gICAgICAgIGgxLnN0eWxlLmZvbnRTaXplID0gJzQwcHgn
OwotICAgICAgICBoMi5zdHlsZS5mb250U2l6ZSA9ICcyMHB4JzsKLSAgICAgICAgZG9jdW1lbnQu
ZG9jdW1lbnRFbGVtZW50LnN0eWxlLmZvbnRTaXplID0gJzE2cHgnOwotICAgICAgICByZXF1ZXN0
QW5pbWF0aW9uRnJhbWUoKCkgPT4gdGFrZVNjcmVlbnNob3QoKSk7Ci0gICAgICB9KTsKLSAgICB9
KTsKLSAgPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1keW5h
bWljLWxvZ2ljYWwtbWV0cmljcy0wMDEtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5n
L2N1c3RvbS1oaWdobGlnaHQtZHluYW1pYy1sb2dpY2FsLW1ldHJpY3MtMDAxLWV4cGVjdGVkLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVhZWQxNTgwZjlmNy4uMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtZHluYW1pYy1sb2dp
Y2FsLW1ldHJpY3MtMDAxLWV4cGVjdGVkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLTx0aXRsZT5DU1Mg
SGlnaGxpZ2h0IEFQSSBUZXN0IFJlZmVyZW5jZTwvdGl0bGU+Ci08aGVhZD4KLSAgPHN0eWxlPgot
ICAgIGRpdiB7Ci0gICAgICB3aWR0aDogMTAwcHg7Ci0gICAgICBoZWlnaHQ6IDIwMHB4OwotICAg
ICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjsKLSAgICAgIGxpbmUtaGVpZ2h0OiAzZW07Ci0g
ICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDFzdmI7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24t
bGluZTogdW5kZXJsaW5lOwotICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBncmVlbjsKLSAg
ICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDFzdmk7Ci0gICAgfQotPC9zdHlsZT4KLTwv
aGVhZD4KLTxib2R5PgotICA8ZGl2IGlkPSJoMSI+V2l0aCB2aWV3cG9ydCBzaXplPC9kaXY+Ci08
L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWR5
bmFtaWMtbG9naWNhbC1tZXRyaWNzLTAwMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9t
LWhpZ2hsaWdodC1keW5hbWljLWxvZ2ljYWwtbWV0cmljcy0wMDEuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZmY1MmFlZDZhYjE3Li4wMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1h
cGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1keW5hbWljLWxvZ2ljYWwtbWV0cmljcy0wMDEu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPG1l
dGEgY2hhcnNldD0iVVRGLTgiPgotPHRpdGxlPkNTUyBIaWdobGlnaHQgQVBJIFRlc3Q6IExlbmd0
aCByZWxhdGl2ZSB0byBhIGNoYW5naW5nIGxvZ2ljYWwgZGlyZWN0aW9uPC90aXRsZT4KLTxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1oaWdobGlnaHQt
YXBpLTEvIj4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3Jn
L2Nzcy1wc2V1ZG8vI2hpZ2hsaWdodC1zdHlsaW5nIj4KLTxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9
ImN1c3RvbS1oaWdobGlnaHQtbG9naWNhbC1tZXRyaWNzLTAwMi1yZWYuaHRtbCI+Ci08bWV0YSBu
YW1lPSJhc3NlcnQiIHZhbHVlPSJsZW5ndGhzIGRlcGVuZGluZyBvbiB2aWV3cG9ydHMgYW5kIGxv
Z2ljYWwgZGlyZWN0aW9uIHdoZW4gdGhlIGRpcmVjdGlvbiBjaGFuZ2VzIj4KLTxtZXRhIG5hbWU9
ImZ1enp5IiBjb250ZW50PSIwLTMwOzAtMTAiPgotPGhlYWQ+Ci0gIDxzdHlsZT4KLSAgICBkaXYg
ewotICAgICAgd2lkdGg6IDEwMHB4OwotICAgICAgaGVpZ2h0OiAyMDBweDsKLSAgICAgIGxpbmUt
aGVpZ2h0OiAzZW07Ci0gICAgfQotICAgIC52ZXJ0aWNhbCB7Ci0gICAgICB3cml0aW5nLW1vZGU6
IHZlcnRpY2FsLWxyOwotICAgIH0KLSAgICA6OmhpZ2hsaWdodChoaWdobGlnaHQxKSB7Ci0gICAg
ICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDFzdmI7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tbGlu
ZTogdW5kZXJsaW5lOwotICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBncmVlbjsKLSAgICAg
IHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDFzdmk7Ci0gICAgfQotPC9zdHlsZT4KLTwvaGVh
ZD4KLTxib2R5PgotICA8ZGl2IGlkPSJoMSI+V2l0aCB2aWV3cG9ydCBzaXplPC9kaXY+Ci0gIDxz
Y3JpcHQ+Ci0gICAgbGV0IHIxID0gbmV3IFJhbmdlKCk7Ci0gICAgcjEuc2V0U3RhcnQoaDEsIDAp
OwotICAgIHIxLnNldEVuZChoMSwgMSk7Ci0gICAgQ1NTLmhpZ2hsaWdodHMuc2V0KCJoaWdobGln
aHQxIiwgbmV3IEhpZ2hsaWdodChyMSkpOwotICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9
PiB7Ci0gICAgICBoMS5jbGFzc0xpc3QuYWRkKCd2ZXJ0aWNhbCcpOwotICAgICAgcmVxdWVzdEFu
aW1hdGlvbkZyYW1lKCgpID0+IHRha2VTY3JlZW5zaG90KCkpOwotICAgIH0pOwotICA8L3Njcmlw
dD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGln
aHQtZm9udC1tZXRyaWNzLTAwMS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3Vz
dG9tLWhpZ2hsaWdodC1mb250LW1ldHJpY3MtMDAxLWV4cGVjdGVkLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDc2YjczMTdjYWFiZS4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQt
YXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtZm9udC1tZXRyaWNzLTAwMS1leHBlY3RlZC5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08bWV0
YSBjaGFyc2V0PSJVVEYtOCI+Ci08dGl0bGU+Q1NTIEhpZ2hsaWdodCBBUEkgVGVzdDogPC90aXRs
ZT4KLTxoZWFkPgotICA8c3R5bGU+Ci0gICAgZGl2IHsKLSAgICAgIG1hcmdpbjogNTBweDsKLSAg
ICAgIGZvbnQtc2l6ZTogNDBweDsKLSAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC41ZW07
Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lOwotICAgICAgdGV4dC1kZWNv
cmF0aW9uLWNvbG9yOiBncmVlbjsKLSAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDAu
MjVyZW07Ci0gICAgfQotICAgICNoMiB7Ci0gICAgICBmb250LXNpemU6IDIwcHg7Ci0gICAgfQot
ICA8L3N0eWxlPgotPC9oZWFkPgotPGJvZHk+Ci0gIDxkaXYgaWQ9ImgxIj5Gb250IHJlbGF0aXZl
IHVuaXRzIHdpdGggNDBweCBmb250PC9kaXY+Ci0gIDxkaXYgaWQ9ImgyIj5Gb250IHJlbGF0aXZl
IHVuaXRzIHdpdGggMjBweCBmb250PC9kaXY+Ci08L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1m
b250LW1ldHJpY3MtMDAxLXJlZi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hs
aWdodC1mb250LW1ldHJpY3MtMDAxLXJlZi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA3NmI3MzE3Y2FhYmUuLjAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9j
dXN0b20taGlnaGxpZ2h0LWZvbnQtbWV0cmljcy0wMDEtcmVmLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwyMiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9IlVURi04Ij4K
LTx0aXRsZT5DU1MgSGlnaGxpZ2h0IEFQSSBUZXN0OiA8L3RpdGxlPgotPGhlYWQ+Ci0gIDxzdHls
ZT4KLSAgICBkaXYgewotICAgICAgbWFyZ2luOiA1MHB4OwotICAgICAgZm9udC1zaXplOiA0MHB4
OwotICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjVlbTsKLSAgICAgIHRleHQtZGVjb3Jh
dGlvbi1saW5lOiB1bmRlcmxpbmU7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGdyZWVu
OwotICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMC4yNXJlbTsKLSAgICB9Ci0gICAg
I2gyIHsKLSAgICAgIGZvbnQtc2l6ZTogMjBweDsKLSAgICB9Ci0gIDwvc3R5bGU+Ci08L2hlYWQ+
Ci08Ym9keT4KLSAgPGRpdiBpZD0iaDEiPkZvbnQgcmVsYXRpdmUgdW5pdHMgd2l0aCA0MHB4IGZv
bnQ8L2Rpdj4KLSAgPGRpdiBpZD0iaDIiPkZvbnQgcmVsYXRpdmUgdW5pdHMgd2l0aCAyMHB4IGZv
bnQ8L2Rpdj4KLTwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGln
aGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWZvbnQtbWV0cmljcy0wMDEuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1o
aWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtZm9udC1tZXRyaWNzLTAwMS5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NTU0MDljNmIxOGQuLjAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWZvbnQtbWV0cmlj
cy0wMDEuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotPHRpdGxlPkNTUyBIaWdobGlnaHQgQVBJIFRlc3Q6
IDwvdGl0bGU+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9y
Zy9jc3MtaGlnaGxpZ2h0LWFwaS0xLyI+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8v
ZHJhZnRzLmNzc3dnLm9yZy9jc3MtcHNldWRvLyNoaWdobGlnaHQtc3R5bGluZyI+Ci08bGluayBy
ZWw9Im1hdGNoIiBocmVmPSJjdXN0b20taGlnaGxpZ2h0LWZvbnQtbWV0cmljcy0wMDEtcmVmLmh0
bWwiPgotPG1ldGEgbmFtZT0iYXNzZXJ0IiB2YWx1ZT0ibGVuZ3RocyBkZXBlbmRpbmcgb24gZm9u
dHMgdGFrZSB0aGUgY29ycmVjdCB2YWx1ZXMgaW4gYSB1bml2ZXJzYWwgaGlnaGxpZ2h0Ij4KLTxt
ZXRhIG5hbWU9ImZ1enp5IiBjb250ZW50PSIwLTgwOzAtNCI+Ci08aGVhZD4KLSAgPHN0eWxlPgot
ICAgIDpyb290IHsKLSAgICAgIGZvbnQtc2l6ZTogMTZweDsKLSAgICB9Ci0gICAgZGl2IHsKLSAg
ICAgIG1hcmdpbjogNTBweDsKLSAgICAgIGZvbnQtc2l6ZTogNDBweDsKLSAgICB9Ci0gICAgI2gy
IHsKLSAgICAgIGZvbnQtc2l6ZTogMjBweDsKLSAgICB9Ci0gICAgOjpoaWdobGlnaHQoaGlnaGxp
Z2h0MSkgewotICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjVlbTsKLSAgICAgIHRleHQt
ZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6
IGdyZWVuOwotICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMC4yNXJlbTsKLSAgICB9
Ci0gIDwvc3R5bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLSAgPGRpdiBpZD0iaDEiPkZvbnQgcmVsYXRp
dmUgdW5pdHMgd2l0aCA0MHB4IGZvbnQ8L2Rpdj4KLSAgPGRpdiBpZD0iaDIiPkZvbnQgcmVsYXRp
dmUgdW5pdHMgd2l0aCAyMHB4IGZvbnQ8L2Rpdj4KLSAgPHNjcmlwdD4KLSAgICBsZXQgcjEgPSBu
ZXcgUmFuZ2UoKTsKLSAgICByMS5zZXRTdGFydChoMSwgMCk7Ci0gICAgcjEuc2V0RW5kKGgxLCAx
KTsKLSAgICBsZXQgcjIgPSBuZXcgUmFuZ2UoKTsKLSAgICByMi5zZXRTdGFydChoMiwgMCk7Ci0g
ICAgcjIuc2V0RW5kKGgyLCAxKTsKLSAgICBDU1MuaGlnaGxpZ2h0cy5zZXQoImhpZ2hsaWdodDEi
LCBuZXcgSGlnaGxpZ2h0KHIxLCByMikpOwotICA8L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGlu
Zy9jdXN0b20taGlnaGxpZ2h0LWZvbnQtbWV0cmljcy0wMDItZXhwZWN0ZWQuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQt
YXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtZm9udC1tZXRyaWNzLTAwMi1leHBlY3RlZC5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxM2IzOGQ4YmJmOGEuLjAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWZvbnQtbWV0cmlj
cy0wMDItZXhwZWN0ZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotPHRpdGxlPkNTUyBIaWdobGlnaHQg
QVBJIFRlc3Q6IDwvdGl0bGU+Ci08aGVhZD4KLSAgPHN0eWxlPgotICAgIGRpdiB7Ci0gICAgICBt
YXJnaW46IDQwcHg7Ci0gICAgICBmb250LXNpemU6IDIwcHg7Ci0gICAgfQotICAgICNoMSB7Ci0g
ICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDEwcHg7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24t
bGluZTogdW5kZXJsaW5lOwotICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBncmVlbjsKLSAg
ICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDRweDsKLSAgICB9Ci0gICAgI2gyIHsKLSAg
ICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMjBweDsKLSAgICAgIHRleHQtZGVjb3JhdGlvbi1s
aW5lOiB1bmRlcmxpbmU7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGJsdWU7Ci0gICAg
ICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAycHg7Ci0gICAgfQotICA8L3N0eWxlPgotPC9o
ZWFkPgotPGJvZHk+Ci0gIDxkaXYgaWQ9ImgxIj5BIGdyZWVuIDEwcHggb2Zmc2V0IHVuZGVybGlu
ZSA0cHggdGhpY2s8L2Rpdj4KLSAgPGRpdiBpZD0iaDIiPkEgYmx1ZSAyMHB4IG9mZnNldCB1bmRl
cmxpbmUgMnB4IHRoaWNrPC9kaXY+Ci08L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1mb250LW1l
dHJpY3MtMDAyLXJlZi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1m
b250LW1ldHJpY3MtMDAyLXJlZi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAx
M2IzOGQ4YmJmOGEuLjAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20t
aGlnaGxpZ2h0LWZvbnQtbWV0cmljcy0wMDItcmVmLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwy
NyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLTx0aXRs
ZT5DU1MgSGlnaGxpZ2h0IEFQSSBUZXN0OiA8L3RpdGxlPgotPGhlYWQ+Ci0gIDxzdHlsZT4KLSAg
ICBkaXYgewotICAgICAgbWFyZ2luOiA0MHB4OwotICAgICAgZm9udC1zaXplOiAyMHB4OwotICAg
IH0KLSAgICAjaDEgewotICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAxMHB4OwotICAgICAg
dGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTsKLSAgICAgIHRleHQtZGVjb3JhdGlvbi1j
b2xvcjogZ3JlZW47Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiA0cHg7Ci0gICAg
fQotICAgICNoMiB7Ci0gICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDIwcHg7Ci0gICAgICB0
ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lOwotICAgICAgdGV4dC1kZWNvcmF0aW9uLWNv
bG9yOiBibHVlOwotICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMnB4OwotICAgIH0K
LSAgPC9zdHlsZT4KLTwvaGVhZD4KLTxib2R5PgotICA8ZGl2IGlkPSJoMSI+QSBncmVlbiAxMHB4
IG9mZnNldCB1bmRlcmxpbmUgNHB4IHRoaWNrPC9kaXY+Ci0gIDxkaXYgaWQ9ImgyIj5BIGJsdWUg
MjBweCBvZmZzZXQgdW5kZXJsaW5lIDJweCB0aGljazwvZGl2PgotPC9ib2R5PgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1o
aWdobGlnaHQtZm9udC1tZXRyaWNzLTAwMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9t
LWhpZ2hsaWdodC1mb250LW1ldHJpY3MtMDAyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDU4YjJkYjVjZTRlOS4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5n
L2N1c3RvbS1oaWdobGlnaHQtZm9udC1tZXRyaWNzLTAwMi5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNDUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci08
dGl0bGU+Q1NTIEhpZ2hsaWdodCBBUEkgVGVzdDogPC90aXRsZT4KLTxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1oaWdobGlnaHQtYXBpLTEvIj4KLTxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1wc2V1ZG8v
I2hpZ2hsaWdodC1zdHlsaW5nIj4KLTxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9ImN1c3RvbS1oaWdo
bGlnaHQtZm9udC1tZXRyaWNzLTAwMi1yZWYuaHRtbCI+Ci08bWV0YSBuYW1lPSJhc3NlcnQiIHZh
bHVlPSJmb250cyByZWxhdGl2ZSB1bml0cyB0YWtlIHRoZSBjb3JyZWN0IHZhbHVlcywgd2l0aCBj
b3JyZWN0IGNhc2NhZGUiPgotPG1ldGEgbmFtZT0iZnV6enkiIGNvbnRlbnQ9IjAtMTI4OzAtOCI+
Ci08aGVhZD4KLSAgPHN0eWxlPgotICAgIDpyb290IHsKLSAgICAgIGZvbnQtc2l6ZTogMTZweDsK
LSAgICB9Ci0gICAgZGl2IHsKLSAgICAgIG1hcmdpbjogNDBweDsKLSAgICAgIGZvbnQtc2l6ZTog
MjBweDsKLSAgICB9Ci0gICAgOjpoaWdobGlnaHQoaGlnaGxpZ2h0MSkgewotICAgICAgdGV4dC11
bmRlcmxpbmUtb2Zmc2V0OiAwLjVlbTsKLSAgICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRl
cmxpbmU7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGdyZWVuOwotICAgICAgdGV4dC1k
ZWNvcmF0aW9uLXRoaWNrbmVzczogMC4yNXJlbTsKLSAgICB9Ci0gICAgI2gyOjpoaWdobGlnaHQo
aGlnaGxpZ2h0MSkgewotICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAxLjBlbTsKLSAgICAg
IHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24t
Y29sb3I6IGJsdWU7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAwLjEyNXJlbTsK
LSAgICB9Ci0gIDwvc3R5bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLSAgPGRpdiBpZD0iaDEiPkEgZ3Jl
ZW4gMTBweCBvZmZzZXQgdW5kZXJsaW5lIDRweCB0aGljazwvZGl2PgotICA8ZGl2IGlkPSJoMiI+
QSBibHVlIDIwcHggb2Zmc2V0IHVuZGVybGluZSAycHggdGhpY2s8L2Rpdj4KLSAgPHNjcmlwdD4K
LSAgICBsZXQgcjEgPSBuZXcgUmFuZ2UoKTsKLSAgICByMS5zZXRTdGFydChoMSwgMCk7Ci0gICAg
cjEuc2V0RW5kKGgxLCAxKTsKLSAgICBsZXQgcjIgPSBuZXcgUmFuZ2UoKTsKLSAgICByMi5zZXRT
dGFydChoMiwgMCk7Ci0gICAgcjIuc2V0RW5kKGgyLCAxKTsKLSAgICBDU1MuaGlnaGxpZ2h0cy5z
ZXQoImhpZ2hsaWdodDEiLCBuZXcgSGlnaGxpZ2h0KHIxLCByMikpOwotICA8L3NjcmlwdD4KLTwv
Ym9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxp
Z2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWZvbnQtbWV0cmljcy0wMDMtZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtZm9udC1tZXRyaWNz
LTAwMy1leHBlY3RlZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMWEwNGIw
ODAzYTAuLjAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxp
Z2h0LWZvbnQtbWV0cmljcy0wMDMtZXhwZWN0ZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE4
ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotPHRpdGxl
PkNTUyBIaWdobGlnaHQgQVBJIFRlc3Q6IDwvdGl0bGU+Ci08aGVhZD4KLSAgPHN0eWxlPgotICAg
IGRpdiB7Ci0gICAgICBtYXJnaW46IDQwcHg7Ci0gICAgICBmb250LXNpemU6IDIwcHg7Ci0gICAg
ICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDEwcHg7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tbGlu
ZTogdW5kZXJsaW5lIG92ZXJsaW5lOwotICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBncmVl
bjsKLSAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDRweDsKLSAgICB9Ci0gIDwvc3R5
bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLSAgPGRpdiBpZD0iaDEiPkEgZ3JlZW4gMTBweCBvZmZzZXQg
dW5kZXJsaW5lIDRweCB0aGljayBhbmQgZ3JlZW4gb3ZlcmxpbmUgNHB4IHRoaWNrPC9kaXY+Ci08
L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkv
cGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1mb250LW1ldHJpY3MtMDAzLXJlZi5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdo
dC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1mb250LW1ldHJpY3MtMDAzLXJlZi5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMWEwNGIwODAzYTAuLjAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWZvbnQtbWV0cmljcy0w
MDMtcmVmLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLTx0aXRsZT5DU1MgSGlnaGxpZ2h0IEFQSSBUZXN0
OiA8L3RpdGxlPgotPGhlYWQ+Ci0gIDxzdHlsZT4KLSAgICBkaXYgewotICAgICAgbWFyZ2luOiA0
MHB4OwotICAgICAgZm9udC1zaXplOiAyMHB4OwotICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0
OiAxMHB4OwotICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZSBvdmVybGluZTsK
LSAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogZ3JlZW47Ci0gICAgICB0ZXh0LWRlY29yYXRp
b24tdGhpY2tuZXNzOiA0cHg7Ci0gICAgfQotICA8L3N0eWxlPgotPC9oZWFkPgotPGJvZHk+Ci0g
IDxkaXYgaWQ9ImgxIj5BIGdyZWVuIDEwcHggb2Zmc2V0IHVuZGVybGluZSA0cHggdGhpY2sgYW5k
IGdyZWVuIG92ZXJsaW5lIDRweCB0aGljazwvZGl2PgotPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGln
aHQtZm9udC1tZXRyaWNzLTAwMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hs
aWdodC1mb250LW1ldHJpY3MtMDAzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGQxMDM1ZWQxMzBlMS4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3Rv
bS1oaWdobGlnaHQtZm9udC1tZXRyaWNzLTAwMy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDIg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci08dGl0bGU+
Q1NTIEhpZ2hsaWdodCBBUEkgVGVzdDogPC90aXRsZT4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0i
aHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1oaWdobGlnaHQtYXBpLTEvIj4KLTxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1wc2V1ZG8vI2hpZ2hs
aWdodC1zdHlsaW5nIj4KLTxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9ImN1c3RvbS1oaWdobGlnaHQt
Zm9udC1tZXRyaWNzLTAwMy1yZWYuaHRtbCI+Ci08bWV0YSBuYW1lPSJhc3NlcnQiIHZhbHVlPSJj
b21iaW5pbmcgYSBmb250IHJlbGF0aXZlIGhpZ2hsaWdodCB3aXRoIGFub3RoZXIgaGlnaGxpZ2h0
Ij4KLTxtZXRhIG5hbWU9ImZ1enp5IiBjb250ZW50PSIwLTEyMDswLTgiPgotPGhlYWQ+Ci0gIDxz
dHlsZT4KLSAgICA6cm9vdCB7Ci0gICAgICBmb250LXNpemU6IDE2cHg7Ci0gICAgfQotICAgIGRp
diB7Ci0gICAgICBtYXJnaW46IDQwcHg7Ci0gICAgICBmb250LXNpemU6IDIwcHg7Ci0gICAgfQot
ICAgIDo6c2VsZWN0aW9uIHsKLSAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Owot
ICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjVlbTsKLSAgICAgIHRleHQtZGVjb3JhdGlv
bi1saW5lOiB1bmRlcmxpbmU7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGdyZWVuOwot
ICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMC4yNXJlbTsKLSAgICB9Ci0gICAgOjpo
aWdobGlnaHQoaGlnaGxpZ2h0MSkgewotICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IG92ZXJs
aW5lOwotICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBncmVlbjsKLSAgICAgIHRleHQtZGVj
b3JhdGlvbi10aGlja25lc3M6IDRweDsKLSAgICB9Ci0gIDwvc3R5bGU+Ci08L2hlYWQ+Ci08Ym9k
eT4KLSAgPGRpdiBpZD0iaDEiPkEgZ3JlZW4gMTBweCBvZmZzZXQgdW5kZXJsaW5lIDRweCB0aGlj
ayBhbmQgZ3JlZW4gb3ZlcmxpbmUgNHB4IHRoaWNrPC9kaXY+Ci0gIDxzY3JpcHQ+Ci0gICAgZ2V0
U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oaDEpOwotICAgIGxldCByMSA9IG5ldyBSYW5n
ZSgpOwotICAgIHIxLnNldFN0YXJ0KGgxLCAwKTsKLSAgICByMS5zZXRFbmQoaDEsIDEpOwotICAg
IENTUy5oaWdobGlnaHRzLnNldCgiaGlnaGxpZ2h0MSIsIG5ldyBIaWdobGlnaHQocjEpKTsKLSAg
PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1mb250LW1ldHJp
Y3MtMDA0LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0
LWZvbnQtbWV0cmljcy0wMDQtZXhwZWN0ZWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYzFhMDRiMDgwM2EwLi4wMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcv
Y3VzdG9tLWhpZ2hsaWdodC1mb250LW1ldHJpY3MtMDA0LWV4cGVjdGVkLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwxOCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9IlVU
Ri04Ij4KLTx0aXRsZT5DU1MgSGlnaGxpZ2h0IEFQSSBUZXN0OiA8L3RpdGxlPgotPGhlYWQ+Ci0g
IDxzdHlsZT4KLSAgICBkaXYgewotICAgICAgbWFyZ2luOiA0MHB4OwotICAgICAgZm9udC1zaXpl
OiAyMHB4OwotICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAxMHB4OwotICAgICAgdGV4dC1k
ZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZSBvdmVybGluZTsKLSAgICAgIHRleHQtZGVjb3JhdGlv
bi1jb2xvcjogZ3JlZW47Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiA0cHg7Ci0g
ICAgfQotICA8L3N0eWxlPgotPC9oZWFkPgotPGJvZHk+Ci0gIDxkaXYgaWQ9ImgxIj5BIGdyZWVu
IDEwcHggb2Zmc2V0IHVuZGVybGluZSA0cHggdGhpY2sgYW5kIGdyZWVuIG92ZXJsaW5lIDRweCB0
aGljazwvZGl2PgotPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1o
aWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtZm9udC1tZXRyaWNzLTAwNC1y
ZWYuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtZm9udC1tZXRyaWNz
LTAwNC1yZWYuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzFhMDRiMDgwM2Ew
Li4wMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1m
b250LW1ldHJpY3MtMDA0LXJlZi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci08dGl0bGU+Q1NTIEhpZ2hs
aWdodCBBUEkgVGVzdDogPC90aXRsZT4KLTxoZWFkPgotICA8c3R5bGU+Ci0gICAgZGl2IHsKLSAg
ICAgIG1hcmdpbjogNDBweDsKLSAgICAgIGZvbnQtc2l6ZTogMjBweDsKLSAgICAgIHRleHQtdW5k
ZXJsaW5lLW9mZnNldDogMTBweDsKLSAgICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxp
bmUgb3ZlcmxpbmU7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGdyZWVuOwotICAgICAg
dGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogNHB4OwotICAgIH0KLSAgPC9zdHlsZT4KLTwvaGVh
ZD4KLTxib2R5PgotICA8ZGl2IGlkPSJoMSI+QSBncmVlbiAxMHB4IG9mZnNldCB1bmRlcmxpbmUg
NHB4IHRoaWNrIGFuZCBncmVlbiBvdmVybGluZSA0cHggdGhpY2s8L2Rpdj4KLTwvYm9keT4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9j
dXN0b20taGlnaGxpZ2h0LWZvbnQtbWV0cmljcy0wMDQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5n
L2N1c3RvbS1oaWdobGlnaHQtZm9udC1tZXRyaWNzLTAwNC5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBmZWM3MGU5N2QzMTIuLjAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9w
YWludGluZy9jdXN0b20taGlnaGxpZ2h0LWZvbnQtbWV0cmljcy0wMDQuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDM4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPG1ldGEgY2hhcnNldD0iVVRG
LTgiPgotPHRpdGxlPkNTUyBIaWdobGlnaHQgQVBJIFRlc3Q6IDwvdGl0bGU+Ci08bGluayByZWw9
ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtaGlnaGxpZ2h0LWFwaS0x
LyI+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3Mt
cHNldWRvLyNoaWdobGlnaHQtc3R5bGluZyI+Ci08bGluayByZWw9Im1hdGNoIiBocmVmPSJjdXN0
b20taGlnaGxpZ2h0LWZvbnQtbWV0cmljcy0wMDMtcmVmLmh0bWwiPgotPG1ldGEgbmFtZT0iYXNz
ZXJ0IiB2YWx1ZT0iY29tYmluaW5nIGEgZm9udCByZWxhdGl2ZSBoaWdobGlnaHQgd2l0aCBhbm90
aGVyIGhpZ2hsaWdodCI+Ci08bWV0YSBuYW1lPSJmdXp6eSIgY29udGVudD0iMC0xMjA7MC04Ij4K
LTxoZWFkPgotICA8c3R5bGU+Ci0gICAgZGl2IHsKLSAgICAgIG1hcmdpbjogNDBweDsKLSAgICAg
IGZvbnQtc2l6ZTogMjBweDsKLSAgICB9Ci0gICAgOjpoaWdobGlnaHQoaGlnaGxpZ2h0MSkgewot
ICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjVlbTsKLSAgICAgIHRleHQtZGVjb3JhdGlv
bi1saW5lOiB1bmRlcmxpbmU7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGdyZWVuOwot
ICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMC4yNXJlbTsKLSAgICB9Ci0gICAgOjpo
aWdobGlnaHQoaGlnaGxpZ2h0MikgewotICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IG92ZXJs
aW5lOwotICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBncmVlbjsKLSAgICAgIHRleHQtZGVj
b3JhdGlvbi10aGlja25lc3M6IDRweDsKLSAgICB9Ci0gIDwvc3R5bGU+Ci08L2hlYWQ+Ci08Ym9k
eT4KLSAgPGRpdiBpZD0iaDEiPkEgZ3JlZW4gMTBweCBvZmZzZXQgdW5kZXJsaW5lIDRweCB0aGlj
ayBhbmQgZ3JlZW4gb3ZlcmxpbmUgNHB4IHRoaWNrPC9kaXY+Ci0gIDxzY3JpcHQ+Ci0gICAgbGV0
IHIxID0gbmV3IFJhbmdlKCk7Ci0gICAgcjEuc2V0U3RhcnQoaDEsIDApOwotICAgIHIxLnNldEVu
ZChoMSwgMSk7Ci0gICAgQ1NTLmhpZ2hsaWdodHMuc2V0KCJoaWdobGlnaHQxIiwgbmV3IEhpZ2hs
aWdodChyMSkpOwotICAgIENTUy5oaWdobGlnaHRzLnNldCgiaGlnaGxpZ2h0MiIsIG5ldyBIaWdo
bGlnaHQocjEpKTsKLSAgPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hs
aWdodC1mb250LW1ldHJpY3MtMDA1LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9j
dXN0b20taGlnaGxpZ2h0LWZvbnQtbWV0cmljcy0wMDUtZXhwZWN0ZWQuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYmJmYzk1MjExNmYyLi4wMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdo
dC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1mb250LW1ldHJpY3MtMDA1LWV4cGVjdGVk
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxt
ZXRhIGNoYXJzZXQ9IlVURi04Ij4KLTx0aXRsZT5DU1MgSGlnaGxpZ2h0IEFQSSBUZXN0OiA8L3Rp
dGxlPgotPGhlYWQ+Ci0gIDxzdHlsZT4KLSAgICBkaXYgewotICAgICAgbWFyZ2luOiA1MHB4Owot
ICAgICAgZm9udC1zaXplOiAyMHB4OwotICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjVl
bTsKLSAgICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7Ci0gICAgICB0ZXh0LWRl
Y29yYXRpb24tY29sb3I6IGdyZWVuOwotICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczog
MC4yNXJlbTsKLSAgICB9Ci0gIDwvc3R5bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLSAgPGRpdiBpZD0i
aDEiPkZvbnQgcmVsYXRpdmUgdW5pdHMgd2l0aCAyMHB4IGZvbnQ8L2Rpdj4KLSAgPGRpdiBpZD0i
aDIiPkZvbnQgcmVsYXRpdmUgdW5pdHMgd2l0aCAyMHB4IGZvbnQ8L2Rpdj4KLTwvYm9keT4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9j
dXN0b20taGlnaGxpZ2h0LWZvbnQtbWV0cmljcy0wMDUtcmVmLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWlu
dGluZy9jdXN0b20taGlnaGxpZ2h0LWZvbnQtbWV0cmljcy0wMDUtcmVmLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJiZmM5NTIxMTZmMi4uMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGln
aHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtZm9udC1tZXRyaWNzLTAwNS1yZWYuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPG1ldGEg
Y2hhcnNldD0iVVRGLTgiPgotPHRpdGxlPkNTUyBIaWdobGlnaHQgQVBJIFRlc3Q6IDwvdGl0bGU+
Ci08aGVhZD4KLSAgPHN0eWxlPgotICAgIGRpdiB7Ci0gICAgICBtYXJnaW46IDUwcHg7Ci0gICAg
ICBmb250LXNpemU6IDIwcHg7Ci0gICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuNWVtOwot
ICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTsKLSAgICAgIHRleHQtZGVjb3Jh
dGlvbi1jb2xvcjogZ3JlZW47Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAwLjI1
cmVtOwotICAgIH0KLSAgPC9zdHlsZT4KLTwvaGVhZD4KLTxib2R5PgotICA8ZGl2IGlkPSJoMSI+
Rm9udCByZWxhdGl2ZSB1bml0cyB3aXRoIDIwcHggZm9udDwvZGl2PgotICA8ZGl2IGlkPSJoMiI+
Rm9udCByZWxhdGl2ZSB1bml0cyB3aXRoIDIwcHggZm9udDwvZGl2PgotPC9ib2R5PgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3Rv
bS1oaWdobGlnaHQtZm9udC1tZXRyaWNzLTAwNS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3Vz
dG9tLWhpZ2hsaWdodC1mb250LW1ldHJpY3MtMDA1Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDViMmViNjU3NzMwYy4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50
aW5nL2N1c3RvbS1oaWdobGlnaHQtZm9udC1tZXRyaWNzLTAwNS5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsNDkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbCBjbGFzcz0icmVmdGVzdC13
YWl0Ij4KLTxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLTx0aXRsZT5DU1MgSGlnaGxpZ2h0IEFQSSBU
ZXN0OiA8L3RpdGxlPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3
Zy5vcmcvY3NzLWhpZ2hsaWdodC1hcGktMS8iPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRw
czovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXBzZXVkby8jaGlnaGxpZ2h0LXN0eWxpbmciPgotPGxp
bmsgcmVsPSJtYXRjaCIgaHJlZj0iY3VzdG9tLWhpZ2hsaWdodC1mb250LW1ldHJpY3MtMDA1LXJl
Zi5odG1sIj4KLTxtZXRhIG5hbWU9ImFzc2VydCIgdmFsdWU9ImR5bm1hbWljIGZvbnQgc2l6ZSBj
aGFuZ2VzIHdpdGggaGlnaGxpZ2h0cyBhbmQgZm9udCByZWxhdGl2ZSBtZXRyaWNzIj4KLTxtZXRh
IG5hbWU9ImZ1enp5IiBjb250ZW50PSIwLTgwOzAtMTAiPgotPHNjcmlwdCBzcmM9Ii9jb21tb24v
cmVmdGVzdC13YWl0LmpzIj48L3NjcmlwdD4KLTxoZWFkPgotICA8c3R5bGU+Ci0gICAgOnJvb3Qg
ewotICAgICAgZm9udC1zaXplOiAxNnB4OwotICAgIH0KLSAgICBkaXYgewotICAgICAgbWFyZ2lu
OiA1MHB4OwotICAgICAgZm9udC1zaXplOiA0MHB4OwotICAgIH0KLSAgICAjaDIgewotICAgICAg
Zm9udC1zaXplOiAyMHB4OwotICAgIH0KLSAgICA6OmhpZ2hsaWdodChoaWdobGlnaHQxKSB7Ci0g
ICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuNWVtOwotICAgICAgdGV4dC1kZWNvcmF0aW9u
LWxpbmU6IHVuZGVybGluZTsKLSAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogZ3JlZW47Ci0g
ICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAwLjI1cmVtOwotICAgIH0KLSAgPC9zdHls
ZT4KLTwvaGVhZD4KLTxib2R5PgotICA8ZGl2IGlkPSJoMSI+Rm9udCByZWxhdGl2ZSB1bml0cyB3
aXRoIDIwcHggZm9udDwvZGl2PgotICA8ZGl2IGlkPSJoMiI+Rm9udCByZWxhdGl2ZSB1bml0cyB3
aXRoIDIwcHggZm9udDwvZGl2PgotICA8c2NyaXB0PgotICAgIGxldCByMSA9IG5ldyBSYW5nZSgp
OwotICAgIHIxLnNldFN0YXJ0KGgxLCAwKTsKLSAgICByMS5zZXRFbmQoaDEsIDEpOwotICAgIGxl
dCByMiA9IG5ldyBSYW5nZSgpOwotICAgIHIyLnNldFN0YXJ0KGgyLCAwKTsKLSAgICByMi5zZXRF
bmQoaDIsIDEpOwotICAgIENTUy5oaWdobGlnaHRzLnNldCgiaGlnaGxpZ2h0MSIsIG5ldyBIaWdo
bGlnaHQocjEsIHIyKSk7Ci0KLSAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gewotICAg
ICAgaDEuc3R5bGUuZm9udFNpemUgPSAiMjBweCI7Ci0gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJh
bWUoKCkgPT4geyB0YWtlU2NyZWVuc2hvdCgpIH0KLSAgICApfSk7Ci0gIDwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGln
aHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtbG9naWNhbC1tZXRyaWNzLTAwMS1leHBl
Y3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1sb2dpY2FsLW1l
dHJpY3MtMDAxLWV4cGVjdGVkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA5
YmM3ZmFjNWU1ZC4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1o
aWdobGlnaHQtbG9naWNhbC1tZXRyaWNzLTAwMS1leHBlY3RlZC5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMTkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJVVEYtOCI+
Ci08dGl0bGU+Q1NTIEhpZ2hsaWdodCBBUEkgVGVzdCBSZWZlcmVuY2U8L3RpdGxlPgotPGhlYWQ+
Ci0gIDxzdHlsZT4KLSAgICBkaXYgewotICAgICAgd2lkdGg6IDIwMHB4OwotICAgICAgaGVpZ2h0
OiAxMDBweDsKLSAgICAgIGxpbmUtaGVpZ2h0OiAzZW07Ci0gICAgICB0ZXh0LXVuZGVybGluZS1v
ZmZzZXQ6IDFzdmI7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lOwotICAg
ICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBncmVlbjsKLSAgICAgIHRleHQtZGVjb3JhdGlvbi10
aGlja25lc3M6IDFzdmk7Ci0gICAgfQotPC9zdHlsZT4KLTwvaGVhZD4KLTxib2R5PgotICA8ZGl2
PldpdGggdmlld3BvcnQgc2l6ZTwvZGl2PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkv
cGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1sb2dpY2FsLW1ldHJpY3MtMDAxLXJlZi5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hs
aWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1sb2dpY2FsLW1ldHJpY3MtMDAxLXJl
Zi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOWJjN2ZhYzVlNWQuLjAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWxvZ2ljYWwt
bWV0cmljcy0wMDEtcmVmLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLTx0aXRsZT5DU1MgSGlnaGxpZ2h0
IEFQSSBUZXN0IFJlZmVyZW5jZTwvdGl0bGU+Ci08aGVhZD4KLSAgPHN0eWxlPgotICAgIGRpdiB7
Ci0gICAgICB3aWR0aDogMjAwcHg7Ci0gICAgICBoZWlnaHQ6IDEwMHB4OwotICAgICAgbGluZS1o
ZWlnaHQ6IDNlbTsKLSAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMXN2YjsKLSAgICAgIHRl
eHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tY29s
b3I6IGdyZWVuOwotICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMXN2aTsKLSAgICB9
Ci08L3N0eWxlPgotPC9oZWFkPgotPGJvZHk+Ci0gIDxkaXY+V2l0aCB2aWV3cG9ydCBzaXplPC9k
aXY+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxp
Z2h0LWxvZ2ljYWwtbWV0cmljcy0wMDEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1o
aWdobGlnaHQtbG9naWNhbC1tZXRyaWNzLTAwMS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwYmNhMGVhNjM5NGEuLjAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGlu
Zy9jdXN0b20taGlnaGxpZ2h0LWxvZ2ljYWwtbWV0cmljcy0wMDEuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDMyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPG1ldGEgY2hhcnNldD0iVVRGLTgi
PgotPHRpdGxlPkNTUyBIaWdobGlnaHQgQVBJIFRlc3Q6IExlbmd0aCByZWxhdGl2ZSB0byB0aGUg
bG9naWNhbCBkaXJlY3Rpb248L3RpdGxlPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczov
L2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWhpZ2hsaWdodC1hcGktMS8iPgotPGxpbmsgcmVsPSJoZWxw
IiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXBzZXVkby8jaGlnaGxpZ2h0LXN0
eWxpbmciPgotPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0iY3VzdG9tLWhpZ2hsaWdodC1sb2dpY2Fs
LW1ldHJpY3MtMDAxLXJlZi5odG1sIj4KLTxtZXRhIG5hbWU9ImFzc2VydCIgdmFsdWU9Imxlbmd0
aHMgZGVwZW5kaW5nIG9uIHZpZXdwb3J0cyB0YWtlIHRoZSBjb3JyZWN0IHZhbHVlcyB3aXRoIHZl
cnRpY2FsIHRleHQiPgotPG1ldGEgbmFtZT0iZnV6enkiIGNvbnRlbnQ9IjAtMzA7MC0xMCI+Ci08
aGVhZD4KLSAgPHN0eWxlPgotICAgIGRpdiB7Ci0gICAgICB3aWR0aDogMjAwcHg7Ci0gICAgICBo
ZWlnaHQ6IDEwMHB4OwotICAgICAgbGluZS1oZWlnaHQ6IDNlbTsKLSAgICB9Ci0gICAgOjpoaWdo
bGlnaHQoaGlnaGxpZ2h0MSkgewotICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAxc3ZiOwot
ICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTsKLSAgICAgIHRleHQtZGVjb3Jh
dGlvbi1jb2xvcjogZ3JlZW47Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAxc3Zp
OwotICAgIH0KLTwvc3R5bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLSAgPGRpdiBpZD0iaDEiPldpdGgg
dmlld3BvcnQgc2l6ZTwvZGl2PgotICA8c2NyaXB0PgotICAgIGxldCByMSA9IG5ldyBSYW5nZSgp
OwotICAgIHIxLnNldFN0YXJ0KGgxLCAwKTsKLSAgICByMS5zZXRFbmQoaDEsIDEpOwotICAgIENT
Uy5oaWdobGlnaHRzLnNldCgiaGlnaGxpZ2h0MSIsIG5ldyBIaWdobGlnaHQocjEpKTsKLSAgPC9z
Y3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGln
aGxpZ2h0LWxvZ2ljYWwtbWV0cmljcy0wMDItZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50
aW5nL2N1c3RvbS1oaWdobGlnaHQtbG9naWNhbC1tZXRyaWNzLTAwMi1leHBlY3RlZC5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlYWVkMTU4MGY5ZjcuLjAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
aGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWxvZ2ljYWwtbWV0cmljcy0w
MDItZXhwZWN0ZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotPHRpdGxlPkNTUyBIaWdobGlnaHQgQVBJ
IFRlc3QgUmVmZXJlbmNlPC90aXRsZT4KLTxoZWFkPgotICA8c3R5bGU+Ci0gICAgZGl2IHsKLSAg
ICAgIHdpZHRoOiAxMDBweDsKLSAgICAgIGhlaWdodDogMjAwcHg7Ci0gICAgICB3cml0aW5nLW1v
ZGU6IHZlcnRpY2FsLWxyOwotICAgICAgbGluZS1oZWlnaHQ6IDNlbTsKLSAgICAgIHRleHQtdW5k
ZXJsaW5lLW9mZnNldDogMXN2YjsKLSAgICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxp
bmU7Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGdyZWVuOwotICAgICAgdGV4dC1kZWNv
cmF0aW9uLXRoaWNrbmVzczogMXN2aTsKLSAgICB9Ci08L3N0eWxlPgotPC9oZWFkPgotPGJvZHk+
Ci0gIDxkaXYgaWQ9ImgxIj5XaXRoIHZpZXdwb3J0IHNpemU8L2Rpdj4KLTwvYm9keT4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtbG9naWNhbC1tZXRyaWNz
LTAwMi1yZWYuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtbG9naWNh
bC1tZXRyaWNzLTAwMi1yZWYuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWFl
ZDE1ODBmOWY3Li4wMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhp
Z2hsaWdodC1sb2dpY2FsLW1ldHJpY3MtMDAyLXJlZi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MjAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci08dGl0
bGU+Q1NTIEhpZ2hsaWdodCBBUEkgVGVzdCBSZWZlcmVuY2U8L3RpdGxlPgotPGhlYWQ+Ci0gIDxz
dHlsZT4KLSAgICBkaXYgewotICAgICAgd2lkdGg6IDEwMHB4OwotICAgICAgaGVpZ2h0OiAyMDBw
eDsKLSAgICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7Ci0gICAgICBsaW5lLWhlaWdodDog
M2VtOwotICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAxc3ZiOwotICAgICAgdGV4dC1kZWNv
cmF0aW9uLWxpbmU6IHVuZGVybGluZTsKLSAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogZ3Jl
ZW47Ci0gICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAxc3ZpOwotICAgIH0KLTwvc3R5
bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLSAgPGRpdiBpZD0iaDEiPldpdGggdmlld3BvcnQgc2l6ZTwv
ZGl2PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hs
aWdodC1sb2dpY2FsLW1ldHJpY3MtMDAyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20t
aGlnaGxpZ2h0LWxvZ2ljYWwtbWV0cmljcy0wMDIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggOWU4YWNjMDU0ZGIyLi4wMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRp
bmcvY3VzdG9tLWhpZ2hsaWdodC1sb2dpY2FsLW1ldHJpY3MtMDAyLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwzMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9IlVURi04
Ij4KLTx0aXRsZT5DU1MgSGlnaGxpZ2h0IEFQSSBUZXN0OiBMZW5ndGggcmVsYXRpdmUgdG8gdGhl
IGxvZ2ljYWwgZGlyZWN0aW9uPC90aXRsZT4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6
Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1oaWdobGlnaHQtYXBpLTEvIj4KLTxsaW5rIHJlbD0iaGVs
cCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1wc2V1ZG8vI2hpZ2hsaWdodC1z
dHlsaW5nIj4KLTxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9ImN1c3RvbS1oaWdobGlnaHQtbG9naWNh
bC1tZXRyaWNzLTAwMi1yZWYuaHRtbCI+Ci08bWV0YSBuYW1lPSJhc3NlcnQiIHZhbHVlPSJsZW5n
dGhzIGRlcGVuZGluZyBvbiB2aWV3cG9ydHMgYW5kIGxvZ2ljYWwgZGlyZWN0aW9uIHdpdGggdmVy
dGljYWwgdGV4dCI+Ci08bWV0YSBuYW1lPSJmdXp6eSIgY29udGVudD0iMC0zMDswLTEwIj4KLTxo
ZWFkPgotICA8c3R5bGU+Ci0gICAgZGl2IHsKLSAgICAgIHdpZHRoOiAxMDBweDsKLSAgICAgIGhl
aWdodDogMjAwcHg7Ci0gICAgICB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxyOwotICAgICAgbGlu
ZS1oZWlnaHQ6IDNlbTsKLSAgICB9Ci0gICAgOjpoaWdobGlnaHQoaGlnaGxpZ2h0MSkgewotICAg
ICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAxc3ZiOwotICAgICAgdGV4dC1kZWNvcmF0aW9uLWxp
bmU6IHVuZGVybGluZTsKLSAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogZ3JlZW47Ci0gICAg
ICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAxc3ZpOwotICAgIH0KLTwvc3R5bGU+Ci08L2hl
YWQ+Ci08Ym9keT4KLSAgPGRpdiBpZD0iaDEiPldpdGggdmlld3BvcnQgc2l6ZTwvZGl2PgotICA8
c2NyaXB0PgotICAgIGxldCByMSA9IG5ldyBSYW5nZSgpOwotICAgIHIxLnNldFN0YXJ0KGgxLCAw
KTsKLSAgICByMS5zZXRFbmQoaDEsIDEpOwotICAgIENTUy5oaWdobGlnaHRzLnNldCgiaGlnaGxp
Z2h0MSIsIG5ldyBIaWdobGlnaHQocjEpKTsKLSAgPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
aGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LXBhaW50aW5nLWJlbG93LXNl
bGVjdGlvbi10cmFuc3BhcmVuY3ktZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1
c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctYmVsb3ctc2VsZWN0aW9uLXRyYW5zcGFyZW5jeS1leHBl
Y3RlZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZjQ1Y2RjZDc1YWYuLjAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LXBhaW50
aW5nLWJlbG93LXNlbGVjdGlvbi10cmFuc3BhcmVuY3ktZXhwZWN0ZWQuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPG1ldGEgY2hhcnNldD0iVVRG
LTgiPgotPHN0eWxlPgotICAjaGlnaGxpZ2h0ZWQgewotICAgIGJhY2tncm91bmQ6IHllbGxvdzsK
LSAgfQotPC9zdHlsZT4KLQotPGJvZHk+PHNwYW4gaWQ9ImhpZ2hsaWdodGVkIj5UaGlzIHNob3Vs
ZCBiZSB5ZWxsb3csIDxzcGFuIGlkPSJzZWxlY3RlZCI+dGhpcyBzaG91bGQgbWl4IHdpdGggdGhl
Ci0gICAgICBzZWxlY3Rpb24sPC9zcGFuPjwvc3Bhbj4gdGhpcyBzaG91bGQgaGF2ZSBubyBiYWNr
Z3JvdW5kLgotICA8c2NyaXB0PgotICAgIGdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQo
c2VsZWN0ZWQsIDAsIHNlbGVjdGVkLCAxKTsKLSAgPC9zY3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdo
dC1wYWludGluZy1iZWxvdy1zZWxlY3Rpb24tdHJhbnNwYXJlbmN5LXJlZi5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1h
cGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1wYWludGluZy1iZWxvdy1zZWxlY3Rpb24tdHJh
bnNwYXJlbmN5LXJlZi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZjQ1Y2Rj
ZDc1YWYuLjAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxp
Z2h0LXBhaW50aW5nLWJlbG93LXNlbGVjdGlvbi10cmFuc3BhcmVuY3ktcmVmLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9
IlVURi04Ij4KLTxzdHlsZT4KLSAgI2hpZ2hsaWdodGVkIHsKLSAgICBiYWNrZ3JvdW5kOiB5ZWxs
b3c7Ci0gIH0KLTwvc3R5bGU+Ci0KLTxib2R5PjxzcGFuIGlkPSJoaWdobGlnaHRlZCI+VGhpcyBz
aG91bGQgYmUgeWVsbG93LCA8c3BhbiBpZD0ic2VsZWN0ZWQiPnRoaXMgc2hvdWxkIG1peCB3aXRo
IHRoZQotICAgICAgc2VsZWN0aW9uLDwvc3Bhbj48L3NwYW4+IHRoaXMgc2hvdWxkIGhhdmUgbm8g
YmFja2dyb3VuZC4KLSAgPHNjcmlwdD4KLSAgICBnZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0
ZW50KHNlbGVjdGVkLCAwLCBzZWxlY3RlZCwgMSk7Ci0gIDwvc2NyaXB0PgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdo
bGlnaHQtcGFpbnRpbmctYmVsb3ctc2VsZWN0aW9uLXRyYW5zcGFyZW5jeS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1h
cGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1wYWludGluZy1iZWxvdy1zZWxlY3Rpb24tdHJh
bnNwYXJlbmN5Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4NmZhMjhmNTM5
Yi4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQt
cGFpbnRpbmctYmVsb3ctc2VsZWN0aW9uLXRyYW5zcGFyZW5jeS5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMjIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJVVEYtOCI+
Ci08dGl0bGU+Q1NTIEhpZ2hsaWdodCBBUEkgVGVzdDogPC90aXRsZT4KLTxsaW5rIHJlbD0iaGVs
cCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1oaWdobGlnaHQtYXBpLTEvIj4K
LTxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9ImN1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctYmVsb3ct
c2VsZWN0aW9uLXRyYW5zcGFyZW5jeS1yZWYuaHRtbCI+Ci08bWV0YSBuYW1lPSJhc3NlcnQiCi0g
IHZhbHVlPSJIaWdobGlnaHQgb3ZlcmxheSBpcyBwYWludGVkIGJlbG93IHNlbGVjdGlvbiBvdmVy
bGF5LiBJZiBzZWxlY3Rpb24gdXNlcyB0cmFuc3BhcmVuY3ksIGNvbG9ycyBhcmUgY29tYmluZWQu
Ij4KLTxzdHlsZT4KLSAgOjpoaWdobGlnaHQoZm9vKSB7Ci0gICAgYmFja2dyb3VuZDogeWVsbG93
OwotICB9Ci08L3N0eWxlPgotCi08Ym9keT48c3BhbiBpZD0iaGlnaGxpZ2h0ZWQiPlRoaXMgc2hv
dWxkIGJlIHllbGxvdywgPHNwYW4gaWQ9InNlbGVjdGVkIj50aGlzIHNob3VsZCBtaXggd2l0aCB0
aGUKLSAgICAgIHNlbGVjdGlvbiw8L3NwYW4+PC9zcGFuPiB0aGlzIHNob3VsZCBoYXZlIG5vIGJh
Y2tncm91bmQuCi0gIDxzY3JpcHQ+Ci0gICAgbGV0IGhpZ2hsaWdodFJhbmdlID0gbmV3IFJhbmdl
KCk7Ci0gICAgaGlnaGxpZ2h0UmFuZ2Uuc2V0U3RhcnQoZG9jdW1lbnQuYm9keS5maXJzdENoaWxk
LCAwKTsKLSAgICBoaWdobGlnaHRSYW5nZS5zZXRFbmQoZG9jdW1lbnQuYm9keS5maXJzdENoaWxk
LCAyKTsKLSAgICBDU1MuaGlnaGxpZ2h0cy5zZXQoImZvbyIsIG5ldyBIaWdobGlnaHQoaGlnaGxp
Z2h0UmFuZ2UpKTsKLSAgICBnZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KHNlbGVjdGVk
LCAwLCBzZWxlY3RlZCwgMSk7Ci0gIDwvc2NyaXB0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFpbnRp
bmctcHJpb3JpdHktdGV4dC1kZWNvcmF0aW9uLTAwMS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkv
cGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1wYWludGluZy1wcmlvcml0eS10ZXh0LWRlY29yYXRp
b24tMDAxLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwLi5hYTc2Y2YwOGI0NmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9j
dXN0b20taGlnaGxpZ2h0LXBhaW50aW5nLXByaW9yaXR5LXRleHQtZGVjb3JhdGlvbi0wMDEtZXhw
ZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+CisgICAgPHRpdGxlPkNTUyBIaWdobGlnaHQgQVBJIFRlc3Q6IDo6aGlnaGxpZ2h0IHRleHQt
ZGVjb3JhdGlvbiBwYWludHMgb3ZlciBoaWdoZXIgcHJpb3JpdHkgd2hlbiBub3QgY2xhc2hpbmc8
L3RpdGxlPgorICAgIDxzdHlsZT4KKyAgICAgICAgI3llbGxvdy1oaWdobGlnaHQgeworICAgICAg
ICAgICAgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93OworICAgICAgICAgICAgdGV4dC1kZWNvcmF0
aW9uOiB1bmRlcmxpbmU7CisgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHJlZDsK
KyAgICAgICAgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8c3BhbiBpZD0i
eWVsbG93LWhpZ2hsaWdodCI+WWVsbG93PC9zcGFuPgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3Rv
bS1oaWdobGlnaHQtcGFpbnRpbmctcHJpb3JpdHktdGV4dC1kZWNvcmF0aW9uLTAwMS1yZWYuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1o
aWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctcHJpb3JpdHkt
dGV4dC1kZWNvcmF0aW9uLTAwMS1yZWYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAuLmFhNzZjZjA4YjQ2YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3Bh
aW50aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctcHJpb3JpdHktdGV4dC1kZWNvcmF0aW9u
LTAwMS1yZWYuaHRtbApAQCAtMCwwICsxLDE2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+CisgICAgPHRpdGxlPkNTUyBIaWdobGlnaHQgQVBJIFRlc3Q6IDo6aGlnaGxpZ2h0IHRl
eHQtZGVjb3JhdGlvbiBwYWludHMgb3ZlciBoaWdoZXIgcHJpb3JpdHkgd2hlbiBub3QgY2xhc2hp
bmc8L3RpdGxlPgorICAgIDxzdHlsZT4KKyAgICAgICAgI3llbGxvdy1oaWdobGlnaHQgeworICAg
ICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93OworICAgICAgICAgICAgdGV4dC1kZWNv
cmF0aW9uOiB1bmRlcmxpbmU7CisgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHJl
ZDsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8c3BhbiBp
ZD0ieWVsbG93LWhpZ2hsaWdodCI+WWVsbG93PC9zcGFuPgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1
c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctcHJpb3JpdHktdGV4dC1kZWNvcmF0aW9uLTAwMS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhp
Z2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1wYWludGluZy1wcmlvcml0eS10
ZXh0LWRlY29yYXRpb24tMDAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwLi43YWIzMThiNWExMTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGlu
Zy9jdXN0b20taGlnaGxpZ2h0LXBhaW50aW5nLXByaW9yaXR5LXRleHQtZGVjb3JhdGlvbi0wMDEu
aHRtbApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cisg
ICAgPHRpdGxlPkNTUyBIaWdobGlnaHQgQVBJIFRlc3Q6IDo6aGlnaGxpZ2h0IHRleHQtZGVjb3Jh
dGlvbiBwYWludHMgb3ZlciBoaWdoZXIgcHJpb3JpdHkgd2hlbiBub3QgY2xhc2hpbmc8L3RpdGxl
PgorICAgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1o
aWdobGlnaHQtYXBpLTEvI3ByaW9yaXRpZXMiPgorICAgIDxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9
ImN1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctcHJpb3JpdHktdGV4dC1kZWNvcmF0aW9uLTAwMS1y
ZWYuaHRtbCI+CisgICAgPHN0eWxlPgorICAgIDo6aGlnaGxpZ2h0KHllbGxvdy1oaWdobGlnaHQp
IHsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93OworICAgIH0KKyAgICA6OmhpZ2hs
aWdodCh1bmRlcmxpbmUtaGlnaGxpZ2h0KSB7CisgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5k
ZXJsaW5lOworICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHJlZDsKKyAgICB9CisgICAg
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxzcGFuIGlkPSJ5ZWxsb3ctaGlnaGxpZ2h0
Ij5ZZWxsb3c8L3NwYW4+CisKKyAgICA8c2NyaXB0PgorICAgICAgICBsZXQgeWVsbG93ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInllbGxvdy1oaWdobGlnaHQiKTsKKyAgICAgICAgbGV0IGhp
Z2hsaWdodFllbGxvdyA9IG5ldyBIaWdobGlnaHQobmV3IFN0YXRpY1JhbmdlKHsKKyAgICAgICAg
ICAgIHN0YXJ0Q29udGFpbmVyOiB5ZWxsb3cuY2hpbGROb2Rlc1swXSwKKyAgICAgICAgICAgIHN0
YXJ0T2Zmc2V0OiAwLAorICAgICAgICAgICAgZW5kQ29udGFpbmVyOiB5ZWxsb3cuY2hpbGROb2Rl
c1swXSwKKyAgICAgICAgICAgIGVuZE9mZnNldDogNgorICAgICAgICB9KSk7CisgICAgICAgIGxl
dCBoaWdobGlnaHRVbmRlcmxpbmUgPSBuZXcgSGlnaGxpZ2h0KG5ldyBTdGF0aWNSYW5nZSh7Cisg
ICAgICAgICAgICBzdGFydENvbnRhaW5lcjogeWVsbG93LmNoaWxkTm9kZXNbMF0sCisgICAgICAg
ICAgICBzdGFydE9mZnNldDogMCwKKyAgICAgICAgICAgIGVuZENvbnRhaW5lcjogeWVsbG93LmNo
aWxkTm9kZXNbMF0sCisgICAgICAgICAgICBlbmRPZmZzZXQ6IDYKKyAgICAgICAgfSkpOworICAg
ICAgICBDU1MuaGlnaGxpZ2h0cy5zZXQoInllbGxvdy1oaWdobGlnaHQiLCBoaWdobGlnaHRZZWxs
b3cpOworICAgICAgICBDU1MuaGlnaGxpZ2h0cy5zZXQoInVuZGVybGluZS1oaWdobGlnaHQiLCBo
aWdobGlnaHRVbmRlcmxpbmUpOworICAgICAgICBoaWdobGlnaHRZZWxsb3cucHJpb3JpdHkgPSAx
MDsKKyAgICA8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LXBh
aW50aW5nLXN0YXRpY3JhbmdlLTAwNC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcv
Y3VzdG9tLWhpZ2hsaWdodC1wYWludGluZy1zdGF0aWNyYW5nZS0wMDQtZXhwZWN0ZWQuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDFlNjZjY2MxZDM2Li4wMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1wYWludGluZy1zdGF0aWNy
YW5nZS0wMDQtZXhwZWN0ZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotPHRpdGxlPkNTUyBIaWdobGln
aHQgQVBJIFRlc3Q6IDwvdGl0bGU+Ci08c3R5bGU+Ci0gIHNwYW4gewotICAgIGJhY2tncm91bmQt
Y29sb3I6IHJnYmEoMCwgMTI4LCAwLCAwLjUpOwotICAgIGNvbG9yOiBibHVlOwotICB9Ci08L3N0
eWxlPgotPGJvZHk+PHNwYW4+T25lIDwvc3Bhbj48c3Bhbj50d28gPC9zcGFuPjxzcGFuPm9uZS1w
b2ludC1maXZlIDwvc3Bhbj48c3Bhbj50aHJlZeKApjwvc3Bhbj4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQt
YXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctc3RhdGljcmFuZ2UtMDA0LXJl
Zi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1wYWludGluZy1zdGF0
aWNyYW5nZS0wMDQtcmVmLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQxZTY2
Y2NjMWQzNi4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdo
bGlnaHQtcGFpbnRpbmctc3RhdGljcmFuZ2UtMDA0LXJlZi5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMTAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJVVEYtOCI+Ci08
dGl0bGU+Q1NTIEhpZ2hsaWdodCBBUEkgVGVzdDogPC90aXRsZT4KLTxzdHlsZT4KLSAgc3BhbiB7
Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMjgsIDAsIDAuNSk7Ci0gICAgY29sb3I6
IGJsdWU7Ci0gIH0KLTwvc3R5bGU+Ci08Ym9keT48c3Bhbj5PbmUgPC9zcGFuPjxzcGFuPnR3byA8
L3NwYW4+PHNwYW4+b25lLXBvaW50LWZpdmUgPC9zcGFuPjxzcGFuPnRocmVl4oCmPC9zcGFuPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1wYWludGluZy1z
dGF0aWNyYW5nZS0wMDQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQt
cGFpbnRpbmctc3RhdGljcmFuZ2UtMDA0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGM3OTk0M2M0ZDlhYi4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1
c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctc3RhdGljcmFuZ2UtMDA0Lmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwyMCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9IlVURi04
Ij4KLTx0aXRsZT5DU1MgSGlnaGxpZ2h0IEFQSSBUZXN0OiA8L3RpdGxlPgotPGxpbmsgcmVsPSJo
ZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWhpZ2hsaWdodC1hcGktMS8i
PgotPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0iY3VzdG9tLWhpZ2hsaWdodC1wYWludGluZy1zdGF0
aWNyYW5nZS0wMDQtcmVmLmh0bWwiPgotPG1ldGEgbmFtZT0iYXNzZXJ0IiB2YWx1ZT0iSGlnaGxp
Z2h0IGlzIHJlcGFpbnRlZCBjb3JyZWN0bHkgYWZ0ZXIgcmUtYXJyYW5naW5nIG5vZGVzIGluIFN0
YXRpY1JhbmdlIHN1Y2ggdGhhdCBoaWdobGlnaHRzIGdvIGZyb20gb3ZlcmxhcHBpbmcgdG8gbm90
Ij4KLTxzdHlsZT4KLSAgOjpoaWdobGlnaHQoZXhhbXBsZS1oaWdobGlnaHQpIHsKLSAgICBiYWNr
Z3JvdW5kLWNvbG9yOiByZ2JhKDAsIDEyOCwgMCwgMC41KTsKLSAgICBjb2xvcjogYmx1ZTsKLSAg
fQotPC9zdHlsZT4KLTxib2R5PjxzcGFuPk9uZSA8L3NwYW4+PHNwYW4+b25lLXBvaW50LWZpdmUg
PC9zcGFuPjxzcGFuPnR3byA8L3NwYW4+PHNwYW4+dGhyZWXigKY8L3NwYW4+Ci08c2NyaXB0Pgot
ICBsZXQgcjEgPSBuZXcgU3RhdGljUmFuZ2Uoe3N0YXJ0Q29udGFpbmVyOiBkb2N1bWVudC5ib2R5
LmNoaWxkcmVuWzBdLCBzdGFydE9mZnNldDogMCwgZW5kQ29udGFpbmVyOiBkb2N1bWVudC5ib2R5
LmNoaWxkcmVuWzJdLCBlbmRPZmZzZXQ6IDF9KTsKLSAgbGV0IHIyID0gbmV3IFN0YXRpY1Jhbmdl
KHtzdGFydENvbnRhaW5lcjogZG9jdW1lbnQuYm9keS5jaGlsZHJlblsxXSwgc3RhcnRPZmZzZXQ6
IDAsIGVuZENvbnRhaW5lcjogZG9jdW1lbnQuYm9keS5jaGlsZHJlblszXSwgZW5kT2Zmc2V0OiAx
fSk7Ci0gIENTUy5oaWdobGlnaHRzLnNldCgiZXhhbXBsZS1oaWdobGlnaHQiLCBuZXcgSGlnaGxp
Z2h0KHIxLHIyKSk7Ci0gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuYm9keS5j
aGlsZHJlblsxXSk7Ci0gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuYm9keS5j
aGlsZHJlblsyXSk7Ci08L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LXBhaW50aW5nLXN0YXRp
Y3JhbmdlLTAwNS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hs
aWdodC1wYWludGluZy1zdGF0aWNyYW5nZS0wMDUtZXhwZWN0ZWQuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYjA1ODc4OWY2ZGUwLi4wMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1h
cGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1wYWludGluZy1zdGF0aWNyYW5nZS0wMDUtZXhw
ZWN0ZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+
Ci08bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08c3R5bGU+Ci0gICAgLmhpZ2hsaWdodGVkIHsKLSAg
ICAgIGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsKLSAgICAgIGNvbG9yOiBibHVlOwotICAgIH0K
LTwvc3R5bGU+Ci08Ym9keT48c3BhbiBjbGFzcz0iaGlnaGxpZ2h0ZWQiPk9uZSB0d28gPC9zcGFu
PjxzcGFuPnRocmVl4oCmPC9zcGFuPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3Vz
dG9tLWhpZ2hsaWdodC1wYWludGluZy1zdGF0aWNyYW5nZS0wMDUuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3Bh
aW50aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctc3RhdGljcmFuZ2UtMDA1Lmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlmZmUyY2YyNmJjMy4uMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1o
aWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctc3RhdGljcmFu
Z2UtMDA1Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLTx0aXRsZT5DU1MgSGlnaGxpZ2h0IEFQSSBUZXN0
OiBTdGF0aWNSYW5nZSBpcyByZXBhaW50ZWQgY29ycmVjdGx5IGFmdGVyIGRlbGV0aW5nIGFuZCBy
ZS1hZGRpbmcgaXQuPC90aXRsZT4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFm
dHMuY3Nzd2cub3JnL2Nzcy1oaWdobGlnaHQtYXBpLTEvIj4KLTxsaW5rIHJlbD0ibWF0Y2giIGhy
ZWY9ImN1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctMDAxLXJlZi5odG1sIj4KLTxtZXRhIG5hbWU9
ImFzc2VydCIgdmFsdWU9IkEgU3RhdGljUmFuZ2UgaXMgcmVwYWludGVkIGNvcnJlY3RseSBhZnRl
ciBkZWxldGluZyBhbmQgcmUtYWRkaW5nIGl0LiI+Ci08c3R5bGU+Ci0gIDo6aGlnaGxpZ2h0KGV4
YW1wbGUtaGlnaGxpZ2h0KSB7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93OwotICAgIGNv
bG9yOiBibHVlOwotICB9Ci08L3N0eWxlPgotPGJvZHk+PHNwYW4+T25lIHR3byB0aHJlZeKApjwv
c3Bhbj4KLTxzY3JpcHQ+Ci0gIGxldCBoID0gbmV3IEhpZ2hsaWdodCgpOwotICBjb25zdCByYW5n
ZSA9IG5ldyBTdGF0aWNSYW5nZSh7Ci0gICAgc3RhcnRDb250YWluZXI6IGRvY3VtZW50LmJvZHku
Zmlyc3RDaGlsZC5jaGlsZE5vZGVzWzBdLAotICAgIHN0YXJ0T2Zmc2V0OiAwLAotICAgIGVuZENv
bnRhaW5lcjogZG9jdW1lbnQuYm9keS5maXJzdENoaWxkLmNoaWxkTm9kZXNbMF0sCi0gICAgZW5k
T2Zmc2V0OiA4Ci0gIH0pCi0gIGguYWRkKHJhbmdlKTsKLSAgQ1NTLmhpZ2hsaWdodHMuc2V0KCJl
eGFtcGxlLWhpZ2hsaWdodCIsIGgpOwotICBkb2N1bWVudC5ib2R5Lm9ubG9hZCA9ICgpID0+IHsK
LSAgICBoLmRlbGV0ZShyYW5nZSk7Ci0gICAgaC5hZGQocmFuZ2UpOwotICB9OwotPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LXBhaW50aW5n
LXZlcnRpY2FsLXdyaXRpbmctbW9kZS0wMDEtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50
aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctdmVydGljYWwtd3JpdGluZy1tb2RlLTAwMS1l
eHBlY3RlZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNDZjNjc5YzlmNGQu
LjAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LXBh
aW50aW5nLXZlcnRpY2FsLXdyaXRpbmctbW9kZS0wMDEtZXhwZWN0ZWQuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDE1ICswLDAgQEAKLTwhZG9jdHlwZSBodG1sPgotPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9jc3MtcHNldWRvL3N1cHBvcnQvaGlnaGxpZ2h0cy5jc3MiPgotPG1l
dGEgY2hhcnNldD0idXRmLTgiPgotPHN0eWxlPgotICAgIDpyb290IHsKLSAgICAgICAgd3JpdGlu
Zy1tb2RlOiB2ZXJ0aWNhbC1ybDsKLSAgICB9Ci0KLSAgICAuaGlnaGxpZ2h0ZWQgewotICAgICAg
YmFja2dyb3VuZC1jb2xvcjogeWVsbG93OwotICAgICAgY29sb3I6IGJsdWU7Ci0gICAgfQotPC9z
dHlsZT4KLTxib2R5PgotPGRpdiBjbGFzcz0iaGlnaGxpZ2h0X3JlZnRlc3QiPjxzcGFuIGNsYXNz
PSJoaWdobGlnaHRlZCI+T25lIHR3byA8L3NwYW4+PHNwYW4+dGhyZWXigKY8L3NwYW4+PC9kaXY+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LXBhaW50aW5n
LXZlcnRpY2FsLXdyaXRpbmctbW9kZS0wMDEtcmVmLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9j
dXN0b20taGlnaGxpZ2h0LXBhaW50aW5nLXZlcnRpY2FsLXdyaXRpbmctbW9kZS0wMDEtcmVmLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI0NmM2NzljOWY0ZC4uMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctdmVy
dGljYWwtd3JpdGluZy1tb2RlLTAwMS1yZWYuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICsw
LDAgQEAKLTwhZG9jdHlwZSBodG1sPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li9jc3MtcHNldWRvL3N1cHBvcnQvaGlnaGxpZ2h0cy5jc3MiPgotPG1ldGEgY2hhcnNldD0idXRm
LTgiPgotPHN0eWxlPgotICAgIDpyb290IHsKLSAgICAgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNh
bC1ybDsKLSAgICB9Ci0KLSAgICAuaGlnaGxpZ2h0ZWQgewotICAgICAgYmFja2dyb3VuZC1jb2xv
cjogeWVsbG93OwotICAgICAgY29sb3I6IGJsdWU7Ci0gICAgfQotPC9zdHlsZT4KLTxib2R5Pgot
PGRpdiBjbGFzcz0iaGlnaGxpZ2h0X3JlZnRlc3QiPjxzcGFuIGNsYXNzPSJoaWdobGlnaHRlZCI+
T25lIHR3byA8L3NwYW4+PHNwYW4+dGhyZWXigKY8L3NwYW4+PC9kaXY+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxp
Z2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LXBhaW50aW5nLXZlcnRpY2FsLXdyaXRp
bmctbW9kZS0wMDEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFp
bnRpbmctdmVydGljYWwtd3JpdGluZy1tb2RlLTAwMS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA5ZmUyYmRjZDVmMTIuLjAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWlu
dGluZy9jdXN0b20taGlnaGxpZ2h0LXBhaW50aW5nLXZlcnRpY2FsLXdyaXRpbmctbW9kZS0wMDEu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPG1l
dGEgY2hhcnNldD0iVVRGLTgiPgotPHRpdGxlPkNTUyBIaWdobGlnaHQgQVBJIFRlc3Q6IFZlcnRp
Y2FsIFdyaXRpbmcgTW9kZTwvdGl0bGU+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8v
ZHJhZnRzLmNzc3dnLm9yZy9jc3MtaGlnaGxpZ2h0LWFwaS0xLyI+Ci08bGluayByZWw9Im1hdGNo
IiBocmVmPSJjdXN0b20taGlnaGxpZ2h0LXBhaW50aW5nLXZlcnRpY2FsLXdyaXRpbmctbW9kZS0w
MDEtcmVmLmh0bWwiPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9jc3MtcHNl
dWRvL3N1cHBvcnQvaGlnaGxpZ2h0cy5jc3MiPgotPG1ldGEgbmFtZT0iYXNzZXJ0IiB2YWx1ZT0i
OjpoaWdobGlnaHQgb3ZlcmxheSBpcyBwYWludGVkIGNvcnJlY3RseSB3aGVuIHRoZSBoaWdobGln
aHRlZCB0ZXh0IGlzIGluIGEgdmVydGljYWwgd3JpdGluZyBtb2RlIj4KLTxzdHlsZT4KLSAgOnJv
b3QgewotICAgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsKLSAgfQotICA6OmhpZ2hsaWdo
dChleGFtcGxlLWhpZ2hsaWdodCkgewotICAgIGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsKLSAg
ICBjb2xvcjogYmx1ZTsKLSAgfQotPC9zdHlsZT4KLTxib2R5PgotPGRpdiBjbGFzcz0iaGlnaGxp
Z2h0X3JlZnRlc3QiPjxzcGFuPk9uZSA8L3NwYW4+PHNwYW4+dHdvIDwvc3Bhbj48c3Bhbj50aHJl
ZeKApjwvc3Bhbj48L2Rpdj4KLTxzY3JpcHQ+Ci0gIGxldCByID0gbmV3IFJhbmdlKCk7Ci0gIHIu
c2V0U3RhcnQoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiZGl2IiksIDApOwotICByLnNldEVuZChk
b2N1bWVudC5xdWVyeVNlbGVjdG9yKCJkaXYiKSwgMik7Ci0KLSAgQ1NTLmhpZ2hsaWdodHMuc2V0
KCJleGFtcGxlLWhpZ2hsaWdodCIsIG5ldyBIaWdobGlnaHQocikpOwotPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9yZXNvdXJjZXMvaWZyYW1lLWNvbnRhaW5lci5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhp
Z2hsaWdodC1hcGkvcGFpbnRpbmcvcmVzb3VyY2VzL2lmcmFtZS1jb250YWluZXIuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzg5NjgwZTI4YzkyLi4wMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhp
Z2hsaWdodC1hcGkvcGFpbnRpbmcvcmVzb3VyY2VzL2lmcmFtZS1jb250YWluZXIuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHN0eWxlPgotICA6
OmhpZ2hsaWdodChoaWdobGlnaHQxKSB7Ci0gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAxY3F3
OwotICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7Ci0gICAgdGV4dC1kZWNvcmF0
aW9uLWNvbG9yOiBncmVlbjsKLSAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAyY3FoOwot
ICB9Ci08L3N0eWxlPgotPGRpdiBpZD0iaDEiPldpdGggY29udGFpbmVyIHNpemU8L2Rpdj4KLTxz
Y3JpcHQ+Ci0gIGxldCByMSA9IG5ldyBSYW5nZSgpOwotICByMS5zZXRTdGFydChoMSwgMCk7Ci0g
IHIxLnNldEVuZChoMSwgMSk7Ci0gIENTUy5oaWdobGlnaHRzLnNldCgiaGlnaGxpZ2h0MSIsIG5l
dyBIaWdobGlnaHQocjEpKTsKLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRp
bmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvcmVzb3VyY2Vz
L3czYy1pbXBvcnQubG9nCmluZGV4IDAyYTAzOGYyMzlhMy4uYzM3ZjQ3ZGRjMjgyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
aGlnaGxpZ2h0LWFwaS9wYWludGluZy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdo
dC1hcGkvcGFpbnRpbmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCkBAIC0xNSw1ICsxNSw0IEBA
IE5vbmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGlu
Zy9yZXNvdXJjZXMvaWZyYW1lLWNvZGUuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL3Jlc291cmNl
cy9pZnJhbWUtY29udGFpbmVyLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9yZXNvdXJjZXMvcnVu
LWFmdGVyLWxheW91dC1hbmQtcGFpbnQuanMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5n
L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvdzNjLWltcG9ydC5sb2cKaW5kZXgg
YzcwYWExZWVkZWQ0Li5iZTAyOTIwYmRmMTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5n
L3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL3czYy1pbXBvcnQubG9nCkBA
IC0yMCw1NiArMjAsNiBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2Nzcy10
YXJnZXQtdGV4dC1kZWNvcmF0aW9uLTAwMS1leHBlY3RlZC5odG1sCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRp
bmcvY3NzLXRhcmdldC10ZXh0LWRlY29yYXRpb24tMDAxLXJlZi5odG1sCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFp
bnRpbmcvY3NzLXRhcmdldC10ZXh0LWRlY29yYXRpb24tMDAxLmh0bWwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWlu
dGluZy9jdXN0b20taGlnaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAwMS1leHBlY3RlZC5odG1s
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhp
Z2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1jb250YWluZXItbWV0cmljcy0w
MDEtcmVmLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWNvbnRhaW5l
ci1tZXRyaWNzLTAwMS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1j
b250YWluZXItbWV0cmljcy0wMDItZXhwZWN0ZWQuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1
c3RvbS1oaWdobGlnaHQtY29udGFpbmVyLW1ldHJpY3MtMDAyLXJlZi5odG1sCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkv
cGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1jb250YWluZXItbWV0cmljcy0wMDIuaHRtbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGln
aHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtY29udGFpbmVyLW1ldHJpY3MtMDAzLWV4
cGVjdGVkLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWNvbnRhaW5l
ci1tZXRyaWNzLTAwMy1yZWYuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGln
aHQtY29udGFpbmVyLW1ldHJpY3MtMDAzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20t
aGlnaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAwNC1leHBlY3RlZC5odG1sCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkv
cGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1jb250YWluZXItbWV0cmljcy0wMDQtcmVmLmh0bWwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGln
aGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAw
NC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1jb250YWluZXItbWV0
cmljcy0wMDUtZXhwZWN0ZWQuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGln
aHQtY29udGFpbmVyLW1ldHJpY3MtMDA1Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20t
aGlnaGxpZ2h0LWNvbnRhaW5lci1tZXRyaWNzLTAwNi1leHBlY3RlZC5odG1sCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkv
cGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1jb250YWluZXItbWV0cmljcy0wMDYuaHRtbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGln
aHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtZHluYW1pYy1jb250YWluZXItbWV0cmlj
cy0wMDEtZXhwZWN0ZWQuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQt
ZHluYW1pYy1jb250YWluZXItbWV0cmljcy0wMDEtcmVmLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGlu
Zy9jdXN0b20taGlnaGxpZ2h0LWR5bmFtaWMtY29udGFpbmVyLW1ldHJpY3MtMDAxLmh0bWwKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxp
Z2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWR5bmFtaWMtY29udGFpbmVyLW1ldHJp
Y3MtMDAyLWV4cGVjdGVkLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0
LWR5bmFtaWMtY29udGFpbmVyLW1ldHJpY3MtMDAyLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9j
dXN0b20taGlnaGxpZ2h0LWR5bmFtaWMtY29udGFpbmVyLW1ldHJpY3MtMDAzLWV4cGVjdGVkLmh0
bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
aGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWR5bmFtaWMtY29udGFpbmVy
LW1ldHJpY3MtMDAzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWR5
bmFtaWMtY29udGFpbmVyLW1ldHJpY3MtMDA0LWV4cGVjdGVkLmh0bWwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWlu
dGluZy9jdXN0b20taGlnaGxpZ2h0LWR5bmFtaWMtY29udGFpbmVyLW1ldHJpY3MtMDA0Lmh0bWwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGln
aGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWR5bmFtaWMtZm9udC1tZXRyaWNz
LTAwMS1leHBlY3RlZC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1k
eW5hbWljLWZvbnQtbWV0cmljcy0wMDEuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1o
aWdobGlnaHQtZHluYW1pYy1sb2dpY2FsLW1ldHJpY3MtMDAxLWV4cGVjdGVkLmh0bWwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0
LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWR5bmFtaWMtbG9naWNhbC1tZXRyaWNzLTAw
MS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1mb250LW1ldHJpY3Mt
MDAxLWV4cGVjdGVkLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWZv
bnQtbWV0cmljcy0wMDEtcmVmLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxp
Z2h0LWZvbnQtbWV0cmljcy0wMDEuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdo
bGlnaHQtZm9udC1tZXRyaWNzLTAwMi1leHBlY3RlZC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcv
Y3VzdG9tLWhpZ2hsaWdodC1mb250LW1ldHJpY3MtMDAyLXJlZi5odG1sCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFp
bnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1mb250LW1ldHJpY3MtMDAyLmh0bWwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9w
YWludGluZy9jdXN0b20taGlnaGxpZ2h0LWZvbnQtbWV0cmljcy0wMDMtZXhwZWN0ZWQuaHRtbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdo
bGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtZm9udC1tZXRyaWNzLTAwMy1yZWYu
aHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtZm9udC1tZXRyaWNzLTAw
My5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1mb250LW1ldHJpY3Mt
MDA0LWV4cGVjdGVkLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LWZv
bnQtbWV0cmljcy0wMDQtcmVmLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxp
Z2h0LWZvbnQtbWV0cmljcy0wMDQuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdo
bGlnaHQtZm9udC1tZXRyaWNzLTAwNS1leHBlY3RlZC5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcv
Y3VzdG9tLWhpZ2hsaWdodC1mb250LW1ldHJpY3MtMDA1LXJlZi5odG1sCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFp
bnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1mb250LW1ldHJpY3MtMDA1Lmh0bWwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9w
YWludGluZy9jdXN0b20taGlnaGxpZ2h0LWxvZ2ljYWwtbWV0cmljcy0wMDEtZXhwZWN0ZWQuaHRt
bAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1o
aWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtbG9naWNhbC1tZXRyaWNzLTAw
MS1yZWYuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtbG9naWNhbC1t
ZXRyaWNzLTAwMS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1sb2dp
Y2FsLW1ldHJpY3MtMDAyLWV4cGVjdGVkLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20t
aGlnaGxpZ2h0LWxvZ2ljYWwtbWV0cmljcy0wMDItcmVmLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGlu
Zy9jdXN0b20taGlnaGxpZ2h0LWxvZ2ljYWwtbWV0cmljcy0wMDIuaHRtbAogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3Bh
aW50aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctMDAxLWV4cGVjdGVkLmh0bWwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0
LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LXBhaW50aW5nLTAwMS1yZWYuaHRtbAogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGln
aHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctMDAxLmh0bWwKQEAgLTEx
OCw5ICs2OCw2IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhp
Z2hsaWdodC1wYWludGluZy1iZWxvdy1ncmFtbWFyLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9j
dXN0b20taGlnaGxpZ2h0LXBhaW50aW5nLWJlbG93LXNlbGVjdGlvbi1leHBlY3RlZC5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hs
aWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1wYWludGluZy1iZWxvdy1zZWxlY3Rp
b24tcmVmLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LXBhaW50aW5n
LWJlbG93LXNlbGVjdGlvbi10cmFuc3BhcmVuY3ktZXhwZWN0ZWQuaHRtbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3Bh
aW50aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctYmVsb3ctc2VsZWN0aW9uLXRyYW5zcGFy
ZW5jeS1yZWYuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFpbnRp
bmctYmVsb3ctc2VsZWN0aW9uLXRyYW5zcGFyZW5jeS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcv
Y3VzdG9tLWhpZ2hsaWdodC1wYWludGluZy1iZWxvdy1zZWxlY3Rpb24uaHRtbAogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBp
L3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctYmVsb3ctdGFyZ2V0LXRleHQtZXhw
ZWN0ZWQuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmct
YmVsb3ctdGFyZ2V0LXRleHQtcmVmLmh0bWwKQEAgLTE3NSw5ICsxMjIsNiBAQCBMaXN0IG9mIGZp
bGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctcHJpb3Jp
dGl6YXRpb24tMDAxLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LXBh
aW50aW5nLXByaW9yaXRpemF0aW9uLTAwMi1leHBlY3RlZC5odG1sCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRp
bmcvY3VzdG9tLWhpZ2hsaWdodC1wYWludGluZy1wcmlvcml0aXphdGlvbi0wMDIuaHRtbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGln
aHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctcHJpb3JpdGl6YXRpb24t
MDAzLWV4cGVjdGVkLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LXBh
aW50aW5nLXByaW9yaXRpemF0aW9uLTAwMy1yZWYuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1
c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctcHJpb3JpdGl6YXRpb24tMDAzLmh0bWwKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFw
aS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LXBhaW50aW5nLXN0YXRpY3JhbmdlLTAwMS1leHBl
Y3RlZC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1wYWludGluZy1z
dGF0aWNyYW5nZS0wMDEtcmVmLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxp
Z2h0LXBhaW50aW5nLXN0YXRpY3JhbmdlLTAwMS5odG1sCkBAIC0xODUsMTEgKzEyOSw2IEBAIExp
c3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1wYWludGlu
Zy1zdGF0aWNyYW5nZS0wMDIuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGln
aHQtcGFpbnRpbmctc3RhdGljcmFuZ2UtMDAzLWV4cGVjdGVkLmh0bWwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWlu
dGluZy9jdXN0b20taGlnaGxpZ2h0LXBhaW50aW5nLXN0YXRpY3JhbmdlLTAwMy5odG1sCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdo
dC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1wYWludGluZy1zdGF0aWNyYW5nZS0wMDQt
ZXhwZWN0ZWQuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFpbnRp
bmctc3RhdGljcmFuZ2UtMDA0LXJlZi5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhp
Z2hsaWdodC1wYWludGluZy1zdGF0aWNyYW5nZS0wMDQuaHRtbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5n
L2N1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctc3RhdGljcmFuZ2UtMDA1LWV4cGVjdGVkLmh0bWwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGln
aGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LXBhaW50aW5nLXN0YXRpY3Jhbmdl
LTAwNS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1wYWludGluZy10
ZXh0LWRlY29yYXRpb24tMDAxLWV4cGVjdGVkLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0
b20taGlnaGxpZ2h0LXBhaW50aW5nLXRleHQtZGVjb3JhdGlvbi0wMDEtcmVmLmh0bWwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0
LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0LXBhaW50aW5nLXRleHQtZGVjb3JhdGlvbi0w
MDEuaHRtbApAQCAtMTk4LDYgKzEzNywzIEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvcGFp
bnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1wYWludGluZy10ZXh0LWRlY29yYXRpb24tZHluYW1pYy0w
MDEuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1oaWdobGlnaHQtYXBpL3BhaW50aW5nL2N1c3RvbS1oaWdobGlnaHQtcGFpbnRpbmctdGV4
dC1zaGFkb3cudGVudGF0aXZlLWV4cGVjdGVkLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0
b20taGlnaGxpZ2h0LXBhaW50aW5nLXRleHQtc2hhZG93LnRlbnRhdGl2ZS5odG1sCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1h
cGkvcGFpbnRpbmcvY3VzdG9tLWhpZ2hsaWdodC1wYWludGluZy12ZXJ0aWNhbC13cml0aW5nLW1v
ZGUtMDAxLWV4cGVjdGVkLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9wYWludGluZy9jdXN0b20taGlnaGxpZ2h0
LXBhaW50aW5nLXZlcnRpY2FsLXdyaXRpbmctbW9kZS0wMDEtcmVmLmh0bWwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9w
YWludGluZy9jdXN0b20taGlnaGxpZ2h0LXBhaW50aW5nLXZlcnRpY2FsLXdyaXRpbmctbW9kZS0w
MDEuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS93
M2MtaW1wb3J0LmxvZwppbmRleCAxODY0MzYxNjg1NGMuLjM2MzI0MGYzNWM1OSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhp
Z2hsaWdodC1hcGkvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvdzNjLWltcG9ydC5sb2cK
QEAgLTE2LDcgKzE2LDYgQEAgTm9uZQogTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9IaWdobGln
aHQtaXRlcmF0aW9uLXdpdGgtbW9kaWZpY2F0aW9ucy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvSGlnaGxpZ2h0
LWl0ZXJhdGlvbi5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvSGlnaGxpZ2h0LW11bHRpcGxlLXR5cGUtYXR0cmli
dXRlLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtaGlnaGxpZ2h0LWFwaS9IaWdobGlnaHQtc2V0bGlrZS10YW1wZXJlZC1TZXQtcHJvdG90
eXBlLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtaGlnaGxpZ2h0LWFwaS9IaWdobGlnaHQtc2V0bGlrZS5odG1sCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvSGln
aGxpZ2h0LXR5cGUtYXR0cmlidXRlLnRlbnRhdGl2ZS5odG1sCkBAIC0yNCwxMiArMjMsNiBAQCBM
aXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL0hpZ2hsaWdodFJlZ2lzdHJ5LWl0ZXJhdGlvbi5odG1s
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhp
Z2hsaWdodC1hcGkvSGlnaGxpZ2h0UmVnaXN0cnktbWFwbGlrZS10YW1wZXJlZC1NYXAtcHJvdG90
eXBlLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtaGlnaGxpZ2h0LWFwaS9IaWdobGlnaHRSZWdpc3RyeS1tYXBsaWtlLmh0bWwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0
LWFwaS9oaWdobGlnaHQtcHJpb3JpdHktcGFpbnRpbmctZXhwZWN0ZWQuaHRtbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBp
L2hpZ2hsaWdodC1wcmlvcml0eS1wYWludGluZy1yZWYuaHRtbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdobGlnaHQtYXBpL2hpZ2hsaWdo
dC1wcmlvcml0eS1wYWludGluZy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvaGlnaGxpZ2h0LXByaW9yaXR5Lmh0
bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
aGlnaGxpZ2h0LWFwaS9oaWdobGlnaHQtcHNldWRvLWNvbXB1dGVkLmh0bWwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9o
aWdobGlnaHQtcHNldWRvLWZyb20tZm9udC1jb21wdXRlZC5odG1sCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWhpZ2hsaWdodC1hcGkvaGlnaGxp
Z2h0LXBzZXVkby1wYXJzaW5nLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS9oaXN0b3JpY2FsLndpbmRvdy5qcwog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1oaWdo
bGlnaHQtYXBpL2lkbGhhcm5lc3Mud2luZG93LmpzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRvL2hpZ2hsaWdodC1j
dXJyZW50Y29sb3ItY29tcHV0ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby9oaWdobGlnaHQtY3VycmVudGNv
bG9yLWNvbXB1dGVkLWV4cGVjdGVkLnR4dAppbmRleCA5MGZlMjRhOTY2OTYuLmE5ZTZmMDBiZTIx
ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXBzZXVkby9oaWdobGlnaHQtY3VycmVudGNvbG9yLWNvbXB1dGVkLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtcHNldWRvL2hpZ2hsaWdodC1jdXJyZW50Y29sb3ItY29tcHV0ZWQtZXhwZWN0ZWQudHh0
CkBAIC03LDYgKzcsNiBAQCBQQVNTIGdldENvbXB1dGVkU3R5bGUoKSBmb3IgOjpzcGVsbGluZy1l
cnJvciBhdCAjdGFyZ2V0MQogUEFTUyBnZXRDb21wdXRlZFN0eWxlKCkgZm9yIDo6c3BlbGxpbmct
ZXJyb3IgYXQgI3RhcmdldDIKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZSgpIGZvciA6OmdyYW1tYXIt
ZXJyb3IgYXQgI3RhcmdldDEKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZSgpIGZvciA6OmdyYW1tYXIt
ZXJyb3IgYXQgI3RhcmdldDIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZSgpIGZvciA6OmhpZ2hsaWdo
dChmb28pIGF0ICN0YXJnZXQxCi1QQVNTIGdldENvbXB1dGVkU3R5bGUoKSBmb3IgOjpoaWdobGln
aHQoZm9vKSBhdCAjdGFyZ2V0MgorRkFJTCBnZXRDb21wdXRlZFN0eWxlKCkgZm9yIDo6aGlnaGxp
Z2h0KGZvbykgYXQgI3RhcmdldDEgYXNzZXJ0X2VxdWFsczogQmFja2dyb3VuZCBjb2xvciBpcyBs
aW1lLiBleHBlY3RlZCAicmdiKDAsIDI1NSwgMCkiIGJ1dCBnb3QgIiIKK0ZBSUwgZ2V0Q29tcHV0
ZWRTdHlsZSgpIGZvciA6OmhpZ2hsaWdodChmb28pIGF0ICN0YXJnZXQyIGFzc2VydF9lcXVhbHM6
IEJhY2tncm91bmQgY29sb3IgaXMgbGltZS4gZXhwZWN0ZWQgInJnYigwLCAyNTUsIDApIiBidXQg
Z290ICIiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vaGlnaGxpZ2h0LWN1cnJlbnRjb2xvci1jb21wdXRlZC1p
bmhlcml0YW5jZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRvL2hpZ2hsaWdodC1jdXJyZW50Y29sb3ItY29tcHV0
ZWQtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CmluZGV4IDZjMmI0YzViMDU2Mi4uNmFiYjFmMDhl
NTM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtcHNldWRvL2hpZ2hsaWdodC1jdXJyZW50Y29sb3ItY29tcHV0ZWQtaW5oZXJp
dGFuY2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vaGlnaGxpZ2h0LWN1cnJlbnRjb2xvci1jb21wdXRl
ZC1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKQEAgLTMsNSArMyw1IEBAIEZBSUwgZ2V0Q29tcHV0
ZWRTdHlsZSgpIGZvciA6OnNlbGVjdGlvbiBhc3NlcnRfZXF1YWxzOiBCYWNrZ3JvdW5kIGNvbG9y
IGlzIGxpbWUuCiBGQUlMIGdldENvbXB1dGVkU3R5bGUoKSBmb3IgOjp0YXJnZXQtdGV4dCBhc3Nl
cnRfZXF1YWxzOiBCYWNrZ3JvdW5kIGNvbG9yIGlzIGxpbWUuIGV4cGVjdGVkICJyZ2IoMCwgMjU1
LCAwKSIgYnV0IGdvdCAiIgogRkFJTCBnZXRDb21wdXRlZFN0eWxlKCkgZm9yIDo6c3BlbGxpbmct
ZXJyb3IgYXNzZXJ0X2VxdWFsczogQmFja2dyb3VuZCBjb2xvciBpcyBsaW1lLiBleHBlY3RlZCAi
cmdiKDAsIDI1NSwgMCkiIGJ1dCBnb3QgInJnYmEoMCwgMCwgMCwgMCkiCiBGQUlMIGdldENvbXB1
dGVkU3R5bGUoKSBmb3IgOjpncmFtbWFyLWVycm9yIGFzc2VydF9lcXVhbHM6IEJhY2tncm91bmQg
Y29sb3IgaXMgbGltZS4gZXhwZWN0ZWQgInJnYigwLCAyNTUsIDApIiBidXQgZ290ICJyZ2JhKDAs
IDAsIDAsIDApIgotRkFJTCBnZXRDb21wdXRlZFN0eWxlKCkgZm9yIDo6aGlnaGxpZ2h0KGZvbykg
YXNzZXJ0X2VxdWFsczogQmFja2dyb3VuZCBjb2xvciBpcyBsaW1lLiBleHBlY3RlZCAicmdiKDAs
IDI1NSwgMCkiIGJ1dCBnb3QgInJnYmEoMCwgMCwgMCwgMCkiCitGQUlMIGdldENvbXB1dGVkU3R5
bGUoKSBmb3IgOjpoaWdobGlnaHQoZm9vKSBhc3NlcnRfZXF1YWxzOiBCYWNrZ3JvdW5kIGNvbG9y
IGlzIGxpbWUuIGV4cGVjdGVkICJyZ2IoMCwgMjU1LCAwKSIgYnV0IGdvdCAiIgogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
cHNldWRvL2hpZ2hsaWdodC1jdXJyZW50Y29sb3ItY29tcHV0ZWQtdmlzaXRlZC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
cHNldWRvL2hpZ2hsaWdodC1jdXJyZW50Y29sb3ItY29tcHV0ZWQtdmlzaXRlZC1leHBlY3RlZC50
eHQKaW5kZXggMDg5MTBhMTgxYWRiLi43MDkyMjhlZjU4ZDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vaGlnaGxp
Z2h0LWN1cnJlbnRjb2xvci1jb21wdXRlZC12aXNpdGVkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRvL2hp
Z2hsaWdodC1jdXJyZW50Y29sb3ItY29tcHV0ZWQtdmlzaXRlZC1leHBlY3RlZC50eHQKQEAgLTcs
NiArNyw2IEBAIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZSgpIGZvciA6OnNwZWxsaW5nLWVycm9yIGF0
ICN0YXJnZXQxCiBQQVNTIGdldENvbXB1dGVkU3R5bGUoKSBmb3IgOjpzcGVsbGluZy1lcnJvciBh
dCAjdGFyZ2V0MgogUEFTUyBnZXRDb21wdXRlZFN0eWxlKCkgZm9yIDo6Z3JhbW1hci1lcnJvciBh
dCAjdGFyZ2V0MQogUEFTUyBnZXRDb21wdXRlZFN0eWxlKCkgZm9yIDo6Z3JhbW1hci1lcnJvciBh
dCAjdGFyZ2V0MgotUEFTUyBnZXRDb21wdXRlZFN0eWxlKCkgZm9yIDo6aGlnaGxpZ2h0KGZvbykg
YXQgI3RhcmdldDEKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZSgpIGZvciA6OmhpZ2hsaWdodChmb28p
IGF0ICN0YXJnZXQyCitGQUlMIGdldENvbXB1dGVkU3R5bGUoKSBmb3IgOjpoaWdobGlnaHQoZm9v
KSBhdCAjdGFyZ2V0MSBhc3NlcnRfZXF1YWxzOiBDb2xvciBpcyBsaW1lLiBleHBlY3RlZCAicmdi
KDAsIDI1NSwgMCkiIGJ1dCBnb3QgIiIKK0ZBSUwgZ2V0Q29tcHV0ZWRTdHlsZSgpIGZvciA6Omhp
Z2hsaWdodChmb28pIGF0ICN0YXJnZXQyIGFzc2VydF9lcXVhbHM6IENvbG9yIGlzIGxpbWUuIGV4
cGVjdGVkICJyZ2IoMCwgMjU1LCAwKSIgYnV0IGdvdCAiIgogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRvL2hpZ2hs
aWdodC1wc2V1ZG9zLWNvbXB1dGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vaGlnaGxpZ2h0LXBzZXVkb3Mt
Y29tcHV0ZWQtZXhwZWN0ZWQudHh0CmluZGV4IDQwZDQ3ZDg1YThmOC4uNWY5MzdlNDhjOTUwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtcHNldWRvL2hpZ2hsaWdodC1wc2V1ZG9zLWNvbXB1dGVkLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNl
dWRvL2hpZ2hsaWdodC1wc2V1ZG9zLWNvbXB1dGVkLWV4cGVjdGVkLnR4dApAQCAtMzEsNyArMzEs
NyBAQCBQQVNTIGdldENvbXB1dGVkU3R5bGUoKSBmb3IgOjpncmFtbWFyLWVycm9yKGZvbykgc2hv
dWxkIHJldHVybiBhbiBlbXB0eSBDU1NTdHlsZQogUEFTUyBnZXRDb21wdXRlZFN0eWxlKCkgZm9y
IDo6Z3JhbW1hci1lcnJvcigpIHNob3VsZCByZXR1cm4gYW4gZW1wdHkgQ1NTU3R5bGVEZWNsYXJh
dGlvbgogUEFTUyBnZXRDb21wdXRlZFN0eWxlKCkgZm9yIDo6OmdyYW1tYXItZXJyb3Igc2hvdWxk
IHJldHVybiBhbiBlbXB0eSBDU1NTdHlsZURlY2xhcmF0aW9uCiBQQVNTIGdldENvbXB1dGVkU3R5
bGUoKSBmb3IgOjpncmFtbWFyLWVycm9yLiBzaG91bGQgcmV0dXJuIGFuIGVtcHR5IENTU1N0eWxl
RGVjbGFyYXRpb24KLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZSgpIGZvciA6OmhpZ2hsaWdodChmb28p
CitGQUlMIGdldENvbXB1dGVkU3R5bGUoKSBmb3IgOjpoaWdobGlnaHQoZm9vKSBhc3NlcnRfZXF1
YWxzOiBCYWNrZ3JvdW5kIGNvbG9yIGlzIGdyZWVuLiBleHBlY3RlZCAicmdiKDAsIDEyOCwgMCki
IGJ1dCBnb3QgIiIKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZSgpIGZvciA6OmhpZ2hsaWdodChmb28p
OiBzaG91bGQgcmV0dXJuIGFuIGVtcHR5IENTU1N0eWxlRGVjbGFyYXRpb24KIFBBU1MgZ2V0Q29t
cHV0ZWRTdHlsZSgpIGZvciA6OmhpZ2hsaWdodChmb28pKSBzaG91bGQgcmV0dXJuIGFuIGVtcHR5
IENTU1N0eWxlRGVjbGFyYXRpb24KIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZSgpIGZvciA6OmhpZ2hs
aWdodChmb28pKCBzaG91bGQgcmV0dXJuIGFuIGVtcHR5IENTU1N0eWxlRGVjbGFyYXRpb24KQEAg
LTM5LDUgKzM5LDUgQEAgUEFTUyBnZXRDb21wdXRlZFN0eWxlKCkgZm9yIDo6aGlnaGxpZ2h0KGZv
bykoZm9vKSBzaG91bGQgcmV0dXJuIGFuIGVtcHR5IENTU1N0eWwKIFBBU1MgZ2V0Q29tcHV0ZWRT
dHlsZSgpIGZvciA6OmhpZ2hsaWdodChmb28pKCkgc2hvdWxkIHJldHVybiBhbiBlbXB0eSBDU1NT
dHlsZURlY2xhcmF0aW9uCiBQQVNTIGdldENvbXB1dGVkU3R5bGUoKSBmb3IgOjo6aGlnaGxpZ2h0
KGZvbykgc2hvdWxkIHJldHVybiBhbiBlbXB0eSBDU1NTdHlsZURlY2xhcmF0aW9uCiBQQVNTIGdl
dENvbXB1dGVkU3R5bGUoKSBmb3IgOjpoaWdobGlnaHQoZm9vKS4gc2hvdWxkIHJldHVybiBhbiBl
bXB0eSBDU1NTdHlsZURlY2xhcmF0aW9uCi1QQVNTIERpZmZlcmVudCBnZXRDb21wdXRlZFN0eWxl
KCkgZm9yIDo6aGlnaGxpZ2h0KGJhcikgYW5kIHNhbWUgZWxlbWVudAorRkFJTCBEaWZmZXJlbnQg
Z2V0Q29tcHV0ZWRTdHlsZSgpIGZvciA6OmhpZ2hsaWdodChiYXIpIGFuZCBzYW1lIGVsZW1lbnQg
YXNzZXJ0X2VxdWFsczogQmFja2dyb3VuZCBjb2xvciBpcyBibHVlLiBleHBlY3RlZCAicmdiKDAs
IDAsIDI1NSkiIGJ1dCBnb3QgIiIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby9oaWdobGlnaHQtcHNldWRvcy1p
bmhlcml0YW5jZS1jb21wdXRlZC0wMDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby9oaWdobGlnaHQtcHNldWRv
cy1pbmhlcml0YW5jZS1jb21wdXRlZC0wMDEtZXhwZWN0ZWQudHh0CmluZGV4IDZlZDk0ZmY3ZTcw
Yy4uMmQ2M2RhMzA4M2VjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRvL2hpZ2hsaWdodC1wc2V1ZG9zLWluaGVyaXRh
bmNlLWNvbXB1dGVkLTAwMS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby9oaWdobGlnaHQtcHNldWRvcy1p
bmhlcml0YW5jZS1jb21wdXRlZC0wMDEtZXhwZWN0ZWQudHh0CkBAIC03LDYgKzcsNiBAQCBGQUlM
IGdldENvbXB1dGVkU3R5bGUoKSBmb3IgOjpzcGVsbGluZy1lcnJvciBhdCAjY2hpbGQxIGFzc2Vy
dF9lcXVhbHM6IEJhY2tncm91bgogRkFJTCBnZXRDb21wdXRlZFN0eWxlKCkgZm9yIDo6c3BlbGxp
bmctZXJyb3IgYXQgI2NoaWxkMiBhc3NlcnRfZXF1YWxzOiBCYWNrZ3JvdW5kIGNvbG9yIGlzIGdy
ZWVuLiBleHBlY3RlZCAicmdiKDAsIDEyOCwgMCkiIGJ1dCBnb3QgInJnYmEoMCwgMCwgMCwgMCki
CiBGQUlMIGdldENvbXB1dGVkU3R5bGUoKSBmb3IgOjpncmFtbWFyLWVycm9yIGF0ICNjaGlsZDEg
YXNzZXJ0X2VxdWFsczogQmFja2dyb3VuZCBjb2xvciBpcyBncmVlbi4gZXhwZWN0ZWQgInJnYigw
LCAxMjgsIDApIiBidXQgZ290ICJyZ2JhKDAsIDAsIDAsIDApIgogRkFJTCBnZXRDb21wdXRlZFN0
eWxlKCkgZm9yIDo6Z3JhbW1hci1lcnJvciBhdCAjY2hpbGQyIGFzc2VydF9lcXVhbHM6IEJhY2tn
cm91bmQgY29sb3IgaXMgZ3JlZW4uIGV4cGVjdGVkICJyZ2IoMCwgMTI4LCAwKSIgYnV0IGdvdCAi
cmdiYSgwLCAwLCAwLCAwKSIKLUZBSUwgZ2V0Q29tcHV0ZWRTdHlsZSgpIGZvciA6OmhpZ2hsaWdo
dChmb28pIGF0ICNjaGlsZDEgYXNzZXJ0X2VxdWFsczogQmFja2dyb3VuZCBjb2xvciBpcyBncmVl
bi4gZXhwZWN0ZWQgInJnYigwLCAxMjgsIDApIiBidXQgZ290ICJyZ2JhKDAsIDAsIDAsIDApIgot
RkFJTCBnZXRDb21wdXRlZFN0eWxlKCkgZm9yIDo6aGlnaGxpZ2h0KGZvbykgYXQgI2NoaWxkMiBh
c3NlcnRfZXF1YWxzOiBCYWNrZ3JvdW5kIGNvbG9yIGlzIGdyZWVuLiBleHBlY3RlZCAicmdiKDAs
IDEyOCwgMCkiIGJ1dCBnb3QgInJnYmEoMCwgMCwgMCwgMCkiCitGQUlMIGdldENvbXB1dGVkU3R5
bGUoKSBmb3IgOjpoaWdobGlnaHQoZm9vKSBhdCAjY2hpbGQxIGFzc2VydF9lcXVhbHM6IEJhY2tn
cm91bmQgY29sb3IgaXMgZ3JlZW4uIGV4cGVjdGVkICJyZ2IoMCwgMTI4LCAwKSIgYnV0IGdvdCAi
IgorRkFJTCBnZXRDb21wdXRlZFN0eWxlKCkgZm9yIDo6aGlnaGxpZ2h0KGZvbykgYXQgI2NoaWxk
MiBhc3NlcnRfZXF1YWxzOiBCYWNrZ3JvdW5kIGNvbG9yIGlzIGdyZWVuLiBleHBlY3RlZCAicmdi
KDAsIDEyOCwgMCkiIGJ1dCBnb3QgIiIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby9oaWdobGlnaHQtcHNldWRv
cy12aXNpdGVkLWNvbXB1dGVkLTAwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRvL2hpZ2hsaWdodC1wc2V1ZG9z
LXZpc2l0ZWQtY29tcHV0ZWQtMDAxLWV4cGVjdGVkLnR4dAppbmRleCAwODkxMGExODFhZGIuLjcw
OTIyOGVmNThkNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby9oaWdobGlnaHQtcHNldWRvcy12aXNpdGVkLWNvbXB1
dGVkLTAwMS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby9oaWdobGlnaHQtcHNldWRvcy12aXNpdGVkLWNv
bXB1dGVkLTAwMS1leHBlY3RlZC50eHQKQEAgLTcsNiArNyw2IEBAIFBBU1MgZ2V0Q29tcHV0ZWRT
dHlsZSgpIGZvciA6OnNwZWxsaW5nLWVycm9yIGF0ICN0YXJnZXQxCiBQQVNTIGdldENvbXB1dGVk
U3R5bGUoKSBmb3IgOjpzcGVsbGluZy1lcnJvciBhdCAjdGFyZ2V0MgogUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKCkgZm9yIDo6Z3JhbW1hci1lcnJvciBhdCAjdGFyZ2V0MQogUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKCkgZm9yIDo6Z3JhbW1hci1lcnJvciBhdCAjdGFyZ2V0MgotUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKCkgZm9yIDo6aGlnaGxpZ2h0KGZvbykgYXQgI3RhcmdldDEKLVBBU1MgZ2V0Q29tcHV0
ZWRTdHlsZSgpIGZvciA6OmhpZ2hsaWdodChmb28pIGF0ICN0YXJnZXQyCitGQUlMIGdldENvbXB1
dGVkU3R5bGUoKSBmb3IgOjpoaWdobGlnaHQoZm9vKSBhdCAjdGFyZ2V0MSBhc3NlcnRfZXF1YWxz
OiBDb2xvciBpcyBsaW1lLiBleHBlY3RlZCAicmdiKDAsIDI1NSwgMCkiIGJ1dCBnb3QgIiIKK0ZB
SUwgZ2V0Q29tcHV0ZWRTdHlsZSgpIGZvciA6OmhpZ2hsaWdodChmb28pIGF0ICN0YXJnZXQyIGFz
c2VydF9lcXVhbHM6IENvbG9yIGlzIGxpbWUuIGV4cGVjdGVkICJyZ2IoMCwgMjU1LCAwKSIgYnV0
IGdvdCAiIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3Mtdmlldy10cmFuc2l0aW9ucy9taXgtYmxlbmQtbW9kZS1vbmx5LW9u
LXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZpZXctdHJhbnNpdGlvbnMvbWl4LWJsZW5kLW1vZGUtb25s
eS1vbi10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dAppbmRleCA1ZDM4ZGYyMmE5NjkuLmNhYzkzNGUz
YmIzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXZpZXctdHJhbnNpdGlvbnMvbWl4LWJsZW5kLW1vZGUtb25seS1vbi10cmFu
c2l0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtdmlldy10cmFuc2l0aW9ucy9taXgtYmxlbmQtbW9kZS1vbmx5
LW9uLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIEJsZW5k
IG1vZGVzIGFyZSBzZXQgdXAgb24gcGFpcmVkIHRyYW5zaXRpb25zIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJpc29sYXRlIiBidXQgZ290ICJhdXRvIgorRkFJTCBCbGVuZCBtb2RlcyBhcmUgc2V0
IHVwIG9uIHBhaXJlZCB0cmFuc2l0aW9ucyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiYXV0byIg
YnV0IGdvdCAiIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtdmlldy10cmFuc2l0aW9ucy9wc2V1ZG8tZWxlbWVudC1hbmlt
YXRpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy12aWV3LXRyYW5zaXRpb25zL3BzZXVkby1lbGVtZW50LWFuaW1hdGlv
bnMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NmRjODA2MWFi
Y2UuLjAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3Mtdmlldy10cmFuc2l0aW9ucy9wc2V1ZG8tZWxlbWVudC1hbmltYXRp
b25zLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotCi1QQVNTIENT
UyBBbmltYXRpb25zIG9uIHZpZXcgdHJhbnNpdGlvbnMgYXJlIGNhbmNlbGVkIGFuZCByZXN0YXJ0
ZWQgd2hlbiB0aGUgdmlldyB0cmFuc2l0aW9uIHN0YXJ0cyBhbmQgZW5kcy4KLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZp
ZXctdHJhbnNpdGlvbnMvcHNldWRvLWVsZW1lbnQtYW5pbWF0aW9ucy5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZpZXctdHJhbnNpdGlv
bnMvcHNldWRvLWVsZW1lbnQtYW5pbWF0aW9ucy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBhN2MzMjQ3NDc5ZDAuLjAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtdmlldy10cmFuc2l0aW9ucy9wc2V1
ZG8tZWxlbWVudC1hbmltYXRpb25zLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBA
Ci08IWRvY3R5cGUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9dXRmLTg+Ci08dGl0bGU+Q1NTIEFuaW1h
dGlvbnMgb24gdmlldyB0cmFuc2l0aW9uIHBzZXVkb3MgcnVuIG1vcmUgdGhhbiBvbmNlPC90aXRs
ZT4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1h
bmltYXRpb25zLTEvIj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9jc3MtYW5pbWF0aW9ucy9zdXBwb3J0L3Rlc3Rjb21t
b24uanMiPjwvc2NyaXB0PgotPHN0eWxlPgotOnJvb3Q6OnZpZXctdHJhbnNpdGlvbiwKLTpyb290
Ojp2aWV3LXRyYW5zaXRpb24tZ3JvdXAocm9vdCksCi06cm9vdDo6dmlldy10cmFuc2l0aW9uLWlt
YWdlLXBhaXIocm9vdCksCi06cm9vdDo6dmlldy10cmFuc2l0aW9uLW9sZChyb290KSwKLTpyb290
Ojp2aWV3LXRyYW5zaXRpb24tbmV3KHJvb3QpIHsKLSAgICBhbmltYXRpb246IHZpZXctdHJhbnNp
dGlvbi1hbmltYXRpb24gMW1zOwotfQotQGtleWZyYW1lcyB2aWV3LXRyYW5zaXRpb24tYW5pbWF0
aW9uIHsKLSAgICB0byB7IG9wYWNpdHk6IDAgfQotfQotPC9zdHlsZT4KLTxkaXYgaWQ9ImxvZyI+
PC9kaXY+Ci08c2NyaXB0PgotInVzZSBzdHJpY3QiOwotcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4g
ewotICAgIGxldCB2aWV3VHJhbnNpdGlvbiA9IGRvY3VtZW50LnN0YXJ0Vmlld1RyYW5zaXRpb24o
KCkgPT4ge30pOwotICAgIGF3YWl0IHZpZXdUcmFuc2l0aW9uLnJlYWR5OwotICAgIGFzc2VydF9l
cXVhbHMoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEFuaW1hdGlvbnMoeyBzdWJ0cmVlOiB0
cnVlIH0pLmxlbmd0aCwgNSwgIlN0YXJ0aW5nIGEgdmlldyB0cmFuc2l0aW9uIHNob3VsZCBzdGFy
dCByZWxhdGVkIGFuaW1hdGlvbnMuIik7Ci0KLSAgICBhd2FpdCB2aWV3VHJhbnNpdGlvbi5maW5p
c2hlZDsKLSAgICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5nZXRBbmlt
YXRpb25zKHsgc3VidHJlZTogdHJ1ZSB9KS5sZW5ndGgsIDAsICJTdG9wcGluZyBhIHZpZXcgdHJh
bnNpdGlvbiBzaG91bGQgc3RvcCByZWxhdGVkIGFuaW1hdGlvbnMuIik7Ci0KLSAgICBhd2FpdCB3
YWl0Rm9yTmV4dEZyYW1lKCk7Ci0gICAgdmlld1RyYW5zaXRpb24gPSBkb2N1bWVudC5zdGFydFZp
ZXdUcmFuc2l0aW9uKCgpID0+IHt9KTsKLSAgICBhd2FpdCB2aWV3VHJhbnNpdGlvbi5yZWFkeTsK
LSAgICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5nZXRBbmltYXRpb25z
KHsgc3VidHJlZTogdHJ1ZSB9KS5sZW5ndGgsIDUsICJSZS1zdGFydGluZyBhIHZpZXctdHJhbnNp
dGlvbiBzaG91bGQgcmVzdGFydCByZWxhdGVkIGFuaW1hdGlvbnMuIik7Ci19LCAiQ1NTIEFuaW1h
dGlvbnMgb24gdmlldyB0cmFuc2l0aW9ucyBhcmUgY2FuY2VsZWQgYW5kIHJlc3RhcnRlZCB3aGVu
IHRoZSB2aWV3IHRyYW5zaXRpb24gc3RhcnRzIGFuZCBlbmRzLiIpOwotPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3Mtdmlldy10cmFuc2l0aW9ucy9wc2V1ZG8tZ2V0LWNvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12
aWV3LXRyYW5zaXRpb25zL3BzZXVkby1nZXQtY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDliOGZhMWE1MTQ4ZS4uZGZhZjE4NGVlNmRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtdmlldy10cmFuc2l0aW9ucy9w
c2V1ZG8tZ2V0LWNvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtdmlldy10cmFuc2l0aW9ucy9w
c2V1ZG8tZ2V0LWNvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNP
TlNPTEUgTUVTU0FHRTogRXJyb3I6IGFzc2VydF9lcXVhbHM6IGNvbnRhaW5lcih0YXJnZXQpIGV4
cGVjdGVkICJtdWx0aXBseSIgYnV0IGdvdCAibm9ybWFsIgorQ09OU09MRSBNRVNTQUdFOiBFcnJv
cjogYXNzZXJ0X2VxdWFsczogY29udGFpbmVyKHRhcmdldCkgZXhwZWN0ZWQgImFic29sdXRlIiBi
dXQgZ290ICJzdGF0aWMiCiBDT05TT0xFIE1FU1NBR0U6IFVuaGFuZGxlZCBQcm9taXNlIFJlamVj
dGlvbjogVHlwZUVycm9yOiBUeXBlIGVycm9yCiAKIEhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNz
YWdlID0gVW5oYW5kbGVkIHJlamVjdGlvbjogVHlwZSBlcnJvcgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZpZXctdHJhbnNp
dGlvbnMvcHNldWRvLWdldC1jb21wdXRlZC1zdHlsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZpZXctdHJhbnNpdGlvbnMvcHNldWRv
LWdldC1jb21wdXRlZC1zdHlsZS5odG1sCmluZGV4IDNlOTcxODg1YzM5OC4uMjQ4MWE3MTMxMzNi
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtdmlldy10cmFuc2l0aW9ucy9wc2V1ZG8tZ2V0LWNvbXB1dGVkLXN0eWxlLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXZpZXctdHJhbnNpdGlvbnMvcHNldWRvLWdldC1jb21wdXRlZC1zdHlsZS5odG1sCkBAIC0xLDcg
KzEsNyBAQAogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KLTx0aXRsZT5WaWV3IHRyYW5zaXRpb25z
OiBjaGVjayBwc2V1ZG8gZWxlbWVudCdzIGRlZmF1bHQgc3R5bGVzPC90aXRsZT4KLTxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy12aWV3LXRyYW5zaXRp
b25zLTEvIj4KKzx0aXRsZT5WaWV3IHRyYW5zaXRpb25zOiBjaGVjayBwc2V1ZG8gZWxlbWVudCdz
IGRpc3BsYXkgcHJvcGVydHk8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczov
L2dpdGh1Yi5jb20vV0lDRy92aWV3LXRyYW5zaXRpb25zIj4KIDxsaW5rIHJlbD0iYXV0aG9yIiBo
cmVmPSJtYWlsdG86dm1wc3RyQGNocm9taXVtLm9yZyI+CiAKIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KQEAgLTMwLDM0ICszMCwzNCBAQCBwcm9taXNl
X3Rlc3QoKCkgPT4gewogICBhc3NlcnRfaW1wbGVtZW50cyhkb2N1bWVudC5zdGFydFZpZXdUcmFu
c2l0aW9uLCAiTWlzc2luZyBkb2N1bWVudC5zdGFydFZpZXdUcmFuc2l0aW9uIik7CiAgIHJldHVy
biBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CiAgICAgbGV0IHRyYW5z
aXRpb24gPSBkb2N1bWVudC5zdGFydFZpZXdUcmFuc2l0aW9uKCgpID0+IHsKLSAgICAgIGFzc2Vy
dF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsICI6OnZp
ZXctdHJhbnNpdGlvbiIpLnBvc2l0aW9uLCAiZml4ZWQiLCAiOjp2aWV3LXRyYW5zaXRpb24iKTsK
LSAgICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVs
ZW1lbnQsICI6OnZpZXctdHJhbnNpdGlvbi1ncm91cCh0YXJnZXQpIikucG9zaXRpb24sICJhYnNv
bHV0ZSIsICJjb250YWluZXIodGFyZ2V0KSIpOwotICAgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21w
dXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgIjo6dmlldy10cmFuc2l0aW9uLWdy
b3VwKHRhcmdldCkiKS5taXhCbGVuZE1vZGUsICJtdWx0aXBseSIsICJjb250YWluZXIodGFyZ2V0
KSIpOwotICAgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3Vt
ZW50RWxlbWVudCwgIjo6dmlldy10cmFuc2l0aW9uLWdyb3VwKHRhcmdldCkiKS50ZXh0T3JpZW50
YXRpb24sICJ1cHJpZ2h0IiwgImNvbnRhaW5lcih0YXJnZXQpIik7Ci0gICAgICBhc3NlcnRfZXF1
YWxzKGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCAiOjp2aWV3LXRy
YW5zaXRpb24tZ3JvdXAodGFyZ2V0KSIpLmNvbG9yU2NoZW1lLCAiZGFyayBsaWdodCIsICJjb250
YWluZXIodGFyZ2V0KSIpOwotICAgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRv
Y3VtZW50LmRvY3VtZW50RWxlbWVudCwgIjo6dmlldy10cmFuc2l0aW9uLWltYWdlLXBhaXIodGFy
Z2V0KSIpLnBvc2l0aW9uLCAiYWJzb2x1dGUiLCAid3JhcHBlcih0YXJnZXQpIik7CisgICAgICBh
c3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCAi
OnZpZXctdHJhbnNpdGlvbiIpLnBvc2l0aW9uLCAiZml4ZWQiLCAiOnZpZXctdHJhbnNpdGlvbiIp
OworICAgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50
RWxlbWVudCwgIjp2aWV3LXRyYW5zaXRpb24tZ3JvdXAodGFyZ2V0KSIpLnBvc2l0aW9uLCAiYWJz
b2x1dGUiLCAiY29udGFpbmVyKHRhcmdldCkiKTsKKyAgICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29t
cHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsICI6dmlldy10cmFuc2l0aW9uLWdy
b3VwKHRhcmdldCkiKS5taXhCbGVuZE1vZGUsICJtdWx0aXBseSIsICJjb250YWluZXIodGFyZ2V0
KSIpOworICAgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3Vt
ZW50RWxlbWVudCwgIjp2aWV3LXRyYW5zaXRpb24tZ3JvdXAodGFyZ2V0KSIpLnRleHRPcmllbnRh
dGlvbiwgInVwcmlnaHQiLCAiY29udGFpbmVyKHRhcmdldCkiKTsKKyAgICAgIGFzc2VydF9lcXVh
bHMoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsICI6dmlldy10cmFu
c2l0aW9uLWdyb3VwKHRhcmdldCkiKS5jb2xvclNjaGVtZSwgImRhcmsgbGlnaHQiLCAiY29udGFp
bmVyKHRhcmdldCkiKTsKKyAgICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1
bWVudC5kb2N1bWVudEVsZW1lbnQsICI6dmlldy10cmFuc2l0aW9uLWltYWdlLXBhaXIodGFyZ2V0
KSIpLnBvc2l0aW9uLCAiYWJzb2x1dGUiLCAid3JhcHBlcih0YXJnZXQpIik7CiAKLSAgICAgIGFz
c2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsICI6
OnZpZXctdHJhbnNpdGlvbi1vbGQodGFyZ2V0KSIpLnBvc2l0aW9uLCAiYWJzb2x1dGUiLCAib3V0
Z29pbmcodGFyZ2V0KSIpOworICAgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRv
Y3VtZW50LmRvY3VtZW50RWxlbWVudCwgIjp2aWV3LXRyYW5zaXRpb24tb2xkKHRhcmdldCkiKS5w
b3NpdGlvbiwgImFic29sdXRlIiwgIm91dGdvaW5nKHRhcmdldCkiKTsKIAotICAgICAgYXNzZXJ0
X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgIjo6dmll
dy10cmFuc2l0aW9uLWdyb3VwKHJvb3QpIikucG9zaXRpb24sICJhYnNvbHV0ZSIsICJjb250YWlu
ZXIocm9vdCkiKTsKLSAgICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVu
dC5kb2N1bWVudEVsZW1lbnQsICI6OnZpZXctdHJhbnNpdGlvbi1ncm91cChyb290KSIpLm1peEJs
ZW5kTW9kZSwgIm5vcm1hbCIsICJjb250YWluZXIocm9vdCkiKTsKLSAgICAgIGFzc2VydF9lcXVh
bHMoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsICI6OnZpZXctdHJh
bnNpdGlvbi1pbWFnZS1wYWlyKHJvb3QpIikucG9zaXRpb24sICJhYnNvbHV0ZSIsICJ3cmFwcGVy
KHJvb3QpIik7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
ZG9jdW1lbnRFbGVtZW50LCAiOjp2aWV3LXRyYW5zaXRpb24tb2xkKHJvb3QpIikucG9zaXRpb24s
ICJhYnNvbHV0ZSIsICJvdXRnb2luZyhyb290KSIpOworICAgICAgYXNzZXJ0X2VxdWFscyhnZXRD
b21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgIjp2aWV3LXRyYW5zaXRpb24t
Z3JvdXAocm9vdCkiKS5wb3NpdGlvbiwgImFic29sdXRlIiwgImNvbnRhaW5lcihyb290KSIpOwor
ICAgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxl
bWVudCwgIjp2aWV3LXRyYW5zaXRpb24tZ3JvdXAocm9vdCkiKS5taXhCbGVuZE1vZGUsICJub3Jt
YWwiLCAiY29udGFpbmVyKHJvb3QpIik7CisgICAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVk
U3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCAiOnZpZXctdHJhbnNpdGlvbi1pbWFnZS1w
YWlyKHJvb3QpIikucG9zaXRpb24sICJhYnNvbHV0ZSIsICJ3cmFwcGVyKHJvb3QpIik7CisgICAg
ICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50
LCAiOnZpZXctdHJhbnNpdGlvbi1vbGQocm9vdCkiKS5wb3NpdGlvbiwgImFic29sdXRlIiwgIm91
dGdvaW5nKHJvb3QpIik7CiAKICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7Ci0g
ICAgICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVs
ZW1lbnQsICI6OnZpZXctdHJhbnNpdGlvbiIpLnBvc2l0aW9uLCAiZml4ZWQiLCAicmFmIDo6dmll
dy10cmFuc2l0aW9uIik7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShk
b2N1bWVudC5kb2N1bWVudEVsZW1lbnQsICI6OnZpZXctdHJhbnNpdGlvbi1ncm91cCh0YXJnZXQp
IikucG9zaXRpb24sICJhYnNvbHV0ZSIsICJyYWYgY29udGFpbmVyKHRhcmdldCkiKTsKLSAgICAg
ICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVu
dCwgIjo6dmlldy10cmFuc2l0aW9uLWdyb3VwKHRhcmdldCkiKS5taXhCbGVuZE1vZGUsICJtdWx0
aXBseSIsICJyYWYgY29udGFpbmVyKHRhcmdldCkiKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhn
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgIjo6dmlldy10cmFuc2l0
aW9uLWdyb3VwKHRhcmdldCkiKS50ZXh0T3JpZW50YXRpb24sICJ1cHJpZ2h0IiwgInJhZiBjb250
YWluZXIodGFyZ2V0KSIpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUo
ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCAiOjp2aWV3LXRyYW5zaXRpb24tZ3JvdXAodGFyZ2V0
KSIpLmNvbG9yU2NoZW1lLCAiZGFyayBsaWdodCIsICJyYWYgY29udGFpbmVyKHRhcmdldCkiKTsK
LSAgICAgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50
RWxlbWVudCwgIjo6dmlldy10cmFuc2l0aW9uLWltYWdlLXBhaXIodGFyZ2V0KSIpLnBvc2l0aW9u
LCAiZml4ZWQiLCAicmFmIHdyYXBwZXIodGFyZ2V0KSIpOwotCi0gICAgICAgIGFzc2VydF9lcXVh
bHMoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsICI6OnZpZXctdHJh
bnNpdGlvbi1vbGQodGFyZ2V0KSIpLnBvc2l0aW9uLCAiYWJzb2x1dGUiLCAicmFmIG91dGdvaW5n
KHRhcmdldCkiKTsKLQotICAgICAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZG9j
dW1lbnQuZG9jdW1lbnRFbGVtZW50LCAiOjp2aWV3LXRyYW5zaXRpb24tZ3JvdXAocm9vdCkiKS5w
b3NpdGlvbiwgImFic29sdXRlIiwgInJhZiBjb250YWluZXIocm9vdCkiKTsKLSAgICAgICAgYXNz
ZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgIjo6
dmlldy10cmFuc2l0aW9uLWdyb3VwKHJvb3QpIikubWl4QmxlbmRNb2RlLCAibm9ybWFsIiwgInJh
ZiBjb250YWluZXIocm9vdCkiKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0
eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgIjo6dmlldy10cmFuc2l0aW9uLWltYWdlLXBh
aXIocm9vdCkiKS5wb3NpdGlvbiwgImFic29sdXRlIiwgInJhZiB3cmFwcGVyKHJvb3QpIik7Ci0g
ICAgICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVs
ZW1lbnQsICI6OnZpZXctdHJhbnNpdGlvbi1vbGQocm9vdCkiKS5wb3NpdGlvbiwgImFic29sdXRl
IiwgInJhZiBvdXRnb2luZyhyb290KSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1
dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCAiOnZpZXctdHJhbnNpdGlvbiIpLnBv
c2l0aW9uLCAiZml4ZWQiLCAicmFmIDp2aWV3LXRyYW5zaXRpb24iKTsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgIjp2aWV3
LXRyYW5zaXRpb24tZ3JvdXAodGFyZ2V0KSIpLnBvc2l0aW9uLCAiYWJzb2x1dGUiLCAicmFmIGNv
bnRhaW5lcih0YXJnZXQpIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHls
ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsICI6dmlldy10cmFuc2l0aW9uLWdyb3VwKHRhcmdl
dCkiKS5taXhCbGVuZE1vZGUsICJtdWx0aXBseSIsICJyYWYgY29udGFpbmVyKHRhcmdldCkiKTsK
KyAgICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVs
ZW1lbnQsICI6dmlldy10cmFuc2l0aW9uLWdyb3VwKHRhcmdldCkiKS50ZXh0T3JpZW50YXRpb24s
ICJ1cHJpZ2h0IiwgInJhZiBjb250YWluZXIodGFyZ2V0KSIpOworICAgICAgYXNzZXJ0X2VxdWFs
cyhnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgIjp2aWV3LXRyYW5z
aXRpb24tZ3JvdXAodGFyZ2V0KSIpLmNvbG9yU2NoZW1lLCAiZGFyayBsaWdodCIsICJyYWYgY29u
dGFpbmVyKHRhcmdldCkiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxl
KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgIjp2aWV3LXRyYW5zaXRpb24taW1hZ2UtcGFpcih0
YXJnZXQpIikucG9zaXRpb24sICJmaXhlZCIsICJyYWYgd3JhcHBlcih0YXJnZXQpIik7CisKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxl
bWVudCwgIjp2aWV3LXRyYW5zaXRpb24tb2xkKHRhcmdldCkiKS5wb3NpdGlvbiwgImFic29sdXRl
IiwgInJhZiBvdXRnb2luZyh0YXJnZXQpIik7CisKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhnZXRD
b21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgIjp2aWV3LXRyYW5zaXRpb24t
Z3JvdXAocm9vdCkiKS5wb3NpdGlvbiwgImFic29sdXRlIiwgInJhZiBjb250YWluZXIocm9vdCki
KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3Vt
ZW50RWxlbWVudCwgIjp2aWV3LXRyYW5zaXRpb24tZ3JvdXAocm9vdCkiKS5taXhCbGVuZE1vZGUs
ICJub3JtYWwiLCAicmFmIGNvbnRhaW5lcihyb290KSIpOworICAgICAgICBhc3NlcnRfZXF1YWxz
KGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCAiOnZpZXctdHJhbnNp
dGlvbi1pbWFnZS1wYWlyKHJvb3QpIikucG9zaXRpb24sICJhYnNvbHV0ZSIsICJyYWYgd3JhcHBl
cihyb290KSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZG9jdW1l
bnQuZG9jdW1lbnRFbGVtZW50LCAiOnZpZXctdHJhbnNpdGlvbi1vbGQocm9vdCkiKS5wb3NpdGlv
biwgImFic29sdXRlIiwgInJhZiBvdXRnb2luZyhyb290KSIpOwogICAgICAgfSk7CiAgICAgfSk7
CiAgICAgYXdhaXQgdHJhbnNpdGlvbi5maW5pc2hlZDsKQEAgLTY5LDQyICs2OSw0MiBAQCBwcm9t
aXNlX3Rlc3QoKCkgPT4gewogICBhc3NlcnRfaW1wbGVtZW50cyhkb2N1bWVudC5zdGFydFZpZXdU
cmFuc2l0aW9uLCAiTWlzc2luZyBkb2N1bWVudC5zdGFydFZpZXdUcmFuc2l0aW9uIik7CiAgIHJl
dHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CiAgICAgbGV0IHRy
YW5zaXRpb24gPSBkb2N1bWVudC5zdGFydFZpZXdUcmFuc2l0aW9uKCgpID0+IHsKLSAgICAgIGFz
c2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsICI6
OnZpZXctdHJhbnNpdGlvbiIpLnBvc2l0aW9uLCAiZml4ZWQiKTsKLSAgICAgIGFzc2VydF9lcXVh
bHMoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsICI6OnZpZXctdHJh
bnNpdGlvbi1ncm91cCh0YXJnZXQpIikucG9zaXRpb24sICJhYnNvbHV0ZSIpOwotICAgICAgYXNz
ZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgIjo6
dmlldy10cmFuc2l0aW9uLWltYWdlLXBhaXIodGFyZ2V0KSIpLnBvc2l0aW9uLCAiYWJzb2x1dGUi
KTsKKyAgICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVu
dEVsZW1lbnQsICI6dmlldy10cmFuc2l0aW9uIikucG9zaXRpb24sICJmaXhlZCIpOworICAgICAg
YXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwg
Ijp2aWV3LXRyYW5zaXRpb24tZ3JvdXAodGFyZ2V0KSIpLnBvc2l0aW9uLCAiYWJzb2x1dGUiKTsK
KyAgICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVs
ZW1lbnQsICI6dmlldy10cmFuc2l0aW9uLWltYWdlLXBhaXIodGFyZ2V0KSIpLnBvc2l0aW9uLCAi
YWJzb2x1dGUiKTsKIAotICAgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRvY3Vt
ZW50LmRvY3VtZW50RWxlbWVudCwgIjo6dmlldy10cmFuc2l0aW9uLW9sZCh0YXJnZXQpIikucG9z
aXRpb24sICJhYnNvbHV0ZSIpOworICAgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxl
KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgIjp2aWV3LXRyYW5zaXRpb24tb2xkKHRhcmdldCki
KS5wb3NpdGlvbiwgImFic29sdXRlIik7CiAKLSAgICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0
ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsICI6OnZpZXctdHJhbnNpdGlvbi1ncm91
cChyb290KSIpLnBvc2l0aW9uLCAiYWJzb2x1dGUiKTsKLSAgICAgIGFzc2VydF9lcXVhbHMoZ2V0
Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsICI6OnZpZXctdHJhbnNpdGlv
bi1pbWFnZS1wYWlyKHJvb3QpIikucG9zaXRpb24sICJhYnNvbHV0ZSIpOwotICAgICAgYXNzZXJ0
X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgIjo6dmll
dy10cmFuc2l0aW9uLW9sZChyb290KSIpLnBvc2l0aW9uLCAiYWJzb2x1dGUiKTsKKyAgICAgIGFz
c2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsICI6
dmlldy10cmFuc2l0aW9uLWdyb3VwKHJvb3QpIikucG9zaXRpb24sICJhYnNvbHV0ZSIpOworICAg
ICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVu
dCwgIjp2aWV3LXRyYW5zaXRpb24taW1hZ2UtcGFpcihyb290KSIpLnBvc2l0aW9uLCAiYWJzb2x1
dGUiKTsKKyAgICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1
bWVudEVsZW1lbnQsICI6dmlldy10cmFuc2l0aW9uLW9sZChyb290KSIpLnBvc2l0aW9uLCAiYWJz
b2x1dGUiKTsKIAogICAgICAgdGFyZ2V0LnJlbW92ZSgpOwogICAgIH0pOwogCiAgICAgYXdhaXQg
dHJhbnNpdGlvbi5yZWFkeTsKIAotICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShk
b2N1bWVudC5kb2N1bWVudEVsZW1lbnQsICI6OnZpZXctdHJhbnNpdGlvbiIpLnBvc2l0aW9uLCAi
Zml4ZWQiKTsKLSAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9j
dW1lbnRFbGVtZW50LCAiOjp2aWV3LXRyYW5zaXRpb24tZ3JvdXAodGFyZ2V0KSIpLnBvc2l0aW9u
LCAiYWJzb2x1dGUiKTsKLSAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZG9jdW1l
bnQuZG9jdW1lbnRFbGVtZW50LCAiOjp2aWV3LXRyYW5zaXRpb24tZ3JvdXAodGFyZ2V0KSIpLm1p
eEJsZW5kTW9kZSwgIm11bHRpcGx5Iik7Ci0gICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0
eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgIjo6dmlldy10cmFuc2l0aW9uLWdyb3VwKHRh
cmdldCkiKS50ZXh0T3JpZW50YXRpb24sICJ1cHJpZ2h0Iik7Ci0gICAgYXNzZXJ0X2VxdWFscyhn
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgIjo6dmlldy10cmFuc2l0
aW9uLWdyb3VwKHRhcmdldCkiKS5jb2xvclNjaGVtZSwgImRhcmsgbGlnaHQiKTsKLSAgICBhc3Nl
cnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCAiOjp2
aWV3LXRyYW5zaXRpb24taW1hZ2UtcGFpcih0YXJnZXQpIikucG9zaXRpb24sICJmaXhlZCIpOwor
ICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1l
bnQsICI6dmlldy10cmFuc2l0aW9uIikucG9zaXRpb24sICJmaXhlZCIpOworICAgIGFzc2VydF9l
cXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsICI6dmlldy10
cmFuc2l0aW9uLWdyb3VwKHRhcmdldCkiKS5wb3NpdGlvbiwgImFic29sdXRlIik7CisgICAgYXNz
ZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgIjp2
aWV3LXRyYW5zaXRpb24tZ3JvdXAodGFyZ2V0KSIpLm1peEJsZW5kTW9kZSwgIm11bHRpcGx5Iik7
CisgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxl
bWVudCwgIjp2aWV3LXRyYW5zaXRpb24tZ3JvdXAodGFyZ2V0KSIpLnRleHRPcmllbnRhdGlvbiwg
InVwcmlnaHQiKTsKKyAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
ZG9jdW1lbnRFbGVtZW50LCAiOnZpZXctdHJhbnNpdGlvbi1ncm91cCh0YXJnZXQpIikuY29sb3JT
Y2hlbWUsICJkYXJrIGxpZ2h0Iik7CisgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxl
KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgIjp2aWV3LXRyYW5zaXRpb24taW1hZ2UtcGFpcih0
YXJnZXQpIikucG9zaXRpb24sICJmaXhlZCIpOwogCi0gICAgYXNzZXJ0X2VxdWFscyhnZXRDb21w
dXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgIjo6dmlldy10cmFuc2l0aW9uLW9s
ZCh0YXJnZXQpIikucG9zaXRpb24sICJhYnNvbHV0ZSIpOwotICAgIGFzc2VydF9lcXVhbHMoZ2V0
Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsICI6OnZpZXctdHJhbnNpdGlv
bi1uZXcodGFyZ2V0KSIpLnBvc2l0aW9uLCAiYWJzb2x1dGUiKTsKKyAgICBhc3NlcnRfZXF1YWxz
KGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCAiOnZpZXctdHJhbnNp
dGlvbi1vbGQodGFyZ2V0KSIpLnBvc2l0aW9uLCAiYWJzb2x1dGUiKTsKKyAgICBhc3NlcnRfZXF1
YWxzKGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCAiOnZpZXctdHJh
bnNpdGlvbi1uZXcodGFyZ2V0KSIpLnBvc2l0aW9uLCAiYWJzb2x1dGUiKTsKIAotICAgIGFzc2Vy
dF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsICI6OnZp
ZXctdHJhbnNpdGlvbi1ncm91cChyb290KSIpLnBvc2l0aW9uLCAiYWJzb2x1dGUiKTsKLSAgICBh
c3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCAi
Ojp2aWV3LXRyYW5zaXRpb24taW1hZ2UtcGFpcihyb290KSIpLnBvc2l0aW9uLCAiYWJzb2x1dGUi
KTsKLSAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50LCAiOjp2aWV3LXRyYW5zaXRpb24tb2xkKHJvb3QpIikucG9zaXRpb24sICJhYnNvbHV0
ZSIpOwotICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVu
dEVsZW1lbnQsICI6OnZpZXctdHJhbnNpdGlvbi1uZXcocm9vdCkiKS5wb3NpdGlvbiwgImFic29s
dXRlIik7CisgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3Vt
ZW50RWxlbWVudCwgIjp2aWV3LXRyYW5zaXRpb24tZ3JvdXAocm9vdCkiKS5wb3NpdGlvbiwgImFi
c29sdXRlIik7CisgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRv
Y3VtZW50RWxlbWVudCwgIjp2aWV3LXRyYW5zaXRpb24taW1hZ2UtcGFpcihyb290KSIpLnBvc2l0
aW9uLCAiYWJzb2x1dGUiKTsKKyAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZG9j
dW1lbnQuZG9jdW1lbnRFbGVtZW50LCAiOnZpZXctdHJhbnNpdGlvbi1vbGQocm9vdCkiKS5wb3Np
dGlvbiwgImFic29sdXRlIik7CisgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRv
Y3VtZW50LmRvY3VtZW50RWxlbWVudCwgIjp2aWV3LXRyYW5zaXRpb24tbmV3KHJvb3QpIikucG9z
aXRpb24sICJhYnNvbHV0ZSIpOwogCi0gICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxl
KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgIjo6dmlldy10cmFuc2l0aW9uLWdyb3VwKHRhcmdl
dCkiKS5wb3NpdGlvbiwgImFic29sdXRlIik7CisgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRl
ZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgIjp2aWV3LXRyYW5zaXRpb24tZ3JvdXAo
dGFyZ2V0KSIpLnBvc2l0aW9uLCAiYWJzb2x1dGUiKTsKIAogICAgIGF3YWl0IHRyYW5zaXRpb24u
ZmluaXNoZWQ7CiAKICAgICAvLyBXaXRoIGN1c3RvbSB1YSBzaGVldHMgbm90IGFwcGx5aW5nIHRv
IG5vbi1leGlzdGluZyBwc2V1ZG8sIHRoZSB2YWx1ZSBzaG91bGQgYmUgdGhlIGRlZmF1bHQgKG5v
dCBhYnNvbHV0ZSkKLSAgICBhc3NlcnRfbm90X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRvY3Vt
ZW50LmRvY3VtZW50RWxlbWVudCwgIjo6dmlldy10cmFuc2l0aW9uLWdyb3VwKHRhcmdldCkiKS5w
b3NpdGlvbiwgImFic29sdXRlIik7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMoZ2V0Q29tcHV0ZWRT
dHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsICI6dmlldy10cmFuc2l0aW9uLWdyb3VwKHRh
cmdldCkiKS5wb3NpdGlvbiwgImFic29sdXRlIik7CiAKICAgICByZXNvbHZlKCk7CiAgIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXZpZXctdHJhbnNpdGlvbnMvc3R5bGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZpZXct
dHJhbnNpdGlvbnMvc3R5bGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CmluZGV4IGUyN2M4Y2E4
MDc3ZC4uMGM1NGRmM2JkZTYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtdmlldy10cmFuc2l0aW9ucy9zdHlsZS1pbmhlcml0
YW5jZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXZpZXctdHJhbnNpdGlvbnMvc3R5bGUtaW5oZXJpdGFuY2UtZXhw
ZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAotQ09OU09MRSBNRVNTQUdFOiBVbmhhbmRsZWQgUHJv
bWlzZSBSZWplY3Rpb246IEVycm9yOiBhc3NlcnRfZXF1YWxzOiBncm91cCBleHBlY3RlZCAicmdi
KDI1NSwgMCwgMCkiIGJ1dCBnb3QgInJnYmEoMCwgMCwgMCwgMCkiCitDT05TT0xFIE1FU1NBR0U6
IFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjogRXJyb3I6IGFzc2VydF9lcXVhbHM6IGdyb3Vw
IGV4cGVjdGVkICJyZ2IoMjU1LCAwLCAwKSIgYnV0IGdvdCAiIgogCi1IYXJuZXNzIEVycm9yIChG
QUlMKSwgbWVzc2FnZSA9IFVuaGFuZGxlZCByZWplY3Rpb246IGFzc2VydF9lcXVhbHM6IGdyb3Vw
IGV4cGVjdGVkICJyZ2IoMjU1LCAwLCAwKSIgYnV0IGdvdCAicmdiYSgwLCAwLCAwLCAwKSIKK0hh
cm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gVW5oYW5kbGVkIHJlamVjdGlvbjogYXNzZXJ0
X2VxdWFsczogZ3JvdXAgZXhwZWN0ZWQgInJnYigyNTUsIDAsIDApIiBidXQgZ290ICIiCiAKIFBB
U1Mgc3R5bGUgaW5oZXJpdGFuY2Ugb2YgcHNldWRvIGVsZW1lbnRzCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12aWV3LXRy
YW5zaXRpb25zL3dlYi1hbmltYXRpb24tcHNldWRvLWluY29ycmVjdC1uYW1lLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12
aWV3LXRyYW5zaXRpb25zL3dlYi1hbmltYXRpb24tcHNldWRvLWluY29ycmVjdC1uYW1lLWV4cGVj
dGVkLnR4dAppbmRleCAzMzFmMGVlZGZiZjcuLmRhMmQ5MWRhNDVhZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZpZXctdHJh
bnNpdGlvbnMvd2ViLWFuaW1hdGlvbi1wc2V1ZG8taW5jb3JyZWN0LW5hbWUtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy12aWV3LXRyYW5zaXRpb25zL3dlYi1hbmltYXRpb24tcHNldWRvLWluY29ycmVjdC1uYW1lLWV4
cGVjdGVkLnR4dApAQCAtMSwzICsxLDEwIEBACitDT05TT0xFIE1FU1NBR0U6IFVuaGFuZGxlZCBQ
cm9taXNlIFJlamVjdGlvbjogU3ludGF4RXJyb3I6IFRoZSBzdHJpbmcgZGlkIG5vdCBtYXRjaCB0
aGUgZXhwZWN0ZWQgcGF0dGVybi4KIAotUEFTUyBhbmltYXRpb24gY3JlYXRlZCB3aXRoIGluY29y
cmVjdCBuYW1lCitIYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFVuaGFuZGxlZCByZWpl
Y3Rpb246IFRoZSBzdHJpbmcgZGlkIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgcGF0dGVybi4KKwor
VElNRU9VVCBhbmltYXRpb24gY3JlYXRlZCB3aXRoIGluY29ycmVjdCBuYW1lIFRlc3QgdGltZWQg
b3V0CisKK0hhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gVW5oYW5kbGVkIHJlamVjdGlv
bjogVGhlIHN0cmluZyBkaWQgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBwYXR0ZXJuLgorCitUSU1F
T1VUIGFuaW1hdGlvbiBjcmVhdGVkIHdpdGggaW5jb3JyZWN0IG5hbWUgVGVzdCB0aW1lZCBvdXQK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3Nzb20vZ2V0Q29tcHV0ZWRTdHlsZS1wc2V1ZG8tZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20vZ2V0Q29tcHV0
ZWRTdHlsZS1wc2V1ZG8tZXhwZWN0ZWQudHh0CmluZGV4IGRlMjE4ZWU1ZjJhZS4uN2JhNzZiYjRi
MDZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3NvbS9nZXRDb21wdXRlZFN0eWxlLXBzZXVkby1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20vZ2V0
Q29tcHV0ZWRTdHlsZS1wc2V1ZG8tZXhwZWN0ZWQudHh0CkBAIC0xNywxMyArMTcsMTMgQEAgUEFT
UyBDU1NTdHlsZURlY2xhcmF0aW9uIGlzIGltbXV0YWJsZQogUEFTUyBVbmtub3duIHBzZXVkby1l
bGVtZW50IHdpdGggYSBrbm93biBpZGVudGlmaWVyOiBiYWNrZHJvcAogRkFJTCBVbmtub3duIHBz
ZXVkby1lbGVtZW50IHdpdGggYSBrbm93biBpZGVudGlmaWVyOiBmaWxlLXNlbGVjdG9yLWJ1dHRv
biBhc3NlcnRfZXF1YWxzOiBTaG91bGQgcmV0dXJuIHRoZSA6OmZpbGUtc2VsZWN0b3ItYnV0dG9u
IHN0eWxlIGV4cGVjdGVkICJyZ2IoMCwgMTI4LCAwKSIgYnV0IGdvdCAicmdiKDI1NSwgMCwgMCki
CiBQQVNTIFVua25vd24gcHNldWRvLWVsZW1lbnQgd2l0aCBhIGtub3duIGlkZW50aWZpZXI6IGdy
YW1tYXItZXJyb3IKLVBBU1MgVW5rbm93biBwc2V1ZG8tZWxlbWVudCB3aXRoIGEga25vd24gaWRl
bnRpZmllcjogaGlnaGxpZ2h0KG5hbWUpCitGQUlMIFVua25vd24gcHNldWRvLWVsZW1lbnQgd2l0
aCBhIGtub3duIGlkZW50aWZpZXI6IGhpZ2hsaWdodChuYW1lKSBhc3NlcnRfZXF1YWxzOiBTaG91
bGQgcmV0dXJuIHRoZSA6OmhpZ2hsaWdodChuYW1lKSBzdHlsZSBleHBlY3RlZCAicmdiKDAsIDEy
OCwgMCkiIGJ1dCBnb3QgIiIKIFBBU1MgVW5rbm93biBwc2V1ZG8tZWxlbWVudCB3aXRoIGEga25v
d24gaWRlbnRpZmllcjogbWFya2VyCiBGQUlMIFVua25vd24gcHNldWRvLWVsZW1lbnQgd2l0aCBh
IGtub3duIGlkZW50aWZpZXI6IHBsYWNlaG9sZGVyIGFzc2VydF9lcXVhbHM6IFNob3VsZCByZXR1
cm4gdGhlIDo6cGxhY2Vob2xkZXIgc3R5bGUgZXhwZWN0ZWQgInJnYigwLCAxMjgsIDApIiBidXQg
Z290ICJyZ2IoMjU1LCAwLCAwKSIKIFBBU1MgVW5rbm93biBwc2V1ZG8tZWxlbWVudCB3aXRoIGEg
a25vd24gaWRlbnRpZmllcjogc3BlbGxpbmctZXJyb3IKIFBBU1MgVW5rbm93biBwc2V1ZG8tZWxl
bWVudCB3aXRoIGEga25vd24gaWRlbnRpZmllcjogdmlldy10cmFuc2l0aW9uCi1QQVNTIFVua25v
d24gcHNldWRvLWVsZW1lbnQgd2l0aCBhIGtub3duIGlkZW50aWZpZXI6IHZpZXctdHJhbnNpdGlv
bi1pbWFnZS1wYWlyKG5hbWUpCi1QQVNTIFVua25vd24gcHNldWRvLWVsZW1lbnQgd2l0aCBhIGtu
b3duIGlkZW50aWZpZXI6IHZpZXctdHJhbnNpdGlvbi1ncm91cChuYW1lKQotUEFTUyBVbmtub3du
IHBzZXVkby1lbGVtZW50IHdpdGggYSBrbm93biBpZGVudGlmaWVyOiB2aWV3LXRyYW5zaXRpb24t
b2xkKG5hbWUpCi1QQVNTIFVua25vd24gcHNldWRvLWVsZW1lbnQgd2l0aCBhIGtub3duIGlkZW50
aWZpZXI6IHZpZXctdHJhbnNpdGlvbi1uZXcobmFtZSkKK0ZBSUwgVW5rbm93biBwc2V1ZG8tZWxl
bWVudCB3aXRoIGEga25vd24gaWRlbnRpZmllcjogdmlldy10cmFuc2l0aW9uLWltYWdlLXBhaXIo
bmFtZSkgYXNzZXJ0X2VxdWFsczogU2hvdWxkIHJldHVybiB0aGUgOjp2aWV3LXRyYW5zaXRpb24t
aW1hZ2UtcGFpcihuYW1lKSBzdHlsZSBleHBlY3RlZCAicmdiKDAsIDEyOCwgMCkiIGJ1dCBnb3Qg
IiIKK0ZBSUwgVW5rbm93biBwc2V1ZG8tZWxlbWVudCB3aXRoIGEga25vd24gaWRlbnRpZmllcjog
dmlldy10cmFuc2l0aW9uLWdyb3VwKG5hbWUpIGFzc2VydF9lcXVhbHM6IFNob3VsZCByZXR1cm4g
dGhlIDo6dmlldy10cmFuc2l0aW9uLWdyb3VwKG5hbWUpIHN0eWxlIGV4cGVjdGVkICJyZ2IoMCwg
MTI4LCAwKSIgYnV0IGdvdCAiIgorRkFJTCBVbmtub3duIHBzZXVkby1lbGVtZW50IHdpdGggYSBr
bm93biBpZGVudGlmaWVyOiB2aWV3LXRyYW5zaXRpb24tb2xkKG5hbWUpIGFzc2VydF9lcXVhbHM6
IFNob3VsZCByZXR1cm4gdGhlIDo6dmlldy10cmFuc2l0aW9uLW9sZChuYW1lKSBzdHlsZSBleHBl
Y3RlZCAicmdiKDAsIDEyOCwgMCkiIGJ1dCBnb3QgIiIKK0ZBSUwgVW5rbm93biBwc2V1ZG8tZWxl
bWVudCB3aXRoIGEga25vd24gaWRlbnRpZmllcjogdmlldy10cmFuc2l0aW9uLW5ldyhuYW1lKSBh
c3NlcnRfZXF1YWxzOiBTaG91bGQgcmV0dXJuIHRoZSA6OnZpZXctdHJhbnNpdGlvbi1uZXcobmFt
ZSkgc3R5bGUgZXhwZWN0ZWQgInJnYigwLCAxMjgsIDApIiBidXQgZ290ICIiCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29t
L2dldENvbXB1dGVkU3R5bGUtcHNldWRvLXdpdGgtYXJndW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20vZ2V0Q29t
cHV0ZWRTdHlsZS1wc2V1ZG8td2l0aC1hcmd1bWVudC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDlmOTBlOTA1NDEwMi4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tL2dldENvbXB1
dGVkU3R5bGUtcHNldWRvLXdpdGgtYXJndW1lbnQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsMTggKzAsMCBAQAotSXRlbQotCi1QQVNTIFRoaXMgcHNldWRvLWVsZW1lbnQgc2hvdWxk
IG5vdCBwYXJzZTogOjpiZWZvcmUodGVzdCkKLVBBU1MgVGhpcyBwc2V1ZG8tZWxlbWVudCBzaG91
bGQgbm90IHBhcnNlOiA6OmhpZ2hsaWdodAotUEFTUyBUaGlzIHBzZXVkby1lbGVtZW50IHNob3Vs
ZCBub3QgcGFyc2U6IDo6aGlnaGxpZ2h0KAotUEFTUyBUaGlzIHBzZXVkby1lbGVtZW50IHNob3Vs
ZCBub3QgcGFyc2U6IDo6aGlnaGxpZ2h0KCkKLVBBU1MgVGhpcyBwc2V1ZG8tZWxlbWVudCBzaG91
bGQgbm90IHBhcnNlOiA6OmhpZ2hsaWdodCgxKQotUEFTUyBUaGlzIHBzZXVkby1lbGVtZW50IHNo
b3VsZCBub3QgcGFyc2U6IDo6aGlnaGxpZ2h0KCQpCi1QQVNTIFRoaXMgcHNldWRvLWVsZW1lbnQg
c2hvdWxkIG5vdCBwYXJzZTogOjpoaWdobGlnaHQgKG5hbWUpCi1QQVNTIFRoaXMgcHNldWRvLWVs
ZW1lbnQgc2hvdWxkIG5vdCBwYXJzZTogOjpoaWdobGlnaHQobmFtZSlhCi1QQVNTIFRoaXMgcHNl
dWRvLWVsZW1lbnQgc2hvdWxkIG5vdCBwYXJzZTogOjp2aWV3LXRyYW5zaXRpb24tZ3JvdXAoKikK
LVBBU1MgVGhpcyBwc2V1ZG8tZWxlbWVudCBzaG91bGQgcGFyc2U6IDo6aGlnaGxpZ2h0KG5hbWUp
Ci1QQVNTIFRoaXMgcHNldWRvLWVsZW1lbnQgc2hvdWxkIHBhcnNlOiA6OmhpZ2hsaWdodCgKLW5h
bWUKLVBBU1MgVGhpcyBwc2V1ZG8tZWxlbWVudCBzaG91bGQgcGFyc2U6IDo6aGlnaGxpZ2h0KG5h
bWUJCi1QQVNTIFRoaXMgcHNldWRvLWVsZW1lbnQgc2hvdWxkIHBhcnNlOiA6OmhpZ2hsaWdodCgg
bmFtZQotUEFTUyBUaGlzIHBzZXVkby1lbGVtZW50IHNob3VsZCBwYXJzZTogOjpoaWdobGlnaHQo
IG5cNjFtZSApCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzc29tL2dldENvbXB1dGVkU3R5bGUtcHNldWRvLXdpdGgtYXJndW1l
bnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzc29tL2dldENvbXB1dGVkU3R5bGUtcHNldWRvLXdpdGgtYXJndW1lbnQuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDUyZjJiYjJjNjNlLi4wMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20vZ2V0
Q29tcHV0ZWRTdHlsZS1wc2V1ZG8td2l0aC1hcmd1bWVudC5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNTYgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08
dGl0bGU+Q1NTT006IEhhbmRsaW5nIHBzZXVkby1lbGVtZW50cyB3aXRoIGFyZ3VtZW50czwvdGl0
bGU+Ci08c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KLTxsaW5r
IHJlbD1oZWxwIGhyZWY9aHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzc29tLyNkb20td2luZG93
LWdldGNvbXB1dGVkc3R5bGU+Ci08c3R5bGU+Ci0jcHNldWRvLWludmFsaWQ6OmhpZ2hsaWdodChu
YW1lKSB7Ci0gIGNvbG9yOiByZ2IoMCwgMTI4LCAwKTsKLX0KLSNwc2V1ZG8taW52YWxpZDo6dmll
dy10cmFuc2l0aW9uLWltYWdlLXBhaXIobmFtZSkgewotICBjb2xvcjogcmdiKDAsIDEyOCwgMCk7
Ci19Ci0jcHNldWRvLWludmFsaWQ6OnZpZXctdHJhbnNpdGlvbi1ncm91cChuYW1lKSB7Ci0gIGNv
bG9yOiByZ2IoMCwgMTI4LCAwKTsKLX0KLSNwc2V1ZG8taW52YWxpZDo6dmlldy10cmFuc2l0aW9u
LW9sZChuYW1lKSB7Ci0gIGNvbG9yOiByZ2IoMCwgMTI4LCAwKTsKLX0KLSNwc2V1ZG8taW52YWxp
ZDo6dmlldy10cmFuc2l0aW9uLW5ldyhuYW1lKSB7Ci0gIGNvbG9yOiByZ2IoMCwgMTI4LCAwKTsK
LX0KLTwvc3R5bGU+Ci08dWw+PGxpIGlkPSJwc2V1ZG8taW52YWxpZCI+SXRlbTwvbGk+PC91bD4K
LTxzY3JpcHQ+Ci1bCi0gICI6OmJlZm9yZSh0ZXN0KSIsCi0gICI6OmhpZ2hsaWdodCIsCi0gICI6
OmhpZ2hsaWdodCgiLAotICAiOjpoaWdobGlnaHQoKSIsCi0gICI6OmhpZ2hsaWdodCgxKSIsCi0g
ICI6OmhpZ2hsaWdodCgkKSIsCi0gICI6OmhpZ2hsaWdodCAobmFtZSkiLAotICAiOjpoaWdobGln
aHQobmFtZSlhIiwKLSAgIjo6dmlldy10cmFuc2l0aW9uLWdyb3VwKCopIiwKLV0uZm9yRWFjaChu
b25QYXJzYWJsZVBzZXVkb0lkZW50aWZpZXIgPT4gewotICB0ZXN0KCgpID0+IHsKLSAgICBjb25z
dCBsaSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2xpJyk7Ci0gICAgYXNzZXJ0X2VxdWFscyhn
ZXRDb21wdXRlZFN0eWxlKGxpLCBub25QYXJzYWJsZVBzZXVkb0lkZW50aWZpZXIpLmxlbmd0aCwg
MCk7Ci0gIH0sIGBUaGlzIHBzZXVkby1lbGVtZW50IHNob3VsZCBub3QgcGFyc2U6ICR7bm9uUGFy
c2FibGVQc2V1ZG9JZGVudGlmaWVyfWApCi19KTsKLQotWwotICAiOjpoaWdobGlnaHQobmFtZSki
LAotICAiOjpoaWdobGlnaHQoXG5uYW1lIiwKLSAgIjo6aGlnaGxpZ2h0KG5hbWVcdCIsCi0gICI6
OmhpZ2hsaWdodCggbmFtZSAiLAotICAiOjpoaWdobGlnaHQoIG5cXDYxbWUgKSIKLV0uZm9yRWFj
aChwYXJzYWJsZVBzZXVkb0lkZW50aWZpZXIgPT4gewotICB0ZXN0KCgpID0+IHsKLSAgICBjb25z
dCBsaSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2xpJyk7Ci0gICAgYXNzZXJ0X3RydWUoZ2V0
Q29tcHV0ZWRTdHlsZShsaSwgcGFyc2FibGVQc2V1ZG9JZGVudGlmaWVyKS5sZW5ndGggIT0gMCk7
Ci0gICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGxpLCBwYXJzYWJsZVBzZXVkb0lk
ZW50aWZpZXIpLmNvbG9yLCAicmdiKDAsIDEyOCwgMCkiKTsKLSAgfSwgYFRoaXMgcHNldWRvLWVs
ZW1lbnQgc2hvdWxkIHBhcnNlOiAke3BhcnNhYmxlUHNldWRvSWRlbnRpZmllcn1gKTsKLX0pOwot
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3NvbS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tL3czYy1pbXBvcnQubG9nCmluZGV4IDg0
NGMxNTI0ZGNhZS4uMTUwMGFmM2E5YjQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS93M2MtaW1wb3J0LmxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS93M2Mt
aW1wb3J0LmxvZwpAQCAtMTQwLDcgKzE0MCw2IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20vZ2V0Q29tcHV0ZWRT
dHlsZS1sb2dpY2FsLWVudW1lcmF0aW9uLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbnMtcm91
bmR0cmlwLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3NvbS9nZXRDb21wdXRlZFN0eWxlLXByb3BlcnR5LW9yZGVyLmh0bWwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS9nZXRDb21wdXRl
ZFN0eWxlLXBzZXVkby13aXRoLWFyZ3VtZW50Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS9nZXRDb21wdXRlZFN0eWxlLXBzZXVkby5o
dG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
b20vZ2V0Q29tcHV0ZWRTdHlsZS1yZXNvbHZlZC1jb2xvcnMuaHRtbAogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tL2dldENvbXB1dGVkU3R5bGUt
cmVzb2x2ZWQtbWluLW1heC1jbGFtcGluZy5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGli
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggY2NlZjQ0ZjkwYjcxLi5iZWI0M2Y3Yjg0YjYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM4NTMsOSArMzg1
Myw2IEBAIHdlYmtpdC5vcmcvYi8xODY2NjcgY29tcG9zaXRpbmcvcmVwYWludC9pZnJhbWVzL2Nv
bXBvc2l0ZWQtaWZyYW1lLXdpdGgtZml4ZWQtYmFjCiAjIFByb2JhYmx5IGNhdGVnb3JpemVkIHVu
ZGVyIHRoZSB3cm9uZyBidWcuCiB3ZWJraXQub3JnL2IvMjEyMjAyIGNvbXBvc2l0aW5nL2ZpeGVk
LXdpdGgtbWFpbi10aHJlYWQtc2Nyb2xsaW5nLmh0bWwgWyBUaW1lb3V0IF0KIAotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZpZXctdHJhbnNpdGlvbnMvYmFja2Ryb3At
ZmlsdGVyLWNhcHR1cmVkLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12aWV3LXRyYW5zaXRpb25zL2VsZW1lbnQtc3RvcHMt
Z3JvdXBpbmctYWZ0ZXItYW5pbWF0aW9uLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLQogIyBF
bmQ6IENvbW1vbiBmYWlsdXJlcyBiZXR3ZWVuIEdUSyBhbmQgV1BFLgogCiAjLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>