<?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>154200</bug_id>
          
          <creation_ts>2016-02-12 14:47:29 -0800</creation_ts>
          <short_desc>Perf dashboard should allow renaming analysis tasks and test groups</short_desc>
          <delta_ts>2016-02-16 13:53:16 -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>InRadar</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>jond</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>rniwa</cc>
    
    <cc>slewis</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1164366</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-02-12 14:47:29 -0800</bug_when>
    <thetext>Perf dashboard should allow renaming analysis tasks and A/B testing groups.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164367</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-02-12 14:48:12 -0800</bug_when>
    <thetext>&lt;rdar://problem/23059407&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164383</commentid>
    <comment_count>2</comment_count>
      <attachid>271235</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-02-12 15:24:44 -0800</bug_when>
    <thetext>Created attachment 271235
Adds the capability</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164387</commentid>
    <comment_count>3</comment_count>
      <attachid>271235</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-12 15:30:32 -0800</bug_when>
    <thetext>Comment on attachment 271235
Adds the capability

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164388</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-02-12 15:33:15 -0800</bug_when>
    <thetext>Committed r196521: &lt;http://trac.webkit.org/changeset/196521&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271235</attachid>
            <date>2016-02-12 15:24:44 -0800</date>
            <delta_ts>2016-02-12 15:30:32 -0800</delta_ts>
            <desc>Adds the capability</desc>
            <filename>bug-154200-20160212152423.patch</filename>
            <type>text/plain</type>
            <size>32942</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkocmV2aXNpb24gMTk2NTE3KQorKysg
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDEwMCBAQAorMjAxNi0wMi0xMiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4K
KworICAgICAgICBQZXJmIGRhc2hib2FyZCBzaG91bGQgYWxsb3cgcmVuYW1pbmcgYW5hbHlzaXMg
dGFza3MgYW5kIHRlc3QgZ3JvdXBzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNTQyMDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBbGxvdyBlZGl0aW5nIG5hbWVzIG9mIGFuYWx5c2lzIHRhc2tzIGFuZCBB
L0IgdGVzdGluZyBncm91cHMgaW4gdGhlIHYzIFVJLgorCisgICAgICAgIEFkZGVkIHRoZSBzdXBw
b3J0IGZvciB1cGRhdGluZyB0aGUgbmFtZSB0byB0aGUgcHJpdmlsZWdlZCBBUEkgYXQgL3ByaXZp
bGVnZWQtYXBpL3VwZGF0ZS1hbmFseXNpcy10YXNrCisgICAgICAgIGFuZCBhZGRlZCBhIG5ldyBw
cmV2YWlsZWQgQVBJIHRvIHVwZGF0ZSBBL0IgdGVzdGluZyBncm91cHMgYXQgL3ByaXZpbGVnZWQt
YXBpL3VwZGF0ZS10ZXN0LWdyb3VwLgorCisgICAgICAgICogcHVibGljL3ByaXZpbGVnZWQtYXBp
L3VwZGF0ZS1hbmFseXNpcy10YXNrLnBocDogQWRkZWQgdGhlIHN1cHBvcnQgZm9yIHJlbmFtaW5n
IHRoZSBhbmFseXNpcyB0YXNrLgorICAgICAgICAobWFpbik6CisKKyAgICAgICAgKiBwdWJsaWMv
cHJpdmlsZWdlZC1hcGkvdXBkYXRlLXRlc3QtZ3JvdXAucGhwOiBBZGRlZC4gU3VwcG9ydHMgdXBk
YXRpbmcgdGhlIHRlc3QgZ3JvdXAncyBuYW1lLgorICAgICAgICAobWFpbik6CisKKyAgICAgICAg
KiBwdWJsaWMvdjMvY29tcG9uZW50cy9lZGl0YWJsZS10ZXh0LmpzOiBBZGRlZC4KKyAgICAgICAg
KEVkaXRhYmxlVGV4dCk6IEFkZGVkLiBBIG5ldyBlZGl0YWJsZSB0ZXh0IGxhYmVsIGNvbnRyb2wu
IEl0IGxvb2tzIGxpa2UgYSB0ZXh0IG5vZGUgd2l0aCAiKEVkaXQpIiBsaW5rCisgICAgICAgIGF0
IHRoZSBlbmQgd2hpY2ggYWxsb3cgdXNlcnMgdG8gZ28gaW50byB0aGUgImVkaXRpbmcgbW9kZSIs
IHdoaWNoIHJldmVhbHMgYW4gaW5wdXQgZWxlbWVudC4KKyAgICAgICAgVGhlIHVzZXIgY2FuIGV4
aXQgdGhlIGVkaXRpbmcgbW9kZSBieSBlaXRoZXIgbW92aW5nIHRoZSBmb2N1cyBhd2F5IGZyb20g
dGhlIGNvbnRyb2wgb3IgY2xpY2tpbmcgb24KKyAgICAgICAgIihTYXZlKSIgYXQgdGhlIGVuZC4g
SXQgY2FsbHMgX3VwZGF0ZUNhbGxiYWNrIGluIHRoZSBsYXR0ZXIgY2FzZS4KKyAgICAgICAgKEVk
aXRhYmxlVGV4dC5wcm90b3R5cGUuZWRpdGVkVGV4dCk6IFJldHVybnMgdGhlIGN1cnJlbnQgdmFs
dWUgb2YgdGhlIGlucHV0IGVsZW1lbnQgdXNlci4KKyAgICAgICAgKEVkaXRhYmxlVGV4dC5wcm90
b3R5cGUuc2V0VGV4dCk6IFNldHMgdGhlIGxhYmVsLiBUaGlzIGRvZXMgbm90IGxpdmUtdXBkYXRl
IHRoZSBpbnB1dCBlbGVtZW50IHVudGlsCisgICAgICAgIHRoZSB1c2VyIGV4aXN0cyB0aGUgY3Vy
cmVudCBlZGl0aW5nIG1vZGUgYW5kIHJlLWVudGVycyBpdC4KKyAgICAgICAgKEVkaXRhYmxlVGV4
dC5wcm90b3R5cGUuc2V0U3RhcnRlZEVkaXRpbmdDYWxsYmFjayk6IFNldHMgYSBjYWxsYmFjayB3
aGljaCBnZXRzIGNhbGxlZCB3aGVuIHRoZSB1c2VyCisgICAgICAgIHJlcXVlc3RlZCB0byBlbnRl
ciB0aGUgZWRpdGluZyBtb2RlLiBTaW5jZSBFZGl0YWJsZVRleHQgcmVsaWVzIG9uIEFuYWx5c2lz
VGFza1BhZ2UgdG8gcmVuZGVyLCB0aGlzCisgICAgICAgIGNhbGxiYWNrIG9ubHkgZXhpdHMgdG8g
Y2FsbCBFZGl0YWJsZVRleHQucmVuZGVyKCkgaW4gQW5hbHlzaXNUYXNrLl9kaWRTdGFydEVkaXRp
bmdUYXNrTmFtZS4KKyAgICAgICAgKEVkaXRhYmxlVGV4dC5wcm90b3R5cGUuc2V0VXBkYXRlQ2Fs
bGJhY2spOiBTZXRzIGEgY2FsbGJhY2sgd2hpY2ggZ2V0cyBjYWxsZWQgd2hlbiB0aGUgdXNlciBl
eGl0cworICAgICAgICB0aGUgZWRpdGluZyBtb2RlIGJ5IGFjdGl2YXRpbmcgdGhlICIoU2F2ZSki
IGxpbmsuIFRoaXMgY2FsbGJhY2sgTVVTVCByZXR1cm4gYSBwcm9taXNlIHVwb24gcmVzb2x1dGlv
bgorICAgICAgICBvZiB3aGljaCB0aGUgY29udHJvbCBnZXRzIG91dCBvZiB0aGUgZWRpdGluZyBt
b2RlLiBXaGlsZSB0aGUgcHJvbWlzZSBpcyBpbiBmbGlnaHQsIHRoZSBpbnB1dCBlbGVtZW50Cisg
ICAgICAgIGJlY29tZXMgcmVhZG9ubHkuCisgICAgICAgIChFZGl0YWJsZVRleHQucHJvdG90eXBl
LnJlbmRlcik6IFVwZGF0ZXMgdmFyaW91cyBzdGF0ZXMgb2YgdGhlIGVsZW1lbnRzLiBXaGVuIF91
cGRhdGluZ1Byb21pc2UgaXMgbm90CisgICAgICAgIGZhbHN5LCB3ZSBtYWtlIHRoZSBpbnB1dCBl
bGVtZW50IHJlYWRvbmx5IGFuZCBzaG93ICcoLi4uKScgb24gdGhlIGxpbmsuIERvbid0IHNob3cg
dGhlIGFjdGlvbiBsaW5rCisgICAgICAgIGlmIHRoZSBsYWJlbCBpcyBlbXB0eSAoZS5nLiBhbmFs
eXNpcyB0YXNrIG9yIHRlc3QgZ3JvdXAgaXMgc3RpbGwgYmVpbmcgZmV0Y2hlZCkuCisgICAgICAg
IChFZGl0YWJsZVRleHQucHJvdG90eXBlLl9kaWRDbGljayk6IENhbGxlZCB3aGVuIHRoZSB1c2Vy
IGNsaWNrZWQgb24gdGhlIGFjdGlvbiBsaW5rLiBFbnRlciB0aGUgZWRpdGluZworICAgICAgICBt
b2RlIG9yIHNhdmUgdGhlIGVkaXRlZCBsYWJlbCB2aWEgX3VwZGF0ZUNhbGxiYWNrLgorICAgICAg
ICAoRWRpdGFibGVUZXh0LnByb3RvdHlwZS5fZGlkQmx1cik6IEV4aXQgdGhlIGVkaXRpbmcgbW9k
ZSB3aXRob3V0IHNhdmluZyBpZiB0aGUgaW5wdXQgZWxlbWVudCBpcyBub3QKKyAgICAgICAgZm9j
dXNlZCwgdGhlcmUgaXMgbm8gaW5mbGlnaHQgcHJvbWlzZSByZXR1cm5lZCBieSBfdXBkYXRlQ2Fs
bGJhY2ssIGFuZCB0aGUgYWN0aW9uIGxpbmsgIihTYXZlKSIgZG9lcworICAgICAgICBub3QgaGF2
ZSB0aGUgZm9jdXMuCisgICAgICAgIChFZGl0YWJsZVRleHQucHJvdG90eXBlLl9kaWRVcGRhdGUp
OiBDYWxsZWQgd2hlbiBleGl0aW5nIHRoZSBlZGl0aW5nIG1vZGUuCisgICAgICAgIChFZGl0YWJs
ZVRleHQuaHRtbFRlbXBsYXRlKToKKyAgICAgICAgKEVkaXRhYmxlVGV4dC5jc3NUZW1wbGF0ZSk6
CisKKyAgICAgICAgKiBwdWJsaWMvdjMvaW5kZXguaHRtbDogSW5jbHVkZSBuZXdseSBhZGRlZCBl
ZGl0YWJsZS10ZXh0LmpzLgorCisgICAgICAgICogcHVibGljL3YzL21vZGVscy9hbmFseXNpcy10
YXNrLmpzOgorICAgICAgICAoQW5hbHlzaXNUYXNrLnByb3RvdHlwZS51cGRhdGVTaW5nbGV0b24p
OiBBZGRlZC4KKyAgICAgICAgKEFuYWx5c2lzVGFzay5wcm90b3R5cGUudXBkYXRlTmFtZSk6IEFk
ZGVkLiBVc2VzIFByaXZpbGVnZWRBUEkgdG8gdXBkYXRlIHRoZSBuYW1lIGFuZCByZS1mZXRjaGVz
CisgICAgICAgIHRoZSBhbmFseXNpcyB0YXNrIGZyb20gdGhlIHNldmVyLgorICAgICAgICAoQW5h
bHlzaXNUYXNrLl9jb25zdHJ1Y3RBbmFseXNpc1Rhc2tzRnJvbVJhd0RhdGEpOiBVc2UgZW5zdXJl
U2luZ2xldG9uIGluc3RlYWQgb2YgbWFudWFsbHkgY2FsbGluZworICAgICAgICBmaW5kQnlJZCBz
aW5jZSB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgbmFtZSBvZiB0aGUgc2luZ2xldG9uIG9iamVjdCB3
ZSBmb3VuZCAodmlhIHVwZGF0ZVNpbmdsZXRvbikuCisKKyAgICAgICAgKiBwdWJsaWMvdjMvbW9k
ZWxzL2J1Zy5qczoKKyAgICAgICAgKEJ1Zy5lbnN1cmVTaW5nbGV0b24pOiBNb3ZlZCB0aGUgY29k
ZSB0byBjb21wdXRlIHRoZSBzeW50aGV0aWMgaWQgZnJvbSBBbmFseXNpc1Rhc2sncworICAgICAg
ICBfY29uc3RydWN0QW5hbHlzaXNUYXNrc0Zyb21SYXdEYXRhLgorICAgICAgICAoQnVnLnByb3Rv
dHlwZS51cGRhdGVTaW5nbGV0b24pOiBBZGRlZC4gSnVzdCBhc3NlcnQgdGhhdCBub3RoaW5nIGNo
YW5nZXMuCisKKyAgICAgICAgKiBwdWJsaWMvdjMvbW9kZWxzL2J1aWxkLXJlcXVlc3QuanM6Cisg
ICAgICAgIChCdWlsZFJlcXVlc3QucHJvdG90eXBlLnVwZGF0ZVNpbmdsZXRvbik6IEFkZGVkLiBB
c3NlcnQgdGhhdCB0aGUgaW50cmluc2ljIHZhbHVlcyBvZiBhIGJ1aWxkIHJlcXVlc3QKKyAgICAg
ICAgZG9lc24ndCBjaGFuZ2UgYW5kIHVwZGF0ZSBzdGF0dXMgdGV4dCwgc3RhdHVzIHVybCwgYW5k
IGJ1aWxkIGlkIGFzIHRoZXkgY291bGQgY2hhbmdlLgorCisgICAgICAgICogcHVibGljL3YzL21v
ZGVscy9jb21taXQtbG9nLmpzOgorICAgICAgICAoQ29tbWl0TG9nKTogTWFkZSB0aGUgY29uc3Ry
dWN0b3IgYXJndW1lbnQgY29uZm9ybSB0byB0aGUgY29udmVudGlvbiBvZiBpZCwgb2JqZWN0IHBh
aXIgc28gdGhhdCB3ZSBjYW4KKyAgICAgICAgdXNlIERhdGFNb2RlbE9iamVjdC5lbnN1cmVTaW5n
bGV0b24uCisgICAgICAgIChDb21taXRMb2cuZW5zdXJlU2luZ2xldG9uKTogCisgICAgICAgIChD
b21taXRMb2cucHJvdG90eXBlLnVwZGF0ZVNpbmdsZXRvbik6IEV4dHJhY3RlZCBmcm9tIENvbW1p
dExvZy5lbnN1cmVTaW5nbGV0b24uCisKKyAgICAgICAgKiBwdWJsaWMvdjMvbW9kZWxzL2RhdGEt
bW9kZWwuanM6CisgICAgICAgIChEYXRhTW9kZWxPYmplY3QuZW5zdXJlU2luZ2xldG9uKTogQ2Fs
bCBuZXdseSBhZGRlZCB1cGRhdGVTaW5nbGV0b24uCisgICAgICAgIChEYXRhTW9kZWxPYmplY3Qu
cHJvdG90eXBlLnVwZGF0ZVNpbmdsZXRvbik6CisgICAgICAgIChMYWJlbGVkT2JqZWN0KTogUmVt
b3ZlZCB0aGUgbmFtZSBtYXAgc2luY2UgaXQncyBuZXZlciB1c2VkIChmaW5kQnlOYW1lIGlzIG5l
dmVyIGNhbGxlZCBhbnl3aGVyZSkuCisgICAgICAgIChMYWJlbGVkT2JqZWN0LnByb3RvdHlwZS51
cGRhdGVTaW5nbGV0b24pOiBBZGRlZC4gVXBkYXRlcyBfbmFtZS4KKyAgICAgICAgKExhYmVsZWRP
YmplY3QuZmluZEJ5TmFtZSk6IERlbGV0ZWQuCisKKyAgICAgICAgKiBwdWJsaWMvdjMvbW9kZWxz
L3Rlc3QtZ3JvdXAuanM6CisgICAgICAgIChUZXN0R3JvdXAucHJvdG90eXBlLnVwZGF0ZU5hbWUp
OiBBZGRlZC4gVXNlcyBQcml2aWxlZ2VkQVBJIHRvIHVwZGF0ZSB0aGUgbmFtZSBhbmQgcmUtZmV0
Y2hlcworICAgICAgICB0aGUgdGVzdCBncm91cCBmcm9tIHRoZSBzZXZlci4KKyAgICAgICAgKFRl
c3RHcm91cC5fY3JlYXRlTW9kZWxzRnJvbUZldGNoZWRUZXN0R3JvdXBzKTogUmVtb3ZlZCBib2d1
cyBjb2RlLiBBIHJvb3Qgc2V0IGRvZXNuJ3QgaGF2ZSBhIHRlc3QKKyAgICAgICAgZ3JvdXAgYXNz
b2NpYXRlZCB3aXRoIGl0IHNpbmNlIG11bHRpcGxlIHRlc3QgZ3JvdXBzIGNhbiBzaGFyZSBhIHNp
bmdsZSByb290IHNldCAodGhpcyBwcm9wZXJ0eSBkb2Vzbid0CisgICAgICAgIGV2ZW4gZXhpc3Qp
LgorCisgICAgICAgICogcHVibGljL3YzL3BhZ2VzL2FuYWx5c2lzLXRhc2stcGFnZS5qczoKKyAg
ICAgICAgKEFuYWx5c2lzVGFza1BhZ2UpOiBSZW1vdmVkIHVzZWxlc3MgX3Rhc2tJZCBhbmQgYWRk
ZWQgdGhpcy5fdGVzdEdyb3VwTGFiZWxNYXAgYW5kIHRoaXMuX3Rhc2tOYW1lTGFiZWwuCisgICAg
ICAgIChBbmFseXNpc1Rhc2tQYWdlLnByb3RvdHlwZS51cGRhdGVGcm9tU2VyaWFsaXplZFN0YXRl
KTogQ2xlYW51cC4KKyAgICAgICAgKEFuYWx5c2lzVGFza1BhZ2UucHJvdG90eXBlLl9kaWRGZXRj
aFRhc2spOiBBc3NlcnQgdGhhdCB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBleGFjdGx5IG9uY2Uu
CisgICAgICAgIChBbmFseXNpc1Rhc2tQYWdlLnByb3RvdHlwZS5yZW5kZXIpOiBVc2UgdGhpcy5f
dGFzay5pZCgpIHRvIHNob3cgdGhlIHYyIGxpbmsuIFVzZSBFZGl0YWJsZVRleHQgdG8gc2hvdwor
ICAgICAgICB0aGUgbmFtZXMgb2YgdGhlIGFuYWx5c2lzIHRhc2sgYW5kIHRoZSBhc3NvY2lhdGVk
IHRlc3QgZ3JvdXBzLiBIaWRlIHRoZSBvdmVydmlldyBjaGFydCBhbmQgdGhlIGxpc3Qgb2YKKyAg
ICAgICAgdGVzdCBncm91cHMgKGFsb25nIHdpdGggdGhlIHJldHJ5L2NvbmZpcm0gYnV0dG9uKSB3
aGVuIHRoZSBhbmFseXNpcyB0YXNrIGZhaWxlZCB0byBmZXRjaC4gV2UgYWx3YXlzCisgICAgICAg
IHVwZGF0ZSB0aGUgbmFtZXMgb2YgdGhlIGFuYWx5c2lzIHRhc2sgYW5kIHRoZSBhc3NvY2lhdGVk
IHRlc3QgZ3JvdXBzIHNpbmNlIHRoZXkgY291bGQgYmUgdXBkYXRlZCBieQorICAgICAgICB0aGUg
c2VydmVyLgorICAgICAgICAoQW5hbHlzaXNUYXNrUGFnZS5wcm90b3R5cGUuX2RpZFN0YXJ0RWRp
dGluZ1Rhc2tOYW1lKTogQWRkZWQuCisgICAgICAgIChBbmFseXNpc1Rhc2tQYWdlLnByb3RvdHlw
ZS5fdXBkYXRlVGFza05hbWUpOiBBZGRlZC4KKyAgICAgICAgKEFuYWx5c2lzVGFza1BhZ2UucHJv
dG90eXBlLl91cGRhdGVUZXN0R3JvdXBOYW1lKTogQWRkZWQuCisgICAgICAgIChBbmFseXNpc1Rh
c2tQYWdlLmh0bWxUZW1wbGF0ZSk6IFVwZGF0ZWQgdGhlIHN0eWxlLgorCiAyMDE2LTAyLTExICBS
eW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIExhbmQgdGhlIGNoYW5n
ZSB0aGF0IHdhcyBzdXBwb3NlZCB0byBiZSB0aGUgcGFydCBvZiByMTk2NDYzLgpJbmRleDogV2Vi
c2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9wcml2aWxlZ2VkLWFwaS91cGRhdGUtYW5hbHlz
aXMtdGFzay5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1Ymxp
Yy9wcml2aWxlZ2VkLWFwaS91cGRhdGUtYW5hbHlzaXMtdGFzay5waHAJKHJldmlzaW9uIDE5NjUx
NykKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvcHJpdmlsZWdlZC1hcGkvdXBk
YXRlLWFuYWx5c2lzLXRhc2sucGhwCSh3b3JraW5nIGNvcHkpCkBAIC0xMSw2ICsxMSw5IEBAIGZ1
bmN0aW9uIG1haW4oKSB7CiAKICAgICAkdmFsdWVzID0gYXJyYXkoKTsKIAorICAgIGlmIChhcnJh
eV9rZXlfZXhpc3RzKCduYW1lJywgJGRhdGEpKQorICAgICAgICAkdmFsdWVzWyduYW1lJ10gPSAk
ZGF0YVsnbmFtZSddOworCiAgICAgaWYgKGFycmF5X2tleV9leGlzdHMoJ3Jlc3VsdCcsICRkYXRh
KSkgewogICAgICAgICByZXF1aXJlX21hdGNoX29uZV9vZl92YWx1ZXMoJ1Jlc3VsdCcsICRkYXRh
WydyZXN1bHQnXSwgYXJyYXkobnVsbCwgJ3Byb2dyZXNzaW9uJywgJ3JlZ3Jlc3Npb24nLCAndW5j
aGFuZ2VkJywgJ2luY29uY2x1c2l2ZScpKTsKICAgICAgICAgJHZhbHVlc1sncmVzdWx0J10gPSAk
ZGF0YVsncmVzdWx0J107CkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3By
aXZpbGVnZWQtYXBpL3VwZGF0ZS10ZXN0LWdyb3VwLnBocAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRl
cy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3ByaXZpbGVnZWQtYXBpL3VwZGF0ZS10ZXN0LWdyb3Vw
LnBocAkocmV2aXNpb24gMCkKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvcHJp
dmlsZWdlZC1hcGkvdXBkYXRlLXRlc3QtZ3JvdXAucGhwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMzUgQEAKKzw/cGhwCisKK3JlcXVpcmVfb25jZSgnLi4vaW5jbHVkZS9qc29uLWhlYWRlci5w
aHAnKTsKKworZnVuY3Rpb24gbWFpbigpIHsKKyAgICAkZGF0YSA9IGVuc3VyZV9wcml2aWxlZ2Vk
X2FwaV9kYXRhX2FuZF90b2tlbigpOworCisgICAgJHRlc3RfZ3JvdXBfaWQgPSBhcnJheV9nZXQo
JGRhdGEsICdncm91cCcpOworICAgIGlmICghJHRlc3RfZ3JvdXBfaWQpCisgICAgICAgIGV4aXRf
d2l0aF9lcnJvcignVGVzdEdyb3VwTm90U3BlY2lmaWVkJyk7CisKKyAgICAkdmFsdWVzID0gYXJy
YXkoKTsKKworICAgIGlmIChhcnJheV9rZXlfZXhpc3RzKCduYW1lJywgJGRhdGEpKQorICAgICAg
ICAkdmFsdWVzWyduYW1lJ10gPSAkZGF0YVsnbmFtZSddOworCisgICAgaWYgKCEkdmFsdWVzKQor
ICAgICAgICBleGl0X3dpdGhfZXJyb3IoJ05vdGhpbmdUb1VwZGF0ZScpOworCisgICAgJGRiID0g
Y29ubmVjdCgpOworICAgICRkYi0+YmVnaW5fdHJhbnNhY3Rpb24oKTsKKworICAgIGlmICghJGRi
LT51cGRhdGVfcm93KCdhbmFseXNpc190ZXN0X2dyb3VwcycsICd0ZXN0Z3JvdXAnLCBhcnJheSgn
aWQnID0+ICR0ZXN0X2dyb3VwX2lkKSwgJHZhbHVlcykpIHsKKyAgICAgICAgJGRiLT5yb2xsYmFj
a190cmFuc2FjdGlvbigpOworICAgICAgICBleGl0X3dpdGhfZXJyb3IoJ0ZhaWxlZFRvVXBkYXRl
VGVzdEdyb3VwJywgYXJyYXkoJ2lkJyA9PiAkdGVzdF9ncm91cF9pZCwgJ3ZhbHVlcycgPT4gJHZh
bHVlcykpOworICAgIH0KKworICAgICRkYi0+Y29tbWl0X3RyYW5zYWN0aW9uKCk7CisKKyAgICBl
eGl0X3dpdGhfc3VjY2VzcygpOworfQorCittYWluKCk7CisKKz8+CkluZGV4OiBXZWJzaXRlcy9w
ZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL2luZGV4Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0
ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9pbmRleC5odG1sCShyZXZpc2lvbiAxOTY1MTcp
CisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL2luZGV4Lmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTY2LDYgKzY2LDcgQEAgUnVuIHRvb2xzL2J1bmRsZS12My1zY3JpcHRzIHRv
IHNwZWVkIHVwIAogICAgICAgICA8c2NyaXB0IHNyYz0iY29tcG9uZW50cy9idXR0b24tYmFzZS5q
cyI+PC9zY3JpcHQ+CiAgICAgICAgIDxzY3JpcHQgc3JjPSJjb21wb25lbnRzL2Nsb3NlLWJ1dHRv
bi5qcyI+PC9zY3JpcHQ+CiAgICAgICAgIDxzY3JpcHQgc3JjPSJjb21wb25lbnRzL2NvbW1pdC1s
b2ctdmlld2VyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9ImNvbXBvbmVudHMv
ZWRpdGFibGUtdGV4dC5qcyI+PC9zY3JpcHQ+CiAgICAgICAgIDxzY3JpcHQgc3JjPSJjb21wb25l
bnRzL3RpbWUtc2VyaWVzLWNoYXJ0LmpzIj48L3NjcmlwdD4KICAgICAgICAgPHNjcmlwdCBzcmM9
ImNvbXBvbmVudHMvaW50ZXJhY3RpdmUtdGltZS1zZXJpZXMtY2hhcnQuanMiPjwvc2NyaXB0Pgog
ICAgICAgICA8c2NyaXB0IHNyYz0iY29tcG9uZW50cy9jaGFydC1zdGF0dXMtdmlldy5qcyI+PC9z
Y3JpcHQ+CkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL2NvbXBvbmVu
dHMvZWRpdGFibGUtdGV4dC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtpdC5v
cmcvcHVibGljL3YzL2NvbXBvbmVudHMvZWRpdGFibGUtdGV4dC5qcwkocmV2aXNpb24gMCkKKysr
IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvY29tcG9uZW50cy9lZGl0YWJsZS10
ZXh0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTIzIEBACisKK2NsYXNzIEVkaXRhYmxl
VGV4dCBleHRlbmRzIENvbXBvbmVudEJhc2UgeworCisgICAgY29uc3RydWN0b3IodGV4dCkKKyAg
ICB7CisgICAgICAgIHN1cGVyKCdlZGl0YWJsZS10ZXh0Jyk7CisgICAgICAgIHRoaXMuX3RleHQg
PSB0ZXh0OworICAgICAgICB0aGlzLl9pbkVkaXRpbmdNb2RlID0gZmFsc2U7CisgICAgICAgIHRo
aXMuX3N0YXJ0ZWRFZGl0aW5nQ2FsbGJhY2sgPSBudWxsOworICAgICAgICB0aGlzLl91cGRhdGVD
YWxsYmFjayA9IG51bGw7CisgICAgICAgIHRoaXMuX3VwZGF0aW5nUHJvbWlzZSA9IG51bGw7Cisg
ICAgICAgIHRoaXMuX2FjdGlvbkxpbmsgPSB0aGlzLmNvbnRlbnQoKS5xdWVyeVNlbGVjdG9yKCcu
ZWRpdGFibGUtdGV4dC1hY3Rpb24gYScpOworICAgICAgICB0aGlzLl9hY3Rpb25MaW5rLm9uY2xp
Y2sgPSB0aGlzLl9kaWRDbGljay5iaW5kKHRoaXMpOworICAgICAgICB0aGlzLl9hY3Rpb25MaW5r
Lm9ubW91c2Vkb3duID0gdGhpcy5fZGlkQ2xpY2suYmluZCh0aGlzKTsKKyAgICAgICAgdGhpcy5f
dGV4dEZpZWxkID0gdGhpcy5jb250ZW50KCkucXVlcnlTZWxlY3RvcignLmVkaXRhYmxlLXRleHQt
ZmllbGQnKTsKKyAgICAgICAgdGhpcy5fdGV4dEZpZWxkLm9uYmx1ciA9IHRoaXMuX2RpZEJsdXIu
YmluZCh0aGlzKTsKKyAgICAgICAgdGhpcy5fbGFiZWwgPSB0aGlzLmNvbnRlbnQoKS5xdWVyeVNl
bGVjdG9yKCcuZWRpdGFibGUtdGV4dC1sYWJlbCcpOworICAgIH0KKworICAgIGVkaXRlZFRleHQo
KSB7IHJldHVybiB0aGlzLl90ZXh0RmllbGQudmFsdWU7IH0KKyAgICBzZXRUZXh0KHRleHQpIHsg
dGhpcy5fdGV4dCA9IHRleHQ7IH0KKworICAgIHNldFN0YXJ0ZWRFZGl0aW5nQ2FsbGJhY2soY2Fs
bGJhY2spIHsgdGhpcy5fc3RhcnRlZEVkaXRpbmdDYWxsYmFjayA9IGNhbGxiYWNrOyB9CisgICAg
c2V0VXBkYXRlQ2FsbGJhY2soY2FsbGJhY2spIHsgdGhpcy5fdXBkYXRlQ2FsbGJhY2sgPSBjYWxs
YmFjazsgfQorCisgICAgcmVuZGVyKCkKKyAgICB7CisgICAgICAgIHRoaXMuX2xhYmVsLnRleHRD
b250ZW50ID0gdGhpcy5fdGV4dDsKKyAgICAgICAgdGhpcy5fYWN0aW9uTGluay50ZXh0Q29udGVu
dCA9IHRoaXMuX2luRWRpdGluZ01vZGUgPyAodGhpcy5fdXBkYXRpbmdQcm9taXNlID8gJy4uLicg
OiAnU2F2ZScpIDogJ0VkaXQnOworICAgICAgICB0aGlzLl9hY3Rpb25MaW5rLnBhcmVudE5vZGUu
c3R5bGUuZGlzcGxheSA9IHRoaXMuX3RleHQgPyBudWxsIDogJ25vbmUnOworCisgICAgICAgIGlm
ICh0aGlzLl9pbkVkaXRpbmdNb2RlKSB7CisgICAgICAgICAgICB0aGlzLl90ZXh0RmllbGQucmVh
ZE9ubHkgPSAhIXRoaXMuX3VwZGF0aW5nUHJvbWlzZTsKKyAgICAgICAgICAgIHRoaXMuX3RleHRG
aWVsZC5zdHlsZS5kaXNwbGF5ID0gbnVsbDsKKyAgICAgICAgICAgIHRoaXMuX2xhYmVsLnN0eWxl
LmRpc3BsYXkgPSAnbm9uZSc7CisgICAgICAgICAgICBpZiAoIXRoaXMuX3VwZGF0aW5nUHJvbWlz
ZSkKKyAgICAgICAgICAgICAgICB0aGlzLl90ZXh0RmllbGQuZm9jdXMoKTsKKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgIHRoaXMuX3RleHRGaWVsZC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUn
OworICAgICAgICAgICAgdGhpcy5fbGFiZWwuc3R5bGUuZGlzcGxheSA9IG51bGw7CisgICAgICAg
IH0KKworICAgICAgICBzdXBlci5yZW5kZXIoKTsKKyAgICB9CisKKyAgICBfZGlkQ2xpY2soZXZl
bnQpCisgICAgeworICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOworICAgICAgICBldmVu
dC5zdG9wUHJvcGFnYXRpb24oKTsKKworICAgICAgICBpZiAoIXRoaXMuX3VwZGF0ZUNhbGxiYWNr
IHx8IHRoaXMuX3VwZGF0aW5nUHJvbWlzZSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAg
ICBpZiAodGhpcy5faW5FZGl0aW5nTW9kZSkKKyAgICAgICAgICAgIHRoaXMuX3VwZGF0aW5nUHJv
bWlzZSA9IHRoaXMuX3VwZGF0ZUNhbGxiYWNrKCkudGhlbih0aGlzLl9kaWRVcGRhdGUuYmluZCh0
aGlzKSk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgdGhpcy5faW5FZGl0aW5nTW9kZSA9
IHRydWU7CisgICAgICAgICAgICB0aGlzLl90ZXh0RmllbGQudmFsdWUgPSB0aGlzLl90ZXh0Owor
ICAgICAgICAgICAgdGhpcy5fdGV4dEZpZWxkLnN0eWxlLndpZHRoID0gKHRoaXMuX3RleHQubGVu
Z3RoIC8gMS41KSArICdyZW0nOworICAgICAgICAgICAgaWYgKHRoaXMuX3N0YXJ0ZWRFZGl0aW5n
Q2FsbGJhY2spCisgICAgICAgICAgICAgICAgdGhpcy5fc3RhcnRlZEVkaXRpbmdDYWxsYmFjaygp
OworICAgICAgICB9CisgICAgfQorCisgICAgX2RpZEJsdXIoZXZlbnQpCisgICAgeworICAgICAg
ICB2YXIgc2VsZiA9IHRoaXM7CisgICAgICAgIGlmIChzZWxmLl9pbkVkaXRpbmdNb2RlICYmICFz
ZWxmLl91cGRhdGluZ1Byb21pc2UgJiYgIXNlbGYuaGFzRm9jdXMoKSkKKyAgICAgICAgICAgIHNl
bGYuX2RpZFVwZGF0ZSgpOworICAgIH0KKworICAgIF9kaWRVcGRhdGUoKQorICAgIHsKKyAgICAg
ICAgdGhpcy5faW5FZGl0aW5nTW9kZSA9IGZhbHNlOworICAgICAgICB0aGlzLl91cGRhdGluZ1By
b21pc2UgPSBudWxsOworICAgICAgICB0aGlzLnJlbmRlcigpOworICAgIH0KKworICAgIHN0YXRp
YyBodG1sVGVtcGxhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGAKKyAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJlZGl0YWJsZS10ZXh0LWNvbnRhaW5lciI+CisgICAgICAgICAgICAgICAgPGlu
cHV0IHR5cGU9InRleHQiIGNsYXNzPSJlZGl0YWJsZS10ZXh0LWZpZWxkIj4KKyAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iZWRpdGFibGUtdGV4dC1sYWJlbCI+PC9zcGFuPgorICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJlZGl0YWJsZS10ZXh0LWFjdGlvbiI+KDxhIGhyZWY9IiMiPkVk
aXQ8L2E+KTwvc3Bhbj4KKyAgICAgICAgICAgIDwvc3Bhbj5gOworICAgIH0KKworICAgIHN0YXRp
YyBjc3NUZW1wbGF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYAorICAgICAgICAgICAgLmVk
aXRhYmxlLXRleHQtY29udGFpbmVyIHsKKyAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRp
dmU7CisgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMi41cmVtOworICAgICAgICAgICAg
fQorICAgICAgICAgICAgLmVkaXRhYmxlLXRleHQtZmllbGQgeworICAgICAgICAgICAgICAgIGJh
Y2tncm91bmQ6IHRyYW5zcGFyZW50OworICAgICAgICAgICAgICAgIG1hcmdpbjogMDsKKyAgICAg
ICAgICAgICAgICBwYWRkaW5nOiAwOworICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0Owor
ICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0OworICAgICAgICAgICAgICAgIGZv
bnQtc2l6ZTogaW5oZXJpdDsKKyAgICAgICAgICAgICAgICB3aWR0aDogOHJlbTsKKyAgICAgICAg
ICAgICAgICBib3JkZXI6IG5vbmU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAuZWRpdGFi
bGUtdGV4dC1hY3Rpb24geworICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAg
ICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuMnJlbTsKKyAgICAgICAgICAgICAgICBjb2xv
cjogIzk5OTsKKyAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTsKKyAgICAgICAgICAg
ICAgICB0b3A6IDUwJTsKKyAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMC40cmVtOworICAg
ICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICAuZWRpdGFibGUtdGV4dC1hY3Rpb24gYSB7CisgICAgICAgICAgICAgICAgY29sb3I6
IGluaGVyaXQ7CisgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOworICAgICAg
ICAgICAgfQorICAgICAgICBgOworICAgIH0KK30KKworQ29tcG9uZW50QmFzZS5kZWZpbmVFbGVt
ZW50KCdlZGl0YWJsZS10ZXh0JywgRWRpdGFibGVUZXh0KTsKSW5kZXg6IFdlYnNpdGVzL3BlcmYu
d2Via2l0Lm9yZy9wdWJsaWMvdjMvbW9kZWxzL2FuYWx5c2lzLXRhc2suanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9tb2RlbHMvYW5hbHlzaXMtdGFz
ay5qcwkocmV2aXNpb24gMTk2NTE3KQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1Ymxp
Yy92My9tb2RlbHMvYW5hbHlzaXMtdGFzay5qcwkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjks
MjcgQEAgY2xhc3MgQW5hbHlzaXNUYXNrIGV4dGVuZHMgTGFiZWxlZE9iamVjdAogICAgICAgICBy
ZXR1cm4gdGhpcy5hbGwoKS5maWx0ZXIoZnVuY3Rpb24gKHRhc2spIHsgcmV0dXJuIHRhc2suX3Bs
YXRmb3JtLmlkKCkgPT0gcGxhdGZvcm1JZCAmJiB0YXNrLl9tZXRyaWMuaWQoKSA9PSBtZXRyaWNJ
ZDsgfSk7CiAgICAgfQogCisgICAgdXBkYXRlU2luZ2xldG9uKG9iamVjdCkKKyAgICB7CisgICAg
ICAgIHN1cGVyLnVwZGF0ZVNpbmdsZXRvbihvYmplY3QpOworCisgICAgICAgIGNvbnNvbGUuYXNz
ZXJ0KHRoaXMuX2F1dGhvciA9PSBvYmplY3QuYXV0aG9yKTsKKyAgICAgICAgY29uc29sZS5hc3Nl
cnQoK3RoaXMuX2NyZWF0ZWRBdCA9PSArb2JqZWN0LmNyZWF0ZWRBdCk7CisgICAgICAgIGNvbnNv
bGUuYXNzZXJ0KHRoaXMuX3BsYXRmb3JtID09IG9iamVjdC5wbGF0Zm9ybSk7CisgICAgICAgIGNv
bnNvbGUuYXNzZXJ0KHRoaXMuX21ldHJpYyA9PSBvYmplY3QubWV0cmljKTsKKyAgICAgICAgY29u
c29sZS5hc3NlcnQodGhpcy5fc3RhcnRNZWFzdXJlbWVudElkID09IG9iamVjdC5zdGFydFJ1bik7
CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX3N0YXJ0VGltZSA9PSBvYmplY3Quc3RhcnRS
dW5UaW1lKTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5fZW5kTWVhc3VyZW1lbnRJZCA9
PSBvYmplY3QuZW5kUnVuKTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5fZW5kVGltZSA9
PSBvYmplY3QuZW5kUnVuVGltZSk7CisKKyAgICAgICAgdGhpcy5fY2F0ZWdvcnkgPSBvYmplY3Qu
Y2F0ZWdvcnk7CisgICAgICAgIHRoaXMuX2NoYW5nZVR5cGUgPSBvYmplY3QucmVzdWx0OworICAg
ICAgICB0aGlzLl9uZWVkZWQgPSBvYmplY3QubmVlZGVkOworICAgICAgICB0aGlzLl9idWdzID0g
b2JqZWN0LmJ1Z3MgfHwgW107CisgICAgICAgIHRoaXMuX2J1aWxkUmVxdWVzdENvdW50ID0gb2Jq
ZWN0LmJ1aWxkUmVxdWVzdENvdW50OworICAgICAgICB0aGlzLl9maW5pc2hlZEJ1aWxkUmVxdWVz
dENvdW50ID0gb2JqZWN0LmZpbmlzaGVkQnVpbGRSZXF1ZXN0Q291bnQ7CisgICAgfQorCiAgICAg
aGFzUmVzdWx0cygpIHsgcmV0dXJuIHRoaXMuX2ZpbmlzaGVkQnVpbGRSZXF1ZXN0Q291bnQ7IH0K
ICAgICBoYXNQZW5kaW5nUmVxdWVzdHMoKSB7IHJldHVybiB0aGlzLl9maW5pc2hlZEJ1aWxkUmVx
dWVzdENvdW50IDwgdGhpcy5fYnVpbGRSZXF1ZXN0Q291bnQ7IH0KICAgICByZXF1ZXN0TGFiZWwo
KSB7IHJldHVybiBgJHt0aGlzLl9maW5pc2hlZEJ1aWxkUmVxdWVzdENvdW50fSBvZiAke3RoaXMu
X2J1aWxkUmVxdWVzdENvdW50fWA7IH0KQEAgLTQ2LDYgKzY3LDE5IEBAIGNsYXNzIEFuYWx5c2lz
VGFzayBleHRlbmRzIExhYmVsZWRPYmplY3QKICAgICBjYXRlZ29yeSgpIHsgcmV0dXJuIHRoaXMu
X2NhdGVnb3J5OyB9CiAgICAgY2hhbmdlVHlwZSgpIHsgcmV0dXJuIHRoaXMuX2NoYW5nZVR5cGU7
IH0KIAorICAgIHVwZGF0ZU5hbWUobmV3TmFtZSkKKyAgICB7CisgICAgICAgIHZhciBzZWxmID0g
dGhpczsKKyAgICAgICAgdmFyIGlkID0gdGhpcy5pZCgpOworICAgICAgICByZXR1cm4gUHJpdmls
ZWdlZEFQSS5zZW5kUmVxdWVzdCgndXBkYXRlLWFuYWx5c2lzLXRhc2snLCB7CisgICAgICAgICAg
ICB0YXNrOiBpZCwKKyAgICAgICAgICAgIG5hbWU6IG5ld05hbWUsCisgICAgICAgIH0pLnRoZW4o
ZnVuY3Rpb24gKGRhdGEpIHsKKyAgICAgICAgICAgIHJldHVybiBBbmFseXNpc1Rhc2suY2FjaGVk
RmV0Y2goJy4uL2FwaS9hbmFseXNpcy10YXNrcycsIHtpZDogaWR9LCB0cnVlKQorICAgICAgICAg
ICAgICAgIC50aGVuKEFuYWx5c2lzVGFzay5fY29uc3RydWN0QW5hbHlzaXNUYXNrc0Zyb21SYXdE
YXRhLmJpbmQoQW5hbHlzaXNUYXNrKSk7CisgICAgICAgIH0pOworICAgIH0KKwogICAgIHN0YXRp
YyBjYXRlZ29yaWVzKCkKICAgICB7CiAgICAgICAgIHJldHVybiBbCkBAIC05NCwxMiArMTI4LDEx
IEBAIGNsYXNzIEFuYWx5c2lzVGFzayBleHRlbmRzIExhYmVsZWRPYmplY3QKICAgICAgICAgLy8g
RklYTUU6IFRoZSBiYWNrZW5kIHNob3VsZG4ndCBjcmVhdGUgYSBzZXBhcmF0ZSBidWcgcm93IHBl
ciB0YXNrIGZvciB0aGUgc2FtZSBidWcgbnVtYmVyLgogICAgICAgICB2YXIgdGFza1RvQnVnID0g
e307CiAgICAgICAgIGZvciAodmFyIHJhd0RhdGEgb2YgZGF0YS5idWdzKSB7Ci0gICAgICAgICAg
ICB2YXIgaWQgPSByYXdEYXRhLmJ1Z1RyYWNrZXIgKyAnLScgKyByYXdEYXRhLm51bWJlcjsKICAg
ICAgICAgICAgIHJhd0RhdGEuYnVnVHJhY2tlciA9IEJ1Z1RyYWNrZXIuZmluZEJ5SWQocmF3RGF0
YS5idWdUcmFja2VyKTsKICAgICAgICAgICAgIGlmICghcmF3RGF0YS5idWdUcmFja2VyKQogICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgICAgICB2YXIgYnVnID0gQnVnLmZpbmRC
eUlkKGlkKSB8fCBuZXcgQnVnKGlkLCByYXdEYXRhKTsKKyAgICAgICAgICAgIHZhciBidWcgPSBC
dWcuZW5zdXJlU2luZ2xldG9uKHJhd0RhdGEpOwogICAgICAgICAgICAgaWYgKCF0YXNrVG9CdWdb
cmF3RGF0YS50YXNrXSkKICAgICAgICAgICAgICAgICB0YXNrVG9CdWdbcmF3RGF0YS50YXNrXSA9
IFtdOwogICAgICAgICAgICAgdGFza1RvQnVnW3Jhd0RhdGEudGFza10ucHVzaChidWcpOwpAQCAt
MTEzLDggKzE0Niw3IEBAIGNsYXNzIEFuYWx5c2lzVGFzayBleHRlbmRzIExhYmVsZWRPYmplY3QK
ICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICAgICAgcmF3RGF0YS5idWdzID0g
dGFza1RvQnVnW3Jhd0RhdGEuaWRdOwotICAgICAgICAgICAgdmFyIHRhc2sgPSBBbmFseXNpc1Rh
c2suZmluZEJ5SWQocmF3RGF0YS5pZCkgfHwgbmV3IEFuYWx5c2lzVGFzayhyYXdEYXRhLmlkLCBy
YXdEYXRhKTsKLSAgICAgICAgICAgIHJlc3VsdHMucHVzaCh0YXNrKTsKKyAgICAgICAgICAgIHJl
c3VsdHMucHVzaChBbmFseXNpc1Rhc2suZW5zdXJlU2luZ2xldG9uKHJhd0RhdGEuaWQsIHJhd0Rh
dGEpKTsKICAgICAgICAgfQogCiAgICAgICAgIEluc3RydW1lbnRhdGlvbi5lbmRNZWFzdXJpbmdU
aW1lKCdBbmFseXNpc1Rhc2snLCAnY29uc3RydWN0aW9uJyk7CkluZGV4OiBXZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvcHVibGljL3YzL21vZGVscy9idWcuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0
ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9tb2RlbHMvYnVnLmpzCShyZXZpc2lvbiAxOTY1
MTcpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL21vZGVscy9idWcuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTksNiArOSwyMCBAQCBjbGFzcyBCdWcgZXh0ZW5kcyBEYXRhTW9k
ZWxPYmplY3QgewogICAgICAgICB0aGlzLl9idWdOdW1iZXIgPSBvYmplY3QubnVtYmVyOwogICAg
IH0KIAorICAgIHN0YXRpYyBlbnN1cmVTaW5nbGV0b24ob2JqZWN0KQorICAgIHsKKyAgICAgICAg
Y29uc29sZS5hc3NlcnQob2JqZWN0LmJ1Z1RyYWNrZXIgaW5zdGFuY2VvZiBCdWdUcmFja2VyKTsK
KyAgICAgICAgdmFyIGlkID0gb2JqZWN0LmJ1Z1RyYWNrZXIuaWQoKSArICctJyArIG9iamVjdC5u
dW1iZXI7CisgICAgICAgIHJldHVybiBzdXBlci5lbnN1cmVTaW5nbGV0b24oaWQsIG9iamVjdCk7
CisgICAgfQorCisgICAgdXBkYXRlU2luZ2xldG9uKG9iamVjdCkKKyAgICB7CisgICAgICAgIHN1
cGVyLnVwZGF0ZVNpbmdsZXRvbihvYmplY3QpOworICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlz
Ll9idWdUcmFja2VyID09IG9iamVjdC5idWdUcmFja2VyKTsKKyAgICAgICAgY29uc29sZS5hc3Nl
cnQodGhpcy5fYnVnTnVtYmVyID09IG9iamVjdC5udW1iZXIpOworICAgIH0KKwogICAgIGJ1Z1Ry
YWNrZXIoKSB7IHJldHVybiB0aGlzLl9idWdUcmFja2VyOyB9CiAgICAgYnVnTnVtYmVyKCkgeyBy
ZXR1cm4gdGhpcy5fYnVnTnVtYmVyOyB9CiAgICAgdXJsKCkgeyByZXR1cm4gdGhpcy5fYnVnVHJh
Y2tlci5idWdVcmwodGhpcy5fYnVnTnVtYmVyKTsgfQpJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJr
aXQub3JnL3B1YmxpYy92My9tb2RlbHMvYnVpbGQtcmVxdWVzdC5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL21vZGVscy9idWlsZC1yZXF1ZXN0Lmpz
CShyZXZpc2lvbiAxOTY1MTcpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3Yz
L21vZGVscy9idWlsZC1yZXF1ZXN0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xNiw2ICsxNiwxNiBA
QCBjbGFzcyBCdWlsZFJlcXVlc3QgZXh0ZW5kcyBEYXRhTW9kZWxPYmplCiAgICAgICAgIHRoaXMu
X3Jlc3VsdCA9IG51bGw7CiAgICAgfQogCisgICAgdXBkYXRlU2luZ2xldG9uKG9iamVjdCkKKyAg
ICB7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX3Rlc3RHcm91cCA9PSBvYmplY3QudGVz
dEdyb3VwKTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5fb3JkZXIgPT0gb2JqZWN0Lm9y
ZGVyKTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5fcm9vdFNldCA9PSBvYmplY3Qucm9v
dFNldCk7CisgICAgICAgIHRoaXMuX3N0YXR1cyA9IG9iamVjdC5zdGF0dXM7CisgICAgICAgIHRo
aXMuX3N0YXR1c1VybCA9IG9iamVjdC51cmw7CisgICAgICAgIHRoaXMuX2J1aWxkSWQgPSBvYmpl
Y3QuYnVpbGQ7CisgICAgfQorCiAgICAgdGVzdEdyb3VwKCkgeyByZXR1cm4gdGhpcy5fdGVzdEdy
b3VwOyB9CiAgICAgb3JkZXIoKSB7IHJldHVybiB0aGlzLl9vcmRlcjsgfQogICAgIHJvb3RTZXQo
KSB7IHJldHVybiB0aGlzLl9yb290U2V0OyB9CkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5v
cmcvcHVibGljL3YzL21vZGVscy9jb21taXQtbG9nLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVz
L3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvbW9kZWxzL2NvbW1pdC1sb2cuanMJKHJldmlzaW9u
IDE5NjUxNykKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvbW9kZWxzL2Nv
bW1pdC1sb2cuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMjQgKzEsMzAgQEAKIAogY2xhc3MgQ29t
bWl0TG9nIGV4dGVuZHMgRGF0YU1vZGVsT2JqZWN0IHsKLSAgICBjb25zdHJ1Y3RvcihpZCwgcmVw
b3NpdG9yeSwgcmF3RGF0YSkKKyAgICBjb25zdHJ1Y3RvcihpZCwgcmF3RGF0YSkKICAgICB7CiAg
ICAgICAgIHN1cGVyKGlkKTsKLSAgICAgICAgdGhpcy5fcmVwb3NpdG9yeSA9IHJlcG9zaXRvcnk7
CisgICAgICAgIHRoaXMuX3JlcG9zaXRvcnkgPSByYXdEYXRhLnJlcG9zaXRvcnk7CiAgICAgICAg
IHRoaXMuX3Jhd0RhdGEgPSByYXdEYXRhOwogICAgIH0KIAogICAgIHN0YXRpYyBlbnN1cmVTaW5n
bGV0b24ocmVwb3NpdG9yeSwgcmF3RGF0YSkKICAgICB7CiAgICAgICAgIHZhciBpZCA9IHJlcG9z
aXRvcnkuaWQoKSArICctJyArIHJhd0RhdGFbJ3JldmlzaW9uJ107Ci0gICAgICAgIHZhciBzaW5n
bGV0b24gPSB0aGlzLmZpbmRCeUlkKGlkKTsKLSAgICAgICAgaWYgKHNpbmdsZXRvbikgewotICAg
ICAgICAgICAgaWYgKHJhd0RhdGEuYXV0aG9yTmFtZSkKLSAgICAgICAgICAgICAgICBzaW5nbGV0
b24uX3Jhd0RhdGEuYXV0aG9yTmFtZSA9IHJhd0RhdGEuYXV0aG9yTmFtZTsKLSAgICAgICAgICAg
IGlmIChyYXdEYXRhLm1lc3NhZ2UpCi0gICAgICAgICAgICAgICAgc2luZ2xldG9uLl9yYXdEYXRh
Lm1lc3NhZ2UgPSByYXdEYXRhLm1lc3NhZ2U7Ci0gICAgICAgICAgICByZXR1cm4gc2luZ2xldG9u
OwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBuZXcgQ29tbWl0TG9nKGlkLCByZXBvc2l0b3J5
LCByYXdEYXRhKTsKKyAgICAgICAgcmF3RGF0YS5yZXBvc2l0b3J5ID0gcmVwb3NpdG9yeTsKKyAg
ICAgICAgcmV0dXJuIHN1cGVyLmVuc3VyZVNpbmdsZXRvbihpZCwgcmF3RGF0YSk7CisgICAgfQor
CisgICAgdXBkYXRlU2luZ2xldG9uKHJhd0RhdGEpCisgICAgeworICAgICAgICBzdXBlci51cGRh
dGVTaW5nbGV0b24ocmF3RGF0YSk7CisKKyAgICAgICAgY29uc29sZS5hc3NlcnQoK3RoaXMuX3Jh
d0RhdGFbJ3RpbWUnXSA9PSArcmF3RGF0YVsndGltZSddKTsKKyAgICAgICAgY29uc29sZS5hc3Nl
cnQodGhpcy5fcmF3RGF0YVsncmV2aXNpb24nXSA9PSByYXdEYXRhWydyZXZpc2lvbiddKTsKKwor
ICAgICAgICBpZiAocmF3RGF0YS5hdXRob3JOYW1lKQorICAgICAgICAgICAgdGhpcy5fcmF3RGF0
YS5hdXRob3JOYW1lID0gcmF3RGF0YS5hdXRob3JOYW1lOworICAgICAgICBpZiAocmF3RGF0YS5t
ZXNzYWdlKQorICAgICAgICAgICAgdGhpcy5fcmF3RGF0YS5tZXNzYWdlID0gcmF3RGF0YS5tZXNz
YWdlOwogICAgIH0KIAogICAgIHJlcG9zaXRvcnkoKSB7IHJldHVybiB0aGlzLl9yZXBvc2l0b3J5
OyB9CkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL21vZGVscy9kYXRh
LW1vZGVsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMv
djMvbW9kZWxzL2RhdGEtbW9kZWwuanMJKHJldmlzaW9uIDE5NjUxNykKKysrIFdlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvbW9kZWxzL2RhdGEtbW9kZWwuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEwLDExICsxMCwxNSBAQCBjbGFzcyBEYXRhTW9kZWxPYmplY3QgewogICAgIHN0YXRp
YyBlbnN1cmVTaW5nbGV0b24oaWQsIG9iamVjdCkKICAgICB7CiAgICAgICAgIHZhciBzaW5nbGV0
b24gPSB0aGlzLmZpbmRCeUlkKGlkKTsKLSAgICAgICAgaWYgKHNpbmdsZXRvbikKKyAgICAgICAg
aWYgKHNpbmdsZXRvbikgeworICAgICAgICAgICAgc2luZ2xldG9uLnVwZGF0ZVNpbmdsZXRvbihv
YmplY3QpCiAgICAgICAgICAgICByZXR1cm4gc2luZ2xldG9uOworICAgICAgICB9CiAgICAgICAg
IHJldHVybiBuZXcgKHRoaXMpKGlkLCBvYmplY3QpOwogICAgIH0KIAorICAgIHVwZGF0ZVNpbmds
ZXRvbihvYmplY3QpIHsgfQorCiAgICAgc3RhdGljIG5hbWVkU3RhdGljTWFwKG5hbWUpCiAgICAg
ewogICAgICAgICB2YXIgc3RhdGljTWFwID0gdGhpc1tEYXRhTW9kZWxPYmplY3QuU3RhdGljTWFw
U3ltYm9sXTsKQEAgLTgwLDE0ICs4NCw5IEBAIGNsYXNzIExhYmVsZWRPYmplY3QgZXh0ZW5kcyBE
YXRhTW9kZWxPYmoKICAgICB7CiAgICAgICAgIHN1cGVyKGlkKTsKICAgICAgICAgdGhpcy5fbmFt
ZSA9IG9iamVjdC5uYW1lOwotICAgICAgICB0aGlzLmVuc3VyZU5hbWVkU3RhdGljTWFwKCduYW1l
JylbdGhpcy5fbmFtZV0gPSB0aGlzOwogICAgIH0KIAotICAgIHN0YXRpYyBmaW5kQnlOYW1lKG5h
bWUpCi0gICAgewotICAgICAgICB2YXIgbmFtZU1hcCA9IHRoaXMubmFtZWRTdGF0aWNNYXAoJ2lk
Jyk7Ci0gICAgICAgIHJldHVybiBuYW1lTWFwID8gbmFtZU1hcFtuYW1lXSA6IG51bGw7Ci0gICAg
fQorICAgIHVwZGF0ZVNpbmdsZXRvbihvYmplY3QpIHsgdGhpcy5fbmFtZSA9IG9iamVjdC5uYW1l
OyB9CiAKICAgICBzdGF0aWMgc29ydEJ5TmFtZShsaXN0KQogICAgIHsKSW5kZXg6IFdlYnNpdGVz
L3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvbW9kZWxzL3Rlc3QtZ3JvdXAuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9tb2RlbHMvdGVzdC1ncm91
cC5qcwkocmV2aXNpb24gMTk2NTE3KQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1Ymxp
Yy92My9tb2RlbHMvdGVzdC1ncm91cC5qcwkod29ya2luZyBjb3B5KQpAQCAtMTUyLDYgKzE1Miwx
OSBAQCBjbGFzcyBUZXN0R3JvdXAgZXh0ZW5kcyBMYWJlbGVkT2JqZWN0IHsKICAgICAgICAgcmV0
dXJuIHZhbHVlczsKICAgICB9CiAKKyAgICB1cGRhdGVOYW1lKG5ld05hbWUpCisgICAgeworICAg
ICAgICB2YXIgc2VsZiA9IHRoaXM7CisgICAgICAgIHZhciBpZCA9IHRoaXMuaWQoKTsKKyAgICAg
ICAgcmV0dXJuIFByaXZpbGVnZWRBUEkuc2VuZFJlcXVlc3QoJ3VwZGF0ZS10ZXN0LWdyb3VwJywg
eworICAgICAgICAgICAgZ3JvdXA6IGlkLAorICAgICAgICAgICAgbmFtZTogbmV3TmFtZSwKKyAg
ICAgICAgfSkudGhlbihmdW5jdGlvbiAoZGF0YSkgeworICAgICAgICAgICAgcmV0dXJuIFRlc3RH
cm91cC5jYWNoZWRGZXRjaChgLi4vYXBpL3Rlc3QtZ3JvdXBzLyR7aWR9YCwge30sIHRydWUpCisg
ICAgICAgICAgICAgICAgLnRoZW4oVGVzdEdyb3VwLl9jcmVhdGVNb2RlbHNGcm9tRmV0Y2hlZFRl
c3RHcm91cHMuYmluZChUZXN0R3JvdXApKTsKKyAgICAgICAgfSk7CisgICAgfQorCiAgICAgc3Rh
dGljIGNyZWF0ZUFuZFJlZmV0Y2hUZXN0R3JvdXBzKHRhc2ssIG5hbWUsIHJlcGV0aXRpb25Db3Vu
dCwgcm9vdFNldHMpCiAgICAgewogICAgICAgICB2YXIgc2VsZiA9IHRoaXM7CkBAIC0xODMsNyAr
MTk2LDYgQEAgY2xhc3MgVGVzdEdyb3VwIGV4dGVuZHMgTGFiZWxlZE9iamVjdCB7CiAKICAgICAg
ICAgdmFyIHJvb3RTZXRzID0gZGF0YVsncm9vdFNldHMnXS5tYXAoZnVuY3Rpb24gKHJvdykgewog
ICAgICAgICAgICAgcm93LnJvb3RzID0gcm93LnJvb3RzLm1hcChmdW5jdGlvbiAocm9vdElkKSB7
IHJldHVybiByb290SWRNYXBbcm9vdElkXTsgfSk7Ci0gICAgICAgICAgICByb3cudGVzdEdyb3Vw
ID0gUm9vdFNldC5maW5kQnlJZChyb3cudGVzdEdyb3VwKTsKICAgICAgICAgICAgIHJldHVybiBS
b290U2V0LmVuc3VyZVNpbmdsZXRvbihyb3cuaWQsIHJvdyk7CiAgICAgICAgIH0pOwogCkluZGV4
OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL3BhZ2VzL2FuYWx5c2lzLXRhc2st
cGFnZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3Yz
L3BhZ2VzL2FuYWx5c2lzLXRhc2stcGFnZS5qcwkocmV2aXNpb24gMTk2NTE3KQorKysgV2Vic2l0
ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9wYWdlcy9hbmFseXNpcy10YXNrLXBhZ2UuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTE2LDEwICsxNiwxMCBAQCBjbGFzcyBBbmFseXNpc1Rhc2tQYWdl
IGV4dGVuZHMgUGFnZVdpdGhICiAgICAgY29uc3RydWN0b3IoKQogICAgIHsKICAgICAgICAgc3Vw
ZXIoJ0FuYWx5c2lzIFRhc2snKTsKLSAgICAgICAgdGhpcy5fdGFza0lkID0gbnVsbDsKICAgICAg
ICAgdGhpcy5fdGFzayA9IG51bGw7CiAgICAgICAgIHRoaXMuX3Rlc3RHcm91cHMgPSBudWxsOwog
ICAgICAgICB0aGlzLl9yZW5kZXJlZFRlc3RHcm91cHMgPSBudWxsOworICAgICAgICB0aGlzLl90
ZXN0R3JvdXBMYWJlbE1hcCA9IG5ldyBNYXA7CiAgICAgICAgIHRoaXMuX3JlbmRlcmVkQ3VycmVu
dFRlc3RHcm91cCA9IHVuZGVmaW5lZDsKICAgICAgICAgdGhpcy5fYW5hbHlzaXNSZXN1bHRzID0g
bnVsbDsKICAgICAgICAgdGhpcy5fbWVhc3VyZW1lbnRTZXQgPSBudWxsOwpAQCAtMzIsNiArMzIs
OSBAQCBjbGFzcyBBbmFseXNpc1Rhc2tQYWdlIGV4dGVuZHMgUGFnZVdpdGhICiAgICAgICAgIHRo
aXMuX2FuYWx5c2lzUmVzdWx0c1ZpZXdlciA9IHRoaXMuY29udGVudCgpLnF1ZXJ5U2VsZWN0b3Io
J2FuYWx5c2lzLXJlc3VsdHMtdmlld2VyJykuY29tcG9uZW50KCk7CiAgICAgICAgIHRoaXMuX2Fu
YWx5c2lzUmVzdWx0c1ZpZXdlci5zZXRUZXN0R3JvdXBDYWxsYmFjayh0aGlzLl9zaG93VGVzdEdy
b3VwLmJpbmQodGhpcykpOwogICAgICAgICB0aGlzLl90ZXN0R3JvdXBSZXN1bHRzVGFibGUgPSB0
aGlzLmNvbnRlbnQoKS5xdWVyeVNlbGVjdG9yKCd0ZXN0LWdyb3VwLXJlc3VsdHMtdGFibGUnKS5j
b21wb25lbnQoKTsKKyAgICAgICAgdGhpcy5fdGFza05hbWVMYWJlbCA9IHRoaXMuY29udGVudCgp
LnF1ZXJ5U2VsZWN0b3IoJy5hbmFseXNpcy10YXNrLW5hbWUgZWRpdGFibGUtdGV4dCcpLmNvbXBv
bmVudCgpOworICAgICAgICB0aGlzLl90YXNrTmFtZUxhYmVsLnNldFN0YXJ0ZWRFZGl0aW5nQ2Fs
bGJhY2sodGhpcy5fZGlkU3RhcnRFZGl0aW5nVGFza05hbWUuYmluZCh0aGlzKSk7CisgICAgICAg
IHRoaXMuX3Rhc2tOYW1lTGFiZWwuc2V0VXBkYXRlQ2FsbGJhY2sodGhpcy5fdXBkYXRlVGFza05h
bWUuYmluZCh0aGlzKSk7CiAKICAgICAgICAgdGhpcy5jb250ZW50KCkucXVlcnlTZWxlY3Rvcign
LnRlc3QtZ3JvdXAtcmV0cnktZm9ybScpLm9uc3VibWl0ID0gdGhpcy5fcmV0cnlDdXJyZW50VGVz
dEdyb3VwLmJpbmQodGhpcyk7CiAgICAgfQpAQCAtNDMsMjAgKzQ2LDE4IEBAIGNsYXNzIEFuYWx5
c2lzVGFza1BhZ2UgZXh0ZW5kcyBQYWdlV2l0aEgKICAgICB7CiAgICAgICAgIHZhciBzZWxmID0g
dGhpczsKICAgICAgICAgaWYgKHN0YXRlLnJlbWFpbmluZ1JvdXRlKSB7Ci0gICAgICAgICAgICB0
aGlzLl90YXNrSWQgPSBwYXJzZUludChzdGF0ZS5yZW1haW5pbmdSb3V0ZSk7Ci0gICAgICAgICAg
ICBBbmFseXNpc1Rhc2suZmV0Y2hCeUlkKHRoaXMuX3Rhc2tJZCkudGhlbih0aGlzLl9kaWRGZXRj
aFRhc2suYmluZCh0aGlzKSwgZnVuY3Rpb24gKGVycm9yKSB7CisgICAgICAgICAgICB2YXIgdGFz
a0lkID0gcGFyc2VJbnQoc3RhdGUucmVtYWluaW5nUm91dGUpOworICAgICAgICAgICAgQW5hbHlz
aXNUYXNrLmZldGNoQnlJZCh0YXNrSWQpLnRoZW4odGhpcy5fZGlkRmV0Y2hUYXNrLmJpbmQodGhp
cyksIGZ1bmN0aW9uIChlcnJvcikgewogICAgICAgICAgICAgICAgIHNlbGYuX2Vycm9yTWVzc2Fn
ZSA9IGBGYWlsZWQgdG8gZmV0Y2ggdGhlIGFuYWx5c2lzIHRhc2sgJHtzdGF0ZS5yZW1haW5pbmdS
b3V0ZX06ICR7ZXJyb3J9YDsKICAgICAgICAgICAgICAgICBzZWxmLnJlbmRlcigpOwogICAgICAg
ICAgICAgfSk7Ci0gICAgICAgICAgICBUZXN0R3JvdXAuZmV0Y2hCeVRhc2sodGhpcy5fdGFza0lk
KS50aGVuKHRoaXMuX2RpZEZldGNoVGVzdEdyb3Vwcy5iaW5kKHRoaXMpKTsKLSAgICAgICAgICAg
IEFuYWx5c2lzUmVzdWx0cy5mZXRjaCh0aGlzLl90YXNrSWQpLnRoZW4odGhpcy5fZGlkRmV0Y2hB
bmFseXNpc1Jlc3VsdHMuYmluZCh0aGlzKSk7CisgICAgICAgICAgICBUZXN0R3JvdXAuZmV0Y2hC
eVRhc2sodGFza0lkKS50aGVuKHRoaXMuX2RpZEZldGNoVGVzdEdyb3Vwcy5iaW5kKHRoaXMpKTsK
KyAgICAgICAgICAgIEFuYWx5c2lzUmVzdWx0cy5mZXRjaCh0YXNrSWQpLnRoZW4odGhpcy5fZGlk
RmV0Y2hBbmFseXNpc1Jlc3VsdHMuYmluZCh0aGlzKSk7CiAgICAgICAgIH0gZWxzZSBpZiAoc3Rh
dGUuYnVpbGRSZXF1ZXN0KSB7CiAgICAgICAgICAgICB2YXIgYnVpbGRSZXF1ZXN0SWQgPSBwYXJz
ZUludChzdGF0ZS5idWlsZFJlcXVlc3QpOwotICAgICAgICAgICAgQW5hbHlzaXNUYXNrLmZldGNo
QnlCdWlsZFJlcXVlc3RJZChidWlsZFJlcXVlc3RJZCkudGhlbih0aGlzLl9kaWRGZXRjaFRhc2su
YmluZCh0aGlzKSkudGhlbihmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHNlbGYu
X3Rhc2spIHsKLSAgICAgICAgICAgICAgICAgICAgVGVzdEdyb3VwLmZldGNoQnlUYXNrKHNlbGYu
X3Rhc2suaWQoKSkudGhlbihzZWxmLl9kaWRGZXRjaFRlc3RHcm91cHMuYmluZChzZWxmKSk7Ci0g
ICAgICAgICAgICAgICAgICAgIEFuYWx5c2lzUmVzdWx0cy5mZXRjaChzZWxmLl90YXNrLmlkKCkp
LnRoZW4odGhpcy5fZGlkRmV0Y2hBbmFseXNpc1Jlc3VsdHMuYmluZCh0aGlzKSk7Ci0gICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgQW5hbHlzaXNUYXNrLmZldGNoQnlCdWlsZFJlcXVlc3RJ
ZChidWlsZFJlcXVlc3RJZCkudGhlbih0aGlzLl9kaWRGZXRjaFRhc2suYmluZCh0aGlzKSkudGhl
bihmdW5jdGlvbiAodGFzaykgeworICAgICAgICAgICAgICAgIFRlc3RHcm91cC5mZXRjaEJ5VGFz
ayh0YXNrLmlkKCkpLnRoZW4oc2VsZi5fZGlkRmV0Y2hUZXN0R3JvdXBzLmJpbmQoc2VsZikpOwor
ICAgICAgICAgICAgICAgIEFuYWx5c2lzUmVzdWx0cy5mZXRjaCh0YXNrLmlkKCkpLnRoZW4oc2Vs
Zi5fZGlkRmV0Y2hBbmFseXNpc1Jlc3VsdHMuYmluZChzZWxmKSk7CiAgICAgICAgICAgICB9LCBm
dW5jdGlvbiAoZXJyb3IpIHsKICAgICAgICAgICAgICAgICBzZWxmLl9lcnJvck1lc3NhZ2UgPSBg
RmFpbGVkIHRvIGZldGNoIHRoZSBhbmFseXNpcyB0YXNrIGZvciB0aGUgYnVpbGQgcmVxdWVzdCAk
e2J1aWxkUmVxdWVzdElkfTogJHtlcnJvcn1gOwogICAgICAgICAgICAgICAgIHNlbGYucmVuZGVy
KCk7CkBAIC02Niw2ICs2Nyw4IEBAIGNsYXNzIEFuYWx5c2lzVGFza1BhZ2UgZXh0ZW5kcyBQYWdl
V2l0aEgKIAogICAgIF9kaWRGZXRjaFRhc2sodGFzaykKICAgICB7CisgICAgICAgIGNvbnNvbGUu
YXNzZXJ0KCF0aGlzLl90YXNrKTsKKwogICAgICAgICB0aGlzLl90YXNrID0gdGFzazsKICAgICAg
ICAgdmFyIHBsYXRmb3JtID0gdGFzay5wbGF0Zm9ybSgpOwogICAgICAgICB2YXIgbWV0cmljID0g
dGFzay5tZXRyaWMoKTsKQEAgLTg1LDYgKzg4LDggQEAgY2xhc3MgQW5hbHlzaXNUYXNrUGFnZSBl
eHRlbmRzIFBhZ2VXaXRoSAogICAgICAgICB0aGlzLl9jaGFydFBhbmUuc2V0TWFpbkRvbWFpbihk
b21haW5bMF0sIGRvbWFpblsxXSk7CiAKICAgICAgICAgdGhpcy5yZW5kZXIoKTsKKworICAgICAg
ICByZXR1cm4gdGFzazsKICAgICB9CiAKICAgICBfZGlkRmV0Y2hNZWFzdXJlbWVudCgpCkBAIC0x
NDYsMjAgKzE1MSwyNSBAQCBjbGFzcyBBbmFseXNpc1Rhc2tQYWdlIGV4dGVuZHMgUGFnZVdpdGhI
CiAKICAgICAgICAgdGhpcy5jb250ZW50KCkucXVlcnlTZWxlY3RvcignLmVycm9yLW1lc3NhZ2Un
KS50ZXh0Q29udGVudCA9IHRoaXMuX2Vycm9yTWVzc2FnZSB8fCAnJzsKIAotICAgICAgICB2YXIg
djJVUkwgPSBgL3YyLyMvYW5hbHlzaXMvdGFzay8ke3RoaXMuX3Rhc2tJZH1gOwotICAgICAgICB0
aGlzLmNvbnRlbnQoKS5xdWVyeVNlbGVjdG9yKCcuZXJyb3ItbWVzc2FnZScpLmlubmVySFRNTCAr
PQotICAgICAgICAgICAgYDxwPlRvIHNjaGVkdWxlIGEgY3VzdG9tIEEvQiB0ZXN0aW5nLCB1c2Ug
PGEgaHJlZj0iJHt2MlVSTH0iPnYyIFVJPC9hPi48L3A+YDsKKyAgICAgICAgaWYgKHRoaXMuX3Rh
c2spIHsKKyAgICAgICAgICAgIHZhciB2MlVSTCA9IGAvdjIvIy9hbmFseXNpcy90YXNrLyR7dGhp
cy5fdGFzay5pZCgpfWA7CisgICAgICAgICAgICB0aGlzLmNvbnRlbnQoKS5xdWVyeVNlbGVjdG9y
KCcuZXJyb3ItbWVzc2FnZScpLmlubmVySFRNTCA9CisgICAgICAgICAgICAgICAgYDxwPlRvIHNj
aGVkdWxlIGEgY3VzdG9tIEEvQiB0ZXN0aW5nLCB1c2UgPGEgaHJlZj0iJHt2MlVSTH0iPnYyIFVJ
PC9hPi48L3A+YDsKKyAgICAgICAgfQogCi0gICAgICAgICB0aGlzLl9jaGFydFBhbmUucmVuZGVy
KCk7CisgICAgICAgIHRoaXMuX2NoYXJ0UGFuZS5yZW5kZXIoKTsKIAogICAgICAgICBpZiAodGhp
cy5fdGFzaykgewotICAgICAgICAgICAgdGhpcy5yZW5kZXJSZXBsYWNlKHRoaXMuY29udGVudCgp
LnF1ZXJ5U2VsZWN0b3IoJy5hbmFseXNpcy10YXNrLW5hbWUnKSwgdGhpcy5fdGFzay5uYW1lKCkp
OworICAgICAgICAgICAgdGhpcy5fdGFza05hbWVMYWJlbC5zZXRUZXh0KHRoaXMuX3Rhc2submFt
ZSgpKTsKICAgICAgICAgICAgIHZhciBwbGF0Zm9ybSA9IHRoaXMuX3Rhc2sucGxhdGZvcm0oKTsK
ICAgICAgICAgICAgIHZhciBtZXRyaWMgPSB0aGlzLl90YXNrLm1ldHJpYygpOwogICAgICAgICAg
ICAgdmFyIGFuY2hvciA9IHRoaXMuY29udGVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5wbGF0Zm9ybS1t
ZXRyaWMtbmFtZXMgYScpOwogICAgICAgICAgICAgdGhpcy5yZW5kZXJSZXBsYWNlKGFuY2hvciwg
bWV0cmljLmZ1bGxOYW1lKCkgKyAnIG9uICcgKyBwbGF0Zm9ybS5sYWJlbCgpKTsKICAgICAgICAg
ICAgIGFuY2hvci5ocmVmID0gdGhpcy5yb3V0ZXIoKS51cmwoJ2NoYXJ0cycsIENoYXJ0c1BhZ2Uu
Y3JlYXRlU3RhdGVGb3JBbmFseXNpc1Rhc2sodGhpcy5fdGFzaykpOwogICAgICAgICB9CisgICAg
ICAgIHRoaXMuY29udGVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5vdmVydmlldy1jaGFydCcpLnN0eWxl
LmRpc3BsYXkgPSB0aGlzLl90YXNrID8gbnVsbCA6ICdub25lJzsKKyAgICAgICAgdGhpcy5jb250
ZW50KCkucXVlcnlTZWxlY3RvcignLnRlc3QtZ3JvdXAtdmlldycpLnN0eWxlLmRpc3BsYXkgPSB0
aGlzLl90YXNrID8gbnVsbCA6ICdub25lJzsKKyAgICAgICAgdGhpcy5fdGFza05hbWVMYWJlbC5y
ZW5kZXIoKTsKIAogICAgICAgICB0aGlzLl9hbmFseXNpc1Jlc3VsdHNWaWV3ZXIuc2V0Q3VycmVu
dFRlc3RHcm91cCh0aGlzLl9jdXJyZW50VGVzdEdyb3VwKTsKICAgICAgICAgdGhpcy5fYW5hbHlz
aXNSZXN1bHRzVmlld2VyLnJlbmRlcigpOwpAQCAtMTY4LDE2ICsxNzgsMzQgQEAgY2xhc3MgQW5h
bHlzaXNUYXNrUGFnZSBleHRlbmRzIFBhZ2VXaXRoSAogICAgICAgICB2YXIgbGluayA9IENvbXBv
bmVudEJhc2UuY3JlYXRlTGluazsKICAgICAgICAgaWYgKHRoaXMuX3Rlc3RHcm91cHMgIT0gdGhp
cy5fcmVuZGVyZWRUZXN0R3JvdXBzKSB7CiAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlZFRlc3RH
cm91cHMgPSB0aGlzLl90ZXN0R3JvdXBzOworICAgICAgICAgICAgdGhpcy5fdGVzdEdyb3VwTGFi
ZWxNYXAuY2xlYXIoKTsKKwogICAgICAgICAgICAgdmFyIHNlbGYgPSB0aGlzOworICAgICAgICAg
ICAgdmFyIHVwZGF0ZVRlc3RHcm91cE5hbWUgPSB0aGlzLl91cGRhdGVUZXN0R3JvdXBOYW1lLmJp
bmQodGhpcyk7CisgICAgICAgICAgICB2YXIgc2hvd1Rlc3RHcm91cCA9IHRoaXMuX3Nob3dUZXN0
R3JvdXAuYmluZCh0aGlzKTsKKwogICAgICAgICAgICAgdGhpcy5yZW5kZXJSZXBsYWNlKHRoaXMu
Y29udGVudCgpLnF1ZXJ5U2VsZWN0b3IoJy50ZXN0LWdyb3VwLWxpc3QnKSwKICAgICAgICAgICAg
ICAgICB0aGlzLl90ZXN0R3JvdXBzLm1hcChmdW5jdGlvbiAoZ3JvdXApIHsKLSAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIGVsZW1lbnQoJ2xpJywge2NsYXNzOiAndGVzdC1ncm91cC1saXN0LScg
KyBncm91cC5pZCgpfSwgbGluayhncm91cC5sYWJlbCgpLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBzZWxmLl9zaG93VGVzdEdyb3VwKGdyb3VwKTsKLSAgICAgICAgICAg
ICAgICAgICAgfSkpOworICAgICAgICAgICAgICAgICAgICB2YXIgdGV4dCA9IG5ldyBFZGl0YWJs
ZVRleHQoZ3JvdXAubGFiZWwoKSk7CisgICAgICAgICAgICAgICAgICAgIHRleHQuc2V0U3RhcnRl
ZEVkaXRpbmdDYWxsYmFjayhmdW5jdGlvbiAoKSB7IHJldHVybiB0ZXh0LnJlbmRlcigpOyB9KTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dC5zZXRVcGRhdGVDYWxsYmFjayhmdW5jdGlvbiAoKSB7
IHJldHVybiB1cGRhdGVUZXN0R3JvdXBOYW1lKGdyb3VwKTsgfSk7CisKKyAgICAgICAgICAgICAg
ICAgICAgc2VsZi5fdGVzdEdyb3VwTGFiZWxNYXAuc2V0KGdyb3VwLCB0ZXh0KTsKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQoJ2xpJywge2NsYXNzOiAndGVzdC1ncm91cC1saXN0
LScgKyBncm91cC5pZCgpfSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGxpbmsodGV4dCwgZ3Jv
dXAubGFiZWwoKSwgZnVuY3Rpb24gKCkgeyBzaG93VGVzdEdyb3VwKGdyb3VwKTsgfSkpOwogICAg
ICAgICAgICAgICAgIH0pLnJldmVyc2UoKSk7CisKICAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVk
Q3VycmVudFRlc3RHcm91cCA9IG51bGw7CiAgICAgICAgIH0KIAorICAgICAgICBpZiAodGhpcy5f
dGVzdEdyb3VwcykgeworICAgICAgICAgICAgZm9yICh2YXIgdGVzdEdyb3VwIG9mIHRoaXMuX3Rl
c3RHcm91cHMpIHsKKyAgICAgICAgICAgICAgICB2YXIgbGFiZWwgPSB0aGlzLl90ZXN0R3JvdXBM
YWJlbE1hcC5nZXQodGVzdEdyb3VwKTsKKyAgICAgICAgICAgICAgICBsYWJlbC5zZXRUZXh0KHRl
c3RHcm91cC5sYWJlbCgpKTsKKyAgICAgICAgICAgICAgICBsYWJlbC5yZW5kZXIoKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfQorCiAgICAgICAgIGlmICh0aGlzLl9yZW5kZXJlZEN1cnJlbnRU
ZXN0R3JvdXAgIT09IHRoaXMuX2N1cnJlbnRUZXN0R3JvdXApIHsKICAgICAgICAgICAgIGlmICh0
aGlzLl9yZW5kZXJlZEN1cnJlbnRUZXN0R3JvdXApIHsKICAgICAgICAgICAgICAgICB2YXIgZWxl
bWVudCA9IHRoaXMuY29udGVudCgpLnF1ZXJ5U2VsZWN0b3IoJy50ZXN0LWdyb3VwLWxpc3QtJyAr
IHRoaXMuX3JlbmRlcmVkQ3VycmVudFRlc3RHcm91cC5pZCgpKTsKQEAgLTIyMiw2ICsyNTAsMzkg
QEAgY2xhc3MgQW5hbHlzaXNUYXNrUGFnZSBleHRlbmRzIFBhZ2VXaXRoSAogICAgICAgICB0aGlz
LnJlbmRlcigpOwogICAgIH0KIAorICAgIF9kaWRTdGFydEVkaXRpbmdUYXNrTmFtZSgpCisgICAg
eworICAgICAgICB0aGlzLl90YXNrTmFtZUxhYmVsLnJlbmRlcigpOworICAgIH0KKworICAgIF91
cGRhdGVUYXNrTmFtZSgpCisgICAgeworICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl90YXNr
KTsKKyAgICAgICAgdGhpcy5fdGFza05hbWVMYWJlbC5yZW5kZXIoKTsKKworICAgICAgICB2YXIg
c2VsZiA9IHRoaXM7CisgICAgICAgIHJldHVybiBzZWxmLl90YXNrLnVwZGF0ZU5hbWUoc2VsZi5f
dGFza05hbWVMYWJlbC5lZGl0ZWRUZXh0KCkpLnRoZW4oZnVuY3Rpb24gKCkgeworICAgICAgICAg
ICAgc2VsZi5yZW5kZXIoKTsKKyAgICAgICAgfSwgZnVuY3Rpb24gKGVycm9yKSB7CisgICAgICAg
ICAgICBzZWxmLnJlbmRlcigpOworICAgICAgICAgICAgYWxlcnQoJ0ZhaWxlZCB0byB1cGRhdGUg
dGhlIG5hbWU6ICcgKyBlcnJvcik7CisgICAgICAgIH0pOworICAgIH0KKworICAgIF91cGRhdGVU
ZXN0R3JvdXBOYW1lKHRlc3RHcm91cCkKKyAgICB7CisgICAgICAgIHZhciBsYWJlbCA9IHRoaXMu
X3Rlc3RHcm91cExhYmVsTWFwLmdldCh0ZXN0R3JvdXApOworICAgICAgICBsYWJlbC5yZW5kZXIo
KTsKKworICAgICAgICB2YXIgc2VsZiA9IHRoaXM7CisgICAgICAgIHJldHVybiB0ZXN0R3JvdXAu
dXBkYXRlTmFtZShsYWJlbC5lZGl0ZWRUZXh0KCkpLnRoZW4oZnVuY3Rpb24gKCkgeworICAgICAg
ICAgICAgc2VsZi5yZW5kZXIoKTsKKyAgICAgICAgfSwgZnVuY3Rpb24gKGVycm9yKSB7CisgICAg
ICAgICAgICBzZWxmLnJlbmRlcigpOworICAgICAgICAgICAgYWxlcnQoJ0ZhaWxlZCB0byB1cGRh
dGUgdGhlIG5hbWU6ICcgKyBlcnJvcik7CisgICAgICAgIH0pOworICAgIH0KKwogICAgIF9yZXRy
eUN1cnJlbnRUZXN0R3JvdXAoZXZlbnQpCiAgICAgewogICAgICAgICBldmVudC5wcmV2ZW50RGVm
YXVsdCgpOwpAQCAtMzA3LDcgKzM2OCw3IEBAIGNsYXNzIEFuYWx5c2lzVGFza1BhZ2UgZXh0ZW5k
cyBQYWdlV2l0aEgKICAgICAgICAgcmV0dXJuIGAKICAgICAgICAgPGRpdiBjbGFzcz0iYW5hbHlz
aXMtdGFzbC1wYWdlLWNvbnRhaW5lciI+CiAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbmFseXNp
cy10YXNsLXBhZ2UiPgotICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0iYW5hbHlzaXMtdGFzay1u
YW1lIj48L2gyPgorICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0iYW5hbHlzaXMtdGFzay1uYW1l
Ij48ZWRpdGFibGUtdGV4dD48L2VkaXRhYmxlLXRleHQ+PC9oMj4KICAgICAgICAgICAgICAgICA8
aDMgY2xhc3M9InBsYXRmb3JtLW1ldHJpYy1uYW1lcyI+PGEgaHJlZj0iIj48L2E+PC9oMz4KICAg
ICAgICAgICAgICAgICA8cCBjbGFzcz0iZXJyb3ItbWVzc2FnZSI+PC9wPgogICAgICAgICAgICAg
ICAgIDxkaXYgY2xhc3M9Im92ZXJ2aWV3LWNoYXJ0Ij48YW5hbHlzaXMtdGFzay1jaGFydC1wYW5l
PjwvYW5hbHlzaXMtdGFzay1jaGFydC1wYW5lPjwvZGl2PgpAQCAtNDI1LDExICs0ODYsMTEgQEAg
Y2xhc3MgQW5hbHlzaXNUYXNrUGFnZSBleHRlbmRzIFBhZ2VXaXRoSAogICAgICAgICAgICAgICAg
IGJvcmRlci1yaWdodDogbm9uZTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgLnRlc3Qt
Z3JvdXAtbGlzdCBsaSB7CisgICAgICAgICAgICAudGVzdC1ncm91cC1saXN0ID4gbGkgewogICAg
ICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAg
ICAudGVzdC1ncm91cC1saXN0IGEgeworICAgICAgICAgICAgLnRlc3QtZ3JvdXAtbGlzdCA+IGxp
ID4gYSB7CiAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICAgICAgICAg
Y29sb3I6IGluaGVyaXQ7CiAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwpA
QCAtNDM4LDExICs0OTksMTEgQEAgY2xhc3MgQW5hbHlzaXNUYXNrUGFnZSBleHRlbmRzIFBhZ2VX
aXRoSAogICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMnJlbTsKICAgICAgICAgICAgIH0KIAot
ICAgICAgICAgICAgLnRlc3QtZ3JvdXAtbGlzdCBsaS5zZWxlY3RlZCBhIHsKKyAgICAgICAgICAg
IC50ZXN0LWdyb3VwLWxpc3QgPiBsaS5zZWxlY3RlZCA+IGEgewogICAgICAgICAgICAgICAgIGJh
Y2tncm91bmQ6IHJnYmEoMjA0LCAxNTMsIDUxLCAwLjEpOwogICAgICAgICAgICAgfQogCi0gICAg
ICAgICAgICAudGVzdC1ncm91cC1saXN0IGxpOm5vdCguc2VsZWN0ZWQpIGE6aG92ZXIgeworICAg
ICAgICAgICAgLnRlc3QtZ3JvdXAtbGlzdCA+IGxpOm5vdCguc2VsZWN0ZWQpID4gYTpob3ZlciB7
CiAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2VlZTsKICAgICAgICAgICAgIH0KIAo=
</data>
<flag name="review"
          id="296062"
          type_id="1"
          status="+"
          setter="cdumez"
    />
          </attachment>
      

    </bug>

</bugzilla>