<?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>209170</bug_id>
          
          <creation_ts>2020-03-16 21:52:48 -0700</creation_ts>
          <short_desc>Clean up some latching tests</short_desc>
          <delta_ts>2020-03-17 11:24:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1630637</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-03-16 21:52:48 -0700</bug_when>
    <thetext>Clean up some latching tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630639</commentid>
    <comment_count>1</comment_count>
      <attachid>393728</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-03-16 21:54:33 -0700</bug_when>
    <thetext>Created attachment 393728
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630737</commentid>
    <comment_count>2</comment_count>
      <attachid>393728</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-17 09:09:32 -0700</bug_when>
    <thetext>Comment on attachment 393728
Patch

Rejecting attachment 393728 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 393728, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Logging in as commit-queue@webkit.org...
Fetching: https://bugs.webkit.org/attachment.cgi?id=393728&amp;action=edit
Fetching: https://bugs.webkit.org/show_bug.cgi?id=209170&amp;ctype=xml&amp;excludefield=attachmentdata
Processing 1 patch from 1 bug.
Processing patch 393728 from bug 209170.
Fetching: https://bugs.webkit.org/attachment.cgi?id=393728
Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Antti Koivisto&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Parsed 15 diffs from patch file(s).
patching file LayoutTests/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file LayoutTests/tiled-drawing/scrolling/fast-scroll-div-latched-div-expected.txt
patching file LayoutTests/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt
patching file LayoutTests/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler.html
patching file LayoutTests/tiled-drawing/scrolling/fast-scroll-div-latched-div.html
patching file LayoutTests/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-expected.txt
Hunk #1 FAILED at 1.
1 out of 1 hunk FAILED -- saving rejects to file LayoutTests/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-expected.txt.rej
patching file LayoutTests/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler.html
patching file LayoutTests/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe.html
Hunk #1 FAILED at 2.
Hunk #2 succeeded at 101 (offset -5 lines).
1 out of 2 hunks FAILED -- saving rejects to file LayoutTests/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe.html.rej
patching file LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt
patching file LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt
patching file LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler.html
patching file LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe.html
patching file LayoutTests/tiled-drawing/scrolling/fast-scroll-mainframe-zoom-expected.txt
patching file LayoutTests/tiled-drawing/scrolling/fast-scroll-mainframe-zoom.html
patching file LayoutTests/tiled-drawing/scrolling/scrolling-no-iframe-latching.html

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Antti Koivisto&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: https://webkit-queues.webkit.org/results/13343268</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630802</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-03-17 11:23:52 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/258561/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630804</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-17 11:24:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/60546619&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393728</attachid>
            <date>2020-03-16 21:54:33 -0700</date>
            <delta_ts>2020-03-17 09:09:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209170-20200316215432.patch</filename>
            <type>text/plain</type>
            <size>78531</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NTI4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNWMwNzdkNTdkMjIwMjM3ZWRkNjdm
