<?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>104246</bug_id>
          
          <creation_ts>2012-12-06 02:55:15 -0800</creation_ts>
          <short_desc>UndoManager layout tests should be removed</short_desc>
          <delta_ts>2012-12-24 06:30:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>784800</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-12-06 02:55:15 -0800</bug_when>
    <thetext>UndoManager layout tests should be removed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784810</commentid>
    <comment_count>1</comment_count>
      <attachid>177984</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-12-06 03:06:51 -0800</bug_when>
    <thetext>Created attachment 177984
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796968</commentid>
    <comment_count>2</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-12-24 06:30:21 -0800</bug_when>
    <thetext>Landed in r136849.
http://trac.webkit.org/changeset/136849</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177984</attachid>
            <date>2012-12-06 03:06:51 -0800</date>
            <delta_ts>2012-12-06 08:46:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104246-20121206120415.patch</filename>
            <type>text/plain</type>
            <size>78159</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDEzNjgyNykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDQ3IEBACisyMDEyLTEyLTA2ICBaYW4gRG9iZXJzZWsgIDx6
YW5kb2JlcnNla0BnbWFpbC5jb20+CisKKyAgICAgICAgVW5kb01hbmFnZXIgbGF5b3V0IHRlc3Rz
IHNob3VsZCBiZSByZW1vdmVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDQyNDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUaGUgVW5kb01hbmFnZXIgZmVhdHVyZSBzdXBwb3J0IHdhcyByZW1vdmVkIGZy
b20gdGhlIHNvdXJjZSB0cmVlCisgICAgICAgIGluIHIxMzMzMjYuIFRoZSBsYXlvdXQgdGVzdHMg
c2hvdWxkIGJlIHJlbW92ZWQgYXMgd2VsbC4gQXMgd2l0aAorICAgICAgICB0aGUgZmVhdHVyZSBp
bXBsZW1lbnRhdGlvbiwgdGhlc2UgdG9vIGNhbiBiZSByZXN0b3JlZCBiYWNrIHdoZW4gbmVlZGVk
LgorCisgICAgICAgICogZWRpdGluZy91bmRvbWFuYWdlcjogUmVtb3ZlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3VuZG9tYW5hZ2VyL2F1dG9tYXRpYy10cmFuc2FjdGlvbi1hdHRyaWJ1dGUtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGVkaXRpbmcvdW5kb21hbmFnZXIvYXV0b21hdGlj
LXRyYW5zYWN0aW9uLWF0dHJpYnV0ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGVkaXRpbmcv
dW5kb21hbmFnZXIvYXV0b21hdGljLXRyYW5zYWN0aW9uLWRhdGEtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGVkaXRpbmcvdW5kb21hbmFnZXIvYXV0b21hdGljLXRyYW5zYWN0aW9u
LWRhdGEuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBlZGl0aW5nL3VuZG9tYW5hZ2VyL2F1dG9t
YXRpYy10cmFuc2FjdGlvbi1ub2RlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3VuZG9tYW5hZ2VyL2F1dG9tYXRpYy10cmFuc2FjdGlvbi1ub2RlLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogZWRpdGluZy91bmRvbWFuYWdlci9kb2N1bWVudC1oYXMtdW5kb21hbmFn
ZXItZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGVkaXRpbmcvdW5kb21hbmFnZXIv
ZG9jdW1lbnQtaGFzLXVuZG9tYW5hZ2VyLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZWRpdGlu
Zy91bmRvbWFuYWdlci9kb210cmFuc2FjdGlvbi1zdXJ2aXZlcy1nYy1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogZWRpdGluZy91bmRvbWFuYWdlci9kb210cmFuc2FjdGlvbi1zdXJ2
aXZlcy1nYy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGVkaXRpbmcvdW5kb21hbmFnZXIvdW5k
b21hbmFnZXItaXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IGVkaXRpbmcvdW5kb21hbmFnZXIvdW5kb21hbmFnZXItaXNvbGF0ZWQtd29ybGQuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBlZGl0aW5nL3VuZG9tYW5hZ2VyL3VuZG9tYW5hZ2VyLWl0ZW0tZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGVkaXRpbmcvdW5kb21hbmFnZXIvdW5kb21h
bmFnZXItaXRlbS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGVkaXRpbmcvdW5kb21hbmFnZXIv
dW5kb21hbmFnZXItcmVlbnRlci1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZWRp
dGluZy91bmRvbWFuYWdlci91bmRvbWFuYWdlci1yZWVudGVyLmh0bWw6IFJlbW92ZWQuCisgICAg
ICAgICogZWRpdGluZy91bmRvbWFuYWdlci91bmRvbWFuYWdlci10cmFuc2FjdC1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogZWRpdGluZy91bmRvbWFuYWdlci91bmRvbWFuYWdlci10
cmFuc2FjdC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGVkaXRpbmcvdW5kb21hbmFnZXIvdW5k
b21hbmFnZXItdW5kby1yZWRvLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3VuZG9tYW5hZ2VyL3VuZG9tYW5hZ2VyLXVuZG8tcmVkby5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGVkaXRpbmcvdW5kb21hbmFnZXIvdW5kb3Njb3BlaG9zdC11c2UtYWZ0ZXItZnJlZS1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZWRpdGluZy91bmRvbWFuYWdlci91bmRv
c2NvcGVob3N0LXVzZS1hZnRlci1mcmVlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvVGVz
dEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0
Zm9ybS9xdC00LjgvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC1tYWMv
VGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25z
OgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBs
YXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTItMTItMDYgIEtlbnQgVGFt
dXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gVGVzdCBleHBl
Y3RhdGlvbiB1cGRhdGUKSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvdW5kb21hbmFnZXIvZG9j
dW1lbnQtaGFzLXVuZG9tYW5hZ2VyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL2RvY3VtZW50LWhhcy11bmRvbWFuYWdlci1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDEzNjgyNCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvdW5kb21hbmFn
ZXIvZG9jdW1lbnQtaGFzLXVuZG9tYW5hZ2VyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMSwzICswLDAgQEAKLQotUEFTUyBkb2N1bWVudC51bmRvTWFuYWdlciAKLQpJbmRleDogTGF5
b3V0VGVzdHMvZWRpdGluZy91bmRvbWFuYWdlci9kb210cmFuc2FjdGlvbi1zdXJ2aXZlcy1nYy5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvdW5kb21hbmFnZXIvZG9tdHJh
bnNhY3Rpb24tc3Vydml2ZXMtZ2MuaHRtbAkocmV2aXNpb24gMTM2ODI0KQorKysgTGF5b3V0VGVz
dHMvZWRpdGluZy91bmRvbWFuYWdlci9kb210cmFuc2FjdGlvbi1zdXJ2aXZlcy1nYy5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDI3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLTx0aXRsZT5ET01UcmFuc2FjdGlvbiBzdXJ2aXZlcyBHQzwvdGl0bGU+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCB1
bmRvTWFuYWdlciBrZWVwcyBET01UcmFuc2FjdGlvbiBvYmplY3RzIGFsaXZlIgotICAgICsgImR1
cmluZyBpdHMgbGlmZXRpbWUgYW5kIHRoZXJlZm9yZSBkb2VzIG5vdCBjcmFzaCBhZnRlciB0aGUg
R0MgcnVucy4iKTsKLQotdmFyIHJlc3VsdCA9ICIiOwotCi1kb2N1bWVudC51bmRvTWFuYWdlci50
cmFuc2FjdCh7Ci0gICAgImV4ZWN1dGUiOiBmdW5jdGlvbigpIHsgcmVzdWx0ICs9ICJleGVjdXRl
ICI7IH0sCi0gICAgInVuZG8iOiBmdW5jdGlvbigpIHsgcmVzdWx0ICs9ICJ1bmRvICI7IH0sCi0g
ICAgInJlZG8iOiBmdW5jdGlvbigpIHsgcmVzdWx0ICs9ICJyZWRvICI7IH0KLX0pOwotCi1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoImdjKCk7IGRvY3VtZW50LnVuZG9NYW5hZ2VyLnVuZG8oKTsgcmVz
dWx0IiwgImV4ZWN1dGUgdW5kbyAiKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygiZ2MoKTsgZG9j
dW1lbnQudW5kb01hbmFnZXIucmVkbygpOyByZXN1bHQiLCAiZXhlY3V0ZSB1bmRvIHJlZG8gIik7
Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwv
Ym9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvdW5kb21hbmFnZXIvdW5k
b21hbmFnZXItaXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2VkaXRpbmcvdW5kb21hbmFnZXIvdW5kb21hbmFnZXItaXNvbGF0ZWQtd29ybGQtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAxMzY4MjQpCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9t
YW5hZ2VyL3VuZG9tYW5hZ2VyLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSwxMCArMCwwIEBACi1UaGlzIHRlc3RzIHRoYXQgdW5kb01hbmFnZXIncyBjYWxs
YmFjayBmdW5jdGlvbnMgb25seSBydW4gaW4gdGhlIHJpZ2h0IHdvcmxkLgotCi1PbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyB1bmRvTWFuYWdlcidzIGNhbGxiYWNrIHdhcyBub3Qg
aW52b2tlZCBpbiBpc29sYXRlZCB3b3JsZC4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5h
Z2VyL3VuZG9tYW5hZ2VyLXJlZW50ZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3VuZG9tYW5hZ2VyL3VuZG9tYW5hZ2VyLXJlZW50ZXIuaHRtbAkocmV2aXNpb24gMTM2
ODI0KQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvbWFuYWdlci91bmRvbWFuYWdlci1yZWVu
dGVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNDIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLWRlc2Ny
aXB0aW9uKCJFbnN1cmUgdGhhdCB1bmRvTWFuYWdlciB0aHJvd3MgYW4gZXhjZXB0aW9uIHdoZW4g
d2UgcmUtZW50ZXIgaXQgYnkgY2FsbGluZyAiCi0gICAgKyAidW5kb01hbmFnZXIgZnVuY3Rpb25z
IGR1cmluZyBjYWxsYmFja3MuIik7Ci0KLXZhciB1bmRvTWFuYWdlciA9IGRvY3VtZW50LnVuZG9N
YW5hZ2VyOwotCi12YXIgdHJhbnNhY3Rpb24gPSB7Ci0gICAgImV4ZWN1dGUiOiBmdW5jdGlvbigp
IHsKLSAgICAgICAgdW5kb01hbmFnZXIudHJhbnNhY3QoewotICAgICAgICAgICAgImV4ZWN1dGUi
OiBmdW5jdGlvbigpIHsgfSwKLSAgICAgICAgICAgICJ1bmRvIjogZnVuY3Rpb24oKSB7IH0sCi0g
ICAgICAgICAgICAicmVkbyI6IGZ1bmN0aW9uKCkgeyB9Ci0gICAgICAgIH0pOwotICAgIH0sCi0g
ICAgInVuZG8iOiBmdW5jdGlvbigpIHsKLSAgICAgICAgdW5kb01hbmFnZXIudW5kbygpOwotICAg
IH0sCi0gICAgInJlZG8iOiBmdW5jdGlvbigpIHsKLSAgICAgICAgdW5kb01hbmFnZXIuY2xlYXJS
ZWRvKCk7Ci0gICAgfQotfTsKLQotZGVidWcoImNhbGwgdW5kb01hbmFnZXIudHJhbnNhY3QoKSBk
dXJpbmcgdGhlIGV4ZWN1dGUgY2FsbGJhY2siKTsKLXNob3VsZFRocm93KCJ1bmRvTWFuYWdlci50
cmFuc2FjdCh0cmFuc2FjdGlvbikiLCAiJ0Vycm9yOiBJbnZhbGlkQWNjZXNzRXJyb3I6IERPTSBF
eGNlcHRpb24gMTUnIik7Ci0KLWRlYnVnKCJjYWxsIHVuZG9NYW5hZ2VyLnVuZG8oKSBkdXJpbmcg
dGhlIHVuZG8gY2FsbGJhY2siKTsKLXNob3VsZFRocm93KCJ1bmRvTWFuYWdlci51bmRvKCkiLCAi
J0Vycm9yOiBJbnZhbGlkQWNjZXNzRXJyb3I6IERPTSBFeGNlcHRpb24gMTUnIik7Ci0KLWRlYnVn
KCJjYWxsIHVuZG9NYW5hZ2VyLmNsZWFyUmVkbygpIGR1cmluZyB0aGUgcmVkbyBjYWxsYmFjayIp
Owotc2hvdWxkVGhyb3coInVuZG9NYW5hZ2VyLnJlZG8oKSIsICInRXJyb3I6IEludmFsaWRBY2Nl
c3NFcnJvcjogRE9NIEV4Y2VwdGlvbiAxNSciKTsKLQotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvZWRpdGluZy91bmRvbWFuYWdlci91bmRvbWFuYWdlci11bmRvLXJlZG8tZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvdW5kb21hbmFnZXIvdW5kb21h
bmFnZXItdW5kby1yZWRvLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTM2ODI0KQorKysgTGF5b3V0
VGVzdHMvZWRpdGluZy91bmRvbWFuYWdlci91bmRvbWFuYWdlci11bmRvLXJlZG8tZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDExICswLDAgQEAKLVRoaXMgdGVzdHMgVW5kb01hbmFn
ZXIncyB1bmRvKCksIHJlZG8oKSwgbGVuZ3RoLCBhbmQgcG9zaXRpb24uCi0KLVBBU1MgdW5kb01h
bmFnZXIgaGFzIHByb3BlcnRpZXMgdW5kbywgcmVkbywgbGVuZ3RoLCBhbmQgcG9zaXRpb24uIAot
UEFTUyB1bmRvTWFuYWdlciBoYXMgY29ycmVjdCBpbml0aWFsIHZhbHVlcyBmb3IgbGVuZ3RoICgw
KSBhbmQgcG9zaXRpb24gKDApLiAKLVBBU1MgQWZ0ZXIgaW5zZXJ0aW5nIHRleHQgJ3Rlc3QnIGlu
IGEgRElWLCB1bmRvTWFuYWdlcidzIGxlbmd0aCBpcyAxIGFuZCBwb3NpdGlvbiBpcyAwLiAKLVBB
U1MgQWZ0ZXIgYm9sZGluZyB0aGUgdGV4dCwgdW5kb01hbmFnZXIncyBsZW5ndGggaXMgMiBhbmQg
cG9zaXRpb24gaXMgMCwgYW5kIHRoZSByZXN1bHQgaXMgYSBib2xkICd0ZXN0Jy4gCi1QQVNTIEFm
dGVyIHVuZG9pbmcsIHVuZG9NYW5hZ2VyJ3MgbGVuZ3RoIGlzIDIgYW5kIHBvc2l0aW9uIGlzIDEs
IGFuZCB0aGUgcmVzdWx0IGlzIGEgcGxhaW4gJ3Rlc3QnLiAKLVBBU1MgQWZ0ZXIgdW5kb2luZywg
dW5kb01hbmFnZXIncyBsZW5ndGggaXMgMiBhbmQgcG9zaXRpb24gaXMgMiwgYW5kIHRoZSByZXN1
bHQgaXMgZW1wdHkuIAotUEFTUyBBZnRlciByZWRvaW5nLCB1bmRvTWFuYWdlcidzIGxlbmd0aCBp
cyAyIGFuZCBwb3NpdGlvbiBpcyAxLCBhbmQgdGhlIHJlc3VsdCBpcyBhIHBsYWluICd0ZXN0Jy4g
Ci1QQVNTIEFmdGVyIHJlZG9pbmcsIHVuZG9NYW5hZ2VyJ3MgbGVuZ3RoIGlzIDIgYW5kIHBvc2l0
aW9uIGlzIDAsIGFuZCB0aGUgcmVzdWx0IGlzIGEgYm9sZCAndGVzdCcuIAotCkluZGV4OiBMYXlv
dXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL3VuZG9zY29wZWhvc3QtdXNlLWFmdGVyLWZyZWUu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL3VuZG9z
Y29wZWhvc3QtdXNlLWFmdGVyLWZyZWUuaHRtbAkocmV2aXNpb24gMTM2ODI0KQorKysgTGF5b3V0
VGVzdHMvZWRpdGluZy91bmRvbWFuYWdlci91bmRvc2NvcGVob3N0LXVzZS1hZnRlci1mcmVlLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMzIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGlmcmFtZSBpZD0iZnJhbWUiPjwv
aWZyYW1lPgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgdW5kb01hbmFn
ZXIgZG9lc24ndCBoYXZlIHVzZS1hZnRlci1mcmVlIHZ1bG5lcmFiaWxpdGllcyAiCi0gICAgKyAi
YWZ0ZXIgaXRzIHVuZG9TY29wZUhvc3QgaGFzIGJlZW4gcmVjbGFpbWVkIGJ5IEdDLiIpOwotCi12
YXIgZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhbWUiKTsKLXZhciB1bmRvTWFu
YWdlciA9IGZyYW1lLmNvbnRlbnREb2N1bWVudC51bmRvTWFuYWdlcjsKLQotZnJhbWUucGFyZW50
Tm9kZS5yZW1vdmVDaGlsZChmcmFtZSk7Ci1mcmFtZSA9IG51bGw7Ci1nYygpOwotCi12YXIgdHJh
bnNhY3Rpb24gPSB7Ci0gICAgImV4ZWN1dGUiOiBmdW5jdGlvbigpIHsgfSwKLSAgICAidW5kbyI6
IGZ1bmN0aW9uKCkgeyB9LAotICAgICJyZWRvIjogZnVuY3Rpb24oKSB7IH0KLX07Ci0KLWRlYnVn
KCJjYWxsIHRyYW5zYWN0KCkgYWZ0ZXIgdGhlIHVuZG9TY29wZUhvc3QgaGFzIGJlZW4gcmVjbGFp
bWVkLiIpOwotc2hvdWxkVGhyb3coInVuZG9NYW5hZ2VyLnRyYW5zYWN0KHRyYW5zYWN0aW9uKSIs
ICInRXJyb3I6IEludmFsaWRBY2Nlc3NFcnJvcjogRE9NIEV4Y2VwdGlvbiAxNSciKTsKLQotdmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvbWFuYWdlci9hdXRvbWF0aWMt
dHJhbnNhY3Rpb24tbm9kZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZWRpdGluZy91bmRvbWFuYWdlci9hdXRvbWF0aWMtdHJhbnNhY3Rpb24tbm9kZS1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDEzNjgyNCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvdW5kb21hbmFnZXIv
YXV0b21hdGljLXRyYW5zYWN0aW9uLW5vZGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xLDEyICswLDAgQEAKLVRoaXMgdGVzdHMgdGhhdCBVbmRvTWFuYWdlciBjb3JyZWN0bHkgcmV2
ZXJ0cy9yZWFwcGxpZXMgYXV0b21hdGljIERPTSB0cmFuc2FjdGlvbnMgb24gbm9kZSBzdHJ1Y3R1
cmFsIGNoYW5nZS4KLQotUEFTUyBVbmRvTWFuYWdlciBjYWxsZWQgdGhlIGZ1bmN0aW9uIHJldHVy
bmVkIGJ5IGV4ZWN1dGVBdXRvbWF0aWMuIChhcHBlbmRDaGlsZCkgCi1QQVNTIFVuZG9NYW5hZ2Vy
IGNhbGxlZCB0aGUgZnVuY3Rpb24gcmV0dXJuZWQgYnkgZXhlY3V0ZUF1dG9tYXRpYy4gKGluc2Vy
dEJlZm9yZSkgCi1QQVNTIFVuZG9NYW5hZ2VyIGNhbGxlZCB0aGUgZnVuY3Rpb24gcmV0dXJuZWQg
YnkgZXhlY3V0ZUF1dG9tYXRpYy4gKHJlbW92ZUNoaWxkKSAKLVBBU1MgVW5kb01hbmFnZXIgcmV2
ZXJ0ZWQgdGhlIGNoYW5nZSBtYWRlIGJ5IHJlbW92ZUNoaWxkLiAKLVBBU1MgVW5kb01hbmFnZXIg
cmV2ZXJ0ZWQgdGhlIGNoYW5nZSBtYWRlIGJ5IGluc2VydEJlZm9yZS4gCi1QQVNTIFVuZG9NYW5h
Z2VyIHJldmVydGVkIHRoZSBjaGFuZ2UgbWFkZSBieSBhcHBlbmRDaGlsZC4gCi1QQVNTIFVuZG9N
YW5hZ2VyIHJlYXBwbGllZCB0aGUgY2hhbmdlIG1hZGUgYnkgYXBwZW5kQ2hpbGQuIAotUEFTUyBV
bmRvTWFuYWdlciByZWFwcGxpZWQgdGhlIGNoYW5nZSBtYWRlIGJ5IGluc2VydEJlZm9yZS4gCi1Q
QVNTIFVuZG9NYW5hZ2VyIHJlYXBwbGllZCB0aGUgY2hhbmdlIG1hZGUgYnkgcmVtb3ZlQ2hpbGQu
IAotCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL3VuZG9tYW5hZ2VyLWl0
ZW0tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvdW5kb21h
bmFnZXIvdW5kb21hbmFnZXItaXRlbS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDEzNjgyNCkKKysr
IExheW91dFRlc3RzL2VkaXRpbmcvdW5kb21hbmFnZXIvdW5kb21hbmFnZXItaXRlbS1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTEgKzAsMCBAQAotVGhpcyB0ZXN0cyBVbmRvTWFu
YWdlcidzIGl0ZW0oKSBtZXRob2QuCi0KLVBBU1MgdW5kb01hbmFnZXIgaGFzIGl0ZW0gcHJvcGVy
dHkuIAotUEFTUyBBZnRlciB0d28gdHJhbnNhY3QgY2FsbHMgdGhhdCBhcmUgbWVyZ2VkIGludG8g
b25lLCBpdGVtKDApIHJldHVybnMgYW4gYXJyYXkgb2YgdGhlIHR3byB0cmFuc2FjdGlvbnMgaW4g
dGhlIGNvcnJlY3Qgb3JkZXIuIAotUEFTUyBpdGVtKDEpIHJldHVybnMgbnVsbCBiZWNhdXNlIGl0
J3Mgb3V0IG9mIHJhbmdlLiAKLVBBU1MgQWZ0ZXIgYW4gdW5kbyBjYWxsLCBpdGVtKDApIHN0aWxs
cyByZXR1cm4gYW4gYXJyYXkgb2YgdGhlIHR3byB0cmFuc2FjdGlvbnMgaW4gdGhlIGNvcnJlY3Qg
b3JkZXIuIAotUEFTUyBBZnRlciBhIHJlZG8gY2FsbCwgdW5kb01hbmFnZXIncyBwb3NpdGlvbiBp
cyBiYWNrIHRvIDAuIAotUEFTUyBBZnRlciBleGVjdXRpbmcgYW4gZWRpdGluZyBjb21tYW5kLCBp
dGVtKDApIHJldHVybnMgYW4gYXJyYXkgb2YgYW4gb2JqZWN0IHdpdGggbGFiZWwgcHJvcGVydHku
IAotUEFTUyBpdGVtKDEpIG5vdyByZXR1cm5zIGFuIGFycmF5IG9mIHRoZSB0d28gdHJhbnNhY3Rp
b25zLiAKLVBBU1MgaXRlbSgxKSByZXR1cm5zIGEgZGlmZmVyZW50IG9iamVjdCB0aGFuIGl0ZW0o
MSkuIAotCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL2RvbXRyYW5zYWN0
aW9uLXN1cnZpdmVzLWdjLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3VuZG9tYW5hZ2VyL2RvbXRyYW5zYWN0aW9uLXN1cnZpdmVzLWdjLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMTM2ODI0KQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvbWFuYWdlci9k
b210cmFuc2FjdGlvbi1zdXJ2aXZlcy1nYy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsMTEgKzAsMCBAQAotVGhpcyB0ZXN0cyB0aGF0IHVuZG9NYW5hZ2VyIGtlZXBzIERPTVRyYW5z
YWN0aW9uIG9iamVjdHMgYWxpdmVkdXJpbmcgaXRzIGxpZmV0aW1lIGFuZCB0aGVyZWZvcmUgZG9l
cyBub3QgY3Jhc2ggYWZ0ZXIgdGhlIEdDIHJ1bnMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KLQotCi1QQVNTIGdjKCk7IGRvY3VtZW50LnVuZG9NYW5hZ2VyLnVuZG8oKTsgcmVzdWx0IGlz
ICJleGVjdXRlIHVuZG8gIgotUEFTUyBnYygpOyBkb2N1bWVudC51bmRvTWFuYWdlci5yZWRvKCk7
IHJlc3VsdCBpcyAiZXhlY3V0ZSB1bmRvIHJlZG8gIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvdW5k
b21hbmFnZXIvYXV0b21hdGljLXRyYW5zYWN0aW9uLWF0dHJpYnV0ZS5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2VkaXRpbmcvdW5kb21hbmFnZXIvYXV0b21hdGljLXRyYW5zYWN0aW9u
LWF0dHJpYnV0ZS5odG1sCShyZXZpc2lvbiAxMzY4MjQpCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5n
L3VuZG9tYW5hZ2VyL2F1dG9tYXRpYy10cmFuc2FjdGlvbi1hdHRyaWJ1dGUuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw4NyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci08dGl0bGU+YXV0b21hdGljIHRyYW5zYWN0aW9uIG9uIGF0dHJpYnV0ZXM8L3RpdGxlPgotPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotVGhpcyB0ZXN0cyB0aGF0IFVuZG9NYW5hZ2VyIGNvcnJlY3RseSBy
ZXZlcnRzL3JlYXBwbGllcyBhdXRvbWF0aWMgRE9NIHRyYW5zYWN0aW9ucwotb24gYXR0cmlidXRl
IGNoYW5nZXMuIFdlIHN0YXJ0IHdpdGggYSBzcGFuIHRoYXQgaGFzIGJsdWUgYm9yZGVyIGFuZCBk
b2Vzbid0IGhhdmUgdGl0bGUKLW9yIGNvbnRlbnRlZGl0YWJsZSBhdHRyaWJ1dGVzLgotCi08c3Bh
biBpZD0ic3BhbiIgc3R5bGU9ImJvcmRlcjogMXB4IGJsdWUgc29saWQiPjwvc3Bhbj4KLTxzY3Jp
cHQ+Ci12YXIgdW5kb01hbmFnZXIgPSBkb2N1bWVudC51bmRvTWFuYWdlcjsKLXZhciBzcGFuID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNwYW4iKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAg
ICB1bmRvTWFuYWdlci50cmFuc2FjdCh7Ci0gICAgICAgICJleGVjdXRlQXV0b21hdGljIjogZnVu
Y3Rpb24oKSB7IHNwYW4udGl0bGUgPSAidGVzdCI7IH0KLSAgICB9KTsKLSAgICBhc3NlcnRfZXF1
YWxzKHNwYW4udGl0bGUsICJ0ZXN0Iik7Ci19LCAidHJhbnNhY3QgMTogc2V0IHRpdGxlIHRvIFwi
dGVzdFwiIik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdW5kb01hbmFnZXIudHJhbnNhY3Qo
ewotICAgICAgICAiZXhlY3V0ZUF1dG9tYXRpYyI6IGZ1bmN0aW9uKCkgeyBzcGFuLnNldEF0dHJp
YnV0ZSgiY29udGVudGVkaXRhYmxlIiwgInRydWUiKTsgfQotICAgIH0pOwotICAgIGFzc2VydF9l
cXVhbHMoc3Bhbi5jb250ZW50RWRpdGFibGUsICJ0cnVlIik7Ci19LCAidHJhbnNhY3QgMjogc2V0
IGNvbnRlbnRlZGl0YWJsZSB0byBcInRydWVcIiIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAg
IHVuZG9NYW5hZ2VyLnRyYW5zYWN0KHsKLSAgICAgICAgImV4ZWN1dGVBdXRvbWF0aWMiOiBmdW5j
dGlvbigpIHsgc3Bhbi5zdHlsZS5jc3NUZXh0ID0gImJvcmRlcjogMXB4IHJlZCBzb2xpZCI7IH0K
LSAgICB9KTsKLSAgICBhc3NlcnRfZXF1YWxzKHNwYW4uc3R5bGUuYm9yZGVyQ29sb3IsICJyZWQi
KTsKLX0sICJ0cmFuc2FjdCAzOiBzZXQgYm9yZGVyIGNvbG9yIHRvIHJlZCIpOwotCi10ZXN0KGZ1
bmN0aW9uKCkgewotICAgIHVuZG9NYW5hZ2VyLnRyYW5zYWN0KHsKLSAgICAgICAgImV4ZWN1dGVB
dXRvbWF0aWMiOiBmdW5jdGlvbigpIHsgc3Bhbi5yZW1vdmVBdHRyaWJ1dGUoInRpdGxlIik7IH0K
LSAgICB9KTsKLSAgICBhc3NlcnRfZXF1YWxzKHNwYW4udGl0bGUsICIiKTsKLX0sICJ0cmFuc2Fj
dCA0OiByZW1vdmUgYXR0cmlidXRlIHRpdGxlIik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAg
dW5kb01hbmFnZXIudW5kbygpOwotICAgIGFzc2VydF9lcXVhbHMoc3Bhbi50aXRsZSwgInRlc3Qi
KTsKLX0sICJ1bmRvIDQ6IHRpdGxlIGlzIGJhY2sgdG8gXCJ0ZXN0XCIiKTsKLQotdGVzdChmdW5j
dGlvbigpIHsKLSAgICB1bmRvTWFuYWdlci51bmRvKCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhzcGFu
LnN0eWxlLmJvcmRlckNvbG9yLCAiYmx1ZSIpOwotfSwgInVuZG8gMzogYm9yZGVyIGNvbG9yIGlz
IGJhY2sgdG8gYmx1ZSIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHVuZG9NYW5hZ2VyLnVu
ZG8oKTsKLSAgICBhc3NlcnRfZXF1YWxzKHNwYW4uY29udGVudEVkaXRhYmxlLCAiaW5oZXJpdCIp
OwotfSwgInVuZG8gMjogY29udGVudGVkaXRhYmxlIGlzIGJhY2sgdG8gXCJpbmhlcml0XCIiKTsK
LQotdGVzdChmdW5jdGlvbigpIHsKLSAgICB1bmRvTWFuYWdlci51bmRvKCk7Ci0gICAgYXNzZXJ0
X2VxdWFscyhzcGFuLnRpdGxlLCAiIik7Ci19LCAidW5kbyAxOiB0aXRsZSBpcyBiYWNrIHRvIGFu
IGVtcHR5IHN0cmluZyIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHVuZG9NYW5hZ2VyLnJl
ZG8oKTsKLSAgICBhc3NlcnRfZXF1YWxzKHNwYW4udGl0bGUsICJ0ZXN0Iik7Ci19LCAicmVkbyAx
OiB0aXRsZSBpcyBcInRlc3RcIiBhZ2FpbiIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHVu
ZG9NYW5hZ2VyLnJlZG8oKTsKLSAgICBhc3NlcnRfZXF1YWxzKHNwYW4uY29udGVudEVkaXRhYmxl
LCAidHJ1ZSIpOwotfSwgInJlZG8gMjogY29udGVudEVkaXRhYmxlIGlzIFwidHJ1ZVwiIGFnYWlu
Iik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdW5kb01hbmFnZXIucmVkbygpOwotICAgIGFz
c2VydF9lcXVhbHMoc3Bhbi5zdHlsZS5ib3JkZXJDb2xvciwgInJlZCIpOwotfSwgInJlZG8gMzog
Ym9yZGVyIGNvbG9yIGlzIHJlZCBhZ2FpbiIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHVu
ZG9NYW5hZ2VyLnJlZG8oKTsKLSAgICBhc3NlcnRfZXF1YWxzKHNwYW4udGl0bGUsICIiKTsKLX0s
ICJyZWRvIDQ6IHRpdGxlIGlzIGFuIGVtcHR5IHN0cmluZyBhZ2FpbiIpOwotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL3Vu
ZG9tYW5hZ2VyLXJlZW50ZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2VkaXRpbmcvdW5kb21hbmFnZXIvdW5kb21hbmFnZXItcmVlbnRlci1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDEzNjgyNCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvdW5kb21hbmFnZXIvdW5kb21h
bmFnZXItcmVlbnRlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTUgKzAsMCBA
QAotRW5zdXJlIHRoYXQgdW5kb01hbmFnZXIgdGhyb3dzIGFuIGV4Y2VwdGlvbiB3aGVuIHdlIHJl
LWVudGVyIGl0IGJ5IGNhbGxpbmcgdW5kb01hbmFnZXIgZnVuY3Rpb25zIGR1cmluZyBjYWxsYmFj
a3MuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1jYWxsIHVuZG9NYW5hZ2VyLnRy
YW5zYWN0KCkgZHVyaW5nIHRoZSBleGVjdXRlIGNhbGxiYWNrCi1QQVNTIHVuZG9NYW5hZ2VyLnRy
YW5zYWN0KHRyYW5zYWN0aW9uKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRBY2Nlc3NF
cnJvcjogRE9NIEV4Y2VwdGlvbiAxNS4KLWNhbGwgdW5kb01hbmFnZXIudW5kbygpIGR1cmluZyB0
aGUgdW5kbyBjYWxsYmFjawotUEFTUyB1bmRvTWFuYWdlci51bmRvKCkgdGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBJbnZhbGlkQWNjZXNzRXJyb3I6IERPTSBFeGNlcHRpb24gMTUuCi1jYWxsIHVuZG9N
YW5hZ2VyLmNsZWFyUmVkbygpIGR1cmluZyB0aGUgcmVkbyBjYWxsYmFjawotUEFTUyB1bmRvTWFu
YWdlci5yZWRvKCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkQWNjZXNzRXJyb3I6IERP
TSBFeGNlcHRpb24gMTUuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1Qg
Q09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvbWFuYWdlci91bmRvbWFu
YWdlci10cmFuc2FjdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvdW5k
b21hbmFnZXIvdW5kb21hbmFnZXItdHJhbnNhY3QuaHRtbAkocmV2aXNpb24gMTM2ODI0KQorKysg
TGF5b3V0VGVzdHMvZWRpdGluZy91bmRvbWFuYWdlci91bmRvbWFuYWdlci10cmFuc2FjdC5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDEyMiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1s
PgotPGhlYWQ+Ci08dGl0bGU+VW5kb01hbmFnZXIudHJhbnNhY3QoKTwvdGl0bGU+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci1UaGlzIHRlc3RzIFVuZG9NYW5hZ2VyJ3MgdHJhbnNhY3QoKSBtZXRob2Qu
Ci0KLTxkaXYgaWQ9ImVkaXQiIGNvbnRlbnRFZGl0YWJsZT0idHJ1ZSI+PC9kaXY+Ci08c2NyaXB0
PgotdmFyIHVuZG9NYW5hZ2VyID0gZG9jdW1lbnQudW5kb01hbmFnZXI7Ci0KLXRlc3QoZnVuY3Rp
b24oKSB7Ci0gICAgYXNzZXJ0X2lkbF9hdHRyaWJ1dGUodW5kb01hbmFnZXIsICJ0cmFuc2FjdCIp
OwotfSwgInVuZG9NYW5hZ2VyIGhhcyBwcm9wZXJ0eSB0cmFuc2FjdC4iKTsKLQotdmFyIGVkaXQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZWRpdCIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewot
ICAgIHVuZG9NYW5hZ2VyLnRyYW5zYWN0KHsKLSAgICAgICAgImV4ZWN1dGUiOiBmdW5jdGlvbigp
IHsgZWRpdC5pbm5lckhUTUwgKz0gIjFlICI7IH0sCi0gICAgICAgICJ1bmRvIjogZnVuY3Rpb24o
KSB7IGVkaXQuaW5uZXJIVE1MICs9ICIxdSAiOyB9LAotICAgICAgICAicmVkbyI6IGZ1bmN0aW9u
KCkgeyBlZGl0LmlubmVySFRNTCArPSAiMXIgIjsgfQotICAgIH0sIGZhbHNlKTsKLSAgICBhc3Nl
cnRfdHJ1ZShlZGl0LmlubmVySFRNTCA9PSAiMWUgIik7Ci19LCAiQWZ0ZXIgYSB0cmFuc2FjdCBj
YWxsLCB1bmRvTWFuYWdlciBhcHBsaWVzIHRoZSB0cmFuc2FjdGlvbi4iKTsKLQotdGVzdChmdW5j
dGlvbigpIHsKLSAgICB1bmRvTWFuYWdlci50cmFuc2FjdCh7Ci0gICAgICAgICJleGVjdXRlIjog
ZnVuY3Rpb24oKSB7IGVkaXQuaW5uZXJIVE1MICs9ICIyZSAiOyB9LAotICAgICAgICAidW5kbyI6
IGZ1bmN0aW9uKCkgeyBlZGl0LmlubmVySFRNTCArPSAiMnUgIjsgfSwKLSAgICAgICAgInJlZG8i
OiBmdW5jdGlvbigpIHsgZWRpdC5pbm5lckhUTUwgKz0gIjJyICI7IH0KLSAgICB9LCBmYWxzZSk7
Ci0gICAgYXNzZXJ0X3RydWUoZWRpdC5pbm5lckhUTUwgPT0gIjFlIDJlICIpOwotfSwgIkFmdGVy
IGFub3RoZXIgdHJhbnNhY3QgY2FsbCwgdW5kb01hbmFnZXIgYXBwbGllcyB0aGUgc2Vjb25kIHRy
YW5zYWN0aW9uLiIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHVuZG9NYW5hZ2VyLnVuZG8o
KTsKLSAgICBhc3NlcnRfdHJ1ZShlZGl0LmlubmVySFRNTCA9PSAiMWUgMmUgMnUgIik7Ci19LCAi
QWZ0ZXIgYW4gdW5kbyBjYWxsLCB1bmRvTWFuYWdlciB1bmFwcGxpZXMgdGhlIHNlY29uZCB0cmFu
c2FjdGlvbi4iKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgICB1bmRvTWFuYWdlci51bmRvKCk7
Ci0gICAgYXNzZXJ0X3RydWUoZWRpdC5pbm5lckhUTUwgPT0gIjFlIDJlIDJ1IDF1ICIpOwotfSwg
IkFmdGVyIGFub3RoZXIgdW5kbyBjYWxsLCB1bmRvTWFuYWdlciB1bmFwcGxpZXMgdGhlIGZpcnN0
IHRyYW5zYWN0aW9uLiIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHVuZG9NYW5hZ2VyLnJl
ZG8oKTsKLSAgICBhc3NlcnRfdHJ1ZShlZGl0LmlubmVySFRNTCA9PSAiMWUgMmUgMnUgMXUgMXIg
Iik7Ci19LCAiQWZ0ZXIgYSByZWRvIGNhbGwsIHVuZG9NYW5hZ2VyIHJlYXBwbGllcyB0aGUgZmly
c3QgdHJhbnNhY3Rpb24uIik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdW5kb01hbmFnZXIu
cmVkbygpOwotICAgIGFzc2VydF90cnVlKGVkaXQuaW5uZXJIVE1MID09ICIxZSAyZSAydSAxdSAx
ciAyciAiKTsKLX0sICJBZnRlciBhbm90aGVyIHJlZG8gY2FsbCwgdW5kb01hbmFnZXIgcmVhcHBs
aWVzIHRoZSBzZWNvbmQgdHJhbnNhY3Rpb24uIik7Ci0KLWVkaXQuaW5uZXJIVE1MID0gIiI7Ci0K
LXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdW5kb01hbmFnZXIudHJhbnNhY3QoewotICAgICAgICAi
ZXhlY3V0ZSI6IGZ1bmN0aW9uKCkgeyBlZGl0LmlubmVySFRNTCArPSAiMWUgIjsgfSwKLSAgICAg
ICAgInVuZG8iOiBmdW5jdGlvbigpIHsgZWRpdC5pbm5lckhUTUwgKz0gIjF1ICI7IH0sCi0gICAg
ICAgICJyZWRvIjogZnVuY3Rpb24oKSB7IGVkaXQuaW5uZXJIVE1MICs9ICIxciAiOyB9Ci0gICAg
fSwgZmFsc2UpOwotICAgIHVuZG9NYW5hZ2VyLnRyYW5zYWN0KHsKLSAgICAgICAgImV4ZWN1dGUi
OiBmdW5jdGlvbigpIHsgZWRpdC5pbm5lckhUTUwgKz0gIjJlICI7IH0sCi0gICAgICAgICJ1bmRv
IjogZnVuY3Rpb24oKSB7IGVkaXQuaW5uZXJIVE1MICs9ICIydSAiOyB9LAotICAgICAgICAicmVk
byI6IGZ1bmN0aW9uKCkgeyBlZGl0LmlubmVySFRNTCArPSAiMnIgIjsgfQotICAgIH0sIHRydWUp
OwotICAgIHVuZG9NYW5hZ2VyLnRyYW5zYWN0KHsKLSAgICAgICAgImV4ZWN1dGUiOiBmdW5jdGlv
bigpIHsgZWRpdC5pbm5lckhUTUwgKz0gIjNlICI7IH0sCi0gICAgICAgICJ1bmRvIjogZnVuY3Rp
b24oKSB7IGVkaXQuaW5uZXJIVE1MICs9ICIzdSAiOyB9LAotICAgICAgICAicmVkbyI6IGZ1bmN0
aW9uKCkgeyBlZGl0LmlubmVySFRNTCArPSAiM3IgIjsgfQotICAgIH0sIHRydWUpOwotICAgIGFz
c2VydF90cnVlKGVkaXQuaW5uZXJIVE1MID09ICIxZSAyZSAzZSAiKTsKLX0sICJBZnRlciB0aHJl
ZSB0cmFuc2FjdCBjYWxscyB0aGF0IGFyZSBtZXJnZWQgaW50byBvbmUgZW50cnksIHVuZG9NYW5h
Z2VyIGFwcGxpZXMgdGhlIHRocmVlIHRyYW5zYWN0aW9ucy4iKTsKLQotdGVzdChmdW5jdGlvbigp
IHsKLSAgICB1bmRvTWFuYWdlci51bmRvKCk7Ci0gICAgYXNzZXJ0X3RydWUoZWRpdC5pbm5lckhU
TUwgPT0gIjFlIDJlIDNlIDN1IDJ1IDF1ICIpOwotfSwgIkFmdGVyIGFuIHVuZG8gY2FsbCwgdW5k
b01hbmFnZXIgdW5hcHBsaWVzIHRoZSB0aHJlZSB0cmFuc2FjdGlvbnMgaW4gdGhlIGNvcnJlY3Qg
b3JkZXIuIik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdW5kb01hbmFnZXIucmVkbygpOwot
ICAgIGFzc2VydF90cnVlKGVkaXQuaW5uZXJIVE1MID09ICIxZSAyZSAzZSAzdSAydSAxdSAxciAy
ciAzciAiKTsKLX0sICJBZnRlciBhIHJlZG8gY2FsbCwgdW5kb01hbmFnZXIgcmVhcHBsaWVzIHRo
ZSB0aHJlZSB0cmFuc2FjdGlvbnMgaW4gdGhlIGNvcnJlY3Qgb3JkZXIuIik7Ci0KLXRlc3QoZnVu
Y3Rpb24oKSB7Ci0gICAgdW5kb01hbmFnZXIudW5kbygpOwotICAgIGFzc2VydF90cnVlKGVkaXQu
aW5uZXJIVE1MID09ICIxZSAyZSAzZSAzdSAydSAxdSAxciAyciAzciAzdSAydSAxdSAiKTsKLX0s
ICJBZnRlciBhbiB1bmRvIGNhbGwsIHVuZG9NYW5hZ2VyIHVuYXBwbGllcyB0aGUgdGhyZWUgdHJh
bnNhY3Rpb25zIGluIHRoZSBjb3JyZWN0IG9yZGVyLiIpOwotCi12YXIgdGhpc1ZhbHVlOwotCi10
ZXN0KGZ1bmN0aW9uKCkgewotICAgIHRoaXNWYWx1ZSA9IG51bGw7Ci0gICAgdW5kb01hbmFnZXIu
dHJhbnNhY3QoewotICAgICAgICAiZXhlY3V0ZSI6IGZ1bmN0aW9uKCkgeyB0aGlzVmFsdWUgPSB0
aGlzOyB9LAotICAgICAgICAidW5kbyI6IGZ1bmN0aW9uKCkgeyB0aGlzVmFsdWUgPSB0aGlzOyB9
LAotICAgICAgICAicmVkbyI6IGZ1bmN0aW9uKCkgeyB0aGlzVmFsdWUgPSB0aGlzOyB9Ci0gICAg
fSwgZmFsc2UpOwotICAgIGFzc2VydF9lcXVhbHModGhpc1ZhbHVlLCB1bmRvTWFuYWdlcik7Ci19
LCAiVGhlIHx0aGlzfCB2YWx1ZSBkdXJpbmcgdGhlIGV4ZWN1dGUgY2FsbGJhY2sgaXMgdGhlIHVu
ZG9NYW5hZ2VyLiIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHRoaXNWYWx1ZSA9IG51bGw7
Ci0gICAgdW5kb01hbmFnZXIudW5kbygpOwotICAgIGFzc2VydF9lcXVhbHModGhpc1ZhbHVlLCB1
bmRvTWFuYWdlcik7Ci19LCAiVGhlIHx0aGlzfCB2YWx1ZSBkdXJpbmcgdGhlIHVuZG8gY2FsbGJh
Y2sgaXMgdGhlIHVuZG9NYW5hZ2VyLiIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHRoaXNW
YWx1ZSA9IG51bGw7Ci0gICAgdW5kb01hbmFnZXIucmVkbygpOwotICAgIGFzc2VydF9lcXVhbHMo
dGhpc1ZhbHVlLCB1bmRvTWFuYWdlcik7Ci19LCAiVGhlIHx0aGlzfCB2YWx1ZSBkdXJpbmcgdGhl
IHJlZG8gY2FsbGJhY2sgaXMgdGhlIHVuZG9NYW5hZ2VyLiIpOwotCi1lZGl0LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2VkaXRpbmcvdW5kb21hbmFnZXIvdW5kb3Njb3BlaG9zdC11c2UtYWZ0ZXItZnJlZS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvbWFuYWdlci91
bmRvc2NvcGVob3N0LXVzZS1hZnRlci1mcmVlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTM2ODI0
KQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvbWFuYWdlci91bmRvc2NvcGVob3N0LXVzZS1h
ZnRlci1mcmVlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxMSArMCwwIEBACi1U
aGlzIHRlc3RzIHRoYXQgdW5kb01hbmFnZXIgZG9lc24ndCBoYXZlIHVzZS1hZnRlci1mcmVlIHZ1
bG5lcmFiaWxpdGllcyBhZnRlciBpdHMgdW5kb1Njb3BlSG9zdCBoYXMgYmVlbiByZWNsYWltZWQg
YnkgR0MuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1jYWxsIHRyYW5zYWN0KCkg
YWZ0ZXIgdGhlIHVuZG9TY29wZUhvc3QgaGFzIGJlZW4gcmVjbGFpbWVkLgotUEFTUyB1bmRvTWFu
YWdlci50cmFuc2FjdCh0cmFuc2FjdGlvbikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlk
QWNjZXNzRXJyb3I6IERPTSBFeGNlcHRpb24gMTUuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy91bmRv
bWFuYWdlci9hdXRvbWF0aWMtdHJhbnNhY3Rpb24tZGF0YS5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2VkaXRpbmcvdW5kb21hbmFnZXIvYXV0b21hdGljLXRyYW5zYWN0aW9uLWRhdGEu
aHRtbAkocmV2aXNpb24gMTM2ODI0KQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvbWFuYWdl
ci9hdXRvbWF0aWMtdHJhbnNhY3Rpb24tZGF0YS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU2
ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5hdXRvbWF0
aWMgdHJhbnNhY3Rpb24gb24gbm9kZSBkYXRhPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LVRoaXMgdGVzdHMgdGhhdCBVbmRvTWFuYWdlciBjb3JyZWN0bHkgcmV2ZXJ0cy9yZWFwcGxpZXMg
YXV0b21hdGljIERPTSB0cmFuc2FjdGlvbnMKLW9uIG5vZGUgZGF0YS4KLQotPGRpdiBpZD0iZGl2
Ij48L2Rpdj4KLTxzY3JpcHQ+Ci12YXIgdW5kb01hbmFnZXIgPSBkb2N1bWVudC51bmRvTWFuYWdl
cjsKLXZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2Iik7Ci0KLXRlc3QoZnVu
Y3Rpb24oKSB7Ci0JZGl2LmlubmVyVGV4dCA9ICIxMjM0NTY3ODkiOwotICAgIHVuZG9NYW5hZ2Vy
LnRyYW5zYWN0KHsKLSAgICAgICAgImV4ZWN1dGVBdXRvbWF0aWMiOiBmdW5jdGlvbigpIHsgZGl2
LmZpcnN0Q2hpbGQucmVwbGFjZURhdGEoMywgMywgImFiY2QiKTsgfQotICAgIH0pOwotICAgIGFz
c2VydF9lcXVhbHMoZGl2LmlubmVyVGV4dCwgIjEyM2FiY2Q3ODkiKTsKLX0sICJTdGFydGVkIHdp
dGggMTIzNDU2Nzg5LiBUcmFuc2FjdGVkIHJlcGxhY2VEYXRhKDMsIDMsICdhYmNkJykuIEdvdCAx
MjNhYmNkNzg5Iik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdW5kb01hbmFnZXIudW5kbygp
OwotICAgIGFzc2VydF9lcXVhbHMoZGl2LmlubmVyVGV4dCwgIjEyMzQ1Njc4OSIpOwotfSwgInVu
ZG9NYW5hZ2VyLnVuZG8oKS4gR290IDEyMzQ1Njc4OSIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewot
ICAgIHVuZG9NYW5hZ2VyLnJlZG8oKTsKLSAgICBhc3NlcnRfZXF1YWxzKGRpdi5pbm5lclRleHQs
ICIxMjNhYmNkNzg5Iik7Ci19LCAidW5kb01hbmFnZXIucmVkbygpLiBHb3QgMTIzYWJjZDc4OSIp
OwotCi10ZXN0KGZ1bmN0aW9uKCkgewotCWRpdi5pbm5lclRleHQgPSAiMTIzNCI7Ci0gICAgdW5k
b01hbmFnZXIudHJhbnNhY3QoewotICAgICAgICAiZXhlY3V0ZUF1dG9tYXRpYyI6IGZ1bmN0aW9u
KCkgeyBkaXYuZmlyc3RDaGlsZC5yZXBsYWNlRGF0YSgyLCAxMCwgImEiKTsgfQotICAgIH0pOwot
ICAgIGFzc2VydF9lcXVhbHMoZGl2LmlubmVyVGV4dCwgIjEyYSIpOwotfSwgIlN0YXJ0ZWQgd2l0
aCAxMjM0LiBUcmFuc2FjdGVkIHJlcGxhY2VEYXRhKDIsIDEwLCAnYScpLiBHb3QgMTJhIik7Ci0K
LXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdW5kb01hbmFnZXIudW5kbygpOwotICAgIGFzc2VydF9l
cXVhbHMoZGl2LmlubmVyVGV4dCwgIjEyMzQiKTsKLX0sICJ1bmRvTWFuYWdlci51bmRvKCkuIEdv
dCAxMjM0Iik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdW5kb01hbmFnZXIucmVkbygpOwot
ICAgIGFzc2VydF9lcXVhbHMoZGl2LmlubmVyVGV4dCwgIjEyYSIpOwotfSwgInVuZG9NYW5hZ2Vy
LnJlZG8oKS4gR290IDEyYSIpOwotCi1kaXYuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKLTwvc2Ny
aXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvbWFu
YWdlci9hdXRvbWF0aWMtdHJhbnNhY3Rpb24tYXR0cmlidXRlLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL2F1dG9tYXRpYy10cmFuc2Fj
dGlvbi1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxMzY4MjQpCisrKyBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL2F1dG9tYXRpYy10cmFuc2FjdGlvbi1hdHRyaWJ1dGUt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICswLDAgQEAKLVRoaXMgdGVzdHMg
dGhhdCBVbmRvTWFuYWdlciBjb3JyZWN0bHkgcmV2ZXJ0cy9yZWFwcGxpZXMgYXV0b21hdGljIERP
TSB0cmFuc2FjdGlvbnMgb24gYXR0cmlidXRlIGNoYW5nZXMuIFdlIHN0YXJ0IHdpdGggYSBzcGFu
IHRoYXQgaGFzIGJsdWUgYm9yZGVyIGFuZCBkb2Vzbid0IGhhdmUgdGl0bGUgb3IgY29udGVudGVk
aXRhYmxlIGF0dHJpYnV0ZXMuIAotCi1QQVNTIHRyYW5zYWN0IDE6IHNldCB0aXRsZSB0byAidGVz
dCIgCi1QQVNTIHRyYW5zYWN0IDI6IHNldCBjb250ZW50ZWRpdGFibGUgdG8gInRydWUiIAotUEFT
UyB0cmFuc2FjdCAzOiBzZXQgYm9yZGVyIGNvbG9yIHRvIHJlZCAKLVBBU1MgdHJhbnNhY3QgNDog
cmVtb3ZlIGF0dHJpYnV0ZSB0aXRsZSAKLVBBU1MgdW5kbyA0OiB0aXRsZSBpcyBiYWNrIHRvICJ0
ZXN0IiAKLVBBU1MgdW5kbyAzOiBib3JkZXIgY29sb3IgaXMgYmFjayB0byBibHVlIAotUEFTUyB1
bmRvIDI6IGNvbnRlbnRlZGl0YWJsZSBpcyBiYWNrIHRvICJpbmhlcml0IiAKLVBBU1MgdW5kbyAx
OiB0aXRsZSBpcyBiYWNrIHRvIGFuIGVtcHR5IHN0cmluZyAKLVBBU1MgcmVkbyAxOiB0aXRsZSBp
cyAidGVzdCIgYWdhaW4gCi1QQVNTIHJlZG8gMjogY29udGVudEVkaXRhYmxlIGlzICJ0cnVlIiBh
Z2FpbiAKLVBBU1MgcmVkbyAzOiBib3JkZXIgY29sb3IgaXMgcmVkIGFnYWluIAotUEFTUyByZWRv
IDQ6IHRpdGxlIGlzIGFuIGVtcHR5IHN0cmluZyBhZ2FpbiAKLQpJbmRleDogTGF5b3V0VGVzdHMv
ZWRpdGluZy91bmRvbWFuYWdlci9kb2N1bWVudC1oYXMtdW5kb21hbmFnZXIuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL2RvY3VtZW50LWhhcy11bmRv
bWFuYWdlci5odG1sCShyZXZpc2lvbiAxMzY4MjQpCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3Vu
ZG9tYW5hZ2VyL2RvY3VtZW50LWhhcy11bmRvbWFuYWdlci5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDIwICswLDAgQEAKLTwhZG9jdHlwZSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5k
b2N1bWVudC51bmRvTWFuYWdlcjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlk
PSJsb2ciPjwvZGl2PgotPHNjcmlwdD4KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgYXNzZXJ0X293
bl9wcm9wZXJ0eShkb2N1bWVudCwgInVuZG9NYW5hZ2VyIik7Ci0gICAgYXNzZXJ0X2lkbF9hdHRy
aWJ1dGUoZG9jdW1lbnQudW5kb01hbmFnZXIsICJ1bmRvIik7Ci0gICAgYXNzZXJ0X2lkbF9hdHRy
aWJ1dGUoZG9jdW1lbnQudW5kb01hbmFnZXIsICJyZWRvIik7Ci0gICAgYXNzZXJ0X2lkbF9hdHRy
aWJ1dGUoZG9jdW1lbnQudW5kb01hbmFnZXIsICJjbGVhclVuZG8iKTsKLSAgICBhc3NlcnRfaWRs
X2F0dHJpYnV0ZShkb2N1bWVudC51bmRvTWFuYWdlciwgImNsZWFyUmVkbyIpOwotfSkKLTwvc2Ny
aXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvbWFu
YWdlci91bmRvbWFuYWdlci10cmFuc2FjdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZWRpdGluZy91bmRvbWFuYWdlci91bmRvbWFuYWdlci10cmFuc2FjdC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDEzNjgyNCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvdW5kb21hbmFn
ZXIvdW5kb21hbmFnZXItdHJhbnNhY3QtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
LDE3ICswLDAgQEAKLVRoaXMgdGVzdHMgVW5kb01hbmFnZXIncyB0cmFuc2FjdCgpIG1ldGhvZC4K
LQotUEFTUyB1bmRvTWFuYWdlciBoYXMgcHJvcGVydHkgdHJhbnNhY3QuIAotUEFTUyBBZnRlciBh
IHRyYW5zYWN0IGNhbGwsIHVuZG9NYW5hZ2VyIGFwcGxpZXMgdGhlIHRyYW5zYWN0aW9uLiAKLVBB
U1MgQWZ0ZXIgYW5vdGhlciB0cmFuc2FjdCBjYWxsLCB1bmRvTWFuYWdlciBhcHBsaWVzIHRoZSBz
ZWNvbmQgdHJhbnNhY3Rpb24uIAotUEFTUyBBZnRlciBhbiB1bmRvIGNhbGwsIHVuZG9NYW5hZ2Vy
IHVuYXBwbGllcyB0aGUgc2Vjb25kIHRyYW5zYWN0aW9uLiAKLVBBU1MgQWZ0ZXIgYW5vdGhlciB1
bmRvIGNhbGwsIHVuZG9NYW5hZ2VyIHVuYXBwbGllcyB0aGUgZmlyc3QgdHJhbnNhY3Rpb24uIAot
UEFTUyBBZnRlciBhIHJlZG8gY2FsbCwgdW5kb01hbmFnZXIgcmVhcHBsaWVzIHRoZSBmaXJzdCB0
cmFuc2FjdGlvbi4gCi1QQVNTIEFmdGVyIGFub3RoZXIgcmVkbyBjYWxsLCB1bmRvTWFuYWdlciBy
ZWFwcGxpZXMgdGhlIHNlY29uZCB0cmFuc2FjdGlvbi4gCi1QQVNTIEFmdGVyIHRocmVlIHRyYW5z
YWN0IGNhbGxzIHRoYXQgYXJlIG1lcmdlZCBpbnRvIG9uZSBlbnRyeSwgdW5kb01hbmFnZXIgYXBw
bGllcyB0aGUgdGhyZWUgdHJhbnNhY3Rpb25zLiAKLVBBU1MgQWZ0ZXIgYW4gdW5kbyBjYWxsLCB1
bmRvTWFuYWdlciB1bmFwcGxpZXMgdGhlIHRocmVlIHRyYW5zYWN0aW9ucyBpbiB0aGUgY29ycmVj
dCBvcmRlci4gCi1QQVNTIEFmdGVyIGEgcmVkbyBjYWxsLCB1bmRvTWFuYWdlciByZWFwcGxpZXMg
dGhlIHRocmVlIHRyYW5zYWN0aW9ucyBpbiB0aGUgY29ycmVjdCBvcmRlci4gCi1QQVNTIEFmdGVy
IGFuIHVuZG8gY2FsbCwgdW5kb01hbmFnZXIgdW5hcHBsaWVzIHRoZSB0aHJlZSB0cmFuc2FjdGlv
bnMgaW4gdGhlIGNvcnJlY3Qgb3JkZXIuIAotUEFTUyBUaGUgfHRoaXN8IHZhbHVlIGR1cmluZyB0
aGUgZXhlY3V0ZSBjYWxsYmFjayBpcyB0aGUgdW5kb01hbmFnZXIuIAotUEFTUyBUaGUgfHRoaXN8
IHZhbHVlIGR1cmluZyB0aGUgdW5kbyBjYWxsYmFjayBpcyB0aGUgdW5kb01hbmFnZXIuIAotUEFT
UyBUaGUgfHRoaXN8IHZhbHVlIGR1cmluZyB0aGUgcmVkbyBjYWxsYmFjayBpcyB0aGUgdW5kb01h
bmFnZXIuIAotCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL3VuZG9tYW5h
Z2VyLWlzb2xhdGVkLXdvcmxkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGlu
Zy91bmRvbWFuYWdlci91bmRvbWFuYWdlci1pc29sYXRlZC13b3JsZC5odG1sCShyZXZpc2lvbiAx
MzY4MjQpCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL3VuZG9tYW5hZ2VyLWlz
b2xhdGVkLXdvcmxkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMzggKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPklzb2xhdGVkIHdvcmxkPC90aXRsZT4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0Pgot
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCB1bmRvTWFuYWdlcidzIGNhbGxiYWNrIGZ1bmN0
aW9ucyBvbmx5IHJ1biBpbiB0aGUgcmlnaHQgd29ybGQuIik7Ci0KLWlmICh3aW5kb3cudGVzdFJ1
bm5lcikgewotICAgIGRvY3VtZW50LnVuZG9NYW5hZ2VyLnRyYW5zYWN0KHsKLSAgICAgICAgImV4
ZWN1dGUiOiBmdW5jdGlvbigpIHsgfSwKLSAgICAgICAgInVuZG8iOiBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsb2cnKS5pbm5lckhUTUwgPSAiZmFp
bCI7Ci0gICAgICAgIH0sCi0gICAgICAgICJyZWRvIjogZnVuY3Rpb24oKSB7IH0KLSAgICB9KTsK
LQotICAgIHRlc3RSdW5uZXIuZXZhbHVhdGVTY3JpcHRJbklzb2xhdGVkV29ybGQoCi0gICAgICAg
IDAsCi0gICAgICAgICJkb2N1bWVudC51bmRvTWFuYWdlci51bmRvKCk7ICIKLSAgICApOwotCi0g
ICAgdmFyIGxvZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsb2cnKTsKLSAgICBpZiAobG9n
LmlubmVySFRNTCA9PSAiIikKLSAgICAgICAgdGVzdFBhc3NlZCgidW5kb01hbmFnZXIncyBjYWxs
YmFjayB3YXMgbm90IGludm9rZWQgaW4gaXNvbGF0ZWQgd29ybGQuIik7Ci0gICAgZWxzZQotICAg
ICAgICB0ZXN0RmFpbGVkKCJ1bmRvTWFuYWdlcidzIGNhbGxiYWNrIHdhcyBpbnZva2VkIGluIGlz
b2xhdGVkIHdvcmxkLiIpOwotfSBlbHNlCi0gICAgdGVzdEZhaWxlZCgiVGhpcyB0ZXN0IHJlcXVp
cmVzIHRlc3RSdW5uZXIuIik7Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwotPC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2VkaXRp
bmcvdW5kb21hbmFnZXIvYXV0b21hdGljLXRyYW5zYWN0aW9uLWRhdGEtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvdW5kb21hbmFnZXIvYXV0b21hdGljLXRy
YW5zYWN0aW9uLWRhdGEtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxMzY4MjQpCisrKyBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL2F1dG9tYXRpYy10cmFuc2FjdGlvbi1kYXRhLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw5ICswLDAgQEAKLVRoaXMgdGVzdHMgdGhhdCBV
bmRvTWFuYWdlciBjb3JyZWN0bHkgcmV2ZXJ0cy9yZWFwcGxpZXMgYXV0b21hdGljIERPTSB0cmFu
c2FjdGlvbnMgb24gbm9kZSBkYXRhLgotCi1QQVNTIFN0YXJ0ZWQgd2l0aCAxMjM0NTY3ODkuIFRy
YW5zYWN0ZWQgcmVwbGFjZURhdGEoMywgMywgJ2FiY2QnKS4gR290IDEyM2FiY2Q3ODkgCi1QQVNT
IHVuZG9NYW5hZ2VyLnVuZG8oKS4gR290IDEyMzQ1Njc4OSAKLVBBU1MgdW5kb01hbmFnZXIucmVk
bygpLiBHb3QgMTIzYWJjZDc4OSAKLVBBU1MgU3RhcnRlZCB3aXRoIDEyMzQuIFRyYW5zYWN0ZWQg
cmVwbGFjZURhdGEoMiwgMTAsICdhJykuIEdvdCAxMmEgCi1QQVNTIHVuZG9NYW5hZ2VyLnVuZG8o
KS4gR290IDEyMzQgCi1QQVNTIHVuZG9NYW5hZ2VyLnJlZG8oKS4gR290IDEyYSAKLQpJbmRleDog
TGF5b3V0VGVzdHMvZWRpdGluZy91bmRvbWFuYWdlci91bmRvbWFuYWdlci11bmRvLXJlZG8uaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL3VuZG9tYW5h
Z2VyLXVuZG8tcmVkby5odG1sCShyZXZpc2lvbiAxMzY4MjQpCisrKyBMYXlvdXRUZXN0cy9lZGl0
aW5nL3VuZG9tYW5hZ2VyL3VuZG9tYW5hZ2VyLXVuZG8tcmVkby5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDgyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRs
ZT5VbmRvTWFuYWdlciBoYXMgdW5kbygpIGFuZCByZWRvKCkgdGhhdCB3b3JrPC90aXRsZT4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLVRoaXMgdGVzdHMgVW5kb01hbmFnZXIncyB1bmRvKCksIHJlZG8o
KSwgbGVuZ3RoLCBhbmQgcG9zaXRpb24uCi0KLTxkaXYgaWQ9ImVkaXQiIGNvbnRlbnRFZGl0YWJs
ZT0idHJ1ZSI+PC9kaXY+Ci08c2NyaXB0PgotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIGFzc2Vy
dF9pZGxfYXR0cmlidXRlKGRvY3VtZW50LnVuZG9NYW5hZ2VyLCAidW5kbyIpOwotICAgIGFzc2Vy
dF9pZGxfYXR0cmlidXRlKGRvY3VtZW50LnVuZG9NYW5hZ2VyLCAicmVkbyIpOwotICAgIGFzc2Vy
dF9vd25fcHJvcGVydHkoZG9jdW1lbnQudW5kb01hbmFnZXIsICJsZW5ndGgiKTsKLSAgICBhc3Nl
cnRfb3duX3Byb3BlcnR5KGRvY3VtZW50LnVuZG9NYW5hZ2VyLCAicG9zaXRpb24iKTsKLX0sICJ1
bmRvTWFuYWdlciBoYXMgcHJvcGVydGllcyB1bmRvLCByZWRvLCBsZW5ndGgsIGFuZCBwb3NpdGlv
bi4iKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgICBhc3NlcnRfdHJ1ZShkb2N1bWVudC51bmRv
TWFuYWdlci5sZW5ndGggPT0gMCk7Ci0gICAgYXNzZXJ0X3RydWUoZG9jdW1lbnQudW5kb01hbmFn
ZXIucG9zaXRpb24gPT0gMCk7Ci19LCAidW5kb01hbmFnZXIgaGFzIGNvcnJlY3QgaW5pdGlhbCB2
YWx1ZXMgZm9yIGxlbmd0aCAoMCkgYW5kIHBvc2l0aW9uICgwKS4iKTsKLQotdGVzdChmdW5jdGlv
bigpIHsKLSAgICB2YXIgZWRpdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlZGl0Iik7Ci0g
ICAgd2luZG93LmdldFNlbGVjdGlvbigpLnNldFBvc2l0aW9uKGVkaXQsIDApOwotICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJJbnNlcnRIVE1MIiwgZmFsc2UsICJ0ZXN0Iik7Ci0gICAgCi0gICAg
YXNzZXJ0X3RydWUoZG9jdW1lbnQudW5kb01hbmFnZXIubGVuZ3RoID09IDEpOwotICAgIGFzc2Vy
dF90cnVlKGRvY3VtZW50LnVuZG9NYW5hZ2VyLnBvc2l0aW9uID09IDApOwotfSwgIkFmdGVyIGlu
c2VydGluZyB0ZXh0ICd0ZXN0JyBpbiBhIERJViwgdW5kb01hbmFnZXIncyBsZW5ndGggaXMgMSBh
bmQgcG9zaXRpb24gaXMgMC4iKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgICB2YXIgcmFuZ2Ug
PSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpOwotICAgIHJhbmdlLnNlbGVjdE5vZGVDb250ZW50cyhl
ZGl0KTsKLSAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuYWRkUmFuZ2UocmFuZ2UpOwotICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJCb2xkIiwgZmFsc2UsIG51bGwpOwotICAgIAotICAgIGFzc2Vy
dF90cnVlKGRvY3VtZW50LnVuZG9NYW5hZ2VyLmxlbmd0aCA9PSAyKTsKLSAgICBhc3NlcnRfdHJ1
ZShkb2N1bWVudC51bmRvTWFuYWdlci5wb3NpdGlvbiA9PSAwKTsKLSAgICBhc3NlcnRfdHJ1ZShl
ZGl0LmlubmVySFRNTCA9PSAiPGI+dGVzdDwvYj4iKTsKLX0sICJBZnRlciBib2xkaW5nIHRoZSB0
ZXh0LCB1bmRvTWFuYWdlcidzIGxlbmd0aCBpcyAyIGFuZCBwb3NpdGlvbiBpcyAwLCBhbmQgdGhl
IHJlc3VsdCBpcyBhIGJvbGQgJ3Rlc3QnLiIpOwotICAgIAotdGVzdChmdW5jdGlvbigpIHsKLSAg
ICBkb2N1bWVudC51bmRvTWFuYWdlci51bmRvKCk7Ci0gICAgCi0gICAgYXNzZXJ0X3RydWUoZG9j
dW1lbnQudW5kb01hbmFnZXIubGVuZ3RoID09IDIpOwotICAgIGFzc2VydF90cnVlKGRvY3VtZW50
LnVuZG9NYW5hZ2VyLnBvc2l0aW9uID09IDEpOwotICAgIGFzc2VydF90cnVlKGVkaXQuaW5uZXJI
VE1MID09ICJ0ZXN0Iik7Ci19LCAiQWZ0ZXIgdW5kb2luZywgdW5kb01hbmFnZXIncyBsZW5ndGgg
aXMgMiBhbmQgcG9zaXRpb24gaXMgMSwgYW5kIHRoZSByZXN1bHQgaXMgYSBwbGFpbiAndGVzdCcu
Iik7Ci0gICAgCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIGRvY3VtZW50LnVuZG9NYW5hZ2VyLnVu
ZG8oKTsKLSAgICAKLSAgICBhc3NlcnRfdHJ1ZShkb2N1bWVudC51bmRvTWFuYWdlci5sZW5ndGgg
PT0gMik7Ci0gICAgYXNzZXJ0X3RydWUoZG9jdW1lbnQudW5kb01hbmFnZXIucG9zaXRpb24gPT0g
Mik7Ci0gICAgYXNzZXJ0X3RydWUoZWRpdC5pbm5lckhUTUwgPT0gIiIpOwotfSwgIkFmdGVyIHVu
ZG9pbmcsIHVuZG9NYW5hZ2VyJ3MgbGVuZ3RoIGlzIDIgYW5kIHBvc2l0aW9uIGlzIDIsIGFuZCB0
aGUgcmVzdWx0IGlzIGVtcHR5LiIpOwotICAgIAotdGVzdChmdW5jdGlvbigpIHsKLSAgICBkb2N1
bWVudC51bmRvTWFuYWdlci5yZWRvKCk7Ci0gICAgCi0gICAgYXNzZXJ0X3RydWUoZG9jdW1lbnQu
dW5kb01hbmFnZXIubGVuZ3RoID09IDIpOwotICAgIGFzc2VydF90cnVlKGRvY3VtZW50LnVuZG9N
YW5hZ2VyLnBvc2l0aW9uID09IDEpOwotICAgIGFzc2VydF90cnVlKGVkaXQuaW5uZXJIVE1MID09
ICJ0ZXN0Iik7Ci19LCAiQWZ0ZXIgcmVkb2luZywgdW5kb01hbmFnZXIncyBsZW5ndGggaXMgMiBh
bmQgcG9zaXRpb24gaXMgMSwgYW5kIHRoZSByZXN1bHQgaXMgYSBwbGFpbiAndGVzdCcuIik7Ci0g
ICAgCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIGRvY3VtZW50LnVuZG9NYW5hZ2VyLnJlZG8oKTsK
LSAgICAKLSAgICBhc3NlcnRfdHJ1ZShkb2N1bWVudC51bmRvTWFuYWdlci5sZW5ndGggPT0gMik7
Ci0gICAgYXNzZXJ0X3RydWUoZG9jdW1lbnQudW5kb01hbmFnZXIucG9zaXRpb24gPT0gMCk7Ci0g
ICAgYXNzZXJ0X3RydWUoZWRpdC5pbm5lckhUTUwgPT0gIjxiPnRlc3Q8L2I+Iik7Ci19LCAiQWZ0
ZXIgcmVkb2luZywgdW5kb01hbmFnZXIncyBsZW5ndGggaXMgMiBhbmQgcG9zaXRpb24gaXMgMCwg
YW5kIHRoZSByZXN1bHQgaXMgYSBib2xkICd0ZXN0Jy4iKTsKLQotZWRpdC5zdHlsZS5kaXNwbGF5
ID0gJ25vbmUnOwotCi08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2VkaXRpbmcvdW5kb21hbmFnZXIvYXV0b21hdGljLXRyYW5zYWN0aW9uLW5vZGUuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL2F1dG9tYXRpYy10
cmFuc2FjdGlvbi1ub2RlLmh0bWwJKHJldmlzaW9uIDEzNjgyNCkKKysrIExheW91dFRlc3RzL2Vk
aXRpbmcvdW5kb21hbmFnZXIvYXV0b21hdGljLXRyYW5zYWN0aW9uLW5vZGUuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw4MSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci08dGl0bGU+YXV0b21hdGljIHRyYW5zYWN0aW9uIG9uIG5vZGVzPC90aXRsZT4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keT4KLVRoaXMgdGVzdHMgdGhhdCBVbmRvTWFuYWdlciBjb3JyZWN0bHkgcmV2ZXJ0
cy9yZWFwcGxpZXMgYXV0b21hdGljIERPTSB0cmFuc2FjdGlvbnMKLW9uIG5vZGUgc3RydWN0dXJh
bCBjaGFuZ2UuCi0KLTxkaXYgaWQ9ImVkaXQiPjwvZGl2PgotPHNjcmlwdD4KLXZhciBlZGl0ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVkaXQiKTsKLXZhciB1bmRvTWFuYWdlciA9IGRvY3Vt
ZW50LnVuZG9NYW5hZ2VyOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHVuZG9NYW5hZ2VyLnRy
YW5zYWN0KHsKLSAgICAgICAgImV4ZWN1dGVBdXRvbWF0aWMiOiBmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgIHZhciBkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwotICAgICAgICAg
ICAgZC5pbm5lclRleHQgPSAiMSI7Ci0gICAgICAgICAgICBlZGl0LmFwcGVuZENoaWxkKGQpOwot
ICAgICAgICB9Ci0gICAgfSk7Ci0gICAgYXNzZXJ0X3RydWUoZWRpdC5pbm5lckhUTUwgPT0gIjxz
cGFuPjE8L3NwYW4+Iik7Ci19LCAiVW5kb01hbmFnZXIgY2FsbGVkIHRoZSBmdW5jdGlvbiByZXR1
cm5lZCBieSBleGVjdXRlQXV0b21hdGljLiAoYXBwZW5kQ2hpbGQpIik7Ci0KLXRlc3QoZnVuY3Rp
b24oKSB7Ci0gICAgdW5kb01hbmFnZXIudHJhbnNhY3QoewotICAgICAgICAiZXhlY3V0ZUF1dG9t
YXRpYyI6IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdmFyIGQyID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgic3BhbiIpOwotICAgICAgICAgICAgZDIuaW5uZXJIVE1MID0gIjxiPjI8L2I+IjsK
LSAgICAgICAgICAgIGVkaXQuaW5zZXJ0QmVmb3JlKGQyLCBlZGl0LmZpcnN0Q2hpbGQpOwotICAg
ICAgICB9Ci0gICAgfSk7Ci0gICAgYXNzZXJ0X3RydWUoZWRpdC5pbm5lckhUTUwgPT0gIjxzcGFu
PjxiPjI8L2I+PC9zcGFuPjxzcGFuPjE8L3NwYW4+Iik7Ci19LCAiVW5kb01hbmFnZXIgY2FsbGVk
IHRoZSBmdW5jdGlvbiByZXR1cm5lZCBieSBleGVjdXRlQXV0b21hdGljLiAoaW5zZXJ0QmVmb3Jl
KSIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHVuZG9NYW5hZ2VyLnRyYW5zYWN0KHsKLSAg
ICAgICAgImV4ZWN1dGVBdXRvbWF0aWMiOiBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGVkaXQu
cmVtb3ZlQ2hpbGQoZWRpdC5sYXN0Q2hpbGQpOwotICAgICAgICB9Ci0gICAgfSk7Ci0gICAgYXNz
ZXJ0X3RydWUoZWRpdC5pbm5lckhUTUwgPT0gIjxzcGFuPjxiPjI8L2I+PC9zcGFuPiIpOwotfSwg
IlVuZG9NYW5hZ2VyIGNhbGxlZCB0aGUgZnVuY3Rpb24gcmV0dXJuZWQgYnkgZXhlY3V0ZUF1dG9t
YXRpYy4gKHJlbW92ZUNoaWxkKSIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHVuZG9NYW5h
Z2VyLnVuZG8oKTsKLSAgICBhc3NlcnRfdHJ1ZShlZGl0LmlubmVySFRNTCA9PSAiPHNwYW4+PGI+
MjwvYj48L3NwYW4+PHNwYW4+MTwvc3Bhbj4iKTsKLX0sICJVbmRvTWFuYWdlciByZXZlcnRlZCB0
aGUgY2hhbmdlIG1hZGUgYnkgcmVtb3ZlQ2hpbGQuIik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0g
ICAgdW5kb01hbmFnZXIudW5kbygpOwotICAgIGFzc2VydF90cnVlKGVkaXQuaW5uZXJIVE1MID09
ICI8c3Bhbj4xPC9zcGFuPiIpOwotfSwgIlVuZG9NYW5hZ2VyIHJldmVydGVkIHRoZSBjaGFuZ2Ug
bWFkZSBieSBpbnNlcnRCZWZvcmUuIik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdW5kb01h
bmFnZXIudW5kbygpOwotICAgIGFzc2VydF90cnVlKGVkaXQuaW5uZXJIVE1MID09ICIiKTsKLX0s
ICJVbmRvTWFuYWdlciByZXZlcnRlZCB0aGUgY2hhbmdlIG1hZGUgYnkgYXBwZW5kQ2hpbGQuIik7
Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdW5kb01hbmFnZXIucmVkbygpOwotICAgIGFzc2Vy
dF90cnVlKGVkaXQuaW5uZXJIVE1MID09ICI8c3Bhbj4xPC9zcGFuPiIpOwotfSwgIlVuZG9NYW5h
Z2VyIHJlYXBwbGllZCB0aGUgY2hhbmdlIG1hZGUgYnkgYXBwZW5kQ2hpbGQuIik7Ci0KLXRlc3Qo
ZnVuY3Rpb24oKSB7Ci0gICAgdW5kb01hbmFnZXIucmVkbygpOwotICAgIGFzc2VydF90cnVlKGVk
aXQuaW5uZXJIVE1MID09ICI8c3Bhbj48Yj4yPC9iPjwvc3Bhbj48c3Bhbj4xPC9zcGFuPiIpOwot
fSwgIlVuZG9NYW5hZ2VyIHJlYXBwbGllZCB0aGUgY2hhbmdlIG1hZGUgYnkgaW5zZXJ0QmVmb3Jl
LiIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHVuZG9NYW5hZ2VyLnJlZG8oKTsKLSAgICBh
c3NlcnRfdHJ1ZShlZGl0LmlubmVySFRNTCA9PSAiPHNwYW4+PGI+MjwvYj48L3NwYW4+Iik7Ci19
LCAiVW5kb01hbmFnZXIgcmVhcHBsaWVkIHRoZSBjaGFuZ2UgbWFkZSBieSByZW1vdmVDaGlsZC4i
KTsKLQotZWRpdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL3VuZG9tYW5hZ2Vy
LWl0ZW0uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2Vy
L3VuZG9tYW5hZ2VyLWl0ZW0uaHRtbAkocmV2aXNpb24gMTM2ODI0KQorKysgTGF5b3V0VGVzdHMv
ZWRpdGluZy91bmRvbWFuYWdlci91bmRvbWFuYWdlci1pdGVtLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTEsNzggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxl
PnVuZG9NYW5hZ2VyLml0ZW0oKTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci1UaGlzIHRl
c3RzIFVuZG9NYW5hZ2VyJ3MgaXRlbSgpIG1ldGhvZC4KLQotPGRpdiBpZD0iZWRpdCIgY29udGVu
dEVkaXRhYmxlPkhlbGxvPC9kaXY+Ci0KLTxzY3JpcHQ+Ci12YXIgdW5kb01hbmFnZXIgPSBkb2N1
bWVudC51bmRvTWFuYWdlcjsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgICBhc3NlcnRfaWRsX2F0
dHJpYnV0ZSh1bmRvTWFuYWdlciwgIml0ZW0iKTsKLX0sICJ1bmRvTWFuYWdlciBoYXMgaXRlbSBw
cm9wZXJ0eS4iKTsKLQotdmFyIHRyYW5zYWN0aW9uID0geyJleGVjdXRlQXV0b21hdGljIjogZnVu
Y3Rpb24oKSB7IH19OwotdmFyIHRyYW5zYWN0aW9uMiA9IHsiZXhlY3V0ZUF1dG9tYXRpYyI6IGZ1
bmN0aW9uKCkgeyB9fTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgICB1bmRvTWFuYWdlci50cmFu
c2FjdCh0cmFuc2FjdGlvbik7Ci0gICAgdW5kb01hbmFnZXIudHJhbnNhY3QodHJhbnNhY3Rpb24y
LCB0cnVlKTsKLSAgICAKLSAgICB2YXIgZW50cnkgPSB1bmRvTWFuYWdlci5pdGVtKDApOwotICAg
IGFzc2VydF9lcXVhbHMoZW50cnkubGVuZ3RoLCAyKTsKLSAgICBhc3NlcnRfZXF1YWxzKGVudHJ5
WzBdLCB0cmFuc2FjdGlvbik7Ci0gICAgYXNzZXJ0X2VxdWFscyhlbnRyeVsxXSwgdHJhbnNhY3Rp
b24yKTsKLX0sICJBZnRlciB0d28gdHJhbnNhY3QgY2FsbHMgdGhhdCBhcmUgbWVyZ2VkIGludG8g
b25lLCBpdGVtKDApIHJldHVybnMgYW4gYXJyYXkgb2YgIgotICAgICsgInRoZSB0d28gdHJhbnNh
Y3Rpb25zIGluIHRoZSBjb3JyZWN0IG9yZGVyLiIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAg
IHZhciBlbnRyeSA9IHVuZG9NYW5hZ2VyLml0ZW0oMSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhlbnRy
eSwgbnVsbCk7Ci19LCAiaXRlbSgxKSByZXR1cm5zIG51bGwgYmVjYXVzZSBpdCdzIG91dCBvZiBy
YW5nZS4iKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgICB1bmRvTWFuYWdlci51bmRvKCk7Ci0K
LSAgICB2YXIgZW50cnkgPSB1bmRvTWFuYWdlci5pdGVtKDApOwotICAgIGFzc2VydF9lcXVhbHMo
ZW50cnkubGVuZ3RoLCAyKTsKLSAgICBhc3NlcnRfZXF1YWxzKGVudHJ5WzBdLCB0cmFuc2FjdGlv
bik7Ci0gICAgYXNzZXJ0X2VxdWFscyhlbnRyeVsxXSwgdHJhbnNhY3Rpb24yKTsKLX0sICJBZnRl
ciBhbiB1bmRvIGNhbGwsIGl0ZW0oMCkgc3RpbGxzIHJldHVybiBhbiBhcnJheSBvZiB0aGUgdHdv
IHRyYW5zYWN0aW9ucyBpbiB0aGUgY29ycmVjdCBvcmRlci4iKTsKLQotdGVzdChmdW5jdGlvbigp
IHsKLSAgICB1bmRvTWFuYWdlci5yZWRvKCk7Ci0gICAgYXNzZXJ0X2VxdWFscyh1bmRvTWFuYWdl
ci5wb3NpdGlvbiwgMCk7Ci19LCAiQWZ0ZXIgYSByZWRvIGNhbGwsIHVuZG9NYW5hZ2VyJ3MgcG9z
aXRpb24gaXMgYmFjayB0byAwLiIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHZhciByYW5n
ZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7Ci0gICAgcmFuZ2Uuc2VsZWN0Tm9kZUNvbnRlbnRz
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlZGl0IikpOwotICAgIHdpbmRvdy5nZXRTZWxlY3Rp
b24oKS5hZGRSYW5nZShyYW5nZSk7Ci0gICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkJvbGQiKTsK
LSAgICAKLSAgICB2YXIgZW50cnkgPSB1bmRvTWFuYWdlci5pdGVtKDApOwotICAgIGFzc2VydF9l
cXVhbHMoZW50cnkubGVuZ3RoLCAxKTsKLSAgICBhc3NlcnRfb3duX3Byb3BlcnR5KGVudHJ5WzBd
LCAibGFiZWwiKTsKLX0sICJBZnRlciBleGVjdXRpbmcgYW4gZWRpdGluZyBjb21tYW5kLCBpdGVt
KDApIHJldHVybnMgYW4gYXJyYXkgb2YgYW4gb2JqZWN0IHdpdGggbGFiZWwgcHJvcGVydHkuIik7
Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIGVudHJ5ID0gdW5kb01hbmFnZXIuaXRlbSgx
KTsKLSAgICBhc3NlcnRfZXF1YWxzKGVudHJ5Lmxlbmd0aCwgMik7Ci0gICAgYXNzZXJ0X2VxdWFs
cyhlbnRyeVswXSwgdHJhbnNhY3Rpb24pOwotICAgIGFzc2VydF9lcXVhbHMoZW50cnlbMV0sIHRy
YW5zYWN0aW9uMik7Ci19LCAiaXRlbSgxKSBub3cgcmV0dXJucyBhbiBhcnJheSBvZiB0aGUgdHdv
IHRyYW5zYWN0aW9ucy4iKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgICBhc3NlcnRfbm90X2Vx
dWFscyh1bmRvTWFuYWdlci5pdGVtKDEpLCB1bmRvTWFuYWdlci5pdGVtKDEpKTsKLX0sICJpdGVt
KDEpIHJldHVybnMgYSBkaWZmZXJlbnQgb2JqZWN0IHRoYW4gaXRlbSgxKS4iKTsKLQotZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVkaXQiKS5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwotPC9zY3Jp
cHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5h
Z2VyL2F1dG9tYXRpYy10cmFuc2FjdGlvbi1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvdW5kb21hbmFnZXIvYXV0b21hdGljLXRyYW5zYWN0
aW9uLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDEzNjgyNCkKKysrIExheW91dFRl
c3RzL2VkaXRpbmcvdW5kb21hbmFnZXIvYXV0b21hdGljLXRyYW5zYWN0aW9uLWF0dHJpYnV0ZS1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTUgKzAsMCBAQAotVGhpcyB0ZXN0cyB0
aGF0IFVuZG9NYW5hZ2VyIGNvcnJlY3RseSByZXZlcnRzL3JlYXBwbGllcyBhdXRvbWF0aWMgRE9N
IHRyYW5zYWN0aW9ucyBvbiBhdHRyaWJ1dGUgY2hhbmdlcy4gV2Ugc3RhcnQgd2l0aCBhIHNwYW4g
dGhhdCBoYXMgYmx1ZSBib3JkZXIgYW5kIGRvZXNuJ3QgaGF2ZSB0aXRsZSBvciBjb250ZW50ZWRp
dGFibGUgYXR0cmlidXRlcy4gCi0KLVBBU1MgdHJhbnNhY3QgMTogc2V0IHRpdGxlIHRvICJ0ZXN0
IiAKLVBBU1MgdHJhbnNhY3QgMjogc2V0IGNvbnRlbnRlZGl0YWJsZSB0byAidHJ1ZSIgCi1QQVNT
IHRyYW5zYWN0IDM6IHNldCBib3JkZXIgY29sb3IgdG8gcmVkIAotUEFTUyB0cmFuc2FjdCA0OiBy
ZW1vdmUgYXR0cmlidXRlIHRpdGxlIAotUEFTUyB1bmRvIDQ6IHRpdGxlIGlzIGJhY2sgdG8gInRl
c3QiIAotUEFTUyB1bmRvIDM6IGJvcmRlciBjb2xvciBpcyBiYWNrIHRvIGJsdWUgCi1QQVNTIHVu
ZG8gMjogY29udGVudGVkaXRhYmxlIGlzIGJhY2sgdG8gImluaGVyaXQiIAotUEFTUyB1bmRvIDE6
IHRpdGxlIGlzIGJhY2sgdG8gYW4gZW1wdHkgc3RyaW5nIAotUEFTUyByZWRvIDE6IHRpdGxlIGlz
ICJ0ZXN0IiBhZ2FpbiAKLVBBU1MgcmVkbyAyOiBjb250ZW50RWRpdGFibGUgaXMgInRydWUiIGFn
YWluIAotUEFTUyByZWRvIDM6IGJvcmRlciBjb2xvciBpcyByZWQgYWdhaW4gCi1QQVNTIHJlZG8g
NDogdGl0bGUgaXMgYW4gZW1wdHkgc3RyaW5nIGFnYWluIAotCkluZGV4OiBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3VuZG9tYW5hZ2VyL2F1dG9tYXRpYy10cmFuc2FjdGlvbi1hdHRyaWJ1dGUuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL2F1dG9tYXRpYy10
cmFuc2FjdGlvbi1hdHRyaWJ1dGUuaHRtbAkocmV2aXNpb24gMTM2ODI0KQorKysgTGF5b3V0VGVz
dHMvZWRpdGluZy91bmRvbWFuYWdlci9hdXRvbWF0aWMtdHJhbnNhY3Rpb24tYXR0cmlidXRlLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsODcgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bD4KLTxoZWFkPgotPHRpdGxlPmF1dG9tYXRpYyB0cmFuc2FjdGlvbiBvbiBhdHRyaWJ1dGVzPC90
aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLVRoaXMgdGVzdHMgdGhhdCBVbmRvTWFuYWdlciBj
b3JyZWN0bHkgcmV2ZXJ0cy9yZWFwcGxpZXMgYXV0b21hdGljIERPTSB0cmFuc2FjdGlvbnMKLW9u
IGF0dHJpYnV0ZSBjaGFuZ2VzLiBXZSBzdGFydCB3aXRoIGEgc3BhbiB0aGF0IGhhcyBibHVlIGJv
cmRlciBhbmQgZG9lc24ndCBoYXZlIHRpdGxlCi1vciBjb250ZW50ZWRpdGFibGUgYXR0cmlidXRl
cy4KLQotPHNwYW4gaWQ9InNwYW4iIHN0eWxlPSJib3JkZXI6IDFweCBibHVlIHNvbGlkIj48L3Nw
YW4+Ci08c2NyaXB0PgotdmFyIHVuZG9NYW5hZ2VyID0gZG9jdW1lbnQudW5kb01hbmFnZXI7Ci12
YXIgc3BhbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzcGFuIik7Ci0KLXRlc3QoZnVuY3Rp
b24oKSB7Ci0gICAgdW5kb01hbmFnZXIudHJhbnNhY3QoewotICAgICAgICAiZXhlY3V0ZUF1dG9t
YXRpYyI6IGZ1bmN0aW9uKCkgeyBzcGFuLnRpdGxlID0gInRlc3QiOyB9Ci0gICAgfSk7Ci0gICAg
YXNzZXJ0X2VxdWFscyhzcGFuLnRpdGxlLCAidGVzdCIpOwotfSwgInRyYW5zYWN0IDE6IHNldCB0
aXRsZSB0byBcInRlc3RcIiIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHVuZG9NYW5hZ2Vy
LnRyYW5zYWN0KHsKLSAgICAgICAgImV4ZWN1dGVBdXRvbWF0aWMiOiBmdW5jdGlvbigpIHsgc3Bh
bi5zZXRBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIsICJ0cnVlIik7IH0KLSAgICB9KTsKLSAg
ICBhc3NlcnRfZXF1YWxzKHNwYW4uY29udGVudEVkaXRhYmxlLCAidHJ1ZSIpOwotfSwgInRyYW5z
YWN0IDI6IHNldCBjb250ZW50ZWRpdGFibGUgdG8gXCJ0cnVlXCIiKTsKLQotdGVzdChmdW5jdGlv
bigpIHsKLSAgICB1bmRvTWFuYWdlci50cmFuc2FjdCh7Ci0gICAgICAgICJleGVjdXRlQXV0b21h
dGljIjogZnVuY3Rpb24oKSB7IHNwYW4uc3R5bGUuY3NzVGV4dCA9ICJib3JkZXI6IDFweCByZWQg
c29saWQiOyB9Ci0gICAgfSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhzcGFuLnN0eWxlLmJvcmRlckNv
bG9yLCAicmVkIik7Ci19LCAidHJhbnNhY3QgMzogc2V0IGJvcmRlciBjb2xvciB0byByZWQiKTsK
LQotdGVzdChmdW5jdGlvbigpIHsKLSAgICB1bmRvTWFuYWdlci50cmFuc2FjdCh7Ci0gICAgICAg
ICJleGVjdXRlQXV0b21hdGljIjogZnVuY3Rpb24oKSB7IHNwYW4ucmVtb3ZlQXR0cmlidXRlKCJ0
aXRsZSIpOyB9Ci0gICAgfSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhzcGFuLnRpdGxlLCAiIik7Ci19
LCAidHJhbnNhY3QgNDogcmVtb3ZlIGF0dHJpYnV0ZSB0aXRsZSIpOwotCi10ZXN0KGZ1bmN0aW9u
KCkgewotICAgIHVuZG9NYW5hZ2VyLnVuZG8oKTsKLSAgICBhc3NlcnRfZXF1YWxzKHNwYW4udGl0
bGUsICJ0ZXN0Iik7Ci19LCAidW5kbyA0OiB0aXRsZSBpcyBiYWNrIHRvIFwidGVzdFwiIik7Ci0K
LXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdW5kb01hbmFnZXIudW5kbygpOwotICAgIGFzc2VydF9l
cXVhbHMoc3Bhbi5zdHlsZS5ib3JkZXJDb2xvciwgImJsdWUiKTsKLX0sICJ1bmRvIDM6IGJvcmRl
ciBjb2xvciBpcyBiYWNrIHRvIGJsdWUiKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgICB1bmRv
TWFuYWdlci51bmRvKCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhzcGFuLmNvbnRlbnRFZGl0YWJsZSwg
ImluaGVyaXQiKTsKLX0sICJ1bmRvIDI6IGNvbnRlbnRlZGl0YWJsZSBpcyBiYWNrIHRvIFwiaW5o
ZXJpdFwiIik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdW5kb01hbmFnZXIudW5kbygpOwot
ICAgIGFzc2VydF9lcXVhbHMoc3Bhbi50aXRsZSwgIiIpOwotfSwgInVuZG8gMTogdGl0bGUgaXMg
YmFjayB0byBhbiBlbXB0eSBzdHJpbmciKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgICB1bmRv
TWFuYWdlci5yZWRvKCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhzcGFuLnRpdGxlLCAidGVzdCIpOwot
fSwgInJlZG8gMTogdGl0bGUgaXMgXCJ0ZXN0XCIgYWdhaW4iKTsKLQotdGVzdChmdW5jdGlvbigp
IHsKLSAgICB1bmRvTWFuYWdlci5yZWRvKCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhzcGFuLmNvbnRl
bnRFZGl0YWJsZSwgInRydWUiKTsKLX0sICJyZWRvIDI6IGNvbnRlbnRFZGl0YWJsZSBpcyBcInRy
dWVcIiBhZ2FpbiIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHVuZG9NYW5hZ2VyLnJlZG8o
KTsKLSAgICBhc3NlcnRfZXF1YWxzKHNwYW4uc3R5bGUuYm9yZGVyQ29sb3IsICJyZWQiKTsKLX0s
ICJyZWRvIDM6IGJvcmRlciBjb2xvciBpcyByZWQgYWdhaW4iKTsKLQotdGVzdChmdW5jdGlvbigp
IHsKLSAgICB1bmRvTWFuYWdlci5yZWRvKCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhzcGFuLnRpdGxl
LCAiIik7Ci19LCAicmVkbyA0OiB0aXRsZSBpcyBhbiBlbXB0eSBzdHJpbmcgYWdhaW4iKTsKLTwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy91bmRv
bWFuYWdlci9hdXRvbWF0aWMtdHJhbnNhY3Rpb24tZGF0YS1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvbWFuYWdlci9hdXRvbWF0aWMtdHJhbnNhY3Rp
b24tZGF0YS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDEzNjgyNCkKKysrIExheW91dFRlc3RzL2Vk
aXRpbmcvdW5kb21hbmFnZXIvYXV0b21hdGljLXRyYW5zYWN0aW9uLWRhdGEtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDkgKzAsMCBAQAotVGhpcyB0ZXN0cyB0aGF0IFVuZG9NYW5h
Z2VyIGNvcnJlY3RseSByZXZlcnRzL3JlYXBwbGllcyBhdXRvbWF0aWMgRE9NIHRyYW5zYWN0aW9u
cyBvbiBub2RlIGRhdGEuCi0KLVBBU1MgU3RhcnRlZCB3aXRoIDEyMzQ1Njc4OS4gVHJhbnNhY3Rl
ZCByZXBsYWNlRGF0YSgzLCAzLCAnYWJjZCcpLiBHb3QgMTIzYWJjZDc4OSAKLVBBU1MgdW5kb01h
bmFnZXIudW5kbygpLiBHb3QgMTIzNDU2Nzg5IAotUEFTUyB1bmRvTWFuYWdlci5yZWRvKCkuIEdv
dCAxMjNhYmNkNzg5IAotUEFTUyBTdGFydGVkIHdpdGggMTIzNC4gVHJhbnNhY3RlZCByZXBsYWNl
RGF0YSgyLCAxMCwgJ2EnKS4gR290IDEyYSAKLVBBU1MgdW5kb01hbmFnZXIudW5kbygpLiBHb3Qg
MTIzNCAKLVBBU1MgdW5kb01hbmFnZXIucmVkbygpLiBHb3QgMTJhIAotCkluZGV4OiBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL2F1dG9tYXRpYy10cmFuc2FjdGlvbi1kYXRhLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvbWFuYWdlci9hdXRvbWF0aWMt
dHJhbnNhY3Rpb24tZGF0YS5odG1sCShyZXZpc2lvbiAxMzY4MjQpCisrKyBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3VuZG9tYW5hZ2VyL2F1dG9tYXRpYy10cmFuc2FjdGlvbi1kYXRhLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTEsNTYgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFk
PgotPHRpdGxlPmF1dG9tYXRpYyB0cmFuc2FjdGlvbiBvbiBub2RlIGRhdGE8L3RpdGxlPgotPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotVGhpcyB0ZXN0cyB0aGF0IFVuZG9NYW5hZ2VyIGNvcnJlY3RseSBy
ZXZlcnRzL3JlYXBwbGllcyBhdXRvbWF0aWMgRE9NIHRyYW5zYWN0aW9ucwotb24gbm9kZSBkYXRh
LgotCi08ZGl2IGlkPSJkaXYiPjwvZGl2PgotPHNjcmlwdD4KLXZhciB1bmRvTWFuYWdlciA9IGRv
Y3VtZW50LnVuZG9NYW5hZ2VyOwotdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJk
aXYiKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLQlkaXYuaW5uZXJUZXh0ID0gIjEyMzQ1Njc4OSI7
Ci0gICAgdW5kb01hbmFnZXIudHJhbnNhY3QoewotICAgICAgICAiZXhlY3V0ZUF1dG9tYXRpYyI6
IGZ1bmN0aW9uKCkgeyBkaXYuZmlyc3RDaGlsZC5yZXBsYWNlRGF0YSgzLCAzLCAiYWJjZCIpOyB9
Ci0gICAgfSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhkaXYuaW5uZXJUZXh0LCAiMTIzYWJjZDc4OSIp
OwotfSwgIlN0YXJ0ZWQgd2l0aCAxMjM0NTY3ODkuIFRyYW5zYWN0ZWQgcmVwbGFjZURhdGEoMywg
MywgJ2FiY2QnKS4gR290IDEyM2FiY2Q3ODkiKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgICB1
bmRvTWFuYWdlci51bmRvKCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhkaXYuaW5uZXJUZXh0LCAiMTIz
NDU2Nzg5Iik7Ci19LCAidW5kb01hbmFnZXIudW5kbygpLiBHb3QgMTIzNDU2Nzg5Iik7Ci0KLXRl
c3QoZnVuY3Rpb24oKSB7Ci0gICAgdW5kb01hbmFnZXIucmVkbygpOwotICAgIGFzc2VydF9lcXVh
bHMoZGl2LmlubmVyVGV4dCwgIjEyM2FiY2Q3ODkiKTsKLX0sICJ1bmRvTWFuYWdlci5yZWRvKCku
IEdvdCAxMjNhYmNkNzg5Iik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0JZGl2LmlubmVyVGV4dCA9
ICIxMjM0IjsKLSAgICB1bmRvTWFuYWdlci50cmFuc2FjdCh7Ci0gICAgICAgICJleGVjdXRlQXV0
b21hdGljIjogZnVuY3Rpb24oKSB7IGRpdi5maXJzdENoaWxkLnJlcGxhY2VEYXRhKDIsIDEwLCAi
YSIpOyB9Ci0gICAgfSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhkaXYuaW5uZXJUZXh0LCAiMTJhIik7
Ci19LCAiU3RhcnRlZCB3aXRoIDEyMzQuIFRyYW5zYWN0ZWQgcmVwbGFjZURhdGEoMiwgMTAsICdh
JykuIEdvdCAxMmEiKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgICB1bmRvTWFuYWdlci51bmRv
KCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhkaXYuaW5uZXJUZXh0LCAiMTIzNCIpOwotfSwgInVuZG9N
YW5hZ2VyLnVuZG8oKS4gR290IDEyMzQiKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgICB1bmRv
TWFuYWdlci5yZWRvKCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhkaXYuaW5uZXJUZXh0LCAiMTJhIik7
Ci19LCAidW5kb01hbmFnZXIucmVkbygpLiBHb3QgMTJhIik7Ci0KLWRpdi5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL2F1dG9tYXRpYy10cmFuc2FjdGlvbi1ub2RlLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL2F1dG9t
YXRpYy10cmFuc2FjdGlvbi1ub2RlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTM2ODI0KQorKysg
TGF5b3V0VGVzdHMvZWRpdGluZy91bmRvbWFuYWdlci9hdXRvbWF0aWMtdHJhbnNhY3Rpb24tbm9k
ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTIgKzAsMCBAQAotVGhpcyB0ZXN0
cyB0aGF0IFVuZG9NYW5hZ2VyIGNvcnJlY3RseSByZXZlcnRzL3JlYXBwbGllcyBhdXRvbWF0aWMg
RE9NIHRyYW5zYWN0aW9ucyBvbiBub2RlIHN0cnVjdHVyYWwgY2hhbmdlLgotCi1QQVNTIFVuZG9N
YW5hZ2VyIGNhbGxlZCB0aGUgZnVuY3Rpb24gcmV0dXJuZWQgYnkgZXhlY3V0ZUF1dG9tYXRpYy4g
KGFwcGVuZENoaWxkKSAKLVBBU1MgVW5kb01hbmFnZXIgY2FsbGVkIHRoZSBmdW5jdGlvbiByZXR1
cm5lZCBieSBleGVjdXRlQXV0b21hdGljLiAoaW5zZXJ0QmVmb3JlKSAKLVBBU1MgVW5kb01hbmFn
ZXIgY2FsbGVkIHRoZSBmdW5jdGlvbiByZXR1cm5lZCBieSBleGVjdXRlQXV0b21hdGljLiAocmVt
b3ZlQ2hpbGQpIAotUEFTUyBVbmRvTWFuYWdlciByZXZlcnRlZCB0aGUgY2hhbmdlIG1hZGUgYnkg
cmVtb3ZlQ2hpbGQuIAotUEFTUyBVbmRvTWFuYWdlciByZXZlcnRlZCB0aGUgY2hhbmdlIG1hZGUg
YnkgaW5zZXJ0QmVmb3JlLiAKLVBBU1MgVW5kb01hbmFnZXIgcmV2ZXJ0ZWQgdGhlIGNoYW5nZSBt
YWRlIGJ5IGFwcGVuZENoaWxkLiAKLVBBU1MgVW5kb01hbmFnZXIgcmVhcHBsaWVkIHRoZSBjaGFu
Z2UgbWFkZSBieSBhcHBlbmRDaGlsZC4gCi1QQVNTIFVuZG9NYW5hZ2VyIHJlYXBwbGllZCB0aGUg
Y2hhbmdlIG1hZGUgYnkgaW5zZXJ0QmVmb3JlLiAKLVBBU1MgVW5kb01hbmFnZXIgcmVhcHBsaWVk
IHRoZSBjaGFuZ2UgbWFkZSBieSByZW1vdmVDaGlsZC4gCi0KSW5kZXg6IExheW91dFRlc3RzL2Vk
aXRpbmcvdW5kb21hbmFnZXIvYXV0b21hdGljLXRyYW5zYWN0aW9uLW5vZGUuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL2F1dG9tYXRpYy10cmFuc2Fj
dGlvbi1ub2RlLmh0bWwJKHJldmlzaW9uIDEzNjgyNCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcv
dW5kb21hbmFnZXIvYXV0b21hdGljLXRyYW5zYWN0aW9uLW5vZGUuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMSw4MSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0
bGU+YXV0b21hdGljIHRyYW5zYWN0aW9uIG9uIG5vZGVzPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keT4KLVRoaXMgdGVzdHMgdGhhdCBVbmRvTWFuYWdlciBjb3JyZWN0bHkgcmV2ZXJ0cy9yZWFw
cGxpZXMgYXV0b21hdGljIERPTSB0cmFuc2FjdGlvbnMKLW9uIG5vZGUgc3RydWN0dXJhbCBjaGFu
Z2UuCi0KLTxkaXYgaWQ9ImVkaXQiPjwvZGl2PgotPHNjcmlwdD4KLXZhciBlZGl0ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVkaXQiKTsKLXZhciB1bmRvTWFuYWdlciA9IGRvY3VtZW50LnVu
ZG9NYW5hZ2VyOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHVuZG9NYW5hZ2VyLnRyYW5zYWN0
KHsKLSAgICAgICAgImV4ZWN1dGVBdXRvbWF0aWMiOiBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
IHZhciBkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwotICAgICAgICAgICAgZC5p
bm5lclRleHQgPSAiMSI7Ci0gICAgICAgICAgICBlZGl0LmFwcGVuZENoaWxkKGQpOwotICAgICAg
ICB9Ci0gICAgfSk7Ci0gICAgYXNzZXJ0X3RydWUoZWRpdC5pbm5lckhUTUwgPT0gIjxzcGFuPjE8
L3NwYW4+Iik7Ci19LCAiVW5kb01hbmFnZXIgY2FsbGVkIHRoZSBmdW5jdGlvbiByZXR1cm5lZCBi
eSBleGVjdXRlQXV0b21hdGljLiAoYXBwZW5kQ2hpbGQpIik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7
Ci0gICAgdW5kb01hbmFnZXIudHJhbnNhY3QoewotICAgICAgICAiZXhlY3V0ZUF1dG9tYXRpYyI6
IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdmFyIGQyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgic3BhbiIpOwotICAgICAgICAgICAgZDIuaW5uZXJIVE1MID0gIjxiPjI8L2I+IjsKLSAgICAg
ICAgICAgIGVkaXQuaW5zZXJ0QmVmb3JlKGQyLCBlZGl0LmZpcnN0Q2hpbGQpOwotICAgICAgICB9
Ci0gICAgfSk7Ci0gICAgYXNzZXJ0X3RydWUoZWRpdC5pbm5lckhUTUwgPT0gIjxzcGFuPjxiPjI8
L2I+PC9zcGFuPjxzcGFuPjE8L3NwYW4+Iik7Ci19LCAiVW5kb01hbmFnZXIgY2FsbGVkIHRoZSBm
dW5jdGlvbiByZXR1cm5lZCBieSBleGVjdXRlQXV0b21hdGljLiAoaW5zZXJ0QmVmb3JlKSIpOwot
Ci10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHVuZG9NYW5hZ2VyLnRyYW5zYWN0KHsKLSAgICAgICAg
ImV4ZWN1dGVBdXRvbWF0aWMiOiBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGVkaXQucmVtb3Zl
Q2hpbGQoZWRpdC5sYXN0Q2hpbGQpOwotICAgICAgICB9Ci0gICAgfSk7Ci0gICAgYXNzZXJ0X3Ry
dWUoZWRpdC5pbm5lckhUTUwgPT0gIjxzcGFuPjxiPjI8L2I+PC9zcGFuPiIpOwotfSwgIlVuZG9N
YW5hZ2VyIGNhbGxlZCB0aGUgZnVuY3Rpb24gcmV0dXJuZWQgYnkgZXhlY3V0ZUF1dG9tYXRpYy4g
KHJlbW92ZUNoaWxkKSIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHVuZG9NYW5hZ2VyLnVu
ZG8oKTsKLSAgICBhc3NlcnRfdHJ1ZShlZGl0LmlubmVySFRNTCA9PSAiPHNwYW4+PGI+MjwvYj48
L3NwYW4+PHNwYW4+MTwvc3Bhbj4iKTsKLX0sICJVbmRvTWFuYWdlciByZXZlcnRlZCB0aGUgY2hh
bmdlIG1hZGUgYnkgcmVtb3ZlQ2hpbGQuIik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdW5k
b01hbmFnZXIudW5kbygpOwotICAgIGFzc2VydF90cnVlKGVkaXQuaW5uZXJIVE1MID09ICI8c3Bh
bj4xPC9zcGFuPiIpOwotfSwgIlVuZG9NYW5hZ2VyIHJldmVydGVkIHRoZSBjaGFuZ2UgbWFkZSBi
eSBpbnNlcnRCZWZvcmUuIik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdW5kb01hbmFnZXIu
dW5kbygpOwotICAgIGFzc2VydF90cnVlKGVkaXQuaW5uZXJIVE1MID09ICIiKTsKLX0sICJVbmRv
TWFuYWdlciByZXZlcnRlZCB0aGUgY2hhbmdlIG1hZGUgYnkgYXBwZW5kQ2hpbGQuIik7Ci0KLXRl
c3QoZnVuY3Rpb24oKSB7Ci0gICAgdW5kb01hbmFnZXIucmVkbygpOwotICAgIGFzc2VydF90cnVl
KGVkaXQuaW5uZXJIVE1MID09ICI8c3Bhbj4xPC9zcGFuPiIpOwotfSwgIlVuZG9NYW5hZ2VyIHJl
YXBwbGllZCB0aGUgY2hhbmdlIG1hZGUgYnkgYXBwZW5kQ2hpbGQuIik7Ci0KLXRlc3QoZnVuY3Rp
b24oKSB7Ci0gICAgdW5kb01hbmFnZXIucmVkbygpOwotICAgIGFzc2VydF90cnVlKGVkaXQuaW5u
ZXJIVE1MID09ICI8c3Bhbj48Yj4yPC9iPjwvc3Bhbj48c3Bhbj4xPC9zcGFuPiIpOwotfSwgIlVu
ZG9NYW5hZ2VyIHJlYXBwbGllZCB0aGUgY2hhbmdlIG1hZGUgYnkgaW5zZXJ0QmVmb3JlLiIpOwot
Ci10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHVuZG9NYW5hZ2VyLnJlZG8oKTsKLSAgICBhc3NlcnRf
dHJ1ZShlZGl0LmlubmVySFRNTCA9PSAiPHNwYW4+PGI+MjwvYj48L3NwYW4+Iik7Ci19LCAiVW5k
b01hbmFnZXIgcmVhcHBsaWVkIHRoZSBjaGFuZ2UgbWFkZSBieSByZW1vdmVDaGlsZC4iKTsKLQot
ZWRpdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL2RvY3VtZW50LWhhcy11bmRv
bWFuYWdlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy91
bmRvbWFuYWdlci9kb2N1bWVudC1oYXMtdW5kb21hbmFnZXItZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAxMzY4MjQpCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL2RvY3VtZW50LWhh
cy11bmRvbWFuYWdlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMCwwIEBA
Ci0KLVBBU1MgZG9jdW1lbnQudW5kb01hbmFnZXIgCi0KSW5kZXg6IExheW91dFRlc3RzL2VkaXRp
bmcvdW5kb21hbmFnZXIvZG9jdW1lbnQtaGFzLXVuZG9tYW5hZ2VyLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvbWFuYWdlci9kb2N1bWVudC1oYXMtdW5kb21hbmFn
ZXIuaHRtbAkocmV2aXNpb24gMTM2ODI0KQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvbWFu
YWdlci9kb2N1bWVudC1oYXMtdW5kb21hbmFnZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwy
MCArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+ZG9jdW1l
bnQudW5kb01hbmFnZXI8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9n
Ij48L2Rpdj4KLTxzY3JpcHQ+Ci10ZXN0KGZ1bmN0aW9uKCkgewotICAgIGFzc2VydF9vd25fcHJv
cGVydHkoZG9jdW1lbnQsICJ1bmRvTWFuYWdlciIpOwotICAgIGFzc2VydF9pZGxfYXR0cmlidXRl
KGRvY3VtZW50LnVuZG9NYW5hZ2VyLCAidW5kbyIpOwotICAgIGFzc2VydF9pZGxfYXR0cmlidXRl
KGRvY3VtZW50LnVuZG9NYW5hZ2VyLCAicmVkbyIpOwotICAgIGFzc2VydF9pZGxfYXR0cmlidXRl
KGRvY3VtZW50LnVuZG9NYW5hZ2VyLCAiY2xlYXJVbmRvIik7Ci0gICAgYXNzZXJ0X2lkbF9hdHRy
aWJ1dGUoZG9jdW1lbnQudW5kb01hbmFnZXIsICJjbGVhclJlZG8iKTsKLX0pCi08L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvdW5kb21hbmFnZXIv
ZG9tdHJhbnNhY3Rpb24tc3Vydml2ZXMtZ2MtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2VkaXRpbmcvdW5kb21hbmFnZXIvZG9tdHJhbnNhY3Rpb24tc3Vydml2ZXMtZ2Mt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxMzY4MjQpCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3Vu
ZG9tYW5hZ2VyL2RvbXRyYW5zYWN0aW9uLXN1cnZpdmVzLWdjLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwxMSArMCwwIEBACi1UaGlzIHRlc3RzIHRoYXQgdW5kb01hbmFnZXIga2Vl
cHMgRE9NVHJhbnNhY3Rpb24gb2JqZWN0cyBhbGl2ZWR1cmluZyBpdHMgbGlmZXRpbWUgYW5kIHRo
ZXJlZm9yZSBkb2VzIG5vdCBjcmFzaCBhZnRlciB0aGUgR0MgcnVucy4KLQotT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgotCi0KLVBBU1MgZ2MoKTsgZG9jdW1lbnQudW5kb01hbmFnZXIudW5kbygp
OyByZXN1bHQgaXMgImV4ZWN1dGUgdW5kbyAiCi1QQVNTIGdjKCk7IGRvY3VtZW50LnVuZG9NYW5h
Z2VyLnJlZG8oKTsgcmVzdWx0IGlzICJleGVjdXRlIHVuZG8gcmVkbyAiCi1QQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMv
ZWRpdGluZy91bmRvbWFuYWdlci9kb210cmFuc2FjdGlvbi1zdXJ2aXZlcy1nYy5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvdW5kb21hbmFnZXIvZG9tdHJhbnNhY3Rpb24t
c3Vydml2ZXMtZ2MuaHRtbAkocmV2aXNpb24gMTM2ODI0KQorKysgTGF5b3V0VGVzdHMvZWRpdGlu
Zy91bmRvbWFuYWdlci9kb210cmFuc2FjdGlvbi1zdXJ2aXZlcy1nYy5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDI3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTx0
aXRsZT5ET01UcmFuc2FjdGlvbiBzdXJ2aXZlcyBHQzwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHk+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCB1bmRvTWFuYWdl
ciBrZWVwcyBET01UcmFuc2FjdGlvbiBvYmplY3RzIGFsaXZlIgotICAgICsgImR1cmluZyBpdHMg
bGlmZXRpbWUgYW5kIHRoZXJlZm9yZSBkb2VzIG5vdCBjcmFzaCBhZnRlciB0aGUgR0MgcnVucy4i
KTsKLQotdmFyIHJlc3VsdCA9ICIiOwotCi1kb2N1bWVudC51bmRvTWFuYWdlci50cmFuc2FjdCh7
Ci0gICAgImV4ZWN1dGUiOiBmdW5jdGlvbigpIHsgcmVzdWx0ICs9ICJleGVjdXRlICI7IH0sCi0g
ICAgInVuZG8iOiBmdW5jdGlvbigpIHsgcmVzdWx0ICs9ICJ1bmRvICI7IH0sCi0gICAgInJlZG8i
OiBmdW5jdGlvbigpIHsgcmVzdWx0ICs9ICJyZWRvICI7IH0KLX0pOwotCi1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoImdjKCk7IGRvY3VtZW50LnVuZG9NYW5hZ2VyLnVuZG8oKTsgcmVzdWx0IiwgImV4
ZWN1dGUgdW5kbyAiKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygiZ2MoKTsgZG9jdW1lbnQudW5k
b01hbmFnZXIucmVkbygpOyByZXN1bHQiLCAiZXhlY3V0ZSB1bmRvIHJlZG8gIik7Ci0KLXZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvdW5kb21hbmFnZXIvdW5kb21hbmFnZXIt
aXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Vk
aXRpbmcvdW5kb21hbmFnZXIvdW5kb21hbmFnZXItaXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAxMzY4MjQpCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL3Vu
ZG9tYW5hZ2VyLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSwxMCArMCwwIEBACi1UaGlzIHRlc3RzIHRoYXQgdW5kb01hbmFnZXIncyBjYWxsYmFjayBmdW5j
dGlvbnMgb25seSBydW4gaW4gdGhlIHJpZ2h0IHdvcmxkLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCi0KLQotUEFTUyB1bmRvTWFuYWdlcidzIGNhbGxiYWNrIHdhcyBub3QgaW52b2tlZCBp
biBpc29sYXRlZCB3b3JsZC4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL3VuZG9t
YW5hZ2VyLWlzb2xhdGVkLXdvcmxkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRp
dGluZy91bmRvbWFuYWdlci91bmRvbWFuYWdlci1pc29sYXRlZC13b3JsZC5odG1sCShyZXZpc2lv
biAxMzY4MjQpCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL3VuZG9tYW5hZ2Vy
LWlzb2xhdGVkLXdvcmxkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMzggKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPklzb2xhdGVkIHdvcmxkPC90aXRs
ZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0
PgotZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCB1bmRvTWFuYWdlcidzIGNhbGxiYWNrIGZ1
bmN0aW9ucyBvbmx5IHJ1biBpbiB0aGUgcmlnaHQgd29ybGQuIik7Ci0KLWlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewotICAgIGRvY3VtZW50LnVuZG9NYW5hZ2VyLnRyYW5zYWN0KHsKLSAgICAgICAg
ImV4ZWN1dGUiOiBmdW5jdGlvbigpIHsgfSwKLSAgICAgICAgInVuZG8iOiBmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsb2cnKS5pbm5lckhUTUwgPSAi
ZmFpbCI7Ci0gICAgICAgIH0sCi0gICAgICAgICJyZWRvIjogZnVuY3Rpb24oKSB7IH0KLSAgICB9
KTsKLQotICAgIHRlc3RSdW5uZXIuZXZhbHVhdGVTY3JpcHRJbklzb2xhdGVkV29ybGQoCi0gICAg
ICAgIDAsCi0gICAgICAgICJkb2N1bWVudC51bmRvTWFuYWdlci51bmRvKCk7ICIKLSAgICApOwot
Ci0gICAgdmFyIGxvZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsb2cnKTsKLSAgICBpZiAo
bG9nLmlubmVySFRNTCA9PSAiIikKLSAgICAgICAgdGVzdFBhc3NlZCgidW5kb01hbmFnZXIncyBj
YWxsYmFjayB3YXMgbm90IGludm9rZWQgaW4gaXNvbGF0ZWQgd29ybGQuIik7Ci0gICAgZWxzZQot
ICAgICAgICB0ZXN0RmFpbGVkKCJ1bmRvTWFuYWdlcidzIGNhbGxiYWNrIHdhcyBpbnZva2VkIGlu
IGlzb2xhdGVkIHdvcmxkLiIpOwotfSBlbHNlCi0gICAgdGVzdEZhaWxlZCgiVGhpcyB0ZXN0IHJl
cXVpcmVzIHRlc3RSdW5uZXIuIik7Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwot
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Vk
aXRpbmcvdW5kb21hbmFnZXIvdW5kb21hbmFnZXItaXRlbS1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvbWFuYWdlci91bmRvbWFuYWdlci1pdGVtLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMTM2ODI0KQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy91bmRv
bWFuYWdlci91bmRvbWFuYWdlci1pdGVtLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSwxMSArMCwwIEBACi1UaGlzIHRlc3RzIFVuZG9NYW5hZ2VyJ3MgaXRlbSgpIG1ldGhvZC4KLQot
UEFTUyB1bmRvTWFuYWdlciBoYXMgaXRlbSBwcm9wZXJ0eS4gCi1QQVNTIEFmdGVyIHR3byB0cmFu
c2FjdCBjYWxscyB0aGF0IGFyZSBtZXJnZWQgaW50byBvbmUsIGl0ZW0oMCkgcmV0dXJucyBhbiBh
cnJheSBvZiB0aGUgdHdvIHRyYW5zYWN0aW9ucyBpbiB0aGUgY29ycmVjdCBvcmRlci4gCi1QQVNT
IGl0ZW0oMSkgcmV0dXJucyBudWxsIGJlY2F1c2UgaXQncyBvdXQgb2YgcmFuZ2UuIAotUEFTUyBB
ZnRlciBhbiB1bmRvIGNhbGwsIGl0ZW0oMCkgc3RpbGxzIHJldHVybiBhbiBhcnJheSBvZiB0aGUg
dHdvIHRyYW5zYWN0aW9ucyBpbiB0aGUgY29ycmVjdCBvcmRlci4gCi1QQVNTIEFmdGVyIGEgcmVk
byBjYWxsLCB1bmRvTWFuYWdlcidzIHBvc2l0aW9uIGlzIGJhY2sgdG8gMC4gCi1QQVNTIEFmdGVy
IGV4ZWN1dGluZyBhbiBlZGl0aW5nIGNvbW1hbmQsIGl0ZW0oMCkgcmV0dXJucyBhbiBhcnJheSBv
ZiBhbiBvYmplY3Qgd2l0aCBsYWJlbCBwcm9wZXJ0eS4gCi1QQVNTIGl0ZW0oMSkgbm93IHJldHVy
bnMgYW4gYXJyYXkgb2YgdGhlIHR3byB0cmFuc2FjdGlvbnMuIAotUEFTUyBpdGVtKDEpIHJldHVy
bnMgYSBkaWZmZXJlbnQgb2JqZWN0IHRoYW4gaXRlbSgxKS4gCi0KSW5kZXg6IExheW91dFRlc3Rz
L2VkaXRpbmcvdW5kb21hbmFnZXIvdW5kb21hbmFnZXItaXRlbS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2VkaXRpbmcvdW5kb21hbmFnZXIvdW5kb21hbmFnZXItaXRlbS5odG1sCShy
ZXZpc2lvbiAxMzY4MjQpCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL3VuZG9t
YW5hZ2VyLWl0ZW0uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw3OCArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+dW5kb01hbmFnZXIuaXRlbSgpPC90aXRs
ZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLVRoaXMgdGVzdHMgVW5kb01hbmFnZXIncyBpdGVtKCkg
bWV0aG9kLgotCi08ZGl2IGlkPSJlZGl0IiBjb250ZW50RWRpdGFibGU+SGVsbG88L2Rpdj4KLQot
PHNjcmlwdD4KLXZhciB1bmRvTWFuYWdlciA9IGRvY3VtZW50LnVuZG9NYW5hZ2VyOwotCi10ZXN0
KGZ1bmN0aW9uKCkgewotICAgIGFzc2VydF9pZGxfYXR0cmlidXRlKHVuZG9NYW5hZ2VyLCAiaXRl
bSIpOwotfSwgInVuZG9NYW5hZ2VyIGhhcyBpdGVtIHByb3BlcnR5LiIpOwotCi12YXIgdHJhbnNh
Y3Rpb24gPSB7ImV4ZWN1dGVBdXRvbWF0aWMiOiBmdW5jdGlvbigpIHsgfX07Ci12YXIgdHJhbnNh
Y3Rpb24yID0geyJleGVjdXRlQXV0b21hdGljIjogZnVuY3Rpb24oKSB7IH19OwotCi10ZXN0KGZ1
bmN0aW9uKCkgewotICAgIHVuZG9NYW5hZ2VyLnRyYW5zYWN0KHRyYW5zYWN0aW9uKTsKLSAgICB1
bmRvTWFuYWdlci50cmFuc2FjdCh0cmFuc2FjdGlvbjIsIHRydWUpOwotICAgIAotICAgIHZhciBl
bnRyeSA9IHVuZG9NYW5hZ2VyLml0ZW0oMCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhlbnRyeS5sZW5n
dGgsIDIpOwotICAgIGFzc2VydF9lcXVhbHMoZW50cnlbMF0sIHRyYW5zYWN0aW9uKTsKLSAgICBh
c3NlcnRfZXF1YWxzKGVudHJ5WzFdLCB0cmFuc2FjdGlvbjIpOwotfSwgIkFmdGVyIHR3byB0cmFu
c2FjdCBjYWxscyB0aGF0IGFyZSBtZXJnZWQgaW50byBvbmUsIGl0ZW0oMCkgcmV0dXJucyBhbiBh
cnJheSBvZiAiCi0gICAgKyAidGhlIHR3byB0cmFuc2FjdGlvbnMgaW4gdGhlIGNvcnJlY3Qgb3Jk
ZXIuIik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIGVudHJ5ID0gdW5kb01hbmFnZXIu
aXRlbSgxKTsKLSAgICBhc3NlcnRfZXF1YWxzKGVudHJ5LCBudWxsKTsKLX0sICJpdGVtKDEpIHJl
dHVybnMgbnVsbCBiZWNhdXNlIGl0J3Mgb3V0IG9mIHJhbmdlLiIpOwotCi10ZXN0KGZ1bmN0aW9u
KCkgewotICAgIHVuZG9NYW5hZ2VyLnVuZG8oKTsKLQotICAgIHZhciBlbnRyeSA9IHVuZG9NYW5h
Z2VyLml0ZW0oMCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhlbnRyeS5sZW5ndGgsIDIpOwotICAgIGFz
c2VydF9lcXVhbHMoZW50cnlbMF0sIHRyYW5zYWN0aW9uKTsKLSAgICBhc3NlcnRfZXF1YWxzKGVu
dHJ5WzFdLCB0cmFuc2FjdGlvbjIpOwotfSwgIkFmdGVyIGFuIHVuZG8gY2FsbCwgaXRlbSgwKSBz
dGlsbHMgcmV0dXJuIGFuIGFycmF5IG9mIHRoZSB0d28gdHJhbnNhY3Rpb25zIGluIHRoZSBjb3Jy
ZWN0IG9yZGVyLiIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHVuZG9NYW5hZ2VyLnJlZG8o
KTsKLSAgICBhc3NlcnRfZXF1YWxzKHVuZG9NYW5hZ2VyLnBvc2l0aW9uLCAwKTsKLX0sICJBZnRl
ciBhIHJlZG8gY2FsbCwgdW5kb01hbmFnZXIncyBwb3NpdGlvbiBpcyBiYWNrIHRvIDAuIik7Ci0K
LXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2Uo
KTsKLSAgICByYW5nZS5zZWxlY3ROb2RlQ29udGVudHMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVkaXQiKSk7Ci0gICAgd2luZG93LmdldFNlbGVjdGlvbigpLmFkZFJhbmdlKHJhbmdlKTsKLSAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQm9sZCIpOwotICAgIAotICAgIHZhciBlbnRyeSA9IHVu
ZG9NYW5hZ2VyLml0ZW0oMCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhlbnRyeS5sZW5ndGgsIDEpOwot
ICAgIGFzc2VydF9vd25fcHJvcGVydHkoZW50cnlbMF0sICJsYWJlbCIpOwotfSwgIkFmdGVyIGV4
ZWN1dGluZyBhbiBlZGl0aW5nIGNvbW1hbmQsIGl0ZW0oMCkgcmV0dXJucyBhbiBhcnJheSBvZiBh
biBvYmplY3Qgd2l0aCBsYWJlbCBwcm9wZXJ0eS4iKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAg
ICB2YXIgZW50cnkgPSB1bmRvTWFuYWdlci5pdGVtKDEpOwotICAgIGFzc2VydF9lcXVhbHMoZW50
cnkubGVuZ3RoLCAyKTsKLSAgICBhc3NlcnRfZXF1YWxzKGVudHJ5WzBdLCB0cmFuc2FjdGlvbik7
Ci0gICAgYXNzZXJ0X2VxdWFscyhlbnRyeVsxXSwgdHJhbnNhY3Rpb24yKTsKLX0sICJpdGVtKDEp
IG5vdyByZXR1cm5zIGFuIGFycmF5IG9mIHRoZSB0d28gdHJhbnNhY3Rpb25zLiIpOwotCi10ZXN0
KGZ1bmN0aW9uKCkgewotICAgIGFzc2VydF9ub3RfZXF1YWxzKHVuZG9NYW5hZ2VyLml0ZW0oMSks
IHVuZG9NYW5hZ2VyLml0ZW0oMSkpOwotfSwgIml0ZW0oMSkgcmV0dXJucyBhIGRpZmZlcmVudCBv
YmplY3QgdGhhbiBpdGVtKDEpLiIpOwotCi1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZWRpdCIp
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2VkaXRpbmcvdW5kb21hbmFnZXIvdW5kb21hbmFnZXItcmVlbnRlci1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvbWFuYWdl
ci91bmRvbWFuYWdlci1yZWVudGVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTM2ODI0KQorKysg
TGF5b3V0VGVzdHMvZWRpdGluZy91bmRvbWFuYWdlci91bmRvbWFuYWdlci1yZWVudGVyLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxNSArMCwwIEBACi1FbnN1cmUgdGhhdCB1bmRv
TWFuYWdlciB0aHJvd3MgYW4gZXhjZXB0aW9uIHdoZW4gd2UgcmUtZW50ZXIgaXQgYnkgY2FsbGlu
ZyB1bmRvTWFuYWdlciBmdW5jdGlvbnMgZHVyaW5nIGNhbGxiYWNrcy4KLQotT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgotCi0KLWNhbGwgdW5kb01hbmFnZXIudHJhbnNhY3QoKSBkdXJpbmcgdGhl
IGV4ZWN1dGUgY2FsbGJhY2sKLVBBU1MgdW5kb01hbmFnZXIudHJhbnNhY3QodHJhbnNhY3Rpb24p
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZEFjY2Vzc0Vycm9yOiBET00gRXhjZXB0aW9u
IDE1LgotY2FsbCB1bmRvTWFuYWdlci51bmRvKCkgZHVyaW5nIHRoZSB1bmRvIGNhbGxiYWNrCi1Q
QVNTIHVuZG9NYW5hZ2VyLnVuZG8oKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRBY2Nl
c3NFcnJvcjogRE9NIEV4Y2VwdGlvbiAxNS4KLWNhbGwgdW5kb01hbmFnZXIuY2xlYXJSZWRvKCkg
ZHVyaW5nIHRoZSByZWRvIGNhbGxiYWNrCi1QQVNTIHVuZG9NYW5hZ2VyLnJlZG8oKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IEludmFsaWRBY2Nlc3NFcnJvcjogRE9NIEV4Y2VwdGlvbiAxNS4KLVBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBM
YXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL3VuZG9tYW5hZ2VyLXJlZW50ZXIuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL3VuZG9tYW5hZ2Vy
LXJlZW50ZXIuaHRtbAkocmV2aXNpb24gMTM2ODI0KQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy91
bmRvbWFuYWdlci91bmRvbWFuYWdlci1yZWVudGVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEs
NDIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVh
ZD4KLTxib2R5PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCJFbnN1cmUgdGhhdCB1bmRvTWFuYWdl
ciB0aHJvd3MgYW4gZXhjZXB0aW9uIHdoZW4gd2UgcmUtZW50ZXIgaXQgYnkgY2FsbGluZyAiCi0g
ICAgKyAidW5kb01hbmFnZXIgZnVuY3Rpb25zIGR1cmluZyBjYWxsYmFja3MuIik7Ci0KLXZhciB1
bmRvTWFuYWdlciA9IGRvY3VtZW50LnVuZG9NYW5hZ2VyOwotCi12YXIgdHJhbnNhY3Rpb24gPSB7
Ci0gICAgImV4ZWN1dGUiOiBmdW5jdGlvbigpIHsKLSAgICAgICAgdW5kb01hbmFnZXIudHJhbnNh
Y3QoewotICAgICAgICAgICAgImV4ZWN1dGUiOiBmdW5jdGlvbigpIHsgfSwKLSAgICAgICAgICAg
ICJ1bmRvIjogZnVuY3Rpb24oKSB7IH0sCi0gICAgICAgICAgICAicmVkbyI6IGZ1bmN0aW9uKCkg
eyB9Ci0gICAgICAgIH0pOwotICAgIH0sCi0gICAgInVuZG8iOiBmdW5jdGlvbigpIHsKLSAgICAg
ICAgdW5kb01hbmFnZXIudW5kbygpOwotICAgIH0sCi0gICAgInJlZG8iOiBmdW5jdGlvbigpIHsK
LSAgICAgICAgdW5kb01hbmFnZXIuY2xlYXJSZWRvKCk7Ci0gICAgfQotfTsKLQotZGVidWcoImNh
bGwgdW5kb01hbmFnZXIudHJhbnNhY3QoKSBkdXJpbmcgdGhlIGV4ZWN1dGUgY2FsbGJhY2siKTsK
LXNob3VsZFRocm93KCJ1bmRvTWFuYWdlci50cmFuc2FjdCh0cmFuc2FjdGlvbikiLCAiJ0Vycm9y
OiBJbnZhbGlkQWNjZXNzRXJyb3I6IERPTSBFeGNlcHRpb24gMTUnIik7Ci0KLWRlYnVnKCJjYWxs
IHVuZG9NYW5hZ2VyLnVuZG8oKSBkdXJpbmcgdGhlIHVuZG8gY2FsbGJhY2siKTsKLXNob3VsZFRo
cm93KCJ1bmRvTWFuYWdlci51bmRvKCkiLCAiJ0Vycm9yOiBJbnZhbGlkQWNjZXNzRXJyb3I6IERP
TSBFeGNlcHRpb24gMTUnIik7Ci0KLWRlYnVnKCJjYWxsIHVuZG9NYW5hZ2VyLmNsZWFyUmVkbygp
IGR1cmluZyB0aGUgcmVkbyBjYWxsYmFjayIpOwotc2hvdWxkVGhyb3coInVuZG9NYW5hZ2VyLnJl
ZG8oKSIsICInRXJyb3I6IEludmFsaWRBY2Nlc3NFcnJvcjogRE9NIEV4Y2VwdGlvbiAxNSciKTsK
LQotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvbWFuYWdlci91bmRv
bWFuYWdlci10cmFuc2FjdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZWRpdGluZy91bmRvbWFuYWdlci91bmRvbWFuYWdlci10cmFuc2FjdC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDEzNjgyNCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvdW5kb21hbmFnZXIvdW5kb21h
bmFnZXItdHJhbnNhY3QtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE3ICswLDAg
QEAKLVRoaXMgdGVzdHMgVW5kb01hbmFnZXIncyB0cmFuc2FjdCgpIG1ldGhvZC4KLQotUEFTUyB1
bmRvTWFuYWdlciBoYXMgcHJvcGVydHkgdHJhbnNhY3QuIAotUEFTUyBBZnRlciBhIHRyYW5zYWN0
IGNhbGwsIHVuZG9NYW5hZ2VyIGFwcGxpZXMgdGhlIHRyYW5zYWN0aW9uLiAKLVBBU1MgQWZ0ZXIg
YW5vdGhlciB0cmFuc2FjdCBjYWxsLCB1bmRvTWFuYWdlciBhcHBsaWVzIHRoZSBzZWNvbmQgdHJh
bnNhY3Rpb24uIAotUEFTUyBBZnRlciBhbiB1bmRvIGNhbGwsIHVuZG9NYW5hZ2VyIHVuYXBwbGll
cyB0aGUgc2Vjb25kIHRyYW5zYWN0aW9uLiAKLVBBU1MgQWZ0ZXIgYW5vdGhlciB1bmRvIGNhbGws
IHVuZG9NYW5hZ2VyIHVuYXBwbGllcyB0aGUgZmlyc3QgdHJhbnNhY3Rpb24uIAotUEFTUyBBZnRl
ciBhIHJlZG8gY2FsbCwgdW5kb01hbmFnZXIgcmVhcHBsaWVzIHRoZSBmaXJzdCB0cmFuc2FjdGlv
bi4gCi1QQVNTIEFmdGVyIGFub3RoZXIgcmVkbyBjYWxsLCB1bmRvTWFuYWdlciByZWFwcGxpZXMg
dGhlIHNlY29uZCB0cmFuc2FjdGlvbi4gCi1QQVNTIEFmdGVyIHRocmVlIHRyYW5zYWN0IGNhbGxz
IHRoYXQgYXJlIG1lcmdlZCBpbnRvIG9uZSBlbnRyeSwgdW5kb01hbmFnZXIgYXBwbGllcyB0aGUg
dGhyZWUgdHJhbnNhY3Rpb25zLiAKLVBBU1MgQWZ0ZXIgYW4gdW5kbyBjYWxsLCB1bmRvTWFuYWdl
ciB1bmFwcGxpZXMgdGhlIHRocmVlIHRyYW5zYWN0aW9ucyBpbiB0aGUgY29ycmVjdCBvcmRlci4g
Ci1QQVNTIEFmdGVyIGEgcmVkbyBjYWxsLCB1bmRvTWFuYWdlciByZWFwcGxpZXMgdGhlIHRocmVl
IHRyYW5zYWN0aW9ucyBpbiB0aGUgY29ycmVjdCBvcmRlci4gCi1QQVNTIEFmdGVyIGFuIHVuZG8g
Y2FsbCwgdW5kb01hbmFnZXIgdW5hcHBsaWVzIHRoZSB0aHJlZSB0cmFuc2FjdGlvbnMgaW4gdGhl
IGNvcnJlY3Qgb3JkZXIuIAotUEFTUyBUaGUgfHRoaXN8IHZhbHVlIGR1cmluZyB0aGUgZXhlY3V0
ZSBjYWxsYmFjayBpcyB0aGUgdW5kb01hbmFnZXIuIAotUEFTUyBUaGUgfHRoaXN8IHZhbHVlIGR1
cmluZyB0aGUgdW5kbyBjYWxsYmFjayBpcyB0aGUgdW5kb01hbmFnZXIuIAotUEFTUyBUaGUgfHRo
aXN8IHZhbHVlIGR1cmluZyB0aGUgcmVkbyBjYWxsYmFjayBpcyB0aGUgdW5kb01hbmFnZXIuIAot
CkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL3VuZG9tYW5hZ2VyLXRyYW5z
YWN0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvbWFuYWdlci91
bmRvbWFuYWdlci10cmFuc2FjdC5odG1sCShyZXZpc2lvbiAxMzY4MjQpCisrKyBMYXlvdXRUZXN0
cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL3VuZG9tYW5hZ2VyLXRyYW5zYWN0Lmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMTIyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LTx0aXRsZT5VbmRvTWFuYWdlci50cmFuc2FjdCgpPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLVRoaXMgdGVzdHMgVW5kb01hbmFnZXIncyB0cmFuc2FjdCgpIG1ldGhvZC4KLQotPGRpdiBp
ZD0iZWRpdCIgY29udGVudEVkaXRhYmxlPSJ0cnVlIj48L2Rpdj4KLTxzY3JpcHQ+Ci12YXIgdW5k
b01hbmFnZXIgPSBkb2N1bWVudC51bmRvTWFuYWdlcjsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAg
ICBhc3NlcnRfaWRsX2F0dHJpYnV0ZSh1bmRvTWFuYWdlciwgInRyYW5zYWN0Iik7Ci19LCAidW5k
b01hbmFnZXIgaGFzIHByb3BlcnR5IHRyYW5zYWN0LiIpOwotCi12YXIgZWRpdCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlZGl0Iik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdW5kb01h
bmFnZXIudHJhbnNhY3QoewotICAgICAgICAiZXhlY3V0ZSI6IGZ1bmN0aW9uKCkgeyBlZGl0Lmlu
bmVySFRNTCArPSAiMWUgIjsgfSwKLSAgICAgICAgInVuZG8iOiBmdW5jdGlvbigpIHsgZWRpdC5p
bm5lckhUTUwgKz0gIjF1ICI7IH0sCi0gICAgICAgICJyZWRvIjogZnVuY3Rpb24oKSB7IGVkaXQu
aW5uZXJIVE1MICs9ICIxciAiOyB9Ci0gICAgfSwgZmFsc2UpOwotICAgIGFzc2VydF90cnVlKGVk
aXQuaW5uZXJIVE1MID09ICIxZSAiKTsKLX0sICJBZnRlciBhIHRyYW5zYWN0IGNhbGwsIHVuZG9N
YW5hZ2VyIGFwcGxpZXMgdGhlIHRyYW5zYWN0aW9uLiIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewot
ICAgIHVuZG9NYW5hZ2VyLnRyYW5zYWN0KHsKLSAgICAgICAgImV4ZWN1dGUiOiBmdW5jdGlvbigp
IHsgZWRpdC5pbm5lckhUTUwgKz0gIjJlICI7IH0sCi0gICAgICAgICJ1bmRvIjogZnVuY3Rpb24o
KSB7IGVkaXQuaW5uZXJIVE1MICs9ICIydSAiOyB9LAotICAgICAgICAicmVkbyI6IGZ1bmN0aW9u
KCkgeyBlZGl0LmlubmVySFRNTCArPSAiMnIgIjsgfQotICAgIH0sIGZhbHNlKTsKLSAgICBhc3Nl
cnRfdHJ1ZShlZGl0LmlubmVySFRNTCA9PSAiMWUgMmUgIik7Ci19LCAiQWZ0ZXIgYW5vdGhlciB0
cmFuc2FjdCBjYWxsLCB1bmRvTWFuYWdlciBhcHBsaWVzIHRoZSBzZWNvbmQgdHJhbnNhY3Rpb24u
Iik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdW5kb01hbmFnZXIudW5kbygpOwotICAgIGFz
c2VydF90cnVlKGVkaXQuaW5uZXJIVE1MID09ICIxZSAyZSAydSAiKTsKLX0sICJBZnRlciBhbiB1
bmRvIGNhbGwsIHVuZG9NYW5hZ2VyIHVuYXBwbGllcyB0aGUgc2Vjb25kIHRyYW5zYWN0aW9uLiIp
OwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHVuZG9NYW5hZ2VyLnVuZG8oKTsKLSAgICBhc3Nl
cnRfdHJ1ZShlZGl0LmlubmVySFRNTCA9PSAiMWUgMmUgMnUgMXUgIik7Ci19LCAiQWZ0ZXIgYW5v
dGhlciB1bmRvIGNhbGwsIHVuZG9NYW5hZ2VyIHVuYXBwbGllcyB0aGUgZmlyc3QgdHJhbnNhY3Rp
b24uIik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdW5kb01hbmFnZXIucmVkbygpOwotICAg
IGFzc2VydF90cnVlKGVkaXQuaW5uZXJIVE1MID09ICIxZSAyZSAydSAxdSAxciAiKTsKLX0sICJB
ZnRlciBhIHJlZG8gY2FsbCwgdW5kb01hbmFnZXIgcmVhcHBsaWVzIHRoZSBmaXJzdCB0cmFuc2Fj
dGlvbi4iKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgICB1bmRvTWFuYWdlci5yZWRvKCk7Ci0g
ICAgYXNzZXJ0X3RydWUoZWRpdC5pbm5lckhUTUwgPT0gIjFlIDJlIDJ1IDF1IDFyIDJyICIpOwot
fSwgIkFmdGVyIGFub3RoZXIgcmVkbyBjYWxsLCB1bmRvTWFuYWdlciByZWFwcGxpZXMgdGhlIHNl
Y29uZCB0cmFuc2FjdGlvbi4iKTsKLQotZWRpdC5pbm5lckhUTUwgPSAiIjsKLQotdGVzdChmdW5j
dGlvbigpIHsKLSAgICB1bmRvTWFuYWdlci50cmFuc2FjdCh7Ci0gICAgICAgICJleGVjdXRlIjog
ZnVuY3Rpb24oKSB7IGVkaXQuaW5uZXJIVE1MICs9ICIxZSAiOyB9LAotICAgICAgICAidW5kbyI6
IGZ1bmN0aW9uKCkgeyBlZGl0LmlubmVySFRNTCArPSAiMXUgIjsgfSwKLSAgICAgICAgInJlZG8i
OiBmdW5jdGlvbigpIHsgZWRpdC5pbm5lckhUTUwgKz0gIjFyICI7IH0KLSAgICB9LCBmYWxzZSk7
Ci0gICAgdW5kb01hbmFnZXIudHJhbnNhY3QoewotICAgICAgICAiZXhlY3V0ZSI6IGZ1bmN0aW9u
KCkgeyBlZGl0LmlubmVySFRNTCArPSAiMmUgIjsgfSwKLSAgICAgICAgInVuZG8iOiBmdW5jdGlv
bigpIHsgZWRpdC5pbm5lckhUTUwgKz0gIjJ1ICI7IH0sCi0gICAgICAgICJyZWRvIjogZnVuY3Rp
b24oKSB7IGVkaXQuaW5uZXJIVE1MICs9ICIyciAiOyB9Ci0gICAgfSwgdHJ1ZSk7Ci0gICAgdW5k
b01hbmFnZXIudHJhbnNhY3QoewotICAgICAgICAiZXhlY3V0ZSI6IGZ1bmN0aW9uKCkgeyBlZGl0
LmlubmVySFRNTCArPSAiM2UgIjsgfSwKLSAgICAgICAgInVuZG8iOiBmdW5jdGlvbigpIHsgZWRp
dC5pbm5lckhUTUwgKz0gIjN1ICI7IH0sCi0gICAgICAgICJyZWRvIjogZnVuY3Rpb24oKSB7IGVk
aXQuaW5uZXJIVE1MICs9ICIzciAiOyB9Ci0gICAgfSwgdHJ1ZSk7Ci0gICAgYXNzZXJ0X3RydWUo
ZWRpdC5pbm5lckhUTUwgPT0gIjFlIDJlIDNlICIpOwotfSwgIkFmdGVyIHRocmVlIHRyYW5zYWN0
IGNhbGxzIHRoYXQgYXJlIG1lcmdlZCBpbnRvIG9uZSBlbnRyeSwgdW5kb01hbmFnZXIgYXBwbGll
cyB0aGUgdGhyZWUgdHJhbnNhY3Rpb25zLiIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHVu
ZG9NYW5hZ2VyLnVuZG8oKTsKLSAgICBhc3NlcnRfdHJ1ZShlZGl0LmlubmVySFRNTCA9PSAiMWUg
MmUgM2UgM3UgMnUgMXUgIik7Ci19LCAiQWZ0ZXIgYW4gdW5kbyBjYWxsLCB1bmRvTWFuYWdlciB1
bmFwcGxpZXMgdGhlIHRocmVlIHRyYW5zYWN0aW9ucyBpbiB0aGUgY29ycmVjdCBvcmRlci4iKTsK
LQotdGVzdChmdW5jdGlvbigpIHsKLSAgICB1bmRvTWFuYWdlci5yZWRvKCk7Ci0gICAgYXNzZXJ0
X3RydWUoZWRpdC5pbm5lckhUTUwgPT0gIjFlIDJlIDNlIDN1IDJ1IDF1IDFyIDJyIDNyICIpOwot
fSwgIkFmdGVyIGEgcmVkbyBjYWxsLCB1bmRvTWFuYWdlciByZWFwcGxpZXMgdGhlIHRocmVlIHRy
YW5zYWN0aW9ucyBpbiB0aGUgY29ycmVjdCBvcmRlci4iKTsKLQotdGVzdChmdW5jdGlvbigpIHsK
LSAgICB1bmRvTWFuYWdlci51bmRvKCk7Ci0gICAgYXNzZXJ0X3RydWUoZWRpdC5pbm5lckhUTUwg
PT0gIjFlIDJlIDNlIDN1IDJ1IDF1IDFyIDJyIDNyIDN1IDJ1IDF1ICIpOwotfSwgIkFmdGVyIGFu
IHVuZG8gY2FsbCwgdW5kb01hbmFnZXIgdW5hcHBsaWVzIHRoZSB0aHJlZSB0cmFuc2FjdGlvbnMg
aW4gdGhlIGNvcnJlY3Qgb3JkZXIuIik7Ci0KLXZhciB0aGlzVmFsdWU7Ci0KLXRlc3QoZnVuY3Rp
b24oKSB7Ci0gICAgdGhpc1ZhbHVlID0gbnVsbDsKLSAgICB1bmRvTWFuYWdlci50cmFuc2FjdCh7
Ci0gICAgICAgICJleGVjdXRlIjogZnVuY3Rpb24oKSB7IHRoaXNWYWx1ZSA9IHRoaXM7IH0sCi0g
ICAgICAgICJ1bmRvIjogZnVuY3Rpb24oKSB7IHRoaXNWYWx1ZSA9IHRoaXM7IH0sCi0gICAgICAg
ICJyZWRvIjogZnVuY3Rpb24oKSB7IHRoaXNWYWx1ZSA9IHRoaXM7IH0KLSAgICB9LCBmYWxzZSk7
Ci0gICAgYXNzZXJ0X2VxdWFscyh0aGlzVmFsdWUsIHVuZG9NYW5hZ2VyKTsKLX0sICJUaGUgfHRo
aXN8IHZhbHVlIGR1cmluZyB0aGUgZXhlY3V0ZSBjYWxsYmFjayBpcyB0aGUgdW5kb01hbmFnZXIu
Iik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdGhpc1ZhbHVlID0gbnVsbDsKLSAgICB1bmRv
TWFuYWdlci51bmRvKCk7Ci0gICAgYXNzZXJ0X2VxdWFscyh0aGlzVmFsdWUsIHVuZG9NYW5hZ2Vy
KTsKLX0sICJUaGUgfHRoaXN8IHZhbHVlIGR1cmluZyB0aGUgdW5kbyBjYWxsYmFjayBpcyB0aGUg
dW5kb01hbmFnZXIuIik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdGhpc1ZhbHVlID0gbnVs
bDsKLSAgICB1bmRvTWFuYWdlci5yZWRvKCk7Ci0gICAgYXNzZXJ0X2VxdWFscyh0aGlzVmFsdWUs
IHVuZG9NYW5hZ2VyKTsKLX0sICJUaGUgfHRoaXN8IHZhbHVlIGR1cmluZyB0aGUgcmVkbyBjYWxs
YmFjayBpcyB0aGUgdW5kb01hbmFnZXIuIik7Ci0KLWVkaXQuc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGlu
Zy91bmRvbWFuYWdlci91bmRvbWFuYWdlci11bmRvLXJlZG8tZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvdW5kb21hbmFnZXIvdW5kb21hbmFnZXItdW5kby1y
ZWRvLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTM2ODI0KQorKysgTGF5b3V0VGVzdHMvZWRpdGlu
Zy91bmRvbWFuYWdlci91bmRvbWFuYWdlci11bmRvLXJlZG8tZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xLDExICswLDAgQEAKLVRoaXMgdGVzdHMgVW5kb01hbmFnZXIncyB1bmRvKCks
IHJlZG8oKSwgbGVuZ3RoLCBhbmQgcG9zaXRpb24uCi0KLVBBU1MgdW5kb01hbmFnZXIgaGFzIHBy
b3BlcnRpZXMgdW5kbywgcmVkbywgbGVuZ3RoLCBhbmQgcG9zaXRpb24uIAotUEFTUyB1bmRvTWFu
YWdlciBoYXMgY29ycmVjdCBpbml0aWFsIHZhbHVlcyBmb3IgbGVuZ3RoICgwKSBhbmQgcG9zaXRp
b24gKDApLiAKLVBBU1MgQWZ0ZXIgaW5zZXJ0aW5nIHRleHQgJ3Rlc3QnIGluIGEgRElWLCB1bmRv
TWFuYWdlcidzIGxlbmd0aCBpcyAxIGFuZCBwb3NpdGlvbiBpcyAwLiAKLVBBU1MgQWZ0ZXIgYm9s
ZGluZyB0aGUgdGV4dCwgdW5kb01hbmFnZXIncyBsZW5ndGggaXMgMiBhbmQgcG9zaXRpb24gaXMg
MCwgYW5kIHRoZSByZXN1bHQgaXMgYSBib2xkICd0ZXN0Jy4gCi1QQVNTIEFmdGVyIHVuZG9pbmcs
IHVuZG9NYW5hZ2VyJ3MgbGVuZ3RoIGlzIDIgYW5kIHBvc2l0aW9uIGlzIDEsIGFuZCB0aGUgcmVz
dWx0IGlzIGEgcGxhaW4gJ3Rlc3QnLiAKLVBBU1MgQWZ0ZXIgdW5kb2luZywgdW5kb01hbmFnZXIn
cyBsZW5ndGggaXMgMiBhbmQgcG9zaXRpb24gaXMgMiwgYW5kIHRoZSByZXN1bHQgaXMgZW1wdHku
IAotUEFTUyBBZnRlciByZWRvaW5nLCB1bmRvTWFuYWdlcidzIGxlbmd0aCBpcyAyIGFuZCBwb3Np
dGlvbiBpcyAxLCBhbmQgdGhlIHJlc3VsdCBpcyBhIHBsYWluICd0ZXN0Jy4gCi1QQVNTIEFmdGVy
IHJlZG9pbmcsIHVuZG9NYW5hZ2VyJ3MgbGVuZ3RoIGlzIDIgYW5kIHBvc2l0aW9uIGlzIDAsIGFu
ZCB0aGUgcmVzdWx0IGlzIGEgYm9sZCAndGVzdCcuIAotCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0
aW5nL3VuZG9tYW5hZ2VyL3VuZG9tYW5hZ2VyLXVuZG8tcmVkby5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2VkaXRpbmcvdW5kb21hbmFnZXIvdW5kb21hbmFnZXItdW5kby1yZWRvLmh0
bWwJKHJldmlzaW9uIDEzNjgyNCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvdW5kb21hbmFnZXIv
dW5kb21hbmFnZXItdW5kby1yZWRvLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsODIgKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHRpdGxlPlVuZG9NYW5hZ2VyIGhh
cyB1bmRvKCkgYW5kIHJlZG8oKSB0aGF0IHdvcms8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotVGhpcyB0ZXN0cyBVbmRvTWFuYWdlcidzIHVuZG8oKSwgcmVkbygpLCBsZW5ndGgsIGFuZCBw
b3NpdGlvbi4KLQotPGRpdiBpZD0iZWRpdCIgY29udGVudEVkaXRhYmxlPSJ0cnVlIj48L2Rpdj4K
LTxzY3JpcHQ+Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgYXNzZXJ0X2lkbF9hdHRyaWJ1dGUo
ZG9jdW1lbnQudW5kb01hbmFnZXIsICJ1bmRvIik7Ci0gICAgYXNzZXJ0X2lkbF9hdHRyaWJ1dGUo
ZG9jdW1lbnQudW5kb01hbmFnZXIsICJyZWRvIik7Ci0gICAgYXNzZXJ0X293bl9wcm9wZXJ0eShk
b2N1bWVudC51bmRvTWFuYWdlciwgImxlbmd0aCIpOwotICAgIGFzc2VydF9vd25fcHJvcGVydHko
ZG9jdW1lbnQudW5kb01hbmFnZXIsICJwb3NpdGlvbiIpOwotfSwgInVuZG9NYW5hZ2VyIGhhcyBw
cm9wZXJ0aWVzIHVuZG8sIHJlZG8sIGxlbmd0aCwgYW5kIHBvc2l0aW9uLiIpOwotCi10ZXN0KGZ1
bmN0aW9uKCkgewotICAgIGFzc2VydF90cnVlKGRvY3VtZW50LnVuZG9NYW5hZ2VyLmxlbmd0aCA9
PSAwKTsKLSAgICBhc3NlcnRfdHJ1ZShkb2N1bWVudC51bmRvTWFuYWdlci5wb3NpdGlvbiA9PSAw
KTsKLX0sICJ1bmRvTWFuYWdlciBoYXMgY29ycmVjdCBpbml0aWFsIHZhbHVlcyBmb3IgbGVuZ3Ro
ICgwKSBhbmQgcG9zaXRpb24gKDApLiIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHZhciBl
ZGl0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVkaXQiKTsKLSAgICB3aW5kb3cuZ2V0U2Vs
ZWN0aW9uKCkuc2V0UG9zaXRpb24oZWRpdCwgMCk7Ci0gICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
Ikluc2VydEhUTUwiLCBmYWxzZSwgInRlc3QiKTsKLSAgICAKLSAgICBhc3NlcnRfdHJ1ZShkb2N1
bWVudC51bmRvTWFuYWdlci5sZW5ndGggPT0gMSk7Ci0gICAgYXNzZXJ0X3RydWUoZG9jdW1lbnQu
dW5kb01hbmFnZXIucG9zaXRpb24gPT0gMCk7Ci19LCAiQWZ0ZXIgaW5zZXJ0aW5nIHRleHQgJ3Rl
c3QnIGluIGEgRElWLCB1bmRvTWFuYWdlcidzIGxlbmd0aCBpcyAxIGFuZCBwb3NpdGlvbiBpcyAw
LiIpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHZhciByYW5nZSA9IGRvY3VtZW50LmNyZWF0
ZVJhbmdlKCk7Ci0gICAgcmFuZ2Uuc2VsZWN0Tm9kZUNvbnRlbnRzKGVkaXQpOwotICAgIHdpbmRv
dy5nZXRTZWxlY3Rpb24oKS5hZGRSYW5nZShyYW5nZSk7Ci0gICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkJvbGQiLCBmYWxzZSwgbnVsbCk7Ci0gICAgCi0gICAgYXNzZXJ0X3RydWUoZG9jdW1lbnQu
dW5kb01hbmFnZXIubGVuZ3RoID09IDIpOwotICAgIGFzc2VydF90cnVlKGRvY3VtZW50LnVuZG9N
YW5hZ2VyLnBvc2l0aW9uID09IDApOwotICAgIGFzc2VydF90cnVlKGVkaXQuaW5uZXJIVE1MID09
ICI8Yj50ZXN0PC9iPiIpOwotfSwgIkFmdGVyIGJvbGRpbmcgdGhlIHRleHQsIHVuZG9NYW5hZ2Vy
J3MgbGVuZ3RoIGlzIDIgYW5kIHBvc2l0aW9uIGlzIDAsIGFuZCB0aGUgcmVzdWx0IGlzIGEgYm9s
ZCAndGVzdCcuIik7Ci0gICAgCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIGRvY3VtZW50LnVuZG9N
YW5hZ2VyLnVuZG8oKTsKLSAgICAKLSAgICBhc3NlcnRfdHJ1ZShkb2N1bWVudC51bmRvTWFuYWdl
ci5sZW5ndGggPT0gMik7Ci0gICAgYXNzZXJ0X3RydWUoZG9jdW1lbnQudW5kb01hbmFnZXIucG9z
aXRpb24gPT0gMSk7Ci0gICAgYXNzZXJ0X3RydWUoZWRpdC5pbm5lckhUTUwgPT0gInRlc3QiKTsK
LX0sICJBZnRlciB1bmRvaW5nLCB1bmRvTWFuYWdlcidzIGxlbmd0aCBpcyAyIGFuZCBwb3NpdGlv
biBpcyAxLCBhbmQgdGhlIHJlc3VsdCBpcyBhIHBsYWluICd0ZXN0Jy4iKTsKLSAgICAKLXRlc3Qo
ZnVuY3Rpb24oKSB7Ci0gICAgZG9jdW1lbnQudW5kb01hbmFnZXIudW5kbygpOwotICAgIAotICAg
IGFzc2VydF90cnVlKGRvY3VtZW50LnVuZG9NYW5hZ2VyLmxlbmd0aCA9PSAyKTsKLSAgICBhc3Nl
cnRfdHJ1ZShkb2N1bWVudC51bmRvTWFuYWdlci5wb3NpdGlvbiA9PSAyKTsKLSAgICBhc3NlcnRf
dHJ1ZShlZGl0LmlubmVySFRNTCA9PSAiIik7Ci19LCAiQWZ0ZXIgdW5kb2luZywgdW5kb01hbmFn
ZXIncyBsZW5ndGggaXMgMiBhbmQgcG9zaXRpb24gaXMgMiwgYW5kIHRoZSByZXN1bHQgaXMgZW1w
dHkuIik7Ci0gICAgCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIGRvY3VtZW50LnVuZG9NYW5hZ2Vy
LnJlZG8oKTsKLSAgICAKLSAgICBhc3NlcnRfdHJ1ZShkb2N1bWVudC51bmRvTWFuYWdlci5sZW5n
dGggPT0gMik7Ci0gICAgYXNzZXJ0X3RydWUoZG9jdW1lbnQudW5kb01hbmFnZXIucG9zaXRpb24g
PT0gMSk7Ci0gICAgYXNzZXJ0X3RydWUoZWRpdC5pbm5lckhUTUwgPT0gInRlc3QiKTsKLX0sICJB
ZnRlciByZWRvaW5nLCB1bmRvTWFuYWdlcidzIGxlbmd0aCBpcyAyIGFuZCBwb3NpdGlvbiBpcyAx
LCBhbmQgdGhlIHJlc3VsdCBpcyBhIHBsYWluICd0ZXN0Jy4iKTsKLSAgICAKLXRlc3QoZnVuY3Rp
b24oKSB7Ci0gICAgZG9jdW1lbnQudW5kb01hbmFnZXIucmVkbygpOwotICAgIAotICAgIGFzc2Vy
dF90cnVlKGRvY3VtZW50LnVuZG9NYW5hZ2VyLmxlbmd0aCA9PSAyKTsKLSAgICBhc3NlcnRfdHJ1
ZShkb2N1bWVudC51bmRvTWFuYWdlci5wb3NpdGlvbiA9PSAwKTsKLSAgICBhc3NlcnRfdHJ1ZShl
ZGl0LmlubmVySFRNTCA9PSAiPGI+dGVzdDwvYj4iKTsKLX0sICJBZnRlciByZWRvaW5nLCB1bmRv
TWFuYWdlcidzIGxlbmd0aCBpcyAyIGFuZCBwb3NpdGlvbiBpcyAwLCBhbmQgdGhlIHJlc3VsdCBp
cyBhIGJvbGQgJ3Rlc3QnLiIpOwotCi1lZGl0LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7Ci0KLTwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy91bmRv
bWFuYWdlci91bmRvc2NvcGVob3N0LXVzZS1hZnRlci1mcmVlLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL3VuZG9zY29wZWhvc3QtdXNl
LWFmdGVyLWZyZWUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxMzY4MjQpCisrKyBMYXlvdXRUZXN0
cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL3VuZG9zY29wZWhvc3QtdXNlLWFmdGVyLWZyZWUtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDExICswLDAgQEAKLVRoaXMgdGVzdHMgdGhhdCB1
bmRvTWFuYWdlciBkb2Vzbid0IGhhdmUgdXNlLWFmdGVyLWZyZWUgdnVsbmVyYWJpbGl0aWVzIGFm
dGVyIGl0cyB1bmRvU2NvcGVIb3N0IGhhcyBiZWVuIHJlY2xhaW1lZCBieSBHQy4KLQotT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLWNhbGwgdHJhbnNhY3QoKSBhZnRlciB0aGUgdW5kb1Nj
b3BlSG9zdCBoYXMgYmVlbiByZWNsYWltZWQuCi1QQVNTIHVuZG9NYW5hZ2VyLnRyYW5zYWN0KHRy
YW5zYWN0aW9uKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRBY2Nlc3NFcnJvcjogRE9N
IEV4Y2VwdGlvbiAxNS4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBD
T01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG9tYW5hZ2VyL3VuZG9zY29w
ZWhvc3QtdXNlLWFmdGVyLWZyZWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3VuZG9tYW5hZ2VyL3VuZG9zY29wZWhvc3QtdXNlLWFmdGVyLWZyZWUuaHRtbAkocmV2aXNp
b24gMTM2ODI0KQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvbWFuYWdlci91bmRvc2NvcGVo
b3N0LXVzZS1hZnRlci1mcmVlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMzIgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5Pgot
PGlmcmFtZSBpZD0iZnJhbWUiPjwvaWZyYW1lPgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCJUaGlz
IHRlc3RzIHRoYXQgdW5kb01hbmFnZXIgZG9lc24ndCBoYXZlIHVzZS1hZnRlci1mcmVlIHZ1bG5l
cmFiaWxpdGllcyAiCi0gICAgKyAiYWZ0ZXIgaXRzIHVuZG9TY29wZUhvc3QgaGFzIGJlZW4gcmVj
bGFpbWVkIGJ5IEdDLiIpOwotCi12YXIgZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZnJhbWUiKTsKLXZhciB1bmRvTWFuYWdlciA9IGZyYW1lLmNvbnRlbnREb2N1bWVudC51bmRvTWFu
YWdlcjsKLQotZnJhbWUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChmcmFtZSk7Ci1mcmFtZSA9IG51
bGw7Ci1nYygpOwotCi12YXIgdHJhbnNhY3Rpb24gPSB7Ci0gICAgImV4ZWN1dGUiOiBmdW5jdGlv
bigpIHsgfSwKLSAgICAidW5kbyI6IGZ1bmN0aW9uKCkgeyB9LAotICAgICJyZWRvIjogZnVuY3Rp
b24oKSB7IH0KLX07Ci0KLWRlYnVnKCJjYWxsIHRyYW5zYWN0KCkgYWZ0ZXIgdGhlIHVuZG9TY29w
ZUhvc3QgaGFzIGJlZW4gcmVjbGFpbWVkLiIpOwotc2hvdWxkVGhyb3coInVuZG9NYW5hZ2VyLnRy
YW5zYWN0KHRyYW5zYWN0aW9uKSIsICInRXJyb3I6IEludmFsaWRBY2Nlc3NFcnJvcjogRE9NIEV4
Y2VwdGlvbiAxNSciKTsKLQotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAxMzY4MjQpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTM1LDkgKzExMzUsNiBAQCB3ZWJraXQub3JnL2IvNjYyNjggWyBMaW51eCBXaW4gXSBl
ZGl0aW5nCiB3ZWJraXQub3JnL2IvNjcxMjEgWyBEZWJ1ZyBdIGVkaXRpbmcvc2VsZWN0aW9uL21v
dmUtYnktd29yZC12aXN1YWxseS1tdWx0aS1zcGFjZS5odG1sIFsgUGFzcyBTbG93IF0KIHdlYmtp
dC5vcmcvYi82NzEyMSBbIEFuZHJvaWQgUmVsZWFzZSBdIGVkaXRpbmcvc2VsZWN0aW9uL21vdmUt
Ynktd29yZC12aXN1YWxseS1tdWx0aS1zcGFjZS5odG1sIFsgUGFzcyBTbG93IF0KIAotIyBVbmRv
TWFuYWdlciBpcyBub3QgeWV0IGVuYWJsZWQuCi13ZWJraXQub3JnL2IvODc5MDggZWRpdGluZy91
bmRvbWFuYWdlcgotCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIFNlY3VyaXR5IHRlc3RzCiAjIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24g
MTM2ODI0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMJKHdv
cmtpbmcgY29weSkKQEAgLTU4Niw5ICs1ODYsNiBAQCBCdWcoRUZMKSBmYXN0L2Zvcm1zL3RleHRh
cmVhL3RleHRhcmVhLXBsCiAjIEltcGxlbWVudGluZyBjb3B5e0VuLERlfWNvZGVkSG9zdE5hbWUg
b25seSB0byB0ZXN0IHRoZW0gZG9lcyBub3QgbWFrZSBzZW5zZQogd2Via2l0Lm9yZy9iLzg2MDgw
IGZhc3QvZW5jb2RpbmcvaWRuLXNlY3VyaXR5Lmh0bWwgWyBTa2lwIF0KIAotIyBVbmRvTWFuYWdl
ciBpcyBub3QgeWV0IGVuYWJsZWQuCi13ZWJraXQub3JnL2IvODc5MDggZWRpdGluZy91bmRvbWFu
YWdlcgotCiAjIERpc2FibGUgd2ViYXVkaW8gY29kZWMgdGVzdHMsIGluY2x1ZGluZyBwcm9wcmll
dGFyeSBjb2RlY3MuCiB3ZWJraXQub3JnL2IvODg3OTQgd2ViYXVkaW8vY29kZWMtdGVzdHMKIApJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9u
IDEzNjgyNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCSh3
b3JraW5nIGNvcHkpCkBAIC0zNjksOSArMzY5LDYgQEAgd2Via2l0Lm9yZy9iLzk5MDQwIGZhc3Qv
Y3NzL2ltYWdlLW9yaWVudAogIyBObyBDT1JTIHN1cHBvcnQgZm9yIG1lZGlhIGVsZW1lbnRzIGlz
IGltcGxlbWVudGVkIHlldC4KIHdlYmtpdC5vcmcvYi85OTAzNyBodHRwL3Rlc3RzL3NlY3VyaXR5
L3ZpZGVvLWNyb3NzLW9yaWdpbi1yZWFkYmFjay5odG1sIFsgRmFpbHVyZSBdCiAKLSMgVW5kb01h
bmFnZXIgaXMgbm90IHlldCBlbmFibGVkLgotd2Via2l0Lm9yZy9iLzk5MDQxIGVkaXRpbmcvdW5k
b21hbmFnZXIKLQogIyBOZXcgdGVzdCBpbmZyYXN0cnVjdHVyZSByZXF1aXJlZCAtLSBuZWVkIGlz
b2xhdGVkIHdvcmxkcwogd2Via2l0Lm9yZy9iLzMxNTA4IGh0dHAvdGVzdHMvc2VjdXJpdHkvaXNv
bGF0ZWRXb3JsZCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzMxNTA4IHBsdWdpbnMvbnBydW50aW1l
L292ZXJyaWRlcy1hbGwtcHJvcGVydGllcy5odG1sIFsgU2tpcCBdCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMTM2ODI0KQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAg
LTEwMjMsOSArMTAyMyw2IEBAIHdlYmtpdC5vcmcvYi83NjQzOSBbIERlYnVnIF0gZmFzdC9kb20v
c2gKIHdlYmtpdC5vcmcvYi84NTU4MCBmYXN0L2Nzcy92YXJpYWJsZXMKIHdlYmtpdC5vcmcvYi84
NTU4MCBpbnNwZWN0b3Ivc3R5bGVzL3ZhcmlhYmxlcwogCi0jIFVuZG9NYW5hZ2VyIGlzIG5vdCB5
ZXQgZW5hYmxlZC4KLXdlYmtpdC5vcmcvYi84NzkwOCBlZGl0aW5nL3VuZG9tYW5hZ2VyCi0KICMg
Q1NTIGltYWdlLXJlc29sdXRpb24gaXMgbm90IHlldCBlbmFibGVkLgogd2Via2l0Lm9yZy9iLzg1
MjYyIGZhc3QvY3NzL2ltYWdlLXJlc29sdXRpb24KIApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQtNC44L1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQtNC44L1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDEzNjgyNCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL3F0LTQuOC9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNvcHkpCkBA
IC02OTYsOSArNjk2LDYgQEAgd2Via2l0Lm9yZy9iLzYwMzMgc3ZnL2ZpbHRlcnMvY29sb3ItaW50
ZQogIyBDU1Mgc2hhZGVycyBvbmx5IHdvcmsgaW4gcXQtd2syCiBjc3MzL2ZpbHRlcnMvY3VzdG9t
CiAKLSMgVW5kb01hbmFnZXIgaXMgbm90IHlldCBlbmFibGVkLgotd2Via2l0Lm9yZy9iLzg3OTA4
IGVkaXRpbmcvdW5kb21hbmFnZXIKLQogIyBDU1MgaW1hZ2UtcmVzb2x1dGlvbiBpcyBub3QgeWV0
IGVuYWJsZWQuCiB3ZWJraXQub3JnL2IvODUyNjIgZmFzdC9jc3MvaW1hZ2UtcmVzb2x1dGlvbgog
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC1tYWMvVGVzdEV4cGVjdGF0aW9ucwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC1tYWMvVGVzdEV4cGVjdGF0aW9ucwko
cmV2aXNpb24gMTM2ODI0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQtbWFjL1Rlc3RFeHBl
Y3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTU3OTUsOSArNTc5NSw2IEBAIHdlYmtpdC5vcmcv
Yi82MDMzIGNzczMvZmlsdGVycy9yZWdpb25zLWUKIHdlYmtpdC5vcmcvYi82MDMzIGNzczMvZmls
dGVycy9zaW1wbGUtZmlsdGVyLXJlbmRlcmluZy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBQYXNz
IF0KIHdlYmtpdC5vcmcvYi82MDMzIHN2Zy9maWx0ZXJzL2NvbG9yLWludGVycG9sYXRpb24tZmls
dGVycy5zdmcgWyBNaXNzaW5nIFBhc3MgXQogCi0jIFVuZG9NYW5hZ2VyIGlzIG5vdCB5ZXQgZW5h
YmxlZC4KLXdlYmtpdC5vcmcvYi84NzkwOCBlZGl0aW5nL3VuZG9tYW5hZ2VyCi0KICMgQ1NTIGlt
YWdlLXJlc29sdXRpb24gaXMgbm90IHlldCBlbmFibGVkLgogd2Via2l0Lm9yZy9iLzg1MjYyIGZh
c3QvY3NzL2ltYWdlLXJlc29sdXRpb24KIApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQv
VGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9U
ZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAxMzY4MjQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNvcHkpCkBAIC0zMjQsOSArMzI0LDYgQEAg
d2Via2l0Lm9yZy9iLzkyODczIGdhbWVwYWQvZ2FtZXBhZC1wb2xsaQogd2Via2l0Lm9yZy9iLzg1
NTgwIGZhc3QvY3NzL3ZhcmlhYmxlcwogd2Via2l0Lm9yZy9iLzg1NTgwIGluc3BlY3Rvci9zdHls
ZXMvdmFyaWFibGVzCiAKLSMgVW5kb01hbmFnZXIgaXMgbm90IHlldCBlbmFibGVkLgotd2Via2l0
Lm9yZy9iLzg3OTA4IGVkaXRpbmcvdW5kb21hbmFnZXIKLQogIyBDU1MgaW1hZ2UtcmVzb2x1dGlv
biBpcyBub3QgeWV0IGVuYWJsZWQuCiB3ZWJraXQub3JnL2IvODUyNjIgZmFzdC9jc3MvaW1hZ2Ut
cmVzb2x1dGlvbgogCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0
aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0
aW9ucwkocmV2aXNpb24gMTM2ODI0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RF
eHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTE4NjIsMTAgKzE4NjIsNiBAQCBpZXRlc3Rj
ZW50ZXIvY3NzMy92YWx1ZXNhbmR1bml0cy91bml0cy0wCiAjIE5ldHdvcmsgSW5mb3JtYXRpb24g
aXMgbm90IHN1cHBvcnRlZCB5ZXQuCiBuZXR3b3JraW5mb3JtYXRpb24KIAotIyBVbmRvTWFuYWdl
ciBpcyBub3QgeWV0IGVuYWJsZWQuCi0jIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04NzkwOAotZWRpdGluZy91bmRvbWFuYWdlcgotCiAjIEFzc2VydHMvY3Jhc2hlcyBp
biBQbHVnaW5WaWV3OjpkaWRGaW5pc2hMb2FkaW5nCiBmYXN0L2xvYWRlci9yZWxvYWQtemVyby1i
eXRlLXBsdWdpbi5odG1sCiB1c2Vyc2NyaXB0cy91c2VyLXNjcmlwdC1wbHVnaW4tZG9jdW1lbnQu
aHRtbApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9u
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0
YXRpb25zCShyZXZpc2lvbiAxMzY4MjQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWly
by9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNvcHkpCkBAIC0yMzYwLDEwICsyMzYwLDYgQEAg
aWV0ZXN0Y2VudGVyL2NzczMvdmFsdWVzYW5kdW5pdHMvdW5pdHMtMAogIyBOZXR3b3JrIEluZm9y
bWF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgeWV0LgogbmV0d29ya2luZm9ybWF0aW9uCiAKLSMgVW5k
b01hbmFnZXIgaXMgbm90IHlldCBlbmFibGVkLgotIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODc5MDgKLWVkaXRpbmcvdW5kb21hbmFnZXIKLQogIyBBc3NlcnRzL2Ny
YXNoZXMgaW4gUGx1Z2luVmlldzo6ZGlkRmluaXNoTG9hZGluZwogZmFzdC9sb2FkZXIvcmVsb2Fk
LXplcm8tYnl0ZS1wbHVnaW4uaHRtbAogdXNlcnNjcmlwdHMvdXNlci1zY3JpcHQtcGx1Z2luLWRv
Y3VtZW50Lmh0bWwK
</data>
<flag name="review"
          id="194334"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>