<?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>172379</bug_id>
          
          <creation_ts>2017-05-19 12:52:10 -0700</creation_ts>
          <short_desc>Many CSS js-tests use waitUntilDone</short_desc>
          <delta_ts>2017-05-19 14:19:05 -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>Safari 9</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>168961</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>lforschler</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1310723</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-05-19 12:52:10 -0700</bug_when>
    <thetext>js-tests are incompatible with testRunner.waitUntilDone(), yet there are hundreds of tests that mix these techniques.

The common symptom is that TEST COMPLETE is printed before the test is complete. But there may be more, including flakiness. Some of these tests are malformed in other ways, such as using js-test-pre.js without js-test-post.js.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310724</commentid>
    <comment_count>1</comment_count>
      <attachid>310686</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-05-19 12:53:50 -0700</bug_when>
    <thetext>Created attachment 310686
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310748</commentid>
    <comment_count>2</comment_count>
      <attachid>310686</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-05-19 13:41:45 -0700</bug_when>
    <thetext>Comment on attachment 310686
proposed patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310764</commentid>
    <comment_count>3</comment_count>
      <attachid>310686</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-19 14:19:03 -0700</bug_when>
    <thetext>Comment on attachment 310686
proposed patch

Clearing flags on attachment: 310686

Committed r217150: &lt;http://trac.webkit.org/changeset/217150&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310765</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-19 14:19:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310686</attachid>
            <date>2017-05-19 12:53:50 -0700</date>
            <delta_ts>2017-05-19 14:19:03 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>js-test-css.txt</filename>
            <type>text/plain</type>
            <size>44430</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDIxNzE0MykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDU1IEBACisyMDE3LTA1LTE5ICBBbGV4ZXkgUHJvc2t1cnlh