ZTdmODc0YjM4N2MzMjBiNDdjMy4uZWMwYmJlNDA5NDYyMTFkNzg2ZDhlNDQyNjg4OGUwOTcyMjVh
NDdhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIwLTAzLTE2ICBTaW1vbiBGcmFzZXIgIDxz
aW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENsZWFuIHVwIHNvbWUgbGF0Y2hpbmcg
dGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
OTE3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAg
ICAgICAgVGhlc2UgdGVzdHMgd2VyZSB3ZWlyZCBpbiB2YXJpb3VzIHdheXM6CisgICAgICAgICAg
ICAtIDx0YWJsZT5zIHRvIHRha2UgdXAgc3BhY2Ugd2hlbiBhIHNpbXBsZSA8ZGl2PiB3b3VsZCBk
bworICAgICAgICAgICAgLSBNaXh0dXJlIG9mIGpzLXRlc3QtcHJlL3Bvc3QgYW5kIHdhaXRVbnRp
bERvbmUvbm90aWZ5RG9uZQorICAgICAgICAgICAgLSBKUyBpbiBzY3JpcHQgdGFnIGF0IHRoZSBz
dGFydCBvZiB0aGUgYm9keQorCisgICAgICAgIEZpeCB0aGVzZSB0aGluZ3MuCisKKyAgICAgICAg
KiB0aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mYXN0LXNjcm9sbC1kaXYtbGF0Y2hlZC1kaXYtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2Zhc3Qtc2Nyb2xs
LWRpdi1sYXRjaGVkLWRpdi13aXRoLWhhbmRsZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHRp
bGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2Zhc3Qtc2Nyb2xsLWRpdi1sYXRjaGVkLWRpdi13aXRoLWhh
bmRsZXIuaHRtbDoKKyAgICAgICAgKiB0aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mYXN0LXNjcm9s
bC1kaXYtbGF0Y2hlZC1kaXYuaHRtbDoKKyAgICAgICAgKiB0aWxlZC1kcmF3aW5nL3Njcm9sbGlu
Zy9mYXN0LXNjcm9sbC1kaXYtbGF0Y2hlZC1tYWluZnJhbWUtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2Zhc3Qtc2Nyb2xsLWRpdi1sYXRjaGVkLW1haW5m
cmFtZS13aXRoLWhhbmRsZXIuaHRtbDoKKyAgICAgICAgKiB0aWxlZC1kcmF3aW5nL3Njcm9sbGlu
Zy9mYXN0LXNjcm9sbC1kaXYtbGF0Y2hlZC1tYWluZnJhbWUuaHRtbDoKKyAgICAgICAgKiB0aWxl
ZC1kcmF3aW5nL3Njcm9sbGluZy9mYXN0LXNjcm9sbC1pZnJhbWUtbGF0Y2hlZC1pZnJhbWUtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2Zhc3Qtc2Nyb2xs
LWlmcmFtZS1sYXRjaGVkLWlmcmFtZS13aXRoLWhhbmRsZXItZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2Zhc3Qtc2Nyb2xsLWlmcmFtZS1sYXRjaGVkLWlm
cmFtZS13aXRoLWhhbmRsZXIuaHRtbDoKKyAgICAgICAgKiB0aWxlZC1kcmF3aW5nL3Njcm9sbGlu
Zy9mYXN0LXNjcm9sbC1pZnJhbWUtbGF0Y2hlZC1pZnJhbWUuaHRtbDoKKyAgICAgICAgKiB0aWxl
ZC1kcmF3aW5nL3Njcm9sbGluZy9mYXN0LXNjcm9sbC1tYWluZnJhbWUtem9vbS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZmFzdC1zY3JvbGwtbWFpbmZy
YW1lLXpvb20uaHRtbDoKKyAgICAgICAgKiB0aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGxp
bmctbm8taWZyYW1lLWxhdGNoaW5nLmh0bWw6CisKIDIwMjAtMDMtMTYgIEphc29uIExhd3JlbmNl
ICA8bGF3cmVuY2UuakBhcHBsZS5jb20+CiAKICAgICAgICAgWyBNYWMgd2sxIF0gaHR0cC90ZXN0
cy9zZWN1cml0eS9jbGlwYm9hcmQvY29weS1wYXN0ZS1odG1sLWNyb3NzLW9yaWdpbi1pZnJhbWUt
YWNyb3NzLW9yaWdpbi5odG1sIGlzIGZsYWt5IGZhaWxpbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mYXN0LXNjcm9sbC1kaXYtbGF0Y2hlZC1kaXYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZmFzdC1z
Y3JvbGwtZGl2LWxhdGNoZWQtZGl2LWV4cGVjdGVkLnR4dAppbmRleCAyZjIyMDVlODhjZWU2NTM5
NDQ0YzliZWVmNTBhMjRiM2MxNzlhMDJmLi5iZTZiODE0MDhmNWU4MDUzYjRlODMyM2UxYjg0ODdi
MTQ2YjkyNmRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGlu
Zy9mYXN0LXNjcm9sbC1kaXYtbGF0Y2hlZC1kaXYtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2Zhc3Qtc2Nyb2xsLWRpdi1sYXRjaGVkLWRpdi1l
eHBlY3RlZC50eHQKQEAgLTEsNjggKzEsMjYgQEAKIFB1dCBtb3VzZSBoZXJlIGFuZCBmbGljayBk
b3dud2FyZHMKIFNjcm9sbGFibGUgUmVnaW9uCiAKLUNvdW50CURBVEEJUmV2IENvdW50Ci1UT1Ag
VE9QIFRPUCBUT1AgVE9QCVRPUCBUT1AgVE9QIFRPUCBUT1AJVE9QIFRPUCBUT1AgVE9QIFRPUAot
MQkwLjExMDAJNDAKLTIJMC4xMTU1CTM5Ci0zCTAuMjIwMAkzOAotNAkwLjIyNTUJMzcKLTUJMC4z
MzAwCTM2Ci02CTAuMzM1NQkzNQotNwkwLjQ0MDAJMzQKLTgJMC40NDU1CTMzCi05CTAuNTUwMAkz
MgotMTAJMC41NTU1CTMxCi0xMQkwLjY2MDAJMzAKLTEyCTAuNjY1NQkyOQotMTMJMC43NzAwCTI4
Ci0xNAkwLjc3NTUJMjcKLTE1CTAuODgwMAkyNgotMTYJMC44ODU1CTI1Ci0xNwkwLjk5MDAJMjQK
LTE4CTAuOTk1NQkyMwotMTkJMC45OTk5CTIyCi0yMAkxLjAwMDAJMjEKLTIxCTEuMDAwMAkyMAot
MjIJMC45OTk5CTE5Ci0yMwkwLjk5NTUJMTgKLTI0CTAuOTkwMAkxNwotMjUJMC44ODU1CTE2Ci0y
NgkwLjg4MDAJMTUKLTI3CTAuNzc1NQkxNAotMjgJMC43NzAwCTEzCi0yOQkwLjY2NTUJMTIKLTMw
CTAuNjYwMAkxMQotMzEJMC41NTU1CTEwCi0zMgkwLjU1MDAJOQotMzMJMC40NDU1CTgKLTM0CTAu
NDQwMAk3Ci0zNQkwLjMzNTUJNgotMzYJMC4zMzAwCTUKLTM3CTAuMjI1NQk0Ci0zOAkwLjIyMDAJ
MwotMzkJMC4xMTU1CTIKLTQwCTAuMTEwMAkxCi1FTkQgRU5EIEVORCBFTkQgRU5ECUVORCBFTkQg
RU5EIEVORCBFTkQJRU5EIEVORCBFTkQgRU5EIEVORAorU2Nyb2xsZWQgY29udGVudAogVGVzdHMg
dGhhdCBhIHNjcm9sbGFibGUgZGl2IGRvZXNuJ3QgcGFzcyB3aGVlbCBldmVudHMgdG8gbWFpbiBm
cmFtZSB3aGVuIHNjcm9sbGluZyBhdCBib3R0b20KIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgogCiAKK1BBU1MgUGFnZSBkaWQgbm90IHJlY2VpdmUgd2hlZWwgZXZlbnRzLgogUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCi1QQVNTIFBhZ2UgZGlkIG5v
dCByZWNlaXZlIHdoZWVsIGV2ZW50cy4KIChHcmFwaGljc0xheWVyCiAgIChhbmNob3IgMC4wMCAw
LjAwKQotICAoYm91bmRzIDIwMDguMDAgMjI2Ni4wMCkKKyAgKGJvdW5kcyAyMDA4LjAwIDIyMjEu
MDApCiAgICh2aXNpYmxlIHJlY3QgMC4wMCwgMC4wMCA3ODUuMDAgeCA1ODUuMDApCiAgIChjb3Zl
cmFnZSByZWN0IDAuMDAsIDAuMDAgNzg1LjAwIHggNTg1LjAwKQogICAoaW50ZXJzZWN0cyBjb3Zl
cmFnZSByZWN0IDEpCiAgIChjb250ZW50c1NjYWxlIDEuMDApCiAgIChjaGlsZHJlbiAxCiAgICAg
KEdyYXBoaWNzTGF5ZXIKLSAgICAgIChib3VuZHMgMjAwOC4wMCAyMjY2LjAwKQorICAgICAgKGJv
dW5kcyAyMDA4LjAwIDIyMjEuMDApCiAgICAgICAoY29udGVudHNPcGFxdWUgMSkKICAgICAgICh2
aXNpYmxlIHJlY3QgMC4wMCwgMC4wMCA3ODUuMDAgeCA1ODUuMDApCiAgICAgICAoY292ZXJhZ2Ug
cmVjdCAwLjAwLCAwLjAwIDE1NzAuMDAgeCAxNzU1LjAwKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZmFzdC1zY3JvbGwtZGl2LWxhdGNoZWQtZGl2LXdp
dGgtaGFuZGxlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9s
bGluZy9mYXN0LXNjcm9sbC1kaXYtbGF0Y2hlZC1kaXYtd2l0aC1oYW5kbGVyLWV4cGVjdGVkLnR4
dAppbmRleCAyZjIyMDVlODhjZWU2NTM5NDQ0YzliZWVmNTBhMjRiM2MxNzlhMDJmLi5iZTZiODE0
MDhmNWU4MDUzYjRlODMyM2UxYjg0ODdiMTQ2YjkyNmRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mYXN0LXNjcm9sbC1kaXYtbGF0Y2hlZC1kaXYtd2l0
aC1oYW5kbGVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Nj
cm9sbGluZy9mYXN0LXNjcm9sbC1kaXYtbGF0Y2hlZC1kaXYtd2l0aC1oYW5kbGVyLWV4cGVjdGVk
LnR4dApAQCAtMSw2OCArMSwyNiBAQAogUHV0IG1vdXNlIGhlcmUgYW5kIGZsaWNrIGRvd253YXJk
cwogU2Nyb2xsYWJsZSBSZWdpb24KIAotQ291bnQJREFUQQlSZXYgQ291bnQKLVRPUCBUT1AgVE9Q
IFRPUCBUT1AJVE9QIFRPUCBUT1AgVE9QIFRPUAlUT1AgVE9QIFRPUCBUT1AgVE9QCi0xCTAuMTEw
MAk0MAotMgkwLjExNTUJMzkKLTMJMC4yMjAwCTM4Ci00CTAuMjI1NQkzNwotNQkwLjMzMDAJMzYK
LTYJMC4zMzU1CTM1Ci03CTAuNDQwMAkzNAotOAkwLjQ0NTUJMzMKLTkJMC41NTAwCTMyCi0xMAkw
LjU1NTUJMzEKLTExCTAuNjYwMAkzMAotMTIJMC42NjU1CTI5Ci0xMwkwLjc3MDAJMjgKLTE0CTAu
Nzc1NQkyNwotMTUJMC44ODAwCTI2Ci0xNgkwLjg4NTUJMjUKLTE3CTAuOTkwMAkyNAotMTgJMC45
OTU1CTIzCi0xOQkwLjk5OTkJMjIKLTIwCTEuMDAwMAkyMQotMjEJMS4wMDAwCTIwCi0yMgkwLjk5
OTkJMTkKLTIzCTAuOTk1NQkxOAotMjQJMC45OTAwCTE3Ci0yNQkwLjg4NTUJMTYKLTI2CTAuODgw
MAkxNQotMjcJMC43NzU1CTE0Ci0yOAkwLjc3MDAJMTMKLTI5CTAuNjY1NQkxMgotMzAJMC42NjAw
CTExCi0zMQkwLjU1NTUJMTAKLTMyCTAuNTUwMAk5Ci0zMwkwLjQ0NTUJOAotMzQJMC40NDAwCTcK
LTM1CTAuMzM1NQk2Ci0zNgkwLjMzMDAJNQotMzcJMC4yMjU1CTQKLTM4CTAuMjIwMAkzCi0zOQkw
LjExNTUJMgotNDAJMC4xMTAwCTEKLUVORCBFTkQgRU5EIEVORCBFTkQJRU5EIEVORCBFTkQgRU5E
IEVORAlFTkQgRU5EIEVORCBFTkQgRU5ECitTY3JvbGxlZCBjb250ZW50CiBUZXN0cyB0aGF0IGEg
c2Nyb2xsYWJsZSBkaXYgZG9lc24ndCBwYXNzIHdoZWVsIGV2ZW50cyB0byBtYWluIGZyYW1lIHdo
ZW4gc2Nyb2xsaW5nIGF0IGJvdHRvbQogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAor
UEFTUyBQYWdlIGRpZCBub3QgcmVjZWl2ZSB3aGVlbCBldmVudHMuCiBQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKLVBBU1MgUGFnZSBkaWQgbm90IHJlY2Vp
dmUgd2hlZWwgZXZlbnRzLgogKEdyYXBoaWNzTGF5ZXIKICAgKGFuY2hvciAwLjAwIDAuMDApCi0g
IChib3VuZHMgMjAwOC4wMCAyMjY2LjAwKQorICAoYm91bmRzIDIwMDguMDAgMjIyMS4wMCkKICAg
KHZpc2libGUgcmVjdCAwLjAwLCAwLjAwIDc4NS4wMCB4IDU4NS4wMCkKICAgKGNvdmVyYWdlIHJl
Y3QgMC4wMCwgMC4wMCA3ODUuMDAgeCA1ODUuMDApCiAgIChpbnRlcnNlY3RzIGNvdmVyYWdlIHJl
Y3QgMSkKICAgKGNvbnRlbnRzU2NhbGUgMS4wMCkKICAgKGNoaWxkcmVuIDEKICAgICAoR3JhcGhp
Y3NMYXllcgotICAgICAgKGJvdW5kcyAyMDA4LjAwIDIyNjYuMDApCisgICAgICAoYm91bmRzIDIw
MDguMDAgMjIyMS4wMCkKICAgICAgIChjb250ZW50c09wYXF1ZSAxKQogICAgICAgKHZpc2libGUg
cmVjdCAwLjAwLCAwLjAwIDc4NS4wMCB4IDU4NS4wMCkKICAgICAgIChjb3ZlcmFnZSByZWN0IDAu
MDAsIDAuMDAgMTU3MC4wMCB4IDE3NTUuMDApCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90aWxl
ZC1kcmF3aW5nL3Njcm9sbGluZy9mYXN0LXNjcm9sbC1kaXYtbGF0Y2hlZC1kaXYtd2l0aC1oYW5k
bGVyLmh0bWwgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mYXN0LXNjcm9s
bC1kaXYtbGF0Y2hlZC1kaXYtd2l0aC1oYW5kbGVyLmh0bWwKaW5kZXggNzQ1ZmIwNTA4M2NiZTcy
ZjdiMGUyODNlMjRkZjE0MzE5OTRiYTk3My4uZmMxZjYzYWRkY2E0YmM4OTJiMWY5Y2I5ZjlmMmJm
YzcyOTYyMTJhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxp
bmcvZmFzdC1zY3JvbGwtZGl2LWxhdGNoZWQtZGl2LXdpdGgtaGFuZGxlci5odG1sCisrKyBiL0xh
eW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2Zhc3Qtc2Nyb2xsLWRpdi1sYXRjaGVk
LWRpdi13aXRoLWhhbmRsZXIuaHRtbApAQCAtNiwxMDcgKzYsOTEgQEAKICAgICB3aWR0aDogNjgw
cHg7CiB9CiAKLS50YWJsZSB0ZCwgLnRhYmxlIHRoIHsKLSAgICBwYWRkaW5nOiAycHg7Cisuc2Ny
b2xsZWQtY29udGVudCB7CisgICAgaGVpZ2h0OiAxMDM2cHg7CisgICAgd2lkdGg6IDEwMCU7Cisg
ICAgYmFja2dyb3VuZC1pbWFnZTogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChzaWx2ZXIsIHdo
aXRlIDEyMHB4KTsKIH0KLQotLnRhYmxlIHRoIHsKLSAgICBoZWlnaHQ6IDIwcHg7Ci0gICAgdGV4
dC1hbGlnbjogbGVmdDsKLSAgICBmb250LXdlaWdodDogc3Ryb25nOwotfQotCi0udGFibGUgdHI6
bnRoLWNoaWxkKG9kZCkgewotICAgIGJhY2tncm91bmQ6ICNmM2YzZjM7Ci19Ci0KLS5zY3JvbGxh
YmxlX3NlbGVjdCBvcHRpb246bnRoLWNoaWxkKG9kZCkgewotICAgIGJhY2tncm91bmQ6ICNmM2Yz
ZjM7Ci19Ci0KIDwvc3R5bGU+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci12YXIgd2hlZWxDb3VudCA9IDA7Ci1mdW5jdGlv
biBvblNjcm9sbFdoZWVsKGV2dCkgewotICAgIHdoZWVsQ291bnQgPSB3aGVlbENvdW50ICsgMTsK
LX0KLQotZnVuY3Rpb24gb25Mb2FkKCkgewotICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIo
Im1vdXNld2hlZWwiLCBvblNjcm9sbFdoZWVsKTsKLSAgICBzZXR1cFRvcExldmVsKCk7Ci19Ci08
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ib25Mb2FkKCk7Ij4KLTxzY3JpcHQ+Ci0K
LXZhciBkaXZUYXJnZXQ7Ci12YXIgcGFnZVNjcm9sbFBvc2l0aW9uQmVmb3JlOwotdmFyIGRpdlNj
cm9sbFBvc2l0aW9uQmVmb3JlOwotdmFyIGNvbnRpbnVlQ291bnQgPSA1OworICAgIHdpbmRvdy5q
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotZnVuY3Rpb24gY2hlY2tGb3JTY3JvbGwoKQotewotICAg
IC8vIFRoZSBkaXYgc2hvdWxkIG5vdCBoYXZlIHNjcm9sbGVkIGF0IGFsbC4KLSAgICB2YXIgcGFn
ZVNjcm9sbFBvc2l0aW9uQWZ0ZXIgPSBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRv
cDsKLSAgICB2YXIgZGl2U2Nyb2xsUG9zaXRpb25BZnRlciA9IGRpdlRhcmdldC5zY3JvbGxUb3A7
CisgICAgdmFyIGRpdlRhcmdldDsKKyAgICB2YXIgcGFnZVNjcm9sbFBvc2l0aW9uQmVmb3JlOwor
ICAgIHZhciBkaXZTY3JvbGxQb3NpdGlvbkJlZm9yZTsKKyAgICB2YXIgY29udGludWVDb3VudCA9
IDU7CiAKLSAgICBpZiAocGFnZVNjcm9sbFBvc2l0aW9uQmVmb3JlICE9IHBhZ2VTY3JvbGxQb3Np
dGlvbkFmdGVyKQotICAgICAgICB0ZXN0RmFpbGVkKCJQYWdlIHJlY2VpdmVkIHdoZWVsIGV2ZW50
cy4iKTsKLSAgICBlbHNlCi0gICAgICAgIHRlc3RQYXNzZWQoIlBhZ2UgZGlkIG5vdCByZWNlaXZl
IHdoZWVsIGV2ZW50cy4iKTsKLQotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lclRleHQgPSBpbnRlcm5hbHMu
bGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50LAotICAgICAgICAgICAgaW50ZXJuYWxzLkxBWUVSX1RS
RUVfSU5DTFVERVNfVklTSUJMRV9SRUNUUyB8IGludGVybmFscy5MQVlFUl9UUkVFX0lOQ0xVREVT
X1RJTEVfQ0FDSEVTKTsKKyAgICB2YXIgd2hlZWxDb3VudCA9IDA7CisgICAgZnVuY3Rpb24gb25T
Y3JvbGxXaGVlbChldnQpCisgICAgeworICAgICAgICB3aGVlbENvdW50ID0gd2hlZWxDb3VudCAr
IDE7CiAgICAgfQogCi0gICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9u
IHNjcm9sbFRlc3QoKQotewotICAgIHBhZ2VTY3JvbGxQb3NpdGlvbkJlZm9yZSA9IGRvY3VtZW50
LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wOworICAgIGZ1bmN0aW9uIGNoZWNrRm9yU2Nyb2xs
KCkKKyAgICB7CisgICAgICAgIC8vIFRoZSBkaXYgc2hvdWxkIG5vdCBoYXZlIHNjcm9sbGVkIGF0
IGFsbC4KKyAgICAgICAgdmFyIHBhZ2VTY3JvbGxQb3NpdGlvbkFmdGVyID0gZG9jdW1lbnQuc2Ny
b2xsaW5nRWxlbWVudC5zY3JvbGxUb3A7CisgICAgICAgIHZhciBkaXZTY3JvbGxQb3NpdGlvbkFm
dGVyID0gZGl2VGFyZ2V0LnNjcm9sbFRvcDsKIAotICAgIGRpdlRhcmdldCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCd0YXJnZXQnKTsKLSAgICBkaXZUYXJnZXQuc2Nyb2xsVG9wID0gZGl2VGFy
Z2V0LnNjcm9sbEhlaWdodCAtIGRpdlRhcmdldC5jbGllbnRIZWlnaHQgLSAxMDA7CisgICAgICAg
IGlmIChwYWdlU2Nyb2xsUG9zaXRpb25CZWZvcmUgIT0gcGFnZVNjcm9sbFBvc2l0aW9uQWZ0ZXIp
CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJQYWdlIHJlY2VpdmVkIHdoZWVsIGV2ZW50cy4iKTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgiUGFnZSBkaWQgbm90IHJlY2Vp
dmUgd2hlZWwgZXZlbnRzLiIpOwogCi0gICAgZGl2U2Nyb2xsUG9zaXRpb25CZWZvcmUgPSBkaXZU
YXJnZXQuc2Nyb2xsVG9wOworICAgICAgICBpZiAod2luZG93LmludGVybmFscykgeworICAgICAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVyVGV4dCA9IGludGVy
bmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQsCisgICAgICAgICAgICAgICAgaW50ZXJuYWxz
LkxBWUVSX1RSRUVfSU5DTFVERVNfVklTSUJMRV9SRUNUUyB8IGludGVybmFscy5MQVlFUl9UUkVF
X0lOQ0xVREVTX1RJTEVfQ0FDSEVTKTsKKyAgICAgICAgfQogCi0gICAgLy8gU2Nyb2xsIHRoZSAj
c291cmNlIHVudGlsIHdlIHJlYWNoIHRoZSAjdGFyZ2V0LgotICAgIHZhciBzdGFydFBvc1ggPSBN
YXRoLnJvdW5kKGRpdlRhcmdldC5vZmZzZXRMZWZ0KSArIDIwOwotICAgIHZhciBzdGFydFBvc1kg
PSBNYXRoLnJvdW5kKGRpdlRhcmdldC5vZmZzZXRUb3ApICsgMTAwOyAvLyBPbmUgd2hlZWwgdHVy
biBiZWZvcmUgZW5kLgotICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHN0YXJ0UG9zWCwgc3Rh
cnRQb3NZKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50
dW1QaGFzZXMoMCwgLTEsICdiZWdhbicsICdub25lJyk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VT
Y3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnY2hhbmdlZCcsICdub25l
Jyk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhh
c2VzKDAsIC0xLCAnY2hhbmdlZCcsICdub25lJyk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3Jv
bGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIDAsICdlbmRlZCcsICdub25lJyk7Ci0g
ICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAs
IC0xLCAnbm9uZScsICdiZWdpbicpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRo
V2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnY29udGludWUnKTsKLSAgICBl
dmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgMCwg
J25vbmUnLCAnZW5kJyk7Ci0gICAgZXZlbnRTZW5kZXIuY2FsbEFmdGVyU2Nyb2xsaW5nQ29tcGxl
dGVzKGNoZWNrRm9yU2Nyb2xsKTsKLX0KKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfQog
Ci1mdW5jdGlvbiBzZXR1cFRvcExldmVsKCkKLXsKLSAgICBpZiAod2luZG93LmV2ZW50U2VuZGVy
KSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKKyAgICBmdW5jdGlvbiBzY3JvbGxUZXN0KCkKKyAgICB7CisgICAg
ICAgIHBhZ2VTY3JvbGxQb3NpdGlvbkJlZm9yZSA9IGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQu
c2Nyb2xsVG9wOworCisgICAgICAgIGRpdlRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCd0YXJnZXQnKTsKKyAgICAgICAgZGl2VGFyZ2V0LnNjcm9sbFRvcCA9IGRpdlRhcmdldC5zY3Jv
bGxIZWlnaHQgLSBkaXZUYXJnZXQuY2xpZW50SGVpZ2h0IC0gMTAwOworCisgICAgICAgIGRpdlNj
cm9sbFBvc2l0aW9uQmVmb3JlID0gZGl2VGFyZ2V0LnNjcm9sbFRvcDsKKworICAgICAgICAvLyBT
Y3JvbGwgdGhlICNzb3VyY2UgdW50aWwgd2UgcmVhY2ggdGhlICN0YXJnZXQuCisgICAgICAgIHZh
ciBzdGFydFBvc1ggPSBNYXRoLnJvdW5kKGRpdlRhcmdldC5vZmZzZXRMZWZ0KSArIDIwOworICAg
ICAgICB2YXIgc3RhcnRQb3NZID0gTWF0aC5yb3VuZChkaXZUYXJnZXQub2Zmc2V0VG9wKSArIDEw
MDsgLy8gT25lIHdoZWVsIHR1cm4gYmVmb3JlIGVuZC4KKyAgICAgICAgZXZlbnRTZW5kZXIubW91
c2VNb3ZlVG8oc3RhcnRQb3NYLCBzdGFydFBvc1kpOworICAgICAgICBldmVudFNlbmRlci5tb3Vz
ZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdiZWdhbicsICdub25l
Jyk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1
bVBoYXNlcygwLCAtMSwgJ2NoYW5nZWQnLCAnbm9uZScpOworICAgICAgICBldmVudFNlbmRlci5t
b3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdjaGFuZ2VkJywg
J25vbmUnKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1v
bWVudHVtUGhhc2VzKDAsIDAsICdlbmRlZCcsICdub25lJyk7CisgICAgICAgIGV2ZW50U2VuZGVy
Lm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAn
YmVnaW4nKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1v
bWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdjb250aW51ZScpOworICAgICAgICBldmVudFNl
bmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgMCwgJ25vbmUn
LCAnZW5kJyk7CisgICAgICAgIGV2ZW50U2VuZGVyLmNhbGxBZnRlclNjcm9sbGluZ0NvbXBsZXRl
cyhjaGVja0ZvclNjcm9sbCk7CisgICAgfQogCi0gICAgICAgIGV2ZW50U2VuZGVyLm1vbml0b3JX
aGVlbEV2ZW50cygpOwotICAgICAgICBzZXRUaW1lb3V0KHNjcm9sbFRlc3QsIDApOwotICAgIH0g
ZWxzZSB7Ci0gICAgICAgIHZhciBtZXNzYWdlTG9jYXRpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgncGFyZW50Jyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnZGl2Jyk7Ci0gICAgICAgIG1lc3NhZ2UuaW5uZXJIVE1MID0gIjxwPlRoaXMgdGVzdCBp
cyBiZXR0ZXIgcnVuIHVuZGVyIER1bXBSZW5kZXJUcmVlLiBUbyBtYW51YWxseSB0ZXN0IGl0LCBw
bGFjZSB0aGUgbW91c2UgcG9pbnRlcjxici8+IgotICAgICAgICAgICAgKyAibmVhciB0aGUgYm90
dG9tIG9mIHRoZSBzY3JvbGxhYmxlIHJlZ2lvbiwgYW5kIHRoZW4gdXNlIHRoZSBtb3VzZSB3aGVl
bCBvciBhIHR3by1maW5nZXIgc3dpcGUgdG8gc2Nyb2xsIHVwLjxici8+PC9ici8+IgotICAgICAg
ICAgICAgKyAiVGhlIHBhZ2Ugc2hvdWxkIG5vdCBzY3JvbGwuPC9wPiI7Ci0gICAgICAgIG1lc3Nh
Z2VMb2NhdGlvbi5hcHBlbmRDaGlsZChtZXNzYWdlKTsKKyAgICBmdW5jdGlvbiBzZXR1cFRvcExl
dmVsKCkKKyAgICB7CisgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAg
ICAgIGV2ZW50U2VuZGVyLm1vbml0b3JXaGVlbEV2ZW50cygpOworICAgICAgICAgICAgc2V0VGlt
ZW91dChzY3JvbGxUZXN0LCAwKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHZhciBt
ZXNzYWdlTG9jYXRpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFyZW50Jyk7CisgICAg
ICAgICAgICB2YXIgbWVzc2FnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAg
ICAgICAgICAgbWVzc2FnZS5pbm5lckhUTUwgPSAiPHA+VGhpcyB0ZXN0IGlzIGJldHRlciBydW4g
dW5kZXIgRHVtcFJlbmRlclRyZWUuIFRvIG1hbnVhbGx5IHRlc3QgaXQsIHBsYWNlIHRoZSBtb3Vz
ZSBwb2ludGVyPGJyLz4iCisgICAgICAgICAgICAgICAgKyAibmVhciB0aGUgYm90dG9tIG9mIHRo
ZSBzY3JvbGxhYmxlIHJlZ2lvbiwgYW5kIHRoZW4gdXNlIHRoZSBtb3VzZSB3aGVlbCBvciBhIHR3
by1maW5nZXIgc3dpcGUgdG8gc2Nyb2xsIHVwLjxici8+PC9ici8+IgorICAgICAgICAgICAgICAg
ICsgIlRoZSBwYWdlIHNob3VsZCBub3Qgc2Nyb2xsLjwvcD4iOworICAgICAgICAgICAgbWVzc2Fn
ZUxvY2F0aW9uLmFwcGVuZENoaWxkKG1lc3NhZ2UpOworICAgICAgICB9CiAgICAgfQotfQogCisg
ICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7CisgICAgICAgIGRvY3Vt
ZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNld2hlZWwiLCBvblNjcm9sbFdoZWVsKTsKKyAgICAg
ICAgc2V0dXBUb3BMZXZlbCgpOworICAgIH0sIGZhbHNlKTsKIDwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+CiA8ZGl2IGlkPSJwYXJlbnQiIHN0eWxlPSJoZWlnaHQ6IDIwMDBweDsgd2lkdGg6IDIw
MDBweDsiPgogICAgIDxkaXYgaWQ9InNvdXJjZSIgc3R5bGU9ImhlaWdodDogMTAwcHg7IHdpZHRo
OiA1MDBweDsiPgogICAgICAgICBQdXQgbW91c2UgaGVyZSBhbmQgZmxpY2sgZG93bndhcmRzCkBA
IC0xMTQsNTEgKzk4LDcgQEAgZnVuY3Rpb24gc2V0dXBUb3BMZXZlbCgpCiAgICAgPGRpdiBjbGFz
cz0ic2Nyb2xsYWJsZV9yZWdpb24iPgogICAgICAgICA8aDM+U2Nyb2xsYWJsZSBSZWdpb248L2gz
PgogICAgICAgICA8ZGl2IGlkPSJ0YXJnZXQiIHN0eWxlPSdvdmVyZmxvdy15OiBhdXRvOyBvdmVy
Zmxvdy14OiBoaWRkZW47IG1heC1oZWlnaHQ6IDM1MHB4Oyc+Ci0gICAgICAgICAgICA8dGFibGUg
Y2xhc3M9InRhYmxlIiBzdHlsZT0nd2lkdGg6IDk5JSc+Ci0gICAgICAgICAgICAgICAgPHRyPjx0
aD5Db3VudDwvdGg+PHRoPkRBVEE8L3RoPjx0aD5SZXYgQ291bnQ8L3RoPjwvdHI+Ci0gICAgICAg
ICAgICAgICAgPHRyPjx0ZD5UT1AgVE9QIFRPUCBUT1AgVE9QPC90ZD48dGQ+VE9QIFRPUCBUT1Ag
VE9QIFRPUDwvdGQ+PHRkPlRPUCBUT1AgVE9QIFRPUCBUT1A8L3RkPjwvdHI+Ci0gICAgICAgICAg
ICAgICAgPHRyPjx0ZD4xPC90ZD48dGQ+MC4xMTAwPC90ZD48dGQ+NDA8L3RkPjwvdHI+Ci0gICAg
ICAgICAgICAgICAgPHRyPjx0ZD4yPC90ZD48dGQ+MC4xMTU1PC90ZD48dGQ+Mzk8L3RkPjwvdHI+
Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4zPC90ZD48dGQ+MC4yMjAwPC90ZD48dGQ+Mzg8L3Rk
PjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD40PC90ZD48dGQ+MC4yMjU1PC90ZD48dGQ+
Mzc8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD41PC90ZD48dGQ+MC4zMzAwPC90
ZD48dGQ+MzY8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD42PC90ZD48dGQ+MC4z
MzU1PC90ZD48dGQ+MzU8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD43PC90ZD48
dGQ+MC40NDAwPC90ZD48dGQ+MzQ8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD44
PC90ZD48dGQ+MC40NDU1PC90ZD48dGQ+MzM8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRy
Pjx0ZD45PC90ZD48dGQ+MC41NTAwPC90ZD48dGQ+MzI8L3RkPjwvdHI+Ci0gICAgICAgICAgICAg
ICAgPHRyPjx0ZD4xMDwvdGQ+PHRkPjAuNTU1NTwvdGQ+PHRkPjMxPC90ZD48L3RyPgotICAgICAg
ICAgICAgICAgIDx0cj48dGQ+MTE8L3RkPjx0ZD4wLjY2MDA8L3RkPjx0ZD4zMDwvdGQ+PC90cj4K
LSAgICAgICAgICAgICAgICA8dHI+PHRkPjEyPC90ZD48dGQ+MC42NjU1PC90ZD48dGQ+Mjk8L3Rk
PjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4xMzwvdGQ+PHRkPjAuNzcwMDwvdGQ+PHRk
PjI4PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MTQ8L3RkPjx0ZD4wLjc3NTU8
L3RkPjx0ZD4yNzwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjE1PC90ZD48dGQ+
MC44ODAwPC90ZD48dGQ+MjY8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4xNjwv
dGQ+PHRkPjAuODg1NTwvdGQ+PHRkPjI1PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48
dGQ+MTc8L3RkPjx0ZD4wLjk5MDA8L3RkPjx0ZD4yNDwvdGQ+PC90cj4KLSAgICAgICAgICAgICAg
ICA8dHI+PHRkPjE4PC90ZD48dGQ+MC45OTU1PC90ZD48dGQ+MjM8L3RkPjwvdHI+Ci0gICAgICAg
ICAgICAgICAgPHRyPjx0ZD4xOTwvdGQ+PHRkPjAuOTk5OTwvdGQ+PHRkPjIyPC90ZD48L3RyPgot
ICAgICAgICAgICAgICAgIDx0cj48dGQ+MjA8L3RkPjx0ZD4xLjAwMDA8L3RkPjx0ZD4yMTwvdGQ+
PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjIxPC90ZD48dGQ+MS4wMDAwPC90ZD48dGQ+
MjA8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4yMjwvdGQ+PHRkPjAuOTk5OTwv
dGQ+PHRkPjE5PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MjM8L3RkPjx0ZD4w
Ljk5NTU8L3RkPjx0ZD4xODwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjI0PC90
ZD48dGQ+MC45OTAwPC90ZD48dGQ+MTc8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0
ZD4yNTwvdGQ+PHRkPjAuODg1NTwvdGQ+PHRkPjE2PC90ZD48L3RyPgotICAgICAgICAgICAgICAg
IDx0cj48dGQ+MjY8L3RkPjx0ZD4wLjg4MDA8L3RkPjx0ZD4xNTwvdGQ+PC90cj4KLSAgICAgICAg
ICAgICAgICA8dHI+PHRkPjI3PC90ZD48dGQ+MC43NzU1PC90ZD48dGQ+MTQ8L3RkPjwvdHI+Ci0g
ICAgICAgICAgICAgICAgPHRyPjx0ZD4yODwvdGQ+PHRkPjAuNzcwMDwvdGQ+PHRkPjEzPC90ZD48
L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+Mjk8L3RkPjx0ZD4wLjY2NTU8L3RkPjx0ZD4x
MjwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjMwPC90ZD48dGQ+MC42NjAwPC90
ZD48dGQ+MTE8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4zMTwvdGQ+PHRkPjAu
NTU1NTwvdGQ+PHRkPjEwPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MzI8L3Rk
Pjx0ZD4wLjU1MDA8L3RkPjx0ZD45PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+
MzM8L3RkPjx0ZD4wLjQ0NTU8L3RkPjx0ZD44PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0
cj48dGQ+MzQ8L3RkPjx0ZD4wLjQ0MDA8L3RkPjx0ZD43PC90ZD48L3RyPgotICAgICAgICAgICAg
ICAgIDx0cj48dGQ+MzU8L3RkPjx0ZD4wLjMzNTU8L3RkPjx0ZD42PC90ZD48L3RyPgotICAgICAg
ICAgICAgICAgIDx0cj48dGQ+MzY8L3RkPjx0ZD4wLjMzMDA8L3RkPjx0ZD41PC90ZD48L3RyPgot
ICAgICAgICAgICAgICAgIDx0cj48dGQ+Mzc8L3RkPjx0ZD4wLjIyNTU8L3RkPjx0ZD40PC90ZD48
L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+Mzg8L3RkPjx0ZD4wLjIyMDA8L3RkPjx0ZD4z
PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+Mzk8L3RkPjx0ZD4wLjExNTU8L3Rk
Pjx0ZD4yPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+NDA8L3RkPjx0ZD4wLjEx
MDA8L3RkPjx0ZD4xPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+RU5EIEVORCBF
TkQgRU5EIEVORDwvdGQ+PHRkPkVORCBFTkQgRU5EIEVORCBFTkQ8L3RkPjx0ZD5FTkQgRU5EIEVO
RCBFTkQgRU5EPC90ZD48L3RyPgotICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgICAgIDxk
aXYgY2xhc3M9InNjcm9sbGVkLWNvbnRlbnQiPlNjcm9sbGVkIGNvbnRlbnQ8L2Rpdj4KICAgICAg
ICAgPC9kaXY+CiAgICAgPC9kaXY+CiA8L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Rp
bGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2Zhc3Qtc2Nyb2xsLWRpdi1sYXRjaGVkLWRpdi5odG1sIGIv
TGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZmFzdC1zY3JvbGwtZGl2LWxhdGNo
ZWQtZGl2Lmh0bWwKaW5kZXggM2EyMjYxYmU0NTlhOGJmZmNjYWE4MjA4N2RlYjQ1ZjEwNTVlODUy
My4uNmRkZmJkZjRlMGI4NWQ0ZDY0MDkzZjk5M2Q2YjhkNjkzMzIyODI5MCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZmFzdC1zY3JvbGwtZGl2LWxhdGNo
ZWQtZGl2Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZmFz
dC1zY3JvbGwtZGl2LWxhdGNoZWQtZGl2Lmh0bWwKQEAgLTYsMTAxICs2LDgyIEBACiAgICAgd2lk
dGg6IDY4MHB4OwogfQogCi0udGFibGUgdGQsIC50YWJsZSB0aCB7Ci0gICAgcGFkZGluZzogMnB4
OworLnNjcm9sbGVkLWNvbnRlbnQgeworICAgIGhlaWdodDogMTAzNnB4OworICAgIHdpZHRoOiAx
MDAlOworICAgIGJhY2tncm91bmQtaW1hZ2U6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoc2ls
dmVyLCB3aGl0ZSAxMjBweCk7CiB9Ci0KLS50YWJsZSB0aCB7Ci0gICAgaGVpZ2h0OiAyMHB4Owot
ICAgIHRleHQtYWxpZ246IGxlZnQ7Ci0gICAgZm9udC13ZWlnaHQ6IHN0cm9uZzsKLX0KLQotLnRh
YmxlIHRyOm50aC1jaGlsZChvZGQpIHsKLSAgICBiYWNrZ3JvdW5kOiAjZjNmM2YzOwotfQotCi0u
c2Nyb2xsYWJsZV9zZWxlY3Qgb3B0aW9uOm50aC1jaGlsZChvZGQpIHsKLSAgICBiYWNrZ3JvdW5k
OiAjZjNmM2YzOwotfQotCiA8L3N0eWxlPgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgotZnVuY3Rpb24gb25Mb2FkKCkgewot
ICAgIHNldHVwVG9wTGV2ZWwoKTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2Fk
PSJvbkxvYWQoKTsiPgotPHNjcmlwdD4KLQotdmFyIGRpdlRhcmdldDsKLXZhciBwYWdlU2Nyb2xs
UG9zaXRpb25CZWZvcmU7Ci12YXIgZGl2U2Nyb2xsUG9zaXRpb25CZWZvcmU7Ci12YXIgY29udGlu
dWVDb3VudCA9IDU7Ci0KLWZ1bmN0aW9uIGNoZWNrRm9yU2Nyb2xsKCkKLXsKLSAgICAvLyBUaGUg
ZGl2IHNob3VsZCBub3QgaGF2ZSBzY3JvbGxlZCBhdCBhbGwuCi0gICAgdmFyIHBhZ2VTY3JvbGxQ
b3NpdGlvbkFmdGVyID0gZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3A7Ci0gICAg
dmFyIGRpdlNjcm9sbFBvc2l0aW9uQWZ0ZXIgPSBkaXZUYXJnZXQuc2Nyb2xsVG9wOwotCi0gICAg
aWYgKHBhZ2VTY3JvbGxQb3NpdGlvbkJlZm9yZSAhPSBwYWdlU2Nyb2xsUG9zaXRpb25BZnRlcikK
LSAgICAgICAgdGVzdEZhaWxlZCgiUGFnZSByZWNlaXZlZCB3aGVlbCBldmVudHMuIik7Ci0gICAg
ZWxzZQotICAgICAgICB0ZXN0UGFzc2VkKCJQYWdlIGRpZCBub3QgcmVjZWl2ZSB3aGVlbCBldmVu
dHMuIik7Ci0KLSAgICBpZiAod2luZG93LmludGVybmFscykgewotICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJUZXh0ID0gaW50ZXJuYWxzLmxheWVyVHJlZUFz
VGV4dChkb2N1bWVudCwKLSAgICAgICAgICAgIGludGVybmFscy5MQVlFUl9UUkVFX0lOQ0xVREVT
X1ZJU0lCTEVfUkVDVFMgfCBpbnRlcm5hbHMuTEFZRVJfVFJFRV9JTkNMVURFU19USUxFX0NBQ0hF
Uyk7CisgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgdmFyIGRpdlRhcmdl
dDsKKyAgICB2YXIgcGFnZVNjcm9sbFBvc2l0aW9uQmVmb3JlOworICAgIHZhciBkaXZTY3JvbGxQ
b3NpdGlvbkJlZm9yZTsKKyAgICB2YXIgY29udGludWVDb3VudCA9IDU7CisKKyAgICBmdW5jdGlv
biBjaGVja0ZvclNjcm9sbCgpCisgICAgeworICAgICAgICAvLyBUaGUgZGl2IHNob3VsZCBub3Qg
aGF2ZSBzY3JvbGxlZCBhdCBhbGwuCisgICAgICAgIHZhciBwYWdlU2Nyb2xsUG9zaXRpb25BZnRl
ciA9IGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wOworICAgICAgICB2YXIgZGl2
U2Nyb2xsUG9zaXRpb25BZnRlciA9IGRpdlRhcmdldC5zY3JvbGxUb3A7CisKKyAgICAgICAgaWYg
KHBhZ2VTY3JvbGxQb3NpdGlvbkJlZm9yZSAhPSBwYWdlU2Nyb2xsUG9zaXRpb25BZnRlcikKKyAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIlBhZ2UgcmVjZWl2ZWQgd2hlZWwgZXZlbnRzLiIpOworICAg
ICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJQYWdlIGRpZCBub3QgcmVjZWl2ZSB3
aGVlbCBldmVudHMuIik7CisKKyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lclRleHQgPSBpbnRl
cm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50LAorICAgICAgICAgICAgICAgIGludGVybmFs
cy5MQVlFUl9UUkVFX0lOQ0xVREVTX1ZJU0lCTEVfUkVDVFMgfCBpbnRlcm5hbHMuTEFZRVJfVFJF
RV9JTkNMVURFU19USUxFX0NBQ0hFUyk7CisgICAgICAgIH0KKworICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKICAgICB9CiAKLSAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rp
b24gc2Nyb2xsVGVzdCgpCi17Ci0gICAgcGFnZVNjcm9sbFBvc2l0aW9uQmVmb3JlID0gZG9jdW1l
bnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3A7Ci0KLSAgICBkaXZUYXJnZXQgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0Jyk7Ci0gICAgZGl2VGFyZ2V0LnNjcm9sbFRvcCA9IGRp
dlRhcmdldC5zY3JvbGxIZWlnaHQgLSBkaXZUYXJnZXQuY2xpZW50SGVpZ2h0IC0gMTAwOwotCi0g
ICAgZGl2U2Nyb2xsUG9zaXRpb25CZWZvcmUgPSBkaXZUYXJnZXQuc2Nyb2xsVG9wOwotCi0gICAg
Ly8gU2Nyb2xsIHRoZSAjc291cmNlIHVudGlsIHdlIHJlYWNoIHRoZSAjdGFyZ2V0LgotICAgIHZh
ciBzdGFydFBvc1ggPSBNYXRoLnJvdW5kKGRpdlRhcmdldC5vZmZzZXRMZWZ0KSArIDIwOwotICAg
IHZhciBzdGFydFBvc1kgPSBNYXRoLnJvdW5kKGRpdlRhcmdldC5vZmZzZXRUb3ApICsgMTAwOyAv
LyBPbmUgd2hlZWwgdHVybiBiZWZvcmUgZW5kLgotICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRv
KHN0YXJ0UG9zWCwgc3RhcnRQb3NZKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0
aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdiZWdhbicsICdub25lJyk7Ci0gICAgZXZl
bnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAn
Y2hhbmdlZCcsICdub25lJyk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVl
bEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnY2hhbmdlZCcsICdub25lJyk7Ci0gICAgZXZlbnRT
ZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIDAsICdlbmRl
ZCcsICdub25lJyk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1v
bWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdiZWdpbicpOwotICAgIGV2ZW50U2VuZGVyLm1v
dXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnY29u
dGludWUnKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50
dW1QaGFzZXMoMCwgMCwgJ25vbmUnLCAnZW5kJyk7Ci0gICAgZXZlbnRTZW5kZXIuY2FsbEFmdGVy
U2Nyb2xsaW5nQ29tcGxldGVzKGNoZWNrRm9yU2Nyb2xsKTsKLX0KLQotZnVuY3Rpb24gc2V0dXBU
b3BMZXZlbCgpCi17Ci0gICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAgICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
CisgICAgZnVuY3Rpb24gc2Nyb2xsVGVzdCgpCisgICAgeworICAgICAgICBwYWdlU2Nyb2xsUG9z
aXRpb25CZWZvcmUgPSBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcDsKKworICAg
ICAgICBkaXZUYXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0Jyk7CisgICAg
ICAgIGRpdlRhcmdldC5zY3JvbGxUb3AgPSBkaXZUYXJnZXQuc2Nyb2xsSGVpZ2h0IC0gZGl2VGFy
Z2V0LmNsaWVudEhlaWdodCAtIDEwMDsKKworICAgICAgICBkaXZTY3JvbGxQb3NpdGlvbkJlZm9y
ZSA9IGRpdlRhcmdldC5zY3JvbGxUb3A7CisKKyAgICAgICAgLy8gU2Nyb2xsIHRoZSAjc291cmNl
IHVudGlsIHdlIHJlYWNoIHRoZSAjdGFyZ2V0LgorICAgICAgICB2YXIgc3RhcnRQb3NYID0gTWF0
aC5yb3VuZChkaXZUYXJnZXQub2Zmc2V0TGVmdCkgKyAyMDsKKyAgICAgICAgdmFyIHN0YXJ0UG9z
WSA9IE1hdGgucm91bmQoZGl2VGFyZ2V0Lm9mZnNldFRvcCkgKyAxMDA7IC8vIE9uZSB3aGVlbCB0
dXJuIGJlZm9yZSBlbmQuCisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHN0YXJ0UG9z
WCwgc3RhcnRQb3NZKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVl
bEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnYmVnYW4nLCAnbm9uZScpOworICAgICAgICBldmVu
dFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdj
aGFuZ2VkJywgJ25vbmUnKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhX
aGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnY2hhbmdlZCcsICdub25lJyk7CisgICAgICAg
IGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAw
LCAnZW5kZWQnLCAnbm9uZScpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0
aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdub25lJywgJ2JlZ2luJyk7CisgICAgICAg
IGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAt
MSwgJ25vbmUnLCAnY29udGludWUnKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxC
eVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIDAsICdub25lJywgJ2VuZCcpOworICAgICAg
ICBldmVudFNlbmRlci5jYWxsQWZ0ZXJTY3JvbGxpbmdDb21wbGV0ZXMoY2hlY2tGb3JTY3JvbGwp
OworICAgIH0KIAotICAgICAgICBldmVudFNlbmRlci5tb25pdG9yV2hlZWxFdmVudHMoKTsKLSAg
ICAgICAgc2V0VGltZW91dChzY3JvbGxUZXN0LCAwKTsKLSAgICB9IGVsc2UgewotICAgICAgICB2
YXIgbWVzc2FnZUxvY2F0aW9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhcmVudCcpOwot
ICAgICAgICB2YXIgbWVzc2FnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAg
ICAgICBtZXNzYWdlLmlubmVySFRNTCA9ICI8cD5UaGlzIHRlc3QgaXMgYmV0dGVyIHJ1biB1bmRl
ciBEdW1wUmVuZGVyVHJlZS4gVG8gbWFudWFsbHkgdGVzdCBpdCwgcGxhY2UgdGhlIG1vdXNlIHBv
aW50ZXI8YnIvPiIKLSAgICAgICAgICAgICsgIm5lYXIgdGhlIGJvdHRvbSBvZiB0aGUgc2Nyb2xs
YWJsZSByZWdpb24gYW5kIHNjcm9sbCB1cC48YnIvPjxici8+IgotICAgICAgICAgICAgKyAiVGhl
IHBhZ2Ugc2hvdWxkIG5vdCBzY3JvbGwuPC9wPiI7Ci0gICAgICAgIG1lc3NhZ2VMb2NhdGlvbi5h
cHBlbmRDaGlsZChtZXNzYWdlKTsKKyAgICBmdW5jdGlvbiBzZXR1cFRvcExldmVsKCkKKyAgICB7
CisgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgICAgIGV2ZW50U2Vu
ZGVyLm1vbml0b3JXaGVlbEV2ZW50cygpOworICAgICAgICAgICAgc2V0VGltZW91dChzY3JvbGxU
ZXN0LCAwKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHZhciBtZXNzYWdlTG9jYXRp
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFyZW50Jyk7CisgICAgICAgICAgICB2YXIg
bWVzc2FnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICAgICAgbWVz
c2FnZS5pbm5lckhUTUwgPSAiPHA+VGhpcyB0ZXN0IGlzIGJldHRlciBydW4gdW5kZXIgRHVtcFJl
bmRlclRyZWUuIFRvIG1hbnVhbGx5IHRlc3QgaXQsIHBsYWNlIHRoZSBtb3VzZSBwb2ludGVyPGJy
Lz4iCisgICAgICAgICAgICAgICAgKyAibmVhciB0aGUgYm90dG9tIG9mIHRoZSBzY3JvbGxhYmxl
IHJlZ2lvbiBhbmQgc2Nyb2xsIHVwLjxici8+PGJyLz4iCisgICAgICAgICAgICAgICAgKyAiVGhl
IHBhZ2Ugc2hvdWxkIG5vdCBzY3JvbGwuPC9wPiI7CisgICAgICAgICAgICBtZXNzYWdlTG9jYXRp
b24uYXBwZW5kQ2hpbGQobWVzc2FnZSk7CisgICAgICAgIH0KICAgICB9Ci19CiAKKyAgICB3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHNldHVwVG9wTGV2ZWwsIGZhbHNlKTsKIDwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+CiA8ZGl2IGlkPSJwYXJlbnQiIHN0eWxlPSJoZWlnaHQ6IDIw
MDBweDsgd2lkdGg6IDIwMDBweDsiPgogICAgIDxkaXYgaWQ9InNvdXJjZSIgc3R5bGU9ImhlaWdo
dDogMTAwcHg7IHdpZHRoOiA1MDBweDsiPgogICAgICAgICBQdXQgbW91c2UgaGVyZSBhbmQgZmxp
Y2sgZG93bndhcmRzCkBAIC0xMDgsNTEgKzg5LDcgQEAgZnVuY3Rpb24gc2V0dXBUb3BMZXZlbCgp
CiAgICAgPGRpdiBjbGFzcz0ic2Nyb2xsYWJsZV9yZWdpb24iPgogICAgICAgICA8aDM+U2Nyb2xs
YWJsZSBSZWdpb248L2gzPgogICAgICAgICA8ZGl2IGlkPSJ0YXJnZXQiIHN0eWxlPSdvdmVyZmxv
dy15OiBhdXRvOyBvdmVyZmxvdy14OiBoaWRkZW47IG1heC1oZWlnaHQ6IDM1MHB4Oyc+Ci0gICAg
ICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIiBzdHlsZT0nd2lkdGg6IDk5JSc+Ci0gICAgICAg
ICAgICAgICAgPHRyPjx0aD5Db3VudDwvdGg+PHRoPkRBVEE8L3RoPjx0aD5SZXYgQ291bnQ8L3Ro
PjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD5UT1AgVE9QIFRPUCBUT1AgVE9QPC90ZD48
dGQ+VE9QIFRPUCBUT1AgVE9QIFRPUDwvdGQ+PHRkPlRPUCBUT1AgVE9QIFRPUCBUT1A8L3RkPjwv
dHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4xPC90ZD48dGQ+MC4xMTAwPC90ZD48dGQ+NDA8
L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4yPC90ZD48dGQ+MC4xMTU1PC90ZD48
dGQ+Mzk8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4zPC90ZD48dGQ+MC4yMjAw
PC90ZD48dGQ+Mzg8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD40PC90ZD48dGQ+
MC4yMjU1PC90ZD48dGQ+Mzc8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD41PC90
ZD48dGQ+MC4zMzAwPC90ZD48dGQ+MzY8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0
ZD42PC90ZD48dGQ+MC4zMzU1PC90ZD48dGQ+MzU8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAg
PHRyPjx0ZD43PC90ZD48dGQ+MC40NDAwPC90ZD48dGQ+MzQ8L3RkPjwvdHI+Ci0gICAgICAgICAg
ICAgICAgPHRyPjx0ZD44PC90ZD48dGQ+MC40NDU1PC90ZD48dGQ+MzM8L3RkPjwvdHI+Ci0gICAg
ICAgICAgICAgICAgPHRyPjx0ZD45PC90ZD48dGQ+MC41NTAwPC90ZD48dGQ+MzI8L3RkPjwvdHI+
Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4xMDwvdGQ+PHRkPjAuNTU1NTwvdGQ+PHRkPjMxPC90
ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MTE8L3RkPjx0ZD4wLjY2MDA8L3RkPjx0
ZD4zMDwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjEyPC90ZD48dGQ+MC42NjU1
PC90ZD48dGQ+Mjk8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4xMzwvdGQ+PHRk
PjAuNzcwMDwvdGQ+PHRkPjI4PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MTQ8
L3RkPjx0ZD4wLjc3NTU8L3RkPjx0ZD4yNzwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+
PHRkPjE1PC90ZD48dGQ+MC44ODAwPC90ZD48dGQ+MjY8L3RkPjwvdHI+Ci0gICAgICAgICAgICAg
ICAgPHRyPjx0ZD4xNjwvdGQ+PHRkPjAuODg1NTwvdGQ+PHRkPjI1PC90ZD48L3RyPgotICAgICAg
ICAgICAgICAgIDx0cj48dGQ+MTc8L3RkPjx0ZD4wLjk5MDA8L3RkPjx0ZD4yNDwvdGQ+PC90cj4K
LSAgICAgICAgICAgICAgICA8dHI+PHRkPjE4PC90ZD48dGQ+MC45OTU1PC90ZD48dGQ+MjM8L3Rk
PjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4xOTwvdGQ+PHRkPjAuOTk5OTwvdGQ+PHRk
PjIyPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MjA8L3RkPjx0ZD4xLjAwMDA8
L3RkPjx0ZD4yMTwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjIxPC90ZD48dGQ+
MS4wMDAwPC90ZD48dGQ+MjA8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4yMjwv
dGQ+PHRkPjAuOTk5OTwvdGQ+PHRkPjE5PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48
dGQ+MjM8L3RkPjx0ZD4wLjk5NTU8L3RkPjx0ZD4xODwvdGQ+PC90cj4KLSAgICAgICAgICAgICAg
ICA8dHI+PHRkPjI0PC90ZD48dGQ+MC45OTAwPC90ZD48dGQ+MTc8L3RkPjwvdHI+Ci0gICAgICAg
ICAgICAgICAgPHRyPjx0ZD4yNTwvdGQ+PHRkPjAuODg1NTwvdGQ+PHRkPjE2PC90ZD48L3RyPgot
ICAgICAgICAgICAgICAgIDx0cj48dGQ+MjY8L3RkPjx0ZD4wLjg4MDA8L3RkPjx0ZD4xNTwvdGQ+
PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjI3PC90ZD48dGQ+MC43NzU1PC90ZD48dGQ+
MTQ8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4yODwvdGQ+PHRkPjAuNzcwMDwv
dGQ+PHRkPjEzPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+Mjk8L3RkPjx0ZD4w
LjY2NTU8L3RkPjx0ZD4xMjwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjMwPC90
ZD48dGQ+MC42NjAwPC90ZD48dGQ+MTE8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0
ZD4zMTwvdGQ+PHRkPjAuNTU1NTwvdGQ+PHRkPjEwPC90ZD48L3RyPgotICAgICAgICAgICAgICAg
IDx0cj48dGQ+MzI8L3RkPjx0ZD4wLjU1MDA8L3RkPjx0ZD45PC90ZD48L3RyPgotICAgICAgICAg
ICAgICAgIDx0cj48dGQ+MzM8L3RkPjx0ZD4wLjQ0NTU8L3RkPjx0ZD44PC90ZD48L3RyPgotICAg
ICAgICAgICAgICAgIDx0cj48dGQ+MzQ8L3RkPjx0ZD4wLjQ0MDA8L3RkPjx0ZD43PC90ZD48L3Ry
PgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MzU8L3RkPjx0ZD4wLjMzNTU8L3RkPjx0ZD42PC90
ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MzY8L3RkPjx0ZD4wLjMzMDA8L3RkPjx0
ZD41PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+Mzc8L3RkPjx0ZD4wLjIyNTU8
L3RkPjx0ZD40PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+Mzg8L3RkPjx0ZD4w
LjIyMDA8L3RkPjx0ZD4zPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+Mzk8L3Rk
Pjx0ZD4wLjExNTU8L3RkPjx0ZD4yPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+
NDA8L3RkPjx0ZD4wLjExMDA8L3RkPjx0ZD4xPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0
cj48dGQ+RU5EIEVORCBFTkQgRU5EIEVORDwvdGQ+PHRkPkVORCBFTkQgRU5EIEVORCBFTkQ8L3Rk
Pjx0ZD5FTkQgRU5EIEVORCBFTkQgRU5EPC90ZD48L3RyPgotICAgICAgICAgICAgPC90YWJsZT4K
KyAgICAgICAgICAgIDxkaXYgY2xhc3M9InNjcm9sbGVkLWNvbnRlbnQiPlNjcm9sbGVkIGNvbnRl
bnQ8L2Rpdj4KICAgICAgICAgPC9kaXY+CiAgICAgPC9kaXY+CiA8L2Rpdj4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2Zhc3Qtc2Nyb2xsLWRpdi1sYXRj
aGVkLW1haW5mcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Nj
cm9sbGluZy9mYXN0LXNjcm9sbC1kaXYtbGF0Y2hlZC1tYWluZnJhbWUtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGZkN2ZmOGYxMjA3NWZhMGNmYWM4NTg1NTgwOGJiYTY3M2IxOTYxN2YuLmZhYWRiOWFhMzU5
YzU5Nzg2ZDU5NzMzODBkNDNmN2I5MTAzYjk4NjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Rp
bGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2Zhc3Qtc2Nyb2xsLWRpdi1sYXRjaGVkLW1haW5mcmFtZS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZmFz
dC1zY3JvbGwtZGl2LWxhdGNoZWQtbWFpbmZyYW1lLWV4cGVjdGVkLnR4dApAQCAtMSw2OCArMSwy
NiBAQAogUHV0IG1vdXNlIGhlcmUgYW5kIGZsaWNrIGRvd253YXJkcwogU2Nyb2xsYWJsZSBSZWdp
b24KIAotQ291bnQJREFUQQlSZXYgQ291bnQKLVRPUCBUT1AgVE9QIFRPUCBUT1AJVE9QIFRPUCBU
T1AgVE9QIFRPUAlUT1AgVE9QIFRPUCBUT1AgVE9QCi0xCTAuMTEwMAk0MAotMgkwLjExNTUJMzkK
LTMJMC4yMjAwCTM4Ci00CTAuMjI1NQkzNwotNQkwLjMzMDAJMzYKLTYJMC4zMzU1CTM1Ci03CTAu
NDQwMAkzNAotOAkwLjQ0NTUJMzMKLTkJMC41NTAwCTMyCi0xMAkwLjU1NTUJMzEKLTExCTAuNjYw
MAkzMAotMTIJMC42NjU1CTI5Ci0xMwkwLjc3MDAJMjgKLTE0CTAuNzc1NQkyNwotMTUJMC44ODAw
CTI2Ci0xNgkwLjg4NTUJMjUKLTE3CTAuOTkwMAkyNAotMTgJMC45OTU1CTIzCi0xOQkwLjk5OTkJ
MjIKLTIwCTEuMDAwMAkyMQotMjEJMS4wMDAwCTIwCi0yMgkwLjk5OTkJMTkKLTIzCTAuOTk1NQkx
OAotMjQJMC45OTAwCTE3Ci0yNQkwLjg4NTUJMTYKLTI2CTAuODgwMAkxNQotMjcJMC43NzU1CTE0
Ci0yOAkwLjc3MDAJMTMKLTI5CTAuNjY1NQkxMgotMzAJMC42NjAwCTExCi0zMQkwLjU1NTUJMTAK
LTMyCTAuNTUwMAk5Ci0zMwkwLjQ0NTUJOAotMzQJMC40NDAwCTcKLTM1CTAuMzM1NQk2Ci0zNgkw
LjMzMDAJNQotMzcJMC4yMjU1CTQKLTM4CTAuMjIwMAkzCi0zOQkwLjExNTUJMgotNDAJMC4xMTAw
CTEKLUVORCBFTkQgRU5EIEVORCBFTkQJRU5EIEVORCBFTkQgRU5EIEVORAlFTkQgRU5EIEVORCBF
TkQgRU5ECitTY3JvbGxlZCBjb250ZW50CiBUZXN0cyB0aGF0IGEgc2Nyb2xsYWJsZSBkaXYgZG9l
c24ndCBjb25zdW1lIHdoZWVsIGV2ZW50cyB3aGVuIHNjcm9sbCBpcyBsYXRjaGVkIHRvIG1haW4g
ZnJhbWUuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCitQQVNTIFNjcm9sbGFibGUg
ZGl2IGRpZCBub3QgcmVjZWl2ZSB3aGVlbCBldmVudHMuCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKLVBBU1MgU2Nyb2xsYWJsZSBkaXYgZGlkIG5vdCBy
ZWNlaXZlIHdoZWVsIGV2ZW50cy4KIChHcmFwaGljc0xheWVyCiAgIChhbmNob3IgMC4wMCAwLjAw
KQotICAoYm91bmRzIDIwMDguMDAgMjI2Ni4wMCkKKyAgKGJvdW5kcyAyMDA4LjAwIDIyMjEuMDAp
CiAgICh2aXNpYmxlIHJlY3QgMC4wMCwgNzAuMDAgNzg1LjAwIHggNTg1LjAwKQogICAoY292ZXJh
Z2UgcmVjdCAwLjAwLCA3MC4wMCA3ODUuMDAgeCA1ODUuMDApCiAgIChpbnRlcnNlY3RzIGNvdmVy
YWdlIHJlY3QgMSkKICAgKGNvbnRlbnRzU2NhbGUgMS4wMCkKICAgKGNoaWxkcmVuIDEKICAgICAo
R3JhcGhpY3NMYXllcgotICAgICAgKGJvdW5kcyAyMDA4LjAwIDIyNjYuMDApCisgICAgICAoYm91
bmRzIDIwMDguMDAgMjIyMS4wMCkKICAgICAgIChjb250ZW50c09wYXF1ZSAxKQogICAgICAgKHZp
c2libGUgcmVjdCAwLjAwLCA3MC4wMCA3ODUuMDAgeCA1ODUuMDApCiAgICAgICAoY292ZXJhZ2Ug
cmVjdCAwLjAwLCAwLjAwIDE1NzAuMDAgeCAxNzU1LjAwKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZmFzdC1zY3JvbGwtZGl2LWxhdGNoZWQtbWFpbmZy
YW1lLXdpdGgtaGFuZGxlci5odG1sIGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxp
bmcvZmFzdC1zY3JvbGwtZGl2LWxhdGNoZWQtbWFpbmZyYW1lLXdpdGgtaGFuZGxlci5odG1sCmlu
ZGV4IGEyYmFhNWNhNDQzYTlhNzY2YzkxMGMyNmEwZDU1MzE5YzlhMzMyYWIuLjQ2Y2ZlNTBlOTAy
ZTIxZmU1OTYzODE0Mjg5NjViMDE5NGQwYzQyNDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Rp
bGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2Zhc3Qtc2Nyb2xsLWRpdi1sYXRjaGVkLW1haW5mcmFtZS13
aXRoLWhhbmRsZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGlu
Zy9mYXN0LXNjcm9sbC1kaXYtbGF0Y2hlZC1tYWluZnJhbWUtd2l0aC1oYW5kbGVyLmh0bWwKQEAg
LTYsMTIzICs2LDExMCBAQAogICAgIHdpZHRoOiA2ODBweDsKIH0KIAotLnRhYmxlIHRkLCAudGFi
bGUgdGggewotICAgIHBhZGRpbmc6IDJweDsKKy5zY3JvbGxlZC1jb250ZW50IHsKKyAgICBoZWln
aHQ6IDEwMzZweDsKKyAgICB3aWR0aDogMTAwJTsKKyAgICBiYWNrZ3JvdW5kLWltYWdlOiByZXBl
YXRpbmctbGluZWFyLWdyYWRpZW50KHNpbHZlciwgd2hpdGUgMTIwcHgpOwogfQorPC9zdHlsZT4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdD4KKyAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiAKLS50YWJsZSB0aCB7
Ci0gICAgaGVpZ2h0OiAyMHB4OwotICAgIHRleHQtYWxpZ246IGxlZnQ7Ci0gICAgZm9udC13ZWln
aHQ6IHN0cm9uZzsKLX0KKyAgICB2YXIgZGl2VGFyZ2V0OworICAgIHZhciBwYWdlU2Nyb2xsUG9z
aXRpb25CZWZvcmU7CisgICAgdmFyIGRpdlNjcm9sbFBvc2l0aW9uQmVmb3JlOworICAgIHZhciBj
b250aW51ZUNvdW50ID0gNTsKIAotLnRhYmxlIHRyOm50aC1jaGlsZChvZGQpIHsKLSAgICBiYWNr
Z3JvdW5kOiAjZjNmM2YzOwotfQorICAgIHZhciB3aGVlbENvdW50ID0gMDsKKyAgICBmdW5jdGlv
biBvblNjcm9sbFdoZWVsKGV2dCkKKyAgICB7CisgICAgICAgIHdoZWVsQ291bnQgPSB3aGVlbENv
dW50ICsgMTsKKyAgICB9CiAKLS5zY3JvbGxhYmxlX3NlbGVjdCBvcHRpb246bnRoLWNoaWxkKG9k
ZCkgewotICAgIGJhY2tncm91bmQ6ICNmM2YzZjM7Ci19CisgICAgZnVuY3Rpb24gb25QYWdlU2Ny
b2xsKCkKKyAgICB7CisgICAgICAgIGlmIChkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9s
bFRvcCA+PSA3MCkKKyAgICAgICAgICAgIGNoZWNrRm9yU2Nyb2xsKCk7CisgICAgfQogCi08L3N0
eWxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0PgotdmFyIHdoZWVsQ291bnQgPSAwOwotZnVuY3Rpb24gb25TY3JvbGxXaGVl
bChldnQpIHsKLSAgICB3aGVlbENvdW50ID0gd2hlZWxDb3VudCArIDE7Ci19CisgICAgbGV0IGRp
ZENoZWNrRm9yU2Nyb2xsID0gZmFsc2U7CisgICAgZnVuY3Rpb24gY2hlY2tGb3JTY3JvbGwoKQor
ICAgIHsKKyAgICAgICAgaWYgKGRpZENoZWNrRm9yU2Nyb2xsKQorICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICBkaWRDaGVja0ZvclNjcm9sbCA9IHRydWU7CiAKLWZ1bmN0aW9uIG9uTG9hZCgp
IHsKLSAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXdoZWVsIiwgb25TY3JvbGxX
aGVlbCk7Ci0gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIG9uUGFnZVNjcm9s
bCk7Ci0gICAgc2V0dXBUb3BMZXZlbCgpOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBv
bmxvYWQ9Im9uTG9hZCgpOyI+Ci08c2NyaXB0PgorICAgICAgICAvLyBUaGUgZGl2IHNob3VsZCBu
b3QgaGF2ZSBzY3JvbGxlZCBhdCBhbGwuCisgICAgICAgIHZhciBwYWdlU2Nyb2xsUG9zaXRpb25B
ZnRlciA9IGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wOworICAgICAgICB2YXIg
ZGl2U2Nyb2xsUG9zaXRpb25BZnRlciA9IGRpdlRhcmdldC5zY3JvbGxUb3A7CiAKLXZhciBkaXZU
YXJnZXQ7Ci12YXIgcGFnZVNjcm9sbFBvc2l0aW9uQmVmb3JlOwotdmFyIGRpdlNjcm9sbFBvc2l0
aW9uQmVmb3JlOwotdmFyIGNvbnRpbnVlQ291bnQgPSA1OworICAgICAgICBpZiAoZGl2U2Nyb2xs
UG9zaXRpb25CZWZvcmUgIT0gZGl2U2Nyb2xsUG9zaXRpb25BZnRlcikKKyAgICAgICAgICAgIHRl
c3RGYWlsZWQoIlNjcm9sbGFibGUgZGl2IGNvbnN1bWVkIHdoZWVsIGV2ZW50cy4iKTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgiU2Nyb2xsYWJsZSBkaXYgZGlkIG5vdCBy
ZWNlaXZlIHdoZWVsIGV2ZW50cy4iKTsKIAotZnVuY3Rpb24gb25QYWdlU2Nyb2xsKCkKLXsKLSAg
ICBpZiAoZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPj0gNzApCi0gICAgICAg
IGNoZWNrRm9yU2Nyb2xsKCk7Ci19CisgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJUZXh0ID0g
aW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCwKKyAgICAgICAgICAgICAgICBpbnRl
cm5hbHMuTEFZRVJfVFJFRV9JTkNMVURFU19WSVNJQkxFX1JFQ1RTIHwgaW50ZXJuYWxzLkxBWUVS
X1RSRUVfSU5DTFVERVNfVElMRV9DQUNIRVMpOworICAgICAgICB9CiAKLWxldCBkaWRDaGVja0Zv
clNjcm9sbCA9IGZhbHNlOwotZnVuY3Rpb24gY2hlY2tGb3JTY3JvbGwoKQotewotICAgIGlmIChk
aWRDaGVja0ZvclNjcm9sbCkKLSAgICAgICAgcmV0dXJuOwotICAgIGRpZENoZWNrRm9yU2Nyb2xs
ID0gdHJ1ZTsKLQotICAgIC8vIFRoZSBkaXYgc2hvdWxkIG5vdCBoYXZlIHNjcm9sbGVkIGF0IGFs
bC4KLSAgICB2YXIgcGFnZVNjcm9sbFBvc2l0aW9uQWZ0ZXIgPSBkb2N1bWVudC5zY3JvbGxpbmdF
bGVtZW50LnNjcm9sbFRvcDsKLSAgICB2YXIgZGl2U2Nyb2xsUG9zaXRpb25BZnRlciA9IGRpdlRh
cmdldC5zY3JvbGxUb3A7Ci0KLSAgICBpZiAoZGl2U2Nyb2xsUG9zaXRpb25CZWZvcmUgIT0gZGl2
U2Nyb2xsUG9zaXRpb25BZnRlcikKLSAgICAgICAgdGVzdEZhaWxlZCgiU2Nyb2xsYWJsZSBkaXYg
Y29uc3VtZWQgd2hlZWwgZXZlbnRzLiIpOwotICAgIGVsc2UKLSAgICAgICAgdGVzdFBhc3NlZCgi
U2Nyb2xsYWJsZSBkaXYgZGlkIG5vdCByZWNlaXZlIHdoZWVsIGV2ZW50cy4iKTsKLQotICAgIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCds
YXllcnMnKS5pbm5lclRleHQgPSBpbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50LAot
ICAgICAgICAgICAgaW50ZXJuYWxzLkxBWUVSX1RSRUVfSU5DTFVERVNfVklTSUJMRV9SRUNUUyB8
IGludGVybmFscy5MQVlFUl9UUkVFX0lOQ0xVREVTX1RJTEVfQ0FDSEVTKTsKKyAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CiAgICAgfQogCi0gICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19Ci0K
LWZ1bmN0aW9uIHNjcm9sbFRlc3QoKQotewotICAgIHBhZ2VTY3JvbGxQb3NpdGlvbkJlZm9yZSA9
IGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wOwotCi0gICAgZGl2VGFyZ2V0ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldCcpOwotCi0gICAgZGl2U2Nyb2xsUG9zaXRp
b25CZWZvcmUgPSBkaXZUYXJnZXQuc2Nyb2xsVG9wOwotCi0gICAgLy8gU2Nyb2xsIHRoZSAjc291
cmNlIHVudGlsIHdlIHJlYWNoIHRoZSAjdGFyZ2V0LgotICAgIHZhciBzdGFydFBvc1ggPSBNYXRo
LnJvdW5kKGRpdlRhcmdldC5vZmZzZXRMZWZ0KSArIDIwOwotICAgIHZhciBzdGFydFBvc1kgPSBN
YXRoLnJvdW5kKGRpdlRhcmdldC5vZmZzZXRUb3ApIC0gNDI7Ci0gICAgZXZlbnRTZW5kZXIubW91
c2VNb3ZlVG8oc3RhcnRQb3NYLCBzdGFydFBvc1kpOwotICAgIGRlYnVnKCJNb3VzZSBtb3ZlZCB0
byAoIiArIHN0YXJ0UG9zWCArICIsICIgKyBzdGFydFBvc1kgKyAiKSIpOwotICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ2JlZ2Fu
JywgJ25vbmUnKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9t
ZW50dW1QaGFzZXMoMCwgLTEsICdjaGFuZ2VkJywgJ25vbmUnKTsKLSAgICBldmVudFNlbmRlci5t
b3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdjaGFuZ2VkJywg
J25vbmUnKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50
dW1QaGFzZXMoMCwgMCwgJ2VuZGVkJywgJ25vbmUnKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNj
cm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdub25lJywgJ2JlZ2luJyk7
Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2Vz
KDAsIC00LCAnbm9uZScsICdjb250aW51ZScpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xs
QnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAwLCAnbm9uZScsICdlbmQnKTsKLSAgICBl
dmVudFNlbmRlci5jYWxsQWZ0ZXJTY3JvbGxpbmdDb21wbGV0ZXMoKCkgPT4gewotICAgICAgICBy
ZXF1ZXN0QW5pbWF0aW9uRnJhbWUoY2hlY2tGb3JTY3JvbGwpOwotICAgIH0pOwotICAgIC8vIFdl
IHNob3VsZCBmaW5pc2ggdmlhIHRoZSBzY3JvbGwgZXZlbnQ7IHRoaXMgd2lsbCBmaXJlIGluIHRo
ZSBjYXNlIG9mIGZhaWx1cmUgd2hlbiB0aGUgcGFnZSBkb2Vzbid0IHNjcm9sbC4KLX0KKyAgICBm
dW5jdGlvbiBzY3JvbGxUZXN0KCkKKyAgICB7CisgICAgICAgIHBhZ2VTY3JvbGxQb3NpdGlvbkJl
Zm9yZSA9IGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wOworCisgICAgICAgIGRp
dlRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKTsKKworICAgICAgICBk
aXZTY3JvbGxQb3NpdGlvbkJlZm9yZSA9IGRpdlRhcmdldC5zY3JvbGxUb3A7CisKKyAgICAgICAg
Ly8gU2Nyb2xsIHRoZSAjc291cmNlIHVudGlsIHdlIHJlYWNoIHRoZSAjdGFyZ2V0LgorICAgICAg
ICB2YXIgc3RhcnRQb3NYID0gTWF0aC5yb3VuZChkaXZUYXJnZXQub2Zmc2V0TGVmdCkgKyAyMDsK
KyAgICAgICAgdmFyIHN0YXJ0UG9zWSA9IE1hdGgucm91bmQoZGl2VGFyZ2V0Lm9mZnNldFRvcCkg
LSA0MjsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oc3RhcnRQb3NYLCBzdGFydFBv
c1kpOworICAgICAgICBkZWJ1ZygiTW91c2UgbW92ZWQgdG8gKCIgKyBzdGFydFBvc1ggKyAiLCAi
ICsgc3RhcnRQb3NZICsgIikiKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdp
dGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnYmVnYW4nLCAnbm9uZScpOworICAgICAg
ICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwg
LTEsICdjaGFuZ2VkJywgJ25vbmUnKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxC
eVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnY2hhbmdlZCcsICdub25lJyk7Cisg
ICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNl
cygwLCAwLCAnZW5kZWQnLCAnbm9uZScpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9s
bEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdub25lJywgJ2JlZ2luJyk7Cisg
ICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNl
cygwLCAtNCwgJ25vbmUnLCAnY29udGludWUnKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VT
Y3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIDAsICdub25lJywgJ2VuZCcpOwor
ICAgICAgICBldmVudFNlbmRlci5jYWxsQWZ0ZXJTY3JvbGxpbmdDb21wbGV0ZXMoKCkgPT4gewor
ICAgICAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGNoZWNrRm9yU2Nyb2xsKTsKKyAgICAg
ICAgfSk7CisgICAgICAgIC8vIFdlIHNob3VsZCBmaW5pc2ggdmlhIHRoZSBzY3JvbGwgZXZlbnQ7
IHRoaXMgd2lsbCBmaXJlIGluIHRoZSBjYXNlIG9mIGZhaWx1cmUgd2hlbiB0aGUgcGFnZSBkb2Vz
bid0IHNjcm9sbC4KKyAgICB9CiAKLWZ1bmN0aW9uIHNldHVwVG9wTGV2ZWwoKQotewotICAgIGlm
ICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
Ci0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotCi0gICAgICAgIGV2ZW50U2Vu
ZGVyLm1vbml0b3JXaGVlbEV2ZW50cygpOwotICAgICAgICBzZXRUaW1lb3V0KHNjcm9sbFRlc3Qs
IDApOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHZhciBtZXNzYWdlTG9jYXRpb24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgncGFyZW50Jyk7Ci0gICAgICAgIHZhciBtZXNzYWdlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0gICAgICAgIG1lc3NhZ2UuaW5uZXJIVE1MID0gIjxw
PlRoaXMgdGVzdCBpcyBiZXR0ZXIgcnVuIHVuZGVyIER1bXBSZW5kZXJUcmVlLiBUbyBtYW51YWxs
eSB0ZXN0IGl0LCBwbGFjZSB0aGUgbW91c2UgcG9pbnRlcjxici8+IgotICAgICAgICAgICAgKyAi
YXQgdGhlIHRvcCBvZiB0aGUgcGFnZSwgYW5kIHRoZW4gdXNlIHRoZSBtb3VzZSB3aGVlbCBvciBh
IHR3by1maW5nZXIgc3dpcGUgdG8gc2Nyb2xsIHRoZTxici8+IgotICAgICAgICAgICAgKyAiZG93
biBwYXN0IHRoZSBkaXYuPGJyLz48YnIvPiIKLSAgICAgICAgICAgICsgIlRoZSBzY3JvbGxhYmxl
IHJlZ2lvbiBzaG91bGQgbm90IHNjcm9sbC48L3A+IjsKLSAgICAgICAgbWVzc2FnZUxvY2F0aW9u
LmFwcGVuZENoaWxkKG1lc3NhZ2UpOworICAgIGZ1bmN0aW9uIHNldHVwVG9wTGV2ZWwoKQorICAg
IHsKKyAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKKworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW9uaXRvcldoZWVsRXZlbnRzKCk7CisgICAg
ICAgICAgICBzZXRUaW1lb3V0KHNjcm9sbFRlc3QsIDApOworICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgdmFyIG1lc3NhZ2VMb2NhdGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdw
YXJlbnQnKTsKKyAgICAgICAgICAgIHZhciBtZXNzYWdlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGl2Jyk7CisgICAgICAgICAgICBtZXNzYWdlLmlubmVySFRNTCA9ICI8cD5UaGlzIHRlc3Qg
aXMgYmV0dGVyIHJ1biB1bmRlciBEdW1wUmVuZGVyVHJlZS4gVG8gbWFudWFsbHkgdGVzdCBpdCwg
cGxhY2UgdGhlIG1vdXNlIHBvaW50ZXI8YnIvPiIKKyAgICAgICAgICAgICAgICArICJhdCB0aGUg
dG9wIG9mIHRoZSBwYWdlLCBhbmQgdGhlbiB1c2UgdGhlIG1vdXNlIHdoZWVsIG9yIGEgdHdvLWZp
bmdlciBzd2lwZSB0byBzY3JvbGwgdGhlPGJyLz4iCisgICAgICAgICAgICAgICAgKyAiZG93biBw
YXN0IHRoZSBkaXYuPGJyLz48YnIvPiIKKyAgICAgICAgICAgICAgICArICJUaGUgc2Nyb2xsYWJs
ZSByZWdpb24gc2hvdWxkIG5vdCBzY3JvbGwuPC9wPiI7CisgICAgICAgICAgICBtZXNzYWdlTG9j
YXRpb24uYXBwZW5kQ2hpbGQobWVzc2FnZSk7CisgICAgICAgIH0KICAgICB9Ci19CiAKKyAgICB3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+IHsKKyAgICAgICAgZG9jdW1lbnQu
YWRkRXZlbnRMaXN0ZW5lcigibW91c2V3aGVlbCIsIG9uU2Nyb2xsV2hlZWwpOworICAgICAgICB3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgb25QYWdlU2Nyb2xsKTsKKyAgICAgICAg
c2V0dXBUb3BMZXZlbCgpOworICAgIH0sIGZhbHNlKTsKIDwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+CiA8ZGl2IGlkPSJwYXJlbnQiIHN0eWxlPSJoZWlnaHQ6IDIwMDBweDsgd2lkdGg6IDIwMDBw
eDsiPgogICAgIDxkaXYgaWQ9InNvdXJjZSIgc3R5bGU9ImhlaWdodDogMTAwcHg7IHdpZHRoOiA1
MDBweDsiPgogICAgICAgICBQdXQgbW91c2UgaGVyZSBhbmQgZmxpY2sgZG93bndhcmRzCkBAIC0x
MzAsNTEgKzExNyw3IEBAIGZ1bmN0aW9uIHNldHVwVG9wTGV2ZWwoKQogICAgIDxkaXYgY2xhc3M9
InNjcm9sbGFibGVfcmVnaW9uIj4KICAgICAgICAgPGgzPlNjcm9sbGFibGUgUmVnaW9uPC9oMz4K
ICAgICAgICAgPGRpdiBpZD0idGFyZ2V0IiBzdHlsZT0nb3ZlcmZsb3cteTogYXV0bzsgb3ZlcmZs
b3cteDogaGlkZGVuOyBoZWlnaHQ6IDM1MHB4Oyc+Ci0gICAgICAgICAgICA8dGFibGUgY2xhc3M9
InRhYmxlIiBzdHlsZT0nd2lkdGg6IDk5JSc+Ci0gICAgICAgICAgICAgICAgPHRyPjx0aD5Db3Vu
dDwvdGg+PHRoPkRBVEE8L3RoPjx0aD5SZXYgQ291bnQ8L3RoPjwvdHI+Ci0gICAgICAgICAgICAg
ICAgPHRyPjx0ZD5UT1AgVE9QIFRPUCBUT1AgVE9QPC90ZD48dGQ+VE9QIFRPUCBUT1AgVE9QIFRP
UDwvdGQ+PHRkPlRPUCBUT1AgVE9QIFRPUCBUT1A8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAg
PHRyPjx0ZD4xPC90ZD48dGQ+MC4xMTAwPC90ZD48dGQ+NDA8L3RkPjwvdHI+Ci0gICAgICAgICAg
ICAgICAgPHRyPjx0ZD4yPC90ZD48dGQ+MC4xMTU1PC90ZD48dGQ+Mzk8L3RkPjwvdHI+Ci0gICAg
ICAgICAgICAgICAgPHRyPjx0ZD4zPC90ZD48dGQ+MC4yMjAwPC90ZD48dGQ+Mzg8L3RkPjwvdHI+
Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD40PC90ZD48dGQ+MC4yMjU1PC90ZD48dGQ+Mzc8L3Rk
PjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD41PC90ZD48dGQ+MC4zMzAwPC90ZD48dGQ+
MzY8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD42PC90ZD48dGQ+MC4zMzU1PC90
ZD48dGQ+MzU8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD43PC90ZD48dGQ+MC40
NDAwPC90ZD48dGQ+MzQ8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD44PC90ZD48
dGQ+MC40NDU1PC90ZD48dGQ+MzM8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD45
PC90ZD48dGQ+MC41NTAwPC90ZD48dGQ+MzI8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRy
Pjx0ZD4xMDwvdGQ+PHRkPjAuNTU1NTwvdGQ+PHRkPjMxPC90ZD48L3RyPgotICAgICAgICAgICAg
ICAgIDx0cj48dGQ+MTE8L3RkPjx0ZD4wLjY2MDA8L3RkPjx0ZD4zMDwvdGQ+PC90cj4KLSAgICAg
ICAgICAgICAgICA8dHI+PHRkPjEyPC90ZD48dGQ+MC42NjU1PC90ZD48dGQ+Mjk8L3RkPjwvdHI+
Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4xMzwvdGQ+PHRkPjAuNzcwMDwvdGQ+PHRkPjI4PC90
ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MTQ8L3RkPjx0ZD4wLjc3NTU8L3RkPjx0
ZD4yNzwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjE1PC90ZD48dGQ+MC44ODAw
PC90ZD48dGQ+MjY8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4xNjwvdGQ+PHRk
PjAuODg1NTwvdGQ+PHRkPjI1PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MTc8
L3RkPjx0ZD4wLjk5MDA8L3RkPjx0ZD4yNDwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+
PHRkPjE4PC90ZD48dGQ+MC45OTU1PC90ZD48dGQ+MjM8L3RkPjwvdHI+Ci0gICAgICAgICAgICAg
ICAgPHRyPjx0ZD4xOTwvdGQ+PHRkPjAuOTk5OTwvdGQ+PHRkPjIyPC90ZD48L3RyPgotICAgICAg
ICAgICAgICAgIDx0cj48dGQ+MjA8L3RkPjx0ZD4xLjAwMDA8L3RkPjx0ZD4yMTwvdGQ+PC90cj4K
LSAgICAgICAgICAgICAgICA8dHI+PHRkPjIxPC90ZD48dGQ+MS4wMDAwPC90ZD48dGQ+MjA8L3Rk
PjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4yMjwvdGQ+PHRkPjAuOTk5OTwvdGQ+PHRk
PjE5PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MjM8L3RkPjx0ZD4wLjk5NTU8
L3RkPjx0ZD4xODwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjI0PC90ZD48dGQ+
MC45OTAwPC90ZD48dGQ+MTc8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4yNTwv
dGQ+PHRkPjAuODg1NTwvdGQ+PHRkPjE2PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48
dGQ+MjY8L3RkPjx0ZD4wLjg4MDA8L3RkPjx0ZD4xNTwvdGQ+PC90cj4KLSAgICAgICAgICAgICAg
ICA8dHI+PHRkPjI3PC90ZD48dGQ+MC43NzU1PC90ZD48dGQ+MTQ8L3RkPjwvdHI+Ci0gICAgICAg
ICAgICAgICAgPHRyPjx0ZD4yODwvdGQ+PHRkPjAuNzcwMDwvdGQ+PHRkPjEzPC90ZD48L3RyPgot
ICAgICAgICAgICAgICAgIDx0cj48dGQ+Mjk8L3RkPjx0ZD4wLjY2NTU8L3RkPjx0ZD4xMjwvdGQ+
PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjMwPC90ZD48dGQ+MC42NjAwPC90ZD48dGQ+
MTE8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4zMTwvdGQ+PHRkPjAuNTU1NTwv
dGQ+PHRkPjEwPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MzI8L3RkPjx0ZD4w
LjU1MDA8L3RkPjx0ZD45PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MzM8L3Rk
Pjx0ZD4wLjQ0NTU8L3RkPjx0ZD44PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+
MzQ8L3RkPjx0ZD4wLjQ0MDA8L3RkPjx0ZD43PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0
cj48dGQ+MzU8L3RkPjx0ZD4wLjMzNTU8L3RkPjx0ZD42PC90ZD48L3RyPgotICAgICAgICAgICAg
ICAgIDx0cj48dGQ+MzY8L3RkPjx0ZD4wLjMzMDA8L3RkPjx0ZD41PC90ZD48L3RyPgotICAgICAg
ICAgICAgICAgIDx0cj48dGQ+Mzc8L3RkPjx0ZD4wLjIyNTU8L3RkPjx0ZD40PC90ZD48L3RyPgot
ICAgICAgICAgICAgICAgIDx0cj48dGQ+Mzg8L3RkPjx0ZD4wLjIyMDA8L3RkPjx0ZD4zPC90ZD48
L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+Mzk8L3RkPjx0ZD4wLjExNTU8L3RkPjx0ZD4y
PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+NDA8L3RkPjx0ZD4wLjExMDA8L3Rk
Pjx0ZD4xPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+RU5EIEVORCBFTkQgRU5E
IEVORDwvdGQ+PHRkPkVORCBFTkQgRU5EIEVORCBFTkQ8L3RkPjx0ZD5FTkQgRU5EIEVORCBFTkQg
RU5EPC90ZD48L3RyPgotICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgICAgIDxkaXYgY2xh
c3M9InNjcm9sbGVkLWNvbnRlbnQiPlNjcm9sbGVkIGNvbnRlbnQ8L2Rpdj4KICAgICAgICAgPC9k
aXY+CiAgICAgPC9kaXY+CiA8L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3RpbGVkLWRy
YXdpbmcvc2Nyb2xsaW5nL2Zhc3Qtc2Nyb2xsLWRpdi1sYXRjaGVkLW1haW5mcmFtZS5odG1sIGIv
TGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZmFzdC1zY3JvbGwtZGl2LWxhdGNo
ZWQtbWFpbmZyYW1lLmh0bWwKaW5kZXggNTg1ODIwOGE1ZTJhYTIxZTM2MGRmOWEyNDU0Zjk1ODA4
MjRkYzJkOC4uNWFlNTRhODk1M2Y0ZGU1Y2RjNDI1NWNmYmQ4MGQ2NTQ3ODhlNTlmOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZmFzdC1zY3JvbGwtZGl2
LWxhdGNoZWQtbWFpbmZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9z
Y3JvbGxpbmcvZmFzdC1zY3JvbGwtZGl2LWxhdGNoZWQtbWFpbmZyYW1lLmh0bWwKQEAgLTIsMTIw
ICsyLDEwMyBAQAogPGh0bWw+CiA8aGVhZD4KIDxzdHlsZT4KLS5zY3JvbGxhYmxlX3JlZ2lvbiB7
Ci0gICAgd2lkdGg6IDY4MHB4OwotfQotCi0udGFibGUgdGQsIC50YWJsZSB0aCB7Ci0gICAgcGFk
ZGluZzogMnB4OwotfQotCi0udGFibGUgdGggewotICAgIGhlaWdodDogMjBweDsKLSAgICB0ZXh0
LWFsaWduOiBsZWZ0OwotICAgIGZvbnQtd2VpZ2h0OiBzdHJvbmc7Ci19Ci0KLS50YWJsZSB0cjpu
dGgtY2hpbGQob2RkKSB7Ci0gICAgYmFja2dyb3VuZDogI2YzZjNmMzsKLX0KLQotLnNjcm9sbGFi
bGVfc2VsZWN0IG9wdGlvbjpudGgtY2hpbGQob2RkKSB7Ci0gICAgYmFja2dyb3VuZDogI2YzZjNm
MzsKLX0KKyAgICAuc2Nyb2xsYWJsZV9yZWdpb24geworICAgICAgICB3aWR0aDogNjgwcHg7Cisg
ICAgfQogCisgICAgLnNjcm9sbGVkLWNvbnRlbnQgeworICAgICAgICBoZWlnaHQ6IDEwMzZweDsK
KyAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHJlcGVhdGlu
Zy1saW5lYXItZ3JhZGllbnQoc2lsdmVyLCB3aGl0ZSAxMjBweCk7CisgICAgfQogPC9zdHlsZT4K
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdD4KLWZ1bmN0aW9uIG9uTG9hZCgpIHsKLSAgICBzZXR1cFRvcExldmVsKCk7Ci0gICAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIG9uUGFnZVNjcm9sbCk7Ci19Ci08L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ib25Mb2FkKCk7Ij4KLTxzY3JpcHQ+Ci0KLXZh
ciBkaXZUYXJnZXQ7Ci12YXIgcGFnZVNjcm9sbFBvc2l0aW9uQmVmb3JlOwotdmFyIGRpdlNjcm9s
bFBvc2l0aW9uQmVmb3JlOwotdmFyIGNvbnRpbnVlQ291bnQgPSA1OworICAgIHdpbmRvdy5qc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKIAotZnVuY3Rpb24gb25QYWdlU2Nyb2xsKCkKLXsKLSAgICBpZiAo
ZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPj0gNzApCi0gICAgICAgIGNoZWNr
Rm9yU2Nyb2xsKCk7Ci19CisgICAgdmFyIGRpdlRhcmdldDsKKyAgICB2YXIgcGFnZVNjcm9sbFBv
c2l0aW9uQmVmb3JlOworICAgIHZhciBkaXZTY3JvbGxQb3NpdGlvbkJlZm9yZTsKKyAgICB2YXIg
Y29udGludWVDb3VudCA9IDU7CiAKLWxldCBkaWRDaGVjayA9IGZhbHNlOwotZnVuY3Rpb24gY2hl
Y2tGb3JTY3JvbGwoKQotewotICAgIGlmIChkaWRDaGVjaykKLSAgICAgICAgcmV0dXJuOwotICAg
IGRpZENoZWNrID0gdHJ1ZTsKLQotICAgIC8vIFRoZSBkaXYgc2hvdWxkIG5vdCBoYXZlIHNjcm9s
bGVkIGF0IGFsbC4KLSAgICB2YXIgcGFnZVNjcm9sbFBvc2l0aW9uQWZ0ZXIgPSBkb2N1bWVudC5z
Y3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcDsKLSAgICB2YXIgZGl2U2Nyb2xsUG9zaXRpb25BZnRl
ciA9IGRpdlRhcmdldC5zY3JvbGxUb3A7Ci0KLSAgICBpZiAoZGl2U2Nyb2xsUG9zaXRpb25CZWZv
cmUgIT0gZGl2U2Nyb2xsUG9zaXRpb25BZnRlcikKLSAgICAgICAgdGVzdEZhaWxlZCgiU2Nyb2xs
YWJsZSBkaXYgY29uc3VtZWQgd2hlZWwgZXZlbnRzLiIpOwotICAgIGVsc2UKLSAgICAgICAgdGVz
dFBhc3NlZCgiU2Nyb2xsYWJsZSBkaXYgZGlkIG5vdCByZWNlaXZlIHdoZWVsIGV2ZW50cy4iKTsK
LQotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdsYXllcnMnKS5pbm5lclRleHQgPSBpbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRv
Y3VtZW50LAotICAgICAgICAgICAgaW50ZXJuYWxzLkxBWUVSX1RSRUVfSU5DTFVERVNfVklTSUJM
RV9SRUNUUyB8IGludGVybmFscy5MQVlFUl9UUkVFX0lOQ0xVREVTX1RJTEVfQ0FDSEVTKTsKKyAg
ICBmdW5jdGlvbiBvblBhZ2VTY3JvbGwoKQorICAgIHsKKyAgICAgICAgaWYgKGRvY3VtZW50LnNj
cm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID49IDcwKQorICAgICAgICAgICAgY2hlY2tGb3JTY3Jv
bGwoKTsKICAgICB9CiAKLSAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rp
b24gc2Nyb2xsVGVzdCgpCi17Ci0gICAgcGFnZVNjcm9sbFBvc2l0aW9uQmVmb3JlID0gZG9jdW1l
bnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3A7Ci0KLSAgICBkaXZUYXJnZXQgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0Jyk7Ci0KLSAgICBkaXZTY3JvbGxQb3NpdGlvbkJlZm9y
ZSA9IGRpdlRhcmdldC5zY3JvbGxUb3A7Ci0KLSAgICAvLyBTY3JvbGwgdGhlICNzb3VyY2UgdW50
aWwgd2UgcmVhY2ggdGhlICN0YXJnZXQuCi0gICAgdmFyIHN0YXJ0UG9zWCA9IE1hdGgucm91bmQo
ZGl2VGFyZ2V0Lm9mZnNldExlZnQpICsgMjA7Ci0gICAgdmFyIHN0YXJ0UG9zWSA9IE1hdGgucm91
bmQoZGl2VGFyZ2V0Lm9mZnNldFRvcCkgLSA0MjsKLSAgICBldmVudFNlbmRlci5tb3VzZU1vdmVU
byhzdGFydFBvc1gsIHN0YXJ0UG9zWSk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdp
dGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnYmVnYW4nLCAnbm9uZScpOwotICAgIGV2
ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwg
J2NoYW5nZWQnLCAnbm9uZScpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hl
ZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ2NoYW5nZWQnLCAnbm9uZScpOwotICAgIGV2ZW50
U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAwLCAnZW5k
ZWQnLCAnbm9uZScpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRN
b21lbnR1bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnYmVnaW4nKTsKLSAgICBldmVudFNlbmRlci5t
b3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTQsICdub25lJywgJ2Nv
bnRpbnVlJyk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVu
dHVtUGhhc2VzKDAsIDAsICdub25lJywgJ2VuZCcpOwotICAgIGV2ZW50U2VuZGVyLmNhbGxBZnRl
clNjcm9sbGluZ0NvbXBsZXRlcyhjaGVja0ZvclNjcm9sbCk7Ci0gICAgLy8gV2Ugc2hvdWxkIGZp
bmlzaCB2aWEgdGhlIHNjcm9sbCBldmVudDsgdGhpcyB3aWxsIGZpcmUgaW4gdGhlIGNhc2Ugb2Yg
ZmFpbHVyZSB3aGVuIHRoZSBwYWdlIGRvZXNuJ3Qgc2Nyb2xsLgotfQorICAgIGxldCBkaWRDaGVj
ayA9IGZhbHNlOworICAgIGZ1bmN0aW9uIGNoZWNrRm9yU2Nyb2xsKCkKKyAgICB7CisgICAgICAg
IGlmIChkaWRDaGVjaykKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgZGlkQ2hlY2sgPSB0
cnVlOworCisgICAgICAgIC8vIFRoZSBkaXYgc2hvdWxkIG5vdCBoYXZlIHNjcm9sbGVkIGF0IGFs
bC4KKyAgICAgICAgdmFyIHBhZ2VTY3JvbGxQb3NpdGlvbkFmdGVyID0gZG9jdW1lbnQuc2Nyb2xs
aW5nRWxlbWVudC5zY3JvbGxUb3A7CisgICAgICAgIHZhciBkaXZTY3JvbGxQb3NpdGlvbkFmdGVy
ID0gZGl2VGFyZ2V0LnNjcm9sbFRvcDsKKworICAgICAgICBpZiAoZGl2U2Nyb2xsUG9zaXRpb25C
ZWZvcmUgIT0gZGl2U2Nyb2xsUG9zaXRpb25BZnRlcikKKyAgICAgICAgICAgIHRlc3RGYWlsZWQo
IlNjcm9sbGFibGUgZGl2IGNvbnN1bWVkIHdoZWVsIGV2ZW50cy4iKTsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgdGVzdFBhc3NlZCgiU2Nyb2xsYWJsZSBkaXYgZGlkIG5vdCByZWNlaXZlIHdo
ZWVsIGV2ZW50cy4iKTsKKworICAgICAgICBpZiAod2luZG93LmludGVybmFscykgeworICAgICAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVyVGV4dCA9IGludGVy
bmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQsCisgICAgICAgICAgICAgICAgaW50ZXJuYWxz
LkxBWUVSX1RSRUVfSU5DTFVERVNfVklTSUJMRV9SRUNUUyB8IGludGVybmFscy5MQVlFUl9UUkVF
X0lOQ0xVREVTX1RJTEVfQ0FDSEVTKTsKKyAgICAgICAgfQorICAgIAorICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICB9CiAKLWZ1bmN0aW9uIHNldHVwVG9wTGV2ZWwoKQotewotICAgIGlmICh3
aW5kb3cuZXZlbnRTZW5kZXIpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0g
ICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIGZ1bmN0aW9uIHNjcm9sbFRl
c3QoKQorICAgIHsKKyAgICAgICAgcGFnZVNjcm9sbFBvc2l0aW9uQmVmb3JlID0gZG9jdW1lbnQu
c2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3A7CisKKyAgICAgICAgZGl2VGFyZ2V0ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldCcpOworCisgICAgICAgIGRpdlNjcm9sbFBvc2l0aW9u
QmVmb3JlID0gZGl2VGFyZ2V0LnNjcm9sbFRvcDsKKworICAgICAgICAvLyBTY3JvbGwgdGhlICNz
b3VyY2UgdW50aWwgd2UgcmVhY2ggdGhlICN0YXJnZXQuCisgICAgICAgIHZhciBzdGFydFBvc1gg
PSBNYXRoLnJvdW5kKGRpdlRhcmdldC5vZmZzZXRMZWZ0KSArIDIwOworICAgICAgICB2YXIgc3Rh
cnRQb3NZID0gTWF0aC5yb3VuZChkaXZUYXJnZXQub2Zmc2V0VG9wKSAtIDQyOworICAgICAgICBl
dmVudFNlbmRlci5tb3VzZU1vdmVUbyhzdGFydFBvc1gsIHN0YXJ0UG9zWSk7CisgICAgICAgIGV2
ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwg
J2JlZ2FuJywgJ25vbmUnKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhX
aGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnY2hhbmdlZCcsICdub25lJyk7CisgICAgICAg
IGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAt
MSwgJ2NoYW5nZWQnLCAnbm9uZScpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5
V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgMCwgJ2VuZGVkJywgJ25vbmUnKTsKKyAgICAg
ICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAs
IC0xLCAnbm9uZScsICdiZWdpbicpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5
V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTQsICdub25lJywgJ2NvbnRpbnVlJyk7Cisg
ICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNl
cygwLCAwLCAnbm9uZScsICdlbmQnKTsKKyAgICAgICAgZXZlbnRTZW5kZXIuY2FsbEFmdGVyU2Ny
b2xsaW5nQ29tcGxldGVzKGNoZWNrRm9yU2Nyb2xsKTsKKyAgICAgICAgLy8gV2Ugc2hvdWxkIGZp
bmlzaCB2aWEgdGhlIHNjcm9sbCBldmVudDsgdGhpcyB3aWxsIGZpcmUgaW4gdGhlIGNhc2Ugb2Yg
ZmFpbHVyZSB3aGVuIHRoZSBwYWdlIGRvZXNuJ3Qgc2Nyb2xsLgorICAgIH0KIAotICAgICAgICBl
dmVudFNlbmRlci5tb25pdG9yV2hlZWxFdmVudHMoKTsKLSAgICAgICAgcmVxdWVzdElkbGVDYWxs
YmFjaygoKSA9PiB7Ci0gICAgICAgICAgICBzZXRUaW1lb3V0KHNjcm9sbFRlc3QsIDApOwotICAg
ICAgICB9KTsKLSAgICB9IGVsc2UgewotICAgICAgICB2YXIgbWVzc2FnZUxvY2F0aW9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhcmVudCcpOwotICAgICAgICB2YXIgbWVzc2FnZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAgICAgICBtZXNzYWdlLmlubmVySFRNTCA9
ICI8cD5UaGlzIHRlc3QgaXMgYmV0dGVyIHJ1biB1bmRlciBEdW1wUmVuZGVyVHJlZS4gVG8gbWFu
dWFsbHkgdGVzdCBpdCwgcGxhY2UgdGhlIG1vdXNlIHBvaW50ZXI8YnIvPiIKLSAgICAgICAgICAg
ICsgImF0IHRoZSB0b3Agb2YgdGhlIHBhZ2UsIGFuZCB0aGVuIHVzZSB0aGUgbW91c2Ugd2hlZWwg
b3IgYSB0d28tZmluZ2VyIHN3aXBlIHRvIHNjcm9sbCB0aGU8YnIvPiIKLSAgICAgICAgICAgICsg
ImRvd24gcGFzdCB0aGUgZGl2Ljxici8+PGJyLz4iCi0gICAgICAgICAgICArICJUaGUgc2Nyb2xs
YWJsZSByZWdpb24gc2hvdWxkIG5vdCBzY3JvbGwuPC9wPiI7Ci0gICAgICAgIG1lc3NhZ2VMb2Nh
dGlvbi5hcHBlbmRDaGlsZChtZXNzYWdlKTsKKyAgICBmdW5jdGlvbiBzZXR1cFRvcExldmVsKCkK
KyAgICB7CisgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgICAgIGV2
ZW50U2VuZGVyLm1vbml0b3JXaGVlbEV2ZW50cygpOworICAgICAgICAgICAgcmVxdWVzdElkbGVD
YWxsYmFjaygoKSA9PiB7CisgICAgICAgICAgICAgICAgc2V0VGltZW91dChzY3JvbGxUZXN0LCAw
KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgdmFyIG1l
c3NhZ2VMb2NhdGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJlbnQnKTsKKyAgICAg
ICAgICAgIHZhciBtZXNzYWdlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAg
ICAgICAgICBtZXNzYWdlLmlubmVySFRNTCA9ICI8cD5UaGlzIHRlc3QgaXMgYmV0dGVyIHJ1biB1
bmRlciBEdW1wUmVuZGVyVHJlZS4gVG8gbWFudWFsbHkgdGVzdCBpdCwgcGxhY2UgdGhlIG1vdXNl
IHBvaW50ZXI8YnIvPiIKKyAgICAgICAgICAgICAgICArICJhdCB0aGUgdG9wIG9mIHRoZSBwYWdl
LCBhbmQgdGhlbiB1c2UgdGhlIG1vdXNlIHdoZWVsIG9yIGEgdHdvLWZpbmdlciBzd2lwZSB0byBz
Y3JvbGwgdGhlPGJyLz4iCisgICAgICAgICAgICAgICAgKyAiZG93biBwYXN0IHRoZSBkaXYuPGJy
Lz48YnIvPiIKKyAgICAgICAgICAgICAgICArICJUaGUgc2Nyb2xsYWJsZSByZWdpb24gc2hvdWxk
IG5vdCBzY3JvbGwuPC9wPiI7CisgICAgICAgICAgICBtZXNzYWdlTG9jYXRpb24uYXBwZW5kQ2hp
bGQobWVzc2FnZSk7CisgICAgICAgIH0KICAgICB9Ci19CiAKKyAgICB3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcignbG9hZCcsICgpID0+IHsKKyAgICAgICAgc2V0dXBUb3BMZXZlbCgpOworICAgICAg
ICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgb25QYWdlU2Nyb2xsKTsKKyAgICB9
LCBmYWxzZSk7CiA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgogPGRpdiBpZD0icGFyZW50IiBz
dHlsZT0iaGVpZ2h0OiAyMDAwcHg7IHdpZHRoOiAyMDAwcHg7Ij4KICAgICA8ZGl2IGlkPSJzb3Vy
Y2UiIHN0eWxlPSJoZWlnaHQ6IDEwMHB4OyB3aWR0aDogNTAwcHg7Ij4KICAgICAgICAgUHV0IG1v
dXNlIGhlcmUgYW5kIGZsaWNrIGRvd253YXJkcwpAQCAtMTIzLDUxICsxMDYsNyBAQCBmdW5jdGlv
biBzZXR1cFRvcExldmVsKCkKICAgICA8ZGl2IGNsYXNzPSJzY3JvbGxhYmxlX3JlZ2lvbiI+CiAg
ICAgICAgIDxoMz5TY3JvbGxhYmxlIFJlZ2lvbjwvaDM+CiAgICAgICAgIDxkaXYgaWQ9InRhcmdl
dCIgc3R5bGU9J292ZXJmbG93LXk6IGF1dG87IG92ZXJmbG93LXg6IGhpZGRlbjsgaGVpZ2h0OiAz
NTBweDsnPgotICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSIgc3R5bGU9J3dpZHRoOiA5
OSUnPgotICAgICAgICAgICAgICAgIDx0cj48dGg+Q291bnQ8L3RoPjx0aD5EQVRBPC90aD48dGg+
UmV2IENvdW50PC90aD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+VE9QIFRPUCBUT1Ag
VE9QIFRPUDwvdGQ+PHRkPlRPUCBUT1AgVE9QIFRPUCBUT1A8L3RkPjx0ZD5UT1AgVE9QIFRPUCBU
T1AgVE9QPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MTwvdGQ+PHRkPjAuMTEw
MDwvdGQ+PHRkPjQwPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MjwvdGQ+PHRk
PjAuMTE1NTwvdGQ+PHRkPjM5PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+Mzwv
dGQ+PHRkPjAuMjIwMDwvdGQ+PHRkPjM4PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48
dGQ+NDwvdGQ+PHRkPjAuMjI1NTwvdGQ+PHRkPjM3PC90ZD48L3RyPgotICAgICAgICAgICAgICAg
IDx0cj48dGQ+NTwvdGQ+PHRkPjAuMzMwMDwvdGQ+PHRkPjM2PC90ZD48L3RyPgotICAgICAgICAg
ICAgICAgIDx0cj48dGQ+NjwvdGQ+PHRkPjAuMzM1NTwvdGQ+PHRkPjM1PC90ZD48L3RyPgotICAg
ICAgICAgICAgICAgIDx0cj48dGQ+NzwvdGQ+PHRkPjAuNDQwMDwvdGQ+PHRkPjM0PC90ZD48L3Ry
PgotICAgICAgICAgICAgICAgIDx0cj48dGQ+ODwvdGQ+PHRkPjAuNDQ1NTwvdGQ+PHRkPjMzPC90
ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+OTwvdGQ+PHRkPjAuNTUwMDwvdGQ+PHRk
PjMyPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MTA8L3RkPjx0ZD4wLjU1NTU8
L3RkPjx0ZD4zMTwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjExPC90ZD48dGQ+
MC42NjAwPC90ZD48dGQ+MzA8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4xMjwv
dGQ+PHRkPjAuNjY1NTwvdGQ+PHRkPjI5PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48
dGQ+MTM8L3RkPjx0ZD4wLjc3MDA8L3RkPjx0ZD4yODwvdGQ+PC90cj4KLSAgICAgICAgICAgICAg
ICA8dHI+PHRkPjE0PC90ZD48dGQ+MC43NzU1PC90ZD48dGQ+Mjc8L3RkPjwvdHI+Ci0gICAgICAg
ICAgICAgICAgPHRyPjx0ZD4xNTwvdGQ+PHRkPjAuODgwMDwvdGQ+PHRkPjI2PC90ZD48L3RyPgot
ICAgICAgICAgICAgICAgIDx0cj48dGQ+MTY8L3RkPjx0ZD4wLjg4NTU8L3RkPjx0ZD4yNTwvdGQ+
PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjE3PC90ZD48dGQ+MC45OTAwPC90ZD48dGQ+
MjQ8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4xODwvdGQ+PHRkPjAuOTk1NTwv
dGQ+PHRkPjIzPC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MTk8L3RkPjx0ZD4w
Ljk5OTk8L3RkPjx0ZD4yMjwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjIwPC90
ZD48dGQ+MS4wMDAwPC90ZD48dGQ+MjE8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0
ZD4yMTwvdGQ+PHRkPjEuMDAwMDwvdGQ+PHRkPjIwPC90ZD48L3RyPgotICAgICAgICAgICAgICAg
IDx0cj48dGQ+MjI8L3RkPjx0ZD4wLjk5OTk8L3RkPjx0ZD4xOTwvdGQ+PC90cj4KLSAgICAgICAg
ICAgICAgICA8dHI+PHRkPjIzPC90ZD48dGQ+MC45OTU1PC90ZD48dGQ+MTg8L3RkPjwvdHI+Ci0g
ICAgICAgICAgICAgICAgPHRyPjx0ZD4yNDwvdGQ+PHRkPjAuOTkwMDwvdGQ+PHRkPjE3PC90ZD48
L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+MjU8L3RkPjx0ZD4wLjg4NTU8L3RkPjx0ZD4x
NjwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjI2PC90ZD48dGQ+MC44ODAwPC90
ZD48dGQ+MTU8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAgPHRyPjx0ZD4yNzwvdGQ+PHRkPjAu
Nzc1NTwvdGQ+PHRkPjE0PC90ZD48L3RyPgotICAgICAgICAgICAgICAgIDx0cj48dGQ+Mjg8L3Rk
Pjx0ZD4wLjc3MDA8L3RkPjx0ZD4xMzwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRk
PjI5PC90ZD48dGQ+MC42NjU1PC90ZD48dGQ+MTI8L3RkPjwvdHI+Ci0gICAgICAgICAgICAgICAg
PHRyPjx0ZD4zMDwvdGQ+PHRkPjAuNjYwMDwvdGQ+PHRkPjExPC90ZD48L3RyPgotICAgICAgICAg
ICAgICAgIDx0cj48dGQ+MzE8L3RkPjx0ZD4wLjU1NTU8L3RkPjx0ZD4xMDwvdGQ+PC90cj4KLSAg
ICAgICAgICAgICAgICA8dHI+PHRkPjMyPC90ZD48dGQ+MC41NTAwPC90ZD48dGQ+OTwvdGQ+PC90
cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjMzPC90ZD48dGQ+MC40NDU1PC90ZD48dGQ+ODwv
dGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjM0PC90ZD48dGQ+MC40NDAwPC90ZD48
dGQ+NzwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjM1PC90ZD48dGQ+MC4zMzU1
PC90ZD48dGQ+NjwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjM2PC90ZD48dGQ+
MC4zMzAwPC90ZD48dGQ+NTwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRkPjM3PC90
ZD48dGQ+MC4yMjU1PC90ZD48dGQ+NDwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8dHI+PHRk
PjM4PC90ZD48dGQ+MC4yMjAwPC90ZD48dGQ+MzwvdGQ+PC90cj4KLSAgICAgICAgICAgICAgICA8
dHI+PHRkPjM5PC90ZD48dGQ+MC4xMTU1PC90ZD48dGQ+MjwvdGQ+PC90cj4KLSAgICAgICAgICAg
ICAgICA8dHI+PHRkPjQwPC90ZD48dGQ+MC4xMTAwPC90ZD48dGQ+MTwvdGQ+PC90cj4KLSAgICAg
ICAgICAgICAgICA8dHI+PHRkPkVORCBFTkQgRU5EIEVORCBFTkQ8L3RkPjx0ZD5FTkQgRU5EIEVO
RCBFTkQgRU5EPC90ZD48dGQ+RU5EIEVORCBFTkQgRU5EIEVORDwvdGQ+PC90cj4KLSAgICAgICAg
ICAgIDwvdGFibGU+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzY3JvbGxlZC1jb250ZW50Ij5T
Y3JvbGxlZCBjb250ZW50PC9kaXY+CiAgICAgICAgIDwvZGl2PgogICAgIDwvZGl2PgogPC9kaXY+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mYXN0LXNj
cm9sbC1pZnJhbWUtbGF0Y2hlZC1pZnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvdGls
ZWQtZHJhd2luZy9zY3JvbGxpbmcvZmFzdC1zY3JvbGwtaWZyYW1lLWxhdGNoZWQtaWZyYW1lLWV4
cGVjdGVkLnR4dAppbmRleCA5ZGFiNDNjZjEwZjg0MDkxNTVmNGJkOWI3NTUyNDlmNTZhZGRiM2E1
Li5lMTE1MjFiNTYzMWQ5YTJjYzBlZjkwOWQ5YWMxM2E1ODY5NDhkMmRjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mYXN0LXNjcm9sbC1pZnJhbWUtbGF0
Y2hlZC1pZnJhbWUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcv
c2Nyb2xsaW5nL2Zhc3Qtc2Nyb2xsLWlmcmFtZS1sYXRjaGVkLWlmcmFtZS1leHBlY3RlZC50eHQK
QEAgLTUsMjAgKzUsMjAgQEAgVGVzdHMgdGhhdCBpZnJhbWUgZG9lc24ndCBwYXNzIHdoZWVsIGV2
ZW50cyB0byBtYWluIGZyYW1lIHdoZW4gc2Nyb2xsaW5nIGF0IGJvdHQKIE9uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KIAogCitQQVNTIFBhZ2UgZGlkIG5vdCByZWNlaXZlIHdoZWVsIGV2ZW50cy4K
IFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQotUEFTUyBQ
YWdlIGRpZCBub3QgcmVjZWl2ZSB3aGVlbCBldmVudHMuCiAoR3JhcGhpY3NMYXllcgogICAoYW5j
aG9yIDAuMDAgMC4wMCkKLSAgKGJvdW5kcyA3ODUuMDAgMjI2Ni4wMCkKKyAgKGJvdW5kcyA3ODUu
MDAgMjIyMS4wMCkKICAgKHZpc2libGUgcmVjdCAwLjAwLCAwLjAwIDc4NS4wMCB4IDYwMC4wMCkK
ICAgKGNvdmVyYWdlIHJlY3QgMC4wMCwgMC4wMCA3ODUuMDAgeCA2MDAuMDApCiAgIChpbnRlcnNl
Y3RzIGNvdmVyYWdlIHJlY3QgMSkKICAgKGNvbnRlbnRzU2NhbGUgMS4wMCkKICAgKGNoaWxkcmVu
IDEKICAgICAoR3JhcGhpY3NMYXllcgotICAgICAgKGJvdW5kcyA3ODUuMDAgMjI2Ni4wMCkKKyAg
ICAgIChib3VuZHMgNzg1LjAwIDIyMjEuMDApCiAgICAgICAoY29udGVudHNPcGFxdWUgMSkKICAg
ICAgICh2aXNpYmxlIHJlY3QgMC4wMCwgMC4wMCA3ODUuMDAgeCA2MDAuMDApCiAgICAgICAoY292
ZXJhZ2UgcmVjdCAwLjAwLCAwLjAwIDc4NS4wMCB4IDE4MDAuMDApCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mYXN0LXNjcm9sbC1pZnJhbWUtbGF0Y2hl
ZC1pZnJhbWUtd2l0aC1oYW5kbGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3RpbGVkLWRy
YXdpbmcvc2Nyb2xsaW5nL2Zhc3Qtc2Nyb2xsLWlmcmFtZS1sYXRjaGVkLWlmcmFtZS13aXRoLWhh
bmRsZXItZXhwZWN0ZWQudHh0CmluZGV4IDlkYWI0M2NmMTBmODQwOTE1NWY0YmQ5Yjc1NTI0OWY1
NmFkZGIzYTUuLmUxMTUyMWI1NjMxZDlhMmNjMGVmOTA5ZDlhYzEzYTU4Njk0OGQyZGMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2Zhc3Qtc2Nyb2xsLWlm
cmFtZS1sYXRjaGVkLWlmcmFtZS13aXRoLWhhbmRsZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2Zhc3Qtc2Nyb2xsLWlmcmFtZS1sYXRjaGVk
LWlmcmFtZS13aXRoLWhhbmRsZXItZXhwZWN0ZWQudHh0CkBAIC01LDIwICs1LDIwIEBAIFRlc3Rz
IHRoYXQgaWZyYW1lIGRvZXNuJ3QgcGFzcyB3aGVlbCBldmVudHMgdG8gbWFpbiBmcmFtZSB3aGVu
IHNjcm9sbGluZyBhdCBib3R0CiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAorUEFTUyBQ
YWdlIGRpZCBub3QgcmVjZWl2ZSB3aGVlbCBldmVudHMuCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKLVBBU1MgUGFnZSBkaWQgbm90IHJlY2VpdmUgd2hl
ZWwgZXZlbnRzLgogKEdyYXBoaWNzTGF5ZXIKICAgKGFuY2hvciAwLjAwIDAuMDApCi0gIChib3Vu
ZHMgNzg1LjAwIDIyNjYuMDApCisgIChib3VuZHMgNzg1LjAwIDIyMjEuMDApCiAgICh2aXNpYmxl
IHJlY3QgMC4wMCwgMC4wMCA3ODUuMDAgeCA2MDAuMDApCiAgIChjb3ZlcmFnZSByZWN0IDAuMDAs
IDAuMDAgNzg1LjAwIHggNjAwLjAwKQogICAoaW50ZXJzZWN0cyBjb3ZlcmFnZSByZWN0IDEpCiAg
IChjb250ZW50c1NjYWxlIDEuMDApCiAgIChjaGlsZHJlbiAxCiAgICAgKEdyYXBoaWNzTGF5ZXIK
LSAgICAgIChib3VuZHMgNzg1LjAwIDIyNjYuMDApCisgICAgICAoYm91bmRzIDc4NS4wMCAyMjIx
LjAwKQogICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCiAgICAgICAodmlzaWJsZSByZWN0IDAuMDAs
IDAuMDAgNzg1LjAwIHggNjAwLjAwKQogICAgICAgKGNvdmVyYWdlIHJlY3QgMC4wMCwgMC4wMCA3
ODUuMDAgeCAxODAwLjAwKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9z
Y3JvbGxpbmcvZmFzdC1zY3JvbGwtaWZyYW1lLWxhdGNoZWQtaWZyYW1lLXdpdGgtaGFuZGxlci5o
dG1sIGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZmFzdC1zY3JvbGwtaWZy
YW1lLWxhdGNoZWQtaWZyYW1lLXdpdGgtaGFuZGxlci5odG1sCmluZGV4IDkzODQzYzM2ZWUwMWU1
OTRhYTMwMjQzMDVhNDg2NzA0MDNhM2EyN2IuLmU2ZDFiNDhmZGVmY2Q1ZDc3OWQyOTdlZjAxMTRl
MmI3ZjZlY2FjZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xs
aW5nL2Zhc3Qtc2Nyb2xsLWlmcmFtZS1sYXRjaGVkLWlmcmFtZS13aXRoLWhhbmRsZXIuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mYXN0LXNjcm9sbC1pZnJh
bWUtbGF0Y2hlZC1pZnJhbWUtd2l0aC1oYW5kbGVyLmh0bWwKQEAgLTQsODggKzQsODUgQEAKIDxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZl
bnRzLyNldmVudHMtV2hlZWxFdmVudCI+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci12YXIgd2hlZWxDb3VudCA9IDA7Ci1m
dW5jdGlvbiBvblNjcm9sbFdoZWVsKGV2dCkgewotICAgIHdoZWVsQ291bnQgPSB3aGVlbENvdW50
ICsgMTsKLX0KKyAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiAKLWZ1bmN0aW9uIG9u
TG9hZCgpIHsKLSAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXdoZWVsIiwgb25T
Y3JvbGxXaGVlbCk7Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ib25Mb2Fk
KCk7Ij4KLTxzY3JpcHQ+Ci0KLXZhciBpZnJhbWVUYXJnZXQ7Ci12YXIgcGFnZVNjcm9sbFBvc2l0
aW9uQmVmb3JlOwotdmFyIGlGcmFtZVNjcm9sbFBvc2l0aW9uQmVmb3JlOwotdmFyIGNvbnRpbnVl
Q291bnQgPSA1OwotCi1mdW5jdGlvbiBjaGVja0ZvclNjcm9sbCgpCi17Ci0gICAgLy8gVGhlIElG
cmFtZSBzaG91bGQgbm90IGhhdmUgc2Nyb2xsZWQgYXQgYWxsLgotICAgIHZhciBwYWdlU2Nyb2xs
UG9zaXRpb25BZnRlciA9IGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wOwotICAg
IHZhciBpRnJhbWVTY3JvbGxQb3NpdGlvbkFmdGVyID0gd2luZG93LmZyYW1lc1sndGFyZ2V0J10u
ZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3A7CisgICAgdmFyIGlmcmFtZVRhcmdl
dDsKKyAgICB2YXIgcGFnZVNjcm9sbFBvc2l0aW9uQmVmb3JlOworICAgIHZhciBpRnJhbWVTY3Jv
bGxQb3NpdGlvbkJlZm9yZTsKKyAgICB2YXIgY29udGludWVDb3VudCA9IDU7CiAKLSAgICBpZiAo
cGFnZVNjcm9sbFBvc2l0aW9uQmVmb3JlICE9IHBhZ2VTY3JvbGxQb3NpdGlvbkFmdGVyKQotICAg
ICAgICB0ZXN0RmFpbGVkKCJQYWdlIHJlY2VpdmVkIHdoZWVsIGV2ZW50cy4iKTsKLSAgICBlbHNl
Ci0gICAgICAgIHRlc3RQYXNzZWQoIlBhZ2UgZGlkIG5vdCByZWNlaXZlIHdoZWVsIGV2ZW50cy4i
KTsKLQotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lclRleHQgPSBpbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0
KGRvY3VtZW50LAotICAgICAgICAgICAgaW50ZXJuYWxzLkxBWUVSX1RSRUVfSU5DTFVERVNfVklT
SUJMRV9SRUNUUyB8IGludGVybmFscy5MQVlFUl9UUkVFX0lOQ0xVREVTX1RJTEVfQ0FDSEVTKTsK
KyAgICB2YXIgd2hlZWxDb3VudCA9IDA7CisgICAgZnVuY3Rpb24gb25TY3JvbGxXaGVlbChldnQp
CisgICAgeworICAgICAgICB3aGVlbENvdW50ID0gd2hlZWxDb3VudCArIDE7CiAgICAgfQogCi0g
ICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19CisgICAgZnVuY3Rpb24gY2hlY2tGb3JTY3Jv
bGwoKQorICAgIHsKKyAgICAgICAgLy8gVGhlIGlmcmFtZSBzaG91bGQgbm90IGhhdmUgc2Nyb2xs
ZWQgYXQgYWxsLgorICAgICAgICB2YXIgcGFnZVNjcm9sbFBvc2l0aW9uQWZ0ZXIgPSBkb2N1bWVu
dC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcDsKKyAgICAgICAgdmFyIGlGcmFtZVNjcm9sbFBv
c2l0aW9uQWZ0ZXIgPSB3aW5kb3cuZnJhbWVzWyd0YXJnZXQnXS5kb2N1bWVudC5zY3JvbGxpbmdF
bGVtZW50LnNjcm9sbFRvcDsKKworICAgICAgICBpZiAocGFnZVNjcm9sbFBvc2l0aW9uQmVmb3Jl
ICE9IHBhZ2VTY3JvbGxQb3NpdGlvbkFmdGVyKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiUGFn
ZSByZWNlaXZlZCB3aGVlbCBldmVudHMuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRl
c3RQYXNzZWQoIlBhZ2UgZGlkIG5vdCByZWNlaXZlIHdoZWVsIGV2ZW50cy4iKTsKIAotZnVuY3Rp
b24gc2Nyb2xsVGVzdCgpCi17Ci0gICAgcGFnZVNjcm9sbFBvc2l0aW9uQmVmb3JlID0gZG9jdW1l
bnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3A7CisgICAgICAgIGlmICh3aW5kb3cuaW50ZXJu
YWxzKSB7CisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5u
ZXJUZXh0ID0gaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCwKKyAgICAgICAgICAg
ICAgICBpbnRlcm5hbHMuTEFZRVJfVFJFRV9JTkNMVURFU19WSVNJQkxFX1JFQ1RTIHwgaW50ZXJu
YWxzLkxBWUVSX1RSRUVfSU5DTFVERVNfVElMRV9DQUNIRVMpOworICAgICAgICB9CiAKLSAgICBp
ZnJhbWVUYXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0Jyk7CisgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgIH0KIAotICAgIHZhciBpRnJhbWVCb2R5ID0gd2luZG93LmZy
YW1lc1sndGFyZ2V0J10uZG9jdW1lbnQuYm9keTsKLSAgICBpRnJhbWVCb2R5LnNjcm9sbFRvcCA9
IGlGcmFtZUJvZHkuc2Nyb2xsSGVpZ2h0IC0gaWZyYW1lVGFyZ2V0LmNsaWVudEhlaWdodCAtIDEw
MDsKKyAgICBmdW5jdGlvbiBzY3JvbGxUZXN0KCkKKyAgICB7CisgICAgICAgIHBhZ2VTY3JvbGxQ
b3NpdGlvbkJlZm9yZSA9IGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wOwogCi0g
ICAgaUZyYW1lU2Nyb2xsUG9zaXRpb25CZWZvcmUgPSBpRnJhbWVCb2R5LnNjcm9sbFRvcDsKKyAg
ICAgICAgaWZyYW1lVGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldCcpOwog
Ci0gICAgLy8gU2Nyb2xsIHRoZSAjc291cmNlIHVudGlsIHdlIHJlYWNoIHRoZSAjdGFyZ2V0Lgot
ICAgIHZhciBzdGFydFBvc1ggPSBNYXRoLnJvdW5kKGlmcmFtZVRhcmdldC5vZmZzZXRMZWZ0KSAr
IDIwOwotICAgIHZhciBzdGFydFBvc1kgPSBNYXRoLnJvdW5kKGlmcmFtZVRhcmdldC5vZmZzZXRU
b3ApICsgMTAwOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHN0YXJ0UG9zWCwgc3RhcnRQ
b3NZKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1Q
aGFzZXMoMCwgLTEsICdiZWdhbicsICdub25lJyk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3Jv
bGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnY2hhbmdlZCcsICdub25lJyk7
Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2Vz
KDAsIC0xLCAnY2hhbmdlZCcsICdub25lJyk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxC
eVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIDAsICdlbmRlZCcsICdub25lJyk7Ci0gICAg
ZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0x
LCAnbm9uZScsICdiZWdpbicpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hl
ZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnY29udGludWUnKTsKLSAgICBldmVu
dFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgMCwgJ25v
bmUnLCAnZW5kJyk7Ci0gICAgZXZlbnRTZW5kZXIuY2FsbEFmdGVyU2Nyb2xsaW5nQ29tcGxldGVz
KGNoZWNrRm9yU2Nyb2xsKTsKLX0KKyAgICAgICAgdmFyIGlmcmFtZUJvZHkgPSB3aW5kb3cuZnJh
bWVzWyd0YXJnZXQnXS5kb2N1bWVudC5ib2R5OworICAgICAgICBpZnJhbWVCb2R5LnNjcm9sbFRv
cCA9IGlmcmFtZUJvZHkuc2Nyb2xsSGVpZ2h0IC0gaWZyYW1lVGFyZ2V0LmNsaWVudEhlaWdodCAt
IDEwMDsKIAotZnVuY3Rpb24gc2V0dXBUb3BMZXZlbCgpCi17Ci0gICAgaWYgKHdpbmRvdy5ldmVu
dFNlbmRlcikgewotICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGlGcmFtZVNjcm9sbFBvc2l0aW9uQmVm
b3JlID0gaWZyYW1lQm9keS5zY3JvbGxUb3A7CiAKLSAgICAgICAgZXZlbnRTZW5kZXIubW9uaXRv
cldoZWVsRXZlbnRzKCk7Ci0gICAgICAgIHNldFRpbWVvdXQoc2Nyb2xsVGVzdCwgMCk7Ci0gICAg
fSBlbHNlIHsKLSAgICAgICAgdmFyIG1lc3NhZ2VMb2NhdGlvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdwYXJlbnQnKTsKLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKLSAgICAgICAgbWVzc2FnZS5pbm5lckhUTUwgPSAiPHA+VGhpcyB0ZXN0
IGlzIGJldHRlciBydW4gdW5kZXIgRHVtcFJlbmRlclRyZWUuIFRvIG1hbnVhbGx5IHRlc3QgaXQs
IHBsYWNlIHRoZSBtb3VzZSBwb2ludGVyPGJyLz4iCi0gICAgICAgICAgICArICJpbnNpZGUgdGhl
IElGcmFtZSwgdGhlbiB1c2UgdGhlIG1vdXNlIHdoZWVsIG9yIGEgdHdvLWZpbmdlciBzd2lwZSB0
byBzY3JvbGwgdGhlIElGcmFtZSB0byB0aGUgYm90dG9tIChhbmQgYmV5b25kKS48YnIvPiIKLSAg
ICAgICAgICAgICsgIjxici8+PGJyLz4iCi0gICAgICAgICAgICArICJUaGUgdGVzdCBwYXNzZXMg
aWYgeW91IHNjcm9sbCBmYXIgZW5vdWdoIHRvIHNlZSB0aGUgcm93IG9mIEVORCBsYWJlbHMgYnV0
IHRoZSBtYWluIHBhZ2UgZG9lcyBub3Qgc2Nyb2xsLjwvcD4iOwotICAgICAgICBtZXNzYWdlTG9j
YXRpb24uYXBwZW5kQ2hpbGQobWVzc2FnZSk7CisgICAgICAgIC8vIFNjcm9sbCB0aGUgI3NvdXJj
ZSB1bnRpbCB3ZSByZWFjaCB0aGUgI3RhcmdldC4KKyAgICAgICAgdmFyIHN0YXJ0UG9zWCA9IE1h
dGgucm91bmQoaWZyYW1lVGFyZ2V0Lm9mZnNldExlZnQpICsgMjA7CisgICAgICAgIHZhciBzdGFy
dFBvc1kgPSBNYXRoLnJvdW5kKGlmcmFtZVRhcmdldC5vZmZzZXRUb3ApICsgMTAwOworICAgICAg
ICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhzdGFydFBvc1gsIHN0YXJ0UG9zWSk7CisgICAgICAg
IGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAt
MSwgJ2JlZ2FuJywgJ25vbmUnKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdp
dGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnY2hhbmdlZCcsICdub25lJyk7CisgICAg
ICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygw
LCAtMSwgJ2NoYW5nZWQnLCAnbm9uZScpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9s
bEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgMCwgJ2VuZGVkJywgJ25vbmUnKTsKKyAg
ICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2Vz
KDAsIC0xLCAnbm9uZScsICdiZWdpbicpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9s
bEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdub25lJywgJ2NvbnRpbnVlJyk7
CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBo
YXNlcygwLCAwLCAnbm9uZScsICdlbmQnKTsKKyAgICAgICAgZXZlbnRTZW5kZXIuY2FsbEFmdGVy
U2Nyb2xsaW5nQ29tcGxldGVzKGNoZWNrRm9yU2Nyb2xsKTsKICAgICB9Ci19CiAKKyAgICBmdW5j
dGlvbiBzZXR1cFRvcExldmVsKCkKKyAgICB7CisgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5k
ZXIpIHsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vbml0b3JXaGVlbEV2ZW50cygpOworICAg
ICAgICAgICAgc2V0VGltZW91dChzY3JvbGxUZXN0LCAwKTsKKyAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgIHZhciBtZXNzYWdlTG9jYXRpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
cGFyZW50Jyk7CisgICAgICAgICAgICB2YXIgbWVzc2FnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpOworICAgICAgICAgICAgbWVzc2FnZS5pbm5lckhUTUwgPSAiPHA+VGhpcyB0ZXN0
IGlzIGJldHRlciBydW4gdW5kZXIgRHVtcFJlbmRlclRyZWUuIFRvIG1hbnVhbGx5IHRlc3QgaXQs
IHBsYWNlIHRoZSBtb3VzZSBwb2ludGVyPGJyLz4iCisgICAgICAgICAgICAgICAgKyAiaW5zaWRl
IHRoZSBpZnJhbWUsIHRoZW4gdXNlIHRoZSBtb3VzZSB3aGVlbCBvciBhIHR3by1maW5nZXIgc3dp
cGUgdG8gc2Nyb2xsIHRoZSBpZnJhbWUgdG8gdGhlIGJvdHRvbSAoYW5kIGJleW9uZCkuPGJyLz4i
CisgICAgICAgICAgICAgICAgKyAiPGJyLz48YnIvPiIKKyAgICAgICAgICAgICAgICArICJUaGUg
dGVzdCBwYXNzZXMgaWYgeW91IHNjcm9sbCBmYXIgZW5vdWdoIHRvIHNlZSB0aGUgcm93IG9mIEVO
RCBsYWJlbHMgYnV0IHRoZSBtYWluIHBhZ2UgZG9lcyBub3Qgc2Nyb2xsLjwvcD4iOworICAgICAg
ICAgICAgbWVzc2FnZUxvY2F0aW9uLmFwcGVuZENoaWxkKG1lc3NhZ2UpOworICAgICAgICB9Cisg
ICAgfQorICAgIAorICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4gewor
ICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXdoZWVsIiwgb25TY3JvbGxX
aGVlbCk7CisgICAgfSwgZmFsc2UpOwogPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KIDxkaXYg
aWQ9InBhcmVudCIgc3R5bGU9ImhlaWdodDogMjAwMHB4Ij4KICAgICA8ZGl2IGlkPSJzb3VyY2Ui
IHN0eWxlPSJoZWlnaHQ6IDEwMHB4Ij4KICAgICAgICAgUHV0IG1vdXNlIGhlcmUgYW5kIGZsaWNr
IGRvd253YXJkcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxp
bmcvZmFzdC1zY3JvbGwtaWZyYW1lLWxhdGNoZWQtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy90
aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mYXN0LXNjcm9sbC1pZnJhbWUtbGF0Y2hlZC1pZnJhbWUu
aHRtbAppbmRleCAwZDBmMzBlYjMwZTI2MGNkYzBmODVlNWY2YTM1ZDJhY2NhY2EwYmVlLi5hNTI2
ODg1Y2NlODI2MTYxNTExYzU4ODQ2MGRjODIwZTE5YmY4ZGJkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mYXN0LXNjcm9sbC1pZnJhbWUtbGF0Y2hlZC1p
ZnJhbWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mYXN0
LXNjcm9sbC1pZnJhbWUtbGF0Y2hlZC1pZnJhbWUuaHRtbApAQCAtMyw3OSArMyw3NiBAQAogPGhl
YWQ+CiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZl
bC0zLUV2ZW50cy8jZXZlbnRzLVdoZWVsRXZlbnQiPgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KIDxzY3JpcHQ+
CisgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworICAgIAorICAgIHZhciBpZnJhbWVU
YXJnZXQ7CisgICAgdmFyIHBhZ2VTY3JvbGxQb3NpdGlvbkJlZm9yZTsKKyAgICB2YXIgaUZyYW1l
U2Nyb2xsUG9zaXRpb25CZWZvcmU7CisgICAgdmFyIGNvbnRpbnVlQ291bnQgPSA1OwogCi12YXIg
aWZyYW1lVGFyZ2V0OwotdmFyIHBhZ2VTY3JvbGxQb3NpdGlvbkJlZm9yZTsKLXZhciBpRnJhbWVT
Y3JvbGxQb3NpdGlvbkJlZm9yZTsKLXZhciBjb250aW51ZUNvdW50ID0gNTsKKyAgICBmdW5jdGlv
biBjaGVja0ZvclNjcm9sbCgpCisgICAgeworICAgICAgICAvLyBUaGUgSUZyYW1lIHNob3VsZCBu
b3QgaGF2ZSBzY3JvbGxlZCBhdCBhbGwuCisgICAgICAgIHZhciBwYWdlU2Nyb2xsUG9zaXRpb25B
ZnRlciA9IGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wOworICAgICAgICB2YXIg
aUZyYW1lU2Nyb2xsUG9zaXRpb25BZnRlciA9IHdpbmRvdy5mcmFtZXNbJ3RhcmdldCddLmRvY3Vt
ZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wOwogCi1mdW5jdGlvbiBjaGVja0ZvclNjcm9s
bCgpCi17Ci0gICAgLy8gVGhlIElGcmFtZSBzaG91bGQgbm90IGhhdmUgc2Nyb2xsZWQgYXQgYWxs
LgotICAgIHZhciBwYWdlU2Nyb2xsUG9zaXRpb25BZnRlciA9IGRvY3VtZW50LnNjcm9sbGluZ0Vs
ZW1lbnQuc2Nyb2xsVG9wOwotICAgIHZhciBpRnJhbWVTY3JvbGxQb3NpdGlvbkFmdGVyID0gd2lu
ZG93LmZyYW1lc1sndGFyZ2V0J10uZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3A7
CisgICAgICAgIGlmIChwYWdlU2Nyb2xsUG9zaXRpb25CZWZvcmUgIT0gcGFnZVNjcm9sbFBvc2l0
aW9uQWZ0ZXIpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJQYWdlIHJlY2VpdmVkIHdoZWVsIGV2
ZW50cy4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgiUGFnZSBkaWQg
bm90IHJlY2VpdmUgd2hlZWwgZXZlbnRzLiIpOwogCi0gICAgaWYgKHBhZ2VTY3JvbGxQb3NpdGlv
bkJlZm9yZSAhPSBwYWdlU2Nyb2xsUG9zaXRpb25BZnRlcikKLSAgICAgICAgdGVzdEZhaWxlZCgi
UGFnZSByZWNlaXZlZCB3aGVlbCBldmVudHMuIik7Ci0gICAgZWxzZQotICAgICAgICB0ZXN0UGFz
c2VkKCJQYWdlIGRpZCBub3QgcmVjZWl2ZSB3aGVlbCBldmVudHMuIik7CisgICAgICAgIGlmICh3
aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
bGF5ZXJzJykuaW5uZXJUZXh0ID0gaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCwK
KyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuTEFZRVJfVFJFRV9JTkNMVURFU19WSVNJQkxFX1JF
Q1RTIHwgaW50ZXJuYWxzLkxBWUVSX1RSRUVfSU5DTFVERVNfVElMRV9DQUNIRVMpOworICAgICAg
ICB9CiAKLSAgICBpZiAod2luZG93LmludGVybmFscykgewotICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJUZXh0ID0gaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4
dChkb2N1bWVudCwKLSAgICAgICAgICAgIGludGVybmFscy5MQVlFUl9UUkVFX0lOQ0xVREVTX1ZJ
U0lCTEVfUkVDVFMgfCBpbnRlcm5hbHMuTEFZRVJfVFJFRV9JTkNMVURFU19USUxFX0NBQ0hFUyk7
CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAgIH0KIAotICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwotfQotCi1mdW5jdGlvbiBzY3JvbGxUZXN0KCkKLXsKLSAgICBwYWdlU2Nyb2xsUG9z
aXRpb25CZWZvcmUgPSBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcDsKLQotICAg
IGlmcmFtZVRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKTsKKyAgICBm
dW5jdGlvbiBzY3JvbGxUZXN0KCkKKyAgICB7CisgICAgICAgIHBhZ2VTY3JvbGxQb3NpdGlvbkJl
Zm9yZSA9IGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wOwogCi0gICAgdmFyIGlG
cmFtZUJvZHkgPSB3aW5kb3cuZnJhbWVzWyd0YXJnZXQnXS5kb2N1bWVudC5ib2R5OwotICAgIGlG
cmFtZUJvZHkuc2Nyb2xsVG9wID0gaUZyYW1lQm9keS5zY3JvbGxIZWlnaHQgLSBpZnJhbWVUYXJn
ZXQuY2xpZW50SGVpZ2h0IC0gMTAwOworICAgICAgICBpZnJhbWVUYXJnZXQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgndGFyZ2V0Jyk7CiAKLSAgICBpRnJhbWVTY3JvbGxQb3NpdGlvbkJlZm9y
ZSA9IGlGcmFtZUJvZHkuc2Nyb2xsVG9wOworICAgICAgICB2YXIgaUZyYW1lQm9keSA9IHdpbmRv
dy5mcmFtZXNbJ3RhcmdldCddLmRvY3VtZW50LmJvZHk7CisgICAgICAgIGlGcmFtZUJvZHkuc2Ny
b2xsVG9wID0gaUZyYW1lQm9keS5zY3JvbGxIZWlnaHQgLSBpZnJhbWVUYXJnZXQuY2xpZW50SGVp
Z2h0IC0gMTAwOwogCi0gICAgLy8gU2Nyb2xsIHRoZSAjc291cmNlIHVudGlsIHdlIHJlYWNoIHRo
ZSAjdGFyZ2V0LgotICAgIHZhciBzdGFydFBvc1ggPSBNYXRoLnJvdW5kKGlmcmFtZVRhcmdldC5v
ZmZzZXRMZWZ0KSArIDIwOwotICAgIHZhciBzdGFydFBvc1kgPSBNYXRoLnJvdW5kKGlmcmFtZVRh
cmdldC5vZmZzZXRUb3ApICsgMTAwOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHN0YXJ0
UG9zWCwgc3RhcnRQb3NZKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVs
QW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdiZWdhbicsICdub25lJyk7Ci0gICAgZXZlbnRTZW5k
ZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnY2hhbmdl
ZCcsICdub25lJyk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1v
bWVudHVtUGhhc2VzKDAsIC0xLCAnY2hhbmdlZCcsICdub25lJyk7Ci0gICAgZXZlbnRTZW5kZXIu
bW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIDAsICdlbmRlZCcsICdu
b25lJyk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVt
UGhhc2VzKDAsIC0xLCAnbm9uZScsICdiZWdpbicpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Ny
b2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnY29udGludWUn
KTsKLSAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFz
ZXMoMCwgMCwgJ25vbmUnLCAnZW5kJyk7Ci0gICAgZXZlbnRTZW5kZXIuY2FsbEFmdGVyU2Nyb2xs
aW5nQ29tcGxldGVzKGNoZWNrRm9yU2Nyb2xsKTsKLX0KKyAgICAgICAgaUZyYW1lU2Nyb2xsUG9z
aXRpb25CZWZvcmUgPSBpRnJhbWVCb2R5LnNjcm9sbFRvcDsKIAotZnVuY3Rpb24gc2V0dXBUb3BM
ZXZlbCgpCi17Ci0gICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0K
LSAgICAgICAgZXZlbnRTZW5kZXIubW9uaXRvcldoZWVsRXZlbnRzKCk7Ci0gICAgICAgIHNldFRp
bWVvdXQoc2Nyb2xsVGVzdCwgMCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgdmFyIG1lc3NhZ2VM
b2NhdGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJlbnQnKTsKLSAgICAgICAgdmFy
IG1lc3NhZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICAgICAgbWVzc2Fn
ZS5pbm5lckhUTUwgPSAiPHA+VGhpcyB0ZXN0IGlzIGJldHRlciBydW4gdW5kZXIgRHVtcFJlbmRl
clRyZWUuIFRvIG1hbnVhbGx5IHRlc3QgaXQsIHBsYWNlIHRoZSBtb3VzZSBwb2ludGVyPGJyLz4i
Ci0gICAgICAgICAgICArICJpbnNpZGUgdGhlIElGcmFtZSwgdGhlbiB1c2UgdGhlIG1vdXNlIHdo
ZWVsIG9yIGEgdHdvLWZpbmdlciBzd2lwZSB0byBzY3JvbGwgdGhlIElGcmFtZSB0byB0aGUgYm90
dG9tIChhbmQgYmV5b25kKS48YnIvPiIKLSAgICAgICAgICAgICsgIjxici8+PGJyLz4iCi0gICAg
ICAgICAgICArICJUaGUgdGVzdCBwYXNzZXMgaWYgeW91IHNjcm9sbCBmYXIgZW5vdWdoIHRvIHNl
ZSB0aGUgcm93IG9mIEVORCBsYWJlbHMgYnV0IHRoZSBtYWluIHBhZ2UgZG9lcyBub3Qgc2Nyb2xs
LjwvcD4iOwotICAgICAgICBtZXNzYWdlTG9jYXRpb24uYXBwZW5kQ2hpbGQobWVzc2FnZSk7Cisg
ICAgICAgIC8vIFNjcm9sbCB0aGUgI3NvdXJjZSB1bnRpbCB3ZSByZWFjaCB0aGUgI3RhcmdldC4K
KyAgICAgICAgdmFyIHN0YXJ0UG9zWCA9IE1hdGgucm91bmQoaWZyYW1lVGFyZ2V0Lm9mZnNldExl
ZnQpICsgMjA7CisgICAgICAgIHZhciBzdGFydFBvc1kgPSBNYXRoLnJvdW5kKGlmcmFtZVRhcmdl
dC5vZmZzZXRUb3ApICsgMTAwOworICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhzdGFy
dFBvc1gsIHN0YXJ0UG9zWSk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRo
V2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ2JlZ2FuJywgJ25vbmUnKTsKKyAgICAgICAg
ZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0x
LCAnY2hhbmdlZCcsICdub25lJyk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlX
aXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ2NoYW5nZWQnLCAnbm9uZScpOworICAg
ICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMo
MCwgMCwgJ2VuZGVkJywgJ25vbmUnKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxC
eVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdiZWdpbicpOworICAg
ICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMo
MCwgLTEsICdub25lJywgJ2NvbnRpbnVlJyk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Ny
b2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAwLCAnbm9uZScsICdlbmQnKTsKKyAg
ICAgICAgZXZlbnRTZW5kZXIuY2FsbEFmdGVyU2Nyb2xsaW5nQ29tcGxldGVzKGNoZWNrRm9yU2Ny
b2xsKTsKICAgICB9Ci19CiAKKyAgICBmdW5jdGlvbiBzZXR1cFRvcExldmVsKCkKKyAgICB7Cisg
ICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVy
Lm1vbml0b3JXaGVlbEV2ZW50cygpOworICAgICAgICAgICAgc2V0VGltZW91dChzY3JvbGxUZXN0
LCAwKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHZhciBtZXNzYWdlTG9jYXRpb24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFyZW50Jyk7CisgICAgICAgICAgICB2YXIgbWVz
c2FnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICAgICAgbWVzc2Fn
ZS5pbm5lckhUTUwgPSAiPHA+VGhpcyB0ZXN0IGlzIGJldHRlciBydW4gdW5kZXIgRHVtcFJlbmRl
clRyZWUuIFRvIG1hbnVhbGx5IHRlc3QgaXQsIHBsYWNlIHRoZSBtb3VzZSBwb2ludGVyPGJyLz4i
CisgICAgICAgICAgICAgICAgKyAiaW5zaWRlIHRoZSBJRnJhbWUsIHRoZW4gdXNlIHRoZSBtb3Vz
ZSB3aGVlbCBvciBhIHR3by1maW5nZXIgc3dpcGUgdG8gc2Nyb2xsIHRoZSBJRnJhbWUgdG8gdGhl
IGJvdHRvbSAoYW5kIGJleW9uZCkuPGJyLz4iCisgICAgICAgICAgICAgICAgKyAiPGJyLz48YnIv
PiIKKyAgICAgICAgICAgICAgICArICJUaGUgdGVzdCBwYXNzZXMgaWYgeW91IHNjcm9sbCBmYXIg
ZW5vdWdoIHRvIHNlZSB0aGUgcm93IG9mIEVORCBsYWJlbHMgYnV0IHRoZSBtYWluIHBhZ2UgZG9l
cyBub3Qgc2Nyb2xsLjwvcD4iOworICAgICAgICAgICAgbWVzc2FnZUxvY2F0aW9uLmFwcGVuZENo
aWxkKG1lc3NhZ2UpOworICAgICAgICB9CisgICAgfQogPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KIDxkaXYgaWQ9InBhcmVudCIgc3R5bGU9ImhlaWdodDogMjAwMHB4Ij4KICAgICA8ZGl2IGlk
PSJzb3VyY2UiIHN0eWxlPSJoZWlnaHQ6IDEwMHB4Ij4KICAgICAgICAgUHV0IG1vdXNlIGhlcmUg
YW5kIGZsaWNrIGRvd253YXJkcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2lu
Zy9zY3JvbGxpbmcvZmFzdC1zY3JvbGwtbWFpbmZyYW1lLXpvb20tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZmFzdC1zY3JvbGwtbWFpbmZyYW1lLXpv
b20tZXhwZWN0ZWQudHh0CmluZGV4IDg5YTVjZTM4Yzk4MmRlZDhkNDFhMjA5NDE2ZmU3ODcyZDgw
YTc0NmEuLjEwYmQ3OWFiMTg4NmNkMDBiMTI4NmRhMzMzYzEzNTFhN2M5YWRhNGIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2Zhc3Qtc2Nyb2xsLW1haW5m
cmFtZS16b29tLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Nj
cm9sbGluZy9mYXN0LXNjcm9sbC1tYWluZnJhbWUtem9vbS1leHBlY3RlZC50eHQKQEAgLTIsMTQg
KzIsMTMgQEAgUHV0IG1vdXNlIGhlcmUgYW5kIGRvIHRoZSBmb2xsb3dpbmc6CiBQZXJmb3JtIHR3
byB0ZXh0IHpvb21zIChpbikuIChDb21tYW5kKyBpbiBTYWZhcmkpCiBTY3JvbGwgZG93biB0byB0
aGUgYm90dG9tLiBCZSBzdXJlIHRvIHNjcm9sbCBmYXIgZW5vdWdoIHRoYXQgYSBydWJiZXJiYW5k
IGFuaW1hdGlvbiBpcyB0cmlnZ2VyZWQuCiBQZXJmb3JtIHR3byB0ZXh0IHpvb21zIChvdXQpLiAo
Q29tbW1hbmQtIGluIFNhZmFyaSkKLVRPUCBUT1AgVE9QIFRPUCBUT1AgVE9QIFRPUCBUT1AgVE9Q
IFRPUCBUT1AgVE9QIFRPUCBUT1BFTkQgRU5EIEVORCBFTkQgRU5EIEVORCBFTkQgRU5EIEVORCBF
TkQgRU5EIEVORCBFTkQKIFRlc3RzIHRoYXQgc2Nyb2xsIGRpbWVuc2lvbnMgcmV0dXJuIHRvIGNv
cnJlY3Qgc2l6ZSBhZnRlciBydWJiZXIgYmFuZGluZyB3aGlsZSB6b29tZWQuCiAKIE9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KIAogCitQQVNTIFBhZ2UgcHJvcGVybHkgaGFuZGxlZCBydWJiZXIg
YmFuZGluZyBzdGF0ZS4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBD
T01QTEVURQotUEFTUyBQYWdlIHByb3Blcmx5IGhhbmRsZWQgcnViYmVyIGJhbmRpbmcgc3RhdGUu
CiBUaGlzIHNob3VsZCBiZSBhdCB0aGUgdmVyeSBib3R0b20gb2YgdGhlIHBhZ2UuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mYXN0LXNjcm9sbC1tYWlu
ZnJhbWUtem9vbS5odG1sIGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZmFz
dC1zY3JvbGwtbWFpbmZyYW1lLXpvb20uaHRtbAppbmRleCA2ODVlMmY0OTI5MWNlMTgzNDk2ODlk
ODJjNzk2OGYyNTMwMjk5NDNiLi5mM2UzZTQwNmI5NDM5ZGY1YjNiZTcyY2UxNzUwZDI2OWVkZDQ5
MDRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mYXN0
LXNjcm9sbC1tYWluZnJhbWUtem9vbS5odG1sCisrKyBiL0xheW91dFRlc3RzL3RpbGVkLWRyYXdp
bmcvc2Nyb2xsaW5nL2Zhc3Qtc2Nyb2xsLW1haW5mcmFtZS16b29tLmh0bWwKQEAgLTEsMTA3ICsx
LDExMiBAQAogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KLSAgICA8aGVhZD4KLSAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyIgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij48L3NjcmlwdD4KLSAgICA8L2hlYWQ+Ci0gICAgPGJvZHk+Ci0gICAgICAgIDxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgICAgIHZhciBwYWdlU2Nyb2xsUG9z
aXRpb25CZWZvcmU7Ci0gICAgICAgICAgICB2YXIgcGFnZVNjcm9sbEhlaWdodEJlZm9yZTsKLSAg
ICAgICAgICAgIHZhciBjb250aW51ZUNvdW50ID0gNTsKKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3Nj
cmlwdD4KKzxzdHlsZT4KKyAgICAjcGFyZW50IHsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjog
I2VlZTsKKyAgICB9CisgICAgI3RhcmdldCB7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNp
bHZlcjsKKyAgICB9Cis8L3N0eWxlPgorPHNjcmlwdD4KKyAgICB3aW5kb3cuanNUZXN0SXNBc3lu
YyA9IHRydWU7CiAKLSAgICAgICAgICAgIGZ1bmN0aW9uIGNoZWNrRm9yU2Nyb2xsT2Zmc2V0KCkK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB2YXIgcGFnZVNjcm9sbFBvc2l0aW9uQWZ0
ZXIgPSBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcDsKLSAgICAgICAgICAgICAg
ICB2YXIgcGFnZVNjcm9sbEhlaWdodEFmdGVyID0gZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5z
Y3JvbGxIZWlnaHQ7CisgICAgdmFyIHBhZ2VTY3JvbGxQb3NpdGlvbkJlZm9yZTsKKyAgICB2YXIg
cGFnZVNjcm9sbEhlaWdodEJlZm9yZTsKKyAgICB2YXIgY29udGludWVDb3VudCA9IDU7CiAKLSAg
ICAgICAgICAgICAgICBpZiAocGFnZVNjcm9sbFBvc2l0aW9uQWZ0ZXIgKyAxMDAgPj0gcGFnZVNj
cm9sbFBvc2l0aW9uQmVmb3JlKQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJQYWdl
IGRpZCBub3QgcHJvcGVybHkgaGFuZGxlIHJ1YmJlciBiYW5kaW5nIHN0YXRlLiIpOwotICAgICAg
ICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiUGFnZSBwcm9w
ZXJseSBoYW5kbGVkIHJ1YmJlciBiYW5kaW5nIHN0YXRlLiIpOworICAgIGZ1bmN0aW9uIGNoZWNr
Rm9yU2Nyb2xsT2Zmc2V0KCkKKyAgICB7CisgICAgICAgIHZhciBwYWdlU2Nyb2xsUG9zaXRpb25B
ZnRlciA9IGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wOworICAgICAgICB2YXIg
cGFnZVNjcm9sbEhlaWdodEFmdGVyID0gZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxI
ZWlnaHQ7CiAKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAg
ICAgICAgIH0KKyAgICAgICAgaWYgKHBhZ2VTY3JvbGxQb3NpdGlvbkFmdGVyICsgMTAwID49IHBh
Z2VTY3JvbGxQb3NpdGlvbkJlZm9yZSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIlBhZ2UgZGlk
IG5vdCBwcm9wZXJseSBoYW5kbGUgcnViYmVyIGJhbmRpbmcgc3RhdGUuIik7CisgICAgICAgIGVs
c2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIlBhZ2UgcHJvcGVybHkgaGFuZGxlZCBydWJiZXIg
YmFuZGluZyBzdGF0ZS4iKTsKIAotICAgICAgICAgICAgdmFyIHpvb21PdXRDb3VudCA9IDA7Ci0g
ICAgICAgICAgICBmdW5jdGlvbiB6b29tUGFnZU91dCgpCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgaWYgKCF6b29tT3V0Q291bnQpIHsKLSAgICAgICAgICAgICAgICAgICAgcGFnZVNj
cm9sbFBvc2l0aW9uQmVmb3JlID0gZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3A7
Ci0gICAgICAgICAgICAgICAgICAgIHBhZ2VTY3JvbGxIZWlnaHRCZWZvcmUgPSBkb2N1bWVudC5z
Y3JvbGxpbmdFbGVtZW50LnNjcm9sbEhlaWdodDsKLSAgICAgICAgICAgICAgICB9CisgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgIH0KIAotICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLnpv
b21QYWdlT3V0KCk7Ci0gICAgICAgICAgICAgICAgem9vbU91dENvdW50ID0gem9vbU91dENvdW50
ICsgMTsKLSAgICAgICAgICAgICAgICBpZiAoem9vbU91dENvdW50ID49IDIpCi0gICAgICAgICAg
ICAgICAgICAgIHNldFRpbWVvdXQoY2hlY2tGb3JTY3JvbGxPZmZzZXQsIDEwMCk7Ci0gICAgICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHpvb21QYWdlT3V0
LCAxMDApOwotICAgICAgICAgICAgfQorICAgIHZhciB6b29tT3V0Q291bnQgPSAwOworICAgIGZ1
bmN0aW9uIHpvb21QYWdlT3V0KCkKKyAgICB7CisgICAgICAgIGlmICghem9vbU91dENvdW50KSB7
CisgICAgICAgICAgICBwYWdlU2Nyb2xsUG9zaXRpb25CZWZvcmUgPSBkb2N1bWVudC5zY3JvbGxp
bmdFbGVtZW50LnNjcm9sbFRvcDsKKyAgICAgICAgICAgIHBhZ2VTY3JvbGxIZWlnaHRCZWZvcmUg
PSBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbEhlaWdodDsKKyAgICAgICAgfQogCi0g
ICAgICAgICAgICBmdW5jdGlvbiBzY3JvbGxEb3duKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAvLyBTY3JvbGwgdGhlICNzb3VyY2UgdW50aWwgd2UgcmVhY2ggdGhlICN0YXJnZXQu
Ci0gICAgICAgICAgICAgICAgdmFyIHNlbGVjdFRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd0YXJnZXQnKTsKLSAgICAgICAgICAgICAgICB2YXIgc3RhcnRQb3NYID0gTWF0aC5yb3Vu
ZChzZWxlY3RUYXJnZXQub2Zmc2V0TGVmdCkgKyAyMDsKLSAgICAgICAgICAgICAgICB2YXIgc3Rh
cnRQb3NZID0gTWF0aC5yb3VuZChzZWxlY3RUYXJnZXQub2Zmc2V0VG9wKSAtIDQyOyAvLyBTbGln
aHRseSBtb3JlIHRoYW4gb25lIHdoZWVsIHNjcm9sbCBhd2F5IGZyb20gdGhlIHRhcmdldCBkaXYK
LSAgICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhzdGFydFBvc1gsIHN0YXJ0
UG9zWSk7IC8vIE1ha2Ugc3VyZSB3ZSBhcmUganVzdCBvdXRzaWRlIHRoZSB0YXJnZXQgZGl2Ci0g
ICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVu
dHVtUGhhc2VzKDAsIC0xLCAnYmVnYW4nLCAnbm9uZScpOwotICAgICAgICAgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgNDA7ICsraSkgewotICAgICAgICAgICAgICAgICAgICBldmVudFNlbmRl
ci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEwLCAnY2hhbmdl
ZCcsICdub25lJyk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAwLCAnZW5kZWQn
LCAnbm9uZScpOwotICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBzZXRUaW1lb3V0
KHpvb21QYWdlT3V0LCA3MDApOwotICAgICAgICAgICAgfQorICAgICAgICBldmVudFNlbmRlci56
b29tUGFnZU91dCgpOworICAgICAgICB6b29tT3V0Q291bnQgPSB6b29tT3V0Q291bnQgKyAxOwor
ICAgICAgICBpZiAoem9vbU91dENvdW50ID49IDIpCisgICAgICAgICAgICBzZXRUaW1lb3V0KGNo
ZWNrRm9yU2Nyb2xsT2Zmc2V0LCAxMDApOworICAgICAgICBlbHNlCisgICAgICAgICAgICBzZXRU
aW1lb3V0KHpvb21QYWdlT3V0LCAxMDApOworICAgIH0KIAotICAgICAgICAgICAgdmFyIHpvb21J
bkNvdW50ID0gMDsKLSAgICAgICAgICAgIGZ1bmN0aW9uIHpvb21QYWdlSW4oKQotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLnpvb21QYWdlSW4oKTsKLSAgICAgICAg
ICAgICAgICB6b29tSW5Db3VudCA9IHpvb21JbkNvdW50ICsgMTsKLSAgICAgICAgICAgICAgICBp
ZiAoem9vbUluQ291bnQgPj0gMikKLSAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChzY3Jv
bGxEb3duLCAxMDApOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAg
c2V0VGltZW91dCh6b29tUGFnZUluLCAxMDApOwotICAgICAgICAgICAgfQorICAgIGZ1bmN0aW9u
IHNjcm9sbERvd24oKQorICAgIHsKKyAgICAgICAgLy8gU2Nyb2xsIHRoZSAjc291cmNlIHVudGls
IHdlIHJlYWNoIHRoZSAjdGFyZ2V0LgorICAgICAgICB2YXIgc2VsZWN0VGFyZ2V0ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldCcpOworICAgICAgICB2YXIgc3RhcnRQb3NYID0gTWF0
aC5yb3VuZChzZWxlY3RUYXJnZXQub2Zmc2V0TGVmdCkgKyAyMDsKKyAgICAgICAgdmFyIHN0YXJ0
UG9zWSA9IE1hdGgucm91bmQoc2VsZWN0VGFyZ2V0Lm9mZnNldFRvcCkgLSA0MjsgLy8gU2xpZ2h0
bHkgbW9yZSB0aGFuIG9uZSB3aGVlbCBzY3JvbGwgYXdheSBmcm9tIHRoZSB0YXJnZXQgZGl2Cisg
ICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHN0YXJ0UG9zWCwgc3RhcnRQb3NZKTsgLy8g
TWFrZSBzdXJlIHdlIGFyZSBqdXN0IG91dHNpZGUgdGhlIHRhcmdldCBkaXYKKyAgICAgICAgZXZl
bnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAn
YmVnYW4nLCAnbm9uZScpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDQwOyArK2kpIHsK
KyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1
bVBoYXNlcygwLCAtMTAsICdjaGFuZ2VkJywgJ25vbmUnKTsKKyAgICAgICAgfQorICAgICAgICBl
dmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgMCwg
J2VuZGVkJywgJ25vbmUnKTsKKyAgICAgICAgIAorICAgICAgICBzZXRUaW1lb3V0KHpvb21QYWdl
T3V0LCA3MDApOworICAgIH0KIAotICAgICAgICAgICAgZnVuY3Rpb24gc3RhcnRUZXN0KCkKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB2YXIgem9vbUluQ291bnQg
PSAwOworICAgIGZ1bmN0aW9uIHpvb21QYWdlSW4oKQorICAgIHsKKyAgICAgICAgZXZlbnRTZW5k
ZXIuem9vbVBhZ2VJbigpOworICAgICAgICB6b29tSW5Db3VudCA9IHpvb21JbkNvdW50ICsgMTsK
KyAgICAgICAgaWYgKHpvb21JbkNvdW50ID49IDIpCisgICAgICAgICAgICBzZXRUaW1lb3V0KHNj
cm9sbERvd24sIDEwMCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHNldFRpbWVvdXQoem9v
bVBhZ2VJbiwgMTAwKTsKKyAgICB9CiAKLSAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCh6
b29tUGFnZUluLCAwKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAg
ICAgICB2YXIgbWVzc2FnZUxvY2F0aW9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhcmVu
dCcpOwotICAgICAgICAgICAgICAgICAgICB2YXIgbWVzc2FnZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2RpdicpOwotICAgICAgICAgICAgICAgICAgICBtZXNzYWdlLmlubmVySFRNTCA9ICI8
cD5UaGlzIHRlc3QgaXMgYmV0dGVyIHJ1biB1bmRlciBEdW1wUmVuZGVyVHJlZS4gVG8gbWFudWFs
bHkgdGVzdCBpdCwgcGxhY2UgdGhlIG1vdXNlIHBvaW50ZXI8YnIvPiIKLSAgICAgICAgICAgICAg
ICAgICAgICAgICsgImF0IHRoZSB0b3Agb2YgdGhlIHBhZ2UsIHBlcmZvcm0gdHdvIHRleHQgem9v
bXMsIHNjcm9sbCB0byB0aGUgYm90dG9tIG9mIHRoZSBwYWdlLCB0aGVuIHpvb20gYmFjayBvdXQu
PGJyLz4iCi0gICAgICAgICAgICAgICAgICAgICsgIlRoZSBib3R0b20gb2YgdGhlIHRlc3QgcGFn
ZSBzaG91bGQgbm90IGJlIG9mZnNldCBmcm9tIHRoZSBib3R0b20gb2YgdGhlIHdlYiB2aWV3Ljxc
L3A+IjsKLSAgICAgICAgICAgICAgICAgICAgbWVzc2FnZUxvY2F0aW9uLmFwcGVuZENoaWxkKG1l
c3NhZ2UpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KKyAgICBmdW5jdGlvbiBz
dGFydFRlc3QoKQorICAgIHsKKyAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAg
ICAgICAgICAgc2V0VGltZW91dCh6b29tUGFnZUluLCAwKTsKKyAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgIHZhciBtZXNzYWdlTG9jYXRpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
cGFyZW50Jyk7CisgICAgICAgICAgICB2YXIgbWVzc2FnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpOworICAgICAgICAgICAgbWVzc2FnZS5pbm5lckhUTUwgPSAiPHA+VGhpcyB0ZXN0
IGlzIGJldHRlciBydW4gdW5kZXIgRHVtcFJlbmRlclRyZWUuIFRvIG1hbnVhbGx5IHRlc3QgaXQs
IHBsYWNlIHRoZSBtb3VzZSBwb2ludGVyPGJyLz4iCisgICAgICAgICAgICAgICAgKyAiYXQgdGhl
IHRvcCBvZiB0aGUgcGFnZSwgcGVyZm9ybSB0d28gdGV4dCB6b29tcywgc2Nyb2xsIHRvIHRoZSBi
b3R0b20gb2YgdGhlIHBhZ2UsIHRoZW4gem9vbSBiYWNrIG91dC48YnIvPiIKKyAgICAgICAgICAg
ICsgIlRoZSBib3R0b20gb2YgdGhlIHRlc3QgcGFnZSBzaG91bGQgbm90IGJlIG9mZnNldCBmcm9t
IHRoZSBib3R0b20gb2YgdGhlIHdlYiB2aWV3LjxcL3A+IjsKKyAgICAgICAgICAgIG1lc3NhZ2VM
b2NhdGlvbi5hcHBlbmRDaGlsZChtZXNzYWdlKTsKKyAgICAgICAgfQorICAgIH0KIAotICAgICAg
ICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBzdGFydFRlc3QsIGZhbHNlKTsK
LSAgICAgICAgPC9zY3JpcHQ+Ci0gICAgICAgIDxkaXYgaWQ9InBhcmVudCIgc3R5bGU9ImhlaWdo
dDogMjAwMHB4OyI+Ci0gICAgICAgICAgICA8ZGl2IGlkPSJzb3VyY2UiIHN0eWxlPSJoZWlnaHQ6
IDEwMHB4Ij4KLSAgICAgICAgICAgICAgICBQdXQgbW91c2UgaGVyZSBhbmQgZG8gdGhlIGZvbGxv
d2luZzoKLSAgICAgICAgICAgICAgICA8b2w+Ci0gICAgICAgICAgICAgICAgICAgIDxsaT5QZXJm
b3JtIHR3byB0ZXh0IHpvb21zIChpbikuIChDb21tYW5kKyBpbiBTYWZhcmkpPC9saT4KLSAgICAg
ICAgICAgICAgICAgICAgPGxpPlNjcm9sbCBkb3duIHRvIHRoZSBib3R0b20uIEJlIHN1cmUgdG8g
c2Nyb2xsIGZhciBlbm91Z2ggdGhhdCBhIHJ1YmJlcmJhbmQgYW5pbWF0aW9uIGlzIHRyaWdnZXJl
ZC48L2xpPgotICAgICAgICAgICAgICAgICAgICA8bGk+UGVyZm9ybSB0d28gdGV4dCB6b29tcyAo
b3V0KS4gIChDb21tbWFuZC0gaW4gU2FmYXJpKTwvbGk+Ci0gICAgICAgICAgICAgICAgPC9vbD4K
LSAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAgPGRpdiBpZD0idGFyZ2V0IiBzdHlsZT0i
aGVpZ2h0OiAxMDAwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZSI+Ci0gICAgICAgICAgICAgICA8ZGl2
IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMCI+VE9QIFRPUCBUT1AgVE9QIFRPUCBU
T1AgVE9QIFRPUCBUT1AgVE9QIFRPUCBUT1AgVE9QIFRPUDwvZGl2PgotICAgICAgICAgICAgICAg
PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBib3R0b206IDAiPkVORCBFTkQgRU5EIEVO
RCBFTkQgRU5EIEVORCBFTkQgRU5EIEVORCBFTkQgRU5EIEVORDwvZGl2PgotICAgICAgICAgICAg
PC9kaXY+CisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBzdGFydFRlc3QsIGZh
bHNlKTsgICAgICAgIAorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGlkPSJw
YXJlbnQiIHN0eWxlPSJoZWlnaHQ6IDIwMDBweDsiPgorICAgICAgICA8ZGl2IGlkPSJzb3VyY2Ui
IHN0eWxlPSJoZWlnaHQ6IDEwMHB4Ij4KKyAgICAgICAgICAgIFB1dCBtb3VzZSBoZXJlIGFuZCBk
byB0aGUgZm9sbG93aW5nOgorICAgICAgICAgICAgPG9sPgorICAgICAgICAgICAgICAgIDxsaT5Q
ZXJmb3JtIHR3byB0ZXh0IHpvb21zIChpbikuIChDb21tYW5kKyBpbiBTYWZhcmkpPC9saT4KKyAg
ICAgICAgICAgICAgICA8bGk+U2Nyb2xsIGRvd24gdG8gdGhlIGJvdHRvbS4gQmUgc3VyZSB0byBz
Y3JvbGwgZmFyIGVub3VnaCB0aGF0IGEgcnViYmVyYmFuZCBhbmltYXRpb24gaXMgdHJpZ2dlcmVk
LjwvbGk+CisgICAgICAgICAgICAgICAgPGxpPlBlcmZvcm0gdHdvIHRleHQgem9vbXMgKG91dCku
ICAoQ29tbW1hbmQtIGluIFNhZmFyaSk8L2xpPgorICAgICAgICAgICAgPC9vbD4KICAgICAgICAg
PC9kaXY+Ci0gICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PjxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHNjcm9s
bCBkaW1lbnNpb25zIHJldHVybiB0byBjb3JyZWN0IHNpemUgYWZ0ZXIgcnViYmVyIGJhbmRpbmcg
d2hpbGUgem9vbWVkLiIpOwotICAgICAgICA8L3NjcmlwdD4KLSAgICAgICAgPGRpdiBpZD0iYm90
dG9tIj5UaGlzIHNob3VsZCBiZSBhdCB0aGUgdmVyeSBib3R0b20gb2YgdGhlIHBhZ2UuPC9kaXY+
Ci0gICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIiB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgotICAgIDwvYm9keT4KKyAgICAgICAgPGRp
diBpZD0idGFyZ2V0IiBzdHlsZT0iaGVpZ2h0OiAxMDAwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZSI+
CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgICAgICAgZGVzY3JpcHRpb24oIlRl
c3RzIHRoYXQgc2Nyb2xsIGRpbWVuc2lvbnMgcmV0dXJuIHRvIGNvcnJlY3Qgc2l6ZSBhZnRlciBy
dWJiZXIgYmFuZGluZyB3aGlsZSB6b29tZWQuIik7CisgICAgPC9zY3JpcHQ+CisgICAgPGRpdiBp
ZD0iYm90dG9tIj5UaGlzIHNob3VsZCBiZSBhdCB0aGUgdmVyeSBib3R0b20gb2YgdGhlIHBhZ2Uu
PC9kaXY+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8L2JvZHk+CiA8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGxpbmctbm8t
aWZyYW1lLWxhdGNoaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGlu
Zy9zY3JvbGxpbmctbm8taWZyYW1lLWxhdGNoaW5nLmh0bWwKaW5kZXggY2RjZTE5MmVlZWYwZGVh
NWFiZDNjMDJkZWE4OGRlNmM1MDc0YTMzMi4uZjZiZTFjOTY4MTQ4OTQ4MzFmZWIyYjNjZjQ1NWU0
OGNlYmM3ZjdmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxp
bmcvc2Nyb2xsaW5nLW5vLWlmcmFtZS1sYXRjaGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL3Rp
bGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbGluZy1uby1pZnJhbWUtbGF0Y2hpbmcuaHRtbApA
QCAtNDAsMTAgKzQwLDggQEAKIAogICAgIGZ1bmN0aW9uIHNldHVwVG9wTGV2ZWwoKQogICAgIHsK
LSAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpCiAgICAgICAg
ICAgICBzZXRUaW1lb3V0KHNjcm9sbFRlc3QsIDApOwotICAgICAgICB9CiAgICAgCiAgICAgICAg
IHNldFRpbWVvdXQoY2hlY2tGb3JTY3JvbGwsIDEwMDApOwogICAgIH0K
</data>
<flag name="review"
          id="409121"
          type_id="1"
          status="+"
          setter="koivisto"
    />
    <flag name="commit-queue"
          id="409139"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>