<?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>93172</bug_id>
          
          <creation_ts>2012-08-03 18:58:37 -0700</creation_ts>
          <short_desc>Use testRunner instead of layoutTestController in the remaining layout tests</short_desc>
          <delta_ts>2012-08-03 19:40:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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>
          <dependson>88210</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>abarth</cc>
    
    <cc>tkent</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>687336</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-08-03 18:58:37 -0700</bug_when>
    <thetext>Use testRunner instead of layoutTestController in the remaining layout tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687337</commentid>
    <comment_count>1</comment_count>
      <attachid>156505</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-08-03 18:59:31 -0700</bug_when>
    <thetext>Created attachment 156505
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687348</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-08-03 19:40:18 -0700</bug_when>
    <thetext>Committed r124685: &lt;http://trac.webkit.org/changeset/124685&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156505</attachid>
            <date>2012-08-03 18:59:31 -0700</date>
            <delta_ts>2012-08-03 19:03:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93172-20120803185911.patch</filename>
            <type>text/plain</type>
            <size>34365</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDEyNDY4MykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDYyIEBACisyMDEyLTA4LTAzICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFVzZSB0ZXN0UnVubmVyIGluc3RlYWQgb2YgbGF5
b3V0VGVzdENvbnRyb2xsZXIgaW4gdGhlIHJlbWFpbmluZyBsYXlvdXQgdGVzdHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkzMTcyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT25lIGxhc3Qgc3dlZXBpbmcg
cGF0Y2guCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2NhbnZhcy1hY2Nlc3NpYmlsaXR5bm9k
ZW9iamVjdC5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL2JhY2tmYWNlLXZpc2liaWxpdHkv
YmFja2ZhY2UtdmlzaWJpbGl0eS13ZWJnbC5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL2Zp
eGVkLXBvc2l0aW9uLXNjcm9sbC1vZmZzZXQtaGlzdG9yeS1yZXN0b3JlLmh0bWw6CisgICAgICAg
ICogY29tcG9zaXRpbmcvb3ZlcmZsb3cvaW1hZ2UtbG9hZC1vdmVyZmxvdy1zY3JvbGxiYXJzLmh0
bWw6CisgICAgICAgICogY3NzMy9mbGV4Ym94L2ZsZXhpdGVtLmh0bWw6CisgICAgICAgICogZG9t
L2h0bWwvbGV2ZWwxL2NvcmUvc2VsZmh0bWwuanM6CisgICAgICAgIChzdGFydFRlc3QpOgorICAg
ICAgICAqIGRvbS9odG1sL2xldmVsMi9jb3JlL3NlbGZodG1sLmpzOgorICAgICAgICAoc3RhcnRU
ZXN0KToKKyAgICAgICAgKiBkb20vaHRtbC9sZXZlbDIvZXZlbnRzL3NlbGZodG1sLmpzOgorICAg
ICAgICAoc3RhcnRUZXN0KToKKyAgICAgICAgKiBkb20vaHRtbC9sZXZlbDIvaHRtbC9BcHBsZXRz
Q29sbGVjdGlvbi5odG1sOgorICAgICAgICAqIGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxCYXNl
RWxlbWVudDAxLmh0bWw6CisgICAgICAgICogZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEJhc2VF
bGVtZW50MDIuaHRtbDoKKyAgICAgICAgKiBkb20vaHRtbC9sZXZlbDIvaHRtbC9zZWxmaHRtbC5q
czoKKyAgICAgICAgKHN0YXJ0VGVzdCk6CisgICAgICAgICogZG9tL3N2Zy9sZXZlbDMveHBhdGgv
c3ZndW5pdC5qczoKKyAgICAgICAgKiBkb20veGh0bWwvbGV2ZWwxL2NvcmUvc2VsZnhodG1sLmpz
OgorICAgICAgICAoc3RhcnRUZXN0KToKKyAgICAgICAgKiBkb20veGh0bWwvbGV2ZWwyL2NvcmUv
c2VsZnhodG1sLmpzOgorICAgICAgICAoc3RhcnRUZXN0KToKKyAgICAgICAgKiBkb20veGh0bWwv
bGV2ZWwyL2V2ZW50cy9zZWxmeGh0bWwuanM6CisgICAgICAgIChzdGFydFRlc3QpOgorICAgICAg
ICAqIGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MQmFzZUVsZW1lbnQwMS54aHRtbDoKKyAgICAg
ICAgKiBkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTEJhc2VFbGVtZW50MDIueGh0bWw6CisgICAg
ICAgICogZG9tL3hodG1sL2xldmVsMi9odG1sL3NlbGZ4aHRtbC5qczoKKyAgICAgICAgKHN0YXJ0
VGVzdCk6CisgICAgICAgICogZG9tL3hodG1sL2xldmVsMy9jb3JlL3NlbGZ4aHRtbC5qczoKKyAg
ICAgICAgKHN0YXJ0VGVzdCk6CisgICAgICAgICogZWRpdGluZy9zaGFkb3cvYWRqdXN0aW5nLWVk
aXRpbmctYm91bmRhcnktd2l0aC10YWJsZS1pbi1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBlZGl0
aW5nL3NoYWRvdy9ib2xkLXR3aWNlLWluLXNoYWRvdy5odG1sOgorICAgICAgICAqIGVkaXRpbmcv
c2hhZG93L2JyZWFraW5nLWVkaXRpbmctYm91bmRhcmllcy0yLmh0bWw6CisgICAgICAgICogZWRp
dGluZy9zaGFkb3cvY29udGVudGVkaXRhYmxlLXByb3BhZ2F0aW9uLWF0LXNoYWRvdy1ib3VuZGFy
eS5odG1sOgorICAgICAgICAqIGVkaXRpbmcvc2hhZG93L2RlbGV0ZS1jaGFyYWN0ZXJzLWluLWRp
c3RyaWJ1dGVkLW5vZGUtY3Jhc2guaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL3NoYWRvdy9kZWxl
dGUtbGlzdC1pbi1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL3NoYWRvdy9pbnNlcnRv
cmRlcmVkbGlzdC1jcmFzaC5odG1sOgorICAgICAgICAqIGVkaXRpbmcvc2hhZG93L3ByZXNzaW5n
LWVudGVyLW9uLWxpc3QuaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL3NwZWxsaW5nL2dyYW1tYXIt
ZWRpdC13b3JkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBlZGl0aW5nL3NwZWxsaW5nL2dyYW1t
YXItZWRpdC13b3JkLmh0bWw6CisgICAgICAgICogZmFzdC9ibG9jay9wZXJjZW50LWhlaWdodC1k
ZXNjZW5kYW50LW5vdC1yZW1vdmVkLWNyYXNoMi5odG1sOgorICAgICAgICAqIGZhc3QvYmxvY2sv
cG9zaXRpb25pbmcvYWJzcG9zaXRpb25lZC1vYmplY3QtdW5kZXItc3BsaXQtcmVscG9zaXRpb25l
ZC1pbmxpbmUtY3Jhc2guaHRtbDoKKyAgICAgICAgKiBmYXN0L2Jsb2NrL3Bvc2l0aW9uaW5nL2lu
c2VydC1wb3NpdGlvbmVkLWluLWFub255bW91cy1jcmFzaC5odG1sOgorICAgICAgICAqIGZhc3Qv
Y2FudmFzL2ZhbGxiYWNrLWNvbnRlbnQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nzcy9jb3VudGVy
cy9jb3VudGVyLXJlc2V0LXN1YnRyZWUtaW5zZXJ0LWNyYXNoLmh0bWw6CisgICAgICAgICogZmFz
dC9jc3MvY3Jhc2gtb24tZ3JhZGllbnQtd2l0aC1kZXJpdmVkLWNvbG9yLmh0bWw6CisgICAgICAg
ICogZmFzdC9kb20vTm9kZUxpc3QvY2hpbGROb2Rlcy1yZXZlcnNlLWl0ZXJhdGlvbi5odG1sOgor
ICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktc2hhZG93aW5nLW9uY2xp
Y2suaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9YTUxTZXJpYWxpemVyLXhtbC1uYW1lc3BhY2Uu
aHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1hZnRlci1zdHlsZS5odG1s
OgorCiAyMDEyLTA4LTAzICBGbG9yaW4gTWFsaXRhICA8Zm1hbGl0YUBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgW1NWR10gVHJlZiB0YXJnZXQgZXZlbnQgbGlzdGVuZXIgY2xlYW51cApJbmRleDog
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9jYW52YXMtYWNjZXNzaWJpbGl0eW5vZGVvYmplY3Qu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2NhbnZhcy1hY2Nl
c3NpYmlsaXR5bm9kZW9iamVjdC5odG1sCShyZXZpc2lvbiAxMjQ2ODApCisrKyBMYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L2NhbnZhcy1hY2Nlc3NpYmlsaXR5bm9kZW9iamVjdC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMSw4ICszMSw4IEBACiA8c2NyaXB0PgogZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCBtYWtlcyBzdXJlIHRoYXQgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3RzIGFyZSBjcmVhdGVk
IGZvciBlbGVtZW50cyBpbiBhIGNhbnZhcyBzdWJ0cmVlLiIpOwogCi1pZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyICYmIHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotICAg
IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CitpZiAod2luZG93LnRl
c3RSdW5uZXIgJiYgd2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgd2luZG93
LnRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCiAgICAgZnVuY3Rpb24gYXBwZW5kRm9jdXNhYmxl
RGVzY2VuZGFudHMoYXhPYmplY3QsIGF4Rm9jdXNhYmxlTGlzdCkgewogICAgICAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IGF4T2JqZWN0LmNoaWxkcmVuQ291bnQ7IGkrKykgewpJbmRleDogTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvZml4ZWQtcG9zaXRpb24tc2Nyb2xsLW9mZnNldC1oaXN0b3J5LXJl
c3RvcmUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jb21wb3NpdGluZy9maXhlZC1w
b3NpdGlvbi1zY3JvbGwtb2Zmc2V0LWhpc3RvcnktcmVzdG9yZS5odG1sCShyZXZpc2lvbiAxMjQ2
ODApCisrKyBMYXlvdXRUZXN0cy9jb21wb3NpdGluZy9maXhlZC1wb3NpdGlvbi1zY3JvbGwtb2Zm
c2V0LWhpc3RvcnktcmVzdG9yZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMCw4ICsxMCw4IEBA
CiAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBmaXhlZDsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5z
bGF0ZVooMCk7IHRvcDogNTBweDsgd2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDEwMHB4OyBiYWNrZ3Jv
dW5kLWNvbG9yOiBncmVlbjsiPjwvZGl2PgogCiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikgewotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUo
KTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwogfQogCiBvbmxvYWQgPSBmdW5jdGlvbigpIHsKQEAgLTE5LDkgKzE5LDkgQEAgb25sb2Fk
ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgIC8vIFdlIHdlbnQgZm93YXJkIGFuZCBiYWNrIGFnYWlu
LgogICAgICAgICAvLyBJZiB0aGUgc2Nyb2xsIHBvc2l0aW9uIGlzIHJlc3RvcmVkIGNvcnJlY3Rs
eSB0aGUgcmVkIGRpdiB3b24ndCBiZSB2aXNpYmxlLgogICAgICAgICBkZWxldGUgd2luZG93Lmxv
Y2FsU3RvcmFnZS5zdGFnZTsKLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikgewotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCh0cnVlKTsK
LSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQodHJ1ZSk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAg
fQogICAgIH0gZWxzZSB7CiAgICAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc3RhZ2UgPSAndHdv
JzsKSW5kZXg6IExheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JhY2tmYWNlLXZpc2liaWxpdHkvYmFj
a2ZhY2UtdmlzaWJpbGl0eS13ZWJnbC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL2JhY2tmYWNlLXZpc2liaWxpdHkvYmFja2ZhY2UtdmlzaWJpbGl0eS13ZWJnbC5o
dG1sCShyZXZpc2lvbiAxMjQ2ODApCisrKyBMYXlvdXRUZXN0cy9jb21wb3NpdGluZy9iYWNrZmFj
ZS12aXNpYmlsaXR5L2JhY2tmYWNlLXZpc2liaWxpdHktd2ViZ2wuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtNDcsOCArNDcsOCBAQAogICAgICBjcmVhdGUgYSBHTCBjb250ZXh0KSAtLT4KIAogPHNj
cmlwdD4KLSAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgIGxheW91dFRl
c3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0V2ViR0xFbmFibGVkIiwgIjEi
KTsKKyAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5vdmVycmlkZVBy
ZWZlcmVuY2UoIldlYktpdFdlYkdMRW5hYmxlZCIsICIxIik7CiAgIH0KIDwvc2NyaXB0PgogCklu
ZGV4OiBMYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9pbWFnZS1sb2FkLW92ZXJmbG93
LXNjcm9sbGJhcnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jb21wb3NpdGluZy9v
dmVyZmxvdy9pbWFnZS1sb2FkLW92ZXJmbG93LXNjcm9sbGJhcnMuaHRtbAkocmV2aXNpb24gMTI0
NjgwKQorKysgTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvaW1hZ2UtbG9hZC1vdmVy
Zmxvdy1zY3JvbGxiYXJzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE4LDE2ICsxOCwxNiBAQAog
ICAgIGNvbnRlbnQub25sb2FkID0gZnVuY3Rpb24oKSB7CiAgICAgICB2YXIgb3ZlcmZsb3cgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3ZlcmZsb3ciKTsKICAgICAgICAgb3ZlcmZsb3cuc2Ny
b2xsVG9wID0gNTA7Ci0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0g
ICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAg
ICAgfQogICAgIGNvbnRlbnQuc3JjID0gY2FudmFzLnRvRGF0YVVSTCgpOwogICB9CiAgIHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZG9UZXN0LCBmYWxzZSk7CiAKLSAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KHRydWUpOwor
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7CiAgIH0KIDwvc2NyaXB0PgogPC9o
ZWFkPgpJbmRleDogTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2ZsZXhpdGVtLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2ZsZXhpdGVtLmh0bWwJKHJldmlzaW9u
IDEyNDY4MCkKKysrIExheW91dFRlc3RzL2NzczMvZmxleGJveC9mbGV4aXRlbS5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xOCw4ICsxOCw4IEBACiB9CiA8L3N0eWxlPgogPHNjcmlwdD4KLWlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOwogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2NoZWNrLWxh
eW91dC5qcyI+PC9zY3JpcHQ+CiA8Ym9keSBvbmxvYWQ9ImNoZWNrTGF5b3V0KCcuZmxleGJveCcp
Ij4KSW5kZXg6IExheW91dFRlc3RzL2RvbS9odG1sL2xldmVsMS9jb3JlL3NlbGZodG1sLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2RvbS9odG1sL2xldmVsMS9jb3JlL3NlbGZodG1sLmpz
CShyZXZpc2lvbiAxMjQ2ODApCisrKyBMYXlvdXRUZXN0cy9kb20vaHRtbC9sZXZlbDEvY29yZS9z
ZWxmaHRtbC5qcwkod29ya2luZyBjb3B5KQpAQCAtNjc4LDkgKzY3OCw5IEBAIGZ1bmN0aW9uIHN0
YXJ0VGVzdCgpIHsKIC8vICBJbmZvcm0gdGhlIHRlc3QgY29udHJvbGxlciB0aGF0IHRoaXMgdGVz
dCBoYXMgYSB0ZXh0LWZvcm1hdCByZXN1bHQgYW5kIHNvIHNob3VsZAogLy8gIGJlIGR1bXBlZCBh
cyB0ZXh0LCBhbmQgYWxzbyB0aGF0IHRoZSBkdW1wIHNob3VsZCBub3Qgb2NjdXIgYXV0b21hdGlj
YWxseS4KIC8vCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndh
aXRVbnRpbERvbmUoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogfQogLy8KIC8v
ICBFbmQgV2ViS2l0IG1vZGlmaWNhdGlvbgpAQCAtNzExLDggKzcxMSw4IEBAIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKIC8vCiAvLyAgSW5mb3JtIHRoZSB0ZXN0IGNvbnRyb2xs
ZXIgdGhhdCB0aGlzIHRlc3QgaXMgY29tcGxldGUsIHNvIGl0J3MgdGltZSB0byBkdW1wLgogLy8K
LSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
KyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgfQogLy8KIC8vICBFbmQgV2Vi
S2l0IG1vZGlmaWNhdGlvbgpJbmRleDogTGF5b3V0VGVzdHMvZG9tL2h0bWwvbGV2ZWwyL2NvcmUv
c2VsZmh0bWwuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZG9tL2h0bWwvbGV2ZWwyL2Nv
cmUvc2VsZmh0bWwuanMJKHJldmlzaW9uIDEyNDY4MCkKKysrIExheW91dFRlc3RzL2RvbS9odG1s
L2xldmVsMi9jb3JlL3NlbGZodG1sLmpzCSh3b3JraW5nIGNvcHkpCkBAIC02NzgsOSArNjc4LDkg
QEAgZnVuY3Rpb24gc3RhcnRUZXN0KCkgewogLy8gIEluZm9ybSB0aGUgdGVzdCBjb250cm9sbGVy
IHRoYXQgdGhpcyB0ZXN0IGhhcyBhIHRleHQtZm9ybWF0IHJlc3VsdCBhbmQgc28gc2hvdWxkCiAv
LyAgYmUgZHVtcGVkIGFzIHRleHQsIGFuZCBhbHNvIHRoYXQgdGhlIGR1bXAgc2hvdWxkIG5vdCBv
Y2N1ciBhdXRvbWF0aWNhbGx5LgogLy8KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
IHsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Cisg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7CiB9CiAvLwogLy8gIEVuZCBXZWJLaXQgbW9kaWZpY2F0aW9uCkBAIC03MTEsOCArNzExLDgg
QEAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewogLy8KIC8vICBJbmZvcm0gdGhl
IHRlc3QgY29udHJvbGxlciB0aGF0IHRoaXMgdGVzdCBpcyBjb21wbGV0ZSwgc28gaXQncyB0aW1l
IHRvIGR1bXAuCiAvLwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgeworICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICB9CiAv
LwogLy8gIEVuZCBXZWJLaXQgbW9kaWZpY2F0aW9uCkluZGV4OiBMYXlvdXRUZXN0cy9kb20vaHRt
bC9sZXZlbDIvZXZlbnRzL3NlbGZodG1sLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Rv
bS9odG1sL2xldmVsMi9ldmVudHMvc2VsZmh0bWwuanMJKHJldmlzaW9uIDEyNDY4MCkKKysrIExh
eW91dFRlc3RzL2RvbS9odG1sL2xldmVsMi9ldmVudHMvc2VsZmh0bWwuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTY3OCw5ICs2NzgsOSBAQCBmdW5jdGlvbiBzdGFydFRlc3QoKSB7CiAvLyAgSW5mb3Jt
IHRoZSB0ZXN0IGNvbnRyb2xsZXIgdGhhdCB0aGlzIHRlc3QgaGFzIGEgdGV4dC1mb3JtYXQgcmVz
dWx0IGFuZCBzbyBzaG91bGQKIC8vICBiZSBkdW1wZWQgYXMgdGV4dCwgYW5kIGFsc28gdGhhdCB0
aGUgZHVtcCBzaG91bGQgbm90IG9jY3VyIGF1dG9tYXRpY2FsbHkuCiAvLwotaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CitpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIH0KIC8vCiAvLyAgRW5kIFdlYktpdCBtb2RpZmljYXRp
b24KQEAgLTcxMSw4ICs3MTEsOCBAQCBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7
CiAvLwogLy8gIEluZm9ybSB0aGUgdGVzdCBjb250cm9sbGVyIHRoYXQgdGhpcyB0ZXN0IGlzIGNv
bXBsZXRlLCBzbyBpdCdzIHRpbWUgdG8gZHVtcC4KIC8vCi0gICAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikgewotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25l
KCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOwogICAgIH0KIC8vCiAvLyAgRW5kIFdlYktpdCBtb2RpZmljYXRpb24KSW5kZXg6
IExheW91dFRlc3RzL2RvbS9odG1sL2xldmVsMi9odG1sL0FwcGxldHNDb2xsZWN0aW9uLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZG9tL2h0bWwvbGV2ZWwyL2h0bWwvQXBwbGV0c0Nv
bGxlY3Rpb24uaHRtbAkocmV2aXNpb24gMTI0NjgwKQorKysgTGF5b3V0VGVzdHMvZG9tL2h0bWwv
bGV2ZWwyL2h0bWwvQXBwbGV0c0NvbGxlY3Rpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMiw4
ICsyLDggQEAKIDxoZWFkPgogPHRpdGxlPkZpeCBmb3IgMTM2MzY8L3RpdGxlPgogPHNjcmlwdD4K
LSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
KyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgfQogICAgIAogICAgIGZ1bmN0
aW9uIG91dHB1dEFwcGxldHNMZW5ndGgoKSB7CkluZGV4OiBMYXlvdXRUZXN0cy9kb20vaHRtbC9s
ZXZlbDIvaHRtbC9IVE1MQmFzZUVsZW1lbnQwMS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2RvbS9odG1sL2xldmVsMi9odG1sL0hUTUxCYXNlRWxlbWVudDAxLmh0bWwJKHJldmlzaW9u
IDEyNDY4MCkKKysrIExheW91dFRlc3RzL2RvbS9odG1sL2xldmVsMi9odG1sL0hUTUxCYXNlRWxl
bWVudDAxLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE4LDggKzE4LDggQEAgdGhlIGltcGxpZWQg
d2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIAogLy8KIC8vICAgV2Via2l0IG1vZGlmaWNhdGlv
bjogIDExLUF1Z3VzdC0yMDA1CiAvLwotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
LSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CitpZiAod2luZG93LnRlc3RS
dW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAvLwogLy8gICBFbmQgbW9kaWZp
Y2F0aW9uCiAvLwpJbmRleDogTGF5b3V0VGVzdHMvZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEJh
c2VFbGVtZW50MDIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9kb20vaHRtbC9sZXZl
bDIvaHRtbC9IVE1MQmFzZUVsZW1lbnQwMi5odG1sCShyZXZpc2lvbiAxMjQ2ODApCisrKyBMYXlv
dXRUZXN0cy9kb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MQmFzZUVsZW1lbnQwMi5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xOSw4ICsxOSw4IEBAIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNI
QU5UQUJJTElUWSAKIC8vCiAvLyAgIFdlYmtpdCBtb2RpZmljYXRpb246ICAxMS1BdWd1c3QtMjAw
NQogLy8KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOwogLy8KIC8vICAgRW5kIG1vZGlmaWNhdGlvbgogLy8KSW5kZXg6
IExheW91dFRlc3RzL2RvbS9odG1sL2xldmVsMi9odG1sL3NlbGZodG1sLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2RvbS9odG1sL2xldmVsMi9odG1sL3NlbGZodG1sLmpzCShyZXZpc2lv
biAxMjQ2ODApCisrKyBMYXlvdXRUZXN0cy9kb20vaHRtbC9sZXZlbDIvaHRtbC9zZWxmaHRtbC5q
cwkod29ya2luZyBjb3B5KQpAQCAtNjc4LDkgKzY3OCw5IEBAIGZ1bmN0aW9uIHN0YXJ0VGVzdCgp
IHsKIC8vICBJbmZvcm0gdGhlIHRlc3QgY29udHJvbGxlciB0aGF0IHRoaXMgdGVzdCBoYXMgYSB0
ZXh0LWZvcm1hdCByZXN1bHQgYW5kIHNvIHNob3VsZAogLy8gIGJlIGR1bXBlZCBhcyB0ZXh0LCBh
bmQgYWxzbyB0aGF0IHRoZSBkdW1wIHNob3VsZCBub3Qgb2NjdXIgYXV0b21hdGljYWxseS4KIC8v
Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERv
bmUoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogfQogLy8KIC8vICBFbmQgV2Vi
S2l0IG1vZGlmaWNhdGlvbgpAQCAtNzExLDggKzcxMSw4IEBAIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpIHsKIC8vCiAvLyAgSW5mb3JtIHRoZSB0ZXN0IGNvbnRyb2xsZXIgdGhhdCB0
aGlzIHRlc3QgaXMgY29tcGxldGUsIHNvIGl0J3MgdGltZSB0byBkdW1wLgogLy8KLSAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLm5vdGlmeURvbmUoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgfQogLy8KIC8vICBFbmQgV2ViS2l0IG1vZGlm
aWNhdGlvbgpJbmRleDogTGF5b3V0VGVzdHMvZG9tL3N2Zy9sZXZlbDMveHBhdGgvc3ZndW5pdC5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9kb20vc3ZnL2xldmVsMy94cGF0aC9zdmd1bml0
LmpzCShyZXZpc2lvbiAxMjQ2ODApCisrKyBMYXlvdXRUZXN0cy9kb20vc3ZnL2xldmVsMy94cGF0
aC9zdmd1bml0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xMCw4ICsxMCw4IEBAIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSAKICovCiAKIC8qIEJlZ2luIGFkZGl0aW9ucyBm
b3IgV2ViS2l0IGxheW91dCB0ZXN0IGZyYW1ld29yay4gKi8KLWlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogLyogRW5k
IGFkZGl0aW9ucyBmb3IgV2ViS2l0IGxheW91dCB0ZXN0IGZyYW1ld29yay4gKi8KIAogCkluZGV4
OiBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwxL2NvcmUvc2VsZnhodG1sLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDEvY29yZS9zZWxmeGh0bWwuanMJKHJl
dmlzaW9uIDEyNDY4MCkKKysrIExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDEvY29yZS9zZWxm
eGh0bWwuanMJKHdvcmtpbmcgY29weSkKQEAgLTcwMSw5ICs3MDEsOSBAQCBmdW5jdGlvbiBzdGFy
dFRlc3QoKSB7CiAvLyAgSW5mb3JtIHRoZSB0ZXN0IGNvbnRyb2xsZXIgdGhhdCB0aGlzIHRlc3Qg
aGFzIGEgdGV4dC1mb3JtYXQgcmVzdWx0IGFuZCBzbyBzaG91bGQKIC8vICBiZSBkdW1wZWQgYXMg
dGV4dCwgYW5kIGFsc28gdGhhdCB0aGUgZHVtcCBzaG91bGQgbm90IG9jY3VyIGF1dG9tYXRpY2Fs
bHkuCiAvLwotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0
VW50aWxEb25lKCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIH0KIC8vCiAvLyAg
RW5kIFdlYktpdCBtb2RpZmljYXRpb24KQEAgLTczMyw4ICs3MzMsOCBAQCBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKSB7CiAvLwogLy8gIEluZm9ybSB0aGUgdGVzdCBjb250cm9sbGVy
IHRoYXQgdGhpcyB0ZXN0IGlzIGNvbXBsZXRlLCBzbyBpdCdzIHRpbWUgdG8gZHVtcC4KIC8vCi0g
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Cisg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgIH0KIC8vCiAvLyAgRW5kIFdlYktp
dCBtb2RpZmljYXRpb24KSW5kZXg6IExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDIvY29yZS9z
ZWxmeGh0bWwuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMi9j
b3JlL3NlbGZ4aHRtbC5qcwkocmV2aXNpb24gMTI0NjgwKQorKysgTGF5b3V0VGVzdHMvZG9tL3ho
dG1sL2xldmVsMi9jb3JlL3NlbGZ4aHRtbC5qcwkod29ya2luZyBjb3B5KQpAQCAtNzAxLDkgKzcw
MSw5IEBAIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpIHsKIC8vICBJbmZvcm0gdGhlIHRlc3QgY29udHJv
bGxlciB0aGF0IHRoaXMgdGVzdCBoYXMgYSB0ZXh0LWZvcm1hdCByZXN1bHQgYW5kIHNvIHNob3Vs
ZAogLy8gIGJlIGR1bXBlZCBhcyB0ZXh0LCBhbmQgYWxzbyB0aGF0IHRoZSBkdW1wIHNob3VsZCBu
b3Qgb2NjdXIgYXV0b21hdGljYWxseS4KIC8vCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91
dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikg
eworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwogfQogLy8KIC8vICBFbmQgV2ViS2l0IG1vZGlmaWNhdGlvbgpAQCAtNzMzLDggKzcz
Myw4IEBAIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKIC8vCiAvLyAgSW5mb3Jt
IHRoZSB0ZXN0IGNvbnRyb2xsZXIgdGhhdCB0aGlzIHRlc3QgaXMgY29tcGxldGUsIHNvIGl0J3Mg
dGltZSB0byBkdW1wLgogLy8KLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7
Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAg
fQogLy8KIC8vICBFbmQgV2ViS2l0IG1vZGlmaWNhdGlvbgpJbmRleDogTGF5b3V0VGVzdHMvZG9t
L3hodG1sL2xldmVsMi9ldmVudHMvc2VsZnhodG1sLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2RvbS94aHRtbC9sZXZlbDIvZXZlbnRzL3NlbGZ4aHRtbC5qcwkocmV2aXNpb24gMTI0Njgw
KQorKysgTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMi9ldmVudHMvc2VsZnhodG1sLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC03MDEsOSArNzAxLDkgQEAgZnVuY3Rpb24gc3RhcnRUZXN0KCkgewog
Ly8gIEluZm9ybSB0aGUgdGVzdCBjb250cm9sbGVyIHRoYXQgdGhpcyB0ZXN0IGhhcyBhIHRleHQt
Zm9ybWF0IHJlc3VsdCBhbmQgc28gc2hvdWxkCiAvLyAgYmUgZHVtcGVkIGFzIHRleHQsIGFuZCBh
bHNvIHRoYXQgdGhlIGR1bXAgc2hvdWxkIG5vdCBvY2N1ciBhdXRvbWF0aWNhbGx5LgogLy8KLWlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5kdW1wQXNUZXh0KCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgp
OworaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiB9CiAvLwogLy8gIEVuZCBXZWJLaXQg
bW9kaWZpY2F0aW9uCkBAIC03MzMsOCArNzMzLDggQEAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikgewogLy8KIC8vICBJbmZvcm0gdGhlIHRlc3QgY29udHJvbGxlciB0aGF0IHRoaXMg
dGVzdCBpcyBjb21wbGV0ZSwgc28gaXQncyB0aW1lIHRvIGR1bXAuCiAvLwotICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICB9CiAvLwogLy8gIEVuZCBXZWJLaXQgbW9kaWZpY2F0
aW9uCkluZGV4OiBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTEJhc2VFbGVt
ZW50MDEueGh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMi9o
dG1sL0hUTUxCYXNlRWxlbWVudDAxLnhodG1sCShyZXZpc2lvbiAxMjQ2ODApCisrKyBMYXlvdXRU
ZXN0cy9kb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTEJhc2VFbGVtZW50MDEueGh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTIzLDggKzIzLDggQEAgdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hB
TlRBQklMSVRZIAogICAvLyAgSW5mb3JtIHRoZSB0ZXN0IGNvbnRyb2xsZXIgdGhhdCB0aGlzIHRl
c3QgaGFzIGEgdGV4dC1mb3JtYXQgcmVzdWx0IGFuZCBzbyBzaG91bGQKICAgLy8gIGJlIGR1bXBl
ZCBhcyB0ZXh0LgogICAvLwotICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCiAgIGZ1bmN0aW9uIGFzc2VydFNp
emUoZGVzY3IsIGV4cGVjdGVkLCBhY3R1YWwpIHsKICAgICB2YXIgYWN0dWFsU2l6ZTsKSW5kZXg6
IExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MQmFzZUVsZW1lbnQwMi54aHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTEJh
c2VFbGVtZW50MDIueGh0bWwJKHJldmlzaW9uIDEyNDY4MCkKKysrIExheW91dFRlc3RzL2RvbS94
aHRtbC9sZXZlbDIvaHRtbC9IVE1MQmFzZUVsZW1lbnQwMi54aHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMjMsOCArMjMsOCBAQCB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkg
CiAgIC8vICBJbmZvcm0gdGhlIHRlc3QgY29udHJvbGxlciB0aGF0IHRoaXMgdGVzdCBoYXMgYSB0
ZXh0LWZvcm1hdCByZXN1bHQgYW5kIHNvIHNob3VsZAogICAvLyAgYmUgZHVtcGVkIGFzIHRleHQu
CiAgIC8vCi0gIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKICAgZnVuY3Rpb24gYXNzZXJ0U2l6ZShkZXNjciwg
ZXhwZWN0ZWQsIGFjdHVhbCkgewogICAgIHZhciBhY3R1YWxTaXplOwpJbmRleDogTGF5b3V0VGVz
dHMvZG9tL3hodG1sL2xldmVsMi9odG1sL3NlbGZ4aHRtbC5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9kb20veGh0bWwvbGV2ZWwyL2h0bWwvc2VsZnhodG1sLmpzCShyZXZpc2lvbiAxMjQ2
ODApCisrKyBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwyL2h0bWwvc2VsZnhodG1sLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC03MDgsOSArNzA4LDkgQEAgZnVuY3Rpb24gc3RhcnRUZXN0KCkgewog
Ly8gIEluZm9ybSB0aGUgdGVzdCBjb250cm9sbGVyIHRoYXQgdGhpcyB0ZXN0IGhhcyBhIHRleHQt
Zm9ybWF0IHJlc3VsdCBhbmQgc28gc2hvdWxkCiAvLyAgYmUgZHVtcGVkIGFzIHRleHQsIGFuZCBh
bHNvIHRoYXQgdGhlIGR1bXAgc2hvdWxkIG5vdCBvY2N1ciBhdXRvbWF0aWNhbGx5LgogLy8KLWlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5kdW1wQXNUZXh0KCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgp
OworaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiB9CiAvLwogLy8gIEVuZCBXZWJLaXQg
bW9kaWZpY2F0aW9uCkBAIC03NDAsOCArNzQwLDggQEAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikgewogLy8KIC8vICBJbmZvcm0gdGhlIHRlc3QgY29udHJvbGxlciB0aGF0IHRoaXMg
dGVzdCBpcyBjb21wbGV0ZSwgc28gaXQncyB0aW1lIHRvIGR1bXAuCiAvLwotICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICB9CiAvLwogLy8gIEVuZCBXZWJLaXQgbW9kaWZpY2F0
aW9uCkluZGV4OiBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvc2VsZnhodG1sLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9zZWxmeGh0
bWwuanMJKHJldmlzaW9uIDEyNDY4MCkKKysrIExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMv
Y29yZS9zZWxmeGh0bWwuanMJKHdvcmtpbmcgY29weSkKQEAgLTcwMSw5ICs3MDEsOSBAQCBmdW5j
dGlvbiBzdGFydFRlc3QoKSB7CiAvLyAgSW5mb3JtIHRoZSB0ZXN0IGNvbnRyb2xsZXIgdGhhdCB0
aGlzIHRlc3QgaGFzIGEgdGV4dC1mb3JtYXQgcmVzdWx0IGFuZCBzbyBzaG91bGQKIC8vICBiZSBk
dW1wZWQgYXMgdGV4dCwgYW5kIGFsc28gdGhhdCB0aGUgZHVtcCBzaG91bGQgbm90IG9jY3VyIGF1
dG9tYXRpY2FsbHkuCiAvLwotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci53YWl0VW50aWxEb25lKCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIH0K
IC8vCiAvLyAgRW5kIFdlYktpdCBtb2RpZmljYXRpb24KQEAgLTczMyw4ICs3MzMsOCBAQCBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CiAvLwogLy8gIEluZm9ybSB0aGUgdGVzdCBj
b250cm9sbGVyIHRoYXQgdGhpcyB0ZXN0IGlzIGNvbXBsZXRlLCBzbyBpdCdzIHRpbWUgdG8gZHVt
cC4KIC8vCi0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgIH0KIC8vCiAvLyAg
RW5kIFdlYktpdCBtb2RpZmljYXRpb24KSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93
L2FkanVzdGluZy1lZGl0aW5nLWJvdW5kYXJ5LXdpdGgtdGFibGUtaW4tc2hhZG93Lmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvYWRqdXN0aW5nLWVkaXRpbmct
Ym91bmRhcnktd2l0aC10YWJsZS1pbi1zaGFkb3cuaHRtbAkocmV2aXNpb24gMTI0NjgwKQorKysg
TGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvYWRqdXN0aW5nLWVkaXRpbmctYm91bmRhcnktd2l0
aC10YWJsZS1pbi1zaGFkb3cuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTQsOCArMTQsOCBAQAog
PHAgaWQ9ImRlc2NyaXB0aW9uIj5TZWxlY3RpbmcgYXJvdW5kIGEgdGFibGUgd2hpY2ggaXMgZGlz
dHJpYnV0ZWQgZnJvbSBzaGFkb3cgc3VidHJlZSB0byBuZXN0ZWQgc2hhZG93IHN1YnRyZWUgd2ls
bCB0cmlnZ2VyIGFuIGFzc2VydGlvbi4gVG8gdHJ5IG1hbnVhbGx5LCBzZWxlY3QgZnJvbSAic2hh
ZG93IDIiIHRvIGFyb3VuZCAiYWZ0ZXIiIGFuZCBjb25maXJtIGEgY3Jhc2ggZG9lcyBub3Qgb2Nj
dXIuPC9wPgogCiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CitpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKIHZhciBzaGFkb3dSb290ID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CiB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGl2Jyk7CkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9ib2xkLXR3aWNlLWlu
LXNoYWRvdy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2Jv
bGQtdHdpY2UtaW4tc2hhZG93Lmh0bWwJKHJldmlzaW9uIDEyNDY4MCkKKysrIExheW91dFRlc3Rz
L2VkaXRpbmcvc2hhZG93L2JvbGQtdHdpY2UtaW4tc2hhZG93Lmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTE1LDggKzE1LDggQEAKIDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgogCiA8c2NyaXB0Pgot
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5kdW1wQXNUZXh0KCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7CiAKIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9z
dCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJzaGFkb3ctaG9zdCI+PHNwYW4g
Y29udGVudGVkaXRhYmxlPnNoYWRvdyBiZWZvcmU8L3NwYW4+PHNoYWRvdz48L3NoYWRvdz5zaGFk
b3cgKGFmdGVyKTwvZGl2Pic7CkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9icmVh
a2luZy1lZGl0aW5nLWJvdW5kYXJpZXMtMi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2VkaXRpbmcvc2hhZG93L2JyZWFraW5nLWVkaXRpbmctYm91bmRhcmllcy0yLmh0bWwJKHJldmlz
aW9uIDEyNDY4MCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2JyZWFraW5nLWVkaXRp
bmctYm91bmRhcmllcy0yLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEzLDggKzEzLDggQEAKIDwv
ZGl2PgogCiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKIHZhciBzaGFkb3dSb290ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoaG9zdCk7CiB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
ZGl2Jyk7CkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9jb250ZW50ZWRpdGFibGUt
cHJvcGFnYXRpb24tYXQtc2hhZG93LWJvdW5kYXJ5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZWRpdGluZy9zaGFkb3cvY29udGVudGVkaXRhYmxlLXByb3BhZ2F0aW9uLWF0LXNoYWRv
dy1ib3VuZGFyeS5odG1sCShyZXZpc2lvbiAxMjQ2ODApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5n
L3NoYWRvdy9jb250ZW50ZWRpdGFibGUtcHJvcGFnYXRpb24tYXQtc2hhZG93LWJvdW5kYXJ5Lmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTE1LDggKzE1LDggQEAKIDwvZGl2PgogPHByZSBpZD0iY29u
c29sZSI+PC9wcmU+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
LSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CitpZiAod2luZG93LnRlc3RS
dW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKIGZ1bmN0aW9uIGNvbXB1dGVk
U3R5bGUoZWxlbWVudCwgc3R5bGUpIHsKICAgICB2YXIgY3MgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShlbGVtZW50KTsKSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2RlbGV0ZS1j
aGFyYWN0ZXJzLWluLWRpc3RyaWJ1dGVkLW5vZGUtY3Jhc2guaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9kZWxldGUtY2hhcmFjdGVycy1pbi1kaXN0cmlidXRl
ZC1ub2RlLWNyYXNoLmh0bWwJKHJldmlzaW9uIDEyNDY4MCkKKysrIExheW91dFRlc3RzL2VkaXRp
bmcvc2hhZG93L2RlbGV0ZS1jaGFyYWN0ZXJzLWluLWRpc3RyaWJ1dGVkLW5vZGUtY3Jhc2guaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtNCw4ICs0LDggQEAKIDxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0cyB0aGUgZGVsZXRpb24gb2YgdGV4dCBpbiBkaXN0cmlidXRlZCBub2RlIGRvZXMgbm90
IGNyYXNoLiBUbyBydW4gaXQgb3V0c2lkZSBvZiBEUlQsIHlvdSBtdXN0IGRlbGV0ZSB0ZXh0LCAn
Zm9vJywgbWFudWFsbHkuPC9wPgogPGRpdiBpZD0ic2hhZG93aG9zdCIgY29udGVudGVkaXRhYmxl
PjxkaXY+Zm9vPC9kaXY+PC9kaXY+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CitpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiB2YXIgc2hhZG93
Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaGFk
b3dob3N0JykpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPGNvbnRlbnQ+PC9jb250ZW50PiI7
CiAKSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2RlbGV0ZS1saXN0LWluLXNoYWRv
dy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2RlbGV0ZS1s
aXN0LWluLXNoYWRvdy5odG1sCShyZXZpc2lvbiAxMjQ2ODApCisrKyBMYXlvdXRUZXN0cy9lZGl0
aW5nL3NoYWRvdy9kZWxldGUtbGlzdC1pbi1zaGFkb3cuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MTcsOCArMTcsOCBAQAogPHByZSBpZD0iY29uc29sZSI+PC9wcmU+CiAKIDxzY3JpcHQ+Ci1pZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKIAogdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsK
IHZhciBsaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpJyk7CkluZGV4OiBMYXlvdXRUZXN0
cy9lZGl0aW5nL3NoYWRvdy9pbnNlcnRvcmRlcmVkbGlzdC1jcmFzaC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2luc2VydG9yZGVyZWRsaXN0LWNyYXNoLmh0
bWwJKHJldmlzaW9uIDEyNDY4MCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2luc2Vy
dG9yZGVyZWRsaXN0LWNyYXNoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE2LDggKzE2LDggQEAg
VG8gdGVzdCBtYW51YWxseSwgc2VsZWN0IGZyb20gKGJlZm9yZSBuZQogPC9kaXY+CiAKIDxzY3Jp
cHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKIAogdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChob3N0KTsKIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKSW5kZXg6
IExheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L3ByZXNzaW5nLWVudGVyLW9uLWxpc3QuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9wcmVzc2luZy1lbnRlci1v
bi1saXN0Lmh0bWwJKHJldmlzaW9uIDEyNDY4MCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvc2hh
ZG93L3ByZXNzaW5nLWVudGVyLW9uLWxpc3QuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTcsOCAr
MTcsOCBAQCBiZWNhc3VlIG1vZGlmeWluZyBTaGFkb3cgRE9NIHJlbW92ZXMgdGhlCiA8L2Rpdj4K
IAogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCiB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGhvc3QpOwogdmFyIGxpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGknKTsK
SW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvZ3JhbW1hci1lZGl0LXdvcmQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvZ3Jh
bW1hci1lZGl0LXdvcmQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxMjQ2ODApCisrKyBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3NwZWxsaW5nL2dyYW1tYXItZWRpdC13b3JkLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtNiwxOCArNiwxOCBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBCiBkb2N1bWVudC5leGVjQ29tbWFuZCgiSW5zZXJ0VGV4dCIsIGZhbHNlLCAi
WW91IGhhcyB0aGUgcmlnaHQuIikKIFBBU1MgaW50ZXJuYWxzLmhhc0dyYW1tYXJNYXJrZXIoZG9j
dW1lbnQsIDQsIDMpIGlzIHRydWUKIERlbGV0ZSB0aGUgZW5kIG9mIHRoaXMgc2VudGVuY2UgdW50
aWwgaXQgYmVjb21lcyAiWW91IGhhIi4KLWxheW91dFRlc3RDb250cm9sbGVyLmV4ZWNDb21tYW5k
KCJEZWxldGVCYWNrd2FyZCIpCi1sYXlvdXRUZXN0Q29udHJvbGxlci5leGVjQ29tbWFuZCgiRGVs
ZXRlQmFja3dhcmQiKQotbGF5b3V0VGVzdENvbnRyb2xsZXIuZXhlY0NvbW1hbmQoIkRlbGV0ZUJh
Y2t3YXJkIikKLWxheW91dFRlc3RDb250cm9sbGVyLmV4ZWNDb21tYW5kKCJEZWxldGVCYWNrd2Fy
ZCIpCi1sYXlvdXRUZXN0Q29udHJvbGxlci5leGVjQ29tbWFuZCgiRGVsZXRlQmFja3dhcmQiKQot
bGF5b3V0VGVzdENvbnRyb2xsZXIuZXhlY0NvbW1hbmQoIkRlbGV0ZUJhY2t3YXJkIikKLWxheW91
dFRlc3RDb250cm9sbGVyLmV4ZWNDb21tYW5kKCJEZWxldGVCYWNrd2FyZCIpCi1sYXlvdXRUZXN0
Q29udHJvbGxlci5leGVjQ29tbWFuZCgiRGVsZXRlQmFja3dhcmQiKQotbGF5b3V0VGVzdENvbnRy
b2xsZXIuZXhlY0NvbW1hbmQoIkRlbGV0ZUJhY2t3YXJkIikKLWxheW91dFRlc3RDb250cm9sbGVy
LmV4ZWNDb21tYW5kKCJEZWxldGVCYWNrd2FyZCIpCi1sYXlvdXRUZXN0Q29udHJvbGxlci5leGVj
Q29tbWFuZCgiRGVsZXRlQmFja3dhcmQiKQotbGF5b3V0VGVzdENvbnRyb2xsZXIuZXhlY0NvbW1h
bmQoIkRlbGV0ZUJhY2t3YXJkIikKK3Rlc3RSdW5uZXIuZXhlY0NvbW1hbmQoIkRlbGV0ZUJhY2t3
YXJkIikKK3Rlc3RSdW5uZXIuZXhlY0NvbW1hbmQoIkRlbGV0ZUJhY2t3YXJkIikKK3Rlc3RSdW5u
ZXIuZXhlY0NvbW1hbmQoIkRlbGV0ZUJhY2t3YXJkIikKK3Rlc3RSdW5uZXIuZXhlY0NvbW1hbmQo
IkRlbGV0ZUJhY2t3YXJkIikKK3Rlc3RSdW5uZXIuZXhlY0NvbW1hbmQoIkRlbGV0ZUJhY2t3YXJk
IikKK3Rlc3RSdW5uZXIuZXhlY0NvbW1hbmQoIkRlbGV0ZUJhY2t3YXJkIikKK3Rlc3RSdW5uZXIu
ZXhlY0NvbW1hbmQoIkRlbGV0ZUJhY2t3YXJkIikKK3Rlc3RSdW5uZXIuZXhlY0NvbW1hbmQoIkRl
bGV0ZUJhY2t3YXJkIikKK3Rlc3RSdW5uZXIuZXhlY0NvbW1hbmQoIkRlbGV0ZUJhY2t3YXJkIikK
K3Rlc3RSdW5uZXIuZXhlY0NvbW1hbmQoIkRlbGV0ZUJhY2t3YXJkIikKK3Rlc3RSdW5uZXIuZXhl
Y0NvbW1hbmQoIkRlbGV0ZUJhY2t3YXJkIikKK3Rlc3RSdW5uZXIuZXhlY0NvbW1hbmQoIkRlbGV0
ZUJhY2t3YXJkIikKIFBBU1MgaW50ZXJuYWxzLmhhc0dyYW1tYXJNYXJrZXIoZG9jdW1lbnQsIDQs
IDIpIGlzIGZhbHNlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKSW5kZXg6IExh
eW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvZ3JhbW1hci1lZGl0LXdvcmQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL2dyYW1tYXItZWRpdC13b3JkLmh0
bWwJKHJldmlzaW9uIDEyNDY4MCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvZ3Jh
bW1hci1lZGl0LXdvcmQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTgsNyArMTgsNyBAQCBzaG91
bGRCZVRydWUoJ2ludGVybmFscy5oYXNHcmFtbWFyTWFya2VyCiAKIGRlYnVnKCdEZWxldGUgdGhl
IGVuZCBvZiB0aGlzIHNlbnRlbmNlIHVudGlsIGl0IGJlY29tZXMgIllvdSBoYSIuJyk7CiBmb3Ig
KHZhciBpID0gMDsgaSA8IDEyOyArK2kpCi0gICAgZXZhbEFuZExvZygnbGF5b3V0VGVzdENvbnRy
b2xsZXIuZXhlY0NvbW1hbmQoIkRlbGV0ZUJhY2t3YXJkIiknKTsKKyAgICBldmFsQW5kTG9nKCd0
ZXN0UnVubmVyLmV4ZWNDb21tYW5kKCJEZWxldGVCYWNrd2FyZCIpJyk7CiBzaG91bGRCZUZhbHNl
KCdpbnRlcm5hbHMuaGFzR3JhbW1hck1hcmtlcihkb2N1bWVudCwgNCwgMiknKTsKIAogaW50ZXJu
YWxzLnNldHRpbmdzLnNldFVuaWZpZWRUZXh0Q2hlY2tpbmdFbmFibGVkKGZhbHNlKTsKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvYmxvY2svcGVyY2VudC1oZWlnaHQtZGVzY2VuZGFudC1ub3QtcmVt
b3ZlZC1jcmFzaDIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL3Bl
cmNlbnQtaGVpZ2h0LWRlc2NlbmRhbnQtbm90LXJlbW92ZWQtY3Jhc2gyLmh0bWwJKHJldmlzaW9u
IDEyNDY4MCkKKysrIExheW91dFRlc3RzL2Zhc3QvYmxvY2svcGVyY2VudC1oZWlnaHQtZGVzY2Vu
ZGFudC1ub3QtcmVtb3ZlZC1jcmFzaDIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTAsOCArMTAs
OCBAQAogfQogPC9zdHlsZT4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKK2lmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAKIG9ubG9hZCA9IGZ1
bmN0aW9uKCkgewogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZm9ybScpKTsKQEAgLTI5LDQgKzI5LDQgQEAgb25sb2FkID0gZnVuY3Rpb24oKSB7
CiA8L2hlYWQ+CiA8Ym9keT4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL3Bvc2l0aW9uaW5n
L2Fic3Bvc2l0aW9uZWQtb2JqZWN0LXVuZGVyLXNwbGl0LXJlbHBvc2l0aW9uZWQtaW5saW5lLWNy
YXNoLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9wb3NpdGlvbmlu
Zy9hYnNwb3NpdGlvbmVkLW9iamVjdC11bmRlci1zcGxpdC1yZWxwb3NpdGlvbmVkLWlubGluZS1j
cmFzaC5odG1sCShyZXZpc2lvbiAxMjQ2ODApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL3Bv
c2l0aW9uaW5nL2Fic3Bvc2l0aW9uZWQtb2JqZWN0LXVuZGVyLXNwbGl0LXJlbHBvc2l0aW9uZWQt
aW5saW5lLWNyYXNoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEzLDggKzEzLDggQEAgd2luZG93
Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0VG9wOwogICAg
IGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gIlBBU1MuIFdlYktpdCBkaWRuJ3QgY3Jhc2guIjsK
IAotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogfQogPC9zY3JpcHQ+CiA8aSBjbGFzcz0i
Y2xhc3MxIj4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvYmxvY2svcG9zaXRpb25pbmcvaW5zZXJ0
LXBvc2l0aW9uZWQtaW4tYW5vbnltb3VzLWNyYXNoLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9ibG9jay9wb3NpdGlvbmluZy9pbnNlcnQtcG9zaXRpb25lZC1pbi1hbm9ueW1v
dXMtY3Jhc2guaHRtbAkocmV2aXNpb24gMTI0NjgwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ibG9j
ay9wb3NpdGlvbmluZy9pbnNlcnQtcG9zaXRpb25lZC1pbi1hbm9ueW1vdXMtY3Jhc2guaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMTEsOCArMTEsOCBAQAogICAgICAgfQogICAgIDwvc3R5bGU+CiAg
ICAgPHNjcmlwdD4KLSAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICBmdW5j
dGlvbiBydW5UZXN0KCkgewogICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncG9zaXRp
b25lZCcpLmlubmVySFRNTCA9ICdQQVNTRUQnOwogICAgICAgfQpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvZmFsbGJhY2stY29udGVudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvY2FudmFzL2ZhbGxiYWNrLWNvbnRlbnQuaHRtbAkocmV2aXNpb24gMTI0NjgwKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvZmFsbGJhY2stY29udGVudC5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0zOSw4ICszOSw4IEBACiA8c2NyaXB0PgogZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCBtYWtlcyBzdXJlIHRoYXQgZm9jdXNhYmxlIGVsZW1lbnRzIGluIGNhbnZhcyBmYWxsYmFjayBj
b250ZW50IGFyZSBmb2N1c2FibGUuIik7CiAKLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCi0gICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKK2lmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICB3aW5kb3cudGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAK
IHZhciBlbGVtZW50OwogZnVuY3Rpb24gY2hlY2tGb2N1c2FibGUoaWQpIHsKSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvY3NzL2NyYXNoLW9uLWdyYWRpZW50LXdpdGgtZGVyaXZlZC1jb2xvci5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2NyYXNoLW9uLWdyYWRpZW50LXdp
dGgtZGVyaXZlZC1jb2xvci5odG1sCShyZXZpc2lvbiAxMjQ2ODApCisrKyBMYXlvdXRUZXN0cy9m
YXN0L2Nzcy9jcmFzaC1vbi1ncmFkaWVudC13aXRoLWRlcml2ZWQtY29sb3IuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw3ICsxLDcgQEAKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdD4KLWlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CiA8L3NjcmlwdD4KIDxib2R5IHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxp
bmVhci1ncmFkaWVudChncmVlbiwgLXdlYmtpdC1hY3RpdmVsaW5rKSI+CiBUaGlzIHRlc3QgcGFz
c2VzIGlmIGl0IGRvZXMgbm90IENSQVNILgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvY291
bnRlcnMvY291bnRlci1yZXNldC1zdWJ0cmVlLWluc2VydC1jcmFzaC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2NvdW50ZXJzL2NvdW50ZXItcmVzZXQtc3VidHJlZS1p
bnNlcnQtY3Jhc2guaHRtbAkocmV2aXNpb24gMTI0NjgwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9j
c3MvY291bnRlcnMvY291bnRlci1yZXNldC1zdWJ0cmVlLWluc2VydC1jcmFzaC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC00Miw4ICs0Miw4IEBACiB9DQogPC9zdHlsZT4NCiA8c2NyaXB0Pg0KLWlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpDQotICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7DQoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQ0KKyAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7DQogDQogd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgew0KICAgcnVsZXMgPSBb
DQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vWE1MU2VyaWFsaXplci14bWwtbmFtZXNwYWNl
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vWE1MU2VyaWFsaXplci14
bWwtbmFtZXNwYWNlLmh0bWwJKHJldmlzaW9uIDEyNDY4MCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
ZG9tL1hNTFNlcmlhbGl6ZXIteG1sLW5hbWVzcGFjZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0z
LDggKzMsOCBAQAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICBmdW5j
dGlvbiBydW5UZXN0KCkKICAgICB7Ci0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCi0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cisg
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOwogCiAgICAgICAgIHZhciB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidGFyZ2V0Iik7CiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL05vZGVMaXN0L2NoaWxk
Tm9kZXMtcmV2ZXJzZS1pdGVyYXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2RvbS9Ob2RlTGlzdC9jaGlsZE5vZGVzLXJldmVyc2UtaXRlcmF0aW9uLmh0bWwJKHJldmlz
aW9uIDEyNDY4MCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL05vZGVMaXN0L2NoaWxkTm9kZXMt
cmV2ZXJzZS1pdGVyYXRpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNyw4ICs3LDggQEAKIDxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdD4KIAotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKIHZhciBub2RlID0gZG9jdW1lbnQucXVlcnlTZWxl
Y3RvcigncHJlJyk7CiB2YXIgZmFpbGVkID0gZmFsc2U7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnR5LXNoYWRvd2luZy1vbmNsaWNrLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1zaGFk
b3dpbmctb25jbGljay5odG1sCShyZXZpc2lvbiAxMjQ2ODApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnR5LXNoYWRvd2luZy1vbmNsaWNrLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTQsOCArNCw4IEBACiAKIGRlc2NyaXB0aW9uKCdUaGlzIHRlc3RzIHRoZSBF
UzUuMiBiZWhhdmlvciB3aGVyZSBnbG9iYWwgdmFyaWFibGVzIHNob3VsZCBub3QgdHJpZ2dlciBz
ZXR0ZXJzIG9uIHRoZSBXaW5kb3cgb2JqZWN0Jyk7CiAKLWlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCiB2YXIgb25D
bGlja0NhbGxlZCA9IGZhbHNlOwogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
Y29udGVudC1hZnRlci1zdHlsZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9jb250ZW50LWFmdGVyLXN0eWxlLmh0bWwJKHJldmlzaW9uIDEyNDY4MCkKKysr
IExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWFmdGVyLXN0eWxlLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTMsMTQgKzMsMTQgQEAKIDxib2R5PgogPGRpdiBpZD0iaG9zdCI+PGRp
dj5ob3N0IGNvbnRlbnQ8L2Rpdj48L2Rpdj4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQotICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxE
b25lKCk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgd2luZG93LnRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOwogdmFyIHJvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCcjaG9zdCcpKTsKIHJvb3QuaW5uZXJIVE1MID0gJzxzdHlsZT5pbnZhbGlk
IHsgfTwvc3R5bGU+JyArCiAgICAgICAgICAgICAgICAgICd0ZXh0PGNvbnRlbnQ+PC9jb250ZW50
Pic7CiB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQotICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgd2luZG93LnRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwogfSwgMCk7CiA8L3NjcmlwdD4KIDwvYm9keT4K
</data>
<flag name="review"
          id="166205"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>