<?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>154212</bug_id>
          
          <creation_ts>2016-02-13 00:57:53 -0800</creation_ts>
          <short_desc>v3 UI should show status and associated bugs on analysis task pages</short_desc>
          <delta_ts>2016-02-16 13:50:17 -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>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>commit-queue</cc>
    
    <cc>jond</cc>
    
    <cc>rniwa</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1164507</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-02-13 00:57:53 -0800</bug_when>
    <thetext>We should be able to see and modify the status and the list of associated of bugs on analysis task pages.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164511</commentid>
    <comment_count>1</comment_count>
      <attachid>271277</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-02-13 01:16:08 -0800</bug_when>
    <thetext>Created attachment 271277
Adds the capability</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164514</commentid>
    <comment_count>2</comment_count>
      <attachid>271278</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-02-13 01:28:53 -0800</bug_when>
    <thetext>Created attachment 271278
Tweaked CSS a little</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164554</commentid>
    <comment_count>3</comment_count>
      <attachid>271278</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-13 10:53:45 -0800</bug_when>
    <thetext>Comment on attachment 271278
Tweaked CSS a little

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164569</commentid>
    <comment_count>4</comment_count>
      <attachid>271278</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-13 13:30:10 -0800</bug_when>
    <thetext>Comment on attachment 271278
Tweaked CSS a little

Clearing flags on attachment: 271278

