<?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>141500</bug_id>
          
          <creation_ts>2015-02-11 22:00:09 -0800</creation_ts>
          <short_desc>Perf dashboard should show the results of A/B testing</short_desc>
          <delta_ts>2016-02-16 13:52:33 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Perf Dashboard</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>138516</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>kling</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1068545</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-02-11 22:00:09 -0800</bug_when>
    <thetext>Right now, perf dashboard can trigger A/B testing but doesn&apos;t show the results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068551</commentid>
    <comment_count>1</comment_count>
      <attachid>246426</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-02-11 22:43:32 -0800</bug_when>
    <thetext>Created attachment 246426
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068554</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-02-11 22:50:24 -0800</bug_when>
    <thetext>&lt;rdar://problem/19435319&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068555</commentid>
    <comment_count>3</comment_count>
      <attachid>246428</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-02-11 22:55:56 -0800</bug_when>
    <thetext>Created attachment 246428
Fixed one more bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068607</commentid>
    <comment_count>4</comment_count>
      <attachid>246428</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-02-12 07:53:06 -0800</bug_when>
    <thetext>Comment on attachment 246428
Fixed one more bug

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068671</commentid>
    <comment_count>5</comment_count>
      <attachid>246428</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-12 10:51:00 -0800</bug_when>
    <thetext>Comment on attachment 246428
Fixed one more bug

Clearing flags on attachment: 246428

