<?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>99642</bug_id>
          
          <creation_ts>2012-10-17 14:57:33 -0700</creation_ts>
          <short_desc>Rename PerfTestRunner.runPerSecond to PerfTestRunner.measureRunsPerSecond for consistency</short_desc>
          <delta_ts>2012-10-17 16:36:06 -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>
          
          <blocked>77037</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>morrita</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>744660</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-10-17 14:57:33 -0700</bug_when>
    <thetext>Rename PerfTestRunner.runPerSecond to PerfTestRunner.measureRunsPerSecond for consistency</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744662</commentid>
    <comment_count>1</comment_count>
      <attachid>169267</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-10-17 14:58:13 -0700</bug_when>
    <thetext>Created attachment 169267
Renamed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744675</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-10-17 15:06:46 -0700</bug_when>
    <thetext>Committed r131651: &lt;http://trac.webkit.org/changeset/131651&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744773</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-10-17 16:36:06 -0700</bug_when>
    <thetext>Fixed broken tests in LayoutTests/fasts/harness in http://trac.webkit.org/changeset/131667.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169267</attachid>
            <date>2012-10-17 14:58:13 -0700</date>
            <delta_ts>2012-10-17 15:03:58 -0700</delta_ts>
            <desc>Renamed</desc>
            <filename>bug-99642-20121017145700.patch</filename>
            <type>text/plain</type>
            <size>27621</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1h
bmNlVGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzE2NDkpCisrKyBQZXJmb3JtYW5jZVRlc3Rz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU2IEBACisyMDEyLTEwLTE3ICBS
eW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbmFtZSBQZXJmVGVz
dFJ1bm5lci5ydW5QZXJTZWNvbmQgdG8gUGVyZlRlc3RSdW5uZXIubWVhc3VyZVJ1bnNQZXJTZWNv
bmQgZm9yIGNvbnNpc3RlbmN5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05OTY0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFJlbmFtZWQgdGhlIG1ldGhvZC4KKworICAgICAgICAqIEJpbmRpbmdzL2FwcGVu
ZC1jaGlsZC5odG1sOgorICAgICAgICAqIEJpbmRpbmdzL2NyZWF0ZS1lbGVtZW50Lmh0bWw6Cisg
ICAgICAgICogQmluZGluZ3MvZXZlbnQtdGFyZ2V0LXdyYXBwZXIuaHRtbDoKKyAgICAgICAgKiBC
aW5kaW5ncy9maXJzdC1jaGlsZC5odG1sOgorICAgICAgICAqIEJpbmRpbmdzL2dldC1hdHRyaWJ1
dGUuaHRtbDoKKyAgICAgICAgKiBCaW5kaW5ncy9nZXQtZWxlbWVudC1ieS1pZC5odG1sOgorICAg
ICAgICAqIEJpbmRpbmdzL2dldC1lbGVtZW50cy1ieS10YWctbmFtZS5odG1sOgorICAgICAgICAq
IEJpbmRpbmdzL2lkLWdldHRlci5odG1sOgorICAgICAgICAqIEJpbmRpbmdzL2lkLXNldHRlci5o
dG1sOgorICAgICAgICAqIEJpbmRpbmdzL2luc2VydC1iZWZvcmUuaHRtbDoKKyAgICAgICAgKiBC
aW5kaW5ncy9ub2RlLWxpc3QtYWNjZXNzLmh0bWw6CisgICAgICAgICogQmluZGluZ3Mvc2Nyb2xs
LXRvcC5odG1sOgorICAgICAgICAqIEJpbmRpbmdzL3NldC1hdHRyaWJ1dGUuaHRtbDoKKyAgICAg
ICAgKiBCaW5kaW5ncy90eXBlZC1hcnJheS1jb25zdHJ1Y3QtZnJvbS1hcnJheS5odG1sOgorICAg
ICAgICAqIEJpbmRpbmdzL3R5cGVkLWFycmF5LWNvbnN0cnVjdC1mcm9tLXNhbWUtdHlwZS5odG1s
OgorICAgICAgICAqIEJpbmRpbmdzL3R5cGVkLWFycmF5LWNvbnN0cnVjdC1mcm9tLXR5cGVkLmh0
bWw6CisgICAgICAgICogQmluZGluZ3MvdHlwZWQtYXJyYXktc2V0LWZyb20tdHlwZWQuaHRtbDoK
KyAgICAgICAgKiBCaW5kaW5ncy91bmRlZmluZWQtZmlyc3QtY2hpbGQuaHRtbDoKKyAgICAgICAg
KiBCaW5kaW5ncy91bmRlZmluZWQtZ2V0LWVsZW1lbnQtYnktaWQuaHRtbDoKKyAgICAgICAgKiBC
aW5kaW5ncy91bmRlZmluZWQtaWQtZ2V0dGVyLmh0bWw6CisgICAgICAgICogQ1NTL0NTU1Byb3Bl
cnR5U2V0dGVyR2V0dGVyLmh0bWw6CisgICAgICAgICogQ1NTL0NTU1Byb3BlcnR5VXBkYXRlVmFs
dWUuaHRtbDoKKyAgICAgICAgKiBDU1MvUHNldWRvQ2xhc3NTZWxlY3RvcnMuaHRtbDoKKyAgICAg
ICAgKiBET00vdGV4dGFyZWEtZG9tLmh0bWw6CisgICAgICAgICogRE9NL3RleHRhcmVhLWVkaXQu
aHRtbDoKKyAgICAgICAgKiBJbnRlcmFjdGl2ZS9yZXNvdXJjZXMvd2luZG93LXJlc2l6ZS5qczoK
KyAgICAgICAgKiBMYXlvdXQvZmxleGJveC1jb2x1bW4tbm93cmFwLmh0bWw6CisgICAgICAgICog
TGF5b3V0L2ZsZXhib3gtY29sdW1uLXdyYXAuaHRtbDoKKyAgICAgICAgKiBMYXlvdXQvZmxleGJv
eC1yb3ctbm93cmFwLmh0bWw6CisgICAgICAgICogTGF5b3V0L2ZsZXhib3gtcm93LXdyYXAuaHRt
bDoKKyAgICAgICAgKiBMYXlvdXQvbGluZS1sYXlvdXQuaHRtbDoKKyAgICAgICAgKiBQYXJzZXIv
Y3NzLXBhcnNlci15dWkuaHRtbDoKKyAgICAgICAgKiBQYXJzZXIvaW5uZXJIVE1MLXNldHRlci5o
dG1sOgorICAgICAgICAqIFBhcnNlci9xdWVyeS1zZWxlY3Rvci1kZWVwLmh0bWw6CisgICAgICAg
ICogUGFyc2VyL3F1ZXJ5LXNlbGVjdG9yLWZpcnN0Lmh0bWw6CisgICAgICAgICogUGFyc2VyL3F1
ZXJ5LXNlbGVjdG9yLWxhc3QuaHRtbDoKKyAgICAgICAgKiBQYXJzZXIvc2ltcGxlLXVybC5odG1s
OgorICAgICAgICAqIFBhcnNlci90ZXh0YXJlYS1wYXJzaW5nLmh0bWw6CisgICAgICAgICogUGFy
c2VyL3RpbnktaW5uZXJIVE1MLmh0bWw6CisgICAgICAgICogUGFyc2VyL3VybC1wYXJzZXIuaHRt
bDoKKyAgICAgICAgKiBQYXJzZXIveG1sLXBhcnNlci5odG1sOgorICAgICAgICAqIFNWRy9TdmdO
ZXN0ZWRVc2UuaHRtbDoKKyAgICAgICAgKiByZXNvdXJjZXMvcnVubmVyLmpzOgorCiAyMDEyLTEw
LTE3ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFBlcmZvcm1h
bmNlIHRlc3Qgc2hvdWxkIHN1cHBvcnQgYXN5bmNocm9ub3VzIHRlc3RzCkluZGV4OiBQZXJmb3Jt
YW5jZVRlc3RzL0JpbmRpbmdzL2FwcGVuZC1jaGlsZC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZv
cm1hbmNlVGVzdHMvQmluZGluZ3MvYXBwZW5kLWNoaWxkLmh0bWwJKHJldmlzaW9uIDEzMTU0MykK
KysrIFBlcmZvcm1hbmNlVGVzdHMvQmluZGluZ3MvYXBwZW5kLWNoaWxkLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTYsNyArNiw3IEBACiB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7CiB2YXIgY2hpbGREaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKIAot
UGVyZlRlc3RSdW5uZXIucnVuUGVyU2Vjb25kKHsKK1BlcmZUZXN0UnVubmVyLm1lYXN1cmVSdW5z
UGVyU2Vjb25kKHsKICAgICBkZXNjcmlwdGlvbjogIlRoaXMgYmVuY2htYXJrIGNvdmVycyAnYXBw
ZW5kQ2hpbGQnIGFuZCAncmVtb3ZlQ2hpbGQnIGluIERyb21hZW8vZG9tLW1vZGlmeS5odG1sLiIs
CiAgICAgc2V0dXA6IGZ1bmN0aW9uKCkgewogICAgICAgICBkaXYuaW5uZXJIVE1MID0gIiI7Cklu
ZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0JpbmRpbmdzL2NyZWF0ZS1lbGVtZW50Lmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9CaW5kaW5ncy9jcmVhdGUtZWxlbWVudC5odG1sCShy
ZXZpc2lvbiAxMzE1NDMpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0JpbmRpbmdzL2NyZWF0ZS1lbGVt
ZW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTMsNyArMyw3IEBACiA8Ym9keT4KIDxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvcnVubmVyLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci1QZXJmVGVz
dFJ1bm5lci5ydW5QZXJTZWNvbmQoeworUGVyZlRlc3RSdW5uZXIubWVhc3VyZVJ1bnNQZXJTZWNv
bmQoewogICAgIGRlc2NyaXB0aW9uOiAiVGhpcyBiZW5jaG1hcmsgY292ZXJzICdjcmVhdGVFbGVt
ZW50JywgJ2NyZWF0ZVRleHROb2RlJyBhbmQgJ2Nsb25lTm9kZScgaW4gRHJvbWFlby9kb20tbW9k
aWZ5Lmh0bWwsIGFuZCBvdGhlciBET00gbWV0aG9kcyB0aGF0IHJldHVybiBhIG5ldyBOb2RlIG9i
amVjdC4iLAogICAgIHJ1bjogZnVuY3Rpb24oKSB7CiAgICAgICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgNTAwMDsgaSsrKQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9CaW5kaW5ncy9ldmVudC10YXJn
ZXQtd3JhcHBlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvQmluZGluZ3Mv
ZXZlbnQtdGFyZ2V0LXdyYXBwZXIuaHRtbAkocmV2aXNpb24gMTMxNTQzKQorKysgUGVyZm9ybWFu
Y2VUZXN0cy9CaW5kaW5ncy9ldmVudC10YXJnZXQtd3JhcHBlci5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0xMiw3ICsxMiw3IEBAIGxpbmsuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlv
bigKICAgICB3aW5kb3cuZXZ0ID0gZXZlbnQ7CiAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsK
IAotICAgIFBlcmZUZXN0UnVubmVyLnJ1blBlclNlY29uZCh7cnVuOiBmdW5jdGlvbiAoKSB7Cisg
ICAgUGVyZlRlc3RSdW5uZXIubWVhc3VyZVJ1bnNQZXJTZWNvbmQoe3J1bjogZnVuY3Rpb24gKCkg
ewogICAgICAgICB2YXIgZSA9IHdpbmRvdy5ldnQ7CiAgICAgICAgIGZvciAodmFyIHggPSAwOyB4
IDwga0l0ZXJhdG9uc1BlclRlc3Q7IHgrKykKICAgICAgICAgICAgIGUudGFyZ2V0OwpJbmRleDog
UGVyZm9ybWFuY2VUZXN0cy9CaW5kaW5ncy9maXJzdC1jaGlsZC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFBlcmZvcm1hbmNlVGVzdHMvQmluZGluZ3MvZmlyc3QtY2hpbGQuaHRtbAkocmV2aXNpb24gMTMx
NTQzKQorKysgUGVyZm9ybWFuY2VUZXN0cy9CaW5kaW5ncy9maXJzdC1jaGlsZC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC02LDcgKzYsNyBAQAogdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImRpdiIpOwogZGl2LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp
KTsKIAotUGVyZlRlc3RSdW5uZXIucnVuUGVyU2Vjb25kKHsKK1BlcmZUZXN0UnVubmVyLm1lYXN1
cmVSdW5zUGVyU2Vjb25kKHsKICAgICBkZXNjcmlwdGlvbjogIlRoaXMgYmVuY2htYXJrIGNvdmVy
cyAnZmlyc3RDaGlsZCcsICdsYXN0Q2hpbGQnLCAnbmV4dFNpYmxpbmcnIGFuZCAncHJldmlvdXNT
aWJsaW5nJyBpbiBEcm9tYWVvL2RvbS10cmF2ZXJzZS5odG1sLCBhbmQgb3RoZXIgRE9NIGF0dHJp
YnV0ZXMgdGhhdCByZXR1cm4gYSBOb2RlIG9iamVjdC4iLAogICAgIHJ1bjogZnVuY3Rpb24oKSB7
CiAgICAgICAgIHZhciBsb2NhbERpdiA9IGRpdjsKSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvQmlu
ZGluZ3MvZ2V0LWF0dHJpYnV0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMv
QmluZGluZ3MvZ2V0LWF0dHJpYnV0ZS5odG1sCShyZXZpc2lvbiAxMzE1NDMpCisrKyBQZXJmb3Jt
YW5jZVRlc3RzL0JpbmRpbmdzL2dldC1hdHRyaWJ1dGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
Niw3ICs2LDcgQEAKIDxzY3JpcHQ+CiB2YXIgZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImZvbyIpOwogCi1QZXJmVGVzdFJ1bm5lci5ydW5QZXJTZWNvbmQoeworUGVyZlRlc3RSdW5uZXIu
bWVhc3VyZVJ1bnNQZXJTZWNvbmQoewogICAgIGRlc2NyaXB0aW9uOiAiVGhpcyBiZW5jaG1hcmsg
Y292ZXJzICdnZXRBdHRyaWJ1dGUnIGluIERyb21hZW8vZG9tLWF0dHIuaHRtbCwgYW5kIG90aGVy
IERPTSBtZXRob2RzIHRoYXQgcmV0dXJuIGEgU3RyaW5nLiIsCiAgICAgcnVuOiBmdW5jdGlvbigp
IHsKICAgICAgICAgdmFyIGxvY2FsRGl2ID0gZGl2OwpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9C
aW5kaW5ncy9nZXQtZWxlbWVudC1ieS1pZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNl
VGVzdHMvQmluZGluZ3MvZ2V0LWVsZW1lbnQtYnktaWQuaHRtbAkocmV2aXNpb24gMTMxNTQzKQor
KysgUGVyZm9ybWFuY2VUZXN0cy9CaW5kaW5ncy9nZXQtZWxlbWVudC1ieS1pZC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC00LDcgKzQsNyBAQAogPGRpdiBpZD0iZm9vIj48L2Rpdj4KIDxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvcnVubmVyLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci1QZXJmVGVz
dFJ1bm5lci5ydW5QZXJTZWNvbmQoeworUGVyZlRlc3RSdW5uZXIubWVhc3VyZVJ1bnNQZXJTZWNv
bmQoewogICAgIGRlc2NyaXB0aW9uOiAiVGhpcyBiZW5jaG1hcmsgY292ZXJzICdnZXRFbGVtZW50
QnlJZCcgaW4gRHJvbWFlby9kb20tcXVlcnkuaHRtbCwgYW5kIG90aGVyIERPTSBtZXRob2RzIHRo
YXQgcmV0dXJuIGEgTm9kZSBvYmplY3QuIiwKICAgICBydW46IGZ1bmN0aW9uKCkgewogICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsgaSsrKQpJbmRleDogUGVyZm9ybWFuY2VUZXN0
cy9CaW5kaW5ncy9nZXQtZWxlbWVudHMtYnktdGFnLW5hbWUuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQ
ZXJmb3JtYW5jZVRlc3RzL0JpbmRpbmdzL2dldC1lbGVtZW50cy1ieS10YWctbmFtZS5odG1sCShy
ZXZpc2lvbiAxMzE1NDMpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0JpbmRpbmdzL2dldC1lbGVtZW50
cy1ieS10YWctbmFtZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC00LDcgKzQsNyBAQAogPGRpdj48
L2Rpdj4KIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvcnVubmVyLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQ+Ci1QZXJmVGVzdFJ1bm5lci5ydW5QZXJTZWNvbmQoeworUGVyZlRlc3RSdW5uZXIubWVh
c3VyZVJ1bnNQZXJTZWNvbmQoewogICAgIGRlc2NyaXB0aW9uOiAiVGhpcyBiZW5jaG1hcmsgY292
ZXJzICdnZXRFbGVtZW50c0J5VGFnTmFtZSAobm90IGluIGRvY3VtZW50KScsICdnZXRFbGVtZW50
c0J5VGFnTmFtZScsICdnZXRFbGVtZW50c0J5TmFtZSAobm90IGluIGRvY3VtZW50KScgYW5kICdn
ZXRFbGVtZW50c0J5TmFtZScgaW4gRHJvbWFlby9kb20tcXVlcnkuaHRtbCwgYW5kIG90aGVyIERP
TSBtZXRob2RzIHRoYXQgcmV0dXJuIGEgTm9kZUxpc3QuIiwKICAgICBydW46IGZ1bmN0aW9uKCkg
ewogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDUwMDAwOyBpKyspCkluZGV4OiBQZXJmb3Jt
YW5jZVRlc3RzL0JpbmRpbmdzL2lkLWdldHRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1h
bmNlVGVzdHMvQmluZGluZ3MvaWQtZ2V0dGVyLmh0bWwJKHJldmlzaW9uIDEzMTU0MykKKysrIFBl
cmZvcm1hbmNlVGVzdHMvQmluZGluZ3MvaWQtZ2V0dGVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTYsNyArNiw3IEBACiA8c2NyaXB0PgogdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJmb28iKTsKIAotUGVyZlRlc3RSdW5uZXIucnVuUGVyU2Vjb25kKHsKK1BlcmZUZXN0UnVubmVy
Lm1lYXN1cmVSdW5zUGVyU2Vjb25kKHsKICAgICBkZXNjcmlwdGlvbjogIlRoaXMgYmVuY2htYXJr
IGNvdmVycyAnZWxlbWVudC5wcm9wZXJ0eScgaW4gRHJvbWFlby9kb20tYXR0ci5odG1sLCAnaW5u
ZXJIVE1MJyBpbiBEcm9tYWVvL2RvbS1tb2RpZnkuaHRtbCwgYW5kIG90aGVyIERPTSBhdHRyaWJ1
dGVzIHRoYXQgcmV0dXJuIGEgU3RyaW5nLiIsCiAgICAgcnVuOiBmdW5jdGlvbigpIHsKICAgICAg
ICAgdmFyIGxvY2FsRGl2ID0gZGl2OwpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9CaW5kaW5ncy9p
ZC1zZXR0ZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0JpbmRpbmdzL2lk
LXNldHRlci5odG1sCShyZXZpc2lvbiAxMzE1NDMpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0JpbmRp
bmdzL2lkLXNldHRlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC02LDcgKzYsNyBAQAogPHNjcmlw
dD4KIHZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm9vIik7CiAKLVBlcmZUZXN0
UnVubmVyLnJ1blBlclNlY29uZCh7CitQZXJmVGVzdFJ1bm5lci5tZWFzdXJlUnVuc1BlclNlY29u
ZCh7CiAgICAgZGVzY3JpcHRpb246ICJUaGlzIGJlbmNobWFyayBjb3ZlcnMgJ2VsZW1lbnQucHJv
cGVydHkgPSB2YWx1ZScgaW4gRHJvbWFlby9kb20tYXR0ci5odG1sLCBhbmQgb3RoZXIgRE9NIGF0
dHJpYnV0ZXMgdGhhdCBzZXRzIGEgU3RyaW5nLiIsCiAgICAgcnVuOiBmdW5jdGlvbigpIHsKICAg
ICAgICAgdmFyIGxvY2FsRGl2ID0gZGl2OwpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9CaW5kaW5n
cy9pbnNlcnQtYmVmb3JlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9CaW5k
aW5ncy9pbnNlcnQtYmVmb3JlLmh0bWwJKHJldmlzaW9uIDEzMTU0MykKKysrIFBlcmZvcm1hbmNl
VGVzdHMvQmluZGluZ3MvaW5zZXJ0LWJlZm9yZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC02LDcg
KzYsNyBAQAogdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogdmFyIGNo
aWxkRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAKLVBlcmZUZXN0UnVubmVy
LnJ1blBlclNlY29uZCh7CitQZXJmVGVzdFJ1bm5lci5tZWFzdXJlUnVuc1BlclNlY29uZCh7CiAg
ICAgZGVzY3JpcHRpb246ICJUaGlzIGJlbmNobWFyayBjb3ZlcnMgJ2luc2VydEJlZm9yZScgaW4g
RHJvbWFlby9kb20tbW9kaWZ5Lmh0bWwgYW5kIHJlcGxhY2VDaGlsZCgpIiwKICAgICBzZXR1cDog
ZnVuY3Rpb24oKSB7CiAgICAgICAgIGRpdi5pbm5lckhUTUwgPSAiIjsKSW5kZXg6IFBlcmZvcm1h
bmNlVGVzdHMvQmluZGluZ3Mvbm9kZS1saXN0LWFjY2Vzcy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBl
cmZvcm1hbmNlVGVzdHMvQmluZGluZ3Mvbm9kZS1saXN0LWFjY2Vzcy5odG1sCShyZXZpc2lvbiAx
MzE1NDMpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0JpbmRpbmdzL25vZGUtbGlzdC1hY2Nlc3MuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtNyw3ICs3LDcgQEAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImRpdiIpOwogZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7IGkrKykKICAgICBk
aXYuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpOwogCi1QZXJmVGVz
dFJ1bm5lci5ydW5QZXJTZWNvbmQoeworUGVyZlRlc3RSdW5uZXIubWVhc3VyZVJ1bnNQZXJTZWNv
bmQoewogICAgIGRlc2NyaXB0aW9uOiAiVGhpcyBiZW5jaG1hcmsgY292ZXJzICdjaGlsZE5vZGVz
JyBpbiBEcm9tYWVvL2RvbS10cmF2ZXJzZS5odG1sLCBhbmQgb3RoZXIgRE9NIGF0dHJpYnV0ZXMg
dGhhdCBhY2Nlc3MgTm9kZUxpc3QuIiwKICAgICBydW46IGZ1bmN0aW9uKCkgewogICAgICAgICB2
YXIgY2hpbGROb2RlcyA9IGRpdi5jaGlsZE5vZGVzOwpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9C
aW5kaW5ncy9zY3JvbGwtdG9wLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9C
aW5kaW5ncy9zY3JvbGwtdG9wLmh0bWwJKHJldmlzaW9uIDEzMTU0MykKKysrIFBlcmZvcm1hbmNl
VGVzdHMvQmluZGluZ3Mvc2Nyb2xsLXRvcC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMs
NyBAQAogPGJvZHk+CiA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3J1bm5lci5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0PgotUGVyZlRlc3RSdW5uZXIucnVuUGVyU2Vjb25kKHsKK1BlcmZUZXN0UnVu
bmVyLm1lYXN1cmVSdW5zUGVyU2Vjb25kKHsKICAgICBkZXNjcmlwdGlvbjogIlRoaXMgYmVuY2ht
YXJrIGNvdmVycyBET00gYXR0cmlidXRlcyB0aGF0IHJldHVybiBzbWFsbCBpbnRlZ2Vycy4iLAog
ICAgIHJ1bjogZnVuY3Rpb24oKSB7CiAgICAgICAgIHZhciBsb2NhbEJvZHkgPSBkb2N1bWVudC5i
b2R5OwpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9CaW5kaW5ncy9zZXQtYXR0cmlidXRlLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9CaW5kaW5ncy9zZXQtYXR0cmlidXRlLmh0
bWwJKHJldmlzaW9uIDEzMTU0MykKKysrIFBlcmZvcm1hbmNlVGVzdHMvQmluZGluZ3Mvc2V0LWF0
dHJpYnV0ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC02LDcgKzYsNyBAQAogPHNjcmlwdD4KIHZh
ciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm9vIik7CiAKLVBlcmZUZXN0UnVubmVy
LnJ1blBlclNlY29uZCh7CitQZXJmVGVzdFJ1bm5lci5tZWFzdXJlUnVuc1BlclNlY29uZCh7CiAg
ICAgZGVzY3JpcHRpb246ICJUaGlzIGJlbmNobWFyayBjb3ZlcnMgJ3NldEF0dHJpYnV0ZScgaW4g
RHJvbWFlby9kb20tYXR0ci5odG1sIGFuZCBvdGhlciBET00gbWV0aG9kcyB0aGF0IHJldHVybiBh
biB1bmRlZmluZWQuIiwKICAgICBydW46IGZ1bmN0aW9uKCkgewogICAgICAgICB2YXIgbG9jYWxE
aXYgPSBkaXY7CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0JpbmRpbmdzL3R5cGVkLWFycmF5LWNv
bnN0cnVjdC1mcm9tLWFycmF5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9C
aW5kaW5ncy90eXBlZC1hcnJheS1jb25zdHJ1Y3QtZnJvbS1hcnJheS5odG1sCShyZXZpc2lvbiAx
MzE1NDMpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0JpbmRpbmdzL3R5cGVkLWFycmF5LWNvbnN0cnVj
dC1mcm9tLWFycmF5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTgsNyArOCw3IEBAIHZhciBzb3Vy
Y2UgPSBuZXcgQXJyYXkobGVuZ3RoKTsKIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKysp
CiAgICAgc291cmNlW2ldID0gaTsKIAotUGVyZlRlc3RSdW5uZXIucnVuUGVyU2Vjb25kKHtydW46
IGZ1bmN0aW9uKCkgeworUGVyZlRlc3RSdW5uZXIubWVhc3VyZVJ1bnNQZXJTZWNvbmQoe3J1bjog
ZnVuY3Rpb24oKSB7CiAgICAgdmFyIHRhcmdldCA9IG5ldyBVaW50OEFycmF5KHNvdXJjZSk7CiB9
fSk7CiA8L3NjcmlwdD4KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvQmluZGluZ3MvdHlwZWQtYXJy
YXktY29uc3RydWN0LWZyb20tc2FtZS10eXBlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFu
Y2VUZXN0cy9CaW5kaW5ncy90eXBlZC1hcnJheS1jb25zdHJ1Y3QtZnJvbS1zYW1lLXR5cGUuaHRt
bAkocmV2aXNpb24gMTMxNTQzKQorKysgUGVyZm9ybWFuY2VUZXN0cy9CaW5kaW5ncy90eXBlZC1h
cnJheS1jb25zdHJ1Y3QtZnJvbS1zYW1lLXR5cGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtOCw3
ICs4LDcgQEAgdmFyIHNvdXJjZSA9IG5ldyBVaW50OEFycmF5KGxlbmd0aCk7CiBmb3IgKHZhciBp
ID0gMDsgaSA8IGxlbmd0aDsgaSsrKQogICAgIHNvdXJjZVtpXSA9IGk7CiAKLVBlcmZUZXN0UnVu
bmVyLnJ1blBlclNlY29uZCh7cnVuOiBmdW5jdGlvbigpIHsKK1BlcmZUZXN0UnVubmVyLm1lYXN1
cmVSdW5zUGVyU2Vjb25kKHtydW46IGZ1bmN0aW9uKCkgewogICAgIHZhciB0YXJnZXQgPSBuZXcg
VWludDhBcnJheShzb3VyY2UpOwogfX0pOwogPC9zY3JpcHQ+CkluZGV4OiBQZXJmb3JtYW5jZVRl
c3RzL0JpbmRpbmdzL3R5cGVkLWFycmF5LWNvbnN0cnVjdC1mcm9tLXR5cGVkLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9CaW5kaW5ncy90eXBlZC1hcnJheS1jb25zdHJ1Y3Qt
ZnJvbS10eXBlZC5odG1sCShyZXZpc2lvbiAxMzE1NDMpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0Jp
bmRpbmdzL3R5cGVkLWFycmF5LWNvbnN0cnVjdC1mcm9tLXR5cGVkLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTgsNyArOCw3IEBAIHZhciBzb3VyY2UgPSBuZXcgVWludDhBcnJheShsZW5ndGgpOwog
Zm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykKICAgICBzb3VyY2VbaV0gPSBpOwogCi1Q
ZXJmVGVzdFJ1bm5lci5ydW5QZXJTZWNvbmQoe3J1bjogZnVuY3Rpb24oKSB7CitQZXJmVGVzdFJ1
bm5lci5tZWFzdXJlUnVuc1BlclNlY29uZCh7cnVuOiBmdW5jdGlvbigpIHsKICAgICB2YXIgdGFy
Z2V0ID0gbmV3IEZsb2F0NjRBcnJheShzb3VyY2UpOwogfX0pOwogPC9zY3JpcHQ+CkluZGV4OiBQ
ZXJmb3JtYW5jZVRlc3RzL0JpbmRpbmdzL3R5cGVkLWFycmF5LXNldC1mcm9tLXR5cGVkLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9CaW5kaW5ncy90eXBlZC1hcnJheS1zZXQt
ZnJvbS10eXBlZC5odG1sCShyZXZpc2lvbiAxMzE1NDMpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0Jp
bmRpbmdzL3R5cGVkLWFycmF5LXNldC1mcm9tLXR5cGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTksNyArOSw3IEBAIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspCiAgICAgc291cmNl
W2ldID0gaTsKIHZhciB0YXJnZXQgPSBuZXcgRmxvYXQ2NEFycmF5KGxlbmd0aCk7CiAKLVBlcmZU
ZXN0UnVubmVyLnJ1blBlclNlY29uZCh7cnVuOiBmdW5jdGlvbigpIHsKK1BlcmZUZXN0UnVubmVy
Lm1lYXN1cmVSdW5zUGVyU2Vjb25kKHtydW46IGZ1bmN0aW9uKCkgewogICAgIHRhcmdldC5zZXQo
c291cmNlKTsKIH19KTsKIDwvc2NyaXB0PgpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9CaW5kaW5n
cy91bmRlZmluZWQtZmlyc3QtY2hpbGQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRl
c3RzL0JpbmRpbmdzL3VuZGVmaW5lZC1maXJzdC1jaGlsZC5odG1sCShyZXZpc2lvbiAxMzE1NDMp
CisrKyBQZXJmb3JtYW5jZVRlc3RzL0JpbmRpbmdzL3VuZGVmaW5lZC1maXJzdC1jaGlsZC5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC01LDcgKzUsNyBAQAogPHNjcmlwdD4KIHZhciBkaXYgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKIAotUGVyZlRlc3RSdW5uZXIucnVuUGVyU2Vjb25k
KHsKK1BlcmZUZXN0UnVubmVyLm1lYXN1cmVSdW5zUGVyU2Vjb25kKHsKICAgICBkZXNjcmlwdGlv
bjogIlRoaXMgYmVuY2htYXJrIGNvdmVycyB1bmRlZmluZWQgRE9NIGF0dHJpYnV0ZXMgdGhhdCBy
ZXR1cm4gYSBudWxsLiIsCiAgICAgcnVuOiBmdW5jdGlvbigpIHsKICAgICAgICAgdmFyIGxvY2Fs
RGl2ID0gZGl2OwpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9CaW5kaW5ncy91bmRlZmluZWQtZ2V0
LWVsZW1lbnQtYnktaWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0JpbmRp
bmdzL3VuZGVmaW5lZC1nZXQtZWxlbWVudC1ieS1pZC5odG1sCShyZXZpc2lvbiAxMzE1NDMpCisr
KyBQZXJmb3JtYW5jZVRlc3RzL0JpbmRpbmdzL3VuZGVmaW5lZC1nZXQtZWxlbWVudC1ieS1pZC5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGJvZHk+CiA8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3J1bm5lci5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgotUGVyZlRlc3RSdW5u
ZXIucnVuUGVyU2Vjb25kKHsKK1BlcmZUZXN0UnVubmVyLm1lYXN1cmVSdW5zUGVyU2Vjb25kKHsK
ICAgICBkZXNjcmlwdGlvbjogIlRoaXMgYmVuY2htYXJrIGNvdmVycyAnZ2V0RWxlbWVudEJ5SWQg
KG5vdCBpbiBkb2N1bWVudCknIGluIERyb21hZW8vZG9tLXF1ZXJ5Lmh0bWwsIGFuZCBvdGhlciBO
b2RlLXF1ZXJ5IG1ldGhvZHMgdGhhdCByZXR1cm4gYSBudWxsLiIsCiAgICAgcnVuOiBmdW5jdGlv
bigpIHsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7IGkrKykKSW5kZXg6IFBl
cmZvcm1hbmNlVGVzdHMvQmluZGluZ3MvdW5kZWZpbmVkLWlkLWdldHRlci5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvQmluZGluZ3MvdW5kZWZpbmVkLWlkLWdldHRlci5odG1s
CShyZXZpc2lvbiAxMzE1NDMpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0JpbmRpbmdzL3VuZGVmaW5l
ZC1pZC1nZXR0ZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNSw3ICs1LDcgQEAKIDxzY3JpcHQ+
CiB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAKLVBlcmZUZXN0UnVu
bmVyLnJ1blBlclNlY29uZCh7CitQZXJmVGVzdFJ1bm5lci5tZWFzdXJlUnVuc1BlclNlY29uZCh7
CiAgICAgZGVzY3JpcHRpb246ICJUaGlzIGJlbmNobWFyayBjb3ZlcnMgdW5kZWZpbmVkIERPTSBh
dHRyaWJ1dGVzIHRoYXQgcmV0dXJuIGFuIGVtcHR5IFN0cmluZy4iLAogICAgIHJ1bjogZnVuY3Rp
b24oKSB7CiAgICAgICAgIHZhciBsb2NhbERpdiA9IGRpdjsKSW5kZXg6IFBlcmZvcm1hbmNlVGVz
dHMvQ1NTL0NTU1Byb3BlcnR5U2V0dGVyR2V0dGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9y
bWFuY2VUZXN0cy9DU1MvQ1NTUHJvcGVydHlTZXR0ZXJHZXR0ZXIuaHRtbAkocmV2aXNpb24gMTMx
NTQzKQorKysgUGVyZm9ybWFuY2VUZXN0cy9DU1MvQ1NTUHJvcGVydHlTZXR0ZXJHZXR0ZXIuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtNzEsNyArNzEsNyBAQCB2YXIgcHJvcGVydGllcyA9IHsKICd3
ZWJraXRUcmFuc2Zvcm0nIDogJ3NjYWxlM2QoMC41LCAwLjUsIDAuNSknLAogJ3dvcmRTcGFjaW5n
JyA6ICc0MHB4JywKIH07Ci1QZXJmVGVzdFJ1bm5lci5ydW5QZXJTZWNvbmQoe3J1bjpmdW5jdGlv
bigpIHsKK1BlcmZUZXN0UnVubmVyLm1lYXN1cmVSdW5zUGVyU2Vjb25kKHtydW46ZnVuY3Rpb24o
KSB7CiAgICAgZm9yIChrZXkgaW4gcHJvcGVydGllcykgewogICAgICAgICB2YXIgdmFsdWUgPSBk
aXYuc3R5bGVba2V5XTsKICAgICAgICAgZGl2LnN0eWxlW2tleV0gPSAiIjsKSW5kZXg6IFBlcmZv
cm1hbmNlVGVzdHMvQ1NTL0NTU1Byb3BlcnR5VXBkYXRlVmFsdWUuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBQZXJmb3JtYW5jZVRlc3RzL0NTUy9DU1NQcm9wZXJ0eVVwZGF0ZVZhbHVlLmh0bWwJKHJldmlz
aW9uIDEzMTU0MykKKysrIFBlcmZvcm1hbmNlVGVzdHMvQ1NTL0NTU1Byb3BlcnR5VXBkYXRlVmFs
dWUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNzIsNyArNzIsNyBAQCB2YXIgcHJvcGVydGllcyA9
IHsKICd3b3JkU3BhY2luZycgOiAnNDBweCcsCiB9OwogLy8gVGhlIGZpcnN0IHJ1biB3aWxsIGp1
c3QgYWRkIHRoZSBwcm9wZXJ0aWVzIGJ1dCBpdCdzIGZpbmUgYXMgdGhlIGZpcnN0IHJ1biBvZiB0
aGUgYmVuY2htYXJrIGlzIGFsd2F5cyBpZ25vcmVkLgotUGVyZlRlc3RSdW5uZXIucnVuUGVyU2Vj
b25kKHtydW46ZnVuY3Rpb24oKSB7CitQZXJmVGVzdFJ1bm5lci5tZWFzdXJlUnVuc1BlclNlY29u
ZCh7cnVuOmZ1bmN0aW9uKCkgewogICAgIGZvciAoa2V5IGluIHByb3BlcnRpZXMpCiAgICAgICAg
IGRpdi5zdHlsZVtrZXldID0gcHJvcGVydGllc1trZXldOwogfX0pOwpJbmRleDogUGVyZm9ybWFu
Y2VUZXN0cy9DU1MvUHNldWRvQ2xhc3NTZWxlY3RvcnMuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJm
b3JtYW5jZVRlc3RzL0NTUy9Qc2V1ZG9DbGFzc1NlbGVjdG9ycy5odG1sCShyZXZpc2lvbiAxMzE1
NDMpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0NTUy9Qc2V1ZG9DbGFzc1NlbGVjdG9ycy5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0yMyw3ICsyMyw3IEBACiA8L2Rpdj4KIDxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvcnVubmVyLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci1QZXJmVGVzdFJ1bm5lci5y
dW5QZXJTZWNvbmQoeworUGVyZlRlc3RSdW5uZXIubWVhc3VyZVJ1bnNQZXJTZWNvbmQoewogICAg
IGRlc2NyaXB0aW9uOiAiVGhpcyBiZW5jaG1hcmsgdGVzdHMgQ1NTIFNlbGVjdG9yIHBlcmZvcm1h
bmNlIHdpdGggcXVlcnlTZWxlY3RvcigpLiIsCiAgICAgcnVuOiBmdW5jdGlvbigpIHsKICAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDA7IGkrKykgewpJbmRleDogUGVyZm9ybWFuY2VUZXN0
cy9ET00vdGV4dGFyZWEtZG9tLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9E
T00vdGV4dGFyZWEtZG9tLmh0bWwJKHJldmlzaW9uIDEzMTU0MykKKysrIFBlcmZvcm1hbmNlVGVz
dHMvRE9NL3RleHRhcmVhLWRvbS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xNiw3ICsxNiw3IEBA
IHZhciBub2RlcyA9IFtdOwogdmFyIGNoaWxkQ291bnQgPSAxMDAwOwogZm9yICh2YXIgaSA9IDA7
IGkgPCBjaGlsZENvdW50OyArK2kpCiAgICAgbm9kZXMucHVzaChkb2N1bWVudC5jcmVhdGVUZXh0
Tm9kZSgnQSBxdWljayBicm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2cuXG4nKSk7Ci1Q
ZXJmVGVzdFJ1bm5lci5ydW5QZXJTZWNvbmQoe3J1bjogZnVuY3Rpb24oKSB7CitQZXJmVGVzdFJ1
bm5lci5tZWFzdXJlUnVuc1BlclNlY29uZCh7cnVuOiBmdW5jdGlvbigpIHsKICAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IGNoaWxkQ291bnQ7ICsraSkKICAgICAgICAgY29udGFpbmVyLmFwcGVuZENo
aWxkKG5vZGVzW2ldKTsKICAgICBjb250YWluZXIuaW5uZXJIVE1MID0gJyc7CkluZGV4OiBQZXJm
b3JtYW5jZVRlc3RzL0RPTS90ZXh0YXJlYS1lZGl0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9y
bWFuY2VUZXN0cy9ET00vdGV4dGFyZWEtZWRpdC5odG1sCShyZXZpc2lvbiAxMzE1NDMpCisrKyBQ
ZXJmb3JtYW5jZVRlc3RzL0RPTS90ZXh0YXJlYS1lZGl0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTEzLDcgKzEzLDcgQEAgdGV4dGFyZWE6aW52YWxpZCB7CiA8c2NyaXB0PgogdmFyIGNvbnRhaW5l
ciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXInKTsKIGNvbnRhaW5lci5mb2N1
cygpOwotUGVyZlRlc3RSdW5uZXIucnVuUGVyU2Vjb25kKHtydW46IGZ1bmN0aW9uKCkgeworUGVy
ZlRlc3RSdW5uZXIubWVhc3VyZVJ1bnNQZXJTZWNvbmQoe3J1bjogZnVuY3Rpb24oKSB7CiAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCA1MDA7ICsraSkKICAgICAgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoJ2luc2VydFRleHQnLCBmYWxzZSwgJ0EgcXVpY2sgYnJvd24gZm94IGp1bXBzIG92ZXIgdGhl
IGxhenkgZG9nLlxuJyk7CiAgICAgY29udGFpbmVyLnZhbHVlID0gJyc7CkluZGV4OiBQZXJmb3Jt
YW5jZVRlc3RzL0ludGVyYWN0aXZlL3Jlc291cmNlcy93aW5kb3ctcmVzaXplLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvSW50ZXJhY3RpdmUvcmVzb3VyY2VzL3dpbmRvdy1yZXNp
emUuanMJKHJldmlzaW9uIDEzMTU0MykKKysrIFBlcmZvcm1hbmNlVGVzdHMvSW50ZXJhY3RpdmUv
cmVzb3VyY2VzL3dpbmRvdy1yZXNpemUuanMJKHdvcmtpbmcgY29weSkKQEAgLTIwLDcgKzIwLDcg
QEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIH07CiAKICAgICBmdW5jdGlvbiBzdGFydFRl
c3QoKSB7Ci0gICAgICAgIFBlcmZUZXN0UnVubmVyLnJ1blBlclNlY29uZCh7CisgICAgICAgIFBl
cmZUZXN0UnVubmVyLm1lYXN1cmVSdW5zUGVyU2Vjb25kKHsKICAgICAgICAgICAgIGRlc2NyaXB0
aW9uOiAiRXhlcmNpc2luZyB3aW5kb3cgcmVzaXplIGFuZCBmb2xsb3dpbmcgcmVsYXlvdXQiLAog
ICAgICAgICAgICAgcnVuOiBydW4sCiAgICAgICAgICAgICBkb25lOiBvblRlc3REb25lCkluZGV4
OiBQZXJmb3JtYW5jZVRlc3RzL0xheW91dC9mbGV4Ym94LWNvbHVtbi1ub3dyYXAuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0xheW91dC9mbGV4Ym94LWNvbHVtbi1ub3dyYXAu
aHRtbAkocmV2aXNpb24gMTMxNTQzKQorKysgUGVyZm9ybWFuY2VUZXN0cy9MYXlvdXQvZmxleGJv
eC1jb2x1bW4tbm93cmFwLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAgZnVu
Y3Rpb24gcnVuVGVzdCgpCiAgICAgZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQ7CiB9CiAKLVBl
cmZUZXN0UnVubmVyLnJ1blBlclNlY29uZCh7cnVuOiBydW5UZXN0LCBkb25lOiBmdW5jdGlvbigp
IHsKK1BlcmZUZXN0UnVubmVyLm1lYXN1cmVSdW5zUGVyU2Vjb25kKHtydW46IHJ1blRlc3QsIGRv
bmU6IGZ1bmN0aW9uKCkgewogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmbGV4Ym94Iiku
c3R5bGUuZGlzcGxheSA9ICdub25lJzsKIH19KTsKIDwvc2NyaXB0PgpJbmRleDogUGVyZm9ybWFu
Y2VUZXN0cy9MYXlvdXQvZmxleGJveC1jb2x1bW4td3JhcC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBl
cmZvcm1hbmNlVGVzdHMvTGF5b3V0L2ZsZXhib3gtY29sdW1uLXdyYXAuaHRtbAkocmV2aXNpb24g
MTMxNTQzKQorKysgUGVyZm9ybWFuY2VUZXN0cy9MYXlvdXQvZmxleGJveC1jb2x1bW4td3JhcC5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBAIGZ1bmN0aW9uIHJ1blRlc3QoKQog
ICAgIGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0OwogfQogCi1QZXJmVGVzdFJ1bm5lci5ydW5Q
ZXJTZWNvbmQoe3J1bjogcnVuVGVzdCwgZG9uZTpmdW5jdGlvbigpIHsKK1BlcmZUZXN0UnVubmVy
Lm1lYXN1cmVSdW5zUGVyU2Vjb25kKHtydW46IHJ1blRlc3QsIGRvbmU6ZnVuY3Rpb24oKSB7CiAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZsZXhib3giKS5zdHlsZS5kaXNwbGF5ID0gJ25v
bmUnOwogfX0pOwogPC9zY3JpcHQ+CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0xheW91dC9mbGV4
Ym94LXJvdy1ub3dyYXAuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0xheW91
dC9mbGV4Ym94LXJvdy1ub3dyYXAuaHRtbAkocmV2aXNpb24gMTMxNTQzKQorKysgUGVyZm9ybWFu
Y2VUZXN0cy9MYXlvdXQvZmxleGJveC1yb3ctbm93cmFwLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTI4LDcgKzI4LDcgQEAgZnVuY3Rpb24gcnVuVGVzdCgpCiAgICAgZG9jdW1lbnQuYm9keS5jbGll
bnRIZWlnaHQ7CiB9CiAKLVBlcmZUZXN0UnVubmVyLnJ1blBlclNlY29uZCh7cnVuOnJ1blRlc3Qs
IGRvbmU6ZnVuY3Rpb24oKSB7CitQZXJmVGVzdFJ1bm5lci5tZWFzdXJlUnVuc1BlclNlY29uZCh7
cnVuOnJ1blRlc3QsIGRvbmU6ZnVuY3Rpb24oKSB7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImZsZXhib3giKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogfX0pOwogPC9zY3JpcHQ+Cklu
ZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0xheW91dC9mbGV4Ym94LXJvdy13cmFwLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9MYXlvdXQvZmxleGJveC1yb3ctd3JhcC5odG1sCShy
ZXZpc2lvbiAxMzE1NDMpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0xheW91dC9mbGV4Ym94LXJvdy13
cmFwLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAgZnVuY3Rpb24gcnVuVGVz
dCgpCiAgICAgZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQ7CiB9CiAKLVBlcmZUZXN0UnVubmVy
LnJ1blBlclNlY29uZCh7cnVuOiBydW5UZXN0LCBkb25lOmZ1bmN0aW9uKCkgeworUGVyZlRlc3RS
dW5uZXIubWVhc3VyZVJ1bnNQZXJTZWNvbmQoe3J1bjogcnVuVGVzdCwgZG9uZTpmdW5jdGlvbigp
IHsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmxleGJveCIpLnN0eWxlLmRpc3BsYXkg
PSAnbm9uZSc7CiB9fSk7CiA8L3NjcmlwdD4KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvTGF5b3V0
L2xpbmUtbGF5b3V0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9MYXlvdXQv
bGluZS1sYXlvdXQuaHRtbAkocmV2aXNpb24gMTMxNTQzKQorKysgUGVyZm9ybWFuY2VUZXN0cy9M
YXlvdXQvbGluZS1sYXlvdXQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtODYsNyArODYsNyBAQAog
ICAgICAgICAgICAgc3R5bGUuZGlzcGxheSA9ICJub25lIjsKICAgICAgICAgfQogCi0gICAgICAg
IFBlcmZUZXN0UnVubmVyLnJ1blBlclNlY29uZCh7IHJ1bjogdGVzdCB9KTsKKyAgICAgICAgUGVy
ZlRlc3RSdW5uZXIubWVhc3VyZVJ1bnNQZXJTZWNvbmQoeyBydW46IHRlc3QgfSk7CiAgICAgPC9z
Y3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL1BhcnNlci9j
c3MtcGFyc2VyLXl1aS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvUGFyc2Vy
L2Nzcy1wYXJzZXIteXVpLmh0bWwJKHJldmlzaW9uIDEzMTU0MykKKysrIFBlcmZvcm1hbmNlVGVz
dHMvUGFyc2VyL2Nzcy1wYXJzZXIteXVpLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTI2MTksNyAr
MjYxOSw3IEBAIGxlZ2VuZCB7CiB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzdHlsZUVsZW1lbnQiKTsKIHZhciBjc3NUZXh0ID0gZWxlbWVudC50ZXh0Q29udGVudDsKIHZh
ciBjb3VudCA9IDA7Ci1QZXJmVGVzdFJ1bm5lci5ydW5QZXJTZWNvbmQoe3J1bjpmdW5jdGlvbigp
IHsKK1BlcmZUZXN0UnVubmVyLm1lYXN1cmVSdW5zUGVyU2Vjb25kKHtydW46ZnVuY3Rpb24oKSB7
CiAgICAgZWxlbWVudC50ZXh0Q29udGVudCA9ICIiOwogICAgIGVsZW1lbnQudGV4dENvbnRlbnQg
PSBjc3NUZXh0ICsgIiNzb21lIiArIGNvdW50ICsgIntjb2xvcjpibGFja307IjsKICAgICBjb3Vu
dCsrOwpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9QYXJzZXIvaW5uZXJIVE1MLXNldHRlci5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvUGFyc2VyL2lubmVySFRNTC1zZXR0ZXIu
aHRtbAkocmV2aXNpb24gMTMxNTQzKQorKysgUGVyZm9ybWFuY2VUZXN0cy9QYXJzZXIvaW5uZXJI
VE1MLXNldHRlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMSw3ICsxMSw3IEBAIHZhciBkaXYg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQoZGl2KTsKIHZhciB0cmVlID0gZ2VuZXJhdGVCaW5ET01UcmVlKDEwKTsKIAotUGVyZlRlc3RS
dW5uZXIucnVuUGVyU2Vjb25kKHsKK1BlcmZUZXN0UnVubmVyLm1lYXN1cmVSdW5zUGVyU2Vjb25k
KHsKICAgICBkZXNjcmlwdGlvbjogIlRoaXMgYmVuY2htYXJrIHRlc3RzIGlubmVySFRNTCBzZXR0
ZXIgZm9yIGEgbGFyZ2UgRE9NIHRyZWUiLAogICAgIHJ1bjogZnVuY3Rpb24oKSB7CiAgICAgICAg
IGRpdi5pbm5lckhUTUwgPSB0cmVlOwpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9QYXJzZXIvcXVl
cnktc2VsZWN0b3ItZGVlcC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvUGFy
c2VyL3F1ZXJ5LXNlbGVjdG9yLWRlZXAuaHRtbAkocmV2aXNpb24gMTMxNTQzKQorKysgUGVyZm9y
bWFuY2VUZXN0cy9QYXJzZXIvcXVlcnktc2VsZWN0b3ItZGVlcC5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0xNyw3ICsxNyw3IEBAIGgxLmlkID0gImlkIjsKIGgxLmNsYXNzTmFtZSA9ICJjbGFzcyI7
CiBwYXJlbnREaXYuYXBwZW5kQ2hpbGQoaDEpOwogCi1QZXJmVGVzdFJ1bm5lci5ydW5QZXJTZWNv
bmQoeworUGVyZlRlc3RSdW5uZXIubWVhc3VyZVJ1bnNQZXJTZWNvbmQoewogICAgIGRlc2NyaXB0
aW9uOiAiVGhpcyBiZW5jaG1hcmsgdGVzdHMgcXVlcnlTZWxlY3RvcigpIGZvciBhbiBlbGVtZW50
IHRoYXQgYXBwZWFycyBpbiB0aGUgZGVwdGhzIGluIHRoZSBkb2N1bWVudCIsCiAgICAgcnVuOiBm
dW5jdGlvbigpIHsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDA7IGkrKykgewpJbmRl
eDogUGVyZm9ybWFuY2VUZXN0cy9QYXJzZXIvcXVlcnktc2VsZWN0b3ItZmlyc3QuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL1BhcnNlci9xdWVyeS1zZWxlY3Rvci1maXJzdC5o
dG1sCShyZXZpc2lvbiAxMzE1NDMpCisrKyBQZXJmb3JtYW5jZVRlc3RzL1BhcnNlci9xdWVyeS1z
ZWxlY3Rvci1maXJzdC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC00LDcgKzQsNyBAQAogPGgxIGlk
PSJpZCIgY2xhc3M9ImNsYXNzIj48L2gxPgogPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9ydW5u
ZXIuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KLVBlcmZUZXN0UnVubmVyLnJ1blBlclNlY29uZCh7
CitQZXJmVGVzdFJ1bm5lci5tZWFzdXJlUnVuc1BlclNlY29uZCh7CiAgICAgZGVzY3JpcHRpb246
ICJUaGlzIGJlbmNobWFyayB0ZXN0cyBxdWVyeVNlbGVjdG9yKCkgZm9yIGFuIGVsZW1lbnQgdGhh
dCBhcHBlYXJzIG5lYXIgdGhlIGhlYWQgb2YgdGhlIGRvY3VtZW50IiwKICAgICBydW46IGZ1bmN0
aW9uKCkgewogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDA7IGkrKykgewpJbmRleDog
UGVyZm9ybWFuY2VUZXN0cy9QYXJzZXIvcXVlcnktc2VsZWN0b3ItbGFzdC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvUGFyc2VyL3F1ZXJ5LXNlbGVjdG9yLWxhc3QuaHRtbAko
cmV2aXNpb24gMTMxNTQzKQorKysgUGVyZm9ybWFuY2VUZXN0cy9QYXJzZXIvcXVlcnktc2VsZWN0
b3ItbGFzdC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xNSw3ICsxNSw3IEBAIGgxLmlkID0gImlk
IjsKIGgxLmNsYXNzTmFtZSA9ICJjbGFzcyI7CiBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGgx
KTsKIAotUGVyZlRlc3RSdW5uZXIucnVuUGVyU2Vjb25kKHsKK1BlcmZUZXN0UnVubmVyLm1lYXN1
cmVSdW5zUGVyU2Vjb25kKHsKICAgICBkZXNjcmlwdGlvbjogIlRoaXMgYmVuY2htYXJrIHRlc3Rz
IHF1ZXJ5U2VsZWN0b3IoKSBmb3IgYW4gZWxlbWVudCB0aGF0IGFwcGVhcnMgbmVhciB0aGUgdGFp
bCBvZiB0aGUgZG9jdW1lbnQiLAogICAgIHJ1bjogZnVuY3Rpb24oKSB7CiAgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgMTAwOyBpKyspIHsKSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvUGFyc2Vy
L3NpbXBsZS11cmwuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL1BhcnNlci9z
aW1wbGUtdXJsLmh0bWwJKHJldmlzaW9uIDEzMTU0MykKKysrIFBlcmZvcm1hbmNlVGVzdHMvUGFy
c2VyL3NpbXBsZS11cmwuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvcnVubmVyLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+CiB2YXIg
YW5jaG9yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpOwotUGVyZlRlc3RSdW5uZXIucnVu
UGVyU2Vjb25kKHtydW46ZnVuY3Rpb24oKSB7CitQZXJmVGVzdFJ1bm5lci5tZWFzdXJlUnVuc1Bl
clNlY29uZCh7cnVuOmZ1bmN0aW9uKCkgewogICAgIGZvciAodmFyIHggPSAwOyB4IDwgMjAwMDAw
OyB4KyspIHsKICAgICAgICAgYW5jaG9yLmhyZWYgPSAiaHR0cDovL3d3dy5hcHBsZS5jb20vIgog
ICAgIH0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvUGFyc2VyL3RleHRhcmVhLXBhcnNpbmcuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL1BhcnNlci90ZXh0YXJlYS1wYXJzaW5n
Lmh0bWwJKHJldmlzaW9uIDEzMTU0MykKKysrIFBlcmZvcm1hbmNlVGVzdHMvUGFyc2VyL3RleHRh
cmVhLXBhcnNpbmcuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjAsNyArMjAsNyBAQCBmb3IgKHZh
ciBpID0gMDsgaSA8IDEwMDA7ICsraSkgewogaHRtbFRleHQgKz0gIjwvdGV4dGFyZWE+IgogCiB2
YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOwotUGVy
ZlRlc3RSdW5uZXIucnVuUGVyU2Vjb25kKHtydW46IGZ1bmN0aW9uKCkgeworUGVyZlRlc3RSdW5u
ZXIubWVhc3VyZVJ1bnNQZXJTZWNvbmQoe3J1bjogZnVuY3Rpb24oKSB7CiAgICAgY29udGFpbmVy
LmlubmVySFRNTCA9IGh0bWxUZXh0OwogfX0pOwogPC9zY3JpcHQ+CkluZGV4OiBQZXJmb3JtYW5j
ZVRlc3RzL1BhcnNlci90aW55LWlubmVySFRNTC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1h
bmNlVGVzdHMvUGFyc2VyL3RpbnktaW5uZXJIVE1MLmh0bWwJKHJldmlzaW9uIDEzMTU0MykKKysr
IFBlcmZvcm1hbmNlVGVzdHMvUGFyc2VyL3RpbnktaW5uZXJIVE1MLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTIsNyArMiw3IEBACiA8Ym9keT4KIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvcnVu
bmVyLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci1QZXJmVGVzdFJ1bm5lci5ydW5QZXJTZWNvbmQo
e3J1bjpmdW5jdGlvbigpIHsKK1BlcmZUZXN0UnVubmVyLm1lYXN1cmVSdW5zUGVyU2Vjb25kKHty
dW46ZnVuY3Rpb24oKSB7CiAgICAgdmFyIHRlc3REaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsKICAgICB0ZXN0RGl2LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CiAgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZCh0ZXN0RGl2KTsKSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvUGFy
c2VyL3VybC1wYXJzZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL1BhcnNl
ci91cmwtcGFyc2VyLmh0bWwJKHJldmlzaW9uIDEzMTU0MykKKysrIFBlcmZvcm1hbmNlVGVzdHMv
UGFyc2VyL3VybC1wYXJzZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNSw3ICs1LDcgQEAKIHZh
ciB1cmxzID0gUGVyZlRlc3RSdW5uZXIubG9hZEZpbGUoInJlc291cmNlcy9maW5hbC11cmwtZW4i
KS5zcGxpdCgiXG4iKTsKIHZhciBhbmNob3IgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7
CiAKLVBlcmZUZXN0UnVubmVyLnJ1blBlclNlY29uZCh7cnVuOmZ1bmN0aW9uKCkgeworUGVyZlRl
c3RSdW5uZXIubWVhc3VyZVJ1bnNQZXJTZWNvbmQoe3J1bjpmdW5jdGlvbigpIHsKICAgICBmb3Ig
KHZhciB4ID0gMDsgeCA8IHVybHMubGVuZ3RoOyB4KyspIHsKICAgICAgICAgYW5jaG9yLmhyZWYg
PSB1cmxzW3hdOwogICAgIH0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvUGFyc2VyL3htbC1wYXJz
ZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL1BhcnNlci94bWwtcGFyc2Vy
Lmh0bWwJKHJldmlzaW9uIDEzMTU0MykKKysrIFBlcmZvcm1hbmNlVGVzdHMvUGFyc2VyL3htbC1w
YXJzZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTEsNyArMTEsNyBAQCBmb3IgKHZhciBpID0g
MDsgaSA8IDB4N0ZGRjsgKytpKQogeG1sQXJyYXkucHVzaCgnPC9yb290PicpCiB2YXIgeG1sRGF0
YSA9IHhtbEFycmF5LmpvaW4oJycpOwogCi1QZXJmVGVzdFJ1bm5lci5ydW5QZXJTZWNvbmQoe3J1
bjpmdW5jdGlvbigpIHsKK1BlcmZUZXN0UnVubmVyLm1lYXN1cmVSdW5zUGVyU2Vjb25kKHtydW46
ZnVuY3Rpb24oKSB7CiAgICAgZG9tUGFyc2VyLnBhcnNlRnJvbVN0cmluZyh4bWxEYXRhLCAidGV4
dC94bWwiKTsKIH19KTsKIDwvc2NyaXB0PgpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9TVkcvU3Zn
TmVzdGVkVXNlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9TVkcvU3ZnTmVz
dGVkVXNlLmh0bWwJKHJldmlzaW9uIDEzMTU0MykKKysrIFBlcmZvcm1hbmNlVGVzdHMvU1ZHL1N2
Z05lc3RlZFVzZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC03Miw3ICs3Miw3IEBACiAgICAgICAg
IH0KIAogICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgIFBlcmZU
ZXN0UnVubmVyLnJ1blBlclNlY29uZCh7IHJ1bjogbmV3RnJhbWUsIGRvbmU6IGZ1bmN0aW9uKCkg
eworICAgICAgICAgICAgUGVyZlRlc3RSdW5uZXIubWVhc3VyZVJ1bnNQZXJTZWNvbmQoeyBydW46
IG5ld0ZyYW1lLCBkb25lOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnd3JhcHBlcicpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAg
ICAgICB9fSk7CiAgICAgICAgIH0gZWxzZQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9yZXNvdXJj
ZXMvcnVubmVyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvcmVzb3VyY2VzL3J1
bm5lci5qcwkocmV2aXNpb24gMTMxNjM4KQorKysgUGVyZm9ybWFuY2VUZXN0cy9yZXNvdXJjZXMv
cnVubmVyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yNzMsNyArMjczLDcgQEAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7CiAgICAgICAgIHJldHVybiBlbmQgLSBzdGFydDsKICAgICB9CiAKLSAgICBQ
ZXJmVGVzdFJ1bm5lci5ydW5QZXJTZWNvbmQgPSBmdW5jdGlvbiAodGVzdCkgeworICAgIFBlcmZU
ZXN0UnVubmVyLm1lYXN1cmVSdW5zUGVyU2Vjb25kID0gZnVuY3Rpb24gKHRlc3QpIHsKICAgICAg
ICAgUGVyZlRlc3RSdW5uZXIudW5pdCA9ICJydW5zL3MiOwogICAgICAgICBzdGFydCh0ZXN0LCBt
ZWFzdXJlUnVuc1BlclNlY29uZE9uY2UpOwogICAgIH0K
</data>
<flag name="review"
          id="182502"
          type_id="1"
          status="+"
          setter="dpranke"
    />
          </attachment>
      

    </bug>

</bugzilla>