<?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>128781</bug_id>
          
          <creation_ts>2014-02-13 17:36:13 -0800</creation_ts>
          <short_desc>REGRESSION(r164073): Broke Mac builds (Requested by rniwa on #webkit).</short_desc>
          <delta_ts>2014-02-13 17:39:02 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>127606</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>980552</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-13 17:36:13 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/164073 broke the build:
Broke Mac builds (Requested by rniwa on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980554</commentid>
    <comment_count>1</comment_count>
      <attachid>224134</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-13 17:36:30 -0800</bug_when>
    <thetext>Created attachment 224134
ROLLOUT of r164073

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

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

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980557</commentid>
    <comment_count>2</comment_count>
      <attachid>224134</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-02-13 17:39:00 -0800</bug_when>
    <thetext>Comment on attachment 224134
ROLLOUT of r164073

Clearing flags on attachment: 224134

Committed r164081: &lt;http://trac.webkit.org/changeset/164081&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980558</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-02-13 17:39:02 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224134</attachid>
            <date>2014-02-13 17:36:30 -0800</date>
            <delta_ts>2014-02-13 17:39:00 -0800</delta_ts>
            <desc>ROLLOUT of r164073</desc>
            <filename>bug-128781-20140213173629.patch</filename>
            <type>text/plain</type>
            <size>165282</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY0MDgwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYmRiMjhjYjA1YzYzNmJhYTY1Y2ZhZmY2ZmY0ZjA0OGY2
ZGEwNDJjNS4uYTI3YjUyMDE5NjAyNmM3YjcyYjU2ZTNiZjFkZWRiOWE0NDgwNGViYSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3
IEBACisyMDE0LTAyLTEzICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4K
KworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTY0MDczIGFuZCByMTY0MDgwLgor
ICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xNjQwNzMKKyAgICAgICAg
aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTY0MDgwCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjg3ODEKKworICAgICAgICBCcm9rZSBN
YWMgYnVpbGRzIChSZXF1ZXN0ZWQgYnkgcm5pd2Egb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9tYWMvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5tbToKKyAgICAgICAgKCtb
RXZlbnRTZW5kaW5nQ29udHJvbGxlciBpc1NlbGVjdG9yRXhjbHVkZWRGcm9tV2ViU2NyaXB0Ol0p
OgorICAgICAgICAoK1tFdmVudFNlbmRpbmdDb250cm9sbGVyIHdlYlNjcmlwdE5hbWVGb3JTZWxl
Y3RvcjpdKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0V2ZW50U2VuZGVyUHJveHkuaDoK
KyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50
U2VuZGluZ0NvbnRyb2xsZXIuaWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5jcHA6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmg6CisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvRXZlbnRTZW5kZXJQcm94eUlP
Uy5tbToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmRpZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVk
QnVuZGxlKToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmRpZFJlY2VpdmVTeW5jaHJv
bm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5u
ZXIvZWZsL0V2ZW50U2VuZGVyUHJveHlFZmwuY3BwOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5u
ZXIvZ3RrL0V2ZW50U2VuZGVyUHJveHlHdGsuY3BwOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5u
ZXIvbWFjL0V2ZW50U2VuZGVyUHJveHkubW06CisKIDIwMTQtMDItMTMgIEJyZW50IEZ1bGdoYW0g
IDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXggZm9y
IE1vdW50YWluIExpb24uCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRXZl
bnRTZW5kaW5nQ29udHJvbGxlci5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9FdmVudFNl
bmRpbmdDb250cm9sbGVyLm1tCmluZGV4IDRiZTQ4MGU5NGY4MjczMjMyNjhhODI4MThkNjA1NzQ2
NTFjNzU2MzEuLjU2NzRlODlkYTViYmFmMjg5NTI5ZmFkYTg5NmE0OGJkMjVhYmQxMTUgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9FdmVudFNlbmRpbmdDb250cm9sbGVyLm1t
CisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9FdmVudFNlbmRpbmdDb250cm9sbGVyLm1t
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAwNiwgMjAwNywg
MjAwOCwgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICogQ29weXJpZ2h0IChDKSAyMDA2IEpvbmFzIFdpdHQgPGpvbmFzLndpdHRAZ21haWwuY29t
PgogICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwu
Y29tPgogICogQ29weXJpZ2h0IChDKSAyMDA2IEFsZXhleSBQcm9za3VyeWFrb3YgPGFwQG55cG9w
LmNvbT4KQEAgLTc0LDcgKzc0LDYgQEAgZW51bSBNb3VzZUJ1dHRvbiB7CiAgICAgTm9Nb3VzZUJ1
dHRvbiA9IC0xCiB9OwogCi0KIHN0cnVjdCBLZXlNYXBwaW5nRW50cnkgewogICAgIGludCBtYWNL
ZXlDb2RlOwogICAgIGludCBtYWNOdW1wYWRLZXlDb2RlOwpAQCAtMjAzLDcgKzIwMiw2IEBAIEJP
T0wgcmVwbGF5aW5nU2F2ZWRFdmVudHM7CiAgICAgICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNl
bGVjdG9yKHpvb21QYWdlT3V0KQogICAgICAgICAgICAgfHwgYVNlbGVjdG9yID09IEBzZWxlY3Rv
cihzY2FsZVBhZ2VCeTphdFg6YW5kWTopCiAgICAgICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNl
bGVjdG9yKG1vdXNlU2Nyb2xsQnlYOmFuZFk6KQotICAgICAgICAgICAgfHwgYVNlbGVjdG9yID09
IEBzZWxlY3Rvcihtb3VzZVNjcm9sbEJ5WDphbmRZOndpdGhXaGVlbDphbmRNb21lbnR1bVBoYXNl
czopCiAgICAgICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKGNvbnRpbnVvdXNNb3Vz
ZVNjcm9sbEJ5WDphbmRZOikKICNpZiBQTEFURk9STShJT1MpCiAgICAgICAgICAgICB8fCBhU2Vs
ZWN0b3IgPT0gQHNlbGVjdG9yKGFkZFRvdWNoQXRYOnk6KQpAQCAtMjU2LDggKzI1NCw2IEBAIEJP
T0wgcmVwbGF5aW5nU2F2ZWRFdmVudHM7CiAgICAgICAgIHJldHVybiBAInNldERyYWdNb2RlIjsK
ICAgICBpZiAoYVNlbGVjdG9yID09IEBzZWxlY3Rvcihtb3VzZVNjcm9sbEJ5WDphbmRZOikpCiAg
ICAgICAgIHJldHVybiBAIm1vdXNlU2Nyb2xsQnkiOwotICAgIGlmIChhU2VsZWN0b3IgPT0gQHNl
bGVjdG9yKG1vdXNlU2Nyb2xsQnlYOmFuZFk6d2l0aFdoZWVsOmFuZE1vbWVudHVtUGhhc2VzOikp
Ci0gICAgICAgIHJldHVybiBAIm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNl
cyI7CiAgICAgaWYgKGFTZWxlY3RvciA9PSBAc2VsZWN0b3IoY29udGludW91c01vdXNlU2Nyb2xs
QnlYOmFuZFk6KSkKICAgICAgICAgcmV0dXJuIEAiY29udGludW91c01vdXNlU2Nyb2xsQnkiOwog
ICAgIGlmIChhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKHNjYWxlUGFnZUJ5OmF0WDphbmRZOikpCkBA
IC03MDMsNTYgKzY5OSw2IEBAIHN0YXRpYyBpbnQgYnVpbGRNb2RpZmllckZsYWdzKGNvbnN0IFdl
YlNjcmlwdE9iamVjdCogbW9kaWZpZXJzKQogICAgIFtzZWxmIG1vdXNlU2Nyb2xsQnlYOnggYW5k
WTp5IGNvbnRpbnVvdXNseTpOT107CiB9CiAKLSNpZiAhUExBVEZPUk0oSU9TKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDw9IDEwOTAKLWNvbnN0IHVpbnQzMl90IGtDR1Njcm9s
bFdoZWVsRXZlbnRNb21lbnR1bVBoYXNlID0gMTIzOwotI2VuZGlmCi0KLS0gKHZvaWQpbW91c2VT
Y3JvbGxCeVg6KGludCl4IGFuZFk6KGludCl5IHdpdGhXaGVlbDooTlNTdHJpbmcqKXBoYXNlTmFt
ZSBhbmRNb21lbnR1bVBoYXNlczooTlNTdHJpbmcqKW1vbWVudHVtTmFtZQotewotI2lmICFQTEFU
Rk9STShJT1MpCi0gICAgdWludDMyX3QgcGhhc2UgPSAwOwotICAgIGlmIChbcGhhc2VOYW1lIGlz
RXF1YWxUb1N0cmluZzogQCJub25lIl0pCi0gICAgICAgIHBoYXNlID0gMDsKLSAgICBlbHNlIGlm
IChbcGhhc2VOYW1lIGlzRXF1YWxUb1N0cmluZzogQCJiZWdhbiJdKQotICAgICAgICBwaGFzZSA9
IDE7IC8vIGtDR1Njcm9sbFBoYXNlQmVnYW4KLSAgICBlbHNlIGlmIChbcGhhc2VOYW1lIGlzRXF1
YWxUb1N0cmluZzogQCJjaGFuZ2VkIl0pCi0gICAgICAgIHBoYXNlID0gMjsgLy8ga0NHU2Nyb2xs
UGhhc2VDaGFuZ2VkOwotICAgIGVsc2UgaWYgKFtwaGFzZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBA
ImVuZGVkIl0pCi0gICAgICAgIHBoYXNlID0gNDsgLy8ga0NHU2Nyb2xsUGhhc2VFbmRlZDsKLSAg
ICBlbHNlIGlmIChbcGhhc2VOYW1lIGlzRXF1YWxUb1N0cmluZzogQCJjYW5jZWxsZWQiXSkKLSAg
ICAgICAgcGhhc2UgPSA4OyAvLyBrQ0dTY3JvbGxQaGFzZUNhbmNlbGxlZDsKLSAgICBlbHNlIGlm
IChbcGhhc2VOYW1lIGlzRXF1YWxUb1N0cmluZzogQCJtYXliZWdpbiJdKQotICAgICAgICBwaGFz
ZSA9IDEyODsgLy8ga0NHU2Nyb2xsUGhhc2VNYXlCZWdpbjsKLQotICAgIHVpbnQzMl90IG1vbWVu
dHVtID0gMDsKLSAgICBpZiAoW21vbWVudHVtTmFtZSBpc0VxdWFsVG9TdHJpbmc6IEAibm9uZSJd
KQotICAgICAgICBtb21lbnR1bSA9IDA7IC8vIGtDR01vbWVudHVtU2Nyb2xsUGhhc2VOb25lOwot
ICAgIGVsc2UgaWYgKFttb21lbnR1bU5hbWUgaXNFcXVhbFRvU3RyaW5nOkAiYmVnaW4iXSkKLSAg
ICAgICAgbW9tZW50dW0gPSAxOyAvLyBrQ0dNb21lbnR1bVNjcm9sbFBoYXNlQmVnaW47Ci0gICAg
ZWxzZSBpZiAoW21vbWVudHVtTmFtZSBpc0VxdWFsVG9TdHJpbmc6QCJjb250aW51ZSJdKQotICAg
ICAgICBtb21lbnR1bSA9IDI7IC8vIGtDR01vbWVudHVtU2Nyb2xsUGhhc2VDb250aW51ZTsKLSAg
ICBlbHNlIGlmIChbbW9tZW50dW1OYW1lIGlzRXF1YWxUb1N0cmluZzpAImVuZCJdKQotICAgICAg
ICBtb21lbnR1bSA9IDM7IC8vIGtDR01vbWVudHVtU2Nyb2xsUGhhc2VFbmQ7Ci0KLSAgICBDR0V2
ZW50UmVmIGNnU2Nyb2xsRXZlbnQgPSBDR0V2ZW50Q3JlYXRlU2Nyb2xsV2hlZWxFdmVudChOVUxM
LCBrQ0dTY3JvbGxFdmVudFVuaXRMaW5lLCAyLCB5LCB4KTsKLQotICAgIC8vIENHRXZlbnQgbG9j
YXRpb25zIGFyZSBpbiBnbG9iYWwgZGlzcGxheSBjb29yZGluYXRlcy4KLSAgICBDR1BvaW50IGxh
c3RHbG9iYWxNb3VzZVBvc2l0aW9uID0gQ0dQb2ludE1ha2UobGFzdE1vdXNlUG9zaXRpb24ueCwg
W1tOU1NjcmVlbiBtYWluU2NyZWVuXSBmcmFtZV0uc2l6ZS5oZWlnaHQgLSBsYXN0TW91c2VQb3Np
dGlvbi55KTsKLSAgICBDR0V2ZW50U2V0TG9jYXRpb24oY2dTY3JvbGxFdmVudCwgbGFzdEdsb2Jh
bE1vdXNlUG9zaXRpb24pOwotICAgIENHRXZlbnRTZXRJbnRlZ2VyVmFsdWVGaWVsZChjZ1Njcm9s
bEV2ZW50LCBrQ0dTY3JvbGxXaGVlbEV2ZW50U2Nyb2xsUGhhc2UsIHBoYXNlKTsKLSAgICBDR0V2
ZW50U2V0SW50ZWdlclZhbHVlRmllbGQoY2dTY3JvbGxFdmVudCwga0NHU2Nyb2xsV2hlZWxFdmVu
dE1vbWVudHVtUGhhc2UsIG1vbWVudHVtKTsKLSAgICAKLSAgICBOU0V2ZW50KiBzY3JvbGxFdmVu
dCA9IFtOU0V2ZW50IGV2ZW50V2l0aENHRXZlbnQ6Y2dTY3JvbGxFdmVudF07Ci0gICAgQ0ZSZWxl
YXNlKGNnU2Nyb2xsRXZlbnQpOwotCi0gICAgaWYgKE5TVmlldyogdGFyZ2V0VmlldyA9IFtbbWFp
bkZyYW1lIHdlYlZpZXddIGhpdFRlc3Q6W3Njcm9sbEV2ZW50IGxvY2F0aW9uSW5XaW5kb3ddXSkg
ewotICAgICAgICBbTlNBcHAgX3NldEN1cnJlbnRFdmVudDpzY3JvbGxFdmVudF07Ci0gICAgICAg
IFt0YXJnZXRWaWV3IHNjcm9sbFdoZWVsOnNjcm9sbEV2ZW50XTsKLSAgICAgICAgW05TQXBwIF9z
ZXRDdXJyZW50RXZlbnQ6bmlsXTsKLSAgICB9Ci0jZW5kaWYKLX0KLQogLSAoTlNBcnJheSAqKWNv
bnRleHRDbGljawogewogI2lmICFQTEFURk9STShJT1MpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0V2ZW50U2VuZGVyUHJveHkuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
RXZlbnRTZW5kZXJQcm94eS5oCmluZGV4IDdjZTVkOWNjNzU3NjBkZGZjOGNjNDhlNTJiY2JkYTY0
YThiYmJhYmEuLmRiMmM1OGIwZDQxMWY0MjliODIxMmY2MDk4ODA0ZDMxMzQyMTIzNDkgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvRXZlbnRTZW5kZXJQcm94eS5oCisrKyBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvRXZlbnRTZW5kZXJQcm94eS5oCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICogQ29weXJpZ2h0IChDKSAyMDExIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMg
c3Vic2lkaWFyeSgtaWVzKS4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTYwLDcgKzYwLDYgQEAgcHVi
bGljOgogICAgIHZvaWQgbW91c2VVcCh1bnNpZ25lZCBidXR0b24sIFdLRXZlbnRNb2RpZmllcnMp
OwogICAgIHZvaWQgbW91c2VNb3ZlVG8oZG91YmxlIHgsIGRvdWJsZSB5KTsKICAgICB2b2lkIG1v
dXNlU2Nyb2xsQnkoaW50IHgsIGludCB5KTsKLSAgICB2b2lkIG1vdXNlU2Nyb2xsQnlXaXRoV2hl
ZWxBbmRNb21lbnR1bVBoYXNlcyhpbnQgeCwgaW50IHksIGludCBwaGFzZSwgaW50IG1vbWVudHVt
KTsKICAgICB2b2lkIGNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5KGludCB4LCBpbnQgeSwgYm9vbCBw
YWdlZCk7CiAKICAgICB2b2lkIGxlYXBGb3J3YXJkKGludCBtaWxsaXNlY29uZHMpOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVu
dFNlbmRpbmdDb250cm9sbGVyLmlkbCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvQmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwKaW5kZXggZDY3Nzk0Yzlm
YTAxYTIwYjFiYzM3N2U0NTJhMjczZjM5MGY4ZDVlYS4uYjNhYTAyNDAxZWExMmZmYTRlOGI4NmVh
ZTY0MTEzNjI0OTdkNDI4NiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRpbmdDb250cm9sbGVyLmlkbAorKysgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50U2VuZGluZ0Nv
bnRyb2xsZXIuaWRsCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCwg
MjAxMSwgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAsIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOCw3ICsyOCw2IEBAIGludGVyZmFjZSBFdmVudFNl
bmRpbmdDb250cm9sbGVyIHsKICAgICB2b2lkIG1vdXNlVXAobG9uZyBidXR0b25OdW1iZXIsIG9i
amVjdCBtb2RpZmllckFycmF5KTsKICAgICB2b2lkIG1vdXNlTW92ZVRvKGxvbmcgeCwgbG9uZyB5
KTsKICAgICB2b2lkIG1vdXNlU2Nyb2xsQnkobG9uZyB4LCBsb25nIHkpOwotICAgIHZvaWQgbW91
c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKGxvbmcgeCwgbG9uZyB5LCBET01T
dHJpbmcgcGhhc2UsIERPTVN0cmluZyBtb21lbnR1bSwgb3B0aW9uYWwgYm9vbGVhbiBhc3luY1Nj
cm9sbGluZyk7CiAgICAgdm9pZCBjb250aW51b3VzTW91c2VTY3JvbGxCeShsb25nIHgsIGxvbmcg
eSwgb3B0aW9uYWwgYm9vbGVhbiBwYWdlZCk7CiAgICAgb2JqZWN0IGNvbnRleHRDbGljaygpOwog
ICAgIHZvaWQgc2NoZWR1bGVBc3luY2hyb25vdXNDbGljaygpOwpkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmNw
cCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29u
dHJvbGxlci5jcHAKaW5kZXggZDIyNGQxZWMzMjkxY2VkOGRkYzhjMjFkNTNlYmZhYmQ1YzczMDJl
Ni4uNjVlMzU1NjUyZjlkMzBjOTNmMDYxZjE4MmNjOGJmODI2OTIyMTg3YyAxMDA2NDQKLS0tIGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9s
bGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50
U2VuZGluZ0NvbnRyb2xsZXIuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMCwgMjAxMSwgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zNDcsNjEgKzM0Nyw2IEBAIHZvaWQg
RXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6bW91c2VTY3JvbGxCeShpbnQgeCwgaW50IHkpCiAgICAg
V0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5i
dW5kbGUoKSwgRXZlbnRTZW5kZXJNZXNzYWdlTmFtZS5nZXQoKSwgRXZlbnRTZW5kZXJNZXNzYWdl
Qm9keS5nZXQoKSwgMCk7CiB9CiAKLXZvaWQgRXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6bW91c2VT
Y3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKGludCB4LCBpbnQgeSwgSlNTdHJpbmdS
ZWYgcGhhc2VTdHIsIEpTU3RyaW5nUmVmIG1vbWVudHVtU3RyLCBib29sIGFzeW5jU2Nyb2xsaW5n
KQotewotICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBFdmVudFNlbmRlck1lc3NhZ2VOYW1l
KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJFdmVudFNlbmRlciIpKTsK
LSAgICBXS1JldGFpblB0cjxXS011dGFibGVEaWN0aW9uYXJ5UmVmPiBFdmVudFNlbmRlck1lc3Nh
Z2VCb2R5KEFkb3B0V0ssIFdLTXV0YWJsZURpY3Rpb25hcnlDcmVhdGUoKSk7Ci0gICAgCi0gICAg
V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHN1Yk1lc3NhZ2VLZXkoQWRvcHRXSywgV0tTdHJpbmdD
cmVhdGVXaXRoVVRGOENTdHJpbmcoIlN1Yk1lc3NhZ2UiKSk7Ci0gICAgV0tSZXRhaW5QdHI8V0tT
dHJpbmdSZWY+IHN1Yk1lc3NhZ2VOYW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhD
U3RyaW5nKCJNb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMiKSk7Ci0gICAg
V0tEaWN0aW9uYXJ5U2V0SXRlbShFdmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCBzdWJNZXNz
YWdlS2V5LmdldCgpLCBzdWJNZXNzYWdlTmFtZS5nZXQoKSk7Ci0gICAgCi0gICAgV0tSZXRhaW5Q
dHI8V0tTdHJpbmdSZWY+IHhLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJp
bmcoIlgiKSk7Ci0gICAgV0tSZXRhaW5QdHI8V0tEb3VibGVSZWY+IHhSZWYoQWRvcHRXSywgV0tE
b3VibGVDcmVhdGUoeCkpOwotICAgIFdLRGljdGlvbmFyeVNldEl0ZW0oRXZlbnRTZW5kZXJNZXNz
YWdlQm9keS5nZXQoKSwgeEtleS5nZXQoKSwgeFJlZi5nZXQoKSk7Ci0gICAgCi0gICAgV0tSZXRh
aW5QdHI8V0tTdHJpbmdSZWY+IHlLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENT
dHJpbmcoIlkiKSk7Ci0gICAgV0tSZXRhaW5QdHI8V0tEb3VibGVSZWY+IHlSZWYoQWRvcHRXSywg
V0tEb3VibGVDcmVhdGUoeSkpOwotICAgIFdLRGljdGlvbmFyeVNldEl0ZW0oRXZlbnRTZW5kZXJN
ZXNzYWdlQm9keS5nZXQoKSwgeUtleS5nZXQoKSwgeVJlZi5nZXQoKSk7Ci0KLSAgICB1aW50NjRf
dCBwaGFzZSA9IDA7Ci0gICAgaWYgKEpTU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcocGhhc2VT
dHIsICJub25lIikpCi0gICAgICAgIHBoYXNlID0gMDsKLSAgICBlbHNlIGlmIChKU1N0cmluZ0lz
RXF1YWxUb1VURjhDU3RyaW5nKHBoYXNlU3RyLCAiYmVnYW4iKSkKLSAgICAgICAgcGhhc2UgPSAx
OyAvLyBrQ0dTY3JvbGxQaGFzZUJlZ2FuCi0gICAgZWxzZSBpZiAoSlNTdHJpbmdJc0VxdWFsVG9V
VEY4Q1N0cmluZyhwaGFzZVN0ciwgImNoYW5nZWQiKSkKLSAgICAgICAgcGhhc2UgPSAyOyAvLyBr
Q0dTY3JvbGxQaGFzZUNoYW5nZWQKLSAgICBlbHNlIGlmIChKU1N0cmluZ0lzRXF1YWxUb1VURjhD
U3RyaW5nKHBoYXNlU3RyLCAiZW5kZWQiKSkKLSAgICAgICAgcGhhc2UgPSA0OyAvLyBrQ0dTY3Jv
bGxQaGFzZUVuZGVkCi0gICAgZWxzZSBpZiAoSlNTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhw
aGFzZVN0ciwgImNhbmNlbGxlZCIpKQotICAgICAgICBwaGFzZSA9IDg7IC8vIGtDR1Njcm9sbFBo
YXNlQ2FuY2VsbGVkCi0gICAgZWxzZSBpZiAoSlNTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhw
aGFzZVN0ciwgIm1heWJlZ2luIikpCi0gICAgICAgIHBoYXNlID0gMTI4OyAvLyBrQ0dTY3JvbGxQ
aGFzZU1heUJlZ2luCi0KLSAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gcGhhc2VLZXkoQWRv
cHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlBoYXNlIikpOwotICAgIFdLUmV0
YWluUHRyPFdLVUludDY0UmVmPiBwaGFzZVJlZihBZG9wdFdLLCBXS1VJbnQ2NENyZWF0ZShwaGFz
ZSkpOwotICAgIFdLRGljdGlvbmFyeVNldEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQo
KSwgcGhhc2VLZXkuZ2V0KCksIHBoYXNlUmVmLmdldCgpKTsKLQotICAgIHVpbnQ2NF90IG1vbWVu
dHVtID0gMDsKLSAgICBpZiAoSlNTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtb21lbnR1bVN0
ciwgIm5vbmUiKSkKLSAgICAgICAgbW9tZW50dW0gPSAwOyAvLyBrQ0dNb21lbnR1bVNjcm9sbFBo
YXNlTm9uZQotICAgIGVsc2UgaWYgKEpTU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobW9tZW50
dW1TdHIsICJiZWdpbiIpKQotICAgICAgICBtb21lbnR1bSA9IDE7IC8vIGtDR01vbWVudHVtU2Ny
b2xsUGhhc2VCZWdpbgotICAgIGVsc2UgaWYgKEpTU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmco
bW9tZW50dW1TdHIsICJjb250aW51ZSIpKQotICAgICAgICBtb21lbnR1bSA9IDI7IC8vIGtDR01v
bWVudHVtU2Nyb2xsUGhhc2VDb250aW51ZQotICAgIGVsc2UgaWYgKEpTU3RyaW5nSXNFcXVhbFRv
VVRGOENTdHJpbmcobW9tZW50dW1TdHIsICJlbmQiKSkKLSAgICAgICAgbW9tZW50dW0gPSAzOyAv
LyBrQ0dNb21lbnR1bVNjcm9sbFBoYXNlRW5kCi0KLSAgICBXS1JldGFpblB0cjxXS1N0cmluZ1Jl
Zj4gbW9tZW50dW1LZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIk1v
bWVudHVtIikpOwotICAgIFdLUmV0YWluUHRyPFdLVUludDY0UmVmPiBtb21lbnR1bVJlZihBZG9w
dFdLLCBXS1VJbnQ2NENyZWF0ZShtb21lbnR1bSkpOwotICAgIFdLRGljdGlvbmFyeVNldEl0ZW0o
RXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgbW9tZW50dW1LZXkuZ2V0KCksIG1vbWVudHVt
UmVmLmdldCgpKTsKLQotICAgIGlmIChhc3luY1Njcm9sbGluZykKLSAgICAgICAgV0tCdW5kbGVQ
b3N0TWVzc2FnZShJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkuYnVuZGxlKCksIEV2ZW50U2VuZGVy
TWVzc2FnZU5hbWUuZ2V0KCksIEV2ZW50U2VuZGVyTWVzc2FnZUJvZHkuZ2V0KCkpOwotICAgIGVs
c2UKLSAgICAgICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxl
OjpzaGFyZWQoKS5idW5kbGUoKSwgRXZlbnRTZW5kZXJNZXNzYWdlTmFtZS5nZXQoKSwgRXZlbnRT
ZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgMCk7Ci19Ci0KIHZvaWQgRXZlbnRTZW5kaW5nQ29udHJv
bGxlcjo6Y29udGludW91c01vdXNlU2Nyb2xsQnkoaW50IHgsIGludCB5LCBib29sIHBhZ2VkKQog
ewogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBFdmVudFNlbmRlck1lc3NhZ2VOYW1lKEFk
b3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJFdmVudFNlbmRlciIpKTsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5k
aW5nQ29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9F
dmVudFNlbmRpbmdDb250cm9sbGVyLmgKaW5kZXggZmQwMzBiOWNmYTc4YzI1YjQzODBiODdjMjdh
NDYzZmMyY2U3MGM1Yy4uYzZhOTEzMWU0Njg1ZWI2Zjg0ZTJkNThlYjFjNmM0NzQwYWMzZTk1ZCAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNl
bmRpbmdDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDEwLCAyMDExLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQ3LDcgKzQ3LDYgQEAg
cHVibGljOgogICAgIHZvaWQgbW91c2VVcChpbnQgYnV0dG9uLCBKU1ZhbHVlUmVmIG1vZGlmaWVy
QXJyYXkpOwogICAgIHZvaWQgbW91c2VNb3ZlVG8oaW50IHgsIGludCB5KTsKICAgICB2b2lkIG1v
dXNlU2Nyb2xsQnkoaW50IHgsIGludCB5KTsKLSAgICB2b2lkIG1vdXNlU2Nyb2xsQnlXaXRoV2hl
ZWxBbmRNb21lbnR1bVBoYXNlcyhpbnQgeCwgaW50IHksIEpTU3RyaW5nUmVmIHBoYXNlLCBKU1N0
cmluZ1JlZiBtb21lbnR1bSwgYm9vbCBhc3luY1Njcm9sbGluZyk7CiAgICAgdm9pZCBjb250aW51
b3VzTW91c2VTY3JvbGxCeShpbnQgeCwgaW50IHksIGJvb2wgcGFnZWQpOwogICAgIEpTVmFsdWVS
ZWYgY29udGV4dENsaWNrKCk7CiAgICAgdm9pZCBsZWFwRm9yd2FyZChpbnQgbWlsbGlzZWNvbmRz
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9z
L0V2ZW50U2VuZGVyUHJveHlJT1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL2lvcy9FdmVudFNlbmRlclByb3h5SU9TLm1tCmluZGV4IDc3YzM1YjRjZTY2ZWFlZDMx
YjcwMTIzMTk4M2U5MGM0N2Y1YjQwNTMuLmNkYjJmNTFiMmYzNWQ5OTFiY2FkYmNkYmM1ZDExMGMz
YjM4MGE2NzAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvaW9zL0V2ZW50U2VuZGVyUHJveHlJT1MubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9pb3MvRXZlbnRTZW5kZXJQcm94eUlPUy5tbQpAQCAtOTgsMTEgKzk4
LDYgQEAgdm9pZCBFdmVudFNlbmRlclByb3h5Ojptb3VzZVNjcm9sbEJ5KGludCB4LCBpbnQgeSkK
ICAgICAvLyBXcml0ZSBtZS4KIH0KIAotdm9pZCBFdmVudFNlbmRlclByb3h5Ojptb3VzZVNjcm9s
bEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoaW50IHgsIGludCB5LCBpbnQgcGhhc2UsIGlu
dCBtb21lbnR1bSkKLXsKLSAgICAvLyBXcml0ZSBtZS4KLX0KLQogdm9pZCBFdmVudFNlbmRlclBy
b3h5Ojpjb250aW51b3VzTW91c2VTY3JvbGxCeShpbnQgeCwgaW50IHksIGJvb2wgcGFnZWQpCiB7
CiAgICAgLy8gV3JpdGUgbWUuCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwCmluZGV4IDYyMGUwZGYxOTY0ZmQ1Y2I5NzdmNzYxNjg1NDk1Y2I0ODkwOWU1NjMuLmM2NTNk
OGU3YjhlODFmMjEyNTcxY2UwMjg3NzkyYTVmZTRmNThjNDMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxMCwgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC04NTYsMjUgKzg1Niw2IEBAIHZvaWQgVGVzdENvbnRy
b2xsZXI6OmRpZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKFdLU3RyaW5nUmVmIG1l
c3NhZ2VOYW1lCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBpZiAo
V0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhzdWJNZXNzYWdlTmFtZSwgIk1vdXNlU2Nyb2xs
QnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcyIpKSB7Ci0gICAgICAgICAgICBXS1JldGFpblB0
cjxXS1N0cmluZ1JlZj4geEtleSA9IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJp
bmcoIlgiKSk7Ci0gICAgICAgICAgICBkb3VibGUgeCA9IFdLRG91YmxlR2V0VmFsdWUoc3RhdGlj
X2Nhc3Q8V0tEb3VibGVSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlE
aWN0aW9uYXJ5LCB4S2V5LmdldCgpKSkpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBXS1Jl
dGFpblB0cjxXS1N0cmluZ1JlZj4geUtleSA9IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRG
OENTdHJpbmcoIlkiKSk7Ci0gICAgICAgICAgICBkb3VibGUgeSA9IFdLRG91YmxlR2V0VmFsdWUo
c3RhdGljX2Nhc3Q8V0tEb3VibGVSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2Fn
ZUJvZHlEaWN0aW9uYXJ5LCB5S2V5LmdldCgpKSkpOwotICAgICAgICAgICAgCi0gICAgICAgICAg
ICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gcGhhc2VLZXkgPSBhZG9wdFdLKFdLU3RyaW5nQ3Jl
YXRlV2l0aFVURjhDU3RyaW5nKCJQaGFzZSIpKTsKLSAgICAgICAgICAgIGludCBwaGFzZSA9IHN0
YXRpY19jYXN0PGludD4oV0tVSW50NjRHZXRWYWx1ZShzdGF0aWNfY2FzdDxXS1VJbnQ2NFJlZj4o
V0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25hcnksIHBoYXNlS2V5
LmdldCgpKSkpKTsKLSAgICAgICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtb21lbnR1
bUtleSA9IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIk1vbWVudHVtIikp
OwotICAgICAgICAgICAgaW50IG1vbWVudHVtID0gc3RhdGljX2Nhc3Q8aW50PihXS1VJbnQ2NEdl
dFZhbHVlKHN0YXRpY19jYXN0PFdLVUludDY0UmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5
KG1lc3NhZ2VCb2R5RGljdGlvbmFyeSwgbW9tZW50dW1LZXkuZ2V0KCkpKSkpOwotICAgICAgICAg
ICAgCi0gICAgICAgICAgICAvLyBGb3J3YXJkIHRvIFdlYlByb2Nlc3MKLSAgICAgICAgICAgIFdL
UGFnZVNldFNob3VsZFNlbmRFdmVudHNTeW5jaHJvbm91c2x5KG1haW5XZWJWaWV3KCktPnBhZ2Uo
KSwgZmFsc2UpOwotICAgICAgICAgICAgbV9ldmVudFNlbmRlclByb3h5LT5tb3VzZVNjcm9sbEJ5
V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoeCwgeSwgcGhhc2UsIG1vbWVudHVtKTsKLQotICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAgICAgfQogCkBAIC05NDQsMjUgKzkyNSw2IEBAIFdLUmV0YWluUHRyPFdLVHlwZVJlZj4g
VGVzdENvbnRyb2xsZXI6OmRpZFJlY2VpdmVTeW5jaHJvbm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRC
CiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChXS1N0cmlu
Z0lzRXF1YWxUb1VURjhDU3RyaW5nKHN1Yk1lc3NhZ2VOYW1lLCAiTW91c2VTY3JvbGxCeVdpdGhX
aGVlbEFuZE1vbWVudHVtUGhhc2VzIikpIHsKLSAgICAgICAgICAgIFdLUmV0YWluUHRyPFdLU3Ry
aW5nUmVmPiB4S2V5ID0gYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiWCIp
KTsKLSAgICAgICAgICAgIGRvdWJsZSB4ID0gV0tEb3VibGVHZXRWYWx1ZShzdGF0aWNfY2FzdDxX
S0RvdWJsZVJlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25h
cnksIHhLZXkuZ2V0KCkpKSk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIFdLUmV0YWluUHRy
PFdLU3RyaW5nUmVmPiB5S2V5ID0gYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmlu
ZygiWSIpKTsKLSAgICAgICAgICAgIGRvdWJsZSB5ID0gV0tEb3VibGVHZXRWYWx1ZShzdGF0aWNf
Y2FzdDxXS0RvdWJsZVJlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURp
Y3Rpb25hcnksIHlLZXkuZ2V0KCkpKSk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIFdLUmV0
YWluUHRyPFdLU3RyaW5nUmVmPiBwaGFzZUtleSA9IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRo
VVRGOENTdHJpbmcoIlBoYXNlIikpOwotICAgICAgICAgICAgaW50IHBoYXNlID0gc3RhdGljX2Nh
c3Q8aW50PihXS1VJbnQ2NEdldFZhbHVlKHN0YXRpY19jYXN0PFdLVUludDY0UmVmPihXS0RpY3Rp
b25hcnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFyeSwgcGhhc2VLZXkuZ2V0KCkp
KSkpOwotICAgICAgICAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1vbWVudHVtS2V5ID0g
YWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiTW9tZW50dW0iKSk7Ci0gICAg
ICAgICAgICBpbnQgbW9tZW50dW0gPSBzdGF0aWNfY2FzdDxpbnQ+KFdLVUludDY0R2V0VmFsdWUo
c3RhdGljX2Nhc3Q8V0tVSW50NjRSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2Fn
ZUJvZHlEaWN0aW9uYXJ5LCBtb21lbnR1bUtleS5nZXQoKSkpKSk7Ci0KLSAgICAgICAgICAgIC8v
IEZvcndhcmQgdG8gV2ViUHJvY2VzcwotICAgICAgICAgICAgV0tQYWdlU2V0U2hvdWxkU2VuZEV2
ZW50c1N5bmNocm9ub3VzbHkobWFpbldlYlZpZXcoKS0+cGFnZSgpLCB0cnVlKTsKLSAgICAgICAg
ICAgIG1fZXZlbnRTZW5kZXJQcm94eS0+bW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVt
UGhhc2VzKHgsIHksIHBoYXNlLCBtb21lbnR1bSk7Ci0gICAgICAgICAgICBXS1BhZ2VTZXRTaG91
bGRTZW5kRXZlbnRzU3luY2hyb25vdXNseShtYWluV2ViVmlldygpLT5wYWdlKCksIGZhbHNlKTsK
LSAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICB9Ci0gICAgICAgIAogICAgICAgICBpZiAo
V0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhzdWJNZXNzYWdlTmFtZSwgIkNvbnRpbnVvdXNN
b3VzZVNjcm9sbEJ5IikpIHsKICAgICAgICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiB4
S2V5ID0gYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiWCIpKTsKICAgICAg
ICAgICAgIGRvdWJsZSB4ID0gV0tEb3VibGVHZXRWYWx1ZShzdGF0aWNfY2FzdDxXS0RvdWJsZVJl
Zj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25hcnksIHhLZXku
Z2V0KCkpKSk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2VmbC9FdmVudFNl
bmRlclByb3h5RWZsLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZWZsL0V2ZW50U2VuZGVy
UHJveHlFZmwuY3BwCmluZGV4IDdhNjhjN2YyOTdkZTI1MWRhYWQzMzNiYTFlNDFhOThiMTllZjY4
ZjYuLjMxZDNjODM1M2Q4ZGUzMWJhNGRhZWFlYzliYTBhYzBlYzMyNzRiODUgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZWZsL0V2ZW50U2VuZGVyUHJveHlFZmwuY3BwCisrKyBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZWZsL0V2ZW50U2VuZGVyUHJveHlFZmwuY3BwCkBAIC0z
OTIsMTMgKzM5Miw2IEBAIHZvaWQgRXZlbnRTZW5kZXJQcm94eTo6Y29udGludW91c01vdXNlU2Ny
b2xsQnkoaW50IGhvcml6b250YWwsIGludCB2ZXJ0aWNhbCwgYm9vCiAgICAgbm90SW1wbGVtZW50
ZWQoKTsKIH0KIAotdm9pZCBFdmVudFNlbmRlclByb3h5Ojptb3VzZVNjcm9sbEJ5V2l0aFdoZWVs
QW5kTW9tZW50dW1QaGFzZXMoaW50IHgsIGludCB5LCBpbnQgLypwaGFzZSovLCBpbnQgLyptb21l
bnR1bSovKQotewotICAgIC8vIEVGTCBkb2VzIG5vdCBoYXZlIHRoZSBjb25jZXB0IG9mIHdoZWVs
IGdlc3R1cmUgcGhhc2VzIG9yIG1vbWVudHVtLiBKdXN0IHJlbGF5IHRvCi0gICAgLy8gdGhlIG1v
dXNlIHdoZWVsIGhhbmRsZXIuCi0gICAgbW91c2VTY3JvbGxCeSh4LCB5KTsKLX0KLQogdm9pZCBF
dmVudFNlbmRlclByb3h5OjpsZWFwRm9yd2FyZChpbnQgbWlsbGlzZWNvbmRzKQogewogICAgIGlm
IChtX2V2ZW50UXVldWUuaXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9ndGsvRXZlbnRTZW5kZXJQcm94eUd0ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L2d0ay9FdmVudFNlbmRlclByb3h5R3RrLmNwcAppbmRleCA4NDc5ODBlOThlOTE2ZGE2YzMzMDRm
ZjA2NDFhZjZmODdkMTc5ZDYxLi5kMjUzMjAxMjU0ZTk4MjNkM2UwOWRlZjMxNzFhOGQwZDhhMGNl
NTg4IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2d0ay9FdmVudFNlbmRlclBy
b3h5R3RrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2d0ay9FdmVudFNlbmRlclBy
b3h5R3RrLmNwcApAQCAtNDMzLDEzICs0MzMsNiBAQCB2b2lkIEV2ZW50U2VuZGVyUHJveHk6OmNv
bnRpbnVvdXNNb3VzZVNjcm9sbEJ5KGludCBob3Jpem9udGFsLCBpbnQgdmVydGljYWwsIGJvbwog
ICAgIHNlbmRPclF1ZXVlRXZlbnQoZXZlbnQpOwogfQogCi12b2lkIEV2ZW50U2VuZGVyUHJveHk6
Om1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcyhpbnQgeCwgaW50IHksIGlu
dCAvKnBoYXNlKi8sIGludCAvKm1vbWVudHVtKi8pCi17Ci0gICAgLy8gR3RrKyBkb2VzIG5vdCBo
YXZlIHRoZSBjb25jZXB0IG9mIHdoZWVsIGdlc3R1cmUgcGhhc2VzIG9yIG1vbWVudHVtLiBKdXN0
IHJlbGF5IHRvCi0gICAgLy8gdGhlIG1vdXNlIHdoZWVsIGhhbmRsZXIuCi0gICAgbW91c2VTY3Jv
bGxCeSh4LCB5KTsKLX0KLQogdm9pZCBFdmVudFNlbmRlclByb3h5OjpsZWFwRm9yd2FyZChpbnQg
bWlsbGlzZWNvbmRzKQogewogICAgIGlmIChtX2V2ZW50UXVldWUuaXNFbXB0eSgpKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvRXZlbnRTZW5kZXJQcm94eS5tbSBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL0V2ZW50U2VuZGVyUHJveHkubW0KaW5kZXggMzc2YTU4
MTg0ZWQ5YjllMDczMTMyZTJhMWNjYzk5ZWYyMDQxZTNmMC4uNDI4YjIxMDM4ZjNmN2Q4N2UyMjU0
Njc1NzBmMGM5NGJmMDIxNzVhNSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9t
YWMvRXZlbnRTZW5kZXJQcm94eS5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9F
dmVudFNlbmRlclByb3h5Lm1tCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMSwgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChD
KSAyMDExIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKQEAgLTQ2MSwyNSArNDYxLDQgQEAgdm9pZCBFdmVudFNlbmRlclByb3h5
Ojpjb250aW51b3VzTW91c2VTY3JvbGxCeShpbnQgeCwgaW50IHksIGJvb2wgcGFnZWQpCiAgICAg
cmV0dXJuOwogfQogCi12b2lkIEV2ZW50U2VuZGVyUHJveHk6Om1vdXNlU2Nyb2xsQnlXaXRoV2hl
ZWxBbmRNb21lbnR1bVBoYXNlcyhpbnQgeCwgaW50IHksIGludCBwaGFzZSwgaW50IG1vbWVudHVt
KQotewotICAgIFJldGFpblB0cjxDR0V2ZW50UmVmPiBjZ1Njcm9sbEV2ZW50ID0gYWRvcHRDRihD
R0V2ZW50Q3JlYXRlU2Nyb2xsV2hlZWxFdmVudCgwLCBrQ0dTY3JvbGxFdmVudFVuaXRMaW5lLCAy
LCB5LCB4KSk7Ci0KLSAgICAvLyBDR0V2ZW50IGxvY2F0aW9ucyBhcmUgaW4gZ2xvYmFsIGRpc3Bs
YXkgY29vcmRpbmF0ZXMuCi0gICAgQ0dQb2ludCBsYXN0R2xvYmFsTW91c2VQb3NpdGlvbiA9IENH
UG9pbnRNYWtlKG1fcG9zaXRpb24ueCwgW1tOU1NjcmVlbiBtYWluU2NyZWVuXSBmcmFtZV0uc2l6
ZS5oZWlnaHQgLSBtX3Bvc2l0aW9uLnkpOwotICAgIENHRXZlbnRTZXRMb2NhdGlvbihjZ1Njcm9s
bEV2ZW50LmdldCgpLCBsYXN0R2xvYmFsTW91c2VQb3NpdGlvbik7Ci0KLSAgICBDR0V2ZW50U2V0
SW50ZWdlclZhbHVlRmllbGQoY2dTY3JvbGxFdmVudC5nZXQoKSwga0NHU2Nyb2xsV2hlZWxFdmVu
dFNjcm9sbFBoYXNlLCBwaGFzZSk7Ci0gICAgQ0dFdmVudFNldEludGVnZXJWYWx1ZUZpZWxkKGNn
U2Nyb2xsRXZlbnQuZ2V0KCksIGtDR1Njcm9sbFdoZWVsRXZlbnRNb21lbnR1bVBoYXNlLCBtb21l
bnR1bSk7Ci0KLSAgICBOU0V2ZW50KiBldmVudCA9IFtOU0V2ZW50IGV2ZW50V2l0aENHRXZlbnQ6
IGNnU2Nyb2xsRXZlbnQuZ2V0KCldOwotCi0gICAgLy8gT3VyIGV2ZW50IHNob3VsZCBoYXZlIHRo
ZSBjb3JyZWN0IHNldHRpbmdzOgotICAgIGlmIChOU1ZpZXcgKnRhcmdldFZpZXcgPSBbbV90ZXN0
Q29udHJvbGxlci0+bWFpbldlYlZpZXcoKS0+cGxhdGZvcm1WaWV3KCkgaGl0VGVzdDogW2V2ZW50
IGxvY2F0aW9uSW5XaW5kb3ddXSkgewotICAgICAgICBbTlNBcHAgX3NldEN1cnJlbnRFdmVudDog
ZXZlbnRdOwotICAgICAgICBbdGFyZ2V0VmlldyBzY3JvbGxXaGVlbDogZXZlbnRdOwotICAgICAg
ICBbTlNBcHAgX3NldEN1cnJlbnRFdmVudDogbmlsXTsKLSAgICB9Ci19Ci0KIH0gLy8gbmFtZXNw
YWNlIFdUUgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDc4OWMzYzA3ZTRjY2Q0Mjg5NzFiZjFiYWVkYzE3ZWFlMGUzZTJhNTku
LmY2MzQ3MjRjZDIxZWY4NDU0ODRhYjlkYWVmYTQ0Y2U5YjE2YzhmYmMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSw0OSBAQAorMjAxNC0wMi0xMyAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE2NDA3MyBhbmQgcjE2NDA4
MC4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTY0MDczCisgICAg
ICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzE2NDA4MAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4NzgxCisKKyAgICAgICAgQnJv
a2UgTWFjIGJ1aWxkcyAoUmVxdWVzdGVkIGJ5IHJuaXdhIG9uICN3ZWJraXQpLgorCisgICAgICAg
ICogcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2Zhc3Qtc2Nyb2xsLWRpdi1sYXRjaGVk
LWRpdi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi90
aWxlZC1kcmF3aW5nL2Zhc3Qtc2Nyb2xsLWRpdi1sYXRjaGVkLWRpdi13aXRoLWhhbmRsZXItZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJh
d2luZy9mYXN0LXNjcm9sbC1kaXYtbGF0Y2hlZC1kaXYtd2l0aC1oYW5kbGVyLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2Zhc3Qtc2Nyb2xs
LWRpdi1sYXRjaGVkLWRpdi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy13
azIvdGlsZWQtZHJhd2luZy9mYXN0LXNjcm9sbC1kaXYtbGF0Y2hlZC1tYWluZnJhbWUtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2lu
Zy9mYXN0LXNjcm9sbC1kaXYtbGF0Y2hlZC1tYWluZnJhbWUtd2l0aC1oYW5kbGVyLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcv
ZmFzdC1zY3JvbGwtZGl2LWxhdGNoZWQtbWFpbmZyYW1lLXdpdGgtaGFuZGxlci5odG1sOiBSZW1v
dmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9mYXN0LXNjcm9s
bC1kaXYtbGF0Y2hlZC1tYWluZnJhbWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZmFzdC1zY3JvbGwtaWZyYW1lLWxhdGNoZWQtaWZyYW1l
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVk
LWRyYXdpbmcvZmFzdC1zY3JvbGwtaWZyYW1lLWxhdGNoZWQtaWZyYW1lLXdpdGgtaGFuZGxlci1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1k
cmF3aW5nL2Zhc3Qtc2Nyb2xsLWlmcmFtZS1sYXRjaGVkLWlmcmFtZS13aXRoLWhhbmRsZXIuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZmFz
dC1zY3JvbGwtaWZyYW1lLWxhdGNoZWQtaWZyYW1lLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICog
cGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2Zhc3Qtc2Nyb2xsLWlmcmFtZS1sYXRjaGVk
LW1haW5mcmFtZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFj
LXdrMi90aWxlZC1kcmF3aW5nL2Zhc3Qtc2Nyb2xsLWlmcmFtZS1sYXRjaGVkLW1haW5mcmFtZS13
aXRoLWhhbmRsZXItZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy13azIvdGlsZWQtZHJhd2luZy9mYXN0LXNjcm9sbC1pZnJhbWUtbGF0Y2hlZC1tYWluZnJhbWUt
d2l0aC1oYW5kbGVyLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi90
aWxlZC1kcmF3aW5nL2Zhc3Qtc2Nyb2xsLWlmcmFtZS1sYXRjaGVkLW1haW5mcmFtZS5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9mYXN0LXNj
cm9sbC1zZWxlY3QtbGF0Y2hlZC1tYWluZnJhbWUtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9mYXN0LXNjcm9sbC1zZWxlY3Qt
bGF0Y2hlZC1tYWluZnJhbWUtd2l0aC1oYW5kbGVyLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZmFzdC1zY3JvbGwtc2VsZWN0
LWxhdGNoZWQtbWFpbmZyYW1lLXdpdGgtaGFuZGxlci5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9mYXN0LXNjcm9sbC1zZWxlY3QtbGF0Y2hl
ZC1tYWluZnJhbWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL3Rp
bGVkLWRyYXdpbmcvZmFzdC1zY3JvbGwtc2VsZWN0LWxhdGNoZWQtc2VsZWN0LWV4cGVjdGVkLnR4
dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZmFz
dC1zY3JvbGwtc2VsZWN0LWxhdGNoZWQtc2VsZWN0LXdpdGgtaGFuZGxlci1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2Zhc3Qt
c2Nyb2xsLXNlbGVjdC1sYXRjaGVkLXNlbGVjdC13aXRoLWhhbmRsZXIuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZmFzdC1zY3JvbGwtc2Vs
ZWN0LWxhdGNoZWQtc2VsZWN0Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFj
L2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1kaXYtbGF0Y2hlZC1kaXYtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3Njcm9sbGluZy9zY3JvbGwtZGl2LWxh
dGNoZWQtZGl2Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvc2Ny
b2xsaW5nL3Njcm9sbC1kaXYtbGF0Y2hlZC1tYWluZnJhbWUtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3Njcm9sbGluZy9zY3JvbGwtZGl2LWxhdGNo
ZWQtbWFpbmZyYW1lLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qv
c2Nyb2xsaW5nL3Njcm9sbC1pZnJhbWUtbGF0Y2hlZC1pZnJhbWUtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3Njcm9sbGluZy9zY3JvbGwtaWZyYW1l
LWxhdGNoZWQtaWZyYW1lLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zh
c3Qvc2Nyb2xsaW5nL3Njcm9sbC1pZnJhbWUtbGF0Y2hlZC1tYWluZnJhbWUtZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3Njcm9sbGluZy9zY3JvbGwt
aWZyYW1lLWxhdGNoZWQtbWFpbmZyYW1lLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZv
cm0vbWFjL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1zZWxlY3QtbGF0Y2hlZC1tYWluZnJhbWUtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3Njcm9sbGlu
Zy9zY3JvbGwtc2VsZWN0LWxhdGNoZWQtbWFpbmZyYW1lLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vbWFjL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1zZWxlY3QtbGF0Y2hlZC1zZWxl
Y3QtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3Nj
cm9sbGluZy9zY3JvbGwtc2VsZWN0LWxhdGNoZWQtc2VsZWN0Lmh0bWw6IFJlbW92ZWQuCisKIDIw
MTQtMDItMTMgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAg
ICAgICB0ZXh0LWRlY29yYXRpb24tc2tpcDogaW5rIHNraXBzIHJhbmRvbWx5IHdoZW4gdXNpbmcg
U1ZHIGZvbnRzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVk
LWRyYXdpbmcvZmFzdC1zY3JvbGwtZGl2LWxhdGNoZWQtZGl2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9mYXN0LXNjcm9sbC1kaXYtbGF0
Y2hlZC1kaXYtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyODcx
ZjY0YTNiNzQ2NDQ2NTQyYWQ4MGNiYjhhOWEwZDAwMDRhODViLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
dGlsZWQtZHJhd2luZy9mYXN0LXNjcm9sbC1kaXYtbGF0Y2hlZC1kaXYtZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsNzYgKzAsMCBAQAotUHV0IG1vdXNlIGhlcmUgYW5kIGZsaWNrIGRv
d253YXJkcwotU2Nyb2xsYWJsZSBSZWdpb24KLQotQ291bnQJREFUQQlSZXYgQ291bnQKLVRPUCBU
T1AgVE9QIFRPUCBUT1AJVE9QIFRPUCBUT1AgVE9QIFRPUAlUT1AgVE9QIFRPUCBUT1AgVE9QCi0x
CTAuMTEwMAk0MAotMgkwLjExNTUJMzkKLTMJMC4yMjAwCTM4Ci00CTAuMjI1NQkzNwotNQkwLjMz
MDAJMzYKLTYJMC4zMzU1CTM1Ci03CTAuNDQwMAkzNAotOAkwLjQ0NTUJMzMKLTkJMC41NTAwCTMy
Ci0xMAkwLjU1NTUJMzEKLTExCTAuNjYwMAkzMAotMTIJMC42NjU1CTI5Ci0xMwkwLjc3MDAJMjgK
LTE0CTAuNzc1NQkyNwotMTUJMC44ODAwCTI2Ci0xNgkwLjg4NTUJMjUKLTE3CTAuOTkwMAkyNAot
MTgJMC45OTU1CTIzCi0xOQkwLjk5OTkJMjIKLTIwCTEuMDAwMAkyMQotMjEJMS4wMDAwCTIwCi0y
MgkwLjk5OTkJMTkKLTIzCTAuOTk1NQkxOAotMjQJMC45OTAwCTE3Ci0yNQkwLjg4NTUJMTYKLTI2
CTAuODgwMAkxNQotMjcJMC43NzU1CTE0Ci0yOAkwLjc3MDAJMTMKLTI5CTAuNjY1NQkxMgotMzAJ
MC42NjAwCTExCi0zMQkwLjU1NTUJMTAKLTMyCTAuNTUwMAk5Ci0zMwkwLjQ0NTUJOAotMzQJMC40
NDAwCTcKLTM1CTAuMzM1NQk2Ci0zNgkwLjMzMDAJNQotMzcJMC4yMjU1CTQKLTM4CTAuMjIwMAkz
Ci0zOQkwLjExNTUJMgotNDAJMC4xMTAwCTEKLUVORCBFTkQgRU5EIEVORCBFTkQJRU5EIEVORCBF
TkQgRU5EIEVORAlFTkQgRU5EIEVORCBFTkQgRU5ECi1UZXN0cyB0aGF0IGEgc2Nyb2xsYWJsZSBk
aXYgZG9lc24ndCBwYXNzIHdoZWVsIGV2ZW50cyB0byBtYWluIGZyYW1lIHdoZW4gc2Nyb2xsaW5n
IGF0IGJvdHRvbQotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi1kaXYgZGlzcGxheSBoZWlnaHQg
PSA0ODUKLU1vdXNlIG1vdmVkIHRvICgyOCwgNjEwKQotUGFnZSBiZWZvcmU6IDAsIGRpdiBiZWZv
cmU6IDQ1MQotUGFnZSBhZnRlcjogIDAsIGRpdiBhZnRlcjogNDUxCi1QQVNTIFBhZ2UgZGlkIG5v
dCByZWNlaXZlIHdoZWVsIGV2ZW50cy4KLShHcmFwaGljc0xheWVyCi0gIChib3VuZHMgMjAwOC4w
MCAyMzI2LjAwKQotICAodmlzaWJsZSByZWN0IDAuMDAsIDAuMDAgNzg1LjAwIHggNTg1LjAwKQot
ICAoY29udGVudHNTY2FsZSAxLjAwKQotICAoY2hpbGRyZW4gMQotICAgIChHcmFwaGljc0xheWVy
Ci0gICAgICAoYm91bmRzIDIwMDguMDAgMjMyNi4wMCkKLSAgICAgIChjb250ZW50c09wYXF1ZSAx
KQotICAgICAgKHZpc2libGUgcmVjdCAwLjAwLCAwLjAwIDc4NS4wMCB4IDU4NS4wMCkKLSAgICAg
IChjb250ZW50c1NjYWxlIDEuMDApCi0gICAgICAodGlsZSBjYWNoZSBjb3ZlcmFnZSAwLCAwIDIw
MDggeCAyMDQ4KQotICAgICAgKHRpbGUgc2l6ZSA1MTIgeCA1MTIpCi0gICAgICAodG9wIGxlZnQg
dGlsZSAwLCAwIHRpbGVzIGdyaWQgNCB4IDQpCi0gICAgKQotICApCi0pCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9mYXN0LXNjcm9sbC1k
aXYtbGF0Y2hlZC1kaXYtd2l0aC1oYW5kbGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9mYXN0LXNjcm9sbC1kaXYtbGF0Y2hlZC1kaXYt
d2l0aC1oYW5kbGVyLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YmIxYTBmOGI1ZTBlY2M4NTE5NmQ0YzJlMjE3NGVjNzczNWYxM2U3My4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
d2syL3RpbGVkLWRyYXdpbmcvZmFzdC1zY3JvbGwtZGl2LWxhdGNoZWQtZGl2LXdpdGgtaGFuZGxl
ci1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw3NyArMCwwIEBACi1QdXQgbW91c2Ug
aGVyZSBhbmQgZmxpY2sgZG93bndhcmRzCi1TY3JvbGxhYmxlIFJlZ2lvbgotCi1Db3VudAlEQVRB
CVJldiBDb3VudAotVE9QIFRPUCBUT1AgVE9QIFRPUAlUT1AgVE9QIFRPUCBUT1AgVE9QCVRPUCBU
T1AgVE9QIFRPUCBUT1AKLTEJMC4xMTAwCTQwCi0yCTAuMTE1NQkzOQotMwkwLjIyMDAJMzgKLTQJ
MC4yMjU1CTM3Ci01CTAuMzMwMAkzNgotNgkwLjMzNTUJMzUKLTcJMC40NDAwCTM0Ci04CTAuNDQ1
NQkzMwotOQkwLjU1MDAJMzIKLTEwCTAuNTU1NQkzMQotMTEJMC42NjAwCTMwCi0xMgkwLjY2NTUJ
MjkKLTEzCTAuNzcwMAkyOAotMTQJMC43NzU1CTI3Ci0xNQkwLjg4MDAJMjYKLTE2CTAuODg1NQky
NQotMTcJMC45OTAwCTI0Ci0xOAkwLjk5NTUJMjMKLTE5CTAuOTk5OQkyMgotMjAJMS4wMDAwCTIx
Ci0yMQkxLjAwMDAJMjAKLTIyCTAuOTk5OQkxOQotMjMJMC45OTU1CTE4Ci0yNAkwLjk5MDAJMTcK
LTI1CTAuODg1NQkxNgotMjYJMC44ODAwCTE1Ci0yNwkwLjc3NTUJMTQKLTI4CTAuNzcwMAkxMwot
MjkJMC42NjU1CTEyCi0zMAkwLjY2MDAJMTEKLTMxCTAuNTU1NQkxMAotMzIJMC41NTAwCTkKLTMz
CTAuNDQ1NQk4Ci0zNAkwLjQ0MDAJNwotMzUJMC4zMzU1CTYKLTM2CTAuMzMwMAk1Ci0zNwkwLjIy
NTUJNAotMzgJMC4yMjAwCTMKLTM5CTAuMTE1NQkyCi00MAkwLjExMDAJMQotRU5EIEVORCBFTkQg
RU5EIEVORAlFTkQgRU5EIEVORCBFTkQgRU5ECUVORCBFTkQgRU5EIEVORCBFTkQKLVRlc3RzIHRo
YXQgYSBzY3JvbGxhYmxlIGRpdiBkb2Vzbid0IHBhc3Mgd2hlZWwgZXZlbnRzIHRvIG1haW4gZnJh
bWUgd2hlbiBzY3JvbGxpbmcgYXQgYm90dG9tCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
LQotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLWRp
diBkaXNwbGF5IGhlaWdodCA9IDQ4NQotTW91c2UgbW92ZWQgdG8gKDI4LCA2MTApCi1QYWdlIGJl
Zm9yZTogMCwgZGl2IGJlZm9yZTogNDUxCi1QYWdlIGFmdGVyOiAgMCwgZGl2IGFmdGVyOiA0NTEK
LVBBU1MgUGFnZSBkaWQgbm90IHJlY2VpdmUgd2hlZWwgZXZlbnRzLgotRG9jdW1lbnQgd2FzIGlu
aXRpYWwgdGFyZ2V0IGZvciAwIG9mIHRoZSB3aGVlbCBldmVudHMuCi0oR3JhcGhpY3NMYXllcgot
ICAoYm91bmRzIDIwMDguMDAgMjM0MS4wMCkKLSAgKHZpc2libGUgcmVjdCAwLjAwLCAwLjAwIDc4
NS4wMCB4IDU4NS4wMCkKLSAgKGNvbnRlbnRzU2NhbGUgMS4wMCkKLSAgKGNoaWxkcmVuIDEKLSAg
ICAoR3JhcGhpY3NMYXllcgotICAgICAgKGJvdW5kcyAyMDA4LjAwIDIzNDEuMDApCi0gICAgICAo
Y29udGVudHNPcGFxdWUgMSkKLSAgICAgICh2aXNpYmxlIHJlY3QgMC4wMCwgMC4wMCA3ODUuMDAg
eCA1ODUuMDApCi0gICAgICAoY29udGVudHNTY2FsZSAxLjAwKQotICAgICAgKHRpbGUgY2FjaGUg
Y292ZXJhZ2UgMCwgMCAyMDA4IHggMjA0OCkKLSAgICAgICh0aWxlIHNpemUgNTEyIHggNTEyKQot
ICAgICAgKHRvcCBsZWZ0IHRpbGUgMCwgMCB0aWxlcyBncmlkIDQgeCA0KQotICAgICkKLSAgKQot
KQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdp
bmcvZmFzdC1zY3JvbGwtZGl2LWxhdGNoZWQtZGl2LXdpdGgtaGFuZGxlci5odG1sIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2Zhc3Qtc2Nyb2xsLWRpdi1sYXRj
aGVkLWRpdi13aXRoLWhhbmRsZXIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDBiYWY4OTkyMDkwNGRjODRiM2NhNmZhNzUyMGY4MjJkYzM4YWNjMC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
d2syL3RpbGVkLWRyYXdpbmcvZmFzdC1zY3JvbGwtZGl2LWxhdGNoZWQtZGl2LXdpdGgtaGFuZGxl
ci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTgyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08aGVhZD4KLTxzdHlsZT4KLS5zY3JvbGxhYmxlX3JlZ2lvbiB7Ci0gICAgd2lkdGg6
IDY4MHB4OwotfQotCi0udGFibGUgdGQsIC50YWJsZSB0aCB7Ci0gICAgcGFkZGluZzogMnB4Owot
fQotCi0udGFibGUgdGggewotICAgIGhlaWdodDogMjBweDsKLSAgICB0ZXh0LWFsaWduOiBsZWZ0
OwotICAgIGZvbnQtd2VpZ2h0OiBzdHJvbmc7Ci19Ci0KLS50YWJsZSB0cjpudGgtY2hpbGQob2Rk
KSB7Ci0gICAgYmFja2dyb3VuZDogI2YzZjNmMzsKLX0KLQotLnNjcm9sbGFibGVfc2VsZWN0IG9w
dGlvbjpudGgtY2hpbGQob2RkKSB7Ci0gICAgYmFja2dyb3VuZDogI2YzZjNmMzsKLX0KLQotPC9z
dHlsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgotPHNjcmlwdD4KLXZhciB3aGVlbENvdW50ID0gMDsKLWZ1bmN0aW9uIG9uU2Nyb2xs
V2hlZWwoZXZ0KSB7Ci0gICAgd2hlZWxDb3VudCA9IHdoZWVsQ291bnQgKyAxOwotfQotCi1mdW5j
dGlvbiBvbkxvYWQoKSB7Ci0gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V3aGVl
bCIsIG9uU2Nyb2xsV2hlZWwpOwotICAgIHNldHVwVG9wTGV2ZWwoKTsKLX0KLTwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHkgb25sb2FkPSJvbkxvYWQoKTsiPgotPHNjcmlwdD4KLQotdmFyIGRpdlRh
cmdldDsKLXZhciBwYWdlU2Nyb2xsUG9zaXRpb25CZWZvcmU7Ci12YXIgZGl2U2Nyb2xsUG9zaXRp
b25CZWZvcmU7Ci12YXIgY29udGludWVDb3VudCA9IDU7Ci0KLWZ1bmN0aW9uIGNoZWNrRm9yU2Ny
b2xsKCkgewotCi0gICAgLy8gVGhlIGRpdiBzaG91bGQgbm90IGhhdmUgc2Nyb2xsZWQgYXQgYWxs
LgotICAgIHZhciBwYWdlU2Nyb2xsUG9zaXRpb25BZnRlciA9IGRvY3VtZW50LmJvZHkuc2Nyb2xs
VG9wOwotICAgIHZhciBkaXZTY3JvbGxQb3NpdGlvbkFmdGVyID0gZGl2VGFyZ2V0LnNjcm9sbFRv
cDsKLQotICAgIGRlYnVnKCJQYWdlIGJlZm9yZTogIiArIHBhZ2VTY3JvbGxQb3NpdGlvbkJlZm9y
ZSArICIsIGRpdiBiZWZvcmU6ICIgKyBkaXZTY3JvbGxQb3NpdGlvbkJlZm9yZSk7Ci0gICAgZGVi
dWcoIlBhZ2UgYWZ0ZXI6ICAiICsgcGFnZVNjcm9sbFBvc2l0aW9uQWZ0ZXIgKyAiLCBkaXYgYWZ0
ZXI6ICIgKyBkaXZTY3JvbGxQb3NpdGlvbkFmdGVyKTsKLQotICAgIGlmIChwYWdlU2Nyb2xsUG9z
aXRpb25CZWZvcmUgIT0gcGFnZVNjcm9sbFBvc2l0aW9uQWZ0ZXIpCi0gICAgICAgIHRlc3RGYWls
ZWQoIlBhZ2UgcmVjZWl2ZWQgd2hlZWwgZXZlbnRzLiIpOwotICAgIGVsc2UKLSAgICAgICAgdGVz
dFBhc3NlZCgiUGFnZSBkaWQgbm90IHJlY2VpdmUgd2hlZWwgZXZlbnRzLiIpOwotCi0gICAgZGVi
dWcoIkRvY3VtZW50IHdhcyBpbml0aWFsIHRhcmdldCBmb3IgIiArIHdoZWVsQ291bnQgKyAiIG9m
IHRoZSB3aGVlbCBldmVudHMuIik7Ci0KLSAgICBpZiAod2luZG93LmludGVybmFscykgewotICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJUZXh0ID0gaW50ZXJu
YWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCwKLSAgICAgICAgICAgIGludGVybmFscy5MQVlF
Ul9UUkVFX0lOQ0xVREVTX1ZJU0lCTEVfUkVDVFMgfCBpbnRlcm5hbHMuTEFZRVJfVFJFRV9JTkNM
VURFU19USUxFX0NBQ0hFUyk7Ci0gICAgfQotCi0gICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
Ci19Ci0KLWZ1bmN0aW9uIHNjcm9sbFRlc3QoKSB7Ci0gICAgLy8gU2VlIHdoZXJlIG91ciBJRnJh
bWUgbGl2ZXM6Ci0gICAgcGFnZVNjcm9sbFBvc2l0aW9uQmVmb3JlID0gZG9jdW1lbnQuYm9keS5z
Y3JvbGxUb3A7Ci0KLSAgICBkaXZUYXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFy
Z2V0Jyk7Ci0gICAgZGl2VGFyZ2V0LnNjcm9sbFRvcCA9IGRpdlRhcmdldC5zY3JvbGxIZWlnaHQg
LSBkaXZUYXJnZXQuY2xpZW50SGVpZ2h0IC0gMTAwOwotCi0gICAgZGl2U2Nyb2xsUG9zaXRpb25C
ZWZvcmUgPSBkaXZUYXJnZXQuc2Nyb2xsVG9wOwotCi0gICAgLy8gU2Nyb2xsIHRoZSAjc291cmNl
IHVudGlsIHdlIHJlYWNoIHRoZSAjdGFyZ2V0LgotICAgIHZhciBzdGFydFBvc1ggPSBkaXZUYXJn
ZXQub2Zmc2V0TGVmdCArIDIwOwotICAgIGRlYnVnKCJkaXYgZGlzcGxheSBoZWlnaHQgPSAiICsg
ZGl2VGFyZ2V0LmNsaWVudEhlaWdodCk7Ci0gICAgdmFyIHN0YXJ0UG9zWSA9IGRpdlRhcmdldC5v
ZmZzZXRUb3AgKyBkaXZUYXJnZXQuY2xpZW50SGVpZ2h0IC0gNDI7IC8vIE9uZSB3aGVlbCB0dXJu
IGJlZm9yZSBlbmQuCi0gICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oc3RhcnRQb3NYLCBzdGFy
dFBvc1kpOyAvLyBNYWtlIHN1cmUgd2UgYXJlIGp1c3Qgb3V0c2lkZSB0aGUgaUZyYW1lCi0gICAg
ZGVidWcoIk1vdXNlIG1vdmVkIHRvICgiICsgc3RhcnRQb3NYICsgIiwgIiArIHN0YXJ0UG9zWSAr
ICIpIik7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVt
UGhhc2VzKDAsIC0xLCAnYmVnYW4nLCAnbm9uZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1v
dXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ2NoYW5nZWQnLCAn
bm9uZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRN
b21lbnR1bVBoYXNlcygwLCAtMSwgJ2NoYW5nZWQnLCAnbm9uZScsIHRydWUpOwotICAgIGV2ZW50
U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAwLCAnZW5k
ZWQnLCAnbm9uZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hl
ZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnYmVnaW4nLCB0cnVlKTsKLSAgICBl
dmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEs
ICdub25lJywgJ2NvbnRpbnVlJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxC
eVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdjb250aW51ZScsIHRy
dWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBo
YXNlcygwLCAtMSwgJ25vbmUnLCAnY29udGludWUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5t
b3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdub25lJywgJ2Nv
bnRpbnVlJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFu
ZE1vbWVudHVtUGhhc2VzKDAsIDAsICdub25lJywgJ2VuZCcsIHRydWUpOwotICAgIHNldFRpbWVv
dXQoY2hlY2tGb3JTY3JvbGwsIDEwMCk7Ci19Ci0KLWZ1bmN0aW9uIHNldHVwVG9wTGV2ZWwoKSB7
Ci0KLSAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCh0cnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0KLSAg
ICAgICAgc2V0VGltZW91dChzY3JvbGxUZXN0LCAxMDAwKTsKLSAgICB9IGVsc2UgewotICAgICAg
ICB2YXIgbWVzc2FnZUxvY2F0aW9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhcmVudCcp
OwotICAgICAgICB2YXIgbWVzc2FnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwot
ICAgICAgICBtZXNzYWdlLmlubmVySFRNTCA9ICI8cD5UaGlzIHRlc3QgaXMgYmV0dGVyIHJ1biB1
bmRlciBEdW1wUmVuZGVyVHJlZS4gVG8gbWFudWFsbHkgdGVzdCBpdCwgcGxhY2UgdGhlIG1vdXNl
IHBvaW50ZXI8YnIvPiIKLSAgICAgICAgICAgICsgImF0IHRoZSB0b3Agb2YgdGhlIHBhZ2UsIGFu
ZCB0aGVuIHVzZSB0aGUgbW91c2Ugd2hlZWwgb3IgYSB0d28tZmluZ2VyIHN3aXBlIHRvIHNjcm9s
bCB0aGU8YnIvPiIKLSAgICAgICAgICAgICsgImRvd24gcGFzdCB0aGUgZGl2Ljxici8+PGJyLz4i
Ci0gICAgICAgICAgICArICJZb3Ugc2hvdWxkIG5vdCBzZWUgdGhlIHJvdyBvZiBFTkQgbGFiZWxz
IGlmIHRoaXMgdGVzdCBpcyBzdWNjZXNzZnVsLjwvcD4iOwotICAgICAgICBtZXNzYWdlTG9jYXRp
b24uYXBwZW5kQ2hpbGQobWVzc2FnZSk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTxkaXYgaWQ9
InBhcmVudCIgc3R5bGU9ImhlaWdodDogMjAwMHB4OyB3aWR0aDogMjAwMHB4OyI+Ci0gICAgPGRp
diBpZD0ic291cmNlIiBzdHlsZT0iaGVpZ2h0OiAxMDBweDsgd2lkdGg6IDUwMHB4OyI+Ci0gICAg
ICAgIFB1dCBtb3VzZSBoZXJlIGFuZCBmbGljayBkb3dud2FyZHMKLSAgICA8L2Rpdj4KLSAgICA8
ZGl2IGNsYXNzPSJzY3JvbGxhYmxlX3JlZ2lvbiI+Ci0gICAgICAgIDxoMz5TY3JvbGxhYmxlIFJl
Z2lvbjwvaDM+Ci0gICAgICAgIDxkaXYgaWQ9InRhcmdldCIgc3R5bGU9J292ZXJmbG93LXk6IGF1
dG87IG92ZXJmbG93LXg6IGhpZGRlbjsgbWF4LWhlaWdodDogNDg1cHg7Jz4KLSAgICAgICAgICAg
IDx0YWJsZSBjbGFzcz0idGFibGUiIHN0eWxlPSd3aWR0aDogOTklJz4KLSAgICAgICAgICAgICAg
ICA8dHI+PHRoPkNvdW50PC90aD48dGg+REFUQTwvdGg+PHRoPlJldiBDb3VudDwvdGg+PC90cj4K
LSAgICAgICAgICAgICAgICA8dHI+PHRkPlRPUCBUT1AgVE9QIFRPUCBUT1A8L3RkPjx0ZD5UT1Ag
VE9QIFRPUCBUT1AgVE9QPC90ZD48dGQ+VE9QIFRPUCBUT1AgVE9QIFRPUDwvdGQ+PC90cj4KLSAg
ICAgICAgICAgICAgICA8dHI+PHRkPjE8L3RkPjx0ZD4wLjExMDA8L3RkPjx0ZD40MDwvdGQ+PC90
cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjI8L3RkPjx0ZD4wLjExNTU8L3RkPjx0ZD4zOTwv
dGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjM8L3RkPjx0ZD4wLjIyMDA8L3RkPjx0
ZD4zODwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjQ8L3RkPjx0ZD4wLjIyNTU8
L3RkPjx0ZD4zNzwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjU8L3RkPjx0ZD4w
LjMzMDA8L3RkPjx0ZD4zNjwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjY8L3Rk
Pjx0ZD4wLjMzNTU8L3RkPjx0ZD4zNTwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRk
Pjc8L3RkPjx0ZD4wLjQ0MDA8L3RkPjx0ZD4zNDwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8
dHI+PHRkPjg8L3RkPjx0ZD4wLjQ0NTU8L3RkPjx0ZD4zMzwvdGQ+PC90cj4KLSAgICAgICAgICAg
ICAgICA8dHI+PHRkPjk8L3RkPjx0ZD4wLjU1MDA8L3RkPjx0ZD4zMjwvdGQ+PC90cj4KLSAgICAg
ICAgICAgICAgICA8dHI+PHRkPjEwPC90ZD48dGQ+MC41NTU1PC90ZD48dGQ+MzE8L3RkPjwvdHI+
Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4xMTwvdGQ+PHRkPjAuNjYwMDwvdGQ+PHRkPjMwPC90
ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MTI8L3RkPjx0ZD4wLjY2NTU8L3RkPjx0
ZD4yOTwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjEzPC90ZD48dGQ+MC43NzAw
PC90ZD48dGQ+Mjg8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4xNDwvdGQ+PHRk
PjAuNzc1NTwvdGQ+PHRkPjI3PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MTU8
L3RkPjx0ZD4wLjg4MDA8L3RkPjx0ZD4yNjwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+
PHRkPjE2PC90ZD48dGQ+MC44ODU1PC90ZD48dGQ+MjU8L3RkPjwvdHI+Ci0gICAgICAgICAgICAg
ICAgPHRyPjx0ZD4xNzwvdGQ+PHRkPjAuOTkwMDwvdGQ+PHRkPjI0PC90ZD48L3RyPgotICAgICAg
ICAgICAgICAgIDx0cj48dGQ+MTg8L3RkPjx0ZD4wLjk5NTU8L3RkPjx0ZD4yMzwvdGQ+PC90cj4K
LSAgICAgICAgICAgICAgICA8dHI+PHRkPjE5PC90ZD48dGQ+MC45OTk5PC90ZD48dGQ+MjI8L3Rk
PjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4yMDwvdGQ+PHRkPjEuMDAwMDwvdGQ+PHRk
PjIxPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MjE8L3RkPjx0ZD4xLjAwMDA8
L3RkPjx0ZD4yMDwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjIyPC90ZD48dGQ+
MC45OTk5PC90ZD48dGQ+MTk8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4yMzwv
dGQ+PHRkPjAuOTk1NTwvdGQ+PHRkPjE4PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48
dGQ+MjQ8L3RkPjx0ZD4wLjk5MDA8L3RkPjx0ZD4xNzwvdGQ+PC90cj4KLSAgICAgICAgICAgICAg
ICA8dHI+PHRkPjI1PC90ZD48dGQ+MC44ODU1PC90ZD48dGQ+MTY8L3RkPjwvdHI+Ci0gICAgICAg
ICAgICAgICAgPHRyPjx0ZD4yNjwvdGQ+PHRkPjAuODgwMDwvdGQ+PHRkPjE1PC90ZD48L3RyPgot
ICAgICAgICAgICAgICAgIDx0cj48dGQ+Mjc8L3RkPjx0ZD4wLjc3NTU8L3RkPjx0ZD4xNDwvdGQ+
PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjI4PC90ZD48dGQ+MC43NzAwPC90ZD48dGQ+
MTM8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4yOTwvdGQ+PHRkPjAuNjY1NTwv
dGQ+PHRkPjEyPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MzA8L3RkPjx0ZD4w
LjY2MDA8L3RkPjx0ZD4xMTwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjMxPC90
ZD48dGQ+MC41NTU1PC90ZD48dGQ+MTA8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0
ZD4zMjwvdGQ+PHRkPjAuNTUwMDwvdGQ+PHRkPjk8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAg
PHRyPjx0ZD4zMzwvdGQ+PHRkPjAuNDQ1NTwvdGQ+PHRkPjg8L3RkPjwvdHI+Ci0gICAgICAgICAg
ICAgICAgPHRyPjx0ZD4zNDwvdGQ+PHRkPjAuNDQwMDwvdGQ+PHRkPjc8L3RkPjwvdHI+Ci0gICAg
ICAgICAgICAgICAgPHRyPjx0ZD4zNTwvdGQ+PHRkPjAuMzM1NTwvdGQ+PHRkPjY8L3RkPjwvdHI+
Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4zNjwvdGQ+PHRkPjAuMzMwMDwvdGQ+PHRkPjU8L3Rk
PjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4zNzwvdGQ+PHRkPjAuMjI1NTwvdGQ+PHRk
PjQ8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4zODwvdGQ+PHRkPjAuMjIwMDwv
dGQ+PHRkPjM8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4zOTwvdGQ+PHRkPjAu
MTE1NTwvdGQ+PHRkPjI8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD40MDwvdGQ+
PHRkPjAuMTEwMDwvdGQ+PHRkPjE8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD5F
TkQgRU5EIEVORCBFTkQgRU5EPC90ZD48dGQ+RU5EIEVORCBFTkQgRU5EIEVORDwvdGQ+PHRkPkVO
RCBFTkQgRU5EIEVORCBFTkQ8L3RkPjwvdHI+Ci0gICAgICAgICAgICA8L3RhYmxlPgotICAgICAg
ICA8L2Rpdj4KLSAgICA8L2Rpdj4KLTwvZGl2PgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08
c2NyaXB0PgotZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYSBzY3JvbGxhYmxlIGRpdiBkb2Vzbid0
IHBhc3Mgd2hlZWwgZXZlbnRzIHRvIG1haW4gZnJhbWUgd2hlbiBzY3JvbGxpbmcgYXQgYm90dG9t
Iik7Ci08L3NjcmlwdD4KLTxwcmUgaWQ9ImxheWVycyI+TGF5ZXIgdHJlZSBnb2VzIGhlcmU8L3A+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2syL3RpbGVkLWRyYXdpbmcvZmFzdC1zY3JvbGwtZGl2LWxhdGNoZWQtZGl2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZmFzdC1zY3JvbGwtZGl2
LWxhdGNoZWQtZGl2Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZmMjNjNzA4
OTA4YTMzZTU5ZDExZTg3NGMzMDIzMzQzN2NjYTM0ZjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxl
ZC1kcmF3aW5nL2Zhc3Qtc2Nyb2xsLWRpdi1sYXRjaGVkLWRpdi5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMTc0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzdHls
ZT4KLS5zY3JvbGxhYmxlX3JlZ2lvbiB7Ci0gICAgd2lkdGg6IDY4MHB4OwotfQotCi0udGFibGUg
dGQsIC50YWJsZSB0aCB7Ci0gICAgcGFkZGluZzogMnB4OwotfQotCi0udGFibGUgdGggewotICAg
IGhlaWdodDogMjBweDsKLSAgICB0ZXh0LWFsaWduOiBsZWZ0OwotICAgIGZvbnQtd2VpZ2h0OiBz
dHJvbmc7Ci19Ci0KLS50YWJsZSB0cjpudGgtY2hpbGQob2RkKSB7Ci0gICAgYmFja2dyb3VuZDog
I2YzZjNmMzsKLX0KLQotLnNjcm9sbGFibGVfc2VsZWN0IG9wdGlvbjpudGgtY2hpbGQob2RkKSB7
Ci0gICAgYmFja2dyb3VuZDogI2YzZjNmMzsKLX0KLQotPC9zdHlsZT4KLTxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1
bmN0aW9uIG9uTG9hZCgpIHsKLSAgICBzZXR1cFRvcExldmVsKCk7Ci19Ci08L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5IG9ubG9hZD0ib25Mb2FkKCk7Ij4KLTxzY3JpcHQ+Ci0KLXZhciBkaXZUYXJn
ZXQ7Ci12YXIgcGFnZVNjcm9sbFBvc2l0aW9uQmVmb3JlOwotdmFyIGRpdlNjcm9sbFBvc2l0aW9u
QmVmb3JlOwotdmFyIGNvbnRpbnVlQ291bnQgPSA1OwotCi1mdW5jdGlvbiBjaGVja0ZvclNjcm9s
bCgpIHsKLQotICAgIC8vIFRoZSBkaXYgc2hvdWxkIG5vdCBoYXZlIHNjcm9sbGVkIGF0IGFsbC4K
LSAgICB2YXIgcGFnZVNjcm9sbFBvc2l0aW9uQWZ0ZXIgPSBkb2N1bWVudC5ib2R5LnNjcm9sbFRv
cDsKLSAgICB2YXIgZGl2U2Nyb2xsUG9zaXRpb25BZnRlciA9IGRpdlRhcmdldC5zY3JvbGxUb3A7
Ci0KLSAgICBkZWJ1ZygiUGFnZSBiZWZvcmU6ICIgKyBwYWdlU2Nyb2xsUG9zaXRpb25CZWZvcmUg
KyAiLCBkaXYgYmVmb3JlOiAiICsgZGl2U2Nyb2xsUG9zaXRpb25CZWZvcmUpOwotICAgIGRlYnVn
KCJQYWdlIGFmdGVyOiAgIiArIHBhZ2VTY3JvbGxQb3NpdGlvbkFmdGVyICsgIiwgZGl2IGFmdGVy
OiAiICsgZGl2U2Nyb2xsUG9zaXRpb25BZnRlcik7Ci0KLSAgICBpZiAocGFnZVNjcm9sbFBvc2l0
aW9uQmVmb3JlICE9IHBhZ2VTY3JvbGxQb3NpdGlvbkFmdGVyKQotICAgICAgICB0ZXN0RmFpbGVk
KCJQYWdlIHJlY2VpdmVkIHdoZWVsIGV2ZW50cy4iKTsKLSAgICBlbHNlCi0gICAgICAgIHRlc3RQ
YXNzZWQoIlBhZ2UgZGlkIG5vdCByZWNlaXZlIHdoZWVsIGV2ZW50cy4iKTsKLQotICAgIGlmICh3
aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXll
cnMnKS5pbm5lclRleHQgPSBpbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50LAotICAg
ICAgICAgICAgaW50ZXJuYWxzLkxBWUVSX1RSRUVfSU5DTFVERVNfVklTSUJMRV9SRUNUUyB8IGlu
dGVybmFscy5MQVlFUl9UUkVFX0lOQ0xVREVTX1RJTEVfQ0FDSEVTKTsKLSAgICB9Ci0KLSAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24gc2Nyb2xsVGVzdCgpIHsKLSAg
ICAvLyBTZWUgd2hlcmUgb3VyIElGcmFtZSBsaXZlczoKLSAgICBwYWdlU2Nyb2xsUG9zaXRpb25C
ZWZvcmUgPSBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDsKLQotICAgIGRpdlRhcmdldCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKTsKLSAgICBkaXZUYXJnZXQuc2Nyb2xsVG9wID0g
ZGl2VGFyZ2V0LnNjcm9sbEhlaWdodCAtIGRpdlRhcmdldC5jbGllbnRIZWlnaHQgLSAxMDA7Ci0K
LSAgICBkaXZTY3JvbGxQb3NpdGlvbkJlZm9yZSA9IGRpdlRhcmdldC5zY3JvbGxUb3A7Ci0KLSAg
ICAvLyBTY3JvbGwgdGhlICNzb3VyY2UgdW50aWwgd2UgcmVhY2ggdGhlICN0YXJnZXQuCi0gICAg
dmFyIHN0YXJ0UG9zWCA9IGRpdlRhcmdldC5vZmZzZXRMZWZ0ICsgMjA7Ci0gICAgZGVidWcoImRp
diBkaXNwbGF5IGhlaWdodCA9ICIgKyBkaXZUYXJnZXQuY2xpZW50SGVpZ2h0KTsKLSAgICB2YXIg
c3RhcnRQb3NZID0gZGl2VGFyZ2V0Lm9mZnNldFRvcCArIGRpdlRhcmdldC5jbGllbnRIZWlnaHQg
LSA0MjsgLy8gT25lIHdoZWVsIHR1cm4gYmVmb3JlIGVuZC4KLSAgICBldmVudFNlbmRlci5tb3Vz
ZU1vdmVUbyhzdGFydFBvc1gsIHN0YXJ0UG9zWSk7IC8vIE1ha2Ugc3VyZSB3ZSBhcmUganVzdCBv
dXRzaWRlIHRoZSBpRnJhbWUKLSAgICBkZWJ1ZygiTW91c2UgbW92ZWQgdG8gKCIgKyBzdGFydFBv
c1ggKyAiLCAiICsgc3RhcnRQb3NZICsgIikiKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9s
bEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdiZWdhbicsICdub25lJywgdHJ1
ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhh
c2VzKDAsIC0xLCAnY2hhbmdlZCcsICdub25lJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91
c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnY2hhbmdlZCcsICdu
b25lJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1v
bWVudHVtUGhhc2VzKDAsIDAsICdlbmRlZCcsICdub25lJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5k
ZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScs
ICdiZWdpbicsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxB
bmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnY29udGludWUnLCB0cnVlKTsKLSAgICBl
dmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEs
ICdub25lJywgJ2NvbnRpbnVlJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxC
eVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdjb250aW51ZScsIHRy
dWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBo
YXNlcygwLCAtMSwgJ25vbmUnLCAnY29udGludWUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5t
b3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgMCwgJ25vbmUnLCAnZW5k
JywgdHJ1ZSk7Ci0gICAgc2V0VGltZW91dChjaGVja0ZvclNjcm9sbCwgMTAwKTsKLX0KLQotZnVu
Y3Rpb24gc2V0dXBUb3BMZXZlbCgpIHsKLQotICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsK
LSAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOwotICAgICAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKLQotICAgICAgICBzZXRUaW1lb3V0KHNjcm9sbFRlc3QsIDEwMDAp
OwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHZhciBtZXNzYWdlTG9jYXRpb24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgncGFyZW50Jyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0gICAgICAgIG1lc3NhZ2UuaW5uZXJIVE1MID0gIjxwPlRo
aXMgdGVzdCBpcyBiZXR0ZXIgcnVuIHVuZGVyIER1bXBSZW5kZXJUcmVlLiBUbyBtYW51YWxseSB0
ZXN0IGl0LCBwbGFjZSB0aGUgbW91c2UgcG9pbnRlcjxici8+IgotICAgICAgICAgICAgKyAiYXQg
dGhlIHRvcCBvZiB0aGUgcGFnZSwgYW5kIHRoZW4gdXNlIHRoZSBtb3VzZSB3aGVlbCBvciBhIHR3
by1maW5nZXIgc3dpcGUgdG8gc2Nyb2xsIHRoZTxici8+IgotICAgICAgICAgICAgKyAiZG93biBw
YXN0IHRoZSBkaXYuPGJyLz48YnIvPiIKLSAgICAgICAgICAgICsgIllvdSBzaG91bGQgbm90IHNl
ZSB0aGUgcm93IG9mIEVORCBsYWJlbHMgaWYgdGhpcyB0ZXN0IGlzIHN1Y2Nlc3NmdWwuPC9wPiI7
Ci0gICAgICAgIG1lc3NhZ2VMb2NhdGlvbi5hcHBlbmRDaGlsZChtZXNzYWdlKTsKLSAgICB9Ci19
Ci0KLTwvc2NyaXB0PgotPGRpdiBpZD0icGFyZW50IiBzdHlsZT0iaGVpZ2h0OiAyMDAwcHg7IHdp
ZHRoOiAyMDAwcHg7Ij4KLSAgICA8ZGl2IGlkPSJzb3VyY2UiIHN0eWxlPSJoZWlnaHQ6IDEwMHB4
OyB3aWR0aDogNTAwcHg7Ij4KLSAgICAgICAgUHV0IG1vdXNlIGhlcmUgYW5kIGZsaWNrIGRvd253
YXJkcwotICAgIDwvZGl2PgotICAgIDxkaXYgY2xhc3M9InNjcm9sbGFibGVfcmVnaW9uIj4KLSAg
ICAgICAgPGgzPlNjcm9sbGFibGUgUmVnaW9uPC9oMz4KLSAgICAgICAgPGRpdiBpZD0idGFyZ2V0
IiBzdHlsZT0nb3ZlcmZsb3cteTogYXV0bzsgb3ZlcmZsb3cteDogaGlkZGVuOyBtYXgtaGVpZ2h0
OiA0ODVweDsnPgotICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSIgc3R5bGU9J3dpZHRo
OiA5OSUnPgotICAgICAgICAgICAgICAgIDx0cj48dGg+Q291bnQ8L3RoPjx0aD5EQVRBPC90aD48
dGg+UmV2IENvdW50PC90aD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+VE9QIFRPUCBU
T1AgVE9QIFRPUDwvdGQ+PHRkPlRPUCBUT1AgVE9QIFRPUCBUT1A8L3RkPjx0ZD5UT1AgVE9QIFRP
UCBUT1AgVE9QPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MTwvdGQ+PHRkPjAu
MTEwMDwvdGQ+PHRkPjQwPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MjwvdGQ+
PHRkPjAuMTE1NTwvdGQ+PHRkPjM5PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+
MzwvdGQ+PHRkPjAuMjIwMDwvdGQ+PHRkPjM4PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0
cj48dGQ+NDwvdGQ+PHRkPjAuMjI1NTwvdGQ+PHRkPjM3PC90ZD48L3RyPgotICAgICAgICAgICAg
ICAgIDx0cj48dGQ+NTwvdGQ+PHRkPjAuMzMwMDwvdGQ+PHRkPjM2PC90ZD48L3RyPgotICAgICAg
ICAgICAgICAgIDx0cj48dGQ+NjwvdGQ+PHRkPjAuMzM1NTwvdGQ+PHRkPjM1PC90ZD48L3RyPgot
ICAgICAgICAgICAgICAgIDx0cj48dGQ+NzwvdGQ+PHRkPjAuNDQwMDwvdGQ+PHRkPjM0PC90ZD48
L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+ODwvdGQ+PHRkPjAuNDQ1NTwvdGQ+PHRkPjMz
PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+OTwvdGQ+PHRkPjAuNTUwMDwvdGQ+
PHRkPjMyPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MTA8L3RkPjx0ZD4wLjU1
NTU8L3RkPjx0ZD4zMTwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjExPC90ZD48
dGQ+MC42NjAwPC90ZD48dGQ+MzA8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4x
MjwvdGQ+PHRkPjAuNjY1NTwvdGQ+PHRkPjI5PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0
cj48dGQ+MTM8L3RkPjx0ZD4wLjc3MDA8L3RkPjx0ZD4yODwvdGQ+PC90cj4KLSAgICAgICAgICAg
ICAgICA8dHI+PHRkPjE0PC90ZD48dGQ+MC43NzU1PC90ZD48dGQ+Mjc8L3RkPjwvdHI+Ci0gICAg
ICAgICAgICAgICAgPHRyPjx0ZD4xNTwvdGQ+PHRkPjAuODgwMDwvdGQ+PHRkPjI2PC90ZD48L3Ry
PgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MTY8L3RkPjx0ZD4wLjg4NTU8L3RkPjx0ZD4yNTwv
dGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjE3PC90ZD48dGQ+MC45OTAwPC90ZD48
dGQ+MjQ8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4xODwvdGQ+PHRkPjAuOTk1
NTwvdGQ+PHRkPjIzPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MTk8L3RkPjx0
ZD4wLjk5OTk8L3RkPjx0ZD4yMjwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjIw
PC90ZD48dGQ+MS4wMDAwPC90ZD48dGQ+MjE8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRy
Pjx0ZD4yMTwvdGQ+PHRkPjEuMDAwMDwvdGQ+PHRkPjIwPC90ZD48L3RyPgotICAgICAgICAgICAg
ICAgIDx0cj48dGQ+MjI8L3RkPjx0ZD4wLjk5OTk8L3RkPjx0ZD4xOTwvdGQ+PC90cj4KLSAgICAg
ICAgICAgICAgICA8dHI+PHRkPjIzPC90ZD48dGQ+MC45OTU1PC90ZD48dGQ+MTg8L3RkPjwvdHI+
Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4yNDwvdGQ+PHRkPjAuOTkwMDwvdGQ+PHRkPjE3PC90
ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MjU8L3RkPjx0ZD4wLjg4NTU8L3RkPjx0
ZD4xNjwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjI2PC90ZD48dGQ+MC44ODAw
PC90ZD48dGQ+MTU8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4yNzwvdGQ+PHRk
PjAuNzc1NTwvdGQ+PHRkPjE0PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+Mjg8
L3RkPjx0ZD4wLjc3MDA8L3RkPjx0ZD4xMzwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+
PHRkPjI5PC90ZD48dGQ+MC42NjU1PC90ZD48dGQ+MTI8L3RkPjwvdHI+Ci0gICAgICAgICAgICAg
ICAgPHRyPjx0ZD4zMDwvdGQ+PHRkPjAuNjYwMDwvdGQ+PHRkPjExPC90ZD48L3RyPgotICAgICAg
ICAgICAgICAgIDx0cj48dGQ+MzE8L3RkPjx0ZD4wLjU1NTU8L3RkPjx0ZD4xMDwvdGQ+PC90cj4K
LSAgICAgICAgICAgICAgICA8dHI+PHRkPjMyPC90ZD48dGQ+MC41NTAwPC90ZD48dGQ+OTwvdGQ+
PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjMzPC90ZD48dGQ+MC40NDU1PC90ZD48dGQ+
ODwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjM0PC90ZD48dGQ+MC40NDAwPC90
ZD48dGQ+NzwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjM1PC90ZD48dGQ+MC4z
MzU1PC90ZD48dGQ+NjwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjM2PC90ZD48
dGQ+MC4zMzAwPC90ZD48dGQ+NTwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjM3
PC90ZD48dGQ+MC4yMjU1PC90ZD48dGQ+NDwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+
PHRkPjM4PC90ZD48dGQ+MC4yMjAwPC90ZD48dGQ+MzwvdGQ+PC90cj4KLSAgICAgICAgICAgICAg
ICA8dHI+PHRkPjM5PC90ZD48dGQ+MC4xMTU1PC90ZD48dGQ+MjwvdGQ+PC90cj4KLSAgICAgICAg
ICAgICAgICA8dHI+PHRkPjQwPC90ZD48dGQ+MC4xMTAwPC90ZD48dGQ+MTwvdGQ+PC90cj4KLSAg
ICAgICAgICAgICAgICA8dHI+PHRkPkVORCBFTkQgRU5EIEVORCBFTkQ8L3RkPjx0ZD5FTkQgRU5E
IEVORCBFTkQgRU5EPC90ZD48dGQ+RU5EIEVORCBFTkQgRU5EIEVORDwvdGQ+PC90cj4KLSAgICAg
ICAgICAgIDwvdGFibGU+Ci0gICAgICAgIDwvZGl2PgotICAgIDwvZGl2PgotPC9kaXY+Ci08ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBh
IHNjcm9sbGFibGUgZGl2IGRvZXNuJ3QgcGFzcyB3aGVlbCBldmVudHMgdG8gbWFpbiBmcmFtZSB3
aGVuIHNjcm9sbGluZyBhdCBib3R0b20iKTsKLTwvc2NyaXB0PgotPHByZSBpZD0ibGF5ZXJzIj5M
YXllciB0cmVlIGdvZXMgaGVyZTwvcD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9mYXN0LXNjcm9sbC1k
aXYtbGF0Y2hlZC1tYWluZnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMi90aWxlZC1kcmF3aW5nL2Zhc3Qtc2Nyb2xsLWRpdi1sYXRjaGVkLW1haW5mcmFtZS1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA5MWMyMTIzMzNhODcz
YmQ5ZjhjNDcxODFiNDAyZjBiYmRmMGNhZmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3
aW5nL2Zhc3Qtc2Nyb2xsLWRpdi1sYXRjaGVkLW1haW5mcmFtZS1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSw3NSArMCwwIEBACi1QdXQgbW91c2UgaGVyZSBhbmQgZmxpY2sgZG93bndh
cmRzCi1TY3JvbGxhYmxlIFJlZ2lvbgotCi1Db3VudAlEQVRBCVJldiBDb3VudAotVE9QIFRPUCBU
T1AgVE9QIFRPUAlUT1AgVE9QIFRPUCBUT1AgVE9QCVRPUCBUT1AgVE9QIFRPUCBUT1AKLTEJMC4x
MTAwCTQwCi0yCTAuMTE1NQkzOQotMwkwLjIyMDAJMzgKLTQJMC4yMjU1CTM3Ci01CTAuMzMwMAkz
NgotNgkwLjMzNTUJMzUKLTcJMC40NDAwCTM0Ci04CTAuNDQ1NQkzMwotOQkwLjU1MDAJMzIKLTEw
CTAuNTU1NQkzMQotMTEJMC42NjAwCTMwCi0xMgkwLjY2NTUJMjkKLTEzCTAuNzcwMAkyOAotMTQJ
MC43NzU1CTI3Ci0xNQkwLjg4MDAJMjYKLTE2CTAuODg1NQkyNQotMTcJMC45OTAwCTI0Ci0xOAkw
Ljk5NTUJMjMKLTE5CTAuOTk5OQkyMgotMjAJMS4wMDAwCTIxCi0yMQkxLjAwMDAJMjAKLTIyCTAu
OTk5OQkxOQotMjMJMC45OTU1CTE4Ci0yNAkwLjk5MDAJMTcKLTI1CTAuODg1NQkxNgotMjYJMC44
ODAwCTE1Ci0yNwkwLjc3NTUJMTQKLTI4CTAuNzcwMAkxMwotMjkJMC42NjU1CTEyCi0zMAkwLjY2
MDAJMTEKLTMxCTAuNTU1NQkxMAotMzIJMC41NTAwCTkKLTMzCTAuNDQ1NQk4Ci0zNAkwLjQ0MDAJ
NwotMzUJMC4zMzU1CTYKLTM2CTAuMzMwMAk1Ci0zNwkwLjIyNTUJNAotMzgJMC4yMjAwCTMKLTM5
CTAuMTE1NQkyCi00MAkwLjExMDAJMQotRU5EIEVORCBFTkQgRU5EIEVORAlFTkQgRU5EIEVORCBF
TkQgRU5ECUVORCBFTkQgRU5EIEVORCBFTkQKLVRlc3RzIHRoYXQgYSBzY3JvbGxhYmxlIGRpdiBk
b2Vzbid0IGNvbnN1bWUgd2hlZWwgZXZlbnRzIHdoZW4gc2Nyb2xsIGlzIGxhdGNoZWQgdG8gbWFp
biBmcmFtZS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotTW91c2UgbW92ZWQgdG8gKDI4LCAx
MjUpCi1QYWdlIGJlZm9yZTogMCwgZGl2IGJlZm9yZTogMAotUGFnZSBhZnRlcjogIDI4MCwgZGl2
IGFmdGVyOiAwCi1QQVNTIFNjcm9sbGFibGUgZGl2IGRpZCBub3QgcmVjZWl2ZSB3aGVlbCBldmVu
dHMuCi0oR3JhcGhpY3NMYXllcgotICAoYm91bmRzIDIwMDguMDAgMjMxMS4wMCkKLSAgKHZpc2li
bGUgcmVjdCAwLjAwLCAyODAuMDAgNzg1LjAwIHggNTg1LjAwKQotICAoY29udGVudHNTY2FsZSAx
LjAwKQotICAoY2hpbGRyZW4gMQotICAgIChHcmFwaGljc0xheWVyCi0gICAgICAoYm91bmRzIDIw
MDguMDAgMjMxMS4wMCkKLSAgICAgIChjb250ZW50c09wYXF1ZSAxKQotICAgICAgKHZpc2libGUg
cmVjdCAwLjAwLCAyODAuMDAgNzg1LjAwIHggNTg1LjAwKQotICAgICAgKGNvbnRlbnRzU2NhbGUg
MS4wMCkKLSAgICAgICh0aWxlIGNhY2hlIGNvdmVyYWdlIDAsIDAgMjAwOCB4IDIwNDgpCi0gICAg
ICAodGlsZSBzaXplIDUxMiB4IDUxMikKLSAgICAgICh0b3AgbGVmdCB0aWxlIDAsIDAgdGlsZXMg
Z3JpZCA0IHggNCkKLSAgICApCi0gICkKLSkKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2Zhc3Qtc2Nyb2xsLWRpdi1sYXRjaGVkLW1haW5m
cmFtZS13aXRoLWhhbmRsZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMi90aWxlZC1kcmF3aW5nL2Zhc3Qtc2Nyb2xsLWRpdi1sYXRjaGVkLW1haW5mcmFtZS13aXRo
LWhhbmRsZXItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YjAy
MTBlNTM1ZjE3MDEyOWI1OGUxYWEzNThiNTU1Y2NkNzRkMjIzLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
dGlsZWQtZHJhd2luZy9mYXN0LXNjcm9sbC1kaXYtbGF0Y2hlZC1tYWluZnJhbWUtd2l0aC1oYW5k
bGVyLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDc2ICswLDAgQEAKLVB1dCBtb3Vz
ZSBoZXJlIGFuZCBmbGljayBkb3dud2FyZHMKLVNjcm9sbGFibGUgUmVnaW9uCi0KLUNvdW50CURB
VEEJUmV2IENvdW50Ci1UT1AgVE9QIFRPUCBUT1AgVE9QCVRPUCBUT1AgVE9QIFRPUCBUT1AJVE9Q
IFRPUCBUT1AgVE9QIFRPUAotMQkwLjExMDAJNDAKLTIJMC4xMTU1CTM5Ci0zCTAuMjIwMAkzOAot
NAkwLjIyNTUJMzcKLTUJMC4zMzAwCTM2Ci02CTAuMzM1NQkzNQotNwkwLjQ0MDAJMzQKLTgJMC40
NDU1CTMzCi05CTAuNTUwMAkzMgotMTAJMC41NTU1CTMxCi0xMQkwLjY2MDAJMzAKLTEyCTAuNjY1
NQkyOQotMTMJMC43NzAwCTI4Ci0xNAkwLjc3NTUJMjcKLTE1CTAuODgwMAkyNgotMTYJMC44ODU1
CTI1Ci0xNwkwLjk5MDAJMjQKLTE4CTAuOTk1NQkyMwotMTkJMC45OTk5CTIyCi0yMAkxLjAwMDAJ
MjEKLTIxCTEuMDAwMAkyMAotMjIJMC45OTk5CTE5Ci0yMwkwLjk5NTUJMTgKLTI0CTAuOTkwMAkx
NwotMjUJMC44ODU1CTE2Ci0yNgkwLjg4MDAJMTUKLTI3CTAuNzc1NQkxNAotMjgJMC43NzAwCTEz
Ci0yOQkwLjY2NTUJMTIKLTMwCTAuNjYwMAkxMQotMzEJMC41NTU1CTEwCi0zMgkwLjU1MDAJOQot
MzMJMC40NDU1CTgKLTM0CTAuNDQwMAk3Ci0zNQkwLjMzNTUJNgotMzYJMC4zMzAwCTUKLTM3CTAu
MjI1NQk0Ci0zOAkwLjIyMDAJMwotMzkJMC4xMTU1CTIKLTQwCTAuMTEwMAkxCi1FTkQgRU5EIEVO
RCBFTkQgRU5ECUVORCBFTkQgRU5EIEVORCBFTkQJRU5EIEVORCBFTkQgRU5EIEVORAotVGVzdHMg
dGhhdCBhIHNjcm9sbGFibGUgZGl2IGRvZXNuJ3QgY29uc3VtZSB3aGVlbCBldmVudHMgd2hlbiBz
Y3JvbGwgaXMgbGF0Y2hlZCB0byBtYWluIGZyYW1lLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCi0KLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRF
Ci1Nb3VzZSBtb3ZlZCB0byAoMjgsIDEyNSkKLVBhZ2UgYmVmb3JlOiAwLCBkaXYgYmVmb3JlOiAw
Ci1QYWdlIGFmdGVyOiAgMjgwLCBkaXYgYWZ0ZXI6IDAKLVBBU1MgU2Nyb2xsYWJsZSBkaXYgZGlk
IG5vdCByZWNlaXZlIHdoZWVsIGV2ZW50cy4KLURvY3VtZW50IHdhcyBpbml0aWFsIHRhcmdldCBm
b3IgNCBvZiB0aGUgd2hlZWwgZXZlbnRzLgotKEdyYXBoaWNzTGF5ZXIKLSAgKGJvdW5kcyAyMDA4
LjAwIDIzMjYuMDApCi0gICh2aXNpYmxlIHJlY3QgMC4wMCwgMjgwLjAwIDc4NS4wMCB4IDU4NS4w
MCkKLSAgKGNvbnRlbnRzU2NhbGUgMS4wMCkKLSAgKGNoaWxkcmVuIDEKLSAgICAoR3JhcGhpY3NM
YXllcgotICAgICAgKGJvdW5kcyAyMDA4LjAwIDIzMjYuMDApCi0gICAgICAoY29udGVudHNPcGFx
dWUgMSkKLSAgICAgICh2aXNpYmxlIHJlY3QgMC4wMCwgMjgwLjAwIDc4NS4wMCB4IDU4NS4wMCkK
LSAgICAgIChjb250ZW50c1NjYWxlIDEuMDApCi0gICAgICAodGlsZSBjYWNoZSBjb3ZlcmFnZSAw
LCAwIDIwMDggeCAyMDQ4KQotICAgICAgKHRpbGUgc2l6ZSA1MTIgeCA1MTIpCi0gICAgICAodG9w
IGxlZnQgdGlsZSAwLCAwIHRpbGVzIGdyaWQgNCB4IDQpCi0gICAgKQotICApCi0pCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9mYXN0LXNj
cm9sbC1kaXYtbGF0Y2hlZC1tYWluZnJhbWUtd2l0aC1oYW5kbGVyLmh0bWwgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZmFzdC1zY3JvbGwtZGl2LWxhdGNoZWQt
bWFpbmZyYW1lLXdpdGgtaGFuZGxlci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA0N2FjNmUxNjM4OGEzY2Q1NDVlMGFiMzkyZDUzM2VjMzgxNmM4ZTNmLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azIvdGlsZWQtZHJhd2luZy9mYXN0LXNjcm9sbC1kaXYtbGF0Y2hlZC1tYWluZnJhbWUtd2l0
aC1oYW5kbGVyLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxODAgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHN0eWxlPgotLnNjcm9sbGFibGVfcmVnaW9uIHsKLSAg
ICB3aWR0aDogNjgwcHg7Ci19Ci0KLS50YWJsZSB0ZCwgLnRhYmxlIHRoIHsKLSAgICBwYWRkaW5n
OiAycHg7Ci19Ci0KLS50YWJsZSB0aCB7Ci0gICAgaGVpZ2h0OiAyMHB4OwotICAgIHRleHQtYWxp
Z246IGxlZnQ7Ci0gICAgZm9udC13ZWlnaHQ6IHN0cm9uZzsKLX0KLQotLnRhYmxlIHRyOm50aC1j
aGlsZChvZGQpIHsKLSAgICBiYWNrZ3JvdW5kOiAjZjNmM2YzOwotfQotCi0uc2Nyb2xsYWJsZV9z
ZWxlY3Qgb3B0aW9uOm50aC1jaGlsZChvZGQpIHsKLSAgICBiYWNrZ3JvdW5kOiAjZjNmM2YzOwot
fQotCi08L3N0eWxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFyIHdoZWVsQ291bnQgPSAwOwotZnVuY3Rpb24g
b25TY3JvbGxXaGVlbChldnQpIHsKLSAgICB3aGVlbENvdW50ID0gd2hlZWxDb3VudCArIDE7Ci19
Ci0KLWZ1bmN0aW9uIG9uTG9hZCgpIHsKLSAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJt
b3VzZXdoZWVsIiwgb25TY3JvbGxXaGVlbCk7Ci0gICAgc2V0dXBUb3BMZXZlbCgpOwotfQotPC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9Im9uTG9hZCgpOyI+Ci08c2NyaXB0PgotCi12
YXIgZGl2VGFyZ2V0OwotdmFyIHBhZ2VTY3JvbGxQb3NpdGlvbkJlZm9yZTsKLXZhciBkaXZTY3Jv
bGxQb3NpdGlvbkJlZm9yZTsKLXZhciBjb250aW51ZUNvdW50ID0gNTsKLQotZnVuY3Rpb24gY2hl
Y2tGb3JTY3JvbGwoKSB7Ci0KLSAgICAvLyBUaGUgZGl2IHNob3VsZCBub3QgaGF2ZSBzY3JvbGxl
ZCBhdCBhbGwuCi0gICAgdmFyIHBhZ2VTY3JvbGxQb3NpdGlvbkFmdGVyID0gZG9jdW1lbnQuYm9k
eS5zY3JvbGxUb3A7Ci0gICAgdmFyIGRpdlNjcm9sbFBvc2l0aW9uQWZ0ZXIgPSBkaXZUYXJnZXQu
c2Nyb2xsVG9wOwotCi0gICAgZGVidWcoIlBhZ2UgYmVmb3JlOiAiICsgcGFnZVNjcm9sbFBvc2l0
aW9uQmVmb3JlICsgIiwgZGl2IGJlZm9yZTogIiArIGRpdlNjcm9sbFBvc2l0aW9uQmVmb3JlKTsK
LSAgICBkZWJ1ZygiUGFnZSBhZnRlcjogICIgKyBwYWdlU2Nyb2xsUG9zaXRpb25BZnRlciArICIs
IGRpdiBhZnRlcjogIiArIGRpdlNjcm9sbFBvc2l0aW9uQWZ0ZXIpOwotCi0gICAgaWYgKGRpdlNj
cm9sbFBvc2l0aW9uQmVmb3JlICE9IGRpdlNjcm9sbFBvc2l0aW9uQWZ0ZXIpCi0gICAgICAgIHRl
c3RGYWlsZWQoIlNjcm9sbGFibGUgZGl2IGNvbnN1bWVkIHdoZWVsIGV2ZW50cy4iKTsKLSAgICBl
bHNlCi0gICAgICAgIHRlc3RQYXNzZWQoIlNjcm9sbGFibGUgZGl2IGRpZCBub3QgcmVjZWl2ZSB3
aGVlbCBldmVudHMuIik7Ci0KLSAgICBkZWJ1ZygiRG9jdW1lbnQgd2FzIGluaXRpYWwgdGFyZ2V0
IGZvciAiICsgd2hlZWxDb3VudCArICIgb2YgdGhlIHdoZWVsIGV2ZW50cy4iKTsKLQotICAgIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCds
YXllcnMnKS5pbm5lclRleHQgPSBpbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50LAot
ICAgICAgICAgICAgaW50ZXJuYWxzLkxBWUVSX1RSRUVfSU5DTFVERVNfVklTSUJMRV9SRUNUUyB8
IGludGVybmFscy5MQVlFUl9UUkVFX0lOQ0xVREVTX1RJTEVfQ0FDSEVTKTsKLSAgICB9Ci0KLSAg
ICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24gc2Nyb2xsVGVzdCgpIHsK
LSAgICAvLyBTZWUgd2hlcmUgb3VyIElGcmFtZSBsaXZlczoKLSAgICBwYWdlU2Nyb2xsUG9zaXRp
b25CZWZvcmUgPSBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDsKLQotICAgIGRpdlRhcmdldCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKTsKLQotICAgIGRpdlNjcm9sbFBvc2l0aW9u
QmVmb3JlID0gZGl2VGFyZ2V0LnNjcm9sbFRvcDsKLQotICAgIC8vIFNjcm9sbCB0aGUgI3NvdXJj
ZSB1bnRpbCB3ZSByZWFjaCB0aGUgI3RhcmdldC4KLSAgICB2YXIgc3RhcnRQb3NYID0gZGl2VGFy
Z2V0Lm9mZnNldExlZnQgKyAyMDsKLSAgICB2YXIgc3RhcnRQb3NZID0gZGl2VGFyZ2V0Lm9mZnNl
dFRvcCAtIDQyOyAvLyBTbGlnaHRseSBtb3JlIHRoYW4gb25lIHdoZWVsIHNjcm9sbCBhd2F5IGZy
b20gdGhlIElGcmFtZQotICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHN0YXJ0UG9zWCwgc3Rh
cnRQb3NZKTsgLy8gTWFrZSBzdXJlIHdlIGFyZSBqdXN0IG91dHNpZGUgdGhlIGlGcmFtZQotICAg
IGRlYnVnKCJNb3VzZSBtb3ZlZCB0byAoIiArIHN0YXJ0UG9zWCArICIsICIgKyBzdGFydFBvc1kg
KyAiKSIpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1
bVBoYXNlcygwLCAtMSwgJ2JlZ2FuJywgJ25vbmUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5t
b3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdjaGFuZ2VkJywg
J25vbmUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5k
TW9tZW50dW1QaGFzZXMoMCwgLTEsICdjaGFuZ2VkJywgJ25vbmUnLCB0cnVlKTsKLSAgICBldmVu
dFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgMCwgJ2Vu
ZGVkJywgJ25vbmUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdo
ZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdub25lJywgJ2JlZ2luJywgdHJ1ZSk7Ci0gICAg
ZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0x
LCAnbm9uZScsICdjb250aW51ZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xs
QnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnY29udGludWUnLCB0
cnVlKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1Q
aGFzZXMoMCwgLTEsICdub25lJywgJ2NvbnRpbnVlJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIu
bW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdj
b250aW51ZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxB
bmRNb21lbnR1bVBoYXNlcygwLCAwLCAnbm9uZScsICdlbmQnLCB0cnVlKTsKLSAgICBzZXRUaW1l
b3V0KGNoZWNrRm9yU2Nyb2xsLCAxMDApOwotfQotCi1mdW5jdGlvbiBzZXR1cFRvcExldmVsKCkg
ewotCi0gICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQodHJ1ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotCi0g
ICAgICAgIHNldFRpbWVvdXQoc2Nyb2xsVGVzdCwgMTAwMCk7Ci0gICAgfSBlbHNlIHsKLSAgICAg
ICAgdmFyIG1lc3NhZ2VMb2NhdGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJlbnQn
KTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsK
LSAgICAgICAgbWVzc2FnZS5pbm5lckhUTUwgPSAiPHA+VGhpcyB0ZXN0IGlzIGJldHRlciBydW4g
dW5kZXIgRHVtcFJlbmRlclRyZWUuIFRvIG1hbnVhbGx5IHRlc3QgaXQsIHBsYWNlIHRoZSBtb3Vz
ZSBwb2ludGVyPGJyLz4iCi0gICAgICAgICAgICArICJhdCB0aGUgdG9wIG9mIHRoZSBwYWdlLCBh
bmQgdGhlbiB1c2UgdGhlIG1vdXNlIHdoZWVsIG9yIGEgdHdvLWZpbmdlciBzd2lwZSB0byBzY3Jv
bGwgdGhlPGJyLz4iCi0gICAgICAgICAgICArICJkb3duIHBhc3QgdGhlIGRpdi48YnIvPjxici8+
IgotICAgICAgICAgICAgKyAiWW91IHNob3VsZCBub3Qgc2VlIHRoZSByb3cgb2YgRU5EIGxhYmVs
cyBpZiB0aGlzIHRlc3QgaXMgc3VjY2Vzc2Z1bC48L3A+IjsKLSAgICAgICAgbWVzc2FnZUxvY2F0
aW9uLmFwcGVuZENoaWxkKG1lc3NhZ2UpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08ZGl2IGlk
PSJwYXJlbnQiIHN0eWxlPSJoZWlnaHQ6IDIwMDBweDsgd2lkdGg6IDIwMDBweDsiPgotICAgIDxk
aXYgaWQ9InNvdXJjZSIgc3R5bGU9ImhlaWdodDogMTAwcHg7IHdpZHRoOiA1MDBweDsiPgotICAg
ICAgICBQdXQgbW91c2UgaGVyZSBhbmQgZmxpY2sgZG93bndhcmRzCi0gICAgPC9kaXY+Ci0gICAg
PGRpdiBjbGFzcz0ic2Nyb2xsYWJsZV9yZWdpb24iPgotICAgICAgICA8aDM+U2Nyb2xsYWJsZSBS
ZWdpb248L2gzPgotICAgICAgICA8ZGl2IGlkPSJ0YXJnZXQiIHN0eWxlPSdvdmVyZmxvdy15OiBh
dXRvOyBvdmVyZmxvdy14OiBoaWRkZW47IG1heC1oZWlnaHQ6IDQ4NXB4Oyc+Ci0gICAgICAgICAg
ICA8dGFibGUgY2xhc3M9InRhYmxlIiBzdHlsZT0nd2lkdGg6IDk5JSc+Ci0gICAgICAgICAgICAg
ICAgPHRyPjx0aD5Db3VudDwvdGg+PHRoPkRBVEE8L3RoPjx0aD5SZXYgQ291bnQ8L3RoPjwvdHI+
Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD5UT1AgVE9QIFRPUCBUT1AgVE9QPC90ZD48dGQ+VE9Q
IFRPUCBUT1AgVE9QIFRPUDwvdGQ+PHRkPlRPUCBUT1AgVE9QIFRPUCBUT1A8L3RkPjwvdHI+Ci0g
ICAgICAgICAgICAgICAgPHRyPjx0ZD4xPC90ZD48dGQ+MC4xMTAwPC90ZD48dGQ+NDA8L3RkPjwv
dHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4yPC90ZD48dGQ+MC4xMTU1PC90ZD48dGQ+Mzk8
L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4zPC90ZD48dGQ+MC4yMjAwPC90ZD48
dGQ+Mzg8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD40PC90ZD48dGQ+MC4yMjU1
PC90ZD48dGQ+Mzc8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD41PC90ZD48dGQ+
MC4zMzAwPC90ZD48dGQ+MzY8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD42PC90
ZD48dGQ+MC4zMzU1PC90ZD48dGQ+MzU8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0
ZD43PC90ZD48dGQ+MC40NDAwPC90ZD48dGQ+MzQ8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAg
PHRyPjx0ZD44PC90ZD48dGQ+MC40NDU1PC90ZD48dGQ+MzM8L3RkPjwvdHI+Ci0gICAgICAgICAg
ICAgICAgPHRyPjx0ZD45PC90ZD48dGQ+MC41NTAwPC90ZD48dGQ+MzI8L3RkPjwvdHI+Ci0gICAg
ICAgICAgICAgICAgPHRyPjx0ZD4xMDwvdGQ+PHRkPjAuNTU1NTwvdGQ+PHRkPjMxPC90ZD48L3Ry
PgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MTE8L3RkPjx0ZD4wLjY2MDA8L3RkPjx0ZD4zMDwv
dGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjEyPC90ZD48dGQ+MC42NjU1PC90ZD48
dGQ+Mjk8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4xMzwvdGQ+PHRkPjAuNzcw
MDwvdGQ+PHRkPjI4PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MTQ8L3RkPjx0
ZD4wLjc3NTU8L3RkPjx0ZD4yNzwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjE1
PC90ZD48dGQ+MC44ODAwPC90ZD48dGQ+MjY8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRy
Pjx0ZD4xNjwvdGQ+PHRkPjAuODg1NTwvdGQ+PHRkPjI1PC90ZD48L3RyPgotICAgICAgICAgICAg
ICAgIDx0cj48dGQ+MTc8L3RkPjx0ZD4wLjk5MDA8L3RkPjx0ZD4yNDwvdGQ+PC90cj4KLSAgICAg
ICAgICAgICAgICA8dHI+PHRkPjE4PC90ZD48dGQ+MC45OTU1PC90ZD48dGQ+MjM8L3RkPjwvdHI+
Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4xOTwvdGQ+PHRkPjAuOTk5OTwvdGQ+PHRkPjIyPC90
ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MjA8L3RkPjx0ZD4xLjAwMDA8L3RkPjx0
ZD4yMTwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjIxPC90ZD48dGQ+MS4wMDAw
PC90ZD48dGQ+MjA8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4yMjwvdGQ+PHRk
PjAuOTk5OTwvdGQ+PHRkPjE5PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MjM8
L3RkPjx0ZD4wLjk5NTU8L3RkPjx0ZD4xODwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+
PHRkPjI0PC90ZD48dGQ+MC45OTAwPC90ZD48dGQ+MTc8L3RkPjwvdHI+Ci0gICAgICAgICAgICAg
ICAgPHRyPjx0ZD4yNTwvdGQ+PHRkPjAuODg1NTwvdGQ+PHRkPjE2PC90ZD48L3RyPgotICAgICAg
ICAgICAgICAgIDx0cj48dGQ+MjY8L3RkPjx0ZD4wLjg4MDA8L3RkPjx0ZD4xNTwvdGQ+PC90cj4K
LSAgICAgICAgICAgICAgICA8dHI+PHRkPjI3PC90ZD48dGQ+MC43NzU1PC90ZD48dGQ+MTQ8L3Rk
PjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4yODwvdGQ+PHRkPjAuNzcwMDwvdGQ+PHRk
PjEzPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+Mjk8L3RkPjx0ZD4wLjY2NTU8
L3RkPjx0ZD4xMjwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjMwPC90ZD48dGQ+
MC42NjAwPC90ZD48dGQ+MTE8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4zMTwv
dGQ+PHRkPjAuNTU1NTwvdGQ+PHRkPjEwPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48
dGQ+MzI8L3RkPjx0ZD4wLjU1MDA8L3RkPjx0ZD45PC90ZD48L3RyPgotICAgICAgICAgICAgICAg
IDx0cj48dGQ+MzM8L3RkPjx0ZD4wLjQ0NTU8L3RkPjx0ZD44PC90ZD48L3RyPgotICAgICAgICAg
ICAgICAgIDx0cj48dGQ+MzQ8L3RkPjx0ZD4wLjQ0MDA8L3RkPjx0ZD43PC90ZD48L3RyPgotICAg
ICAgICAgICAgICAgIDx0cj48dGQ+MzU8L3RkPjx0ZD4wLjMzNTU8L3RkPjx0ZD42PC90ZD48L3Ry
PgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MzY8L3RkPjx0ZD4wLjMzMDA8L3RkPjx0ZD41PC90
ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+Mzc8L3RkPjx0ZD4wLjIyNTU8L3RkPjx0
ZD40PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+Mzg8L3RkPjx0ZD4wLjIyMDA8
L3RkPjx0ZD4zPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+Mzk8L3RkPjx0ZD4w
LjExNTU8L3RkPjx0ZD4yPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+NDA8L3Rk
Pjx0ZD4wLjExMDA8L3RkPjx0ZD4xPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+
RU5EIEVORCBFTkQgRU5EIEVORDwvdGQ+PHRkPkVORCBFTkQgRU5EIEVORCBFTkQ8L3RkPjx0ZD5F
TkQgRU5EIEVORCBFTkQgRU5EPC90ZD48L3RyPgotICAgICAgICAgICAgPC90YWJsZT4KLSAgICAg
ICAgPC9kaXY+Ci0gICAgPC9kaXY+Ci08L2Rpdj4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgot
PHNjcmlwdD4KLWRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGEgc2Nyb2xsYWJsZSBkaXYgZG9lc24n
dCBjb25zdW1lIHdoZWVsIGV2ZW50cyB3aGVuIHNjcm9sbCBpcyBsYXRjaGVkIHRvIG1haW4gZnJh
bWUuIik7Ci08L3NjcmlwdD4KLTxwcmUgaWQ9ImxheWVycyI+TGF5ZXIgdHJlZSBnb2VzIGhlcmU8
L3A+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZmFzdC1zY3JvbGwtZGl2LWxhdGNoZWQtbWFpbmZyYW1l
Lmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZmFzdC1z
Y3JvbGwtZGl2LWxhdGNoZWQtbWFpbmZyYW1lLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGMwMTM2ZTMzZTc5MTcwYTdiNjM5NGM0Y2EyMjFhNzg2NjRjZDU5NDIuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2Zhc3Qtc2Nyb2xsLWRpdi1sYXRjaGVkLW1haW5mcmFt
ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTcyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08aGVhZD4KLTxzdHlsZT4KLS5zY3JvbGxhYmxlX3JlZ2lvbiB7Ci0gICAgd2lkdGg6
IDY4MHB4OwotfQotCi0udGFibGUgdGQsIC50YWJsZSB0aCB7Ci0gICAgcGFkZGluZzogMnB4Owot
fQotCi0udGFibGUgdGggewotICAgIGhlaWdodDogMjBweDsKLSAgICB0ZXh0LWFsaWduOiBsZWZ0
OwotICAgIGZvbnQtd2VpZ2h0OiBzdHJvbmc7Ci19Ci0KLS50YWJsZSB0cjpudGgtY2hpbGQob2Rk
KSB7Ci0gICAgYmFja2dyb3VuZDogI2YzZjNmMzsKLX0KLQotLnNjcm9sbGFibGVfc2VsZWN0IG9w
dGlvbjpudGgtY2hpbGQob2RkKSB7Ci0gICAgYmFja2dyb3VuZDogI2YzZjNmMzsKLX0KLQotPC9z
dHlsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIG9uTG9hZCgpIHsKLSAgICBzZXR1cFRvcExldmVs
KCk7Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ib25Mb2FkKCk7Ij4KLTxz
Y3JpcHQ+Ci0KLXZhciBkaXZUYXJnZXQ7Ci12YXIgcGFnZVNjcm9sbFBvc2l0aW9uQmVmb3JlOwot
dmFyIGRpdlNjcm9sbFBvc2l0aW9uQmVmb3JlOwotdmFyIGNvbnRpbnVlQ291bnQgPSA1OwotCi1m
dW5jdGlvbiBjaGVja0ZvclNjcm9sbCgpIHsKLQotICAgIC8vIFRoZSBkaXYgc2hvdWxkIG5vdCBo
YXZlIHNjcm9sbGVkIGF0IGFsbC4KLSAgICB2YXIgcGFnZVNjcm9sbFBvc2l0aW9uQWZ0ZXIgPSBk
b2N1bWVudC5ib2R5LnNjcm9sbFRvcDsKLSAgICB2YXIgZGl2U2Nyb2xsUG9zaXRpb25BZnRlciA9
IGRpdlRhcmdldC5zY3JvbGxUb3A7Ci0KLSAgICBkZWJ1ZygiUGFnZSBiZWZvcmU6ICIgKyBwYWdl
U2Nyb2xsUG9zaXRpb25CZWZvcmUgKyAiLCBkaXYgYmVmb3JlOiAiICsgZGl2U2Nyb2xsUG9zaXRp
b25CZWZvcmUpOwotICAgIGRlYnVnKCJQYWdlIGFmdGVyOiAgIiArIHBhZ2VTY3JvbGxQb3NpdGlv
bkFmdGVyICsgIiwgZGl2IGFmdGVyOiAiICsgZGl2U2Nyb2xsUG9zaXRpb25BZnRlcik7Ci0KLSAg
ICBpZiAoZGl2U2Nyb2xsUG9zaXRpb25CZWZvcmUgIT0gZGl2U2Nyb2xsUG9zaXRpb25BZnRlcikK
LSAgICAgICAgdGVzdEZhaWxlZCgiU2Nyb2xsYWJsZSBkaXYgY29uc3VtZWQgd2hlZWwgZXZlbnRz
LiIpOwotICAgIGVsc2UKLSAgICAgICAgdGVzdFBhc3NlZCgiU2Nyb2xsYWJsZSBkaXYgZGlkIG5v
dCByZWNlaXZlIHdoZWVsIGV2ZW50cy4iKTsKLQotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7
Ci0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lclRleHQgPSBp
bnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50LAotICAgICAgICAgICAgaW50ZXJuYWxz
LkxBWUVSX1RSRUVfSU5DTFVERVNfVklTSUJMRV9SRUNUUyB8IGludGVybmFscy5MQVlFUl9UUkVF
X0lOQ0xVREVTX1RJTEVfQ0FDSEVTKTsKLSAgICB9Ci0KLSAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKLX0KLQotZnVuY3Rpb24gc2Nyb2xsVGVzdCgpIHsKLSAgICAvLyBTZWUgd2hlcmUgb3Vy
IElGcmFtZSBsaXZlczoKLSAgICBwYWdlU2Nyb2xsUG9zaXRpb25CZWZvcmUgPSBkb2N1bWVudC5i
b2R5LnNjcm9sbFRvcDsKLQotICAgIGRpdlRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCd0YXJnZXQnKTsKLQotICAgIGRpdlNjcm9sbFBvc2l0aW9uQmVmb3JlID0gZGl2VGFyZ2V0LnNj
cm9sbFRvcDsKLQotICAgIC8vIFNjcm9sbCB0aGUgI3NvdXJjZSB1bnRpbCB3ZSByZWFjaCB0aGUg
I3RhcmdldC4KLSAgICB2YXIgc3RhcnRQb3NYID0gZGl2VGFyZ2V0Lm9mZnNldExlZnQgKyAyMDsK
LSAgICB2YXIgc3RhcnRQb3NZID0gZGl2VGFyZ2V0Lm9mZnNldFRvcCAtIDQyOyAvLyBTbGlnaHRs
eSBtb3JlIHRoYW4gb25lIHdoZWVsIHNjcm9sbCBhd2F5IGZyb20gdGhlIElGcmFtZQotICAgIGV2
ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHN0YXJ0UG9zWCwgc3RhcnRQb3NZKTsgLy8gTWFrZSBzdXJl
IHdlIGFyZSBqdXN0IG91dHNpZGUgdGhlIGlGcmFtZQotICAgIGRlYnVnKCJNb3VzZSBtb3ZlZCB0
byAoIiArIHN0YXJ0UG9zWCArICIsICIgKyBzdGFydFBvc1kgKyAiKSIpOwotICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ2JlZ2Fu
JywgJ25vbmUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVs
QW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdjaGFuZ2VkJywgJ25vbmUnLCB0cnVlKTsKLSAgICBl
dmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEs
ICdjaGFuZ2VkJywgJ25vbmUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5
V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgMCwgJ2VuZGVkJywgJ25vbmUnLCB0cnVlKTsK
LSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMo
MCwgLTEsICdub25lJywgJ2JlZ2luJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3Jv
bGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdjb250aW51ZScs
IHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1
bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnY29udGludWUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRl
ci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdub25lJywg
J2NvbnRpbnVlJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVl
bEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdjb250aW51ZScsIHRydWUpOwotICAg
IGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAw
LCAnbm9uZScsICdlbmQnLCB0cnVlKTsKLSAgICBzZXRUaW1lb3V0KGNoZWNrRm9yU2Nyb2xsLCAx
MDApOwotfQotCi1mdW5jdGlvbiBzZXR1cFRvcExldmVsKCkgewotCi0gICAgaWYgKHdpbmRvdy5l
dmVudFNlbmRlcikgewotICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7Ci0gICAg
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotCi0gICAgICAgIHNldFRpbWVvdXQoc2Ny
b2xsVGVzdCwgMTAwMCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgdmFyIG1lc3NhZ2VMb2NhdGlv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJlbnQnKTsKLSAgICAgICAgdmFyIG1lc3Nh
Z2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICAgICAgbWVzc2FnZS5pbm5l
ckhUTUwgPSAiPHA+VGhpcyB0ZXN0IGlzIGJldHRlciBydW4gdW5kZXIgRHVtcFJlbmRlclRyZWUu
IFRvIG1hbnVhbGx5IHRlc3QgaXQsIHBsYWNlIHRoZSBtb3VzZSBwb2ludGVyPGJyLz4iCi0gICAg
ICAgICAgICArICJhdCB0aGUgdG9wIG9mIHRoZSBwYWdlLCBhbmQgdGhlbiB1c2UgdGhlIG1vdXNl
IHdoZWVsIG9yIGEgdHdvLWZpbmdlciBzd2lwZSB0byBzY3JvbGwgdGhlPGJyLz4iCi0gICAgICAg
ICAgICArICJkb3duIHBhc3QgdGhlIGRpdi48YnIvPjxici8+IgotICAgICAgICAgICAgKyAiWW91
IHNob3VsZCBub3Qgc2VlIHRoZSByb3cgb2YgRU5EIGxhYmVscyBpZiB0aGlzIHRlc3QgaXMgc3Vj
Y2Vzc2Z1bC48L3A+IjsKLSAgICAgICAgbWVzc2FnZUxvY2F0aW9uLmFwcGVuZENoaWxkKG1lc3Nh
Z2UpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08ZGl2IGlkPSJwYXJlbnQiIHN0eWxlPSJoZWln
aHQ6IDIwMDBweDsgd2lkdGg6IDIwMDBweDsiPgotICAgIDxkaXYgaWQ9InNvdXJjZSIgc3R5bGU9
ImhlaWdodDogMTAwcHg7IHdpZHRoOiA1MDBweDsiPgotICAgICAgICBQdXQgbW91c2UgaGVyZSBh
bmQgZmxpY2sgZG93bndhcmRzCi0gICAgPC9kaXY+Ci0gICAgPGRpdiBjbGFzcz0ic2Nyb2xsYWJs
ZV9yZWdpb24iPgotICAgICAgICA8aDM+U2Nyb2xsYWJsZSBSZWdpb248L2gzPgotICAgICAgICA8
ZGl2IGlkPSJ0YXJnZXQiIHN0eWxlPSdvdmVyZmxvdy15OiBhdXRvOyBvdmVyZmxvdy14OiBoaWRk
ZW47IG1heC1oZWlnaHQ6IDQ4NXB4Oyc+Ci0gICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxl
IiBzdHlsZT0nd2lkdGg6IDk5JSc+Ci0gICAgICAgICAgICAgICAgPHRyPjx0aD5Db3VudDwvdGg+
PHRoPkRBVEE8L3RoPjx0aD5SZXYgQ291bnQ8L3RoPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRy
Pjx0ZD5UT1AgVE9QIFRPUCBUT1AgVE9QPC90ZD48dGQ+VE9QIFRPUCBUT1AgVE9QIFRPUDwvdGQ+
PHRkPlRPUCBUT1AgVE9QIFRPUCBUT1A8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0
ZD4xPC90ZD48dGQ+MC4xMTAwPC90ZD48dGQ+NDA8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAg
PHRyPjx0ZD4yPC90ZD48dGQ+MC4xMTU1PC90ZD48dGQ+Mzk8L3RkPjwvdHI+Ci0gICAgICAgICAg
ICAgICAgPHRyPjx0ZD4zPC90ZD48dGQ+MC4yMjAwPC90ZD48dGQ+Mzg8L3RkPjwvdHI+Ci0gICAg
ICAgICAgICAgICAgPHRyPjx0ZD40PC90ZD48dGQ+MC4yMjU1PC90ZD48dGQ+Mzc8L3RkPjwvdHI+
Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD41PC90ZD48dGQ+MC4zMzAwPC90ZD48dGQ+MzY8L3Rk
PjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD42PC90ZD48dGQ+MC4zMzU1PC90ZD48dGQ+
MzU8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD43PC90ZD48dGQ+MC40NDAwPC90
ZD48dGQ+MzQ8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD44PC90ZD48dGQ+MC40
NDU1PC90ZD48dGQ+MzM8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD45PC90ZD48
dGQ+MC41NTAwPC90ZD48dGQ+MzI8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4x
MDwvdGQ+PHRkPjAuNTU1NTwvdGQ+PHRkPjMxPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0
cj48dGQ+MTE8L3RkPjx0ZD4wLjY2MDA8L3RkPjx0ZD4zMDwvdGQ+PC90cj4KLSAgICAgICAgICAg
ICAgICA8dHI+PHRkPjEyPC90ZD48dGQ+MC42NjU1PC90ZD48dGQ+Mjk8L3RkPjwvdHI+Ci0gICAg
ICAgICAgICAgICAgPHRyPjx0ZD4xMzwvdGQ+PHRkPjAuNzcwMDwvdGQ+PHRkPjI4PC90ZD48L3Ry
PgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MTQ8L3RkPjx0ZD4wLjc3NTU8L3RkPjx0ZD4yNzwv
dGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjE1PC90ZD48dGQ+MC44ODAwPC90ZD48
dGQ+MjY8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4xNjwvdGQ+PHRkPjAuODg1
NTwvdGQ+PHRkPjI1PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MTc8L3RkPjx0
ZD4wLjk5MDA8L3RkPjx0ZD4yNDwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjE4
PC90ZD48dGQ+MC45OTU1PC90ZD48dGQ+MjM8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRy
Pjx0ZD4xOTwvdGQ+PHRkPjAuOTk5OTwvdGQ+PHRkPjIyPC90ZD48L3RyPgotICAgICAgICAgICAg
ICAgIDx0cj48dGQ+MjA8L3RkPjx0ZD4xLjAwMDA8L3RkPjx0ZD4yMTwvdGQ+PC90cj4KLSAgICAg
ICAgICAgICAgICA8dHI+PHRkPjIxPC90ZD48dGQ+MS4wMDAwPC90ZD48dGQ+MjA8L3RkPjwvdHI+
Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4yMjwvdGQ+PHRkPjAuOTk5OTwvdGQ+PHRkPjE5PC90
ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MjM8L3RkPjx0ZD4wLjk5NTU8L3RkPjx0
ZD4xODwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjI0PC90ZD48dGQ+MC45OTAw
PC90ZD48dGQ+MTc8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4yNTwvdGQ+PHRk
PjAuODg1NTwvdGQ+PHRkPjE2PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MjY8
L3RkPjx0ZD4wLjg4MDA8L3RkPjx0ZD4xNTwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+
PHRkPjI3PC90ZD48dGQ+MC43NzU1PC90ZD48dGQ+MTQ8L3RkPjwvdHI+Ci0gICAgICAgICAgICAg
ICAgPHRyPjx0ZD4yODwvdGQ+PHRkPjAuNzcwMDwvdGQ+PHRkPjEzPC90ZD48L3RyPgotICAgICAg
ICAgICAgICAgIDx0cj48dGQ+Mjk8L3RkPjx0ZD4wLjY2NTU8L3RkPjx0ZD4xMjwvdGQ+PC90cj4K
LSAgICAgICAgICAgICAgICA8dHI+PHRkPjMwPC90ZD48dGQ+MC42NjAwPC90ZD48dGQ+MTE8L3Rk
PjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4zMTwvdGQ+PHRkPjAuNTU1NTwvdGQ+PHRk
PjEwPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MzI8L3RkPjx0ZD4wLjU1MDA8
L3RkPjx0ZD45PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MzM8L3RkPjx0ZD4w
LjQ0NTU8L3RkPjx0ZD44PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MzQ8L3Rk
Pjx0ZD4wLjQ0MDA8L3RkPjx0ZD43PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+
MzU8L3RkPjx0ZD4wLjMzNTU8L3RkPjx0ZD42PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0
cj48dGQ+MzY8L3RkPjx0ZD4wLjMzMDA8L3RkPjx0ZD41PC90ZD48L3RyPgotICAgICAgICAgICAg
ICAgIDx0cj48dGQ+Mzc8L3RkPjx0ZD4wLjIyNTU8L3RkPjx0ZD40PC90ZD48L3RyPgotICAgICAg
ICAgICAgICAgIDx0cj48dGQ+Mzg8L3RkPjx0ZD4wLjIyMDA8L3RkPjx0ZD4zPC90ZD48L3RyPgot
ICAgICAgICAgICAgICAgIDx0cj48dGQ+Mzk8L3RkPjx0ZD4wLjExNTU8L3RkPjx0ZD4yPC90ZD48
L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+NDA8L3RkPjx0ZD4wLjExMDA8L3RkPjx0ZD4x
PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+RU5EIEVORCBFTkQgRU5EIEVORDwv
dGQ+PHRkPkVORCBFTkQgRU5EIEVORCBFTkQ8L3RkPjx0ZD5FTkQgRU5EIEVORCBFTkQgRU5EPC90
ZD48L3RyPgotICAgICAgICAgICAgPC90YWJsZT4KLSAgICAgICAgPC9kaXY+Ci0gICAgPC9kaXY+
Ci08L2Rpdj4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9u
KCJUZXN0cyB0aGF0IGEgc2Nyb2xsYWJsZSBkaXYgZG9lc24ndCBjb25zdW1lIHdoZWVsIGV2ZW50
cyB3aGVuIHNjcm9sbCBpcyBsYXRjaGVkIHRvIG1haW4gZnJhbWUuIik7Ci08L3NjcmlwdD4KLTxw
cmUgaWQ9ImxheWVycyI+TGF5ZXIgdHJlZSBnb2VzIGhlcmU8L3A+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdp
bmcvZmFzdC1zY3JvbGwtaWZyYW1lLWxhdGNoZWQtaWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9mYXN0LXNjcm9sbC1pZnJhbWUt
bGF0Y2hlZC1pZnJhbWUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA4ZDdhMDhmNzcwNjQxZmM4NmFlZThjMmM4MWM3OGE4NjU0YzljOWZkLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azIvdGlsZWQtZHJhd2luZy9mYXN0LXNjcm9sbC1pZnJhbWUtbGF0Y2hlZC1pZnJhbWUtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotUHV0IG1vdXNlIGhlcmUg
YW5kIGZsaWNrIGRvd253YXJkcwotCi1UZXN0cyB0aGF0IGlmcmFtZSBkb2Vzbid0IHBhc3Mgd2hl
ZWwgZXZlbnRzIHRvIG1haW4gZnJhbWUgd2hlbiBzY3JvbGxpbmcgYXQgYm90dG9tCi0KLU9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
Ci0KLVRFU1QgQ09NUExFVEUKLUlGcmFtZSBkaXNwbGF5IGhlaWdodCA9IDUwMAotTW91c2UgbW92
ZWQgdG8gKDI4LCA1NjYpCi1QYWdlIGJlZm9yZTogMCwgSUZyYW1lIGJlZm9yZTogNDE2Ci1QYWdl
IGFmdGVyOiAgMCwgSUZyYW1lIGFmdGVyOiA1MzEKLVBBU1MgUGFnZSBkaWQgbm90IHJlY2VpdmUg
d2hlZWwgZXZlbnRzLgotKEdyYXBoaWNzTGF5ZXIKLSAgKGJvdW5kcyA3ODUuMDAgMjMyNi4wMCkK
LSAgKHZpc2libGUgcmVjdCAwLjAwLCAwLjAwIDc4NS4wMCB4IDYwMC4wMCkKLSAgKGNvbnRlbnRz
U2NhbGUgMS4wMCkKLSAgKGNoaWxkcmVuIDEKLSAgICAoR3JhcGhpY3NMYXllcgotICAgICAgKGJv
dW5kcyA3ODUuMDAgMjMyNi4wMCkKLSAgICAgIChjb250ZW50c09wYXF1ZSAxKQotICAgICAgKHZp
c2libGUgcmVjdCAwLjAwLCAwLjAwIDc4NS4wMCB4IDYwMC4wMCkKLSAgICAgIChjb250ZW50c1Nj
YWxlIDEuMDApCi0gICAgICAodGlsZSBjYWNoZSBjb3ZlcmFnZSAwLCAwIDc4NSB4IDIwNDgpCi0g
ICAgICAodGlsZSBzaXplIDUxMiB4IDUxMikKLSAgICAgICh0b3AgbGVmdCB0aWxlIDAsIDAgdGls
ZXMgZ3JpZCAyIHggNCkKLSAgICApCi0gICkKLSkKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2Zhc3Qtc2Nyb2xsLWlmcmFtZS1sYXRjaGVk
LWlmcmFtZS13aXRoLWhhbmRsZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMi90aWxlZC1kcmF3aW5nL2Zhc3Qtc2Nyb2xsLWlmcmFtZS1sYXRjaGVkLWlmcmFtZS13
aXRoLWhhbmRsZXItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
ODc3NWI5MDBkNWQxZGE0ZmU0M2E2ZGRkMGM0ZWEwYWI0M2ZhNmJiLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azIvdGlsZWQtZHJhd2luZy9mYXN0LXNjcm9sbC1pZnJhbWUtbGF0Y2hlZC1pZnJhbWUtd2l0aC1o
YW5kbGVyLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLVB1dCBt
b3VzZSBoZXJlIGFuZCBmbGljayBkb3dud2FyZHMKLQotVGVzdHMgdGhhdCBpZnJhbWUgZG9lc24n
dCBwYXNzIHdoZWVsIGV2ZW50cyB0byBtYWluIGZyYW1lIHdoZW4gc2Nyb2xsaW5nIGF0IGJvdHRv
bQotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi1JRnJhbWUgZGlzcGxheSBoZWlnaHQgPSA1MDAK
LU1vdXNlIG1vdmVkIHRvICgyOCwgNTY2KQotUGFnZSBiZWZvcmU6IDAsIElGcmFtZSBiZWZvcmU6
IDQxNgotUGFnZSBhZnRlcjogIDAsIElGcmFtZSBhZnRlcjogNTMxCi1QQVNTIFBhZ2UgZGlkIG5v
dCByZWNlaXZlIHdoZWVsIGV2ZW50cy4KLURvY3VtZW50IHdhcyBpbml0aWFsIHRhcmdldCBmb3Ig
MCBvZiB0aGUgd2hlZWwgZXZlbnRzLgotKEdyYXBoaWNzTGF5ZXIKLSAgKGJvdW5kcyA3ODUuMDAg
MjM0MS4wMCkKLSAgKHZpc2libGUgcmVjdCAwLjAwLCAwLjAwIDc4NS4wMCB4IDYwMC4wMCkKLSAg
KGNvbnRlbnRzU2NhbGUgMS4wMCkKLSAgKGNoaWxkcmVuIDEKLSAgICAoR3JhcGhpY3NMYXllcgot
ICAgICAgKGJvdW5kcyA3ODUuMDAgMjM0MS4wMCkKLSAgICAgIChjb250ZW50c09wYXF1ZSAxKQot
ICAgICAgKHZpc2libGUgcmVjdCAwLjAwLCAwLjAwIDc4NS4wMCB4IDYwMC4wMCkKLSAgICAgIChj
b250ZW50c1NjYWxlIDEuMDApCi0gICAgICAodGlsZSBjYWNoZSBjb3ZlcmFnZSAwLCAwIDc4NSB4
IDIwNDgpCi0gICAgICAodGlsZSBzaXplIDUxMiB4IDUxMikKLSAgICAgICh0b3AgbGVmdCB0aWxl
IDAsIDAgdGlsZXMgZ3JpZCAyIHggNCkKLSAgICApCi0gICkKLSkKLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2Zhc3Qtc2Nyb2xsLWlmcmFt
ZS1sYXRjaGVkLWlmcmFtZS13aXRoLWhhbmRsZXIuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azIvdGlsZWQtZHJhd2luZy9mYXN0LXNjcm9sbC1pZnJhbWUtbGF0Y2hlZC1pZnJhbWUt
d2l0aC1oYW5kbGVyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQyMTJmNWFk
MzAxNGIxNzVhOGM2OTFiNGI2N2I4MjYyZDQzMzEzYTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxl
ZC1kcmF3aW5nL2Zhc3Qtc2Nyb2xsLWlmcmFtZS1sYXRjaGVkLWlmcmFtZS13aXRoLWhhbmRsZXIu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEyNiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGhlYWQ+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RS
L0RPTS1MZXZlbC0zLUV2ZW50cy8jZXZlbnRzLVdoZWVsRXZlbnQiPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFy
IHdoZWVsQ291bnQgPSAwOwotZnVuY3Rpb24gb25TY3JvbGxXaGVlbChldnQpIHsKLSAgICB3aGVl
bENvdW50ID0gd2hlZWxDb3VudCArIDE7Ci19Ci0KLWZ1bmN0aW9uIG9uTG9hZCgpIHsKLSAgICBk
b2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXdoZWVsIiwgb25TY3JvbGxXaGVlbCk7Ci19
Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ib25Mb2FkKCk7Ij4KLTxzY3JpcHQ+
Ci0KLXZhciBpZnJhbWVUYXJnZXQ7Ci12YXIgcGFnZVNjcm9sbFBvc2l0aW9uQmVmb3JlOwotdmFy
IGlGcmFtZVNjcm9sbFBvc2l0aW9uQmVmb3JlOwotdmFyIGNvbnRpbnVlQ291bnQgPSA1OwotCi1m
dW5jdGlvbiBjaGVja0ZvclNjcm9sbCgpIHsKLQotICAgIC8vIFRoZSBJRnJhbWUgc2hvdWxkIG5v
dCBoYXZlIHNjcm9sbGVkIGF0IGFsbC4KLSAgICB2YXIgcGFnZVNjcm9sbFBvc2l0aW9uQWZ0ZXIg
PSBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDsKLSAgICB2YXIgaUZyYW1lU2Nyb2xsUG9zaXRpb25B
ZnRlciA9IHdpbmRvdy5mcmFtZXNbJ3RhcmdldCddLmRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wOwot
Ci0gICAgZGVidWcoIlBhZ2UgYmVmb3JlOiAiICsgcGFnZVNjcm9sbFBvc2l0aW9uQmVmb3JlICsg
IiwgSUZyYW1lIGJlZm9yZTogIiArIGlGcmFtZVNjcm9sbFBvc2l0aW9uQmVmb3JlKTsKLSAgICBk
ZWJ1ZygiUGFnZSBhZnRlcjogICIgKyBwYWdlU2Nyb2xsUG9zaXRpb25BZnRlciArICIsIElGcmFt
ZSBhZnRlcjogIiArIGlGcmFtZVNjcm9sbFBvc2l0aW9uQWZ0ZXIpOwotCi0gICAgaWYgKHBhZ2VT
Y3JvbGxQb3NpdGlvbkJlZm9yZSAhPSBwYWdlU2Nyb2xsUG9zaXRpb25BZnRlcikKLSAgICAgICAg
dGVzdEZhaWxlZCgiUGFnZSByZWNlaXZlZCB3aGVlbCBldmVudHMuIik7Ci0gICAgZWxzZQotICAg
ICAgICB0ZXN0UGFzc2VkKCJQYWdlIGRpZCBub3QgcmVjZWl2ZSB3aGVlbCBldmVudHMuIik7Ci0K
LSAgICBkZWJ1ZygiRG9jdW1lbnQgd2FzIGluaXRpYWwgdGFyZ2V0IGZvciAiICsgd2hlZWxDb3Vu
dCArICIgb2YgdGhlIHdoZWVsIGV2ZW50cy4iKTsKLQotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxz
KSB7Ci0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lclRleHQg
PSBpbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50LAotICAgICAgICAgICAgaW50ZXJu
YWxzLkxBWUVSX1RSRUVfSU5DTFVERVNfVklTSUJMRV9SRUNUUyB8IGludGVybmFscy5MQVlFUl9U
UkVFX0lOQ0xVREVTX1RJTEVfQ0FDSEVTKTsKLSAgICB9Ci0KLSAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKLX0KLQotZnVuY3Rpb24gc2Nyb2xsVGVzdCgpIHsKLSAgICAvLyBTZWUgd2hlcmUg
b3VyIElGcmFtZSBsaXZlczoKLSAgICBwYWdlU2Nyb2xsUG9zaXRpb25CZWZvcmUgPSBkb2N1bWVu
dC5ib2R5LnNjcm9sbFRvcDsKLQotICAgIGlmcmFtZVRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCd0YXJnZXQnKTsKLQotICAgIHZhciBpRnJhbWVCb2R5ID0gd2luZG93LmZyYW1lc1sn
dGFyZ2V0J10uZG9jdW1lbnQuYm9keTsKLSAgICBpRnJhbWVCb2R5LnNjcm9sbFRvcCA9IGlGcmFt
ZUJvZHkuc2Nyb2xsSGVpZ2h0IC0gaWZyYW1lVGFyZ2V0LmNsaWVudEhlaWdodCAtIDEwMDsKLQot
ICAgIGlGcmFtZVNjcm9sbFBvc2l0aW9uQmVmb3JlID0gaUZyYW1lQm9keS5zY3JvbGxUb3A7Ci0K
LSAgICAvLyBTY3JvbGwgdGhlICNzb3VyY2UgdW50aWwgd2UgcmVhY2ggdGhlICN0YXJnZXQuCi0g
ICAgdmFyIHN0YXJ0UG9zWCA9IGlmcmFtZVRhcmdldC5vZmZzZXRMZWZ0ICsgMjA7Ci0gICAgZGVi
dWcoIklGcmFtZSBkaXNwbGF5IGhlaWdodCA9ICIgKyBpZnJhbWVUYXJnZXQuY2xpZW50SGVpZ2h0
KTsKLSAgICB2YXIgc3RhcnRQb3NZID0gaWZyYW1lVGFyZ2V0Lm9mZnNldFRvcCArIGlmcmFtZVRh
cmdldC5jbGllbnRIZWlnaHQgLSA0MjsgLy8gT25lIHdoZWVsIHR1cm4gYmVmb3JlIGVuZC4KLSAg
ICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhzdGFydFBvc1gsIHN0YXJ0UG9zWSk7IC8vIE1ha2Ug
c3VyZSB3ZSBhcmUganVzdCBvdXRzaWRlIHRoZSBpRnJhbWUKLSAgICBkZWJ1ZygiTW91c2UgbW92
ZWQgdG8gKCIgKyBzdGFydFBvc1ggKyAiLCAiICsgc3RhcnRQb3NZICsgIikiKTsKLSAgICBldmVu
dFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdi
ZWdhbicsICdub25lJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhX
aGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnY2hhbmdlZCcsICdub25lJywgdHJ1ZSk7Ci0g
ICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAs
IC0xLCAnY2hhbmdlZCcsICdub25lJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3Jv
bGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIDAsICdlbmRlZCcsICdub25lJywgdHJ1
ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhh
c2VzKDAsIC0xLCAnbm9uZScsICdiZWdpbicsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNl
U2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnY29udGlu
dWUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9t
ZW50dW1QaGFzZXMoMCwgLTEsICdub25lJywgJ2NvbnRpbnVlJywgdHJ1ZSk7Ci0gICAgZXZlbnRT
ZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9u
ZScsICdjb250aW51ZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRo
V2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnY29udGludWUnLCB0cnVlKTsK
LSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMo
MCwgMCwgJ25vbmUnLCAnZW5kJywgdHJ1ZSk7Ci0gICAgc2V0VGltZW91dChjaGVja0ZvclNjcm9s
bCwgMTAwKTsKLX0KLQotZnVuY3Rpb24gc2V0dXBUb3BMZXZlbCgpIHsKLQotICAgIGlmICh3aW5k
b3cuZXZlbnRTZW5kZXIpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOwot
ICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLQotICAgICAgICBzZXRUaW1lb3V0
KHNjcm9sbFRlc3QsIDEwMDApOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHZhciBtZXNzYWdlTG9j
YXRpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFyZW50Jyk7Ci0gICAgICAgIHZhciBt
ZXNzYWdlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0gICAgICAgIG1lc3NhZ2Uu
aW5uZXJIVE1MID0gIjxwPlRoaXMgdGVzdCBpcyBiZXR0ZXIgcnVuIHVuZGVyIER1bXBSZW5kZXJU
cmVlLiBUbyBtYW51YWxseSB0ZXN0IGl0LCBwbGFjZSB0aGUgbW91c2UgcG9pbnRlcjxici8+Igot
ICAgICAgICAgICAgKyAiaW5zaWRlIHRoZSBJRnJhbWUsIHRoZW4gdXNlIHRoZSBtb3VzZSB3aGVl
bCBvciBhIHR3by1maW5nZXIgc3dpcGUgdG8gc2Nyb2xsIHRoZSBJRnJhbWUgdG8gdGhlIGJvdHRv
bSAoYW5kIGJleW9uZCkuPGJyLz4iCi0gICAgICAgICAgICArICI8YnIvPjxici8+IgotICAgICAg
ICAgICAgKyAiVGhlIHRlc3QgcGFzc2VzIGlmIHlvdSBzY3JvbGwgZmFyIGVub3VnaCB0byBzZWUg
dGhlIHJvdyBvZiBFTkQgbGFiZWxzIGJ1dCB0aGUgbWFpbiBwYWdlIGRvZXMgbm90IHNjcm9sbC48
L3A+IjsKLSAgICAgICAgbWVzc2FnZUxvY2F0aW9uLmFwcGVuZENoaWxkKG1lc3NhZ2UpOwotICAg
IH0KLX0KLQotPC9zY3JpcHQ+Ci08ZGl2IGlkPSJwYXJlbnQiIHN0eWxlPSJoZWlnaHQ6IDIwMDBw
eCI+Ci0gICAgPGRpdiBpZD0ic291cmNlIiBzdHlsZT0iaGVpZ2h0OiAxMDBweCI+Ci0gICAgICAg
IFB1dCBtb3VzZSBoZXJlIGFuZCBmbGljayBkb3dud2FyZHMKLSAgICA8L2Rpdj4KLSAgICA8aWZy
YW1lIGlkPSJ0YXJnZXQiIG5hbWU9InRhcmdldCIgc3R5bGU9ImJvcmRlcjpzb2xpZCAxcHggZ3Jl
ZW47IGhlaWdodDogNTAwcHg7IHdpZHRoOiA1MDBweDsiIAotICAgICBzcmM9ICJkYXRhOnRleHQv
aHRtbCwKLSAgICAgPGRpdiBpZD0nbm90VG9CZVNjcm9sbGVkJyBzdHlsZT0naGVpZ2h0OiAxMDAw
cHg7IHdpZHRoOiAxMDAwcHg7Jz4KLSAgICAgVE9QIFRPUCBUT1AgVE9QIFRPUCBUT1AgVE9QIFRP
UCBUT1AgVE9QIFRPUCBUT1AgVE9QIFRPUDxici8+PGJyLz4KLSAgICAgVGhpcyBzaG91bGQgc3Rp
bGwgYmUgdmlzaWJsZSBpbnNpZGUgdGhlIGZyYW1lIGFmdGVyIHlvdSBzY3JvbGwgZG93bgotICAg
ICA8YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+
PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+Ci0gICAgIDxici8+PGJyLz48YnIvPjxici8+
PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxi
ci8+PGJyLz4KLSAgICAgPGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxi
ci8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPgotICAgICBUaGlzIHNo
b3VsZCBOT1QgYmUgdmlzaWJsZSBpbnNpZGUgdGhlIGZyYW1lIGFmdGVyIHlvdSBzY3JvbGwgZG93
bjxici8+Ci0gICAgIDxici8+Ci0gICAgIEVORCBFTkQgRU5EIEVORCBFTkQgRU5EIEVORCBFTkQg
RU5EIEVORCBFTkQgRU5EIEVORAotICAgICA8L2Rpdj4KLSAgICAgIgotICAgICBvbmxvYWQ9InNl
dHVwVG9wTGV2ZWwoKTsiCi0gICAgID4KLSAgICA8L2lmcmFtZT4KLTwvZGl2PgotPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgaWZyYW1l
IGRvZXNuJ3QgcGFzcyB3aGVlbCBldmVudHMgdG8gbWFpbiBmcmFtZSB3aGVuIHNjcm9sbGluZyBh
dCBib3R0b20iKTsKLTwvc2NyaXB0PgotPHByZSBpZD0ibGF5ZXJzIj5MYXllciB0cmVlIGdvZXMg
aGVyZTwvcD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9mYXN0LXNjcm9sbC1pZnJhbWUtbGF0Y2hlZC1p
ZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9m
YXN0LXNjcm9sbC1pZnJhbWUtbGF0Y2hlZC1pZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNjg1NmZhMjAxNDBlNDhjZjc5NmNiM2IxYTZlZGMxOGQzMTk1MzY0Zi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZmFzdC1zY3JvbGwtaWZyYW1lLWxhdGNoZWQt
aWZyYW1lLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMTQgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxoZWFkPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3Lncz
Lm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvI2V2ZW50cy1XaGVlbEV2ZW50Ij4KLTxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08c2NyaXB0PgotCi12YXIgaWZyYW1lVGFyZ2V0OwotdmFyIHBhZ2VTY3JvbGxQ
b3NpdGlvbkJlZm9yZTsKLXZhciBpRnJhbWVTY3JvbGxQb3NpdGlvbkJlZm9yZTsKLXZhciBjb250
aW51ZUNvdW50ID0gNTsKLQotZnVuY3Rpb24gY2hlY2tGb3JTY3JvbGwoKSB7Ci0KLSAgICAvLyBU
aGUgSUZyYW1lIHNob3VsZCBub3QgaGF2ZSBzY3JvbGxlZCBhdCBhbGwuCi0gICAgdmFyIHBhZ2VT
Y3JvbGxQb3NpdGlvbkFmdGVyID0gZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7Ci0gICAgdmFyIGlG
cmFtZVNjcm9sbFBvc2l0aW9uQWZ0ZXIgPSB3aW5kb3cuZnJhbWVzWyd0YXJnZXQnXS5kb2N1bWVu
dC5ib2R5LnNjcm9sbFRvcDsKLQotICAgIGRlYnVnKCJQYWdlIGJlZm9yZTogIiArIHBhZ2VTY3Jv
bGxQb3NpdGlvbkJlZm9yZSArICIsIElGcmFtZSBiZWZvcmU6ICIgKyBpRnJhbWVTY3JvbGxQb3Np
dGlvbkJlZm9yZSk7Ci0gICAgZGVidWcoIlBhZ2UgYWZ0ZXI6ICAiICsgcGFnZVNjcm9sbFBvc2l0
aW9uQWZ0ZXIgKyAiLCBJRnJhbWUgYWZ0ZXI6ICIgKyBpRnJhbWVTY3JvbGxQb3NpdGlvbkFmdGVy
KTsKLQotICAgIGlmIChwYWdlU2Nyb2xsUG9zaXRpb25CZWZvcmUgIT0gcGFnZVNjcm9sbFBvc2l0
aW9uQWZ0ZXIpCi0gICAgICAgIHRlc3RGYWlsZWQoIlBhZ2UgcmVjZWl2ZWQgd2hlZWwgZXZlbnRz
LiIpOwotICAgIGVsc2UKLSAgICAgICAgdGVzdFBhc3NlZCgiUGFnZSBkaWQgbm90IHJlY2VpdmUg
d2hlZWwgZXZlbnRzLiIpOwotCi0gICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVyVGV4dCA9IGludGVybmFscy5s
YXllclRyZWVBc1RleHQoZG9jdW1lbnQsCi0gICAgICAgICAgICBpbnRlcm5hbHMuTEFZRVJfVFJF
RV9JTkNMVURFU19WSVNJQkxFX1JFQ1RTIHwgaW50ZXJuYWxzLkxBWUVSX1RSRUVfSU5DTFVERVNf
VElMRV9DQUNIRVMpOwotICAgIH0KLQotICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfQot
Ci1mdW5jdGlvbiBzY3JvbGxUZXN0KCkgewotICAgIC8vIFNlZSB3aGVyZSBvdXIgSUZyYW1lIGxp
dmVzOgotICAgIHBhZ2VTY3JvbGxQb3NpdGlvbkJlZm9yZSA9IGRvY3VtZW50LmJvZHkuc2Nyb2xs
VG9wOwotCi0gICAgaWZyYW1lVGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rhcmdl
dCcpOwotCi0gICAgdmFyIGlGcmFtZUJvZHkgPSB3aW5kb3cuZnJhbWVzWyd0YXJnZXQnXS5kb2N1
bWVudC5ib2R5OwotICAgIGlGcmFtZUJvZHkuc2Nyb2xsVG9wID0gaUZyYW1lQm9keS5zY3JvbGxI
ZWlnaHQgLSBpZnJhbWVUYXJnZXQuY2xpZW50SGVpZ2h0IC0gMTAwOwotCi0gICAgaUZyYW1lU2Ny
b2xsUG9zaXRpb25CZWZvcmUgPSBpRnJhbWVCb2R5LnNjcm9sbFRvcDsKLQotICAgIC8vIFNjcm9s
bCB0aGUgI3NvdXJjZSB1bnRpbCB3ZSByZWFjaCB0aGUgI3RhcmdldC4KLSAgICB2YXIgc3RhcnRQ
b3NYID0gaWZyYW1lVGFyZ2V0Lm9mZnNldExlZnQgKyAyMDsKLSAgICBkZWJ1ZygiSUZyYW1lIGRp
c3BsYXkgaGVpZ2h0ID0gIiArIGlmcmFtZVRhcmdldC5jbGllbnRIZWlnaHQpOwotICAgIHZhciBz
dGFydFBvc1kgPSBpZnJhbWVUYXJnZXQub2Zmc2V0VG9wICsgaWZyYW1lVGFyZ2V0LmNsaWVudEhl
aWdodCAtIDQyOyAvLyBPbmUgd2hlZWwgdHVybiBiZWZvcmUgZW5kLgotICAgIGV2ZW50U2VuZGVy
Lm1vdXNlTW92ZVRvKHN0YXJ0UG9zWCwgc3RhcnRQb3NZKTsgLy8gTWFrZSBzdXJlIHdlIGFyZSBq
dXN0IG91dHNpZGUgdGhlIGlGcmFtZQotICAgIGRlYnVnKCJNb3VzZSBtb3ZlZCB0byAoIiArIHN0
YXJ0UG9zWCArICIsICIgKyBzdGFydFBvc1kgKyAiKSIpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNl
U2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ2JlZ2FuJywgJ25vbmUn
LCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50
dW1QaGFzZXMoMCwgLTEsICdjaGFuZ2VkJywgJ25vbmUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRl
ci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdjaGFuZ2Vk
JywgJ25vbmUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVs
QW5kTW9tZW50dW1QaGFzZXMoMCwgMCwgJ2VuZGVkJywgJ25vbmUnLCB0cnVlKTsKLSAgICBldmVu
dFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdu
b25lJywgJ2JlZ2luJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhX
aGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdjb250aW51ZScsIHRydWUpOwot
ICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygw
LCAtMSwgJ25vbmUnLCAnY29udGludWUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNj
cm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdub25lJywgJ2NvbnRpbnVl
JywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVu
dHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdjb250aW51ZScsIHRydWUpOwotICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAwLCAnbm9uZScs
ICdlbmQnLCB0cnVlKTsKLSAgICBzZXRUaW1lb3V0KGNoZWNrRm9yU2Nyb2xsLCAxMDApOwotfQot
Ci1mdW5jdGlvbiBzZXR1cFRvcExldmVsKCkgewotCi0gICAgaWYgKHdpbmRvdy5ldmVudFNlbmRl
cikgewotICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7Ci0gICAgICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOwotCi0gICAgICAgIHNldFRpbWVvdXQoc2Nyb2xsVGVzdCwg
MTAwMCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgdmFyIG1lc3NhZ2VMb2NhdGlvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdwYXJlbnQnKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICAgICAgbWVzc2FnZS5pbm5lckhUTUwgPSAi
PHA+VGhpcyB0ZXN0IGlzIGJldHRlciBydW4gdW5kZXIgRHVtcFJlbmRlclRyZWUuIFRvIG1hbnVh
bGx5IHRlc3QgaXQsIHBsYWNlIHRoZSBtb3VzZSBwb2ludGVyPGJyLz4iCi0gICAgICAgICAgICAr
ICJpbnNpZGUgdGhlIElGcmFtZSwgdGhlbiB1c2UgdGhlIG1vdXNlIHdoZWVsIG9yIGEgdHdvLWZp
bmdlciBzd2lwZSB0byBzY3JvbGwgdGhlIElGcmFtZSB0byB0aGUgYm90dG9tIChhbmQgYmV5b25k
KS48YnIvPiIKLSAgICAgICAgICAgICsgIjxici8+PGJyLz4iCi0gICAgICAgICAgICArICJUaGUg
dGVzdCBwYXNzZXMgaWYgeW91IHNjcm9sbCBmYXIgZW5vdWdoIHRvIHNlZSB0aGUgcm93IG9mIEVO
RCBsYWJlbHMgYnV0IHRoZSBtYWluIHBhZ2UgZG9lcyBub3Qgc2Nyb2xsLjwvcD4iOwotICAgICAg
ICBtZXNzYWdlTG9jYXRpb24uYXBwZW5kQ2hpbGQobWVzc2FnZSk7Ci0gICAgfQotfQotCi08L3Nj
cmlwdD4KLTxkaXYgaWQ9InBhcmVudCIgc3R5bGU9ImhlaWdodDogMjAwMHB4Ij4KLSAgICA8ZGl2
IGlkPSJzb3VyY2UiIHN0eWxlPSJoZWlnaHQ6IDEwMHB4Ij4KLSAgICAgICAgUHV0IG1vdXNlIGhl
cmUgYW5kIGZsaWNrIGRvd253YXJkcwotICAgIDwvZGl2PgotICAgIDxpZnJhbWUgaWQ9InRhcmdl
dCIgbmFtZT0idGFyZ2V0IiBzdHlsZT0iYm9yZGVyOnNvbGlkIDFweCBncmVlbjsgaGVpZ2h0OiA1
MDBweDsgd2lkdGg6IDUwMHB4OyIgCi0gICAgIHNyYz0gImRhdGE6dGV4dC9odG1sLAotICAgICA8
ZGl2IGlkPSdub3RUb0JlU2Nyb2xsZWQnIHN0eWxlPSdoZWlnaHQ6IDEwMDBweDsgd2lkdGg6IDEw
MDBweDsnPgotICAgICBUT1AgVE9QIFRPUCBUT1AgVE9QIFRPUCBUT1AgVE9QIFRPUCBUT1AgVE9Q
IFRPUCBUT1AgVE9QPGJyLz48YnIvPgotICAgICBUaGlzIHNob3VsZCBzdGlsbCBiZSB2aXNpYmxl
IGluc2lkZSB0aGUgZnJhbWUgYWZ0ZXIgeW91IHNjcm9sbCBkb3duCi0gICAgIDxici8+PGJyLz48
YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJy
Lz48YnIvPjxici8+PGJyLz4KLSAgICAgPGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJy
Lz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPgotICAg
ICA8YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+
PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+Ci0gICAgIFRoaXMgc2hvdWxkIE5PVCBiZSB2
aXNpYmxlIGluc2lkZSB0aGUgZnJhbWUgYWZ0ZXIgeW91IHNjcm9sbCBkb3duPGJyLz4KLSAgICAg
PGJyLz4KLSAgICAgRU5EIEVORCBFTkQgRU5EIEVORCBFTkQgRU5EIEVORCBFTkQgRU5EIEVORCBF
TkQgRU5ECi0gICAgIDwvZGl2PgotICAgICAiCi0gICAgIG9ubG9hZD0ic2V0dXBUb3BMZXZlbCgp
OyIKLSAgICAgPgotICAgIDwvaWZyYW1lPgotPC9kaXY+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBpZnJhbWUgZG9lc24ndCBwYXNz
IHdoZWVsIGV2ZW50cyB0byBtYWluIGZyYW1lIHdoZW4gc2Nyb2xsaW5nIGF0IGJvdHRvbSIpOwot
PC9zY3JpcHQ+Ci08cHJlIGlkPSJsYXllcnMiPkxheWVyIHRyZWUgZ29lcyBoZXJlPC9wPgotPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
Mi90aWxlZC1kcmF3aW5nL2Zhc3Qtc2Nyb2xsLWlmcmFtZS1sYXRjaGVkLW1haW5mcmFtZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZmFz
dC1zY3JvbGwtaWZyYW1lLWxhdGNoZWQtbWFpbmZyYW1lLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNTI1NDk3YTgwYzY4ZWQ0NGU2NGRiNjI3ZjFhMTVlMDRjY2Y3
MDc1My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZmFzdC1zY3JvbGwtaWZyYW1l
LWxhdGNoZWQtbWFpbmZyYW1lLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMxICsw
LDAgQEAKLVB1dCBtb3VzZSBoZXJlIGFuZCBmbGljayBkb3dud2FyZHMKLQotVGVzdHMgdGhhdCBp
ZnJhbWUgZG9lc24ndCBjb25zdW1lIHdoZWVsIGV2ZW50cyB3aGVuIHNjcm9sbAotCi1PbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQot
Ci1URVNUIENPTVBMRVRFCi1Nb3VzZSBtb3ZlZCB0byAoMjgsIDY2KQotUGFnZSBiZWZvcmU6IDAs
IElGcmFtZSBiZWZvcmU6IDAKLVBhZ2UgYWZ0ZXI6ICAyODAsIElGcmFtZSBhZnRlcjogMAotUEFT
UyBJRnJhbWUgZGlkIG5vdCByZWNlaXZlIHdoZWVsIGV2ZW50cy4KLShHcmFwaGljc0xheWVyCi0g
IChib3VuZHMgNzg1LjAwIDIzMTEuMDApCi0gICh2aXNpYmxlIHJlY3QgMC4wMCwgMjgwLjAwIDc4
NS4wMCB4IDYwMC4wMCkKLSAgKGNvbnRlbnRzU2NhbGUgMS4wMCkKLSAgKGNoaWxkcmVuIDEKLSAg
ICAoR3JhcGhpY3NMYXllcgotICAgICAgKGJvdW5kcyA3ODUuMDAgMjMxMS4wMCkKLSAgICAgIChj
b250ZW50c09wYXF1ZSAxKQotICAgICAgKHZpc2libGUgcmVjdCAwLjAwLCAyODAuMDAgNzg1LjAw
IHggNjAwLjAwKQotICAgICAgKGNvbnRlbnRzU2NhbGUgMS4wMCkKLSAgICAgICh0aWxlIGNhY2hl
IGNvdmVyYWdlIDAsIDAgNzg1IHggMjA0OCkKLSAgICAgICh0aWxlIHNpemUgNTEyIHggNTEyKQot
ICAgICAgKHRvcCBsZWZ0IHRpbGUgMCwgMCB0aWxlcyBncmlkIDIgeCA0KQotICAgICkKLSAgKQot
KQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdp
bmcvZmFzdC1zY3JvbGwtaWZyYW1lLWxhdGNoZWQtbWFpbmZyYW1lLXdpdGgtaGFuZGxlci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZmFz
dC1zY3JvbGwtaWZyYW1lLWxhdGNoZWQtbWFpbmZyYW1lLXdpdGgtaGFuZGxlci1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFhNzZiYjQ0OTk2MWM3OWVmZGM1Y2Qw
NzVhMzkxMTU5YjQwODdiZjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2Zhc3Qt
c2Nyb2xsLWlmcmFtZS1sYXRjaGVkLW1haW5mcmFtZS13aXRoLWhhbmRsZXItZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotUHV0IG1vdXNlIGhlcmUgYW5kIGZsaWNr
IGRvd253YXJkcwotCi1UZXN0cyB0aGF0IGlmcmFtZSBkb2Vzbid0IGNvbnN1bWUgd2hlZWwgZXZl
bnRzIHdoZW4gc2Nyb2xsCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLU1vdXNlIG1vdmVkIHRv
ICgyOCwgNjYpCi1QYWdlIGJlZm9yZTogMCwgSUZyYW1lIGJlZm9yZTogMAotUGFnZSBhZnRlcjog
IDI4MCwgSUZyYW1lIGFmdGVyOiAwCi1QQVNTIElGcmFtZSBkaWQgbm90IHJlY2VpdmUgd2hlZWwg
ZXZlbnRzLgotRG9jdW1lbnQgd2FzIGluaXRpYWwgdGFyZ2V0IGZvciA0IG9mIHRoZSB3aGVlbCBl
dmVudHMuCi0oR3JhcGhpY3NMYXllcgotICAoYm91bmRzIDc4NS4wMCAyMzI2LjAwKQotICAodmlz
aWJsZSByZWN0IDAuMDAsIDI4MC4wMCA3ODUuMDAgeCA2MDAuMDApCi0gIChjb250ZW50c1NjYWxl
IDEuMDApCi0gIChjaGlsZHJlbiAxCi0gICAgKEdyYXBoaWNzTGF5ZXIKLSAgICAgIChib3VuZHMg
Nzg1LjAwIDIzMjYuMDApCi0gICAgICAoY29udGVudHNPcGFxdWUgMSkKLSAgICAgICh2aXNpYmxl
IHJlY3QgMC4wMCwgMjgwLjAwIDc4NS4wMCB4IDYwMC4wMCkKLSAgICAgIChjb250ZW50c1NjYWxl
IDEuMDApCi0gICAgICAodGlsZSBjYWNoZSBjb3ZlcmFnZSAwLCAwIDc4NSB4IDIwNDgpCi0gICAg
ICAodGlsZSBzaXplIDUxMiB4IDUxMikKLSAgICAgICh0b3AgbGVmdCB0aWxlIDAsIDAgdGlsZXMg
Z3JpZCAyIHggNCkKLSAgICApCi0gICkKLSkKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2Zhc3Qtc2Nyb2xsLWlmcmFtZS1sYXRjaGVkLW1h
aW5mcmFtZS13aXRoLWhhbmRsZXIuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
dGlsZWQtZHJhd2luZy9mYXN0LXNjcm9sbC1pZnJhbWUtbGF0Y2hlZC1tYWluZnJhbWUtd2l0aC1o
YW5kbGVyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg5YjQ3YTc5ZTNiZDYz
MWRiOWYyZDVhNGUyMzk0ZDRmMDJlZTkyMDUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3
aW5nL2Zhc3Qtc2Nyb2xsLWlmcmFtZS1sYXRjaGVkLW1haW5mcmFtZS13aXRoLWhhbmRsZXIuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDEyMSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1s
PgotPGhlYWQ+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL0RP
TS1MZXZlbC0zLUV2ZW50cy8jZXZlbnRzLVdoZWVsRXZlbnQiPgotPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFyIHdo
ZWVsQ291bnQgPSAwOwotZnVuY3Rpb24gb25TY3JvbGxXaGVlbChldnQpIHsKLSAgICB3aGVlbENv
dW50ID0gd2hlZWxDb3VudCArIDE7Ci19Ci0KLWZ1bmN0aW9uIG9uTG9hZCgpIHsKLSAgICBkb2N1
bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXdoZWVsIiwgb25TY3JvbGxXaGVlbCk7Ci19Ci08
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ib25Mb2FkKCk7Ij4KLTxzY3JpcHQ+Ci0K
LXZhciBpZnJhbWVUYXJnZXQ7Ci12YXIgcGFnZVNjcm9sbFBvc2l0aW9uQmVmb3JlOwotdmFyIGlG
cmFtZVNjcm9sbFBvc2l0aW9uQmVmb3JlOwotdmFyIGNvbnRpbnVlQ291bnQgPSA1OwotCi1mdW5j
dGlvbiBjaGVja0ZvclNjcm9sbCgpIHsKLQotICAgIC8vIFRoZSBJRnJhbWUgc2hvdWxkIG5vdCBo
YXZlIHNjcm9sbGVkIGF0IGFsbC4KLSAgICB2YXIgcGFnZVNjcm9sbFBvc2l0aW9uQWZ0ZXIgPSBk
b2N1bWVudC5ib2R5LnNjcm9sbFRvcDsKLSAgICB2YXIgaUZyYW1lU2Nyb2xsUG9zaXRpb25BZnRl
ciA9IHdpbmRvdy5mcmFtZXNbJ3RhcmdldCddLmRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wOwotCi0g
ICAgZGVidWcoIlBhZ2UgYmVmb3JlOiAiICsgcGFnZVNjcm9sbFBvc2l0aW9uQmVmb3JlICsgIiwg
SUZyYW1lIGJlZm9yZTogIiArIGlGcmFtZVNjcm9sbFBvc2l0aW9uQmVmb3JlKTsKLSAgICBkZWJ1
ZygiUGFnZSBhZnRlcjogICIgKyBwYWdlU2Nyb2xsUG9zaXRpb25BZnRlciArICIsIElGcmFtZSBh
ZnRlcjogIiArIGlGcmFtZVNjcm9sbFBvc2l0aW9uQWZ0ZXIpOwotCi0gICAgaWYgKGlGcmFtZVNj
cm9sbFBvc2l0aW9uQmVmb3JlICE9IGlGcmFtZVNjcm9sbFBvc2l0aW9uQWZ0ZXIpCi0gICAgICAg
IHRlc3RGYWlsZWQoIklGcmFtZSBjb25zdW1lZCB3aGVlbCBldmVudHMuIik7Ci0gICAgZWxzZQot
ICAgICAgICB0ZXN0UGFzc2VkKCJJRnJhbWUgZGlkIG5vdCByZWNlaXZlIHdoZWVsIGV2ZW50cy4i
KTsKLQotICAgIGRlYnVnKCJEb2N1bWVudCB3YXMgaW5pdGlhbCB0YXJnZXQgZm9yICIgKyB3aGVl
bENvdW50ICsgIiBvZiB0aGUgd2hlZWwgZXZlbnRzLiIpOwotCi0gICAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpIHsKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVy
VGV4dCA9IGludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQsCi0gICAgICAgICAgICBp
bnRlcm5hbHMuTEFZRVJfVFJFRV9JTkNMVURFU19WSVNJQkxFX1JFQ1RTIHwgaW50ZXJuYWxzLkxB
WUVSX1RSRUVfSU5DTFVERVNfVElMRV9DQUNIRVMpOwotICAgIH0KLQotICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBzY3JvbGxUZXN0KCkgewotICAgIC8vIFNlZSB3
aGVyZSBvdXIgSUZyYW1lIGxpdmVzOgotICAgIHBhZ2VTY3JvbGxQb3NpdGlvbkJlZm9yZSA9IGRv
Y3VtZW50LmJvZHkuc2Nyb2xsVG9wOwotICAgIGlGcmFtZVNjcm9sbFBvc2l0aW9uQmVmb3JlID0g
d2luZG93LmZyYW1lc1sndGFyZ2V0J10uZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7Ci0KLSAgICBp
ZnJhbWVUYXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0Jyk7Ci0KLSAgICAv
LyBTY3JvbGwgdGhlICNzb3VyY2UgdW50aWwgd2UgcmVhY2ggdGhlICN0YXJnZXQuCi0gICAgdmFy
IHN0YXJ0UG9zWCA9IGlmcmFtZVRhcmdldC5vZmZzZXRMZWZ0ICsgMjA7Ci0gICAgdmFyIHN0YXJ0
UG9zWSA9IGlmcmFtZVRhcmdldC5vZmZzZXRUb3AgLSA0MjsgLy8gU2xpZ2h0bHkgbW9yZSB0aGFu
IG9uZSB3aGVlbCBzY3JvbGwgYXdheSBmcm9tIHRoZSBJRnJhbWUKLSAgICBldmVudFNlbmRlci5t
b3VzZU1vdmVUbyhzdGFydFBvc1gsIHN0YXJ0UG9zWSk7IC8vIE1ha2Ugc3VyZSB3ZSBhcmUganVz
dCBvdXRzaWRlIHRoZSBpRnJhbWUKLSAgICBkZWJ1ZygiTW91c2UgbW92ZWQgdG8gKCIgKyBzdGFy
dFBvc1ggKyAiLCAiICsgc3RhcnRQb3NZICsgIikiKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNj
cm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdiZWdhbicsICdub25lJywg
dHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVt
UGhhc2VzKDAsIC0xLCAnY2hhbmdlZCcsICdub25lJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIu
bW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnY2hhbmdlZCcs
ICdub25lJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFu
ZE1vbWVudHVtUGhhc2VzKDAsIDAsICdlbmRlZCcsICdub25lJywgdHJ1ZSk7Ci0gICAgZXZlbnRT
ZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9u
ZScsICdiZWdpbicsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hl
ZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnY29udGludWUnLCB0cnVlKTsKLSAg
ICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwg
LTEsICdub25lJywgJ2NvbnRpbnVlJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3Jv
bGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdjb250aW51ZScs
IHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1
bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnY29udGludWUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRl
ci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgMCwgJ25vbmUnLCAn
ZW5kJywgdHJ1ZSk7Ci0gICAgc2V0VGltZW91dChjaGVja0ZvclNjcm9sbCwgMTAwKTsKLX0KLQot
ZnVuY3Rpb24gc2V0dXBUb3BMZXZlbCgpIHsKLQotICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIp
IHsKLSAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOwotICAgICAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKLQotICAgICAgICBzZXRUaW1lb3V0KHNjcm9sbFRlc3QsIDEw
MDApOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHZhciBtZXNzYWdlTG9jYXRpb24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgncGFyZW50Jyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0gICAgICAgIG1lc3NhZ2UuaW5uZXJIVE1MID0gIjxw
PlRoaXMgdGVzdCBpcyBiZXR0ZXIgcnVuIHVuZGVyIER1bXBSZW5kZXJUcmVlLiBUbyBtYW51YWxs
eSB0ZXN0IGl0LCBwbGFjZSB0aGUgbW91c2UgcG9pbnRlcjxici8+IgotICAgICAgICAgICAgKyAi
YXQgdGhlIHRvcCBvZiB0aGUgcGFnZSwgYW5kIHRoZW4gdXNlIHRoZSBtb3VzZSB3aGVlbCBvciBh
IHR3by1maW5nZXIgc3dpcGUgdG8gc2Nyb2xsIHRoZTxici8+IgotICAgICAgICAgICAgKyAiZG93
biBwYXN0IHRoZSBJRnJhbWUuPGJyLz48YnIvPiIKLSAgICAgICAgICAgICsgIllvdSBzaG91bGQg
bm90IHNlZSB0aGUgcm93IG9mIEVORCBsYWJlbHMgaWYgdGhpcyB0ZXN0IGlzIHN1Y2Nlc3NmdWwu
PC9wPiI7Ci0gICAgICAgIG1lc3NhZ2VMb2NhdGlvbi5hcHBlbmRDaGlsZChtZXNzYWdlKTsKLSAg
ICB9Ci19Ci0KLTwvc2NyaXB0PgotPGRpdiBpZD0icGFyZW50IiBzdHlsZT0iaGVpZ2h0OiAyMDAw
cHgiPgotICAgIDxkaXYgaWQ9InNvdXJjZSIgc3R5bGU9ImhlaWdodDogMTAwcHgiPgotICAgICAg
ICBQdXQgbW91c2UgaGVyZSBhbmQgZmxpY2sgZG93bndhcmRzCi0gICAgPC9kaXY+Ci0gICAgPGlm
cmFtZSBpZD0idGFyZ2V0IiBuYW1lPSJ0YXJnZXQiIHN0eWxlPSJib3JkZXI6c29saWQgMXB4IGdy
ZWVuOyBoZWlnaHQ6IDUwMHB4OyB3aWR0aDogNTAwcHg7IiAKLSAgICAgc3JjPSAiZGF0YTp0ZXh0
L2h0bWwsCi0gICAgIDxkaXYgaWQ9J25vdFRvQmVTY3JvbGxlZCcgc3R5bGU9J2hlaWdodDogMTAw
MHB4OyB3aWR0aDogMTAwMHB4Oyc+Ci0gICAgIFRPUCBUT1AgVE9QIFRPUCBUT1AgVE9QIFRPUCBU
T1AgVE9QIFRPUCBUT1AgVE9QIFRPUCBUT1A8YnIvPjxici8+Ci0gICAgIFRoaXMgc2hvdWxkIHN0
aWxsIGJlIHZpc2libGUgaW5zaWRlIHRoZSBmcmFtZSBhZnRlciB5b3Ugc2Nyb2xsIGRvd24KLSAg
ICAgPGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIv
Pjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPgotICAgICA8YnIvPjxici8+PGJyLz48YnIv
Pjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48
YnIvPjxici8+Ci0gICAgIDxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48
YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz4KLSAgICAgVGhpcyBz
aG91bGQgTk9UIGJlIHZpc2libGUgaW5zaWRlIHRoZSBmcmFtZSBhZnRlciB5b3Ugc2Nyb2xsIGRv
d248YnIvPgotICAgICA8YnIvPgotICAgICBFTkQgRU5EIEVORCBFTkQgRU5EIEVORCBFTkQgRU5E
IEVORCBFTkQgRU5EIEVORCBFTkQKLSAgICAgPC9kaXY+Ci0gICAgICIKLSAgICAgb25sb2FkPSJz
ZXR1cFRvcExldmVsKCk7IgotICAgICA+Ci0gICAgPC9pZnJhbWU+Ci08L2Rpdj4KLTxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGlmcmFt
ZSBkb2Vzbid0IGNvbnN1bWUgd2hlZWwgZXZlbnRzIHdoZW4gc2Nyb2xsICIpOwotPC9zY3JpcHQ+
Ci08cHJlIGlkPSJsYXllcnMiPkxheWVyIHRyZWUgZ29lcyBoZXJlPC9wPgotPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1k
cmF3aW5nL2Zhc3Qtc2Nyb2xsLWlmcmFtZS1sYXRjaGVkLW1haW5mcmFtZS5odG1sIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2Zhc3Qtc2Nyb2xsLWlmcmFtZS1s
YXRjaGVkLW1haW5mcmFtZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZGJk
MjBhZmZjMTRkMWNmMDU4ODllNDVhOWQ2YzAwZGE1ZGQ3ZDI2Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
dGlsZWQtZHJhd2luZy9mYXN0LXNjcm9sbC1pZnJhbWUtbGF0Y2hlZC1tYWluZnJhbWUuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDEwOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1M
ZXZlbC0zLUV2ZW50cy8jZXZlbnRzLVdoZWVsRXZlbnQiPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxz
Y3JpcHQ+Ci0KLXZhciBpZnJhbWVUYXJnZXQ7Ci12YXIgcGFnZVNjcm9sbFBvc2l0aW9uQmVmb3Jl
OwotdmFyIGlGcmFtZVNjcm9sbFBvc2l0aW9uQmVmb3JlOwotdmFyIGNvbnRpbnVlQ291bnQgPSA1
OwotCi1mdW5jdGlvbiBjaGVja0ZvclNjcm9sbCgpIHsKLQotICAgIC8vIFRoZSBJRnJhbWUgc2hv
dWxkIG5vdCBoYXZlIHNjcm9sbGVkIGF0IGFsbC4KLSAgICB2YXIgcGFnZVNjcm9sbFBvc2l0aW9u
QWZ0ZXIgPSBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDsKLSAgICB2YXIgaUZyYW1lU2Nyb2xsUG9z
aXRpb25BZnRlciA9IHdpbmRvdy5mcmFtZXNbJ3RhcmdldCddLmRvY3VtZW50LmJvZHkuc2Nyb2xs
VG9wOwotCi0gICAgZGVidWcoIlBhZ2UgYmVmb3JlOiAiICsgcGFnZVNjcm9sbFBvc2l0aW9uQmVm
b3JlICsgIiwgSUZyYW1lIGJlZm9yZTogIiArIGlGcmFtZVNjcm9sbFBvc2l0aW9uQmVmb3JlKTsK
LSAgICBkZWJ1ZygiUGFnZSBhZnRlcjogICIgKyBwYWdlU2Nyb2xsUG9zaXRpb25BZnRlciArICIs
IElGcmFtZSBhZnRlcjogIiArIGlGcmFtZVNjcm9sbFBvc2l0aW9uQWZ0ZXIpOwotCi0gICAgaWYg
KGlGcmFtZVNjcm9sbFBvc2l0aW9uQmVmb3JlICE9IGlGcmFtZVNjcm9sbFBvc2l0aW9uQWZ0ZXIp
Ci0gICAgICAgIHRlc3RGYWlsZWQoIklGcmFtZSBjb25zdW1lZCB3aGVlbCBldmVudHMuIik7Ci0g
ICAgZWxzZQotICAgICAgICB0ZXN0UGFzc2VkKCJJRnJhbWUgZGlkIG5vdCByZWNlaXZlIHdoZWVs
IGV2ZW50cy4iKTsKLQotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lclRleHQgPSBpbnRlcm5hbHMubGF5ZXJU
cmVlQXNUZXh0KGRvY3VtZW50LAotICAgICAgICAgICAgaW50ZXJuYWxzLkxBWUVSX1RSRUVfSU5D
TFVERVNfVklTSUJMRV9SRUNUUyB8IGludGVybmFscy5MQVlFUl9UUkVFX0lOQ0xVREVTX1RJTEVf
Q0FDSEVTKTsKLSAgICB9Ci0KLSAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVu
Y3Rpb24gc2Nyb2xsVGVzdCgpIHsKLSAgICAvLyBTZWUgd2hlcmUgb3VyIElGcmFtZSBsaXZlczoK
LSAgICBwYWdlU2Nyb2xsUG9zaXRpb25CZWZvcmUgPSBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDsK
LSAgICBpRnJhbWVTY3JvbGxQb3NpdGlvbkJlZm9yZSA9IHdpbmRvdy5mcmFtZXNbJ3RhcmdldCdd
LmRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wOwotCi0gICAgaWZyYW1lVGFyZ2V0ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3RhcmdldCcpOwotCi0gICAgLy8gU2Nyb2xsIHRoZSAjc291cmNlIHVu
dGlsIHdlIHJlYWNoIHRoZSAjdGFyZ2V0LgotICAgIHZhciBzdGFydFBvc1ggPSBpZnJhbWVUYXJn
ZXQub2Zmc2V0TGVmdCArIDIwOwotICAgIHZhciBzdGFydFBvc1kgPSBpZnJhbWVUYXJnZXQub2Zm
c2V0VG9wIC0gNDI7IC8vIFNsaWdodGx5IG1vcmUgdGhhbiBvbmUgd2hlZWwgc2Nyb2xsIGF3YXkg
ZnJvbSB0aGUgSUZyYW1lCi0gICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oc3RhcnRQb3NYLCBz
dGFydFBvc1kpOyAvLyBNYWtlIHN1cmUgd2UgYXJlIGp1c3Qgb3V0c2lkZSB0aGUgaUZyYW1lCi0g
ICAgZGVidWcoIk1vdXNlIG1vdmVkIHRvICgiICsgc3RhcnRQb3NYICsgIiwgIiArIHN0YXJ0UG9z
WSArICIpIik7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVu
dHVtUGhhc2VzKDAsIC0xLCAnYmVnYW4nLCAnbm9uZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVy
Lm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ2NoYW5nZWQn
LCAnbm9uZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxB
bmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ2NoYW5nZWQnLCAnbm9uZScsIHRydWUpOwotICAgIGV2
ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAwLCAn
ZW5kZWQnLCAnbm9uZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRo
V2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnYmVnaW4nLCB0cnVlKTsKLSAg
ICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwg
LTEsICdub25lJywgJ2NvbnRpbnVlJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3Jv
bGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdjb250aW51ZScs
IHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1
bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnY29udGludWUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRl
ci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdub25lJywg
J2NvbnRpbnVlJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVl
bEFuZE1vbWVudHVtUGhhc2VzKDAsIDAsICdub25lJywgJ2VuZCcsIHRydWUpOwotICAgIHNldFRp
bWVvdXQoY2hlY2tGb3JTY3JvbGwsIDEwMCk7Ci19Ci0KLWZ1bmN0aW9uIHNldHVwVG9wTGV2ZWwo
KSB7Ci0KLSAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCh0cnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0K
LSAgICAgICAgc2V0VGltZW91dChzY3JvbGxUZXN0LCAxMDAwKTsKLSAgICB9IGVsc2UgewotICAg
ICAgICB2YXIgbWVzc2FnZUxvY2F0aW9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhcmVu
dCcpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rpdicp
OwotICAgICAgICBtZXNzYWdlLmlubmVySFRNTCA9ICI8cD5UaGlzIHRlc3QgaXMgYmV0dGVyIHJ1
biB1bmRlciBEdW1wUmVuZGVyVHJlZS4gVG8gbWFudWFsbHkgdGVzdCBpdCwgcGxhY2UgdGhlIG1v
dXNlIHBvaW50ZXI8YnIvPiIKLSAgICAgICAgICAgICsgImF0IHRoZSB0b3Agb2YgdGhlIHBhZ2Us
IGFuZCB0aGVuIHVzZSB0aGUgbW91c2Ugd2hlZWwgb3IgYSB0d28tZmluZ2VyIHN3aXBlIHRvIHNj
cm9sbCB0aGU8YnIvPiIKLSAgICAgICAgICAgICsgImRvd24gcGFzdCB0aGUgSUZyYW1lLjxici8+
PGJyLz4iCi0gICAgICAgICAgICArICJZb3Ugc2hvdWxkIG5vdCBzZWUgdGhlIHJvdyBvZiBFTkQg
bGFiZWxzIGlmIHRoaXMgdGVzdCBpcyBzdWNjZXNzZnVsLjwvcD4iOwotICAgICAgICBtZXNzYWdl
TG9jYXRpb24uYXBwZW5kQ2hpbGQobWVzc2FnZSk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTxk
aXYgaWQ9InBhcmVudCIgc3R5bGU9ImhlaWdodDogMjAwMHB4Ij4KLSAgICA8ZGl2IGlkPSJzb3Vy
Y2UiIHN0eWxlPSJoZWlnaHQ6IDEwMHB4Ij4KLSAgICAgICAgUHV0IG1vdXNlIGhlcmUgYW5kIGZs
aWNrIGRvd253YXJkcwotICAgIDwvZGl2PgotICAgIDxpZnJhbWUgaWQ9InRhcmdldCIgbmFtZT0i
dGFyZ2V0IiBzdHlsZT0iYm9yZGVyOnNvbGlkIDFweCBncmVlbjsgaGVpZ2h0OiA1MDBweDsgd2lk
dGg6IDUwMHB4OyIgCi0gICAgIHNyYz0gImRhdGE6dGV4dC9odG1sLAotICAgICA8ZGl2IGlkPSdu
b3RUb0JlU2Nyb2xsZWQnIHN0eWxlPSdoZWlnaHQ6IDEwMDBweDsgd2lkdGg6IDEwMDBweDsnPgot
ICAgICBUT1AgVE9QIFRPUCBUT1AgVE9QIFRPUCBUT1AgVE9QIFRPUCBUT1AgVE9QIFRPUCBUT1Ag
VE9QPGJyLz48YnIvPgotICAgICBUaGlzIHNob3VsZCBzdGlsbCBiZSB2aXNpYmxlIGluc2lkZSB0
aGUgZnJhbWUgYWZ0ZXIgeW91IHNjcm9sbCBkb3duCi0gICAgIDxici8+PGJyLz48YnIvPjxici8+
PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxi
ci8+PGJyLz4KLSAgICAgPGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxi
ci8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPgotICAgICA8YnIvPjxi
ci8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIv
Pjxici8+PGJyLz48YnIvPjxici8+Ci0gICAgIFRoaXMgc2hvdWxkIE5PVCBiZSB2aXNpYmxlIGlu
c2lkZSB0aGUgZnJhbWUgYWZ0ZXIgeW91IHNjcm9sbCBkb3duPGJyLz4KLSAgICAgPGJyLz4KLSAg
ICAgRU5EIEVORCBFTkQgRU5EIEVORCBFTkQgRU5EIEVORCBFTkQgRU5EIEVORCBFTkQgRU5ECi0g
ICAgIDwvZGl2PgotICAgICAiCi0gICAgIG9ubG9hZD0ic2V0dXBUb3BMZXZlbCgpOyIKLSAgICAg
PgotICAgIDwvaWZyYW1lPgotPC9kaXY+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3Jp
cHQ+Ci1kZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBpZnJhbWUgZG9lc24ndCBjb25zdW1lIHdoZWVs
IGV2ZW50cyB3aGVuIHNjcm9sbCAiKTsKLTwvc2NyaXB0PgotPHByZSBpZD0ibGF5ZXJzIj5MYXll
ciB0cmVlIGdvZXMgaGVyZTwvcD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9mYXN0LXNjcm9sbC1zZWxl
Y3QtbGF0Y2hlZC1tYWluZnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMi90aWxlZC1kcmF3aW5nL2Zhc3Qtc2Nyb2xsLXNlbGVjdC1sYXRjaGVkLW1haW5mcmFt
ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ1ZDcyYWNiYmVj
YmNmZDMwYmZhNjAwMGU5ZjZjMWZkOTBkOGQ4NDguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1k
cmF3aW5nL2Zhc3Qtc2Nyb2xsLXNlbGVjdC1sYXRjaGVkLW1haW5mcmFtZS1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1QdXQgbW91c2UgaGVyZSBhbmQgZmxpY2sg
ZG93bndhcmRzCi1TY3JvbGxhYmxlIFNlbGVjdAotCi0KLVRlc3RzIHRoYXQgYSBzZWxlY3QgZG9l
c24ndCBjb25zdW1lIHdoZWVsIGV2ZW50cyB3aGVuIHNjcm9sbCBpcyBsYXRjaGVkIHRvIG1haW4g
ZnJhbWUuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLU1vdXNlIG1vdmVkIHRvICgzMCwgMTI3
KQotUGFnZSBiZWZvcmU6IDAsIHNlbGVjdCBiZWZvcmU6IDAKLVBhZ2UgYWZ0ZXI6ICAyODAsIHNl
bGVjdCBhZnRlcjogMAotUEFTUyBTZWxlY3QgZGlkIG5vdCByZWNlaXZlIHdoZWVsIGV2ZW50cy4K
LShHcmFwaGljc0xheWVyCi0gIChib3VuZHMgMjAwOC4wMCAyMzExLjAwKQotICAodmlzaWJsZSBy
ZWN0IDAuMDAsIDI4MC4wMCA3ODUuMDAgeCA1ODUuMDApCi0gIChjb250ZW50c1NjYWxlIDEuMDAp
Ci0gIChjaGlsZHJlbiAxCi0gICAgKEdyYXBoaWNzTGF5ZXIKLSAgICAgIChib3VuZHMgMjAwOC4w
MCAyMzExLjAwKQotICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCi0gICAgICAodmlzaWJsZSByZWN0
IDAuMDAsIDI4MC4wMCA3ODUuMDAgeCA1ODUuMDApCi0gICAgICAoY29udGVudHNTY2FsZSAxLjAw
KQotICAgICAgKHRpbGUgY2FjaGUgY292ZXJhZ2UgMCwgMCAyMDA4IHggMjA0OCkKLSAgICAgICh0
aWxlIHNpemUgNTEyIHggNTEyKQotICAgICAgKHRvcCBsZWZ0IHRpbGUgMCwgMCB0aWxlcyBncmlk
IDQgeCA0KQotICAgICkKLSAgKQotKQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZmFzdC1zY3JvbGwtc2VsZWN0LWxhdGNoZWQtbWFpbmZy
YW1lLXdpdGgtaGFuZGxlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
d2syL3RpbGVkLWRyYXdpbmcvZmFzdC1zY3JvbGwtc2VsZWN0LWxhdGNoZWQtbWFpbmZyYW1lLXdp
dGgtaGFuZGxlci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQw
N2JmNTA0MDYxZTU1NDdhNDdlNjRiN2Q2ZjM2MzkzOTA5N2VhNDguLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
Mi90aWxlZC1kcmF3aW5nL2Zhc3Qtc2Nyb2xsLXNlbGVjdC1sYXRjaGVkLW1haW5mcmFtZS13aXRo
LWhhbmRsZXItZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotUHV0
IG1vdXNlIGhlcmUgYW5kIGZsaWNrIGRvd253YXJkcwotU2Nyb2xsYWJsZSBTZWxlY3QKLQotCi1U
ZXN0cyB0aGF0IGEgc2VsZWN0IGRvZXNuJ3QgY29uc3VtZSB3aGVlbCBldmVudHMgd2hlbiBzY3Jv
bGwgaXMgbGF0Y2hlZCB0byBtYWluIGZyYW1lLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
Ci0KLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi1N
b3VzZSBtb3ZlZCB0byAoMzAsIDEyNykKLVBhZ2UgYmVmb3JlOiAwLCBzZWxlY3QgYmVmb3JlOiAw
Ci1QYWdlIGFmdGVyOiAgMjgwLCBzZWxlY3QgYWZ0ZXI6IDAKLVBBU1MgU2VsZWN0IGRpZCBub3Qg
cmVjZWl2ZSB3aGVlbCBldmVudHMuCi1Eb2N1bWVudCB3YXMgaW5pdGlhbCB0YXJnZXQgZm9yIDQg
b2YgdGhlIHdoZWVsIGV2ZW50cy4KLShHcmFwaGljc0xheWVyCi0gIChib3VuZHMgMjAwOC4wMCAy
MzI2LjAwKQotICAodmlzaWJsZSByZWN0IDAuMDAsIDI4MC4wMCA3ODUuMDAgeCA1ODUuMDApCi0g
IChjb250ZW50c1NjYWxlIDEuMDApCi0gIChjaGlsZHJlbiAxCi0gICAgKEdyYXBoaWNzTGF5ZXIK
LSAgICAgIChib3VuZHMgMjAwOC4wMCAyMzI2LjAwKQotICAgICAgKGNvbnRlbnRzT3BhcXVlIDEp
Ci0gICAgICAodmlzaWJsZSByZWN0IDAuMDAsIDI4MC4wMCA3ODUuMDAgeCA1ODUuMDApCi0gICAg
ICAoY29udGVudHNTY2FsZSAxLjAwKQotICAgICAgKHRpbGUgY2FjaGUgY292ZXJhZ2UgMCwgMCAy
MDA4IHggMjA0OCkKLSAgICAgICh0aWxlIHNpemUgNTEyIHggNTEyKQotICAgICAgKHRvcCBsZWZ0
IHRpbGUgMCwgMCB0aWxlcyBncmlkIDQgeCA0KQotICAgICkKLSAgKQotKQotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZmFzdC1zY3JvbGwt
c2VsZWN0LWxhdGNoZWQtbWFpbmZyYW1lLXdpdGgtaGFuZGxlci5odG1sIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2Zhc3Qtc2Nyb2xsLXNlbGVjdC1sYXRjaGVk
LW1haW5mcmFtZS13aXRoLWhhbmRsZXIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZTk3ZjI1N2IwMDgxYmUzMWU1MmM4YTNlMmFhY2E3ZmUyODczN2RiOC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2syL3RpbGVkLWRyYXdpbmcvZmFzdC1zY3JvbGwtc2VsZWN0LWxhdGNoZWQtbWFpbmZyYW1l
LXdpdGgtaGFuZGxlci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTU3ICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzdHlsZT4KLS5zY3JvbGxhYmxlX3JlZ2lvbiB7
Ci0gICAgd2lkdGg6IDY4MHB4OwotfQotCi0udGFibGUgdGQsIC50YWJsZSB0aCB7Ci0gICAgcGFk
ZGluZzogMnB4OwotfQotCi0udGFibGUgdGggewotICAgIGhlaWdodDogMjBweDsKLSAgICB0ZXh0
LWFsaWduOiBsZWZ0OwotICAgIGZvbnQtd2VpZ2h0OiBzdHJvbmc7Ci19Ci0KLS50YWJsZSB0cjpu
dGgtY2hpbGQob2RkKSB7Ci0gICAgYmFja2dyb3VuZDogI2YzZjNmMzsKLX0KLQotLnNjcm9sbGFi
bGVfc2VsZWN0IG9wdGlvbjpudGgtY2hpbGQob2RkKSB7Ci0gICAgYmFja2dyb3VuZDogI2YzZjNm
MzsKLX0KLQotPC9zdHlsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciB3aGVlbENvdW50ID0gMDsKLWZ1bmN0
aW9uIG9uU2Nyb2xsV2hlZWwoZXZ0KSB7Ci0gICAgd2hlZWxDb3VudCA9IHdoZWVsQ291bnQgKyAx
OwotfQotCi1mdW5jdGlvbiBvbkxvYWQoKSB7Ci0gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5l
cigibW91c2V3aGVlbCIsIG9uU2Nyb2xsV2hlZWwpOwotICAgIHNldHVwVG9wTGV2ZWwoKTsKLX0K
LTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJvbkxvYWQoKTsiPgotPHNjcmlwdD4K
LQotdmFyIHNlbGVjdFRhcmdldDsKLXZhciBwYWdlU2Nyb2xsUG9zaXRpb25CZWZvcmU7Ci12YXIg
c2VsZWN0U2Nyb2xsUG9zaXRpb25CZWZvcmU7Ci12YXIgY29udGludWVDb3VudCA9IDU7Ci0KLWZ1
bmN0aW9uIGNoZWNrRm9yU2Nyb2xsKCkgewotCi0gICAgLy8gVGhlIHNlbGVjdCBzaG91bGQgbm90
IGhhdmUgc2Nyb2xsZWQgYXQgYWxsLgotICAgIHZhciBwYWdlU2Nyb2xsUG9zaXRpb25BZnRlciA9
IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wOwotICAgIHZhciBzZWxlY3RTY3JvbGxQb3NpdGlvbkFm
dGVyID0gc2VsZWN0VGFyZ2V0LnNjcm9sbFRvcDsKLQotICAgIGRlYnVnKCJQYWdlIGJlZm9yZTog
IiArIHBhZ2VTY3JvbGxQb3NpdGlvbkJlZm9yZSArICIsIHNlbGVjdCBiZWZvcmU6ICIgKyBzZWxl
Y3RTY3JvbGxQb3NpdGlvbkJlZm9yZSk7Ci0gICAgZGVidWcoIlBhZ2UgYWZ0ZXI6ICAiICsgcGFn
ZVNjcm9sbFBvc2l0aW9uQWZ0ZXIgKyAiLCBzZWxlY3QgYWZ0ZXI6ICIgKyBzZWxlY3RTY3JvbGxQ
b3NpdGlvbkFmdGVyKTsKLQotICAgIGlmIChzZWxlY3RTY3JvbGxQb3NpdGlvbkJlZm9yZSAhPSBz
ZWxlY3RTY3JvbGxQb3NpdGlvbkFmdGVyKQotICAgICAgICB0ZXN0RmFpbGVkKCJTZWxlY3QgY29u
c3VtZWQgd2hlZWwgZXZlbnRzLiIpOwotICAgIGVsc2UKLSAgICAgICAgdGVzdFBhc3NlZCgiU2Vs
ZWN0IGRpZCBub3QgcmVjZWl2ZSB3aGVlbCBldmVudHMuIik7Ci0KLSAgICBkZWJ1ZygiRG9jdW1l
bnQgd2FzIGluaXRpYWwgdGFyZ2V0IGZvciAiICsgd2hlZWxDb3VudCArICIgb2YgdGhlIHdoZWVs
IGV2ZW50cy4iKTsKLQotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lclRleHQgPSBpbnRlcm5hbHMubGF5ZXJU
cmVlQXNUZXh0KGRvY3VtZW50LAotICAgICAgICAgICAgaW50ZXJuYWxzLkxBWUVSX1RSRUVfSU5D
TFVERVNfVklTSUJMRV9SRUNUUyB8IGludGVybmFscy5MQVlFUl9UUkVFX0lOQ0xVREVTX1RJTEVf
Q0FDSEVTKTsKLSAgICB9Ci0KLSAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVu
Y3Rpb24gc2Nyb2xsVGVzdCgpIHsKLSAgICAvLyBTZWUgd2hlcmUgb3VyIElGcmFtZSBsaXZlczoK
LSAgICBwYWdlU2Nyb2xsUG9zaXRpb25CZWZvcmUgPSBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDsK
LQotICAgIHNlbGVjdFRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKTsK
LQotICAgIHNlbGVjdFNjcm9sbFBvc2l0aW9uQmVmb3JlID0gc2VsZWN0VGFyZ2V0LnNjcm9sbFRv
cDsKLQotICAgIC8vIFNjcm9sbCB0aGUgI3NvdXJjZSB1bnRpbCB3ZSByZWFjaCB0aGUgI3Rhcmdl
dC4KLSAgICB2YXIgc3RhcnRQb3NYID0gc2VsZWN0VGFyZ2V0Lm9mZnNldExlZnQgKyAyMDsKLSAg
ICB2YXIgc3RhcnRQb3NZID0gc2VsZWN0VGFyZ2V0Lm9mZnNldFRvcCAtIDQyOyAvLyBTbGlnaHRs
eSBtb3JlIHRoYW4gb25lIHdoZWVsIHNjcm9sbCBhd2F5IGZyb20gdGhlIElGcmFtZQotICAgIGV2
ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHN0YXJ0UG9zWCwgc3RhcnRQb3NZKTsgLy8gTWFrZSBzdXJl
IHdlIGFyZSBqdXN0IG91dHNpZGUgdGhlIGlGcmFtZQotICAgIGRlYnVnKCJNb3VzZSBtb3ZlZCB0
byAoIiArIHN0YXJ0UG9zWCArICIsICIgKyBzdGFydFBvc1kgKyAiKSIpOwotICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ2JlZ2Fu
JywgJ25vbmUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVs
QW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdjaGFuZ2VkJywgJ25vbmUnLCB0cnVlKTsKLSAgICBl
dmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEs
ICdjaGFuZ2VkJywgJ25vbmUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5
V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgMCwgJ2VuZGVkJywgJ25vbmUnLCB0cnVlKTsK
LSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMo
MCwgLTEsICdub25lJywgJ2JlZ2luJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3Jv
bGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdjb250aW51ZScs
IHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1
bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnY29udGludWUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRl
ci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdub25lJywg
J2NvbnRpbnVlJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVl
bEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdjb250aW51ZScsIHRydWUpOwotICAg
IGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAw
LCAnbm9uZScsICdlbmQnLCB0cnVlKTsKLSAgICBzZXRUaW1lb3V0KGNoZWNrRm9yU2Nyb2xsLCAx
MDApOwotfQotCi1mdW5jdGlvbiBzZXR1cFRvcExldmVsKCkgewotCi0gICAgaWYgKHdpbmRvdy5l
dmVudFNlbmRlcikgewotICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7Ci0gICAg
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotCi0gICAgICAgIHNldFRpbWVvdXQoc2Ny
b2xsVGVzdCwgMTAwMCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgdmFyIG1lc3NhZ2VMb2NhdGlv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJlbnQnKTsKLSAgICAgICAgdmFyIG1lc3Nh
Z2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICAgICAgbWVzc2FnZS5pbm5l
ckhUTUwgPSAiPHA+VGhpcyB0ZXN0IGlzIGJldHRlciBydW4gdW5kZXIgRHVtcFJlbmRlclRyZWUu
IFRvIG1hbnVhbGx5IHRlc3QgaXQsIHBsYWNlIHRoZSBtb3VzZSBwb2ludGVyPGJyLz4iCi0gICAg
ICAgICAgICArICJhdCB0aGUgdG9wIG9mIHRoZSBwYWdlLCBhbmQgdGhlbiB1c2UgdGhlIG1vdXNl
IHdoZWVsIG9yIGEgdHdvLWZpbmdlciBzd2lwZSB0byBzY3JvbGwgZG93bjxici8+IgotICAgICAg
ICAgICAgKyAicGFzdCB0aGUgc2VsZWN0VGFyZ2V0Ljxici8+PGJyLz4iCi0gICAgICAgICAgICAr
ICJZb3Ugc2hvdWxkIG5vdCBzZWUgdGhlICdjb250ZW50MjEnIGxhYmVsIGlmIHRoaXMgdGVzdCBp
cyBzdWNjZXNzZnVsLjwvcD4iOwotICAgICAgICBtZXNzYWdlTG9jYXRpb24uYXBwZW5kQ2hpbGQo
bWVzc2FnZSk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTxkaXYgaWQ9InBhcmVudCIgc3R5bGU9
ImhlaWdodDogMjAwMHB4OyB3aWR0aDogMjAwMHB4OyI+Ci0gICAgPGRpdiBpZD0ic291cmNlIiBz
dHlsZT0iaGVpZ2h0OiAxMDBweDsgd2lkdGg6IDUwMHB4OyI+Ci0gICAgICAgIFB1dCBtb3VzZSBo
ZXJlIGFuZCBmbGljayBkb3dud2FyZHMKLSAgICA8L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFzcz0i
c2Nyb2xsYWJsZV9yZWdpb24iPgotICAgICAgICAgICAgPGgzPlNjcm9sbGFibGUgU2VsZWN0PC9o
Mz4KLSAgICAgICAgICAgIDxzZWxlY3QgaWQ9InRhcmdldCIgY2xhc3M9InNjcm9sbGFibGVfc2Vs
ZWN0IiBzaXplPSI4Ij4KLSAgICAgICAgICAgICAgICA8b3B0aW9uPmNvbnRlbnQxPC9vcHRpb24+
Ci0gICAgICAgICAgICAgICAgPG9wdGlvbj5jb250ZW50Mjwvb3B0aW9uPgotICAgICAgICAgICAg
ICAgIDxvcHRpb24+Y29udGVudDM8L29wdGlvbj4KLSAgICAgICAgICAgICAgICA8b3B0aW9uPmNv
bnRlbnQ0PC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlvbj5jb250ZW50NTwvb3B0aW9u
PgotICAgICAgICAgICAgICAgIDxvcHRpb24+Y29udGVudDY8L29wdGlvbj4KLSAgICAgICAgICAg
ICAgICA8b3B0aW9uPmNvbnRlbnQ3PC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlvbj5j
b250ZW50ODwvb3B0aW9uPgotICAgICAgICAgICAgICAgIDxvcHRpb24+Y29udGVudDk8L29wdGlv
bj4KLSAgICAgICAgICAgICAgICA8b3B0aW9uPmNvbnRlbnQxMDwvb3B0aW9uPgotICAgICAgICAg
ICAgICAgIDxvcHRpb24+Y29udGVudDExPC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlv
bj5jb250ZW50MTI8L29wdGlvbj4KLSAgICAgICAgICAgICAgICA8b3B0aW9uPmNvbnRlbnQxMzwv
b3B0aW9uPgotICAgICAgICAgICAgICAgIDxvcHRpb24+Y29udGVudDE0PC9vcHRpb24+Ci0gICAg
ICAgICAgICAgICAgPG9wdGlvbj5jb250ZW50MTU8L29wdGlvbj4KLSAgICAgICAgICAgICAgICA8
b3B0aW9uPmNvbnRlbnQxNjwvb3B0aW9uPgotICAgICAgICAgICAgICAgIDxvcHRpb24+Y29udGVu
dDE3PC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlvbj5jb250ZW50MTg8L29wdGlvbj4K
LSAgICAgICAgICAgICAgICA8b3B0aW9uPmNvbnRlbnQxOTwvb3B0aW9uPgotICAgICAgICAgICAg
ICAgIDxvcHRpb24+Y29udGVudDIwPC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlvbj5j
b250ZW50MjE8L29wdGlvbj4KLSAgICAgICAgICAgIDwvc2VsZWN0PgotICAgICAgICA8L2Rpdj4K
LSAgICA8L2Rpdj4KLTwvZGl2PgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0Pgot
ZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYSBzZWxlY3QgZG9lc24ndCBjb25zdW1lIHdoZWVsIGV2
ZW50cyB3aGVuIHNjcm9sbCBpcyBsYXRjaGVkIHRvIG1haW4gZnJhbWUuIik7Ci08L3NjcmlwdD4K
LTxwcmUgaWQ9ImxheWVycyI+TGF5ZXIgdHJlZSBnb2VzIGhlcmU8L3A+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRy
YXdpbmcvZmFzdC1zY3JvbGwtc2VsZWN0LWxhdGNoZWQtbWFpbmZyYW1lLmh0bWwgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZmFzdC1zY3JvbGwtc2VsZWN0LWxh
dGNoZWQtbWFpbmZyYW1lLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMxMDY0
YjZkYTQ0Y2JlOWI2NzJjNzExZWI2MDljNjJkYmI2YjhiMDEuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90
aWxlZC1kcmF3aW5nL2Zhc3Qtc2Nyb2xsLXNlbGVjdC1sYXRjaGVkLW1haW5mcmFtZS5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMTQ5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLTxzdHlsZT4KLS5zY3JvbGxhYmxlX3JlZ2lvbiB7Ci0gICAgd2lkdGg6IDY4MHB4Owot
fQotCi0udGFibGUgdGQsIC50YWJsZSB0aCB7Ci0gICAgcGFkZGluZzogMnB4OwotfQotCi0udGFi
bGUgdGggewotICAgIGhlaWdodDogMjBweDsKLSAgICB0ZXh0LWFsaWduOiBsZWZ0OwotICAgIGZv
bnQtd2VpZ2h0OiBzdHJvbmc7Ci19Ci0KLS50YWJsZSB0cjpudGgtY2hpbGQob2RkKSB7Ci0gICAg
YmFja2dyb3VuZDogI2YzZjNmMzsKLX0KLQotLnNjcm9sbGFibGVfc2VsZWN0IG9wdGlvbjpudGgt
Y2hpbGQob2RkKSB7Ci0gICAgYmFja2dyb3VuZDogI2YzZjNmMzsKLX0KLQotPC9zdHlsZT4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdD4KLWZ1bmN0aW9uIG9uTG9hZCgpIHsKLSAgICBzZXR1cFRvcExldmVsKCk7Ci19Ci08
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ib25Mb2FkKCk7Ij4KLTxzY3JpcHQ+Ci0K
LXZhciBzZWxlY3RUYXJnZXQ7Ci12YXIgcGFnZVNjcm9sbFBvc2l0aW9uQmVmb3JlOwotdmFyIHNl
bGVjdFNjcm9sbFBvc2l0aW9uQmVmb3JlOwotdmFyIGNvbnRpbnVlQ291bnQgPSA1OwotCi1mdW5j
dGlvbiBjaGVja0ZvclNjcm9sbCgpIHsKLQotICAgIC8vIFRoZSBzZWxlY3Qgc2hvdWxkIG5vdCBo
YXZlIHNjcm9sbGVkIGF0IGFsbC4KLSAgICB2YXIgcGFnZVNjcm9sbFBvc2l0aW9uQWZ0ZXIgPSBk
b2N1bWVudC5ib2R5LnNjcm9sbFRvcDsKLSAgICB2YXIgc2VsZWN0U2Nyb2xsUG9zaXRpb25BZnRl
ciA9IHNlbGVjdFRhcmdldC5zY3JvbGxUb3A7Ci0KLSAgICBkZWJ1ZygiUGFnZSBiZWZvcmU6ICIg
KyBwYWdlU2Nyb2xsUG9zaXRpb25CZWZvcmUgKyAiLCBzZWxlY3QgYmVmb3JlOiAiICsgc2VsZWN0
U2Nyb2xsUG9zaXRpb25CZWZvcmUpOwotICAgIGRlYnVnKCJQYWdlIGFmdGVyOiAgIiArIHBhZ2VT
Y3JvbGxQb3NpdGlvbkFmdGVyICsgIiwgc2VsZWN0IGFmdGVyOiAiICsgc2VsZWN0U2Nyb2xsUG9z
aXRpb25BZnRlcik7Ci0KLSAgICBpZiAoc2VsZWN0U2Nyb2xsUG9zaXRpb25CZWZvcmUgIT0gc2Vs
ZWN0U2Nyb2xsUG9zaXRpb25BZnRlcikKLSAgICAgICAgdGVzdEZhaWxlZCgiU2VsZWN0IGNvbnN1
bWVkIHdoZWVsIGV2ZW50cy4iKTsKLSAgICBlbHNlCi0gICAgICAgIHRlc3RQYXNzZWQoIlNlbGVj
dCBkaWQgbm90IHJlY2VpdmUgd2hlZWwgZXZlbnRzLiIpOwotCi0gICAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpIHsKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVy
VGV4dCA9IGludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQsCi0gICAgICAgICAgICBp
bnRlcm5hbHMuTEFZRVJfVFJFRV9JTkNMVURFU19WSVNJQkxFX1JFQ1RTIHwgaW50ZXJuYWxzLkxB
WUVSX1RSRUVfSU5DTFVERVNfVElMRV9DQUNIRVMpOwotICAgIH0KLQotICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBzY3JvbGxUZXN0KCkgewotICAgIC8vIFNlZSB3
aGVyZSBvdXIgSUZyYW1lIGxpdmVzOgotICAgIHBhZ2VTY3JvbGxQb3NpdGlvbkJlZm9yZSA9IGRv
Y3VtZW50LmJvZHkuc2Nyb2xsVG9wOwotCi0gICAgc2VsZWN0VGFyZ2V0ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3RhcmdldCcpOwotCi0gICAgc2VsZWN0U2Nyb2xsUG9zaXRpb25CZWZvcmUg
PSBzZWxlY3RUYXJnZXQuc2Nyb2xsVG9wOwotCi0gICAgLy8gU2Nyb2xsIHRoZSAjc291cmNlIHVu
dGlsIHdlIHJlYWNoIHRoZSAjdGFyZ2V0LgotICAgIHZhciBzdGFydFBvc1ggPSBzZWxlY3RUYXJn
ZXQub2Zmc2V0TGVmdCArIDIwOwotICAgIHZhciBzdGFydFBvc1kgPSBzZWxlY3RUYXJnZXQub2Zm
c2V0VG9wIC0gNDI7IC8vIFNsaWdodGx5IG1vcmUgdGhhbiBvbmUgd2hlZWwgc2Nyb2xsIGF3YXkg
ZnJvbSB0aGUgSUZyYW1lCi0gICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oc3RhcnRQb3NYLCBz
dGFydFBvc1kpOyAvLyBNYWtlIHN1cmUgd2UgYXJlIGp1c3Qgb3V0c2lkZSB0aGUgaUZyYW1lCi0g
ICAgZGVidWcoIk1vdXNlIG1vdmVkIHRvICgiICsgc3RhcnRQb3NYICsgIiwgIiArIHN0YXJ0UG9z
WSArICIpIik7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVu
dHVtUGhhc2VzKDAsIC0xLCAnYmVnYW4nLCAnbm9uZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVy
Lm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ2NoYW5nZWQn
LCAnbm9uZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxB
bmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ2NoYW5nZWQnLCAnbm9uZScsIHRydWUpOwotICAgIGV2
ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAwLCAn
ZW5kZWQnLCAnbm9uZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRo
V2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnYmVnaW4nLCB0cnVlKTsKLSAg
ICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwg
LTEsICdub25lJywgJ2NvbnRpbnVlJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3Jv
bGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdjb250aW51ZScs
IHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1
bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnY29udGludWUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRl
ci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdub25lJywg
J2NvbnRpbnVlJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVl
bEFuZE1vbWVudHVtUGhhc2VzKDAsIDAsICdub25lJywgJ2VuZCcsIHRydWUpOwotICAgIHNldFRp
bWVvdXQoY2hlY2tGb3JTY3JvbGwsIDEwMCk7Ci19Ci0KLWZ1bmN0aW9uIHNldHVwVG9wTGV2ZWwo
KSB7Ci0KLSAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCh0cnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0K
LSAgICAgICAgc2V0VGltZW91dChzY3JvbGxUZXN0LCAxMDAwKTsKLSAgICB9IGVsc2UgewotICAg
ICAgICB2YXIgbWVzc2FnZUxvY2F0aW9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhcmVu
dCcpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rpdicp
OwotICAgICAgICBtZXNzYWdlLmlubmVySFRNTCA9ICI8cD5UaGlzIHRlc3QgaXMgYmV0dGVyIHJ1
biB1bmRlciBEdW1wUmVuZGVyVHJlZS4gVG8gbWFudWFsbHkgdGVzdCBpdCwgcGxhY2UgdGhlIG1v
dXNlIHBvaW50ZXI8YnIvPiIKLSAgICAgICAgICAgICsgImF0IHRoZSB0b3Agb2YgdGhlIHBhZ2Us
IGFuZCB0aGVuIHVzZSB0aGUgbW91c2Ugd2hlZWwgb3IgYSB0d28tZmluZ2VyIHN3aXBlIHRvIHNj
cm9sbCBkb3duPGJyLz4iCi0gICAgICAgICAgICArICJwYXN0IHRoZSBzZWxlY3RUYXJnZXQuPGJy
Lz48YnIvPiIKLSAgICAgICAgICAgICsgIllvdSBzaG91bGQgbm90IHNlZSB0aGUgJ2NvbnRlbnQy
MScgbGFiZWwgaWYgdGhpcyB0ZXN0IGlzIHN1Y2Nlc3NmdWwuPC9wPiI7Ci0gICAgICAgIG1lc3Nh
Z2VMb2NhdGlvbi5hcHBlbmRDaGlsZChtZXNzYWdlKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0Pgot
PGRpdiBpZD0icGFyZW50IiBzdHlsZT0iaGVpZ2h0OiAyMDAwcHg7IHdpZHRoOiAyMDAwcHg7Ij4K
LSAgICA8ZGl2IGlkPSJzb3VyY2UiIHN0eWxlPSJoZWlnaHQ6IDEwMHB4OyB3aWR0aDogNTAwcHg7
Ij4KLSAgICAgICAgUHV0IG1vdXNlIGhlcmUgYW5kIGZsaWNrIGRvd253YXJkcwotICAgIDwvZGl2
PgotICAgICAgICA8ZGl2IGNsYXNzPSJzY3JvbGxhYmxlX3JlZ2lvbiI+Ci0gICAgICAgICAgICA8
aDM+U2Nyb2xsYWJsZSBTZWxlY3Q8L2gzPgotICAgICAgICAgICAgPHNlbGVjdCBpZD0idGFyZ2V0
IiBjbGFzcz0ic2Nyb2xsYWJsZV9zZWxlY3QiIHNpemU9IjgiPgotICAgICAgICAgICAgICAgIDxv
cHRpb24+Y29udGVudDE8L29wdGlvbj4KLSAgICAgICAgICAgICAgICA8b3B0aW9uPmNvbnRlbnQy
PC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlvbj5jb250ZW50Mzwvb3B0aW9uPgotICAg
ICAgICAgICAgICAgIDxvcHRpb24+Y29udGVudDQ8L29wdGlvbj4KLSAgICAgICAgICAgICAgICA8
b3B0aW9uPmNvbnRlbnQ1PC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlvbj5jb250ZW50
Njwvb3B0aW9uPgotICAgICAgICAgICAgICAgIDxvcHRpb24+Y29udGVudDc8L29wdGlvbj4KLSAg
ICAgICAgICAgICAgICA8b3B0aW9uPmNvbnRlbnQ4PC9vcHRpb24+Ci0gICAgICAgICAgICAgICAg
PG9wdGlvbj5jb250ZW50OTwvb3B0aW9uPgotICAgICAgICAgICAgICAgIDxvcHRpb24+Y29udGVu
dDEwPC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlvbj5jb250ZW50MTE8L29wdGlvbj4K
LSAgICAgICAgICAgICAgICA8b3B0aW9uPmNvbnRlbnQxMjwvb3B0aW9uPgotICAgICAgICAgICAg
ICAgIDxvcHRpb24+Y29udGVudDEzPC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlvbj5j
b250ZW50MTQ8L29wdGlvbj4KLSAgICAgICAgICAgICAgICA8b3B0aW9uPmNvbnRlbnQxNTwvb3B0
aW9uPgotICAgICAgICAgICAgICAgIDxvcHRpb24+Y29udGVudDE2PC9vcHRpb24+Ci0gICAgICAg
ICAgICAgICAgPG9wdGlvbj5jb250ZW50MTc8L29wdGlvbj4KLSAgICAgICAgICAgICAgICA8b3B0
aW9uPmNvbnRlbnQxODwvb3B0aW9uPgotICAgICAgICAgICAgICAgIDxvcHRpb24+Y29udGVudDE5
PC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlvbj5jb250ZW50MjA8L29wdGlvbj4KLSAg
ICAgICAgICAgICAgICA8b3B0aW9uPmNvbnRlbnQyMTwvb3B0aW9uPgotICAgICAgICAgICAgPC9z
ZWxlY3Q+Ci0gICAgICAgIDwvZGl2PgotICAgIDwvZGl2PgotPC9kaXY+Ci08ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBhIHNlbGVjdCBk
b2Vzbid0IGNvbnN1bWUgd2hlZWwgZXZlbnRzIHdoZW4gc2Nyb2xsIGlzIGxhdGNoZWQgdG8gbWFp
biBmcmFtZS4iKTsKLTwvc2NyaXB0PgotPHByZSBpZD0ibGF5ZXJzIj5MYXllciB0cmVlIGdvZXMg
aGVyZTwvcD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9mYXN0LXNjcm9sbC1zZWxlY3QtbGF0Y2hlZC1z
ZWxlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1k
cmF3aW5nL2Zhc3Qtc2Nyb2xsLXNlbGVjdC1sYXRjaGVkLXNlbGVjdC1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU0ODc0N2JhZGJmYjMwMzgyMDE5ZjQzMWJiY2M5
OWI3ZDdlOWFmZmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL2Zhc3Qtc2Nyb2xs
LXNlbGVjdC1sYXRjaGVkLXNlbGVjdC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwz
NCArMCwwIEBACi1QdXQgbW91c2UgaGVyZSBhbmQgZmxpY2sgZG93bndhcmRzCi1TY3JvbGxhYmxl
IFNlbGVjdAotCi0KLVRlc3RzIHRoYXQgYSBzZWxlY3QgZG9lc24ndCBwYXNzIHdoZWVsIGV2ZW50
cyB0byBtYWluIGZyYW1lIHdoZW4gc2Nyb2xsaW5nIGF0IGJvdHRvbQotCi1PbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCi0KLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNU
IENPTVBMRVRFCi1kaXYgZGlzcGxheSBoZWlnaHQgPSAxMTEKLU1vdXNlIG1vdmVkIHRvICgzMCwg
MjM4KQotUGFnZSBiZWZvcmU6IDAsIHNlbGVjdCBiZWZvcmU6IDcwCi1QYWdlIGFmdGVyOiAgMCwg
c2VsZWN0IGFmdGVyOiAxODIKLVBBU1MgUGFnZSBkaWQgbm90IHJlY2VpdmUgd2hlZWwgZXZlbnRz
LgotKEdyYXBoaWNzTGF5ZXIKLSAgKGJvdW5kcyAyMDA4LjAwIDIzMjYuMDApCi0gICh2aXNpYmxl
IHJlY3QgMC4wMCwgMC4wMCA3ODUuMDAgeCA1ODUuMDApCi0gIChjb250ZW50c1NjYWxlIDEuMDAp
Ci0gIChjaGlsZHJlbiAxCi0gICAgKEdyYXBoaWNzTGF5ZXIKLSAgICAgIChib3VuZHMgMjAwOC4w
MCAyMzI2LjAwKQotICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCi0gICAgICAodmlzaWJsZSByZWN0
IDAuMDAsIDAuMDAgNzg1LjAwIHggNTg1LjAwKQotICAgICAgKGNvbnRlbnRzU2NhbGUgMS4wMCkK
LSAgICAgICh0aWxlIGNhY2hlIGNvdmVyYWdlIDAsIDAgMjAwOCB4IDIwNDgpCi0gICAgICAodGls
ZSBzaXplIDUxMiB4IDUxMikKLSAgICAgICh0b3AgbGVmdCB0aWxlIDAsIDAgdGlsZXMgZ3JpZCA0
IHggNCkKLSAgICApCi0gICkKLSkKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMi90aWxlZC1kcmF3aW5nL2Zhc3Qtc2Nyb2xsLXNlbGVjdC1sYXRjaGVkLXNlbGVjdC13
aXRoLWhhbmRsZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90
aWxlZC1kcmF3aW5nL2Zhc3Qtc2Nyb2xsLXNlbGVjdC1sYXRjaGVkLXNlbGVjdC13aXRoLWhhbmRs
ZXItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NmIyMjRkY2Jm
OTZjOTZhMDk3NTdmYTRlYmUyOGFmZDZhZTY2MDU0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQt
ZHJhd2luZy9mYXN0LXNjcm9sbC1zZWxlY3QtbGF0Y2hlZC1zZWxlY3Qtd2l0aC1oYW5kbGVyLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLVB1dCBtb3VzZSBoZXJl
IGFuZCBmbGljayBkb3dud2FyZHMKLVNjcm9sbGFibGUgU2VsZWN0Ci0KLQotVGVzdHMgdGhhdCBh
IHNlbGVjdCBkb2Vzbid0IHBhc3Mgd2hlZWwgZXZlbnRzIHRvIG1haW4gZnJhbWUgd2hlbiBzY3Jv
bGxpbmcgYXQgYm90dG9tCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLWRpdiBkaXNwbGF5IGhl
aWdodCA9IDExMQotTW91c2UgbW92ZWQgdG8gKDMwLCAyMzgpCi1QYWdlIGJlZm9yZTogMCwgc2Vs
ZWN0IGJlZm9yZTogNzAKLVBhZ2UgYWZ0ZXI6ICAwLCBzZWxlY3QgYWZ0ZXI6IDE4MgotUEFTUyBQ
YWdlIGRpZCBub3QgcmVjZWl2ZSB3aGVlbCBldmVudHMuCi1Eb2N1bWVudCB3YXMgaW5pdGlhbCB0
YXJnZXQgZm9yIDQgb2YgdGhlIHdoZWVsIGV2ZW50cy4KLShHcmFwaGljc0xheWVyCi0gIChib3Vu
ZHMgMjAwOC4wMCAyMzQxLjAwKQotICAodmlzaWJsZSByZWN0IDAuMDAsIDAuMDAgNzg1LjAwIHgg
NTg1LjAwKQotICAoY29udGVudHNTY2FsZSAxLjAwKQotICAoY2hpbGRyZW4gMQotICAgIChHcmFw
aGljc0xheWVyCi0gICAgICAoYm91bmRzIDIwMDguMDAgMjM0MS4wMCkKLSAgICAgIChjb250ZW50
c09wYXF1ZSAxKQotICAgICAgKHZpc2libGUgcmVjdCAwLjAwLCAwLjAwIDc4NS4wMCB4IDU4NS4w
MCkKLSAgICAgIChjb250ZW50c1NjYWxlIDEuMDApCi0gICAgICAodGlsZSBjYWNoZSBjb3ZlcmFn
ZSAwLCAwIDIwMDggeCAyMDQ4KQotICAgICAgKHRpbGUgc2l6ZSA1MTIgeCA1MTIpCi0gICAgICAo
dG9wIGxlZnQgdGlsZSAwLCAwIHRpbGVzIGdyaWQgNCB4IDQpCi0gICAgKQotICApCi0pCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9mYXN0
LXNjcm9sbC1zZWxlY3QtbGF0Y2hlZC1zZWxlY3Qtd2l0aC1oYW5kbGVyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZmFzdC1zY3JvbGwtc2VsZWN0LWxh
dGNoZWQtc2VsZWN0LXdpdGgtaGFuZGxlci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBmNDUwODk4YTljZDhlMmY1OTMwY2M1NzA0MjAzNWM2YTJjZWQ4MzdiLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azIvdGlsZWQtZHJhd2luZy9mYXN0LXNjcm9sbC1zZWxlY3QtbGF0Y2hlZC1zZWxlY3Qt
d2l0aC1oYW5kbGVyLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNTkgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHN0eWxlPgotLnNjcm9sbGFibGVfcmVnaW9uIHsK
LSAgICB3aWR0aDogNjgwcHg7Ci19Ci0KLS50YWJsZSB0ZCwgLnRhYmxlIHRoIHsKLSAgICBwYWRk
aW5nOiAycHg7Ci19Ci0KLS50YWJsZSB0aCB7Ci0gICAgaGVpZ2h0OiAyMHB4OwotICAgIHRleHQt
YWxpZ246IGxlZnQ7Ci0gICAgZm9udC13ZWlnaHQ6IHN0cm9uZzsKLX0KLQotLnRhYmxlIHRyOm50
aC1jaGlsZChvZGQpIHsKLSAgICBiYWNrZ3JvdW5kOiAjZjNmM2YzOwotfQotCi0uc2Nyb2xsYWJs
ZV9zZWxlY3Qgb3B0aW9uOm50aC1jaGlsZChvZGQpIHsKLSAgICBiYWNrZ3JvdW5kOiAjZjNmM2Yz
OwotfQotCi08L3N0eWxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFyIHdoZWVsQ291bnQgPSAwOwotZnVuY3Rp
b24gb25TY3JvbGxXaGVlbChldnQpIHsKLSAgICB3aGVlbENvdW50ID0gd2hlZWxDb3VudCArIDE7
Ci19Ci0KLWZ1bmN0aW9uIG9uTG9hZCgpIHsKLSAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVy
KCJtb3VzZXdoZWVsIiwgb25TY3JvbGxXaGVlbCk7Ci0gICAgc2V0dXBUb3BMZXZlbCgpOwotfQot
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9Im9uTG9hZCgpOyI+Ci08c2NyaXB0Pgot
Ci12YXIgc2VsZWN0VGFyZ2V0OwotdmFyIHBhZ2VTY3JvbGxQb3NpdGlvbkJlZm9yZTsKLXZhciBz
ZWxlY3RTY3JvbGxQb3NpdGlvbkJlZm9yZTsKLXZhciBjb250aW51ZUNvdW50ID0gNTsKLQotZnVu
Y3Rpb24gY2hlY2tGb3JTY3JvbGwoKSB7Ci0KLSAgICAvLyBUaGUgcGFnZSBzaG91bGQgbm90IGhh
dmUgc2Nyb2xsZWQgYXQgYWxsLgotICAgIHZhciBwYWdlU2Nyb2xsUG9zaXRpb25BZnRlciA9IGRv
Y3VtZW50LmJvZHkuc2Nyb2xsVG9wOwotICAgIHZhciBzZWxlY3RTY3JvbGxQb3NpdGlvbkFmdGVy
ID0gc2VsZWN0VGFyZ2V0LnNjcm9sbFRvcDsKLQotICAgIGRlYnVnKCJQYWdlIGJlZm9yZTogIiAr
IHBhZ2VTY3JvbGxQb3NpdGlvbkJlZm9yZSArICIsIHNlbGVjdCBiZWZvcmU6ICIgKyBzZWxlY3RT
Y3JvbGxQb3NpdGlvbkJlZm9yZSk7Ci0gICAgZGVidWcoIlBhZ2UgYWZ0ZXI6ICAiICsgcGFnZVNj
cm9sbFBvc2l0aW9uQWZ0ZXIgKyAiLCBzZWxlY3QgYWZ0ZXI6ICIgKyBzZWxlY3RTY3JvbGxQb3Np
dGlvbkFmdGVyKTsKLQotICAgIGlmIChwYWdlU2Nyb2xsUG9zaXRpb25CZWZvcmUgIT0gcGFnZVNj
cm9sbFBvc2l0aW9uQWZ0ZXIpCi0gICAgICAgIHRlc3RGYWlsZWQoIlBhZ2UgcmVjZWl2ZWQgd2hl
ZWwgZXZlbnRzLiIpOwotICAgIGVsc2UKLSAgICAgICAgdGVzdFBhc3NlZCgiUGFnZSBkaWQgbm90
IHJlY2VpdmUgd2hlZWwgZXZlbnRzLiIpOwotCi0gICAgZGVidWcoIkRvY3VtZW50IHdhcyBpbml0
aWFsIHRhcmdldCBmb3IgIiArIHdoZWVsQ291bnQgKyAiIG9mIHRoZSB3aGVlbCBldmVudHMuIik7
Ci0KLSAgICBpZiAod2luZG93LmludGVybmFscykgewotICAgICAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJUZXh0ID0gaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChk
b2N1bWVudCwKLSAgICAgICAgICAgIGludGVybmFscy5MQVlFUl9UUkVFX0lOQ0xVREVTX1ZJU0lC
TEVfUkVDVFMgfCBpbnRlcm5hbHMuTEFZRVJfVFJFRV9JTkNMVURFU19USUxFX0NBQ0hFUyk7Ci0g
ICAgfQotCi0gICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHNjcm9s
bFRlc3QoKSB7Ci0gICAgLy8gU2VlIHdoZXJlIG91ciBJRnJhbWUgbGl2ZXM6Ci0gICAgcGFnZVNj
cm9sbFBvc2l0aW9uQmVmb3JlID0gZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7Ci0KLSAgICBzZWxl
Y3RUYXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0Jyk7Ci0gICAgc2VsZWN0
VGFyZ2V0LnNjcm9sbFRvcCA9IHNlbGVjdFRhcmdldC5zY3JvbGxIZWlnaHQgLSBzZWxlY3RUYXJn
ZXQuY2xpZW50SGVpZ2h0IC0gMTAwOwotCi0gICAgc2VsZWN0U2Nyb2xsUG9zaXRpb25CZWZvcmUg
PSBzZWxlY3RUYXJnZXQuc2Nyb2xsVG9wOwotCi0gICAgLy8gU2Nyb2xsIHRoZSAjc291cmNlIHVu
dGlsIHdlIHJlYWNoIHRoZSAjdGFyZ2V0LgotICAgIHZhciBzdGFydFBvc1ggPSBzZWxlY3RUYXJn
ZXQub2Zmc2V0TGVmdCArIDIwOwotICAgIGRlYnVnKCJkaXYgZGlzcGxheSBoZWlnaHQgPSAiICsg
c2VsZWN0VGFyZ2V0LmNsaWVudEhlaWdodCk7Ci0gICAgdmFyIHN0YXJ0UG9zWSA9IHNlbGVjdFRh
cmdldC5vZmZzZXRUb3AgKyBzZWxlY3RUYXJnZXQuY2xpZW50SGVpZ2h0IC0gNDI7IC8vIE9uZSB3
aGVlbCB0dXJuIGJlZm9yZSBlbmQuCi0gICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oc3RhcnRQ
b3NYLCBzdGFydFBvc1kpOyAvLyBNYWtlIHN1cmUgd2UgYXJlIGp1c3Qgb3V0c2lkZSB0aGUgaUZy
YW1lCi0gICAgZGVidWcoIk1vdXNlIG1vdmVkIHRvICgiICsgc3RhcnRQb3NYICsgIiwgIiArIHN0
YXJ0UG9zWSArICIpIik7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFu
ZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnYmVnYW4nLCAnbm9uZScsIHRydWUpOwotICAgIGV2ZW50
U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ2No
YW5nZWQnLCAnbm9uZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRo
V2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ2NoYW5nZWQnLCAnbm9uZScsIHRydWUpOwot
ICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygw
LCAwLCAnZW5kZWQnLCAnbm9uZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xs
QnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnYmVnaW4nLCB0cnVl
KTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFz
ZXMoMCwgLTEsICdub25lJywgJ2NvbnRpbnVlJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91
c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdjb250
aW51ZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRN
b21lbnR1bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnY29udGludWUnLCB0cnVlKTsKLSAgICBldmVu
dFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdu
b25lJywgJ2NvbnRpbnVlJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdp
dGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIDAsICdub25lJywgJ2VuZCcsIHRydWUpOwotICAg
IHNldFRpbWVvdXQoY2hlY2tGb3JTY3JvbGwsIDEwMCk7Ci19Ci0KLWZ1bmN0aW9uIHNldHVwVG9w
TGV2ZWwoKSB7Ci0KLSAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7Ci0gICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCh0cnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7Ci0KLSAgICAgICAgc2V0VGltZW91dChzY3JvbGxUZXN0LCAxMDAwKTsKLSAgICB9IGVsc2Ug
ewotICAgICAgICB2YXIgbWVzc2FnZUxvY2F0aW9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3BhcmVudCcpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2RpdicpOwotICAgICAgICBtZXNzYWdlLmlubmVySFRNTCA9ICI8cD5UaGlzIHRlc3QgaXMgYmV0
dGVyIHJ1biB1bmRlciBEdW1wUmVuZGVyVHJlZS4gVG8gbWFudWFsbHkgdGVzdCBpdCwgcGxhY2Ug
dGhlIG1vdXNlIHBvaW50ZXI8YnIvPiIKLSAgICAgICAgICAgICsgImluc2lkZSB0aGUgc2VsZWN0
IGJveCwgYW5kIHNjcm9sbCBuZWFyIChidXQgbm90IEFUKSB0aGUgYm90dG9tIG9mIHRoZSByYW5n
ZS4gVXNlIHRoZSBtb3VzZSB3aGVlbCBvciBhIHR3by1maW5nZXI8YnIvPiIKLSAgICAgICAgICAg
ICsgInN3aXBlIHRvIHNjcm9sbCB0aHJvdWdoIHRoZSByZXN0IG9mIHRoZSBzZWxlY3Qgb3B0aW9u
cy48YnIvPjxici8+IgotICAgICAgICAgICAgKyAiWW91IHNob3VsZCBub3Qgc2VlIHRoZSBwYWdl
IHBvc2l0aW9uIGNoYW5nZSBpZiB0aGlzIHRlc3QgaXMgc3VjY2Vzc2Z1bC48L3A+IjsKLSAgICAg
ICAgbWVzc2FnZUxvY2F0aW9uLmFwcGVuZENoaWxkKG1lc3NhZ2UpOwotICAgIH0KLX0KLQotPC9z
Y3JpcHQ+Ci08ZGl2IGlkPSJwYXJlbnQiIHN0eWxlPSJoZWlnaHQ6IDIwMDBweDsgd2lkdGg6IDIw
MDBweDsiPgotICAgIDxkaXYgaWQ9InNvdXJjZSIgc3R5bGU9ImhlaWdodDogMTAwcHg7IHdpZHRo
OiA1MDBweDsiPgotICAgICAgICBQdXQgbW91c2UgaGVyZSBhbmQgZmxpY2sgZG93bndhcmRzCi0g
ICAgPC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9InNjcm9sbGFibGVfcmVnaW9uIj4KLSAgICAg
ICAgICAgIDxoMz5TY3JvbGxhYmxlIFNlbGVjdDwvaDM+Ci0gICAgICAgICAgICA8c2VsZWN0IGlk
PSJ0YXJnZXQiIGNsYXNzPSJzY3JvbGxhYmxlX3NlbGVjdCIgc2l6ZT0iOCI+Ci0gICAgICAgICAg
ICAgICAgPG9wdGlvbj5jb250ZW50MTwvb3B0aW9uPgotICAgICAgICAgICAgICAgIDxvcHRpb24+
Y29udGVudDI8L29wdGlvbj4KLSAgICAgICAgICAgICAgICA8b3B0aW9uPmNvbnRlbnQzPC9vcHRp
b24+Ci0gICAgICAgICAgICAgICAgPG9wdGlvbj5jb250ZW50NDwvb3B0aW9uPgotICAgICAgICAg
ICAgICAgIDxvcHRpb24+Y29udGVudDU8L29wdGlvbj4KLSAgICAgICAgICAgICAgICA8b3B0aW9u
PmNvbnRlbnQ2PC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlvbj5jb250ZW50Nzwvb3B0
aW9uPgotICAgICAgICAgICAgICAgIDxvcHRpb24+Y29udGVudDg8L29wdGlvbj4KLSAgICAgICAg
ICAgICAgICA8b3B0aW9uPmNvbnRlbnQ5PC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlv
bj5jb250ZW50MTA8L29wdGlvbj4KLSAgICAgICAgICAgICAgICA8b3B0aW9uPmNvbnRlbnQxMTwv
b3B0aW9uPgotICAgICAgICAgICAgICAgIDxvcHRpb24+Y29udGVudDEyPC9vcHRpb24+Ci0gICAg
ICAgICAgICAgICAgPG9wdGlvbj5jb250ZW50MTM8L29wdGlvbj4KLSAgICAgICAgICAgICAgICA8
b3B0aW9uPmNvbnRlbnQxNDwvb3B0aW9uPgotICAgICAgICAgICAgICAgIDxvcHRpb24+Y29udGVu
dDE1PC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlvbj5jb250ZW50MTY8L29wdGlvbj4K
LSAgICAgICAgICAgICAgICA8b3B0aW9uPmNvbnRlbnQxNzwvb3B0aW9uPgotICAgICAgICAgICAg
ICAgIDxvcHRpb24+Y29udGVudDE4PC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlvbj5j
b250ZW50MTk8L29wdGlvbj4KLSAgICAgICAgICAgICAgICA8b3B0aW9uPmNvbnRlbnQyMDwvb3B0
aW9uPgotICAgICAgICAgICAgICAgIDxvcHRpb24+Y29udGVudDIxPC9vcHRpb24+Ci0gICAgICAg
ICAgICA8L3NlbGVjdD4KLSAgICAgICAgPC9kaXY+Ci0gICAgPC9kaXY+Ci08L2Rpdj4KLTxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGEg
c2VsZWN0IGRvZXNuJ3QgcGFzcyB3aGVlbCBldmVudHMgdG8gbWFpbiBmcmFtZSB3aGVuIHNjcm9s
bGluZyBhdCBib3R0b20iKTsKLTwvc2NyaXB0PgotPHByZSBpZD0ibGF5ZXJzIj5MYXllciB0cmVl
IGdvZXMgaGVyZTwvcD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9mYXN0LXNjcm9sbC1zZWxlY3QtbGF0
Y2hlZC1zZWxlY3QuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJh
d2luZy9mYXN0LXNjcm9sbC1zZWxlY3QtbGF0Y2hlZC1zZWxlY3QuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZDhkZjg5Yjk5YjAzZGM3OTUxMDZkOTFiMDBmMzUyMzIxOGExNWU2
YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvZmFzdC1zY3JvbGwtc2VsZWN0LWxh
dGNoZWQtc2VsZWN0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNTEgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHN0eWxlPgotLnNjcm9sbGFibGVfcmVnaW9uIHsK
LSAgICB3aWR0aDogNjgwcHg7Ci19Ci0KLS50YWJsZSB0ZCwgLnRhYmxlIHRoIHsKLSAgICBwYWRk
aW5nOiAycHg7Ci19Ci0KLS50YWJsZSB0aCB7Ci0gICAgaGVpZ2h0OiAyMHB4OwotICAgIHRleHQt
YWxpZ246IGxlZnQ7Ci0gICAgZm9udC13ZWlnaHQ6IHN0cm9uZzsKLX0KLQotLnRhYmxlIHRyOm50
aC1jaGlsZChvZGQpIHsKLSAgICBiYWNrZ3JvdW5kOiAjZjNmM2YzOwotfQotCi0uc2Nyb2xsYWJs
ZV9zZWxlY3Qgb3B0aW9uOm50aC1jaGlsZChvZGQpIHsKLSAgICBiYWNrZ3JvdW5kOiAjZjNmM2Yz
OwotfQotCi08L3N0eWxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gb25Mb2FkKCkgewotICAgIHNl
dHVwVG9wTGV2ZWwoKTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJvbkxv
YWQoKTsiPgotPHNjcmlwdD4KLQotdmFyIHNlbGVjdFRhcmdldDsKLXZhciBwYWdlU2Nyb2xsUG9z
aXRpb25CZWZvcmU7Ci12YXIgc2VsZWN0U2Nyb2xsUG9zaXRpb25CZWZvcmU7Ci12YXIgY29udGlu
dWVDb3VudCA9IDU7Ci0KLWZ1bmN0aW9uIGNoZWNrRm9yU2Nyb2xsKCkgewotCi0gICAgLy8gVGhl
IHBhZ2Ugc2hvdWxkIG5vdCBoYXZlIHNjcm9sbGVkIGF0IGFsbC4KLSAgICB2YXIgcGFnZVNjcm9s
bFBvc2l0aW9uQWZ0ZXIgPSBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDsKLSAgICB2YXIgc2VsZWN0
U2Nyb2xsUG9zaXRpb25BZnRlciA9IHNlbGVjdFRhcmdldC5zY3JvbGxUb3A7Ci0KLSAgICBkZWJ1
ZygiUGFnZSBiZWZvcmU6ICIgKyBwYWdlU2Nyb2xsUG9zaXRpb25CZWZvcmUgKyAiLCBzZWxlY3Qg
YmVmb3JlOiAiICsgc2VsZWN0U2Nyb2xsUG9zaXRpb25CZWZvcmUpOwotICAgIGRlYnVnKCJQYWdl
IGFmdGVyOiAgIiArIHBhZ2VTY3JvbGxQb3NpdGlvbkFmdGVyICsgIiwgc2VsZWN0IGFmdGVyOiAi
ICsgc2VsZWN0U2Nyb2xsUG9zaXRpb25BZnRlcik7Ci0KLSAgICBpZiAocGFnZVNjcm9sbFBvc2l0
aW9uQmVmb3JlICE9IHBhZ2VTY3JvbGxQb3NpdGlvbkFmdGVyKQotICAgICAgICB0ZXN0RmFpbGVk
KCJQYWdlIHJlY2VpdmVkIHdoZWVsIGV2ZW50cy4iKTsKLSAgICBlbHNlCi0gICAgICAgIHRlc3RQ
YXNzZWQoIlBhZ2UgZGlkIG5vdCByZWNlaXZlIHdoZWVsIGV2ZW50cy4iKTsKLQotICAgIGlmICh3
aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXll
cnMnKS5pbm5lclRleHQgPSBpbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50LAotICAg
ICAgICAgICAgaW50ZXJuYWxzLkxBWUVSX1RSRUVfSU5DTFVERVNfVklTSUJMRV9SRUNUUyB8IGlu
dGVybmFscy5MQVlFUl9UUkVFX0lOQ0xVREVTX1RJTEVfQ0FDSEVTKTsKLSAgICB9Ci0KLSAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24gc2Nyb2xsVGVzdCgpIHsKLSAg
ICAvLyBTZWUgd2hlcmUgb3VyIElGcmFtZSBsaXZlczoKLSAgICBwYWdlU2Nyb2xsUG9zaXRpb25C
ZWZvcmUgPSBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDsKLQotICAgIHNlbGVjdFRhcmdldCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKTsKLSAgICBzZWxlY3RUYXJnZXQuc2Nyb2xs
VG9wID0gc2VsZWN0VGFyZ2V0LnNjcm9sbEhlaWdodCAtIHNlbGVjdFRhcmdldC5jbGllbnRIZWln
aHQgLSAxMDA7Ci0KLSAgICBzZWxlY3RTY3JvbGxQb3NpdGlvbkJlZm9yZSA9IHNlbGVjdFRhcmdl
dC5zY3JvbGxUb3A7Ci0KLSAgICAvLyBTY3JvbGwgdGhlICNzb3VyY2UgdW50aWwgd2UgcmVhY2gg
dGhlICN0YXJnZXQuCi0gICAgdmFyIHN0YXJ0UG9zWCA9IHNlbGVjdFRhcmdldC5vZmZzZXRMZWZ0
ICsgMjA7Ci0gICAgZGVidWcoImRpdiBkaXNwbGF5IGhlaWdodCA9ICIgKyBzZWxlY3RUYXJnZXQu
Y2xpZW50SGVpZ2h0KTsKLSAgICB2YXIgc3RhcnRQb3NZID0gc2VsZWN0VGFyZ2V0Lm9mZnNldFRv
cCArIHNlbGVjdFRhcmdldC5jbGllbnRIZWlnaHQgLSA0MjsgLy8gT25lIHdoZWVsIHR1cm4gYmVm
b3JlIGVuZC4KLSAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhzdGFydFBvc1gsIHN0YXJ0UG9z
WSk7IC8vIE1ha2Ugc3VyZSB3ZSBhcmUganVzdCBvdXRzaWRlIHRoZSBpRnJhbWUKLSAgICBkZWJ1
ZygiTW91c2UgbW92ZWQgdG8gKCIgKyBzdGFydFBvc1ggKyAiLCAiICsgc3RhcnRQb3NZICsgIiki
KTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFz
ZXMoMCwgLTEsICdiZWdhbicsICdub25lJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VT
Y3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnY2hhbmdlZCcsICdub25l
JywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVu
dHVtUGhhc2VzKDAsIC0xLCAnY2hhbmdlZCcsICdub25lJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5k
ZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIDAsICdlbmRlZCcs
ICdub25lJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFu
ZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdiZWdpbicsIHRydWUpOwotICAgIGV2ZW50
U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ25v
bmUnLCAnY29udGludWUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0
aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdub25lJywgJ2NvbnRpbnVlJywgdHJ1ZSk7
Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2Vz
KDAsIC0xLCAnbm9uZScsICdjb250aW51ZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNl
U2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnY29udGlu
dWUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9t
ZW50dW1QaGFzZXMoMCwgMCwgJ25vbmUnLCAnZW5kJywgdHJ1ZSk7Ci0gICAgc2V0VGltZW91dChj
aGVja0ZvclNjcm9sbCwgMTAwKTsKLX0KLQotZnVuY3Rpb24gc2V0dXBUb3BMZXZlbCgpIHsKLQot
ICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KHRydWUpOwotICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLQotICAgICAg
ICBzZXRUaW1lb3V0KHNjcm9sbFRlc3QsIDEwMDApOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHZh
ciBtZXNzYWdlTG9jYXRpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFyZW50Jyk7Ci0g
ICAgICAgIHZhciBtZXNzYWdlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0gICAg
ICAgIG1lc3NhZ2UuaW5uZXJIVE1MID0gIjxwPlRoaXMgdGVzdCBpcyBiZXR0ZXIgcnVuIHVuZGVy
IER1bXBSZW5kZXJUcmVlLiBUbyBtYW51YWxseSB0ZXN0IGl0LCBwbGFjZSB0aGUgbW91c2UgcG9p
bnRlcjxici8+IgotICAgICAgICAgICAgKyAiaW5zaWRlIHRoZSBzZWxlY3QgYm94LCBhbmQgc2Ny
b2xsIG5lYXIgKGJ1dCBub3QgQVQpIHRoZSBib3R0b20gb2YgdGhlIHJhbmdlLiBVc2UgdGhlIG1v
dXNlIHdoZWVsIG9yIGEgdHdvLWZpbmdlcjxici8+IgotICAgICAgICAgICAgKyAic3dpcGUgdG8g
c2Nyb2xsIHRocm91Z2ggdGhlIHJlc3Qgb2YgdGhlIHNlbGVjdCBvcHRpb25zLjxici8+PGJyLz4i
Ci0gICAgICAgICAgICArICJZb3Ugc2hvdWxkIG5vdCBzZWUgdGhlIHBhZ2UgcG9zaXRpb24gY2hh
bmdlIGlmIHRoaXMgdGVzdCBpcyBzdWNjZXNzZnVsLjwvcD4iOwotICAgICAgICBtZXNzYWdlTG9j
YXRpb24uYXBwZW5kQ2hpbGQobWVzc2FnZSk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTxkaXYg
aWQ9InBhcmVudCIgc3R5bGU9ImhlaWdodDogMjAwMHB4OyB3aWR0aDogMjAwMHB4OyI+Ci0gICAg
PGRpdiBpZD0ic291cmNlIiBzdHlsZT0iaGVpZ2h0OiAxMDBweDsgd2lkdGg6IDUwMHB4OyI+Ci0g
ICAgICAgIFB1dCBtb3VzZSBoZXJlIGFuZCBmbGljayBkb3dud2FyZHMKLSAgICA8L2Rpdj4KLSAg
ICAgICAgPGRpdiBjbGFzcz0ic2Nyb2xsYWJsZV9yZWdpb24iPgotICAgICAgICAgICAgPGgzPlNj
cm9sbGFibGUgU2VsZWN0PC9oMz4KLSAgICAgICAgICAgIDxzZWxlY3QgaWQ9InRhcmdldCIgY2xh
c3M9InNjcm9sbGFibGVfc2VsZWN0IiBzaXplPSI4Ij4KLSAgICAgICAgICAgICAgICA8b3B0aW9u
PmNvbnRlbnQxPC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlvbj5jb250ZW50Mjwvb3B0
aW9uPgotICAgICAgICAgICAgICAgIDxvcHRpb24+Y29udGVudDM8L29wdGlvbj4KLSAgICAgICAg
ICAgICAgICA8b3B0aW9uPmNvbnRlbnQ0PC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlv
bj5jb250ZW50NTwvb3B0aW9uPgotICAgICAgICAgICAgICAgIDxvcHRpb24+Y29udGVudDY8L29w
dGlvbj4KLSAgICAgICAgICAgICAgICA8b3B0aW9uPmNvbnRlbnQ3PC9vcHRpb24+Ci0gICAgICAg
ICAgICAgICAgPG9wdGlvbj5jb250ZW50ODwvb3B0aW9uPgotICAgICAgICAgICAgICAgIDxvcHRp
b24+Y29udGVudDk8L29wdGlvbj4KLSAgICAgICAgICAgICAgICA8b3B0aW9uPmNvbnRlbnQxMDwv
b3B0aW9uPgotICAgICAgICAgICAgICAgIDxvcHRpb24+Y29udGVudDExPC9vcHRpb24+Ci0gICAg
ICAgICAgICAgICAgPG9wdGlvbj5jb250ZW50MTI8L29wdGlvbj4KLSAgICAgICAgICAgICAgICA8
b3B0aW9uPmNvbnRlbnQxMzwvb3B0aW9uPgotICAgICAgICAgICAgICAgIDxvcHRpb24+Y29udGVu
dDE0PC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlvbj5jb250ZW50MTU8L29wdGlvbj4K
LSAgICAgICAgICAgICAgICA8b3B0aW9uPmNvbnRlbnQxNjwvb3B0aW9uPgotICAgICAgICAgICAg
ICAgIDxvcHRpb24+Y29udGVudDE3PC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlvbj5j
b250ZW50MTg8L29wdGlvbj4KLSAgICAgICAgICAgICAgICA8b3B0aW9uPmNvbnRlbnQxOTwvb3B0
aW9uPgotICAgICAgICAgICAgICAgIDxvcHRpb24+Y29udGVudDIwPC9vcHRpb24+Ci0gICAgICAg
ICAgICAgICAgPG9wdGlvbj5jb250ZW50MjE8L29wdGlvbj4KLSAgICAgICAgICAgIDwvc2VsZWN0
PgotICAgICAgICA8L2Rpdj4KLSAgICA8L2Rpdj4KLTwvZGl2PgotPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYSBzZWxlY3QgZG9lc24n
dCBwYXNzIHdoZWVsIGV2ZW50cyB0byBtYWluIGZyYW1lIHdoZW4gc2Nyb2xsaW5nIGF0IGJvdHRv
bSIpOwotPC9zY3JpcHQ+Ci08cHJlIGlkPSJsYXllcnMiPkxheWVyIHRyZWUgZ29lcyBoZXJlPC9w
PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1kaXYtbGF0Y2hlZC1kaXYtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1kaXYtbGF0Y2hl
ZC1kaXYtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNDI0OWQz
Nzc1ODEyY2M3Mjc4ODg2NTNkMjI2YTdmZjIxNWUxMGJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3Nj
cm9sbGluZy9zY3JvbGwtZGl2LWxhdGNoZWQtZGl2LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDYwICswLDAgQEAKLVB1dCBtb3VzZSBoZXJlIGFuZCBmbGljayBkb3dud2FyZHMKLVNj
cm9sbGFibGUgUmVnaW9uCi0KLUNvdW50CURBVEEJUmV2IENvdW50Ci1UT1AgVE9QIFRPUCBUT1Ag
VE9QCVRPUCBUT1AgVE9QIFRPUCBUT1AJVE9QIFRPUCBUT1AgVE9QIFRPUAotMQkwLjExMDAJNDAK
LTIJMC4xMTU1CTM5Ci0zCTAuMjIwMAkzOAotNAkwLjIyNTUJMzcKLTUJMC4zMzAwCTM2Ci02CTAu
MzM1NQkzNQotNwkwLjQ0MDAJMzQKLTgJMC40NDU1CTMzCi05CTAuNTUwMAkzMgotMTAJMC41NTU1
CTMxCi0xMQkwLjY2MDAJMzAKLTEyCTAuNjY1NQkyOQotMTMJMC43NzAwCTI4Ci0xNAkwLjc3NTUJ
MjcKLTE1CTAuODgwMAkyNgotMTYJMC44ODU1CTI1Ci0xNwkwLjk5MDAJMjQKLTE4CTAuOTk1NQky
MwotMTkJMC45OTk5CTIyCi0yMAkxLjAwMDAJMjEKLTIxCTEuMDAwMAkyMAotMjIJMC45OTk5CTE5
Ci0yMwkwLjk5NTUJMTgKLTI0CTAuOTkwMAkxNwotMjUJMC44ODU1CTE2Ci0yNgkwLjg4MDAJMTUK
LTI3CTAuNzc1NQkxNAotMjgJMC43NzAwCTEzCi0yOQkwLjY2NTUJMTIKLTMwCTAuNjYwMAkxMQot
MzEJMC41NTU1CTEwCi0zMgkwLjU1MDAJOQotMzMJMC40NDU1CTgKLTM0CTAuNDQwMAk3Ci0zNQkw
LjMzNTUJNgotMzYJMC4zMzAwCTUKLTM3CTAuMjI1NQk0Ci0zOAkwLjIyMDAJMwotMzkJMC4xMTU1
CTIKLTQwCTAuMTEwMAkxCi1FTkQgRU5EIEVORCBFTkQgRU5ECUVORCBFTkQgRU5EIEVORCBFTkQJ
RU5EIEVORCBFTkQgRU5EIEVORAotVGVzdHMgdGhhdCBhIHNjcm9sbGFibGUgZGl2IGRvZXNuJ3Qg
cGFzcyB3aGVlbCBldmVudHMgdG8gbWFpbiBmcmFtZSB3aGVuIHNjcm9sbGluZyBhdCBib3R0b20K
LQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotZGl2IGRpc3BsYXkgaGVpZ2h0ID0gNDg1Ci1Nb3Vz
ZSBtb3ZlZCB0byAoMjgsIDYxMCkKLVBhZ2UgYmVmb3JlOiAwLCBkaXYgYmVmb3JlOiA0NTEKLVBh
Z2UgYWZ0ZXI6ICAwLCBkaXYgYWZ0ZXI6IDQ1MQotUEFTUyBQYWdlIGRpZCBub3QgcmVjZWl2ZSB3
aGVlbCBldmVudHMuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L3Njcm9sbGluZy9zY3JvbGwtZGl2LWxhdGNoZWQtZGl2Lmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWRpdi1sYXRjaGVkLWRpdi5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NzA0Nzk3NWUwMmM1NmZlZGFjZjVlMDkwNmFjZGQ1
MTRkYzk1ZGJlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3Njcm9sbGluZy9zY3JvbGwtZGl2LWxhdGNo
ZWQtZGl2Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNjggKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxoZWFkPgotPHN0eWxlPgotLnNjcm9sbGFibGVfcmVnaW9uIHsKLSAgICB3
aWR0aDogNjgwcHg7Ci19Ci0KLS50YWJsZSB0ZCwgLnRhYmxlIHRoIHsKLSAgICBwYWRkaW5nOiAy
cHg7Ci19Ci0KLS50YWJsZSB0aCB7Ci0gICAgaGVpZ2h0OiAyMHB4OwotICAgIHRleHQtYWxpZ246
IGxlZnQ7Ci0gICAgZm9udC13ZWlnaHQ6IHN0cm9uZzsKLX0KLQotLnRhYmxlIHRyOm50aC1jaGls
ZChvZGQpIHsKLSAgICBiYWNrZ3JvdW5kOiAjZjNmM2YzOwotfQotCi0uc2Nyb2xsYWJsZV9zZWxl
Y3Qgb3B0aW9uOm50aC1jaGlsZChvZGQpIHsKLSAgICBiYWNrZ3JvdW5kOiAjZjNmM2YzOwotfQot
Ci08L3N0eWxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gb25Mb2FkKCkgewotICAgIHNldHVw
VG9wTGV2ZWwoKTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJvbkxvYWQo
KTsiPgotPHNjcmlwdD4KLQotdmFyIGRpdlRhcmdldDsKLXZhciBwYWdlU2Nyb2xsUG9zaXRpb25C
ZWZvcmU7Ci12YXIgZGl2U2Nyb2xsUG9zaXRpb25CZWZvcmU7Ci12YXIgY29udGludWVDb3VudCA9
IDU7Ci0KLWZ1bmN0aW9uIGNoZWNrRm9yU2Nyb2xsKCkgewotCi0gICAgLy8gVGhlIGRpdiBzaG91
bGQgbm90IGhhdmUgc2Nyb2xsZWQgYXQgYWxsLgotICAgIHZhciBwYWdlU2Nyb2xsUG9zaXRpb25B
ZnRlciA9IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wOwotICAgIHZhciBkaXZTY3JvbGxQb3NpdGlv
bkFmdGVyID0gZGl2VGFyZ2V0LnNjcm9sbFRvcDsKLQotICAgIGRlYnVnKCJQYWdlIGJlZm9yZTog
IiArIHBhZ2VTY3JvbGxQb3NpdGlvbkJlZm9yZSArICIsIGRpdiBiZWZvcmU6ICIgKyBkaXZTY3Jv
bGxQb3NpdGlvbkJlZm9yZSk7Ci0gICAgZGVidWcoIlBhZ2UgYWZ0ZXI6ICAiICsgcGFnZVNjcm9s
bFBvc2l0aW9uQWZ0ZXIgKyAiLCBkaXYgYWZ0ZXI6ICIgKyBkaXZTY3JvbGxQb3NpdGlvbkFmdGVy
KTsKLQotICAgIGlmIChwYWdlU2Nyb2xsUG9zaXRpb25CZWZvcmUgIT0gcGFnZVNjcm9sbFBvc2l0
aW9uQWZ0ZXIpCi0gICAgICAgIHRlc3RGYWlsZWQoIlBhZ2UgcmVjZWl2ZWQgd2hlZWwgZXZlbnRz
LiIpOwotICAgIGVsc2UKLSAgICAgICAgdGVzdFBhc3NlZCgiUGFnZSBkaWQgbm90IHJlY2VpdmUg
d2hlZWwgZXZlbnRzLiIpOwotCi0gICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1
bmN0aW9uIHNjcm9sbFRlc3QoKSB7Ci0gICAgLy8gU2VlIHdoZXJlIG91ciBJRnJhbWUgbGl2ZXM6
Ci0gICAgcGFnZVNjcm9sbFBvc2l0aW9uQmVmb3JlID0gZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7
Ci0KLSAgICBkaXZUYXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0Jyk7Ci0g
ICAgZGl2VGFyZ2V0LnNjcm9sbFRvcCA9IGRpdlRhcmdldC5zY3JvbGxIZWlnaHQgLSBkaXZUYXJn
ZXQuY2xpZW50SGVpZ2h0IC0gMTAwOwotCi0gICAgZGl2U2Nyb2xsUG9zaXRpb25CZWZvcmUgPSBk
aXZUYXJnZXQuc2Nyb2xsVG9wOwotCi0gICAgLy8gU2Nyb2xsIHRoZSAjc291cmNlIHVudGlsIHdl
IHJlYWNoIHRoZSAjdGFyZ2V0LgotICAgIHZhciBzdGFydFBvc1ggPSBkaXZUYXJnZXQub2Zmc2V0
TGVmdCArIDIwOwotICAgIGRlYnVnKCJkaXYgZGlzcGxheSBoZWlnaHQgPSAiICsgZGl2VGFyZ2V0
LmNsaWVudEhlaWdodCk7Ci0gICAgdmFyIHN0YXJ0UG9zWSA9IGRpdlRhcmdldC5vZmZzZXRUb3Ag
KyBkaXZUYXJnZXQuY2xpZW50SGVpZ2h0IC0gNDI7IC8vIE9uZSB3aGVlbCB0dXJuIGJlZm9yZSBl
bmQuCi0gICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oc3RhcnRQb3NYLCBzdGFydFBvc1kpOyAv
LyBNYWtlIHN1cmUgd2UgYXJlIGp1c3Qgb3V0c2lkZSB0aGUgaUZyYW1lCi0gICAgZGVidWcoIk1v
dXNlIG1vdmVkIHRvICgiICsgc3RhcnRQb3NYICsgIiwgIiArIHN0YXJ0UG9zWSArICIpIik7Ci0g
ICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAs
IC0xLCAnYmVnYW4nLCAnbm9uZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xs
QnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ2NoYW5nZWQnLCAnbm9uZScsIHRy
dWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBo
YXNlcygwLCAtMSwgJ2NoYW5nZWQnLCAnbm9uZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1v
dXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAwLCAnZW5kZWQnLCAnbm9u
ZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21l
bnR1bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnYmVnaW4nLCB0cnVlKTsKLSAgICBldmVudFNlbmRl
ci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdub25lJywg
J2NvbnRpbnVlJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVl
bEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdjb250aW51ZScsIHRydWUpOwotICAg
IGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAt
MSwgJ25vbmUnLCAnY29udGludWUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9s
bEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdub25lJywgJ2NvbnRpbnVlJywg
dHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVt
UGhhc2VzKDAsIDAsICdub25lJywgJ2VuZCcsIHRydWUpOwotICAgIHNldFRpbWVvdXQoY2hlY2tG
b3JTY3JvbGwsIDEwMCk7Ci19Ci0KLWZ1bmN0aW9uIHNldHVwVG9wTGV2ZWwoKSB7Ci0KLSAgICBp
ZiAod2luZG93LmV2ZW50U2VuZGVyKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCh0
cnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0KLSAgICAgICAgc2V0
VGltZW91dChzY3JvbGxUZXN0LCAxMDAwKTsKLSAgICB9IGVsc2UgewotICAgICAgICB2YXIgbWVz
c2FnZUxvY2F0aW9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhcmVudCcpOwotICAgICAg
ICB2YXIgbWVzc2FnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAgICAgICBt
ZXNzYWdlLmlubmVySFRNTCA9ICI8cD5UaGlzIHRlc3QgaXMgYmV0dGVyIHJ1biB1bmRlciBEdW1w
UmVuZGVyVHJlZS4gVG8gbWFudWFsbHkgdGVzdCBpdCwgcGxhY2UgdGhlIG1vdXNlIHBvaW50ZXI8
YnIvPiIKLSAgICAgICAgICAgICsgImF0IHRoZSB0b3Agb2YgdGhlIHBhZ2UsIGFuZCB0aGVuIHVz
ZSB0aGUgbW91c2Ugd2hlZWwgb3IgYSB0d28tZmluZ2VyIHN3aXBlIHRvIHNjcm9sbCB0aGU8YnIv
PiIKLSAgICAgICAgICAgICsgImRvd24gcGFzdCB0aGUgZGl2Ljxici8+PGJyLz4iCi0gICAgICAg
ICAgICArICJZb3Ugc2hvdWxkIG5vdCBzZWUgdGhlIHJvdyBvZiBFTkQgbGFiZWxzIGlmIHRoaXMg
dGVzdCBpcyBzdWNjZXNzZnVsLjwvcD4iOwotICAgICAgICBtZXNzYWdlTG9jYXRpb24uYXBwZW5k
Q2hpbGQobWVzc2FnZSk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTxkaXYgaWQ9InBhcmVudCIg
c3R5bGU9ImhlaWdodDogMjAwMHB4OyB3aWR0aDogMjAwMHB4OyI+Ci0gICAgPGRpdiBpZD0ic291
cmNlIiBzdHlsZT0iaGVpZ2h0OiAxMDBweDsgd2lkdGg6IDUwMHB4OyI+Ci0gICAgICAgIFB1dCBt
b3VzZSBoZXJlIGFuZCBmbGljayBkb3dud2FyZHMKLSAgICA8L2Rpdj4KLSAgICA8ZGl2IGNsYXNz
PSJzY3JvbGxhYmxlX3JlZ2lvbiI+Ci0gICAgICAgIDxoMz5TY3JvbGxhYmxlIFJlZ2lvbjwvaDM+
Ci0gICAgICAgIDxkaXYgaWQ9InRhcmdldCIgc3R5bGU9J292ZXJmbG93LXk6IGF1dG87IG92ZXJm
bG93LXg6IGhpZGRlbjsgbWF4LWhlaWdodDogNDg1cHg7Jz4KLSAgICAgICAgICAgIDx0YWJsZSBj
bGFzcz0idGFibGUiIHN0eWxlPSd3aWR0aDogOTklJz4KLSAgICAgICAgICAgICAgICA8dHI+PHRo
PkNvdW50PC90aD48dGg+REFUQTwvdGg+PHRoPlJldiBDb3VudDwvdGg+PC90cj4KLSAgICAgICAg
ICAgICAgICA8dHI+PHRkPlRPUCBUT1AgVE9QIFRPUCBUT1A8L3RkPjx0ZD5UT1AgVE9QIFRPUCBU
T1AgVE9QPC90ZD48dGQ+VE9QIFRPUCBUT1AgVE9QIFRPUDwvdGQ+PC90cj4KLSAgICAgICAgICAg
ICAgICA8dHI+PHRkPjE8L3RkPjx0ZD4wLjExMDA8L3RkPjx0ZD40MDwvdGQ+PC90cj4KLSAgICAg
ICAgICAgICAgICA8dHI+PHRkPjI8L3RkPjx0ZD4wLjExNTU8L3RkPjx0ZD4zOTwvdGQ+PC90cj4K
LSAgICAgICAgICAgICAgICA8dHI+PHRkPjM8L3RkPjx0ZD4wLjIyMDA8L3RkPjx0ZD4zODwvdGQ+
PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjQ8L3RkPjx0ZD4wLjIyNTU8L3RkPjx0ZD4z
NzwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjU8L3RkPjx0ZD4wLjMzMDA8L3Rk
Pjx0ZD4zNjwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjY8L3RkPjx0ZD4wLjMz
NTU8L3RkPjx0ZD4zNTwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjc8L3RkPjx0
ZD4wLjQ0MDA8L3RkPjx0ZD4zNDwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjg8
L3RkPjx0ZD4wLjQ0NTU8L3RkPjx0ZD4zMzwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+
PHRkPjk8L3RkPjx0ZD4wLjU1MDA8L3RkPjx0ZD4zMjwvdGQ+PC90cj4KLSAgICAgICAgICAgICAg
ICA8dHI+PHRkPjEwPC90ZD48dGQ+MC41NTU1PC90ZD48dGQ+MzE8L3RkPjwvdHI+Ci0gICAgICAg
ICAgICAgICAgPHRyPjx0ZD4xMTwvdGQ+PHRkPjAuNjYwMDwvdGQ+PHRkPjMwPC90ZD48L3RyPgot
ICAgICAgICAgICAgICAgIDx0cj48dGQ+MTI8L3RkPjx0ZD4wLjY2NTU8L3RkPjx0ZD4yOTwvdGQ+
PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjEzPC90ZD48dGQ+MC43NzAwPC90ZD48dGQ+
Mjg8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4xNDwvdGQ+PHRkPjAuNzc1NTwv
dGQ+PHRkPjI3PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MTU8L3RkPjx0ZD4w
Ljg4MDA8L3RkPjx0ZD4yNjwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjE2PC90
ZD48dGQ+MC44ODU1PC90ZD48dGQ+MjU8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0
ZD4xNzwvdGQ+PHRkPjAuOTkwMDwvdGQ+PHRkPjI0PC90ZD48L3RyPgotICAgICAgICAgICAgICAg
IDx0cj48dGQ+MTg8L3RkPjx0ZD4wLjk5NTU8L3RkPjx0ZD4yMzwvdGQ+PC90cj4KLSAgICAgICAg
ICAgICAgICA8dHI+PHRkPjE5PC90ZD48dGQ+MC45OTk5PC90ZD48dGQ+MjI8L3RkPjwvdHI+Ci0g
ICAgICAgICAgICAgICAgPHRyPjx0ZD4yMDwvdGQ+PHRkPjEuMDAwMDwvdGQ+PHRkPjIxPC90ZD48
L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MjE8L3RkPjx0ZD4xLjAwMDA8L3RkPjx0ZD4y
MDwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjIyPC90ZD48dGQ+MC45OTk5PC90
ZD48dGQ+MTk8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4yMzwvdGQ+PHRkPjAu
OTk1NTwvdGQ+PHRkPjE4PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MjQ8L3Rk
Pjx0ZD4wLjk5MDA8L3RkPjx0ZD4xNzwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRk
PjI1PC90ZD48dGQ+MC44ODU1PC90ZD48dGQ+MTY8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAg
PHRyPjx0ZD4yNjwvdGQ+PHRkPjAuODgwMDwvdGQ+PHRkPjE1PC90ZD48L3RyPgotICAgICAgICAg
ICAgICAgIDx0cj48dGQ+Mjc8L3RkPjx0ZD4wLjc3NTU8L3RkPjx0ZD4xNDwvdGQ+PC90cj4KLSAg
ICAgICAgICAgICAgICA8dHI+PHRkPjI4PC90ZD48dGQ+MC43NzAwPC90ZD48dGQ+MTM8L3RkPjwv
dHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4yOTwvdGQ+PHRkPjAuNjY1NTwvdGQ+PHRkPjEy
PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MzA8L3RkPjx0ZD4wLjY2MDA8L3Rk
Pjx0ZD4xMTwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjMxPC90ZD48dGQ+MC41
NTU1PC90ZD48dGQ+MTA8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4zMjwvdGQ+
PHRkPjAuNTUwMDwvdGQ+PHRkPjk8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4z
MzwvdGQ+PHRkPjAuNDQ1NTwvdGQ+PHRkPjg8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRy
Pjx0ZD4zNDwvdGQ+PHRkPjAuNDQwMDwvdGQ+PHRkPjc8L3RkPjwvdHI+Ci0gICAgICAgICAgICAg
ICAgPHRyPjx0ZD4zNTwvdGQ+PHRkPjAuMzM1NTwvdGQ+PHRkPjY8L3RkPjwvdHI+Ci0gICAgICAg
ICAgICAgICAgPHRyPjx0ZD4zNjwvdGQ+PHRkPjAuMzMwMDwvdGQ+PHRkPjU8L3RkPjwvdHI+Ci0g
ICAgICAgICAgICAgICAgPHRyPjx0ZD4zNzwvdGQ+PHRkPjAuMjI1NTwvdGQ+PHRkPjQ8L3RkPjwv
dHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4zODwvdGQ+PHRkPjAuMjIwMDwvdGQ+PHRkPjM8
L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4zOTwvdGQ+PHRkPjAuMTE1NTwvdGQ+
PHRkPjI8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD40MDwvdGQ+PHRkPjAuMTEw
MDwvdGQ+PHRkPjE8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD5FTkQgRU5EIEVO
RCBFTkQgRU5EPC90ZD48dGQ+RU5EIEVORCBFTkQgRU5EIEVORDwvdGQ+PHRkPkVORCBFTkQgRU5E
IEVORCBFTkQ8L3RkPjwvdHI+Ci0gICAgICAgICAgICA8L3RhYmxlPgotICAgICAgICA8L2Rpdj4K
LSAgICA8L2Rpdj4KLTwvZGl2PgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0Pgot
ZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYSBzY3JvbGxhYmxlIGRpdiBkb2Vzbid0IHBhc3Mgd2hl
ZWwgZXZlbnRzIHRvIG1haW4gZnJhbWUgd2hlbiBzY3JvbGxpbmcgYXQgYm90dG9tIik7Ci08L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L3Njcm9sbGluZy9zY3JvbGwtZGl2LWxhdGNoZWQtbWFpbmZyYW1lLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3Njcm9sbGluZy9zY3Jv
bGwtZGl2LWxhdGNoZWQtbWFpbmZyYW1lLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNGRmNmM0NDAyNTc0M2Y5YWIzMTMzNGU0Nzc4N2RiOWQ1OThjY2RhOC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWRpdi1sYXRjaGVkLW1haW5mcmFtZS1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1OSArMCwwIEBACi1QdXQgbW91c2UgaGVy
ZSBhbmQgZmxpY2sgZG93bndhcmRzCi1TY3JvbGxhYmxlIFJlZ2lvbgotCi1Db3VudAlEQVRBCVJl
diBDb3VudAotVE9QIFRPUCBUT1AgVE9QIFRPUAlUT1AgVE9QIFRPUCBUT1AgVE9QCVRPUCBUT1Ag
VE9QIFRPUCBUT1AKLTEJMC4xMTAwCTQwCi0yCTAuMTE1NQkzOQotMwkwLjIyMDAJMzgKLTQJMC4y
MjU1CTM3Ci01CTAuMzMwMAkzNgotNgkwLjMzNTUJMzUKLTcJMC40NDAwCTM0Ci04CTAuNDQ1NQkz
MwotOQkwLjU1MDAJMzIKLTEwCTAuNTU1NQkzMQotMTEJMC42NjAwCTMwCi0xMgkwLjY2NTUJMjkK
LTEzCTAuNzcwMAkyOAotMTQJMC43NzU1CTI3Ci0xNQkwLjg4MDAJMjYKLTE2CTAuODg1NQkyNQot
MTcJMC45OTAwCTI0Ci0xOAkwLjk5NTUJMjMKLTE5CTAuOTk5OQkyMgotMjAJMS4wMDAwCTIxCi0y
MQkxLjAwMDAJMjAKLTIyCTAuOTk5OQkxOQotMjMJMC45OTU1CTE4Ci0yNAkwLjk5MDAJMTcKLTI1
CTAuODg1NQkxNgotMjYJMC44ODAwCTE1Ci0yNwkwLjc3NTUJMTQKLTI4CTAuNzcwMAkxMwotMjkJ
MC42NjU1CTEyCi0zMAkwLjY2MDAJMTEKLTMxCTAuNTU1NQkxMAotMzIJMC41NTAwCTkKLTMzCTAu
NDQ1NQk4Ci0zNAkwLjQ0MDAJNwotMzUJMC4zMzU1CTYKLTM2CTAuMzMwMAk1Ci0zNwkwLjIyNTUJ
NAotMzgJMC4yMjAwCTMKLTM5CTAuMTE1NQkyCi00MAkwLjExMDAJMQotRU5EIEVORCBFTkQgRU5E
IEVORAlFTkQgRU5EIEVORCBFTkQgRU5ECUVORCBFTkQgRU5EIEVORCBFTkQKLVRlc3RzIHRoYXQg
YSBzY3JvbGxhYmxlIGRpdiBkb2Vzbid0IGNvbnN1bWUgd2hlZWwgZXZlbnRzIHdoZW4gc2Nyb2xs
IGlzIGxhdGNoZWQgdG8gbWFpbiBmcmFtZS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgot
Ci0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotTW91
c2UgbW92ZWQgdG8gKDI4LCAxMjUpCi1QYWdlIGJlZm9yZTogMCwgZGl2IGJlZm9yZTogMAotUGFn
ZSBhZnRlcjogIDMyMCwgZGl2IGFmdGVyOiAwCi1QQVNTIFNjcm9sbGFibGUgZGl2IGRpZCBub3Qg
cmVjZWl2ZSB3aGVlbCBldmVudHMuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L3Njcm9sbGluZy9zY3JvbGwtZGl2LWxhdGNoZWQtbWFpbmZyYW1lLmh0bWwgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWRpdi1sYXRjaGVk
LW1haW5mcmFtZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNjExYWQxZGY4
ZTg3Y2M4ZDVlMGQ0YjM1ZGNiOTA5Y2EwZWQxNmU5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3Njcm9s
bGluZy9zY3JvbGwtZGl2LWxhdGNoZWQtbWFpbmZyYW1lLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSwxNjYgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHN0eWxlPgot
LnNjcm9sbGFibGVfcmVnaW9uIHsKLSAgICB3aWR0aDogNjgwcHg7Ci19Ci0KLS50YWJsZSB0ZCwg
LnRhYmxlIHRoIHsKLSAgICBwYWRkaW5nOiAycHg7Ci19Ci0KLS50YWJsZSB0aCB7Ci0gICAgaGVp
Z2h0OiAyMHB4OwotICAgIHRleHQtYWxpZ246IGxlZnQ7Ci0gICAgZm9udC13ZWlnaHQ6IHN0cm9u
ZzsKLX0KLQotLnRhYmxlIHRyOm50aC1jaGlsZChvZGQpIHsKLSAgICBiYWNrZ3JvdW5kOiAjZjNm
M2YzOwotfQotCi0uc2Nyb2xsYWJsZV9zZWxlY3Qgb3B0aW9uOm50aC1jaGlsZChvZGQpIHsKLSAg
ICBiYWNrZ3JvdW5kOiAjZjNmM2YzOwotfQotCi08L3N0eWxlPgotPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVu
Y3Rpb24gb25Mb2FkKCkgewotICAgIHNldHVwVG9wTGV2ZWwoKTsKLX0KLTwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHkgb25sb2FkPSJvbkxvYWQoKTsiPgotPHNjcmlwdD4KLQotdmFyIGRpdlRhcmdl
dDsKLXZhciBwYWdlU2Nyb2xsUG9zaXRpb25CZWZvcmU7Ci12YXIgZGl2U2Nyb2xsUG9zaXRpb25C
ZWZvcmU7Ci12YXIgY29udGludWVDb3VudCA9IDU7Ci0KLWZ1bmN0aW9uIGNoZWNrRm9yU2Nyb2xs
KCkgewotCi0gICAgLy8gVGhlIGRpdiBzaG91bGQgbm90IGhhdmUgc2Nyb2xsZWQgYXQgYWxsLgot
ICAgIHZhciBwYWdlU2Nyb2xsUG9zaXRpb25BZnRlciA9IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9w
OwotICAgIHZhciBkaXZTY3JvbGxQb3NpdGlvbkFmdGVyID0gZGl2VGFyZ2V0LnNjcm9sbFRvcDsK
LQotICAgIGRlYnVnKCJQYWdlIGJlZm9yZTogIiArIHBhZ2VTY3JvbGxQb3NpdGlvbkJlZm9yZSAr
ICIsIGRpdiBiZWZvcmU6ICIgKyBkaXZTY3JvbGxQb3NpdGlvbkJlZm9yZSk7Ci0gICAgZGVidWco
IlBhZ2UgYWZ0ZXI6ICAiICsgcGFnZVNjcm9sbFBvc2l0aW9uQWZ0ZXIgKyAiLCBkaXYgYWZ0ZXI6
ICIgKyBkaXZTY3JvbGxQb3NpdGlvbkFmdGVyKTsKLQotICAgIGlmIChkaXZTY3JvbGxQb3NpdGlv
bkJlZm9yZSAhPSBkaXZTY3JvbGxQb3NpdGlvbkFmdGVyKQotICAgICAgICB0ZXN0RmFpbGVkKCJT
Y3JvbGxhYmxlIGRpdiBjb25zdW1lZCB3aGVlbCBldmVudHMuIik7Ci0gICAgZWxzZQotICAgICAg
ICB0ZXN0UGFzc2VkKCJTY3JvbGxhYmxlIGRpdiBkaWQgbm90IHJlY2VpdmUgd2hlZWwgZXZlbnRz
LiIpOwotCi0gICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHNjcm9s
bFRlc3QoKSB7Ci0gICAgLy8gU2VlIHdoZXJlIG91ciBJRnJhbWUgbGl2ZXM6Ci0gICAgcGFnZVNj
cm9sbFBvc2l0aW9uQmVmb3JlID0gZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7Ci0KLSAgICBkaXZU
YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0Jyk7Ci0KLSAgICBkaXZTY3Jv
bGxQb3NpdGlvbkJlZm9yZSA9IGRpdlRhcmdldC5zY3JvbGxUb3A7Ci0KLSAgICAvLyBTY3JvbGwg
dGhlICNzb3VyY2UgdW50aWwgd2UgcmVhY2ggdGhlICN0YXJnZXQuCi0gICAgdmFyIHN0YXJ0UG9z
WCA9IGRpdlRhcmdldC5vZmZzZXRMZWZ0ICsgMjA7Ci0gICAgdmFyIHN0YXJ0UG9zWSA9IGRpdlRh
cmdldC5vZmZzZXRUb3AgLSA0MjsgLy8gU2xpZ2h0bHkgbW9yZSB0aGFuIG9uZSB3aGVlbCBzY3Jv
bGwgYXdheSBmcm9tIHRoZSBJRnJhbWUKLSAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhzdGFy
dFBvc1gsIHN0YXJ0UG9zWSk7IC8vIE1ha2Ugc3VyZSB3ZSBhcmUganVzdCBvdXRzaWRlIHRoZSBp
RnJhbWUKLSAgICBkZWJ1ZygiTW91c2UgbW92ZWQgdG8gKCIgKyBzdGFydFBvc1ggKyAiLCAiICsg
c3RhcnRQb3NZICsgIikiKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVs
QW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdiZWdhbicsICdub25lJywgdHJ1ZSk7Ci0gICAgZXZl
bnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAn
Y2hhbmdlZCcsICdub25lJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdp
dGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnY2hhbmdlZCcsICdub25lJywgdHJ1ZSk7
Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2Vz
KDAsIDAsICdlbmRlZCcsICdub25lJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3Jv
bGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdiZWdpbicsIHRy
dWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBo
YXNlcygwLCAtMSwgJ25vbmUnLCAnY29udGludWUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5t
b3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdub25lJywgJ2Nv
bnRpbnVlJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFu
ZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdjb250aW51ZScsIHRydWUpOwotICAgIGV2
ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwg
J25vbmUnLCAnY29udGludWUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5
V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgMCwgJ25vbmUnLCAnZW5kJywgdHJ1ZSk7Ci0g
ICAgc2V0VGltZW91dChjaGVja0ZvclNjcm9sbCwgMTAwKTsKLX0KLQotZnVuY3Rpb24gc2V0dXBU
b3BMZXZlbCgpIHsKLQotICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKLSAgICAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOwotICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKLQotICAgICAgICBzZXRUaW1lb3V0KHNjcm9sbFRlc3QsIDEwMDApOwotICAgIH0gZWxz
ZSB7Ci0gICAgICAgIHZhciBtZXNzYWdlTG9jYXRpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgncGFyZW50Jyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGl2Jyk7Ci0gICAgICAgIG1lc3NhZ2UuaW5uZXJIVE1MID0gIjxwPlRoaXMgdGVzdCBpcyBi
ZXR0ZXIgcnVuIHVuZGVyIER1bXBSZW5kZXJUcmVlLiBUbyBtYW51YWxseSB0ZXN0IGl0LCBwbGFj
ZSB0aGUgbW91c2UgcG9pbnRlcjxici8+IgotICAgICAgICAgICAgKyAiYXQgdGhlIHRvcCBvZiB0
aGUgcGFnZSwgYW5kIHRoZW4gdXNlIHRoZSBtb3VzZSB3aGVlbCBvciBhIHR3by1maW5nZXIgc3dp
cGUgdG8gc2Nyb2xsIHRoZTxici8+IgotICAgICAgICAgICAgKyAiZG93biBwYXN0IHRoZSBkaXYu
PGJyLz48YnIvPiIKLSAgICAgICAgICAgICsgIllvdSBzaG91bGQgbm90IHNlZSB0aGUgcm93IG9m
IEVORCBsYWJlbHMgaWYgdGhpcyB0ZXN0IGlzIHN1Y2Nlc3NmdWwuPC9wPiI7Ci0gICAgICAgIG1l
c3NhZ2VMb2NhdGlvbi5hcHBlbmRDaGlsZChtZXNzYWdlKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0
PgotPGRpdiBpZD0icGFyZW50IiBzdHlsZT0iaGVpZ2h0OiAyMDAwcHg7IHdpZHRoOiAyMDAwcHg7
Ij4KLSAgICA8ZGl2IGlkPSJzb3VyY2UiIHN0eWxlPSJoZWlnaHQ6IDEwMHB4OyB3aWR0aDogNTAw
cHg7Ij4KLSAgICAgICAgUHV0IG1vdXNlIGhlcmUgYW5kIGZsaWNrIGRvd253YXJkcwotICAgIDwv
ZGl2PgotICAgIDxkaXYgY2xhc3M9InNjcm9sbGFibGVfcmVnaW9uIj4KLSAgICAgICAgPGgzPlNj
cm9sbGFibGUgUmVnaW9uPC9oMz4KLSAgICAgICAgPGRpdiBpZD0idGFyZ2V0IiBzdHlsZT0nb3Zl
cmZsb3cteTogYXV0bzsgb3ZlcmZsb3cteDogaGlkZGVuOyBtYXgtaGVpZ2h0OiA0ODVweDsnPgot
ICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSIgc3R5bGU9J3dpZHRoOiA5OSUnPgotICAg
ICAgICAgICAgICAgIDx0cj48dGg+Q291bnQ8L3RoPjx0aD5EQVRBPC90aD48dGg+UmV2IENvdW50
PC90aD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+VE9QIFRPUCBUT1AgVE9QIFRPUDwv
dGQ+PHRkPlRPUCBUT1AgVE9QIFRPUCBUT1A8L3RkPjx0ZD5UT1AgVE9QIFRPUCBUT1AgVE9QPC90
ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MTwvdGQ+PHRkPjAuMTEwMDwvdGQ+PHRk
PjQwPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MjwvdGQ+PHRkPjAuMTE1NTwv
dGQ+PHRkPjM5PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MzwvdGQ+PHRkPjAu
MjIwMDwvdGQ+PHRkPjM4PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+NDwvdGQ+
PHRkPjAuMjI1NTwvdGQ+PHRkPjM3PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+
NTwvdGQ+PHRkPjAuMzMwMDwvdGQ+PHRkPjM2PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0
cj48dGQ+NjwvdGQ+PHRkPjAuMzM1NTwvdGQ+PHRkPjM1PC90ZD48L3RyPgotICAgICAgICAgICAg
ICAgIDx0cj48dGQ+NzwvdGQ+PHRkPjAuNDQwMDwvdGQ+PHRkPjM0PC90ZD48L3RyPgotICAgICAg
ICAgICAgICAgIDx0cj48dGQ+ODwvdGQ+PHRkPjAuNDQ1NTwvdGQ+PHRkPjMzPC90ZD48L3RyPgot
ICAgICAgICAgICAgICAgIDx0cj48dGQ+OTwvdGQ+PHRkPjAuNTUwMDwvdGQ+PHRkPjMyPC90ZD48
L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MTA8L3RkPjx0ZD4wLjU1NTU8L3RkPjx0ZD4z
MTwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjExPC90ZD48dGQ+MC42NjAwPC90
ZD48dGQ+MzA8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4xMjwvdGQ+PHRkPjAu
NjY1NTwvdGQ+PHRkPjI5PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MTM8L3Rk
Pjx0ZD4wLjc3MDA8L3RkPjx0ZD4yODwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRk
PjE0PC90ZD48dGQ+MC43NzU1PC90ZD48dGQ+Mjc8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAg
PHRyPjx0ZD4xNTwvdGQ+PHRkPjAuODgwMDwvdGQ+PHRkPjI2PC90ZD48L3RyPgotICAgICAgICAg
ICAgICAgIDx0cj48dGQ+MTY8L3RkPjx0ZD4wLjg4NTU8L3RkPjx0ZD4yNTwvdGQ+PC90cj4KLSAg
ICAgICAgICAgICAgICA8dHI+PHRkPjE3PC90ZD48dGQ+MC45OTAwPC90ZD48dGQ+MjQ8L3RkPjwv
dHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4xODwvdGQ+PHRkPjAuOTk1NTwvdGQ+PHRkPjIz
PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MTk8L3RkPjx0ZD4wLjk5OTk8L3Rk
Pjx0ZD4yMjwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjIwPC90ZD48dGQ+MS4w
MDAwPC90ZD48dGQ+MjE8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4yMTwvdGQ+
PHRkPjEuMDAwMDwvdGQ+PHRkPjIwPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+
MjI8L3RkPjx0ZD4wLjk5OTk8L3RkPjx0ZD4xOTwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8
dHI+PHRkPjIzPC90ZD48dGQ+MC45OTU1PC90ZD48dGQ+MTg8L3RkPjwvdHI+Ci0gICAgICAgICAg
ICAgICAgPHRyPjx0ZD4yNDwvdGQ+PHRkPjAuOTkwMDwvdGQ+PHRkPjE3PC90ZD48L3RyPgotICAg
ICAgICAgICAgICAgIDx0cj48dGQ+MjU8L3RkPjx0ZD4wLjg4NTU8L3RkPjx0ZD4xNjwvdGQ+PC90
cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjI2PC90ZD48dGQ+MC44ODAwPC90ZD48dGQ+MTU8
L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4yNzwvdGQ+PHRkPjAuNzc1NTwvdGQ+
PHRkPjE0PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+Mjg8L3RkPjx0ZD4wLjc3
MDA8L3RkPjx0ZD4xMzwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjI5PC90ZD48
dGQ+MC42NjU1PC90ZD48dGQ+MTI8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4z
MDwvdGQ+PHRkPjAuNjYwMDwvdGQ+PHRkPjExPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0
cj48dGQ+MzE8L3RkPjx0ZD4wLjU1NTU8L3RkPjx0ZD4xMDwvdGQ+PC90cj4KLSAgICAgICAgICAg
ICAgICA8dHI+PHRkPjMyPC90ZD48dGQ+MC41NTAwPC90ZD48dGQ+OTwvdGQ+PC90cj4KLSAgICAg
ICAgICAgICAgICA8dHI+PHRkPjMzPC90ZD48dGQ+MC40NDU1PC90ZD48dGQ+ODwvdGQ+PC90cj4K
LSAgICAgICAgICAgICAgICA8dHI+PHRkPjM0PC90ZD48dGQ+MC40NDAwPC90ZD48dGQ+NzwvdGQ+
PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjM1PC90ZD48dGQ+MC4zMzU1PC90ZD48dGQ+
NjwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjM2PC90ZD48dGQ+MC4zMzAwPC90
ZD48dGQ+NTwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjM3PC90ZD48dGQ+MC4y
MjU1PC90ZD48dGQ+NDwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjM4PC90ZD48
dGQ+MC4yMjAwPC90ZD48dGQ+MzwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjM5
PC90ZD48dGQ+MC4xMTU1PC90ZD48dGQ+MjwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+
PHRkPjQwPC90ZD48dGQ+MC4xMTAwPC90ZD48dGQ+MTwvdGQ+PC90cj4KLSAgICAgICAgICAgICAg
ICA8dHI+PHRkPkVORCBFTkQgRU5EIEVORCBFTkQ8L3RkPjx0ZD5FTkQgRU5EIEVORCBFTkQgRU5E
PC90ZD48dGQ+RU5EIEVORCBFTkQgRU5EIEVORDwvdGQ+PC90cj4KLSAgICAgICAgICAgIDwvdGFi
bGU+Ci0gICAgICAgIDwvZGl2PgotICAgIDwvZGl2PgotPC9kaXY+Ci08ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBhIHNjcm9sbGFibGUg
ZGl2IGRvZXNuJ3QgY29uc3VtZSB3aGVlbCBldmVudHMgd2hlbiBzY3JvbGwgaXMgbGF0Y2hlZCB0
byBtYWluIGZyYW1lLiIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWlm
cmFtZS1sYXRjaGVkLWlmcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWlmcmFtZS1sYXRjaGVkLWlmcmFtZS1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ5M2YyZjQ1ODA1ODk5ZjJhZWVjMjQx
Njg1OTA4YjNkNzExODM3ZjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1p
ZnJhbWUtbGF0Y2hlZC1pZnJhbWUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTYg
KzAsMCBAQAotUHV0IG1vdXNlIGhlcmUgYW5kIGZsaWNrIGRvd253YXJkcwotCi1UZXN0cyB0aGF0
IGlmcmFtZSBkb2Vzbid0IHBhc3Mgd2hlZWwgZXZlbnRzIHRvIG1haW4gZnJhbWUgd2hlbiBzY3Jv
bGxpbmcgYXQgYm90dG9tCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLUlGcmFtZSBkaXNwbGF5
IGhlaWdodCA9IDUwMAotTW91c2UgbW92ZWQgdG8gKDI4LCA1NjYpCi1QYWdlIGJlZm9yZTogMCwg
SUZyYW1lIGJlZm9yZTogNDE2Ci1QYWdlIGFmdGVyOiAgMCwgSUZyYW1lIGFmdGVyOiA0MTYKLVBB
U1MgUGFnZSBkaWQgbm90IHJlY2VpdmUgd2hlZWwgZXZlbnRzLgotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWlmcmFtZS1sYXRjaGVk
LWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvc2Nyb2xsaW5nL3Nj
cm9sbC1pZnJhbWUtbGF0Y2hlZC1pZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMmQ4NmYyYmE4ZTI0MjNlYzJkMjRmMThkZTVlNTJlNDBiMDY1Mjg2Zi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWlmcmFtZS1sYXRjaGVkLWlmcmFtZS5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMTA4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxl
dmVsLTMtRXZlbnRzLyNldmVudHMtV2hlZWxFdmVudCI+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5Pgot
PHNjcmlwdD4KLQotdmFyIGlmcmFtZVRhcmdldDsKLXZhciBwYWdlU2Nyb2xsUG9zaXRpb25CZWZv
cmU7Ci12YXIgaUZyYW1lU2Nyb2xsUG9zaXRpb25CZWZvcmU7Ci12YXIgY29udGludWVDb3VudCA9
IDU7Ci0KLWZ1bmN0aW9uIGNoZWNrRm9yU2Nyb2xsKCkgewotCi0gICAgLy8gVGhlIElGcmFtZSBz
aG91bGQgbm90IGhhdmUgc2Nyb2xsZWQgYXQgYWxsLgotICAgIHZhciBwYWdlU2Nyb2xsUG9zaXRp
b25BZnRlciA9IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wOwotICAgIHZhciBpRnJhbWVTY3JvbGxQ
b3NpdGlvbkFmdGVyID0gd2luZG93LmZyYW1lc1sndGFyZ2V0J10uZG9jdW1lbnQuYm9keS5zY3Jv
bGxUb3A7Ci0KLSAgICBkZWJ1ZygiUGFnZSBiZWZvcmU6ICIgKyBwYWdlU2Nyb2xsUG9zaXRpb25C
ZWZvcmUgKyAiLCBJRnJhbWUgYmVmb3JlOiAiICsgaUZyYW1lU2Nyb2xsUG9zaXRpb25CZWZvcmUp
OwotICAgIGRlYnVnKCJQYWdlIGFmdGVyOiAgIiArIHBhZ2VTY3JvbGxQb3NpdGlvbkFmdGVyICsg
IiwgSUZyYW1lIGFmdGVyOiAiICsgaUZyYW1lU2Nyb2xsUG9zaXRpb25BZnRlcik7Ci0KLSAgICBp
ZiAocGFnZVNjcm9sbFBvc2l0aW9uQmVmb3JlICE9IHBhZ2VTY3JvbGxQb3NpdGlvbkFmdGVyKQot
ICAgICAgICB0ZXN0RmFpbGVkKCJQYWdlIHJlY2VpdmVkIHdoZWVsIGV2ZW50cy4iKTsKLSAgICBl
bHNlCi0gICAgICAgIHRlc3RQYXNzZWQoIlBhZ2UgZGlkIG5vdCByZWNlaXZlIHdoZWVsIGV2ZW50
cy4iKTsKLQotICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBzY3Jv
bGxUZXN0KCkgewotICAgIC8vIFNlZSB3aGVyZSBvdXIgSUZyYW1lIGxpdmVzOgotICAgIHBhZ2VT
Y3JvbGxQb3NpdGlvbkJlZm9yZSA9IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wOwotCi0gICAgaWZy
YW1lVGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldCcpOwotCi0gICAgdmFy
IGlGcmFtZUJvZHkgPSB3aW5kb3cuZnJhbWVzWyd0YXJnZXQnXS5kb2N1bWVudC5ib2R5OwotICAg
IGlGcmFtZUJvZHkuc2Nyb2xsVG9wID0gaUZyYW1lQm9keS5zY3JvbGxIZWlnaHQgLSBpZnJhbWVU
YXJnZXQuY2xpZW50SGVpZ2h0IC0gMTAwOwotCi0gICAgaUZyYW1lU2Nyb2xsUG9zaXRpb25CZWZv
cmUgPSBpRnJhbWVCb2R5LnNjcm9sbFRvcDsKLQotICAgIC8vIFNjcm9sbCB0aGUgI3NvdXJjZSB1
bnRpbCB3ZSByZWFjaCB0aGUgI3RhcmdldC4KLSAgICB2YXIgc3RhcnRQb3NYID0gaWZyYW1lVGFy
Z2V0Lm9mZnNldExlZnQgKyAyMDsKLSAgICBkZWJ1ZygiSUZyYW1lIGRpc3BsYXkgaGVpZ2h0ID0g
IiArIGlmcmFtZVRhcmdldC5jbGllbnRIZWlnaHQpOwotICAgIHZhciBzdGFydFBvc1kgPSBpZnJh
bWVUYXJnZXQub2Zmc2V0VG9wICsgaWZyYW1lVGFyZ2V0LmNsaWVudEhlaWdodCAtIDQyOyAvLyBP
bmUgd2hlZWwgdHVybiBiZWZvcmUgZW5kLgotICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHN0
YXJ0UG9zWCwgc3RhcnRQb3NZKTsgLy8gTWFrZSBzdXJlIHdlIGFyZSBqdXN0IG91dHNpZGUgdGhl
IGlGcmFtZQotICAgIGRlYnVnKCJNb3VzZSBtb3ZlZCB0byAoIiArIHN0YXJ0UG9zWCArICIsICIg
KyBzdGFydFBvc1kgKyAiKSIpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hl
ZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ2JlZ2FuJywgJ25vbmUnLCB0cnVlKTsKLSAgICBl
dmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEs
ICdjaGFuZ2VkJywgJ25vbmUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5
V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdjaGFuZ2VkJywgJ25vbmUnLCB0cnVl
KTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFz
ZXMoMCwgMCwgJ2VuZGVkJywgJ25vbmUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNj
cm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdub25lJywgJ2JlZ2luJywg
dHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVt
UGhhc2VzKDAsIC0xLCAnbm9uZScsICdjb250aW51ZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVy
Lm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAn
Y29udGludWUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVs
QW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdub25lJywgJ2NvbnRpbnVlJywgdHJ1ZSk7Ci0gICAg
ZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0x
LCAnbm9uZScsICdjb250aW51ZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xs
QnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAwLCAnbm9uZScsICdlbmQnLCB0cnVlKTsK
LSAgICBzZXRUaW1lb3V0KGNoZWNrRm9yU2Nyb2xsLCAxMDApOwotfQotCi1mdW5jdGlvbiBzZXR1
cFRvcExldmVsKCkgewotCi0gICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAgICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwotCi0gICAgICAgIHNldFRpbWVvdXQoc2Nyb2xsVGVzdCwgMTAwMCk7Ci0gICAgfSBl
bHNlIHsKLSAgICAgICAgdmFyIG1lc3NhZ2VMb2NhdGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdwYXJlbnQnKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdkaXYnKTsKLSAgICAgICAgbWVzc2FnZS5pbm5lckhUTUwgPSAiPHA+VGhpcyB0ZXN0IGlz
IGJldHRlciBydW4gdW5kZXIgRHVtcFJlbmRlclRyZWUuIFRvIG1hbnVhbGx5IHRlc3QgaXQsIHBs
YWNlIHRoZSBtb3VzZSBwb2ludGVyPGJyLz4iCi0gICAgICAgICAgICArICJpbnNpZGUgdGhlIElG
cmFtZSwgdGhlbiB1c2UgdGhlIG1vdXNlIHdoZWVsIG9yIGEgdHdvLWZpbmdlciBzd2lwZSB0byBz
Y3JvbGwgdGhlIElGcmFtZSB0byB0aGUgYm90dG9tIChhbmQgYmV5b25kKS48YnIvPiIKLSAgICAg
ICAgICAgICsgIjxici8+PGJyLz4iCi0gICAgICAgICAgICArICJUaGUgdGVzdCBwYXNzZXMgaWYg
eW91IHNjcm9sbCBmYXIgZW5vdWdoIHRvIHNlZSB0aGUgcm93IG9mIEVORCBsYWJlbHMgYnV0IHRo
ZSBtYWluIHBhZ2UgZG9lcyBub3Qgc2Nyb2xsLjwvcD4iOwotICAgICAgICBtZXNzYWdlTG9jYXRp
b24uYXBwZW5kQ2hpbGQobWVzc2FnZSk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTxkaXYgaWQ9
InBhcmVudCIgc3R5bGU9ImhlaWdodDogMjAwMHB4Ij4KLSAgICA8ZGl2IGlkPSJzb3VyY2UiIHN0
eWxlPSJoZWlnaHQ6IDEwMHB4Ij4KLSAgICAgICAgUHV0IG1vdXNlIGhlcmUgYW5kIGZsaWNrIGRv
d253YXJkcwotICAgIDwvZGl2PgotICAgIDxpZnJhbWUgaWQ9InRhcmdldCIgbmFtZT0idGFyZ2V0
IiBzdHlsZT0iYm9yZGVyOnNvbGlkIDFweCBncmVlbjsgaGVpZ2h0OiA1MDBweDsgd2lkdGg6IDUw
MHB4OyIgCi0gICAgIHNyYz0gImRhdGE6dGV4dC9odG1sLAotICAgICA8ZGl2IGlkPSdub3RUb0Jl
U2Nyb2xsZWQnIHN0eWxlPSdoZWlnaHQ6IDEwMDBweDsgd2lkdGg6IDEwMDBweDsnPgotICAgICBU
T1AgVE9QIFRPUCBUT1AgVE9QIFRPUCBUT1AgVE9QIFRPUCBUT1AgVE9QIFRPUCBUT1AgVE9QPGJy
Lz48YnIvPgotICAgICBUaGlzIHNob3VsZCBzdGlsbCBiZSB2aXNpYmxlIGluc2lkZSB0aGUgZnJh
bWUgYWZ0ZXIgeW91IHNjcm9sbCBkb3duCi0gICAgIDxici8+PGJyLz48YnIvPjxici8+PGJyLz48
YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJy
Lz4KLSAgICAgPGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJy
Lz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPgotICAgICA8YnIvPjxici8+PGJy
Lz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+
PGJyLz48YnIvPjxici8+Ci0gICAgIFRoaXMgc2hvdWxkIE5PVCBiZSB2aXNpYmxlIGluc2lkZSB0
aGUgZnJhbWUgYWZ0ZXIgeW91IHNjcm9sbCBkb3duPGJyLz4KLSAgICAgPGJyLz4KLSAgICAgRU5E
IEVORCBFTkQgRU5EIEVORCBFTkQgRU5EIEVORCBFTkQgRU5EIEVORCBFTkQgRU5ECi0gICAgIDwv
ZGl2PgotICAgICAiCi0gICAgIG9ubG9hZD0ic2V0dXBUb3BMZXZlbCgpOyIKLSAgICAgPgotICAg
IDwvaWZyYW1lPgotPC9kaXY+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1k
ZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBpZnJhbWUgZG9lc24ndCBwYXNzIHdoZWVsIGV2ZW50cyB0
byBtYWluIGZyYW1lIHdoZW4gc2Nyb2xsaW5nIGF0IGJvdHRvbSIpOwotPC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWlmcmFtZS1sYXRjaGVkLW1haW5mcmFtZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWlmcmFt
ZS1sYXRjaGVkLW1haW5mcmFtZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDhjNjY1MjUxNGYxODIyZTYyMTU4ZGNkZDJmY2MwOGQxN2VlY2NkMTQuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1pZnJhbWUtbGF0Y2hlZC1tYWluZnJhbWUtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotUHV0IG1vdXNlIGhlcmUg
YW5kIGZsaWNrIGRvd253YXJkcwotCi1UZXN0cyB0aGF0IGlmcmFtZSBkb2Vzbid0IGNvbnN1bWUg
d2hlZWwgZXZlbnRzIHdoZW4gc2Nyb2xsCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQot
Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLU1vdXNl
IG1vdmVkIHRvICgyOCwgNjYpCi1QYWdlIGJlZm9yZTogMCwgSUZyYW1lIGJlZm9yZTogMAotUGFn
ZSBhZnRlcjogIDMyMCwgSUZyYW1lIGFmdGVyOiAwCi1QQVNTIElGcmFtZSBkaWQgbm90IHJlY2Vp
dmUgd2hlZWwgZXZlbnRzLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWlmcmFtZS1sYXRjaGVkLW1haW5mcmFtZS5odG1sIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1pZnJhbWUtbGF0Y2hl
ZC1tYWluZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDIwNjUxOTdj
MDI3ZmY5ZjI4ODdmZTRiMGY1MzcwNjFmYzAyNTVmNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9zY3Jv
bGxpbmcvc2Nyb2xsLWlmcmFtZS1sYXRjaGVkLW1haW5mcmFtZS5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMTAzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRz
LyNldmVudHMtV2hlZWxFdmVudCI+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLQot
dmFyIGlmcmFtZVRhcmdldDsKLXZhciBwYWdlU2Nyb2xsUG9zaXRpb25CZWZvcmU7Ci12YXIgaUZy
YW1lU2Nyb2xsUG9zaXRpb25CZWZvcmU7Ci12YXIgY29udGludWVDb3VudCA9IDU7Ci0KLWZ1bmN0
aW9uIGNoZWNrRm9yU2Nyb2xsKCkgewotCi0gICAgLy8gVGhlIElGcmFtZSBzaG91bGQgbm90IGhh
dmUgc2Nyb2xsZWQgYXQgYWxsLgotICAgIHZhciBwYWdlU2Nyb2xsUG9zaXRpb25BZnRlciA9IGRv
Y3VtZW50LmJvZHkuc2Nyb2xsVG9wOwotICAgIHZhciBpRnJhbWVTY3JvbGxQb3NpdGlvbkFmdGVy
ID0gd2luZG93LmZyYW1lc1sndGFyZ2V0J10uZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7Ci0KLSAg
ICBkZWJ1ZygiUGFnZSBiZWZvcmU6ICIgKyBwYWdlU2Nyb2xsUG9zaXRpb25CZWZvcmUgKyAiLCBJ
RnJhbWUgYmVmb3JlOiAiICsgaUZyYW1lU2Nyb2xsUG9zaXRpb25CZWZvcmUpOwotICAgIGRlYnVn
KCJQYWdlIGFmdGVyOiAgIiArIHBhZ2VTY3JvbGxQb3NpdGlvbkFmdGVyICsgIiwgSUZyYW1lIGFm
dGVyOiAiICsgaUZyYW1lU2Nyb2xsUG9zaXRpb25BZnRlcik7Ci0KLSAgICBpZiAoaUZyYW1lU2Ny
b2xsUG9zaXRpb25CZWZvcmUgIT0gaUZyYW1lU2Nyb2xsUG9zaXRpb25BZnRlcikKLSAgICAgICAg
dGVzdEZhaWxlZCgiSUZyYW1lIGNvbnN1bWVkIHdoZWVsIGV2ZW50cy4iKTsKLSAgICBlbHNlCi0g
ICAgICAgIHRlc3RQYXNzZWQoIklGcmFtZSBkaWQgbm90IHJlY2VpdmUgd2hlZWwgZXZlbnRzLiIp
OwotCi0gICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHNjcm9sbFRl
c3QoKSB7Ci0gICAgLy8gU2VlIHdoZXJlIG91ciBJRnJhbWUgbGl2ZXM6Ci0gICAgcGFnZVNjcm9s
bFBvc2l0aW9uQmVmb3JlID0gZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7Ci0gICAgaUZyYW1lU2Ny
b2xsUG9zaXRpb25CZWZvcmUgPSB3aW5kb3cuZnJhbWVzWyd0YXJnZXQnXS5kb2N1bWVudC5ib2R5
LnNjcm9sbFRvcDsKLQotICAgIGlmcmFtZVRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCd0YXJnZXQnKTsKLQotICAgIC8vIFNjcm9sbCB0aGUgI3NvdXJjZSB1bnRpbCB3ZSByZWFjaCB0
aGUgI3RhcmdldC4KLSAgICB2YXIgc3RhcnRQb3NYID0gaWZyYW1lVGFyZ2V0Lm9mZnNldExlZnQg
KyAyMDsKLSAgICB2YXIgc3RhcnRQb3NZID0gaWZyYW1lVGFyZ2V0Lm9mZnNldFRvcCAtIDQyOyAv
LyBTbGlnaHRseSBtb3JlIHRoYW4gb25lIHdoZWVsIHNjcm9sbCBhd2F5IGZyb20gdGhlIElGcmFt
ZQotICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHN0YXJ0UG9zWCwgc3RhcnRQb3NZKTsgLy8g
TWFrZSBzdXJlIHdlIGFyZSBqdXN0IG91dHNpZGUgdGhlIGlGcmFtZQotICAgIGRlYnVnKCJNb3Vz
ZSBtb3ZlZCB0byAoIiArIHN0YXJ0UG9zWCArICIsICIgKyBzdGFydFBvc1kgKyAiKSIpOwotICAg
IGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAt
MSwgJ2JlZ2FuJywgJ25vbmUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5
V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdjaGFuZ2VkJywgJ25vbmUnLCB0cnVl
KTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFz
ZXMoMCwgLTEsICdjaGFuZ2VkJywgJ25vbmUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5tb3Vz
ZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgMCwgJ2VuZGVkJywgJ25vbmUn
LCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50
dW1QaGFzZXMoMCwgLTEsICdub25lJywgJ2JlZ2luJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIu
bW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdj
b250aW51ZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxB
bmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnY29udGludWUnLCB0cnVlKTsKLSAgICBl
dmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEs
ICdub25lJywgJ2NvbnRpbnVlJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxC
eVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdjb250aW51ZScsIHRy
dWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBo
YXNlcygwLCAwLCAnbm9uZScsICdlbmQnLCB0cnVlKTsKLSAgICBzZXRUaW1lb3V0KGNoZWNrRm9y
U2Nyb2xsLCAxMDApOwotfQotCi1mdW5jdGlvbiBzZXR1cFRvcExldmVsKCkgewotCi0gICAgaWYg
KHdpbmRvdy5ldmVudFNlbmRlcikgewotICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1
ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotCi0gICAgICAgIHNldFRp
bWVvdXQoc2Nyb2xsVGVzdCwgMTAwMCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgdmFyIG1lc3Nh
Z2VMb2NhdGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJlbnQnKTsKLSAgICAgICAg
dmFyIG1lc3NhZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICAgICAgbWVz
c2FnZS5pbm5lckhUTUwgPSAiPHA+VGhpcyB0ZXN0IGlzIGJldHRlciBydW4gdW5kZXIgRHVtcFJl
bmRlclRyZWUuIFRvIG1hbnVhbGx5IHRlc3QgaXQsIHBsYWNlIHRoZSBtb3VzZSBwb2ludGVyPGJy
Lz4iCi0gICAgICAgICAgICArICJhdCB0aGUgdG9wIG9mIHRoZSBwYWdlLCBhbmQgdGhlbiB1c2Ug
dGhlIG1vdXNlIHdoZWVsIG9yIGEgdHdvLWZpbmdlciBzd2lwZSB0byBzY3JvbGwgdGhlPGJyLz4i
Ci0gICAgICAgICAgICArICJkb3duIHBhc3QgdGhlIElGcmFtZS48YnIvPjxici8+IgotICAgICAg
ICAgICAgKyAiWW91IHNob3VsZCBub3Qgc2VlIHRoZSByb3cgb2YgRU5EIGxhYmVscyBpZiB0aGlz
IHRlc3QgaXMgc3VjY2Vzc2Z1bC48L3A+IjsKLSAgICAgICAgbWVzc2FnZUxvY2F0aW9uLmFwcGVu
ZENoaWxkKG1lc3NhZ2UpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08ZGl2IGlkPSJwYXJlbnQi
IHN0eWxlPSJoZWlnaHQ6IDIwMDBweCI+Ci0gICAgPGRpdiBpZD0ic291cmNlIiBzdHlsZT0iaGVp
Z2h0OiAxMDBweCI+Ci0gICAgICAgIFB1dCBtb3VzZSBoZXJlIGFuZCBmbGljayBkb3dud2FyZHMK
LSAgICA8L2Rpdj4KLSAgICA8aWZyYW1lIGlkPSJ0YXJnZXQiIG5hbWU9InRhcmdldCIgc3R5bGU9
ImJvcmRlcjpzb2xpZCAxcHggZ3JlZW47IGhlaWdodDogNTAwcHg7IHdpZHRoOiA1MDBweDsiIAot
ICAgICBzcmM9ICJkYXRhOnRleHQvaHRtbCwKLSAgICAgPGRpdiBpZD0nbm90VG9CZVNjcm9sbGVk
JyBzdHlsZT0naGVpZ2h0OiAxMDAwcHg7IHdpZHRoOiAxMDAwcHg7Jz4KLSAgICAgVE9QIFRPUCBU
T1AgVE9QIFRPUCBUT1AgVE9QIFRPUCBUT1AgVE9QIFRPUCBUT1AgVE9QIFRPUDxici8+PGJyLz4K
LSAgICAgVGhpcyBzaG91bGQgc3RpbGwgYmUgdmlzaWJsZSBpbnNpZGUgdGhlIGZyYW1lIGFmdGVy
IHlvdSBzY3JvbGwgZG93bgotICAgICA8YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIv
Pjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+Ci0gICAg
IDxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48
YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz4KLSAgICAgPGJyLz48YnIvPjxici8+PGJyLz48
YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJyLz48YnIvPjxici8+PGJy
Lz48YnIvPgotICAgICBUaGlzIHNob3VsZCBOT1QgYmUgdmlzaWJsZSBpbnNpZGUgdGhlIGZyYW1l
IGFmdGVyIHlvdSBzY3JvbGwgZG93bjxici8+Ci0gICAgIDxici8+Ci0gICAgIEVORCBFTkQgRU5E
IEVORCBFTkQgRU5EIEVORCBFTkQgRU5EIEVORCBFTkQgRU5EIEVORAotICAgICA8L2Rpdj4KLSAg
ICAgIgotICAgICBvbmxvYWQ9InNldHVwVG9wTGV2ZWwoKTsiCi0gICAgID4KLSAgICA8L2lmcmFt
ZT4KLTwvZGl2PgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotZGVzY3JpcHRp
b24oIlRlc3RzIHRoYXQgaWZyYW1lIGRvZXNuJ3QgY29uc3VtZSB3aGVlbCBldmVudHMgd2hlbiBz
Y3JvbGwgIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3Njcm9sbGluZy9zY3JvbGwtc2VsZWN0LWxh
dGNoZWQtbWFpbmZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L3Njcm9sbGluZy9zY3JvbGwtc2VsZWN0LWxhdGNoZWQtbWFpbmZyYW1lLWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWJjZDdkNTVlODdjOWQ2ZDc0ODljYWI3
NzE0YTc3YTFiNmNmZTQ3ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLXNl
bGVjdC1sYXRjaGVkLW1haW5mcmFtZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwx
NyArMCwwIEBACi1QdXQgbW91c2UgaGVyZSBhbmQgZmxpY2sgZG93bndhcmRzCi1TY3JvbGxhYmxl
IFNlbGVjdAotCi0KLVRlc3RzIHRoYXQgYSBzZWxlY3QgZG9lc24ndCBjb25zdW1lIHdoZWVsIGV2
ZW50cyB3aGVuIHNjcm9sbCBpcyBsYXRjaGVkIHRvIG1haW4gZnJhbWUuCi0KLU9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRF
U1QgQ09NUExFVEUKLU1vdXNlIG1vdmVkIHRvICgzMCwgMTI3KQotUGFnZSBiZWZvcmU6IDAsIHNl
bGVjdCBiZWZvcmU6IDAKLVBhZ2UgYWZ0ZXI6ICAzMjAsIHNlbGVjdCBhZnRlcjogMAotUEFTUyBT
ZWxlY3QgZGlkIG5vdCByZWNlaXZlIHdoZWVsIGV2ZW50cy4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1zZWxlY3QtbGF0Y2hlZC1t
YWluZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3Njcm9sbGluZy9z
Y3JvbGwtc2VsZWN0LWxhdGNoZWQtbWFpbmZyYW1lLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDk3ZDY4NDFiMGQzOTJkMGQ4ZmFkOTJhMTI3MTkzYmVjZGJlN2ZlYTcuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1zZWxlY3QtbGF0Y2hlZC1tYWluZnJhbWUu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE0MyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGhlYWQ+Ci08c3R5bGU+Ci0uc2Nyb2xsYWJsZV9yZWdpb24gewotICAgIHdpZHRoOiA2
ODBweDsKLX0KLQotLnRhYmxlIHRkLCAudGFibGUgdGggewotICAgIHBhZGRpbmc6IDJweDsKLX0K
LQotLnRhYmxlIHRoIHsKLSAgICBoZWlnaHQ6IDIwcHg7Ci0gICAgdGV4dC1hbGlnbjogbGVmdDsK
LSAgICBmb250LXdlaWdodDogc3Ryb25nOwotfQotCi0udGFibGUgdHI6bnRoLWNoaWxkKG9kZCkg
ewotICAgIGJhY2tncm91bmQ6ICNmM2YzZjM7Ci19Ci0KLS5zY3JvbGxhYmxlX3NlbGVjdCBvcHRp
b246bnRoLWNoaWxkKG9kZCkgewotICAgIGJhY2tncm91bmQ6ICNmM2YzZjM7Ci19Ci0KLTwvc3R5
bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBvbkxvYWQoKSB7Ci0gICAgc2V0dXBUb3BMZXZl
bCgpOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9Im9uTG9hZCgpOyI+Ci08
c2NyaXB0PgotCi12YXIgc2VsZWN0VGFyZ2V0OwotdmFyIHBhZ2VTY3JvbGxQb3NpdGlvbkJlZm9y
ZTsKLXZhciBzZWxlY3RTY3JvbGxQb3NpdGlvbkJlZm9yZTsKLXZhciBjb250aW51ZUNvdW50ID0g
NTsKLQotZnVuY3Rpb24gY2hlY2tGb3JTY3JvbGwoKSB7Ci0KLSAgICAvLyBUaGUgc2VsZWN0IHNo
b3VsZCBub3QgaGF2ZSBzY3JvbGxlZCBhdCBhbGwuCi0gICAgdmFyIHBhZ2VTY3JvbGxQb3NpdGlv
bkFmdGVyID0gZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7Ci0gICAgdmFyIHNlbGVjdFNjcm9sbFBv
c2l0aW9uQWZ0ZXIgPSBzZWxlY3RUYXJnZXQuc2Nyb2xsVG9wOwotCi0gICAgZGVidWcoIlBhZ2Ug
YmVmb3JlOiAiICsgcGFnZVNjcm9sbFBvc2l0aW9uQmVmb3JlICsgIiwgc2VsZWN0IGJlZm9yZTog
IiArIHNlbGVjdFNjcm9sbFBvc2l0aW9uQmVmb3JlKTsKLSAgICBkZWJ1ZygiUGFnZSBhZnRlcjog
ICIgKyBwYWdlU2Nyb2xsUG9zaXRpb25BZnRlciArICIsIHNlbGVjdCBhZnRlcjogIiArIHNlbGVj
dFNjcm9sbFBvc2l0aW9uQWZ0ZXIpOwotCi0gICAgaWYgKHNlbGVjdFNjcm9sbFBvc2l0aW9uQmVm
b3JlICE9IHNlbGVjdFNjcm9sbFBvc2l0aW9uQWZ0ZXIpCi0gICAgICAgIHRlc3RGYWlsZWQoIlNl
bGVjdCBjb25zdW1lZCB3aGVlbCBldmVudHMuIik7Ci0gICAgZWxzZQotICAgICAgICB0ZXN0UGFz
c2VkKCJTZWxlY3QgZGlkIG5vdCByZWNlaXZlIHdoZWVsIGV2ZW50cy4iKTsKLQotICAgIHRlc3RS
dW5uZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBzY3JvbGxUZXN0KCkgewotICAgIC8v
IFNlZSB3aGVyZSBvdXIgSUZyYW1lIGxpdmVzOgotICAgIHBhZ2VTY3JvbGxQb3NpdGlvbkJlZm9y
ZSA9IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wOwotCi0gICAgc2VsZWN0VGFyZ2V0ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldCcpOwotCi0gICAgc2VsZWN0U2Nyb2xsUG9zaXRpb25C
ZWZvcmUgPSBzZWxlY3RUYXJnZXQuc2Nyb2xsVG9wOwotCi0gICAgLy8gU2Nyb2xsIHRoZSAjc291
cmNlIHVudGlsIHdlIHJlYWNoIHRoZSAjdGFyZ2V0LgotICAgIHZhciBzdGFydFBvc1ggPSBzZWxl
Y3RUYXJnZXQub2Zmc2V0TGVmdCArIDIwOwotICAgIHZhciBzdGFydFBvc1kgPSBzZWxlY3RUYXJn
ZXQub2Zmc2V0VG9wIC0gNDI7IC8vIFNsaWdodGx5IG1vcmUgdGhhbiBvbmUgd2hlZWwgc2Nyb2xs
IGF3YXkgZnJvbSB0aGUgSUZyYW1lCi0gICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oc3RhcnRQ
b3NYLCBzdGFydFBvc1kpOyAvLyBNYWtlIHN1cmUgd2UgYXJlIGp1c3Qgb3V0c2lkZSB0aGUgaUZy
YW1lCi0gICAgZGVidWcoIk1vdXNlIG1vdmVkIHRvICgiICsgc3RhcnRQb3NYICsgIiwgIiArIHN0
YXJ0UG9zWSArICIpIik7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFu
ZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnYmVnYW4nLCAnbm9uZScsIHRydWUpOwotICAgIGV2ZW50
U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ2No
YW5nZWQnLCAnbm9uZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRo
V2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ2NoYW5nZWQnLCAnbm9uZScsIHRydWUpOwot
ICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygw
LCAwLCAnZW5kZWQnLCAnbm9uZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xs
QnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnYmVnaW4nLCB0cnVl
KTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFz
ZXMoMCwgLTEsICdub25lJywgJ2NvbnRpbnVlJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91
c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdjb250
aW51ZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRN
b21lbnR1bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnY29udGludWUnLCB0cnVlKTsKLSAgICBldmVu
dFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdu
b25lJywgJ2NvbnRpbnVlJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdp
dGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIDAsICdub25lJywgJ2VuZCcsIHRydWUpOwotICAg
IHNldFRpbWVvdXQoY2hlY2tGb3JTY3JvbGwsIDEwMCk7Ci19Ci0KLWZ1bmN0aW9uIHNldHVwVG9w
TGV2ZWwoKSB7Ci0KLSAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7Ci0gICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCh0cnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7Ci0KLSAgICAgICAgc2V0VGltZW91dChzY3JvbGxUZXN0LCAxMDAwKTsKLSAgICB9IGVsc2Ug
ewotICAgICAgICB2YXIgbWVzc2FnZUxvY2F0aW9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3BhcmVudCcpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2RpdicpOwotICAgICAgICBtZXNzYWdlLmlubmVySFRNTCA9ICI8cD5UaGlzIHRlc3QgaXMgYmV0
dGVyIHJ1biB1bmRlciBEdW1wUmVuZGVyVHJlZS4gVG8gbWFudWFsbHkgdGVzdCBpdCwgcGxhY2Ug
dGhlIG1vdXNlIHBvaW50ZXI8YnIvPiIKLSAgICAgICAgICAgICsgImF0IHRoZSB0b3Agb2YgdGhl
IHBhZ2UsIGFuZCB0aGVuIHVzZSB0aGUgbW91c2Ugd2hlZWwgb3IgYSB0d28tZmluZ2VyIHN3aXBl
IHRvIHNjcm9sbCBkb3duPGJyLz4iCi0gICAgICAgICAgICArICJwYXN0IHRoZSBzZWxlY3RUYXJn
ZXQuPGJyLz48YnIvPiIKLSAgICAgICAgICAgICsgIllvdSBzaG91bGQgbm90IHNlZSB0aGUgJ2Nv
bnRlbnQyMScgbGFiZWwgaWYgdGhpcyB0ZXN0IGlzIHN1Y2Nlc3NmdWwuPC9wPiI7Ci0gICAgICAg
IG1lc3NhZ2VMb2NhdGlvbi5hcHBlbmRDaGlsZChtZXNzYWdlKTsKLSAgICB9Ci19Ci0KLTwvc2Ny
aXB0PgotPGRpdiBpZD0icGFyZW50IiBzdHlsZT0iaGVpZ2h0OiAyMDAwcHg7IHdpZHRoOiAyMDAw
cHg7Ij4KLSAgICA8ZGl2IGlkPSJzb3VyY2UiIHN0eWxlPSJoZWlnaHQ6IDEwMHB4OyB3aWR0aDog
NTAwcHg7Ij4KLSAgICAgICAgUHV0IG1vdXNlIGhlcmUgYW5kIGZsaWNrIGRvd253YXJkcwotICAg
IDwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPSJzY3JvbGxhYmxlX3JlZ2lvbiI+Ci0gICAgICAg
ICAgICA8aDM+U2Nyb2xsYWJsZSBTZWxlY3Q8L2gzPgotICAgICAgICAgICAgPHNlbGVjdCBpZD0i
dGFyZ2V0IiBjbGFzcz0ic2Nyb2xsYWJsZV9zZWxlY3QiIHNpemU9IjgiPgotICAgICAgICAgICAg
ICAgIDxvcHRpb24+Y29udGVudDE8L29wdGlvbj4KLSAgICAgICAgICAgICAgICA8b3B0aW9uPmNv
bnRlbnQyPC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlvbj5jb250ZW50Mzwvb3B0aW9u
PgotICAgICAgICAgICAgICAgIDxvcHRpb24+Y29udGVudDQ8L29wdGlvbj4KLSAgICAgICAgICAg
ICAgICA8b3B0aW9uPmNvbnRlbnQ1PC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlvbj5j
b250ZW50Njwvb3B0aW9uPgotICAgICAgICAgICAgICAgIDxvcHRpb24+Y29udGVudDc8L29wdGlv
bj4KLSAgICAgICAgICAgICAgICA8b3B0aW9uPmNvbnRlbnQ4PC9vcHRpb24+Ci0gICAgICAgICAg
ICAgICAgPG9wdGlvbj5jb250ZW50OTwvb3B0aW9uPgotICAgICAgICAgICAgICAgIDxvcHRpb24+
Y29udGVudDEwPC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlvbj5jb250ZW50MTE8L29w
dGlvbj4KLSAgICAgICAgICAgICAgICA8b3B0aW9uPmNvbnRlbnQxMjwvb3B0aW9uPgotICAgICAg
ICAgICAgICAgIDxvcHRpb24+Y29udGVudDEzPC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9w
dGlvbj5jb250ZW50MTQ8L29wdGlvbj4KLSAgICAgICAgICAgICAgICA8b3B0aW9uPmNvbnRlbnQx
NTwvb3B0aW9uPgotICAgICAgICAgICAgICAgIDxvcHRpb24+Y29udGVudDE2PC9vcHRpb24+Ci0g
ICAgICAgICAgICAgICAgPG9wdGlvbj5jb250ZW50MTc8L29wdGlvbj4KLSAgICAgICAgICAgICAg
ICA8b3B0aW9uPmNvbnRlbnQxODwvb3B0aW9uPgotICAgICAgICAgICAgICAgIDxvcHRpb24+Y29u
dGVudDE5PC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlvbj5jb250ZW50MjA8L29wdGlv
bj4KLSAgICAgICAgICAgICAgICA8b3B0aW9uPmNvbnRlbnQyMTwvb3B0aW9uPgotICAgICAgICAg
ICAgPC9zZWxlY3Q+Ci0gICAgICAgIDwvZGl2PgotICAgIDwvZGl2PgotPC9kaXY+Ci08ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBhIHNl
bGVjdCBkb2Vzbid0IGNvbnN1bWUgd2hlZWwgZXZlbnRzIHdoZW4gc2Nyb2xsIGlzIGxhdGNoZWQg
dG8gbWFpbiBmcmFtZS4iKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1z
ZWxlY3QtbGF0Y2hlZC1zZWxlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1zZWxlY3QtbGF0Y2hlZC1zZWxlY3QtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OWNkMjllMDIzNDZkNzVhYzY2OGVk
NTk1ODdjODM5NTU1NjMwMjI2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3Njcm9sbGluZy9zY3JvbGwt
c2VsZWN0LWxhdGNoZWQtc2VsZWN0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE4
ICswLDAgQEAKLVB1dCBtb3VzZSBoZXJlIGFuZCBmbGljayBkb3dud2FyZHMKLVNjcm9sbGFibGUg
U2VsZWN0Ci0KLQotVGVzdHMgdGhhdCBhIHNlbGVjdCBkb2Vzbid0IHBhc3Mgd2hlZWwgZXZlbnRz
IHRvIG1haW4gZnJhbWUgd2hlbiBzY3JvbGxpbmcgYXQgYm90dG9tCi0KLU9uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KLQotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1Qg
Q09NUExFVEUKLWRpdiBkaXNwbGF5IGhlaWdodCA9IDExMQotTW91c2UgbW92ZWQgdG8gKDMwLCAy
MzgpCi1QYWdlIGJlZm9yZTogMCwgc2VsZWN0IGJlZm9yZTogNzAKLVBhZ2UgYWZ0ZXI6ICAwLCBz
ZWxlY3QgYWZ0ZXI6IDE4MgotUEFTUyBQYWdlIGRpZCBub3QgcmVjZWl2ZSB3aGVlbCBldmVudHMu
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3Njcm9sbGluZy9z
Y3JvbGwtc2VsZWN0LWxhdGNoZWQtc2VsZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLXNlbGVjdC1sYXRjaGVkLXNlbGVjdC5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzOTZkMmQ1NzIwYjY3NjhkZWVkZWYwZGFjMzNlMDA4
YmNhNjA3MzY3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3Njcm9sbGluZy9zY3JvbGwtc2VsZWN0LWxh
dGNoZWQtc2VsZWN0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNDUgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHN0eWxlPgotLnNjcm9sbGFibGVfcmVnaW9uIHsK
LSAgICB3aWR0aDogNjgwcHg7Ci19Ci0KLS50YWJsZSB0ZCwgLnRhYmxlIHRoIHsKLSAgICBwYWRk
aW5nOiAycHg7Ci19Ci0KLS50YWJsZSB0aCB7Ci0gICAgaGVpZ2h0OiAyMHB4OwotICAgIHRleHQt
YWxpZ246IGxlZnQ7Ci0gICAgZm9udC13ZWlnaHQ6IHN0cm9uZzsKLX0KLQotLnRhYmxlIHRyOm50
aC1jaGlsZChvZGQpIHsKLSAgICBiYWNrZ3JvdW5kOiAjZjNmM2YzOwotfQotCi0uc2Nyb2xsYWJs
ZV9zZWxlY3Qgb3B0aW9uOm50aC1jaGlsZChvZGQpIHsKLSAgICBiYWNrZ3JvdW5kOiAjZjNmM2Yz
OwotfQotCi08L3N0eWxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gb25Mb2FkKCkgewotICAg
IHNldHVwVG9wTGV2ZWwoKTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJv
bkxvYWQoKTsiPgotPHNjcmlwdD4KLQotdmFyIHNlbGVjdFRhcmdldDsKLXZhciBwYWdlU2Nyb2xs
UG9zaXRpb25CZWZvcmU7Ci12YXIgc2VsZWN0U2Nyb2xsUG9zaXRpb25CZWZvcmU7Ci12YXIgY29u
dGludWVDb3VudCA9IDU7Ci0KLWZ1bmN0aW9uIGNoZWNrRm9yU2Nyb2xsKCkgewotCi0gICAgLy8g
VGhlIHBhZ2Ugc2hvdWxkIG5vdCBoYXZlIHNjcm9sbGVkIGF0IGFsbC4KLSAgICB2YXIgcGFnZVNj
cm9sbFBvc2l0aW9uQWZ0ZXIgPSBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDsKLSAgICB2YXIgc2Vs
ZWN0U2Nyb2xsUG9zaXRpb25BZnRlciA9IHNlbGVjdFRhcmdldC5zY3JvbGxUb3A7Ci0KLSAgICBk
ZWJ1ZygiUGFnZSBiZWZvcmU6ICIgKyBwYWdlU2Nyb2xsUG9zaXRpb25CZWZvcmUgKyAiLCBzZWxl
Y3QgYmVmb3JlOiAiICsgc2VsZWN0U2Nyb2xsUG9zaXRpb25CZWZvcmUpOwotICAgIGRlYnVnKCJQ
YWdlIGFmdGVyOiAgIiArIHBhZ2VTY3JvbGxQb3NpdGlvbkFmdGVyICsgIiwgc2VsZWN0IGFmdGVy
OiAiICsgc2VsZWN0U2Nyb2xsUG9zaXRpb25BZnRlcik7Ci0KLSAgICBpZiAocGFnZVNjcm9sbFBv
c2l0aW9uQmVmb3JlICE9IHBhZ2VTY3JvbGxQb3NpdGlvbkFmdGVyKQotICAgICAgICB0ZXN0RmFp
bGVkKCJQYWdlIHJlY2VpdmVkIHdoZWVsIGV2ZW50cy4iKTsKLSAgICBlbHNlCi0gICAgICAgIHRl
c3RQYXNzZWQoIlBhZ2UgZGlkIG5vdCByZWNlaXZlIHdoZWVsIGV2ZW50cy4iKTsKLQotICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBzY3JvbGxUZXN0KCkgewotICAg
IC8vIFNlZSB3aGVyZSBvdXIgSUZyYW1lIGxpdmVzOgotICAgIHBhZ2VTY3JvbGxQb3NpdGlvbkJl
Zm9yZSA9IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wOwotCi0gICAgc2VsZWN0VGFyZ2V0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldCcpOwotICAgIHNlbGVjdFRhcmdldC5zY3JvbGxU
b3AgPSBzZWxlY3RUYXJnZXQuc2Nyb2xsSGVpZ2h0IC0gc2VsZWN0VGFyZ2V0LmNsaWVudEhlaWdo
dCAtIDEwMDsKLQotICAgIHNlbGVjdFNjcm9sbFBvc2l0aW9uQmVmb3JlID0gc2VsZWN0VGFyZ2V0
LnNjcm9sbFRvcDsKLQotICAgIC8vIFNjcm9sbCB0aGUgI3NvdXJjZSB1bnRpbCB3ZSByZWFjaCB0
aGUgI3RhcmdldC4KLSAgICB2YXIgc3RhcnRQb3NYID0gc2VsZWN0VGFyZ2V0Lm9mZnNldExlZnQg
KyAyMDsKLSAgICBkZWJ1ZygiZGl2IGRpc3BsYXkgaGVpZ2h0ID0gIiArIHNlbGVjdFRhcmdldC5j
bGllbnRIZWlnaHQpOwotICAgIHZhciBzdGFydFBvc1kgPSBzZWxlY3RUYXJnZXQub2Zmc2V0VG9w
ICsgc2VsZWN0VGFyZ2V0LmNsaWVudEhlaWdodCAtIDQyOyAvLyBPbmUgd2hlZWwgdHVybiBiZWZv
cmUgZW5kLgotICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHN0YXJ0UG9zWCwgc3RhcnRQb3NZ
KTsgLy8gTWFrZSBzdXJlIHdlIGFyZSBqdXN0IG91dHNpZGUgdGhlIGlGcmFtZQotICAgIGRlYnVn
KCJNb3VzZSBtb3ZlZCB0byAoIiArIHN0YXJ0UG9zWCArICIsICIgKyBzdGFydFBvc1kgKyAiKSIp
OwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNl
cygwLCAtMSwgJ2JlZ2FuJywgJ25vbmUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNj
cm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdjaGFuZ2VkJywgJ25vbmUn
LCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50
dW1QaGFzZXMoMCwgLTEsICdjaGFuZ2VkJywgJ25vbmUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRl
ci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgMCwgJ2VuZGVkJywg
J25vbmUnLCB0cnVlKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5k
TW9tZW50dW1QaGFzZXMoMCwgLTEsICdub25lJywgJ2JlZ2luJywgdHJ1ZSk7Ci0gICAgZXZlbnRT
ZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9u
ZScsICdjb250aW51ZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRo
V2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnY29udGludWUnLCB0cnVlKTsK
LSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMo
MCwgLTEsICdub25lJywgJ2NvbnRpbnVlJywgdHJ1ZSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VT
Y3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdjb250aW51
ZScsIHRydWUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21l
bnR1bVBoYXNlcygwLCAwLCAnbm9uZScsICdlbmQnLCB0cnVlKTsKLSAgICBzZXRUaW1lb3V0KGNo
ZWNrRm9yU2Nyb2xsLCAxMDApOwotfQotCi1mdW5jdGlvbiBzZXR1cFRvcExldmVsKCkgewotCi0g
ICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQodHJ1ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotCi0gICAgICAg
IHNldFRpbWVvdXQoc2Nyb2xsVGVzdCwgMTAwMCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgdmFy
IG1lc3NhZ2VMb2NhdGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJlbnQnKTsKLSAg
ICAgICAgdmFyIG1lc3NhZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICAg
ICAgbWVzc2FnZS5pbm5lckhUTUwgPSAiPHA+VGhpcyB0ZXN0IGlzIGJldHRlciBydW4gdW5kZXIg
RHVtcFJlbmRlclRyZWUuIFRvIG1hbnVhbGx5IHRlc3QgaXQsIHBsYWNlIHRoZSBtb3VzZSBwb2lu
dGVyPGJyLz4iCi0gICAgICAgICAgICArICJpbnNpZGUgdGhlIHNlbGVjdCBib3gsIGFuZCBzY3Jv
bGwgbmVhciAoYnV0IG5vdCBBVCkgdGhlIGJvdHRvbSBvZiB0aGUgcmFuZ2UuIFVzZSB0aGUgbW91
c2Ugd2hlZWwgb3IgYSB0d28tZmluZ2VyPGJyLz4iCi0gICAgICAgICAgICArICJzd2lwZSB0byBz
Y3JvbGwgdGhyb3VnaCB0aGUgcmVzdCBvZiB0aGUgc2VsZWN0IG9wdGlvbnMuPGJyLz48YnIvPiIK
LSAgICAgICAgICAgICsgIllvdSBzaG91bGQgbm90IHNlZSB0aGUgcGFnZSBwb3NpdGlvbiBjaGFu
Z2UgaWYgdGhpcyB0ZXN0IGlzIHN1Y2Nlc3NmdWwuPC9wPiI7Ci0gICAgICAgIG1lc3NhZ2VMb2Nh
dGlvbi5hcHBlbmRDaGlsZChtZXNzYWdlKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPGRpdiBp
ZD0icGFyZW50IiBzdHlsZT0iaGVpZ2h0OiAyMDAwcHg7IHdpZHRoOiAyMDAwcHg7Ij4KLSAgICA8
ZGl2IGlkPSJzb3VyY2UiIHN0eWxlPSJoZWlnaHQ6IDEwMHB4OyB3aWR0aDogNTAwcHg7Ij4KLSAg
ICAgICAgUHV0IG1vdXNlIGhlcmUgYW5kIGZsaWNrIGRvd253YXJkcwotICAgIDwvZGl2PgotICAg
ICAgICA8ZGl2IGNsYXNzPSJzY3JvbGxhYmxlX3JlZ2lvbiI+Ci0gICAgICAgICAgICA8aDM+U2Ny
b2xsYWJsZSBTZWxlY3Q8L2gzPgotICAgICAgICAgICAgPHNlbGVjdCBpZD0idGFyZ2V0IiBjbGFz
cz0ic2Nyb2xsYWJsZV9zZWxlY3QiIHNpemU9IjgiPgotICAgICAgICAgICAgICAgIDxvcHRpb24+
Y29udGVudDE8L29wdGlvbj4KLSAgICAgICAgICAgICAgICA8b3B0aW9uPmNvbnRlbnQyPC9vcHRp
b24+Ci0gICAgICAgICAgICAgICAgPG9wdGlvbj5jb250ZW50Mzwvb3B0aW9uPgotICAgICAgICAg
ICAgICAgIDxvcHRpb24+Y29udGVudDQ8L29wdGlvbj4KLSAgICAgICAgICAgICAgICA8b3B0aW9u
PmNvbnRlbnQ1PC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlvbj5jb250ZW50Njwvb3B0
aW9uPgotICAgICAgICAgICAgICAgIDxvcHRpb24+Y29udGVudDc8L29wdGlvbj4KLSAgICAgICAg
ICAgICAgICA8b3B0aW9uPmNvbnRlbnQ4PC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlv
bj5jb250ZW50OTwvb3B0aW9uPgotICAgICAgICAgICAgICAgIDxvcHRpb24+Y29udGVudDEwPC9v
cHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlvbj5jb250ZW50MTE8L29wdGlvbj4KLSAgICAg
ICAgICAgICAgICA8b3B0aW9uPmNvbnRlbnQxMjwvb3B0aW9uPgotICAgICAgICAgICAgICAgIDxv
cHRpb24+Y29udGVudDEzPC9vcHRpb24+Ci0gICAgICAgICAgICAgICAgPG9wdGlvbj5jb250ZW50
MTQ8L29wdGlvbj4KLSAgICAgICAgICAgICAgICA8b3B0aW9uPmNvbnRlbnQxNTwvb3B0aW9uPgot
ICAgICAgICAgICAgICAgIDxvcHRpb24+Y29udGVudDE2PC9vcHRpb24+Ci0gICAgICAgICAgICAg
ICAgPG9wdGlvbj5jb250ZW50MTc8L29wdGlvbj4KLSAgICAgICAgICAgICAgICA8b3B0aW9uPmNv
bnRlbnQxODwvb3B0aW9uPgotICAgICAgICAgICAgICAgIDxvcHRpb24+Y29udGVudDE5PC9vcHRp
b24+Ci0gICAgICAgICAgICAgICAgPG9wdGlvbj5jb250ZW50MjA8L29wdGlvbj4KLSAgICAgICAg
ICAgICAgICA8b3B0aW9uPmNvbnRlbnQyMTwvb3B0aW9uPgotICAgICAgICAgICAgPC9zZWxlY3Q+
Ci0gICAgICAgIDwvZGl2PgotICAgIDwvZGl2PgotPC9kaXY+Ci08ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBhIHNlbGVjdCBkb2Vzbid0
IHBhc3Mgd2hlZWwgZXZlbnRzIHRvIG1haW4gZnJhbWUgd2hlbiBzY3JvbGxpbmcgYXQgYm90dG9t
Iik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>