<?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>204073</bug_id>
          
          <creation_ts>2019-11-11 09:50:35 -0800</creation_ts>
          <short_desc>Update WPT mediacapture-streams tests</short_desc>
          <delta_ts>2019-11-11 16:54:25 -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>WebRTC</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1589228</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2019-11-11 09:50:35 -0800</bug_when>
    <thetext>Update media capture tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589254</commentid>
    <comment_count>1</comment_count>
      <attachid>383283</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2019-11-11 10:28:10 -0800</bug_when>
    <thetext>Created attachment 383283
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589269</commentid>
    <comment_count>2</comment_count>
      <attachid>383283</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-11 11:25:03 -0800</bug_when>
    <thetext>Comment on attachment 383283
Patch

Clearing flags on attachment: 383283

Committed r252335: &lt;https://trac.webkit.org/changeset/252335&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589270</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-11 11:25:05 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589371</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-11-11 16:54:25 -0800</bug_when>
    <thetext>&lt;rdar://problem/57099214&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383283</attachid>
            <date>2019-11-11 10:28:10 -0800</date>
            <delta_ts>2019-11-11 11:25:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204073-20191111102809.patch</filename>
            <type>text/plain</type>
            <size>186107</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMzMwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzBmMDFmZDMxMjc4YTIzMDM1MmYw
MWRkNmNjNzEyMjA5NWNhNGM2Mi4uNjNhYjU4MzVlM2U1NTIzMDNhMGU4ZjFjZDI4NGYxNDI5NmZl
YzA3ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE5LTExLTExICBFcmljIENhcmxzb24gIDxl
cmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFVwZGF0ZSBXUFQgbWVkaWFjYXB0dXJl
LXN0cmVhbXMgdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwNDA3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogdGVzdHMtb3B0aW9ucy5qc29uOgorCiAyMDE5LTExLTExICBQZW5nIExpdSAgPHBl
bmcubGl1NkBhcHBsZS5jb20+CiAKICAgICAgICAgW1BpY3R1cmUtaW4tUGljdHVyZSBXZWIgQVBJ
XSBTdXBwb3J0IHBpY3R1cmUtaW4tcGljdHVyZSBDU1MgcHNldWRvLWNsYXNzCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBlMjA1NjkxMTNiNWUyZWZiN2VjNGNhOTNjYzJmOGU5Y2Qx
NWI0MGM4Li5jY2ZjZjlmZDVjM2MzODQ3MDdlNzBkOWYyYTYzNjMzMWIyYzIzMzQ0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OCBAQAorMjAxOS0xMS0xMSAgRXJp
YyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgV1BU
IG1lZGlhY2FwdHVyZS1zdHJlYW1zIHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQwNzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHJlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb246
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL0dVTS1k
ZW55Lmh0dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVy
ZS1zdHJlYW1zL0dVTS1pbXBvc3NpYmxlLWNvbnN0cmFpbnQuaHR0cHMuaHRtbDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvR1VNLW9wdGlvbmFsLWNv
bnN0cmFpbnQuaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFj
YXB0dXJlLXN0cmVhbXMvR1VNLXRyaXZpYWwtY29uc3RyYWludC5odHRwcy5odG1sOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYURldmljZXMt
SURMLWFsbC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhRGV2aWNlcy1JREwtYWxsLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01l
ZGlhRGV2aWNlcy1JREwtZW51bWVyYXRlRGV2aWNlcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhRGV2
aWNlcy1JREwtZW51bWVyYXRlRGV2aWNlcy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYURldmljZXMtZW51bWVyYXRl
RGV2aWNlcy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhRGV2aWNlcy1lbnVtZXJhdGVEZXZpY2VzLmh0dHBz
Lmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1z
L01lZGlhRGV2aWNlcy1nZXRVc2VyTWVkaWEuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYURldmljZXMtZ2V0
VXNlck1lZGlhLmh0dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
Y2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtLU1lZGlhRWxlbWVudC1wcmVsb2FkLW5vbmUuaHR0
cHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9t
ZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1NZWRpYUVsZW1lbnQtcHJlbG9hZC1ub25l
Lmh0dHBzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
Y2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtLU1lZGlhRWxlbWVudC1zcmNPYmplY3QuaHR0cHMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUt
c3RyZWFtcy9NZWRpYVN0cmVhbS1NZWRpYUVsZW1lbnQtc3JjT2JqZWN0Lmh0dHBzLmh0bWw6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3Ry
ZWFtLWFkZC1hdWRpby10cmFjay5odHRwcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1hdWRpby1vbmx5Lmh0dHBzLmh0
bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01l
ZGlhU3RyZWFtLWRlZmF1bHQtZmVhdHVyZS1wb2xpY3kuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVh
bS1kZWZhdWx0LWZlYXR1cmUtcG9saWN5Lmh0dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtLWZpbmlzaGVkLWFkZC5o
dHRwcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3Ry
ZWFtcy9NZWRpYVN0cmVhbS1nZXR0cmFja2lkLmh0dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtLWlkbC5odHRwcy5o
dG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9N
ZWRpYVN0cmVhbS1yZW1vdmV0cmFjay5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtLXJlbW92ZXRy
YWNrLmh0dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVy
ZS1zdHJlYW1zL01lZGlhU3RyZWFtVHJhY2stTWVkaWFFbGVtZW50LWRpc2FibGVkLWF1ZGlvLWlz
LXNpbGVuY2UuaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFj
YXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW1UcmFjay1NZWRpYUVsZW1lbnQtZGlzYWJsZWQtdmlk
ZW8taXMtYmxhY2suaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbVRyYWNrLU1lZGlhRWxlbWVudC1k
aXNhYmxlZC12aWRlby1pcy1ibGFjay5odHRwcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbVRyYWNrLWVuZC1tYW51YWwu
aHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNh
cHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbVRyYWNrLWVuZC1tYW51YWwuaHR0cHMuaHRtbDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJl
YW1UcmFjay1nZXRTZXR0aW5ncy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtVHJhY2stZ2V0U2V0
dGluZ3MuaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0
dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW1UcmFjay1pZC5odHRwcy5odG1sOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9PV05FUlM6IFJlbW92ZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL2hpc3Rvcmlj
YWwuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0
dXJlLXN0cmVhbXMvdzNjLWltcG9ydC5sb2c6CisKIDIwMTktMTEtMDggIHlvdWVubiBmYWJsZXQg
IDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFhNTEh0dHBSZXF1ZXN0VXBsb2FkIHNob3Vs
ZCBiZSBleHBvc2VkIGluIGRlZGljYXRlZCB3b3JrZXJzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbiBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCmlu
ZGV4IGE2Nzg0YzQ0ZDI5YjNkMGQyMTM0ZDEzNDA5NDVmNDdlNDE3YTFlNTcuLjM1MDMzNzM1OWQ2
NTZkYmFiYTczZWY2NjUyM2NmNWU4NzZmZDllMzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCkBA
IC0yOTMsNiArMjkzLDcgQEAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1p
bWFnZSI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVj
b3JkIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0
cmVhbXMiOiAiaW1wb3J0IiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUt
c3RyZWFtcy8iOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYXNlc3Np
b24iOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvbWljcm9kYXRhIjogInNraXAi
LCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL21pbWVzbmlmZiI6ICJpbXBvcnQiLCAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFj
YXB0dXJlLXN0cmVhbXMvR1VNLWRlbnkuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvR1VNLWRlbnkuaHR0
cHMuaHRtbAppbmRleCAxNzQ0MDk5NmM5ZmRjNjM2NDgyZDUxNjRiYTdiNGUyNWI2MWNhZmJkLi5i
ZTFjYWY1NGQ2MWQ1YjAwMjUzYjVmZmFjOGY1MjA0MzFmNGUwYzhiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJl
YW1zL0dVTS1kZW55Lmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9HVU0tZGVueS5odHRwcy5odG1s
CkBAIC0xNiw3ICsxNiw3IEBACiAgIDxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anM+PC9zY3JpcHQ+CiAgIDxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anM+PC9zY3JpcHQ+CiAgIDxzY3JpcHQ+Ci0gICAgdmFyIHQgPSBhc3luY190ZXN0KCJUZXN0cyB0
aGF0IHRoZSBlcnJvciBjYWxsYmFjayBpcyB0cmlnZ2VyZWQgd2hlbiBwZXJtaXNzaW9uIGlzIGRl
bmllZCIsIHt0aW1lb3V0OjEwMDAwfSk7CisgICAgdmFyIHQgPSBhc3luY190ZXN0KCJUZXN0cyB0
aGF0IHRoZSBlcnJvciBjYWxsYmFjayBpcyB0cmlnZ2VyZWQgd2hlbiBwZXJtaXNzaW9uIGlzIGRl
bmllZCIpOwogICAgIHQuc3RlcChmdW5jdGlvbigpIHsKICAgICAgIG5hdmlnYXRvci5tZWRpYURl
dmljZXMuZ2V0VXNlck1lZGlhKHt2aWRlbzogdHJ1ZX0pCiAgICAgICAgIC50aGVuKHQuc3RlcF9m
dW5jKGZ1bmN0aW9uIChzdHJlYW0pIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvR1VNLWltcG9zc2li
bGUtY29uc3RyYWludC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9HVU0taW1wb3NzaWJsZS1jb25zdHJh
aW50Lmh0dHBzLmh0bWwKaW5kZXggMTNmMzg1NmY3ZTM4ZDE3NmIwZjMyODU0MDdmMzlhNTBmMmMx
NTc4OS4uMDg0NDJiYjBkNTY4ZmFlMmQ2ZTgwMWM4MzU4YmMwNzE1MTUxYmE0YSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1
cmUtc3RyZWFtcy9HVU0taW1wb3NzaWJsZS1jb25zdHJhaW50Lmh0dHBzLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3Ry
ZWFtcy9HVU0taW1wb3NzaWJsZS1jb25zdHJhaW50Lmh0dHBzLmh0bWwKQEAgLTE2LDcgKzE2LDcg
QEAgY29uc3RyYWludCAod2lkdGggJmd0Oz0xRykgaW4gZ2V0VXNlck1lZGlhIHdvcmtzPC9wPgog
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+CiA8c2NyaXB0Pgot
dmFyIHQgPSBhc3luY190ZXN0KCJUZXN0cyB0aGF0IHNldHRpbmcgYW4gaW1wb3NzaWJsZSBjb25z
dHJhaW50IGluIGdldFVzZXJNZWRpYSBmYWlscyIsIHt0aW1lb3V0OjEwMDAwfSk7Cit2YXIgdCA9
IGFzeW5jX3Rlc3QoIlRlc3RzIHRoYXQgc2V0dGluZyBhbiBpbXBvc3NpYmxlIGNvbnN0cmFpbnQg
aW4gZ2V0VXNlck1lZGlhIGZhaWxzIik7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAgIC8vIE5vdGUg
LSBpbnRlZ2VyIGNvbnZlcnNpb24gaXMgd2VpcmQgZm9yICtpbmYgYW5kIG51bWJlcnMgPiAyXjMy
LCBzbyB3ZQogICAvLyB1c2UgYSBudW1iZXIgbGVzcyB0aGFuIDJeMzIgZm9yIHRlc3RpbmcuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhY2FwdHVyZS1zdHJlYW1zL0dVTS1pbnZhbGlkLWZhY2luZy1tb2RlLmh0dHBzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFj
YXB0dXJlLXN0cmVhbXMvR1VNLWludmFsaWQtZmFjaW5nLW1vZGUuaHR0cHMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmZjNGNlNzBmODhjNzM0ZmZkODNlOTgwNjFlNjg0YWVkYmRlMGZhZWUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL0dVTS1pbnZhbGlkLWZhY2luZy1tb2RlLmh0dHBzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCB0cnlpbmcgdG8gc2V0IGFuIGVtcHR5IGZhY2luZ01vZGUgdmFsdWUgaW4gZ2V0VXNl
ck1lZGlhIHJlc3VsdHMgaW4gYW4gT3ZlcmNvbnN0cmFpbmVkRXJyb3IuCisKKworRkFJTCBUZXN0
cyB0aGF0IHNldHRpbmcgYW4gaW52YWxpZCBmYWNpbmdNb2RlIGNvbnN0cmFpbnQgaW4gZ2V0VXNl
ck1lZGlhIGZhaWxzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJPdmVyY29uc3RyYWluZWRFcnJv
ciIgYnV0IGdvdCAiRXJyb3IiCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvR1VNLWludmFsaWQtZmFj
aW5nLW1vZGUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvR1VNLWludmFsaWQtZmFjaW5nLW1vZGUuaHR0
cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kMjljYWViMTM0NTIwNjYxN2FhZmRiNzJlN2MwZTNhZDZiYjgz
YTI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9HVU0taW52YWxpZC1mYWNpbmctbW9kZS5o
dHRwcy5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzx0aXRsZT5JbnZhbGlkIGZhY2luZ01vZGUgaW4gZ2V0VXNlck1lZGlhPC90aXRsZT4KKzxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL21lZGlhY2FwdHVyZS1t
YWluLyNkZWYtY29uc3RyYWludC1mYWNpbmdNb2RlIj4KKzwvaGVhZD4KKzxib2R5PgorPGgxIGNs
YXNzPSJpbnN0cnVjdGlvbnMiPkRlc2NyaXB0aW9uPC9oMT4KKzxwIGNsYXNzPSJpbnN0cnVjdGlv
bnMiPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0cnlpbmcgdG8gc2V0IGFuIGVtcHR5IGZhY2luZ01v
ZGUKKyAgdmFsdWUgaW4gZ2V0VXNlck1lZGlhIHJlc3VsdHMgaW4gYW4gT3ZlcmNvbnN0cmFpbmVk
RXJyb3IuCis8L3A+CisKKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2Ny
aXB0PgorPHNjcmlwdD4KK3ZhciB0ID0gYXN5bmNfdGVzdCgKKyAgIlRlc3RzIHRoYXQgc2V0dGlu
ZyBhbiBpbnZhbGlkIGZhY2luZ01vZGUgY29uc3RyYWludCBpbiBnZXRVc2VyTWVkaWEgZmFpbHMi
KTsKK3Quc3RlcChmdW5jdGlvbigpIHsKKyAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2Vy
TWVkaWEoe3ZpZGVvOiB7ZmFjaW5nTW9kZToge2V4YWN0OiAnJ319fSkKKyAgICAudGhlbih0LnN0
ZXBfZnVuYyhmdW5jdGlvbiAoc3RyZWFtKSB7CisgICAgICBhc3NlcnRfdW5yZWFjaGVkKCJUaGUg
ZW1wdHkgc3RyaW5nIGlzIG5vdCBhIHZhbGlkIGZhY2luZ01vZGUiKTsKKyAgICAgIHQuZG9uZSgp
OworICAgIH0pLCB0LnN0ZXBfZnVuYyhmdW5jdGlvbihlcnJvcikgeworICAgICAgYXNzZXJ0X2Vx
dWFscyhlcnJvci5uYW1lLCAiT3ZlcmNvbnN0cmFpbmVkRXJyb3IiKTsKKyAgICAgIGFzc2VydF9l
cXVhbHMoZXJyb3IuY29uc3RyYWludCwgImZhY2luZ01vZGUiKTsKKyAgICAgIHQuZG9uZSgpOwor
ICAgIH0pKTsKK30pOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1z
dHJlYW1zL0dVTS1ub24tYXBwbGljYWJsZS1jb25zdHJhaW50Lmh0dHBzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJl
LXN0cmVhbXMvR1VNLW5vbi1hcHBsaWNhYmxlLWNvbnN0cmFpbnQuaHR0cHMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjQ5YjNiOTJmZWM3ODUyYTI2YWRhZTQwODg0NzhiOTY0NzU5Mzc1OTUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL0dVTS1ub24tYXBwbGljYWJsZS1jb25zdHJhaW50Lmh0
dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK1doZW4gcHJvbXB0ZWQsIGFjY2VwdCB0
byBzaGFyZSB5b3VyIGF1ZGlvIGFuZCB2aWRlbyBzdHJlYW0uCisKKworUEFTUyBUZXN0IHRoYXQg
c2V0dGluZyB2aWRlby1vbmx5IHZhbGlkIGNvbnN0cmFpbnRzIGluc2lkZSBvZiAiYXVkaW8iIGlz
IHNpbXBseSBpZ25vcmVkIAorUEFTUyBUZXN0IHRoYXQgc2V0dGluZyB2aWRlby1vbmx5IGludmFs
aWQgY29uc3RyYWludHMgaW5zaWRlIG9mICJhdWRpbyIgaXMgc2ltcGx5IGlnbm9yZWQgCitQQVNT
IFRlc3QgdGhhdCBzZXR0aW5nIGF1ZGlvLW9ubHkgdmFsaWQgY29uc3RyYWludHMgaW5zaWRlIG9m
ICJ2aWRlbyIgaXMgc2ltcGx5IGlnbm9yZWQgCitQQVNTIFRlc3QgdGhhdCBzZXR0aW5nIGF1ZGlv
LW9ubHkgaW52YWxpZCBjb25zdHJhaW50cyBpbnNpZGUgb2YgInZpZGVvIiBpcyBzaW1wbHkgaWdu
b3JlZCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9HVU0tbm9uLWFwcGxpY2FibGUtY29uc3RyYWlu
dC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9HVU0tbm9uLWFwcGxpY2FibGUtY29uc3RyYWludC5odHRw
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjg0MjNjNTZiOWEzY2JhMGFlOGRhMDNmZDhjZTc3MDIzOWUwMjY0
YWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL0dVTS1ub24tYXBwbGljYWJsZS1jb25zdHJh
aW50Lmh0dHBzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+
bm9uLWFwcGxpY2FibGUgY29uc3RyYWludCBpbiBnZXRVc2VyTWVkaWE8L3RpdGxlPgorPGxpbmsg
cmVsPSJhdXRob3IiIHRpdGxlPSJJbnRlbCIgaHJlZj0iaHR0cDovL3d3dy5pbnRlbC5jb20iLz4K
KzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL21lZGlhY2FwdHVy
ZS1tYWluLyNtZXRob2RzLTUiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorCis8cCBjbGFzcz0iaW5zdHJ1Y3Rpb25zIj5XaGVuIHByb21wdGVkLCBh
Y2NlcHQgdG8gc2hhcmUgeW91ciBhdWRpbyBhbmQgdmlkZW8gc3RyZWFtLjwvcD4KKworPHNjcmlw
dD4KKworbGV0IHZpZGVvX29ubHlfdmFsaWRfY29uc3RyYWludHMgPSB7CisgIHdpZHRoOiB7bWlu
OiAwfSwKKyAgaGVpZ2h0OiB7bWluOiAwfSwKKyAgZnJhbWVSYXRlOiB7bWluOiAwfSwKKyAgYXNw
ZWN0UmF0aW86IHttaW46IDB9LAorICBmYWNpbmdNb2RlOiB7aWRlYWw6ICdlbnZpcm9ubWVudCd9
LAorICByZXNpemVNb2RlOiB7aWRlYWw6ICdub25lJ30KK30KKworbGV0IHZpZGVvX29ubHlfaW52
YWxpZF9jb25zdHJhaW50cyA9IHsKKyAgd2lkdGg6IHttaW46IDEwMDAwMDAwMH0sCisgIGhlaWdo
dDoge21pbjogMTAwMDAwMDAwfSwKKyAgZnJhbWVSYXRlOiB7bWluOiAxMDAwMDAwMDB9LAorICBh
c3BlY3RSYXRpbzoge21pbjogMTAwMDAwMDAwfSwKKyAgZmFjaW5nTW9kZToge2V4YWN0OiAnaW52
YWxpZCd9LAorICByZXNpemVNb2RlOiB7ZXhhY3Q6ICdpbnZhbGlkJ30KK30KKworbGV0IGF1ZGlv
X29ubHlfdmFsaWRfY29uc3RyYWludHMgPSB7CisgIHZvbHVtZToge21pbjogMH0sCisgIHNhbXBs
ZVJhdGU6IHttaW46IDB9LAorICBzYW1wbGVTaXplOiB7bWluOiAwfSwKKyAgZWNob0NhbmNlbGxh
dGlvbjoge2lkZWFsOiB0cnVlfSwKKyAgYXV0b0dhaW5Db250cm9sOiB7aWRlYWw6IHRydWV9LAor
ICBub2lzZVN1cHByZXNzaW9uOiB7aWRlYWw6IHRydWV9LAorICBsYXRlbmN5OiB7bWluOiAwfSwK
KyAgY2hhbm5lbENvdW50OiB7bWluOiAwfQorfQorCitsZXQgYXVkaW9fb25seV9pbnZhbGlkX2Nv
bnN0cmFpbnRzID0geworICB2b2x1bWU6IHttaW46IDJ9LAorICBzYW1wbGVSYXRlOiB7bWluOiAx
MDAwMDAwMDB9LAorICBzYW1wbGVTaXplOiB7bWluOiAxMDAwMDAwMDB9LAorICBlY2hvQ2FuY2Vs
bGF0aW9uOiB7ZXhhY3Q6IHRydWV9LAorICBhdXRvR2FpbkNvbnRyb2w6IHtleGFjdDogdHJ1ZX0s
CisgIG5vaXNlU3VwcHJlc3Npb246IHtleGFjdDogdHJ1ZX0sCisgIGxhdGVuY3k6IHttYXg6IDB9
LAorICBjaGFubmVsQ291bnQ6IHttYXg6IDB9Cit9CisKK3Byb21pc2VfdGVzdChhc3luYyAoKSA9
PiB7CisgIGxldCBzdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJN
ZWRpYSh7YXVkaW86IHZpZGVvX29ubHlfdmFsaWRfY29uc3RyYWludHN9KQorICBhc3NlcnRfZXF1
YWxzKHN0cmVhbS5nZXRBdWRpb1RyYWNrcygpLmxlbmd0aCwgMSwgInRoZSBtZWRpYSBzdHJlYW0g
aGFzIGV4YWN0bHkgb25lIGF1ZGlvIHRyYWNrIik7Cit9LCAnVGVzdCB0aGF0IHNldHRpbmcgdmlk
ZW8tb25seSB2YWxpZCBjb25zdHJhaW50cyBpbnNpZGUgb2YgImF1ZGlvIiBpcyBzaW1wbHkgaWdu
b3JlZCcpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICBsZXQgc3RyZWFtID0gYXdh
aXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlvOiB2aWRlb19vbmx5
X2ludmFsaWRfY29uc3RyYWludHN9KQorICBhc3NlcnRfZXF1YWxzKHN0cmVhbS5nZXRBdWRpb1Ry
YWNrcygpLmxlbmd0aCwgMSwgInRoZSBtZWRpYSBzdHJlYW0gaGFzIGV4YWN0bHkgb25lIGF1ZGlv
IHRyYWNrIik7Cit9LCAnVGVzdCB0aGF0IHNldHRpbmcgdmlkZW8tb25seSBpbnZhbGlkIGNvbnN0
cmFpbnRzIGluc2lkZSBvZiAiYXVkaW8iIGlzIHNpbXBseSBpZ25vcmVkJyk7CisKK3Byb21pc2Vf
dGVzdChhc3luYyAoKSA9PiB7CisgIGxldCBzdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFE
ZXZpY2VzLmdldFVzZXJNZWRpYSh7dmlkZW86IGF1ZGlvX29ubHlfdmFsaWRfY29uc3RyYWludHN9
KQorICBhc3NlcnRfZXF1YWxzKHN0cmVhbS5nZXRWaWRlb1RyYWNrcygpLmxlbmd0aCwgMSwgInRo
ZSBtZWRpYSBzdHJlYW0gaGFzIGV4YWN0bHkgb25lIHZpZGVvIHRyYWNrIik7Cit9LCAnVGVzdCB0
aGF0IHNldHRpbmcgYXVkaW8tb25seSB2YWxpZCBjb25zdHJhaW50cyBpbnNpZGUgb2YgInZpZGVv
IiBpcyBzaW1wbHkgaWdub3JlZCcpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICBs
ZXQgc3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe3Zp
ZGVvOiBhdWRpb19vbmx5X2ludmFsaWRfY29uc3RyYWludHN9KQorICBhc3NlcnRfZXF1YWxzKHN0
cmVhbS5nZXRWaWRlb1RyYWNrcygpLmxlbmd0aCwgMSwgInRoZSBtZWRpYSBzdHJlYW0gaGFzIGV4
YWN0bHkgb25lIHZpZGVvIHRyYWNrIik7Cit9LCAnVGVzdCB0aGF0IHNldHRpbmcgYXVkaW8tb25s
eSBpbnZhbGlkIGNvbnN0cmFpbnRzIGluc2lkZSBvZiAidmlkZW8iIGlzIHNpbXBseSBpZ25vcmVk
Jyk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9HVU0tb3B0aW9uYWwtY29uc3Ry
YWludC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9HVU0tb3B0aW9uYWwtY29uc3RyYWludC5odHRwcy5o
dG1sCmluZGV4IGJlY2Q4NzFhYjJhMTEzZjYyYjhhNmIwZmVjNjFkNzgzMzdlM2Y2NDAuLjI4Yjk3
NjdkNGNkMGM2MzIyMzBjM2UwMTVlODg1ZWUwNGM3NGFiNDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMv
R1VNLW9wdGlvbmFsLWNvbnN0cmFpbnQuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL0dVTS1vcHRp
b25hbC1jb25zdHJhaW50Lmh0dHBzLmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAgZ2V0VXNlck1lZGlh
IGlzIGhhbmRsZWQgYXMgb3B0aW9uYWw8L3A+CiA8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcz48L3NjcmlwdD4KIDxzY3JpcHQ+Ci12YXIgdCA9IGFzeW5jX3Rlc3QoIlRlc3RzIHRo
YXQgc2V0dGluZyBhbiBvcHRpb25hbCBjb25zdHJhaW50IGluIGdldFVzZXJNZWRpYSBpcyBoYW5k
bGVkIGFzIG9wdGlvbmFsIiwge3RpbWVvdXQ6MTAwMDB9KTsKK3ZhciB0ID0gYXN5bmNfdGVzdCgi
VGVzdHMgdGhhdCBzZXR0aW5nIGFuIG9wdGlvbmFsIGNvbnN0cmFpbnQgaW4gZ2V0VXNlck1lZGlh
IGlzIGhhbmRsZWQgYXMgb3B0aW9uYWwiKTsKIHQuc3RlcChmdW5jdGlvbigpIHsKICAgbmF2aWdh
dG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe3ZpZGVvOiB7YWR2YW5jZWQ6IFt7d2lkdGg6
IHttaW46MTAyNCwgbWF4OiA4MDB9fV19fSkKICAgICAudGhlbih0LnN0ZXBfZnVuYyhmdW5jdGlv
biAoc3RyZWFtKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL0dVTS10cml2aWFsLWNvbnN0cmFpbnQu
aHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWFjYXB0dXJlLXN0cmVhbXMvR1VNLXRyaXZpYWwtY29uc3RyYWludC5odHRwcy5odG1sCmlu
ZGV4IDI4M2JjYjJjMzJhNGRmOWMyZWE3MmVkMmE3MDk3YWJhZDliMmYzMTYuLmFkMzc3NjU4OWU1
YjZlZDVmZmMzN2UyYjBmZWUyODJiNGQyNjQzYTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvR1VNLXRy
aXZpYWwtY29uc3RyYWludC5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvR1VNLXRyaXZpYWwtY29u
c3RyYWludC5odHRwcy5odG1sCkBAIC0xNSw3ICsxNSw3IEBAIGNvbnN0cmFpbnQgKHdpZHRoICZn
dDs9MCkgaW4gZ2V0VXNlck1lZGlhIHdvcmtzPC9wPgogPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanM+PC9zY3JpcHQ+CiA8c2NyaXB0PgotdmFyIHQgPSBhc3luY190ZXN0KCJUZXN0
cyB0aGF0IHNldHRpbmcgYSB0cml2aWFsIG1hbmRhdG9yeSBjb25zdHJhaW50IGluIGdldFVzZXJN
ZWRpYSB3b3JrcyIsIHt0aW1lb3V0OjEwMDAwfSk7Cit2YXIgdCA9IGFzeW5jX3Rlc3QoIlRlc3Rz
IHRoYXQgc2V0dGluZyBhIHRyaXZpYWwgbWFuZGF0b3J5IGNvbnN0cmFpbnQgaW4gZ2V0VXNlck1l
ZGlhIHdvcmtzIik7CiB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAgIG5hdmlnYXRvci5tZWRpYURldmlj
ZXMuZ2V0VXNlck1lZGlhKHt2aWRlbzoge3dpZHRoOiB7bWluOjB9fX0pCiAgICAgLnRoZW4odC5z
dGVwX2Z1bmMoZnVuY3Rpb24gKHN0cmVhbSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NRVRBLnlt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0
dXJlLXN0cmVhbXMvTUVUQS55bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTYwZGMzYTVhYzQ3ZTljMTRlODY1MTUw
NGNiODA1NzI0MmY3YTNiZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTUVUQS55bWwKQEAg
LTAsMCArMSw2IEBACitzcGVjOiBodHRwczovL3czYy5naXRodWIuaW8vbWVkaWFjYXB0dXJlLW1h
aW4vCitzdWdnZXN0ZWRfcmV2aWV3ZXJzOgorICAtIGFnb3VhaWxsYXJkCisgIC0gYWx2ZXN0cmFu
ZAorICAtIHlvdWVubmYKKyAgLSBqYW4taXZhcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYURl
dmljZXMtSURMLWFsbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhRGV2aWNlcy1JREwtYWxs
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzUxZTM0NTJmMzg3
NzAzZDFjNGFiNzc1YTdhMWYwMzM3MmQ1MWRjNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhRGV2aWNlcy1JREwtYWxsLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotRGVzY3JpcHRpb24KLQotVGhpcyB0
ZXN0IGNoZWNrcyBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBuYXZpZ2F0b3IubWVkaWFEZXZpY2Vz
LmdldFVzZXJNZWRpYSBtZXRob2QuCi0KLQotRkFJTCBpZGxfdGVzdCBzZXR1cCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJXZWJJRExQYXJzZUVy
cm9yOiBTeW50YXggZXJyb3IgYXQgbGluZSAxNDcsIHNpbmNlIGBpbnRlcmZhY2UgTmF2aWdhdG9y
VXNlck1lZGlhYDoKLU5hdmlnYXRvciBpbXBsZW1lbnRzIE5hdmlnYXRvclVzZXJNZWRpYTsKLV4g
VW5yZWNvZ25pc2VkIHRva2VucyIKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYURldmljZXMt
SURMLWFsbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYURldmljZXMtSURMLWFsbC5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNzI4NjQxOWJjYzE0ZDg3YjI4MTljZWIyNDZmNjQyM2Nm
NzUxMzRjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0
cmVhbXMvTWVkaWFEZXZpY2VzLUlETC1hbGwuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICsw
LDAgQEAKLTwhZG9jdHlwZSBodG1sPgotPGh0bWw+Ci0gIDxoZWFkPgotICAgIDx0aXRsZT5nZXRV
c2VyTWVkaWE6IE5vbi1JbnRlcmFjdGl2ZSB0ZXN0IGZvciBtZWRpYURldmljZXMgQVBJczwvdGl0
bGU+Ci0gICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJEciBBbGV4IEdvdWFpbGxhcmQiIGhy
ZWY9Im1haWx0bzphZ291YWlsbGFyZEBnbWFpbC5jb20iLz4KLSAgICA8bGluayByZWw9ImhlbHAi
IGhyZWY9Imh0dHA6Ly93M2MuZ2l0aHViLmlvL21lZGlhY2FwdHVyZS1tYWluL2dldHVzZXJtZWRp
YS5odG1sI21lZGlhZGV2aWNlcyI+Ci0gICAgPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8v
dzNjLmdpdGh1Yi5pby9tZWRpYWNhcHR1cmUtbWFpbi9nZXR1c2VybWVkaWEuaHRtbCNtZWRpYWRl
dmljZXMtaW50ZXJmYWNlLWV4dGVuc2lvbnMiPgotICAgIDxtZXRhIG5hbWU9J2Fzc2VydCcgY29u
dGVudD0nQ2hlY2sgdGhlIG1lZGlhRGV2aWNlcyBBUElzLicvPgotICA8L2hlYWQ+Ci0gIDxib2R5
PgotICAgIDxoMSBjbGFzcz0iaW5zdHJ1Y3Rpb25zIj5EZXNjcmlwdGlvbjwvaDE+Ci0gICAgPHAg
Y2xhc3M9Imluc3RydWN0aW9ucyI+VGhpcyB0ZXN0IGNoZWNrcyBmb3IgdGhlIHByZXNlbmNlIG9m
IHRoZQotICAgIDxjb2RlPm5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhPC9jb2Rl
PiBtZXRob2QuPC9wPgotICAgIDxkaXYgaWQ9J2xvZyc+PC9kaXY+Ci0gICAgPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0vcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvaWRsaGFybmVzcy5qcz48L3NjcmlwdD4KLSAgICA8c2NyaXB0PgotICAgICAgJ3VzZSBz
dHJpY3QnOwotCi0gICAgICBpZGxfdGVzdCgKLSAgICAgICAgWydtZWRpYWNhcHR1cmUtbWFpbidd
LAotICAgICAgICBbJ2RvbScsICdodG1sJ10sCi0gICAgICAgIGlkbF9hcnJheSA9PiB7Ci0gICAg
ICAgICAgaWRsX2FycmF5LmFkZF9vYmplY3RzKHsKLSAgICAgICAgICAgICJOYXZpZ2F0b3IiOiBb
Im5hdmlnYXRvciJdLAotICAgICAgICAgICAgIk1lZGlhRGV2aWNlcyI6IFsibmF2aWdhdG9yLm1l
ZGlhRGV2aWNlcyJdLAotICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgICApOwotICAgIDwv
c2NyaXB0PgotICA8L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhRGV2
aWNlcy1JREwtZW51bWVyYXRlRGV2aWNlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhRGV2
aWNlcy1JREwtZW51bWVyYXRlRGV2aWNlcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGY0ZTEyYjJhNmE3NjVhMDUzNmYwNjkyNWFiNzRjYjNmYjc4MDQzY2EuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRp
YURldmljZXMtSURMLWVudW1lcmF0ZURldmljZXMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsOSArMCwwIEBACi1EZXNjcmlwdGlvbgotCi1UaGlzIHRlc3QgY2hlY2tzIGZvciB0aGUg
cHJlc2VuY2Ugb2YgdGhlIG5hdmlnYXRvci5tZWRpYURldmljZXMuZW51bWVyYXRlRGV2aWNlcygp
IG1ldGhvZC4KLQotCi1GQUlMIGlkbF90ZXN0IHNldHVwIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIldlYklETFBhcnNlRXJyb3I6IFN5bnRheCBl
cnJvciBhdCBsaW5lIDE0Nywgc2luY2UgYGludGVyZmFjZSBOYXZpZ2F0b3JVc2VyTWVkaWFgOgot
TmF2aWdhdG9yIGltcGxlbWVudHMgTmF2aWdhdG9yVXNlck1lZGlhOwotXiBVbnJlY29nbmlzZWQg
dG9rZW5zIgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhRGV2aWNlcy1JREwtZW51bWVyYXRl
RGV2aWNlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYURldmljZXMtSURMLWVudW1lcmF0ZURldmljZXMu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTA1YzhkNTdiYzM0MjY3MDdjN2E1
NDJlMThhM2E2ZDZlMDAyMTk2Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhRGV2aWNlcy1JREwtZW51bWVyYXRlRGV2aWNlcy5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08aHRtbD4K
LTxoZWFkPgotPHRpdGxlPmVudW1lcmF0ZURldmljZXM6IHRlc3QgdGhhdCBlbnVtZXJhdGVEZXZp
Y2VzIGlzIHByZXNlbnQ8L3RpdGxlPgotPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJEciBBbGV4
IEdvdWFpbGxhcmQiIGhyZWY9Im1haWx0bzphZ291YWlsbGFyZEBnbWFpbC5jb20iLz4KLTxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3czYy5naXRodWIuaW8vbWVkaWFjYXB0dXJlLW1haW4v
Z2V0dXNlcm1lZGlhLmh0bWwjbWV0aG9kcy0yIj4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0
cDovL3czYy5naXRodWIuaW8vbWVkaWFjYXB0dXJlLW1haW4vZ2V0dXNlcm1lZGlhLmh0bWwjZGV2
aWNlLWluZm8iPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vdzNjLmdpdGh1Yi5pby9t
ZWRpYWNhcHR1cmUtbWFpbi9nZXR1c2VybWVkaWEuaHRtbCNpZGwtZGVmLU1lZGlhRGV2aWNlS2lu
ZCI+Ci08bWV0YSBuYW1lPSdhc3NlcnQnIGNvbnRlbnQ9J0NoZWNrIHRoYXQgdGhlIGVudW1lcmF0
ZURldmljZXMoKSBtZXRob2QgaXMgcHJlc2VudC4nLz4KLTwvaGVhZD4KLTxib2R5PgotPGgxIGNs
YXNzPSJpbnN0cnVjdGlvbnMiPkRlc2NyaXB0aW9uPC9oMT4KLTxwIGNsYXNzPSJpbnN0cnVjdGlv
bnMiPlRoaXMgdGVzdCBjaGVja3MgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUKLTxjb2RlPm5hdmln
YXRvci5tZWRpYURldmljZXMuZW51bWVyYXRlRGV2aWNlcygpPC9jb2RlPiBtZXRob2QuPC9wPgot
PGRpdiBpZD0nbG9nJz48L2Rpdj4KLTxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anM+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9L3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanM+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0vcmVzb3VyY2VzL2lkbGhhcm5lc3MuanM+PC9zY3JpcHQ+Ci08c2Ny
aXB0PgotICAidXNlIHN0cmljdCI7Ci0gIGlkbF90ZXN0KAotICAgIFsnbWVkaWFjYXB0dXJlLW1h
aW4nXSwKLSAgICBbJ2RvbScsICdodG1sJ10sCi0gICAgYXN5bmMgaWRsX2FycmF5ID0+IHsKLSAg
ICAgIGFzc2VydF90cnVlKHVuZGVmaW5lZCAhPT0gbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVt
ZXJhdGVEZXZpY2VzLAotICAgICAgICAibmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVE
ZXZpY2VzIGV4aXN0cyIpOwotCi0gICAgICBjb25zdCBsaXN0ID0gYXdhaXQgbmF2aWdhdG9yLm1l
ZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzKCk7Ci0gICAgICBpZiggbGlzdC5sZW5ndGggPiAw
ICkgewotICAgICAgICB3aW5kb3cuX21lZGlhSW5mbyA9IGxpc3RbMF07Ci0gICAgICAgIGlkbF9h
cnJheS5hZGRfb2JqZWN0cyh7TWVkaWFEZXZpY2VJbmZvOiBbIl9tZWRpYUluZm8iXX0pOwotICAg
ICAgfQotCi0gICAgICBmb3IoY29uc3QgbWVkaWEgb2YgbGlzdCkgewotICAgICAgICBpZiggbWVk
aWEua2luZCA9PSAiYXVkaW9pbnB1dCIgfHwKLSAgICAgICAgICAgIG1lZGlhLmtpbmQgPT0gInZp
ZGVvaW5wdXQiKSB7Ci0gICAgICAgICAgLy8gVE9ETyAtLSBDaGVjayBJbnB1dERldmljZUluZm8g
SURMLCBnZXRDYXBhYmlsaXRpZXMoKQotICAgICAgICB9IGVsc2UgaWYgKCBtZWRpYS5raW5kID09
ICJhdWRpb291dHB1dCIgKSB7Ci0gICAgICAgICAgLy8gVE9ETyAtLSBwYXNzCi0gICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgYXNzZXJ0X3VucmVhY2hlZCgibWVkaWEua2luZCBzaG91bGQgYmUg
b25lIG9mICdhdWRpb2lucHV0JywgJ3ZpZGVvaW5wdXQnLCBvciAnYXVkaW9vdXRwdXQnLiIpCi0g
ICAgICAgIH0KLSAgICAgIH0KLSAgICB9Ci0gICk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFEZXZpY2VzLVNlY3VyZUNvbnRleHQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YWNhcHR1cmUtc3RyZWFtcy9NZWRpYURldmljZXMtU2VjdXJlQ29udGV4dC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNzA2NDU1NzhkZTI4MTUwOWM4MjdmNmY3ODllOGY0NzJlMWNhZmVlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFEZXZpY2VzLVNlY3VyZUNvbnRleHQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIE1lZGlhRGV2aWNlcyBhbmQgU2VjdXJlQ29u
dGV4dCBhc3NlcnRfZmFsc2U6IFRoaXMgdGVzdCBtdXN0IGJlIHJ1biBpbiBhIG5vbiBzZWN1cmUg
Y29udGV4dCBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01l
ZGlhRGV2aWNlcy1TZWN1cmVDb250ZXh0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhRGV2aWNlcy1TZWN1
cmVDb250ZXh0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmFkYTYyODE3NjkxMzczZDE2Y2YwYWIxOGQyZDYx
YmVjMmRjMTJmMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFEZXZpY2VzLVNlY3Vy
ZUNvbnRleHQuaHRtbApAQCAtMCwwICsxLDE5IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8dGl0bGU+TWVkaWFEZXZpY2VzIGFuZCBTZWN1cmVDb250ZXh0PC90aXRsZT4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0PgordGVzdChmdW5jdGlvbigpIHsKKyAgYXNzZXJ0X2ZhbHNlKHdpbmRvdy5p
c1NlY3VyZUNvbnRleHQsICJUaGlzIHRlc3QgbXVzdCBiZSBydW4gaW4gYSBub24gc2VjdXJlIGNv
bnRleHQiKTsKKyAgYXNzZXJ0X2ZhbHNlKCdNZWRpYURldmljZXMnIGluIHdpbmRvdywgIk1lZGlh
RGV2aWNlcyBpcyBub3QgZXhwb3NlZCIpOworICBhc3NlcnRfZmFsc2UoJ01lZGlhRGV2aWNlSW5m
bycgaW4gd2luZG93LCAiTWVkaWFEZXZpY2VJbmZvIGlzIG5vdCBleHBvc2VkIik7CisgIGFzc2Vy
dF9mYWxzZSgnZ2V0VXNlck1lZGlhJyBpbiBuYXZpZ2F0b3IsICJnZXRVc2VyTWVkaWEgaXMgbm90
IGV4cG9zZWQiKTsKKyAgYXNzZXJ0X2ZhbHNlKCdtZWRpYURldmljZXMnIGluIG5hdmlnYXRvciwg
Im1lZGlhRGV2aWNlcyBpcyBub3QgZXhwb3NlZCIpOworfSk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFEZXZpY2VzLWVudW1lcmF0ZURldmlj
ZXMtbm90LWFsbG93ZWQtY2FtZXJhLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFE
ZXZpY2VzLWVudW1lcmF0ZURldmljZXMtbm90LWFsbG93ZWQtY2FtZXJhLmh0dHBzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lY2JmMGI5N2VhNmZiZjBiZTA4N2Y1Yzc3MDYyMjJkYzEyNGVlYTA5
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYURldmljZXMtZW51bWVyYXRlRGV2aWNl
cy1ub3QtYWxsb3dlZC1jYW1lcmEuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAor
RGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IGNoZWNrcyBmb3IgdGhlIHByZXNlbmNlIG9mIGNhbWVy
YSBpbiBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmVudW1lcmF0ZURldmljZXMoKSBtZXRob2QuCisK
KworRkFJTCBDYW1lcmEgaXMgbm90IGV4cG9zZWQgaW4gbWVkaWFEZXZpY2VzLmVudW1lcmF0ZURl
dmljZXMoKSBhc3NlcnRfaW5fYXJyYXk6IHZhbHVlICJ2aWRlb2lucHV0IiBub3QgaW4gYXJyYXkg
WyJhdWRpb2lucHV0IiwgImF1ZGlvb3V0cHV0Il0KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRp
YURldmljZXMtZW51bWVyYXRlRGV2aWNlcy1ub3QtYWxsb3dlZC1jYW1lcmEuaHR0cHMuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJl
LXN0cmVhbXMvTWVkaWFEZXZpY2VzLWVudW1lcmF0ZURldmljZXMtbm90LWFsbG93ZWQtY2FtZXJh
Lmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWJiMDg2ZGFkZGRkNmEyMjgyZGFhMDZmY2NlY2JlMGQx
MDIxNGVmYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFEZXZpY2VzLWVudW1lcmF0
ZURldmljZXMtbm90LWFsbG93ZWQtY2FtZXJhLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwzMCBAQAor
PCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPmVudW1lcmF0ZURldmljZXM6
IHRlc3QgZW51bWVyYXRlRGV2aWNlcyBzaG91bGQgbm90IGV4cG9zZSBjYW1lcmEgZGV2aWNlcyBp
ZiB0aGV5IGFyZSBub3QgYWxsb3dlZCB0byB1c2U8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBo
cmVmPSJodHRwczovL3czYy5naXRodWIuaW8vbWVkaWFjYXB0dXJlLW1haW4vI2RvbS1tZWRpYWRl
dmljZXMtZW51bWVyYXRlZGV2aWNlcyI+Cis8bWV0YSBuYW1lPSdhc3NlcnQnIGNvbnRlbnQ9J0No
ZWNrIHRoYXQgdGhlIGVudW1lcmF0ZURldmljZXMoKSBtZXRob2Qgc2hvdWxkIG5vdCBleHBvc2Vk
IGNhbWVyYSBkZXZpY2VzLicvPgorPC9oZWFkPgorPGJvZHk+Cis8aDEgY2xhc3M9Imluc3RydWN0
aW9ucyI+RGVzY3JpcHRpb248L2gxPgorPHAgY2xhc3M9Imluc3RydWN0aW9ucyI+VGhpcyB0ZXN0
IGNoZWNrcyBmb3IgdGhlIHByZXNlbmNlIG9mIGNhbWVyYSBpbgorPGNvZGU+bmF2aWdhdG9yLm1l
ZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzKCk8L2NvZGU+IG1ldGhvZC48L3A+Cis8ZGl2IGlk
PSdsb2cnPjwvZGl2PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsK
KyAgYXNzZXJ0X25vdF9lcXVhbHMobmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZp
Y2VzLCB1bmRlZmluZWQsICJuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmVudW1lcmF0ZURldmljZXMg
ZXhpc3RzIik7CisgIGNvbnN0IGRldmljZUxpc3QgPSAgYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2
aWNlcy5lbnVtZXJhdGVEZXZpY2VzKCk7CisgIGZvciAoY29uc3QgbWVkaWFJbmZvIG9mIGRldmlj
ZUxpc3QpIHsKKyAgICBhc3NlcnRfbm90X2VxdWFscyhtZWRpYUluZm8uZGV2aWNlSWQsIHVuZGVm
aW5lZCwgIm1lZGlhSW5mbydzIGRldmljZUlkIHNob3VsZCBleGlzdC4iKTsKKyAgICBhc3NlcnRf
bm90X2VxdWFscyhtZWRpYUluZm8ua2luZCwgdW5kZWZpbmVkLCAgICAgIm1lZGlhSW5mbydzIGtp
bmQgICAgIHNob3VsZCBleGlzdC4iKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyhtZWRpYUluZm8u
bGFiZWwsIHVuZGVmaW5lZCwgICAgIm1lZGlhSW5mbydzIGxhYmVsICAgIHNob3VsZCBleGlzdC4i
KTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyhtZWRpYUluZm8uZ3JvdXBJZCwgdW5kZWZpbmVkLCAg
Im1lZGlhSW5mbydzIGdyb3VwSWQgIHNob3VsZCBleGlzdC4iKTsKKyAgICBhc3NlcnRfaW5fYXJy
YXkobWVkaWFJbmZvLmtpbmQsIFsiYXVkaW9pbnB1dCIsICJhdWRpb291dHB1dCJdKTsKKyAgfQor
fSwgIkNhbWVyYSBpcyBub3QgZXhwb3NlZCBpbiBtZWRpYURldmljZXMuZW51bWVyYXRlRGV2aWNl
cygpIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMv
TWVkaWFEZXZpY2VzLWVudW1lcmF0ZURldmljZXMtbm90LWFsbG93ZWQtY2FtZXJhLmh0dHBzLmh0
bWwuaGVhZGVycyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFEZXZpY2VzLWVudW1lcmF0ZURldmljZXMtbm90LWFs
bG93ZWQtY2FtZXJhLmh0dHBzLmh0bWwuaGVhZGVycwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYWRjNWUyMzdmY2Vj
ODc0NzY3ZmY4ZjVhYjM4ZTM0NTZjMDJjYmYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9N
ZWRpYURldmljZXMtZW51bWVyYXRlRGV2aWNlcy1ub3QtYWxsb3dlZC1jYW1lcmEuaHR0cHMuaHRt
bC5oZWFkZXJzCkBAIC0wLDAgKzEgQEAKK0ZlYXR1cmUtUG9saWN5OiBjYW1lcmEgJ25vbmUnCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhRGV2aWNlcy1lbnVtZXJhdGVEZXZpY2VzLW5vdC1hbGxv
d2VkLW1pYy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhRGV2aWNlcy1lbnVtZXJh
dGVEZXZpY2VzLW5vdC1hbGxvd2VkLW1pYy5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YTI1MGY1ZTI5NmE4MDViODUzZWMyOGY2NTE4YTc5ZDcyNGQxYjcwNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0
dXJlLXN0cmVhbXMvTWVkaWFEZXZpY2VzLWVudW1lcmF0ZURldmljZXMtbm90LWFsbG93ZWQtbWlj
Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMg
dGVzdCBjaGVja3MgZm9yIHRoZSBwcmVzZW5jZSBvZiBtaWNyb3Bob25lIGluIG5hdmlnYXRvci5t
ZWRpYURldmljZXMuZW51bWVyYXRlRGV2aWNlcygpIG1ldGhvZC4KKworCitGQUlMIE1pY3JvcGhv
bmUgaXMgbm90IGV4cG9zZWQgaW4gbWVkaWFEZXZpY2VzLmVudW1lcmF0ZURldmljZXMoKSBhc3Nl
cnRfaW5fYXJyYXk6IHZhbHVlICJhdWRpb2lucHV0IiBub3QgaW4gYXJyYXkgWyJ2aWRlb2lucHV0
IiwgImF1ZGlvb3V0cHV0Il0KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYURldmljZXMtZW51
bWVyYXRlRGV2aWNlcy1ub3QtYWxsb3dlZC1taWMuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFE
ZXZpY2VzLWVudW1lcmF0ZURldmljZXMtbm90LWFsbG93ZWQtbWljLmh0dHBzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOGQ1MzVjZTU1MWRlMjU5NGVjMjIxNGRhZWRjNDYyNTg5ODk3ZGU3NQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFEZXZpY2VzLWVudW1lcmF0ZURldmljZXMtbm90LWFsbG93
ZWQtbWljLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHRpdGxlPmVudW1lcmF0ZURldmljZXM6IHRlc3QgZW51bWVyYXRlRGV2aWNl
cyBzaG91bGQgbm90IGV4cG9zZSBtaWNyb3Bob25lIGRldmljZXMgaWYgdGhleSBhcmUgbm90IGFs
bG93ZWQgdG8gdXNlPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2Mu
Z2l0aHViLmlvL21lZGlhY2FwdHVyZS1tYWluLyNkb20tbWVkaWFkZXZpY2VzLWVudW1lcmF0ZWRl
dmljZXMiPgorPG1ldGEgbmFtZT0nYXNzZXJ0JyBjb250ZW50PSdDaGVjayB0aGF0IHRoZSBlbnVt
ZXJhdGVEZXZpY2VzKCkgbWV0aG9kIHNob3VsZCBub3QgZXhwb3NlZCBtaWNyb3Bob25lIGRldmlj
ZXMuJy8+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMSBjbGFzcz0iaW5zdHJ1Y3Rpb25zIj5EZXNjcmlw
dGlvbjwvaDE+Cis8cCBjbGFzcz0iaW5zdHJ1Y3Rpb25zIj5UaGlzIHRlc3QgY2hlY2tzIGZvciB0
aGUgcHJlc2VuY2Ugb2YgbWljcm9waG9uZSBpbgorPGNvZGU+bmF2aWdhdG9yLm1lZGlhRGV2aWNl
cy5lbnVtZXJhdGVEZXZpY2VzKCk8L2NvZGU+IG1ldGhvZC48L3A+Cis8ZGl2IGlkPSdsb2cnPjwv
ZGl2PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0PgorInVzZSBzdHJpY3QiOworcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgYXNzZXJ0
X25vdF9lcXVhbHMobmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzLCB1bmRl
ZmluZWQsICJuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmVudW1lcmF0ZURldmljZXMgZXhpc3RzIik7
CisgIGNvbnN0IGRldmljZUxpc3QgPSAgYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVt
ZXJhdGVEZXZpY2VzKCk7CisgIGZvciAoY29uc3QgbWVkaWFJbmZvIG9mIGRldmljZUxpc3QpIHsK
KyAgICBhc3NlcnRfbm90X2VxdWFscyhtZWRpYUluZm8uZGV2aWNlSWQsIHVuZGVmaW5lZCwgIm1l
ZGlhSW5mbydzIGRldmljZUlkIHNob3VsZCBleGlzdC4iKTsKKyAgICBhc3NlcnRfbm90X2VxdWFs
cyhtZWRpYUluZm8ua2luZCwgdW5kZWZpbmVkLCAgICAgIm1lZGlhSW5mbydzIGtpbmQgICAgIHNo
b3VsZCBleGlzdC4iKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyhtZWRpYUluZm8ubGFiZWwsIHVu
ZGVmaW5lZCwgICAgIm1lZGlhSW5mbydzIGxhYmVsICAgIHNob3VsZCBleGlzdC4iKTsKKyAgICBh
c3NlcnRfbm90X2VxdWFscyhtZWRpYUluZm8uZ3JvdXBJZCwgdW5kZWZpbmVkLCAgIm1lZGlhSW5m
bydzIGdyb3VwSWQgIHNob3VsZCBleGlzdC4iKTsKKyAgICBhc3NlcnRfaW5fYXJyYXkobWVkaWFJ
bmZvLmtpbmQsIFsidmlkZW9pbnB1dCIsICJhdWRpb291dHB1dCJdKTsKKyAgfQorfSwgIk1pY3Jv
cGhvbmUgaXMgbm90IGV4cG9zZWQgaW4gbWVkaWFEZXZpY2VzLmVudW1lcmF0ZURldmljZXMoKSIp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlh
RGV2aWNlcy1lbnVtZXJhdGVEZXZpY2VzLW5vdC1hbGxvd2VkLW1pYy5odHRwcy5odG1sLmhlYWRl
cnMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2Fw
dHVyZS1zdHJlYW1zL01lZGlhRGV2aWNlcy1lbnVtZXJhdGVEZXZpY2VzLW5vdC1hbGxvd2VkLW1p
Yy5odHRwcy5odG1sLmhlYWRlcnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTg2ZTBhMDc3ODUxYTg0ZjcwNGUyYWE0
ZGYxZDUyNmVjZDlhNTViMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFEZXZpY2Vz
LWVudW1lcmF0ZURldmljZXMtbm90LWFsbG93ZWQtbWljLmh0dHBzLmh0bWwuaGVhZGVycwpAQCAt
MCwwICsxIEBACitGZWF0dXJlLVBvbGljeTogbWljcm9waG9uZSAnbm9uZScKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJl
LXN0cmVhbXMvTWVkaWFEZXZpY2VzLWVudW1lcmF0ZURldmljZXMtcmV0dXJuZWQtb2JqZWN0cy5o
dHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhRGV2aWNlcy1lbnVtZXJhdGVEZXZpY2Vz
LXJldHVybmVkLW9iamVjdHMuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5YjEwODdl
NWJiZjcxZWFiMGJmMTk2ZWVhMWIwYzAyZmUzZWI3M2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJl
YW1zL01lZGlhRGV2aWNlcy1lbnVtZXJhdGVEZXZpY2VzLXJldHVybmVkLW9iamVjdHMuaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitGQUlMIGVudW1lcmF0ZURldmljZXMgcmV0
dXJucyBuZXcgb2JqZWN0cyBpbiBjYXNlIGRldmljZS1pbmZvIHBlcm1pc3Npb24gaXMgbm90IGdy
YW50ZWQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIG9iamVjdCAiW29i
amVjdCBNZWRpYURldmljZUluZm9dIgorRkFJTCBlbnVtZXJhdGVEZXZpY2VzIHJldHVybnMgbmV3
IG9iamVjdHMgaW4gY2FzZSBkZXZpY2UtaW5mbyBwZXJtaXNzaW9uIGlzIGdyYW50ZWQgYXNzZXJ0
X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIG9iamVjdCAiW29iamVjdCBNZWRpYURl
dmljZUluZm9dIgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhRGV2aWNlcy1lbnVtZXJhdGVE
ZXZpY2VzLXJldHVybmVkLW9iamVjdHMuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFEZXZpY2Vz
LWVudW1lcmF0ZURldmljZXMtcmV0dXJuZWQtb2JqZWN0cy5odHRwcy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjE3N2JlYjZjMmI5NDFlODcyMWE2MThmYzcwNmE5MjJkYzFmNTIyOTEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2Fw
dHVyZS1zdHJlYW1zL01lZGlhRGV2aWNlcy1lbnVtZXJhdGVEZXZpY2VzLXJldHVybmVkLW9iamVj
dHMuaHR0cHMuaHRtbApAQCAtMCwwICsxLDM0IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8dGl0bGU+ZW51bWVyYXRlRGV2aWNlcyBpcyByZXR1cm5pbmcgbmV3IE1lZGlhRGV2
aWNlSW5mbyBvYmplY3RzIGV2ZXJ5IHRpbWU8L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitmdW5j
dGlvbiBkb1Rlc3QoY2FsbEdldFVzZXJNZWRpYSwgdGVzdE5hbWUpCit7CisgICAgcHJvbWlzZV90
ZXN0KGFzeW5jICgpID0+IHsKKyAgICAgICAgaWYgKGNhbGxHZXRVc2VyTWVkaWEpCisgICAgICAg
ICAgICBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7YXVkaW8gOiB0
cnVlLCB2aWRlbzogdHJ1ZX0pOworCisgICAgICAgIGNvbnN0IGRldmljZUxpc3QxID0gIGF3YWl0
IG5hdmlnYXRvci5tZWRpYURldmljZXMuZW51bWVyYXRlRGV2aWNlcygpOworICAgICAgICBjb25z
dCBkZXZpY2VMaXN0MiA9ICBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmVudW1lcmF0ZURl
dmljZXMoKTsKKworICAgICAgICBhc3NlcnRfZXF1YWxzKGRldmljZUxpc3QxLmxlbmd0aCwgZGV2
aWNlTGlzdDIubGVuZ3RoKTsKKyAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkZXZpY2VMaXN0
MS5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgY29uc3QgZGV2aWNlMSA9IGRldmljZUxpc3Qx
W2ldOworICAgICAgICAgICAgY29uc3QgZGV2aWNlMiA9IGRldmljZUxpc3QyW2ldOworICAgICAg
ICAgICAgYXNzZXJ0X25vdF9lcXVhbHMoZGV2aWNlMSwgZGV2aWNlMik7CisgICAgICAgICAgICBh
c3NlcnRfZXF1YWxzKGRldmljZTEuZGV2aWNlSWQsIGRldmljZTIuZGV2aWNlSWQsICJkZXZpY2VJ
ZCIpOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhkZXZpY2UxLmtpbmQsIGRldmljZTIua2lu
ZCwgImtpbmQiKTsKKyAgICAgICAgfQorICAgIH0sIHRlc3ROYW1lKTsKK30KKworZG9UZXN0KGZh
bHNlLCAiZW51bWVyYXRlRGV2aWNlcyByZXR1cm5zIG5ldyBvYmplY3RzIGluIGNhc2UgZGV2aWNl
LWluZm8gcGVybWlzc2lvbiBpcyBub3QgZ3JhbnRlZCIpOworZG9UZXN0KHRydWUsICJlbnVtZXJh
dGVEZXZpY2VzIHJldHVybnMgbmV3IG9iamVjdHMgaW4gY2FzZSBkZXZpY2UtaW5mbyBwZXJtaXNz
aW9uIGlzIGdyYW50ZWQiKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1
cmUtc3RyZWFtcy9NZWRpYURldmljZXMtZW51bWVyYXRlRGV2aWNlcy5odHRwcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2Fw
dHVyZS1zdHJlYW1zL01lZGlhRGV2aWNlcy1lbnVtZXJhdGVEZXZpY2VzLmh0dHBzLWV4cGVjdGVk
LnR4dAppbmRleCBkNmVjZDZiOGIzOTM2NTMzY2Q1YTg2M2MyY2I0YWE0Mjg1Y2UzNWNjLi45Zjk3
ZmY2MjQ0ZjI2OTgxOGI3ZTJiNzViMTdmZjlmZTlhODllOWIzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1z
L01lZGlhRGV2aWNlcy1lbnVtZXJhdGVEZXZpY2VzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1z
dHJlYW1zL01lZGlhRGV2aWNlcy1lbnVtZXJhdGVEZXZpY2VzLmh0dHBzLWV4cGVjdGVkLnR4dApA
QCAtMyw1ICszLDYgQEAgRGVzY3JpcHRpb24KIFRoaXMgdGVzdCBjaGVja3MgZm9yIHRoZSBwcmVz
ZW5jZSBvZiB0aGUgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzKCkgbWV0
aG9kLgogCiAKLVBBU1MgbWVkaWFEZXZpY2VzLmVudW1lcmF0ZURldmljZXMoKSBpcyBwcmVzZW50
IGFuZCB3b3JraW5nIG9uIG5hdmlnYXRvciAKK1BBU1MgbWVkaWFEZXZpY2VzLmVudW1lcmF0ZURl
dmljZXMoKSBpcyBwcmVzZW50IGFuZCB3b3JraW5nIAorRkFJTCBJbnB1dERldmljZUluZm8gaXMg
c3VwcG9ydGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBJbnB1dERldmljZUlu
Zm8iCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFEZXZpY2VzLWVudW1lcmF0ZURldmljZXMu
aHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFEZXZpY2VzLWVudW1lcmF0ZURldmljZXMuaHR0cHMu
aHRtbAppbmRleCA4MDY0MTZlMmMwZTJmMjJhNDdhM2I5ZWU0YjU3ZTAxYWUwNDVmZmZlLi5lZmI0
NjA3MzE2OTBkZjAxZTNiNTNkMTVlYjRkMDk3ZjJkMTZiMTA2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1z
L01lZGlhRGV2aWNlcy1lbnVtZXJhdGVEZXZpY2VzLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9N
ZWRpYURldmljZXMtZW51bWVyYXRlRGV2aWNlcy5odHRwcy5odG1sCkBAIC0xNiwzMiArMTYsMzAg
QEAKIDxzY3JpcHQ+CiAidXNlIHN0cmljdCI7CiAvL05PVEUgQUxFWDogZm9yIGNvbXBsZXRpb24s
IGEgdGVzdCBmb3Igb25kZXZpY2VjaGFuZ2UgZXZlbnQgaXMgbWlzc2luZy4KLXRlc3QoZnVuY3Rp
b24gKCkgewotICBhc3NlcnRfdHJ1ZSh1bmRlZmluZWQgIT09IG5hdmlnYXRvci5tZWRpYURldmlj
ZXMuZW51bWVyYXRlRGV2aWNlcywgIm5hdmlnYXRvci5tZWRpYURldmljZXMuZW51bWVyYXRlRGV2
aWNlcyBleGlzdHMiKTsKLSAgdmFyIHAgPSBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmVudW1lcmF0
ZURldmljZXMoKQotICBwLnRoZW4oZnVuY3Rpb24obGlzdCl7Ci0gICAgZm9yKGxldCBtZWRpYWlu
Zm8gb2YgbGlzdCl7Ci0gICAgICAvLyBUT0RPIGNoZWNrIHRoZSB0eXBlIG9mIG1lZGlhaW5mbwot
ICAgICAgYXNzZXJ0X3RydWUodW5kZWZpbmVkICE9PSBtZWRpYWluZm8uZGV2aWNlSWQsICJtZWRp
YUluZm8ncyBkZXZpY2VJZCBzaG91bGQgZXhpc3QuIik7Ci0gICAgICBhc3NlcnRfdHJ1ZSh1bmRl
ZmluZWQgIT09IG1lZGlhaW5mby5raW5kLCAgICAgIm1lZGlhSW5mbydzIGtpbmQgICAgIHNob3Vs
ZCBleGlzdC4iKTsKLSAgICAgIGFzc2VydF90cnVlKHVuZGVmaW5lZCAhPT0gbWVkaWFpbmZvLmxh
YmVsLCAgICAibWVkaWFJbmZvJ3MgbGFiZWwgICAgc2hvdWxkIGV4aXN0LiIpOwotICAgICAgYXNz
ZXJ0X3RydWUodW5kZWZpbmVkICE9PSBtZWRpYWluZm8uZ3JvdXBJZCwgICJtZWRpYUluZm8ncyBn
cm91cElkICBzaG91bGQgZXhpc3QuIik7Ci0gICAgICAvLyBUT0RPIHRoZSB2YWx1ZXMgb2Ygc29t
ZSBvZiB0aG9zZSBmaWVsZHMgc2hvdWxkIGJlIGVtcHR5IHN0cmluZyBieSBkZWZhdWx0IGlmIG5v
IHBlcm1pc3Npb24gaGFzIGJlZW4gcmVxdWVzdGVkLgotICAgICAgaWYoIG1lZGlhaW5mby5raW5k
ID09ICJhdWRpb2lucHV0IiB8fAotICAgICAgICAgIG1lZGlhaW5mby5raW5kID09ICJ2aWRlb2lu
cHV0IikgewotICAgICAgICAvLyBOT1RFIEFMRVg6IGxvb2tzIGxpa2Ugbm9ib2R5IGhhcyBpbXBs
ZW1lbnRlZCB0aGF0LiBIb3cgY2FuIEkgbWFrZSBpdCBhIHNlcGFyYXRlIHRlc3QsCi0gICAgICAg
IC8vIC4uLiAgICAgICAgdG8gaGF2ZSBiZXR0ZXIgZ3JhbnVsYXJpdHk/Ci0gICAgICAgIC8vIGFz
c2VydF90cnVlKHVuZGVmaW5lZCAhPT0gbWVkaWFpbmZvLmdldENhcGFiaWxpdGllcygpLCAiTWVk
aWFEZXZpY2VJbmZvLmdldENhcGFiaWxpdGllcygpIGV4aXN0cy4iKTsKLSAgICAgICAgLy8gdmFy
IGNhcCA9IG1lZGlhaW5mby5nZXRjYXBhYmlsaXRpZXMoKTsKLSAgICAgIH0gZWxzZSBpZiAoIG1l
ZGlhaW5mby5raW5kICE9PSAiYXVkaW9vdXRwdXQiICkgewotICAgICAgICBhc3NlcnRfdW5yZWFj
aGVkKCJtZWRpYWluZm8ua2luZCBzaG91bGQgYmUgb25lIG9mICdhdWRpb2lucHV0JywgJ3ZpZGVv
aW5wdXQnLCBvciAnYXVkaW9vdXRwdXQnLiIpCi0gICAgICB9Citwcm9taXNlX3Rlc3QoYXN5bmMg
KCkgPT4geworICBhc3NlcnRfbm90X2VxdWFscyhuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmVudW1l
cmF0ZURldmljZXMsIHVuZGVmaW5lZCwgIm5hdmlnYXRvci5tZWRpYURldmljZXMuZW51bWVyYXRl
RGV2aWNlcyBleGlzdHMiKTsKKyAgY29uc3QgZGV2aWNlTGlzdCA9ICBhd2FpdCBuYXZpZ2F0b3Iu
bWVkaWFEZXZpY2VzLmVudW1lcmF0ZURldmljZXMoKTsKKyAgZm9yIChjb25zdCBtZWRpYUluZm8g
b2YgZGV2aWNlTGlzdCkgeworICAgIGFzc2VydF9ub3RfZXF1YWxzKG1lZGlhSW5mby5kZXZpY2VJ
ZCwgdW5kZWZpbmVkLCAibWVkaWFJbmZvJ3MgZGV2aWNlSWQgc2hvdWxkIGV4aXN0LiIpOworICAg
IGFzc2VydF9ub3RfZXF1YWxzKG1lZGlhSW5mby5raW5kLCB1bmRlZmluZWQsICAgICAibWVkaWFJ
bmZvJ3Mga2luZCAgICAgc2hvdWxkIGV4aXN0LiIpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKG1l
ZGlhSW5mby5sYWJlbCwgdW5kZWZpbmVkLCAgICAibWVkaWFJbmZvJ3MgbGFiZWwgICAgc2hvdWxk
IGV4aXN0LiIpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKG1lZGlhSW5mby5ncm91cElkLCB1bmRl
ZmluZWQsICAibWVkaWFJbmZvJ3MgZ3JvdXBJZCAgc2hvdWxkIGV4aXN0LiIpOworICAgIGFzc2Vy
dF9pbl9hcnJheShtZWRpYUluZm8ua2luZCwgWyJ2aWRlb2lucHV0IiwgImF1ZGlvaW5wdXQiLCAi
YXVkaW9vdXRwdXQiXSk7CisgIH0KK30sICJtZWRpYURldmljZXMuZW51bWVyYXRlRGV2aWNlcygp
IGlzIHByZXNlbnQgYW5kIHdvcmtpbmciKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsK
KyAgY29uc3QgZGV2aWNlTGlzdCA9ICBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmVudW1l
cmF0ZURldmljZXMoKTsKKyAgZm9yIChjb25zdCBtZWRpYUluZm8gb2YgZGV2aWNlTGlzdCkgewor
ICAgIGlmIChtZWRpYUluZm8ua2luZCA9PSAiYXVkaW9pbnB1dCIgfHwgbWVkaWFJbmZvLmtpbmQg
PT0gInZpZGVvaW5wdXQiKSB7CisgICAgICBhc3NlcnRfdHJ1ZShtZWRpYUluZm8gaW5zdGFuY2Vv
ZiBJbnB1dERldmljZUluZm8pOworICAgIH0gZWxzZSBpZiAoIG1lZGlhSW5mby5raW5kID09ICJh
dWRpb291dHB1dCIgKSB7CisgICAgICBhc3NlcnRfdHJ1ZShtZWRpYUluZm8gaW5zdGFuY2VvZiBN
ZWRpYURldmljZUluZm8pOworICAgIH0gZWxzZSB7CisgICAgICBhc3NlcnRfdW5yZWFjaGVkKCJt
ZWRpYUluZm8ua2luZCBzaG91bGQgYmUgb25lIG9mICdhdWRpb2lucHV0JywgJ3ZpZGVvaW5wdXQn
LCBvciAnYXVkaW9vdXRwdXQnLiIpCiAgICAgfQotICB9KQotICBwLmNhdGNoKGZ1bmN0aW9uKGVy
cil7Ci0gICAgYXNzZXJ0X3VucmVhY2hlZCgiQSBjYWxsIHRvIGVudW1lcmF0ZURldmljZXMoKSBz
aG91bGQgbmV2ZXIgZmFpbC4iKTsKLSAgfSk7Ci19LCAibWVkaWFEZXZpY2VzLmVudW1lcmF0ZURl
dmljZXMoKSBpcyBwcmVzZW50IGFuZCB3b3JraW5nIG9uIG5hdmlnYXRvciIpOworICB9Cit9LCAi
SW5wdXREZXZpY2VJbmZvIGlzIHN1cHBvcnRlZCIpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhRGV2aWNlcy1nZXRTdXBwb3J0ZWRDb25zdHJh
aW50cy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhRGV2aWNlcy1nZXRTdXBwb3J0
ZWRDb25zdHJhaW50cy5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmYzMGU4YmY1ODAz
NDI2MjkxNzlkOTA1MGM3ZjFiM2IyZmRhODE2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMv
TWVkaWFEZXZpY2VzLWdldFN1cHBvcnRlZENvbnN0cmFpbnRzLmh0dHBzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDIyIEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgY2hlY2tzIGZvciB0aGUg
cHJlc2VuY2Ugb2YgdGhlIG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0U3VwcG9ydGVkQ29uc3Ry
YWludHMoKSBtZXRob2QuCisKKworUEFTUyBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFN1cHBv
cnRlZENvbnN0cmFpbnRzIGV4aXN0cyAKK1BBU1Mgd2lkdGggaXMgc3VwcG9ydGVkIAorUEFTUyBo
ZWlnaHQgaXMgc3VwcG9ydGVkIAorUEFTUyBhc3BlY3RSYXRpbyBpcyBzdXBwb3J0ZWQgCitQQVNT
IGZyYW1lUmF0ZSBpcyBzdXBwb3J0ZWQgCitQQVNTIGZhY2luZ01vZGUgaXMgc3VwcG9ydGVkIAor
RkFJTCByZXNpemVNb2RlIGlzIHN1cHBvcnRlZCBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBn
b3QgdW5kZWZpbmVkCitGQUlMIHNhbXBsZVJhdGUgaXMgc3VwcG9ydGVkIGFzc2VydF90cnVlOiBl
eHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBzYW1wbGVTaXplIGlzIHN1cHBvcnRlZCBhc3Nl
cnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgZWNob0NhbmNlbGxhdGlvbiBp
cyBzdXBwb3J0ZWQgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIGF1
dG9HYWluQ29udHJvbCBpcyBzdXBwb3J0ZWQgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290
IHVuZGVmaW5lZAorRkFJTCBub2lzZVN1cHByZXNzaW9uIGlzIHN1cHBvcnRlZCBhc3NlcnRfdHJ1
ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgdW5kZWZpbmVkCitGQUlMIGxhdGVuY3kgaXMgc3VwcG9ydGVk
IGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCB1bmRlZmluZWQKK0ZBSUwgY2hhbm5lbENv
dW50IGlzIHN1cHBvcnRlZCBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgdW5kZWZpbmVk
CitQQVNTIGRldmljZUlkIGlzIHN1cHBvcnRlZCAKK0ZBSUwgZ3JvdXBJZCBpcyBzdXBwb3J0ZWQg
YXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVh
bXMvTWVkaWFEZXZpY2VzLWdldFN1cHBvcnRlZENvbnN0cmFpbnRzLmh0dHBzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJl
YW1zL01lZGlhRGV2aWNlcy1nZXRTdXBwb3J0ZWRDb25zdHJhaW50cy5odHRwcy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjQ1MzE4NGExNjkxOWE2M2VhNzIwNjg1MzhiY2E0ZjdjMDM4OTU3Y2YKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhRGV2aWNlcy1nZXRTdXBwb3J0ZWRDb25zdHJhaW50cy5o
dHRwcy5odG1sCkBAIC0wLDAgKzEsNDggQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzx0aXRsZT5UZXN0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0U3VwcG9ydGVkQ29uc3Ry
YWludHMoKTwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1
Yi5pby9tZWRpYWNhcHR1cmUtbWFpbi8jZW51bWVyYXRpbmctZGV2aWNlcyI+Cis8bWV0YSBuYW1l
PSdhc3NlcnQnIGNvbnRlbnQ9J1Rlc3QgdGhlIGdldFN1cHBvcnRlZENvbnN0cmFpbnRzKCkgbWV0
aG9kLicvPgorPC9oZWFkPgorPGJvZHk+Cis8aDEgY2xhc3M9Imluc3RydWN0aW9ucyI+RGVzY3Jp
cHRpb248L2gxPgorPHAgY2xhc3M9Imluc3RydWN0aW9ucyI+VGhpcyB0ZXN0IGNoZWNrcyBmb3Ig
dGhlIHByZXNlbmNlIG9mIHRoZQorPGNvZGU+bmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRTdXBw
b3J0ZWRDb25zdHJhaW50cygpPC9jb2RlPiBtZXRob2QuPC9wPgorPGRpdiBpZD0nbG9nJz48L2Rp
dj4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlw
dD4KKyJ1c2Ugc3RyaWN0IjsKK3Rlc3QoKCkgPT4geworICBhc3NlcnRfaW5oZXJpdHMobmF2aWdh
dG9yLm1lZGlhRGV2aWNlcywgImdldFN1cHBvcnRlZENvbnN0cmFpbnRzIik7CisgIGFzc2VydF9l
cXVhbHModHlwZW9mIG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0U3VwcG9ydGVkQ29uc3RyYWlu
dHMsICJmdW5jdGlvbiIpOworfSwgIm5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0U3VwcG9ydGVk
Q29uc3RyYWludHMgZXhpc3RzIik7CisKK3sKKyAgY29uc3QgcHJvcGVydGllcyA9IFsKKyAgICAi
d2lkdGgiLAorICAgICJoZWlnaHQiLAorICAgICJhc3BlY3RSYXRpbyIsCisgICAgImZyYW1lUmF0
ZSIsCisgICAgImZhY2luZ01vZGUiLAorICAgICJyZXNpemVNb2RlIiwKKyAgICAic2FtcGxlUmF0
ZSIsCisgICAgInNhbXBsZVNpemUiLAorICAgICJlY2hvQ2FuY2VsbGF0aW9uIiwKKyAgICAiYXV0
b0dhaW5Db250cm9sIiwKKyAgICAibm9pc2VTdXBwcmVzc2lvbiIsCisgICAgImxhdGVuY3kiLAor
ICAgICJjaGFubmVsQ291bnQiLAorICAgICJkZXZpY2VJZCIsCisgICAgImdyb3VwSWQiXTsKKyAg
cHJvcGVydGllcy5mb3JFYWNoKHByb3BlcnR5ID0+IHsKKyAgICB0ZXN0KCgpPT57CisgICAgICBj
b25zdCBzdXBwb3J0ZWRDb25zdHJhaW50cyA9IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0U3Vw
cG9ydGVkQ29uc3RyYWludHMoKTsKKyAgICAgIGFzc2VydF90cnVlKHN1cHBvcnRlZENvbnN0cmFp
bnRzW3Byb3BlcnR5XSk7CisgICAgfSwgcHJvcGVydHkgKyAiIGlzIHN1cHBvcnRlZCIpOworICB9
KTsKK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9N
ZWRpYURldmljZXMtZ2V0VXNlck1lZGlhLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVk
aWFEZXZpY2VzLWdldFVzZXJNZWRpYS5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggYWE3Zjc4Mjk3
YmJjNDAwYjRjMDc3YjU2ZmY1ZGQzMGUwZjg3MjhlOS4uMDBmYmI4MjJiOGI5ZjBjNzU0MmRhNWNk
ODQ4YjNjNGEwYmFkZTNmYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYURldmljZXMtZ2V0VXNl
ck1lZGlhLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhRGV2aWNlcy1nZXRV
c2VyTWVkaWEuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC00LDQgKzQsOSBAQCBUaGlzIHRlc3QgY2hl
Y2tzIGZvciB0aGUgcHJlc2VuY2Ugb2YgdGhlIG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNl
ck1lZGlhIG1ldAogCiAKIFBBU1MgbWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSgpIGlzIHByZXNl
bnQgb24gbmF2aWdhdG9yIAorRkFJTCBncm91cElkIGlzIGNvcnJlY3RseSBzdXBwb3J0ZWQgYnkg
Z2V0VXNlck1lZGlhKCkgZm9yIHZpZGVvIGRldmljZXMgYXNzZXJ0X3RydWU6IGdyb3VwSWQgc2hv
dWxkIGJlIHN1cHBvcnRlZCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBncm91cElkIGlz
IGNvcnJlY3RseSBzdXBwb3J0ZWQgYnkgZ2V0VXNlck1lZGlhKCkgZm9yIGF1ZGlvIGRldmljZXMg
YXNzZXJ0X3RydWU6IGdyb3VwSWQgc2hvdWxkIGJlIHN1cHBvcnRlZCBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQorRkFJTCBnZXRVc2VyTWVkaWEoKSBzdXBwb3J0cyBzZXR0aW5nIG5vbmUgYXMgcmVz
aXplTW9kZS4gYXNzZXJ0X3RydWU6IHJlc2l6ZU1vZGUgc2hvdWxkIGJlIHN1cHBvcnRlZCBleHBl
Y3RlZCB0cnVlIGdvdCB1bmRlZmluZWQKK0ZBSUwgZ2V0VXNlck1lZGlhKCkgc3VwcG9ydHMgc2V0
dGluZyBjcm9wLWFuZC1zY2FsZSBhcyByZXNpemVNb2RlLiBhc3NlcnRfdHJ1ZTogcmVzaXplTW9k
ZSBzaG91bGQgYmUgc3VwcG9ydGVkIGV4cGVjdGVkIHRydWUgZ290IHVuZGVmaW5lZAorRkFJTCBn
ZXRVc2VyTWVkaWEoKSBmYWlscyB3aXRoIGV4YWN0IGludmFsaWQgcmVzaXplTW9kZS4gYXNzZXJ0
X3RydWU6IHJlc2l6ZU1vZGUgc2hvdWxkIGJlIHN1cHBvcnRlZCBleHBlY3RlZCB0cnVlIGdvdCB1
bmRlZmluZWQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYURldmljZXMtZ2V0VXNlck1lZGlh
Lmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhRGV2aWNlcy1nZXRVc2VyTWVkaWEuaHR0cHMuaHRt
bAppbmRleCAwNTczYWIwYTU5NGJkNTgzNGYxMmUyMDI5M2JhNDJjYjIyOWNhY2QxLi42OTNmM2Jk
MTFjZmFhNmJlN2NhMjFiYWUxMTA0NjdjMjY1YmU1YTA3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01l
ZGlhRGV2aWNlcy1nZXRVc2VyTWVkaWEuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhRGV2
aWNlcy1nZXRVc2VyTWVkaWEuaHR0cHMuaHRtbApAQCAtMzYsNiArMzYsODYgQEAgdGVzdChmdW5j
dGlvbiAoKSB7CiAgIC8vICAgbGlzdC5kZXZpY2VJZAogICAvLyAgIGxpc3QuZ3JvdXBJZAogICB9
LCAibWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSgpIGlzIHByZXNlbnQgb24gbmF2aWdhdG9yIik7
CisKK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgYXNzZXJ0X3RydWUobmF2aWdhdG9yLm1l
ZGlhRGV2aWNlcy5nZXRTdXBwb3J0ZWRDb25zdHJhaW50cygpWyJncm91cElkIl0sCisgICAgImdy
b3VwSWQgc2hvdWxkIGJlIHN1cHBvcnRlZCIpOworICBjb25zdCBkZXZpY2VzID0gYXdhaXQgbmF2
aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzKCk7CisgIGZvciAoY29uc3QgZGV2
aWNlIG9mIGRldmljZXMpIHsKKyAgICBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVz
ZXJNZWRpYSgKKyAgICAgICAge3ZpZGVvOiB7Z3JvdXBJZDoge2V4YWN0OiBkZXZpY2UuZ3JvdXBJ
ZH19fSkudGhlbihzdHJlYW0gPT4geworICAgICAgY29uc3QgZm91bmRfZGV2aWNlID0gZGV2aWNl
cy5maW5kKCh7ZGV2aWNlSWR9KSA9PgorICAgICAgICBkZXZpY2VJZCA9PSBzdHJlYW0uZ2V0VHJh
Y2tzKClbMF0uZ2V0U2V0dGluZ3MoKS5kZXZpY2VJZCk7CisgICAgICBhc3NlcnRfbm90X2VxdWFs
cyhmb3VuZF9kZXZpY2UsIHVuZGVmaW5lZCk7CisgICAgICBhc3NlcnRfZXF1YWxzKGZvdW5kX2Rl
dmljZS5raW5kLCAidmlkZW9pbnB1dCIpOworICAgICAgYXNzZXJ0X2VxdWFscyhmb3VuZF9kZXZp
Y2UuZ3JvdXBJZCwgZGV2aWNlLmdyb3VwSWQpOworICAgICAgc3RyZWFtLmdldFRyYWNrcygpLmZv
ckVhY2godCA9PiB0LnN0b3AoKSk7CisgICAgfSwgZXJyb3IgPT4geworICAgICAgYXNzZXJ0X2Vx
dWFscyhlcnJvci5uYW1lLCAiT3ZlcmNvbnN0cmFpbmVkRXJyb3IiKTsKKyAgICAgIGFzc2VydF9l
cXVhbHMoZXJyb3IuY29uc3RyYWludCwgImdyb3VwSWQiKTsKKyAgICAgIGNvbnN0IGZvdW5kX2Rl
dmljZSA9IGRldmljZXMuZmluZChlbGVtZW50ID0+CisgICAgICAgIGVsZW1lbnQua2luZCA9PSAi
dmlkZW9pbnB1dCIgJiYgZWxlbWVudC5ncm91cElkID09IGRldmljZS5ncm91cElkKTsKKyAgICAg
IGFzc2VydF9lcXVhbHMoZm91bmRfZGV2aWNlLCB1bmRlZmluZWQpOworICAgIH0pOworICB9Cit9
LCAnZ3JvdXBJZCBpcyBjb3JyZWN0bHkgc3VwcG9ydGVkIGJ5IGdldFVzZXJNZWRpYSgpIGZvciB2
aWRlbyBkZXZpY2VzJyk7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgYXNzZXJ0X3Ry
dWUobmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRTdXBwb3J0ZWRDb25zdHJhaW50cygpWyJncm91
cElkIl0sCisgICAgImdyb3VwSWQgc2hvdWxkIGJlIHN1cHBvcnRlZCIpOworICBjb25zdCBkZXZp
Y2VzID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzKCk7Cisg
IGZvciAoY29uc3QgZGV2aWNlIG9mIGRldmljZXMpIHsKKyAgICBhd2FpdCBuYXZpZ2F0b3IubWVk
aWFEZXZpY2VzLmdldFVzZXJNZWRpYSgKKyAgICAgICAge2F1ZGlvOiB7Z3JvdXBJZDoge2V4YWN0
OiBkZXZpY2UuZ3JvdXBJZH19fSkudGhlbihzdHJlYW0gPT4geworICAgICAgY29uc3QgZm91bmRf
ZGV2aWNlID0gZGV2aWNlcy5maW5kKCh7ZGV2aWNlSWR9KSA9PgorICAgICAgICBkZXZpY2VJZCA9
PSBzdHJlYW0uZ2V0VHJhY2tzKClbMF0uZ2V0U2V0dGluZ3MoKS5kZXZpY2VJZCk7CisgICAgICBh
c3NlcnRfbm90X2VxdWFscyhmb3VuZF9kZXZpY2UsIHVuZGVmaW5lZCk7CisgICAgICBhc3NlcnRf
ZXF1YWxzKGZvdW5kX2RldmljZS5raW5kLCAiYXVkaW9pbnB1dCIpOworICAgICAgYXNzZXJ0X2Vx
dWFscyhmb3VuZF9kZXZpY2UuZ3JvdXBJZCwgZGV2aWNlLmdyb3VwSWQpOworICAgICAgc3RyZWFt
LmdldFRyYWNrcygpLmZvckVhY2godCA9PiB0LnN0b3AoKSk7CisgICAgfSwgZXJyb3IgPT4gewor
ICAgICAgYXNzZXJ0X2VxdWFscyhlcnJvci5uYW1lLCAiT3ZlcmNvbnN0cmFpbmVkRXJyb3IiKTsK
KyAgICAgIGFzc2VydF9lcXVhbHMoZXJyb3IuY29uc3RyYWludCwgImdyb3VwSWQiKTsKKyAgICAg
IGNvbnN0IGZvdW5kX2RldmljZSA9IGRldmljZXMuZmluZChlbGVtZW50ID0+CisgICAgICAgIGVs
ZW1lbnQua2luZCA9PSAiYXVkaW9pbnB1dCIgJiYgZWxlbWVudC5ncm91cElkID09IGRldmljZS5n
cm91cElkKTsKKyAgICAgIGFzc2VydF9lcXVhbHMoZm91bmRfZGV2aWNlLCB1bmRlZmluZWQpOwor
ICAgIH0pOworICB9Cit9LCAnZ3JvdXBJZCBpcyBjb3JyZWN0bHkgc3VwcG9ydGVkIGJ5IGdldFVz
ZXJNZWRpYSgpIGZvciBhdWRpbyBkZXZpY2VzJyk7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ID0+
IHsKKyAgYXNzZXJ0X3RydWUobmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRTdXBwb3J0ZWRDb25z
dHJhaW50cygpWyJyZXNpemVNb2RlIl0sCisgICAgInJlc2l6ZU1vZGUgc2hvdWxkIGJlIHN1cHBv
cnRlZCIpOworICBjb25zdCBzdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdl
dFVzZXJNZWRpYSgKKyAgICAgIHsgdmlkZW86IHtyZXNpemVNb2RlOiB7ZXhhY3Q6ICdub25lJ319
fSk7CisgIGNvbnN0IFt0cmFja10gPSBzdHJlYW0uZ2V0VmlkZW9UcmFja3MoKTsKKyAgdC5hZGRf
Y2xlYW51cCgoKSA9PiB0cmFjay5zdG9wKCkpOworICBhc3NlcnRfZXF1YWxzKHRyYWNrLmdldFNl
dHRpbmdzKCkucmVzaXplTW9kZSwgJ25vbmUnKTsKK30sICdnZXRVc2VyTWVkaWEoKSBzdXBwb3J0
cyBzZXR0aW5nIG5vbmUgYXMgcmVzaXplTW9kZS4nKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHQg
PT4geworICBhc3NlcnRfdHJ1ZShuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFN1cHBvcnRlZENv
bnN0cmFpbnRzKClbInJlc2l6ZU1vZGUiXSwKKyAgICAicmVzaXplTW9kZSBzaG91bGQgYmUgc3Vw
cG9ydGVkIik7CisgIGNvbnN0IHN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMu
Z2V0VXNlck1lZGlhKAorICAgICAgeyB2aWRlbzoge3Jlc2l6ZU1vZGU6IHtleGFjdDogJ2Nyb3At
YW5kLXNjYWxlJ319fSk7CisgIGNvbnN0IFt0cmFja10gPSBzdHJlYW0uZ2V0VmlkZW9UcmFja3Mo
KTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiB0cmFjay5zdG9wKCkpOworICBhc3NlcnRfZXF1YWxz
KHRyYWNrLmdldFNldHRpbmdzKCkucmVzaXplTW9kZSwgJ2Nyb3AtYW5kLXNjYWxlJyk7Cit9LCAn
Z2V0VXNlck1lZGlhKCkgc3VwcG9ydHMgc2V0dGluZyBjcm9wLWFuZC1zY2FsZSBhcyByZXNpemVN
b2RlLicpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGFzc2VydF90cnVlKG5hdmln
YXRvci5tZWRpYURldmljZXMuZ2V0U3VwcG9ydGVkQ29uc3RyYWludHMoKVsicmVzaXplTW9kZSJd
LAorICAgICJyZXNpemVNb2RlIHNob3VsZCBiZSBzdXBwb3J0ZWQiKTsKKyAgdHJ5IHsKKyAgICBj
b25zdCBzdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSgK
KyAgICAgICAgeyB2aWRlbzoge3Jlc2l6ZU1vZGU6IHtleGFjdDogJ0lOVkFMSUQnfX19KTsKKyAg
ICB0LmFkZF9jbGVhbnVwKCgpID0+IHN0cmVhbS5nZXRWaWRlb1RyYWNrcygpWzBdLnN0b3AoKSk7
CisgICAgdC51bnJlYWNoZWRfZnVuYygnZ2V0VXNlck1lZGlhKCkgc2hvdWxkIGZhaWwgd2l0aCBp
bnZhbGlkIHJlc2l6ZU1vZGUnKSgpOworICB9IGNhdGNoIChlKSB7CisgICAgYXNzZXJ0X2VxdWFs
cyhlLm5hbWUsICdPdmVyY29uc3RyYWluZWRFcnJvcicpOworICAgIGFzc2VydF9lcXVhbHMoZS5j
b25zdHJhaW50LCAncmVzaXplTW9kZScpOworICB9Cit9LCAnZ2V0VXNlck1lZGlhKCkgZmFpbHMg
d2l0aCBleGFjdCBpbnZhbGlkIHJlc2l6ZU1vZGUuJyk7CiA8L3NjcmlwdD4KIDwvYm9keT4KIDwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tTWVkaWFFbGVtZW50LWZpcnN0
ZnJhbWUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1NZWRpYUVsZW1l
bnQtZmlyc3RmcmFtZS5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWIyYmMyYmFjYzY3
MjE0MDhkNWY4OGIxNWM2MTdmNTI0NzAzMzNlYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMv
TWVkaWFTdHJlYW0tTWVkaWFFbGVtZW50LWZpcnN0ZnJhbWUuaHR0cHMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTEgQEAKK1doZW4gcHJvbXB0ZWQsIGFjY2VwdCB0byBzaGFyZSB5b3VyIHZpZGVv
IHN0cmVhbS4KKworRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGEgSFRNTE1l
ZGlhRWxlbWVudCB3aXRoIGFuIGFzc2lnbmVkIE1lZGlhU3RyZWFtIHdpdGggYSB2aWRlbyB0cmFj
ayBmaXJlcyB0aGUgYXBwcm9wcmlhdGUgZXZlbnRzIHRvIHJlYWNoIHRoZSAiY2FucGxheSIgZXZl
bnQgYW5kIHJlYWR5U3RhdGUgSEFWRV9FTk9VR0hfREFUQSBldmVuIHdoZW4gbm90IHBsYXlpbmcg
b3IgYXV0b3BsYXlpbmcuCisKKworCitQQVNTIFRlc3RzIHRoYXQgbG9hZGluZyBhIE1lZGlhU3Ry
ZWFtIGluIGEgbWVkaWEgZWxlbWVudCBldmVudHVhbGx5IHJlc3VsdHMgaW4gImNhbnBsYXkiIGV2
ZW4gd2hlbiBub3QgcGxheWluZyBvciBhdXRvcGxheWluZyAKK1BBU1MgVGVzdHMgdGhhdCBsb2Fk
aW5nIGEgTWVkaWFTdHJlYW0gaW4gYSBtZWRpYSBlbGVtZW50IHNlZXMgYWxsIHRoZSBleHBlY3Rl
ZCAoZGV0ZXJtaW5pc3RpYykgZXZlbnRzIGV2ZW4gd2hlbiBub3QgcGxheWluZyBvciBhdXRvcGxh
eWluZyAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1NZWRpYUVsZW1lbnQtZmly
c3RmcmFtZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1NZWRpYUVsZW1lbnQtZmly
c3RmcmFtZS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcxNGFlMDFiMTljY2MyM2RhZDJkNjAxYTg4
NDNhZGM0NGJiN2I4NDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtLU1l
ZGlhRWxlbWVudC1maXJzdGZyYW1lLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwxMDIgQEAKKzwhZG9j
dHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5Bc3NpZ25pbmcgYSBNZWRpYVN0cmVh
bSB0byBhIG1lZGlhIGVsZW1lbnQgYW5kIG5vdCBwbGF5aW5nIGl0IHJlc3VsdHMgaW4gcmVuZGVy
aW5nIGEgZmlyc3QgZnJhbWU8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8cCBjbGFzcz0iaW5z
dHJ1Y3Rpb25zIj5XaGVuIHByb21wdGVkLCBhY2NlcHQgdG8gc2hhcmUgeW91ciB2aWRlbyBzdHJl
YW0uPC9wPgorPGgxIGNsYXNzPSJpbnN0cnVjdGlvbnMiPkRlc2NyaXB0aW9uPC9oMT4KKzxwIGNs
YXNzPSJpbnN0cnVjdGlvbnMiPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBhIEhUTUxNZWRpYUVsZW1l
bnQgd2l0aCBhbgorYXNzaWduZWQgTWVkaWFTdHJlYW0gd2l0aCBhIHZpZGVvIHRyYWNrIGZpcmVz
IHRoZSBhcHByb3ByaWF0ZSBldmVudHMgdG8gcmVhY2gKK3RoZSAiY2FucGxheSIgZXZlbnQgYW5k
IHJlYWR5U3RhdGUgSEFWRV9FTk9VR0hfREFUQSBldmVuIHdoZW4gbm90IHBsYXlpbmcgb3IKK2F1
dG9wbGF5aW5nLjwvcD4KKzx2aWRlbyBpZD0idmlkIj48L3ZpZGVvPgorPHNjcmlwdCBzcmM9L3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0PgorJ3VzZSBzdHJpY3QnOwor
Y29uc3QgdmlkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZpZCIpOworCitwcm9taXNlX3Rl
c3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0IHdhaXQgPSBtcyA9PiBuZXcgUHJvbWlzZShyID0+IHQu
c3RlcF90aW1lb3V0KHIsIG1zKSk7CisgIGNvbnN0IHRpbWVvdXQgPSAocHJvbWlzZSwgdGltZSwg
bXNnKSA9PiBQcm9taXNlLnJhY2UoWworICAgIHByb21pc2UsCisgICAgd2FpdCh0aW1lKS50aGVu
KCgpID0+IFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihtc2cpKSkKKyAgXSk7CisgIGNvbnN0IHN0
cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHt2aWRlbzog
dHJ1ZX0pOworICB0LmFkZF9jbGVhbnVwKCgpID0+IHN0cmVhbS5nZXRUcmFja3MoKS5mb3JFYWNo
KHRyYWNrID0+IHRyYWNrLnN0b3AoKSkpOworICB2aWQuc3JjT2JqZWN0ID0gc3RyZWFtOworCisg
IGF3YWl0IHRpbWVvdXQobmV3IFByb21pc2UociA9PiB2aWQub25jYW5wbGF5ID0gciksIDgwMDAs
ICJjYW5wbGF5IHRpbWVvdXQiKTsKKyAgYXNzZXJ0X2VxdWFscyh2aWQucmVhZHlTdGF0ZSwgdmlk
LkhBVkVfRU5PVUdIX0RBVEEsCisgICAgInJlYWR5U3RhdGUgaXMgSEFWRV9FTk9VR0hfREFUQSBh
ZnRlciBcImNhbnBsYXlcIiIpOworfSwgIlRlc3RzIHRoYXQgbG9hZGluZyBhIE1lZGlhU3RyZWFt
IGluIGEgbWVkaWEgZWxlbWVudCBldmVudHVhbGx5IHJlc3VsdHMgaW4gXCJjYW5wbGF5XCIgZXZl
biB3aGVuIG5vdCBwbGF5aW5nIG9yIGF1dG9wbGF5aW5nIik7CisKK3Byb21pc2VfdGVzdChhc3lu
YyB0ID0+IHsKKyAgY29uc3Qgd2FpdCA9IG1zID0+IG5ldyBQcm9taXNlKHIgPT4gdC5zdGVwX3Rp
bWVvdXQociwgbXMpKTsKKyAgY29uc3QgdGltZW91dCA9IChwcm9taXNlLCB0aW1lLCBtc2cpID0+
IFByb21pc2UucmFjZShbCisgICAgcHJvbWlzZSwKKyAgICB3YWl0KHRpbWUpLnRoZW4oKCkgPT4g
UHJvbWlzZS5yZWplY3QobmV3IEVycm9yKG1zZykpKQorICBdKTsKKyAgY29uc3QgdW5leHBlY3Rl
ZCA9IGUgPT4gYXNzZXJ0X3VucmVhY2hlZChgR290IHVuZXhwZWN0ZWQgZXZlbnQgJHtlLnR5cGV9
YCk7CisgIGNvbnN0IHN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNl
ck1lZGlhKHt2aWRlbzogdHJ1ZX0pOworICB0LmFkZF9jbGVhbnVwKCgpID0+IHsKKyAgICB2aWQu
b25kdXJhdGlvbmNoYW5nZSA9IG51bGw7CisgICAgc3RyZWFtLmdldFRyYWNrcygpLmZvckVhY2go
dHJhY2sgPT4gdHJhY2suc3RvcCgpKQorICB9KTsKKyAgdmlkLnNyY09iamVjdCA9IHN0cmVhbTsK
KworICB2aWQub25sb2Fkc3RhcnQgPSB1bmV4cGVjdGVkOworICB2aWQub25kdXJhdGlvbmNoYW5n
ZSA9IHVuZXhwZWN0ZWQ7CisgIHZpZC5vbnJlc2l6ZSA9IHVuZXhwZWN0ZWQ7CisgIHZpZC5vbmxv
YWRlZG1ldGFkYXRhID0gdW5leHBlY3RlZDsKKyAgdmlkLm9ubG9hZGVkZGF0YSA9IHVuZXhwZWN0
ZWQ7CisgIHZpZC5vbmNhbnBsYXkgPSB1bmV4cGVjdGVkOworICB2aWQub25jYW5wbGF5dGhyb3Vn
aCA9IHVuZXhwZWN0ZWQ7CisKKyAgYXdhaXQgdGltZW91dChuZXcgUHJvbWlzZShyID0+IHZpZC5v
bmxvYWRzdGFydCA9IHIpLCA4MDAwLAorICAgICJsb2Fkc3RhcnQgdGltZW91dCIpOworICB2aWQu
b25sb2Fkc3RhcnQgPSB1bmV4cGVjdGVkOworCisgIGF3YWl0IHRpbWVvdXQobmV3IFByb21pc2Uo
ciA9PiB2aWQub25kdXJhdGlvbmNoYW5nZSA9IHIpLCA4MDAwLAorICAgICJkdXJhdGlvbmNoYW5n
ZSB0aW1lb3V0Iik7CisgIHZpZC5vbmR1cmF0aW9uY2hhbmdlID0gdW5leHBlY3RlZDsKKyAgYXNz
ZXJ0X2VxdWFscyh2aWQuZHVyYXRpb24sIEluZmluaXR5LCAiZHVyYXRpb24gY2hhbmdlcyB0byBJ
bmZpbml0eSIpOworCisgIGF3YWl0IHRpbWVvdXQobmV3IFByb21pc2UociA9PiB2aWQub25yZXNp
emUgPSByKSwgODAwMCwKKyAgICAicmVzaXplIHRpbWVvdXQiKTsKKyAgdmlkLm9ucmVzaXplID0g
dW5leHBlY3RlZDsKKyAgYXNzZXJ0X25vdF9lcXVhbHModmlkLnZpZGVvV2lkdGgsIDAsCisgICAg
InZpZGVvV2lkdGggaXMgc29tZXRoaW5nIGFmdGVyIFwicmVzaXplXCIiKTsKKyAgYXNzZXJ0X25v
dF9lcXVhbHModmlkLnZpZGVvSGVpZ2h0LCAwLAorICAgICJ2aWRlb0hlaWdodCBpcyBzb21ldGhp
bmcgYWZ0ZXIgXCJyZXNpemVcIiIpOworCisgIGF3YWl0IHRpbWVvdXQobmV3IFByb21pc2UociA9
PiB2aWQub25sb2FkZWRtZXRhZGF0YSA9IHIpLCA4MDAwLAorICAgICJsb2FkZWRtZXRhZGF0YSB0
aW1lb3V0Iik7CisgIHZpZC5vbmxvYWRlZG1ldGFkYXRhID0gdW5leHBlY3RlZDsKKyAgYXNzZXJ0
X2dyZWF0ZXJfdGhhbl9lcXVhbCh2aWQucmVhZHlTdGF0ZSwgdmlkLkhBVkVfTUVUQURBVEEsCisg
ICAgInJlYWR5U3RhdGUgaXMgYXQgbGVhc3QgSEFWRV9NRVRBREFUQSBhZnRlciBcImxvYWRlZG1l
dGFkYXRhXCIiKTsKKworICBhd2FpdCB0aW1lb3V0KG5ldyBQcm9taXNlKHIgPT4gdmlkLm9ubG9h
ZGVkZGF0YSA9IHIpLCA4MDAwLAorICAgICJsb2FkZWRkYXRhIHRpbWVvdXQiKTsKKyAgdmlkLm9u
bG9hZGVkZGF0YSA9IHVuZXhwZWN0ZWQ7CisgIGFzc2VydF9lcXVhbHModmlkLnJlYWR5U3RhdGUs
IHZpZC5IQVZFX0VOT1VHSF9EQVRBLAorICAgICJyZWFkeVN0YXRlIGlzIEhBVkVfRU5PVUdIX0RB
VEEgYWZ0ZXIgXCJsb2FkZWRkYXRhXCIgc2luY2UgdGhlcmUncyBubyBidWZmZXJpbmciKTsKKwor
ICBhd2FpdCB0aW1lb3V0KG5ldyBQcm9taXNlKHIgPT4gdmlkLm9uY2FucGxheSA9IHIpLCA4MDAw
LCAiY2FucGxheSB0aW1lb3V0Iik7CisgIHZpZC5vbmNhbnBsYXkgPSB1bmV4cGVjdGVkOworICBh
c3NlcnRfZXF1YWxzKHZpZC5yZWFkeVN0YXRlLCB2aWQuSEFWRV9FTk9VR0hfREFUQSwKKyAgICAi
cmVhZHlTdGF0ZSBpcyBIQVZFX0VOT1VHSF9EQVRBIGFmdGVyIFwiY2FucGxheVwiIHNpbmNlIHRo
ZXJlJ3Mgbm8gYnVmZmVyaW5nIik7CisKKyAgYXdhaXQgdGltZW91dChuZXcgUHJvbWlzZShyID0+
IHZpZC5vbmNhbnBsYXl0aHJvdWdoID0gciksIDgwMDAsCisgICAgImNhbnBsYXl0aHJvdWdoIHRp
bWVvdXQiKTsKKyAgdmlkLm9uY2FucGxheXRocm91Z2ggPSB1bmV4cGVjdGVkOworICBhc3NlcnRf
ZXF1YWxzKHZpZC5yZWFkeVN0YXRlLCB2aWQuSEFWRV9FTk9VR0hfREFUQSwKKyAgICAicmVhZHlT
dGF0ZSBpcyBIQVZFX0VOT1VHSF9EQVRBIGFmdGVyIFwiY2FucGxheXRocm91Z2hcIiIpOworCisg
IC8vIENyYW5rIHRoZSBldmVudCBsb29wIHRvIHNlZSB3aGV0aGVyIGFueSBtb3JlIGV2ZW50cyBh
cmUgZmlyZWQuCisgIGF3YWl0IHdhaXQoMTAwKTsKK30sICJUZXN0cyB0aGF0IGxvYWRpbmcgYSBN
ZWRpYVN0cmVhbSBpbiBhIG1lZGlhIGVsZW1lbnQgc2VlcyBhbGwgdGhlIGV4cGVjdGVkIChkZXRl
cm1pbmlzdGljKSBldmVudHMgZXZlbiB3aGVuIG5vdCBwbGF5aW5nIG9yIGF1dG9wbGF5aW5nIik7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFT
dHJlYW0tTWVkaWFFbGVtZW50LXByZWxvYWQtbm9uZS1tYW51YWwuaHR0cHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1
cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1NZWRpYUVsZW1lbnQtcHJlbG9hZC1ub25lLW1hbnVhbC5o
dHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTY3OTdhN2QxZTJlOWM4MjQyNWYzMjA0ZTlk
M2RiN2Y3NTA1ODk3NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tTWVk
aWFFbGVtZW50LXByZWxvYWQtbm9uZS1tYW51YWwuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsOCBAQAorV2hlbiBwcm9tcHRlZCwgYWNjZXB0IHRvIHNoYXJlIHlvdXIgYXVkaW8gYW5kIHZp
ZGVvIHN0cmVhbXMuCisKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgSFRNTE1lZGlhRWxlbWVu
dCBwcmVsb2FkICdub25lJyBhdHRyaWJ1dGUgdmFsdWUgaXMgaWdub3JlZCBmb3IgTWVkaWFTdHJl
YW0gdXNlZCBhcyBzcmNPYmplY3QgYW5kIE1lZGlhU3RyZWFtIG9iamVjdCBVUkxzIHVzZWQgYXMg
c3JjLgorCisKK0ZBSUwgVGVzdCB0aGF0IHByZWxvYWQgJ25vbmUnIGlzIGlnbm9yZWQgZm9yIE1l
ZGlhU3RyZWFtIG9iamVjdCBVUkwgdXNlZCBhcyBzcmNPYmplY3QgZm9yIGF1ZGlvIGFzc2VydF91
bnJlYWNoZWQ6ICdzdXNwZW5kJyBzaG91bGQgbm90IGJlIGZpcmVkLiBSZWFjaGVkIHVucmVhY2hh
YmxlIGNvZGUKK0ZBSUwgVGVzdCB0aGF0IHByZWxvYWQgJ25vbmUnIGlzIGlnbm9yZWQgZm9yIE1l
ZGlhU3RyZWFtIHVzZWQgYXMgc3JjT2JqZWN0IGZvciB2aWRlbyBhc3NlcnRfdW5yZWFjaGVkOiAn
c3VzcGVuZCcgc2hvdWxkIG5vdCBiZSBmaXJlZC4gUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tTWVkaWFFbGVtZW50LXByZWxvYWQtbm9u
ZS1tYW51YWwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tTWVkaWFFbGVtZW50LXBy
ZWxvYWQtbm9uZS1tYW51YWwuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NThhMjczYmIxOTJiZWE2
Nzc3NmQ0MzIxMjVkNTQ4YmZlYmQ1ZmY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRp
YVN0cmVhbS1NZWRpYUVsZW1lbnQtcHJlbG9hZC1ub25lLW1hbnVhbC5odHRwcy5odG1sCkBAIC0w
LDAgKzEsNTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAg
IDx0aXRsZT5UZXN0IHRoYXQgdGhlIEhUTUxNZWRpYUVsZW1lbnQgcHJlbG9hZCAnbm9uZScgYXR0
cmlidXRlIHZhbHVlIGlzIGlnbm9yZWQgZm9yIE1lZGlhU3RyZWFtIHVzZWQgYXMgc3JjT2JqZWN0
IGFuZCBNZWRpYVN0cmVhbSBvYmplY3QgVVJMcyB1c2VkIGFzIHNyYy48L3RpdGxlPgorICAgICAg
ICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1hdHRoZXcgV29sZW5ldHoiIGhyZWY9Im1haWx0
bzp3b2xlbmV0ekBjaHJvbWl1bS5vcmciLz4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxi
b2R5PgorICAgICAgICA8cCBjbGFzcz0iaW5zdHJ1Y3Rpb25zIj5XaGVuIHByb21wdGVkLCBhY2Nl
cHQgdG8gc2hhcmUgeW91ciBhdWRpbyBhbmQgdmlkZW8gc3RyZWFtcy48L3A+CisgICAgICAgIDxw
IGNsYXNzPSJpbnN0cnVjdGlvbnMiPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgSFRNTE1lZGlh
RWxlbWVudCBwcmVsb2FkICdub25lJyBhdHRyaWJ1dGUgdmFsdWUgaXMgaWdub3JlZCBmb3IgTWVk
aWFTdHJlYW0gdXNlZCBhcyBzcmNPYmplY3QgYW5kIE1lZGlhU3RyZWFtIG9iamVjdCBVUkxzIHVz
ZWQgYXMgc3JjLjwvcD4KKyAgICAgICAgPGRpdiBpZD1sb2c+PC9kaXY+CisKKyAgICAgICAgPGF1
ZGlvIHByZWxvYWQ9Im5vbmUiPjwvYXVkaW8+CisgICAgICAgIDx2aWRlbyBwcmVsb2FkPSJub25l
Ij48L3ZpZGVvPgorCisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0
UHJlbG9hZE5vbmUodCwgbWVkaWFFbGVtZW50LCBzZXRTb3VyY2VTdHJlYW1GdW5jKQorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIC8vIFRoZSBvcHRpb25hbCBkZWZlcnJlZCBsb2FkIHN0
ZXBzIChmb3IgcHJlbG9hZCBub25lKSBmb3IgTWVkaWFTdHJlYW0gcmVzb3VyY2VzIHNob3VsZCBi
ZSBza2lwcGVkLgorICAgICAgICAgICAgICAgIG1lZGlhRWxlbWVudC5hZGRFdmVudExpc3RlbmVy
KCJzdXNwZW5kIiwgdC51bnJlYWNoZWRfZnVuYygiJ3N1c3BlbmQnIHNob3VsZCBub3QgYmUgZmly
ZWQuIikpOworICAgICAgICAgICAgICAgIG1lZGlhRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJl
cnJvciIsIHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgYXNzZXJ0
X3VucmVhY2hlZCgiJ2Vycm9yJyBzaG91bGQgbm90IGJlIGZpcmVkLCBjb2RlPSIgKyBtZWRpYUVs
ZW1lbnQuZXJyb3IuY29kZSk7CisgICAgICAgICAgICAgICAgfSkpOworCisgICAgICAgICAgICAg
ICAgbWVkaWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImxvYWRlZGRhdGEiLCB0LnN0ZXBfZnVu
YyhmdW5jdGlvbigpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBhc3Nl
cnRfZXF1YWxzKG1lZGlhRWxlbWVudC5uZXR3b3JrU3RhdGUsIG1lZGlhRWxlbWVudC5ORVRXT1JL
X0xPQURJTkcpOworICAgICAgICAgICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgICAgICAgICAg
ICB9KSk7CisKKyAgICAgICAgICAgICAgICBzZXRTb3VyY2VTdHJlYW1GdW5jKCk7CisgICAgICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZWRpYUVsZW1lbnQubmV0d29ya1N0YXRlLCBtZWRpYUVs
ZW1lbnQuTkVUV09SS19OT19TT1VSQ0UpOyAvLyBSZXNvdXJjZSBzZWxlY3Rpb24gaXMgYWN0aXZl
LgorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBhc3luY190ZXN0KGZ1bmN0aW9uKHQpCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdmFyIGF1ZCA9IGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoImF1ZGlvIik7CisgICAgICAgICAgICAgICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5n
ZXRVc2VyTWVkaWEoe2F1ZGlvOnRydWV9KQorICAgICAgICAgICAgICAgICAgLnRoZW4odC5zdGVw
X2Z1bmMoZnVuY3Rpb24oc3RyZWFtKQorICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgICAgICAgIHRlc3RQcmVsb2FkTm9uZSh0LCBhdWQsIHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkg
eyBhdWQuc3JjT2JqZWN0ID0gc3RyZWFtOyB9KSk7CisgICAgICAgICAgICAgICAgICB9KSwKKyAg
ICAgICAgICAgICAgICAgIHQudW5yZWFjaGVkX2Z1bmMoImdldFVzZXJNZWRpYSBlcnJvciBjYWxs
YmFjayB3YXMgaW52b2tlZC4iKSk7CisgICAgICAgICAgICB9LCAiVGVzdCB0aGF0IHByZWxvYWQg
J25vbmUnIGlzIGlnbm9yZWQgZm9yIE1lZGlhU3RyZWFtIG9iamVjdCBVUkwgdXNlZCBhcyBzcmNP
YmplY3QgZm9yIGF1ZGlvIik7CisKKyAgICAgICAgICAgIGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB2YXIgdmlkID0gZG9jdW1lbnQucXVlcnlT
ZWxlY3RvcigidmlkZW8iKTsKKyAgICAgICAgICAgICAgICBuYXZpZ2F0b3IubWVkaWFEZXZpY2Vz
LmdldFVzZXJNZWRpYSh7dmlkZW86dHJ1ZX0pCisgICAgICAgICAgICAgICAgICAudGhlbih0LnN0
ZXBfZnVuYyhmdW5jdGlvbihzdHJlYW0pCisgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgICAgICAgdGVzdFByZWxvYWROb25lKHQsIHZpZCwgdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
KSB7IHZpZC5zcmNPYmplY3QgPSBzdHJlYW07IH0pKTsKKyAgICAgICAgICAgICAgICAgIH0pLCB0
LnVucmVhY2hlZF9mdW5jKCJnZXRVc2VyTWVkaWEgZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQu
IikpOworICAgICAgICAgICAgfSwgIlRlc3QgdGhhdCBwcmVsb2FkICdub25lJyBpcyBpZ25vcmVk
IGZvciBNZWRpYVN0cmVhbSB1c2VkIGFzIHNyY09iamVjdCBmb3IgdmlkZW8iKTsKKyAgICAgICAg
PC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRp
YVN0cmVhbS1NZWRpYUVsZW1lbnQtcHJlbG9hZC1ub25lLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0
cmVhbXMvTWVkaWFTdHJlYW0tTWVkaWFFbGVtZW50LXByZWxvYWQtbm9uZS5odHRwcy1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxNGI5NTQzMDkyNWNiMzM5ZDQw
ZDA5ZGYyODc4MjcwMWYzYTU5NzQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9t
ZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1NZWRpYUVsZW1lbnQtcHJlbG9hZC1ub25l
Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLT4KLVdo
ZW4gcHJvbXB0ZWQsIGFjY2VwdCB0byBzaGFyZSB5b3VyIGF1ZGlvIGFuZCB2aWRlbyBzdHJlYW1z
LgotCi1EZXNjcmlwdGlvbgotCi1UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIEhUTUxNZWRpYUVs
ZW1lbnQgcHJlbG9hZCAnbm9uZScgYXR0cmlidXRlIHZhbHVlIGlzIGlnbm9yZWQgZm9yIE1lZGlh
U3RyZWFtIHVzZWQgYXMgc3JjT2JqZWN0IGFuZCBNZWRpYVN0cmVhbSBvYmplY3QgVVJMcyB1c2Vk
IGFzIHNyYy4KLQotCi0KLUZBSUwgVGVzdCB0aGF0IHByZWxvYWQgJ25vbmUnIGlzIGlnbm9yZWQg
Zm9yIE1lZGlhU3RyZWFtIG9iamVjdCBVUkwgdXNlZCBhcyBzcmMgVHlwZSBlcnJvcgotRkFJTCBU
ZXN0IHRoYXQgcHJlbG9hZCAnbm9uZScgaXMgaWdub3JlZCBmb3IgTWVkaWFTdHJlYW0gdXNlZCBh
cyBzcmNPYmplY3QgYXNzZXJ0X3VucmVhY2hlZDogJ3N1c3BlbmQnIHNob3VsZCBub3QgYmUgZmly
ZWQuIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlh
U3RyZWFtLU1lZGlhRWxlbWVudC1wcmVsb2FkLW5vbmUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVk
aWFTdHJlYW0tTWVkaWFFbGVtZW50LXByZWxvYWQtbm9uZS5odHRwcy5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA2MDE1YmI3YmIyZGU2NjlkZWM1NGMzYjI1NjA1OTY0ZjRiMTZl
OGE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVh
bXMvTWVkaWFTdHJlYW0tTWVkaWFFbGVtZW50LXByZWxvYWQtbm9uZS5odHRwcy5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsNjMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08IS0tIENvcHlyaWdo
dCDCqSAyMDE2IENocm9taXVtIGF1dGhvcnMgYW5kIFdvcmxkIFdpZGUgV2ViIENvbnNvcnRpdW0s
IChNYXNzYWNodXNldHRzIEluc3RpdHV0ZSBvZiBUZWNobm9sb2d5LCBFUkNJTSwgS2VpbyBVbml2
ZXJzaXR5LCBCZWloYW5nKS4gLS0+Ci08aHRtbD4KLSAgICA8aGVhZD4KLSAgICAgICAgPHRpdGxl
PlRlc3QgdGhhdCB0aGUgSFRNTE1lZGlhRWxlbWVudCBwcmVsb2FkICdub25lJyBhdHRyaWJ1dGUg
dmFsdWUgaXMgaWdub3JlZCBmb3IgTWVkaWFTdHJlYW0gdXNlZCBhcyBzcmNPYmplY3QgYW5kIE1l
ZGlhU3RyZWFtIG9iamVjdCBVUkxzIHVzZWQgYXMgc3JjLjwvdGl0bGU+PgotICAgICAgICA8bGlu
ayByZWw9ImF1dGhvciIgdGl0bGU9Ik1hdHRoZXcgV29sZW5ldHoiIGhyZWY9Im1haWx0bzp3b2xl
bmV0ekBjaHJvbWl1bS5vcmciLz4KLSAgICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgotICAgICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci0gICAgPC9oZWFkPgotICAgIDxib2R5Pgot
ICAgICAgICA8cCBjbGFzcz0iaW5zdHJ1Y3Rpb25zIj5XaGVuIHByb21wdGVkLCBhY2NlcHQgdG8g
c2hhcmUgeW91ciBhdWRpbyBhbmQgdmlkZW8gc3RyZWFtcy48L3A+Ci0gICAgICAgIDxoMSBjbGFz
cz0iaW5zdHJ1Y3Rpb25zIj5EZXNjcmlwdGlvbjwvaDE+Ci0gICAgICAgIDxwIGNsYXNzPSJpbnN0
cnVjdGlvbnMiPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgSFRNTE1lZGlhRWxlbWVudCBwcmVs
b2FkICdub25lJyBhdHRyaWJ1dGUgdmFsdWUgaXMgaWdub3JlZCBmb3IgTWVkaWFTdHJlYW0gdXNl
ZCBhcyBzcmNPYmplY3QgYW5kIE1lZGlhU3RyZWFtIG9iamVjdCBVUkxzIHVzZWQgYXMgc3JjLjwv
cD4KLQotICAgICAgICA8YXVkaW8gcHJlbG9hZD0ibm9uZSI+PC9hdWRpbz4KLSAgICAgICAgPHZp
ZGVvIHByZWxvYWQ9Im5vbmUiPjwvdmlkZW8+Ci0KLSAgICAgICAgPHNjcmlwdD4KLSAgICAgICAg
ICAgIGZ1bmN0aW9uIHRlc3RQcmVsb2FkTm9uZSh0LCBtZWRpYUVsZW1lbnQsIHNldFNvdXJjZVN0
cmVhbUZ1bmMpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgLy8gVGhlIG9wdGlvbmFs
IGRlZmVycmVkIGxvYWQgc3RlcHMgKGZvciBwcmVsb2FkIG5vbmUpIGZvciBNZWRpYVN0cmVhbSBy
ZXNvdXJjZXMgc2hvdWxkIGJlIHNraXBwZWQuCi0gICAgICAgICAgICAgICAgbWVkaWFFbGVtZW50
LmFkZEV2ZW50TGlzdGVuZXIoInN1c3BlbmQiLCB0LnVucmVhY2hlZF9mdW5jKCInc3VzcGVuZCcg
c2hvdWxkIG5vdCBiZSBmaXJlZC4iKSk7Ci0gICAgICAgICAgICAgICAgbWVkaWFFbGVtZW50LmFk
ZEV2ZW50TGlzdGVuZXIoImVycm9yIiwgdC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7Ci0gICAgICAg
ICAgICAgICAgICBhc3NlcnRfdW5yZWFjaGVkKCInZXJyb3InIHNob3VsZCBub3QgYmUgZmlyZWQs
IGNvZGU9IiArIG1lZGlhRWxlbWVudC5lcnJvci5jb2RlKTsKLSAgICAgICAgICAgICAgICB9KSk7
Ci0KLSAgICAgICAgICAgICAgICBtZWRpYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibG9hZGVk
ZGF0YSIsIHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVkaWFFbGVtZW50Lm5ldHdvcmtTdGF0ZSwgbWVk
aWFFbGVtZW50Lk5FVFdPUktfTE9BRElORyk7Ci0gICAgICAgICAgICAgICAgICAgIHQuZG9uZSgp
OwotICAgICAgICAgICAgICAgIH0pKTsKLQotICAgICAgICAgICAgICAgIHNldFNvdXJjZVN0cmVh
bUZ1bmMoKTsKLSAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lZGlhRWxlbWVudC5uZXR3
b3JrU3RhdGUsIG1lZGlhRWxlbWVudC5ORVRXT1JLX05PX1NPVVJDRSk7IC8vIFJlc291cmNlIHNl
bGVjdGlvbiBpcyBhY3RpdmUuCi0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGFzeW5jX3Rl
c3QoZnVuY3Rpb24odCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB2YXIgYXVkID0g
ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYXVkaW8iKTsKLSAgICAgICAgICAgICAgICBuYXZpZ2F0
b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7YXVkaW86dHJ1ZX0pCi0gICAgICAgICAgICAg
ICAgICAudGhlbih0LnN0ZXBfZnVuYyhmdW5jdGlvbihzdHJlYW0pCi0gICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgdGVzdFByZWxvYWROb25lKHQsIGF1ZCwgdC5zdGVw
X2Z1bmMoZnVuY3Rpb24oKQotICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgYXVkLnNyYyA9IFVSTC5jcmVhdGVPYmplY3RVUkwoc3RyZWFtKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsgVVJMLnJldm9r
ZU9iamVjdFVSTChhdWQuc3JjKTsgfSk7Ci0gICAgICAgICAgICAgICAgICAgICAgfSkpOwotICAg
ICAgICAgICAgICAgICAgfSksCi0gICAgICAgICAgICAgICAgICB0LnVucmVhY2hlZF9mdW5jKCJn
ZXRVc2VyTWVkaWEgZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuIikpOwotICAgICAgICAgICAg
fSwgIlRlc3QgdGhhdCBwcmVsb2FkICdub25lJyBpcyBpZ25vcmVkIGZvciBNZWRpYVN0cmVhbSBv
YmplY3QgVVJMIHVzZWQgYXMgc3JjIik7Ci0KLSAgICAgICAgICAgIGFzeW5jX3Rlc3QoZnVuY3Rp
b24odCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB2YXIgdmlkID0gZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcigidmlkZW8iKTsKLSAgICAgICAgICAgICAgICBuYXZpZ2F0b3IubWVkaWFE
ZXZpY2VzLmdldFVzZXJNZWRpYSh7dmlkZW86dHJ1ZX0pCi0gICAgICAgICAgICAgICAgICAudGhl
bih0LnN0ZXBfZnVuYyhmdW5jdGlvbihzdHJlYW0pCi0gICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgdGVzdFByZWxvYWROb25lKHQsIHZpZCwgdC5zdGVwX2Z1bmMoZnVu
Y3Rpb24oKSB7IHZpZC5zcmNPYmplY3QgPSBzdHJlYW07IH0pKTsKLSAgICAgICAgICAgICAgICAg
IH0pLCB0LnVucmVhY2hlZF9mdW5jKCJnZXRVc2VyTWVkaWEgZXJyb3IgY2FsbGJhY2sgd2FzIGlu
dm9rZWQuIikpOwotICAgICAgICAgICAgfSwgIlRlc3QgdGhhdCBwcmVsb2FkICdub25lJyBpcyBp
Z25vcmVkIGZvciBNZWRpYVN0cmVhbSB1c2VkIGFzIHNyY09iamVjdCIpOwotICAgICAgICA8L3Nj
cmlwdD4KLSAgICA8L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3Ry
ZWFtLU1lZGlhRWxlbWVudC1zcmNPYmplY3QuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9N
ZWRpYVN0cmVhbS1NZWRpYUVsZW1lbnQtc3JjT2JqZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRl
eCA4MTJmZWZkMTI3OTg4N2MwMjRkOGU3NWI3NzMwNDViODVhZDgzN2YyLi4yOTNmN2MyOWQ1N2E5
ZDFkYTM5ZTY5MzJjYjMwM2NkMDkyMGI1MTBmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3Ry
ZWFtLU1lZGlhRWxlbWVudC1zcmNPYmplY3QuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVh
bXMvTWVkaWFTdHJlYW0tTWVkaWFFbGVtZW50LXNyY09iamVjdC5odHRwcy1leHBlY3RlZC50eHQK
QEAgLTYsNSArNiwyMiBAQCBUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIE1lZGlhU3RyZWFtIG9i
amVjdCByZXR1cm5lZCBieSB0aGUgc3VjY2VzcyBjYWxsYmFjayBpbgogCiAKIAorSGFybmVzcyBF
cnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKIFBBU1MgVGVzdHMgdGhhdCBhIE1lZGlh
U3RyZWFtIGNhbiBiZSBhc3NpZ25lZCB0byBhIHZpZGVvIGVsZW1lbnQgd2l0aCBzcmNPYmplY3Qg
CitQQVNTIFRlc3RzIHRoYXQgYSBNZWRpYVN0cmVhbSBhc3NpZ25lZCB0byBhIHZpZGVvIGVsZW1l
bnQgaXMgbm90IHNlZWthYmxlIAorUEFTUyBUZXN0cyB0aGF0IGEgTWVkaWFTdHJlYW0gYXNzaWdu
ZWQgdG8gYSB2aWRlbyBlbGVtZW50IGlzIGluIHJlYWR5U3RhdGUgSEFWRV9OT1RISU5HIGluaXRp
YWxseSAKK1RJTUVPVVQgVGVzdHMgdGhhdCBhIE1lZGlhU3RyZWFtIGFzc2lnbmVkIHRvIGEgdmlk
ZW8gZWxlbWVudCBoYXMgZXhwZWN0ZWQgZHVyYXRpb24gVGVzdCB0aW1lZCBvdXQKK05PVFJVTiBU
ZXN0cyB0aGF0IGEgdmlkZW8gZWxlbWVudCB3aXRoIGEgTWVkaWFTdHJlYW0gYXNzaWduZWQgaXMg
bm90IHByZWxvYWRlZCAKK05PVFJVTiBUZXN0cyB0aGF0IGEgdmlkZW8gZWxlbWVudCB3aXRoIGEg
TWVkaWFTdHJlYW0gYXNzaWduZWQgaWdub3JlcyBwbGF5YmFja1JhdGUgYXR0cmlidXRlcyAoZGVm
YXVsdFBsYXliYWNrUmF0ZSBpcyBpZGVudGljYWwpIAorTk9UUlVOIFRlc3RzIHRoYXQgYSB2aWRl
byBlbGVtZW50IHdpdGggYSBNZWRpYVN0cmVhbSBhc3NpZ25lZCBpZ25vcmVzIHBsYXliYWNrUmF0
ZSBhdHRyaWJ1dGVzIChkZWZhdWx0UGxheWJhY2tSYXRlIGlzIGRpZmZlcmVudCkgCitOT1RSVU4g
VGVzdHMgdGhhdCBhIG1lZGlhIGVsZW1lbnQgd2l0aCBhbiBhc3NpZ25lZCBNZWRpYVN0cmVhbSBy
ZXBvcnRzIHRoZSBwbGF5ZWQgYXR0cmlidXRlIGFzIGV4cGVjdGVkIAorTk9UUlVOIFRlc3RzIHRo
YXQgYSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFTdHJlYW0gcmVwb3J0cyB0
aGUgY3VycmVudFRpbWUgYXR0cmlidXRlIGFzIGV4cGVjdGVkIAorTk9UUlVOIFRlc3RzIHRoYXQg
YSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFTdHJlYW0gc3RhcnRzIGl0cyB0
aW1lbGluZSBhdCAwIHJlZ2FyZGxlc3Mgb2Ygd2hlbiB0aGUgTWVkaWFTdHJlYW0gd2FzIGNyZWF0
ZWQgCitOT1RSVU4gVGVzdHMgdGhhdCBhIG1lZGlhIGVsZW1lbnQgd2l0aCBhbiBhc3NpZ25lZCBN
ZWRpYVN0cmVhbSBkb2VzIG5vdCBhZHZhbmNlIGN1cnJlbnRUaW1lIHdoaWxlIHBhdXNlZCAKK05P
VFJVTiBUZXN0cyB0aGF0IHRoZSBsb29wIGF0dHJpYnV0ZSBoYXMgbm8gZWZmZWN0IG9uIGEgbWVk
aWEgZWxlbWVudCB3aXRoIGFuIGFzc2lnbmVkIE1lZGlhU3RyZWFtIAorTk9UUlVOIFRlc3RzIHRo
YXQgYSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFTdHJlYW0gZW5kcyB3aGVu
IHRoZSBNZWRpYVN0cmVhbSBiZWNvbWVzIGluYWN0aXZlIHRocm91Z2ggdHJhY2tzIGVuZGluZyAK
K05PVFJVTiBUZXN0cyB0aGF0IGFuIGF1ZGlvIGVsZW1lbnQgd2l0aCBhbiBhc3NpZ25lZCBNZWRp
YVN0cmVhbSBlbmRzIHdoZW4gdGhlIE1lZGlhU3RyZWFtIGJlY29tZXMgaW5hdWRpYmxlIHRocm91
Z2ggYXVkaW8gdHJhY2tzIGVuZGluZyAKK05PVFJVTiBUZXN0cyB0aGF0IGEgbWVkaWEgZWxlbWVu
dCB3aXRoIGFuIGFzc2lnbmVkIE1lZGlhU3RyZWFtIGVuZHMgd2hlbiB0aGUgTWVkaWFTdHJlYW0g
YmVjb21lcyBpbmFjdGl2ZSB0aHJvdWdoIHRyYWNrIHJlbW92YWwgCitOT1RSVU4gVGVzdHMgdGhh
dCBhbiBhdWRpbyBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFTdHJlYW0gZW5kcyB3aGVu
IHRoZSBNZWRpYVN0cmVhbSBiZWNvbWVzIGluYXVkaWJsZSB0aHJvdWdoIHRyYWNrIHJlbW92YWwg
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tTWVkaWFFbGVtZW50LXNyY09iamVj
dC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1NZWRpYUVsZW1lbnQtc3JjT2JqZWN0
Lmh0dHBzLmh0bWwKaW5kZXggMmVkOTZlYzM4NmMyM2MwMTk3OTFjODMwNmQ3ZDgxY2Q0YjNhZjky
MC4uNzkwZjczYWU3YmQyMWJiMTE4YTEwNGZjM2MzZTM3ZDc4OTVmNWZlNiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUt
c3RyZWFtcy9NZWRpYVN0cmVhbS1NZWRpYUVsZW1lbnQtc3JjT2JqZWN0Lmh0dHBzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1
cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1NZWRpYUVsZW1lbnQtc3JjT2JqZWN0Lmh0dHBzLmh0bWwK
QEAgLTEyLDQyICsxMiw0MTMgQEAKIHRoZSBzdWNjZXNzIGNhbGxiYWNrIGluIGdldFVzZXJNZWRp
YSBjYW4gYmUgcHJvcGVybHkgYXNzaWduZWQgdG8gYSB2aWRlbyBlbGVtZW50CiB2aWEgdGhlIDxj
b2RlPnNyY09iamVjdDwvY29kZT4gYXR0cmlidXRlLjwvcD4KIAorPGF1ZGlvIGlkPSJhdWQiPjwv
YXVkaW8+CiA8dmlkZW8gaWQ9InZpZCI+PC92aWRlbz4KIAogPGRpdiBpZD0nbG9nJz48L2Rpdj4K
IDxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgogPHNjcmlwdD4K
LXZhciB2aWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidmlkIik7Ci12YXIgdCA9IGFzeW5j
X3Rlc3QoIlRlc3RzIHRoYXQgYSBNZWRpYVN0cmVhbSBjYW4gYmUgYXNzaWduZWQgdG8gYSB2aWRl
byBlbGVtZW50IHdpdGggc3JjT2JqZWN0Iiwge3RpbWVvdXQ6IDEwMDAwfSk7Ci10LnN0ZXAoZnVu
Y3Rpb24oKSB7Ci0gIG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHt2aWRlbzog
dHJ1ZX0pCi0gICAgLnRoZW4odC5zdGVwX2Z1bmMoZnVuY3Rpb24gKHN0cmVhbSkgewotICAgICAg
dmFyIHRlc3RPbmNlUGxheWluZyA9IGZ1bmN0aW9uKCkgewotICAgICAgICAgYXNzZXJ0X2VxdWFs
cyh2aWQucGxheWVkLmxlbmd0aCwgMSwgIkEgTWVkaWFTdHJlYW0ncyB0aW1lbGluZSBhbHdheXMg
Y29uc2lzdHMgb2YgYSBzaW5nbGUgcmFuZ2UiKTsKLSAgICAgICAgIGFzc2VydF9lcXVhbHModmlk
LnBsYXllZC5zdGFydCgwKSwgMCwgIkEgTWVkaWFTdHJlYW0ncyB0aW1lbGluZSBhbHdheXMgY29u
c2lzdHMgb2YgYSBzaW5nbGUgcmFuZ2UiKTsKLSAgICAgICAgIGFzc2VydF9hcHByb3hfZXF1YWxz
KHZpZC5wbGF5ZWQuZW5kKDApLCB2aWQuY3VycmVudFRpbWUsIDAuMDAwMSwgIkEgTWVkaWFTdHJl
YW0ncyB0aW1lbGluZSBhbHdheXMgY29uc2lzdHMgb2YgYSBzaW5nbGUgcmFuZ2UiKTsKLSAgICAg
ICAgIGFzc2VydF9lcXVhbHModmlkLnJlYWR5U3RhdGUsIHZpZC5IQVZFX0VOT1VHSF9EQVRBLCAi
VXBvbiBzZWxlY3RpbmcgYSBtZWRpYSBzdHJlYW0sIHRoZSBVQSBzZXRzIHJlYWR5U3RhdGUgdG8g
SEFWRV9FTk9VR0hfREFUQSIpOwotICAgICAgICAgYXNzZXJ0X2VxdWFscyh2aWQuZHVyYXRpb24s
IEluZmluaXR5LCAiIEEgTWVkaWFTdHJlYW0gZG9lcyBub3QgaGF2ZSBhIHByZS1kZWZpbmVkIGR1
cmF0aW9uLiAiKTsKLSAgICAgICAgIHZhciB0aW1lID0gdmlkLmN1cnJlbnRUaW1lOwotCi0gICAg
ICAgICBhc3NlcnRfYXBwcm94X2VxdWFscyh2aWQuY3VycmVudFRpbWUsIHRpbWUsIDAuMDAwMSwg
IlRoZSBVQSBNVVNUIGlnbm9yZSBhdHRlbXB0cyB0byBzZXQgdGhlIGN1cnJlbnRUaW1lIGF0dHJp
YnV0ZSIpOwotICAgICAgICAgLy8gVE9ETyBhZGQgdGVzdCB0aGF0IGR1cmF0aW9uIG11c3QgYmUg
c2V0IHRvIGN1cnJlbnRUaW1lCi0gICAgICAgICAvLyB3aGVuIG1lZGlhc3RyZWFtIGlzIGRlc3Ry
b3llZAotICAgICAgICAgdmlkLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRpbWV1cGRhdGUiLCB0ZXN0
T25jZVBsYXlpbmcsIGZhbHNlKTsKLSAgICAgICAgIHQuZG9uZSgpOwotICAgICAgfQotICAgICAg
dmlkLmFkZEV2ZW50TGlzdGVuZXIoInRpbWV1cGRhdGUiLCB0LnN0ZXBfZnVuYyh0ZXN0T25jZVBs
YXlpbmcpLCBmYWxzZSk7Ci0gICAgICB2aWQuc3JjT2JqZWN0ID0gc3RyZWFtOwotICAgICAgdmlk
LnBsYXkoKTsKLSAgICAgIGFzc2VydF90cnVlKCF2aWQuc2Vla2luZywgIkEgTWVkaWFTdHJlYW0g
aXMgbm90IHNlZWthYmxlIik7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHZpZC5zZWVrYWJsZS5sZW5n
dGgsIDAsICJBIE1lZGlhU3RyZWFtIGlzIG5vdCBzZWVrYWJsZSIpOwotICAgICAgYXNzZXJ0X2Vx
dWFscyh2aWQuZGVmYXVsdFBsYXliYWNrUmF0ZSwgMSwgInBsYXliYWNrIHJhdGUgaXMgYWx3YXlz
IDEiKTsKLSAgICAgIGFzc2VydF9lcXVhbHModmlkLnBsYXliYWNrUmF0ZSwgMSwgInBsYXliYWNr
IHJhdGUgaXMgYWx3YXlzIDEiKTsKLSAgICAgIGFzc2VydF9lcXVhbHModmlkLmJ1ZmZlcmVkLmxl
bmd0aCwgMCwgIkEgTWVkaWFTdHJlYW0gY2Fubm90IGJlIHByZWxvYWRlZC4gIFRoZXJlZm9yZSwg
dGhlcmUgaXMgbm8gYnVmZmVyZWQgdGltZXJhbmdlcyIpOwotICAgICAgYXNzZXJ0X2VxdWFscyh2
aWQuZHVyYXRpb24sIHZpZC5yZWFkeVN0YXRlID09IHZpZC5IQVZFX05PVEhJTkcgPyBOYU4gOiBJ
bmZpbml0eSwgIiBBIE1lZGlhU3RyZWFtIGRvZXMgbm90IGhhdmUgYSBwcmUtZGVmaW5lZCBkdXJh
dGlvbi4gIik7Ci0gICAgfSksIGZ1bmN0aW9uKGVycm9yKSB7fSk7Ci19KTsKKyd1c2Ugc3RyaWN0
JzsKK2NvbnN0IHZpZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2aWQiKTsKKworZnVuY3Rp
b24gcXVldWVUYXNrKGYpIHsKKyAgd2luZG93Lm9ubWVzc2FnZSA9IGY7CisgIHdpbmRvdy5wb3N0
TWVzc2FnZSgiaGkiKTsKK30KKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBz
dHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7dmlkZW86
IHRydWV9KTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiB7CisgICAgdmlkLnNyY09iamVjdCA9IG51
bGw7CisgICAgc3RyZWFtLmdldFRyYWNrcygpLmZvckVhY2godHJhY2sgPT4gdHJhY2suc3RvcCgp
KTsKKyAgfSk7CisgIHZpZC5zcmNPYmplY3QgPSBzdHJlYW07Cit9LCAiVGVzdHMgdGhhdCBhIE1l
ZGlhU3RyZWFtIGNhbiBiZSBhc3NpZ25lZCB0byBhIHZpZGVvIGVsZW1lbnQgd2l0aCBzcmNPYmpl
Y3QiKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBzdHJlYW0gPSBhd2Fp
dCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7dmlkZW86IHRydWV9KTsKKyAg
dC5hZGRfY2xlYW51cCgoKSA9PiB7CisgICAgdmlkLnNyY09iamVjdCA9IG51bGw7CisgICAgc3Ry
ZWFtLmdldFRyYWNrcygpLmZvckVhY2godHJhY2sgPT4gdHJhY2suc3RvcCgpKTsKKyAgfSk7Cisg
IHZpZC5zcmNPYmplY3QgPSBzdHJlYW07CisKKyAgYXNzZXJ0X3RydWUoIXZpZC5zZWVraW5nLCAi
QSBNZWRpYVN0cmVhbSBpcyBub3Qgc2Vla2FibGUiKTsKKyAgYXNzZXJ0X2VxdWFscyh2aWQuc2Vl
a2FibGUubGVuZ3RoLCAwLCAiQSBNZWRpYVN0cmVhbSBpcyBub3Qgc2Vla2FibGUiKTsKK30sICJU
ZXN0cyB0aGF0IGEgTWVkaWFTdHJlYW0gYXNzaWduZWQgdG8gYSB2aWRlbyBlbGVtZW50IGlzIG5v
dCBzZWVrYWJsZSIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0IHN0cmVh
bSA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHt2aWRlbzogdHJ1
ZX0pOworICB0LmFkZF9jbGVhbnVwKCgpID0+IHsKKyAgICB2aWQuc3JjT2JqZWN0ID0gbnVsbDsK
KyAgICBzdHJlYW0uZ2V0VHJhY2tzKCkuZm9yRWFjaCh0cmFjayA9PiB0cmFjay5zdG9wKCkpOwor
ICB9KTsKKyAgdmlkLnNyY09iamVjdCA9IHN0cmVhbTsKKworICBhc3NlcnRfZXF1YWxzKHZpZC5y
ZWFkeVN0YXRlLCB2aWQuSEFWRV9OT1RISU5HLAorICAgICJyZWFkeVN0YXRlIGlzIEhBVkVfTk9U
SElORyBpbml0aWFsbHkiKTsKKyAgYXdhaXQgbmV3IFByb21pc2UociA9PiB2aWQub25sb2FkZWRk
YXRhID0gcik7CisgIGFzc2VydF9lcXVhbHModmlkLnJlYWR5U3RhdGUsIHZpZC5IQVZFX0VOT1VH
SF9EQVRBLAorICAgICJVcG9uIGhhdmluZyBsb2FkZWQgYSBtZWRpYSBzdHJlYW0sIHRoZSBVQSBz
ZXRzIHJlYWR5U3RhdGUgdG8gSEFWRV9FTk9VR0hfREFUQSIpOworfSwgIlRlc3RzIHRoYXQgYSBN
ZWRpYVN0cmVhbSBhc3NpZ25lZCB0byBhIHZpZGVvIGVsZW1lbnQgaXMgaW4gcmVhZHlTdGF0ZSBI
QVZFX05PVEhJTkcgaW5pdGlhbGx5Iik7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAg
Y29uc3Qgc3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEo
e3ZpZGVvOiB0cnVlfSk7CisgIHQuYWRkX2NsZWFudXAoKCkgPT4geworICAgIHZpZC5zcmNPYmpl
Y3QgPSBudWxsOworICAgIHN0cmVhbS5nZXRUcmFja3MoKS5mb3JFYWNoKHRyYWNrID0+IHRyYWNr
LnN0b3AoKSk7CisgIH0pOworICB2aWQuc3JjT2JqZWN0ID0gc3RyZWFtOworCisgIGFzc2VydF9l
cXVhbHModmlkLmR1cmF0aW9uLCBOYU4sCisgICAgIkEgTWVkaWFTdHJlYW0gZG9lcyBub3QgaGF2
ZSBhbnkgZHVyYXRpb24gaW5pdGlhbGx5LiIpOworICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHZp
ZC5vbmR1cmF0aW9uY2hhbmdlID0gcik7CisgIGFzc2VydF9lcXVhbHModmlkLmR1cmF0aW9uLCBJ
bmZpbml0eSwKKyAgICAiQSBsb2FkZWQgTWVkaWFTdHJlYW0gZG9lcyBub3QgaGF2ZSBhIHByZS1k
ZWZpbmVkIGR1cmF0aW9uLiIpOworCisgIHZpZC5wbGF5KCk7CisgIGF3YWl0IG5ldyBQcm9taXNl
KHIgPT4gdmlkLm9udGltZXVwZGF0ZSA9IHIpOworICBmb3IgKGNvbnN0IHQgb2Ygc3RyZWFtLmdl
dFRyYWNrcygpKSB7CisgICAgdC5zdG9wKCk7CisgIH0KKworICBhd2FpdCBuZXcgUHJvbWlzZShy
ID0+IHZpZC5vbmR1cmF0aW9uY2hhbmdlID0gcik7CisgIGFzc2VydF9lcXVhbHModmlkLmR1cmF0
aW9uLCB2aWQuY3VycmVudFRpbWUsCisgICAgIkFmdGVyIGVuZGluZyBwbGF5YmFjaywgZHVyYXRp
b24gZ2V0cyBzZXQgdG8gY3VycmVudFRpbWUiKTsKK30sICJUZXN0cyB0aGF0IGEgTWVkaWFTdHJl
YW0gYXNzaWduZWQgdG8gYSB2aWRlbyBlbGVtZW50IGhhcyBleHBlY3RlZCBkdXJhdGlvbiIpOwor
Citwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0IHN0cmVhbSA9IGF3YWl0IG5hdmln
YXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHt2aWRlbzogdHJ1ZX0pOworICB0LmFkZF9j
bGVhbnVwKCgpID0+IHsKKyAgICB2aWQuc3JjT2JqZWN0ID0gbnVsbDsKKyAgICBzdHJlYW0uZ2V0
VHJhY2tzKCkuZm9yRWFjaCh0cmFjayA9PiB0cmFjay5zdG9wKCkpOworICB9KTsKKworICB2aWQu
cHJlbG9hZCA9ICJtZXRhZGF0YSI7CisgIHZpZC5zcmNPYmplY3QgPSBzdHJlYW07CisKKyAgYXNz
ZXJ0X2VxdWFscyh2aWQuYnVmZmVyZWQubGVuZ3RoLCAwLAorICAgICJBIE1lZGlhU3RyZWFtIGNh
bm5vdCBiZSBwcmVsb2FkZWQuIFRoZXJlZm9yZSwgdGhlcmUgYXJlIG5vIGJ1ZmZlcmVkIHRpbWVy
YW5nZXMiKTsKKyAgYXNzZXJ0X2VxdWFscyh2aWQucHJlbG9hZCwgIm5vbmUiLCAicHJlbG9hZCBt
dXN0IGFsd2F5cyBiZSBub25lIik7CisgIHZpZC5wcmVsb2FkID0gImF1dG8iOworICBhc3NlcnRf
ZXF1YWxzKHZpZC5wcmVsb2FkLCAibm9uZSIsICJTZXR0aW5nIHByZWxvYWQgbXVzdCBiZSBpZ25v
cmVkIik7CisKKyAgYXdhaXQgbmV3IFByb21pc2UociA9PiB2aWQub25sb2FkZWRkYXRhID0gcik7
CisgIGFzc2VydF9lcXVhbHModmlkLmJ1ZmZlcmVkLmxlbmd0aCwgMCwKKyAgICAiQSBNZWRpYVN0
cmVhbSBjYW5ub3QgYmUgcHJlbG9hZGVkLiBUaGVyZWZvcmUsIHRoZXJlIGFyZSBubyBidWZmZXJl
ZCB0aW1lcmFuZ2VzIik7CisKKyAgdmlkLnNyY09iamVjdCA9IG51bGw7CisKKyAgYXNzZXJ0X2Vx
dWFscyh2aWQucHJlbG9hZCwgIm1ldGFkYXRhIiwKKyAgICAiVGhlIHByZWxvYWQgYXR0cmlidXRl
IHJldHVybnMgdGhlIHZhbHVlIGl0IGhhZCBiZWZvcmUgdXNpbmcgYSBNZWRpYVN0cmVhbSIpOwor
fSwgIlRlc3RzIHRoYXQgYSB2aWRlbyBlbGVtZW50IHdpdGggYSBNZWRpYVN0cmVhbSBhc3NpZ25l
ZCBpcyBub3QgcHJlbG9hZGVkIik7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgY29u
c3Qgc3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe3Zp
ZGVvOiB0cnVlfSk7CisgIHQuYWRkX2NsZWFudXAoKCkgPT4geworICAgIHZpZC5zcmNPYmplY3Qg
PSBudWxsOworICAgIHN0cmVhbS5nZXRUcmFja3MoKS5mb3JFYWNoKHRyYWNrID0+IHRyYWNrLnN0
b3AoKSk7CisgIH0pOworCisgIHZpZC5kZWZhdWx0UGxheWJhY2tSYXRlID0gMC4zOworICB2aWQu
cGxheWJhY2tSYXRlID0gMC4zOworICB2aWQub25yYXRlY2hhbmdlID0gdC51bnJlYWNoZWRfZnVu
YygicmF0ZWNoYW5nZSBldmVudCBtdXN0IG5vdCBiZSBmaXJlZCIpOworICB2aWQuc3JjT2JqZWN0
ID0gc3RyZWFtOworCisgIGFzc2VydF9lcXVhbHModmlkLmRlZmF1bHRQbGF5YmFja1JhdGUsIDEs
ICJwbGF5YmFjayByYXRlIGlzIGFsd2F5cyAxIik7CisgIHZpZC5kZWZhdWx0UGxheWJhY2tSYXRl
ID0gMC41OworICBhc3NlcnRfZXF1YWxzKHZpZC5kZWZhdWx0UGxheWJhY2tSYXRlLCAxLAorICAg
ICJTZXR0aW5nIGRlZmF1bHRQbGF5YmFja1JhdGUgbXVzdCBiZSBpZ25vcmVkIik7CisKKyAgYXNz
ZXJ0X2VxdWFscyh2aWQucGxheWJhY2tSYXRlLCAxLCAicGxheWJhY2sgcmF0ZSBpcyBhbHdheXMg
MSIpOworICB2aWQucGxheWJhY2tSYXRlID0gMC41OworICBhc3NlcnRfZXF1YWxzKHZpZC5wbGF5
YmFja1JhdGUsIDEsICJTZXR0aW5nIHBsYXliYWNrUmF0ZSBtdXN0IGJlIGlnbm9yZWQiKTsKKwor
ICB2aWQuc3JjT2JqZWN0ID0gbnVsbDsKKyAgYXNzZXJ0X2VxdWFscyh2aWQuZGVmYXVsdFBsYXli
YWNrUmF0ZSwgMC4zLAorICAgICJUaGUgZGVmYXVsdFBsYXliYWNrUmF0ZSBhdHRyaWJ1dGUgcmV0
dXJucyB0aGUgdmFsdWUgaXQgaGFkIGJlZm9yZSB1c2luZyBhIE1lZGlhU3RyZWFtIik7CisgIGFz
c2VydF9lcXVhbHModmlkLnBsYXliYWNrUmF0ZSwgMC4zLAorICAgICJUaGUgcGxheWJhY2tSYXRl
IGF0dHJpYnV0ZSBpcyBzZXQgdG8gdGhlIHZhbHVlIG9mIHRoZSBkZWZhdWx0UGxheWJhY2tSYXRl
IGF0dHJpYnV0ZSB3aGVuIHVuc2V0dGluZyBzcmNPYmplY3QiKTsKKworICAvLyBDaGVjayB0aGF0
IHRoZXJlJ3Mgbm8gcmF0ZWNoYW5nZSBldmVudAorICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHQu
c3RlcF90aW1lb3V0KHIsIDEwMCkpOworfSwgIlRlc3RzIHRoYXQgYSB2aWRlbyBlbGVtZW50IHdp
dGggYSBNZWRpYVN0cmVhbSBhc3NpZ25lZCBpZ25vcmVzIHBsYXliYWNrUmF0ZSBhdHRyaWJ1dGVz
IChkZWZhdWx0UGxheWJhY2tSYXRlIGlzIGlkZW50aWNhbCkiKTsKKworcHJvbWlzZV90ZXN0KGFz
eW5jIHQgPT4geworICBjb25zdCBzdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2Vz
LmdldFVzZXJNZWRpYSh7dmlkZW86IHRydWV9KTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiB7Cisg
ICAgdmlkLnNyY09iamVjdCA9IG51bGw7CisgICAgc3RyZWFtLmdldFRyYWNrcygpLmZvckVhY2go
dHJhY2sgPT4gdHJhY2suc3RvcCgpKTsKKyAgfSk7CisKKyAgdmlkLmRlZmF1bHRQbGF5YmFja1Jh
dGUgPSAwLjM7CisgIHZpZC5wbGF5YmFja1JhdGUgPSAwLjQ7CisgIHZpZC5vbnJhdGVjaGFuZ2Ug
PSB0LnVucmVhY2hlZF9mdW5jKCJyYXRlY2hhbmdlIGV2ZW50IG11c3Qgbm90IGJlIGZpcmVkIik7
CisgIHZpZC5zcmNPYmplY3QgPSBzdHJlYW07CisKKyAgYXNzZXJ0X2VxdWFscyh2aWQuZGVmYXVs
dFBsYXliYWNrUmF0ZSwgMSwgInBsYXliYWNrIHJhdGUgaXMgYWx3YXlzIDEiKTsKKyAgdmlkLmRl
ZmF1bHRQbGF5YmFja1JhdGUgPSAwLjU7CisgIGFzc2VydF9lcXVhbHModmlkLmRlZmF1bHRQbGF5
YmFja1JhdGUsIDEsCisgICAgIlNldHRpbmcgZGVmYXVsdFBsYXliYWNrUmF0ZSBtdXN0IGJlIGln
bm9yZWQiKTsKKworICBhc3NlcnRfZXF1YWxzKHZpZC5wbGF5YmFja1JhdGUsIDEsICJwbGF5YmFj
ayByYXRlIGlzIGFsd2F5cyAxIik7CisgIHZpZC5wbGF5YmFja1JhdGUgPSAwLjU7CisgIGFzc2Vy
dF9lcXVhbHModmlkLnBsYXliYWNrUmF0ZSwgMSwgIlNldHRpbmcgcGxheWJhY2tSYXRlIG11c3Qg
YmUgaWdub3JlZCIpOworCisgIHZpZC5zcmNPYmplY3QgPSBudWxsOworICBhc3NlcnRfZXF1YWxz
KHZpZC5kZWZhdWx0UGxheWJhY2tSYXRlLCAwLjMsCisgICAgIlRoZSBkZWZhdWx0UGxheWJhY2tS
YXRlIGF0dHJpYnV0ZSByZXR1cm5zIHRoZSB2YWx1ZSBpdCBoYWQgYmVmb3JlIHVzaW5nIGEgTWVk
aWFTdHJlYW0iKTsKKyAgYXNzZXJ0X2VxdWFscyh2aWQucGxheWJhY2tSYXRlLCAwLjMsCisgICAg
IlRoZSBwbGF5YmFja1JhdGUgYXR0cmlidXRlIGlzIHNldCB0byB0aGUgdmFsdWUgb2YgdGhlIGRl
ZmF1bHRQbGF5YmFja1JhdGUgYXR0cmlidXRlIHdoZW4gdW5zZXR0aW5nIHNyY09iamVjdCAoYW5k
IGZpcmVzIHJhdGVjaGFuZ2UpIik7CisgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gdmlkLm9ucmF0
ZWNoYW5nZSA9IHIpOworfSwgIlRlc3RzIHRoYXQgYSB2aWRlbyBlbGVtZW50IHdpdGggYSBNZWRp
YVN0cmVhbSBhc3NpZ25lZCBpZ25vcmVzIHBsYXliYWNrUmF0ZSBhdHRyaWJ1dGVzIChkZWZhdWx0
UGxheWJhY2tSYXRlIGlzIGRpZmZlcmVudCkiKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4g
eworICBjb25zdCBzdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJN
ZWRpYSh7dmlkZW86IHRydWV9KTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiB7CisgICAgdmlkLnNy
Y09iamVjdCA9IG51bGw7CisgICAgc3RyZWFtLmdldFRyYWNrcygpLmZvckVhY2godHJhY2sgPT4g
dHJhY2suc3RvcCgpKTsKKyAgfSk7CisgIHZpZC5zcmNPYmplY3QgPSBzdHJlYW07CisgIGF3YWl0
IG5ldyBQcm9taXNlKHIgPT4gdmlkLm9uY2FucGxheSA9IHIpOworICB2aWQucGxheSgpOworICBh
d2FpdCBuZXcgUHJvbWlzZShyID0+IHZpZC5vbnRpbWV1cGRhdGUgPSByKTsKKyAgYXNzZXJ0X2dy
ZWF0ZXJfdGhhbih2aWQuY3VycmVudFRpbWUsIDAsCisgICAgImN1cnJlbnRUaW1lIGlzIGdyZWF0
ZXIgdGhhbiAwIGFmdGVyIGZpcnN0IHRpbWV1cGRhdGUiKTsKKworICBhc3NlcnRfZXF1YWxzKHZp
ZC5wbGF5ZWQubGVuZ3RoLCAxLAorICAgICJBIE1lZGlhU3RyZWFtJ3MgdGltZWxpbmUgYWx3YXlz
IGNvbnNpc3RzIG9mIGEgc2luZ2xlIHJhbmdlIik7CisgIGFzc2VydF9lcXVhbHModmlkLnBsYXll
ZC5zdGFydCgwKSwgMCwKKyAgICAiQSBNZWRpYVN0cmVhbSdzIHRpbWVsaW5lIGFsd2F5cyBzdGFy
dHMgYXQgemVybyIpOworICBhc3NlcnRfZXF1YWxzKHZpZC5wbGF5ZWQuZW5kKDApLCB2aWQuY3Vy
cmVudFRpbWUsCisgICAgIkEgTWVkaWFTdHJlYW0ncyBlbmQgTVVTVCByZXR1cm4gdGhlIGxhc3Qg
a25vd24gY3VycmVudFRpbWUiKTsKKworICBjb25zdCB0aW1lID0gdmlkLmN1cnJlbnRUaW1lOwor
ICB2aWQuY3VycmVudFRpbWUgPSAwOworICBhc3NlcnRfZXF1YWxzKHZpZC5jdXJyZW50VGltZSwg
dGltZSwKKyAgICAiVGhlIFVBIE1VU1QgaWdub3JlIGF0dGVtcHRzIHRvIHNldCB0aGUgY3VycmVu
dFRpbWUgYXR0cmlidXRlIik7Cit9LCAiVGVzdHMgdGhhdCBhIG1lZGlhIGVsZW1lbnQgd2l0aCBh
biBhc3NpZ25lZCBNZWRpYVN0cmVhbSByZXBvcnRzIHRoZSBwbGF5ZWQgYXR0cmlidXRlIGFzIGV4
cGVjdGVkIik7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3Qgc3RyZWFtID0g
YXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe3ZpZGVvOiB0cnVlfSk7
CisgIHQuYWRkX2NsZWFudXAoKCkgPT4geworICAgIHZpZC5zcmNPYmplY3QgPSBudWxsOworICAg
IHN0cmVhbS5nZXRUcmFja3MoKS5mb3JFYWNoKHRyYWNrID0+IHRyYWNrLnN0b3AoKSk7CisgIH0p
OworICB2aWQuc3JjT2JqZWN0ID0gc3RyZWFtOworCisgIGFzc2VydF9lcXVhbHModmlkLmN1cnJl
bnRUaW1lLCAwLCAiVGhlIGluaXRpYWwgdmFsdWUgaXMgMCIpOworICB2aWQuY3VycmVudFRpbWUg
PSA0MjsKKyAgYXNzZXJ0X2VxdWFscyh2aWQuY3VycmVudFRpbWUsIDAsCisgICAgIlRoZSBVQSBN
VVNUIGlnbm9yZSBhdHRlbXB0cyB0byBzZXQgdGhlIGN1cnJlbnRUaW1lIGF0dHJpYnV0ZSAoZGVm
YXVsdCBwbGF5YmFjayBzdGFydCBwb3NpdGlvbikiKTsKKworICBhd2FpdCBuZXcgUHJvbWlzZShy
ID0+IHZpZC5vbmxvYWRlZGRhdGEgPSByKTsKKyAgYXNzZXJ0X2VxdWFscyh2aWQuY3VycmVudFRp
bWUsIDAsICJUaGUgaW5pdGlhbCB2YWx1ZSBpcyAwIik7CisgIHZpZC5jdXJyZW50VGltZSA9IDQy
OworICBhc3NlcnRfZXF1YWxzKHZpZC5jdXJyZW50VGltZSwgMCwKKyAgICAiVGhlIFVBIE1VU1Qg
aWdub3JlIGF0dGVtcHRzIHRvIHNldCB0aGUgY3VycmVudFRpbWUgYXR0cmlidXRlIChvZmZpY2lh
bCBwbGF5YmFjayBwb3NpdGlvbikiKTsKKworICB2aWQucGxheSgpOworICBhd2FpdCBuZXcgUHJv
bWlzZShyID0+IHZpZC5vbnRpbWV1cGRhdGUgPSByKTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbih2
aWQuY3VycmVudFRpbWUsIDAsCisgICAgImN1cnJlbnRUaW1lIGlzIGdyZWF0ZXIgdGhhbiAwIGFm
dGVyIGZpcnN0IHRpbWV1cGRhdGUiKTsKKworICBjb25zdCBsYXN0VGltZSA9IHZpZC5jdXJyZW50
VGltZTsKKyAgdmlkLmN1cnJlbnRUaW1lID0gMDsKKyAgYXNzZXJ0X2VxdWFscyh2aWQuY3VycmVu
dFRpbWUsIGxhc3RUaW1lLAorICAgICJUaGUgVUEgTVVTVCBpZ25vcmUgYXR0ZW1wdHMgdG8gc2V0
IHRoZSBjdXJyZW50VGltZSBhdHRyaWJ1dGUgKHJlc3RhcnQpIik7CisKKyAgZm9yKGNvbnN0IHQg
b2Ygc3RyZWFtLmdldFRyYWNrcygpKSB7CisgICAgdC5zdG9wKCk7CisgIH0KKyAgYXdhaXQgbmV3
IFByb21pc2UociA9PiB2aWQub25lbmRlZCA9IHIpOworICBhc3NlcnRfZ3JlYXRlcl90aGFuX2Vx
dWFsKHZpZC5jdXJyZW50VGltZSwgbGFzdFRpbWUsCisgICAgImN1cnJlbnRUaW1lIGFkdmFuY2Vk
IGFmdGVyIHN0b3BwaW5nIik7Cit9LCAiVGVzdHMgdGhhdCBhIG1lZGlhIGVsZW1lbnQgd2l0aCBh
biBhc3NpZ25lZCBNZWRpYVN0cmVhbSByZXBvcnRzIHRoZSBjdXJyZW50VGltZSBhdHRyaWJ1dGUg
YXMgZXhwZWN0ZWQiKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBzdHJl
YW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7dmlkZW86IHRy
dWV9KTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiB7CisgICAgdmlkLnNyY09iamVjdCA9IG51bGw7
CisgICAgc3RyZWFtLmdldFRyYWNrcygpLmZvckVhY2godHJhY2sgPT4gdHJhY2suc3RvcCgpKTsK
KyAgfSk7CisgIHZpZC5zcmNPYmplY3QgPSBzdHJlYW07CisKKyAgYXdhaXQgbmV3IFByb21pc2Uo
ciA9PiB0LnN0ZXBfdGltZW91dChyLCA1MDApKTsKKworICB2aWQucGxheSgpOworICBhd2FpdCBu
ZXcgUHJvbWlzZShyID0+IHZpZC5vbnRpbWV1cGRhdGUgPSByKTsKKyAgYXNzZXJ0X2JldHdlZW5f
ZXhjbHVzaXZlKHZpZC5jdXJyZW50VGltZSwgMCwgMC41LAorICAgICJjdXJyZW50VGltZSBzdGFy
dHMgYXQgMCBhbmQgaGFzIHByb2dyZXNzZWQgYXQgZmlyc3QgdGltZXVwZGF0ZSIpOworfSwgIlRl
c3RzIHRoYXQgYSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFTdHJlYW0gc3Rh
cnRzIGl0cyB0aW1lbGluZSBhdCAwIHJlZ2FyZGxlc3Mgb2Ygd2hlbiB0aGUgTWVkaWFTdHJlYW0g
d2FzIGNyZWF0ZWQiKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBzdHJl
YW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7dmlkZW86IHRy
dWV9KTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiB7CisgICAgdmlkLnNyY09iamVjdCA9IG51bGw7
CisgICAgc3RyZWFtLmdldFRyYWNrcygpLmZvckVhY2godHJhY2sgPT4gdHJhY2suc3RvcCgpKTsK
KyAgfSk7CisgIHZpZC5zcmNPYmplY3QgPSBzdHJlYW07CisKKyAgdmlkLnBsYXkoKTsKKyAgYXdh
aXQgbmV3IFByb21pc2UociA9PiB2aWQub250aW1ldXBkYXRlID0gcik7CisKKyAgdmlkLnBhdXNl
KCk7CisgIGNvbnN0IHBhdXNlQ3VycmVudFRpbWUgPSB2aWQuY3VycmVudFRpbWU7CisKKyAgYXdh
aXQgbmV3IFByb21pc2UociA9PiB2aWQub25wYXVzZSA9IHIpOworICB2aWQub250aW1ldXBkYXRl
ID0gKCkgPT4gYXNzZXJ0X3VucmVhY2hlZCgiTm8gdGltZXVwZGF0ZSB3aGlsZSBwYXVzZWQiKTsK
KworICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHQuc3RlcF90aW1lb3V0KHIsIDUwMCkpOworICBh
c3NlcnRfZXF1YWxzKHZpZC5jdXJyZW50VGltZSwgcGF1c2VDdXJyZW50VGltZSwKKyAgICAiY3Vy
cmVudFRpbWUgZG9lcyBub3QgY2hhbmdlIHdoaWxlIHBhdXNlZCIpOworCisgIHZpZC5wbGF5KCk7
CisKKyAgYXdhaXQgbmV3IFByb21pc2UociA9PiB2aWQub250aW1ldXBkYXRlID0gcik7CisgIGFz
c2VydF9iZXR3ZWVuX2V4Y2x1c2l2ZSh2aWQuY3VycmVudFRpbWUgLSBwYXVzZUN1cnJlbnRUaW1l
LCAwLCAwLjUsCisgICAgImN1cnJlbnRUaW1lIGRvZXMgbm90IHNraXAgYWhlYWQgYWZ0ZXIgcGF1
c2UiKTsKK30sICJUZXN0cyB0aGF0IGEgbWVkaWEgZWxlbWVudCB3aXRoIGFuIGFzc2lnbmVkIE1l
ZGlhU3RyZWFtIGRvZXMgbm90IGFkdmFuY2UgY3VycmVudFRpbWUgd2hpbGUgcGF1c2VkIik7CisK
KworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBzdHJlYW0gPSBhd2FpdCBuYXZp
Z2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7dmlkZW86IHRydWV9KTsKKyAgdC5hZGRf
Y2xlYW51cCgoKSA9PiB7CisgICAgdmlkLnNyY09iamVjdCA9IG51bGw7CisgICAgc3RyZWFtLmdl
dFRyYWNrcygpLmZvckVhY2godHJhY2sgPT4gdHJhY2suc3RvcCgpKTsKKyAgfSk7CisgIGFzc2Vy
dF9lcXVhbHModmlkLmxvb3AsIGZhbHNlLCAibG9vcCBpcyBmYWxzZSBieSBkZWZhdWx0Iik7Cisg
IHZpZC5zcmNPYmplY3QgPSBzdHJlYW07CisKKyAgdmlkLmxvb3AgPSB0cnVlOworICBhc3NlcnRf
ZXF1YWxzKHZpZC5sb29wLCB0cnVlLAorICAgICJsb29wIGNhbiBiZSBjaGFuZ2VkIHdoZW4gYXNz
aWduZWQgYSBNZWRpYVN0cmVhbSIpOworCisgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gdmlkLm9u
bG9hZGVkZGF0YSA9IHIpOworICB2aWQubG9vcCA9IGZhbHNlOworICBhc3NlcnRfZXF1YWxzKHZp
ZC5sb29wLCBmYWxzZSwKKyAgICAibG9vcCBjYW4gYmUgY2hhbmdlZCB3aGVuIGhhdmluZyBsb2Fk
ZWQgYSBNZWRpYVN0cmVhbSIpOworCisgIHZpZC5wbGF5KCk7CisgIGF3YWl0IG5ldyBQcm9taXNl
KHIgPT4gdmlkLm9udGltZXVwZGF0ZSA9IHIpOworICB2aWQubG9vcCA9IHRydWU7CisgIGFzc2Vy
dF9lcXVhbHModmlkLmxvb3AsIHRydWUsCisgICAgImxvb3AgY2FuIGJlIGNoYW5nZWQgd2hlbiBw
bGF5aW5nIGEgTWVkaWFTdHJlYW0iKTsKKworICBmb3IoY29uc3QgdCBvZiBzdHJlYW0uZ2V0VHJh
Y2tzKCkpIHsKKyAgICB0LnN0b3AoKTsKKyAgfQorICAvLyBJZiBsb29wIGlzIGlnbm9yZWQsIHdl
IGdldCAiZW5kZWQiLAorICAvLyBvdGhlcndpc2UgdGhlIG1lZGlhIGVsZW1lbnQgc2V0cyBjdXJy
ZW50VGltZSB0byAwIHdpdGhvdXQgZW5kaW5nLgorICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHZp
ZC5vbmVuZGVkID0gcik7Cit9LCAiVGVzdHMgdGhhdCB0aGUgbG9vcCBhdHRyaWJ1dGUgaGFzIG5v
IGVmZmVjdCBvbiBhIG1lZGlhIGVsZW1lbnQgd2l0aCBhbiBhc3NpZ25lZCBNZWRpYVN0cmVhbSIp
OworCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0IHN0cmVhbSA9IGF3YWl0IG5h
dmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHt2aWRlbzogdHJ1ZX0pOworICB0LmFk
ZF9jbGVhbnVwKCgpID0+IHsgdmlkLnNyY09iamVjdCA9IG51bGw7IH0pOworICB2aWQuc3JjT2Jq
ZWN0ID0gc3RyZWFtOworCisgIGF3YWl0IHZpZC5wbGF5KCk7CisKKyAgZm9yIChjb25zdCB0cmFj
ayBvZiBzdHJlYW0uZ2V0VHJhY2tzKCkpIHsKKyAgICB0cmFjay5zdG9wKCk7CisgIH0KKworICBh
c3NlcnRfZmFsc2Uoc3RyZWFtLmFjdGl2ZSwgIk1lZGlhU3RyZWFtIGJlY29tZXMgaW5hY3RpdmUg
d2l0aCBvbmx5IGVuZGVkIHRyYWNrcyIpOworICBhc3NlcnRfZmFsc2UodmlkLmVuZGVkLCAiSFRN
TE1lZGlhRWxlbWVudCByZXBvcnRzIGVuZGVkIHRoZSBuZXh0IHRpbWUgdGhlIGV2ZW50IGxvb3Ag
cmVhY2hlcyBzdGVwIDEgKHN5bmMpIik7CisKKyAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKCk7Cisg
IGFzc2VydF9mYWxzZSh2aWQuZW5kZWQsICJIVE1MTWVkaWFFbGVtZW50IHJlcG9ydHMgZW5kZWQg
dGhlIG5leHQgdGltZSB0aGUgZXZlbnQgbG9vcCByZWFjaGVzIHN0ZXAgMSAobWljcm90YXNrKSIp
OworCisgIGxldCBlbmRlZCA9IGZhbHNlOworICB2aWQub25lbmRlZCA9ICgpID0+IGVuZGVkID0g
dHJ1ZTsKKyAgYXdhaXQgbmV3IFByb21pc2UociA9PiBxdWV1ZVRhc2socikpOworCisgIGFzc2Vy
dF90cnVlKHZpZC5lbmRlZCwgIkhUTUxNZWRpYUVsZW1lbnQgYmVjb21lcyBlbmRlZCBhc3luY2hy
b25vdXNseSB3aGVuIGl0cyBNZWRpYVN0cmVhbSBwcm92aWRlciBiZWNvbWVzIGluYWN0aXZlIik7
CisgIGFzc2VydF90cnVlKGVuZGVkLCAiSFRNTE1lZGlhRWxlbWVudCBmaXJlcyB0aGUgZW5kZWQg
ZXZlbnQgYXN5bmNocm9ub3VzbHkgd2hlbiBpdHMgTWVkaWFTdHJlYW0gcHJvdmlkZXIgYmVjb21l
cyBpbmFjdGl2ZSIpOworfSwgIlRlc3RzIHRoYXQgYSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNz
aWduZWQgTWVkaWFTdHJlYW0gZW5kcyB3aGVuIHRoZSBNZWRpYVN0cmVhbSBiZWNvbWVzIGluYWN0
aXZlIHRocm91Z2ggdHJhY2tzIGVuZGluZyIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7
CisgIGNvbnN0IHN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1l
ZGlhKHthdWRpbzogdHJ1ZSwgdmlkZW86IHRydWV9KTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiB7
CisgICAgYXVkLnNyY09iamVjdCA9IG51bGw7CisgICAgc3RyZWFtLmdldFRyYWNrcygpLmZvckVh
Y2godHJhY2sgPT4gdHJhY2suc3RvcCgpKTsKKyAgfSk7CisgIGF1ZC5zcmNPYmplY3QgPSBzdHJl
YW07CisKKyAgYXdhaXQgYXVkLnBsYXkoKTsKKworICBmb3IgKGNvbnN0IHRyYWNrIG9mIHN0cmVh
bS5nZXRBdWRpb1RyYWNrcygpKSB7CisgICAgdHJhY2suc3RvcCgpOworICB9CisKKyAgYXNzZXJ0
X3RydWUoc3RyZWFtLmFjdGl2ZSwgIk1lZGlhU3RyZWFtIGlzIHN0aWxsIGFjdGl2ZSB3aXRoIGEg
bGl2ZSB2aWRlbyB0cmFjayIpOworICBhc3NlcnRfZmFsc2UoYXVkLmVuZGVkLCAiSFRNTE1lZGlh
RWxlbWVudCByZXBvcnRzIGVuZGVkIHRoZSBuZXh0IHRpbWUgdGhlIGV2ZW50IGxvb3AgcmVhY2hl
cyBzdGVwIDEgKHN5bmMpIik7CisKKyAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKCk7CisgIGFzc2Vy
dF9mYWxzZShhdWQuZW5kZWQsICJIVE1MTWVkaWFFbGVtZW50IHJlcG9ydHMgZW5kZWQgdGhlIG5l
eHQgdGltZSB0aGUgZXZlbnQgbG9vcCByZWFjaGVzIHN0ZXAgMSAobWljcm90YXNrKSIpOworCisg
IGxldCBlbmRlZCA9IGZhbHNlOworICBhdWQub25lbmRlZCA9ICgpID0+IGVuZGVkID0gdHJ1ZTsK
KyAgYXdhaXQgbmV3IFByb21pc2UociA9PiBxdWV1ZVRhc2socikpOworCisgIGFzc2VydF90cnVl
KGF1ZC5lbmRlZCwgIkhUTUxBdWRpb0VsZW1lbnQgYmVjb21lcyBlbmRlZCBhc3luY2hyb25vdXNs
eSB3aGVuIGl0cyBNZWRpYVN0cmVhbSBwcm92aWRlciBiZWNvbWVzIGluYXVkaWJsZSIpOworICBh
c3NlcnRfdHJ1ZShlbmRlZCwgIkhUTUxBdWRpb0VsZW1lbnQgZmlyZXMgdGhlIGVuZGVkIGV2ZW50
IGFzeW5jaHJvbm91c2x5IHdoZW4gaXRzIE1lZGlhU3RyZWFtIHByb3ZpZGVyIGJlY29tZXMgaW5h
dWRpYmxlIik7Cit9LCAiVGVzdHMgdGhhdCBhbiBhdWRpbyBlbGVtZW50IHdpdGggYW4gYXNzaWdu
ZWQgTWVkaWFTdHJlYW0gZW5kcyB3aGVuIHRoZSBNZWRpYVN0cmVhbSBiZWNvbWVzIGluYXVkaWJs
ZSB0aHJvdWdoIGF1ZGlvIHRyYWNrcyBlbmRpbmciKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHQg
PT4geworICBjb25zdCBzdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVz
ZXJNZWRpYSh7dmlkZW86IHRydWV9KTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiB7IHZpZC5zcmNP
YmplY3QgPSBudWxsOyB9KTsKKyAgdmlkLnNyY09iamVjdCA9IHN0cmVhbTsKKworICBhd2FpdCB2
aWQucGxheSgpOworCisgIGZvciAoY29uc3QgdHJhY2sgb2Ygc3RyZWFtLmdldFRyYWNrcygpKSB7
CisgICAgc3RyZWFtLnJlbW92ZVRyYWNrKHRyYWNrKTsKKyAgfQorCisgIGFzc2VydF9mYWxzZShz
dHJlYW0uYWN0aXZlLCAiTWVkaWFTdHJlYW0gYmVjb21lcyBpbmFjdGl2ZSB3aXRoIG5vIHRyYWNr
cyIpOworICBhc3NlcnRfZmFsc2UodmlkLmVuZGVkLCAiSFRNTE1lZGlhRWxlbWVudCByZXBvcnRz
IGVuZGVkIHRoZSBuZXh0IHRpbWUgdGhlIGV2ZW50IGxvb3AgcmVhY2hlcyBzdGVwIDEgKHN5bmMp
Iik7CisKKyAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKCk7CisgIGFzc2VydF9mYWxzZSh2aWQuZW5k
ZWQsICJIVE1MTWVkaWFFbGVtZW50IHJlcG9ydHMgZW5kZWQgdGhlIG5leHQgdGltZSB0aGUgZXZl
bnQgbG9vcCByZWFjaGVzIHN0ZXAgMSAobWljcm90YXNrKSIpOworCisgIGxldCBlbmRlZCA9IGZh
bHNlOworICB2aWQub25lbmRlZCA9ICgpID0+IGVuZGVkID0gdHJ1ZTsKKyAgYXdhaXQgbmV3IFBy
b21pc2UociA9PiBxdWV1ZVRhc2socikpOworCisgIGFzc2VydF90cnVlKHZpZC5lbmRlZCwgIkhU
TUxNZWRpYUVsZW1lbnQgYmVjb21lcyBlbmRlZCBhc3luY2hyb25vdXNseSB3aGVuIGl0cyBNZWRp
YVN0cmVhbSBwcm92aWRlciBiZWNvbWVzIGluYWN0aXZlIik7CisgIGFzc2VydF90cnVlKGVuZGVk
LCAiSFRNTE1lZGlhRWxlbWVudCBmaXJlcyB0aGUgZW5kZWQgZXZlbnQgYXN5bmNocm9ub3VzbHkg
d2hlbiBpdHMgTWVkaWFTdHJlYW0gcHJvdmlkZXIgYmVjb21lcyBpbmFjdGl2ZSIpOworfSwgIlRl
c3RzIHRoYXQgYSBtZWRpYSBlbGVtZW50IHdpdGggYW4gYXNzaWduZWQgTWVkaWFTdHJlYW0gZW5k
cyB3aGVuIHRoZSBNZWRpYVN0cmVhbSBiZWNvbWVzIGluYWN0aXZlIHRocm91Z2ggdHJhY2sgcmVt
b3ZhbCIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0IHN0cmVhbSA9IGF3
YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHthdWRpbzogdHJ1ZSwgdmlk
ZW86IHRydWV9KTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiB7CisgICAgYXVkLnNyY09iamVjdCA9
IG51bGw7CisgICAgc3RyZWFtLmdldFRyYWNrcygpLmZvckVhY2godHJhY2sgPT4gdHJhY2suc3Rv
cCgpKTsKKyAgfSk7CisgIGF1ZC5zcmNPYmplY3QgPSBzdHJlYW07CisKKyAgYXdhaXQgYXVkLnBs
YXkoKTsKKworICBmb3IgKGNvbnN0IHRyYWNrIG9mIHN0cmVhbS5nZXRBdWRpb1RyYWNrcygpKSB7
CisgICAgc3RyZWFtLnJlbW92ZVRyYWNrKHRyYWNrKTsKKyAgfQorCisgIGFzc2VydF90cnVlKHN0
cmVhbS5hY3RpdmUsICJNZWRpYVN0cmVhbSBpcyBzdGlsbCBhY3RpdmUgd2l0aCBhIGxpdmUgdmlk
ZW8gdHJhY2siKTsKKyAgYXNzZXJ0X2ZhbHNlKGF1ZC5lbmRlZCwgIkhUTUxNZWRpYUVsZW1lbnQg
cmVwb3J0cyBlbmRlZCB0aGUgbmV4dCB0aW1lIHRoZSBldmVudCBsb29wIHJlYWNoZXMgc3RlcCAx
IChzeW5jKSIpOworCisgIGF3YWl0IFByb21pc2UucmVzb2x2ZSgpOworICBhc3NlcnRfZmFsc2Uo
YXVkLmVuZGVkLCAiSFRNTE1lZGlhRWxlbWVudCByZXBvcnRzIGVuZGVkIHRoZSBuZXh0IHRpbWUg
dGhlIGV2ZW50IGxvb3AgcmVhY2hlcyBzdGVwIDEgKG1pY3JvdGFzaykiKTsKKworICBsZXQgZW5k
ZWQgPSBmYWxzZTsKKyAgYXVkLm9uZW5kZWQgPSAoKSA9PiBlbmRlZCA9IHRydWU7CisgIGF3YWl0
IG5ldyBQcm9taXNlKHIgPT4gcXVldWVUYXNrKHIpKTsKKworICBhc3NlcnRfdHJ1ZShhdWQuZW5k
ZWQsICJIVE1MQXVkaW9FbGVtZW50IGJlY29tZXMgZW5kZWQgYXN5bmNocm9ub3VzbHkgd2hlbiBp
dHMgTWVkaWFTdHJlYW0gcHJvdmlkZXIgYmVjb21lcyBpbmF1ZGlibGUiKTsKKyAgYXNzZXJ0X3Ry
dWUoZW5kZWQsICJIVE1MQXVkaW9FbGVtZW50IGZpcmVzIHRoZSBlbmRlZCBldmVudCBhc3luY2hy
b25vdXNseSB3aGVuIGl0cyBNZWRpYVN0cmVhbSBwcm92aWRlciBiZWNvbWVzIGluYXVkaWJsZSIp
OworfSwgIlRlc3RzIHRoYXQgYW4gYXVkaW8gZWxlbWVudCB3aXRoIGFuIGFzc2lnbmVkIE1lZGlh
U3RyZWFtIGVuZHMgd2hlbiB0aGUgTWVkaWFTdHJlYW0gYmVjb21lcyBpbmF1ZGlibGUgdGhyb3Vn
aCB0cmFjayByZW1vdmFsIik7CiA8L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0
dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tYWRkLWF1ZGlvLXRyYWNrLmh0dHBzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJl
YW1zL01lZGlhU3RyZWFtLWFkZC1hdWRpby10cmFjay5odHRwcy5odG1sCmluZGV4IGU5NzZiMTYy
ZWE5Yzg5YzRjOTlhYWEzNjYxOTBlMmYxM2YwMDczMDcuLjU0MjM3MThjZGU1ZGU0ODQyODVjNDk0
OTg0MDY3ZWNhNzUzNGY4NWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tYWRkLWF1
ZGlvLXRyYWNrLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1hZGQtYXVkaW8t
dHJhY2suaHR0cHMuaHRtbApAQCAtMTUsNyArMTUsNyBAQAogPHNjcmlwdCBzcmM9L3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+CiA8c2NyaXB0PgotdmFyIHQgPSBhc3luY190ZXN0KCJU
ZXN0cyB0aGF0IGFkZGluZyBhIHRyYWNrIHRvIGEgTWVkaWFTdHJlYW0gd29ya3MgYXMgZXhwZWN0
ZWQiLCB7dGltZW91dDogMjAwMDB9KTsgLy8gbG9uZ2VyIHRpbWVvdXQgc2luY2UgcmVxdWlyZXMg
ZG91YmxlIHVzZXIgaW50ZXJhY3Rpb24KK3ZhciB0ID0gYXN5bmNfdGVzdCgiVGVzdHMgdGhhdCBh
ZGRpbmcgYSB0cmFjayB0byBhIE1lZGlhU3RyZWFtIHdvcmtzIGFzIGV4cGVjdGVkIik7CiB0LnN0
ZXAoZnVuY3Rpb24gKCkgewogICB2YXIgYXVkaW8sIHZpZGVvOwogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJl
YW1zL01lZGlhU3RyZWFtLWF1ZGlvLW9ubHkuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJl
YW0tYXVkaW8tb25seS5odHRwcy5odG1sCmluZGV4IGZhYTJjMzliMzBmNTRkNWYzYThhMzhmOWE2
ZWViNDZlMzJlNzIyZDcuLjFhZTBhY2Q3ZTUzOTk2MjM1ZWNkZDgwMjM1YzUwZDhiMGU3YTc4YzAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tYXVkaW8tb25seS5odHRwcy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0
dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tYXVkaW8tb25seS5odHRwcy5odG1sCkBAIC0xNyw3ICsx
Nyw3IEBAIHRoZSBzdWNjZXNzIGNhbGxiYWNrIGluIGdldFVzZXJNZWRpYSBoYXMgZXhhY3RseSBv
bmUgYXVkaW8gdHJhY2suPC9wPgogPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcz48L3NjcmlwdD4KIDxzY3JpcHQ+CiB2YXIgYXN0cmVhbTsKLXZhciB0ID0gYXN5bmNf
dGVzdCgiVGVzdHMgdGhhdCBhIE1lZGlhU3RyZWFtIHdpdGggZXhhY3RseSBvbmUgYXVkaW8gdHJh
Y2sgaXMgcmV0dXJuZWQiLCB7dGltZW91dDogMTAwMDB9KTsKK3ZhciB0ID0gYXN5bmNfdGVzdCgi
VGVzdHMgdGhhdCBhIE1lZGlhU3RyZWFtIHdpdGggZXhhY3RseSBvbmUgYXVkaW8gdHJhY2sgaXMg
cmV0dXJuZWQiKTsKIHQuc3RlcChmdW5jdGlvbigpIHsKICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNl
cy5nZXRVc2VyTWVkaWEoe2F1ZGlvOnRydWV9KS50aGVuKHQuc3RlcF9mdW5jKGZ1bmN0aW9uIChz
dHJlYW0pIHsKICAgICBhc3RyZWFtID0gc3RyZWFtOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRp
YVN0cmVhbS1jbG9uZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtLWNs
b25lLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZWRjYzAyNzA5Yjg0MTgzYmEyMzc4
YjJhZGVlNzZhYzQxZDI5YTkxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVh
bS1jbG9uZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorV2hlbiBwcm9tcHRl
ZCwgYWNjZXB0IHRvIGdpdmUgcGVybWlzc2lvbiB0byB1c2UgeW91ciBhdWRpbyBhbmQgdmlkZW8g
ZGV2aWNlcy4KKworRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNsb25pbmcg
TWVkaWFTdHJlYW1zIGFuZCBNZWRpYVN0cmVhbVRyYWNrcyB3b3JrcyBhcyBleHBlY3RlZC4KKwor
CitQQVNTIFRlc3RzIHRoYXQgY2xvbmluZyBNZWRpYVN0cmVhbSBvYmplY3RzIHdvcmtzIGFzIGV4
cGVjdGVkIAorUEFTUyBUZXN0cyB0aGF0IGNsb25pbmcgTWVkaWFTdHJlYW1UcmFjayBvYmplY3Rz
IHdvcmtzIGFzIGV4cGVjdGVkIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtLWNs
b25lLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtLWNsb25lLmh0dHBzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM0OTE4ODE1YzNkMDhlMjA3NzFkNjE3NzAyMWNkMjRjODliNGNjYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tY2xvbmUuaHR0cHMuaHRtbApAQCAtMCww
ICsxLDk0IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+TWVkaWFT
dHJlYW0gYW5kIE1lZGlhU3RyZWFtVHJhY2sgY2xvbmUoKTwvdGl0bGU+Cis8bGluayByZWw9Imhl
bHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9tZWRpYWNhcHR1cmUtbWFpbi8jZG9tLW1l
ZGlhc3RyZWFtLWNsb25lIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL21lZGlhY2FwdHVyZS1tYWluLyNkb20tbWVkaWFzdHJlYW10cmFjay1jbG9uZSI+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGNsYXNzPSJpbnN0cnVjdGlvbnMiPldoZW4gcHJvbXB0ZWQsIGFj
Y2VwdCB0byBnaXZlIHBlcm1pc3Npb24gdG8gdXNlIHlvdXIgYXVkaW8gYW5kIHZpZGVvIGRldmlj
ZXMuPC9wPgorPGgxIGNsYXNzPSJpbnN0cnVjdGlvbnMiPkRlc2NyaXB0aW9uPC9oMT4KKzxwIGNs
YXNzPSJpbnN0cnVjdGlvbnMiPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjbG9uaW5nIE1lZGlhU3Ry
ZWFtcyBhbmQgTWVkaWFTdHJlYW1UcmFja3Mgd29ya3MgYXMgZXhwZWN0ZWQuPC9wPgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitwcm9t
aXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0IHN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5t
ZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHt2aWRlbzogdHJ1ZSwgYXVkaW86IHRydWV9KTsKKyAg
YXNzZXJ0X2VxdWFscyhzdHJlYW0uZ2V0QXVkaW9UcmFja3MoKS5sZW5ndGgsIDEpOworICBhc3Nl
cnRfZXF1YWxzKHN0cmVhbS5nZXRWaWRlb1RyYWNrcygpLmxlbmd0aCwgMSk7CisKKyAgY29uc3Qg
Y2xvbmUxID0gc3RyZWFtLmNsb25lKCk7CisgIGFzc2VydF9lcXVhbHMoY2xvbmUxLmdldEF1ZGlv
VHJhY2tzKCkubGVuZ3RoLCAxKTsKKyAgYXNzZXJ0X2VxdWFscyhjbG9uZTEuZ2V0VmlkZW9UcmFj
a3MoKS5sZW5ndGgsIDEpOworICBhc3NlcnRfbm90X2VxdWFscyhzdHJlYW0uZ2V0QXVkaW9UcmFj
a3MoKVswXS5pZCwgY2xvbmUxLmdldEF1ZGlvVHJhY2tzKClbMF0uaWQpOworICBhc3NlcnRfbm90
X2VxdWFscyhzdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXS5pZCwgY2xvbmUxLmdldFZpZGVvVHJh
Y2tzKClbMF0uaWQpOworCisgIHN0cmVhbS5nZXRUcmFja3MoKS5mb3JFYWNoKHRyYWNrID0+IHRy
YWNrLnN0b3AoKSk7CisgIGFzc2VydF9mYWxzZShzdHJlYW0uYWN0aXZlKTsKKyAgYXNzZXJ0X2Vx
dWFscyhzdHJlYW0uZ2V0QXVkaW9UcmFja3MoKVswXS5yZWFkeVN0YXRlLCAiZW5kZWQiKTsKKyAg
YXNzZXJ0X2VxdWFscyhzdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXS5yZWFkeVN0YXRlLCAiZW5k
ZWQiKTsKKyAgYXNzZXJ0X3RydWUoY2xvbmUxLmFjdGl2ZSk7CisgIGFzc2VydF9lcXVhbHMoY2xv
bmUxLmdldEF1ZGlvVHJhY2tzKClbMF0ucmVhZHlTdGF0ZSwgImxpdmUiKTsKKyAgYXNzZXJ0X2Vx
dWFscyhjbG9uZTEuZ2V0VmlkZW9UcmFja3MoKVswXS5yZWFkeVN0YXRlLCAibGl2ZSIpOworCisg
IGNsb25lMS5nZXRBdWRpb1RyYWNrcygpWzBdLnN0b3AoKTsKKyAgYXNzZXJ0X3RydWUoY2xvbmUx
LmFjdGl2ZSk7CisgIGFzc2VydF9lcXVhbHMoY2xvbmUxLmdldEF1ZGlvVHJhY2tzKClbMF0ucmVh
ZHlTdGF0ZSwgImVuZGVkIik7CisgIGFzc2VydF9lcXVhbHMoY2xvbmUxLmdldFZpZGVvVHJhY2tz
KClbMF0ucmVhZHlTdGF0ZSwgImxpdmUiKTsKKworICBjb25zdCBjbG9uZTIgPSBjbG9uZTEuY2xv
bmUoKTsKKyAgYXNzZXJ0X3RydWUoY2xvbmUyLmFjdGl2ZSk7CisgIGFzc2VydF9lcXVhbHMoY2xv
bmUyLmdldEF1ZGlvVHJhY2tzKClbMF0ucmVhZHlTdGF0ZSwgImVuZGVkIik7CisgIGFzc2VydF9l
cXVhbHMoY2xvbmUyLmdldFZpZGVvVHJhY2tzKClbMF0ucmVhZHlTdGF0ZSwgImxpdmUiKTsKKwor
ICBjbG9uZTEuZ2V0VmlkZW9UcmFja3MoKVswXS5zdG9wKCk7CisgIGNsb25lMi5nZXRWaWRlb1Ry
YWNrcygpWzBdLnN0b3AoKTsKKworICBjb25zdCBjbG9uZTMgPSBjbG9uZTIuY2xvbmUoKTsKKyAg
YXNzZXJ0X2ZhbHNlKGNsb25lMy5hY3RpdmUpOworICBhc3NlcnRfZXF1YWxzKGNsb25lMy5nZXRB
dWRpb1RyYWNrcygpWzBdLnJlYWR5U3RhdGUsICJlbmRlZCIpOworICBhc3NlcnRfZXF1YWxzKGNs
b25lMy5nZXRWaWRlb1RyYWNrcygpWzBdLnJlYWR5U3RhdGUsICJlbmRlZCIpOworICBhc3NlcnRf
bm90X2VxdWFscyhjbG9uZTEuZ2V0QXVkaW9UcmFja3MoKVswXS5pZCwgY2xvbmUyLmdldEF1ZGlv
VHJhY2tzKClbMF0uaWQpOworICBhc3NlcnRfbm90X2VxdWFscyhjbG9uZTEuZ2V0VmlkZW9UcmFj
a3MoKVswXS5pZCwgY2xvbmUyLmdldFZpZGVvVHJhY2tzKClbMF0uaWQpOworICBhc3NlcnRfbm90
X2VxdWFscyhjbG9uZTIuZ2V0QXVkaW9UcmFja3MoKVswXS5pZCwgY2xvbmUzLmdldEF1ZGlvVHJh
Y2tzKClbMF0uaWQpOworICBhc3NlcnRfbm90X2VxdWFscyhjbG9uZTIuZ2V0VmlkZW9UcmFja3Mo
KVswXS5pZCwgY2xvbmUzLmdldFZpZGVvVHJhY2tzKClbMF0uaWQpOworICBhc3NlcnRfbm90X2Vx
dWFscyhjbG9uZTEuZ2V0QXVkaW9UcmFja3MoKVswXS5pZCwgY2xvbmUzLmdldEF1ZGlvVHJhY2tz
KClbMF0uaWQpOworICBhc3NlcnRfbm90X2VxdWFscyhjbG9uZTEuZ2V0VmlkZW9UcmFja3MoKVsw
XS5pZCwgY2xvbmUzLmdldFZpZGVvVHJhY2tzKClbMF0uaWQpOworfSwgIlRlc3RzIHRoYXQgY2xv
bmluZyBNZWRpYVN0cmVhbSBvYmplY3RzIHdvcmtzIGFzIGV4cGVjdGVkIik7CisKK3Byb21pc2Vf
dGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3Qgc3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlh
RGV2aWNlcy5nZXRVc2VyTWVkaWEoe3ZpZGVvOiB0cnVlLCBhdWRpbzogdHJ1ZX0pOworICBhc3Nl
cnRfZXF1YWxzKHN0cmVhbS5nZXRBdWRpb1RyYWNrcygpLmxlbmd0aCwgMSk7CisgIGFzc2VydF9l
cXVhbHMoc3RyZWFtLmdldFZpZGVvVHJhY2tzKCkubGVuZ3RoLCAxKTsKKyAgYXNzZXJ0X2VxdWFs
cyhzdHJlYW0uZ2V0QXVkaW9UcmFja3MoKVswXS5yZWFkeVN0YXRlLCAibGl2ZSIpOworICBhc3Nl
cnRfZXF1YWxzKHN0cmVhbS5nZXRWaWRlb1RyYWNrcygpWzBdLnJlYWR5U3RhdGUsICJsaXZlIik7
CisgIGFzc2VydF90cnVlKHN0cmVhbS5hY3RpdmUpOworCisgIGNvbnN0IGF1ZGlvX2Nsb25lID0g
c3RyZWFtLmdldEF1ZGlvVHJhY2tzKClbMF0uY2xvbmUoKTsKKyAgY29uc3QgdmlkZW9fY2xvbmUg
PSBzdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXS5jbG9uZSgpOworICBhc3NlcnRfZXF1YWxzKGF1
ZGlvX2Nsb25lLnJlYWR5U3RhdGUsICJsaXZlIik7CisgIGFzc2VydF9lcXVhbHModmlkZW9fY2xv
bmUucmVhZHlTdGF0ZSwgImxpdmUiKTsKKyAgYXNzZXJ0X25vdF9lcXVhbHMoc3RyZWFtLmdldEF1
ZGlvVHJhY2tzKClbMF0uaWQsIGF1ZGlvX2Nsb25lLmlkKTsKKyAgYXNzZXJ0X25vdF9lcXVhbHMo
c3RyZWFtLmdldFZpZGVvVHJhY2tzKClbMF0uaWQsIHZpZGVvX2Nsb25lLmlkKTsKKworICBzdHJl
YW0uZ2V0VHJhY2tzKCkuZm9yRWFjaCh0cmFjayA9PiB0cmFjay5zdG9wKCkpOworICBhc3NlcnRf
ZmFsc2Uoc3RyZWFtLmFjdGl2ZSk7CisgIGFzc2VydF9lcXVhbHMoc3RyZWFtLmdldEF1ZGlvVHJh
Y2tzKClbMF0ucmVhZHlTdGF0ZSwgImVuZGVkIik7CisgIGFzc2VydF9lcXVhbHMoc3RyZWFtLmdl
dFZpZGVvVHJhY2tzKClbMF0ucmVhZHlTdGF0ZSwgImVuZGVkIik7CisgIGFzc2VydF9lcXVhbHMo
YXVkaW9fY2xvbmUucmVhZHlTdGF0ZSwgImxpdmUiKTsKKyAgYXNzZXJ0X2VxdWFscyh2aWRlb19j
bG9uZS5yZWFkeVN0YXRlLCAibGl2ZSIpOworCisgIHN0cmVhbS5hZGRUcmFjayhhdWRpb19jbG9u
ZSk7CisgIHN0cmVhbS5hZGRUcmFjayh2aWRlb19jbG9uZSk7CisgIGFzc2VydF90cnVlKHN0cmVh
bS5hY3RpdmUpOworCisgIHN0cmVhbS5nZXRUcmFja3MoKS5mb3JFYWNoKHRyYWNrID0+IHRyYWNr
LnN0b3AoKSk7CisgIGFzc2VydF9mYWxzZShzdHJlYW0uYWN0aXZlKTsKKyAgYXNzZXJ0X2VxdWFs
cyhhdWRpb19jbG9uZS5yZWFkeVN0YXRlLCAiZW5kZWQiKTsKKyAgYXNzZXJ0X2VxdWFscyh2aWRl
b19jbG9uZS5yZWFkeVN0YXRlLCAiZW5kZWQiKTsKK30sICJUZXN0cyB0aGF0IGNsb25pbmcgTWVk
aWFTdHJlYW1UcmFjayBvYmplY3RzIHdvcmtzIGFzIGV4cGVjdGVkIik7CisKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1kZWZhdWx0
LWZlYXR1cmUtcG9saWN5Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0t
ZGVmYXVsdC1mZWF0dXJlLXBvbGljeS5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggM2NjNzA2Njc3
NzQ5OTZmN2FiNjZjNzIzZDllYzBhYTM0MjYzODRmZS4uNDhkMGFhZmFiNDY4ZjFkYTcxOTJkMmM3
NzZhYWQwZDQ3MTg1YmM3MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1kZWZhdWx0
LWZlYXR1cmUtcG9saWN5Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3Ry
ZWFtLWRlZmF1bHQtZmVhdHVyZS1wb2xpY3kuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDIyICsx
LDI0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY6IFRyeWluZyB0byBjYWxsIGdldFVzZXJN
ZWRpYSBmcm9tIGEgZnJhbWUgd2l0aG91dCBjb3JyZWN0ICdhbGxvdycgYXR0cmlidXRlLgotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDE2OiBUcnlpbmcgdG8gY2FsbCBnZXRVc2VyTWVkaWEgZnJvbSBh
IGZyYW1lIHdpdGhvdXQgY29ycmVjdCAnYWxsb3cnIGF0dHJpYnV0ZS4KLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAxNjogVHJ5aW5nIHRvIGNhbGwgZ2V0VXNlck1lZGlhIGZyb20gYSBmcmFtZSB3aXRo
b3V0IGNvcnJlY3QgJ2FsbG93JyBhdHRyaWJ1dGUuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY6
IFRyeWluZyB0byBjYWxsIGdldFVzZXJNZWRpYSBmcm9tIGEgZnJhbWUgd2l0aG91dCBjb3JyZWN0
ICdhbGxvdycgYXR0cmlidXRlLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE2OiBUcnlpbmcgdG8g
Y2FsbCBnZXRVc2VyTWVkaWEgZnJvbSBhIGZyYW1lIHdpdGhvdXQgY29ycmVjdCAnYWxsb3cnIGF0
dHJpYnV0ZS4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNjogVHJ5aW5nIHRvIGNhbGwgZ2V0VXNl
ck1lZGlhIGZyb20gYSBmcmFtZSB3aXRob3V0IGNvcnJlY3QgJ2FsbG93JyBhdHRyaWJ1dGUuCi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTY6IFRyeWluZyB0byBjYWxsIGdldFVzZXJNZWRpYSBmcm9t
IGEgZnJhbWUgd2l0aG91dCBjb3JyZWN0ICdhbGxvdycgYXR0cmlidXRlLgorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDEzOiBUcnlpbmcgdG8gY2FsbCBnZXRVc2VyTWVkaWEgZnJvbSBhIGZyYW1lIHdp
dGhvdXQgY29ycmVjdCAnYWxsb3cnIGF0dHJpYnV0ZS4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAx
MzogVHJ5aW5nIHRvIGNhbGwgZ2V0VXNlck1lZGlhIGZyb20gYSBmcmFtZSB3aXRob3V0IGNvcnJl
Y3QgJ2FsbG93JyBhdHRyaWJ1dGUuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IFRyeWluZyB0
byBjYWxsIGdldFVzZXJNZWRpYSBmcm9tIGEgZnJhbWUgd2l0aG91dCBjb3JyZWN0ICdhbGxvdycg
YXR0cmlidXRlLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzOiBUcnlpbmcgdG8gY2FsbCBnZXRV
c2VyTWVkaWEgZnJvbSBhIGZyYW1lIHdpdGhvdXQgY29ycmVjdCAnYWxsb3cnIGF0dHJpYnV0ZS4K
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMzogVHJ5aW5nIHRvIGNhbGwgZ2V0VXNlck1lZGlhIGZy
b20gYSBmcmFtZSB3aXRob3V0IGNvcnJlY3QgJ2FsbG93JyBhdHRyaWJ1dGUuCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTM6IFRyeWluZyB0byBjYWxsIGdldFVzZXJNZWRpYSBmcm9tIGEgZnJhbWUg
d2l0aG91dCBjb3JyZWN0ICdhbGxvdycgYXR0cmlidXRlLgorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDEzOiBUcnlpbmcgdG8gY2FsbCBnZXRVc2VyTWVkaWEgZnJvbSBhIGZyYW1lIHdpdGhvdXQgY29y
cmVjdCAnYWxsb3cnIGF0dHJpYnV0ZS4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMzogVHJ5aW5n
IHRvIGNhbGwgZ2V0VXNlck1lZGlhIGZyb20gYSBmcmFtZSB3aXRob3V0IGNvcnJlY3QgJ2FsbG93
JyBhdHRyaWJ1dGUuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IFRyeWluZyB0byBjYWxsIGdl
dFVzZXJNZWRpYSBmcm9tIGEgZnJhbWUgd2l0aG91dCBjb3JyZWN0ICdhbGxvdycgYXR0cmlidXRl
LgogCiAKIFBBU1MgRGVmYXVsdCAibWljcm9waG9uZSIgZmVhdHVyZSBwb2xpY3kgWyJzZWxmIl0g
YWxsb3dzIHRoZSB0b3AtbGV2ZWwgZG9jdW1lbnQuIAogUEFTUyBEZWZhdWx0ICJtaWNyb3Bob25l
IiBmZWF0dXJlIHBvbGljeSBbInNlbGYiXSBhbGxvd3Mgc2FtZS1vcmlnaW4gaWZyYW1lcy4gCiBQ
QVNTIERlZmF1bHQgIm1pY3JvcGhvbmUiIGZlYXR1cmUgcG9saWN5IFsic2VsZiJdIGRpc2FsbG93
cyBjcm9zcy1vcmlnaW4gaWZyYW1lcy4gCi1GQUlMIEZlYXR1cmUgcG9saWN5ICJtaWNyb3Bob25l
IiBjYW4gYmUgZW5hYmxlZCBpbiBjcm9zcy1vcmlnaW4gaWZyYW1lcyB1c2luZyAiYWxsb3ciIGF0
dHJpYnV0ZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIiNPSyIgYnV0IGdvdCAiI05vdEFsbG93
ZWRFcnJvciIKK1BBU1MgRmVhdHVyZSBwb2xpY3kgIm1pY3JvcGhvbmUiIGNhbiBiZSBlbmFibGVk
IGluIGNyb3NzLW9yaWdpbiBpZnJhbWVzIHVzaW5nICJhbGxvdyIgYXR0cmlidXRlLiAKIFBBU1Mg
RGVmYXVsdCAiY2FtZXJhIiBmZWF0dXJlIHBvbGljeSBbInNlbGYiXSBhbGxvd3MgdGhlIHRvcC1s
ZXZlbCBkb2N1bWVudC4gCiBQQVNTIERlZmF1bHQgImNhbWVyYSIgZmVhdHVyZSBwb2xpY3kgWyJz
ZWxmIl0gYWxsb3dzIHNhbWUtb3JpZ2luIGlmcmFtZXMuIAogUEFTUyBEZWZhdWx0ICJjYW1lcmEi
IGZlYXR1cmUgcG9saWN5IFsic2VsZiJdIGRpc2FsbG93cyBjcm9zcy1vcmlnaW4gaWZyYW1lcy4g
Ci1GQUlMIEZlYXR1cmUgcG9saWN5ICJjYW1lcmEiIGNhbiBiZSBlbmFibGVkIGluIGNyb3NzLW9y
aWdpbiBpZnJhbWVzIHVzaW5nICJhbGxvdyIgYXR0cmlidXRlLiBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAiI09LIiBidXQgZ290ICIjTm90QWxsb3dlZEVycm9yIgotUEFTUyBEZWZhdWx0ICJjYW1l
cmE7IG1pY3JvcGhvbmUiIGZlYXR1cmUgcG9saWN5IFsic2VsZiJdIGFsbG93cyB0aGUgdG9wLWxl
dmVsIGRvY3VtZW50LiAKLVBBU1MgRGVmYXVsdCAiY2FtZXJhOyBtaWNyb3Bob25lIiBmZWF0dXJl
IHBvbGljeSBbInNlbGYiXSBhbGxvd3Mgc2FtZS1vcmlnaW4gaWZyYW1lcy4gCi1QQVNTIERlZmF1
bHQgImNhbWVyYTsgbWljcm9waG9uZSIgZmVhdHVyZSBwb2xpY3kgWyJzZWxmIl0gZGlzYWxsb3dz
IGNyb3NzLW9yaWdpbiBpZnJhbWVzLiAKLVBBU1MgRmVhdHVyZSBwb2xpY3kgImNhbWVyYTsgbWlj
cm9waG9uZSIgY2FuIGJlIGVuYWJsZWQgaW4gY3Jvc3Mtb3JpZ2luIGlmcmFtZXMgdXNpbmcgImFs
bG93IiBhdHRyaWJ1dGUuIAorUEFTUyBGZWF0dXJlIHBvbGljeSAiY2FtZXJhIiBjYW4gYmUgZW5h
YmxlZCBpbiBjcm9zcy1vcmlnaW4gaWZyYW1lcyB1c2luZyAiYWxsb3ciIGF0dHJpYnV0ZS4gCitQ
QVNTIERlZmF1bHQgImNhbWVyYTttaWNyb3Bob25lIiBmZWF0dXJlIHBvbGljeSBbInNlbGYiXSBh
bGxvd3MgdGhlIHRvcC1sZXZlbCBkb2N1bWVudC4gCitQQVNTIERlZmF1bHQgImNhbWVyYTttaWNy
b3Bob25lIiBmZWF0dXJlIHBvbGljeSBbInNlbGYiXSBhbGxvd3Mgc2FtZS1vcmlnaW4gaWZyYW1l
cy4gCitQQVNTIERlZmF1bHQgImNhbWVyYTttaWNyb3Bob25lIiBmZWF0dXJlIHBvbGljeSBbInNl
bGYiXSBkaXNhbGxvd3MgY3Jvc3Mtb3JpZ2luIGlmcmFtZXMuIAorRkFJTCBGZWF0dXJlIHBvbGlj
eSAiY2FtZXJhO21pY3JvcGhvbmUiIGNhbiBiZSBlbmFibGVkIGluIGNyb3NzLW9yaWdpbiBpZnJh
bWVzIHVzaW5nICJhbGxvdyIgYXR0cmlidXRlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiI09L
IiBidXQgZ290ICIjYXVkaW8gdW5kZWZpbmVkIGFuZCB2aWRlbyB0cnVlIGNvbnN0cmFpbnRzIG11
c3Qgbm90IGJlIGFsbG93ZWQuIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtLWRl
ZmF1bHQtZmVhdHVyZS1wb2xpY3kuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tZGVm
YXVsdC1mZWF0dXJlLXBvbGljeS5odHRwcy5odG1sCmluZGV4IDIxZTNmNWI5YWY4NTY3Y2IwMTU2
MDRiYmNiMDIxY2MwNDIxNmU0YzIuLjJlMzhiOWU2ODY0ZDQ1MjVkOGE2NDlhNzA5M2I5ZjgyYTMw
YTEwY2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tZGVmYXVsdC1mZWF0dXJlLXBv
bGljeS5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tZGVmYXVsdC1mZWF0dXJl
LXBvbGljeS5odHRwcy5odG1sCkBAIC03LDU2ICs3LDczIEBACiAgIDxzY3JpcHQ+CiAgICd1c2Ug
c3RyaWN0JzsKIAotICAvLyBUaGUgcHJvbWlzZV9mYWN0b3J5IG11c3QgcmV0dXJuIGEgcHJvbWlz
ZSB0aGF0IHJ1bnMgdGhlIGZlYXR1cmUgYW5kCi0gIC8vIHJlc29sdmVzIGlmIGZlYXR1cmUgdXNh
Z2UgaXMgc3VjY2Vzc2Z1bCwgb3RoZXJ3aXNlIHJlamVjdHMuIFVzaW5nCi0gIC8vIGdldFVzZXJN
ZWRpYSBpcyBzdWNjZXNzZnVsIGlmIGF0IGxlYXN0IG9uZSBtaWMvY2FtZXJhIGlzIHJldHVybmVk
IHdoZW4KLSAgLy8gbWljL2NhbWVyYSBoYXMgYmVlbiBleHBsaWNpdGx5IGFsbG93ZWQgYnkgZmVh
dHVyZSBwb2xpY3kuCi0gIGZ1bmN0aW9uIHByb21pc2VfZmFjdG9yeShhbGxvd2VkX2ZlYXR1cmVz
KSB7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKLSAgICAg
IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHt2aWRlbzogdHJ1ZSwgYXVkaW86
IHRydWV9KS50aGVuKAotICAgICAgICAgIGZ1bmN0aW9uKHN0cmVhbSkgewotICAgICAgICAgICAg
Ly8gSWYgbWljcm9waG9uZSBpcyBhbGxvd2VkLCB0aGVyZSBzaG91bGQgYmUgYXQgbGVhc3Qgb25l
IG1pY3JvcGhvbmUKLSAgICAgICAgICAgIC8vIGluIHRoZSByZXN1bHQuIElmIGNhbWVyYSBpcyBh
bGxvd2VkLCB0aGVyZSBzaG91bGQgYmUgYXQgbGVhc3Qgb25lCi0gICAgICAgICAgICAvLyBjYW1l
cmEgaW4gdGhlIHJlc3VsdC4KLSAgICAgICAgICAgIGlmICgoYWxsb3dlZF9mZWF0dXJlcy5pbmNs
dWRlcygnbWljcm9waG9uZScpICYmCi0gICAgICAgICAgICAgICAgIHN0cmVhbS5nZXRBdWRpb1Ry
YWNrcygpLmxlbmd0aCA9PSAwKSB8fAotICAgICAgICAgICAgICAgIChhbGxvd2VkX2ZlYXR1cmVz
LmluY2x1ZGVzKCdjYW1lcmEnKSAmJgotICAgICAgICAgICAgICAgICBzdHJlYW0uZ2V0VmlkZW9U
cmFja3MoKS5sZW5ndGggPT0gMCkpIHsKLSAgICAgICAgICAgICAgICByZWplY3QoJ0ZlYXR1cmUg
cG9saWN5IGFsbG93ZWQgZmVhdHVyZSBidXQgZGV2aWNlcyBub3QgJyArCi0gICAgICAgICAgICAg
ICAgICAgICdwcmVzZW50LicpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAg
Ly8gT3RoZXJ3aXNlIHRoZSByZXN1bHQgaXMgZXhwZWN0ZWQuCi0gICAgICAgICAgICAgIHJlc29s
dmUoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICB9LAotICAgICAgICAgIGZ1bmN0aW9uKGVy
cm9yKSB7IHJlamVjdChlcnJvcik7IH0pOwotICAgIH0pOwotICB9OworICBhc3luYyBmdW5jdGlv
biBnVU0oe2F1ZGlvLCB2aWRlb30pIHsKKyAgICBsZXQgc3RyZWFtOworICAgIHRyeSB7CisgICAg
ICBzdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7YXVk
aW8sIHZpZGVvfSk7CisgICAgICAvLyBnZXRVc2VyTWVkaWEgbXVzdCBndWFyYW50ZWUgdGhlIG51
bWJlciBvZiB0cmFja3MgcmVxdWVzdGVkIG9yIGZhaWwuCisgICAgICBpZiAoKGF1ZGlvICYmIHN0
cmVhbS5nZXRBdWRpb1RyYWNrcygpLmxlbmd0aCA9PSAwKSB8fAorICAgICAgICAgICh2aWRlbyAm
JiBzdHJlYW0uZ2V0VmlkZW9UcmFja3MoKS5sZW5ndGggPT0gMCkpIHsKKyAgICAgICAgdGhyb3cg
e25hbWU6IGBBbGwgcmVxdWVzdGVkIGRldmljZXMgbXVzdCBiZSBwcmVzZW50IHdpdGggYCArCisg
ICAgICAgICAgICAgICAgICAgICBgYXVkaW8gJHthdWRpb30gYW5kIHZpZGVvICR7dmlkZW99LCBv
ciBmYWlsYH07CisgICAgICB9CisgICAgfSBmaW5hbGx5IHsKKyAgICAgIGlmIChzdHJlYW0pIHsK
KyAgICAgICAgc3RyZWFtLmdldFRyYWNrcygpLmZvckVhY2godHJhY2sgPT4gdHJhY2suc3RvcCgp
KTsKKyAgICAgIH0KKyAgICB9CisgIH0KIAotICB2YXIgY3Jvc3NfZG9tYWluID0gZ2V0X2hvc3Rf
aW5mbygpLkhUVFBTX1JFTU9URV9PUklHSU47CisgIGFzeW5jIGZ1bmN0aW9uIG11c3RfZGlzYWxs
b3dfZ1VNKHthdWRpbywgdmlkZW99KSB7CisgICAgdHJ5IHsKKyAgICAgIGF3YWl0IGdVTSh7YXVk
aW8sIHZpZGVvfSk7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgaWYgKGUubmFtZSA9PSAnTm90
QWxsb3dlZEVycm9yJykgeworICAgICAgICByZXR1cm47CisgICAgICB9CisgICAgICB0aHJvdyBl
OworICAgIH0KKyAgICB0aHJvdyB7bmFtZTogYGF1ZGlvICR7YXVkaW99IGFuZCB2aWRlbyAke3Zp
ZGVvfSBjb25zdHJhaW50cyBtdXN0IG5vdCBiZSBgICsKKyAgICAgICAgICAgICAgICAgYGFsbG93
ZWQuYH07CisgIH0KKworICBjb25zdCBjcm9zc19kb21haW4gPSBnZXRfaG9zdF9pbmZvKCkuSFRU
UFNfUkVNT1RFX09SSUdJTjsKICAgcnVuX2FsbF9mcF90ZXN0c19hbGxvd19zZWxmKAotICAgICAg
Y3Jvc3NfZG9tYWluLAotICAgICAgJ21pY3JvcGhvbmUnLAotICAgICAgJ05vdEFsbG93ZWRFcnJv
cicsCi0gICAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHByb21pc2VfZmFjdG9yeSgn
bWljcm9waG9uZScpOwotICAgICAgfSk7CisgICAgY3Jvc3NfZG9tYWluLAorICAgICdtaWNyb3Bo
b25lJywKKyAgICAnTm90QWxsb3dlZEVycm9yJywKKyAgICBhc3luYyAoKSA9PiB7CisgICAgICBh
d2FpdCBnVU0oe2F1ZGlvOiB0cnVlfSk7CisgICAgICBpZiAod2luZG93LmxvY2F0aW9uLmhyZWYu
aW5jbHVkZXMoY3Jvc3NfZG9tYWluKSkgeworICAgICAgICBhd2FpdCBtdXN0X2Rpc2FsbG93X2dV
TSh7dmlkZW86IHRydWV9KTsKKyAgICAgICAgYXdhaXQgbXVzdF9kaXNhbGxvd19nVU0oe2F1ZGlv
OiB0cnVlLCB2aWRlbzogdHJ1ZX0pOworICAgICAgfQorICAgIH0KKyAgKTsKIAogICBydW5fYWxs
X2ZwX3Rlc3RzX2FsbG93X3NlbGYoCi0gICAgICBjcm9zc19kb21haW4sCi0gICAgICAnY2FtZXJh
JywKLSAgICAgICdOb3RBbGxvd2VkRXJyb3InLAotICAgICAgZnVuY3Rpb24oKSB7Ci0gICAgICAg
IHJldHVybiBwcm9taXNlX2ZhY3RvcnkoJ2NhbWVyYScpOwotICAgICAgfSk7CisgICAgY3Jvc3Nf
ZG9tYWluLAorICAgICdjYW1lcmEnLAorICAgICdOb3RBbGxvd2VkRXJyb3InLAorICAgIGFzeW5j
ICgpID0+IHsKKyAgICAgIGF3YWl0IGdVTSh7dmlkZW86IHRydWV9KTsKKyAgICAgIGlmICh3aW5k
b3cubG9jYXRpb24uaHJlZi5pbmNsdWRlcyhjcm9zc19kb21haW4pKSB7CisgICAgICAgIGF3YWl0
IG11c3RfZGlzYWxsb3dfZ1VNKHthdWRpbzogdHJ1ZX0pOworICAgICAgICBhd2FpdCBtdXN0X2Rp
c2FsbG93X2dVTSh7YXVkaW86IHRydWUsIHZpZGVvOiB0cnVlfSk7CisgICAgICB9CisgICAgfQor
ICApOwogCiAgIHJ1bl9hbGxfZnBfdGVzdHNfYWxsb3dfc2VsZigKICAgICBjcm9zc19kb21haW4s
Ci0gICAgJ2NhbWVyYTsgbWljcm9waG9uZScsCisgICAgJ2NhbWVyYTttaWNyb3Bob25lJywKICAg
ICAnTm90QWxsb3dlZEVycm9yJywKLSAgICBmdW5jdGlvbigpIHsKLSAgICAgIHJldHVybiBwcm9t
aXNlX2ZhY3RvcnkoJ2NhbWVyYTsgbWljcm9waG9uZScpOwotICAgIH0pOworICAgIGFzeW5jICgp
ID0+IHsKKyAgICAgIGF3YWl0IGdVTSh7YXVkaW86IHRydWUsIHZpZGVvOiB0cnVlfSk7CisgICAg
ICBhd2FpdCBnVU0oe2F1ZGlvOiB0cnVlfSk7CisgICAgICBhd2FpdCBnVU0oe3ZpZGVvOiB0cnVl
fSk7CisgICAgfQorICApOwogICA8L3NjcmlwdD4KIDwvYm9keT4KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3Ry
ZWFtcy9NZWRpYVN0cmVhbS1maW5pc2hlZC1hZGQuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFT
dHJlYW0tZmluaXNoZWQtYWRkLmh0dHBzLmh0bWwKaW5kZXggYmZlNTYxYWYxYWQ5NzRmZDE2MTdk
YjNmZjBhOTcxN2YxYzZiNTUxMS4uZmQxYTE1NjRjY2I1MDZjNzdhZjA5M2Y0MGRmYWZmYzA5Yzk2
MjcxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1maW5pc2hlZC1hZGQuaHR0cHMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtLWZpbmlzaGVkLWFkZC5odHRwcy5odG1sCkBA
IC0xNyw3ICsxNyw3IEBAIE1lZGlhU3RyZWFtIGlzIGFsbG93ZWQuPC9wPgogPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+CiA8c2NyaXB0PgotdmFyIHQgPSBhc3lu
Y190ZXN0KCJUZXN0cyB0aGF0IGFkZGluZyBhIHRyYWNrIHRvIGFuIGluYWN0aXZlIE1lZGlhU3Ry
ZWFtIGlzIGFsbG93ZWQiLCB7dGltZW91dDoyMDAwMH0pOwordmFyIHQgPSBhc3luY190ZXN0KCJU
ZXN0cyB0aGF0IGFkZGluZyBhIHRyYWNrIHRvIGFuIGluYWN0aXZlIE1lZGlhU3RyZWFtIGlzIGFs
bG93ZWQiKTsKIHQuc3RlcChmdW5jdGlvbiAoKSB7CiAgIHZhciBhdWRpbywgdmlkZW87CiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tZ2V0dHJhY2tpZC5odHRwcy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3Ry
ZWFtcy9NZWRpYVN0cmVhbS1nZXR0cmFja2lkLmh0dHBzLmh0bWwKaW5kZXggOGUyODJiNjhjMTMy
MTE0ZTlkYTMyOTFlZGM2YWUxNzRlOWFjNjM3MC4uOGQ5NmZlMzI0NTI4NTA3M2RiN2Q0NmY4MWNk
ZGZjZGMwOTc4MmJkZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1nZXR0cmFja2lk
Lmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1nZXR0cmFja2lkLmh0dHBzLmh0
bWwKQEAgLTE0LDcgKzE0LDcgQEAKIDxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anM+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Pjwvc2NyaXB0PgogPHNjcmlwdD4KLXZhciB0ID0gYXN5bmNfdGVzdCgiVGVzdHMgdGhhdCBNZWRp
YVN0cmVhbS5nZXRUcmFja0J5SWQgd29ya3MgYXMgZXhwZWN0ZWQiLCB7dGltZW91dDogMTAwMDB9
KTsKK3ZhciB0ID0gYXN5bmNfdGVzdCgiVGVzdHMgdGhhdCBNZWRpYVN0cmVhbS5nZXRUcmFja0J5
SWQgd29ya3MgYXMgZXhwZWN0ZWQiKTsKIHQuc3RlcChmdW5jdGlvbiAoKSB7CiAgIG5hdmlnYXRv
ci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHt2aWRlbzogdHJ1ZX0pCiAgICAgICAudGhlbih0
LnN0ZXBfZnVuYyhnb3RWaWRlbyksIHQuc3RlcF9mdW5jKGZ1bmN0aW9uIChlcnJvcikgewpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1pZGwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVk
aWFTdHJlYW0taWRsLmh0dHBzLmh0bWwKaW5kZXggOGU2MDcwOWNmMWI1ZjEzODFiZGNkNWM0ZGVi
NWJlZjM3MDNmZWEyYS4uYjFlODNmODZiYmI5ZGJiMzRlM2U1NTk5ZWMzMTExNzY1Y2ZmMDRmYiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9t
ZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1pZGwuaHR0cHMuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJl
YW1zL01lZGlhU3RyZWFtLWlkbC5odHRwcy5odG1sCkBAIC0yMCwzNCArMjAsNTMgQEAgZm9sbG93
cyB0aGUgYWxnb3JpdGhtIHNldCBpbiB0aGUgc3BlYy48L3A+CiA8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KIDxzY3JpcHQ+Ci12YXIgdCA9IGFzeW5jX3Rlc3Qo
IlRlc3RzIHRoYXQgYSBNZWRpYVN0cmVhbSBjb25zdHJ1Y3RvciBmb2xsb3dzIHRoZSBhbGdvcml0
aG0gc2V0IGluIHRoZSBzcGVjIiwge3RpbWVvdXQ6IDEwMDAwfSk7Ci10LnN0ZXAoZnVuY3Rpb24o
KSB7CitsZXQgdCA9IGFzeW5jX3Rlc3QoIlRlc3RzIHRoYXQgYSBNZWRpYVN0cmVhbSBjb25zdHJ1
Y3RvciBmb2xsb3dzIHRoZSBhbGdvcml0aG0gc2V0IGluIHRoZSBzcGVjIik7Cit0LnN0ZXAoKCkg
PT4gewogICBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7dmlkZW86IHRydWUs
IGF1ZGlvOnRydWV9KQotICAgIC50aGVuKHQuc3RlcF9mdW5jKGZ1bmN0aW9uIChzdHJlYW0pIHsK
LSAgICAgIHZhciBzdHJlYW0xID0gbmV3IE1lZGlhU3RyZWFtKCk7CisgICAgLnRoZW4odC5zdGVw
X2Z1bmMoc3RyZWFtID0+IHsKKyAgICAgIGxldCBzdHJlYW0xID0gbmV3IE1lZGlhU3RyZWFtKCk7
CiAgICAgICBhc3NlcnRfbm90X2VxdWFscyhzdHJlYW0uaWQsIHN0cmVhbTEuaWQsICJUd28gZGlm
ZmVyZW50IE1lZGlhU3RyZWFtcyBoYXZlIGRpZmZlcmVudCBpZHMiKTsKLSAgICAgIHZhciBzdHJl
YW0yID0gbmV3IE1lZGlhU3RyZWFtKHN0cmVhbSk7Ci0gICAgICBhc3NlcnRfbm90X2VxdWFscyhz
dHJlYW0uaWQsIHN0cmVhbTIuaWQsICJBIE1lZGlhU3RyZWFtIGNvbnN0cnVjdGVkIGZyb20gYW5v
dGhlciBoYXZlIGRpZmZlcmVudCBpZHMiKTsKLSAgICAgIHZhciBhdWRpb1RyYWNrMSA9IHN0cmVh
bS5nZXRBdWRpb1RyYWNrcygpWzBdOwotICAgICAgdmFyIHZpZGVvVHJhY2sgPSBzdHJlYW0uZ2V0
VmlkZW9UcmFja3MoKVswXTsKLSAgICAgIGFzc2VydF9lcXVhbHMoYXVkaW9UcmFjazEsIHN0cmVh
bTIuZ2V0QXVkaW9UcmFja3MoKVswXSwgIkEgTWVkaWFTdHJlYW0gY29uc3RydWN0ZWQgZnJvbSBh
bm90aGVyIHNoYXJlIHRoZSBzYW1lIGF1ZGlvIHRyYWNrIik7Ci0gICAgICBhc3NlcnRfZXF1YWxz
KHZpZGVvVHJhY2ssIHN0cmVhbTIuZ2V0VmlkZW9UcmFja3MoKVswXSwgIkEgTWVkaWFTdHJlYW0g
Y29uc3RydWN0ZWQgZnJvbSBhbm90aGVyIHNoYXJlIHRoZSBzYW1lIHZpZGVvIHRyYWNrIik7Ci0g
ICAgICB2YXIgc3RyZWFtNCA9IG5ldyBNZWRpYVN0cmVhbShbYXVkaW9UcmFjazFdKTsKKyAgICAg
IGxldCBzdHJlYW0yID0gbmV3IE1lZGlhU3RyZWFtKHN0cmVhbSk7CisgICAgICBhc3NlcnRfbm90
X2VxdWFscyhzdHJlYW0uaWQsIHN0cmVhbTIuaWQsICJBIE1lZGlhU3RyZWFtIGNvbnN0cnVjdGVk
IGZyb20gYW5vdGhlciBoYXMgYSBkaWZmZXJlbnQgaWQiKTsKKyAgICAgIGxldCBhdWRpb1RyYWNr
MSA9IHN0cmVhbS5nZXRBdWRpb1RyYWNrcygpWzBdOworICAgICAgbGV0IHZpZGVvVHJhY2sgPSBz
dHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXTsKKyAgICAgIGFzc2VydF9lcXVhbHMoYXVkaW9UcmFj
azEsIHN0cmVhbTIuZ2V0QXVkaW9UcmFja3MoKVswXSwgIkEgTWVkaWFTdHJlYW0gY29uc3RydWN0
ZWQgZnJvbSBhbm90aGVyIHNoYXJlcyB0aGUgc2FtZSBhdWRpbyB0cmFjayIpOworICAgICAgYXNz
ZXJ0X2VxdWFscyh2aWRlb1RyYWNrLCBzdHJlYW0yLmdldFZpZGVvVHJhY2tzKClbMF0sICJBIE1l
ZGlhU3RyZWFtIGNvbnN0cnVjdGVkIGZyb20gYW5vdGhlciBzaGFyZXMgdGhlIHNhbWUgdmlkZW8g
dHJhY2siKTsKKyAgICAgIGxldCBzdHJlYW00ID0gbmV3IE1lZGlhU3RyZWFtKFthdWRpb1RyYWNr
MV0pOwogICAgICAgYXNzZXJ0X2VxdWFscyhzdHJlYW00LmdldFRyYWNrQnlJZChhdWRpb1RyYWNr
MS5pZCksIGF1ZGlvVHJhY2sxLCAiYSBub24tZW5kZWQgdHJhY2sgZ2V0cyBhZGRlZCB2aWEgdGhl
IE1lZGlhU3RyZWFtIGNvbnN0cnVjdG9yIik7CiAKLSAgICAgIHZhciBhdWRpb1RyYWNrMiA9IGF1
ZGlvVHJhY2sxLmNsb25lKCk7CisgICAgICBsZXQgYXVkaW9UcmFjazIgPSBhdWRpb1RyYWNrMS5j
bG9uZSgpOwogICAgICAgYXVkaW9UcmFjazIuYWRkRXZlbnRMaXN0ZW5lcigiZW5kZWQiLCB0LnVu
cmVhY2hlZF9mdW5jKCJlbmRlZCBldmVudCBzaG91bGQgbm90IGJlIGZpcmVkIGJ5IE1lZGlhU3Ry
ZWFtVHJhY2suc3RvcCgpLiIpKTsKICAgICAgIGF1ZGlvVHJhY2syLnN0b3AoKTsKICAgICAgIGFz
c2VydF9lcXVhbHMoYXVkaW9UcmFjazIucmVhZHlTdGF0ZSwgImVuZGVkIiwgImEgc3RvcHBlZCB0
cmFjayBpcyBtYXJrZWQgZW5kZWQgc3luY2hyb25vdXNseSIpOwogCi0gICAgICB2YXIgc3RyZWFt
MyA9IG5ldyBNZWRpYVN0cmVhbShbYXVkaW9UcmFjazIsIHZpZGVvVHJhY2tdKTsKKyAgICAgIGxl
dCBzdHJlYW0zID0gbmV3IE1lZGlhU3RyZWFtKFthdWRpb1RyYWNrMiwgdmlkZW9UcmFja10pOwog
ICAgICAgYXNzZXJ0X2VxdWFscyhzdHJlYW0zLmdldFRyYWNrQnlJZChhdWRpb1RyYWNrMi5pZCks
IGF1ZGlvVHJhY2syLCAiYW4gZW5kZWQgdHJhY2sgZ2V0cyBhZGRlZCB2aWEgdGhlIE1lZGlhU3Ry
ZWFtIGNvbnN0cnVjdG9yIik7CiAgICAgICBhc3NlcnRfZXF1YWxzKHN0cmVhbTMuZ2V0VHJhY2tC
eUlkKHZpZGVvVHJhY2suaWQpLCB2aWRlb1RyYWNrLCAiYSBub24tZW5kZWQgdHJhY2sgZ2V0cyBh
ZGRlZCB2aWEgdGhlIE1lZGlhU3RyZWFtIGNvbnN0cnVjdG9yIGV2ZW4gaWYgdGhlIHByZXZpb3Vz
IHRyYWNrIHdhcyBlbmRlZCIpOwogCi0gICAgICB2YXIgc3RyZWFtNSA9IG5ldyBNZWRpYVN0cmVh
bShbYXVkaW9UcmFjazJdKTsKKyAgICAgIGxldCBzdHJlYW01ID0gbmV3IE1lZGlhU3RyZWFtKFth
dWRpb1RyYWNrMl0pOwogICAgICAgYXNzZXJ0X2VxdWFscyhzdHJlYW01LmdldFRyYWNrQnlJZChh
dWRpb1RyYWNrMi5pZCksIGF1ZGlvVHJhY2syLCAiYW4gZW5kZWQgdHJhY2sgZ2V0cyBhZGRlZCB2
aWEgdGhlIE1lZGlhU3RyZWFtIGNvbnN0cnVjdG9yIik7CiAgICAgICBhc3NlcnRfZmFsc2Uoc3Ry
ZWFtNS5hY3RpdmUsICJhIE1lZGlhU3RyZWFtIGNyZWF0ZWQgdXNpbmcgdGhlIE1lZGlhU3RyZWFt
KCkgY29uc3RydWN0b3Igd2hvc2UgYXJndW1lbnRzIGFyZSBsaXN0cyBvZiBNZWRpYVN0cmVhbVRy
YWNrIG9iamVjdHMgdGhhdCBhcmUgYWxsIGVuZGVkLCB0aGUgTWVkaWFTdHJlYW0gb2JqZWN0IE1V
U1QgYmUgY3JlYXRlZCB3aXRoIGl0cyBhY3RpdmUgYXR0cmlidXRlIHNldCB0byBmYWxzZSIpOwog
CisgICAgICBhdWRpb1RyYWNrMS5zdG9wKCk7CisgICAgICBhc3NlcnRfZXF1YWxzKGF1ZGlvVHJh
Y2sxLnJlYWR5U3RhdGUsICJlbmRlZCIsCisgICAgICAgICJTdG9wcGluZyBhdWRpb1RyYWNrMSBt
YXJrcyBpdCBlbmRlZCBzeW5jaHJvbm91c2x5Iik7CisKKyAgICAgIHZpZGVvVHJhY2suc3RvcCgp
OworICAgICAgYXNzZXJ0X2VxdWFscyh2aWRlb1RyYWNrLnJlYWR5U3RhdGUsICJlbmRlZCIsCisg
ICAgICAgICJTdG9wcGluZyB2aWRlb1RyYWNrIG1hcmtzIGl0IGVuZGVkIHN5bmNocm9ub3VzbHki
KTsKKworICAgICAgYXNzZXJ0X2ZhbHNlKHN0cmVhbS5hY3RpdmUsCisgICAgICAgICJUaGUgb3Jp
Z2luYWwgTWVkaWFTdHJlYW0gaXMgbWFya2VkIGluYWN0aXZlIHN5bmNocm9ub3VzbHkiKTsKKyAg
ICAgIGFzc2VydF9mYWxzZShzdHJlYW0xLmFjdGl2ZSwKKyAgICAgICAgIk1lZGlhU3RyZWFtIDEg
aXMgbWFya2VkIGluYWN0aXZlIHN5bmNocm9ub3VzbHkiKTsKKyAgICAgIGFzc2VydF9mYWxzZShz
dHJlYW0yLmFjdGl2ZSwKKyAgICAgICAgIk1lZGlhU3RyZWFtIDIgaXMgbWFya2VkIGluYWN0aXZl
IHN5bmNocm9ub3VzbHkiKTsKKyAgICAgIGFzc2VydF9mYWxzZShzdHJlYW0zLmFjdGl2ZSwKKyAg
ICAgICAgIk1lZGlhU3RyZWFtIDMgaXMgbWFya2VkIGluYWN0aXZlIHN5bmNocm9ub3VzbHkiKTsK
KyAgICAgIGFzc2VydF9mYWxzZShzdHJlYW00LmFjdGl2ZSwKKyAgICAgICAgIk1lZGlhU3RyZWFt
IDQgaXMgbWFya2VkIGluYWN0aXZlIHN5bmNocm9ub3VzbHkiKTsKKwogICAgICAgLy8gVXNlIGEg
dGltZW91dCB0byBkZXRlY3QgYSBtaXNmaXJlIG9mIHRoZSBlbmRlZCBldmVudC4KICAgICAgIHQu
c3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoKSk7CiAgICAgfSkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0
cmVhbXMvTWVkaWFTdHJlYW0tcmVtb3ZldHJhY2suaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFt
cy9NZWRpYVN0cmVhbS1yZW1vdmV0cmFjay5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggOTRhODI2
YWI1ZTkzMmViNTFiN2E1ZmFhZGI1MTJhMTk2ZjA4ZWFlOC4uMjI5ZGU4ODRiOTVhZTg2M2ZmY2Nk
MzExMGE4NTZjMWMwMTUyY2YzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1yZW1v
dmV0cmFjay5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1yZW1v
dmV0cmFjay5odHRwcy1leHBlY3RlZC50eHQKQEAgLTUsNSArNSw4IEBAIERlc2NyaXB0aW9uCiBU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgcmVtb3ZpbmdpbmcgYSB0cmFjayBmcm9tIGEgTWVkaWFTdHJl
YW0gd29ya3MgYXMgZXhwZWN0ZWQuCiAKIAorCiBQQVNTIFRlc3RzIHRoYXQgYSByZW1vdmFsIGZy
b20gYSBNZWRpYVN0cmVhbSB3b3JrcyBhcyBleHBlY3RlZCAKK1BBU1MgVGVzdCB0aGF0IHJlbW92
YWwgZnJvbSBhIE1lZGlhU3RyZWFtIGZpcmVzIGVuZGVkIG9uIG1lZGlhIGVsZW1lbnRzICh2aWRl
byBmaXJzdCkgCitGQUlMIFRlc3QgdGhhdCByZW1vdmFsIGZyb20gYSBNZWRpYVN0cmVhbSBmaXJl
cyBlbmRlZCBvbiBtZWRpYSBlbGVtZW50cyAoYXVkaW8gZmlyc3QpIGFzc2VydF9lcXVhbHM6IGF1
ZGlvIGVsZW1lbnQgZW5kZWQgYmVjYXVzZSBubyBtb3JlIGF1ZGlvIHRyYWNrcyBleHBlY3RlZCB0
cnVlIGJ1dCBnb3QgZmFsc2UKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1yZW1v
dmV0cmFjay5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1yZW1vdmV0cmFjay5odHRw
cy5odG1sCmluZGV4IDc4N2FmMGJiZTUyZmY3MGNjZGU0ZTI0MjRmYTU5ODlmODRlOGNhMjYuLjFl
OWViYmNlZmE4MDBkM2EyNjYyZWE5MGYyZjA0MGE3ZDA1NTQyODUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVh
bXMvTWVkaWFTdHJlYW0tcmVtb3ZldHJhY2suaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlh
U3RyZWFtLXJlbW92ZXRyYWNrLmh0dHBzLmh0bWwKQEAgLTEwLDM2ICsxMCwxMjcgQEAKIDxwIGNs
YXNzPSJpbnN0cnVjdGlvbnMiPldoZW4gcHJvbXB0ZWQsIGFjY2VwdCB0byBzaGFyZSB5b3VyIGF1
ZGlvIHN0cmVhbSwgdGhlbiB5b3VyIHZpZGVvIHN0cmVhbS48L3A+CiA8aDEgY2xhc3M9Imluc3Ry
dWN0aW9ucyI+RGVzY3JpcHRpb248L2gxPgogPHAgY2xhc3M9Imluc3RydWN0aW9ucyI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IHJlbW92aW5naW5nIGEgdHJhY2sgZnJvbSBhIE1lZGlhU3RyZWFtIHdv
cmtzIGFzIGV4cGVjdGVkLjwvcD4KLQorPHZpZGVvIGlkPSJ2aWRlbyIgaGVpZ2h0PSIxMjAiIHdp
ZHRoPSIxNjAiIGF1dG9wbGF5IG11dGVkPjwvdmlkZW8+Cis8YXVkaW8gaWQ9ImF1ZGlvIiBhdXRv
cGxheSBtdXRlZD48L2F1ZGlvPgogPGRpdiBpZD0nbG9nJz48L2Rpdj4KIDxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0vcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgogPHNjcmlwdD4KLXZhciB0ID0gYXN5bmNf
dGVzdCgiVGVzdHMgdGhhdCBhIHJlbW92YWwgZnJvbSBhIE1lZGlhU3RyZWFtIHdvcmtzIGFzIGV4
cGVjdGVkIiwge3RpbWVvdXQ6MTAwMDB9KTsKLXQuc3RlcChmdW5jdGlvbiAoKSB7Ci0gIHZhciBh
dWRpbzsKLSAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlvOnRydWV9
KS50aGVuKGdvdEF1ZGlvKTsKLSAgZnVuY3Rpb24gZ290QXVkaW8oc3RyZWFtKSB7Ci0gICAgIGF1
ZGlvID0gc3RyZWFtOwotICAgICBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7
dmlkZW86dHJ1ZX0pLnRoZW4oZ290VmlkZW8pOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7
CisgIGNvbnN0IHN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1l
ZGlhKHt2aWRlbzogdHJ1ZSwgYXVkaW86IHRydWV9KTsKKyAgY29uc3QgdHJhY2tzID0gc3RyZWFt
LmdldFRyYWNrcygpOworICB0LmFkZF9jbGVhbnVwKCgpID0+IHRyYWNrcy5mb3JFYWNoKHRyYWNr
ID0+IHRyYWNrLnN0b3AoKSkpOworICBjb25zdCBzdHJlYW0yID0gYXdhaXQgbmF2aWdhdG9yLm1l
ZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlvOiB0cnVlfSk7CisgIHRyYWNrcy5wdXNoKC4u
LnN0cmVhbTIuZ2V0VHJhY2tzKCkpOworCisgIHN0cmVhbS5vbnJlbW92ZXRyYWNrID0gc3RyZWFt
Mi5vbnJlbW92ZXRyYWNrID0gdC5zdGVwX2Z1bmMoKCkgPT4KKyAgICBhc3NlcnRfdW5yZWFjaGVk
KCJvbnJlbW92ZXRyYWNrIGlzIG5vdCB0cmlnZ2VyZWQgYnkgc2NyaXB0IGl0c2VsZiIpKTsKKwor
ICBhc3NlcnRfZXF1YWxzKHN0cmVhbS5nZXRUcmFja3MoKS5sZW5ndGgsIDIsICJtZWRpYXN0cmVh
bSBzdGFydHMgd2l0aCAyIHRyYWNrcyIpOworICBzdHJlYW0ucmVtb3ZlVHJhY2soc3RyZWFtLmdl
dFZpZGVvVHJhY2tzKClbMF0pOworICBhc3NlcnRfZXF1YWxzKHN0cmVhbS5nZXRUcmFja3MoKS5s
ZW5ndGgsIDEsICJtZWRpYXN0cmVhbSBoYXMgMSB0cmFjayBsZWZ0Iik7CisgIHN0cmVhbS5yZW1v
dmVUcmFjayhzdHJlYW0uZ2V0QXVkaW9UcmFja3MoKVswXSk7CisgIGFzc2VydF9lcXVhbHMoc3Ry
ZWFtLmdldFRyYWNrcygpLmxlbmd0aCwgMCwgIm1lZGlhc3RyZWFtIGhhcyBubyB0cmFja3MgbGVm
dCIpOworICBzdHJlYW0ucmVtb3ZlVHJhY2soc3RyZWFtMi5nZXRUcmFja3MoKVswXSk7IC8vIHNo
b3VsZCBub3QgdGhyb3cKKworICAvLyBBbGxvdyB0aW1lIHRvIHZlcmlmeSBubyBldmVudHMgZmly
ZS4KKyAgYXdhaXQgbmV3IFByb21pc2UociA9PiB0LnN0ZXBfdGltZW91dChyLCAxKSk7CisKK30s
ICJUZXN0cyB0aGF0IGEgcmVtb3ZhbCBmcm9tIGEgTWVkaWFTdHJlYW0gd29ya3MgYXMgZXhwZWN0
ZWQiKTsKKworYXN5bmMgZnVuY3Rpb24gZG9lc0V2ZW50RmlyZSh0LCB0YXJnZXQsIG5hbWUsIG1z
ID0gMSkgeworICBjb25zdCBjb29raWUgPSB7fTsKKyAgY29uc3QgdmFsdWUgPSBhd2FpdCBQcm9t
aXNlLnJhY2UoWworICAgIG5ldyBQcm9taXNlKHIgPT4gdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIo
bmFtZSwgciwge29uY2U6IHRydWV9KSksCisgICAgbmV3IFByb21pc2UociA9PiB0LnN0ZXBfdGlt
ZW91dChyLCBtcykpLnRoZW4oKCkgPT4gY29va2llKQorICBdKTsKKyAgcmV0dXJuIHZhbHVlICE9
PSBjb29raWU7Cit9CisKK2NvbnN0IGRvRXZlbnRzRmlyZSA9ICh0LCB0YXJnZXQxLCB0YXJnZXQy
LCBuYW1lLCBtcyA9IDEpID0+IFByb21pc2UuYWxsKFsKKyAgZG9lc0V2ZW50RmlyZSh0LCB0YXJn
ZXQxLCAiZW5kZWQiLCBtcyksCisgIGRvZXNFdmVudEZpcmUodCwgdGFyZ2V0MiwgImVuZGVkIiwg
bXMpCitdKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBzdHJlYW0gPSBh
d2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7dmlkZW86IHRydWUsIGF1
ZGlvOiB0cnVlfSk7CisgIGNvbnN0IHRyYWNrcyA9IHN0cmVhbS5nZXRUcmFja3MoKTsKKworICBh
dWRpby5zcmNPYmplY3QgPSB2aWRlby5zcmNPYmplY3QgPSBzdHJlYW07CisKKyAgdC5hZGRfY2xl
YW51cCgoKSA9PiB7CisgICAgZm9yIChjb25zdCB0cmFjayBvZiB0cmFja3MpIHsKKyAgICAgIHRy
YWNrLnN0b3AoKTsKKyAgICB9CisgICAgYXVkaW8uc3JjT2JqZWN0ID0gdmlkZW8uc3JjT2JqZWN0
ID0gbnVsbDsKKyAgfSk7CisKKyAgYXdhaXQgUHJvbWlzZS5hbGwoWworICAgIG5ldyBQcm9taXNl
KHIgPT4gYXVkaW8ub25sb2FkZWRtZXRhZGF0YSA9IHIpLAorICAgIG5ldyBQcm9taXNlKHIgPT4g
dmlkZW8ub25sb2FkZWRtZXRhZGF0YSA9IHIpCisgIF0pOworCisgIGFzc2VydF9lcXVhbHMoYXVk
aW8uZW5kZWQsIGZhbHNlLCAiYXVkaW8gZWxlbWVudCBzdGFydHMgb3V0IG5vdCBlbmRlZCIpOwor
ICBhc3NlcnRfZXF1YWxzKHZpZGVvLmVuZGVkLCBmYWxzZSwgInZpZGVvIGVsZW1lbnQgc3RhcnRz
IG91dCBub3QgZW5kZWQiKTsKKworICBzdHJlYW0ucmVtb3ZlVHJhY2soc3RyZWFtLmdldFZpZGVv
VHJhY2tzKClbMF0pOworICB7CisgICAgY29uc3QgW2F1ZGlvRGlkRW5kLCB2aWRlb0RpZEVuZF0g
PSBhd2FpdCBkb0V2ZW50c0ZpcmUodCwgYXVkaW8sIHZpZGVvLCAiZW5kZWQiKTsKKyAgICBhc3Nl
cnRfZXF1YWxzKGF1ZGlvLmVuZGVkLCBmYWxzZSwgImF1ZGlvIGVsZW1lbnQgdW5hZmZlY3RlZCIp
OworICAgIGFzc2VydF9lcXVhbHMoYXVkaW9EaWRFbmQsIGZhbHNlLCAibm8gYXVkaW8gZW5kZWQg
ZXZlbnQgc2hvdWxkIGZpcmUgeWV0Iik7CisgICAgYXNzZXJ0X2VxdWFscyh2aWRlby5lbmRlZCwg
ZmFsc2UsICJ2aWRlbyBlbGVtZW50IGtlZXBzIGdvaW5nIHdpdGggYXVkaW8gdHJhY2siKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKHZpZGVvRGlkRW5kLCBmYWxzZSwgIm5vIHZpZGVvIGVuZGVkIGV2ZW50
IHNob3VsZCBmaXJlIHlldCIpOwogICB9CisgIHN0cmVhbS5yZW1vdmVUcmFjayhzdHJlYW0uZ2V0
QXVkaW9UcmFja3MoKVswXSk7CisgIHsKKyAgICBjb25zdCBbYXVkaW9EaWRFbmQsIHZpZGVvRGlk
RW5kXSA9IGF3YWl0IGRvRXZlbnRzRmlyZSh0LCBhdWRpbywgdmlkZW8sICJlbmRlZCIpOworICAg
IGFzc2VydF9lcXVhbHMoYXVkaW8uZW5kZWQsIHRydWUsICJhdWRpbyBlbGVtZW50IGVuZGVkIGJl
Y2F1c2Ugbm8gbW9yZSBhdWRpbyB0cmFja3MiKTsKKyAgICBhc3NlcnRfZXF1YWxzKGF1ZGlvRGlk
RW5kLCB0cnVlLCAiZ28gYXVkaW8gZW5kZWQgZXZlbnQiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHZp
ZGVvLmVuZGVkLCB0cnVlLCAidmlkZW8gZWxlbWVudCBlbmRlZCBiZWNhdXNlIG5vIG1vcmUgdHJh
Y2tzIik7CisgICAgYXNzZXJ0X2VxdWFscyh2aWRlb0RpZEVuZCwgdHJ1ZSwgImdvdCB2aWRlbyBl
bmRlZCBldmVudCIpOworICB9Cit9LCAiVGVzdCB0aGF0IHJlbW92YWwgZnJvbSBhIE1lZGlhU3Ry
ZWFtIGZpcmVzIGVuZGVkIG9uIG1lZGlhIGVsZW1lbnRzICh2aWRlbyBmaXJzdCkiKTsKKworcHJv
bWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBzdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3Iu
bWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7dmlkZW86IHRydWUsIGF1ZGlvOiB0cnVlfSk7Cisg
IGNvbnN0IHRyYWNrcyA9IHN0cmVhbS5nZXRUcmFja3MoKTsKKworICBhdWRpby5zcmNPYmplY3Qg
PSB2aWRlby5zcmNPYmplY3QgPSBzdHJlYW07CiAKLSAgZnVuY3Rpb24gZ290VmlkZW8oc3RyZWFt
KSB7Ci0gICAgdmFyIHZpZGVvID0gc3RyZWFtOwotICAgIHZpZGVvLm9ucmVtb3ZldHJhY2sgPSBm
dW5jdGlvbiAoKSB7Ci0gICAgICAgYXNzZXJ0X3VucmVhY2hlZCgib25yZW1vdmV0cmFjayBpcyBu
b3QgdHJpZ2dlcmVkIHdoZW4gcmVtb3ZhbCBvZiB0cmFjayBpcyB0cmlnZ2VyZWQgYnkgdGhlIHNj
cmlwdCBpdHNlbGYiKTsKLSAgICB9OwotICAgIHQuc3RlcChmdW5jdGlvbiAoKSB7Ci0gICAgICAg
YXNzZXJ0X2VxdWFscyh2aWRlby5nZXRWaWRlb1RyYWNrcygpLmxlbmd0aCwgMSwgInZpZGVvIG1l
ZGlhc3RyZWFtIHN0YXJ0cyB3aXRoIG9uZSB2aWRlbyB0cmFjayIpOwotICAgICAgIHZpZGVvLnJl
bW92ZVRyYWNrKHZpZGVvLmdldFZpZGVvVHJhY2tzKClbMF0pOwotICAgICAgIGFzc2VydF9lcXVh
bHModmlkZW8uZ2V0VmlkZW9UcmFja3MoKS5sZW5ndGgsIDAsICJ2aWRlbyBtZWRpYXN0cmVhbSBo
YXMgbm8gdmlkZW8gdHJhY2sgbGVmdCIpOwotICAgICAgIHZpZGVvLnJlbW92ZVRyYWNrKGF1ZGlv
LmdldEF1ZGlvVHJhY2tzKClbMF0pOyAvLyBzaG91bGQgbm90IHRocm93Ci0gICAgfSk7Ci0gICAg
dC5zdGVwKGZ1bmN0aW9uKCkgewotICAgICAgIHQuZG9uZSgpOwotICAgfSk7CisgIHQuYWRkX2Ns
ZWFudXAoKCkgPT4geworICAgIGZvciAoY29uc3QgdHJhY2sgb2YgdHJhY2tzKSB7CisgICAgICB0
cmFjay5zdG9wKCk7CisgICAgfQorICAgIGF1ZGlvLnNyY09iamVjdCA9IHZpZGVvLnNyY09iamVj
dCA9IG51bGw7CisgIH0pOworCisgIGF3YWl0IFByb21pc2UuYWxsKFsKKyAgICBuZXcgUHJvbWlz
ZShyID0+IGF1ZGlvLm9ubG9hZGVkbWV0YWRhdGEgPSByKSwKKyAgICBuZXcgUHJvbWlzZShyID0+
IHZpZGVvLm9ubG9hZGVkbWV0YWRhdGEgPSByKQorICBdKTsKKworICBhc3NlcnRfZXF1YWxzKGF1
ZGlvLmVuZGVkLCBmYWxzZSwgImF1ZGlvIGVsZW1lbnQgc3RhcnRzIG91dCBub3QgZW5kZWQiKTsK
KyAgYXNzZXJ0X2VxdWFscyh2aWRlby5lbmRlZCwgZmFsc2UsICJ2aWRlbyBlbGVtZW50IHN0YXJ0
cyBvdXQgbm90IGVuZGVkIik7CisKKyAgc3RyZWFtLnJlbW92ZVRyYWNrKHN0cmVhbS5nZXRBdWRp
b1RyYWNrcygpWzBdKTsKKyAgeworICAgIGNvbnN0IFthdWRpb0RpZEVuZCwgdmlkZW9EaWRFbmRd
ID0gYXdhaXQgZG9FdmVudHNGaXJlKHQsIGF1ZGlvLCB2aWRlbywgImVuZGVkIik7CisgICAgYXNz
ZXJ0X2VxdWFscyhhdWRpby5lbmRlZCwgdHJ1ZSwgImF1ZGlvIGVsZW1lbnQgZW5kZWQgYmVjYXVz
ZSBubyBtb3JlIGF1ZGlvIHRyYWNrcyIpOworICAgIGFzc2VydF9lcXVhbHMoYXVkaW9EaWRFbmQs
IHRydWUsICJnb3QgYXVkaW8gZW5kZWQgZXZlbnQiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHZpZGVv
LmVuZGVkLCBmYWxzZSwgInZpZGVvIGVsZW1lbnQga2VlcHMgZ29pbmcgd2l0aCB2aWRlbyB0cmFj
ayIpOworICAgIGFzc2VydF9lcXVhbHModmlkZW9EaWRFbmQsIGZhbHNlLCAibm8gdmlkZW8gZW5k
ZWQgZXZlbnQgc2hvdWxkIGZpcmUgeWV0Iik7CiAgIH0KLX0pOworICBzdHJlYW0ucmVtb3ZlVHJh
Y2soc3RyZWFtLmdldFZpZGVvVHJhY2tzKClbMF0pOworICB7CisgICAgY29uc3QgW2F1ZGlvRGlk
RW5kLCB2aWRlb0RpZEVuZF0gPSBhd2FpdCBkb0V2ZW50c0ZpcmUodCwgYXVkaW8sIHZpZGVvLCAi
ZW5kZWQiKTsKKyAgICBhc3NlcnRfZXF1YWxzKGF1ZGlvLmVuZGVkLCB0cnVlLCAiYXVkaW8gZWxl
bWVudCByZW1haW5zIGVuZGVkIGZyb20gYmVmb3JlIik7CisgICAgYXNzZXJ0X2VxdWFscyhhdWRp
b0RpZEVuZCwgZmFsc2UsICJubyBzZWNvbmQgYXVkaW8gZW5kZWQgZXZlbnQgc2hvdWxkIGZpcmUi
KTsKKyAgICBhc3NlcnRfZXF1YWxzKHZpZGVvLmVuZGVkLCB0cnVlLCAidmlkZW8gZWxlbWVudCBl
bmRlZCBiZWNhdXNlIG5vIG1vcmUgdHJhY2tzIik7CisgICAgYXNzZXJ0X2VxdWFscyh2aWRlb0Rp
ZEVuZCwgdHJ1ZSwgImdvdCB2aWRlbyBlbmRlZCBldmVudCIpOworICB9Cit9LCAiVGVzdCB0aGF0
IHJlbW92YWwgZnJvbSBhIE1lZGlhU3RyZWFtIGZpcmVzIGVuZGVkIG9uIG1lZGlhIGVsZW1lbnRz
IChhdWRpbyBmaXJzdCkiKTsKKwogPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2Fw
dHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtLXN1cHBvcnRlZC1ieS1mZWF0dXJlLXBvbGljeS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtLXN1cHBvcnRlZC1ieS1mZWF0dXJlLXBvbGlj
eS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTAxOGFlZDUzNTI1MWUzZGVkMTZjZWM3NjEyOWRj
M2M2ZGYwZDYwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tc3VwcG9y
dGVkLWJ5LWZlYXR1cmUtcG9saWN5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworRkFJ
TCBkb2N1bWVudC5mZWF0dXJlUG9saWN5LmZlYXR1cmVzIHNob3VsZCBhZHZlcnRpc2UgY2FtZXJh
LiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnZG9jdW1lbnQuZmVhdHVy
ZVBvbGljeS5mZWF0dXJlcycpCitGQUlMIGRvY3VtZW50LmZlYXR1cmVQb2xpY3kuZmVhdHVyZXMg
c2hvdWxkIGFkdmVydGlzZSBtaWNyb3Bob25lLiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAo
ZXZhbHVhdGluZyAnZG9jdW1lbnQuZmVhdHVyZVBvbGljeS5mZWF0dXJlcycpCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0
dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tc3VwcG9ydGVkLWJ5LWZlYXR1cmUtcG9saWN5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVy
ZS1zdHJlYW1zL01lZGlhU3RyZWFtLXN1cHBvcnRlZC1ieS1mZWF0dXJlLXBvbGljeS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmVmMjlhZTZlZWMyMTBhMmQ4ODA2NGQ2NjcxZjBjY2ViNjEzN2UwNWYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtLXN1cHBvcnRlZC1ieS1mZWF0dXJlLXBv
bGljeS5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPlRlc3Qg
dGhhdCBhY2NlbGVyb21ldGVyIGlzIGFkdmVydGlzZWQgaW4gdGhlIGZlYXR1cmUgbGlzdDwvdGl0
bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJhcHBz
ZWMtZmVhdHVyZS1wb2xpY3kvI2RvbS1mZWF0dXJlcG9saWN5LWZlYXR1cmVzIj4KKzxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL21lZGlhY2FwdHVyZS1tYWluLyNm
ZWF0dXJlLXBvbGljeS1pbnRlZ3JhdGlvbiI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordGVzdCgoKSA9PiB7CisgICAgYXNzZXJ0
X2luX2FycmF5KCdjYW1lcmEnLCBkb2N1bWVudC5mZWF0dXJlUG9saWN5LmZlYXR1cmVzKCkpOwor
fSwgJ2RvY3VtZW50LmZlYXR1cmVQb2xpY3kuZmVhdHVyZXMgc2hvdWxkIGFkdmVydGlzZSBjYW1l
cmEuJyk7CisKK3Rlc3QoKCkgPT4geworICAgIGFzc2VydF9pbl9hcnJheSgnbWljcm9waG9uZScs
IGRvY3VtZW50LmZlYXR1cmVQb2xpY3kuZmVhdHVyZXMoKSk7Cit9LCAnZG9jdW1lbnQuZmVhdHVy
ZVBvbGljeS5mZWF0dXJlcyBzaG91bGQgYWR2ZXJ0aXNlIG1pY3JvcGhvbmUuJyk7Cis8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW1UcmFjay1NZWRpYUVsZW1lbnQtZGlz
YWJsZWQtYXVkaW8taXMtc2lsZW5jZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbVRy
YWNrLU1lZGlhRWxlbWVudC1kaXNhYmxlZC1hdWRpby1pcy1zaWxlbmNlLmh0dHBzLmh0bWwKaW5k
ZXggMGQ2MTIzZDQ1ZDI4YzM1ZDBhNWEyNzJkMjI3ZmQ2ZTNmZjU2M2M2MC4uOGE1ZDBhMTZhM2Qy
NjM4MTExYmE4MGZiOWZhYmE0MmFmYjliNTE0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0
cmVhbVRyYWNrLU1lZGlhRWxlbWVudC1kaXNhYmxlZC1hdWRpby1pcy1zaWxlbmNlLmh0dHBzLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbVRyYWNrLU1lZGlhRWxlbWVudC1kaXNhYmxlZC1h
dWRpby1pcy1zaWxlbmNlLmh0dHBzLmh0bWwKQEAgLTE4LDcgKzE4LDcgQEAgV2ViIEF1ZGlvIEFQ
STwvYT4uPC9wPgogPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+
CiA8c2NyaXB0PgotdmFyIHQgPSBhc3luY190ZXN0KCJUZXN0cyB0aGF0IGEgZGlzYWJsZWQgYXVk
aW8gdHJhY2sgaW4gYSBNZWRpYVN0cmVhbSBpcyByZW5kZXJlZCBhcyBzaWxlbmNlIiwge3RpbWVv
dXQ6IDIwMDAwMH0pOwordmFyIHQgPSBhc3luY190ZXN0KCJUZXN0cyB0aGF0IGEgZGlzYWJsZWQg
YXVkaW8gdHJhY2sgaW4gYSBNZWRpYVN0cmVhbSBpcyByZW5kZXJlZCBhcyBzaWxlbmNlIik7CiB2
YXIgYXVkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF1ZCIpOwogdC5zdGVwKGZ1bmN0aW9u
KCkgewogICBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7YXVkaW86IHRydWV9
KS50aGVuKHQuc3RlcF9mdW5jKGZ1bmN0aW9uIChzdHJlYW0pIHsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVh
bXMvTWVkaWFTdHJlYW1UcmFjay1NZWRpYUVsZW1lbnQtZGlzYWJsZWQtdmlkZW8taXMtYmxhY2su
aHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbVRyYWNrLU1lZGlhRWxlbWVu
dC1kaXNhYmxlZC12aWRlby1pcy1ibGFjay5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggOGE3NTE2
NGU1NTEwNzYyNDhlMWQ1Y2Q4YmJiOWI3ZTYyZTlkMDllMi4uMjExNjRjODNmYTI2ZGIxYjAyOTlj
MTlkOGI5NzRiMDQ1NzJkNGQyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbVRyYWNr
LU1lZGlhRWxlbWVudC1kaXNhYmxlZC12aWRlby1pcy1ibGFjay5odHRwcy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNh
cHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbVRyYWNrLU1lZGlhRWxlbWVudC1kaXNhYmxlZC12aWRl
by1pcy1ibGFjay5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgNDk6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcpJwogV2hlbiBw
cm9tcHRlZCwgYWNjZXB0IHRvIHNoYXJlIHlvdXIgdmlkZW8gc3RyZWFtLgogCiBEZXNjcmlwdGlv
bgpAQCAtNyw1ICs2LDcgQEAgVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGEgZGlzYWJsZWQgdmlkZW8g
dHJhY2sgaW4gYSBNZWRpYVN0cmVhbSBpcyByZW5kZXJlZCBhcyBibGEKIAogCiAKLUZBSUwgQSBk
aXNhYmxlZCB2aWRlbyB0cmFjayBpcyByZW5kZXJlZCBhcyBibGFja25lc3MgU3ludGF4RXJyb3I6
IFVuZXhwZWN0ZWQgdG9rZW4gJyknCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9
IG51bGwKKworVElNRU9VVCBUZXN0cyB0aGF0IGEgZGlzYWJsZWQgdmlkZW8gdHJhY2sgaW4gYSBN
ZWRpYVN0cmVhbSBpcyByZW5kZXJlZCBhcyBibGFja25lc3MgVGVzdCB0aW1lZCBvdXQKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbVRyYWNrLU1lZGlhRWxlbWVudC1kaXNhYmxlZC12
aWRlby1pcy1ibGFjay5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbVRyYWNrLU1lZGlh
RWxlbWVudC1kaXNhYmxlZC12aWRlby1pcy1ibGFjay5odHRwcy5odG1sCmluZGV4IDhhZWU4ZTJi
ZjEyZjIyZDg1YWQ1NmRkMjQyZDkzNDY5MzUzM2JiMDUuLjc2OWI3YTMwZGJmMzQ2YTY2MDQzMDZj
MTBmNjk5NjkzOTNjZjQyMjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW1UcmFjay1N
ZWRpYUVsZW1lbnQtZGlzYWJsZWQtdmlkZW8taXMtYmxhY2suaHR0cHMuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJl
YW1zL01lZGlhU3RyZWFtVHJhY2stTWVkaWFFbGVtZW50LWRpc2FibGVkLXZpZGVvLWlzLWJsYWNr
Lmh0dHBzLmh0bWwKQEAgLTE5LDcgKzE5LDcgQEAgTWVkaWFTdHJlYW0gaXMgcmVuZGVyZWQgYXMg
YmxhY2tuZXNzLjwvcD4KIDxzY3JpcHQ+CiB2YXIgdmlkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInZpZCIpOwogdmFyIGN2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7Ci12
YXIgdCA9IGFzeW5jX3Rlc3QoIlRlc3RzIHRoYXQgYSBkaXNhYmxlZCB2aWRlbyB0cmFjayBpbiBh
IE1lZGlhU3RyZWFtIGlzIHJlbmRlcmVkIGFzIGJsYWNrbmVzcyIsIHt0aW1lb3V0OiAxMDAwMH0p
OwordmFyIHQgPSBhc3luY190ZXN0KCJUZXN0cyB0aGF0IGEgZGlzYWJsZWQgdmlkZW8gdHJhY2sg
aW4gYSBNZWRpYVN0cmVhbSBpcyByZW5kZXJlZCBhcyBibGFja25lc3MiKTsKIHQuc3RlcChmdW5j
dGlvbigpIHsKICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe3ZpZGVvOiB0
cnVlfSkKICAgICAudGhlbih0LnN0ZXBfZnVuYyhmdW5jdGlvbiAoc3RyZWFtKSB7CkBAIC00Niw3
ICs0Niw3IEBAIHQuc3RlcChmdW5jdGlvbigpIHsKICAgICAgIHZpZC5zcmNPYmplY3QgPSBzdHJl
YW07CiAgICAgICB2aWQucGxheSgpOwogICAgICAgdmlkLmFkZEV2ZW50TGlzdGVuZXIoImxvYWRl
ZGRhdGEiLCB0ZXN0T25jZUxvYWRlZGRhdGEsIGZhbHNlKTsKLSAgICB9KSkpOworICAgIH0pKTsK
IH0pOwogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFt
VHJhY2stYXBwbHlDb25zdHJhaW50cy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlh
U3RyZWFtVHJhY2stYXBwbHlDb25zdHJhaW50cy5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNzk4ZTAwNDNiOTgwNWY2YzY1YjFkZGUyM2Y2MTNhNTczNTExMjFlMgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFj
YXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW1UcmFjay1hcHBseUNvbnN0cmFpbnRzLmh0dHBzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK1doZW4gcHJvbXB0ZWQsIGFjY2VwdCB0byBzaGFy
ZSB5b3VyIHZpZGVvIHN0cmVhbS4KKworCitGQUlMIGFwcGx5Q29uc3RyYWludHMgcmVqZWN0cyBp
bnZhbGlkIGdyb3VwSUQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIk92ZXJjb25zdHJhaW5lZEVy
cm9yIiBidXQgZ290ICJFcnJvciIKK1BBU1MgYXBwbHlDb25zdHJhaW50cyBhY2NlcHRzIGludmFs
aWQgaWRlYWwgZ3JvdXBJRCwgZG9lcyBub3QgY2hhbmdlIHNldHRpbmcgCitGQUlMIGFwcGx5Q29u
c3RyYWludHMgcmVqZWN0cyBhdHRlbXB0IHRvIHN3aXRjaCBkZXZpY2UgdXNpbmcgZ3JvdXBJZCBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiT3ZlcmNvbnN0cmFpbmVkRXJyb3IiIGJ1dCBnb3QgIkVy
cm9yIgorRkFJTCBhcHBseUNvbnN0cmFpbnRzIHJlamVjdHMgaW52YWxpZCByZXNpemVNb2RlIGFz
c2VydF91bnJlYWNoZWQ6IGFwcGx5Q29uc3RyYWludHMoKSBtdXN0IGZhaWwgd2l0aCBpbnZhbGlk
IHJlc2l6ZU1vZGUgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIGFwcGx5Q29uc3RyYWlu
dHMgYWNjZXB0cyBpbnZhbGlkIGlkZWFsIHJlc2l6ZU1vZGUsIGRvZXMgbm90IGNoYW5nZSBzZXR0
aW5nIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtVHJhY2stYXBwbHlDb25zdHJh
aW50cy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbVRyYWNrLWFwcGx5Q29uc3RyYWlu
dHMuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMjVmODI3MGU1YTg4M2QxNWU3MDQyOThkZmNhOWQy
ZDM3NDkzYmQzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbVRyYWNrLWFw
cGx5Q29uc3RyYWludHMuaHR0cHMuaHRtbApAQCAtMCwwICsxLDc5IEBACis8IWRvY3R5cGUgaHRt
bD4KKzx0aXRsZT5NZWRpYVN0cmVhbVRyYWNrIGFwcGx5Q29uc3RyYWludHM8L3RpdGxlPgorPHAg
Y2xhc3M9Imluc3RydWN0aW9ucyI+V2hlbiBwcm9tcHRlZCwgYWNjZXB0IHRvIHNoYXJlIHlvdXIg
dmlkZW8gc3RyZWFtLjwvcD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwv
c2NyaXB0PgorPHNjcmlwdD4KKyAgJ3VzZSBzdHJpY3QnCisKKyAgLy8gaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL21lZGlhY2FwdHVyZS1tYWluLyNkb20tbWVkaWFzdHJlYW10cmFjay1hcHBseWNvbnN0
cmFpbnRzCisKKyAgcHJvbWlzZV90ZXN0KHQgPT4geworICAgIHJldHVybiBuYXZpZ2F0b3IubWVk
aWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7IHZpZGVvOiB0cnVlIH0pCisgICAgICAudGhlbih0LnN0
ZXBfZnVuYyhzdHJlYW0gPT4geworICAgICAgICByZXR1cm4gc3RyZWFtLmdldFZpZGVvVHJhY2tz
KClbMF0uYXBwbHlDb25zdHJhaW50cygKKyAgICAgICAgICB7IGdyb3VwSWQ6IHsgZXhhY3Q6ICJJ
TlZBTElEIiB9IH0pLnRoZW4oCisgICAgICAgICAgICB0LnVucmVhY2hlZF9mdW5jKCdBY2NlcHRl
ZCBpbnZhbGlkIGdyb3VwSUQnKSwKKyAgICAgICAgICAgIHQuc3RlcF9mdW5jKGUgPT4geworICAg
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGUubmFtZSwgJ092ZXJjb25zdHJhaW5lZEVycm9yJyk7
CisgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZS5jb25zdHJhaW50LCAnZ3JvdXBJZCcpOwor
ICAgICAgICAgICAgfSkpOworICAgICAgfSkpOworICB9LCAnYXBwbHlDb25zdHJhaW50cyByZWpl
Y3RzIGludmFsaWQgZ3JvdXBJRCcpOworCisgIHByb21pc2VfdGVzdCh0ID0+IHsKKyAgICByZXR1
cm4gbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoeyB2aWRlbzogdHJ1ZSB9KQor
ICAgICAgLnRoZW4odC5zdGVwX2Z1bmMoc3RyZWFtID0+IHsKKyAgICAgICAgdmFyIHRyYWNrID0g
c3RyZWFtLmdldFZpZGVvVHJhY2tzKClbMF07CisgICAgICAgIHZhciBncm91cElkID0gdHJhY2su
Z2V0U2V0dGluZ3MoKS5ncm91cElkOworICAgICAgICByZXR1cm4gdHJhY2suYXBwbHlDb25zdHJh
aW50cyh7IGdyb3VwSWQ6ICJJTlZBTElEIiB9KS50aGVuKAorICAgICAgICAgIHQuc3RlcF9mdW5j
KCgpID0+IHsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHModHJhY2suZ2V0U2V0dGluZ3MoKS5n
cm91cElkLCBncm91cElkKTsKKyAgICAgICAgICB9KSk7CisgICAgICB9KSk7CisgIH0sICdhcHBs
eUNvbnN0cmFpbnRzIGFjY2VwdHMgaW52YWxpZCBpZGVhbCBncm91cElELCBkb2VzIG5vdCBjaGFu
Z2Ugc2V0dGluZycpOworCisgIHByb21pc2VfdGVzdCh0ID0+IHsKKyAgICByZXR1cm4gbmF2aWdh
dG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoeyB2aWRlbzogdHJ1ZSB9KQorICAgICAgLnRo
ZW4odC5zdGVwX2Z1bmMoc3RyZWFtID0+IHsKKyAgICAgICAgdmFyIHRyYWNrID0gc3RyZWFtLmdl
dFZpZGVvVHJhY2tzKClbMF07CisgICAgICAgIHZhciBncm91cElkID0gdHJhY2suZ2V0U2V0dGlu
Z3MoKS5ncm91cElkOworICAgICAgICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVt
ZXJhdGVEZXZpY2VzKCkudGhlbihkZXZpY2VzID0+IHsKKyAgICAgICAgICB2YXIgYW5vdGhlckRl
dmljZSA9IGRldmljZXMuZmluZChkZXZpY2UgPT4geworICAgICAgICAgICAgcmV0dXJuIGRldmlj
ZS5raW5kID09ICJ2aWRlb2lucHV0IiAmJiBkZXZpY2UuZ3JvdXBJZCAhPSBncm91cElkOworICAg
ICAgICAgIH0pOworICAgICAgICAgIGlmIChhbm90aGVyRGV2aWNlICE9PSB1bmRlZmluZWQpIHsK
KyAgICAgICAgICAgIHJldHVybiB0cmFjay5hcHBseUNvbnN0cmFpbnRzKAorICAgICAgICAgICAg
ICB7IGdyb3VwSWQ6IHsgZXhhY3Q6IGFub3RoZXJEZXZpY2UuZ3JvdXBJZCB9IH0pLnRoZW4oCisg
ICAgICAgICAgICAgICAgdC51bnJlYWNoZWRfZnVuYygpLAorICAgICAgICAgICAgICAgIHQuc3Rl
cF9mdW5jKGUgPT4geworICAgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhlLm5hbWUsICdP
dmVyY29uc3RyYWluZWRFcnJvcicpOworICAgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhl
LmNvbnN0cmFpbnQsICdncm91cElkJyk7CisgICAgICAgICAgICAgICAgfSkpOworICAgICAgICAg
IH0KKyAgICAgICAgfSk7CisgICAgICB9KSk7CisgIH0sICdhcHBseUNvbnN0cmFpbnRzIHJlamVj
dHMgYXR0ZW1wdCB0byBzd2l0Y2ggZGV2aWNlIHVzaW5nIGdyb3VwSWQnKTsKKworICBwcm9taXNl
X3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgY29uc3Qgc3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1l
ZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoeyB2aWRlbzogdHJ1ZSB9KTsKKyAgICBjb25zdCBbdHJh
Y2tdID0gc3RyZWFtLmdldFZpZGVvVHJhY2tzKCk7CisgICAgdC5hZGRfY2xlYW51cCgoKSA9PiB0
cmFjay5zdG9wKCkpOworICAgIHRyeSB7CisgICAgICBhd2FpdCB0cmFjay5hcHBseUNvbnN0cmFp
bnRzKHsgcmVzaXplTW9kZTogeyBleGFjdDogIklOVkFMSUQiIH0gfSk7CisgICAgICB0LnVucmVh
Y2hlZF9mdW5jKCdhcHBseUNvbnN0cmFpbnRzKCkgbXVzdCBmYWlsIHdpdGggaW52YWxpZCByZXNp
emVNb2RlJykoKTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICBhc3NlcnRfZXF1YWxzKGUubmFt
ZSwgJ092ZXJjb25zdHJhaW5lZEVycm9yJyk7CisgICAgICBhc3NlcnRfZXF1YWxzKGUuY29uc3Ry
YWludCwgJ3Jlc2l6ZU1vZGUnKTsKKyAgICB9CisgIH0sICdhcHBseUNvbnN0cmFpbnRzIHJlamVj
dHMgaW52YWxpZCByZXNpemVNb2RlJyk7CisKKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewor
ICAgIGNvbnN0IHN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1l
ZGlhKHsgdmlkZW86IHRydWUgfSk7CisgICAgY29uc3QgW3RyYWNrXSA9IHN0cmVhbS5nZXRWaWRl
b1RyYWNrcygpOworICAgIHQuYWRkX2NsZWFudXAoKCkgPT4gdHJhY2suc3RvcCgpKTsKKyAgICBj
b25zdCByZXNpemVNb2RlID0gdHJhY2suZ2V0U2V0dGluZ3MoKS5yZXNpemVNb2RlOworICAgIGF3
YWl0IHRyYWNrLmFwcGx5Q29uc3RyYWludHMoeyByZXNpemVNb2RlOiAiSU5WQUxJRCIgfSk7Cisg
ICAgYXNzZXJ0X2VxdWFscyh0cmFjay5nZXRTZXR0aW5ncygpLnJlc2l6ZU1vZGUsIHJlc2l6ZU1v
ZGUpOworICB9LCAnYXBwbHlDb25zdHJhaW50cyBhY2NlcHRzIGludmFsaWQgaWRlYWwgcmVzaXpl
TW9kZSwgZG9lcyBub3QgY2hhbmdlIHNldHRpbmcnKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUt
c3RyZWFtcy9NZWRpYVN0cmVhbVRyYWNrLWVuZC1tYW51YWwuaHR0cHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUt
c3RyZWFtcy9NZWRpYVN0cmVhbVRyYWNrLWVuZC1tYW51YWwuaHR0cHMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDc2ZmNiMjY5MjE5NjgzM2I5NjA1MDE2YTY5ODQ4MTUwMGIwMGE1ZWEuLmIzMzk2NDY1YTFl
YzIzNjYzMWNjMDI3ZmI3ZWFhYzc2NTA4NzFhZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFT
dHJlYW1UcmFjay1lbmQtbWFudWFsLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01l
ZGlhU3RyZWFtVHJhY2stZW5kLW1hbnVhbC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTcsNSArNyw1
IEBAIFRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgdmlkZW8gYW5kIGF1ZGlvIHRyYWNrcyBvZiBN
ZWRpYVN0cmVhbSBvYmplY3QgcmV0dXJuZWQKIAogSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1l
c3NhZ2UgPSBudWxsCiAKLVRJTUVPVVQgVGVzdHMgdGhhdCB0aGUgdmlkZW8gTWVkaWFTdHJlYW1U
cmFjayBvYmplY3RzIGFyZSBwcm9wZXJseSBlbmRlZCBvbiBwZXJtaXNzaW9uIHJldm9jYXRpb24g
VGVzdCB0aW1lZCBvdXQKK1RJTUVPVVQgVGVzdHMgdGhhdCBNZWRpYVN0cmVhbVRyYWNrcyBlbmQg
cHJvcGVybHkgb24gcGVybWlzc2lvbiByZXZvY2F0aW9uIFRlc3QgdGltZWQgb3V0CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFj
YXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW1UcmFjay1lbmQtbWFudWFsLmh0dHBzLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1z
dHJlYW1zL01lZGlhU3RyZWFtVHJhY2stZW5kLW1hbnVhbC5odHRwcy5odG1sCmluZGV4IDM1MDBi
MDNiYzhjMDRiODc0YTc1MWEyYzA5YWNjYTE4NjA2NTljY2MuLmIyN2I0NTVkMTQ3YTc3YmRlODNh
ZjI2NzViMjM4MTBmYjVkM2ZjZmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW1UcmFj
ay1lbmQtbWFudWFsLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbVRyYWNrLWVu
ZC1tYW51YWwuaHR0cHMuaHRtbApAQCAtMTcsMjIgKzE3LDM0IEBAIGNvcnJlY3RseSBzZXQgaW50
byBpbmFjdGl2ZSBzdGF0ZSB3aGVuIHBlcm1pc3Npb24gaXMgcmV2b2tlZC48L3A+CiA8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9L3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KIDxzY3JpcHQ+Ci12YXIgdCA9
IGFzeW5jX3Rlc3QoIlRlc3RzIHRoYXQgdGhlIHZpZGVvIE1lZGlhU3RyZWFtVHJhY2sgb2JqZWN0
cyBhcmUgcHJvcGVybHkgZW5kZWQgb24gcGVybWlzc2lvbiByZXZvY2F0aW9uIiwge3RpbWVvdXQ6
IDIwMDAwfSk7IC8vIGxvbmdlciB0aW1lb3V0IHNpbmNlIHJlcXVpcmVzIHVzZXIgaW50ZXJhY3Rp
b24KLXQuc3RlcChmdW5jdGlvbiAoKSB7Ci0gIG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNl
ck1lZGlhKHthdWRpbzogdHJ1ZSx2aWRlbzogdHJ1ZX0pLnRoZW4odC5zdGVwX2Z1bmMoZnVuY3Rp
b24gKHN0cmVhbSkgewotICAgIHZhciB2aWRUcmFjayA9IHN0cmVhbS5nZXRWaWRlb1RyYWNrcygp
WzBdOwotICAgIGFzc2VydF9lcXVhbHModmlkVHJhY2sucmVhZHlTdGF0ZSwgImxpdmUiLCAiVGhl
IHZpZGVvIHRyYWNrIG9iamVjdCBpcyBpbiBsaXZlIHN0YXRlIik7Ci0gICAgdmFyIGF1ZFRyYWNr
ID0gc3RyZWFtLmdldEF1ZGlvVHJhY2tzKClbMF07Ci0gICAgYXNzZXJ0X2VxdWFscyhhdWRUcmFj
ay5yZWFkeVN0YXRlLCAibGl2ZSIsICJUaGUgYXVkaW8gdHJhY2sgb2JqZWN0IGlzIGluIGxpdmUg
c3RhdGUiKTsKLSAgICB2aWRUcmFjay5vbmVuZGVkID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24gKCkg
ewotICAgICAgICBhc3NlcnRfZXF1YWxzKHZpZFRyYWNrLnJlYWR5U3RhdGUsICJlbmRlZCIsICJW
aWRlbyB0cmFjayBoYXMgYmVlbiBlbmRlZCBhcyBleHBlY3RlZCIpOwotICAgICAgICBhc3NlcnRf
ZXF1YWxzKGF1ZFRyYWNrLnJlYWR5U3RhdGUsICJlbmRlZCIsICJBdWRpbyB0cmFjayBoYXMgYmVl
biBlbmRlZCBhcyBleHBlY3RlZCIpOwotICAgICAgICBhc3NlcnRfZmFsc2Uoc3RyZWFtLmFjdGl2
ZSwgIk1lZGlhU3RyZWFtIGhhcyBiZWVuIGluYWN0aXZlIGFzIGV4cGVjdGVkIik7Ci0gICAgICAg
IHQuZG9uZSgpOwotICAgICAgfSk7Ci0gICAgfSksIGZ1bmN0aW9uIChlcnJvcikge30KLSAgKTsK
LX0pOworJ3VzZSBzdHJpY3QnOworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBz
dHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7CisgICAg
YXVkaW86IHRydWUsCisgICAgdmlkZW86IHRydWUsCisgIH0pOworCisgIGNvbnN0IHZpZFRyYWNr
ID0gc3RyZWFtLmdldFZpZGVvVHJhY2tzKClbMF07CisgIGFzc2VydF9lcXVhbHModmlkVHJhY2su
cmVhZHlTdGF0ZSwgImxpdmUiLAorICAgICJUaGUgdmlkZW8gdHJhY2sgb2JqZWN0IGlzIGluIGxp
dmUgc3RhdGUiKTsKKyAgY29uc3QgdmlkRW5kZWQgPSBuZXcgUHJvbWlzZShyID0+IHZpZFRyYWNr
Lm9uZW5kZWQgPSByKTsKKyAgY29uc3QgYXVkVHJhY2sgPSBzdHJlYW0uZ2V0QXVkaW9UcmFja3Mo
KVswXTsKKyAgYXNzZXJ0X2VxdWFscyhhdWRUcmFjay5yZWFkeVN0YXRlLCAibGl2ZSIsCisgICAg
IlRoZSBhdWRpbyB0cmFjayBvYmplY3QgaXMgaW4gbGl2ZSBzdGF0ZSIpOworICBjb25zdCBhdWRF
bmRlZCA9IG5ldyBQcm9taXNlKHIgPT4gYXVkVHJhY2sub25lbmRlZCA9IHIpOworCisgIGF3YWl0
IFByb21pc2UucmFjZShbdmlkRW5kZWQsIGF1ZEVuZGVkXSk7CisgIGFzc2VydF9lcXVhbHMoc3Ry
ZWFtLmdldFRyYWNrcygpLmZpbHRlcih0ID0+IHQucmVhZHlTdGF0ZSA9PSAiZW5kZWQiKS5sZW5n
dGgsCisgICAgMSwgIk9ubHkgb25lIHRyYWNrIGlzIGVuZGVkIGFmdGVyIGZpcnN0IHRyYWNrJ3Mg
ZW5kZWQgZXZlbnQiKTsKKyAgYXNzZXJ0X2VxdWFscyhzdHJlYW0uZ2V0VHJhY2tzKCkuZmlsdGVy
KHQgPT4gdC5yZWFkeVN0YXRlID09ICJsaXZlIikubGVuZ3RoLAorICAgIDEsICJPbmUgdHJhY2sg
aXMgc3RpbGwgbGl2ZSBhZnRlciBmaXJzdCB0cmFjaydzIGVuZGVkIGV2ZW50Iik7CisgIGFzc2Vy
dF90cnVlKHN0cmVhbS5hY3RpdmUsICJNZWRpYVN0cmVhbSBpcyBzdGlsbCBhY3RpdmUiKTsKKwor
ICBhd2FpdCBQcm9taXNlLmFsbChbdmlkRW5kZWQsIGF1ZEVuZGVkXSk7CisgIGFzc2VydF9lcXVh
bHModmlkVHJhY2sucmVhZHlTdGF0ZSwgImVuZGVkIiwgIlZpZGVvIHRyYWNrIGVuZGVkIGFzIGV4
cGVjdGVkIik7CisgIGFzc2VydF9lcXVhbHMoYXVkVHJhY2sucmVhZHlTdGF0ZSwgImVuZGVkIiwg
IkF1ZGlvIHRyYWNrIGVuZGVkIGFzIGV4cGVjdGVkIik7CisgIGFzc2VydF9mYWxzZShzdHJlYW0u
YWN0aXZlLCAiTWVkaWFTdHJlYW0gaGFzIGJlY29tZSBpbmFjdGl2ZSBhcyBleHBlY3RlZCIpOwor
fSwgIlRlc3RzIHRoYXQgTWVkaWFTdHJlYW1UcmFja3MgZW5kIHByb3Blcmx5IG9uIHBlcm1pc3Np
b24gcmV2b2NhdGlvbiIpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVy
ZS1zdHJlYW1zL01lZGlhU3RyZWFtVHJhY2stZ2V0Q2FwYWJpbGl0aWVzLmh0dHBzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFj
YXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW1UcmFjay1nZXRDYXBhYmlsaXRpZXMuaHR0cHMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5OWE1MzU4ZWVjYTkyYmI3ZDc1ZDUxMGQxZDJkODhjMDE3
ODFiZDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtVHJhY2stZ2V0Q2Fw
YWJpbGl0aWVzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcyIEBACisKK1BBU1MgU2V0
dXAgYXVkaW8gTWVkaWFTdHJlYW1UcmFjayBnZXRDYXBhYmlsaXRpZXMoKSB0ZXN0IGZvciBzYW1w
bGVSYXRlIAorUEFTUyBTZXR1cCBhdWRpbyBNZWRpYVN0cmVhbVRyYWNrIGdldENhcGFiaWxpdGll
cygpIHRlc3QgZm9yIHNhbXBsZVNpemUgCitQQVNTIFNldHVwIGF1ZGlvIE1lZGlhU3RyZWFtVHJh
Y2sgZ2V0Q2FwYWJpbGl0aWVzKCkgdGVzdCBmb3IgZWNob0NhbmNlbGxhdGlvbiAKK1BBU1MgU2V0
dXAgYXVkaW8gTWVkaWFTdHJlYW1UcmFjayBnZXRDYXBhYmlsaXRpZXMoKSB0ZXN0IGZvciBhdXRv
R2FpbkNvbnRyb2wgCitQQVNTIFNldHVwIGF1ZGlvIE1lZGlhU3RyZWFtVHJhY2sgZ2V0Q2FwYWJp
bGl0aWVzKCkgdGVzdCBmb3Igbm9pc2VTdXBwcmVzc2lvbiAKK1BBU1MgU2V0dXAgYXVkaW8gTWVk
aWFTdHJlYW1UcmFjayBnZXRDYXBhYmlsaXRpZXMoKSB0ZXN0IGZvciBsYXRlbmN5IAorUEFTUyBT
ZXR1cCBhdWRpbyBNZWRpYVN0cmVhbVRyYWNrIGdldENhcGFiaWxpdGllcygpIHRlc3QgZm9yIGNo
YW5uZWxDb3VudCAKK1BBU1MgU2V0dXAgYXVkaW8gTWVkaWFTdHJlYW1UcmFjayBnZXRDYXBhYmls
aXRpZXMoKSB0ZXN0IGZvciBkZXZpY2VJZCAKK1BBU1MgU2V0dXAgYXVkaW8gTWVkaWFTdHJlYW1U
cmFjayBnZXRDYXBhYmlsaXRpZXMoKSB0ZXN0IGZvciBncm91cElkIAorUEFTUyBTZXR1cCB2aWRl
byBNZWRpYVN0cmVhbVRyYWNrIGdldENhcGFiaWxpdGllcygpIHRlc3QgZm9yIHdpZHRoIAorUEFT
UyBTZXR1cCB2aWRlbyBNZWRpYVN0cmVhbVRyYWNrIGdldENhcGFiaWxpdGllcygpIHRlc3QgZm9y
IGhlaWdodCAKK1BBU1MgU2V0dXAgdmlkZW8gTWVkaWFTdHJlYW1UcmFjayBnZXRDYXBhYmlsaXRp
ZXMoKSB0ZXN0IGZvciBhc3BlY3RSYXRpbyAKK1BBU1MgU2V0dXAgdmlkZW8gTWVkaWFTdHJlYW1U
cmFjayBnZXRDYXBhYmlsaXRpZXMoKSB0ZXN0IGZvciBmcmFtZVJhdGUgCitQQVNTIFNldHVwIHZp
ZGVvIE1lZGlhU3RyZWFtVHJhY2sgZ2V0Q2FwYWJpbGl0aWVzKCkgdGVzdCBmb3IgZmFjaW5nTW9k
ZSAKK1BBU1MgU2V0dXAgdmlkZW8gTWVkaWFTdHJlYW1UcmFjayBnZXRDYXBhYmlsaXRpZXMoKSB0
ZXN0IGZvciByZXNpemVNb2RlIAorUEFTUyBTZXR1cCB2aWRlbyBNZWRpYVN0cmVhbVRyYWNrIGdl
dENhcGFiaWxpdGllcygpIHRlc3QgZm9yIGRldmljZUlkIAorUEFTUyBTZXR1cCB2aWRlbyBNZWRp
YVN0cmVhbVRyYWNrIGdldENhcGFiaWxpdGllcygpIHRlc3QgZm9yIGdyb3VwSWQgCitGQUlMIFNl
dHVwIGF1ZGlvIElucHV0RGV2aWNlSW5mbyBnZXRDYXBhYmlsaXRpZXMoKSB0ZXN0IGZvciBzYW1w
bGVSYXRlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgImdldENhcGFiaWxpdGllcyIgbm90IGZv
dW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBTZXR1cCBhdWRpbyBJbnB1dERldmljZUluZm8g
Z2V0Q2FwYWJpbGl0aWVzKCkgdGVzdCBmb3Igc2FtcGxlU2l6ZSBhc3NlcnRfaW5oZXJpdHM6IHBy
b3BlcnR5ICJnZXRDYXBhYmlsaXRpZXMiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZB
SUwgU2V0dXAgYXVkaW8gSW5wdXREZXZpY2VJbmZvIGdldENhcGFiaWxpdGllcygpIHRlc3QgZm9y
IGVjaG9DYW5jZWxsYXRpb24gYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiZ2V0Q2FwYWJpbGl0
aWVzIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitGQUlMIFNldHVwIGF1ZGlvIElucHV0
RGV2aWNlSW5mbyBnZXRDYXBhYmlsaXRpZXMoKSB0ZXN0IGZvciBhdXRvR2FpbkNvbnRyb2wgYXNz
ZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiZ2V0Q2FwYWJpbGl0aWVzIiBub3QgZm91bmQgaW4gcHJv
dG90eXBlIGNoYWluCitGQUlMIFNldHVwIGF1ZGlvIElucHV0RGV2aWNlSW5mbyBnZXRDYXBhYmls
aXRpZXMoKSB0ZXN0IGZvciBub2lzZVN1cHByZXNzaW9uIGFzc2VydF9pbmhlcml0czogcHJvcGVy
dHkgImdldENhcGFiaWxpdGllcyIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBT
ZXR1cCBhdWRpbyBJbnB1dERldmljZUluZm8gZ2V0Q2FwYWJpbGl0aWVzKCkgdGVzdCBmb3IgbGF0
ZW5jeSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJnZXRDYXBhYmlsaXRpZXMiIG5vdCBmb3Vu
ZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwgU2V0dXAgYXVkaW8gSW5wdXREZXZpY2VJbmZvIGdl
dENhcGFiaWxpdGllcygpIHRlc3QgZm9yIGNoYW5uZWxDb3VudCBhc3NlcnRfaW5oZXJpdHM6IHBy
b3BlcnR5ICJnZXRDYXBhYmlsaXRpZXMiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZB
SUwgU2V0dXAgYXVkaW8gSW5wdXREZXZpY2VJbmZvIGdldENhcGFiaWxpdGllcygpIHRlc3QgZm9y
IGRldmljZUlkIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgImdldENhcGFiaWxpdGllcyIgbm90
IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBTZXR1cCBhdWRpbyBJbnB1dERldmljZUlu
Zm8gZ2V0Q2FwYWJpbGl0aWVzKCkgdGVzdCBmb3IgZ3JvdXBJZCBhc3NlcnRfaW5oZXJpdHM6IHBy
b3BlcnR5ICJnZXRDYXBhYmlsaXRpZXMiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZB
SUwgU2V0dXAgdmlkZW8gSW5wdXREZXZpY2VJbmZvIGdldENhcGFiaWxpdGllcygpIHRlc3QgZm9y
IHdpZHRoIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgImdldENhcGFiaWxpdGllcyIgbm90IGZv
dW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBTZXR1cCB2aWRlbyBJbnB1dERldmljZUluZm8g
Z2V0Q2FwYWJpbGl0aWVzKCkgdGVzdCBmb3IgaGVpZ2h0IGFzc2VydF9pbmhlcml0czogcHJvcGVy
dHkgImdldENhcGFiaWxpdGllcyIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBT
ZXR1cCB2aWRlbyBJbnB1dERldmljZUluZm8gZ2V0Q2FwYWJpbGl0aWVzKCkgdGVzdCBmb3IgYXNw
ZWN0UmF0aW8gYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiZ2V0Q2FwYWJpbGl0aWVzIiBub3Qg
Zm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitGQUlMIFNldHVwIHZpZGVvIElucHV0RGV2aWNlSW5m
byBnZXRDYXBhYmlsaXRpZXMoKSB0ZXN0IGZvciBmcmFtZVJhdGUgYXNzZXJ0X2luaGVyaXRzOiBw
cm9wZXJ0eSAiZ2V0Q2FwYWJpbGl0aWVzIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitG
QUlMIFNldHVwIHZpZGVvIElucHV0RGV2aWNlSW5mbyBnZXRDYXBhYmlsaXRpZXMoKSB0ZXN0IGZv
ciBmYWNpbmdNb2RlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgImdldENhcGFiaWxpdGllcyIg
bm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBTZXR1cCB2aWRlbyBJbnB1dERldmlj
ZUluZm8gZ2V0Q2FwYWJpbGl0aWVzKCkgdGVzdCBmb3IgcmVzaXplTW9kZSBhc3NlcnRfaW5oZXJp
dHM6IHByb3BlcnR5ICJnZXRDYXBhYmlsaXRpZXMiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hh
aW4KK0ZBSUwgU2V0dXAgdmlkZW8gSW5wdXREZXZpY2VJbmZvIGdldENhcGFiaWxpdGllcygpIHRl
c3QgZm9yIGRldmljZUlkIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgImdldENhcGFiaWxpdGll
cyIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBTZXR1cCB2aWRlbyBJbnB1dERl
dmljZUluZm8gZ2V0Q2FwYWJpbGl0aWVzKCkgdGVzdCBmb3IgZ3JvdXBJZCBhc3NlcnRfaW5oZXJp
dHM6IHByb3BlcnR5ICJnZXRDYXBhYmlsaXRpZXMiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hh
aW4KK1BBU1MgQXVkaW8gdHJhY2sgZ2V0Q2FwYWJpbGl0aWVzKCkgc2FtcGxlUmF0ZSBwcm9wZXJ0
eSBwcmVzZW50LiAKK1BBU1MgQXVkaW8gdHJhY2sgZ2V0Q2FwYWJpbGl0aWVzKCkgc2FtcGxlUmF0
ZSBwcm9wZXJseSBzdXBwb3J0ZWQuIAorRkFJTCBBdWRpbyB0cmFjayBnZXRDYXBhYmlsaXRpZXMo
KSBzYW1wbGVTaXplIHByb3BlcnR5IHByZXNlbnQuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQorRkFJTCBBdWRpbyB0cmFjayBnZXRDYXBhYmlsaXRpZXMoKSBzYW1wbGVTaXpl
IHByb3Blcmx5IHN1cHBvcnRlZC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm9iamVjdCIgYnV0
IGdvdCAidW5kZWZpbmVkIgorUEFTUyBBdWRpbyB0cmFjayBnZXRDYXBhYmlsaXRpZXMoKSBlY2hv
Q2FuY2VsbGF0aW9uIHByb3BlcnR5IHByZXNlbnQuIAorUEFTUyBBdWRpbyB0cmFjayBnZXRDYXBh
YmlsaXRpZXMoKSBlY2hvQ2FuY2VsbGF0aW9uIHByb3Blcmx5IHN1cHBvcnRlZC4gCitGQUlMIEF1
ZGlvIHRyYWNrIGdldENhcGFiaWxpdGllcygpIGF1dG9HYWluQ29udHJvbCBwcm9wZXJ0eSBwcmVz
ZW50LiBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgQXVkaW8gdHJh
Y2sgZ2V0Q2FwYWJpbGl0aWVzKCkgYXV0b0dhaW5Db250cm9sIHByb3Blcmx5IHN1cHBvcnRlZC4g
dW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2NhcGFiaWxpdHkubGVuZ3Ro
JykKK0ZBSUwgQXVkaW8gdHJhY2sgZ2V0Q2FwYWJpbGl0aWVzKCkgbm9pc2VTdXBwcmVzc2lvbiBw
cm9wZXJ0eSBwcmVzZW50LiBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZB
SUwgQXVkaW8gdHJhY2sgZ2V0Q2FwYWJpbGl0aWVzKCkgbm9pc2VTdXBwcmVzc2lvbiBwcm9wZXJs
eSBzdXBwb3J0ZWQuIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdjYXBh
YmlsaXR5Lmxlbmd0aCcpCitGQUlMIEF1ZGlvIHRyYWNrIGdldENhcGFiaWxpdGllcygpIGxhdGVu
Y3kgcHJvcGVydHkgcHJlc2VudC4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
CitGQUlMIEF1ZGlvIHRyYWNrIGdldENhcGFiaWxpdGllcygpIGxhdGVuY3kgcHJvcGVybHkgc3Vw
cG9ydGVkLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmlu
ZWQiCitGQUlMIEF1ZGlvIHRyYWNrIGdldENhcGFiaWxpdGllcygpIGNoYW5uZWxDb3VudCBwcm9w
ZXJ0eSBwcmVzZW50LiBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwg
QXVkaW8gdHJhY2sgZ2V0Q2FwYWJpbGl0aWVzKCkgY2hhbm5lbENvdW50IHByb3Blcmx5IHN1cHBv
cnRlZC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVk
IgorUEFTUyBBdWRpbyB0cmFjayBnZXRDYXBhYmlsaXRpZXMoKSBkZXZpY2VJZCBwcm9wZXJ0eSBw
cmVzZW50LiAKK1BBU1MgQXVkaW8gdHJhY2sgZ2V0Q2FwYWJpbGl0aWVzKCkgZGV2aWNlSWQgcHJv
cGVybHkgc3VwcG9ydGVkLiAKK0ZBSUwgQXVkaW8gdHJhY2sgZ2V0Q2FwYWJpbGl0aWVzKCkgZ3Jv
dXBJZCBwcm9wZXJ0eSBwcmVzZW50LiBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKK0ZBSUwgQXVkaW8gdHJhY2sgZ2V0Q2FwYWJpbGl0aWVzKCkgZ3JvdXBJZCBwcm9wZXJseSBz
dXBwb3J0ZWQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzdHJpbmciIGJ1dCBnb3QgInVuZGVm
aW5lZCIKK1BBU1MgVmlkZW8gdHJhY2sgZ2V0Q2FwYWJpbGl0aWVzKCkgd2lkdGggcHJvcGVydHkg
cHJlc2VudC4gCitQQVNTIFZpZGVvIHRyYWNrIGdldENhcGFiaWxpdGllcygpIHdpZHRoIHByb3Bl
cmx5IHN1cHBvcnRlZC4gCitQQVNTIFZpZGVvIHRyYWNrIGdldENhcGFiaWxpdGllcygpIGhlaWdo
dCBwcm9wZXJ0eSBwcmVzZW50LiAKK1BBU1MgVmlkZW8gdHJhY2sgZ2V0Q2FwYWJpbGl0aWVzKCkg
aGVpZ2h0IHByb3Blcmx5IHN1cHBvcnRlZC4gCitQQVNTIFZpZGVvIHRyYWNrIGdldENhcGFiaWxp
dGllcygpIGFzcGVjdFJhdGlvIHByb3BlcnR5IHByZXNlbnQuIAorUEFTUyBWaWRlbyB0cmFjayBn
ZXRDYXBhYmlsaXRpZXMoKSBhc3BlY3RSYXRpbyBwcm9wZXJseSBzdXBwb3J0ZWQuIAorUEFTUyBW
aWRlbyB0cmFjayBnZXRDYXBhYmlsaXRpZXMoKSBmcmFtZVJhdGUgcHJvcGVydHkgcHJlc2VudC4g
CitQQVNTIFZpZGVvIHRyYWNrIGdldENhcGFiaWxpdGllcygpIGZyYW1lUmF0ZSBwcm9wZXJseSBz
dXBwb3J0ZWQuIAorUEFTUyBWaWRlbyB0cmFjayBnZXRDYXBhYmlsaXRpZXMoKSBmYWNpbmdNb2Rl
IHByb3BlcnR5IHByZXNlbnQuIAorUEFTUyBWaWRlbyB0cmFjayBnZXRDYXBhYmlsaXRpZXMoKSBm
YWNpbmdNb2RlIHByb3Blcmx5IHN1cHBvcnRlZC4gCitGQUlMIFZpZGVvIHRyYWNrIGdldENhcGFi
aWxpdGllcygpIHJlc2l6ZU1vZGUgcHJvcGVydHkgcHJlc2VudC4gYXNzZXJ0X3RydWU6IGV4cGVj
dGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFZpZGVvIHRyYWNrIGdldENhcGFiaWxpdGllcygpIHJl
c2l6ZU1vZGUgcHJvcGVybHkgc3VwcG9ydGVkLiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAo
ZXZhbHVhdGluZyAnY2FwYWJpbGl0eS5mb3JFYWNoJykKK0ZBSUwgVmlkZW8gdHJhY2sgZ2V0Q2Fw
YWJpbGl0aWVzKCkgcmVzaXplTW9kZSBwcm9wZXJseSBzdXBwb3J0ZWQuIFZhbHVlOiBub25lIHVu
ZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdleHBlY3RlZC5pbmRleE9mJykK
K0ZBSUwgVmlkZW8gdHJhY2sgZ2V0Q2FwYWJpbGl0aWVzKCkgcmVzaXplTW9kZSBwcm9wZXJseSBz
dXBwb3J0ZWQuIFZhbHVlOiBjcm9wLWFuZC1zY2FsZSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVj
dCAoZXZhbHVhdGluZyAnZXhwZWN0ZWQuaW5kZXhPZicpCitQQVNTIFZpZGVvIHRyYWNrIGdldENh
cGFiaWxpdGllcygpIGRldmljZUlkIHByb3BlcnR5IHByZXNlbnQuIAorUEFTUyBWaWRlbyB0cmFj
ayBnZXRDYXBhYmlsaXRpZXMoKSBkZXZpY2VJZCBwcm9wZXJseSBzdXBwb3J0ZWQuIAorRkFJTCBW
aWRlbyB0cmFjayBnZXRDYXBhYmlsaXRpZXMoKSBncm91cElkIHByb3BlcnR5IHByZXNlbnQuIGFz
c2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBWaWRlbyB0cmFjayBnZXRD
YXBhYmlsaXRpZXMoKSBncm91cElkIHByb3Blcmx5IHN1cHBvcnRlZC4gYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgInN0cmluZyIgYnV0IGdvdCAidW5kZWZpbmVkIgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJl
YW1zL01lZGlhU3RyZWFtVHJhY2stZ2V0Q2FwYWJpbGl0aWVzLmh0dHBzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1z
L01lZGlhU3RyZWFtVHJhY2stZ2V0Q2FwYWJpbGl0aWVzLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjMzNDUxNDc3NDRlZGM3OWQwZGJjYTNmZjgzOTFkNjY3ZGJhN2MzZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0
dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW1UcmFjay1nZXRDYXBhYmlsaXRpZXMuaHR0cHMuaHRtbApA
QCAtMCwwICsxLDE0OSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+TWVkaWFTdHJlYW1UcmFj
ayBhbmQgSW5wdXREZXZpY2VJbmZvIEdldENhcGFiaWxpdGllczwvdGl0bGU+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2NvbnN0IGF1
ZGlvUHJvcGVydGllcyA9IFsKKyAge25hbWU6ICJzYW1wbGVSYXRlIiwgdHlwZTogIm51bWJlciJ9
LAorICB7bmFtZTogInNhbXBsZVNpemUiLCB0eXBlOiAibnVtYmVyIn0sCisgIHtuYW1lOiAiZWNo
b0NhbmNlbGxhdGlvbiIsIHR5cGU6ICJib29sZWFuIn0sCisgIHtuYW1lOiAiYXV0b0dhaW5Db250
cm9sIiwgdHlwZTogImJvb2xlYW4ifSwKKyAge25hbWU6ICJub2lzZVN1cHByZXNzaW9uIiwgdHlw
ZTogImJvb2xlYW4ifSwKKyAge25hbWU6ICJsYXRlbmN5IiwgdHlwZTogIm51bWJlciJ9LAorICB7
bmFtZTogImNoYW5uZWxDb3VudCIsIHR5cGU6ICJudW1iZXIifSwKKyAge25hbWU6ICJkZXZpY2VJ
ZCIsIHR5cGU6ICJzdHJpbmcifSwKKyAge25hbWU6ICJncm91cElkIiwgdHlwZTogInN0cmluZyJ9
CitdOworCitjb25zdCB2aWRlb1Byb3BlcnRpZXMgPSBbCisgIHtuYW1lOiAid2lkdGgiLCB0eXBl
OiAibnVtYmVyIn0sCisgIHtuYW1lOiAiaGVpZ2h0IiwgdHlwZTogIm51bWJlciJ9LAorICB7bmFt
ZTogImFzcGVjdFJhdGlvIiwgdHlwZTogIm51bWJlciJ9LAorICB7bmFtZTogImZyYW1lUmF0ZSIs
IHR5cGU6ICJudW1iZXIifSwKKyAge25hbWU6ICJmYWNpbmdNb2RlIiwgdHlwZTogImVudW0tYW55
IiwgdmFsaWRWYWx1ZXM6IFsidXNlciIsICJlbnZpcm9ubWVudCIsICJsZWZ0IiwgInJpZ2h0Il19
LAorICB7bmFtZTogInJlc2l6ZU1vZGUiLCB0eXBlOiAiZW51bS1hbGwiLCB2YWxpZFZhbHVlczog
WyJub25lIiwgImNyb3AtYW5kLXNjYWxlIl19LAorICB7bmFtZTogImRldmljZUlkIiwgdHlwZTog
InN0cmluZyJ9LAorICB7bmFtZTogImdyb3VwSWQiLCB0eXBlOiAic3RyaW5nIn0sCitdOworCitm
dW5jdGlvbiB2ZXJpZnlCb29sZWFuQ2FwYWJpbGl0eShjYXBhYmlsaXR5KSB7CisgIGFzc2VydF9s
ZXNzX3RoYW5fZXF1YWwoY2FwYWJpbGl0eS5sZW5ndGgsIDIpOworICBjYXBhYmlsaXR5LmZvckVh
Y2goYyA9PiBhc3NlcnRfZXF1YWxzKHR5cGVvZiBjLCAiYm9vbGVhbiIpKTsKK30KKworZnVuY3Rp
b24gdmVyaWZ5TnVtYmVyQ2FwYWJpbGl0eShjYXBhYmlsaXR5KSB7CisgICAgYXNzZXJ0X2VxdWFs
cyh0eXBlb2YgY2FwYWJpbGl0eSwgIm9iamVjdCIpOworICAgIGFzc2VydF9lcXVhbHMoT2JqZWN0
LmtleXMoY2FwYWJpbGl0eSkubGVuZ3RoLCAyKTsKKyAgICBhc3NlcnRfdHJ1ZShjYXBhYmlsaXR5
Lmhhc093blByb3BlcnR5KCdtaW4nKSk7CisgICAgYXNzZXJ0X3RydWUoY2FwYWJpbGl0eS5oYXNP
d25Qcm9wZXJ0eSgnbWF4JykpOworICAgIGFzc2VydF9sZXNzX3RoYW5fZXF1YWwoY2FwYWJpbGl0
eS5taW4sIGNhcGFiaWxpdHkubWF4KTsKK30KKworLy8gVmVyaWZ5IHRoYXQgYW55IHZhbHVlIHBy
b3ZpZGVkIGJ5IGFuIGVudW0gY2FwYWJpbGl0eSBpcyBpbiB0aGUgc2V0IG9mIHZhbGlkCisvLyB2
YWx1ZXMuCitmdW5jdGlvbiB2ZXJpZnlFbnVtQW55Q2FwYWJpbGl0eShjYXBhYmlsaXR5LCBlbnVt
TWVtYmVycykgeworICBjYXBhYmlsaXR5LmZvckVhY2goYyA9PiB7CisgICAgYXNzZXJ0X2VxdWFs
cyh0eXBlb2YgYywgInN0cmluZyIpOworICAgIGFzc2VydF9pbl9hcnJheShjLCBlbnVtTWVtYmVy
cyk7CisgIH0pOworfQorCisvLyBWZXJpZnkgdGhhdCBhbGwgcmVxdWlyZWQgdmFsdWVzIGFyZSBz
dXBwb3J0ZWQgYnkgYSBjYXBhYmlsaXR5LgorZnVuY3Rpb24gdmVyaWZ5RW51bUFsbENhcGFiaWxp
dHkoY2FwYWJpbGl0eSwgZW51bU1lbWJlcnMsIHRlc3ROYW1lUHJlZml4KSB7CisgIGVudW1NZW1i
ZXJzLmZvckVhY2gobWVtYmVyID0+IHsKKyAgICB0ZXN0KCgpID0+IHsKKyAgICAgIGFzc2VydF9p
bl9hcnJheShtZW1iZXIsIGNhcGFiaWxpdHkpOworICAgIH0sIHRlc3ROYW1lUHJlZml4ICsgIiBW
YWx1ZTogIiArIG1lbWJlcik7CisgIH0pOworfQorCitmdW5jdGlvbiB0ZXN0Q2FwYWJpbGl0aWVz
KGNhcGFiaWxpdGllcywgcHJvcGVydHksIHRlc3ROYW1lUHJlZml4KSB7CisgIGxldCB0ZXN0TmFt
ZSA9IHRlc3ROYW1lUHJlZml4ICsgIiAiICsgcHJvcGVydHkubmFtZTsKKyAgdGVzdCgoKSA9PiB7
CisgICAgYXNzZXJ0X3RydWUoY2FwYWJpbGl0aWVzLmhhc093blByb3BlcnR5KHByb3BlcnR5Lm5h
bWUpKTsKKyAgfSwgdGVzdE5hbWUgKyAiIHByb3BlcnR5IHByZXNlbnQuIik7CisKKyAgY29uc3Qg
Y2FwYWJpbGl0eSA9IGNhcGFiaWxpdGllc1twcm9wZXJ0eS5uYW1lXTsKKyAgdGVzdE5hbWUgKz0g
IiBwcm9wZXJseSBzdXBwb3J0ZWQuIjsKKyAgaWYgKHByb3BlcnR5LnR5cGUgPT0gInN0cmluZyIp
IHsKKyAgICB0ZXN0KCgpID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGNhcGFiaWxp
dHksICJzdHJpbmciKTsKKyAgICB9LCB0ZXN0TmFtZSk7CisgIH0KKworICBpZiAocHJvcGVydHku
dHlwZSA9PSAiYm9vbGVhbiIpIHsKKyAgICB0ZXN0KCgpID0+IHsKKyAgICAgIHZlcmlmeUJvb2xl
YW5DYXBhYmlsaXR5KGNhcGFiaWxpdHkpOworICAgIH0sIHRlc3ROYW1lKTsKKyAgfQorCisgIGlm
IChwcm9wZXJ0eS50eXBlID09ICJudW1iZXIiKSB7CisgICAgdGVzdCgoKSA9PiB7CisgICAgICB2
ZXJpZnlOdW1iZXJDYXBhYmlsaXR5KGNhcGFiaWxpdHkpOworICAgIH0sIHRlc3ROYW1lKTsKKyAg
fQorCisgIGlmIChwcm9wZXJ0eS50eXBlLnN0YXJ0c1dpdGgoImVudW0iKSkgeworICAgIHRlc3Qo
KCkgPT4geworICAgICAgdmVyaWZ5RW51bUFueUNhcGFiaWxpdHkoY2FwYWJpbGl0eSwgcHJvcGVy
dHkudmFsaWRWYWx1ZXMpOworICAgIH0sIHRlc3ROYW1lKTsKKworICAgIGlmIChwcm9wZXJ0eS50
eXBlID09ICJlbnVtLWFsbCIpIHsKKyAgICAgIHZlcmlmeUVudW1BbGxDYXBhYmlsaXR5KGNhcGFi
aWxpdHksIHByb3BlcnR5LnZhbGlkVmFsdWVzLCB0ZXN0TmFtZSk7CisgICAgfQorICB9Cit9CisK
K3sKKyAgYXVkaW9Qcm9wZXJ0aWVzLmZvckVhY2gocHJvcGVydHkgPT4geworICAgIHByb21pc2Vf
dGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGNvbnN0IHN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5t
ZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHthdWRpbzogdHJ1ZX0pOworICAgICAgdC5hZGRfY2xl
YW51cCgoKSA9PiBzdHJlYW0uZ2V0QXVkaW9UcmFja3MoKVswXS5zdG9wKCkpOworICAgICAgY29u
c3QgYXVkaW9DYXBhYmlsaXRpZXMgPSBzdHJlYW0uZ2V0QXVkaW9UcmFja3MoKVswXS5nZXRDYXBh
YmlsaXRpZXMoKTsKKyAgICAgIHRlc3RDYXBhYmlsaXRpZXMoYXVkaW9DYXBhYmlsaXRpZXMsIHBy
b3BlcnR5LCAiQXVkaW8gdHJhY2sgZ2V0Q2FwYWJpbGl0aWVzKCkiKTsKKyAgICB9LCAiU2V0dXAg
YXVkaW8gTWVkaWFTdHJlYW1UcmFjayBnZXRDYXBhYmlsaXRpZXMoKSB0ZXN0IGZvciAiICsgcHJv
cGVydHkubmFtZSk7CisgIH0pOworCisgIHZpZGVvUHJvcGVydGllcy5mb3JFYWNoKHByb3BlcnR5
ID0+IHsKKyAgICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICBjb25zdCBzdHJlYW0g
PSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7dmlkZW86IHRydWV9
KTsKKyAgICAgIHQuYWRkX2NsZWFudXAoKCkgPT4gc3RyZWFtLmdldFZpZGVvVHJhY2tzKClbMF0u
c3RvcCgpKTsKKyAgICAgIGNvbnN0IGF1ZGlvQ2FwYWJpbGl0aWVzID0gc3RyZWFtLmdldFZpZGVv
VHJhY2tzKClbMF0uZ2V0Q2FwYWJpbGl0aWVzKCk7CisgICAgICB0ZXN0Q2FwYWJpbGl0aWVzKGF1
ZGlvQ2FwYWJpbGl0aWVzLCBwcm9wZXJ0eSwgIlZpZGVvIHRyYWNrIGdldENhcGFiaWxpdGllcygp
Iik7CisgICAgfSwgIlNldHVwIHZpZGVvIE1lZGlhU3RyZWFtVHJhY2sgZ2V0Q2FwYWJpbGl0aWVz
KCkgdGVzdCBmb3IgIiArIHByb3BlcnR5Lm5hbWUpOworICB9KTsKK30KKworeworICBhdWRpb1By
b3BlcnRpZXMuZm9yRWFjaChwcm9wZXJ0eSA9PiB7CisgICAgcHJvbWlzZV90ZXN0KGFzeW5jIHQg
PT4geworICAgICAgY29uc3QgZGV2aWNlcyA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMu
ZW51bWVyYXRlRGV2aWNlcygpOworICAgICAgZm9yIChjb25zdCBkZXZpY2Ugb2YgZGV2aWNlcykg
eworICAgICAgICAvLyBUZXN0IG9ubHkgb25lIGRldmljZS4KKyAgICAgICAgaWYgKGRldmljZS5r
aW5kID09ICJhdWRpb2lucHV0IikgeworICAgICAgICAgIGFzc2VydF9pbmhlcml0cyhkZXZpY2Us
ICJnZXRDYXBhYmlsaXRpZXMiKTsKKyAgICAgICAgICBjb25zdCBjYXBhYmlsaXRpZXMgPSBkZXZp
Y2UuZ2V0Q2FwYWJpbGl0aWVzKCk7CisgICAgICAgICAgdGVzdENhcGFiaWxpdGllcyhjYXBhYmls
aXRpZXMsIHByb3BlcnR5LCAiQXVkaW8gZGV2aWNlIGdldENhcGFiaWxpdGllcygpIik7CisgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9LCAiU2V0dXAgYXVkaW8gSW5w
dXREZXZpY2VJbmZvIGdldENhcGFiaWxpdGllcygpIHRlc3QgZm9yICIgKyBwcm9wZXJ0eS5uYW1l
KTsKKyAgfSk7CisKKyAgdmlkZW9Qcm9wZXJ0aWVzLmZvckVhY2gocHJvcGVydHkgPT4geworICAg
IHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgIGNvbnN0IGRldmljZXMgPSBhd2FpdCBu
YXZpZ2F0b3IubWVkaWFEZXZpY2VzLmVudW1lcmF0ZURldmljZXMoKTsKKyAgICAgIGZvciAoY29u
c3QgZGV2aWNlIG9mIGRldmljZXMpIHsKKyAgICAgICAgLy8gVGVzdCBvbmx5IG9uZSBkZXZpY2Uu
CisgICAgICAgIGlmIChkZXZpY2Uua2luZCA9PSAidmlkZW9pbnB1dCIpIHsKKyAgICAgICAgICBh
c3NlcnRfaW5oZXJpdHMoZGV2aWNlLCAiZ2V0Q2FwYWJpbGl0aWVzIik7CisgICAgICAgICAgY29u
c3QgY2FwYWJpbGl0aWVzID0gZGV2aWNlLmdldENhcGFiaWxpdGllcygpOworICAgICAgICAgIHRl
c3RDYXBhYmlsaXRpZXMoY2FwYWJpbGl0aWVzLCBwcm9wZXJ0eSwgIlZpZGVvIGRldmljZSBnZXRD
YXBhYmlsaXRpZXMoKSIpOworICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICB9Cisg
ICAgfSwgIlNldHVwIHZpZGVvIElucHV0RGV2aWNlSW5mbyBnZXRDYXBhYmlsaXRpZXMoKSB0ZXN0
IGZvciAiICsgcHJvcGVydHkubmFtZSk7CisgIH0pOworfQorPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVy
ZS1zdHJlYW1zL01lZGlhU3RyZWFtVHJhY2stZ2V0U2V0dGluZ3MuaHR0cHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1
cmUtc3RyZWFtcy9NZWRpYVN0cmVhbVRyYWNrLWdldFNldHRpbmdzLmh0dHBzLWV4cGVjdGVkLnR4
dAppbmRleCBmYTA1YzNlNjJiYzVjMDAyODQzZjg1OWNjOGJmNGMwNGY1NmUxNjQ5Li4wNWJjYTM1
NWU2Nzg5MmJiZGRlYzk3ODJlMWNkYWY4ZTY3ZGE4MWJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01l
ZGlhU3RyZWFtVHJhY2stZ2V0U2V0dGluZ3MuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVh
bXMvTWVkaWFTdHJlYW1UcmFjay1nZXRTZXR0aW5ncy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTIs
NSArMiwyMyBAQCBXaGVuIHByb21wdGVkLCBhY2NlcHQgdG8gc2hhcmUgeW91ciB2aWRlbyBzdHJl
YW0uCiAKIAogUEFTUyBBIGRldmljZSBjYW4gYmUgb3BlbmVkIHR3aWNlIGFuZCBoYXZlIHRoZSBz
YW1lIGRldmljZSBJRCAKLVBBU1MgQSBkZXZpY2UgY2FuIGJlIG9wZW5lZCB0d2ljZSB3aXRoIGRp
ZmZlcmVudCByZXNvbHV0aW9ucyAKK1BBU1MgQSBkZXZpY2UgY2FuIGJlIG9wZW5lZCB0d2ljZSB3
aXRoIGRpZmZlcmVudCByZXNvbHV0aW9ucyByZXF1ZXN0ZWQgCitGQUlMIGdyb3VwSWQgaXMgY29y
cmVjdGx5IHJlcG9ydGVkIGJ5IGdldFNldHRpbmdzKCkgZm9yIGFsbCBpbnB1dCBkZXZpY2VzIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICIiIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5k
ZWZpbmVkCitQQVNTIGRldmljZUlkIGlzIHJlcG9ydGVkIGJ5IGdldFNldHRpbmdzKCkgZm9yIGdl
dFVzZXJNZWRpYSgpIGF1ZGlvIHRyYWNrcyAKK0ZBSUwgZ3JvdXBJZCBpcyByZXBvcnRlZCBieSBn
ZXRTZXR0aW5ncygpIGZvciBnZXRVc2VyTWVkaWEoKSBhdWRpbyB0cmFja3MgYXNzZXJ0X2VxdWFs
czogZ3JvdXBJZCBzaG91bGQgZXhpc3QgYW5kIGl0IHNob3VsZCBiZSBhIHN0cmluZy4gZXhwZWN0
ZWQgInN0cmluZyIgYnV0IGdvdCAidW5kZWZpbmVkIgorUEFTUyBzYW1wbGVSYXRlIGlzIHJlcG9y
dGVkIGJ5IGdldFNldHRpbmdzKCkgZm9yIGdldFVzZXJNZWRpYSgpIGF1ZGlvIHRyYWNrcyAKK0ZB
SUwgc2FtcGxlU2l6ZSBpcyByZXBvcnRlZCBieSBnZXRTZXR0aW5ncygpIGZvciBnZXRVc2VyTWVk
aWEoKSBhdWRpbyB0cmFja3MgYXNzZXJ0X2VxdWFsczogc2FtcGxlU2l6ZSBzaG91bGQgZXhpc3Qg
YW5kIGl0IHNob3VsZCBiZSBhIG51bWJlci4gZXhwZWN0ZWQgIm51bWJlciIgYnV0IGdvdCAidW5k
ZWZpbmVkIgorUEFTUyBlY2hvQ2FuY2VsbGF0aW9uIGlzIHJlcG9ydGVkIGJ5IGdldFNldHRpbmdz
KCkgZm9yIGdldFVzZXJNZWRpYSgpIGF1ZGlvIHRyYWNrcyAKK0ZBSUwgYXV0b0dhaW5Db250cm9s
IGlzIHJlcG9ydGVkIGJ5IGdldFNldHRpbmdzKCkgZm9yIGdldFVzZXJNZWRpYSgpIGF1ZGlvIHRy
YWNrcyBhc3NlcnRfZXF1YWxzOiBhdXRvR2FpbkNvbnRyb2wgc2hvdWxkIGV4aXN0IGFuZCBpdCBz
aG91bGQgYmUgYSBib29sZWFuLiBleHBlY3RlZCAiYm9vbGVhbiIgYnV0IGdvdCAidW5kZWZpbmVk
IgorRkFJTCBub2lzZVN1cHByZXNzaW9uIGlzIHJlcG9ydGVkIGJ5IGdldFNldHRpbmdzKCkgZm9y
IGdldFVzZXJNZWRpYSgpIGF1ZGlvIHRyYWNrcyBhc3NlcnRfZXF1YWxzOiBub2lzZVN1cHByZXNz
aW9uIHNob3VsZCBleGlzdCBhbmQgaXQgc2hvdWxkIGJlIGEgYm9vbGVhbi4gZXhwZWN0ZWQgImJv
b2xlYW4iIGJ1dCBnb3QgInVuZGVmaW5lZCIKK0ZBSUwgbGF0ZW5jeSBpcyByZXBvcnRlZCBieSBn
ZXRTZXR0aW5ncygpIGZvciBnZXRVc2VyTWVkaWEoKSBhdWRpbyB0cmFja3MgYXNzZXJ0X2VxdWFs
czogbGF0ZW5jeSBzaG91bGQgZXhpc3QgYW5kIGl0IHNob3VsZCBiZSBhIG51bWJlci4gZXhwZWN0
ZWQgIm51bWJlciIgYnV0IGdvdCAidW5kZWZpbmVkIgorRkFJTCBjaGFubmVsQ291bnQgaXMgcmVw
b3J0ZWQgYnkgZ2V0U2V0dGluZ3MoKSBmb3IgZ2V0VXNlck1lZGlhKCkgYXVkaW8gdHJhY2tzIGFz
c2VydF9lcXVhbHM6IGNoYW5uZWxDb3VudCBzaG91bGQgZXhpc3QgYW5kIGl0IHNob3VsZCBiZSBh
IG51bWJlci4gZXhwZWN0ZWQgIm51bWJlciIgYnV0IGdvdCAidW5kZWZpbmVkIgorUEFTUyBkZXZp
Y2VJZCBpcyByZXBvcnRlZCBieSBnZXRTZXR0aW5ncygpIGZvciBnZXRVc2VyTWVkaWEoKSB2aWRl
byB0cmFja3MgCitGQUlMIGdyb3VwSWQgaXMgcmVwb3J0ZWQgYnkgZ2V0U2V0dGluZ3MoKSBmb3Ig
Z2V0VXNlck1lZGlhKCkgdmlkZW8gdHJhY2tzIGFzc2VydF9lcXVhbHM6IGdyb3VwSWQgc2hvdWxk
IGV4aXN0IGFuZCBpdCBzaG91bGQgYmUgYSBzdHJpbmcuIGV4cGVjdGVkICJzdHJpbmciIGJ1dCBn
b3QgInVuZGVmaW5lZCIKK1BBU1Mgd2lkdGggaXMgcmVwb3J0ZWQgYnkgZ2V0U2V0dGluZ3MoKSBm
b3IgZ2V0VXNlck1lZGlhKCkgdmlkZW8gdHJhY2tzIAorUEFTUyBoZWlnaHQgaXMgcmVwb3J0ZWQg
YnkgZ2V0U2V0dGluZ3MoKSBmb3IgZ2V0VXNlck1lZGlhKCkgdmlkZW8gdHJhY2tzIAorRkFJTCBh
c3BlY3RSYXRpbyBpcyByZXBvcnRlZCBieSBnZXRTZXR0aW5ncygpIGZvciBnZXRVc2VyTWVkaWEo
KSB2aWRlbyB0cmFja3MgYXNzZXJ0X2VxdWFsczogYXNwZWN0UmF0aW8gc2hvdWxkIGV4aXN0IGFu
ZCBpdCBzaG91bGQgYmUgYSBudW1iZXIuIGV4cGVjdGVkICJudW1iZXIiIGJ1dCBnb3QgInVuZGVm
aW5lZCIKK1BBU1MgZnJhbWVSYXRlIGlzIHJlcG9ydGVkIGJ5IGdldFNldHRpbmdzKCkgZm9yIGdl
dFVzZXJNZWRpYSgpIHZpZGVvIHRyYWNrcyAKK1BBU1MgZmFjaW5nTW9kZSBpcyByZXBvcnRlZCBi
eSBnZXRTZXR0aW5ncygpIGZvciBnZXRVc2VyTWVkaWEoKSB2aWRlbyB0cmFja3MgCitGQUlMIHJl
c2l6ZU1vZGUgaXMgcmVwb3J0ZWQgYnkgZ2V0U2V0dGluZ3MoKSBmb3IgZ2V0VXNlck1lZGlhKCkg
dmlkZW8gdHJhY2tzIGFzc2VydF9lcXVhbHM6IHJlc2l6ZU1vZGUgc2hvdWxkIGV4aXN0IGFuZCBp
dCBzaG91bGQgYmUgYSBzdHJpbmcuIGV4cGVjdGVkICJzdHJpbmciIGJ1dCBnb3QgInVuZGVmaW5l
ZCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbVRyYWNrLWdldFNldHRpbmdzLmh0
dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtVHJhY2stZ2V0U2V0dGluZ3MuaHR0cHMuaHRt
bAppbmRleCA0MjY3NGJhYjJhZDlmYjFhNzZjZmM3YWIwMjQzZGFiMmMzMjQ5OGRiLi4xYmMxZjli
NTc0MGUzMGVmMzYzNWVkNzZmOTc0YzUzNTU2M2FjOWRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01l
ZGlhU3RyZWFtVHJhY2stZ2V0U2V0dGluZ3MuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlh
U3RyZWFtVHJhY2stZ2V0U2V0dGluZ3MuaHR0cHMuaHRtbApAQCAtMSw2ICsxLDcgQEAKIDwhZG9j
dHlwZSBodG1sPgogPHRpdGxlPk1lZGlhU3RyZWFtVHJhY2sgR2V0U2V0dGluZ3M8L3RpdGxlPgog
PHAgY2xhc3M9Imluc3RydWN0aW9ucyI+V2hlbiBwcm9tcHRlZCwgYWNjZXB0IHRvIHNoYXJlIHlv
dXIgdmlkZW8gc3RyZWFtLjwvcD4KKzxtZXRhIG5hbWU9dGltZW91dCBjb250ZW50PWxvbmc+CiA8
c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KIDxzY3JpcHQ+CkBA
IC04LDUzICs5LDE5MiBAQAogCiAgIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9tZWRpYWNhcHR1
cmUtbWFpbi9hcmNoaXZlcy8yMDE3MDYwNS9nZXR1c2VybWVkaWEuaHRtbAogCi0gIHByb21pc2Vf
dGVzdCh0ID0+IHsKLSAgICBjb25zdCBjb25zdHJhaW50cyA9IHsKKyAgYXN5bmMgZnVuY3Rpb24g
Y3JlYXRlVHJhY2tBbmRHZXRTZXR0aW5ncyh0LCBraW5kKSB7CisgICAgY29uc3QgY29uc3RyYWlu
dHMgPSB7fTsKKyAgICBjb25zdHJhaW50c1traW5kXSA9IHRydWU7CisgICAgY29uc3Qgc3RyZWFt
ID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoY29uc3RyYWludHMp
OworICAgIGFzc2VydF9lcXVhbHMoc3RyZWFtLmdldFRyYWNrcygpLmxlbmd0aCwgMSk7CisgICAg
dC5hZGRfY2xlYW51cCgoKSA9PiBzdHJlYW0uZ2V0VHJhY2tzKClbMF0uc3RvcCgpKTsKKyAgICBy
ZXR1cm4gc3RyZWFtLmdldFRyYWNrcygpWzBdLmdldFNldHRpbmdzKCk7CisgIH0KKworICBwcm9t
aXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgY29uc3QgbWVkaWFTdHJlYW0xID0gYXdhaXQgbmF2
aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoewogICAgICAgdmlkZW86IHRydWUsCisg
ICAgICBhdWRpbzogZmFsc2UsCisgICAgfSk7CisgICAgdC5hZGRfY2xlYW51cCgoKSA9PiBtZWRp
YVN0cmVhbTEuZ2V0VmlkZW9UcmFja3MoKVswXS5zdG9wKCkpOworICAgIGNvbnN0IHNldHRpbmdz
MSA9IG1lZGlhU3RyZWFtMS5nZXRWaWRlb1RyYWNrcygpWzBdLmdldFNldHRpbmdzKCk7CisKKyAg
ICBjb25zdCBtZWRpYVN0cmVhbTIgPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVz
ZXJNZWRpYSh7CisgICAgICB2aWRlbzogeworICAgICAgICBkZXZpY2VJZDoge2V4YWN0OiBzZXR0
aW5nczEuZGV2aWNlSWR9LAorICAgICAgfSwKICAgICAgIGF1ZGlvOiBmYWxzZQotICAgIH07Ci0K
LSAgICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoY29uc3RyYWlu
dHMpCi0gICAgLnRoZW4obWVkaWFTdHJlYW0gPT4gewotICAgICAgY29uc3Qgc2V0dGluZ3MxID0g
bWVkaWFTdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXS5nZXRTZXR0aW5ncygpOwotICAgICAgY29u
c3QgdmlkZW9Db25zdHJhaW50cyA9IHsKLSAgICAgICAgZGV2aWNlSWQ6IHNldHRpbmdzMS5kZXZp
Y2VJZAotICAgICAgfTsKLQotICAgICAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0
VXNlck1lZGlhKHsKLSAgICAgICAgdmlkZW86IHZpZGVvQ29uc3RyYWludHMsCi0gICAgICAgIGF1
ZGlvOiBmYWxzZQotICAgICAgfSkudGhlbihtZWRpYVN0cmVhbSA9PiB7Ci0gICAgICAgIGNvbnN0
IHNldHRpbmdzMiA9IG1lZGlhU3RyZWFtLmdldFZpZGVvVHJhY2tzKClbMF0uZ2V0U2V0dGluZ3Mo
KTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhzZXR0aW5nczEuZGV2aWNlSWQsIHNldHRpbmdzMi5k
ZXZpY2VJZCk7Ci0gICAgICB9KTsKICAgICB9KTsKKyAgICB0LmFkZF9jbGVhbnVwKCgpID0+IG1l
ZGlhU3RyZWFtMi5nZXRWaWRlb1RyYWNrcygpWzBdLnN0b3AoKSk7CisgICAgY29uc3Qgc2V0dGlu
Z3MyID0gbWVkaWFTdHJlYW0yLmdldFZpZGVvVHJhY2tzKClbMF0uZ2V0U2V0dGluZ3MoKTsKKwor
ICAgIGFzc2VydF9lcXVhbHMoc2V0dGluZ3MxLmRldmljZUlkLCBzZXR0aW5nczIuZGV2aWNlSWQp
OwogICB9LCAnQSBkZXZpY2UgY2FuIGJlIG9wZW5lZCB0d2ljZSBhbmQgaGF2ZSB0aGUgc2FtZSBk
ZXZpY2UgSUQnKTsKIAotICBwcm9taXNlX3Rlc3QodCA9PiB7Ci0gICAgY29uc3QgY29uc3RyYWlu
dHMgPSB7CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBjb25zdCBtZWRpYVN0cmVh
bTEgPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7CiAgICAgICB2
aWRlbzogdHJ1ZSwKLSAgICAgIGF1ZGlvOiBmYWxzZQotICAgIH07CisgICAgICBhdWRpbzogZmFs
c2UsCisgICAgfSk7CisgICAgdC5hZGRfY2xlYW51cCgoKSA9PiBtZWRpYVN0cmVhbTEuZ2V0Vmlk
ZW9UcmFja3MoKVswXS5zdG9wKCkpOworICAgIGNvbnN0IHNldHRpbmdzMSA9IG1lZGlhU3RyZWFt
MS5nZXRWaWRlb1RyYWNrcygpWzBdLmdldFNldHRpbmdzKCk7CiAKLSAgICByZXR1cm4gbmF2aWdh
dG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoY29uc3RyYWludHMpCi0gICAgLnRoZW4obWVk
aWFTdHJlYW0gPT4gewotICAgICAgY29uc3Qgc2V0dGluZ3MxID0gbWVkaWFTdHJlYW0uZ2V0Vmlk
ZW9UcmFja3MoKVswXS5nZXRTZXR0aW5ncygpOwotICAgICAgY29uc3QgdmlkZW9Db25zdHJhaW50
cyA9IHsKLSAgICAgICAgZGV2aWNlSWQ6IHNldHRpbmdzMS5kZXZpY2VJZCwKKyAgICBjb25zdCBt
ZWRpYVN0cmVhbTIgPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7
CisgICAgICB2aWRlbzogeworICAgICAgICBkZXZpY2VJZDoge2V4YWN0OiBzZXR0aW5nczEuZGV2
aWNlSWR9LAogICAgICAgICB3aWR0aDogewotICAgICAgICAgIGV4YWN0OiBzZXR0aW5nczEud2lk
dGggLyAyCi0gICAgICAgIH0KLSAgICAgIH07Ci0KLSAgICAgIHJldHVybiBuYXZpZ2F0b3IubWVk
aWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7Ci0gICAgICAgIHZpZGVvOiB2aWRlb0NvbnN0cmFpbnRz
LAotICAgICAgICBhdWRpbzogZmFsc2UKLSAgICAgIH0pLnRoZW4obWVkaWFTdHJlYW0gPT4gewot
ICAgICAgICBjb25zdCBzZXR0aW5nczIgPSBtZWRpYVN0cmVhbS5nZXRWaWRlb1RyYWNrcygpWzBd
LmdldFNldHRpbmdzKCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoc2V0dGluZ3MxLmRldmljZUlk
LCBzZXR0aW5nczIuZGV2aWNlSWQpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKHNldHRpbmdzMS53
aWR0aCAvIDIsIHNldHRpbmdzMi53aWR0aCk7Ci0gICAgICB9KTsKKyAgICAgICAgICBpZGVhbDog
c2V0dGluZ3MxLndpZHRoIC8gMiwKKyAgICAgICAgfSwKKyAgICAgIH0sCisgICAgICBhdWRpbzog
ZmFsc2UKICAgICB9KTsKLSAgfSwgJ0EgZGV2aWNlIGNhbiBiZSBvcGVuZWQgdHdpY2Ugd2l0aCBk
aWZmZXJlbnQgcmVzb2x1dGlvbnMnKTsKKyAgICB0LmFkZF9jbGVhbnVwKCgpID0+IG1lZGlhU3Ry
ZWFtMi5nZXRWaWRlb1RyYWNrcygpWzBdLnN0b3AoKSk7CisgICAgY29uc3Qgc2V0dGluZ3MyID0g
bWVkaWFTdHJlYW0yLmdldFZpZGVvVHJhY2tzKClbMF0uZ2V0U2V0dGluZ3MoKTsKKworICAgIGFz
c2VydF9lcXVhbHMoc2V0dGluZ3MxLmRldmljZUlkLCBzZXR0aW5nczIuZGV2aWNlSWQpOworICAg
IGFzc2VydF9iZXR3ZWVuX2luY2x1c2l2ZShzZXR0aW5nczIud2lkdGgsIHNldHRpbmdzMS53aWR0
aCAvIDIsIHNldHRpbmdzMS53aWR0aCk7CisgIH0sICdBIGRldmljZSBjYW4gYmUgb3BlbmVkIHR3
aWNlIHdpdGggZGlmZmVyZW50IHJlc29sdXRpb25zIHJlcXVlc3RlZCcpOworCisgIHByb21pc2Vf
dGVzdChhc3luYyB0ID0+IHsKKyAgICBjb25zdCBkZXZpY2VzID0gYXdhaXQgbmF2aWdhdG9yLm1l
ZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzKCk7CisgICAgY29uc3QgaW5wdXREZXZpY2VzID0g
ZGV2aWNlcy5maWx0ZXIoZCA9PiBkLmtpbmQgIT0gImF1ZGlvb3V0cHV0Iik7CisgICAgYXNzZXJ0
X2dyZWF0ZXJfdGhhbihpbnB1dERldmljZXMubGVuZ3RoLCAwKTsKKyAgICBmb3IgKGNvbnN0IGRl
dmljZSBvZiBpbnB1dERldmljZXMpIHsKKyAgICAgIGNvbnN0IGRldmljZV9pZF9jb25zdHJhaW50
ID0ge2RldmljZUlkOiB7ZXhhY3Q6IGRldmljZS5kZXZpY2VJZH19OworICAgICAgY29uc3QgY29u
c3RyYWludHMgPSBkZXZpY2Uua2luZCA9PSAiYXVkaW9pbnB1dCIKKyAgICAgICAgPyB7YXVkaW86
IGRldmljZV9pZF9jb25zdHJhaW50fQorICAgICAgICA6IHt2aWRlbzogZGV2aWNlX2lkX2NvbnN0
cmFpbnR9OworCisgICAgICBjb25zdCBzdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZp
Y2VzLmdldFVzZXJNZWRpYShjb25zdHJhaW50cyk7CisgICAgICBhc3NlcnRfZXF1YWxzKHN0cmVh
bS5nZXRUcmFja3MoKVswXS5nZXRTZXR0aW5ncygpLmdyb3VwSWQsCisgICAgICAgICAgICAgICAg
ICAgIGRldmljZS5ncm91cElkKTsKKyAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oZGV2aWNlLmdy
b3VwSWQubGVuZ3RoLCAwKTsKKyAgICB9CisgIH0sICdncm91cElkIGlzIGNvcnJlY3RseSByZXBv
cnRlZCBieSBnZXRTZXR0aW5ncygpIGZvciBhbGwgaW5wdXQgZGV2aWNlcycpOworCisgIHByb21p
c2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBjb25zdCBzZXR0aW5ncyA9IGF3YWl0IGNyZWF0ZVRy
YWNrQW5kR2V0U2V0dGluZ3ModCwgImF1ZGlvIik7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2Yo
c2V0dGluZ3MuZGV2aWNlSWQpLCAic3RyaW5nIiwKKyAgICAgICAgICAgICAgICAgICJkZXZpY2VJ
ZCBzaG91bGQgZXhpc3QgYW5kIGl0IHNob3VsZCBiZSBhIHN0cmluZy4iKTsKKyAgfSwgJ2Rldmlj
ZUlkIGlzIHJlcG9ydGVkIGJ5IGdldFNldHRpbmdzKCkgZm9yIGdldFVzZXJNZWRpYSgpIGF1ZGlv
IHRyYWNrcycpOworCisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBjb25zdCBzZXR0
aW5ncyA9IGF3YWl0IGNyZWF0ZVRyYWNrQW5kR2V0U2V0dGluZ3ModCwgImF1ZGlvIik7CisgICAg
YXNzZXJ0X2VxdWFscyh0eXBlb2Yoc2V0dGluZ3MuZ3JvdXBJZCksICJzdHJpbmciLAorICAgICAg
ICAgICAgICAgICAgImdyb3VwSWQgc2hvdWxkIGV4aXN0IGFuZCBpdCBzaG91bGQgYmUgYSBzdHJp
bmcuIik7CisgIH0sICdncm91cElkIGlzIHJlcG9ydGVkIGJ5IGdldFNldHRpbmdzKCkgZm9yIGdl
dFVzZXJNZWRpYSgpIGF1ZGlvIHRyYWNrcycpOworCisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+
IHsKKyAgICBjb25zdCBzZXR0aW5ncyA9IGF3YWl0IGNyZWF0ZVRyYWNrQW5kR2V0U2V0dGluZ3Mo
dCwgImF1ZGlvIik7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2Yoc2V0dGluZ3Muc2FtcGxlUmF0
ZSksICJudW1iZXIiLAorICAgICAgICAgICAgICAgICAgInNhbXBsZVJhdGUgc2hvdWxkIGV4aXN0
IGFuZCBpdCBzaG91bGQgYmUgYSBudW1iZXIuIik7CisgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihz
ZXR0aW5ncy5zYW1wbGVSYXRlLCAwKTsKKyAgfSwgJ3NhbXBsZVJhdGUgaXMgcmVwb3J0ZWQgYnkg
Z2V0U2V0dGluZ3MoKSBmb3IgZ2V0VXNlck1lZGlhKCkgYXVkaW8gdHJhY2tzJyk7CisKKyAgcHJv
bWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIGNvbnN0IHNldHRpbmdzID0gYXdhaXQgY3JlYXRl
VHJhY2tBbmRHZXRTZXR0aW5ncyh0LCAiYXVkaW8iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVv
ZihzZXR0aW5ncy5zYW1wbGVTaXplKSwgIm51bWJlciIsCisgICAgICAgICAgICAgICAgICAic2Ft
cGxlU2l6ZSBzaG91bGQgZXhpc3QgYW5kIGl0IHNob3VsZCBiZSBhIG51bWJlci4iKTsKKyAgICBh
c3NlcnRfZ3JlYXRlcl90aGFuKHNldHRpbmdzLnNhbXBsZVNpemUsIDApOworICB9LCAnc2FtcGxl
U2l6ZSBpcyByZXBvcnRlZCBieSBnZXRTZXR0aW5ncygpIGZvciBnZXRVc2VyTWVkaWEoKSBhdWRp
byB0cmFja3MnKTsKKworICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgY29uc3Qgc2V0
dGluZ3MgPSBhd2FpdCBjcmVhdGVUcmFja0FuZEdldFNldHRpbmdzKHQsICJhdWRpbyIpOworICAg
IGFzc2VydF9lcXVhbHModHlwZW9mKHNldHRpbmdzLmVjaG9DYW5jZWxsYXRpb24pLCAiYm9vbGVh
biIsCisgICAgICAgICAgICAgICAgICAiZWNob0NhbmNlbGxhdGlvbiBzaG91bGQgZXhpc3QgYW5k
IGl0IHNob3VsZCBiZSBhIGJvb2xlYW4uIik7CisgIH0sICdlY2hvQ2FuY2VsbGF0aW9uIGlzIHJl
cG9ydGVkIGJ5IGdldFNldHRpbmdzKCkgZm9yIGdldFVzZXJNZWRpYSgpIGF1ZGlvIHRyYWNrcycp
OworCisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBjb25zdCBzZXR0aW5ncyA9IGF3
YWl0IGNyZWF0ZVRyYWNrQW5kR2V0U2V0dGluZ3ModCwgImF1ZGlvIik7CisgICAgYXNzZXJ0X2Vx
dWFscyh0eXBlb2Yoc2V0dGluZ3MuYXV0b0dhaW5Db250cm9sKSwgImJvb2xlYW4iLAorICAgICAg
ICAgICAgICAgICAgImF1dG9HYWluQ29udHJvbCBzaG91bGQgZXhpc3QgYW5kIGl0IHNob3VsZCBi
ZSBhIGJvb2xlYW4uIik7CisgIH0sICdhdXRvR2FpbkNvbnRyb2wgaXMgcmVwb3J0ZWQgYnkgZ2V0
U2V0dGluZ3MoKSBmb3IgZ2V0VXNlck1lZGlhKCkgYXVkaW8gdHJhY2tzJyk7CisKKyAgcHJvbWlz
ZV90ZXN0KGFzeW5jIHQgPT4geworICAgIGNvbnN0IHNldHRpbmdzID0gYXdhaXQgY3JlYXRlVHJh
Y2tBbmRHZXRTZXR0aW5ncyh0LCAiYXVkaW8iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZihz
ZXR0aW5ncy5ub2lzZVN1cHByZXNzaW9uKSwgImJvb2xlYW4iLAorICAgICAgICAgICAgICAgICAg
Im5vaXNlU3VwcHJlc3Npb24gc2hvdWxkIGV4aXN0IGFuZCBpdCBzaG91bGQgYmUgYSBib29sZWFu
LiIpOworICB9LCAnbm9pc2VTdXBwcmVzc2lvbiBpcyByZXBvcnRlZCBieSBnZXRTZXR0aW5ncygp
IGZvciBnZXRVc2VyTWVkaWEoKSBhdWRpbyB0cmFja3MnKTsKKworICBwcm9taXNlX3Rlc3QoYXN5
bmMgdCA9PiB7CisgICAgY29uc3Qgc2V0dGluZ3MgPSBhd2FpdCBjcmVhdGVUcmFja0FuZEdldFNl
dHRpbmdzKHQsICJhdWRpbyIpOworICAgIGFzc2VydF9lcXVhbHModHlwZW9mKHNldHRpbmdzLmxh
dGVuY3kpLCAibnVtYmVyIiwKKyAgICAgICAgICAgICAgICAgICJsYXRlbmN5IHNob3VsZCBleGlz
dCBhbmQgaXQgc2hvdWxkIGJlIGEgbnVtYmVyLiIpOworICAgIGFzc2VydF9ncmVhdGVyX3RoYW5f
ZXF1YWwoc2V0dGluZ3MubGF0ZW5jeSwwKTsKKyAgfSwgJ2xhdGVuY3kgaXMgcmVwb3J0ZWQgYnkg
Z2V0U2V0dGluZ3MoKSBmb3IgZ2V0VXNlck1lZGlhKCkgYXVkaW8gdHJhY2tzJyk7CisKKyAgcHJv
bWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIGNvbnN0IHNldHRpbmdzID0gYXdhaXQgY3JlYXRl
VHJhY2tBbmRHZXRTZXR0aW5ncyh0LCAiYXVkaW8iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVv
ZihzZXR0aW5ncy5jaGFubmVsQ291bnQpLCAibnVtYmVyIiwKKyAgICAgICAgICAgICAgICAgICJj
aGFubmVsQ291bnQgc2hvdWxkIGV4aXN0IGFuZCBpdCBzaG91bGQgYmUgYSBudW1iZXIuIik7Cisg
ICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihzZXR0aW5ncy5jaGFubmVsQ291bnQsIDApOworICB9LCAn
Y2hhbm5lbENvdW50IGlzIHJlcG9ydGVkIGJ5IGdldFNldHRpbmdzKCkgZm9yIGdldFVzZXJNZWRp
YSgpIGF1ZGlvIHRyYWNrcycpOworCisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBj
b25zdCBzZXR0aW5ncyA9IGF3YWl0IGNyZWF0ZVRyYWNrQW5kR2V0U2V0dGluZ3ModCwgInZpZGVv
Iik7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2Yoc2V0dGluZ3MuZGV2aWNlSWQpLCAic3RyaW5n
IiwKKyAgICAgICAgICAgICAgICAgICJkZXZpY2VJZCBzaG91bGQgZXhpc3QgYW5kIGl0IHNob3Vs
ZCBiZSBhIHN0cmluZy4iKTsKKyAgfSwgJ2RldmljZUlkIGlzIHJlcG9ydGVkIGJ5IGdldFNldHRp
bmdzKCkgZm9yIGdldFVzZXJNZWRpYSgpIHZpZGVvIHRyYWNrcycpOworCisgIHByb21pc2VfdGVz
dChhc3luYyB0ID0+IHsKKyAgICBjb25zdCBzZXR0aW5ncyA9IGF3YWl0IGNyZWF0ZVRyYWNrQW5k
R2V0U2V0dGluZ3ModCwgInZpZGVvIik7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2Yoc2V0dGlu
Z3MuZ3JvdXBJZCksICJzdHJpbmciLAorICAgICAgICAgICAgICAgICAgImdyb3VwSWQgc2hvdWxk
IGV4aXN0IGFuZCBpdCBzaG91bGQgYmUgYSBzdHJpbmcuIik7CisgIH0sICdncm91cElkIGlzIHJl
cG9ydGVkIGJ5IGdldFNldHRpbmdzKCkgZm9yIGdldFVzZXJNZWRpYSgpIHZpZGVvIHRyYWNrcycp
OworCisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBjb25zdCBzZXR0aW5ncyA9IGF3
YWl0IGNyZWF0ZVRyYWNrQW5kR2V0U2V0dGluZ3ModCwgInZpZGVvIik7CisgICAgYXNzZXJ0X2Vx
dWFscyh0eXBlb2Yoc2V0dGluZ3Mud2lkdGgpLCAibnVtYmVyIiwKKyAgICAgICAgICAgICAgICAg
ICJ3aWR0aCBzaG91bGQgZXhpc3QgYW5kIGl0IHNob3VsZCBiZSBhIG51bWJlci4iKTsKKyAgICBh
c3NlcnRfdHJ1ZShOdW1iZXIuaXNJbnRlZ2VyKHNldHRpbmdzLndpZHRoKSwgIndpZHRoIHNob3Vs
ZCBiZSBhbiBpbnRlZ2VyLiIpOworICAgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoc2V0dGlu
Z3Mud2lkdGgsIDApOzsKKyAgfSwgJ3dpZHRoIGlzIHJlcG9ydGVkIGJ5IGdldFNldHRpbmdzKCkg
Zm9yIGdldFVzZXJNZWRpYSgpIHZpZGVvIHRyYWNrcycpOworCisgIHByb21pc2VfdGVzdChhc3lu
YyB0ID0+IHsKKyAgICBjb25zdCBzZXR0aW5ncyA9IGF3YWl0IGNyZWF0ZVRyYWNrQW5kR2V0U2V0
dGluZ3ModCwgInZpZGVvIik7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2Yoc2V0dGluZ3MuaGVp
Z2h0KSwgIm51bWJlciIsCisgICAgICAgICAgICAgICAgICAiaGVpZ2h0IHNob3VsZCBleGlzdCBh
bmQgaXQgc2hvdWxkIGJlIGEgbnVtYmVyLiIpOworICAgIGFzc2VydF90cnVlKE51bWJlci5pc0lu
dGVnZXIoc2V0dGluZ3MuaGVpZ2h0KSwgImhlaWdodCBzaG91bGQgYmUgYW4gaW50ZWdlci4iKTsK
KyAgICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKHNldHRpbmdzLmhlaWdodCwgMCk7CisgIH0s
ICdoZWlnaHQgaXMgcmVwb3J0ZWQgYnkgZ2V0U2V0dGluZ3MoKSBmb3IgZ2V0VXNlck1lZGlhKCkg
dmlkZW8gdHJhY2tzJyk7CisKKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIGNvbnN0
IHNldHRpbmdzID0gYXdhaXQgY3JlYXRlVHJhY2tBbmRHZXRTZXR0aW5ncyh0LCAidmlkZW8iKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZihzZXR0aW5ncy5hc3BlY3RSYXRpbyksICJudW1iZXIi
LAorICAgICAgICAgICAgICAgICAgImFzcGVjdFJhdGlvIHNob3VsZCBleGlzdCBhbmQgaXQgc2hv
dWxkIGJlIGEgbnVtYmVyLiIpOworICAgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoc2V0dGlu
Z3MuYXNwZWN0UmF0aW8sIDApOworICB9LCAnYXNwZWN0UmF0aW8gaXMgcmVwb3J0ZWQgYnkgZ2V0
U2V0dGluZ3MoKSBmb3IgZ2V0VXNlck1lZGlhKCkgdmlkZW8gdHJhY2tzJyk7CisKKyAgcHJvbWlz
ZV90ZXN0KGFzeW5jIHQgPT4geworICAgIGNvbnN0IHNldHRpbmdzID0gYXdhaXQgY3JlYXRlVHJh
Y2tBbmRHZXRTZXR0aW5ncyh0LCAidmlkZW8iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZihz
ZXR0aW5ncy5mcmFtZVJhdGUpLCAibnVtYmVyIiwKKyAgICAgICAgICAgICAgICAgICJmcmFtZVJh
dGUgc2hvdWxkIGV4aXN0IGFuZCBpdCBzaG91bGQgYmUgYSBudW1iZXIuIik7CisgICAgYXNzZXJ0
X2dyZWF0ZXJfdGhhbl9lcXVhbChzZXR0aW5ncy5mcmFtZVJhdGUsIDApOworICB9LCAnZnJhbWVS
YXRlIGlzIHJlcG9ydGVkIGJ5IGdldFNldHRpbmdzKCkgZm9yIGdldFVzZXJNZWRpYSgpIHZpZGVv
IHRyYWNrcycpOworCisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBjb25zdCBzZXR0
aW5ncyA9IGF3YWl0IGNyZWF0ZVRyYWNrQW5kR2V0U2V0dGluZ3ModCwgInZpZGVvIik7CisgICAg
Ly8gZmFjaW5nTW9kZSBub3QgdHJlYXRlZCBhcyBtYW5kYXRvcnkgYmVjYXVzZSBub3QgYWxsIHBs
YXRmb3JtcyBwcm92aWRlCisgICAgLy8gdGhpcyBpbmZvcm1hdGlvbi4KKyAgICBpZiAoc2V0dGlu
Z3MuZmFjaW5nTW9kZSkgeworICAgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2Yoc2V0dGluZ3MuZmFj
aW5nTW9kZSksICJzdHJpbmciLAorICAgICAgICAgICAgICAgICAgIklmIGZhY2luZ01vZGUgaXMg
cHJvdmlkZWQgaXQgc2hvdWxkIGJlIGEgc3RyaW5nLiIpOworICAgICAgYXNzZXJ0X2luX2FycmF5
KHNldHRpbmdzLmZhY2luZ01vZGUsCisgICAgICAgICAgICAgICAgICBbJ3VzZXInLCAnZW52aXJv
bm1lbnQnLCAnbGVmdCcsICdyaWdodCddKTsKKyAgICB9CisgIH0sICdmYWNpbmdNb2RlIGlzIHJl
cG9ydGVkIGJ5IGdldFNldHRpbmdzKCkgZm9yIGdldFVzZXJNZWRpYSgpIHZpZGVvIHRyYWNrcycp
OworCisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBjb25zdCBzZXR0aW5ncyA9IGF3
YWl0IGNyZWF0ZVRyYWNrQW5kR2V0U2V0dGluZ3ModCwgInZpZGVvIik7CisgICAgYXNzZXJ0X2Vx
dWFscyh0eXBlb2Yoc2V0dGluZ3MucmVzaXplTW9kZSksICJzdHJpbmciLAorICAgICAgICAgICAg
ICAgICJyZXNpemVNb2RlIHNob3VsZCBleGlzdCBhbmQgaXQgc2hvdWxkIGJlIGEgc3RyaW5nLiIp
OworICAgIGFzc2VydF9pbl9hcnJheShzZXR0aW5ncy5yZXNpemVNb2RlLCBbJ25vbmUnLCAnY3Jv
cC1hbmQtc2NhbGUnXSk7CisgIH0sICdyZXNpemVNb2RlIGlzIHJlcG9ydGVkIGJ5IGdldFNldHRp
bmdzKCkgZm9yIGdldFVzZXJNZWRpYSgpIHZpZGVvIHRyYWNrcycpOwogPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
Y2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtVHJhY2staWQuaHR0cHMuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMv
TWVkaWFTdHJlYW1UcmFjay1pZC5odHRwcy5odG1sCmluZGV4IDg1YzcyZmU0OTRlZGEyZTNjMGJl
ZTIyMDAzZGM2NWE1ZDM1ZmM1OGEuLmU3YTY4N2Q3MjU1NDY5MmZkMjU4YTllYTEzYjZkNzAyNzNj
NDgzZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW1UcmFjay1pZC5odHRwcy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFj
YXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW1UcmFjay1pZC5odHRwcy5odG1sCkBAIC0xNCw3ICsx
NCw3IEBACiA8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KIDxz
Y3JpcHQ+Ci12YXIgdCA9IGFzeW5jX3Rlc3QoIlRlc3RzIHRoYXQgZGlzdGluY3QgbWVkaWFzdHJl
YW0gdHJhY2tzIGhhdmUgZGlzdGluY3QgaWRzICIsIHt0aW1lb3V0OiAxMDAwMH0pOwordmFyIHQg
PSBhc3luY190ZXN0KCJUZXN0cyB0aGF0IGRpc3RpbmN0IG1lZGlhc3RyZWFtIHRyYWNrcyBoYXZl
IGRpc3RpbmN0IGlkcyAiKTsKIHQuc3RlcChmdW5jdGlvbiAoKSB7CiAgIG5hdmlnYXRvci5tZWRp
YURldmljZXMuZ2V0VXNlck1lZGlhKHt2aWRlbzogdHJ1ZSwgYXVkaW86IHRydWV9KQogICAgIC50
aGVuKHQuc3RlcF9mdW5jKGdvdFN0cmVhbSksIHQuc3RlcF9mdW5jKGZ1bmN0aW9uKGVycm9yKSB7
dC5hc3NlcnRfdW5yZWFjaGVkKCJBY2Nlc3MgdG8gYXVkaW8gYW5kIHZpZGVvIHN0cmVhbSBpcyBn
cmFudGVkIik7fSkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9PV05FUlMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL09XTkVS
UwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjU2ODhmYTdjOWIyNzYzMjEwNjE5NzRi
NTM0ZDYxNzE3ZmRiNjNkZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
Y2FwdHVyZS1zdHJlYW1zL09XTkVSUworKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotQGFn
b3VhaWxsYXJkCi1AYWx2ZXN0cmFuZAotQGRvbnRjYWxsbWVkb20KLUBlcmljLWNhcmxzb24KLUB5
b3Vlbm5mCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL2hpc3RvcmljYWwuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvaGlz
dG9yaWNhbC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkOTYxNmYxMjgyY2M1
NTE3NWI4M2IzN2Q2MjgwMTFmNTg3ZWE5OGUwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvaGlzdG9yaWNhbC5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMTggKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08dGl0bGU+SGlzdG9yaWNhbCBNZWRp
YSBDYXB0dXJlIGFuZCBTdHJlYW1zIGZlYXR1cmVzPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08
c2NyaXB0PgotdGVzdChmdW5jdGlvbigpIHsKLSAgYXNzZXJ0X2ZhbHNlKCJ3ZWJraXRNZWRpYVN0
cmVhbSIgaW4gd2luZG93KTsKLX0sICJ3ZWJraXRNZWRpYVN0cmVhbSBpbnRlcmZhY2Ugc2hvdWxk
IG5vdCBleGlzdCIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICBhc3NlcnRfZmFsc2UoIndlYmtp
dEdldFVzZXJNZWRpYSIgaW4gbmF2aWdhdG9yKTsKLX0sICJuYXZpZ2F0b3Iud2Via2l0R2V0VXNl
ck1lZGlhIHNob3VsZCBub3QgZXhpc3QiKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgYXNzZXJ0
X2ZhbHNlKCJtb3pHZXRVc2VyTWVkaWEiIGluIG5hdmlnYXRvcik7Ci19LCAibmF2aWdhdG9yLm1v
ekdldFVzZXJNZWRpYSBzaG91bGQgbm90IGV4aXN0Iik7Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJl
LXN0cmVhbXMvaGlzdG9yaWNhbC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL2hpc3Rvcmlj
YWwuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxYzk1ZmE4NTY4ZWU2MGIyNmMxYTI4
NTMzNzU1ZWU4ZWMxZWJjOTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL2hpc3RvcmljYWwu
aHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorCitQQVNTIHdlYmtpdE1lZGlhU3Ry
ZWFtIGludGVyZmFjZSBzaG91bGQgbm90IGV4aXN0IAorUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0
VXNlck1lZGlhIHNob3VsZCBub3QgZXhpc3QgCitQQVNTIG5hdmlnYXRvci5tb3pHZXRVc2VyTWVk
aWEgc2hvdWxkIG5vdCBleGlzdCAKK1BBU1MgUGFzc2luZyBNZWRpYVN0cmVhbSB0byBVUkwuY3Jl
YXRlT2JqZWN0VVJMKCkgc2hvdWxkIHRocm93IAorUEFTUyBNZWRpYVN0cmVhbS5vbmFjdGl2ZSBz
aG91bGQgbm90IGV4aXN0IAorUEFTUyBNZWRpYVN0cmVhbS5vbmluYWN0aXZlIHNob3VsZCBub3Qg
ZXhpc3QgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvaGlzdG9yaWNhbC5odHRwcy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3Ry
ZWFtcy9oaXN0b3JpY2FsLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTQzN2M1MTU1MmFiZjFkM2U3
MmU5Njk3YzRkMzBlYzQ3ZTUwOGUyOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvaGlzdG9y
aWNhbC5odHRwcy5odG1sCkBAIC0wLDAgKzEsMzMgQEAKKzwhZG9jdHlwZSBodG1sPgorPHRpdGxl
Pkhpc3RvcmljYWwgTWVkaWEgQ2FwdHVyZSBhbmQgU3RyZWFtcyBmZWF0dXJlczwvdGl0bGU+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlk
PSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF9mYWxz
ZSgid2Via2l0TWVkaWFTdHJlYW0iIGluIHdpbmRvdyk7Cit9LCAid2Via2l0TWVkaWFTdHJlYW0g
aW50ZXJmYWNlIHNob3VsZCBub3QgZXhpc3QiKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgYXNz
ZXJ0X2ZhbHNlKCJ3ZWJraXRHZXRVc2VyTWVkaWEiIGluIG5hdmlnYXRvcik7Cit9LCAibmF2aWdh
dG9yLndlYmtpdEdldFVzZXJNZWRpYSBzaG91bGQgbm90IGV4aXN0Iik7CisKK3Rlc3QoZnVuY3Rp
b24oKSB7CisgIGFzc2VydF9mYWxzZSgibW96R2V0VXNlck1lZGlhIiBpbiBuYXZpZ2F0b3IpOwor
fSwgIm5hdmlnYXRvci5tb3pHZXRVc2VyTWVkaWEgc2hvdWxkIG5vdCBleGlzdCIpOworCit0ZXN0
KCgpID0+IHsKKyAgY29uc3QgbWVkaWFTdHJlYW0gPSBuZXcgTWVkaWFTdHJlYW0oKTsKKyAgYXNz
ZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IFVSTC5jcmVhdGVPYmplY3RVUkwobWVk
aWFTdHJlYW0pKTsKK30sICJQYXNzaW5nIE1lZGlhU3RyZWFtIHRvIFVSTC5jcmVhdGVPYmplY3RV
UkwoKSBzaG91bGQgdGhyb3ciKTsKKwordGVzdCgoKSA9PiB7CisgIGNvbnN0IG1lZGlhU3RyZWFt
ID0gbmV3IE1lZGlhU3RyZWFtKCk7CisgIGFzc2VydF9mYWxzZSgib25hY3RpdmUiIGluIG1lZGlh
U3RyZWFtKTsKK30sICJNZWRpYVN0cmVhbS5vbmFjdGl2ZSBzaG91bGQgbm90IGV4aXN0Iik7CisK
K3Rlc3QoKCkgPT4geworICBjb25zdCBtZWRpYVN0cmVhbSA9IG5ldyBNZWRpYVN0cmVhbSgpOwor
ICBhc3NlcnRfZmFsc2UoIm9uaW5hY3RpdmUiIGluIG1lZGlhU3RyZWFtKTsKK30sICJNZWRpYVN0
cmVhbS5vbmluYWN0aXZlIHNob3VsZCBub3QgZXhpc3QiKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1
cmUtc3RyZWFtcy9pZGxoYXJuZXNzLmh0dHBzLndpbmRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1z
L2lkbGhhcm5lc3MuaHR0cHMud2luZG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzdlOTFk
MTY5OWZiMWZhMGQ3MmIyZWFiNjc5ZDMxMmEzNDU3MjJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3Ry
ZWFtcy9pZGxoYXJuZXNzLmh0dHBzLndpbmRvdy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNjIg
QEAKKworUEFTUyBpZGxfdGVzdCBzZXR1cCAKK1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgTmF2aWdh
dG9yOiBvcmlnaW5hbCBpbnRlcmZhY2UgZGVmaW5lZCAKK1BBU1MgUGFydGlhbCBpbnRlcmZhY2Ug
TmF2aWdhdG9yWzJdOiBvcmlnaW5hbCBpbnRlcmZhY2UgZGVmaW5lZCAKK1BBU1MgUGFydGlhbCBp
bnRlcmZhY2UgTWVkaWFEZXZpY2VzOiBvcmlnaW5hbCBpbnRlcmZhY2UgZGVmaW5lZCAKK1BBU1Mg
TWVkaWFTdHJlYW0gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIG9iamVjdCAKK1BBU1MgTWVkaWFTdHJlYW0gaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQ
QVNTIE1lZGlhU3RyZWFtIGludGVyZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgTWVkaWFTdHJlYW0g
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QgCitQQVNTIE1lZGlhU3RyZWFtIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9w
ZXJ0eSAKK1BBU1MgTWVkaWFTdHJlYW0gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5
IAorUEFTUyBNZWRpYVN0cmVhbSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBpZCAKK1BBU1MgTWVkaWFT
dHJlYW0gaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0QXVkaW9UcmFja3MoKSAKK1BBU1MgTWVkaWFT
dHJlYW0gaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0VmlkZW9UcmFja3MoKSAKK1BBU1MgTWVkaWFT
dHJlYW0gaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0VHJhY2tzKCkgCitQQVNTIE1lZGlhU3RyZWFt
IGludGVyZmFjZTogb3BlcmF0aW9uIGdldFRyYWNrQnlJZChET01TdHJpbmcpIAorUEFTUyBNZWRp
YVN0cmVhbSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhZGRUcmFjayhNZWRpYVN0cmVhbVRyYWNrKSAK
K1BBU1MgTWVkaWFTdHJlYW0gaW50ZXJmYWNlOiBvcGVyYXRpb24gcmVtb3ZlVHJhY2soTWVkaWFT
dHJlYW1UcmFjaykgCitQQVNTIE1lZGlhU3RyZWFtIGludGVyZmFjZTogb3BlcmF0aW9uIGNsb25l
KCkgCitQQVNTIE1lZGlhU3RyZWFtIGludGVyZmFjZTogYXR0cmlidXRlIGFjdGl2ZSAKK1BBU1Mg
TWVkaWFTdHJlYW0gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25hZGR0cmFjayAKK1BBU1MgTWVkaWFT
dHJlYW0gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25yZW1vdmV0cmFjayAKK1BBU1MgTWVkaWFTdHJl
YW0gbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBzdHJlYW0gCitQQVNTIFN0cmluZ2lmaWNh
dGlvbiBvZiBzdHJlYW0gCitQQVNTIE1lZGlhU3RyZWFtIGludGVyZmFjZTogc3RyZWFtIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAiaWQiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBNZWRpYVN0
cmVhbSBpbnRlcmZhY2U6IHN0cmVhbSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImdldEF1ZGlvVHJh
Y2tzKCkiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBNZWRpYVN0cmVhbSBpbnRlcmZhY2U6
IHN0cmVhbSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImdldFZpZGVvVHJhY2tzKCkiIHdpdGggdGhl
IHByb3BlciB0eXBlIAorUEFTUyBNZWRpYVN0cmVhbSBpbnRlcmZhY2U6IHN0cmVhbSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgImdldFRyYWNrcygpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1Mg
TWVkaWFTdHJlYW0gaW50ZXJmYWNlOiBzdHJlYW0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJnZXRU
cmFja0J5SWQoRE9NU3RyaW5nKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIE1lZGlhU3Ry
ZWFtIGludGVyZmFjZTogY2FsbGluZyBnZXRUcmFja0J5SWQoRE9NU3RyaW5nKSBvbiBzdHJlYW0g
d2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKK1BBU1MgTWVkaWFT
dHJlYW0gaW50ZXJmYWNlOiBzdHJlYW0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJhZGRUcmFjayhN
ZWRpYVN0cmVhbVRyYWNrKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIE1lZGlhU3RyZWFt
IGludGVyZmFjZTogY2FsbGluZyBhZGRUcmFjayhNZWRpYVN0cmVhbVRyYWNrKSBvbiBzdHJlYW0g
d2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKK1BBU1MgTWVkaWFT
dHJlYW0gaW50ZXJmYWNlOiBzdHJlYW0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZW1vdmVUcmFj
ayhNZWRpYVN0cmVhbVRyYWNrKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIE1lZGlhU3Ry
ZWFtIGludGVyZmFjZTogY2FsbGluZyByZW1vdmVUcmFjayhNZWRpYVN0cmVhbVRyYWNrKSBvbiBz
dHJlYW0gd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKK1BBU1Mg
TWVkaWFTdHJlYW0gaW50ZXJmYWNlOiBzdHJlYW0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjbG9u
ZSgpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgTWVkaWFTdHJlYW0gaW50ZXJmYWNlOiBz
dHJlYW0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJhY3RpdmUiIHdpdGggdGhlIHByb3BlciB0eXBl
IAorUEFTUyBNZWRpYVN0cmVhbSBpbnRlcmZhY2U6IHN0cmVhbSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgIm9uYWRkdHJhY2siIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBNZWRpYVN0cmVhbSBp
bnRlcmZhY2U6IHN0cmVhbSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucmVtb3ZldHJhY2siIHdp
dGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBNZWRpYVN0cmVhbSBtdXN0IGJlIHByaW1hcnkgaW50
ZXJmYWNlIG9mIG5ldyBNZWRpYVN0cmVhbSgpIAorUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmV3
IE1lZGlhU3RyZWFtKCkgCitQQVNTIE1lZGlhU3RyZWFtIGludGVyZmFjZTogbmV3IE1lZGlhU3Ry
ZWFtKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJpZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQ
QVNTIE1lZGlhU3RyZWFtIGludGVyZmFjZTogbmV3IE1lZGlhU3RyZWFtKCkgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJnZXRBdWRpb1RyYWNrcygpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1Mg
TWVkaWFTdHJlYW0gaW50ZXJmYWNlOiBuZXcgTWVkaWFTdHJlYW0oKSBtdXN0IGluaGVyaXQgcHJv
cGVydHkgImdldFZpZGVvVHJhY2tzKCkiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBNZWRp
YVN0cmVhbSBpbnRlcmZhY2U6IG5ldyBNZWRpYVN0cmVhbSgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAiZ2V0VHJhY2tzKCkiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBNZWRpYVN0cmVhbSBp
bnRlcmZhY2U6IG5ldyBNZWRpYVN0cmVhbSgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZ2V0VHJh
Y2tCeUlkKERPTVN0cmluZykiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBNZWRpYVN0cmVh
bSBpbnRlcmZhY2U6IGNhbGxpbmcgZ2V0VHJhY2tCeUlkKERPTVN0cmluZykgb24gbmV3IE1lZGlh
U3RyZWFtKCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKK1BB
U1MgTWVkaWFTdHJlYW0gaW50ZXJmYWNlOiBuZXcgTWVkaWFTdHJlYW0oKSBtdXN0IGluaGVyaXQg
cHJvcGVydHkgImFkZFRyYWNrKE1lZGlhU3RyZWFtVHJhY2spIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKK1BBU1MgTWVkaWFTdHJlYW0gaW50ZXJmYWNlOiBjYWxsaW5nIGFkZFRyYWNrKE1lZGlhU3Ry
ZWFtVHJhY2spIG9uIG5ldyBNZWRpYVN0cmVhbSgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVz
dCB0aHJvdyBUeXBlRXJyb3IgCitQQVNTIE1lZGlhU3RyZWFtIGludGVyZmFjZTogbmV3IE1lZGlh
U3RyZWFtKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZW1vdmVUcmFjayhNZWRpYVN0cmVhbVRy
YWNrKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIE1lZGlhU3RyZWFtIGludGVyZmFjZTog
Y2FsbGluZyByZW1vdmVUcmFjayhNZWRpYVN0cmVhbVRyYWNrKSBvbiBuZXcgTWVkaWFTdHJlYW0o
KSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAorUEFTUyBNZWRp
YVN0cmVhbSBpbnRlcmZhY2U6IG5ldyBNZWRpYVN0cmVhbSgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAiY2xvbmUoKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIE1lZGlhU3RyZWFtIGludGVy
ZmFjZTogbmV3IE1lZGlhU3RyZWFtKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJhY3RpdmUiIHdp
dGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBNZWRpYVN0cmVhbSBpbnRlcmZhY2U6IG5ldyBNZWRp
YVN0cmVhbSgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25hZGR0cmFjayIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgCitQQVNTIE1lZGlhU3RyZWFtIGludGVyZmFjZTogbmV3IE1lZGlhU3RyZWFtKCkg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnJlbW92ZXRyYWNrIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKK1BBU1MgTWVkaWFTdHJlYW1UcmFjayBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBNZWRpYVN0cmVhbVRyYWNrIGludGVyZmFj
ZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBNZWRpYVN0cmVhbVRyYWNrIGludGVyZmFjZSBvYmplY3Qg
bmFtZSAKK1BBU1MgTWVkaWFTdHJlYW1UcmFjayBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKK1BBU1MgTWVkaWFTdHJlYW1U
cmFjayBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCitQQVNTIE1lZGlhU3RyZWFt
VHJhY2sgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAorUEFTUyBNZWRpYVN0cmVh
bVRyYWNrIGludGVyZmFjZTogYXR0cmlidXRlIGtpbmQgCitQQVNTIE1lZGlhU3RyZWFtVHJhY2sg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgaWQgCitQQVNTIE1lZGlhU3RyZWFtVHJhY2sgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgbGFiZWwgCitQQVNTIE1lZGlhU3RyZWFtVHJhY2sgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgZW5hYmxlZCAKK1BBU1MgTWVkaWFTdHJlYW1UcmFjayBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBtdXRlZCAKK1BBU1MgTWVkaWFTdHJlYW1UcmFjayBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm11
dGUgCitQQVNTIE1lZGlhU3RyZWFtVHJhY2sgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb251bm11dGUg
CitQQVNTIE1lZGlhU3RyZWFtVHJhY2sgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcmVhZHlTdGF0ZSAK
K1BBU1MgTWVkaWFTdHJlYW1UcmFjayBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmVuZGVkIAorUEFT
UyBNZWRpYVN0cmVhbVRyYWNrIGludGVyZmFjZTogb3BlcmF0aW9uIGNsb25lKCkgCitQQVNTIE1l
ZGlhU3RyZWFtVHJhY2sgaW50ZXJmYWNlOiBvcGVyYXRpb24gc3RvcCgpIAorUEFTUyBNZWRpYVN0
cmVhbVRyYWNrIGludGVyZmFjZTogb3BlcmF0aW9uIGdldENhcGFiaWxpdGllcygpIAorUEFTUyBN
ZWRpYVN0cmVhbVRyYWNrIGludGVyZmFjZTogb3BlcmF0aW9uIGdldENvbnN0cmFpbnRzKCkgCitQ
QVNTIE1lZGlhU3RyZWFtVHJhY2sgaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0U2V0dGluZ3MoKSAK
K1BBU1MgTWVkaWFTdHJlYW1UcmFjayBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhcHBseUNvbnN0cmFp
bnRzKE1lZGlhVHJhY2tDb25zdHJhaW50cykgCitQQVNTIE1lZGlhU3RyZWFtVHJhY2sgbXVzdCBi
ZSBwcmltYXJ5IGludGVyZmFjZSBvZiB0cmFjayAKK1BBU1MgU3RyaW5naWZpY2F0aW9uIG9mIHRy
YWNrIAorUEFTUyBNZWRpYVN0cmVhbVRyYWNrIGludGVyZmFjZTogdHJhY2sgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJraW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgTWVkaWFTdHJlYW1U
cmFjayBpbnRlcmZhY2U6IHRyYWNrIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiaWQiIHdpdGggdGhl
IHByb3BlciB0eXBlIAorUEFTUyBNZWRpYVN0cmVhbVRyYWNrIGludGVyZmFjZTogdHJhY2sgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJsYWJlbCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIE1l
ZGlhU3RyZWFtVHJhY2sgaW50ZXJmYWNlOiB0cmFjayBtdXN0IGluaGVyaXQgcHJvcGVydHkgImVu
YWJsZWQiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBNZWRpYVN0cmVhbVRyYWNrIGludGVy
ZmFjZTogdHJhY2sgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJtdXRlZCIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgCitQQVNTIE1lZGlhU3RyZWFtVHJhY2sgaW50ZXJmYWNlOiB0cmFjayBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm9ubXV0ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIE1lZGlhU3Ry
ZWFtVHJhY2sgaW50ZXJmYWNlOiB0cmFjayBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udW5tdXRl
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgTWVkaWFTdHJlYW1UcmFjayBpbnRlcmZhY2U6
IHRyYWNrIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVhZHlTdGF0ZSIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgCitQQVNTIE1lZGlhU3RyZWFtVHJhY2sgaW50ZXJmYWNlOiB0cmFjayBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm9uZW5kZWQiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBNZWRpYVN0
cmVhbVRyYWNrIGludGVyZmFjZTogdHJhY2sgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjbG9uZSgp
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgTWVkaWFTdHJlYW1UcmFjayBpbnRlcmZhY2U6
IHRyYWNrIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic3RvcCgpIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKK1BBU1MgTWVkaWFTdHJlYW1UcmFjayBpbnRlcmZhY2U6IHRyYWNrIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAiZ2V0Q2FwYWJpbGl0aWVzKCkiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBN
ZWRpYVN0cmVhbVRyYWNrIGludGVyZmFjZTogdHJhY2sgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJn
ZXRDb25zdHJhaW50cygpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgTWVkaWFTdHJlYW1U
cmFjayBpbnRlcmZhY2U6IHRyYWNrIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZ2V0U2V0dGluZ3Mo
KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIE1lZGlhU3RyZWFtVHJhY2sgaW50ZXJmYWNl
OiB0cmFjayBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFwcGx5Q29uc3RyYWludHMoTWVkaWFUcmFj
a0NvbnN0cmFpbnRzKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIE1lZGlhU3RyZWFtVHJh
Y2sgaW50ZXJmYWNlOiBjYWxsaW5nIGFwcGx5Q29uc3RyYWludHMoTWVkaWFUcmFja0NvbnN0cmFp
bnRzKSBvbiB0cmFjayB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9y
IAorUEFTUyBNZWRpYVN0cmVhbVRyYWNrRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgTWVkaWFTdHJlYW1UcmFja0V2ZW50
IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBNZWRpYVN0cmVhbVRyYWNrRXZlbnQgaW50
ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBNZWRpYVN0cmVhbVRyYWNrRXZlbnQgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qg
CitQQVNTIE1lZGlhU3RyZWFtVHJhY2tFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJv
cGVydHkgCitQQVNTIE1lZGlhU3RyZWFtVHJhY2tFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJs
ZXMgcHJvcGVydHkgCitQQVNTIE1lZGlhU3RyZWFtVHJhY2tFdmVudCBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSB0cmFjayAKK1BBU1MgTWVkaWFTdHJlYW1UcmFja0V2ZW50IG11c3QgYmUgcHJpbWFyeSBp
bnRlcmZhY2Ugb2YgdHJhY2tFdmVudCAKK1BBU1MgU3RyaW5naWZpY2F0aW9uIG9mIHRyYWNrRXZl
bnQgCitQQVNTIE1lZGlhU3RyZWFtVHJhY2tFdmVudCBpbnRlcmZhY2U6IHRyYWNrRXZlbnQgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJ0cmFjayIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIE1l
ZGlhRGV2aWNlcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2Ugb2JqZWN0IAorUEFTUyBNZWRpYURldmljZXMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQ
QVNTIE1lZGlhRGV2aWNlcyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIE1lZGlhRGV2aWNl
cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCAKK1BBU1MgTWVkaWFEZXZpY2VzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBw
cm9wZXJ0eSAKK1BBU1MgTWVkaWFEZXZpY2VzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9w
ZXJ0eSAKK1BBU1MgTWVkaWFEZXZpY2VzIGludGVyZmFjZTogYXR0cmlidXRlIG9uZGV2aWNlY2hh
bmdlIAorUEFTUyBNZWRpYURldmljZXMgaW50ZXJmYWNlOiBvcGVyYXRpb24gZW51bWVyYXRlRGV2
aWNlcygpIAorUEFTUyBNZWRpYURldmljZXMgaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0U3VwcG9y
dGVkQ29uc3RyYWludHMoKSAKK1BBU1MgTWVkaWFEZXZpY2VzIGludGVyZmFjZTogb3BlcmF0aW9u
IGdldFVzZXJNZWRpYShNZWRpYVN0cmVhbUNvbnN0cmFpbnRzKSAKK1BBU1MgTWVkaWFEZXZpY2Vz
IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcyAKK1BB
U1MgU3RyaW5naWZpY2F0aW9uIG9mIG5hdmlnYXRvci5tZWRpYURldmljZXMgCitQQVNTIE1lZGlh
RGV2aWNlcyBpbnRlcmZhY2U6IG5hdmlnYXRvci5tZWRpYURldmljZXMgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJvbmRldmljZWNoYW5nZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIE1lZGlh
RGV2aWNlcyBpbnRlcmZhY2U6IG5hdmlnYXRvci5tZWRpYURldmljZXMgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJlbnVtZXJhdGVEZXZpY2VzKCkiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBN
ZWRpYURldmljZXMgaW50ZXJmYWNlOiBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAiZ2V0U3VwcG9ydGVkQ29uc3RyYWludHMoKSIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCitQQVNTIE1lZGlhRGV2aWNlcyBpbnRlcmZhY2U6IG5hdmlnYXRvci5tZWRpYURldmljZXMg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJnZXRVc2VyTWVkaWEoTWVkaWFTdHJlYW1Db25zdHJhaW50
cykiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBNZWRpYURldmljZXMgaW50ZXJmYWNlOiBj
YWxsaW5nIGdldFVzZXJNZWRpYShNZWRpYVN0cmVhbUNvbnN0cmFpbnRzKSBvbiBuYXZpZ2F0b3Iu
bWVkaWFEZXZpY2VzIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3Ig
CitQQVNTIE1lZGlhRGV2aWNlSW5mbyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBNZWRpYURldmljZUluZm8gaW50ZXJmYWNlIG9i
amVjdCBsZW5ndGggCitQQVNTIE1lZGlhRGV2aWNlSW5mbyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUg
CitQQVNTIE1lZGlhRGV2aWNlSW5mbyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKK1BBU1MgTWVkaWFEZXZpY2VJbmZvIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgTWVkaWFEZXZpY2VJbmZvIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKK1BBU1MgTWVkaWFEZXZpY2VJbmZvIGlu
dGVyZmFjZTogYXR0cmlidXRlIGRldmljZUlkIAorUEFTUyBNZWRpYURldmljZUluZm8gaW50ZXJm
YWNlOiBhdHRyaWJ1dGUga2luZCAKK1BBU1MgTWVkaWFEZXZpY2VJbmZvIGludGVyZmFjZTogYXR0
cmlidXRlIGxhYmVsIAorUEFTUyBNZWRpYURldmljZUluZm8gaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
Z3JvdXBJZCAKK1BBU1MgTWVkaWFEZXZpY2VJbmZvIGludGVyZmFjZTogb3BlcmF0aW9uIHRvSlNP
TigpIAorRkFJTCBJbnB1dERldmljZUluZm8gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJJbnB1dERldmljZUluZm8iIGV4cGVjdGVkIHByb3BlcnR5
ICJJbnB1dERldmljZUluZm8iIG1pc3NpbmcKK0ZBSUwgSW5wdXREZXZpY2VJbmZvIGludGVyZmFj
ZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIklucHV0RGV2aWNlSW5mbyIgZXhwZWN0ZWQgcHJvcGVydHkgIklucHV0RGV2
aWNlSW5mbyIgbWlzc2luZworRkFJTCBJbnB1dERldmljZUluZm8gaW50ZXJmYWNlIG9iamVjdCBu
YW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkg
IklucHV0RGV2aWNlSW5mbyIgZXhwZWN0ZWQgcHJvcGVydHkgIklucHV0RGV2aWNlSW5mbyIgbWlz
c2luZworRkFJTCBJbnB1dERldmljZUluZm8gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiSW5wdXREZXZpY2VJbmZvIiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiSW5wdXREZXZpY2VJbmZvIiBtaXNzaW5nCitGQUlMIElucHV0RGV2aWNlSW5m
byBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiSW5wdXREZXZpY2VJbmZvIiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiSW5wdXREZXZpY2VJbmZvIiBtaXNzaW5nCitGQUlMIElucHV0RGV2aWNlSW5m
byBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiSW5wdXREZXZpY2VJbmZvIiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiSW5wdXREZXZpY2VJbmZvIiBtaXNzaW5nCitGQUlMIElucHV0RGV2aWNlSW5m
byBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRDYXBhYmlsaXRpZXMoKSBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJJbnB1dERldmljZUluZm8iIGV4
cGVjdGVkIHByb3BlcnR5ICJJbnB1dERldmljZUluZm8iIG1pc3NpbmcKK0ZBSUwgSW5wdXREZXZp
Y2VJbmZvIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgYXVkaW9pbnB1dCBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJJbnB1dERldmljZUlu
Zm8iIGV4cGVjdGVkIHByb3BlcnR5ICJJbnB1dERldmljZUluZm8iIG1pc3NpbmcKK0ZBSUwgU3Ry
aW5naWZpY2F0aW9uIG9mIGF1ZGlvaW5wdXQgYXNzZXJ0X2VxdWFsczogY2xhc3Mgc3RyaW5nIG9m
IGF1ZGlvaW5wdXQgZXhwZWN0ZWQgIltvYmplY3QgSW5wdXREZXZpY2VJbmZvXSIgYnV0IGdvdCAi
W29iamVjdCBNZWRpYURldmljZUluZm9dIgorRkFJTCBJbnB1dERldmljZUluZm8gaW50ZXJmYWNl
OiBhdWRpb2lucHV0IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZ2V0Q2FwYWJpbGl0aWVzKCkiIHdp
dGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgImdldENhcGFiaWxp
dGllcyIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorUEFTUyBNZWRpYURldmljZUluZm8g
aW50ZXJmYWNlOiBhdWRpb2lucHV0IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGV2aWNlSWQiIHdp
dGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBNZWRpYURldmljZUluZm8gaW50ZXJmYWNlOiBhdWRp
b2lucHV0IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAia2luZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
CitQQVNTIE1lZGlhRGV2aWNlSW5mbyBpbnRlcmZhY2U6IGF1ZGlvaW5wdXQgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJsYWJlbCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIE1lZGlhRGV2aWNl
SW5mbyBpbnRlcmZhY2U6IGF1ZGlvaW5wdXQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJncm91cElk
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgTWVkaWFEZXZpY2VJbmZvIGludGVyZmFjZTog
YXVkaW9pbnB1dCBtdXN0IGluaGVyaXQgcHJvcGVydHkgInRvSlNPTigpIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKK1BBU1MgTWVkaWFEZXZpY2VJbmZvIGludGVyZmFjZTogZGVmYXVsdCB0b0pTT04g
b3BlcmF0aW9uIG9uIGF1ZGlvaW5wdXQgCitGQUlMIElucHV0RGV2aWNlSW5mbyBtdXN0IGJlIHBy
aW1hcnkgaW50ZXJmYWNlIG9mIHZpZGVvaW5wdXQgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiSW5wdXREZXZpY2VJbmZvIiBleHBlY3RlZCBwcm9w
ZXJ0eSAiSW5wdXREZXZpY2VJbmZvIiBtaXNzaW5nCitGQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiB2
aWRlb2lucHV0IGFzc2VydF9lcXVhbHM6IGNsYXNzIHN0cmluZyBvZiB2aWRlb2lucHV0IGV4cGVj
dGVkICJbb2JqZWN0IElucHV0RGV2aWNlSW5mb10iIGJ1dCBnb3QgIltvYmplY3QgTWVkaWFEZXZp
Y2VJbmZvXSIKK0ZBSUwgSW5wdXREZXZpY2VJbmZvIGludGVyZmFjZTogdmlkZW9pbnB1dCBtdXN0
IGluaGVyaXQgcHJvcGVydHkgImdldENhcGFiaWxpdGllcygpIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJnZXRDYXBhYmlsaXRpZXMiIG5vdCBmb3VuZCBp
biBwcm90b3R5cGUgY2hhaW4KK1BBU1MgTWVkaWFEZXZpY2VJbmZvIGludGVyZmFjZTogdmlkZW9p
bnB1dCBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRldmljZUlkIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKK1BBU1MgTWVkaWFEZXZpY2VJbmZvIGludGVyZmFjZTogdmlkZW9pbnB1dCBtdXN0IGluaGVy
aXQgcHJvcGVydHkgImtpbmQiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBNZWRpYURldmlj
ZUluZm8gaW50ZXJmYWNlOiB2aWRlb2lucHV0IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibGFiZWwi
IHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBNZWRpYURldmljZUluZm8gaW50ZXJmYWNlOiB2
aWRlb2lucHV0IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZ3JvdXBJZCIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgCitQQVNTIE1lZGlhRGV2aWNlSW5mbyBpbnRlcmZhY2U6IHZpZGVvaW5wdXQgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJ0b0pTT04oKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIE1l
ZGlhRGV2aWNlSW5mbyBpbnRlcmZhY2U6IGRlZmF1bHQgdG9KU09OIG9wZXJhdGlvbiBvbiB2aWRl
b2lucHV0IAorUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbWVkaWFEZXZpY2Vz
IAorRkFJTCBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0VXNlck1lZGlhKE1lZGlh
U3RyZWFtQ29uc3RyYWludHMsIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaywgTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaykgYXNzZXJ0X293bl9wcm9wZXJ0eTogaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QgbWlzc2luZyBub24tc3RhdGljIG9wZXJhdGlvbiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiZ2V0VXNlck1lZGlhIiBtaXNzaW5nCitQQVNTIE5hdmlnYXRvciBpbnRlcmZh
Y2U6IG5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm1lZGlhRGV2aWNlcyIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCitGQUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6IG5hdmlnYXRvciBtdXN0
IGluaGVyaXQgcHJvcGVydHkgImdldFVzZXJNZWRpYShNZWRpYVN0cmVhbUNvbnN0cmFpbnRzLCBO
YXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2ssIE5hdmlnYXRvclVzZXJNZWRpYUVycm9y
Q2FsbGJhY2spIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5
ICJnZXRVc2VyTWVkaWEiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwgTmF2aWdh
dG9yIGludGVyZmFjZTogY2FsbGluZyBnZXRVc2VyTWVkaWEoTWVkaWFTdHJlYW1Db25zdHJhaW50
cywgTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLCBOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvckNhbGxiYWNrKSBvbiBuYXZpZ2F0b3Igd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRo
cm93IFR5cGVFcnJvciBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJnZXRVc2VyTWVkaWEiIG5v
dCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9pZGxoYXJu
ZXNzLmh0dHBzLndpbmRvdy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9pZGxoYXJuZXNzLmh0dHBzLndpbmRvdy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL2lkbGhhcm5lc3MuaHR0cHMud2luZG93Lmh0bWwK
QEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0
IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9pZGxoYXJuZXNzLmh0dHBzLndp
bmRvdy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWFjYXB0dXJlLXN0cmVhbXMvaWRsaGFybmVzcy5odHRwcy53aW5kb3cuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTk0ZTExMjFiMDA1ZWEzY2Q3ZWYxZjMwYWExNWZiZWQwN2RmZjFhNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0
dXJlLXN0cmVhbXMvaWRsaGFybmVzcy5odHRwcy53aW5kb3cuanMKQEAgLTAsMCArMSw0OCBAQAor
Ly8gTUVUQTogc2NyaXB0PS9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzCisvLyBNRVRBOiBzY3Jp
cHQ9L3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzCisKKyd1c2Ugc3RyaWN0JzsKKworLy8gaHR0cHM6
Ly93M2MuZ2l0aHViLmlvL21lZGlhY2FwdHVyZS1tYWluLworCitpZGxfdGVzdCgKKyAgWydtZWRp
YWNhcHR1cmUtc3RyZWFtcyddLAorICBbJ2RvbScsICdodG1sJ10sCisgIGFzeW5jIGlkbF9hcnJh
eSA9PiB7CisgICAgY29uc3QgaW5wdXREZXZpY2VzID0gW107CisgICAgY29uc3Qgb3V0cHV0RGV2
aWNlcyA9IFtdOworICAgIHRyeSB7CisgICAgICBjb25zdCBsaXN0ID0gYXdhaXQgbmF2aWdhdG9y
Lm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzKCk7CisgICAgICBmb3IgKGNvbnN0IGRldmlj
ZSBvZiBsaXN0KSB7CisgICAgICAgIGlmIChkZXZpY2Uua2luZCBpbiBzZWxmKSB7CisgICAgICAg
ICAgY29udGludWU7CisgICAgICAgIH0KKyAgICAgICAgYXNzZXJ0X2luX2FycmF5KGRldmljZS5r
aW5kLCBbJ2F1ZGlvaW5wdXQnLCAndmlkZW9pbnB1dCcsICdhdWRpb291dHB1dCddKTsKKyAgICAg
ICAgc2VsZltkZXZpY2Uua2luZF0gPSBkZXZpY2U7CisgICAgICAgIGlmIChkZXZpY2Uua2luZC5l
bmRzV2l0aCgnaW5wdXQnKSkgeworICAgICAgICAgIGlucHV0RGV2aWNlcy5wdXNoKGRldmljZS5r
aW5kKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICBvdXRwdXREZXZpY2VzLnB1c2goZGV2
aWNlLmtpbmQpOworICAgICAgICB9CisgICAgICB9CisgICAgfSBjYXRjaCAoZSkge30KKworICAg
IHRyeSB7CisgICAgICBzZWxmLnN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMu
Z2V0VXNlck1lZGlhKHthdWRpbzogdHJ1ZX0pOworICAgICAgc2VsZi50cmFjayA9IHN0cmVhbS5n
ZXRUcmFja3MoKVswXTsKKyAgICAgIHNlbGYudHJhY2tFdmVudCA9IG5ldyBNZWRpYVN0cmVhbVRy
YWNrRXZlbnQoInR5cGUiLCB7CisgICAgICAgIHRyYWNrOiB0cmFjaywKKyAgICAgIH0pOworICAg
IH0gY2F0Y2ggKGUpIHt9CisKKyAgICBpZGxfYXJyYXkuYWRkX29iamVjdHMoeworICAgICAgSW5w
dXREZXZpY2VJbmZvOiBpbnB1dERldmljZXMsCisgICAgICBNZWRpYVN0cmVhbTogWydzdHJlYW0n
LCAnbmV3IE1lZGlhU3RyZWFtKCknXSwKKyAgICAgIE5hdmlnYXRvcjogWyduYXZpZ2F0b3InXSwK
KyAgICAgIE1lZGlhRGV2aWNlczogWyduYXZpZ2F0b3IubWVkaWFEZXZpY2VzJ10sCisgICAgICBN
ZWRpYURldmljZUluZm86IG91dHB1dERldmljZXMsCisgICAgICBNZWRpYVN0cmVhbVRyYWNrOiBb
J3RyYWNrJ10sCisgICAgICBNZWRpYVN0cmVhbVRyYWNrRXZlbnQ6IFsndHJhY2tFdmVudCddLAor
ICAgIH0pOworICB9CispOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy93M2MtaW1wb3J0LmxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0
cmVhbXMvdzNjLWltcG9ydC5sb2cKaW5kZXggZWMyNWFkMzM0NmFjOTI0MWExYmMwMzcyMzBlMmU0
ZTVmZTgyOWI2ZC4uNTQxOTE0NmQ1ZjQ1MDRhZGY3OWJlNzg1YzJkNDNhODcyN2RkZDk0MCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YWNhcHR1cmUtc3RyZWFtcy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL3czYy1pbXBvcnQu
bG9nCkBAIC0xLDcgKzEsNyBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1w
b3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3Rz
IGRpcmVjdGx5IGluIFdlYktpdC4KIEluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0
aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cworCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CiAKIFRoZW4gcnVu
IHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0
CiAKQEAgLTE4LDMxICsxOCw0MyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvR1VNLWRlbnku
aHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWFjYXB0dXJlLXN0cmVhbXMvR1VNLWVtcHR5LW9wdGlvbi1wYXJhbS5odHRwcy5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUt
c3RyZWFtcy9HVU0taW1wb3NzaWJsZS1jb25zdHJhaW50Lmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL0dV
TS1pbnZhbGlkLWZhY2luZy1tb2RlLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL0dVTS1ub24tYXBwbGlj
YWJsZS1jb25zdHJhaW50Lmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL0dVTS1vcHRpb25hbC1jb25zdHJh
aW50Lmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL0dVTS10cml2aWFsLWNvbnN0cmFpbnQuaHR0cHMuaHRt
bAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0
dXJlLXN0cmVhbXMvR1VNLXVua25vd25rZXktb3B0aW9uLXBhcmFtLmh0dHBzLmh0bWwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJl
YW1zL01lZGlhRGV2aWNlcy1JREwtYWxsLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhRGV2aWNlcy1JREwt
ZW51bWVyYXRlRGV2aWNlcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NRVRBLnltbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFE
ZXZpY2VzLVNlY3VyZUNvbnRleHQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFEZXZpY2VzLWVudW1lcmF0
ZURldmljZXMtbm90LWFsbG93ZWQtY2FtZXJhLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhRGV2
aWNlcy1lbnVtZXJhdGVEZXZpY2VzLW5vdC1hbGxvd2VkLWNhbWVyYS5odHRwcy5odG1sLmhlYWRl
cnMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2Fw
dHVyZS1zdHJlYW1zL01lZGlhRGV2aWNlcy1lbnVtZXJhdGVEZXZpY2VzLW5vdC1hbGxvd2VkLW1p
Yy5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYURldmljZXMtZW51bWVyYXRlRGV2aWNlcy1ub3Qt
YWxsb3dlZC1taWMuaHR0cHMuaHRtbC5oZWFkZXJzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYURldmljZXMtZW51
bWVyYXRlRGV2aWNlcy1yZXR1cm5lZC1vYmplY3RzLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlh
RGV2aWNlcy1lbnVtZXJhdGVEZXZpY2VzLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhRGV2aWNl
cy1nZXRTdXBwb3J0ZWRDb25zdHJhaW50cy5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYURldmlj
ZXMtZ2V0VXNlck1lZGlhLmh0dHBzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtLU1lZGlhRWxl
bWVudC1wcmVsb2FkLW5vbmUuaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tTWVkaWFF
bGVtZW50LWZpcnN0ZnJhbWUuaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tTWVkaWFF
bGVtZW50LXByZWxvYWQtbm9uZS1tYW51YWwuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJl
YW0tTWVkaWFFbGVtZW50LXNyY09iamVjdC5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVh
bS1hZGQtYXVkaW8tdHJhY2suaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW0tYXVkaW8t
b25seS5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1jbG9uZS5odHRwcy5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUt
c3RyZWFtcy9NZWRpYVN0cmVhbS1kZWZhdWx0LWZlYXR1cmUtcG9saWN5Lmh0dHBzLmh0bWwKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1z
dHJlYW1zL01lZGlhU3RyZWFtLWZpbmlzaGVkLWFkZC5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRp
YVN0cmVhbS1nZXR0cmFja2lkLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFtLWlkLW1h
bnVhbC5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbS1pZGwuaHR0cHMuaHRtbAogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0
cmVhbXMvTWVkaWFTdHJlYW0tcmVtb3ZldHJhY2suaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFT
dHJlYW0tc3VwcG9ydGVkLWJ5LWZlYXR1cmUtcG9saWN5Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3Ry
ZWFtLXZpZGVvLW9ubHkuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW1UcmFjay1NZWRp
YUVsZW1lbnQtZGlzYWJsZWQtYXVkaW8taXMtc2lsZW5jZS5odHRwcy5odG1sCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9N
ZWRpYVN0cmVhbVRyYWNrLU1lZGlhRWxlbWVudC1kaXNhYmxlZC12aWRlby1pcy1ibGFjay5odHRw
cy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbVRyYWNrLWFwcGx5Q29uc3RyYWludHMuaHR0cHMu
aHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFj
YXB0dXJlLXN0cmVhbXMvTWVkaWFTdHJlYW1UcmFjay1lbmQtbWFudWFsLmh0dHBzLmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1z
dHJlYW1zL01lZGlhU3RyZWFtVHJhY2stZ2V0Q2FwYWJpbGl0aWVzLmh0dHBzLmh0bWwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJl
YW1zL01lZGlhU3RyZWFtVHJhY2stZ2V0U2V0dGluZ3MuaHR0cHMuaHRtbAogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvTWVk
aWFTdHJlYW1UcmFjay1pZC5odHRwcy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbVRyYWNrLWlk
bC5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbVRyYWNrLWluaXQuaHR0cHMuaHRtbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJl
LXN0cmVhbXMvTWVkaWFTdHJlYW1UcmFja0V2ZW50LWNvbnN0cnVjdG9yLmh0dHBzLmh0bWwKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1z
dHJlYW1zL09XTkVSUwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMvaGlzdG9yaWNhbC5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9oaXN0b3Jp
Y2FsLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL2lkbGhhcm5lc3MuaHR0cHMud2luZG93LmpzCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy90ZXN0cy1vcHRpb25zLmpzb24gYi9MYXlvdXRUZXN0cy90ZXN0
cy1vcHRpb25zLmpzb24KaW5kZXggNGFiNWMyNWRjZmU0YjRlZmFiOWQwODI4NWE1Y2QwYzZkZTA3
MzcxMi4uZDY4MjZkMjUyMjcxNDllMGUzNjUzZDM2MTUxNjczYTkzZDEzNTUzYSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uCisrKyBiL0xheW91dFRlc3RzL3Rlc3Rz
LW9wdGlvbnMuanNvbgpAQCAtMTgyNiw2ICsxODI2LDkgQEAKICAgICAiaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtcmVkdW5kYW50LXNlZWsu
aHRtbCI6IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtc3RyZWFtcy9NZWRpYVN0cmVhbVRyYWNrLWdldFNl
dHRpbmdzLmh0dHBzLmh0bWwiOiBbCisgICAgICAgICJzbG93IgorICAgIF0sCiAgICAgImltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVz
dC1jb25zdHJ1Y3Rvci1jcmFzaC5odHRwcy5odG1sIjogWwogICAgICAgICAic2xvdyIKICAgICBd
LAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>