<?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>138517</bug_id>
          
          <creation_ts>2014-11-07 14:06:35 -0800</creation_ts>
          <short_desc>Introduce the concept of analysis task to perf dashboard</short_desc>
          <delta_ts>2016-02-16 13:52:28 -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>barraclough</cc>
    
    <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>1047171</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-11-07 14:06:35 -0800</bug_when>
    <thetext>An analysis task is created to bisect perf regressions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047191</commentid>
    <comment_count>1</comment_count>
      <attachid>241209</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-11-07 15:02:41 -0800</bug_when>
    <thetext>Created attachment 241209
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047194</commentid>
    <comment_count>2</comment_count>
      <attachid>241209</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-11-07 15:05:08 -0800</bug_when>
    <thetext>Comment on attachment 241209
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047227</commentid>
    <comment_count>3</comment_count>
      <attachid>241209</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-11-07 15:46:59 -0800</bug_when>
    <thetext>Comment on attachment 241209
Patch

Clearing flags on attachment: 241209

Committed r175768: &lt;http://trac.webkit.org/changeset/175768&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047228</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-11-07 15:47:03 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241209</attachid>
            <date>2014-11-07 15:02:41 -0800</date>
            <delta_ts>2014-11-07 15:46:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138517-20141107150255.patch</filename>
            <type>text/plain</type>
            <size>47617</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1NzYxCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvQ2hhbmdlTG9nIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwpp
