<?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>148046</bug_id>
          
          <creation_ts>2015-08-14 16:41:30 -0700</creation_ts>
          <short_desc>Clean up js-test use in scroll-snap tests</short_desc>
          <delta_ts>2015-08-14 22:51:32 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1117828</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-08-14 16:41:30 -0700</bug_when>
    <thetext>Some of the tests have misplaced &quot;TEST COMPLETE&quot; output lines and other minor issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117829</commentid>
    <comment_count>1</comment_count>
      <attachid>259057</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-08-14 16:42:53 -0700</bug_when>
    <thetext>Created attachment 259057
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117882</commentid>
    <comment_count>2</comment_count>
      <attachid>259057</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-08-14 20:38:57 -0700</bug_when>
    <thetext>Comment on attachment 259057
proposed patch

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

Thank you for cleaning these up! r=me.

&gt; LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-borders-expected.txt:2
&gt; + Testing scroll-snap glide for horizontalTarget:

I wonder why there is this extra space here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117897</commentid>
    <comment_count>3</comment_count>
      <attachid>259057</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-08-14 22:06:49 -0700</bug_when>
    <thetext>Comment on attachment 259057
proposed patch

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

&gt;&gt; LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-borders-expected.txt:2
&gt;&gt; + Testing scroll-snap glide for horizontalTarget:
&gt; 
&gt; I wonder why there is this extra space here?

There was already a space in the first output line (&quot; PASS successfullyParsed is true&quot;), so it&apos;s not a regression from this patch. It comes from a div, although I&apos;m not entirely sure why WebCore decides to serialize in div into a space.

I agree that this looks weird.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117902</commentid>
    <comment_count>4</comment_count>
      <attachid>259057</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-14 22:51:28 -0700</bug_when>
    <thetext>Comment on attachment 259057
proposed patch

Clearing flags on attachment: 259057

Committed r188509: &lt;http://trac.webkit.org/changeset/188509&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117903</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-14 22:51:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259057</attachid>
            <date>2015-08-14 16:42:53 -0700</date>
            <delta_ts>2015-08-14 22:51:28 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>ScrollSnapCleanup.txt</filename>
            <type>text/plain</type>
            <size>30441</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE4ODQ5NykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDE1LTA4LTE0ICBBbGV4ZXkgUHJvc2t1cnlh