a292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIE1hbnkgQ1NTIGpzLXRlc3RzIHVzZSB3YWl0
VW50aWxEb25lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNzIzNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBDb3JyZWN0ZWQgdGhlIHVzZSBvZiBqcy10ZXN0IGhhcm5lc3MsIHVwZGF0ZWQgdGhlIHRlc3Rz
IHRvIHVzZSBqcy10ZXN0LmpzIGluc3RlYWQKKyAgICAgICAgb2YganMtdGVzdC1wcmUuanMgd2hl
cmUgcG9zc2libGUuCisKKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvc2hvdWxkLW5vdC1oYXZlLWNv
bXBvc2l0aW5nLWxheWVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvc2hv
dWxkLW5vdC1oYXZlLWNvbXBvc2l0aW5nLWxheWVyLmh0bWw6CisgICAgICAgICogY3NzMy9zY3Jv
bGwtc25hcC9uZXN0ZWQtZWxlbWVudHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGNzczMvc2Ny
b2xsLXNuYXAvbmVzdGVkLWVsZW1lbnRzLmh0bWw6CisgICAgICAgICogY3NzMy9zY3JvbGwtc25h
cC9zY3JvbGwtc25hcC0yZC1jaGFuZ2UtYXhpcy10eXBlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBjc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLTJkLWNoYW5nZS1heGlzLXR5cGUuaHRtbDoK
KyAgICAgICAgKiBjc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLTJkLW9mZnNldHMtY29tcHV0
ZWQtaW5kZXBlbmRlbnRseS1leHBlY3RlZC50eHQ6CisgICAgICAgICogY3NzMy9zY3JvbGwtc25h
cC9zY3JvbGwtc25hcC0yZC1vZmZzZXRzLWNvbXB1dGVkLWluZGVwZW5kZW50bHkuaHRtbDoKKyAg
ICAgICAgKiBjc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLWVsZW1lbnRzLWNvbnRhaW5lci1s
YXJnZXItdGhhbi1jaGlsZHJlbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogY3NzMy9zY3JvbGwt
c25hcC9zY3JvbGwtc25hcC1lbGVtZW50cy1jb250YWluZXItbGFyZ2VyLXRoYW4tY2hpbGRyZW4u
aHRtbDoKKyAgICAgICAgKiBjc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1pc21hdGNoLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBjc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1pc21h
dGNoLmh0bWw6CisgICAgICAgICogY3NzMy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1vZmZzZXRz
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBjc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW9m
ZnNldHMuaHRtbDoKKyAgICAgICAgKiBjc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXBvc2l0
aW9ucy1leHBlY3RlZC50eHQ6CisgICAgICAgICogY3NzMy9zY3JvbGwtc25hcC9zY3JvbGwtc25h
cC1wb3NpdGlvbnMtbWFpbmZyYW1lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBjc3MzL3Njcm9s
bC1zbmFwL3Njcm9sbC1zbmFwLXBvc2l0aW9ucy1tYWluZnJhbWUuaHRtbDoKKyAgICAgICAgKiBj
c3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXBvc2l0aW9ucy1vdmVyZmxvdy1yZXNpemUtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGNzczMvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtcG9zaXRp
b25zLW92ZXJmbG93LXJlc2l6ZS5odG1sOgorICAgICAgICAqIGNzczMvc2Nyb2xsLXNuYXAvc2Ny
b2xsLXNuYXAtcG9zaXRpb25zLmh0bWw6CisgICAgICAgICogY3NzMy9zY3JvbGwtc25hcC9zY3Jv
bGwtc25hcC1zdHlsZS1jaGFuZ2VkLWFsaWduLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBjc3Mz
L3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXN0eWxlLWNoYW5nZWQtYWxpZ24uaHRtbDoKKyAgICAg
ICAgKiBjc3MzL3RvdWNoLWFjdGlvbi90b3VjaC1hY3Rpb24tbWFuaXB1bGF0aW9uLWZhc3QtY2xp
Y2tzLmh0bWw6CisgICAgICAgICogZmFzdC9jc3MvY291bnRlcnMvMmRpc3BsYXlzLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy9jb3VudGVycy8yZGlzcGxheXMuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2Nzcy9jb3VudGVycy9hZnRlci1jb250aW51YXRpb24tZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGZhc3QvY3NzL2NvdW50ZXJzL2FmdGVyLWNvbnRpbnVhdGlvbi5odG1sOgorICAg
ICAgICAqIGZhc3QvY3NzL2NvdW50ZXJzL2NvdW50ZXItaW5jcmVtZW50LWluaGVyaXQtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3NzL2NvdW50ZXJzL2NvdW50ZXItaW5jcmVtZW50LWlu
aGVyaXQuaHRtOgorICAgICAgICAqIGZhc3QvY3NzL2NvdW50ZXJzL2NvdW50ZXItaW5jcmVtZW50
LXRlc3RzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy9jb3VudGVycy9jb3VudGVy
LWluY3JlbWVudC10ZXN0cy5odG06CisgICAgICAgICogZmFzdC9jc3MvZGV2aWNlLWFzcGVjdC1y
YXRpby5odG1sOgorICAgICAgICAqIGZhc3QvY3NzL2hvdmVyLWRpc3BsYXktYmxvY2staW5saW5l
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy9ob3Zlci1kaXNwbGF5LWJsb2NrLWlu
bGluZS5odG1sOgorICAgICAgICAqIGZhc3QvY3NzL2hvdmVyLWRpc3BsYXktYmxvY2stbm9uZS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jc3MvaG92ZXItZGlzcGxheS1ibG9jay1ub25l
Lmh0bWw6CisgICAgICAgICogZmFzdC9jc3MvaW1hZ2UtcmVzb2x1dGlvbi9pbWFnZS1yZXNvbHV0
aW9uLmh0bWw6CisgICAgICAgICogZmFzdC9jc3MvbWF4LWRldmljZS1hc3BlY3QtcmF0aW8uaHRt
bDoKKyAgICAgICAgKiBmYXN0L2Nzcy9taW4tZGV2aWNlLWFzcGVjdC1yYXRpby5odG1sOgorICAg
ICAgICAqIGZhc3QvY3NzL3BzZXVkby10YXJnZXQtaW5kaXJlY3Qtc2libGluZy0wMDEuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2Nzcy9wc2V1ZG8tdGFyZ2V0LWluZGlyZWN0LXNpYmxpbmctMDAyLmh0
bWw6CisKIDIwMTctMDUtMTkgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAK
ICAgICAgICAgTGF5b3V0VGVzdCBqcy9Qcm9taXNlLXR5cGVzLmh0bWwgaXMgYSBmbGFreSBmYWls
dXJlIChVbmhhbmRsZWQgUHJvbWlzZSBSZWplY3Rpb24gbWVzc2FnZXMpCkluZGV4OiBMYXlvdXRU
ZXN0cy9jc3MzL2ZpbHRlcnMvc2hvdWxkLW5vdC1oYXZlLWNvbXBvc2l0aW5nLWxheWVyLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvc2hvdWxkLW5v
dC1oYXZlLWNvbXBvc2l0aW5nLWxheWVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE3MTI3KQor
KysgTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Nob3VsZC1ub3QtaGF2ZS1jb21wb3NpdGluZy1s
YXllci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTQsNSArNCw4IEBAIE9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEEKIAogCiBQQVNTIG5vIGNvbXBvc2l0aW5n
IGxheWVycworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CiAKIApJbmRleDogTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Nob3VsZC1ub3QtaGF2ZS1jb21w
b3NpdGluZy1sYXllci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NzczMvZmlsdGVy
cy9zaG91bGQtbm90LWhhdmUtY29tcG9zaXRpbmctbGF5ZXIuaHRtbAkocmV2aXNpb24gMjE3MTI3
KQorKysgTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Nob3VsZC1ub3QtaGF2ZS1jb21wb3NpdGlu
Zy1sYXllci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE0ICsxLDkgQEAKIDwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KIDxodG1sPgogPGhlYWQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8
c2NyaXB0PgotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAg
fQotCiAgICAgZnVuY3Rpb24gZG9UZXN0KCkKICAgICB7CiAgICAgICAgIGRlc2NyaXB0aW9uKCJU
ZXN0IHRvIG1ha2Ugc3VyZSBhIHNpbXBsZSBDU1MgZmlsdGVyIGRvZXMgbm90IGNyZWF0ZSBhIGNv
bXBvc2l0aW5nIGxheWVyLiBUZXN0IGlzIHN1Y2Nlc3NmdWwgb2YgcmVuZGVyIHRyZWUgZG9lcyBu
b3Qgc2hvdyBhbnkgY29tcG9zaXRpbmciKTsKQEAgLTE5LDcgKzE0LDcgQEAKICAgICAgICAgICAg
IGVsc2UKICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJjb250ZW50IGhhcyBjb21wb3NpdGlu
ZyBsYXllcnMiKTsKICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXllcnRy
ZWUiKS5pbm5lclRleHQgPSBsYXllcnM7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAgICAgICB9CiAgICAgfQogICAg
IApJbmRleDogTGF5b3V0VGVzdHMvY3NzMy9zY3JvbGwtc25hcC9uZXN0ZWQtZWxlbWVudHMtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NzczMvc2Nyb2xsLXNuYXAvbmVz
dGVkLWVsZW1lbnRzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE3MTI3KQorKysgTGF5b3V0VGVz
dHMvY3NzMy9zY3JvbGwtc25hcC9uZXN0ZWQtZWxlbWVudHMtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xLDYgKzEsMyBAQAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQot
Ci1URVNUIENPTVBMRVRFCiBTY3JvbGwtc25hcCBvZmZzZXRzIGZvciAnY29udGFpbmVyJzogdmVy
dGljYWwgPSB7IDAsIDEwMCwgMjE1LCAzMzAsIDQ0NSwgNTYwLCA2NzUsIDc5MCwgOTA1LCAxMDIw
LCAxMTM1LCAxMjUwLCAxMzY1LCAxNDgwLCAxNTk1LCAxNzEwLCAxODI1LCAxOTQwLCAyMDU1LCAy
MTcwLCA0OTAwIH0KIFBBU1MgU2Nyb2xsLXNuYXAgb2Zmc2V0cyBmb3IgJ2ludmFsaWRDb250YWlu
ZXInOiBVTkRFRklORUQKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKSW5kZXg6IExh
eW91dFRlc3RzL2NzczMvc2Nyb2xsLXNuYXAvbmVzdGVkLWVsZW1lbnRzLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvY3NzMy9zY3JvbGwtc25hcC9uZXN0ZWQtZWxlbWVudHMuaHRtbAko
cmV2aXNpb24gMjE3MTI3KQorKysgTGF5b3V0VGVzdHMvY3NzMy9zY3JvbGwtc25hcC9uZXN0ZWQt
ZWxlbWVudHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNTUsNyArNTUsNyBAQAogICAgICAgICAg
ICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgfQogICAgIDwvc3R5bGU+Ci0gICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgog
ICAgICAgICA8c2NyaXB0PgogICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkKICAgICAgICAgewpA
QCAtNzAsMTggKzcwLDE0IEBACiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIH0K
IAogICAgICAgICBmdW5jdGlvbiBvbkxvYWQoKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3lu
YyA9IHRydWU7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAg
ICAgICAgICAgICAgICBzZXRUaW1lb3V0KHJ1blRlc3QsIDApOwotICAgICAgICAgICAgfQotICAg
ICAgICB9CisgICAgICAgfQogICAgICAgICA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IG9ubG9h
ZD0ib25Mb2FkKCk7Ij4KQEAgLTE0OCw2ICsxNDQsNSBAQAogICAgICAgICAgICAgPC9kaXY+CiAg
ICAgICAgIDwvZGl2PgogICAgIDwvZGl2PgotICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL2NzczMvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtMmQtY2hhbmdlLWF4aXMtdHlw
ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvY3NzMy9zY3JvbGwtc25h
cC9zY3JvbGwtc25hcC0yZC1jaGFuZ2UtYXhpcy10eXBlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MjE3MTI3KQorKysgTGF5b3V0VGVzdHMvY3NzMy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC0yZC1j
aGFuZ2UtYXhpcy10eXBlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDcg
QEAKK1RoZSBzY3JvbGwgb2Zmc2V0cyBhcmU6IGhvcml6b250YWwgPSB7IDAsIDQwMCwgODAwIH0s
IHZlcnRpY2FsID0geyAwLCA0MDAsIDgwMCB9CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKIAogCi1UaGUgc2Nyb2xsIG9mZnNldHMgYXJlOiBob3Jpem9u
dGFsID0geyAwLCA0MDAsIDgwMCB9LCB2ZXJ0aWNhbCA9IHsgMCwgNDAwLCA4MDAgfQogCkluZGV4
OiBMYXlvdXRUZXN0cy9jc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLTJkLWNoYW5nZS1heGlz
LXR5cGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jc3MzL3Njcm9sbC1zbmFwL3Nj
cm9sbC1zbmFwLTJkLWNoYW5nZS1heGlzLXR5cGUuaHRtbAkocmV2aXNpb24gMjE3MTI3KQorKysg
TGF5b3V0VGVzdHMvY3NzMy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC0yZC1jaGFuZ2UtYXhpcy10
eXBlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTM1LDI0ICszNSwxOSBAQAogICAgICAgICAgICAg
ICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsKICAgICAgICAgICAgIH0KICAgICAgICAgPC9zdHls
ZT4KLSAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KICAgICAgICAgPHNjcmlwdD4KLSAgICAgICAgbGV0IHdyaXRlID0gcyA9PiBv
dXRwdXQuaW5uZXJIVE1MICs9IHMgKyAiPGJyPiI7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgfQotCiAgICAgICAgIGZ1bmN0
aW9uIHJ1bigpIHsKKyAgICAgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwogICAgICAgICAg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lciB8fCAhd2luZG93LmludGVybmFscykgewotICAgICAg
ICAgICAgICAgIHdyaXRlKGBUbyBtYW51YWxseSB0ZXN0LCB2ZXJpZnkgdGhhdCBzY3JvbGxpbmcg
aW4gdGhlIGNvbnRhaW5lciBzbmFwcyBzbyB0aGF0IGVhY2ggY29sb3JlZCBib3ggY2FuIGZpbGwK
KyAgICAgICAgICAgICAgICBkZWJ1ZyhgVG8gbWFudWFsbHkgdGVzdCwgdmVyaWZ5IHRoYXQgc2Ny
b2xsaW5nIGluIHRoZSBjb250YWluZXIgc25hcHMgc28gdGhhdCBlYWNoIGNvbG9yZWQgYm94IGNh
biBmaWxsCiAgICAgICAgICAgICAgICAgICAgIHRoZSBzY3JvbGwgY29udGFpbmVyLmApOwogICAg
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgc2V0VGlt
ZW91dCgoKSA9PiB7Ci0gICAgICAgICAgICAgICAgd3JpdGUoYFRoZSBzY3JvbGwgb2Zmc2V0cyBh
cmU6ICR7aW50ZXJuYWxzLnNjcm9sbFNuYXBPZmZzZXRzKGNvbnRhaW5lcil9YCk7Ci0gICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgICAgICAgICAgZGVidWco
YFRoZSBzY3JvbGwgb2Zmc2V0cyBhcmU6ICR7aW50ZXJuYWxzLnNjcm9sbFNuYXBPZmZzZXRzKGNv
bnRhaW5lcil9YCk7CisgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgICAgICAg
ICB9LCAxMDAwKTsKICAgICAgICAgfQogICAgICAgICA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRl
c3RzL2NzczMvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtMmQtb2Zmc2V0cy1jb21wdXRlZC1pbmRl
cGVuZGVudGx5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jc3MzL3Nj
cm9sbC1zbmFwL3Njcm9sbC1zbmFwLTJkLW9mZnNldHMtY29tcHV0ZWQtaW5kZXBlbmRlbnRseS1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNzEyNykKKysrIExheW91dFRlc3RzL2NzczMvc2Nyb2xs
LXNuYXAvc2Nyb2xsLXNuYXAtMmQtb2Zmc2V0cy1jb21wdXRlZC1pbmRlcGVuZGVudGx5LWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDcgQEAKK1RoZSBzY3JvbGwgb2Zmc2V0
cyBhcmU6IGhvcml6b250YWwgPSB7IDAsIDQwMCwgODAwIH0sIHZlcnRpY2FsID0geyAwLCA0MDAs
IDgwMCB9CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
IAogCi1UaGUgc2Nyb2xsIG9mZnNldHMgYXJlOiBob3Jpem9udGFsID0geyAwLCA0MDAsIDgwMCB9
LCB2ZXJ0aWNhbCA9IHsgMCwgNDAwLCA4MDAgfQogCkluZGV4OiBMYXlvdXRUZXN0cy9jc3MzL3Nj
cm9sbC1zbmFwL3Njcm9sbC1zbmFwLTJkLW9mZnNldHMtY29tcHV0ZWQtaW5kZXBlbmRlbnRseS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NzczMvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNu
YXAtMmQtb2Zmc2V0cy1jb21wdXRlZC1pbmRlcGVuZGVudGx5Lmh0bWwJKHJldmlzaW9uIDIxNzEy
NykKKysrIExheW91dFRlc3RzL2NzczMvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtMmQtb2Zmc2V0
cy1jb21wdXRlZC1pbmRlcGVuZGVudGx5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDI0ICs0
NiwxOSBAQAogICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsKICAgICAgICAg
ICAgIH0KICAgICAgICAgPC9zdHlsZT4KLSAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KICAgICAgICAgPHNjcmlwdD4KLSAgICAg
ICAgbGV0IHdyaXRlID0gcyA9PiBvdXRwdXQuaW5uZXJIVE1MICs9IHMgKyAiPGJyPiI7Ci0gICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAg
ICAgfQotCiAgICAgICAgIGZ1bmN0aW9uIHJ1bigpIHsKKyAgICAgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOwogICAgICAgICAgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lciB8fCAhd2luZG93
LmludGVybmFscykgewotICAgICAgICAgICAgICAgIHdyaXRlKGBUbyBtYW51YWxseSB0ZXN0LCB2
ZXJpZnkgdGhhdCBzY3JvbGxpbmcgaW4gdGhlIGNvbnRhaW5lciBzbmFwcyBzbyB0aGF0IGVhY2gg
Y29sb3JlZCBib3ggY2FuIGZpbGwKKyAgICAgICAgICAgICAgICBkZWJ1ZyhgVG8gbWFudWFsbHkg
dGVzdCwgdmVyaWZ5IHRoYXQgc2Nyb2xsaW5nIGluIHRoZSBjb250YWluZXIgc25hcHMgc28gdGhh
dCBlYWNoIGNvbG9yZWQgYm94IGNhbiBmaWxsCiAgICAgICAgICAgICAgICAgICAgIHRoZSBzY3Jv
bGwgY29udGFpbmVyLmApOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0K
IAogICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7Ci0gICAgICAgICAgICAgICAgd3JpdGUo
YFRoZSBzY3JvbGwgb2Zmc2V0cyBhcmU6ICR7aW50ZXJuYWxzLnNjcm9sbFNuYXBPZmZzZXRzKGNv
bnRhaW5lcil9YCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cisg
ICAgICAgICAgICAgICAgZGVidWcoYFRoZSBzY3JvbGwgb2Zmc2V0cyBhcmU6ICR7aW50ZXJuYWxz
LnNjcm9sbFNuYXBPZmZzZXRzKGNvbnRhaW5lcil9YCk7CisgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CiAgICAgICAgICAgICB9LCAxMDAwKTsKICAgICAgICAgfQogICAgICAgICA8L3Nj
cmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2NzczMvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtZWxl
bWVudHMtY29udGFpbmVyLWxhcmdlci10aGFuLWNoaWxkcmVuLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9jc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLWVsZW1lbnRz
LWNvbnRhaW5lci1sYXJnZXItdGhhbi1jaGlsZHJlbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIx
NzEyNykKKysrIExheW91dFRlc3RzL2NzczMvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtZWxlbWVu
dHMtY29udGFpbmVyLWxhcmdlci10aGFuLWNoaWxkcmVuLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSw2ICsxLDMgQEAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQot
VEVTVCBDT01QTEVURQogU2Nyb2xsLXNuYXAgb2Zmc2V0czogaG9yaXpvbnRhbCA9IHsgMCwgMjAw
LCA0MDAsIDYwMCwgODAwLCAxMDAwLCAxNTAwIH0KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKIApJbmRleDogTGF5b3V0VGVzdHMvY3NzMy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1l
bGVtZW50cy1jb250YWluZXItbGFyZ2VyLXRoYW4tY2hpbGRyZW4uaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9jc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLWVsZW1lbnRzLWNvbnRh
aW5lci1sYXJnZXItdGhhbi1jaGlsZHJlbi5odG1sCShyZXZpc2lvbiAyMTcxMjcpCisrKyBMYXlv
dXRUZXN0cy9jc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLWVsZW1lbnRzLWNvbnRhaW5lci1s
YXJnZXItdGhhbi1jaGlsZHJlbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw3ICsyMCw3IEBA
CiAgICAgICAgICAgICAgICAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0OwogICAgICAgICAgICAg
fQogICAgICAgICA8L3N0eWxlPgotICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KICAgICAgICAgPHNjcmlwdD4KICAgICAgICAg
ICAgIGZ1bmN0aW9uIHJ1blRlc3QoKQogICAgICAgICAgICAgewpAQCAtMjgsMTcgKzI4LDEzIEBA
CiAgICAgICAgICAgICAgICAgZGVidWcoIlNjcm9sbC1zbmFwIG9mZnNldHM6ICIgKyB3aW5kb3cu
aW50ZXJuYWxzLnNjcm9sbFNuYXBPZmZzZXRzKGNvbnRhaW5lcikpOwogCiAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIG9uTG9hZCgpCiAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLSAgICAgICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICAgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworICAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAg
ICAgICAgICAgICAgc2V0VGltZW91dChydW5UZXN0LCAwKTsKLSAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICB9CiAgICAgICAgIDwvc2NyaXB0PgogICAgIDwvaGVhZD4KQEAgLTU1LDYgKzUx
LDUgQEAKICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgIDwvZGl2PgogICAgICAg
ICA8L2Rpdj4KLSAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgogICAgIDwvYm9keT4KIDwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9jc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFw
LW1pc21hdGNoLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jc3MzL3Nj
cm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1pc21hdGNoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE3
MTI3KQorKysgTGF5b3V0VGVzdHMvY3NzMy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1taXNtYXRj
aC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNyArMSw0IEBACiBUZXN0cyB0aGF0
IHRoZSBzY3JvbGwtc25hcCBmZWF0dXJlIHdvcmtzIHByb3Blcmx5IHdpdGggbWl4ZWQtdXAgc25h
cCBwb2ludHMuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExF
VEUKIFNjcm9sbC1zbmFwIG9mZnNldHMgZm9yICdiYWRIb3Jpem9udGFsVGFyZ2V0JzogCiBTY3Jv
bGwtc25hcCBvZmZzZXRzIGZvciAnaG9yaXpvbnRhbFRhcmdldCc6IGhvcml6b250YWwgPSB7IDAs
IDMwMCwgNjAwLCA5MDAsIDEyMDAsIDE1MDAgfQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQpJbmRleDogTGF5b3V0VGVzdHMvY3NzMy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1taXNt
YXRjaC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NzczMvc2Nyb2xsLXNuYXAvc2Ny
b2xsLXNuYXAtbWlzbWF0Y2guaHRtbAkocmV2aXNpb24gMjE3MTI3KQorKysgTGF5b3V0VGVzdHMv
Y3NzMy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1taXNtYXRjaC5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0zNSw3ICszNSw3IEBACiAgICAgICAgICAgICAjaXRlbUg0LCAjaXRlbVY0IHsgYmFja2dy
b3VuZC1jb2xvcjogeWVsbG93OyB9CiAgICAgICAgICAgICAjaXRlbUg1LCAjaXRlbVY1IHsgYmFj
a2dyb3VuZC1jb2xvcjogZnVjaHNpYTsgfQogICAgICAgICA8L3N0eWxlPgotICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KICAg
ICAgICAgPHNjcmlwdD4KICAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpCiAgICAgICAgIHsKQEAg
LTQ2LDE3ICs0NiwxMyBAQAogICAgICAgICAgICAgZGVidWcoIlNjcm9sbC1zbmFwIG9mZnNldHMg
Zm9yICdob3Jpem9udGFsVGFyZ2V0JzogIiArIHdpbmRvdy5pbnRlcm5hbHMuc2Nyb2xsU25hcE9m
ZnNldHMoaG9yaXpvbnRhbFRhcmdldCkpOwogCiAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
LSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICB9CiAKICAgICAg
ICAgZnVuY3Rpb24gb25Mb2FkKCkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVl
OwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAg
ICAgICAgc2V0VGltZW91dChydW5UZXN0LCAwKTsKLSAgICAgICAgICAgIH0KICAgICAgICAgfQog
ICAgICAgICA8L3NjcmlwdD4KICAgICA8L2hlYWQ+CkBAIC04NSw2ICs4MSw1IEBACiAgICAgICAg
ICAgICA8L2Rpdj4KICAgICAgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgogICAgICAg
ICA8L2Rpdj4KLSAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgogICAgIDwvYm9keT4KIDwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9jc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFw
LW9mZnNldHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NzczMvc2Ny
b2xsLXNuYXAvc2Nyb2xsLXNuYXAtb2Zmc2V0cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNzEy
NykKKysrIExheW91dFRlc3RzL2NzczMvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtb2Zmc2V0cy1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsOCArMSw1IEBACiBUZXN0cyB0aGF0IHRo
ZSBzY3JvbGwtc25hcCBmZWF0dXJlIHdvcmtzIHByb3Blcmx5IGluIG92ZXJmbG93IHJlZ2lvbnMu
Ci0gUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi1TY3Jv
bGwtc25hcCBvZmZzZXRzIGZvciBob3Jpem9udGFsVGFyZ2V0OiBob3Jpem9udGFsID0geyAwLCAz
MCwgNjAsIDkwLCAxMjAsIDE1MCB9CisgU2Nyb2xsLXNuYXAgb2Zmc2V0cyBmb3IgaG9yaXpvbnRh
bFRhcmdldDogaG9yaXpvbnRhbCA9IHsgMCwgMzAsIDYwLCA5MCwgMTIwLCAxNTAgfQogU2Nyb2xs
LXNuYXAgb2Zmc2V0cyBmb3IgdmVydGljYWxUYXJnZXQ6IHZlcnRpY2FsID0geyAwLCAzMCwgNjAs
IDkwLCAxMjAsIDE1MCB9CiBTY3JvbGwtc25hcCBvZmZzZXRzIGZvciBob3Jpem9udGFsQm9yZGVy
ZWRUYXJnZXQ6IGhvcml6b250YWwgPSB7IDAsIDMwLCA2MCwgOTAsIDEyMCwgMTUwIH0KIFNjcm9s
bC1zbmFwIG9mZnNldHMgZm9yIHZlcnRpY2FsQm9yZGVyZWRUYXJnZXQ6IHZlcnRpY2FsID0geyAw
LCAzMCwgNjAsIDkwLCAxMjAsIDE1MCB9CkluZGV4OiBMYXlvdXRUZXN0cy9jc3MzL3Njcm9sbC1z
bmFwL3Njcm9sbC1zbmFwLW9mZnNldHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9j
c3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW9mZnNldHMuaHRtbAkocmV2aXNpb24gMjE3MTI3
KQorKysgTGF5b3V0VGVzdHMvY3NzMy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1vZmZzZXRzLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTU2LDcgKzU2LDcgQEAKICAgICAgICAgICAgICNpdGVtSDQs
ICNpdGVtVjQgeyBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7IH0KICAgICAgICAgICAgICNpdGVt
SDUsICNpdGVtVjUgeyBiYWNrZ3JvdW5kLWNvbG9yOiBmdWNoc2lhOyB9CiAgICAgICAgIDwvc3R5
bGU+Ci0gICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgogICAgICAgICA8c2NyaXB0PgogICAgICAgICBmdW5jdGlvbiByZXBvcnRS
ZXN1bHQoaG9yaXpvbnRhbFRhcmdldElELCB2ZXJ0aWNhbFRhcmdldElEKQogICAgICAgICB7CkBA
IC03NiwxNyArNzYsMTMgQEAKICAgICAgICAgICAgIHJlcG9ydFJlc3VsdCgnaG9yaXpvbnRhbFJv
dGF0ZWRUYXJnZXQnLCAndmVydGljYWxSb3RhdGVkVGFyZ2V0JykKIAogICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAg
ICAgfQogCiAgICAgICAgIGZ1bmN0aW9uIG9uTG9hZCgpCiAgICAgICAgIHsKLSAgICAgICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHdpbmRvdy5qc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQogICAgICAgICAgICAgICAgIHNldFRpbWVvdXQocnVuVGVzdCwgMCk7Ci0gICAgICAgICAgICB9
CiAgICAgICAgIH0KICAgICAgICAgPC9zY3JpcHQ+CiAgICAgPC9oZWFkPgpAQCAtMTk1LDYgKzE5
MSw1IEBACiAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgogICAgICAgICA8L2Rpdj4KLSAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogICAgIDwvYm9keT4KIDwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2NzczMvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtcG9zaXRpb25zLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jc3MzL3Njcm9sbC1zbmFwL3Nj
cm9sbC1zbmFwLXBvc2l0aW9ucy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNzEyNykKKysrIExh
eW91dFRlc3RzL2NzczMvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtcG9zaXRpb25zLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDMgQEAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQogU2Nyb2xsLXNuYXAgb2Zmc2V0cyBmb3IgJ2Nv
bnRhaW5lcic6IHZlcnRpY2FsID0geyAwLCA3MiwgMTAwLCAzMzAsIDQ0NSwgNTYwLCA2NzUsIDc2
MiwgNzkwLCA5OTIsIDEwMjAsIDEyNTAsIDEzMTAsIDEzNjUsIDE0MjUsIDE0ODAsIDQ0MjUgfQog
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCkluZGV4OiBMYXlvdXRUZXN0cy9jc3Mz
L3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXBvc2l0aW9ucy1tYWluZnJhbWUtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NzczMvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAt
cG9zaXRpb25zLW1haW5mcmFtZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNzEyNykKKysrIExh
eW91dFRlc3RzL2NzczMvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtcG9zaXRpb25zLW1haW5mcmFt
ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSwzIEBACi1QQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKIFNjcm9sbC1zbmFwIG9mZnNl
dHM6IHZlcnRpY2FsID0geyAwLCA2MDAsIDEyMDAsIDE4MDAsIDI0MDAsIDMwMDAgfQogUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCkluZGV4OiBMYXlvdXRUZXN0cy9jc3MzL3Njcm9s
bC1zbmFwL3Njcm9sbC1zbmFwLXBvc2l0aW9ucy1tYWluZnJhbWUuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9jc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXBvc2l0aW9ucy1tYWlu
ZnJhbWUuaHRtbAkocmV2aXNpb24gMjE3MTI3KQorKysgTGF5b3V0VGVzdHMvY3NzMy9zY3JvbGwt
c25hcC9zY3JvbGwtc25hcC1wb3NpdGlvbnMtbWFpbmZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTEsNSArMSw0IEBACiA8aHRtbD4KLQogPGhlYWQ+CiAgICAgPHN0eWxlPgogICAgICAgICBi
b2R5IHsKQEAgLTE0LDcgKzEzLDcgQEAKICAgICAgICAgfQogICAgIDwvc3R5bGU+CiAKLSAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQ+CiAgICAgZnVuY3Rpb24gcnVuVGVzdCgpCiAgICAgewpAQCAtMjQsMTIgKzIzLDkg
QEAKIAogICAgIGZ1bmN0aW9uIHNldHVwKCkKICAgICB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewotICAgICAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwotICAg
ICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisgICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAgIHNldFRpbWVvdXQocnVuVGVzdCwg
MCk7Ci0gICAgICAgIH0KICAgICB9CiAgICAgPC9zY3JpcHQ+CiA8L2hlYWQ+CkBAIC00MSw3ICsz
Nyw1IEBACiAgICAgPGRpdiBpZD0iY2hpbGQwMyIgY2xhc3M9InZlcnRpY2FsIj48L2Rpdj4KICAg
ICA8ZGl2IGlkPSJjaGlsZDA0IiBjbGFzcz0idmVydGljYWwiPjwvZGl2PgogICAgIDxkaXYgaWQ9
ImNoaWxkMDUiIGNsYXNzPSJ2ZXJ0aWNhbCI+PC9kaXY+Ci0gICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgotCiA8L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9jc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXBvc2l0aW9u
cy1vdmVyZmxvdy1yZXNpemUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2NzczMvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtcG9zaXRpb25zLW92ZXJmbG93LXJlc2l6ZS1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNzEyNykKKysrIExheW91dFRlc3RzL2NzczMvc2Nyb2xs
LXNuYXAvc2Nyb2xsLXNuYXAtcG9zaXRpb25zLW92ZXJmbG93LXJlc2l6ZS1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSwzIEBACi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKIFNjcm9sbC1zbmFwIG9mZnNldHM6IHZlcnRpY2FsID0g
eyAwLCA0MDAsIDgwMCwgMTIwMCwgMTYwMCwgMjAwMCB9CiBTY3JvbGwtc25hcCBvZmZzZXRzOiB2
ZXJ0aWNhbCA9IHsgMCwgNDAwLCA4MDAsIDEyMDAsIDE2MDAsIDIwMDAgfQogUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQpJbmRleDogTGF5b3V0VGVzdHMvY3NzMy9zY3JvbGwtc25hcC9z
Y3JvbGwtc25hcC1wb3NpdGlvbnMtb3ZlcmZsb3ctcmVzaXplLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvY3NzMy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1wb3NpdGlvbnMtb3ZlcmZs
b3ctcmVzaXplLmh0bWwJKHJldmlzaW9uIDIxNzEyNykKKysrIExheW91dFRlc3RzL2NzczMvc2Ny
b2xsLXNuYXAvc2Nyb2xsLXNuYXAtcG9zaXRpb25zLW92ZXJmbG93LXJlc2l6ZS5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDUgKzEsNCBAQAogPGh0bWw+Ci0KIDxoZWFkPgogICAgIDxzdHlsZT4K
ICAgICAgICAgI2NvbnRhaW5lciB7CkBAIC0xNSwxMCArMTQsMTEgQEAKICAgICAgICAgICAgIHNj
cm9sbC1zbmFwLWFsaWduOiBzdGFydDsKICAgICAgICAgfQogICAgIDwvc3R5bGU+Ci0gICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KICAgICA8
c2NyaXB0PgogICAgIGZ1bmN0aW9uIHNldHVwKCkKICAgICB7CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOwogICAgICAgICB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRhaW5lciIpOwogCiAgICAgICAgIGZ1bmN0aW9uIGR1bXBTbmFwT2Zmc2V0c0FuZEZp
bmlzaFRlc3QoKQpAQCAtMzUsMTIgKzM1LDggQEAKICAgICAgICAgfQogCiAgICAgICAgIGNvbnRh
aW5lci5zY3JvbGxUb3AgPSA4MDA7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewot
ICAgICAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwotICAgICAgICAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICAgICAgc2V0VGlt
ZW91dChkdW1wU25hcE9mZnNldHNBbmRSZXNpemVFbGVtZW50LCAwKTsKLSAgICAgICAgfQogICAg
IH0KICAgICA8L3NjcmlwdD4KIDwvaGVhZD4KQEAgLTU0LDcgKzUwLDUgQEAKICAgICAgICAgPGRp
diBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2Pgog
ICAgIDwvZGl2PgotICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KLQogPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvY3Nz
My9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1wb3NpdGlvbnMuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9jc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXBvc2l0aW9ucy5odG1sCShy
ZXZpc2lvbiAyMTcxMjcpCisrKyBMYXlvdXRUZXN0cy9jc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1z
bmFwLXBvc2l0aW9ucy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC04Nyw3ICs4Nyw3IEBACiAgICAg
ICAgICAgICBoZWlnaHQ6IDFweDsKICAgICAgICAgfQogICAgIDwvc3R5bGU+Ci0gICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgog
ICAgICAgICA8c2NyaXB0PgogICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkKICAgICAgICAgewpA
QCAtOTUsMTcgKzk1LDEzIEBACiAgICAgICAgICAgICBkZWJ1ZygiU2Nyb2xsLXNuYXAgb2Zmc2V0
cyBmb3IgJ2NvbnRhaW5lcic6ICIgKyB3aW5kb3cuaW50ZXJuYWxzLnNjcm9sbFNuYXBPZmZzZXRz
KGNvbnRhaW5lcikpOwogCiAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICAgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24g
b25Mb2FkKCkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
Ci0gICAgICAgICAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwotICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7Cisg
ICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICAgICAgc2V0VGlt
ZW91dChydW5UZXN0LCAwKTsKLSAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICA8L3Nj
cmlwdD4KIDwvaGVhZD4KQEAgLTE1MSw2ICsxNDcsNSBAQAogICAgICAgICA8ZGl2IHN0eWxlPSJi
b3JkZXItYm90dG9tOiAycHggZ3JlZW4gc29saWQ7IHRvcDogMTUwcHg7IiBjbGFzcz0iYWxpZ25t
ZW50LW1hcmtlciI+PC9kaXY+CiAgICAgICAgIDxkaXYgc3R5bGU9ImJvcmRlci1ib3R0b206IDJw
eCBibHVlIHNvbGlkOyB0b3A6IDMwMHB4OyIgY2xhc3M9ImFsaWdubWVudC1tYXJrZXIiPjwvZGl2
PgogICAgIDwvZGl2PgotICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Nz
czMvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtc3R5bGUtY2hhbmdlZC1hbGlnbi1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvY3NzMy9zY3JvbGwtc25hcC9zY3JvbGwtc25h
cC1zdHlsZS1jaGFuZ2VkLWFsaWduLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE3MTI3KQorKysg
TGF5b3V0VGVzdHMvY3NzMy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1zdHlsZS1jaGFuZ2VkLWFs
aWduLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDMgQEAKLVBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQogT3JpZ2luYWwgc25hcCBv
ZmZzZXRzIHdpdGggYHN0YXJ0YCBhbGlnbm1lbnQ6IHZlcnRpY2FsID0geyAwLCAzMDAsIDYwMCwg
OTAwLCAxMjAwIH0KIFVwZGF0ZWQgYWxpZ25tZW50IHRvIGBjZW50ZXJgOiB2ZXJ0aWNhbCA9IHsg
MCwgMTUwLCA0NTAsIDc1MCwgMTA1MCwgMTIwMCB9CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCkluZGV4OiBMYXlvdXRUZXN0cy9jc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXN0
eWxlLWNoYW5nZWQtYWxpZ24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jc3MzL3Nj
cm9sbC1zbmFwL3Njcm9sbC1zbmFwLXN0eWxlLWNoYW5nZWQtYWxpZ24uaHRtbAkocmV2aXNpb24g
MjE3MTI3KQorKysgTGF5b3V0VGVzdHMvY3NzMy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1zdHls
ZS1jaGFuZ2VkLWFsaWduLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTI1LDkgKzI1LDEwIEBACiAg
ICAgICAgICAgICAjY2hpbGQwNCB7IGJhY2tncm91bmQtY29sb3I6ICMwMDAwREQ7IGxlZnQ6IDA7
IHRvcDogMTIwMHB4OyB9CiAgICAgICAgICAgICAjY2hpbGQwNSB7IGJhY2tncm91bmQtY29sb3I6
ICM2NjY2RkY7IGxlZnQ6IDA7IHRvcDogMTUwMHB4OyB9CiAgICAgICAgIDwvc3R5bGU+Ci0gICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgogICAgICAgICA8c2NyaXB0PgogICAgICAgICBmdW5jdGlvbiBzZXR1cCgpIHsKKyAgICAg
ICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKICAgICAgICAgICAgIHZhciBnYWxs
ZXJ5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdhbGxlcnkiKTsKICAgICAgICAgICAgIHZh
ciBjb29yZGluYXRlQ2hpbGRFbGVtZW50cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05h
bWUoInZlcnRpY2FsIik7CiAKQEAgLTQ2LDE1ICs0NywxMCBAQAogICAgICAgICAgICAgZnVuY3Rp
b24gZHVtcEdhbGxlcnlBbmRGaW5pc2hUZXN0KCkgewogICAgICAgICAgICAgICAgIGRlYnVnKCJV
cGRhdGVkIGFsaWdubWVudCB0byBgY2VudGVyYDogIiArIHNuYXBPZmZzZXRzKCkpOwogICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKLSAgICAgICAgICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci0g
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCiAgICAgICAgICAgICAgICAgc2V0VGltZW91dChkdW1wR2FsbGVyeUFuZFVwZGF0ZUNv
b3JkaW5hdGVzLCAwKTsKLSAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICA8L3Njcmlw
dD4KICAgICA8L2hlYWQ+CkBAIC02OCw3ICs2NCw2IEBACiAgICAgICAgICAgICA8ZGl2IGNsYXNz
PSJ2ZXJ0aWNhbCIgaWQ9ImNoaWxkMDQiPjwvZGl2PgogICAgICAgICAgICAgPGRpdiBjbGFzcz0i
dmVydGljYWwiIGlkPSJjaGlsZDA1Ij48L2Rpdj4KICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KICAg
ICA8L2JvZHk+CiAKIDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2NzczMvdG91Y2gtYWN0aW9u
L3RvdWNoLWFjdGlvbi1tYW5pcHVsYXRpb24tZmFzdC1jbGlja3MuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9jc3MzL3RvdWNoLWFjdGlvbi90b3VjaC1hY3Rpb24tbWFuaXB1bGF0aW9u
LWZhc3QtY2xpY2tzLmh0bWwJKHJldmlzaW9uIDIxNzEyNykKKysrIExheW91dFRlc3RzL2NzczMv
dG91Y2gtYWN0aW9uL3RvdWNoLWFjdGlvbi1tYW5pcHVsYXRpb24tZmFzdC1jbGlja3MuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtNCw3ICs0LDcgQEAKIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJpbml0aWFsLXNjYWxlPTEuMCI+CiAKIDxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBpZD0idWkt
c2NyaXB0IiB0eXBlPSJ0ZXh0L3BsYWluIj4KICAgICAgICAgKGZ1bmN0aW9uKCkgewogICAgICAg
ICAgICAgdmFyIGNvdW50ID0gMDsKQEAgLTIzLDggKzIzLDcgQEAKICAgICA8c2NyaXB0PgogICAg
IHZhciBzY3JpcHRDb21wbGV0ZWQgPSBmYWxzZTsKICAgICB2YXIgY2xpY2tDb3VudCA9IDA7Ci0g
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKKyAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAogICAgIGZ1bmN0aW9uIGdldFVJU2Ny
aXB0KCkgewogICAgICAgICByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVpLXNjcmlw
dCIpLnRleHQ7CkBAIC0zNSw3ICszNCw3IEBACiAgICAgICAgICAgICB0ZXN0UnVubmVyLnJ1blVJ
U2NyaXB0KGdldFVJU2NyaXB0KCksIGZ1bmN0aW9uKHJlc3VsdCkgewogICAgICAgICAgICAgICAg
IHNjcmlwdENvbXBsZXRlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgaWYgKGNsaWNrQ291bnQg
PT0gMykKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAgICAgICAgICAgfSk7CiAgICAgfQog
ICAgIGZ1bmN0aW9uIGhhbmRsZUNsaWNrZWQoKSB7CkBAIC00Myw3ICs0Miw3IEBACiAgICAgICAg
IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIkNsaWNr
ISIpKTsKICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJiciIpKTsKICAgICAgICAgaWYgKGNsaWNrQ291bnQgPT0gMyAmJiBzY3JpcHRDb21w
bGV0ZWQpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOwogICAgIH0KICAgICA8L3NjcmlwdD4KIApAQCAtNjQsNyArNjMsNiBA
QAogICAgIDxidXR0b24gaWQ9InRhcmdldCIgb25jbGljaz0iaGFuZGxlQ2xpY2tlZCgpIj48L2J1
dHRvbj4KICAgICA8cD5SZXBlYXRlZGx5IHRhcHBpbmcgb24gdGhlIGJ1dHRvbiBzaG91bGQgZmly
ZSBjbGljayBldmVudHMuPC9wPgogICAgIDxwPlRoaXMgdGVzdCBpcyBiZXN0IHJ1biBpbiBXZWJL
aXRUZXN0UnVubmVyLiBJZiB5b3UgYXJlIHJ1bm5pbmcgdGhpcyB0ZXN0IG1hbnVhbGx5LCB2ZXJp
ZnkgdGhhdCB0YXBwaW5nIHRoZSBidXR0b24gY2F1c2VzIGEgIkNsaWNrISIgbWVzc2FnZSB0byBh
cHBlYXIgYmVsb3csIGFuZCB0aGF0IGNsaWNrIG9jY3VycmVkIHdpdGhvdXQgdGhlIHJlZ3VsYXIg
MzUwbXMgZGVsYXkgZm9yIGRvdWJsZSB0YXBwaW5nLjwvcD4KLSAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiAKIDwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2RldmljZS1hc3BlY3QtcmF0aW8uaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9kZXZpY2UtYXNwZWN0LXJhdGlvLmh0
bWwJKHJldmlzaW9uIDIxNzEyNykKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2RldmljZS1hc3Bl
Y3QtcmF0aW8uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxMSArMSw5IEBACiA8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+CiA8aHRtbD4KIDxoZWFkIGlkPSJt
eWhlYWQiPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgogPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHdpbmRvdy50ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKLX0KK2pzVGVzdElzQXN5bmMgPSB0cnVlOwogCiB2YXIgY291
bnQgPSAwOwogdmFyIG1heENvdW50ID0gMTA7CkBAIC0yOSwxMCArMjcsNyBAQCBmdW5jdGlvbiB3
YWl0Rm9yU3R5bGVzaGVldExvYWQoKQogCiAgICAgaWYgKGRvY3VtZW50LmRlZmF1bHRWaWV3Lmdl
dENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Rlc2NyaXB0aW9uJyksIG51
bGwpLmNvbG9yID09ICJyZ2IoMCwgMTI4LCAwKSIpIHsKICAgICAgICAgc2hvdWxkQmUoImRvY3Vt
ZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2Rlc2NyaXB0aW9uJyksIG51bGwpLmNvbG9yIiwgIidyZ2IoMCwgMTI4LCAwKSciKTsKLSAgICAg
ICAgaXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7Ci0gICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgICAg
IH0KKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2hvdmVyLWRpc3BsYXktYmxvY2staW5saW5lLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9ob3Zlci1kaXNwbGF5
LWJsb2NrLWlubGluZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNzEyNykKKysrIExheW91dFRl
c3RzL2Zhc3QvY3NzL2hvdmVyLWRpc3BsYXktYmxvY2staW5saW5lLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMSwyICsxLDUgQEAKIFBBU1MgU2V0dGluZyBkaXNwbGF5IHRvIGlubGlu
ZSBvbiBob3ZlciBwcm9jZXNzZWQgT0suCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvaG92ZXItZGlz
cGxheS1ibG9jay1pbmxpbmUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nz
cy9ob3Zlci1kaXNwbGF5LWJsb2NrLWlubGluZS5odG1sCShyZXZpc2lvbiAyMTcxMjcpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2Nzcy9ob3Zlci1kaXNwbGF5LWJsb2NrLWlubGluZS5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNywxMiArMjcsMTEgQEAKIAkJfQogCTwvc3R5bGU+CiAKLQk8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKwk8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogCiA8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0JaWYgKHdpbmRvdy50ZXN0UnVubmVyKQot
CQl0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKwlqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAog
CWZ1bmN0aW9uIGJlZ2luVGVzdCgpIHsKIAkJaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewpAQCAt
NjIsOCArNjEsNyBAQAogCiAJICAgICAgICBldmVudFNlbmRlci5tb3VzZVVwKDApOwogCi0JICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0JCQkJc2V0VGltZW91dCgidGVzdFJ1bm5lci5u
b3RpZnlEb25lKCkiLCAwKTsKKyAgICAgICAgICAgIHNldFRpbWVvdXQoZmluaXNoSlNUZXN0LCAw
KTsKIAkJfQogCX0KIApAQCAtNzQsNCArNzIsNCBAQAogCTxkaXYgaWQ9ImhvdmVyVGVzdCIgY2xh
c3M9ImJveCI+V2hlbiBob3ZlcmVkLCB0aGlzIGJveCdzIGRpc3BsYXkgd2lsbCBzd2l0Y2ggZnJv
bSA8Yj5ibG9jazwvYj4gdG8gPGI+aW5saW5lPC9iPjwvZGl2PgogCTxkaXYgaWQ9ImFmdGVyX2hv
dmVyVGVzdCIgY2xhc3M9ImJveCI+VGhpcyBpcyBoZXJlIHRvIHNob3cgdGhlIGxheW91dCBiZWlu
ZyByZWNvbXB1dGVkPC9kaXY+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvaG92ZXItZGlzcGxh
eS1ibG9jay1ub25lLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2Nzcy9ob3Zlci1kaXNwbGF5LWJsb2NrLW5vbmUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTcx
MjcpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9ob3Zlci1kaXNwbGF5LWJsb2NrLW5vbmUtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDIgKzEsNSBAQAogUEFTUyBTZXR0aW5nIGRp
c3BsYXkgdG8gbm9uZSBvbiBob3ZlciBwcm9jZXNzZWQgT0suCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9j
c3MvaG92ZXItZGlzcGxheS1ibG9jay1ub25lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9jc3MvaG92ZXItZGlzcGxheS1ibG9jay1ub25lLmh0bWwJKHJldmlzaW9uIDIxNzEy
NykKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2hvdmVyLWRpc3BsYXktYmxvY2stbm9uZS5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAJCX0KIAk8L3N0eWxlPgogCi0JPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisJPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KIDwvaGVhZD4K
IAogPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpAQCAtNDQsOCArNDQsNyBAQAogCTxk
aXYgaWQ9ImFmdGVyX2hvdmVyVGVzdCIgY2xhc3M9ImJveCI+VGhpcyBpcyBoZXJlIHRvIHNob3cg
dGhlIGxheW91dCBiZWluZyByZWNvbXB1dGVkPC9kaXY+CiAKIAk8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+Ci0JCWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLQkJCXRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOworCQlqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAogCQlmdW5jdGlvbiBiZWdp
blRlc3QoKSB7CiAJCQlpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CkBAIC03Miw4ICs3MSw3IEBA
CiAJCQkJZm9yICh2YXIgZWxlbWVudCwgaSA9IDA7IGVsZW1lbnQgPSBlbGVtZW50c1RvSGlkZVtp
XTsgaSsrKQogCQkJCSAgICBlbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAiaGlkZGVuIjsKIAot
CQkJCWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLQkJCQkJdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CisJCQkJZmluaXNoSlNUZXN0KCk7CiAJCQl9CiAJCX0KIApJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9jc3MvbWF4LWRldmljZS1hc3BlY3QtcmF0aW8uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9tYXgtZGV2aWNlLWFzcGVjdC1yYXRpby5odG1sCShyZXZpc2lvbiAyMTcx
MjcpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9tYXgtZGV2aWNlLWFzcGVjdC1yYXRpby5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDExICsxLDkgQEAKIDwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KIDxodG1sPgogPGhlYWQgaWQ9Im15aGVhZCI+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0Pgot
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgd2luZG93LnRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwotfQoranNUZXN0SXNBc3luYyA9IHRydWU7CiAKIHZhciBjb3VudCA9IDA7CiB2YXIg
bWF4Q291bnQgPSAxMDsKQEAgLTQxLDEwICszOSw3IEBAIGZ1bmN0aW9uIHdhaXRGb3JTdHlsZXNo
ZWV0TG9hZCgpCiAKICAgICBpZiAoZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHls
ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGVzY3JpcHRpb24nKSwgbnVsbCkuY29sb3IgPT0g
InJnYigwLCAxMjgsIDApIikgewogICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuZGVmYXVsdFZp
ZXcuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGVzY3JpcHRpb24n
KSwgbnVsbCkuY29sb3IiLCAiJ3JnYigwLCAxMjgsIDApJyIpOwotICAgICAgICBpc1N1Y2Nlc3Nm
dWxseVBhcnNlZCgpOwotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAg
ICAgIHdpbmRvdy50ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgfQorICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9jc3MvbWluLWRldmljZS1hc3BlY3QtcmF0aW8uaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L2Nzcy9taW4tZGV2aWNlLWFzcGVjdC1yYXRpby5odG1sCShyZXZpc2lv
biAyMTcxMjcpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9taW4tZGV2aWNlLWFzcGVjdC1yYXRp
by5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDExICsxLDkgQEAKIDwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KIDxodG1sPgogPGhlYWQgaWQ9Im15aGVhZCI+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgd2luZG93LnRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOwotfQoranNUZXN0SXNBc3luYyA9IHRydWU7CiAKIHZhciBjb3VudCA9IDA7
CiB2YXIgbWF4Q291bnQgPSAxMDsKQEAgLTQxLDEwICszOSw3IEBAIGZ1bmN0aW9uIHdhaXRGb3JT
dHlsZXNoZWV0TG9hZCgpCiAKICAgICBpZiAoZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0
ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGVzY3JpcHRpb24nKSwgbnVsbCkuY29s
b3IgPT0gInJnYigwLCAxMjgsIDApIikgewogICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuZGVm
YXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGVzY3Jp
cHRpb24nKSwgbnVsbCkuY29sb3IiLCAiJ3JnYigwLCAxMjgsIDApJyIpOwotICAgICAgICBpc1N1
Y2Nlc3NmdWxseVBhcnNlZCgpOwotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAg
ICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgfQorICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9jc3MvcHNldWRvLXRhcmdldC1pbmRpcmVjdC1zaWJsaW5nLTAwMS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3BzZXVkby10YXJnZXQtaW5kaXJl
Y3Qtc2libGluZy0wMDEuaHRtbAkocmV2aXNpb24gMjE3MTI3KQorKysgTGF5b3V0VGVzdHMvZmFz
dC9jc3MvcHNldWRvLXRhcmdldC1pbmRpcmVjdC1zaWJsaW5nLTAwMS5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDE1ICsxLDcgQEAKIDwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KIDxodG1sPgogPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0KLXdpbmRvdy5qc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKLQotPC9zY3JpcHQ+Ci0KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CiA8c3R5bGU+CiBkaXYuY2xhc3MgeyBiYWNrZ3JvdW5kLWNv
bG9yOiByZWQ7IH0KIDpob3ZlciB7YmFja2dyb3VuZC1jb2xvcjpibHVlOyB9CkBAIC0yNyw2ICsx
OSw3IEBAIGRpdi5jbGFzcyB7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQogPHNjcmlwdD4KIGRl
c2NyaXB0aW9uKCdUaGlzIHRlc3QgcGFzc2VzIGlmIGl0IGZpbmRzIGFuIGVsZW1lbnQgd2hvc2Ug
aWQgaXMgImZvdXJ0aCIgYW5kIGhhcyBhIHNpYmxpbmcgdGhhdCBjb21lcyBiZWZvcmUgaXQgYW5k
IHdob3NlIGlkIG1hdGNoZXMgdGhlIGZyYWdtZW50IG9mIHRoZSB1cmwgb2YgdGhpcyB0ZXN0Licp
OwogCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAogaWYgKHdpbmRvdy5sb2NhdGlvbi5oYXNoLmlu
ZGV4T2YoInNlY29uZCIpID09IC0xKQogICAgIHdpbmRvdy5sb2NhdGlvbi5oYXNoID0gIiNzZWNv
bmQiOwpAQCAtNDYsNiArMzksNSBAQCBzaG91bGRCZSgiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0
Q29tcHV0CiBmaW5pc2hKU1Rlc3QoKTsKIH0KIDwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvcHNldWRvLXRhcmdldC1pbmRpcmVjdC1zaWJsaW5n
LTAwMi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3BzZXVkby10YXJn
ZXQtaW5kaXJlY3Qtc2libGluZy0wMDIuaHRtbAkocmV2aXNpb24gMjE3MTI3KQorKysgTGF5b3V0
VGVzdHMvZmFzdC9jc3MvcHNldWRvLXRhcmdldC1pbmRpcmVjdC1zaWJsaW5nLTAwMi5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDE1ICsxLDcgQEAKIDwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KIDxodG1sPgogPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1pZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0KLXdpbmRvdy5q
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotPC9zY3JpcHQ+Ci0KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CiA8c3R5bGU+CiBkaXYuY2xhc3MgeyBiYWNr
Z3JvdW5kLWNvbG9yOiByZWQ7IH0KIDpob3ZlciB7YmFja2dyb3VuZC1jb2xvcjpibHVlOyB9CkBA
IC0yNyw2ICsxOSw3IEBAIGRpdi5jbGFzcyB7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQogPHNj
cmlwdD4KIGRlc2NyaXB0aW9uKCdUaGlzIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGZpbmQg
dGhlIGVsZW1lbnQgd2hvc2UgaWQgaXMgImZpcnN0IiwgYmVjYXVzZSBldmVuIHRob3VnaCBpdCBo
YXMgYSBzaWJsaW5nIHdob3NlIGlkIG1hdGNoZXMgdGhlIGZyYWdtZW50IG9mIHRoZSB1cmwgb2Yg
dGhpcyB0ZXN0LCB0aGF0IHNpYmxpbmcgY29tZXMgYWZ0ZXIsIG5vdCBiZWZvcmUgdGhlICJmaXJz
dCIgZWxlbWVudC4nKTsKIAoranNUZXN0SXNBc3luYyA9IHRydWU7CiAKIGlmICh3aW5kb3cubG9j
YXRpb24uaGFzaC5pbmRleE9mKCJzZWNvbmQiKSA9PSAtMSkKICAgICB3aW5kb3cubG9jYXRpb24u
aGFzaCA9ICIjc2Vjb25kIjsKQEAgLTQ2LDYgKzM5LDUgQEAgc2hvdWxkQmUoImRvY3VtZW50LmRl
ZmF1bHRWaWV3LmdldENvbXB1dAogZmluaXNoSlNUZXN0KCk7CiB9CiA8L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9k
eT4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2NvdW50ZXJzLzJkaXNwbGF5
cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvY291bnRl
cnMvMmRpc3BsYXlzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE3MTI3KQorKysgTGF5b3V0VGVz
dHMvZmFzdC9jc3MvY291bnRlcnMvMmRpc3BsYXlzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMyw4ICszLDggQEAgVGhpcyB0ZXN0IHBhc3NlcyBpZiBib3RoIHRoZSBmaXJzdCBhbmQg
dAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKK1BBU1Mgd2luZG93LmludGVybmFscy5j
b3VudGVyVmFsdWUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3RWaWV3JykpIGlzICcxMDAw
IDEwMDAnCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUK
LVBBU1Mgd2luZG93LmludGVybmFscy5jb3VudGVyVmFsdWUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3Rlc3RWaWV3JykpIGlzICcxMDAwIDEwMDAnCiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
Y3NzL2NvdW50ZXJzLzJkaXNwbGF5cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvY3NzL2NvdW50ZXJzLzJkaXNwbGF5cy5odG1sCShyZXZpc2lvbiAyMTcxMjcpCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2Nzcy9jb3VudGVycy8yZGlzcGxheXMuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMTYsMTUgKzE2LDEyIEBACiB9CiAKIDwvc3R5bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+CiAKIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgcGFzc2VzIGlmIGJvdGggdGhlIGZp
cnN0IGFuZCB0aGUgc2Vjb25kIGNvdW50ZXIgYXJlIDEwMDAuIik7CiAKLWlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOwotfQoranNUZXN0SXNBc3luYyA9IHRydWU7CiAKIGZ1bmN0aW9uIHJ1
bigpCiB7CkBAIC0zMyw4ICszMCw3IEBAIGZ1bmN0aW9uIHJ1bigpCiAgICAgICAgIHJldHVybjsK
ICAgICBzaG91bGRCZSgid2luZG93LmludGVybmFscy5jb3VudGVyVmFsdWUoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3Rlc3RWaWV3JykpIiwgIicxMDAwIDEwMDAnIik7CiAKLSAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIGZp
bmlzaEpTVGVzdCgpOwogfQogCiB3aW5kb3cub25sb2FkID0gcnVuOwpAQCAtNDMsNiArMzksNSBA
QCB3aW5kb3cub25sb2FkID0gcnVuOwogPC9oZWFkPgogPGJvZHk+CiA8ZGl2IGlkPSJ0ZXN0Vmll
dyIgY2xhc3M9ImNvdW50ZXIxIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvY3NzL2NvdW50ZXJzL2FmdGVyLWNvbnRpbnVhdGlvbi1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvY291bnRlcnMvYWZ0ZXItY29u
dGludWF0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE3MTI3KQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvY291bnRlcnMvYWZ0ZXItY29udGludWF0aW9uLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw2ICsxLDcgQEAKIFRoaXMgdGVzdCBwYXNzZXMgaWYgdGhlIG51bWJlcnMg
ZGlzcGxheWVkIGJlbG93IGFyZSAxIGFuZCAyIGluIHRoaXMgb3JkZXIuCiAKIFBBU1Mgd2luZG93
LmludGVybmFscy5jb3VudGVyVmFsdWUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2MyJykpIGlz
ICcyJworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCiAK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2NvdW50ZXJzL2FmdGVyLWNvbnRpbnVhdGlvbi5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2NvdW50ZXJzL2FmdGVyLWNv
bnRpbnVhdGlvbi5odG1sCShyZXZpc2lvbiAyMTcxMjcpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nz
cy9jb3VudGVycy9hZnRlci1jb250aW51YXRpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMiwy
MCArMiwxNCBAQAogICAgIDxzdHlsZT4KICAgICAgICAgLmMwOmFmdGVyIHsgY291bnRlci1pbmNy
ZW1lbnQ6c2VjdGlvbjsgY29udGVudDogY291bnRlcihzZWN0aW9uKTsgfQogICAgIDwvc3R5bGU+
Ci0gICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0PgotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
LSAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIH0KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKICAgICAgICAgZnVuY3Rpb24gcnVuKCkKICAgICAgICAgewogICAgICAgICAgICAg
c2hvdWxkQmUoIndpbmRvdy5pbnRlcm5hbHMuY291bnRlclZhbHVlKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdjMicpKSIsICInMiciKTsKLQotICAgICAgICAgICAgZGVidWcoJycpOwotICAgICAg
ICAgICAgZGVidWcoJ1RFU1QgQ09NUExFVEUnKTsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAgICAgICB9CiAgICAgPC9zY3JpcHQ+CiA8L2hlYWQ+
PGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0KCdydW4oKScsIDApOyI+CkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2Nzcy9jb3VudGVycy9jb3VudGVyLWluY3JlbWVudC1pbmhlcml0LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9jb3VudGVycy9jb3VudGVyLWlu
Y3JlbWVudC1pbmhlcml0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE3MTI3KQorKysgTGF5b3V0
VGVzdHMvZmFzdC9jc3MvY291bnRlcnMvY291bnRlci1pbmNyZW1lbnQtaW5oZXJpdC1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTQsNCArNCw3IEBAIFBBU1Mgd2luZG93LmludGVybmFs
cy5jb3VudGVyVmFsdWUoZG9jdW0KIFBBU1Mgd2luZG93LmludGVybmFscy5jb3VudGVyVmFsdWUo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3dyYXBwZXI5MScpKSBpcyAnMTAnCiBQQVNTIHdpbmRv
dy5pbnRlcm5hbHMuY291bnRlclZhbHVlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0OTEn
KSkgaXMgJzIwJwogUEFTUyB3aW5kb3cuaW50ZXJuYWxzLmNvdW50ZXJWYWx1ZShkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgndGVzdDkxYScpKSBpcyAnMzAnCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
Y291bnRlcnMvY291bnRlci1pbmNyZW1lbnQtaW5oZXJpdC5odG0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9jc3MvY291bnRlcnMvY291bnRlci1pbmNyZW1lbnQtaW5oZXJpdC5odG0J
KHJldmlzaW9uIDIxNzEyNykKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2NvdW50ZXJzL2NvdW50
ZXItaW5jcmVtZW50LWluaGVyaXQuaHRtCSh3b3JraW5nIGNvcHkpCkBAIC00LDEyICs0LDEwIEBA
CiAgICAgICAgIDx0aXRsZT5DU1MgVGVzdDogQ291bnRlci1pbmNyZW1lbnQgdGVzdHM8L3RpdGxl
PgogICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJlZj0iaHR0
cDovL3d3dy5taWNyb3NvZnQuY29tLyI+CiAgICAgICAgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0i
aHR0cDovL3d3dy53My5vcmcvVFIvQ1NTMjEvZ2VuZXJhdGUuaHRtbCNjb3VudGVycyI+Ci0gICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgogICAgICAgICA8c2NyaXB0PgotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICB9Cisg
ICAgICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwogICAgICAgICAgICAgZnVuY3Rpb24g
cnVuKCkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAvLyBTb21lIGV4dHJhIFdlYktp
dCB0ZXN0aW5nIGZvciBjb3VudGVyLWluY3JlbWVudCBpbmhlcml0CkBAIC0xOSw4ICsxNyw3IEBA
CiAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIndpbmRvdy5pbnRlcm5hbHMuY291bnRlclZhbHVl
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3cmFwcGVyOTEnKSkiLCAiJzEwJyIpOwogICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuaW50ZXJuYWxzLmNvdW50ZXJWYWx1ZShkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgndGVzdDkxJykpIiwgIicyMCciKTsKICAgICAgICAgICAgICAgICBz
aG91bGRCZSgid2luZG93LmludGVybmFscy5jb3VudGVyVmFsdWUoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3Rlc3Q5MWEnKSkiLCAiJzMwJyIpOwotICAgICAgICAgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CisgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgICAgICAgICB9CiAgICAgICAg
IDwvc2NyaXB0PgogICAgICAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9jc3MvY291bnRlcnMvY291bnRlci1pbmNyZW1lbnQtdGVzdHMtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2NvdW50ZXJzL2NvdW50ZXIt
aW5jcmVtZW50LXRlc3RzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE3MTI3KQorKysgTGF5b3V0
VGVzdHMvZmFzdC9jc3MvY291bnRlcnMvY291bnRlci1pbmNyZW1lbnQtdGVzdHMtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC02Miw0ICs2Miw3IEBAIFBBU1Mgd2luZG93LmludGVybmFs
cy5jb3VudGVyVmFsdWUoZG9jdW0KIFBBU1Mgd2luZG93LmludGVybmFscy5jb3VudGVyVmFsdWUo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vbmU1OCcpKSBpcyAnNS4yJwogUEFTUyB3aW5kb3cu
aW50ZXJuYWxzLmNvdW50ZXJWYWx1ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uZTU4YScp
KSBpcyAnNS43JwogUEFTUyB3aW5kb3cuaW50ZXJuYWxzLmNvdW50ZXJWYWx1ZShkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgndGVzdDU4YicpKSBpcyAnNS4xMicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQogICAgIApJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9jc3MvY291bnRlcnMvY291bnRlci1pbmNyZW1lbnQtdGVzdHMuaHRtCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvY3NzL2NvdW50ZXJzL2NvdW50ZXItaW5jcmVtZW50LXRlc3RzLmh0
bQkocmV2aXNpb24gMjE3MTI3KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvY291bnRlcnMvY291
bnRlci1pbmNyZW1lbnQtdGVzdHMuaHRtCSh3b3JraW5nIGNvcHkpCkBAIC00LDEyICs0LDEwIEBA
CiAgICAgICAgIDx0aXRsZT5DU1MgVGVzdDogQ291bnRlci1pbmNyZW1lbnQgdGVzdHM8L3RpdGxl
PgogICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCIgaHJlZj0iaHR0
cDovL3d3dy5taWNyb3NvZnQuY29tLyI+CiAgICAgICAgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0i
aHR0cDovL3d3dy53My5vcmcvVFIvQ1NTMjEvZ2VuZXJhdGUuaHRtbCNjb3VudGVycyI+Ci0gICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgogICAgICAgICA8c2NyaXB0PgotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICB9Cisg
ICAgICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwogICAgICAgICAgICAgZnVuY3Rpb24g
cnVuKCkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAvKiBUaGVzZSBhcmUgdGV4dCB2
ZXJzaW9ucyBvZiB0aGUgY291bnRlci1pbmNyZW1lbnQtKiB0ZXN0cyBpbiB0aGUgQ1NTIDIuMSB0
ZXN0IHN1aXRlLgpAQCAtNzksOCArNzcsNyBAQAogICAgICAgICAgICAgICAgIHNob3VsZEJlKCJ3
aW5kb3cuaW50ZXJuYWxzLmNvdW50ZXJWYWx1ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9u
ZTU4JykpIiwgIic1LjInIik7CiAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIndpbmRvdy5pbnRl
cm5hbHMuY291bnRlclZhbHVlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub25lNThhJykpIiwg
Iic1LjcnIik7CiAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIndpbmRvdy5pbnRlcm5hbHMuY291
bnRlclZhbHVlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0NThiJykpIiwgIic1LjEyJyIp
OwotICAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIDwvc2NyaXB0PgogICAgICAgICA8c3R5bGUg
dHlwZT0idGV4dC9jc3MiPgpAQCAtNjcxLDQgKzY2OCw0IEBACiAgICAgICAgICAgICA8c3BhbiBp
ZD0idGVzdDU4YiI+PC9zcGFuPgogICAgICAgICA8L2Rpdj4KICAgICA8L2JvZHk+Ci08L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvaW1hZ2UtcmVzb2x1dGlvbi9pbWFnZS1yZXNvbHV0aW9uLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvaW1hZ2UtcmVzb2x1dGlvbi9pbWFnZS1yZXNvbHV0
aW9uLmh0bWwJKHJldmlzaW9uIDIxNzEyNykKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2ltYWdl
LXJlc29sdXRpb24vaW1hZ2UtcmVzb2x1dGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEz
ICsxLDExIEBACiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9k
eT4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKLX0KK2pzVGVzdElzQXN5bmMgPSB0cnVlOwogCiBmdW5jdGlvbiB0ZXN0
Q29tcGxldGVkKCkKIHsKQEAgLTEwOSw3ICsxMDcsNyBAQCBpbWcub25sb2FkID0gZnVuY3Rpb24o
KSB7CiAgICAgICAgIHNob3VsZEJlKCdpbWcub2Zmc2V0SGVpZ2h0Jywgc3RyaW5naWZ5KGV4cGVj
dGVkSGVpZ2h0KSk7CiAgICAgfSk7CiAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChpbWcp
OwotICAgIHRlc3RDb21wbGV0ZWQoKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKIH07CiAKIGRvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW1nKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>