<?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>169688</bug_id>
          
          <creation_ts>2017-03-15 12:01:40 -0700</creation_ts>
          <short_desc>Add tests for privileged-api/create-analysis-task and privileged-api/create-test-group</short_desc>
          <delta_ts>2017-03-15 12:31:35 -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>Perf Dashboard</component>
          <version>WebKit 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="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1288167</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-03-15 12:01:40 -0700</bug_when>
    <thetext>These two JSON APIs need tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288173</commentid>
    <comment_count>1</comment_count>
      <attachid>304524</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-03-15 12:08:24 -0700</bug_when>
    <thetext>Created attachment 304524
Adds tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288174</commentid>
    <comment_count>2</comment_count>
      <attachid>304524</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-03-15 12:09:41 -0700</bug_when>
    <thetext>Comment on attachment 304524
Adds tests

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288176</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-03-15 12:15:04 -0700</bug_when>
    <thetext>Committed r213998: &lt;http://trac.webkit.org/changeset/213998&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288185</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-03-15 12:30:31 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288186</commentid>
    <comment_count>5</comment_count>
      <attachid>304528</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-03-15 12:30:34 -0700</bug_when>
    <thetext>Created attachment 304528
Fixes the tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288188</commentid>
    <comment_count>6</comment_count>
      <attachid>304528</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-03-15 12:31:19 -0700</bug_when>
    <thetext>Comment on attachment 304528
Fixes the tests