bmRleCA3OTZjN2U3ZWJjOTI3YWQ3MGNiN2Y5MDYyNWI3ZDE5OWRlYzEyNWNlLi5mZGZlZjZjNjlk
NmI0YzM5Y2ZjNDdkMmRhMGVmMWRkMzgxNjliN2VhIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMDEgQEAKKzIwMTQtMTEtMDcgIFJ5b3N1a2UgTml3YSAgPHJuaXdh
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW50cm9kdWNlIHRoZSBjb25jZXB0IG9mIGFuYWx5c2lz
IHRhc2sgdG8gcGVyZiBkYXNoYm9hcmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEzODUxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEludHJvZHVjZWQgdGhlIGNvbmNlcHQgb2YgYW4gYW5hbHlzaXMgdGFz
aywgd2hpY2ggaXMgY3JlYXRlZCBmb3IgYSByYW5nZSBvZiBtZWFzdXJlbWVudHMgZm9yIGEgZ2l2
ZW4gbWV0cmljIG9uCisgICAgICAgIGEgc2luZ2xlIHBsYXRmb3JtIGFuZCB1c2VkIHRvIGJpc2Vj
dCByZWdyZXNzaW9ucyBpbiB0aGUgcmFuZ2UuCisgICAgICAgIAorICAgICAgICBBZGRlZCBhIG5l
dyBwYWdlIHRvIHNlZSB0aGUgbGlzdCBvZiBhY3RpdmUgYW5hbHlzaXMgdGFza3MgYW5kIGEgcGFn
ZSB0byB2aWV3IHRoZSBjb250ZW50cyBvZiBhbiBhbmFseXNpcyB0YXNrLgorCisgICAgICAgICog
aW5pdC1kYXRhYmFzZS5zcWw6IEFkZGVkIGEgYnVuY2ggb2YgdGFibGVzIHRvIHN0b3JlIGluZm9y
bWF0aW9uIGFib3V0IGFuYWx5c2lzIHRhc2tzLgorICAgICAgICAgICAgYW5hbHlzaXNfdGFza3Mg
LSBSZXByZXNlbnRzIGVhY2ggYW5hbHlzaXMgdGFzay4gQXNzb2NpYXRlZCB3aXRoIGEgcGxhdGZv
cm0gYW5kIGEgbWV0cmljIGFuZCBwb3NzaWJseSB3aXRoIHR3bworICAgICAgICAgICAgdGVzdCBy
dW5zLiBBbmFseXNpcyB0YXNrcyBub3QgYXNzb2NpYXRlZCB3aXRoIHRlc3QgcnVucyBhcmUgdXNl
ZCBmb3IgdHJ5IG5ldyBwYXRjaGVzLgorICAgICAgICAgICAgYW5hbHlzaXNfdGVzdF9ncm91cHMg
LSBBIHRlc3QgZ3JvdXAgaW4gYW4gYW5hbHlzaXMgdGFzayByZXByZXNlbnRzIGEgYnVuY2ggb2Yg
cmVsYXRlZCBBL0IgdGVzdGluZyByZXN1bHRzLgorICAgICAgICAgICAgcm9vdF9zZXRzIC0gQSBy
b290IHNldCByZXByZXNlbnRzIGEgc2V0IG9mIHJvb3RzIChvciBwYWNrYWdlcykgaW5zdGFsbGVk
IGluIGVhY2ggQS9CIHRlc3RpbmcuCisgICAgICAgICAgICBidWlsZF9yZXF1ZXN0cyAtIEEgYnVp
bGQgcmVxdWVzdCByZXByZXNlbnRzIGEgc2luZ2xlIHBlbmRpbmcgYnVpbGQgZm9yIEEvQiB0ZXN0
aW5nLgorCisgICAgICAgICogcHVibGljL2FwaS9hbmFseXNpcy10YXNrcy5waHA6IEFkZGVkLiBS
ZXR1cm5zIHRoZSBzcGVjaWZpZWQgYW5hbHlzaXMgdGFzayBvciBhbGwgYW5hbHlzaXMgdGFza3Mg
aW4gYW4gYXJyYXkuCisgICAgICAgIChtYWluKToKKyAgICAgICAgKGZvcm1hdF90YXNrKToKKwor
ICAgICAgICAqIHB1YmxpYy9hcGkvdGVzdC1ncm91cHMucGhwOiBBZGRlZC4gUmV0dXJucyBhbmFs
eXNpcyB0YXNrIGdyb3VwcyBmb3IgdGhlIHNwZWNpZmllZCBhbmFseXNpcyB0YXNrIG9yIHJldHVy
bnMKKyAgICAgICAgdGhlIHNwZWNpZmllZCBhbmFseXNpcyB0YXNrIGdyb3VwIGFzIHdlbGwgYXMg
YnVpbGQgcmVxdWVzdHMgYXNzb2NpYXRlZCB3aXRoIHRoZW0uCisgICAgICAgIChtYWluKToKKyAg
ICAgICAgKGZldGNoX3Rlc3RfZ3JvdXBzX2Zvcl90YXNrKToKKyAgICAgICAgKGZldGNoX2J1aWxk
X3JlcXVlc3RzX2Zvcl90YXNrKToKKyAgICAgICAgKGZldGNoX2J1aWxkX3JlcXVlc3RzX2Zvcl9n
cm91cCk6CisgICAgICAgIChmb3JtYXRfdGVzdF9ncm91cCk6CisgICAgICAgIChmb3JtYXRfYnVp
bGRfcmVxdWVzdCk6CisKKyAgICAgICAgKiBwdWJsaWMvaW5jbHVkZS9qc29uLWhlYWRlci5waHA6
CisgICAgICAgIChyZW1vdGVfdXNlcl9uYW1lKTogRXh0cmFjdGVkIGZyb20gY29tcHV0ZV90b2tl
biBzbyB0aGF0IHdlIGNhbiB1c2UgaXQgaW4gY3JlYXRlLWFuYWx5c2lzLXRhc2sucGhwLgorICAg
ICAgICAoY29tcHV0ZV90b2tlbik6CisKKyAgICAgICAgKiBwdWJsaWMvcHJpdmlsZWdlZC1hcGkv
YXNzb2NpYXRlLWJ1Zy5waHA6CisgICAgICAgIChtYWluKTogRml4ZWQgYSB0eXBvLgorCisgICAg
ICAgICogcHVibGljL3ByaXZpbGVnZWQtYXBpL2NyZWF0ZS1hbmFseXNpcy10YXNrLnBocDogQWRk
ZWQuIENyZWF0ZXMgYSBuZXcgYW5hbHlzaXMgdGFzayBmb3IgYSBnaXZlbiB0ZXN0IHJ1biByYW5n
ZS4KKyAgICAgICAgKG1haW4pOgorICAgICAgICAoZW5zdXJlX3Jvd19ieV9pZCk6CisgICAgICAg
IChlbnN1cmVfY29uZmlnX2Zyb21fcnVucyk6CisKKyAgICAgICAgKiBwdWJsaWMvcHJpdmlsZWdl
ZC1hcGkvZ2VuZXJhdGUtY3NyZi10b2tlbi5waHA6IFVzZSByZW1vdGVfdXNlcl9uYW1lLgorCisg
ICAgICAgICogcHVibGljL3YyL2FuYWx5c2lzLmpzOiBBZGRlZC4gVmFyaW91cyBFbWJlciBkYXRh
IHN0b3JlIG1vZGVscyB0byByZXByZXNlbnQgYW5hbHlzaXMgdGFza3MgYW5kIHJlbGF0ZWQgb2Jq
ZWN0cy4KKyAgICAgICAgKEFwcC5BbmFseXNpc1Rhc2spOgorICAgICAgICAoQXBwLkFuYWx5c2lz
VGFzay5jcmVhdGUpOgorICAgICAgICAoQXBwLlRlc3RHcm91cCk6CisgICAgICAgIChBcHAuVGVz
dEdyb3VwQWRhcHRlcik6CisgICAgICAgIChBcHAuQW5hbHlzaXNUYXNrU2VyaWFsaXplcik6Cisg
ICAgICAgIChBcHAuVGVzdEdyb3VwU2VyaWFsaXplcik6CisgICAgICAgIChBcHAuQnVpbGRSZXF1
ZXN0KToKKworICAgICAgICAqIHB1YmxpYy92Mi9hcHAuY3NzOiBBZGRlZCBzdHlsZSBydWxlcyBm
b3IgdGhlIGFuYWx5c2lzIHBhZ2UuCisKKyAgICAgICAgKiBwdWJsaWMvdjIvYXBwLmpzOgorICAg
ICAgICAoQXBwLlBhbmUuX2ZldGNoKTogVXNlIGZldGNoUnVuc1dpdGhQbGF0Zm9ybUFuZE1ldHJp
Yywgd2hpY2ggaGFzIGJlZW4gcmVmYWN0b3JlZCBpbnRvIEFwcC5NYW5pZmVzdC4KKworICAgICAg
ICAoQXBwLlBhbmVDb250cm9sbGVyLmFjdGlvbnMudG9nZ2xlQnVnc1BhbmUpOiBTaG93IGJ1Z3Mg
cGFuZSBldmVuIHdoZW4gdGhlcmUgYXJlIG5vIGJ1ZyB0cmFja2VycyBvciB0aGVyZSBpcyBub3QK
KyAgICAgICAgZXhhY3RseSBvbmUgc2VsZWN0ZWQgcG9pbnQgYXMgd2UgY2FuIHN0aWxsIGNyZWF0
ZSBhbiBhbmFseXNpcyB0YXNrLgorICAgICAgICAoQXBwLlBhbmVDb250cm9sbGVyLmFjdGlvbnMu
YXNzb2NpYXRlQnVnKTogUmVuYW1lZCBzaW5nbHlTZWxlY3RlZFBvaW50IHRvIHNlbGVjdGVkU2lu
Z2xlUG9pbnQgdG8gYmUgbW9yZQorICAgICAgICBncmFtbWF0aWNhbCBhbmQgYWxzbyBhbGVydCdl
ZCB0aGUgZXJyb3IgbWVzc2FnZSB3aGVuIHRoZXJlIGlzIG9uZS4KKyAgICAgICAgKEFwcC5QYW5l
Q29udHJvbGxlci5hY3Rpb25zLmNyZWF0ZUFuYWx5c2lzVGFzayk6IEFkZGVkLiBDcmVhdGVzIGEg
bmV3IGFuYWx5c2lzIHRhc2sgYW5kIG9wZW5zIGl0IGluIGEgbmV3IHRhYi4KKyAgICAgICAgU2lu
Y2Ugd2luZG93Lm9wZW4gb25seSB3b3JrcyBkdXJpbmcgdGhlIGNsaWNrLCB3ZSBvcGVuIHRoZSBu
ZXcgIndpbmRvdyIgcHJlZW1wdGl2ZWx5IGFuZCBuYXZpZ2F0ZXMgb3IgY2xvc2VzIGl0CisgICAg
ICAgIG9uY2UgWEhSIHJlcXVlc3QgaGFzIGNvbXBsZXRlZC4KKyAgICAgICAgKEFwcC5QYW5lQ29u
dHJvbGxlci5fZGV0YWlsc0NoYW5nZWQpOiBDaGFuZ2VzIGR1ZSB0byBzaW5nbHlTZWxlY3RlZFBv
aW50IHRvIHNlbGVjdGVkU2luZ2xlUG9pbnQgcmVuYW1lLgorICAgICAgICAoQXBwLlBhbmVDb250
cm9sbGVyLl91cGRhdGVCdWdzKTogRml4ZWQgYSBidWcgdGhhdCB3ZSB3ZXJlIHNob3dpbmcgYnVn
cyBpbiB0aGUgcHJldmlvdXMgcG9pbnQgd2hlbiBhIHNpbmdsZSBwb2ludAorICAgICAgICBpcyBz
ZWxlY3RlZCBpbiB0aGUgZGV0YWlscyBwYW5lLgorCisgICAgICAgIChBcHAuQW5hbHlzaXNSb3V0
ZSk6IEFkZGVkLgorICAgICAgICAoQXBwLkFuYWx5c2lzVGFza1JvdXRlKTogQWRkZWQuCisgICAg
ICAgIChBcHAuQW5hbHlzaXNUYXNrVmlld01vZGVsKTogQWRkZWQuCisgICAgICAgIChBcHAuQW5h
bHlzaXNUYXNrVmlld01vZGVsLl90YXNrVXBkYXRlZCk6IEZldGNoIHJ1bnMgZm9yIHRoZSBhc3Nv
Y2lhdGVkIHBsYXRmb3JtIGFuZCBtZXRyaWMuCisgICAgICAgIChBcHAuQW5hbHlzaXNUYXNrVmll
d01vZGVsLl9mZXRjaGVkUnVucyk6IFNldHVwIHRoZSBjaGFydCBkYXRhIHRvIHNob3cuCisgICAg
ICAgIChBcHAuQW5hbHlzaXNUYXNrVmlld01vZGVsLnRlc3RTZXRzKTogVGhlIGNvbXB1dGVkIHBy
b3BlcnR5IHVzZWQgdG8gdXBkYXRlIHJvb3RzIGZvciBhbGwgcmVwb3NpdG9yaWVzL3Byb2plY3Rz
LgorICAgICAgICAoQXBwLkFuYWx5c2lzVGFza1ZpZXdNb2RlbC5fcm9vdENoYW5nZWRGb3JUZXN0
U2V0KTogVXBkYXRlcyByb290IHNlbGVjdGlvbnMgZm9yIGFsbCByZXBvc2l0b3JpZXMvcHJvamVj
dHMgd2hlbgorICAgICAgICB0aGUgdXNlciBzZWxlY3RzIGFuIG9wdGlvbiBmb3IgYWxsIHJvb3Rz
IGluIEEgb3IgQiBjb25maWd1cmF0aW9uLgorICAgICAgICAoQXBwLkFuYWx5c2lzVGFza1ZpZXdN
b2RlbC5yb290cyk6IFRoZSBjb21wdXRlZCBwcm9wZXJ0eSB1c2VkIHRvIHNob3cgcm9vdCBjaG9p
Y2VzIGZvciBlYWNoIHJlcG9zaXRvcnkvcHJvamVjdC4KKworICAgICAgICAqIHB1YmxpYy92Mi9j
aGFydC1wYW5lLmNzczogQWRkZWQgc3R5bGUgcnVsZXMgZm9yIGRldGFpbHMgdmlldyBpbiB0aGUg
YW5hbHlzaXMgdGFzayBwYWdlLgorCisgICAgICAgICogcHVibGljL3YyL2RhdGEuanM6CisgICAg
ICAgIChNZWFzdXJlbWVudC5wcm90b3R5cGUuX2Zvcm1hdFJldmlzaW9uUmFuZ2UpOiBEb24ndCBw
cmVmaXggYSByZXZpc2lvbiBudW1iZXIgd2l0aCAiQXQgIiB3aGVuIHRoZXJlIGlzIG5vIHByZXZp
b3VzCisgICAgICAgIHBvaW50IHNvIHRoYXQgd2UgY2FuIHVzZSBpdCBpbiBBcHAuQW5hbHlzaXNU
YXNrVmlld01vZGVsLnJvb3RzLgorICAgICAgICAoVGltZVNlcmllcy5wcm90b3R5cGUuZmluZFBv
aW50QnlNZWFzdXJlbWVudElkKTogQWRkZWQuCisgICAgICAgIChUaW1lU2VyaWVzLnByb3RvdHlw
ZS5zZXJpZXNCZXR3ZWVuUG9pbnRzKTogQWRkZWQuCisKKyAgICAgICAgKiBwdWJsaWMvdjIvaW5k
ZXguaHRtbDogVXNlIE1ldHJpYy5mdWxsTmFtZSBzaW5jZSB0aGUgc2FtZSB2YWx1ZSBpcyBuZWVk
ZWQgaW4gdGhlIGFuYWx5c2lzIHRhc2sgcGFnZS4gQWxzbyBhZGRlZAorICAgICAgICBhIGJ1dHRv
biB0byBjcmVhdGUgYW4gYW5hbHlzaXMgdGFzaywgYW5kIG1hZGUgYnVncyBwYW5lIGJ1dHRvbiBh
bHdheXMgZW5hYmxlZCBzaW5jZSB3ZSBjYW4gYW4gYW5hbHlzaXMgdGFzayBldmVuCisgICAgICAg
IHdoZW4gbXVsdGlwbGUgcG9pbnRzIGFyZSBzZWxlY3RlZC4gRmluYWxseSwgYWRkZWQgYSBuZXcg
dGVtcGxhdGUgZm9yIHRoZSBhbmFseXNpcyB0YXNrIHBhZ2UuCisKKyAgICAgICAgKiBwdWJsaWMv
djIvbWFuaWZlc3QuanM6CisgICAgICAgIChBcHAuTWV0cmljLmZ1bGxOYW1lKTogQWRkZWQgdG8g
c2hhcmUgY29kZSBiZXR3ZWVuIHRoZSBjaGFydHMgcGFnZSBhbmQgdGhlIGFuYWx5c2lzIHRhc2sg
cGFnZS4KKyAgICAgICAgKEFwcC5NYW5pZmVzdC5mZXRjaFJ1bnNXaXRoUGxhdGZvcm1BbmRNZXRy
aWMpOiBFeHRyYWN0ZWQgZnJvbSBBcHAuUGFuZS5fZmV0Y2ggdG8gYmUgcmV1c2VkIGluCisgICAg
ICAgIEFwcC5BbmFseXNpc1Rhc2tWaWV3TW9kZWwuX3Rhc2tVcGRhdGVkLgorCiAyMDE0LTEwLTI4
ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBBcHAu
UGFuZUNvbnRyb2xsZXIuYnVnc0NoYW5nZUNvdW50IGluIHRoZSBuZXcgcGVyZiBkYXNoYm9hcmQK
ZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9pbml0LWRhdGFiYXNlLnNxbCBi
L1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9pbml0LWRhdGFiYXNlLnNxbAppbmRleCBlNTI3YWIw
YWM4NDA3NmFiN2MwZTkzMWFmZjI2NzQ1NmVkZmJjNDMzLi43M2VkOTgxNTEwMDBiN2U2YThhZDMy
Zjg0Y2FlZDhjYWQxZjk2ZmVlIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcv
aW5pdC1kYXRhYmFzZS5zcWwKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL2luaXQtZGF0
YWJhc2Uuc3FsCkBAIC0xMzgsMyArMTM4LDMzIEBAIENSRUFURSBUQUJMRSBidWdzICgKICAgICBD
T05TVFJBSU5UIGJ1Z190cmFja2VyX2FuZF9ydW5fbXVzdF9iZV91bmlxdWUgVU5JUVVFKGJ1Z190
cmFja2VyLCBidWdfcnVuKSk7CiBDUkVBVEUgSU5ERVggYnVnc190cmFja2VyX251bWJlcl9pbmRl
eCBPTiBidWdzKGJ1Z190cmFja2VyLCBidWdfbnVtYmVyKTsKIENSRUFURSBJTkRFWCBidWdzX3J1
bl9pbmRleCBPTiBidWdzKGJ1Z19ydW4pOworCitDUkVBVEUgVEFCTEUgYW5hbHlzaXNfdGFza3Mg
KAorICAgIHRhc2tfaWQgc2VyaWFsIFBSSU1BUlkgS0VZLAorICAgIHRhc2tfbmFtZSB2YXJjaGFy
KDI1NikgTk9UIE5VTEwsCisgICAgdGFza19hdXRob3IgdmFyY2hhcigyNTYpLAorICAgIHRhc2tf
Y3JlYXRlZF9hdCB0aW1lc3RhbXAgTk9UIE5VTEwgREVGQVVMVCAoQ1VSUkVOVF9USU1FU1RBTVAg
QVQgVElNRSBaT05FICdVVEMnKSwKKyAgICB0YXNrX3BsYXRmb3JtIGludGVnZXIgUkVGRVJFTkNF
UyBwbGF0Zm9ybXMgTk9UIE5VTEwsCisgICAgdGFza19tZXRyaWMgaW50ZWdlciBSRUZFUkVOQ0VT
IHRlc3RfbWV0cmljcyBOT1QgTlVMTCwKKyAgICB0YXNrX3N0YXJ0X3J1biBpbnRlZ2VyIFJFRkVS
RU5DRVMgdGVzdF9ydW5zLAorICAgIHRhc2tfZW5kX3J1biBpbnRlZ2VyIFJFRkVSRU5DRVMgdGVz
dF9ydW5zLAorICAgIENPTlNUUkFJTlQgYW5hbHlzaXNfdGFza19zaG91bGRfYmVfdW5pcXVlX2Zv
cl9yYW5nZSBVTklRVUUodGFza19zdGFydF9ydW4sIHRhc2tfZW5kX3J1bikpOworCitDUkVBVEUg
VEFCTEUgYW5hbHlzaXNfdGVzdF9ncm91cHMgKAorICAgIHRlc3Rncm91cF9pZCBzZXJpYWwgUFJJ
TUFSWSBLRVksCisgICAgdGVzdGdyb3VwX3Rhc2sgaW50ZWdlciBSRUZFUkVOQ0VTIGFuYWx5c2lz
X3Rhc2tzIE5PVCBOVUxMLAorICAgIHRlc3Rncm91cF9uYW1lIHZhcmNoYXIoMjU2KSwKKyAgICB0
ZXN0Z3JvdXBfYXV0aG9yIHZhcmNoYXIoMjU2KSBOT1QgTlVMTCwKKyAgICB0ZXN0Z3JvdXBfY3Jl
YXRlZF9hdCB0aW1lc3RhbXAgTk9UIE5VTEwgREVGQVVMVCAoQ1VSUkVOVF9USU1FU1RBTVAgQVQg
VElNRSBaT05FICdVVEMnKSk7CitDUkVBVEUgSU5ERVggdGVzdGdyb3VwX3Rhc2tfaW5kZXggT04g
YW5hbHlzaXNfdGVzdF9ncm91cHModGVzdGdyb3VwX3Rhc2spOworCitDUkVBVEUgVEFCTEUgcm9v
dF9zZXRzICgKKyAgICByb290c2V0X2lkIHNlcmlhbCBQUklNQVJZIEtFWSk7CisKK0NSRUFURSBU
QUJMRSBidWlsZF9yZXF1ZXN0cyAoCisgICAgcmVxdWVzdF9pZCBzZXJpYWwgUFJJTUFSWSBLRVks
CisgICAgcmVxdWVzdF9ncm91cCBpbnRlZ2VyIFJFRkVSRU5DRVMgYW5hbHlzaXNfdGVzdF9ncm91
cHMgTk9UIE5VTEwsCisgICAgcmVxdWVzdF9vcmRlciBpbnRlZ2VyIE5PVCBOVUxMLAorICAgIHJl
cXVlc3Rfcm9vdF9zZXQgaW50ZWdlciBSRUZFUkVOQ0VTIHJvb3Rfc2V0cyBOT1QgTlVMTCwKKyAg
ICByZXF1ZXN0X2J1aWxkIGludGVnZXIgUkVGRVJFTkNFUyBidWlsZHMsCisgICAgQ09OU1RSQUlO
VCBidWlsZF9yZXF1ZXN0X29yZGVyX211c3RfYmVfdW5pcXVlX2luX2dyb3VwIFVOSVFVRShyZXF1
ZXN0X2dyb3VwLCByZXF1ZXN0X29yZGVyKSk7CmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvcHVibGljL2FwaS9hbmFseXNpcy10YXNrcy5waHAgYi9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvcHVibGljL2FwaS9hbmFseXNpcy10YXNrcy5waHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWJmMDEx
N2VjNzZjODM1YzhkMjRmMjc3NzIwZDFiOTRmYWJkMjhiYwotLS0gL2Rldi9udWxsCisrKyBiL1dl
YnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvYXBpL2FuYWx5c2lzLXRhc2tzLnBocApAQCAt
MCwwICsxLDQ1IEBACis8P3BocAorCityZXF1aXJlKCcuLi9pbmNsdWRlL2pzb24taGVhZGVyLnBo
cCcpOworCitmdW5jdGlvbiBtYWluKCRwYXRoKSB7CisgICAgJGRiID0gbmV3IERhdGFiYXNlOwor
ICAgIGlmICghJGRiLT5jb25uZWN0KCkpCisgICAgICAgIGV4aXRfd2l0aF9lcnJvcignRGF0YWJh
c2VDb25uZWN0aW9uRmFpbHVyZScpOworCisgICAgaWYgKGNvdW50KCRwYXRoKSA+IDEpCisgICAg
ICAgIGV4aXRfd2l0aF9lcnJvcignSW52YWxpZFJlcXVlc3QnKTsKKworICAgIGlmIChjb3VudCgk
cGF0aCkgPiAwICYmICRwYXRoWzBdKSB7CisgICAgICAgICR0YXNrX2lkID0gaW50dmFsKCRwYXRo
WzBdKTsKKyAgICAgICAgJHRhc2sgPSAkZGItPnNlbGVjdF9maXJzdF9yb3coJ2FuYWx5c2lzX3Rh
c2tzJywgJ3Rhc2snLCBhcnJheSgnaWQnID0+ICR0YXNrX2lkKSk7CisgICAgICAgIGlmICghJHRh
c2spCisgICAgICAgICAgICBleGl0X3dpdGhfZXJyb3IoJ1Rhc2tOb3RGb3VuZCcsIGFycmF5KCdp
ZCcgPT4gJHRhc2tfaWQpKTsKKyAgICAgICAgJHRhc2tzID0gYXJyYXkoJHRhc2spOworICAgIH0g
ZWxzZSB7CisgICAgICAgIC8vIEZJWE1FOiBMaW1pdCB0aGUgbnVtYmVyIG9mIHRhc2tzIHdlIGZl
dGNoLgorICAgICAgICAkdGFza3MgPSBhcnJheV9yZXZlcnNlKCRkYi0+ZmV0Y2hfdGFibGUoJ2Fu
YWx5c2lzX3Rhc2tzJywgJ3Rhc2tfY3JlYXRlZF9hdCcpKTsKKyAgICAgICAgaWYgKCFpc19hcnJh
eSgkdGFza3MpKQorICAgICAgICAgICAgZXhpdF93aXRoX2Vycm9yKCdGYWlsZWRUb0ZldGNoVGFz
a3MnKTsKKyAgICB9CisKKyAgICBleGl0X3dpdGhfc3VjY2VzcyhhcnJheSgnYW5hbHlzaXNUYXNr
cycgPT4gYXJyYXlfbWFwKCJmb3JtYXRfdGFzayIsICR0YXNrcykpKTsKK30KKworZGF0ZV9kZWZh
dWx0X3RpbWV6b25lX3NldCgnVVRDJyk7CitmdW5jdGlvbiBmb3JtYXRfdGFzaygkdGFza19yb3cp
IHsKKyAgICByZXR1cm4gYXJyYXkoCisgICAgICAgICdpZCcgPT4gJHRhc2tfcm93Wyd0YXNrX2lk
J10sCisgICAgICAgICduYW1lJyA9PiAkdGFza19yb3dbJ3Rhc2tfbmFtZSddLAorICAgICAgICAn
YXV0aG9yJyA9PiAkdGFza19yb3dbJ3Rhc2tfYXV0aG9yJ10sCisgICAgICAgICdjcmVhdGVkQXQn
ID0+IHN0cnRvdGltZSgkdGFza19yb3dbJ3Rhc2tfY3JlYXRlZF9hdCddKSAqIDEwMDAsCisgICAg
ICAgICdwbGF0Zm9ybScgPT4gJHRhc2tfcm93Wyd0YXNrX3BsYXRmb3JtJ10sCisgICAgICAgICdt
ZXRyaWMnID0+ICR0YXNrX3Jvd1sndGFza19tZXRyaWMnXSwKKyAgICAgICAgJ3N0YXJ0UnVuJyA9
PiAkdGFza19yb3dbJ3Rhc2tfc3RhcnRfcnVuJ10sCisgICAgICAgICdlbmRSdW4nID0+ICR0YXNr
X3Jvd1sndGFza19lbmRfcnVuJ10sCisgICAgKTsKK30KKworbWFpbihhcnJheV9rZXlfZXhpc3Rz
KCdQQVRIX0lORk8nLCAkX1NFUlZFUikgPyBleHBsb2RlKCcvJywgdHJpbSgkX1NFUlZFUlsnUEFU
SF9JTkZPJ10sICcvJykpIDogYXJyYXkoKSk7CisKKz8+CmRpZmYgLS1naXQgYS9XZWJzaXRlcy9w
ZXJmLndlYmtpdC5vcmcvcHVibGljL2FwaS90ZXN0LWdyb3Vwcy5waHAgYi9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvcHVibGljL2FwaS90ZXN0LWdyb3Vwcy5waHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTRjNTU0
MGEzMTY2ZDcyZGI4ZmU1ZmUyYjZmY2VlZGQ4ZTc1NzkyNAotLS0gL2Rldi9udWxsCisrKyBiL1dl
YnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvYXBpL3Rlc3QtZ3JvdXBzLnBocApAQCAtMCww
ICsxLDg5IEBACis8P3BocAorCityZXF1aXJlKCcuLi9pbmNsdWRlL2pzb24taGVhZGVyLnBocCcp
OworCitmdW5jdGlvbiBtYWluKCRwYXRoKSB7CisgICAgJGRiID0gbmV3IERhdGFiYXNlOworICAg
IGlmICghJGRiLT5jb25uZWN0KCkpCisgICAgICAgIGV4aXRfd2l0aF9lcnJvcignRGF0YWJhc2VD
b25uZWN0aW9uRmFpbHVyZScpOworCisgICAgaWYgKGNvdW50KCRwYXRoKSA+IDEpCisgICAgICAg
IGV4aXRfd2l0aF9lcnJvcignSW52YWxpZFJlcXVlc3QnKTsKKworICAgIGlmIChjb3VudCgkcGF0
aCkgPiAwICYmICRwYXRoWzBdKSB7CisgICAgICAgICRncm91cF9pZCA9IGludHZhbCgkcGF0aFsw
XSk7CisgICAgICAgICRncm91cCA9ICRkYi0+c2VsZWN0X2ZpcnN0X3JvdygnYW5hbHlzaXNfdGVz
dF9ncm91cHMnLCAndGVzdGdyb3VwJywgYXJyYXkoJ2lkJyA9PiAkZ3JvdXBfaWQpKTsKKyAgICAg
ICAgaWYgKCEkZ3JvdXApCisgICAgICAgICAgICBleGl0X3dpdGhfZXJyb3IoJ0dyb3VwTm90Rm91
bmQnLCBhcnJheSgnaWQnID0+ICRncm91cF9pZCkpOworICAgICAgICAkdGVzdF9ncm91cHMgPSBh
cnJheSgkZ3JvdXApOworICAgICAgICAkYnVpbGRfcmVxdWVzdHMgPSBmZXRjaF9idWlsZF9yZXF1
ZXN0c19mb3JfZ3JvdXAoJGRiLCAkZ3JvdXBfaWQpOworICAgIH0gZWxzZSB7CisgICAgICAgICR0
YXNrX2lkID0gYXJyYXlfZ2V0KCRfR0VULCAndGFzaycpOworICAgICAgICBpZiAoISR0YXNrX2lk
KQorICAgICAgICAgICAgZXhpdF93aXRoX2Vycm9yKCdUYXNrSWROb3RTcGVjaWZpZWQnKTsKKwor
ICAgICAgICAkdGVzdF9ncm91cHMgPSBmZXRjaF90ZXN0X2dyb3Vwc19mb3JfdGFzaygkZGIsICR0
YXNrX2lkKTsKKyAgICAgICAgaWYgKCFpc19hcnJheSgkdGVzdF9ncm91cHMpKQorICAgICAgICAg
ICAgZXhpdF93aXRoX2Vycm9yKCdGYWlsZWRUb0ZldGNoVGVzdEdyb3VwcycpOworICAgICAgICAk
YnVpbGRfcmVxdWVzdHMgPSBmZXRjaF9idWlsZF9yZXF1ZXN0c19mb3JfdGFzaygkZGIsICR0YXNr
X2lkKTsKKyAgICB9CisgICAgaWYgKCFpc19hcnJheSgkYnVpbGRfcmVxdWVzdHMpKQorICAgICAg
ICBleGl0X3dpdGhfZXJyb3IoJ0ZhaWxlZFRvRmV0Y2hCdWlsZFJlcXVlc3RzJyk7CisKKyAgICAk
dGVzdF9ncm91cHMgPSBhcnJheV9tYXAoImZvcm1hdF90ZXN0X2dyb3VwIiwgJHRlc3RfZ3JvdXBz
KTsKKyAgICAkZ3JvdXBfYnlfaWQgPSBhcnJheSgpOworICAgIGZvcmVhY2ggKCR0ZXN0X2dyb3Vw
cyBhcyAmJGdyb3VwKQorICAgICAgICAkZ3JvdXBfYnlfaWRbJGdyb3VwWydpZCddXSA9ICYkZ3Jv
dXA7CisKKyAgICAkYnVpbGRfcmVxdWVzdHMgPSBhcnJheV9tYXAoImZvcm1hdF9idWlsZF9yZXF1
ZXN0IiwgJGJ1aWxkX3JlcXVlc3RzKTsKKyAgICBmb3JlYWNoICgkYnVpbGRfcmVxdWVzdHMgYXMg
JHJlcXVlc3QpCisgICAgICAgIGFycmF5X3B1c2goJGdyb3VwX2J5X2lkWyRyZXF1ZXN0Wyd0ZXN0
R3JvdXAnXV1bJ2J1aWxkUmVxdWVzdHMnXSwgJHJlcXVlc3RbJ2lkJ10pOworCisgICAgZXhpdF93
aXRoX3N1Y2Nlc3MoYXJyYXkoJ3Rlc3RHcm91cHMnID0+ICR0ZXN0X2dyb3VwcywgJ2J1aWxkUmVx
dWVzdHMnID0+ICRidWlsZF9yZXF1ZXN0cykpOworfQorCitmdW5jdGlvbiBmZXRjaF90ZXN0X2dy
b3Vwc19mb3JfdGFzaygkZGIsICR0YXNrX2lkKSB7CisgICAgcmV0dXJuICRkYi0+cXVlcnlfYW5k
X2ZldGNoX2FsbCgnU0VMRUNUICogRlJPTSBhbmFseXNpc190ZXN0X2dyb3VwcyBXSEVSRSB0ZXN0
Z3JvdXBfdGFzayA9ICQxCisgICAgICAgIE9SREVSIEJZIHRlc3Rncm91cF9jcmVhdGVkX2F0Jywg
YXJyYXkoJHRhc2tfaWQpKTsKK30KKworZnVuY3Rpb24gZmV0Y2hfYnVpbGRfcmVxdWVzdHNfZm9y
X3Rhc2soJGRiLCAkdGFza19pZCkgeworICAgIHJldHVybiAkZGItPnF1ZXJ5X2FuZF9mZXRjaF9h
bGwoJ1NFTEVDVCAqIEZST00gYnVpbGRfcmVxdWVzdHMsIGJ1aWxkcworICAgICAgICBXSEVSRSBy
ZXF1ZXN0X2J1aWxkID0gYnVpbGRfaWQKKyAgICAgICAgICAgIEFORCByZXF1ZXN0X2dyb3VwIElO
IChTRUxFQ1QgdGVzdGdyb3VwX2lkIEZST00gYW5hbHlzaXNfdGVzdF9ncm91cHMgV0hFUkUgdGVz
dGdyb3VwX3Rhc2sgPSAkMSkKKyAgICAgICAgT1JERVIgQlkgcmVxdWVzdF9ncm91cCwgcmVxdWVz
dF9vcmRlcicsIGFycmF5KCR0YXNrX2lkKSk7Cit9CisKK2Z1bmN0aW9uIGZldGNoX2J1aWxkX3Jl
cXVlc3RzX2Zvcl9ncm91cCgkZGIsICR0ZXN0X2dyb3VwX2lkKSB7CisgICAgcmV0dXJuICRkYi0+
cXVlcnlfYW5kX2ZldGNoX2FsbCgnU0VMRUNUICogRlJPTSBidWlsZF9yZXF1ZXN0cywgYnVpbGRz
CisgICAgICAgIFdIRVJFIHJlcXVlc3RfYnVpbGQgPSBidWlsZF9pZCBBTkQgcmVxdWVzdF9ncm91
cCA9ICQxIE9SREVSIEJZIHJlcXVlc3Rfb3JkZXInLCBhcnJheSgkdGVzdF9ncm91cF9pZCkpOwor
fQorCitkYXRlX2RlZmF1bHRfdGltZXpvbmVfc2V0KCdVVEMnKTsKK2Z1bmN0aW9uIGZvcm1hdF90
ZXN0X2dyb3VwKCRncm91cF9yb3cpIHsKKyAgICByZXR1cm4gYXJyYXkoCisgICAgICAgICdpZCcg
PT4gJGdyb3VwX3Jvd1sndGVzdGdyb3VwX2lkJ10sCisgICAgICAgICd0YXNrJyA9PiAkZ3JvdXBf
cm93Wyd0ZXN0Z3JvdXBfdGFzayddLAorICAgICAgICAnbmFtZScgPT4gJGdyb3VwX3Jvd1sndGVz
dGdyb3VwX25hbWUnXSwKKyAgICAgICAgJ2F1dGhvcicgPT4gJGdyb3VwX3Jvd1sndGVzdGdyb3Vw
X2F1dGhvciddLAorICAgICAgICAnY3JlYXRlZEF0JyA9PiBzdHJ0b3RpbWUoJGdyb3VwX3Jvd1sn
dGVzdGdyb3VwX2NyZWF0ZWRfYXQnXSkgKiAxMDAwLAorICAgICAgICAnYnVpbGRSZXF1ZXN0cycg
PT4gYXJyYXkoKSwKKyAgICApOworfQorCitmdW5jdGlvbiBmb3JtYXRfYnVpbGRfcmVxdWVzdCgk
cmVxdWVzdF9yb3cpIHsKKyAgICByZXR1cm4gYXJyYXkoCisgICAgICAgICdpZCcgPT4gJHJlcXVl
c3Rfcm93WydyZXF1ZXN0X2lkJ10sCisgICAgICAgICd0ZXN0R3JvdXAnID0+ICRyZXF1ZXN0X3Jv
d1sncmVxdWVzdF9ncm91cCddLAorICAgICAgICAnb3JkZXInID0+ICRyZXF1ZXN0X3Jvd1sncmVx
dWVzdF9vcmRlciddLAorICAgICAgICAncm9vdFNldCcgPT4gJHJlcXVlc3Rfcm93WydyZXF1ZXN0
X3Jvb3Rfc2V0J10sCisgICAgICAgICdidWlsZCcgPT4gJHJlcXVlc3Rfcm93WydyZXF1ZXN0X2J1
aWxkJ10sCisgICAgICAgICdidWlsZGVyJyA9PiAkcmVxdWVzdF9yb3dbJ2J1aWxkX2J1aWxkZXIn
XSwKKyAgICAgICAgJ2J1aWxkTnVtYmVyJyA9PiAkcmVxdWVzdF9yb3dbJ2J1aWxkX251bWJlcidd
LAorICAgICAgICAnYnVpbGRUaW1lJyA9PiAkcmVxdWVzdF9yb3dbJ2J1aWxkX3RpbWUnXSA/IHN0
cnRvdGltZSgkcmVxdWVzdF9yb3dbJ2J1aWxkX3RpbWUnXSkgKiAxMDAwIDogTlVMTCwKKyAgICAp
OworfQorCittYWluKGFycmF5X2tleV9leGlzdHMoJ1BBVEhfSU5GTycsICRfU0VSVkVSKSA/IGV4
cGxvZGUoJy8nLCB0cmltKCRfU0VSVkVSWydQQVRIX0lORk8nXSwgJy8nKSkgOiBhcnJheSgpKTsK
KworPz4KZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvaW5jbHVk
ZS9qc29uLWhlYWRlci5waHAgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL2luY2x1
ZGUvanNvbi1oZWFkZXIucGhwCmluZGV4IDM1MDQzMTk0NDVkOTUwNTE5NTFjMmNmOTFjN2M3YWIw
ZmViOWNkZjQuLjhkYTRhNzZlMzFjNGMxNDM4MmVmNGUzZjg3MzE3ZjVjNjI3YWY4MDkgMTAwNjQ0
Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvaW5jbHVkZS9qc29uLWhlYWRl
ci5waHAKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9pbmNsdWRlL2pzb24t
aGVhZGVyLnBocApAQCAtOTMsMTAgKzkzLDE0IEBAIGZ1bmN0aW9uIGVuc3VyZV9wcml2aWxlZ2Vk
X2FwaV9kYXRhX2FuZF90b2tlbigpIHsKICAgICByZXR1cm4gJGRhdGE7CiB9CiAKK2Z1bmN0aW9u
IHJlbW90ZV91c2VyX25hbWUoKSB7CisgICAgcmV0dXJuIGFycmF5X2dldCgkX1NFUlZFUiwgJ1JF
TU9URV9VU0VSJyk7Cit9CisKIGZ1bmN0aW9uIGNvbXB1dGVfdG9rZW4oKSB7CiAgICAgaWYgKCFh
cnJheV9rZXlfZXhpc3RzKCdDU1JGU2FsdCcsICRfQ09PS0lFKSB8fCAhYXJyYXlfa2V5X2V4aXN0
cygnQ1NSRkV4cGlyYXRpb24nLCAkX0NPT0tJRSkpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAg
ICR1c2VyID0gYXJyYXlfZ2V0KCRfU0VSVkVSLCAnUkVNT1RFX1VTRVInKTsKKyAgICAkdXNlciA9
IHJlbW90ZV91c2VyX25hbWUoKTsKICAgICAkc2FsdCA9ICRfQ09PS0lFWydDU1JGU2FsdCddOwog
ICAgICRleHBpcmF0aW9uID0gJF9DT09LSUVbJ0NTUkZFeHBpcmF0aW9uJ107CiAgICAgcmV0dXJu
IGhhc2goJ3NoYTI1NicsICIkc2FsdHwkdXNlcnwkZXhwaXJhdGlvbiIpOwpkaWZmIC0tZ2l0IGEv
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9wcml2aWxlZ2VkLWFwaS9hc3NvY2lhdGUt
YnVnLnBocCBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvcHJpdmlsZWdlZC1hcGkv
YXNzb2NpYXRlLWJ1Zy5waHAKaW5kZXggNjczNDAwNTVkOWY3ZDE5ZjEzYjk2ZjNlNTU4MmUwYzE5
MTgzYTUzZi4uNGVkYTdmN2Y2ODg2M2NlZjI5YzY2ZWNiNTBkOTIyNjQ5YzFjYjRhYSAxMDA2NDQK
LS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9wcml2aWxlZ2VkLWFwaS9hc3Nv
Y2lhdGUtYnVnLnBocAorKysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3ByaXZp
bGVnZWQtYXBpL2Fzc29jaWF0ZS1idWcucGhwCkBAIC0zMSw3ICszMSw3IEBAIGZ1bmN0aW9uIG1h
aW4oKSB7CiAgICAgfQogICAgICRkYi0+Y29tbWl0X3RyYW5zYWN0aW9uKCk7CiAKLSAgICBleGl0
X3dpdGhfc3VjY2VzcyhhcnJheSgnYnVnX2lkJyA9PiAkYnVnX2lkKSk7CisgICAgZXhpdF93aXRo
X3N1Y2Nlc3MoYXJyYXkoJ2J1Z0lkJyA9PiAkYnVnX2lkKSk7CiB9CiAKIG1haW4oKTsKZGlmZiAt
LWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvcHJpdmlsZWdlZC1hcGkvY3Jl
YXRlLWFuYWx5c2lzLXRhc2sucGhwIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9w
cml2aWxlZ2VkLWFwaS9jcmVhdGUtYW5hbHlzaXMtdGFzay5waHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2I4ZTUy
MjRiMzRlNTliYjY1YjVlY2U3MTliNTcwNWI5MWZkOWQzNQotLS0gL2Rldi9udWxsCisrKyBiL1dl
YnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvcHJpdmlsZWdlZC1hcGkvY3JlYXRlLWFuYWx5
c2lzLXRhc2sucGhwCkBAIC0wLDAgKzEsNjIgQEAKKzw/cGhwCisKK3JlcXVpcmVfb25jZSgnLi4v
aW5jbHVkZS9qc29uLWhlYWRlci5waHAnKTsKKworZnVuY3Rpb24gbWFpbigpIHsKKyAgICAkZGF0
YSA9IGVuc3VyZV9wcml2aWxlZ2VkX2FwaV9kYXRhX2FuZF90b2tlbigpOworCisgICAgJGF1dGhv
ciA9IHJlbW90ZV91c2VyX25hbWUoKTsKKyAgICAkbmFtZSA9IGFycmF5X2dldCgkZGF0YSwgJ25h
bWUnKTsKKyAgICAkc3RhcnRfcnVuX2lkID0gYXJyYXlfZ2V0KCRkYXRhLCAnc3RhcnRSdW4nKTsK
KyAgICAkZW5kX3J1bl9pZCA9IGFycmF5X2dldCgkZGF0YSwgJ2VuZFJ1bicpOworCisgICAgaWYg
KCEkbmFtZSkKKyAgICAgICAgZXhpdF93aXRoX2Vycm9yKCdNaXNzaW5nTmFtZScsIGFycmF5KCdu
YW1lJyA9PiAkbmFtZSkpOworICAgICRyYW5nZSA9IGFycmF5KCdzdGFydFJ1bklkJyA9PiAkc3Rh
cnRfcnVuX2lkLCAnZW5kUnVuSWQnID0+ICRlbmRfcnVuX2lkKTsKKyAgICBpZiAoISRzdGFydF9y
dW5faWQgfHwgISRlbmRfcnVuX2lkKQorICAgICAgICBleGl0X3dpdGhfZXJyb3IoJ01pc3NpbmdS
YW5nZScsICRyYW5nZSk7CisKKyAgICAkZGIgPSBjb25uZWN0KCk7CisgICAgJHN0YXJ0X3J1biA9
IGVuc3VyZV9yb3dfYnlfaWQoJGRiLCAndGVzdF9ydW5zJywgJ3J1bicsICRzdGFydF9ydW5faWQs
ICdJbnZhbGlkU3RhcnRSdW4nLCAkcmFuZ2UpOworICAgICRlbmRfcnVuID0gZW5zdXJlX3Jvd19i
eV9pZCgkZGIsICd0ZXN0X3J1bnMnLCAncnVuJywgJGVuZF9ydW5faWQsICdJbnZhbGlkRW5kUnVu
JywgJHJhbmdlKTsKKworICAgICRjb25maWcgPSBlbnN1cmVfY29uZmlnX2Zyb21fcnVucygkZGIs
ICRzdGFydF9ydW4sICRlbmRfcnVuKTsKKworICAgICRkYi0+YmVnaW5fdHJhbnNhY3Rpb24oKTsK
KyAgICAkZHVwbGljYXRlID0gJGRiLT5zZWxlY3RfZmlyc3Rfcm93KCdhbmFseXNpc190YXNrcycs
ICd0YXNrJywgYXJyYXkoJ3N0YXJ0X3J1bicgPT4gJHN0YXJ0X3J1bl9pZCwgJ2VuZF9ydW4nID0+
ICRlbmRfcnVuX2lkKSk7CisgICAgaWYgKCRkdXBsaWNhdGUpIHsKKyAgICAgICAgJGRiLT5yb2xs
YmFja190cmFuc2FjdGlvbigpOworICAgICAgICBleGl0X3dpdGhfZXJyb3IoJ0R1cGxpY2F0ZUFu
YWx5c2lzVGFzaycsIGFycmF5KCdkdXBsaWNhdGUnID0+ICRkdXBsaWNhdGUpKTsKKyAgICB9CisK
KyAgICAkdGFza19pZCA9ICRkYi0+aW5zZXJ0X3JvdygnYW5hbHlzaXNfdGFza3MnLCAndGFzaycs
IGFycmF5KAorICAgICAgICAnbmFtZScgPT4gJG5hbWUsCisgICAgICAgICdhdXRob3InID0+ICRh
dXRob3IsCisgICAgICAgICdwbGF0Zm9ybScgPT4gJGNvbmZpZ1snY29uZmlnX3BsYXRmb3JtJ10s
CisgICAgICAgICdtZXRyaWMnID0+ICRjb25maWdbJ2NvbmZpZ19tZXRyaWMnXSwKKyAgICAgICAg
J3N0YXJ0X3J1bicgPT4gJHN0YXJ0X3J1bl9pZCwKKyAgICAgICAgJ2VuZF9ydW4nID0+ICRlbmRf
cnVuX2lkKSk7CisgICAgJGRiLT5jb21taXRfdHJhbnNhY3Rpb24oKTsKKworICAgIGV4aXRfd2l0
aF9zdWNjZXNzKGFycmF5KCd0YXNrSWQnID0+ICR0YXNrX2lkKSk7Cit9CisKK2Z1bmN0aW9uIGVu
c3VyZV9yb3dfYnlfaWQoJGRiLCAkdGFibGUsICRwcmVmaXgsICRpZCwgJGVycm9yX25hbWUsICRl
cnJvcl9wYXJhbXMpIHsKKyAgICAkcm93ID0gJGRiLT5zZWxlY3RfZmlyc3Rfcm93KCR0YWJsZSwg
JHByZWZpeCwgYXJyYXkoJ2lkJyA9PiAkaWQpKTsKKyAgICBpZiAoISRyb3cpCisgICAgICAgIGV4
aXRfd2l0aF9lcnJvcigkZXJyb3JfbmFtZSwgYXJyYXkoJGVycm9yX3BhcmFtcykpOworICAgIHJl
dHVybiAkcm93OworfQorCitmdW5jdGlvbiBlbnN1cmVfY29uZmlnX2Zyb21fcnVucygkZGIsICRz
dGFydF9ydW4sICRlbmRfcnVuKSB7CisgICAgJHJhbmdlID0gYXJyYXkoJ3N0YXJ0UnVuJyA9PiAk
c3RhcnRfcnVuLCAnZW5kUnVuJyA9PiAkZW5kX3J1bik7CisKKyAgICBpZiAoJHN0YXJ0X3J1blsn
cnVuX2NvbmZpZyddICE9ICRlbmRfcnVuWydydW5fY29uZmlnJ10pCisgICAgICAgIGV4aXRfd2l0
aF9lcnJvcignUnVuQ29uZmlnTWlzbWF0Y2gnLCAkcmFuZ2UpOworCisgICAgcmV0dXJuIGVuc3Vy
ZV9yb3dfYnlfaWQoJGRiLCAndGVzdF9jb25maWd1cmF0aW9ucycsICdjb25maWcnLCAkc3RhcnRf
cnVuWydydW5fY29uZmlnJ10sICdDb25maWdOb3RGb3VuZCcsICRyYW5nZSk7Cit9CisKK21haW4o
KTsKKworPz4KZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvcHJp
dmlsZWdlZC1hcGkvZ2VuZXJhdGUtY3NyZi10b2tlbi5waHAgYi9XZWJzaXRlcy9wZXJmLndlYmtp
dC5vcmcvcHVibGljL3ByaXZpbGVnZWQtYXBpL2dlbmVyYXRlLWNzcmYtdG9rZW4ucGhwCmluZGV4
IDQ1ZDU3YTU5NzE5NGJmNjM5OTc2MDg1NTA3NmE2MzU4MGE3MjM0M2MuLmJlM2YwZmUxYWVkMjY3
YTBhZWU0NGJlOGQ2ZDIwZThjZjU3NzdlZDQgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Vi
a2l0Lm9yZy9wdWJsaWMvcHJpdmlsZWdlZC1hcGkvZ2VuZXJhdGUtY3NyZi10b2tlbi5waHAKKysr
IGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9wcml2aWxlZ2VkLWFwaS9nZW5lcmF0
ZS1jc3JmLXRva2VuLnBocApAQCAtNCw4ICs0LDYgQEAgcmVxdWlyZV9vbmNlKCcuLi9pbmNsdWRl
L2pzb24taGVhZGVyLnBocCcpOwogCiBlbnN1cmVfcHJpdmlsZWdlZF9hcGlfZGF0YSgpOwogCi0k
dXNlciA9IGFycmF5X2dldCgkX1NFUlZFUiwgJ1JFTU9URV9VU0VSJyk7Ci0KICRleHBpcml0YWlv
biA9IHRpbWUoKSArIDM2MDA7IC8vIFZhbGlkIGZvciBvbmUgaG91ci4KICRfQ09PS0lFWydDU1JG
U2FsdCddID0gcmFuZCgpOwogJF9DT09LSUVbJ0NTUkZFeHBpcmF0aW9uJ10gPSAkZXhwaXJpdGFp
b247CkBAIC0xMyw2ICsxMSw2IEBAICRfQ09PS0lFWydDU1JGRXhwaXJhdGlvbiddID0gJGV4cGly
aXRhaW9uOwogc2V0Y29va2llKCdDU1JGU2FsdCcsICRfQ09PS0lFWydDU1JGU2FsdCddKTsKIHNl
dGNvb2tpZSgnQ1NSRkV4cGlyYXRpb24nLCAkZXhwaXJpdGFpb24pOwogCi1leGl0X3dpdGhfc3Vj
Y2VzcyhhcnJheSgndXNlcicgPT4gJHVzZXIsICd0b2tlbicgPT4gY29tcHV0ZV90b2tlbigpLCAn
ZXhwaXJhdGlvbicgPT4gJGV4cGlyaXRhaW9uICogMTAwMCkpOworZXhpdF93aXRoX3N1Y2Nlc3Mo
YXJyYXkoJ3VzZXInID0+IHJlbW90ZV91c2VyX25hbWUoKSwgJ3Rva2VuJyA9PiBjb21wdXRlX3Rv
a2VuKCksICdleHBpcmF0aW9uJyA9PiAkZXhwaXJpdGFpb24gKiAxMDAwKSk7CiAKID8+CmRpZmYg
LS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YyL2FuYWx5c2lzLmpzIGIv
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9hbmFseXNpcy5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wNWU0NjMxMDMyZDdhMzM2MTgzZGQzYTcyNTdlZTllOWY4ZWNiMDRiCi0tLSAvZGV2L251bGwK
KysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9hbmFseXNpcy5qcwpAQCAt
MCwwICsxLDYwIEBACitBcHAuQW5hbHlzaXNUYXNrID0gQXBwLk5hbWVMYWJlbE1vZGVsLmV4dGVu
ZCh7CisgICAgYXV0aG9yOiBEUy5hdHRyKCdzdHJpbmcnKSwKKyAgICBjcmVhdGVkQXQ6IERTLmF0
dHIoJ2RhdGUnKSwKKyAgICBwbGF0Zm9ybTogRFMuYmVsb25nc1RvKCdwbGF0Zm9ybScpLAorICAg
IG1ldHJpYzogRFMuYmVsb25nc1RvKCdtZXRyaWMnKSwKKyAgICBzdGFydFJ1bjogRFMuYXR0cign
bnVtYmVyJyksCisgICAgZW5kUnVuOiBEUy5hdHRyKCdudW1iZXInKSwKKyAgICB0ZXN0R3JvdXBz
OiBmdW5jdGlvbiAoKSB7CisgICAgICAgIHJldHVybiB0aGlzLnN0b3JlLmZpbmQoJ3Rlc3RHcm91
cCcsIHt0YXNrOiB0aGlzLmdldCgnaWQnKX0pOworICAgIH0ucHJvcGVydHkoKSwKK30pOworCisv
LyBGSVhNRTogVXNlIERTLlJFU1RBZGFwdGVyIGluc3RlYWQuCitBcHAuQW5hbHlzaXNUYXNrLmNy
ZWF0ZSA9IGZ1bmN0aW9uIChuYW1lLCBzdGFydE1lYXN1cmVtZW50LCBlbmRNZWFzdXJlbWVudCkK
K3sKKyAgICByZXR1cm4gUHJpdmlsZWdlZEFQSS5zZW5kUmVxdWVzdCgnY3JlYXRlLWFuYWx5c2lz
LXRhc2snLCB7CisgICAgICAgIG5hbWU6IG5hbWUsCisgICAgICAgIHN0YXJ0UnVuOiBzdGFydE1l
YXN1cmVtZW50LmlkKCksCisgICAgICAgIGVuZFJ1bjogZW5kTWVhc3VyZW1lbnQuaWQoKSwKKyAg
ICB9KTsKK30KKworQXBwLkFuYWx5c2lzVGFza0FkYXB0ZXIgPSBEUy5SRVNUQWRhcHRlci5leHRl
bmQoeworICAgIGJ1aWxkVVJMOiBmdW5jdGlvbiAodHlwZSwgaWQpCisgICAgeworICAgICAgICBy
ZXR1cm4gJy4uL2FwaS9hbmFseXNpcy10YXNrcy8nICsgKGlkID8gaWQgOiAnJyk7CisgICAgfSwK
K30pOworCitBcHAuVGVzdEdyb3VwID0gQXBwLk5hbWVMYWJlbE1vZGVsLmV4dGVuZCh7CisgICAg
YW5hbHlzaXNUYXNrOiBEUy5iZWxvbmdzVG8oJ2FuYWx5c2lzVGFzaycpLAorICAgIGF1dGhvcjog
RFMuYXR0cignc3RyaW5nJyksCisgICAgY3JlYXRlZEF0OiBEUy5hdHRyKCdkYXRlJyksCisgICAg
YnVpbGRSZXF1ZXN0czogRFMuaGFzTWFueSgnYnVpbGRSZXF1ZXN0cycpLAorfSk7CisKK0FwcC5U
ZXN0R3JvdXBBZGFwdGVyID0gRFMuUkVTVEFkYXB0ZXIuZXh0ZW5kKHsKKyAgICBidWlsZFVSTDog
ZnVuY3Rpb24gKHR5cGUsIGlkKQorICAgIHsKKyAgICAgICAgcmV0dXJuICcuLi9hcGkvdGVzdC1n
cm91cHMvJyArIChpZCA/IGlkIDogJycpOworICAgIH0sCit9KTsKKworQXBwLkFuYWx5c2lzVGFz
a1NlcmlhbGl6ZXIgPSBBcHAuVGVzdEdyb3VwU2VyaWFsaXplciA9IERTLlJFU1RTZXJpYWxpemVy
LmV4dGVuZCh7CisgICAgbm9ybWFsaXplUGF5bG9hZDogZnVuY3Rpb24gKHBheWxvYWQpCisgICAg
eworICAgICAgICBkZWxldGUgcGF5bG9hZFsnc3RhdHVzJ107CisgICAgICAgIHJldHVybiBwYXls
b2FkOworICAgIH0KK30pOworCitBcHAuQnVpbGRSZXF1ZXN0ID0gRFMuTW9kZWwuZXh0ZW5kKHsK
KyAgICBncm91cDogRFMuYmVsb25nc1RvKCd0ZXN0R3JvdXAnKSwKKyAgICBvcmRlcjogRFMuYXR0
cignbnVtYmVyJyksCisgICAgcm9vdFNldDogRFMuYXR0cignbnVtYmVyJyksCisgICAgYnVpbGQ6
IERTLmF0dHIoJ251bWJlcicpLAorICAgIGJ1aWxkTnVtYmVyOiBEUy5hdHRyKCdudW1iZXInKSwK
KyAgICBidWlsZEJ1aWxkZXI6IERTLmJlbG9uZ3NUbygnYnVpbGRlcicpLAorICAgIGJ1aWxkVGlt
ZTogRFMuYXR0cignZGF0ZScpLAorfSk7CmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtp
dC5vcmcvcHVibGljL3YyL2FwcC5jc3MgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGlj
L3YyL2FwcC5jc3MKaW5kZXggYmIzM2RiOWJlYWIxODFkNTAzODBkNzFhYmU4YzViY2VjMzRlNTQ3
Yi4uN2E0Yjc4MGNhYjYxNGNlYjU3MzVlMTRkMDRhNTc1NGY2NDRkN2Q5NyAxMDA3NTUKLS0tIGEv
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9hcHAuY3NzCisrKyBiL1dlYnNpdGVz
L3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvYXBwLmNzcwpAQCAtNDExLDMgKzQxMSw2MyBAQCB0
YWJsZS5kYXNoYm9hcmQgdGJvZHkgdGQgLnByb2dyZXNzIHsKICAgICBsaW5lLWhlaWdodDogMTJy
ZW07CiAgICAgdmVydGljYWwtYWxpZ246IGNlbnRlcjsKIH0KKworI2FuYWx5c2lzLXRhc2tzLAor
LnRlc3QtZ3JvdXBzID4gdGFibGUgeworICAgIGJvcmRlcjogc29saWQgMHB4ICM5OTk7CisgICAg
Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKK30KKworI2FuYWx5c2lzLXRhc2tzIHRoZWFkLAor
LnRlc3QtZ3JvdXBzID4gdGFibGUgdGhlYWQgeworICAgIGNvbG9yOiAjYzkzOworfQorCisjYW5h
bHlzaXMtdGFza3MgdGgsCisudGVzdC1ncm91cHMgPiB0YWJsZSB0aCB7CisgICAgZm9udC13ZWln
aHQ6IG5vcm1hbDsKK30KKworI2FuYWx5c2lzLXRhc2tzIHRkLAorI2FuYWx5c2lzLXRhc2tzIHRo
LAorLnRlc3QtZ3JvdXBzID4gdGFibGUgdGQsCisudGVzdC1ncm91cHMgPiB0YWJsZSB0aCB7Cisg
ICAgcGFkZGluZzogMC4ycmVtIDAuNXJlbTsKK30KKworI2FuYWx5c2lzLXRhc2tzIHRib2R5IHRk
LAorI2FuYWx5c2lzLXRhc2tzIHRib2R5IHRoLAorLnRlc3QtZ3JvdXBzID4gdGFibGUgdGJvZHkg
dGQsCisudGVzdC1ncm91cHMgPiB0YWJsZSB0Ym9keSB0aCB7CisgICAgYm9yZGVyLXRvcDogc29s
aWQgMXB4ICNkZGQ7Cit9CisKKyNhbmFseXNpcy10YXNrLXRpdGxlIHsKKyAgICBmb250LXdlaWdo
dDogbm9ybWFsOworICAgIGZvbnQtc2l6ZTogMS4ycmVtOworICAgIG1hcmdpbjogMCAwIDAgMC41
cmVtOworICAgIHBhZGRpbmc6IDA7Cit9CisKKyNhbmFseXNpcy10YXNrLXRlc3RuYW1lIHsKKyAg
ICBmb250LXdlaWdodDogbm9ybWFsOworICAgIGZvbnQtc2l6ZTogMXJlbTsKKyAgICBtYXJnaW46
IDAgMCAxcmVtIDAuNXJlbTsKKyAgICBwYWRkaW5nOiAwOworICAgIGNvbG9yOiAjMzMzOworfQor
CisudGVzdC1ncm91cHMgeworICAgIGJvcmRlcjogMXB4IHNvbGlkICNiYmI7CisgICAgYm9yZGVy
LXJhZGl1czogMC41cmVtOworICAgIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4wMykgMXB4
IDFweCAwcHggMHB4OworCisgICAgcGFkZGluZzogMC41cmVtIDFyZW07CisgICAgbWFyZ2luLWJv
dHRvbTogMS41cmVtOworfQorCisudGVzdC1ncm91cHMgY2FwdGlvbiB7CisgICAgZm9udC1zaXpl
OiAxLjFyZW07CisgICAgdGV4dC1hbGlnbjogbGVmdDsKKyAgICBtYXJnaW4tYm90dG9tOiAwLjVy
ZW07Cit9CmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YyL2Fw
cC5qcyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvYXBwLmpzCmluZGV4IGU5
ODQyODZkMDE5OTczN2FiYjMxNzcxZWY4N2I1ZGZhMmJmNzA5YzUuLmI1MWZiMjllNjUyYWI3ODY0
ZDY1OWI3NGY5OTM5YjE1NDQxZDZiOTEgMTAwNzU1Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0
Lm9yZy9wdWJsaWMvdjIvYXBwLmpzCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJs
aWMvdjIvYXBwLmpzCkBAIC0yLDYgKzIsOCBAQCB3aW5kb3cuQXBwID0gRW1iZXIuQXBwbGljYXRp
b24uY3JlYXRlKCk7CiAKIEFwcC5Sb3V0ZXIubWFwKGZ1bmN0aW9uICgpIHsKICAgICB0aGlzLnJl
c291cmNlKCdjaGFydHMnLCB7cGF0aDogJ2NoYXJ0cyd9KTsKKyAgICB0aGlzLnJlc291cmNlKCdh
bmFseXNpcycsIHtwYXRoOiAnYW5hbHlzaXMnfSk7CisgICAgdGhpcy5yZXNvdXJjZSgnYW5hbHlz
aXNUYXNrJywge3BhdGg6ICdhbmFseXNpcy90YXNrLzp0YXNrSWQnfSk7CiB9KTsKIAogQXBwLkRh
c2hib2FyZFJvdyA9IEVtYmVyLk9iamVjdC5leHRlbmQoewpAQCAtMzM4LDQ1ICszNDAsMTkgQEAg
QXBwLlBhbmUgPSBFbWJlci5PYmplY3QuZXh0ZW5kKHsKICAgICAgICAgZWxzZSB7CiAgICAgICAg
ICAgICB2YXIgc2VsZiA9IHRoaXM7CiAKLSAgICAgICAgICAgIHZhciBtZXRyaWM7Ci0gICAgICAg
ICAgICB2YXIgbWFuaWZlc3RQcm9taXNlID0gQXBwLk1hbmlmZXN0LmZldGNoKHRoaXMuc3RvcmUp
LnRoZW4oZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRW1iZXIuUlNW
UC5Qcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgICAgICAg
ICAgdmFyIHBsYXRmb3JtID0gQXBwLk1hbmlmZXN0LnBsYXRmb3JtKHBsYXRmb3JtSWQpOwotICAg
ICAgICAgICAgICAgICAgICBtZXRyaWMgPSBBcHAuTWFuaWZlc3QubWV0cmljKG1ldHJpY0lkKTsK
LSAgICAgICAgICAgICAgICAgICAgaWYgKCFwbGF0Zm9ybSkKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHJlamVjdCgnQ291bGQgbm90IGZpbmQgdGhlIHBsYXRmb3JtICInICsgcGxhdGZvcm1JZCAr
ICciJyk7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFtZXRyaWMpCi0gICAgICAgICAg
ICAgICAgICAgICAgICByZWplY3QoJ0NvdWxkIG5vdCBmaW5kIHRoZSBtZXRyaWMgIicgKyBtZXRy
aWNJZCArICciJyk7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAg
ICAgICAgICAgc2VsZi5zZXQoJ3BsYXRmb3JtJywgcGxhdGZvcm0pOwotICAgICAgICAgICAgICAg
ICAgICAgICAgc2VsZi5zZXQoJ21ldHJpYycsIG1ldHJpYyk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICByZXNvbHZlKG51bGwpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
ICAgfSk7Ci0gICAgICAgICAgICB9KTsKLQotICAgICAgICAgICAgRW1iZXIuUlNWUC5hbGwoWwot
ICAgICAgICAgICAgICAgIFJ1bnNEYXRhLmZldGNoUnVucyhwbGF0Zm9ybUlkLCBtZXRyaWNJZCks
Ci0gICAgICAgICAgICAgICAgbWFuaWZlc3RQcm9taXNlLAotICAgICAgICAgICAgXSkudGhlbihm
dW5jdGlvbiAodmFsdWVzKSB7Ci0gICAgICAgICAgICAgICAgdmFyIHJ1bnMgPSB2YWx1ZXNbMF07
Ci0KLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogSW5jbHVkZSB0aGlzIGluZm9ybWF0aW9uIGlu
IEpTT04gYW5kIHByb2Nlc3MgaXQgaW4gUnVuc0RhdGEuZmV0Y2hSdW5zCi0gICAgICAgICAgICAg
ICAgdmFyIHVuaXQgPSB7J0NvbWJpbmVkJzogJycsIC8vIEFzc3VtZSBzbWFsbGVyIGlzIGJldHRl
ciBmb3Igbm93LgotICAgICAgICAgICAgICAgICAgICAnRnJhbWVSYXRlJzogJ2ZwcycsCi0gICAg
ICAgICAgICAgICAgICAgICdSdW5zJzogJ3J1bnMvcycsCi0gICAgICAgICAgICAgICAgICAgICdU
aW1lJzogJ21zJywKLSAgICAgICAgICAgICAgICAgICAgJ01hbGxvYyc6ICdieXRlcycsCi0gICAg
ICAgICAgICAgICAgICAgICdKU0hlYXAnOiAnYnl0ZXMnLAotICAgICAgICAgICAgICAgICAgICAn
QWxsb2NhdGlvbnMnOiAnYnl0ZXMnLAotICAgICAgICAgICAgICAgICAgICAnRW5kQWxsb2NhdGlv
bnMnOiAnYnl0ZXMnLAotICAgICAgICAgICAgICAgICAgICAnTWF4QWxsb2NhdGlvbnMnOiAnYnl0
ZXMnLAotICAgICAgICAgICAgICAgICAgICAnTWVhbkFsbG9jYXRpb25zJzogJ2J5dGVzJ31bbWV0
cmljLmdldCgnbmFtZScpXTsKLSAgICAgICAgICAgICAgICBydW5zLnVuaXQgPSB1bml0OwotCi0g
ICAgICAgICAgICAgICAgc2VsZi5zZXQoJ2NoYXJ0RGF0YScsIHJ1bnMpOwotICAgICAgICAgICAg
fSwgZnVuY3Rpb24gKHN0YXR1cykgewotICAgICAgICAgICAgICAgIHNlbGYuc2V0KCdmYWlsdXJl
JywgJ0ZhaWxlZCB0byBmZXRjaCB0aGUgSlNPTiB3aXRoIGFuIGVycm9yOiAnICsgc3RhdHVzKTsK
KyAgICAgICAgICAgIEFwcC5NYW5pZmVzdC5mZXRjaFJ1bnNXaXRoUGxhdGZvcm1BbmRNZXRyaWMo
dGhpcy5zdG9yZSwgcGxhdGZvcm1JZCwgbWV0cmljSWQpLnRoZW4oZnVuY3Rpb24gKHJlc3VsdCkg
eworICAgICAgICAgICAgICAgIHNlbGYuc2V0KCdwbGF0Zm9ybScsIHJlc3VsdC5wbGF0Zm9ybSk7
CisgICAgICAgICAgICAgICAgc2VsZi5zZXQoJ21ldHJpYycsIHJlc3VsdC5tZXRyaWMpOworICAg
ICAgICAgICAgICAgIHNlbGYuc2V0KCdjaGFydERhdGEnLCByZXN1bHQucnVucyk7CisgICAgICAg
ICAgICB9LCBmdW5jdGlvbiAocmVzdWx0KSB7CisgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQg
fHwgdHlwZW9mKHJlc3VsdCkgPT09ICJzdHJpbmciKQorICAgICAgICAgICAgICAgICAgICBzZWxm
LnNldCgnZmFpbHVyZScsICdGYWlsZWQgdG8gZmV0Y2ggdGhlIEpTT04gd2l0aCBhbiBlcnJvcjog
JyArIHJlc3VsdCk7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAoIXJlc3VsdC5wbGF0Zm9ybSkK
KyAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXQoJ2ZhaWx1cmUnLCAnQ291bGQgbm90IGZpbmQg
dGhlIHBsYXRmb3JtICInICsgcGxhdGZvcm1JZCArICciJyk7CisgICAgICAgICAgICAgICAgZWxz
ZSBpZiAoIXJlc3VsdC5tZXRyaWMpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuc2V0KCdmYWls
dXJlJywgJ0NvdWxkIG5vdCBmaW5kIHRoZSBtZXRyaWMgIicgKyBtZXRyaWNJZCArICciJyk7Cisg
ICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBzZWxmLnNldCgnZmFpbHVy
ZScsICdBbiBpbnRlcm5hbCBlcnJvcicpOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KICAg
ICB9Lm9ic2VydmVzKCdwbGF0Zm9ybUlkJywgJ21ldHJpY0lkJykub24oJ2luaXQnKSwKQEAgLTY3
NSwyMCArNjUxLDQwIEBAIEFwcC5QYW5lQ29udHJvbGxlciA9IEVtYmVyLk9iamVjdENvbnRyb2xs
ZXIuZXh0ZW5kKHsKICAgICAgICAgfSwKICAgICAgICAgdG9nZ2xlQnVnc1BhbmU6IGZ1bmN0aW9u
ICgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICghQXBwLk1hbmlmZXN0LmJ1Z1RyYWNrZXJz
IHx8ICF0aGlzLmdldCgnc2luZ2x5U2VsZWN0ZWRQb2ludCcpKQotICAgICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgICAgIGlmICh0aGlzLnRvZ2dsZVByb3BlcnR5KCdzaG93aW5nQnVnc1Bh
bmUnKSkKICAgICAgICAgICAgICAgICB0aGlzLnNldCgnc2hvd2luZ1NlYXJjaFBhbmUnLCBmYWxz
ZSk7CiAgICAgICAgIH0sCiAgICAgICAgIGFzc29jaWF0ZUJ1ZzogZnVuY3Rpb24gKGJ1Z1RyYWNr
ZXIsIGJ1Z051bWJlcikKICAgICAgICAgewotICAgICAgICAgICAgdmFyIHBvaW50ID0gdGhpcy5n
ZXQoJ3NpbmdseVNlbGVjdGVkUG9pbnQnKTsKKyAgICAgICAgICAgIHZhciBwb2ludCA9IHRoaXMu
Z2V0KCdzZWxlY3RlZFNpbmdsZVBvaW50Jyk7CiAgICAgICAgICAgICBpZiAoIXBvaW50KQogICAg
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIHZhciBzZWxmID0gdGhpczsKICAgICAg
ICAgICAgIHBvaW50Lm1lYXN1cmVtZW50LmFzc29jaWF0ZUJ1ZyhidWdUcmFja2VyLmdldCgnaWQn
KSwgYnVnTnVtYmVyKS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICBzZWxmLl91
cGRhdGVCdWdzKCk7CiAgICAgICAgICAgICAgICAgc2VsZi5fdXBkYXRlTWFya2VkUG9pbnRzKCk7
CisgICAgICAgICAgICB9LCBmdW5jdGlvbiAoZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBhbGVy
dChlcnJvcik7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSwKKyAgICAgICAgY3JlYXRlQW5h
bHlzaXNUYXNrOiBmdW5jdGlvbiAoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgbmFtZSA9
IHRoaXMuZ2V0KCduZXdBbmFseXNpc1Rhc2tOYW1lJyk7CisgICAgICAgICAgICB2YXIgcG9pbnRz
ID0gdGhpcy5fc2VsZWN0ZWRQb2ludHM7CisgICAgICAgICAgICBpZiAoIW5hbWUgfHwgIXBvaW50
cyB8fCBwb2ludHMubGVuZ3RoIDwgMikKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAg
ICAgICAgIHZhciBuZXdXaW5kb3cgPSB3aW5kb3cub3BlbigpOworICAgICAgICAgICAgQXBwLkFu
YWx5c2lzVGFzay5jcmVhdGUobmFtZSwgcG9pbnRzWzBdLm1lYXN1cmVtZW50LCBwb2ludHNbcG9p
bnRzLmxlbmd0aCAtIDFdLm1lYXN1cmVtZW50KS50aGVuKGZ1bmN0aW9uIChkYXRhKSB7CisgICAg
ICAgICAgICAgICAgLy8gRklYTUU6IFVwZGF0ZSB0aGUgVUkgdG8gc2hvdyB0aGUgbmV3IGFuYWx5
c2lzIHRhc2suCisgICAgICAgICAgICAgICAgdmFyIHVybCA9IEFwcC5Sb3V0ZXIucm91dGVyLmdl
bmVyYXRlKCdhbmFseXNpc1Rhc2snLCBkYXRhWyd0YXNrSWQnXSk7CisgICAgICAgICAgICAgICAg
bmV3V2luZG93LmxvY2F0aW9uLmhyZWYgPSAnIycgKyB1cmw7CisgICAgICAgICAgICB9LCBmdW5j
dGlvbiAoZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBuZXdXaW5kb3cuY2xvc2UoKTsKKyAgICAg
ICAgICAgICAgICBpZiAoZXJyb3IgPT09ICdEdXBsaWNhdGVBbmFseXNpc1Rhc2snKSB7CisgICAg
ICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBEdXBsaWNhdGUgdGhpcyBlcnJvciBtb3JlIGdyYWNl
ZnVsbHkuCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGFsZXJ0KGVycm9yKTsK
ICAgICAgICAgICAgIH0pOwogICAgICAgICB9LAogICAgICAgICB0b2dnbGVTZWFyY2hQYW5lOiBm
dW5jdGlvbiAoKQpAQCAtNzMyLDcgKzcyOCw3IEBAIEFwcC5QYW5lQ29udHJvbGxlciA9IEVtYmVy
Lk9iamVjdENvbnRyb2xsZXIuZXh0ZW5kKHsKICAgICBfZGV0YWlsc0NoYW5nZWQ6IGZ1bmN0aW9u
ICgpCiAgICAgewogICAgICAgICB0aGlzLnNldCgnc2hvd2luZ0J1Z3NQYW5lJywgZmFsc2UpOwot
ICAgICAgICB0aGlzLnNldCgnc2luZ2x5U2VsZWN0ZWRQb2ludCcsICF0aGlzLl9oYXNSYW5nZSAm
JiB0aGlzLl9zZWxlY3RlZFBvaW50cyA/IHRoaXMuX3NlbGVjdGVkUG9pbnRzWzBdIDogbnVsbCk7
CisgICAgICAgIHRoaXMuc2V0KCdzZWxlY3RlZFNpbmdsZVBvaW50JywgIXRoaXMuX2hhc1Jhbmdl
ICYmIHRoaXMuX3NlbGVjdGVkUG9pbnRzID8gdGhpcy5fc2VsZWN0ZWRQb2ludHNbMF0gOiBudWxs
KTsKICAgICB9Lm9ic2VydmVzKCdkZXRhaWxzJyksCiAgICAgX292ZXJ2aWV3U2VsZWN0aW9uQ2hh
bmdlZDogZnVuY3Rpb24gKCkKICAgICB7CkBAIC04MjAsNyArODE2LDkgQEAgQXBwLlBhbmVDb250
cm9sbGVyID0gRW1iZXIuT2JqZWN0Q29udHJvbGxlci5leHRlbmQoewogICAgICAgICB2YXIgYnVn
VHJhY2tlcnMgPSBBcHAuTWFuaWZlc3QuZ2V0KCdidWdUcmFja2VycycpOwogICAgICAgICB2YXIg
dHJhY2tlclRvQnVnTnVtYmVycyA9IHt9OwogICAgICAgICBidWdUcmFja2Vycy5mb3JFYWNoKGZ1
bmN0aW9uICh0cmFja2VyKSB7IHRyYWNrZXJUb0J1Z051bWJlcnNbdHJhY2tlci5nZXQoJ2lkJyld
ID0gbmV3IEFycmF5KCk7IH0pOwotICAgICAgICB0aGlzLl9zZWxlY3RlZFBvaW50cy5tYXAoZnVu
Y3Rpb24gKHBvaW50KSB7CisKKyAgICAgICAgdmFyIHBvaW50cyA9IHRoaXMuX2hhc1JhbmdlID8g
dGhpcy5fc2VsZWN0ZWRQb2ludHMgOiBbdGhpcy5fc2VsZWN0ZWRQb2ludHNbMV1dOworICAgICAg
ICBwb2ludHMubWFwKGZ1bmN0aW9uIChwb2ludCkgewogICAgICAgICAgICAgdmFyIGJ1Z3MgPSBw
b2ludC5tZWFzdXJlbWVudC5idWdzKCk7CiAgICAgICAgICAgICBidWdUcmFja2Vycy5mb3JFYWNo
KGZ1bmN0aW9uICh0cmFja2VyKSB7CiAgICAgICAgICAgICAgICAgdmFyIGJ1Z051bWJlciA9IGJ1
Z3NbdHJhY2tlci5nZXQoJ2lkJyldOwpAQCAtMTU4MiwzICsxNTgwLDEzMSBAQCBBcHAuQ29tbWl0
c1ZpZXdlckNvbXBvbmVudCA9IEVtYmVyLkNvbXBvbmVudC5leHRlbmQoewogICAgICAgICB9KQog
ICAgIH0ub2JzZXJ2ZXMoJ3JlcG9zaXRvcnknKS5vYnNlcnZlcygncmV2aXNpb25JbmZvJykub24o
J2luaXQnKSwKIH0pOworCisKK0FwcC5BbmFseXNpc1JvdXRlID0gRW1iZXIuUm91dGUuZXh0ZW5k
KHsKKyAgICBtb2RlbDogZnVuY3Rpb24gKCkgeworICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS5m
aW5kQWxsKCdhbmFseXNpc1Rhc2snKS50aGVuKGZ1bmN0aW9uICh0YXNrcykgeworICAgICAgICAg
ICAgcmV0dXJuIEVtYmVyLk9iamVjdC5jcmVhdGUoeyd0YXNrcyc6IHRhc2tzfSk7CisgICAgICAg
IH0pOworICAgIH0sCit9KTsKKworQXBwLkFuYWx5c2lzVGFza1JvdXRlID0gRW1iZXIuUm91dGUu
ZXh0ZW5kKHsKKyAgICBtb2RlbDogZnVuY3Rpb24gKHBhcmFtKSB7CisgICAgICAgIHZhciBzdG9y
ZSA9IHRoaXMuc3RvcmU7CisgICAgICAgIHJldHVybiB0aGlzLnN0b3JlLmZpbmQoJ2FuYWx5c2lz
VGFzaycsIHBhcmFtLnRhc2tJZCkudGhlbihmdW5jdGlvbiAodGFzaykgeworICAgICAgICAgICAg
cmV0dXJuIEFwcC5BbmFseXNpc1Rhc2tWaWV3TW9kZWwuY3JlYXRlKHtjb250ZW50OiB0YXNrfSk7
CisgICAgICAgIH0pOworICAgIH0sCit9KTsKKworQXBwLkFuYWx5c2lzVGFza1ZpZXdNb2RlbCA9
IEVtYmVyLk9iamVjdFByb3h5LmV4dGVuZCh7CisgICAgdGVzdFNldHM6IFtdLAorICAgIHJvb3Rz
OiBbXSwKKyAgICBfdGFza1VwZGF0ZWQ6IGZ1bmN0aW9uICgpCisgICAgeworICAgICAgICB2YXIg
cGxhdGZvcm1JZCA9IHRoaXMuZ2V0KCdwbGF0Zm9ybScpLmdldCgnaWQnKTsKKyAgICAgICAgdmFy
IG1ldHJpY0lkID0gdGhpcy5nZXQoJ21ldHJpYycpLmdldCgnaWQnKTsKKyAgICAgICAgQXBwLk1h
bmlmZXN0LmZldGNoUnVuc1dpdGhQbGF0Zm9ybUFuZE1ldHJpYyh0aGlzLnN0b3JlLCBwbGF0Zm9y
bUlkLCBtZXRyaWNJZCkudGhlbih0aGlzLl9mZXRjaGVkUnVucy5iaW5kKHRoaXMpKTsKKyAgICB9
Lm9ic2VydmVzKCdwbGF0Zm9ybScsICdtZXRyaWMnKS5vbignaW5pdCcpLAorICAgIF9mZXRjaGVk
UnVuczogZnVuY3Rpb24gKGRhdGEpIHsKKyAgICAgICAgdmFyIHJ1bnMgPSBkYXRhLnJ1bnM7CisK
KyAgICAgICAgdmFyIGN1cnJlbnRUaW1lU2VyaWVzID0gcnVucy5jdXJyZW50LnRpbWVTZXJpZXNC
eUNvbW1pdFRpbWUoKTsKKyAgICAgICAgaWYgKCFjdXJyZW50VGltZVNlcmllcykKKyAgICAgICAg
ICAgIHJldHVybjsgLy8gRklYTUU6IFJlcG9ydCBhbiBlcnJvci4KKworICAgICAgICB2YXIgc3Rh
cnQgPSBjdXJyZW50VGltZVNlcmllcy5maW5kUG9pbnRCeU1lYXN1cmVtZW50SWQodGhpcy5nZXQo
J3N0YXJ0UnVuJykpOworICAgICAgICB2YXIgZW5kID0gY3VycmVudFRpbWVTZXJpZXMuZmluZFBv
aW50QnlNZWFzdXJlbWVudElkKHRoaXMuZ2V0KCdlbmRSdW4nKSk7CisgICAgICAgIGlmICghc3Rh
cnQgfHwgIWVuZCkKKyAgICAgICAgICAgIHJldHVybjsgLy8gRklYTUU6IFJlcG9ydCBhbiBlcnJv
ci4KKworICAgICAgICB2YXIgbWFya2VkUG9pbnRzID0ge307CisgICAgICAgIG1hcmtlZFBvaW50
c1tzdGFydC5tZWFzdXJlbWVudC5pZCgpXSA9IHRydWU7CisgICAgICAgIG1hcmtlZFBvaW50c1tl
bmQubWVhc3VyZW1lbnQuaWQoKV0gPSB0cnVlOworCisgICAgICAgIHZhciBmb3JtYXRlZFBvaW50
cyA9IGN1cnJlbnRUaW1lU2VyaWVzLnNlcmllc0JldHdlZW5Qb2ludHMoc3RhcnQsIGVuZCkubWFw
KGZ1bmN0aW9uIChwb2ludCwgaW5kZXgpIHsKKyAgICAgICAgICAgIHJldHVybiB7CisgICAgICAg
ICAgICAgICAgaWQ6IHBvaW50Lm1lYXN1cmVtZW50LmlkKCksCisgICAgICAgICAgICAgICAgbWVh
c3VyZW1lbnQ6IHBvaW50Lm1lYXN1cmVtZW50LAorICAgICAgICAgICAgICAgIGxhYmVsOiAnUG9p
bnQgJyArIChpbmRleCArIDEpLAorICAgICAgICAgICAgICAgIHZhbHVlOiBwb2ludC52YWx1ZSAr
IChydW5zLnVuaXQgPyAnICcgKyBydW5zLnVuaXQgOiAnJyksCisgICAgICAgICAgICB9OworICAg
ICAgICB9KTsKKworICAgICAgICB2YXIgbWFyZ2luID0gKGVuZC50aW1lIC0gc3RhcnQudGltZSkg
KiAwLjE7CisgICAgICAgIHRoaXMuc2V0KCdjaGFydERhdGEnLCBydW5zKTsKKyAgICAgICAgdGhp
cy5zZXQoJ2NoYXJ0RG9tYWluJywgW3N0YXJ0LnRpbWUgLSBtYXJnaW4sICtlbmQudGltZSArIG1h
cmdpbl0pOworICAgICAgICB0aGlzLnNldCgnbWFya2VkUG9pbnRzJywgbWFya2VkUG9pbnRzKTsK
KyAgICAgICAgdGhpcy5zZXQoJ2FuYWx5c2lzUG9pbnRzJywgZm9ybWF0ZWRQb2ludHMpOworICAg
IH0sCisgICAgdGVzdFNldHM6IGZ1bmN0aW9uICgpCisgICAgeworICAgICAgICB2YXIgYW5hbHlz
aXNQb2ludHMgPSB0aGlzLmdldCgnYW5hbHlzaXNQb2ludHMnKTsKKyAgICAgICAgaWYgKCFhbmFs
eXNpc1BvaW50cykKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgdmFyIHBvaW50T3B0aW9u
cyA9IFt7dmFsdWU6ICcgJywgbGFiZWw6ICdOb25lJ31dCisgICAgICAgICAgICAuY29uY2F0KGFu
YWx5c2lzUG9pbnRzLm1hcChmdW5jdGlvbiAocG9pbnQpIHsgcmV0dXJuIHt2YWx1ZTogcG9pbnQu
aWQsIGxhYmVsOiBwb2ludC5sYWJlbH07IH0pKTsKKyAgICAgICAgcmV0dXJuIFsKKyAgICAgICAg
ICAgIEVtYmVyLk9iamVjdC5jcmVhdGUoe25hbWU6ICJBIiwgb3B0aW9uczogcG9pbnRPcHRpb25z
LCBzZWxlY3Rpb246IHBvaW50T3B0aW9uc1sxXX0pLAorICAgICAgICAgICAgRW1iZXIuT2JqZWN0
LmNyZWF0ZSh7bmFtZTogIkIiLCBvcHRpb25zOiBwb2ludE9wdGlvbnMsIHNlbGVjdGlvbjogcG9p
bnRPcHRpb25zW3BvaW50T3B0aW9ucy5sZW5ndGggLSAxXX0pLAorICAgICAgICBdOworICAgIH0u
cHJvcGVydHkoJ2FuYWx5c2lzUG9pbnRzJyksCisgICAgX3Jvb3RDaGFuZ2VkRm9yVGVzdFNldDog
ZnVuY3Rpb24gKCkgeworICAgICAgICB2YXIgc2V0cyA9IHRoaXMuZ2V0KCd0ZXN0U2V0cycpOwor
ICAgICAgICB2YXIgcm9vdHMgPSB0aGlzLmdldCgncm9vdHMnKTsKKyAgICAgICAgaWYgKCFzZXRz
IHx8ICFyb290cykKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBzZXRzLmZvckVhY2go
ZnVuY3Rpb24gKHRlc3RTZXQsIHNldEluZGV4KSB7CisgICAgICAgICAgICB2YXIgY3VycmVudFNl
bGVjdGlvbiA9IHRlc3RTZXQuZ2V0KCdzZWxlY3Rpb24nKTsKKyAgICAgICAgICAgIGlmIChjdXJy
ZW50U2VsZWN0aW9uID09IHRlc3RTZXQuZ2V0KCdwcmV2aW91c1NlbGVjdGlvbicpKQorICAgICAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIHRlc3RTZXQuc2V0KCdwcmV2aW91c1NlbGVj
dGlvbicsIGN1cnJlbnRTZWxlY3Rpb24pOworICAgICAgICAgICAgdmFyIHBvaW50SW5kZXggPSB0
ZXN0U2V0LmdldCgnb3B0aW9ucycpLmluZGV4T2YoY3VycmVudFNlbGVjdGlvbik7CisKKyAgICAg
ICAgICAgIHJvb3RzLmZvckVhY2goZnVuY3Rpb24gKHJvb3QpIHsKKyAgICAgICAgICAgICAgICB2
YXIgc2V0ID0gcm9vdC5zZXRzW3NldEluZGV4XTsKKyAgICAgICAgICAgICAgICBzZXQuc2V0KCdz
ZWxlY3Rpb24nLCBzZXQucmV2aXNpb25zW3BvaW50SW5kZXhdKTsKKyAgICAgICAgICAgIH0pOwor
ICAgICAgICB9KTsKKworICAgIH0ub2JzZXJ2ZXMoJ3Rlc3RTZXRzLkBlYWNoLnNlbGVjdGlvbicp
LAorICAgIF91cGRhdGVSb290czogZnVuY3Rpb24gKCkKKyAgICB7CisgICAgICAgIHZhciBhbmFs
eXNpc1BvaW50cyA9IHRoaXMuZ2V0KCdhbmFseXNpc1BvaW50cycpOworICAgICAgICBpZiAoIWFu
YWx5c2lzUG9pbnRzKQorICAgICAgICAgICAgcmV0dXJuIFtdOworICAgICAgICB2YXIgcmVwb3Np
dG9yeVRvUmV2aXNpb25zID0ge307CisgICAgICAgIGFuYWx5c2lzUG9pbnRzLmZvckVhY2goZnVu
Y3Rpb24gKHBvaW50LCBwb2ludEluZGV4KSB7CisgICAgICAgICAgICB2YXIgcmV2aXNpb25zID0g
cG9pbnQubWVhc3VyZW1lbnQuZm9ybWF0dGVkUmV2aXNpb25zKCk7CisgICAgICAgICAgICBmb3Ig
KHZhciByZXBvc2l0b3J5TmFtZSBpbiByZXZpc2lvbnMpIHsKKyAgICAgICAgICAgICAgICBpZiAo
IXJlcG9zaXRvcnlUb1JldmlzaW9uc1tyZXBvc2l0b3J5TmFtZV0pCisgICAgICAgICAgICAgICAg
ICAgIHJlcG9zaXRvcnlUb1JldmlzaW9uc1tyZXBvc2l0b3J5TmFtZV0gPSBuZXcgQXJyYXkoYW5h
bHlzaXNQb2ludHMubGVuZ3RoKTsKKyAgICAgICAgICAgICAgICB2YXIgcmV2aXNpb24gPSByZXZp
c2lvbnNbcmVwb3NpdG9yeU5hbWVdOworICAgICAgICAgICAgICAgIHJlcG9zaXRvcnlUb1Jldmlz
aW9uc1tyZXBvc2l0b3J5TmFtZV1bcG9pbnRJbmRleF0gPSB7CisgICAgICAgICAgICAgICAgICAg
IGxhYmVsOiBwb2ludC5sYWJlbCArICc6ICcgKyByZXZpc2lvbi5sYWJlbCwKKyAgICAgICAgICAg
ICAgICAgICAgdmFsdWU6IHJldmlzaW9uLmN1cnJlbnRSZXZpc2lvbiwKKyAgICAgICAgICAgICAg
ICB9OworICAgICAgICAgICAgfQorICAgICAgICB9KTsKKworICAgICAgICB2YXIgcm9vdHMgPSBb
XTsKKyAgICAgICAgZm9yICh2YXIgcmVwb3NpdG9yeU5hbWUgaW4gcmVwb3NpdG9yeVRvUmV2aXNp
b25zKSB7CisgICAgICAgICAgICB2YXIgcmV2aXNpb25zID0gW3t2YWx1ZTogJyAnLCBsYWJlbDog
J05vbmUnfV0uY29uY2F0KHJlcG9zaXRvcnlUb1JldmlzaW9uc1tyZXBvc2l0b3J5TmFtZV0pOwor
ICAgICAgICAgICAgcm9vdHMucHVzaChFbWJlci5PYmplY3QuY3JlYXRlKHsKKyAgICAgICAgICAg
ICAgICBuYW1lOiByZXBvc2l0b3J5TmFtZSwKKyAgICAgICAgICAgICAgICBzZXRzOiBbCisgICAg
ICAgICAgICAgICAgICAgIEVtYmVyLk9iamVjdC5jcmVhdGUoe25hbWU6ICdBWycgKyByZXBvc2l0
b3J5TmFtZSArICddJywKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldmlzaW9uczogcmV2aXNp
b25zLAorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uOiByZXZpc2lvbnNbMV19KSwK
KyAgICAgICAgICAgICAgICAgICAgRW1iZXIuT2JqZWN0LmNyZWF0ZSh7bmFtZTogJ0JbJyArIHJl
cG9zaXRvcnlOYW1lICsgJ10nLAorICAgICAgICAgICAgICAgICAgICAgICAgcmV2aXNpb25zOiBy
ZXZpc2lvbnMsCisgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb246IHJldmlzaW9uc1ty
ZXZpc2lvbnMubGVuZ3RoIC0gMV19KSwKKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAg
fSkpOworICAgICAgICB9CisgICAgICAgIHJldHVybiByb29vdHM7CisgICAgfS5wcm9wZXJ0eSgn
YW5hbHlzaXNQb2ludHMnKSwKK30pOwpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQu
b3JnL3B1YmxpYy92Mi9jaGFydC1wYW5lLmNzcyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9w
dWJsaWMvdjIvY2hhcnQtcGFuZS5jc3MKaW5kZXggM2IwYjdmMmVhOTA4NTVlYzhiMmY2OWJhNDRm
YjY3ZmIzOTFiM2I2NS4uZDk5ZmZjMTY4YzZmYThmYTc0OGFlODhmYzRmMmM4OWI1MmE2YTRlYSAx
MDA3NTUKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9jaGFydC1wYW5l
LmNzcworKysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YyL2NoYXJ0LXBhbmUu
Y3NzCkBAIC0xNzEsNiArMTcxLDE0IEBACiAgICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweCAjYmJi
OwogfQogCisuYW5hbHlzaXMtY2hhcnQtcGFuZSAuZGV0YWlscyB7CisgICAgb3ZlcmZsb3c6IHNj
cm9sbDsKK30KKworLmFuYWx5c2lzLWNoYXJ0LXBhbmUgLmRldGFpbHMgdGFibGUgeworICAgIG1h
cmdpbjogMC41cmVtOworfQorCiAuY2hhcnQtcGFuZSAub3ZlcnZpZXcgewogICAgIGhlaWdodDog
NXJlbTsKICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAwcHggI2VlZTsKZGlmZiAtLWdpdCBhL1dl
YnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvZGF0YS5qcyBiL1dlYnNpdGVzL3BlcmYu
d2Via2l0Lm9yZy9wdWJsaWMvdjIvZGF0YS5qcwppbmRleCA2ODMxN2NlOTdjYjUwMGM3YTFlZDY3
NThjMzNmNDBlOTI2NmU4OTAzLi4zZDEwZTM4MmEzYjIzMDkzYWE3YjVlMzhhZTlmMzg1MDQ3MWY4
Zjc5IDEwMDc1NQotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YyL2RhdGEu
anMKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9kYXRhLmpzCkBAIC0x
OTgsMTggKzE5OCwxOCBAQCBNZWFzdXJlbWVudC5wcm90b3R5cGUuX2Zvcm1hdFJldmlzaW9uUmFu
Z2UgPSBmdW5jdGlvbiAocHJldmlvdXNSZXZpc2lvbiwgY3VycmVudAogICAgIH0gZWxzZSBpZiAo
Y3VycmVudFJldmlzaW9uLmluZGV4T2YoJyAnKSA+PSAwKSAvLyBlLmcuIDEwLjkgMTNDNjQuCiAg
ICAgICAgIHJldmlzaW9uRGVsaW1pdGVyID0gJyAtICc7CiAgICAgZWxzZSBpZiAoY3VycmVudFJl
dmlzaW9uLmxlbmd0aCA9PSA0MCkgeyAvLyBlLmcuIGdpdCBoYXNoCi0gICAgICAgIGZvcm1hdHRl
ZEN1cnJlbnRIYXNoID0gY3VycmVudFJldmlzaW9uLnN1YnN0cmluZygwLCA4KTsKKyAgICAgICAg
dmFyIGZvcm1hdHRlZEN1cnJlbnRIYXNoID0gY3VycmVudFJldmlzaW9uLnN1YnN0cmluZygwLCA4
KTsKICAgICAgICAgaWYgKHByZXZpb3VzUmV2aXNpb24pCiAgICAgICAgICAgICBsYWJlbCA9IHBy
ZXZpb3VzUmV2aXNpb24uc3Vic3RyaW5nKDAsIDgpICsgJy4uJyArIGZvcm1hdHRlZEN1cnJlbnRI
YXNoOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBsYWJlbCA9ICdBdCAnICsgZm9ybWF0dGVk
Q3VycmVudEhhc2g7CisgICAgICAgICAgICBsYWJlbCA9IGZvcm1hdHRlZEN1cnJlbnRIYXNoOwog
ICAgIH0KIAogICAgIGlmICghbGFiZWwpIHsKICAgICAgICAgaWYgKHByZXZpb3VzUmV2aXNpb24p
CiAgICAgICAgICAgICBsYWJlbCA9IHJldmlzaW9uUHJlZml4ICsgcHJldmlvdXNSZXZpc2lvbiAr
IHJldmlzaW9uRGVsaW1pdGVyICsgcmV2aXNpb25QcmVmaXggKyBjdXJyZW50UmV2aXNpb247CiAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxhYmVsID0gJ0F0ICcgKyByZXZpc2lvblByZWZpeCAr
IGN1cnJlbnRSZXZpc2lvbjsKKyAgICAgICAgICAgIGxhYmVsID0gcmV2aXNpb25QcmVmaXggKyBj
dXJyZW50UmV2aXNpb247CiAgICAgfQogCiAgICAgcmV0dXJuIHsKQEAgLTM3NSw2ICszNzUsMTgg
QEAgZnVuY3Rpb24gVGltZVNlcmllcyhzZXJpZXMpCiAgICAgdGhpcy5fbWF4ID0gbWF4OwogfQog
CitUaW1lU2VyaWVzLnByb3RvdHlwZS5maW5kUG9pbnRCeU1lYXN1cmVtZW50SWQgPSBmdW5jdGlv
biAobWVhc3VyZW1lbnRJZCkKK3sKKyAgICByZXR1cm4gdGhpcy5fc2VyaWVzLmZpbmQoZnVuY3Rp
b24gKHBvaW50KSB7IHJldHVybiBwb2ludC5tZWFzdXJlbWVudC5pZCgpID09IG1lYXN1cmVtZW50
SWQ7IH0pOworfQorCitUaW1lU2VyaWVzLnByb3RvdHlwZS5zZXJpZXNCZXR3ZWVuUG9pbnRzID0g
ZnVuY3Rpb24gKHN0YXJ0UG9pbnQsIGVuZFBvaW50KQoreworICAgIGlmICghc3RhcnRQb2ludC5z
ZXJpZXNJbmRleCB8fCAhZW5kUG9pbnQuc2VyaWVzSW5kZXgpCisgICAgICAgIHJldHVybiBudWxs
OworICAgIHJldHVybiB0aGlzLl9zZXJpZXMuc2xpY2Uoc3RhcnRQb2ludC5zZXJpZXNJbmRleCwg
ZW5kUG9pbnQuc2VyaWVzSW5kZXggKyAxKTsKK30KKwogVGltZVNlcmllcy5wcm90b3R5cGUubWlu
TWF4Rm9yVGltZVJhbmdlID0gZnVuY3Rpb24gKHN0YXJ0VGltZSwgZW5kVGltZSkKIHsKICAgICB2
YXIgZGF0YSA9IHRoaXMuX3NlcmllczsKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0
Lm9yZy9wdWJsaWMvdjIvaW5kZXguaHRtbCBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJs
aWMvdjIvaW5kZXguaHRtbAppbmRleCA4OTJkOTU2YTFmNjJlODdmNTllMTA4NjdkZThhZDViMmQx
ZDFmZTY4Li40MzNkMWNiNzA5NWI1NjIzMjZmZjg5MWUxZjdiNWE5NTQ5OTljOWQwIDEwMDc1NQot
LS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YyL2luZGV4Lmh0bWwKKysrIGIv
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9pbmRleC5odG1sCkBAIC0xMiw2ICsx
Miw3IEBACiAgICAgPHNjcmlwdCBzcmM9ImRhdGEuanMiIGRlZmVyPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgc3JjPSJhcHAuanMiIGRlZmVyPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJtYW5p
ZmVzdC5qcyIgZGVmZXI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9ImFuYWx5c2lzLmpzIiBk
ZWZlcj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0icG9wdXAuanMiIGRlZmVyPjwvc2NyaXB0
PgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iYXBwLmNzcyI+CiAgICAgPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSJjaGFydC1wYW5lLmNzcyI+CkBAIC0xMjgsMTcgKzEyOSwx
MCBAQAogICAgICAgICB7eyNlYWNoIHBhbmVzIGl0ZW1Db250cm9sbGVyPSJwYW5lIn19CiAgICAg
ICAgICAgICA8c2VjdGlvbiBjbGFzcz0iY2hhcnQtcGFuZSIgdGFiaW5kZXg9IjAiPgogICAgICAg
ICAgICAgICAgIDxoZWFkZXI+Ci0gICAgICAgICAgICAgICAgICAgIDxoMSB7e2FjdGlvbiAidG9n
Z2xlRGV0YWlscyJ9fT4KLSAgICAgICAgICAgICAgICAgICAge3sjZWFjaCBtZXRyaWMucGF0aH19
Ci0gICAgICAgICAgICAgICAgICAgICAgICB7e3RoaXN9fSAmbmk7Ci0gICAgICAgICAgICAgICAg
ICAgIHt7L2VhY2h9fQotICAgICAgICAgICAgICAgICAgICB7e21ldHJpYy5sYWJlbH19Ci0gICAg
ICAgICAgICAgICAgICAgIC0ge3sgcGxhdGZvcm0ubmFtZX19PC9oMj4KKyAgICAgICAgICAgICAg
ICAgICAgPGgxIHt7YWN0aW9uICJ0b2dnbGVEZXRhaWxzIn19Pnt7bWV0cmljLmZ1bGxOYW1lfX0g
LSB7eyBwbGF0Zm9ybS5uYW1lfX08L2gxPgogICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIj
IiB0aXRsZT0iQ2xvc2UiIGNsYXNzPSJjbG9zZS1idXR0b24iIHt7YWN0aW9uICJjbG9zZSJ9fT57
e3BhcnRpYWwgImNsb3NlLWJ1dHRvbiJ9fTwvYT4KICAgICAgICAgICAgICAgICAgICAge3sjaWYg
QXBwLk1hbmlmZXN0LmJ1Z1RyYWNrZXJzfX0KLSAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhy
ZWY9IiMiIHRpdGxlPSJCdWdzIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7YmluZC1h
dHRyIGNsYXNzPSI6YnVncy1idXR0b24gc2luZ2x5U2VsZWN0ZWRQb2ludDo6ZGlzYWJsZWQifX0K
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2FjdGlvbiAidG9nZ2xlQnVnc1BhbmUifX0+
CisgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiB0aXRsZT0iQnVncyBhbmQgQW5h
bHlzaXMiIGNsYXNzPSJidWdzLWJ1dHRvbiIge3thY3Rpb24gInRvZ2dsZUJ1Z3NQYW5lIn19Pgog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cGFydGlhbCAiYnVncy1idXR0b24ifX0KICAg
ICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAge3svaWZ9fQpA
QCAtMjAyLDE2ICsxOTYsMjQgQEAKIAogICAgICAgICAgICAgICAgIDxkaXYge3tiaW5kLWF0dHIg
Y2xhc3M9IjpidWdzLXBhbmUgc2hvd2luZ0J1Z3NQYW5lOjpoaWRkZW4ifX0+CiAgICAgICAgICAg
ICAgICAgICAgIDx0YWJsZT4KLSAgICAgICAgICAgICAgICAgICAgICAgIHt7I2VhY2ggZGV0YWls
cy5idWdUcmFja2Vyc319Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+e3tsYWJlbH19PC90aD4KLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPHRkPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPGZvcm0ge3thY3Rpb24gImFzc29jaWF0ZUJ1ZyIgdGhpcyBlZGl0ZWRCdWdOdW1iZXIg
b249InN1Ym1pdCJ9fT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7
e2lucHV0IHR5cGU9dGV4dCB2YWx1ZT1lZGl0ZWRCdWdOdW1iZXJ9fQotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPC9mb3JtPgotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA8L3RkPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+Ci0gICAgICAgICAg
ICAgICAgICAgICAgICB7ey9lYWNofX0KKyAgICAgICAgICAgICAgICAgICAgICAgIHt7I2lmIHNl
bGVjdGVkU2luZ2xlUG9pbnR9fQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7I2VhY2gg
ZGV0YWlscy5idWdUcmFja2Vyc319CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0
cj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD57e2xhYmVsfX08L3Ro
PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIHt7YWN0aW9uICJhc3NvY2lhdGVCdWci
IHRoaXMgZWRpdGVkQnVnTnVtYmVyIG9uPSJzdWJtaXQifX0+CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHt7aW5wdXQgdHlwZT10ZXh0IHZhbHVlPWVkaXRlZEJ1
Z051bWJlcn19CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mb3Jt
PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7
ey9lYWNofX0KKyAgICAgICAgICAgICAgICAgICAgICAgIHt7L2lmfX0KKyAgICAgICAgICAgICAg
ICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5OYW1lOiB7e2lucHV0IHR5cGU9dGV4dCB2
YWx1ZT1uZXdBbmFseXNpc1Rhc2tOYW1lfX08L2xhYmVsPgorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA8YnV0dG9uIHt7YWN0aW9uICJjcmVhdGVBbmFseXNpc1Rhc2sifX0+QW5hbHl6
ZTwvYnV0dG9uPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CisgICAgICAgICAg
ICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAg
ICAgICAgICAgIDwvZGl2PgogCkBAIC0zNjEsNiArMzYzLDkgQEAKICAgICAgICAgICAgICAgICB7
eyNsaW5rLXRvICdjaGFydHMnIHRhZ05hbWU9J2xpJ319CiAgICAgICAgICAgICAgICAgICAgIHt7
I2xpbmstdG8gJ2NoYXJ0cyd9fUNoYXJ0c3t7L2xpbmstdG99fQogICAgICAgICAgICAgICAgIHt7
L2xpbmstdG99fQorICAgICAgICAgICAgICAgIHt7I2xpbmstdG8gJ2FuYWx5c2lzJyB0YWdOYW1l
PSdsaSd9fQorICAgICAgICAgICAgICAgICAgICB7eyNsaW5rLXRvICdhbmFseXNpcyd9fUFuYWx5
c2lze3svbGluay10b319CisgICAgICAgICAgICAgICAge3svbGluay10b319CiAgICAgICAgICAg
ICA8L3VsPgogICAgICAgICA8L25hdj4KICAgICA8L3NjcmlwdD4KQEAgLTQxMyw2ICs0MTgsMTM4
IEBACiAgICAgICAgIHt7L2VhY2h9fQogICAgIDwvc2NyaXB0PgogCisgICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L3gtaGFuZGxlYmFycyIgZGF0YS10ZW1wbGF0ZS1uYW1lPSJhbmFseXNpcyI+CisgICAg
ICAgIDxoZWFkZXIgaWQ9ImhlYWRlciI+CisgICAgICAgICAgICB7e3BhcnRpYWwgIm5hdmJhciJ9
fQorICAgICAgICA8L2hlYWRlcj4KKworICAgICAgICA8dGFibGUgaWQ9ImFuYWx5c2lzLXRhc2tz
Ij4KKyAgICAgICAgICAgIDx0aGVhZD4KKyAgICAgICAgICAgICAgICA8dHI+CisgICAgICAgICAg
ICAgICAgICAgIDx0ZD5JRDwvdGQ+CisgICAgICAgICAgICAgICAgICAgIDx0ZD5OYW1lPC90ZD4K
KyAgICAgICAgICAgICAgICAgICAgPHRkPkNyZWF0ZWQgYXQ8L3RkPgorICAgICAgICAgICAgICAg
IDwvdHI+CisgICAgICAgICAgICA8L3RoZWFkPgorICAgICAgICAgICAgPHRib2R5PgorICAgICAg
ICAgICAgICAgIHt7I2VhY2ggbW9kZWwudGFza3N9fQorICAgICAgICAgICAgICAgICAgICA8dHI+
CisgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3sjbGluay10byAnYW5hbHlzaXNUYXNrJyBp
ZH19e3tpZH19e3svbGluay10b319PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57
e25hbWV9fTwvdGQ+CisgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tjcmVhdGVkQXR9fTwv
dGQ+CisgICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAge3svZWFjaH19
CisgICAgICAgICAgICA8L3Rib2R5PgorICAgICAgICA8L3RhYmxlPgorICAgIDwvc2NyaXB0Pgor
CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L3gtaGFuZGxlYmFycyIgZGF0YS10ZW1wbGF0ZS1uYW1l
PSJhbmFseXNpc1Rhc2siPgorICAgICAgICA8aGVhZGVyIGlkPSJoZWFkZXIiPgorICAgICAgICAg
ICAge3twYXJ0aWFsICJuYXZiYXIifX0KKyAgICAgICAgPC9oZWFkZXI+CisKKyAgICAgICAgPGgy
IGlkPSJhbmFseXNpcy10YXNrLXRpdGxlIj57e25hbWV9fTwvaDI+CisgICAgICAgIHt7I2lmIHBs
YXRmb3JtLmxhYmVsfX0KKyAgICAgICAgICAgIDxoMyBpZD0iYW5hbHlzaXMtdGFzay10ZXN0bmFt
ZSI+e3ttZXRyaWMuZnVsbE5hbWV9fSAtIHt7cGxhdGZvcm0ubGFiZWx9fTwvaDM+CisKKyAgICAg
ICAgICAgIDxzZWN0aW9uIGNsYXNzPSJhbmFseXNpcy1jaGFydC1wYW5lIGNoYXJ0LXBhbmUiPgor
ICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN2Zy1jb250YWluZXIiPgorICAgICAgICAgICAg
ICAgICAgICB7e2ludGVyYWN0aXZlLWNoYXJ0CisgICAgICAgICAgICAgICAgICAgICAgICBjaGFy
dERhdGE9Y2hhcnREYXRhCisgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVTZWxlY3Rpb249
ZmFsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIGNoYXJ0UG9pbnRSYWRpdXM9MgorICAgICAg
ICAgICAgICAgICAgICAgICAgZG9tYWluPWNoYXJ0RG9tYWluCisgICAgICAgICAgICAgICAgICAg
ICAgICBtYXJrZWRQb2ludHM9bWFya2VkUG9pbnRzfX0KKyAgICAgICAgICAgICAgICA8L2Rpdj4K
KyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWxzIj4KKyAgICAgICAgICAgICAgICAg
ICAgPHRhYmxlPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5PgorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHt7I2VhY2ggYW5hbHlzaXNQb2ludHN9fQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA8dHI+PHRkPnt7bGFiZWx9fTwvdGQ+PHRkPnt7dmFsdWV9fTwvdGQ+
PC90cj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ey9lYWNofX0KKyAgICAgICAgICAg
ICAgICAgICAgICAgIDwvdGJvZHk+CisgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CisgICAg
ICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8L3NlY3Rpb24+CisKKyAgICAgICAgICAg
IHt7I2VhY2ggdGVzdEdyb3Vwc319CisgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRl
c3QtZ3JvdXBzIj4KKyAgICAgICAgICAgICAgICAgICAgPHRhYmxlPgorICAgICAgICAgICAgICAg
ICAgICAgICAgPGNhcHRpb24+e3tuYW1lfX08L2NhcHRpb24+CisgICAgICAgICAgICAgICAgICAg
ICAgICA8dGhlYWQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA8dGQ+Q29uZmlndXJhdGlvbjwvdGQ+CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDx0ZD5CdWlsZDwvdGQ+CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDx0ZD5CdWlsZCBUaW1lPC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgPHRkPnt7Li4vbWV0cmljLmZ1bGxOYW1lfX08L3RkPgorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPgorICAg
ICAgICAgICAgICAgICAgICAgICAgPHRib2R5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHt7I2VhY2ggYnVpbGRSZXF1ZXN0c319CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2lkfX08L3Rk
PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7YnVpbGROdW1iZXJ9
fTwvdGQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tidWlsZFRp
bWV9fTwvdGQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3ttZWFu
fX08L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHt7L2VhY2h9fQorICAgICAgICAgICAgICAgICAgICAgICAgPC90
Ym9keT4KKyAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgICAgICAgICA8L3Nl
Y3Rpb24+CisgICAgICAgICAgICB7ey9lYWNofX0KKworICAgICAgICAgICAgPGZvcm0gY2xhc3M9
InRlc3QtZ3JvdXBzIj4KKyAgICAgICAgICAgICAgICA8dGFibGU+CisgICAgICAgICAgICAgICAg
ICAgIDxjYXB0aW9uPjxpbnB1dCBuYW1lPSJuYW1lIiBwbGFjZWhvbGRlcj0iVGVzdCBncm91cCBu
YW1lIiByZXF1aXJlZD48L2NhcHRpb24+CisgICAgICAgICAgICAgICAgICAgIDx0aGVhZD4KKyAg
ICAgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8
dGg+Um9vdDwvdGg+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sjZWFjaCB0ZXN0U2V0
c319CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD4KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHt7bmFtZX19CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB7e3ZpZXcgRW1iZXIuU2VsZWN0CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29udGVudD1vcHRpb25zCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgb3B0aW9uVmFsdWVQYXRoPSJjb250ZW50LnZhbHVlIgorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsUGF0aD0iY29udGVudC5s
YWJlbCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb249
c2VsZWN0aW9ufX0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB7ey9lYWNofX0KKyAgICAgICAgICAgICAgICAgICAgICAg
IDwvdHI+CisgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+CisgICAgICAgICAgICAgICAgICAg
IDx0Ym9keT4KKyAgICAgICAgICAgICAgICAgICAgICAgIHt7I2VhY2ggcm9vdHN9fQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPHRoPnt7bmFtZX19PC90aD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sj
ZWFjaCBzZXRzfX0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e3Zp
ZXcgRW1iZXIuU2VsZWN0IG5hbWU9bmFtZSBjb250ZW50PXJldmlzaW9ucworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlUGF0aD0iY29udGVudC52YWx1
ZSIgb3B0aW9uTGFiZWxQYXRoPSJjb250ZW50LmxhYmVsIgorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbj1zZWxlY3Rpb259fTwvdGQ+CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHt7L2VhY2h9fQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDwvdHI+CisgICAgICAgICAgICAgICAgICAgICAgICB7ey9lYWNofX0KKyAgICAgICAgICAg
ICAgICAgICAgPC90Ym9keT4KKyAgICAgICAgICAgICAgICAgICAgPHRib2R5PgorICAgICAgICAg
ICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5OdW1i
ZXIgb2YgcnVuczwvdGg+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49
Mj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdD4KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24+MTwvb3B0aW9uPgorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbj4yPC9vcHRpb24+CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPjM8L29wdGlvbj4KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24+NDwvb3B0aW9uPgorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbj41PC9vcHRpb24+CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPjY8L29wdGlvbj4KKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPC9zZWxlY3Q+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90
ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgICAgIDwv
dGJvZHk+CisgICAgICAgICAgICAgICAgPC90YWJsZT4KKworICAgICAgICAgICAgICAgIDxidXR0
b24gdHlwZT0ic3VibWl0Ij5TdGFydCBBL0IgdGVzdGluZzwvYnV0dG9uPgorICAgICAgICAgICAg
PC9mb3JtPgorICAgICAgICB7ey9pZn19CisgICAgPC9zY3JpcHQ+CisKIDwvaGVhZD4KIDxib2R5
PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92
Mi9tYW5pZmVzdC5qcyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvbWFuaWZl
c3QuanMKaW5kZXggZjU3OWQxMDhlNWE1ODE2YjUyMzU1MDYzYTg0YTIwMDg5OTBkNWU4ZC4uNjRl
Mzc4NzgzNGM1OWY5ZDA5MzQ2ZTRhZGQ5YTg1YzAyNzRjMDJjMyAxMDA3NTUKLS0tIGEvV2Vic2l0
ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9tYW5pZmVzdC5qcworKysgYi9XZWJzaXRlcy9w
ZXJmLndlYmtpdC5vcmcvcHVibGljL3YyL21hbmlmZXN0LmpzCkBAIC0zMCw2ICszMCwxMSBAQCBB
cHAuTWV0cmljID0gQXBwLk5hbWVMYWJlbE1vZGVsLmV4dGVuZCh7CiAgICAgICAgIH0KICAgICAg
ICAgcmV0dXJuIHBhdGgucmV2ZXJzZSgpOwogICAgIH0ucHJvcGVydHkoJ25hbWUnLCAndGVzdCcp
LAorICAgIGZ1bGxOYW1lOiBmdW5jdGlvbiAoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMu
Z2V0KCdwYXRoJykuam9pbignIFx1MjIwOCAnKSAvKiAmaW47ICovCisgICAgICAgICAgICArICcg
OiAnICsgdGhpcy5nZXQoJ2xhYmVsJyk7CisgICAgfS5wcm9wZXJ0eSgncGF0aCcsICdsYWJlbCcp
LAogfSk7CiAKIEFwcC5CdWlsZGVyID0gQXBwLk5hbWVMYWJlbE1vZGVsLmV4dGVuZCh7CkBAIC0y
MDUsNSArMjEwLDMyIEBAIEFwcC5NYW5pZmVzdCA9IEVtYmVyLkNvbnRyb2xsZXIuZXh0ZW5kKHsK
ICAgICAgICAgICAgIHJlcG9zaXRvcmllcy5maWx0ZXIoZnVuY3Rpb24gKHJlcG9zaXRvcnkpIHsg
cmV0dXJuIHJlcG9zaXRvcnkuZ2V0KCdoYXNSZXBvcnRlZENvbW1pdHMnKTsgfSkpOwogCiAgICAg
ICAgIHRoaXMuc2V0KCdidWdUcmFja2VycycsIHN0b3JlLmFsbCgnYnVnVHJhY2tlcicpLnNvcnRC
eSgnbmFtZScpKTsKLSAgICB9CisgICAgfSwKKyAgICBmZXRjaFJ1bnNXaXRoUGxhdGZvcm1BbmRN
ZXRyaWM6IGZ1bmN0aW9uIChzdG9yZSwgcGxhdGZvcm1JZCwgbWV0cmljSWQpCisgICAgeworICAg
ICAgICByZXR1cm4gRW1iZXIuUlNWUC5hbGwoWworICAgICAgICAgICAgUnVuc0RhdGEuZmV0Y2hS
dW5zKHBsYXRmb3JtSWQsIG1ldHJpY0lkKSwKKyAgICAgICAgICAgIHRoaXMuZmV0Y2goc3RvcmUp
LAorICAgICAgICBdKS50aGVuKGZ1bmN0aW9uICh2YWx1ZXMpIHsKKyAgICAgICAgICAgIHZhciBy
dW5zID0gdmFsdWVzWzBdOworCisgICAgICAgICAgICB2YXIgcGxhdGZvcm0gPSBBcHAuTWFuaWZl
c3QucGxhdGZvcm0ocGxhdGZvcm1JZCk7CisgICAgICAgICAgICB2YXIgbWV0cmljID0gQXBwLk1h
bmlmZXN0Lm1ldHJpYyhtZXRyaWNJZCk7CisKKyAgICAgICAgICAgIC8vIEZJWE1FOiBJbmNsdWRl
IHRoaXMgaW5mb3JtYXRpb24gaW4gSlNPTiBhbmQgcHJvY2VzcyBpdCBpbiBSdW5zRGF0YS5mZXRj
aFJ1bnMKKyAgICAgICAgICAgIHZhciB1bml0ID0geydDb21iaW5lZCc6ICcnLCAvLyBBc3N1bWUg
c21hbGxlciBpcyBiZXR0ZXIgZm9yIG5vdy4KKyAgICAgICAgICAgICAgICAnRnJhbWVSYXRlJzog
J2ZwcycsCisgICAgICAgICAgICAgICAgJ1J1bnMnOiAncnVucy9zJywKKyAgICAgICAgICAgICAg
ICAnVGltZSc6ICdtcycsCisgICAgICAgICAgICAgICAgJ01hbGxvYyc6ICdieXRlcycsCisgICAg
ICAgICAgICAgICAgJ0pTSGVhcCc6ICdieXRlcycsCisgICAgICAgICAgICAgICAgJ0FsbG9jYXRp
b25zJzogJ2J5dGVzJywKKyAgICAgICAgICAgICAgICAnRW5kQWxsb2NhdGlvbnMnOiAnYnl0ZXMn
LAorICAgICAgICAgICAgICAgICdNYXhBbGxvY2F0aW9ucyc6ICdieXRlcycsCisgICAgICAgICAg
ICAgICAgJ01lYW5BbGxvY2F0aW9ucyc6ICdieXRlcyd9W21ldHJpYy5nZXQoJ25hbWUnKV07Cisg
ICAgICAgICAgICBydW5zLnVuaXQgPSB1bml0OworCisgICAgICAgICAgICByZXR1cm4ge3BsYXRm
b3JtOiBwbGF0Zm9ybSwgbWV0cmljOiBtZXRyaWMsIHJ1bnM6IHJ1bnN9OworICAgICAgICB9KTsK
KyAgICB9LAogfSkuY3JlYXRlKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>