<?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>215224</bug_id>
          
          <creation_ts>2020-08-06 10:15:45 -0700</creation_ts>
          <short_desc>[WebXR] Update WebXR WPT directory</short_desc>
          <delta_ts>2020-08-12 04:07:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>208988</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sergio Villar Senin">svillar</reporter>
          <assigned_to name="Sergio Villar Senin">svillar</assigned_to>
          <cc>andersca</cc>
    
    <cc>aperez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>clopez</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1678285</commentid>
    <comment_count>0</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2020-08-06 10:15:45 -0700</bug_when>
    <thetext>[WebXR] Update WebXR WPT directory</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678287</commentid>
    <comment_count>1</comment_count>
      <attachid>406090</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2020-08-06 10:29:20 -0700</bug_when>
    <thetext>Created attachment 406090
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679332</commentid>
    <comment_count>2</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2020-08-11 00:47:06 -0700</bug_when>
    <thetext>Ping reviewers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679336</commentid>
    <comment_count>3</comment_count>
      <attachid>406090</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-08-11 01:26:25 -0700</bug_when>
    <thetext>Comment on attachment 406090
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=406090&amp;action=review

&gt; Source/WebCore/Modules/webxr/WebXRInputSourceArray.cpp:41
&gt; +}

Could be inline

&gt; LayoutTests/imported/w3c/web-platform-tests/webxr/dom-overlay/ar_dom_overlay.https.html:139
&gt; +    debug(&apos;got viewerSpace&apos;);

Is it expected logging?

&gt; LayoutTests/imported/w3c/web-platform-tests/webxr/dom-overlay/ar_dom_overlay.https.html:206
&gt; +      debug(&apos;got rAF 1&apos;);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679709</commentid>
    <comment_count>4</comment_count>
      <attachid>406090</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2020-08-12 00:42:12 -0700</bug_when>
    <thetext>Comment on attachment 406090
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=406090&amp;action=review

Thanks for the review!

&gt;&gt; Source/WebCore/Modules/webxr/WebXRInputSourceArray.cpp:41
&gt;&gt; +}
&gt; 
&gt; Could be inline

OK. I&apos;ll move it.

&gt;&gt; LayoutTests/imported/w3c/web-platform-tests/webxr/dom-overlay/ar_dom_overlay.https.html:139
&gt;&gt; +    debug(&apos;got viewerSpace&apos;);
&gt; 
&gt; Is it expected logging?

This come straight from upstream. In our case it does not matter much because the debug() call is only implemented by Chromium AFAIK. For the rest of engines is an empty implementation. But I agree that it&apos;s weird to upstream something with debug statements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679723</commentid>
    <comment_count>5</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2020-08-12 04:06:55 -0700</bug_when>
    <thetext>Committed r265546: &lt;https://trac.webkit.org/changeset/265546&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679724</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-08-12 04:07:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/66899462&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406090</attachid>
            <date>2020-08-06 10:29:20 -0700</date>
            <delta_ts>2020-08-11 01:26:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215224-20200806192918.patch</filename>
            <type>text/plain</type>
            <size>158095</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjAxYjJmZWQ3YTNiNzJl
NThkNGVmYzVkMjY0YmM3ZWUxMjRmNTRiMy4uMmVhZjU0YzcwNWE2NGEyNGFkZDcwOTJlMDdkNzk0
MDQ2OWYwZWEwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIwLTA4LTA2ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtXZWJYUl0g
VXBkYXRlIFdlYlhSIFdQVCBkaXJlY3RvcnkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxNTIyNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoZSB1cGRhdGUgb2YgdGhlIFdlYlhSIFdQVCBkaXJlY3Rvcnkg
aGVscGVkIHVzIHRvIHVudmVpbCBhIGNvdXBsZSBvZiBtaXN0YWtlcyBpbiB0aGUgY3VycmVudCBj
b2RlLgorICAgICAgICBGaXJzdCBvZiBhbGwgdGhlIEV2ZW50cyBkZWZpbmVkIGluIHRoZSBXZWJY
UiBzcGVjIGhhZCB0byBiZSBpc28gYWxsb2NhdGVkIGFzIHRoZSBFdmVudCBiYXNlIGNsYXNzLgor
ICAgICAgICBTZWNvbmRseSB0aGUgV2ViWFJJbnB1dFNvdXJjZUFycmF5IG11c3QgaGF2ZSBhIDo6
Y3JlYXRlKCkgbWV0aG9kLiBGaW5hbGx5IHRoZSBtX2lucHV0U291cmNlcyBhdHRyaWJ1dGUKKyAg
ICAgICAgb2YgdGhlIFdlYlhSU2Vzc2lvbiBtdXN0IGJlIGEgUmVmIGluc3RlYWQgb2YgYSBSZWZQ
dHIgYmVjYXVzZSB0aGUgc3BlY3MgbWVudGlvbiB0aGF0IHRoZSBpbml0aWFsCisgICAgICAgIHZh
bHVlIGlzIGFuIGVtcHR5IGFycmF5LgorCisgICAgICAgIFRlc3RzOiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dlYnhyL2FuY2hvcnMvYXJfYW5jaG9yX2ZyZWVmbG9hdGluZ19jcmVh
dGVfbW92ZS5odHRwcy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dlYnhyL2FuY2hvcnMvYXJfYW5jaG9yX2ZyZWVmbG9hdGluZ19kZWxheV9jcmVh
dGlvbi5odHRwcy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dlYnhyL2FuY2hvcnMvYXJfYW5jaG9yX2ZyZWVmbG9hdGluZ19mYWlsdXJlLmh0dHBz
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vi
eHIvYW5jaG9ycy9hcl9hbmNob3JfZnJlZWZsb2F0aW5nX3BhdXNlX3Jlc3VtZV9zdG9wLmh0dHBz
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vi
eHIvYW5jaG9ycy9hcl9hbmNob3Jfc3RhdGVzLmh0dHBzLmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvYW5jaG9ycy9pZGxoYXJuZXNzLmh0
dHBzLndpbmRvdy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dlYnhyL2RvbS1vdmVybGF5L2FyX2RvbV9vdmVybGF5X2hpdF90ZXN0Lmh0dHBzLmh0
bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIv
ZG9tLW92ZXJsYXkvaWRsaGFybmVzcy5odHRwcy53aW5kb3cuaHRtbAorICAgICAgICAgICAgICAg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9oaXQtdGVzdC9hcl9oaXR0ZXN0
X3N1YnNjcmlwdGlvbl9pbnB1dFNvdXJjZXMuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9oaXQtdGVzdC9hcl9oaXR0ZXN0X3N1
YnNjcmlwdGlvbl9zdGF0ZXNfcmVndWxhci5odHRwcy5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2hpdC10ZXN0L2FyX2hpdHRlc3Rfc3Vi
c2NyaXB0aW9uX3N0YXRlc190cmFuc2llbnQuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9oaXQtdGVzdC9hcl9oaXR0ZXN0X3N1
YnNjcmlwdGlvbl90cmFuc2llbnRJbnB1dFNvdXJjZXMuaHR0cHMuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9oaXQtdGVzdC9pZGxoYXJu
ZXNzLmh0dHBzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2VieHIvcmVuZGVyX3N0YXRlX3VwZGF0ZS5odHRwcy5odG1sCisgICAgICAgICAgICAg
ICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3dlYkdMQ2FudmFzQ29udGV4
dF9tYWtlY29tcGF0aWJsZV9yZWVudHJhbnQuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJlZmVyZW5jZVNwYWNlX3JlbGF0
aW9uc2hpcHMuaHR0cHMuaHRtbAorCisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0
U291cmNlQXJyYXkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJJbnB1dFNvdXJjZUFycmF5
OjpjcmVhdGUpOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3Vy
Y2VBcnJheS5oOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJTZXNzaW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OldlYlhSU2Vzc2lvbjo6V2ViWFJTZXNzaW9uKTogSW5pdGlhbGl6ZSB0
aGUgbV9pbnB1dFNvdXJjZXMuCisgICAgICAgIChXZWJDb3JlOjpXZWJYUlNlc3Npb246OmlucHV0
U291cmNlcyBjb25zdCk6IFJldHVybiBhIGNvbnN0IHJlZmVyZW5jZS4KKyAgICAgICAgKiBNb2R1
bGVzL3dlYnhyL1dlYlhSU2Vzc2lvbi5oOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvWFJJbnB1
dFNvdXJjZXNDaGFuZ2VFdmVudC5jcHA6IE1ha2UgaXQgaXNvIGFsbG9jYXRlZC4KKyAgICAgICAg
KiBNb2R1bGVzL3dlYnhyL1hSSW5wdXRTb3VyY2VzQ2hhbmdlRXZlbnQuaDogRGl0dG8uCisgICAg
ICAgICogTW9kdWxlcy93ZWJ4ci9YUlNlc3Npb25FdmVudC5jcHA6IERpdHRvLgorICAgICAgICAq
IE1vZHVsZXMvd2VieHIvWFJTZXNzaW9uRXZlbnQuaDogRGl0dG8uCisKIDIwMjAtMDgtMDUgIFJv
YiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZW1vdmUgdGhlIFN0eWxlUmVz
b2x2ZXItc3BlY2lmaWMgZXZhbHVhdGUgZnVuY3Rpb24gaW4gTWVkaWFRdWVyeUV2YWx1YXRvcgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNl
QXJyYXkuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNl
QXJyYXkuY3BwCmluZGV4IGM0YzA4NTUzMmJjZDlhYWMyNzM4MDkwYmZhM2ZkZGZlYTQzMzU1ZDMu
LjAwN2EwMjgyOWNkZGQxNWMyMDlkZjkyOTg3NjQ0ZmEwMGE1YTdmNmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZUFycmF5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2VBcnJheS5jcHAK
QEAgLTI5LDExICsyOSwxNyBAQAogI2lmIEVOQUJMRShXRUJYUikKIAogI2luY2x1ZGUgPHd0Zi9J
c29NYWxsb2NJbmxpbmVzLmg+CisjaW5jbHVkZSA8d3RmL1JlZi5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChXZWJYUklucHV0U291cmNlQXJy
YXkpOwogCitSZWY8V2ViWFJJbnB1dFNvdXJjZUFycmF5PiBXZWJYUklucHV0U291cmNlQXJyYXk6
OmNyZWF0ZSgpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViWFJJbnB1dFNvdXJjZUFy
cmF5KCkpOworfQorCiB1bnNpZ25lZCBXZWJYUklucHV0U291cmNlQXJyYXk6Omxlbmd0aCgpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhSSW5wdXRTb3VyY2VBcnJheS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJ4ci9XZWJYUklucHV0U291cmNlQXJyYXkuaAppbmRleCA1NDU4YjM1NzkwMDFlN2FlZWI0NGNm
ODZjZDA4MWNkZjAzYjJiYTBjLi5kOGM0NmRkNzZiODhjNTk2YzdmZDAwMWFkNjgzMWVkZjNlYjA1
NzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRT
b3VyY2VBcnJheS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1
dFNvdXJjZUFycmF5LmgKQEAgLTM3LDExICszNywxNCBAQCBjbGFzcyBXZWJYUklucHV0U291cmNl
OwogY2xhc3MgV2ViWFJJbnB1dFNvdXJjZUFycmF5IDogcHVibGljIFJlZkNvdW50ZWQ8V2ViWFJJ
bnB1dFNvdXJjZUFycmF5PiB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChXZWJYUklucHV0
U291cmNlQXJyYXkpOwogcHVibGljOgorICAgIHN0YXRpYyBSZWY8V2ViWFJJbnB1dFNvdXJjZUFy
cmF5PiBjcmVhdGUoKTsKKyAgICB+V2ViWFJJbnB1dFNvdXJjZUFycmF5KCkgPSBkZWZhdWx0Owor
CiAgICAgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3Q7CiAgICAgV2ViWFJJbnB1dFNvdXJjZSogaXRl
bSh1bnNpZ25lZCkgY29uc3Q7CiAKIHByaXZhdGU6Ci0gICAgV2ViWFJJbnB1dFNvdXJjZUFycmF5
KCk7CisgICAgV2ViWFJJbnB1dFNvdXJjZUFycmF5KCkgPSBkZWZhdWx0OwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4
ci9XZWJYUlNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNl
c3Npb24uY3BwCmluZGV4IDVmM2E2MDE0NmI2ZTQ0MWNjNDEwN2FjNDJkNTY1NjA0ZGU5YzY3YzIu
LmQzODhiYzMxZjc0ZWU2YmQzNTJhNTk3M2EyOGY5ZTRkZWExMTE1MDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU2Vzc2lvbi5jcHAKQEAgLTQ2LDYgKzQ2LDcgQEAg
UmVmPFdlYlhSU2Vzc2lvbj4gV2ViWFJTZXNzaW9uOjpjcmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50
LCBXZWJYUlN5c3RlbSYgc3lzdGVtLAogCiBXZWJYUlNlc3Npb246OldlYlhSU2Vzc2lvbihEb2N1
bWVudCYgZG9jdW1lbnQsIFdlYlhSU3lzdGVtJiBzeXN0ZW0sIFhSU2Vzc2lvbk1vZGUgbW9kZSwg
UGxhdGZvcm1YUjo6RGV2aWNlJiBkZXZpY2UpCiAgICAgOiBBY3RpdmVET01PYmplY3QoJmRvY3Vt
ZW50KQorICAgICwgbV9pbnB1dFNvdXJjZXMoV2ViWFJJbnB1dFNvdXJjZUFycmF5OjpjcmVhdGUo
KSkKICAgICAsIG1feHJTeXN0ZW0oc3lzdGVtKQogICAgICwgbV9tb2RlKG1vZGUpCiAgICAgLCBt
X2RldmljZShtYWtlV2Vha1B0cihkZXZpY2UpKQpAQCAtODEsNyArODIsNyBAQCBjb25zdCBXZWJY
UlJlbmRlclN0YXRlJiBXZWJYUlNlc3Npb246OnJlbmRlclN0YXRlKCkgY29uc3QKIAogY29uc3Qg
V2ViWFJJbnB1dFNvdXJjZUFycmF5JiBXZWJYUlNlc3Npb246OmlucHV0U291cmNlcygpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuICptX2lucHV0U291cmNlczsKKyAgICByZXR1cm4gbV9pbnB1dFNvdXJj
ZXM7CiB9CiAKIHZvaWQgV2ViWFJTZXNzaW9uOjp1cGRhdGVSZW5kZXJTdGF0ZShjb25zdCBYUlJl
bmRlclN0YXRlSW5pdCYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhy
L1dlYlhSU2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNlc3Np
b24uaAppbmRleCA1MDFlOTVjYzJlZTQ4ZDVlYTdjZWYzNmUwMjAzNGM1YjA2ZjA0MTRmLi40NzZi
MTZkNTU2YWQwOTBiMjhmOGI0MTQ1ZjZiOTc0NjMzY2EzYTE5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2VieHIvV2ViWFJTZXNzaW9uLmgKQEAgLTEwOSw3ICsxMDksNyBAQCBwcml2YXRl
OgogICAgIFhSRW52aXJvbm1lbnRCbGVuZE1vZGUgbV9lbnZpcm9ubWVudEJsZW5kTW9kZTsKICAg
ICBYUkludGVyYWN0aW9uTW9kZSBtX2ludGVyYWN0aW9uTW9kZTsKICAgICBYUlZpc2liaWxpdHlT
dGF0ZSBtX3Zpc2liaWxpdHlTdGF0ZTsKLSAgICBSZWZQdHI8V2ViWFJJbnB1dFNvdXJjZUFycmF5
PiBtX2lucHV0U291cmNlczsKKyAgICBSZWY8V2ViWFJJbnB1dFNvdXJjZUFycmF5PiBtX2lucHV0
U291cmNlczsKICAgICBib29sIG1fZW5kZWQgeyBmYWxzZSB9OwogCiAgICAgV2ViWFJTeXN0ZW0m
IG1feHJTeXN0ZW07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1hS
SW5wdXRTb3VyY2VzQ2hhbmdlRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4
ci9YUklucHV0U291cmNlc0NoYW5nZUV2ZW50LmNwcAppbmRleCA3MDljMjJmZmU0NTkwNWEwNmZh
MWM4OTAwNzg0MzBkNzAxNjgwYTBhLi44MGI5NWRiZWU4ZDkxNDJjNTlkMTNjM2I3MTY2Zjg1NzQ4
ZWNjMjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1hSSW5wdXRT
b3VyY2VzQ2hhbmdlRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIv
WFJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVudC5jcHAKQEAgLTMwLDkgKzMwLDEyIEBACiAKICNpbmNs
dWRlICJXZWJYUklucHV0U291cmNlLmgiCiAjaW5jbHVkZSAiV2ViWFJTZXNzaW9uLmgiCisjaW5j
bHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitX
VEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoWFJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVudCk7CisK
IFJlZjxYUklucHV0U291cmNlc0NoYW5nZUV2ZW50PiBYUklucHV0U291cmNlc0NoYW5nZUV2ZW50
OjpjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgSW5pdCYgaW5pdGlhbGl6ZXIs
IElzVHJ1c3RlZCBpc1RydXN0ZWQpCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgWFJJbnB1
dFNvdXJjZXNDaGFuZ2VFdmVudCh0eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1hSSW5wdXRTb3VyY2VzQ2hhbmdl
RXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvWFJJbnB1dFNvdXJjZXNDaGFu
Z2VFdmVudC5oCmluZGV4IDJlNGVjYzc3NGY5OGRiMzBhMjIyODE4MGE4ZTZhYjYzOGEyYzQ4YTEu
LjAzYTY0YjdiNjhkNGY2MjI2ZDQyZDFmMjdlZDIzMjIxZDI2ZThhODQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvWFJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvWFJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVu
dC5oCkBAIC0zNyw2ICszNyw3IEBAIGNsYXNzIFdlYlhSSW5wdXRTb3VyY2U7CiBjbGFzcyBXZWJY
UlNlc3Npb247CiAKIGNsYXNzIFhSSW5wdXRTb3VyY2VzQ2hhbmdlRXZlbnQgZmluYWwgOiBwdWJs
aWMgRXZlbnQgeworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoWFJJbnB1dFNvdXJjZXNDaGFu
Z2VFdmVudCk7CiBwdWJsaWM6CiAgICAgc3RydWN0IEluaXQgOiBFdmVudEluaXQgewogICAgICAg
ICBSZWZQdHI8V2ViWFJTZXNzaW9uPiBzZXNzaW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJ4ci9YUlNlc3Npb25FdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnhyL1hSU2Vzc2lvbkV2ZW50LmNwcAppbmRleCBkZjg3NDhjOGEwMWEyOGRlYjZiNTQ4
MWZjYzU0YTdjMWQ4N2U2ZGNkLi4yYWM2ZTBlNjUzOTA4NzQ3OTJhOGExY2MxMzAxMmQ2MjExNWM2
ODM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1hSU2Vzc2lvbkV2
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1hSU2Vzc2lvbkV2ZW50
LmNwcApAQCAtMjgsMTAgKzI4LDEzIEBACiAKICNpZiBFTkFCTEUoV0VCWFIpCiAKKyNpbmNsdWRl
IDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogI2luY2x1ZGUgIldlYlhSU2Vzc2lvbi5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChYUlNlc3Np
b25FdmVudCk7CisKIFJlZjxYUlNlc3Npb25FdmVudD4gWFJTZXNzaW9uRXZlbnQ6OmNyZWF0ZShj
b25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBJbml0JiBpbml0aWFsaXplciwgSXNUcnVzdGVk
IGlzVHJ1c3RlZCkKIHsKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBYUlNlc3Npb25FdmVudCh0
eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnhyL1hSU2Vzc2lvbkV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1hSU2Vzc2lvbkV2ZW50LmgKaW5kZXggOWU4Y2ViNDA3MmQ1ZWNmNjlhZjBlZmJlNzBi
M2Y5Zjg2NDRhZjk5YS4uOTc0NmQ0ODk4NGU0NjJhYjhmM2RiYzg4Mjk2ODU3OGQ0YWY4NmZkMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUlNlc3Npb25FdmVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvWFJTZXNzaW9uRXZlbnQuaApAQCAt
MzQsNiArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBXZWJYUlNlc3Npb247CiAK
IGNsYXNzIFhSU2Vzc2lvbkV2ZW50IGZpbmFsIDogcHVibGljIEV2ZW50IHsKKyAgICBXVEZfTUFL
RV9JU09fQUxMT0NBVEVEKFhSU2Vzc2lvbkV2ZW50KTsKIHB1YmxpYzoKICAgICBzdHJ1Y3QgSW5p
dCA6IEV2ZW50SW5pdCB7CiAgICAgICAgIFJlZlB0cjxXZWJYUlNlc3Npb24+IHNlc3Npb247CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggNGYxYjViZDk5OTQxMTFjMThhOTdmNjM5ZTA0MjVlZTZhMzhlMDdkNS4uOGUwYjYxNTY5
YmQ3ZDMyMjE0ZTkzOGFhYzhkZWVlN2MzNzBiNmEzMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisy
MDIwLTA4LTA2ICBTZXJnaW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtXZWJYUl0gVXBkYXRlIFdlYlhSIFdQVCBkaXJlY3RvcnkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTIyNAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vd3BlL1Rlc3RFeHBl
Y3RhdGlvbnM6IFNraXBwZWQgb25lIHRlc3QgdGhhdCBzdGFydGVkIHRvIGZhaWwgYWZ0ZXIgdGhl
IGltcG9ydC4KKwogMjAyMC0wOC0wNSAgTGF1cm8gTW91cmEgIDxsbW91cmFAaWdhbGlhLmNvbT4K
IAogICAgICAgICBbR1RLXVtXUEVdIEdhcmRlbiBiYWNrZHJvcC1maWx0ZXIgZGVidWcgY3Jhc2hl
cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNjY2ZDI2MTNjNGZmNmUwMzk0NmUx
NTUxZjVmZjllZGZhZDUzNzhhOC4uN2Q2YmEyNWNjYTQ0MWIwZDVkMGUyZDMzYWEwNzFkNTMwZWE3
OGMxYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzggQEAKKzIw
MjAtMDgtMDYgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CisKKyAg
ICAgICAgW1dlYlhSXSBVcGRhdGUgV2ViWFIgV1BUIGRpcmVjdG9yeQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MjI0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd2Vi
eHIvYW5jaG9ycy9hcl9hbmNob3JfZnJlZWZsb2F0aW5nX2NyZWF0ZV9tb3ZlLmh0dHBzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9hbmNob3JzL2FyX2Fu
Y2hvcl9mcmVlZmxvYXRpbmdfZGVsYXlfY3JlYXRpb24uaHR0cHMuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2FuY2hvcnMvYXJfYW5jaG9yX2ZyZWVmbG9h
dGluZ19mYWlsdXJlLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJ4ci9hbmNob3JzL2FyX2FuY2hvcl9mcmVlZmxvYXRpbmdfcGF1c2VfcmVzdW1lX3N0
b3AuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhy
L2FuY2hvcnMvYXJfYW5jaG9yX3N0YXRlcy5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvYW5jaG9ycy9pZGxoYXJuZXNzLmh0dHBzLndpbmRvdy5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvYW5jaG9ycy9p
ZGxoYXJuZXNzLmh0dHBzLndpbmRvdy5qczogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9hci1tb2R1bGUvaWRsaGFybmVzcy5odHRw
cy53aW5kb3cuanMuCisgICAgICAgIChhc3luYyBpZGxfYXJyYXkpOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy93ZWJ4ci9hbmNob3JzL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvYXItbW9kdWxlL2lkbGhhcm5lc3MuaHR0cHMu
d2luZG93LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIv
YXItbW9kdWxlL2lkbGhhcm5lc3MuaHR0cHMud2luZG93LmpzOgorICAgICAgICAoYXN5bmMgaWRs
X2FycmF5KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvZG9tLW92ZXJsYXkv
YXJfZG9tX292ZXJsYXkuaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
d2VieHIvZG9tLW92ZXJsYXkvYXJfZG9tX292ZXJsYXlfaGl0X3Rlc3QuaHR0cHMuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2RvbS1vdmVybGF5L2lkbGhh
cm5lc3MuaHR0cHMud2luZG93Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJ4ci9kb20tb3ZlcmxheS9pZGxoYXJuZXNzLmh0dHBzLndpbmRvdy5qczogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9h
ci1tb2R1bGUvaWRsaGFybmVzcy5odHRwcy53aW5kb3cuanMuCisgICAgICAgIChhc3luYyBpZGxf
YXJyYXkpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9kb20tb3ZlcmxheS93
M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvZXZlbnRz
X2lucHV0X3NvdXJjZXNfY2hhbmdlLmh0dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3dlYnhyL2V2ZW50c19yZWZlcmVuY2VTcGFjZV9yZXNldF9pbW1lcnNpdmUuaHR0cHMu
aHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvZXZlbnRzX3Nlc3Npb25f
c2VsZWN0Lmh0dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2V2
ZW50c19zZXNzaW9uX3NlbGVjdF9zdWJmcmFtZS5odHRwcy5odG1sOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy93ZWJ4ci9ldmVudHNfc2Vzc2lvbl9zcXVlZXplLmh0dHBzLmh0bWw6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2dhbWVwYWRzLW1vZHVsZS94cklucHV0
U291cmNlX2dhbWVwYWRfZGlzY29ubmVjdC5odHRwcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy93ZWJ4ci9nYW1lcGFkcy1tb2R1bGUveHJJbnB1dFNvdXJjZV9nYW1lcGFkX2lu
cHV0X3JlZ2lzdGVyZWQuaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
d2VieHIvZ2V0SW5wdXRQb3NlX2hhbmRlZG5lc3MuaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvd2VieHIvZ2V0SW5wdXRQb3NlX3BvaW50ZXIuaHR0cHMuaHRtbDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvZ2V0Vmlld2VyUG9zZV9lbXVsYXRlZFBv
c2l0aW9uLmh0dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2hp
dC10ZXN0L2FyX2hpdHRlc3Rfc3Vic2NyaXB0aW9uX2lucHV0U291cmNlcy5odHRwcy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvaGl0LXRlc3QvYXJfaGl0
dGVzdF9zdWJzY3JpcHRpb25fcmVmU3BhY2VzLmh0dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3dlYnhyL2hpdC10ZXN0L2FyX2hpdHRlc3Rfc3Vic2NyaXB0aW9uX3N0YXRl
c19yZWd1bGFyLmh0dHBzLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2hpdC10ZXN0L2FyX2hpdHRlc3Rfc3Vic2NyaXB0
aW9uX3N0YXRlcy5odHRwcy5odG1sLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4
ci9oaXQtdGVzdC9hcl9oaXR0ZXN0X3N1YnNjcmlwdGlvbl9zdGF0ZXNfdHJhbnNpZW50Lmh0dHBz
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9oaXQtdGVz
dC9hcl9oaXR0ZXN0X3N1YnNjcmlwdGlvbl90cmFuc2llbnRJbnB1dFNvdXJjZXMuaHR0cHMuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2hpdC10ZXN0L2lk
bGhhcm5lc3MuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3dlYnhyL2hpdC10ZXN0L3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJ4ci9oaXQtdGVzdC94clJheV9jb25zdHJ1Y3Rvci5odHRwcy5odG1sOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9pZGxoYXJuZXNzLmh0dHBzLndpbmRvdy1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2lkbGhhcm5lc3Mu
aHR0cHMud2luZG93LmpzOgorICAgICAgICAoYXN5bmMgaWRsX2FycmF5KToKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvcmVuZGVyX3N0YXRlX3VwZGF0ZS5odHRwcy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvcmVzb3VyY2VzL3dlYnhy
X3Rlc3RfY29uc3RhbnRzLmpzOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9y
ZXNvdXJjZXMvd2VieHJfdXRpbC5qczoKKyAgICAgICAgKHhyX2RlYnVnKToKKyAgICAgICAgKGFz
eW5jIHJlcXVlc3RTa2lwQW5pbWF0aW9uRnJhbWUpOgorICAgICAgICAoYXN5bmMgbG9hZENocm9t
aXVtUmVzb3VyY2VzKToKKyAgICAgICAgKHNldHVwV2ViS2l0V2ViWFJUZXN0QVBJKToKKyAgICAg
ICAgKHhyX3Byb21pc2VfdGVzdCk6IERlbGV0ZWQuCisgICAgICAgIChhc3luYyB4cl9zZXNzaW9u
X3Byb21pc2VfdGVzdCk6IERlbGV0ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dl
YnhyL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci93
ZWJHTENhbnZhc0NvbnRleHRfY3JlYXRlX3hyY29tcGF0aWJsZS5odHRwcy5odG1sOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci93ZWJHTENhbnZhc0NvbnRleHRfbWFrZWNvbXBh
dGlibGVfY29udGV4dGxvc3QuaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvd2VieHIvd2ViR0xDYW52YXNDb250ZXh0X21ha2Vjb21wYXRpYmxlX3JlZW50cmFudC5odHRw
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJCb3Vu
ZGVkUmVmZXJlbmNlU3BhY2VfdXBkYXRlcy5odHRwcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy93ZWJ4ci94cklucHV0U291cmNlX2FkZF9yZW1vdmUuaHR0cHMuaHRtbDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJJbnB1dFNvdXJjZV9lbXVsYXRlZFBv
c2l0aW9uLmh0dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hy
SW5wdXRTb3VyY2VfcHJvZmlsZXMuaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvd2VieHIveHJJbnB1dFNvdXJjZV9zYW1lT2JqZWN0Lmh0dHBzLmh0bWw6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyUG9zZV90cmFuc2Zvcm1fc2FtZU9iamVjdC5o
dHRwcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJlZmVyZW5j
ZVNwYWNlX29yaWdpbk9mZnNldC5odHRwcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJ4ci94clJlZmVyZW5jZVNwYWNlX29yaWdpbk9mZnNldEJvdW5kZWQuaHR0cHMuaHRt
bDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJSZWZlcmVuY2VTcGFjZV9y
ZWxhdGlvbnNoaXBzLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJ4ci94clNlc3Npb25faW5wdXRfZXZlbnRzX2VuZC5odHRwcy5odG1sOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clNlc3Npb25fcmVxdWVzdEFuaW1hdGlvbkZy
YW1lX3RpbWVzdGFtcC5odHRwcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93
ZWJ4ci94clNlc3Npb25fc2FtZU9iamVjdC5odHRwcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy93ZWJ4ci94clNlc3Npb25fdmlzaWJpbGl0eVN0YXRlLmh0dHBzLmh0bWw6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyU3RhdGlvbmFyeVJlZmVyZW5jZVNw
YWNlX2Zsb29ybGV2ZWxfdXBkYXRlcy5odHRwcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy93ZWJ4ci94cldlYkdMTGF5ZXJfY29uc3RydWN0b3IuaHR0cHMuaHRtbDoKKwogMjAy
MC0wOC0wNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBj
b25zdHJ1Y3RvciBmb3IgRHluYW1pY3NDb21wcmVzc29yTm9kZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9hbmNob3JzL2FyX2Fu
Y2hvcl9mcmVlZmxvYXRpbmdfY3JlYXRlX21vdmUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvYW5jaG9ycy9hcl9hbmNob3JfZnJl
ZWZsb2F0aW5nX2NyZWF0ZV9tb3ZlLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWYxODk4Y2FjMmVi
YTM4YThiNzY5NjIxNzA4Y2JjOTU3NzJjOGEyYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvYW5jaG9ycy9hcl9hbmNo
b3JfZnJlZWZsb2F0aW5nX2NyZWF0ZV9tb3ZlLmh0dHBzLmh0bWwKQEAgLTAsMCArMSw5NSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYnhyX3V0aWwuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJ4cl90ZXN0X2Fzc2VydHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJ4cl90ZXN0X2NvbnN0YW50cy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYnhyX3Rlc3RfY29uc3Rh
bnRzX2Zha2Vfd29ybGQuanMiPjwvc2NyaXB0PgorPGNhbnZhcyAvPgorCis8c2NyaXB0PgorCisv
LyAxbSBhYm92ZSB3b3JsZCBvcmlnaW4uCitjb25zdCBWSUVXRVJfT1JJR0lOX1RSQU5TRk9STSA9
IHsKKyAgcG9zaXRpb246IFswLCAxLCAwXSwKKyAgb3JpZW50YXRpb246IFswLCAwLCAwLCAxXSwK
K307CisKK2NvbnN0IGZha2VEZXZpY2VJbml0UGFyYW1zID0geworICBzdXBwb3J0ZWRNb2Rlczog
WyJpbW1lcnNpdmUtYXIiXSwKKyAgdmlld3M6IFZBTElEX1ZJRVdTLAorICBzdXBwb3J0ZWRGZWF0
dXJlczogQUxMX0ZFQVRVUkVTLAorICB2aWV3ZXJPcmlnaW46IFZJRVdFUl9PUklHSU5fVFJBTlNG
T1JNLAorfTsKKworLy8gQWxsIHRlc3QgY2FzZXMgcmVxdWlyZSBhbmNob3JzLgorY29uc3Qgc2Vz
c2lvbkluaXQgPSB7ICdyZXF1aXJlZEZlYXR1cmVzJzogWydhbmNob3JzJ10gfTsKKworLy8gQ3Jl
YXRlIGFuIGFuY2hvciwgbW92ZSBpdCBhbmQgdmVyaWZ5IHRoYXQgbmV3IHBvc2UgZ2V0cyBwcm9w
YWdhdGVkIHRvIHRoZSBjYWxsZXIuCitjb25zdCBhbmNob3JDcmVhdGVBbmRNb3ZlID0gZnVuY3Rp
b24oc2Vzc2lvbiwgZmFrZURldmljZUNvbnRyb2xsZXIsIHQpIHsKKyAgY29uc3QgZGVidWcgPSB4
cl9kZWJ1Zy5iaW5kKHRoaXMsICdhbmNob3JDcmVhdGVBbmRNb3ZlJyk7CisKKyAgbGV0IGFuY2hv
ckNvbnRyb2xsZXIgPSBudWxsOworICBmYWtlRGV2aWNlQ29udHJvbGxlci5zZXRBbmNob3JDcmVh
dGlvbkNhbGxiYWNrKChwYXJhbWV0ZXJzLCBjb250cm9sbGVyKSA9PiB7CisgICAgICBhbmNob3JD
b250cm9sbGVyID0gY29udHJvbGxlcjsKKyAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodHJ1
ZSk7CisgIH0pOworCisgIGNvbnN0IHdhdGNoZXJEb25lID0gbmV3IEV2ZW50KCJ3YXRjaGVyZG9u
ZSIpOworICBjb25zdCBldmVudFdhdGNoZXIgPSBuZXcgRXZlbnRXYXRjaGVyKHQsIHNlc3Npb24s
IFsid2F0Y2hlcmRvbmUiXSk7CisgIGNvbnN0IGV2ZW50UHJvbWlzZSA9IGV2ZW50V2F0Y2hlci53
YWl0X2ZvcihbIndhdGNoZXJkb25lIl0pOworCisgIHNlc3Npb24ucmVxdWVzdFJlZmVyZW5jZVNw
YWNlKCdsb2NhbCcpLnRoZW4oKGxvY2FsUmVmU3BhY2UpID0+IHsKKyAgICBkZWJ1ZygicmVxdWVz
dGluZyBhbmltYXRpb24gZnJhbWUiKTsKKworICAgIHNlc3Npb24ucmVxdWVzdEFuaW1hdGlvbkZy
YW1lKCh0aW1lLCBmcmFtZSkgPT4geworICAgICAgZGVidWcoInJBRiAxIik7CisKKyAgICAgIGxl
dCBjcmVhdGVkQW5jaG9yID0gbnVsbDsKKyAgICAgIGZyYW1lLmNyZWF0ZUFuY2hvcihuZXcgWFJS
aWdpZFRyYW5zZm9ybSgpLCBsb2NhbFJlZlNwYWNlKQorICAgICAgICAudGhlbigoYW5jaG9yKSA9
PiB7CisgICAgICAgICAgY3JlYXRlZEFuY2hvciA9IGFuY2hvcjsKKyAgICAgICAgfSk7CisKKyAg
ICAgIHNlc3Npb24ucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCh0aW1lXzIsIGZyYW1lXzIpID0+IHsK
KyAgICAgICAgZGVidWcoInJBRiAyIik7CisKKyAgICAgICAgY29uc3QgcHJlX21vdmVfcG9zZSA9
IGZyYW1lXzIuZ2V0UG9zZShjcmVhdGVkQW5jaG9yLmFuY2hvclNwYWNlLCBsb2NhbFJlZlNwYWNl
KTsKKworICAgICAgICB0LnN0ZXAoKCkgPT4geworICAgICAgICAgIGFzc2VydF90cnVlKGZyYW1l
XzIudHJhY2tlZEFuY2hvcnMuaGFzKGNyZWF0ZWRBbmNob3IpLAorICAgICAgICAgICAgICAgICAg
ICAgICJOZXdseSBjcmVhdGVkIGFuY2hvciBtdXN0IGJlIGluIHRyYWNrZWQgYW5jaG9ycyBzZXQg
b24gc3Vic2VxdWVudCBSQUYgKDIpISIpOworICAgICAgICAgIC8vIFdlIGhhdmUgY3JlYXRlZCBh
biBhbmNob3Igd2l0aCBhbiBpZGVudGl0eSBwb3NlIHJlbGF0aXZlIHRvIGxvY2FsIHNwYWNlIGFu
ZCBoYXZlIG5vdCBtb3ZlZCBpdCB5ZXQ6CisgICAgICAgICAgYXNzZXJ0X21hdHJpeF9hcHByb3hf
ZXF1YWxzKHByZV9tb3ZlX3Bvc2UudHJhbnNmb3JtLm1hdHJpeCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgSURFTlRJVFlfTUFUUklYLCBGTE9BVF9FUFNJTE9OKTsKKyAg
ICAgICAgfSk7CisKKyAgICAgICAgYW5jaG9yQ29udHJvbGxlci5zZXRBbmNob3JPcmlnaW4oVkFM
SURfUE9TRV9UUkFOU0ZPUk0pOworCisgICAgICAgIHNlc3Npb24ucmVxdWVzdEFuaW1hdGlvbkZy
YW1lKCh0aW1lXzMsIGZyYW1lXzMpID0+IHsKKyAgICAgICAgICBkZWJ1ZygickFGIDMiKTsKKwor
ICAgICAgICAgIGNvbnN0IHBvc3RfbW92ZV9wb3NlID0gZnJhbWVfMy5nZXRQb3NlKGNyZWF0ZWRB
bmNob3IuYW5jaG9yU3BhY2UsIGxvY2FsUmVmU3BhY2UpOworCisgICAgICAgICAgdC5zdGVwKCgp
ID0+IHsKKyAgICAgICAgICAgIGFzc2VydF90cnVlKGZyYW1lXzMudHJhY2tlZEFuY2hvcnMuaGFz
KGNyZWF0ZWRBbmNob3IpLAorICAgICAgICAgICAgICAgICAgICAgICAgIk5ld2x5IGNyZWF0ZWQg
YW5jaG9yIG11c3QgYmUgaW4gdHJhY2tlZCBhbmNob3JzIHNldCBvbiBzdWJzZXF1ZW50IFJBRiAo
MykhIik7CisgICAgICAgICAgICAvLyBUaGUgYW5jaG9yIHdhcyBtb3ZlZCBieSBWQUxJRF9QT1NF
X1RSQU5TRk9STSwgdmFsaWRhdGUgdGhhdCBpdHMgcG9zZSBnb3QgYWRqdXN0ZWQ6CisgICAgICAg
ICAgICBhc3NlcnRfbWF0cml4X2FwcHJveF9lcXVhbHMocG9zdF9tb3ZlX3Bvc2UudHJhbnNmb3Jt
Lm1hdHJpeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWQUxJRF9Q
T1NFX01BVFJJWCwgRkxPQVRfRVBTSUxPTik7CisgICAgICAgICAgfSk7CisKKyAgICAgICAgICBz
ZXNzaW9uLmRpc3BhdGNoRXZlbnQod2F0Y2hlckRvbmUpOworICAgICAgICB9KTsKKyAgICAgIH0p
OworICAgIH0pOworICB9KTsgLy8gc2Vzc2lvbi5yZXF1ZXN0UmVmZXJlbmNlU3BhY2UoLi4uKS50
aGVuKHsuLi59KTsKKworICByZXR1cm4gZXZlbnRQcm9taXNlOworfTsKKworeHJfc2Vzc2lvbl9w
cm9taXNlX3Rlc3QoCisgICJFbnN1cmVzIGZyZWUtZmxvYXRpbmcgYW5jaG9yIG1vdmUgZ2V0cyBw
cm9wYWdhdGVkIHRvIGFuY2hvciBwb3NlcyIsCisgIGFuY2hvckNyZWF0ZUFuZE1vdmUsIGZha2VE
ZXZpY2VJbml0UGFyYW1zLCAnaW1tZXJzaXZlLWFyJywgc2Vzc2lvbkluaXQpOworCis8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2VieHIvYW5jaG9ycy9hcl9hbmNob3JfZnJlZWZsb2F0aW5nX2RlbGF5X2NyZWF0aW9uLmh0
dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dl
YnhyL2FuY2hvcnMvYXJfYW5jaG9yX2ZyZWVmbG9hdGluZ19kZWxheV9jcmVhdGlvbi5odHRwcy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmEyZjQzODc4MTgxM2U5NjNlODI5ZjIyNGE0Zjc5ZWU2YWViMGQ0NmYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dlYnhyL2FuY2hvcnMvYXJfYW5jaG9yX2ZyZWVmbG9hdGluZ19kZWxheV9jcmVhdGlv
bi5odHRwcy5odG1sCkBAIC0wLDAgKzEsMTIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvd2VieHJfdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3dlYnhyX3Rlc3RfYXNzZXJ0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3dlYnhyX3Rlc3RfY29uc3RhbnRzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvd2VieHJfdGVzdF9jb25zdGFudHNfZmFrZV93b3JsZC5qcyI+PC9zY3Jp
cHQ+Cis8Y2FudmFzIC8+CisKKzxzY3JpcHQ+CisKKy8vIDFtIGFib3ZlIHdvcmxkIG9yaWdpbi4K
K2NvbnN0IFZJRVdFUl9PUklHSU5fVFJBTlNGT1JNID0geworICBwb3NpdGlvbjogWzAsIDEsIDBd
LAorICBvcmllbnRhdGlvbjogWzAsIDAsIDAsIDFdLAorfTsKKworY29uc3QgZmFrZURldmljZUlu
aXRQYXJhbXMgPSB7CisgIHN1cHBvcnRlZE1vZGVzOiBbImltbWVyc2l2ZS1hciJdLAorICB2aWV3
czogVkFMSURfVklFV1MsCisgIHN1cHBvcnRlZEZlYXR1cmVzOiBBTExfRkVBVFVSRVMsCisgIHZp
ZXdlck9yaWdpbjogVklFV0VSX09SSUdJTl9UUkFOU0ZPUk0sCit9OworCisvLyBBbGwgdGVzdCBj
YXNlcyByZXF1aXJlIGFuY2hvcnMuCitjb25zdCBzZXNzaW9uSW5pdCA9IHsgJ3JlcXVpcmVkRmVh
dHVyZXMnOiBbJ2FuY2hvcnMnXSB9OworCisvLyBDcmVhdGVzIGEgdGVzdCBmdW5jdGlvbiB0aGF0
IHdpbGwgYXR0ZW1wdCB0byBjcmVhdGUgYW4gYW5jaG9yIHdpdGggYSBkZWxheS4KKy8vIEluIGNh
c2UgdGhlIGFuY2hvciBjcmVhdGlvbiBpcyBleHBlY3RlZCB0byBzdWNjZWVkLCB0aGUgdGVzdCB3
aWxsIHRoZW4KKy8vIHZhbGlkYXRlIHdoZXRoZXIgdGhlIGFuY2hvciBiZWxvbmdzIHRvIGZyYW1l
LnRyYWNrZWRBbmNob3JzLCBoYXMgYSB2YWxpZCBwb3NlLAorLy8gYW5kIHRoYXQgYWZ0ZXIgZGVs
ZXRpbmcgaXQsIGl0IG5vIGxvbmdlciBhbGxvd3MgYWNjZXNzIHRvIGl0cyBhbmNob3JTcGFjZS4K
Ky8vIHxzaG91bGRTdWNjZWVkfCAtIHRydWUgaWYgdGhlIGFuY2hvciBjcmVhdGlvbiBpcyBleHBl
Y3RlZCB0byBzdWNjZWVkLgorY29uc3QgYW5jaG9yQ3JlYXRpb25EZWxheWVkQ3JlYXRvciA9IGZ1
bmN0aW9uKHNob3VsZFN1Y2NlZWQpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKHNlc3Npb24sIGZha2VE
ZXZpY2VDb250cm9sbGVyLCB0KSB7CisgICAgY29uc3QgZGVidWcgPSB4cl9kZWJ1Zy5iaW5kKHRo
aXMsICdhbmNob3JDcmVhdGlvbkRlbGF5ZWQnICsgKHNob3VsZFN1Y2NlZWQgPyAnU3VjY2Vzcycg
OiAnRmFpbHVyZScpKTsKKworICAgIGxldCBhbmNob3JDcmVhdGlvblJlc29sdmUgPSBudWxsOwor
ICAgIGZha2VEZXZpY2VDb250cm9sbGVyLnNldEFuY2hvckNyZWF0aW9uQ2FsbGJhY2soKHBhcmFt
ZXRlcnMsIGNvbnRyb2xsZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNv
bHZlKSA9PiB7CisgICAgICAgICAgYW5jaG9yQ3JlYXRpb25SZXNvbHZlID0gcmVzb2x2ZTsKKyAg
ICAgICAgfSk7CisgICAgfSk7CisKKyAgICBjb25zdCB3YXRjaGVyRG9uZSA9IG5ldyBFdmVudCgi
d2F0Y2hlcmRvbmUiKTsKKyAgICBjb25zdCBjcmVhdGlvbkRlbGF5ZWRFdmVudCA9IG5ldyBFdmVu
dCgiY3JlYXRpb25kZWxheWVkIik7CisgICAgY29uc3QgZXZlbnRXYXRjaGVyID0gbmV3IEV2ZW50
V2F0Y2hlcih0LCBzZXNzaW9uLCBbImNyZWF0aW9uZGVsYXllZCIsICJ3YXRjaGVyZG9uZSJdKTsK
KyAgICBjb25zdCBldmVudFByb21pc2UgPSBldmVudFdhdGNoZXIud2FpdF9mb3IoWyJjcmVhdGlv
bmRlbGF5ZWQiLCAid2F0Y2hlcmRvbmUiXSk7CisKKyAgICBzZXNzaW9uLnJlcXVlc3RSZWZlcmVu
Y2VTcGFjZSgnbG9jYWwnKS50aGVuKChsb2NhbFJlZlNwYWNlKSA9PiB7CisgICAgICBkZWJ1Zygi
cmVxdWVzdGluZyBhbmltYXRpb24gZnJhbWUiKTsKKworICAgICAgc2Vzc2lvbi5yZXF1ZXN0QW5p
bWF0aW9uRnJhbWUoKHRpbWUsIGZyYW1lKSA9PiB7CisgICAgICAgIGRlYnVnKCJyQUYgMSIpOwor
CisgICAgICAgIGxldCBjcmVhdGVkQW5jaG9yID0gbnVsbDsKKyAgICAgICAgZnJhbWUuY3JlYXRl
QW5jaG9yKG5ldyBYUlJpZ2lkVHJhbnNmb3JtKCksIGxvY2FsUmVmU3BhY2UpCisgICAgICAgICAg
LnRoZW4oKGFuY2hvcikgPT4geworICAgICAgICAgICAgY3JlYXRlZEFuY2hvciA9IGFuY2hvcjsK
KworICAgICAgICAgICAgdC5zdGVwKCgpID0+IHsKKyAgICAgICAgICAgICAgYXNzZXJ0X3RydWUo
YW5jaG9yICE9IG51bGwsICJSZXR1cm5lZCBhbmNob3Igc2hvdWxkIG5vdCBiZSBudWxsISIpOwor
ICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShzaG91bGRTdWNjZWVkLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAiQW5jaG9yIGNyZWF0aW9uIHN1Y2NlZWRlZCB3aGVuIGl0IHdhcyBleHBlY3Rl
ZCB0byBmYWlsISIpOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgfSkKKyAgICAgICAgICAu
Y2F0Y2goKGVycm9yKSA9PiB7CisgICAgICAgICAgICB0LnN0ZXAoKCkgPT4geworICAgICAgICAg
ICAgICBhc3NlcnRfZmFsc2Uoc2hvdWxkU3VjY2VlZCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJBbmNob3IgY3JlYXRpb24gZmFpbGVkIHdoZW4gaXQgd2FzIGV4cGVjdGVkIHRvIHN1Y2Nl
ZWQhIik7CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgc2Vzc2lvbi5kaXNwYXRjaEV2
ZW50KHdhdGNoZXJEb25lKTsKKyAgICAgICAgICB9KTsKKworICAgICAgICBzZXNzaW9uLnJlcXVl
c3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgICAgZGVidWcoInJBRiAyIik7CisKKyAg
ICAgICAgICBzZXNzaW9uLmRpc3BhdGNoRXZlbnQoY3JlYXRpb25EZWxheWVkRXZlbnQpOworCisg
ICAgICAgICAgYW5jaG9yQ3JlYXRpb25SZXNvbHZlKHNob3VsZFN1Y2NlZWQpOworCisgICAgICAg
ICAgc2Vzc2lvbi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKHRpbWVfMiwgZnJhbWVfMikgPT4gewor
ICAgICAgICAgICAgZGVidWcoInJBRiAzIik7CisKKyAgICAgICAgICAgIGlmKHNob3VsZFN1Y2Nl
ZWQpIHsKKyAgICAgICAgICAgICAgdC5zdGVwKCgpID0+IHsKKyAgICAgICAgICAgICAgICBhc3Nl
cnRfdHJ1ZShjcmVhdGVkQW5jaG9yICE9IG51bGwpOworICAgICAgICAgICAgICAgIGFzc2VydF90
cnVlKGZyYW1lXzIudHJhY2tlZEFuY2hvcnMuaGFzKGNyZWF0ZWRBbmNob3IpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJOZXdseSBjcmVhdGVkIGFuY2hvciBtdXN0IGJlIGluIHRyYWNr
ZWQgYW5jaG9ycyBzZXQhIik7CisgICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUoY3JlYXRlZEFu
Y2hvci5hbmNob3JTcGFjZSAhPSBudWxsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJO
ZXdseSBjcmVhdGVkIGFuY2hvciBtdXN0IGhhdmUgYSBub24tbnVsbCBhbmNob3Igc3BhY2UhIik7
CisgICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUoZnJhbWVfMi5nZXRQb3NlKGNyZWF0ZWRBbmNo
b3IuYW5jaG9yU3BhY2UsIGxvY2FsUmVmU3BhY2UpICE9IG51bGwsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIk5ld2x5IGNyZWF0ZWQgYW5jaG9yIHNob3VsZCBoYXZlIGEgcG9zZSEiKTsK
KyAgICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgICAgY3JlYXRlZEFuY2hvci5kZWxldGUo
KTsKKworICAgICAgICAgICAgICB0LnN0ZXAoKCkgPT4geworICAgICAgICAgICAgICAgIGFzc2Vy
dF90aHJvd3NfZG9tKCdJbnZhbGlkU3RhdGVFcnJvcicsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICAgIGNyZWF0ZWRBbmNob3IuYW5jaG9yU3BhY2U7CisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICAgIH0pOworCisgICAgICAgICAgICAgIHNlc3Npb24uZGlzcGF0Y2hFdmVudCh3YXRj
aGVyRG9uZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgfSk7CisgICAgICAgIH0pOworICAg
ICAgfSk7CisgICAgfSk7IC8vIHNlc3Npb24ucmVxdWVzdFJlZmVyZW5jZVNwYWNlKC4uLikudGhl
bih7Li4ufSk7CisKKyAgICByZXR1cm4gZXZlbnRQcm9taXNlOworICB9OworfTsKKworeHJfc2Vz
c2lvbl9wcm9taXNlX3Rlc3QoCisgICJFbnN1cmVzIGZyZWUtZmxvYXRpbmcgYW5jaG9yIGNyZWF0
aW9uIHdpdGggZGVsYXllZCBzdWNjZXNzIGlzIGhhbmRsZWQgY29ycmVjdGx5IiwKKyAgYW5jaG9y
Q3JlYXRpb25EZWxheWVkQ3JlYXRvcih0cnVlKSwgZmFrZURldmljZUluaXRQYXJhbXMsICdpbW1l
cnNpdmUtYXInLCBzZXNzaW9uSW5pdCk7CisKK3hyX3Nlc3Npb25fcHJvbWlzZV90ZXN0KAorICAi
RW5zdXJlcyBmcmVlLWZsb2F0aW5nIGFuY2hvciBjcmVhdGlvbiB3aXRoIGRlbGF5ZWQgZmFpbHVy
ZSBpcyBoYW5kbGVkIGNvcnJlY3RseSIsCisgIGFuY2hvckNyZWF0aW9uRGVsYXllZENyZWF0b3Io
ZmFsc2UpLCBmYWtlRGV2aWNlSW5pdFBhcmFtcywgJ2ltbWVyc2l2ZS1hcicsIHNlc3Npb25Jbml0
KTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dlYnhyL2FuY2hvcnMvYXJfYW5jaG9yX2ZyZWVmbG9hdGluZ19mYWls
dXJlLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dlYnhyL2FuY2hvcnMvYXJfYW5jaG9yX2ZyZWVmbG9hdGluZ19mYWlsdXJlLmh0dHBzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTYyNTUzOGQ3NTQyOTY1ZjA3YTE5ZWI1MzRmZGIzMWIxZmI0OTA4Mgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2VieHIvYW5jaG9ycy9hcl9hbmNob3JfZnJlZWZsb2F0aW5nX2ZhaWx1cmUuaHR0cHMu
aHRtbApAQCAtMCwwICsxLDczIEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvd2VieHJfdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dl
YnhyX3Rlc3RfYXNzZXJ0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3dlYnhyX3Rlc3RfY29uc3RhbnRzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvd2VieHJfdGVzdF9jb25zdGFudHNfZmFrZV93b3JsZC5qcyI+PC9zY3JpcHQ+Cis8Y2Fu
dmFzIC8+CisKKzxzY3JpcHQ+CisKKy8vIDFtIGFib3ZlIHdvcmxkIG9yaWdpbi4KK2NvbnN0IFZJ
RVdFUl9PUklHSU5fVFJBTlNGT1JNID0geworICBwb3NpdGlvbjogWzAsIDEsIDBdLAorICBvcmll
bnRhdGlvbjogWzAsIDAsIDAsIDFdLAorfTsKKworY29uc3QgZmFrZURldmljZUluaXRQYXJhbXMg
PSB7CisgIHN1cHBvcnRlZE1vZGVzOiBbImltbWVyc2l2ZS1hciJdLAorICB2aWV3czogVkFMSURf
VklFV1MsCisgIHN1cHBvcnRlZEZlYXR1cmVzOiBBTExfRkVBVFVSRVMsCisgIHZpZXdlck9yaWdp
bjogVklFV0VSX09SSUdJTl9UUkFOU0ZPUk0sCit9OworCisvLyBBbGwgdGVzdCBjYXNlcyByZXF1
aXJlIGFuY2hvcnMuCitjb25zdCBzZXNzaW9uSW5pdCA9IHsgJ3JlcXVpcmVkRmVhdHVyZXMnOiBb
J2FuY2hvcnMnXSB9OworCisvLyBGYWlsIHRoZSBhbmNob3IgY3JlYXRpb24gJiBzZWUgaWYgaXQg
Z2V0cyBjb21tdW5pY2F0ZWQgdG8gdGhlIGNhbGxlci4KKy8vIFRoZSBjb25jcmV0ZSBlcnJvciBp
cyBub3Qgc3BlY2lmaWVkIGJ5IHRoZSBXZWJYUiBUZXN0IEFQSSAvIFdlYlhSIEFuY2hvcnMuCitj
b25zdCBhbmNob3JDcmVhdGlvbkZhaWwgPSBmdW5jdGlvbihzZXNzaW9uLCBmYWtlRGV2aWNlQ29u
dHJvbGxlciwgdCkgeworICBjb25zdCBkZWJ1ZyA9IHhyX2RlYnVnLmJpbmQodGhpcywgJ2FuY2hv
ckNyZWF0aW9uRmFpbCcpOworCisgIGZha2VEZXZpY2VDb250cm9sbGVyLnNldEFuY2hvckNyZWF0
aW9uQ2FsbGJhY2soKHBhcmFtZXRlcnMsIGNvbnRyb2xsZXIpID0+IHsKKyAgICAgIC8vIEltbWVk
aWF0ZWx5IGZhaWwgYW5jaG9yIGNyZWF0aW9uLgorICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2
ZShmYWxzZSk7CisgIH0pOworCisgIGNvbnN0IHdhdGNoZXJEb25lID0gbmV3IEV2ZW50KCJ3YXRj
aGVyZG9uZSIpOworICBjb25zdCBldmVudFdhdGNoZXIgPSBuZXcgRXZlbnRXYXRjaGVyKHQsIHNl
c3Npb24sIFsid2F0Y2hlcmRvbmUiXSk7CisgIGNvbnN0IGV2ZW50UHJvbWlzZSA9IGV2ZW50V2F0
Y2hlci53YWl0X2ZvcihbIndhdGNoZXJkb25lIl0pOworCisgIHNlc3Npb24ucmVxdWVzdFJlZmVy
ZW5jZVNwYWNlKCdsb2NhbCcpLnRoZW4oKGxvY2FsUmVmU3BhY2UpID0+IHsKKyAgICBkZWJ1Zygi
cmVxdWVzdGluZyBhbmltYXRpb24gZnJhbWUiKTsKKworICAgIHNlc3Npb24ucmVxdWVzdEFuaW1h
dGlvbkZyYW1lKCh0aW1lLCBmcmFtZSkgPT4geworICAgICAgZGVidWcoInJBRiAxIik7CisKKyAg
ICAgIGZyYW1lLmNyZWF0ZUFuY2hvcihuZXcgWFJSaWdpZFRyYW5zZm9ybSgpLCBsb2NhbFJlZlNw
YWNlKQorICAgICAgICAudGhlbigoYW5jaG9yKSA9PiB7CisgICAgICAgICAgdC5zdGVwKCgpID0+
IHsKKyAgICAgICAgICAgIGFzc2VydF9mYWxzZSh0cnVlLCAiQW5jaG9yIGNyZWF0aW9uIHNob3Vs
ZCBmYWlsISIpOworICAgICAgICAgIH0pOworICAgICAgICB9KQorICAgICAgICAuY2F0Y2goKGVy
cm9yKSA9PiB7CisgICAgICAgICAgc2Vzc2lvbi5kaXNwYXRjaEV2ZW50KHdhdGNoZXJEb25lKTsK
KyAgICAgICAgfSk7CisKKyAgICAgIC8vIEFuY2hvciByZXN1bHQgd2lsbCBvbmx5IHRha2UgZWZm
ZWN0IHdpdGggZnJhbWUgZGF0YSAtIHNjaGVkdWxlCisgICAgICAvLyBhIGZyYW1lIGFmdGVyIHdl
IHJlcXVlc3RlZCBhbmNob3IgY3JlYXRpb24sIG90aGVyd2lzZSB0aGUgdGVzdCB3aWxsIHRpbWUg
b3V0LgorICAgICAgc2Vzc2lvbi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAg
ICBkZWJ1ZygickFGIDIiKTsKKyAgICAgIH0pOworICAgIH0pOworICB9KTsgLy8gc2Vzc2lvbi5y
ZXF1ZXN0UmVmZXJlbmNlU3BhY2UoLi4uKS50aGVuKHsuLi59KTsKKworICByZXR1cm4gZXZlbnRQ
cm9taXNlOworfQorCit4cl9zZXNzaW9uX3Byb21pc2VfdGVzdCgKKyAgIkVuc3VyZXMgZnJlZS1m
bG9hdGluZyBhbmNob3IgY3JlYXRpb24gZmFpbHVyZSBpcyBoYW5kbGVkIGNvcnJlY3RseSIsCisg
IGFuY2hvckNyZWF0aW9uRmFpbCwgZmFrZURldmljZUluaXRQYXJhbXMsICdpbW1lcnNpdmUtYXIn
LCBzZXNzaW9uSW5pdCk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9hbmNob3JzL2FyX2FuY2hvcl9mcmVl
ZmxvYXRpbmdfcGF1c2VfcmVzdW1lX3N0b3AuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvYW5jaG9ycy9hcl9hbmNob3JfZnJlZWZs
b2F0aW5nX3BhdXNlX3Jlc3VtZV9zdG9wLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDNjYzRjNzJk
ZDJlODgwMTZhYmU3YWZhYmUzZTVhYmQxMmI5MTAxOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvYW5jaG9ycy9hcl9h
bmNob3JfZnJlZWZsb2F0aW5nX3BhdXNlX3Jlc3VtZV9zdG9wLmh0dHBzLmh0bWwKQEAgLTAsMCAr
MSwxMTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJ4cl91dGls
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2VieHJfdGVzdF9hc3Nl
cnRzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2VieHJfdGVzdF9j
b25zdGFudHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJ4cl90
ZXN0X2NvbnN0YW50c19mYWtlX3dvcmxkLmpzIj48L3NjcmlwdD4KKzxjYW52YXMgLz4KKworPHNj
cmlwdD4KKworLy8gMW0gYWJvdmUgd29ybGQgb3JpZ2luLgorY29uc3QgVklFV0VSX09SSUdJTl9U
UkFOU0ZPUk0gPSB7CisgIHBvc2l0aW9uOiBbMCwgMSwgMF0sCisgIG9yaWVudGF0aW9uOiBbMCwg
MCwgMCwgMV0sCit9OworCitjb25zdCBmYWtlRGV2aWNlSW5pdFBhcmFtcyA9IHsKKyAgc3VwcG9y
dGVkTW9kZXM6IFsiaW1tZXJzaXZlLWFyIl0sCisgIHZpZXdzOiBWQUxJRF9WSUVXUywKKyAgc3Vw
cG9ydGVkRmVhdHVyZXM6IEFMTF9GRUFUVVJFUywKKyAgdmlld2VyT3JpZ2luOiBWSUVXRVJfT1JJ
R0lOX1RSQU5TRk9STSwKK307CisKKy8vIEFsbCB0ZXN0IGNhc2VzIHJlcXVpcmUgYW5jaG9ycy4K
K2NvbnN0IHNlc3Npb25Jbml0ID0geyAncmVxdWlyZWRGZWF0dXJlcyc6IFsnYW5jaG9ycyddIH07
CisKKy8vIENyZWF0ZSBhbiBhbmNob3IsIHBhdXNlIHRyYWNraW5nLCByZXN1bWUgdHJhY2tpbmcs
ICYgc3RvcCB0cmFja2luZyBhbmQgdmFsaWRhdGUKKy8vIHRoYXQgdGhlIHN0YXRlIGNoYW5nZXMg
YXJlIHByb3BhZ2F0ZWQgdG8gdGhlIGNhbGxlci4KK2NvbnN0IGFuY2hvckNyZWF0ZVBhdXNlVHJh
Y2tpbmdSZXN1bWVBbmREZWxldGUgPSBmdW5jdGlvbihzZXNzaW9uLCBmYWtlRGV2aWNlQ29udHJv
bGxlciwgdCkgeworICBjb25zdCBkZWJ1ZyA9IHhyX2RlYnVnLmJpbmQodGhpcywgJ2FuY2hvckNy
ZWF0ZVBhdXNlVHJhY2tpbmdSZXN1bWVBbmREZWxldGUnKTsKKworICBsZXQgYW5jaG9yQ29udHJv
bGxlciA9IG51bGw7CisgIGZha2VEZXZpY2VDb250cm9sbGVyLnNldEFuY2hvckNyZWF0aW9uQ2Fs
bGJhY2soKHBhcmFtZXRlcnMsIGNvbnRyb2xsZXIpID0+IHsKKyAgICAgIGFuY2hvckNvbnRyb2xs
ZXIgPSBjb250cm9sbGVyOworICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0cnVlKTsKKyAg
fSk7CisKKyAgY29uc3Qgd2F0Y2hlckRvbmUgPSBuZXcgRXZlbnQoIndhdGNoZXJkb25lIik7Cisg
IGNvbnN0IGV2ZW50V2F0Y2hlciA9IG5ldyBFdmVudFdhdGNoZXIodCwgc2Vzc2lvbiwgWyJ3YXRj
aGVyZG9uZSJdKTsKKyAgY29uc3QgZXZlbnRQcm9taXNlID0gZXZlbnRXYXRjaGVyLndhaXRfZm9y
KFsid2F0Y2hlcmRvbmUiXSk7CisKKyAgc2Vzc2lvbi5yZXF1ZXN0UmVmZXJlbmNlU3BhY2UoJ2xv
Y2FsJykudGhlbigobG9jYWxSZWZTcGFjZSkgPT4geworICAgIGRlYnVnKCJyZXF1ZXN0aW5nIGFu
aW1hdGlvbiBmcmFtZSIpOworCisgICAgc2Vzc2lvbi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKHRp
bWUsIGZyYW1lKSA9PiB7CisgICAgICBkZWJ1ZygickFGIDEiKTsKKworICAgICAgbGV0IGNyZWF0
ZWRBbmNob3IgPSBudWxsOworICAgICAgZnJhbWUuY3JlYXRlQW5jaG9yKG5ldyBYUlJpZ2lkVHJh
bnNmb3JtKCksIGxvY2FsUmVmU3BhY2UpCisgICAgICAgIC50aGVuKChhbmNob3IpID0+IHsKKyAg
ICAgICAgICBjcmVhdGVkQW5jaG9yID0gYW5jaG9yOworICAgICAgICB9KTsKKworICAgICAgc2Vz
c2lvbi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKHRpbWVfMiwgZnJhbWVfMikgPT4geworICAgICAg
ICBkZWJ1ZygickFGIDIiKTsKKworICAgICAgICB0LnN0ZXAoKCkgPT4geworICAgICAgICAgIGFz
c2VydF90cnVlKGZyYW1lXzIuZ2V0UG9zZShjcmVhdGVkQW5jaG9yLmFuY2hvclNwYWNlLCBsb2Nh
bFJlZlNwYWNlKSAhPSBudWxsLAorICAgICAgICAgICAgICAgICAgICAgICJOZXdseSBjcmVhdGVk
IGFuY2hvciBzaG91bGQgaGF2ZSBhIHBvc2UhIik7CisgICAgICAgICAgYXNzZXJ0X3RydWUoZnJh
bWVfMi50cmFja2VkQW5jaG9ycy5oYXMoY3JlYXRlZEFuY2hvciksCisgICAgICAgICAgICAgICAg
ICAgICAgIk5ld2x5IGNyZWF0ZWQgYW5jaG9yIG11c3QgYmUgaW4gdHJhY2tlZCBhbmNob3JzIHNl
dCBvbiBzdWJzZXF1ZW50IFJBRiAoMikhIik7CisgICAgICAgIH0pOworCisgICAgICAgIGFuY2hv
ckNvbnRyb2xsZXIucGF1c2VUcmFja2luZygpOworCisgICAgICAgIHNlc3Npb24ucmVxdWVzdEFu
aW1hdGlvbkZyYW1lKCh0aW1lXzMsIGZyYW1lXzMpID0+IHsKKyAgICAgICAgICBkZWJ1ZygickFG
IDMiKTsKKworICAgICAgICAgIHQuc3RlcCgoKSA9PiB7CisgICAgICAgICAgICBhc3NlcnRfdHJ1
ZShmcmFtZV8zLmdldFBvc2UoY3JlYXRlZEFuY2hvci5hbmNob3JTcGFjZSwgbG9jYWxSZWZTcGFj
ZSkgPT0gbnVsbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJOZXdseSBjcmVhdGVkIGFuY2hv
ciB3aXRoIHBhdXNlZCB0cmFja2luZyBzaG91bGQgbm90IGhhdmUgYSBwb3NlISIpOworICAgICAg
ICAgICAgYXNzZXJ0X3RydWUoZnJhbWVfMy50cmFja2VkQW5jaG9ycy5oYXMoY3JlYXRlZEFuY2hv
ciksCisgICAgICAgICAgICAgICAgICAgICAgICAiTmV3bHkgY3JlYXRlZCBhbmNob3Igd2l0aCBw
YXVzZWQgdHJhY2tpbmcgbXVzdCBiZSBpbiB0cmFja2VkIGFuY2hvcnMgc2V0IG9uIHN1YnNlcXVl
bnQgUkFGICgzKSEiKTsKKyAgICAgICAgICB9KTsKKworICAgICAgICAgIGFuY2hvckNvbnRyb2xs
ZXIucmVzdW1lVHJhY2tpbmcoKTsKKworICAgICAgICAgIHNlc3Npb24ucmVxdWVzdEFuaW1hdGlv
bkZyYW1lKCh0aW1lXzQsIGZyYW1lXzQpID0+IHsKKyAgICAgICAgICAgIGRlYnVnKCJyQUYgNCIp
OworCisgICAgICAgICAgICB0LnN0ZXAoKCkgPT4geworICAgICAgICAgICAgICBhc3NlcnRfdHJ1
ZShmcmFtZV80LnRyYWNrZWRBbmNob3JzLmhhcyhjcmVhdGVkQW5jaG9yKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIk5ld2x5IGNyZWF0ZWQgYW5jaG9yIHdpdGggcmVzdW1lZCB0cmFja2lu
ZyBtdXN0IGJlIGluIHRyYWNrZWQgYW5jaG9ycyBzZXQgb24gc3Vic2VxdWVudCBSQUYgKDQpISIp
OworICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShmcmFtZV80LmdldFBvc2UoY3JlYXRlZEFuY2hv
ci5hbmNob3JTcGFjZSwgbG9jYWxSZWZTcGFjZSkgIT0gbnVsbCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIk5ld2x5IGNyZWF0ZWQgYW5jaG9yIHdpdGggcmVzdW1lZCB0cmFja2luZyBzaG91
bGQgaGF2ZSBhIHBvc2UhIik7CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgYW5jaG9y
Q29udHJvbGxlci5zdG9wVHJhY2tpbmcoKTsKKworICAgICAgICAgICAgc2Vzc2lvbi5yZXF1ZXN0
QW5pbWF0aW9uRnJhbWUoKHRpbWVfNSwgZnJhbWVfNSkgPT4geworICAgICAgICAgICAgICBkZWJ1
ZygickFGIDUiKTsKKworICAgICAgICAgICAgICB0LnN0ZXAoKCkgPT4geworICAgICAgICAgICAg
ICAgIGFzc2VydF9mYWxzZShmcmFtZV81LnRyYWNrZWRBbmNob3JzLmhhcyhjcmVhdGVkQW5jaG9y
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTmV3bHkgY3JlYXRlZCBhbmNob3Igd2l0
aCBzdG9wcGVkIHRyYWNraW5nIG11c3Qgbm90IGJlIGluIHRyYWNrZWQgYW5jaG9ycyBzZXQgb24g
c3Vic2VxdWVudCBSQUYgKDUpISIpOworICAgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAg
ICBzZXNzaW9uLmRpc3BhdGNoRXZlbnQod2F0Y2hlckRvbmUpOworICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgfSk7CisgICAgICAgIH0pOworICAgICAgfSk7CisgICAgfSk7CisgIH0pOyAvLyBz
ZXNzaW9uLnJlcXVlc3RSZWZlcmVuY2VTcGFjZSguLi4pLnRoZW4oey4uLn0pOworCisgIHJldHVy
biBldmVudFByb21pc2U7Cit9OworCisKK3hyX3Nlc3Npb25fcHJvbWlzZV90ZXN0KAorICAiRW5z
dXJlcyBmcmVlLWZsb2F0aW5nIGFuY2hvciBzdGF0ZSBjaGFuZ2VzIGdldCBwcm9wYWdhdGVkIiwK
KyAgYW5jaG9yQ3JlYXRlUGF1c2VUcmFja2luZ1Jlc3VtZUFuZERlbGV0ZSwgZmFrZURldmljZUlu
aXRQYXJhbXMsCisgICdpbW1lcnNpdmUtYXInLCBzZXNzaW9uSW5pdCk7CisKKzwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
ZWJ4ci9hbmNob3JzL2FyX2FuY2hvcl9zdGF0ZXMuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvYW5jaG9ycy9hcl9hbmNob3Jfc3Rh
dGVzLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTg3MmNmNTI3YjhiNWVjMWYyNWQwNDRiODAyMWY1
Yjc1ZWE5ZTRhNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvYW5jaG9ycy9hcl9hbmNob3Jfc3RhdGVzLmh0dHBzLmh0
bWwKQEAgLTAsMCArMSwxMTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy93ZWJ4cl91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2Vi
eHJfdGVzdF9hc3NlcnRzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
d2VieHJfdGVzdF9jb25zdGFudHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy93ZWJ4cl90ZXN0X2NvbnN0YW50c19mYWtlX3dvcmxkLmpzIj48L3NjcmlwdD4KKzxjYW52
YXMgLz4KKworPHNjcmlwdD4KKworLy8gMW0gYWJvdmUgd29ybGQgb3JpZ2luLgorY29uc3QgVklF
V0VSX09SSUdJTl9UUkFOU0ZPUk0gPSB7CisgIHBvc2l0aW9uOiBbMCwgMSwgMF0sCisgIG9yaWVu
dGF0aW9uOiBbMCwgMCwgMCwgMV0sCit9OworCitjb25zdCBmYWtlRGV2aWNlSW5pdFBhcmFtcyA9
IHsKKyAgc3VwcG9ydGVkTW9kZXM6IFsiaW1tZXJzaXZlLWFyIl0sCisgIHZpZXdzOiBWQUxJRF9W
SUVXUywKKyAgc3VwcG9ydGVkRmVhdHVyZXM6IEFMTF9GRUFUVVJFUywKKyAgdmlld2VyT3JpZ2lu
OiBWSUVXRVJfT1JJR0lOX1RSQU5TRk9STSwKK307CisKKy8vIENyZWF0ZXMgYSB0ZXN0IG1ldGhv
ZCB0aGF0IGxldmVyYWdlcyBhbmNob3JzIEFQSS4KKy8vIHxleHBlY3RTdWNjZWVkZWR8IC0gdHJ1
ZSBpZiB0aGUgYW5jaG9ycyBjcmVhdGlvbiByZXF1ZXN0IGlzIGV4cGVjdGVkIHRvIHN1Y2NlZWQs
IGZhbHNlIG90aGVyd2lzZQorLy8gfGVuZFNlc3Npb258IC0gdHJ1ZSBpZiB0aGUgdGVzdCBjYXNl
IHNob3VsZCBjYWxsIHNlc3Npb24uZW5kKCkgcHJpb3IgdG8gY3JlYXRpbmcgYW4gYW5jaG9yCisv
LyB8ZXhwZWN0ZWRFcnJvcnwgLSBleHBlY3RlZCBlcnJvciBuYW1lIHRoYXQgc2hvdWxkIGJlIHJl
dHVybmVkIGluIGNhc2UgZXhwZWN0U3VjY2VlZGVkIGlzIGZhbHNlCitjb25zdCB0ZXN0RnVuY3Rp
b25HZW5lcmF0b3IgPSBmdW5jdGlvbihleHBlY3RTdWNjZWVkZWQsIGVuZFNlc3Npb24sIGV4cGVj
dGVkRXJyb3IpIHsKKworICBjb25zdCB0ZXN0RnVuY3Rpb24gPSBmdW5jdGlvbihzZXNzaW9uLCBm
YWtlRGV2aWNlQ29udHJvbGxlciwgdCkgeworCisgICAgY29uc3QgZGVidWcgPSB4cl9kZWJ1Zy5i
aW5kKHRoaXMsICd0ZXN0QW5jaG9yU3RhdGVzJyk7CisKKyAgICBmYWtlRGV2aWNlQ29udHJvbGxl
ci5zZXRBbmNob3JDcmVhdGlvbkNhbGxiYWNrKChwYXJhbWV0ZXJzLCBjb250cm9sbGVyKSA9PiB7
CisgICAgICAvLyBBbGwgYW5jaG9yIGNyZWF0aW9uIHJlcXVlc3RzIHRoYXQgcmVhY2ggdGhpcyBz
dGFnZSBzaG91bGQgYmUgbWFya2VkIGFzIHN1Y2Nlc3NmdWwuCisgICAgICAvLyBJZiB0aGlzIHRl
c3QgaXMgZXhwZWN0ZWQgdG8gZmFpbCwgdGhlIGZhaWx1cmUgd2lsbCBoYXBwZW4gZWFybGllciBp
biB0aGUgYW5jaG9yCisgICAgICAvLyBjcmVhdGlvbiBwcm9jZXNzLgorICAgICAgcmV0dXJuIFBy
b21pc2UucmVzb2x2ZSh0cnVlKTsKKyAgICB9KTsKKworICAgIGNvbnN0IHdhdGNoZXJEb25lID0g
bmV3IEV2ZW50KCJ3YXRjaGVyZG9uZSIpOworICAgIGNvbnN0IGV2ZW50V2F0Y2hlciA9IG5ldyBF
dmVudFdhdGNoZXIodCwgc2Vzc2lvbiwgWyJ3YXRjaGVyZG9uZSJdKTsKKyAgICBjb25zdCBldmVu
dFByb21pc2UgPSBldmVudFdhdGNoZXIud2FpdF9mb3IoWyJ3YXRjaGVyZG9uZSJdKTsKKworICAg
IHNlc3Npb24ucmVxdWVzdFJlZmVyZW5jZVNwYWNlKCdsb2NhbCcpLnRoZW4oKGxvY2FsUmVmU3Bh
Y2UpID0+IHsKKworICAgICAgY29uc3Qgb25GcmFtZSA9IGZ1bmN0aW9uKHRpbWUsIGZyYW1lKSB7
CisgICAgICAgIGRlYnVnKCJyQUYgMSIpOworCisgICAgICAgIGxldCBzZXRVcFByb21pc2UgPSBQ
cm9taXNlLnJlc29sdmUoKTsKKyAgICAgICAgaWYoZW5kU2Vzc2lvbikgeworICAgICAgICAgIGRl
YnVnKCJlbmRpbmcgc2Vzc2lvbiIpOworICAgICAgICAgIHNldFVwUHJvbWlzZSA9IHNlc3Npb24u
ZW5kKCk7CisgICAgICAgIH0KKworICAgICAgICBzZXRVcFByb21pc2UudGhlbigoKSA9PiB7Cisg
ICAgICAgICAgZGVidWcoImNyZWF0aW5nIGFuY2hvciIpOworICAgICAgICAgIGZyYW1lLmNyZWF0
ZUFuY2hvcihuZXcgWFJSaWdpZFRyYW5zZm9ybSgpLCBsb2NhbFJlZlNwYWNlKQorICAgICAgICAg
ICAgLnRoZW4oKGFuY2hvcikgPT4geworICAgICAgICAgICAgICBkZWJ1ZygiYW5jaG9yIGNyZWF0
ZWQiKTsKKworICAgICAgICAgICAgICB0LnN0ZXAoKCkgPT4geworICAgICAgICAgICAgICAgIGFz
c2VydF90cnVlKGV4cGVjdFN1Y2NlZWRlZCwKKyAgICAgICAgICAgICAgICAgICJgY3JlYXRlQW5j
aG9yYCBzdWNjZWVkZWQgd2hlbiBpdCB3YXMgZXhwZWN0ZWQgdG8gZmFpbCIpOworICAgICAgICAg
ICAgICB9KTsKKworICAgICAgICAgICAgICBzZXNzaW9uLmRpc3BhdGNoRXZlbnQod2F0Y2hlckRv
bmUpOworICAgICAgICAgICAgfSkuY2F0Y2goKGVycm9yKSA9PiB7CisgICAgICAgICAgICAgIGRl
YnVnKCJhbmNob3IgY3JlYXRpb24gZmFpbGVkIik7CisKKyAgICAgICAgICAgICAgdC5zdGVwKCgp
ID0+ICB7CisgICAgICAgICAgICAgICAgYXNzZXJ0X2ZhbHNlKGV4cGVjdFN1Y2NlZWRlZCwKKyAg
ICAgICAgICAgICAgICAgICJgY3JlYXRlQW5jaG9yYCBmYWlsZWQgd2hlbiBpdCB3YXMgZXhwZWN0
ZWQgdG8gc3VjY2VlZCwgZXJyb3I6ICIgKyBlcnJvcik7CisgICAgICAgICAgICAgICAgYXNzZXJ0
X2VxdWFscyhlcnJvci5uYW1lLCBleHBlY3RlZEVycm9yLAorICAgICAgICAgICAgICAgICAgImBj
cmVhdGVBbmNob3JgIGZhaWxlZCB3aXRoIHVuZXhwZWN0ZWQgZXJyb3IgbmFtZSIpOworICAgICAg
ICAgICAgICB9KTsKKworICAgICAgICAgICAgICBzZXNzaW9uLmRpc3BhdGNoRXZlbnQod2F0Y2hl
ckRvbmUpOworICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAvLyBBbmNob3IgcmVzdWx0IHdp
bGwgb25seSB0YWtlIGVmZmVjdCB3aXRoIGZyYW1lIGRhdGEgLSBzY2hlZHVsZQorICAgICAgICAg
IC8vIGEgZnJhbWUgYWZ0ZXIgd2UgcmVxdWVzdGVkIGFuY2hvciBjcmVhdGlvbiwgb3RoZXJ3aXNl
IHRoZSB0ZXN0IHdpbGwgdGltZSBvdXQuCisgICAgICAgICAgc2Vzc2lvbi5yZXF1ZXN0QW5pbWF0
aW9uRnJhbWUoKCkgPT4geworICAgICAgICAgICAgZGVidWcoInJBRiAyIik7CisgICAgICAgICAg
fSk7CisgICAgICAgIH0pOyAvLyBzZXRVcFByb21pc2UudGhlbigoKSA9PiB7IC4uLiB9KQorICAg
ICAgfTsgLy8gb25GcmFtZSgpIHsgLi4uIH0KKworICAgICAgZGVidWcoInJlcXVlc3RpbmcgYW5p
bWF0aW9uIGZyYW1lIik7CisgICAgICBzZXNzaW9uLnJlcXVlc3RBbmltYXRpb25GcmFtZShvbkZy
YW1lKTsKKyAgICB9KTsgLy8gc2Vzc2lvbi5yZXF1ZXN0UmVmZXJlbmNlU3BhY2UoLi4uKQorCisg
ICAgcmV0dXJuIGV2ZW50UHJvbWlzZTsKKyAgfTsgIC8vIHRlc3RGdW5jdGlvbgorCisgIHJldHVy
biB0ZXN0RnVuY3Rpb247Cit9OworCit4cl9zZXNzaW9uX3Byb21pc2VfdGVzdCgiQW5jaG9yIGNy
ZWF0aW9uIHN1Y2NlZWRzIGlmIHRoZSBmZWF0dXJlIHdhcyByZXF1ZXN0ZWQiLAorICB0ZXN0RnVu
Y3Rpb25HZW5lcmF0b3IoLypleHBlY3RTdWNjZWVkZWQ9Ki90cnVlLCAvKmVuZFNlc3Npb249Ki9m
YWxzZSksCisgIGZha2VEZXZpY2VJbml0UGFyYW1zLAorICAnaW1tZXJzaXZlLWFyJywgeyAncmVx
dWlyZWRGZWF0dXJlcyc6IFsnYW5jaG9ycyddIH0pOworCit4cl9zZXNzaW9uX3Byb21pc2VfdGVz
dCgiQW5jaG9yIGNyZWF0aW9uIGZhaWxzIGlmIHRoZSBmZWF0dXJlIHdhcyBub3QgcmVxdWVzdGVk
IiwKKyAgdGVzdEZ1bmN0aW9uR2VuZXJhdG9yKC8qZXhwZWN0U3VjY2VlZGVkPSovZmFsc2UsIC8q
ZW5kU2Vzc2lvbj0qL2ZhbHNlLCAiTm90U3VwcG9ydGVkRXJyb3IiKSwKKyAgZmFrZURldmljZUlu
aXRQYXJhbXMsCisgICdpbW1lcnNpdmUtYXInLCB7fSk7CisKK3hyX3Nlc3Npb25fcHJvbWlzZV90
ZXN0KCJBbmNob3IgY3JlYXRpb24gZmFpbHMgaWYgdGhlIGZlYXR1cmUgd2FzIHJlcXVlc3RlZCBi
dXQgdGhlIHNlc3Npb24gYWxyZWFkeSBlbmRlZCIsCisgIHRlc3RGdW5jdGlvbkdlbmVyYXRvcigv
KmV4cGVjdFN1Y2NlZWRlZD0qL2ZhbHNlLCAvKmVuZFNlc3Npb249Ki90cnVlLCAiSW52YWxpZFN0
YXRlRXJyb3IiKSwKKyAgZmFrZURldmljZUluaXRQYXJhbXMsCisgICdpbW1lcnNpdmUtYXInLCB7
ICdyZXF1aXJlZEZlYXR1cmVzJzogWydhbmNob3JzJ10gfSk7CisKKzwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9h
bmNob3JzL2lkbGhhcm5lc3MuaHR0cHMud2luZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2FuY2hvcnMvaWRsaGFybmVzcy5odHRwcy53
aW5kb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgw
YjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93ZWJ4ci9hbmNob3JzL2lkbGhhcm5lc3MuaHR0cHMud2luZG93Lmh0bWwK
QEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0
IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9hbmNob3JzL2lkbGhhcm5lc3MuaHR0cHMud2luZG93Lmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9hbmNo
b3JzL2lkbGhhcm5lc3MuaHR0cHMud2luZG93LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3YTVjOWU1NTgyZDUy
NGMyOTc2ZjAzYmFlZGYxNDhjZGRmNzkyNTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2FuY2hvcnMvaWRsaGFybmVz
cy5odHRwcy53aW5kb3cuanMKQEAgLTAsMCArMSwxNiBAQAorLy8gTUVUQTogc2NyaXB0PS9yZXNv
dXJjZXMvV2ViSURMUGFyc2VyLmpzCisvLyBNRVRBOiBzY3JpcHQ9L3Jlc291cmNlcy9pZGxoYXJu
ZXNzLmpzCisKKyd1c2Ugc3RyaWN0JzsKKworLy8gaHR0cHM6Ly9pbW1lcnNpdmUtd2ViLmdpdGh1
Yi5pby9hbmNob3JzLworCitpZGxfdGVzdCgKKyAgWydhbmNob3JzJ10sCisgIFsnaGl0LXRlc3Qn
LCAnd2VieHInLCAnZG9tJ10sCisgIGFzeW5jIGlkbF9hcnJheSA9PiB7CisgICAgaWRsX2FycmF5
LmFkZF9vYmplY3RzKHsKKyAgICAgIC8vIFRPRE86IEFkZCBvYmplY3QgaW5zdGFuY2VzCisgICAg
fSk7CisgIH0KKyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dlYnhyL2FuY2hvcnMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2FuY2hvcnMvdzNjLWltcG9ydC5s
b2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjNjNDkzYjczZDcwZDgxYjY4MTA5NjIyN2ZjZDFjN2JkMDVkODVkMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2VieHIvYW5jaG9ycy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDIyIEBACitUaGUg
dGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3Np
dG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5z
dGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8v
Z2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9T
Y3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBt
b2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVz
IHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWly
aW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxl
czoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2Fu
Y2hvcnMvYXJfYW5jaG9yX2ZyZWVmbG9hdGluZ19jcmVhdGVfbW92ZS5odHRwcy5odG1sCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9hbmNob3JzL2Fy
X2FuY2hvcl9mcmVlZmxvYXRpbmdfZGVsYXlfY3JlYXRpb24uaHR0cHMuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvYW5jaG9ycy9hcl9hbmNo
b3JfZnJlZWZsb2F0aW5nX2ZhaWx1cmUuaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvYW5jaG9ycy9hcl9hbmNob3JfZnJlZWZsb2F0
aW5nX3BhdXNlX3Jlc3VtZV9zdG9wLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2FuY2hvcnMvYXJfYW5jaG9yX3N0YXRlcy5odHRw
cy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4
ci9hbmNob3JzL2lkbGhhcm5lc3MuaHR0cHMud2luZG93LmpzCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2FyLW1vZHVsZS9pZGxo
YXJuZXNzLmh0dHBzLndpbmRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2FyLW1vZHVsZS9pZGxoYXJuZXNzLmh0dHBzLndp
bmRvdy1leHBlY3RlZC50eHQKaW5kZXggOTczNjljYjkzODNmZTVjOTRiMGYxZjVhNzQ1MzgzYTJl
M2M1MGIyZi4uNjBmNDU0MTViMjhiMDkwZmMxYjZmZmQxZmFlYTBkMjI1ZjQ4YThiZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9h
ci1tb2R1bGUvaWRsaGFybmVzcy5odHRwcy53aW5kb3ctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvYXItbW9kdWxlL2lk
bGhhcm5lc3MuaHR0cHMud2luZG93LWV4cGVjdGVkLnR4dApAQCAtOSw1ICs5LDcgQEAgUEFTUyBQ
YXJ0aWFsIGludGVyZmFjZSBYUlZpZXc6IG9yaWdpbmFsIGludGVyZmFjZSBkZWZpbmVkCiBQQVNT
IFBhcnRpYWwgaW50ZXJmYWNlIFhSVmlldzogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNT
IFhSU2Vzc2lvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBlbnZpcm9ubWVudEJsZW5kTW9kZSAKIFBB
U1MgWFJTZXNzaW9uIGludGVyZmFjZTogYXR0cmlidXRlIGludGVyYWN0aW9uTW9kZSAKK1BBU1Mg
WFJTZXNzaW9uIGludGVyZmFjZTogeHJTZXNzaW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZW52
aXJvbm1lbnRCbGVuZE1vZGUiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBYUlNlc3Npb24g
aW50ZXJmYWNlOiB4clNlc3Npb24gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJpbnRlcmFjdGlvbk1v
ZGUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogRkFJTCBYUlZpZXcgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgaXNGaXJzdFBlcnNvbk9ic2VydmVyIGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVj
dCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAiaXNGaXJzdFBlcnNvbk9ic2VydmVyIiBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dlYnhyL2FyLW1vZHVsZS9pZGxoYXJuZXNzLmh0dHBzLndpbmRvdy5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvYXIt
bW9kdWxlL2lkbGhhcm5lc3MuaHR0cHMud2luZG93LmpzCmluZGV4IDEyNjhmNGVhMmE1ZWIyMjhm
YjQ5YTZmMDZkODkwNWY4ZDk0ODBhZTcuLjUxY2MzYzQyODA4YTY2ZGRkZTA4M2I4OTgyMzE3ZThj
ZGQ5NjFjNzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2VieHIvYXItbW9kdWxlL2lkbGhhcm5lc3MuaHR0cHMud2luZG93LmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvYXItbW9k
dWxlL2lkbGhhcm5lc3MuaHR0cHMud2luZG93LmpzCkBAIC0xMCw3ICsxMCw4IEBAIGlkbF90ZXN0
KAogICBbJ3dlYnhyJywgJ2RvbSddLAogICBhc3luYyBpZGxfYXJyYXkgPT4gewogICAgIGlkbF9h
cnJheS5hZGRfb2JqZWN0cyh7Ci0gICAgICAvLyBUT0RPOiBYUlNlc3Npb24KKyAgICAgIFhSU2Vz
c2lvbjogWyd4clNlc3Npb24nXSwKICAgICB9KTsKKyAgICBzZWxmLnhyU2Vzc2lvbiA9IGF3YWl0
IG5hdmlnYXRvci54ci5yZXF1ZXN0U2Vzc2lvbignaW5saW5lJyk7CiAgIH0KICk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2Rv
bS1vdmVybGF5L2FyX2RvbV9vdmVybGF5Lmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2RvbS1vdmVybGF5L2FyX2RvbV9vdmVybGF5
Lmh0dHBzLmh0bWwKaW5kZXggMTVlYWM3OGQ5Mjg4YjUwN2NiZDU4MTQzYzk0ZWE1NDUxNDVkOTQ0
MS4uZGUwY2I2ODc0NDk1NjU1ODU0MWI1NzRmZDg4ODAwZDI2MmQyM2U5NyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9kb20tb3Zl
cmxheS9hcl9kb21fb3ZlcmxheS5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvZG9tLW92ZXJsYXkvYXJfZG9tX292ZXJsYXku
aHR0cHMuaHRtbApAQCAtMTA2LDYgKzEwNiw3IEBAIGxldCB3YXRjaGVyU3RlcCA9IG5ldyBFdmVu
dCgid2F0Y2hlcnN0ZXAiKTsKIGxldCB3YXRjaGVyRG9uZSA9IG5ldyBFdmVudCgid2F0Y2hlcmRv
bmUiKTsKIAogbGV0IHRlc3RJbnB1dCA9IGZ1bmN0aW9uKG92ZXJsYXlFbGVtZW50LCBzZXNzaW9u
LCBmYWtlRGV2aWNlQ29udHJvbGxlciwgdCkgeworICBsZXQgZGVidWcgPSB4cl9kZWJ1Zy5iaW5k
KHRoaXMsICd0ZXN0SW5wdXQnKTsKIAogICAvLyBVc2UgdHdvIERJVnMgZm9yIHRoaXMgdGVzdC4g
ImlubmVyX2EiIHVzZXMgYSAiYmVmb3JleHJzZWxlY3QiIGhhbmRsZXIKICAgLy8gdGhhdCB1c2Vz
IHByZXZlbnREZWZhdWx0KCkuIENvbnRyb2xsZXIgaW50ZXJhY3Rpb25zIHdpdGggaXQgc2hvdWxk
IHRyaWdnZXIKQEAgLTEzNSwzMCArMTM2LDM4IEBAIGxldCB0ZXN0SW5wdXQgPSBmdW5jdGlvbihv
dmVybGF5RWxlbWVudCwgc2Vzc2lvbiwgZmFrZURldmljZUNvbnRyb2xsZXIsIHQpIHsKICAgICAg
IGZha2VEZXZpY2VDb250cm9sbGVyLnNpbXVsYXRlSW5wdXRTb3VyY2VDb25uZWN0aW9uKFNDUkVF
Tl9DT05UUk9MTEVSKTsKICAgc2Vzc2lvbi5yZXF1ZXN0UmVmZXJlbmNlU3BhY2UoJ3ZpZXdlcicp
LnRoZW4oZnVuY3Rpb24odmlld2VyU3BhY2UpIHsKICAgICAvLyBQcmVzcyB0aGUgcHJpbWFyeSBp
bnB1dCBidXR0b24gYW5kIHRoZW4gcmVsZWFzZSBpdCBhIHNob3J0IHRpbWUgbGF0ZXIuCi0gICAg
c2Vzc2lvbi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKHRpbWUsIHhyRnJhbWUpID0+IHsKKyAgICBk
ZWJ1ZygnZ290IHZpZXdlclNwYWNlJyk7CisgICAgcmVxdWVzdFNraXBBbmltYXRpb25GcmFtZShz
ZXNzaW9uLCAodGltZSwgeHJGcmFtZSkgPT4geworICAgICAgZGVidWcoJ2dvdCByQUYgMScpOwog
ICAgICAgaW5wdXRfc291cmNlLnNldE92ZXJsYXlQb2ludGVyUG9zaXRpb24oaW5uZXJfYS5vZmZz
ZXRMZWZ0ICsgMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGlubmVyX2Eub2Zmc2V0VG9wICsgMSk7CiAgICAgICBpbnB1dF9zb3VyY2Uuc3RhcnRTZWxlY3Rp
b24oKTsKIAogICAgICAgc2Vzc2lvbi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKHRpbWUsIHhyRnJh
bWUpID0+IHsKKyAgICAgICAgZGVidWcoJ2dvdCByQUYgMicpOwogICAgICAgICBpbnB1dF9zb3Vy
Y2UuZW5kU2VsZWN0aW9uKCk7CiAKICAgICAgICAgc2Vzc2lvbi5yZXF1ZXN0QW5pbWF0aW9uRnJh
bWUoKHRpbWUsIHhyRnJhbWUpID0+IHsKKyAgICAgICAgICBkZWJ1ZygnZ290IHJBRiAzJyk7CiAg
ICAgICAgICAgLy8gTmVlZCB0byBwcm9jZXNzIG9uZSBtb3JlIGZyYW1lIHRvIGFsbG93IHNlbGVj
dCB0byBwcm9wYWdhdGUuCiAgICAgICAgICAgc2Vzc2lvbi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUo
KHRpbWUsIHhyRnJhbWUpID0+IHsKKyAgICAgICAgICAgIGRlYnVnKCdnb3QgckFGIDQnKTsKICAg
ICAgICAgICAgIHNlc3Npb24uZGlzcGF0Y2hFdmVudCh3YXRjaGVyU3RlcCk7CiAKICAgICAgICAg
ICAgIGFzc2VydF90cnVlKGdvdF9iZWZvcmV4cnNlbGVjdCk7CiAKICAgICAgICAgICAgIHNlc3Np
b24ucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCh0aW1lLCB4ckZyYW1lKSA9PiB7CisgICAgICAgICAg
ICAgIGRlYnVnKCdnb3QgckFGIDUnKTsKICAgICAgICAgICAgICAgaW5wdXRfc291cmNlLnNldE92
ZXJsYXlQb2ludGVyUG9zaXRpb24oaW5uZXJfYi5vZmZzZXRMZWZ0ICsgMSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5uZXJfYi5vZmZzZXRU
b3AgKyAxKTsKICAgICAgICAgICAgICAgaW5wdXRfc291cmNlLnN0YXJ0U2VsZWN0aW9uKCk7CiAK
ICAgICAgICAgICAgICAgc2Vzc2lvbi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKHRpbWUsIHhyRnJh
bWUpID0+IHsKKyAgICAgICAgICAgICAgICBkZWJ1ZygnZ290IHJBRiA2Jyk7CiAgICAgICAgICAg
ICAgICAgaW5wdXRfc291cmNlLmVuZFNlbGVjdGlvbigpOwogCiAgICAgICAgICAgICAgICAgc2Vz
c2lvbi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKHRpbWUsIHhyRnJhbWUpID0+IHsKKyAgICAgICAg
ICAgICAgICAgIGRlYnVnKCdnb3QgckFGIDcnKTsKICAgICAgICAgICAgICAgICAgIC8vIE5lZWQg
dG8gcHJvY2VzcyBvbmUgbW9yZSBmcmFtZSB0byBhbGxvdyBzZWxlY3QgdG8gcHJvcGFnYXRlLgog
ICAgICAgICAgICAgICAgICAgc2Vzc2lvbi5kaXNwYXRjaEV2ZW50KHdhdGNoZXJEb25lKTsKICAg
ICAgICAgICAgICAgICB9KTsKQEAgLTE3Myw2ICsxODIsOCBAQCBsZXQgdGVzdElucHV0ID0gZnVu
Y3Rpb24ob3ZlcmxheUVsZW1lbnQsIHNlc3Npb24sIGZha2VEZXZpY2VDb250cm9sbGVyLCB0KSB7
CiB9OwogCiBsZXQgdGVzdENyb3NzT3JpZ2luQ29udGVudCA9IGZ1bmN0aW9uKG92ZXJsYXlFbGVt
ZW50LCBzZXNzaW9uLCBmYWtlRGV2aWNlQ29udHJvbGxlciwgdCkgeworICBsZXQgZGVidWcgPSB4
cl9kZWJ1Zy5iaW5kKHRoaXMsICd0ZXN0Q3Jvc3NPcmlnaW5Db250ZW50Jyk7CisKICAgbGV0IGlm
cmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJhbWUnKTsKICAgYXNzZXJ0X3RydWUo
aWZyYW1lICE9IG51bGwpOwogICBsZXQgaW5uZXJfYiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdpbm5lcl9iJyk7CkBAIC0xOTEsMjggKzIwMiwzNSBAQCBsZXQgdGVzdENyb3NzT3JpZ2luQ29u
dGVudCA9IGZ1bmN0aW9uKG92ZXJsYXlFbGVtZW50LCBzZXNzaW9uLCBmYWtlRGV2aWNlQ29udHJv
bAogICAgICAgZmFrZURldmljZUNvbnRyb2xsZXIuc2ltdWxhdGVJbnB1dFNvdXJjZUNvbm5lY3Rp
b24oU0NSRUVOX0NPTlRST0xMRVIpOwogICBzZXNzaW9uLnJlcXVlc3RSZWZlcmVuY2VTcGFjZSgn
dmlld2VyJykudGhlbihmdW5jdGlvbih2aWV3ZXJTcGFjZSkgewogICAgIC8vIFByZXNzIHRoZSBw
cmltYXJ5IGlucHV0IGJ1dHRvbiBhbmQgdGhlbiByZWxlYXNlIGl0IGEgc2hvcnQgdGltZSBsYXRl
ci4KLSAgICBzZXNzaW9uLnJlcXVlc3RBbmltYXRpb25GcmFtZSgodGltZSwgeHJGcmFtZSkgPT4g
eworICAgIHJlcXVlc3RTa2lwQW5pbWF0aW9uRnJhbWUoc2Vzc2lvbiwgKHRpbWUsIHhyRnJhbWUp
ID0+IHsKKyAgICAgIGRlYnVnKCdnb3QgckFGIDEnKTsKICAgICAgIGlucHV0X3NvdXJjZS5zZXRP
dmVybGF5UG9pbnRlclBvc2l0aW9uKGlmcmFtZS5vZmZzZXRMZWZ0ICsgMSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZS5vZmZzZXRUb3AgKyAxKTsK
ICAgICAgIGlucHV0X3NvdXJjZS5zdGFydFNlbGVjdGlvbigpOwogCiAgICAgICBzZXNzaW9uLnJl
cXVlc3RBbmltYXRpb25GcmFtZSgodGltZSwgeHJGcmFtZSkgPT4geworICAgICAgICBkZWJ1Zygn
Z290IHJBRiAyJyk7CiAgICAgICAgIGlucHV0X3NvdXJjZS5lbmRTZWxlY3Rpb24oKTsKIAogICAg
ICAgICBzZXNzaW9uLnJlcXVlc3RBbmltYXRpb25GcmFtZSgodGltZSwgeHJGcmFtZSkgPT4gewor
ICAgICAgICAgIGRlYnVnKCdnb3QgckFGIDMnKTsKICAgICAgICAgICAvLyBOZWVkIHRvIHByb2Nl
c3Mgb25lIG1vcmUgZnJhbWUgdG8gYWxsb3cgc2VsZWN0IHRvIHByb3BhZ2F0ZS4KICAgICAgICAg
ICBzZXNzaW9uLnJlcXVlc3RBbmltYXRpb25GcmFtZSgodGltZSwgeHJGcmFtZSkgPT4geworICAg
ICAgICAgICAgZGVidWcoJ2dvdCByQUYgNCcpOwogICAgICAgICAgICAgc2Vzc2lvbi5kaXNwYXRj
aEV2ZW50KHdhdGNoZXJTdGVwKTsKIAogICAgICAgICAgICAgc2Vzc2lvbi5yZXF1ZXN0QW5pbWF0
aW9uRnJhbWUoKHRpbWUsIHhyRnJhbWUpID0+IHsKKyAgICAgICAgICAgICAgZGVidWcoJ2dvdCBy
QUYgNScpOwogICAgICAgICAgICAgICBpbnB1dF9zb3VyY2Uuc2V0T3ZlcmxheVBvaW50ZXJQb3Np
dGlvbihpbm5lcl9iLm9mZnNldExlZnQgKyAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbm5lcl9iLm9mZnNldFRvcCArIDEpOwogICAgICAg
ICAgICAgICBpbnB1dF9zb3VyY2Uuc3RhcnRTZWxlY3Rpb24oKTsKIAogICAgICAgICAgICAgICBz
ZXNzaW9uLnJlcXVlc3RBbmltYXRpb25GcmFtZSgodGltZSwgeHJGcmFtZSkgPT4geworICAgICAg
ICAgICAgICAgIGRlYnVnKCdnb3QgckFGIDYnKTsKICAgICAgICAgICAgICAgICBpbnB1dF9zb3Vy
Y2UuZW5kU2VsZWN0aW9uKCk7CiAKICAgICAgICAgICAgICAgICBzZXNzaW9uLnJlcXVlc3RBbmlt
YXRpb25GcmFtZSgodGltZSwgeHJGcmFtZSkgPT4geworICAgICAgICAgICAgICAgICAgZGVidWco
J2dvdCByQUYgNycpOwogICAgICAgICAgICAgICAgICAgLy8gTmVlZCB0byBwcm9jZXNzIG9uZSBt
b3JlIGZyYW1lIHRvIGFsbG93IHNlbGVjdCB0byBwcm9wYWdhdGUuCiAgICAgICAgICAgICAgICAg
ICBzZXNzaW9uLmRpc3BhdGNoRXZlbnQod2F0Y2hlckRvbmUpOwogICAgICAgICAgICAgICAgIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93ZWJ4ci9kb20tb3ZlcmxheS9hcl9kb21fb3ZlcmxheV9oaXRfdGVzdC5odHRwcy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9kb20tb3Zl
cmxheS9hcl9kb21fb3ZlcmxheV9oaXRfdGVzdC5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmZGYy
NDk4ZWRjZTA5NjFhY2M5NjIzNGZjMDc2NTFmZTA3Mjk5OGMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2RvbS1vdmVy
bGF5L2FyX2RvbV9vdmVybGF5X2hpdF90ZXN0Lmh0dHBzLmh0bWwKQEAgLTAsMCArMSwxMjggQEAK
KzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJ4cl91dGlsLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2VieHJfdGVzdF9jb25zdGFudHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJ4cl90ZXN0X2NvbnN0YW50
c19mYWtlX3dvcmxkLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2Vi
eHJfdGVzdF9hc3NlcnRzLmpzIj48L3NjcmlwdD4KKworPHN0eWxlIHR5cGU9InRleHQvY3NzIj4K
KyAgZGl2IHsKKyAgICAgIHBhZGRpbmc6IDEwcHg7CisgICAgICBtaW4td2lkdGg6IDEwcHg7Cisg
ICAgICBtaW4taGVpZ2h0OiAxMHB4OworICB9CisgIGlmcmFtZSB7CisgICAgYm9yZGVyOiAwOwor
ICAgIHdpZHRoOiAyMHB4OworICAgIGhlaWdodDogMjBweDsKKyAgfQorPC9zdHlsZT4KKzxkaXYg
aWQ9ImRpdl9vdmVybGF5Ij4KKyAgPGRpdiBpZD0iaW5uZXJfYiI+CisgIDwvZGl2PgorICA8IS0t
IFRoaXMgU1ZHIGlmcmFtZSBpcyB0cmVhdGVkIGFzIGNyb3NzLW9yaWdpbiBjb250ZW50LiAtLT4K
KyAgPGlmcmFtZSBpZD0iaWZyYW1lIiBzcmM9J2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5z
PSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMu
b3JnLzE5OTkveGxpbmsiPjxyZWN0IGhlaWdodD0iMjAiIHdpZHRoPSIyMCIgZmlsbD0icmVkIiBm
aWxsLW9wYWNpdHk9IjAuMyIvPjwvc3ZnPic+CisgIDwvaWZyYW1lPgorICA8Y2FudmFzPgorICA8
L2NhbnZhcz4KKzwvZGl2PgorCis8c2NyaXB0PgorCitjb25zdCBmYWtlRGV2aWNlSW5pdFBhcmFt
cyA9IHsKKyAgc3VwcG9ydGVkTW9kZXM6IFsiaW1tZXJzaXZlLWFyIl0sCisgIHZpZXdzOiBWQUxJ
RF9WSUVXUywKKyAgdmlld2VyT3JpZ2luOiBJREVOVElUWV9UUkFOU0ZPUk0sCisgIHN1cHBvcnRl
ZEZlYXR1cmVzOiBBTExfRkVBVFVSRVMsCisgIHdvcmxkOiBjcmVhdGVGYWtlV29ybGQoNS4wLCAy
LjAsIDUuMCksICAvLyBzZWUgd2VieHJfdGVzdF9jb25zdGFudHNfZmFrZV93b3JsZC5qcyBmb3Ig
ZGV0YWlscworfTsKKworY29uc3QgaGl0VGVzdE9wdGlvbnNJbml0ID0geworICBwcm9maWxlOiAi
Z2VuZXJpYy10b3VjaHNjcmVlbiIsCisgIG9mZnNldFJheTogbmV3IFhSUmF5KCksCit9OworCitj
b25zdCBTQ1JFRU5fUE9JTlRFUl9UUkFOU0ZPUk0gPSB7CisgICAgcG9zaXRpb246IFswLCAwLCAw
XSwgICAgICAvLyBtaWRkbGUgb2YgdGhlIHNjcmVlbgorICAgIG9yaWVudGF0aW9uOiBbMCwgMCwg
MCwgMV0gLy8gZm9yd2FyZC1mYWNpbmcKK307CisKK2NvbnN0IHNjcmVlbl9jb250cm9sbGVyX2lu
aXQgPSB7CisgICAgaGFuZGVkbmVzczogIm5vbmUiLAorICAgIHRhcmdldFJheU1vZGU6ICJzY3Jl
ZW4iLAorICAgIHBvaW50ZXJPcmlnaW46IFNDUkVFTl9QT0lOVEVSX1RSQU5TRk9STSwgIC8vIGFr
YSBtb2pvX2Zyb21fcG9pbnRlcgorICAgIHByb2ZpbGVzOiBbImdlbmVyaWMtdG91Y2hzY3JlZW4i
LF0KK307CisKK2NvbnN0IHRlc3RDcm9zc09yaWdpbkNvbnRlbnQgPSBmdW5jdGlvbihvdmVybGF5
RWxlbWVudCwgc2Vzc2lvbiwgZmFrZURldmljZUNvbnRyb2xsZXIsIHQpIHsKKyAgY29uc3QgaWZy
YW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lmcmFtZScpOworICBjb25zdCBpbm5lcl9i
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lubmVyX2InKTsKKworICBsZXQgZGVidWcgPSB4
cl9kZWJ1Zy5iaW5kKHRoaXMsICd0ZXN0Q3Jvc3NPcmlnaW5Db250ZW50Jyk7CisKKyAgY29uc3Qg
aW5wdXRfc291cmNlID0KKyAgICAgIGZha2VEZXZpY2VDb250cm9sbGVyLnNpbXVsYXRlSW5wdXRT
b3VyY2VDb25uZWN0aW9uKHNjcmVlbl9jb250cm9sbGVyX2luaXQpOworICBkZWJ1Zygnc3RhcnQn
KTsKKyAgcmV0dXJuIHNlc3Npb24ucmVxdWVzdFJlZmVyZW5jZVNwYWNlKCd2aWV3ZXInKS50aGVu
KGZ1bmN0aW9uKHZpZXdlclNwYWNlKSB7CisgICAgZGVidWcoJ2dvdCB2aWV3ZXJTcGFjZScpOwor
ICAgIHJldHVybiBzZXNzaW9uLnJlcXVlc3RIaXRUZXN0U291cmNlRm9yVHJhbnNpZW50SW5wdXQo
aGl0VGVzdE9wdGlvbnNJbml0KQorICAgICAgICAgICAgICAgICAgLnRoZW4oKGhpdFRlc3RTb3Vy
Y2UpID0+IHsKKyAgICAgIGRlYnVnKCdnb3QgaGl0VGVzdFNvdXJjZScpOworICAgICAgcmV0dXJu
IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICAgIC8vIFByZXNzIHRoZSBwcmltYXJ5
IGlucHV0IGJ1dHRvbiBhbmQgdGhlbiByZWxlYXNlIGl0IGEgc2hvcnQgdGltZSBsYXRlci4KKyAg
ICAgICAgc2Vzc2lvbi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKHRpbWUsIHhyRnJhbWUpID0+IHsK
KyAgICAgICAgICBkZWJ1ZygnZ290IHJBRiAxJyk7CisgICAgICAgICAgaW5wdXRfc291cmNlLnNl
dE92ZXJsYXlQb2ludGVyUG9zaXRpb24oaWZyYW1lLm9mZnNldExlZnQgKyAxLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZS5vZmZzZXRUb3Ag
KyAxKTsKKyAgICAgICAgICBpbnB1dF9zb3VyY2Uuc3RhcnRTZWxlY3Rpb24oKTsKKworICAgICAg
ICAgIHNlc3Npb24ucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCh0aW1lLCB4ckZyYW1lKSA9PiB7Cisg
ICAgICAgICAgICBpbnB1dF9zb3VyY2UuZW5kU2VsZWN0aW9uKCk7CisKKyAgICAgICAgICAgIC8v
IFRoZXJlIHNob3VsZCBiZSBubyByZXN1bHRzIGZvciB0cmFuc2llbnQgaW5wdXQgZm9yIGNyb3Nz
IG9yaWdpbiBjb250ZW50OgorICAgICAgICAgICAgY29uc3QgcmVzdWx0cyA9IHhyRnJhbWUuZ2V0
SGl0VGVzdFJlc3VsdHNGb3JUcmFuc2llbnRJbnB1dChoaXRUZXN0U291cmNlKTsKKyAgICAgICAg
ICAgIHQuc3RlcCgoKSA9PiB7CisgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0cy5s
ZW5ndGgsIDAsICJIaXQgdGVzdCByZXN1bHRzIHNob3VsZCBiZSBzdXBwcmVzc2VkIGZvciBjcm9z
cy1vcmlnaW4gY29udGVudCIpOworICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgIHNlc3Np
b24ucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCh0aW1lLCB4ckZyYW1lKSA9PiB7CisgICAgICAgICAg
ICAgIGRlYnVnKCdnb3QgckFGIDInKTsKKyAgICAgICAgICAgICAgLy8gTmVlZCB0byBwcm9jZXNz
IG9uZSBtb3JlIGZyYW1lIHRvIGFsbG93IHNlbGVjdCB0byBwcm9wYWdhdGUKKworICAgICAgICAg
ICAgICBzZXNzaW9uLnJlcXVlc3RBbmltYXRpb25GcmFtZSgodGltZSwgeHJGcmFtZSkgPT4gewor
ICAgICAgICAgICAgICAgIGRlYnVnKCdnb3QgckFGIDMnKTsKKyAgICAgICAgICAgICAgICBpbnB1
dF9zb3VyY2Uuc2V0T3ZlcmxheVBvaW50ZXJQb3NpdGlvbihpbm5lcl9iLm9mZnNldExlZnQgKyAx
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGlubmVyX2Iub2Zmc2V0VG9wICsgMSk7CisgICAgICAgICAgICAgICAgaW5wdXRfc291cmNlLnN0
YXJ0U2VsZWN0aW9uKCk7CisKKyAgICAgICAgICAgICAgICBzZXNzaW9uLnJlcXVlc3RBbmltYXRp
b25GcmFtZSgodGltZSwgeHJGcmFtZSkgPT4geworICAgICAgICAgICAgICAgICAgZGVidWcoJ2dv
dCByQUYgNCcpOworICAgICAgICAgICAgICAgICAgaW5wdXRfc291cmNlLmVuZFNlbGVjdGlvbigp
OworCisgICAgICAgICAgICAgICAgICBjb25zdCByZXN1bHRzID0geHJGcmFtZS5nZXRIaXRUZXN0
UmVzdWx0c0ZvclRyYW5zaWVudElucHV0KGhpdFRlc3RTb3VyY2UpOworICAgICAgICAgICAgICAg
ICAgdC5zdGVwKCgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgLy8gVE9ETyhiaWFscGlvKTog
dGhpcyBhc3NlcnRpb24gaXMgY3VycmVudGx5IGZhaWxpbmcsIEZJWE1FCisgICAgICAgICAgICAg
ICAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0cy5sZW5ndGgsIDEsICJIaXQgdGVzdCByZXN1bHRz
IHNob3VsZCBiZSBhdmFpbGFibGUgZm9yIHNhbWUtb3JpZ2luIGNvbnRlbnQiKTsKKyAgICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgICAgZGVidWcoJ3Jlc29sdmluZycpOworICAg
ICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICAgIH0pOworICAgICAgICB9KTsKKyAg
ICAgIH0pOworICAgIH0pOworICB9KTsKK307CisKK3hyX3Nlc3Npb25fcHJvbWlzZV90ZXN0KAor
ICAiRW5zdXJlcyBET00gT3ZlcmxheSBpbnRlcmFjdGlvbnMgb24gY3Jvc3Mgb3JpZ2luIGlmcmFt
ZSBkbyBub3QgY2F1c2UgaGl0IHRlc3QgcmVzdWx0cyB0byBjb21lIHVwIiwKKyAgdGVzdENyb3Nz
T3JpZ2luQ29udGVudC5iaW5kKHRoaXMsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkaXZfb3Zl
cmxheScpKSwKKyAgZmFrZURldmljZUluaXRQYXJhbXMsICdpbW1lcnNpdmUtYXInLCB7CisgICAg
cmVxdWlyZWRGZWF0dXJlczogWydkb20tb3ZlcmxheScsICdoaXQtdGVzdCddLAorICAgIGRvbU92
ZXJsYXk6IHsgcm9vdDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Rpdl9vdmVybGF5JykgfQor
ICB9KTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2RvbS1vdmVybGF5L2lkbGhhcm5lc3MuaHR0cHMud2lu
ZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dl
YnhyL2RvbS1vdmVybGF5L2lkbGhhcm5lc3MuaHR0cHMud2luZG93Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvZG9t
LW92ZXJsYXkvaWRsaGFybmVzcy5odHRwcy53aW5kb3cuaHRtbApAQCAtMCwwICsxIEBACis8IS0t
IFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8g
cnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dl
YnhyL2RvbS1vdmVybGF5L2lkbGhhcm5lc3MuaHR0cHMud2luZG93LmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9kb20tb3ZlcmxheS9pZGxoYXJu
ZXNzLmh0dHBzLndpbmRvdy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYTIwZjQyNTM4OTg5MzdjNjFhYWMxMDhk
OWNhZWVmMWQzOWUyODMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9kb20tb3ZlcmxheS9pZGxoYXJuZXNzLmh0dHBz
LndpbmRvdy5qcwpAQCAtMCwwICsxLDE2IEBACisvLyBNRVRBOiBzY3JpcHQ9L3Jlc291cmNlcy9X
ZWJJRExQYXJzZXIuanMKKy8vIE1FVEE6IHNjcmlwdD0vcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMK
KworJ3VzZSBzdHJpY3QnOworCisvLyBodHRwczovL2ltbWVyc2l2ZS13ZWIuZ2l0aHViLmlvL2Rv
bS1vdmVybGF5cy8KKworaWRsX3Rlc3QoCisgIFsnZG9tLW92ZXJsYXlzJ10sCisgIFsnd2VieHIn
LCAnaHRtbCcsICdkb20nXSwKKyAgYXN5bmMgaWRsX2FycmF5ID0+IHsKKyAgICBpZGxfYXJyYXku
YWRkX29iamVjdHMoeworICAgICAgLy8gVE9ETzogQWRkIG9iamVjdCBpbnN0YW5jZXMKKyAgICB9
KTsKKyAgfQorKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2VieHIvZG9tLW92ZXJsYXkvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2RvbS1vdmVybGF5L3czYy1p
bXBvcnQubG9nCmluZGV4IGU3MDk5MWQzY2Y0YjEzNmU2ZGQ4ZTI5MTQzNGFhMjI0NjFlNzAzZTcu
LjZlOTU0NDhjMDEyOTk5Mjc3ODg3M2I5YjZiN2UwMGE0YjdjY2NlMmEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvZG9tLW92ZXJs
YXkvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93ZWJ4ci9kb20tb3ZlcmxheS93M2MtaW1wb3J0LmxvZwpAQCAtMTUsMyArMTUs
NSBAQCBOb25lCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9kb20tb3ZlcmxheS9hcl9kb21f
b3ZlcmxheS5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93ZWJ4ci9kb20tb3ZlcmxheS9hcl9kb21fb3ZlcmxheV9oaXRfdGVzdC5odHRwcy5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9k
b20tb3ZlcmxheS9pZGxoYXJuZXNzLmh0dHBzLndpbmRvdy5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9ldmVudHNfaW5wdXRf
c291cmNlc19jaGFuZ2UuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2VieHIvZXZlbnRzX2lucHV0X3NvdXJjZXNfY2hhbmdlLmh0dHBzLmh0
bWwKaW5kZXggMTA3Y2M5YjU0NGUzYTM5NWMxNDY1NWQwZjQzNTY0ODVmMDVkN2JmNS4uN2M3ODRj
MzQ0Nzk4NDIxNDhhMzMxMGIzZjQ4ZDQxOTkwZmNkNGMzNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9ldmVudHNfaW5wdXRfc291
cmNlc19jaGFuZ2UuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dlYnhyL2V2ZW50c19pbnB1dF9zb3VyY2VzX2NoYW5nZS5odHRwcy5o
dG1sCkBAIC0xMDEsNyArMTAxLDcgQEAgbGV0IHRlc3RGdW5jdGlvbiA9IGZ1bmN0aW9uKHNlc3Np
b24sIGZha2VEZXZpY2VDb250cm9sbGVyLCB0KSB7CiAKICAgLy8gTWFrZSBvdXIgaW5wdXQgc291
cmNlIGRpc2FwcGVhciBhZnRlciBvbmUgZnJhbWUsIGFuZCB3YWl0IGFuIGFkZGl0aW9uYWwKICAg
Ly8gZnJhbWUgZm9yIHRoYXQgZGlzYXBwZWFyYW5jZSB0byBwcm9wb2dhdGUuCi0gIHNlc3Npb24u
cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCh0aW1lLCB4ckZyYW1lKSA9PiB7CisgIHJlcXVlc3RTa2lw
QW5pbWF0aW9uRnJhbWUoc2Vzc2lvbiwgKHRpbWUsIHhyRnJhbWUpID0+IHsKICAgICBpbnB1dF9z
b3VyY2UuZGlzY29ubmVjdCgpOwogICAgIHNlc3Npb24ucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCh0
aW1lLCB4ckZyYW1lKSA9PiB7fSk7CiAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9ldmVudHNfcmVmZXJlbmNlU3BhY2Vf
cmVzZXRfaW1tZXJzaXZlLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dlYnhyL2V2ZW50c19yZWZlcmVuY2VTcGFjZV9yZXNldF9pbW1lcnNp
dmUuaHR0cHMuaHRtbAppbmRleCAyZGEzNzg4YTM5YTIwZGIzMzk2ZDU0MmY3ZmIwZGM1ZDQ4NmMy
YWEzLi45NjQzYmY2MWM4NzdlZDUwZmE3MGU0OTAxNTgyOGUxYjU4YmE3ODcwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2V2ZW50
c19yZWZlcmVuY2VTcGFjZV9yZXNldF9pbW1lcnNpdmUuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2V2ZW50c19yZWZlcmVu
Y2VTcGFjZV9yZXNldF9pbW1lcnNpdmUuaHR0cHMuaHRtbApAQCAtNDAsNyArNDAsNyBAQCBsZXQg
dGVzdEZ1bmN0aW9uID0gZnVuY3Rpb24oc2Vzc2lvbiwgZmFrZURldmljZUNvbnRyb2xsZXIsIHQp
IHsKICAgZmFrZURldmljZUNvbnRyb2xsZXIuc2ltdWxhdGVSZXNldFBvc2UoKTsKIAogICAvLyBU
aGUgdHJpZ2dlcmVkIHJlc2V0UG9zZSBldmVudCBzaG91bGQgYXJyaXZlIGFmdGVyIHRoZSBuZXh0
IEFuaW1hdGlvbiBGcmFtZQotICBzZXNzaW9uLnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7
fSk7CisgIHJlcXVlc3RTa2lwQW5pbWF0aW9uRnJhbWUoc2Vzc2lvbiwgKCkgPT4ge30pOwogCiAg
IHJldHVybiByZXNldFByb21pc2U7CiB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9ldmVudHNfc2Vzc2lvbl9zZWxlY3QuaHR0
cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vi
eHIvZXZlbnRzX3Nlc3Npb25fc2VsZWN0Lmh0dHBzLmh0bWwKaW5kZXggYmM1MDFiNjkzNDk3ZGRm
NThjY2FiZDQ0OTE4NTgyNjNjNGRmYmRiYy4uZjgzZDNjNGY4NTQyMTk5OWQyNDgwMDQ5ZGM0ZGFh
NjJhY2YwNzY2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93ZWJ4ci9ldmVudHNfc2Vzc2lvbl9zZWxlY3QuaHR0cHMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2V2ZW50c19z
ZXNzaW9uX3NlbGVjdC5odHRwcy5odG1sCkBAIC05Miw3ICs5Miw3IEBAIGxldCB0ZXN0RnVuY3Rp
b24gPSBmdW5jdGlvbihzZXNzaW9uLCBmYWtlRGV2aWNlQ29udHJvbGxlciwgdCkgewogICAgICAg
Y3VycmVudFJlZmVyZW5jZVNwYWNlID0gcmVmZXJlbmNlU3BhY2U7CiAKICAgICAgIC8vIFByZXNz
IHRoZSBwcmltYXJ5IGlucHV0IGJ1dHRvbiBhbmQgdGhlbiByZWxlYXNlIGl0IGEgc2hvcnQgdGlt
ZSBsYXRlci4KLSAgICAgIHNlc3Npb24ucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCh0aW1lLCB4ckZy
YW1lKSA9PiB7CisgICAgICByZXF1ZXN0U2tpcEFuaW1hdGlvbkZyYW1lKHNlc3Npb24sICh0aW1l
LCB4ckZyYW1lKSA9PiB7CiAgICAgICAgIGlucHV0X3NvdXJjZS5zdGFydFNlbGVjdGlvbigpOwog
CiAgICAgICAgICAgc2Vzc2lvbi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKHRpbWUsIHhyRnJhbWUp
ID0+IHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2VieHIvZXZlbnRzX3Nlc3Npb25fc2VsZWN0X3N1YmZyYW1lLmh0dHBzLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2V2ZW50c19z
ZXNzaW9uX3NlbGVjdF9zdWJmcmFtZS5odHRwcy5odG1sCmluZGV4IDBlMmMyMzQyNGMwODkzYjZh
NTYzYzJhYTJmYmQ5OTllNTBiMWNmZWYuLjk2ZmExMTcxM2RkNDgwYjk0N2IwYzY0YjYyNGRjNjAy
MmNiN2U4ZDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2VieHIvZXZlbnRzX3Nlc3Npb25fc2VsZWN0X3N1YmZyYW1lLmh0dHBzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9l
dmVudHNfc2Vzc2lvbl9zZWxlY3Rfc3ViZnJhbWUuaHR0cHMuaHRtbApAQCAtNTEsNyArNTEsNyBA
QCBsZXQgdGVzdEZ1bmN0aW9uID0gZnVuY3Rpb24oc2Vzc2lvbiwgZmFrZURldmljZUNvbnRyb2xs
ZXIsIHQpIHsKICAgbGV0IGlucHV0X3NvdXJjZSA9IGZha2VEZXZpY2VDb250cm9sbGVyLnNpbXVs
YXRlSW5wdXRTb3VyY2VDb25uZWN0aW9uKFZBTElEX0NPTlRST0xMRVIpOwogCiAgIC8vIFByZXNz
IHRoZSBwcmltYXJ5IGlucHV0IGJ1dHRvbiBhbmQgdGhlbiByZWxlYXNlIGl0IGEgc2hvcnQgdGlt
ZSBsYXRlci4KLSAgc2Vzc2lvbi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKHRpbWUsIHhyRnJhbWUp
ID0+IHsKKyAgcmVxdWVzdFNraXBBbmltYXRpb25GcmFtZShzZXNzaW9uLCAodGltZSwgeHJGcmFt
ZSkgPT4gewogICAgIGlucHV0X3NvdXJjZS5zaW11bGF0ZVNlbGVjdCgpOwogCiAgICAgc2Vzc2lv
bi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKHRpbWUsIHhyRnJhbWUpID0+IHsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvZXZlbnRz
X3Nlc3Npb25fc3F1ZWV6ZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9ldmVudHNfc2Vzc2lvbl9zcXVlZXplLmh0dHBzLmh0bWwK
aW5kZXggNTllNGUzZjcyYzVkNjNjZmY0N2I2YTdlMWRmYmFjNjE5NDIwMzUzNC4uMTAxZjFkYzdj
ODg2OTA2YTlmNmJjOWRiOGJiYTBlMDFmZGNiNGI3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9ldmVudHNfc2Vzc2lvbl9zcXVl
ZXplLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93ZWJ4ci9ldmVudHNfc2Vzc2lvbl9zcXVlZXplLmh0dHBzLmh0bWwKQEAgLTExNCw3
ICsxMTQsNyBAQCBsZXQgdGVzdEZ1bmN0aW9uID0gZnVuY3Rpb24oc2Vzc2lvbiwgZmFrZURldmlj
ZUNvbnRyb2xsZXIsIHQpIHsKICAgICAgIGN1cnJlbnRSZWZlcmVuY2VTcGFjZSA9IHJlZmVyZW5j
ZVNwYWNlOwogCiAgICAgICAvL1NpbXVsYXRlIGEgZ3JpcCBzdGFydGluZyB0aGVuIHJlbGVhc2Ug
aXQgYSBzaG9ydCB0aW1lIGxhdGVyLgotICAgICAgc2Vzc2lvbi5yZXF1ZXN0QW5pbWF0aW9uRnJh
bWUoKHRpbWUsIHhyRnJhbWUpID0+IHsKKyAgICAgIHJlcXVlc3RTa2lwQW5pbWF0aW9uRnJhbWUo
c2Vzc2lvbiwgKHRpbWUsIHhyRnJhbWUpID0+IHsKICAgICAgICAgaW5wdXRfc291cmNlLnVwZGF0
ZUJ1dHRvblN0YXRlKHByZXNzZWRfZ3JpcF9idXR0b24pOwogCiAgICAgICAgICAgc2Vzc2lvbi5y
ZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKHRpbWUsIHhyRnJhbWUpID0+IHsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvZ2FtZXBhZHMt
bW9kdWxlL3hySW5wdXRTb3VyY2VfZ2FtZXBhZF9kaXNjb25uZWN0Lmh0dHBzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2dhbWVwYWRzLW1v
ZHVsZS94cklucHV0U291cmNlX2dhbWVwYWRfZGlzY29ubmVjdC5odHRwcy5odG1sCmluZGV4IDdi
OGZmNGE1OWM4ZTUwM2Q0ZjMxZmUzM2Y5ZmExZGVlNmFmMTAwMDMuLmY2OWY5NDNiNWI1ODQ1MWY3
NWE0ZjIxYWMxNDk2NzYwNjZkMWY3OTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvZ2FtZXBhZHMtbW9kdWxlL3hySW5wdXRTb3Vy
Y2VfZ2FtZXBhZF9kaXNjb25uZWN0Lmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9nYW1lcGFkcy1tb2R1bGUveHJJbnB1dFNv
dXJjZV9nYW1lcGFkX2Rpc2Nvbm5lY3QuaHR0cHMuaHRtbApAQCAtMTMyLDcgKzEzMiw3IEBAIGxl
dCB0ZXN0RnVuY3Rpb24gPSBmdW5jdGlvbihzZXNzaW9uLCBmYWtlRGV2aWNlQ29udHJvbGxlciwg
dCkgewogICAvLyA1LiBXYWl0cyBmb3IgYWxsIG9mIHRoZSBpbnB1dCBldmVudHMgdG8gZmluaXNo
IHByb3BhZ2F0aW5nLCB0aGVuIGVuZHMgdGhlCiAgIC8vIHNlc3Npb24sIGF0IHdoaWNoIHBvaW50
IHRoZSBjb250cm9sbGVyIHNob3VsZCBiZSBkaXNjb25uZWN0ZWQuCiAgIHJldHVybiBuZXcgUHJv
bWlzZSgocmVzb2x2ZSkgPT4gewotICAgIHNlc3Npb24ucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgp
ID0+IHsKKyAgICByZXF1ZXN0U2tpcEFuaW1hdGlvbkZyYW1lKHNlc3Npb24sICgpID0+IHsKICAg
ICAgIGlucHV0X3NvdXJjZS5zZXRTdXBwb3J0ZWRCdXR0b25zKFtdKTsKICAgICAgIHNlc3Npb24u
cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKICAgICAgICAgaW5wdXRfc291cmNlLnNldFN1
cHBvcnRlZEJ1dHRvbnMoZ2FtZXBhZEJ1dHRvbnMpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9nYW1lcGFkcy1tb2R1bGUveHJJ
bnB1dFNvdXJjZV9nYW1lcGFkX2lucHV0X3JlZ2lzdGVyZWQuaHR0cHMuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvZ2FtZXBhZHMtbW9kdWxl
L3hySW5wdXRTb3VyY2VfZ2FtZXBhZF9pbnB1dF9yZWdpc3RlcmVkLmh0dHBzLmh0bWwKaW5kZXgg
MDM4ZTI4ZGNmZmJkNTA3MTA1ZGE1N2ZiMWNlZDA1NWVhODM4OTZjMC4uMWZmOWRjZjNiNDBjOWE5
YzlmNDFmY2M3NTZmNmJhYjFkM2FkZDdiMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9nYW1lcGFkcy1tb2R1bGUveHJJbnB1dFNv
dXJjZV9nYW1lcGFkX2lucHV0X3JlZ2lzdGVyZWQuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2dhbWVwYWRzLW1vZHVsZS94
cklucHV0U291cmNlX2dhbWVwYWRfaW5wdXRfcmVnaXN0ZXJlZC5odHRwcy5odG1sCkBAIC02OSw3
ICs2OSw3IEBAIGxldCB0ZXN0RnVuY3Rpb24gPSBmdW5jdGlvbihzZXNzaW9uLCBmYWtlRGV2aWNl
Q29udHJvbGxlciwgdCkgewogICAvLyAgICB1cGRhdGVkIHZhbHVlcyBtYWtlIHRoZWlyIHdheSB0
byB0aGUgV2ViWFIgZ2FtZXBhZCBhbmQgdGhhdCBpdCBkb2VzIG5vdAogICAvLyAgICBmaXJlIGFu
IGlucHV0c291cmNlc2NoYW5nZSBldmVudCkuCiAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2
ZSkgPT4gewotICAgIHNlc3Npb24ucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICBy
ZXF1ZXN0U2tpcEFuaW1hdGlvbkZyYW1lKHNlc3Npb24sICgpID0+IHsKICAgICAgIC8vIE1ha2Ug
c3VyZSB0aGUgZXhwb3NlZCBnYW1lcGFkIGhhcyB0aGUgbnVtYmVyIG9mIGJ1dHRvbnMgYW5kIGF4
ZXMgd2UKICAgICAgIC8vIHJlcXVlc3RlZC4KICAgICAgIC8vIDMgQnV0dG9uczogdHJpZ2dlciwg
Z3JpcCwgdG91Y2hwYWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2VieHIvZ2V0SW5wdXRQb3NlX2hhbmRlZG5lc3MuaHR0cHMuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvZ2V0SW5w
dXRQb3NlX2hhbmRlZG5lc3MuaHR0cHMuaHRtbAppbmRleCA1YTMxMGM2ZGQ3NzI3NDYzMWQwZWY5
ZTc1MWM2ZjE5NWRlZjljM2QzLi5jNWMxM2ZkMDhmNGVjNDNjYjMzMTU1YzllYTkyYWQyMTc3YjYw
MzVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dlYnhyL2dldElucHV0UG9zZV9oYW5kZWRuZXNzLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9nZXRJbnB1dFBvc2Vf
aGFuZGVkbmVzcy5odHRwcy5odG1sCkBAIC03NSw3ICs3NSw3IEBAIGxldCB0ZXN0RnVuY3Rpb24g
PQogICAgIH0KIAogICAgIC8vIEhhbmRlZG5lc3Mgb25seSB1cGRhdGVzIGR1cmluZyBhbiBYUiBm
cmFtZS4KLSAgICBzZXNzaW9uLnJlcXVlc3RBbmltYXRpb25GcmFtZShDaGVja05vbmUpOworICAg
IHJlcXVlc3RTa2lwQW5pbWF0aW9uRnJhbWUoc2Vzc2lvbiwgQ2hlY2tOb25lKTsKICAgfSk7CiAK
IHhyX3Nlc3Npb25fcHJvbWlzZV90ZXN0KApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9nZXRJbnB1dFBvc2VfcG9pbnRlci5odHRw
cy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4
ci9nZXRJbnB1dFBvc2VfcG9pbnRlci5odHRwcy5odG1sCmluZGV4IGM4NTQ1OTk5MDgwODkyNzAx
ODU4YjQyNWQ4MTQxYWUwZDNiM2M0NjkuLjMwZGJlNGM1MzA0YTMzZDIxMzE1NDhkOGMxNjhjODUy
MjVjZDRiODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2VieHIvZ2V0SW5wdXRQb3NlX3BvaW50ZXIuaHR0cHMuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2dldElucHV0UG9z
ZV9wb2ludGVyLmh0dHBzLmh0bWwKQEAgLTUxLDE0ICs1MSwxNSBAQCBsZXQgdGVzdEZ1bmN0aW9u
ID0KICAgICAgICAgbGV0IGlucHV0X3Bvc2UgPSB4ckZyYW1lLmdldFBvc2Uoc291cmNlLnRhcmdl
dFJheVNwYWNlLCByZWZlcmVuY2VTcGFjZSk7CiAKICAgICAgICAgdC5zdGVwKCAoKSA9PiB7Ci0g
ICAgICAgICAgLy8gV2hlbiBhIGdyaXAgbWF0cml4IGlzIHByZXNlbnQgYnV0IG5vIHBvaW50ZXIg
b2Zmc2V0IGlzIHNwZWNpZmllZCwKLSAgICAgICAgICAvLyB0aGUgZ3JpcCBhbmQgcG9pbnRlciBt
YXRyaWNlcyBzaG91bGQgYmUgdGhlIHNhbWUuCisgICAgICAgICAgLy8gV2hlbiBhIGdyaXAgbWF0
cml4IGlzIHNldCwgYm90aCB0aGUgZ3JpcCBhbmQgcG9pbnRlciBtYXRyaWNlcworICAgICAgICAg
IC8vIHNob3VsZCB5aWVsZCB0aGVpciBzZXQgdmFsdWVzIChpLmUuIHRoZSBwb2ludGVyT3JpZ2lu
IGlzICpub3QqCisgICAgICAgICAgLy8gdHJhbnNmb3JtZWQgYnkgdGhlIGdyaXBPcmlnaW4pLgog
ICAgICAgICAgIGFzc2VydF9ub3RfZXF1YWxzKGdyaXBfcG9zZSwgbnVsbCk7CiAgICAgICAgICAg
YXNzZXJ0X21hdHJpeF9hcHByb3hfZXF1YWxzKGdyaXBfcG9zZS50cmFuc2Zvcm0ubWF0cml4LCBW
QUxJRF9HUklQLAogICAgICAgICAgICAgRkxPQVRfRVBTSUxPTiwgIkdyaXAgbWF0cml4IGlzIG5v
dCBlcXVhbCB0byBpbnB1dC4iKTsKICAgICAgICAgICBhc3NlcnRfbWF0cml4X2FwcHJveF9lcXVh
bHMoaW5wdXRfcG9zZS50cmFuc2Zvcm0ubWF0cml4LAotICAgICAgICAgICAgZ3JpcF9wb3NlLnRy
YW5zZm9ybS5tYXRyaXgsIEZMT0FUX0VQU0lMT04sCi0gICAgICAgICAgICAiR3JpcCBtYXRyaXgg
aXMgbm90IGVxdWFsIHRvIHRhcmdldCByYXkgbWF0cml4LiIpOworICAgICAgICAgICAgSURFTlRJ
VFlfTUFUUklYLCBGTE9BVF9FUFNJTE9OLAorICAgICAgICAgICAgIlBvaW50ZXIgbWF0cml4IGlz
IG5vdCBlcXVhbCB0byBpdHMgc2V0IHZhbHVlLiIpOwogICAgICAgICB9KTsKIAogICAgICAgICBp
bnB1dF9zb3VyY2Uuc2V0UG9pbnRlck9yaWdpbihWQUxJRF9QT0lOVEVSX1RSQU5TRk9STSk7CkBA
IC03MywyMiArNzQsMjAgQEAgbGV0IHRlc3RGdW5jdGlvbiA9CiAgICAgICAgIGxldCBpbnB1dF9w
b3NlID0geHJGcmFtZS5nZXRQb3NlKHNvdXJjZS50YXJnZXRSYXlTcGFjZSwgcmVmZXJlbmNlU3Bh
Y2UpOwogCiAgICAgICAgIHQuc3RlcCggKCkgPT4gewotICAgICAgICAgIC8vIFdoZW4gYSBncmlw
IG1hdHJpeCBhbmQgcG9pbnRlciBvZmZzZXQgYXJlIHNwZWNpZmllZCwKLSAgICAgICAgICAvLyBw
b2ludGVyIG1hdHJpeCBzaG91bGQgYmUgZ3JpcCBtYXRyaXggbXVsdGlwbGllZCB3aXRoIHRoZSBw
b2ludGVyCi0gICAgICAgICAgLy8gb2Zmc2V0LgorICAgICAgICAgIC8vIFZlcmlmeSB0aGF0IGNo
YW5nZXMgdG8gdGhlIHBvaW50ZXIgb3JpZ2luIGFyZSBwcm9wZXJseSByZWZsZWN0ZWQuCiAgICAg
ICAgICAgYXNzZXJ0X25vdF9lcXVhbHMoZ3JpcF9wb3NlLCBudWxsKTsKICAgICAgICAgICBhc3Nl
cnRfbWF0cml4X2FwcHJveF9lcXVhbHMoZ3JpcF9wb3NlLnRyYW5zZm9ybS5tYXRyaXgsIFZBTElE
X0dSSVAsCiAgICAgICAgICAgICBGTE9BVF9FUFNJTE9OLCAiR3JpcCBtYXRyaXggaXMgbm90IGVx
dWFsIHRvIGlucHV0IHZhbGlkIGdyaXAuIik7CiAgICAgICAgICAgYXNzZXJ0X21hdHJpeF9hcHBy
b3hfZXF1YWxzKGlucHV0X3Bvc2UudHJhbnNmb3JtLm1hdHJpeCwKLSAgICAgICAgICAgIFZBTElE
X0dSSVBfV0lUSF9QT0lOVEVSX09GRlNFVCwgRkxPQVRfRVBTSUxPTiwKLSAgICAgICAgICAgICJH
cmlwIG1hdHJpeCBub3QgbXVsdGlwbGVkIHByb3Blcmx5LiIpOworICAgICAgICAgICAgVkFMSURf
UE9JTlRFUiwgRkxPQVRfRVBTSUxPTiwKKyAgICAgICAgICAgICJQb2ludGVyIG1hdHJpeCBub3Qg
c2V0IHByb3Blcmx5LiIpOwogICAgICAgICB9KTsKIAogICAgICAgICByZXNvbHZlKCk7CiAgICAg
ICB9CiAKICAgICAgIC8vIENhbiBvbmx5IHJlcXVlc3QgaW5wdXQgcG9zZXMgaW4gYW4geHIgZnJh
bWUuCi0gICAgICBzZXNzaW9uLnJlcXVlc3RBbmltYXRpb25GcmFtZShDaGVja0ludmFsaWRHcmlw
KTsKKyAgICAgIHJlcXVlc3RTa2lwQW5pbWF0aW9uRnJhbWUoc2Vzc2lvbiwgQ2hlY2tJbnZhbGlk
R3JpcCk7CiAgICAgfSk7CiAgIH0pOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2dldFZpZXdlclBvc2VfZW11bGF0ZWRQb3Np
dGlvbi5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJ4ci9nZXRWaWV3ZXJQb3NlX2VtdWxhdGVkUG9zaXRpb24uaHR0cHMuaHRtbAppbmRl
eCAyMDFhOWI3MjIwOGZhZTRmNjRkZWQ4MDgyYjdiYTExMDAwNTE3MzEzLi5hY2JhNzkxMzZhMjky
NWVmOGMzN2ZmZTBhOTkyYzVhOGRhOTY3OTc2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2dldFZpZXdlclBvc2VfZW11bGF0ZWRQ
b3NpdGlvbi5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2VieHIvZ2V0Vmlld2VyUG9zZV9lbXVsYXRlZFBvc2l0aW9uLmh0dHBzLmh0
bWwKQEAgLTE2LDkgKzE2LDEyIEBACiAgICAgfTsKIAogICAgIGxldCB0ZXN0RnVuY3Rpb24gPSBm
dW5jdGlvbihzZXNzaW9uLCBmYWtlRGV2aWNlQ29udHJvbGxlciwgdCkgeworICAgICAgbGV0IGRl
YnVnID0geHJfZGVidWcuYmluZCh0aGlzLCAndGVzdEZ1bmN0aW9uJyk7CiAgICAgICByZXR1cm4g
c2Vzc2lvbi5yZXF1ZXN0UmVmZXJlbmNlU3BhY2UoJ2xvY2FsJykKICAgICAgICAgLnRoZW4oKHJl
ZmVyZW5jZVNwYWNlKSA9PiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAg
ICAgICAgZGVidWcoJ3JlZlNwYWNlIHByb21pc2UnKTsKICAgICAgICAgICBmdW5jdGlvbiBDaGVj
a1Bvc2l0aW9uTm90RW11bGF0ZWQodGltZSwgdnJGcmFtZSl7CisgICAgICAgICAgICBkZWJ1Zygn
ckFGIDE6IGNoZWNrUG9zaXRpb25Ob3RFbXVsYXRlZCcpOwogICAgICAgICAgICAgdC5zdGVwKCgp
ID0+IHsKICAgICAgICAgICAgICAgbGV0IHBvc2UgPSB2ckZyYW1lLmdldFZpZXdlclBvc2UocmVm
ZXJlbmNlU3BhY2UpOwogICAgICAgICAgICAgICBhc3NlcnRfbm90X2VxdWFscyhwb3NlLCBudWxs
KTsKQEAgLTMwLDYgKzMzLDcgQEAKICAgICAgICAgICB9CiAKICAgICAgICAgICBmdW5jdGlvbiBD
aGVja1Bvc2l0aW9uRW11bGF0ZWQodGltZSwgdnJGcmFtZSkgeworICAgICAgICAgICAgZGVidWco
J3JBRiAyOiBjaGVja1Bvc2l0aW9uRW11bGF0ZWQnKTsKICAgICAgICAgICAgIHQuc3RlcCgoKSA9
PiB7CiAgICAgICAgICAgICAgIGxldCBwb3NlID0gdnJGcmFtZS5nZXRWaWV3ZXJQb3NlKHJlZmVy
ZW5jZVNwYWNlKTsKICAgICAgICAgICAgICAgYXNzZXJ0X25vdF9lcXVhbHMocG9zZSwgbnVsbCk7
CkBAIC0zNywxMCArNDEsMTEgQEAKICAgICAgICAgICAgIH0pOwogCiAgICAgICAgICAgICAvLyBG
aW5pc2hlZC4KKyAgICAgICAgICAgIGRlYnVnKCdyZXNvbHZlJyk7CiAgICAgICAgICAgICByZXNv
bHZlKCk7CiAgICAgICAgICAgfQogCi0gICAgICAgICAgc2Vzc2lvbi5yZXF1ZXN0QW5pbWF0aW9u
RnJhbWUoQ2hlY2tQb3NpdGlvbk5vdEVtdWxhdGVkKTsKKyAgICAgICAgICByZXF1ZXN0U2tpcEFu
aW1hdGlvbkZyYW1lKHNlc3Npb24sIENoZWNrUG9zaXRpb25Ob3RFbXVsYXRlZCk7CiAgICAgICAg
IH0pKTsKICAgICB9OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dlYnhyL2hpdC10ZXN0L2FyX2hpdHRlc3Rfc3Vic2NyaXB0aW9uX2lu
cHV0U291cmNlcy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93ZWJ4ci9oaXQtdGVzdC9hcl9oaXR0ZXN0X3N1YnNjcmlwdGlvbl9pbnB1dFNv
dXJjZXMuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNDE5MDU1YWIyNjQyNzZhYjZjMmMyZjA2NGFi
MTE3ODU0NDBiZGZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9oaXQtdGVzdC9hcl9oaXR0ZXN0X3N1YnNjcmlwdGlv
bl9pbnB1dFNvdXJjZXMuaHR0cHMuaHRtbApAQCAtMCwwICsxLDE3MCBAQAorPCFET0NUWVBFIGh0
bWw+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYnhyX3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJ4cl90ZXN0X2Fzc2VydHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJ4cl90ZXN0X2NvbnN0YW50cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYnhyX3Rlc3RfY29uc3RhbnRzX2Zha2Vfd29y
bGQuanMiPjwvc2NyaXB0PgorPGNhbnZhcyAvPgorCis8c2NyaXB0PgorCisvLyAxbSBhYm92ZSB3
b3JsZCBvcmlnaW4uCitjb25zdCBWSUVXRVJfT1JJR0lOX1RSQU5TRk9STSA9IHsKKyAgcG9zaXRp
b246IFswLCAxLCAwXSwKKyAgb3JpZW50YXRpb246IFswLCAwLCAwLCAxXSwKK307CisKKy8vIDAu
MjVtIGFib3ZlIHdvcmxkIG9yaWdpbi4KK2NvbnN0IEZMT09SX09SSUdJTl9UUkFOU0ZPUk0gPSB7
CisgIHBvc2l0aW9uOiBbMCwgLTAuMjUsIDBdLAorICBvcmllbnRhdGlvbjogWzAsIDAsIDAsIDFd
LAorfTsKKworLy8gU3RhcnQgdGhlIHNjcmVlbiBwb2ludGVyIGF0IHRoZSBzYW1lIHBsYWNlIGFz
IHRoZSB2aWV3ZXIsIHNvIGl0J3MgZXNzZW50aWFsbHkKKy8vIGNvbWluZyBzdHJhaWdodCBmb3J3
YXJkIGZyb20gdGhlIG1pZGRsZSBvZiB0aGUgc2NyZWVuLgorY29uc3QgU0NSRUVOX1BPSU5URVJf
VFJBTlNGT1JNID0gVklFV0VSX09SSUdJTl9UUkFOU0ZPUk07CisKK2NvbnN0IHNjcmVlbl9jb250
cm9sbGVyX2luaXQgPSB7CisgICAgaGFuZGVkbmVzczogIm5vbmUiLAorICAgIHRhcmdldFJheU1v
ZGU6ICJzY3JlZW4iLAorICAgIHBvaW50ZXJPcmlnaW46IFNDUkVFTl9QT0lOVEVSX1RSQU5TRk9S
TSwgIC8vIGFrYSBtb2pvX2Zyb21fcG9pbnRlcgorICAgIHByb2ZpbGVzOiBbImdlbmVyaWMtdG91
Y2hzY3JlZW4iLF0KK307CisKK2NvbnN0IGZha2VEZXZpY2VJbml0UGFyYW1zID0geworICBzdXBw
b3J0ZWRNb2RlczogWyJpbW1lcnNpdmUtYXIiXSwKKyAgdmlld3M6IFZBTElEX1ZJRVdTLAorICBm
bG9vck9yaWdpbjogRkxPT1JfT1JJR0lOX1RSQU5TRk9STSwgICAgLy8gYWthIGZsb29yX2Zyb21f
bW9qbworICB2aWV3ZXJPcmlnaW46IFZJRVdFUl9PUklHSU5fVFJBTlNGT1JNLCAgLy8gYWthIG1v
am9fZnJvbV92aWV3ZXIKKyAgc3VwcG9ydGVkRmVhdHVyZXM6IEFMTF9GRUFUVVJFUywKKyAgd29y
bGQ6IGNyZWF0ZUZha2VXb3JsZCg1LjAsIDIuMCwgNS4wKSwgIC8vIHNlZSB3ZWJ4cl90ZXN0X2Nv
bnN0YW50c19mYWtlX3dvcmxkLmpzIGZvciBkZXRhaWxzCit9OworCisvLyBHZW5lcmF0ZXMgYSB0
ZXN0IGZ1bmN0aW9uIGdpdmVuIHRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgaGl0IHRlc3QuCisvLyB8
cmF5fCAtIHJheSB0aGF0IHdpbGwgYmUgdXNlZCB0byBzdWJzY3JpYmUgdG8gaGl0IHRlc3QuCisv
LyB8ZXhwZWN0ZWRQb3Nlc3wgLSBhcnJheSBvZiBleHBlY3RlZCBwb3NlIG9iamVjdHMuIFRoZSBw
b3NlcyBzaG91bGQgYmUgZXhwcmVzc2VkIGluIGxvY2FsIHNwYWNlLgorLy8gICAgICAgICAgICAg
ICAgICAgTnVsbCBlbnRyaWVzIGluIHRoZSBhcnJheSBtZWFuIHRoYXQgdGhlIGdpdmVuIGVudHJ5
IHdpbGwgbm90IGJlIHZhbGlkYXRlZC4KKy8vIHxpbnB1dEZyb21Qb2ludGVyfCAtIGlucHV0IGZy
b20gcG9pbnRlciB0cmFuc2Zvcm0gdGhhdCB3aWxsIGJlIHVzZWQgYXMgdGhlIGlucHV0IHNvdXJj
ZSdzCisvLyAgICAgICAgICAgICAgICAgICAgICBpbnB1dEZyb21Qb2ludGVyIChha2EgcG9pbnRl
ciBvcmlnaW4pIGluIHN1YnNlcXVlbnQgckFGLgorLy8gfG5leHRGcmFtZUV4cGVjdGVkUG9zZXN8
IC0gYXJyYXkgb2YgZXhwZWN0ZWQgcG9zZSBvYmplY3RzLiBUaGUgcG9zZXMgc2hvdWxkIGJlIGV4
cHJlc3NlZCBpbiBsb2NhbCBzcGFjZS4KKy8vICAgICAgICAgICAgICAgICAgICAgICAgICAgIE51
bGwgZW50cmllcyBpbiB0aGUgYXJyYXkgbWVhbiB0aGF0IHRoZSBnaXZlbiBlbnRyeSB3aWxsIG5v
dCBiZSB2YWxpZGF0ZWQuCitsZXQgdGVzdEZ1bmN0aW9uR2VuZXJhdG9yID0gZnVuY3Rpb24ocmF5
LCBleHBlY3RlZFBvc2VzLCBpbnB1dEZyb21Qb2ludGVyLCBuZXh0RnJhbWVFeHBlY3RlZFBvc2Vz
KSB7CisgIGNvbnN0IHRlc3RGdW5jdGlvbiA9IGZ1bmN0aW9uKHNlc3Npb24sIGZha2VEZXZpY2VD
b250cm9sbGVyLCB0KSB7CisgICAgcmV0dXJuIHNlc3Npb24ucmVxdWVzdFJlZmVyZW5jZVNwYWNl
KCdsb2NhbCcpLnRoZW4oKGxvY2FsUmVmU3BhY2UpID0+IG5ldyBQcm9taXNlKChyZXNvbHZlLCBy
ZWplY3QpID0+IHsKKworICAgICAgY29uc3QgaW5wdXRfc291cmNlX2NvbnRyb2xsZXIgPSBmYWtl
RGV2aWNlQ29udHJvbGxlci5zaW11bGF0ZUlucHV0U291cmNlQ29ubmVjdGlvbihzY3JlZW5fY29u
dHJvbGxlcl9pbml0KTsKKworICAgICAgcmVxdWVzdFNraXBBbmltYXRpb25GcmFtZShzZXNzaW9u
LCAodGltZSwgZnJhbWUpID0+IHsKKyAgICAgICAgdC5zdGVwKCgpID0+IHsKKyAgICAgICAgICBh
c3NlcnRfZXF1YWxzKHNlc3Npb24uaW5wdXRTb3VyY2VzLmxlbmd0aCwgMSk7CisgICAgICAgIH0p
OworCisgICAgICAgIGNvbnN0IGlucHV0X3NvdXJjZSA9IHNlc3Npb24uaW5wdXRTb3VyY2VzWzBd
OworICAgICAgICBjb25zdCBoaXRUZXN0T3B0aW9uc0luaXQgPSB7CisgICAgICAgICAgc3BhY2U6
IGlucHV0X3NvdXJjZS50YXJnZXRSYXlTcGFjZSwKKyAgICAgICAgICBvZmZzZXRSYXk6IHJheSwK
KyAgICAgICAgfTsKKworICAgICAgICBzZXNzaW9uLnJlcXVlc3RIaXRUZXN0U291cmNlKGhpdFRl
c3RPcHRpb25zSW5pdCkudGhlbigoaGl0VGVzdFNvdXJjZSkgPT4geworICAgICAgICAgIHQuc3Rl
cCgoKSA9PiB7CisgICAgICAgICAgICBhc3NlcnRfbm90X2VxdWFscyhoaXRUZXN0U291cmNlLCBu
dWxsKTsKKyAgICAgICAgICB9KTsKKworICAgICAgICAgIC8vIFdlIGdvdCBhIGhpdCB0ZXN0IHNv
dXJjZSwgbm93IGdldCB0aGUgcmVzdWx0cyBpbiBzdWJzZXF1ZW50IHJBRmNiOgorICAgICAgICAg
IHNlc3Npb24ucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCh0aW1lLCBmcmFtZSkgPT4geworICAgICAg
ICAgICAgY29uc3QgcmVzdWx0cyA9IGZyYW1lLmdldEhpdFRlc3RSZXN1bHRzKGhpdFRlc3RTb3Vy
Y2UpOworCisgICAgICAgICAgICB0LnN0ZXAoKCkgPT4geworICAgICAgICAgICAgICBhc3NlcnRf
ZXF1YWxzKHJlc3VsdHMubGVuZ3RoLCBleHBlY3RlZFBvc2VzLmxlbmd0aCk7CisgICAgICAgICAg
ICAgIGZvcihjb25zdCBbaW5kZXgsIGV4cGVjdGVkUG9zZV0gb2YgZXhwZWN0ZWRQb3Nlcy5lbnRy
aWVzKCkpIHsKKyAgICAgICAgICAgICAgICBjb25zdCBwb3NlID0gcmVzdWx0c1tpbmRleF0uZ2V0
UG9zZShsb2NhbFJlZlNwYWNlKTsKKyAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShwb3NlICE9
IG51bGwsICJFYWNoIGhpdCB0ZXN0IHJlc3VsdCBzaG91bGQgaGF2ZSBhIHBvc2UgaW4gbG9jYWwg
c3BhY2UiKTsKKyAgICAgICAgICAgICAgICBpZihleHBlY3RlZFBvc2UgIT0gbnVsbCkgeworICAg
ICAgICAgICAgICAgICAgYXNzZXJ0X3RyYW5zZm9ybV9hcHByb3hfZXF1YWxzKHBvc2UudHJhbnNm
b3JtLCBleHBlY3RlZFBvc2UsIEZMT0FUX0VQU0lMT04sICJiZWZvcmUtbW92ZS1wb3NlOiAiKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pOworCisg
ICAgICAgICAgICBpbnB1dF9zb3VyY2VfY29udHJvbGxlci5zZXRQb2ludGVyT3JpZ2luKGlucHV0
RnJvbVBvaW50ZXIsIGZhbHNlKTsKKworICAgICAgICAgICAgc2Vzc2lvbi5yZXF1ZXN0QW5pbWF0
aW9uRnJhbWUoKHRpbWUsIGZyYW1lKSA9PiB7CisgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdHMg
PSBmcmFtZS5nZXRIaXRUZXN0UmVzdWx0cyhoaXRUZXN0U291cmNlKTsKKworICAgICAgICAgICAg
ICB0LnN0ZXAoKCkgPT4geworICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0cy5s
ZW5ndGgsIG5leHRGcmFtZUV4cGVjdGVkUG9zZXMubGVuZ3RoKTsKKyAgICAgICAgICAgICAgICBm
b3IoY29uc3QgW2luZGV4LCBleHBlY3RlZFBvc2VdIG9mIG5leHRGcmFtZUV4cGVjdGVkUG9zZXMu
ZW50cmllcygpKSB7CisgICAgICAgICAgICAgICAgICBjb25zdCBwb3NlID0gcmVzdWx0c1tpbmRl
eF0uZ2V0UG9zZShsb2NhbFJlZlNwYWNlKTsKKyAgICAgICAgICAgICAgICAgIGFzc2VydF90cnVl
KHBvc2UgIT0gbnVsbCwgIkVhY2ggaGl0IHRlc3QgcmVzdWx0IHNob3VsZCBoYXZlIGEgcG9zZSBp
biBsb2NhbCBzcGFjZSIpOworICAgICAgICAgICAgICAgICAgaWYoZXhwZWN0ZWRQb3NlICE9IG51
bGwpIHsKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X3RyYW5zZm9ybV9hcHByb3hfZXF1YWxz
KHBvc2UudHJhbnNmb3JtLCBleHBlY3RlZFBvc2UsIEZMT0FUX0VQU0lMT04sICJhZnRlci1tb3Zl
LXBvc2U6ICIpOworICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgfSk7CisKKyAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAgfSk7
CisgICAgICAgICAgfSk7CisgICAgICAgIH0pOworICAgICAgfSk7CisgICAgfSkpOworICB9Owor
CisgIHJldHVybiB0ZXN0RnVuY3Rpb247Cit9OworCisKKy8vIFBvc2Ugb2YgdGhlIGZpcnN0IGV4
cGVjdGVkIGhpdCB0ZXN0IHJlc3VsdCAtIHN0cmFpZ2h0IGFoZWFkIG9mIHRoZSBpbnB1dCBzb3Vy
Y2UsIHZpZXdlci1mYWNpbmcuCitjb25zdCBwb3NlXzEgPSB7CisgIHBvc2l0aW9uOiB7eDogMC4w
LCB5OiAxLjAsIHo6IC0yLjUsIHc6IDEuMH0sCisgIG9yaWVudGF0aW9uOiB7eDogMC4wLCB5OiAt
MC43MDcsIHo6IC0wLjcwNywgdzogMC4wfSwKKyAgICAvLyBIaXQgdGVzdCBBUEkgd2lsbCBzZXQg
WSBheGlzIHRvIHRoZSBzdXJmYWNlIG5vcm1hbCBhdCB0aGUgaW50ZXJzZWN0aW9uIHBvaW50LAor
ICAgIC8vIFogYXhpcyB0b3dhcmRzIHRoZSByYXkgb3JpZ2luIGFuZCBYIGF4aXMgdG8gY3Jvc3Mg
cHJvZHVjdCBvZiBZIGF4aXMgJiBaIGF4aXMuCisgICAgLy8gSWYgdGhlIHN1cmZhY2Ugbm9ybWFs
IGFuZCBaIGF4aXMgd291bGQgYmUgcGFyYWxsZWwsIHRoZSBoaXQgdGVzdCBBUEkKKyAgICAvLyB3
aWxsIGF0dGVtcHQgdG8gdXNlIGB1cGAgdmVjdG9yIChbMCwgMSwgMF0pIGFzIHRoZSBaIGF4aXMs
IGFuZCBpZiBpdCBzbyBoYXBwZW5zIHRoYXQgWiBheGlzCisgICAgLy8gYW5kIHRoZSBzdXJmYWNl
IG5vcm1hbCB3b3VsZCBzdGlsbCBiZSBwYXJhbGxlbCwgaXQgd2lsbCB1c2UgdGhlIGByaWdodGAg
dmVjdG9yIChbMSwgMCwgMF0pIGFzIHRoZSBaIGF4aXMuCisgICAgLy8gSW4gdGhpcyBwYXJ0aWN1
bGFyIGNhc2UsIGB1cGAgdmVjdG9yIHdpbGwgd29yayBzbyB0aGUgcmVzdWx0aW5nIHBvc2Uub3Jp
ZW50YXRpb24KKyAgICAvLyBiZWNvbWVzIGEgcm90YXRpb24gYXJvdW5kIFswLCAxLCAxXSB2ZWN0
b3IgYnkgMTgwIGRlZ3JlZXMuCit9OworCit4cl9zZXNzaW9uX3Byb21pc2VfdGVzdCgiRW5zdXJl
cyBzdWJzY3JpcHRpb24gdG8gaGl0IHRlc3Qgd29ya3Mgd2l0aCBhbiBYUlNwYWNlIGZyb20gaW5w
dXQgc291cmNlIC0gbm8gbW92ZSIsCisgIHRlc3RGdW5jdGlvbkdlbmVyYXRvcihuZXcgWFJSYXko
KSwgW3Bvc2VfMV0sIFNDUkVFTl9QT0lOVEVSX1RSQU5TRk9STSwgW3Bvc2VfMV0pLAorICBmYWtl
RGV2aWNlSW5pdFBhcmFtcywKKyAgJ2ltbWVyc2l2ZS1hcicsIHsgJ3JlcXVpcmVkRmVhdHVyZXMn
OiBbJ2hpdC10ZXN0J10gfSk7CisKK2NvbnN0IG1vdmVkX3BvaW50ZXJfdHJhbnNmb3JtXzEgPSB7
CisgIHBvc2l0aW9uOiBbMCwgMSwgMF0sCisgIG9yaWVudGF0aW9uOiBbIDAuNzA3LCAwLCAwLCAw
LjcwNyBdIC8vIDkwIGRlZ3JlZXMgYXJvdW5kIFggYXhpcyA9IGZhY2luZyB1cAorfTsKKworeHJf
c2Vzc2lvbl9wcm9taXNlX3Rlc3QoIkVuc3VyZXMgc3Vic2NyaXB0aW9uIHRvIGhpdCB0ZXN0IHdv
cmtzIHdpdGggYW4gWFJTcGFjZSBmcm9tIGlucHV0IHNvdXJjZSAtIGFmdGVyIG1vdmUgLSBubyBy
ZXN1bHRzIiwKKyAgdGVzdEZ1bmN0aW9uR2VuZXJhdG9yKG5ldyBYUlJheSgpLCBbcG9zZV8xXSwg
bW92ZWRfcG9pbnRlcl90cmFuc2Zvcm1fMSwgW10pLAorICBmYWtlRGV2aWNlSW5pdFBhcmFtcywK
KyAgJ2ltbWVyc2l2ZS1hcicsIHsgJ3JlcXVpcmVkRmVhdHVyZXMnOiBbJ2hpdC10ZXN0J10gfSk7
CisKK2NvbnN0IHBvc2VfMiA9IHsKKyAgcG9zaXRpb246IHt4OiAtMS40NDMsIHk6IDEuMCwgejog
LTIuNSwgdzogMS4wfSwKKyAgICAvLyBJbnRlcnNlY3Rpb24gcG9pbnQgd2lsbCBiZSBvbiB0aGUg
c2FtZSBoZWlnaHQgYXMgdGhlIHZpZXdlciwgb24gdGhlIGZyb250CisgICAgLy8gd2FsbC4gRGlz
dGFuY2UgZnJvbSB0aGUgZnJvbnQgd2FsbCB0byB2aWV3ZXIgaXMgMi41bSwgYW5kIHdlIGFyZSBy
b3RhdGluZworICAgIC8vIHRvIHRoZSBsZWZ0LCBzbyBYIGNvb3JkaW5hdGUgb2YgdGhlIGludGVy
c2VjdGlvbiBwb2ludCB3aWxsIGJlIG5lZ2F0aXZlCisgICAgLy8gJiBlcXVhbCB0byAtMi41ICog
dGFuKDMwIGRlZykgfj0gMS40NDNtLgorICBvcmllbnRhdGlvbjoge3g6IDAuNSwgeTogMC41LCB6
OiAwLjUsIHc6IDAuNSB9LAorICAgIC8vIFNlZSBjb21tZW50IGZvciBwb3NlXzEub3JpZW50YXRp
b24gZm9yIGRldGFpbHMuCisgICAgLy8gSW4gdGhpcyBjYXNlLCB0aGUgaGl0IHRlc3QgcG9zZSB3
aWxsIGhhdmUgWSBheGlzIGZhY2luZyB0b3dhcmRzIHdvcmxkJ3MKKyAgICAvLyBwb3NpdGl2ZSBa
IGF4aXMgKFswLDAsMV0pLCBaIGF4aXMgdG8gdGhlIHJpZ2h0IChbMSwwLDBdKSBhbmQgWCBheGlz
CisgICAgLy8gdG93YXJkcyB3b3JsZCdzIFkgYXhpcyAoWzAsMSwwXSkuCisgICAgLy8gVGhpcyBp
cyBlcXVpdmFsZW50IHRvIHRoZSByb3RhdGlvbiBhcm91bmQgWzEsIDEsIDFdIHZlY3RvciBieSAx
MjAgZGVncmVlcy4KK307CisKK2NvbnN0IG1vdmVkX3BvaW50ZXJfdHJhbnNmb3JtXzIgPSB7Cisg
IHBvc2l0aW9uOiBbMCwgMSwgMF0sCisgIG9yaWVudGF0aW9uOiBbIDAsIDAuMjU4OCwgMCwgMC45
NjU5IF0gLy8gMzAgZGVncmVlcyBhcm91bmQgWSBheGlzID0gdG8gdGhlIGxlZnQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY3JlYXRpbmcgMzAtNjAtOTAgdHJp
YW5nbGUgd2l0aCB0aGUgZnJvbnQgd2FsbAorfTsKKworeHJfc2Vzc2lvbl9wcm9taXNlX3Rlc3Qo
IkVuc3VyZXMgc3Vic2NyaXB0aW9uIHRvIGhpdCB0ZXN0IHdvcmtzIHdpdGggYW4gWFJTcGFjZSBm
cm9tIGlucHV0IHNvdXJjZSAtIGFmdGVyIG1vdmUgLSAxIHJlc3VsdCIsCisgIHRlc3RGdW5jdGlv
bkdlbmVyYXRvcihuZXcgWFJSYXkoKSwgW3Bvc2VfMV0sIG1vdmVkX3BvaW50ZXJfdHJhbnNmb3Jt
XzIsIFtwb3NlXzJdKSwKKyAgZmFrZURldmljZUluaXRQYXJhbXMsCisgICdpbW1lcnNpdmUtYXIn
LCB7ICdyZXF1aXJlZEZlYXR1cmVzJzogWydoaXQtdGVzdCddIH0pOworCis8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vi
eHIvaGl0LXRlc3QvYXJfaGl0dGVzdF9zdWJzY3JpcHRpb25fcmVmU3BhY2VzLmh0dHBzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2hpdC10
ZXN0L2FyX2hpdHRlc3Rfc3Vic2NyaXB0aW9uX3JlZlNwYWNlcy5odHRwcy5odG1sCmluZGV4IGQx
Y2UzMTU0ZTZjZTk2N2YwZWQ4ODIyZTRiODJkYWI2YWVhZDdkZDMuLmYxYzIyM2FlNzQ5NTM5MGZk
ZDI1OTJmMjRlMjk4Njk2NjNjZGU5MzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvaGl0LXRlc3QvYXJfaGl0dGVzdF9zdWJzY3Jp
cHRpb25fcmVmU3BhY2VzLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9oaXQtdGVzdC9hcl9oaXR0ZXN0X3N1YnNjcmlwdGlv
bl9yZWZTcGFjZXMuaHR0cHMuaHRtbApAQCAtMTcsMTQgKzE3LDE0IEBAIGNvbnN0IFZJRVdFUl9P
UklHSU5fVFJBTlNGT1JNID0gewogCiAvLyAwLjI1bSBhYm92ZSB3b3JsZCBvcmlnaW4uCiBjb25z
dCBGTE9PUl9PUklHSU5fVFJBTlNGT1JNID0gewotICBwb3NpdGlvbjogWzAsIC0wLjI1LCAwXSwK
KyAgcG9zaXRpb246IFswLCAwLjI1LCAwXSwKICAgb3JpZW50YXRpb246IFswLCAwLCAwLCAxXSwK
IH07CiAKIGNvbnN0IGZha2VEZXZpY2VJbml0UGFyYW1zID0gewogICBzdXBwb3J0ZWRNb2Rlczog
WyJpbW1lcnNpdmUtYXIiXSwKICAgdmlld3M6IFZBTElEX1ZJRVdTLAotICBmbG9vck9yaWdpbjog
RkxPT1JfT1JJR0lOX1RSQU5TRk9STSwgICAgLy8gYWthIGZsb29yX2Zyb21fbW9qbworICBmbG9v
ck9yaWdpbjogRkxPT1JfT1JJR0lOX1RSQU5TRk9STSwgICAgLy8gYWthIG1vam9fZnJvbV9mbG9v
cgogICB2aWV3ZXJPcmlnaW46IFZJRVdFUl9PUklHSU5fVFJBTlNGT1JNLCAgLy8gYWthIG1vam9f
ZnJvbV92aWV3ZXIKICAgc3VwcG9ydGVkRmVhdHVyZXM6IEFMTF9GRUFUVVJFUywKICAgd29ybGQ6
IGNyZWF0ZUZha2VXb3JsZCg1LjAsIDIuMCwgNS4wKSwgIC8vIHdlYnhyX3Rlc3RfY29uc3RhbnRz
X2Zha2Vfd29ybGQuanMgaGFzIGRldGFpbGVkIGRlc2NyaXB0aW9uIG9mIHRoZSBmYWtlIHdvcmxk
CkBAIC02NCw3ICs2NCw3IEBAIGxldCB0ZXN0RnVuY3Rpb25HZW5lcmF0b3IgPSBmdW5jdGlvbihy
YXksIGV4cGVjdGVkUG9zZXMsIHJlZlNwYWNlTmFtZSkgewogICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhoaXRUZXN0UmVzdWx0cy5sZW5ndGgsIGV4cGVjdGVkUG9zZXMubGVuZ3RoLCAiUmVzdWx0
cyBsZW5ndGggc2hvdWxkIG1hdGNoIGV4cGVjdGVkIHJlc3VsdHMgbGVuZ3RoIik7CiAgICAgICAg
ICAgICBmb3IoY29uc3QgW2luZGV4LCBleHBlY3RlZFBvc2VdIG9mIGV4cGVjdGVkUG9zZXMuZW50
cmllcygpKSB7CiAgICAgICAgICAgICAgIGNvbnN0IHBvc2UgPSBoaXRUZXN0UmVzdWx0c1tpbmRl
eF0uZ2V0UG9zZShsb2NhbFJlZlNwYWNlKTsKLSAgICAgICAgICAgICAgYXNzZXJ0X3RydWUocG9z
ZSAhPSBudWxsLCAiRWFjaCBoaXQgdGVzdCByZXN1bHQgc2hvdWxkIGhhdmUgYSBwb3NlIGluIHZp
ZXdlciBzcGFjZSIpOworICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShwb3NlICE9IG51bGwsICJF
YWNoIGhpdCB0ZXN0IHJlc3VsdCBzaG91bGQgaGF2ZSBhIHBvc2UgaW4gbG9jYWwgc3BhY2UiKTsK
ICAgICAgICAgICAgICAgaWYoZXhwZWN0ZWRQb3NlICE9IG51bGwpIHsKICAgICAgICAgICAgICAg
ICBhc3NlcnRfdHJhbnNmb3JtX2FwcHJveF9lcXVhbHMocG9zZS50cmFuc2Zvcm0sIGV4cGVjdGVk
UG9zZSk7CiAgICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvaGl0LXRlc3QvYXJfaGl0dGVzdF9zdWJzY3Jp
cHRpb25fc3RhdGVzLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dlYnhyL2hpdC10ZXN0L2FyX2hpdHRlc3Rfc3Vic2NyaXB0aW9uX3N0YXRl
cy5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ODk0N2RhMjYzNzAz
ZTI5NTg4YzVhYzQzMjEzN2Q5ZWNhNjlkMDQ2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2VieHIvaGl0LXRlc3QvYXJfaGl0dGVzdF9zdWJzY3JpcHRpb25fc3RhdGVzLmh0dHBz
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvd2VieHJfdXRpbC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3dlYnhyX3Rlc3RfYXNzZXJ0cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3dlYnhyX3Rlc3RfY29uc3RhbnRzLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvd2VieHJfdGVzdF9jb25zdGFudHNfZmFrZV93b3JsZC5qcyI+
PC9zY3JpcHQ+Ci08Y2FudmFzIC8+Ci0KLTxzY3JpcHQ+Ci0KLWNvbnN0IGZha2VEZXZpY2VJbml0
UGFyYW1zID0gewotICBzdXBwb3J0ZWRNb2RlczogWyJpbW1lcnNpdmUtYXIiXSwKLSAgdmlld3M6
IFZBTElEX1ZJRVdTLAotICBzdXBwb3J0ZWRGZWF0dXJlczogQUxMX0ZFQVRVUkVTLAotfTsKLQot
Ly8gfHNob3VsZFN1Y2NlZWR8IC0gdHJ1ZSBpZiB0aGUgaGl0IHRlc3QgcmVxdWVzdCBpcyBleHBl
Y3RlZCB0byBzdWNjZWVkLCBmYWxzZSBvdGhlcndpc2UKLS8vIHxlbmRTZXNzaW9ufCAtIHRydWUg
aWYgdGhlIHRlc3QgY2FzZSBzaG91bGQgY2FsbCBzZXNzaW9uLmVuZCgpIHByaW9yIHRvIHJlcXVl
c3RpbmcgaGl0IHRlc3QKLWNvbnN0IHRlc3RGdW5jdGlvbkdlbmVyYXRvciA9IGZ1bmN0aW9uKHNo
b3VsZFN1Y2NlZWQsIGVuZFNlc3Npb24pIHsKLSAgY29uc3QgdGVzdEZ1bmN0aW9uID0gZnVuY3Rp
b24oc2Vzc2lvbiwgZmFrZURldmljZUNvbnRyb2xsZXIsIHQpIHsKLSAgICBzZXNzaW9uLnJlcXVl
c3RSZWZlcmVuY2VTcGFjZSgndmlld2VyJykudGhlbigodmlld2VyUmVmU3BhY2UpID0+IHsKLQot
ICAgICAgY29uc3QgaGl0VGVzdE9wdGlvbnNJbml0ID0gewotICAgICAgICBzcGFjZTogdmlld2Vy
UmVmU3BhY2UsCi0gICAgICAgIG9mZnNldFJheTogbmV3IFhSUmF5KCksCi0gICAgICB9OwotCi0g
ICAgICBpZihlbmRTZXNzaW9uKSB7Ci0gICAgICAgIHNlc3Npb24uZW5kKCk7Ci0gICAgICB9Ci0K
LSAgICAgIHJldHVybiBzZXNzaW9uLnJlcXVlc3RIaXRUZXN0U291cmNlKGhpdFRlc3RPcHRpb25z
SW5pdCkudGhlbigoaGl0VGVzdFNvdXJjZSkgPT4gewotICAgICAgICB0LnN0ZXAoKCkgPT4gewot
ICAgICAgICAgIGFzc2VydF90cnVlKHNob3VsZFN1Y2NlZWQsCi0gICAgICAgICAgICAiYHJlcXVl
c3RIaXRUZXN0U291cmNlYCBzdWNjZWVkZWQgd2hlbiBpdCB3YXMgZXhwZWN0ZWQgdG8gZmFpbCIp
OwotICAgICAgICB9KTsKLSAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4gewotICAgICAgICB0LnN0
ZXAoKCkgPT4gewotICAgICAgICAgIGFzc2VydF9mYWxzZShzaG91bGRTdWNjZWVkLAotICAgICAg
ICAgICAgImByZXF1ZXN0SGl0VGVzdFNvdXJjZWAgZmFpbGVkIHdoZW4gaXQgd2FzIGV4cGVjdGVk
IHRvIHN1Y2NlZWQsIGVycm9yOiAiICsgZXJyb3IpOwotICAgICAgICB9KTsKLSAgICAgIH0pOwot
ICAgIH0pOwotICB9OwotCi0gIHJldHVybiB0ZXN0RnVuY3Rpb247Ci19OwotCi14cl9zZXNzaW9u
X3Byb21pc2VfdGVzdCgiSGl0IHRlc3Qgc3Vic2NyaXB0aW9uIHN1Y2NlZWRzIGlmIHRoZSBmZWF0
dXJlIHdhcyByZXF1ZXN0ZWQiLAotICB0ZXN0RnVuY3Rpb25HZW5lcmF0b3IoLypzaG91bGRTdWNj
ZWVkPSovdHJ1ZSwgLyplbmRTZXNzaW9uPSovZmFsc2UpLAotICBmYWtlRGV2aWNlSW5pdFBhcmFt
cywKLSAgJ2ltbWVyc2l2ZS1hcicsIHsgJ3JlcXVpcmVkRmVhdHVyZXMnOiBbJ2hpdC10ZXN0J10g
fSk7Ci0KLXhyX3Nlc3Npb25fcHJvbWlzZV90ZXN0KCJIaXQgdGVzdCBzdWJzY3JpcHRpb24gZmFp
bHMgaWYgdGhlIGZlYXR1cmUgd2FzIG5vdCByZXF1ZXN0ZWQiLAotICB0ZXN0RnVuY3Rpb25HZW5l
cmF0b3IoLypzaG91bGRTdWNjZWVkPSovZmFsc2UsIC8qZW5kU2Vzc2lvbj0qL2ZhbHNlKSwKLSAg
ZmFrZURldmljZUluaXRQYXJhbXMsCi0gICdpbW1lcnNpdmUtYXInLCB7fSk7Ci0KLXhyX3Nlc3Np
b25fcHJvbWlzZV90ZXN0KCJIaXQgdGVzdCBzdWJzY3JpcHRpb24gZmFpbHMgaWYgdGhlIGZlYXR1
cmUgd2FzIHJlcXVlc3RlZCBidXQgdGhlIHNlc3Npb24gYWxyZWFkeSBlbmRlZCIsCi0gIHRlc3RG
dW5jdGlvbkdlbmVyYXRvcigvKnNob3VsZFN1Y2NlZWQ9Ki9mYWxzZSwgLyplbmRTZXNzaW9uPSov
dHJ1ZSksCi0gIGZha2VEZXZpY2VJbml0UGFyYW1zLAotICAnaW1tZXJzaXZlLWFyJywgeyAncmVx
dWlyZWRGZWF0dXJlcyc6IFsnaGl0LXRlc3QnXSB9KTsKLQotPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2hpdC10
ZXN0L2FyX2hpdHRlc3Rfc3Vic2NyaXB0aW9uX3N0YXRlc19yZWd1bGFyLmh0dHBzLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2hpdC10ZXN0
L2FyX2hpdHRlc3Rfc3Vic2NyaXB0aW9uX3N0YXRlc19yZWd1bGFyLmh0dHBzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDY3OGZmNTVjZWY5MDYyMGU1NWJiZDg5M2ZmMmZjMTZlMWE2OTI1MgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vi
eHIvaGl0LXRlc3QvYXJfaGl0dGVzdF9zdWJzY3JpcHRpb25fc3RhdGVzX3JlZ3VsYXIuaHR0cHMu
aHRtbApAQCAtMCwwICsxLDcwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvd2VieHJfdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dl
YnhyX3Rlc3RfYXNzZXJ0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3dlYnhyX3Rlc3RfY29uc3RhbnRzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvd2VieHJfdGVzdF9jb25zdGFudHNfZmFrZV93b3JsZC5qcyI+PC9zY3JpcHQ+Cis8Y2Fu
dmFzIC8+CisKKzxzY3JpcHQ+CisKK2NvbnN0IGZha2VEZXZpY2VJbml0UGFyYW1zID0geworICBz
dXBwb3J0ZWRNb2RlczogWyJpbW1lcnNpdmUtYXIiXSwKKyAgdmlld3M6IFZBTElEX1ZJRVdTLAor
ICBzdXBwb3J0ZWRGZWF0dXJlczogQUxMX0ZFQVRVUkVTLAorfTsKKworLy8gQ3JlYXRlcyBhIHRl
c3QgbWV0aG9kIHRoYXQgbGV2ZXJhZ2VzIHJlZ3VsYXIgaGl0IHRlc3QgQVBJIChhcyBvcHBvc2Vk
IHRvIGhpdAorLy8gdGVzdCBmb3IgdHJhbnNpZW50IGlucHV0KS4KKy8vIHxzaG91bGRTdWNjZWVk
fCAtIHRydWUgaWYgdGhlIGhpdCB0ZXN0IHJlcXVlc3QgaXMgZXhwZWN0ZWQgdG8gc3VjY2VlZCwg
ZmFsc2Ugb3RoZXJ3aXNlCisvLyB8ZW5kU2Vzc2lvbnwgLSB0cnVlIGlmIHRoZSB0ZXN0IGNhc2Ug
c2hvdWxkIGNhbGwgc2Vzc2lvbi5lbmQoKSBwcmlvciB0byByZXF1ZXN0aW5nIGhpdCB0ZXN0Cisv
LyB8ZXhwZWN0ZWRFcnJvcnwgLSBleHBlY3RlZCBlcnJvciBuYW1lIHRoYXQgc2hvdWxkIGJlIHJl
dHVybmVkIGluIGNhc2Ugc2hvdWxkU3VjY2VlZCBpcyBmYWxzZQorY29uc3QgdGVzdEZ1bmN0aW9u
R2VuZXJhdG9yUmVndWxhciA9IGZ1bmN0aW9uKHNob3VsZFN1Y2NlZWQsIGVuZFNlc3Npb24sIGV4
cGVjdGVkRXJyb3IpIHsKKyAgY29uc3QgdGVzdEZ1bmN0aW9uID0gZnVuY3Rpb24oc2Vzc2lvbiwg
ZmFrZURldmljZUNvbnRyb2xsZXIsIHQpIHsKKyAgICBzZXNzaW9uLnJlcXVlc3RSZWZlcmVuY2VT
cGFjZSgndmlld2VyJykudGhlbigodmlld2VyUmVmU3BhY2UpID0+IHsKKworICAgICAgY29uc3Qg
aGl0VGVzdE9wdGlvbnNJbml0ID0geworICAgICAgICBzcGFjZTogdmlld2VyUmVmU3BhY2UsCisg
ICAgICAgIG9mZnNldFJheTogbmV3IFhSUmF5KCksCisgICAgICB9OworCisgICAgICBpZihlbmRT
ZXNzaW9uKSB7CisgICAgICAgIHNlc3Npb24uZW5kKCk7CisgICAgICB9CisKKyAgICAgIHJldHVy
biBzZXNzaW9uLnJlcXVlc3RIaXRUZXN0U291cmNlKGhpdFRlc3RPcHRpb25zSW5pdCkudGhlbigo
aGl0VGVzdFNvdXJjZSkgPT4geworICAgICAgICB0LnN0ZXAoKCkgPT4geworICAgICAgICAgIGFz
c2VydF90cnVlKHNob3VsZFN1Y2NlZWQsCisgICAgICAgICAgICAiYHJlcXVlc3RIaXRUZXN0U291
cmNlYCBzdWNjZWVkZWQgd2hlbiBpdCB3YXMgZXhwZWN0ZWQgdG8gZmFpbCIpOworICAgICAgICB9
KTsKKyAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4geworICAgICAgICB0LnN0ZXAoKCkgPT4gewor
ICAgICAgICAgIGFzc2VydF9mYWxzZShzaG91bGRTdWNjZWVkLAorICAgICAgICAgICAgImByZXF1
ZXN0SGl0VGVzdFNvdXJjZWAgZmFpbGVkIHdoZW4gaXQgd2FzIGV4cGVjdGVkIHRvIHN1Y2NlZWQs
IGVycm9yOiAiICsgZXJyb3IpOworICAgICAgICAgIGFzc2VydF9lcXVhbHMoZXJyb3IubmFtZSwg
ZXhwZWN0ZWRFcnJvciwKKyAgICAgICAgICAgICJgcmVxdWVzdEhpdFRlc3RTb3VyY2VgIGZhaWxl
ZCB3aXRoIHVuZXhwZWN0ZWQgZXJyb3IgbmFtZSIpOworICAgICAgICB9KTsKKyAgICAgIH0pOwor
ICAgIH0pOworICB9OworCisgIHJldHVybiB0ZXN0RnVuY3Rpb247Cit9OworCit4cl9zZXNzaW9u
X3Byb21pc2VfdGVzdCgiSGl0IHRlc3Qgc3Vic2NyaXB0aW9uIHN1Y2NlZWRzIGlmIHRoZSBmZWF0
dXJlIHdhcyByZXF1ZXN0ZWQiLAorICB0ZXN0RnVuY3Rpb25HZW5lcmF0b3JSZWd1bGFyKC8qc2hv
dWxkU3VjY2VlZD0qL3RydWUsIC8qZW5kU2Vzc2lvbj0qL2ZhbHNlKSwKKyAgZmFrZURldmljZUlu
aXRQYXJhbXMsCisgICdpbW1lcnNpdmUtYXInLCB7ICdyZXF1aXJlZEZlYXR1cmVzJzogWydoaXQt
dGVzdCddIH0pOworCit4cl9zZXNzaW9uX3Byb21pc2VfdGVzdCgiSGl0IHRlc3Qgc3Vic2NyaXB0
aW9uIGZhaWxzIGlmIHRoZSBmZWF0dXJlIHdhcyBub3QgcmVxdWVzdGVkIiwKKyAgdGVzdEZ1bmN0
aW9uR2VuZXJhdG9yUmVndWxhcigvKnNob3VsZFN1Y2NlZWQ9Ki9mYWxzZSwgLyplbmRTZXNzaW9u
PSovZmFsc2UsICJOb3RTdXBwb3J0ZWRFcnJvciIpLAorICBmYWtlRGV2aWNlSW5pdFBhcmFtcywK
KyAgJ2ltbWVyc2l2ZS1hcicsIHt9KTsKKworeHJfc2Vzc2lvbl9wcm9taXNlX3Rlc3QoIkhpdCB0
ZXN0IHN1YnNjcmlwdGlvbiBmYWlscyBpZiB0aGUgZmVhdHVyZSB3YXMgcmVxdWVzdGVkIGJ1dCB0
aGUgc2Vzc2lvbiBhbHJlYWR5IGVuZGVkIiwKKyAgdGVzdEZ1bmN0aW9uR2VuZXJhdG9yUmVndWxh
cigvKnNob3VsZFN1Y2NlZWQ9Ki9mYWxzZSwgLyplbmRTZXNzaW9uPSovdHJ1ZSwgIkludmFsaWRT
dGF0ZUVycm9yIiksCisgIGZha2VEZXZpY2VJbml0UGFyYW1zLAorICAnaW1tZXJzaXZlLWFyJywg
eyAncmVxdWlyZWRGZWF0dXJlcyc6IFsnaGl0LXRlc3QnXSB9KTsKKworPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhy
L2hpdC10ZXN0L2FyX2hpdHRlc3Rfc3Vic2NyaXB0aW9uX3N0YXRlc190cmFuc2llbnQuaHR0cHMu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIv
aGl0LXRlc3QvYXJfaGl0dGVzdF9zdWJzY3JpcHRpb25fc3RhdGVzX3RyYW5zaWVudC5odHRwcy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmFjY2Q0YmJmNzBmNzE2ZmFmOTg4NWNhNmUzMDg4Y2VhYjQ4NDkzZWYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dlYnhyL2hpdC10ZXN0L2FyX2hpdHRlc3Rfc3Vic2NyaXB0aW9uX3N0YXRlc190cmFu
c2llbnQuaHR0cHMuaHRtbApAQCAtMCwwICsxLDY3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvd2VieHJfdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3dlYnhyX3Rlc3RfYXNzZXJ0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3dlYnhyX3Rlc3RfY29uc3RhbnRzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvd2VieHJfdGVzdF9jb25zdGFudHNfZmFrZV93b3JsZC5qcyI+PC9z
Y3JpcHQ+Cis8Y2FudmFzIC8+CisKKzxzY3JpcHQ+CisKK2NvbnN0IGZha2VEZXZpY2VJbml0UGFy
YW1zID0geworICBzdXBwb3J0ZWRNb2RlczogWyJpbW1lcnNpdmUtYXIiXSwKKyAgdmlld3M6IFZB
TElEX1ZJRVdTLAorICBzdXBwb3J0ZWRGZWF0dXJlczogQUxMX0ZFQVRVUkVTLAorfTsKKworLy8g
Q3JlYXRlcyBhIHRlc3QgbWV0aG9kIHRoYXQgbGV2ZXJhZ2VzIGhpdCB0ZXN0IEFQSSBmb3IgdHJh
bnNpZW50IGlucHV0LgorLy8gfHNob3VsZFN1Y2NlZWR8IC0gdHJ1ZSBpZiB0aGUgaGl0IHRlc3Qg
cmVxdWVzdCBpcyBleHBlY3RlZCB0byBzdWNjZWVkLCBmYWxzZSBvdGhlcndpc2UKKy8vIHxlbmRT
ZXNzaW9ufCAtIHRydWUgaWYgdGhlIHRlc3QgY2FzZSBzaG91bGQgY2FsbCBzZXNzaW9uLmVuZCgp
IHByaW9yIHRvIHJlcXVlc3RpbmcgaGl0IHRlc3QKKy8vIHxleHBlY3RlZEVycm9yfCAtIGV4cGVj
dGVkIGVycm9yIG5hbWUgdGhhdCBzaG91bGQgYmUgcmV0dXJuZWQgaW4gY2FzZSBzaG91bGRTdWNj
ZWVkIGlzIGZhbHNlCitjb25zdCB0ZXN0RnVuY3Rpb25HZW5lcmF0b3JUcmFuc2llbnQgPSBmdW5j
dGlvbihzaG91bGRTdWNjZWVkLCBlbmRTZXNzaW9uLCBleHBlY3RlZEVycm9yKSB7CisgIGNvbnN0
IHRlc3RGdW5jdGlvbiA9IGZ1bmN0aW9uKHNlc3Npb24sIGZha2VEZXZpY2VDb250cm9sbGVyLCB0
KSB7CisgICAgY29uc3QgaGl0VGVzdE9wdGlvbnNJbml0ID0geworICAgICAgcHJvZmlsZTogImdl
bmVyaWMtdG91Y2hzY3JlZW4iLAorICAgICAgb2Zmc2V0UmF5OiBuZXcgWFJSYXkoKSwKKyAgICB9
OworCisgICAgaWYoZW5kU2Vzc2lvbikgeworICAgICAgc2Vzc2lvbi5lbmQoKTsKKyAgICB9CisK
KyAgICByZXR1cm4gc2Vzc2lvbi5yZXF1ZXN0SGl0VGVzdFNvdXJjZUZvclRyYW5zaWVudElucHV0
KGhpdFRlc3RPcHRpb25zSW5pdCkKKyAgICAgICAgICAgICAgICAgIC50aGVuKChoaXRUZXN0U291
cmNlKSA9PiB7CisgICAgICB0LnN0ZXAoKCkgPT4geworICAgICAgICBhc3NlcnRfdHJ1ZShzaG91
bGRTdWNjZWVkLAorICAgICAgICAgICJgcmVxdWVzdEhpdFRlc3RTb3VyY2VGb3JUcmFuc2llbnRJ
bnB1dGAgc3VjY2VlZGVkIHdoZW4gaXQgd2FzIGV4cGVjdGVkIHRvIGZhaWwiKTsKKyAgICAgIH0p
OworICAgIH0pLmNhdGNoKChlcnJvcikgPT4geworICAgICAgdC5zdGVwKCgpID0+IHsKKyAgICAg
ICAgYXNzZXJ0X2ZhbHNlKHNob3VsZFN1Y2NlZWQsCisgICAgICAgICAgImByZXF1ZXN0SGl0VGVz
dFNvdXJjZUZvclRyYW5zaWVudElucHV0YCBmYWlsZWQgd2hlbiBpdCB3YXMgZXhwZWN0ZWQgdG8g
c3VjY2VlZCwgZXJyb3I6ICIgKyBlcnJvcik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZXJyb3Iu
bmFtZSwgZXhwZWN0ZWRFcnJvciwKKyAgICAgICAgICAiYHJlcXVlc3RIaXRUZXN0U291cmNlRm9y
VHJhbnNpZW50SW5wdXRgIGZhaWxlZCB3aXRoIHVuZXhwZWN0ZWQgZXJyb3IgbmFtZSIpOworICAg
ICAgfSk7CisgICAgfSk7CisgIH07CisKKyAgcmV0dXJuIHRlc3RGdW5jdGlvbjsKK307CisKK3hy
X3Nlc3Npb25fcHJvbWlzZV90ZXN0KCJUcmFuc2llbnQgaGl0IHRlc3Qgc3Vic2NyaXB0aW9uIHN1
Y2NlZWRzIGlmIHRoZSBmZWF0dXJlIHdhcyByZXF1ZXN0ZWQiLAorICB0ZXN0RnVuY3Rpb25HZW5l
cmF0b3JUcmFuc2llbnQoLypzaG91bGRTdWNjZWVkPSovdHJ1ZSwgLyplbmRTZXNzaW9uPSovZmFs
c2UpLAorICBmYWtlRGV2aWNlSW5pdFBhcmFtcywKKyAgJ2ltbWVyc2l2ZS1hcicsIHsgJ3JlcXVp
cmVkRmVhdHVyZXMnOiBbJ2hpdC10ZXN0J10gfSk7CisKK3hyX3Nlc3Npb25fcHJvbWlzZV90ZXN0
KCJUcmFuc2llbnQgaGl0IHRlc3Qgc3Vic2NyaXB0aW9uIGZhaWxzIGlmIHRoZSBmZWF0dXJlIHdh
cyBub3QgcmVxdWVzdGVkIiwKKyAgdGVzdEZ1bmN0aW9uR2VuZXJhdG9yVHJhbnNpZW50KC8qc2hv
dWxkU3VjY2VlZD0qL2ZhbHNlLCAvKmVuZFNlc3Npb249Ki9mYWxzZSwgIk5vdFN1cHBvcnRlZEVy
cm9yIiksCisgIGZha2VEZXZpY2VJbml0UGFyYW1zLAorICAnaW1tZXJzaXZlLWFyJywge30pOwor
Cit4cl9zZXNzaW9uX3Byb21pc2VfdGVzdCgiVHJhbnNpZW50IHRlc3Qgc3Vic2NyaXB0aW9uIGZh
aWxzIGlmIHRoZSBmZWF0dXJlIHdhcyByZXF1ZXN0ZWQgYnV0IHRoZSBzZXNzaW9uIGFscmVhZHkg
ZW5kZWQiLAorICB0ZXN0RnVuY3Rpb25HZW5lcmF0b3JUcmFuc2llbnQoLypzaG91bGRTdWNjZWVk
PSovZmFsc2UsIC8qZW5kU2Vzc2lvbj0qL3RydWUsICJJbnZhbGlkU3RhdGVFcnJvciIpLAorICBm
YWtlRGV2aWNlSW5pdFBhcmFtcywKKyAgJ2ltbWVyc2l2ZS1hcicsIHsgJ3JlcXVpcmVkRmVhdHVy
ZXMnOiBbJ2hpdC10ZXN0J10gfSk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9oaXQtdGVzdC9hcl9oaXR0
ZXN0X3N1YnNjcmlwdGlvbl90cmFuc2llbnRJbnB1dFNvdXJjZXMuaHR0cHMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvaGl0LXRlc3QvYXJf
aGl0dGVzdF9zdWJzY3JpcHRpb25fdHJhbnNpZW50SW5wdXRTb3VyY2VzLmh0dHBzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZTM4ZTljNjAxYjMxMmYxMjA3Y2NlMjliZDY0ZDU4ODM4MTI3NWUzYwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d2VieHIvaGl0LXRlc3QvYXJfaGl0dGVzdF9zdWJzY3JpcHRpb25fdHJhbnNpZW50SW5wdXRTb3Vy
Y2VzLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwxNzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy93ZWJ4cl91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvd2VieHJfdGVzdF9hc3NlcnRzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvd2VieHJfdGVzdF9jb25zdGFudHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy93ZWJ4cl90ZXN0X2NvbnN0YW50c19mYWtlX3dvcmxkLmpzIj48L3Nj
cmlwdD4KKzxjYW52YXMgLz4KKworPHNjcmlwdD4KKworLy8gMW0gYWJvdmUgd29ybGQgb3JpZ2lu
LgorY29uc3QgVklFV0VSX09SSUdJTl9UUkFOU0ZPUk0gPSB7CisgIHBvc2l0aW9uOiBbMCwgMSwg
MF0sCisgIG9yaWVudGF0aW9uOiBbMCwgMCwgMCwgMV0sCit9OworCisvLyAwLjI1bSBhYm92ZSB3
b3JsZCBvcmlnaW4uCitjb25zdCBGTE9PUl9PUklHSU5fVFJBTlNGT1JNID0geworICBwb3NpdGlv
bjogWzAsIC0wLjI1LCAwXSwKKyAgb3JpZW50YXRpb246IFswLCAwLCAwLCAxXSwKK307CisKKy8v
IFN0YXJ0IHRoZSBzY3JlZW4gcG9pbnRlciBhdCB0aGUgc2FtZSBwbGFjZSBhcyB0aGUgdmlld2Vy
LCBzbyBpdCdzIGVzc2VudGlhbGx5CisvLyBjb21pbmcgc3RyYWlnaHQgZm9yd2FyZCBmcm9tIHRo
ZSBtaWRkbGUgb2YgdGhlIHNjcmVlbi4KK2NvbnN0IFNDUkVFTl9QT0lOVEVSX1RSQU5TRk9STSA9
IFZJRVdFUl9PUklHSU5fVFJBTlNGT1JNOworCitjb25zdCBzY3JlZW5fY29udHJvbGxlcl9pbml0
ID0geworICAgIGhhbmRlZG5lc3M6ICJub25lIiwKKyAgICB0YXJnZXRSYXlNb2RlOiAic2NyZWVu
IiwKKyAgICBwb2ludGVyT3JpZ2luOiBTQ1JFRU5fUE9JTlRFUl9UUkFOU0ZPUk0sICAvLyBha2Eg
bW9qb19mcm9tX3BvaW50ZXIKKyAgICBwcm9maWxlczogWyJnZW5lcmljLXRvdWNoc2NyZWVuIixd
Cit9OworCitjb25zdCBmYWtlRGV2aWNlSW5pdFBhcmFtcyA9IHsKKyAgc3VwcG9ydGVkTW9kZXM6
IFsiaW1tZXJzaXZlLWFyIl0sCisgIHZpZXdzOiBWQUxJRF9WSUVXUywKKyAgZmxvb3JPcmlnaW46
IEZMT09SX09SSUdJTl9UUkFOU0ZPUk0sICAgIC8vIGFrYSBmbG9vcl9mcm9tX21vam8KKyAgdmll
d2VyT3JpZ2luOiBWSUVXRVJfT1JJR0lOX1RSQU5TRk9STSwgIC8vIGFrYSBtb2pvX2Zyb21fdmll
d2VyCisgIHN1cHBvcnRlZEZlYXR1cmVzOiBBTExfRkVBVFVSRVMsCisgIHdvcmxkOiBjcmVhdGVG
YWtlV29ybGQoNS4wLCAyLjAsIDUuMCksICAvLyBzZWUgd2VieHJfdGVzdF9jb25zdGFudHNfZmFr
ZV93b3JsZC5qcyBmb3IgZGV0YWlscworfTsKKworLy8gR2VuZXJhdGVzIGEgdGVzdCBmdW5jdGlv
biBnaXZlbiB0aGUgcGFyYW1ldGVycyBmb3IgdGhlIHRyYW5zaWVudCBoaXQgdGVzdC4KKy8vIHxy
YXl8IC0gcmF5IHRoYXQgd2lsbCBiZSB1c2VkIHRvIHN1YnNjcmliZSB0byBoaXQgdGVzdC4KKy8v
IHxleHBlY3RlZFBvc2VzfCAtIGFycmF5IG9mIGV4cGVjdGVkIHBvc2Ugb2JqZWN0cy4gVGhlIHBv
c2VzIHNob3VsZCBiZSBleHByZXNzZWQgaW4gbG9jYWwgc3BhY2UuCisvLyAgICAgICAgICAgICAg
ICAgICBOdWxsIGVudHJpZXMgaW4gdGhlIGFycmF5IG1lYW4gdGhhdCB0aGUgZ2l2ZW4gZW50cnkg
d2lsbCBub3QgYmUgdmFsaWRhdGVkLgorLy8gfGlucHV0RnJvbVBvaW50ZXJ8IC0gaW5wdXQgZnJv
bSBwb2ludGVyIHRyYW5zZm9ybSB0aGF0IHdpbGwgYmUgdXNlZCBhcyB0aGUgaW5wdXQgc291cmNl
J3MKKy8vICAgICAgICAgICAgICAgICAgICAgIGlucHV0RnJvbVBvaW50ZXIgKGFrYSBwb2ludGVy
IG9yaWdpbikgaW4gc3Vic2VxdWVudCByQUYuCisvLyB8bmV4dEZyYW1lRXhwZWN0ZWRQb3Nlc3wg
LSBhcnJheSBvZiBleHBlY3RlZCBwb3NlIG9iamVjdHMuIFRoZSBwb3NlcyBzaG91bGQgYmUgZXhw
cmVzc2VkIGluIGxvY2FsIHNwYWNlLgorLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgTnVs
bCBlbnRyaWVzIGluIHRoZSBhcnJheSBtZWFuIHRoYXQgdGhlIGdpdmVuIGVudHJ5IHdpbGwgbm90
IGJlIHZhbGlkYXRlZC4KK2xldCB0ZXN0RnVuY3Rpb25HZW5lcmF0b3IgPSBmdW5jdGlvbihyYXks
IGV4cGVjdGVkUG9zZXMsIGlucHV0RnJvbVBvaW50ZXIsIG5leHRGcmFtZUV4cGVjdGVkUG9zZXMp
IHsKKyAgY29uc3QgdGVzdEZ1bmN0aW9uID0gZnVuY3Rpb24oc2Vzc2lvbiwgZmFrZURldmljZUNv
bnRyb2xsZXIsIHQpIHsKKyAgICBsZXQgZGVidWcgPSB4cl9kZWJ1Zy5iaW5kKHRoaXMsICd0ZXN0
RnVuY3Rpb24nKTsKKyAgICByZXR1cm4gc2Vzc2lvbi5yZXF1ZXN0UmVmZXJlbmNlU3BhY2UoJ2xv
Y2FsJykudGhlbigobG9jYWxSZWZTcGFjZSkgPT4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVj
dCkgPT4geworCisgICAgICBjb25zdCBpbnB1dF9zb3VyY2VfY29udHJvbGxlciA9IGZha2VEZXZp
Y2VDb250cm9sbGVyLnNpbXVsYXRlSW5wdXRTb3VyY2VDb25uZWN0aW9uKHNjcmVlbl9jb250cm9s
bGVyX2luaXQpOworCisgICAgICByZXF1ZXN0U2tpcEFuaW1hdGlvbkZyYW1lKHNlc3Npb24sICh0
aW1lLCBmcmFtZSkgPT4geworICAgICAgICBkZWJ1ZygnckFGIDEnKTsKKyAgICAgICAgdC5zdGVw
KCgpID0+IHsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKHNlc3Npb24uaW5wdXRTb3VyY2VzLmxl
bmd0aCwgMSk7CisgICAgICAgIH0pOworCisgICAgICAgIGNvbnN0IGhpdFRlc3RPcHRpb25zSW5p
dCA9IHsKKyAgICAgICAgICBwcm9maWxlOiAiZ2VuZXJpYy10b3VjaHNjcmVlbiIsCisgICAgICAg
ICAgb2Zmc2V0UmF5OiByYXksCisgICAgICAgIH07CisKKyAgICAgICAgc2Vzc2lvbi5yZXF1ZXN0
SGl0VGVzdFNvdXJjZUZvclRyYW5zaWVudElucHV0KGhpdFRlc3RPcHRpb25zSW5pdCkKKyAgICAg
ICAgICAgICAgIC50aGVuKChoaXRUZXN0U291cmNlKSA9PiB7CisgICAgICAgICAgdC5zdGVwKCgp
ID0+IHsKKyAgICAgICAgICAgIGFzc2VydF9ub3RfZXF1YWxzKGhpdFRlc3RTb3VyY2UsIG51bGwp
OworICAgICAgICAgIH0pOworCisgICAgICAgICAgLy8gV2UgZ290IGEgaGl0IHRlc3Qgc291cmNl
LCBub3cgZ2V0IHRoZSByZXN1bHRzIGluIHN1YnNlcXVlbnQgckFGY2I6CisgICAgICAgICAgc2Vz
c2lvbi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKHRpbWUsIGZyYW1lKSA9PiB7CisgICAgICAgICAg
ICBkZWJ1ZygnckFGIDInKTsKKyAgICAgICAgICAgIGNvbnN0IHJlc3VsdHMgPSBmcmFtZS5nZXRI
aXRUZXN0UmVzdWx0c0ZvclRyYW5zaWVudElucHV0KGhpdFRlc3RTb3VyY2UpOworCisgICAgICAg
ICAgICB0LnN0ZXAoKCkgPT4geworICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShyZXN1bHRzICE9
IG51bGwsICJUcmFuc2llbnQgaW5wdXQgaGl0IHRlc3RzIHNob3VsZCBub3QgYmUgbnVsbCIpOwor
ICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdHMubGVuZ3RoLCAxLCAiVGhlcmUgc2hv
dWxkIGJlIGV4YWN0bHkgb25lIGdyb3VwIG9mIHRyYW5zaWVudCBoaXQgdGVzdCByZXN1bHRzISIp
OworICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdHNbMF0ucmVzdWx0cy5sZW5ndGgs
IGV4cGVjdGVkUG9zZXMubGVuZ3RoKTsKKyAgICAgICAgICAgICAgZm9yKGNvbnN0IFtpbmRleCwg
ZXhwZWN0ZWRQb3NlXSBvZiBleHBlY3RlZFBvc2VzLmVudHJpZXMoKSkgeworICAgICAgICAgICAg
ICAgIGNvbnN0IHBvc2UgPSByZXN1bHRzWzBdLnJlc3VsdHNbaW5kZXhdLmdldFBvc2UobG9jYWxS
ZWZTcGFjZSk7CisgICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUocG9zZSAhPSBudWxsLCAiRWFj
aCBoaXQgdGVzdCByZXN1bHQgc2hvdWxkIGhhdmUgYSBwb3NlIGluIGxvY2FsIHNwYWNlIik7Cisg
ICAgICAgICAgICAgICAgaWYoZXhwZWN0ZWRQb3NlICE9IG51bGwpIHsKKyAgICAgICAgICAgICAg
ICAgIGFzc2VydF90cmFuc2Zvcm1fYXBwcm94X2VxdWFscyhwb3NlLnRyYW5zZm9ybSwgZXhwZWN0
ZWRQb3NlLCBGTE9BVF9FUFNJTE9OLCAiYmVmb3JlLW1vdmUtcG9zZTogIik7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAg
aW5wdXRfc291cmNlX2NvbnRyb2xsZXIuc2V0UG9pbnRlck9yaWdpbihpbnB1dEZyb21Qb2ludGVy
LCBmYWxzZSk7CisKKyAgICAgICAgICAgIHNlc3Npb24ucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCh0
aW1lLCBmcmFtZSkgPT4geworICAgICAgICAgICAgICBkZWJ1ZygnckFGIDMnKTsKKyAgICAgICAg
ICAgICAgY29uc3QgcmVzdWx0cyA9IGZyYW1lLmdldEhpdFRlc3RSZXN1bHRzRm9yVHJhbnNpZW50
SW5wdXQoaGl0VGVzdFNvdXJjZSk7CisKKyAgICAgICAgICAgICAgdC5zdGVwKCgpID0+IHsKKyAg
ICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdHNbMF0ucmVzdWx0cy5sZW5ndGgsIG5l
eHRGcmFtZUV4cGVjdGVkUG9zZXMubGVuZ3RoKTsKKyAgICAgICAgICAgICAgICBmb3IoY29uc3Qg
W2luZGV4LCBleHBlY3RlZFBvc2VdIG9mIG5leHRGcmFtZUV4cGVjdGVkUG9zZXMuZW50cmllcygp
KSB7CisgICAgICAgICAgICAgICAgICBjb25zdCBwb3NlID0gcmVzdWx0c1swXS5yZXN1bHRzW2lu
ZGV4XS5nZXRQb3NlKGxvY2FsUmVmU3BhY2UpOworICAgICAgICAgICAgICAgICAgYXNzZXJ0X3Ry
dWUocG9zZSAhPSBudWxsLCAiRWFjaCBoaXQgdGVzdCByZXN1bHQgc2hvdWxkIGhhdmUgYSBwb3Nl
IGluIGxvY2FsIHNwYWNlIik7CisgICAgICAgICAgICAgICAgICBpZihleHBlY3RlZFBvc2UgIT0g
bnVsbCkgeworICAgICAgICAgICAgICAgICAgICBhc3NlcnRfdHJhbnNmb3JtX2FwcHJveF9lcXVh
bHMocG9zZS50cmFuc2Zvcm0sIGV4cGVjdGVkUG9zZSwgRkxPQVRfRVBTSUxPTiwgImFmdGVyLW1v
dmUtcG9zZTogIik7CisgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgICBkZWJ1ZygncmVzb2x2aW5nJyk7CisgICAg
ICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICAgIH0pOworICAg
ICAgICB9KTsKKyAgICAgIH0pOworICAgIH0pKTsKKyAgfTsKKworICByZXR1cm4gdGVzdEZ1bmN0
aW9uOworfTsKKworCisvLyBQb3NlIG9mIHRoZSBmaXJzdCBleHBlY3RlZCBoaXQgdGVzdCByZXN1
bHQgLSBzdHJhaWdodCBhaGVhZCBvZiB0aGUgaW5wdXQgc291cmNlLCB2aWV3ZXItZmFjaW5nLgor
Y29uc3QgcG9zZV8xID0geworICBwb3NpdGlvbjoge3g6IDAuMCwgeTogMS4wLCB6OiAtMi41LCB3
OiAxLjB9LAorICBvcmllbnRhdGlvbjoge3g6IDAuMCwgeTogLTAuNzA3LCB6OiAtMC43MDcsIHc6
IDAuMH0sCisgICAgLy8gSGl0IHRlc3QgQVBJIHdpbGwgc2V0IFkgYXhpcyB0byB0aGUgc3VyZmFj
ZSBub3JtYWwgYXQgdGhlIGludGVyc2VjdGlvbiBwb2ludCwKKyAgICAvLyBaIGF4aXMgdG93YXJk
cyB0aGUgcmF5IG9yaWdpbiBhbmQgWCBheGlzIHRvIGNyb3NzIHByb2R1Y3Qgb2YgWSBheGlzICYg
WiBheGlzLgorICAgIC8vIElmIHRoZSBzdXJmYWNlIG5vcm1hbCBhbmQgWiBheGlzIHdvdWxkIGJl
IHBhcmFsbGVsLCB0aGUgaGl0IHRlc3QgQVBJCisgICAgLy8gd2lsbCBhdHRlbXB0IHRvIHVzZSBg
dXBgIHZlY3RvciAoWzAsIDEsIDBdKSBhcyB0aGUgWiBheGlzLCBhbmQgaWYgaXQgc28gaGFwcGVu
cyB0aGF0IFogYXhpcworICAgIC8vIGFuZCB0aGUgc3VyZmFjZSBub3JtYWwgd291bGQgc3RpbGwg
YmUgcGFyYWxsZWwsIGl0IHdpbGwgdXNlIHRoZSBgcmlnaHRgIHZlY3RvciAoWzEsIDAsIDBdKSBh
cyB0aGUgWiBheGlzLgorICAgIC8vIEluIHRoaXMgcGFydGljdWxhciBjYXNlLCBgdXBgIHZlY3Rv
ciB3aWxsIHdvcmsgc28gdGhlIHJlc3VsdGluZyBwb3NlLm9yaWVudGF0aW9uCisgICAgLy8gYmVj
b21lcyBhIHJvdGF0aW9uIGFyb3VuZCBbMCwgMSwgMV0gdmVjdG9yIGJ5IDE4MCBkZWdyZWVzLgor
fTsKKworeHJfc2Vzc2lvbl9wcm9taXNlX3Rlc3QoIkVuc3VyZXMgc3Vic2NyaXB0aW9uIHRvIHRy
YW5zaWVudCBoaXQgdGVzdCB3b3JrcyB3aXRoIGFuIFhSU3BhY2UgZnJvbSBpbnB1dCBzb3VyY2Ug
LSBubyBtb3ZlIiwKKyAgdGVzdEZ1bmN0aW9uR2VuZXJhdG9yKG5ldyBYUlJheSgpLCBbcG9zZV8x
XSwgU0NSRUVOX1BPSU5URVJfVFJBTlNGT1JNLCBbcG9zZV8xXSksCisgIGZha2VEZXZpY2VJbml0
UGFyYW1zLAorICAnaW1tZXJzaXZlLWFyJywgeyAncmVxdWlyZWRGZWF0dXJlcyc6IFsnaGl0LXRl
c3QnXSB9KTsKKworY29uc3QgbW92ZWRfcG9pbnRlcl90cmFuc2Zvcm1fMSA9IHsKKyAgcG9zaXRp
b246IFswLCAxLCAwXSwKKyAgb3JpZW50YXRpb246IFsgMC43MDcsIDAsIDAsIDAuNzA3IF0gLy8g
OTAgZGVncmVlcyBhcm91bmQgWCBheGlzID0gZmFjaW5nIHVwCit9OworCit4cl9zZXNzaW9uX3By
b21pc2VfdGVzdCgiRW5zdXJlcyBzdWJzY3JpcHRpb24gdG8gdHJhbnNpZW50IGhpdCB0ZXN0IHdv
cmtzIHdpdGggYW4gWFJTcGFjZSBmcm9tIGlucHV0IHNvdXJjZSAtIGFmdGVyIG1vdmUgLSBubyBy
ZXN1bHRzIiwKKyAgdGVzdEZ1bmN0aW9uR2VuZXJhdG9yKG5ldyBYUlJheSgpLCBbcG9zZV8xXSwg
bW92ZWRfcG9pbnRlcl90cmFuc2Zvcm1fMSwgW10pLAorICBmYWtlRGV2aWNlSW5pdFBhcmFtcywK
KyAgJ2ltbWVyc2l2ZS1hcicsIHsgJ3JlcXVpcmVkRmVhdHVyZXMnOiBbJ2hpdC10ZXN0J10gfSk7
CisKK2NvbnN0IHBvc2VfMiA9IHsKKyAgcG9zaXRpb246IHt4OiAtMS40NDMsIHk6IDEuMCwgejog
LTIuNSwgdzogMS4wfSwKKyAgICAvLyBJbnRlcnNlY3Rpb24gcG9pbnQgd2lsbCBiZSBvbiB0aGUg
c2FtZSBoZWlnaHQgYXMgdGhlIHZpZXdlciwgb24gdGhlIGZyb250CisgICAgLy8gd2FsbC4gRGlz
dGFuY2UgZnJvbSB0aGUgZnJvbnQgd2FsbCB0byB2aWV3ZXIgaXMgMi41bSwgYW5kIHdlIGFyZSBy
b3RhdGluZworICAgIC8vIHRvIHRoZSBsZWZ0LCBzbyBYIGNvb3JkaW5hdGUgb2YgdGhlIGludGVy
c2VjdGlvbiBwb2ludCB3aWxsIGJlIG5lZ2F0aXZlCisgICAgLy8gJiBlcXVhbCB0byAtMi41ICog
dGFuKDMwIGRlZykgfj0gMS40NDNtLgorICBvcmllbnRhdGlvbjoge3g6IDAuNSwgeTogMC41LCB6
OiAwLjUsIHc6IDAuNSB9LAorICAgIC8vIFNlZSBjb21tZW50IGZvciBwb3NlXzEub3JpZW50YXRp
b24gZm9yIGRldGFpbHMuCisgICAgLy8gSW4gdGhpcyBjYXNlLCB0aGUgaGl0IHRlc3QgcG9zZSB3
aWxsIGhhdmUgWSBheGlzIGZhY2luZyB0b3dhcmRzIHdvcmxkJ3MKKyAgICAvLyBwb3NpdGl2ZSBa
IGF4aXMgKFswLDAsMV0pLCBaIGF4aXMgdG8gdGhlIHJpZ2h0IChbMSwwLDBdKSBhbmQgWCBheGlz
CisgICAgLy8gdG93YXJkcyB3b3JsZCdzIFkgYXhpcyAoWzAsMSwwXSkuCisgICAgLy8gVGhpcyBp
cyBlcXVpdmFsZW50IHRvIHRoZSByb3RhdGlvbiBhcm91bmQgWzEsIDEsIDFdIHZlY3RvciBieSAx
MjAgZGVncmVlcy4KK307CisKK2NvbnN0IG1vdmVkX3BvaW50ZXJfdHJhbnNmb3JtXzIgPSB7Cisg
IHBvc2l0aW9uOiBbMCwgMSwgMF0sCisgIG9yaWVudGF0aW9uOiBbIDAsIDAuMjU4OCwgMCwgMC45
NjU5IF0gLy8gMzAgZGVncmVlcyBhcm91bmQgWSBheGlzID0gdG8gdGhlIGxlZnQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY3JlYXRpbmcgMzAtNjAtOTAgdHJp
YW5nbGUgd2l0aCB0aGUgZnJvbnQgd2FsbAorfTsKKworeHJfc2Vzc2lvbl9wcm9taXNlX3Rlc3Qo
IkVuc3VyZXMgc3Vic2NyaXB0aW9uIHRvIHRyYW5zaWVudCBoaXQgdGVzdCB3b3JrcyB3aXRoIGFu
IFhSU3BhY2UgZnJvbSBpbnB1dCBzb3VyY2UgLSBhZnRlciBtb3ZlIC0gMSByZXN1bHQiLAorICB0
ZXN0RnVuY3Rpb25HZW5lcmF0b3IobmV3IFhSUmF5KCksIFtwb3NlXzFdLCBtb3ZlZF9wb2ludGVy
X3RyYW5zZm9ybV8yLCBbcG9zZV8yXSksCisgIGZha2VEZXZpY2VJbml0UGFyYW1zLAorICAnaW1t
ZXJzaXZlLWFyJywgeyAncmVxdWlyZWRGZWF0dXJlcyc6IFsnaGl0LXRlc3QnXSB9KTsKKworPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dlYnhyL2hpdC10ZXN0L2lkbGhhcm5lc3MuaHR0cHMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvaGl0LXRlc3QvaWRsaGFybmVz
cy5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3ZjY3ODQ1NDcwZWZhOTczMGJjYzc1NGMwOThiNTQ1
N2UwODlmMzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dlYnhyL2hpdC10ZXN0L2lkbGhhcm5lc3MuaHR0cHMuaHRtbApAQCAt
MCwwICsxLDI5IEBACis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5XZWJYUiBoaXQtdGVzdCBJREwg
dGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2ltbWVyc2l2ZS13
ZWIuZ2l0aHViLmlvL2hpdC10ZXN0LyI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9XZWJJRExQYXJzZXIu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CisKKzxzY3JpcHQ+CisgICd1c2Ugc3RyaWN0JzsKKworICBpZGxfdGVzdCgKKyAgICBb
J2hpdC10ZXN0J10sCisgICAgWyd3ZWJ4cicsICdnZW9tZXRyeScsICdkb20nXSwKKyAgICBhc3lu
YyBpZGxfYXJyYXkgPT4geworICAgICAgaWRsX2FycmF5LmFkZF9vYmplY3RzKHsKKyAgICAgICAg
Ly8gVE9ETzogWFJIaXRUZXN0U291cmNlCisgICAgICAgIC8vIFRPRE86IFhSVHJhbnNpZW50SW5w
dXRIaXRUZXN0U291cmNlCisgICAgICAgIC8vIFRPRE86IFhSSGl0VGVzdFJlc3VsdAorICAgICAg
ICAvLyBUT0RPOiBYUlRyYW5zaWVudElucHV0SGl0VGVzdFJlc3VsdAorICAgICAgICBYUlNlc3Np
b246IFsneHJTZXNzaW9uJ10sCisgICAgICAgIC8vIFRPRE86IFhSRnJhbWUKKyAgICAgICAgWFJS
YXk6IFsnbmV3IFhSUmF5KCknXSwKKyAgICAgIH0pOworCisgICAgICBzZWxmLnhyU2Vzc2lvbiA9
IGF3YWl0IG5hdmlnYXRvci54ci5yZXF1ZXN0U2Vzc2lvbigiaW5saW5lIik7CisgICAgfQorICAp
OworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dlYnhyL2hpdC10ZXN0L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9oaXQtdGVzdC93M2MtaW1wb3J0
LmxvZwppbmRleCA1MGYzOGIyZGU5ZTMwNjk0Mzk4NTQ0MTVhNTE4ZGFlYWYxZDU0ZmE1Li5kOGNh
NmQ1OTdmYTVmNjcxODVhMGQ4NThiYzg5NjFhNDE1YmRkMzY5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2hpdC10ZXN0L3czYy1p
bXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2VieHIvaGl0LXRlc3QvdzNjLWltcG9ydC5sb2cKQEAgLTE0LDcgKzE0LDExIEBAIFByb3Bl
cnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgogTm9uZQogLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCiBMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2VieHIvaGl0LXRlc3QvYXJfaGl0dGVzdF9zdWJzY3JpcHRpb25faW5wdXRTb3Vy
Y2VzLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dlYnhyL2hpdC10ZXN0L2FyX2hpdHRlc3Rfc3Vic2NyaXB0aW9uX3JlZlNwYWNlcy5odHRw
cy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4
ci9oaXQtdGVzdC9hcl9oaXR0ZXN0X3N1YnNjcmlwdGlvbl9zdGF0ZXMuaHR0cHMuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvaGl0LXRlc3Qv
YXJfaGl0dGVzdF9zdWJzY3JpcHRpb25fc3RhdGVzX3JlZ3VsYXIuaHR0cHMuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvaGl0LXRlc3QvYXJf
aGl0dGVzdF9zdWJzY3JpcHRpb25fc3RhdGVzX3RyYW5zaWVudC5odHRwcy5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9oaXQtdGVzdC9hcl9o
aXR0ZXN0X3N1YnNjcmlwdGlvbl90cmFuc2llbnRJbnB1dFNvdXJjZXMuaHR0cHMuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvaGl0LXRlc3Qv
aWRsaGFybmVzcy5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93ZWJ4ci9oaXQtdGVzdC94clJheV9jb25zdHJ1Y3Rvci5odHRwcy5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9oaXQtdGVz
dC94clJheV9tYXRyaXguaHR0cHMuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9oaXQtdGVzdC94clJheV9jb25zdHJ1Y3Rv
ci5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93ZWJ4ci9oaXQtdGVzdC94clJheV9jb25zdHJ1Y3Rvci5odHRwcy5odG1sCmluZGV4IDA4ZjIw
MTQyZTM4ZTkzNjZiZDAxNmZiOTI2NjZiNTEzNjEyOGZlZjYuLjU2YjM5MzEzNDEwYjQ2YmMxYWI0
NjhmYTAwZmVkZWI1MTZiNTdiNWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvaGl0LXRlc3QveHJSYXlfY29uc3RydWN0b3IuaHR0
cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dlYnhyL2hpdC10ZXN0L3hyUmF5X2NvbnN0cnVjdG9yLmh0dHBzLmh0bWwKQEAgLTE4LDIxICsx
OCwyOCBAQCBsZXQgY29uc3RydWN0b3JfdGVzdHMgPSBmdW5jdGlvbigpIHsKICAgewogICAgIC8v
IENoZWNrIGRlZmF1bHRzIC0gc2hvdWxkIGJlIDAsMCwwLDEgZm9yIG9yaWdpbiBhbmQgMCwwLC0x
LDAgZm9yIGRpcmVjdGlvbiwKICAgICAvLyBpZGVudGl0eSBtYXRyaXggZm9yIHRoZSB0cmFuc2Zv
cm06Ci0gICAgbGV0IHhyUmF5ID0gbmV3IFhSUmF5KCk7CisgICAgbGV0IHhyUmF5MSA9IG5ldyBY
UlJheSgpOworICAgIGxldCB4clJheTIgPSBuZXcgWFJSYXkoe30pOworICAgIGxldCB4clJheTMg
PSBuZXcgWFJSYXkoe30sIHt9KTsKKwogICAgIGFzc2VydF9wb2ludF9hcHByb3hfZXF1YWxzKAot
ICAgICAgeHJSYXkub3JpZ2luLCB7eCA6IDAuMCwgeSA6IDAuMCwgeiA6IDAuMCwgdyA6IDEuMH0s
CisgICAgICB4clJheTEub3JpZ2luLCB7eCA6IDAuMCwgeSA6IDAuMCwgeiA6IDAuMCwgdyA6IDEu
MH0sCiAgICAgICBGTE9BVF9FUFNJTE9OLCAib3JpZ2luLWRlZmF1bHQ6Iik7CiAgICAgYXNzZXJ0
X3BvaW50X2FwcHJveF9lcXVhbHMoCi0gICAgICB4clJheS5kaXJlY3Rpb24sIHt4IDogMC4wLCB5
IDogMC4wLCB6IDogLTEuMCwgdyA6IDAuMH0sCisgICAgICB4clJheTEuZGlyZWN0aW9uLCB7eCA6
IDAuMCwgeSA6IDAuMCwgeiA6IC0xLjAsIHcgOiAwLjB9LAogICAgICAgRkxPQVRfRVBTSUxPTiwg
ImRpcmVjdGlvbi1kZWZhdWx0OiIpOwogICAgIGFzc2VydF9tYXRyaXhfYXBwcm94X2VxdWFscygK
LSAgICAgIHhyUmF5Lm1hdHJpeCwgSURFTlRJVFlfTUFUUklYLAorICAgICAgeHJSYXkxLm1hdHJp
eCwgSURFTlRJVFlfTUFUUklYLAogICAgICAgRkxPQVRfRVBTSUxPTiwgIm1hdHJpeC1kZWZhdWx0
OiIpOworCisgICAgYXNzZXJ0X3JheV9hcHByb3hfZXF1YWxzKHhyUmF5MSwgeHJSYXkyLCBGTE9B
VF9FUFNJTE9OLCAicmF5MS1yYXkyLWRlZmF1bHQ6Iik7CisgICAgYXNzZXJ0X3JheV9hcHByb3hf
ZXF1YWxzKHhyUmF5MiwgeHJSYXkzLCBGTE9BVF9FUFNJTE9OLCAicmF5Mi1yYXkzLWRlZmF1bHQ6
Iik7CiAgIH0KIAogICB7CiAgICAgLy8gQ2hlY2sgY3VzdG9tIHZhbHVlIGZvciBvcmlnaW4sIGRl
ZmF1bHQgZm9yIGRpcmVjdGlvbjoKICAgICBsZXQgb3JpZ2luRGljdCA9IHt4IDogMTEuMCwgeSA6
IDEyLjAsIHogOiAxMy4wLCB3IDogMS4wfTsKKyAgICBsZXQgeHJSYXkxID0gbmV3IFhSUmF5KG9y
aWdpbkRpY3QpOwogICAgIGxldCB4clJheTIgPSBuZXcgWFJSYXkoRE9NUG9pbnQuZnJvbVBvaW50
KG9yaWdpbkRpY3QpKTsKICAgICBsZXQgeHJSYXkzID0gbmV3IFhSUmF5KERPTVBvaW50UmVhZE9u
bHkuZnJvbVBvaW50KG9yaWdpbkRpY3QpKTsKICAgICBsZXQgbWF0cml4MSA9IFsgMSwgIDAsICAw
LCAwLApAQCAtNDEsMTUgKzQ4LDE2IEBAIGxldCBjb25zdHJ1Y3Rvcl90ZXN0cyA9IGZ1bmN0aW9u
KCkgewogICAgICAgICAgICAgICAgICAgIDExLCAxMiwgMTMsIDFdOwogCiAgICAgYXNzZXJ0X3Bv
aW50X2FwcHJveF9lcXVhbHMoCi0gICAgICB4clJheTIub3JpZ2luLCBvcmlnaW5EaWN0LAorICAg
ICAgeHJSYXkxLm9yaWdpbiwgb3JpZ2luRGljdCwKICAgICAgIEZMT0FUX0VQU0lMT04sICJvcmln
aW4tY3VzdG9tLWRpcmVjdGlvbi1kZWZhdWx0OiIpOwogICAgIGFzc2VydF9wb2ludF9hcHByb3hf
ZXF1YWxzKAotICAgICAgeHJSYXkyLmRpcmVjdGlvbiwge3ggOiAwLjAsIHkgOiAwLjAsIHogOiAt
MS4wLCB3IDogMC4wfSwKKyAgICAgIHhyUmF5MS5kaXJlY3Rpb24sIHt4IDogMC4wLCB5IDogMC4w
LCB6IDogLTEuMCwgdyA6IDAuMH0sCiAgICAgICBGTE9BVF9FUFNJTE9OLCAiZGlyZWN0aW9uLWN1
c3RvbS1kaXJlY3Rpb24tZGVmYXVsdDoiKTsKICAgICBhc3NlcnRfbWF0cml4X2FwcHJveF9lcXVh
bHMoCi0gICAgICB4clJheTIubWF0cml4LCBtYXRyaXgxLAorICAgICAgeHJSYXkxLm1hdHJpeCwg
bWF0cml4MSwKICAgICAgIEZMT0FUX0VQU0lMT04sICJtYXRyaXgtY3VzdG9tLWRpcmVjdGlvbi1k
ZWZhdWx0OiIpOwogCisgICAgYXNzZXJ0X3JheV9hcHByb3hfZXF1YWxzKHhyUmF5MSwgeHJSYXky
LCBGTE9BVF9FUFNJTE9OLCAicmF5MS1yYXkyLWRpcmVjdGlvbi1kZWZhdWx0OiIpOwogICAgIGFz
c2VydF9yYXlfYXBwcm94X2VxdWFscyh4clJheTIsIHhyUmF5MywgRkxPQVRfRVBTSUxPTiwgInJh
eTItcmF5My1kaXJlY3Rpb24tZGVmYXVsdDoiKTsKICAgfQogCkBAIC02Nyw2ICs3NSwxMCBAQCBs
ZXQgY29uc3RydWN0b3JfdGVzdHMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAt
MSwgIDAsICAwLCAgMCwKICAgICAgICAgICAgICAgICAgICAxMCwgMTAsIDEwLCAgMV07CiAKKyAg
ICBsZXQgeHJSYXkxID0gbmV3IFhSUmF5KAorICAgICAgb3JpZ2luRGljdCwKKyAgICAgIGRpcmVj
dGlvbkRpY3QpOworCiAgICAgbGV0IHhyUmF5MiA9IG5ldyBYUlJheSgKICAgICAgIERPTVBvaW50
LmZyb21Qb2ludChvcmlnaW5EaWN0KSwKICAgICAgIERPTVBvaW50LmZyb21Qb2ludChkaXJlY3Rp
b25EaWN0KSk7CkBAIC03NiwzOCArODgsMzggQEAgbGV0IGNvbnN0cnVjdG9yX3Rlc3RzID0gZnVu
Y3Rpb24oKSB7CiAgICAgICBET01Qb2ludFJlYWRPbmx5LmZyb21Qb2ludChkaXJlY3Rpb25EaWN0
KSk7CiAKICAgICBhc3NlcnRfcG9pbnRfYXBwcm94X2VxdWFscygKLSAgICAgIHhyUmF5Mi5vcmln
aW4sIG9yaWdpbkRpY3QsCisgICAgICB4clJheTEub3JpZ2luLCBvcmlnaW5EaWN0LAogICAgICAg
RkxPQVRfRVBTSUxPTiwgIm9yaWdpbi1jdXN0b206Iik7CiAgICAgYXNzZXJ0X3BvaW50X2FwcHJv
eF9lcXVhbHMoCi0gICAgICB4clJheTIuZGlyZWN0aW9uLCBkaXJlY3Rpb25Ob3JtLAorICAgICAg
eHJSYXkxLmRpcmVjdGlvbiwgZGlyZWN0aW9uTm9ybSwKICAgICAgIEZMT0FUX0VQU0lMT04sICJk
aXJlY3Rpb24tY3VzdG9tOiIpOwogICAgIGFzc2VydF9tYXRyaXhfYXBwcm94X2VxdWFscygKLSAg
ICAgIHhyUmF5Mi5tYXRyaXgsIG1hdHJpeDEsCisgICAgICB4clJheTEubWF0cml4LCBtYXRyaXgx
LAogICAgICAgRkxPQVRfRVBTSUxPTiwgIm1hdHJpeC1jdXN0b206Iik7CiAKKyAgICBhc3NlcnRf
cmF5X2FwcHJveF9lcXVhbHMoeHJSYXkxLCB4clJheTIsIEZMT0FUX0VQU0lMT04sICJyYXkxLXJh
eTI6Iik7CiAgICAgYXNzZXJ0X3JheV9hcHByb3hfZXF1YWxzKHhyUmF5MiwgeHJSYXkzLCBGTE9B
VF9FUFNJTE9OLCAicmF5Mi1yYXkzOiIpOwogICB9CiAKICAgewogICAgIC8vIENoZWNrIHRoYXQg
d2UgdGhyb3cgZXhjZXB0aW9uIG9uIGRpcmVjdGlvbiB0b28gY2xvc2UgdG8gMCwwLDA6CiAgICAg
bGV0IG9yaWdpbkRpY3QgPSB7eCA6IDEwLjAsIHkgOiAxMC4wLCB6IDogMTAuMCwgdyA6IDEuMH07
Ci0gICAgbGV0IGRpcmVjdGlvbkRpY3QgPSB7eCA6IDAuMCwgeSA6IDAuMCwgeiA6IDAuMCwgdyA6
IDAuMH07CisgICAgbGV0IGRpcmVjdGlvbkRpY3QgPSB7eCA6IDEuMCwgeSA6IDAuMCwgeiA6IDAu
MCwgdyA6IDAuMH07CiAKLSAgICB0cnkgewotICAgICAgbGV0IHhyUmF5ID0gbmV3IFhSUmF5KAor
ICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiBuZXcgWFJSYXkoCiAgICAgICAg
IERPTVBvaW50LmZyb21Qb2ludChvcmlnaW5EaWN0KSwKLSAgICAgICAgRE9NUG9pbnQuZnJvbVBv
aW50KGRpcmVjdGlvbkRpY3QpKTsKLQotICAgICAgYXNzZXJ0KGZhbHNlLCAib3JpZ2luLWN1c3Rv
bS1kaXJlY3Rpb24temVybzpleGNlcHRpb24gbm90IHRocm93biIpOwotICAgIH0KLSAgICBjYXRj
aChlKQotICAgIHsKLSAgICAgIGlmKGUgaW5zdGFuY2VvZiBET01FeGNlcHRpb24pIHsKLSAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlLm5hbWUsICJJbnZhbGlkU3RhdGVFcnJvciIsICJvcmlnaW4tY3Vz
dG9tLWRpcmVjdGlvbi16ZXJvOmluY29ycmVjdCBET00gZXhjZXB0aW9uIHRocm93biIpOwotICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgYXNzZXJ0KGZhbHNlLCAib3JpZ2luLWN1c3RvbS1kaXJlY3Rp
b24temVybzpvdGhlciBleGNlcHRpb24gdGhyb3duOiAiICsgZSk7Ci0gICAgICB9Ci0gICAgfQor
ICAgICAgICBET01Qb2ludC5mcm9tUG9pbnQoe3ggOiAwLjAsIHkgOiAwLjAsIHogOiAwLjAsIHcg
OiAwLjB9KQorICAgICksICJDb25zdHJ1Y3RvciBzaG91bGQgdGhyb3cgZm9yIHplcm8gZGlyZWN0
aW9uIik7CisKKyAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gbmV3IFhSUmF5
KAorICAgICAgICBET01Qb2ludC5mcm9tUG9pbnQob3JpZ2luRGljdCksCisgICAgICAgIERPTVBv
aW50LmZyb21Qb2ludCh7eCA6IDEuMCwgeSA6IDAuMCwgeiA6IDAuMCwgdyA6IDAuNX0pCisgICAg
KSwgIkNvbnN0cnVjdG9yIHNob3VsZCB0aHJvdyBmb3Igbm9uemVybyBkaXJlY3Rpb24gdyBjb29y
ZGluYXRlIik7CisKKyAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gbmV3IFhS
UmF5KAorICAgICAgICBET01Qb2ludC5mcm9tUG9pbnQoe3ggOiAxMC4wLCB5IDogMTAuMCwgeiA6
IDEwLjAsIHcgOiAwLjV9KSwKKyAgICAgICAgRE9NUG9pbnQuZnJvbVBvaW50KGRpcmVjdGlvbkRp
Y3QpCisgICAgKSwgIkNvbnN0cnVjdG9yIHNob3VsZCB0aHJvdyBmb3Igbm9uLTEgb3JpZ2luIHcg
Y29vcmRpbmF0ZSIpOwogICB9CiAKICAgLy8KQEAgLTEyNCwyMCArMTM2LDIwIEBAIGxldCBjb25z
dHJ1Y3Rvcl90ZXN0cyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAwLjcwNywg
IDAsICAtMC43MDcsICAgMCwKICAgICAgICAgICAgICAgICAgICAxMC4sICAgIDEwLCAgMTAuLCAg
ICAgIDFdOwogCi0gICAgbGV0IHhyUmF5NCA9IG5ldyBYUlJheSgKKyAgICBsZXQgeHJSYXkgPSBu
ZXcgWFJSYXkoCiAgICAgICBuZXcgWFJSaWdpZFRyYW5zZm9ybSgKICAgICAgICAgRE9NUG9pbnQu
ZnJvbVBvaW50KG9yaWdpbkRpY3QpLAogICAgICAgICBET01Qb2ludC5mcm9tUG9pbnQoZGlyZWN0
aW9uUXVhdGVybmlvbkRpY3QpKSk7CiAKICAgICBhc3NlcnRfcG9pbnRfYXBwcm94X2VxdWFscygK
LSAgICAgIHhyUmF5NC5vcmlnaW4sIG9yaWdpbkRpY3QsCisgICAgICB4clJheS5vcmlnaW4sIG9y
aWdpbkRpY3QsCiAgICAgICBGTE9BVF9FUFNJTE9OLCAib3JpZ2luLWN1c3RvbS1yaWdpZDoiKTsK
ICAgICBhc3NlcnRfcG9pbnRfYXBwcm94X2VxdWFscygKLSAgICAgIHhyUmF5NC5kaXJlY3Rpb24s
IGRpcmVjdGlvbk5vcm0yLAorICAgICAgeHJSYXkuZGlyZWN0aW9uLCBkaXJlY3Rpb25Ob3JtMiwK
ICAgICAgIEZMT0FUX0VQU0lMT04sICJkaXJlY3Rpb24tY3VzdG9tLXJpZ2lkOiIpOwogCiAgICAg
YXNzZXJ0X21hdHJpeF9hcHByb3hfZXF1YWxzKAotICAgICAgeHJSYXk0Lm1hdHJpeCwgbWF0cml4
MiwKKyAgICAgIHhyUmF5Lm1hdHJpeCwgbWF0cml4MiwKICAgICAgIEZMT0FUX0VQU0lMT04sICJt
YXRyaXgtY3VzdG9tLXJpZ2lkOiIpOwogICB9CiB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9pZGxoYXJuZXNzLmh0dHBzLndp
bmRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dlYnhyL2lkbGhhcm5lc3MuaHR0cHMud2luZG93LWV4cGVjdGVkLnR4dAppbmRleCBm
ODEwMzk3ZmJjNjUxNjc1NTZhMTdmNzdiZDY2Mjk1YTY2MzEyMTkyLi4zYzdkNjhiZmY5NmY2OWY2
ODIyZmU1Y2E3MDJlYjY1YWY1ZDFlY2ZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL2lkbGhhcm5lc3MuaHR0cHMud2luZG93LWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dlYnhyL2lkbGhhcm5lc3MuaHR0cHMud2luZG93LWV4cGVjdGVkLnR4dApAQCAtNTAsNiAr
NTAsMjkgQEAgUEFTUyBYUlNlc3Npb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25zcXVlZXplCiBQ
QVNTIFhSU2Vzc2lvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnNxdWVlemVzdGFydCAKIFBBU1Mg
WFJTZXNzaW9uIGludGVyZmFjZTogYXR0cmlidXRlIG9uc3F1ZWV6ZWVuZCAKIFBBU1MgWFJTZXNz
aW9uIGludGVyZmFjZTogYXR0cmlidXRlIG9udmlzaWJpbGl0eWNoYW5nZSAKK1BBU1MgWFJTZXNz
aW9uIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgeHJTZXNzaW9uIAorUEFTUyBTdHJpbmdp
ZmljYXRpb24gb2YgeHJTZXNzaW9uIAorUEFTUyBYUlNlc3Npb24gaW50ZXJmYWNlOiB4clNlc3Np
b24gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ2aXNpYmlsaXR5U3RhdGUiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAorUEFTUyBYUlNlc3Npb24gaW50ZXJmYWNlOiB4clNlc3Npb24gbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJyZW5kZXJTdGF0ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIFhSU2Vz
c2lvbiBpbnRlcmZhY2U6IHhyU2Vzc2lvbiBtdXN0IGluaGVyaXQgcHJvcGVydHkgImlucHV0U291
cmNlcyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIFhSU2Vzc2lvbiBpbnRlcmZhY2U6IHhy
U2Vzc2lvbiBtdXN0IGluaGVyaXQgcHJvcGVydHkgInVwZGF0ZVJlbmRlclN0YXRlKG9wdGlvbmFs
IFhSUmVuZGVyU3RhdGVJbml0KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIFhSU2Vzc2lv
biBpbnRlcmZhY2U6IGNhbGxpbmcgdXBkYXRlUmVuZGVyU3RhdGUob3B0aW9uYWwgWFJSZW5kZXJT
dGF0ZUluaXQpIG9uIHhyU2Vzc2lvbiB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cg
VHlwZUVycm9yIAorUEFTUyBYUlNlc3Npb24gaW50ZXJmYWNlOiB4clNlc3Npb24gbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJyZXF1ZXN0UmVmZXJlbmNlU3BhY2UoWFJSZWZlcmVuY2VTcGFjZVR5cGUp
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgWFJTZXNzaW9uIGludGVyZmFjZTogY2FsbGlu
ZyByZXF1ZXN0UmVmZXJlbmNlU3BhY2UoWFJSZWZlcmVuY2VTcGFjZVR5cGUpIG9uIHhyU2Vzc2lv
biB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAorUEFTUyBYUlNl
c3Npb24gaW50ZXJmYWNlOiB4clNlc3Npb24gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZXF1ZXN0
QW5pbWF0aW9uRnJhbWUoWFJGcmFtZVJlcXVlc3RDYWxsYmFjaykiIHdpdGggdGhlIHByb3BlciB0
eXBlIAorUEFTUyBYUlNlc3Npb24gaW50ZXJmYWNlOiBjYWxsaW5nIHJlcXVlc3RBbmltYXRpb25G
cmFtZShYUkZyYW1lUmVxdWVzdENhbGxiYWNrKSBvbiB4clNlc3Npb24gd2l0aCB0b28gZmV3IGFy
Z3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKK1BBU1MgWFJTZXNzaW9uIGludGVyZmFjZTog
eHJTZXNzaW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY2FuY2VsQW5pbWF0aW9uRnJhbWUodW5z
aWduZWQgbG9uZykiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBYUlNlc3Npb24gaW50ZXJm
YWNlOiBjYWxsaW5nIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHVuc2lnbmVkIGxvbmcpIG9uIHhyU2Vz
c2lvbiB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAorUEFTUyBY
UlNlc3Npb24gaW50ZXJmYWNlOiB4clNlc3Npb24gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJlbmQo
KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIFhSU2Vzc2lvbiBpbnRlcmZhY2U6IHhyU2Vz
c2lvbiBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uZW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
K1BBU1MgWFJTZXNzaW9uIGludGVyZmFjZTogeHJTZXNzaW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAib25pbnB1dHNvdXJjZXNjaGFuZ2UiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBYUlNl
c3Npb24gaW50ZXJmYWNlOiB4clNlc3Npb24gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnNlbGVj
dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIFhSU2Vzc2lvbiBpbnRlcmZhY2U6IHhyU2Vz
c2lvbiBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uc2VsZWN0c3RhcnQiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAorUEFTUyBYUlNlc3Npb24gaW50ZXJmYWNlOiB4clNlc3Npb24gbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJvbnNlbGVjdGVuZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIFhSU2Vz
c2lvbiBpbnRlcmZhY2U6IHhyU2Vzc2lvbiBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uc3F1ZWV6
ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIFhSU2Vzc2lvbiBpbnRlcmZhY2U6IHhyU2Vz
c2lvbiBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uc3F1ZWV6ZXN0YXJ0IiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKK1BBU1MgWFJTZXNzaW9uIGludGVyZmFjZTogeHJTZXNzaW9uIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAib25zcXVlZXplZW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgWFJT
ZXNzaW9uIGludGVyZmFjZTogeHJTZXNzaW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib252aXNp
YmlsaXR5Y2hhbmdlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgWFJSZW5kZXJTdGF0ZSBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAog
UEFTUyBYUlJlbmRlclN0YXRlIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAogUEFTUyBYUlJlbmRl
clN0YXRlIGludGVyZmFjZSBvYmplY3QgbmFtZSAKQEAgLTYwLDYgKzgzLDEyIEBAIFBBU1MgWFJS
ZW5kZXJTdGF0ZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBkZXB0aE5lYXIKIFBBU1MgWFJSZW5kZXJT
dGF0ZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBkZXB0aEZhciAKIFBBU1MgWFJSZW5kZXJTdGF0ZSBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBpbmxpbmVWZXJ0aWNhbEZpZWxkT2ZWaWV3IAogUEFTUyBYUlJl
bmRlclN0YXRlIGludGVyZmFjZTogYXR0cmlidXRlIGJhc2VMYXllciAKK1BBU1MgWFJSZW5kZXJT
dGF0ZSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIHhyUmVuZGVyU3RhdGUgCitQQVNTIFN0
cmluZ2lmaWNhdGlvbiBvZiB4clJlbmRlclN0YXRlIAorUEFTUyBYUlJlbmRlclN0YXRlIGludGVy
ZmFjZTogeHJSZW5kZXJTdGF0ZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRlcHRoTmVhciIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIFhSUmVuZGVyU3RhdGUgaW50ZXJmYWNlOiB4clJlbmRl
clN0YXRlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGVwdGhGYXIiIHdpdGggdGhlIHByb3BlciB0
eXBlIAorUEFTUyBYUlJlbmRlclN0YXRlIGludGVyZmFjZTogeHJSZW5kZXJTdGF0ZSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgImlubGluZVZlcnRpY2FsRmllbGRPZlZpZXciIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAorUEFTUyBYUlJlbmRlclN0YXRlIGludGVyZmFjZTogeHJSZW5kZXJTdGF0ZSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgImJhc2VMYXllciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNT
IFhSRnJhbWUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IG9iamVjdCAKIFBBU1MgWFJGcmFtZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1MgWFJG
cmFtZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCkBAIC04Myw2ICsxMTIsMTEgQEAgUEFTUyBYUlJl
ZmVyZW5jZVNwYWNlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUKIFBBU1MgWFJSZWZlcmVuY2VTcGFjZSBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29w
YWJsZXMgcHJvcGVydHkgCiBQQVNTIFhSUmVmZXJlbmNlU3BhY2UgaW50ZXJmYWNlOiBvcGVyYXRp
b24gZ2V0T2Zmc2V0UmVmZXJlbmNlU3BhY2UoWFJSaWdpZFRyYW5zZm9ybSkgCiBQQVNTIFhSUmVm
ZXJlbmNlU3BhY2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25yZXNldCAKK1BBU1MgWFJSZWZlcmVu
Y2VTcGFjZSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIHhyUmVmZXJlbmNlU3BhY2UgCitQ
QVNTIFN0cmluZ2lmaWNhdGlvbiBvZiB4clJlZmVyZW5jZVNwYWNlIAorUEFTUyBYUlJlZmVyZW5j
ZVNwYWNlIGludGVyZmFjZTogeHJSZWZlcmVuY2VTcGFjZSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
ImdldE9mZnNldFJlZmVyZW5jZVNwYWNlKFhSUmlnaWRUcmFuc2Zvcm0pIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKK1BBU1MgWFJSZWZlcmVuY2VTcGFjZSBpbnRlcmZhY2U6IGNhbGxpbmcgZ2V0T2Zm
c2V0UmVmZXJlbmNlU3BhY2UoWFJSaWdpZFRyYW5zZm9ybSkgb24geHJSZWZlcmVuY2VTcGFjZSB3
aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAorUEFTUyBYUlJlZmVy
ZW5jZVNwYWNlIGludGVyZmFjZTogeHJSZWZlcmVuY2VTcGFjZSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgIm9ucmVzZXQiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBYUkJvdW5kZWRSZWZlcmVu
Y2VTcGFjZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
b2JqZWN0IAogUEFTUyBYUkJvdW5kZWRSZWZlcmVuY2VTcGFjZSBpbnRlcmZhY2Ugb2JqZWN0IGxl
bmd0aCAKIFBBU1MgWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UgaW50ZXJmYWNlIG9iamVjdCBuYW1l
IApAQCAtMTE5LDYgKzE1MywxMiBAQCBQQVNTIFhSUmlnaWRUcmFuc2Zvcm0gaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgcG9zaXRpb24KIFBBU1MgWFJSaWdpZFRyYW5zZm9ybSBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvcmllbnRhdGlvbiAKIFBBU1MgWFJSaWdpZFRyYW5zZm9ybSBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBtYXRyaXggCiBQQVNTIFhSUmlnaWRUcmFuc2Zvcm0gaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
aW52ZXJzZSAKK1BBU1MgWFJSaWdpZFRyYW5zZm9ybSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNl
IG9mIG5ldyBYUlJpZ2lkVHJhbnNmb3JtKCkgCitQQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBuZXcg
WFJSaWdpZFRyYW5zZm9ybSgpIAorUEFTUyBYUlJpZ2lkVHJhbnNmb3JtIGludGVyZmFjZTogbmV3
IFhSUmlnaWRUcmFuc2Zvcm0oKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInBvc2l0aW9uIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgWFJSaWdpZFRyYW5zZm9ybSBpbnRlcmZhY2U6IG5ldyBY
UlJpZ2lkVHJhbnNmb3JtKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvcmllbnRhdGlvbiIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIFhSUmlnaWRUcmFuc2Zvcm0gaW50ZXJmYWNlOiBuZXcg
WFJSaWdpZFRyYW5zZm9ybSgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibWF0cml4IiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAKK1BBU1MgWFJSaWdpZFRyYW5zZm9ybSBpbnRlcmZhY2U6IG5ldyBYUlJp
Z2lkVHJhbnNmb3JtKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJpbnZlcnNlIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKIFBBU1MgWFJQb3NlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIFhSUG9zZSBpbnRlcmZhY2Ugb2JqZWN0IGxl
bmd0aCAKIFBBU1MgWFJQb3NlIGludGVyZmFjZSBvYmplY3QgbmFtZSAKQEAgLTE1Myw2ICsxOTMs
OSBAQCBQQVNTIFhSSW5wdXRTb3VyY2VBcnJheSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eQogUEFTUyBYUklucHV0U291cmNlQXJyYXkgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAogUEFTUyBYUklucHV0U291cmNlQXJyYXkg
aW50ZXJmYWNlOiBpdGVyYWJsZTxYUklucHV0U291cmNlPiAKIFBBU1MgWFJJbnB1dFNvdXJjZUFy
cmF5IGludGVyZmFjZTogYXR0cmlidXRlIGxlbmd0aCAKK1BBU1MgWFJJbnB1dFNvdXJjZUFycmF5
IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgeHJJbnB1dFNvdXJjZUFycmF5IAorUEFTUyBT
dHJpbmdpZmljYXRpb24gb2YgeHJJbnB1dFNvdXJjZUFycmF5IAorUEFTUyBYUklucHV0U291cmNl
QXJyYXkgaW50ZXJmYWNlOiB4cklucHV0U291cmNlQXJyYXkgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJsZW5ndGgiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBYUkxheWVyIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIFhSTGF5
ZXIgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCiBQQVNTIFhSTGF5ZXIgaW50ZXJmYWNlIG9iamVj
dCBuYW1lIApAQCAtMTcyLDYgKzIxNSwxNyBAQCBQQVNTIFhSV2ViR0xMYXllciBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBmcmFtZWJ1ZmZlcldpZHRoCiBQQVNTIFhSV2ViR0xMYXllciBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBmcmFtZWJ1ZmZlckhlaWdodCAKIFBBU1MgWFJXZWJHTExheWVyIGludGVyZmFj
ZTogb3BlcmF0aW9uIGdldFZpZXdwb3J0KFhSVmlldykgCiBQQVNTIFhSV2ViR0xMYXllciBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBnZXROYXRpdmVGcmFtZWJ1ZmZlclNjYWxlRmFjdG9yKFhSU2Vzc2lv
bikgCitQQVNTIFhSV2ViR0xMYXllciBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIHhyV2Vi
R0xMYXllciAKK1BBU1MgU3RyaW5naWZpY2F0aW9uIG9mIHhyV2ViR0xMYXllciAKK1BBU1MgWFJX
ZWJHTExheWVyIGludGVyZmFjZTogeHJXZWJHTExheWVyIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
YW50aWFsaWFzIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgWFJXZWJHTExheWVyIGludGVy
ZmFjZTogeHJXZWJHTExheWVyIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiaWdub3JlRGVwdGhWYWx1
ZXMiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBYUldlYkdMTGF5ZXIgaW50ZXJmYWNlOiB4
cldlYkdMTGF5ZXIgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJmcmFtZWJ1ZmZlciIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCitQQVNTIFhSV2ViR0xMYXllciBpbnRlcmZhY2U6IHhyV2ViR0xMYXllciBt
dXN0IGluaGVyaXQgcHJvcGVydHkgImZyYW1lYnVmZmVyV2lkdGgiIHdpdGggdGhlIHByb3BlciB0
eXBlIAorUEFTUyBYUldlYkdMTGF5ZXIgaW50ZXJmYWNlOiB4cldlYkdMTGF5ZXIgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJmcmFtZWJ1ZmZlckhlaWdodCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQ
QVNTIFhSV2ViR0xMYXllciBpbnRlcmZhY2U6IHhyV2ViR0xMYXllciBtdXN0IGluaGVyaXQgcHJv
cGVydHkgImdldFZpZXdwb3J0KFhSVmlldykiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBY
UldlYkdMTGF5ZXIgaW50ZXJmYWNlOiBjYWxsaW5nIGdldFZpZXdwb3J0KFhSVmlldykgb24geHJX
ZWJHTExheWVyIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCitQ
QVNTIFhSV2ViR0xMYXllciBpbnRlcmZhY2U6IHhyV2ViR0xMYXllciBtdXN0IGluaGVyaXQgcHJv
cGVydHkgImdldE5hdGl2ZUZyYW1lYnVmZmVyU2NhbGVGYWN0b3IoWFJTZXNzaW9uKSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCitQQVNTIFhSV2ViR0xMYXllciBpbnRlcmZhY2U6IGNhbGxpbmcgZ2V0
TmF0aXZlRnJhbWVidWZmZXJTY2FsZUZhY3RvcihYUlNlc3Npb24pIG9uIHhyV2ViR0xMYXllciB3
aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAogUEFTUyBYUlNlc3Np
b25FdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
b2JqZWN0IAogUEFTUyBYUlNlc3Npb25FdmVudCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKIFBB
U1MgWFJTZXNzaW9uRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBuYW1lIApAQCAtMTc5LDYgKzIzMyw5
IEBAIFBBU1MgWFJTZXNzaW9uRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvCiBQQVNTIFhSU2Vzc2lvbkV2ZW50IGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKIFBBU1MgWFJTZXNzaW9uRXZlbnQgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qn
cyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAogUEFTUyBYUlNlc3Npb25FdmVudCBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBzZXNzaW9uIAorUEFTUyBYUlNlc3Npb25FdmVudCBtdXN0IGJlIHByaW1hcnkg
aW50ZXJmYWNlIG9mIHhyU2Vzc2lvbkV2ZW50IAorUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgeHJT
ZXNzaW9uRXZlbnQgCitQQVNTIFhSU2Vzc2lvbkV2ZW50IGludGVyZmFjZTogeHJTZXNzaW9uRXZl
bnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJzZXNzaW9uIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
IFBBU1MgWFJJbnB1dFNvdXJjZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIFhSSW5wdXRTb3VyY2VFdmVudCBpbnRlcmZh
Y2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1MgWFJJbnB1dFNvdXJjZUV2ZW50IGludGVyZmFjZSBvYmpl
Y3QgbmFtZSAKQEAgLTE5Niw2ICsyNTMsMTEgQEAgUEFTUyBYUklucHV0U291cmNlc0NoYW5nZUV2
ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZQogUEFT
UyBYUklucHV0U291cmNlc0NoYW5nZUV2ZW50IGludGVyZmFjZTogYXR0cmlidXRlIHNlc3Npb24g
CiBQQVNTIFhSSW5wdXRTb3VyY2VzQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgYWRk
ZWQgCiBQQVNTIFhSSW5wdXRTb3VyY2VzQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
cmVtb3ZlZCAKK1BBU1MgWFJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVudCBtdXN0IGJlIHByaW1hcnkg
aW50ZXJmYWNlIG9mIHhySW5wdXRTb3VyY2VzQ2hhbmdlRXZlbnQgCitQQVNTIFN0cmluZ2lmaWNh
dGlvbiBvZiB4cklucHV0U291cmNlc0NoYW5nZUV2ZW50IAorUEFTUyBYUklucHV0U291cmNlc0No
YW5nZUV2ZW50IGludGVyZmFjZTogeHJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVudCBtdXN0IGluaGVy
aXQgcHJvcGVydHkgInNlc3Npb24iIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBYUklucHV0
U291cmNlc0NoYW5nZUV2ZW50IGludGVyZmFjZTogeHJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVudCBt
dXN0IGluaGVyaXQgcHJvcGVydHkgImFkZGVkIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1Mg
WFJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVudCBpbnRlcmZhY2U6IHhySW5wdXRTb3VyY2VzQ2hhbmdl
RXZlbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZW1vdmVkIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKIFBBU1MgWFJSZWZlcmVuY2VTcGFjZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIFhSUmVmZXJlbmNlU3BhY2VFdmVu
dCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1MgWFJSZWZlcmVuY2VTcGFjZUV2ZW50IGlu
dGVyZmFjZSBvYmplY3QgbmFtZSAKQEAgLTIxMSw2ICsyNzMsNyBAQCBGQUlMIFhSUGVybWlzc2lv
blN0YXR1cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eQogRkFJTCBYUlBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3Ii
IHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIlhSUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlhSUGVybWlzc2lv
blN0YXR1cyIgbWlzc2luZwogRkFJTCBYUlBlcm1pc3Npb25TdGF0dXMgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVu
c2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2
ZSBvd24gcHJvcGVydHkgIlhSUGVybWlzc2lvblN0YXR1cyIgZXhwZWN0ZWQgcHJvcGVydHkgIlhS
UGVybWlzc2lvblN0YXR1cyIgbWlzc2luZwogRkFJTCBYUlBlcm1pc3Npb25TdGF0dXMgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgZ3JhbnRlZCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90
IGhhdmUgb3duIHByb3BlcnR5ICJYUlBlcm1pc3Npb25TdGF0dXMiIGV4cGVjdGVkIHByb3BlcnR5
ICJYUlBlcm1pc3Npb25TdGF0dXMiIG1pc3NpbmcKK1BBU1MgV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZSBpbnRlcmZhY2U6IHdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJtYWtlWFJDb21wYXRpYmxlKCkiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBO
YXZpZ2F0b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgeHIgCiBQQVNTIE5hdmlnYXRvciBpbnRlcmZh
Y2U6IG5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVydHkgInhyIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93ZWJ4ci9pZGxoYXJuZXNzLmh0dHBzLndpbmRvdy5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvaWRsaGFybmVzcy5odHRwcy53aW5k
b3cuanMKaW5kZXggMDRiMmUzZDkxZWIzOGFjYjUxMmVjNDY5YjFiYjI2MWQ4ZWI2MjViMi4uZGFl
MjAxZWJjOTM4YWEwZjIxYzQ2MjUwNWRmZjU2ZmQxM2ZhNzU2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9pZGxoYXJuZXNzLmh0
dHBzLndpbmRvdy5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dlYnhyL2lkbGhhcm5lc3MuaHR0cHMud2luZG93LmpzCkBAIC0xLDUgKzEsNiBAQAog
Ly8gTUVUQTogc2NyaXB0PS9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzCiAvLyBNRVRBOiBzY3Jp
cHQ9L3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzCisvLyBNRVRBOiB0aW1lb3V0PWxvbmcKIAogJ3Vz
ZSBzdHJpY3QnOwogCkBAIC03LDExICs4LDQ4IEBACiAKIGlkbF90ZXN0KAogICBbJ3dlYnhyJ10s
Ci0gIFsncGVybWlzc2lvbnMnLCAnd2ViZ2wxJywgJ2h0bWwnLCAnZG9tJ10sCisgIFsncGVybWlz
c2lvbnMnLCAnd2ViZ2wxJywgJ2dlb21ldHJ5JywgJ2h0bWwnLCAnZG9tJ10sCiAgIGFzeW5jIGlk
bF9hcnJheSA9PiB7CiAgICAgaWRsX2FycmF5LmFkZF9vYmplY3RzKHsKICAgICAgIE5hdmlnYXRv
cjogWyduYXZpZ2F0b3InXSwKICAgICAgIFhSOiBbJ25hdmlnYXRvci54ciddLAorICAgICAgLy8g
VE9ETzogWFJTeXN0ZW0KKyAgICAgIFhSU2Vzc2lvbjogWyd4clNlc3Npb24nXSwKKyAgICAgIFhS
UmVuZGVyU3RhdGU6IFsneHJSZW5kZXJTdGF0ZSddLAorICAgICAgLy8gVE9ETzogWFJGcmFtZQor
ICAgICAgLy8gVE9ETzogWFJTcGFjZQorICAgICAgWFJSZWZlcmVuY2VTcGFjZTogWyd4clJlZmVy
ZW5jZVNwYWNlJ10sCisgICAgICAvLyBUT0RPOiBYUkJvdW5kZWRSZWZlcmVuY2VTcGFjZQorICAg
ICAgLy8gVE9ETzogWFJWaWV3CisgICAgICAvLyBUT0RPOiBYUlZpZXdwb3J0CisgICAgICBYUlJp
Z2lkVHJhbnNmb3JtOiBbJ25ldyBYUlJpZ2lkVHJhbnNmb3JtKCknXSwKKyAgICAgIC8vIFRPRE86
IFhSUG9zZQorICAgICAgLy8gVE9ETzogWFJWaWV3ZXJQb3NlCisgICAgICAvLyBUT0RPOiBYUklu
cHV0U291cmNlCisgICAgICBYUklucHV0U291cmNlQXJyYXk6IFsneHJJbnB1dFNvdXJjZUFycmF5
J10sCisgICAgICBYUldlYkdMTGF5ZXI6IFsneHJXZWJHTExheWVyJ10sCisgICAgICBXZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlOiBbJ3dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UnXSwKKyAgICAg
IFhSU2Vzc2lvbkV2ZW50OiBbJ3hyU2Vzc2lvbkV2ZW50J10sCisgICAgICAvLyBUT0RPOiBYUklu
cHV0U291cmNlRXZlbnQKKyAgICAgIFhSSW5wdXRTb3VyY2VzQ2hhbmdlRXZlbnQ6IFsneHJJbnB1
dFNvdXJjZXNDaGFuZ2VFdmVudCddLAorICAgICAgLy8gVE9ETzogWFJSZWZlcmVuY2VTcGFjZUV2
ZW50CisgICAgICAvLyBUT0RPOiBYUlBlcm1pc3Npb25TdGF0dXMKICAgICB9KTsKKworICAgIHNl
bGYueHJTZXNzaW9uID0gYXdhaXQgbmF2aWdhdG9yLnhyLnJlcXVlc3RTZXNzaW9uKCdpbmxpbmUn
KTsKKyAgICBzZWxmLnhyUmVuZGVyU3RhdGUgPSBzZWxmLnhyU2Vzc2lvbi5yZW5kZXJTdGF0ZTsK
KyAgICBzZWxmLnhyUmVmZXJlbmNlU3BhY2UgPSBhd2FpdCBzZWxmLnhyU2Vzc2lvbi5yZXF1ZXN0
UmVmZXJlbmNlU3BhY2UoJ3ZpZXdlcicpOworICAgIHNlbGYueHJJbnB1dFNvdXJjZUFycmF5ID0g
c2VsZi54clNlc3Npb24uaW5wdXRTb3VyY2VzOworICAgIHNlbGYueHJTZXNzaW9uRXZlbnQgPSBu
ZXcgWFJTZXNzaW9uRXZlbnQoJ2VuZCcsIHtzZXNzaW9uOiBzZWxmLnhyU2Vzc2lvbn0pOworICAg
IHNlbGYueHJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVudCA9IG5ldyBYUklucHV0U291cmNlc0NoYW5n
ZUV2ZW50KCdpbnB1dHNvdXJjZXNjaGFuZ2UnLCB7CisgICAgICBzZXNzaW9uOiBzZWxmLnhyU2Vz
c2lvbiwKKyAgICAgIGFkZGVkOiBbXSwKKyAgICAgIHJlbW92ZWQ6IFtdLAorICAgIH0pOworCisg
ICAgLy8gWFJXZWJHTFJlbmRlcmluZ0NvbnRleHQgaXMgYSB0eXBlZGVmIHRvIGVpdGhlciBXZWJH
TFJlbmRlcmluZ0NvbnRleHQgb3IgV2ViR0wyUmVuZGVyaW5nQ29udGV4dC4KKyAgICBjb25zdCBj
YW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKKyAgICBzZWxmLndlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2UgPSBjYW52YXMuZ2V0Q29udGV4dCgnd2ViZ2wnKTsKKyAgICBz
ZWxmLnhyV2ViR0xMYXllciA9IG5ldyBYUldlYkdMTGF5ZXIoc2VsZi54clNlc3Npb24sIHNlbGYu
d2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZSk7CiAgIH0KICk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3JlbmRlcl9zdGF0ZV91
cGRhdGUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2VieHIvcmVuZGVyX3N0YXRlX3VwZGF0ZS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJm
MjhkNDQyZWM5ODg5YWU5Y2Y2ZDU0YjcwZTFjNGM2NGI4NjJhMGYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3JlbmRl
cl9zdGF0ZV91cGRhdGUuaHR0cHMuaHRtbApAQCAtMCwwICsxLDk2IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvd2VieHJfdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL3dlYnhyX3Rlc3RfY29uc3RhbnRzLmpzIj48L3NjcmlwdD4KKzxjYW52YXMg
Lz4KKworPHNjcmlwdD4KK2xldCBmYWtlRGV2aWNlSW5pdFBhcmFtcyA9IFRSQUNLRURfSU1NRVJT
SVZFX0RFVklDRTsKKworbGV0IHRlc3RTZXNzaW9uRW5kZWQgPSBmdW5jdGlvbihzZXNzaW9uLCBm
YWtlRGV2aWNlQ29udHJvbGxlciwgdCkgeworICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUs
IHJlamVjdCkgPT4geworICAgIHJlc29sdmUoc2Vzc2lvbi5lbmQoKS50aGVuKCgpID0+IHsKKyAg
ICAgIHQuc3RlcCgoKSA9PiB7CisgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCdJbnZhbGlkU3Rh
dGVFcnJvcicsICgpID0+IHNlc3Npb24udXBkYXRlUmVuZGVyU3RhdGUoe30pKTsKKyAgICAgIH0p
OworICAgIH0pKTsKKyAgfSk7Cit9OworCisKK2xldCB0ZXN0QmFzZUxheWVyID0gZnVuY3Rpb24o
c2Vzc2lvbiwgZmFrZURldmljZUNvbnRyb2xsZXIsIHQsIHNlc3Npb25PYmplY3RzKSB7CisgIHJl
dHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgbmF2aWdhdG9yLnhy
LnRlc3Quc2ltdWxhdGVVc2VyQWN0aXZhdGlvbigoKSA9PiB7CisgICAgICBuYXZpZ2F0b3IueHIu
cmVxdWVzdFNlc3Npb24oJ2lubGluZScpLnRoZW4oKHRlbXBTZXNzaW9uKSA9PiB7CisgICAgICAg
IHQuc3RlcCgoKSA9PiB7CisgICAgICAgICAgYXNzZXJ0X25vdF9lcXVhbHMoc2Vzc2lvbiwgdGVt
cFNlc3Npb24pOworICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCdJbnZhbGlkU3RhdGVFcnJv
cicsICgpID0+IHNlc3Npb24udXBkYXRlUmVuZGVyU3RhdGUoeyBiYXNlTGF5ZXIgOiBuZXcgWFJX
ZWJHTExheWVyKHRlbXBTZXNzaW9uLCBzZXNzaW9uT2JqZWN0cy5nbCksIH0pKTsKKyAgICAgICAg
fSk7CisgICAgICB9KTsKKyAgICAgIHJlc29sdmUoKTsKKyAgICB9KTsKKyAgfSk7Cit9OworCits
ZXQgdGVzdEZpZWxkT2ZWaWV3ID0gZnVuY3Rpb24oc2Vzc2lvbiwgZmFrZURldmljZUNvbnRyb2xs
ZXIsIHQpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAg
ICB0LnN0ZXAoKCkgPT4geworICAgICAgYXNzZXJ0X3Rocm93c19kb20oJ0ludmFsaWRTdGF0ZUVy
cm9yJywgKCkgPT4gc2Vzc2lvbi51cGRhdGVSZW5kZXJTdGF0ZSh7IGlubGluZVZlcnRpY2FsRmll
bGRPZlZpZXcgOiBNYXRoLlBJLCB9KSk7CisgICAgfSk7CisgICAgcmVzb2x2ZSgpOworICB9KTsK
K307CisKK2xldCB0ZXN0Tm9QYXJhbXMgPSBmdW5jdGlvbihzZXNzaW9uLCBmYWtlRGV2aWNlQ29u
dHJvbGxlciwgdCkgeworICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4g
eworICAgIHRyeSB7CisgICAgICBzZXNzaW9uLnVwZGF0ZVJlbmRlclN0YXRlKHt9KTsKKyAgICB9
IGNhdGNoIChlcnIpIHsKKyAgICAgIGFzc2VydF91bnJlYWNoZWQoInVwZGF0ZVJlbmRlclN0YXRl
IHNob3VsZCBub3QgZmFpbCAoYWN0dWFsbHkgbm90IGRvIGFueXRoaW5nKSB3aXRoIG5vIHBhcmFt
cyIpOworICAgIH0KKyAgICByZXNvbHZlKCk7CisgIH0pOworfTsKKworbGV0IHRlc3RQYXJhbXMg
PSBmdW5jdGlvbihzZXNzaW9uLCBmYWtlRGV2aWNlQ29udHJvbGxlciwgdCwgc2Vzc2lvbk9iamVj
dHMpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICBs
ZXQgZ2wgPSBzZXNzaW9uT2JqZWN0cy5nbDsKKyAgICB0cnkgeworICAgICAgZ2wubWFrZVhSQ29t
cGF0aWJsZSgpLnRoZW4oKCkgPT4geworICAgICAgICB0LnN0ZXAoKCkgPT4geworICAgICAgICAg
IGxldCBmb3YgPSBNYXRoLlBJOworICAgICAgICAgIGxldCBuZWFyID0gMC4yOworICAgICAgICAg
IGxldCBmYXIgPSAwLjg7CisgICAgICAgICAgbGV0IGxheWVyID0gbmV3IFhSV2ViR0xMYXllcihz
ZXNzaW9uLCBnbCk7CisgICAgICAgICAgc2Vzc2lvbi51cGRhdGVSZW5kZXJTdGF0ZSh7IGlubGlu
ZVZlcnRpY2FsRmllbGRPZlZpZXc6IGZvdiwgZGVwdGhOZWFyOiBuZWFyLCBkZXB0aEZhcjogZmFy
LCBiYXNlTGF5ZXI6IGxheWVyIH0pOworICAgICAgICAgIC8vIFRoZSB1cGRhdGUgY2FuIG9ubHkg
aGFwcGVuIGJldHdlZW4gZnJhbWUgYm91bmRhcmllcywgdXBkYXRlUmVuZGVyU3RhdGUgb25seSBx
dWV1ZXMgY2hhbmdlcy4KKyAgICAgICAgICBhc3NlcnRfbm90X2VxdWFscyhzZXNzaW9uLnJlbmRl
clN0YXRlLmlubGluZVZlcnRpY2FsRmllbGRPZlZpZXcsIGZvdik7CisgICAgICAgICAgYXNzZXJ0
X25vdF9lcXVhbHMoc2Vzc2lvbi5yZW5kZXJTdGF0ZS5kZXB0aE5lYXIsIG5lYXIpOworICAgICAg
ICAgIGFzc2VydF9ub3RfZXF1YWxzKHNlc3Npb24ucmVuZGVyU3RhdGUuZGVwdGhGYXIsIGZhcik7
CisgICAgICAgICAgYXNzZXJ0X25vdF9lcXVhbHMoc2Vzc2lvbi5yZW5kZXJTdGF0ZS5iYXNlTGF5
ZXIsIGxheWVyKTsKKyAgICAgICAgfSk7CisgICAgICB9KTsKKyAgICB9IGNhdGNoIChlcnIpIHsK
KyAgICAgIGFzc2VydF91bnJlYWNoZWQoInVwZGF0ZVJlbmRlclN0YXRlIHNob3VsZCBub3QgZmFp
bCB3aGVuIGFsbCBwYXJhbXMgYXJlIHNwZWNpZmllZCIpOworICAgIH0KKyAgICByZXNvbHZlKCk7
CisgIH0pOworfTsKKworbGV0IHRlc3ROYW1lID0gInVwZGF0ZVJlbmRlclN0YXRlIGhhbmRsZXMg
YXBwcm9wcmlhdGVseSBlbmRlZCBzZXNzaW9ucyI7Cit4cl9zZXNzaW9uX3Byb21pc2VfdGVzdCh0
ZXN0TmFtZSwgdGVzdFNlc3Npb25FbmRlZCwgZmFrZURldmljZUluaXRQYXJhbXMsICdpbW1lcnNp
dmUtdnInKTsKKwordGVzdE5hbWUgPSAidXBkYXRlUmVuZGVyU3RhdGUgaGFuZGxlcyBhcHByb3By
aWF0ZWx5IGJhc2VMYXllcnMgY3JlYXRlZCB3aXRoIGRpZmZlcmVudCBzZXNzaW9ucyI7Cit4cl9z
ZXNzaW9uX3Byb21pc2VfdGVzdCh0ZXN0TmFtZSwgdGVzdEJhc2VMYXllciwgZmFrZURldmljZUlu
aXRQYXJhbXMsICdpbW1lcnNpdmUtdnInKTsKKwordGVzdE5hbWUgPSAidXBkYXRlUmVuZGVyU3Rh
dGUgaGFuZGxlcyBhcHByb3ByaWF0ZWx5IGltbWVyc2l2ZSBzZXNzaW9ucyB3aXRoIHNwZWNpZmll
ZCBpbmxpbmVWZXJ0aWNhbEZpZWxkT2ZWaWV3IjsKK3hyX3Nlc3Npb25fcHJvbWlzZV90ZXN0KHRl
c3ROYW1lLCB0ZXN0RmllbGRPZlZpZXcsIGZha2VEZXZpY2VJbml0UGFyYW1zLCAnaW1tZXJzaXZl
LXZyJyk7CisKK3Rlc3ROYW1lID0gInVwZGF0ZVJlbmRlclN0YXRlIGhhbmRsZXMgYXBwcm9wcmlh
dGVseSBYUlJlbmRlclN0YXRlSW5pdCB3aXRoIG5vIHBhcmFtcyI7Cit4cl9zZXNzaW9uX3Byb21p
c2VfdGVzdCh0ZXN0TmFtZSwgdGVzdE5vUGFyYW1zLCBmYWtlRGV2aWNlSW5pdFBhcmFtcywgJ2lt
bWVyc2l2ZS12cicpOworCit0ZXN0TmFtZSA9ICJ1cGRhdGVSZW5kZXJTdGF0ZSBoYW5kbGVzIGFw
cHJvcHJpYXRlbHkgWFJSZW5kZXJTdGF0ZUluaXQgcGFyYW1zIjsKK3hyX3Nlc3Npb25fcHJvbWlz
ZV90ZXN0KHRlc3ROYW1lLCB0ZXN0UGFyYW1zLCBmYWtlRGV2aWNlSW5pdFBhcmFtcywgJ2lubGlu
ZScpOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvcmVzb3VyY2VzL3dlYnhyX3Rlc3RfY29uc3RhbnRzLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9yZXNv
dXJjZXMvd2VieHJfdGVzdF9jb25zdGFudHMuanMKaW5kZXggMTlkZGJjMjQyMDBkZTIwMzljZTgy
NjUwN2M0YTZjZWE4OTk3OWIwNS4uMTM5YWI3NzU2ODRjNDI3ZTM5YmM1MDcxOTIyNmM5NmZjYmQz
YTVkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJ4ci9yZXNvdXJjZXMvd2VieHJfdGVzdF9jb25zdGFudHMuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9yZXNvdXJjZXMvd2Vi
eHJfdGVzdF9jb25zdGFudHMuanMKQEAgLTQ4LDIxICs0OCwxNiBAQCBjb25zdCBWQUxJRF9HUklQ
X1RSQU5TRk9STSA9IHsKIH07CiAKIC8vIEEgdmFsaWQgaW5wdXQgcG9pbnRlciBvZmZzZXQgZm9y
ICB3aGVuIHdlIGRvbid0IGNhcmUgYWJvdXQgc3BlY2lmaWMgdmFsdWVzCi1jb25zdCBWQUxJRF9Q
T0lOVEVSX09GRlNFVCA9IFsxLCAwLCAwLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgMCwgMSwgMCwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDAsIDEsIDAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwLCAxLCAxXTsKK2NvbnN0IFZBTElE
X1BPSU5URVIgPSBbMSwgMCwgMCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgMCwgMSwgMCwg
MCwKKyAgICAgICAgICAgICAgICAgICAgICAgMCwgMCwgMSwgMCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgMCwgMCwgMSwgMV07CiAKIGNvbnN0IFZBTElEX1BPSU5URVJfVFJBTlNGT1JNID0gewog
ICAgIHBvc2l0aW9uOiBbMCwgMCwgMV0sCiAgICAgb3JpZW50YXRpb246IFswLCAwLCAwLCAxXQog
fTsKIAotY29uc3QgVkFMSURfR1JJUF9XSVRIX1BPSU5URVJfT0ZGU0VUID0gWzEsIDAsIDAsIDAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMSwgMCwgMCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwLCAxLCAwLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQsIDMsIDMsIDFdOwotCiAvLyBBIFZh
bGlkIExvY2FsIHRvIGZsb29yIG1hdHJpeC90cmFuc2Zvcm0gZm9yIHdoZW4gd2UgZG9uJ3QgY2Fy
ZSBhYm91dCBzcGVjaWZpYwogLy8gdmFsdWVzLiAgTm90ZSB0aGF0IHRoZXNlIHNob3VsZCBiZSBp
ZGVudGljYWwsIGp1c3QgZGlmZmVyZW50IHJlcHJlc2VudGF0aW9ucy4KIGNvbnN0IFZBTElEX0ZM
T09SX09SSUdJTl9NQVRSSVggPSBbMSwgMCwgICAgMCwgIDAsCkBAIC0xMjksNiArMTI0LDcgQEAg
Y29uc3QgQUxMX0ZFQVRVUkVTID0gWwogICAnaGl0LXRlc3QnLAogICAnZG9tLW92ZXJsYXknLAog
ICAnbGlnaHQtZXN0aW1hdGlvbicsCisgICdhbmNob3JzJywKIF07CiAKIGNvbnN0IFRSQUNLRURf
SU1NRVJTSVZFX0RFVklDRSA9IHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvcmVzb3VyY2VzL3dlYnhyX3V0aWwuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3Jlc291cmNlcy93
ZWJ4cl91dGlsLmpzCmluZGV4IDIwNTg1ZWY3Mzc5N2M1OGIwNDA2ZDJhMjNkMTMyZThhOTE5YmU0
MDguLmE5ODdjYTFmNDQyMGMxNmIzZTU1NjIwMTE1ZDUzNmE2MzVhZTM2OTUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvcmVzb3Vy
Y2VzL3dlYnhyX3V0aWwuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93ZWJ4ci9yZXNvdXJjZXMvd2VieHJfdXRpbC5qcwpAQCAtMSwzICsxLDUgQEAK
Kyd1c2Ugc3RyaWN0JzsKKwogLy8gVGhlc2UgdGVzdHMgcmVseSBvbiB0aGUgVXNlciBBZ2VudCBw
cm92aWRpbmcgYW4gaW1wbGVtZW50YXRpb24gb2YgdGhlCiAvLyBXZWJYUiBUZXN0aW5nIEFQSSAo
aHR0cHM6Ly9naXRodWIuY29tL2ltbWVyc2l2ZS13ZWIvd2VieHItdGVzdC1hcGkpLgogLy8KQEAg
LTksMjQgKzExLDQ2IEBACiAKIC8vIERlYnVnZ2luZyBtZXNzYWdlIGhlbHBlciwgYnkgZGVmYXVs
dCBkb2VzIG5vdGhpbmcuIEltcGxlbWVudGF0aW9ucyBjYW4KIC8vIG92ZXJyaWRlIHRoaXMuCi12
YXIgeHJfZGVidWcgPSBmdW5jdGlvbihuYW1lLCBtc2cpIHt9Ci12YXIgaXNDaHJvbWl1bUJhc2Vk
ID0gJ01vam9JbnRlcmZhY2VJbnRlcmNlcHRvcicgaW4gc2VsZjsKLXZhciBpc1dlYktpdEJhc2Vk
ID0gJ2ludGVybmFscycgaW4gc2VsZiAmJiAneHJUZXN0JyBpbiBpbnRlcm5hbHM7Cit2YXIgeHJf
ZGVidWcgPSBmdW5jdGlvbihuYW1lLCBtc2cpIHt9OwogCiBmdW5jdGlvbiB4cl9wcm9taXNlX3Rl
c3QobmFtZSwgZnVuYywgcHJvcGVydGllcykgewogICBwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+
IHsKICAgICAvLyBQZXJmb3JtIGFueSByZXF1aXJlZCB0ZXN0IHNldHVwOgogICAgIHhyX2RlYnVn
KG5hbWUsICdzZXR1cCcpOwogCi0gICAgaWYgKGlzQ2hyb21pdW1CYXNlZCkgewotICAgICAgLy8g
Q2hyb21lIHNldHVwCi0gICAgICBhd2FpdCBsb2FkQ2hyb21pdW1SZXNvdXJjZXM7Ci0gICAgICB4
cl9kZWJ1ZyA9IG5hdmlnYXRvci54ci50ZXN0LkRlYnVnOworICAgIC8vIE9ubHkgc2V0IHVwIG9u
Y2UuCisgICAgaWYgKCFuYXZpZ2F0b3IueHIudGVzdCkgeworICAgICAgLy8gTG9hZCB0ZXN0LW9u
bHkgQVBJIGhlbHBlcnMuCisgICAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdzY3JpcHQnKTsKKyAgICAgIHNjcmlwdC5zcmMgPSAnL3Jlc291cmNlcy90ZXN0LW9ubHkt
YXBpLmpzJzsKKyAgICAgIHNjcmlwdC5hc3luYyA9IGZhbHNlOworICAgICAgY29uc3QgcCA9IG5l
dyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgc2NyaXB0Lm9ubG9hZCA9
ICgpID0+IHsgcmVzb2x2ZSgpOyB9OworICAgICAgICBzY3JpcHQub25lcnJvciA9IGUgPT4geyBy
ZWplY3QoZSk7IH07CisgICAgICB9KQorICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChz
Y3JpcHQpOworICAgICAgYXdhaXQgcDsKKworICAgICAgaWYgKGlzQ2hyb21pdW1CYXNlZCkgewor
ICAgICAgICAvLyBDaHJvbWUgc2V0dXAKKyAgICAgICAgYXdhaXQgbG9hZENocm9taXVtUmVzb3Vy
Y2VzKCk7CisgICAgICB9IGVsc2UgaWYgKGlzV2ViS2l0QmFzZWQpIHsKKyAgICAgICAgLy8gV2Vi
S2l0IHNldHVwCisgICAgICAgIGF3YWl0IHNldHVwV2ViS2l0V2ViWFJUZXN0QVBJKCk7CisgICAg
ICB9IGVsc2UgeworICAgICAgICBhc3NlcnRfaW1wbGVtZW50cyhmYWxzZSwgIm1pc3NpbmcgbmF2
aWdhdG9yLnhyLnRlc3QiKTsKKyAgICAgIH0KICAgICB9CiAKLSAgICBpZiAoaXNXZWJLaXRCYXNl
ZCkgewotICAgICAgLy8gV2ViS2l0IHNldHVwCi0gICAgICBhd2FpdCBzZXR1cFdlYktpdFdlYlhS
VGVzdEFQSTsKKyAgICAvLyBFaXRoZXIgdGhlIHRlc3QgYXBpIG5lZWRzIHRvIGJlIHBvbHlmaWxs
ZWQgYW5kIGl0J3Mgbm90IHNldCB1cCBhYm92ZSwgb3IKKyAgICAvLyBzb21ldGhpbmcgaGFwcGVu
ZWQgdG8gb25lIG9mIHRoZSBrbm93biBwb2x5ZmlsbHMgYW5kIGl0IGZhaWxlZCB0byBiZQorICAg
IC8vIHNldHVwIHByb3Blcmx5LiBFaXRoZXIgd2F5LCB0aGUgZmFjdCB0aGF0IHhyX3Byb21pc2Vf
dGVzdCBpcyBiZWluZyB1c2VkCisgICAgLy8gbWVhbnMgdGhhdCB0aGUgdGVzdHMgZXhwZWN0IG5h
dmlnYXRvci54ci50ZXN0IHRvIGJlIHNldC4gQnkgcmVqZWN0aW5nIG5vdworICAgIC8vIHdlIGNh
biBob3BlZnVsbHkgcHJvdmlkZSBhIGNsZWFyZXIgaW5kaWNhdGlvbiBvZiB3aGF0IHdlbnQgd3Jv
bmcuCisgICAgaWYgKCFuYXZpZ2F0b3IueHIudGVzdCkgeworICAgICAgLy8gV2UgY2FuJ3QgdXNl
IGFzc2VydF90cnVlIGhlcmUgYmVjYXVzZSBpdCBjYXVzZXMgdGhlIHdwdCB0ZXN0aGFybmVzcwor
ICAgICAgLy8gdG8gdHJlYXQgdGhpcyBhcyBhIHRlc3QgcGFnZSBhbmQgbm90IGFzIGEgdGVzdC4K
KyAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgiTm8gbmF2aWdhdG9yLnhyLnRlc3Qgb2JqZWN0
IGZvdW5kLCBldmVuIGFmdGVyIGF0dGVtcHRlZCBsb2FkIik7CiAgICAgfQogCiAgICAgLy8gRW5z
dXJlIHRoYXQgYW55IGRldmljZXMgYXJlIGRpc2Nvbm5lY3RlZCB3aGVuIGRvbmUuIElmIHRoaXMg
d2VyZSBkb25lIGluCkBAIC00NCw2ICs2OCwxOCBAQCBmdW5jdGlvbiB4cl9wcm9taXNlX3Rlc3Qo
bmFtZSwgZnVuYywgcHJvcGVydGllcykgewogICB9LCBuYW1lLCBwcm9wZXJ0aWVzKTsKIH0KIAor
Ly8gQSB1dGlsaXR5IGZ1bmN0aW9uIGZvciB3YWl0aW5nIG9uZSBhbmltYXRpb24gZnJhbWUgYmVm
b3JlIHJ1bm5pbmcgdGhlIGNhbGxiYWNrCisvLworLy8gVGhpcyBpcyBvbmx5IG5lZWRlZCBhZnRl
ciBjYWxsaW5nIEZha2VYUkRldmljZSBtZXRob2RzIG91dHNpZGUgb2YgYW4gYW5pbWF0aW9uIGZy
YW1lCisvLworLy8gVGhpcyBpcyBzbyB0aGF0IHdlIGNhbiBwYXBlciBvdmVyIHRoZSBwb3RlbnRp
YWwgcmFjZSBhbGxvd2VkIGJ5IHRoZSAibmV4dCBhbmltYXRpb24gZnJhbWUiCisvLyBjb25jZXB0
IGh0dHBzOi8vaW1tZXJzaXZlLXdlYi5naXRodWIuaW8vd2VieHItdGVzdC1hcGkvI3hyc2Vzc2lv
bi1uZXh0LWFuaW1hdGlvbi1mcmFtZQorZnVuY3Rpb24gcmVxdWVzdFNraXBBbmltYXRpb25GcmFt
ZShzZXNzaW9uLCBjYWxsYmFjaykgeworIHNlc3Npb24ucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgp
ID0+IHsKKyAgc2Vzc2lvbi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoY2FsbGJhY2spOworIH0pOwor
fQorCiAvLyBBIHRlc3QgZnVuY3Rpb24gd2hpY2ggcnVucyB0aHJvdWdoIHRoZSBjb21tb24gc3Rl
cHMgb2YgcmVxdWVzdGluZyBhIHNlc3Npb24uCiAvLyBDYWxscyB0aGUgcGFzc2VkIGluIHRlc3Qg
ZnVuY3Rpb24gd2l0aCB0aGUgc2Vzc2lvbiwgdGhlIGNvbnRyb2xsZXIgZm9yIHRoZQogLy8gZGV2
aWNlLCBhbmQgdGhlIHRlc3Qgb2JqZWN0LgpAQCAtMTQ5LDYgKzE4NSw3IEBAIGZ1bmN0aW9uIGZv
ckVhY2hXZWJ4ck9iamVjdChjYWxsYmFjaykgewogICBjYWxsYmFjayh3aW5kb3cuWFJGcmFtZVJl
cXVlc3RDYWxsYmFjaywgJ1hSRnJhbWVSZXF1ZXN0Q2FsbGJhY2snKTsKICAgY2FsbGJhY2sod2lu
ZG93LlhSUHJlc2VudGF0aW9uQ29udGV4dCwgJ1hSUHJlc2VudGF0aW9uQ29udGV4dCcpOwogICBj
YWxsYmFjayh3aW5kb3cuWFJGcmFtZSwgJ1hSRnJhbWUnKTsKKyAgY2FsbGJhY2sod2luZG93LlhS
TGF5ZXIsICdYUkxheWVyJyk7CiAgIGNhbGxiYWNrKHdpbmRvdy5YUlZpZXcsICdYUlZpZXcnKTsK
ICAgY2FsbGJhY2sod2luZG93LlhSVmlld3BvcnQsICdYUlZpZXdwb3J0Jyk7CiAgIGNhbGxiYWNr
KHdpbmRvdy5YUlZpZXdlclBvc2UsICdYUlZpZXdlclBvc2UnKTsKQEAgLTE2MiwyNSArMTk5LDI3
IEBAIGZ1bmN0aW9uIGZvckVhY2hXZWJ4ck9iamVjdChjYWxsYmFjaykgewogfQogCiAvLyBDb2Rl
IGZvciBsb2FkaW5nIHRlc3QgQVBJIGluIENocm9taXVtLgotbGV0IGxvYWRDaHJvbWl1bVJlc291
cmNlcyA9IFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4gewotICBpZiAoIWlzQ2hyb21pdW1C
YXNlZCkgewotICAgIC8vIERvIG5vdGhpbmcgb24gbm9uLUNocm9taXVtLWJhc2VkIGJyb3dzZXJz
IG9yIHdoZW4gdGhlIE1vam8gYmluZGluZ3MgYXJlCi0gICAgLy8gbm90IHByZXNlbnQgaW4gdGhl
IGdsb2JhbCBuYW1lc3BhY2UuCi0gICAgcmV0dXJuOwotICB9Ci0KK2FzeW5jIGZ1bmN0aW9uIGxv
YWRDaHJvbWl1bVJlc291cmNlcygpIHsKICAgbGV0IGNocm9taXVtUmVzb3VyY2VzID0gWwotICAg
ICcvZ2VuL2xheW91dF90ZXN0X2RhdGEvbW9qby9wdWJsaWMvanMvbW9qb19iaW5kaW5ncy5qcycs
CiAgICAgJy9nZW4vbW9qby9wdWJsaWMvbW9qb20vYmFzZS90aW1lLm1vam9tLmpzJywKLSAgICAn
L2dlbi9ncHUvaXBjL2NvbW1vbi9tYWlsYm94X2hvbGRlci5tb2pvbS5qcycsCisgICAgJy9nZW4v
bW9qby9wdWJsaWMvbW9qb20vYmFzZS9zaGFyZWRfbWVtb3J5Lm1vam9tLmpzJywKKyAgICAnL2dl
bi9tb2pvL3B1YmxpYy9tb2pvbS9iYXNlL3VuZ3Vlc3NhYmxlX3Rva2VuLm1vam9tLmpzJywKICAg
ICAnL2dlbi9ncHUvaXBjL2NvbW1vbi9zeW5jX3Rva2VuLm1vam9tLmpzJywKLSAgICAnL2dlbi91
aS9kaXNwbGF5L21vam9tL2Rpc3BsYXkubW9qb20uanMnLAorICAgICcvZ2VuL2dwdS9pcGMvY29t
bW9uL21haWxib3gubW9qb20uanMnLAorICAgICcvZ2VuL2dwdS9pcGMvY29tbW9uL21haWxib3hf
aG9sZGVyLm1vam9tLmpzJywKICAgICAnL2dlbi91aS9nZngvZ2VvbWV0cnkvbW9qb20vZ2VvbWV0
cnkubW9qb20uanMnLAorICAgICcvZ2VuL3VpL2dmeC9tb2pvbS9uYXRpdmVfaGFuZGxlX3R5cGVz
Lm1vam9tLmpzJywKKyAgICAnL2dlbi91aS9nZngvbW9qb20vYnVmZmVyX3R5cGVzLm1vam9tLmpz
JywKKyAgICAnL2dlbi91aS9nZngvbW9qb20vY29sb3Jfc3BhY2UubW9qb20uanMnLAorICAgICcv
Z2VuL3VpL2dmeC9tb2pvbS9kaXNwbGF5X2NvbG9yX3NwYWNlcy5tb2pvbS5qcycsCiAgICAgJy9n
ZW4vdWkvZ2Z4L21vam9tL2dwdV9mZW5jZV9oYW5kbGUubW9qb20uanMnLAogICAgICcvZ2VuL3Vp
L2dmeC9tb2pvbS90cmFuc2Zvcm0ubW9qb20uanMnLAorICAgICcvZ2VuL3VpL2Rpc3BsYXkvbW9q
b20vZGlzcGxheS5tb2pvbS5qcycsCisgICAgJy9nZW4vZGV2aWNlL2dhbWVwYWQvcHVibGljL21v
am9tL2dhbWVwYWQubW9qb20uanMnLAogICAgICcvZ2VuL2RldmljZS92ci9wdWJsaWMvbW9qb20v
dnJfc2VydmljZS5tb2pvbS5qcycsCiAgICAgJy9yZXNvdXJjZXMvY2hyb21pdW0vd2VieHItdGVz
dC1tYXRoLWhlbHBlci5qcycsCiAgICAgJy9yZXNvdXJjZXMvY2hyb21pdW0vd2VieHItdGVzdC5q
cycsCisgICAgLy8gUmVxdWlyZWQgb25seSBieSByZXNvdXJjZXMvY2hyb21pdW0vd2VieHItdGVz
dC5qcwogICAgICcvcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanMnLAogICAgICcvcmVzb3VyY2VzL3Rl
c3Rkcml2ZXItdmVuZG9yLmpzJywKICAgXTsKQEAgLTE5MywyOSArMjMyLDE1IEBAIGxldCBsb2Fk
Q2hyb21pdW1SZXNvdXJjZXMgPSBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHsKICAgICBj
aHJvbWl1bVJlc291cmNlcyA9IGNocm9taXVtUmVzb3VyY2VzLmNvbmNhdChhZGRpdGlvbmFsQ2hy
b21pdW1SZXNvdXJjZXMpOwogICB9CiAKLSAgbGV0IGNoYWluID0gUHJvbWlzZS5yZXNvbHZlKCk7
Ci0gICAgY2hyb21pdW1SZXNvdXJjZXMuZm9yRWFjaChwYXRoID0+IHsKLSAgICAgIGxldCBzY3Jp
cHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKLSAgICAgIHNjcmlwdC5zcmMg
PSBwYXRoOwotICAgICAgc2NyaXB0LmFzeW5jID0gZmFsc2U7Ci0gICAgICBjaGFpbiA9IGNoYWlu
LnRoZW4oKCkgPT4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICBzY3JpcHQub25sb2FkID0gKCkgPT4gcmVzb2x2ZSgpOwotICAgICAgICAgICAgICAg
ICAgICAgICAgIH0pKTsKLSAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTsK
LSAgfSk7Ci0KLSAgcmV0dXJuIGNoYWluOwotfSk7CisgIGF3YWl0IGxvYWRNb2pvUmVzb3VyY2Vz
KGNocm9taXVtUmVzb3VyY2VzKTsKIAotbGV0IHNldHVwV2ViS2l0V2ViWFJUZXN0QVBJID0gUHJv
bWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7Ci0gIGlmICghaXNXZWJLaXRCYXNlZCkgewotICAg
IC8vIERvIG5vdGhpbmcgb24gbm9uLVdlYktpdC1iYXNlZCBicm93c2Vycy4KLSAgICByZXR1cm47
Ci0gIH0KKyAgeHJfZGVidWcgPSBuYXZpZ2F0b3IueHIudGVzdC5EZWJ1ZzsKK30KIAorZnVuY3Rp
b24gc2V0dXBXZWJLaXRXZWJYUlRlc3RBUEkoKSB7CiAgIC8vIFdlYktpdCBzZXR1cC4gVGhlIGlu
dGVybmFscyBvYmplY3QgaXMgdXNlZCBieSB0aGUgV2ViS2l0IHRlc3QgcnVubmVyCiAgIC8vIHRv
IHByb3ZpZGUgSlMgYWNjZXNzIHRvIGludGVybmFsIEFQSXMuIEluIHRoaXMgY2FzZSBpdCdzIHVz
ZWQgdG8KICAgLy8gZW5zdXJlIHRoYXQgWFJUZXN0IGlzIG9ubHkgZXhwb3NlZCB0byB3cHQgdGVz
dHMuCiAgIG5hdmlnYXRvci54ci50ZXN0ID0gaW50ZXJuYWxzLnhyVGVzdDsKICAgcmV0dXJuIFBy
b21pc2UucmVzb2x2ZSgpOwotfSk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci93M2MtaW1wb3J0LmxvZwpp
bmRleCBmNjdjZDE2OTk0MzE5YmZiY2U3OTdkOWE0MmUwMWRhODVkODY5YTE0Li5lY2FhODIyOWU2
YmMwOWE1M2I4MGFlNjE5ZDY3ZTU1NzM2NmNhMDVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3czYy1pbXBvcnQubG9nCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvdzNjLWlt
cG9ydC5sb2cKQEAgLTI4LDEwICsyOCwxMiBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvZ2V0Vmlld2VyUG9zZV9lbXVs
YXRlZFBvc2l0aW9uLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dlYnhyL2lkbGhhcm5lc3MuaHR0cHMud2luZG93LmpzCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9uYXZpZ2F0b3JfeHJfc2Ft
ZU9iamVjdC5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93ZWJ4ci9yZW5kZXJfc3RhdGVfdXBkYXRlLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3JlbmRlcl9zdGF0ZV92ZXJ0
aWNhbF9mb3ZfaW1tZXJzaXZlLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3JlbmRlcl9zdGF0ZV92ZXJ0aWNhbF9mb3ZfaW5saW5l
Lmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dlYnhyL3dlYkdMQ2FudmFzQ29udGV4dF9jcmVhdGVfeHJjb21wYXRpYmxlLmh0dHBzLmh0bWwK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3dlYkdM
Q2FudmFzQ29udGV4dF9tYWtlY29tcGF0aWJsZV9jb250ZXh0bG9zdC5odHRwcy5odG1sCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci93ZWJHTENhbnZh
c0NvbnRleHRfbWFrZWNvbXBhdGlibGVfcmVlbnRyYW50Lmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3dlYnhyLXN1cHBvcnRlZC1i
eS1mZWF0dXJlLXBvbGljeS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93ZWJ4ci93ZWJ4cl9hdmFpbGFiaWxpdHkuaHR0cC5zdWIuaHRtbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvd2VieHJfZmVhdHVy
ZV9wb2xpY3kuaHR0cHMuaHRtbApAQCAtNjAsNiArNjIsNyBAQCBMaXN0IG9mIGZpbGVzOgogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJSZWZlcmVu
Y2VTcGFjZV9vcmlnaW5PZmZzZXQuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJSZWZlcmVuY2VTcGFjZV9vcmlnaW5PZmZzZXRC
b3VuZGVkLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dlYnhyL3hyUmVmZXJlbmNlU3BhY2Vfb3JpZ2luT2Zmc2V0X3ZpZXdlci5odHRwcy5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94
clJlZmVyZW5jZVNwYWNlX3JlbGF0aW9uc2hpcHMuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJSaWdpZFRyYW5zZm9ybV9jb25z
dHJ1Y3Rvci5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93ZWJ4ci94clJpZ2lkVHJhbnNmb3JtX2ludmVyc2UuaHR0cHMuaHRtbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJSaWdpZFRyYW5z
Zm9ybV9tYXRyaXguaHR0cHMuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci93ZWJHTENhbnZhc0NvbnRleHRfY3JlYXRlX3hy
Y29tcGF0aWJsZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93ZWJ4ci93ZWJHTENhbnZhc0NvbnRleHRfY3JlYXRlX3hyY29tcGF0aWJsZS5o
dHRwcy5odG1sCmluZGV4IGI4M2I5NjAxYWVkMTkzMGI1Njg3MTU0YjlmNWExYjY4NzdiYjk4OGEu
LjEwMTMxYjMyOTYyNWZmZjg3YmUxZDdkMTBjYTI3ZTIyNjcyOTZmNjUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvd2ViR0xDYW52
YXNDb250ZXh0X2NyZWF0ZV94cmNvbXBhdGlibGUuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3dlYkdMQ2FudmFzQ29udGV4
dF9jcmVhdGVfeHJjb21wYXRpYmxlLmh0dHBzLmh0bWwKQEAgLTgsMTcgKzgsMjIgQEAKICAgPHNj
cmlwdD4KICAgICB4cl9wcm9taXNlX3Rlc3QoIkFuIFhSLWNvbXBhdGlibGUgd2ViZ2xDYW52YXND
b250ZXh0IGNhbiBiZSBjcmVhdGVkIiwKICAgICAgICh0KSA9PiB7CisgICAgICAgIGxldCBnbCA9
IG51bGw7CisgICAgICAgIGxldCBvZmZzY3JlZW5HbCA9IG51bGw7CiAgICAgICAgIHJldHVybiBu
YXZpZ2F0b3IueHIudGVzdC5zaW11bGF0ZURldmljZUNvbm5lY3Rpb24oVFJBQ0tFRF9JTU1FUlNJ
VkVfREVWSUNFKQogICAgICAgICAgIC50aGVuKCAoY29udHJvbGxlcikgPT4gewotICAgICAgICAg
ICAgd2ViZ2xDYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnd2ViZ2wtY2FudmFzJyk7
Ci0gICAgICAgICAgICBnbCA9IHdlYmdsQ2FudmFzLmdldENvbnRleHQoJ3dlYmdsJywge3hyQ29t
cGF0aWJsZTogdHJ1ZX0pOworICAgICAgICAgICAgbGV0IHdlYmdsQ2FudmFzID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3dlYmdsLWNhbnZhcycpOworICAgICAgICAgICAgZ2wgPSB3ZWJnbENh
bnZhcy5nZXRDb250ZXh0KCd3ZWJnbCcpOworICAgICAgICAgICAgcmV0dXJuIGdsLm1ha2VYUkNv
bXBhdGlibGUoKTsKKyAgICAgICAgICB9KS50aGVuKCAoKSA9PiB7CiAgICAgICAgICAgICBhc3Nl
cnRfdHJ1ZShnbC5nZXRDb250ZXh0QXR0cmlidXRlcygpLnhyQ29tcGF0aWJsZSk7CiAKICAgICAg
ICAgICAgIC8vIENoZWNrIHRoYXQgYW4gb2Zmc2NyZWVuIGNvbnRleHQgYmVoYXZlcyBubyBkaWZm
ZXJlbnQuCi0gICAgICAgICAgICBsZXQgb2Zmc2NyZWVuQ2FudmFzID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnY2FudmFzJyk7Ci0gICAgICAgICAgICBsZXQgb2Zmc2NyZWVuR2wgPSB3ZWJnbENh
bnZhcy5nZXRDb250ZXh0KAotICAgICAgICAgICAgICAnd2ViZ2wnLCB7eHJDb21wYXRpYmxlOiB0
cnVlfSk7Ci0gICAgICAgICAgICBhc3NlcnRfdHJ1ZShvZmZzY3JlZW5HbC5nZXRDb250ZXh0QXR0
cmlidXRlcygpLnhyQ29tcGF0aWJsZSk7CisgICAgICAgICAgICAvL2xldCBvZmZzY3JlZW5DYW52
YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKKyAgICAgICAgICAgIC8vb2Zm
c2NyZWVuR2wgPSBvZmZzY3JlZW5DYW52YXMuZ2V0Q29udGV4dCgnd2ViZ2wnKTsKKyAgICAgICAg
ICAgIC8vcmV0dXJuIG9mZnNjcmVlbkdsLm1ha2VYUkNvbXBhdGlibGUoKTsKKyAgICAgICAgICB9
KS50aGVuKCAoKSA9PiB7CisgICAgICAgICAgICAvL2Fzc2VydF90cnVlKG9mZnNjcmVlbkdsLmdl
dENvbnRleHRBdHRyaWJ1dGVzKCkueHJDb21wYXRpYmxlKTsKICAgICAgICAgICB9KTsKICAgICAg
IH0pOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dlYnhyL3dlYkdMQ2FudmFzQ29udGV4dF9tYWtlY29tcGF0aWJsZV9jb250ZXh0bG9z
dC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93ZWJ4ci93ZWJHTENhbnZhc0NvbnRleHRfbWFrZWNvbXBhdGlibGVfY29udGV4dGxvc3QuaHR0
cHMuaHRtbAppbmRleCA1M2ZhNGZkOGFmMjNkMWIwZWE0NzcyYTUyODZiYjhiODFhMmExMjIxLi4w
ZTU5ODA3Y2I0YzI5OTliNTI4N2NlZTU2YTExNzI5NGIwNmI1NjlmIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3dlYkdMQ2FudmFz
Q29udGV4dF9tYWtlY29tcGF0aWJsZV9jb250ZXh0bG9zdC5odHRwcy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIvd2ViR0xDYW52YXND
b250ZXh0X21ha2Vjb21wYXRpYmxlX2NvbnRleHRsb3N0Lmh0dHBzLmh0bWwKQEAgLTEzLDcgKzEz
LDkgQEAKICAgICAgIHJldHVybiBuYXZpZ2F0b3IueHIudGVzdC5zaW11bGF0ZURldmljZUNvbm5l
Y3Rpb24oVFJBQ0tFRF9JTU1FUlNJVkVfREVWSUNFKQogICAgICAgICAudGhlbiggKGNvbnRyb2xs
ZXIpID0+IHsKICAgICAgICAgICB3ZWJnbENhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCd3ZWJnbC1jYW52YXMnKTsKLSAgICAgICAgICBnbCA9IHdlYmdsQ2FudmFzLmdldENvbnRleHQo
J3dlYmdsJywge3hyQ29tcGF0aWJsZTogdHJ1ZX0pOworICAgICAgICAgIGdsID0gd2ViZ2xDYW52
YXMuZ2V0Q29udGV4dCgnd2ViZ2wnKTsKKyAgICAgICAgICByZXR1cm4gZ2wubWFrZVhSQ29tcGF0
aWJsZSgpOworICAgICAgICB9KS50aGVuKCAoKSA9PiB7CiAgICAgICAgICAgZ2wuZ2V0RXh0ZW5z
aW9uKCdXRUJHTF9sb3NlX2NvbnRleHQnKS5sb3NlQ29udGV4dCgpOwogICAgICAgICAgIHJldHVy
biBwcm9taXNlX3JlamVjdHNfZG9tKHQsICdJbnZhbGlkU3RhdGVFcnJvcicsIGdsLm1ha2VYUkNv
bXBhdGlibGUoKSk7CiAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci93ZWJHTENhbnZhc0NvbnRleHRfbWFrZWNv
bXBhdGlibGVfcmVlbnRyYW50Lmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3dlYkdMQ2FudmFzQ29udGV4dF9tYWtlY29tcGF0aWJs
ZV9yZWVudHJhbnQuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNDEyYzZmYjJlMDBjYWFlOGVhZmU2
NDA3MDM4YWNkMjZkNTkyZGQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci93ZWJHTENhbnZhc0NvbnRleHRfbWFrZWNv
bXBhdGlibGVfcmVlbnRyYW50Lmh0dHBzLmh0bWwKQEAgLTAsMCArMSw0MCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYnhyX3Rlc3RfY29uc3RhbnRzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2VieHJfdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0PgorCit4cl9wcm9taXNlX3Rlc3QoCisgICJWZXJpZnkgcHJvbWlzZSBmcm9tIGEgbm9uLXJl
ZW50cmFudCB0byBtYWtlWFJDb21wYXRpYmxlKCkgaXMgcmVzb2x2ZWQiLAorICAodCkgPT4gewor
ICAgIHZhciBnbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpLmdldENvbnRleHQo
J3dlYmdsJyk7CisgICAgcmV0dXJuIG5hdmlnYXRvci54ci50ZXN0LnNpbXVsYXRlRGV2aWNlQ29u
bmVjdGlvbihUUkFDS0VEX0lNTUVSU0lWRV9ERVZJQ0UpCisgICAgICAudGhlbigoY29udHJvbGxl
cikgPT4geworICAgICAgICBhc3NlcnRfZmFsc2UoZ2wuZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKS54
ckNvbXBhdGlibGUpOworICAgICAgICByZXR1cm4gZ2wubWFrZVhSQ29tcGF0aWJsZSgpOworICAg
ICAgfSkudGhlbigoKSA9PiB7CisgICAgICAgIGFzc2VydF90cnVlKGdsLmdldENvbnRleHRBdHRy
aWJ1dGVzKCkueHJDb21wYXRpYmxlKTsKKyAgICAgICAgcmV0dXJuIGdsLm1ha2VYUkNvbXBhdGli
bGUoKTsKKyAgICAgIH0pLnRoZW4oKCkgPT4geworICAgICAgICBhc3NlcnRfdHJ1ZShnbC5nZXRD
b250ZXh0QXR0cmlidXRlcygpLnhyQ29tcGF0aWJsZSk7CisgICAgICB9KTsKKyAgfSk7CisKK3hy
X3Byb21pc2VfdGVzdCgKKyAgIlZlcmlmeSBwcm9taXNlcyBmcm9tIHJlZW50cmFudCBjYWxscyB0
byBtYWtlWFJDb21wYXRpYmxlKCkgYXJlIHJlc29sdmVkIiwKKyAgKHQpID0+IHsKKyAgICB2YXIg
Z2wgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKS5nZXRDb250ZXh0KCd3ZWJnbCcp
OworICAgIHJldHVybiBuYXZpZ2F0b3IueHIudGVzdC5zaW11bGF0ZURldmljZUNvbm5lY3Rpb24o
VFJBQ0tFRF9JTU1FUlNJVkVfREVWSUNFKQorICAgICAgLnRoZW4oKGNvbnRyb2xsZXIpID0+IHsK
KyAgICAgICAgYXNzZXJ0X2ZhbHNlKGdsLmdldENvbnRleHRBdHRyaWJ1dGVzKCkueHJDb21wYXRp
YmxlKTsKKworICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoW2dsLm1ha2VYUkNvbXBhdGlibGUo
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbC5tYWtlWFJDb21wYXRpYmxlKCksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2wubWFrZVhSQ29tcGF0aWJsZSgpXSk7CisgICAg
ICB9KS50aGVuKCgpID0+IHsKKyAgICAgICAgYXNzZXJ0X3RydWUoZ2wuZ2V0Q29udGV4dEF0dHJp
YnV0ZXMoKS54ckNvbXBhdGlibGUpOworICAgICAgfSk7CisgIH0pOworCis8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vi
eHIveHJCb3VuZGVkUmVmZXJlbmNlU3BhY2VfdXBkYXRlcy5odHRwcy5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94ckJvdW5kZWRSZWZlcmVu
Y2VTcGFjZV91cGRhdGVzLmh0dHBzLmh0bWwKaW5kZXggOTA0M2Q1OWUzYjIzMThmYWIxODJiODVh
YjI5ZDE1ZWE0ZTJiNDFjYi4uM2Q1MDQwNDM2NjU3ZDdiMDliMjkwNTYyZjFjZmRlMDg2YjkyNDQ5
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93ZWJ4ci94ckJvdW5kZWRSZWZlcmVuY2VTcGFjZV91cGRhdGVzLmh0dHBzLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94ckJvdW5k
ZWRSZWZlcmVuY2VTcGFjZV91cGRhdGVzLmh0dHBzLmh0bWwKQEAgLTQ5LDcgKzQ5LDcgQEAgbGV0
IHRlc3RGdW5jdGlvbiA9IGZ1bmN0aW9uKHNlc3Npb24sIGZha2VEZXZpY2VDb250cm9sbGVyLCB0
KSB7CiAKICAgICAgICAgICAvLyBOb3cgc2V0IHRoZSBib3VuZHMgZXhwbGljaXRseSBhbmQgY2hl
Y2sgYWdhaW4gb24gdGhlIG5leHQgZnJhbWUuCiAgICAgICAgICAgZmFrZURldmljZUNvbnRyb2xs
ZXIuc2V0Qm91bmRzR2VvbWV0cnkoVkFMSURfQk9VTkRTKTsKLSAgICAgICAgICBzZXNzaW9uLnJl
cXVlc3RBbmltYXRpb25GcmFtZShvbkZyYW1lKTsKKyAgICAgICAgICByZXF1ZXN0U2tpcEFuaW1h
dGlvbkZyYW1lKHNlc3Npb24sIG9uRnJhbWUpOwogICAgICAgICB9KTsKICAgICB9KTsKIH07CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dl
YnhyL3hySW5wdXRTb3VyY2VfYWRkX3JlbW92ZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94cklucHV0U291cmNlX2FkZF9yZW1v
dmUuaHR0cHMuaHRtbAppbmRleCAzMzI2NGRkZDY4YWIwOWUyZWQ2YTU5NjYxNDExNmJkMTIyNWYy
NjY1Li43NzY0MDE3OTEwZDJlNWFkYTc4ZmViZTk1NGU5NTQzYWNhODkyMjZiIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hySW5w
dXRTb3VyY2VfYWRkX3JlbW92ZS5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJJbnB1dFNvdXJjZV9hZGRfcmVtb3ZlLmh0
dHBzLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgbGV0IHRlc3RGdW5jdGlvbiA9IChzZXNzaW9uLCBm
YWtlRGV2aWNlQ29udHJvbGxlciwgdCkgPT4gbmV3IFByb21pc2UoKHJlc29sdmUpID0KIAogICAg
IGxldCBpbnB1dF9zb3VyY2VfMSA9IGZha2VEZXZpY2VDb250cm9sbGVyLnNpbXVsYXRlSW5wdXRT
b3VyY2VDb25uZWN0aW9uKFJJR0hUX0NPTlRST0xMRVIpOwogCi0gICAgc2Vzc2lvbi5yZXF1ZXN0
QW5pbWF0aW9uRnJhbWUoKHRpbWUsIHhyRnJhbWUpID0+IHsKKyAgICByZXF1ZXN0U2tpcEFuaW1h
dGlvbkZyYW1lKHNlc3Npb24sICh0aW1lLCB4ckZyYW1lKSA9PiB7CiAgICAgICBsZXQgaW5wdXRf
c291cmNlcyA9IHNlc3Npb24uaW5wdXRTb3VyY2VzOwogCiAgICAgICB0LnN0ZXAoICgpID0+IHsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d2VieHIveHJJbnB1dFNvdXJjZV9lbXVsYXRlZFBvc2l0aW9uLmh0dHBzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hySW5wdXRTb3VyY2Vf
ZW11bGF0ZWRQb3NpdGlvbi5odHRwcy5odG1sCmluZGV4IDdiMGZkYTQ1MDg3NDhjODFhMDg2NWQx
Mzc4NDdmZDdmMTNhM2ZmOTcuLjJiYzIxZmZlNmMzOTVkZTIyYTFhYTg0MGNiOGE5N2U0NGE4MWVl
YmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2VieHIveHJJbnB1dFNvdXJjZV9lbXVsYXRlZFBvc2l0aW9uLmh0dHBzLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94cklucHV0
U291cmNlX2VtdWxhdGVkUG9zaXRpb24uaHR0cHMuaHRtbApAQCAtNTMsNyArNTMsNyBAQCBsZXQg
dGVzdEZ1bmN0aW9uID0KICAgICAgIH0KIAogICAgICAgLy8gQ2FuIG9ubHkgcmVxdWVzdCBpbnB1
dCBwb3NlcyBpbiBhbiB4ciBmcmFtZS4KLSAgICAgIHNlc3Npb24ucmVxdWVzdEFuaW1hdGlvbkZy
YW1lKENoZWNrUG9zaXRpb25Ob3RFbXVsYXRlZCk7CisgICAgICByZXF1ZXN0U2tpcEFuaW1hdGlv
bkZyYW1lKHNlc3Npb24sIENoZWNrUG9zaXRpb25Ob3RFbXVsYXRlZCk7CiAgICAgfSk7CiAgIH0p
OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dlYnhyL3hySW5wdXRTb3VyY2VfcHJvZmlsZXMuaHR0cHMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJJbnB1dFNvdXJjZV9wcm9m
aWxlcy5odHRwcy5odG1sCmluZGV4IDMyMDczYzYzMWY4ZWNmYzNiMTljMzNlZDAzZTZiOTk5OTU1
M2NmZWMuLmY1NWU2ODJiNjc1MjhjMGUwMTQwNjE2MzQ5MGZhNDMzYTY5ZDA1OTIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJJ
bnB1dFNvdXJjZV9wcm9maWxlcy5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJJbnB1dFNvdXJjZV9wcm9maWxlcy5odHRw
cy5odG1sCkBAIC0yMiw3ICsyMiw3IEBAIGxldCB0ZXN0RnVuY3Rpb24gPSBmdW5jdGlvbihzZXNz
aW9uLCBmYWtlRGV2aWNlQ29udHJvbGxlciwgdCkgewogICAvLyBJbnB1dCBldmVudHMgYW5kIHN0
YXRlIGNoYW5nZXMgbmVlZCBvbmUgZnJhbWUgdG8gcHJvcGFnYXRlLCB3aGljaCBpcyB3aHkgd2UK
ICAgLy8gYXJlIHJlcXVlc3RpbmcgYW4gYW5pbWF0aW9uIGZyYW1lIGJlZm9yZSBjaGVja2luZyB0
aGUgcHJvZmlsZXMgbGlzdC4KICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0g
ICAgc2Vzc2lvbi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgIHJlcXVlc3RTa2lw
QW5pbWF0aW9uRnJhbWUoc2Vzc2lvbiwgKCkgPT4gewogICAgICAgbGV0IHByb2ZpbGVzID0gc2Vz
c2lvbi5pbnB1dFNvdXJjZXNbMF0ucHJvZmlsZXM7CiAgICAgICB0LnN0ZXAoKCkgPT4gewogICAg
ICAgICBhc3NlcnRfZXF1YWxzKHByb2ZpbGVzLmxlbmd0aCwgMik7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hySW5wdXRTb3Vy
Y2Vfc2FtZU9iamVjdC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93ZWJ4ci94cklucHV0U291cmNlX3NhbWVPYmplY3QuaHR0cHMuaHRtbApp
bmRleCA3ODI0MGRlMmY5MDE5MjE4MDYxZTQ1MzU5Y2ZhZDdjZDI4MDU3ZDUyLi4zMDVlNWY5ZTBm
Y2NjOGVmN2E3ZDk2ZDllNjVkYTEzMGI1ZjU0MjM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hySW5wdXRTb3VyY2Vfc2FtZU9i
amVjdC5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2VieHIveHJJbnB1dFNvdXJjZV9zYW1lT2JqZWN0Lmh0dHBzLmh0bWwKQEAgLTE4
LDcgKzE4LDcgQEAgbGV0IHRlc3RGdW5jdGlvbiA9IGZ1bmN0aW9uKHNlc3Npb24sIGZha2VEZXZp
Y2VDb250cm9sbGVyLCB0KSB7CiAgICAgICBwcm9maWxlczogWyJmb28iLCAiYmFyIl0KICAgICB9
KTsKIAotICAgIHNlc3Npb24ucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCh0aW1lLCB4ckZyYW1lKSA9
PiB7CisgICAgcmVxdWVzdFNraXBBbmltYXRpb25GcmFtZShzZXNzaW9uLCAodGltZSwgeHJGcmFt
ZSkgPT4gewogICAgICAgbGV0IHNvdXJjZSA9IHNlc3Npb24uaW5wdXRTb3VyY2VzWzBdOwogICAg
ICAgbGV0IHRhcmdldFJheVNwYWNlID0gc291cmNlLnRhcmdldFJheVNwYWNlOwogICAgICAgbGV0
IGdyaXBTcGFjZSA9IHNvdXJjZS5ncmlwU3BhY2U7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyUG9zZV90cmFuc2Zvcm1fc2Ft
ZU9iamVjdC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93ZWJ4ci94clBvc2VfdHJhbnNmb3JtX3NhbWVPYmplY3QuaHR0cHMuaHRtbAppbmRl
eCA3OWVlZDRjZGVjNDY2M2IzYTBhNDAxYWZmODAxMjZlNGRhZDc2N2Y5Li44ZTIyMzljZmYxNjdj
YmI4OGI4NzAyYzRmM2Y0MTNkNDQ3YjUwMTVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyUG9zZV90cmFuc2Zvcm1fc2FtZU9i
amVjdC5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2VieHIveHJQb3NlX3RyYW5zZm9ybV9zYW1lT2JqZWN0Lmh0dHBzLmh0bWwKQEAg
LTE5LDcgKzE5LDcgQEAgbGV0IHRlc3RGdW5jdGlvbiA9IGZ1bmN0aW9uKHNlc3Npb24sIGZha2VE
ZXZpY2VDb250cm9sbGVyLCB0KSB7CiAgICAgfSk7CiAKICAgICBzZXNzaW9uLnJlcXVlc3RSZWZl
cmVuY2VTcGFjZSgnbG9jYWwnKS50aGVuKChyZWZlcmVuY2VTcGFjZSkgPT4gewotICAgICAgc2Vz
c2lvbi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKHRpbWUsIHhyRnJhbWUpID0+IHsKKyAgICAgIHJl
cXVlc3RTa2lwQW5pbWF0aW9uRnJhbWUoc2Vzc2lvbiwgKHRpbWUsIHhyRnJhbWUpID0+IHsKICAg
ICAgICAgbGV0IHNvdXJjZSA9IHNlc3Npb24uaW5wdXRTb3VyY2VzWzBdOwogICAgICAgICBsZXQg
aW5wdXRfcG9zZSA9IHhyRnJhbWUuZ2V0UG9zZShzb3VyY2UudGFyZ2V0UmF5U3BhY2UsIHJlZmVy
ZW5jZVNwYWNlKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJlZmVyZW5jZVNwYWNlX29yaWdpbk9mZnNldC5odHRwcy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94
clJlZmVyZW5jZVNwYWNlX29yaWdpbk9mZnNldC5odHRwcy5odG1sCmluZGV4IDk4OGQ5OTcyOGQ0
YmU0MTQyNGE3YzA5ZDYyMmE1YTliOWI2MDhhMjcuLmY2OTI5ZjI3YWYwZWU3MzY3NmMwOWJlN2Rl
MjVhZmEyZWQzZDFmZDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2VieHIveHJSZWZlcmVuY2VTcGFjZV9vcmlnaW5PZmZzZXQuaHR0cHMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dl
YnhyL3hyUmVmZXJlbmNlU3BhY2Vfb3JpZ2luT2Zmc2V0Lmh0dHBzLmh0bWwKQEAgLTQyLDggKzQy
LDggQEAgbGV0IHRlc3RGdW5jdGlvbiA9CiAgICAgfTsKIAogICAgIGNvbnN0IFBPSU5URVJfVFJB
TlNGT1JNX1dJVEhfUk9UQVRJT04gPSB7Ci0gICAgICBwb3NpdGlvbjogWzIsIDAsIDFdLAotICAg
ICAgb3JpZW50YXRpb246IFswLCAwLCAwLjcwNzEsIDAuNzA3MV0KKyAgICAgIHBvc2l0aW9uOiBb
MCwgMSwgNF0sCisgICAgICBvcmllbnRhdGlvbjogWy0wLjUsIDAuNSwgMC41LCAtMC41XQogICAg
IH07CiAKICAgICBsZXQgaW5wdXRfc291cmNlID0gZmFrZURldmljZUNvbnRyb2xsZXIuc2ltdWxh
dGVJbnB1dFNvdXJjZUNvbm5lY3Rpb24oewpAQCAtNzQsNyArNzQsNyBAQCBsZXQgdGVzdEZ1bmN0
aW9uID0KICAgICAgIGZ1bmN0aW9uIE9uRnJhbWUodGltZSwgZnJhbWUpIHsKICAgICAgICAgbGV0
IHNvdXJjZSA9IHNlc3Npb24uaW5wdXRTb3VyY2VzWzBdOwogCi0gICAgICAgIGZ1bmN0aW9uIENo
ZWNrU3RhdGUocmVmZXJlbmNlU3BhY2UsIGV4cGVjdGVkX3ZpZXdfbWF0cml4LCBleHBlY3RlZF9n
cmlwX21hdHJpeCwgZXhwZWN0ZWRfcmF5X21hdHJpeCkgeworICAgICAgICBmdW5jdGlvbiBDaGVj
a1N0YXRlKHJlZmVyZW5jZVNwYWNlLCBleHBlY3RlZF92aWV3X21hdHJpeCwgZXhwZWN0ZWRfZ3Jp
cF9tYXRyaXgsIGV4cGVjdGVkX3JheV9tYXRyaXgsIHByZWZpeCkgewogICAgICAgICAgIHQuc3Rl
cCgoKSA9PiB7CiAgICAgICAgICAgICBsZXQgcG9zZSA9IGZyYW1lLmdldFZpZXdlclBvc2UocmVm
ZXJlbmNlU3BhY2UpOwogICAgICAgICAgICAgbGV0IGdyaXBfcG9zZSA9IGZyYW1lLmdldFBvc2Uo
c291cmNlLmdyaXBTcGFjZSwgcmVmZXJlbmNlU3BhY2UpOwpAQCAtODQsMTMgKzg0LDEzIEBAIGxl
dCB0ZXN0RnVuY3Rpb24gPQogICAgICAgICAgICAgbGV0IGdyaXBfbWF0cml4ID0gZ3JpcF9wb3Nl
LnRyYW5zZm9ybS5tYXRyaXg7CiAgICAgICAgICAgICBsZXQgcmF5X21hdHJpeCA9IGlucHV0X3Bv
c2UudHJhbnNmb3JtLm1hdHJpeDsKIAotICAgICAgICAgICAgYXNzZXJ0X21hdHJpeF9hcHByb3hf
ZXF1YWxzKHZpZXdfbWF0cml4LCBleHBlY3RlZF92aWV3X21hdHJpeCk7Ci0gICAgICAgICAgICBh
c3NlcnRfbWF0cml4X2FwcHJveF9lcXVhbHMoZ3JpcF9tYXRyaXgsIGV4cGVjdGVkX2dyaXBfbWF0
cml4KTsKLSAgICAgICAgICAgIGFzc2VydF9tYXRyaXhfYXBwcm94X2VxdWFscyhyYXlfbWF0cml4
LCBleHBlY3RlZF9yYXlfbWF0cml4KTsKKyAgICAgICAgICAgIGFzc2VydF9tYXRyaXhfYXBwcm94
X2VxdWFscyh2aWV3X21hdHJpeCwgZXhwZWN0ZWRfdmlld19tYXRyaXgsIHByZWZpeCArICIgdmll
dyBtYXRyaXgiKTsKKyAgICAgICAgICAgIGFzc2VydF9tYXRyaXhfYXBwcm94X2VxdWFscyhncmlw
X21hdHJpeCwgZXhwZWN0ZWRfZ3JpcF9tYXRyaXgsIHByZWZpeCArICIgZ3JpcCBtYXRyaXgiKTsK
KyAgICAgICAgICAgIGFzc2VydF9tYXRyaXhfYXBwcm94X2VxdWFscyhyYXlfbWF0cml4LCBleHBl
Y3RlZF9yYXlfbWF0cml4LCBwcmVmaXggKyAiIHJheSBtYXRyaXgiKTsKICAgICAgICAgICB9KTsK
ICAgICAgICAgfQogCi0gICAgICAgIENoZWNrU3RhdGUocmVmZXJlbmNlU3BhY2UsIEVYUEVDVEVE
X1ZJRVdfTUFUUklYXzEsIEVYUEVDVEVEX0dSSVBfTUFUUklYXzEsIEVYUEVDVEVEX1JBWV9NQVRS
SVhfMSk7CisgICAgICAgIENoZWNrU3RhdGUocmVmZXJlbmNlU3BhY2UsIEVYUEVDVEVEX1ZJRVdf
TUFUUklYXzEsIEVYUEVDVEVEX0dSSVBfTUFUUklYXzEsIEVYUEVDVEVEX1JBWV9NQVRSSVhfMSwg
IkluaXRpYWwiKTsKIAogICAgICAgICBjb25zdCBuZXdfcG9zaXRpb24xID0gewogICAgICAgICAg
IHg6IDEwLApAQCAtMTA1LDcgKzEwNSw3IEBAIGxldCB0ZXN0RnVuY3Rpb24gPQogICAgICAgICB9
OwogCiAgICAgICAgIHJlZmVyZW5jZVNwYWNlID0gcmVmZXJlbmNlU3BhY2UuZ2V0T2Zmc2V0UmVm
ZXJlbmNlU3BhY2UobmV3IFhSUmlnaWRUcmFuc2Zvcm0obmV3X3Bvc2l0aW9uMSwgbmV3X29yaWVu
dGF0aW9uMSkpOwotICAgICAgICBDaGVja1N0YXRlKHJlZmVyZW5jZVNwYWNlLCBFWFBFQ1RFRF9W
SUVXX01BVFJJWF8yLCBFWFBFQ1RFRF9HUklQX01BVFJJWF8yLCBFWFBFQ1RFRF9SQVlfTUFUUklY
XzIpOworICAgICAgICBDaGVja1N0YXRlKHJlZmVyZW5jZVNwYWNlLCBFWFBFQ1RFRF9WSUVXX01B
VFJJWF8yLCBFWFBFQ1RFRF9HUklQX01BVFJJWF8yLCBFWFBFQ1RFRF9SQVlfTUFUUklYXzIsICJG
aXJzdCB0cmFuc2Zvcm0iKTsKIAogICAgICAgICBjb25zdCBuZXdfcG9zaXRpb24yID0gewogICAg
ICAgICAgIHg6IDUsCkBAIC0xMjAsMTMgKzEyMCwxMyBAQCBsZXQgdGVzdEZ1bmN0aW9uID0KICAg
ICAgICAgfTsKIAogICAgICAgICByZWZlcmVuY2VTcGFjZSA9IHJlZmVyZW5jZVNwYWNlLmdldE9m
ZnNldFJlZmVyZW5jZVNwYWNlKG5ldyBYUlJpZ2lkVHJhbnNmb3JtKG5ld19wb3NpdGlvbjIsIG5l
d19vcmllbnRhdGlvbjIpKTsKLSAgICAgICAgQ2hlY2tTdGF0ZShyZWZlcmVuY2VTcGFjZSwgRVhQ
RUNURURfVklFV19NQVRSSVhfMywgRVhQRUNURURfR1JJUF9NQVRSSVhfMywgRVhQRUNURURfUkFZ
X01BVFJJWF8zKTsKKyAgICAgICAgQ2hlY2tTdGF0ZShyZWZlcmVuY2VTcGFjZSwgRVhQRUNURURf
VklFV19NQVRSSVhfMywgRVhQRUNURURfR1JJUF9NQVRSSVhfMywgRVhQRUNURURfUkFZX01BVFJJ
WF8zLCAiU2Vjb25kIHRyYW5zZm9ybSIpOwogCiAgICAgICAgIHJlc29sdmUoKTsKICAgICAgIH0K
IAogICAgICAgLy8gQ2FuIG9ubHkgcmVxdWVzdCBpbnB1dCBwb3NlcyBpbiBhbiB4ciBmcmFtZS4K
LSAgICAgIHNlc3Npb24ucmVxdWVzdEFuaW1hdGlvbkZyYW1lKE9uRnJhbWUpOworICAgICAgcmVx
dWVzdFNraXBBbmltYXRpb25GcmFtZShzZXNzaW9uLCBPbkZyYW1lKTsKICAgICB9KTsKICAgfSk7
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2VieHIveHJSZWZlcmVuY2VTcGFjZV9vcmlnaW5PZmZzZXRCb3VuZGVkLmh0dHBzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyUmVm
ZXJlbmNlU3BhY2Vfb3JpZ2luT2Zmc2V0Qm91bmRlZC5odHRwcy5odG1sCmluZGV4IDdlZjg4MGMz
MmMwOTIzMjQzYjUxOTMxMjRlNjgxMmU5NjM5MWRjYzEuLjdjZTRhY2FmZDM1ZWY3Y2NhZDU1M2Nk
ZjE1ZWJkNDNhMGUyNGQ2YzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJSZWZlcmVuY2VTcGFjZV9vcmlnaW5PZmZzZXRCb3Vu
ZGVkLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93ZWJ4ci94clJlZmVyZW5jZVNwYWNlX29yaWdpbk9mZnNldEJvdW5kZWQuaHR0cHMu
aHRtbApAQCAtMjgsNyArMjgsNyBAQCBjb25zdCBWSUVXU19XSVRIX09GRlNFVCA9IFt7CiB9XTsK
IAogY29uc3QgRkxPT1JfVFJBTlNGT1JNID0gewotICBwb3NpdGlvbjogWzAuMSwgMC4yLCAwLjNd
LAorICBwb3NpdGlvbjogWy0wLjEsIC0wLjIsIC0wLjNdLAogICBvcmllbnRhdGlvbjogWzAsIDAs
IDAsIDFdCiB9OwogCkBAIC01NCw3ICs1NCw3IEBAIGZ1bmN0aW9uIHRlc3RGdW5jdGlvbihzZXNz
aW9uLCBmYWtlRGV2aWNlQ29udHJvbGxlciwgdCkgewogICB9OwogCiAgIGNvbnN0IExPQ0FMX1BP
SU5URVJfVFJBTlNGT1JNID0gewotICAgIHBvc2l0aW9uOiBbMC4wMSwgMC4wMiwgMC4wM10sCisg
ICAgcG9zaXRpb246IFsxLjAxLCAyLjAyLCAzLjAzXSwKICAgICBvcmllbnRhdGlvbjogWzAsIDAs
IDAsIDFdCiAgIH0KIApAQCAtNjcsNyArNjcsNyBAQCBmdW5jdGlvbiB0ZXN0RnVuY3Rpb24oc2Vz
c2lvbiwgZmFrZURldmljZUNvbnRyb2xsZXIsIHQpIHsKICAgfSk7CiAKICAgcmV0dXJuIG5ldyBQ
cm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKLSAgICBzZXNzaW9uLnJlcXVlc3RBbmltYXRp
b25GcmFtZSgodGltZSwgZnJhbWUpID0+IHsKKyAgICByZXF1ZXN0U2tpcEFuaW1hdGlvbkZyYW1l
KHNlc3Npb24sICh0aW1lLCBmcmFtZSkgPT4gewogICAgICAgbGV0IGlucHV0X3NvdXJjZSA9IHNl
c3Npb24uaW5wdXRTb3VyY2VzWzBdOwogCiAgICAgICBzZXNzaW9uLnJlcXVlc3RSZWZlcmVuY2VT
cGFjZSgnYm91bmRlZC1mbG9vcicpLnRoZW4oKHJlZmVyZW5jZVNwYWNlKSA9PiB7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hy
UmVmZXJlbmNlU3BhY2VfcmVsYXRpb25zaGlwcy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJlZmVyZW5jZVNwYWNlX3JlbGF0
aW9uc2hpcHMuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOTdjYTY2MzlmN2M5OTFmYTgxYmE2YmFi
NDU2MGFkOTMyMjcwZmJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJlZmVyZW5jZVNwYWNlX3JlbGF0aW9uc2hp
cHMuaHR0cHMuaHRtbApAQCAtMCwwICsxLDU5IEBACisKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3dlYnhyX3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93
ZWJ4cl90ZXN0X2NvbnN0YW50cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3dlYnhyX3Rlc3RfYXNzZXJ0cy5qcyI+PC9zY3JpcHQ+Cis8Y2FudmFzPjwvY2FudmFzPgorPHNj
cmlwdD4KK2xldCB0ZXN0TmFtZSA9CisgICJCb3VuZGVkIHNwYWNlLCB2aWV3ZXIgc3BhY2UsIGxv
Y2FsIGFuZCBsb2NhbC1mbG9vciBzcGFjZSBoYXZlIGNvcnJlY3QgcG9zZXMgdy5yLnQuIGVhY2gg
b3RoZXIiOworLy8gMW0gYWJvdmUgd29ybGQgb3JpZ2luLgorY29uc3QgVklFV0VSX09SSUdJTl9U
UkFOU0ZPUk0gPSB7CisgIHBvc2l0aW9uOiBbMCwgMSwgMF0sCisgIG9yaWVudGF0aW9uOiBbMCwg
MCwgMCwgMV0sCit9OworLy8gMC4yNW0gYWJvdmUgd29ybGQgb3JpZ2luLgorY29uc3QgRkxPT1Jf
T1JJR0lOX1RSQU5TRk9STSA9IHsKKyAgcG9zaXRpb246IFswLCAwLjI1LCAwXSwKKyAgb3JpZW50
YXRpb246IFswLCAwLCAwLCAxXSwKK307Citjb25zdCBmYWtlRGV2aWNlSW5pdFBhcmFtcyA9IHsK
KyAgICBzdXBwb3J0c0ltbWVyc2l2ZTogdHJ1ZSwKKyAgICBzdXBwb3J0ZWRNb2RlczogWyJpbmxp
bmUiLCAiaW1tZXJzaXZlLXZyIl0sCisgICAgdmlld3M6IFZBTElEX1ZJRVdTLAorICAgIHZpZXdl
ck9yaWdpbjogVklFV0VSX09SSUdJTl9UUkFOU0ZPUk0sCisgICAgZmxvb3JPcmlnaW46IEZMT09S
X09SSUdJTl9UUkFOU0ZPUk0sCisgICAgc3VwcG9ydGVkRmVhdHVyZXM6IEFMTF9GRUFUVVJFUwor
fTsKK2xldCB0ZXN0RnVuY3Rpb24gPSBmdW5jdGlvbihzZXNzaW9uLCBmYWtlRGV2aWNlQ29udHJv
bGxlciwgdCkgeworICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewor
ICAgIFByb21pc2UuYWxsKFsKKyAgICAgIHNlc3Npb24ucmVxdWVzdFJlZmVyZW5jZVNwYWNlKCdi
b3VuZGVkLWZsb29yJyksCisgICAgICBzZXNzaW9uLnJlcXVlc3RSZWZlcmVuY2VTcGFjZSgnbG9j
YWwnKSwKKyAgICAgIHNlc3Npb24ucmVxdWVzdFJlZmVyZW5jZVNwYWNlKCdsb2NhbC1mbG9vcicp
LAorICAgICAgc2Vzc2lvbi5yZXF1ZXN0UmVmZXJlbmNlU3BhY2UoJ3ZpZXdlcicpCisgICAgXSku
dGhlbigoW2JvdW5kZWRTcGFjZSwgbG9jYWxTcGFjZSwgbG9jYWxGbG9vclNwYWNlLCB2aWV3ZXJT
cGFjZV0pID0+IHsKKyAgICAgIHQuc3RlcCgoKSA9PiB7CisgICAgICB9KTsKKyAgICAgIGNvbnN0
IG9uRnJhbWUgPSBmdW5jdGlvbih0aW1lLCB4ckZyYW1lKSB7CisgICAgICAgIGNvbnN0IGxvY2Fs
Rmxvb3JQb3NlSW5Mb2NhbFNwYWNlID0geHJGcmFtZS5nZXRQb3NlKGxvY2FsRmxvb3JTcGFjZSwg
bG9jYWxTcGFjZSk7CisgICAgICAgIGNvbnN0IHZpZXdlclBvc2VJbkxvY2FsRmxvb3JTcGFjZSA9
IHhyRnJhbWUuZ2V0UG9zZSh2aWV3ZXJTcGFjZSwgbG9jYWxGbG9vclNwYWNlKTsKKyAgICAgICAg
Y29uc3QgYm91bmRlZEZsb29yUG9zZUluTG9jYWxGbG9vclNwYWNlID0geHJGcmFtZS5nZXRQb3Nl
KGJvdW5kZWRTcGFjZSwgbG9jYWxGbG9vclNwYWNlKTsKKyAgICAgICAgdC5zdGVwKCgpID0+IHsK
KyAgICAgICAgICAvLyBMb2NhbCBmbG9vciBzcGFjZSBpcyBzdXBwb3NlZCB0byBiZSAwLjI1bSBh
Ym92ZSBsb2NhbCBzcGFjZSAoYWthIHdvcmxkIHNwYWNlKS4KKyAgICAgICAgICBhc3NlcnRfZXF1
YWxzKGxvY2FsRmxvb3JQb3NlSW5Mb2NhbFNwYWNlLnRyYW5zZm9ybS5wb3NpdGlvbi55LCAwLjI1
KTsKKyAgICAgICAgICAvLyBCb3VuZGVkIGZsb29yIHNwYWNlIHNob3VsZCBiZSBhdCB0aGUgc2Ft
ZSBoZWlnaHQgYXMgbG9jYWwgZmxvb3Igc3BhY2UuCisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhi
b3VuZGVkRmxvb3JQb3NlSW5Mb2NhbEZsb29yU3BhY2UudHJhbnNmb3JtLnBvc2l0aW9uLnksIDAu
MCk7CisgICAgICAgICAgLy8gVmlld2VyIHNwYWNlIHNob3VsZCBiZSBhZGRpdGlvbmFsIDAuNzVt
IGFib3ZlIGxvY2FsLWZsb29yIHNwYWNlLgorICAgICAgICAgIGFzc2VydF9lcXVhbHModmlld2Vy
UG9zZUluTG9jYWxGbG9vclNwYWNlLnRyYW5zZm9ybS5wb3NpdGlvbi55LCAwLjc1KTsKKyAgICAg
ICAgfSk7CisgICAgICAgIHJlc29sdmUoKTsKKyAgICAgIH0KKyAgICAgIHNlc3Npb24ucmVxdWVz
dEFuaW1hdGlvbkZyYW1lKG9uRnJhbWUpOworICAgIH0pOworICB9KTsKK307Cit4cl9zZXNzaW9u
X3Byb21pc2VfdGVzdCh0ZXN0TmFtZSwgdGVzdEZ1bmN0aW9uLCBmYWtlRGV2aWNlSW5pdFBhcmFt
cywgJ2ltbWVyc2l2ZS12cicsIHsgJ3JlcXVpcmVkRmVhdHVyZXMnOiBbJ2xvY2FsLWZsb29yJywg
J2JvdW5kZWQtZmxvb3InXSB9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clNlc3Npb25faW5wdXRfZXZl
bnRzX2VuZC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93ZWJ4ci94clNlc3Npb25faW5wdXRfZXZlbnRzX2VuZC5odHRwcy5odG1sCmluZGV4
IGE5MzJhYWQyZmFkNzhjZWIyNDQ5OTI4NzczZGEzZWNmZTIzN2I4ZTcuLjYzNjU2MmRkNmVjMDZj
MWQ1ZDg0ZDczYjBiMTBlZDM4ZDc5NTBhZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJTZXNzaW9uX2lucHV0X2V2ZW50c19l
bmQuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dlYnhyL3hyU2Vzc2lvbl9pbnB1dF9ldmVudHNfZW5kLmh0dHBzLmh0bWwKQEAgLTQy
LDcgKzQyLDcgQEAgbGV0IHRlc3RGdW5jdGlvbiA9IGZ1bmN0aW9uKHNlc3Npb24sIGZha2VEZXZp
Y2VDb250cm9sbGVyLCB0LCBzZXNzaW9uT2JqZWN0cykgewogICAgICAgcHJvZmlsZXM6IFtdLAog
ICAgICAgc2VsZWN0aW9uQ2xpY2tlZDogdHJ1ZQogICAgIH0pOwotICAgIHNlc3Npb24ucmVxdWVz
dEFuaW1hdGlvbkZyYW1lKCgpID0+IHt9KTsKKyAgICByZXF1ZXN0U2tpcEFuaW1hdGlvbkZyYW1l
KHNlc3Npb24sICgpID0+IHt9KTsKICAgfQogCiAgIGZ1bmN0aW9uIHNlc3Npb25FbmRUZXN0KGVu
ZEV2ZW50LCBldmVudE9yZGVyKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyU2Vzc2lvbl9yZXF1ZXN0QW5pbWF0aW9uRnJh
bWVfdGltZXN0YW1wLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dlYnhyL3hyU2Vzc2lvbl9yZXF1ZXN0QW5pbWF0aW9uRnJhbWVfdGltZXN0
YW1wLmh0dHBzLmh0bWwKaW5kZXggOGY1YzIxY2JhNDAxNWRhMTBiOTAzMWYxY2YxMDAxMzhlOTU4
YzQ2ZS4uMzI2Mzg4OTQ0NzBkMDliYjg2NWFhZjBmMTQ2MDc0MzNmMzBiYWRlYSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clNl
c3Npb25fcmVxdWVzdEFuaW1hdGlvbkZyYW1lX3RpbWVzdGFtcC5odHRwcy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJTZXNzaW9u
X3JlcXVlc3RBbmltYXRpb25GcmFtZV90aW1lc3RhbXAuaHR0cHMuaHRtbApAQCAtMjEsMjAgKzIx
LDIzIEBAIGxldCB0ZXN0RnVuY3Rpb24gPSBmdW5jdGlvbihzZXNzaW9uLCBmYWtlRGV2aWNlQ29u
dHJvbGxlciwgdCkgewogICAgICAgbGV0IHdpbmRvd0ZyYW1lVGltZSA9IDA7CiAgICAgICBsZXQg
ZnJhbWVUaW1lID0gMDsKICAgICAgIGxldCBsYXN0RnJhbWVUaW1lID0gMDsKKwogICAgICAgbGV0
IGZpcnN0RnJhbWUgPSB0cnVlOwogCiAgICAgICBmdW5jdGlvbiBvbkZyYW1lRmlyc3QodGltZSwg
eHJGcmFtZSkgewogICAgICAgICBsYXN0RnJhbWVUaW1lID0gZnJhbWVUaW1lOwogICAgICAgICBm
cmFtZVRpbWUgPSB0aW1lOwotICAgICAgICBmaXJzdEZyYW1lID0gZmFsc2U7CiAgICAgICAgIGxl
dCBub3cgPSBwZXJmb3JtYW5jZS5ub3coKTsKIAogICAgICAgICB0LnN0ZXAoICgpID0+IHsKLSAg
ICAgICAgICAvLyBUaGlzIGNhbGxiYWNrIG11c3QgYmUgdGhlIGZpcnN0IG9uZSBjYWxsZWQuCi0g
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhjb3VudGVyLCAwKTsKLQotICAgICAgICAgIGlmICghZmly
c3RGcmFtZSkgeworICAgICAgICAgIGlmKGZpcnN0RnJhbWUpIHsKKyAgICAgICAgICAgIC8vIFRo
aXMgY2FsbGJhY2sgbXVzdCBiZSB0aGUgZmlyc3Qgb25lIGNhbGxlZC4KKyAgICAgICAgICAgIGFz
c2VydF9lcXVhbHMoY291bnRlciwgMCk7CisgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
IC8vIElmIGl0J3MgYSBzZWNvbmQgYW5pbWF0aW9uIGZyYW1lLCB0aGUgdGltZXN0YW1wIG11c3Qg
YmUgZ3JlYXRlcgorICAgICAgICAgICAgLy8gdGhhbiB0aGUgdGltZXN0YW1wIG9uIGEgcHJldmlv
dXMgZnJhbWUuCiAgICAgICAgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKGZyYW1lVGltZSwgbGFz
dEZyYW1lVGltZSk7CisgICAgICAgICAgICAvLyAuLi4gYnV0IG5vdCBncmF0ZXIgdGhhbiAxMCBz
ZWNvbmRzLgogICAgICAgICAgICAgYXNzZXJ0X2FwcHJveF9lcXVhbHMoZnJhbWVUaW1lLCBsYXN0
RnJhbWVUaW1lLCBURU5fU0VDT05EUyk7CiAgICAgICAgICAgfQogCkBAIC00NiwxMSArNDksMTMg
QEAgbGV0IHRlc3RGdW5jdGlvbiA9IGZ1bmN0aW9uKHNlc3Npb24sIGZha2VEZXZpY2VDb250cm9s
bGVyLCB0KSB7CiAgICAgICAgIH0pOwogCiAgICAgICAgIGlmIChmaXJzdEZyYW1lKSB7CisgICAg
ICAgICAgLy8gV2UgYWxzbyB3YW50IHRoaXMgbWV0aG9kIHRvIHJ1biBmb3IgdGhlIHNlY29uZCBh
bmltYXRpb24gZnJhbWUuCiAgICAgICAgICAgc2Vzc2lvbi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUo
b25GcmFtZUZpcnN0KTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICByZXNvbHZlKCk7CiAg
ICAgICAgIH0KIAorICAgICAgICBmaXJzdEZyYW1lID0gZmFsc2U7CiAgICAgICAgIGNvdW50ZXIr
KzsKICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93ZWJ4ci94clNlc3Npb25fc2FtZU9iamVjdC5odHRwcy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clNlc3Npb25f
c2FtZU9iamVjdC5odHRwcy5odG1sCmluZGV4IDgzN2ZhMGEwMDhkNmNkZmNiZDllZTEzNGU3ZWM3
OGJjZTdjMmI5NWIuLjY2YWVlZjgxYzUwYzM2ZmYyZmM1MGRjYzdjNDU3NDlmMjU2MDU4OTMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vi
eHIveHJTZXNzaW9uX3NhbWVPYmplY3QuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyU2Vzc2lvbl9zYW1lT2JqZWN0Lmh0
dHBzLmh0bWwKQEAgLTE4LDcgKzE4LDcgQEAgbGV0IHRlc3RGdW5jdGlvbiA9IGZ1bmN0aW9uKHNl
c3Npb24sIGZha2VEZXZpY2VDb250cm9sbGVyLCB0KSB7CiAgICAgICBwcm9maWxlczogWyJmb28i
LCAiYmFyIl0KICAgICB9KTsKIAotICAgIHNlc3Npb24ucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCh0
aW1lLCB4ckZyYW1lKSA9PiB7CisgICAgcmVxdWVzdFNraXBBbmltYXRpb25GcmFtZShzZXNzaW9u
LCAodGltZSwgeHJGcmFtZSkgPT4gewogICAgICAgbGV0IHJlbmRlclN0YXRlID0gc2Vzc2lvbi5y
ZW5kZXJTdGF0ZTsKICAgICAgIGxldCBzb3VyY2VzID0gc2Vzc2lvbi5pbnB1dFNvdXJjZXM7CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d2VieHIveHJTZXNzaW9uX3Zpc2liaWxpdHlTdGF0ZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clNlc3Npb25fdmlzaWJpbGl0
eVN0YXRlLmh0dHBzLmh0bWwKaW5kZXggZTdhNjA0MTAzNmY5ZDdjMDYxMzNjNjAyYzk3NmE4N2M4
ODY4ZGMzZS4uMjMxMTc5MmQwZmQwZTc0OGJlZDcwOWJmYzkwNjgyNjgyZDQ0ZDlmZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94
clNlc3Npb25fdmlzaWJpbGl0eVN0YXRlLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clNlc3Npb25fdmlzaWJpbGl0eVN0
YXRlLmh0dHBzLmh0bWwKQEAgLTE2LDcgKzE2LDcgQEAgbGV0IGZha2VEZXZpY2VJbml0UGFyYW1z
ID0gVFJBQ0tFRF9JTU1FUlNJVkVfREVWSUNFOwogCiBsZXQgdGVzdEZ1bmN0aW9uID0gZnVuY3Rp
b24oc2Vzc2lvbiwgZmFrZURldmljZUNvbnRyb2xsZXIsIHQpIHsKICAgbGV0IGV2ZW50V2F0Y2hl
ciA9IG5ldyBFdmVudFdhdGNoZXIoCi0gICAgdCwgc2Vzc2lvbiwgWyJ2aXNpYmlsaXR5Y2hhbmdl
IiwgInZpc2liaWxpdHljaGFuZ2UiLCAiZnJhbWVmaXJlZCIsICJ3YXRjaGVyZG9uZSJdKTsKKyAg
ICB0LCBzZXNzaW9uLCBbInZpc2liaWxpdHljaGFuZ2UiLCAiZnJhbWVmaXJlZCIsICJ3YXRjaGVy
ZG9uZSJdKTsKICAgbGV0IGV2ZW50UHJvbWlzZSA9IGV2ZW50V2F0Y2hlci53YWl0X2ZvcigKICAg
ICBbInZpc2liaWxpdHljaGFuZ2UiLCAidmlzaWJpbGl0eWNoYW5nZSIsICJmcmFtZWZpcmVkIiwg
IndhdGNoZXJkb25lIl0pOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyU3RhdGlvbmFyeVJlZmVyZW5jZVNwYWNlX2Zsb29y
bGV2ZWxfdXBkYXRlcy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93ZWJ4ci94clN0YXRpb25hcnlSZWZlcmVuY2VTcGFjZV9mbG9vcmxldmVs
X3VwZGF0ZXMuaHR0cHMuaHRtbAppbmRleCAzZjMzY2YzNTRiOGQzZmRlM2QwYTJlZmQzZDkyYjc4
MDM3YTkxNzhhLi45NjcyOTE2MDljMGYwNWE5ZTQ1N2UzZmZhMmE3N2Y2MDFmYTlkNDYxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhy
L3hyU3RhdGlvbmFyeVJlZmVyZW5jZVNwYWNlX2Zsb29ybGV2ZWxfdXBkYXRlcy5odHRwcy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIv
eHJTdGF0aW9uYXJ5UmVmZXJlbmNlU3BhY2VfZmxvb3JsZXZlbF91cGRhdGVzLmh0dHBzLmh0bWwK
QEAgLTM2LDkgKzM2LDcgQEAgbGV0IHRlc3RGdW5jdGlvbiA9IGZ1bmN0aW9uKHNlc3Npb24sIGZh
a2VEZXZpY2VDb250cm9sbGVyLCB0KSB7CiAKICAgICAgICAgICAvLyBOZWVkIHRvIHJlcXVlc3Qg
b25lIGFuaW1hdGlvbiBmcmFtZSBmb3IgdGhlIG5ldyBzdGFnZSB0cmFuc2Zvcm0gdG8KICAgICAg
ICAgICAvLyBwcm9wYWdhdGUgYmVmb3JlIHdlIGNoZWNrIHRoYXQgaXQncyB3aGF0IHdlIGV4cGVj
dC4KLSAgICAgICAgICBzZXNzaW9uLnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7Ci0gICAg
ICAgICAgICBzZXNzaW9uLnJlcXVlc3RBbmltYXRpb25GcmFtZShvbkZyYW1lKTsKLSAgICAgICAg
ICB9KTsKKyAgICAgICAgICByZXF1ZXN0U2tpcEFuaW1hdGlvbkZyYW1lKHNlc3Npb24sIG9uRnJh
bWUpOwogICAgICAgICB9KTsKICAgICAgIH0KIApAQCAtNTgsOSArNTYsNyBAQCBsZXQgdGVzdEZ1
bmN0aW9uID0gZnVuY3Rpb24oc2Vzc2lvbiwgZmFrZURldmljZUNvbnRyb2xsZXIsIHQpIHsKIAog
ICAgICAgLy8gTmVlZCB0byB3YWl0IG9uZSBmcmFtZSBmb3IgdGhlIHJlbW92YWwgdG8gcHJvcGFn
YXRlIGJlZm9yZSB3ZSBjaGVjayB0aGF0CiAgICAgICAvLyBldmVyeXRoaW5nIGlzIGF0IHRoZSBl
eHBlY3RlZCBlbXVsYXRlZCBwb3NpdGlvbi4KLSAgICAgIHNlc3Npb24ucmVxdWVzdEFuaW1hdGlv
bkZyYW1lKCgpID0+IHsKLSAgICAgICAgc2Vzc2lvbi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUob25G
aXJzdEZyYW1lKTsKLSAgICAgIH0pOworICAgICAgcmVxdWVzdFNraXBBbmltYXRpb25GcmFtZShz
ZXNzaW9uLCBvbkZpcnN0RnJhbWUpOwogICAgIH0pKTsKIH07CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJXZWJHTExheWVy
X2NvbnN0cnVjdG9yLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dlYnhyL3hyV2ViR0xMYXllcl9jb25zdHJ1Y3Rvci5odHRwcy5odG1sCmlu
ZGV4IGRkYTdlYzgwMzEwZjdmZjhhYWM1ODJhOTg0MTA4ODZhYjRkMWI4MWQuLmU1YjIzMzVjMjM1
MWViZGE3YWVjMzQ2NmExNTgzZjEyMDJlNmU0NDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJXZWJHTExheWVyX2NvbnN0cnVj
dG9yLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93ZWJ4ci94cldlYkdMTGF5ZXJfY29uc3RydWN0b3IuaHR0cHMuaHRtbApAQCAtMjks
MjEgKzI5LDIzIEBAIHhyX3Byb21pc2VfdGVzdCgiRW5zdXJlIHRoYXQgWFJXZWJHTExheWVyJ3Mg
Y29uc3RydWN0b3IgdGhyb3dzIGFwcHJvcHJpYXRlIGVycm9yCiAgICAgLnRoZW4oKCkgPT4gewog
ICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CiAgICAgICAgIG5hdmlnYXRv
ci54ci50ZXN0LnNpbXVsYXRlVXNlckFjdGl2YXRpb24oKCkgPT4geworICAgICAgICAgIGxldCB4
clNlc3Npb24gPSBudWxsOwogICAgICAgICAgIG5hdmlnYXRvci54ci5yZXF1ZXN0U2Vzc2lvbign
aW1tZXJzaXZlLXZyJykKICAgICAgICAgICAudGhlbigoc2Vzc2lvbikgPT4geworICAgICAgICAg
ICAgeHJTZXNzaW9uID0gc2Vzc2lvbjsKICAgICAgICAgICAgIHQuc3RlcF9mdW5jKCgpID0+IHsK
ICAgICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICBsZXQgd2ViZ2xMYXllckluY29t
cGF0aWJsZSA9IG5ldyBYUldlYkdMTGF5ZXIoc2Vzc2lvbiwgZ2wpOworICAgICAgICAgICAgICAg
IGxldCB3ZWJnbExheWVySW5jb21wYXRpYmxlID0gbmV3IFhSV2ViR0xMYXllcih4clNlc3Npb24s
IGdsKTsKICAgICAgICAgICAgICAgICBhc3NlcnRfdW5yZWFjaGVkKCJYUldlYkdMTGF5ZXIgc2hv
dWxkIGZhaWwgd2hlbiBjcmVhdGVkIHdpdGggYSBjb250ZXh0IHRoYXQgaXMgbm90IFhSQ29tcGF0
aWJsZSIpCiAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikgewogICAgICAgICAgICAgICAgIGFz
c2VydF9lcXVhbHMoZXJyLm5hbWUsICJJbnZhbGlkU3RhdGVFcnJvciIpOwogICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICB9KQogCi0gICAgICAgICAgICBnbC5tYWtlWFJDb21wYXRpYmxlKCk7
Ci0KKyAgICAgICAgICAgIHJldHVybiBnbC5tYWtlWFJDb21wYXRpYmxlKCk7CisgICAgICAgICAg
fSkudGhlbigoKSA9PiB7CiAgICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICBsZXQgd2Vi
Z2xMYXllckdvb2QgPSBuZXcgWFJXZWJHTExheWVyKHNlc3Npb24sIGdsKTsKKyAgICAgICAgICAg
ICAgbGV0IHdlYmdsTGF5ZXJHb29kID0gbmV3IFhSV2ViR0xMYXllcih4clNlc3Npb24sIGdsKTsK
ICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikgewogICAgICAgICAgICAgICByZWplY3QoIlhSV2Vi
R0xMYXllciBzaG91bGQgbm90IGZhaWwgd2l0aCB2YWxpZCBhcmd1bWVudHMiKTsKICAgICAgICAg
ICAgIH0KQEAgLTU0LDcgKzU2LDcgQEAgeHJfcHJvbWlzZV90ZXN0KCJFbnN1cmUgdGhhdCBYUldl
YkdMTGF5ZXIncyBjb25zdHJ1Y3RvciB0aHJvd3MgYXBwcm9wcmlhdGUgZXJyb3IKICAgICAgICAg
ICAgICAgZXYucHJldmVudERlZmF1bHQoKTsKIAogICAgICAgICAgICAgICB0cnkgewotICAgICAg
ICAgICAgICAgIGxldCB3ZWJnbExheWVyQmFkQ29udGV4dCA9IG5ldyBYUldlYkdMTGF5ZXIoc2Vz
c2lvbiwgZ2wpOworICAgICAgICAgICAgICAgIGxldCB3ZWJnbExheWVyQmFkQ29udGV4dCA9IG5l
dyBYUldlYkdMTGF5ZXIoeHJTZXNzaW9uLCBnbCk7CiAgICAgICAgICAgICAgICAgcmVqZWN0KCJY
UldlYkdMTGF5ZXIgc2hvdWxkIGZhaWwgd2hlbiBjcmVhdGVkIHdpdGggYSBsb3N0IGNvbnRleHQi
KTsKICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7CiAgICAgICAgICAgICAgICAgYXNzZXJ0
X2VxdWFscyhlcnIubmFtZSwgJ0ludmFsaWRTdGF0ZUVycm9yJyk7CkBAIC02Myw5ICs2NSw5IEBA
IHhyX3Byb21pc2VfdGVzdCgiRW5zdXJlIHRoYXQgWFJXZWJHTExheWVyJ3MgY29uc3RydWN0b3Ig
dGhyb3dzIGFwcHJvcHJpYXRlIGVycm9yCiAgICAgICAgICAgICB9KTsKIAogICAgICAgICAgICAg
d2ViZ2xDYW52YXMuYWRkRXZlbnRMaXN0ZW5lcignd2ViZ2xjb250ZXh0cmVzdG9yZWQnLCAoZXYp
ID0+IHsKLSAgICAgICAgICAgICAgcmVzb2x2ZShzZXNzaW9uLmVuZCgpLnRoZW4oKCkgPT4gewor
ICAgICAgICAgICAgICByZXNvbHZlKHhyU2Vzc2lvbi5lbmQoKS50aGVuKCgpID0+IHsKICAgICAg
ICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAgICAgbGV0IHdlYmdsTGF5ZXJCYWRTZXNz
aW9uID0gbmV3IFhSV2ViR0xMYXllcihzZXNzaW9uLCBnbCk7CisgICAgICAgICAgICAgICAgICBs
ZXQgd2ViZ2xMYXllckJhZFNlc3Npb24gPSBuZXcgWFJXZWJHTExheWVyKHhyU2Vzc2lvbiwgZ2wp
OwogICAgICAgICAgICAgICAgICAgYXNzZXJ0X3VucmVhY2hlZCgiWFJXZWJHTExheWVyIHNob3Vs
ZCBmYWlsIHdoZW4gY3JlYXRlZCB3aXRoIGFuIGVuZGVkIHNlc3Npb24iKTsKICAgICAgICAgICAg
ICAgICB9IGNhdGNoIChlcnIpIHsKICAgICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZXJy
Lm5hbWUsICdJbnZhbGlkU3RhdGVFcnJvcicpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVz
dEV4cGVjdGF0aW9ucwppbmRleCAzOTkzY2E5MjYzODBmMGQ3NjIxZmE5ZDVhYjNlNzY2MWY5MWQ4
MDVkLi43NTkzOWJlY2ZlZGQxODgwZjEwZDMxMTg3YTBhOTRiNjk4YTAxYzVmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucwpAQCAtODg2LDcgKzg4Niw2IEBAIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy13cml0aW5nLW1vZGVzL21vbmdv
bGlhbi1vcmllbnRhdGlvbi0wMDIuCiAKICMgV2ViWFIKIHdlYmtpdC5vcmcvYi8yMTI4OTcgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9pZGxoYXJuZXNzLmh0dHBzLndpbmRv
dy5odG1sIFsgUGFzcyBdCi13ZWJraXQub3JnL2IvMjA5ODU5IGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2VieHIvd2ViR0xDYW52YXNDb250ZXh0X2NyZWF0ZV94cmNvbXBhdGlibGUu
aHR0cHMuaHRtbCBbIFBhc3MgXQogd2Via2l0Lm9yZy9iLzIwOTg1OSBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dlYnhyL3dlYkdMQ2FudmFzQ29udGV4dF9tYWtlY29tcGF0aWJsZV9j
b250ZXh0bG9zdC5odHRwcy5odG1sIFsgUGFzcyBdCiB3ZWJraXQub3JnL2IvMjA5ODU5IGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJEZXZpY2VfaXNTZXNzaW9uU3VwcG9y
dGVkX2lubGluZS5odHRwcy5odG1sIFsgUGFzcyBdCiB3ZWJraXQub3JnL2IvMjA5ODU5IGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJEZXZpY2VfaXNTZXNzaW9uU3VwcG9y
dGVkX2ltbWVyc2l2ZS5odHRwcy5odG1sIFsgUGFzcyBdCg==
</data>
<flag name="review"
          id="421510"
          type_id="1"
          status="+"
          setter="youennf"
    />
          </attachment>
      

    </bug>

</bugzilla>