<?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>202497</bug_id>
          
          <creation_ts>2019-10-02 15:30:47 -0700</creation_ts>
          <short_desc>Resync WPT shadow DOM tests</short_desc>
          <delta_ts>2019-10-03 19:01:17 -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>Tools / Tests</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>166484</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1576215</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-02 15:30:47 -0700</bug_when>
    <thetext>Update the tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576216</commentid>
    <comment_count>1</comment_count>
      <attachid>380067</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-02 15:33:32 -0700</bug_when>
    <thetext>Created attachment 380067
Resynced tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576219</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-02 15:35:51 -0700</bug_when>
    <thetext>Note: this patch takes https://github.com/web-platform-tests/wpt/pull/19479 into account.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576220</commentid>
    <comment_count>3</comment_count>
      <attachid>380067</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2019-10-02 15:37:19 -0700</bug_when>
    <thetext>Comment on attachment 380067
Resynced tests

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576222</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-02 15:39:42 -0700</bug_when>
    <thetext>Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576287</commentid>
    <comment_count>5</comment_count>
      <attachid>380079</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-02 21:28:36 -0700</bug_when>
    <thetext>Created attachment 380079
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576288</commentid>
    <comment_count>6</comment_count>
      <attachid>380079</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-02 21:29:29 -0700</bug_when>
    <thetext>Comment on attachment 380079
Patch for landing

Wait for EWS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576289</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-02 21:30:29 -0700</bug_when>
    <thetext>Apparently sending tab key via UIController doesn&apos;t move the focus forward on iOS. There are tests with form controls where it seems to be working so it&apos;s rather mysterious. It probably needs to be investigated in another bug as there are other tests that are currently skipped on iOS for similar reasons.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576643</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-03 16:53:44 -0700</bug_when>
    <thetext>Hm... I can&apos;t reproduce the test failure of imported/w3c/web-platform-tests/mathml/relations/html5-tree/tabindex-002.html on macOS Mojave. Maybe it&apos;s high Sierra only?? That&apos;s weird though...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576646</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-03 16:56:07 -0700</bug_when>
    <thetext>This is so frustrating. I&apos;ve been trying to land this patch for the last three days :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576688</commentid>
    <comment_count>10</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-03 19:00:15 -0700</bug_when>
    <thetext>Committed r250696: &lt;https://trac.webkit.org/changeset/250696&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576689</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-03 19:01:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/55970683&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380067</attachid>
            <date>2019-10-02 15:33:32 -0700</date>
            <delta_ts>2019-10-02 21:28:34 -0700</delta_ts>
            <desc>Resynced tests</desc>
            <filename>bug-202497-20191002153331.patch</filename>
            <type>text/plain</type>
            <size>86156</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNjI2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjUxODY2YjFkZDRlNzk5MDNlNmUz
MDJiOGIzMTg0M2Q3Y2UzYzBkMy4uMmMxNjcyM2JmNGYxMGYxMjQ0ZTEwYTU2YjdmMmJkMTRiYTZk
NzVmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE5LTEwLTAyICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlc3luYyBXUFQgc2hhZG93IERPTSB0ZXN0cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNDk3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgYSBm
YWlsaW5nIGV4cGVjdGF0aW9uLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKwogMjAx
OS0xMC0wMiAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KIAogICAg
ICAgICBVcGRhdGVkIHJlc291cmNlIGxvYWQgc3RhdGlzdGljcyBhcmUgbmV2ZXIgbWVyZ2VkIGlu
dG8gdGhlIFNRTGl0ZSBEYXRhYmFzZSBiYWNrZW5kICgyMDIzNzIpLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKaW5kZXggZDkxYjgyNDlmY2JhNjM4M2M3MzUxMTBlYWE0OGVhYmY0NWMzNTEw
Ny4uNzg3NGJjMzA0YzJmODg1YWVhNzU0MzUwOGEyZTdjMzI1MjVhODA5YiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTggQEAKKzIwMTktMTAtMDIgIFJ5b3N1a2Ug
Tml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVzeW5jIFdQVCBzaGFkb3cgRE9N
IHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDI0OTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBT
eW5jIHNoYWRvdyBET00gdGVzdHMgYXMgb2YgZTMzYzIxNmU2MzViNDYxNWU0MzMyOTUzZmNiNzU4
ZjY5OGVjZDUxMC4gQWxzbyBhZGRlZCBlbm91Z2ggc3VwcG9ydCBmb3IKKyAgICAgICAgc2VuZGlu
ZyBrZXkgZXZlbnRzIHNvIHRoYXQgc2VxdWVudGlhbCBmb2N1c2luZyB0ZXN0cyB3b3VsZCB3b3Jr
LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZl
bmRvci5qczoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9Eb2N1bWVu
dE9yU2hhZG93Um9vdC1wcm90b3R5cGUtZWxlbWVudEZyb21Qb2ludC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRG9jdW1lbnRPclNoYWRvd1Jv
b3QtcHJvdG90eXBlLWVsZW1lbnRGcm9tUG9pbnQuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvc2hhZG93LWRvbS9FbGVtZW50LWludGVyZmFjZS1hdHRhY2hTaGFkb3ctY3VzdG9t
LWVsZW1lbnQuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9F
bGVtZW50LWludGVyZmFjZS1hdHRhY2hTaGFkb3ctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0VsZW1lbnQtaW50ZXJmYWNlLWF0dGFjaFNoYWRv
dy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL01FVEEueW1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9jYXB0dXJp
bmctYW5kLWJ1YmJsaW5nLWV2ZW50LWxpc3RlbmVycy1hY3Jvc3Mtc2hhZG93LXRyZWVzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20v
Y2FwdHVyaW5nLWFuZC1idWJibGluZy1ldmVudC1saXN0ZW5lcnMtYWNyb3NzLXNoYWRvdy10cmVl
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9k
aXJlY3Rpb25hbGl0eS0wMDIudGVudGF0aXZlLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RpcmVjdGlvbmFsaXR5LTAwMi50ZW50
YXRpdmUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1k
b20vZm9jdXMvRG9jdW1lbnRPclNoYWRvd1Jvb3QtYWN0aXZlRWxlbWVudC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL0Rv
Y3VtZW50T3JTaGFkb3dSb290LWFjdGl2ZUVsZW1lbnQuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtc2VsZWN0b3ItZGVsZWdh
dGVzRm9jdXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy1zZWxlY3Rvci1kZWxlZ2F0ZXNGb2N1cy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1
cy10YWJpbmRleC1vcmRlci1zaGFkb3ctbmVnYXRpdmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRl
eC1vcmRlci1zaGFkb3ctbmVnYXRpdmUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93LXNs
b3Qtb25lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93LXNsb3Qtb25lLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3Vz
L2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNoYWRvdy12YXJ5aW5nLXRhYmluZGV4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMv
Zm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93LXZhcnlpbmctdGFiaW5kZXguaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtdGFi
aW5kZXgtb3JkZXItc2hhZG93LXplcm8tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1z
aGFkb3ctemVyby1ob3N0LW5lZ2F0aXZlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtdGFiaW5kZXgtb3JkZXIt
c2hhZG93LXplcm8taG9zdC1uZWdhdGl2ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ct
emVyby1ob3N0LW5vdC1zZXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ct
emVyby1ob3N0LW5vdC1zZXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93LXplcm8taG9z
dC1vbmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ctemVyby1ob3N0LW9u
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9m
b2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ctemVyby5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9yZXNvdXJjZXMvc2hhZG93
LXV0aWxzLmpzOiBBZGRlZC4KKyAgICAgICAgKHByZXBhcmVET00pOgorICAgICAgICAoc2V0VGFi
SW5kZXgpOgorICAgICAgICAocmVtb3ZlVGFiSW5kZXgpOgorICAgICAgICAocmVzZXRGb2N1cyk6
CisgICAgICAgIChuYXZpZ2F0ZUZvY3VzRm9yd2FyZCk6CisgICAgICAgIChhc3luYy5hc3NlcnRG
b2N1c09yZGVyKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1
cy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9vZmZzZXRQYXJlbnQtYWNyb3NzLXNoYWRv
dy1ib3VuZGFyaWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3NoYWRvdy1kb20vb2Zmc2V0UGFyZW50LWFjcm9zcy1zaGFkb3ctYm91bmRhcmllcy5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9yZXNv
dXJjZXMvc2hhZG93LWRvbS5qczoKKyAgICAgICAgKGNyZWF0ZVRlc3RUcmVlKToKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9zY3JvbGwtdG8tdGhlLWZyYWdtZW50LWlu
LXNoYWRvdy10cmVlLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1k
b20vdzNjLWltcG9ydC5sb2c6CisKIDIwMTktMTAtMDIgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRz
QGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViIEFuaW1hdGlvbnNdIEltcGxlbWVudCByZXBsYWNl
ZCBhbmltYXRpb25zCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBiN2Y4OWFhZGM5MTFlYjhhOGYzN2Rk
YjRjNzk5N2FkYWFmMzI1NDRhLi42MTg2MmUzM2RlN2IyNGI3MjhmYjljOWMxNTNjZjczODA2NGRm
Yjg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI2Myw2ICsyNjMsOCBAQCBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvaGlzdG9yeS90aGUtbG9jYXRpb24taW50
ZXJmYWNlL2xvYwogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJz
L2hpc3RvcnkvdGhlLWxvY2F0aW9uLWludGVyZmFjZS9sb2NhdGlvbi1wcm90b2NvbC1zZXR0ZXIt
bm9uLWJyb2tlbi13ZWlyZC5odG1sIFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2ZldGNoLWNvcnMteGhyLmh0dHBzLmh0bWwgWyBEdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgXQog
Cit3ZWJraXQub3JnL2IvMjAyNDk1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9kaXJlY3Rpb25hbGl0eS0wMDIudGVudGF0aXZlLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KKwogIyBOZXdseSBpbXBvcnRlZCBXUFQgdGVzdHMgdGhhdCBhcmUgdGltaW5nIG91dC4K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9oaXN0b3J5L3Ro
ZS1sb2NhdGlvbi1pbnRlcmZhY2UvbG9jYXRpb24tb3JpZ2luLWlkbmEuc3ViLndpbmRvdy5odG1s
IFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMv
aGlzdG9yeS90aGUtbG9jYXRpb24taW50ZXJmYWNlL2xvY2F0aW9uX2Fzc2lnbi5odG1sIFsgU2tp
cCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzCmlu
ZGV4IDVhZGMwMzA3ZDI1NjcyZTU2NzNiZDcxN2E5NjEyY2U3MTU5NDZmZGIuLmRjNWJiMWFhMjY4
MzM4MjY0OTdiYTQ1MTI2NmFhOTJiNmMwYzVhNDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9y
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzCkBAIC0xMzYsNiArMTM2LDQ4IEBAIGZ1bmN0aW9u
IGRpc3BhdGNoVG91Y2hBY3Rpb25zKGFjdGlvbnMsIG9wdGlvbnMgPSB7IGluc2VydFBhdXNlQWZ0
ZXJQb2ludGVyVXA6IGZhCiBpZiAod2luZG93LnRlc3RfZHJpdmVyX2ludGVybmFsID09PSB1bmRl
ZmluZWQpCiAgICAgd2luZG93LnRlc3RfZHJpdmVyX2ludGVybmFsID0geyB9OwogCit3aW5kb3cu
dGVzdF9kcml2ZXJfaW50ZXJuYWwuc2VuZF9rZXlzID0gZnVuY3Rpb24oZWxlbWVudCwga2V5cykK
K3sKKyAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKKyAgICAgICAgcmV0dXJuIFByb21pc2Uu
cmVqZWN0KG5ldyBFcnJvcigid2luZG93LmV2ZW50U2VuZGVyIGlzIHVuZGVmaW5lZC4iKSk7CisK
KyAgICAvLyBodHRwczovL3NlbGVuaXVtaHEuZ2l0aHViLmlvL3NlbGVuaXVtL2RvY3MvYXBpL3B5
L3dlYmRyaXZlci9zZWxlbml1bS53ZWJkcml2ZXIuY29tbW9uLmtleXMuaHRtbAorICAgIC8vIEZJ
WE1FOiBBZGQgbW9yZSBjYXNlcy4KKyAgICAvLyBGSVhNRTogQWRkIHRoZSBzdXBwb3J0IGZvciBt
b2RpZmllciBrZXlzLgorICAgIGNvbnN0IFNlbGVuaXVtQ2hhckNvZGVUb0V2ZW50U2VuZGVyS2V5
ID0geworICAgICAgICAweEUwMDM6ICdkZWxldGUnLAorICAgICAgICAweEUwMDQ6ICdcdCcsCisg
ICAgICAgIDB4RTAwRDogJyAnLAorICAgICAgICAweEUwMTI6ICdsZWZ0QXJyb3cnLAorICAgICAg
ICAweEUwMTM6ICd1cEFycm93JywKKyAgICAgICAgMHhFMDE0OiAncmlnaHRBcnJvdycsCisgICAg
ICAgIDB4RTAxNTogJ2Rvd25BcnJvdycsCisgICAgfTsKKworICAgIGZ1bmN0aW9uIGNvbnZlcnRT
ZWxlbml1bUtleUNvZGUoa2V5KQorICAgIHsKKyAgICAgICAgY29uc3QgY29kZSA9IGtleS5jaGFy
Q29kZUF0KDApOworICAgICAgICByZXR1cm4gU2VsZW5pdW1DaGFyQ29kZVRvRXZlbnRTZW5kZXJL
ZXlbY29kZV0gfHwga2V5OworICAgIH0KKworICAgIGNvbnN0IGtleUxpc3QgPSBbXTsKKyAgICBm
b3IgKGNvbnN0IGtleSBvZiBrZXlzKQorICAgICAgICBrZXlMaXN0LnB1c2goY29udmVydFNlbGVu
aXVtS2V5Q29kZShrZXkpKTsKKworICAgIGlmICh0ZXN0UnVubmVyLmlzSU9TRmFtaWx5ICYmIHRl
c3RSdW5uZXIuaXNXZWJLaXQyKSB7CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2
ZSkgPT4geworICAgICAgICAgICAgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdChgCisgICAgICAgICAg
ICAgICAgY29uc3Qga2V5TGlzdCA9IEpTT04ucGFyc2UoJyR7SlNPTi5zdHJpbmdpZnkoa2V5TGlz
dCl9Jyk7CisgICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5TGlzdCkKKyAgICAg
ICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLmtleURvd24oa2V5KTtgLCByZXNvbHZlKTsKKyAg
ICAgICAgfSk7CisgICAgfQorCisgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5TGlzdCkKKyAgICAg
ICAgZXZlbnRTZW5kZXIua2V5RG93bihrZXkpOworICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUo
KTsKK30KKwogd2luZG93LnRlc3RfZHJpdmVyX2ludGVybmFsLmFjdGlvbl9zZXF1ZW5jZSA9IGZ1
bmN0aW9uKHNvdXJjZXMpCiB7CiAgICAgLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmRyaXZl
ci8jcHJvY2Vzc2luZy1hY3Rpb25zICAgIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0RvY3VtZW50T3JTaGFkb3dSb290
LXByb3RvdHlwZS1lbGVtZW50RnJvbVBvaW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9Eb2N1bWVudE9yU2hhZG93
Um9vdC1wcm90b3R5cGUtZWxlbWVudEZyb21Qb2ludC1leHBlY3RlZC50eHQKaW5kZXggMzdiMTJm
ZDhmODg0ZjE0OThlNjQyYjFkMDkyYzNjZWRmZTRhOWYwZS4uOTY1MzM4MzIyNmNmYmI2NzNjYmVi
MWZmNjJlMmU3ODQ0MTVkOGZkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0RvY3VtZW50T3JTaGFkb3dSb290LXByb3Rv
dHlwZS1lbGVtZW50RnJvbVBvaW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRG9jdW1lbnRPclNoYWRvd1Jv
b3QtcHJvdG90eXBlLWVsZW1lbnRGcm9tUG9pbnQtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNCBA
QAorZm9vCiAKIFBBU1MgZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCBhbmQgc2hhZG93LkVsZW1l
bnRGcm9tUG9pbnQgbXVzdCByZXR1cm4gdGhlIHNoYWRvdyBob3N0IG9mIHRoZSBoaXQtdGVzdGVk
IHRleHQgbm9kZSB3aGVuIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSBpcyBhIGRpcmVjdCBjaGls
ZCBvZiB0aGUgcm9vdCBhbmQgdGhlIGhvc3QgaGFzIGRpc3BsYXk6IGlubGluZSAKIFBBU1MgZG9j
dW1lbnQuZWxlbWVudEZyb21Qb2ludCBhbmQgc2hhZG93LkVsZW1lbnRGcm9tUG9pbnQgbXVzdCBy
ZXR1cm4gdGhlIHNoYWRvdyBob3N0IG9mIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSB3aGVuIHRo
ZSBoaXQtdGVzdGVkIHRleHQgbm9kZSBpcyBhIGRpcmVjdCBjaGlsZCBvZiB0aGUgcm9vdCBhbmQg
dGhlIGhvc3QgaGFzIGRpc3BsYXk6IGJsb2NrIApAQCAtMzksNCArNDAsNSBAQCBQQVNTIGRvY3Vt
ZW50LmVsZW1lbnRzRnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBzaGFkb3cgaG9zdCBhbmQgaXRz
IGFuY2VzdG9ycyBhbgogUEFTUyBkb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludCBtdXN0IHJldHVy
biB0aGUgc2hhZG93IGhvc3QgYW5kIGl0cyBhbmNlc3RvcnMgYW5kIHNoYWRvd1Jvb3QuZWxlbWVu
dHNGcm9tUG9pbnQgbXVzdCByZXR1cm4gdGhlIHNsb3QgcGFyZW50IG9mIHRoZSBmYWxsYmFjayB0
ZXh0IGFuZCBpdHMgbm9uLXNoYWRvdyBhbmNlc3RvcnMgd2hlbiB0aGUgaGl0LXRlc3RlZCB0ZXh0
IG5vZGUgaXMgYSBmYWxsYmFjayBjb250ZW50IGFuZCB0aGUgaG9zdCBoYXMgZGlzcGxheTogYmxv
Y2sgCiBQQVNTIGRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBzaGFk
b3cgaG9zdCBhbmQgaXRzIGFuY2VzdG9ycyBhbmQgc2hhZG93Um9vdC5lbGVtZW50c0Zyb21Qb2lu
dCBtdXN0IHJldHVybiB0aGUgc2xvdCBwYXJlbnQgb2YgdGhlIGZhbGxiYWNrIHRleHQgYW5kIGl0
cyBub24tc2hhZG93IGFuY2VzdG9ycyB3aGVuIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSBpcyBh
IGZhbGxiYWNrIGNvbnRlbnQgYW5kIHRoZSBob3N0IGhhcyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sg
CiBGQUlMIHNoYWRvd1Jvb3QuZWxlbWVudHNGcm9tUG9pbnQgbXVzdCBiZWhhdmUgdGhlIHNhbWUg
d2l0aCBkb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludCByZWdhcmRpbmcgSFRNTCBlbGVtZW50IGFz
c2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCA1IGdvdCA0CitGQUlM
IGVsZW1lbnRzRnJvbVBvaW50IHNob3VsZCByZXR1cm4gYWxsIGVsZW1lbnRzIHVuZGVyIGEgcG9p
bnQsIGV2ZW4gd2hlbiBjb250ZXh0IG9iamVjdCBpcyBub3QgY29ubmVjdGVkIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkIDQgYnV0IGdvdCAzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9Eb2N1bWVudE9yU2hhZG93Um9v
dC1wcm90b3R5cGUtZWxlbWVudEZyb21Qb2ludC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0RvY3VtZW50T3JTaGFkb3dSb290LXBy
b3RvdHlwZS1lbGVtZW50RnJvbVBvaW50Lmh0bWwKaW5kZXggODNjYmMzZDgxODVlMWJiODllYzc0
NDU0ZTMzMzUyMmRjNGMwMTU1Yy4uNjg5M2FkMzk0YjRlMDQ5NDE2MjYzMjU3NzQwOTI1NDMxY2Ri
ZGFiOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zaGFkb3ctZG9tL0RvY3VtZW50T3JTaGFkb3dSb290LXByb3RvdHlwZS1lbGVtZW50RnJv
bVBvaW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zaGFkb3ctZG9tL0RvY3VtZW50T3JTaGFkb3dSb290LXByb3RvdHlwZS1lbGVtZW50RnJv
bVBvaW50Lmh0bWwKQEAgLTI1MCw3ICsyNTAsMzAgQEAgdGVzdChmdW5jdGlvbiAoKSB7CiAKIGNv
bnRhaW5lci5pbm5lckhUTUwgPSAnJzsKIAotICAgIDwvc2NyaXB0PgotICA8L2JvZHk+Cit0ZXN0
KGZ1bmN0aW9uKHQpIHsKKyAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiZGl2Iik7CisgIGNvbnN0IHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7
CisgIHNwYW4uaW5uZXJUZXh0ID0gImZvbyI7CisgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
Y29udGFpbmVyKTsKKyAgY29udGFpbmVyLmFwcGVuZENoaWxkKHNwYW4pOworCisgIGxldCBlbGVt
ZW50cyA9IGRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50KC4uLnBvaW50SW5FbGVtZW50KHNwYW4p
KTsKKyAgYXNzZXJ0X2VxdWFscyhlbGVtZW50cy5sZW5ndGgsIDQpOworICBhc3NlcnRfZXF1YWxz
KGVsZW1lbnRzWzBdLCBzcGFuKTsKKyAgYXNzZXJ0X2VxdWFscyhlbGVtZW50c1sxXSwgY29udGFp
bmVyKTsKKyAgYXNzZXJ0X2VxdWFscyhlbGVtZW50c1syXS5ub2RlTmFtZSwgJ0JPRFknKTsKKyAg
YXNzZXJ0X2VxdWFscyhlbGVtZW50c1szXS5ub2RlTmFtZSwgJ0hUTUwnKTsKKworICBjb25zdCBo
b3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgIGNvbnN0IHNoYWRvd1Jvb3Qg
PSBob3N0LmF0dGFjaFNoYWRvdyh7IG1vZGU6ICJvcGVuIiB9KTsKKyAgZWxlbWVudHMgPSBzaGFk
b3dSb290LmVsZW1lbnRzRnJvbVBvaW50KC4uLnBvaW50SW5FbGVtZW50KHNwYW4pKTsKKyAgYXNz
ZXJ0X2VxdWFscyhlbGVtZW50cy5sZW5ndGgsIDQpOworICBhc3NlcnRfZXF1YWxzKGVsZW1lbnRz
WzBdLCBzcGFuKTsKKyAgYXNzZXJ0X2VxdWFscyhlbGVtZW50c1sxXSwgY29udGFpbmVyKTsKKyAg
YXNzZXJ0X2VxdWFscyhlbGVtZW50c1syXS5ub2RlTmFtZSwgJ0JPRFknKTsKKyAgYXNzZXJ0X2Vx
dWFscyhlbGVtZW50c1szXS5ub2RlTmFtZSwgJ0hUTUwnKTsKK30sICJlbGVtZW50c0Zyb21Qb2lu
dCBzaG91bGQgcmV0dXJuIGFsbCBlbGVtZW50cyB1bmRlciBhIHBvaW50LCBldmVuIHdoZW4gY29u
dGV4dCBvYmplY3QgaXMgbm90IGNvbm5lY3RlZCIpOworPC9zY3JpcHQ+Cis8L2JvZHk+CiA8L2h0
bWw+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2hhZG93LWRvbS9FbGVtZW50LWludGVyZmFjZS1hdHRhY2hTaGFkb3ctY3VzdG9tLWVs
ZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9FbGVtZW50LWludGVyZmFjZS1hdHRhY2hTaGFkb3ctY3VzdG9tLWVsZW1lbnQu
aHRtbAppbmRleCBiNTk0NjBlMTdiOTczNTMxNTRkZGZiMDgzZjlhYmUxMTgxMDBhZDExLi4xMjNk
OWMxNGM1NWEzMDYzYTk4ZWRkZDJmODY0YWQwNGQ4ZThjYzBiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRWxlbWVudC1p
bnRlcmZhY2UtYXR0YWNoU2hhZG93LWN1c3RvbS1lbGVtZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0VsZW1lbnQtaW50
ZXJmYWNlLWF0dGFjaFNoYWRvdy1jdXN0b20tZWxlbWVudC5odG1sCkBAIC0xNCw2ICsxNCw3OCBA
QCB0ZXN0KCgpID0+IHsKICAgYXNzZXJ0X3RydWUoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbXkt
Y3VzdG9tJykuYXR0YWNoU2hhZG93KHttb2RlOiAib3BlbiJ9KSBpbnN0YW5jZW9mIFNoYWRvd1Jv
b3QpOwogfSwgJ0VsZW1lbnQuYXR0YWNoU2hhZG93IG11c3QgY3JlYXRlIGFuIGluc3RhbmNlIG9m
IFNoYWRvd1Jvb3QgZm9yIGF1dG9ub21vdXMgY3VzdG9tIGVsZW1lbnRzJyk7CiAKK3Rlc3QoKCkg
PT4geworICBhc3NlcnRfdHJ1ZShkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd1bmRlZmluZWQtY3Vz
dG9tJykuYXR0YWNoU2hhZG93KHttb2RlOiAnb3Blbid9KSBpbnN0YW5jZW9mIFNoYWRvd1Jvb3Qp
OworfSwgJ0VsZW1lbnQuYXR0YWNoU2hhZG93IG11c3QgY3JlYXRlIGFuIGluc3RhbmNlIG9mIFNo
YWRvd1Jvb3QgZm9yIHVuZGVmaW5lZCBhdXRvbm9tb3VzIGN1c3RvbSBlbGVtZW50cycpOworCit0
ZXN0KCgpID0+IHsKKyAgY2xhc3MgU2hhZG93RGlzYWJsZWRFbGVtZW50IGV4dGVuZHMgSFRNTEVs
ZW1lbnQgeworICAgIHN0YXRpYyBnZXQgZGlzYWJsZWRGZWF0dXJlcygpIHsgcmV0dXJuIFsnc2hh
ZG93J107IH0KKyAgfQorCisgIC8vIE5vIGRlZmluaXRpb24uIGF0dGFjaFNoYWRvdygpIHNob3Vs
ZCBzdWNjZWVkLgorICBsZXQgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRv
dy1kaXNhYmxlZC1lbGVtZW50Jyk7CisgIGVsZW1lbnQuYXR0YWNoU2hhZG93KHttb2RlOiAnY2xv
c2VkJ30pOworCisgIC8vIE5vIGRlZmluaXRpb24gYW5kIGl0J3MgYWxyZWFkeSBhIGhvc3QuCisg
IGFzc2VydF90aHJvd3MoJ05vdFN1cHBvcnRlZEVycm9yJywgKCkgPT4geworICAgIGVsZW1lbnQu
YXR0YWNoU2hhZG93KHttb2RlOiAnY2xvc2VkJ30pOworICB9LCAnTm8gZGVmaW5pdGlvbiwgaG9z
dCcpOworCisgIC8vIFRoZSBlbGVtZW50IGhhcyBhIGRlZmluaXRpb24sIGFuZCBpdCdzIGFscmVh
ZHkgYSBob3N0LgorICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ3NoYWRvdy1kaXNhYmxlZC1lbGVt
ZW50JywgU2hhZG93RGlzYWJsZWRFbGVtZW50KTsKKyAgYXNzZXJ0X3Rocm93cygnTm90U3VwcG9y
dGVkRXJyb3InLCAoKSA9PiB7CisgICAgZWxlbWVudC5hdHRhY2hTaGFkb3coe21vZGU6ICdjbG9z
ZWQnfSk7CisgIH0sICdEZWZpbml0aW9uLCBob3N0Jyk7CisKKyAgLy8gVGhlIGVsZW1lbnQgaGFz
IGEgZGVmaW5pdGlvbiwgYW5kIGl0J3Mgbm90IGEgaG9zdC4KKyAgYXNzZXJ0X3Rocm93cygnTm90
U3VwcG9ydGVkRXJyb3InLCAoKSA9PiB7CisgICAgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hh
ZG93LWRpc2FibGVkLWVsZW1lbnQnKS5hdHRhY2hTaGFkb3coe21vZGU6ICdjbG9zZWQnfSk7Cisg
IH0sICdEZWZpbml0aW9uLCBub3QgYSBob3N0Jyk7Cit9LCAnRWxlbWVudC5hdHRhY2hTaGFkb3cg
Zm9yIGFuIGF1dG9ub21vdXMgY3VzdG9tIGVsZW1lbnQgd2l0aCAnICsKKyAgICdkaXNhYmxlZEZl
YXR1cmVzPVsic2hhZG93Il0gc2hvdWxkIHRocm93IGEgTm90U3VwcG9ydGVkRXJyb3InKTsKKwor
dGVzdCgoKSA9PiB7CisgIGNsYXNzIFNoYWRvd0Rpc2FibGVkSGVhZGluZ0VsZW1lbnQgZXh0ZW5k
cyBIVE1MSGVhZGluZ0VsZW1lbnQgeworICAgIHN0YXRpYyBnZXQgZGlzYWJsZWRGZWF0dXJlcygp
IHsgcmV0dXJuIFsnc2hhZG93J107IH0KKyAgfQorCisgIC8vIE5vIGRlZmluaXRpb24uIGF0dGFj
aFNoYWRvdygpIHNob3VsZCBzdWNjZWVkLgorICBsZXQgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2gyJywKKyAgICAgIHtpczogJ3NoYWRvdy1kaXNhYmxlZC1oZWFkaW5nLWVsZW1l
bnQnfSk7CisgIGVsZW1lbnQuYXR0YWNoU2hhZG93KHttb2RlOiAnY2xvc2VkJ30pOworCisgIC8v
IE5vIGRlZmluaXRpb24gYW5kIGl0J3MgYWxyZWFkeSBhIGhvc3QuCisgIGFzc2VydF90aHJvd3Mo
J05vdFN1cHBvcnRlZEVycm9yJywgKCkgPT4geworICAgIGVsZW1lbnQuYXR0YWNoU2hhZG93KHtt
b2RlOiAnY2xvc2VkJ30pOworICB9LCAnTm8gZGVmaW5pdGlvbiwgaG9zdC4nKTsKKworICAvLyBU
aGUgZWxlbWVudCBoYXMgYSBkZWZpbml0aW9uLCBhbmQgaXQncyBhbHJlYWR5IGEgaG9zdC4KKyAg
Y3VzdG9tRWxlbWVudHMuZGVmaW5lKCdzaGFkb3ctZGlzYWJsZWQtaGVhZGluZy1lbGVtZW50JywK
KyAgICAgIFNoYWRvd0Rpc2FibGVkSGVhZGluZ0VsZW1lbnQsIHtleHRlbmRzOiAnaDInfSk7Cisg
IGFzc2VydF90aHJvd3MoJ05vdFN1cHBvcnRlZEVycm9yJywgKCkgPT4geworICAgIGVsZW1lbnQu
YXR0YWNoU2hhZG93KHttb2RlOiAnY2xvc2VkJ30pOworICB9LCAnRGVmaW5pdGlvbiwgaG9zdCcp
OworCisgIC8vIFRoZSBlbGVtZW50IGhhcyBhIGRlZmluaXRpb24sIGFuZCBpdCdzIG5vdCBhIGhv
c3QuCisgIGxldCBoMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2gyJywge2lzOiAnc2hhZG93
LWRpc2FibGVkLWhlYWRpbmctZWxlbWVudCd9KTsKKyAgYXNzZXJ0X3Rocm93cygnTm90U3VwcG9y
dGVkRXJyb3InLCAoKSA9PiB7CisgICAgaDIuYXR0YWNoU2hhZG93KHttb2RlOiAnY2xvc2VkJ30p
OworICB9LCAnRGVmaW5pdGlvbiwgbm90IGEgaG9zdCcpOworfSwgJ0VsZW1lbnQuYXR0YWNoU2hh
ZG93IGZvciBhIGN1c3RvbWl6ZWQgYnVpbHQtaW4gZWxlbWVudCB3aXRoICcgKworICAgJ2Rpc2Fi
bGVkRmVhdHVyZXM9WyJzaGFkb3ciXSBzaG91bGQgdGhyb3cgYSBOb3RTdXBwb3J0ZWRFcnJvcicp
OworCit0ZXN0KCgpID0+IHsKKyAgY2xhc3MgQ2FwaXRhbFNoYWRvd0Rpc2FibGVkRWxlbWVudCBl
eHRlbmRzIEhUTUxFbGVtZW50IHsKKyAgICBzdGF0aWMgZ2V0IGRpc2FibGVkRmVhdHVyZXMoKSB7
IHJldHVybiBbJ3NoYWRvdyddOyB9CisgIH0KKworICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2Nh
cGl0YWwtc2hhZG93LWRpc2FibGVkLWVsZW1lbnQnLCBDYXBpdGFsU2hhZG93RGlzYWJsZWRFbGVt
ZW50KTsKKworICAvLyBUZXN0IGZhaWxzIGlmIHRoaXMgdGhyb3dzCisgIGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2NhcGl0YWwtc2hhZG93LWRpc2FibGVkLWVsZW1lbnQnKS5hdHRhY2hTaGFkb3co
e21vZGU6ICdvcGVuJ30pOworfSwgJ0VsZW1lbnQuYXR0YWNoU2hhZG93IGZvciBhIGN1c3RvbSBl
bGVtZW50IHdpdGggZGlzYWJsZWRGZWF0dXJlcz1bIlNIQURPVyJdIHNob3VsZCBub3QgdGhyb3cg
YSBOb3RTdXBwb3J0ZWRFcnJvcicpOworCiBjbGFzcyBNeUN1c3RvbWl6ZWRCdWlsdGluRWxlbWVu
dCBleHRlbmRzIEhUTUxJbnB1dEVsZW1lbnQgewogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRWxlbWVudC1pbnRl
cmZhY2UtYXR0YWNoU2hhZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9FbGVtZW50LWludGVyZmFjZS1hdHRhY2hT
aGFkb3ctZXhwZWN0ZWQudHh0CmluZGV4IDBkNDBjN2M3ZTY2NzU2NTQxMGZjMDUzMjdhMGM1MGQ1
MjlkMTdhNjcuLmVkYzg5ZTUxYWQzMzg1ZGJhZTU5YzgzOGIxMGFjOTkzM2QxNjA2MDIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9FbGVtZW50LWludGVyZmFjZS1hdHRhY2hTaGFkb3ctZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9FbGVt
ZW50LWludGVyZmFjZS1hdHRhY2hTaGFkb3ctZXhwZWN0ZWQudHh0CkBAIC0zLDYgKzMsMTAgQEAg
UEFTUyBDaGVjayB0aGUgZXhpc3RlbmNlIG9mIEVsZW1lbnQuYXR0YWNoU2hhZG93CiBQQVNTIE5v
ZGVzIG90aGVyIHRoYW4gRWxlbWVudCBzaG91bGQgbm90IGhhdmUgYXR0YWNoU2hhZG93IAogUEFT
UyBFbGVtZW50LmF0dGFjaFNoYWRvdyBtdXN0IHRocm93IGEgVHlwZUVycm9yIGlmIG1vZGUgaXMg
bm90ICJvcGVuIiBvciAiY2xvc2VkIiAKIFBBU1MgRWxlbWVudC5hdHRhY2hTaGFkb3cgbXVzdCBj
cmVhdGUgYW4gaW5zdGFuY2Ugb2YgU2hhZG93Um9vdCAKLVBBU1MgRWxlbWVudC5hdHRhY2hTaGFk
b3cgbXVzdCB0aHJvdyBhIEludmFsaWRTdGF0ZUVycm9yIGlmIHRoZSBjb250ZXh0IG9iamVjdCBh
bHJlYWR5IGhvc3RzIGEgc2hhZG93IHRyZWUgCitGQUlMIEVsZW1lbnQuYXR0YWNoU2hhZG93IG11
c3QgdGhyb3cgYSBOb3RTdXBwb3J0ZWRFcnJvciBpZiB0aGUgY29udGV4dCBvYmplY3QgYWxyZWFk
eSBob3N0cyBhIHNoYWRvdyB0cmVlIGFzc2VydF90aHJvd3M6IENhbGxpbmcgYXR0YWNoU2hhZG93
KHttb2RlOiAib3BlbiJ9KSB0d2ljZSBvbiB0aGUgc2FtZSBlbGVtZW50IG11c3QgdGhyb3cgZnVu
Y3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2RpdicpOworICAgICAgICBkaXYuYXR0YWNoU2hhZG93KHttb2RlOiAib3BlbiJ9KTsK
KyAgICAgICAgZGl2LmF0dGFjaFNoYWRvdyh7bW9kZTogIm9wZW4ifSk7CisgICAgfSIgdGhyZXcg
b2JqZWN0ICJJbnZhbGlkU3RhdGVFcnJvcjogVGhlIG9iamVjdCBpcyBpbiBhbiBpbnZhbGlkIHN0
YXRlLiIgKCJJbnZhbGlkU3RhdGVFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBPYmpl
Y3RdIiAoIk5vdFN1cHBvcnRlZEVycm9yIikKIFBBU1MgRWxlbWVudC5hdHRhY2hTaGFkb3cgbXVz
dCB0aHJvdyBhIE5vdFN1cHBvcnRlZEVycm9yIGZvciBub24tc2FmZWxpc3RlZCBlbGVtZW50cyAK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zaGFkb3ctZG9tL0VsZW1lbnQtaW50ZXJmYWNlLWF0dGFjaFNoYWRvdy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0VsZW1lbnQt
aW50ZXJmYWNlLWF0dGFjaFNoYWRvdy5odG1sCmluZGV4IGZiZjIwZTgxYWM0ODhiZjlhMjc3NjZm
YjZmOGJiNjllNTI1MGRjMjguLjMwNGI2NGNkNDY2MDNkMmNkYmJiZDBmNzhjMzAzMmNhOGFkM2Q0
Y2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9FbGVtZW50LWludGVyZmFjZS1hdHRhY2hTaGFkb3cuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRWxl
bWVudC1pbnRlcmZhY2UtYXR0YWNoU2hhZG93Lmh0bWwKQEAgLTUzLDMwICs1MywzMCBAQCB0ZXN0
KGZ1bmN0aW9uICgpIHsKIH0sICdFbGVtZW50LmF0dGFjaFNoYWRvdyBtdXN0IGNyZWF0ZSBhbiBp
bnN0YW5jZSBvZiBTaGFkb3dSb290Jyk7CiAKIHRlc3QoZnVuY3Rpb24gKCkgewotICAgIGFzc2Vy
dF90aHJvd3MoeyduYW1lJzogJ0ludmFsaWRTdGF0ZUVycm9yJ30sIGZ1bmN0aW9uICgpIHsKKyAg
ICBhc3NlcnRfdGhyb3dzKHsnbmFtZSc6ICdOb3RTdXBwb3J0ZWRFcnJvcid9LCBmdW5jdGlvbiAo
KSB7CiAgICAgICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAg
ICAgICAgZGl2LmF0dGFjaFNoYWRvdyh7bW9kZTogIm9wZW4ifSk7CiAgICAgICAgIGRpdi5hdHRh
Y2hTaGFkb3coe21vZGU6ICJvcGVuIn0pOwogICAgIH0sICdDYWxsaW5nIGF0dGFjaFNoYWRvdyh7
bW9kZTogIm9wZW4ifSkgdHdpY2Ugb24gdGhlIHNhbWUgZWxlbWVudCBtdXN0IHRocm93Jyk7CiAK
LSAgICBhc3NlcnRfdGhyb3dzKHsnbmFtZSc6ICdJbnZhbGlkU3RhdGVFcnJvcid9LCBmdW5jdGlv
biAoKSB7CisgICAgYXNzZXJ0X3Rocm93cyh7J25hbWUnOiAnTm90U3VwcG9ydGVkRXJyb3InfSwg
ZnVuY3Rpb24gKCkgewogICAgICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
ZGl2Jyk7CiAgICAgICAgIGRpdi5hdHRhY2hTaGFkb3coe21vZGU6ICJjbG9zZWQifSk7CiAgICAg
ICAgIGRpdi5hdHRhY2hTaGFkb3coe21vZGU6ICJjbG9zZWQifSk7CiAgICAgfSwgJ0NhbGxpbmcg
YXR0YWNoU2hhZG93KHttb2RlOiAiY2xvc2VkIn0pIHR3aWNlIG9uIHRoZSBzYW1lIGVsZW1lbnQg
bXVzdCB0aHJvdycpOwogCi0gICAgYXNzZXJ0X3Rocm93cyh7J25hbWUnOiAnSW52YWxpZFN0YXRl
RXJyb3InfSwgZnVuY3Rpb24gKCkgeworICAgIGFzc2VydF90aHJvd3MoeyduYW1lJzogJ05vdFN1
cHBvcnRlZEVycm9yJ30sIGZ1bmN0aW9uICgpIHsKICAgICAgICAgdmFyIGRpdiA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgICAgICBkaXYuYXR0YWNoU2hhZG93KHttb2RlOiAi
b3BlbiJ9KTsKICAgICAgICAgZGl2LmF0dGFjaFNoYWRvdyh7bW9kZTogImNsb3NlZCJ9KTsKICAg
ICB9LCAnQ2FsbGluZyBhdHRhY2hTaGFkb3coe21vZGU6ICJjbG9zZWQifSkgYWZ0ZXIgYXR0YWNo
U2hhZG93KHttb2RlOiAib3BlbiJ9KSBvbiB0aGUgc2FtZSBlbGVtZW50IG11c3QgdGhyb3cnKTsK
IAotICAgIGFzc2VydF90aHJvd3MoeyduYW1lJzogJ0ludmFsaWRTdGF0ZUVycm9yJ30sIGZ1bmN0
aW9uICgpIHsKKyAgICBhc3NlcnRfdGhyb3dzKHsnbmFtZSc6ICdOb3RTdXBwb3J0ZWRFcnJvcid9
LCBmdW5jdGlvbiAoKSB7CiAgICAgICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdkaXYnKTsKICAgICAgICAgZGl2LmF0dGFjaFNoYWRvdyh7bW9kZTogImNsb3NlZCJ9KTsKICAg
ICAgICAgZGl2LmF0dGFjaFNoYWRvdyh7bW9kZTogIm9wZW4ifSk7CiAgICAgfSwgJ0NhbGxpbmcg
YXR0YWNoU2hhZG93KHttb2RlOiAib3BlbiJ9KSBhZnRlciBhdHRhY2hTaGFkb3coe21vZGU6ICJj
bG9zZWQifSkgb24gdGhlIHNhbWUgZWxlbWVudCBtdXN0IHRocm93Jyk7Ci19LCAnRWxlbWVudC5h
dHRhY2hTaGFkb3cgbXVzdCB0aHJvdyBhIEludmFsaWRTdGF0ZUVycm9yIGlmIHRoZSBjb250ZXh0
IG9iamVjdCBhbHJlYWR5IGhvc3RzIGEgc2hhZG93IHRyZWUnKTsKK30sICdFbGVtZW50LmF0dGFj
aFNoYWRvdyBtdXN0IHRocm93IGEgTm90U3VwcG9ydGVkRXJyb3IgaWYgdGhlIGNvbnRleHQgb2Jq
ZWN0IGFscmVhZHkgaG9zdHMgYSBzaGFkb3cgdHJlZScpOwogCiB0ZXN0KGZ1bmN0aW9uICgpIHsK
ICAgICBmb3IgKHZhciBlbGVtZW50TmFtZSBvZiBBVFRBQ0hTSEFET1dfRElTQUxMT1dFRF9FTEVN
RU5UUykgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL01FVEEueW1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL01FVEEueW1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhmYjBhOWI5
OTVkNjI4OWJiMjg1ODJmYTAxZTZiYjA5MmFmYTVkZGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vTUVUQS55
bWwKQEAgLTAsMCArMSw2IEBACitzcGVjOiBodHRwczovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI3No
YWRvdy10cmVlcworc3VnZ2VzdGVkX3Jldmlld2VyczoKKyAgLSBrb2ppaXNoaQorICAtIHJuaXdh
CisgIC0gdGFrYXlvc2hpa29jaGkKKyAgLSBoYXlhdG9pdG8KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9jYXB0dXJpbmct
YW5kLWJ1YmJsaW5nLWV2ZW50LWxpc3RlbmVycy1hY3Jvc3Mtc2hhZG93LXRyZWVzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9jYXB0dXJpbmctYW5kLWJ1YmJsaW5nLWV2ZW50LWxpc3RlbmVycy1hY3Jvc3Mtc2hhZG93
LXRyZWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNWYxMjBhNmIxN2JmYjUwY2M2MmI2ZGE5
NzQ0ZjRhZTJhZjZmNGE4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2NhcHR1cmluZy1hbmQtYnViYmxpbmct
ZXZlbnQtbGlzdGVuZXJzLWFjcm9zcy1zaGFkb3ctdHJlZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNyBAQAorCitQQVNTIENhcHR1cmluZyBldmVudCBsaXN0ZW5lcnMgc2hvdWxkIGJlIGludm9r
ZWQgYmVmb3JlIGJ1YmJsaW5nIGV2ZW50IGxpc3RlbmVycyBvbiB0aGUgdGFyZ2V0IHdpdGhvdXQg
c2hhZG93IHRyZWVzIAorUEFTUyBDYXB0dXJpbmcgZXZlbnQgbGlzdGVuZXJzIHNob3VsZCBiZSBp
bnZva2VkIGJlZm9yZSBidWJibGluZyBldmVudCBsaXN0ZW5lcnMgd2hlbiBhbiBldmVudCBpcyBk
aXNwYXRjaGVkIGluc2lkZSBhIHNoYWRvdyB0cmVlIAorUEFTUyBDYXB0dXJpbmcgZXZlbnQgbGlz
dGVuZXJzIHNob3VsZCBiZSBpbnZva2VkIGJlZm9yZSBidWJibGluZyBldmVudCBsaXN0ZW5lcnMg
d2hlbiBhbiBldmVudCBpcyBkaXNwYXRjaGVkIGluc2lkZSBhIGRvdWJseSBuZXN0ZWQgc2hhZG93
IHRyZWUgCitQQVNTIENhcHR1cmluZyBldmVudCBsaXN0ZW5lcnMgc2hvdWxkIGJlIGludm9rZWQg
YmVmb3JlIGJ1YmJsaW5nIGV2ZW50IGxpc3RlbmVycyB3aGVuIGFuIGV2ZW50IGlzIGRpc3BhdGNo
ZWQgdmlhIGEgc2xvdCAKK1BBU1MgQ2FwdHVyaW5nIGV2ZW50IGxpc3RlbmVycyBzaG91bGQgYmUg
aW52b2tlZCBiZWZvcmUgYnViYmxpbmcgZXZlbnQgbGlzdGVuZXJzIHdoZW4gYW4gZXZlbnQgaXMg
ZGlzcGF0Y2hlZCBpbnNpZGUgYSBzaGFkb3cgdHJlZSB3aGljaCBwYXNzZXMgdGhyb3VnaCBhbm90
aGVyIHNoYWRvdyB0cmVlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vY2FwdHVyaW5nLWFuZC1idWJibGluZy1ldmVu
dC1saXN0ZW5lcnMtYWNyb3NzLXNoYWRvdy10cmVlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2NhcHR1cmluZy1hbmQtYnViYmxp
bmctZXZlbnQtbGlzdGVuZXJzLWFjcm9zcy1zaGFkb3ctdHJlZXMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
Y2I0ZWU2MmUwYzYxYzQ4ODc5MWY1YWMwNDU5MDhlYWNhZDc5NTk2Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9t
L2NhcHR1cmluZy1hbmQtYnViYmxpbmctZXZlbnQtbGlzdGVuZXJzLWFjcm9zcy1zaGFkb3ctdHJl
ZXMuaHRtbApAQCAtMCwwICsxLDE5MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPHRpdGxlPlNoYWRvdyBET006IENhcHR1cmluZyBldmVudCBsaXN0ZW5lcnMgc2hvdWxkIGJl
IGludm9rZWQgYmVmb3JlIGJ1YmJsaW5nIGV2ZW50IGxpc3RlbmVyczwvdGl0bGU+Cis8bWV0YSBu
YW1lPSJhdXRob3IiIHRpdGxlPSJSeW9zdWtlIE5pd2EiIGhyZWY9Im1haWx0bzpybml3YUB3ZWJr
aXQub3JnIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9zaGFkb3ctZG9tLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQ+CisKK2Z1bmN0aW9uIGF0dGFjaEV2ZW50TGlzdGVuZXJzKGV2ZW50VHlwZSwgdHJlZSkg
eworICAgIGNvbnN0IGV2ZW50TG9ncyA9IFtdOworICAgIGNvbnN0IG1ha2VDb21wb3NlZFBhdGhS
ZXN1bHQgPSAoZXZlbnQpID0+IGV2ZW50LmNvbXBvc2VkUGF0aCgpLm1hcCgobm9kZSkgPT4gbm9k
ZS5pZCkKKyAgICBmb3IgKGNvbnN0IGlkIGluIHRyZWUpIHsKKyAgICAgICAgY29uc3Qgbm9kZSA9
IHRyZWVbaWRdOworICAgICAgICBub2RlLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBldmVu
dCA9PiBldmVudExvZ3MucHVzaCgKKyAgICAgICAgICAgIFsnYnViYmxpbmcnLCBldmVudC5ldmVu
dFBoYXNlLCBldmVudC50YXJnZXQuaWQsIGV2ZW50LmN1cnJlbnRUYXJnZXQuaWQsIG1ha2VDb21w
b3NlZFBhdGhSZXN1bHQoZXZlbnQpXSksIHtjYXB0dXJlOiBmYWxzZX0pOworICAgICAgICBub2Rl
LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBldmVudCA9PiBldmVudExvZ3MucHVzaCgKKyAg
ICAgICAgICAgIFsnY2FwdHVyaW5nJywgZXZlbnQuZXZlbnRQaGFzZSwgZXZlbnQudGFyZ2V0Lmlk
LCBldmVudC5jdXJyZW50VGFyZ2V0LmlkLCBtYWtlQ29tcG9zZWRQYXRoUmVzdWx0KGV2ZW50KV0p
LCB7Y2FwdHVyZTogdHJ1ZX0pOworICAgIH0KKyAgICByZXR1cm4gZXZlbnRMb2dzOworfQorCis8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IGlkPSJ0ZXN0MSI+CisgICAgPGRpdiBp
ZD0icGFyZW50Ij4KKyAgICAgICAgPGRpdiBpZD0idGFyZ2V0Ij48L2Rpdj4KKyAgICA8L2Rpdj4K
KzwvZGl2PgorPHNjcmlwdD4KK3Rlc3QoKCkgPT4geworICAgIGNvbnN0IHRyZWUgPSBjcmVhdGVU
ZXN0VHJlZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDEnKSk7CisgICAgY29uc3QgbG9n
cyA9IGF0dGFjaEV2ZW50TGlzdGVuZXJzKCdteS1ldmVudCcsIHRyZWUpOworICAgIHRyZWUudGFy
Z2V0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdteS1ldmVudCcsIHsgYnViYmxlczogdHJ1ZSwg
Y29tcG9zZWQ6IHRydWUgfSkpOworCisgICAgY29uc3QgY29tcG9zZWRQYXRoID0gWyd0YXJnZXQn
LCAncGFyZW50JywgJ3Rlc3QxJ107CisgICAgYXNzZXJ0X29iamVjdF9lcXVhbHMobG9ncywgWwor
ICAgICAgICBbJ2NhcHR1cmluZycsIEV2ZW50LkNBUFRVUklOR19QSEFTRSwgJ3RhcmdldCcsICd0
ZXN0MScsIGNvbXBvc2VkUGF0aF0sCisgICAgICAgIFsnY2FwdHVyaW5nJywgRXZlbnQuQ0FQVFVS
SU5HX1BIQVNFLCAndGFyZ2V0JywgJ3BhcmVudCcsIGNvbXBvc2VkUGF0aF0sCisgICAgICAgIFsn
Y2FwdHVyaW5nJywgRXZlbnQuQVRfVEFSR0VULCAndGFyZ2V0JywgJ3RhcmdldCcsIGNvbXBvc2Vk
UGF0aF0sCisgICAgICAgIFsnYnViYmxpbmcnLCBFdmVudC5BVF9UQVJHRVQsICd0YXJnZXQnLCAn
dGFyZ2V0JywgY29tcG9zZWRQYXRoXSwKKyAgICAgICAgWydidWJibGluZycsIEV2ZW50LkJVQkJM
SU5HX1BIQVNFLCAndGFyZ2V0JywgJ3BhcmVudCcsIGNvbXBvc2VkUGF0aF0sCisgICAgICAgIFsn
YnViYmxpbmcnLCBFdmVudC5CVUJCTElOR19QSEFTRSwgJ3RhcmdldCcsICd0ZXN0MScsIGNvbXBv
c2VkUGF0aF0sCisgICAgXSk7Cit9LCAnQ2FwdHVyaW5nIGV2ZW50IGxpc3RlbmVycyBzaG91bGQg
YmUgaW52b2tlZCBiZWZvcmUgYnViYmxpbmcgZXZlbnQgbGlzdGVuZXJzIG9uIHRoZSB0YXJnZXQg
d2l0aG91dCBzaGFkb3cgdHJlZXMnKTsKKzwvc2NyaXB0PgorCis8ZGl2IGlkPSJ0ZXN0MiI+Cisg
ICAgPGRpdiBpZD0iaG9zdCI+CisgICAgICAgIDx0ZW1wbGF0ZSBpZD0ic2hhZG93Um9vdCIgZGF0
YS1tb2RlPSJjbG9zZWQiPgorICAgICAgICAgICAgPGRpdiBpZD0idGFyZ2V0Ij48L2Rpdj4KKyAg
ICAgICAgPC90ZW1wbGF0ZT4KKyAgICA8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KK3Rlc3QoKCkg
PT4geworICAgIGNvbnN0IHRyZWUgPSBjcmVhdGVUZXN0VHJlZShkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgndGVzdDInKSk7CisgICAgY29uc3QgbG9ncyA9IGF0dGFjaEV2ZW50TGlzdGVuZXJzKCdt
eS1ldmVudCcsIHRyZWUpOworICAgIHRyZWUudGFyZ2V0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50
KCdteS1ldmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpOworCisgICAg
Y29uc3QgaW5uZXJDb21wb3NlZFBhdGggPSBbJ3RhcmdldCcsICdzaGFkb3dSb290JywgJ2hvc3Qn
LCAndGVzdDInXTsKKyAgICBjb25zdCBvdXRlckNvbXBvc2VkUGF0aCA9IFsnaG9zdCcsICd0ZXN0
MiddOworICAgIGFzc2VydF9vYmplY3RfZXF1YWxzKGxvZ3MsIFsKKyAgICAgICAgWydjYXB0dXJp
bmcnLCBFdmVudC5DQVBUVVJJTkdfUEhBU0UsICdob3N0JywgJ3Rlc3QyJywgb3V0ZXJDb21wb3Nl
ZFBhdGhdLAorICAgICAgICBbJ2NhcHR1cmluZycsIEV2ZW50LkFUX1RBUkdFVCwgJ2hvc3QnLCAn
aG9zdCcsIG91dGVyQ29tcG9zZWRQYXRoXSwKKyAgICAgICAgWydjYXB0dXJpbmcnLCBFdmVudC5D
QVBUVVJJTkdfUEhBU0UsICd0YXJnZXQnLCAnc2hhZG93Um9vdCcsIGlubmVyQ29tcG9zZWRQYXRo
XSwKKyAgICAgICAgWydjYXB0dXJpbmcnLCBFdmVudC5BVF9UQVJHRVQsICd0YXJnZXQnLCAndGFy
Z2V0JywgaW5uZXJDb21wb3NlZFBhdGhdLAorICAgICAgICBbJ2J1YmJsaW5nJywgRXZlbnQuQVRf
VEFSR0VULCAndGFyZ2V0JywgJ3RhcmdldCcsIGlubmVyQ29tcG9zZWRQYXRoXSwKKyAgICAgICAg
WydidWJibGluZycsIEV2ZW50LkJVQkJMSU5HX1BIQVNFLCAndGFyZ2V0JywgJ3NoYWRvd1Jvb3Qn
LCBpbm5lckNvbXBvc2VkUGF0aF0sCisgICAgICAgIFsnYnViYmxpbmcnLCBFdmVudC5BVF9UQVJH
RVQsICdob3N0JywgJ2hvc3QnLCBvdXRlckNvbXBvc2VkUGF0aF0sCisgICAgICAgIFsnYnViYmxp
bmcnLCBFdmVudC5CVUJCTElOR19QSEFTRSwgJ2hvc3QnLCAndGVzdDInLCBvdXRlckNvbXBvc2Vk
UGF0aF0sCisgICAgXSk7Cit9LCAnQ2FwdHVyaW5nIGV2ZW50IGxpc3RlbmVycyBzaG91bGQgYmUg
aW52b2tlZCBiZWZvcmUgYnViYmxpbmcgZXZlbnQgbGlzdGVuZXJzIHdoZW4gYW4gZXZlbnQgaXMg
ZGlzcGF0Y2hlZCBpbnNpZGUgYSBzaGFkb3cgdHJlZScpOworPC9zY3JpcHQ+CisKKzxkaXYgaWQ9
InRlc3QzIj4KKyAgICA8ZGl2IGlkPSJvdXRlckhvc3QiPgorICAgICAgICA8dGVtcGxhdGUgaWQ9
Im91dGVyU2hhZG93Um9vdCIgZGF0YS1tb2RlPSJjbG9zZWQiPgorICAgICAgICAgICAgPGRpdiBp
ZD0iaW5uZXJIb3N0Ij4KKyAgICAgICAgICAgICAgICA8dGVtcGxhdGUgaWQ9ImlubmVyU2hhZG93
Um9vdCIgZGF0YS1tb2RlPSJjbG9zZWQiPgorICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ0
YXJnZXQiPjwvZGl2PgorICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CisgICAgICAgICAgICA8
L2Rpdj4KKyAgICAgICAgPC90ZW1wbGF0ZT4KKyAgICA8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4K
K3Rlc3QoKCkgPT4geworICAgIGNvbnN0IHRyZWUgPSBjcmVhdGVUZXN0VHJlZShkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgndGVzdDMnKSk7CisgICAgY29uc3QgbG9ncyA9IGF0dGFjaEV2ZW50TGlz
dGVuZXJzKCdteS1ldmVudCcsIHRyZWUpOworICAgIHRyZWUudGFyZ2V0LmRpc3BhdGNoRXZlbnQo
bmV3IEV2ZW50KCdteS1ldmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkp
OworCisgICAgY29uc3QgaW5uZXJTaGFkb3dDb21wb3NlZFBhdGggPSBbJ3RhcmdldCcsICdpbm5l
clNoYWRvd1Jvb3QnLCAnaW5uZXJIb3N0JywgJ291dGVyU2hhZG93Um9vdCcsICdvdXRlckhvc3Qn
LCAndGVzdDMnXTsKKyAgICBjb25zdCBvdXRlclNoYWRvd0NvbXBvc2VkUGF0aCA9IFsnaW5uZXJI
b3N0JywgJ291dGVyU2hhZG93Um9vdCcsICdvdXRlckhvc3QnLCAndGVzdDMnXTsKKyAgICBjb25z
dCBvdXRlckNvbXBvc2VkUGF0aCA9IFsnb3V0ZXJIb3N0JywgJ3Rlc3QzJ107CisgICAgYXNzZXJ0
X29iamVjdF9lcXVhbHMobG9ncywgWworICAgICAgICBbJ2NhcHR1cmluZycsIEV2ZW50LkNBUFRV
UklOR19QSEFTRSwgJ291dGVySG9zdCcsICd0ZXN0MycsIG91dGVyQ29tcG9zZWRQYXRoXSwKKyAg
ICAgICAgWydjYXB0dXJpbmcnLCBFdmVudC5BVF9UQVJHRVQsICdvdXRlckhvc3QnLCAnb3V0ZXJI
b3N0Jywgb3V0ZXJDb21wb3NlZFBhdGhdLAorICAgICAgICBbJ2NhcHR1cmluZycsIEV2ZW50LkNB
UFRVUklOR19QSEFTRSwgJ2lubmVySG9zdCcsICdvdXRlclNoYWRvd1Jvb3QnLCBvdXRlclNoYWRv
d0NvbXBvc2VkUGF0aF0sCisgICAgICAgIFsnY2FwdHVyaW5nJywgRXZlbnQuQVRfVEFSR0VULCAn
aW5uZXJIb3N0JywgJ2lubmVySG9zdCcsIG91dGVyU2hhZG93Q29tcG9zZWRQYXRoXSwKKyAgICAg
ICAgWydjYXB0dXJpbmcnLCBFdmVudC5DQVBUVVJJTkdfUEhBU0UsICd0YXJnZXQnLCAnaW5uZXJT
aGFkb3dSb290JywgaW5uZXJTaGFkb3dDb21wb3NlZFBhdGhdLAorICAgICAgICBbJ2NhcHR1cmlu
ZycsIEV2ZW50LkFUX1RBUkdFVCwgJ3RhcmdldCcsICd0YXJnZXQnLCBpbm5lclNoYWRvd0NvbXBv
c2VkUGF0aF0sCisKKyAgICAgICAgWydidWJibGluZycsIEV2ZW50LkFUX1RBUkdFVCwgJ3Rhcmdl
dCcsICd0YXJnZXQnLCBpbm5lclNoYWRvd0NvbXBvc2VkUGF0aF0sCisgICAgICAgIFsnYnViYmxp
bmcnLCBFdmVudC5CVUJCTElOR19QSEFTRSwgJ3RhcmdldCcsICdpbm5lclNoYWRvd1Jvb3QnLCBp
bm5lclNoYWRvd0NvbXBvc2VkUGF0aF0sCisgICAgICAgIFsnYnViYmxpbmcnLCBFdmVudC5BVF9U
QVJHRVQsICdpbm5lckhvc3QnLCAnaW5uZXJIb3N0Jywgb3V0ZXJTaGFkb3dDb21wb3NlZFBhdGhd
LAorICAgICAgICBbJ2J1YmJsaW5nJywgRXZlbnQuQlVCQkxJTkdfUEhBU0UsICdpbm5lckhvc3Qn
LCAnb3V0ZXJTaGFkb3dSb290Jywgb3V0ZXJTaGFkb3dDb21wb3NlZFBhdGhdLAorICAgICAgICBb
J2J1YmJsaW5nJywgRXZlbnQuQVRfVEFSR0VULCAnb3V0ZXJIb3N0JywgJ291dGVySG9zdCcsIG91
dGVyQ29tcG9zZWRQYXRoXSwKKyAgICAgICAgWydidWJibGluZycsIEV2ZW50LkJVQkJMSU5HX1BI
QVNFLCAnb3V0ZXJIb3N0JywgJ3Rlc3QzJywgb3V0ZXJDb21wb3NlZFBhdGhdLAorICAgIF0pOwor
fSwgJ0NhcHR1cmluZyBldmVudCBsaXN0ZW5lcnMgc2hvdWxkIGJlIGludm9rZWQgYmVmb3JlIGJ1
YmJsaW5nIGV2ZW50IGxpc3RlbmVycyB3aGVuIGFuIGV2ZW50IGlzIGRpc3BhdGNoZWQgaW5zaWRl
IGEgZG91Ymx5IG5lc3RlZCBzaGFkb3cgdHJlZScpOworPC9zY3JpcHQ+CisKKzxkaXYgaWQ9InRl
c3Q0Ij4KKyAgICA8ZGl2IGlkPSJob3N0Ij4KKyAgICAgICAgPHRlbXBsYXRlIGlkPSJzaGFkb3dS
b290IiBkYXRhLW1vZGU9ImNsb3NlZCI+CisgICAgICAgICAgICA8c2xvdCBpZD0ic2xvdCI+PC9z
bG90PgorICAgICAgICA8L3RlbXBsYXRlPgorICAgICAgICA8ZGl2IGlkPSJ0YXJnZXQiPjwvZGl2
PgorICAgIDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgordGVzdCgoKSA9PiB7CisgICAgY29uc3Qg
dHJlZSA9IGNyZWF0ZVRlc3RUcmVlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0NCcpKTsK
KyAgICBjb25zdCBsb2dzID0gYXR0YWNoRXZlbnRMaXN0ZW5lcnMoJ215LWV2ZW50JywgdHJlZSk7
CisgICAgdHJlZS50YXJnZXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ215LWV2ZW50JywgeyBi
dWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7CisKKyAgICBjb25zdCBpbm5lckNvbXBv
c2VkUGF0aCA9IFsndGFyZ2V0JywgJ3Nsb3QnLCAnc2hhZG93Um9vdCcsICdob3N0JywgJ3Rlc3Q0
J107CisgICAgY29uc3Qgb3V0ZXJDb21wb3NlZFBhdGggPSBbJ3RhcmdldCcsICdob3N0JywgJ3Rl
c3Q0J107CisgICAgYXNzZXJ0X29iamVjdF9lcXVhbHMobG9ncywgWworICAgICAgICBbJ2NhcHR1
cmluZycsIEV2ZW50LkNBUFRVUklOR19QSEFTRSwgJ3RhcmdldCcsICd0ZXN0NCcsIG91dGVyQ29t
cG9zZWRQYXRoXSwKKyAgICAgICAgWydjYXB0dXJpbmcnLCBFdmVudC5DQVBUVVJJTkdfUEhBU0Us
ICd0YXJnZXQnLCAnaG9zdCcsIG91dGVyQ29tcG9zZWRQYXRoXSwKKyAgICAgICAgWydjYXB0dXJp
bmcnLCBFdmVudC5DQVBUVVJJTkdfUEhBU0UsICd0YXJnZXQnLCAnc2hhZG93Um9vdCcsIGlubmVy
Q29tcG9zZWRQYXRoXSwKKyAgICAgICAgWydjYXB0dXJpbmcnLCBFdmVudC5DQVBUVVJJTkdfUEhB
U0UsICd0YXJnZXQnLCAnc2xvdCcsIGlubmVyQ29tcG9zZWRQYXRoXSwKKyAgICAgICAgWydjYXB0
dXJpbmcnLCBFdmVudC5BVF9UQVJHRVQsICd0YXJnZXQnLCAndGFyZ2V0Jywgb3V0ZXJDb21wb3Nl
ZFBhdGhdLAorCisgICAgICAgIFsnYnViYmxpbmcnLCBFdmVudC5BVF9UQVJHRVQsICd0YXJnZXQn
LCAndGFyZ2V0Jywgb3V0ZXJDb21wb3NlZFBhdGhdLAorICAgICAgICBbJ2J1YmJsaW5nJywgRXZl
bnQuQlVCQkxJTkdfUEhBU0UsICd0YXJnZXQnLCAnc2xvdCcsIGlubmVyQ29tcG9zZWRQYXRoXSwK
KyAgICAgICAgWydidWJibGluZycsIEV2ZW50LkJVQkJMSU5HX1BIQVNFLCAndGFyZ2V0JywgJ3No
YWRvd1Jvb3QnLCBpbm5lckNvbXBvc2VkUGF0aF0sCisgICAgICAgIFsnYnViYmxpbmcnLCBFdmVu
dC5CVUJCTElOR19QSEFTRSwgJ3RhcmdldCcsICdob3N0Jywgb3V0ZXJDb21wb3NlZFBhdGhdLAor
ICAgICAgICBbJ2J1YmJsaW5nJywgRXZlbnQuQlVCQkxJTkdfUEhBU0UsICd0YXJnZXQnLCAndGVz
dDQnLCBvdXRlckNvbXBvc2VkUGF0aF0sCisgICAgXSk7Cit9LCAnQ2FwdHVyaW5nIGV2ZW50IGxp
c3RlbmVycyBzaG91bGQgYmUgaW52b2tlZCBiZWZvcmUgYnViYmxpbmcgZXZlbnQgbGlzdGVuZXJz
IHdoZW4gYW4gZXZlbnQgaXMgZGlzcGF0Y2hlZCB2aWEgYSBzbG90Jyk7Cis8L3NjcmlwdD4KKwor
PGRpdiBpZD0idGVzdDUiPgorICAgIDxkaXYgaWQ9InVwcGVySG9zdCI+CisgICAgICAgIDx0ZW1w
bGF0ZSBpZD0idXBwZXJTaGFkb3dSb290IiBkYXRhLW1vZGU9ImNsb3NlZCI+CisgICAgICAgICAg
ICA8c2xvdCBpZD0idXBwZXJTbG90Ij48L3Nsb3Q+CisgICAgICAgIDwvdGVtcGxhdGU+CisgICAg
ICAgIDxkaXYgaWQ9Imxvd2VySG9zdCI+CisgICAgICAgICAgICA8dGVtcGxhdGUgaWQ9Imxvd2Vy
U2hhZG93Um9vdCIgZGF0YS1tb2RlPSJjbG9zZWQiPgorICAgICAgICAgICAgICAgIDxkaXYgaWQ9
InRhcmdldCI+PC9kaXY+CisgICAgICAgICAgICA8L3RlbXBsYXRlPgorICAgICAgICA8L2Rpdj4K
KyAgICA8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KK3Rlc3QoKCkgPT4geworICAgIGNvbnN0IHRy
ZWUgPSBjcmVhdGVUZXN0VHJlZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDUnKSk7Cisg
ICAgY29uc3QgbG9ncyA9IGF0dGFjaEV2ZW50TGlzdGVuZXJzKCdteS1ldmVudCcsIHRyZWUpOwor
ICAgIHRyZWUudGFyZ2V0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdteS1ldmVudCcsIHsgYnVi
YmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpOworCisgICAgY29uc3QgbG93ZXJDb21wb3Nl
ZFBhdGggPSBbJ3RhcmdldCcsICdsb3dlclNoYWRvd1Jvb3QnLCAnbG93ZXJIb3N0JywgJ3VwcGVy
SG9zdCcsICd0ZXN0NSddOworICAgIGNvbnN0IHVwcGVyQ29tcG9zZWRQYXRoID0gWydsb3dlckhv
c3QnLCAndXBwZXJTbG90JywgJ3VwcGVyU2hhZG93Um9vdCcsICd1cHBlckhvc3QnLCAndGVzdDUn
XTsKKyAgICBjb25zdCBvdXRlckNvbXBvc2VkUGF0aCA9IFsnbG93ZXJIb3N0JywgJ3VwcGVySG9z
dCcsICd0ZXN0NSddOworICAgIGFzc2VydF9vYmplY3RfZXF1YWxzKGxvZ3MsIFsKKyAgICAgICAg
WydjYXB0dXJpbmcnLCBFdmVudC5DQVBUVVJJTkdfUEhBU0UsICdsb3dlckhvc3QnLCAndGVzdDUn
LCBvdXRlckNvbXBvc2VkUGF0aF0sCisgICAgICAgIFsnY2FwdHVyaW5nJywgRXZlbnQuQ0FQVFVS
SU5HX1BIQVNFLCAnbG93ZXJIb3N0JywgJ3VwcGVySG9zdCcsIG91dGVyQ29tcG9zZWRQYXRoXSwK
KyAgICAgICAgWydjYXB0dXJpbmcnLCBFdmVudC5DQVBUVVJJTkdfUEhBU0UsICdsb3dlckhvc3Qn
LCAndXBwZXJTaGFkb3dSb290JywgdXBwZXJDb21wb3NlZFBhdGhdLAorICAgICAgICBbJ2NhcHR1
cmluZycsIEV2ZW50LkNBUFRVUklOR19QSEFTRSwgJ2xvd2VySG9zdCcsICd1cHBlclNsb3QnLCB1
cHBlckNvbXBvc2VkUGF0aF0sCisgICAgICAgIFsnY2FwdHVyaW5nJywgRXZlbnQuQVRfVEFSR0VU
LCAnbG93ZXJIb3N0JywgJ2xvd2VySG9zdCcsIG91dGVyQ29tcG9zZWRQYXRoXSwKKyAgICAgICAg
WydjYXB0dXJpbmcnLCBFdmVudC5DQVBUVVJJTkdfUEhBU0UsICd0YXJnZXQnLCAnbG93ZXJTaGFk
b3dSb290JywgbG93ZXJDb21wb3NlZFBhdGhdLAorICAgICAgICBbJ2NhcHR1cmluZycsIEV2ZW50
LkFUX1RBUkdFVCwgJ3RhcmdldCcsICd0YXJnZXQnLCBsb3dlckNvbXBvc2VkUGF0aF0sCisKKyAg
ICAgICAgWydidWJibGluZycsIEV2ZW50LkFUX1RBUkdFVCwgJ3RhcmdldCcsICd0YXJnZXQnLCBs
b3dlckNvbXBvc2VkUGF0aF0sCisgICAgICAgIFsnYnViYmxpbmcnLCBFdmVudC5CVUJCTElOR19Q
SEFTRSwgJ3RhcmdldCcsICdsb3dlclNoYWRvd1Jvb3QnLCBsb3dlckNvbXBvc2VkUGF0aF0sCisg
ICAgICAgIFsnYnViYmxpbmcnLCBFdmVudC5BVF9UQVJHRVQsICdsb3dlckhvc3QnLCAnbG93ZXJI
b3N0Jywgb3V0ZXJDb21wb3NlZFBhdGhdLAorICAgICAgICBbJ2J1YmJsaW5nJywgRXZlbnQuQlVC
QkxJTkdfUEhBU0UsICdsb3dlckhvc3QnLCAndXBwZXJTbG90JywgdXBwZXJDb21wb3NlZFBhdGhd
LAorICAgICAgICBbJ2J1YmJsaW5nJywgRXZlbnQuQlVCQkxJTkdfUEhBU0UsICdsb3dlckhvc3Qn
LCAndXBwZXJTaGFkb3dSb290JywgdXBwZXJDb21wb3NlZFBhdGhdLAorICAgICAgICBbJ2J1YmJs
aW5nJywgRXZlbnQuQlVCQkxJTkdfUEhBU0UsICdsb3dlckhvc3QnLCAndXBwZXJIb3N0Jywgb3V0
ZXJDb21wb3NlZFBhdGhdLAorICAgICAgICBbJ2J1YmJsaW5nJywgRXZlbnQuQlVCQkxJTkdfUEhB
U0UsICdsb3dlckhvc3QnLCAndGVzdDUnLCBvdXRlckNvbXBvc2VkUGF0aF0sCisgICAgXSk7Cit9
LCAnQ2FwdHVyaW5nIGV2ZW50IGxpc3RlbmVycyBzaG91bGQgYmUgaW52b2tlZCBiZWZvcmUgYnVi
YmxpbmcgZXZlbnQgbGlzdGVuZXJzIHdoZW4gYW4gZXZlbnQgaXMgZGlzcGF0Y2hlZCBpbnNpZGUg
YSBzaGFkb3cgdHJlZSB3aGljaCBwYXNzZXMgdGhyb3VnaCBhbm90aGVyIHNoYWRvdyB0cmVlJyk7
Cis8L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RpcmVjdGlvbmFsaXR5
LTAwMi50ZW50YXRpdmUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kaXJlY3Rpb25hbGl0eS0wMDIudGVudGF0aXZl
LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDU0YjJmZWNhYmNkZWMxYTJiNzZjYzAxMzBkMjFj
MGQyNzQ0NThjOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kaXJlY3Rpb25hbGl0eS0wMDIudGVudGF0aXZl
LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw2IEBACis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5D
U1MgVGVzdCBSZWZlcmVuY2U8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJFbWls
aW8gQ29ib3Mgw4FsdmFyZXoiIGhyZWY9Im1haWx0bzplbWlsaW9AY3Jpc2FsLmlvIj4KKzxsaW5r
IHJlbD0iYXV0aG9yIiB0aXRsZT0iTW96aWxsYSIgaHJlZj0iaHR0cHM6Ly9tb3ppbGxhLm9yZyI+
Cis8Ym9keSBkaXI9InJ0bCI+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogMTAw
cHg7IGJhY2tncm91bmQ6IGdyZWVuIj48L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kaXJlY3Rpb25hbGl0eS0w
MDIudGVudGF0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NoYWRvdy1kb20vZGlyZWN0aW9uYWxpdHktMDAyLnRlbnRhdGl2ZS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdmZjAzNjE5NGJhYTlmNmM5ZmJlMWE0MTE2YWFjODY0NzA5ZjljNjcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3No
YWRvdy1kb20vZGlyZWN0aW9uYWxpdHktMDAyLnRlbnRhdGl2ZS5odG1sCkBAIC0wLDAgKzEsMjUg
QEAKKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPkRpcmVjdGlvbmFsaXR5IGlzIHByb3Blcmx5IGNv
bXB1dGVkIGZvciBzbG90dGVkIGNoaWxkcmVuPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0
aXRsZT0iRW1pbGlvIENvYm9zIMOBbHZhcmV6IiBocmVmPSJtYWlsdG86ZW1pbGlvQGNyaXNhbC5p
byI+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1vemlsbGEiIGhyZWY9Imh0dHBzOi8vbW96
aWxsYS5vcmciPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2J1Z3ppbGxhLm1vemls
bGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTYyNDI1Ij4KKzxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9
ImRpcmVjdGlvbmFsaXR5LTAwMi1yZWYuaHRtbCI+Cis8c3R5bGU+CisgIC5zbG90dGVkIHsKKyAg
ICB3aWR0aDogMTAwcHg7CisgICAgaGVpZ2h0OiAxMDBweDsKKyAgICBiYWNrZ3JvdW5kOiByZWQ7
CisgIH0KKyAgLnNsb3R0ZWQ6ZGlyKHJ0bCkgeworICAgIGJhY2tncm91bmQ6IGdyZWVuOworICB9
Cis8L3N0eWxlPgorPGJvZHkgZGlyPSJydGwiPgorPHNjcmlwdD4KKyAgbGV0IHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKQorICBsZXQgc2xvdHRlZCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImRpdiIpOworICBzbG90dGVkLmNsYXNzTmFtZSA9ICJzbG90dGVkIjsKKyAgcm9v
dC5hcHBlbmRDaGlsZChzbG90dGVkKTsKKyAgcm9vdC5hdHRhY2hTaGFkb3coeyBtb2RlOiAib3Bl
biIgfSkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2xvdCIpKTsKKyAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3Vz
L0RvY3VtZW50T3JTaGFkb3dSb290LWFjdGl2ZUVsZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL0Rv
Y3VtZW50T3JTaGFkb3dSb290LWFjdGl2ZUVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjRlNDVkYjBhYTVhY2E1MmNjMmFlYjY3MGE3YWU1M2ZmNWNkODQ5NjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1k
b20vZm9jdXMvRG9jdW1lbnRPclNoYWRvd1Jvb3QtYWN0aXZlRWxlbWVudC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw4IEBACisKK1BBU1MgYWN0aXZlRWxlbWVudCBvbiBkb2N1bWVudCAmIHNoYWRv
dyByb290IHdoZW4gZm9jdXNlZCBlbGVtZW50IGlzIGluIHRoZSBzaGFkb3cgdHJlZSAKK1BBU1Mg
YWN0aXZlRWxlbWVudCBvbiBkb2N1bWVudCAmIHNoYWRvdyByb290IHdoZW4gZm9jdXNlZCBlbGVt
ZW50IGlzIGluIHRoZSBkb2N1bWVudCAKK1BBU1MgYWN0aXZlRWxlbWVudCBvbiBkb2N1bWVudCAm
IHNoYWRvdyByb290IHdoZW4gZm9jdXNlZCBlbGVtZW50IGlzIHNsb3R0ZWQgCitQQVNTIGFjdGl2
ZUVsZW1lbnQgb24gYSBuZWlnaGJvcmluZyBob3N0IHdoZW4gZm9jdXNlZCBlbGVtZW50IGlzIGlu
IGFub3RoZXIgc2hhZG93IHRyZWUgCitQQVNTIGFjdGl2ZUVsZW1lbnQgd2hlbiBmb2N1c2VkIGVs
ZW1lbnQgaXMgaW4gYSBuZXN0ZWQgc2hhZG93IHRyZWUgCitQQVNTIGFjdGl2ZUVsZW1lbnQgd2hl
biBmb2N1c2VkIGVsZW1lbnQgaXMgaW4gYSBwYXJlbnQgc2hhZG93IHRyZWUgCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9mb2N1cy9Eb2N1bWVudE9yU2hhZG93Um9vdC1hY3RpdmVFbGVtZW50Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvRG9j
dW1lbnRPclNoYWRvd1Jvb3QtYWN0aXZlRWxlbWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwNDU2YjA1
N2UxZTcyNGNkYWM5YmM2NTZmM2IzZDZjN2FjMmY2NTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMv
RG9jdW1lbnRPclNoYWRvd1Jvb3QtYWN0aXZlRWxlbWVudC5odG1sCkBAIC0wLDAgKzEsOTIgQEAK
KzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPkhUTUwgVGVz
dDogRG9jdW1lbnRPclNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudDwvdGl0bGU+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0ZHJpdmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3Rkcml2ZXItdmVuZG9yLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KK2Z1bmN0
aW9uIGNyZWF0ZUNoaWxkQW5kRm9jdXMoZm9jdXNQYXJlbnQpIHsKKyAgY29uc3QgZm9jdXNlZCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICBmb2N1c2VkLnRhYkluZGV4ID0gMDsK
KyAgZm9jdXNQYXJlbnQuYXBwZW5kQ2hpbGQoZm9jdXNlZCk7CisgIGZvY3VzZWQuZm9jdXMoKTsK
KyAgcmV0dXJuIGZvY3VzZWQ7Cit9CisKK3Rlc3QoKCkgPT4geworICBjb25zdCBob3N0ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgIGNvbnN0IHNoYWRvd1Jvb3QgPSBob3N0LmF0
dGFjaFNoYWRvdyh7IG1vZGU6ICJvcGVuIiB9KTsKKyAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChob3N0KTsKKworICBjb25zdCBmb2N1c2VkID0gY3JlYXRlQ2hpbGRBbmRGb2N1cyhzaGFkb3dS
b290KTsKKyAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5hY3RpdmVFbGVtZW50LCBob3N0KTsKKyAg
YXNzZXJ0X2VxdWFscyhzaGFkb3dSb290LmFjdGl2ZUVsZW1lbnQsIGZvY3VzZWQpOworfSwgImFj
dGl2ZUVsZW1lbnQgb24gZG9jdW1lbnQgJiBzaGFkb3cgcm9vdCB3aGVuIGZvY3VzZWQgZWxlbWVu
dCBpcyBpbiB0aGUgc2hhZG93IHRyZWUiKTsKKwordGVzdCgoKSA9PiB7CisgIGNvbnN0IGhvc3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgY29uc3Qgc2hhZG93Um9vdCA9IGhv
c3QuYXR0YWNoU2hhZG93KHsgbW9kZTogIm9wZW4iIH0pOworICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGhvc3QpOworCisgIGNvbnN0IGZvY3VzZWQgPSBjcmVhdGVDaGlsZEFuZEZvY3VzKGRv
Y3VtZW50LmJvZHkpOworICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsIGZv
Y3VzZWQpOworICBhc3NlcnRfZXF1YWxzKHNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudCwgbnVsbCk7
Cit9LCAiYWN0aXZlRWxlbWVudCBvbiBkb2N1bWVudCAmIHNoYWRvdyByb290IHdoZW4gZm9jdXNl
ZCBlbGVtZW50IGlzIGluIHRoZSBkb2N1bWVudCIpOworCit0ZXN0KCgpID0+IHsKKyAgY29uc3Qg
aG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICBjb25zdCBzaGFkb3dSb290
ID0gaG9zdC5hdHRhY2hTaGFkb3coeyBtb2RlOiAib3BlbiIgfSk7CisgIHNoYWRvd1Jvb3QuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2xvdCIpKTsKKyAgZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChob3N0KTsKKworICAvLyBDaGlsZCBvZiB8aG9zdHwsIHdpbGwgYmUgc2xv
dHRlZCB0byB0aGUgc2xvdCBpbiB8c2hhZG93Um9vdHwuCisgIGNvbnN0IGZvY3VzZWQgPSBjcmVh
dGVDaGlsZEFuZEZvY3VzKGhvc3QpOworICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LmFjdGl2ZUVs
ZW1lbnQsIGZvY3VzZWQpOworICBhc3NlcnRfZXF1YWxzKHNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVu
dCwgbnVsbCk7Cit9LCAiYWN0aXZlRWxlbWVudCBvbiBkb2N1bWVudCAmIHNoYWRvdyByb290IHdo
ZW4gZm9jdXNlZCBlbGVtZW50IGlzIHNsb3R0ZWQiKTsKKwordGVzdCgoKSA9PiB7CisgIGNvbnN0
IGhvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgY29uc3Qgc2hhZG93Um9v
dCA9IGhvc3QuYXR0YWNoU2hhZG93KHsgbW9kZTogIm9wZW4iIH0pOworICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGhvc3QpOworICBjb25zdCBuZWlnaGJvckhvc3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJkaXYiKTsKKyAgY29uc3QgbmVpZ2hib3JTaGFkb3dSb290ID0gbmVpZ2hib3JI
b3N0LmF0dGFjaFNoYWRvdyh7IG1vZGU6ICJvcGVuIiB9KTsKKyAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChuZWlnaGJvckhvc3QpOworCisgIGNvbnN0IGZvY3VzZWQgPSBjcmVhdGVDaGlsZEFu
ZEZvY3VzKHNoYWRvd1Jvb3QpOworICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LmFjdGl2ZUVsZW1l
bnQsIGhvc3QpOworICBhc3NlcnRfZXF1YWxzKHNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudCwgZm9j
dXNlZCk7CisgIGFzc2VydF9lcXVhbHMobmVpZ2hib3JTaGFkb3dSb290LmFjdGl2ZUVsZW1lbnQs
IG51bGwpOworfSwgImFjdGl2ZUVsZW1lbnQgb24gYSBuZWlnaGJvcmluZyBob3N0IHdoZW4gZm9j
dXNlZCBlbGVtZW50IGlzIGluIGFub3RoZXIgc2hhZG93IHRyZWUiKTsKKwordGVzdCgoKSA9PiB7
CisgIGNvbnN0IGhvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgY29uc3Qg
c2hhZG93Um9vdCA9IGhvc3QuYXR0YWNoU2hhZG93KHsgbW9kZTogIm9wZW4iIH0pOworICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGhvc3QpOworICBjb25zdCBuZXN0ZWRIb3N0ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgIGNvbnN0IG5lc3RlZFNoYWRvd1Jvb3QgPSBuZXN0
ZWRIb3N0LmF0dGFjaFNoYWRvdyh7IG1vZGU6ICJvcGVuIiB9KTsKKyAgc2hhZG93Um9vdC5hcHBl
bmRDaGlsZChuZXN0ZWRIb3N0KTsKKworICBjb25zdCBmb2N1c2VkID0gY3JlYXRlQ2hpbGRBbmRG
b2N1cyhuZXN0ZWRTaGFkb3dSb290KTsKKyAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5hY3RpdmVF
bGVtZW50LCBob3N0KTsKKyAgYXNzZXJ0X2VxdWFscyhzaGFkb3dSb290LmFjdGl2ZUVsZW1lbnQs
IG5lc3RlZEhvc3QpOworICBhc3NlcnRfZXF1YWxzKG5lc3RlZFNoYWRvd1Jvb3QuYWN0aXZlRWxl
bWVudCwgZm9jdXNlZCk7Cit9LCAiYWN0aXZlRWxlbWVudCB3aGVuIGZvY3VzZWQgZWxlbWVudCBp
cyBpbiBhIG5lc3RlZCBzaGFkb3cgdHJlZSIpOworCit0ZXN0KCgpID0+IHsKKyAgY29uc3QgaG9z
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICBjb25zdCBzaGFkb3dSb290ID0g
aG9zdC5hdHRhY2hTaGFkb3coeyBtb2RlOiAib3BlbiIgfSk7CisgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQoaG9zdCk7CisgIGNvbnN0IG5lc3RlZEhvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJkaXYiKTsKKyAgY29uc3QgbmVzdGVkU2hhZG93Um9vdCA9IG5lc3RlZEhvc3QuYXR0YWNo
U2hhZG93KHsgbW9kZTogIm9wZW4iIH0pOworICBzaGFkb3dSb290LmFwcGVuZENoaWxkKG5lc3Rl
ZEhvc3QpOworCisgIGNvbnN0IGZvY3VzZWQgPSBjcmVhdGVDaGlsZEFuZEZvY3VzKHNoYWRvd1Jv
b3QpOworICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsIGhvc3QpOworICBh
c3NlcnRfZXF1YWxzKHNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudCwgZm9jdXNlZCk7CisgIGFzc2Vy
dF9lcXVhbHMobmVzdGVkU2hhZG93Um9vdC5hY3RpdmVFbGVtZW50LCBudWxsKTsKK30sICJhY3Rp
dmVFbGVtZW50IHdoZW4gZm9jdXNlZCBlbGVtZW50IGlzIGluIGEgcGFyZW50IHNoYWRvdyB0cmVl
Iik7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy1zZWxlY3Rvci1k
ZWxlZ2F0ZXNGb2N1cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtc2VsZWN0b3ItZGVsZWdhdGVz
Rm9jdXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlZTlmMGI5ZjA3ZjJhNzM2YWY4YzU2YmQ0
OGQ2MWY4YWVhOWQyZGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtc2VsZWN0b3ItZGVs
ZWdhdGVzRm9jdXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK2ZvbworZm9vCisKK0ZB
SUwgOmZvY3VzIGFwcGxpZXMgdG8gaG9zdCB3aXRoIGRlbGVnYXRlc0ZvY3VzPXRydWUgd2hlbiB0
aGUgc2hhZG93IHJvb3QncyBkZXNjZW5kYW50IGhhcyBmb2N1cyBhc3NlcnRfdHJ1ZTogaG9zdCBt
YXRjaGVzIDpmb2N1cyBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCA6Zm9jdXMgYXBwbGll
cyB0byBob3N0IHdpdGggZGVsZWdhdGVzRm9jdXM9dHJ1ZSB3aGVuIHNsb3R0ZWQgZWxlbWVudCBo
YXMgZm9jdXMgYXNzZXJ0X3RydWU6IGhvc3QgbWF0Y2hlcyA6Zm9jdXMgZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UKK0ZBSUwgOmZvY3VzIGFwcGxpZXMgdG8gaG9zdCB3aXRoIGRlbGVnYXRlc0ZvY3Vz
PXRydWUgd2hlbiBhbiBlbGVtZW50IGluIGEgbmVzdGVkIHNoYWRvdyB0cmVlIHdpdGggZGVsZWdh
dGVzRm9jdXM9dHJ1ZSBpcyBmb2N1c2VkIGFzc2VydF90cnVlOiBob3N0IG9mIG5lc3RlZCBzaGFk
b3cgdHJlZSBtYXRjaGVzIGZvY3VzIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIDpmb2N1
cyBhcHBsaWVzIHRvIGhvc3Qgd2l0aCBkZWxlZ2F0ZXNGb2N1cz10cnVlIHdoZW4gYW4gZWxlbWVu
dCBpbiBhIG5lc3RlZCBzaGFkb3cgdHJlZSB3aXRoIGRlbGVnYXRlc0ZvY3VzPWZhbHNlIGlzIGZv
Y3VzZWQgYXNzZXJ0X3RydWU6IGhvc3Qgb2YgbmVzdGVkIHNoYWRvdyB0cmVlIG1hdGNoZXMgZm9j
dXMgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgOmZvY3VzIGFwcGxpZXMgdG8gaG9zdCB3
aXRoIGRlbGVnYXRlc0ZvY3VzPWZhbHNlIHdoZW4gdGhlIHNoYWRvdyByb290J3MgZGVzY2VuZGFu
dCBoYXMgZm9jdXMgYXNzZXJ0X3RydWU6IGhvc3QgbWF0Y2hlcyA6Zm9jdXMgZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKK0ZBSUwgOmZvY3VzIGFwcGxpZXMgdG8gaG9zdCB3aXRoIGRlbGVnYXRlc0Zv
Y3VzPWZhbHNlIHdoZW4gc2xvdHRlZCBlbGVtZW50IGhhcyBmb2N1cyBhc3NlcnRfdHJ1ZTogaG9z
dCBtYXRjaGVzIDpmb2N1cyBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCA6Zm9jdXMgYXBw
bGllcyB0byBob3N0IHdpdGggZGVsZWdhdGVzRm9jdXM9ZmFsc2Ugd2hlbiBhbiBlbGVtZW50IGlu
IGEgbmVzdGVkIHNoYWRvdyB0cmVlIHdpdGggZGVsZWdhdGVzRm9jdXM9dHJ1ZSBpcyBmb2N1c2Vk
IGFzc2VydF90cnVlOiBob3N0IG9mIG5lc3RlZCBzaGFkb3cgdHJlZSBtYXRjaGVzIGZvY3VzIGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIDpmb2N1cyBhcHBsaWVzIHRvIGhvc3Qgd2l0aCBk
ZWxlZ2F0ZXNGb2N1cz1mYWxzZSB3aGVuIGFuIGVsZW1lbnQgaW4gYSBuZXN0ZWQgc2hhZG93IHRy
ZWUgd2l0aCBkZWxlZ2F0ZXNGb2N1cz1mYWxzZSBpcyBmb2N1c2VkIGFzc2VydF90cnVlOiBob3N0
IG9mIG5lc3RlZCBzaGFkb3cgdHJlZSBtYXRjaGVzIGZvY3VzIGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy1zZWxlY3Rvci1kZWxlZ2F0ZXNGb2N1cy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9t
L2ZvY3VzL2ZvY3VzLXNlbGVjdG9yLWRlbGVnYXRlc0ZvY3VzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzg2
MDQ1MjU4ZTA0M2Y3YjA4NDlhYWEzNjZkMzRiYjY0NWYyZjczZgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9m
b2N1cy9mb2N1cy1zZWxlY3Rvci1kZWxlZ2F0ZXNGb2N1cy5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgPG1ldGEgY2hhcnNldD0idXRmLTgi
IC8+CisgIDx0aXRsZT5DU1MgVGVzdCAoU2VsZWN0b3JzKTogOmZvY3VzIGJlaGF2aW9yIHdpdGgg
c2hhZG93IGhvc3RzICYgZGVsZWdhdGVzRm9jdXMgPC90aXRsZT4KKyAgPGxpbmsgcmVsPSJhdXRo
b3IiIHRpdGxlPSJSYWtpbmEgWmF0YSBBbW5pIiBocmVmPSJyYWtpbmFAY2hyb21pdW0ub3JnIiAv
PgorICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcv
bXVsdGlwYWdlL3NlbWFudGljcy1vdGhlci5odG1sI3NlbGVjdG9yLWZvY3VzIiAvPgorICA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdCBz
cmM9InJlc291cmNlcy9zaGFkb3ctdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9k
eT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBjcmVhdGVGb2N1c2FibGVEaXYoKSB7CisgIGNvbnN0IGRp
diA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICBkaXYuaW5uZXJUZXh0ID0gImZv
byI7CisgIGRpdi50YWJJbmRleCA9IDA7CisgIHJldHVybiBkaXY7Cit9CisKK2Z1bmN0aW9uIGNy
ZWF0ZVNoYWRvd0hvc3QoZGVsZWdhdGVzRm9jdXMsIGNvbnRhaW5lcikgeworICBjb25zdCBob3N0
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgIGhvc3QuYXR0YWNoU2hhZG93KHsg
bW9kZTogIm9wZW4iLCBkZWxlZ2F0ZXNGb2N1czogZGVsZWdhdGVzRm9jdXMgfSk7CisgIGNvbnRh
aW5lci5hcHBlbmRDaGlsZChob3N0KTsKKyAgcmV0dXJuIGhvc3Q7Cit9CisKK2NvbnN0IGRlbGVn
YXRlc0ZvY3VzVmFsdWVzID0gW3RydWUsIGZhbHNlXTsKKworZm9yIChjb25zdCBkZWxlZ2F0ZXNG
b2N1cyBvZiBkZWxlZ2F0ZXNGb2N1c1ZhbHVlcykgeworICB0ZXN0KCgpID0+IHsKKyAgICByZXNl
dEZvY3VzKCk7CisgICAgY29uc3QgaG9zdCA9IGNyZWF0ZVNoYWRvd0hvc3QoZGVsZWdhdGVzRm9j
dXMsIGRvY3VtZW50LmJvZHkpOworICAgIGNvbnN0IHNoYWRvd0NoaWxkID0gY3JlYXRlRm9jdXNh
YmxlRGl2KCk7CisgICAgaG9zdC5zaGFkb3dSb290LmFwcGVuZENoaWxkKHNoYWRvd0NoaWxkKTsK
KworICAgIHNoYWRvd0NoaWxkLmZvY3VzKCk7CisgICAgYXNzZXJ0X3RydWUoc2hhZG93Q2hpbGQu
bWF0Y2hlcygiOmZvY3VzIiksICJlbGVtZW50IGluIHNoYWRvdyB0cmVlIG1hdGNoZXMgOmZvY3Vz
Iik7CisgICAgYXNzZXJ0X3RydWUoaG9zdC5tYXRjaGVzKCI6Zm9jdXMiKSwgImhvc3QgbWF0Y2hl
cyA6Zm9jdXMiKTsKKyAgfSwgYDpmb2N1cyBhcHBsaWVzIHRvIGhvc3Qgd2l0aCBkZWxlZ2F0ZXNG
b2N1cz0ke2RlbGVnYXRlc0ZvY3VzfSB3aGVuIHRoZSBzaGFkb3cgcm9vdCdzIGRlc2NlbmRhbnQg
aGFzIGZvY3VzYCk7CisKKyAgdGVzdCgoKSA9PiB7CisgICAgcmVzZXRGb2N1cygpOworICAgIGNv
bnN0IGhvc3QgPSBjcmVhdGVTaGFkb3dIb3N0KGRlbGVnYXRlc0ZvY3VzLCBkb2N1bWVudC5ib2R5
KTsKKyAgICBjb25zdCBzbG90dGVkID0gY3JlYXRlRm9jdXNhYmxlRGl2KCk7CisgICAgaG9zdC5z
aGFkb3dSb290LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNsb3QiKSk7Cisg
ICAgaG9zdC5hcHBlbmRDaGlsZChzbG90dGVkKTsKKworICAgIHNsb3R0ZWQuZm9jdXMoKTsKKyAg
ICBhc3NlcnRfdHJ1ZShzbG90dGVkLm1hdGNoZXMoIjpmb2N1cyIpLCAic2xvdHRlZCBlbGVtZW50
IG1hdGNoZXMgOmZvY3VzIik7CisgICAgYXNzZXJ0X3RydWUoaG9zdC5tYXRjaGVzKCI6Zm9jdXMi
KSwgImhvc3QgbWF0Y2hlcyA6Zm9jdXMiKTsKKyAgfSwgYDpmb2N1cyBhcHBsaWVzIHRvIGhvc3Qg
d2l0aCBkZWxlZ2F0ZXNGb2N1cz0ke2RlbGVnYXRlc0ZvY3VzfSB3aGVuIHNsb3R0ZWQgZWxlbWVu
dCBoYXMgZm9jdXNgKTsKKworICBmb3IgKGNvbnN0IG5lc3RlZERlbGVnYXRlc0ZvY3VzIG9mIGRl
bGVnYXRlc0ZvY3VzVmFsdWVzKSB7CisgICAgdGVzdCgoKSA9PiB7CisgICAgICByZXNldEZvY3Vz
KCk7CisgICAgICBjb25zdCBob3N0ID0gY3JlYXRlU2hhZG93SG9zdChkZWxlZ2F0ZXNGb2N1cywg
ZG9jdW1lbnQuYm9keSk7CisgICAgICBjb25zdCBuZXN0ZWRIb3N0ID0gY3JlYXRlU2hhZG93SG9z
dChuZXN0ZWREZWxlZ2F0ZXNGb2N1cywgaG9zdC5zaGFkb3dSb290KTsKKyAgICAgIGNvbnN0IG5l
c3RlZFNoYWRvd0NoaWxkID0gY3JlYXRlRm9jdXNhYmxlRGl2KCk7CisgICAgICBuZXN0ZWRIb3N0
LnNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQobmVzdGVkU2hhZG93Q2hpbGQpOworICAgICAgbmVzdGVk
U2hhZG93Q2hpbGQuZm9jdXMoKTsKKyAgICAgIGFzc2VydF90cnVlKG5lc3RlZFNoYWRvd0NoaWxk
Lm1hdGNoZXMoIjpmb2N1cyIpLCAiZWxlbWVudCBpbiBuZXN0ZWQgc2hhZG93IHRyZWUgbWF0Y2hl
cyA6Zm9jdXMiKTsKKyAgICAgIGFzc2VydF90cnVlKG5lc3RlZEhvc3QubWF0Y2hlcygiOmZvY3Vz
IiksICJob3N0IG9mIG5lc3RlZCBzaGFkb3cgdHJlZSBtYXRjaGVzIGZvY3VzIik7CisgICAgICBh
c3NlcnRfdHJ1ZShob3N0Lm1hdGNoZXMoIjpmb2N1cyIpLCAidG9wbW9zdCBob3N0IG1hdGNoZXMg
Zm9jdXMiKTsKK30sIGA6Zm9jdXMgYXBwbGllcyB0byBob3N0IHdpdGggZGVsZWdhdGVzRm9jdXM9
JHtkZWxlZ2F0ZXNGb2N1c30gd2hlbiBhbiBlbGVtZW50IGluIGEgbmVzdGVkIHNoYWRvdyB0cmVl
IHdpdGggZGVsZWdhdGVzRm9jdXM9JHtuZXN0ZWREZWxlZ2F0ZXNGb2N1c30gaXMgZm9jdXNlZGAp
OworICB9Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJp
bmRleC1vcmRlci1zaGFkb3ctbmVnYXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXRhYmlu
ZGV4LW9yZGVyLXNoYWRvdy1uZWdhdGl2ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGZmZjNh
YTJjN2M2MzZjZjM4NzcwNzQwYmE1OGRlZWE4OTMyNTJhMgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1
cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ctbmVnYXRpdmUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNyBAQAorYWJvdmVIb3N0CitzbG90dGVkIGJlbG93CitzbG90dGVkIGFib3ZlCitiZWxv
d0hvc3QKKworUEFTUyBPcmRlciB3aGVuIGFsbCBlbGVtZW50cyBpbiBzaGFkb3cgdHJlZSBoYXMg
bmVnYXRpdmUgdGFiaW5kZXggCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRl
ci1zaGFkb3ctbmVnYXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ct
bmVnYXRpdmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYjI1ZWE4MjliZDEwOTUyYWQ2ZTk2ODk4ZmM5NWEx
YTFhZTI1ZDhmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNo
YWRvdy1uZWdhdGl2ZS5odG1sCkBAIC0wLDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPkhUTUwgVGVzdDogZm9jdXMgLSB0aGUgc2VxdWVu
dGlhbCBmb2N1cyBuYXZpZ2F0aW9uIG9yZGVyIHdpdGggc2hhZG93IGRvbSBhbmQgbmVnYXRpdmUg
dGFiaW5kZXggaW4gc2hhZG93IHNjb3BlPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0i
aHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJhY3Rpb24uaHRtbCNz
ZXF1ZW50aWFsLWZvY3VzLW5hdmlnYXRpb24iPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZl
ci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRv
ci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYWRvdy11dGlscy5qcyI+
PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisvLyBTdHJ1Y3R1cmU6CisvLyA8ZGl2ICNhYm92
ZUhvc3QgdGFiaW5kZXg9MD4KKy8vIDxkaXYgI2hvc3QgdGFiaW5kZXg9MD4KKy8vICAgICNzaGFk
b3dSb290CisvLyAgICAgIDxkaXYgI2Fib3ZlU2xvdCB0YWJpbmRleD0tMT4KKy8vICAgICAgPHNs
b3QgI3Nsb3RBYm92ZSB0YWJpbmRleD0tMT4KKy8vICAgICAgICAoc2xvdHRlZCkgPGRpdiAjc2xv
dHRlZEFib3ZlIHRhYmluZGV4PS0xPgorLy8gICAgICA8c2xvdCAjc2xvdEJlbG93IHRhYmluZGV4
PS0xPgorLy8gICAgICAgIChzbG90dGVkKSA8ZGl2ICNzbG90dGVkQmVsb3cgdGFiaW5kZXg9LTE+
CisvLyAgICAgIDxkaXYgI2JlbG93U2xvdCB0YWJpbmRleD0tMT4KKy8vIDxkaXYgI2JlbG93SG9z
dCB0YWJpbmRleD0wPgorCitwcm9taXNlX3Rlc3QoKCkgPT4geworICBsZXQgZWxlbWVudHNJbkZs
YXRUcmVlT3JkZXI7CisgIGxldCBbYWJvdmVIb3N0LCBob3N0LCBhYm92ZVNsb3QsIHNsb3RBYm92
ZSwgc2xvdHRlZEFib3ZlLCBzbG90QmVsb3csIHNsb3R0ZWRCZWxvdywgYmVsb3dTbG90LCBiZWxv
d0hvc3RdID0KKyAgICBlbGVtZW50c0luRmxhdFRyZWVPcmRlciA9IHByZXBhcmVET00oZG9jdW1l
bnQuYm9keSwgZmFsc2UpOworICBzZXRUYWJJbmRleChlbGVtZW50c0luRmxhdFRyZWVPcmRlciwg
LTEpOworICBzZXRUYWJJbmRleChbYWJvdmVIb3N0LCBob3N0LCBiZWxvd0hvc3RdLCAwKTsKKyAg
cmVzZXRGb2N1cygpOworICByZXR1cm4gYXNzZXJ0Rm9jdXNPcmRlcihbYWJvdmVIb3N0LCBob3N0
LCBiZWxvd0hvc3RdKTsKK30sICJPcmRlciB3aGVuIGFsbCBlbGVtZW50cyBpbiBzaGFkb3cgdHJl
ZSBoYXMgbmVnYXRpdmUgdGFiaW5kZXgiKTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9t
L2ZvY3VzL2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNoYWRvdy1zbG90LW9uZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20v
Zm9jdXMvZm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93LXNsb3Qtb25lLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40MDBlMmI4NzllNjMzYzhkOGM1ZTAyN2M4YzYwNGYwZWEyNDJlNDVlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNoYWRvdy1zbG90LW9uZS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACithYm92ZUhvc3QKK3Nsb3R0ZWQgYmVsb3cKK3Ns
b3R0ZWQgYWJvdmUKK2JlbG93SG9zdAorCitQQVNTIE9yZGVyIHdoZW4gYWxsIHRhYmluZGV4PTAs
IGV4Y2VwdCBmb3Igb25lIHNsb3QgdGhhdCBoYXMgdGFiaW5kZXg9MSAKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2Zv
Y3VzL2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNoYWRvdy1zbG90LW9uZS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3Vz
LXRhYmluZGV4LW9yZGVyLXNoYWRvdy1zbG90LW9uZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNjOWU3MDg2
N2M1ODgzZTk2ZjYyODhiODVhOWJhYzYwYjk1MjZmNGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMv
Zm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93LXNsb3Qtb25lLmh0bWwKQEAgLTAsMCArMSwzNyBA
QAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+SFRNTCBU
ZXN0OiBmb2N1cyAtIHRoZSBzZXF1ZW50aWFsIGZvY3VzIG5hdmlnYXRpb24gb3JkZXIgd2l0aCBz
aGFkb3cgZG9tIGFuZCBhbGwgdGFiaW5kZXg9MCBleGNlcHQgZm9yIG9uZSBvZiB0aGUgc2xvdDwv
dGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5v
cmcvbXVsdGlwYWdlL2ludGVyYWN0aW9uLmh0bWwjc2VxdWVudGlhbC1mb2N1cy1uYXZpZ2F0aW9u
Ij4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9zaGFkb3ctdXRpbHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0
PgorLy8gU3RydWN0dXJlOgorLy8gPGRpdiAjYWJvdmVIb3N0IHRhYmluZGV4PTA+CisvLyA8ZGl2
ICNob3N0IHRhYmluZGV4PTA+CisvLyAgICAjc2hhZG93Um9vdAorLy8gICAgICA8ZGl2ICNhYm92
ZVNsb3QgdGFiaW5kZXg9MD4KKy8vICAgICAgPHNsb3QgI3Nsb3RBYm92ZSB0YWJpbmRleD0wPgor
Ly8gICAgICAgIChzbG90dGVkKSA8ZGl2ICNzbG90dGVkQWJvdmUgdGFiaW5kZXg9MD4KKy8vICAg
ICAgPHNsb3QgI3Nsb3RCZWxvdyB0YWJpbmRleD0xPgorLy8gICAgICAgIChzbG90dGVkKSA8ZGl2
ICNzbG90dGVkQmVsb3cgdGFiaW5kZXg9MD4KKy8vICAgICAgPGRpdiAjYmVsb3dTbG90IHRhYmlu
ZGV4PTA+CisvLyA8ZGl2ICNiZWxvd0hvc3QgdGFiaW5kZXg9MD4KKworcHJvbWlzZV90ZXN0KCgp
ID0+IHsKKyAgbGV0IGVsZW1lbnRzSW5GbGF0VHJlZU9yZGVyOworICBsZXQgW2Fib3ZlSG9zdCwg
aG9zdCwgYWJvdmVTbG90LCBzbG90QWJvdmUsIHNsb3R0ZWRBYm92ZSwgc2xvdEJlbG93LCBzbG90
dGVkQmVsb3csIGJlbG93U2xvdCwgYmVsb3dIb3N0XSA9CisgICAgZWxlbWVudHNJbkZsYXRUcmVl
T3JkZXIgPSBwcmVwYXJlRE9NKGRvY3VtZW50LmJvZHksIGZhbHNlKTsKKyAgc2V0VGFiSW5kZXgo
ZWxlbWVudHNJbkZsYXRUcmVlT3JkZXIsIDApOworICBzbG90QmVsb3cudGFiSW5kZXggPSAxOwor
ICByZXNldEZvY3VzKCk7CisgIC8vIEZvY3VzIHNob3VsZCBtb3ZlIGZpcnN0IGFjY29yZGluZyB0
byBmbGF0IHRyZWUgb3JkZXIgdG8gI2Fib3ZlSG9zdCBhbmQgI2hvc3QsIHRoZW4gaW50byAjaG9z
dCdzIGZvY3VzIHNjb3BlLgorICAvLyBJdCB3aWxsIHRoZW4gbW92ZSB0byAjc2xvdHRlZEJlbG93
IGJlY2F1c2UgI3Nsb3RCZWxvdyBoYXMgdGFiaW5kZXg9MSAodGhvdWdoIHdlIGFjdHVhbGx5IHdv
bid0IGZvY3VzIG9uIHRoZSBzbG90KSwKKyAgLy8gYW5kIHRoZW4gYmFjayB0byAjaG9zdCdzIGZv
Y3VzIHNjb3BlIGFnYWluLCBmaW5hbGx5IGdldHRpbmcgb3V0IHRvIHRoZSBkb2N1bWVudCBmb2N1
cyBzY29wZS4KKyAgcmV0dXJuIGFzc2VydEZvY3VzT3JkZXIoW2Fib3ZlSG9zdCwgaG9zdCwgc2xv
dHRlZEJlbG93LCBhYm92ZVNsb3QsIHNsb3R0ZWRBYm92ZSwgYmVsb3dTbG90LCBiZWxvd0hvc3Rd
KTsKK30sICJPcmRlciB3aGVuIGFsbCB0YWJpbmRleD0wLCBleGNlcHQgZm9yIG9uZSBzbG90IHRo
YXQgaGFzIHRhYmluZGV4PTEiKTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3Vz
L2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNoYWRvdy12YXJ5aW5nLXRhYmluZGV4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ctdmFyeWluZy10YWJpbmRleC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOWI5NGE4MTFlYzNkNGMwZDhiZDUyNGUzMDEwNjc0YTA2Y2Y2
MjFkMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ct
dmFyeWluZy10YWJpbmRleC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACithYm92ZUhvc3QK
K3Nsb3R0ZWQgYmVsb3cKK3Nsb3R0ZWQgYWJvdmUKK2JlbG93SG9zdAorCitQQVNTIE9yZGVyIHdp
dGggdmFyaW91cyB0YWJpbmRleCB2YWx1ZXMgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJp
bmRleC1vcmRlci1zaGFkb3ctdmFyeWluZy10YWJpbmRleC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXRhYmlu
ZGV4LW9yZGVyLXNoYWRvdy12YXJ5aW5nLXRhYmluZGV4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODc1ZTVi
NjgxNGE5NTc1NGY1YzAxZDE4YzEyNWMzOWMzNjNhZDNjNgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1
cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ctdmFyeWluZy10YWJpbmRleC5odG1sCkBAIC0w
LDAgKzEsMzYgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPkhUTUwgVGVzdDogZm9jdXMgLSB0aGUgc2VxdWVudGlhbCBmb2N1cyBuYXZpZ2F0aW9uIG9y
ZGVyIHdpdGggc2hhZG93IGRvbSB3aXRoIHZhcnlpbmcgdGFiaW5kZXggdmFsdWVzPC90aXRsZT4K
KzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0
aXBhZ2UvaW50ZXJhY3Rpb24uaHRtbCNzZXF1ZW50aWFsLWZvY3VzLW5hdmlnYXRpb24iPgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3NoYWRvdy11dGlscy5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisvLyBT
dHJ1Y3R1cmU6CisvLyA8ZGl2ICNhYm92ZUhvc3QgdGFiaW5kZXg9Mz4KKy8vIDxkaXYgI2hvc3Qg
dGFiaW5kZXg9Mz4KKy8vICAgICNzaGFkb3dSb290CisvLyAgICAgIDxkaXYgI2Fib3ZlU2xvdCB0
YWJpbmRleD0yPgorLy8gICAgICA8c2xvdCAjc2xvdEFib3ZlIHRhYmluZGV4PTE+CisvLyAgICAg
ICAgKHNsb3R0ZWQpIDxkaXYgI3Nsb3R0ZWRBYm92ZSB0YWJpbmRleD00PgorLy8gICAgICA8c2xv
dCAjc2xvdEJlbG93IHRhYmluZGV4PTE+CisvLyAgICAgICAgKHNsb3R0ZWQpIDxkaXYgI3Nsb3R0
ZWRCZWxvdyB0YWJpbmRleD00PgorLy8gICAgICA8ZGl2ICNiZWxvd1Nsb3QgdGFiaW5kZXg9Mj4K
Ky8vIDxkaXYgI2JlbG93SG9zdCB0YWJpbmRleD0zPgorCitwcm9taXNlX3Rlc3QoKCkgPT4gewor
ICBsZXQgZWxlbWVudHNJbkZsYXRUcmVlT3JkZXI7CisgIGxldCBbYWJvdmVIb3N0LCBob3N0LCBh
Ym92ZVNsb3QsIHNsb3RBYm92ZSwgc2xvdHRlZEFib3ZlLCBzbG90QmVsb3csIHNsb3R0ZWRCZWxv
dywgYmVsb3dTbG90LCBiZWxvd0hvc3RdID0KKyAgICBlbGVtZW50c0luRmxhdFRyZWVPcmRlciA9
IHByZXBhcmVET00oZG9jdW1lbnQuYm9keSwgZmFsc2UpOworICBzZXRUYWJJbmRleChbc2xvdEFi
b3ZlLCBzbG90QmVsb3ddLCAxKTsKKyAgc2V0VGFiSW5kZXgoW2Fib3ZlU2xvdCwgYmVsb3dTbG90
XSwgMik7CisgIHNldFRhYkluZGV4KFthYm92ZUhvc3QsIGhvc3QsIGJlbG93SG9zdF0sIDMpOwor
ICBzZXRUYWJJbmRleChbc2xvdHRlZEFib3ZlLCBzbG90dGVkQmVsb3ddLCA0KTsKKyAgcmVzZXRG
b2N1cygpOworICByZXR1cm4gYXNzZXJ0Rm9jdXNPcmRlcihbYWJvdmVIb3N0LCBob3N0LCBzbG90
dGVkQWJvdmUsIHNsb3R0ZWRCZWxvdywgYWJvdmVTbG90LCBiZWxvd1Nsb3QsIGJlbG93SG9zdF0p
OworfSwgIk9yZGVyIHdpdGggdmFyaW91cyB0YWJpbmRleCB2YWx1ZXMiKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNoYWRvdy16ZXJv
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ctemVyby1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjBmZDFjNTY3YWI2NTg0MGNlOTk4YmM4YzE4MDU3NjBmNjY4
ZDY0MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ct
emVyby1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACithYm92ZUhvc3QKK3Nsb3R0ZWQgYmVs
b3cKK3Nsb3R0ZWQgYWJvdmUKK2JlbG93SG9zdAorCitQQVNTIE9yZGVyIHdoZW4gYWxsIHRhYmlu
ZGV4PTAgaXMgYW5kIGRlbGVnYXRlc0ZvY3VzID0gZmFsc2UgCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9m
b2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ctemVyby1ob3N0LW5lZ2F0aXZlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ctemVyby1ob3N0LW5lZ2F0aXZlLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZjYxYzhjOTBlMzBiMzA2ZTIyOTEzZjRjZGE2MWRjY2Ni
NGE3MTY5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNoYWRv
dy16ZXJvLWhvc3QtbmVnYXRpdmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorYWJvdmVI
b3N0CitzbG90dGVkIGJlbG93CitzbG90dGVkIGFib3ZlCitiZWxvd0hvc3QKKworUEFTUyBPcmRl
ciB3aGVuIGFsbCB0YWJpbmRleD0wIGV4Y2VwdCBmb3IgaG9zdCwgd2hpY2ggaGFzIHRhYmluZGV4
PS0xIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93LXplcm8t
aG9zdC1uZWdhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNoYWRvdy16ZXJv
LWhvc3QtbmVnYXRpdmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNDkxYzdkMjM3YzIwNjA0MDM5ZjJiNjQ4
MmQ0ODQ2MzVjOWY1MGRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXRhYmluZGV4LW9y
ZGVyLXNoYWRvdy16ZXJvLWhvc3QtbmVnYXRpdmUuaHRtbApAQCAtMCwwICsxLDM1IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5IVE1MIFRlc3Q6IGZv
Y3VzIC0gdGhlIHNlcXVlbnRpYWwgZm9jdXMgbmF2aWdhdGlvbiBvcmRlciB3aXRoIHNoYWRvdyBk
b20gYW5kIG5lZ2F0aXZlIGhvc3QgdGFiaW5kZXg8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBo
cmVmPSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5o
dG1sI3NlcXVlbnRpYWwtZm9jdXMtbmF2aWdhdGlvbiI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
ZHJpdmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXIt
dmVuZG9yLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhZG93LXV0aWxz
LmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KKy8vIFN0cnVjdHVyZToKKy8vIDxkaXYg
I2Fib3ZlSG9zdCB0YWJpbmRleD0wPgorLy8gPGRpdiAjaG9zdCB0YWJpbmRleD0tMT4KKy8vICAg
ICNzaGFkb3dSb290CisvLyAgICAgIDxkaXYgI2Fib3ZlU2xvdCB0YWJpbmRleD0wPgorLy8gICAg
ICA8c2xvdCAjc2xvdEFib3ZlIHRhYmluZGV4PTA+CisvLyAgICAgICAgKHNsb3R0ZWQpIDxkaXYg
I3Nsb3R0ZWRBYm92ZSB0YWJpbmRleD0wPgorLy8gICAgICA8c2xvdCAjc2xvdEJlbG93IHRhYmlu
ZGV4PTA+CisvLyAgICAgICAgKHNsb3R0ZWQpIDxkaXYgI3Nsb3R0ZWRCZWxvdyB0YWJpbmRleD0w
PgorLy8gICAgICA8ZGl2ICNiZWxvd1Nsb3QgdGFiaW5kZXg9MD4KKy8vIDxkaXYgI2JlbG93SG9z
dCB0YWJpbmRleD0wPgorCitwcm9taXNlX3Rlc3QoKCkgPT4geworICBsZXQgZWxlbWVudHNJbkZs
YXRUcmVlT3JkZXI7CisgIGxldCBbYWJvdmVIb3N0LCBob3N0LCBhYm92ZVNsb3QsIHNsb3RBYm92
ZSwgc2xvdHRlZEFib3ZlLCBzbG90QmVsb3csIHNsb3R0ZWRCZWxvdywgYmVsb3dTbG90LCBiZWxv
d0hvc3RdID0KKyAgICBlbGVtZW50c0luRmxhdFRyZWVPcmRlciA9IHByZXBhcmVET00oZG9jdW1l
bnQuYm9keSwgZmFsc2UpOworICBzZXRUYWJJbmRleChlbGVtZW50c0luRmxhdFRyZWVPcmRlciwg
MCk7CisgIGhvc3QudGFiSW5kZXggPSAtMTsKKyAgcmVzZXRGb2N1cygpOworICAvLyBGb2N1cyB3
aWxsbCBvbmx5IG1vdmUgd2l0aGluIHRoZSBmb2N1cyBuYXZpZ2F0aW9uIHNjb3BlIG9mIHRoZSBk
b2N1bWVudCAobm90IGdvaW5nIHRvIGdldCBpbnRvICNob3N0KS4KKyAgcmV0dXJuIGFzc2VydEZv
Y3VzT3JkZXIoW2Fib3ZlSG9zdCwgYmVsb3dIb3N0XSk7Cit9LCAiT3JkZXIgd2hlbiBhbGwgdGFi
aW5kZXg9MCBleGNlcHQgZm9yIGhvc3QsIHdoaWNoIGhhcyB0YWJpbmRleD0tMSIpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93
LXplcm8taG9zdC1ub3Qtc2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRl
ci1zaGFkb3ctemVyby1ob3N0LW5vdC1zZXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY0YmM5
ZWU0OTMyNGE3YjU4N2JjNDAxMmEyMDI0NTZlMDBhZGVhMDkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9j
dXMvZm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93LXplcm8taG9zdC1ub3Qtc2V0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDcgQEAKK2Fib3ZlSG9zdAorc2xvdHRlZCBiZWxvdworc2xvdHRlZCBh
Ym92ZQorYmVsb3dIb3N0CisKK1BBU1MgT3JkZXIgd2hlbiBhbGwgdGFiaW5kZXg9MCBleGNlcHQg
aG9zdCAodGFiaW5kZXggbm90IHNldCkgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRl
eC1vcmRlci1zaGFkb3ctemVyby1ob3N0LW5vdC1zZXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRl
eC1vcmRlci1zaGFkb3ctemVyby1ob3N0LW5vdC1zZXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMjU3MjYx
NDc3MTg2Yjk0MzIwYTQ4YmExNjUwMzQ4OTkxZGMyYTI2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3Vz
L2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNoYWRvdy16ZXJvLWhvc3Qtbm90LXNldC5odG1sCkBAIC0w
LDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPkhUTUwgVGVzdDogZm9jdXMgLSB0aGUgc2VxdWVudGlhbCBmb2N1cyBuYXZpZ2F0aW9uIG9y
ZGVyIHdpdGggc2hhZG93IGRvbSBhbmQgbm9uLWZvY3VzYWJsZSBob3N0PC90aXRsZT4KKzxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uv
aW50ZXJhY3Rpb24uaHRtbCNzZXF1ZW50aWFsLWZvY3VzLW5hdmlnYXRpb24iPgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGRyaXZlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0ZHJpdmVyLXZlbmRvci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3NoYWRvdy11dGlscy5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisvLyBTdHJ1Y3R1
cmU6CisvLyA8ZGl2ICNhYm92ZUhvc3QgdGFiaW5kZXg9MD4KKy8vIDxkaXYgI2hvc3Q+CisvLyAg
ICAjc2hhZG93Um9vdAorLy8gICAgICA8ZGl2ICNhYm92ZVNsb3QgdGFiaW5kZXg9MD4KKy8vICAg
ICAgPHNsb3QgI3Nsb3RBYm92ZSB0YWJpbmRleD0wPgorLy8gICAgICAgIChzbG90dGVkKSA8ZGl2
ICNzbG90dGVkQWJvdmUgdGFiaW5kZXg9MD4KKy8vICAgICAgPHNsb3QgI3Nsb3RCZWxvdyB0YWJp
bmRleD0wPgorLy8gICAgICAgIChzbG90dGVkKSA8ZGl2ICNzbG90dGVkQmVsb3cgdGFiaW5kZXg9
MD4KKy8vICAgICAgPGRpdiAjYmVsb3dTbG90IHRhYmluZGV4PTA+CisvLyA8ZGl2ICNiZWxvd0hv
c3QgdGFiaW5kZXg9MD4KKworcHJvbWlzZV90ZXN0KCgpID0+IHsKKyAgbGV0IGVsZW1lbnRzSW5G
bGF0VHJlZU9yZGVyOworICBsZXQgW2Fib3ZlSG9zdCwgaG9zdCwgYWJvdmVTbG90LCBzbG90QWJv
dmUsIHNsb3R0ZWRBYm92ZSwgc2xvdEJlbG93LCBzbG90dGVkQmVsb3csIGJlbG93U2xvdCwgYmVs
b3dIb3N0XSA9CisgICAgZWxlbWVudHNJbkZsYXRUcmVlT3JkZXIgPSBwcmVwYXJlRE9NKGRvY3Vt
ZW50LmJvZHksIGZhbHNlKTsKKyAgc2V0VGFiSW5kZXgoZWxlbWVudHNJbkZsYXRUcmVlT3JkZXIs
IDApOworICByZW1vdmVUYWJJbmRleChbaG9zdF0pOworICByZXNldEZvY3VzKCk7CisgIC8vIEZv
Y3VzIHNob3VsZCBtb3ZlIGluIGZsYXQgdHJlZSBvcmRlciBzaW5jZSBldmVyeSBvbmUgb2YgdGhl
bSBoYXMgdGFiaW5kZXggPT0wLAorICAvLyBidXQgZG9lc24ndCBpbmNsdWRlICNzbG90IHNpbmNl
IGl0J3Mgbm90IHJlbmRlcmVkIGFuZCAjaG9zdCBzaW5jZSBpdHMgdGFiaW5kZXggaXMgbm90IHNl
dAorICAvLyAoYnV0ICNob3N0IGlzIGNvbnNpZGVyZWQgYXMgMCBpbiBmb2N1cyBzY29wZSBuYXZp
Z2F0aW9uLCBrZWVwaW5nIHRoZSBmbGF0IHRyZWUgb3JkZXIgZm9yIHRoZSBzaGFkb3cgcm9vdCdz
IGRlc2NlbmRhbnRzKS4KKyAgcmV0dXJuIGFzc2VydEZvY3VzT3JkZXIoZWxlbWVudHNJbkZsYXRU
cmVlT3JkZXIuZmlsdGVyKGVsID0+IChlbCAhPT0gc2xvdEFib3ZlICYmIGVsICE9PSBzbG90QmVs
b3cgJiYgZWwgIT09IGhvc3QpKSk7Cit9LCAiT3JkZXIgd2hlbiBhbGwgdGFiaW5kZXg9MCBleGNl
cHQgaG9zdCAodGFiaW5kZXggbm90IHNldCkiKTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL2ZvY3VzL2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNoYWRvdy16ZXJvLWhvc3Qtb25lLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ctemVyby1ob3N0LW9uZS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmZlOGY3M2NiODUyY2UzNGRjNTM4ZDVlMTVhYWMxMmFj
MWZlNzk3ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFk
b3ctemVyby1ob3N0LW9uZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACithYm92ZUhvc3QK
K3Nsb3R0ZWQgYmVsb3cKK3Nsb3R0ZWQgYWJvdmUKK2JlbG93SG9zdAorCitQQVNTIE9yZGVyIHdo
ZW4gYWxsIHRhYmluZGV4PTAgZXhjZXB0IGZvciBob3N0LCB3aGljaCBoYXMgdGFiaW5kZXg9MSAK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNoYWRvdy16ZXJvLWhvc3Qt
b25lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3No
YWRvdy1kb20vZm9jdXMvZm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93LXplcm8taG9zdC1vbmUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xYWE1MjkyOTk3YTNlMjg3NTBlMTQzNzkzOWUzYzI0NDQ4MjQ1Yzhj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNoYWRvdy16ZXJv
LWhvc3Qtb25lLmh0bWwKQEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+SFRNTCBUZXN0OiBmb2N1cyAtIHRoZSBzZXF1ZW50aWFs
IGZvY3VzIG5hdmlnYXRpb24gb3JkZXIgd2l0aCBzaGFkb3cgZG9tIGFuZCBhbGwgdGFiaW5kZXg9
MCBleGNlcHQgaG9zdCAodGFiaW5kZXg9MSk8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVm
PSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1s
I3NlcXVlbnRpYWwtZm9jdXMtbmF2aWdhdGlvbiI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJp
dmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVu
ZG9yLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhZG93LXV0aWxzLmpz
Ij48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KKy8vIFN0cnVjdHVyZToKKy8vIDxkaXYgI2Fi
b3ZlSG9zdCB0YWJpbmRleD0wPgorLy8gPGRpdiAjaG9zdCB0YWJpbmRleD0xPgorLy8gICAgI3No
YWRvd1Jvb3QKKy8vICAgICAgPGRpdiAjYWJvdmVTbG90IHRhYmluZGV4PTA+CisvLyAgICAgIDxz
bG90ICNzbG90QWJvdmUgdGFiaW5kZXg9MD4KKy8vICAgICAgICAoc2xvdHRlZCkgPGRpdiAjc2xv
dHRlZEFib3ZlIHRhYmluZGV4PTA+CisvLyAgICAgIDxzbG90ICNzbG90QmVsb3cgdGFiaW5kZXg9
MD4KKy8vICAgICAgICAoc2xvdHRlZCkgPGRpdiAjc2xvdHRlZEJlbG93IHRhYmluZGV4PTA+Cisv
LyAgICAgIDxkaXYgI2JlbG93U2xvdCB0YWJpbmRleD0wPgorLy8gPGRpdiAjYmVsb3dIb3N0IHRh
YmluZGV4PTA+CisKK3Byb21pc2VfdGVzdCgoKSA9PiB7CisgIGxldCBlbGVtZW50c0luRmxhdFRy
ZWVPcmRlcjsKKyAgbGV0IFthYm92ZUhvc3QsIGhvc3QsIGFib3ZlU2xvdCwgc2xvdEFib3ZlLCBz
bG90dGVkQWJvdmUsIHNsb3RCZWxvdywgc2xvdHRlZEJlbG93LCBiZWxvd1Nsb3QsIGJlbG93SG9z
dF0gPQorICAgIGVsZW1lbnRzSW5GbGF0VHJlZU9yZGVyID0gcHJlcGFyZURPTShkb2N1bWVudC5i
b2R5LCBmYWxzZSk7CisgIHNldFRhYkluZGV4KGVsZW1lbnRzSW5GbGF0VHJlZU9yZGVyLCAwKTsK
KyAgaG9zdC50YWJJbmRleCA9IDE7CisgIHJlc2V0Rm9jdXMoKTsKKyAgLy8gRm9jdXMgc2hvdWxk
IG1vdmUgZmlyc3QgdG8gI2hvc3QgYmVjYXVzZSBpdCBoYXMgdGFiaW5kZXg9MSwgYW5kIHRoZW4g
dG8gdGhlIGNvbnRlbnRzIG9mIGl0cyBzY29wZQorICAvLyAoZS5nLiB0aGUgY29udGVudHMgb2Yg
aXRzIHNoYWRvdyB0cmVlKSBpbiBmbGF0IHRyZWUgb3JkZXIsIGFuZCB0aGVuIG91dHNpZGUgdG8g
dGhlIGRvY3VtZW50IHNjb3BlCisgIC8vIGFnYWluIChhYm92ZUhvc3QgJiBiZWxvd0hvc3QpLgor
ICByZXR1cm4gYXNzZXJ0Rm9jdXNPcmRlcihbaG9zdCwgYWJvdmVTbG90LCBzbG90dGVkQWJvdmUs
IHNsb3R0ZWRCZWxvdywgYmVsb3dTbG90LCBhYm92ZUhvc3QsIGJlbG93SG9zdF0pOworfSwgIk9y
ZGVyIHdoZW4gYWxsIHRhYmluZGV4PTAgZXhjZXB0IGZvciBob3N0LCB3aGljaCBoYXMgdGFiaW5k
ZXg9MSIpOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtdGFiaW5k
ZXgtb3JkZXItc2hhZG93LXplcm8uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFk
b3ctemVyby5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ4YjEyZWQ4YWM2ZTI0NTUzZjBjY2NjZWQ3ZjE2MTZi
YjU4ODQxM2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtdGFiaW5kZXgtb3JkZXItc2hh
ZG93LXplcm8uaHRtbApAQCAtMCwwICsxLDM1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5IVE1MIFRlc3Q6IGZvY3VzIC0gdGhlIHNlcXVlbnRpYWwg
Zm9jdXMgbmF2aWdhdGlvbiBvcmRlciB3aXRoIHNoYWRvdyBkb20gYW5kIGFsbCB0YWJpbmRleD0w
PC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdn
Lm9yZy9tdWx0aXBhZ2UvaW50ZXJhY3Rpb24uaHRtbCNzZXF1ZW50aWFsLWZvY3VzLW5hdmlnYXRp
b24iPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL3NoYWRvdy11dGlscy5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3Jp
cHQ+CisvLyBTdHJ1Y3R1cmU6CisvLyA8ZGl2ICNhYm92ZUhvc3QgdGFiaW5kZXg9MD4KKy8vIDxk
aXYgI2hvc3QgdGFiaW5kZXg9MD4KKy8vICAgICNzaGFkb3dSb290CisvLyAgICAgIDxkaXYgI2Fi
b3ZlU2xvdCB0YWJpbmRleD0wPgorLy8gICAgICA8c2xvdCAjc2xvdEFib3ZlIHRhYmluZGV4PTA+
CisvLyAgICAgICAgKHNsb3R0ZWQpIDxkaXYgI3Nsb3R0ZWRBYm92ZSB0YWJpbmRleD0wPgorLy8g
ICAgICA8c2xvdCAjc2xvdEJlbG93IHRhYmluZGV4PTA+CisvLyAgICAgICAgKHNsb3R0ZWQpIDxk
aXYgI3Nsb3R0ZWRCZWxvdyB0YWJpbmRleD0wPgorLy8gICAgICA8ZGl2ICNiZWxvd1Nsb3QgdGFi
aW5kZXg9MD4KKy8vIDxkaXYgI2JlbG93SG9zdCB0YWJpbmRleD0wPgorCitwcm9taXNlX3Rlc3Qo
KCkgPT4geworICBsZXQgZWxlbWVudHNJbkZsYXRUcmVlT3JkZXI7CisgIGxldCBbYWJvdmVIb3N0
LCBob3N0LCBhYm92ZVNsb3QsIHNsb3RBYm92ZSwgc2xvdHRlZEFib3ZlLCBzbG90QmVsb3csIHNs
b3R0ZWRCZWxvdywgYmVsb3dTbG90LCBiZWxvd0hvc3RdID0KKyAgICBlbGVtZW50c0luRmxhdFRy
ZWVPcmRlciA9IHByZXBhcmVET00oZG9jdW1lbnQuYm9keSwgZmFsc2UpOworICBzZXRUYWJJbmRl
eChlbGVtZW50c0luRmxhdFRyZWVPcmRlciwgMCk7CisgIHJlc2V0Rm9jdXMoKTsKKyAgLy8gRm9j
dXMgc2hvdWxkIG1vdmUgaW4gZmxhdCB0cmVlIG9yZGVyIHNpbmNlIGV2ZXJ5IG9uZSBvZiB0aGVt
IGhhcyB0YWJpbmRleD09MCwKKyAgLy8gYnV0IGRvZXNuJ3QgaW5jbHVkZSBzbG90cy4KKyAgcmV0
dXJuIGFzc2VydEZvY3VzT3JkZXIoZWxlbWVudHNJbkZsYXRUcmVlT3JkZXIuZmlsdGVyKGVsID0+
IChlbCAhPT0gc2xvdEFib3ZlICYmIGVsICE9PSBzbG90QmVsb3cpKSk7Cit9LCAiT3JkZXIgd2hl
biBhbGwgdGFiaW5kZXg9MCBpcyBhbmQgZGVsZWdhdGVzRm9jdXMgPSBmYWxzZSIpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvcmVzb3VyY2VzL3NoYWRvdy11dGlscy5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9m
b2N1cy9yZXNvdXJjZXMvc2hhZG93LXV0aWxzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgwMzNjZTAxNjlmNGFh
ODNiNTRjMzU2N2M2OGM0Y2M0ZjViN2E0OTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvcmVzb3Vy
Y2VzL3NoYWRvdy11dGlscy5qcwpAQCAtMCwwICsxLDgwIEBACisvLyBTdHJ1Y3R1cmU6CisvLyA8
ZGl2ICNhYm92ZUhvc3Q+CisvLyA8ZGl2ICNob3N0PgorLy8gICAgI3NoYWRvd1Jvb3QKKy8vICAg
ICAgPGRpdiAjYWJvdmVTbG90PgorLy8gICAgICA8c2xvdCAjc2xvdEFib3ZlPgorLy8gICAgICAg
IChzbG90dGVkKSA8ZGl2ICNzbG90dGVkQWJvdmU+CisvLyAgICAgIDxzbG90ICNzbG90QmVsb3c+
CisvLyAgICAgICAgKHNsb3R0ZWQpIDxkaXYgI3Nsb3R0ZWRCZWxvdz4KKy8vICAgICAgPGRpdiAj
YmVsb3dTbG90PgorLy8gPGRpdiAjYmVsb3dIb3N0PgorZnVuY3Rpb24gcHJlcGFyZURPTShjb250
YWluZXIsIGRlbGVnYXRlc0ZvY3VzKSB7CisKKyAgY29uc3QgYWJvdmVIb3N0ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiZGl2Iik7CisgIGFib3ZlSG9zdC5pbm5lclRleHQgPSAiYWJvdmVIb3N0
IjsKKyAgY29uc3QgaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICBob3N0
LmlkID0gImhvc3QiOworICBjb25zdCBzbG90dGVkQmVsb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJkaXYiKTsKKyAgc2xvdHRlZEJlbG93LmlubmVyVGV4dCA9ICJzbG90dGVkIGJlbG93IjsK
KyAgc2xvdHRlZEJlbG93LnNsb3QgPSAiYmVsb3ciOworICBjb25zdCBzbG90dGVkQWJvdmUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgc2xvdHRlZEFib3ZlLmlubmVyVGV4dCA9
ICJzbG90dGVkIGFib3ZlIjsKKyAgc2xvdHRlZEFib3ZlLnNsb3QgPSAiYWJvdmUiOworCisgIGNv
bnN0IGJlbG93SG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICBiZWxvd0hv
c3QuaW5uZXJUZXh0ID0gImJlbG93SG9zdCI7CisgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChhYm92
ZUhvc3QpOworICBjb250YWluZXIuYXBwZW5kQ2hpbGQoaG9zdCk7CisgIGNvbnRhaW5lci5hcHBl
bmRDaGlsZChiZWxvd0hvc3QpOworICBob3N0LmFwcGVuZENoaWxkKHNsb3R0ZWRCZWxvdyk7Cisg
IGhvc3QuYXBwZW5kQ2hpbGQoc2xvdHRlZEFib3ZlKTsKKyAgY29uc3Qgc2hhZG93Um9vdCA9IGhv
c3QuYXR0YWNoU2hhZG93KHsgbW9kZTogIm9wZW4iLCBkZWxlZ2F0ZXNGb2N1czogZGVsZWdhdGVz
Rm9jdXN9KTsKKyAgY29uc3QgYWJvdmVTbG90ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2
Iik7CisgIGFib3ZlU2xvdC5pbm5lclRleHQgPSAiYWJvdmVTbG90IjsKKworICBjb25zdCBzbG90
QWJvdmUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzbG90Iik7CisgIHNsb3RBYm92ZS5uYW1l
ID0gImFib3ZlIjsKKyAgY29uc3Qgc2xvdEJlbG93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
c2xvdCIpOworICBzbG90QmVsb3cubmFtZSA9ICJiZWxvdyI7CisKKyAgY29uc3QgYmVsb3dTbG90
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgIGJlbG93U2xvdC5pbm5lclRleHQg
PSAiYmVsb3dTbG90IjsKKyAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChhYm92ZVNsb3QpOworICBz
aGFkb3dSb290LmFwcGVuZENoaWxkKHNsb3RBYm92ZSk7CisgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hp
bGQoc2xvdEJlbG93KTsKKyAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChiZWxvd1Nsb3QpOworCisg
IHJldHVybiBbYWJvdmVIb3N0LCBob3N0LCBhYm92ZVNsb3QsIHNsb3RBYm92ZSwgc2xvdHRlZEFi
b3ZlLCBzbG90QmVsb3csIHNsb3R0ZWRCZWxvdywgYmVsb3dTbG90LCBiZWxvd0hvc3RdOworfQor
CitmdW5jdGlvbiBzZXRUYWJJbmRleChlbGVtZW50cywgdmFsdWUpIHsKKyAgZm9yIChjb25zdCBl
bCBvZiBlbGVtZW50cykgeworICAgIGVsLnRhYkluZGV4ID0gdmFsdWU7CisgIH0KK30KKworZnVu
Y3Rpb24gcmVtb3ZlVGFiSW5kZXgoZWxlbWVudHMpIHsKKyAgZm9yIChjb25zdCBlbCBvZiBlbGVt
ZW50cykgeworICAgIGVsLnJlbW92ZUF0dHJpYnV0ZSgidGFiaW5kZXgiKTsKKyAgfQorfQorCitm
dW5jdGlvbiByZXNldEZvY3VzKHJvb3QgPSBkb2N1bWVudCkgeworICBpZiAocm9vdC5hY3RpdmVF
bGVtZW50KQorICAgIHJvb3QuYWN0aXZlRWxlbWVudC5ibHVyKCk7Cit9CisKK2Z1bmN0aW9uIG5h
dmlnYXRlRm9jdXNGb3J3YXJkKCkgeworICAvLyBUQUIgPSAnXHVlMDA0JworICByZXR1cm4gdGVz
dF9kcml2ZXIuc2VuZF9rZXlzKGRvY3VtZW50LmJvZHksICJcdWUwMDQiKTsKK30KKworYXN5bmMg
ZnVuY3Rpb24gYXNzZXJ0Rm9jdXNPcmRlcihleHBlY3RlZE9yZGVyKSB7CisgIGNvbnN0IHNoYWRv
d1Jvb3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpLnNoYWRvd1Jvb3Q7CisgIGZv
ciAoY29uc3QgZWwgb2YgZXhwZWN0ZWRPcmRlcikgeworICAgIGF3YWl0IG5hdmlnYXRlRm9jdXNG
b3J3YXJkKCk7CisgICAgY29uc3QgZm9jdXNlZCA9IHNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudCA/
IHNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudCA6IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7CisgICAg
YXNzZXJ0X2VxdWFscyhmb2N1c2VkLCBlbCk7CisgIH0KK30KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9yZXNv
dXJjZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjAwYzc3YzgwNTA0MjY3ZTMwZjk0Zjk5YTIyNDBmOTBiZmYwNGM2MzkKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3No
YWRvdy1kb20vZm9jdXMvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMTcgQEAK
K1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyBy
ZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQu
CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0
cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRv
b2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8g
Tk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3Bl
cnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyBy
ZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9m
IGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9mb2N1cy9yZXNvdXJjZXMvc2hhZG93LXV0aWxzLmpzCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMv
dzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NoYWRvdy1kb20vZm9jdXMvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjA0YWIwYmUw
YjA3ZjZlNjg0MDU0NGZmMWY1MTZiMjgwYjAwNjA5MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy93
M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDI1IEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rv
cnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkg
dGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCBy
ZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZv
cm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVz
dHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMg
ZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJl
Zml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoK
K05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvRG9jdW1lbnRPclNo
YWRvd1Jvb3QtYWN0aXZlRWxlbWVudC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXNlbGVjdG9yLWRlbGVnYXRl
c0ZvY3VzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93LW5lZ2F0aXZlLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1k
b20vZm9jdXMvZm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93LXNsb3Qtb25lLmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMv
Zm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93LXZhcnlpbmctdGFiaW5kZXguaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9m
b2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ctemVyby1ob3N0LW5lZ2F0aXZlLmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMv
Zm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93LXplcm8taG9zdC1ub3Qtc2V0Lmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMv
Zm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93LXplcm8taG9zdC1vbmUuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1
cy10YWJpbmRleC1vcmRlci1zaGFkb3ctemVyby5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vb2Zmc2V0UGFyZW50
LWFjcm9zcy1zaGFkb3ctYm91bmRhcmllcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vb2Zmc2V0UGFyZW50LWFjcm9z
cy1zaGFkb3ctYm91bmRhcmllcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGY0YTI4NTg1MzIz
MzM2MTE5NGU0NTliZDNkMjk3ZDkxZTFmN2JmZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9vZmZzZXRQYXJl
bnQtYWNyb3NzLXNoYWRvdy1ib3VuZGFyaWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBA
CisKK1BBU1Mgb2Zmc2V0UGFyZW50IG11c3QgcmV0dXJuIHRoZSBvZmZzZXQgcGFyZW50IGluIHRo
ZSBzYW1lIHNoYWRvdyB0cmVlIG9mIG9wZW4gbW9kZSAKK1BBU1Mgb2Zmc2V0UGFyZW50IG11c3Qg
cmV0dXJuIHRoZSBvZmZzZXQgcGFyZW50IGluIHRoZSBzYW1lIHNoYWRvdyB0cmVlIG9mIGNsb3Nl
ZCBtb2RlIAorUEFTUyBvZmZzZXRQYXJlbnQgbXVzdCByZXR1cm4gdGhlIG9mZnNldCBwYXJlbnQg
aW4gdGhlIHNhbWUgc2hhZG93IHRyZWUgb2Ygb3BlbiBtb2RlIGV2ZW4gd2hlbiBuZXN0ZWQgCitQ
QVNTIG9mZnNldFBhcmVudCBtdXN0IHJldHVybiB0aGUgb2Zmc2V0IHBhcmVudCBpbiB0aGUgc2Ft
ZSBzaGFkb3cgdHJlZSBvZiBjbG9zZWQgbW9kZSBldmVuIHdoZW4gbmVzdGVkIAorUEFTUyBvZmZz
ZXRQYXJlbnQgbXVzdCBza2lwIG9mZnNldCBwYXJlbnRzIG9mIGFuIGVsZW1lbnQgd2hlbiB0aGUg
Y29udGV4dCBvYmplY3QgaXMgYXNzaWduZWQgdG8gYSBzbG90IGluIGEgc2hhZG93IHRyZWUgb2Yg
b3BlbiBtb2RlIAorUEFTUyBvZmZzZXRQYXJlbnQgbXVzdCBza2lwIG9mZnNldCBwYXJlbnRzIG9m
IGFuIGVsZW1lbnQgd2hlbiB0aGUgY29udGV4dCBvYmplY3QgaXMgYXNzaWduZWQgdG8gYSBzbG90
IGluIGEgc2hhZG93IHRyZWUgb2YgY2xvc2VkIG1vZGUgCitQQVNTIG9mZnNldFBhcmVudCBtdXN0
IHNraXAgbXVsdGlwbGUgb2Zmc2V0IHBhcmVudHMgb2YgYW4gZWxlbWVudCB3aGVuIHRoZSBjb250
ZXh0IG9iamVjdCBpcyBhc3NpZ25lZCB0byBhIHNsb3QgaW4gYSBzaGFkb3cgdHJlZSBvZiBvcGVu
IG1vZGUgCitQQVNTIG9mZnNldFBhcmVudCBtdXN0IHNraXAgbXVsdGlwbGUgb2Zmc2V0IHBhcmVu
dHMgb2YgYW4gZWxlbWVudCB3aGVuIHRoZSBjb250ZXh0IG9iamVjdCBpcyBhc3NpZ25lZCB0byBh
IHNsb3QgaW4gYSBzaGFkb3cgdHJlZSBvZiBjbG9zZWQgbW9kZSAKK1BBU1Mgb2Zmc2V0UGFyZW50
IG11c3Qgc2tpcCBvZmZzZXQgcGFyZW50cyBvZiBhbiBlbGVtZW50IHdoZW4gdGhlIGNvbnRleHQg
b2JqZWN0IGlzIGFzc2lnbmVkIHRvIGEgc2xvdCBpbiBuZXN0ZWQgc2hhZG93IHRyZWVzIG9mIG9w
ZW4gbW9kZSAKK1BBU1Mgb2Zmc2V0UGFyZW50IG11c3Qgc2tpcCBvZmZzZXQgcGFyZW50cyBvZiBh
biBlbGVtZW50IHdoZW4gdGhlIGNvbnRleHQgb2JqZWN0IGlzIGFzc2lnbmVkIHRvIGEgc2xvdCBp
biBuZXN0ZWQgc2hhZG93IHRyZWVzIG9mIGNsb3NlZCBtb2RlIAorUEFTUyBvZmZzZXRQYXJlbnQg
bXVzdCBmaW5kIHRoZSBmaXJzdCBvZmZzZXQgcGFyZW50IHdoaWNoIGlzIGEgc2hhZG93LWluY2x1
ZGluZyBhbmNlc3RvciBvZiB0aGUgY29udGV4dCBvYmplY3QgZXZlbiBzb21lIHNoYWRvdyB0cmVl
IG9mIG9wZW4gbW9kZSBkaWQgbm90IGhhdmUgYW55IG9mZnNldCBwYXJlbnQgCitQQVNTIG9mZnNl
dFBhcmVudCBtdXN0IGZpbmQgdGhlIGZpcnN0IG9mZnNldCBwYXJlbnQgd2hpY2ggaXMgYSBzaGFk
b3ctaW5jbHVkaW5nIGFuY2VzdG9yIG9mIHRoZSBjb250ZXh0IG9iamVjdCBldmVuIHNvbWUgc2hh
ZG93IHRyZWUgb2YgY2xvc2VkIG1vZGUgZGlkIG5vdCBoYXZlIGFueSBvZmZzZXQgcGFyZW50IAor
UEFTUyBvZmZzZXRQYXJlbnQgbXVzdCByZXR1cm4gbnVsbCBvbiBhIGNoaWxkIGVsZW1lbnQgb2Yg
YSBzaGFkb3cgaG9zdCBmb3IgdGhlIHNoYWRvdyB0cmVlIGluIG9wZW4gbW9kZSB3aGljaCBpcyBu
b3QgYXNzaWduZWQgdG8gYW55IHNsb3QgCitQQVNTIG9mZnNldFBhcmVudCBtdXN0IHJldHVybiBu
dWxsIG9uIGEgY2hpbGQgZWxlbWVudCBvZiBhIHNoYWRvdyBob3N0IGZvciB0aGUgc2hhZG93IHRy
ZWUgaW4gY2xvc2VkIG1vZGUgd2hpY2ggaXMgbm90IGFzc2lnbmVkIHRvIGFueSBzbG90IAorUEFT
UyBvZmZzZXRQYXJlbnQgbXVzdCByZXR1cm4gbnVsbCBvbiBhIGNoaWxkIGVsZW1lbnQgb2YgYSBz
aGFkb3cgaG9zdCBmb3IgdGhlIHNoYWRvdyB0cmVlIGluIG9wZW4gbW9kZSB3aGljaCBpcyBub3Qg
aW4gdGhlIGZsYXQgdHJlZSAKK1BBU1Mgb2Zmc2V0UGFyZW50IG11c3QgcmV0dXJuIG51bGwgb24g
YSBjaGlsZCBlbGVtZW50IG9mIGEgc2hhZG93IGhvc3QgZm9yIHRoZSBzaGFkb3cgdHJlZSBpbiBj
bG9zZWQgbW9kZSB3aGljaCBpcyBub3QgaW4gdGhlIGZsYXQgdHJlZSAKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL29m
ZnNldFBhcmVudC1hY3Jvc3Mtc2hhZG93LWJvdW5kYXJpZXMuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9vZmZzZXRQYXJlbnQtYWNy
b3NzLXNoYWRvdy1ib3VuZGFyaWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTQ5MWUyMTIxMzM2ZDFiNTll
ZjY5MTk4ZmQwNDhhMjJhY2M4MGQ0NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9vZmZzZXRQYXJlbnQtYWNy
b3NzLXNoYWRvdy1ib3VuZGFyaWVzLmh0bWwKQEAgLTAsMCArMSwxOTAgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9ImF1dGhvciIgdGl0bGU9IlJ5b3N1a2Ug
Tml3YSIgaHJlZj0ibWFpbHRvOnJuaXdhQHdlYmtpdC5vcmciPgorPG1ldGEgbmFtZT0iYXNzZXJ0
IiBjb250ZW50PSJvZmZzZXRQYXJlbnQgc2hvdWxkIG9ubHkgcmV0dXJuIG5vZGVzIHRoYXQgYXJl
IHNoYWRvdyBpbmNsdWRpbmcgYW5jZXN0b3IiPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRw
czovL2RyYWZ0cy5jc3N3Zy5vcmcvY3Nzb20tdmlldy8jZG9tLWh0bWxlbGVtZW50LW9mZnNldHBh
cmVudCI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZG9tLnNwZWMud2hhdHdnLm9y
Zy8jY29uY2VwdC1zaGFkb3ctaW5jbHVkaW5nLWluY2x1c2l2ZS1hbmNlc3RvciI+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL2V2ZW50LXBhdGgtdGVzdC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9
InBvc2l0aW9uOiByZWxhdGl2ZSI+PC9kaXY+Cis8c2NyaXB0PgorCitjb25zdCBjb250YWluZXIg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVyJyk7CisKK2Z1bmN0aW9uIHRlc3RP
ZmZzZXRQYXJlbnRJblNoYWRvd1RyZWUobW9kZSkgeworICAgIHRlc3QoZnVuY3Rpb24gKCkgewor
ICAgICAgICBjb25zdCBob3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAg
ICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChob3N0KTsKKyAgICAgICAgdGhpcy5hZGRfY2xlYW51
cCgoKSA9PiBob3N0LnJlbW92ZSgpKTsKKyAgICAgICAgY29uc3Qgc2hhZG93Um9vdCA9IGhvc3Qu
YXR0YWNoU2hhZG93KHttb2RlfSk7CisgICAgICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxk
aXYgaWQ9InJlbGF0aXZlUGFyZW50IiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5n
LWxlZnQ6IDEwMHB4OyBwYWRkaW5nLXRvcDogNzBweDsiPjxkaXYgaWQ9InRhcmdldCI+PC9kaXY+
PC9kaXY+JzsKKyAgICAgICAgY29uc3QgcmVsYXRpdmVQYXJlbnQgPSBzaGFkb3dSb290LmdldEVs
ZW1lbnRCeUlkKCdyZWxhdGl2ZVBhcmVudCcpOworCisgICAgICAgIGFzc2VydF90cnVlKHJlbGF0
aXZlUGFyZW50IGluc3RhbmNlb2YgSFRNTERpdkVsZW1lbnQpOworICAgICAgICBjb25zdCB0YXJn
ZXQgPSBzaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKTsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyh0YXJnZXQub2Zmc2V0UGFyZW50LCByZWxhdGl2ZVBhcmVudCk7CisgICAgICAgIGFz
c2VydF9lcXVhbHModGFyZ2V0Lm9mZnNldExlZnQsIDEwMCk7CisgICAgICAgIGFzc2VydF9lcXVh
bHModGFyZ2V0Lm9mZnNldFRvcCwgNzApOworICAgIH0sIGBvZmZzZXRQYXJlbnQgbXVzdCByZXR1
cm4gdGhlIG9mZnNldCBwYXJlbnQgaW4gdGhlIHNhbWUgc2hhZG93IHRyZWUgb2YgJHttb2RlfSBt
b2RlYCk7Cit9CisKK3Rlc3RPZmZzZXRQYXJlbnRJblNoYWRvd1RyZWUoJ29wZW4nKTsKK3Rlc3RP
ZmZzZXRQYXJlbnRJblNoYWRvd1RyZWUoJ2Nsb3NlZCcpOworCitmdW5jdGlvbiB0ZXN0T2Zmc2V0
UGFyZW50SW5OZXN0ZWRTaGFkb3dUcmVlcyhtb2RlKSB7CisgICAgdGVzdChmdW5jdGlvbiAoKSB7
CisgICAgICAgIGNvbnN0IG91dGVySG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NlY3Rp
b24nKTsKKyAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKG91dGVySG9zdCk7CisgICAgICAg
IHRoaXMuYWRkX2NsZWFudXAoKCkgPT4gb3V0ZXJIb3N0LnJlbW92ZSgpKTsKKyAgICAgICAgY29u
c3Qgb3V0ZXJTaGFkb3cgPSBvdXRlckhvc3QuYXR0YWNoU2hhZG93KHttb2RlfSk7CisgICAgICAg
IG91dGVyU2hhZG93LmlubmVySFRNTCA9ICc8c2VjdGlvbiBpZD0ib3V0ZXJQYXJlbnQiIHN0eWxl
PSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTBweDsgbGVmdDogNTBweDsiPjwvc2VjdGlvbj4n
OworCisgICAgICAgIGNvbnN0IGlubmVySG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rp
dicpOworICAgICAgICBvdXRlclNoYWRvdy5maXJzdENoaWxkLmFwcGVuZENoaWxkKGlubmVySG9z
dCk7CisgICAgICAgIGNvbnN0IGlubmVyU2hhZG93ID0gaW5uZXJIb3N0LmF0dGFjaFNoYWRvdyh7
bW9kZX0pOworICAgICAgICBpbm5lclNoYWRvdy5pbm5lckhUTUwgPSAnPGRpdiBpZD0iaW5uZXJQ
YXJlbnQiIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IHBhZGRpbmctbGVmdDogNjBweDsgcGFk
ZGluZy10b3A6IDQwcHg7Ij48ZGl2IGlkPSJ0YXJnZXQiPjwvZGl2PjwvZGl2Pic7CisgICAgICAg
IGNvbnN0IGlubmVyUGFyZW50ID0gaW5uZXJTaGFkb3cuZ2V0RWxlbWVudEJ5SWQoJ2lubmVyUGFy
ZW50Jyk7CisKKyAgICAgICAgY29uc3QgdGFyZ2V0ID0gaW5uZXJTaGFkb3cuZ2V0RWxlbWVudEJ5
SWQoJ3RhcmdldCcpOworICAgICAgICBhc3NlcnRfdHJ1ZShpbm5lclBhcmVudCBpbnN0YW5jZW9m
IEhUTUxEaXZFbGVtZW50KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0YXJnZXQub2Zmc2V0UGFy
ZW50LCBpbm5lclBhcmVudCk7CisgICAgICAgIGFzc2VydF9lcXVhbHModGFyZ2V0Lm9mZnNldExl
ZnQsIDYwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0YXJnZXQub2Zmc2V0VG9wLCA0MCk7CisK
KyAgICAgICAgb3V0ZXJIb3N0LnJlbW92ZSgpOworICAgIH0sIGBvZmZzZXRQYXJlbnQgbXVzdCBy
ZXR1cm4gdGhlIG9mZnNldCBwYXJlbnQgaW4gdGhlIHNhbWUgc2hhZG93IHRyZWUgb2YgJHttb2Rl
fSBtb2RlIGV2ZW4gd2hlbiBuZXN0ZWRgKTsKK30KKwordGVzdE9mZnNldFBhcmVudEluTmVzdGVk
U2hhZG93VHJlZXMoJ29wZW4nKTsKK3Rlc3RPZmZzZXRQYXJlbnRJbk5lc3RlZFNoYWRvd1RyZWVz
KCdjbG9zZWQnKTsKKworZnVuY3Rpb24gdGVzdE9mZnNldFBhcmVudE9uRWxlbWVudEFzc2lnbmVk
VG9TbG90SW5zaWRlT2Zmc2V0UGFyZW50KG1vZGUpIHsKKyAgICB0ZXN0KGZ1bmN0aW9uICgpIHsK
KyAgICAgICAgY29uc3QgaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAg
ICAgICBob3N0LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJ0YXJnZXQiPjwvZGl2PicKKyAgICAgICAg
Y29udGFpbmVyLmFwcGVuZENoaWxkKGhvc3QpOworICAgICAgICB0aGlzLmFkZF9jbGVhbnVwKCgp
ID0+IGhvc3QucmVtb3ZlKCkpOworICAgICAgICBjb25zdCBzaGFkb3dSb290ID0gaG9zdC5hdHRh
Y2hTaGFkb3coe21vZGV9KTsKKyAgICAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGRpdiBz
dHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5nLWxlZnQ6IDg1cHg7IHBhZGRpbmctdG9w
OiA0NXB4OyI+PHNsb3Q+PC9zbG90PjwvZGl2Pic7CisgICAgICAgIGNvbnN0IHRhcmdldCA9IGhv
c3QucXVlcnlTZWxlY3RvcignI3RhcmdldCcpOworICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdl
dC5vZmZzZXRQYXJlbnQsIGNvbnRhaW5lcik7CisgICAgICAgIGFzc2VydF9lcXVhbHModGFyZ2V0
Lm9mZnNldExlZnQsIDg1KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0YXJnZXQub2Zmc2V0VG9w
LCA0NSk7CisgICAgfSwgYG9mZnNldFBhcmVudCBtdXN0IHNraXAgb2Zmc2V0IHBhcmVudHMgb2Yg
YW4gZWxlbWVudCB3aGVuIHRoZSBjb250ZXh0IG9iamVjdCBpcyBhc3NpZ25lZCB0byBhIHNsb3Qg
aW4gYSBzaGFkb3cgdHJlZSBvZiAke21vZGV9IG1vZGVgKTsKK30KKwordGVzdE9mZnNldFBhcmVu
dE9uRWxlbWVudEFzc2lnbmVkVG9TbG90SW5zaWRlT2Zmc2V0UGFyZW50KCdvcGVuJyk7Cit0ZXN0
T2Zmc2V0UGFyZW50T25FbGVtZW50QXNzaWduZWRUb1Nsb3RJbnNpZGVPZmZzZXRQYXJlbnQoJ2Ns
b3NlZCcpOworCitmdW5jdGlvbiB0ZXN0T2Zmc2V0UGFyZW50T25FbGVtZW50QXNzaWduZWRUb1Ns
b3RJbnNpZGVOZXN0ZWRPZmZzZXRQYXJlbnRzKG1vZGUpIHsKKyAgICB0ZXN0KGZ1bmN0aW9uICgp
IHsKKyAgICAgICAgY29uc3QgaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwor
ICAgICAgICBob3N0LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJ0YXJnZXQiIHN0eWxlPSJib3JkZXI6
c29saWQgMXB4IGJsdWU7Ij5oaTwvZGl2Pic7CisgICAgICAgIGNvbnN0IHByZXZpb3VzQmxvY2sg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAgcHJldmlvdXNCbG9jay5z
dHlsZS5oZWlnaHQgPSAnMTJweCc7CisgICAgICAgIGNvbnRhaW5lci5hcHBlbmQocHJldmlvdXNC
bG9jaywgaG9zdCk7CisgICAgICAgIHRoaXMuYWRkX2NsZWFudXAoKCkgPT4geyBjb250YWluZXIu
aW5uZXJIVE1MID0gJyc7IH0pOworICAgICAgICBjb25zdCBzaGFkb3dSb290ID0gaG9zdC5hdHRh
Y2hTaGFkb3coe21vZGV9KTsKKyAgICAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPHNlY3Rp
b24gc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgbWFyZ2luLWxlZnQ6IDIwcHg7IG1hcmdpbi10
b3A6IDEwMHB4OyBiYWNrZ3JvdW5kOiAjY2NjIj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1
dGU7IHRvcDogMTBweDsgbGVmdDogMTBweDsiPjxzbG90Pjwvc2xvdD48L2Rpdj48L3NlY3Rpb24+
JzsKKyAgICAgICAgY29uc3QgdGFyZ2V0ID0gaG9zdC5xdWVyeVNlbGVjdG9yKCcjdGFyZ2V0Jyk7
CisgICAgICAgIGFzc2VydF9lcXVhbHModGFyZ2V0Lm9mZnNldFBhcmVudCwgY29udGFpbmVyKTsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyh0YXJnZXQub2Zmc2V0TGVmdCwgMzApOworICAgICAgICBh
c3NlcnRfZXF1YWxzKHRhcmdldC5vZmZzZXRUb3AsIDEyMik7CisgICAgfSwgYG9mZnNldFBhcmVu
dCBtdXN0IHNraXAgbXVsdGlwbGUgb2Zmc2V0IHBhcmVudHMgb2YgYW4gZWxlbWVudCB3aGVuIHRo
ZSBjb250ZXh0IG9iamVjdCBpcyBhc3NpZ25lZCB0byBhIHNsb3QgaW4gYSBzaGFkb3cgdHJlZSBv
ZiAke21vZGV9IG1vZGVgKTsKK30KKwordGVzdE9mZnNldFBhcmVudE9uRWxlbWVudEFzc2lnbmVk
VG9TbG90SW5zaWRlTmVzdGVkT2Zmc2V0UGFyZW50cygnb3BlbicpOwordGVzdE9mZnNldFBhcmVu
dE9uRWxlbWVudEFzc2lnbmVkVG9TbG90SW5zaWRlTmVzdGVkT2Zmc2V0UGFyZW50cygnY2xvc2Vk
Jyk7CisKK2Z1bmN0aW9uIHRlc3RPZmZzZXRQYXJlbnRPbkVsZW1lbnRBc3NpZ25lZFRvU2xvdElu
c2lkZU5lc3RlZFNoYWRvd1RyZWVzKG1vZGUpIHsKKyAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAg
ICAgICAgY29uc3Qgb3V0ZXJIb3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2VjdGlvbicp
OworICAgICAgICBvdXRlckhvc3QuaW5uZXJIVE1MID0gJzxkaXYgaWQ9InRhcmdldCI+PC9kaXY+
JzsKKyAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKG91dGVySG9zdCk7CisgICAgICAgIHRo
aXMuYWRkX2NsZWFudXAoKCkgPT4gb3V0ZXJIb3N0LnJlbW92ZSgpKTsKKyAgICAgICAgY29uc3Qg
b3V0ZXJTaGFkb3cgPSBvdXRlckhvc3QuYXR0YWNoU2hhZG93KHttb2RlfSk7CisgICAgICAgIG91
dGVyU2hhZG93LmlubmVySFRNTCA9ICc8c2VjdGlvbiBzdHlsZT0icG9zaXRpb246IGFic29sdXRl
OyB0b3A6IDQwcHg7IGxlZnQ6IDUwcHg7Ij48ZGl2IGlkPSJpbm5lckhvc3QiPjxzbG90Pjwvc2xv
dD48L2Rpdj48L3NlY3Rpb24+JzsKKworICAgICAgICBjb25zdCBpbm5lclNoYWRvdyA9IG91dGVy
U2hhZG93LmdldEVsZW1lbnRCeUlkKCdpbm5lckhvc3QnKS5hdHRhY2hTaGFkb3coe21vZGV9KTsK
KyAgICAgICAgaW5uZXJTaGFkb3cuaW5uZXJIVE1MID0gJzxkaXYgc3R5bGU9InBvc2l0aW9uOiBh
YnNvbHV0ZTsgdG9wOiAyMDBweDsgbWFyZ2luLWxlZnQ6IDEwMHB4OyI+PHNsb3Q+PC9zbG90Pjwv
ZGl2Pic7CisKKyAgICAgICAgY29uc3QgdGFyZ2V0ID0gb3V0ZXJIb3N0LnF1ZXJ5U2VsZWN0b3Io
JyN0YXJnZXQnKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0YXJnZXQub2Zmc2V0UGFyZW50LCBj
b250YWluZXIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdldC5vZmZzZXRMZWZ0LCAxNTAp
OworICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdldC5vZmZzZXRUb3AsIDI0MCk7CisgICAgICAg
IG91dGVySG9zdC5yZW1vdmUoKTsKKyAgICB9LCBgb2Zmc2V0UGFyZW50IG11c3Qgc2tpcCBvZmZz
ZXQgcGFyZW50cyBvZiBhbiBlbGVtZW50IHdoZW4gdGhlIGNvbnRleHQgb2JqZWN0IGlzIGFzc2ln
bmVkIHRvIGEgc2xvdCBpbiBuZXN0ZWQgc2hhZG93IHRyZWVzIG9mICR7bW9kZX0gbW9kZWApOwor
fQorCit0ZXN0T2Zmc2V0UGFyZW50T25FbGVtZW50QXNzaWduZWRUb1Nsb3RJbnNpZGVOZXN0ZWRT
aGFkb3dUcmVlcygnb3BlbicpOwordGVzdE9mZnNldFBhcmVudE9uRWxlbWVudEFzc2lnbmVkVG9T
bG90SW5zaWRlTmVzdGVkU2hhZG93VHJlZXMoJ2Nsb3NlZCcpOworCitmdW5jdGlvbiB0ZXN0T2Zm
c2V0UGFyZW50T25FbGVtZW50SW5zaWRlU2hhZG93VHJlZVdpdGhvdXRPZmZzZXRQYXJlbnQobW9k
ZSkgeworICAgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgICAgICBjb25zdCBvdXRlckhvc3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWN0aW9uJyk7CisgICAgICAgIGNvbnRhaW5lci5hcHBl
bmRDaGlsZChvdXRlckhvc3QpOworICAgICAgICB0aGlzLmFkZF9jbGVhbnVwKCgpID0+IG91dGVy
SG9zdC5yZW1vdmUoKSk7CisgICAgICAgIGNvbnN0IG91dGVyU2hhZG93ID0gb3V0ZXJIb3N0LmF0
dGFjaFNoYWRvdyh7bW9kZX0pOworICAgICAgICBvdXRlclNoYWRvdy5pbm5lckhUTUwgPSAnPGRp
diBpZD0iaW5uZXJIb3N0Ij48ZGl2IGlkPSJ0YXJnZXQiPjwvZGl2PjwvZGl2Pic7CisKKyAgICAg
ICAgY29uc3QgaW5uZXJTaGFkb3cgPSBvdXRlclNoYWRvdy5nZXRFbGVtZW50QnlJZCgnaW5uZXJI
b3N0JykuYXR0YWNoU2hhZG93KHttb2RlfSk7CisgICAgICAgIGlubmVyU2hhZG93LmlubmVySFRN
TCA9ICc8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMjNweDsgbGVmdDogMjRw
eDsiPjxzbG90Pjwvc2xvdD48L2Rpdj4nOworCisgICAgICAgIGNvbnN0IHRhcmdldCA9IG91dGVy
U2hhZG93LnF1ZXJ5U2VsZWN0b3IoJyN0YXJnZXQnKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0
YXJnZXQub2Zmc2V0UGFyZW50LCBjb250YWluZXIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKHRh
cmdldC5vZmZzZXRMZWZ0LCAyNCk7CisgICAgICAgIGFzc2VydF9lcXVhbHModGFyZ2V0Lm9mZnNl
dFRvcCwgMjMpOworICAgIH0sIGBvZmZzZXRQYXJlbnQgbXVzdCBmaW5kIHRoZSBmaXJzdCBvZmZz
ZXQgcGFyZW50IHdoaWNoIGlzIGEgc2hhZG93LWluY2x1ZGluZyBhbmNlc3RvciBvZiB0aGUgY29u
dGV4dCBvYmplY3QgZXZlbiBzb21lIHNoYWRvdyB0cmVlIG9mICR7bW9kZX0gbW9kZSBkaWQgbm90
IGhhdmUgYW55IG9mZnNldCBwYXJlbnRgKTsKK30KKwordGVzdE9mZnNldFBhcmVudE9uRWxlbWVu
dEluc2lkZVNoYWRvd1RyZWVXaXRob3V0T2Zmc2V0UGFyZW50KCdvcGVuJyk7Cit0ZXN0T2Zmc2V0
UGFyZW50T25FbGVtZW50SW5zaWRlU2hhZG93VHJlZVdpdGhvdXRPZmZzZXRQYXJlbnQoJ2Nsb3Nl
ZCcpOworCitmdW5jdGlvbiB0ZXN0T2Zmc2V0UGFyZW50T25VbmFzc2lnbmVkQ2hpbGQobW9kZSkg
eworICAgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgICAgICBjb25zdCBob3N0ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnc2VjdGlvbicpOworICAgICAgICBob3N0LmlubmVySFRNTCA9ICc8ZGl2
IGlkPSJ0YXJnZXQiPjwvZGl2Pic7CisgICAgICAgIHRoaXMuYWRkX2NsZWFudXAoKCkgPT4gaG9z
dC5yZW1vdmUoKSk7CisgICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChob3N0KTsKKyAgICAg
ICAgY29uc3Qgc2hhZG93Um9vdCA9IGhvc3QuYXR0YWNoU2hhZG93KHttb2RlfSk7CisgICAgICAg
IHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxzZWN0aW9uIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1
dGU7IHRvcDogNTBweDsgbGVmdDogNTBweDsiPmNvbnRlbnQ8L3NlY3Rpb24+JzsKKyAgICAgICAg
Y29uc3QgdGFyZ2V0ID0gaG9zdC5xdWVyeVNlbGVjdG9yKCcjdGFyZ2V0Jyk7CisgICAgICAgIGFz
c2VydF9lcXVhbHModGFyZ2V0Lm9mZnNldFBhcmVudCwgbnVsbCk7CisgICAgICAgIGFzc2VydF9l
cXVhbHModGFyZ2V0Lm9mZnNldExlZnQsIDApOworICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdl
dC5vZmZzZXRUb3AsIDApOworICAgIH0sIGBvZmZzZXRQYXJlbnQgbXVzdCByZXR1cm4gbnVsbCBv
biBhIGNoaWxkIGVsZW1lbnQgb2YgYSBzaGFkb3cgaG9zdCBmb3IgdGhlIHNoYWRvdyB0cmVlIGlu
ICR7bW9kZX0gbW9kZSB3aGljaCBpcyBub3QgYXNzaWduZWQgdG8gYW55IHNsb3RgKTsKK30KKwor
dGVzdE9mZnNldFBhcmVudE9uVW5hc3NpZ25lZENoaWxkKCdvcGVuJyk7Cit0ZXN0T2Zmc2V0UGFy
ZW50T25VbmFzc2lnbmVkQ2hpbGQoJ2Nsb3NlZCcpOworCitmdW5jdGlvbiB0ZXN0T2Zmc2V0UGFy
ZW50T25Bc3NpZ25lZENoaWxkTm90SW5GbGF0VHJlZShtb2RlKSB7CisgICAgdGVzdChmdW5jdGlv
biAoKSB7CisgICAgICAgIGNvbnN0IG91dGVySG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J3NlY3Rpb24nKTsKKyAgICAgICAgb3V0ZXJIb3N0LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJ0YXJn
ZXQiPjwvZGl2Pic7CisgICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChvdXRlckhvc3QpOwor
ICAgICAgICB0aGlzLmFkZF9jbGVhbnVwKCgpID0+IG91dGVySG9zdC5yZW1vdmUoKSk7CisgICAg
ICAgIGNvbnN0IG91dGVyU2hhZG93ID0gb3V0ZXJIb3N0LmF0dGFjaFNoYWRvdyh7bW9kZX0pOwor
ICAgICAgICBvdXRlclNoYWRvdy5pbm5lckhUTUwgPSAnPGRpdiBpZD0iaW5uZXJIb3N0Ij48ZGl2
IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTBweDsgbGVmdDogNTBweDsiPjxzbG90
Pjwvc2xvdD48L2Rpdj48L2Rpdj4nOworCisgICAgICAgIGNvbnN0IGlubmVyU2hhZG93ID0gb3V0
ZXJTaGFkb3cuZ2V0RWxlbWVudEJ5SWQoJ2lubmVySG9zdCcpLmF0dGFjaFNoYWRvdyh7bW9kZX0p
OworICAgICAgICBpbm5lclNoYWRvdy5pbm5lckhUTUwgPSAnPGRpdj5jb250ZW50PC9kaXY+JzsK
KworICAgICAgICBjb25zdCB0YXJnZXQgPSBvdXRlckhvc3QucXVlcnlTZWxlY3RvcignI3Rhcmdl
dCcpOworICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdldC5vZmZzZXRQYXJlbnQsIG51bGwpOwor
ICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdldC5vZmZzZXRMZWZ0LCAwKTsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyh0YXJnZXQub2Zmc2V0VG9wLCAwKTsKKyAgICB9LCBgb2Zmc2V0UGFyZW50IG11
c3QgcmV0dXJuIG51bGwgb24gYSBjaGlsZCBlbGVtZW50IG9mIGEgc2hhZG93IGhvc3QgZm9yIHRo
ZSBzaGFkb3cgdHJlZSBpbiAke21vZGV9IG1vZGUgd2hpY2ggaXMgbm90IGluIHRoZSBmbGF0IHRy
ZWVgKTsKK30KKwordGVzdE9mZnNldFBhcmVudE9uQXNzaWduZWRDaGlsZE5vdEluRmxhdFRyZWUo
J29wZW4nKTsKK3Rlc3RPZmZzZXRQYXJlbnRPbkFzc2lnbmVkQ2hpbGROb3RJbkZsYXRUcmVlKCdj
bG9zZWQnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vcmVzb3Vy
Y2VzL3NoYWRvdy1kb20uanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NoYWRvdy1kb20vcmVzb3VyY2VzL3NoYWRvdy1kb20uanMKaW5kZXggMTkyYWQ0NTQx
MzAzNWFlNjI5YmE4MTU4YTVjZWFjYTE3MWFmMTFmYS4uODFiOWEzZDRmYWUyMjZlZDQ2MDU4M2Ni
OTRhMjQ0M2M4MDdlM2NlMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL3Jlc291cmNlcy9zaGFkb3ctZG9tLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9y
ZXNvdXJjZXMvc2hhZG93LWRvbS5qcwpAQCAtMjEsMTMgKzIxLDcgQEAgZnVuY3Rpb24gY3JlYXRl
VGVzdFRyZWUobm9kZSkgewogICBmdW5jdGlvbiBhdHRhY2hTaGFkb3dGcm9tVGVtcGxhdGUodGVt
cGxhdGUpIHsKICAgICBsZXQgcGFyZW50ID0gdGVtcGxhdGUucGFyZW50Tm9kZTsKICAgICBwYXJl
bnQucmVtb3ZlQ2hpbGQodGVtcGxhdGUpOwotICAgIGxldCBzaGFkb3dSb290OwotICAgIGlmICh0
ZW1wbGF0ZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtbW9kZScpID09PSAndjAnKSB7Ci0gICAgICAvLyBG
b3IgbGVnYWN5IFNoYWRvdyBET00KLSAgICAgIHNoYWRvd1Jvb3QgPSBwYXJlbnQuY3JlYXRlU2hh
ZG93Um9vdCgpOwotICAgIH0gZWxzZSB7Ci0gICAgICBzaGFkb3dSb290ID0gcGFyZW50LmF0dGFj
aFNoYWRvdyh7bW9kZTogdGVtcGxhdGUuZ2V0QXR0cmlidXRlKCdkYXRhLW1vZGUnKX0pOwotICAg
IH0KKyAgICBsZXQgc2hhZG93Um9vdCA9IHBhcmVudC5hdHRhY2hTaGFkb3coe21vZGU6IHRlbXBs
YXRlLmdldEF0dHJpYnV0ZSgnZGF0YS1tb2RlJyl9KTsKICAgICBsZXQgaWQgPSB0ZW1wbGF0ZS5p
ZDsKICAgICBpZiAoaWQpIHsKICAgICAgIHNoYWRvd1Jvb3QuaWQgPSBpZDsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9z
Y3JvbGwtdG8tdGhlLWZyYWdtZW50LWluLXNoYWRvdy10cmVlLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vc2Nyb2xsLXRvLXRoZS1m
cmFnbWVudC1pbi1zaGFkb3ctdHJlZS5odG1sCmluZGV4IGM4NzkzMmViNjJmNDM1ZWNmMjRjZjMw
MjI5NjY5YjU2OTE2MWIxYzcuLmI0ZWNjMTZhNjdkYWViMTE2MDUyM2UxMGNjYTA1N2QwYzk1ODJk
NWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9zY3JvbGwtdG8tdGhlLWZyYWdtZW50LWluLXNoYWRvdy10cmVlLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL3Njcm9sbC10by10aGUtZnJhZ21lbnQtaW4tc2hhZG93LXRyZWUuaHRtbApAQCAtNSw2ICs1
LDcgQEAKIDxtZXRhIG5hbWU9ImF1dGhvciIgdGl0bGU9IlJ5b3N1a2UgTml3YSIgaHJlZj0ibWFp
bHRvOnJuaXdhQHdlYmtpdC5vcmciPgogPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJBbiBl
bGVtZW50IGluc2lkZSBhIHNoYWRvdyB0cmVlIHNob3VsZCBub3QgYmUgdGhlIGluZGljYXRlZCBw
YXJ0IG9mIHRoZSBkb2N1bWVudCBldmVuIGlmIGl0cyBJRCBpcyBleGFjdGx5IGVxdWFsIHRvIHRo
ZSBkZWNvZGVkIGZyYWdpZCBvciBpdHMgbmFtZSBhdHRyaWJ1dGUgaXMgZXhhY3RseSBlcXVhbCB0
byB0aGUgZnJhZ2lkIj4KIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMu
d2hhdHdnLm9yZy9tdWx0aXBhZ2UvYnJvd3NlcnMuaHRtbCNzY3JvbGwtdG8tdGhlLWZyYWdtZW50
LWlkZW50aWZpZXIiPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCxpbml0aWFsLXNjYWxlPTEiPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL3czYy1pbXBvcnQubG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL3cz
Yy1pbXBvcnQubG9nCmluZGV4IGU4M2E4ZDNiNjQ1ZjNlZjlkYTg0MzVkNGE2MjNmZTEzZDBkYThm
NTQuLjlkYzJlNzE1MDgwYmNkYmM0NTU5ODMzMDYxYjY0YmU0ODU5YmVkY2UgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS93
M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NoYWRvdy1kb20vdzNjLWltcG9ydC5sb2cKQEAgLTI5LDggKzI5LDExIEBAIExpc3Qg
b2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
aGFkb3ctZG9tL1JhbmdlLXByb3RvdHlwZS1pbnNlcnROb2RlLmh0bWwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vU2hhZG93Um9vdC1pbnRl
cmZhY2UuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9TbG90YWJsZS1pbnRlcmZhY2UuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9jYXB0dXJpbmctYW5kLWJ1YmJsaW5n
LWV2ZW50LWxpc3RlbmVycy1hY3Jvc3Mtc2hhZG93LXRyZWVzLmh0bWwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGlyZWN0aW9uYWxpdHkt
MDAxLnRlbnRhdGl2ZS1leHBlY3RlZC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RpcmVjdGlvbmFsaXR5LTAwMS50ZW50YXRpdmUu
aHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9kaXJlY3Rpb25hbGl0eS0wMDIudGVudGF0aXZlLWV4cGVjdGVkLmh0bWwKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGlyZWN0aW9u
YWxpdHktMDAyLnRlbnRhdGl2ZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2V2ZW50LWNvbXBvc2VkLXBhdGgtYWZ0ZXItZG9tLW11
dGF0aW9uLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vZXZlbnQtY29tcG9zZWQtcGF0aC13aXRoLXJlbGF0ZWQtdGFyZ2V0Lmh0bWwK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20v
ZXZlbnQtY29tcG9zZWQtcGF0aC5odG1sCkBAIC00OSw2ICs1Miw3IEBAIExpc3Qgb2YgZmlsZXM6
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9t
L2xheW91dC1zbG90LW5vLWxvbmdlci1hc3NpZ25lZC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2xheW91dC1zbG90LW5vLWxvbmdl
ci1mYWxsYmFjay1leHBlY3RlZC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2xheW91dC1zbG90LW5vLWxvbmdlci1mYWxsYmFjay5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL29mZnNldFBhcmVudC1hY3Jvc3Mtc2hhZG93LWJvdW5kYXJpZXMuaHRtbAogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9zY3JvbGwtdG8t
dGhlLWZyYWdtZW50LWluLXNoYWRvdy10cmVlLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vc2xvdGNoYW5nZS1jdXN0b21lbGVtZW50
cy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFk
b3ctZG9tL3Nsb3RjaGFuZ2UtZXZlbnQuaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380079</attachid>
            <date>2019-10-02 21:28:36 -0700</date>
            <delta_ts>2019-10-02 21:29:29 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-202497-20191002212835.patch</filename>
            <type>text/plain</type>
            <size>89079</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNjI2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjUxODY2YjFkZDRlNzk5MDNlNmUz
MDJiOGIzMTg0M2Q3Y2UzYzBkMy4uYjczMmMxMDE2NWE2NTNhY2FlNjUwMmRhZGQ3YzQ1MmI0YzVl
OWIyNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTEwLTAyICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlc3luYyBXUFQgc2hhZG93IERPTSB0ZXN0cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNDk3CisK
KyAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgU2FtIFdlaW5pZy4KKworICAgICAgICBBZGRlZCBh
IGZhaWxpbmcgZXhwZWN0YXRpb24uIEFsc28gc2tpcHBlZCBmb2N1cyB0ZXN0cyBvbiBpT1MgZm9y
IG5vdyBzaW5jZSBzZW5kaW5nIHRhYiBrZXkgdmlhIFVJQ29udHJvbGxlcgorICAgICAgICBkb2Vz
bid0IHNlZW0gdG8gbW92ZSB0aGUgZm9jdXMgb24gaU9TIHNvbWVob3cgZXZlbiB0aG91Z2ggbWFu
dWFsIHRlc3Rpbmcgc2VlbXMgdG8gd29yay4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6
CisgICAgICAgICogcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTktMTAtMDIg
IEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CiAKICAgICAgICAgVXBk
YXRlZCByZXNvdXJjZSBsb2FkIHN0YXRpc3RpY3MgYXJlIG5ldmVyIG1lcmdlZCBpbnRvIHRoZSBT
UUxpdGUgRGF0YWJhc2UgYmFja2VuZCAoMjAyMzcyKS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCmluZGV4IGQ5MWI4MjQ5ZmNiYTYzODNjNzM1MTEwZWFhNDhlYWJmNDVjMzUxMDcuLmYzMTNh
ODUyYjU3YTg5YzRmMTVlMTA1ODY0NWM4ZGU5NjFkYmVlYjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDU4IEBACisyMDE5LTEwLTAyICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlc3luYyBXUFQgc2hhZG93IERPTSB0ZXN0cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNDk3CisK
KyAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgU2FtIFdlaW5pZy4KKworICAgICAgICBTeW5jIHNo
YWRvdyBET00gdGVzdHMgYXMgb2YgZTMzYzIxNmU2MzViNDYxNWU0MzMyOTUzZmNiNzU4ZjY5OGVj
ZDUxMC4gQWxzbyBhZGRlZCBlbm91Z2ggc3VwcG9ydCBmb3IKKyAgICAgICAgc2VuZGluZyBrZXkg
ZXZlbnRzIHNvIHRoYXQgc2VxdWVudGlhbCBmb2N1c2luZyB0ZXN0cyB3b3VsZCB3b3JrLgorCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5q
czoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9Eb2N1bWVudE9yU2hh
ZG93Um9vdC1wcm90b3R5cGUtZWxlbWVudEZyb21Qb2ludC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRG9jdW1lbnRPclNoYWRvd1Jvb3QtcHJv
dG90eXBlLWVsZW1lbnRGcm9tUG9pbnQuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9FbGVtZW50LWludGVyZmFjZS1hdHRhY2hTaGFkb3ctY3VzdG9tLWVsZW1l
bnQuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9FbGVtZW50
LWludGVyZmFjZS1hdHRhY2hTaGFkb3ctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0VsZW1lbnQtaW50ZXJmYWNlLWF0dGFjaFNoYWRvdy5odG1s
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL01FVEEueW1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9jYXB0dXJpbmctYW5k
LWJ1YmJsaW5nLWV2ZW50LWxpc3RlbmVycy1hY3Jvc3Mtc2hhZG93LXRyZWVzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vY2FwdHVy
aW5nLWFuZC1idWJibGluZy1ldmVudC1saXN0ZW5lcnMtYWNyb3NzLXNoYWRvdy10cmVlcy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kaXJlY3Rp
b25hbGl0eS0wMDIudGVudGF0aXZlLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RpcmVjdGlvbmFsaXR5LTAwMi50ZW50YXRpdmUu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9j
dXMvRG9jdW1lbnRPclNoYWRvd1Jvb3QtYWN0aXZlRWxlbWVudC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL0RvY3VtZW50
T3JTaGFkb3dSb290LWFjdGl2ZUVsZW1lbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtc2VsZWN0b3ItZGVsZWdhdGVzRm9j
dXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9mb2N1cy9mb2N1cy1zZWxlY3Rvci1kZWxlZ2F0ZXNGb2N1cy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJp
bmRleC1vcmRlci1zaGFkb3ctbmVnYXRpdmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRl
ci1zaGFkb3ctbmVnYXRpdmUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93LXNsb3Qtb25l
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRv
dy1kb20vZm9jdXMvZm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93LXNsb3Qtb25lLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3Vz
LXRhYmluZGV4LW9yZGVyLXNoYWRvdy12YXJ5aW5nLXRhYmluZGV4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMt
dGFiaW5kZXgtb3JkZXItc2hhZG93LXZhcnlpbmctdGFiaW5kZXguaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtdGFiaW5kZXgt
b3JkZXItc2hhZG93LXplcm8tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ct
emVyby1ob3N0LW5lZ2F0aXZlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93
LXplcm8taG9zdC1uZWdhdGl2ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ctemVyby1o
b3N0LW5vdC1zZXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ctemVyby1o
b3N0LW5vdC1zZXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3No
YWRvdy1kb20vZm9jdXMvZm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93LXplcm8taG9zdC1vbmUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ctemVyby1ob3N0LW9uZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9m
b2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ctemVyby5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9yZXNvdXJjZXMvc2hhZG93LXV0aWxz
LmpzOiBBZGRlZC4KKyAgICAgICAgKHByZXBhcmVET00pOgorICAgICAgICAoc2V0VGFiSW5kZXgp
OgorICAgICAgICAocmVtb3ZlVGFiSW5kZXgpOgorICAgICAgICAocmVzZXRGb2N1cyk6CisgICAg
ICAgIChuYXZpZ2F0ZUZvY3VzRm9yd2FyZCk6CisgICAgICAgIChhc3luYy5hc3NlcnRGb2N1c09y
ZGVyKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9yZXNv
dXJjZXMvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9zaGFkb3ctZG9tL2ZvY3VzL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9vZmZzZXRQYXJlbnQtYWNyb3NzLXNoYWRvdy1ib3Vu
ZGFyaWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vb2Zmc2V0UGFyZW50LWFjcm9zcy1zaGFkb3ctYm91bmRhcmllcy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9yZXNvdXJjZXMv
c2hhZG93LWRvbS5qczoKKyAgICAgICAgKGNyZWF0ZVRlc3RUcmVlKToKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9zY3JvbGwtdG8tdGhlLWZyYWdtZW50LWluLXNoYWRv
dy10cmVlLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vdzNj
LWltcG9ydC5sb2c6CisKIDIwMTktMTAtMDIgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxl
LmNvbT4KIAogICAgICAgICBbV2ViIEFuaW1hdGlvbnNdIEltcGxlbWVudCByZXBsYWNlZCBhbmlt
YXRpb25zCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBiN2Y4OWFhZGM5MTFlYjhhOGYzN2RkYjRjNzk5
N2FkYWFmMzI1NDRhLi42MTg2MmUzM2RlN2IyNGI3MjhmYjljOWMxNTNjZjczODA2NGRmYjg0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI2Myw2ICsyNjMsOCBAQCBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvaGlzdG9yeS90aGUtbG9jYXRpb24taW50ZXJmYWNl
L2xvYwogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2hpc3Rv
cnkvdGhlLWxvY2F0aW9uLWludGVyZmFjZS9sb2NhdGlvbi1wcm90b2NvbC1zZXR0ZXItbm9uLWJy
b2tlbi13ZWlyZC5odG1sIFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNo
LWNvcnMteGhyLmh0dHBzLmh0bWwgWyBEdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgXQogCit3ZWJr
aXQub3JnL2IvMjAyNDk1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9kaXJlY3Rpb25hbGl0eS0wMDIudGVudGF0aXZlLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
KwogIyBOZXdseSBpbXBvcnRlZCBXUFQgdGVzdHMgdGhhdCBhcmUgdGltaW5nIG91dC4KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9oaXN0b3J5L3RoZS1sb2Nh
dGlvbi1pbnRlcmZhY2UvbG9jYXRpb24tb3JpZ2luLWlkbmEuc3ViLndpbmRvdy5odG1sIFsgU2tp
cCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvaGlzdG9y
eS90aGUtbG9jYXRpb24taW50ZXJmYWNlL2xvY2F0aW9uX2Fzc2lnbi5odG1sIFsgU2tpcCBdCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzCmluZGV4IDVh
ZGMwMzA3ZDI1NjcyZTU2NzNiZDcxN2E5NjEyY2U3MTU5NDZmZGIuLmRjNWJiMWFhMjY4MzM4MjY0
OTdiYTQ1MTI2NmFhOTJiNmMwYzVhNDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3Rlc3Rkcml2ZXItdmVuZG9yLmpzCkBAIC0xMzYsNiArMTM2LDQ4IEBAIGZ1bmN0aW9uIGRpc3Bh
dGNoVG91Y2hBY3Rpb25zKGFjdGlvbnMsIG9wdGlvbnMgPSB7IGluc2VydFBhdXNlQWZ0ZXJQb2lu
dGVyVXA6IGZhCiBpZiAod2luZG93LnRlc3RfZHJpdmVyX2ludGVybmFsID09PSB1bmRlZmluZWQp
CiAgICAgd2luZG93LnRlc3RfZHJpdmVyX2ludGVybmFsID0geyB9OwogCit3aW5kb3cudGVzdF9k
cml2ZXJfaW50ZXJuYWwuc2VuZF9rZXlzID0gZnVuY3Rpb24oZWxlbWVudCwga2V5cykKK3sKKyAg
ICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKKyAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0
KG5ldyBFcnJvcigid2luZG93LmV2ZW50U2VuZGVyIGlzIHVuZGVmaW5lZC4iKSk7CisKKyAgICAv
LyBodHRwczovL3NlbGVuaXVtaHEuZ2l0aHViLmlvL3NlbGVuaXVtL2RvY3MvYXBpL3B5L3dlYmRy
aXZlci9zZWxlbml1bS53ZWJkcml2ZXIuY29tbW9uLmtleXMuaHRtbAorICAgIC8vIEZJWE1FOiBB
ZGQgbW9yZSBjYXNlcy4KKyAgICAvLyBGSVhNRTogQWRkIHRoZSBzdXBwb3J0IGZvciBtb2RpZmll
ciBrZXlzLgorICAgIGNvbnN0IFNlbGVuaXVtQ2hhckNvZGVUb0V2ZW50U2VuZGVyS2V5ID0gewor
ICAgICAgICAweEUwMDM6ICdkZWxldGUnLAorICAgICAgICAweEUwMDQ6ICdcdCcsCisgICAgICAg
IDB4RTAwRDogJyAnLAorICAgICAgICAweEUwMTI6ICdsZWZ0QXJyb3cnLAorICAgICAgICAweEUw
MTM6ICd1cEFycm93JywKKyAgICAgICAgMHhFMDE0OiAncmlnaHRBcnJvdycsCisgICAgICAgIDB4
RTAxNTogJ2Rvd25BcnJvdycsCisgICAgfTsKKworICAgIGZ1bmN0aW9uIGNvbnZlcnRTZWxlbml1
bUtleUNvZGUoa2V5KQorICAgIHsKKyAgICAgICAgY29uc3QgY29kZSA9IGtleS5jaGFyQ29kZUF0
KDApOworICAgICAgICByZXR1cm4gU2VsZW5pdW1DaGFyQ29kZVRvRXZlbnRTZW5kZXJLZXlbY29k
ZV0gfHwga2V5OworICAgIH0KKworICAgIGNvbnN0IGtleUxpc3QgPSBbXTsKKyAgICBmb3IgKGNv
bnN0IGtleSBvZiBrZXlzKQorICAgICAgICBrZXlMaXN0LnB1c2goY29udmVydFNlbGVuaXVtS2V5
Q29kZShrZXkpKTsKKworICAgIGlmICh0ZXN0UnVubmVyLmlzSU9TRmFtaWx5ICYmIHRlc3RSdW5u
ZXIuaXNXZWJLaXQyKSB7CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4g
eworICAgICAgICAgICAgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdChgCisgICAgICAgICAgICAgICAg
Y29uc3Qga2V5TGlzdCA9IEpTT04ucGFyc2UoJyR7SlNPTi5zdHJpbmdpZnkoa2V5TGlzdCl9Jyk7
CisgICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5TGlzdCkKKyAgICAgICAgICAg
ICAgICAgICAgdWlDb250cm9sbGVyLmtleURvd24oa2V5KTtgLCByZXNvbHZlKTsKKyAgICAgICAg
fSk7CisgICAgfQorCisgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5TGlzdCkKKyAgICAgICAgZXZl
bnRTZW5kZXIua2V5RG93bihrZXkpOworICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKK30K
Kwogd2luZG93LnRlc3RfZHJpdmVyX2ludGVybmFsLmFjdGlvbl9zZXF1ZW5jZSA9IGZ1bmN0aW9u
KHNvdXJjZXMpCiB7CiAgICAgLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmRyaXZlci8jcHJv
Y2Vzc2luZy1hY3Rpb25zICAgIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0RvY3VtZW50T3JTaGFkb3dSb290LXByb3Rv
dHlwZS1lbGVtZW50RnJvbVBvaW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9Eb2N1bWVudE9yU2hhZG93Um9vdC1w
cm90b3R5cGUtZWxlbWVudEZyb21Qb2ludC1leHBlY3RlZC50eHQKaW5kZXggMzdiMTJmZDhmODg0
ZjE0OThlNjQyYjFkMDkyYzNjZWRmZTRhOWYwZS4uOTY1MzM4MzIyNmNmYmI2NzNjYmViMWZmNjJl
MmU3ODQ0MTVkOGZkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0RvY3VtZW50T3JTaGFkb3dSb290LXByb3RvdHlwZS1l
bGVtZW50RnJvbVBvaW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRG9jdW1lbnRPclNoYWRvd1Jvb3QtcHJv
dG90eXBlLWVsZW1lbnRGcm9tUG9pbnQtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNCBAQAorZm9v
CiAKIFBBU1MgZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCBhbmQgc2hhZG93LkVsZW1lbnRGcm9t
UG9pbnQgbXVzdCByZXR1cm4gdGhlIHNoYWRvdyBob3N0IG9mIHRoZSBoaXQtdGVzdGVkIHRleHQg
bm9kZSB3aGVuIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSBpcyBhIGRpcmVjdCBjaGlsZCBvZiB0
aGUgcm9vdCBhbmQgdGhlIGhvc3QgaGFzIGRpc3BsYXk6IGlubGluZSAKIFBBU1MgZG9jdW1lbnQu
ZWxlbWVudEZyb21Qb2ludCBhbmQgc2hhZG93LkVsZW1lbnRGcm9tUG9pbnQgbXVzdCByZXR1cm4g
dGhlIHNoYWRvdyBob3N0IG9mIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSB3aGVuIHRoZSBoaXQt
dGVzdGVkIHRleHQgbm9kZSBpcyBhIGRpcmVjdCBjaGlsZCBvZiB0aGUgcm9vdCBhbmQgdGhlIGhv
c3QgaGFzIGRpc3BsYXk6IGJsb2NrIApAQCAtMzksNCArNDAsNSBAQCBQQVNTIGRvY3VtZW50LmVs
ZW1lbnRzRnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBzaGFkb3cgaG9zdCBhbmQgaXRzIGFuY2Vz
dG9ycyBhbgogUEFTUyBkb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludCBtdXN0IHJldHVybiB0aGUg
c2hhZG93IGhvc3QgYW5kIGl0cyBhbmNlc3RvcnMgYW5kIHNoYWRvd1Jvb3QuZWxlbWVudHNGcm9t
UG9pbnQgbXVzdCByZXR1cm4gdGhlIHNsb3QgcGFyZW50IG9mIHRoZSBmYWxsYmFjayB0ZXh0IGFu
ZCBpdHMgbm9uLXNoYWRvdyBhbmNlc3RvcnMgd2hlbiB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUg
aXMgYSBmYWxsYmFjayBjb250ZW50IGFuZCB0aGUgaG9zdCBoYXMgZGlzcGxheTogYmxvY2sgCiBQ
QVNTIGRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBzaGFkb3cgaG9z
dCBhbmQgaXRzIGFuY2VzdG9ycyBhbmQgc2hhZG93Um9vdC5lbGVtZW50c0Zyb21Qb2ludCBtdXN0
IHJldHVybiB0aGUgc2xvdCBwYXJlbnQgb2YgdGhlIGZhbGxiYWNrIHRleHQgYW5kIGl0cyBub24t
c2hhZG93IGFuY2VzdG9ycyB3aGVuIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSBpcyBhIGZhbGxi
YWNrIGNvbnRlbnQgYW5kIHRoZSBob3N0IGhhcyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgCiBGQUlM
IHNoYWRvd1Jvb3QuZWxlbWVudHNGcm9tUG9pbnQgbXVzdCBiZWhhdmUgdGhlIHNhbWUgd2l0aCBk
b2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludCByZWdhcmRpbmcgSFRNTCBlbGVtZW50IGFzc2VydF9h
cnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCA1IGdvdCA0CitGQUlMIGVsZW1l
bnRzRnJvbVBvaW50IHNob3VsZCByZXR1cm4gYWxsIGVsZW1lbnRzIHVuZGVyIGEgcG9pbnQsIGV2
ZW4gd2hlbiBjb250ZXh0IG9iamVjdCBpcyBub3QgY29ubmVjdGVkIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIDQgYnV0IGdvdCAzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9Eb2N1bWVudE9yU2hhZG93Um9vdC1wcm90
b3R5cGUtZWxlbWVudEZyb21Qb2ludC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0RvY3VtZW50T3JTaGFkb3dSb290LXByb3RvdHlw
ZS1lbGVtZW50RnJvbVBvaW50Lmh0bWwKaW5kZXggODNjYmMzZDgxODVlMWJiODllYzc0NDU0ZTMz
MzUyMmRjNGMwMTU1Yy4uNjg5M2FkMzk0YjRlMDQ5NDE2MjYzMjU3NzQwOTI1NDMxY2RiZGFiOCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
aGFkb3ctZG9tL0RvY3VtZW50T3JTaGFkb3dSb290LXByb3RvdHlwZS1lbGVtZW50RnJvbVBvaW50
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
aGFkb3ctZG9tL0RvY3VtZW50T3JTaGFkb3dSb290LXByb3RvdHlwZS1lbGVtZW50RnJvbVBvaW50
Lmh0bWwKQEAgLTI1MCw3ICsyNTAsMzAgQEAgdGVzdChmdW5jdGlvbiAoKSB7CiAKIGNvbnRhaW5l
ci5pbm5lckhUTUwgPSAnJzsKIAotICAgIDwvc2NyaXB0PgotICA8L2JvZHk+Cit0ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2
Iik7CisgIGNvbnN0IHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CisgIHNw
YW4uaW5uZXJUZXh0ID0gImZvbyI7CisgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29udGFp
bmVyKTsKKyAgY29udGFpbmVyLmFwcGVuZENoaWxkKHNwYW4pOworCisgIGxldCBlbGVtZW50cyA9
IGRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50KC4uLnBvaW50SW5FbGVtZW50KHNwYW4pKTsKKyAg
YXNzZXJ0X2VxdWFscyhlbGVtZW50cy5sZW5ndGgsIDQpOworICBhc3NlcnRfZXF1YWxzKGVsZW1l
bnRzWzBdLCBzcGFuKTsKKyAgYXNzZXJ0X2VxdWFscyhlbGVtZW50c1sxXSwgY29udGFpbmVyKTsK
KyAgYXNzZXJ0X2VxdWFscyhlbGVtZW50c1syXS5ub2RlTmFtZSwgJ0JPRFknKTsKKyAgYXNzZXJ0
X2VxdWFscyhlbGVtZW50c1szXS5ub2RlTmFtZSwgJ0hUTUwnKTsKKworICBjb25zdCBob3N0ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgIGNvbnN0IHNoYWRvd1Jvb3QgPSBob3N0
LmF0dGFjaFNoYWRvdyh7IG1vZGU6ICJvcGVuIiB9KTsKKyAgZWxlbWVudHMgPSBzaGFkb3dSb290
LmVsZW1lbnRzRnJvbVBvaW50KC4uLnBvaW50SW5FbGVtZW50KHNwYW4pKTsKKyAgYXNzZXJ0X2Vx
dWFscyhlbGVtZW50cy5sZW5ndGgsIDQpOworICBhc3NlcnRfZXF1YWxzKGVsZW1lbnRzWzBdLCBz
cGFuKTsKKyAgYXNzZXJ0X2VxdWFscyhlbGVtZW50c1sxXSwgY29udGFpbmVyKTsKKyAgYXNzZXJ0
X2VxdWFscyhlbGVtZW50c1syXS5ub2RlTmFtZSwgJ0JPRFknKTsKKyAgYXNzZXJ0X2VxdWFscyhl
bGVtZW50c1szXS5ub2RlTmFtZSwgJ0hUTUwnKTsKK30sICJlbGVtZW50c0Zyb21Qb2ludCBzaG91
bGQgcmV0dXJuIGFsbCBlbGVtZW50cyB1bmRlciBhIHBvaW50LCBldmVuIHdoZW4gY29udGV4dCBv
YmplY3QgaXMgbm90IGNvbm5lY3RlZCIpOworPC9zY3JpcHQ+Cis8L2JvZHk+CiA8L2h0bWw+CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9FbGVtZW50LWludGVyZmFjZS1hdHRhY2hTaGFkb3ctY3VzdG9tLWVsZW1lbnQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zaGFkb3ctZG9tL0VsZW1lbnQtaW50ZXJmYWNlLWF0dGFjaFNoYWRvdy1jdXN0b20tZWxlbWVu
dC1leHBlY3RlZC50eHQKaW5kZXggM2ViZDYwNjg3NWQzNWExZmU3MGRmZGUzZTZmYzdiZDZiYjdi
MmRmZC4uNDIwZGE2YmQ2MGEzYjNmN2I2YzJhYzczNDc1NGYwM2VmMTA1MGFlZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9t
L0VsZW1lbnQtaW50ZXJmYWNlLWF0dGFjaFNoYWRvdy1jdXN0b20tZWxlbWVudC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFk
b3ctZG9tL0VsZW1lbnQtaW50ZXJmYWNlLWF0dGFjaFNoYWRvdy1jdXN0b20tZWxlbWVudC1leHBl
Y3RlZC50eHQKQEAgLTEsNCArMSwxMiBAQAogCiBQQVNTIEVsZW1lbnQuYXR0YWNoU2hhZG93IG11
c3QgY3JlYXRlIGFuIGluc3RhbmNlIG9mIFNoYWRvd1Jvb3QgZm9yIGF1dG9ub21vdXMgY3VzdG9t
IGVsZW1lbnRzIAorUEFTUyBFbGVtZW50LmF0dGFjaFNoYWRvdyBtdXN0IGNyZWF0ZSBhbiBpbnN0
YW5jZSBvZiBTaGFkb3dSb290IGZvciB1bmRlZmluZWQgYXV0b25vbW91cyBjdXN0b20gZWxlbWVu
dHMgCitGQUlMIEVsZW1lbnQuYXR0YWNoU2hhZG93IGZvciBhbiBhdXRvbm9tb3VzIGN1c3RvbSBl
bGVtZW50IHdpdGggZGlzYWJsZWRGZWF0dXJlcz1bInNoYWRvdyJdIHNob3VsZCB0aHJvdyBhIE5v
dFN1cHBvcnRlZEVycm9yIGFzc2VydF90aHJvd3M6IE5vIGRlZmluaXRpb24sIGhvc3QgZnVuY3Rp
b24gIigpID0+IHsKKyAgICBlbGVtZW50LmF0dGFjaFNoYWRvdyh7bW9kZTogJ2Nsb3NlZCd9KTsK
KyAgfSIgdGhyZXcgb2JqZWN0ICJJbnZhbGlkU3RhdGVFcnJvcjogVGhlIG9iamVjdCBpcyBpbiBh
biBpbnZhbGlkIHN0YXRlLiIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gTm90U3VwcG9ydGVk
RXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byAxMSwgZXhwZWN0ZWQgOQorRkFJTCBF
bGVtZW50LmF0dGFjaFNoYWRvdyBmb3IgYSBjdXN0b21pemVkIGJ1aWx0LWluIGVsZW1lbnQgd2l0
aCBkaXNhYmxlZEZlYXR1cmVzPVsic2hhZG93Il0gc2hvdWxkIHRocm93IGEgTm90U3VwcG9ydGVk
RXJyb3IgYXNzZXJ0X3Rocm93czogTm8gZGVmaW5pdGlvbiwgaG9zdC4gZnVuY3Rpb24gIigpID0+
IHsKKyAgICBlbGVtZW50LmF0dGFjaFNoYWRvdyh7bW9kZTogJ2Nsb3NlZCd9KTsKKyAgfSIgdGhy
ZXcgb2JqZWN0ICJJbnZhbGlkU3RhdGVFcnJvcjogVGhlIG9iamVjdCBpcyBpbiBhbiBpbnZhbGlk
IHN0YXRlLiIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gTm90U3VwcG9ydGVkRXJyb3I6IHBy
b3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byAxMSwgZXhwZWN0ZWQgOQorUEFTUyBFbGVtZW50LmF0
dGFjaFNoYWRvdyBmb3IgYSBjdXN0b20gZWxlbWVudCB3aXRoIGRpc2FibGVkRmVhdHVyZXM9WyJT
SEFET1ciXSBzaG91bGQgbm90IHRocm93IGEgTm90U3VwcG9ydGVkRXJyb3IgCiBQQVNTIEVsZW1l
bnQuYXR0YWNoU2hhZG93IG11c3QgdGhyb3cgYSBOb3RTdXBwb3J0ZWRFcnJvciBmb3IgY3VzdG9t
aXplZCBidWlsdC1pbiBlbGVtZW50cyAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0VsZW1lbnQtaW50ZXJmYWNlLWF0
dGFjaFNoYWRvdy1jdXN0b20tZWxlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0VsZW1lbnQtaW50ZXJmYWNlLWF0dGFjaFNo
YWRvdy1jdXN0b20tZWxlbWVudC5odG1sCmluZGV4IGI1OTQ2MGUxN2I5NzM1MzE1NGRkZmIwODNm
OWFiZTExODEwMGFkMTEuLjEyM2Q5YzE0YzU1YTMwNjNhOThlZGRkMmY4NjRhZDA0ZDhlOGNjMGIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9FbGVtZW50LWludGVyZmFjZS1hdHRhY2hTaGFkb3ctY3VzdG9tLWVsZW1lbnQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3No
YWRvdy1kb20vRWxlbWVudC1pbnRlcmZhY2UtYXR0YWNoU2hhZG93LWN1c3RvbS1lbGVtZW50Lmh0
bWwKQEAgLTE0LDYgKzE0LDc4IEBAIHRlc3QoKCkgPT4gewogICBhc3NlcnRfdHJ1ZShkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdteS1jdXN0b20nKS5hdHRhY2hTaGFkb3coe21vZGU6ICJvcGVuIn0p
IGluc3RhbmNlb2YgU2hhZG93Um9vdCk7CiB9LCAnRWxlbWVudC5hdHRhY2hTaGFkb3cgbXVzdCBj
cmVhdGUgYW4gaW5zdGFuY2Ugb2YgU2hhZG93Um9vdCBmb3IgYXV0b25vbW91cyBjdXN0b20gZWxl
bWVudHMnKTsKIAordGVzdCgoKSA9PiB7CisgIGFzc2VydF90cnVlKGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ3VuZGVmaW5lZC1jdXN0b20nKS5hdHRhY2hTaGFkb3coe21vZGU6ICdvcGVuJ30pIGlu
c3RhbmNlb2YgU2hhZG93Um9vdCk7Cit9LCAnRWxlbWVudC5hdHRhY2hTaGFkb3cgbXVzdCBjcmVh
dGUgYW4gaW5zdGFuY2Ugb2YgU2hhZG93Um9vdCBmb3IgdW5kZWZpbmVkIGF1dG9ub21vdXMgY3Vz
dG9tIGVsZW1lbnRzJyk7CisKK3Rlc3QoKCkgPT4geworICBjbGFzcyBTaGFkb3dEaXNhYmxlZEVs
ZW1lbnQgZXh0ZW5kcyBIVE1MRWxlbWVudCB7CisgICAgc3RhdGljIGdldCBkaXNhYmxlZEZlYXR1
cmVzKCkgeyByZXR1cm4gWydzaGFkb3cnXTsgfQorICB9CisKKyAgLy8gTm8gZGVmaW5pdGlvbi4g
YXR0YWNoU2hhZG93KCkgc2hvdWxkIHN1Y2NlZWQuCisgIGxldCBlbGVtZW50ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnc2hhZG93LWRpc2FibGVkLWVsZW1lbnQnKTsKKyAgZWxlbWVudC5hdHRh
Y2hTaGFkb3coe21vZGU6ICdjbG9zZWQnfSk7CisKKyAgLy8gTm8gZGVmaW5pdGlvbiBhbmQgaXQn
cyBhbHJlYWR5IGEgaG9zdC4KKyAgYXNzZXJ0X3Rocm93cygnTm90U3VwcG9ydGVkRXJyb3InLCAo
KSA9PiB7CisgICAgZWxlbWVudC5hdHRhY2hTaGFkb3coe21vZGU6ICdjbG9zZWQnfSk7CisgIH0s
ICdObyBkZWZpbml0aW9uLCBob3N0Jyk7CisKKyAgLy8gVGhlIGVsZW1lbnQgaGFzIGEgZGVmaW5p
dGlvbiwgYW5kIGl0J3MgYWxyZWFkeSBhIGhvc3QuCisgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgn
c2hhZG93LWRpc2FibGVkLWVsZW1lbnQnLCBTaGFkb3dEaXNhYmxlZEVsZW1lbnQpOworICBhc3Nl
cnRfdGhyb3dzKCdOb3RTdXBwb3J0ZWRFcnJvcicsICgpID0+IHsKKyAgICBlbGVtZW50LmF0dGFj
aFNoYWRvdyh7bW9kZTogJ2Nsb3NlZCd9KTsKKyAgfSwgJ0RlZmluaXRpb24sIGhvc3QnKTsKKwor
ICAvLyBUaGUgZWxlbWVudCBoYXMgYSBkZWZpbml0aW9uLCBhbmQgaXQncyBub3QgYSBob3N0Lgor
ICBhc3NlcnRfdGhyb3dzKCdOb3RTdXBwb3J0ZWRFcnJvcicsICgpID0+IHsKKyAgICBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdzaGFkb3ctZGlzYWJsZWQtZWxlbWVudCcpLmF0dGFjaFNoYWRvdyh7
bW9kZTogJ2Nsb3NlZCd9KTsKKyAgfSwgJ0RlZmluaXRpb24sIG5vdCBhIGhvc3QnKTsKK30sICdF
bGVtZW50LmF0dGFjaFNoYWRvdyBmb3IgYW4gYXV0b25vbW91cyBjdXN0b20gZWxlbWVudCB3aXRo
ICcgKworICAgJ2Rpc2FibGVkRmVhdHVyZXM9WyJzaGFkb3ciXSBzaG91bGQgdGhyb3cgYSBOb3RT
dXBwb3J0ZWRFcnJvcicpOworCit0ZXN0KCgpID0+IHsKKyAgY2xhc3MgU2hhZG93RGlzYWJsZWRI
ZWFkaW5nRWxlbWVudCBleHRlbmRzIEhUTUxIZWFkaW5nRWxlbWVudCB7CisgICAgc3RhdGljIGdl
dCBkaXNhYmxlZEZlYXR1cmVzKCkgeyByZXR1cm4gWydzaGFkb3cnXTsgfQorICB9CisKKyAgLy8g
Tm8gZGVmaW5pdGlvbi4gYXR0YWNoU2hhZG93KCkgc2hvdWxkIHN1Y2NlZWQuCisgIGxldCBlbGVt
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaDInLAorICAgICAge2lzOiAnc2hhZG93LWRp
c2FibGVkLWhlYWRpbmctZWxlbWVudCd9KTsKKyAgZWxlbWVudC5hdHRhY2hTaGFkb3coe21vZGU6
ICdjbG9zZWQnfSk7CisKKyAgLy8gTm8gZGVmaW5pdGlvbiBhbmQgaXQncyBhbHJlYWR5IGEgaG9z
dC4KKyAgYXNzZXJ0X3Rocm93cygnTm90U3VwcG9ydGVkRXJyb3InLCAoKSA9PiB7CisgICAgZWxl
bWVudC5hdHRhY2hTaGFkb3coe21vZGU6ICdjbG9zZWQnfSk7CisgIH0sICdObyBkZWZpbml0aW9u
LCBob3N0LicpOworCisgIC8vIFRoZSBlbGVtZW50IGhhcyBhIGRlZmluaXRpb24sIGFuZCBpdCdz
IGFscmVhZHkgYSBob3N0LgorICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ3NoYWRvdy1kaXNhYmxl
ZC1oZWFkaW5nLWVsZW1lbnQnLAorICAgICAgU2hhZG93RGlzYWJsZWRIZWFkaW5nRWxlbWVudCwg
e2V4dGVuZHM6ICdoMid9KTsKKyAgYXNzZXJ0X3Rocm93cygnTm90U3VwcG9ydGVkRXJyb3InLCAo
KSA9PiB7CisgICAgZWxlbWVudC5hdHRhY2hTaGFkb3coe21vZGU6ICdjbG9zZWQnfSk7CisgIH0s
ICdEZWZpbml0aW9uLCBob3N0Jyk7CisKKyAgLy8gVGhlIGVsZW1lbnQgaGFzIGEgZGVmaW5pdGlv
biwgYW5kIGl0J3Mgbm90IGEgaG9zdC4KKyAgbGV0IGgyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnaDInLCB7aXM6ICdzaGFkb3ctZGlzYWJsZWQtaGVhZGluZy1lbGVtZW50J30pOworICBhc3Nl
cnRfdGhyb3dzKCdOb3RTdXBwb3J0ZWRFcnJvcicsICgpID0+IHsKKyAgICBoMi5hdHRhY2hTaGFk
b3coe21vZGU6ICdjbG9zZWQnfSk7CisgIH0sICdEZWZpbml0aW9uLCBub3QgYSBob3N0Jyk7Cit9
LCAnRWxlbWVudC5hdHRhY2hTaGFkb3cgZm9yIGEgY3VzdG9taXplZCBidWlsdC1pbiBlbGVtZW50
IHdpdGggJyArCisgICAnZGlzYWJsZWRGZWF0dXJlcz1bInNoYWRvdyJdIHNob3VsZCB0aHJvdyBh
IE5vdFN1cHBvcnRlZEVycm9yJyk7CisKK3Rlc3QoKCkgPT4geworICBjbGFzcyBDYXBpdGFsU2hh
ZG93RGlzYWJsZWRFbGVtZW50IGV4dGVuZHMgSFRNTEVsZW1lbnQgeworICAgIHN0YXRpYyBnZXQg
ZGlzYWJsZWRGZWF0dXJlcygpIHsgcmV0dXJuIFsnc2hhZG93J107IH0KKyAgfQorCisgIGN1c3Rv
bUVsZW1lbnRzLmRlZmluZSgnY2FwaXRhbC1zaGFkb3ctZGlzYWJsZWQtZWxlbWVudCcsIENhcGl0
YWxTaGFkb3dEaXNhYmxlZEVsZW1lbnQpOworCisgIC8vIFRlc3QgZmFpbHMgaWYgdGhpcyB0aHJv
d3MKKyAgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FwaXRhbC1zaGFkb3ctZGlzYWJsZWQtZWxl
bWVudCcpLmF0dGFjaFNoYWRvdyh7bW9kZTogJ29wZW4nfSk7Cit9LCAnRWxlbWVudC5hdHRhY2hT
aGFkb3cgZm9yIGEgY3VzdG9tIGVsZW1lbnQgd2l0aCBkaXNhYmxlZEZlYXR1cmVzPVsiU0hBRE9X
Il0gc2hvdWxkIG5vdCB0aHJvdyBhIE5vdFN1cHBvcnRlZEVycm9yJyk7CisKIGNsYXNzIE15Q3Vz
dG9taXplZEJ1aWx0aW5FbGVtZW50IGV4dGVuZHMgSFRNTElucHV0RWxlbWVudCB7CiB9CiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9FbGVtZW50LWludGVyZmFjZS1hdHRhY2hTaGFkb3ctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0VsZW1l
bnQtaW50ZXJmYWNlLWF0dGFjaFNoYWRvdy1leHBlY3RlZC50eHQKaW5kZXggMGQ0MGM3YzdlNjY3
NTY1NDEwZmMwNTMyN2EwYzUwZDUyOWQxN2E2Ny4uZWRjODllNTFhZDMzODVkYmFlNTljODM4YjEw
YWM5OTMzZDE2MDYwMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0VsZW1lbnQtaW50ZXJmYWNlLWF0dGFjaFNoYWRvdy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zaGFkb3ctZG9tL0VsZW1lbnQtaW50ZXJmYWNlLWF0dGFjaFNoYWRvdy1leHBlY3RlZC50
eHQKQEAgLTMsNiArMywxMCBAQCBQQVNTIENoZWNrIHRoZSBleGlzdGVuY2Ugb2YgRWxlbWVudC5h
dHRhY2hTaGFkb3cKIFBBU1MgTm9kZXMgb3RoZXIgdGhhbiBFbGVtZW50IHNob3VsZCBub3QgaGF2
ZSBhdHRhY2hTaGFkb3cgCiBQQVNTIEVsZW1lbnQuYXR0YWNoU2hhZG93IG11c3QgdGhyb3cgYSBU
eXBlRXJyb3IgaWYgbW9kZSBpcyBub3QgIm9wZW4iIG9yICJjbG9zZWQiIAogUEFTUyBFbGVtZW50
LmF0dGFjaFNoYWRvdyBtdXN0IGNyZWF0ZSBhbiBpbnN0YW5jZSBvZiBTaGFkb3dSb290IAotUEFT
UyBFbGVtZW50LmF0dGFjaFNoYWRvdyBtdXN0IHRocm93IGEgSW52YWxpZFN0YXRlRXJyb3IgaWYg
dGhlIGNvbnRleHQgb2JqZWN0IGFscmVhZHkgaG9zdHMgYSBzaGFkb3cgdHJlZSAKK0ZBSUwgRWxl
bWVudC5hdHRhY2hTaGFkb3cgbXVzdCB0aHJvdyBhIE5vdFN1cHBvcnRlZEVycm9yIGlmIHRoZSBj
b250ZXh0IG9iamVjdCBhbHJlYWR5IGhvc3RzIGEgc2hhZG93IHRyZWUgYXNzZXJ0X3Rocm93czog
Q2FsbGluZyBhdHRhY2hTaGFkb3coe21vZGU6ICJvcGVuIn0pIHR3aWNlIG9uIHRoZSBzYW1lIGVs
ZW1lbnQgbXVzdCB0aHJvdyBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgICB2YXIgZGl2
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAgIGRpdi5hdHRhY2hTaGFk
b3coe21vZGU6ICJvcGVuIn0pOworICAgICAgICBkaXYuYXR0YWNoU2hhZG93KHttb2RlOiAib3Bl
biJ9KTsKKyAgICB9IiB0aHJldyBvYmplY3QgIkludmFsaWRTdGF0ZUVycm9yOiBUaGUgb2JqZWN0
IGlzIGluIGFuIGludmFsaWQgc3RhdGUuIiAoIkludmFsaWRTdGF0ZUVycm9yIikgZXhwZWN0ZWQg
b2JqZWN0ICJbb2JqZWN0IE9iamVjdF0iICgiTm90U3VwcG9ydGVkRXJyb3IiKQogUEFTUyBFbGVt
ZW50LmF0dGFjaFNoYWRvdyBtdXN0IHRocm93IGEgTm90U3VwcG9ydGVkRXJyb3IgZm9yIG5vbi1z
YWZlbGlzdGVkIGVsZW1lbnRzIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRWxlbWVudC1pbnRlcmZhY2UtYXR0YWNo
U2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vRWxlbWVudC1pbnRlcmZhY2UtYXR0YWNoU2hhZG93Lmh0bWwKaW5kZXggZmJm
MjBlODFhYzQ4OGJmOWEyNzc2NmZiNmY4YmI2OWU1MjUwZGMyOC4uMzA0YjY0Y2Q0NjYwM2QyY2Ri
YmJkMGY3OGMzMDMyY2E4YWQzZDRjZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0VsZW1lbnQtaW50ZXJmYWNlLWF0dGFj
aFNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2hhZG93LWRvbS9FbGVtZW50LWludGVyZmFjZS1hdHRhY2hTaGFkb3cuaHRtbApAQCAt
NTMsMzAgKzUzLDMwIEBAIHRlc3QoZnVuY3Rpb24gKCkgewogfSwgJ0VsZW1lbnQuYXR0YWNoU2hh
ZG93IG11c3QgY3JlYXRlIGFuIGluc3RhbmNlIG9mIFNoYWRvd1Jvb3QnKTsKIAogdGVzdChmdW5j
dGlvbiAoKSB7Ci0gICAgYXNzZXJ0X3Rocm93cyh7J25hbWUnOiAnSW52YWxpZFN0YXRlRXJyb3In
fSwgZnVuY3Rpb24gKCkgeworICAgIGFzc2VydF90aHJvd3MoeyduYW1lJzogJ05vdFN1cHBvcnRl
ZEVycm9yJ30sIGZ1bmN0aW9uICgpIHsKICAgICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2RpdicpOwogICAgICAgICBkaXYuYXR0YWNoU2hhZG93KHttb2RlOiAib3BlbiJ9
KTsKICAgICAgICAgZGl2LmF0dGFjaFNoYWRvdyh7bW9kZTogIm9wZW4ifSk7CiAgICAgfSwgJ0Nh
bGxpbmcgYXR0YWNoU2hhZG93KHttb2RlOiAib3BlbiJ9KSB0d2ljZSBvbiB0aGUgc2FtZSBlbGVt
ZW50IG11c3QgdGhyb3cnKTsKIAotICAgIGFzc2VydF90aHJvd3MoeyduYW1lJzogJ0ludmFsaWRT
dGF0ZUVycm9yJ30sIGZ1bmN0aW9uICgpIHsKKyAgICBhc3NlcnRfdGhyb3dzKHsnbmFtZSc6ICdO
b3RTdXBwb3J0ZWRFcnJvcid9LCBmdW5jdGlvbiAoKSB7CiAgICAgICAgIHZhciBkaXYgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICAgZGl2LmF0dGFjaFNoYWRvdyh7bW9k
ZTogImNsb3NlZCJ9KTsKICAgICAgICAgZGl2LmF0dGFjaFNoYWRvdyh7bW9kZTogImNsb3NlZCJ9
KTsKICAgICB9LCAnQ2FsbGluZyBhdHRhY2hTaGFkb3coe21vZGU6ICJjbG9zZWQifSkgdHdpY2Ug
b24gdGhlIHNhbWUgZWxlbWVudCBtdXN0IHRocm93Jyk7CiAKLSAgICBhc3NlcnRfdGhyb3dzKHsn
bmFtZSc6ICdJbnZhbGlkU3RhdGVFcnJvcid9LCBmdW5jdGlvbiAoKSB7CisgICAgYXNzZXJ0X3Ro
cm93cyh7J25hbWUnOiAnTm90U3VwcG9ydGVkRXJyb3InfSwgZnVuY3Rpb24gKCkgewogICAgICAg
ICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgICAgIGRpdi5h
dHRhY2hTaGFkb3coe21vZGU6ICJvcGVuIn0pOwogICAgICAgICBkaXYuYXR0YWNoU2hhZG93KHtt
b2RlOiAiY2xvc2VkIn0pOwogICAgIH0sICdDYWxsaW5nIGF0dGFjaFNoYWRvdyh7bW9kZTogImNs
b3NlZCJ9KSBhZnRlciBhdHRhY2hTaGFkb3coe21vZGU6ICJvcGVuIn0pIG9uIHRoZSBzYW1lIGVs
ZW1lbnQgbXVzdCB0aHJvdycpOwogCi0gICAgYXNzZXJ0X3Rocm93cyh7J25hbWUnOiAnSW52YWxp
ZFN0YXRlRXJyb3InfSwgZnVuY3Rpb24gKCkgeworICAgIGFzc2VydF90aHJvd3MoeyduYW1lJzog
J05vdFN1cHBvcnRlZEVycm9yJ30sIGZ1bmN0aW9uICgpIHsKICAgICAgICAgdmFyIGRpdiA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgICAgICBkaXYuYXR0YWNoU2hhZG93KHtt
b2RlOiAiY2xvc2VkIn0pOwogICAgICAgICBkaXYuYXR0YWNoU2hhZG93KHttb2RlOiAib3BlbiJ9
KTsKICAgICB9LCAnQ2FsbGluZyBhdHRhY2hTaGFkb3coe21vZGU6ICJvcGVuIn0pIGFmdGVyIGF0
dGFjaFNoYWRvdyh7bW9kZTogImNsb3NlZCJ9KSBvbiB0aGUgc2FtZSBlbGVtZW50IG11c3QgdGhy
b3cnKTsKLX0sICdFbGVtZW50LmF0dGFjaFNoYWRvdyBtdXN0IHRocm93IGEgSW52YWxpZFN0YXRl
RXJyb3IgaWYgdGhlIGNvbnRleHQgb2JqZWN0IGFscmVhZHkgaG9zdHMgYSBzaGFkb3cgdHJlZScp
OworfSwgJ0VsZW1lbnQuYXR0YWNoU2hhZG93IG11c3QgdGhyb3cgYSBOb3RTdXBwb3J0ZWRFcnJv
ciBpZiB0aGUgY29udGV4dCBvYmplY3QgYWxyZWFkeSBob3N0cyBhIHNoYWRvdyB0cmVlJyk7CiAK
IHRlc3QoZnVuY3Rpb24gKCkgewogICAgIGZvciAodmFyIGVsZW1lbnROYW1lIG9mIEFUVEFDSFNI
QURPV19ESVNBTExPV0VEX0VMRU1FTlRTKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vTUVUQS55bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vTUVUQS55bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOGZiMGE5Yjk5NWQ2Mjg5YmIyODU4MmZhMDFlNmJiMDkyYWZhNWRkYQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9NRVRBLnltbApAQCAtMCwwICsxLDYgQEAKK3NwZWM6IGh0dHBzOi8vZG9t
LnNwZWMud2hhdHdnLm9yZy8jc2hhZG93LXRyZWVzCitzdWdnZXN0ZWRfcmV2aWV3ZXJzOgorICAt
IGtvamlpc2hpCisgIC0gcm5pd2EKKyAgLSB0YWtheW9zaGlrb2NoaQorICAtIGhheWF0b2l0bwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
aGFkb3ctZG9tL2NhcHR1cmluZy1hbmQtYnViYmxpbmctZXZlbnQtbGlzdGVuZXJzLWFjcm9zcy1z
aGFkb3ctdHJlZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2NhcHR1cmluZy1hbmQtYnViYmxpbmctZXZlbnQtbGlz
dGVuZXJzLWFjcm9zcy1zaGFkb3ctdHJlZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM1ZjEy
MGE2YjE3YmZiNTBjYzYyYjZkYTk3NDRmNGFlMmFmNmY0YTgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vY2Fw
dHVyaW5nLWFuZC1idWJibGluZy1ldmVudC1saXN0ZW5lcnMtYWNyb3NzLXNoYWRvdy10cmVlcy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACisKK1BBU1MgQ2FwdHVyaW5nIGV2ZW50IGxpc3Rl
bmVycyBzaG91bGQgYmUgaW52b2tlZCBiZWZvcmUgYnViYmxpbmcgZXZlbnQgbGlzdGVuZXJzIG9u
IHRoZSB0YXJnZXQgd2l0aG91dCBzaGFkb3cgdHJlZXMgCitQQVNTIENhcHR1cmluZyBldmVudCBs
aXN0ZW5lcnMgc2hvdWxkIGJlIGludm9rZWQgYmVmb3JlIGJ1YmJsaW5nIGV2ZW50IGxpc3RlbmVy
cyB3aGVuIGFuIGV2ZW50IGlzIGRpc3BhdGNoZWQgaW5zaWRlIGEgc2hhZG93IHRyZWUgCitQQVNT
IENhcHR1cmluZyBldmVudCBsaXN0ZW5lcnMgc2hvdWxkIGJlIGludm9rZWQgYmVmb3JlIGJ1YmJs
aW5nIGV2ZW50IGxpc3RlbmVycyB3aGVuIGFuIGV2ZW50IGlzIGRpc3BhdGNoZWQgaW5zaWRlIGEg
ZG91Ymx5IG5lc3RlZCBzaGFkb3cgdHJlZSAKK1BBU1MgQ2FwdHVyaW5nIGV2ZW50IGxpc3RlbmVy
cyBzaG91bGQgYmUgaW52b2tlZCBiZWZvcmUgYnViYmxpbmcgZXZlbnQgbGlzdGVuZXJzIHdoZW4g
YW4gZXZlbnQgaXMgZGlzcGF0Y2hlZCB2aWEgYSBzbG90IAorUEFTUyBDYXB0dXJpbmcgZXZlbnQg
bGlzdGVuZXJzIHNob3VsZCBiZSBpbnZva2VkIGJlZm9yZSBidWJibGluZyBldmVudCBsaXN0ZW5l
cnMgd2hlbiBhbiBldmVudCBpcyBkaXNwYXRjaGVkIGluc2lkZSBhIHNoYWRvdyB0cmVlIHdoaWNo
IHBhc3NlcyB0aHJvdWdoIGFub3RoZXIgc2hhZG93IHRyZWUgCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9jYXB0dXJp
bmctYW5kLWJ1YmJsaW5nLWV2ZW50LWxpc3RlbmVycy1hY3Jvc3Mtc2hhZG93LXRyZWVzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20v
Y2FwdHVyaW5nLWFuZC1idWJibGluZy1ldmVudC1saXN0ZW5lcnMtYWNyb3NzLXNoYWRvdy10cmVl
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmJjYjRlZTYyZTBjNjFjNDg4NzkxZjVhYzA0NTkwOGVhY2FkNzk1
OTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vY2FwdHVyaW5nLWFuZC1idWJibGluZy1ldmVudC1saXN0ZW5l
cnMtYWNyb3NzLXNoYWRvdy10cmVlcy5odG1sCkBAIC0wLDAgKzEsMTkxIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+U2hhZG93IERPTTogQ2FwdHVyaW5nIGV2ZW50
IGxpc3RlbmVycyBzaG91bGQgYmUgaW52b2tlZCBiZWZvcmUgYnViYmxpbmcgZXZlbnQgbGlzdGVu
ZXJzPC90aXRsZT4KKzxtZXRhIG5hbWU9ImF1dGhvciIgdGl0bGU9IlJ5b3N1a2UgTml3YSIgaHJl
Zj0ibWFpbHRvOnJuaXdhQHdlYmtpdC5vcmciPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3NoYWRvdy1k
b20uanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gYXR0YWNoRXZlbnRMaXN0ZW5l
cnMoZXZlbnRUeXBlLCB0cmVlKSB7CisgICAgY29uc3QgZXZlbnRMb2dzID0gW107CisgICAgY29u
c3QgbWFrZUNvbXBvc2VkUGF0aFJlc3VsdCA9IChldmVudCkgPT4gZXZlbnQuY29tcG9zZWRQYXRo
KCkubWFwKChub2RlKSA9PiBub2RlLmlkKQorICAgIGZvciAoY29uc3QgaWQgaW4gdHJlZSkgewor
ICAgICAgICBjb25zdCBub2RlID0gdHJlZVtpZF07CisgICAgICAgIG5vZGUuYWRkRXZlbnRMaXN0
ZW5lcihldmVudFR5cGUsIGV2ZW50ID0+IGV2ZW50TG9ncy5wdXNoKAorICAgICAgICAgICAgWydi
dWJibGluZycsIGV2ZW50LmV2ZW50UGhhc2UsIGV2ZW50LnRhcmdldC5pZCwgZXZlbnQuY3VycmVu
dFRhcmdldC5pZCwgbWFrZUNvbXBvc2VkUGF0aFJlc3VsdChldmVudCldKSwge2NhcHR1cmU6IGZh
bHNlfSk7CisgICAgICAgIG5vZGUuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGV2ZW50ID0+
IGV2ZW50TG9ncy5wdXNoKAorICAgICAgICAgICAgWydjYXB0dXJpbmcnLCBldmVudC5ldmVudFBo
YXNlLCBldmVudC50YXJnZXQuaWQsIGV2ZW50LmN1cnJlbnRUYXJnZXQuaWQsIG1ha2VDb21wb3Nl
ZFBhdGhSZXN1bHQoZXZlbnQpXSksIHtjYXB0dXJlOiB0cnVlfSk7CisgICAgfQorICAgIHJldHVy
biBldmVudExvZ3M7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgaWQ9
InRlc3QxIj4KKyAgICA8ZGl2IGlkPSJwYXJlbnQiPgorICAgICAgICA8ZGl2IGlkPSJ0YXJnZXQi
PjwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgordGVzdCgoKSA9PiB7CisgICAg
Y29uc3QgdHJlZSA9IGNyZWF0ZVRlc3RUcmVlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0
MScpKTsKKyAgICBjb25zdCBsb2dzID0gYXR0YWNoRXZlbnRMaXN0ZW5lcnMoJ215LWV2ZW50Jywg
dHJlZSk7CisgICAgdHJlZS50YXJnZXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ215LWV2ZW50
JywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7CisKKyAgICBjb25zdCBjb21w
b3NlZFBhdGggPSBbJ3RhcmdldCcsICdwYXJlbnQnLCAndGVzdDEnXTsKKyAgICBhc3NlcnRfb2Jq
ZWN0X2VxdWFscyhsb2dzLCBbCisgICAgICAgIFsnY2FwdHVyaW5nJywgRXZlbnQuQ0FQVFVSSU5H
X1BIQVNFLCAndGFyZ2V0JywgJ3Rlc3QxJywgY29tcG9zZWRQYXRoXSwKKyAgICAgICAgWydjYXB0
dXJpbmcnLCBFdmVudC5DQVBUVVJJTkdfUEhBU0UsICd0YXJnZXQnLCAncGFyZW50JywgY29tcG9z
ZWRQYXRoXSwKKyAgICAgICAgWydjYXB0dXJpbmcnLCBFdmVudC5BVF9UQVJHRVQsICd0YXJnZXQn
LCAndGFyZ2V0JywgY29tcG9zZWRQYXRoXSwKKyAgICAgICAgWydidWJibGluZycsIEV2ZW50LkFU
X1RBUkdFVCwgJ3RhcmdldCcsICd0YXJnZXQnLCBjb21wb3NlZFBhdGhdLAorICAgICAgICBbJ2J1
YmJsaW5nJywgRXZlbnQuQlVCQkxJTkdfUEhBU0UsICd0YXJnZXQnLCAncGFyZW50JywgY29tcG9z
ZWRQYXRoXSwKKyAgICAgICAgWydidWJibGluZycsIEV2ZW50LkJVQkJMSU5HX1BIQVNFLCAndGFy
Z2V0JywgJ3Rlc3QxJywgY29tcG9zZWRQYXRoXSwKKyAgICBdKTsKK30sICdDYXB0dXJpbmcgZXZl
bnQgbGlzdGVuZXJzIHNob3VsZCBiZSBpbnZva2VkIGJlZm9yZSBidWJibGluZyBldmVudCBsaXN0
ZW5lcnMgb24gdGhlIHRhcmdldCB3aXRob3V0IHNoYWRvdyB0cmVlcycpOworPC9zY3JpcHQ+CisK
KzxkaXYgaWQ9InRlc3QyIj4KKyAgICA8ZGl2IGlkPSJob3N0Ij4KKyAgICAgICAgPHRlbXBsYXRl
IGlkPSJzaGFkb3dSb290IiBkYXRhLW1vZGU9ImNsb3NlZCI+CisgICAgICAgICAgICA8ZGl2IGlk
PSJ0YXJnZXQiPjwvZGl2PgorICAgICAgICA8L3RlbXBsYXRlPgorICAgIDwvZGl2PgorPC9kaXY+
Cis8c2NyaXB0PgordGVzdCgoKSA9PiB7CisgICAgY29uc3QgdHJlZSA9IGNyZWF0ZVRlc3RUcmVl
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0MicpKTsKKyAgICBjb25zdCBsb2dzID0gYXR0
YWNoRXZlbnRMaXN0ZW5lcnMoJ215LWV2ZW50JywgdHJlZSk7CisgICAgdHJlZS50YXJnZXQuZGlz
cGF0Y2hFdmVudChuZXcgRXZlbnQoJ215LWV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjb21wb3Nl
ZDogdHJ1ZSB9KSk7CisKKyAgICBjb25zdCBpbm5lckNvbXBvc2VkUGF0aCA9IFsndGFyZ2V0Jywg
J3NoYWRvd1Jvb3QnLCAnaG9zdCcsICd0ZXN0MiddOworICAgIGNvbnN0IG91dGVyQ29tcG9zZWRQ
YXRoID0gWydob3N0JywgJ3Rlc3QyJ107CisgICAgYXNzZXJ0X29iamVjdF9lcXVhbHMobG9ncywg
WworICAgICAgICBbJ2NhcHR1cmluZycsIEV2ZW50LkNBUFRVUklOR19QSEFTRSwgJ2hvc3QnLCAn
dGVzdDInLCBvdXRlckNvbXBvc2VkUGF0aF0sCisgICAgICAgIFsnY2FwdHVyaW5nJywgRXZlbnQu
QVRfVEFSR0VULCAnaG9zdCcsICdob3N0Jywgb3V0ZXJDb21wb3NlZFBhdGhdLAorICAgICAgICBb
J2NhcHR1cmluZycsIEV2ZW50LkNBUFRVUklOR19QSEFTRSwgJ3RhcmdldCcsICdzaGFkb3dSb290
JywgaW5uZXJDb21wb3NlZFBhdGhdLAorICAgICAgICBbJ2NhcHR1cmluZycsIEV2ZW50LkFUX1RB
UkdFVCwgJ3RhcmdldCcsICd0YXJnZXQnLCBpbm5lckNvbXBvc2VkUGF0aF0sCisgICAgICAgIFsn
YnViYmxpbmcnLCBFdmVudC5BVF9UQVJHRVQsICd0YXJnZXQnLCAndGFyZ2V0JywgaW5uZXJDb21w
b3NlZFBhdGhdLAorICAgICAgICBbJ2J1YmJsaW5nJywgRXZlbnQuQlVCQkxJTkdfUEhBU0UsICd0
YXJnZXQnLCAnc2hhZG93Um9vdCcsIGlubmVyQ29tcG9zZWRQYXRoXSwKKyAgICAgICAgWydidWJi
bGluZycsIEV2ZW50LkFUX1RBUkdFVCwgJ2hvc3QnLCAnaG9zdCcsIG91dGVyQ29tcG9zZWRQYXRo
XSwKKyAgICAgICAgWydidWJibGluZycsIEV2ZW50LkJVQkJMSU5HX1BIQVNFLCAnaG9zdCcsICd0
ZXN0MicsIG91dGVyQ29tcG9zZWRQYXRoXSwKKyAgICBdKTsKK30sICdDYXB0dXJpbmcgZXZlbnQg
bGlzdGVuZXJzIHNob3VsZCBiZSBpbnZva2VkIGJlZm9yZSBidWJibGluZyBldmVudCBsaXN0ZW5l
cnMgd2hlbiBhbiBldmVudCBpcyBkaXNwYXRjaGVkIGluc2lkZSBhIHNoYWRvdyB0cmVlJyk7Cis8
L3NjcmlwdD4KKworPGRpdiBpZD0idGVzdDMiPgorICAgIDxkaXYgaWQ9Im91dGVySG9zdCI+Cisg
ICAgICAgIDx0ZW1wbGF0ZSBpZD0ib3V0ZXJTaGFkb3dSb290IiBkYXRhLW1vZGU9ImNsb3NlZCI+
CisgICAgICAgICAgICA8ZGl2IGlkPSJpbm5lckhvc3QiPgorICAgICAgICAgICAgICAgIDx0ZW1w
bGF0ZSBpZD0iaW5uZXJTaGFkb3dSb290IiBkYXRhLW1vZGU9ImNsb3NlZCI+CisgICAgICAgICAg
ICAgICAgICAgIDxkaXYgaWQ9InRhcmdldCI+PC9kaXY+CisgICAgICAgICAgICAgICAgPC90ZW1w
bGF0ZT4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L3RlbXBsYXRlPgorICAgIDwvZGl2
PgorPC9kaXY+Cis8c2NyaXB0PgordGVzdCgoKSA9PiB7CisgICAgY29uc3QgdHJlZSA9IGNyZWF0
ZVRlc3RUcmVlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0MycpKTsKKyAgICBjb25zdCBs
b2dzID0gYXR0YWNoRXZlbnRMaXN0ZW5lcnMoJ215LWV2ZW50JywgdHJlZSk7CisgICAgdHJlZS50
YXJnZXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ215LWV2ZW50JywgeyBidWJibGVzOiB0cnVl
LCBjb21wb3NlZDogdHJ1ZSB9KSk7CisKKyAgICBjb25zdCBpbm5lclNoYWRvd0NvbXBvc2VkUGF0
aCA9IFsndGFyZ2V0JywgJ2lubmVyU2hhZG93Um9vdCcsICdpbm5lckhvc3QnLCAnb3V0ZXJTaGFk
b3dSb290JywgJ291dGVySG9zdCcsICd0ZXN0MyddOworICAgIGNvbnN0IG91dGVyU2hhZG93Q29t
cG9zZWRQYXRoID0gWydpbm5lckhvc3QnLCAnb3V0ZXJTaGFkb3dSb290JywgJ291dGVySG9zdCcs
ICd0ZXN0MyddOworICAgIGNvbnN0IG91dGVyQ29tcG9zZWRQYXRoID0gWydvdXRlckhvc3QnLCAn
dGVzdDMnXTsKKyAgICBhc3NlcnRfb2JqZWN0X2VxdWFscyhsb2dzLCBbCisgICAgICAgIFsnY2Fw
dHVyaW5nJywgRXZlbnQuQ0FQVFVSSU5HX1BIQVNFLCAnb3V0ZXJIb3N0JywgJ3Rlc3QzJywgb3V0
ZXJDb21wb3NlZFBhdGhdLAorICAgICAgICBbJ2NhcHR1cmluZycsIEV2ZW50LkFUX1RBUkdFVCwg
J291dGVySG9zdCcsICdvdXRlckhvc3QnLCBvdXRlckNvbXBvc2VkUGF0aF0sCisgICAgICAgIFsn
Y2FwdHVyaW5nJywgRXZlbnQuQ0FQVFVSSU5HX1BIQVNFLCAnaW5uZXJIb3N0JywgJ291dGVyU2hh
ZG93Um9vdCcsIG91dGVyU2hhZG93Q29tcG9zZWRQYXRoXSwKKyAgICAgICAgWydjYXB0dXJpbmcn
LCBFdmVudC5BVF9UQVJHRVQsICdpbm5lckhvc3QnLCAnaW5uZXJIb3N0Jywgb3V0ZXJTaGFkb3dD
b21wb3NlZFBhdGhdLAorICAgICAgICBbJ2NhcHR1cmluZycsIEV2ZW50LkNBUFRVUklOR19QSEFT
RSwgJ3RhcmdldCcsICdpbm5lclNoYWRvd1Jvb3QnLCBpbm5lclNoYWRvd0NvbXBvc2VkUGF0aF0s
CisgICAgICAgIFsnY2FwdHVyaW5nJywgRXZlbnQuQVRfVEFSR0VULCAndGFyZ2V0JywgJ3Rhcmdl
dCcsIGlubmVyU2hhZG93Q29tcG9zZWRQYXRoXSwKKworICAgICAgICBbJ2J1YmJsaW5nJywgRXZl
bnQuQVRfVEFSR0VULCAndGFyZ2V0JywgJ3RhcmdldCcsIGlubmVyU2hhZG93Q29tcG9zZWRQYXRo
XSwKKyAgICAgICAgWydidWJibGluZycsIEV2ZW50LkJVQkJMSU5HX1BIQVNFLCAndGFyZ2V0Jywg
J2lubmVyU2hhZG93Um9vdCcsIGlubmVyU2hhZG93Q29tcG9zZWRQYXRoXSwKKyAgICAgICAgWydi
dWJibGluZycsIEV2ZW50LkFUX1RBUkdFVCwgJ2lubmVySG9zdCcsICdpbm5lckhvc3QnLCBvdXRl
clNoYWRvd0NvbXBvc2VkUGF0aF0sCisgICAgICAgIFsnYnViYmxpbmcnLCBFdmVudC5CVUJCTElO
R19QSEFTRSwgJ2lubmVySG9zdCcsICdvdXRlclNoYWRvd1Jvb3QnLCBvdXRlclNoYWRvd0NvbXBv
c2VkUGF0aF0sCisgICAgICAgIFsnYnViYmxpbmcnLCBFdmVudC5BVF9UQVJHRVQsICdvdXRlckhv
c3QnLCAnb3V0ZXJIb3N0Jywgb3V0ZXJDb21wb3NlZFBhdGhdLAorICAgICAgICBbJ2J1YmJsaW5n
JywgRXZlbnQuQlVCQkxJTkdfUEhBU0UsICdvdXRlckhvc3QnLCAndGVzdDMnLCBvdXRlckNvbXBv
c2VkUGF0aF0sCisgICAgXSk7Cit9LCAnQ2FwdHVyaW5nIGV2ZW50IGxpc3RlbmVycyBzaG91bGQg
YmUgaW52b2tlZCBiZWZvcmUgYnViYmxpbmcgZXZlbnQgbGlzdGVuZXJzIHdoZW4gYW4gZXZlbnQg
aXMgZGlzcGF0Y2hlZCBpbnNpZGUgYSBkb3VibHkgbmVzdGVkIHNoYWRvdyB0cmVlJyk7Cis8L3Nj
cmlwdD4KKworPGRpdiBpZD0idGVzdDQiPgorICAgIDxkaXYgaWQ9Imhvc3QiPgorICAgICAgICA8
dGVtcGxhdGUgaWQ9InNoYWRvd1Jvb3QiIGRhdGEtbW9kZT0iY2xvc2VkIj4KKyAgICAgICAgICAg
IDxzbG90IGlkPSJzbG90Ij48L3Nsb3Q+CisgICAgICAgIDwvdGVtcGxhdGU+CisgICAgICAgIDxk
aXYgaWQ9InRhcmdldCI+PC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+Cit0ZXN0
KCgpID0+IHsKKyAgICBjb25zdCB0cmVlID0gY3JlYXRlVGVzdFRyZWUoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3Rlc3Q0JykpOworICAgIGNvbnN0IGxvZ3MgPSBhdHRhY2hFdmVudExpc3RlbmVy
cygnbXktZXZlbnQnLCB0cmVlKTsKKyAgICB0cmVlLnRhcmdldC5kaXNwYXRjaEV2ZW50KG5ldyBF
dmVudCgnbXktZXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNvbXBvc2VkOiB0cnVlIH0pKTsKKwor
ICAgIGNvbnN0IGlubmVyQ29tcG9zZWRQYXRoID0gWyd0YXJnZXQnLCAnc2xvdCcsICdzaGFkb3dS
b290JywgJ2hvc3QnLCAndGVzdDQnXTsKKyAgICBjb25zdCBvdXRlckNvbXBvc2VkUGF0aCA9IFsn
dGFyZ2V0JywgJ2hvc3QnLCAndGVzdDQnXTsKKyAgICBhc3NlcnRfb2JqZWN0X2VxdWFscyhsb2dz
LCBbCisgICAgICAgIFsnY2FwdHVyaW5nJywgRXZlbnQuQ0FQVFVSSU5HX1BIQVNFLCAndGFyZ2V0
JywgJ3Rlc3Q0Jywgb3V0ZXJDb21wb3NlZFBhdGhdLAorICAgICAgICBbJ2NhcHR1cmluZycsIEV2
ZW50LkNBUFRVUklOR19QSEFTRSwgJ3RhcmdldCcsICdob3N0Jywgb3V0ZXJDb21wb3NlZFBhdGhd
LAorICAgICAgICBbJ2NhcHR1cmluZycsIEV2ZW50LkNBUFRVUklOR19QSEFTRSwgJ3RhcmdldCcs
ICdzaGFkb3dSb290JywgaW5uZXJDb21wb3NlZFBhdGhdLAorICAgICAgICBbJ2NhcHR1cmluZycs
IEV2ZW50LkNBUFRVUklOR19QSEFTRSwgJ3RhcmdldCcsICdzbG90JywgaW5uZXJDb21wb3NlZFBh
dGhdLAorICAgICAgICBbJ2NhcHR1cmluZycsIEV2ZW50LkFUX1RBUkdFVCwgJ3RhcmdldCcsICd0
YXJnZXQnLCBvdXRlckNvbXBvc2VkUGF0aF0sCisKKyAgICAgICAgWydidWJibGluZycsIEV2ZW50
LkFUX1RBUkdFVCwgJ3RhcmdldCcsICd0YXJnZXQnLCBvdXRlckNvbXBvc2VkUGF0aF0sCisgICAg
ICAgIFsnYnViYmxpbmcnLCBFdmVudC5CVUJCTElOR19QSEFTRSwgJ3RhcmdldCcsICdzbG90Jywg
aW5uZXJDb21wb3NlZFBhdGhdLAorICAgICAgICBbJ2J1YmJsaW5nJywgRXZlbnQuQlVCQkxJTkdf
UEhBU0UsICd0YXJnZXQnLCAnc2hhZG93Um9vdCcsIGlubmVyQ29tcG9zZWRQYXRoXSwKKyAgICAg
ICAgWydidWJibGluZycsIEV2ZW50LkJVQkJMSU5HX1BIQVNFLCAndGFyZ2V0JywgJ2hvc3QnLCBv
dXRlckNvbXBvc2VkUGF0aF0sCisgICAgICAgIFsnYnViYmxpbmcnLCBFdmVudC5CVUJCTElOR19Q
SEFTRSwgJ3RhcmdldCcsICd0ZXN0NCcsIG91dGVyQ29tcG9zZWRQYXRoXSwKKyAgICBdKTsKK30s
ICdDYXB0dXJpbmcgZXZlbnQgbGlzdGVuZXJzIHNob3VsZCBiZSBpbnZva2VkIGJlZm9yZSBidWJi
bGluZyBldmVudCBsaXN0ZW5lcnMgd2hlbiBhbiBldmVudCBpcyBkaXNwYXRjaGVkIHZpYSBhIHNs
b3QnKTsKKzwvc2NyaXB0PgorCis8ZGl2IGlkPSJ0ZXN0NSI+CisgICAgPGRpdiBpZD0idXBwZXJI
b3N0Ij4KKyAgICAgICAgPHRlbXBsYXRlIGlkPSJ1cHBlclNoYWRvd1Jvb3QiIGRhdGEtbW9kZT0i
Y2xvc2VkIj4KKyAgICAgICAgICAgIDxzbG90IGlkPSJ1cHBlclNsb3QiPjwvc2xvdD4KKyAgICAg
ICAgPC90ZW1wbGF0ZT4KKyAgICAgICAgPGRpdiBpZD0ibG93ZXJIb3N0Ij4KKyAgICAgICAgICAg
IDx0ZW1wbGF0ZSBpZD0ibG93ZXJTaGFkb3dSb290IiBkYXRhLW1vZGU9ImNsb3NlZCI+CisgICAg
ICAgICAgICAgICAgPGRpdiBpZD0idGFyZ2V0Ij48L2Rpdj4KKyAgICAgICAgICAgIDwvdGVtcGxh
dGU+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgordGVzdCgo
KSA9PiB7CisgICAgY29uc3QgdHJlZSA9IGNyZWF0ZVRlc3RUcmVlKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCd0ZXN0NScpKTsKKyAgICBjb25zdCBsb2dzID0gYXR0YWNoRXZlbnRMaXN0ZW5lcnMo
J215LWV2ZW50JywgdHJlZSk7CisgICAgdHJlZS50YXJnZXQuZGlzcGF0Y2hFdmVudChuZXcgRXZl
bnQoJ215LWV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7CisKKyAg
ICBjb25zdCBsb3dlckNvbXBvc2VkUGF0aCA9IFsndGFyZ2V0JywgJ2xvd2VyU2hhZG93Um9vdCcs
ICdsb3dlckhvc3QnLCAndXBwZXJIb3N0JywgJ3Rlc3Q1J107CisgICAgY29uc3QgdXBwZXJDb21w
b3NlZFBhdGggPSBbJ2xvd2VySG9zdCcsICd1cHBlclNsb3QnLCAndXBwZXJTaGFkb3dSb290Jywg
J3VwcGVySG9zdCcsICd0ZXN0NSddOworICAgIGNvbnN0IG91dGVyQ29tcG9zZWRQYXRoID0gWyds
b3dlckhvc3QnLCAndXBwZXJIb3N0JywgJ3Rlc3Q1J107CisgICAgYXNzZXJ0X29iamVjdF9lcXVh
bHMobG9ncywgWworICAgICAgICBbJ2NhcHR1cmluZycsIEV2ZW50LkNBUFRVUklOR19QSEFTRSwg
J2xvd2VySG9zdCcsICd0ZXN0NScsIG91dGVyQ29tcG9zZWRQYXRoXSwKKyAgICAgICAgWydjYXB0
dXJpbmcnLCBFdmVudC5DQVBUVVJJTkdfUEhBU0UsICdsb3dlckhvc3QnLCAndXBwZXJIb3N0Jywg
b3V0ZXJDb21wb3NlZFBhdGhdLAorICAgICAgICBbJ2NhcHR1cmluZycsIEV2ZW50LkNBUFRVUklO
R19QSEFTRSwgJ2xvd2VySG9zdCcsICd1cHBlclNoYWRvd1Jvb3QnLCB1cHBlckNvbXBvc2VkUGF0
aF0sCisgICAgICAgIFsnY2FwdHVyaW5nJywgRXZlbnQuQ0FQVFVSSU5HX1BIQVNFLCAnbG93ZXJI
b3N0JywgJ3VwcGVyU2xvdCcsIHVwcGVyQ29tcG9zZWRQYXRoXSwKKyAgICAgICAgWydjYXB0dXJp
bmcnLCBFdmVudC5BVF9UQVJHRVQsICdsb3dlckhvc3QnLCAnbG93ZXJIb3N0Jywgb3V0ZXJDb21w
b3NlZFBhdGhdLAorICAgICAgICBbJ2NhcHR1cmluZycsIEV2ZW50LkNBUFRVUklOR19QSEFTRSwg
J3RhcmdldCcsICdsb3dlclNoYWRvd1Jvb3QnLCBsb3dlckNvbXBvc2VkUGF0aF0sCisgICAgICAg
IFsnY2FwdHVyaW5nJywgRXZlbnQuQVRfVEFSR0VULCAndGFyZ2V0JywgJ3RhcmdldCcsIGxvd2Vy
Q29tcG9zZWRQYXRoXSwKKworICAgICAgICBbJ2J1YmJsaW5nJywgRXZlbnQuQVRfVEFSR0VULCAn
dGFyZ2V0JywgJ3RhcmdldCcsIGxvd2VyQ29tcG9zZWRQYXRoXSwKKyAgICAgICAgWydidWJibGlu
ZycsIEV2ZW50LkJVQkJMSU5HX1BIQVNFLCAndGFyZ2V0JywgJ2xvd2VyU2hhZG93Um9vdCcsIGxv
d2VyQ29tcG9zZWRQYXRoXSwKKyAgICAgICAgWydidWJibGluZycsIEV2ZW50LkFUX1RBUkdFVCwg
J2xvd2VySG9zdCcsICdsb3dlckhvc3QnLCBvdXRlckNvbXBvc2VkUGF0aF0sCisgICAgICAgIFsn
YnViYmxpbmcnLCBFdmVudC5CVUJCTElOR19QSEFTRSwgJ2xvd2VySG9zdCcsICd1cHBlclNsb3Qn
LCB1cHBlckNvbXBvc2VkUGF0aF0sCisgICAgICAgIFsnYnViYmxpbmcnLCBFdmVudC5CVUJCTElO
R19QSEFTRSwgJ2xvd2VySG9zdCcsICd1cHBlclNoYWRvd1Jvb3QnLCB1cHBlckNvbXBvc2VkUGF0
aF0sCisgICAgICAgIFsnYnViYmxpbmcnLCBFdmVudC5CVUJCTElOR19QSEFTRSwgJ2xvd2VySG9z
dCcsICd1cHBlckhvc3QnLCBvdXRlckNvbXBvc2VkUGF0aF0sCisgICAgICAgIFsnYnViYmxpbmcn
LCBFdmVudC5CVUJCTElOR19QSEFTRSwgJ2xvd2VySG9zdCcsICd0ZXN0NScsIG91dGVyQ29tcG9z
ZWRQYXRoXSwKKyAgICBdKTsKK30sICdDYXB0dXJpbmcgZXZlbnQgbGlzdGVuZXJzIHNob3VsZCBi
ZSBpbnZva2VkIGJlZm9yZSBidWJibGluZyBldmVudCBsaXN0ZW5lcnMgd2hlbiBhbiBldmVudCBp
cyBkaXNwYXRjaGVkIGluc2lkZSBhIHNoYWRvdyB0cmVlIHdoaWNoIHBhc3NlcyB0aHJvdWdoIGFu
b3RoZXIgc2hhZG93IHRyZWUnKTsKKzwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRv
dy1kb20vZGlyZWN0aW9uYWxpdHktMDAyLnRlbnRhdGl2ZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RpcmVjdGlv
bmFsaXR5LTAwMi50ZW50YXRpdmUtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NTRiMmZlY2Fi
Y2RlYzFhMmI3NmNjMDEzMGQyMWMwZDI3NDQ1OGM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RpcmVjdGlv
bmFsaXR5LTAwMi50ZW50YXRpdmUtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDYgQEAKKzwhZG9j
dHlwZSBodG1sPgorPHRpdGxlPkNTUyBUZXN0IFJlZmVyZW5jZTwvdGl0bGU+Cis8bGluayByZWw9
ImF1dGhvciIgdGl0bGU9IkVtaWxpbyBDb2JvcyDDgWx2YXJleiIgaHJlZj0ibWFpbHRvOmVtaWxp
b0BjcmlzYWwuaW8iPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNb3ppbGxhIiBocmVmPSJo
dHRwczovL21vemlsbGEub3JnIj4KKzxib2R5IGRpcj0icnRsIj4KKzxkaXYgc3R5bGU9IndpZHRo
OiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgYmFja2dyb3VuZDogZ3JlZW4iPjwvZGl2PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL2RpcmVjdGlvbmFsaXR5LTAwMi50ZW50YXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kaXJlY3Rpb25hbGl0eS0wMDIu
dGVudGF0aXZlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2ZmMDM2MTk0YmFhOWY2YzlmYmUxYTQxMTZhYWM4
NjQ3MDlmOWM2NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kaXJlY3Rpb25hbGl0eS0wMDIudGVudGF0aXZl
Lmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+RGlyZWN0aW9u
YWxpdHkgaXMgcHJvcGVybHkgY29tcHV0ZWQgZm9yIHNsb3R0ZWQgY2hpbGRyZW48L3RpdGxlPgor
PGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJFbWlsaW8gQ29ib3Mgw4FsdmFyZXoiIGhyZWY9Im1h
aWx0bzplbWlsaW9AY3Jpc2FsLmlvIj4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTW96aWxs
YSIgaHJlZj0iaHR0cHM6Ly9tb3ppbGxhLm9yZyI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0
dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE1NjI0MjUiPgorPGxp
bmsgcmVsPSJtYXRjaCIgaHJlZj0iZGlyZWN0aW9uYWxpdHktMDAyLXJlZi5odG1sIj4KKzxzdHls
ZT4KKyAgLnNsb3R0ZWQgeworICAgIHdpZHRoOiAxMDBweDsKKyAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgIGJhY2tncm91bmQ6IHJlZDsKKyAgfQorICAuc2xvdHRlZDpkaXIocnRsKSB7CisgICAgYmFj
a2dyb3VuZDogZ3JlZW47CisgIH0KKzwvc3R5bGU+Cis8Ym9keSBkaXI9InJ0bCI+Cis8c2NyaXB0
PgorICBsZXQgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpCisgIGxldCBzbG90
dGVkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgIHNsb3R0ZWQuY2xhc3NOYW1l
ID0gInNsb3R0ZWQiOworICByb290LmFwcGVuZENoaWxkKHNsb3R0ZWQpOworICByb290LmF0dGFj
aFNoYWRvdyh7IG1vZGU6ICJvcGVuIiB9KS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJzbG90IikpOworICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NoYWRvdy1kb20vZm9jdXMvRG9jdW1lbnRPclNoYWRvd1Jvb3QtYWN0aXZlRWxlbWVudC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vZm9jdXMvRG9jdW1lbnRPclNoYWRvd1Jvb3QtYWN0aXZlRWxlbWVudC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNGU0NWRiMGFhNWFjYTUyY2MyYWViNjcwYTdhZTUzZmY1Y2Q4
NDk2NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9Eb2N1bWVudE9yU2hhZG93Um9vdC1hY3RpdmVF
bGVtZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKKworUEFTUyBhY3RpdmVFbGVtZW50
IG9uIGRvY3VtZW50ICYgc2hhZG93IHJvb3Qgd2hlbiBmb2N1c2VkIGVsZW1lbnQgaXMgaW4gdGhl
IHNoYWRvdyB0cmVlIAorUEFTUyBhY3RpdmVFbGVtZW50IG9uIGRvY3VtZW50ICYgc2hhZG93IHJv
b3Qgd2hlbiBmb2N1c2VkIGVsZW1lbnQgaXMgaW4gdGhlIGRvY3VtZW50IAorUEFTUyBhY3RpdmVF
bGVtZW50IG9uIGRvY3VtZW50ICYgc2hhZG93IHJvb3Qgd2hlbiBmb2N1c2VkIGVsZW1lbnQgaXMg
c2xvdHRlZCAKK1BBU1MgYWN0aXZlRWxlbWVudCBvbiBhIG5laWdoYm9yaW5nIGhvc3Qgd2hlbiBm
b2N1c2VkIGVsZW1lbnQgaXMgaW4gYW5vdGhlciBzaGFkb3cgdHJlZSAKK1BBU1MgYWN0aXZlRWxl
bWVudCB3aGVuIGZvY3VzZWQgZWxlbWVudCBpcyBpbiBhIG5lc3RlZCBzaGFkb3cgdHJlZSAKK1BB
U1MgYWN0aXZlRWxlbWVudCB3aGVuIGZvY3VzZWQgZWxlbWVudCBpcyBpbiBhIHBhcmVudCBzaGFk
b3cgdHJlZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL0RvY3VtZW50T3JTaGFkb3dSb290LWFjdGl2ZUVs
ZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9mb2N1cy9Eb2N1bWVudE9yU2hhZG93Um9vdC1hY3RpdmVFbGVtZW50Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjA0NTZiMDU3ZTFlNzI0Y2RhYzliYzY1NmYzYjNkNmM3YWMyZjY1OAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9mb2N1cy9Eb2N1bWVudE9yU2hhZG93Um9vdC1hY3RpdmVFbGVtZW50Lmh0
bWwKQEAgLTAsMCArMSw5MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8dGl0bGU+SFRNTCBUZXN0OiBEb2N1bWVudE9yU2hhZG93Um9vdC5hY3RpdmVFbGVtZW50
PC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanMiPjwvc2NyaXB0PgorPGJv
ZHk+Cis8c2NyaXB0PgorZnVuY3Rpb24gY3JlYXRlQ2hpbGRBbmRGb2N1cyhmb2N1c1BhcmVudCkg
eworICBjb25zdCBmb2N1c2VkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgIGZv
Y3VzZWQudGFiSW5kZXggPSAwOworICBmb2N1c1BhcmVudC5hcHBlbmRDaGlsZChmb2N1c2VkKTsK
KyAgZm9jdXNlZC5mb2N1cygpOworICByZXR1cm4gZm9jdXNlZDsKK30KKwordGVzdCgoKSA9PiB7
CisgIGNvbnN0IGhvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgY29uc3Qg
c2hhZG93Um9vdCA9IGhvc3QuYXR0YWNoU2hhZG93KHsgbW9kZTogIm9wZW4iIH0pOworICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGhvc3QpOworCisgIGNvbnN0IGZvY3VzZWQgPSBjcmVhdGVD
aGlsZEFuZEZvY3VzKHNoYWRvd1Jvb3QpOworICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LmFjdGl2
ZUVsZW1lbnQsIGhvc3QpOworICBhc3NlcnRfZXF1YWxzKHNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVu
dCwgZm9jdXNlZCk7Cit9LCAiYWN0aXZlRWxlbWVudCBvbiBkb2N1bWVudCAmIHNoYWRvdyByb290
IHdoZW4gZm9jdXNlZCBlbGVtZW50IGlzIGluIHRoZSBzaGFkb3cgdHJlZSIpOworCit0ZXN0KCgp
ID0+IHsKKyAgY29uc3QgaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICBj
b25zdCBzaGFkb3dSb290ID0gaG9zdC5hdHRhY2hTaGFkb3coeyBtb2RlOiAib3BlbiIgfSk7Cisg
IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaG9zdCk7CisKKyAgY29uc3QgZm9jdXNlZCA9IGNy
ZWF0ZUNoaWxkQW5kRm9jdXMoZG9jdW1lbnQuYm9keSk7CisgIGFzc2VydF9lcXVhbHMoZG9jdW1l
bnQuYWN0aXZlRWxlbWVudCwgZm9jdXNlZCk7CisgIGFzc2VydF9lcXVhbHMoc2hhZG93Um9vdC5h
Y3RpdmVFbGVtZW50LCBudWxsKTsKK30sICJhY3RpdmVFbGVtZW50IG9uIGRvY3VtZW50ICYgc2hh
ZG93IHJvb3Qgd2hlbiBmb2N1c2VkIGVsZW1lbnQgaXMgaW4gdGhlIGRvY3VtZW50Iik7CisKK3Rl
c3QoKCkgPT4geworICBjb25zdCBob3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7
CisgIGNvbnN0IHNoYWRvd1Jvb3QgPSBob3N0LmF0dGFjaFNoYWRvdyh7IG1vZGU6ICJvcGVuIiB9
KTsKKyAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzbG90
IikpOworICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGhvc3QpOworCisgIC8vIENoaWxkIG9m
IHxob3N0fCwgd2lsbCBiZSBzbG90dGVkIHRvIHRoZSBzbG90IGluIHxzaGFkb3dSb290fC4KKyAg
Y29uc3QgZm9jdXNlZCA9IGNyZWF0ZUNoaWxkQW5kRm9jdXMoaG9zdCk7CisgIGFzc2VydF9lcXVh
bHMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCwgZm9jdXNlZCk7CisgIGFzc2VydF9lcXVhbHMoc2hh
ZG93Um9vdC5hY3RpdmVFbGVtZW50LCBudWxsKTsKK30sICJhY3RpdmVFbGVtZW50IG9uIGRvY3Vt
ZW50ICYgc2hhZG93IHJvb3Qgd2hlbiBmb2N1c2VkIGVsZW1lbnQgaXMgc2xvdHRlZCIpOworCit0
ZXN0KCgpID0+IHsKKyAgY29uc3QgaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp
OworICBjb25zdCBzaGFkb3dSb290ID0gaG9zdC5hdHRhY2hTaGFkb3coeyBtb2RlOiAib3BlbiIg
fSk7CisgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaG9zdCk7CisgIGNvbnN0IG5laWdoYm9y
SG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICBjb25zdCBuZWlnaGJvclNo
YWRvd1Jvb3QgPSBuZWlnaGJvckhvc3QuYXR0YWNoU2hhZG93KHsgbW9kZTogIm9wZW4iIH0pOwor
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG5laWdoYm9ySG9zdCk7CisKKyAgY29uc3QgZm9j
dXNlZCA9IGNyZWF0ZUNoaWxkQW5kRm9jdXMoc2hhZG93Um9vdCk7CisgIGFzc2VydF9lcXVhbHMo
ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCwgaG9zdCk7CisgIGFzc2VydF9lcXVhbHMoc2hhZG93Um9v
dC5hY3RpdmVFbGVtZW50LCBmb2N1c2VkKTsKKyAgYXNzZXJ0X2VxdWFscyhuZWlnaGJvclNoYWRv
d1Jvb3QuYWN0aXZlRWxlbWVudCwgbnVsbCk7Cit9LCAiYWN0aXZlRWxlbWVudCBvbiBhIG5laWdo
Ym9yaW5nIGhvc3Qgd2hlbiBmb2N1c2VkIGVsZW1lbnQgaXMgaW4gYW5vdGhlciBzaGFkb3cgdHJl
ZSIpOworCit0ZXN0KCgpID0+IHsKKyAgY29uc3QgaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImRpdiIpOworICBjb25zdCBzaGFkb3dSb290ID0gaG9zdC5hdHRhY2hTaGFkb3coeyBtb2Rl
OiAib3BlbiIgfSk7CisgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaG9zdCk7CisgIGNvbnN0
IG5lc3RlZEhvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgY29uc3QgbmVz
dGVkU2hhZG93Um9vdCA9IG5lc3RlZEhvc3QuYXR0YWNoU2hhZG93KHsgbW9kZTogIm9wZW4iIH0p
OworICBzaGFkb3dSb290LmFwcGVuZENoaWxkKG5lc3RlZEhvc3QpOworCisgIGNvbnN0IGZvY3Vz
ZWQgPSBjcmVhdGVDaGlsZEFuZEZvY3VzKG5lc3RlZFNoYWRvd1Jvb3QpOworICBhc3NlcnRfZXF1
YWxzKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsIGhvc3QpOworICBhc3NlcnRfZXF1YWxzKHNoYWRv
d1Jvb3QuYWN0aXZlRWxlbWVudCwgbmVzdGVkSG9zdCk7CisgIGFzc2VydF9lcXVhbHMobmVzdGVk
U2hhZG93Um9vdC5hY3RpdmVFbGVtZW50LCBmb2N1c2VkKTsKK30sICJhY3RpdmVFbGVtZW50IHdo
ZW4gZm9jdXNlZCBlbGVtZW50IGlzIGluIGEgbmVzdGVkIHNoYWRvdyB0cmVlIik7CisKK3Rlc3Qo
KCkgPT4geworICBjb25zdCBob3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Cisg
IGNvbnN0IHNoYWRvd1Jvb3QgPSBob3N0LmF0dGFjaFNoYWRvdyh7IG1vZGU6ICJvcGVuIiB9KTsK
KyAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChob3N0KTsKKyAgY29uc3QgbmVzdGVkSG9zdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICBjb25zdCBuZXN0ZWRTaGFkb3dSb290
ID0gbmVzdGVkSG9zdC5hdHRhY2hTaGFkb3coeyBtb2RlOiAib3BlbiIgfSk7CisgIHNoYWRvd1Jv
b3QuYXBwZW5kQ2hpbGQobmVzdGVkSG9zdCk7CisKKyAgY29uc3QgZm9jdXNlZCA9IGNyZWF0ZUNo
aWxkQW5kRm9jdXMoc2hhZG93Um9vdCk7CisgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuYWN0aXZl
RWxlbWVudCwgaG9zdCk7CisgIGFzc2VydF9lcXVhbHMoc2hhZG93Um9vdC5hY3RpdmVFbGVtZW50
LCBmb2N1c2VkKTsKKyAgYXNzZXJ0X2VxdWFscyhuZXN0ZWRTaGFkb3dSb290LmFjdGl2ZUVsZW1l
bnQsIG51bGwpOworfSwgImFjdGl2ZUVsZW1lbnQgd2hlbiBmb2N1c2VkIGVsZW1lbnQgaXMgaW4g
YSBwYXJlbnQgc2hhZG93IHRyZWUiKTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2Zv
Y3VzL2ZvY3VzLXNlbGVjdG9yLWRlbGVnYXRlc0ZvY3VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1
cy1zZWxlY3Rvci1kZWxlZ2F0ZXNGb2N1cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWVlOWYw
YjlmMDdmMmE3MzZhZjhjNTZiZDQ4ZDYxZjhhZWE5ZDJkZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1
cy9mb2N1cy1zZWxlY3Rvci1kZWxlZ2F0ZXNGb2N1cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MiBAQAorZm9vCitmb28KKworRkFJTCA6Zm9jdXMgYXBwbGllcyB0byBob3N0IHdpdGggZGVsZWdh
dGVzRm9jdXM9dHJ1ZSB3aGVuIHRoZSBzaGFkb3cgcm9vdCdzIGRlc2NlbmRhbnQgaGFzIGZvY3Vz
IGFzc2VydF90cnVlOiBob3N0IG1hdGNoZXMgOmZvY3VzIGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
CitGQUlMIDpmb2N1cyBhcHBsaWVzIHRvIGhvc3Qgd2l0aCBkZWxlZ2F0ZXNGb2N1cz10cnVlIHdo
ZW4gc2xvdHRlZCBlbGVtZW50IGhhcyBmb2N1cyBhc3NlcnRfdHJ1ZTogaG9zdCBtYXRjaGVzIDpm
b2N1cyBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCA6Zm9jdXMgYXBwbGllcyB0byBob3N0
IHdpdGggZGVsZWdhdGVzRm9jdXM9dHJ1ZSB3aGVuIGFuIGVsZW1lbnQgaW4gYSBuZXN0ZWQgc2hh
ZG93IHRyZWUgd2l0aCBkZWxlZ2F0ZXNGb2N1cz10cnVlIGlzIGZvY3VzZWQgYXNzZXJ0X3RydWU6
IGhvc3Qgb2YgbmVzdGVkIHNoYWRvdyB0cmVlIG1hdGNoZXMgZm9jdXMgZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UKK0ZBSUwgOmZvY3VzIGFwcGxpZXMgdG8gaG9zdCB3aXRoIGRlbGVnYXRlc0ZvY3Vz
PXRydWUgd2hlbiBhbiBlbGVtZW50IGluIGEgbmVzdGVkIHNoYWRvdyB0cmVlIHdpdGggZGVsZWdh
dGVzRm9jdXM9ZmFsc2UgaXMgZm9jdXNlZCBhc3NlcnRfdHJ1ZTogaG9zdCBvZiBuZXN0ZWQgc2hh
ZG93IHRyZWUgbWF0Y2hlcyBmb2N1cyBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCA6Zm9j
dXMgYXBwbGllcyB0byBob3N0IHdpdGggZGVsZWdhdGVzRm9jdXM9ZmFsc2Ugd2hlbiB0aGUgc2hh
ZG93IHJvb3QncyBkZXNjZW5kYW50IGhhcyBmb2N1cyBhc3NlcnRfdHJ1ZTogaG9zdCBtYXRjaGVz
IDpmb2N1cyBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCA6Zm9jdXMgYXBwbGllcyB0byBo
b3N0IHdpdGggZGVsZWdhdGVzRm9jdXM9ZmFsc2Ugd2hlbiBzbG90dGVkIGVsZW1lbnQgaGFzIGZv
Y3VzIGFzc2VydF90cnVlOiBob3N0IG1hdGNoZXMgOmZvY3VzIGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCitGQUlMIDpmb2N1cyBhcHBsaWVzIHRvIGhvc3Qgd2l0aCBkZWxlZ2F0ZXNGb2N1cz1mYWxz
ZSB3aGVuIGFuIGVsZW1lbnQgaW4gYSBuZXN0ZWQgc2hhZG93IHRyZWUgd2l0aCBkZWxlZ2F0ZXNG
b2N1cz10cnVlIGlzIGZvY3VzZWQgYXNzZXJ0X3RydWU6IGhvc3Qgb2YgbmVzdGVkIHNoYWRvdyB0
cmVlIG1hdGNoZXMgZm9jdXMgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgOmZvY3VzIGFw
cGxpZXMgdG8gaG9zdCB3aXRoIGRlbGVnYXRlc0ZvY3VzPWZhbHNlIHdoZW4gYW4gZWxlbWVudCBp
biBhIG5lc3RlZCBzaGFkb3cgdHJlZSB3aXRoIGRlbGVnYXRlc0ZvY3VzPWZhbHNlIGlzIGZvY3Vz
ZWQgYXNzZXJ0X3RydWU6IGhvc3Qgb2YgbmVzdGVkIHNoYWRvdyB0cmVlIG1hdGNoZXMgZm9jdXMg
ZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXNlbGVjdG9y
LWRlbGVnYXRlc0ZvY3VzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtc2VsZWN0b3ItZGVsZWdhdGVzRm9jdXMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zODYwNDUyNThlMDQzZjdiMDg0OWFhYTM2NmQzNGJiNjQ1ZjJmNzNm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXNlbGVjdG9yLWRlbGVnYXRlc0ZvY3VzLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICA8
bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKyAgPHRpdGxlPkNTUyBUZXN0IChTZWxlY3RvcnMpOiA6
Zm9jdXMgYmVoYXZpb3Igd2l0aCBzaGFkb3cgaG9zdHMgJiBkZWxlZ2F0ZXNGb2N1cyA8L3RpdGxl
PgorICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IlJha2luYSBaYXRhIEFtbmkiIGhyZWY9InJh
a2luYUBjaHJvbWl1bS5vcmciIC8+CisgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9o
dG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc2VtYW50aWNzLW90aGVyLmh0bWwjc2VsZWN0
b3ItZm9jdXMiIC8+CisgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzIj48L3Nj
cmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanMiPjwv
c2NyaXB0PgorICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYWRvdy11dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+CisKKzxib2R5PgorPHNjcmlwdD4KK2Z1bmN0aW9uIGNyZWF0ZUZvY3VzYWJs
ZURpdigpIHsKKyAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Cisg
IGRpdi5pbm5lclRleHQgPSAiZm9vIjsKKyAgZGl2LnRhYkluZGV4ID0gMDsKKyAgcmV0dXJuIGRp
djsKK30KKworZnVuY3Rpb24gY3JlYXRlU2hhZG93SG9zdChkZWxlZ2F0ZXNGb2N1cywgY29udGFp
bmVyKSB7CisgIGNvbnN0IGhvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAg
aG9zdC5hdHRhY2hTaGFkb3coeyBtb2RlOiAib3BlbiIsIGRlbGVnYXRlc0ZvY3VzOiBkZWxlZ2F0
ZXNGb2N1cyB9KTsKKyAgY29udGFpbmVyLmFwcGVuZENoaWxkKGhvc3QpOworICByZXR1cm4gaG9z
dDsKK30KKworY29uc3QgZGVsZWdhdGVzRm9jdXNWYWx1ZXMgPSBbdHJ1ZSwgZmFsc2VdOworCitm
b3IgKGNvbnN0IGRlbGVnYXRlc0ZvY3VzIG9mIGRlbGVnYXRlc0ZvY3VzVmFsdWVzKSB7CisgIHRl
c3QoKCkgPT4geworICAgIHJlc2V0Rm9jdXMoKTsKKyAgICBjb25zdCBob3N0ID0gY3JlYXRlU2hh
ZG93SG9zdChkZWxlZ2F0ZXNGb2N1cywgZG9jdW1lbnQuYm9keSk7CisgICAgY29uc3Qgc2hhZG93
Q2hpbGQgPSBjcmVhdGVGb2N1c2FibGVEaXYoKTsKKyAgICBob3N0LnNoYWRvd1Jvb3QuYXBwZW5k
Q2hpbGQoc2hhZG93Q2hpbGQpOworCisgICAgc2hhZG93Q2hpbGQuZm9jdXMoKTsKKyAgICBhc3Nl
cnRfdHJ1ZShzaGFkb3dDaGlsZC5tYXRjaGVzKCI6Zm9jdXMiKSwgImVsZW1lbnQgaW4gc2hhZG93
IHRyZWUgbWF0Y2hlcyA6Zm9jdXMiKTsKKyAgICBhc3NlcnRfdHJ1ZShob3N0Lm1hdGNoZXMoIjpm
b2N1cyIpLCAiaG9zdCBtYXRjaGVzIDpmb2N1cyIpOworICB9LCBgOmZvY3VzIGFwcGxpZXMgdG8g
aG9zdCB3aXRoIGRlbGVnYXRlc0ZvY3VzPSR7ZGVsZWdhdGVzRm9jdXN9IHdoZW4gdGhlIHNoYWRv
dyByb290J3MgZGVzY2VuZGFudCBoYXMgZm9jdXNgKTsKKworICB0ZXN0KCgpID0+IHsKKyAgICBy
ZXNldEZvY3VzKCk7CisgICAgY29uc3QgaG9zdCA9IGNyZWF0ZVNoYWRvd0hvc3QoZGVsZWdhdGVz
Rm9jdXMsIGRvY3VtZW50LmJvZHkpOworICAgIGNvbnN0IHNsb3R0ZWQgPSBjcmVhdGVGb2N1c2Fi
bGVEaXYoKTsKKyAgICBob3N0LnNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgic2xvdCIpKTsKKyAgICBob3N0LmFwcGVuZENoaWxkKHNsb3R0ZWQpOworCisgICAg
c2xvdHRlZC5mb2N1cygpOworICAgIGFzc2VydF90cnVlKHNsb3R0ZWQubWF0Y2hlcygiOmZvY3Vz
IiksICJzbG90dGVkIGVsZW1lbnQgbWF0Y2hlcyA6Zm9jdXMiKTsKKyAgICBhc3NlcnRfdHJ1ZSho
b3N0Lm1hdGNoZXMoIjpmb2N1cyIpLCAiaG9zdCBtYXRjaGVzIDpmb2N1cyIpOworICB9LCBgOmZv
Y3VzIGFwcGxpZXMgdG8gaG9zdCB3aXRoIGRlbGVnYXRlc0ZvY3VzPSR7ZGVsZWdhdGVzRm9jdXN9
IHdoZW4gc2xvdHRlZCBlbGVtZW50IGhhcyBmb2N1c2ApOworCisgIGZvciAoY29uc3QgbmVzdGVk
RGVsZWdhdGVzRm9jdXMgb2YgZGVsZWdhdGVzRm9jdXNWYWx1ZXMpIHsKKyAgICB0ZXN0KCgpID0+
IHsKKyAgICAgIHJlc2V0Rm9jdXMoKTsKKyAgICAgIGNvbnN0IGhvc3QgPSBjcmVhdGVTaGFkb3dI
b3N0KGRlbGVnYXRlc0ZvY3VzLCBkb2N1bWVudC5ib2R5KTsKKyAgICAgIGNvbnN0IG5lc3RlZEhv
c3QgPSBjcmVhdGVTaGFkb3dIb3N0KG5lc3RlZERlbGVnYXRlc0ZvY3VzLCBob3N0LnNoYWRvd1Jv
b3QpOworICAgICAgY29uc3QgbmVzdGVkU2hhZG93Q2hpbGQgPSBjcmVhdGVGb2N1c2FibGVEaXYo
KTsKKyAgICAgIG5lc3RlZEhvc3Quc2hhZG93Um9vdC5hcHBlbmRDaGlsZChuZXN0ZWRTaGFkb3dD
aGlsZCk7CisgICAgICBuZXN0ZWRTaGFkb3dDaGlsZC5mb2N1cygpOworICAgICAgYXNzZXJ0X3Ry
dWUobmVzdGVkU2hhZG93Q2hpbGQubWF0Y2hlcygiOmZvY3VzIiksICJlbGVtZW50IGluIG5lc3Rl
ZCBzaGFkb3cgdHJlZSBtYXRjaGVzIDpmb2N1cyIpOworICAgICAgYXNzZXJ0X3RydWUobmVzdGVk
SG9zdC5tYXRjaGVzKCI6Zm9jdXMiKSwgImhvc3Qgb2YgbmVzdGVkIHNoYWRvdyB0cmVlIG1hdGNo
ZXMgZm9jdXMiKTsKKyAgICAgIGFzc2VydF90cnVlKGhvc3QubWF0Y2hlcygiOmZvY3VzIiksICJ0
b3Btb3N0IGhvc3QgbWF0Y2hlcyBmb2N1cyIpOworfSwgYDpmb2N1cyBhcHBsaWVzIHRvIGhvc3Qg
d2l0aCBkZWxlZ2F0ZXNGb2N1cz0ke2RlbGVnYXRlc0ZvY3VzfSB3aGVuIGFuIGVsZW1lbnQgaW4g
YSBuZXN0ZWQgc2hhZG93IHRyZWUgd2l0aCBkZWxlZ2F0ZXNGb2N1cz0ke25lc3RlZERlbGVnYXRl
c0ZvY3VzfSBpcyBmb2N1c2VkYCk7CisgIH0KK30KKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL2ZvY3VzL2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNoYWRvdy1uZWdhdGl2ZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1k
b20vZm9jdXMvZm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93LW5lZ2F0aXZlLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44ZmZmM2FhMmM3YzYzNmNmMzg3NzA3NDBiYTU4ZGVlYTg5MzI1MmEyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNoYWRvdy1uZWdhdGl2
ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACithYm92ZUhvc3QKK3Nsb3R0ZWQgYmVsb3cK
K3Nsb3R0ZWQgYWJvdmUKK2JlbG93SG9zdAorCitQQVNTIE9yZGVyIHdoZW4gYWxsIGVsZW1lbnRz
IGluIHNoYWRvdyB0cmVlIGhhcyBuZWdhdGl2ZSB0YWJpbmRleCAKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3Vz
L2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNoYWRvdy1uZWdhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXRh
YmluZGV4LW9yZGVyLXNoYWRvdy1uZWdhdGl2ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFiMjVlYTgyOWJk
MTA5NTJhZDZlOTY4OThmYzk1YTFhMWFlMjVkOGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9j
dXMtdGFiaW5kZXgtb3JkZXItc2hhZG93LW5lZ2F0aXZlLmh0bWwKQEAgLTAsMCArMSwzNCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+SFRNTCBUZXN0
OiBmb2N1cyAtIHRoZSBzZXF1ZW50aWFsIGZvY3VzIG5hdmlnYXRpb24gb3JkZXIgd2l0aCBzaGFk
b3cgZG9tIGFuZCBuZWdhdGl2ZSB0YWJpbmRleCBpbiBzaGFkb3cgc2NvcGU8L3RpdGxlPgorPGxp
bmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFn
ZS9pbnRlcmFjdGlvbi5odG1sI3NlcXVlbnRpYWwtZm9jdXMtbmF2aWdhdGlvbiI+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvc2hhZG93LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KKy8vIFN0cnVj
dHVyZToKKy8vIDxkaXYgI2Fib3ZlSG9zdCB0YWJpbmRleD0wPgorLy8gPGRpdiAjaG9zdCB0YWJp
bmRleD0wPgorLy8gICAgI3NoYWRvd1Jvb3QKKy8vICAgICAgPGRpdiAjYWJvdmVTbG90IHRhYmlu
ZGV4PS0xPgorLy8gICAgICA8c2xvdCAjc2xvdEFib3ZlIHRhYmluZGV4PS0xPgorLy8gICAgICAg
IChzbG90dGVkKSA8ZGl2ICNzbG90dGVkQWJvdmUgdGFiaW5kZXg9LTE+CisvLyAgICAgIDxzbG90
ICNzbG90QmVsb3cgdGFiaW5kZXg9LTE+CisvLyAgICAgICAgKHNsb3R0ZWQpIDxkaXYgI3Nsb3R0
ZWRCZWxvdyB0YWJpbmRleD0tMT4KKy8vICAgICAgPGRpdiAjYmVsb3dTbG90IHRhYmluZGV4PS0x
PgorLy8gPGRpdiAjYmVsb3dIb3N0IHRhYmluZGV4PTA+CisKK3Byb21pc2VfdGVzdCgoKSA9PiB7
CisgIGxldCBlbGVtZW50c0luRmxhdFRyZWVPcmRlcjsKKyAgbGV0IFthYm92ZUhvc3QsIGhvc3Qs
IGFib3ZlU2xvdCwgc2xvdEFib3ZlLCBzbG90dGVkQWJvdmUsIHNsb3RCZWxvdywgc2xvdHRlZEJl
bG93LCBiZWxvd1Nsb3QsIGJlbG93SG9zdF0gPQorICAgIGVsZW1lbnRzSW5GbGF0VHJlZU9yZGVy
ID0gcHJlcGFyZURPTShkb2N1bWVudC5ib2R5LCBmYWxzZSk7CisgIHNldFRhYkluZGV4KGVsZW1l
bnRzSW5GbGF0VHJlZU9yZGVyLCAtMSk7CisgIHNldFRhYkluZGV4KFthYm92ZUhvc3QsIGhvc3Qs
IGJlbG93SG9zdF0sIDApOworICByZXNldEZvY3VzKCk7CisgIHJldHVybiBhc3NlcnRGb2N1c09y
ZGVyKFthYm92ZUhvc3QsIGhvc3QsIGJlbG93SG9zdF0pOworfSwgIk9yZGVyIHdoZW4gYWxsIGVs
ZW1lbnRzIGluIHNoYWRvdyB0cmVlIGhhcyBuZWdhdGl2ZSB0YWJpbmRleCIpOworPC9zY3JpcHQ+
Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93LXNs
b3Qtb25lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ctc2xv
dC1vbmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQwMGUyYjg3OWU2MzNjOGQ4YzVlMDI3Yzhj
NjA0ZjBlYTI0MmU0NWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtdGFiaW5kZXgtb3Jk
ZXItc2hhZG93LXNsb3Qtb25lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK2Fib3ZlSG9z
dAorc2xvdHRlZCBiZWxvdworc2xvdHRlZCBhYm92ZQorYmVsb3dIb3N0CisKK1BBU1MgT3JkZXIg
d2hlbiBhbGwgdGFiaW5kZXg9MCwgZXhjZXB0IGZvciBvbmUgc2xvdCB0aGF0IGhhcyB0YWJpbmRl
eD0xIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93LXNsb3Qt
b25lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3No
YWRvdy1kb20vZm9jdXMvZm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93LXNsb3Qtb25lLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uM2M5ZTcwODY3YzU4ODNlOTZmNjI4OGI4NWE5YmFjNjBiOTUyNmY0ZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ctc2xvdC1vbmUu
aHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzx0aXRsZT5IVE1MIFRlc3Q6IGZvY3VzIC0gdGhlIHNlcXVlbnRpYWwgZm9jdXMgbmF2
aWdhdGlvbiBvcmRlciB3aXRoIHNoYWRvdyBkb20gYW5kIGFsbCB0YWJpbmRleD0wIGV4Y2VwdCBm
b3Igb25lIG9mIHRoZSBzbG90PC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6
Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJhY3Rpb24uaHRtbCNzZXF1ZW50
aWFsLWZvY3VzLW5hdmlnYXRpb24iPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYWRvdy11dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisvLyBTdHJ1Y3R1cmU6CisvLyA8ZGl2ICNhYm92ZUhvc3Qg
dGFiaW5kZXg9MD4KKy8vIDxkaXYgI2hvc3QgdGFiaW5kZXg9MD4KKy8vICAgICNzaGFkb3dSb290
CisvLyAgICAgIDxkaXYgI2Fib3ZlU2xvdCB0YWJpbmRleD0wPgorLy8gICAgICA8c2xvdCAjc2xv
dEFib3ZlIHRhYmluZGV4PTA+CisvLyAgICAgICAgKHNsb3R0ZWQpIDxkaXYgI3Nsb3R0ZWRBYm92
ZSB0YWJpbmRleD0wPgorLy8gICAgICA8c2xvdCAjc2xvdEJlbG93IHRhYmluZGV4PTE+CisvLyAg
ICAgICAgKHNsb3R0ZWQpIDxkaXYgI3Nsb3R0ZWRCZWxvdyB0YWJpbmRleD0wPgorLy8gICAgICA8
ZGl2ICNiZWxvd1Nsb3QgdGFiaW5kZXg9MD4KKy8vIDxkaXYgI2JlbG93SG9zdCB0YWJpbmRleD0w
PgorCitwcm9taXNlX3Rlc3QoKCkgPT4geworICBsZXQgZWxlbWVudHNJbkZsYXRUcmVlT3JkZXI7
CisgIGxldCBbYWJvdmVIb3N0LCBob3N0LCBhYm92ZVNsb3QsIHNsb3RBYm92ZSwgc2xvdHRlZEFi
b3ZlLCBzbG90QmVsb3csIHNsb3R0ZWRCZWxvdywgYmVsb3dTbG90LCBiZWxvd0hvc3RdID0KKyAg
ICBlbGVtZW50c0luRmxhdFRyZWVPcmRlciA9IHByZXBhcmVET00oZG9jdW1lbnQuYm9keSwgZmFs
c2UpOworICBzZXRUYWJJbmRleChlbGVtZW50c0luRmxhdFRyZWVPcmRlciwgMCk7CisgIHNsb3RC
ZWxvdy50YWJJbmRleCA9IDE7CisgIHJlc2V0Rm9jdXMoKTsKKyAgLy8gRm9jdXMgc2hvdWxkIG1v
dmUgZmlyc3QgYWNjb3JkaW5nIHRvIGZsYXQgdHJlZSBvcmRlciB0byAjYWJvdmVIb3N0IGFuZCAj
aG9zdCwgdGhlbiBpbnRvICNob3N0J3MgZm9jdXMgc2NvcGUuCisgIC8vIEl0IHdpbGwgdGhlbiBt
b3ZlIHRvICNzbG90dGVkQmVsb3cgYmVjYXVzZSAjc2xvdEJlbG93IGhhcyB0YWJpbmRleD0xICh0
aG91Z2ggd2UgYWN0dWFsbHkgd29uJ3QgZm9jdXMgb24gdGhlIHNsb3QpLAorICAvLyBhbmQgdGhl
biBiYWNrIHRvICNob3N0J3MgZm9jdXMgc2NvcGUgYWdhaW4sIGZpbmFsbHkgZ2V0dGluZyBvdXQg
dG8gdGhlIGRvY3VtZW50IGZvY3VzIHNjb3BlLgorICByZXR1cm4gYXNzZXJ0Rm9jdXNPcmRlcihb
YWJvdmVIb3N0LCBob3N0LCBzbG90dGVkQmVsb3csIGFib3ZlU2xvdCwgc2xvdHRlZEFib3ZlLCBi
ZWxvd1Nsb3QsIGJlbG93SG9zdF0pOworfSwgIk9yZGVyIHdoZW4gYWxsIHRhYmluZGV4PTAsIGV4
Y2VwdCBmb3Igb25lIHNsb3QgdGhhdCBoYXMgdGFiaW5kZXg9MSIpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93LXZhcnlpbmct
dGFiaW5kZXgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNoYWRvdy12
YXJ5aW5nLXRhYmluZGV4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45Yjk0YTgxMWVjM2Q0YzBk
OGJkNTI0ZTMwMTA2NzRhMDZjZjYyMWQxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXRh
YmluZGV4LW9yZGVyLXNoYWRvdy12YXJ5aW5nLXRhYmluZGV4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDcgQEAKK2Fib3ZlSG9zdAorc2xvdHRlZCBiZWxvdworc2xvdHRlZCBhYm92ZQorYmVsb3dI
b3N0CisKK1BBU1MgT3JkZXIgd2l0aCB2YXJpb3VzIHRhYmluZGV4IHZhbHVlcyAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL2ZvY3VzL2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNoYWRvdy12YXJ5aW5nLXRhYmluZGV4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1k
b20vZm9jdXMvZm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93LXZhcnlpbmctdGFiaW5kZXguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44NzVlNWI2ODE0YTk1NzU0ZjVjMDFkMThjMTI1YzM5YzM2M2FkM2M2Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNoYWRvdy12YXJ5aW5n
LXRhYmluZGV4Lmh0bWwKQEAgLTAsMCArMSwzNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+SFRNTCBUZXN0OiBmb2N1cyAtIHRoZSBzZXF1ZW50aWFs
IGZvY3VzIG5hdmlnYXRpb24gb3JkZXIgd2l0aCBzaGFkb3cgZG9tIHdpdGggdmFyeWluZyB0YWJp
bmRleCB2YWx1ZXM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2h0bWwu
c3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1sI3NlcXVlbnRpYWwtZm9j
dXMtbmF2aWdhdGlvbiI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhZG93LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxi
b2R5PgorPHNjcmlwdD4KKy8vIFN0cnVjdHVyZToKKy8vIDxkaXYgI2Fib3ZlSG9zdCB0YWJpbmRl
eD0zPgorLy8gPGRpdiAjaG9zdCB0YWJpbmRleD0zPgorLy8gICAgI3NoYWRvd1Jvb3QKKy8vICAg
ICAgPGRpdiAjYWJvdmVTbG90IHRhYmluZGV4PTI+CisvLyAgICAgIDxzbG90ICNzbG90QWJvdmUg
dGFiaW5kZXg9MT4KKy8vICAgICAgICAoc2xvdHRlZCkgPGRpdiAjc2xvdHRlZEFib3ZlIHRhYmlu
ZGV4PTQ+CisvLyAgICAgIDxzbG90ICNzbG90QmVsb3cgdGFiaW5kZXg9MT4KKy8vICAgICAgICAo
c2xvdHRlZCkgPGRpdiAjc2xvdHRlZEJlbG93IHRhYmluZGV4PTQ+CisvLyAgICAgIDxkaXYgI2Jl
bG93U2xvdCB0YWJpbmRleD0yPgorLy8gPGRpdiAjYmVsb3dIb3N0IHRhYmluZGV4PTM+CisKK3By
b21pc2VfdGVzdCgoKSA9PiB7CisgIGxldCBlbGVtZW50c0luRmxhdFRyZWVPcmRlcjsKKyAgbGV0
IFthYm92ZUhvc3QsIGhvc3QsIGFib3ZlU2xvdCwgc2xvdEFib3ZlLCBzbG90dGVkQWJvdmUsIHNs
b3RCZWxvdywgc2xvdHRlZEJlbG93LCBiZWxvd1Nsb3QsIGJlbG93SG9zdF0gPQorICAgIGVsZW1l
bnRzSW5GbGF0VHJlZU9yZGVyID0gcHJlcGFyZURPTShkb2N1bWVudC5ib2R5LCBmYWxzZSk7Cisg
IHNldFRhYkluZGV4KFtzbG90QWJvdmUsIHNsb3RCZWxvd10sIDEpOworICBzZXRUYWJJbmRleChb
YWJvdmVTbG90LCBiZWxvd1Nsb3RdLCAyKTsKKyAgc2V0VGFiSW5kZXgoW2Fib3ZlSG9zdCwgaG9z
dCwgYmVsb3dIb3N0XSwgMyk7CisgIHNldFRhYkluZGV4KFtzbG90dGVkQWJvdmUsIHNsb3R0ZWRC
ZWxvd10sIDQpOworICByZXNldEZvY3VzKCk7CisgIHJldHVybiBhc3NlcnRGb2N1c09yZGVyKFth
Ym92ZUhvc3QsIGhvc3QsIHNsb3R0ZWRBYm92ZSwgc2xvdHRlZEJlbG93LCBhYm92ZVNsb3QsIGJl
bG93U2xvdCwgYmVsb3dIb3N0XSk7Cit9LCAiT3JkZXIgd2l0aCB2YXJpb3VzIHRhYmluZGV4IHZh
bHVlcyIpOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtdGFiaW5k
ZXgtb3JkZXItc2hhZG93LXplcm8tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXRhYmluZGV4LW9y
ZGVyLXNoYWRvdy16ZXJvLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MGZkMWM1NjdhYjY1ODQw
Y2U5OThiYzhjMTgwNTc2MGY2NjhkNjQzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXRh
YmluZGV4LW9yZGVyLXNoYWRvdy16ZXJvLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK2Fi
b3ZlSG9zdAorc2xvdHRlZCBiZWxvdworc2xvdHRlZCBhYm92ZQorYmVsb3dIb3N0CisKK1BBU1Mg
T3JkZXIgd2hlbiBhbGwgdGFiaW5kZXg9MCBpcyBhbmQgZGVsZWdhdGVzRm9jdXMgPSBmYWxzZSAK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNoYWRvdy16ZXJvLWhvc3Qt
bmVnYXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNoYWRvdy16
ZXJvLWhvc3QtbmVnYXRpdmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlmNjFjOGM5MGUzMGIz
MDZlMjI5MTNmNGNkYTYxZGNjY2I0YTcxNjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMt
dGFiaW5kZXgtb3JkZXItc2hhZG93LXplcm8taG9zdC1uZWdhdGl2ZS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw3IEBACithYm92ZUhvc3QKK3Nsb3R0ZWQgYmVsb3cKK3Nsb3R0ZWQgYWJvdmUKK2Jl
bG93SG9zdAorCitQQVNTIE9yZGVyIHdoZW4gYWxsIHRhYmluZGV4PTAgZXhjZXB0IGZvciBob3N0
LCB3aGljaCBoYXMgdGFiaW5kZXg9LTEgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRl
eC1vcmRlci1zaGFkb3ctemVyby1ob3N0LW5lZ2F0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtdGFiaW5k
ZXgtb3JkZXItc2hhZG93LXplcm8taG9zdC1uZWdhdGl2ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI0OTFj
N2QyMzdjMjA2MDQwMzlmMmI2NDgyZDQ4NDYzNWM5ZjUwZGEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9j
dXMvZm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93LXplcm8taG9zdC1uZWdhdGl2ZS5odG1sCkBA
IC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PHRpdGxlPkhUTUwgVGVzdDogZm9jdXMgLSB0aGUgc2VxdWVudGlhbCBmb2N1cyBuYXZpZ2F0aW9u
IG9yZGVyIHdpdGggc2hhZG93IGRvbSBhbmQgbmVnYXRpdmUgaG9zdCB0YWJpbmRleDwvdGl0bGU+
Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVs
dGlwYWdlL2ludGVyYWN0aW9uLmh0bWwjc2VxdWVudGlhbC1mb2N1cy1uYXZpZ2F0aW9uIj4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJl
c291cmNlcy9zaGFkb3ctdXRpbHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgorLy8g
U3RydWN0dXJlOgorLy8gPGRpdiAjYWJvdmVIb3N0IHRhYmluZGV4PTA+CisvLyA8ZGl2ICNob3N0
IHRhYmluZGV4PS0xPgorLy8gICAgI3NoYWRvd1Jvb3QKKy8vICAgICAgPGRpdiAjYWJvdmVTbG90
IHRhYmluZGV4PTA+CisvLyAgICAgIDxzbG90ICNzbG90QWJvdmUgdGFiaW5kZXg9MD4KKy8vICAg
ICAgICAoc2xvdHRlZCkgPGRpdiAjc2xvdHRlZEFib3ZlIHRhYmluZGV4PTA+CisvLyAgICAgIDxz
bG90ICNzbG90QmVsb3cgdGFiaW5kZXg9MD4KKy8vICAgICAgICAoc2xvdHRlZCkgPGRpdiAjc2xv
dHRlZEJlbG93IHRhYmluZGV4PTA+CisvLyAgICAgIDxkaXYgI2JlbG93U2xvdCB0YWJpbmRleD0w
PgorLy8gPGRpdiAjYmVsb3dIb3N0IHRhYmluZGV4PTA+CisKK3Byb21pc2VfdGVzdCgoKSA9PiB7
CisgIGxldCBlbGVtZW50c0luRmxhdFRyZWVPcmRlcjsKKyAgbGV0IFthYm92ZUhvc3QsIGhvc3Qs
IGFib3ZlU2xvdCwgc2xvdEFib3ZlLCBzbG90dGVkQWJvdmUsIHNsb3RCZWxvdywgc2xvdHRlZEJl
bG93LCBiZWxvd1Nsb3QsIGJlbG93SG9zdF0gPQorICAgIGVsZW1lbnRzSW5GbGF0VHJlZU9yZGVy
ID0gcHJlcGFyZURPTShkb2N1bWVudC5ib2R5LCBmYWxzZSk7CisgIHNldFRhYkluZGV4KGVsZW1l
bnRzSW5GbGF0VHJlZU9yZGVyLCAwKTsKKyAgaG9zdC50YWJJbmRleCA9IC0xOworICByZXNldEZv
Y3VzKCk7CisgIC8vIEZvY3VzIHdpbGxsIG9ubHkgbW92ZSB3aXRoaW4gdGhlIGZvY3VzIG5hdmln
YXRpb24gc2NvcGUgb2YgdGhlIGRvY3VtZW50IChub3QgZ29pbmcgdG8gZ2V0IGludG8gI2hvc3Qp
LgorICByZXR1cm4gYXNzZXJ0Rm9jdXNPcmRlcihbYWJvdmVIb3N0LCBiZWxvd0hvc3RdKTsKK30s
ICJPcmRlciB3aGVuIGFsbCB0YWJpbmRleD0wIGV4Y2VwdCBmb3IgaG9zdCwgd2hpY2ggaGFzIHRh
YmluZGV4PS0xIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10
YWJpbmRleC1vcmRlci1zaGFkb3ctemVyby1ob3N0LW5vdC1zZXQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3Vz
L2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNoYWRvdy16ZXJvLWhvc3Qtbm90LXNldC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjRiYzllZTQ5MzI0YTdiNTg3YmM0MDEyYTIwMjQ1NmUwMGFkZWEwOQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ctemVyby1o
b3N0LW5vdC1zZXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorYWJvdmVIb3N0CitzbG90
dGVkIGJlbG93CitzbG90dGVkIGFib3ZlCitiZWxvd0hvc3QKKworUEFTUyBPcmRlciB3aGVuIGFs
bCB0YWJpbmRleD0wIGV4Y2VwdCBob3N0ICh0YWJpbmRleCBub3Qgc2V0KSAKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9t
L2ZvY3VzL2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNoYWRvdy16ZXJvLWhvc3Qtbm90LXNldC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9t
L2ZvY3VzL2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNoYWRvdy16ZXJvLWhvc3Qtbm90LXNldC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYyNTcyNjE0NzcxODZiOTQzMjBhNDhiYTE2NTAzNDg5OTFkYzJhMjYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93LXplcm8taG9z
dC1ub3Qtc2V0Lmh0bWwKQEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+SFRNTCBUZXN0OiBmb2N1cyAtIHRoZSBzZXF1ZW50aWFs
IGZvY3VzIG5hdmlnYXRpb24gb3JkZXIgd2l0aCBzaGFkb3cgZG9tIGFuZCBub24tZm9jdXNhYmxl
IGhvc3Q8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2h0bWwuc3BlYy53
aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1sI3NlcXVlbnRpYWwtZm9jdXMtbmF2
aWdhdGlvbiI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhZG93LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxib2R5Pgor
PHNjcmlwdD4KKy8vIFN0cnVjdHVyZToKKy8vIDxkaXYgI2Fib3ZlSG9zdCB0YWJpbmRleD0wPgor
Ly8gPGRpdiAjaG9zdD4KKy8vICAgICNzaGFkb3dSb290CisvLyAgICAgIDxkaXYgI2Fib3ZlU2xv
dCB0YWJpbmRleD0wPgorLy8gICAgICA8c2xvdCAjc2xvdEFib3ZlIHRhYmluZGV4PTA+CisvLyAg
ICAgICAgKHNsb3R0ZWQpIDxkaXYgI3Nsb3R0ZWRBYm92ZSB0YWJpbmRleD0wPgorLy8gICAgICA8
c2xvdCAjc2xvdEJlbG93IHRhYmluZGV4PTA+CisvLyAgICAgICAgKHNsb3R0ZWQpIDxkaXYgI3Ns
b3R0ZWRCZWxvdyB0YWJpbmRleD0wPgorLy8gICAgICA8ZGl2ICNiZWxvd1Nsb3QgdGFiaW5kZXg9
MD4KKy8vIDxkaXYgI2JlbG93SG9zdCB0YWJpbmRleD0wPgorCitwcm9taXNlX3Rlc3QoKCkgPT4g
eworICBsZXQgZWxlbWVudHNJbkZsYXRUcmVlT3JkZXI7CisgIGxldCBbYWJvdmVIb3N0LCBob3N0
LCBhYm92ZVNsb3QsIHNsb3RBYm92ZSwgc2xvdHRlZEFib3ZlLCBzbG90QmVsb3csIHNsb3R0ZWRC
ZWxvdywgYmVsb3dTbG90LCBiZWxvd0hvc3RdID0KKyAgICBlbGVtZW50c0luRmxhdFRyZWVPcmRl
ciA9IHByZXBhcmVET00oZG9jdW1lbnQuYm9keSwgZmFsc2UpOworICBzZXRUYWJJbmRleChlbGVt
ZW50c0luRmxhdFRyZWVPcmRlciwgMCk7CisgIHJlbW92ZVRhYkluZGV4KFtob3N0XSk7CisgIHJl
c2V0Rm9jdXMoKTsKKyAgLy8gRm9jdXMgc2hvdWxkIG1vdmUgaW4gZmxhdCB0cmVlIG9yZGVyIHNp
bmNlIGV2ZXJ5IG9uZSBvZiB0aGVtIGhhcyB0YWJpbmRleCA9PTAsCisgIC8vIGJ1dCBkb2Vzbid0
IGluY2x1ZGUgI3Nsb3Qgc2luY2UgaXQncyBub3QgcmVuZGVyZWQgYW5kICNob3N0IHNpbmNlIGl0
cyB0YWJpbmRleCBpcyBub3Qgc2V0CisgIC8vIChidXQgI2hvc3QgaXMgY29uc2lkZXJlZCBhcyAw
IGluIGZvY3VzIHNjb3BlIG5hdmlnYXRpb24sIGtlZXBpbmcgdGhlIGZsYXQgdHJlZSBvcmRlciBm
b3IgdGhlIHNoYWRvdyByb290J3MgZGVzY2VuZGFudHMpLgorICByZXR1cm4gYXNzZXJ0Rm9jdXNP
cmRlcihlbGVtZW50c0luRmxhdFRyZWVPcmRlci5maWx0ZXIoZWwgPT4gKGVsICE9PSBzbG90QWJv
dmUgJiYgZWwgIT09IHNsb3RCZWxvdyAmJiBlbCAhPT0gaG9zdCkpKTsKK30sICJPcmRlciB3aGVu
IGFsbCB0YWJpbmRleD0wIGV4Y2VwdCBob3N0ICh0YWJpbmRleCBub3Qgc2V0KSIpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtdGFiaW5kZXgtb3JkZXItc2hhZG93
LXplcm8taG9zdC1vbmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNo
YWRvdy16ZXJvLWhvc3Qtb25lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZmU4ZjczY2I4NTJj
ZTM0ZGM1MzhkNWUxNWFhYzEyYWMxZmU3OTdkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3Vz
LXRhYmluZGV4LW9yZGVyLXNoYWRvdy16ZXJvLWhvc3Qtb25lLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDcgQEAKK2Fib3ZlSG9zdAorc2xvdHRlZCBiZWxvdworc2xvdHRlZCBhYm92ZQorYmVsb3dI
b3N0CisKK1BBU1MgT3JkZXIgd2hlbiBhbGwgdGFiaW5kZXg9MCBleGNlcHQgZm9yIGhvc3QsIHdo
aWNoIGhhcyB0YWJpbmRleD0xIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtdGFiaW5kZXgtb3Jk
ZXItc2hhZG93LXplcm8taG9zdC1vbmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1z
aGFkb3ctemVyby1ob3N0LW9uZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFhYTUyOTI5OTdhM2UyODc1MGUx
NDM3OTM5ZTNjMjQ0NDgyNDVjOGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtdGFiaW5k
ZXgtb3JkZXItc2hhZG93LXplcm8taG9zdC1vbmUuaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5IVE1MIFRlc3Q6IGZv
Y3VzIC0gdGhlIHNlcXVlbnRpYWwgZm9jdXMgbmF2aWdhdGlvbiBvcmRlciB3aXRoIHNoYWRvdyBk
b20gYW5kIGFsbCB0YWJpbmRleD0wIGV4Y2VwdCBob3N0ICh0YWJpbmRleD0xKTwvdGl0bGU+Cis8
bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlw
YWdlL2ludGVyYWN0aW9uLmh0bWwjc2VxdWVudGlhbC1mb2N1cy1uYXZpZ2F0aW9uIj4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9zaGFkb3ctdXRpbHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgorLy8gU3Ry
dWN0dXJlOgorLy8gPGRpdiAjYWJvdmVIb3N0IHRhYmluZGV4PTA+CisvLyA8ZGl2ICNob3N0IHRh
YmluZGV4PTE+CisvLyAgICAjc2hhZG93Um9vdAorLy8gICAgICA8ZGl2ICNhYm92ZVNsb3QgdGFi
aW5kZXg9MD4KKy8vICAgICAgPHNsb3QgI3Nsb3RBYm92ZSB0YWJpbmRleD0wPgorLy8gICAgICAg
IChzbG90dGVkKSA8ZGl2ICNzbG90dGVkQWJvdmUgdGFiaW5kZXg9MD4KKy8vICAgICAgPHNsb3Qg
I3Nsb3RCZWxvdyB0YWJpbmRleD0wPgorLy8gICAgICAgIChzbG90dGVkKSA8ZGl2ICNzbG90dGVk
QmVsb3cgdGFiaW5kZXg9MD4KKy8vICAgICAgPGRpdiAjYmVsb3dTbG90IHRhYmluZGV4PTA+Cisv
LyA8ZGl2ICNiZWxvd0hvc3QgdGFiaW5kZXg9MD4KKworcHJvbWlzZV90ZXN0KCgpID0+IHsKKyAg
bGV0IGVsZW1lbnRzSW5GbGF0VHJlZU9yZGVyOworICBsZXQgW2Fib3ZlSG9zdCwgaG9zdCwgYWJv
dmVTbG90LCBzbG90QWJvdmUsIHNsb3R0ZWRBYm92ZSwgc2xvdEJlbG93LCBzbG90dGVkQmVsb3cs
IGJlbG93U2xvdCwgYmVsb3dIb3N0XSA9CisgICAgZWxlbWVudHNJbkZsYXRUcmVlT3JkZXIgPSBw
cmVwYXJlRE9NKGRvY3VtZW50LmJvZHksIGZhbHNlKTsKKyAgc2V0VGFiSW5kZXgoZWxlbWVudHNJ
bkZsYXRUcmVlT3JkZXIsIDApOworICBob3N0LnRhYkluZGV4ID0gMTsKKyAgcmVzZXRGb2N1cygp
OworICAvLyBGb2N1cyBzaG91bGQgbW92ZSBmaXJzdCB0byAjaG9zdCBiZWNhdXNlIGl0IGhhcyB0
YWJpbmRleD0xLCBhbmQgdGhlbiB0byB0aGUgY29udGVudHMgb2YgaXRzIHNjb3BlCisgIC8vIChl
LmcuIHRoZSBjb250ZW50cyBvZiBpdHMgc2hhZG93IHRyZWUpIGluIGZsYXQgdHJlZSBvcmRlciwg
YW5kIHRoZW4gb3V0c2lkZSB0byB0aGUgZG9jdW1lbnQgc2NvcGUKKyAgLy8gYWdhaW4gKGFib3Zl
SG9zdCAmIGJlbG93SG9zdCkuCisgIHJldHVybiBhc3NlcnRGb2N1c09yZGVyKFtob3N0LCBhYm92
ZVNsb3QsIHNsb3R0ZWRBYm92ZSwgc2xvdHRlZEJlbG93LCBiZWxvd1Nsb3QsIGFib3ZlSG9zdCwg
YmVsb3dIb3N0XSk7Cit9LCAiT3JkZXIgd2hlbiBhbGwgdGFiaW5kZXg9MCBleGNlcHQgZm9yIGhv
c3QsIHdoaWNoIGhhcyB0YWJpbmRleD0xIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ctemVyby5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3Vz
LXRhYmluZGV4LW9yZGVyLXNoYWRvdy16ZXJvLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDhiMTJlZDhhYzZl
MjQ1NTNmMGNjY2NlZDdmMTYxNmJiNTg4NDEzZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1
cy10YWJpbmRleC1vcmRlci1zaGFkb3ctemVyby5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9D
VFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPkhUTUwgVGVzdDogZm9j
dXMgLSB0aGUgc2VxdWVudGlhbCBmb2N1cyBuYXZpZ2F0aW9uIG9yZGVyIHdpdGggc2hhZG93IGRv
bSBhbmQgYWxsIHRhYmluZGV4PTA8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRw
czovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1sI3NlcXVl
bnRpYWwtZm9jdXMtbmF2aWdhdGlvbiI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhZG93LXV0aWxzLmpzIj48L3Nj
cmlwdD4KKzxib2R5PgorPHNjcmlwdD4KKy8vIFN0cnVjdHVyZToKKy8vIDxkaXYgI2Fib3ZlSG9z
dCB0YWJpbmRleD0wPgorLy8gPGRpdiAjaG9zdCB0YWJpbmRleD0wPgorLy8gICAgI3NoYWRvd1Jv
b3QKKy8vICAgICAgPGRpdiAjYWJvdmVTbG90IHRhYmluZGV4PTA+CisvLyAgICAgIDxzbG90ICNz
bG90QWJvdmUgdGFiaW5kZXg9MD4KKy8vICAgICAgICAoc2xvdHRlZCkgPGRpdiAjc2xvdHRlZEFi
b3ZlIHRhYmluZGV4PTA+CisvLyAgICAgIDxzbG90ICNzbG90QmVsb3cgdGFiaW5kZXg9MD4KKy8v
ICAgICAgICAoc2xvdHRlZCkgPGRpdiAjc2xvdHRlZEJlbG93IHRhYmluZGV4PTA+CisvLyAgICAg
IDxkaXYgI2JlbG93U2xvdCB0YWJpbmRleD0wPgorLy8gPGRpdiAjYmVsb3dIb3N0IHRhYmluZGV4
PTA+CisKK3Byb21pc2VfdGVzdCgoKSA9PiB7CisgIGxldCBlbGVtZW50c0luRmxhdFRyZWVPcmRl
cjsKKyAgbGV0IFthYm92ZUhvc3QsIGhvc3QsIGFib3ZlU2xvdCwgc2xvdEFib3ZlLCBzbG90dGVk
QWJvdmUsIHNsb3RCZWxvdywgc2xvdHRlZEJlbG93LCBiZWxvd1Nsb3QsIGJlbG93SG9zdF0gPQor
ICAgIGVsZW1lbnRzSW5GbGF0VHJlZU9yZGVyID0gcHJlcGFyZURPTShkb2N1bWVudC5ib2R5LCBm
YWxzZSk7CisgIHNldFRhYkluZGV4KGVsZW1lbnRzSW5GbGF0VHJlZU9yZGVyLCAwKTsKKyAgcmVz
ZXRGb2N1cygpOworICAvLyBGb2N1cyBzaG91bGQgbW92ZSBpbiBmbGF0IHRyZWUgb3JkZXIgc2lu
Y2UgZXZlcnkgb25lIG9mIHRoZW0gaGFzIHRhYmluZGV4PT0wLAorICAvLyBidXQgZG9lc24ndCBp
bmNsdWRlIHNsb3RzLgorICByZXR1cm4gYXNzZXJ0Rm9jdXNPcmRlcihlbGVtZW50c0luRmxhdFRy
ZWVPcmRlci5maWx0ZXIoZWwgPT4gKGVsICE9PSBzbG90QWJvdmUgJiYgZWwgIT09IHNsb3RCZWxv
dykpKTsKK30sICJPcmRlciB3aGVuIGFsbCB0YWJpbmRleD0wIGlzIGFuZCBkZWxlZ2F0ZXNGb2N1
cyA9IGZhbHNlIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9yZXNvdXJj
ZXMvc2hhZG93LXV0aWxzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL3Jlc291cmNlcy9zaGFkb3ctdXRpbHMuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODAzM2NlMDE2OWY0YWE4M2I1NGMzNTY3YzY4YzRjYzRmNWI3YTQ5MAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9mb2N1cy9yZXNvdXJjZXMvc2hhZG93LXV0aWxzLmpzCkBAIC0wLDAgKzEsODAgQEAK
Ky8vIFN0cnVjdHVyZToKKy8vIDxkaXYgI2Fib3ZlSG9zdD4KKy8vIDxkaXYgI2hvc3Q+CisvLyAg
ICAjc2hhZG93Um9vdAorLy8gICAgICA8ZGl2ICNhYm92ZVNsb3Q+CisvLyAgICAgIDxzbG90ICNz
bG90QWJvdmU+CisvLyAgICAgICAgKHNsb3R0ZWQpIDxkaXYgI3Nsb3R0ZWRBYm92ZT4KKy8vICAg
ICAgPHNsb3QgI3Nsb3RCZWxvdz4KKy8vICAgICAgICAoc2xvdHRlZCkgPGRpdiAjc2xvdHRlZEJl
bG93PgorLy8gICAgICA8ZGl2ICNiZWxvd1Nsb3Q+CisvLyA8ZGl2ICNiZWxvd0hvc3Q+CitmdW5j
dGlvbiBwcmVwYXJlRE9NKGNvbnRhaW5lciwgZGVsZWdhdGVzRm9jdXMpIHsKKworICBjb25zdCBh
Ym92ZUhvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgYWJvdmVIb3N0Lmlu
bmVyVGV4dCA9ICJhYm92ZUhvc3QiOworICBjb25zdCBob3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7CisgIGhvc3QuaWQgPSAiaG9zdCI7CisgIGNvbnN0IHNsb3R0ZWRCZWxvdyA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICBzbG90dGVkQmVsb3cuaW5uZXJUZXh0
ID0gInNsb3R0ZWQgYmVsb3ciOworICBzbG90dGVkQmVsb3cuc2xvdCA9ICJiZWxvdyI7CisgIGNv
bnN0IHNsb3R0ZWRBYm92ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICBzbG90
dGVkQWJvdmUuaW5uZXJUZXh0ID0gInNsb3R0ZWQgYWJvdmUiOworICBzbG90dGVkQWJvdmUuc2xv
dCA9ICJhYm92ZSI7CisKKyAgY29uc3QgYmVsb3dIb3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiZGl2Iik7CisgIGJlbG93SG9zdC5pbm5lclRleHQgPSAiYmVsb3dIb3N0IjsKKyAgY29udGFp
bmVyLmFwcGVuZENoaWxkKGFib3ZlSG9zdCk7CisgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChob3N0
KTsKKyAgY29udGFpbmVyLmFwcGVuZENoaWxkKGJlbG93SG9zdCk7CisgIGhvc3QuYXBwZW5kQ2hp
bGQoc2xvdHRlZEJlbG93KTsKKyAgaG9zdC5hcHBlbmRDaGlsZChzbG90dGVkQWJvdmUpOworICBj
b25zdCBzaGFkb3dSb290ID0gaG9zdC5hdHRhY2hTaGFkb3coeyBtb2RlOiAib3BlbiIsIGRlbGVn
YXRlc0ZvY3VzOiBkZWxlZ2F0ZXNGb2N1c30pOworICBjb25zdCBhYm92ZVNsb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgYWJvdmVTbG90LmlubmVyVGV4dCA9ICJhYm92ZVNs
b3QiOworCisgIGNvbnN0IHNsb3RBYm92ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNsb3Qi
KTsKKyAgc2xvdEFib3ZlLm5hbWUgPSAiYWJvdmUiOworICBjb25zdCBzbG90QmVsb3cgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJzbG90Iik7CisgIHNsb3RCZWxvdy5uYW1lID0gImJlbG93IjsK
KworICBjb25zdCBiZWxvd1Nsb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAg
YmVsb3dTbG90LmlubmVyVGV4dCA9ICJiZWxvd1Nsb3QiOworICBzaGFkb3dSb290LmFwcGVuZENo
aWxkKGFib3ZlU2xvdCk7CisgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoc2xvdEFib3ZlKTsKKyAg
c2hhZG93Um9vdC5hcHBlbmRDaGlsZChzbG90QmVsb3cpOworICBzaGFkb3dSb290LmFwcGVuZENo
aWxkKGJlbG93U2xvdCk7CisKKyAgcmV0dXJuIFthYm92ZUhvc3QsIGhvc3QsIGFib3ZlU2xvdCwg
c2xvdEFib3ZlLCBzbG90dGVkQWJvdmUsIHNsb3RCZWxvdywgc2xvdHRlZEJlbG93LCBiZWxvd1Ns
b3QsIGJlbG93SG9zdF07Cit9CisKK2Z1bmN0aW9uIHNldFRhYkluZGV4KGVsZW1lbnRzLCB2YWx1
ZSkgeworICBmb3IgKGNvbnN0IGVsIG9mIGVsZW1lbnRzKSB7CisgICAgZWwudGFiSW5kZXggPSB2
YWx1ZTsKKyAgfQorfQorCitmdW5jdGlvbiByZW1vdmVUYWJJbmRleChlbGVtZW50cykgeworICBm
b3IgKGNvbnN0IGVsIG9mIGVsZW1lbnRzKSB7CisgICAgZWwucmVtb3ZlQXR0cmlidXRlKCJ0YWJp
bmRleCIpOworICB9Cit9CisKK2Z1bmN0aW9uIHJlc2V0Rm9jdXMocm9vdCA9IGRvY3VtZW50KSB7
CisgIGlmIChyb290LmFjdGl2ZUVsZW1lbnQpCisgICAgcm9vdC5hY3RpdmVFbGVtZW50LmJsdXIo
KTsKK30KKworZnVuY3Rpb24gbmF2aWdhdGVGb2N1c0ZvcndhcmQoKSB7CisgIC8vIFRBQiA9ICdc
dWUwMDQnCisgIHJldHVybiB0ZXN0X2RyaXZlci5zZW5kX2tleXMoZG9jdW1lbnQuYm9keSwgIlx1
ZTAwNCIpOworfQorCithc3luYyBmdW5jdGlvbiBhc3NlcnRGb2N1c09yZGVyKGV4cGVjdGVkT3Jk
ZXIpIHsKKyAgY29uc3Qgc2hhZG93Um9vdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0
Iikuc2hhZG93Um9vdDsKKyAgZm9yIChjb25zdCBlbCBvZiBleHBlY3RlZE9yZGVyKSB7CisgICAg
YXdhaXQgbmF2aWdhdGVGb2N1c0ZvcndhcmQoKTsKKyAgICBjb25zdCBmb2N1c2VkID0gc2hhZG93
Um9vdC5hY3RpdmVFbGVtZW50ID8gc2hhZG93Um9vdC5hY3RpdmVFbGVtZW50IDogZG9jdW1lbnQu
YWN0aXZlRWxlbWVudDsKKyAgICBhc3NlcnRfZXF1YWxzKGZvY3VzZWQsIGVsKTsKKyAgfQorfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
aGFkb3ctZG9tL2ZvY3VzL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9yZXNvdXJjZXMv
dzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDBjNzdjODA1MDQyNjdlMzBmOTRmOTlhMjI0MGY5
MGJmZjA0YzYzOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9yZXNvdXJjZXMvdzNjLWltcG9ydC5s
b2cKQEAgLTAsMCArMSwxNyBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1w
b3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3Rz
IGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0
aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dw
dAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktp
dCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9u
ZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL3Jlc291cmNlcy9zaGFkb3ctdXRpbHMu
anMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9mb2N1cy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy93M2MtaW1wb3J0LmxvZwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMDRhYjBiZTBiMDdmNmU2ODQwNTQ0ZmYxZjUxNmIyODBiMDA2MDkxCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zaGFkb3ctZG9tL2ZvY3VzL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjUgQEAKK1RoZSB0
ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0
b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0
ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9n
aXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1Nj
cmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1v
ZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJp
bmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVz
OgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9mb2N1cy9Eb2N1bWVudE9yU2hhZG93Um9vdC1hY3RpdmVFbGVtZW50Lmh0bWwKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9j
dXMtc2VsZWN0b3ItZGVsZWdhdGVzRm9jdXMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRl
ci1zaGFkb3ctbmVnYXRpdmUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ct
c2xvdC1vbmUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ctdmFyeWluZy10
YWJpbmRleC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNoYWRvdy16ZXJvLWhvc3Qt
bmVnYXRpdmUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ctemVyby1ob3N0
LW5vdC1zZXQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy10YWJpbmRleC1vcmRlci1zaGFkb3ctemVyby1ob3N0
LW9uZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
aGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXRhYmluZGV4LW9yZGVyLXNoYWRvdy16ZXJvLmh0bWwKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9vZmZzZXRQYXJlbnQtYWNyb3NzLXNoYWRvdy1ib3VuZGFyaWVzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9vZmZzZXRQYXJlbnQtYWNyb3NzLXNoYWRvdy1ib3VuZGFyaWVzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kZjRhMjg1ODUzMjMzMzYxMTk0ZTQ1OWJkM2QyOTdkOTFlMWY3YmZmCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
aGFkb3ctZG9tL29mZnNldFBhcmVudC1hY3Jvc3Mtc2hhZG93LWJvdW5kYXJpZXMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTggQEAKKworUEFTUyBvZmZzZXRQYXJlbnQgbXVzdCByZXR1cm4gdGhl
IG9mZnNldCBwYXJlbnQgaW4gdGhlIHNhbWUgc2hhZG93IHRyZWUgb2Ygb3BlbiBtb2RlIAorUEFT
UyBvZmZzZXRQYXJlbnQgbXVzdCByZXR1cm4gdGhlIG9mZnNldCBwYXJlbnQgaW4gdGhlIHNhbWUg
c2hhZG93IHRyZWUgb2YgY2xvc2VkIG1vZGUgCitQQVNTIG9mZnNldFBhcmVudCBtdXN0IHJldHVy
biB0aGUgb2Zmc2V0IHBhcmVudCBpbiB0aGUgc2FtZSBzaGFkb3cgdHJlZSBvZiBvcGVuIG1vZGUg
ZXZlbiB3aGVuIG5lc3RlZCAKK1BBU1Mgb2Zmc2V0UGFyZW50IG11c3QgcmV0dXJuIHRoZSBvZmZz
ZXQgcGFyZW50IGluIHRoZSBzYW1lIHNoYWRvdyB0cmVlIG9mIGNsb3NlZCBtb2RlIGV2ZW4gd2hl
biBuZXN0ZWQgCitQQVNTIG9mZnNldFBhcmVudCBtdXN0IHNraXAgb2Zmc2V0IHBhcmVudHMgb2Yg
YW4gZWxlbWVudCB3aGVuIHRoZSBjb250ZXh0IG9iamVjdCBpcyBhc3NpZ25lZCB0byBhIHNsb3Qg
aW4gYSBzaGFkb3cgdHJlZSBvZiBvcGVuIG1vZGUgCitQQVNTIG9mZnNldFBhcmVudCBtdXN0IHNr
aXAgb2Zmc2V0IHBhcmVudHMgb2YgYW4gZWxlbWVudCB3aGVuIHRoZSBjb250ZXh0IG9iamVjdCBp
cyBhc3NpZ25lZCB0byBhIHNsb3QgaW4gYSBzaGFkb3cgdHJlZSBvZiBjbG9zZWQgbW9kZSAKK1BB
U1Mgb2Zmc2V0UGFyZW50IG11c3Qgc2tpcCBtdWx0aXBsZSBvZmZzZXQgcGFyZW50cyBvZiBhbiBl
bGVtZW50IHdoZW4gdGhlIGNvbnRleHQgb2JqZWN0IGlzIGFzc2lnbmVkIHRvIGEgc2xvdCBpbiBh
IHNoYWRvdyB0cmVlIG9mIG9wZW4gbW9kZSAKK1BBU1Mgb2Zmc2V0UGFyZW50IG11c3Qgc2tpcCBt
dWx0aXBsZSBvZmZzZXQgcGFyZW50cyBvZiBhbiBlbGVtZW50IHdoZW4gdGhlIGNvbnRleHQgb2Jq
ZWN0IGlzIGFzc2lnbmVkIHRvIGEgc2xvdCBpbiBhIHNoYWRvdyB0cmVlIG9mIGNsb3NlZCBtb2Rl
IAorUEFTUyBvZmZzZXRQYXJlbnQgbXVzdCBza2lwIG9mZnNldCBwYXJlbnRzIG9mIGFuIGVsZW1l
bnQgd2hlbiB0aGUgY29udGV4dCBvYmplY3QgaXMgYXNzaWduZWQgdG8gYSBzbG90IGluIG5lc3Rl
ZCBzaGFkb3cgdHJlZXMgb2Ygb3BlbiBtb2RlIAorUEFTUyBvZmZzZXRQYXJlbnQgbXVzdCBza2lw
IG9mZnNldCBwYXJlbnRzIG9mIGFuIGVsZW1lbnQgd2hlbiB0aGUgY29udGV4dCBvYmplY3QgaXMg
YXNzaWduZWQgdG8gYSBzbG90IGluIG5lc3RlZCBzaGFkb3cgdHJlZXMgb2YgY2xvc2VkIG1vZGUg
CitQQVNTIG9mZnNldFBhcmVudCBtdXN0IGZpbmQgdGhlIGZpcnN0IG9mZnNldCBwYXJlbnQgd2hp
Y2ggaXMgYSBzaGFkb3ctaW5jbHVkaW5nIGFuY2VzdG9yIG9mIHRoZSBjb250ZXh0IG9iamVjdCBl
dmVuIHNvbWUgc2hhZG93IHRyZWUgb2Ygb3BlbiBtb2RlIGRpZCBub3QgaGF2ZSBhbnkgb2Zmc2V0
IHBhcmVudCAKK1BBU1Mgb2Zmc2V0UGFyZW50IG11c3QgZmluZCB0aGUgZmlyc3Qgb2Zmc2V0IHBh
cmVudCB3aGljaCBpcyBhIHNoYWRvdy1pbmNsdWRpbmcgYW5jZXN0b3Igb2YgdGhlIGNvbnRleHQg
b2JqZWN0IGV2ZW4gc29tZSBzaGFkb3cgdHJlZSBvZiBjbG9zZWQgbW9kZSBkaWQgbm90IGhhdmUg
YW55IG9mZnNldCBwYXJlbnQgCitQQVNTIG9mZnNldFBhcmVudCBtdXN0IHJldHVybiBudWxsIG9u
IGEgY2hpbGQgZWxlbWVudCBvZiBhIHNoYWRvdyBob3N0IGZvciB0aGUgc2hhZG93IHRyZWUgaW4g
b3BlbiBtb2RlIHdoaWNoIGlzIG5vdCBhc3NpZ25lZCB0byBhbnkgc2xvdCAKK1BBU1Mgb2Zmc2V0
UGFyZW50IG11c3QgcmV0dXJuIG51bGwgb24gYSBjaGlsZCBlbGVtZW50IG9mIGEgc2hhZG93IGhv
c3QgZm9yIHRoZSBzaGFkb3cgdHJlZSBpbiBjbG9zZWQgbW9kZSB3aGljaCBpcyBub3QgYXNzaWdu
ZWQgdG8gYW55IHNsb3QgCitQQVNTIG9mZnNldFBhcmVudCBtdXN0IHJldHVybiBudWxsIG9uIGEg
Y2hpbGQgZWxlbWVudCBvZiBhIHNoYWRvdyBob3N0IGZvciB0aGUgc2hhZG93IHRyZWUgaW4gb3Bl
biBtb2RlIHdoaWNoIGlzIG5vdCBpbiB0aGUgZmxhdCB0cmVlIAorUEFTUyBvZmZzZXRQYXJlbnQg
bXVzdCByZXR1cm4gbnVsbCBvbiBhIGNoaWxkIGVsZW1lbnQgb2YgYSBzaGFkb3cgaG9zdCBmb3Ig
dGhlIHNoYWRvdyB0cmVlIGluIGNsb3NlZCBtb2RlIHdoaWNoIGlzIG5vdCBpbiB0aGUgZmxhdCB0
cmVlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NoYWRvdy1kb20vb2Zmc2V0UGFyZW50LWFjcm9zcy1zaGFkb3ctYm91bmRhcmllcy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL29mZnNldFBhcmVudC1hY3Jvc3Mtc2hhZG93LWJvdW5kYXJpZXMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NDkxZTIxMjEzMzZkMWI1OWVmNjkxOThmZDA0OGEyMmFjYzgwZDQ2Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL29mZnNldFBhcmVudC1hY3Jvc3Mtc2hhZG93LWJvdW5kYXJpZXMuaHRtbApAQCAtMCwwICsx
LDE5MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0iYXV0
aG9yIiB0aXRsZT0iUnlvc3VrZSBOaXdhIiBocmVmPSJtYWlsdG86cm5pd2FAd2Via2l0Lm9yZyI+
Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9Im9mZnNldFBhcmVudCBzaG91bGQgb25seSBy
ZXR1cm4gbm9kZXMgdGhhdCBhcmUgc2hhZG93IGluY2x1ZGluZyBhbmNlc3RvciI+Cis8bGluayBy
ZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3NvbS12aWV3LyNkb20t
aHRtbGVsZW1lbnQtb2Zmc2V0cGFyZW50Ij4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6
Ly9kb20uc3BlYy53aGF0d2cub3JnLyNjb25jZXB0LXNoYWRvdy1pbmNsdWRpbmctaW5jbHVzaXZl
LWFuY2VzdG9yIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZXZlbnQtcGF0aC10ZXN0LWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGRpdiBp
ZD0iY29udGFpbmVyIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK2NvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXIn
KTsKKworZnVuY3Rpb24gdGVzdE9mZnNldFBhcmVudEluU2hhZG93VHJlZShtb2RlKSB7CisgICAg
dGVzdChmdW5jdGlvbiAoKSB7CisgICAgICAgIGNvbnN0IGhvc3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKKyAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGhvc3QpOworICAg
ICAgICB0aGlzLmFkZF9jbGVhbnVwKCgpID0+IGhvc3QucmVtb3ZlKCkpOworICAgICAgICBjb25z
dCBzaGFkb3dSb290ID0gaG9zdC5hdHRhY2hTaGFkb3coe21vZGV9KTsKKyAgICAgICAgc2hhZG93
Um9vdC5pbm5lckhUTUwgPSAnPGRpdiBpZD0icmVsYXRpdmVQYXJlbnQiIHN0eWxlPSJwb3NpdGlv
bjogcmVsYXRpdmU7IHBhZGRpbmctbGVmdDogMTAwcHg7IHBhZGRpbmctdG9wOiA3MHB4OyI+PGRp
diBpZD0idGFyZ2V0Ij48L2Rpdj48L2Rpdj4nOworICAgICAgICBjb25zdCByZWxhdGl2ZVBhcmVu
dCA9IHNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoJ3JlbGF0aXZlUGFyZW50Jyk7CisKKyAgICAg
ICAgYXNzZXJ0X3RydWUocmVsYXRpdmVQYXJlbnQgaW5zdGFuY2VvZiBIVE1MRGl2RWxlbWVudCk7
CisgICAgICAgIGNvbnN0IHRhcmdldCA9IHNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoJ3Rhcmdl
dCcpOworICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdldC5vZmZzZXRQYXJlbnQsIHJlbGF0aXZl
UGFyZW50KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0YXJnZXQub2Zmc2V0TGVmdCwgMTAwKTsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyh0YXJnZXQub2Zmc2V0VG9wLCA3MCk7CisgICAgfSwgYG9m
ZnNldFBhcmVudCBtdXN0IHJldHVybiB0aGUgb2Zmc2V0IHBhcmVudCBpbiB0aGUgc2FtZSBzaGFk
b3cgdHJlZSBvZiAke21vZGV9IG1vZGVgKTsKK30KKwordGVzdE9mZnNldFBhcmVudEluU2hhZG93
VHJlZSgnb3BlbicpOwordGVzdE9mZnNldFBhcmVudEluU2hhZG93VHJlZSgnY2xvc2VkJyk7CisK
K2Z1bmN0aW9uIHRlc3RPZmZzZXRQYXJlbnRJbk5lc3RlZFNoYWRvd1RyZWVzKG1vZGUpIHsKKyAg
ICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgY29uc3Qgb3V0ZXJIb3N0ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnc2VjdGlvbicpOworICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQo
b3V0ZXJIb3N0KTsKKyAgICAgICAgdGhpcy5hZGRfY2xlYW51cCgoKSA9PiBvdXRlckhvc3QucmVt
b3ZlKCkpOworICAgICAgICBjb25zdCBvdXRlclNoYWRvdyA9IG91dGVySG9zdC5hdHRhY2hTaGFk
b3coe21vZGV9KTsKKyAgICAgICAgb3V0ZXJTaGFkb3cuaW5uZXJIVE1MID0gJzxzZWN0aW9uIGlk
PSJvdXRlclBhcmVudCIgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MHB4OyBsZWZ0
OiA1MHB4OyI+PC9zZWN0aW9uPic7CisKKyAgICAgICAgY29uc3QgaW5uZXJIb3N0ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAgIG91dGVyU2hhZG93LmZpcnN0Q2hpbGQu
YXBwZW5kQ2hpbGQoaW5uZXJIb3N0KTsKKyAgICAgICAgY29uc3QgaW5uZXJTaGFkb3cgPSBpbm5l
ckhvc3QuYXR0YWNoU2hhZG93KHttb2RlfSk7CisgICAgICAgIGlubmVyU2hhZG93LmlubmVySFRN
TCA9ICc8ZGl2IGlkPSJpbm5lclBhcmVudCIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgcGFk
ZGluZy1sZWZ0OiA2MHB4OyBwYWRkaW5nLXRvcDogNDBweDsiPjxkaXYgaWQ9InRhcmdldCI+PC9k
aXY+PC9kaXY+JzsKKyAgICAgICAgY29uc3QgaW5uZXJQYXJlbnQgPSBpbm5lclNoYWRvdy5nZXRF
bGVtZW50QnlJZCgnaW5uZXJQYXJlbnQnKTsKKworICAgICAgICBjb25zdCB0YXJnZXQgPSBpbm5l
clNoYWRvdy5nZXRFbGVtZW50QnlJZCgndGFyZ2V0Jyk7CisgICAgICAgIGFzc2VydF90cnVlKGlu
bmVyUGFyZW50IGluc3RhbmNlb2YgSFRNTERpdkVsZW1lbnQpOworICAgICAgICBhc3NlcnRfZXF1
YWxzKHRhcmdldC5vZmZzZXRQYXJlbnQsIGlubmVyUGFyZW50KTsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyh0YXJnZXQub2Zmc2V0TGVmdCwgNjApOworICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdl
dC5vZmZzZXRUb3AsIDQwKTsKKworICAgICAgICBvdXRlckhvc3QucmVtb3ZlKCk7CisgICAgfSwg
YG9mZnNldFBhcmVudCBtdXN0IHJldHVybiB0aGUgb2Zmc2V0IHBhcmVudCBpbiB0aGUgc2FtZSBz
aGFkb3cgdHJlZSBvZiAke21vZGV9IG1vZGUgZXZlbiB3aGVuIG5lc3RlZGApOworfQorCit0ZXN0
T2Zmc2V0UGFyZW50SW5OZXN0ZWRTaGFkb3dUcmVlcygnb3BlbicpOwordGVzdE9mZnNldFBhcmVu
dEluTmVzdGVkU2hhZG93VHJlZXMoJ2Nsb3NlZCcpOworCitmdW5jdGlvbiB0ZXN0T2Zmc2V0UGFy
ZW50T25FbGVtZW50QXNzaWduZWRUb1Nsb3RJbnNpZGVPZmZzZXRQYXJlbnQobW9kZSkgeworICAg
IHRlc3QoZnVuY3Rpb24gKCkgeworICAgICAgICBjb25zdCBob3N0ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2Jyk7CisgICAgICAgIGhvc3QuaW5uZXJIVE1MID0gJzxkaXYgaWQ9InRhcmdl
dCI+PC9kaXY+JworICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoaG9zdCk7CisgICAgICAg
IHRoaXMuYWRkX2NsZWFudXAoKCkgPT4gaG9zdC5yZW1vdmUoKSk7CisgICAgICAgIGNvbnN0IHNo
YWRvd1Jvb3QgPSBob3N0LmF0dGFjaFNoYWRvdyh7bW9kZX0pOworICAgICAgICBzaGFkb3dSb290
LmlubmVySFRNTCA9ICc8ZGl2IHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IHBhZGRpbmctbGVm
dDogODVweDsgcGFkZGluZy10b3A6IDQ1cHg7Ij48c2xvdD48L3Nsb3Q+PC9kaXY+JzsKKyAgICAg
ICAgY29uc3QgdGFyZ2V0ID0gaG9zdC5xdWVyeVNlbGVjdG9yKCcjdGFyZ2V0Jyk7CisgICAgICAg
IGFzc2VydF9lcXVhbHModGFyZ2V0Lm9mZnNldFBhcmVudCwgY29udGFpbmVyKTsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyh0YXJnZXQub2Zmc2V0TGVmdCwgODUpOworICAgICAgICBhc3NlcnRfZXF1
YWxzKHRhcmdldC5vZmZzZXRUb3AsIDQ1KTsKKyAgICB9LCBgb2Zmc2V0UGFyZW50IG11c3Qgc2tp
cCBvZmZzZXQgcGFyZW50cyBvZiBhbiBlbGVtZW50IHdoZW4gdGhlIGNvbnRleHQgb2JqZWN0IGlz
IGFzc2lnbmVkIHRvIGEgc2xvdCBpbiBhIHNoYWRvdyB0cmVlIG9mICR7bW9kZX0gbW9kZWApOwor
fQorCit0ZXN0T2Zmc2V0UGFyZW50T25FbGVtZW50QXNzaWduZWRUb1Nsb3RJbnNpZGVPZmZzZXRQ
YXJlbnQoJ29wZW4nKTsKK3Rlc3RPZmZzZXRQYXJlbnRPbkVsZW1lbnRBc3NpZ25lZFRvU2xvdElu
c2lkZU9mZnNldFBhcmVudCgnY2xvc2VkJyk7CisKK2Z1bmN0aW9uIHRlc3RPZmZzZXRQYXJlbnRP
bkVsZW1lbnRBc3NpZ25lZFRvU2xvdEluc2lkZU5lc3RlZE9mZnNldFBhcmVudHMobW9kZSkgewor
ICAgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgICAgICBjb25zdCBob3N0ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAgIGhvc3QuaW5uZXJIVE1MID0gJzxkaXYgaWQ9InRh
cmdldCIgc3R5bGU9ImJvcmRlcjpzb2xpZCAxcHggYmx1ZTsiPmhpPC9kaXY+JzsKKyAgICAgICAg
Y29uc3QgcHJldmlvdXNCbG9jayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAg
ICAgICBwcmV2aW91c0Jsb2NrLnN0eWxlLmhlaWdodCA9ICcxMnB4JzsKKyAgICAgICAgY29udGFp
bmVyLmFwcGVuZChwcmV2aW91c0Jsb2NrLCBob3N0KTsKKyAgICAgICAgdGhpcy5hZGRfY2xlYW51
cCgoKSA9PiB7IGNvbnRhaW5lci5pbm5lckhUTUwgPSAnJzsgfSk7CisgICAgICAgIGNvbnN0IHNo
YWRvd1Jvb3QgPSBob3N0LmF0dGFjaFNoYWRvdyh7bW9kZX0pOworICAgICAgICBzaGFkb3dSb290
LmlubmVySFRNTCA9ICc8c2VjdGlvbiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBtYXJnaW4t
bGVmdDogMjBweDsgbWFyZ2luLXRvcDogMTAwcHg7IGJhY2tncm91bmQ6ICNjY2MiPjxkaXYgc3R5
bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMHB4OyBsZWZ0OiAxMHB4OyI+PHNsb3Q+PC9z
bG90PjwvZGl2Pjwvc2VjdGlvbj4nOworICAgICAgICBjb25zdCB0YXJnZXQgPSBob3N0LnF1ZXJ5
U2VsZWN0b3IoJyN0YXJnZXQnKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0YXJnZXQub2Zmc2V0
UGFyZW50LCBjb250YWluZXIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdldC5vZmZzZXRM
ZWZ0LCAzMCk7CisgICAgICAgIGFzc2VydF9lcXVhbHModGFyZ2V0Lm9mZnNldFRvcCwgMTIyKTsK
KyAgICB9LCBgb2Zmc2V0UGFyZW50IG11c3Qgc2tpcCBtdWx0aXBsZSBvZmZzZXQgcGFyZW50cyBv
ZiBhbiBlbGVtZW50IHdoZW4gdGhlIGNvbnRleHQgb2JqZWN0IGlzIGFzc2lnbmVkIHRvIGEgc2xv
dCBpbiBhIHNoYWRvdyB0cmVlIG9mICR7bW9kZX0gbW9kZWApOworfQorCit0ZXN0T2Zmc2V0UGFy
ZW50T25FbGVtZW50QXNzaWduZWRUb1Nsb3RJbnNpZGVOZXN0ZWRPZmZzZXRQYXJlbnRzKCdvcGVu
Jyk7Cit0ZXN0T2Zmc2V0UGFyZW50T25FbGVtZW50QXNzaWduZWRUb1Nsb3RJbnNpZGVOZXN0ZWRP
ZmZzZXRQYXJlbnRzKCdjbG9zZWQnKTsKKworZnVuY3Rpb24gdGVzdE9mZnNldFBhcmVudE9uRWxl
bWVudEFzc2lnbmVkVG9TbG90SW5zaWRlTmVzdGVkU2hhZG93VHJlZXMobW9kZSkgeworICAgIHRl
c3QoZnVuY3Rpb24gKCkgeworICAgICAgICBjb25zdCBvdXRlckhvc3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdzZWN0aW9uJyk7CisgICAgICAgIG91dGVySG9zdC5pbm5lckhUTUwgPSAnPGRp
diBpZD0idGFyZ2V0Ij48L2Rpdj4nOworICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQob3V0
ZXJIb3N0KTsKKyAgICAgICAgdGhpcy5hZGRfY2xlYW51cCgoKSA9PiBvdXRlckhvc3QucmVtb3Zl
KCkpOworICAgICAgICBjb25zdCBvdXRlclNoYWRvdyA9IG91dGVySG9zdC5hdHRhY2hTaGFkb3co
e21vZGV9KTsKKyAgICAgICAgb3V0ZXJTaGFkb3cuaW5uZXJIVE1MID0gJzxzZWN0aW9uIHN0eWxl
PSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNDBweDsgbGVmdDogNTBweDsiPjxkaXYgaWQ9Imlu
bmVySG9zdCI+PHNsb3Q+PC9zbG90PjwvZGl2Pjwvc2VjdGlvbj4nOworCisgICAgICAgIGNvbnN0
IGlubmVyU2hhZG93ID0gb3V0ZXJTaGFkb3cuZ2V0RWxlbWVudEJ5SWQoJ2lubmVySG9zdCcpLmF0
dGFjaFNoYWRvdyh7bW9kZX0pOworICAgICAgICBpbm5lclNoYWRvdy5pbm5lckhUTUwgPSAnPGRp
diBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IDIwMHB4OyBtYXJnaW4tbGVmdDogMTAw
cHg7Ij48c2xvdD48L3Nsb3Q+PC9kaXY+JzsKKworICAgICAgICBjb25zdCB0YXJnZXQgPSBvdXRl
ckhvc3QucXVlcnlTZWxlY3RvcignI3RhcmdldCcpOworICAgICAgICBhc3NlcnRfZXF1YWxzKHRh
cmdldC5vZmZzZXRQYXJlbnQsIGNvbnRhaW5lcik7CisgICAgICAgIGFzc2VydF9lcXVhbHModGFy
Z2V0Lm9mZnNldExlZnQsIDE1MCk7CisgICAgICAgIGFzc2VydF9lcXVhbHModGFyZ2V0Lm9mZnNl
dFRvcCwgMjQwKTsKKyAgICAgICAgb3V0ZXJIb3N0LnJlbW92ZSgpOworICAgIH0sIGBvZmZzZXRQ
YXJlbnQgbXVzdCBza2lwIG9mZnNldCBwYXJlbnRzIG9mIGFuIGVsZW1lbnQgd2hlbiB0aGUgY29u
dGV4dCBvYmplY3QgaXMgYXNzaWduZWQgdG8gYSBzbG90IGluIG5lc3RlZCBzaGFkb3cgdHJlZXMg
b2YgJHttb2RlfSBtb2RlYCk7Cit9CisKK3Rlc3RPZmZzZXRQYXJlbnRPbkVsZW1lbnRBc3NpZ25l
ZFRvU2xvdEluc2lkZU5lc3RlZFNoYWRvd1RyZWVzKCdvcGVuJyk7Cit0ZXN0T2Zmc2V0UGFyZW50
T25FbGVtZW50QXNzaWduZWRUb1Nsb3RJbnNpZGVOZXN0ZWRTaGFkb3dUcmVlcygnY2xvc2VkJyk7
CisKK2Z1bmN0aW9uIHRlc3RPZmZzZXRQYXJlbnRPbkVsZW1lbnRJbnNpZGVTaGFkb3dUcmVlV2l0
aG91dE9mZnNldFBhcmVudChtb2RlKSB7CisgICAgdGVzdChmdW5jdGlvbiAoKSB7CisgICAgICAg
IGNvbnN0IG91dGVySG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NlY3Rpb24nKTsKKyAg
ICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKG91dGVySG9zdCk7CisgICAgICAgIHRoaXMuYWRk
X2NsZWFudXAoKCkgPT4gb3V0ZXJIb3N0LnJlbW92ZSgpKTsKKyAgICAgICAgY29uc3Qgb3V0ZXJT
aGFkb3cgPSBvdXRlckhvc3QuYXR0YWNoU2hhZG93KHttb2RlfSk7CisgICAgICAgIG91dGVyU2hh
ZG93LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJpbm5lckhvc3QiPjxkaXYgaWQ9InRhcmdldCI+PC9k
aXY+PC9kaXY+JzsKKworICAgICAgICBjb25zdCBpbm5lclNoYWRvdyA9IG91dGVyU2hhZG93Lmdl
dEVsZW1lbnRCeUlkKCdpbm5lckhvc3QnKS5hdHRhY2hTaGFkb3coe21vZGV9KTsKKyAgICAgICAg
aW5uZXJTaGFkb3cuaW5uZXJIVE1MID0gJzxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsg
dG9wOiAyM3B4OyBsZWZ0OiAyNHB4OyI+PHNsb3Q+PC9zbG90PjwvZGl2Pic7CisKKyAgICAgICAg
Y29uc3QgdGFyZ2V0ID0gb3V0ZXJTaGFkb3cucXVlcnlTZWxlY3RvcignI3RhcmdldCcpOworICAg
ICAgICBhc3NlcnRfZXF1YWxzKHRhcmdldC5vZmZzZXRQYXJlbnQsIGNvbnRhaW5lcik7CisgICAg
ICAgIGFzc2VydF9lcXVhbHModGFyZ2V0Lm9mZnNldExlZnQsIDI0KTsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyh0YXJnZXQub2Zmc2V0VG9wLCAyMyk7CisgICAgfSwgYG9mZnNldFBhcmVudCBtdXN0
IGZpbmQgdGhlIGZpcnN0IG9mZnNldCBwYXJlbnQgd2hpY2ggaXMgYSBzaGFkb3ctaW5jbHVkaW5n
IGFuY2VzdG9yIG9mIHRoZSBjb250ZXh0IG9iamVjdCBldmVuIHNvbWUgc2hhZG93IHRyZWUgb2Yg
JHttb2RlfSBtb2RlIGRpZCBub3QgaGF2ZSBhbnkgb2Zmc2V0IHBhcmVudGApOworfQorCit0ZXN0
T2Zmc2V0UGFyZW50T25FbGVtZW50SW5zaWRlU2hhZG93VHJlZVdpdGhvdXRPZmZzZXRQYXJlbnQo
J29wZW4nKTsKK3Rlc3RPZmZzZXRQYXJlbnRPbkVsZW1lbnRJbnNpZGVTaGFkb3dUcmVlV2l0aG91
dE9mZnNldFBhcmVudCgnY2xvc2VkJyk7CisKK2Z1bmN0aW9uIHRlc3RPZmZzZXRQYXJlbnRPblVu
YXNzaWduZWRDaGlsZChtb2RlKSB7CisgICAgdGVzdChmdW5jdGlvbiAoKSB7CisgICAgICAgIGNv
bnN0IGhvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWN0aW9uJyk7CisgICAgICAgIGhv
c3QuaW5uZXJIVE1MID0gJzxkaXYgaWQ9InRhcmdldCI+PC9kaXY+JzsKKyAgICAgICAgdGhpcy5h
ZGRfY2xlYW51cCgoKSA9PiBob3N0LnJlbW92ZSgpKTsKKyAgICAgICAgY29udGFpbmVyLmFwcGVu
ZENoaWxkKGhvc3QpOworICAgICAgICBjb25zdCBzaGFkb3dSb290ID0gaG9zdC5hdHRhY2hTaGFk
b3coe21vZGV9KTsKKyAgICAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPHNlY3Rpb24gc3R5
bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MHB4OyBsZWZ0OiA1MHB4OyI+Y29udGVudDwv
c2VjdGlvbj4nOworICAgICAgICBjb25zdCB0YXJnZXQgPSBob3N0LnF1ZXJ5U2VsZWN0b3IoJyN0
YXJnZXQnKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0YXJnZXQub2Zmc2V0UGFyZW50LCBudWxs
KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0YXJnZXQub2Zmc2V0TGVmdCwgMCk7CisgICAgICAg
IGFzc2VydF9lcXVhbHModGFyZ2V0Lm9mZnNldFRvcCwgMCk7CisgICAgfSwgYG9mZnNldFBhcmVu
dCBtdXN0IHJldHVybiBudWxsIG9uIGEgY2hpbGQgZWxlbWVudCBvZiBhIHNoYWRvdyBob3N0IGZv
ciB0aGUgc2hhZG93IHRyZWUgaW4gJHttb2RlfSBtb2RlIHdoaWNoIGlzIG5vdCBhc3NpZ25lZCB0
byBhbnkgc2xvdGApOworfQorCit0ZXN0T2Zmc2V0UGFyZW50T25VbmFzc2lnbmVkQ2hpbGQoJ29w
ZW4nKTsKK3Rlc3RPZmZzZXRQYXJlbnRPblVuYXNzaWduZWRDaGlsZCgnY2xvc2VkJyk7CisKK2Z1
bmN0aW9uIHRlc3RPZmZzZXRQYXJlbnRPbkFzc2lnbmVkQ2hpbGROb3RJbkZsYXRUcmVlKG1vZGUp
IHsKKyAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgY29uc3Qgb3V0ZXJIb3N0ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnc2VjdGlvbicpOworICAgICAgICBvdXRlckhvc3QuaW5uZXJI
VE1MID0gJzxkaXYgaWQ9InRhcmdldCI+PC9kaXY+JzsKKyAgICAgICAgY29udGFpbmVyLmFwcGVu
ZENoaWxkKG91dGVySG9zdCk7CisgICAgICAgIHRoaXMuYWRkX2NsZWFudXAoKCkgPT4gb3V0ZXJI
b3N0LnJlbW92ZSgpKTsKKyAgICAgICAgY29uc3Qgb3V0ZXJTaGFkb3cgPSBvdXRlckhvc3QuYXR0
YWNoU2hhZG93KHttb2RlfSk7CisgICAgICAgIG91dGVyU2hhZG93LmlubmVySFRNTCA9ICc8ZGl2
IGlkPSJpbm5lckhvc3QiPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MHB4
OyBsZWZ0OiA1MHB4OyI+PHNsb3Q+PC9zbG90PjwvZGl2PjwvZGl2Pic7CisKKyAgICAgICAgY29u
c3QgaW5uZXJTaGFkb3cgPSBvdXRlclNoYWRvdy5nZXRFbGVtZW50QnlJZCgnaW5uZXJIb3N0Jyku
YXR0YWNoU2hhZG93KHttb2RlfSk7CisgICAgICAgIGlubmVyU2hhZG93LmlubmVySFRNTCA9ICc8
ZGl2PmNvbnRlbnQ8L2Rpdj4nOworCisgICAgICAgIGNvbnN0IHRhcmdldCA9IG91dGVySG9zdC5x
dWVyeVNlbGVjdG9yKCcjdGFyZ2V0Jyk7CisgICAgICAgIGFzc2VydF9lcXVhbHModGFyZ2V0Lm9m
ZnNldFBhcmVudCwgbnVsbCk7CisgICAgICAgIGFzc2VydF9lcXVhbHModGFyZ2V0Lm9mZnNldExl
ZnQsIDApOworICAgICAgICBhc3NlcnRfZXF1YWxzKHRhcmdldC5vZmZzZXRUb3AsIDApOworICAg
IH0sIGBvZmZzZXRQYXJlbnQgbXVzdCByZXR1cm4gbnVsbCBvbiBhIGNoaWxkIGVsZW1lbnQgb2Yg
YSBzaGFkb3cgaG9zdCBmb3IgdGhlIHNoYWRvdyB0cmVlIGluICR7bW9kZX0gbW9kZSB3aGljaCBp
cyBub3QgaW4gdGhlIGZsYXQgdHJlZWApOworfQorCit0ZXN0T2Zmc2V0UGFyZW50T25Bc3NpZ25l
ZENoaWxkTm90SW5GbGF0VHJlZSgnb3BlbicpOwordGVzdE9mZnNldFBhcmVudE9uQXNzaWduZWRD
aGlsZE5vdEluRmxhdFRyZWUoJ2Nsb3NlZCcpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9yZXNvdXJjZXMvc2hhZG93LWRvbS5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9yZXNvdXJjZXMvc2hhZG93LWRv
bS5qcwppbmRleCAxOTJhZDQ1NDEzMDM1YWU2MjliYTgxNThhNWNlYWNhMTcxYWYxMWZhLi44MWI5
YTNkNGZhZTIyNmVkNDYwNTgzY2I5NGEyNDQzYzgwN2UzY2UwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vcmVzb3VyY2Vz
L3NoYWRvdy1kb20uanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL3Jlc291cmNlcy9zaGFkb3ctZG9tLmpzCkBAIC0yMSwxMyArMjEs
NyBAQCBmdW5jdGlvbiBjcmVhdGVUZXN0VHJlZShub2RlKSB7CiAgIGZ1bmN0aW9uIGF0dGFjaFNo
YWRvd0Zyb21UZW1wbGF0ZSh0ZW1wbGF0ZSkgewogICAgIGxldCBwYXJlbnQgPSB0ZW1wbGF0ZS5w
YXJlbnROb2RlOwogICAgIHBhcmVudC5yZW1vdmVDaGlsZCh0ZW1wbGF0ZSk7Ci0gICAgbGV0IHNo
YWRvd1Jvb3Q7Ci0gICAgaWYgKHRlbXBsYXRlLmdldEF0dHJpYnV0ZSgnZGF0YS1tb2RlJykgPT09
ICd2MCcpIHsKLSAgICAgIC8vIEZvciBsZWdhY3kgU2hhZG93IERPTQotICAgICAgc2hhZG93Um9v
dCA9IHBhcmVudC5jcmVhdGVTaGFkb3dSb290KCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIHNoYWRv
d1Jvb3QgPSBwYXJlbnQuYXR0YWNoU2hhZG93KHttb2RlOiB0ZW1wbGF0ZS5nZXRBdHRyaWJ1dGUo
J2RhdGEtbW9kZScpfSk7Ci0gICAgfQorICAgIGxldCBzaGFkb3dSb290ID0gcGFyZW50LmF0dGFj
aFNoYWRvdyh7bW9kZTogdGVtcGxhdGUuZ2V0QXR0cmlidXRlKCdkYXRhLW1vZGUnKX0pOwogICAg
IGxldCBpZCA9IHRlbXBsYXRlLmlkOwogICAgIGlmIChpZCkgewogICAgICAgc2hhZG93Um9vdC5p
ZCA9IGlkOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL3Njcm9sbC10by10aGUtZnJhZ21lbnQtaW4tc2hhZG93LXRyZWUu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9zY3JvbGwtdG8tdGhlLWZyYWdtZW50LWluLXNoYWRvdy10cmVlLmh0bWwKaW5kZXggYzg3
OTMyZWI2MmY0MzVlY2YyNGNmMzAyMjk2NjliNTY5MTYxYjFjNy4uYjRlY2MxNmE2N2RhZWIxMTYw
NTIzZTEwY2NhMDU3ZDBjOTU4MmQ1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL3Njcm9sbC10by10aGUtZnJhZ21lbnQt
aW4tc2hhZG93LXRyZWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vc2Nyb2xsLXRvLXRoZS1mcmFnbWVudC1pbi1zaGFkb3ct
dHJlZS5odG1sCkBAIC01LDYgKzUsNyBAQAogPG1ldGEgbmFtZT0iYXV0aG9yIiB0aXRsZT0iUnlv
c3VrZSBOaXdhIiBocmVmPSJtYWlsdG86cm5pd2FAd2Via2l0Lm9yZyI+CiA8bWV0YSBuYW1lPSJh
c3NlcnQiIGNvbnRlbnQ9IkFuIGVsZW1lbnQgaW5zaWRlIGEgc2hhZG93IHRyZWUgc2hvdWxkIG5v
dCBiZSB0aGUgaW5kaWNhdGVkIHBhcnQgb2YgdGhlIGRvY3VtZW50IGV2ZW4gaWYgaXRzIElEIGlz
IGV4YWN0bHkgZXF1YWwgdG8gdGhlIGRlY29kZWQgZnJhZ2lkIG9yIGl0cyBuYW1lIGF0dHJpYnV0
ZSBpcyBleGFjdGx5IGVxdWFsIHRvIHRoZSBmcmFnaWQiPgogPGxpbmsgcmVsPSJoZWxwIiBocmVm
PSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9icm93c2Vycy5odG1sI3Nj
cm9sbC10by10aGUtZnJhZ21lbnQtaWRlbnRpZmllciI+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLGluaXRpYWwtc2NhbGU9MSI+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1k
b20vdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NoYWRvdy1kb20vdzNjLWltcG9ydC5sb2cKaW5kZXggZTgzYThkM2I2NDVmM2VmOWRh
ODQzNWQ0YTYyM2ZlMTNkMGRhOGY1NC4uOWRjMmU3MTUwODBiY2RiYzQ1NTk4MzMwNjFiNjRiZTQ4
NTliZWRjZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS93M2MtaW1wb3J0LmxvZwpAQCAt
MjksOCArMjksMTEgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vUmFuZ2UtcHJvdG90eXBlLWluc2VydE5vZGUu
aHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9TaGFkb3dSb290LWludGVyZmFjZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL1Nsb3RhYmxlLWludGVyZmFjZS5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2Nh
cHR1cmluZy1hbmQtYnViYmxpbmctZXZlbnQtbGlzdGVuZXJzLWFjcm9zcy1zaGFkb3ctdHJlZXMu
aHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9kaXJlY3Rpb25hbGl0eS0wMDEudGVudGF0aXZlLWV4cGVjdGVkLmh0bWwKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGlyZWN0aW9u
YWxpdHktMDAxLnRlbnRhdGl2ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RpcmVjdGlvbmFsaXR5LTAwMi50ZW50YXRpdmUtZXhw
ZWN0ZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9kaXJlY3Rpb25hbGl0eS0wMDIudGVudGF0aXZlLmh0bWwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtY29tcG9z
ZWQtcGF0aC1hZnRlci1kb20tbXV0YXRpb24uaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9ldmVudC1jb21wb3NlZC1wYXRoLXdpdGgt
cmVsYXRlZC10YXJnZXQuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2hhZG93LWRvbS9ldmVudC1jb21wb3NlZC1wYXRoLmh0bWwKQEAgLTQ5LDYgKzUy
LDcgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vbGF5b3V0LXNsb3Qtbm8tbG9uZ2VyLWFzc2lnbmVkLmh0bWwK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20v
bGF5b3V0LXNsb3Qtbm8tbG9uZ2VyLWZhbGxiYWNrLWV4cGVjdGVkLmh0bWwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbGF5b3V0LXNsb3Qt
bm8tbG9uZ2VyLWZhbGxiYWNrLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vb2Zmc2V0UGFyZW50LWFjcm9zcy1zaGFkb3ctYm91bmRh
cmllcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
aGFkb3ctZG9tL3Njcm9sbC10by10aGUtZnJhZ21lbnQtaW4tc2hhZG93LXRyZWUuaHRtbAogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9zbG90
Y2hhbmdlLWN1c3RvbWVsZW1lbnRzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vc2xvdGNoYW5nZS1ldmVudC5odG1sCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGZkMDc0YTk5YTJhZDc2ZGVm
ODRhZjRjMGMyNTg3OTAwMmUxYjA0NzcuLmY4YWFhY2I4NjI2ZDQ0ZjNiOTExOTBhOWQyOTEyMGNk
YmNkMjAyZDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCkBA
IC04MDUsNiArODA1LDcgQEAgd2Via2l0Lm9yZy9iLzE1OTI0MCBmYXN0L2V2ZW50cy9yZW1vdmUt
Zm9jdXMtbmF2aWdhdGlvbi1zdGFydGluZy1wb2ludC1jcmFzaC5odG0KIHdlYmtpdC5vcmcvYi8x
NjQ4ODggZmFzdC9zaGFkb3ctZG9tL2ZvY3VzLW5hdmlnYXRpb24tb3V0LW9mLXNsb3QuaHRtbCBb
IFNraXAgXQogd2Via2l0Lm9yZy9iLzE2NDg4OCBmYXN0L3NoYWRvdy1kb20vZm9jdXMtbmF2aWdh
dGlvbi1wYXNzZXMtc2hhZG93LWhvc3QuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE2NDg4
OCBmYXN0L3NoYWRvdy1kb20vZm9jdXMtbmF2aWdhdGlvbi1wYXNzZXMtc3ZnLXVzZS1lbGVtZW50
Lmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8yMDI0OTcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzLyBbIFNraXAgXQogCiAjIFRoaXMgdGVzdCBuZWVk
cyB0byBiZSByZXdyaXR0ZW4gdG8gdXNlIHJ1blVJU2NyaXB0IHRvIHdvcmsgb24gaU9TCiB3ZWJr
aXQub3JnL2IvMTUyOTkzIGh0dHAvdGVzdHMvY29udGVudGRpc3Bvc2l0aW9uYXR0YWNobWVudHNh
bmRib3gvZm9ybS1zdWJtaXNzaW9uLWRpc2FibGVkLmh0bWwgWyBTa2lwIF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>