a292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIENsZWFuIHVwIGpzLXRlc3QgdXNlIGluIHNj
cm9sbC1zbmFwIHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDgwNDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFw
LWlmcmFtZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcv
c2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtaWZyYW1lLmh0bWw6CisgICAgICAgICogdGlsZWQtZHJh
d2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LTJkLW92ZXJm
bG93LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB0aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3Jv
bGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktMmQtb3ZlcmZsb3cuaHRtbDoKKyAgICAgICAg
KiB0aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRv
cnktYm9yZGVycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogdGlsZWQtZHJhd2luZy9zY3JvbGxp
bmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LWJvcmRlcnMuaHRtbDoKKyAgICAg
ICAgKiB0aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5k
YXRvcnktbWFpbmZyYW1lLWhvcml6b250YWwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHRpbGVk
LWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWlu
ZnJhbWUtaG9yaXpvbnRhbC5odG1sOgorICAgICAgICAqIHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5n
L3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtc2xvdy1ob3Jpem9u
dGFsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB0aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3Jv
bGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLXNsb3ctaG9yaXpvbnRhbC5o
dG1sOgorICAgICAgICAqIHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9s
bC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtc2xvdy12ZXJ0aWNhbC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAt
bWFuZGF0b3J5LW1haW5mcmFtZS1zbG93LXZlcnRpY2FsLmh0bWw6CisgICAgICAgICogdGlsZWQt
ZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5m
cmFtZS12ZXJ0aWNhbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogdGlsZWQtZHJhd2luZy9zY3Jv
bGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS12ZXJ0aWNh
bC5odG1sOgorICAgICAgICAqIHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Nj
cm9sbC1zbmFwLW1hbmRhdG9yeS1vdmVyZmxvdy1leHBlY3RlZC50eHQ6CisgICAgICAgICogdGls
ZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW92
ZXJmbG93LXN0YXRlbGVzcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogdGlsZWQtZHJhd2luZy9z
Y3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW92ZXJmbG93LXN0YXRl
bGVzcy5odG1sOgorICAgICAgICAqIHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFw
L3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1vdmVyZmxvdy5odG1sOgorICAgICAgICAqIHRpbGVkLWRy
YXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1wYWRkaW5n
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB0aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwt
c25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktcGFkZGluZy5odG1sOgorICAgICAgICAqIHRpbGVk
LWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1yb3Rh
dGVkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB0aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3Jv
bGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktcm90YXRlZC5odG1sOgorCiAyMDE1LTA4LTE0
ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNd
IHZpZGVvLWJ1ZmZlcmVkLXJhbmdlLWNvbnRhaW5zLWN1cnJlbnRUaW1lLmh0bWwgaXMgZmxha2V5
IGFmdGVyIHIxODgzOTAKSW5kZXg6IExheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5n
L3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLWlmcmFtZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xs
LXNuYXAtaWZyYW1lLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTg4NDc0KQorKysgTGF5b3V0VGVz
dHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtaWZyYW1l
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw4ICsxLDUgQEAKIFRlc3RzIHRoYXQg
dGhlIHNjcm9sbC1zbmFwIGZlYXR1cmUgd29ya3MgcHJvcGVybHkgaW4gaWZyYW1lcy4KICAKLVBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQogVGVzdGluZyBz
Y3JvbGwtc25hcCBnbGlkZSBmb3IgaG9yaXpvbnRhbFRhcmdldDoKIFBBU1MgZGl2IHNjcm9sbGVk
IHRvIG5leHQgd2luZG93LgogVGVzdGluZyBzY3JvbGwtc25hcCBzbmFwIGZvciBob3Jpem9udGFs
VGFyZ2V0OgpJbmRleDogTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xs
LXNuYXAvc2Nyb2xsLXNuYXAtaWZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
dGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtaWZyYW1lLmh0
bWwJKHJldmlzaW9uIDE4ODQ3NCkKKysrIExheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xs
aW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLWlmcmFtZS5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0xOCw4ICsxOCwxMCBAQAogICAgICAgICAgICAgICAgIG1hcmdpbjogMnB4OwogICAgICAgICAg
ICAgfQogICAgICAgICA8L3N0eWxlPgotICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KICAgICAgICAgPHNjcmlwdD4K
KyAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCiAgICAgICAgIHZhciBpZnJh
bWVTY3JvbGxQb3NpdGlvbkJlZm9yZUdsaWRlOwogICAgICAgICB2YXIgZGl2U2Nyb2xsUG9zaXRp
b25CZWZvcmVTbmFwOwogCkBAIC00MSwxMiArNDMsNiBAQAogICAgICAgICAgICAgcmV0dXJuIHBv
c2l0aW9uOwogICAgICAgICB9CiAKLSAgICAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7ICAgICAgICAgICAgCi0gICAgICAgIH0KLQogICAgICAgICBmdW5jdGlv
biBjaGVja0ZvclNjcm9sbFNuYXAodGFyZ2V0TGFiZWwpCiAgICAgICAgIHsKICAgICAgICAgICAg
IHZhciBpZnJhbWVUYXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YXJnZXRMYWJlbCk7
CkBAIC02NCw3ICs2MCw3IEBACiAgICAgICAgICAgICBpZiAodGFyZ2V0TGFiZWwgPT0gJ2hvcml6
b250YWxUYXJnZXQnKQogICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHNj
cm9sbEdsaWRlVGVzdCgndmVydGljYWxUYXJnZXQnKSB9LCAwKTsKICAgICAgICAgICAgIGVsc2Ug
ICAKLSAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CiAgICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiBzY3JvbGxTbmFwVGVzdCh0
YXJnZXRMYWJlbCkKQEAgLTE1MywxMCArMTQ5LDYgQEAKICAgICAgICAgZnVuY3Rpb24gb25Mb2Fk
KCkKICAgICAgICAgewogICAgICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAg
ICAgICAgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLSAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKLQogICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vbml0b3JXaGVl
bEV2ZW50cygpOwogICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHNjcm9s
bEdsaWRlVGVzdCgnaG9yaXpvbnRhbFRhcmdldCcpIH0sIDApOwogICAgICAgICAgICAgfQpAQCAt
MTcwLDYgKzE2Miw1IEBACiAgICAgICAgICAgICA8aWZyYW1lIGlkPSJ2ZXJ0aWNhbFRhcmdldCIg
Y2xhc3M9InZlcnRpY2FsR2FsbGVyeSIgc3JjPSJyZXNvdXJjZXMvdmVydGljYWwtbWFpbmZyYW1l
Lmh0bWwiICBzdHlsZT0iaGVpZ2h0OiAzMDBweDsgd2lkdGg6IDMwMHB4Ij48L2lmcmFtZT4KICAg
ICAgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgogICAgICAgICA8L2Rpdj4KLSAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgogICAgIDwvYm9keT4KIDwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCklu
ZGV4OiBMYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3Jv
bGwtc25hcC1tYW5kYXRvcnktMmQtb3ZlcmZsb3ctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1z
bmFwLW1hbmRhdG9yeS0yZC1vdmVyZmxvdy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE4ODQ3NCkK
KysrIExheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9s
bC1zbmFwLW1hbmRhdG9yeS0yZC1vdmVyZmxvdy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTEsNiArMSwzIEBACi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1Qg
Q09NUExFVEUKIFBBU1MgZGl2IHN1Y2Nlc3NmdWxseSBzY3JvbGxlZCBkaWFnb25hbGx5LgogUEFT
UyBkaXYgc3VjY2Vzc2Z1bGx5IHNuYXBwZWQgZGlhZ29uYWxseS4KIFBBU1MgZGl2IHN1Y2Nlc3Nm
dWxseSBzbmFwcGVkIGFmdGVyIGRyYWdnaW5nIGFsb25nIG9uZSBheGlzIGFuZCB0aGVuIHNjcm9s
bGluZyBpbiB0aGUgb3RoZXIuCkluZGV4OiBMYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9s
bGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktMmQtb3ZlcmZsb3cuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwt
c25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktMmQtb3ZlcmZsb3cuaHRtbAkocmV2aXNpb24gMTg4
NDc0KQorKysgTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAv
c2Nyb2xsLXNuYXAtbWFuZGF0b3J5LTJkLW92ZXJmbG93Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTM1LDI0ICszNSwyMSBAQAogICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDBweDsKICAgICAg
ICAgICAgIH0KICAgICAgICAgPC9zdHlsZT4KLSAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CiAgICAgICAgIDxzY3Jp
cHQ+CisgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwogICAgICAgICB2YXIg
ZGl2VGFyZ2V0OwogICAgICAgICB2YXIgZGl2U2Nyb2xsUG9zaXRpb25CZWZvcmVHbGlkZTsKICAg
ICAgICAgdmFyIGRpdlNjcm9sbFBvc2l0aW9uQmVmb3JlU25hcDsKICAgICAgICAgdmFyIGRpdlNj
cm9sbFBvc2l0aW9uQmVmb3JlU2luZ2xlQXhpc0dsaWRlOwogCi0gICAgICAgIGZ1bmN0aW9uIGZp
bmlzaFRlc3QoKSB7Ci0gICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICAgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAgICB9Ci0KICAgICAgICAgZnVuY3Rpb24gY2hl
Y2tGb3JTaW5nbGVBeGlzR2xpZGUoKSB7CiAgICAgICAgICAgICBpZiAoZGl2VGFyZ2V0LnNjcm9s
bFRvcCA9PSBkaXZTY3JvbGxQb3NpdGlvbkJlZm9yZVNpbmdsZUF4aXNHbGlkZS55ICsgNDAwICYm
IGRpdlRhcmdldC5zY3JvbGxMZWZ0ID09IGRpdlNjcm9sbFBvc2l0aW9uQmVmb3JlU2luZ2xlQXhp
c0dsaWRlLngpCiAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiZGl2IHN1Y2Nlc3NmdWxseSBz
bmFwcGVkIGFmdGVyIGRyYWdnaW5nIGFsb25nIG9uZSBheGlzIGFuZCB0aGVuIHNjcm9sbGluZyBp
biB0aGUgb3RoZXIuIik7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZCgiZGl2IGRpZCBub3QgaG9ub3IgMkQgc25hcCBwb2ludHMuIChzaW5nbGUgYXhpcyBzY3Jv
bGwgZm9sbG93ZWQgYnkgZmxpY2sgb24gb3RoZXIgYXhpcykiKTsKLSAgICAgICAgICAgIGZpbmlz
aFRlc3QoKTsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAgICAgICB9CiAKICAgICAg
ICAgZnVuY3Rpb24gc2Nyb2xsQW5kR2xpZGVJblNpbmdsZUF4aXNUZXN0KCkgewpAQCAtMTMyLDEw
ICsxMjksNiBAQAogCiAgICAgICAgIGZ1bmN0aW9uIG9uTG9hZCgpIHsKICAgICAgICAgICAgIGlm
ICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKLSAgICAgICAgICAgICAgICB3aW5kb3cuanNUZXN0SXNB
c3luYyA9IHRydWU7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0g
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0KICAgICAgICAgICAg
ICAgICBldmVudFNlbmRlci5tb25pdG9yV2hlZWxFdmVudHMoKTsKICAgICAgICAgICAgICAgICBz
ZXRUaW1lb3V0KHNjcm9sbEdsaWRlVGVzdCwgMCk7CiAgICAgICAgICAgICB9IGVsc2UgewpAQCAt
MTYxLDYgKzE1NCw1IEBACiAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj48ZGl2
IGNsYXNzPSJjZWxsIiBpZD0iZ3JlZW4iPjwvZGl2PjxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2Pjxi
ci8+CiAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj48ZGl2IGNsYXNzPSJjZWxs
IiBpZD0iZ3JlZW4iPjwvZGl2PjxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICA8L2Rp
dj4KLSAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgogICAgIDwvYm9keT4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3Rp
bGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1i
b3JkZXJzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy90aWxlZC1kcmF3
aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktYm9yZGVycy1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDE4ODQ3NCkKKysrIExheW91dFRlc3RzL3RpbGVkLWRyYXdp
bmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1ib3JkZXJzLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw4ICsxLDUgQEAKIFRlc3RzIHRoYXQgdGhl
IHNjcm9sbC1zbmFwIGZlYXR1cmUgd29ya3MgcHJvcGVybHkgaW4gb3ZlcmZsb3cgcmVnaW9ucy4K
LSBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLVRlc3Rp
bmcgc2Nyb2xsLXNuYXAgZ2xpZGUgZm9yIGhvcml6b250YWxUYXJnZXQ6CisgVGVzdGluZyBzY3Jv
bGwtc25hcCBnbGlkZSBmb3IgaG9yaXpvbnRhbFRhcmdldDoKIFBBU1MgZGl2IHNjcm9sbGVkIHRv
IG5leHQgd2luZG93LgogVGVzdGluZyBzY3JvbGwtc25hcCBzbmFwIGZvciBob3Jpem9udGFsVGFy
Z2V0OgogUEFTUyBkaXYgaG9ub3JlZCBzbmFwIHBvaW50cy4KSW5kZXg6IExheW91dFRlc3RzL3Rp
bGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1i
b3JkZXJzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3Jv
bGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LWJvcmRlcnMuaHRtbAkocmV2
aXNpb24gMTg4NDc0KQorKysgTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Ny
b2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LWJvcmRlcnMuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtNTEsOCArNTEsMTAgQEAKICAgICAgICAgICAgICNpdGVtSDQsICNpdGVtVjQgeyBiYWNr
Z3JvdW5kLWNvbG9yOiB5ZWxsb3c7IH0KICAgICAgICAgICAgICNpdGVtSDUsICNpdGVtVjUgeyBi
YWNrZ3JvdW5kLWNvbG9yOiBmdWNoc2lhOyB9CiAgICAgICAgIDwvc3R5bGU+Ci0gICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgogICAgICAgICA8c2NyaXB0PgorICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRy
dWU7CisKICAgICAgICAgdmFyIGRpdlNjcm9sbFBvc2l0aW9uQmVmb3JlR2xpZGU7CiAgICAgICAg
IHZhciBkaXZTY3JvbGxQb3NpdGlvbkJlZm9yZVNuYXA7CiAKQEAgLTc0LDEyICs3Niw2IEBACiAg
ICAgICAgICAgICByZXR1cm4gcG9zaXRpb247CiAgICAgICAgIH0KIAotICAgICAgICBmdW5jdGlv
biBmaW5pc2hUZXN0KCkKLSAgICAgICAgewotICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0g
ICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsgICAgICAgICAgICAKLSAgICAgICAg
fQotCiAgICAgICAgIGZ1bmN0aW9uIGNoZWNrRm9yU2Nyb2xsU25hcCh0YXJnZXRMYWJlbCkKICAg
ICAgICAgewogICAgICAgICAgICAgdmFyIGRpdlRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKHRhcmdldExhYmVsKTsKQEAgLTk3LDcgKzkzLDcgQEAKICAgICAgICAgICAgIGlmICh0YXJn
ZXRMYWJlbCA9PSAnaG9yaXpvbnRhbFRhcmdldCcpCiAgICAgICAgICAgICAgICAgc2V0VGltZW91
dChmdW5jdGlvbigpIHsgc2Nyb2xsR2xpZGVUZXN0KCd2ZXJ0aWNhbFRhcmdldCcpIH0sIDApOwog
ICAgICAgICAgICAgZWxzZSAgIAotICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICAgICAgfQogCiAgICAgICAgIGZ1bmN0aW9u
IHNjcm9sbFNuYXBUZXN0KHRhcmdldExhYmVsKQpAQCAtMTg0LDEwICsxODAsNiBAQAogICAgICAg
ICBmdW5jdGlvbiBvbkxvYWQoKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAod2luZG93LmV2
ZW50U2VuZGVyKSB7Ci0gICAgICAgICAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVl
OwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotCiAgICAgICAgICAgICAgICAgZXZlbnRT
ZW5kZXIubW9uaXRvcldoZWVsRXZlbnRzKCk7CiAgICAgICAgICAgICAgICAgc2V0VGltZW91dChm
dW5jdGlvbigpIHsgc2Nyb2xsR2xpZGVUZXN0KCdob3Jpem9udGFsVGFyZ2V0JykgfSwgMCk7CiAg
ICAgICAgICAgICB9IGVsc2UgewpAQCAtMjM0LDYgKzIyNiw1IEBACiAgICAgICAgICAgICA8L2Rp
dj4KICAgICAgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgogICAgICAgICA8L2Rpdj4K
LSAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgogICAgIDwvYm9keT4KIDwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCkluZGV4OiBMYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25h
cC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLWhvcml6b250YWwtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9s
bC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtaG9yaXpvbnRhbC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDE4ODQ3NCkKKysrIExheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Ny
b2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtaG9yaXpv
bnRhbC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACitQQVNTIGRp
diBzY3JvbGxlZCB0byBuZXh0IHdpbmRvdy4KK1BBU1MgZGl2IGhvbm9yZWQgc25hcCBwb2ludHMu
CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKLVBBU1Mg
ZGl2IHNjcm9sbGVkIHRvIG5leHQgd2luZG93LgotUEFTUyBkaXYgaG9ub3JlZCBzbmFwIHBvaW50
cy4KIApJbmRleDogTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNu
YXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS1ob3Jpem9udGFsLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAv
c2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS1ob3Jpem9udGFsLmh0bWwJKHJldmlzaW9u
IDE4ODQ3NCkKKysrIExheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1z
bmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtaG9yaXpvbnRhbC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMiw4ICsyMiwxMCBAQAogICAgICAgICAgICAgI2l0ZW00IHsgYmFja2dy
b3VuZC1jb2xvcjogeWVsbG93OyB9CiAgICAgICAgICAgICAjaXRlbTUgeyBiYWNrZ3JvdW5kLWNv
bG9yOiBmdWNoc2lhOyB9CiAgICAgICAgIDwvc3R5bGU+Ci0gICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgogICAgICAg
ICA8c2NyaXB0PgorICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKICAgICAg
ICAgdmFyIGRpdlRhcmdldDsKICAgICAgICAgdmFyIGRpdlNjcm9sbFBvc2l0aW9uQmVmb3JlR2xp
ZGU7CiAgICAgICAgIHZhciBkaXZTY3JvbGxQb3NpdGlvbkJlZm9yZVNuYXA7CkBAIC0zNSw3ICsz
Nyw3IEBACiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiZGl2
IGhvbm9yZWQgc25hcCBwb2ludHMuIik7CiAKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgICAgIH0KIAogICAgICAg
ICBmdW5jdGlvbiBzY3JvbGxTbmFwVGVzdCgpIHsKQEAgLTkxLDggKzkzLDYgQEAKICAgICAgICAg
ZnVuY3Rpb24gb25Mb2FkKCkgewogCiAgICAgICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVy
KSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0KICAgICAg
ICAgICAgICAgICBldmVudFNlbmRlci5tb25pdG9yV2hlZWxFdmVudHMoKTsKICAgICAgICAgICAg
ICAgICBzZXRUaW1lb3V0KHNjcm9sbEdsaWRlVGVzdCwgMCk7CiAgICAgICAgICAgICB9IGVsc2Ug
ewpAQCAtMTE4LDYgKzExOCw1IEBACiAgICAgICAgIDxkaXYgaWQ9Iml0ZW0zIiBjbGFzcz0iY29s
b3JCb3giPjwvZGl2PgogICAgICAgICA8ZGl2IGlkPSJpdGVtNCIgY2xhc3M9ImNvbG9yQm94Ij48
L2Rpdj4KICAgICAgICAgPGRpdiBpZD0iaXRlbTUiIGNsYXNzPSJjb2xvckJveCI+PC9kaXY+Ci0g
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KICAgICA8L2JvZHk+CiA8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpJbmRleDogTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAv
c2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS1zbG93LWhvcml6b250YWwtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Nj
cm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtc2xvdy1ob3Jpem9udGFs
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTg4NDc0KQorKysgTGF5b3V0VGVzdHMvdGlsZWQtZHJh
d2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFt
ZS1zbG93LWhvcml6b250YWwtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEs
NiBAQAorUEFTUyBkaXYgc2Nyb2xsZWQgdG8gbmV4dCB3aW5kb3cuCitQQVNTIGRpdiBob25vcmVk
IHNuYXAgcG9pbnRzLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENP
TVBMRVRFCi1QQVNTIGRpdiBzY3JvbGxlZCB0byBuZXh0IHdpbmRvdy4KLVBBU1MgZGl2IGhvbm9y
ZWQgc25hcCBwb2ludHMuCiAKSW5kZXg6IExheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xs
aW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtc2xvdy1ob3Jp
em9udGFsLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3Jv
bGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS1zbG93LWhv
cml6b250YWwuaHRtbAkocmV2aXNpb24gMTg4NDc0KQorKysgTGF5b3V0VGVzdHMvdGlsZWQtZHJh
d2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFt
ZS1zbG93LWhvcml6b250YWwuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjIsOCArMjIsMTAgQEAK
ICAgICAgICAgICAgICNpdGVtNCB7IGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsgfQogICAgICAg
ICAgICAgI2l0ZW01IHsgYmFja2dyb3VuZC1jb2xvcjogZnVjaHNpYTsgfQogICAgICAgICA8L3N0
eWxlPgotICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KICAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgd2luZG93Lmpz
VGVzdElzQXN5bmMgPSB0cnVlOworCiAgICAgICAgIHZhciBkaXZUYXJnZXQ7CiAgICAgICAgIHZh
ciBkaXZTY3JvbGxQb3NpdGlvbkJlZm9yZUdsaWRlOwogICAgICAgICB2YXIgZGl2U2Nyb2xsUG9z
aXRpb25CZWZvcmVTbmFwOwpAQCAtMzUsNyArMzcsNyBAQAogICAgICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgICAgIHRlc3RQYXNzZWQoImRpdiBob25vcmVkIHNuYXAgcG9pbnRzLiIpOwogCi0g
ICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOwogICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24gc2Nyb2xsU25hcFRlc3QoKSB7
CkBAIC05MSw4ICs5Myw2IEBACiAgICAgICAgIGZ1bmN0aW9uIG9uTG9hZCgpIHsKIAogICAgICAg
ICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOwotCiAgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIubW9uaXRv
cldoZWVsRXZlbnRzKCk7CiAgICAgICAgICAgICAgICAgc2V0VGltZW91dChzY3JvbGxHbGlkZVRl
c3QsIDApOwogICAgICAgICAgICAgfSBlbHNlIHsKQEAgLTExOCw2ICsxMTgsNSBAQAogICAgICAg
ICA8ZGl2IGlkPSJpdGVtMyIgY2xhc3M9ImNvbG9yQm94Ij48L2Rpdj4KICAgICAgICAgPGRpdiBp
ZD0iaXRlbTQiIGNsYXNzPSJjb2xvckJveCI+PC9kaXY+CiAgICAgICAgIDxkaXYgaWQ9Iml0ZW01
IiBjbGFzcz0iY29sb3JCb3giPjwvZGl2PgotICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiAgICAgPC9ib2R5PgogPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3RpbGVkLWRy
YXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJh
bWUtc2xvdy12ZXJ0aWNhbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
dGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5
LW1haW5mcmFtZS1zbG93LXZlcnRpY2FsLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTg4NDc0KQor
KysgTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xs
LXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS1zbG93LXZlcnRpY2FsLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKK1BBU1MgZGl2IHNjcm9sbGVkIHRvIG5leHQgd2lu
ZG93LgorUEFTUyBkaXYgaG9ub3JlZCBzbmFwIHBvaW50cy4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQotUEFTUyBkaXYgc2Nyb2xsZWQgdG8gbmV4dCB3
aW5kb3cuCi1QQVNTIGRpdiBob25vcmVkIHNuYXAgcG9pbnRzLgogCkluZGV4OiBMYXlvdXRUZXN0
cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRv
cnktbWFpbmZyYW1lLXNsb3ctdmVydGljYWwuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRv
cnktbWFpbmZyYW1lLXNsb3ctdmVydGljYWwuaHRtbAkocmV2aXNpb24gMTg4NDc0KQorKysgTGF5
b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAt
bWFuZGF0b3J5LW1haW5mcmFtZS1zbG93LXZlcnRpY2FsLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTIyLDggKzIyLDEwIEBACiAgICAgICAgICAgICAjaXRlbTQgeyBiYWNrZ3JvdW5kLWNvbG9yOiB5
ZWxsb3c7IH0KICAgICAgICAgICAgICNpdGVtNSB7IGJhY2tncm91bmQtY29sb3I6IGZ1Y2hzaWE7
IH0KICAgICAgICAgPC9zdHlsZT4KLSAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CiAgICAgICAgIDxzY3JpcHQ+Cisg
ICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwogICAgICAgICB2YXIgZGl2VGFy
Z2V0OwogICAgICAgICB2YXIgZGl2U2Nyb2xsUG9zaXRpb25CZWZvcmVHbGlkZTsKICAgICAgICAg
dmFyIGRpdlNjcm9sbFBvc2l0aW9uQmVmb3JlU25hcDsKQEAgLTM1LDcgKzM3LDcgQEAKICAgICAg
ICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJkaXYgaG9ub3JlZCBzbmFw
IHBvaW50cy4iKTsKIAotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICAgICAgfQogCiAgICAgICAgIGZ1bmN0aW9uIHNj
cm9sbFNuYXBUZXN0KCkgewpAQCAtOTEsOCArOTMsNiBAQAogICAgICAgICBmdW5jdGlvbiBvbkxv
YWQoKSB7CiAKICAgICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKLSAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLQogICAgICAgICAgICAgICAgIGV2
ZW50U2VuZGVyLm1vbml0b3JXaGVlbEV2ZW50cygpOwogICAgICAgICAgICAgICAgIHNldFRpbWVv
dXQoc2Nyb2xsR2xpZGVUZXN0LCAwKTsKICAgICAgICAgICAgIH0gZWxzZSB7CkBAIC0xMTgsNiAr
MTE4LDUgQEAKICAgICAgICAgPGRpdiBpZD0iaXRlbTMiIGNsYXNzPSJjb2xvckJveCI+PC9kaXY+
CiAgICAgICAgIDxkaXYgaWQ9Iml0ZW00IiBjbGFzcz0iY29sb3JCb3giPjwvZGl2PgogICAgICAg
ICA8ZGl2IGlkPSJpdGVtNSIgY2xhc3M9ImNvbG9yQm94Ij48L2Rpdj4KLSAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogICAg
IDwvYm9keT4KIDwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlv
dXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1t
YW5kYXRvcnktbWFpbmZyYW1lLXZlcnRpY2FsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25h
cC1tYW5kYXRvcnktbWFpbmZyYW1lLXZlcnRpY2FsLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTg4
NDc0KQorKysgTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAv
c2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS12ZXJ0aWNhbC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACitQQVNTIGRpdiBzY3JvbGxlZCB0byBuZXh0IHdp
bmRvdy4KK1BBU1MgZGl2IGhvbm9yZWQgc25hcCBwb2ludHMuCiBQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKLVBBU1MgZGl2IHNjcm9sbGVkIHRvIG5leHQg
d2luZG93LgotUEFTUyBkaXYgaG9ub3JlZCBzbmFwIHBvaW50cy4KIApJbmRleDogTGF5b3V0VGVz
dHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0
b3J5LW1haW5mcmFtZS12ZXJ0aWNhbC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Rp
bGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1t
YWluZnJhbWUtdmVydGljYWwuaHRtbAkocmV2aXNpb24gMTg4NDc0KQorKysgTGF5b3V0VGVzdHMv
dGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5
LW1haW5mcmFtZS12ZXJ0aWNhbC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yMiw4ICsyMiwxMCBA
QAogICAgICAgICAgICAgI2l0ZW00IHsgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93OyB9CiAgICAg
ICAgICAgICAjaXRlbTUgeyBiYWNrZ3JvdW5kLWNvbG9yOiBmdWNoc2lhOyB9CiAgICAgICAgIDwv
c3R5bGU+Ci0gICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgogICAgICAgICA8c2NyaXB0PgorICAgICAgICB3aW5kb3cu
anNUZXN0SXNBc3luYyA9IHRydWU7CisKICAgICAgICAgdmFyIGRpdlRhcmdldDsKICAgICAgICAg
dmFyIGRpdlNjcm9sbFBvc2l0aW9uQmVmb3JlR2xpZGU7CiAgICAgICAgIHZhciBkaXZTY3JvbGxQ
b3NpdGlvbkJlZm9yZVNuYXA7CkBAIC0zNSw3ICszNyw3IEBACiAgICAgICAgICAgICBlbHNlCiAg
ICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiZGl2IGhvbm9yZWQgc25hcCBwb2ludHMuIik7CiAK
LSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CiAgICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiBzY3JvbGxTbmFwVGVzdCgp
IHsKQEAgLTkxLDggKzkzLDYgQEAKICAgICAgICAgZnVuY3Rpb24gb25Mb2FkKCkgewogCiAgICAg
ICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7Ci0KICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5tb25p
dG9yV2hlZWxFdmVudHMoKTsKICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHNjcm9sbEdsaWRl
VGVzdCwgMCk7CiAgICAgICAgICAgICB9IGVsc2UgewpAQCAtMTE4LDYgKzExOCw1IEBACiAgICAg
ICAgIDxkaXYgaWQ9Iml0ZW0zIiBjbGFzcz0iY29sb3JCb3giPjwvZGl2PgogICAgICAgICA8ZGl2
IGlkPSJpdGVtNCIgY2xhc3M9ImNvbG9yQm94Ij48L2Rpdj4KICAgICAgICAgPGRpdiBpZD0iaXRl
bTUiIGNsYXNzPSJjb2xvckJveCI+PC9kaXY+Ci0gICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KICAgICA8L2JvZHk+CiA8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvdGlsZWQt
ZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW92ZXJm
bG93LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5n
L3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktb3ZlcmZsb3ctZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAxODg0NzQpCisrKyBMYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5n
L3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktb3ZlcmZsb3ctZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDggKzEsNSBAQAogVGVzdHMgdGhhdCB0aGUg
c2Nyb2xsLXNuYXAgZmVhdHVyZSB3b3JrcyBwcm9wZXJseSBpbiBvdmVyZmxvdyByZWdpb25zLgot
IFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotVGVzdGlu
ZyBzY3JvbGwtc25hcCBnbGlkZSBmb3IgaG9yaXpvbnRhbFRhcmdldDoKKyBUZXN0aW5nIHNjcm9s
bC1zbmFwIGdsaWRlIGZvciBob3Jpem9udGFsVGFyZ2V0OgogUEFTUyBkaXYgc2Nyb2xsZWQgdG8g
bmV4dCB3aW5kb3cuCiBUZXN0aW5nIHNjcm9sbC1zbmFwIHNuYXAgZm9yIGhvcml6b250YWxUYXJn
ZXQ6CiBQQVNTIGRpdiBob25vcmVkIHNuYXAgcG9pbnRzLgpJbmRleDogTGF5b3V0VGVzdHMvdGls
ZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW92
ZXJmbG93LXN0YXRlbGVzcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
dGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5
LW92ZXJmbG93LXN0YXRlbGVzcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE4ODQ3NCkKKysrIExh
eW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFw
LW1hbmRhdG9yeS1vdmVyZmxvdy1zdGF0ZWxlc3MtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDggKzEsNSBAQAogVGVzdHMgdGhhdCB0aGUgc2Nyb2xsLXNuYXAgZmVhdHVyZSB3b3Jr
cyBwcm9wZXJseSBpbiBvdmVyZmxvdyByZWdpb25zIHdoZW4gdXNpbmcgYSBtZWNoYW5pY2FsIG1v
dXNlIHdoZWVsLgotIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01Q
TEVURQotUEFTUyBkaXYgaG9ub3JlZCBzbmFwIHBvaW50cy4KKyBQQVNTIGRpdiBob25vcmVkIHNu
YXAgcG9pbnRzLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBM
RVRFCkluZGV4OiBMYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25h
cC9zY3JvbGwtc25hcC1tYW5kYXRvcnktb3ZlcmZsb3ctc3RhdGVsZXNzLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Ny
b2xsLXNuYXAtbWFuZGF0b3J5LW92ZXJmbG93LXN0YXRlbGVzcy5odG1sCShyZXZpc2lvbiAxODg0
NzQpCisrKyBMYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9z
Y3JvbGwtc25hcC1tYW5kYXRvcnktb3ZlcmZsb3ctc3RhdGVsZXNzLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTE4LDEzICsxOCw5IEBACiAgICAgICAgICAgICAjaXRlbTAsICNpdGVtMiB7IGJhY2tn
cm91bmQtY29sb3I6IHJlZDsgfQogICAgICAgICAgICAgI2l0ZW0xIHsgYmFja2dyb3VuZC1jb2xv
cjogZ3JlZW47IH0KICAgICAgICAgPC9zdHlsZT4KLSAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CiAgICAgICAgIDxz
Y3JpcHQ+Ci0gICAgICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKQotICAgICAgICB7Ci0gICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OwotICAgICAgICB9CisgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAogICAg
ICAgICBmdW5jdGlvbiBsb2NhdGlvbkluV2luZG93Q29vcmRpbmF0ZXMoZWxlbWVudCkKICAgICAg
ICAgewpAQCAtNjMsNyArNTksNyBAQAogICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAg
ICAgICAgICAgdGVzdFBhc3NlZCgiZGl2IGhvbm9yZWQgc25hcCBwb2ludHMuIik7CiAKLSAgICAg
ICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CiAgICAgICAgICAgICB9LCAyMDAwKTsKICAgICAgICAgfQogCkBAIC03MSwxMCArNjcsNiBAQAog
ICAgICAgICBmdW5jdGlvbiBvbkxvYWQoKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAod2lu
ZG93LmV2ZW50U2VuZGVyKSB7Ci0gICAgICAgICAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMg
PSB0cnVlOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotCiAgICAgICAgICAgICAgICAg
ZXZlbnRTZW5kZXIubW9uaXRvcldoZWVsRXZlbnRzKCk7CiAgICAgICAgICAgICAgICAgc2V0VGlt
ZW91dChzY3JvbGxTbmFwVGVzdCwgMCk7CiAgICAgICAgICAgICB9IGVsc2UgewpAQCAtMTAyLDYg
Kzk0LDUgQEAKICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CiAgICAgICAgIDwvZGl2PgotICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiAgICAgPC9ib2R5PgogPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3RpbGVkLWRy
YXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1vdmVyZmxv
dy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5n
L3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1vdmVyZmxvdy5odG1sCShyZXZpc2lv
biAxODg0NzQpCisrKyBMYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwt
c25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktb3ZlcmZsb3cuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtNDEsOCArNDEsMTAgQEAKICAgICAgICAgICAgICNpdGVtSDQsICNpdGVtVjQgeyBiYWNrZ3Jv
dW5kLWNvbG9yOiB5ZWxsb3c7IH0KICAgICAgICAgICAgICNpdGVtSDUsICNpdGVtVjUgeyBiYWNr
Z3JvdW5kLWNvbG9yOiBmdWNoc2lhOyB9CiAgICAgICAgIDwvc3R5bGU+Ci0gICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgogICAgICAgICA8c2NyaXB0PgorICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7
CisKICAgICAgICAgdmFyIGRpdlNjcm9sbFBvc2l0aW9uQmVmb3JlR2xpZGU7CiAgICAgICAgIHZh
ciBkaXZTY3JvbGxQb3NpdGlvbkJlZm9yZVNuYXA7CiAKQEAgLTY0LDEyICs2Niw2IEBACiAgICAg
ICAgICAgICByZXR1cm4gcG9zaXRpb247CiAgICAgICAgIH0KIAotICAgICAgICBmdW5jdGlvbiBm
aW5pc2hUZXN0KCkKLSAgICAgICAgewotICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAg
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsgICAgICAgICAgICAKLSAgICAgICAgfQot
CiAgICAgICAgIGZ1bmN0aW9uIGNoZWNrRm9yU2Nyb2xsU25hcCh0YXJnZXRMYWJlbCkKICAgICAg
ICAgewogICAgICAgICAgICAgdmFyIGRpdlRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KHRhcmdldExhYmVsKTsKQEAgLTg3LDcgKzgzLDcgQEAKICAgICAgICAgICAgIGlmICh0YXJnZXRM
YWJlbCA9PSAnaG9yaXpvbnRhbFRhcmdldCcpCiAgICAgICAgICAgICAgICAgc2V0VGltZW91dChm
dW5jdGlvbigpIHsgc2Nyb2xsR2xpZGVUZXN0KCd2ZXJ0aWNhbFRhcmdldCcpIH0sIDApOwogICAg
ICAgICAgICAgZWxzZSAgIAotICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICAgICAgfQogCiAgICAgICAgIGZ1bmN0aW9uIHNj
cm9sbFNuYXBUZXN0KHRhcmdldExhYmVsKQpAQCAtMTc0LDEwICsxNzAsNiBAQAogICAgICAgICBm
dW5jdGlvbiBvbkxvYWQoKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAod2luZG93LmV2ZW50
U2VuZGVyKSB7Ci0gICAgICAgICAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwot
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotCiAgICAgICAgICAgICAgICAgZXZlbnRTZW5k
ZXIubW9uaXRvcldoZWVsRXZlbnRzKCk7CiAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5j
dGlvbigpIHsgc2Nyb2xsR2xpZGVUZXN0KCdob3Jpem9udGFsVGFyZ2V0JykgfSwgMCk7CiAgICAg
ICAgICAgICB9IGVsc2UgewpAQCAtMjI0LDYgKzIxNiw1IEBACiAgICAgICAgICAgICA8L2Rpdj4K
ICAgICAgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgogICAgICAgICA8L2Rpdj4KLSAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgogICAgIDwvYm9keT4KIDwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CkluZGV4OiBMYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9z
Y3JvbGwtc25hcC1tYW5kYXRvcnktcGFkZGluZy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNu
YXAtbWFuZGF0b3J5LXBhZGRpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxODg0NzQpCisrKyBM
YXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25h
cC1tYW5kYXRvcnktcGFkZGluZy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsOCAr
MSw1IEBACiBUZXN0cyB0aGF0IHRoZSBzY3JvbGwtc25hcCBmZWF0dXJlIHdvcmtzIHByb3Blcmx5
IGluIG92ZXJmbG93IHJlZ2lvbnMuCi0gUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQot
Ci1URVNUIENPTVBMRVRFCi1UZXN0aW5nIHNjcm9sbC1zbmFwIGdsaWRlIGZvciBob3Jpem9udGFs
VGFyZ2V0OgorIFRlc3Rpbmcgc2Nyb2xsLXNuYXAgZ2xpZGUgZm9yIGhvcml6b250YWxUYXJnZXQ6
CiBQQVNTIGRpdiBzY3JvbGxlZCB0byBuZXh0IHdpbmRvdy4KIFRlc3Rpbmcgc2Nyb2xsLXNuYXAg
c25hcCBmb3IgaG9yaXpvbnRhbFRhcmdldDoKIFBBU1MgZGl2IGhvbm9yZWQgc25hcCBwb2ludHMu
CkluZGV4OiBMYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9z
Y3JvbGwtc25hcC1tYW5kYXRvcnktcGFkZGluZy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRh
dG9yeS1wYWRkaW5nLmh0bWwJKHJldmlzaW9uIDE4ODQ3NCkKKysrIExheW91dFRlc3RzL3RpbGVk
LWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1wYWRk
aW5nLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDggKzQ5LDEwIEBACiAgICAgICAgICAgICAj
aXRlbUg0LCAjaXRlbVY0IHsgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93OyB9CiAgICAgICAgICAg
ICAjaXRlbUg1LCAjaXRlbVY1IHsgYmFja2dyb3VuZC1jb2xvcjogZnVjaHNpYTsgfQogICAgICAg
ICA8L3N0eWxlPgotICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KICAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgd2lu
ZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCiAgICAgICAgIHZhciBkaXZTY3JvbGxQb3NpdGlv
bkJlZm9yZUdsaWRlOwogICAgICAgICB2YXIgZGl2U2Nyb2xsUG9zaXRpb25CZWZvcmVTbmFwOwog
CkBAIC03MiwxMiArNzQsNiBAQAogICAgICAgICAgICAgcmV0dXJuIHBvc2l0aW9uOwogICAgICAg
ICB9CiAKLSAgICAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
ICAgICAgICAgICAgCi0gICAgICAgIH0KLQogICAgICAgICBmdW5jdGlvbiBjaGVja0ZvclNjcm9s
bFNuYXAodGFyZ2V0TGFiZWwpCiAgICAgICAgIHsKICAgICAgICAgICAgIHZhciBkaXZUYXJnZXQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YXJnZXRMYWJlbCk7CkBAIC05NSw3ICs5MSw3IEBA
CiAgICAgICAgICAgICBpZiAodGFyZ2V0TGFiZWwgPT0gJ2hvcml6b250YWxUYXJnZXQnKQogICAg
ICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHNjcm9sbEdsaWRlVGVzdCgndmVy
dGljYWxUYXJnZXQnKSB9LCAwKTsKICAgICAgICAgICAgIGVsc2UgICAKLSAgICAgICAgICAgICAg
ICBmaW5pc2hUZXN0KCk7CisgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgICAg
IH0KIAogICAgICAgICBmdW5jdGlvbiBzY3JvbGxTbmFwVGVzdCh0YXJnZXRMYWJlbCkKQEAgLTE4
NCwxMCArMTgwLDYgQEAKICAgICAgICAgZnVuY3Rpb24gb25Mb2FkKCkKICAgICAgICAgewogICAg
ICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAgICAgICAgICAgICAgIHdpbmRv
dy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLQog
ICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vbml0b3JXaGVlbEV2ZW50cygpOwogICAgICAg
ICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHNjcm9sbEdsaWRlVGVzdCgnaG9yaXpv
bnRhbFRhcmdldCcpIH0sIDApOwogICAgICAgICAgICAgfSBlbHNlIHsKQEAgLTIzNCw2ICsyMjYs
NSBAQAogICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KICAgICA8L2JvZHk+CiA8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2lu
Zy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LXJvdGF0ZWQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xs
aW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1yb3RhdGVkLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMTg4NDc0KQorKysgTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxp
bmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LXJvdGF0ZWQtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDggKzEsNSBAQAogVGVzdHMgdGhhdCB0aGUgc2Nyb2xsLXNu
YXAgZmVhdHVyZSB3b3JrcyBwcm9wZXJseSBpbiBvdmVyZmxvdyByZWdpb25zLgotIFBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotVGVzdGluZyBzY3JvbGwt
c25hcCBnbGlkZSBmb3IgaG9yaXpvbnRhbFRhcmdldDoKKyBUZXN0aW5nIHNjcm9sbC1zbmFwIGds
aWRlIGZvciBob3Jpem9udGFsVGFyZ2V0OgogUEFTUyBkaXYgc2Nyb2xsZWQgdG8gbmV4dCB3aW5k
b3cuCiBUZXN0aW5nIHNjcm9sbC1zbmFwIHNuYXAgZm9yIGhvcml6b250YWxUYXJnZXQ6CiBQQVNT
IGRpdiBob25vcmVkIHNuYXAgcG9pbnRzLgpJbmRleDogTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2lu
Zy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LXJvdGF0ZWQuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3Jv
bGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktcm90YXRlZC5odG1sCShyZXZpc2lvbiAxODg0
NzQpCisrKyBMYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9z
Y3JvbGwtc25hcC1tYW5kYXRvcnktcm90YXRlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC00Myw4
ICs0MywxMCBAQAogICAgICAgICAgICAgI2l0ZW1INCwgI2l0ZW1WNCB7IGJhY2tncm91bmQtY29s
b3I6IHllbGxvdzsgfQogICAgICAgICAgICAgI2l0ZW1INSwgI2l0ZW1WNSB7IGJhY2tncm91bmQt
Y29sb3I6IGZ1Y2hzaWE7IH0KICAgICAgICAgPC9zdHlsZT4KLSAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CiAgICAg
ICAgIDxzY3JpcHQ+CisgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwogICAg
ICAgICB2YXIgZGl2U2Nyb2xsUG9zaXRpb25CZWZvcmVHbGlkZTsKICAgICAgICAgdmFyIGRpdlNj
cm9sbFBvc2l0aW9uQmVmb3JlU25hcDsKIApAQCAtNjYsMTIgKzY4LDYgQEAKICAgICAgICAgICAg
IHJldHVybiBwb3NpdGlvbjsKICAgICAgICAgfQogCi0gICAgICAgIGZ1bmN0aW9uIGZpbmlzaFRl
c3QoKQotICAgICAgICB7Ci0gICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICAgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOyAgICAgICAgICAgIAotICAgICAgICB9Ci0KICAgICAg
ICAgZnVuY3Rpb24gY2hlY2tGb3JTY3JvbGxTbmFwKHRhcmdldExhYmVsKQogICAgICAgICB7CiAg
ICAgICAgICAgICB2YXIgZGl2VGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGFyZ2V0
TGFiZWwpOwpAQCAtODksNyArODUsNyBAQAogICAgICAgICAgICAgaWYgKHRhcmdldExhYmVsID09
ICdob3Jpem9udGFsVGFyZ2V0JykKICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9u
KCkgeyBzY3JvbGxHbGlkZVRlc3QoJ3ZlcnRpY2FsVGFyZ2V0JykgfSwgMCk7CiAgICAgICAgICAg
ICBlbHNlICAgCi0gICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOworICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOwogICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24gc2Nyb2xsU25h
cFRlc3QodGFyZ2V0TGFiZWwpCkBAIC0xNzYsMTAgKzE3Miw2IEBACiAgICAgICAgIGZ1bmN0aW9u
IG9uTG9hZCgpCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIp
IHsKLSAgICAgICAgICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci0gICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7Ci0KICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5tb25p
dG9yV2hlZWxFdmVudHMoKTsKICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkg
eyBzY3JvbGxHbGlkZVRlc3QoJ2hvcml6b250YWxUYXJnZXQnKSB9LCAwKTsKICAgICAgICAgICAg
IH0gZWxzZSB7CkBAIC0yMjYsNiArMjE4LDUgQEAKICAgICAgICAgICAgIDwvZGl2PgogICAgICAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CiAgICAgICAgIDwvZGl2PgotICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
CiAgICAgPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRt
bD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>