<?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>137857</bug_id>
          
          <creation_ts>2014-10-18 14:57:54 -0700</creation_ts>
          <short_desc>Perf dashboard should provide a way to associate bugs with a test run</short_desc>
          <delta_ts>2016-02-16 13:53:49 -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>
          
          
          <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>ggaren</cc>
    
    <cc>kling</cc>
    
    <cc>mjs</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1042642</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-10-18 14:57:54 -0700</bug_when>
    <thetext>It would be useful to be able to associate Bugzilla bugs and radar problems with a test run.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042649</commentid>
    <comment_count>1</comment_count>
      <attachid>240076</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-10-18 16:19:58 -0700</bug_when>
    <thetext>Created attachment 240076
Adds the feature</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043326</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-10-21 17:54:53 -0700</bug_when>
    <thetext>Committed r175006: &lt;http://trac.webkit.org/changeset/175006&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240076</attachid>
            <date>2014-10-18 16:19:58 -0700</date>
            <delta_ts>2014-10-20 17:57:31 -0700</delta_ts>
            <desc>Adds the feature</desc>
            <filename>bug-137857-20141018162004.patch</filename>
            <type>text/plain</type>
            <size>41273</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0ODY1CmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvQ2hhbmdlTG9nIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwpp
bmRleCBiOWRiNzM3YTBhMGM3MWM5YTdjMjBkYzg0NTE5OWVhYzc0MDQ1ZDgxLi45MDVjMmE5MDMy
ZmMwNmQyN2RlYjY3MjVmNTQxZDk5Nzg2MTM2NzA5IDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMTMgQEAKKzIwMTQtMTAtMTggIFJ5b3N1a2UgTml3YSAgPHJuaXdh
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUGVyZiBkYXNoYm9hcmQgc2hvdWxkIHByb3ZpZGUgYSB3
YXkgdG8gYXNzb2NpYXRlIGJ1Z3Mgd2l0aCBhIHRlc3QgcnVuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzc4NTcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBhICJwcml2aWxlZ2VkIiBBUEksIC9w
cml2aWxlZ2VkLWFwaS9hc3NvY2lhdGUtYnVnLCB0byBhc3NvY2lhdGUgYSBidWcgd2l0aCBhIHRl
c3QgcnVuLgorICAgICAgICAvcHJpdmlsZWdlZC1hcGkvIGlzIHRvIGJlIHByb3RlY3RlZCBieSBh
biBhdXRoZW50aWNhdGlvbiBtZWNoYW5pc20gc3VjaCBhcyBEaWdlc3RBdXRoIG92ZXIgaHR0cHMg
YnkKKyAgICAgICAgdGhlIEFwYWNoZSBjb25maWd1cmF0aW9uLgorCisKKyAgICAgICAgVGhlIENy
b3NzIFNpdGUgUmVxdWVzdCAoQ1NSRikgRm9yZ2VyeSBwcmV2ZW50aW9uIGZvciBwcml2aWxlZ2Vk
IEFQSXMgd29yayBhcyBmb2xsb3dzLiBXaGVuIGEgdXNlciBpcworICAgICAgICBhYm91dCB0byBt
YWtlIGEgcHJpdmlsZWdlZCBBUEkgYWNjZXNzLCB0aGUgZnJvbnQgZW5kIGNvZGUgb2J0YWlucyBh
IENTUkYgdG9rZW4gZ2VuZXJhdGVkIGJ5IFBPU1QnaW5nCisgICAgICAgIHRvIHByaXZpbGVnZWQt
YXBpL2dlbmVyYXRlLWNzcmYtdG9rZW47IHRoZSBwYWdlIHNldHMgYSByYW5kb21seSBnZW5lcmF0
ZWQgc2FsdCBhbmQgYW4gZXhwaXJhdGlvbiB0aW1lCisgICAgICAgIHZpYSB0aGUgY29va2llIGFu
ZCByZXR1cm5zIGEgdG9rZW4gY29tcHV0ZWQgZnJvbSB0aG9zZSB0d28gdmFsdWVzIGFzIHdlbGwg
YXMgdGhlIHJlbW90ZSB1c2VybmFtZS4KKworICAgICAgICBUaGUgZm9udCBlbmQgY29kZSB0aGVu
IFBPU1QncyB0aGUgcmVxdWVzdCBhbG9uZyB3aXRoIHRoZSByZXR1cm5lZCB0b2tlbi4gVGhlIHNl
cnZlciBzaWRlIGNvZGUgdmVyaWZpZXMKKyAgICAgICAgdGhhdCB0aGUgc3BlY2lmaWVkIHRva2Vu
IGNhbiBiZSBnZW5lcmF0ZWQgZnJvbSB0aGUgc2FsdCBhbmQgdGhlIGV4cGlyYXRpb24gdGltZSBz
ZXQgaW4gdGhlIGNvb2tpZSwgYW5kCisgICAgICAgIHRoZSB0b2tlbiBoYXNuJ3QgZXhwaXJlZC4K
KworCisgICAgICAgICogaW5pdC1kYXRhYmFzZS5zcWw6IEFkZGVkIGJ1Z191cmwgdG8gYnVnX3Ry
YWNrZXJzIHRhYmxlLCBhbmQgYWRkZWQgYnVncyB0YWJsZS4gRWFjaCBidWcgdHJhY2tlciB3aWxs
CisgICAgICAgIGhhdmUgemVybyBvciBleGFjdGx5IG9uZSBidWcgYXNzb2NpYXRlZCB3aXRoIGEg
dGVzdCBydW4uCisKKyAgICAgICAgKiBwdWJsaWMvYWRtaW4vYnVnLXRyYWNrZXJzLnBocDogQWRk
ZWQgdGhlIHN1cHBvcnQgZm9yIGVkaXRpbmcgYnVnX3VybC4KKyAgICAgICAgKiBwdWJsaWMvYXBp
L3J1bnMucGhwOgorICAgICAgICAoZmV0Y2hfcnVuc19mb3JfY29uZmlnKTogTW9kaWZpZWQgdGhl
IHF1ZXJ5IHRvIGZldGNoIGJ1Z3MgYXNzb2NpYXRlZCB3aXRoIHRlc3RfcnVucy4KKyAgICAgICAg
KHBhcnNlX2J1Z3NfYXJyYXkpOiBBZGRlZC4gUGFyc2VzIHRoZSBhZ2dyZWdhdGVkIGJ1Z3MgYW5k
IGNyZWF0ZXMgYSBkaWN0aW9uYXJ5IHRoYXQgbWFwcyBhIHRyYWNrZXIgaWQgdG8KKyAgICAgICAg
YW4gYXNzb2NpYXRlZCBidWcgaWYgdGhlcmUgaXMgb25lLgorICAgICAgICAoZm9ybWF0X3J1bik6
IENhbGxzIHBhcnNlX2J1Z3NfYXJyYXkuCisKKyAgICAgICAgKiBwdWJsaWMvaW5jbHVkZS9qc29u
LWhlYWRlci5waHA6IEFkZGVkIGhlbHBlciBmdW5jdGlvbnMgdG8gZGVhbCBmb3IgQ1NSRiBwcmV2
ZW50aW9uLgorICAgICAgICAoZW5zdXJlX3ByaXZpbGVnZWRfYXBpX2RhdGEpOiBBZGRlZC4gRGll
cyBpbW1lZGlhdGVseSBpZiB0aGUgcmVxdWVzdCdzIG1ldGhvZCBpcyBub3QgUE9TVCBvciBkb2Vz
bid0CisgICAgICAgIGhhdmUgYSB2YWxpZCBKU09OIHBheWxvYWQuCisgICAgICAgIChlbnN1cmVf
cHJpdmlsZWdlZF9hcGlfZGF0YV9hbmRfdG9rZW4pOiBEaXR0by4gQWxzbyBjaGVja3MgdGhhdCB0
aGUgQ1NSRiBwcmV2ZW50aW9uIHRva2VuIGlzIHZhbGlkLgorICAgICAgICAoY29tcHV0ZV90b2tl
bik6IENvbXB1dGVzIGEgQ1NSRiB0b2tlbiB1c2luZyB0aGUgUkVNT1RFX1VTRVIgKGUuZy4gc2V0
IHZpYSBCYXNpY0F1dGgpLCB0aGUgc2FsdCwgYW5kCisgICAgICAgIHRoZSBleHBpcmF0aW9uIHRp
bWUgc3RvcmVkIGluIHRoZSBjb29raWUuCisgICAgICAgICh2ZXJpZnlfdG9rZW4pOiBSZXR1cm5z
IHRydWUgaWZmIHRoZSBzcGVjaWZpZWQgdG9rZW4gbWF0Y2hlcyB3aGF0IGNvbXB1dGVfdG9rZW4g
cmV0dXJucyBmcm9tIHRoZSBjb29raWUuCisKKyAgICAgICAgKiBwdWJsaWMvaW5jbHVkZS9tYW5p
ZmVzdC5waHA6CisgICAgICAgIChNYW5pZmVzdEdlbmVyYXRvcjo6YnVnX3RyYWNrZXJzKTogSW5j
bHVkZSBidWdfdXJsIGFzIGJ1Z1VybCBpbiB0aGUgbWFuaWZlc3QuIEFsc28gdXNlIHRyYWNrZXJf
aWQgaW5zdGVhZAorICAgICAgICBvZiB0cmFja2VyX25hbWUgYXMgdGhlIGtleSBpbiB0aGUgbWFu
aWZlc3QuIFRoaXMgcmVxdWlyZXMgY2hhbmdlcyB0byBib3RoIHYxIGFuZCB2MiBmcm9udCBlbmQu
CisKKyAgICAgICAgKiBwdWJsaWMvaW5kZXguaHRtbDoKKyAgICAgICAgKENoYXJ0Li5zaG93VG9v
bHRpcFdpdGhSZXN1bHRzKTogVXBkYXRlZCBmb3IgdGhlIG1hbmlmZXN0IGZvcm1hdCBjaGFuZ2Vk
IG1lbnRpb25lZCBhYm92ZS4KKworICAgICAgICAqIHB1YmxpYy9wcml2aWxlZ2VkLWFwaS9hc3Nv
Y2lhdGUtYnVnLnBocDogQWRkZWQuCisgICAgICAgIChtYWluKTogQWRkZWQuIEFzc29jaWF0ZXMg
b3IgZGlzc29jaWF0ZXMgYSBidWcgd2l0aCBhIHRlc3QgcnVuIGluc2lkZSBhIHRyYW5zYWN0aW9u
LiBJdCBwcmV2ZW50IGEgQ1NSRgorICAgICAgICBhdHRhY2sgdmlhIGVuc3VyZV9wcml2aWxlZ2Vk
X2FwaV9kYXRhX2FuZF90b2tlbiwgd2hpY2ggY2FsbHMgdmVyaWZ5X3Rva2VuLgorCisgICAgICAg
ICogcHVibGljL3ByaXZpbGVnZWQtYXBpL2dlbmVyYXRlLWNzcmYtdG9rZW4ucGhwOiBBZGRlZC4g
R2VuZXJhdGVzIGEgQ1NSRiB0b2tlbiB2YWxpZCBmb3Igb25lIGhvdXIuCisKKyAgICAgICAgKiBw
dWJsaWMvdjIvYXBwLmNzczoKKyAgICAgICAgKC5kaXNhYmxlZCAuaWNvbi1idXR0b246aG92ZXIg
Zyk6IFVzZWQgYnkgdGhlICJidWdzIiBpY29uIHdoZW4gYSByYW5nZSBvZiBwb2ludHMgb3Igbm8g
cG9pbnRzIGFyZQorICAgICAgICBzZWxlY3RlZCBpbiBhIGNoYXJ0LgorCisgICAgICAgICogcHVi
bGljL3YyL2FwcC5qczoKKyAgICAgICAgKEFwcC5QYW5lQ29udHJvbGxlci5hY3Rpb25zLnRvZ2ds
ZUJ1Z3NQYW5lKTogQWRkZWQuIFRvZ2dsZXMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGJ1Z3MgcGFu
ZSB3aGVuIGV4YWN0bHkKKyAgICAgICAgb25lIHBvaW50IGlzIHNlbGVjdGVkIGluIHRoZSBjaGFy
dC4gQWxzbyBoaWRlcyB0aGUgc2VhcmNoIHBhbmUgd2hlbiBtYWtpbmcgdGhlIGJ1Z3MgcGFuZSB2
aXNpYmxlIHNpbmNlCisgICAgICAgIHRoZXkgd291bGQgb3ZlcmxhcCBvbiBlYWNoIG90aGVyIGlm
IGJvdGggb2YgdGhlbSBhcmUgc2hvd24uCisgICAgICAgIChBcHAuUGFuZUNvbnRyb2xsZXIuYWN0
aW9ucy5hc3NvY2lhdGVCdWcpOiBNYWtlcyBhIHByaXZpbGVnZWQgQVBJIHJlcXVlc3QgdG8gYXNz
b2NpYXRlIHRoZSBzcGVjaWZpZWQgYnVnCisgICAgICAgIHdpdGggdGhlIGN1cnJlbnRseSBzZWxl
Y3RlZCBwb2ludCAodGVzdCBydW4pLiBVcGRhdGVzIHRoZSBidWcgaW5mb3JtYXRpb24gaW4gImRl
dGFpbHMiIGFuZCBjb2xvcnMgb2YgZG90cworICAgICAgICBpbiB0aGUgY2hhcnRzIHRvIHJlZmxl
Y3QgbmV3IHN0YXRlcy4gQmVjYXVzZSBjaGFydCBkYXRhIG9iamVjdHMgYXJlbid0IHJlYWwgRW1i
ZXIgb2JqZWN0cyBmb3IgcGVyZm9ybWFuY2UKKyAgICAgICAgcmVhc29ucywgd2UgaGF2ZSB0byB1
c2UgYSBkaXJ0eSBoYWNrIG9mIG1vZGlmeWluZyBhIGR1bW15IGNvdW50ZXIgYnVnc0NoYW5nZUNv
dW50LgorICAgICAgICAoQXBwLlBhbmVDb250cm9sbGVyLmFjdGlvbnMudG9nZ2xlU2VhcmNoUGFu
ZSk6IFJlbmFtZWQgZnJvbSB0b2dnbGVTZWFyY2guIEFsc28gaGlkZXMgdGhlIGJ1Z3MgcGFuZSB3
aGVuCisgICAgICAgIHNob3dpbmcgdGhlIHNlYXJjaCBwYW5lLgorICAgICAgICAoQXBwLlBhbmVD
b250cm9sbGVyLmFjdGlvbnMucmFuZ2VDaGFuZ2VkKTogVGFrZXMgYWxsIHNlbGVjdGVkIHBvaW50
cyBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IGluc3RlYWQgb2YKKyAgICAgICAgdGFraW5nIHN0YXJ0
IGFuZCBlbmQgcG9pbnRzIGFzIHRoZSBzZWNvbmQgYW5kIHRoZSB0aGlyZCBhcmd1bWVudHMgc28g
dGhhdCBfc2hvd0RldGFpbHMgY2FuIGVudW1lcmF0ZSBhbGwKKyAgICAgICAgYnVncyBpbiB0aGUg
c2VsZWN0ZWQgcmFuZ2UuCisKKyAgICAgICAgKEFwcC5QYW5lQ29udHJvbGxlci5fZGV0YWlsc0No
YW5nZWQpOiBBZGRlZC4gSGlkZSB0aGUgYnVncyBwYW5lIHdoZW5ldmVyIGEgbmV3IHBvaW50IGlz
IHNlbGVjdGVkLgorICAgICAgICBBbHNvIHVwZGF0ZSBzaW5nbHlTZWxlY3RlZFBvaW50LCB3aGlj
aCBpcyB1c2VkIGJ5IHRvZ2dsZUJ1Z3NQYW5lIGFuZCBhc3NvY2lhdGVCdWcuCisgICAgICAgIChB
cHAuUGFuZUNvbnRyb2xsZXIuX2N1cnJlbnRJdGVtQ2hhbmdlZCk6IFVwZGF0ZWQgZm9yIHRoZSBf
c2hvd0RldGFpbHMgY2hhbmdlLgorICAgICAgICAoQXBwLlBhbmVDb250cm9sbGVyLl9zaG93RGV0
YWlscyk6IFRha2VzIGFuIGFycmF5IG9mIHNlbGVjdGVkIHBvaW50cyBpbiBwbGFjZSBvZiBvbGQg
YXJndW1lbnRzLgorICAgICAgICBTaW1wbGlmaWVkIHRoZSBjb2RlIHRvIGNvbXB1dGUgdGhlIHJl
dmlzaW9uIGluZm9ybWF0aW9uLiBDYWxscyBfdXBkYXRlQnVncyB0byBmb3JtYXQgdGhlIGFzc29j
aWF0ZWQgYnVncy4KKyAgICAgICAgKEFwcC5QYW5lQ29udHJvbGxlci5fdXBkYXRlQnVncyk6IFNl
dHMgZGV0YWlscy5idWdUcmFja2VycyB0byBhIGRpY3Rpb25hcnkgdGhhdCBtYXBzIGEgYnVnIHRy
YWNrZXIgaWQgdG8KKyAgICAgICAgYSBidWcgdHJhY2tlciBwcm94eSB3aXRoIGFuIGFycmF5IG9m
IChidWdOdW1iZXIsIGJ1Z1VybCkgcGFpcnMgYW5kIGFsc28gZWRpdGVkQnVnTnVtYmVyLCB3aGlj
aCBpcyB1c2VkIGJ5CisgICAgICAgIHRoZSBidWdzIHBhbmUgdG8gYXNzb2NpYXRlIG9yIGRpc3Nv
Y2lhdGUgYSBidWcgbnVtYmVyLCBpZiBleGFjdGx5IG9uZSBwb2ludCBpcyBzZWxlY3RlZC4KKwor
ICAgICAgICAoQXBwLkludGVyYWN0aXZlQ2hhcnRDb21wb25lbnQuX3VwZGF0ZURvdHNXaXRoQnVn
cyk6IEFkZGVkLiBTZXRzIGhhc0J1Z3MgY2xhc3Mgb24gZG90cyBhcyBuZWVkZWQuCisgICAgICAg
IChBcHAuSW50ZXJhY3RpdmVDaGFydENvbXBvbmVudC5fc2V0Q3VycmVudFNlbGVjdGlvbik6IEZp
bmRzIGFuZCBwYXNzZXMgYWxsIHBvaW50cyBpbiB0aGUgc2VsZWN0ZWQgcmFuZ2UKKyAgICAgICAg
dG8gc2VsZWN0aW9uQ2hhbmdlZCBhY3Rpb24gaW5zdGVhZCBvZiBqdXN0IGZpbmRpbmcgdGhlIGZp
cnN0IGFuZCB0aGUgbGFzdCBwb2ludHMuCisKKyAgICAgICAgKiBwdWJsaWMvdjIvY2hhcnQtcGFu
ZS5jc3M6IFVwZGF0ZWQgdGhlIHN0eWxlLgorCisgICAgICAgICogcHVibGljL3YyL2RhdGEuanM6
CisgICAgICAgIChQcml2aWxlZ2VkQVBJKTogQWRkZWQuIEEgd3JhcHBlciBmb3IgcHJpdmlsZWdl
ZCBBUElzJyBDU1JGIHRva2Vucy4KKyAgICAgICAgKFByaXZpbGVnZWRBUEkuc2VuZFJlcXVlc3Qp
OiBNYWtlcyBhIHByaXZpbGVnZWQgQVBJIGNhbGwuIEZldGNoZXMgYSBuZXcgQ1NSRiB0b2tlbiBp
ZiBuZWVkZWQuCisgICAgICAgIChQcml2aWxlZ2VkQVBJLl9nZW5lcmF0ZVRva2VuSW5TZXJ2ZXJJ
Zk5lZWRlZCk6IE1ha2VzIGEgcmVxdWVzdCB0byBwcml2aWxlZ2VkLWFwaS9nZW5lcmF0ZS1jc3Jm
LXRva2VuIGlmCisgICAgICAgIHdlIGhhdmVuJ3QgYWxyZWFkeSBvYnRhaW5lZCBhIENTUkYgdG9r
ZW4gb3IgaWYgdGhlIHRva2VuIGhhcyBhbHJlYWR5IGJlZW4gZXhwaXJlZC4KKyAgICAgICAgKFBy
aXZpbGVnZWRBUEkuX3Bvc3QpOiBNYWtlcyBhIHNpbmdsZSBQT1NUIHJlcXVlc3QgdG8gL3ByaXZp
bGVnZWQtYXBpLyogd2l0aCBhIEpTT04gcGF5bG9hZC4KKworICAgICAgICAoTWVhc3VyZW1lbnQu
cHJvdG90eXBlLmJ1Z3MpOiBBZGRlZC4KKyAgICAgICAgKE1lYXN1cmVtZW50LnByb3RvdHlwZS5o
YXNCdWdzKTogUmV0dXJucyB0cnVlIGlmZiBidWdzIGhhcyBtb3JlIHRoYW4gb25lIGJ1ZyBudW1i
ZXIuCisgICAgICAgIChNZWFzdXJlbWVudC5wcm90b3R5cGUuYXNzb2NpYXRlQnVnKTogQXNzb2Np
YXRlcyBhIGJ1ZyB3aXRoIGEgdGVzdCBydW4gdmlhIHByaXZpbGVnZWQtYXBpL2Fzc29jaWF0ZS1i
dWcuCisKKyAgICAgICAgKiBwdWJsaWMvdjIvaW5kZXguaHRtbDogQWRkZWQgdGhlIGJ1Z3MgcGFu
ZS4gQWxzbyBhZGRlZCBhIGxpc3Qgb2YgYnVncyBhc3NvY2lhdGVkIHdpdGggdGhlIGN1cnJlbnQg
cnVuIGluCisgICAgICAgIHRoZSBkZXRhaWxzLgorCisgICAgICAgICogcHVibGljL3YyL21hbmlm
ZXN0LmpzOgorICAgICAgICAoQXBwLkJ1Z1RyYWNrZXIuYnVnVXJsKToKKyAgICAgICAgKEFwcC5C
dWdUcmFja2VyLm5ld0J1Z1VybCk6IEFkZGVkLgorICAgICAgICAoQXBwLkJ1Z1RyYWNrZXIucmVw
b3NpdG9yaWVzKTogQWRkZWQuIFRoaXMgd2FzIGEgbWlzc2luZyBiYWNrIHJlZmVyZW5jZSB0byBy
ZXBvc2l0b3JpZXMuCisgICAgICAgIChBcHAuTWV0cmljU2VyaWFsaXplci5ub3JtYWxpemVQYXls
b2FkKTogTm93IHBhcnNlcy9sb2FkcyB0aGUgbGlzdCBvZiBidWcgdHJhY2tlcnMgZnJvbSB0aGUg
bWFuaWZlc3QuCisgICAgICAgIChBcHAuTWFuaWZlc3QucmVwb3NpdG9yaWVzV2l0aFJlcG9ydGVk
Q29tbWl0cyk6IE5vdyBpbml0aWFsaXplZCB0byBhbiBlbXB0eSBhcnJheSBpbnN0ZWFkIG9mIG51
bGwuCisgICAgICAgIChBcHAuTWFuaWZlc3QuYnVnVHJhY2tlcnMpOiBBZGRlZC4KKyAgICAgICAg
KEFwcC5NYW5pZmVzdC5fZmV0Y2hlZE1hbmlmZXN0KTogU2V0cyBBcHAuTWFuaWZlc3QuYnVnVHJh
Y2tlcnMuIEFsc28gc29ydHMgdGhlIGxpc3Qgb2YgcmVwb3NpdG9yaWVzIGJ5CisgICAgICAgIHRo
ZWlyIHJlc3BlY3RpdmUgaWRzIHRvIG1ha2UgdGhlIG9yZGVyaW5nIHN0YWJsZS4KKwogMjAxNC0x
MC0xNCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUg
dW51c2VkIGpvYnMgdGFibGUKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9p
bml0LWRhdGFiYXNlLnNxbCBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9pbml0LWRhdGFiYXNl
LnNxbAppbmRleCA3NDNmNDhkNGM5NTU1ZGQwNTZmM2NjZTBkNmI1YTNmMjg0OThhNGRhLi5lNTI3
YWIwYWM4NDA3NmFiN2MwZTkzMWFmZjI2NzQ1NmVkZmJjNDMzIDEwMDY0NAotLS0gYS9XZWJzaXRl
cy9wZXJmLndlYmtpdC5vcmcvaW5pdC1kYXRhYmFzZS5zcWwKKysrIGIvV2Vic2l0ZXMvcGVyZi53
ZWJraXQub3JnL2luaXQtZGF0YWJhc2Uuc3FsCkBAIC0yOSw2ICsyOSw3IEBAIENSRUFURSBUQUJM
RSByZXBvc2l0b3JpZXMgKAogQ1JFQVRFIFRBQkxFIGJ1Z190cmFja2VycyAoCiAgICAgdHJhY2tl
cl9pZCBzZXJpYWwgUFJJTUFSWSBLRVksCiAgICAgdHJhY2tlcl9uYW1lIHZhcmNoYXIoNjQpIE5P
VCBOVUxMLAorICAgIHRyYWNrZXJfYnVnX3VybCB2YXJjaGFyKDEwMjQpLAogICAgIHRyYWNrZXJf
bmV3X2J1Z191cmwgdmFyY2hhcigxMDI0KSk7CiAKIENSRUFURSBUQUJMRSB0cmFja2VyX3JlcG9z
aXRvcmllcyAoCkBAIC0xMjgsMyArMTI5LDEyIEBAIENSRUFURSBUQUJMRSByZXBvcnRzICgKICAg
ICByZXBvcnRfY29udGVudCB0ZXh0LAogICAgIHJlcG9ydF9mYWlsdXJlIHZhcmNoYXIoNjQpLAog
ICAgIHJlcG9ydF9mYWlsdXJlX2RldGFpbHMgdGV4dCk7CisKK0NSRUFURSBUQUJMRSBidWdzICgK
KyAgICBidWdfaWQgc2VyaWFsIFBSSU1BUlkgS0VZLAorICAgIGJ1Z19ydW4gaW50ZWdlciBSRUZF
UkVOQ0VTIHRlc3RfcnVucyBOT1QgTlVMTCwKKyAgICBidWdfdHJhY2tlciBpbnRlZ2VyIFJFRkVS
RU5DRVMgYnVnX3RyYWNrZXJzIE5PVCBOVUxMLAorICAgIGJ1Z19udW1iZXIgaW50ZWdlciBOT1Qg
TlVMTCwKKyAgICBDT05TVFJBSU5UIGJ1Z190cmFja2VyX2FuZF9ydW5fbXVzdF9iZV91bmlxdWUg
VU5JUVVFKGJ1Z190cmFja2VyLCBidWdfcnVuKSk7CitDUkVBVEUgSU5ERVggYnVnc190cmFja2Vy
X251bWJlcl9pbmRleCBPTiBidWdzKGJ1Z190cmFja2VyLCBidWdfbnVtYmVyKTsKK0NSRUFURSBJ
TkRFWCBidWdzX3J1bl9pbmRleCBPTiBidWdzKGJ1Z19ydW4pOwpkaWZmIC0tZ2l0IGEvV2Vic2l0
ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9hZG1pbi9idWctdHJhY2tlcnMucGhwIGIvV2Vic2l0
ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9hZG1pbi9idWctdHJhY2tlcnMucGhwCmluZGV4IGIy
NWNkNjNjMzkxOWM2MjM0NDQ1ZWJmMWVkM2JjNWJhYTQzNDY1YjIuLmI3MDRlNTE0YzBhNTQ0NjY3
N2MzYzdlYmNhYWIyMzg5Zjc4YjE0ZTkgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0
Lm9yZy9wdWJsaWMvYWRtaW4vYnVnLXRyYWNrZXJzLnBocAorKysgYi9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvcHVibGljL2FkbWluL2J1Zy10cmFja2Vycy5waHAKQEAgLTExLDcgKzExLDkgQEAg
aWYgKCRkYikgewogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIG5vdGljZSgnQ291bGQgbm90
IGFkZCB0aGUgYnVnIHRyYWNrZXIuJyk7CiAgICAgfSBlbHNlIGlmICgkYWN0aW9uID09ICd1cGRh
dGUnKSB7Ci0gICAgICAgIGlmICh1cGRhdGVfZmllbGQoJ2J1Z190cmFja2VycycsICd0cmFja2Vy
JywgJ25hbWUnKSB8fCB1cGRhdGVfZmllbGQoJ2J1Z190cmFja2VycycsICd0cmFja2VyJywgJ25l
d19idWdfdXJsJykpCisgICAgICAgIGlmICh1cGRhdGVfZmllbGQoJ2J1Z190cmFja2VycycsICd0
cmFja2VyJywgJ25hbWUnKQorICAgICAgICAgICAgfHwgdXBkYXRlX2ZpZWxkKCdidWdfdHJhY2tl
cnMnLCAndHJhY2tlcicsICdidWdfdXJsJykKKyAgICAgICAgICAgIHx8IHVwZGF0ZV9maWVsZCgn
YnVnX3RyYWNrZXJzJywgJ3RyYWNrZXInLCAnbmV3X2J1Z191cmwnKSkKICAgICAgICAgICAgIHJl
Z2VuZXJhdGVfbWFuaWZlc3QoKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgbm90aWNlKCdJ
bnZhbGlkIHBhcmFtZXRlcnMuJyk7CkBAIC02Myw2ICs2NSw3IEBAIEVORDsKIAogICAgICRwYWdl
ID0gbmV3IEFkbWluaXN0cmF0aXZlUGFnZSgkZGIsICdidWdfdHJhY2tlcnMnLCAndHJhY2tlcics
IGFycmF5KAogICAgICAgICAnbmFtZScgPT4gYXJyYXkoJ2VkaXRpbmdfbW9kZScgPT4gJ3N0cmlu
ZycpLAorICAgICAgICAnYnVnX3VybCcgPT4gYXJyYXkoJ2VkaXRpbmdfbW9kZScgPT4gJ3VybCcs
ICdsYWJlbCcgPT4gJ0J1ZyBVUkwgKCRudW1iZXIpJyksCiAgICAgICAgICduZXdfYnVnX3VybCcg
PT4gYXJyYXkoJ2VkaXRpbmdfbW9kZScgPT4gJ3RleHQnLCAnbGFiZWwnID0+ICdOZXcgQnVnIFVS
TCAoJHRpdGxlLCAkZGVzY3JpcHRpb24pJyksCiAgICAgICAgICdBc3NvY2lhdGVkIHJlcG9zaXRv
cmllcycgPT4gYXJyYXkoJ2N1c3RvbScgPT4gZnVuY3Rpb24gKCRyb3cpIHsgcmV0dXJuIGFzc29j
aWF0ZWRfcmVwb3NpdG9yaWVzKCRyb3cpOyB9KSwKICAgICApKTsKZGlmZiAtLWdpdCBhL1dlYnNp
dGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvYXBpL3J1bnMucGhwIGIvV2Vic2l0ZXMvcGVyZi53
ZWJraXQub3JnL3B1YmxpYy9hcGkvcnVucy5waHAKaW5kZXggYTA1OTg0OGY1OTE0NjMwZTU1MzAx
ZmY0ZDliMzNjODYyYzk4NDRjYi4uZmY1NzY2Yjc5OGY0ZjUxZTY4OGRlYmM0NDFlNDQ1MDdmNDU1
Y2E5ZiAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9hcGkvcnVu
cy5waHAKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9hcGkvcnVucy5waHAK
QEAgLTMwLDEwICszMCwxNCBAQCBpZiAoJHJlcG9zaXRvcnlfdGFibGUgPSAkZGItPmZldGNoX3Rh
YmxlKCdyZXBvc2l0b3JpZXMnKSkgewogCiBmdW5jdGlvbiBmZXRjaF9ydW5zX2Zvcl9jb25maWco
JGRiLCAkY29uZmlnKSB7CiAgICAgJHJhd19ydW5zID0gJGRiLT5xdWVyeV9hbmRfZmV0Y2hfYWxs
KCcKLSAgICBTRUxFQ1QgdGVzdF9ydW5zLiosIGJ1aWxkcy4qLCBhcnJheV9hZ2coKGNvbW1pdF9y
ZXBvc2l0b3J5LCBjb21taXRfcmV2aXNpb24sIGNvbW1pdF90aW1lKSkgQVMgcmV2aXNpb25zCi0g
ICAgICAgIEZST00gYnVpbGRzIExFRlQgT1VURVIgSk9JTiBidWlsZF9jb21taXRzIE9OIGNvbW1p
dF9idWlsZCA9IGJ1aWxkX2lkIExFRlQgT1VURVIgSk9JTiBjb21taXRzIE9OIGJ1aWxkX2NvbW1p
dCA9IGNvbW1pdF9pZCwgdGVzdF9ydW5zCi0gICAgICAgIFdIRVJFIHJ1bl9idWlsZCA9IGJ1aWxk
X2lkIEFORCBydW5fY29uZmlnID0gJDEKLSAgICAgICAgR1JPVVAgQlkgYnVpbGRfaWQsIHJ1bl9p
ZCcsIGFycmF5KCRjb25maWdbJ2NvbmZpZ19pZCddKSk7CisgICAgICAgIFNFTEVDVCB0ZXN0X3J1
bnMuKiwgYnVpbGRzLiosIGFycmF5X2FnZygoY29tbWl0X3JlcG9zaXRvcnksIGNvbW1pdF9yZXZp
c2lvbiwgY29tbWl0X3RpbWUpKSBBUyByZXZpc2lvbnMKKyAgICAgICAgICAgIEZST00gYnVpbGRz
IExFRlQgT1VURVIgSk9JTiBidWlsZF9jb21taXRzIE9OIGNvbW1pdF9idWlsZCA9IGJ1aWxkX2lk
CisgICAgICAgICAgICAgICAgTEVGVCBPVVRFUiBKT0lOIGNvbW1pdHMgT04gYnVpbGRfY29tbWl0
ID0gY29tbWl0X2lkLAorICAgICAgICAgICAgICAgIChTRUxFQ1QgdGVzdF9ydW5zLiosIGFycmF5
X2FnZygoYnVnX3RyYWNrZXIsIGJ1Z19udW1iZXIpKSBBUyBidWdzCisgICAgICAgICAgICAgICAg
ICAgIEZST00gdGVzdF9ydW5zIExFRlQgT1VURVIgSk9JTiBidWdzIE9OIGJ1Z19ydW4gPSBydW5f
aWQgV0hFUkUgcnVuX2NvbmZpZyA9ICQxIEdST1VQIEJZIHJ1bl9pZCkgYXMgdGVzdF9ydW5zCisg
ICAgICAgICAgICAgICAgV0hFUkUgcnVuX2J1aWxkID0gYnVpbGRfaWQKKyAgICAgICAgICAgICAg
ICBHUk9VUCBCWSBydW5faWQsIHJ1bl9jb25maWcsIHJ1bl9idWlsZCwgcnVuX21lYW5fY2FjaGUs
IHJ1bl9pdGVyYXRpb25fY291bnRfY2FjaGUsCisgICAgICAgICAgICAgICAgICAgIHJ1bl9zdW1f
Y2FjaGUsIHJ1bl9zcXVhcmVfc3VtX2NhY2hlLCBidWdzLCBidWlsZF9pZCcsIGFycmF5KCRjb25m
aWdbJ2NvbmZpZ19pZCddKSk7CiAKICAgICAkZm9ybWF0dGVkX3J1bnMgPSBhcnJheSgpOwogICAg
IGlmICghJHJhd19ydW5zKQpAQCAtNjIsNiArNjYsMTkgQEAgZnVuY3Rpb24gcGFyc2VfcmV2aXNp
b25zX2FycmF5KCRwb3N0Z3Jlc19hcnJheSkgewogICAgIHJldHVybiAkcmV2aXNpb25zOwogfQog
CitmdW5jdGlvbiBwYXJzZV9idWdzX2FycmF5KCRwb3N0Z3Jlc19hcnJheSkgeworICAgIC8vIGUu
Zy4geyIoMSAvKiBCdWd6aWxsYSAqLywgMTIzNDUpIiwiKDIgLyogUmFkYXIgKi8sIDY3ODkwKSJ9
CisgICAgJG91dGVyX2FycmF5ID0ganNvbl9kZWNvZGUoJ1snIC4gdHJpbSgkcG9zdGdyZXNfYXJy
YXksICd7fScpIC4gJ10nKTsKKyAgICAkYnVncyA9IGFycmF5KCk7CisgICAgZm9yZWFjaCAoJG91
dGVyX2FycmF5IGFzICRpdGVtKSB7CisgICAgICAgICRyYXdfZGF0YSA9IGV4cGxvZGUoJywnLCB0
cmltKCRpdGVtLCAnKCknKSk7CisgICAgICAgIGlmICghJHJhd19kYXRhWzBdKQorICAgICAgICAg
ICAgY29udGludWU7CisgICAgICAgICRidWdzW3RyaW0oJHJhd19kYXRhWzBdLCAnIicpXSA9IHRy
aW0oJHJhd19kYXRhWzFdLCAnIicpOworICAgIH0KKyAgICByZXR1cm4gJGJ1Z3M7Cit9CisKIGZ1
bmN0aW9uIGZvcm1hdF9ydW4oJHJ1bikgewogICAgIHJldHVybiBhcnJheSgKICAgICAgICAgJ2lk
JyA9PiBpbnR2YWwoJHJ1blsncnVuX2lkJ10pLApAQCAtNzAsNiArODcsNyBAQCBmdW5jdGlvbiBm
b3JtYXRfcnVuKCRydW4pIHsKICAgICAgICAgJ3N1bScgPT4gZmxvYXR2YWwoJHJ1blsncnVuX3N1
bV9jYWNoZSddKSwKICAgICAgICAgJ3NxdWFyZVN1bScgPT4gZmxvYXR2YWwoJHJ1blsncnVuX3Nx
dWFyZV9zdW1fY2FjaGUnXSksCiAgICAgICAgICdyZXZpc2lvbnMnID0+IHBhcnNlX3JldmlzaW9u
c19hcnJheSgkcnVuWydyZXZpc2lvbnMnXSksCisgICAgICAgICdidWdzJyA9PiBwYXJzZV9idWdz
X2FycmF5KCRydW5bJ2J1Z3MnXSksCiAgICAgICAgICdidWlsZFRpbWUnID0+IHN0cnRvdGltZSgk
cnVuWydidWlsZF90aW1lJ10pICogMTAwMCwKICAgICAgICAgJ2J1aWxkTnVtYmVyJyA9PiBpbnR2
YWwoJHJ1blsnYnVpbGRfbnVtYmVyJ10pLAogICAgICAgICAnYnVpbGRlcicgPT4gJHJ1blsnYnVp
bGRfYnVpbGRlciddKTsKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJs
aWMvaW5jbHVkZS9qc29uLWhlYWRlci5waHAgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVi
bGljL2luY2x1ZGUvanNvbi1oZWFkZXIucGhwCmluZGV4IGZjZDI1OTgzMDU4NWU5MmU0MDFiMmQy
NzE2ZTU3MWMyMzA4ZDdjOTkuLjM1MDQzMTk0NDVkOTUwNTE5NTFjMmNmOTFjN2M3YWIwZmViOWNk
ZjQgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvaW5jbHVkZS9q
c29uLWhlYWRlci5waHAKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9pbmNs
dWRlL2pzb24taGVhZGVyLnBocApAQCAtNjksNCArNjksNDIgQEAgZnVuY3Rpb24gcmVxdWlyZV9l
eGlzdGVuY2Vfb2YoJGFycmF5LCAkbGlzdF9vZl9hcmd1bWVudHMsICRwcmVmaXggPSAnJykgewog
ICAgIH0KIH0KIAorZnVuY3Rpb24gZW5zdXJlX3ByaXZpbGVnZWRfYXBpX2RhdGEoKSB7CisgICAg
Z2xvYmFsICRIVFRQX1JBV19QT1NUX0RBVEE7CisKKyAgICBpZiAoJF9TRVJWRVJbJ1JFUVVFU1Rf
TUVUSE9EJ10gIT0gJ1BPU1QnKQorICAgICAgICBleGl0X3dpdGhfZXJyb3IoJ0ludmFsaWRSZXF1
ZXN0TWV0aG9kJyk7CisKKyAgICBpZiAoIWlzc2V0KCRIVFRQX1JBV19QT1NUX0RBVEEpKQorICAg
ICAgICBleGl0X3dpdGhfZXJyb3IoJ0ludmFsaWRSZXF1ZXN0Q29udGVudCcpOworCisgICAgJGRh
dGEgPSBqc29uX2RlY29kZSgkSFRUUF9SQVdfUE9TVF9EQVRBLCB0cnVlKTsKKworICAgIGlmICgk
ZGF0YSA9PT0gTlVMTCkKKyAgICAgICAgZXhpdF93aXRoX2Vycm9yKCdJbnZhbGlkUmVxdWVzdENv
bnRlbnQnKTsKKworICAgIHJldHVybiAkZGF0YTsKK30KKworZnVuY3Rpb24gZW5zdXJlX3ByaXZp
bGVnZWRfYXBpX2RhdGFfYW5kX3Rva2VuKCkgeworICAgICRkYXRhID0gZW5zdXJlX3ByaXZpbGVn
ZWRfYXBpX2RhdGEoKTsKKyAgICBpZiAoIXZlcmlmeV90b2tlbihhcnJheV9nZXQoJGRhdGEsICd0
b2tlbicpKSkKKyAgICAgICAgZXhpdF93aXRoX2Vycm9yKCdJbnZhbGlkVG9rZW4nKTsKKyAgICBy
ZXR1cm4gJGRhdGE7Cit9CisKK2Z1bmN0aW9uIGNvbXB1dGVfdG9rZW4oKSB7CisgICAgaWYgKCFh
cnJheV9rZXlfZXhpc3RzKCdDU1JGU2FsdCcsICRfQ09PS0lFKSB8fCAhYXJyYXlfa2V5X2V4aXN0
cygnQ1NSRkV4cGlyYXRpb24nLCAkX0NPT0tJRSkpCisgICAgICAgIHJldHVybiBOVUxMOworICAg
ICR1c2VyID0gYXJyYXlfZ2V0KCRfU0VSVkVSLCAnUkVNT1RFX1VTRVInKTsKKyAgICAkc2FsdCA9
ICRfQ09PS0lFWydDU1JGU2FsdCddOworICAgICRleHBpcmF0aW9uID0gJF9DT09LSUVbJ0NTUkZF
eHBpcmF0aW9uJ107CisgICAgcmV0dXJuIGhhc2goJ3NoYTI1NicsICIkc2FsdHwkdXNlcnwkZXhw
aXJhdGlvbiIpOworfQorCitmdW5jdGlvbiB2ZXJpZnlfdG9rZW4oJHRva2VuKSB7CisgICAgJGV4
cGVjdGVkX3Rva2VuID0gY29tcHV0ZV90b2tlbigpOworICAgIHJldHVybiAkZXhwZWN0ZWRfdG9r
ZW4gJiYgJHRva2VuID09ICRleHBlY3RlZF90b2tlbiAmJiAkX0NPT0tJRVsnQ1NSRkV4cGlyYXRp
b24nXSA+IHRpbWUoKTsKK30KKwogPz4KZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0
Lm9yZy9wdWJsaWMvaW5jbHVkZS9tYW5pZmVzdC5waHAgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5v
cmcvcHVibGljL2luY2x1ZGUvbWFuaWZlc3QucGhwCmluZGV4IDI2OWIzYTg0YzhkOGI3YmNlNWFk
YzhlZTEwM2QzYjQxMGIzMTRkZmUuLjQ2NzhlOTVkYmE4YTA3NDg2YTk4YWI3YjgzZGU0MzcwMjg5
YzE1MDAgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvaW5jbHVk
ZS9tYW5pZmVzdC5waHAKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9pbmNs
dWRlL21hbmlmZXN0LnBocApAQCAtMTM5LDcgKzEzOSwxMCBAQCBjbGFzcyBNYW5pZmVzdEdlbmVy
YXRvciB7CiAgICAgICAgICRidWdfdHJhY2tlcnNfdGFibGUgPSAkdGhpcy0+ZGItPmZldGNoX3Rh
YmxlKCdidWdfdHJhY2tlcnMnKTsKICAgICAgICAgaWYgKCRidWdfdHJhY2tlcnNfdGFibGUpIHsK
ICAgICAgICAgICAgIGZvcmVhY2ggKCRidWdfdHJhY2tlcnNfdGFibGUgYXMgJHJvdykgewotICAg
ICAgICAgICAgICAgICRidWdfdHJhY2tlcnNbJHJvd1sndHJhY2tlcl9uYW1lJ11dID0gYXJyYXko
J25ld0J1Z1VybCcgPT4gJHJvd1sndHJhY2tlcl9uZXdfYnVnX3VybCddLAorICAgICAgICAgICAg
ICAgICRidWdfdHJhY2tlcnNbJHJvd1sndHJhY2tlcl9pZCddXSA9IGFycmF5KAorICAgICAgICAg
ICAgICAgICAgICAnbmFtZScgPT4gJHJvd1sndHJhY2tlcl9uYW1lJ10sCisgICAgICAgICAgICAg
ICAgICAgICdidWdVcmwnID0+ICRyb3dbJ3RyYWNrZXJfYnVnX3VybCddLAorICAgICAgICAgICAg
ICAgICAgICAnbmV3QnVnVXJsJyA9PiAkcm93Wyd0cmFja2VyX25ld19idWdfdXJsJ10sCiAgICAg
ICAgICAgICAgICAgICAgICdyZXBvc2l0b3JpZXMnID0+ICR0cmFja2VyX2lkX3RvX3JlcG9zaXRv
cmllc1skcm93Wyd0cmFja2VyX2lkJ11dKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpkaWZm
IC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9pbmRleC5odG1sIGIvV2Vi
c2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9pbmRleC5odG1sCmluZGV4IGRkOGI4YWUyNDky
YzU1NTQ1MTU3YTcyOTBmYjQwYTI0NzBjMjQwMTYuLmIzN2MyNzEyOTMxNmE1NDYxMmQ5M2E0MTQy
MGJhZjc4MjViYTdlY2MgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJs
aWMvaW5kZXguaHRtbAorKysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL2luZGV4
Lmh0bWwKQEAgLTYzNCw4ICs2MzQsOSBAQCB0ZCwgdGggewogICAgICAgICAgICAgICAgICAgICAr
ICcgYXJvdW5kICcgKyByZXN1bHQuYnVpbGQoKS5mb3JtYXR0ZWRUaW1lKCk7CiAgICAgICAgICAg
ICAgICAgdmFyIHJldmlzaW9ucyA9IHJlc3VsdC5idWlsZCgpLmZvcm1hdHRlZFJldmlzaW9ucyhy
ZXN1bHRUb0NvbXBhcmUuYnVpbGQoKSk7CiAKLSAgICAgICAgICAgICAgICBmb3IgKHZhciB0cmFj
a2VyTmFtZSBpbiBidWdUcmFja2VycykgewotICAgICAgICAgICAgICAgICAgICB2YXIgcmVwb3Np
dG9yaWVzID0gYnVnVHJhY2tlcnNbdHJhY2tlck5hbWVdLnJlcG9zaXRvcmllczsKKyAgICAgICAg
ICAgICAgICBmb3IgKHZhciB0cmFja2VySWQgaW4gYnVnVHJhY2tlcnMpIHsKKyAgICAgICAgICAg
ICAgICAgICAgdmFyIHRyYWNrZXIgPSBidWdUcmFja2Vyc1t0cmFja2VySWRdOworICAgICAgICAg
ICAgICAgICAgICB2YXIgcmVwb3NpdG9yaWVzID0gdHJhY2tlci5yZXBvc2l0b3JpZXM7CiAgICAg
ICAgICAgICAgICAgICAgIHZhciBkZXNjcmlwdGlvbiA9ICdQbGF0Zm9ybTogJyArIHJlc3VsdC5i
dWlsZCgpLnBsYXRmb3JtKCkubmFtZSArICdcblxuJzsKICAgICAgICAgICAgICAgICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCByZXBvc2l0b3JpZXMubGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAg
ICAgICAgICAgICAgIHZhciByZXBvc2l0b3J5TmFtZSA9IHJlcG9zaXRvcmllc1tpXTsKQEAgLTY0
OCwxMyArNjQ5LDEzIEBAIHRkLCB0aCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVz
Y3JpcHRpb24gKz0gcmV2aXNpb24ubGFiZWw7CiAgICAgICAgICAgICAgICAgICAgICAgICBkZXNj
cmlwdGlvbiArPSAnXG4nOwogICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
ICAgIHZhciB1cmwgPSBidWdUcmFja2Vyc1t0cmFja2VyTmFtZV0ubmV3QnVnVXJsCisgICAgICAg
ICAgICAgICAgICAgIHZhciB1cmwgPSB0cmFja2VyLm5ld0J1Z1VybAogICAgICAgICAgICAgICAg
ICAgICAgICAgLnJlcGxhY2UoL1wkdGl0bGUvZywgZW5jb2RlVVJJQ29tcG9uZW50KHRpdGxlKSkK
ICAgICAgICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cJGRlc2NyaXB0aW9uL2csIGVuY29k
ZVVSSUNvbXBvbmVudChkZXNjcmlwdGlvbikpCiAgICAgICAgICAgICAgICAgICAgICAgICAucmVw
bGFjZSgvXCRsaW5rL2csIGVuY29kZVVSSUNvbXBvbmVudChsb2NhdGlvbi5ocmVmKSk7CiAgICAg
ICAgICAgICAgICAgICAgIGlmIChuZXdCdWdVcmxzKQogICAgICAgICAgICAgICAgICAgICAgICAg
bmV3QnVnVXJscyArPSAnLCc7Ci0gICAgICAgICAgICAgICAgICAgIG5ld0J1Z1VybHMgKz0gJyA8
YSBocmVmPSInICsgdXJsICsgJyIgdGFyZ2V0PSJfYmxhbmsiPicgKyB0cmFja2VyTmFtZSArICc8
L2E+JzsKKyAgICAgICAgICAgICAgICAgICAgbmV3QnVnVXJscyArPSAnIDxhIGhyZWY9IicgKyB1
cmwgKyAnIiB0YXJnZXQ9Il9ibGFuayI+JyArIHRyYWNrZXIubmFtZSArICc8L2E+JzsKICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgbmV3QnVnVXJscyA9ICdGaWxlOicgKyBuZXdC
dWdVcmxzOwogICAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQu
b3JnL3B1YmxpYy9wcml2aWxlZ2VkLWFwaS9hc3NvY2lhdGUtYnVnLnBocCBiL1dlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy9wdWJsaWMvcHJpdmlsZWdlZC1hcGkvYXNzb2NpYXRlLWJ1Zy5waHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjczNDAwNTVkOWY3ZDE5ZjEzYjk2ZjNlNTU4MmUwYzE5MTgzYTUzZgotLS0gL2Rl
di9udWxsCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvcHJpdmlsZWdlZC1h
cGkvYXNzb2NpYXRlLWJ1Zy5waHAKQEAgLTAsMCArMSwzOSBAQAorPD9waHAKKworcmVxdWlyZV9v
bmNlKCcuLi9pbmNsdWRlL2pzb24taGVhZGVyLnBocCcpOworCitmdW5jdGlvbiBtYWluKCkgewor
ICAgICRkYXRhID0gZW5zdXJlX3ByaXZpbGVnZWRfYXBpX2RhdGFfYW5kX3Rva2VuKCk7CisKKyAg
ICAkcnVuX2lkID0gYXJyYXlfZ2V0KCRkYXRhLCAncnVuJyk7CisgICAgJGJ1Z190cmFja2VyX2lk
ID0gYXJyYXlfZ2V0KCRkYXRhLCAndHJhY2tlcicpOworICAgICRidWdfbnVtYmVyID0gYXJyYXlf
Z2V0KCRkYXRhLCAnYnVnTnVtYmVyJyk7CisKKyAgICBpZiAoISRydW5faWQpCisgICAgICAgIGV4
aXRfd2l0aF9lcnJvcignSW52YWxpZFJ1bklkJywgYXJyYXkoJ3J1bicgPT4gJHJ1bl9pZCkpOwor
ICAgIGlmICghJGJ1Z190cmFja2VyX2lkKQorICAgICAgICBleGl0X3dpdGhfZXJyb3IoJ0ludmFs
aWRCdWdUcmFja2VySWQnLCBhcnJheSgndHJhY2tlcicgPT4gJGJ1Z190cmFja2VyX2lkKSk7CisK
KyAgICAkZGIgPSBjb25uZWN0KCk7CisgICAgJGRiLT5iZWdpbl90cmFuc2FjdGlvbigpOworCisg
ICAgJGJ1Z19pZCA9IE5VTEw7CisgICAgaWYgKCEkYnVnX251bWJlcikgeworICAgICAgICAkY291
bnQgPSAkZGItPnF1ZXJ5X2FuZF9nZXRfYWZmZWN0ZWRfcm93cygiREVMRVRFIEZST00gYnVncyBX
SEVSRSBidWdfcnVuID0gJDEgQU5EIGJ1Z190cmFja2VyID0gJDIiLAorICAgICAgICAgICAgYXJy
YXkoJHJ1bl9pZCwgJGJ1Z190cmFja2VyX2lkKSk7CisgICAgICAgIGlmICgkY291bnQgPiAxKSB7
CisgICAgICAgICAgICAkZGItPnJvbGxiYWNrX3RyYW5zYWN0aW9uKCk7CisgICAgICAgICAgICBl
eGl0X3dpdGhfZXJyb3IoJ1VuZXhwZWN0ZWROdW1iZXJPZkFmZmVjdGVkUm93cycsIGFycmF5KCdh
ZmZlY3RlZFJvd3MnID0+ICRjb3VudCkpOworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgJGJ1Z19pZCA9ICRkYi0+dXBkYXRlX29yX2luc2VydF9yb3coJ2J1Z3MnLCAnYnVnJywgYXJy
YXkoJ3J1bicgPT4gJHJ1bl9pZCwgJ3RyYWNrZXInID0+ICRidWdfdHJhY2tlcl9pZCksCisgICAg
ICAgICAgICBhcnJheSgncnVuJyA9PiAkcnVuX2lkLCAndHJhY2tlcicgPT4gJGJ1Z190cmFja2Vy
X2lkLCAnbnVtYmVyJyA9PiAkYnVnX251bWJlcikpOworICAgIH0KKyAgICAkZGItPmNvbW1pdF90
cmFuc2FjdGlvbigpOworCisgICAgZXhpdF93aXRoX3N1Y2Nlc3MoYXJyYXkoJ2J1Z19pZCcgPT4g
JGJ1Z19pZCkpOworfQorCittYWluKCk7CisKKz8+CmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvcHVibGljL3ByaXZpbGVnZWQtYXBpL2dlbmVyYXRlLWNzcmYtdG9rZW4ucGhw
IGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9wcml2aWxlZ2VkLWFwaS9nZW5lcmF0
ZS1jc3JmLXRva2VuLnBocApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NWQ1N2E1OTcxOTRiZjYzOTk3NjA4NTUwNzZh
NjM1ODBhNzIzNDNjCi0tLSAvZGV2L251bGwKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3Jn
L3B1YmxpYy9wcml2aWxlZ2VkLWFwaS9nZW5lcmF0ZS1jc3JmLXRva2VuLnBocApAQCAtMCwwICsx
LDE4IEBACis8P3BocAorCityZXF1aXJlX29uY2UoJy4uL2luY2x1ZGUvanNvbi1oZWFkZXIucGhw
Jyk7CisKK2Vuc3VyZV9wcml2aWxlZ2VkX2FwaV9kYXRhKCk7CisKKyR1c2VyID0gYXJyYXlfZ2V0
KCRfU0VSVkVSLCAnUkVNT1RFX1VTRVInKTsKKworJGV4cGlyaXRhaW9uID0gdGltZSgpICsgMzYw
MDsgLy8gVmFsaWQgZm9yIG9uZSBob3VyLgorJF9DT09LSUVbJ0NTUkZTYWx0J10gPSByYW5kKCk7
CiskX0NPT0tJRVsnQ1NSRkV4cGlyYXRpb24nXSA9ICRleHBpcml0YWlvbjsKKworc2V0Y29va2ll
KCdDU1JGU2FsdCcsICRfQ09PS0lFWydDU1JGU2FsdCddKTsKK3NldGNvb2tpZSgnQ1NSRkV4cGly
YXRpb24nLCAkZXhwaXJpdGFpb24pOworCitleGl0X3dpdGhfc3VjY2VzcyhhcnJheSgndXNlcicg
PT4gJHVzZXIsICd0b2tlbicgPT4gY29tcHV0ZV90b2tlbigpLCAnZXhwaXJhdGlvbicgPT4gJGV4
cGlyaXRhaW9uICogMTAwMCkpOworCis/PgpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJr
aXQub3JnL3B1YmxpYy92Mi9hcHAuY3NzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1Ymxp
Yy92Mi9hcHAuY3NzCmluZGV4IGE5OTM4ZTA5MWIwNjJmNGY3ZTEyNzQyMDA0ZDQyNjM2NmFkZjk1
YzYuLmJiMzNkYjliZWFiMTgxZDUwMzgwZDcxYWJlOGM1YmNlYzM0ZTU0N2IgMTAwNzU1Ci0tLSBh
L1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvYXBwLmNzcworKysgYi9XZWJzaXRl
cy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YyL2FwcC5jc3MKQEAgLTEyNSw2ICsxMjUsOSBAQCBi
b2R5IHsKIC5pY29uLWJ1dHRvbjpob3ZlciBnIHsKICAgICBzdHJva2U6ICM2NjY7CiB9CisuZGlz
YWJsZWQgLmljb24tYnV0dG9uOmhvdmVyIGcgeworICAgIHN0cm9rZTogI2NjYzsKK30KIAogCiAj
aGVhZGVyIHsKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIv
YXBwLmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9hcHAuanMKaW5kZXgg
YzM0Y2Q1NmY1OTEzZjI4NTZiMmZmYzY0ZjFlY2ZhNTIxNDNhZjgxZC4uZWU3ZGQzZWJkNDA4YWJk
OThjOTk4ODYwNDFiOTIyYjViYWI0YzRlNyAxMDA3NTUKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJr
aXQub3JnL3B1YmxpYy92Mi9hcHAuanMKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1
YmxpYy92Mi9hcHAuanMKQEAgLTY2NCw2ICs2NjQsNyBAQCBBcHAuUGFuZUNvbnRyb2xsZXIgPSBF
bWJlci5PYmplY3RDb250cm9sbGVyLmV4dGVuZCh7CiAgICAgc2hhcmVkVGltZTogRW1iZXIuY29t
cHV0ZWQuYWxpYXMoJ3BhcmVudENvbnRyb2xsZXIuc2hhcmVkVGltZScpLAogICAgIHNoYXJlZFNl
bGVjdGlvbjogRW1iZXIuY29tcHV0ZWQuYWxpYXMoJ3BhcmVudENvbnRyb2xsZXIuc2hhcmVkU2Vs
ZWN0aW9uJyksCiAgICAgc2VsZWN0aW9uOiBudWxsLAorICAgIGJ1Z3NDaGFuZ2VDb3VudDogMCwg
Ly8gRGlydHkgaGFjay4gVXNlZCB0byBjYWxsIEludGVyYWN0aXZlQ2hhcnRDb21wb25lbnQncyBf
dXBkYXRlRG90c1dpdGhCdWdzLgogICAgIGFjdGlvbnM6IHsKICAgICAgICAgdG9nZ2xlRGV0YWls
czogZnVuY3Rpb24oKQogICAgICAgICB7CkBAIC02NzMsMTQgKzY3NCwzMyBAQCBBcHAuUGFuZUNv
bnRyb2xsZXIgPSBFbWJlci5PYmplY3RDb250cm9sbGVyLmV4dGVuZCh7CiAgICAgICAgIHsKICAg
ICAgICAgICAgIHRoaXMucGFyZW50Q29udHJvbGxlci5yZW1vdmVQYW5lKHRoaXMuZ2V0KCdtb2Rl
bCcpKTsKICAgICAgICAgfSwKLSAgICAgICAgdG9nZ2xlU2VhcmNoOiBmdW5jdGlvbiAoKQorICAg
ICAgICB0b2dnbGVCdWdzUGFuZTogZnVuY3Rpb24gKCkKKyAgICAgICAgeworICAgICAgICAgICAg
aWYgKCFBcHAuTWFuaWZlc3QuYnVnVHJhY2tlcnMgfHwgIXRoaXMuZ2V0KCdzaW5nbHlTZWxlY3Rl
ZFBvaW50JykpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgaWYgKHRoaXMu
dG9nZ2xlUHJvcGVydHkoJ3Nob3dpbmdCdWdzUGFuZScpKQorICAgICAgICAgICAgICAgIHRoaXMu
c2V0KCdzaG93aW5nU2VhcmNoUGFuZScsIGZhbHNlKTsKKyAgICAgICAgfSwKKyAgICAgICAgYXNz
b2NpYXRlQnVnOiBmdW5jdGlvbiAoYnVnVHJhY2tlciwgYnVnTnVtYmVyKQorICAgICAgICB7Cisg
ICAgICAgICAgICB2YXIgcG9pbnQgPSB0aGlzLmdldCgnc2luZ2x5U2VsZWN0ZWRQb2ludCcpOwor
ICAgICAgICAgICAgaWYgKCFwb2ludCkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAg
ICAgICB2YXIgc2VsZiA9IHRoaXM7CisgICAgICAgICAgICBwb2ludC5tZWFzdXJlbWVudC5hc3Nv
Y2lhdGVCdWcoYnVnVHJhY2tlci5nZXQoJ2lkJyksIGJ1Z051bWJlcikudGhlbihmdW5jdGlvbiAo
KSB7CisgICAgICAgICAgICAgICAgc2VsZi5fdXBkYXRlQnVncygpOworICAgICAgICAgICAgICAg
IHNlbGYuc2V0KCdidWdzQ2hhbmdlQ291bnQnLCBzZWxmLmdldCgnYnVnc0NoYW5nZUNvdW50Jykg
KyAxKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9LAorICAgICAgICB0b2dnbGVTZWFyY2hQ
YW5lOiBmdW5jdGlvbiAoKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAoIUFwcC5NYW5pZmVz
dC5yZXBvc2l0b3JpZXNXaXRoUmVwb3J0ZWRDb21taXRzKQogICAgICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgICAgIHZhciBtb2RlbCA9IHRoaXMuZ2V0KCdtb2RlbCcpOwogICAgICAgICAg
ICAgaWYgKCFtb2RlbC5nZXQoJ2NvbW1pdFNlYXJjaFJlcG9zaXRvcnknKSkKICAgICAgICAgICAg
ICAgICBtb2RlbC5zZXQoJ2NvbW1pdFNlYXJjaFJlcG9zaXRvcnknLCBBcHAuTWFuaWZlc3QucmVw
b3NpdG9yaWVzV2l0aFJlcG9ydGVkQ29tbWl0c1swXSk7Ci0gICAgICAgICAgICB0aGlzLnRvZ2ds
ZVByb3BlcnR5KCdzaG93aW5nU2VhcmNoUGFuZScpOworICAgICAgICAgICAgaWYgKHRoaXMudG9n
Z2xlUHJvcGVydHkoJ3Nob3dpbmdTZWFyY2hQYW5lJykpCisgICAgICAgICAgICAgICAgdGhpcy5z
ZXQoJ3Nob3dpbmdCdWdzUGFuZScsIGZhbHNlKTsKICAgICAgICAgfSwKICAgICAgICAgc2VhcmNo
Q29tbWl0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICB2YXIgbW9kZWwgPSB0aGlzLmdldCgn
bW9kZWwnKTsKQEAgLTY5NywxOSArNzE3LDI0IEBAIEFwcC5QYW5lQ29udHJvbGxlciA9IEVtYmVy
Lk9iamVjdENvbnRyb2xsZXIuZXh0ZW5kKHsKICAgICAgICAgICAgIHRoaXMuc2V0KCdpbnRyaW5z
aWNEb21haW4nLCBpbnRyaW5zaWNEb21haW4pOwogICAgICAgICAgICAgdGhpcy5nZXQoJ3BhcmVu
dENvbnRyb2xsZXInKS51cGRhdGVTaGFyZWREb21haW4oKTsKICAgICAgICAgfSwKLSAgICAgICAg
cmFuZ2VDaGFuZ2VkOiBmdW5jdGlvbiAoZXh0ZW50LCBzdGFydFBvaW50LCBlbmRQb2ludCkKKyAg
ICAgICAgcmFuZ2VDaGFuZ2VkOiBmdW5jdGlvbiAoZXh0ZW50LCBwb2ludHMpCiAgICAgICAgIHsK
LSAgICAgICAgICAgIGlmICghc3RhcnRQb2ludCB8fCAhZW5kUG9pbnQpIHsKKyAgICAgICAgICAg
IGlmICghcG9pbnRzKSB7CiAgICAgICAgICAgICAgICAgdGhpcy5faGFzUmFuZ2UgPSBmYWxzZTsK
ICAgICAgICAgICAgICAgICB0aGlzLnNldCgnZGV0YWlscycsIG51bGwpOwogICAgICAgICAgICAg
ICAgIHRoaXMuc2V0KCd0aW1lUmFuZ2UnLCBudWxsKTsKICAgICAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICB0aGlzLl9oYXNSYW5nZSA9IHRydWU7Ci0gICAg
ICAgICAgICB0aGlzLl9zaG93RGV0YWlscyhzdGFydFBvaW50Lm1lYXN1cmVtZW50LCBlbmRQb2lu
dC5tZWFzdXJlbWVudCwgZmFsc2UpOworICAgICAgICAgICAgdGhpcy5fc2hvd0RldGFpbHMocG9p
bnRzKTsKICAgICAgICAgICAgIHRoaXMuc2V0KCd0aW1lUmFuZ2UnLCBleHRlbnQpOwogICAgICAg
ICB9LAogICAgIH0sCisgICAgX2RldGFpbHNDaGFuZ2VkOiBmdW5jdGlvbiAoKQorICAgIHsKKyAg
ICAgICAgdGhpcy5zZXQoJ3Nob3dpbmdCdWdzUGFuZScsIGZhbHNlKTsKKyAgICAgICAgdGhpcy5z
ZXQoJ3NpbmdseVNlbGVjdGVkUG9pbnQnLCAhdGhpcy5faGFzUmFuZ2UgJiYgdGhpcy5fc2VsZWN0
ZWRQb2ludHMgPyB0aGlzLl9zZWxlY3RlZFBvaW50c1swXSA6IG51bGwpOworICAgIH0ub2JzZXJ2
ZXMoJ2RldGFpbHMnKSwKICAgICBfb3ZlcnZpZXdTZWxlY3Rpb25DaGFuZ2VkOiBmdW5jdGlvbiAo
KQogICAgIHsKICAgICAgICAgdmFyIG92ZXJ2aWV3U2VsZWN0aW9uID0gdGhpcy5nZXQoJ292ZXJ2
aWV3U2VsZWN0aW9uJyk7CkBAIC03NDUsMjkgKzc3MCwyNSBAQCBBcHAuUGFuZUNvbnRyb2xsZXIg
PSBFbWJlci5PYmplY3RDb250cm9sbGVyLmV4dGVuZCh7CiAgICAgICAgIGlmICghcG9pbnQgfHwg
IXBvaW50Lm1lYXN1cmVtZW50KQogICAgICAgICAgICAgdGhpcy5zZXQoJ2RldGFpbHMnLCBudWxs
KTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgdGhpcy5fc2hvd0RldGFpbHMocG9pbnQuc2Vy
aWVzLnByZXZpb3VzUG9pbnQocG9pbnQpLm1lYXN1cmVtZW50LCBwb2ludC5tZWFzdXJlbWVudCwg
dHJ1ZSk7CisgICAgICAgICAgICB0aGlzLl9zaG93RGV0YWlscyhbcG9pbnRdKTsKICAgICB9Lm9i
c2VydmVzKCdjdXJyZW50SXRlbScpLAotICAgIF9zaG93RGV0YWlsczogZnVuY3Rpb24gKG9sZE1l
YXN1cmVtZW50LCBjdXJyZW50TWVhc3VyZW1lbnQsIGlzU2hvd2luZ0VuZFBvaW50KQorICAgIF9z
aG93RGV0YWlsczogZnVuY3Rpb24gKHBvaW50cykKICAgICB7Ci0gICAgICAgIHZhciByZXZpc2lv
bnMgPSBbXTsKLQorICAgICAgICB2YXIgaXNTaG93aW5nRW5kUG9pbnQgPSAhdGhpcy5faGFzUmFu
Z2U7CisgICAgICAgIHZhciBjdXJyZW50TWVhc3VyZW1lbnQgPSBwb2ludHNbMF0ubWVhc3VyZW1l
bnQ7CisgICAgICAgIHZhciBvbGRNZWFzdXJlbWVudCA9IHBvaW50c1twb2ludHMubGVuZ3RoIC0g
MV0ubWVhc3VyZW1lbnQ7CiAgICAgICAgIHZhciBmb3JtYXR0ZWRSZXZpc2lvbnMgPSBjdXJyZW50
TWVhc3VyZW1lbnQuZm9ybWF0dGVkUmV2aXNpb25zKG9sZE1lYXN1cmVtZW50KTsKLSAgICAgICAg
dmFyIHJlcG9zaXRvcnlOYW1lcyA9IFtdOwotICAgICAgICBmb3IgKHZhciByZXBvc2l0b3J5TmFt
ZSBpbiBmb3JtYXR0ZWRSZXZpc2lvbnMpCi0gICAgICAgICAgICByZXBvc2l0b3J5TmFtZXMucHVz
aChyZXBvc2l0b3J5TmFtZSk7Ci0gICAgICAgIHZhciByZXZpc2lvbnMgPSBbXTsKLSAgICAgICAg
cmVwb3NpdG9yeU5hbWVzLnNvcnQoKS5mb3JFYWNoKGZ1bmN0aW9uIChyZXBvc2l0b3J5TmFtZSkg
ewotICAgICAgICAgICAgdmFyIHJldmlzaW9uID0gZm9ybWF0dGVkUmV2aXNpb25zW3JlcG9zaXRv
cnlOYW1lXTsKLSAgICAgICAgICAgIHZhciByZXBvc2l0b3J5ID0gQXBwLk1hbmlmZXN0LnJlcG9z
aXRvcnkocmVwb3NpdG9yeU5hbWUpOwotICAgICAgICAgICAgcmV2aXNpb25bJ3VybCddID0gZmFs
c2U7Ci0gICAgICAgICAgICBpZiAocmVwb3NpdG9yeSkgewotICAgICAgICAgICAgICAgIHJldmlz
aW9uWyd1cmwnXSA9IHJldmlzaW9uLnByZXZpb3VzUmV2aXNpb24KLSAgICAgICAgICAgICAgICAg
ICAgPyByZXBvc2l0b3J5LnVybEZvclJldmlzaW9uUmFuZ2UocmV2aXNpb24ucHJldmlvdXNSZXZp
c2lvbiwgcmV2aXNpb24uY3VycmVudFJldmlzaW9uKQotICAgICAgICAgICAgICAgICAgICA6IHJl
cG9zaXRvcnkudXJsRm9yUmV2aXNpb24ocmV2aXNpb24uY3VycmVudFJldmlzaW9uKTsKLSAgICAg
ICAgICAgIH0KKyAgICAgICAgdmFyIHJldmlzaW9ucyA9IEFwcC5NYW5pZmVzdC5nZXQoJ3JlcG9z
aXRvcmllcycpCisgICAgICAgICAgICAuZmlsdGVyKGZ1bmN0aW9uIChyZXBvc2l0b3J5KSB7IHJl
dHVybiBmb3JtYXR0ZWRSZXZpc2lvbnNbcmVwb3NpdG9yeS5nZXQoJ2lkJyldOyB9KQorICAgICAg
ICAgICAgLm1hcChmdW5jdGlvbiAocmVwb3NpdG9yeSkgeworICAgICAgICAgICAgdmFyIHJlcG9z
aXRvcnlOYW1lID0gcmVwb3NpdG9yeS5nZXQoJ2lkJyk7CisgICAgICAgICAgICB2YXIgcmV2aXNp
b24gPSBFbWJlci5PYmplY3QuY3JlYXRlKGZvcm1hdHRlZFJldmlzaW9uc1tyZXBvc2l0b3J5TmFt
ZV0pOworICAgICAgICAgICAgcmV2aXNpb25bJ3VybCddID0gcmV2aXNpb24ucHJldmlvdXNSZXZp
c2lvbgorICAgICAgICAgICAgICAgID8gcmVwb3NpdG9yeS51cmxGb3JSZXZpc2lvblJhbmdlKHJl
dmlzaW9uLnByZXZpb3VzUmV2aXNpb24sIHJldmlzaW9uLmN1cnJlbnRSZXZpc2lvbikKKyAgICAg
ICAgICAgICAgICA6IHJlcG9zaXRvcnkudXJsRm9yUmV2aXNpb24ocmV2aXNpb24uY3VycmVudFJl
dmlzaW9uKTsKICAgICAgICAgICAgIHJldmlzaW9uWyduYW1lJ10gPSByZXBvc2l0b3J5TmFtZTsK
ICAgICAgICAgICAgIHJldmlzaW9uWydyZXBvc2l0b3J5J10gPSByZXBvc2l0b3J5OwotICAgICAg
ICAgICAgcmV2aXNpb25zLnB1c2goRW1iZXIuT2JqZWN0LmNyZWF0ZShyZXZpc2lvbikpOyAgICAg
ICAgICAgIAorICAgICAgICAgICAgcmV0dXJuIHJldmlzaW9uOyAKICAgICAgICAgfSk7CiAKICAg
ICAgICAgdmFyIGJ1aWxkTnVtYmVyID0gbnVsbDsKQEAgLTc3OCwxNCArNzk5LDQ4IEBAIEFwcC5Q
YW5lQ29udHJvbGxlciA9IEVtYmVyLk9iamVjdENvbnRyb2xsZXIuZXh0ZW5kKHsKICAgICAgICAg
ICAgIGlmIChidWlsZGVyKQogICAgICAgICAgICAgICAgIGJ1aWxkVVJMID0gYnVpbGRlci51cmxG
cm9tQnVpbGROdW1iZXIoYnVpbGROdW1iZXIpOwogICAgICAgICB9Ci0gICAgICAgIHRoaXMuc2V0
KCdkZXRhaWxzJywgeworCisgICAgICAgIHRoaXMuX3NlbGVjdGVkUG9pbnRzID0gcG9pbnRzOwor
ICAgICAgICB0aGlzLnNldCgnZGV0YWlscycsIEVtYmVyLk9iamVjdC5jcmVhdGUoewogICAgICAg
ICAgICAgY3VycmVudFZhbHVlOiBjdXJyZW50TWVhc3VyZW1lbnQubWVhbigpLnRvRml4ZWQoMiks
CiAgICAgICAgICAgICBvbGRWYWx1ZTogb2xkTWVhc3VyZW1lbnQgJiYgIWlzU2hvd2luZ0VuZFBv
aW50ID8gb2xkTWVhc3VyZW1lbnQubWVhbigpLnRvRml4ZWQoMikgOiBudWxsLAogICAgICAgICAg
ICAgYnVpbGROdW1iZXI6IGJ1aWxkTnVtYmVyLAogICAgICAgICAgICAgYnVpbGRVUkw6IGJ1aWxk
VVJMLAogICAgICAgICAgICAgYnVpbGRUaW1lOiBjdXJyZW50TWVhc3VyZW1lbnQuZm9ybWF0dGVk
QnVpbGRUaW1lKCksCiAgICAgICAgICAgICByZXZpc2lvbnM6IHJldmlzaW9ucywKKyAgICAgICAg
fSkpOworICAgICAgICB0aGlzLl91cGRhdGVCdWdzKCk7CisgICAgfSwKKyAgICBfdXBkYXRlQnVn
czogZnVuY3Rpb24gKCkKKyAgICB7CisgICAgICAgIGlmICghdGhpcy5fc2VsZWN0ZWRQb2ludHMp
CisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdmFyIGJ1Z1RyYWNrZXJzID0gQXBwLk1h
bmlmZXN0LmdldCgnYnVnVHJhY2tlcnMnKTsKKyAgICAgICAgdmFyIHRyYWNrZXJUb0J1Z051bWJl
cnMgPSB7fTsKKyAgICAgICAgYnVnVHJhY2tlcnMuZm9yRWFjaChmdW5jdGlvbiAodHJhY2tlcikg
eyB0cmFja2VyVG9CdWdOdW1iZXJzW3RyYWNrZXIuZ2V0KCdpZCcpXSA9IG5ldyBBcnJheSgpOyB9
KTsKKyAgICAgICAgdGhpcy5fc2VsZWN0ZWRQb2ludHMubWFwKGZ1bmN0aW9uIChwb2ludCkgewor
ICAgICAgICAgICAgdmFyIGJ1Z3MgPSBwb2ludC5tZWFzdXJlbWVudC5idWdzKCk7CisgICAgICAg
ICAgICBidWdUcmFja2Vycy5mb3JFYWNoKGZ1bmN0aW9uICh0cmFja2VyKSB7CisgICAgICAgICAg
ICAgICAgdmFyIGJ1Z051bWJlciA9IGJ1Z3NbdHJhY2tlci5nZXQoJ2lkJyldOworICAgICAgICAg
ICAgICAgIGlmIChidWdOdW1iZXIpCisgICAgICAgICAgICAgICAgICAgIHRyYWNrZXJUb0J1Z051
bWJlcnNbdHJhY2tlci5nZXQoJ2lkJyldLnB1c2goYnVnTnVtYmVyKTsKKyAgICAgICAgICAgIH0p
OwogICAgICAgICB9KTsKKworICAgICAgICB0aGlzLnNldCgnZGV0YWlscy5idWdUcmFja2Vycycs
IEFwcC5NYW5pZmVzdC5nZXQoJ2J1Z1RyYWNrZXJzJykubWFwKGZ1bmN0aW9uICh0cmFja2VyKSB7
CisgICAgICAgICAgICB2YXIgYnVnTnVtYmVycyA9IHRyYWNrZXJUb0J1Z051bWJlcnNbdHJhY2tl
ci5nZXQoJ2lkJyldOworICAgICAgICAgICAgcmV0dXJuIEVtYmVyLk9iamVjdFByb3h5LmNyZWF0
ZSh7CisgICAgICAgICAgICAgICAgY29udGVudDogdHJhY2tlciwKKyAgICAgICAgICAgICAgICBi
dWdzOiBidWdOdW1iZXJzLm1hcChmdW5jdGlvbiAoYnVnTnVtYmVyKSB7CisgICAgICAgICAgICAg
ICAgICAgIHJldHVybiB7CisgICAgICAgICAgICAgICAgICAgICAgICBidWdOdW1iZXI6IGJ1Z051
bWJlciwKKyAgICAgICAgICAgICAgICAgICAgICAgIGJ1Z1VybDogYnVnTnVtYmVyICYmIHRyYWNr
ZXIuZ2V0KCdidWdVcmwnKSA/IHRyYWNrZXIuZ2V0KCdidWdVcmwnKS5yZXBsYWNlKC9cJG51bWJl
ci9nLCBidWdOdW1iZXIpIDogbnVsbAorICAgICAgICAgICAgICAgICAgICB9OworICAgICAgICAg
ICAgICAgIH0pLAorICAgICAgICAgICAgICAgIGVkaXRlZEJ1Z051bWJlcjogdGhpcy5faGFzUmFu
Z2UgPyBudWxsIDogYnVnTnVtYmVyc1swXSwKKyAgICAgICAgICAgIH0pOyAvLyBGSVhNRTogQ3Jl
YXRlIHVybHMgZm9yIG5ldyBidWdzLgorICAgICAgICB9KSk7CiAgICAgfQogfSk7CiAKQEAgLTEw
NjMsNiArMTExOCw3IEBAIEFwcC5JbnRlcmFjdGl2ZUNoYXJ0Q29tcG9uZW50ID0gRW1iZXIuQ29t
cG9uZW50LmV4dGVuZCh7CiAgICAgICAgICAgICAgICAgLmF0dHIoImN4IiwgZnVuY3Rpb24obWVh
c3VyZW1lbnQpIHsgcmV0dXJuIHhTY2FsZShtZWFzdXJlbWVudC50aW1lKTsgfSkKICAgICAgICAg
ICAgICAgICAuYXR0cigiY3kiLCBmdW5jdGlvbihtZWFzdXJlbWVudCkgeyByZXR1cm4geVNjYWxl
KG1lYXN1cmVtZW50LnZhbHVlKTsgfSk7CiAgICAgICAgIH0pOworICAgICAgICB0aGlzLl91cGRh
dGVEb3RzV2l0aEJ1Z3MoKTsKICAgICAgICAgdGhpcy5fdXBkYXRlSGlnaGxpZ2h0UG9zaXRpb25z
KCk7CiAKICAgICAgICAgaWYgKHRoaXMuX2JydXNoKSB7CkBAIC0xMDkxLDYgKzExNDcsMTMgQEAg
QXBwLkludGVyYWN0aXZlQ2hhcnRDb21wb25lbnQgPSBFbWJlci5Db21wb25lbnQuZXh0ZW5kKHsK
ICAgICAgICAgICAgIC5zdHlsZSgiei1pbmRleCIsICIxMDAiKQogICAgICAgICAgICAgLnRleHQo
dGhpcy5feUF4aXNVbml0KTsKICAgICB9LAorICAgIF91cGRhdGVEb3RzV2l0aEJ1Z3M6IGZ1bmN0
aW9uICgpIHsKKyAgICAgICAgaWYgKCF0aGlzLmdldCgnaW50ZXJhY3RpdmUnKSkKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgdGhpcy5fZG90cy5mb3JFYWNoKGZ1bmN0aW9uIChkb3QpIHsK
KyAgICAgICAgICAgIGRvdC5jbGFzc2VkKCdoYXNCdWdzJywgZnVuY3Rpb24gKHBvaW50KSB7IHJl
dHVybiAhIXBvaW50Lm1lYXN1cmVtZW50Lmhhc0J1Z3MoKTsgfSk7CisgICAgICAgIH0pCisgICAg
fS5vYnNlcnZlcygnYnVnc0NoYW5nZUNvdW50JyksIC8vIE5ldmVyIHVzZWQgZm9yIGFueXRoaW5n
IGJ1dCB0byBjYWxsIHRoaXMgbWV0aG9kIDooCiAgICAgX3VwZGF0ZUhpZ2hsaWdodFBvc2l0aW9u
czogZnVuY3Rpb24gKCkgewogICAgICAgICB2YXIgeFNjYWxlID0gdGhpcy5feDsKICAgICAgICAg
dmFyIHlTY2FsZSA9IHRoaXMuX3k7CkBAIC0xNDI0LDIyICsxNDg3LDEyIEBAIEFwcC5JbnRlcmFj
dGl2ZUNoYXJ0Q29tcG9uZW50ID0gRW1iZXIuQ29tcG9uZW50LmV4dGVuZCh7CiAgICAgICAgIGlm
ICh0aGlzLl9icnVzaEV4dGVudCA9PT0gbmV3U2VsZWN0aW9uKQogICAgICAgICAgICAgcmV0dXJu
OwogCisgICAgICAgIHZhciBwb2ludHMgPSBudWxsOwogICAgICAgICBpZiAobmV3U2VsZWN0aW9u
KSB7Ci0gICAgICAgICAgICB2YXIgc3RhcnRQb2ludDsKLSAgICAgICAgICAgIHZhciBlbmRQb2lu
dDsKLSAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5fY3VycmVudFRpbWVTZXJp
ZXNEYXRhLmxlbmd0aDsgaSsrKSB7Ci0gICAgICAgICAgICAgICAgdmFyIHBvaW50ID0gdGhpcy5f
Y3VycmVudFRpbWVTZXJpZXNEYXRhW2ldOwotICAgICAgICAgICAgICAgIGlmICghc3RhcnRQb2lu
dCkgewotICAgICAgICAgICAgICAgICAgICBpZiAocG9pbnQudGltZSA+PSBuZXdTZWxlY3Rpb25b
MF0pIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwb2ludC50aW1lID4gbmV3U2VsZWN0
aW9uWzFdKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
ICAgICAgICAgICAgc3RhcnRQb2ludCA9IHBvaW50OwotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwb2ludC50aW1lID4gbmV3U2VsZWN0aW9uWzFdKQot
ICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBpZiAocG9pbnQudGlt
ZSA+PSBuZXdTZWxlY3Rpb25bMF0gJiYgcG9pbnQudGltZSA8PSBuZXdTZWxlY3Rpb25bMV0pCi0g
ICAgICAgICAgICAgICAgICAgIGVuZFBvaW50ID0gcG9pbnQ7Ci0gICAgICAgICAgICB9CisgICAg
ICAgICAgICBwb2ludHMgPSB0aGlzLl9jdXJyZW50VGltZVNlcmllc0RhdGEKKyAgICAgICAgICAg
ICAgICAuZmlsdGVyKGZ1bmN0aW9uIChwb2ludCkgeyByZXR1cm4gcG9pbnQudGltZSA+PSBuZXdT
ZWxlY3Rpb25bMF0gJiYgcG9pbnQudGltZSA8PSBuZXdTZWxlY3Rpb25bMV07IH0pOworICAgICAg
ICAgICAgaWYgKCFwb2ludHMubGVuZ3RoKQorICAgICAgICAgICAgICAgIHBvaW50cyA9IG51bGw7
CiAgICAgICAgIH0KIAogICAgICAgICB0aGlzLl9icnVzaEV4dGVudCA9IG5ld1NlbGVjdGlvbjsK
QEAgLTE0NDcsNyArMTUwMCw3IEBAIEFwcC5JbnRlcmFjdGl2ZUNoYXJ0Q29tcG9uZW50ID0gRW1i
ZXIuQ29tcG9uZW50LmV4dGVuZCh7CiAgICAgICAgIHRoaXMuX3VwZGF0ZVNlbGVjdGlvblRvb2xi
YXIoKTsKIAogICAgICAgICB0aGlzLnNldCgnc2hhcmVkU2VsZWN0aW9uJywgbmV3U2VsZWN0aW9u
KTsKLSAgICAgICAgdGhpcy5zZW5kQWN0aW9uKCdzZWxlY3Rpb25DaGFuZ2VkJywgbmV3U2VsZWN0
aW9uLCBzdGFydFBvaW50LCBlbmRQb2ludCk7CisgICAgICAgIHRoaXMuc2VuZEFjdGlvbignc2Vs
ZWN0aW9uQ2hhbmdlZCcsIG5ld1NlbGVjdGlvbiwgcG9pbnRzKTsKICAgICB9LAogICAgIF91cGRh
dGVTZWxlY3Rpb25Ub29sYmFyOiBmdW5jdGlvbiAoKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYnNp
dGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvY2hhcnQtcGFuZS5jc3MgYi9XZWJzaXRlcy9w
ZXJmLndlYmtpdC5vcmcvcHVibGljL3YyL2NoYXJ0LXBhbmUuY3NzCmluZGV4IDM5ZjBlNTkwNzZh
MzI0YjQ3NTU1NTI3NWUxZWYxYzdhYmM4MjEwZDQuLjYzODQzODllZWRlNDNmMGViZTUwMDljZWRl
ZTU1MGEyYTQ3NDRiNzIgMTAwNzU1Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJs
aWMvdjIvY2hhcnQtcGFuZS5jc3MKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1Ymxp
Yy92Mi9jaGFydC1wYW5lLmNzcwpAQCAtNTAsNiArNTAsMTMgQEAKICAgICB0b3A6IDAuNTVyZW07
CiB9CiAKKy5jaGFydC1wYW5lIGEuYnVncy1idXR0b24geworICAgIGRpc3BsYXk6IGlubGluZS1i
bG9jazsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgcmlnaHQ6IDEuODVyZW07CisgICAg
dG9wOiAwLjU1cmVtOworfQorCiAuY2hhcnQtcGFuZSBhLnNlYXJjaC1idXR0b24gewogICAgIGRp
c3BsYXk6IGlubGluZS1ibG9jazsKICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CkBAIC01Nyw5ICs2
NCw4IEBACiAgICAgdG9wOiAwLjU1cmVtOwogfQogCi0uc2VhcmNoLXBhbmUgeworLnNlYXJjaC1w
YW5lLCAuYnVncy1wYW5lIHsKICAgICBwb3NpdGlvbjogYWJzb2x1dGU7Ci0gICAgcmlnaHQ6IDBy
ZW07CiAgICAgdG9wOiAxLjdyZW07CiAgICAgYm9yZGVyOiAxcHggc29saWQgI2JiYjsKICAgICBw
YWRkaW5nOiAwOwpAQCAtNjgsNiArNzQsMjQgQEAKICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsKIH0K
IAorLmJ1Z3MtcGFuZSB7CisgICAgcmlnaHQ6IDEuM3JlbTsKK30KKworLmJ1Z3MtcGFuZSB0YWJs
ZSB7CisgICAgbWFyZ2luOiAwLjJyZW07CisgICAgZm9udC1zaXplOiAwLjhyZW07Cit9CisKKy5i
dWdzLXBhbmUgdGggeworICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7Cit9CisKKy5zZWFyY2gtcGFu
ZSB7CisgICAgcmlnaHQ6IDByZW07Cit9CisKKy5idWdzLXBhbmUuaGlkZGVuLAogLnNlYXJjaC1w
YW5lLmhpZGRlbiB7CiAgICAgZGlzcGxheTogbm9uZTsKIH0KQEAgLTE4NiwxMiArMjEwLDE2IEBA
CiB9CiAKIC5jaGFydC1wYW5lIC5kZXRhaWxzLXRhYmxlIHRoIHsKLSAgICB3aWR0aDogNHJlbTsK
KyAgICB3aWR0aDogN3JlbTsKICAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgICBmb250LXdlaWdo
dDogbm9ybWFsOwogICAgIHBhZGRpbmc6IDA7CiB9CiAKKy5jaGFydC1wYW5lIC5kZXRhaWxzLXRh
YmxlIC5idWdzIHRoIHsKKyAgICBmb250LXdlaWdodDogYm9sZDsKK30KKwogLmNoYXJ0LXBhbmUg
LmRldGFpbHMtdGFibGUgdGg6YWZ0ZXIgewogICAgIGNvbnRlbnQ6ICIgOiAiOwogfQpAQCAtMjMw
LDYgKzI1OCwxMCBAQAogICAgIHN0cm9rZTogbm9uZTsKIH0KIAorLmNoYXJ0IC5oYXNCdWdzIHsK
KyAgICBmaWxsOiAjMzNmOworfQorCiAuY2hhcnQgcGF0aC5hcmVhIHsKICAgICBzdHJva2U6IG5v
bmU7CiAgICAgZmlsbDogI2NjYzsKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9y
Zy9wdWJsaWMvdjIvZGF0YS5qcyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIv
ZGF0YS5qcwppbmRleCBiOTVkYzY0YjY2NjhiZTBlMGNkZjAwOWEyMGVjZmRkMjc3NDVkMGJhLi42
ODMxN2NlOTdjYjUwMGM3YTFlZDY3NThjMzNmNDBlOTI2NmU4OTAzIDEwMDc1NQotLS0gYS9XZWJz
aXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YyL2RhdGEuanMKKysrIGIvV2Vic2l0ZXMvcGVy
Zi53ZWJraXQub3JnL3B1YmxpYy92Mi9kYXRhLmpzCkBAIC0xLDUgKzEsNTUgQEAKIC8vIFdlIGRv
bid0IHVzZSBEUy5Nb2RlbCBmb3IgdGhlc2Ugb2JqZWN0IHR5cGVzIGJlY2F1c2Ugd2UgY2FuJ3Qg
YWZmb3JkIHRvIHByb2Nlc3MgbWlsbGlvbnMgb2YgdGhlbS4KIAordmFyIFByaXZpbGVnZWRBUEkg
PSB7CisgICAgX3Rva2VuOiBudWxsLAorICAgIF9leHBpcmF0aW9uOiBudWxsLAorICAgIF9tYXhO
ZXR3b3JrTGF0ZW5jeTogMyAqIDYwICogMTAwMCAvKiAzIG1pbnV0ZXMgKi8sCit9OworCitQcml2
aWxlZ2VkQVBJLnNlbmRSZXF1ZXN0ID0gZnVuY3Rpb24gKHVybCwgcGFyYW1ldGVycykKK3sKKyAg
ICByZXR1cm4gdGhpcy5fZ2VuZXJhdGVUb2tlbkluU2VydmVySWZOZWVkZWQoKS50aGVuKGZ1bmN0
aW9uICh0b2tlbikgeworICAgICAgICByZXR1cm4gUHJpdmlsZWdlZEFQSS5fcG9zdCh1cmwsICQu
ZXh0ZW5kKHt0b2tlbjogdG9rZW59LCBwYXJhbWV0ZXJzKSk7CisgICAgfSk7Cit9CisKK1ByaXZp
bGVnZWRBUEkuX2dlbmVyYXRlVG9rZW5JblNlcnZlcklmTmVlZGVkID0gZnVuY3Rpb24gKCkKK3sK
KyAgICB2YXIgc2VsZiA9IHRoaXM7CisgICAgcmV0dXJuIG5ldyBFbWJlci5SU1ZQLlByb21pc2Uo
ZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICBpZiAoc2VsZi5fdG9rZW4gJiYg
c2VsZi5fZXhwaXJhdGlvbiA+IERhdGUubm93KCkgKyBzZWxmLl9tYXhOZXR3b3JrTGF0ZW5jeSkK
KyAgICAgICAgICAgIHJlc29sdmUoc2VsZi5fdG9rZW4pOworCisgICAgICAgIFByaXZpbGVnZWRB
UEkuX3Bvc3QoJ2dlbmVyYXRlLWNzcmYtdG9rZW4nKQorICAgICAgICAgICAgLnRoZW4oZnVuY3Rp
b24gKHJlc3VsdCwgcmVqZWN0KSB7CisgICAgICAgICAgICAgICAgc2VsZi5fdG9rZW4gPSByZXN1
bHRbJ3Rva2VuJ107CisgICAgICAgICAgICAgICAgc2VsZi5fZXhwaXJhdGlvbiA9IG5ldyBEYXRl
KHJlc3VsdFsnZXhwaXJhdGlvbiddKTsKKyAgICAgICAgICAgICAgICByZXNvbHZlKHNlbGYuX3Rv
a2VuKTsKKyAgICAgICAgICAgIH0pLmNhdGNoKHJlamVjdCk7CisgICAgfSk7Cit9CisKK1ByaXZp
bGVnZWRBUEkuX3Bvc3QgPSBmdW5jdGlvbiAodXJsLCBwYXJhbWV0ZXJzKQoreworICAgIHJldHVy
biBuZXcgRW1iZXIuUlNWUC5Qcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsKKyAg
ICAgICAgJC5hamF4KHsKKyAgICAgICAgICAgIHVybDogJy4uL3ByaXZpbGVnZWQtYXBpLycgKyB1
cmwsCisgICAgICAgICAgICB0eXBlOiAnUE9TVCcsCisgICAgICAgICAgICBjb250ZW50VHlwZTog
J2FwcGxpY2F0aW9uL2pzb24nLAorICAgICAgICAgICAgZGF0YTogcGFyYW1ldGVycyA/IEpTT04u
c3RyaW5naWZ5KHBhcmFtZXRlcnMpIDogJ3t9JywKKyAgICAgICAgICAgIGRhdGFUeXBlOiAnanNv
bicsCisgICAgICAgIH0pLmRvbmUoZnVuY3Rpb24gKGRhdGEpIHsKKyAgICAgICAgICAgIGlmIChk
YXRhLnN0YXR1cyAhPSAnT0snKQorICAgICAgICAgICAgICAgIHJlamVjdChkYXRhLnN0YXR1cyk7
CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgcmVzb2x2ZShkYXRhKTsKKyAgICAg
ICAgfSkuZmFpbChmdW5jdGlvbiAoeGhyLCBzdGF0dXMsIGVycm9yKSB7CisgICAgICAgICAgICBj
b25zb2xlLmxvZyh4aHIpOworICAgICAgICAgICAgcmVqZWN0KHhoci5zdGF0dXMgKyAoZXJyb3Ig
PyAnLCAnICsgZXJyb3IgOiAnJykpOworICAgICAgICB9KTsKKyAgICB9KTsKK30KKwogdmFyIENv
bW1pdExvZ3MgPSB7CiAgICAgX2NhY2hlZENvbW1pdHNCeVJlcG9zaXRvcnk6IHt9CiB9OwpAQCAt
MjIwLDYgKzI3MCwzNCBAQCBNZWFzdXJlbWVudC5fZm9ybWF0RGF0ZSA9IGZ1bmN0aW9uIChkYXRl
KQogICAgIHJldHVybiBkYXRlLnRvSVNPU3RyaW5nKCkucmVwbGFjZSgnVCcsICcgJykucmVwbGFj
ZSgvXC5cZCtaJC8sICcnKTsKIH0KIAorTWVhc3VyZW1lbnQucHJvdG90eXBlLmJ1Z3MgPSBmdW5j
dGlvbiAoKQoreworICAgIHJldHVybiB0aGlzLl9yYXdbJ2J1Z3MnXTsKK30KKworTWVhc3VyZW1l
bnQucHJvdG90eXBlLmhhc0J1Z3MgPSBmdW5jdGlvbiAoKQoreworICAgIHZhciBidWdzID0gdGhp
cy5idWdzKCk7CisgICAgcmV0dXJuIGJ1Z3MgJiYgT2JqZWN0LmtleXMoYnVncykubGVuZ3RoOwor
fQorCitNZWFzdXJlbWVudC5wcm90b3R5cGUuYXNzb2NpYXRlQnVnID0gZnVuY3Rpb24gKHRyYWNr
ZXJJZCwgYnVnTnVtYmVyKQoreworICAgIHZhciBidWdzID0gdGhpcy5fcmF3WydidWdzJ107Cisg
ICAgdHJhY2tlcklkID0gcGFyc2VJbnQodHJhY2tlcklkKTsKKyAgICBidWdOdW1iZXIgPSBidWdO
dW1iZXIgPyBwYXJzZUludChidWdOdW1iZXIpIDogbnVsbDsKKyAgICByZXR1cm4gUHJpdmlsZWdl
ZEFQSS5zZW5kUmVxdWVzdCgnYXNzb2NpYXRlLWJ1ZycsIHsKKyAgICAgICAgcnVuOiB0aGlzLmlk
KCksCisgICAgICAgIHRyYWNrZXI6IHRyYWNrZXJJZCwKKyAgICAgICAgYnVnTnVtYmVyOiBidWdO
dW1iZXIsCisgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CisgICAgICAgIGlmIChidWdOdW1iZXIp
CisgICAgICAgICAgICBidWdzW3RyYWNrZXJJZF0gPSBidWdOdW1iZXI7CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIGRlbGV0ZSBidWdzW3RyYWNrZXJJZF07CisgICAgfSk7Cit9CisKIGZ1bmN0
aW9uIFJ1bnNEYXRhKHJhd0RhdGEpCiB7CiAgICAgdGhpcy5fbWVhc3VyZW1lbnRzID0gcmF3RGF0
YS5tYXAoZnVuY3Rpb24gKHJ1bikgeyByZXR1cm4gbmV3IE1lYXN1cmVtZW50KHJ1bik7IH0pOwpk
aWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9pbmRleC5odG1s
IGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9pbmRleC5odG1sCmluZGV4IGIx
YzE0ZTE0NTc3YzVjMmEzZjVhZWEwNzQzMmE3NjJjMGUyZGM2YmIuLjljM2E0ZjgxMDI2NzczNWJl
YjVkMGM3MzAyMjdhZmUxOTkxOWM0ZDQgMTAwNzU1Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0
Lm9yZy9wdWJsaWMvdjIvaW5kZXguaHRtbAorKysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcv
cHVibGljL3YyL2luZGV4Lmh0bWwKQEAgLTEzNSw4ICsxMzUsMTUgQEAKICAgICAgICAgICAgICAg
ICAgICAge3ttZXRyaWMubGFiZWx9fQogICAgICAgICAgICAgICAgICAgICAtIHt7IHBsYXRmb3Jt
Lm5hbWV9fTwvaDI+CiAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIHRpdGxlPSJDbG9z
ZSIgY2xhc3M9ImNsb3NlLWJ1dHRvbiIge3thY3Rpb24gImNsb3NlIn19Pnt7cGFydGlhbCAiY2xv
c2UtYnV0dG9uIn19PC9hPgotICAgICAgICAgICAgICAgICAgICB7e2lmIEFwcC5NYW5pZmVzdC5y
ZXBvc2l0b3JpZXNXaXRoUmVwb3J0ZWRDb21taXRzfX0KLSAgICAgICAgICAgICAgICAgICAgICAg
IDxhIGhyZWY9IiMiIHRpdGxlPSJTZWFyY2giIGNsYXNzPSJzZWFyY2gtYnV0dG9uIiB7e2FjdGlv
biAidG9nZ2xlU2VhcmNoIn19Pnt7cGFydGlhbCAic2VhcmNoLWJ1dHRvbiJ9fTwvYT4KKyAgICAg
ICAgICAgICAgICAgICAge3sjaWYgQXBwLk1hbmlmZXN0LmJ1Z1RyYWNrZXJzfX0KKyAgICAgICAg
ICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIHRpdGxlPSJCdWdzIgorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHt7YmluZC1hdHRyIGNsYXNzPSI6YnVncy1idXR0b24gc2luZ2x5U2VsZWN0
ZWRQb2ludDo6ZGlzYWJsZWQifX0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2FjdGlv
biAidG9nZ2xlQnVnc1BhbmUifX0+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAge3twYXJ0
aWFsICJidWdzLWJ1dHRvbiJ9fQorICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgorICAgICAg
ICAgICAgICAgICAgICB7ey9pZn19CisgICAgICAgICAgICAgICAgICAgIHt7I2lmIEFwcC5NYW5p
ZmVzdC5yZXBvc2l0b3JpZXNXaXRoUmVwb3J0ZWRDb21taXRzfX0KKyAgICAgICAgICAgICAgICAg
ICAgICAgIDxhIGhyZWY9IiMiIHRpdGxlPSJTZWFyY2giIGNsYXNzPSJzZWFyY2gtYnV0dG9uIiB7
e2FjdGlvbiAidG9nZ2xlU2VhcmNoUGFuZSJ9fT57e3BhcnRpYWwgInNlYXJjaC1idXR0b24ifX08
L2E+CiAgICAgICAgICAgICAgICAgICAgIHt7L2lmfX0KICAgICAgICAgICAgICAgICA8L2hlYWRl
cj4KIApAQCAtMTU1LDYgKzE2Miw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hh
cmVkU2VsZWN0aW9uPXNoYXJlZFNlbGVjdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNlbGVjdGlvbkNoYW5nZWQ9InJhbmdlQ2hhbmdlZCIKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzZWxlY3Rpb25Jc0xvY2tlZD10aW1lUmFuZ2VJc0xvY2tlZAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJ1Z3NDaGFuZ2VDb3VudD1idWdzQ2hhbmdlQ291bnQKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB6b29tPSJ6b29tZWQifX0KICAgICAgICAgICAgICAgICAgICAge3tl
bHNlfX0KICAgICAgICAgICAgICAgICAgICAgICAgIHt7I2lmIGZhaWx1cmV9fQpAQCAtMTkxLDYg
KzE5OSwyMSBAQAogICAgICAgICAgICAgICAgICAgICB7e2lucHV0IGFjdGlvbj0ic2VhcmNoQ29t
bWl0IiBwbGFjZWhvbGRlcj0iTmFtZSBvciBlbWFpbCIgdmFsdWU9Y29tbWl0U2VhcmNoS2V5d29y
ZH19CiAgICAgICAgICAgICAgICAgPC9mb3JtPgogCisgICAgICAgICAgICAgICAgPGRpdiB7e2Jp
bmQtYXR0ciBjbGFzcz0iOmJ1Z3MtcGFuZSBzaG93aW5nQnVnc1BhbmU6OmhpZGRlbiJ9fT4KKyAg
ICAgICAgICAgICAgICAgICAgPHRhYmxlPgorICAgICAgICAgICAgICAgICAgICAgICAge3sjZWFj
aCBkZXRhaWxzLmJ1Z1RyYWNrZXJzfX0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD57e2xhYmVsfX08L3RoPgorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA8Zm9ybSB7e2FjdGlvbiAiYXNzb2NpYXRlQnVnIiB0aGlzIGVkaXRlZEJ1
Z051bWJlciBvbj0ic3VibWl0In19PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHt7aW5wdXQgdHlwZT10ZXh0IHZhbHVlPWVkaXRlZEJ1Z051bWJlcn19CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KKyAg
ICAgICAgICAgICAgICAgICAgICAgIHt7L2VhY2h9fQorICAgICAgICAgICAgICAgICAgICA8L3Rh
YmxlPgorICAgICAgICAgICAgICAgIDwvZGl2PgorCiAgICAgICAgICAgICA8L3NlY3Rpb24+CiAg
ICAgICAgIHt7L2VhY2h9fQogICAgIDwvc2NyaXB0PgpAQCAtMjE0LDYgKzIzNywxOCBAQAogICAg
IDxzY3JpcHQgdHlwZT0idGV4dC94LWhhbmRsZWJhcnMiIGRhdGEtdGVtcGxhdGUtbmFtZT0iY2hh
cnQtZGV0YWlscyI+CiAgICAgPGRpdiBjbGFzcz0iZGV0YWlscy10YWJsZS1jb250YWluZXIiPgog
ICAgICAgICA8dGFibGUgY2xhc3M9ImRldGFpbHMtdGFibGUiPgorICAgICAgICAgICAgPHRib2R5
IGNsYXNzPSJidWdzIj4KKyAgICAgICAgICAgIHt7I2VhY2ggZGV0YWlscy5idWdUcmFja2Vyc319
CisgICAgICAgICAgICAgICAge3sjaWYgYnVnc319CisgICAgICAgICAgICAgICAgICAgIDx0cj4K
KyAgICAgICAgICAgICAgICAgICAgICAgIDx0aD57e2xhYmVsfX08L3RoPgorICAgICAgICAgICAg
ICAgICAgICAgICAge3sjZWFjaCBidWdzfX0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8
dGQ+PGEge3tiaW5kLWF0dHIgaHJlZj1idWdVcmx9fSB0YXJnZXQ9Il9ibGFuayI+e3tidWdOdW1i
ZXJ9fTwvYT48L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAge3svZWFjaH19CisgICAgICAg
ICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAge3svaWZ9fQorICAgICAgICAgICAg
e3svZWFjaH19CisgICAgICAgICAgICA8L3Rib2R5PgogICAgICAgICAgICAgPHRyPjx0aD5DdXJy
ZW50PC90aD48dGQ+e3tkZXRhaWxzLmN1cnJlbnRWYWx1ZX19IHt7Y2hhcnREYXRhLnVuaXR9fQog
ICAgICAgICAgICAge3sjaWYgZGV0YWlscy5vbGRWYWx1ZX19CiAgICAgICAgICAgICAgICAgKGZy
b20ge3tkZXRhaWxzLm9sZFZhbHVlfX0pCkBAIC0yODEsNiArMzE2LDE2IEBACiAgICAgICAgIDwv
c3ZnPgogICAgIDwvc2NyaXB0PgogCisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L3gtaGFuZGxlYmFy
cyIgZGF0YS10ZW1wbGF0ZS1uYW1lPSJidWdzLWJ1dHRvbiI+CisgICAgICAgIDxzdmcgY2xhc3M9
ImJ1Z3MtYnV0dG9uIGljb24tYnV0dG9uIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+CisgICAgICAg
ICAgICA8ZyBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjE1Ij4KKyAgICAgICAgICAgICAg
ICA8Y2lyY2xlIGN4PSI1MCIgY3k9IjUwIiByPSI0MCIgZmlsbD0idHJhbnNwYXJlbnQiLz4KKyAg
ICAgICAgICAgICAgICA8bGluZSB4MT0iNTAiIHkxPSIyNSIgeDI9IjUwIiB5Mj0iNTUiLz4KKyAg
ICAgICAgICAgICAgICA8Y2lyY2xlIGN4PSI1MCIgY3k9IjY3LjUiIHI9IjIuNSIgZmlsbD0idHJh
bnNwYXJlbnQiLz4KKyAgICAgICAgICAgIDwvZz4KKyAgICAgICAgPC9zdmc+CisgICAgPC9zY3Jp
cHQ+CisKICAgICA8c2NyaXB0IHR5cGU9InRleHQveC1oYW5kbGViYXJzIiBkYXRhLXRlbXBsYXRl
LW5hbWU9InNlYXJjaC1idXR0b24iPgogICAgICAgICA8c3ZnIGNsYXNzPSJzZWFyY2gtYnV0dG9u
IGljb24tYnV0dG9uIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+CiAgICAgICAgICAgICA8ZyBzdHJv
a2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjE1Ij4KZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYu
d2Via2l0Lm9yZy9wdWJsaWMvdjIvbWFuaWZlc3QuanMgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5v
cmcvcHVibGljL3YyL21hbmlmZXN0LmpzCmluZGV4IDg3Mjg0YjA0M2YwNDJmY2U1ZjIzMWJiOTY3
NjQwOGYwMWE2NWI2YjAuLmY1NzlkMTA4ZTVhNTgxNmI1MjM1NTA2M2E4NGEyMDA4OTkwZDVlOGQg
MTAwNzU1Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvbWFuaWZlc3Qu
anMKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9tYW5pZmVzdC5qcwpA
QCAtNDIsNyArNDIsOSBAQCBBcHAuQnVpbGRlciA9IEFwcC5OYW1lTGFiZWxNb2RlbC5leHRlbmQo
ewogfSk7CiAKIEFwcC5CdWdUcmFja2VyID0gQXBwLk5hbWVMYWJlbE1vZGVsLmV4dGVuZCh7Ci0g
ICAgYnVpbGRVcmw6IERTLmF0dHIoJ3N0cmluZycpLAorICAgIGJ1Z1VybDogRFMuYXR0cignc3Ry
aW5nJyksCisgICAgbmV3QnVnVXJsOiBEUy5hdHRyKCdzdHJpbmcnKSwKKyAgICByZXBvc2l0b3Jp
ZXM6IERTLmhhc01hbnkoJ3JlcG9zaXRvcnknKSwKIH0pOwogCiBBcHAuUGxhdGZvcm0gPSBBcHAu
TmFtZUxhYmVsTW9kZWwuZXh0ZW5kKHsKQEAgLTkzLDYgKzk1LDcgQEAgQXBwLk1ldHJpY1Nlcmlh
bGl6ZXIgPSBBcHAuUGxhdGZvcm1TZXJpYWxpemVyID0gRFMuUkVTVFNlcmlhbGl6ZXIuZXh0ZW5k
KHsKICAgICAgICAgICAgIH0pLAogICAgICAgICAgICAgbWV0cmljczogdGhpcy5fbm9ybWFsaXpl
SWRNYXAocGF5bG9hZFsnbWV0cmljcyddKSwKICAgICAgICAgICAgIHJlcG9zaXRvcmllczogdGhp
cy5fbm9ybWFsaXplSWRNYXAocGF5bG9hZFsncmVwb3NpdG9yaWVzJ10pLAorICAgICAgICAgICAg
YnVnVHJhY2tlcnM6IHRoaXMuX25vcm1hbGl6ZUlkTWFwKHBheWxvYWRbJ2J1Z1RyYWNrZXJzJ10p
LAogICAgICAgICB9OwogCiAgICAgICAgIGZvciAodmFyIHRlc3RJZCBpbiBwYXlsb2FkWyd0ZXN0
cyddKSB7CkBAIC0xNDQsMTEgKzE0NywxMiBAQCBBcHAuTWV0cmljQWRhcHRlciA9IERTLlJFU1RB
ZGFwdGVyLmV4dGVuZCh7CiBBcHAuTWFuaWZlc3QgPSBFbWJlci5Db250cm9sbGVyLmV4dGVuZCh7
CiAgICAgcGxhdGZvcm1zOiBudWxsLAogICAgIHRvcExldmVsVGVzdHM6IG51bGwsCisgICAgcmVw
b3NpdG9yaWVzOiBbXSwKKyAgICByZXBvc2l0b3JpZXNXaXRoUmVwb3J0ZWRDb21taXRzOiBbXSwK
KyAgICBidWdUcmFja2VyczogW10sCiAgICAgX3BsYXRmb3JtQnlJZDoge30sCiAgICAgX21ldHJp
Y0J5SWQ6IHt9LAogICAgIF9idWlsZGVyQnlJZDoge30sCi0gICAgcmVwb3NpdG9yaWVzOiBudWxs
LAotICAgIHJlcG9zaXRvcmllc1dpdGhSZXBvcnRlZENvbW1pdHM6IG51bGwsCiAgICAgX3JlcG9z
aXRvcnlCeUlkOiB7fSwKICAgICBfZmV0Y2hQcm9taXNlOiBudWxsLAogICAgIGZldGNoOiBmdW5j
dGlvbiAoKQpAQCAtMTk2LDggKzIwMCwxMCBAQCBBcHAuTWFuaWZlc3QgPSBFbWJlci5Db250cm9s
bGVyLmV4dGVuZCh7CiAgICAgICAgIHJlcG9zaXRvcmllcy5mb3JFYWNoKGZ1bmN0aW9uIChyZXBv
c2l0b3J5KSB7CiAgICAgICAgICAgICBzZWxmLl9yZXBvc2l0b3J5QnlJZFtyZXBvc2l0b3J5Lmdl
dCgnaWQnKV0gPSByZXBvc2l0b3J5OwogICAgICAgICB9KTsKLSAgICAgICAgdGhpcy5zZXQoJ3Jl
cG9zaXRvcmllcycsIHJlcG9zaXRvcmllcyk7CisgICAgICAgIHRoaXMuc2V0KCdyZXBvc2l0b3Jp
ZXMnLCByZXBvc2l0b3JpZXMuc29ydEJ5KCdpZCcpKTsKICAgICAgICAgdGhpcy5zZXQoJ3JlcG9z
aXRvcmllc1dpdGhSZXBvcnRlZENvbW1pdHMnLAogICAgICAgICAgICAgcmVwb3NpdG9yaWVzLmZp
bHRlcihmdW5jdGlvbiAocmVwb3NpdG9yeSkgeyByZXR1cm4gcmVwb3NpdG9yeS5nZXQoJ2hhc1Jl
cG9ydGVkQ29tbWl0cycpOyB9KSk7CisKKyAgICAgICAgdGhpcy5zZXQoJ2J1Z1RyYWNrZXJzJywg
c3RvcmUuYWxsKCdidWdUcmFja2VyJykuc29ydEJ5KCduYW1lJykpOwogICAgIH0KIH0pLmNyZWF0
ZSgpOwo=
</data>
<flag name="review"
          id="264841"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>