Committed r196553: &lt;http://trac.webkit.org/changeset/196553&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164570</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-13 13:30:13 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271277</attachid>
            <date>2016-02-13 01:16:08 -0800</date>
            <delta_ts>2016-02-13 01:28:51 -0800</delta_ts>
            <desc>Adds the capability</desc>
            <filename>bug-154212-20160213011547.patch</filename>
            <type>text/plain</type>
            <size>29395</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkocmV2aXNpb24gMTk2NTQ4KQorKysg
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDY1IEBACisyMDE2LTAyLTEzICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgor
CisgICAgICAgIHYzIFVJIHNob3VsZCBzaG93IHN0YXR1cyBhbmQgYXNzb2NpYXRlZCBidWdzIG9u
IGFuYWx5c2lzIHRhc2sgcGFnZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1NDIxMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZGVkIHRoZSBjYXBhYmlsaXR5IHRvIHNlZSBhbmQgbW9kaWZ5IHRoZSBz
dGF0dXMgYW5kIHRoZSBsaXN0IG9mIGFzc29jaWF0ZWQgb2YgYnVncyBvbiBhbmFseXNpcyB0YXNr
IHBhZ2VzLgorCisgICAgICAgIEFsc28gYWRkZWQgdGhlIGxpc3Qgb2YgcmVsYXRlZCB0YXNrcywg
d2hpY2ggYXJlIGFuYWx5c2lzIHRhc2tzIGFzc29jaWF0ZWQgd2l0aCB0aGUgc2FtZSBidWcgb3Ig
aGF2ZQorICAgICAgICBvdmVybGFwcGluZyB0aW1lIHJhbmdlcyB3aXRoIHRoZSBzYW1lIHRlc3Qg
bWV0cmljIGJ1dCBvbiBhIHBvdGVudGlhbGx5IGRpZmZlcmVudCBwbGF0Zm9ybS4KKworICAgICAg
ICBJbiBhZGRpdGlvbiwgY2F0ZWdvcml6ZSBhbmFseXNpcyB0YXNrcyB3aXRoIHRoZSBzdGF0dXMg
b2YgIm5vIGNoYW5nZSIgb3IgImluY29uY2x1c2l2ZSIgYXMgImNsb3NlZCIgYXMgbm8KKyAgICAg
ICAgZnVydGhlciBhY3Rpb24gY2FuIGJlIHRha2VuICh1c2VycyBjYW4gYnJpbmcgdGhlbSBiYWNr
IHRvIG5vbi1jbG9zZWQgc3RhdGUgd2l0aG91dCBhbnkgcmVzdHJpY3Rpb25zKS4KKworICAgICAg
ICAqIHB1YmxpYy9hcGkvYW5hbHlzaXMtdGFza3MucGhwOgorICAgICAgICAoZm9ybWF0X3Rhc2sp
OiBDYXRlZ29yaXplICd1bmNoYW5nZWQnIGFuZCAnaW5jb25jbHVzaXZlJyBhbmFseXNpcyB0YXNr
cyBhcyBjbG9zZWQuCisKKyAgICAgICAgKiBwdWJsaWMvcHJpdmlsZWdlZC1hcGkvYXNzb2NpYXRl
LWJ1Zy5waHA6CisgICAgICAgIChtYWluKTogQWRkZWQgc2hvdWxkRGVsZXRlIGFzIGEgbmV3IG1l
Y2hhbmlzbSB0byBkaXNhc3NvY2lhdGUgYSBidWcgc2luY2UgdjMgVUkgc2hhcmVzIGEgc2luZ2xl
IEJ1ZyBvYmplY3QKKyAgICAgICAgYmV0d2VlbiBtdWx0aXBsZSBhbmFseXNpcyB0YXNrcyAoYXMg
aXQgc2hvdWxkIGhhdmUgYmVlbiBpbiB0aGUgZmlyc3QgcGxhY2UpLgorCisgICAgICAgICogcHVi
bGljL3YzL2NvbXBvbmVudHMvY2hhcnQtcGFuZS1iYXNlLmpzOgorICAgICAgICAoQ2hhcnRQYW5l
QmFzZSk6CisgICAgICAgIChDaGFydFBhbmVCYXNlLnByb3RvdHlwZS5fZmV0Y2hBbmFseXNpc1Rh
c2tzKTogU2luY2UgZWFjaCBhbmFseXNpcyB0YXNrJ3MgY2hhbmdlIHR5cGUgKHN0YXR1cy9yZXN1
bHQpIGNvdWxkCisgICAgICAgIGNoYW5nZSwgd2UgbmVlZCB0byBjcmVhdGUgYW5ub3RhdGlvbiBv
YmplY3RzIGR1cmluZyBlYWNoIHJlbmRlcigpIGNhbGwuCisgICAgICAgIChDaGFydFBhbmVCYXNl
LnByb3RvdHlwZS5yZW5kZXIpOgorICAgICAgICAoQ2hhcnRQYW5lQmFzZS5wcm90b3R5cGUuX3Jl
bmRlckFubm90YXRpb25zKTogRXh0cmFjdGVkIGZyb20gQ2hhcnRQYW5lQmFzZS5wcm90b3R5cGUu
X2ZldGNoQW5hbHlzaXNUYXNrcyB0bworICAgICAgICBkbyB0aGF0LiBJIHdhcyBhZnJhaWQgb2Yg
dGhlIHBlcmYgaW1wYWN0IG9mIHRoaXMgYnV0IGl0IGRvZXNuJ3Qgc2VlbSB0byBiZSBhbiBpc3N1
ZSBpbiBteSB0ZXN0aW5nLgorICAgICAgICAoQ2hhcnRQYW5lQmFzZS5jc3NUZW1wbGF0ZSk6IFJl
bW92ZWQgc3VwZXJmbHVvdXMgbWFyZ2lucyAobW92ZWQgdG8gQ2hhcnRQYW5lLmNzc1RlbXBsYXRl
KSBhcm91bmQgdGhlIGNoYXJ0cworICAgICAgICBzaW5jZSB0aGV5IGFyZSBvbmx5IHVzZWZ1bCBp
biB0aGUgY2hhcnRzIHBhZ2UuCisKKyAgICAgICAgKiBwdWJsaWMvdjMvbW9kZWxzL2FuYWx5c2lz
LXRhc2suanM6CisgICAgICAgIChBbmFseXNpc1Rhc2spOgorICAgICAgICAoQW5hbHlzaXNUYXNr
LnByb3RvdHlwZS51cGRhdGVTaW5nbGV0b24pOiBBZGRlZCBhIGNvbW1lbnQgYXMgdG8gd2h5IG9i
amVjdC5yZXN1bHQgY2Fubm90IGJlIHJlbmFtZWQgdG8KKyAgICAgICAgb2JqZWN0LmNoYW5nZVR5
cGUgaW4gdGhlIEpTT04gQVBJLgorICAgICAgICAoQW5hbHlzaXNUYXNrLnByb3RvdHlwZS51cGRh
dGVOYW1lKTogQWRkZWQuCisgICAgICAgIChBbmFseXNpc1Rhc2sucHJvdG90eXBlLnVwZGF0ZUNo
YW5nZVR5cGUpOiBBZGRlZC4KKyAgICAgICAgKEFuYWx5c2lzVGFzay5wcm90b3R5cGUuX3VwZGF0
ZVJlbW90ZVN0YXRlKTogQWRkZWQuCisgICAgICAgIChBbmFseXNpc1Rhc2sucHJvdG90eXBlLmFz
c29jaWF0ZUJ1Zyk6IEFkZGVkLgorICAgICAgICAoQW5hbHlzaXNUYXNrLnByb3RvdHlwZS5kaXNh
c3NvY2lhdGVCdWcpOiBBZGRlZC4KKyAgICAgICAgKEFuYWx5c2lzVGFzay5mZXRjaFJlbGF0ZWRU
YXNrcyk6IEFkZGVkLiBTZWUgYWJvdmUgZm9yIHRoZSBjcml0ZXJpYSBvZiByZWxhdGVkLW5lc3Mu
CisKKyAgICAgICAgKiBwdWJsaWMvdjMvcGFnZXMvYW5hbHlzaXMtdGFzay1wYWdlLmpzOgorICAg
ICAgICAoQW5hbHlzaXNUYXNrUGFnZSk6CisgICAgICAgIChBbmFseXNpc1Rhc2tQYWdlLnByb3Rv
dHlwZS51cGRhdGVGcm9tU2VyaWFsaXplZFN0YXRlKToKKyAgICAgICAgKEFuYWx5c2lzVGFza1Bh
Z2UucHJvdG90eXBlLl9mZXRjaFJlbGF0ZWRJbmZvRm9yVGFza0lkKTogRXh0cmFjdGVkIGZyb20g
dXBkYXRlRnJvbVNlcmlhbGl6ZWRTdGF0ZS4KKyAgICAgICAgKEFuYWx5c2lzVGFza1BhZ2UucHJv
dG90eXBlLl9kaWRGZXRjaFJlbGF0ZWRBbmFseXNpc1Rhc2tzKTogQWRkZWQuCisgICAgICAgIChB
bmFseXNpc1Rhc2tQYWdlLnByb3RvdHlwZS5yZW5kZXIpOiBSZW5kZXIgdGhlIGxpc3Qgb2YgYXNz
b2NpYXRlZCBidWdzLCB0aGUgbGlzdCBvZiBidWcgdHJhY2tlcnMgKHNvIHRoYXQKKyAgICAgICAg
dXNlcnMgY2FuIHVzZSBpdCB0byBhc3NvY2lhdGUgd2l0aCBhIG5ldyBidWcpLCBhbmQgdGhlIGxp
c3Qgb2YgcmVsYXRlZCBhbmFseXNpcyB0YXNrcy4KKyAgICAgICAgKEFuYWx5c2lzVGFza1BhZ2Uu
cHJvdG90eXBlLl9yZW5kZXJUZXN0R3JvdXBMaXN0KTogRXh0cmFjdGVkIGZyb20gcmVuZGVyIHNp
bmNlIGl0IHdhcyBnZXR0aW5nIHRvbyBsb25nLgorICAgICAgICAoQW5hbHlzaXNUYXNrUGFnZS5w
cm90b3R5cGUuX3JlbmRlclRlc3RHcm91cERldGFpbHMpOiBEaXR0by4KKyAgICAgICAgKEFuYWx5
c2lzVGFza1BhZ2UucHJvdG90eXBlLl91cGRhdGVDaGFuZ2VUeXBlKTogQWRkZWQuCisgICAgICAg
IChBbmFseXNpc1Rhc2tQYWdlLnByb3RvdHlwZS5fYXNzb2NpYXRlQnVnKTogQWRkZWQuCisgICAg
ICAgIChBbmFseXNpc1Rhc2tQYWdlLnByb3RvdHlwZS5fZGlzYXNzb2NpYXRlQnVnKTogQWRkZWQu
CisgICAgICAgIChBbmFseXNpc1Rhc2tQYWdlLmh0bWxUZW1wbGF0ZSk6IEFkZGVkIHZhcmlvdXMg
ZWxlbWVudHMgdG8gc2hvdyBhbmQgbW9kaWZ5IHRoZSBzdGF0dXMsIGFzc29jaWF0ZSBidWdzLAor
ICAgICAgICBhbmQgYSBsaXN0IG9mIHJlbGF0ZWQgYW5hbHlzaXMgdGFza3MuCisgICAgICAgIChB
bmFseXNpc1Rhc2tQYWdlLmNzc1RlbXBsYXRlKTogQWRkZWQgdmFyaW91cyBzdHlsZXMgZm9yIHRo
b3NlIGZvcm0gY29udHJvbHMuCisKKyAgICAgICAgKiBwdWJsaWMvdjMvcGFnZXMvY2hhcnQtcGFu
ZS5qczoKKyAgICAgICAgKENoYXJ0UGFuZS5jc3NUZW1wbGF0ZSk6IE1vdmVkIHRoZSBtYXJnaW5z
IGZyb20gQ2hhcnRQYW5lQmFzZS5jc3NUZW1wbGF0ZS4KKwogMjAxNi0wMi0xMiAgUnlvc3VrZSBO
aXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBQZXJmIGRhc2hib2FyZCBzaG91bGQg
YWxsb3cgcmVuYW1pbmcgYW5hbHlzaXMgdGFza3MgYW5kIHRlc3QgZ3JvdXBzCkluZGV4OiBXZWJz
aXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL2FwaS9hbmFseXNpcy10YXNrcy5waHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9hcGkvYW5hbHlzaXMtdGFz
a3MucGhwCShyZXZpc2lvbiAxOTY1NDgpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVi
bGljL2FwaS9hbmFseXNpcy10YXNrcy5waHAJKHdvcmtpbmcgY29weSkKQEAgLTg1LDYgKzg1LDEz
IEBAIGZ1bmN0aW9uIGZldGNoX2FuZF9wdXNoX2J1Z3NfdG9fdGFza3MoJGQKIH0KIAogZnVuY3Rp
b24gZm9ybWF0X3Rhc2soJHRhc2tfcm93KSB7CisgICAgJGNhdGVnb3J5ID0gJ3VuY29uZmlybWVk
JzsKKyAgICAkcmVzdWx0ID0gJHRhc2tfcm93Wyd0YXNrX3Jlc3VsdCddOworICAgIGlmICgkcmVz
dWx0ID09ICd1bmNoYW5nZWQnIHx8ICRyZXN1bHQgPT0gJ2luY29uY2x1c2l2ZScpCisgICAgICAg
ICRjYXRlZ29yeSA9ICdjbG9zZWQnOworICAgIGVsc2UgaWYgKCRyZXN1bHQpCisgICAgICAgICRj
YXRlZ29yeSA9ICdiaXNlY3RpbmcnOworCiAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAnaWQn
ID0+ICR0YXNrX3Jvd1sndGFza19pZCddLAogICAgICAgICAnbmFtZScgPT4gJHRhc2tfcm93Wyd0
YXNrX25hbWUnXSwKQEAgLTk4LDggKzEwNSw4IEBAIGZ1bmN0aW9uIGZvcm1hdF90YXNrKCR0YXNr
X3JvdykgewogICAgICAgICAnc3RhcnRSdW5UaW1lJyA9PiBEYXRhYmFzZTo6dG9fanNfdGltZSgk
dGFza19yb3dbJ3Rhc2tfc3RhcnRfcnVuX3RpbWUnXSksCiAgICAgICAgICdlbmRSdW4nID0+ICR0
YXNrX3Jvd1sndGFza19lbmRfcnVuJ10sCiAgICAgICAgICdlbmRSdW5UaW1lJyA9PiBEYXRhYmFz
ZTo6dG9fanNfdGltZSgkdGFza19yb3dbJ3Rhc2tfZW5kX3J1bl90aW1lJ10pLAotICAgICAgICAn
Y2F0ZWdvcnknID0+ICR0YXNrX3Jvd1sndGFza19yZXN1bHQnXSA/ICdiaXNlY3RpbmcnIDogJ3Vu
Y29uZmlybWVkJywKLSAgICAgICAgJ3Jlc3VsdCcgPT4gJHRhc2tfcm93Wyd0YXNrX3Jlc3VsdCdd
LAorICAgICAgICAnY2F0ZWdvcnknID0+ICRjYXRlZ29yeSwKKyAgICAgICAgJ3Jlc3VsdCcgPT4g
JHJlc3VsdCwKICAgICAgICAgJ25lZWRlZCcgPT4gJHRhc2tfcm93Wyd0YXNrX25lZWRlZCddID8g
RGF0YWJhc2U6OmlzX3RydWUoJHRhc2tfcm93Wyd0YXNrX25lZWRlZCddKSA6IG51bGwsCiAgICAg
ICAgICdidWdzJyA9PiBhcnJheSgpLAogICAgICk7CkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtp
dC5vcmcvcHVibGljL3ByaXZpbGVnZWQtYXBpL2Fzc29jaWF0ZS1idWcucGhwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvcHJpdmlsZWdlZC1hcGkvYXNzb2Np
YXRlLWJ1Zy5waHAJKHJldmlzaW9uIDE5NjU0OCkKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9y
Zy9wdWJsaWMvcHJpdmlsZWdlZC1hcGkvYXNzb2NpYXRlLWJ1Zy5waHAJKHdvcmtpbmcgY29weSkK
QEAgLTksMTEgKzksMTIgQEAgZnVuY3Rpb24gbWFpbigpIHsKICAgICAkYnVnX3RyYWNrZXJfaWQg
PSBhcnJheV9nZXQoJGRhdGEsICdidWdUcmFja2VyJyk7CiAgICAgJGJ1Z19udW1iZXIgPSBhcnJh
eV9nZXQoJGRhdGEsICdudW1iZXInKTsKICAgICAkYnVnX2lkID0gYXJyYXlfZ2V0KCRkYXRhLCAn
YnVnVG9EZWxldGUnKTsKKyAgICAkc2hvdWxkX2RlbGV0ZSA9IGFycmF5X2dldCgkZGF0YSwgJ3No
b3VsZERlbGV0ZScpOwogCiAgICAgJGRiID0gY29ubmVjdCgpOwogICAgICRkYi0+YmVnaW5fdHJh
bnNhY3Rpb24oKTsKIAotICAgIGlmICgkYnVnX2lkKSB7CisgICAgaWYgKCRidWdfaWQpIHsgLy8g
VjIgY29tcGF0aWJpbGl0eQogICAgICAgICByZXF1aXJlX2Zvcm1hdCgnQnVnVG9EZWxldGUnLCAk
YnVnX2lkLCAnL15cZCskLycpOwogICAgICAgICAkY291bnQgPSAkZGItPnF1ZXJ5X2FuZF9nZXRf
YWZmZWN0ZWRfcm93cygiREVMRVRFIEZST00gYnVncyBXSEVSRSBidWdfaWQgPSAkMSIsIGFycmF5
KCRidWdfaWQpKTsKICAgICAgICAgaWYgKCRjb3VudCAhPSAxKSB7CkBAIC0yNCw3ICsyNSwxNiBA
QCBmdW5jdGlvbiBtYWluKCkgewogICAgICAgICByZXF1aXJlX2Zvcm1hdCgnQW5hbHlzaXNUYXNr
JywgJGFuYWx5c2lzX3Rhc2tfaWQsICcvXlxkKyQvJyk7CiAgICAgICAgIHJlcXVpcmVfZm9ybWF0
KCdCdWdUcmFja2VyJywgJGJ1Z190cmFja2VyX2lkLCAnL15cZCskLycpOwogICAgICAgICByZXF1
aXJlX2Zvcm1hdCgnQnVnTnVtYmVyJywgJGJ1Z19udW1iZXIsICcvXlxkKyQvJyk7Ci0gICAgICAg
ICRidWdfaWQgPSAkZGItPmluc2VydF9yb3coJ2J1Z3MnLCAnYnVnJywgYXJyYXkoJ3Rhc2snID0+
ICRhbmFseXNpc190YXNrX2lkLCAndHJhY2tlcicgPT4gJGJ1Z190cmFja2VyX2lkLCAnbnVtYmVy
JyA9PiAkYnVnX251bWJlcikpOworICAgICAgICBpZiAoJHNob3VsZF9kZWxldGUpIHsgLy8gVjMK
KyAgICAgICAgICAgICRjb3VudCA9ICRkYi0+cXVlcnlfYW5kX2dldF9hZmZlY3RlZF9yb3dzKCJE
RUxFVEUgRlJPTSBidWdzIFdIRVJFIGJ1Z190YXNrID0gJDEgQU5EIGJ1Z190cmFja2VyID0gJDIg
QU5EIGJ1Z19udW1iZXIgPSAkMyIsCisgICAgICAgICAgICAgICAgYXJyYXkoJGFuYWx5c2lzX3Rh
c2tfaWQsICRidWdfdHJhY2tlcl9pZCwgJGJ1Z19udW1iZXIpKTsKKyAgICAgICAgICAgIGlmICgk
Y291bnQgPCAxKSB7IC8vIEZJWE1FOiBXZSBzaG91bGQgZm9yYmlkIGR1cGxpY2F0ZSBidWdzIChz
YW1lIGJ1ZyBudW1iZXIgb24gc2FtZSB0cmFja2VyIGZvciBzYW1lIHRhc2spCisgICAgICAgICAg
ICAgICAgJGRiLT5yb2xsYmFja190cmFuc2FjdGlvbigpOworICAgICAgICAgICAgICAgIGV4aXRf
d2l0aF9lcnJvcignVW5leHBlY3RlZE51bWJlck9mQWZmZWN0ZWRSb3dzJywgYXJyYXkoJ2FmZmVj
dGVkUm93cycgPT4gJGNvdW50KSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICAkYnVnX2lkID0gJGRiLT5pbnNlcnRfcm93KCdidWdzJywgJ2J1ZycsIGFycmF5
KCd0YXNrJyA9PiAkYW5hbHlzaXNfdGFza19pZCwgJ3RyYWNrZXInID0+ICRidWdfdHJhY2tlcl9p
ZCwgJ251bWJlcicgPT4gJGJ1Z19udW1iZXIpKTsKKyAgICAgICAgfQogICAgIH0KICAgICAkZGIt
PmNvbW1pdF90cmFuc2FjdGlvbigpOwogCkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcv
cHVibGljL3YzL2NvbXBvbmVudHMvY2hhcnQtcGFuZS1iYXNlLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvY29tcG9uZW50cy9jaGFydC1wYW5lLWJh
c2UuanMJKHJldmlzaW9uIDE5NjU0OCkKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJs
aWMvdjMvY29tcG9uZW50cy9jaGFydC1wYW5lLWJhc2UuanMJKHdvcmtpbmcgY29weSkKQEAgLTE1
LDYgKzE1LDcgQEAgY2xhc3MgQ2hhcnRQYW5lQmFzZSBleHRlbmRzIENvbXBvbmVudEJhcwogICAg
ICAgICB0aGlzLl9tYWluQ2hhcnQgPSBudWxsOwogICAgICAgICB0aGlzLl9tYWluQ2hhcnRTdGF0
dXMgPSBudWxsOwogICAgICAgICB0aGlzLl9jb21taXRMb2dWaWV3ZXIgPSBudWxsOworICAgICAg
ICB0aGlzLl90YXNrc0ZvckFubm90YXRpb25zID0gbnVsbDsKICAgICB9CiAKICAgICBjb25maWd1
cmUocGxhdGZvcm1JZCwgbWV0cmljSWQpCkBAIC02MywzMiArNjQsMTEgQEAgY2xhc3MgQ2hhcnRQ
YW5lQmFzZSBleHRlbmRzIENvbXBvbmVudEJhcwogCiAgICAgX2ZldGNoQW5hbHlzaXNUYXNrcyhw
bGF0Zm9ybUlkLCBtZXRyaWNJZCkKICAgICB7CisgICAgICAgIC8vIEZJWE1FOiB3ZSBuZWVkIHRv
IHVwZGF0ZSB0aGUgYW5ub3RhdGlvbiBiYXJzIHdoZW4gdGhlIGNoYW5nZSB0eXBlIG9mIHRhc2tz
IGNoYW5nZS4KICAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwogICAgICAgICBBbmFseXNpc1Rhc2su
ZmV0Y2hCeVBsYXRmb3JtQW5kTWV0cmljKHBsYXRmb3JtSWQsIG1ldHJpY0lkKS50aGVuKGZ1bmN0
aW9uICh0YXNrcykgewotICAgICAgICAgICAgc2VsZi5fbWFpbkNoYXJ0LnNldEFubm90YXRpb25z
KHRhc2tzLm1hcChmdW5jdGlvbiAodGFzaykgewotICAgICAgICAgICAgICAgIHZhciBmaWxsU3R5
bGUgPSAnI2ZjNic7Ci0gICAgICAgICAgICAgICAgc3dpdGNoICh0YXNrLmNoYW5nZVR5cGUoKSkg
ewotICAgICAgICAgICAgICAgIGNhc2UgJ2luY29uY2x1c2l2ZSc6Ci0gICAgICAgICAgICAgICAg
ICAgIGZpbGxTdHlsZSA9ICcjZmNjJzsKLSAgICAgICAgICAgICAgICBjYXNlICdwcm9ncmVzc2lv
bic6Ci0gICAgICAgICAgICAgICAgICAgIGZpbGxTdHlsZSA9ICcjMzlmJzsKLSAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSAncmVncmVzc2lvbic6Ci0gICAg
ICAgICAgICAgICAgICAgIGZpbGxTdHlsZSA9ICcjYzYwJzsKLSAgICAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSAndW5jaGFuZ2VkJzoKLSAgICAgICAgICAgICAg
ICAgICAgZmlsbFN0eWxlID0gJyNjY2MnOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICByZXR1cm4gewotICAgICAgICAgICAg
ICAgICAgICB0YXNrOiB0YXNrLAotICAgICAgICAgICAgICAgICAgICBzdGFydFRpbWU6IHRhc2su
c3RhcnRUaW1lKCksCi0gICAgICAgICAgICAgICAgICAgIGVuZFRpbWU6IHRhc2suZW5kVGltZSgp
LAotICAgICAgICAgICAgICAgICAgICBsYWJlbDogdGFzay5sYWJlbCgpLAotICAgICAgICAgICAg
ICAgICAgICBmaWxsU3R5bGU6IGZpbGxTdHlsZSwKLSAgICAgICAgICAgICAgICB9OwotICAgICAg
ICAgICAgfSkpOworICAgICAgICAgICAgc2VsZi5fdGFza3NGb3JBbm5vdGF0aW9ucyA9IHRhc2tz
OworICAgICAgICAgICAgc2VsZi5yZW5kZXIoKTsKICAgICAgICAgfSk7CiAgICAgfQogCkBAIC0x
OTMsNiArMTczLDggQEAgY2xhc3MgQ2hhcnRQYW5lQmFzZSBleHRlbmRzIENvbXBvbmVudEJhcwog
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKKyAgICAgICAgdGhpcy5fcmVuZGVyQW5u
b3RhdGlvbnMoKTsKKwogICAgICAgICBpZiAodGhpcy5fbWFpbkNoYXJ0U3RhdHVzKQogICAgICAg
ICAgICAgdGhpcy5fbWFpbkNoYXJ0U3RhdHVzLnJlbmRlcigpOwogCkBAIC0yMDYsNiArMTg4LDM4
IEBAIGNsYXNzIENoYXJ0UGFuZUJhc2UgZXh0ZW5kcyBDb21wb25lbnRCYXMKICAgICAgICAgSW5z
dHJ1bWVudGF0aW9uLmVuZE1lYXN1cmluZ1RpbWUoJ0NoYXJ0UGFuZScsICdyZW5kZXInKTsKICAg
ICB9CiAKKyAgICBfcmVuZGVyQW5ub3RhdGlvbnMoKQorICAgIHsKKyAgICAgICAgaWYgKCF0aGlz
Ll90YXNrc0ZvckFubm90YXRpb25zKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHZh
ciBhbm5vdGF0aW9ucyA9IHRoaXMuX3Rhc2tzRm9yQW5ub3RhdGlvbnMubWFwKGZ1bmN0aW9uICh0
YXNrKSB7CisgICAgICAgICAgICB2YXIgZmlsbFN0eWxlID0gJyNmYzYnOworICAgICAgICAgICAg
c3dpdGNoICh0YXNrLmNoYW5nZVR5cGUoKSkgeworICAgICAgICAgICAgY2FzZSAnaW5jb25jbHVz
aXZlJzoKKyAgICAgICAgICAgICAgICBmaWxsU3R5bGUgPSAnI2ZjYyc7CisgICAgICAgICAgICBj
YXNlICdwcm9ncmVzc2lvbic6CisgICAgICAgICAgICAgICAgZmlsbFN0eWxlID0gJyMzOWYnOwor
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAncmVncmVzc2lvbic6Cisg
ICAgICAgICAgICAgICAgZmlsbFN0eWxlID0gJyNjNjAnOworICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgY2FzZSAndW5jaGFuZ2VkJzoKKyAgICAgICAgICAgICAgICBmaWxsU3R5
bGUgPSAnI2NjYyc7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIHJldHVybiB7CisgICAgICAgICAgICAgICAgdGFzazogdGFzaywKKyAgICAgICAg
ICAgICAgICBzdGFydFRpbWU6IHRhc2suc3RhcnRUaW1lKCksCisgICAgICAgICAgICAgICAgZW5k
VGltZTogdGFzay5lbmRUaW1lKCksCisgICAgICAgICAgICAgICAgbGFiZWw6IHRhc2subGFiZWwo
KSwKKyAgICAgICAgICAgICAgICBmaWxsU3R5bGU6IGZpbGxTdHlsZSwKKyAgICAgICAgICAgIH07
CisgICAgICAgIH0pOworICAgICAgICB0aGlzLl9tYWluQ2hhcnQuc2V0QW5ub3RhdGlvbnMoYW5u
b3RhdGlvbnMpOworICAgIH0KKwogICAgIHN0YXRpYyBodG1sVGVtcGxhdGUoKQogICAgIHsKICAg
ICAgICAgcmV0dXJuIGAKQEAgLTIzMSw4ICsyNDUsNiBAQCBjbGFzcyBDaGFydFBhbmVCYXNlIGV4
dGVuZHMgQ29tcG9uZW50QmFzCiAgICAgewogICAgICAgICByZXR1cm4gVG9vbGJhci5jc3NUZW1w
bGF0ZSgpICsgYAogICAgICAgICAgICAgLmNoYXJ0LXBhbmUgewotICAgICAgICAgICAgICAgIG1h
cmdpbjogMXJlbTsKLSAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtOwogICAgICAg
ICAgICAgICAgIHBhZGRpbmc6IDByZW07CiAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxOHJlbTsK
ICAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lOwpJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJr
aXQub3JnL3B1YmxpYy92My9tb2RlbHMvYW5hbHlzaXMtdGFzay5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL21vZGVscy9hbmFseXNpcy10YXNrLmpz
CShyZXZpc2lvbiAxOTY1NDgpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3Yz
L21vZGVscy9hbmFseXNpcy10YXNrLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xNyw3ICsxNyw3IEBA
IGNsYXNzIEFuYWx5c2lzVGFzayBleHRlbmRzIExhYmVsZWRPYmplY3QKICAgICAgICAgdGhpcy5f
ZW5kTWVhc3VyZW1lbnRJZCA9IG9iamVjdC5lbmRSdW47CiAgICAgICAgIHRoaXMuX2VuZFRpbWUg
PSBvYmplY3QuZW5kUnVuVGltZTsKICAgICAgICAgdGhpcy5fY2F0ZWdvcnkgPSBvYmplY3QuY2F0
ZWdvcnk7Ci0gICAgICAgIHRoaXMuX2NoYW5nZVR5cGUgPSBvYmplY3QucmVzdWx0OworICAgICAg
ICB0aGlzLl9jaGFuZ2VUeXBlID0gb2JqZWN0LnJlc3VsdDsgLy8gQ2FuJ3QgY2hhbmdlIGR1ZSB0
byB2MiBjb21wYXRpYmlsaXR5LgogICAgICAgICB0aGlzLl9uZWVkZWQgPSBvYmplY3QubmVlZGVk
OwogICAgICAgICB0aGlzLl9idWdzID0gb2JqZWN0LmJ1Z3MgfHwgW107CiAgICAgICAgIHRoaXMu
X2J1aWxkUmVxdWVzdENvdW50ID0gb2JqZWN0LmJ1aWxkUmVxdWVzdENvdW50OwpAQCAtNDMsNyAr
NDMsNyBAQCBjbGFzcyBBbmFseXNpc1Rhc2sgZXh0ZW5kcyBMYWJlbGVkT2JqZWN0CiAgICAgICAg
IGNvbnNvbGUuYXNzZXJ0KHRoaXMuX2VuZFRpbWUgPT0gb2JqZWN0LmVuZFJ1blRpbWUpOwogCiAg
ICAgICAgIHRoaXMuX2NhdGVnb3J5ID0gb2JqZWN0LmNhdGVnb3J5OwotICAgICAgICB0aGlzLl9j
aGFuZ2VUeXBlID0gb2JqZWN0LnJlc3VsdDsKKyAgICAgICAgdGhpcy5fY2hhbmdlVHlwZSA9IG9i
amVjdC5yZXN1bHQ7IC8vIENhbid0IGNoYW5nZSBkdWUgdG8gdjIgY29tcGF0aWJpbGl0eS4KICAg
ICAgICAgdGhpcy5fbmVlZGVkID0gb2JqZWN0Lm5lZWRlZDsKICAgICAgICAgdGhpcy5fYnVncyA9
IG9iamVjdC5idWdzIHx8IFtdOwogICAgICAgICB0aGlzLl9idWlsZFJlcXVlc3RDb3VudCA9IG9i
amVjdC5idWlsZFJlcXVlc3RDb3VudDsKQEAgLTY3LDEzICs2Nyw0MyBAQCBjbGFzcyBBbmFseXNp
c1Rhc2sgZXh0ZW5kcyBMYWJlbGVkT2JqZWN0CiAgICAgY2F0ZWdvcnkoKSB7IHJldHVybiB0aGlz
Ll9jYXRlZ29yeTsgfQogICAgIGNoYW5nZVR5cGUoKSB7IHJldHVybiB0aGlzLl9jaGFuZ2VUeXBl
OyB9CiAKLSAgICB1cGRhdGVOYW1lKG5ld05hbWUpCisgICAgdXBkYXRlTmFtZShuZXdOYW1lKSB7
IHJldHVybiB0aGlzLl91cGRhdGVSZW1vdGVTdGF0ZSh7bmFtZTogbmV3TmFtZX0pOyB9CisgICAg
dXBkYXRlQ2hhbmdlVHlwZShjaGFuZ2VUeXBlKSB7IHJldHVybiB0aGlzLl91cGRhdGVSZW1vdGVT
dGF0ZSh7cmVzdWx0OiBjaGFuZ2VUeXBlfSk7IH0KKworICAgIF91cGRhdGVSZW1vdGVTdGF0ZShw
YXJhbSkKKyAgICB7CisgICAgICAgIHBhcmFtLnRhc2sgPSB0aGlzLmlkKCk7CisgICAgICAgIHJl
dHVybiBQcml2aWxlZ2VkQVBJLnNlbmRSZXF1ZXN0KCd1cGRhdGUtYW5hbHlzaXMtdGFzaycsIHBh
cmFtKS50aGVuKGZ1bmN0aW9uIChkYXRhKSB7CisgICAgICAgICAgICByZXR1cm4gQW5hbHlzaXNU
YXNrLmNhY2hlZEZldGNoKCcuLi9hcGkvYW5hbHlzaXMtdGFza3MnLCB7aWQ6IHBhcmFtLnRhc2t9
LCB0cnVlKQorICAgICAgICAgICAgICAgIC50aGVuKEFuYWx5c2lzVGFzay5fY29uc3RydWN0QW5h
bHlzaXNUYXNrc0Zyb21SYXdEYXRhLmJpbmQoQW5hbHlzaXNUYXNrKSk7CisgICAgICAgIH0pOwor
ICAgIH0KKworICAgIGFzc29jaWF0ZUJ1Zyh0cmFja2VyLCBidWdOdW1iZXIpCiAgICAgewotICAg
ICAgICB2YXIgc2VsZiA9IHRoaXM7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRyYWNrZXIgaW5z
dGFuY2VvZiBCdWdUcmFja2VyKTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQodHlwZW9mKGJ1Z051
bWJlcikgPT0gJ251bWJlcicpOwogICAgICAgICB2YXIgaWQgPSB0aGlzLmlkKCk7Ci0gICAgICAg
IHJldHVybiBQcml2aWxlZ2VkQVBJLnNlbmRSZXF1ZXN0KCd1cGRhdGUtYW5hbHlzaXMtdGFzaycs
IHsKKyAgICAgICAgcmV0dXJuIFByaXZpbGVnZWRBUEkuc2VuZFJlcXVlc3QoJ2Fzc29jaWF0ZS1i
dWcnLCB7CiAgICAgICAgICAgICB0YXNrOiBpZCwKLSAgICAgICAgICAgIG5hbWU6IG5ld05hbWUs
CisgICAgICAgICAgICBidWdUcmFja2VyOiB0cmFja2VyLmlkKCksCisgICAgICAgICAgICBudW1i
ZXI6IGJ1Z051bWJlciwKKyAgICAgICAgfSkudGhlbihmdW5jdGlvbiAoZGF0YSkgeworICAgICAg
ICAgICAgcmV0dXJuIEFuYWx5c2lzVGFzay5jYWNoZWRGZXRjaCgnLi4vYXBpL2FuYWx5c2lzLXRh
c2tzJywge2lkOiBpZH0sIHRydWUpCisgICAgICAgICAgICAgICAgLnRoZW4oQW5hbHlzaXNUYXNr
Ll9jb25zdHJ1Y3RBbmFseXNpc1Rhc2tzRnJvbVJhd0RhdGEuYmluZChBbmFseXNpc1Rhc2spKTsK
KyAgICAgICAgfSk7CisgICAgfQorCisgICAgZGlzYXNzb2NpYXRlQnVnKGJ1ZykKKyAgICB7Cisg
ICAgICAgIGNvbnNvbGUuYXNzZXJ0KGJ1ZyBpbnN0YW5jZW9mIEJ1Zyk7CisgICAgICAgIGNvbnNv
bGUuYXNzZXJ0KHRoaXMuYnVncygpLmluY2x1ZGVzKGJ1ZykpOworICAgICAgICB2YXIgaWQgPSB0
aGlzLmlkKCk7CisgICAgICAgIHJldHVybiBQcml2aWxlZ2VkQVBJLnNlbmRSZXF1ZXN0KCdhc3Nv
Y2lhdGUtYnVnJywgeworICAgICAgICAgICAgdGFzazogaWQsCisgICAgICAgICAgICBidWdUcmFj
a2VyOiBidWcuYnVnVHJhY2tlcigpLmlkKCksCisgICAgICAgICAgICBudW1iZXI6IGJ1Zy5idWdO
dW1iZXIoKSwKKyAgICAgICAgICAgIHNob3VsZERlbGV0ZTogdHJ1ZSwKICAgICAgICAgfSkudGhl
bihmdW5jdGlvbiAoZGF0YSkgewogICAgICAgICAgICAgcmV0dXJuIEFuYWx5c2lzVGFzay5jYWNo
ZWRGZXRjaCgnLi4vYXBpL2FuYWx5c2lzLXRhc2tzJywge2lkOiBpZH0sIHRydWUpCiAgICAgICAg
ICAgICAgICAgLnRoZW4oQW5hbHlzaXNUYXNrLl9jb25zdHJ1Y3RBbmFseXNpc1Rhc2tzRnJvbVJh
d0RhdGEuYmluZChBbmFseXNpc1Rhc2spKTsKQEAgLTEwNyw2ICsxMzcsMzEgQEAgY2xhc3MgQW5h
bHlzaXNUYXNrIGV4dGVuZHMgTGFiZWxlZE9iamVjdAogICAgICAgICB9KTsKICAgICB9CiAKKyAg
ICBzdGF0aWMgZmV0Y2hSZWxhdGVkVGFza3ModGFza0lkKQorICAgIHsKKyAgICAgICAgLy8gRklY
TUU6IFdlIHNob3VsZCBhZGQgbmV3IHNldmVyLXNpZGUgQVBJIHRvIGp1c3QgZmV0Y2ggdGhlIHJl
bGF0ZWQgdGFza3MuCisgICAgICAgIHJldHVybiB0aGlzLmZldGNoQWxsKCkudGhlbihmdW5jdGlv
biAoKSB7CisgICAgICAgICAgICB2YXIgdGFzayA9IEFuYWx5c2lzVGFzay5maW5kQnlJZCh0YXNr
SWQpOworICAgICAgICAgICAgaWYgKCF0YXNrKQorICAgICAgICAgICAgICAgIHJldHVybiB1bmRl
ZmluZWQ7CisgICAgICAgICAgICB2YXIgcmVsYXRlZFRhc2tzID0gbmV3IFNldDsKKyAgICAgICAg
ICAgIGZvciAodmFyIGJ1ZyBvZiB0YXNrLmJ1Z3MoKSkgeworICAgICAgICAgICAgICAgIGZvciAo
dmFyIG90aGVyVGFzayBvZiBBbmFseXNpc1Rhc2suYWxsKCkpIHsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKG90aGVyVGFzay5idWdzKCkuaW5jbHVkZXMoYnVnKSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHJlbGF0ZWRUYXNrcy5hZGQob3RoZXJUYXNrKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICBmb3IgKHZhciBvdGhlclRhc2sgb2YgQW5hbHlzaXNU
YXNrLmFsbCgpKSB7CisgICAgICAgICAgICAgICAgaWYgKHRhc2suZW5kVGltZSgpIDwgb3RoZXJU
YXNrLnN0YXJ0VGltZSgpCisgICAgICAgICAgICAgICAgICAgIHx8IG90aGVyVGFzay5lbmRUaW1l
KCkgPCB0YXNrLnN0YXJ0VGltZSgpCisgICAgICAgICAgICAgICAgICAgIHx8IHRhc2subWV0cmlj
KCkgIT0gb3RoZXJUYXNrLm1ldHJpYygpKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsK
KyAgICAgICAgICAgICAgICByZWxhdGVkVGFza3MuYWRkKG90aGVyVGFzayk7CisgICAgICAgICAg
ICB9CisgICAgICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShyZWxhdGVkVGFza3MpOworICAgICAg
ICB9KTsKKyAgICB9CisKICAgICBzdGF0aWMgX2ZldGNoU3Vic2V0KHBhcmFtcykKICAgICB7CiAg
ICAgICAgIGlmICh0aGlzLl9mZXRjaEFsbFByb21pc2UpCkluZGV4OiBXZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvcHVibGljL3YzL3BhZ2VzL2FuYWx5c2lzLXRhc2stcGFnZS5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL3BhZ2VzL2FuYWx5c2lzLXRh
c2stcGFnZS5qcwkocmV2aXNpb24gMTk2NTQ4KQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3Jn
L3B1YmxpYy92My9wYWdlcy9hbmFseXNpcy10YXNrLXBhZ2UuanMJKHdvcmtpbmcgY29weSkKQEAg
LTE3LDYgKzE3LDcgQEAgY2xhc3MgQW5hbHlzaXNUYXNrUGFnZSBleHRlbmRzIFBhZ2VXaXRoSAog
ICAgIHsKICAgICAgICAgc3VwZXIoJ0FuYWx5c2lzIFRhc2snKTsKICAgICAgICAgdGhpcy5fdGFz
ayA9IG51bGw7CisgICAgICAgIHRoaXMuX3JlbGF0ZWRUYXNrcyA9IG51bGw7CiAgICAgICAgIHRo
aXMuX3Rlc3RHcm91cHMgPSBudWxsOwogICAgICAgICB0aGlzLl9yZW5kZXJlZFRlc3RHcm91cHMg
PSBudWxsOwogICAgICAgICB0aGlzLl90ZXN0R3JvdXBMYWJlbE1hcCA9IG5ldyBNYXA7CkBAIC0y
Nyw2ICsyOCw3IEBAIGNsYXNzIEFuYWx5c2lzVGFza1BhZ2UgZXh0ZW5kcyBQYWdlV2l0aEgKICAg
ICAgICAgdGhpcy5fZW5kUG9pbnQgPSBudWxsOwogICAgICAgICB0aGlzLl9lcnJvck1lc3NhZ2Ug
PSBudWxsOwogICAgICAgICB0aGlzLl9jdXJyZW50VGVzdEdyb3VwID0gbnVsbDsKKwogICAgICAg
ICB0aGlzLl9jaGFydFBhbmUgPSB0aGlzLmNvbnRlbnQoKS5xdWVyeVNlbGVjdG9yKCdhbmFseXNp
cy10YXNrLWNoYXJ0LXBhbmUnKS5jb21wb25lbnQoKTsKICAgICAgICAgdGhpcy5fY2hhcnRQYW5l
LnNldFBhZ2UodGhpcyk7CiAgICAgICAgIHRoaXMuX2FuYWx5c2lzUmVzdWx0c1ZpZXdlciA9IHRo
aXMuY29udGVudCgpLnF1ZXJ5U2VsZWN0b3IoJ2FuYWx5c2lzLXJlc3VsdHMtdmlld2VyJykuY29t
cG9uZW50KCk7CkBAIC0zNiw2ICszOCwxMyBAQCBjbGFzcyBBbmFseXNpc1Rhc2tQYWdlIGV4dGVu
ZHMgUGFnZVdpdGhICiAgICAgICAgIHRoaXMuX3Rhc2tOYW1lTGFiZWwuc2V0U3RhcnRlZEVkaXRp
bmdDYWxsYmFjayh0aGlzLl9kaWRTdGFydEVkaXRpbmdUYXNrTmFtZS5iaW5kKHRoaXMpKTsKICAg
ICAgICAgdGhpcy5fdGFza05hbWVMYWJlbC5zZXRVcGRhdGVDYWxsYmFjayh0aGlzLl91cGRhdGVU
YXNrTmFtZS5iaW5kKHRoaXMpKTsKIAorICAgICAgICB0aGlzLmNvbnRlbnQoKS5xdWVyeVNlbGVj
dG9yKCcuY2hhbmdlLXR5cGUtZm9ybScpLm9uc3VibWl0ID0gdGhpcy5fdXBkYXRlQ2hhbmdlVHlw
ZS5iaW5kKHRoaXMpOworICAgICAgICB0aGlzLl90YXNrU3RhdHVzQ29udHJvbCA9IHRoaXMuY29u
dGVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5jaGFuZ2UtdHlwZS1mb3JtIHNlbGVjdCcpOworCisgICAg
ICAgIHRoaXMuY29udGVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5hc3NvY2lhdGUtYnVnLWZvcm0nKS5v
bnN1Ym1pdCA9IHRoaXMuX2Fzc29jaWF0ZUJ1Zy5iaW5kKHRoaXMpOworICAgICAgICB0aGlzLl9i
dWdUcmFja2VyQ29udHJvbCA9IHRoaXMuY29udGVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5idWctdHJh
Y2tlci1jb250cm9sJyk7CisgICAgICAgIHRoaXMuX2J1Z051bWJlckNvbnRyb2wgPSB0aGlzLmNv
bnRlbnQoKS5xdWVyeVNlbGVjdG9yKCcuYnVnLW51bWJlci1jb250cm9sJyk7CisKICAgICAgICAg
dGhpcy5jb250ZW50KCkucXVlcnlTZWxlY3RvcignLnRlc3QtZ3JvdXAtcmV0cnktZm9ybScpLm9u
c3VibWl0ID0gdGhpcy5fcmV0cnlDdXJyZW50VGVzdEdyb3VwLmJpbmQodGhpcyk7CiAgICAgfQog
CkBAIC01MSwxMyArNjAsMTEgQEAgY2xhc3MgQW5hbHlzaXNUYXNrUGFnZSBleHRlbmRzIFBhZ2VX
aXRoSAogICAgICAgICAgICAgICAgIHNlbGYuX2Vycm9yTWVzc2FnZSA9IGBGYWlsZWQgdG8gZmV0
Y2ggdGhlIGFuYWx5c2lzIHRhc2sgJHtzdGF0ZS5yZW1haW5pbmdSb3V0ZX06ICR7ZXJyb3J9YDsK
ICAgICAgICAgICAgICAgICBzZWxmLnJlbmRlcigpOwogICAgICAgICAgICAgfSk7Ci0gICAgICAg
ICAgICBUZXN0R3JvdXAuZmV0Y2hCeVRhc2sodGFza0lkKS50aGVuKHRoaXMuX2RpZEZldGNoVGVz
dEdyb3Vwcy5iaW5kKHRoaXMpKTsKLSAgICAgICAgICAgIEFuYWx5c2lzUmVzdWx0cy5mZXRjaCh0
YXNrSWQpLnRoZW4odGhpcy5fZGlkRmV0Y2hBbmFseXNpc1Jlc3VsdHMuYmluZCh0aGlzKSk7Cisg
ICAgICAgICAgICB0aGlzLl9mZXRjaFJlbGF0ZWRJbmZvRm9yVGFza0lkKHRhc2tJZCk7CiAgICAg
ICAgIH0gZWxzZSBpZiAoc3RhdGUuYnVpbGRSZXF1ZXN0KSB7CiAgICAgICAgICAgICB2YXIgYnVp
bGRSZXF1ZXN0SWQgPSBwYXJzZUludChzdGF0ZS5idWlsZFJlcXVlc3QpOwogICAgICAgICAgICAg
QW5hbHlzaXNUYXNrLmZldGNoQnlCdWlsZFJlcXVlc3RJZChidWlsZFJlcXVlc3RJZCkudGhlbih0
aGlzLl9kaWRGZXRjaFRhc2suYmluZCh0aGlzKSkudGhlbihmdW5jdGlvbiAodGFzaykgewotICAg
ICAgICAgICAgICAgIFRlc3RHcm91cC5mZXRjaEJ5VGFzayh0YXNrLmlkKCkpLnRoZW4oc2VsZi5f
ZGlkRmV0Y2hUZXN0R3JvdXBzLmJpbmQoc2VsZikpOwotICAgICAgICAgICAgICAgIEFuYWx5c2lz
UmVzdWx0cy5mZXRjaCh0YXNrLmlkKCkpLnRoZW4oc2VsZi5fZGlkRmV0Y2hBbmFseXNpc1Jlc3Vs
dHMuYmluZChzZWxmKSk7CisgICAgICAgICAgICAgICAgc2VsZi5fZmV0Y2hSZWxhdGVkSW5mb0Zv
clRhc2tJZCh0YXNrLmlkKCkpOwogICAgICAgICAgICAgfSwgZnVuY3Rpb24gKGVycm9yKSB7CiAg
ICAgICAgICAgICAgICAgc2VsZi5fZXJyb3JNZXNzYWdlID0gYEZhaWxlZCB0byBmZXRjaCB0aGUg
YW5hbHlzaXMgdGFzayBmb3IgdGhlIGJ1aWxkIHJlcXVlc3QgJHtidWlsZFJlcXVlc3RJZH06ICR7
ZXJyb3J9YDsKICAgICAgICAgICAgICAgICBzZWxmLnJlbmRlcigpOwpAQCAtNjUsNiArNzIsMTMg
QEAgY2xhc3MgQW5hbHlzaXNUYXNrUGFnZSBleHRlbmRzIFBhZ2VXaXRoSAogICAgICAgICB9CiAg
ICAgfQogCisgICAgX2ZldGNoUmVsYXRlZEluZm9Gb3JUYXNrSWQodGFza0lkKQorICAgIHsKKyAg
ICAgICAgVGVzdEdyb3VwLmZldGNoQnlUYXNrKHRhc2tJZCkudGhlbih0aGlzLl9kaWRGZXRjaFRl
c3RHcm91cHMuYmluZCh0aGlzKSk7CisgICAgICAgIEFuYWx5c2lzUmVzdWx0cy5mZXRjaCh0YXNr
SWQpLnRoZW4odGhpcy5fZGlkRmV0Y2hBbmFseXNpc1Jlc3VsdHMuYmluZCh0aGlzKSk7CisgICAg
ICAgIEFuYWx5c2lzVGFzay5mZXRjaFJlbGF0ZWRUYXNrcyh0YXNrSWQpLnRoZW4odGhpcy5fZGlk
RmV0Y2hSZWxhdGVkQW5hbHlzaXNUYXNrcy5iaW5kKHRoaXMpKTsKKyAgICB9CisKICAgICBfZGlk
RmV0Y2hUYXNrKHRhc2spCiAgICAgewogICAgICAgICBjb25zb2xlLmFzc2VydCghdGhpcy5fdGFz
ayk7CkBAIC05Miw2ICsxMDYsMTIgQEAgY2xhc3MgQW5hbHlzaXNUYXNrUGFnZSBleHRlbmRzIFBh
Z2VXaXRoSAogICAgICAgICByZXR1cm4gdGFzazsKICAgICB9CiAKKyAgICBfZGlkRmV0Y2hSZWxh
dGVkQW5hbHlzaXNUYXNrcyhyZWxhdGVkVGFza3MpCisgICAgeworICAgICAgICB0aGlzLl9yZWxh
dGVkVGFza3MgPSByZWxhdGVkVGFza3M7CisgICAgICAgIHRoaXMucmVuZGVyKCk7CisgICAgfQor
CiAgICAgX2RpZEZldGNoTWVhc3VyZW1lbnQoKQogICAgIHsKICAgICAgICAgY29uc29sZS5hc3Nl
cnQodGhpcy5fdGFzayk7CkBAIC0xNTksNiArMTc5LDggQEAgY2xhc3MgQW5hbHlzaXNUYXNrUGFn
ZSBleHRlbmRzIFBhZ2VXaXRoSAogCiAgICAgICAgIHRoaXMuX2NoYXJ0UGFuZS5yZW5kZXIoKTsK
IAorICAgICAgICB2YXIgZWxlbWVudCA9IENvbXBvbmVudEJhc2UuY3JlYXRlRWxlbWVudDsKKyAg
ICAgICAgdmFyIGxpbmsgPSBDb21wb25lbnRCYXNlLmNyZWF0ZUxpbms7CiAgICAgICAgIGlmICh0
aGlzLl90YXNrKSB7CiAgICAgICAgICAgICB0aGlzLl90YXNrTmFtZUxhYmVsLnNldFRleHQodGhp
cy5fdGFzay5uYW1lKCkpOwogICAgICAgICAgICAgdmFyIHBsYXRmb3JtID0gdGhpcy5fdGFzay5w
bGF0Zm9ybSgpOwpAQCAtMTY2LDE0ICsxODgsNTkgQEAgY2xhc3MgQW5hbHlzaXNUYXNrUGFnZSBl
eHRlbmRzIFBhZ2VXaXRoSAogICAgICAgICAgICAgdmFyIGFuY2hvciA9IHRoaXMuY29udGVudCgp
LnF1ZXJ5U2VsZWN0b3IoJy5wbGF0Zm9ybS1tZXRyaWMtbmFtZXMgYScpOwogICAgICAgICAgICAg
dGhpcy5yZW5kZXJSZXBsYWNlKGFuY2hvciwgbWV0cmljLmZ1bGxOYW1lKCkgKyAnIG9uICcgKyBw
bGF0Zm9ybS5sYWJlbCgpKTsKICAgICAgICAgICAgIGFuY2hvci5ocmVmID0gdGhpcy5yb3V0ZXIo
KS51cmwoJ2NoYXJ0cycsIENoYXJ0c1BhZ2UuY3JlYXRlU3RhdGVGb3JBbmFseXNpc1Rhc2sodGhp
cy5fdGFzaykpOworCisgICAgICAgICAgICB2YXIgYnVncyA9IFtdOworICAgICAgICAgICAgZm9y
ICh2YXIgYnVnIG9mIHRoaXMuX3Rhc2suYnVncygpKSB7CisgICAgICAgICAgICAgICAgYnVncy5w
dXNoKGVsZW1lbnQoJ2xpJywgWworICAgICAgICAgICAgICAgICAgICBidWcuYnVnVHJhY2tlcigp
LmxhYmVsKCkgKyAnICcsCisgICAgICAgICAgICAgICAgICAgIGxpbmsoYnVnLmxhYmVsKCksIGJ1
Zy50aXRsZSgpLCBidWcudXJsKCkpLAorICAgICAgICAgICAgICAgICAgICAnICcsCisgICAgICAg
ICAgICAgICAgICAgIGxpbmsobmV3IENsb3NlQnV0dG9uLCAnRGlzYXNzb2NpYXRlIHRoaXMgYnVn
JywgdGhpcy5fZGlzYXNzb2NpYXRlQnVnLmJpbmQodGhpcywgYnVnKSldKSk7CisgICAgICAgICAg
ICB9CisgICAgICAgICAgICB0aGlzLnJlbmRlclJlcGxhY2UodGhpcy5jb250ZW50KCkucXVlcnlT
ZWxlY3RvcignLmFzc29jaWF0ZWQtYnVncycpLCBidWdzKTsKKworICAgICAgICAgICAgdGhpcy5f
dGFza1N0YXR1c0NvbnRyb2wudmFsdWUgPSB0aGlzLl90YXNrLmNoYW5nZVR5cGUoKSB8fCAndW5j
b25maXJtZWQnOwogICAgICAgICB9CisKKyAgICAgICAgdmFyIGVsZW1lbnQgPSBDb21wb25lbnRC
YXNlLmNyZWF0ZUVsZW1lbnQ7CisgICAgICAgIHRoaXMucmVuZGVyUmVwbGFjZSh0aGlzLl9idWdU
cmFja2VyQ29udHJvbCwKKyAgICAgICAgICAgIEJ1Z1RyYWNrZXIuYWxsKCkubWFwKGZ1bmN0aW9u
ICh0cmFja2VyKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQoJ29wdGlvbicsIHt2
YWx1ZTogdHJhY2tlci5pZCgpfSwgdHJhY2tlci5sYWJlbCgpKTsKKyAgICAgICAgICAgIH0pKTsK
KworICAgICAgICB0aGlzLmNvbnRlbnQoKS5xdWVyeVNlbGVjdG9yKCcuYW5hbHlzaXMtdGFzay1z
dGF0dXMnKS5zdHlsZS5kaXNwbGF5ID0gdGhpcy5fdGFzayA/IG51bGwgOiAnbm9uZSc7CiAgICAg
ICAgIHRoaXMuY29udGVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5vdmVydmlldy1jaGFydCcpLnN0eWxl
LmRpc3BsYXkgPSB0aGlzLl90YXNrID8gbnVsbCA6ICdub25lJzsKICAgICAgICAgdGhpcy5jb250
ZW50KCkucXVlcnlTZWxlY3RvcignLnRlc3QtZ3JvdXAtdmlldycpLnN0eWxlLmRpc3BsYXkgPSB0
aGlzLl90YXNrID8gbnVsbCA6ICdub25lJzsKICAgICAgICAgdGhpcy5fdGFza05hbWVMYWJlbC5y
ZW5kZXIoKTsKIAorICAgICAgICBpZiAodGhpcy5fcmVsYXRlZFRhc2tzICYmIHRoaXMuX3Rhc2sp
IHsKKyAgICAgICAgICAgIHZhciByb3V0ZXIgPSB0aGlzLnJvdXRlcigpOworICAgICAgICAgICAg
dmFyIGxpbmsgPSBDb21wb25lbnRCYXNlLmNyZWF0ZUxpbms7CisgICAgICAgICAgICB2YXIgdGhp
c1Rhc2sgPSB0aGlzLl90YXNrOworICAgICAgICAgICAgdGhpcy5yZW5kZXJSZXBsYWNlKHRoaXMu
Y29udGVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5yZWxhdGVkLXRhc2tzLWxpc3QnKSwKKyAgICAgICAg
ICAgICAgICB0aGlzLl9yZWxhdGVkVGFza3MubWFwKGZ1bmN0aW9uIChvdGhlclRhc2spIHsKKyAg
ICAgICAgICAgICAgICAgICAgY29uc29sZS5hc3NlcnQob3RoZXJUYXNrLm1ldHJpYygpID09IHRo
aXNUYXNrLm1ldHJpYygpKTsKKyAgICAgICAgICAgICAgICAgICAgdmFyIHN1ZmZpeCA9ICcnOwor
ICAgICAgICAgICAgICAgICAgICB2YXIgdGFza0xhYmVsID0gb3RoZXJUYXNrLmxhYmVsKCk7Cisg
ICAgICAgICAgICAgICAgICAgIGlmIChvdGhlclRhc2sucGxhdGZvcm0oKSAhPSB0aGlzVGFzay5w
bGF0Zm9ybSgpICYmIHRhc2tMYWJlbC5pbmRleE9mKG90aGVyVGFzay5wbGF0Zm9ybSgpLmxhYmVs
KCkpIDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHN1ZmZpeCA9IGAgb24gJHtvdGhlclRh
c2sucGxhdGZvcm0oKS5sYWJlbCgpfWA7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBlbGVt
ZW50KCdsaScsIFtsaW5rKHRhc2tMYWJlbCwgcm91dGVyLnVybChgYW5hbHlzaXMvdGFzay8ke290
aGVyVGFzay5pZCgpfWApKSwgc3VmZml4XSk7CisgICAgICAgICAgICAgICAgfSkpOworICAgICAg
ICB9CisKICAgICAgICAgdGhpcy5fYW5hbHlzaXNSZXN1bHRzVmlld2VyLnNldEN1cnJlbnRUZXN0
R3JvdXAodGhpcy5fY3VycmVudFRlc3RHcm91cCk7CiAgICAgICAgIHRoaXMuX2FuYWx5c2lzUmVz
dWx0c1ZpZXdlci5yZW5kZXIoKTsKIAorICAgICAgICB0aGlzLl9yZW5kZXJUZXN0R3JvdXBMaXN0
KCk7CisgICAgICAgIHRoaXMuX3JlbmRlclRlc3RHcm91cERldGFpbHMoKTsKKworICAgICAgICB0
aGlzLl90ZXN0R3JvdXBSZXN1bHRzVGFibGUucmVuZGVyKCk7CisKKyAgICAgICAgSW5zdHJ1bWVu
dGF0aW9uLmVuZE1lYXN1cmluZ1RpbWUoJ0FuYWx5c2lzVGFza1BhZ2UnLCAncmVuZGVyJyk7Cisg
ICAgfQorCisgICAgX3JlbmRlclRlc3RHcm91cExpc3QoKQorICAgIHsKICAgICAgICAgdmFyIGVs
ZW1lbnQgPSBDb21wb25lbnRCYXNlLmNyZWF0ZUVsZW1lbnQ7CiAgICAgICAgIHZhciBsaW5rID0g
Q29tcG9uZW50QmFzZS5jcmVhdGVMaW5rOwogICAgICAgICBpZiAodGhpcy5fdGVzdEdyb3VwcyAh
PSB0aGlzLl9yZW5kZXJlZFRlc3RHcm91cHMpIHsKQEAgLTIwNSw3ICsyNzIsMTAgQEAgY2xhc3Mg
QW5hbHlzaXNUYXNrUGFnZSBleHRlbmRzIFBhZ2VXaXRoSAogICAgICAgICAgICAgICAgIGxhYmVs
LnJlbmRlcigpOwogICAgICAgICAgICAgfQogICAgICAgICB9CisgICAgfQogCisgICAgX3JlbmRl
clRlc3RHcm91cERldGFpbHMoKQorICAgIHsKICAgICAgICAgaWYgKHRoaXMuX3JlbmRlcmVkQ3Vy
cmVudFRlc3RHcm91cCAhPT0gdGhpcy5fY3VycmVudFRlc3RHcm91cCkgewogICAgICAgICAgICAg
aWYgKHRoaXMuX3JlbmRlcmVkQ3VycmVudFRlc3RHcm91cCkgewogICAgICAgICAgICAgICAgIHZh
ciBlbGVtZW50ID0gdGhpcy5jb250ZW50KCkucXVlcnlTZWxlY3RvcignLnRlc3QtZ3JvdXAtbGlz
dC0nICsgdGhpcy5fcmVuZGVyZWRDdXJyZW50VGVzdEdyb3VwLmlkKCkpOwpAQCAtMjM3LDEwICsz
MDcsNiBAQCBjbGFzcyBBbmFseXNpc1Rhc2tQYWdlIGV4dGVuZHMgUGFnZVdpdGhICiAgICAgICAg
IH0KIAogICAgICAgICB0aGlzLmNvbnRlbnQoKS5xdWVyeVNlbGVjdG9yKCcudGVzdC1ncm91cC1y
ZXRyeS1idXR0b24nKS5kaXNhYmxlZCA9ICEodGhpcy5fY3VycmVudFRlc3RHcm91cCB8fCB0aGlz
Ll9zdGFydFBvaW50KTsKLQotICAgICAgICB0aGlzLl90ZXN0R3JvdXBSZXN1bHRzVGFibGUucmVu
ZGVyKCk7Ci0KLSAgICAgICAgSW5zdHJ1bWVudGF0aW9uLmVuZE1lYXN1cmluZ1RpbWUoJ0FuYWx5
c2lzVGFza1BhZ2UnLCAncmVuZGVyJyk7CiAgICAgfQogCiAgICAgX3Nob3dUZXN0R3JvdXAodGVz
dEdyb3VwKQpAQCAtMjgzLDYgKzM0OSw0NyBAQCBjbGFzcyBBbmFseXNpc1Rhc2tQYWdlIGV4dGVu
ZHMgUGFnZVdpdGhICiAgICAgICAgIH0pOwogICAgIH0KIAorICAgIF91cGRhdGVDaGFuZ2VUeXBl
KGV2ZW50KQorICAgIHsKKyAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKKyAgICAgICAg
Y29uc29sZS5hc3NlcnQodGhpcy5fdGFzayk7CisKKyAgICAgICAgdmFyIG5ld0NoYW5nZVR5cGUg
PSB0aGlzLl90YXNrU3RhdHVzQ29udHJvbC52YWx1ZTsKKyAgICAgICAgaWYgKG5ld0NoYW5nZVR5
cGUgPT0gJ3VuY29uZmlybWVkJykKKyAgICAgICAgICAgIG5ld0NoYW5nZVR5cGUgPSBudWxsOwor
CisgICAgICAgIHZhciByZW5kZXIgPSB0aGlzLnJlbmRlci5iaW5kKHRoaXMpOworICAgICAgICBy
ZXR1cm4gdGhpcy5fdGFzay51cGRhdGVDaGFuZ2VUeXBlKG5ld0NoYW5nZVR5cGUpLnRoZW4ocmVu
ZGVyLCBmdW5jdGlvbiAoZXJyb3IpIHsKKyAgICAgICAgICAgIHJlbmRlcigpOworICAgICAgICAg
ICAgYWxlcnQoJ0ZhaWxlZCB0byB1cGRhdGUgdGhlIHN0YXR1czogJyArIGVycm9yKTsKKyAgICAg
ICAgfSk7CisgICAgfQorCisgICAgX2Fzc29jaWF0ZUJ1ZyhldmVudCkKKyAgICB7CisgICAgICAg
IGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX3Rh
c2spOworCisgICAgICAgIHZhciB0cmFja2VyID0gQnVnVHJhY2tlci5maW5kQnlJZCh0aGlzLl9i
dWdUcmFja2VyQ29udHJvbC52YWx1ZSk7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRyYWNrZXIp
OworICAgICAgICB2YXIgYnVnTnVtYmVyID0gcGFyc2VJbnQodGhpcy5fYnVnTnVtYmVyQ29udHJv
bC52YWx1ZSk7CisKKyAgICAgICAgdmFyIHJlbmRlciA9IHRoaXMucmVuZGVyLmJpbmQodGhpcyk7
CisgICAgICAgIHJldHVybiB0aGlzLl90YXNrLmFzc29jaWF0ZUJ1Zyh0cmFja2VyLCBidWdOdW1i
ZXIpLnRoZW4ocmVuZGVyLCBmdW5jdGlvbiAoZXJyb3IpIHsKKyAgICAgICAgICAgIHJlbmRlcigp
OworICAgICAgICAgICAgYWxlcnQoJ0ZhaWxlZCB0byBhc3NvY2lhdGUgdGhlIGJ1ZzogJyArIGVy
cm9yKTsKKyAgICAgICAgfSk7CisgICAgfQorCisgICAgX2Rpc2Fzc29jaWF0ZUJ1ZyhidWcpCisg
ICAgeworICAgICAgICB2YXIgcmVuZGVyID0gdGhpcy5yZW5kZXIuYmluZCh0aGlzKTsKKyAgICAg
ICAgcmV0dXJuIHRoaXMuX3Rhc2suZGlzYXNzb2NpYXRlQnVnKGJ1ZykudGhlbihyZW5kZXIsIGZ1
bmN0aW9uIChlcnJvcikgeworICAgICAgICAgICAgcmVuZGVyKCk7CisgICAgICAgICAgICBhbGVy
dCgnRmFpbGVkIHRvIGRpc2Fzc29jaWF0ZSB0aGUgYnVnOiAnICsgZXJyb3IpOworICAgICAgICB9
KTsKKyAgICB9CisKICAgICBfcmV0cnlDdXJyZW50VGVzdEdyb3VwKGV2ZW50KQogICAgIHsKICAg
ICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKQEAgLTM2NiwxMiArNDczLDQxIEBAIGNsYXNz
IEFuYWx5c2lzVGFza1BhZ2UgZXh0ZW5kcyBQYWdlV2l0aEgKICAgICBzdGF0aWMgaHRtbFRlbXBs
YXRlKCkKICAgICB7CiAgICAgICAgIHJldHVybiBgCi0gICAgICAgIDxkaXYgY2xhc3M9ImFuYWx5
c2lzLXRhc2wtcGFnZS1jb250YWluZXIiPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iYW5hbHlz
aXMtdGFzbC1wYWdlIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFuYWx5c2lzLXRhc2stcGFn
ZSI+CiAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJhbmFseXNpcy10YXNrLW5hbWUiPjxlZGl0
YWJsZS10ZXh0PjwvZWRpdGFibGUtdGV4dD48L2gyPgogICAgICAgICAgICAgICAgIDxoMyBjbGFz
cz0icGxhdGZvcm0tbWV0cmljLW5hbWVzIj48YSBocmVmPSIiPjwvYT48L2gzPgogICAgICAgICAg
ICAgICAgIDxwIGNsYXNzPSJlcnJvci1tZXNzYWdlIj48L3A+Ci0gICAgICAgICAgICAgICAgPGRp
diBjbGFzcz0ib3ZlcnZpZXctY2hhcnQiPjxhbmFseXNpcy10YXNrLWNoYXJ0LXBhbmU+PC9hbmFs
eXNpcy10YXNrLWNoYXJ0LXBhbmU+PC9kaXY+CisgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0i
YW5hbHlzaXMtdGFzay1zdGF0dXMiPgorICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbj4KKyAg
ICAgICAgICAgICAgICAgICAgICAgIDxoMz5TdGF0dXM8L2gzPgorICAgICAgICAgICAgICAgICAg
ICAgICAgPGZvcm0gY2xhc3M9ImNoYW5nZS10eXBlLWZvcm0iPgorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDxzZWxlY3Q+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRp
b24gdmFsdWU9InVuY29uZmlybWVkIj5VbmNvbmZpcm1lZDwvb3B0aW9uPgorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJyZWdyZXNzaW9uIj5EZWZpbml0ZSBy
ZWdyZXNzaW9uPC9vcHRpb24+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRp
b24gdmFsdWU9InByb2dyZXNzaW9uIj5EZWZpbml0ZSBwcm9ncmVzc2lvbjwvb3B0aW9uPgorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJpbmNvbmNsdXNpdmUi
PkluY29uY2x1c2l2ZSAoQ2xvc2VkKTwvb3B0aW9uPgorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA8b3B0aW9uIHZhbHVlPSJ1bmNoYW5nZWQiPk5vIGNoYW5nZSAoQ2xvc2VkKTwvb3B0
aW9uPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PgorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0ic3VibWl0Ij5TYXZlPC9idXR0b24+CisgICAg
ICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+CisgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlv
bj4KKyAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24+CisgICAgICAgICAgICAgICAgICAgICAg
ICA8aDM+QXNzb2NpYXRlZCBCdWdzPC9oMz4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBj
bGFzcz0iYXNzb2NpYXRlZC1idWdzIj48L3VsPgorICAgICAgICAgICAgICAgICAgICAgICAgPGZv
cm0gY2xhc3M9ImFzc29jaWF0ZS1idWctZm9ybSI+CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPHNlbGVjdCBjbGFzcz0iYnVnLXRyYWNrZXItY29udHJvbCI+PC9zZWxlY3Q+CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9Im51bWJlciIgY2xhc3M9ImJ1Zy1udW1i
ZXItY29udHJvbCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJz
dWJtaXQiPkFkZDwvYnV0dG9uPgorICAgICAgICAgICAgICAgICAgICAgICAgPC9mb3JtPgorICAg
ICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CisgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9u
IGNsYXNzPSJyZWxhdGVkLXRhc2tzIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxoMz5SZWxh
dGVkIFRhc2tzPC9oMz4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icmVsYXRl
ZC10YXNrcy1saXN0Ij48L3VsPgorICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CisgICAg
ICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9Im92ZXJ2
aWV3LWNoYXJ0Ij4KKyAgICAgICAgICAgICAgICAgICAgPGFuYWx5c2lzLXRhc2stY2hhcnQtcGFu
ZT48L2FuYWx5c2lzLXRhc2stY2hhcnQtcGFuZT4KKyAgICAgICAgICAgICAgICA8L3NlY3Rpb24+
CiAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImFuYWx5c2lzLXJlc3VsdHMtdmlldyI+
CiAgICAgICAgICAgICAgICAgICAgIDxhbmFseXNpcy1yZXN1bHRzLXZpZXdlcj48L2FuYWx5c2lz
LXJlc3VsdHMtdmlld2VyPgogICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KQEAgLTM5OSwxNiAr
NTM1LDEzIEBAIGNsYXNzIEFuYWx5c2lzVGFza1BhZ2UgZXh0ZW5kcyBQYWdlV2l0aEgKICAgICAg
ICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAg
ICAgICAgPC9kaXY+Ci0gICAgICAgIDwvZGl2PgogYDsKICAgICB9CiAKICAgICBzdGF0aWMgY3Nz
VGVtcGxhdGUoKQogICAgIHsKICAgICAgICAgcmV0dXJuIGAKLSAgICAgICAgICAgIC5hbmFseXNp
cy10YXNsLXBhZ2UtY29udGFpbmVyIHsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC5hbmFs
eXNpcy10YXNsLXBhZ2UgeworICAgICAgICAgICAgLmFuYWx5c2lzLXRhc2stcGFnZSB7CiAgICAg
ICAgICAgICB9CiAKICAgICAgICAgICAgIC5hbmFseXNpcy10YXNrLW5hbWUgewpAQCAtNDQxLDYg
KzU3NCw0MyBAQCBjbGFzcyBBbmFseXNpc1Rhc2tQYWdlIGV4dGVuZHMgUGFnZVdpdGhICiAgICAg
ICAgICAgICAgICAgcGFkZGluZzogMDsKICAgICAgICAgICAgIH0KIAorICAgICAgICAgICAgLm92
ZXJ2aWV3LWNoYXJ0IHsKKyAgICAgICAgICAgICAgICBtYXJnaW46IDAgMXJlbTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgLmFuYWx5c2lzLXRhc2stc3RhdHVzIHsKKyAgICAgICAgICAg
ICAgICBtYXJnaW46IDA7CisgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDsKKyAgICAgICAg
ICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIC5hbmFseXNpcy10YXNrLXN0YXR1cyA+IHNlY3Rpb24geworICAgICAgICAgICAgICAgIGZs
ZXgtZ3JvdzogMTsKKyAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogc29saWQgMXB4ICNlZWU7
CisgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICAuYW5hbHlzaXMtdGFzay1zdGF0dXMgPiBzZWN0aW9uOmZpcnN0LWNoaWxkIHsK
KyAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgLmFzc29jaWF0ZWQtYnVnczpub3QoOmVtcHR5KSB7CisgICAgICAgICAgICAgICAg
bWFyZ2luLWJvdHRvbTogMXJlbTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLmFuYWx5
c2lzLXRhc2stc3RhdHVzIGgzIHsKKyAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07Cisg
ICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7CisgICAgICAgICAgICAgICAgY29s
b3I6ICNjOTM7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC5hbmFseXNpcy10YXNrLXN0
YXR1cyB1bCwKKyAgICAgICAgICAgIC5hbmFseXNpcy10YXNrLXN0YXR1cyBsaSB7CisgICAgICAg
ICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTsKKyAgICAgICAgICAgICAgICBwYWRkaW5nOiAwOwor
ICAgICAgICAgICAgICAgIG1hcmdpbjogMDsKKyAgICAgICAgICAgIH0KKwogICAgICAgICAgICAg
LmFuYWx5c2lzLXJlc3VsdHMtdmlldyB7CiAgICAgICAgICAgICAgICAgbWFyZ2luOiAxcmVtOwog
ICAgICAgICAgICAgfQpAQCAtNTA2LDEzICs2NzYsNiBAQCBjbGFzcyBBbmFseXNpc1Rhc2tQYWdl
IGV4dGVuZHMgUGFnZVdpdGhICiAgICAgICAgICAgICAudGVzdC1ncm91cC1saXN0ID4gbGk6bm90
KC5zZWxlY3RlZCkgPiBhOmhvdmVyIHsKICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWVl
OwogICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAueC1vdmVydmlldy1jaGFydCB7Ci0gICAg
ICAgICAgICAgICAgd2lkdGg6IGF1dG87Ci0gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHJlbTsK
LSAgICAgICAgICAgICAgICBtYXJnaW46IDFyZW07Ci0gICAgICAgICAgICAgICAgYm9yZGVyOiBz
b2xpZCAwcHggcmVkOwotICAgICAgICAgICAgfQogYDsKICAgICB9CiB9CkluZGV4OiBXZWJzaXRl
cy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL3BhZ2VzL2NoYXJ0LXBhbmUuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9wYWdlcy9jaGFydC1wYW5l
LmpzCShyZXZpc2lvbiAxOTY1NDgpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGlj
L3YzL3BhZ2VzL2NoYXJ0LXBhbmUuanMJKHdvcmtpbmcgY29weSkKQEAgLTIzOSw2ICsyMzksOCBA
QCBjbGFzcyBDaGFydFBhbmUgZXh0ZW5kcyBDaGFydFBhbmVCYXNlIHsKICAgICAgICAgICAgIC5j
aGFydC1wYW5lIHsKICAgICAgICAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAjY2NjOwogICAg
ICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTsKKyAgICAgICAgICAgICAgICBtYXJn
aW46IDFyZW07CisgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsKICAgICAgICAg
ICAgIH0KIAogICAgICAgICAgICAgLmNoYXJ0LXBhbmUtYm9keSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271278</attachid>
            <date>2016-02-13 01:28:53 -0800</date>
            <delta_ts>2016-02-13 13:30:10 -0800</delta_ts>
            <desc>Tweaked CSS a little</desc>
            <filename>bug-154212-20160213012832.patch</filename>
            <type>text/plain</type>
            <size>29520</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkocmV2aXNpb24gMTk2NTQ4KQorKysg
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDY1IEBACisyMDE2LTAyLTEzICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgor
CisgICAgICAgIHYzIFVJIHNob3VsZCBzaG93IHN0YXR1cyBhbmQgYXNzb2NpYXRlZCBidWdzIG9u
IGFuYWx5c2lzIHRhc2sgcGFnZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1NDIxMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZGVkIHRoZSBjYXBhYmlsaXR5IHRvIHNlZSBhbmQgbW9kaWZ5IHRoZSBz
dGF0dXMgYW5kIHRoZSBsaXN0IG9mIGFzc29jaWF0ZWQgb2YgYnVncyBvbiBhbmFseXNpcyB0YXNr
IHBhZ2VzLgorCisgICAgICAgIEFsc28gYWRkZWQgdGhlIGxpc3Qgb2YgcmVsYXRlZCB0YXNrcywg
d2hpY2ggYXJlIGFuYWx5c2lzIHRhc2tzIGFzc29jaWF0ZWQgd2l0aCB0aGUgc2FtZSBidWcgb3Ig
aGF2ZQorICAgICAgICBvdmVybGFwcGluZyB0aW1lIHJhbmdlcyB3aXRoIHRoZSBzYW1lIHRlc3Qg
bWV0cmljIGJ1dCBvbiBhIHBvdGVudGlhbGx5IGRpZmZlcmVudCBwbGF0Zm9ybS4KKworICAgICAg
ICBJbiBhZGRpdGlvbiwgY2F0ZWdvcml6ZSBhbmFseXNpcyB0YXNrcyB3aXRoIHRoZSBzdGF0dXMg
b2YgIm5vIGNoYW5nZSIgb3IgImluY29uY2x1c2l2ZSIgYXMgImNsb3NlZCIgYXMgbm8KKyAgICAg
ICAgZnVydGhlciBhY3Rpb24gY2FuIGJlIHRha2VuICh1c2VycyBjYW4gYnJpbmcgdGhlbSBiYWNr
IHRvIG5vbi1jbG9zZWQgc3RhdGUgd2l0aG91dCBhbnkgcmVzdHJpY3Rpb25zKS4KKworICAgICAg
ICAqIHB1YmxpYy9hcGkvYW5hbHlzaXMtdGFza3MucGhwOgorICAgICAgICAoZm9ybWF0X3Rhc2sp
OiBDYXRlZ29yaXplICd1bmNoYW5nZWQnIGFuZCAnaW5jb25jbHVzaXZlJyBhbmFseXNpcyB0YXNr
cyBhcyBjbG9zZWQuCisKKyAgICAgICAgKiBwdWJsaWMvcHJpdmlsZWdlZC1hcGkvYXNzb2NpYXRl
LWJ1Zy5waHA6CisgICAgICAgIChtYWluKTogQWRkZWQgc2hvdWxkRGVsZXRlIGFzIGEgbmV3IG1l
Y2hhbmlzbSB0byBkaXNhc3NvY2lhdGUgYSBidWcgc2luY2UgdjMgVUkgc2hhcmVzIGEgc2luZ2xl
IEJ1ZyBvYmplY3QKKyAgICAgICAgYmV0d2VlbiBtdWx0aXBsZSBhbmFseXNpcyB0YXNrcyAoYXMg
aXQgc2hvdWxkIGhhdmUgYmVlbiBpbiB0aGUgZmlyc3QgcGxhY2UpLgorCisgICAgICAgICogcHVi
bGljL3YzL2NvbXBvbmVudHMvY2hhcnQtcGFuZS1iYXNlLmpzOgorICAgICAgICAoQ2hhcnRQYW5l
QmFzZSk6CisgICAgICAgIChDaGFydFBhbmVCYXNlLnByb3RvdHlwZS5fZmV0Y2hBbmFseXNpc1Rh
c2tzKTogU2luY2UgZWFjaCBhbmFseXNpcyB0YXNrJ3MgY2hhbmdlIHR5cGUgKHN0YXR1cy9yZXN1
bHQpIGNvdWxkCisgICAgICAgIGNoYW5nZSwgd2UgbmVlZCB0byBjcmVhdGUgYW5ub3RhdGlvbiBv
YmplY3RzIGR1cmluZyBlYWNoIHJlbmRlcigpIGNhbGwuCisgICAgICAgIChDaGFydFBhbmVCYXNl
LnByb3RvdHlwZS5yZW5kZXIpOgorICAgICAgICAoQ2hhcnRQYW5lQmFzZS5wcm90b3R5cGUuX3Jl
bmRlckFubm90YXRpb25zKTogRXh0cmFjdGVkIGZyb20gQ2hhcnRQYW5lQmFzZS5wcm90b3R5cGUu
X2ZldGNoQW5hbHlzaXNUYXNrcyB0bworICAgICAgICBkbyB0aGF0LiBJIHdhcyBhZnJhaWQgb2Yg
dGhlIHBlcmYgaW1wYWN0IG9mIHRoaXMgYnV0IGl0IGRvZXNuJ3Qgc2VlbSB0byBiZSBhbiBpc3N1
ZSBpbiBteSB0ZXN0aW5nLgorICAgICAgICAoQ2hhcnRQYW5lQmFzZS5jc3NUZW1wbGF0ZSk6IFJl
bW92ZWQgc3VwZXJmbHVvdXMgbWFyZ2lucyAobW92ZWQgdG8gQ2hhcnRQYW5lLmNzc1RlbXBsYXRl
KSBhcm91bmQgdGhlIGNoYXJ0cworICAgICAgICBzaW5jZSB0aGV5IGFyZSBvbmx5IHVzZWZ1bCBp
biB0aGUgY2hhcnRzIHBhZ2UuCisKKyAgICAgICAgKiBwdWJsaWMvdjMvbW9kZWxzL2FuYWx5c2lz
LXRhc2suanM6CisgICAgICAgIChBbmFseXNpc1Rhc2spOgorICAgICAgICAoQW5hbHlzaXNUYXNr
LnByb3RvdHlwZS51cGRhdGVTaW5nbGV0b24pOiBBZGRlZCBhIGNvbW1lbnQgYXMgdG8gd2h5IG9i
amVjdC5yZXN1bHQgY2Fubm90IGJlIHJlbmFtZWQgdG8KKyAgICAgICAgb2JqZWN0LmNoYW5nZVR5
cGUgaW4gdGhlIEpTT04gQVBJLgorICAgICAgICAoQW5hbHlzaXNUYXNrLnByb3RvdHlwZS51cGRh
dGVOYW1lKTogQWRkZWQuCisgICAgICAgIChBbmFseXNpc1Rhc2sucHJvdG90eXBlLnVwZGF0ZUNo
YW5nZVR5cGUpOiBBZGRlZC4KKyAgICAgICAgKEFuYWx5c2lzVGFzay5wcm90b3R5cGUuX3VwZGF0
ZVJlbW90ZVN0YXRlKTogQWRkZWQuCisgICAgICAgIChBbmFseXNpc1Rhc2sucHJvdG90eXBlLmFz
c29jaWF0ZUJ1Zyk6IEFkZGVkLgorICAgICAgICAoQW5hbHlzaXNUYXNrLnByb3RvdHlwZS5kaXNh
c3NvY2lhdGVCdWcpOiBBZGRlZC4KKyAgICAgICAgKEFuYWx5c2lzVGFzay5mZXRjaFJlbGF0ZWRU
YXNrcyk6IEFkZGVkLiBTZWUgYWJvdmUgZm9yIHRoZSBjcml0ZXJpYSBvZiByZWxhdGVkLW5lc3Mu
CisKKyAgICAgICAgKiBwdWJsaWMvdjMvcGFnZXMvYW5hbHlzaXMtdGFzay1wYWdlLmpzOgorICAg
ICAgICAoQW5hbHlzaXNUYXNrUGFnZSk6CisgICAgICAgIChBbmFseXNpc1Rhc2tQYWdlLnByb3Rv
dHlwZS51cGRhdGVGcm9tU2VyaWFsaXplZFN0YXRlKToKKyAgICAgICAgKEFuYWx5c2lzVGFza1Bh
Z2UucHJvdG90eXBlLl9mZXRjaFJlbGF0ZWRJbmZvRm9yVGFza0lkKTogRXh0cmFjdGVkIGZyb20g
dXBkYXRlRnJvbVNlcmlhbGl6ZWRTdGF0ZS4KKyAgICAgICAgKEFuYWx5c2lzVGFza1BhZ2UucHJv
dG90eXBlLl9kaWRGZXRjaFJlbGF0ZWRBbmFseXNpc1Rhc2tzKTogQWRkZWQuCisgICAgICAgIChB
bmFseXNpc1Rhc2tQYWdlLnByb3RvdHlwZS5yZW5kZXIpOiBSZW5kZXIgdGhlIGxpc3Qgb2YgYXNz
b2NpYXRlZCBidWdzLCB0aGUgbGlzdCBvZiBidWcgdHJhY2tlcnMgKHNvIHRoYXQKKyAgICAgICAg
dXNlcnMgY2FuIHVzZSBpdCB0byBhc3NvY2lhdGUgd2l0aCBhIG5ldyBidWcpLCBhbmQgdGhlIGxp
c3Qgb2YgcmVsYXRlZCBhbmFseXNpcyB0YXNrcy4KKyAgICAgICAgKEFuYWx5c2lzVGFza1BhZ2Uu
cHJvdG90eXBlLl9yZW5kZXJUZXN0R3JvdXBMaXN0KTogRXh0cmFjdGVkIGZyb20gcmVuZGVyIHNp
bmNlIGl0IHdhcyBnZXR0aW5nIHRvbyBsb25nLgorICAgICAgICAoQW5hbHlzaXNUYXNrUGFnZS5w
cm90b3R5cGUuX3JlbmRlclRlc3RHcm91cERldGFpbHMpOiBEaXR0by4KKyAgICAgICAgKEFuYWx5
c2lzVGFza1BhZ2UucHJvdG90eXBlLl91cGRhdGVDaGFuZ2VUeXBlKTogQWRkZWQuCisgICAgICAg
IChBbmFseXNpc1Rhc2tQYWdlLnByb3RvdHlwZS5fYXNzb2NpYXRlQnVnKTogQWRkZWQuCisgICAg
ICAgIChBbmFseXNpc1Rhc2tQYWdlLnByb3RvdHlwZS5fZGlzYXNzb2NpYXRlQnVnKTogQWRkZWQu
CisgICAgICAgIChBbmFseXNpc1Rhc2tQYWdlLmh0bWxUZW1wbGF0ZSk6IEFkZGVkIHZhcmlvdXMg
ZWxlbWVudHMgdG8gc2hvdyBhbmQgbW9kaWZ5IHRoZSBzdGF0dXMsIGFzc29jaWF0ZSBidWdzLAor
ICAgICAgICBhbmQgYSBsaXN0IG9mIHJlbGF0ZWQgYW5hbHlzaXMgdGFza3MuCisgICAgICAgIChB
bmFseXNpc1Rhc2tQYWdlLmNzc1RlbXBsYXRlKTogQWRkZWQgdmFyaW91cyBzdHlsZXMgZm9yIHRo
b3NlIGZvcm0gY29udHJvbHMuCisKKyAgICAgICAgKiBwdWJsaWMvdjMvcGFnZXMvY2hhcnQtcGFu
ZS5qczoKKyAgICAgICAgKENoYXJ0UGFuZS5jc3NUZW1wbGF0ZSk6IE1vdmVkIHRoZSBtYXJnaW5z
IGZyb20gQ2hhcnRQYW5lQmFzZS5jc3NUZW1wbGF0ZS4KKwogMjAxNi0wMi0xMiAgUnlvc3VrZSBO
aXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBQZXJmIGRhc2hib2FyZCBzaG91bGQg
YWxsb3cgcmVuYW1pbmcgYW5hbHlzaXMgdGFza3MgYW5kIHRlc3QgZ3JvdXBzCkluZGV4OiBXZWJz
aXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL2FwaS9hbmFseXNpcy10YXNrcy5waHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9hcGkvYW5hbHlzaXMtdGFz
a3MucGhwCShyZXZpc2lvbiAxOTY1NDgpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVi
bGljL2FwaS9hbmFseXNpcy10YXNrcy5waHAJKHdvcmtpbmcgY29weSkKQEAgLTg1LDYgKzg1LDEz
IEBAIGZ1bmN0aW9uIGZldGNoX2FuZF9wdXNoX2J1Z3NfdG9fdGFza3MoJGQKIH0KIAogZnVuY3Rp
b24gZm9ybWF0X3Rhc2soJHRhc2tfcm93KSB7CisgICAgJGNhdGVnb3J5ID0gJ3VuY29uZmlybWVk
JzsKKyAgICAkcmVzdWx0ID0gJHRhc2tfcm93Wyd0YXNrX3Jlc3VsdCddOworICAgIGlmICgkcmVz
dWx0ID09ICd1bmNoYW5nZWQnIHx8ICRyZXN1bHQgPT0gJ2luY29uY2x1c2l2ZScpCisgICAgICAg
ICRjYXRlZ29yeSA9ICdjbG9zZWQnOworICAgIGVsc2UgaWYgKCRyZXN1bHQpCisgICAgICAgICRj
YXRlZ29yeSA9ICdiaXNlY3RpbmcnOworCiAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAnaWQn
ID0+ICR0YXNrX3Jvd1sndGFza19pZCddLAogICAgICAgICAnbmFtZScgPT4gJHRhc2tfcm93Wyd0
YXNrX25hbWUnXSwKQEAgLTk4LDggKzEwNSw4IEBAIGZ1bmN0aW9uIGZvcm1hdF90YXNrKCR0YXNr
X3JvdykgewogICAgICAgICAnc3RhcnRSdW5UaW1lJyA9PiBEYXRhYmFzZTo6dG9fanNfdGltZSgk
dGFza19yb3dbJ3Rhc2tfc3RhcnRfcnVuX3RpbWUnXSksCiAgICAgICAgICdlbmRSdW4nID0+ICR0
YXNrX3Jvd1sndGFza19lbmRfcnVuJ10sCiAgICAgICAgICdlbmRSdW5UaW1lJyA9PiBEYXRhYmFz
ZTo6dG9fanNfdGltZSgkdGFza19yb3dbJ3Rhc2tfZW5kX3J1bl90aW1lJ10pLAotICAgICAgICAn
Y2F0ZWdvcnknID0+ICR0YXNrX3Jvd1sndGFza19yZXN1bHQnXSA/ICdiaXNlY3RpbmcnIDogJ3Vu
Y29uZmlybWVkJywKLSAgICAgICAgJ3Jlc3VsdCcgPT4gJHRhc2tfcm93Wyd0YXNrX3Jlc3VsdCdd
LAorICAgICAgICAnY2F0ZWdvcnknID0+ICRjYXRlZ29yeSwKKyAgICAgICAgJ3Jlc3VsdCcgPT4g
JHJlc3VsdCwKICAgICAgICAgJ25lZWRlZCcgPT4gJHRhc2tfcm93Wyd0YXNrX25lZWRlZCddID8g
RGF0YWJhc2U6OmlzX3RydWUoJHRhc2tfcm93Wyd0YXNrX25lZWRlZCddKSA6IG51bGwsCiAgICAg
ICAgICdidWdzJyA9PiBhcnJheSgpLAogICAgICk7CkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtp
dC5vcmcvcHVibGljL3ByaXZpbGVnZWQtYXBpL2Fzc29jaWF0ZS1idWcucGhwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvcHJpdmlsZWdlZC1hcGkvYXNzb2Np
YXRlLWJ1Zy5waHAJKHJldmlzaW9uIDE5NjU0OCkKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9y
Zy9wdWJsaWMvcHJpdmlsZWdlZC1hcGkvYXNzb2NpYXRlLWJ1Zy5waHAJKHdvcmtpbmcgY29weSkK
QEAgLTksMTEgKzksMTIgQEAgZnVuY3Rpb24gbWFpbigpIHsKICAgICAkYnVnX3RyYWNrZXJfaWQg
PSBhcnJheV9nZXQoJGRhdGEsICdidWdUcmFja2VyJyk7CiAgICAgJGJ1Z19udW1iZXIgPSBhcnJh
eV9nZXQoJGRhdGEsICdudW1iZXInKTsKICAgICAkYnVnX2lkID0gYXJyYXlfZ2V0KCRkYXRhLCAn
YnVnVG9EZWxldGUnKTsKKyAgICAkc2hvdWxkX2RlbGV0ZSA9IGFycmF5X2dldCgkZGF0YSwgJ3No
b3VsZERlbGV0ZScpOwogCiAgICAgJGRiID0gY29ubmVjdCgpOwogICAgICRkYi0+YmVnaW5fdHJh
bnNhY3Rpb24oKTsKIAotICAgIGlmICgkYnVnX2lkKSB7CisgICAgaWYgKCRidWdfaWQpIHsgLy8g
VjIgY29tcGF0aWJpbGl0eQogICAgICAgICByZXF1aXJlX2Zvcm1hdCgnQnVnVG9EZWxldGUnLCAk
YnVnX2lkLCAnL15cZCskLycpOwogICAgICAgICAkY291bnQgPSAkZGItPnF1ZXJ5X2FuZF9nZXRf
YWZmZWN0ZWRfcm93cygiREVMRVRFIEZST00gYnVncyBXSEVSRSBidWdfaWQgPSAkMSIsIGFycmF5
KCRidWdfaWQpKTsKICAgICAgICAgaWYgKCRjb3VudCAhPSAxKSB7CkBAIC0yNCw3ICsyNSwxNiBA
QCBmdW5jdGlvbiBtYWluKCkgewogICAgICAgICByZXF1aXJlX2Zvcm1hdCgnQW5hbHlzaXNUYXNr
JywgJGFuYWx5c2lzX3Rhc2tfaWQsICcvXlxkKyQvJyk7CiAgICAgICAgIHJlcXVpcmVfZm9ybWF0
KCdCdWdUcmFja2VyJywgJGJ1Z190cmFja2VyX2lkLCAnL15cZCskLycpOwogICAgICAgICByZXF1
aXJlX2Zvcm1hdCgnQnVnTnVtYmVyJywgJGJ1Z19udW1iZXIsICcvXlxkKyQvJyk7Ci0gICAgICAg
ICRidWdfaWQgPSAkZGItPmluc2VydF9yb3coJ2J1Z3MnLCAnYnVnJywgYXJyYXkoJ3Rhc2snID0+
ICRhbmFseXNpc190YXNrX2lkLCAndHJhY2tlcicgPT4gJGJ1Z190cmFja2VyX2lkLCAnbnVtYmVy
JyA9PiAkYnVnX251bWJlcikpOworICAgICAgICBpZiAoJHNob3VsZF9kZWxldGUpIHsgLy8gVjMK
KyAgICAgICAgICAgICRjb3VudCA9ICRkYi0+cXVlcnlfYW5kX2dldF9hZmZlY3RlZF9yb3dzKCJE
RUxFVEUgRlJPTSBidWdzIFdIRVJFIGJ1Z190YXNrID0gJDEgQU5EIGJ1Z190cmFja2VyID0gJDIg
QU5EIGJ1Z19udW1iZXIgPSAkMyIsCisgICAgICAgICAgICAgICAgYXJyYXkoJGFuYWx5c2lzX3Rh
c2tfaWQsICRidWdfdHJhY2tlcl9pZCwgJGJ1Z19udW1iZXIpKTsKKyAgICAgICAgICAgIGlmICgk
Y291bnQgPCAxKSB7IC8vIEZJWE1FOiBXZSBzaG91bGQgZm9yYmlkIGR1cGxpY2F0ZSBidWdzIChz
YW1lIGJ1ZyBudW1iZXIgb24gc2FtZSB0cmFja2VyIGZvciBzYW1lIHRhc2spCisgICAgICAgICAg
ICAgICAgJGRiLT5yb2xsYmFja190cmFuc2FjdGlvbigpOworICAgICAgICAgICAgICAgIGV4aXRf
d2l0aF9lcnJvcignVW5leHBlY3RlZE51bWJlck9mQWZmZWN0ZWRSb3dzJywgYXJyYXkoJ2FmZmVj
dGVkUm93cycgPT4gJGNvdW50KSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICAkYnVnX2lkID0gJGRiLT5pbnNlcnRfcm93KCdidWdzJywgJ2J1ZycsIGFycmF5
KCd0YXNrJyA9PiAkYW5hbHlzaXNfdGFza19pZCwgJ3RyYWNrZXInID0+ICRidWdfdHJhY2tlcl9p
ZCwgJ251bWJlcicgPT4gJGJ1Z19udW1iZXIpKTsKKyAgICAgICAgfQogICAgIH0KICAgICAkZGIt
PmNvbW1pdF90cmFuc2FjdGlvbigpOwogCkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcv
cHVibGljL3YzL2NvbXBvbmVudHMvY2hhcnQtcGFuZS1iYXNlLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvY29tcG9uZW50cy9jaGFydC1wYW5lLWJh
c2UuanMJKHJldmlzaW9uIDE5NjU0OCkKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJs
aWMvdjMvY29tcG9uZW50cy9jaGFydC1wYW5lLWJhc2UuanMJKHdvcmtpbmcgY29weSkKQEAgLTE1
LDYgKzE1LDcgQEAgY2xhc3MgQ2hhcnRQYW5lQmFzZSBleHRlbmRzIENvbXBvbmVudEJhcwogICAg
ICAgICB0aGlzLl9tYWluQ2hhcnQgPSBudWxsOwogICAgICAgICB0aGlzLl9tYWluQ2hhcnRTdGF0
dXMgPSBudWxsOwogICAgICAgICB0aGlzLl9jb21taXRMb2dWaWV3ZXIgPSBudWxsOworICAgICAg
ICB0aGlzLl90YXNrc0ZvckFubm90YXRpb25zID0gbnVsbDsKICAgICB9CiAKICAgICBjb25maWd1
cmUocGxhdGZvcm1JZCwgbWV0cmljSWQpCkBAIC02MywzMiArNjQsMTEgQEAgY2xhc3MgQ2hhcnRQ
YW5lQmFzZSBleHRlbmRzIENvbXBvbmVudEJhcwogCiAgICAgX2ZldGNoQW5hbHlzaXNUYXNrcyhw
bGF0Zm9ybUlkLCBtZXRyaWNJZCkKICAgICB7CisgICAgICAgIC8vIEZJWE1FOiB3ZSBuZWVkIHRv
IHVwZGF0ZSB0aGUgYW5ub3RhdGlvbiBiYXJzIHdoZW4gdGhlIGNoYW5nZSB0eXBlIG9mIHRhc2tz
IGNoYW5nZS4KICAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwogICAgICAgICBBbmFseXNpc1Rhc2su
ZmV0Y2hCeVBsYXRmb3JtQW5kTWV0cmljKHBsYXRmb3JtSWQsIG1ldHJpY0lkKS50aGVuKGZ1bmN0
aW9uICh0YXNrcykgewotICAgICAgICAgICAgc2VsZi5fbWFpbkNoYXJ0LnNldEFubm90YXRpb25z
KHRhc2tzLm1hcChmdW5jdGlvbiAodGFzaykgewotICAgICAgICAgICAgICAgIHZhciBmaWxsU3R5
bGUgPSAnI2ZjNic7Ci0gICAgICAgICAgICAgICAgc3dpdGNoICh0YXNrLmNoYW5nZVR5cGUoKSkg
ewotICAgICAgICAgICAgICAgIGNhc2UgJ2luY29uY2x1c2l2ZSc6Ci0gICAgICAgICAgICAgICAg
ICAgIGZpbGxTdHlsZSA9ICcjZmNjJzsKLSAgICAgICAgICAgICAgICBjYXNlICdwcm9ncmVzc2lv
bic6Ci0gICAgICAgICAgICAgICAgICAgIGZpbGxTdHlsZSA9ICcjMzlmJzsKLSAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSAncmVncmVzc2lvbic6Ci0gICAg
ICAgICAgICAgICAgICAgIGZpbGxTdHlsZSA9ICcjYzYwJzsKLSAgICAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSAndW5jaGFuZ2VkJzoKLSAgICAgICAgICAgICAg
ICAgICAgZmlsbFN0eWxlID0gJyNjY2MnOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICByZXR1cm4gewotICAgICAgICAgICAg
ICAgICAgICB0YXNrOiB0YXNrLAotICAgICAgICAgICAgICAgICAgICBzdGFydFRpbWU6IHRhc2su
c3RhcnRUaW1lKCksCi0gICAgICAgICAgICAgICAgICAgIGVuZFRpbWU6IHRhc2suZW5kVGltZSgp
LAotICAgICAgICAgICAgICAgICAgICBsYWJlbDogdGFzay5sYWJlbCgpLAotICAgICAgICAgICAg
ICAgICAgICBmaWxsU3R5bGU6IGZpbGxTdHlsZSwKLSAgICAgICAgICAgICAgICB9OwotICAgICAg
ICAgICAgfSkpOworICAgICAgICAgICAgc2VsZi5fdGFza3NGb3JBbm5vdGF0aW9ucyA9IHRhc2tz
OworICAgICAgICAgICAgc2VsZi5yZW5kZXIoKTsKICAgICAgICAgfSk7CiAgICAgfQogCkBAIC0x
OTMsNiArMTczLDggQEAgY2xhc3MgQ2hhcnRQYW5lQmFzZSBleHRlbmRzIENvbXBvbmVudEJhcwog
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKKyAgICAgICAgdGhpcy5fcmVuZGVyQW5u
b3RhdGlvbnMoKTsKKwogICAgICAgICBpZiAodGhpcy5fbWFpbkNoYXJ0U3RhdHVzKQogICAgICAg
ICAgICAgdGhpcy5fbWFpbkNoYXJ0U3RhdHVzLnJlbmRlcigpOwogCkBAIC0yMDYsNiArMTg4LDM4
IEBAIGNsYXNzIENoYXJ0UGFuZUJhc2UgZXh0ZW5kcyBDb21wb25lbnRCYXMKICAgICAgICAgSW5z
dHJ1bWVudGF0aW9uLmVuZE1lYXN1cmluZ1RpbWUoJ0NoYXJ0UGFuZScsICdyZW5kZXInKTsKICAg
ICB9CiAKKyAgICBfcmVuZGVyQW5ub3RhdGlvbnMoKQorICAgIHsKKyAgICAgICAgaWYgKCF0aGlz
Ll90YXNrc0ZvckFubm90YXRpb25zKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHZh
ciBhbm5vdGF0aW9ucyA9IHRoaXMuX3Rhc2tzRm9yQW5ub3RhdGlvbnMubWFwKGZ1bmN0aW9uICh0
YXNrKSB7CisgICAgICAgICAgICB2YXIgZmlsbFN0eWxlID0gJyNmYzYnOworICAgICAgICAgICAg
c3dpdGNoICh0YXNrLmNoYW5nZVR5cGUoKSkgeworICAgICAgICAgICAgY2FzZSAnaW5jb25jbHVz
aXZlJzoKKyAgICAgICAgICAgICAgICBmaWxsU3R5bGUgPSAnI2ZjYyc7CisgICAgICAgICAgICBj
YXNlICdwcm9ncmVzc2lvbic6CisgICAgICAgICAgICAgICAgZmlsbFN0eWxlID0gJyMzOWYnOwor
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAncmVncmVzc2lvbic6Cisg
ICAgICAgICAgICAgICAgZmlsbFN0eWxlID0gJyNjNjAnOworICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgY2FzZSAndW5jaGFuZ2VkJzoKKyAgICAgICAgICAgICAgICBmaWxsU3R5
bGUgPSAnI2NjYyc7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIHJldHVybiB7CisgICAgICAgICAgICAgICAgdGFzazogdGFzaywKKyAgICAgICAg
ICAgICAgICBzdGFydFRpbWU6IHRhc2suc3RhcnRUaW1lKCksCisgICAgICAgICAgICAgICAgZW5k
VGltZTogdGFzay5lbmRUaW1lKCksCisgICAgICAgICAgICAgICAgbGFiZWw6IHRhc2subGFiZWwo
KSwKKyAgICAgICAgICAgICAgICBmaWxsU3R5bGU6IGZpbGxTdHlsZSwKKyAgICAgICAgICAgIH07
CisgICAgICAgIH0pOworICAgICAgICB0aGlzLl9tYWluQ2hhcnQuc2V0QW5ub3RhdGlvbnMoYW5u
b3RhdGlvbnMpOworICAgIH0KKwogICAgIHN0YXRpYyBodG1sVGVtcGxhdGUoKQogICAgIHsKICAg
ICAgICAgcmV0dXJuIGAKQEAgLTIzMSw4ICsyNDUsNiBAQCBjbGFzcyBDaGFydFBhbmVCYXNlIGV4
dGVuZHMgQ29tcG9uZW50QmFzCiAgICAgewogICAgICAgICByZXR1cm4gVG9vbGJhci5jc3NUZW1w
bGF0ZSgpICsgYAogICAgICAgICAgICAgLmNoYXJ0LXBhbmUgewotICAgICAgICAgICAgICAgIG1h
cmdpbjogMXJlbTsKLSAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtOwogICAgICAg
ICAgICAgICAgIHBhZGRpbmc6IDByZW07CiAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxOHJlbTsK
ICAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lOwpJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJr
aXQub3JnL3B1YmxpYy92My9tb2RlbHMvYW5hbHlzaXMtdGFzay5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL21vZGVscy9hbmFseXNpcy10YXNrLmpz
CShyZXZpc2lvbiAxOTY1NDgpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3Yz
L21vZGVscy9hbmFseXNpcy10YXNrLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xNyw3ICsxNyw3IEBA
IGNsYXNzIEFuYWx5c2lzVGFzayBleHRlbmRzIExhYmVsZWRPYmplY3QKICAgICAgICAgdGhpcy5f
ZW5kTWVhc3VyZW1lbnRJZCA9IG9iamVjdC5lbmRSdW47CiAgICAgICAgIHRoaXMuX2VuZFRpbWUg
PSBvYmplY3QuZW5kUnVuVGltZTsKICAgICAgICAgdGhpcy5fY2F0ZWdvcnkgPSBvYmplY3QuY2F0
ZWdvcnk7Ci0gICAgICAgIHRoaXMuX2NoYW5nZVR5cGUgPSBvYmplY3QucmVzdWx0OworICAgICAg
ICB0aGlzLl9jaGFuZ2VUeXBlID0gb2JqZWN0LnJlc3VsdDsgLy8gQ2FuJ3QgY2hhbmdlIGR1ZSB0
byB2MiBjb21wYXRpYmlsaXR5LgogICAgICAgICB0aGlzLl9uZWVkZWQgPSBvYmplY3QubmVlZGVk
OwogICAgICAgICB0aGlzLl9idWdzID0gb2JqZWN0LmJ1Z3MgfHwgW107CiAgICAgICAgIHRoaXMu
X2J1aWxkUmVxdWVzdENvdW50ID0gb2JqZWN0LmJ1aWxkUmVxdWVzdENvdW50OwpAQCAtNDMsNyAr
NDMsNyBAQCBjbGFzcyBBbmFseXNpc1Rhc2sgZXh0ZW5kcyBMYWJlbGVkT2JqZWN0CiAgICAgICAg
IGNvbnNvbGUuYXNzZXJ0KHRoaXMuX2VuZFRpbWUgPT0gb2JqZWN0LmVuZFJ1blRpbWUpOwogCiAg
ICAgICAgIHRoaXMuX2NhdGVnb3J5ID0gb2JqZWN0LmNhdGVnb3J5OwotICAgICAgICB0aGlzLl9j
aGFuZ2VUeXBlID0gb2JqZWN0LnJlc3VsdDsKKyAgICAgICAgdGhpcy5fY2hhbmdlVHlwZSA9IG9i
amVjdC5yZXN1bHQ7IC8vIENhbid0IGNoYW5nZSBkdWUgdG8gdjIgY29tcGF0aWJpbGl0eS4KICAg
ICAgICAgdGhpcy5fbmVlZGVkID0gb2JqZWN0Lm5lZWRlZDsKICAgICAgICAgdGhpcy5fYnVncyA9
IG9iamVjdC5idWdzIHx8IFtdOwogICAgICAgICB0aGlzLl9idWlsZFJlcXVlc3RDb3VudCA9IG9i
amVjdC5idWlsZFJlcXVlc3RDb3VudDsKQEAgLTY3LDEzICs2Nyw0MyBAQCBjbGFzcyBBbmFseXNp
c1Rhc2sgZXh0ZW5kcyBMYWJlbGVkT2JqZWN0CiAgICAgY2F0ZWdvcnkoKSB7IHJldHVybiB0aGlz
Ll9jYXRlZ29yeTsgfQogICAgIGNoYW5nZVR5cGUoKSB7IHJldHVybiB0aGlzLl9jaGFuZ2VUeXBl
OyB9CiAKLSAgICB1cGRhdGVOYW1lKG5ld05hbWUpCisgICAgdXBkYXRlTmFtZShuZXdOYW1lKSB7
IHJldHVybiB0aGlzLl91cGRhdGVSZW1vdGVTdGF0ZSh7bmFtZTogbmV3TmFtZX0pOyB9CisgICAg
dXBkYXRlQ2hhbmdlVHlwZShjaGFuZ2VUeXBlKSB7IHJldHVybiB0aGlzLl91cGRhdGVSZW1vdGVT
dGF0ZSh7cmVzdWx0OiBjaGFuZ2VUeXBlfSk7IH0KKworICAgIF91cGRhdGVSZW1vdGVTdGF0ZShw
YXJhbSkKKyAgICB7CisgICAgICAgIHBhcmFtLnRhc2sgPSB0aGlzLmlkKCk7CisgICAgICAgIHJl
dHVybiBQcml2aWxlZ2VkQVBJLnNlbmRSZXF1ZXN0KCd1cGRhdGUtYW5hbHlzaXMtdGFzaycsIHBh
cmFtKS50aGVuKGZ1bmN0aW9uIChkYXRhKSB7CisgICAgICAgICAgICByZXR1cm4gQW5hbHlzaXNU
YXNrLmNhY2hlZEZldGNoKCcuLi9hcGkvYW5hbHlzaXMtdGFza3MnLCB7aWQ6IHBhcmFtLnRhc2t9
LCB0cnVlKQorICAgICAgICAgICAgICAgIC50aGVuKEFuYWx5c2lzVGFzay5fY29uc3RydWN0QW5h
bHlzaXNUYXNrc0Zyb21SYXdEYXRhLmJpbmQoQW5hbHlzaXNUYXNrKSk7CisgICAgICAgIH0pOwor
ICAgIH0KKworICAgIGFzc29jaWF0ZUJ1Zyh0cmFja2VyLCBidWdOdW1iZXIpCiAgICAgewotICAg
ICAgICB2YXIgc2VsZiA9IHRoaXM7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRyYWNrZXIgaW5z
dGFuY2VvZiBCdWdUcmFja2VyKTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQodHlwZW9mKGJ1Z051
bWJlcikgPT0gJ251bWJlcicpOwogICAgICAgICB2YXIgaWQgPSB0aGlzLmlkKCk7Ci0gICAgICAg
IHJldHVybiBQcml2aWxlZ2VkQVBJLnNlbmRSZXF1ZXN0KCd1cGRhdGUtYW5hbHlzaXMtdGFzaycs
IHsKKyAgICAgICAgcmV0dXJuIFByaXZpbGVnZWRBUEkuc2VuZFJlcXVlc3QoJ2Fzc29jaWF0ZS1i
dWcnLCB7CiAgICAgICAgICAgICB0YXNrOiBpZCwKLSAgICAgICAgICAgIG5hbWU6IG5ld05hbWUs
CisgICAgICAgICAgICBidWdUcmFja2VyOiB0cmFja2VyLmlkKCksCisgICAgICAgICAgICBudW1i
ZXI6IGJ1Z051bWJlciwKKyAgICAgICAgfSkudGhlbihmdW5jdGlvbiAoZGF0YSkgeworICAgICAg
ICAgICAgcmV0dXJuIEFuYWx5c2lzVGFzay5jYWNoZWRGZXRjaCgnLi4vYXBpL2FuYWx5c2lzLXRh
c2tzJywge2lkOiBpZH0sIHRydWUpCisgICAgICAgICAgICAgICAgLnRoZW4oQW5hbHlzaXNUYXNr
Ll9jb25zdHJ1Y3RBbmFseXNpc1Rhc2tzRnJvbVJhd0RhdGEuYmluZChBbmFseXNpc1Rhc2spKTsK
KyAgICAgICAgfSk7CisgICAgfQorCisgICAgZGlzYXNzb2NpYXRlQnVnKGJ1ZykKKyAgICB7Cisg
ICAgICAgIGNvbnNvbGUuYXNzZXJ0KGJ1ZyBpbnN0YW5jZW9mIEJ1Zyk7CisgICAgICAgIGNvbnNv
bGUuYXNzZXJ0KHRoaXMuYnVncygpLmluY2x1ZGVzKGJ1ZykpOworICAgICAgICB2YXIgaWQgPSB0
aGlzLmlkKCk7CisgICAgICAgIHJldHVybiBQcml2aWxlZ2VkQVBJLnNlbmRSZXF1ZXN0KCdhc3Nv
Y2lhdGUtYnVnJywgeworICAgICAgICAgICAgdGFzazogaWQsCisgICAgICAgICAgICBidWdUcmFj
a2VyOiBidWcuYnVnVHJhY2tlcigpLmlkKCksCisgICAgICAgICAgICBudW1iZXI6IGJ1Zy5idWdO
dW1iZXIoKSwKKyAgICAgICAgICAgIHNob3VsZERlbGV0ZTogdHJ1ZSwKICAgICAgICAgfSkudGhl
bihmdW5jdGlvbiAoZGF0YSkgewogICAgICAgICAgICAgcmV0dXJuIEFuYWx5c2lzVGFzay5jYWNo
ZWRGZXRjaCgnLi4vYXBpL2FuYWx5c2lzLXRhc2tzJywge2lkOiBpZH0sIHRydWUpCiAgICAgICAg
ICAgICAgICAgLnRoZW4oQW5hbHlzaXNUYXNrLl9jb25zdHJ1Y3RBbmFseXNpc1Rhc2tzRnJvbVJh
d0RhdGEuYmluZChBbmFseXNpc1Rhc2spKTsKQEAgLTEwNyw2ICsxMzcsMzEgQEAgY2xhc3MgQW5h
bHlzaXNUYXNrIGV4dGVuZHMgTGFiZWxlZE9iamVjdAogICAgICAgICB9KTsKICAgICB9CiAKKyAg
ICBzdGF0aWMgZmV0Y2hSZWxhdGVkVGFza3ModGFza0lkKQorICAgIHsKKyAgICAgICAgLy8gRklY
TUU6IFdlIHNob3VsZCBhZGQgbmV3IHNldmVyLXNpZGUgQVBJIHRvIGp1c3QgZmV0Y2ggdGhlIHJl
bGF0ZWQgdGFza3MuCisgICAgICAgIHJldHVybiB0aGlzLmZldGNoQWxsKCkudGhlbihmdW5jdGlv
biAoKSB7CisgICAgICAgICAgICB2YXIgdGFzayA9IEFuYWx5c2lzVGFzay5maW5kQnlJZCh0YXNr
SWQpOworICAgICAgICAgICAgaWYgKCF0YXNrKQorICAgICAgICAgICAgICAgIHJldHVybiB1bmRl
ZmluZWQ7CisgICAgICAgICAgICB2YXIgcmVsYXRlZFRhc2tzID0gbmV3IFNldDsKKyAgICAgICAg
ICAgIGZvciAodmFyIGJ1ZyBvZiB0YXNrLmJ1Z3MoKSkgeworICAgICAgICAgICAgICAgIGZvciAo
dmFyIG90aGVyVGFzayBvZiBBbmFseXNpc1Rhc2suYWxsKCkpIHsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKG90aGVyVGFzay5idWdzKCkuaW5jbHVkZXMoYnVnKSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHJlbGF0ZWRUYXNrcy5hZGQob3RoZXJUYXNrKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICBmb3IgKHZhciBvdGhlclRhc2sgb2YgQW5hbHlzaXNU
YXNrLmFsbCgpKSB7CisgICAgICAgICAgICAgICAgaWYgKHRhc2suZW5kVGltZSgpIDwgb3RoZXJU
YXNrLnN0YXJ0VGltZSgpCisgICAgICAgICAgICAgICAgICAgIHx8IG90aGVyVGFzay5lbmRUaW1l
KCkgPCB0YXNrLnN0YXJ0VGltZSgpCisgICAgICAgICAgICAgICAgICAgIHx8IHRhc2subWV0cmlj
KCkgIT0gb3RoZXJUYXNrLm1ldHJpYygpKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsK
KyAgICAgICAgICAgICAgICByZWxhdGVkVGFza3MuYWRkKG90aGVyVGFzayk7CisgICAgICAgICAg
ICB9CisgICAgICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShyZWxhdGVkVGFza3MpOworICAgICAg
ICB9KTsKKyAgICB9CisKICAgICBzdGF0aWMgX2ZldGNoU3Vic2V0KHBhcmFtcykKICAgICB7CiAg
ICAgICAgIGlmICh0aGlzLl9mZXRjaEFsbFByb21pc2UpCkluZGV4OiBXZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvcHVibGljL3YzL3BhZ2VzL2FuYWx5c2lzLXRhc2stcGFnZS5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL3BhZ2VzL2FuYWx5c2lzLXRh
c2stcGFnZS5qcwkocmV2aXNpb24gMTk2NTQ4KQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3Jn
L3B1YmxpYy92My9wYWdlcy9hbmFseXNpcy10YXNrLXBhZ2UuanMJKHdvcmtpbmcgY29weSkKQEAg
LTE3LDYgKzE3LDcgQEAgY2xhc3MgQW5hbHlzaXNUYXNrUGFnZSBleHRlbmRzIFBhZ2VXaXRoSAog
ICAgIHsKICAgICAgICAgc3VwZXIoJ0FuYWx5c2lzIFRhc2snKTsKICAgICAgICAgdGhpcy5fdGFz
ayA9IG51bGw7CisgICAgICAgIHRoaXMuX3JlbGF0ZWRUYXNrcyA9IG51bGw7CiAgICAgICAgIHRo
aXMuX3Rlc3RHcm91cHMgPSBudWxsOwogICAgICAgICB0aGlzLl9yZW5kZXJlZFRlc3RHcm91cHMg
PSBudWxsOwogICAgICAgICB0aGlzLl90ZXN0R3JvdXBMYWJlbE1hcCA9IG5ldyBNYXA7CkBAIC0y
Nyw2ICsyOCw3IEBAIGNsYXNzIEFuYWx5c2lzVGFza1BhZ2UgZXh0ZW5kcyBQYWdlV2l0aEgKICAg
ICAgICAgdGhpcy5fZW5kUG9pbnQgPSBudWxsOwogICAgICAgICB0aGlzLl9lcnJvck1lc3NhZ2Ug
PSBudWxsOwogICAgICAgICB0aGlzLl9jdXJyZW50VGVzdEdyb3VwID0gbnVsbDsKKwogICAgICAg
ICB0aGlzLl9jaGFydFBhbmUgPSB0aGlzLmNvbnRlbnQoKS5xdWVyeVNlbGVjdG9yKCdhbmFseXNp
cy10YXNrLWNoYXJ0LXBhbmUnKS5jb21wb25lbnQoKTsKICAgICAgICAgdGhpcy5fY2hhcnRQYW5l
LnNldFBhZ2UodGhpcyk7CiAgICAgICAgIHRoaXMuX2FuYWx5c2lzUmVzdWx0c1ZpZXdlciA9IHRo
aXMuY29udGVudCgpLnF1ZXJ5U2VsZWN0b3IoJ2FuYWx5c2lzLXJlc3VsdHMtdmlld2VyJykuY29t
cG9uZW50KCk7CkBAIC0zNiw2ICszOCwxMyBAQCBjbGFzcyBBbmFseXNpc1Rhc2tQYWdlIGV4dGVu
ZHMgUGFnZVdpdGhICiAgICAgICAgIHRoaXMuX3Rhc2tOYW1lTGFiZWwuc2V0U3RhcnRlZEVkaXRp
bmdDYWxsYmFjayh0aGlzLl9kaWRTdGFydEVkaXRpbmdUYXNrTmFtZS5iaW5kKHRoaXMpKTsKICAg
ICAgICAgdGhpcy5fdGFza05hbWVMYWJlbC5zZXRVcGRhdGVDYWxsYmFjayh0aGlzLl91cGRhdGVU
YXNrTmFtZS5iaW5kKHRoaXMpKTsKIAorICAgICAgICB0aGlzLmNvbnRlbnQoKS5xdWVyeVNlbGVj
dG9yKCcuY2hhbmdlLXR5cGUtZm9ybScpLm9uc3VibWl0ID0gdGhpcy5fdXBkYXRlQ2hhbmdlVHlw
ZS5iaW5kKHRoaXMpOworICAgICAgICB0aGlzLl90YXNrU3RhdHVzQ29udHJvbCA9IHRoaXMuY29u
dGVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5jaGFuZ2UtdHlwZS1mb3JtIHNlbGVjdCcpOworCisgICAg
ICAgIHRoaXMuY29udGVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5hc3NvY2lhdGUtYnVnLWZvcm0nKS5v
bnN1Ym1pdCA9IHRoaXMuX2Fzc29jaWF0ZUJ1Zy5iaW5kKHRoaXMpOworICAgICAgICB0aGlzLl9i
dWdUcmFja2VyQ29udHJvbCA9IHRoaXMuY29udGVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5idWctdHJh
Y2tlci1jb250cm9sJyk7CisgICAgICAgIHRoaXMuX2J1Z051bWJlckNvbnRyb2wgPSB0aGlzLmNv
bnRlbnQoKS5xdWVyeVNlbGVjdG9yKCcuYnVnLW51bWJlci1jb250cm9sJyk7CisKICAgICAgICAg
dGhpcy5jb250ZW50KCkucXVlcnlTZWxlY3RvcignLnRlc3QtZ3JvdXAtcmV0cnktZm9ybScpLm9u
c3VibWl0ID0gdGhpcy5fcmV0cnlDdXJyZW50VGVzdEdyb3VwLmJpbmQodGhpcyk7CiAgICAgfQog
CkBAIC01MSwxMyArNjAsMTEgQEAgY2xhc3MgQW5hbHlzaXNUYXNrUGFnZSBleHRlbmRzIFBhZ2VX
aXRoSAogICAgICAgICAgICAgICAgIHNlbGYuX2Vycm9yTWVzc2FnZSA9IGBGYWlsZWQgdG8gZmV0
Y2ggdGhlIGFuYWx5c2lzIHRhc2sgJHtzdGF0ZS5yZW1haW5pbmdSb3V0ZX06ICR7ZXJyb3J9YDsK
ICAgICAgICAgICAgICAgICBzZWxmLnJlbmRlcigpOwogICAgICAgICAgICAgfSk7Ci0gICAgICAg
ICAgICBUZXN0R3JvdXAuZmV0Y2hCeVRhc2sodGFza0lkKS50aGVuKHRoaXMuX2RpZEZldGNoVGVz
dEdyb3Vwcy5iaW5kKHRoaXMpKTsKLSAgICAgICAgICAgIEFuYWx5c2lzUmVzdWx0cy5mZXRjaCh0
YXNrSWQpLnRoZW4odGhpcy5fZGlkRmV0Y2hBbmFseXNpc1Jlc3VsdHMuYmluZCh0aGlzKSk7Cisg
ICAgICAgICAgICB0aGlzLl9mZXRjaFJlbGF0ZWRJbmZvRm9yVGFza0lkKHRhc2tJZCk7CiAgICAg
ICAgIH0gZWxzZSBpZiAoc3RhdGUuYnVpbGRSZXF1ZXN0KSB7CiAgICAgICAgICAgICB2YXIgYnVp
bGRSZXF1ZXN0SWQgPSBwYXJzZUludChzdGF0ZS5idWlsZFJlcXVlc3QpOwogICAgICAgICAgICAg
QW5hbHlzaXNUYXNrLmZldGNoQnlCdWlsZFJlcXVlc3RJZChidWlsZFJlcXVlc3RJZCkudGhlbih0
aGlzLl9kaWRGZXRjaFRhc2suYmluZCh0aGlzKSkudGhlbihmdW5jdGlvbiAodGFzaykgewotICAg
ICAgICAgICAgICAgIFRlc3RHcm91cC5mZXRjaEJ5VGFzayh0YXNrLmlkKCkpLnRoZW4oc2VsZi5f
ZGlkRmV0Y2hUZXN0R3JvdXBzLmJpbmQoc2VsZikpOwotICAgICAgICAgICAgICAgIEFuYWx5c2lz
UmVzdWx0cy5mZXRjaCh0YXNrLmlkKCkpLnRoZW4oc2VsZi5fZGlkRmV0Y2hBbmFseXNpc1Jlc3Vs
dHMuYmluZChzZWxmKSk7CisgICAgICAgICAgICAgICAgc2VsZi5fZmV0Y2hSZWxhdGVkSW5mb0Zv
clRhc2tJZCh0YXNrLmlkKCkpOwogICAgICAgICAgICAgfSwgZnVuY3Rpb24gKGVycm9yKSB7CiAg
ICAgICAgICAgICAgICAgc2VsZi5fZXJyb3JNZXNzYWdlID0gYEZhaWxlZCB0byBmZXRjaCB0aGUg
YW5hbHlzaXMgdGFzayBmb3IgdGhlIGJ1aWxkIHJlcXVlc3QgJHtidWlsZFJlcXVlc3RJZH06ICR7
ZXJyb3J9YDsKICAgICAgICAgICAgICAgICBzZWxmLnJlbmRlcigpOwpAQCAtNjUsNiArNzIsMTMg
QEAgY2xhc3MgQW5hbHlzaXNUYXNrUGFnZSBleHRlbmRzIFBhZ2VXaXRoSAogICAgICAgICB9CiAg
ICAgfQogCisgICAgX2ZldGNoUmVsYXRlZEluZm9Gb3JUYXNrSWQodGFza0lkKQorICAgIHsKKyAg
ICAgICAgVGVzdEdyb3VwLmZldGNoQnlUYXNrKHRhc2tJZCkudGhlbih0aGlzLl9kaWRGZXRjaFRl
c3RHcm91cHMuYmluZCh0aGlzKSk7CisgICAgICAgIEFuYWx5c2lzUmVzdWx0cy5mZXRjaCh0YXNr
SWQpLnRoZW4odGhpcy5fZGlkRmV0Y2hBbmFseXNpc1Jlc3VsdHMuYmluZCh0aGlzKSk7CisgICAg
ICAgIEFuYWx5c2lzVGFzay5mZXRjaFJlbGF0ZWRUYXNrcyh0YXNrSWQpLnRoZW4odGhpcy5fZGlk
RmV0Y2hSZWxhdGVkQW5hbHlzaXNUYXNrcy5iaW5kKHRoaXMpKTsKKyAgICB9CisKICAgICBfZGlk
RmV0Y2hUYXNrKHRhc2spCiAgICAgewogICAgICAgICBjb25zb2xlLmFzc2VydCghdGhpcy5fdGFz
ayk7CkBAIC05Miw2ICsxMDYsMTIgQEAgY2xhc3MgQW5hbHlzaXNUYXNrUGFnZSBleHRlbmRzIFBh
Z2VXaXRoSAogICAgICAgICByZXR1cm4gdGFzazsKICAgICB9CiAKKyAgICBfZGlkRmV0Y2hSZWxh
dGVkQW5hbHlzaXNUYXNrcyhyZWxhdGVkVGFza3MpCisgICAgeworICAgICAgICB0aGlzLl9yZWxh
dGVkVGFza3MgPSByZWxhdGVkVGFza3M7CisgICAgICAgIHRoaXMucmVuZGVyKCk7CisgICAgfQor
CiAgICAgX2RpZEZldGNoTWVhc3VyZW1lbnQoKQogICAgIHsKICAgICAgICAgY29uc29sZS5hc3Nl
cnQodGhpcy5fdGFzayk7CkBAIC0xNTksNiArMTc5LDggQEAgY2xhc3MgQW5hbHlzaXNUYXNrUGFn
ZSBleHRlbmRzIFBhZ2VXaXRoSAogCiAgICAgICAgIHRoaXMuX2NoYXJ0UGFuZS5yZW5kZXIoKTsK
IAorICAgICAgICB2YXIgZWxlbWVudCA9IENvbXBvbmVudEJhc2UuY3JlYXRlRWxlbWVudDsKKyAg
ICAgICAgdmFyIGxpbmsgPSBDb21wb25lbnRCYXNlLmNyZWF0ZUxpbms7CiAgICAgICAgIGlmICh0
aGlzLl90YXNrKSB7CiAgICAgICAgICAgICB0aGlzLl90YXNrTmFtZUxhYmVsLnNldFRleHQodGhp
cy5fdGFzay5uYW1lKCkpOwogICAgICAgICAgICAgdmFyIHBsYXRmb3JtID0gdGhpcy5fdGFzay5w
bGF0Zm9ybSgpOwpAQCAtMTY2LDE0ICsxODgsNTkgQEAgY2xhc3MgQW5hbHlzaXNUYXNrUGFnZSBl
eHRlbmRzIFBhZ2VXaXRoSAogICAgICAgICAgICAgdmFyIGFuY2hvciA9IHRoaXMuY29udGVudCgp
LnF1ZXJ5U2VsZWN0b3IoJy5wbGF0Zm9ybS1tZXRyaWMtbmFtZXMgYScpOwogICAgICAgICAgICAg
dGhpcy5yZW5kZXJSZXBsYWNlKGFuY2hvciwgbWV0cmljLmZ1bGxOYW1lKCkgKyAnIG9uICcgKyBw
bGF0Zm9ybS5sYWJlbCgpKTsKICAgICAgICAgICAgIGFuY2hvci5ocmVmID0gdGhpcy5yb3V0ZXIo
KS51cmwoJ2NoYXJ0cycsIENoYXJ0c1BhZ2UuY3JlYXRlU3RhdGVGb3JBbmFseXNpc1Rhc2sodGhp
cy5fdGFzaykpOworCisgICAgICAgICAgICB2YXIgYnVncyA9IFtdOworICAgICAgICAgICAgZm9y
ICh2YXIgYnVnIG9mIHRoaXMuX3Rhc2suYnVncygpKSB7CisgICAgICAgICAgICAgICAgYnVncy5w
dXNoKGVsZW1lbnQoJ2xpJywgWworICAgICAgICAgICAgICAgICAgICBidWcuYnVnVHJhY2tlcigp
LmxhYmVsKCkgKyAnICcsCisgICAgICAgICAgICAgICAgICAgIGxpbmsoYnVnLmxhYmVsKCksIGJ1
Zy50aXRsZSgpLCBidWcudXJsKCkpLAorICAgICAgICAgICAgICAgICAgICAnICcsCisgICAgICAg
ICAgICAgICAgICAgIGxpbmsobmV3IENsb3NlQnV0dG9uLCAnRGlzYXNzb2NpYXRlIHRoaXMgYnVn
JywgdGhpcy5fZGlzYXNzb2NpYXRlQnVnLmJpbmQodGhpcywgYnVnKSldKSk7CisgICAgICAgICAg
ICB9CisgICAgICAgICAgICB0aGlzLnJlbmRlclJlcGxhY2UodGhpcy5jb250ZW50KCkucXVlcnlT
ZWxlY3RvcignLmFzc29jaWF0ZWQtYnVncycpLCBidWdzKTsKKworICAgICAgICAgICAgdGhpcy5f
dGFza1N0YXR1c0NvbnRyb2wudmFsdWUgPSB0aGlzLl90YXNrLmNoYW5nZVR5cGUoKSB8fCAndW5j
b25maXJtZWQnOwogICAgICAgICB9CisKKyAgICAgICAgdmFyIGVsZW1lbnQgPSBDb21wb25lbnRC
YXNlLmNyZWF0ZUVsZW1lbnQ7CisgICAgICAgIHRoaXMucmVuZGVyUmVwbGFjZSh0aGlzLl9idWdU
cmFja2VyQ29udHJvbCwKKyAgICAgICAgICAgIEJ1Z1RyYWNrZXIuYWxsKCkubWFwKGZ1bmN0aW9u
ICh0cmFja2VyKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQoJ29wdGlvbicsIHt2
YWx1ZTogdHJhY2tlci5pZCgpfSwgdHJhY2tlci5sYWJlbCgpKTsKKyAgICAgICAgICAgIH0pKTsK
KworICAgICAgICB0aGlzLmNvbnRlbnQoKS5xdWVyeVNlbGVjdG9yKCcuYW5hbHlzaXMtdGFzay1z
dGF0dXMnKS5zdHlsZS5kaXNwbGF5ID0gdGhpcy5fdGFzayA/IG51bGwgOiAnbm9uZSc7CiAgICAg
ICAgIHRoaXMuY29udGVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5vdmVydmlldy1jaGFydCcpLnN0eWxl
LmRpc3BsYXkgPSB0aGlzLl90YXNrID8gbnVsbCA6ICdub25lJzsKICAgICAgICAgdGhpcy5jb250
ZW50KCkucXVlcnlTZWxlY3RvcignLnRlc3QtZ3JvdXAtdmlldycpLnN0eWxlLmRpc3BsYXkgPSB0
aGlzLl90YXNrID8gbnVsbCA6ICdub25lJzsKICAgICAgICAgdGhpcy5fdGFza05hbWVMYWJlbC5y
ZW5kZXIoKTsKIAorICAgICAgICBpZiAodGhpcy5fcmVsYXRlZFRhc2tzICYmIHRoaXMuX3Rhc2sp
IHsKKyAgICAgICAgICAgIHZhciByb3V0ZXIgPSB0aGlzLnJvdXRlcigpOworICAgICAgICAgICAg
dmFyIGxpbmsgPSBDb21wb25lbnRCYXNlLmNyZWF0ZUxpbms7CisgICAgICAgICAgICB2YXIgdGhp
c1Rhc2sgPSB0aGlzLl90YXNrOworICAgICAgICAgICAgdGhpcy5yZW5kZXJSZXBsYWNlKHRoaXMu
Y29udGVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5yZWxhdGVkLXRhc2tzLWxpc3QnKSwKKyAgICAgICAg
ICAgICAgICB0aGlzLl9yZWxhdGVkVGFza3MubWFwKGZ1bmN0aW9uIChvdGhlclRhc2spIHsKKyAg
ICAgICAgICAgICAgICAgICAgY29uc29sZS5hc3NlcnQob3RoZXJUYXNrLm1ldHJpYygpID09IHRo
aXNUYXNrLm1ldHJpYygpKTsKKyAgICAgICAgICAgICAgICAgICAgdmFyIHN1ZmZpeCA9ICcnOwor
ICAgICAgICAgICAgICAgICAgICB2YXIgdGFza0xhYmVsID0gb3RoZXJUYXNrLmxhYmVsKCk7Cisg
ICAgICAgICAgICAgICAgICAgIGlmIChvdGhlclRhc2sucGxhdGZvcm0oKSAhPSB0aGlzVGFzay5w
bGF0Zm9ybSgpICYmIHRhc2tMYWJlbC5pbmRleE9mKG90aGVyVGFzay5wbGF0Zm9ybSgpLmxhYmVs
KCkpIDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHN1ZmZpeCA9IGAgb24gJHtvdGhlclRh
c2sucGxhdGZvcm0oKS5sYWJlbCgpfWA7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBlbGVt
ZW50KCdsaScsIFtsaW5rKHRhc2tMYWJlbCwgcm91dGVyLnVybChgYW5hbHlzaXMvdGFzay8ke290
aGVyVGFzay5pZCgpfWApKSwgc3VmZml4XSk7CisgICAgICAgICAgICAgICAgfSkpOworICAgICAg
ICB9CisKICAgICAgICAgdGhpcy5fYW5hbHlzaXNSZXN1bHRzVmlld2VyLnNldEN1cnJlbnRUZXN0
R3JvdXAodGhpcy5fY3VycmVudFRlc3RHcm91cCk7CiAgICAgICAgIHRoaXMuX2FuYWx5c2lzUmVz
dWx0c1ZpZXdlci5yZW5kZXIoKTsKIAorICAgICAgICB0aGlzLl9yZW5kZXJUZXN0R3JvdXBMaXN0
KCk7CisgICAgICAgIHRoaXMuX3JlbmRlclRlc3RHcm91cERldGFpbHMoKTsKKworICAgICAgICB0
aGlzLl90ZXN0R3JvdXBSZXN1bHRzVGFibGUucmVuZGVyKCk7CisKKyAgICAgICAgSW5zdHJ1bWVu
dGF0aW9uLmVuZE1lYXN1cmluZ1RpbWUoJ0FuYWx5c2lzVGFza1BhZ2UnLCAncmVuZGVyJyk7Cisg
ICAgfQorCisgICAgX3JlbmRlclRlc3RHcm91cExpc3QoKQorICAgIHsKICAgICAgICAgdmFyIGVs
ZW1lbnQgPSBDb21wb25lbnRCYXNlLmNyZWF0ZUVsZW1lbnQ7CiAgICAgICAgIHZhciBsaW5rID0g
Q29tcG9uZW50QmFzZS5jcmVhdGVMaW5rOwogICAgICAgICBpZiAodGhpcy5fdGVzdEdyb3VwcyAh
PSB0aGlzLl9yZW5kZXJlZFRlc3RHcm91cHMpIHsKQEAgLTIwNSw3ICsyNzIsMTAgQEAgY2xhc3Mg
QW5hbHlzaXNUYXNrUGFnZSBleHRlbmRzIFBhZ2VXaXRoSAogICAgICAgICAgICAgICAgIGxhYmVs
LnJlbmRlcigpOwogICAgICAgICAgICAgfQogICAgICAgICB9CisgICAgfQogCisgICAgX3JlbmRl
clRlc3RHcm91cERldGFpbHMoKQorICAgIHsKICAgICAgICAgaWYgKHRoaXMuX3JlbmRlcmVkQ3Vy
cmVudFRlc3RHcm91cCAhPT0gdGhpcy5fY3VycmVudFRlc3RHcm91cCkgewogICAgICAgICAgICAg
aWYgKHRoaXMuX3JlbmRlcmVkQ3VycmVudFRlc3RHcm91cCkgewogICAgICAgICAgICAgICAgIHZh
ciBlbGVtZW50ID0gdGhpcy5jb250ZW50KCkucXVlcnlTZWxlY3RvcignLnRlc3QtZ3JvdXAtbGlz
dC0nICsgdGhpcy5fcmVuZGVyZWRDdXJyZW50VGVzdEdyb3VwLmlkKCkpOwpAQCAtMjM3LDEwICsz
MDcsNiBAQCBjbGFzcyBBbmFseXNpc1Rhc2tQYWdlIGV4dGVuZHMgUGFnZVdpdGhICiAgICAgICAg
IH0KIAogICAgICAgICB0aGlzLmNvbnRlbnQoKS5xdWVyeVNlbGVjdG9yKCcudGVzdC1ncm91cC1y
ZXRyeS1idXR0b24nKS5kaXNhYmxlZCA9ICEodGhpcy5fY3VycmVudFRlc3RHcm91cCB8fCB0aGlz
Ll9zdGFydFBvaW50KTsKLQotICAgICAgICB0aGlzLl90ZXN0R3JvdXBSZXN1bHRzVGFibGUucmVu
ZGVyKCk7Ci0KLSAgICAgICAgSW5zdHJ1bWVudGF0aW9uLmVuZE1lYXN1cmluZ1RpbWUoJ0FuYWx5
c2lzVGFza1BhZ2UnLCAncmVuZGVyJyk7CiAgICAgfQogCiAgICAgX3Nob3dUZXN0R3JvdXAodGVz
dEdyb3VwKQpAQCAtMjgzLDYgKzM0OSw0NyBAQCBjbGFzcyBBbmFseXNpc1Rhc2tQYWdlIGV4dGVu
ZHMgUGFnZVdpdGhICiAgICAgICAgIH0pOwogICAgIH0KIAorICAgIF91cGRhdGVDaGFuZ2VUeXBl
KGV2ZW50KQorICAgIHsKKyAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKKyAgICAgICAg
Y29uc29sZS5hc3NlcnQodGhpcy5fdGFzayk7CisKKyAgICAgICAgdmFyIG5ld0NoYW5nZVR5cGUg
PSB0aGlzLl90YXNrU3RhdHVzQ29udHJvbC52YWx1ZTsKKyAgICAgICAgaWYgKG5ld0NoYW5nZVR5
cGUgPT0gJ3VuY29uZmlybWVkJykKKyAgICAgICAgICAgIG5ld0NoYW5nZVR5cGUgPSBudWxsOwor
CisgICAgICAgIHZhciByZW5kZXIgPSB0aGlzLnJlbmRlci5iaW5kKHRoaXMpOworICAgICAgICBy
ZXR1cm4gdGhpcy5fdGFzay51cGRhdGVDaGFuZ2VUeXBlKG5ld0NoYW5nZVR5cGUpLnRoZW4ocmVu
ZGVyLCBmdW5jdGlvbiAoZXJyb3IpIHsKKyAgICAgICAgICAgIHJlbmRlcigpOworICAgICAgICAg
ICAgYWxlcnQoJ0ZhaWxlZCB0byB1cGRhdGUgdGhlIHN0YXR1czogJyArIGVycm9yKTsKKyAgICAg
ICAgfSk7CisgICAgfQorCisgICAgX2Fzc29jaWF0ZUJ1ZyhldmVudCkKKyAgICB7CisgICAgICAg
IGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX3Rh
c2spOworCisgICAgICAgIHZhciB0cmFja2VyID0gQnVnVHJhY2tlci5maW5kQnlJZCh0aGlzLl9i
dWdUcmFja2VyQ29udHJvbC52YWx1ZSk7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRyYWNrZXIp
OworICAgICAgICB2YXIgYnVnTnVtYmVyID0gcGFyc2VJbnQodGhpcy5fYnVnTnVtYmVyQ29udHJv
bC52YWx1ZSk7CisKKyAgICAgICAgdmFyIHJlbmRlciA9IHRoaXMucmVuZGVyLmJpbmQodGhpcyk7
CisgICAgICAgIHJldHVybiB0aGlzLl90YXNrLmFzc29jaWF0ZUJ1Zyh0cmFja2VyLCBidWdOdW1i
ZXIpLnRoZW4ocmVuZGVyLCBmdW5jdGlvbiAoZXJyb3IpIHsKKyAgICAgICAgICAgIHJlbmRlcigp
OworICAgICAgICAgICAgYWxlcnQoJ0ZhaWxlZCB0byBhc3NvY2lhdGUgdGhlIGJ1ZzogJyArIGVy
cm9yKTsKKyAgICAgICAgfSk7CisgICAgfQorCisgICAgX2Rpc2Fzc29jaWF0ZUJ1ZyhidWcpCisg
ICAgeworICAgICAgICB2YXIgcmVuZGVyID0gdGhpcy5yZW5kZXIuYmluZCh0aGlzKTsKKyAgICAg
ICAgcmV0dXJuIHRoaXMuX3Rhc2suZGlzYXNzb2NpYXRlQnVnKGJ1ZykudGhlbihyZW5kZXIsIGZ1
bmN0aW9uIChlcnJvcikgeworICAgICAgICAgICAgcmVuZGVyKCk7CisgICAgICAgICAgICBhbGVy
dCgnRmFpbGVkIHRvIGRpc2Fzc29jaWF0ZSB0aGUgYnVnOiAnICsgZXJyb3IpOworICAgICAgICB9
KTsKKyAgICB9CisKICAgICBfcmV0cnlDdXJyZW50VGVzdEdyb3VwKGV2ZW50KQogICAgIHsKICAg
ICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKQEAgLTM2NiwxMiArNDczLDQxIEBAIGNsYXNz
IEFuYWx5c2lzVGFza1BhZ2UgZXh0ZW5kcyBQYWdlV2l0aEgKICAgICBzdGF0aWMgaHRtbFRlbXBs
YXRlKCkKICAgICB7CiAgICAgICAgIHJldHVybiBgCi0gICAgICAgIDxkaXYgY2xhc3M9ImFuYWx5
c2lzLXRhc2wtcGFnZS1jb250YWluZXIiPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0iYW5hbHlz
aXMtdGFzbC1wYWdlIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFuYWx5c2lzLXRhc2stcGFn
ZSI+CiAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJhbmFseXNpcy10YXNrLW5hbWUiPjxlZGl0
YWJsZS10ZXh0PjwvZWRpdGFibGUtdGV4dD48L2gyPgogICAgICAgICAgICAgICAgIDxoMyBjbGFz
cz0icGxhdGZvcm0tbWV0cmljLW5hbWVzIj48YSBocmVmPSIiPjwvYT48L2gzPgogICAgICAgICAg
ICAgICAgIDxwIGNsYXNzPSJlcnJvci1tZXNzYWdlIj48L3A+Ci0gICAgICAgICAgICAgICAgPGRp
diBjbGFzcz0ib3ZlcnZpZXctY2hhcnQiPjxhbmFseXNpcy10YXNrLWNoYXJ0LXBhbmU+PC9hbmFs
eXNpcy10YXNrLWNoYXJ0LXBhbmU+PC9kaXY+CisgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0i
YW5hbHlzaXMtdGFzay1zdGF0dXMiPgorICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbj4KKyAg
ICAgICAgICAgICAgICAgICAgICAgIDxoMz5TdGF0dXM8L2gzPgorICAgICAgICAgICAgICAgICAg
ICAgICAgPGZvcm0gY2xhc3M9ImNoYW5nZS10eXBlLWZvcm0iPgorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDxzZWxlY3Q+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRp
b24gdmFsdWU9InVuY29uZmlybWVkIj5VbmNvbmZpcm1lZDwvb3B0aW9uPgorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJyZWdyZXNzaW9uIj5EZWZpbml0ZSBy
ZWdyZXNzaW9uPC9vcHRpb24+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRp
b24gdmFsdWU9InByb2dyZXNzaW9uIj5EZWZpbml0ZSBwcm9ncmVzc2lvbjwvb3B0aW9uPgorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJpbmNvbmNsdXNpdmUi
PkluY29uY2x1c2l2ZSAoQ2xvc2VkKTwvb3B0aW9uPgorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA8b3B0aW9uIHZhbHVlPSJ1bmNoYW5nZWQiPk5vIGNoYW5nZSAoQ2xvc2VkKTwvb3B0
aW9uPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PgorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0ic3VibWl0Ij5TYXZlPC9idXR0b24+CisgICAg
ICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+CisgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlv
bj4KKyAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24+CisgICAgICAgICAgICAgICAgICAgICAg
ICA8aDM+QXNzb2NpYXRlZCBCdWdzPC9oMz4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBj
bGFzcz0iYXNzb2NpYXRlZC1idWdzIj48L3VsPgorICAgICAgICAgICAgICAgICAgICAgICAgPGZv
cm0gY2xhc3M9ImFzc29jaWF0ZS1idWctZm9ybSI+CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPHNlbGVjdCBjbGFzcz0iYnVnLXRyYWNrZXItY29udHJvbCI+PC9zZWxlY3Q+CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9Im51bWJlciIgY2xhc3M9ImJ1Zy1udW1i
ZXItY29udHJvbCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJz
dWJtaXQiPkFkZDwvYnV0dG9uPgorICAgICAgICAgICAgICAgICAgICAgICAgPC9mb3JtPgorICAg
ICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CisgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9u
IGNsYXNzPSJyZWxhdGVkLXRhc2tzIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxoMz5SZWxh
dGVkIFRhc2tzPC9oMz4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icmVsYXRl
ZC10YXNrcy1saXN0Ij48L3VsPgorICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CisgICAg
ICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9Im92ZXJ2
aWV3LWNoYXJ0Ij4KKyAgICAgICAgICAgICAgICAgICAgPGFuYWx5c2lzLXRhc2stY2hhcnQtcGFu
ZT48L2FuYWx5c2lzLXRhc2stY2hhcnQtcGFuZT4KKyAgICAgICAgICAgICAgICA8L3NlY3Rpb24+
CiAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImFuYWx5c2lzLXJlc3VsdHMtdmlldyI+
CiAgICAgICAgICAgICAgICAgICAgIDxhbmFseXNpcy1yZXN1bHRzLXZpZXdlcj48L2FuYWx5c2lz
LXJlc3VsdHMtdmlld2VyPgogICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KQEAgLTM5OSwxNiAr
NTM1LDEzIEBAIGNsYXNzIEFuYWx5c2lzVGFza1BhZ2UgZXh0ZW5kcyBQYWdlV2l0aEgKICAgICAg
ICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAg
ICAgICAgPC9kaXY+Ci0gICAgICAgIDwvZGl2PgogYDsKICAgICB9CiAKICAgICBzdGF0aWMgY3Nz
VGVtcGxhdGUoKQogICAgIHsKICAgICAgICAgcmV0dXJuIGAKLSAgICAgICAgICAgIC5hbmFseXNp
cy10YXNsLXBhZ2UtY29udGFpbmVyIHsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC5hbmFs
eXNpcy10YXNsLXBhZ2UgeworICAgICAgICAgICAgLmFuYWx5c2lzLXRhc2stcGFnZSB7CiAgICAg
ICAgICAgICB9CiAKICAgICAgICAgICAgIC5hbmFseXNpcy10YXNrLW5hbWUgewpAQCAtNDQxLDYg
KzU3NCw0OCBAQCBjbGFzcyBBbmFseXNpc1Rhc2tQYWdlIGV4dGVuZHMgUGFnZVdpdGhICiAgICAg
ICAgICAgICAgICAgcGFkZGluZzogMDsKICAgICAgICAgICAgIH0KIAorICAgICAgICAgICAgLm92
ZXJ2aWV3LWNoYXJ0IHsKKyAgICAgICAgICAgICAgICBtYXJnaW46IDAgMXJlbTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgLmFuYWx5c2lzLXRhc2stc3RhdHVzIHsKKyAgICAgICAgICAg
ICAgICBtYXJnaW46IDA7CisgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDsKKyAgICAgICAg
ICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIC5hbmFseXNpcy10YXNrLXN0YXR1cyA+IHNlY3Rpb24geworICAgICAgICAgICAgICAgIGZs
ZXgtZ3JvdzogMTsKKyAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogc29saWQgMXB4ICNlZWU7
CisgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICAuYW5hbHlzaXMtdGFzay1zdGF0dXMgPiBzZWN0aW9uOmZpcnN0LWNoaWxkIHsK
KyAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgLmFzc29jaWF0ZWQtYnVnczpub3QoOmVtcHR5KSB7CisgICAgICAgICAgICAgICAg
bWFyZ2luLWJvdHRvbTogMXJlbTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLmFuYWx5
c2lzLXRhc2stc3RhdHVzIGgzIHsKKyAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07Cisg
ICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7CisgICAgICAgICAgICAgICAgY29s
b3I6ICNjOTM7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC5hbmFseXNpcy10YXNrLXN0
YXR1cyB1bCwKKyAgICAgICAgICAgIC5hbmFseXNpcy10YXNrLXN0YXR1cyBsaSB7CisgICAgICAg
ICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTsKKyAgICAgICAgICAgICAgICBwYWRkaW5nOiAwOwor
ICAgICAgICAgICAgICAgIG1hcmdpbjogMDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
LnJlbGF0ZWQtdGFza3MtbGlzdCB7CisgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTByZW07
CisgICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsOworICAgICAgICAgICAgfQorCiAg
ICAgICAgICAgICAuYW5hbHlzaXMtcmVzdWx0cy12aWV3IHsKICAgICAgICAgICAgICAgICBtYXJn
aW46IDFyZW07CiAgICAgICAgICAgICB9CkBAIC01MDYsMTMgKzY4MSw2IEBAIGNsYXNzIEFuYWx5
c2lzVGFza1BhZ2UgZXh0ZW5kcyBQYWdlV2l0aEgKICAgICAgICAgICAgIC50ZXN0LWdyb3VwLWxp
c3QgPiBsaTpub3QoLnNlbGVjdGVkKSA+IGE6aG92ZXIgewogICAgICAgICAgICAgICAgIGJhY2tn
cm91bmQ6ICNlZWU7CiAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIC54LW92ZXJ2aWV3LWNo
YXJ0IHsKLSAgICAgICAgICAgICAgICB3aWR0aDogYXV0bzsKLSAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwcmVtOwotICAgICAgICAgICAgICAgIG1hcmdpbjogMXJlbTsKLSAgICAgICAgICAgICAg
ICBib3JkZXI6IHNvbGlkIDBweCByZWQ7Ci0gICAgICAgICAgICB9CiBgOwogICAgIH0KIH0KSW5k
ZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvcGFnZXMvY2hhcnQtcGFuZS5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL3BhZ2Vz
L2NoYXJ0LXBhbmUuanMJKHJldmlzaW9uIDE5NjU0OCkKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0
Lm9yZy9wdWJsaWMvdjMvcGFnZXMvY2hhcnQtcGFuZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMjM5
LDYgKzIzOSw4IEBAIGNsYXNzIENoYXJ0UGFuZSBleHRlbmRzIENoYXJ0UGFuZUJhc2UgewogICAg
ICAgICAgICAgLmNoYXJ0LXBhbmUgewogICAgICAgICAgICAgICAgIGJvcmRlcjogc29saWQgMXB4
ICNjY2M7CiAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC41cmVtOworICAgICAgICAg
ICAgICAgIG1hcmdpbjogMXJlbTsKKyAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVt
OwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAuY2hhcnQtcGFuZS1ib2R5IHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>