Committed r180000: &lt;http://trac.webkit.org/changeset/180000&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068672</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-12 10:51:05 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246426</attachid>
            <date>2015-02-11 22:43:32 -0800</date>
            <delta_ts>2015-02-11 22:55:53 -0800</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-141500-20150211224335.patch</filename>
            <type>text/plain</type>
            <size>20940</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkocmV2aXNpb24gMTc5OTgyKQorKysg
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDUzIEBACisyMDE1LTAyLTExICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgor
CisgICAgICAgIFBlcmYgZGFzaGJvYXJkIHNob3VsZCBzaG93IHRoZSByZXN1bHRzIG9mIEEvQiB0
ZXN0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDE1MDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRlZCB0aGUgc3VwcG9ydCBmb3IgZmV0Y2hpbmcgdGVzdF9ydW5zIGZvciBhIHNwZWNpZmljIHRl
c3QgZ3JvdXAgaW4gL2FwaS9ydW5zLywgYW5kIHVzZWQgaXQgaW4gdGhlCisgICAgICAgIGFuYWx5
c2lzIHRhc2sgcGFnZSB0byBmZXRjaCByZXN1bHRzIGZvciBlYWNoIHRlc3QgZ3JvdXAuCisKKyAg
ICAgICAgTWVyZ2VkIEFwcC5jcmVhdGVDaGFydERhdGEgaW50byBBcHAuTWFuaWZlc3QuZmV0Y2hS
dW5zV2l0aFBsYXRmb3JtQW5kTWV0cmljIHNvIHRoYXQgQXBwLkJ1aWxkUmVxdWVzdAorICAgICAg
ICBjYW4gdXNlIHRoZSBmb3JtYXR0ZXIuCisKKyAgICAgICAgKiBwdWJsaWMvYXBpL3J1bnMucGhw
OgorICAgICAgICAoZmV0Y2hfcnVuc19mb3JfY29uZmlnX2FuZF90ZXN0X2dyb3VwKTogQWRkZWQu
CisgICAgICAgIChmZXRjaF9ydW5zX2Zvcl9jb25maWcpOiBKdXN0IHJldHVybiB0aGUgZmV0Y2hl
ZCByb3dzIHNpbmNlIG1haW4gd2lsbCBmb3JtYXQgdGhlbSB3aXRoIFJ1bnNHZW5lcmF0b3IuCisg
ICAgICAgIChtYWluKTogVXNlIGZldGNoX3J1bnNfZm9yX2NvbmZpZ19hbmRfdGVzdF9ncm91cCB0
byBmZXRjaCByb3dzIHdoZW4gYSB0ZXN0IGdyb3VwIGlkIGlzIHNwZWNpZmllZC4gQWxzbworICAg
ICAgICB1c2UgUnVuc0dlbmVyYXRvciB0byBmb3JtYXQgcmVzdWx0cy4KKyAgICAgICAgKFJ1bnNH
ZW5lcmF0b3IpOiBBZGRlZC4KKyAgICAgICAgKFJ1bnNHZW5lcmF0b3I6Ol9fY29uc3RydWN0KTog
QWRkZWQuCisgICAgICAgIChSdW5zR2VuZXJhdG9yOjphZGRfcnVucyk6IEFkZGVkLgorICAgICAg
ICAoUnVuc0dlbmVyYXRvcjo6Zm9ybWF0X3J1bik6IE1vdmVkLgorICAgICAgICAoUnVuc0dlbmVy
YXRvcjo6cGFyc2VfcmV2aXNpb25zX2FycmF5KTogTW92ZWQuCisKKyAgICAgICAgKiBwdWJsaWMv
djIvYW5hbHlzaXMuanM6CisgICAgICAgIChBcHAuVGVzdEdyb3VwKTogRml4ZWQgYSB0eXBvLiBU
aGUgcHJvcGVydHkgb24gYSB0ZXN0IGdyb3VwIHRoYXQgcmVmZXJzIHRvIGFuIGFuYWx5c2lzIHRh
c2sgaXMgInRhc2siLgorICAgICAgICAoQXBwLlRlc3RHcm91cC5fZmV0Y2hDaGFydERhdGEpOiBB
ZGRlZC4gRmV0Y2hlcyBhbGwgQS9CIHRlc3RpbmcgcmVzdWx0cyBmb3IgdGhpcyBncm91cC4KKyAg
ICAgICAgKEFwcC5CdWlsZFJlcXVlc3QuY29uZmlnTGV0dGVyKTogUmVuYW1lZCBmcm9tIGNvbmZp
ZyBzaW5jZSB0aGlzIHJldHVybnMgYSBsZXR0ZXIgdGhhdCBpZGVudGlmaWVzIHRoZQorICAgICAg
ICBjb25maWd1cmF0aW9uIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGJ1aWxkIHJlcXVlc3Qgc3VjaCBh
cyAiQSIgYW5kICJCIi4KKyAgICAgICAgKEFwcC5CdWlsZFJlcXVlc3Quc3RhdHVzTGFiZWwpOiBB
ZGRlZCB0aGUgbWlzc2luZyBsYWJlbCBmb3IgZmFpbGVkIGJ1aWxkIHJlcXVlc3RzLgorICAgICAg
ICAoQXBwLkJ1aWxkUmVxdWVzdC51cmwpOiBBZGRlZC4gUmV0dXJucyB0aGUgVVJMIGFzc29jaWF0
ZWQgd2l0aCB0aGlzIGJ1aWxkIHJlcXVlc3QuCisgICAgICAgIChBcHAuQnVpbGRSZXF1ZXN0Ll9t
ZWFuRmV0Y2hlZCk6IEFkZGVkLiBSZXRyaWV2ZSB0aGUgdmFsdWUgZm9yIHRoaXMgcmVxdWVzdCB2
aWEgX2ZldGNoQ2hhcnREYXRhLgorCisgICAgICAgICogcHVibGljL3YyL2FwcC5qczoKKyAgICAg
ICAgKEFwcC5QYW5lLl9mZXRjaCk6IFNldCBjaGFydERhdGEgZGlyZWN0bHkgaGVyZS4KKyAgICAg
ICAgKEFwcC5QYW5lLl91cGRhdGVNb3ZpbmdBdmVyYWdlQW5kRW52ZWxvcGUpOiBSZW5hbWVkIGZy
b20gX2NvbXB1dGVDaGFydERhdGEuIE5vIGxvbmdlciBzZXRzIGNoYXJ0RGF0YQorICAgICAgICBu
b3cgdGhhdCBpdCdzIGRvbmUgaW4gQXBwLlBhbmUuX2ZldGNoLgorICAgICAgICAoQXBwLkFuYWx5
c2lzVGFza0NvbnRyb2xsZXIuX2ZldGNoZWRSdW5zKTogVXBkYXRlZCBwZXIgY3JlYXRlQ2hhcnRE
YXRhIG1lcmdlLgorCisgICAgICAgICogcHVibGljL3YyL2RhdGEuanM6CisgICAgICAgIChNZWFz
dXJlbWVudC5wcm90b3R5cGUuYnVpbGRJZCk6IEFkZGVkLgorICAgICAgICAoVGltZVNlcmllcy5w
cm90b3R5cGUuZmluZFBvaW50QnlCdWlsZCk6IEFkZGVkLgorCisgICAgICAgICogcHVibGljL3Yy
L2luZGV4Lmh0bWw6IEZpeGVkIGEgYnVnIHRoYXQgYnVpbGQgc3RhdHVzIFVSTCB3YXMgYnJva2Vu
LiBXZSBjYW4ndCB1c2UgbGluay10byBoZWxwZXIgc2luY2UKKyAgICAgICAgdXJsIGlzIG5vdCBh
biBFbWJlciByb3V0ZWQgcGF0aC4KKworICAgICAgICAqIHB1YmxpYy92Mi9tYW5pZmVzdC5qczoK
KyAgICAgICAgKEFwcC5NYW5pZmVzdC5mZXRjaFJ1bnNXaXRoUGxhdGZvcm1BbmRNZXRyaWMpOiBU
YWtlcyB0ZXN0R3JvdXBJZCBhcyB0aGUgdGhpcmQgYXJndW1lbnQuIE1lcmdlZAorICAgICAgICBB
cHAuY3JlYXRlQ2hhcnREYXRhIGhlcmUgc28gdGhhdCBBcHAuQnVpbGRSZXF1ZXN0IGNhbiB1c2Ug
dGhlIGZvcm1hdHRlcgorCiAyMDE1LTAyLTExICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIE5ldyBwZXJmIGRhc2hib2FyZCBzaG93cyB0b28gbXVjaCBzcGFjZSBh
cm91bmQgaW50ZXJlc3RpbmcgZGF0YSBwb2ludHMKSW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0
Lm9yZy9wdWJsaWMvYXBpL3J1bnMucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3BlcmYud2Vi
a2l0Lm9yZy9wdWJsaWMvYXBpL3J1bnMucGhwCShyZXZpc2lvbiAxNzk5ODIpCisrKyBXZWJzaXRl
cy9wZXJmLndlYmtpdC5vcmcvcHVibGljL2FwaS9ydW5zLnBocAkod29ya2luZyBjb3B5KQpAQCAt
Miw1MCArMiwyNSBAQAogCiByZXF1aXJlKCcuLi9pbmNsdWRlL2pzb24taGVhZGVyLnBocCcpOwog
CitmdW5jdGlvbiBmZXRjaF9ydW5zX2Zvcl9jb25maWdfYW5kX3Rlc3RfZ3JvdXAoJGRiLCAkY29u
ZmlnLCAkdGVzdF9ncm91cF9pZCkgeworICAgIHJldHVybiAkZGItPnF1ZXJ5X2FuZF9mZXRjaF9h
bGwoJworICAgICAgICBTRUxFQ1QgdGVzdF9ydW5zLiosIGJ1aWxkcy4qLCBhcnJheV9hZ2coKGNv
bW1pdF9yZXBvc2l0b3J5LCBjb21taXRfcmV2aXNpb24sIGNvbW1pdF90aW1lKSkgQVMgcmV2aXNp
b25zCisgICAgICAgICAgICBGUk9NIGJ1aWxkcworICAgICAgICAgICAgICAgIExFRlQgT1VURVIg
Sk9JTiBidWlsZF9jb21taXRzIE9OIGNvbW1pdF9idWlsZCA9IGJ1aWxkX2lkCisgICAgICAgICAg
ICAgICAgTEVGVCBPVVRFUiBKT0lOIGNvbW1pdHMgT04gYnVpbGRfY29tbWl0ID0gY29tbWl0X2lk
LAorICAgICAgICAgICAgICAgIHRlc3RfcnVucywgYnVpbGRfcmVxdWVzdHMsIGFuYWx5c2lzX3Rl
c3RfZ3JvdXBzCisgICAgICAgICAgICBXSEVSRSBydW5fYnVpbGQgPSBidWlsZF9pZCBBTkQgcnVu
X2NvbmZpZyA9ICQxIEFORCByZXF1ZXN0X2J1aWxkID0gYnVpbGRfaWQgQU5EIHJlcXVlc3RfZ3Jv
dXAgPSAkMgorICAgICAgICAgICAgR1JPVVAgQlkgYnVpbGRfaWQsIHJ1bl9pZCcsIGFycmF5KCRj
b25maWdbJ2NvbmZpZ19pZCddLCAkdGVzdF9ncm91cF9pZCkpOworfQorCiBmdW5jdGlvbiBmZXRj
aF9ydW5zX2Zvcl9jb25maWcoJGRiLCAkY29uZmlnKSB7Ci0gICAgJHJhd19ydW5zID0gJGRiLT5x
dWVyeV9hbmRfZmV0Y2hfYWxsKCcKKyAgICByZXR1cm4gJGRiLT5xdWVyeV9hbmRfZmV0Y2hfYWxs
KCcKICAgICAgICAgU0VMRUNUIHRlc3RfcnVucy4qLCBidWlsZHMuKiwgYXJyYXlfYWdnKChjb21t
aXRfcmVwb3NpdG9yeSwgY29tbWl0X3JldmlzaW9uLCBjb21taXRfdGltZSkpIEFTIHJldmlzaW9u
cwogICAgICAgICAgICAgRlJPTSBidWlsZHMKICAgICAgICAgICAgICAgICBMRUZUIE9VVEVSIEpP
SU4gYnVpbGRfY29tbWl0cyBPTiBjb21taXRfYnVpbGQgPSBidWlsZF9pZAogICAgICAgICAgICAg
ICAgIExFRlQgT1VURVIgSk9JTiBjb21taXRzIE9OIGJ1aWxkX2NvbW1pdCA9IGNvbW1pdF9pZCwg
dGVzdF9ydW5zCiAgICAgICAgICAgICBXSEVSRSBydW5fYnVpbGQgPSBidWlsZF9pZCBBTkQgcnVu
X2NvbmZpZyA9ICQxIEFORCBOT1QgRVhJU1RTIChTRUxFQ1QgKiBGUk9NIGJ1aWxkX3JlcXVlc3Rz
IFdIRVJFIHJlcXVlc3RfYnVpbGQgPSBidWlsZF9pZCkKICAgICAgICAgICAgIEdST1VQIEJZIGJ1
aWxkX2lkLCBydW5faWQnLCBhcnJheSgkY29uZmlnWydjb25maWdfaWQnXSkpOwotCi0gICAgJGZv
cm1hdHRlZF9ydW5zID0gYXJyYXkoKTsKLSAgICBpZiAoISRyYXdfcnVucykKLSAgICAgICAgcmV0
dXJuICRmb3JtYXR0ZWRfcnVuczsKLQotICAgIGZvcmVhY2ggKCRyYXdfcnVucyBhcyAkcnVuKQot
ICAgICAgICBhcnJheV9wdXNoKCRmb3JtYXR0ZWRfcnVucywgZm9ybWF0X3J1bigkcnVuKSk7Ci0K
LSAgICByZXR1cm4gJGZvcm1hdHRlZF9ydW5zOwotfQotCi1mdW5jdGlvbiBwYXJzZV9yZXZpc2lv
bnNfYXJyYXkoJHBvc3RncmVzX2FycmF5KSB7Ci0gICAgLy8gZS5nLiB7IihXZWJLaXQsMTMxNDU2
LFwiMjAxMi0xMC0xNiAxNDo1MzowMFwiKSIsIihDaHJvbWl1bSwxNjIwMDQsKSJ9Ci0gICAgJG91
dGVyX2FycmF5ID0ganNvbl9kZWNvZGUoJ1snIC4gdHJpbSgkcG9zdGdyZXNfYXJyYXksICd7fScp
IC4gJ10nKTsKLSAgICAkcmV2aXNpb25zID0gYXJyYXkoKTsKLSAgICBmb3JlYWNoICgkb3V0ZXJf
YXJyYXkgYXMgJGl0ZW0pIHsKLSAgICAgICAgJG5hbWVfYW5kX3JldmlzaW9uID0gZXhwbG9kZSgn
LCcsIHRyaW0oJGl0ZW0sICcoKScpKTsKLSAgICAgICAgaWYgKCEkbmFtZV9hbmRfcmV2aXNpb25b
MF0pCi0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgJHRpbWUgPSBzdHJ0b3RpbWUodHJp
bSgkbmFtZV9hbmRfcmV2aXNpb25bMl0sICciJykpICogMTAwMDsKLSAgICAgICAgJHJldmlzaW9u
c1t0cmltKCRuYW1lX2FuZF9yZXZpc2lvblswXSwgJyInKV0gPSBhcnJheSh0cmltKCRuYW1lX2Fu
ZF9yZXZpc2lvblsxXSwgJyInKSwgJHRpbWUpOwotICAgIH0KLSAgICByZXR1cm4gJHJldmlzaW9u
czsKLX0KLQotZnVuY3Rpb24gZm9ybWF0X3J1bigkcnVuKSB7Ci0gICAgcmV0dXJuIGFycmF5KAot
ICAgICAgICAnaWQnID0+IGludHZhbCgkcnVuWydydW5faWQnXSksCi0gICAgICAgICdtZWFuJyA9
PiBmbG9hdHZhbCgkcnVuWydydW5fbWVhbl9jYWNoZSddKSwKLSAgICAgICAgJ2l0ZXJhdGlvbkNv
dW50JyA9PiBpbnR2YWwoJHJ1blsncnVuX2l0ZXJhdGlvbl9jb3VudF9jYWNoZSddKSwKLSAgICAg
ICAgJ3N1bScgPT4gZmxvYXR2YWwoJHJ1blsncnVuX3N1bV9jYWNoZSddKSwKLSAgICAgICAgJ3Nx
dWFyZVN1bScgPT4gZmxvYXR2YWwoJHJ1blsncnVuX3NxdWFyZV9zdW1fY2FjaGUnXSksCi0gICAg
ICAgICdyZXZpc2lvbnMnID0+IHBhcnNlX3JldmlzaW9uc19hcnJheSgkcnVuWydyZXZpc2lvbnMn
XSksCi0gICAgICAgICdidWlsZFRpbWUnID0+IHN0cnRvdGltZSgkcnVuWydidWlsZF90aW1lJ10p
ICogMTAwMCwKLSAgICAgICAgJ2J1aWxkTnVtYmVyJyA9PiBpbnR2YWwoJHJ1blsnYnVpbGRfbnVt
YmVyJ10pLAotICAgICAgICAnYnVpbGRlcicgPT4gJHJ1blsnYnVpbGRfYnVpbGRlciddKTsKIH0K
IAogZnVuY3Rpb24gbWFpbigkcGF0aCkgewpAQCAtNjAsMTEgKzM1LDYgQEAgZnVuY3Rpb24gbWFp
bigkcGF0aCkgewogICAgIGlmICghJGRiLT5jb25uZWN0KCkpCiAgICAgICAgIGV4aXRfd2l0aF9l
cnJvcignRGF0YWJhc2VDb25uZWN0aW9uRmFpbHVyZScpOwogCi0gICAgLy8gRklYTUU6IFdlIHNo
b3VsZCBzdXBwb3J0IHJldmFsaWNhdGlvbiBhcyB3ZWxsIGFzIGNhY2hpbmcgcmVzdWx0cyBpbiB0
aGUgc2VydmVyIHNpZGUuCi0gICAgJG1heGFnZSA9IGNvbmZpZygnanNvbkNhY2hlTWF4QWdlJyk7
Ci0gICAgaGVhZGVyKCdFeHBpcmVzOiAnIC4gZ21kYXRlKCdELCBkIE0gWSBIOmk6cycsIHRpbWUo
KSArICRtYXhhZ2UpIC4gJyBHTVQnKTsKLSAgICBoZWFkZXIoIkNhY2hlLUNvbnRyb2w6IG1heGFn
ZT0kbWF4YWdlIik7Ci0KICAgICAkcGxhdGZvcm1faWQgPSBpbnR2YWwoJHBhcnRzWzBdKTsKICAg
ICAkbWV0cmljX2lkID0gaW50dmFsKCRwYXJ0c1sxXSk7CiAgICAgJGNvbmZpZ19yb3dzID0gJGRi
LT5xdWVyeV9hbmRfZmV0Y2hfYWxsKCdTRUxFQ1QgY29uZmlnX2lkLCBjb25maWdfdHlwZSwgY29u
ZmlnX3BsYXRmb3JtLCBjb25maWdfbWV0cmljCkBAIC03MiwxMyArNDIsNzMgQEAgZnVuY3Rpb24g
bWFpbigkcGF0aCkgewogICAgIGlmICghJGNvbmZpZ19yb3dzKQogICAgICAgICBleGl0X3dpdGhf
ZXJyb3IoJ0NvbmZpZ3VyYXRpb25Ob3RGb3VuZCcpOwogCi0gICAgJHJlc3VsdHMgPSBhcnJheSgp
OworICAgICR0ZXN0X2dyb3VwX2lkID0gYXJyYXlfZ2V0KCRfR0VULCAndGVzdEdyb3VwJyk7Cisg
ICAgaWYgKCR0ZXN0X2dyb3VwX2lkKQorICAgICAgICAkdGVzdF9ncm91cF9pZCA9IGludHZhbCgk
dGVzdF9ncm91cF9pZCk7CisgICAgZWxzZSB7CisgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQg
c3VwcG9ydCByZXZhbGljYXRpb24gYXMgd2VsbCBhcyBjYWNoaW5nIHJlc3VsdHMgaW4gdGhlIHNl
cnZlciBzaWRlLgorICAgICAgICAkbWF4YWdlID0gY29uZmlnKCdqc29uQ2FjaGVNYXhBZ2UnKTsK
KyAgICAgICAgaGVhZGVyKCdFeHBpcmVzOiAnIC4gZ21kYXRlKCdELCBkIE0gWSBIOmk6cycsIHRp
bWUoKSArICRtYXhhZ2UpIC4gJyBHTVQnKTsKKyAgICAgICAgaGVhZGVyKCJDYWNoZS1Db250cm9s
OiBtYXhhZ2U9JG1heGFnZSIpOworICAgIH0KKworICAgICRnZW5lcmF0b3IgPSBuZXcgUnVuc0dl
bmVyYXRvcigpOworCiAgICAgZm9yZWFjaCAoJGNvbmZpZ19yb3dzIGFzICRjb25maWcpIHsKLSAg
ICAgICAgaWYgKCRydW5zID0gZmV0Y2hfcnVuc19mb3JfY29uZmlnKCRkYiwgJGNvbmZpZykpCi0g
ICAgICAgICAgICAkcmVzdWx0c1skY29uZmlnWydjb25maWdfdHlwZSddXSA9ICRydW5zOworICAg
ICAgICBpZiAoJHRlc3RfZ3JvdXBfaWQpCisgICAgICAgICAgICAkcmF3X3J1bnMgPSBmZXRjaF9y
dW5zX2Zvcl9jb25maWdfYW5kX3Rlc3RfZ3JvdXAoJGRiLCAkY29uZmlnLCAkdGVzdF9ncm91cF9p
ZCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgICRyYXdfcnVucyA9IGZldGNoX3J1bnNfZm9y
X2NvbmZpZygkZGIsICRjb25maWcpOworICAgICAgICAkZ2VuZXJhdG9yLT5hZGRfcnVucygkY29u
ZmlnWydjb25maWdfdHlwZSddLCAkcmF3X3J1bnMpOworICAgIH0KKworICAgIGV4aXRfd2l0aF9z
dWNjZXNzKCRnZW5lcmF0b3ItPnJlc3VsdHMoKSk7Cit9CisKK2NsYXNzIFJ1bnNHZW5lcmF0b3Ig
eworICAgIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkgeworICAgICAgICAkdGhpcy0+cmVzdWx0cyA9
IGFycmF5KCk7CiAgICAgfQogCi0gICAgZXhpdF93aXRoX3N1Y2Nlc3MoJHJlc3VsdHMpOworICAg
IGZ1bmN0aW9uICZyZXN1bHRzKCkgeyByZXR1cm4gJHRoaXMtPnJlc3VsdHM7IH0KKworICAgIGZ1
bmN0aW9uIGFkZF9ydW5zKCRuYW1lLCAkcmF3X3J1bnMpIHsKKyAgICAgICAgJGZvcm1hdHRlZF9y
dW5zID0gYXJyYXkoKTsKKyAgICAgICAgaWYgKCRyYXdfcnVucykgeworICAgICAgICAgICAgZm9y
ZWFjaCAoJHJhd19ydW5zIGFzICRydW4pCisgICAgICAgICAgICAgICAgYXJyYXlfcHVzaCgkZm9y
bWF0dGVkX3J1bnMsIHNlbGY6OmZvcm1hdF9ydW4oJHJ1bikpOworICAgICAgICB9CisgICAgICAg
ICR0aGlzLT5yZXN1bHRzWyRuYW1lXSA9ICRmb3JtYXR0ZWRfcnVuczsKKyAgICAgICAgcmV0dXJu
ICRmb3JtYXR0ZWRfcnVuczsKKyAgICB9CisKKyAgICBwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBm
b3JtYXRfcnVuKCRydW4pIHsKKyAgICAgICAgcmV0dXJuIGFycmF5KAorICAgICAgICAgICAgJ2lk
JyA9PiBpbnR2YWwoJHJ1blsncnVuX2lkJ10pLAorICAgICAgICAgICAgJ21lYW4nID0+IGZsb2F0
dmFsKCRydW5bJ3J1bl9tZWFuX2NhY2hlJ10pLAorICAgICAgICAgICAgJ2l0ZXJhdGlvbkNvdW50
JyA9PiBpbnR2YWwoJHJ1blsncnVuX2l0ZXJhdGlvbl9jb3VudF9jYWNoZSddKSwKKyAgICAgICAg
ICAgICdzdW0nID0+IGZsb2F0dmFsKCRydW5bJ3J1bl9zdW1fY2FjaGUnXSksCisgICAgICAgICAg
ICAnc3F1YXJlU3VtJyA9PiBmbG9hdHZhbCgkcnVuWydydW5fc3F1YXJlX3N1bV9jYWNoZSddKSwK
KyAgICAgICAgICAgICdyZXZpc2lvbnMnID0+IHNlbGY6OnBhcnNlX3JldmlzaW9uc19hcnJheSgk
cnVuWydyZXZpc2lvbnMnXSksCisgICAgICAgICAgICAnYnVpbGQnID0+ICRydW5bJ2J1aWxkX2lk
J10sCisgICAgICAgICAgICAnYnVpbGRUaW1lJyA9PiBzdHJ0b3RpbWUoJHJ1blsnYnVpbGRfdGlt
ZSddKSAqIDEwMDAsCisgICAgICAgICAgICAnYnVpbGROdW1iZXInID0+IGludHZhbCgkcnVuWydi
dWlsZF9udW1iZXInXSksCisgICAgICAgICAgICAnYnVpbGRlcicgPT4gJHJ1blsnYnVpbGRfYnVp
bGRlciddKTsKKyAgICB9CisKKyAgICBwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBwYXJzZV9yZXZp
c2lvbnNfYXJyYXkoJHBvc3RncmVzX2FycmF5KSB7CisgICAgICAgIC8vIGUuZy4geyIoV2ViS2l0
LDEzMTQ1NixcIjIwMTItMTAtMTYgMTQ6NTM6MDBcIikiLCIoQ2hyb21pdW0sMTYyMDA0LCkifQor
ICAgICAgICAkb3V0ZXJfYXJyYXkgPSBqc29uX2RlY29kZSgnWycgLiB0cmltKCRwb3N0Z3Jlc19h
cnJheSwgJ3t9JykgLiAnXScpOworICAgICAgICAkcmV2aXNpb25zID0gYXJyYXkoKTsKKyAgICAg
ICAgZm9yZWFjaCAoJG91dGVyX2FycmF5IGFzICRpdGVtKSB7CisgICAgICAgICAgICAkbmFtZV9h
bmRfcmV2aXNpb24gPSBleHBsb2RlKCcsJywgdHJpbSgkaXRlbSwgJygpJykpOworICAgICAgICAg
ICAgaWYgKCEkbmFtZV9hbmRfcmV2aXNpb25bMF0pCisgICAgICAgICAgICAgICAgY29udGludWU7
CisgICAgICAgICAgICAkdGltZSA9IHN0cnRvdGltZSh0cmltKCRuYW1lX2FuZF9yZXZpc2lvblsy
XSwgJyInKSkgKiAxMDAwOworICAgICAgICAgICAgJHJldmlzaW9uc1t0cmltKCRuYW1lX2FuZF9y
ZXZpc2lvblswXSwgJyInKV0gPSBhcnJheSh0cmltKCRuYW1lX2FuZF9yZXZpc2lvblsxXSwgJyIn
KSwgJHRpbWUpOworICAgICAgICB9CisgICAgICAgIHJldHVybiAkcmV2aXNpb25zOworICAgIH0K
IH0KIAogbWFpbihhcnJheV9rZXlfZXhpc3RzKCdQQVRIX0lORk8nLCAkX1NFUlZFUikgPyBleHBs
b2RlKCcvJywgdHJpbSgkX1NFUlZFUlsnUEFUSF9JTkZPJ10sICcvJykpIDogYXJyYXkoKSk7Cklu
ZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YyL2FuYWx5c2lzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvYW5hbHlzaXMuanMJ
KHJldmlzaW9uIDE3OTk4MikKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIv
YW5hbHlzaXMuanMJKHdvcmtpbmcgY29weSkKQEAgLTY2LDcgKzY2LDcgQEAgQXBwLkJ1Z0FkYXB0
ZXIgPSBEUy5SRVNUQWRhcHRlci5leHRlbmQoewogfSk7CiAKIEFwcC5UZXN0R3JvdXAgPSBBcHAu
TmFtZUxhYmVsTW9kZWwuZXh0ZW5kKHsKLSAgICBhbmFseXNpc1Rhc2s6IERTLmJlbG9uZ3NUbygn
YW5hbHlzaXNUYXNrJyksCisgICAgdGFzazogRFMuYmVsb25nc1RvKCdhbmFseXNpc1Rhc2snKSwK
ICAgICBhdXRob3I6IERTLmF0dHIoJ3N0cmluZycpLAogICAgIGNyZWF0ZWRBdDogRFMuYXR0cign
ZGF0ZScpLAogICAgIGJ1aWxkUmVxdWVzdHM6IERTLmhhc01hbnkoJ2J1aWxkUmVxdWVzdHMnKSwK
QEAgLTgwLDYgKzgwLDIxIEBAIEFwcC5UZXN0R3JvdXAgPSBBcHAuTmFtZUxhYmVsTW9kZWwuZXh0
ZW4KICAgICAgICAgfSk7CiAgICAgICAgIHJldHVybiByb290U2V0SWRzOwogICAgIH0ucHJvcGVy
dHkoJ2J1aWxkUmVxdWVzdHMnKSwKKyAgICBfZmV0Y2hDaGFydERhdGE6IGZ1bmN0aW9uICgpCisg
ICAgeworICAgICAgICB2YXIgdGFzayA9IHRoaXMuZ2V0KCd0YXNrJyk7CisgICAgICAgIGlmICgh
dGFzaykKKyAgICAgICAgICAgIHJldHVybiBudWxsOworICAgICAgICB2YXIgc2VsZiA9IHRoaXM7
CisgICAgICAgIHJldHVybiBBcHAuTWFuaWZlc3QuZmV0Y2hSdW5zV2l0aFBsYXRmb3JtQW5kTWV0
cmljKHRoaXMuc3RvcmUsCisgICAgICAgICAgICB0YXNrLmdldCgncGxhdGZvcm0nKS5nZXQoJ2lk
JyksIHRhc2suZ2V0KCdtZXRyaWMnKS5nZXQoJ2lkJyksIHRoaXMuZ2V0KCdpZCcpKS50aGVuKAor
ICAgICAgICAgICAgZnVuY3Rpb24gKHJlc3VsdCkgeyBzZWxmLnNldCgnY2hhcnREYXRhJywgcmVz
dWx0LmRhdGEpOyB9LAorICAgICAgICAgICAgZnVuY3Rpb24gKGVycm9yKSB7CisgICAgICAgICAg
ICAgICAgLy8gRklYTUU6IFNvbWVob3cgdGhpcyBuZXZlciBnZXRzIGNhbGxlZC4KKyAgICAgICAg
ICAgICAgICBhbGVydCgnRmFpbGVkIHRvIGZldGNoIHRoZSByZXN1bHRzOicgKyBlcnJvcik7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CisgICAgICAgICAgICB9KTsKKyAgICB9Lm9ic2Vy
dmVzKCd0YXNrJywgJ3Rhc2sucGxhdGZvcm0nLCAndGFzay5tZXRyaWMnKS5vbignaW5pdCcpLAog
fSk7CiAKIEFwcC5UZXN0R3JvdXAuY3JlYXRlID0gZnVuY3Rpb24gKGFuYWx5c2lzVGFzaywgbmFt
ZSwgcm9vdFNldHMsIHJlcGV0aXRpb25Db3VudCkKQEAgLTEzMCw3ICsxNDUsNyBAQCBBcHAuQnVp
bGRSZXF1ZXN0ID0gQXBwLk1vZGVsLmV4dGVuZCh7CiAgICAgICAgIHJldHVybiB0aGlzLmdldCgn
b3JkZXInKSArIDE7CiAgICAgfS5wcm9wZXJ0eSgnb3JkZXInKSwKICAgICByb290U2V0OiBEUy5h
dHRyKCdudW1iZXInKSwKLSAgICBjb25maWc6IGZ1bmN0aW9uICgpCisgICAgY29uZmlnTGV0dGVy
OiBmdW5jdGlvbiAoKQogICAgIHsKICAgICAgICAgdmFyIHJvb3RTZXRzID0gdGhpcy5nZXQoJ3Rl
c3RHcm91cCcpLmdldCgncm9vdFNldHMnKTsKICAgICAgICAgdmFyIGluZGV4ID0gcm9vdFNldHMu
aW5kZXhPZih0aGlzLmdldCgncm9vdFNldCcpKTsKQEAgLTE0Niw5ICsxNjEsMjYgQEAgQXBwLkJ1
aWxkUmVxdWVzdCA9IEFwcC5Nb2RlbC5leHRlbmQoewogICAgICAgICAgICAgcmV0dXJuICdTY2hl
ZHVsZWQnOwogICAgICAgICBjYXNlICdydW5uaW5nJzoKICAgICAgICAgICAgIHJldHVybiAnUnVu
bmluZyc7CisgICAgICAgIGNhc2UgJ2ZhaWxlZCc6CisgICAgICAgICAgICByZXR1cm4gJ0ZhaWxl
ZCc7CiAgICAgICAgIGNhc2UgJ2NvbXBsZXRlZCc6CiAgICAgICAgICAgICByZXR1cm4gJ0Zpbmlz
aGVkJzsKICAgICAgICAgfQogICAgIH0ucHJvcGVydHkoJ3N0YXR1cycpLAorICAgIHVybDogRFMu
YXR0cignc3RyaW5nJyksCiAgICAgYnVpbGQ6IERTLmF0dHIoJ251bWJlcicpLAorICAgIF9mZXRj
aE1lYW46IGZ1bmN0aW9uICgpCisgICAgeworICAgICAgICB2YXIgdGVzdEdyb3VwID0gdGhpcy5n
ZXQoJ3Rlc3RHcm91cCcpOworICAgICAgICBpZiAoIXRlc3RHcm91cCkKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgdmFyIGNoYXJ0RGF0YSA9IHRlc3RHcm91cC5nZXQoJ2NoYXJ0RGF0YScp
OworICAgICAgICBpZiAoIWNoYXJ0RGF0YSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAg
ICB2YXIgcG9pbnQgPSBjaGFydERhdGEuY3VycmVudC5maW5kUG9pbnRCeUJ1aWxkKHRoaXMuZ2V0
KCdidWlsZCcpKTsKKyAgICAgICAgaWYgKCFwb2ludCkKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgdGhpcy5zZXQoJ21lYW4nLCBjaGFydERhdGEuZm9ybWF0dGVyKHBvaW50LnZhbHVlKSAr
IChjaGFydERhdGEudW5pdCA/ICcgJyArIGNoYXJ0RGF0YS51bml0IDogJycpKTsKKyAgICB9Lm9i
c2VydmVzKCdidWlsZCcsICd0ZXN0R3JvdXAnLCAndGVzdEdyb3VwLmNoYXJ0RGF0YScpLm9uKCdp
bml0JyksCiB9KTsKSW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvYXBw
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvYXBw
LmpzCShyZXZpc2lvbiAxNzk5ODIpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGlj
L3YyL2FwcC5qcwkod29ya2luZyBjb3B5KQpAQCAtMzUyLDggKzM1Miw4IEBAIEFwcC5QYW5lID0g
RW1iZXIuT2JqZWN0LmV4dGVuZCh7CiAgICAgICAgICAgICBBcHAuTWFuaWZlc3QuZmV0Y2hSdW5z
V2l0aFBsYXRmb3JtQW5kTWV0cmljKHRoaXMuZ2V0KCdzdG9yZScpLCBwbGF0Zm9ybUlkLCBtZXRy
aWNJZCkudGhlbihmdW5jdGlvbiAocmVzdWx0KSB7CiAgICAgICAgICAgICAgICAgc2VsZi5zZXQo
J3BsYXRmb3JtJywgcmVzdWx0LnBsYXRmb3JtKTsKICAgICAgICAgICAgICAgICBzZWxmLnNldCgn
bWV0cmljJywgcmVzdWx0Lm1ldHJpYyk7Ci0gICAgICAgICAgICAgICAgc2VsZi5zZXQoJ2ZldGNo
ZWREYXRhJywgcmVzdWx0KTsKLSAgICAgICAgICAgICAgICBzZWxmLl9jb21wdXRlQ2hhcnREYXRh
KCk7CisgICAgICAgICAgICAgICAgc2VsZi5zZXQoJ2NoYXJ0RGF0YScsIHJlc3VsdC5kYXRhKTsK
KyAgICAgICAgICAgICAgICBzZWxmLl91cGRhdGVNb3ZpbmdBdmVyYWdlQW5kRW52ZWxvcGUoKTsK
ICAgICAgICAgICAgIH0sIGZ1bmN0aW9uIChyZXN1bHQpIHsKICAgICAgICAgICAgICAgICBpZiAo
IXJlc3VsdCB8fCB0eXBlb2YocmVzdWx0KSA9PT0gInN0cmluZyIpCiAgICAgICAgICAgICAgICAg
ICAgIHNlbGYuc2V0KCdmYWlsdXJlJywgJ0ZhaWxlZCB0byBmZXRjaCB0aGUgSlNPTiB3aXRoIGFu
IGVycm9yOiAnICsgcmVzdWx0KTsKQEAgLTQ3MSwxMyArNDcxLDEyIEBAIEFwcC5QYW5lID0gRW1i
ZXIuT2JqZWN0LmV4dGVuZCh7CiAKICAgICAgICAgcmV0dXJuIGNob3NlblN0cmF0ZWd5OwogICAg
IH0sCi0gICAgX2NvbXB1dGVDaGFydERhdGE6IGZ1bmN0aW9uICgpCisgICAgX3VwZGF0ZU1vdmlu
Z0F2ZXJhZ2VBbmRFbnZlbG9wZTogZnVuY3Rpb24gKCkKICAgICB7Ci0gICAgICAgIGlmICghdGhp
cy5nZXQoJ2ZldGNoZWREYXRhJykpCisgICAgICAgIHZhciBjaGFydERhdGEgPSB0aGlzLmdldCgn
Y2hhcnREYXRhJyk7CisgICAgICAgIGlmICghY2hhcnREYXRhKQogICAgICAgICAgICAgcmV0dXJu
OwogCi0gICAgICAgIHZhciBjaGFydERhdGEgPSBBcHAuY3JlYXRlQ2hhcnREYXRhKHRoaXMuZ2V0
KCdmZXRjaGVkRGF0YScpKTsKLQogICAgICAgICB2YXIgbW92aW5nQXZlcmFnZVN0cmF0ZWd5ID0g
dGhpcy5nZXQoJ2Nob3Nlbk1vdmluZ0F2ZXJhZ2VTdHJhdGVneScpOwogICAgICAgICB0aGlzLl91
cGRhdGVTdHJhdGVneUNvbmZpZ0lmTmVlZGVkKG1vdmluZ0F2ZXJhZ2VTdHJhdGVneSwgJ21vdmlu
Z0F2ZXJhZ2VDb25maWcnKTsKIApAQCAtNDg1LDggKzQ4NCw2IEBAIEFwcC5QYW5lID0gRW1iZXIu
T2JqZWN0LmV4dGVuZCh7CiAgICAgICAgIHRoaXMuX3VwZGF0ZVN0cmF0ZWd5Q29uZmlnSWZOZWVk
ZWQoZW52ZWxvcGluZ1N0cmF0ZWd5LCAnZW52ZWxvcGluZ0NvbmZpZycpOwogCiAgICAgICAgIGNo
YXJ0RGF0YS5tb3ZpbmdBdmVyYWdlID0gdGhpcy5fY29tcHV0ZU1vdmluZ0F2ZXJhZ2VBbmRPdXRs
aWVycyhjaGFydERhdGEsIG1vdmluZ0F2ZXJhZ2VTdHJhdGVneSwgZW52ZWxvcGluZ1N0cmF0ZWd5
KTsKLQotICAgICAgICB0aGlzLnNldCgnY2hhcnREYXRhJywgY2hhcnREYXRhKTsKICAgICB9Lm9i
c2VydmVzKCdjaG9zZW5Nb3ZpbmdBdmVyYWdlU3RyYXRlZ3knLCAnY2hvc2VuTW92aW5nQXZlcmFn
ZVN0cmF0ZWd5LnBhcmFtZXRlckxpc3QuQGVhY2gudmFsdWUnLAogICAgICAgICAnY2hvc2VuRW52
ZWxvcGluZ1N0cmF0ZWd5JywgJ2Nob3NlbkVudmVsb3BpbmdTdHJhdGVneS5wYXJhbWV0ZXJMaXN0
LkBlYWNoLnZhbHVlJyksCiAgICAgX2NvbXB1dGVNb3ZpbmdBdmVyYWdlQW5kT3V0bGllcnM6IGZ1
bmN0aW9uIChjaGFydERhdGEsIG1vdmluZ0F2ZXJhZ2VTdHJhdGVneSwgZW52ZWxvcGluZ1N0cmF0
ZWd5KQpAQCAtNTQzLDIwICs1NDAsNiBAQCBBcHAuUGFuZSA9IEVtYmVyLk9iamVjdC5leHRlbmQo
ewogICAgIH0sCiB9KTsKIAotQXBwLmNyZWF0ZUNoYXJ0RGF0YSA9IGZ1bmN0aW9uIChkYXRhKQot
ewotICAgIHZhciBydW5zID0gZGF0YS5ydW5zOwotICAgIHJldHVybiB7Ci0gICAgICAgIGN1cnJl
bnQ6IHJ1bnMuY3VycmVudC50aW1lU2VyaWVzQnlDb21taXRUaW1lKCksCi0gICAgICAgIGJhc2Vs
aW5lOiBydW5zLmJhc2VsaW5lID8gcnVucy5iYXNlbGluZS50aW1lU2VyaWVzQnlDb21taXRUaW1l
KCkgOiBudWxsLAotICAgICAgICB0YXJnZXQ6IHJ1bnMudGFyZ2V0ID8gcnVucy50YXJnZXQudGlt
ZVNlcmllc0J5Q29tbWl0VGltZSgpIDogbnVsbCwKLSAgICAgICAgdW5pdDogZGF0YS51bml0LAot
ICAgICAgICBmb3JtYXR0ZXI6IGRhdGEudXNlU0kgPyBkMy5mb3JtYXQoJy40cycpIDogZDMuZm9y
bWF0KCcuNGcnKSwKLSAgICAgICAgZGVsdGFGb3JtYXR0ZXI6IGRhdGEudXNlU0kgPyBkMy5mb3Jt
YXQoJysuMnMnKSA6IGQzLmZvcm1hdCgnKy4yZycpLAotICAgICAgICBzbWFsbGVySXNCZXR0ZXI6
IGRhdGEuc21hbGxlcklzQmV0dGVyLAotICAgIH07Ci19Ci0KIEFwcC5lbmNvZGVQcmV0dGlmaWVk
SlNPTiA9IGZ1bmN0aW9uIChwbGFpbikKIHsKICAgICBmdW5jdGlvbiBudW1iZXJJZlBvc3NpYmxl
KHN0cmluZykgewpAQCAtMTAyNywxMSArMTAxMCwxMCBAQCBBcHAuQW5hbHlzaXNUYXNrQ29udHJv
bGxlciA9IEVtYmVyLkNvbnRyCiAgICAgICAgICAgICB9KTsKICAgICAgICAgfSkpOwogICAgIH0s
Ci0gICAgX2ZldGNoZWRSdW5zOiBmdW5jdGlvbiAoZGF0YSkKKyAgICBfZmV0Y2hlZFJ1bnM6IGZ1
bmN0aW9uIChyZXN1bHQpCiAgICAgewotICAgICAgICB2YXIgcnVucyA9IGRhdGEucnVuczsKLQot
ICAgICAgICB2YXIgY3VycmVudFRpbWVTZXJpZXMgPSBydW5zLmN1cnJlbnQudGltZVNlcmllc0J5
Q29tbWl0VGltZSgpOworICAgICAgICB2YXIgY2hhcnREYXRhID0gcmVzdWx0LmRhdGE7CisgICAg
ICAgIHZhciBjdXJyZW50VGltZVNlcmllcyA9IGNoYXJ0RGF0YS5jdXJyZW50OwogICAgICAgICBp
ZiAoIWN1cnJlbnRUaW1lU2VyaWVzKQogICAgICAgICAgICAgcmV0dXJuOyAvLyBGSVhNRTogUmVw
b3J0IGFuIGVycm9yLgogCkBAIC0xMDQ0LDEzICsxMDI2LDEyIEBAIEFwcC5BbmFseXNpc1Rhc2tD
b250cm9sbGVyID0gRW1iZXIuQ29udHIKICAgICAgICAgaGlnaGxpZ2h0ZWRJdGVtc1tzdGFydC5t
ZWFzdXJlbWVudC5pZCgpXSA9IHRydWU7CiAgICAgICAgIGhpZ2hsaWdodGVkSXRlbXNbZW5kLm1l
YXN1cmVtZW50LmlkKCldID0gdHJ1ZTsKIAotICAgICAgICB2YXIgY2hhcnREYXRhID0gQXBwLmNy
ZWF0ZUNoYXJ0RGF0YShkYXRhKTsKICAgICAgICAgdmFyIGZvcm1hdGVkUG9pbnRzID0gY3VycmVu
dFRpbWVTZXJpZXMuc2VyaWVzQmV0d2VlblBvaW50cyhzdGFydCwgZW5kKS5tYXAoZnVuY3Rpb24g
KHBvaW50LCBpbmRleCkgewogICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgICBp
ZDogcG9pbnQubWVhc3VyZW1lbnQuaWQoKSwKICAgICAgICAgICAgICAgICBtZWFzdXJlbWVudDog
cG9pbnQubWVhc3VyZW1lbnQsCiAgICAgICAgICAgICAgICAgbGFiZWw6ICdQb2ludCAnICsgKGlu
ZGV4ICsgMSksCi0gICAgICAgICAgICAgICAgdmFsdWU6IGNoYXJ0RGF0YS5mb3JtYXR0ZXIocG9p
bnQudmFsdWUpICsgKGRhdGEudW5pdCA/ICcgJyArIGRhdGEudW5pdCA6ICcnKSwKKyAgICAgICAg
ICAgICAgICB2YWx1ZTogY2hhcnREYXRhLmZvcm1hdHRlcihwb2ludC52YWx1ZSkgKyAoY2hhcnRE
YXRhLnVuaXQgPyAnICcgKyBjaGFydERhdGEudW5pdCA6ICcnKSwKICAgICAgICAgICAgIH07CiAg
ICAgICAgIH0pOwogCkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YyL2Rh
dGEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9k
YXRhLmpzCShyZXZpc2lvbiAxNzk5ODIpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVi
bGljL3YyL2RhdGEuanMJKHdvcmtpbmcgY29weSkKQEAgLTI0Miw2ICsyNDIsMTEgQEAgTWVhc3Vy
ZW1lbnQucHJvdG90eXBlLmxhdGVzdENvbW1pdFRpbWUgPQogICAgIHJldHVybiB0aGlzLl9sYXRl
c3RDb21taXRUaW1lIHx8IHRoaXMuX2J1aWxkVGltZTsKIH0KIAorTWVhc3VyZW1lbnQucHJvdG90
eXBlLmJ1aWxkSWQgPSBmdW5jdGlvbigpCit7CisgICAgcmV0dXJuIHRoaXMuX3Jhd1snYnVpbGQn
XTsKK30KKwogTWVhc3VyZW1lbnQucHJvdG90eXBlLmJ1aWxkTnVtYmVyID0gZnVuY3Rpb24gKCkK
IHsKICAgICByZXR1cm4gdGhpcy5fcmF3WydidWlsZE51bWJlciddOwpAQCAtMzE1LDEwICszMjAs
MTMgQEAgUnVuc0RhdGEucHJvdG90eXBlLnRpbWVTZXJpZXNCeUJ1aWxkVGltZQogCiAvLyBGSVhN
RTogV2UgbmVlZCB0byBkZXZpc2UgYSB3YXkgdG8gZmV0Y2ggcnVucyBpbiBtdWx0aXBsZSBjaHVu
a3Mgc28gdGhhdAogLy8gd2UgZG9uJ3QgaGF2ZSB0byBmZXRjaCB0aGUgZW50aXJlIHRpbWUgc2Vy
aWVzIHRvIGp1c3Qgc2hvdyB0aGUgbGFzdCAzIGRheXMuCi1SdW5zRGF0YS5mZXRjaFJ1bnMgPSBm
dW5jdGlvbiAocGxhdGZvcm1JZCwgbWV0cmljSWQpCitSdW5zRGF0YS5mZXRjaFJ1bnMgPSBmdW5j
dGlvbiAocGxhdGZvcm1JZCwgbWV0cmljSWQsIHRlc3RHcm91cElkKQogewogICAgIHZhciBmaWxl
bmFtZSA9IHBsYXRmb3JtSWQgKyAnLScgKyBtZXRyaWNJZCArICcuanNvbic7CiAKKyAgICBpZiAo
dGVzdEdyb3VwSWQpCisgICAgICAgIGZpbGVuYW1lICs9ICc/dGVzdEdyb3VwPScgKyB0ZXN0R3Jv
dXBJZDsKKwogICAgIHJldHVybiBuZXcgRW1iZXIuUlNWUC5Qcm9taXNlKGZ1bmN0aW9uIChyZXNv
bHZlLCByZWplY3QpIHsKICAgICAgICAgJC5nZXRKU09OKCcuLi9hcGkvcnVucy8nICsgZmlsZW5h
bWUsIGZ1bmN0aW9uIChkYXRhKSB7CiAgICAgICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT0gJ09L
JykgewpAQCAtMzU1LDYgKzM2MywxMSBAQCBmdW5jdGlvbiBUaW1lU2VyaWVzKHNlcmllcykKICAg
ICB0aGlzLl9tYXggPSBtYXg7CiB9CiAKK1RpbWVTZXJpZXMucHJvdG90eXBlLmZpbmRQb2ludEJ5
QnVpbGQgPSBmdW5jdGlvbiAoYnVpbGRJZCkKK3sKKyAgICByZXR1cm4gdGhpcy5fc2VyaWVzLmZp
bmQoZnVuY3Rpb24gKHBvaW50KSB7IHJldHVybiBwb2ludC5tZWFzdXJlbWVudC5idWlsZElkKCkg
PT0gYnVpbGRJZDsgfSkKK30KKwogVGltZVNlcmllcy5wcm90b3R5cGUuZmluZFBvaW50QnlNZWFz
dXJlbWVudElkID0gZnVuY3Rpb24gKG1lYXN1cmVtZW50SWQpCiB7CiAgICAgcmV0dXJuIHRoaXMu
X3Nlcmllcy5maW5kKGZ1bmN0aW9uIChwb2ludCkgeyByZXR1cm4gcG9pbnQubWVhc3VyZW1lbnQu
aWQoKSA9PSBtZWFzdXJlbWVudElkOyB9KTsKSW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9y
Zy9wdWJsaWMvdjIvaW5kZXguaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtp
dC5vcmcvcHVibGljL3YyL2luZGV4Lmh0bWwJKHJldmlzaW9uIDE3OTk4MikKKysrIFdlYnNpdGVz
L3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvaW5kZXguaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
NTgwLDggKzU4MCw4IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sjZWFjaCBidWls
ZFJlcXVlc3RzfX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b3JkZXJMYWJlbH19PC90ZD4KLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2NvbmZpZ319PC90ZD4KLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57eyNpZiB1cmx9fXt7I2xpbmst
dG8gdXJsfX17e3N0YXR1c0xhYmVsfX17ey9saW5rLXRvfX17e2Vsc2V9fXt7c3RhdHVzTGFiZWx9
fXt7L2lmfX08L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7
Y29uZmlnTGV0dGVyfX08L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
PHRkPjxhIHt7YmluZC1hdHRyIGhyZWY9dXJsfX0+e3tzdGF0dXNMYWJlbH19PC9hPjwvdGQ+CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tidWlsZH19PC90ZD4KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e21lYW59fTwvdGQ+CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CkluZGV4OiBXZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvcHVibGljL3YyL21hbmlmZXN0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvbWFuaWZlc3QuanMJKHJldmlzaW9uIDE3OTk4MikKKysr
IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvbWFuaWZlc3QuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTI3OSwxMCArMjc5LDEwIEBAIEFwcC5NYW5pZmVzdCA9IEVtYmVyLkNvbnRyb2xs
ZXIuZXh0ZW5kKHsKICAgICAgICAgZGFzaGJvYXJkcy5mb3JFYWNoKGZ1bmN0aW9uIChkYXNoYm9h
cmQpIHsgc2VsZi5fZGFzaGJvYXJkQnlOYW1lW2Rhc2hib2FyZC5nZXQoJ25hbWUnKV0gPSBkYXNo
Ym9hcmQ7IH0pOwogICAgICAgICB0aGlzLl9kZWZhdWx0RGFzaGJvYXJkTmFtZSA9IGRhc2hib2Fy
ZHMubGVuZ3RoID8gZGFzaGJvYXJkc1swXS5nZXQoJ25hbWUnKSA6IG51bGw7CiAgICAgfSwKLSAg
ICBmZXRjaFJ1bnNXaXRoUGxhdGZvcm1BbmRNZXRyaWM6IGZ1bmN0aW9uIChzdG9yZSwgcGxhdGZv
cm1JZCwgbWV0cmljSWQpCisgICAgZmV0Y2hSdW5zV2l0aFBsYXRmb3JtQW5kTWV0cmljOiBmdW5j
dGlvbiAoc3RvcmUsIHBsYXRmb3JtSWQsIG1ldHJpY0lkLCB0ZXN0R3JvdXBJZCkKICAgICB7CiAg
ICAgICAgIHJldHVybiBFbWJlci5SU1ZQLmFsbChbCi0gICAgICAgICAgICBSdW5zRGF0YS5mZXRj
aFJ1bnMocGxhdGZvcm1JZCwgbWV0cmljSWQpLAorICAgICAgICAgICAgUnVuc0RhdGEuZmV0Y2hS
dW5zKHBsYXRmb3JtSWQsIG1ldHJpY0lkLCB0ZXN0R3JvdXBJZCksCiAgICAgICAgICAgICB0aGlz
LmZldGNoKHN0b3JlKSwKICAgICAgICAgXSkudGhlbihmdW5jdGlvbiAodmFsdWVzKSB7CiAgICAg
ICAgICAgICB2YXIgcnVucyA9IHZhbHVlc1swXTsKQEAgLTMwMSw3ICszMDEsMjAgQEAgQXBwLk1h
bmlmZXN0ID0gRW1iZXIuQ29udHJvbGxlci5leHRlbmQoewogICAgICAgICAgICAgfVtzdWZmaXhd
OwogICAgICAgICAgICAgdmFyIHNtYWxsZXJJc0JldHRlciA9IHVuaXQgIT0gJ2ZwcycgJiYgdW5p
dCAhPSAnL3MnOyAvLyBBc3N1bWUgc21hbGxlciBpcyBiZXR0ZXIgZm9yIHVuaXQtbGVzcyBtZXRy
aWNzLgogCi0gICAgICAgICAgICByZXR1cm4ge3BsYXRmb3JtOiBwbGF0Zm9ybSwgbWV0cmljOiBt
ZXRyaWMsIHJ1bnM6IHJ1bnMsIHVuaXQ6IHVuaXQsIHVzZVNJOiB1bml0ID09ICdieXRlcycsIHNt
YWxsZXJJc0JldHRlcjogc21hbGxlcklzQmV0dGVyfTsKKyAgICAgICAgICAgIHZhciB1c2VTSSA9
IHVuaXQgPT0gJ2J5dGVzJzsKKyAgICAgICAgICAgIHJldHVybiB7CisgICAgICAgICAgICAgICAg
cGxhdGZvcm06IHBsYXRmb3JtLAorICAgICAgICAgICAgICAgIG1ldHJpYzogbWV0cmljLAorICAg
ICAgICAgICAgICAgIGRhdGE6IHsKKyAgICAgICAgICAgICAgICAgICAgY3VycmVudDogcnVucy5j
dXJyZW50LnRpbWVTZXJpZXNCeUNvbW1pdFRpbWUoKSwKKyAgICAgICAgICAgICAgICAgICAgYmFz
ZWxpbmU6IHJ1bnMuYmFzZWxpbmUgPyBydW5zLmJhc2VsaW5lLnRpbWVTZXJpZXNCeUNvbW1pdFRp
bWUoKSA6IG51bGwsCisgICAgICAgICAgICAgICAgICAgIHRhcmdldDogcnVucy50YXJnZXQgPyBy
dW5zLnRhcmdldC50aW1lU2VyaWVzQnlDb21taXRUaW1lKCkgOiBudWxsLAorICAgICAgICAgICAg
ICAgICAgICB1bml0OiB1bml0LAorICAgICAgICAgICAgICAgICAgICBmb3JtYXR0ZXI6IHVzZVNJ
ID8gZDMuZm9ybWF0KCcuNHMnKSA6IGQzLmZvcm1hdCgnLjRnJyksCisgICAgICAgICAgICAgICAg
ICAgIGRlbHRhRm9ybWF0dGVyOiB1c2VTSSA/IGQzLmZvcm1hdCgnKy4ycycpIDogZDMuZm9ybWF0
KCcrLjJnJyksCisgICAgICAgICAgICAgICAgICAgIHNtYWxsZXJJc0JldHRlcjogc21hbGxlcklz
QmV0dGVyLAorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH07CiAgICAgICAgIH0pOwog
ICAgIH0sCiB9KS5jcmVhdGUoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246428</attachid>
            <date>2015-02-11 22:55:56 -0800</date>
            <delta_ts>2015-02-12 10:51:00 -0800</delta_ts>
            <desc>Fixed one more bug</desc>
            <filename>bug-141500-20150211225559.patch</filename>
            <type>text/plain</type>
            <size>21137</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkocmV2aXNpb24gMTc5OTgyKQorKysg
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDU0IEBACisyMDE1LTAyLTExICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgor
CisgICAgICAgIFBlcmYgZGFzaGJvYXJkIHNob3VsZCBzaG93IHRoZSByZXN1bHRzIG9mIEEvQiB0
ZXN0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDE1MDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRlZCB0aGUgc3VwcG9ydCBmb3IgZmV0Y2hpbmcgdGVzdF9ydW5zIGZvciBhIHNwZWNpZmljIHRl
c3QgZ3JvdXAgaW4gL2FwaS9ydW5zLywgYW5kIHVzZWQgaXQgaW4gdGhlCisgICAgICAgIGFuYWx5
c2lzIHRhc2sgcGFnZSB0byBmZXRjaCByZXN1bHRzIGZvciBlYWNoIHRlc3QgZ3JvdXAuCisKKyAg
ICAgICAgTWVyZ2VkIEFwcC5jcmVhdGVDaGFydERhdGEgaW50byBBcHAuTWFuaWZlc3QuZmV0Y2hS
dW5zV2l0aFBsYXRmb3JtQW5kTWV0cmljIHNvIHRoYXQgQXBwLkJ1aWxkUmVxdWVzdAorICAgICAg
ICBjYW4gdXNlIHRoZSBmb3JtYXR0ZXIuCisKKyAgICAgICAgKiBwdWJsaWMvYXBpL3J1bnMucGhw
OgorICAgICAgICAoZmV0Y2hfcnVuc19mb3JfY29uZmlnX2FuZF90ZXN0X2dyb3VwKTogQWRkZWQu
CisgICAgICAgIChmZXRjaF9ydW5zX2Zvcl9jb25maWcpOiBKdXN0IHJldHVybiB0aGUgZmV0Y2hl
ZCByb3dzIHNpbmNlIG1haW4gd2lsbCBmb3JtYXQgdGhlbSB3aXRoIFJ1bnNHZW5lcmF0b3IuCisg
ICAgICAgIChtYWluKTogVXNlIGZldGNoX3J1bnNfZm9yX2NvbmZpZ19hbmRfdGVzdF9ncm91cCB0
byBmZXRjaCByb3dzIHdoZW4gYSB0ZXN0IGdyb3VwIGlkIGlzIHNwZWNpZmllZC4gQWxzbworICAg
ICAgICB1c2UgUnVuc0dlbmVyYXRvciB0byBmb3JtYXQgcmVzdWx0cy4KKyAgICAgICAgKFJ1bnNH
ZW5lcmF0b3IpOiBBZGRlZC4KKyAgICAgICAgKFJ1bnNHZW5lcmF0b3I6Ol9fY29uc3RydWN0KTog
QWRkZWQuCisgICAgICAgIChSdW5zR2VuZXJhdG9yOjphZGRfcnVucyk6IEFkZGVkLgorICAgICAg
ICAoUnVuc0dlbmVyYXRvcjo6Zm9ybWF0X3J1bik6IE1vdmVkLgorICAgICAgICAoUnVuc0dlbmVy
YXRvcjo6cGFyc2VfcmV2aXNpb25zX2FycmF5KTogTW92ZWQuCisKKyAgICAgICAgKiBwdWJsaWMv
djIvYW5hbHlzaXMuanM6CisgICAgICAgIChBcHAuVGVzdEdyb3VwKTogRml4ZWQgYSB0eXBvLiBU
aGUgcHJvcGVydHkgb24gYSB0ZXN0IGdyb3VwIHRoYXQgcmVmZXJzIHRvIGFuIGFuYWx5c2lzIHRh
c2sgaXMgInRhc2siLgorICAgICAgICAoQXBwLlRlc3RHcm91cC5fZmV0Y2hDaGFydERhdGEpOiBB
ZGRlZC4gRmV0Y2hlcyBhbGwgQS9CIHRlc3RpbmcgcmVzdWx0cyBmb3IgdGhpcyBncm91cC4KKyAg
ICAgICAgKEFwcC5CdWlsZFJlcXVlc3QuY29uZmlnTGV0dGVyKTogUmVuYW1lZCBmcm9tIGNvbmZp
ZyBzaW5jZSB0aGlzIHJldHVybnMgYSBsZXR0ZXIgdGhhdCBpZGVudGlmaWVzIHRoZQorICAgICAg
ICBjb25maWd1cmF0aW9uIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGJ1aWxkIHJlcXVlc3Qgc3VjaCBh
cyAiQSIgYW5kICJCIi4KKyAgICAgICAgKEFwcC5CdWlsZFJlcXVlc3Quc3RhdHVzTGFiZWwpOiBB
ZGRlZCB0aGUgbWlzc2luZyBsYWJlbCBmb3IgZmFpbGVkIGJ1aWxkIHJlcXVlc3RzLgorICAgICAg
ICAoQXBwLkJ1aWxkUmVxdWVzdC51cmwpOiBBZGRlZC4gUmV0dXJucyB0aGUgVVJMIGFzc29jaWF0
ZWQgd2l0aCB0aGlzIGJ1aWxkIHJlcXVlc3QuCisgICAgICAgIChBcHAuQnVpbGRSZXF1ZXN0Ll9t
ZWFuRmV0Y2hlZCk6IEFkZGVkLiBSZXRyaWV2ZSB0aGUgbWVhbiBhbmQgdGhlIGJ1aWxkIG51bWJl
ciBmb3IgdGhpcyByZXF1ZXN0IHZpYQorICAgICAgICBfZmV0Y2hDaGFydERhdGEuCisKKyAgICAg
ICAgKiBwdWJsaWMvdjIvYXBwLmpzOgorICAgICAgICAoQXBwLlBhbmUuX2ZldGNoKTogU2V0IGNo
YXJ0RGF0YSBkaXJlY3RseSBoZXJlLgorICAgICAgICAoQXBwLlBhbmUuX3VwZGF0ZU1vdmluZ0F2
ZXJhZ2VBbmRFbnZlbG9wZSk6IFJlbmFtZWQgZnJvbSBfY29tcHV0ZUNoYXJ0RGF0YS4gTm8gbG9u
Z2VyIHNldHMgY2hhcnREYXRhCisgICAgICAgIG5vdyB0aGF0IGl0J3MgZG9uZSBpbiBBcHAuUGFu
ZS5fZmV0Y2guCisgICAgICAgIChBcHAuQW5hbHlzaXNUYXNrQ29udHJvbGxlci5fZmV0Y2hlZFJ1
bnMpOiBVcGRhdGVkIHBlciBjcmVhdGVDaGFydERhdGEgbWVyZ2UuCisKKyAgICAgICAgKiBwdWJs
aWMvdjIvZGF0YS5qczoKKyAgICAgICAgKE1lYXN1cmVtZW50LnByb3RvdHlwZS5idWlsZElkKTog
QWRkZWQuCisgICAgICAgIChUaW1lU2VyaWVzLnByb3RvdHlwZS5maW5kUG9pbnRCeUJ1aWxkKTog
QWRkZWQuCisKKyAgICAgICAgKiBwdWJsaWMvdjIvaW5kZXguaHRtbDogRml4ZWQgYSBidWcgdGhh
dCBidWlsZCBzdGF0dXMgVVJMIHdhcyBicm9rZW4uIFdlIGNhbid0IHVzZSBsaW5rLXRvIGhlbHBl
ciBzaW5jZQorICAgICAgICB1cmwgaXMgbm90IGFuIEVtYmVyIHJvdXRlZCBwYXRoLgorCisgICAg
ICAgICogcHVibGljL3YyL21hbmlmZXN0LmpzOgorICAgICAgICAoQXBwLk1hbmlmZXN0LmZldGNo
UnVuc1dpdGhQbGF0Zm9ybUFuZE1ldHJpYyk6IFRha2VzIHRlc3RHcm91cElkIGFzIHRoZSB0aGly
ZCBhcmd1bWVudC4gTWVyZ2VkCisgICAgICAgIEFwcC5jcmVhdGVDaGFydERhdGEgaGVyZSBzbyB0
aGF0IEFwcC5CdWlsZFJlcXVlc3QgY2FuIHVzZSB0aGUgZm9ybWF0dGVyCisKIDIwMTUtMDItMTEg
IFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTmV3IHBlcmYgZGFz
aGJvYXJkIHNob3dzIHRvbyBtdWNoIHNwYWNlIGFyb3VuZCBpbnRlcmVzdGluZyBkYXRhIHBvaW50
cwpJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9hcGkvcnVucy5waHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9hcGkvcnVucy5waHAJ
KHJldmlzaW9uIDE3OTk4MikKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvYXBp
L3J1bnMucGhwCSh3b3JraW5nIGNvcHkpCkBAIC0yLDUwICsyLDI1IEBACiAKIHJlcXVpcmUoJy4u
L2luY2x1ZGUvanNvbi1oZWFkZXIucGhwJyk7CiAKK2Z1bmN0aW9uIGZldGNoX3J1bnNfZm9yX2Nv
bmZpZ19hbmRfdGVzdF9ncm91cCgkZGIsICRjb25maWcsICR0ZXN0X2dyb3VwX2lkKSB7CisgICAg
cmV0dXJuICRkYi0+cXVlcnlfYW5kX2ZldGNoX2FsbCgnCisgICAgICAgIFNFTEVDVCB0ZXN0X3J1
bnMuKiwgYnVpbGRzLiosIGFycmF5X2FnZygoY29tbWl0X3JlcG9zaXRvcnksIGNvbW1pdF9yZXZp
c2lvbiwgY29tbWl0X3RpbWUpKSBBUyByZXZpc2lvbnMKKyAgICAgICAgICAgIEZST00gYnVpbGRz
CisgICAgICAgICAgICAgICAgTEVGVCBPVVRFUiBKT0lOIGJ1aWxkX2NvbW1pdHMgT04gY29tbWl0
X2J1aWxkID0gYnVpbGRfaWQKKyAgICAgICAgICAgICAgICBMRUZUIE9VVEVSIEpPSU4gY29tbWl0
cyBPTiBidWlsZF9jb21taXQgPSBjb21taXRfaWQsCisgICAgICAgICAgICAgICAgdGVzdF9ydW5z
LCBidWlsZF9yZXF1ZXN0cywgYW5hbHlzaXNfdGVzdF9ncm91cHMKKyAgICAgICAgICAgIFdIRVJF
IHJ1bl9idWlsZCA9IGJ1aWxkX2lkIEFORCBydW5fY29uZmlnID0gJDEgQU5EIHJlcXVlc3RfYnVp
bGQgPSBidWlsZF9pZCBBTkQgcmVxdWVzdF9ncm91cCA9ICQyCisgICAgICAgICAgICBHUk9VUCBC
WSBidWlsZF9pZCwgcnVuX2lkJywgYXJyYXkoJGNvbmZpZ1snY29uZmlnX2lkJ10sICR0ZXN0X2dy
b3VwX2lkKSk7Cit9CisKIGZ1bmN0aW9uIGZldGNoX3J1bnNfZm9yX2NvbmZpZygkZGIsICRjb25m
aWcpIHsKLSAgICAkcmF3X3J1bnMgPSAkZGItPnF1ZXJ5X2FuZF9mZXRjaF9hbGwoJworICAgIHJl
dHVybiAkZGItPnF1ZXJ5X2FuZF9mZXRjaF9hbGwoJwogICAgICAgICBTRUxFQ1QgdGVzdF9ydW5z
LiosIGJ1aWxkcy4qLCBhcnJheV9hZ2coKGNvbW1pdF9yZXBvc2l0b3J5LCBjb21taXRfcmV2aXNp
b24sIGNvbW1pdF90aW1lKSkgQVMgcmV2aXNpb25zCiAgICAgICAgICAgICBGUk9NIGJ1aWxkcwog
ICAgICAgICAgICAgICAgIExFRlQgT1VURVIgSk9JTiBidWlsZF9jb21taXRzIE9OIGNvbW1pdF9i
dWlsZCA9IGJ1aWxkX2lkCiAgICAgICAgICAgICAgICAgTEVGVCBPVVRFUiBKT0lOIGNvbW1pdHMg
T04gYnVpbGRfY29tbWl0ID0gY29tbWl0X2lkLCB0ZXN0X3J1bnMKICAgICAgICAgICAgIFdIRVJF
IHJ1bl9idWlsZCA9IGJ1aWxkX2lkIEFORCBydW5fY29uZmlnID0gJDEgQU5EIE5PVCBFWElTVFMg
KFNFTEVDVCAqIEZST00gYnVpbGRfcmVxdWVzdHMgV0hFUkUgcmVxdWVzdF9idWlsZCA9IGJ1aWxk
X2lkKQogICAgICAgICAgICAgR1JPVVAgQlkgYnVpbGRfaWQsIHJ1bl9pZCcsIGFycmF5KCRjb25m
aWdbJ2NvbmZpZ19pZCddKSk7Ci0KLSAgICAkZm9ybWF0dGVkX3J1bnMgPSBhcnJheSgpOwotICAg
IGlmICghJHJhd19ydW5zKQotICAgICAgICByZXR1cm4gJGZvcm1hdHRlZF9ydW5zOwotCi0gICAg
Zm9yZWFjaCAoJHJhd19ydW5zIGFzICRydW4pCi0gICAgICAgIGFycmF5X3B1c2goJGZvcm1hdHRl
ZF9ydW5zLCBmb3JtYXRfcnVuKCRydW4pKTsKLQotICAgIHJldHVybiAkZm9ybWF0dGVkX3J1bnM7
Ci19Ci0KLWZ1bmN0aW9uIHBhcnNlX3JldmlzaW9uc19hcnJheSgkcG9zdGdyZXNfYXJyYXkpIHsK
LSAgICAvLyBlLmcuIHsiKFdlYktpdCwxMzE0NTYsXCIyMDEyLTEwLTE2IDE0OjUzOjAwXCIpIiwi
KENocm9taXVtLDE2MjAwNCwpIn0KLSAgICAkb3V0ZXJfYXJyYXkgPSBqc29uX2RlY29kZSgnWycg
LiB0cmltKCRwb3N0Z3Jlc19hcnJheSwgJ3t9JykgLiAnXScpOwotICAgICRyZXZpc2lvbnMgPSBh
cnJheSgpOwotICAgIGZvcmVhY2ggKCRvdXRlcl9hcnJheSBhcyAkaXRlbSkgewotICAgICAgICAk
bmFtZV9hbmRfcmV2aXNpb24gPSBleHBsb2RlKCcsJywgdHJpbSgkaXRlbSwgJygpJykpOwotICAg
ICAgICBpZiAoISRuYW1lX2FuZF9yZXZpc2lvblswXSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwot
ICAgICAgICAkdGltZSA9IHN0cnRvdGltZSh0cmltKCRuYW1lX2FuZF9yZXZpc2lvblsyXSwgJyIn
KSkgKiAxMDAwOwotICAgICAgICAkcmV2aXNpb25zW3RyaW0oJG5hbWVfYW5kX3JldmlzaW9uWzBd
LCAnIicpXSA9IGFycmF5KHRyaW0oJG5hbWVfYW5kX3JldmlzaW9uWzFdLCAnIicpLCAkdGltZSk7
Ci0gICAgfQotICAgIHJldHVybiAkcmV2aXNpb25zOwotfQotCi1mdW5jdGlvbiBmb3JtYXRfcnVu
KCRydW4pIHsKLSAgICByZXR1cm4gYXJyYXkoCi0gICAgICAgICdpZCcgPT4gaW50dmFsKCRydW5b
J3J1bl9pZCddKSwKLSAgICAgICAgJ21lYW4nID0+IGZsb2F0dmFsKCRydW5bJ3J1bl9tZWFuX2Nh
Y2hlJ10pLAotICAgICAgICAnaXRlcmF0aW9uQ291bnQnID0+IGludHZhbCgkcnVuWydydW5faXRl
cmF0aW9uX2NvdW50X2NhY2hlJ10pLAotICAgICAgICAnc3VtJyA9PiBmbG9hdHZhbCgkcnVuWydy
dW5fc3VtX2NhY2hlJ10pLAotICAgICAgICAnc3F1YXJlU3VtJyA9PiBmbG9hdHZhbCgkcnVuWydy
dW5fc3F1YXJlX3N1bV9jYWNoZSddKSwKLSAgICAgICAgJ3JldmlzaW9ucycgPT4gcGFyc2VfcmV2
aXNpb25zX2FycmF5KCRydW5bJ3JldmlzaW9ucyddKSwKLSAgICAgICAgJ2J1aWxkVGltZScgPT4g
c3RydG90aW1lKCRydW5bJ2J1aWxkX3RpbWUnXSkgKiAxMDAwLAotICAgICAgICAnYnVpbGROdW1i
ZXInID0+IGludHZhbCgkcnVuWydidWlsZF9udW1iZXInXSksCi0gICAgICAgICdidWlsZGVyJyA9
PiAkcnVuWydidWlsZF9idWlsZGVyJ10pOwogfQogCiBmdW5jdGlvbiBtYWluKCRwYXRoKSB7CkBA
IC02MCwxMSArMzUsNiBAQCBmdW5jdGlvbiBtYWluKCRwYXRoKSB7CiAgICAgaWYgKCEkZGItPmNv
bm5lY3QoKSkKICAgICAgICAgZXhpdF93aXRoX2Vycm9yKCdEYXRhYmFzZUNvbm5lY3Rpb25GYWls
dXJlJyk7CiAKLSAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHN1cHBvcnQgcmV2YWxpY2F0aW9uIGFz
IHdlbGwgYXMgY2FjaGluZyByZXN1bHRzIGluIHRoZSBzZXJ2ZXIgc2lkZS4KLSAgICAkbWF4YWdl
ID0gY29uZmlnKCdqc29uQ2FjaGVNYXhBZ2UnKTsKLSAgICBoZWFkZXIoJ0V4cGlyZXM6ICcgLiBn
bWRhdGUoJ0QsIGQgTSBZIEg6aTpzJywgdGltZSgpICsgJG1heGFnZSkgLiAnIEdNVCcpOwotICAg
IGhlYWRlcigiQ2FjaGUtQ29udHJvbDogbWF4YWdlPSRtYXhhZ2UiKTsKLQogICAgICRwbGF0Zm9y
bV9pZCA9IGludHZhbCgkcGFydHNbMF0pOwogICAgICRtZXRyaWNfaWQgPSBpbnR2YWwoJHBhcnRz
WzFdKTsKICAgICAkY29uZmlnX3Jvd3MgPSAkZGItPnF1ZXJ5X2FuZF9mZXRjaF9hbGwoJ1NFTEVD
VCBjb25maWdfaWQsIGNvbmZpZ190eXBlLCBjb25maWdfcGxhdGZvcm0sIGNvbmZpZ19tZXRyaWMK
QEAgLTcyLDEzICs0Miw3MyBAQCBmdW5jdGlvbiBtYWluKCRwYXRoKSB7CiAgICAgaWYgKCEkY29u
ZmlnX3Jvd3MpCiAgICAgICAgIGV4aXRfd2l0aF9lcnJvcignQ29uZmlndXJhdGlvbk5vdEZvdW5k
Jyk7CiAKLSAgICAkcmVzdWx0cyA9IGFycmF5KCk7CisgICAgJHRlc3RfZ3JvdXBfaWQgPSBhcnJh
eV9nZXQoJF9HRVQsICd0ZXN0R3JvdXAnKTsKKyAgICBpZiAoJHRlc3RfZ3JvdXBfaWQpCisgICAg
ICAgICR0ZXN0X2dyb3VwX2lkID0gaW50dmFsKCR0ZXN0X2dyb3VwX2lkKTsKKyAgICBlbHNlIHsK
KyAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBzdXBwb3J0IHJldmFsaWNhdGlvbiBhcyB3ZWxs
IGFzIGNhY2hpbmcgcmVzdWx0cyBpbiB0aGUgc2VydmVyIHNpZGUuCisgICAgICAgICRtYXhhZ2Ug
PSBjb25maWcoJ2pzb25DYWNoZU1heEFnZScpOworICAgICAgICBoZWFkZXIoJ0V4cGlyZXM6ICcg
LiBnbWRhdGUoJ0QsIGQgTSBZIEg6aTpzJywgdGltZSgpICsgJG1heGFnZSkgLiAnIEdNVCcpOwor
ICAgICAgICBoZWFkZXIoIkNhY2hlLUNvbnRyb2w6IG1heGFnZT0kbWF4YWdlIik7CisgICAgfQor
CisgICAgJGdlbmVyYXRvciA9IG5ldyBSdW5zR2VuZXJhdG9yKCk7CisKICAgICBmb3JlYWNoICgk
Y29uZmlnX3Jvd3MgYXMgJGNvbmZpZykgewotICAgICAgICBpZiAoJHJ1bnMgPSBmZXRjaF9ydW5z
X2Zvcl9jb25maWcoJGRiLCAkY29uZmlnKSkKLSAgICAgICAgICAgICRyZXN1bHRzWyRjb25maWdb
J2NvbmZpZ190eXBlJ11dID0gJHJ1bnM7CisgICAgICAgIGlmICgkdGVzdF9ncm91cF9pZCkKKyAg
ICAgICAgICAgICRyYXdfcnVucyA9IGZldGNoX3J1bnNfZm9yX2NvbmZpZ19hbmRfdGVzdF9ncm91
cCgkZGIsICRjb25maWcsICR0ZXN0X2dyb3VwX2lkKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgJHJhd19ydW5zID0gZmV0Y2hfcnVuc19mb3JfY29uZmlnKCRkYiwgJGNvbmZpZyk7CisgICAg
ICAgICRnZW5lcmF0b3ItPmFkZF9ydW5zKCRjb25maWdbJ2NvbmZpZ190eXBlJ10sICRyYXdfcnVu
cyk7CisgICAgfQorCisgICAgZXhpdF93aXRoX3N1Y2Nlc3MoJGdlbmVyYXRvci0+cmVzdWx0cygp
KTsKK30KKworY2xhc3MgUnVuc0dlbmVyYXRvciB7CisgICAgZnVuY3Rpb24gX19jb25zdHJ1Y3Qo
KSB7CisgICAgICAgICR0aGlzLT5yZXN1bHRzID0gYXJyYXkoKTsKICAgICB9CiAKLSAgICBleGl0
X3dpdGhfc3VjY2VzcygkcmVzdWx0cyk7CisgICAgZnVuY3Rpb24gJnJlc3VsdHMoKSB7IHJldHVy
biAkdGhpcy0+cmVzdWx0czsgfQorCisgICAgZnVuY3Rpb24gYWRkX3J1bnMoJG5hbWUsICRyYXdf
cnVucykgeworICAgICAgICAkZm9ybWF0dGVkX3J1bnMgPSBhcnJheSgpOworICAgICAgICBpZiAo
JHJhd19ydW5zKSB7CisgICAgICAgICAgICBmb3JlYWNoICgkcmF3X3J1bnMgYXMgJHJ1bikKKyAg
ICAgICAgICAgICAgICBhcnJheV9wdXNoKCRmb3JtYXR0ZWRfcnVucywgc2VsZjo6Zm9ybWF0X3J1
bigkcnVuKSk7CisgICAgICAgIH0KKyAgICAgICAgJHRoaXMtPnJlc3VsdHNbJG5hbWVdID0gJGZv
cm1hdHRlZF9ydW5zOworICAgICAgICByZXR1cm4gJGZvcm1hdHRlZF9ydW5zOworICAgIH0KKwor
ICAgIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIGZvcm1hdF9ydW4oJHJ1bikgeworICAgICAgICBy
ZXR1cm4gYXJyYXkoCisgICAgICAgICAgICAnaWQnID0+IGludHZhbCgkcnVuWydydW5faWQnXSks
CisgICAgICAgICAgICAnbWVhbicgPT4gZmxvYXR2YWwoJHJ1blsncnVuX21lYW5fY2FjaGUnXSks
CisgICAgICAgICAgICAnaXRlcmF0aW9uQ291bnQnID0+IGludHZhbCgkcnVuWydydW5faXRlcmF0
aW9uX2NvdW50X2NhY2hlJ10pLAorICAgICAgICAgICAgJ3N1bScgPT4gZmxvYXR2YWwoJHJ1blsn
cnVuX3N1bV9jYWNoZSddKSwKKyAgICAgICAgICAgICdzcXVhcmVTdW0nID0+IGZsb2F0dmFsKCRy
dW5bJ3J1bl9zcXVhcmVfc3VtX2NhY2hlJ10pLAorICAgICAgICAgICAgJ3JldmlzaW9ucycgPT4g
c2VsZjo6cGFyc2VfcmV2aXNpb25zX2FycmF5KCRydW5bJ3JldmlzaW9ucyddKSwKKyAgICAgICAg
ICAgICdidWlsZCcgPT4gJHJ1blsnYnVpbGRfaWQnXSwKKyAgICAgICAgICAgICdidWlsZFRpbWUn
ID0+IHN0cnRvdGltZSgkcnVuWydidWlsZF90aW1lJ10pICogMTAwMCwKKyAgICAgICAgICAgICdi
dWlsZE51bWJlcicgPT4gaW50dmFsKCRydW5bJ2J1aWxkX251bWJlciddKSwKKyAgICAgICAgICAg
ICdidWlsZGVyJyA9PiAkcnVuWydidWlsZF9idWlsZGVyJ10pOworICAgIH0KKworICAgIHByaXZh
dGUgc3RhdGljIGZ1bmN0aW9uIHBhcnNlX3JldmlzaW9uc19hcnJheSgkcG9zdGdyZXNfYXJyYXkp
IHsKKyAgICAgICAgLy8gZS5nLiB7IihXZWJLaXQsMTMxNDU2LFwiMjAxMi0xMC0xNiAxNDo1Mzow
MFwiKSIsIihDaHJvbWl1bSwxNjIwMDQsKSJ9CisgICAgICAgICRvdXRlcl9hcnJheSA9IGpzb25f
ZGVjb2RlKCdbJyAuIHRyaW0oJHBvc3RncmVzX2FycmF5LCAne30nKSAuICddJyk7CisgICAgICAg
ICRyZXZpc2lvbnMgPSBhcnJheSgpOworICAgICAgICBmb3JlYWNoICgkb3V0ZXJfYXJyYXkgYXMg
JGl0ZW0pIHsKKyAgICAgICAgICAgICRuYW1lX2FuZF9yZXZpc2lvbiA9IGV4cGxvZGUoJywnLCB0
cmltKCRpdGVtLCAnKCknKSk7CisgICAgICAgICAgICBpZiAoISRuYW1lX2FuZF9yZXZpc2lvblsw
XSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICR0aW1lID0gc3RydG90
aW1lKHRyaW0oJG5hbWVfYW5kX3JldmlzaW9uWzJdLCAnIicpKSAqIDEwMDA7CisgICAgICAgICAg
ICAkcmV2aXNpb25zW3RyaW0oJG5hbWVfYW5kX3JldmlzaW9uWzBdLCAnIicpXSA9IGFycmF5KHRy
aW0oJG5hbWVfYW5kX3JldmlzaW9uWzFdLCAnIicpLCAkdGltZSk7CisgICAgICAgIH0KKyAgICAg
ICAgcmV0dXJuICRyZXZpc2lvbnM7CisgICAgfQogfQogCiBtYWluKGFycmF5X2tleV9leGlzdHMo
J1BBVEhfSU5GTycsICRfU0VSVkVSKSA/IGV4cGxvZGUoJy8nLCB0cmltKCRfU0VSVkVSWydQQVRI
X0lORk8nXSwgJy8nKSkgOiBhcnJheSgpKTsKSW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9y
Zy9wdWJsaWMvdjIvYW5hbHlzaXMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJr
aXQub3JnL3B1YmxpYy92Mi9hbmFseXNpcy5qcwkocmV2aXNpb24gMTc5OTgyKQorKysgV2Vic2l0
ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9hbmFseXNpcy5qcwkod29ya2luZyBjb3B5KQpA
QCAtNjYsNyArNjYsNyBAQCBBcHAuQnVnQWRhcHRlciA9IERTLlJFU1RBZGFwdGVyLmV4dGVuZCh7
CiB9KTsKIAogQXBwLlRlc3RHcm91cCA9IEFwcC5OYW1lTGFiZWxNb2RlbC5leHRlbmQoewotICAg
IGFuYWx5c2lzVGFzazogRFMuYmVsb25nc1RvKCdhbmFseXNpc1Rhc2snKSwKKyAgICB0YXNrOiBE
Uy5iZWxvbmdzVG8oJ2FuYWx5c2lzVGFzaycpLAogICAgIGF1dGhvcjogRFMuYXR0cignc3RyaW5n
JyksCiAgICAgY3JlYXRlZEF0OiBEUy5hdHRyKCdkYXRlJyksCiAgICAgYnVpbGRSZXF1ZXN0czog
RFMuaGFzTWFueSgnYnVpbGRSZXF1ZXN0cycpLApAQCAtODAsNiArODAsMjEgQEAgQXBwLlRlc3RH
cm91cCA9IEFwcC5OYW1lTGFiZWxNb2RlbC5leHRlbgogICAgICAgICB9KTsKICAgICAgICAgcmV0
dXJuIHJvb3RTZXRJZHM7CiAgICAgfS5wcm9wZXJ0eSgnYnVpbGRSZXF1ZXN0cycpLAorICAgIF9m
ZXRjaENoYXJ0RGF0YTogZnVuY3Rpb24gKCkKKyAgICB7CisgICAgICAgIHZhciB0YXNrID0gdGhp
cy5nZXQoJ3Rhc2snKTsKKyAgICAgICAgaWYgKCF0YXNrKQorICAgICAgICAgICAgcmV0dXJuIG51
bGw7CisgICAgICAgIHZhciBzZWxmID0gdGhpczsKKyAgICAgICAgcmV0dXJuIEFwcC5NYW5pZmVz
dC5mZXRjaFJ1bnNXaXRoUGxhdGZvcm1BbmRNZXRyaWModGhpcy5zdG9yZSwKKyAgICAgICAgICAg
IHRhc2suZ2V0KCdwbGF0Zm9ybScpLmdldCgnaWQnKSwgdGFzay5nZXQoJ21ldHJpYycpLmdldCgn
aWQnKSwgdGhpcy5nZXQoJ2lkJykpLnRoZW4oCisgICAgICAgICAgICBmdW5jdGlvbiAocmVzdWx0
KSB7IHNlbGYuc2V0KCdjaGFydERhdGEnLCByZXN1bHQuZGF0YSk7IH0sCisgICAgICAgICAgICBm
dW5jdGlvbiAoZXJyb3IpIHsKKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogU29tZWhvdyB0aGlz
IG5ldmVyIGdldHMgY2FsbGVkLgorICAgICAgICAgICAgICAgIGFsZXJ0KCdGYWlsZWQgdG8gZmV0
Y2ggdGhlIHJlc3VsdHM6JyArIGVycm9yKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsK
KyAgICAgICAgICAgIH0pOworICAgIH0ub2JzZXJ2ZXMoJ3Rhc2snLCAndGFzay5wbGF0Zm9ybScs
ICd0YXNrLm1ldHJpYycpLm9uKCdpbml0JyksCiB9KTsKIAogQXBwLlRlc3RHcm91cC5jcmVhdGUg
PSBmdW5jdGlvbiAoYW5hbHlzaXNUYXNrLCBuYW1lLCByb290U2V0cywgcmVwZXRpdGlvbkNvdW50
KQpAQCAtMTMwLDcgKzE0NSw3IEBAIEFwcC5CdWlsZFJlcXVlc3QgPSBBcHAuTW9kZWwuZXh0ZW5k
KHsKICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KCdvcmRlcicpICsgMTsKICAgICB9LnByb3BlcnR5
KCdvcmRlcicpLAogICAgIHJvb3RTZXQ6IERTLmF0dHIoJ251bWJlcicpLAotICAgIGNvbmZpZzog
ZnVuY3Rpb24gKCkKKyAgICBjb25maWdMZXR0ZXI6IGZ1bmN0aW9uICgpCiAgICAgewogICAgICAg
ICB2YXIgcm9vdFNldHMgPSB0aGlzLmdldCgndGVzdEdyb3VwJykuZ2V0KCdyb290U2V0cycpOwog
ICAgICAgICB2YXIgaW5kZXggPSByb290U2V0cy5pbmRleE9mKHRoaXMuZ2V0KCdyb290U2V0Jykp
OwpAQCAtMTQ2LDkgKzE2MSwyNyBAQCBBcHAuQnVpbGRSZXF1ZXN0ID0gQXBwLk1vZGVsLmV4dGVu
ZCh7CiAgICAgICAgICAgICByZXR1cm4gJ1NjaGVkdWxlZCc7CiAgICAgICAgIGNhc2UgJ3J1bm5p
bmcnOgogICAgICAgICAgICAgcmV0dXJuICdSdW5uaW5nJzsKKyAgICAgICAgY2FzZSAnZmFpbGVk
JzoKKyAgICAgICAgICAgIHJldHVybiAnRmFpbGVkJzsKICAgICAgICAgY2FzZSAnY29tcGxldGVk
JzoKICAgICAgICAgICAgIHJldHVybiAnRmluaXNoZWQnOwogICAgICAgICB9CiAgICAgfS5wcm9w
ZXJ0eSgnc3RhdHVzJyksCisgICAgdXJsOiBEUy5hdHRyKCdzdHJpbmcnKSwKICAgICBidWlsZDog
RFMuYXR0cignbnVtYmVyJyksCisgICAgX2ZldGNoTWVhbjogZnVuY3Rpb24gKCkKKyAgICB7Cisg
ICAgICAgIHZhciB0ZXN0R3JvdXAgPSB0aGlzLmdldCgndGVzdEdyb3VwJyk7CisgICAgICAgIGlm
ICghdGVzdEdyb3VwKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB2YXIgY2hhcnREYXRh
ID0gdGVzdEdyb3VwLmdldCgnY2hhcnREYXRhJyk7CisgICAgICAgIGlmICghY2hhcnREYXRhKQor
ICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHZhciBwb2ludCA9IGNoYXJ0RGF0YS5jdXJy
ZW50LmZpbmRQb2ludEJ5QnVpbGQodGhpcy5nZXQoJ2J1aWxkJykpOworICAgICAgICBpZiAoIXBv
aW50KQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB0aGlzLnNldCgnbWVhbicsIGNoYXJ0
RGF0YS5mb3JtYXR0ZXIocG9pbnQudmFsdWUpICsgKGNoYXJ0RGF0YS51bml0ID8gJyAnICsgY2hh
cnREYXRhLnVuaXQgOiAnJykpOworICAgICAgICB0aGlzLnNldCgnYnVpbGROdW1iZXInLCBwb2lu
dC5tZWFzdXJlbWVudC5idWlsZE51bWJlcigpKTsKKyAgICB9Lm9ic2VydmVzKCdidWlsZCcsICd0
ZXN0R3JvdXAnLCAndGVzdEdyb3VwLmNoYXJ0RGF0YScpLm9uKCdpbml0JyksCiB9KTsKSW5kZXg6
IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvYXBwLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvYXBwLmpzCShyZXZpc2lvbiAxNzk5
ODIpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YyL2FwcC5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMzUyLDggKzM1Miw4IEBAIEFwcC5QYW5lID0gRW1iZXIuT2JqZWN0LmV4dGVu
ZCh7CiAgICAgICAgICAgICBBcHAuTWFuaWZlc3QuZmV0Y2hSdW5zV2l0aFBsYXRmb3JtQW5kTWV0
cmljKHRoaXMuZ2V0KCdzdG9yZScpLCBwbGF0Zm9ybUlkLCBtZXRyaWNJZCkudGhlbihmdW5jdGlv
biAocmVzdWx0KSB7CiAgICAgICAgICAgICAgICAgc2VsZi5zZXQoJ3BsYXRmb3JtJywgcmVzdWx0
LnBsYXRmb3JtKTsKICAgICAgICAgICAgICAgICBzZWxmLnNldCgnbWV0cmljJywgcmVzdWx0Lm1l
dHJpYyk7Ci0gICAgICAgICAgICAgICAgc2VsZi5zZXQoJ2ZldGNoZWREYXRhJywgcmVzdWx0KTsK
LSAgICAgICAgICAgICAgICBzZWxmLl9jb21wdXRlQ2hhcnREYXRhKCk7CisgICAgICAgICAgICAg
ICAgc2VsZi5zZXQoJ2NoYXJ0RGF0YScsIHJlc3VsdC5kYXRhKTsKKyAgICAgICAgICAgICAgICBz
ZWxmLl91cGRhdGVNb3ZpbmdBdmVyYWdlQW5kRW52ZWxvcGUoKTsKICAgICAgICAgICAgIH0sIGZ1
bmN0aW9uIChyZXN1bHQpIHsKICAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdCB8fCB0eXBlb2Yo
cmVzdWx0KSA9PT0gInN0cmluZyIpCiAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2V0KCdmYWls
dXJlJywgJ0ZhaWxlZCB0byBmZXRjaCB0aGUgSlNPTiB3aXRoIGFuIGVycm9yOiAnICsgcmVzdWx0
KTsKQEAgLTQ3MSwxMyArNDcxLDEyIEBAIEFwcC5QYW5lID0gRW1iZXIuT2JqZWN0LmV4dGVuZCh7
CiAKICAgICAgICAgcmV0dXJuIGNob3NlblN0cmF0ZWd5OwogICAgIH0sCi0gICAgX2NvbXB1dGVD
aGFydERhdGE6IGZ1bmN0aW9uICgpCisgICAgX3VwZGF0ZU1vdmluZ0F2ZXJhZ2VBbmRFbnZlbG9w
ZTogZnVuY3Rpb24gKCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy5nZXQoJ2ZldGNoZWREYXRh
JykpCisgICAgICAgIHZhciBjaGFydERhdGEgPSB0aGlzLmdldCgnY2hhcnREYXRhJyk7CisgICAg
ICAgIGlmICghY2hhcnREYXRhKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHZhciBj
aGFydERhdGEgPSBBcHAuY3JlYXRlQ2hhcnREYXRhKHRoaXMuZ2V0KCdmZXRjaGVkRGF0YScpKTsK
LQogICAgICAgICB2YXIgbW92aW5nQXZlcmFnZVN0cmF0ZWd5ID0gdGhpcy5nZXQoJ2Nob3Nlbk1v
dmluZ0F2ZXJhZ2VTdHJhdGVneScpOwogICAgICAgICB0aGlzLl91cGRhdGVTdHJhdGVneUNvbmZp
Z0lmTmVlZGVkKG1vdmluZ0F2ZXJhZ2VTdHJhdGVneSwgJ21vdmluZ0F2ZXJhZ2VDb25maWcnKTsK
IApAQCAtNDg1LDggKzQ4NCw2IEBAIEFwcC5QYW5lID0gRW1iZXIuT2JqZWN0LmV4dGVuZCh7CiAg
ICAgICAgIHRoaXMuX3VwZGF0ZVN0cmF0ZWd5Q29uZmlnSWZOZWVkZWQoZW52ZWxvcGluZ1N0cmF0
ZWd5LCAnZW52ZWxvcGluZ0NvbmZpZycpOwogCiAgICAgICAgIGNoYXJ0RGF0YS5tb3ZpbmdBdmVy
YWdlID0gdGhpcy5fY29tcHV0ZU1vdmluZ0F2ZXJhZ2VBbmRPdXRsaWVycyhjaGFydERhdGEsIG1v
dmluZ0F2ZXJhZ2VTdHJhdGVneSwgZW52ZWxvcGluZ1N0cmF0ZWd5KTsKLQotICAgICAgICB0aGlz
LnNldCgnY2hhcnREYXRhJywgY2hhcnREYXRhKTsKICAgICB9Lm9ic2VydmVzKCdjaG9zZW5Nb3Zp
bmdBdmVyYWdlU3RyYXRlZ3knLCAnY2hvc2VuTW92aW5nQXZlcmFnZVN0cmF0ZWd5LnBhcmFtZXRl
ckxpc3QuQGVhY2gudmFsdWUnLAogICAgICAgICAnY2hvc2VuRW52ZWxvcGluZ1N0cmF0ZWd5Jywg
J2Nob3NlbkVudmVsb3BpbmdTdHJhdGVneS5wYXJhbWV0ZXJMaXN0LkBlYWNoLnZhbHVlJyksCiAg
ICAgX2NvbXB1dGVNb3ZpbmdBdmVyYWdlQW5kT3V0bGllcnM6IGZ1bmN0aW9uIChjaGFydERhdGEs
IG1vdmluZ0F2ZXJhZ2VTdHJhdGVneSwgZW52ZWxvcGluZ1N0cmF0ZWd5KQpAQCAtNTQzLDIwICs1
NDAsNiBAQCBBcHAuUGFuZSA9IEVtYmVyLk9iamVjdC5leHRlbmQoewogICAgIH0sCiB9KTsKIAot
QXBwLmNyZWF0ZUNoYXJ0RGF0YSA9IGZ1bmN0aW9uIChkYXRhKQotewotICAgIHZhciBydW5zID0g
ZGF0YS5ydW5zOwotICAgIHJldHVybiB7Ci0gICAgICAgIGN1cnJlbnQ6IHJ1bnMuY3VycmVudC50
aW1lU2VyaWVzQnlDb21taXRUaW1lKCksCi0gICAgICAgIGJhc2VsaW5lOiBydW5zLmJhc2VsaW5l
ID8gcnVucy5iYXNlbGluZS50aW1lU2VyaWVzQnlDb21taXRUaW1lKCkgOiBudWxsLAotICAgICAg
ICB0YXJnZXQ6IHJ1bnMudGFyZ2V0ID8gcnVucy50YXJnZXQudGltZVNlcmllc0J5Q29tbWl0VGlt
ZSgpIDogbnVsbCwKLSAgICAgICAgdW5pdDogZGF0YS51bml0LAotICAgICAgICBmb3JtYXR0ZXI6
IGRhdGEudXNlU0kgPyBkMy5mb3JtYXQoJy40cycpIDogZDMuZm9ybWF0KCcuNGcnKSwKLSAgICAg
ICAgZGVsdGFGb3JtYXR0ZXI6IGRhdGEudXNlU0kgPyBkMy5mb3JtYXQoJysuMnMnKSA6IGQzLmZv
cm1hdCgnKy4yZycpLAotICAgICAgICBzbWFsbGVySXNCZXR0ZXI6IGRhdGEuc21hbGxlcklzQmV0
dGVyLAotICAgIH07Ci19Ci0KIEFwcC5lbmNvZGVQcmV0dGlmaWVkSlNPTiA9IGZ1bmN0aW9uIChw
bGFpbikKIHsKICAgICBmdW5jdGlvbiBudW1iZXJJZlBvc3NpYmxlKHN0cmluZykgewpAQCAtMTAy
NywxMSArMTAxMCwxMCBAQCBBcHAuQW5hbHlzaXNUYXNrQ29udHJvbGxlciA9IEVtYmVyLkNvbnRy
CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfSkpOwogICAgIH0sCi0gICAgX2ZldGNoZWRSdW5z
OiBmdW5jdGlvbiAoZGF0YSkKKyAgICBfZmV0Y2hlZFJ1bnM6IGZ1bmN0aW9uIChyZXN1bHQpCiAg
ICAgewotICAgICAgICB2YXIgcnVucyA9IGRhdGEucnVuczsKLQotICAgICAgICB2YXIgY3VycmVu
dFRpbWVTZXJpZXMgPSBydW5zLmN1cnJlbnQudGltZVNlcmllc0J5Q29tbWl0VGltZSgpOworICAg
ICAgICB2YXIgY2hhcnREYXRhID0gcmVzdWx0LmRhdGE7CisgICAgICAgIHZhciBjdXJyZW50VGlt
ZVNlcmllcyA9IGNoYXJ0RGF0YS5jdXJyZW50OwogICAgICAgICBpZiAoIWN1cnJlbnRUaW1lU2Vy
aWVzKQogICAgICAgICAgICAgcmV0dXJuOyAvLyBGSVhNRTogUmVwb3J0IGFuIGVycm9yLgogCkBA
IC0xMDQ0LDEzICsxMDI2LDEyIEBAIEFwcC5BbmFseXNpc1Rhc2tDb250cm9sbGVyID0gRW1iZXIu
Q29udHIKICAgICAgICAgaGlnaGxpZ2h0ZWRJdGVtc1tzdGFydC5tZWFzdXJlbWVudC5pZCgpXSA9
IHRydWU7CiAgICAgICAgIGhpZ2hsaWdodGVkSXRlbXNbZW5kLm1lYXN1cmVtZW50LmlkKCldID0g
dHJ1ZTsKIAotICAgICAgICB2YXIgY2hhcnREYXRhID0gQXBwLmNyZWF0ZUNoYXJ0RGF0YShkYXRh
KTsKICAgICAgICAgdmFyIGZvcm1hdGVkUG9pbnRzID0gY3VycmVudFRpbWVTZXJpZXMuc2VyaWVz
QmV0d2VlblBvaW50cyhzdGFydCwgZW5kKS5tYXAoZnVuY3Rpb24gKHBvaW50LCBpbmRleCkgewog
ICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgICBpZDogcG9pbnQubWVhc3VyZW1l
bnQuaWQoKSwKICAgICAgICAgICAgICAgICBtZWFzdXJlbWVudDogcG9pbnQubWVhc3VyZW1lbnQs
CiAgICAgICAgICAgICAgICAgbGFiZWw6ICdQb2ludCAnICsgKGluZGV4ICsgMSksCi0gICAgICAg
ICAgICAgICAgdmFsdWU6IGNoYXJ0RGF0YS5mb3JtYXR0ZXIocG9pbnQudmFsdWUpICsgKGRhdGEu
dW5pdCA/ICcgJyArIGRhdGEudW5pdCA6ICcnKSwKKyAgICAgICAgICAgICAgICB2YWx1ZTogY2hh
cnREYXRhLmZvcm1hdHRlcihwb2ludC52YWx1ZSkgKyAoY2hhcnREYXRhLnVuaXQgPyAnICcgKyBj
aGFydERhdGEudW5pdCA6ICcnKSwKICAgICAgICAgICAgIH07CiAgICAgICAgIH0pOwogCkluZGV4
OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YyL2RhdGEuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9kYXRhLmpzCShyZXZpc2lvbiAx
Nzk5ODIpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YyL2RhdGEuanMJKHdv
cmtpbmcgY29weSkKQEAgLTI0Miw2ICsyNDIsMTEgQEAgTWVhc3VyZW1lbnQucHJvdG90eXBlLmxh
dGVzdENvbW1pdFRpbWUgPQogICAgIHJldHVybiB0aGlzLl9sYXRlc3RDb21taXRUaW1lIHx8IHRo
aXMuX2J1aWxkVGltZTsKIH0KIAorTWVhc3VyZW1lbnQucHJvdG90eXBlLmJ1aWxkSWQgPSBmdW5j
dGlvbigpCit7CisgICAgcmV0dXJuIHRoaXMuX3Jhd1snYnVpbGQnXTsKK30KKwogTWVhc3VyZW1l
bnQucHJvdG90eXBlLmJ1aWxkTnVtYmVyID0gZnVuY3Rpb24gKCkKIHsKICAgICByZXR1cm4gdGhp
cy5fcmF3WydidWlsZE51bWJlciddOwpAQCAtMzE1LDEwICszMjAsMTMgQEAgUnVuc0RhdGEucHJv
dG90eXBlLnRpbWVTZXJpZXNCeUJ1aWxkVGltZQogCiAvLyBGSVhNRTogV2UgbmVlZCB0byBkZXZp
c2UgYSB3YXkgdG8gZmV0Y2ggcnVucyBpbiBtdWx0aXBsZSBjaHVua3Mgc28gdGhhdAogLy8gd2Ug
ZG9uJ3QgaGF2ZSB0byBmZXRjaCB0aGUgZW50aXJlIHRpbWUgc2VyaWVzIHRvIGp1c3Qgc2hvdyB0
aGUgbGFzdCAzIGRheXMuCi1SdW5zRGF0YS5mZXRjaFJ1bnMgPSBmdW5jdGlvbiAocGxhdGZvcm1J
ZCwgbWV0cmljSWQpCitSdW5zRGF0YS5mZXRjaFJ1bnMgPSBmdW5jdGlvbiAocGxhdGZvcm1JZCwg
bWV0cmljSWQsIHRlc3RHcm91cElkKQogewogICAgIHZhciBmaWxlbmFtZSA9IHBsYXRmb3JtSWQg
KyAnLScgKyBtZXRyaWNJZCArICcuanNvbic7CiAKKyAgICBpZiAodGVzdEdyb3VwSWQpCisgICAg
ICAgIGZpbGVuYW1lICs9ICc/dGVzdEdyb3VwPScgKyB0ZXN0R3JvdXBJZDsKKwogICAgIHJldHVy
biBuZXcgRW1iZXIuUlNWUC5Qcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsKICAg
ICAgICAgJC5nZXRKU09OKCcuLi9hcGkvcnVucy8nICsgZmlsZW5hbWUsIGZ1bmN0aW9uIChkYXRh
KSB7CiAgICAgICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT0gJ09LJykgewpAQCAtMzU1LDYgKzM2
MywxMSBAQCBmdW5jdGlvbiBUaW1lU2VyaWVzKHNlcmllcykKICAgICB0aGlzLl9tYXggPSBtYXg7
CiB9CiAKK1RpbWVTZXJpZXMucHJvdG90eXBlLmZpbmRQb2ludEJ5QnVpbGQgPSBmdW5jdGlvbiAo
YnVpbGRJZCkKK3sKKyAgICByZXR1cm4gdGhpcy5fc2VyaWVzLmZpbmQoZnVuY3Rpb24gKHBvaW50
KSB7IHJldHVybiBwb2ludC5tZWFzdXJlbWVudC5idWlsZElkKCkgPT0gYnVpbGRJZDsgfSkKK30K
KwogVGltZVNlcmllcy5wcm90b3R5cGUuZmluZFBvaW50QnlNZWFzdXJlbWVudElkID0gZnVuY3Rp
b24gKG1lYXN1cmVtZW50SWQpCiB7CiAgICAgcmV0dXJuIHRoaXMuX3Nlcmllcy5maW5kKGZ1bmN0
aW9uIChwb2ludCkgeyByZXR1cm4gcG9pbnQubWVhc3VyZW1lbnQuaWQoKSA9PSBtZWFzdXJlbWVu
dElkOyB9KTsKSW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvaW5kZXgu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YyL2lu
ZGV4Lmh0bWwJKHJldmlzaW9uIDE3OTk4MikKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9w
dWJsaWMvdjIvaW5kZXguaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNTgwLDkgKzU4MCw5IEBACiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAge3sjZWFjaCBidWlsZFJlcXVlc3RzfX0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPHRkPnt7b3JkZXJMYWJlbH19PC90ZD4KLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDx0ZD57e2NvbmZpZ319PC90ZD4KLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDx0ZD57eyNpZiB1cmx9fXt7I2xpbmstdG8gdXJsfX17e3N0YXR1c0xh
YmVsfX17ey9saW5rLXRvfX17e2Vsc2V9fXt7c3RhdHVzTGFiZWx9fXt7L2lmfX08L3RkPgotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7YnVpbGR9fTwvdGQ+CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tjb25maWdMZXR0ZXJ9fTwvdGQ+
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PGEge3tiaW5kLWF0dHIg
aHJlZj11cmx9fT57e3N0YXR1c0xhYmVsfX08L2E+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDx0ZD57e2J1aWxkTnVtYmVyfX08L3RkPgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPHRkPnt7bWVhbn19PC90ZD4KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ey9lYWNo
fX0KSW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvbWFuaWZlc3QuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9tYW5pZmVz
dC5qcwkocmV2aXNpb24gMTc5OTgyKQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1Ymxp
Yy92Mi9tYW5pZmVzdC5qcwkod29ya2luZyBjb3B5KQpAQCAtMjc5LDEwICsyNzksMTAgQEAgQXBw
Lk1hbmlmZXN0ID0gRW1iZXIuQ29udHJvbGxlci5leHRlbmQoewogICAgICAgICBkYXNoYm9hcmRz
LmZvckVhY2goZnVuY3Rpb24gKGRhc2hib2FyZCkgeyBzZWxmLl9kYXNoYm9hcmRCeU5hbWVbZGFz
aGJvYXJkLmdldCgnbmFtZScpXSA9IGRhc2hib2FyZDsgfSk7CiAgICAgICAgIHRoaXMuX2RlZmF1
bHREYXNoYm9hcmROYW1lID0gZGFzaGJvYXJkcy5sZW5ndGggPyBkYXNoYm9hcmRzWzBdLmdldCgn
bmFtZScpIDogbnVsbDsKICAgICB9LAotICAgIGZldGNoUnVuc1dpdGhQbGF0Zm9ybUFuZE1ldHJp
YzogZnVuY3Rpb24gKHN0b3JlLCBwbGF0Zm9ybUlkLCBtZXRyaWNJZCkKKyAgICBmZXRjaFJ1bnNX
aXRoUGxhdGZvcm1BbmRNZXRyaWM6IGZ1bmN0aW9uIChzdG9yZSwgcGxhdGZvcm1JZCwgbWV0cmlj
SWQsIHRlc3RHcm91cElkKQogICAgIHsKICAgICAgICAgcmV0dXJuIEVtYmVyLlJTVlAuYWxsKFsK
LSAgICAgICAgICAgIFJ1bnNEYXRhLmZldGNoUnVucyhwbGF0Zm9ybUlkLCBtZXRyaWNJZCksCisg
ICAgICAgICAgICBSdW5zRGF0YS5mZXRjaFJ1bnMocGxhdGZvcm1JZCwgbWV0cmljSWQsIHRlc3RH
cm91cElkKSwKICAgICAgICAgICAgIHRoaXMuZmV0Y2goc3RvcmUpLAogICAgICAgICBdKS50aGVu
KGZ1bmN0aW9uICh2YWx1ZXMpIHsKICAgICAgICAgICAgIHZhciBydW5zID0gdmFsdWVzWzBdOwpA
QCAtMzAxLDcgKzMwMSwyMCBAQCBBcHAuTWFuaWZlc3QgPSBFbWJlci5Db250cm9sbGVyLmV4dGVu
ZCh7CiAgICAgICAgICAgICB9W3N1ZmZpeF07CiAgICAgICAgICAgICB2YXIgc21hbGxlcklzQmV0
dGVyID0gdW5pdCAhPSAnZnBzJyAmJiB1bml0ICE9ICcvcyc7IC8vIEFzc3VtZSBzbWFsbGVyIGlz
IGJldHRlciBmb3IgdW5pdC1sZXNzIG1ldHJpY3MuCiAKLSAgICAgICAgICAgIHJldHVybiB7cGxh
dGZvcm06IHBsYXRmb3JtLCBtZXRyaWM6IG1ldHJpYywgcnVuczogcnVucywgdW5pdDogdW5pdCwg
dXNlU0k6IHVuaXQgPT0gJ2J5dGVzJywgc21hbGxlcklzQmV0dGVyOiBzbWFsbGVySXNCZXR0ZXJ9
OworICAgICAgICAgICAgdmFyIHVzZVNJID0gdW5pdCA9PSAnYnl0ZXMnOworICAgICAgICAgICAg
cmV0dXJuIHsKKyAgICAgICAgICAgICAgICBwbGF0Zm9ybTogcGxhdGZvcm0sCisgICAgICAgICAg
ICAgICAgbWV0cmljOiBtZXRyaWMsCisgICAgICAgICAgICAgICAgZGF0YTogeworICAgICAgICAg
ICAgICAgICAgICBjdXJyZW50OiBydW5zLmN1cnJlbnQudGltZVNlcmllc0J5Q29tbWl0VGltZSgp
LAorICAgICAgICAgICAgICAgICAgICBiYXNlbGluZTogcnVucy5iYXNlbGluZSA/IHJ1bnMuYmFz
ZWxpbmUudGltZVNlcmllc0J5Q29tbWl0VGltZSgpIDogbnVsbCwKKyAgICAgICAgICAgICAgICAg
ICAgdGFyZ2V0OiBydW5zLnRhcmdldCA/IHJ1bnMudGFyZ2V0LnRpbWVTZXJpZXNCeUNvbW1pdFRp
bWUoKSA6IG51bGwsCisgICAgICAgICAgICAgICAgICAgIHVuaXQ6IHVuaXQsCisgICAgICAgICAg
ICAgICAgICAgIGZvcm1hdHRlcjogdXNlU0kgPyBkMy5mb3JtYXQoJy40cycpIDogZDMuZm9ybWF0
KCcuNGcnKSwKKyAgICAgICAgICAgICAgICAgICAgZGVsdGFGb3JtYXR0ZXI6IHVzZVNJID8gZDMu
Zm9ybWF0KCcrLjJzJykgOiBkMy5mb3JtYXQoJysuMmcnKSwKKyAgICAgICAgICAgICAgICAgICAg
c21hbGxlcklzQmV0dGVyOiBzbWFsbGVySXNCZXR0ZXIsCisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfTsKICAgICAgICAgfSk7CiAgICAgfSwKIH0pLmNyZWF0ZSgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>