Wrong bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304524</attachid>
            <date>2017-03-15 12:08:24 -0700</date>
            <delta_ts>2017-03-15 12:31:28 -0700</delta_ts>
            <desc>Adds tests</desc>
            <filename>bug-169688-20170315120823.patch</filename>
            <type>text/plain</type>
            <size>32828</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkocmV2aXNpb24gMjEzOTk2KQorKysg
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI5IEBACisyMDE3LTAzLTE1ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgor
CisgICAgICAgIEFkZCB0ZXN0cyBmb3IgcHJpdmlsZWdlZC1hcGkvY3JlYXRlLWFuYWx5c2lzLXRh
c2sgYW5kIHByaXZpbGVnZWQtYXBpL2NyZWF0ZS10ZXN0LWdyb3VwCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjk2ODgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0ZXN0cyBmb3IgcHJpdmlsZWdl
ZC1hcGkvY3JlYXRlLWFuYWx5c2lzLXRhc2sgYW5kIHByaXZpbGVnZWQtYXBpL2NyZWF0ZS10ZXN0
LWdyb3VwLCBhbmQgZml4ZWQgbmV3bHkgZm91bmQgYnVncy4KKworICAgICAgICAqIHB1YmxpYy9w
cml2aWxlZ2VkLWFwaS9jcmVhdGUtYW5hbHlzaXMtdGFzay5waHA6CisgICAgICAgIChtYWluKTog
Rml4ZWQgdGhlIGJ1ZyB0aGF0IHdlIHdlcmUgbm90IGV4cGxpY2l0bHkgY2hlY2tpbmcgd2hldGhl
ciBzdGFydF9ydW4gYW5kIGVuZF9ydW4gd2VyZSBpbnRlZ2VycyBvciBub3QuCisgICAgICAgIEFs
c28gcmV0dXJuIEludmFsaWRUaW1lUmFuZ2Ugd2hlbiBzdGFydCBhbmQgZW5kIHRpbWVzIGFyZSBp
ZGVudGljYWwgYXMgdGhhdCBtYWtlcyBubyBzZW5zZSBmb3IgYW4gYW5hbHlzaXMgdGFzay4KKwor
ICAgICAgICAqIHB1YmxpYy9wcml2aWxlZ2VkLWFwaS9jcmVhdGUtdGVzdC1ncm91cC5waHA6Cisg
ICAgICAgIChtYWluKTogRml4ZWQgYSBidWcgdGhhdCB3ZSB3ZXJlIG5vdCBleHBsaWNpdGx5IGNo
ZWNraW5nIHRhc2sgYW5kIHJlcGV0aXRpb25Db3VudCB0byBiZSBhbiBpbnRlZ2VyLgorICAgICAg
ICAoZW5zdXJlX2NvbW1pdF9zZXRzKTogRml4ZWQgdGhlIGJ1ZyB0aGF0IHRoZSBudW1iZXIgb2Yg
Y29tbWl0IHNldHMgd2VyZW4ndCBjaGVja2VkLiAKKworICAgICAgICAqIHNlcnZlci10ZXN0cy9w
cml2aWxlZ2VkLWFwaS1jcmVhdGUtYW5hbHlzaXMtdGFzay10ZXN0cy5qczogQWRkZWQuCisgICAg
ICAgICogc2VydmVyLXRlc3RzL3ByaXZpbGVnZWQtYXBpLWNyZWF0ZS10ZXN0LWdyb3VwLXRlc3Rz
LmpzOiBBZGRlZC4KKworICAgICAgICAqIHNlcnZlci10ZXN0cy9yZXNvdXJjZXMvY29tbW9uLW9w
ZXJhdGlvbnMuanM6CisgICAgICAgIChwcmVwYXJlU2VydmVyVGVzdCk6IEluY3JlYXNlIHRoZSB0
aW1lb3V0IGZyb20gMXMgdG8gNXMuCisKKyAgICAgICAgKiBzZXJ2ZXItdGVzdHMvcmVzb3VyY2Vz
L21vY2stZGF0YS5qczoKKyAgICAgICAgKE1vY2tEYXRhLmFkZE1vY2tEYXRhKTogVXNlIGEgaGln
aGVyIGRhdGFiYXNlIElEIG9mIDIwIGZvciBhIG1vY2sgYnVpbGRfc2xhdmUgdG8gYXZvaWQgYSBj
b25mbGljdCB3aXRoIGF1dG8tZ2VuZXJhdGVkIElEcy4KKwogMjAxNy0wMy0xNSAgUnlvc3VrZSBO
aXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBNYWtlIHVuaXQgdGVzdHMgcmV0dXJu
IGEgcHJvbWlzZSBpbnN0ZWFkIG9mIG1hbnVhbGx5IGNhbGxpbmcgZG9uZQpJbmRleDogV2Vic2l0
ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9wcml2aWxlZ2VkLWFwaS9jcmVhdGUtYW5hbHlzaXMt
dGFzay5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9w
cml2aWxlZ2VkLWFwaS9jcmVhdGUtYW5hbHlzaXMtdGFzay5waHAJKHJldmlzaW9uIDIxMzk5NikK
KysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvcHJpdmlsZWdlZC1hcGkvY3JlYXRl
LWFuYWx5c2lzLXRhc2sucGhwCSh3b3JraW5nIGNvcHkpCkBAIC04LDI2ICs4LDI1IEBAIGZ1bmN0
aW9uIG1haW4oKSB7CiAKICAgICAkYXV0aG9yID0gcmVtb3RlX3VzZXJfbmFtZSgkZGF0YSk7CiAg
ICAgJG5hbWUgPSBhcnJheV9nZXQoJGRhdGEsICduYW1lJyk7Ci0gICAgJHN0YXJ0X3J1bl9pZCA9
IGFycmF5X2dldCgkZGF0YSwgJ3N0YXJ0UnVuJyk7Ci0gICAgJGVuZF9ydW5faWQgPSBhcnJheV9n
ZXQoJGRhdGEsICdlbmRSdW4nKTsKIAogICAgICRzZWdtZW50YXRpb25fbmFtZSA9IGFycmF5X2dl
dCgkZGF0YSwgJ3NlZ21lbnRhdGlvblN0cmF0ZWd5Jyk7CiAgICAgJHRlc3RfcmFuZ2VfbmFtZSA9
IGFycmF5X2dldCgkZGF0YSwgJ3Rlc3RSYW5nZVN0cmF0ZWd5Jyk7CiAKICAgICBpZiAoISRuYW1l
KQogICAgICAgICBleGl0X3dpdGhfZXJyb3IoJ01pc3NpbmdOYW1lJywgYXJyYXkoJ25hbWUnID0+
ICRuYW1lKSk7Ci0gICAgJHJhbmdlID0gYXJyYXkoJ3N0YXJ0UnVuSWQnID0+ICRzdGFydF9ydW5f
aWQsICdlbmRSdW5JZCcgPT4gJGVuZF9ydW5faWQpOwotICAgIGlmICghJHN0YXJ0X3J1bl9pZCB8
fCAhJGVuZF9ydW5faWQpCi0gICAgICAgIGV4aXRfd2l0aF9lcnJvcignTWlzc2luZ1JhbmdlJywg
JHJhbmdlKTsKIAotICAgICRzdGFydF9ydW4gPSBlbnN1cmVfcm93X2J5X2lkKCRkYiwgJ3Rlc3Rf
cnVucycsICdydW4nLCAkc3RhcnRfcnVuX2lkLCAnSW52YWxpZFN0YXJ0UnVuJywgJHJhbmdlKTsK
LSAgICAkZW5kX3J1biA9IGVuc3VyZV9yb3dfYnlfaWQoJGRiLCAndGVzdF9ydW5zJywgJ3J1bics
ICRlbmRfcnVuX2lkLCAnSW52YWxpZEVuZFJ1bicsICRyYW5nZSk7CisgICAgJHJhbmdlID0gdmFs
aWRhdGVfYXJndW1lbnRzKCRkYXRhLCBhcnJheSgnc3RhcnRSdW4nID0+ICdpbnQnLCAnZW5kUnVu
JyA9PiAnaW50JykpOworCisgICAgJHN0YXJ0X3J1biA9IGVuc3VyZV9yb3dfYnlfaWQoJGRiLCAn
dGVzdF9ydW5zJywgJ3J1bicsICRyYW5nZVsnc3RhcnRSdW4nXSwgJ0ludmFsaWRTdGFydFJ1bics
ICRyYW5nZSk7CisgICAgJHN0YXJ0X3J1bl9pZCA9ICRzdGFydF9ydW5bJ3J1bl9pZCddOworICAg
ICRlbmRfcnVuID0gZW5zdXJlX3Jvd19ieV9pZCgkZGIsICd0ZXN0X3J1bnMnLCAncnVuJywgJHJh
bmdlWydlbmRSdW4nXSwgJ0ludmFsaWRFbmRSdW4nLCAkcmFuZ2UpOworICAgICRlbmRfcnVuX2lk
ID0gJGVuZF9ydW5bJ3J1bl9pZCddOwogCiAgICAgJGNvbmZpZyA9IGVuc3VyZV9jb25maWdfZnJv
bV9ydW5zKCRkYiwgJHN0YXJ0X3J1biwgJGVuZF9ydW4pOwogCiAgICAgJHN0YXJ0X3J1bl90aW1l
ID0gdGltZV9mb3JfcnVuKCRkYiwgJHN0YXJ0X3J1bl9pZCk7CiAgICAgJGVuZF9ydW5fdGltZSA9
IHRpbWVfZm9yX3J1bigkZGIsICRlbmRfcnVuX2lkKTsKLSAgICBpZiAoISRzdGFydF9ydW5fdGlt
ZSB8fCAhJGVuZF9ydW5fdGltZSkKKyAgICBpZiAoISRzdGFydF9ydW5fdGltZSB8fCAhJGVuZF9y
dW5fdGltZSB8fCAkc3RhcnRfcnVuX3RpbWUgPT0gJGVuZF9ydW5fdGltZSkKICAgICAgICAgZXhp
dF93aXRoX2Vycm9yKCdJbnZhbGlkVGltZVJhbmdlJywgYXJyYXkoJ3N0YXJ0VGltZScgPT4gJHN0
YXJ0X3J1bl90aW1lLCAnZW5kVGltZScgPT4gJGVuZF9ydW5fdGltZSkpOwogCiAgICAgJGRiLT5i
ZWdpbl90cmFuc2FjdGlvbigpOwpJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1Ymxp
Yy9wcml2aWxlZ2VkLWFwaS9jcmVhdGUtdGVzdC1ncm91cC5waHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
c2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9wcml2aWxlZ2VkLWFwaS9jcmVhdGUtdGVzdC1n
cm91cC5waHAJKHJldmlzaW9uIDIxMzk5NikKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9w
dWJsaWMvcHJpdmlsZWdlZC1hcGkvY3JlYXRlLXRlc3QtZ3JvdXAucGhwCSh3b3JraW5nIGNvcHkp
CkBAIC03LDE2ICs3LDIzIEBAIGZ1bmN0aW9uIG1haW4oKSB7CiAgICAgJGRhdGEgPSBlbnN1cmVf
cHJpdmlsZWdlZF9hcGlfZGF0YV9hbmRfdG9rZW5fb3Jfc2xhdmUoJGRiKTsKICAgICAkYXV0aG9y
ID0gcmVtb3RlX3VzZXJfbmFtZSgkZGF0YSk7CiAKLSAgICAkdGFza19pZCA9IGFycmF5X2dldCgk
ZGF0YSwgJ3Rhc2snKTsKLSAgICAkbmFtZSA9IGFycmF5X2dldCgkZGF0YSwgJ25hbWUnKTsKKyAg
ICAkYXJndW1lbnRzID0gdmFsaWRhdGVfYXJndW1lbnRzKCRkYXRhLCBhcnJheSgKKyAgICAgICAg
J25hbWUnID0+ICcvLisvJywKKyAgICAgICAgJ3Rhc2snID0+ICdpbnQnLAorICAgICAgICAncmVw
ZXRpdGlvbkNvdW50JyA9PiAnaW50PycsCisgICAgKSk7CisgICAgJG5hbWUgPSAkYXJndW1lbnRz
WyduYW1lJ107CisgICAgJHRhc2tfaWQgPSAkYXJndW1lbnRzWyd0YXNrJ107CisgICAgJHJlcGV0
aXRpb25fY291bnQgPSAkYXJndW1lbnRzWydyZXBldGl0aW9uQ291bnQnXTsKICAgICAkY29tbWl0
X3NldHNfaW5mbyA9IGFycmF5X2dldCgkZGF0YSwgJ2NvbW1pdFNldHMnKTsKLSAgICAkcmVwZXRp
dGlvbl9jb3VudCA9IGludHZhbChhcnJheV9nZXQoJGRhdGEsICdyZXBldGl0aW9uQ291bnQnLCAx
KSk7CiAKLSAgICBpZiAoISRuYW1lKQotICAgICAgICBleGl0X3dpdGhfZXJyb3IoJ01pc3NpbmdO
YW1lJyk7CisgICAgcmVxdWlyZV9mb3JtYXQoJ1Rhc2snLCAkdGFza19pZCwgJy9eXGQrJC8nKTsK
ICAgICBpZiAoISRjb21taXRfc2V0c19pbmZvKQotICAgICAgICBleGl0X3dpdGhfZXJyb3IoJ01p
c3NpbmdDb21taXRTZXRzJyk7Ci0gICAgaWYgKCRyZXBldGl0aW9uX2NvdW50IDwgMSkKKyAgICAg
ICAgZXhpdF93aXRoX2Vycm9yKCdJbnZhbGlkQ29tbWl0U2V0cycpOworCisgICAgaWYgKCRyZXBl
dGl0aW9uX2NvdW50ID09PSBudWxsKQorICAgICAgICAkcmVwZXRpdGlvbl9jb3VudCA9IDE7Cisg
ICAgZWxzZSBpZiAoJHJlcGV0aXRpb25fY291bnQgPCAxKQogICAgICAgICBleGl0X3dpdGhfZXJy
b3IoJ0ludmFsaWRSZXBldGl0aW9uQ291bnQnLCBhcnJheSgncmVwZXRpdGlvbkNvdW50JyA9PiAk
cmVwZXRpdGlvbl9jb3VudCkpOwogCiAgICAgJHRhc2sgPSAkZGItPnNlbGVjdF9maXJzdF9yb3co
J2FuYWx5c2lzX3Rhc2tzJywgJ3Rhc2snLCBhcnJheSgnaWQnID0+ICR0YXNrX2lkKSk7CkBAIC04
MCw2ICs4Nyw5IEBAIGZ1bmN0aW9uIGVuc3VyZV9jb21taXRfc2V0cygkZGIsICRjb21taXQKICAg
ICAgICAgfQogICAgIH0KIAorICAgIGlmIChjb3VudCgkY29tbWl0X3NldHMpIDwgMikKKyAgICAg
ICAgZXhpdF93aXRoX2Vycm9yKCdJbnZhbGlkQ29tbWl0U2V0cycsIGFycmF5KCdjb21taXRTZXRz
JyA9PiAkY29tbWl0X3NldHNfaW5mbykpOworCiAgICAgJGNvbW1pdF9jb3VudF9wZXJfc2V0ID0g
Y291bnQoJGNvbW1pdF9zZXRzWzBdKTsKICAgICBmb3JlYWNoICgkY29tbWl0X3NldHMgYXMgJGNv
bW1pdHMpIHsKICAgICAgICAgaWYgKCRjb21taXRfY291bnRfcGVyX3NldCAhPSBjb3VudCgkY29t
bWl0cykpCkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3ByaXZp
bGVnZWQtYXBpLWNyZWF0ZS1hbmFseXNpcy10YXNrLXRlc3RzLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvcHJpdmlsZWdlZC1hcGktY3JlYXRl
LWFuYWx5c2lzLXRhc2stdGVzdHMuanMJKG5vbmV4aXN0ZW50KQorKysgV2Vic2l0ZXMvcGVyZi53
ZWJraXQub3JnL3NlcnZlci10ZXN0cy9wcml2aWxlZ2VkLWFwaS1jcmVhdGUtYW5hbHlzaXMtdGFz
ay10ZXN0cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI1NSBAQAorJ3VzZSBzdHJpY3Qn
OworCitsZXQgYXNzZXJ0ID0gcmVxdWlyZSgnYXNzZXJ0Jyk7CisKK2xldCBNb2NrRGF0YSA9IHJl
cXVpcmUoJy4vcmVzb3VyY2VzL21vY2stZGF0YS5qcycpOworbGV0IFRlc3RTZXJ2ZXIgPSByZXF1
aXJlKCcuL3Jlc291cmNlcy90ZXN0LXNlcnZlci5qcycpOworY29uc3QgYWRkQnVpbGRlckZvclJl
cG9ydCA9IHJlcXVpcmUoJy4vcmVzb3VyY2VzL2NvbW1vbi1vcGVyYXRpb25zLmpzJykuYWRkQnVp
bGRlckZvclJlcG9ydDsKK2NvbnN0IHByZXBhcmVTZXJ2ZXJUZXN0ID0gcmVxdWlyZSgnLi9yZXNv
dXJjZXMvY29tbW9uLW9wZXJhdGlvbnMuanMnKS5wcmVwYXJlU2VydmVyVGVzdDsKKworY29uc3Qg
cmVwb3J0V2l0aFJldmlzaW9uID0gW3sKKyAgICAiYnVpbGROdW1iZXIiOiAiMTI0IiwKKyAgICAi
YnVpbGRUaW1lIjogIjIwMTUtMTAtMjdUMTU6MzQ6NTEiLAorICAgICJyZXZpc2lvbnMiOiB7Cisg
ICAgICAgICJXZWJLaXQiOiB7CisgICAgICAgICAgICAicmV2aXNpb24iOiAiMTkxNjIyIiwKKyAg
ICAgICAgICAgICJ0aW1lc3RhbXAiOiAnMjAxNS0xMC0yN1QxMTozNjo1Ni44Nzg0NzNaJywKKyAg
ICAgICAgfSwKKyAgICB9LAorICAgICJidWlsZGVyTmFtZSI6ICJzb21lQnVpbGRlciIsCisgICAg
ImJ1aWxkZXJQYXNzd29yZCI6ICJzb21lUGFzc3dvcmQiLAorICAgICJwbGF0Zm9ybSI6ICJzb21l
IHBsYXRmb3JtIiwKKyAgICAidGVzdHMiOiB7CisgICAgICAgICJTdWl0ZSI6IHsKKyAgICAgICAg
ICAgICJtZXRyaWNzIjogeworICAgICAgICAgICAgICAgICJUaW1lIjogWyJBcml0aG1ldGljIl0s
CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInRlc3RzIjogeworICAgICAgICAgICAgICAg
ICJ0ZXN0MSI6IHsKKyAgICAgICAgICAgICAgICAgICAgIm1ldHJpY3MiOiB7IlRpbWUiOiB7ICJj
dXJyZW50IjogWzExXSB9fSwKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAg
ICAgIH0sCisgICAgfX1dOworCitjb25zdCBhbm90aGVyUmVwb3J0V2l0aFJldmlzaW9uID0gW3sK
KyAgICAiYnVpbGROdW1iZXIiOiAiMTI1IiwKKyAgICAiYnVpbGRUaW1lIjogIjIwMTUtMTAtMjdU
MTc6Mjc6NDEiLAorICAgICJyZXZpc2lvbnMiOiB7CisgICAgICAgICJXZWJLaXQiOiB7CisgICAg
ICAgICAgICAicmV2aXNpb24iOiAiMTkxNjIzIiwKKyAgICAgICAgICAgICJ0aW1lc3RhbXAiOiAn
MjAxNS0xMC0yN1QxNjozODoxMC43Njg5OTVaJywKKyAgICAgICAgfSwKKyAgICB9LAorICAgICJi
dWlsZGVyTmFtZSI6ICJzb21lQnVpbGRlciIsCisgICAgImJ1aWxkZXJQYXNzd29yZCI6ICJzb21l
UGFzc3dvcmQiLAorICAgICJwbGF0Zm9ybSI6ICJzb21lIHBsYXRmb3JtIiwKKyAgICAidGVzdHMi
OiB7CisgICAgICAgICJTdWl0ZSI6IHsKKyAgICAgICAgICAgICJtZXRyaWNzIjogeworICAgICAg
ICAgICAgICAgICJUaW1lIjogWyJBcml0aG1ldGljIl0sCisgICAgICAgICAgICB9LAorICAgICAg
ICAgICAgInRlc3RzIjogeworICAgICAgICAgICAgICAgICJ0ZXN0MSI6IHsKKyAgICAgICAgICAg
ICAgICAgICAgIm1ldHJpY3MiOiB7IlRpbWUiOiB7ICJjdXJyZW50IjogWzEyXSB9fSwKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgfX1dOworCitkZXNj
cmliZSgnL3ByaXZpbGVnZWQtYXBpL2NyZWF0ZS1hbmFseXNpcy10YXNrJywgZnVuY3Rpb24gKCkg
eworICAgIHByZXBhcmVTZXJ2ZXJUZXN0KHRoaXMpOworCisgICAgaXQoJ3Nob3VsZCByZXR1cm4g
Ik1pc3NpbmdOYW1lIiBvbiBhbiBlbXB0eSByZXF1ZXN0JywgKCkgPT4geworICAgICAgICByZXR1
cm4gUHJpdmlsZWdlZEFQSS5zZW5kUmVxdWVzdCgnY3JlYXRlLWFuYWx5c2lzLXRhc2snLCB7fSku
dGhlbigoY29udGVudCkgPT4geworICAgICAgICAgICAgYXNzZXJ0KGZhbHNlLCAnc2hvdWxkIG5l
dmVyIGJlIHJlYWNoZWQnKTsKKyAgICAgICAgfSwgKHJlc3BvbnNlKSA9PiB7CisgICAgICAgICAg
ICBhc3NlcnQuZXF1YWwocmVzcG9uc2VbJ3N0YXR1cyddLCAnTWlzc2luZ05hbWUnKTsKKyAgICAg
ICAgfSk7CisgICAgfSk7CisKKyAgICBpdCgnc2hvdWxkIHJldHVybiAiSW52YWxpZFN0YXJ0UnVu
IiB3aGVuIHN0YXJ0UnVuIGlzIG1pc3NpbmcgYnV0IGVuZFJ1biBpcyBzZXQnLCAoKSA9PiB7Cisg
ICAgICAgIHJldHVybiBQcml2aWxlZ2VkQVBJLnNlbmRSZXF1ZXN0KCdjcmVhdGUtYW5hbHlzaXMt
dGFzaycsIHtuYW1lOiAnaGknLCBlbmRSdW46IDF9KS50aGVuKChjb250ZW50KSA9PiB7CisgICAg
ICAgICAgICBhc3NlcnQoZmFsc2UsICdzaG91bGQgbmV2ZXIgYmUgcmVhY2hlZCcpOworICAgICAg
ICB9LCAocmVzcG9uc2UpID0+IHsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXNwb25zZVsn
c3RhdHVzJ10sICdJbnZhbGlkU3RhcnRSdW4nKTsKKyAgICAgICAgfSk7CisgICAgfSk7CisKKyAg
ICBpdCgnc2hvdWxkIHJldHVybiAiSW52YWxpZEVuZFJ1biIgd2hlbiBlbmRSdW4gaXMgbWlzc2lu
ZyBidXQgc3RhcnRSdW4gaXMgc2V0JywgKCkgPT4geworICAgICAgICByZXR1cm4gUHJpdmlsZWdl
ZEFQSS5zZW5kUmVxdWVzdCgnY3JlYXRlLWFuYWx5c2lzLXRhc2snLCB7bmFtZTogJ2hpJywgc3Rh
cnRSdW46IDF9KS50aGVuKChjb250ZW50KSA9PiB7CisgICAgICAgICAgICBhc3NlcnQoZmFsc2Us
ICdzaG91bGQgbmV2ZXIgYmUgcmVhY2hlZCcpOworICAgICAgICB9LCAocmVzcG9uc2UpID0+IHsK
KyAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXNwb25zZVsnc3RhdHVzJ10sICdJbnZhbGlkRW5k
UnVuJyk7CisgICAgICAgIH0pOworICAgIH0pOworCisgICAgaXQoJ3Nob3VsZCByZXR1cm4gIklu
dmFsaWRTdGFydFJ1biIgd2hlbiBzdGFydFJ1biBpcyBub3QgYSB2YWxpZCBpbnRlZ2VyJywgKCkg
PT4geworICAgICAgICByZXR1cm4gUHJpdmlsZWdlZEFQSS5zZW5kUmVxdWVzdCgnY3JlYXRlLWFu
YWx5c2lzLXRhc2snLCB7bmFtZTogJ2hpJywgc3RhcnRSdW46ICJmb28iLCBlbmRSdW46IDF9KS50
aGVuKChjb250ZW50KSA9PiB7CisgICAgICAgICAgICBhc3NlcnQoZmFsc2UsICdzaG91bGQgbmV2
ZXIgYmUgcmVhY2hlZCcpOworICAgICAgICB9LCAocmVzcG9uc2UpID0+IHsKKyAgICAgICAgICAg
IGFzc2VydC5lcXVhbChyZXNwb25zZVsnc3RhdHVzJ10sICdJbnZhbGlkU3RhcnRSdW4nKTsKKyAg
ICAgICAgfSk7CisgICAgfSk7CisKKyAgICBpdCgnc2hvdWxkIHJldHVybiAiSW52YWxpZEVuZFJ1
biIgd2hlbiBlbmRSdW4gaXMgbm90IGEgdmFsaWQgaW50ZWdlcicsICgpID0+IHsKKyAgICAgICAg
cmV0dXJuIFByaXZpbGVnZWRBUEkuc2VuZFJlcXVlc3QoJ2NyZWF0ZS1hbmFseXNpcy10YXNrJywg
e25hbWU6ICdoaScsIHN0YXJ0UnVuOiAxLCBlbmRSdW46ICJmb28ifSkudGhlbigoY29udGVudCkg
PT4geworICAgICAgICAgICAgYXNzZXJ0KGZhbHNlLCAnc2hvdWxkIG5ldmVyIGJlIHJlYWNoZWQn
KTsKKyAgICAgICAgfSwgKHJlc3BvbnNlKSA9PiB7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwo
cmVzcG9uc2VbJ3N0YXR1cyddLCAnSW52YWxpZEVuZFJ1bicpOworICAgICAgICB9KTsKKyAgICB9
KTsKKworICAgIGl0KCdzaG91bGQgcmV0dXJuICJJbnZhbGlkU3RhcnRSdW4iIHdoZW4gc3RhcnRS
dW4gaXMgaW52YWxpZCcsICgpID0+IHsKKyAgICAgICAgcmV0dXJuIGFkZEJ1aWxkZXJGb3JSZXBv
cnQocmVwb3J0V2l0aFJldmlzaW9uWzBdKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgIHJldHVy
biBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RKU09OKCcvYXBpL3JlcG9ydC8nLCByZXBvcnRX
aXRoUmV2aXNpb24pOworICAgICAgICB9KS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgIHJldHVy
biBQcml2aWxlZ2VkQVBJLnNlbmRSZXF1ZXN0KCdjcmVhdGUtYW5hbHlzaXMtdGFzaycsIHtuYW1l
OiAnaGknLCBzdGFydFJ1bjogMTAwLCBlbmRSdW46IDF9KS50aGVuKChjb250ZW50KSA9PiB7Cisg
ICAgICAgICAgICAgICAgYXNzZXJ0KGZhbHNlLCAnc2hvdWxkIG5ldmVyIGJlIHJlYWNoZWQnKTsK
KyAgICAgICAgICAgIH0sIChyZXNwb25zZSkgPT4geworICAgICAgICAgICAgICAgIGFzc2VydC5l
cXVhbChyZXNwb25zZVsnc3RhdHVzJ10sICdJbnZhbGlkU3RhcnRSdW4nKTsKKyAgICAgICAgICAg
IH0pOworICAgICAgICB9KTsKKyAgICB9KTsKKworICAgIGl0KCdzaG91bGQgcmV0dXJuICJJbnZh
bGlkRW5kUnVuIiB3aGVuIGVuZFJ1biBpcyBpbnZhbGlkJywgKCkgPT4geworICAgICAgICByZXR1
cm4gYWRkQnVpbGRlckZvclJlcG9ydChyZXBvcnRXaXRoUmV2aXNpb25bMF0pLnRoZW4oKCkgPT4g
eworICAgICAgICAgICAgcmV0dXJuIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCkucG9zdEpTT04oJy9h
cGkvcmVwb3J0LycsIHJlcG9ydFdpdGhSZXZpc2lvbik7CisgICAgICAgIH0pLnRoZW4oKCkgPT4g
eworICAgICAgICAgICAgcmV0dXJuIFByaXZpbGVnZWRBUEkuc2VuZFJlcXVlc3QoJ2NyZWF0ZS1h
bmFseXNpcy10YXNrJywge25hbWU6ICdoaScsIHN0YXJ0UnVuOiAxLCBlbmRSdW46IDEwMH0pLnRo
ZW4oKGNvbnRlbnQpID0+IHsKKyAgICAgICAgICAgICAgICBhc3NlcnQoZmFsc2UsICdzaG91bGQg
bmV2ZXIgYmUgcmVhY2hlZCcpOworICAgICAgICAgICAgfSwgKHJlc3BvbnNlKSA9PiB7CisgICAg
ICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlc3BvbnNlWydzdGF0dXMnXSwgJ0ludmFsaWRFbmRS
dW4nKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9KTsKKyAgICB9KTsKKworICAgIGl0KCdz
aG91bGQgcmV0dXJuICJJbnZhbGlkVGltZVJhbmdlIiB3aGVuIHN0YXJ0UnVuIGFuZCBlbmRSdW4g
YXJlIGlkZW50aWNhbCcsICgpID0+IHsKKyAgICAgICAgcmV0dXJuIGFkZEJ1aWxkZXJGb3JSZXBv
cnQocmVwb3J0V2l0aFJldmlzaW9uWzBdKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgIHJldHVy
biBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RKU09OKCcvYXBpL3JlcG9ydC8nLCByZXBvcnRX
aXRoUmV2aXNpb24pOworICAgICAgICB9KS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgIHJldHVy
biBQcml2aWxlZ2VkQVBJLnNlbmRSZXF1ZXN0KCdjcmVhdGUtYW5hbHlzaXMtdGFzaycsIHtuYW1l
OiAnaGknLCBzdGFydFJ1bjogMSwgZW5kUnVuOiAxfSkudGhlbigoY29udGVudCkgPT4geworICAg
ICAgICAgICAgICAgIGFzc2VydChmYWxzZSwgJ3Nob3VsZCBuZXZlciBiZSByZWFjaGVkJyk7Cisg
ICAgICAgICAgICB9LCAocmVzcG9uc2UpID0+IHsKKyAgICAgICAgICAgICAgICBhc3NlcnQuZXF1
YWwocmVzcG9uc2VbJ3N0YXR1cyddLCAnSW52YWxpZFRpbWVSYW5nZScpOworICAgICAgICAgICAg
fSk7CisgICAgICAgIH0pOworICAgIH0pOworCisgICAgaXQoJ3Nob3VsZCByZXR1cm4gIlJ1bkNv
bmZpZ01pc21hdGNoIiB3aGVuIHN0YXJ0UnVuIGFuZCBlbmRSdW4gY29tZSBmcm9tIGEgZGlmZmVy
ZW50IHRlc3QgY29uZmlndXJhdGlvbnMnLCAoKSA9PiB7CisgICAgICAgIHJldHVybiBhZGRCdWls
ZGVyRm9yUmVwb3J0KHJlcG9ydFdpdGhSZXZpc2lvblswXSkudGhlbigoKSA9PiB7CisgICAgICAg
ICAgICByZXR1cm4gVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0SlNPTignL2FwaS9yZXBvcnQv
JywgcmVwb3J0V2l0aFJldmlzaW9uKTsKKyAgICAgICAgfSkudGhlbigoKSA9PiB7CisgICAgICAg
ICAgICByZXR1cm4gUHJpdmlsZWdlZEFQSS5zZW5kUmVxdWVzdCgnY3JlYXRlLWFuYWx5c2lzLXRh
c2snLCB7bmFtZTogJ2hpJywgc3RhcnRSdW46IDEsIGVuZFJ1bjogMn0pLnRoZW4oKGNvbnRlbnQp
ID0+IHsKKyAgICAgICAgICAgICAgICBhc3NlcnQoZmFsc2UsICdzaG91bGQgbmV2ZXIgYmUgcmVh
Y2hlZCcpOworICAgICAgICAgICAgfSwgKHJlc3BvbnNlKSA9PiB7CisgICAgICAgICAgICAgICAg
YXNzZXJ0LmVxdWFsKHJlc3BvbnNlWydzdGF0dXMnXSwgJ1J1bkNvbmZpZ01pc21hdGNoJyk7Cisg
ICAgICAgICAgICB9KTsKKyAgICAgICAgfSk7CisgICAgfSk7CisKKyAgICBpdCgnc2hvdWxkIGNy
ZWF0ZSBhbiBhbmFseXNpcyB0YXNrIHdoZW4gbmFtZSwgc3RhcnRSdW4sIGFuZCBlbmRSdW4gYXJl
IHNldCBwcm9wZXJseScsICgpID0+IHsKKyAgICAgICAgY29uc3QgZGIgPSBUZXN0U2VydmVyLmRh
dGFiYXNlKCk7CisgICAgICAgIHJldHVybiBhZGRCdWlsZGVyRm9yUmVwb3J0KHJlcG9ydFdpdGhS
ZXZpc2lvblswXSkudGhlbigoKSA9PiB7CisgICAgICAgICAgICByZXR1cm4gVGVzdFNlcnZlci5y
ZW1vdGVBUEkoKS5wb3N0SlNPTignL2FwaS9yZXBvcnQvJywgcmVwb3J0V2l0aFJldmlzaW9uKTsK
KyAgICAgICAgfSkudGhlbigoKSA9PiB7CisgICAgICAgICAgICByZXR1cm4gVGVzdFNlcnZlci5y
ZW1vdGVBUEkoKS5wb3N0SlNPTignL2FwaS9yZXBvcnQvJywgYW5vdGhlclJlcG9ydFdpdGhSZXZp
c2lvbik7CisgICAgICAgIH0pLnRoZW4oKCkgPT4geworICAgICAgICAgICAgcmV0dXJuIE1hbmlm
ZXN0LmZldGNoKCk7CisgICAgICAgIH0pLnRoZW4oKCkgPT4geworICAgICAgICAgICAgY29uc3Qg
dGVzdDEgPSBUZXN0LmZpbmRCeVBhdGgoWydTdWl0ZScsICd0ZXN0MSddKTsKKyAgICAgICAgICAg
IGNvbnN0IHBsYXRmb3JtID0gUGxhdGZvcm0uZmluZEJ5TmFtZSgnc29tZSBwbGF0Zm9ybScpOwor
ICAgICAgICAgICAgcmV0dXJuIGRiLnNlbGVjdEZpcnN0Um93KCd0ZXN0X2NvbmZpZ3VyYXRpb25z
Jywge21ldHJpYzogdGVzdDEubWV0cmljcygpWzBdLmlkKCksIHBsYXRmb3JtOiBwbGF0Zm9ybS5p
ZCgpfSk7CisgICAgICAgIH0pLnRoZW4oKGNvbmZpZ1JvdykgPT4geworICAgICAgICAgICAgcmV0
dXJuIGRiLnNlbGVjdFJvd3MoJ3Rlc3RfcnVucycsIHtjb25maWc6IGNvbmZpZ1Jvd1snaWQnXX0p
OworICAgICAgICB9KS50aGVuKCh0ZXN0UnVucykgPT4geworICAgICAgICAgICAgYXNzZXJ0LmVx
dWFsKHRlc3RSdW5zLmxlbmd0aCwgMik7CisgICAgICAgICAgICByZXR1cm4gUHJpdmlsZWdlZEFQ
SS5zZW5kUmVxdWVzdCgnY3JlYXRlLWFuYWx5c2lzLXRhc2snLCB7bmFtZTogJ2hpJywgc3RhcnRS
dW46IHRlc3RSdW5zWzBdWydpZCddLCBlbmRSdW46IHRlc3RSdW5zWzFdWydpZCddfSk7CisgICAg
ICAgIH0pLnRoZW4oKGNvbnRlbnQpID0+IHsKKyAgICAgICAgICAgIHJldHVybiBBbmFseXNpc1Rh
c2suZmV0Y2hCeUlkKGNvbnRlbnRbJ3Rhc2tJZCddKTsKKyAgICAgICAgfSkudGhlbigodGFzaykg
PT4geworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHRhc2submFtZSgpLCAnaGknKTsKKyAgICAg
ICAgICAgIGFzc2VydCghdGFzay5oYXNSZXN1bHRzKCkpOworICAgICAgICAgICAgYXNzZXJ0KCF0
YXNrLmhhc1BlbmRpbmdSZXF1ZXN0cygpKTsKKyAgICAgICAgICAgIGFzc2VydC5kZWVwRXF1YWwo
dGFzay5idWdzKCksIFtdKTsKKyAgICAgICAgICAgIGFzc2VydC5kZWVwRXF1YWwodGFzay5jYXVz
ZXMoKSwgW10pOworICAgICAgICAgICAgYXNzZXJ0LmRlZXBFcXVhbCh0YXNrLmZpeGVzKCksIFtd
KTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbCh0YXNrLmNoYW5nZVR5cGUoKSwgbnVsbCk7Cisg
ICAgICAgICAgICBhc3NlcnQuZXF1YWwodGFzay5wbGF0Zm9ybSgpLmxhYmVsKCksICdzb21lIHBs
YXRmb3JtJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwodGFzay5tZXRyaWMoKS50ZXN0KCku
bGFiZWwoKSwgJ3Rlc3QxJyk7CisgICAgICAgIH0pOworICAgIH0pOworCisgICAgaXQoJ3Nob3Vs
ZCByZXR1cm4gIkR1cGxpY2F0ZUFuYWx5c2lzVGFzayIgd2hlbiB0aGVyZSBpcyBhbHJlYWR5IGFu
IGFuYWx5c2lzIHRhc2sgZm9yIHRoZSBzcGVjaWZpZWQgcmFuZ2UnLCAoKSA9PiB7CisgICAgICAg
IGNvbnN0IGRiID0gVGVzdFNlcnZlci5kYXRhYmFzZSgpOworICAgICAgICBsZXQgc3RhcnRJZDsK
KyAgICAgICAgbGV0IGVuZElkOworICAgICAgICByZXR1cm4gYWRkQnVpbGRlckZvclJlcG9ydChy
ZXBvcnRXaXRoUmV2aXNpb25bMF0pLnRoZW4oKCkgPT4geworICAgICAgICAgICAgcmV0dXJuIFRl
c3RTZXJ2ZXIucmVtb3RlQVBJKCkucG9zdEpTT04oJy9hcGkvcmVwb3J0LycsIHJlcG9ydFdpdGhS
ZXZpc2lvbik7CisgICAgICAgIH0pLnRoZW4oKCkgPT4geworICAgICAgICAgICAgcmV0dXJuIFRl
c3RTZXJ2ZXIucmVtb3RlQVBJKCkucG9zdEpTT04oJy9hcGkvcmVwb3J0LycsIGFub3RoZXJSZXBv
cnRXaXRoUmV2aXNpb24pOworICAgICAgICB9KS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgIHJl
dHVybiBNYW5pZmVzdC5mZXRjaCgpOworICAgICAgICB9KS50aGVuKCgpID0+IHsKKyAgICAgICAg
ICAgIGNvbnN0IHRlc3QxID0gVGVzdC5maW5kQnlQYXRoKFsnU3VpdGUnLCAndGVzdDEnXSk7Cisg
ICAgICAgICAgICBjb25zdCBwbGF0Zm9ybSA9IFBsYXRmb3JtLmZpbmRCeU5hbWUoJ3NvbWUgcGxh
dGZvcm0nKTsKKyAgICAgICAgICAgIHJldHVybiBkYi5zZWxlY3RGaXJzdFJvdygndGVzdF9jb25m
aWd1cmF0aW9ucycsIHttZXRyaWM6IHRlc3QxLm1ldHJpY3MoKVswXS5pZCgpLCBwbGF0Zm9ybTog
cGxhdGZvcm0uaWQoKX0pOworICAgICAgICB9KS50aGVuKChjb25maWdSb3cpID0+IHsKKyAgICAg
ICAgICAgIHJldHVybiBkYi5zZWxlY3RSb3dzKCd0ZXN0X3J1bnMnLCB7Y29uZmlnOiBjb25maWdS
b3dbJ2lkJ119KTsKKyAgICAgICAgfSkudGhlbigodGVzdFJ1bnMpID0+IHsKKyAgICAgICAgICAg
IGFzc2VydC5lcXVhbCh0ZXN0UnVucy5sZW5ndGgsIDIpOworICAgICAgICAgICAgc3RhcnRJZCA9
IHRlc3RSdW5zWzBdWydpZCddOworICAgICAgICAgICAgZW5kSWQgPSB0ZXN0UnVuc1sxXVsnaWQn
XTsKKyAgICAgICAgICAgIHJldHVybiBQcml2aWxlZ2VkQVBJLnNlbmRSZXF1ZXN0KCdjcmVhdGUt
YW5hbHlzaXMtdGFzaycsIHtuYW1lOiAnaGknLCBzdGFydFJ1bjogc3RhcnRJZCwgZW5kUnVuOiBl
bmRJZH0pOworICAgICAgICB9KS50aGVuKChjb250ZW50KSA9PiB7CisgICAgICAgICAgICByZXR1
cm4gUHJpdmlsZWdlZEFQSS5zZW5kUmVxdWVzdCgnY3JlYXRlLWFuYWx5c2lzLXRhc2snLCB7bmFt
ZTogJ2hpJywgc3RhcnRSdW46IHN0YXJ0SWQsIGVuZFJ1bjogZW5kSWR9KS50aGVuKCgpID0+IHsK
KyAgICAgICAgICAgICAgICBhc3NlcnQoZmFsc2UsICdzaG91bGQgbmV2ZXIgYmUgcmVhY2hlZCcp
OworICAgICAgICAgICAgfSwgKHJlc3BvbnNlKSA9PiB7CisgICAgICAgICAgICAgICAgYXNzZXJ0
LmVxdWFsKHJlc3BvbnNlWydzdGF0dXMnXSwgJ0R1cGxpY2F0ZUFuYWx5c2lzVGFzaycpOworICAg
ICAgICAgICAgfSk7CisgICAgICAgIH0pLnRoZW4oKCkgPT4geworICAgICAgICAgICAgcmV0dXJu
IGRiLnNlbGVjdEFsbCgnYW5hbHlzaXNfdGFza3MnKTsKKyAgICAgICAgfSkudGhlbigodGFza3Mp
ID0+IHsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbCh0YXNrcy5sZW5ndGgsIDEpOworICAgICAg
ICB9KTsKKyAgICB9KTsKKworICAgIGl0KCdzaG91bGQgY3JlYXRlIGFuIGFuYWx5c2lzIHRhc2sg
d2l0aCBhbmFseXNpcyBzdHJhdGVnaWVzIHdoZW4gdGhleSBhcmUgc3BlY2lmaWVkJywgKCkgPT4g
eworICAgICAgICBjb25zdCBkYiA9IFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKTsKKyAgICAgICAgcmV0
dXJuIGFkZEJ1aWxkZXJGb3JSZXBvcnQocmVwb3J0V2l0aFJldmlzaW9uWzBdKS50aGVuKCgpID0+
IHsKKyAgICAgICAgICAgIHJldHVybiBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RKU09OKCcv
YXBpL3JlcG9ydC8nLCByZXBvcnRXaXRoUmV2aXNpb24pOworICAgICAgICB9KS50aGVuKCgpID0+
IHsKKyAgICAgICAgICAgIHJldHVybiBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RKU09OKCcv
YXBpL3JlcG9ydC8nLCBhbm90aGVyUmVwb3J0V2l0aFJldmlzaW9uKTsKKyAgICAgICAgfSkudGhl
bigoKSA9PiB7CisgICAgICAgICAgICByZXR1cm4gTWFuaWZlc3QuZmV0Y2goKTsKKyAgICAgICAg
fSkudGhlbigoKSA9PiB7CisgICAgICAgICAgICBjb25zdCB0ZXN0MSA9IFRlc3QuZmluZEJ5UGF0
aChbJ1N1aXRlJywgJ3Rlc3QxJ10pOworICAgICAgICAgICAgY29uc3QgcGxhdGZvcm0gPSBQbGF0
Zm9ybS5maW5kQnlOYW1lKCdzb21lIHBsYXRmb3JtJyk7CisgICAgICAgICAgICByZXR1cm4gZGIu
c2VsZWN0Rmlyc3RSb3coJ3Rlc3RfY29uZmlndXJhdGlvbnMnLCB7bWV0cmljOiB0ZXN0MS5tZXRy
aWNzKClbMF0uaWQoKSwgcGxhdGZvcm06IHBsYXRmb3JtLmlkKCl9KTsKKyAgICAgICAgfSkudGhl
bigoY29uZmlnUm93KSA9PiB7CisgICAgICAgICAgICByZXR1cm4gZGIuc2VsZWN0Um93cygndGVz
dF9ydW5zJywge2NvbmZpZzogY29uZmlnUm93WydpZCddfSk7CisgICAgICAgIH0pLnRoZW4oKHRl
c3RSdW5zKSA9PiB7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwodGVzdFJ1bnMubGVuZ3RoLCAy
KTsKKyAgICAgICAgICAgIHJldHVybiBQcml2aWxlZ2VkQVBJLnNlbmRSZXF1ZXN0KCdjcmVhdGUt
YW5hbHlzaXMtdGFzaycsIHsKKyAgICAgICAgICAgICAgICBuYW1lOiAnaGknLAorICAgICAgICAg
ICAgICAgIHN0YXJ0UnVuOiB0ZXN0UnVuc1swXVsnaWQnXSwKKyAgICAgICAgICAgICAgICBlbmRS
dW46IHRlc3RSdW5zWzFdWydpZCddLAorICAgICAgICAgICAgICAgIHNlZ21lbnRhdGlvblN0cmF0
ZWd5OiAidGltZSBzZXJpZXMgc2VnbWVudGF0aW9uIiwKKyAgICAgICAgICAgICAgICB0ZXN0UmFu
Z2VTdHJhdGVneTogInN0dWRlbnQncyB0LXRlc3QifSk7CisgICAgICAgIH0pLnRoZW4oKCkgPT4g
eworICAgICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKFtkYi5zZWxlY3RGaXJzdFJvdygnYW5h
bHlzaXNfdGFza3MnKSwgZGIuc2VsZWN0QWxsKCdhbmFseXNpc19zdHJhdGVnaWVzJyldKTsKKyAg
ICAgICAgfSkudGhlbigocmVzdWx0cykgPT4geworICAgICAgICAgICAgY29uc3QgW3Rhc2tSb3cs
IHN0cmF0ZWdpZXNdID0gcmVzdWx0czsKKyAgICAgICAgICAgIGFzc2VydCh0YXNrUm93WydzZWdt
ZW50YXRpb24nXSk7CisgICAgICAgICAgICBhc3NlcnQodGFza1Jvd1sndGVzdF9yYW5nZSddKTsK
KworICAgICAgICAgICAgY29uc3Qgc3RyYXRlZ3lJZE1hcCA9IHt9OworICAgICAgICAgICAgZm9y
IChsZXQgc3RyYXRlZ3kgb2Ygc3RyYXRlZ2llcykKKyAgICAgICAgICAgICAgICBzdHJhdGVneUlk
TWFwW3N0cmF0ZWd5WydpZCddXSA9IHN0cmF0ZWd5OworCisgICAgICAgICAgICBhc3NlcnQuZXF1
YWwoc3RyYXRlZ3lJZE1hcFt0YXNrUm93WydzZWdtZW50YXRpb24nXV1bJ25hbWUnXSwgInRpbWUg
c2VyaWVzIHNlZ21lbnRhdGlvbiIpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHN0cmF0ZWd5
SWRNYXBbdGFza1Jvd1sndGVzdF9yYW5nZSddXVsnbmFtZSddLCAic3R1ZGVudCdzIHQtdGVzdCIp
OworICAgICAgICB9KTsKKyAgICB9KTsKKworfSk7CkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtp
dC5vcmcvc2VydmVyLXRlc3RzL3ByaXZpbGVnZWQtYXBpLWNyZWF0ZS10ZXN0LWdyb3VwLXRlc3Rz
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMv
cHJpdmlsZWdlZC1hcGktY3JlYXRlLXRlc3QtZ3JvdXAtdGVzdHMuanMJKG5vbmV4aXN0ZW50KQor
KysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9wcml2aWxlZ2VkLWFwaS1j
cmVhdGUtdGVzdC1ncm91cC10ZXN0cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI5MSBA
QAorJ3VzZSBzdHJpY3QnOworCitsZXQgYXNzZXJ0ID0gcmVxdWlyZSgnYXNzZXJ0Jyk7CisKK2xl
dCBNb2NrRGF0YSA9IHJlcXVpcmUoJy4vcmVzb3VyY2VzL21vY2stZGF0YS5qcycpOworbGV0IFRl
c3RTZXJ2ZXIgPSByZXF1aXJlKCcuL3Jlc291cmNlcy90ZXN0LXNlcnZlci5qcycpOworY29uc3Qg
YWRkU2xhdmVGb3JSZXBvcnQgPSByZXF1aXJlKCcuL3Jlc291cmNlcy9jb21tb24tb3BlcmF0aW9u
cy5qcycpLmFkZFNsYXZlRm9yUmVwb3J0OworY29uc3QgcHJlcGFyZVNlcnZlclRlc3QgPSByZXF1
aXJlKCcuL3Jlc291cmNlcy9jb21tb24tb3BlcmF0aW9ucy5qcycpLnByZXBhcmVTZXJ2ZXJUZXN0
OworCitmdW5jdGlvbiBjcmVhdGVBbmFseXNpc1Rhc2sobmFtZSkKK3sKKyAgICBjb25zdCByZXBv
cnRXaXRoUmV2aXNpb24gPSBbeworICAgICAgICAiYnVpbGROdW1iZXIiOiAiMTI0IiwKKyAgICAg
ICAgImJ1aWxkVGltZSI6ICIyMDE1LTEwLTI3VDE1OjM0OjUxIiwKKyAgICAgICAgInJldmlzaW9u
cyI6IHsKKyAgICAgICAgICAgICJXZWJLaXQiOiB7CisgICAgICAgICAgICAgICAgInJldmlzaW9u
IjogIjE5MTYyMiIsCisgICAgICAgICAgICAgICAgInRpbWVzdGFtcCI6ICcyMDE1LTEwLTI3VDEx
OjM2OjU2Ljg3ODQ3M1onLAorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJtYWNPUyI6IHsK
KyAgICAgICAgICAgICAgICAicmV2aXNpb24iOiAiMTVBMjg0IiwKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfSwKKyAgICAgICAgImJ1aWxkZXJOYW1lIjogInNvbWVCdWlsZGVyIiwKKyAgICAgICAg
InNsYXZlTmFtZSI6ICJzb21lU2xhdmUiLAorICAgICAgICAic2xhdmVQYXNzd29yZCI6ICJzb21l
UGFzc3dvcmQiLAorICAgICAgICAicGxhdGZvcm0iOiAic29tZSBwbGF0Zm9ybSIsCisgICAgICAg
ICJ0ZXN0cyI6IHsKKyAgICAgICAgICAgICJzb21lIHRlc3QiOiB7CisgICAgICAgICAgICAgICAg
Im1ldHJpY3MiOiB7CisgICAgICAgICAgICAgICAgICAgICJUaW1lIjogWyJBcml0aG1ldGljIl0s
CisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAidGVzdHMiOiB7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXN0MSI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJtZXRyaWNz
IjogeyJUaW1lIjogeyAiY3VycmVudCI6IFsxMV0gfX0sCisgICAgICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LAorICAgICAgICB9fV07CisKKyAgICBj
b25zdCBhbm90aGVyUmVwb3J0V2l0aFJldmlzaW9uID0gW3sKKyAgICAgICAgImJ1aWxkTnVtYmVy
IjogIjEyNSIsCisgICAgICAgICJidWlsZFRpbWUiOiAiMjAxNS0xMC0yN1QxNzoyNzo0MSIsCisg
ICAgICAgICJyZXZpc2lvbnMiOiB7CisgICAgICAgICAgICAiV2ViS2l0IjogeworICAgICAgICAg
ICAgICAgICJyZXZpc2lvbiI6ICIxOTE2MjMiLAorICAgICAgICAgICAgICAgICJ0aW1lc3RhbXAi
OiAnMjAxNS0xMC0yN1QxNjozODoxMC43Njg5OTVaJywKKyAgICAgICAgICAgIH0sCisgICAgICAg
ICAgICAibWFjT1MiOiB7CisgICAgICAgICAgICAgICAgInJldmlzaW9uIjogIjE1QTI4NCIsCisg
ICAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgICJidWlsZGVyTmFtZSI6ICJzb21lQnVp
bGRlciIsCisgICAgICAgICJzbGF2ZU5hbWUiOiAic29tZVNsYXZlIiwKKyAgICAgICAgInNsYXZl
UGFzc3dvcmQiOiAic29tZVBhc3N3b3JkIiwKKyAgICAgICAgInBsYXRmb3JtIjogInNvbWUgcGxh
dGZvcm0iLAorICAgICAgICAidGVzdHMiOiB7CisgICAgICAgICAgICAic29tZSB0ZXN0Ijogewor
ICAgICAgICAgICAgICAgICJtZXRyaWNzIjogeworICAgICAgICAgICAgICAgICAgICAiVGltZSI6
IFsiQXJpdGhtZXRpYyJdLAorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgInRl
c3RzIjogeworICAgICAgICAgICAgICAgICAgICAidGVzdDEiOiB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAibWV0cmljcyI6IHsiVGltZSI6IHsgImN1cnJlbnQiOiBbMTJdIH19LAorICAgICAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwKKyAgICAg
ICAgfX1dOworCisgICAgY29uc3QgZGIgPSBUZXN0U2VydmVyLmRhdGFiYXNlKCk7CisgICAgY29u
c3QgcmVtb3RlID0gVGVzdFNlcnZlci5yZW1vdGVBUEkoKTsKKyAgICByZXR1cm4gYWRkU2xhdmVG
b3JSZXBvcnQocmVwb3J0V2l0aFJldmlzaW9uWzBdKS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0
dXJuIHJlbW90ZS5wb3N0SlNPTignL2FwaS9yZXBvcnQvJywgcmVwb3J0V2l0aFJldmlzaW9uKTsK
KyAgICB9KS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJuIHJlbW90ZS5wb3N0SlNPTignL2Fw
aS9yZXBvcnQvJywgYW5vdGhlclJlcG9ydFdpdGhSZXZpc2lvbik7CisgICAgfSkudGhlbigocmVz
dWx0KSA9PiB7CisgICAgICAgIHJldHVybiBNYW5pZmVzdC5mZXRjaCgpOworICAgIH0pLnRoZW4o
KCkgPT4geworICAgICAgICBjb25zdCB0ZXN0ID0gVGVzdC5maW5kQnlQYXRoKFsnc29tZSB0ZXN0
JywgJ3Rlc3QxJ10pOworICAgICAgICBjb25zdCBwbGF0Zm9ybSA9IFBsYXRmb3JtLmZpbmRCeU5h
bWUoJ3NvbWUgcGxhdGZvcm0nKTsKKyAgICAgICAgcmV0dXJuIGRiLnNlbGVjdEZpcnN0Um93KCd0
ZXN0X2NvbmZpZ3VyYXRpb25zJywge21ldHJpYzogdGVzdC5tZXRyaWNzKClbMF0uaWQoKSwgcGxh
dGZvcm06IHBsYXRmb3JtLmlkKCl9KTsKKyAgICB9KS50aGVuKChjb25maWdSb3cpID0+IHsKKyAg
ICAgICAgcmV0dXJuIGRiLnNlbGVjdFJvd3MoJ3Rlc3RfcnVucycsIHtjb25maWc6IGNvbmZpZ1Jv
d1snaWQnXX0pOworICAgIH0pLnRoZW4oKHRlc3RSdW5zKSA9PiB7CisgICAgICAgIGFzc2VydC5l
cXVhbCh0ZXN0UnVucy5sZW5ndGgsIDIpOworICAgICAgICByZXR1cm4gUHJpdmlsZWdlZEFQSS5z
ZW5kUmVxdWVzdCgnY3JlYXRlLWFuYWx5c2lzLXRhc2snLCB7CisgICAgICAgICAgICBuYW1lOiBu
YW1lLAorICAgICAgICAgICAgc3RhcnRSdW46IHRlc3RSdW5zWzBdWydpZCddLAorICAgICAgICAg
ICAgZW5kUnVuOiB0ZXN0UnVuc1sxXVsnaWQnXSwKKyAgICAgICAgfSk7CisgICAgfSkudGhlbigo
Y29udGVudCkgPT4gY29udGVudFsndGFza0lkJ10pOworfQorCitmdW5jdGlvbiBhZGRUcmlnZ2Vy
YWJsZUFuZENyZWF0ZVRhc2sobmFtZSkKK3sKKyAgICBjb25zdCByZXBvcnQgPSB7CisgICAgICAg
ICdzbGF2ZU5hbWUnOiAnYW5vdGhlclNsYXZlJywKKyAgICAgICAgJ3NsYXZlUGFzc3dvcmQnOiAn
YW5vdGhlclBhc3N3b3JkJywKKyAgICAgICAgJ3RyaWdnZXJhYmxlJzogJ2J1aWxkLXdlYmtpdCcs
CisgICAgICAgICdjb25maWd1cmF0aW9ucyc6IFsKKyAgICAgICAgICAgIHt0ZXN0OiBNb2NrRGF0
YS5zb21lVGVzdElkKCksIHBsYXRmb3JtOiBNb2NrRGF0YS5zb21lUGxhdGZvcm1JZCgpfQorICAg
ICAgICBdLAorICAgIH07CisgICAgcmV0dXJuIE1vY2tEYXRhLmFkZE1vY2tEYXRhKFRlc3RTZXJ2
ZXIuZGF0YWJhc2UoKSkudGhlbigoKSA9PiB7CisgICAgICAgIHJldHVybiBhZGRTbGF2ZUZvclJl
cG9ydChyZXBvcnQpOworICAgIH0pLnRoZW4oKCkgPT4geworICAgICAgICByZXR1cm4gVGVzdFNl
cnZlci5yZW1vdGVBUEkoKS5wb3N0SlNPTignL2FwaS91cGRhdGUtdHJpZ2dlcmFibGUvJywgcmVw
b3J0KTsKKyAgICB9KS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJuIGNyZWF0ZUFuYWx5c2lz
VGFzayhuYW1lKTsKKyAgICB9KTsKK30KKworZGVzY3JpYmUoJy9wcml2aWxlZ2VkLWFwaS9jcmVh
dGUtdGVzdC1ncm91cCcsIGZ1bmN0aW9uICgpIHsKKyAgICBwcmVwYXJlU2VydmVyVGVzdCh0aGlz
KTsKKworICAgIGl0KCdzaG91bGQgcmV0dXJuICJJbnZhbGlkTmFtZSIgb24gYW4gZW1wdHkgcmVx
dWVzdCcsICgpID0+IHsKKyAgICAgICAgcmV0dXJuIFByaXZpbGVnZWRBUEkuc2VuZFJlcXVlc3Qo
J2NyZWF0ZS10ZXN0LWdyb3VwJywge30pLnRoZW4oKGNvbnRlbnQpID0+IHsKKyAgICAgICAgICAg
IGFzc2VydChmYWxzZSwgJ3Nob3VsZCBuZXZlciBiZSByZWFjaGVkJyk7CisgICAgICAgIH0sIChy
ZXNwb25zZSkgPT4geworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlc3BvbnNlWydzdGF0dXMn
XSwgJ0ludmFsaWROYW1lJyk7CisgICAgICAgIH0pOworICAgIH0pOworCisgICAgaXQoJ3Nob3Vs
ZCByZXR1cm4gIkludmFsaWRUYXNrIiB3aGVuIHRhc2sgaXMgbm90IHNwZWNpZmllZCcsICgpID0+
IHsKKyAgICAgICAgcmV0dXJuIFByaXZpbGVnZWRBUEkuc2VuZFJlcXVlc3QoJ2NyZWF0ZS10ZXN0
LWdyb3VwJywge25hbWU6ICd0ZXN0JywgY29tbWl0U2V0czogW1sxXV19KS50aGVuKChjb250ZW50
KSA9PiB7CisgICAgICAgICAgICBhc3NlcnQoZmFsc2UsICdzaG91bGQgbmV2ZXIgYmUgcmVhY2hl
ZCcpOworICAgICAgICB9LCAocmVzcG9uc2UpID0+IHsKKyAgICAgICAgICAgIGFzc2VydC5lcXVh
bChyZXNwb25zZVsnc3RhdHVzJ10sICdJbnZhbGlkVGFzaycpOworICAgICAgICB9KTsKKyAgICB9
KTsKKworICAgIGl0KCdzaG91bGQgcmV0dXJuICJJbnZhbGlkVGFzayIgd2hlbiB0YXNrIGlzIG5v
dCBhIHZhbGlkIGludGVnZXInLCAoKSA9PiB7CisgICAgICAgIHJldHVybiBQcml2aWxlZ2VkQVBJ
LnNlbmRSZXF1ZXN0KCdjcmVhdGUtdGVzdC1ncm91cCcsIHtuYW1lOiAndGVzdCcsIHRhc2s6ICdm
b28nLCBjb21taXRTZXRzOiBbWzFdXX0pLnRoZW4oKGNvbnRlbnQpID0+IHsKKyAgICAgICAgICAg
IGFzc2VydChmYWxzZSwgJ3Nob3VsZCBuZXZlciBiZSByZWFjaGVkJyk7CisgICAgICAgIH0sIChy
ZXNwb25zZSkgPT4geworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlc3BvbnNlWydzdGF0dXMn
XSwgJ0ludmFsaWRUYXNrJyk7CisgICAgICAgIH0pOworICAgIH0pOworCisgICAgaXQoJ3Nob3Vs
ZCByZXR1cm4gIkludmFsaWRDb21taXRTZXRzIiB3aGVuIGNvbW1pdCBzZXRzIGFyZSBub3Qgc3Bl
Y2lmaWVkJywgKCkgPT4geworICAgICAgICByZXR1cm4gUHJpdmlsZWdlZEFQSS5zZW5kUmVxdWVz
dCgnY3JlYXRlLXRlc3QtZ3JvdXAnLCB7bmFtZTogJ3Rlc3QnLCB0YXNrOiAxLCByZXBldGl0aW9u
Q291bnQ6IDF9KS50aGVuKChjb250ZW50KSA9PiB7CisgICAgICAgICAgICBhc3NlcnQoZmFsc2Us
ICdzaG91bGQgbmV2ZXIgYmUgcmVhY2hlZCcpOworICAgICAgICB9LCAocmVzcG9uc2UpID0+IHsK
KyAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXNwb25zZVsnc3RhdHVzJ10sICdJbnZhbGlkQ29t
bWl0U2V0cycpOworICAgICAgICB9KTsKKyAgICB9KTsKKworICAgIGl0KCdzaG91bGQgcmV0dXJu
ICJJbnZhbGlkQ29tbWl0U2V0cyIgd2hlbiBjb21taXQgc2V0cyBpcyBlbXB0eScsICgpID0+IHsK
KyAgICAgICAgcmV0dXJuIFByaXZpbGVnZWRBUEkuc2VuZFJlcXVlc3QoJ2NyZWF0ZS10ZXN0LWdy
b3VwJywge25hbWU6ICd0ZXN0JywgdGFzazogMSwgcmVwZXRpdGlvbkNvdW50OiAxLCBjb21taXRT
ZXRzOiB7fX0pLnRoZW4oKGNvbnRlbnQpID0+IHsKKyAgICAgICAgICAgIGFzc2VydChmYWxzZSwg
J3Nob3VsZCBuZXZlciBiZSByZWFjaGVkJyk7CisgICAgICAgIH0sIChyZXNwb25zZSkgPT4gewor
ICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlc3BvbnNlWydzdGF0dXMnXSwgJ0ludmFsaWRDb21t
aXRTZXRzJyk7CisgICAgICAgIH0pOworICAgIH0pOworCisgICAgaXQoJ3Nob3VsZCByZXR1cm4g
IkludmFsaWRUYXNrIiB3aGVuIHRoZXJlIGlzIG5vIG1hdGNoaW5nIHRhc2snLCAoKSA9PiB7Cisg
ICAgICAgIHJldHVybiBQcml2aWxlZ2VkQVBJLnNlbmRSZXF1ZXN0KCdjcmVhdGUtdGVzdC1ncm91
cCcsIHtuYW1lOiAndGVzdCcsIHRhc2s6IDEsIHJlcGV0aXRpb25Db3VudDogMSwgY29tbWl0U2V0
czogeydXZWJLaXQnOiBbXX19KS50aGVuKChjb250ZW50KSA9PiB7CisgICAgICAgICAgICBhc3Nl
cnQoZmFsc2UsICdzaG91bGQgbmV2ZXIgYmUgcmVhY2hlZCcpOworICAgICAgICB9LCAocmVzcG9u
c2UpID0+IHsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXNwb25zZVsnc3RhdHVzJ10sICdJ
bnZhbGlkVGFzaycpOworICAgICAgICB9KTsKKyAgICB9KTsKKworICAgIGl0KCdzaG91bGQgcmV0
dXJuICJJbnZhbGlkUmVwZXRpdGlvbkNvdW50IiB3aGVuIHJlcGV0aXRpb25Db3VudCBpcyBub3Qg
YSB2YWxpZCBpbnRlZ2VyJywgKCkgPT4geworICAgICAgICByZXR1cm4gUHJpdmlsZWdlZEFQSS5z
ZW5kUmVxdWVzdCgnY3JlYXRlLXRlc3QtZ3JvdXAnLCB7bmFtZTogJ3Rlc3QnLCB0YXNrOiAxLCBy
ZXBldGl0aW9uQ291bnQ6ICdmb28nLCBjb21taXRTZXRzOiB7J1dlYktpdCc6IFtdfX0pLnRoZW4o
KGNvbnRlbnQpID0+IHsKKyAgICAgICAgICAgIGFzc2VydChmYWxzZSwgJ3Nob3VsZCBuZXZlciBi
ZSByZWFjaGVkJyk7CisgICAgICAgIH0sIChyZXNwb25zZSkgPT4geworICAgICAgICAgICAgYXNz
ZXJ0LmVxdWFsKHJlc3BvbnNlWydzdGF0dXMnXSwgJ0ludmFsaWRSZXBldGl0aW9uQ291bnQnKTsK
KyAgICAgICAgfSk7CisgICAgfSk7CisKKyAgICBpdCgnc2hvdWxkIHJldHVybiAiSW52YWxpZFJl
cGV0aXRpb25Db3VudCIgd2hlbiByZXBldGl0aW9uQ291bnQgaXMgYSBuZWdhdGl2ZSBpbnRlZ2Vy
JywgKCkgPT4geworICAgICAgICByZXR1cm4gUHJpdmlsZWdlZEFQSS5zZW5kUmVxdWVzdCgnY3Jl
YXRlLXRlc3QtZ3JvdXAnLCB7bmFtZTogJ3Rlc3QnLCB0YXNrOiAxLCByZXBldGl0aW9uQ291bnQ6
IC01LCBjb21taXRTZXRzOiB7J1dlYktpdCc6IFtdfX0pLnRoZW4oKGNvbnRlbnQpID0+IHsKKyAg
ICAgICAgICAgIGFzc2VydChmYWxzZSwgJ3Nob3VsZCBuZXZlciBiZSByZWFjaGVkJyk7CisgICAg
ICAgIH0sIChyZXNwb25zZSkgPT4geworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlc3BvbnNl
WydzdGF0dXMnXSwgJ0ludmFsaWRSZXBldGl0aW9uQ291bnQnKTsKKyAgICAgICAgfSk7CisgICAg
fSk7CisKKyAgICBpdCgnc2hvdWxkIHJldHVybiAiSW52YWxpZFRhc2siIHdoZW4gdGhlcmUgaXMg
bm8gbWF0Y2hpbmcgdGFzaycsICgpID0+IHsKKyAgICAgICAgcmV0dXJuIFByaXZpbGVnZWRBUEku
c2VuZFJlcXVlc3QoJ2NyZWF0ZS10ZXN0LWdyb3VwJywge25hbWU6ICd0ZXN0JywgdGFzazogMSwg
Y29tbWl0U2V0czogeydXZWJLaXQnOiBbXX19KS50aGVuKChjb250ZW50KSA9PiB7CisgICAgICAg
ICAgICBhc3NlcnQoZmFsc2UsICdzaG91bGQgbmV2ZXIgYmUgcmVhY2hlZCcpOworICAgICAgICB9
LCAocmVzcG9uc2UpID0+IHsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXNwb25zZVsnc3Rh
dHVzJ10sICdJbnZhbGlkVGFzaycpOworICAgICAgICB9KTsKKyAgICB9KTsKKworICAgIGl0KCdz
aG91bGQgcmV0dXJuICJUcmlnZ2VyYWJsZU5vdEZvdW5kRm9yVGFzayIgd2hlbiB0aGVyZSBpcyBu
byBtYXRjaGluZyB0cmlnZ2VyYWJsZScsICgpID0+IHsKKyAgICAgICAgcmV0dXJuIGNyZWF0ZUFu
YWx5c2lzVGFzaygnc29tZSB0YXNrJykudGhlbigodGFza0lkKSA9PiB7CisgICAgICAgICAgICBy
ZXR1cm4gUHJpdmlsZWdlZEFQSS5zZW5kUmVxdWVzdCgnY3JlYXRlLXRlc3QtZ3JvdXAnLCB7bmFt
ZTogJ3Rlc3QnLCB0YXNrOiB0YXNrSWQsIGNvbW1pdFNldHM6IHsnV2ViS2l0JzogW119fSkudGhl
bigoY29udGVudCkgPT4geworICAgICAgICAgICAgICAgIGFzc2VydChmYWxzZSwgJ3Nob3VsZCBu
ZXZlciBiZSByZWFjaGVkJyk7CisgICAgICAgICAgICB9LCAocmVzcG9uc2UpID0+IHsKKyAgICAg
ICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVzcG9uc2VbJ3N0YXR1cyddLCAnVHJpZ2dlcmFibGVO
b3RGb3VuZEZvclRhc2snKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9KTsKKyAgICB9KTsK
KworICAgIGl0KCdzaG91bGQgcmV0dXJuICJJbnZhbGlkQ29tbWl0U2V0cyIgd2hlbiBlYWNoIHJl
cG9zaXRvcnkgc3BlY2lmaWVzIHplcm8gcmV2aXNpb25zJywgKCkgPT4geworICAgICAgICByZXR1
cm4gYWRkVHJpZ2dlcmFibGVBbmRDcmVhdGVUYXNrKCdzb21lIHRhc2snKS50aGVuKCh0YXNrSWQp
ID0+IHsKKyAgICAgICAgICAgIHJldHVybiBQcml2aWxlZ2VkQVBJLnNlbmRSZXF1ZXN0KCdjcmVh
dGUtdGVzdC1ncm91cCcsIHtuYW1lOiAndGVzdCcsIHRhc2s6IHRhc2tJZCwgY29tbWl0U2V0czog
eydXZWJLaXQnOiBbXX19KS50aGVuKChjb250ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgYXNz
ZXJ0KGZhbHNlLCAnc2hvdWxkIG5ldmVyIGJlIHJlYWNoZWQnKTsKKyAgICAgICAgICAgIH0sIChy
ZXNwb25zZSkgPT4geworICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXNwb25zZVsnc3Rh
dHVzJ10sICdJbnZhbGlkQ29tbWl0U2V0cycpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0p
OworICAgIH0pOworCisgICAgaXQoJ3Nob3VsZCByZXR1cm4gIlJlcG9zaXRvcnlOb3RGb3VuZCIg
d2hlbiBjb21taXQgc2V0cyBjb250YWlucyBhbiBpbnZhbGlkIHJlcG9zaXRvcnknLCAoKSA9PiB7
CisgICAgICAgIHJldHVybiBhZGRUcmlnZ2VyYWJsZUFuZENyZWF0ZVRhc2soJ3NvbWUgdGFzaycp
LnRoZW4oKHRhc2tJZCkgPT4geworICAgICAgICAgICAgcmV0dXJuIFByaXZpbGVnZWRBUEkuc2Vu
ZFJlcXVlc3QoJ2NyZWF0ZS10ZXN0LWdyb3VwJywge25hbWU6ICd0ZXN0JywgdGFzazogdGFza0lk
LCBjb21taXRTZXRzOiB7J0Zvbyc6IFtdfX0pLnRoZW4oKGNvbnRlbnQpID0+IHsKKyAgICAgICAg
ICAgICAgICBhc3NlcnQoZmFsc2UsICdzaG91bGQgbmV2ZXIgYmUgcmVhY2hlZCcpOworICAgICAg
ICAgICAgfSwgKHJlc3BvbnNlKSA9PiB7CisgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJl
c3BvbnNlWydzdGF0dXMnXSwgJ1JlcG9zaXRvcnlOb3RGb3VuZCcpOworICAgICAgICAgICAgfSk7
CisgICAgICAgIH0pOworICAgIH0pOworCisgICAgaXQoJ3Nob3VsZCByZXR1cm4gIlJldmlzaW9u
Tm90Rm91bmQiIHdoZW4gY29tbWl0IHNldHMgY29udGFpbnMgYW4gaW52YWxpZCByZXZpc2lvbics
ICgpID0+IHsKKyAgICAgICAgcmV0dXJuIGFkZFRyaWdnZXJhYmxlQW5kQ3JlYXRlVGFzaygnc29t
ZSB0YXNrJykudGhlbigodGFza0lkKSA9PiB7CisgICAgICAgICAgICByZXR1cm4gUHJpdmlsZWdl
ZEFQSS5zZW5kUmVxdWVzdCgnY3JlYXRlLXRlc3QtZ3JvdXAnLCB7bmFtZTogJ3Rlc3QnLCB0YXNr
OiB0YXNrSWQsIGNvbW1pdFNldHM6IHsnV2ViS2l0JzogWycxJ119fSkudGhlbigoY29udGVudCkg
PT4geworICAgICAgICAgICAgICAgIGFzc2VydChmYWxzZSwgJ3Nob3VsZCBuZXZlciBiZSByZWFj
aGVkJyk7CisgICAgICAgICAgICB9LCAocmVzcG9uc2UpID0+IHsKKyAgICAgICAgICAgICAgICBh
c3NlcnQuZXF1YWwocmVzcG9uc2VbJ3N0YXR1cyddLCAnUmV2aXNpb25Ob3RGb3VuZCcpOworICAg
ICAgICAgICAgfSk7CisgICAgICAgIH0pOworICAgIH0pOworCisgICAgaXQoJ3Nob3VsZCByZXR1
cm4gIkludmFsaWRDb21taXRTZXRzIiB3aGVuIGNvbW1pdCBzZXRzIGNvbnRhaW5zIGFuIGluY29u
c2lzdGVudCBudW1iZXIgb2YgcmV2aXNpb25zJywgKCkgPT4geworICAgICAgICByZXR1cm4gYWRk
VHJpZ2dlcmFibGVBbmRDcmVhdGVUYXNrKCdzb21lIHRhc2snKS50aGVuKCh0YXNrSWQpID0+IHsK
KyAgICAgICAgICAgIHJldHVybiBQcml2aWxlZ2VkQVBJLnNlbmRSZXF1ZXN0KCdjcmVhdGUtdGVz
dC1ncm91cCcsIHtuYW1lOiAndGVzdCcsIHRhc2s6IHRhc2tJZCwgY29tbWl0U2V0czogeydXZWJL
aXQnOiBbJzE5MTYyMicsICcxOTE2MjMnXSwgJ21hY09TJzogWycxNUEyODQnXX19KS50aGVuKChj
b250ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgYXNzZXJ0KGZhbHNlLCAnc2hvdWxkIG5ldmVy
IGJlIHJlYWNoZWQnKTsKKyAgICAgICAgICAgIH0sIChyZXNwb25zZSkgPT4geworICAgICAgICAg
ICAgICAgIGFzc2VydC5lcXVhbChyZXNwb25zZVsnc3RhdHVzJ10sICdJbnZhbGlkQ29tbWl0U2V0
cycpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0pOworICAgIH0pOworCisgICAgaXQoJ3No
b3VsZCBjcmVhdGUgYSB0ZXN0IGdyb3VwIHdpdGggdGhlIHJlcGV0aXRpb24gY291bnQgb2Ygb25l
IHdoZW4gcmVwZXRpdGlvbkNvdW50IGlzIG9taXR0ZWQnLCAoKSA9PiB7CisgICAgICAgIHJldHVy
biBhZGRUcmlnZ2VyYWJsZUFuZENyZWF0ZVRhc2soJ3NvbWUgdGFzaycpLnRoZW4oKHRhc2tJZCkg
PT4geworICAgICAgICAgICAgbGV0IGluc2VydGVkR3JvdXBJZDsKKyAgICAgICAgICAgIHJldHVy
biBQcml2aWxlZ2VkQVBJLnNlbmRSZXF1ZXN0KCdjcmVhdGUtdGVzdC1ncm91cCcsIHtuYW1lOiAn
dGVzdCcsIHRhc2s6IHRhc2tJZCwgY29tbWl0U2V0czogeydXZWJLaXQnOiBbJzE5MTYyMicsICcx
OTE2MjMnXX19KS50aGVuKChjb250ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgaW5zZXJ0ZWRH
cm91cElkID0gY29udGVudFsndGVzdEdyb3VwSWQnXTsKKyAgICAgICAgICAgICAgICByZXR1cm4g
VGVzdEdyb3VwLmZldGNoQnlUYXNrKHRhc2tJZCk7CisgICAgICAgICAgICB9KS50aGVuKCh0ZXN0
R3JvdXBzKSA9PiB7CisgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHRlc3RHcm91cHMubGVu
Z3RoLCAxKTsKKyAgICAgICAgICAgICAgICBjb25zdCBncm91cCA9IHRlc3RHcm91cHNbMF07Cisg
ICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGdyb3VwLmlkKCksIGluc2VydGVkR3JvdXBJZCk7
CisgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGdyb3VwLnJlcGV0aXRpb25Db3VudCgpLCAx
KTsKKyAgICAgICAgICAgICAgICBjb25zdCByZXF1ZXN0cyA9IGdyb3VwLmJ1aWxkUmVxdWVzdHMo
KTsKKyAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHMubGVuZ3RoLCAyKTsKKyAg
ICAgICAgICAgICAgICBjb25zdCB3ZWJraXQgPSBSZXBvc2l0b3J5LmFsbCgpLmZpbHRlcigocmVw
b3NpdG9yeSkgPT4gcmVwb3NpdG9yeS5uYW1lKCkgPT0gJ1dlYktpdCcpWzBdOworICAgICAgICAg
ICAgICAgIGFzc2VydC5kZWVwRXF1YWwocmVxdWVzdHNbMF0uY29tbWl0U2V0KCkucmVwb3NpdG9y
aWVzKCksIFt3ZWJraXRdKTsKKyAgICAgICAgICAgICAgICBhc3NlcnQuZGVlcEVxdWFsKHJlcXVl
c3RzWzFdLmNvbW1pdFNldCgpLnJlcG9zaXRvcmllcygpLCBbd2Via2l0XSk7CisgICAgICAgICAg
ICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzWzBdLmNvbW1pdFNldCgpLnJldmlzaW9uRm9yUmVw
b3NpdG9yeSh3ZWJraXQpLCAnMTkxNjIyJyk7CisgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFs
KHJlcXVlc3RzWzFdLmNvbW1pdFNldCgpLnJldmlzaW9uRm9yUmVwb3NpdG9yeSh3ZWJraXQpLCAn
MTkxNjIzJyk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSk7CisgICAgfSk7CisKKyAgICBp
dCgnc2hvdWxkIGNyZWF0ZSBhIHRlc3QgZ3JvdXAgd2l0aCB0aGUgcmVwZXRpdGlvbiBjb3VudCBv
ZiB0d28gd2l0aCB0d28gcmVwb3NpdG9yaWVzJywgKCkgPT4geworICAgICAgICByZXR1cm4gYWRk
VHJpZ2dlcmFibGVBbmRDcmVhdGVUYXNrKCdzb21lIHRhc2snKS50aGVuKCh0YXNrSWQpID0+IHsK
KyAgICAgICAgICAgIGxldCBpbnNlcnRlZEdyb3VwSWQ7CisgICAgICAgICAgICByZXR1cm4gUHJp
dmlsZWdlZEFQSS5zZW5kUmVxdWVzdCgnY3JlYXRlLXRlc3QtZ3JvdXAnLCB7bmFtZTogJ3Rlc3Qn
LCB0YXNrOiB0YXNrSWQsIHJlcGV0aXRpb25Db3VudDogMiwKKyAgICAgICAgICAgICAgICBjb21t
aXRTZXRzOiB7J1dlYktpdCc6IFsnMTkxNjIyJywgJzE5MTYyMyddLCAnbWFjT1MnOiBbJzE1QTI4
NCcsICcxNUEyODQnXX19KS50aGVuKChjb250ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgaW5z
ZXJ0ZWRHcm91cElkID0gY29udGVudFsndGVzdEdyb3VwSWQnXTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gVGVzdEdyb3VwLmZldGNoQnlUYXNrKHRhc2tJZCk7CisgICAgICAgICAgICB9KS50aGVu
KCh0ZXN0R3JvdXBzKSA9PiB7CisgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHRlc3RHcm91
cHMubGVuZ3RoLCAxKTsKKyAgICAgICAgICAgICAgICBjb25zdCBncm91cCA9IHRlc3RHcm91cHNb
MF07CisgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGdyb3VwLmlkKCksIGluc2VydGVkR3Jv
dXBJZCk7CisgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGdyb3VwLnJlcGV0aXRpb25Db3Vu
dCgpLCAyKTsKKyAgICAgICAgICAgICAgICBjb25zdCByZXF1ZXN0cyA9IGdyb3VwLmJ1aWxkUmVx
dWVzdHMoKTsKKyAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHMubGVuZ3RoLCA0
KTsKKyAgICAgICAgICAgICAgICBjb25zdCB3ZWJraXQgPSBSZXBvc2l0b3J5LmFsbCgpLmZpbHRl
cigocmVwb3NpdG9yeSkgPT4gcmVwb3NpdG9yeS5uYW1lKCkgPT0gJ1dlYktpdCcpWzBdOworICAg
ICAgICAgICAgICAgIGNvbnN0IG1hY29zID0gUmVwb3NpdG9yeS5hbGwoKS5maWx0ZXIoKHJlcG9z
aXRvcnkpID0+IHJlcG9zaXRvcnkubmFtZSgpID09ICdtYWNPUycpWzBdOworICAgICAgICAgICAg
ICAgIGNvbnN0IHNldDEgPSByZXF1ZXN0c1swXS5jb21taXRTZXQoKTsKKyAgICAgICAgICAgICAg
ICBjb25zdCBzZXQyID0gcmVxdWVzdHNbMV0uY29tbWl0U2V0KCk7CisgICAgICAgICAgICAgICAg
YXNzZXJ0LmVxdWFsKHJlcXVlc3RzWzJdLmNvbW1pdFNldCgpLCBzZXQxKTsKKyAgICAgICAgICAg
ICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHNbM10uY29tbWl0U2V0KCksIHNldDIpOworICAgICAg
ICAgICAgICAgIGFzc2VydC5kZWVwRXF1YWwoUmVwb3NpdG9yeS5zb3J0QnlOYW1lUHJlZmVycmlu
Z09uZXNXaXRoVVJMKHNldDEucmVwb3NpdG9yaWVzKCkpLCBbd2Via2l0LCBtYWNvc10pOworICAg
ICAgICAgICAgICAgIGFzc2VydC5kZWVwRXF1YWwoUmVwb3NpdG9yeS5zb3J0QnlOYW1lUHJlZmVy
cmluZ09uZXNXaXRoVVJMKHNldDIucmVwb3NpdG9yaWVzKCkpLCBbd2Via2l0LCBtYWNvc10pOwor
ICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChzZXQxLnJldmlzaW9uRm9yUmVwb3NpdG9yeSh3
ZWJraXQpLCAnMTkxNjIyJyk7CisgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHNldDEucmV2
aXNpb25Gb3JSZXBvc2l0b3J5KG1hY29zKSwgJzE1QTI4NCcpOworICAgICAgICAgICAgICAgIGFz
c2VydC5lcXVhbChzZXQyLnJldmlzaW9uRm9yUmVwb3NpdG9yeSh3ZWJraXQpLCAnMTkxNjIzJyk7
CisgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHNldDIucmV2aXNpb25Gb3JSZXBvc2l0b3J5
KG1hY29zKSwgJzE1QTI4NCcpOworICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChzZXQxLmNv
bW1pdEZvclJlcG9zaXRvcnkobWFjb3MpLCBzZXQyLmNvbW1pdEZvclJlcG9zaXRvcnkobWFjb3Mp
KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9KTsKKyAgICB9KTsKKworfSk7CkluZGV4OiBX
ZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Jlc291cmNlcy9jb21tb24tb3Bl
cmF0aW9ucy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVy
LXRlc3RzL3Jlc291cmNlcy9jb21tb24tb3BlcmF0aW9ucy5qcwkocmV2aXNpb24gMjEzOTk2KQor
KysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9yZXNvdXJjZXMvY29tbW9u
LW9wZXJhdGlvbnMuanMJKHdvcmtpbmcgY29weSkKQEAgLTE5LDcgKzE5LDcgQEAgZnVuY3Rpb24g
YWRkU2xhdmVGb3JSZXBvcnQocmVwb3J0KQogCiBmdW5jdGlvbiBwcmVwYXJlU2VydmVyVGVzdCh0
ZXN0KQogewotICAgIHRlc3QudGltZW91dCgxMDAwKTsKKyAgICB0ZXN0LnRpbWVvdXQoNTAwMCk7
CiAgICAgVGVzdFNlcnZlci5pbmplY3QoKTsKIAogICAgIGJlZm9yZUVhY2goZnVuY3Rpb24gKCkg
ewpJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9yZXNvdXJjZXMv
bW9jay1kYXRhLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2
ZXItdGVzdHMvcmVzb3VyY2VzL21vY2stZGF0YS5qcwkocmV2aXNpb24gMjEzOTk2KQorKysgV2Vi
c2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9yZXNvdXJjZXMvbW9jay1kYXRhLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBAIE1vY2tEYXRhID0gewogICAgICAgICAg
ICAgc3RhdHVzTGlzdCA9IFsncGVuZGluZycsICdwZW5kaW5nJywgJ3BlbmRpbmcnLCAncGVuZGlu
ZyddOwogICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoWwogICAgICAgICAgICAgZGIuaW5zZXJ0
KCdidWlsZF90cmlnZ2VyYWJsZXMnLCB7aWQ6IDEsIG5hbWU6ICdidWlsZC13ZWJraXQnfSksCi0g
ICAgICAgICAgICBkYi5pbnNlcnQoJ2J1aWxkX3NsYXZlcycsIHtpZDogMiwgbmFtZTogJ3N5bmMt
c2xhdmUnLCBwYXNzd29yZF9oYXNoOiBjcnlwdG8uY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRl
KCdwYXNzd29yZCcpLmRpZ2VzdCgnaGV4Jyl9KSwKKyAgICAgICAgICAgIGRiLmluc2VydCgnYnVp
bGRfc2xhdmVzJywge2lkOiAyMCwgbmFtZTogJ3N5bmMtc2xhdmUnLCBwYXNzd29yZF9oYXNoOiBj
cnlwdG8uY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKCdwYXNzd29yZCcpLmRpZ2VzdCgnaGV4
Jyl9KSwKICAgICAgICAgICAgIGRiLmluc2VydCgncmVwb3NpdG9yaWVzJywge2lkOiA5LCBuYW1l
OiAnT1MgWCd9KSwKICAgICAgICAgICAgIGRiLmluc2VydCgncmVwb3NpdG9yaWVzJywge2lkOiAx
MSwgbmFtZTogJ1dlYktpdCd9KSwKICAgICAgICAgICAgIGRiLmluc2VydCgnY29tbWl0cycsIHtp
ZDogODc4MzIsIHJlcG9zaXRvcnk6IDksIHJldmlzaW9uOiAnMTAuMTEgMTVBMjg0J30pLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304528</attachid>
            <date>2017-03-15 12:30:34 -0700</date>
            <delta_ts>2017-03-15 12:31:19 -0700</delta_ts>
            <desc>Fixes the tests</desc>
            <filename>bug-169688-20170315123033.patch</filename>
            <type>text/plain</type>
            <size>10322</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkocmV2aXNpb24gMjEzOTk5KQorKysg
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDMwIEBACisyMDE3LTAzLTE1ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgor
CisgICAgICAgIEZpeCBzZXJ2ZXIgdGVzdHMgYWZ0ZXIgcjIxMzk5OCBhbmQgcjIxMzk2OQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5Njg4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4ZWQgdGhlIGV4
aXN0aW5nIHNlcnZlciB0ZXN0cy4KKworICAgICAgICAqIHB1YmxpYy92My9tb2RlbHMvYW5hbHlz
aXMtdGFzay5qczoKKyAgICAgICAgKEFuYWx5c2lzVGFzay5wcm90b3R5cGUuX3VwZGF0ZVJlbW90
ZVN0YXRlKTogVXNlIHRoZSByZWxhdGl2ZSBwYXRoIGZyb20gdGhlIHJvb3Qgc28gdGhhdCBpdCB3
b3JrcyBpbnNpZGUgdGVzdHMuCisgICAgICAgIChBbmFseXNpc1Rhc2sucHJvdG90eXBlLmFzc29j
aWF0ZUJ1Zyk6IERpdHRvLgorICAgICAgICAoQW5hbHlzaXNUYXNrLnByb3RvdHlwZS5kaXNzb2Np
YXRlQnVnKTogRGl0dG8uCisgICAgICAgIChBbmFseXNpc1Rhc2sucHJvdG90eXBlLmFzc29jaWF0
ZUNvbW1pdCk6IERpdHRvLgorICAgICAgICAoQW5hbHlzaXNUYXNrLnByb3RvdHlwZS5kaXNzb2Np
YXRlQ29tbWl0KTogRGl0dG8uCisgICAgICAgIChBbmFseXNpc1Rhc2suX2ZldGNoU3Vic2V0KTog
RGl0dG8uCisgICAgICAgIChBbmFseXNpc1Rhc2suZmV0Y2hBbGwpOiBEaXR0by4KKyAgICAgICAg
KiBwdWJsaWMvdjMvbW9kZWxzL3Rlc3QtZ3JvdXAuanM6CisgICAgICAgIChUZXN0R3JvdXAucHJv
dG90eXBlLnVwZGF0ZU5hbWUpOiBEaXR0by4KKyAgICAgICAgKFRlc3RHcm91cC5wcm90b3R5cGUu
dXBkYXRlSGlkZGVuRmxhZyk6IERpdHRvLgorICAgICAgICAoVGVzdEdyb3VwLmNyZWF0ZUFuZFJl
ZmV0Y2hUZXN0R3JvdXBzKTogRGl0dG8uCisgICAgICAgIChUZXN0R3JvdXAuY2FjaGVkRmV0Y2gp
OiBEaXR0by4KKyAgICAgICAgKiBzZXJ2ZXItdGVzdHMvYXBpLW1hbmlmZXN0LmpzOiBSZXZlcnRl
ZCBhbiBpbmFkdmVydGFudCBjaGFuZ2UgaW4gcjIxMzk2OS4KKyAgICAgICAgKiB0b29scy9qcy9k
YXRhYmFzZS5qczoKKyAgICAgICAgKHRhYmxlVG9QcmVmaXhNYXApOiBBZGRlZCBhbmFseXNpc19z
dHJhdGVnaWVzLgorICAgICAgICAqIHVuaXQtdGVzdHMvYW5hbHlzaXMtdGFzay10ZXN0cy5qczog
VXBkYXRlZCBleHBlY3RhdGlvbnMgcGVyIGNoYW5nZXMgdG8gQW5hbHlzaXNUYXNrLgorCiAyMDE3
LTAzLTE1ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCB0
ZXN0cyBmb3IgcHJpdmlsZWdlZC1hcGkvY3JlYXRlLWFuYWx5c2lzLXRhc2sgYW5kIHByaXZpbGVn
ZWQtYXBpL2NyZWF0ZS10ZXN0LWdyb3VwCkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcv
cHVibGljL3YzL21vZGVscy9hbmFseXNpcy10YXNrLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVz
L3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvbW9kZWxzL2FuYWx5c2lzLXRhc2suanMJKHJldmlz
aW9uIDIxMzk5OSkKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvbW9kZWxz
L2FuYWx5c2lzLXRhc2suanMJKHdvcmtpbmcgY29weSkKQEAgLTgxLDcgKzgxLDcgQEAgY2xhc3Mg
QW5hbHlzaXNUYXNrIGV4dGVuZHMgTGFiZWxlZE9iamVjdAogICAgIHsKICAgICAgICAgcGFyYW0u
dGFzayA9IHRoaXMuaWQoKTsKICAgICAgICAgcmV0dXJuIFByaXZpbGVnZWRBUEkuc2VuZFJlcXVl
c3QoJ3VwZGF0ZS1hbmFseXNpcy10YXNrJywgcGFyYW0pLnRoZW4oZnVuY3Rpb24gKGRhdGEpIHsK
LSAgICAgICAgICAgIHJldHVybiBBbmFseXNpc1Rhc2suY2FjaGVkRmV0Y2goJy4uL2FwaS9hbmFs
eXNpcy10YXNrcycsIHtpZDogcGFyYW0udGFza30sIHRydWUpCisgICAgICAgICAgICByZXR1cm4g
QW5hbHlzaXNUYXNrLmNhY2hlZEZldGNoKCcvYXBpL2FuYWx5c2lzLXRhc2tzJywge2lkOiBwYXJh
bS50YXNrfSwgdHJ1ZSkKICAgICAgICAgICAgICAgICAudGhlbihBbmFseXNpc1Rhc2suX2NvbnN0
cnVjdEFuYWx5c2lzVGFza3NGcm9tUmF3RGF0YS5iaW5kKEFuYWx5c2lzVGFzaykpOwogICAgICAg
ICB9KTsKICAgICB9CkBAIC05Niw3ICs5Niw3IEBAIGNsYXNzIEFuYWx5c2lzVGFzayBleHRlbmRz
IExhYmVsZWRPYmplY3QKICAgICAgICAgICAgIGJ1Z1RyYWNrZXI6IHRyYWNrZXIuaWQoKSwKICAg
ICAgICAgICAgIG51bWJlcjogYnVnTnVtYmVyLAogICAgICAgICB9KS50aGVuKGZ1bmN0aW9uIChk
YXRhKSB7Ci0gICAgICAgICAgICByZXR1cm4gQW5hbHlzaXNUYXNrLmNhY2hlZEZldGNoKCcuLi9h
cGkvYW5hbHlzaXMtdGFza3MnLCB7aWQ6IGlkfSwgdHJ1ZSkKKyAgICAgICAgICAgIHJldHVybiBB
bmFseXNpc1Rhc2suY2FjaGVkRmV0Y2goJy9hcGkvYW5hbHlzaXMtdGFza3MnLCB7aWQ6IGlkfSwg
dHJ1ZSkKICAgICAgICAgICAgICAgICAudGhlbihBbmFseXNpc1Rhc2suX2NvbnN0cnVjdEFuYWx5
c2lzVGFza3NGcm9tUmF3RGF0YS5iaW5kKEFuYWx5c2lzVGFzaykpOwogICAgICAgICB9KTsKICAg
ICB9CkBAIC0xMTIsNyArMTEyLDcgQEAgY2xhc3MgQW5hbHlzaXNUYXNrIGV4dGVuZHMgTGFiZWxl
ZE9iamVjdAogICAgICAgICAgICAgbnVtYmVyOiBidWcuYnVnTnVtYmVyKCksCiAgICAgICAgICAg
ICBzaG91bGREZWxldGU6IHRydWUsCiAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKGRhdGEpIHsK
LSAgICAgICAgICAgIHJldHVybiBBbmFseXNpc1Rhc2suY2FjaGVkRmV0Y2goJy4uL2FwaS9hbmFs
eXNpcy10YXNrcycsIHtpZDogaWR9LCB0cnVlKQorICAgICAgICAgICAgcmV0dXJuIEFuYWx5c2lz
VGFzay5jYWNoZWRGZXRjaCgnL2FwaS9hbmFseXNpcy10YXNrcycsIHtpZDogaWR9LCB0cnVlKQog
ICAgICAgICAgICAgICAgIC50aGVuKEFuYWx5c2lzVGFzay5fY29uc3RydWN0QW5hbHlzaXNUYXNr
c0Zyb21SYXdEYXRhLmJpbmQoQW5hbHlzaXNUYXNrKSk7CiAgICAgICAgIH0pOwogICAgIH0KQEAg
LTEyOCw3ICsxMjgsNyBAQCBjbGFzcyBBbmFseXNpc1Rhc2sgZXh0ZW5kcyBMYWJlbGVkT2JqZWN0
CiAgICAgICAgICAgICByZXZpc2lvbjogcmV2aXNpb24sCiAgICAgICAgICAgICBraW5kOiBraW5k
LAogICAgICAgICB9KS50aGVuKGZ1bmN0aW9uIChkYXRhKSB7Ci0gICAgICAgICAgICByZXR1cm4g
QW5hbHlzaXNUYXNrLmNhY2hlZEZldGNoKCcuLi9hcGkvYW5hbHlzaXMtdGFza3MnLCB7aWQ6IGlk
fSwgdHJ1ZSkKKyAgICAgICAgICAgIHJldHVybiBBbmFseXNpc1Rhc2suY2FjaGVkRmV0Y2goJy9h
cGkvYW5hbHlzaXMtdGFza3MnLCB7aWQ6IGlkfSwgdHJ1ZSkKICAgICAgICAgICAgICAgICAudGhl
bihBbmFseXNpc1Rhc2suX2NvbnN0cnVjdEFuYWx5c2lzVGFza3NGcm9tUmF3RGF0YS5iaW5kKEFu
YWx5c2lzVGFzaykpOwogICAgICAgICB9KTsKICAgICB9CkBAIC0xNDEsNyArMTQxLDcgQEAgY2xh
c3MgQW5hbHlzaXNUYXNrIGV4dGVuZHMgTGFiZWxlZE9iamVjdAogICAgICAgICAgICAgdGFzazog
aWQsCiAgICAgICAgICAgICBjb21taXQ6IGNvbW1pdC5pZCgpLAogICAgICAgICB9KS50aGVuKGZ1
bmN0aW9uIChkYXRhKSB7Ci0gICAgICAgICAgICByZXR1cm4gQW5hbHlzaXNUYXNrLmNhY2hlZEZl
dGNoKCcuLi9hcGkvYW5hbHlzaXMtdGFza3MnLCB7aWQ6IGlkfSwgdHJ1ZSkKKyAgICAgICAgICAg
IHJldHVybiBBbmFseXNpc1Rhc2suY2FjaGVkRmV0Y2goJy9hcGkvYW5hbHlzaXMtdGFza3MnLCB7
aWQ6IGlkfSwgdHJ1ZSkKICAgICAgICAgICAgICAgICAudGhlbihBbmFseXNpc1Rhc2suX2NvbnN0
cnVjdEFuYWx5c2lzVGFza3NGcm9tUmF3RGF0YS5iaW5kKEFuYWx5c2lzVGFzaykpOwogICAgICAg
ICB9KTsKICAgICB9CkBAIC0yMTUsMTMgKzIxNSwxMyBAQCBjbGFzcyBBbmFseXNpc1Rhc2sgZXh0
ZW5kcyBMYWJlbGVkT2JqZWN0CiAgICAgewogICAgICAgICBpZiAodGhpcy5fZmV0Y2hBbGxQcm9t
aXNlKQogICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2ZldGNoQWxsUHJvbWlzZTsKLSAgICAgICAg
cmV0dXJuIHRoaXMuY2FjaGVkRmV0Y2goJy4uL2FwaS9hbmFseXNpcy10YXNrcycsIHBhcmFtcywg
bm9DYWNoZSkudGhlbih0aGlzLl9jb25zdHJ1Y3RBbmFseXNpc1Rhc2tzRnJvbVJhd0RhdGEuYmlu
ZCh0aGlzKSk7CisgICAgICAgIHJldHVybiB0aGlzLmNhY2hlZEZldGNoKCcvYXBpL2FuYWx5c2lz
LXRhc2tzJywgcGFyYW1zLCBub0NhY2hlKS50aGVuKHRoaXMuX2NvbnN0cnVjdEFuYWx5c2lzVGFz
a3NGcm9tUmF3RGF0YS5iaW5kKHRoaXMpKTsKICAgICB9CiAKICAgICBzdGF0aWMgZmV0Y2hBbGwo
KQogICAgIHsKICAgICAgICAgaWYgKCF0aGlzLl9mZXRjaEFsbFByb21pc2UpCi0gICAgICAgICAg
ICB0aGlzLl9mZXRjaEFsbFByb21pc2UgPSBSZW1vdGVBUEkuZ2V0SlNPTldpdGhTdGF0dXMoJy4u
L2FwaS9hbmFseXNpcy10YXNrcycpLnRoZW4odGhpcy5fY29uc3RydWN0QW5hbHlzaXNUYXNrc0Zy
b21SYXdEYXRhLmJpbmQodGhpcykpOworICAgICAgICAgICAgdGhpcy5fZmV0Y2hBbGxQcm9taXNl
ID0gUmVtb3RlQVBJLmdldEpTT05XaXRoU3RhdHVzKCcvYXBpL2FuYWx5c2lzLXRhc2tzJykudGhl
bih0aGlzLl9jb25zdHJ1Y3RBbmFseXNpc1Rhc2tzRnJvbVJhd0RhdGEuYmluZCh0aGlzKSk7CiAg
ICAgICAgIHJldHVybiB0aGlzLl9mZXRjaEFsbFByb21pc2U7CiAgICAgfQogCkluZGV4OiBXZWJz
aXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL21vZGVscy90ZXN0LWdyb3VwLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvbW9kZWxzL3Rlc3Qt
Z3JvdXAuanMJKHJldmlzaW9uIDIxMzk5OSkKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9w
dWJsaWMvdjMvbW9kZWxzL3Rlc3QtZ3JvdXAuanMJKHdvcmtpbmcgY29weSkKQEAgLTE3OSw3ICsx
NzksNyBAQCBjbGFzcyBUZXN0R3JvdXAgZXh0ZW5kcyBMYWJlbGVkT2JqZWN0IHsKICAgICAgICAg
ICAgIGdyb3VwOiBpZCwKICAgICAgICAgICAgIG5hbWU6IG5ld05hbWUsCiAgICAgICAgIH0pLnRo
ZW4oZnVuY3Rpb24gKGRhdGEpIHsKLSAgICAgICAgICAgIHJldHVybiBUZXN0R3JvdXAuY2FjaGVk
RmV0Y2goYC4uL2FwaS90ZXN0LWdyb3Vwcy8ke2lkfWAsIHt9LCB0cnVlKQorICAgICAgICAgICAg
cmV0dXJuIFRlc3RHcm91cC5jYWNoZWRGZXRjaChgL2FwaS90ZXN0LWdyb3Vwcy8ke2lkfWAsIHt9
LCB0cnVlKQogICAgICAgICAgICAgICAgIC50aGVuKFRlc3RHcm91cC5fY3JlYXRlTW9kZWxzRnJv
bUZldGNoZWRUZXN0R3JvdXBzLmJpbmQoVGVzdEdyb3VwKSk7CiAgICAgICAgIH0pOwogICAgIH0K
QEAgLTE5Miw3ICsxOTIsNyBAQCBjbGFzcyBUZXN0R3JvdXAgZXh0ZW5kcyBMYWJlbGVkT2JqZWN0
IHsKICAgICAgICAgICAgIGdyb3VwOiBpZCwKICAgICAgICAgICAgIGhpZGRlbjogISFoaWRkZW4s
CiAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKGRhdGEpIHsKLSAgICAgICAgICAgIHJldHVybiBU
ZXN0R3JvdXAuY2FjaGVkRmV0Y2goYC4uL2FwaS90ZXN0LWdyb3Vwcy8ke2lkfWAsIHt9LCB0cnVl
KQorICAgICAgICAgICAgcmV0dXJuIFRlc3RHcm91cC5jYWNoZWRGZXRjaChgL2FwaS90ZXN0LWdy
b3Vwcy8ke2lkfWAsIHt9LCB0cnVlKQogICAgICAgICAgICAgICAgIC50aGVuKFRlc3RHcm91cC5f
Y3JlYXRlTW9kZWxzRnJvbUZldGNoZWRUZXN0R3JvdXBzLmJpbmQoVGVzdEdyb3VwKSk7CiAgICAg
ICAgIH0pOwogICAgIH0KQEAgLTIwNSwxMyArMjA1LDEzIEBAIGNsYXNzIFRlc3RHcm91cCBleHRl
bmRzIExhYmVsZWRPYmplY3QgewogICAgICAgICAgICAgcmVwZXRpdGlvbkNvdW50OiByZXBldGl0
aW9uQ291bnQsCiAgICAgICAgICAgICBjb21taXRTZXRzOiBjb21taXRTZXRzLAogICAgICAgICB9
KS50aGVuKChkYXRhKSA9PiB7Ci0gICAgICAgICAgICByZXR1cm4gdGhpcy5jYWNoZWRGZXRjaCgn
Li4vYXBpL3Rlc3QtZ3JvdXBzJywge3Rhc2s6IHRhc2suaWQoKX0sIHRydWUpLnRoZW4oKGRhdGEp
ID0+IHRoaXMuX2NyZWF0ZU1vZGVsc0Zyb21GZXRjaGVkVGVzdEdyb3VwcyhkYXRhKSk7CisgICAg
ICAgICAgICByZXR1cm4gdGhpcy5jYWNoZWRGZXRjaCgnL2FwaS90ZXN0LWdyb3VwcycsIHt0YXNr
OiB0YXNrLmlkKCl9LCB0cnVlKS50aGVuKChkYXRhKSA9PiB0aGlzLl9jcmVhdGVNb2RlbHNGcm9t
RmV0Y2hlZFRlc3RHcm91cHMoZGF0YSkpOwogICAgICAgICB9KTsKICAgICB9CiAKICAgICBzdGF0
aWMgZmV0Y2hCeVRhc2sodGFza0lkKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuY2FjaGVk
RmV0Y2goJy4uL2FwaS90ZXN0LWdyb3VwcycsIHt0YXNrOiB0YXNrSWR9KS50aGVuKHRoaXMuX2Ny
ZWF0ZU1vZGVsc0Zyb21GZXRjaGVkVGVzdEdyb3Vwcy5iaW5kKHRoaXMpKTsKKyAgICAgICAgcmV0
dXJuIHRoaXMuY2FjaGVkRmV0Y2goJy9hcGkvdGVzdC1ncm91cHMnLCB7dGFzazogdGFza0lkfSku
dGhlbih0aGlzLl9jcmVhdGVNb2RlbHNGcm9tRmV0Y2hlZFRlc3RHcm91cHMuYmluZCh0aGlzKSk7
CiAgICAgfQogCiAgICAgc3RhdGljIF9jcmVhdGVNb2RlbHNGcm9tRmV0Y2hlZFRlc3RHcm91cHMo
ZGF0YSkKSW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvYXBpLW1h
bmlmZXN0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXIt
dGVzdHMvYXBpLW1hbmlmZXN0LmpzCShyZXZpc2lvbiAyMTM5OTkpCisrKyBXZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL2FwaS1tYW5pZmVzdC5qcwkod29ya2luZyBjb3B5KQpA
QCAtMTQsNyArMTQsNyBAQCBkZXNjcmliZSgnL2FwaS9tYW5pZmVzdCcsIGZ1bmN0aW9uICgpIHsK
ICAgICBpdCgic2hvdWxkIGdlbmVyYXRlIGFuIGVtcHR5IG1hbmlmZXN0IHdoZW4gZGF0YWJhc2Ug
aXMgZW1wdHkiLCAoKSA9PiB7CiAgICAgICAgIHJldHVybiBUZXN0U2VydmVyLnJlbW90ZUFQSSgp
LmdldEpTT04oJy9hcGkvbWFuaWZlc3QnKS50aGVuKChtYW5pZmVzdCkgPT4gewogICAgICAgICAg
ICAgYXNzZXJ0LmRlZXBFcXVhbChPYmplY3Qua2V5cyhtYW5pZmVzdCkuc29ydCgpLCBbJ2FsbCcs
ICdidWdUcmFja2VycycsICdidWlsZGVycycsICdkYXNoYm9hcmQnLCAnZGFzaGJvYXJkcycsCi0g
ICAgICAgICAgICAgICAgJ2VsYXBzZWRUaW1lJywgJ2ZpbGVVcGxvYWRTaXplTGltaXQnLCAnbWV0
cmljcycsICdyZXBvc2l0b3JpZXMnLCAnc2l0ZVRpdGxlJywgJ3N0YXR1cycsICdzdW1tYXJ5UGFn
ZXMnLCAndGVzdHMnLCAndHJpZ2dlcmFibGVzJ10pOworICAgICAgICAgICAgICAgICdlbGFwc2Vk
VGltZScsICdtZXRyaWNzJywgJ3JlcG9zaXRvcmllcycsICdzaXRlVGl0bGUnLCAnc3RhdHVzJywg
J3N1bW1hcnlQYWdlcycsICd0ZXN0cycsICd0cmlnZ2VyYWJsZXMnXSk7CiAKICAgICAgICAgICAg
IGFzc2VydC5lcXVhbCh0eXBlb2YobWFuaWZlc3QuZWxhcHNlZFRpbWUpLCAnbnVtYmVyJyk7CiAg
ICAgICAgICAgICBkZWxldGUgbWFuaWZlc3QuZWxhcHNlZFRpbWU7CkBAIC0zMSw3ICszMSw2IEBA
IGRlc2NyaWJlKCcvYXBpL21hbmlmZXN0JywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAg
IHRlc3RzOiB7fSwKICAgICAgICAgICAgICAgICB0cmlnZ2VyYWJsZXM6IHt9LAogICAgICAgICAg
ICAgICAgIHN1bW1hcnlQYWdlczogW10sCi0gICAgICAgICAgICAgICAgZmlsZVVwbG9hZFNpemVM
aW1pdDogMCwKICAgICAgICAgICAgICAgICBzdGF0dXM6ICdPSycKICAgICAgICAgICAgIH0pOwog
ICAgICAgICB9KTsKSW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9qcy9kYXRh
YmFzZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdG9vbHMvanMv
ZGF0YWJhc2UuanMJKHJldmlzaW9uIDIxMzk5OSkKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9y
Zy90b29scy9qcy9kYXRhYmFzZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMTI3LDYgKzEyNyw3IEBA
IGNsYXNzIERhdGFiYXNlIHsKIAogY29uc3QgdGFibGVUb1ByZWZpeE1hcCA9IHsKICAgICAnYWdn
cmVnYXRvcnMnOiAnYWdncmVnYXRvcicsCisgICAgJ2FuYWx5c2lzX3N0cmF0ZWdpZXMnOiAnc3Ry
YXRlZ3knLAogICAgICdhbmFseXNpc190YXNrcyc6ICd0YXNrJywKICAgICAnYW5hbHlzaXNfdGVz
dF9ncm91cHMnOiAndGVzdGdyb3VwJywKICAgICAnYnVnX3RyYWNrZXJzJzogJ3RyYWNrZXInLApJ
bmRleDogV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3VuaXQtdGVzdHMvYW5hbHlzaXMtdGFzay10
ZXN0cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdW5pdC10ZXN0
cy9hbmFseXNpcy10YXNrLXRlc3RzLmpzCShyZXZpc2lvbiAyMTM5OTkpCisrKyBXZWJzaXRlcy9w
ZXJmLndlYmtpdC5vcmcvdW5pdC10ZXN0cy9hbmFseXNpcy10YXNrLXRlc3RzLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xMjYsNyArMTI2LDcgQEAgZGVzY3JpYmUoJ0FuYWx5c2lzVGFzaycsICgpID0+
IHsKICAgICAgICAgICAgIEFuYWx5c2lzVGFzay5mZXRjaEFsbCgpLnRoZW4oKCkgPT4geyBjYWxs
Q291bnQrKzsgfSk7CiAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoY2FsbENvdW50LCAwKTsKICAg
ICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0cy5sZW5ndGgsIDEpOwotICAgICAgICAgICAg
YXNzZXJ0LmVxdWFsKHJlcXVlc3RzWzBdLnVybCwgJy4uL2FwaS9hbmFseXNpcy10YXNrcycpOwor
ICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzWzBdLnVybCwgJy9hcGkvYW5hbHlzaXMt
dGFza3MnKTsKICAgICAgICAgfSk7CiAKICAgICAgICAgaXQoJ3Nob3VsZCBub3QgcmVxdWVzdCBh
bGwgYW5hbHlzaXMgdGFza3MgbXVsdGlwbGUgdGltZXMnLCAoKSA9PiB7CkBAIC0xMzQsNyArMTM0
LDcgQEAgZGVzY3JpYmUoJ0FuYWx5c2lzVGFzaycsICgpID0+IHsKICAgICAgICAgICAgIEFuYWx5
c2lzVGFzay5mZXRjaEFsbCgpLnRoZW4oKCkgPT4geyBjYWxsQ291bnQrKzsgfSk7CiAgICAgICAg
ICAgICBhc3NlcnQuZXF1YWwoY2FsbENvdW50LCAwKTsKICAgICAgICAgICAgIGFzc2VydC5lcXVh
bChyZXF1ZXN0cy5sZW5ndGgsIDEpOwotICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3Rz
WzBdLnVybCwgJy4uL2FwaS9hbmFseXNpcy10YXNrcycpOworICAgICAgICAgICAgYXNzZXJ0LmVx
dWFsKHJlcXVlc3RzWzBdLnVybCwgJy9hcGkvYW5hbHlzaXMtdGFza3MnKTsKIAogICAgICAgICAg
ICAgQW5hbHlzaXNUYXNrLmZldGNoQWxsKCkudGhlbigoKSA9PiB7IGNhbGxDb3VudCsrOyB9KTsK
ICAgICAgICAgICAgIGFzc2VydC5lcXVhbChjYWxsQ291bnQsIDApOwpAQCAtMTQ2LDcgKzE0Niw3
IEBAIGRlc2NyaWJlKCdBbmFseXNpc1Rhc2snLCAoKSA9PiB7CiAgICAgICAgICAgICBjb25zdCBw
cm9taXNlID0gQW5hbHlzaXNUYXNrLmZldGNoQWxsKCkudGhlbigoKSA9PiB7IGNhbGxDb3VudCsr
OyB9KTsKICAgICAgICAgICAgIGFzc2VydC5lcXVhbChjYWxsQ291bnQsIDApOwogICAgICAgICAg
ICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzLmxlbmd0aCwgMSk7Ci0gICAgICAgICAgICBhc3NlcnQu
ZXF1YWwocmVxdWVzdHNbMF0udXJsLCAnLi4vYXBpL2FuYWx5c2lzLXRhc2tzJyk7CisgICAgICAg
ICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHNbMF0udXJsLCAnL2FwaS9hbmFseXNpcy10YXNrcycp
OwogCiAgICAgICAgICAgICByZXF1ZXN0c1swXS5yZXNvbHZlKHNhbXBsZUFuYWx5c2lzVGFzaygp
KTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>