Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bS2Vf-0008Q7-4U for pgadmin-hackers@arkaria.postgresql.org; Tue, 26 Jul 2016 13:34:59 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1bS2Ve-0007hD-NR for pgadmin-hackers@arkaria.postgresql.org; Tue, 26 Jul 2016 13:34:58 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1bS2VK-0007Sw-5H for pgadmin-hackers@postgresql.org; Tue, 26 Jul 2016 13:34:38 +0000 Received: from mail-qk0-x231.google.com ([2607:f8b0:400d:c09::231]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1bS2VF-0006my-QV for pgadmin-hackers@postgresql.org; Tue, 26 Jul 2016 13:34:37 +0000 Received: by mail-qk0-x231.google.com with SMTP id s63so5829439qkb.2 for ; Tue, 26 Jul 2016 06:34:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=vFsIlUtGrbgbBAZajnAGquCiq/J4U2LxCY5NHlmj3KA=; b=IGDCqP76La5sp+OIV6Jo2FrYLULEVCnR2b2jekNPxo5Xfkj9vEue37zKx55kTF8HdY AVx8ff1ltM5pe45YZGJ3jIc3Hy1WE4bUFU+eZy5MlGKe7VzZccHCYd5d6QIgjmUc9vc/ tSK3eH02oIbLtp1NuehI3a0ezX4DMiFoIKNo1zM2CfaRi7jcyv/B6P29qZNpatoXOhtM D4x4Yrk8SKVSUU7vfzyebznfSpzKXcgAUg56ic/dUBvyrOQBv+2Yh1vLehe8/xLBGZO0 RY3vTUZ3iWntrc0qbwhC/r365mNEeX31mkeln7zLoyWXSJFRRPkqIiIn8BqwBgA68HfY Xp7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=vFsIlUtGrbgbBAZajnAGquCiq/J4U2LxCY5NHlmj3KA=; b=byUbJX3MhlRAPYUI8xGyFxNyunWpIcOocsvqsevPr4WnT79sskaTQY3BbC83zE/9Zj OB0qpURH4dRDZwA5SK4Fgkq476I2XDcaFrA7VU5taWpoxadcsm0CP/W9NDEaoiLeUp9E 2fdlfBjPnvcGP+1aEq5koiujfLsKhOF4AhdgCwss5i6nBuzDefThLMH7NbKwVGB7Hng/ KoYgxewsa2LpH4u5lp+WdSanYOpw8XzfrMBecuqeg1N4mtZT0WUJXVorJUOG8K5hC6kw rpkJWHoAxaX6eDZg8x3G1YQDGb1ay2u7WghrJ7mnzJLmySl5BRAzuMVtsjsLa1/6Rmfo vgtA== X-Gm-Message-State: AEkooutHyZEv0SDiyM6xEUalTfeHRshgxthViiQeOIgGcBHqmzyOFQPNzukC6h026jOyPrcw/L/OMdcd3nEOw8iW X-Received: by 10.55.181.193 with SMTP id e184mr27786349qkf.181.1469540071880; Tue, 26 Jul 2016 06:34:31 -0700 (PDT) MIME-Version: 1.0 Received: by 10.55.8.3 with HTTP; Tue, 26 Jul 2016 06:34:11 -0700 (PDT) In-Reply-To: References: From: Murtuza Zabuawala Date: Tue, 26 Jul 2016 19:04:11 +0530 Message-ID: Subject: Re: PATCH: Encoding issue with qtLiteral function (pgAdmin4) To: Dave Page Cc: pgadmin-hackers Content-Type: multipart/mixed; boundary=94eb2c06229cf7f091053889f558 X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgadmin-hackers Precedence: bulk Sender: pgadmin-hackers-owner@postgresql.org --94eb2c06229cf7f091053889f558 Content-Type: multipart/alternative; boundary=94eb2c06229cf7f08b053889f556 --94eb2c06229cf7f08b053889f556 Content-Type: text/plain; charset=UTF-8 Hi Dave, PFA updated patch to fix encoding issue, I have tested in Python2/3 and looks like working in both environment. Almost all nodes are affected with this change, I tried to test & cover all basic operations on nodes but still it requires some testing. This patch will cover below tickets, RM#1307 RM#1479 Please review. -- Regards, Murtuza Zabuawala EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company --94eb2c06229cf7f08b053889f556 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Dave,

PFA updated patch to fix encod= ing issue, I have tested in Python2/3 and looks like working in both enviro= nment.

Almost all nodes are = affected with this change, I tried to test & cover all basic operations= on nodes but still it requires some testing.

This patch will cover below ti= ckets,
RM#1307
RM#1479

Please review.

--
Regards,
Murtuza Zabuawala
<= span style=3D"color:rgb(136,136,136)">EnterpriseDB:=C2=A0http://www.enterprisedb.com
The Enterprise Postg= reSQL Company
--94eb2c06229cf7f08b053889f556-- --94eb2c06229cf7f091053889f558 Content-Type: application/octet-stream; name="Fix_encoding_all_nodes.patch" Content-Disposition: attachment; filename="Fix_encoding_all_nodes.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ir3i4x8i1 ZGlmZiAtLWdpdCBhL3JlcXVpcmVtZW50c19weTIudHh0IGIvcmVxdWlyZW1l bnRzX3B5Mi50eHQKaW5kZXggM2QwZDcwMC4uNGQ2YzAzYSAxMDA2NDQKLS0t IGEvcmVxdWlyZW1lbnRzX3B5Mi50eHQKKysrIGIvcmVxdWlyZW1lbnRzX3B5 Mi50eHQKQEAgLTIxLDcgKzIxLDcgQEAgbGluZWNhY2hlMj09MS4wLjAKIE1h cmt1cFNhZmU9PTAuMjMKIHBhc3NsaWI9PTEuNi4yCiBwYnI9PTEuOS4xCi1w c3ljb3BnMj09Mi41LjIKK3BzeWNvcGcyPT0yLjYuMgogcHljcnlwdG89PTIu Ni4xCiBweXJzaXN0ZW50PT0wLjExLjEzCiBweXRob24tZGF0ZXV0aWw9PTIu NS4wCmRpZmYgLS1naXQgYS9yZXF1aXJlbWVudHNfcHkzLnR4dCBiL3JlcXVp cmVtZW50c19weTMudHh0CmluZGV4IDFmM2FiOTUuLjQ2MmVkMTkgMTAwNjQ0 Ci0tLSBhL3JlcXVpcmVtZW50c19weTMudHh0CisrKyBiL3JlcXVpcmVtZW50 c19weTMudHh0CkBAIC0yMCw3ICsyMCw3IEBAIGxpbmVjYWNoZTI9PTEuMC4w CiBNYXJrdXBTYWZlPT0wLjIzCiBwYXNzbGliPT0xLjYuMgogcGJyPT0xLjku MQotcHN5Y29wZzI9PTIuNS4yCitwc3ljb3BnMj09Mi42LjIKIHB5Y3J5cHRv PT0yLjYuMQogcHlyc2lzdGVudD09MC4xMS4xMwogcHl0aG9uLWRhdGV1dGls PT0yLjUuMApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vX19pbml0X18ucHkg Yi93ZWIvcGdhZG1pbi9fX2luaXRfXy5weQppbmRleCBmZTllNjljLi5kNGMx NzRhIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9fX2luaXRfXy5weQorKysg Yi93ZWIvcGdhZG1pbi9fX2luaXRfXy5weQpAQCAtMTQ3LDcgKzE0Nyw3IEBA IGRlZiBjcmVhdGVfYXBwKGFwcF9uYW1lPWNvbmZpZy5BUFBfTkFNRSk6CiAg ICAgbG9nZ2VyLnNldExldmVsKGxvZ2dpbmcuSU5GTykKIAogICAgICMgRmls ZSBsb2dnaW5nCi0gICAgZmggPSBsb2dnaW5nLkZpbGVIYW5kbGVyKGNvbmZp Zy5MT0dfRklMRSkKKyAgICBmaCA9IGxvZ2dpbmcuRmlsZUhhbmRsZXIoY29u ZmlnLkxPR19GSUxFLCBlbmNvZGluZz0ndXRmLTgnKQogICAgIGZoLnNldExl dmVsKGNvbmZpZy5GSUxFX0xPR19MRVZFTCkKICAgICBmaC5zZXRGb3JtYXR0 ZXIobG9nZ2luZy5Gb3JtYXR0ZXIoY29uZmlnLkZJTEVfTE9HX0ZPUk1BVCkp CiAgICAgYXBwLmxvZ2dlci5hZGRIYW5kbGVyKGZoKQpkaWZmIC0tZ2l0IGEv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL19faW5pdF9fLnB5 IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL19faW5pdF9f LnB5CmluZGV4IDk3ZDI2MWYuLmZhZmY0ODggMTAwNjQ0Ci0tLSBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9fX2luaXRfXy5weQorKysg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvX19pbml0X18u cHkKQEAgLTgsNyArOCw3IEBACiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIwogIiIiRGVmaW5lcyB2aWV3cyBmb3IgbWFuYWdlbWVudCBvZiBzZXJ2 ZXIgZ3JvdXBzIiIiCiAKLWltcG9ydCBqc29uCitpbXBvcnQgc2ltcGxlanNv biBhcyBqc29uCiBmcm9tIGFiYyBpbXBvcnQgQUJDTWV0YSwgYWJzdHJhY3Rt ZXRob2QKIAogaW1wb3J0IHNpeApAQCAtMTU2LDcgKzE1Niw5IEBAIGNsYXNz IFNlcnZlckdyb3VwVmlldyhOb2RlVmlldyk6CiAgICAgICAgICAgICB1c2Vy X2lkPWN1cnJlbnRfdXNlci5pZCwKICAgICAgICAgICAgIGlkPWdpZCkuZmly c3QoKQogCi0gICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVz dC5mb3JtIGVsc2UganNvbi5sb2FkcyhyZXF1ZXN0LmRhdGEuZGVjb2RlKCkp CisgICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3Jt IGVsc2UganNvbi5sb2FkcygKKyAgICAgICAgICAgIHJlcXVlc3QuZGF0YSwg ZW5jb2Rpbmc9J3V0Zi04JworICAgICAgICApCiAKICAgICAgICAgaWYgc2Vy dmVyZ3JvdXAgaXMgTm9uZToKICAgICAgICAgICAgIHJldHVybiBtYWtlX2pz b25fcmVzcG9uc2UoCkBAIC0yMDEsNyArMjAzLDEwIEBAIGNsYXNzIFNlcnZl ckdyb3VwVmlldyhOb2RlVmlldyk6CiAgICAgICAgICAgICApCiAKICAgICBk ZWYgY3JlYXRlKHNlbGYpOgotICAgICAgICBkYXRhID0gcmVxdWVzdC5mb3Jt IGlmIHJlcXVlc3QuZm9ybSBlbHNlIGpzb24ubG9hZHMocmVxdWVzdC5kYXRh LmRlY29kZSgpKQorICAgICAgICAiIiJDcmVhdGVzIG5ldyBzZXJ2ZXItZ3Jv dXAgIiIiCisgICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVz dC5mb3JtIGVsc2UganNvbi5sb2FkcygKKyAgICAgICAgICAgIHJlcXVlc3Qu ZGF0YSwgZW5jb2Rpbmc9J3V0Zi04JworICAgICAgICApCiAgICAgICAgIGlm IGRhdGFbdSduYW1lJ10gIT0gJyc6CiAgICAgICAgICAgICB0cnk6CiAgICAg ICAgICAgICAgICAgY2hlY2tfc2cgPSBTZXJ2ZXJHcm91cC5xdWVyeS5maWx0 ZXJfYnkoCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL19faW5pdF9fLnB5CmluZGV4 IDYyOTAxNTguLjUxMjhlNzQgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL19faW5pdF9fLnB5CisrKyBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL19f aW5pdF9fLnB5CkBAIC03LDcgKzcsNyBAQAogIwogIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKIAotaW1wb3J0IGpzb24KK2ltcG9ydCBzaW1wbGVq c29uIGFzIGpzb24KIGltcG9ydCB0cmFjZWJhY2sKIAogaW1wb3J0IHBnYWRt aW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzIGFzIHNnCkBAIC00MDAsNyArNDAw LDkgQEAgY2xhc3MgU2VydmVyTm9kZShQR0NoaWxkTm9kZVZpZXcpOgogICAg ICAgICB9CiAKICAgICAgICAgaWR4ID0gMAotICAgICAgICBkYXRhID0gcmVx dWVzdC5mb3JtIGlmIHJlcXVlc3QuZm9ybSBlbHNlIGpzb24ubG9hZHMocmVx dWVzdC5kYXRhLmRlY29kZSgpKQorICAgICAgICBkYXRhID0gcmVxdWVzdC5m b3JtIGlmIHJlcXVlc3QuZm9ybSBlbHNlIGpzb24ubG9hZHMoCisgICAgICAg ICAgICByZXF1ZXN0LmRhdGEsIGVuY29kaW5nPSd1dGYtOCcKKyAgICAgICAg KQogCiAgICAgICAgIGZyb20gcGdhZG1pbi51dGlscy5kcml2ZXIgaW1wb3J0 IGdldF9kcml2ZXIKICAgICAgICAgbWFuYWdlciA9IGdldF9kcml2ZXIoUEdf REVGQVVMVF9EUklWRVIpLmNvbm5lY3Rpb25fbWFuYWdlcihzaWQpCkBAIC01 NTQsNyArNTU2LDkgQEAgY2xhc3MgU2VydmVyTm9kZShQR0NoaWxkTm9kZVZp ZXcpOgogICAgICAgICAgICAgdSdyb2xlJwogICAgICAgICBdCiAKLSAgICAg ICAgZGF0YSA9IHJlcXVlc3QuZm9ybSBpZiByZXF1ZXN0LmZvcm0gZWxzZSBq c29uLmxvYWRzKHJlcXVlc3QuZGF0YS5kZWNvZGUoKSkKKyAgICAgICAgZGF0 YSA9IHJlcXVlc3QuZm9ybSBpZiByZXF1ZXN0LmZvcm0gZWxzZSBqc29uLmxv YWRzKAorICAgICAgICAgICAgcmVxdWVzdC5kYXRhLCBlbmNvZGluZz0ndXRm LTgnCisgICAgICAgICkKIAogICAgICAgICBmb3IgYXJnIGluIHJlcXVpcmVk X2FyZ3M6CiAgICAgICAgICAgICBpZiBhcmcgbm90IGluIGRhdGE6CkBAIC03 NDAsOCArNzQ0LDkgQEAgY2xhc3MgU2VydmVyTm9kZShQR0NoaWxkTm9kZVZp ZXcpOgogICAgICAgICBpZiB1c2VyIGlzIE5vbmU6CiAgICAgICAgICAgICBy ZXR1cm4gdW5hdXRob3JpemVkKGdldHRleHQoIlVuYXV0aG9yaXplZCByZXF1 ZXN0LiIpKQogCi0gICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVx dWVzdC5mb3JtIGVsc2UganNvbi5sb2FkcyhyZXF1ZXN0LmRhdGEpIGlmIFwK LSAgICAgICAgICAgIHJlcXVlc3QuZGF0YSBlbHNlIHt9CisgICAgICAgIGRh dGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3JtIGVsc2UganNvbi5s b2FkcygKKyAgICAgICAgICAgIHJlcXVlc3QuZGF0YSwgZW5jb2Rpbmc9J3V0 Zi04JworICAgICAgICApIGlmIHJlcXVlc3QuZGF0YSBlbHNlIHt9CiAKICAg ICAgICAgcGFzc3dvcmQgPSBOb25lCiAgICAgICAgIHNhdmVfcGFzc3dvcmQg PSBGYWxzZQpAQCAtOTY5LDcgKzk3NCw3IEBAIGNsYXNzIFNlcnZlck5vZGUo UEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgIHNpZDogU2VydmVyIGlk CiAgICAgICAgICIiIgogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBkYXRh ID0ganNvbi5sb2FkcyhyZXF1ZXN0LmZvcm1bJ2RhdGEnXSkKKyAgICAgICAg ICAgIGRhdGEgPSBqc29uLmxvYWRzKHJlcXVlc3QuZm9ybVsnZGF0YSddLCBl bmNvZGluZz0ndXRmLTgnKQogICAgICAgICAgICAgaWYgZGF0YSBhbmQgKCdw YXNzd29yZCcgbm90IGluIGRhdGEgb3IKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGRhdGFbJ3Bhc3N3b3JkJ10gPT0gJycgb3IKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICduZXdQYXNzd29yZCcgbm90 IGluIGRhdGEgb3IKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9fX2luaXRfXy5weSBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9fX2luaXRfXy5weQppbmRleCAxYjc4ODJkLi5hNzEwMGM1IDEw MDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL19f aW5pdF9fLnB5CkBAIC05LDcgKzksNyBAQAogCiAiIiJJbXBsZW1lbnRzIHRo ZSBEYXRhYmFzZSBOb2RlIiIiCiAKLWltcG9ydCBqc29uCitpbXBvcnQgc2lt cGxlanNvbiBhcyBqc29uCiBpbXBvcnQgcmUKIGZyb20gZnVuY3Rvb2xzIGlt cG9ydCB3cmFwcwogCkBAIC0xODYsMTEgKzE4NiwxMiBAQCBjbGFzcyBEYXRh YmFzZVZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgIHJldHVy biBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cnNldCkKIAogICAg ICAgICBmb3Igcm93IGluIHJzZXRbJ3Jvd3MnXToKLSAgICAgICAgICAgIGlm IHNlbGYubWFuYWdlci5kYiA9PSByb3dbJ25hbWUnXToKKyAgICAgICAgICAg IGRibmFtZSA9IHJvd1snbmFtZSddCisgICAgICAgICAgICBpZiBzZWxmLm1h bmFnZXIuZGIgPT0gZGJuYW1lOgogICAgICAgICAgICAgICAgIGNvbm5lY3Rl ZCA9IFRydWUKICAgICAgICAgICAgICAgICBjYW5Ecm9wID0gY2FuRGlzQ29u biA9IEZhbHNlCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAg IGNvbm4gPSBzZWxmLm1hbmFnZXIuY29ubmVjdGlvbihyb3dbJ25hbWUnXSkK KyAgICAgICAgICAgICAgICBjb25uID0gc2VsZi5tYW5hZ2VyLmNvbm5lY3Rp b24oZGJuYW1lKQogICAgICAgICAgICAgICAgIGNvbm5lY3RlZCA9IGNvbm4u Y29ubmVjdGVkKCkKICAgICAgICAgICAgICAgICBjYW5Ecm9wID0gY2FuRGlz Q29ubiA9IFRydWUKIApAQCAtNDQxLDcgKzQ0Miw5IEBAIGNsYXNzIERhdGFi YXNlVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICAgdSduYW1l JwogICAgICAgICBdCiAKLSAgICAgICAgZGF0YSA9IHJlcXVlc3QuZm9ybSBp ZiByZXF1ZXN0LmZvcm0gZWxzZSBqc29uLmxvYWRzKHJlcXVlc3QuZGF0YS5k ZWNvZGUoKSkKKyAgICAgICAgZGF0YSA9IHJlcXVlc3QuZm9ybSBpZiByZXF1 ZXN0LmZvcm0gZWxzZSBqc29uLmxvYWRzKAorICAgICAgICAgICAgcmVxdWVz dC5kYXRhLCBlbmNvZGluZz0ndXRmLTgnCisgICAgICAgICkKIAogICAgICAg ICBmb3IgYXJnIGluIHJlcXVpcmVkX2FyZ3M6CiAgICAgICAgICAgICBpZiBh cmcgbm90IGluIGRhdGE6CkBAIC01MTYsNyArNTE5LDcgQEAgY2xhc3MgRGF0 YWJhc2VWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICIiIlVwZGF0 ZSB0aGUgZGF0YWJhc2UuIiIiCiAKICAgICAgICAgZGF0YSA9IHJlcXVlc3Qu Zm9ybSBpZiByZXF1ZXN0LmZvcm0gZWxzZSBqc29uLmxvYWRzKAotICAgICAg ICAgICAgcmVxdWVzdC5kYXRhLmRlY29kZSgpCisgICAgICAgICAgICByZXF1 ZXN0LmRhdGEsIGVuY29kaW5nPSd1dGYtOCcKICAgICAgICAgKQogICAgICAg ICBpbmZvID0gIm5vdGhpbmcgdG8gdXBkYXRlLiIKIApAQCAtNjMzLDcgKzYz Niw3IEBAIGNsYXNzIERhdGFiYXNlVmlldyhQR0NoaWxkTm9kZVZpZXcpOgog ICAgICAgICBkYXRhID0ge30KICAgICAgICAgZm9yIGssIHYgaW4gcmVxdWVz dC5hcmdzLml0ZW1zKCk6CiAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAg ICAgICAgZGF0YVtrXSA9IGpzb24ubG9hZHModikKKyAgICAgICAgICAgICAg ICBkYXRhW2tdID0ganNvbi5sb2Fkcyh2LCBlbmNvZGluZz0ndXRmLTgnKQog ICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CiAgICAgICAgICAgICAg ICAgZGF0YVtrXSA9IHYKICAgICAgICAgdHJ5OgpAQCAtNzA1LDcgKzcwOCw3 IEBAIGNsYXNzIERhdGFiYXNlVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAg ICAgICAgICAgYWNscyA9IHJlbmRlcl90ZW1wbGF0ZSgKICAgICAgICAgICAg ICAgICAiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLCAnYWxsb3dlZF9w cml2cy5qc29uJ10pCiAgICAgICAgICAgICApCi0gICAgICAgICAgICBhY2xz ID0ganNvbi5sb2FkcyhhY2xzKQorICAgICAgICAgICAgYWNscyA9IGpzb24u bG9hZHMoYWNscywgZW5jb2Rpbmc9J3V0Zi04JykKICAgICAgICAgZXhjZXB0 IEV4Y2VwdGlvbiBhcyBlOgogICAgICAgICAgICAgY3VycmVudF9hcHAubG9n Z2VyLmV4Y2VwdGlvbihlKQogCkBAIC03MzgsNyArNzQxLDcgQEAgY2xhc3Mg RGF0YWJhc2VWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICBh Y2xzID0gcmVuZGVyX3RlbXBsYXRlKAogICAgICAgICAgICAgICAgICIvIi5q b2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICdhbGxvd2VkX3ByaXZzLmpzb24n XSkKICAgICAgICAgICAgICkKLSAgICAgICAgICAgIGFjbHMgPSBqc29uLmxv YWRzKGFjbHMpCisgICAgICAgICAgICBhY2xzID0ganNvbi5sb2FkcyhhY2xz LCBlbmNvZGluZz0ndXRmLTgnKQogICAgICAgICBleGNlcHQgRXhjZXB0aW9u IGFzIGU6CiAgICAgICAgICAgICBjdXJyZW50X2FwcC5sb2dnZXIuZXhjZXB0 aW9uKGUpCiAKQEAgLTg2MSwxNyArODY0LDIwIEBAIGNsYXNzIERhdGFiYXNl VmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICBmcm10ZF92YXJpYWJs ZXMgPSBwYXJzZV92YXJpYWJsZXNfZnJvbV9kYihyZXMxWydyb3dzJ10pCiAg ICAgICAgIHJlc3VsdC51cGRhdGUoZnJtdGRfdmFyaWFibGVzKQogCi0gICAg ICAgIHNxbF9oZWFkZXIgPSAiIiIKLS0tIERhdGFiYXNlOiB7MH0KKyAgICAg ICAgc3FsX2hlYWRlciA9ICItLSBEYXRhYmFzZTogezB9XG5cbi0tICIuZm9y bWF0KHJlc3VsdFsnbmFtZSddKQorICAgICAgICBpZiBoYXNhdHRyKHN0ciwg J2RlY29kZScpOgorICAgICAgICAgICAgc3FsX2hlYWRlciA9IHNxbF9oZWFk ZXIuZGVjb2RlKCd1dGYtOCcpCiAKLS0tIERST1AgREFUQUJBU0UgezB9Owot Ci0iIiIuZm9ybWF0KHJlc3VsdFsnbmFtZSddKQorICAgICAgICBzcWxfaGVh ZGVyICs9IHJlbmRlcl90ZW1wbGF0ZSgKKyAgICAgICAgICAgICIvIi5qb2lu KFtzZWxmLnRlbXBsYXRlX3BhdGgsICdkZWxldGUuc3FsJ10pLAorICAgICAg ICAgICAgZGF0bmFtZT1yZXN1bHRbJ25hbWUnXSwgY29ubj1zZWxmLmNvbm4K KyAgICAgICAgKQogCiAgICAgICAgIFNRTCA9IHNlbGYuZ2V0X25ld19zcWwo Z2lkLCBzaWQsIHJlc3VsdCwgZGlkKQogICAgICAgICBTUUwgPSByZS5zdWIo J1xuezIsfScsICdcblxuJywgU1FMKQotICAgICAgICBTUUwgPSBzcWxfaGVh ZGVyICsgU1FMCisgICAgICAgIFNRTCA9IHNxbF9oZWFkZXIgKyAnXG4nICsg U1FMCiAgICAgICAgIFNRTCA9IFNRTC5zdHJpcCgnXG4nKQorCiAgICAgICAg IHJldHVybiBhamF4X3Jlc3BvbnNlKHJlc3BvbnNlPVNRTCkKIAogICAgIEBj aGVja19wcmVjb25kaXRpb24oKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2Nhc3Rz L19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL2Nhc3RzL19faW5pdF9fLnB5CmluZGV4 IGYxNTlhMDUuLjkyY2NhYWIgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9jYXN0cy9f X2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvY2FzdHMvX19pbml0X18ucHkKQEAg LTksNyArOSw3IEBACiAKICIiIkltcGxlbWVudHMgQ2FzdCBOb2RlIiIiCiAK LWltcG9ydCBqc29uCitpbXBvcnQgc2ltcGxlanNvbiBhcyBqc29uCiBmcm9t IGZ1bmN0b29scyBpbXBvcnQgd3JhcHMKIAogaW1wb3J0IHBnYWRtaW4uYnJv d3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzIGFzIGRhdGFi YXNlcwpAQCAtMzQ1LDcgKzM0NSw5IEBAIGNsYXNzIENhc3RWaWV3KFBHQ2hp bGROb2RlVmlldyk6CiAgICAgICAgICAgICAndHJndHlwJwogICAgICAgICBd CiAKLSAgICAgICAgZGF0YSA9IHJlcXVlc3QuZm9ybSBpZiByZXF1ZXN0LmZv cm0gZWxzZSBqc29uLmxvYWRzKHJlcXVlc3QuZGF0YS5kZWNvZGUoKSkKKyAg ICAgICAgZGF0YSA9IHJlcXVlc3QuZm9ybSBpZiByZXF1ZXN0LmZvcm0gZWxz ZSBqc29uLmxvYWRzKAorICAgICAgICAgICAgcmVxdWVzdC5kYXRhLCBlbmNv ZGluZz0ndXRmLTgnCisgICAgICAgICkKICAgICAgICAgZm9yIGFyZyBpbiBy ZXF1aXJlZF9hcmdzOgogICAgICAgICAgICAgaWYgYXJnIG5vdCBpbiBkYXRh OgogICAgICAgICAgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2Uo CkBAIC0zOTYsNyArMzk4LDkgQEAgY2xhc3MgQ2FzdFZpZXcoUEdDaGlsZE5v ZGVWaWV3KToKICAgICAgICAgOnBhcmFtIGdpZDogZ3JvdXAgaWQKICAgICAg ICAgOnJldHVybjoKICAgICAgICAgIiIiCi0gICAgICAgIGRhdGEgPSByZXF1 ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3JtIGVsc2UganNvbi5sb2FkcyhyZXF1 ZXN0LmRhdGEuZGVjb2RlKCkpCisgICAgICAgIGRhdGEgPSByZXF1ZXN0LmZv cm0gaWYgcmVxdWVzdC5mb3JtIGVsc2UganNvbi5sb2FkcygKKyAgICAgICAg ICAgIHJlcXVlc3QuZGF0YSwgZW5jb2Rpbmc9J3V0Zi04JworICAgICAgICAp CiAgICAgICAgIHNxbCA9IHNlbGYuZ2V0X3NxbChnaWQsIHNpZCwgZGlkLCBk YXRhLCBjaWQpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGlmIHNxbCBh bmQgc3FsLnN0cmlwKCdcbicpIGFuZCBzcWwuc3RyaXAoJyAnKToKQEAgLTU0 OSw3ICs1NTMsMTAgQEAgY2xhc3MgQ2FzdFZpZXcoUEdDaGlsZE5vZGVWaWV3 KToKICAgICAgICAgOnJldHVybjoKICAgICAgICAgIiIiCiAgICAgICAgIHJl cyA9IFtdCi0gICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVz dC5mb3JtIGVsc2UganNvbi5sb2FkcyhyZXF1ZXN0LmRhdGEuZGVjb2RlKCkp CisgICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3Jt IGVsc2UganNvbi5sb2FkcygKKyAgICAgICAgICAgIHJlcXVlc3QuZGF0YSwg ZW5jb2Rpbmc9J3V0Zi04JworICAgICAgICApCisKICAgICAgICAgc3FsID0g cmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgs ICdmdW5jdGlvbnMuc3FsJ10pLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3JjdHlwPWRhdGFbJ3NyY3R5cCddLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdHJndHlwPWRhdGFbJ3RyZ3R5cCddKQpkaWZmIC0t Z2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL2V2ZW50X3RyaWdnZXJzL19faW5pdF9fLnB5IGIvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL2V2ZW50X3RyaWdnZXJzL19faW5pdF9fLnB5CmluZGV4IGY0MjkzNTYu LjZlMzljOTMgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9ldmVudF90cmlnZ2Vycy9f X2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvZXZlbnRfdHJpZ2dlcnMvX19pbml0 X18ucHkKQEAgLTcsNyArNyw3IEBACiAjCiAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIwogCi1pbXBvcnQganNvbgoraW1wb3J0IHNpbXBsZWpzb24g YXMganNvbgogaW1wb3J0IHJlCiBmcm9tIGZ1bmN0b29scyBpbXBvcnQgd3Jh cHMKIApAQCAtMzI3LDcgKzMyNywxMCBAQCBjbGFzcyBFdmVudFRyaWdnZXJW aWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgIFJldHVybnM6CiAKICAg ICAgICAgIiIiCi0gICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVx dWVzdC5mb3JtIGVsc2UganNvbi5sb2FkcyhyZXF1ZXN0LmRhdGEuZGVjb2Rl KCkpCisgICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5m b3JtIGVsc2UganNvbi5sb2FkcygKKyAgICAgICAgICAgIHJlcXVlc3QuZGF0 YSwgZW5jb2Rpbmc9J3V0Zi04JworICAgICAgICApCisKICAgICAgICAgcmVx dWlyZWRfYXJncyA9IHsKICAgICAgICAgICAgICduYW1lJzogJ05hbWUnLAog ICAgICAgICAgICAgJ2V2ZW50b3duZXInOiAnT3duZXInLApAQCAtMzkwLDcg KzM5Myw5IEBAIGNsYXNzIEV2ZW50VHJpZ2dlclZpZXcoUEdDaGlsZE5vZGVW aWV3KToKICAgICAgICAgUmV0dXJuczoKIAogICAgICAgICAiIiIKLSAgICAg ICAgZGF0YSA9IHJlcXVlc3QuZm9ybSBpZiByZXF1ZXN0LmZvcm0gZWxzZSBq c29uLmxvYWRzKHJlcXVlc3QuZGF0YS5kZWNvZGUoKSkKKyAgICAgICAgZGF0 YSA9IHJlcXVlc3QuZm9ybSBpZiByZXF1ZXN0LmZvcm0gZWxzZSBqc29uLmxv YWRzKAorICAgICAgICAgICAgcmVxdWVzdC5kYXRhLCBlbmNvZGluZz0ndXRm LTgnCisgICAgICAgICkKIAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBz cWwgPSBzZWxmLmdldF9zcWwoZGF0YSwgZXRpZCkKQEAgLTQ4OSw3ICs0OTQs NyBAQCBjbGFzcyBFdmVudFRyaWdnZXJWaWV3KFBHQ2hpbGROb2RlVmlldyk6 CiAgICAgICAgIGRhdGEgPSB7fQogICAgICAgICBmb3IgaywgdiBpbiByZXF1 ZXN0LmFyZ3MuaXRlbXMoKToKICAgICAgICAgICAgIHRyeToKLSAgICAgICAg ICAgICAgICBkYXRhW2tdID0ganNvbi5sb2Fkcyh2KQorICAgICAgICAgICAg ICAgIGRhdGFba10gPSBqc29uLmxvYWRzKHYsIGVuY29kaW5nPSd1dGYtOCcp CiAgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKICAgICAgICAgICAg ICAgICBkYXRhW2tdID0gdgogICAgICAgICB0cnk6CkBAIC01OTAsNiArNTk1 LDggQEAgY2xhc3MgRXZlbnRUcmlnZ2VyVmlldyhQR0NoaWxkTm9kZVZpZXcp OgogICAgICAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJy b3IoZXJyb3Jtc2c9ZGJfbmFtZSkKIAogICAgICAgICAgICAgc3FsX2hlYWRl ciA9ICItLSBFdmVudCBUcmlnZ2VyOiB7MH0gb24gZGF0YWJhc2UgezF9XG5c bi0tICIuZm9ybWF0KHJlc3VsdFsnbmFtZSddLCBkYl9uYW1lKQorICAgICAg ICAgICAgaWYgaGFzYXR0cihzdHIsICdkZWNvZGUnKToKKyAgICAgICAgICAg ICAgICBzcWxfaGVhZGVyID0gc3FsX2hlYWRlci5kZWNvZGUoJ3V0Zi04JykK IAogICAgICAgICAgICAgc3FsX2hlYWRlciArPSByZW5kZXJfdGVtcGxhdGUo CiAgICAgICAgICAgICAgICAgIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0 aCwgJ2RlbGV0ZS5zcWwnXSksCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvZXh0ZW5z aW9ucy9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9leHRlbnNpb25zL19faW5pdF9f LnB5CmluZGV4IGY0YzFlOWUuLmI3YzVhNzggMTAwNjQ0Ci0tLSBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9leHRlbnNpb25zL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9leHRlbnNp b25zL19faW5pdF9fLnB5CkBAIC05LDcgKzksNyBAQAogCiAiIiIgSW1wbGVt ZW50cyBFeHRlbnNpb24gTm9kZSAiIiIKIAotaW1wb3J0IGpzb24KK2ltcG9y dCBzaW1wbGVqc29uIGFzIGpzb24KIGZyb20gZnVuY3Rvb2xzIGltcG9ydCB3 cmFwcwogCiBpbXBvcnQgcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMu c2VydmVycy5kYXRhYmFzZXMgYXMgZGF0YWJhc2VzCkBAIC0yMTYsOCArMjE2 LDEwIEBAIGNsYXNzIEV4dGVuc2lvblZpZXcoUEdDaGlsZE5vZGVWaWV3KToK ICAgICAgICAgICAgICduYW1lJwogICAgICAgICBdCiAKLSAgICAgICAgZGF0 YSA9IHJlcXVlc3QuZm9ybSBpZiByZXF1ZXN0LmZvcm0gZWxzZSBcCi0gICAg ICAgICAgICBqc29uLmxvYWRzKHJlcXVlc3QuZGF0YS5kZWNvZGUoKSkKKyAg ICAgICAgZGF0YSA9IHJlcXVlc3QuZm9ybSBpZiByZXF1ZXN0LmZvcm0gZWxz ZSBqc29uLmxvYWRzKAorICAgICAgICAgICAgcmVxdWVzdC5kYXRhLCBlbmNv ZGluZz0ndXRmLTgnCisgICAgICAgICkKKwogICAgICAgICBmb3IgYXJnIGlu IHJlcXVpcmVkX2FyZ3M6CiAgICAgICAgICAgICBpZiBhcmcgbm90IGluIGRh dGE6CiAgICAgICAgICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25z ZSgKQEAgLTI2Myw4ICsyNjUsOSBAQCBjbGFzcyBFeHRlbnNpb25WaWV3KFBH Q2hpbGROb2RlVmlldyk6CiAgICAgICAgICIiIgogICAgICAgICBUaGlzIGZ1 bmN0aW9uIHdpbGwgdXBkYXRlIGFuIGV4dGVuc2lvbiBvYmplY3QKICAgICAg ICAgIiIiCi0gICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVz dC5mb3JtIGVsc2UgXAotICAgICAgICAgICAganNvbi5sb2FkcyhyZXF1ZXN0 LmRhdGEuZGVjb2RlKCkpCisgICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0g aWYgcmVxdWVzdC5mb3JtIGVsc2UganNvbi5sb2FkcygKKyAgICAgICAgICAg IHJlcXVlc3QuZGF0YSwgZW5jb2Rpbmc9J3V0Zi04JworICAgICAgICApCiAg ICAgICAgIFNRTCA9IHNlbGYuZ2V0U1FMKGdpZCwgc2lkLCBkYXRhLCBkaWQs IGVpZCkKIAogICAgICAgICB0cnk6CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvZm9y ZWlnbl9kYXRhX3dyYXBwZXJzL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2ZvcmVp Z25fZGF0YV93cmFwcGVycy9fX2luaXRfXy5weQppbmRleCBkODQ4MWViLi5l MmZhYzFlIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvZm9yZWlnbl9kYXRhX3dyYXBw ZXJzL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2RhdGFfd3Jh cHBlcnMvX19pbml0X18ucHkKQEAgLTksNyArOSw3IEBACiAKICIiIkltcGxl bWVudHMgRm9yZWlnbiBEYXRhIFdyYXBwZXIgTm9kZSIiIgogCi1pbXBvcnQg anNvbgoraW1wb3J0IHNpbXBsZWpzb24gYXMganNvbgogZnJvbSBmdW5jdG9v bHMgaW1wb3J0IHdyYXBzCiAKIGltcG9ydCBwZ2FkbWluLmJyb3dzZXIuc2Vy dmVyX2dyb3Vwcy5zZXJ2ZXJzIGFzIHNlcnZlcnMKQEAgLTM1NSw3ICszNTUs OSBAQCBjbGFzcyBGb3JlaWduRGF0YVdyYXBwZXJWaWV3KFBHQ2hpbGROb2Rl Vmlldyk6CiAgICAgICAgICAgICAnbmFtZScKICAgICAgICAgXQogCi0gICAg ICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3JtIGVsc2Ug anNvbi5sb2FkcyhyZXF1ZXN0LmRhdGEuZGVjb2RlKCkpCisgICAgICAgIGRh dGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3JtIGVsc2UganNvbi5s b2FkcygKKyAgICAgICAgICAgIHJlcXVlc3QuZGF0YSwgZW5jb2Rpbmc9J3V0 Zi04JworICAgICAgICApCiAgICAgICAgIGZvciBhcmcgaW4gcmVxdWlyZWRf YXJnczoKICAgICAgICAgICAgIGlmIGFyZyBub3QgaW4gZGF0YToKICAgICAg ICAgICAgICAgICByZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKApAQCAtNDIy LDcgKzQyNCw5IEBAIGNsYXNzIEZvcmVpZ25EYXRhV3JhcHBlclZpZXcoUEdD aGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgIGRpZDogRGF0YWJhc2UgSUQK ICAgICAgICAgICAgIGZpZDogZm9yZWlnbiBkYXRhIHdyYXBwZXIgSUQKICAg ICAgICAgIiIiCi0gICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVx dWVzdC5mb3JtIGVsc2UganNvbi5sb2FkcyhyZXF1ZXN0LmRhdGEuZGVjb2Rl KCkpCisgICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5m b3JtIGVsc2UganNvbi5sb2FkcygKKyAgICAgICAgICAgIHJlcXVlc3QuZGF0 YSwgZW5jb2Rpbmc9J3V0Zi04JworICAgICAgICApCiAgICAgICAgIHNxbCA9 IHNlbGYuZ2V0X3NxbChnaWQsIHNpZCwgZGF0YSwgZGlkLCBmaWQpCiAgICAg ICAgIHRyeToKICAgICAgICAgICAgIGlmIHNxbCBhbmQgc3FsLnN0cmlwKCdc bicpIGFuZCBzcWwuc3RyaXAoJyAnKToKQEAgLTUxMyw3ICs1MTcsNyBAQCBj bGFzcyBGb3JlaWduRGF0YVdyYXBwZXJWaWV3KFBHQ2hpbGROb2RlVmlldyk6 CiAgICAgICAgIGRhdGEgPSB7fQogICAgICAgICBmb3IgaywgdiBpbiByZXF1 ZXN0LmFyZ3MuaXRlbXMoKToKICAgICAgICAgICAgIHRyeToKLSAgICAgICAg ICAgICAgICBkYXRhW2tdID0ganNvbi5sb2Fkcyh2KQorICAgICAgICAgICAg ICAgIGRhdGFba10gPSBqc29uLmxvYWRzKHYsIGVuY29kaW5nPSd1dGYtOCcp CiAgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKICAgICAgICAgICAg ICAgICBkYXRhW2tdID0gdgogCkBAIC02NjYsNiArNjcwLDkgQEAgY2xhc3Mg Rm9yZWlnbkRhdGFXcmFwcGVyVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogCiAi IiIuZm9ybWF0KHJlc1sncm93cyddWzBdWyduYW1lJ10pCiAKKyAgICAgICAg aWYgaGFzYXR0cihzdHIsICdkZWNvZGUnKToKKyAgICAgICAgICAgIHNxbF9o ZWFkZXIgPSBzcWxfaGVhZGVyLmRlY29kZSgndXRmLTgnKQorCiAgICAgICAg IHNxbCA9IHNxbF9oZWFkZXIgKyBzcWwKIAogICAgICAgICByZXR1cm4gYWph eF9yZXNwb25zZShyZXNwb25zZT1zcWwpCmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv Zm9yZWlnbl9kYXRhX3dyYXBwZXJzL2ZvcmVpZ25fc2VydmVycy9fX2luaXRf Xy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2RhdGFfd3JhcHBlcnMvZm9yZWlnbl9z ZXJ2ZXJzL19faW5pdF9fLnB5CmluZGV4IGU0YzcxZGYuLjAwZDUyNDIgMTAw NjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2RhdGFfd3JhcHBlcnMvZm9yZWln bl9zZXJ2ZXJzL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2Rh dGFfd3JhcHBlcnMvZm9yZWlnbl9zZXJ2ZXJzL19faW5pdF9fLnB5CkBAIC05 LDcgKzksNyBAQAogCiAiIiJJbXBsZW1lbnRzIEZvcmVpZ24gU2VydmVyIE5v ZGUiIiIKIAotaW1wb3J0IGpzb24KK2ltcG9ydCBzaW1wbGVqc29uIGFzIGpz b24KIGZyb20gZnVuY3Rvb2xzIGltcG9ydCB3cmFwcwogCiBpbXBvcnQgcGdh ZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMg YXMgZGF0YWJhc2VzCkBAIC0zNTYsNyArMzU2LDkgQEAgY2xhc3MgRm9yZWln blNlcnZlclZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgICdu YW1lJwogICAgICAgICBdCiAKLSAgICAgICAgZGF0YSA9IHJlcXVlc3QuZm9y bSBpZiByZXF1ZXN0LmZvcm0gZWxzZSBqc29uLmxvYWRzKHJlcXVlc3QuZGF0 YS5kZWNvZGUoKSkKKyAgICAgICAgZGF0YSA9IHJlcXVlc3QuZm9ybSBpZiBy ZXF1ZXN0LmZvcm0gZWxzZSBqc29uLmxvYWRzKAorICAgICAgICAgICAgcmVx dWVzdC5kYXRhLCBlbmNvZGluZz0ndXRmLTgnCisgICAgICAgICkKICAgICAg ICAgZm9yIGFyZyBpbiByZXF1aXJlZF9hcmdzOgogICAgICAgICAgICAgaWYg YXJnIG5vdCBpbiBkYXRhOgogICAgICAgICAgICAgICAgIHJldHVybiBtYWtl X2pzb25fcmVzcG9uc2UoCkBAIC00MjgsNyArNDMwLDkgQEAgY2xhc3MgRm9y ZWlnblNlcnZlclZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAg IGZzaWQ6IGZvcmVpZ24gc2VydmVyIElECiAgICAgICAgICIiIgogCi0gICAg ICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3JtIGVsc2Ug anNvbi5sb2FkcyhyZXF1ZXN0LmRhdGEuZGVjb2RlKCkpCisgICAgICAgIGRh dGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3JtIGVsc2UganNvbi5s b2FkcygKKyAgICAgICAgICAgIHJlcXVlc3QuZGF0YSwgZW5jb2Rpbmc9J3V0 Zi04JworICAgICAgICApCiAgICAgICAgIHNxbCA9IHNlbGYuZ2V0X3NxbChn aWQsIHNpZCwgZGF0YSwgZGlkLCBmaWQsIGZzaWQpCiAgICAgICAgIHRyeToK ICAgICAgICAgICAgIGlmIHNxbCBhbmQgc3FsLnN0cmlwKCdcbicpIGFuZCBz cWwuc3RyaXAoJyAnKToKQEAgLTUyNiw3ICs1MzAsNyBAQCBjbGFzcyBGb3Jl aWduU2VydmVyVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICBkYXRh ID0ge30KICAgICAgICAgZm9yIGssIHYgaW4gcmVxdWVzdC5hcmdzLml0ZW1z KCk6CiAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgZGF0YVtr XSA9IGpzb24ubG9hZHModikKKyAgICAgICAgICAgICAgICBkYXRhW2tdID0g anNvbi5sb2Fkcyh2LCBlbmNvZGluZz0ndXRmLTgnKQogICAgICAgICAgICAg ZXhjZXB0IFZhbHVlRXJyb3I6CiAgICAgICAgICAgICAgICAgZGF0YVtrXSA9 IHYKIApAQCAtNzAzLDYgKzcwNyw4IEBAIGNsYXNzIEZvcmVpZ25TZXJ2ZXJW aWV3KFBHQ2hpbGROb2RlVmlldyk6CiAtLSBEUk9QIFNFUlZFUiB7MH0KIAog IiIiLmZvcm1hdChyZXNbJ3Jvd3MnXVswXVsnbmFtZSddKQorICAgICAgICBp ZiBoYXNhdHRyKHN0ciwgJ2RlY29kZScpOgorICAgICAgICAgICAgc3FsX2hl YWRlciA9IHNxbF9oZWFkZXIuZGVjb2RlKCd1dGYtOCcpCiAKICAgICAgICAg c3FsID0gc3FsX2hlYWRlciArIHNxbAogCmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv Zm9yZWlnbl9kYXRhX3dyYXBwZXJzL2ZvcmVpZ25fc2VydmVycy91c2VyX21h cHBpbmcvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvZm9yZWlnbl9kYXRhX3dyYXBw ZXJzL2ZvcmVpZ25fc2VydmVycy91c2VyX21hcHBpbmcvX19pbml0X18ucHkK aW5kZXggZWFjMDY1OS4uYjBkNGYzYyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2Zv cmVpZ25fZGF0YV93cmFwcGVycy9mb3JlaWduX3NlcnZlcnMvdXNlcl9tYXBw aW5nL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2RhdGFfd3Jh cHBlcnMvZm9yZWlnbl9zZXJ2ZXJzL3VzZXJfbWFwcGluZy9fX2luaXRfXy5w eQpAQCAtOSw3ICs5LDcgQEAKIAogIiIiSW1wbGVtZW50cyBVc2VyIE1hcHBp bmcgTm9kZSIiIgogCi1pbXBvcnQganNvbgoraW1wb3J0IHNpbXBsZWpzb24g YXMganNvbgogZnJvbSBmdW5jdG9vbHMgaW1wb3J0IHdyYXBzCiAKIGltcG9y dCBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzIGFzIHNl cnZlcnMKQEAgLTM2MSw3ICszNjEsOSBAQCBjbGFzcyBVc2VyTWFwcGluZ1Zp ZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgICduYW1lJwogICAg ICAgICBdCiAKLSAgICAgICAgZGF0YSA9IHJlcXVlc3QuZm9ybSBpZiByZXF1 ZXN0LmZvcm0gZWxzZSBqc29uLmxvYWRzKHJlcXVlc3QuZGF0YS5kZWNvZGUo KSkKKyAgICAgICAgZGF0YSA9IHJlcXVlc3QuZm9ybSBpZiByZXF1ZXN0LmZv cm0gZWxzZSBqc29uLmxvYWRzKAorICAgICAgICAgICAgcmVxdWVzdC5kYXRh LCBlbmNvZGluZz0ndXRmLTgnCisgICAgICAgICkKICAgICAgICAgZm9yIGFy ZyBpbiByZXF1aXJlZF9hcmdzOgogICAgICAgICAgICAgaWYgYXJnIG5vdCBp biBkYXRhOgogICAgICAgICAgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVz cG9uc2UoCkBAIC00MzUsNyArNDM3LDkgQEAgY2xhc3MgVXNlck1hcHBpbmdW aWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICB1bWlkOiBVc2Vy IG1hcHBpbmcgSUQKICAgICAgICAgIiIiCiAKLSAgICAgICAgZGF0YSA9IHJl cXVlc3QuZm9ybSBpZiByZXF1ZXN0LmZvcm0gZWxzZSBqc29uLmxvYWRzKHJl cXVlc3QuZGF0YS5kZWNvZGUoKSkKKyAgICAgICAgZGF0YSA9IHJlcXVlc3Qu Zm9ybSBpZiByZXF1ZXN0LmZvcm0gZWxzZSBqc29uLmxvYWRzKAorICAgICAg ICAgICAgcmVxdWVzdC5kYXRhLCBlbmNvZGluZz0ndXRmLTgnCisgICAgICAg ICkKICAgICAgICAgc3FsID0gc2VsZi5nZXRfc3FsKGdpZCwgc2lkLCBkYXRh LCBkaWQsIGZpZCwgZnNpZCwgdW1pZCkKICAgICAgICAgdHJ5OgogICAgICAg ICAgICAgaWYgc3FsIGFuZCBzcWwuc3RyaXAoJ1xuJykgYW5kIHNxbC5zdHJp cCgnICcpOgpAQCAtNTQ2LDcgKzU1MCw3IEBAIGNsYXNzIFVzZXJNYXBwaW5n VmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICBkYXRhID0ge30KICAg ICAgICAgZm9yIGssIHYgaW4gcmVxdWVzdC5hcmdzLml0ZW1zKCk6CiAgICAg ICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgZGF0YVtrXSA9IGpzb24u bG9hZHModikKKyAgICAgICAgICAgICAgICBkYXRhW2tdID0ganNvbi5sb2Fk cyh2LCBlbmNvZGluZz0ndXRmLTgnKQogICAgICAgICAgICAgZXhjZXB0IFZh bHVlRXJyb3I6CiAgICAgICAgICAgICAgICAgZGF0YVtrXSA9IHYKIApAQCAt NzA2LDYgKzcxMCw4IEBAIGNsYXNzIFVzZXJNYXBwaW5nVmlldyhQR0NoaWxk Tm9kZVZpZXcpOgogLS0gRFJPUCBVU0VSIE1BUFBJTkcgRk9SIHswfSBTRVJW RVIgezF9CiAKICIiIi5mb3JtYXQocmVzWydyb3dzJ11bMF1bJ25hbWUnXSwg ZmR3X2RhdGFbJ25hbWUnXSkKKyAgICAgICAgaWYgaGFzYXR0cihzdHIsICdk ZWNvZGUnKToKKyAgICAgICAgICAgIHNxbF9oZWFkZXIgPSBzcWxfaGVhZGVy LmRlY29kZSgndXRmLTgnKQogCiAgICAgICAgIHNxbCA9IHNxbF9oZWFkZXIg KyBzcWwKIApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2xhbmd1YWdlcy9fX2luaXRf Xy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9sYW5ndWFnZXMvX19pbml0X18ucHkKaW5kZXggNDdl ZjVmZS4uMDdjMDRlOSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2xhbmd1YWdlcy9f X2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvbGFuZ3VhZ2VzL19faW5pdF9fLnB5 CkBAIC05LDcgKzksNyBAQAogCiAiIiJJbXBsZW1lbnRzIExhbmd1YWdlIE5v ZGUiIiIKIAotaW1wb3J0IGpzb24KK2ltcG9ydCBzaW1wbGVqc29uIGFzIGpz b24KIGZyb20gZnVuY3Rvb2xzIGltcG9ydCB3cmFwcwogCiBpbXBvcnQgcGdh ZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMg YXMgZGF0YWJhc2VzCkBAIC0zNTQsNyArMzU0LDkgQEAgY2xhc3MgTGFuZ3Vh Z2VWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICBkaWQ6IERh dGFiYXNlIElECiAgICAgICAgICAgICBsaWQ6IExhbmd1YWdlIElECiAgICAg ICAgICIiIgotICAgICAgICBkYXRhID0gcmVxdWVzdC5mb3JtIGlmIHJlcXVl c3QuZm9ybSBlbHNlIGpzb24ubG9hZHMocmVxdWVzdC5kYXRhLmRlY29kZSgp KQorICAgICAgICBkYXRhID0gcmVxdWVzdC5mb3JtIGlmIHJlcXVlc3QuZm9y bSBlbHNlIGpzb24ubG9hZHMoCisgICAgICAgICAgICByZXF1ZXN0LmRhdGEs IGVuY29kaW5nPSd1dGYtOCcKKyAgICAgICAgKQogICAgICAgICBzcWwgPSBz ZWxmLmdldF9zcWwoZGF0YSwgbGlkKQogCiAgICAgICAgIHRyeToKQEAgLTQw Miw3ICs0MDQsNyBAQCBjbGFzcyBMYW5ndWFnZVZpZXcoUEdDaGlsZE5vZGVW aWV3KToKICAgICAgICAgZGF0YSA9IHt9CiAgICAgICAgIGZvciBrLCB2IGlu IHJlcXVlc3QuYXJncy5pdGVtcygpOgogICAgICAgICAgICAgdHJ5OgotICAg ICAgICAgICAgICAgIGRhdGFba10gPSBqc29uLmxvYWRzKHYpCisgICAgICAg ICAgICAgICAgZGF0YVtrXSA9IGpzb24ubG9hZHModiwgZW5jb2Rpbmc9J3V0 Zi04JykKICAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgogICAgICAg ICAgICAgICAgIGRhdGFba10gPSB2CiAKZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvX19pbml0X18u cHkKaW5kZXggN2I5OTAyNC4uZjBjZGFjYiAxMDA2NDQKLS0tIGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvX19p bml0X18ucHkKQEAgLTcsNyArNyw3IEBACiAjCiAjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIwogCi1pbXBvcnQganNvbgoraW1wb3J0IHNpbXBsZWpz b24gYXMganNvbgogaW1wb3J0IHJlCiBmcm9tIGZ1bmN0b29scyBpbXBvcnQg d3JhcHMKIApAQCAtMjYyLDcgKzI2Miw3IEBAIGNsYXNzIFNjaGVtYVZpZXco UEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgIGFjbHMgPSByZW5kZXJf dGVtcGxhdGUoCiAgICAgICAgICAgICAgICAgIi8iLmpvaW4oW3NlbGYudGVt cGxhdGVfcGF0aCwgJ2FsbG93ZWRfcHJpdnMuanNvbiddKQogICAgICAgICAg ICAgKQotICAgICAgICAgICAgYWNscyA9IGpzb24ubG9hZHMoYWNscykKKyAg ICAgICAgICAgIGFjbHMgPSBqc29uLmxvYWRzKGFjbHMsIGVuY29kaW5nPSd1 dGYtOCcpCiAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAg ICAgICAgIGN1cnJlbnRfYXBwLmxvZ2dlci5leGNlcHRpb24oZSkKIApAQCAt NDkwLDggKzQ5MCw5IEBAIEl0IG1heSBoYXZlIGJlZW4gcmVtb3ZlZCBieSBh bm90aGVyIHVzZXIuCiAgICAgICAgICAgIHNpZDogU2VydmVyIElECiAgICAg ICAgICAgIGRpZDogRGF0YWJhc2UgSUQKICAgICAgICAgIiIiCi0gICAgICAg IGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3JtIGVsc2UgXAot ICAgICAgICAgICAganNvbi5sb2FkcyhyZXF1ZXN0LmRhdGEuZGVjb2RlKCkp CisgICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3Jt IGVsc2UganNvbi5sb2FkcygKKyAgICAgICAgICAgIHJlcXVlc3QuZGF0YSwg ZW5jb2Rpbmc9J3V0Zi04JworICAgICAgICApCiAKICAgICAgICAgcmVxdWly ZWRfYXJncyA9IHsKICAgICAgICAgICAgICduYW1lJzogJ05hbWUnCkBAIC01 NTksNyArNTYwLDcgQEAgSXQgbWF5IGhhdmUgYmVlbiByZW1vdmVkIGJ5IGFu b3RoZXIgdXNlci4KICAgICAgICAgICAgc2NpZDogU2NoZW1hIElECiAgICAg ICAgICIiIgogICAgICAgICBkYXRhID0gcmVxdWVzdC5mb3JtIGlmIHJlcXVl c3QuZm9ybSBlbHNlIGpzb24ubG9hZHMoCi0gICAgICAgICAgICByZXF1ZXN0 LmRhdGEuZGVjb2RlKCkKKyAgICAgICAgICAgIHJlcXVlc3QuZGF0YSwgZW5j b2Rpbmc9J3V0Zi04JwogICAgICAgICApCiAgICAgICAgIHRyeToKICAgICAg ICAgICAgIFNRTCA9IHNlbGYuZ2V0X3NxbChnaWQsIHNpZCwgZGF0YSwgc2Np ZCkKQEAgLTY1Nyw3ICs2NTgsNyBAQCBJdCBtYXkgaGF2ZSBiZWVuIHJlbW92 ZWQgYnkgYW5vdGhlciB1c2VyLgogICAgICAgICBkYXRhID0gZGljdCgpCiAg ICAgICAgIGZvciBrLCB2IGluIHJlcXVlc3QuYXJncy5pdGVtcygpOgogICAg ICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIGRhdGFba10gPSBqc29u LmxvYWRzKHYpCisgICAgICAgICAgICAgICAgZGF0YVtrXSA9IGpzb24ubG9h ZHModiwgZW5jb2Rpbmc9J3V0Zi04JykKICAgICAgICAgICAgIGV4Y2VwdCBW YWx1ZUVycm9yOgogICAgICAgICAgICAgICAgIGRhdGFba10gPSB2CiAKQEAg LTc1NywxNCArNzU4LDE2IEBAIEl0IG1heSBoYXZlIGJlZW4gcmVtb3ZlZCBi eSBhbm90aGVyIHVzZXIuCiAgICAgICAgICAgICBfPWdldHRleHQsIGRhdGE9 ZGF0YSwgY29ubj1zZWxmLmNvbm4KICAgICAgICAgKQogCi0gICAgICAgIHNx bF9oZWFkZXIgPSAiIiIKLS0tIFNDSEVNQTogezB9Ci0KLS0tIERST1AgU0NI RU1BIHswfTsKKyAgICAgICAgc3FsX2hlYWRlciA9ICItLSBTQ0hFTUE6IHsw fVxuXG4tLSAiLmZvcm1hdChkYXRhWyduYW1lJ10pCisgICAgICAgIGlmIGhh c2F0dHIoc3RyLCAnZGVjb2RlJyk6CisgICAgICAgICAgICBzcWxfaGVhZGVy ID0gc3FsX2hlYWRlci5kZWNvZGUoJ3V0Zi04JykKIAotIiIiLmZvcm1hdChk YXRhWyduYW1lJ10pCisgICAgICAgICMgZHJvcCBzY2hlbWEKKyAgICAgICAg c3FsX2hlYWRlciArPSByZW5kZXJfdGVtcGxhdGUoCisgICAgICAgICAgICAi LyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLCAnc3FsL2RlbGV0ZS5zcWwn XSksCisgICAgICAgICAgICBfPWdldHRleHQsIG5hbWU9ZGF0YVsnbmFtZSdd LCBjb25uPXNlbGYuY29ubiwgY2FzY2FkZT1GYWxzZSkKIAotICAgICAgICBT UUwgPSBzcWxfaGVhZGVyICsgU1FMCisgICAgICAgIFNRTCA9IHNxbF9oZWFk ZXIgKyAnXG5cbicgKyBTUUwKIAogICAgICAgICByZXR1cm4gYWpheF9yZXNw b25zZShyZXNwb25zZT1TUUwuc3RyaXAoIlxuIikpCiAKQEAgLTk0Nyw2ICs5 NTAsOCBAQCBJdCBtYXkgaGF2ZSBiZWVuIHJlbW92ZWQgYnkgYW5vdGhlciB1 c2VyLgogLS0gRFJPUCBTQ0hFTUEgezB9OwogCiAiIiIuZm9ybWF0KG9sZF9k YXRhWyduYW1lJ10pCisgICAgICAgIGlmIGhhc2F0dHIoc3RyLCAnZGVjb2Rl Jyk6CisgICAgICAgICAgICBzcWxfaGVhZGVyID0gc3FsX2hlYWRlci5kZWNv ZGUoJ3V0Zi04JykKIAogICAgICAgICBTUUwgPSBzcWxfaGVhZGVyICsgU1FM CiAKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2NvbGxhdGlvbnMvX19p bml0X18ucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9jb2xsYXRpb25zL19faW5pdF9f LnB5CmluZGV4IDQ0OTJhNzkuLjZjMTViOTcgMTAwNjQ0Ci0tLSBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL2NvbGxhdGlvbnMvX19pbml0X18ucHkKKysrIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvY29sbGF0aW9ucy9fX2luaXRfXy5weQpAQCAtOSw3ICs5LDcg QEAKIAogIiIiIEltcGxlbWVudHMgQ29sbGF0aW9uIE5vZGUgIiIiCiAKLWlt cG9ydCBqc29uCitpbXBvcnQgc2ltcGxlanNvbiBhcyBqc29uCiBmcm9tIGZ1 bmN0b29scyBpbXBvcnQgd3JhcHMKIAogaW1wb3J0IHBnYWRtaW4uYnJvd3Nl ci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzIGFzIGRhdGFiYXNl CkBAIC0zNzgsNyArMzc4LDcgQEAgY2xhc3MgQ29sbGF0aW9uVmlldyhQR0No aWxkTm9kZVZpZXcpOgogICAgICAgICAiIiIKIAogICAgICAgICBkYXRhID0g cmVxdWVzdC5mb3JtIGlmIHJlcXVlc3QuZm9ybSBlbHNlIGpzb24ubG9hZHMo Ci0gICAgICAgICAgICByZXF1ZXN0LmRhdGEuZGVjb2RlKCkKKyAgICAgICAg ICAgIHJlcXVlc3QuZGF0YSwgZW5jb2Rpbmc9J3V0Zi04JwogICAgICAgICAp CiAKICAgICAgICAgcmVxdWlyZWRfYXJncyA9IFsKQEAgLTQ5MSw3ICs0OTEs NyBAQCBjbGFzcyBDb2xsYXRpb25WaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAg ICAgICAgICAgIGNvaWQ6IENvbGxhdGlvbiBJRAogICAgICAgICAiIiIKICAg ICAgICAgZGF0YSA9IHJlcXVlc3QuZm9ybSBpZiByZXF1ZXN0LmZvcm0gZWxz ZSBqc29uLmxvYWRzKAotICAgICAgICAgICAgcmVxdWVzdC5kYXRhLmRlY29k ZSgpCisgICAgICAgICAgICByZXF1ZXN0LmRhdGEsIGVuY29kaW5nPSd1dGYt OCcKICAgICAgICAgKQogICAgICAgICBTUUwgPSBzZWxmLmdldF9zcWwoZ2lk LCBzaWQsIGRhdGEsIHNjaWQsIGNvaWQpCiAgICAgICAgIHRyeToKQEAgLTUz OCw3ICs1MzgsNyBAQCBjbGFzcyBDb2xsYXRpb25WaWV3KFBHQ2hpbGROb2Rl Vmlldyk6CiAgICAgICAgIGRhdGEgPSBkaWN0KCkKICAgICAgICAgZm9yIGss IHYgaW4gcmVxdWVzdC5hcmdzLml0ZW1zKCk6CiAgICAgICAgICAgICB0cnk6 Ci0gICAgICAgICAgICAgICAgZGF0YVtrXSA9IGpzb24ubG9hZHModikKKyAg ICAgICAgICAgICAgICBkYXRhW2tdID0ganNvbi5sb2Fkcyh2LCBlbmNvZGlu Zz0ndXRmLTgnKQogICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CiAg ICAgICAgICAgICAgICAgZGF0YVtrXSA9IHYKIApAQCAtNjExLDYgKzYxMSw4 IEBAIGNsYXNzIENvbGxhdGlvblZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE9ZGF0YSwgY29ubj1z ZWxmLmNvbm4pCiAKICAgICAgICAgc3FsX2hlYWRlciA9ICItLSBDb2xsYXRp b246IHswfTtcblxuLS0gIi5mb3JtYXQoZGF0YVsnbmFtZSddKQorICAgICAg ICBpZiBoYXNhdHRyKHN0ciwgJ2RlY29kZScpOgorICAgICAgICAgICAgc3Fs X2hlYWRlciA9IHNxbF9oZWFkZXIuZGVjb2RlKCd1dGYtOCcpCiAgICAgICAg IHNxbF9oZWFkZXIgKz0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxm LnRlbXBsYXRlX3BhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnZGVsZXRlLnNxbCddKSwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1kYXRhWyduYW1l J10pCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9kb21haW5zL19faW5p dF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZG9tYWlucy9fX2luaXRfXy5weQpp bmRleCBmOWEyZDgyLi5hNzcwMGYwIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy9kb21haW5zL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L2RvbWFpbnMvX19pbml0X18ucHkKQEAgLTksNyArOSw3IEBACiAKICIiIklt cGxlbWVudHMgdGhlIERvbWFpbiBOb2RlLiIiIgogCi1pbXBvcnQganNvbgor aW1wb3J0IHNpbXBsZWpzb24gYXMganNvbgogZnJvbSBmdW5jdG9vbHMgaW1w b3J0IHdyYXBzCiAKIGltcG9ydCBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dy b3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcyBhcyBkYXRhYmFzZXMKQEAgLTE4OSw3 ICsxODksNyBAQCBjbGFzcyBEb21haW5WaWV3KFBHQ2hpbGROb2RlVmlldywg RGF0YVR5cGVSZWFkZXIpOgogCiAgICAgICAgICAgICBkYXRhID0ge30KICAg ICAgICAgICAgIGlmIHJlcXVlc3QuZGF0YToKLSAgICAgICAgICAgICAgICBy ZXEgPSBqc29uLmxvYWRzKHJlcXVlc3QuZGF0YS5kZWNvZGUoKSkKKyAgICAg ICAgICAgICAgICByZXEgPSBqc29uLmxvYWRzKHJlcXVlc3QuZGF0YSwgZW5j b2Rpbmc9J3V0Zi04JykKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAg ICAgICAgcmVxID0gcmVxdWVzdC5hcmdzIG9yIHJlcXVlc3QuZm9ybQogCkBA IC0yMTgsNyArMjE4LDcgQEAgY2xhc3MgRG9tYWluVmlldyhQR0NoaWxkTm9k ZVZpZXcsIERhdGFUeXBlUmVhZGVyKToKICAgICAgICAgICAgICAgICAgICAg aWYga2V5IGluIGxpc3RfcGFyYW1zIGFuZCByZXFba2V5XSAhPSAnJyBcCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIHJlcVtrZXldIGlzIG5v dCBOb25lOgogICAgICAgICAgICAgICAgICAgICAgICAgIyBDb3ZlcnRzIHN0 cmluZyBpbnRvIHB5dGhvbiBsaXN0IGFzIGV4cGVjdGVkLgotICAgICAgICAg ICAgICAgICAgICAgICAgZGF0YVtrZXldID0ganNvbi5sb2FkcyhyZXFba2V5 XSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFba2V5XSA9IGpzb24u bG9hZHMocmVxW2tleV0sIGVuY29kaW5nPSd1dGYtOCcpCiAgICAgICAgICAg ICAgICAgICAgIGVsaWYga2V5ID09ICd0eXBub3RudWxsJzoKICAgICAgICAg ICAgICAgICAgICAgICAgIGRhdGFba2V5XSA9IFRydWUgaWYgcmVxW2tleV0g PT0gJ3RydWUnIG9yIHJlcVtrZXldIGlzIFwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFRydWUgZWxzZSBcCkBAIC02OTUsNiArNjk1LDggQEAgQU5EIHJlbGtp bmQgIT0gJ2MnKSkiIiIKIC0tIERST1AgRE9NQUlOIHswfTsKIAogIiIiLmZv cm1hdChkYXRhWydiYXNlbnNwJ10gKyAnLicgKyBkYXRhWyduYW1lJ10pCisg ICAgICAgIGlmIGhhc2F0dHIoc3RyLCAnZGVjb2RlJyk6CisgICAgICAgICAg ICBzcWxfaGVhZGVyID0gc3FsX2hlYWRlci5kZWNvZGUoJ3V0Zi04JykKIAog ICAgICAgICBTUUwgPSBzcWxfaGVhZGVyICsgU1FMCiAKZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL2RvbWFpbnMvZG9tYWluX2NvbnN0cmFpbnRzL19f aW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZG9tYWlucy9kb21haW5fY29u c3RyYWludHMvX19pbml0X18ucHkKaW5kZXggOGRiNmIwNC4uYmE4ODNlYyAx MDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZG9tYWlucy9kb21haW5fY29u c3RyYWludHMvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZG9t YWlucy9kb21haW5fY29uc3RyYWludHMvX19pbml0X18ucHkKQEAgLTksNyAr OSw3IEBACiAKICIiIkltcGxlbWVudHMgdGhlIERvbWFpbiBDb25zdHJhaW50 IE1vZHVsZS4iIiIKIAotaW1wb3J0IGpzb24KK2ltcG9ydCBzaW1wbGVqc29u IGFzIGpzb24KIGZyb20gZnVuY3Rvb2xzIGltcG9ydCB3cmFwcwogCiBpbXBv cnQgcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRh YmFzZXMuc2NoZW1hcy5kb21haW5zIFwKQEAgLTE5Myw3ICsxOTMsNyBAQCBj bGFzcyBEb21haW5Db25zdHJhaW50VmlldyhQR0NoaWxkTm9kZVZpZXcpOgog CiAgICAgICAgICAgICBkYXRhID0ge30KICAgICAgICAgICAgIGlmIHJlcXVl c3QuZGF0YToKLSAgICAgICAgICAgICAgICByZXEgPSBqc29uLmxvYWRzKHJl cXVlc3QuZGF0YS5kZWNvZGUoKSkKKyAgICAgICAgICAgICAgICByZXEgPSBq c29uLmxvYWRzKHJlcXVlc3QuZGF0YSwgZW5jb2Rpbmc9J3V0Zi04JykKICAg ICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgcmVxID0gcmVxdWVz dC5hcmdzIG9yIHJlcXVlc3QuZm9ybQogCkBAIC01NjAsNiArNTYwLDggQEAg Y2xhc3MgRG9tYWluQ29uc3RyYWludFZpZXcoUEdDaGlsZE5vZGVWaWV3KToK IC0tIEFMVEVSIERPTUFJTiB7MX0gRFJPUCBDT05TVFJBSU5UIHswfTsKIAog IiIiLmZvcm1hdChkYXRhWyduYW1lJ10sIHNjaGVtYSArICcuJyArIGRvbWFp bikKKyAgICAgICAgaWYgaGFzYXR0cihzdHIsICdkZWNvZGUnKToKKyAgICAg ICAgICAgIHNxbF9oZWFkZXIgPSBzcWxfaGVhZGVyLmRlY29kZSgndXRmLTgn KQogCiAgICAgICAgIFNRTCA9IHNxbF9oZWFkZXIgKyBTUUwKIApkaWZmIC0t Z2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9yZWlnbl90YWJsZXMvX19pbml0X18u cHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy9mb3JlaWduX3RhYmxlcy9fX2luaXRfXy5w eQppbmRleCA3YjY5OGMwLi4zMmE1ZjY1IDEwMDY0NAotLS0gYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy9mb3JlaWduX3RhYmxlcy9fX2luaXRfXy5weQorKysgYi93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy9mb3JlaWduX3RhYmxlcy9fX2luaXRfXy5weQpAQCAtOSw3 ICs5LDcgQEAKIAogIiIiSW1wbGVtZW50cyB0aGUgRm9yZWlnbiBUYWJsZSBN b2R1bGUuIiIiCiAKLWltcG9ydCBqc29uCitpbXBvcnQgc2ltcGxlanNvbiBh cyBqc29uCiBpbXBvcnQgc3lzCiBpbXBvcnQgdHJhY2ViYWNrCiBmcm9tIGZ1 bmN0b29scyBpbXBvcnQgd3JhcHMKQEAgLTIzMiw3ICsyMzIsNyBAQCBjbGFz cyBGb3JlaWduVGFibGVWaWV3KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVS ZWFkZXIpOgogICAgICAgICAgICAgZGF0YSA9IHt9CiAKICAgICAgICAgICAg IGlmIHJlcXVlc3QuZGF0YToKLSAgICAgICAgICAgICAgICByZXEgPSBqc29u LmxvYWRzKHJlcXVlc3QuZGF0YS5kZWNvZGUoKSkKKyAgICAgICAgICAgICAg ICByZXEgPSBqc29uLmxvYWRzKHJlcXVlc3QuZGF0YSwgZW5jb2Rpbmc9J3V0 Zi04JykKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgcmVx ID0gcmVxdWVzdC5hcmdzIG9yIHJlcXVlc3QuZm9ybQogCkBAIC0yNjcsNyAr MjY3LDcgQEAgY2xhc3MgRm9yZWlnblRhYmxlVmlldyhQR0NoaWxkTm9kZVZp ZXcsIERhdGFUeXBlUmVhZGVyKToKICAgICAgICAgICAgICAgICAgICAgICAg ICMgQ292ZXJ0cyBzdHJpbmcgaW50byBweXRob24gbGlzdCBhcyBleHBlY3Rl ZC4KICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFba2V5XSA9IFtdIGlm IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlKHJlcVtrZXld KSA9PSBsaXN0IGFuZCBsZW4ocmVxW2tleV0pID09IDAgZWxzZSBcCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAganNvbi5sb2FkcyhyZXFba2V5XSkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBqc29uLmxvYWRzKHJlcVtr ZXldLCBlbmNvZGluZz0ndXRmLTgnKQogCiAgICAgICAgICAgICAgICAgICAg ICAgICBpZiBrZXkgPT0gJ2luaGVyaXRzJzoKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjIENvbnZlcnQgVGFibGUgaWRzIGZyb20gdW5pY29kZS9z dHJpbmcgdG8gaW50CkBAIC04MjIsNiArODIyLDggQEAgQU5EIHJlbGtpbmQg IT0gJ2MnKSkiIiIKIC0tIERST1AgezB9IHsxfTsKIAogIiIiLmZvcm1hdCgn Rk9SRUlHTiBUQUJMRScsIGRhdGFbJ2Jhc2Vuc3AnXSArICIuIiArIGRhdGFb J25hbWUnXSkKKyAgICAgICAgaWYgaGFzYXR0cihzdHIsICdkZWNvZGUnKToK KyAgICAgICAgICAgIHNxbF9oZWFkZXIgPSBzcWxfaGVhZGVyLmRlY29kZSgn dXRmLTgnKQogCiAgICAgICAgIFNRTCA9IHNxbF9oZWFkZXIgKyBTUUwKIApA QCAtMTE5NCw3ICsxMTk2LDcgQEAgQU5EIHJlbGtpbmQgIT0gJ2MnKSkiIiIK ICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGNvbHVtbnMgPSAnKicKIAot ICAgICAgICBzcWwgPSAiU0VMRUNUIHswfVxuXHRGUk9NIHsxfTsiLmZvcm1h dCgKKyAgICAgICAgc3FsID0gdSJTRUxFQ1QgezB9XG5cdEZST00gezF9OyIu Zm9ybWF0KAogICAgICAgICAgICAgY29sdW1ucywKICAgICAgICAgICAgIHNl bGYucXRJZGVudChzZWxmLmNvbm4sIGRhdGFbJ2Jhc2Vuc3AnXSwgZGF0YVsn bmFtZSddKQogICAgICAgICApCkBAIC0xMjMwLDcgKzEyMzIsNyBAQCBBTkQg cmVsa2luZCAhPSAnYycpKSIiIgogICAgICAgICBpZiBsZW4oY29sdW1ucykg PiAwOgogICAgICAgICAgICAgY29sdW1ucyA9ICIsICIuam9pbihjb2x1bW5z KQogICAgICAgICAgICAgdmFsdWVzID0gIiwgIi5qb2luKHZhbHVlcykKLSAg ICAgICAgICAgIHNxbCA9ICJJTlNFUlQgSU5UTyB7MH0oXG5cdHsxfSlcblx0 VkFMVUVTICh7Mn0pOyIuZm9ybWF0KAorICAgICAgICAgICAgc3FsID0gdSJJ TlNFUlQgSU5UTyB7MH0oXG5cdHsxfSlcblx0VkFMVUVTICh7Mn0pOyIuZm9y bWF0KAogICAgICAgICAgICAgICAgIHNlbGYucXRJZGVudChzZWxmLmNvbm4s IGRhdGFbJ2Jhc2Vuc3AnXSwgZGF0YVsnbmFtZSddKSwKICAgICAgICAgICAg ICAgICBjb2x1bW5zLCB2YWx1ZXMKICAgICAgICAgICAgICkKQEAgLTEyNzEs NyArMTI3Myw3IEBAIEFORCByZWxraW5kICE9ICdjJykpIiIiCiAgICAgICAg ICAgICAgICAgY29sdW1ucyA9ICI9PywgIi5qb2luKGNvbHVtbnMpCiAgICAg ICAgICAgICAgICAgY29sdW1ucyArPSAiPT8iCiAKLSAgICAgICAgICAgIHNx bCA9ICJVUERBVEUgezB9XG5cdFNFVCB7MX1cblx0V0hFUkUgPGNvbmRpdGlv bj47Ii5mb3JtYXQoCisgICAgICAgICAgICBzcWwgPSB1IlVQREFURSB7MH1c blx0U0VUIHsxfVxuXHRXSEVSRSA8Y29uZGl0aW9uPjsiLmZvcm1hdCgKICAg ICAgICAgICAgICAgICBzZWxmLnF0SWRlbnQoc2VsZi5jb25uLCBkYXRhWydi YXNlbnNwJ10sIGRhdGFbJ25hbWUnXSksCiAgICAgICAgICAgICAgICAgY29s dW1ucwogICAgICAgICAgICAgKQpAQCAtMTI5Nyw3ICsxMjk5LDcgQEAgQU5E IHJlbGtpbmQgIT0gJ2MnKSkiIiIKICAgICAgICAgIiIiCiAgICAgICAgIGRh dGEgPSBzZWxmLl9mZXRjaF9wcm9wZXJ0aWVzKGdpZCwgc2lkLCBkaWQsIHNj aWQsIGZvaWQpCiAKLSAgICAgICAgc3FsID0gIkRFTEVURSBGUk9NIHswfVxu XHRXSEVSRSA8Y29uZGl0aW9uPjsiLmZvcm1hdCgKKyAgICAgICAgc3FsID0g dSJERUxFVEUgRlJPTSB7MH1cblx0V0hFUkUgPGNvbmRpdGlvbj47Ii5mb3Jt YXQoCiAgICAgICAgICAgICBzZWxmLnF0SWRlbnQoc2VsZi5jb25uLCBkYXRh WydiYXNlbnNwJ10sIGRhdGFbJ25hbWUnXSkKICAgICAgICAgKQogCmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdHNfY29uZmlndXJhdGlvbnMvX19p bml0X18ucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdHNfY29uZmlndXJhdGlvbnMv X19pbml0X18ucHkKaW5kZXggNjlmMDM0OC4uODBlOTAwZSAxMDA2NDQKLS0t IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvZnRzX2NvbmZpZ3VyYXRpb25zL19faW5pdF9f LnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z0c19jb25maWd1cmF0aW9ucy9f X2luaXRfXy5weQpAQCAtOSw3ICs5LDcgQEAKIAogIiIiRGVmaW5lcyB2aWV3 cyBmb3IgbWFuYWdlbWVudCBvZiBGdHMgQ29uZmlndXJhdGlvbiBub2RlIiIi CiAKLWltcG9ydCBqc29uCitpbXBvcnQgc2ltcGxlanNvbiBhcyBqc29uCiBm cm9tIGZ1bmN0b29scyBpbXBvcnQgd3JhcHMKIAogaW1wb3J0IHBnYWRtaW4u YnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzIGFzIGRh dGFiYXNlcwpAQCAtNDA0LDcgKzQwNCw4IEBAIGNsYXNzIEZ0c0NvbmZpZ3Vy YXRpb25WaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgIF0KIAogICAg ICAgICBkYXRhID0gcmVxdWVzdC5mb3JtIGlmIHJlcXVlc3QuZm9ybSBlbHNl IGpzb24ubG9hZHMoCi0gICAgICAgICAgICByZXF1ZXN0LmRhdGEuZGVjb2Rl KCkpCisgICAgICAgICAgICByZXF1ZXN0LmRhdGEsIGVuY29kaW5nPSd1dGYt OCcKKyAgICAgICAgKQogICAgICAgICBmb3IgYXJnIGluIHJlcXVpcmVkX2Fy Z3M6CiAgICAgICAgICAgICBpZiBhcmcgbm90IGluIGRhdGE6CiAgICAgICAg ICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKQEAgLTQ4NCw3 ICs0ODUsOCBAQCBjbGFzcyBGdHNDb25maWd1cmF0aW9uVmlldyhQR0NoaWxk Tm9kZVZpZXcpOgogICAgICAgICA6cGFyYW0gY2ZnaWQ6IGZ0cyBDb25maWd1 cmF0aW9uIGlkCiAgICAgICAgICIiIgogICAgICAgICBkYXRhID0gcmVxdWVz dC5mb3JtIGlmIHJlcXVlc3QuZm9ybSBlbHNlIGpzb24ubG9hZHMoCi0gICAg ICAgICAgICByZXF1ZXN0LmRhdGEuZGVjb2RlKCkpCisgICAgICAgICAgICBy ZXF1ZXN0LmRhdGEsIGVuY29kaW5nPSd1dGYtOCcKKyAgICAgICAgKQogCiAg ICAgICAgICMgRmV0Y2ggc3FsIHF1ZXJ5IHRvIHVwZGF0ZSBmdHMgQ29uZmln dXJhdGlvbgogICAgICAgICBzcWwgPSBzZWxmLmdldF9zcWwoZ2lkLCBzaWQs IGRpZCwgc2NpZCwgZGF0YSwgY2ZnaWQpCkBAIC02MTQsNyArNjE2LDcgQEAg Y2xhc3MgRnRzQ29uZmlndXJhdGlvblZpZXcoUEdDaGlsZE5vZGVWaWV3KToK ICAgICAgICAgZGF0YSA9IHt9CiAgICAgICAgIGZvciBrLCB2IGluIHJlcXVl c3QuYXJncy5pdGVtcygpOgogICAgICAgICAgICAgdHJ5OgotICAgICAgICAg ICAgICAgIGRhdGFba10gPSBqc29uLmxvYWRzKHYpCisgICAgICAgICAgICAg ICAgZGF0YVtrXSA9IGpzb24ubG9hZHModiwgZW5jb2Rpbmc9J3V0Zi04JykK ICAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgogICAgICAgICAgICAg ICAgIGRhdGFba10gPSB2CiAKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L2Z0c19kaWN0aW9uYXJpZXMvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy9mdHNfZGljdGlvbmFyaWVzL19faW5pdF9fLnB5CmluZGV4IDk4N2NkNmQu LmJiOTBkYzYgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z0c19kaWN0 aW9uYXJpZXMvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnRz X2RpY3Rpb25hcmllcy9fX2luaXRfXy5weQpAQCAtOSw3ICs5LDcgQEAKIAog IiIiRGVmaW5lcyB2aWV3cyBmb3IgbWFuYWdlbWVudCBvZiBGdHMgRGljdGlv bmFyeSBub2RlIiIiCiAKLWltcG9ydCBqc29uCitpbXBvcnQgc2ltcGxlanNv biBhcyBqc29uCiBmcm9tIGZ1bmN0b29scyBpbXBvcnQgd3JhcHMKIAogaW1w b3J0IHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0 YWJhc2VzIGFzIGRhdGFiYXNlcwpAQCAtNDA5LDcgKzQwOSw4IEBAIGNsYXNz IEZ0c0RpY3Rpb25hcnlWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAg IF0KIAogICAgICAgICBkYXRhID0gcmVxdWVzdC5mb3JtIGlmIHJlcXVlc3Qu Zm9ybSBlbHNlIGpzb24ubG9hZHMoCi0gICAgICAgICAgICByZXF1ZXN0LmRh dGEuZGVjb2RlKCkpCisgICAgICAgICAgICByZXF1ZXN0LmRhdGEsIGVuY29k aW5nPSd1dGYtOCcKKyAgICAgICAgKQogICAgICAgICBmb3IgYXJnIGluIHJl cXVpcmVkX2FyZ3M6CiAgICAgICAgICAgICBpZiBhcmcgbm90IGluIGRhdGE6 CiAgICAgICAgICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgK QEAgLTQ3NSw3ICs0NzYsOCBAQCBjbGFzcyBGdHNEaWN0aW9uYXJ5VmlldyhQ R0NoaWxkTm9kZVZpZXcpOgogICAgICAgICA6cGFyYW0gZGNpZDogZnRzIGRp Y3Rpb25hcnkgaWQKICAgICAgICAgIiIiCiAgICAgICAgIGRhdGEgPSByZXF1 ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3JtIGVsc2UganNvbi5sb2FkcygKLSAg ICAgICAgICAgIHJlcXVlc3QuZGF0YS5kZWNvZGUoKSkKKyAgICAgICAgICAg IHJlcXVlc3QuZGF0YSwgZW5jb2Rpbmc9J3V0Zi04JworICAgICAgICApCiAK ICAgICAgICAgIyBGZXRjaCBzcWwgcXVlcnkgdG8gdXBkYXRlIGZ0cyBkaWN0 aW9uYXJ5CiAgICAgICAgIHNxbCA9IHNlbGYuZ2V0X3NxbChnaWQsIHNpZCwg ZGlkLCBzY2lkLCBkYXRhLCBkY2lkKQpAQCAtNjAwLDcgKzYwMiw3IEBAIGNs YXNzIEZ0c0RpY3Rpb25hcnlWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAg ICAgIGRhdGEgPSB7fQogICAgICAgICBmb3IgaywgdiBpbiByZXF1ZXN0LmFy Z3MuaXRlbXMoKToKICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAg ICBkYXRhW2tdID0ganNvbi5sb2Fkcyh2KQorICAgICAgICAgICAgICAgIGRh dGFba10gPSBqc29uLmxvYWRzKHYsIGVuY29kaW5nPSd1dGYtOCcpCiAgICAg ICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKICAgICAgICAgICAgICAgICBk YXRhW2tdID0gdgogCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdHNf cGFyc2VyL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnRzX3BhcnNl ci9fX2luaXRfXy5weQppbmRleCBkNmFhZTYwLi45NTY2MDRkIDEwMDY0NAot LS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy9mdHNfcGFyc2VyL19faW5pdF9fLnB5Cisr KyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL2Z0c19wYXJzZXIvX19pbml0X18ucHkKQEAg LTksNyArOSw3IEBACiAKICIiIkRlZmluZXMgdmlld3MgZm9yIG1hbmFnZW1l bnQgb2YgRlRTIFBhcnNlciBub2RlIiIiCiAKLWltcG9ydCBqc29uCitpbXBv cnQgc2ltcGxlanNvbiBhcyBqc29uCiBmcm9tIGZ1bmN0b29scyBpbXBvcnQg d3JhcHMKIAogZnJvbSBmbGFzayBpbXBvcnQgcmVuZGVyX3RlbXBsYXRlLCBy ZXF1ZXN0LCBqc29uaWZ5LCBjdXJyZW50X2FwcApAQCAtMzQ1LDcgKzM0NSw4 IEBAIGNsYXNzIEZ0c1BhcnNlclZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAg ICAgICAgXQogCiAgICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVx dWVzdC5mb3JtIGVsc2UganNvbi5sb2FkcygKLSAgICAgICAgICAgIHJlcXVl c3QuZGF0YS5kZWNvZGUoKSkKKyAgICAgICAgICAgIHJlcXVlc3QuZGF0YSwg ZW5jb2Rpbmc9J3V0Zi04JworICAgICAgICApCiAgICAgICAgIGZvciBhcmcg aW4gcmVxdWlyZWRfYXJnczoKICAgICAgICAgICAgIGlmIGFyZyBub3QgaW4g ZGF0YToKICAgICAgICAgICAgICAgICByZXR1cm4gbWFrZV9qc29uX3Jlc3Bv bnNlKApAQCAtNDEzLDcgKzQxNCw4IEBAIGNsYXNzIEZ0c1BhcnNlclZpZXco UEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgOnBhcmFtIHBpZDogZnRzIHBh cnNlciBpZAogICAgICAgICAiIiIKICAgICAgICAgZGF0YSA9IHJlcXVlc3Qu Zm9ybSBpZiByZXF1ZXN0LmZvcm0gZWxzZSBqc29uLmxvYWRzKAotICAgICAg ICAgICAgcmVxdWVzdC5kYXRhLmRlY29kZSgpKQorICAgICAgICAgICAgcmVx dWVzdC5kYXRhLCBlbmNvZGluZz0ndXRmLTgnCisgICAgICAgICkKIAogICAg ICAgICAjIEZldGNoIHNxbCBxdWVyeSB0byB1cGRhdGUgZnRzIHBhcnNlcgog ICAgICAgICBzcWwgPSBzZWxmLmdldF9zcWwoZ2lkLCBzaWQsIGRpZCwgc2Np ZCwgZGF0YSwgcGlkKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnRz X3RlbXBsYXRlcy9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z0c190 ZW1wbGF0ZXMvX19pbml0X18ucHkKaW5kZXggNjYxMjk5OC4uNGE2ZDY2MSAx MDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnRzX3RlbXBsYXRlcy9fX2lu aXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdHNfdGVtcGxhdGVzL19f aW5pdF9fLnB5CkBAIC05LDcgKzksNyBAQAogCiAiIiJEZWZpbmVzIHZpZXdz IGZvciBtYW5hZ2VtZW50IG9mIEZ0cyBUZW1wbGF0ZSBub2RlIiIiCiAKLWlt cG9ydCBqc29uCitpbXBvcnQgc2ltcGxlanNvbiBhcyBqc29uCiBmcm9tIGZ1 bmN0b29scyBpbXBvcnQgd3JhcHMKIAogZnJvbSBmbGFzayBpbXBvcnQgcmVu ZGVyX3RlbXBsYXRlLCBtYWtlX3Jlc3BvbnNlLCByZXF1ZXN0LCBqc29uaWZ5 CkBAIC0zMjIsNyArMzIyLDggQEAgY2xhc3MgRnRzVGVtcGxhdGVWaWV3KFBH Q2hpbGROb2RlVmlldyk6CiAgICAgICAgIF0KIAogICAgICAgICBkYXRhID0g cmVxdWVzdC5mb3JtIGlmIHJlcXVlc3QuZm9ybSBlbHNlIGpzb24ubG9hZHMo Ci0gICAgICAgICAgICByZXF1ZXN0LmRhdGEuZGVjb2RlKCkpCisgICAgICAg ICAgICByZXF1ZXN0LmRhdGEsIGVuY29kaW5nPSd1dGYtOCcKKyAgICAgICAg KQogICAgICAgICBmb3IgYXJnIGluIHJlcXVpcmVkX2FyZ3M6CiAgICAgICAg ICAgICBpZiBhcmcgbm90IGluIGRhdGE6CiAgICAgICAgICAgICAgICAgcmV0 dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKQEAgLTM4Nyw3ICszODgsOCBAQCBj bGFzcyBGdHNUZW1wbGF0ZVZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAg ICAgOnBhcmFtIHRpZDogZnRzIHRlbXBhdGUgaWQKICAgICAgICAgIiIiCiAg ICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3JtIGVs c2UganNvbi5sb2FkcygKLSAgICAgICAgICAgIHJlcXVlc3QuZGF0YS5kZWNv ZGUoKSkKKyAgICAgICAgICAgIHJlcXVlc3QuZGF0YSwgZW5jb2Rpbmc9J3V0 Zi04JworICAgICAgICApCiAKICAgICAgICAgIyBGZXRjaCBzcWwgcXVlcnkg dG8gdXBkYXRlIGZ0cyB0ZW1wbGF0ZQogICAgICAgICBzcWwgPSBzZWxmLmdl dF9zcWwoZ2lkLCBzaWQsIGRpZCwgc2NpZCwgZGF0YSwgdGlkKQpkaWZmIC0t Z2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL19faW5pdF9fLnB5IGIv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL19faW5pdF9fLnB5CmluZGV4IDk4 NzNiYTMuLmQ0NWRjMzIgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1 bmN0aW9ucy9fX2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdW5j dGlvbnMvX19pbml0X18ucHkKQEAgLTEwLDcgKzEwLDcgQEAKICIiIkltcGxl bWVudHMgRnVuY3Rpb25zL1Byb2NlZHVyZXMgTm9kZS4iIiIKIAogaW1wb3J0 IGNvcHkKLWltcG9ydCBqc29uCitpbXBvcnQgc2ltcGxlanNvbiBhcyBqc29u CiBpbXBvcnQgcmUKIGltcG9ydCBzeXMKIGltcG9ydCB0cmFjZWJhY2sKQEAg LTI1Miw3ICsyNTIsNyBAQCBjbGFzcyBGdW5jdGlvblZpZXcoUEdDaGlsZE5v ZGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6CiAKICAgICAgICAgICAgIGRhdGEg PSB7fQogICAgICAgICAgICAgaWYgcmVxdWVzdC5kYXRhOgotICAgICAgICAg ICAgICAgIHJlcSA9IGpzb24ubG9hZHMocmVxdWVzdC5kYXRhLmRlY29kZSgp KQorICAgICAgICAgICAgICAgIHJlcSA9IGpzb24ubG9hZHMocmVxdWVzdC5k YXRhLCBlbmNvZGluZz0ndXRmLTgnKQogICAgICAgICAgICAgZWxzZToKICAg ICAgICAgICAgICAgICByZXEgPSByZXF1ZXN0LmFyZ3Mgb3IgcmVxdWVzdC5m b3JtCiAKQEAgLTI4MCw3ICsyODAsNyBAQCBjbGFzcyBGdW5jdGlvblZpZXco UEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6CiAgICAgICAgICAg ICAgICAgICAgIGlmIGtleSBpbiBsaXN0X3BhcmFtcyBhbmQgcmVxW2tleV0g IT0gJycgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCByZXFb a2V5XSBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICAgICAgICAgICMg Q292ZXJ0cyBzdHJpbmcgaW50byBweXRob24gbGlzdCBhcyBleHBlY3RlZC4K LSAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFba2V5XSA9IGpzb24ubG9h ZHMocmVxW2tleV0pCisgICAgICAgICAgICAgICAgICAgICAgICBkYXRhW2tl eV0gPSBqc29uLmxvYWRzKHJlcVtrZXldLCBlbmNvZGluZz0ndXRmLTgnKQog ICAgICAgICAgICAgICAgICAgICBlbGlmICgKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleSA9PSAncHJvcmV0 c2V0JyBvciBrZXkgPT0gJ3Byb2lzc3RyaWN0JyBvcgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXkgPT0gJ3Byb3Nl Y2RlZicgb3Iga2V5ID09ICdwcm9pc3dpbmRvdycgb3IKQEAgLTk2MCw2ICs5 NjAsOCBAQCBjbGFzcyBGdW5jdGlvblZpZXcoUEdDaGlsZE5vZGVWaWV3LCBE YXRhVHlwZVJlYWRlcik6CiAtLSBEUk9QIHswfSB7MX07CiAKICIiIi5mb3Jt YXQob2JqZWN0X3R5cGUudXBwZXIoKSwgbmFtZSkKKyAgICAgICAgaWYgaGFz YXR0cihzdHIsICdkZWNvZGUnKToKKyAgICAgICAgICAgIHNxbF9oZWFkZXIg PSBzcWxfaGVhZGVyLmRlY29kZSgndXRmLTgnKQogCiAgICAgICAgIFNRTCA9 IHNxbF9oZWFkZXIgKyBmdW5jX2RlZgogICAgICAgICBTUUwgPSByZS5zdWIo J1xuezIsfScsICdcblxuJywgU1FMKQpAQCAtMTEyNCw3ICsxMTI2LDcgQEAg Y2xhc3MgRnVuY3Rpb25WaWV3KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVS ZWFkZXIpOgogICAgICAgICAgICAgICAgIGlmICdhY2wnIGluIGRhdGE6CiAg ICAgICAgICAgICAgICAgICAgIGRhdGFbJ2FjbCddID0gcGFyc2VfcHJpdl90 b19kYihkYXRhWydhY2wnXSwgWyJYIl0pCiAKLSAgICAgICAgICAgICAgICBh cmdzID0gJycKKyAgICAgICAgICAgICAgICBhcmdzID0gdScnCiAgICAgICAg ICAgICAgICAgY250ID0gMQogICAgICAgICAgICAgICAgIGlmICdhcmd1bWVu dHMnIGluIGRhdGE6CiAgICAgICAgICAgICAgICAgICAgIGZvciBhIGluIGRh dGFbJ2FyZ3VtZW50cyddOgpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv c2VxdWVuY2VzL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvc2VxdWVu Y2VzL19faW5pdF9fLnB5CmluZGV4IDVmNTVlOTcuLjA0ODA0NmEgMTAwNjQ0 Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3NlcXVlbmNlcy9fX2luaXRfXy5weQor KysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy9zZXF1ZW5jZXMvX19pbml0X18ucHkKQEAg LTksNyArOSw3IEBACiAKICIiIkltcGxlbWVudHMgU2VxdWVuY2UgTm9kZSIi IgogCi1pbXBvcnQganNvbgoraW1wb3J0IHNpbXBsZWpzb24gYXMganNvbgog ZnJvbSBmdW5jdG9vbHMgaW1wb3J0IHdyYXBzCiAKIGltcG9ydCBwZ2FkbWlu LmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcyBhcyBk YXRhYmFzZQpAQCAtMzAyLDcgKzMwMiw5IEBAIGNsYXNzIFNlcXVlbmNlVmll dyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICAgdSdzZXFvd25lcics CiAgICAgICAgIF0KIAotICAgICAgICBkYXRhID0gcmVxdWVzdC5mb3JtIGlm IHJlcXVlc3QuZm9ybSBlbHNlIGpzb24ubG9hZHMocmVxdWVzdC5kYXRhLmRl Y29kZSgpKQorICAgICAgICBkYXRhID0gcmVxdWVzdC5mb3JtIGlmIHJlcXVl c3QuZm9ybSBlbHNlIGpzb24ubG9hZHMoCisgICAgICAgICAgICByZXF1ZXN0 LmRhdGEsIGVuY29kaW5nPSd1dGYtOCcKKyAgICAgICAgKQogCiAgICAgICAg IGZvciBhcmcgaW4gcmVxdWlyZWRfYXJnczoKICAgICAgICAgICAgIGlmIGFy ZyBub3QgaW4gZGF0YToKQEAgLTQxOCw3ICs0MjAsOSBAQCBjbGFzcyBTZXF1 ZW5jZVZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgUmV0dXJuczoK IAogICAgICAgICAiIiIKLSAgICAgICAgZGF0YSA9IHJlcXVlc3QuZm9ybSBp ZiByZXF1ZXN0LmZvcm0gZWxzZSBqc29uLmxvYWRzKHJlcXVlc3QuZGF0YS5k ZWNvZGUoKSkKKyAgICAgICAgZGF0YSA9IHJlcXVlc3QuZm9ybSBpZiByZXF1 ZXN0LmZvcm0gZWxzZSBqc29uLmxvYWRzKAorICAgICAgICAgICAgcmVxdWVz dC5kYXRhLCBlbmNvZGluZz0ndXRmLTgnCisgICAgICAgICkKICAgICAgICAg dHJ5OgogICAgICAgICAgICAgU1FMID0gc2VsZi5nZXRTUUwoZ2lkLCBzaWQs IGRpZCwgZGF0YSwgc2NpZCwgc2VpZCkKICAgICAgICAgICAgIFNRTCA9IFNR TC5zdHJpcCgnXG4nKS5zdHJpcCgnICcpCkBAIC00NzAsNyArNDc0LDcgQEAg Y2xhc3MgU2VxdWVuY2VWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAg IGRhdGEgPSB7fQogICAgICAgICBmb3IgaywgdiBpbiByZXF1ZXN0LmFyZ3Mu aXRlbXMoKToKICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBk YXRhW2tdID0ganNvbi5sb2Fkcyh2KQorICAgICAgICAgICAgICAgIGRhdGFb a10gPSBqc29uLmxvYWRzKHYsIGVuY29kaW5nPSd1dGYtOCcpCiAgICAgICAg ICAgICBleGNlcHQgVmFsdWVFcnJvcjoKICAgICAgICAgICAgICAgICBkYXRh W2tdID0gdgogCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMv X19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvX19pbml0X18u cHkKaW5kZXggZTY3YWRkNS4uMjUyYjNlOSAxMDA2NDQKLS0tIGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvdGFibGVzL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL3RhYmxlcy9fX2luaXRfXy5weQpAQCAtOSw3ICs5LDcgQEAKIAogIiIi IEltcGxlbWVudHMgVGFibGUgTm9kZSAiIiIKIAotaW1wb3J0IGpzb24KK2lt cG9ydCBzaW1wbGVqc29uIGFzIGpzb24KIGltcG9ydCByZQogZnJvbSBmdW5j dG9vbHMgaW1wb3J0IHdyYXBzCiAKQEAgLTEzNDgsMTEgKzEzNDgsMTMgQEAg Y2xhc3MgVGFibGVWaWV3KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVSZWFk ZXIsIFZhY3V1bVNldHRpbmdzKToKICAgICAgICAgICAgZGlkOiBEYXRhYmFz ZSBJRAogICAgICAgICAgICBzY2lkOiBTY2hlbWEgSUQKICAgICAgICAgIiIi Ci0gICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3Jt IGVsc2UganNvbi5sb2FkcyhyZXF1ZXN0LmRhdGEuZGVjb2RlKCkpCisgICAg ICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3JtIGVsc2Ug anNvbi5sb2FkcygKKyAgICAgICAgICAgIHJlcXVlc3QuZGF0YSwgZW5jb2Rp bmc9J3V0Zi04JworICAgICAgICApCiAKICAgICAgICAgZm9yIGssIHYgaW4g ZGF0YS5pdGVtcygpOgogICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAg ICAgIGRhdGFba10gPSBqc29uLmxvYWRzKHYpCisgICAgICAgICAgICAgICAg ZGF0YVtrXSA9IGpzb24ubG9hZHModiwgZW5jb2Rpbmc9J3V0Zi04JykKICAg ICAgICAgICAgIGV4Y2VwdCAoVmFsdWVFcnJvciwgVHlwZUVycm9yKToKICAg ICAgICAgICAgICAgICBkYXRhW2tdID0gdgogCkBAIC0xMzgxLDcgKzEzODMs OSBAQCBjbGFzcyBUYWJsZVZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlw ZVJlYWRlciwgVmFjdXVtU2V0dGluZ3MpOgogICAgICAgICAjIFdlIHdpbGwg Y29udmVydCBpdCBhZ2FpbiB0byBsaXN0CiAgICAgICAgIGlmICdjb2xsX2lu aGVyaXRzJyBpbiBkYXRhIGFuZCBcCiAgICAgICAgICAgICAgICAgaXNpbnN0 YW5jZShkYXRhWydjb2xsX2luaGVyaXRzJ10sIHN0cik6Ci0gICAgICAgICAg ICBkYXRhWydjb2xsX2luaGVyaXRzJ10gPSBqc29uLmxvYWRzKGRhdGFbJ2Nv bGxfaW5oZXJpdHMnXSkKKyAgICAgICAgICAgIGRhdGFbJ2NvbGxfaW5oZXJp dHMnXSA9IGpzb24ubG9hZHMoCisgICAgICAgICAgICAgICAgZGF0YVsnY29s bF9pbmhlcml0cyddLCBlbmNvZGluZz0ndXRmLTgnCisgICAgICAgICAgICAp CiAKICAgICAgICAgaWYgJ2ZvcmVpZ25fa2V5JyBpbiBkYXRhOgogICAgICAg ICAgICAgZm9yIGMgaW4gZGF0YVsnZm9yZWlnbl9rZXknXToKQEAgLTE0MzQs MTIgKzE0MzgsMTIgQEAgY2xhc3MgVGFibGVWaWV3KFBHQ2hpbGROb2RlVmll dywgRGF0YVR5cGVSZWFkZXIsIFZhY3V1bVNldHRpbmdzKToKICAgICAgICAg ICAgdGlkOiBUYWJsZSBJRAogICAgICAgICAiIiIKICAgICAgICAgZGF0YSA9 IHJlcXVlc3QuZm9ybSBpZiByZXF1ZXN0LmZvcm0gZWxzZSBqc29uLmxvYWRz KAotICAgICAgICAgICAgcmVxdWVzdC5kYXRhLmRlY29kZSgpCisgICAgICAg ICAgICByZXF1ZXN0LmRhdGEsIGVuY29kaW5nPSd1dGYtOCcKICAgICAgICAg KQogCiAgICAgICAgIGZvciBrLCB2IGluIGRhdGEuaXRlbXMoKToKICAgICAg ICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBkYXRhW2tdID0ganNvbi5s b2Fkcyh2KQorICAgICAgICAgICAgICAgIGRhdGFba10gPSBqc29uLmxvYWRz KHYsIGVuY29kaW5nPSd1dGYtOCcpCiAgICAgICAgICAgICBleGNlcHQgKFZh bHVlRXJyb3IsIFR5cGVFcnJvcik6CiAgICAgICAgICAgICAgICAgZGF0YVtr XSA9IHYKIApAQCAtMTUzNSw3ICsxNTM5LDkgQEAgY2xhc3MgVGFibGVWaWV3 KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVSZWFkZXIsIFZhY3V1bVNldHRp bmdzKToKICAgICAgICAgICAgdGlkOiBUYWJsZSBJRAogICAgICAgICAiIiIK ICAgICAgICAgIyBCZWxvdyB3aWxsIGRlY2lkZSBpZiBpdCdzIHNpbXBsZSBk cm9wIG9yIGRyb3Agd2l0aCBjYXNjYWRlIGNhbGwKLSAgICAgICAgZGF0YSA9 IHJlcXVlc3QuZm9ybSBpZiByZXF1ZXN0LmZvcm0gZWxzZSBqc29uLmxvYWRz KHJlcXVlc3QuZGF0YS5kZWNvZGUoKSkKKyAgICAgICAgZGF0YSA9IHJlcXVl c3QuZm9ybSBpZiByZXF1ZXN0LmZvcm0gZWxzZSBqc29uLmxvYWRzKAorICAg ICAgICAgICAgcmVxdWVzdC5kYXRhLCBlbmNvZGluZz0ndXRmLTgnCisgICAg ICAgICkKICAgICAgICAgIyBDb252ZXJ0IHN0ciAndHJ1ZScgdG8gYm9vbGVh biB0eXBlCiAgICAgICAgIGlzX2Nhc2NhZGUgPSBqc29uLmxvYWRzKGRhdGFb J2Nhc2NhZGUnXSkKIApAQCAtMTU4MSw3ICsxNTg3LDkgQEAgY2xhc3MgVGFi bGVWaWV3KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVSZWFkZXIsIFZhY3V1 bVNldHRpbmdzKToKICAgICAgICAgICAgdGlkOiBUYWJsZSBJRAogICAgICAg ICAiIiIKICAgICAgICAgIyBCZWxvdyB3aWxsIGRlY2lkZSBpZiBpdCdzIHNp bXBsZSBkcm9wIG9yIGRyb3Agd2l0aCBjYXNjYWRlIGNhbGwKLSAgICAgICAg ZGF0YSA9IHJlcXVlc3QuZm9ybSBpZiByZXF1ZXN0LmZvcm0gZWxzZSBqc29u LmxvYWRzKHJlcXVlc3QuZGF0YS5kZWNvZGUoKSkKKyAgICAgICAgZGF0YSA9 IHJlcXVlc3QuZm9ybSBpZiByZXF1ZXN0LmZvcm0gZWxzZSBqc29uLmxvYWRz KAorICAgICAgICAgICAgcmVxdWVzdC5kYXRhLCBlbmNvZGluZz0ndXRmLTgn CisgICAgICAgICkKICAgICAgICAgIyBDb252ZXJ0IHN0ciAndHJ1ZScgdG8g Ym9vbGVhbiB0eXBlCiAgICAgICAgIGlzX2VuYWJsZSA9IGpzb24ubG9hZHMo ZGF0YVsnZW5hYmxlJ10pCiAKQEAgLTE2NjMsNyArMTY3MSw3IEBAIGNsYXNz IFRhYmxlVmlldyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyLCBW YWN1dW1TZXR0aW5ncyk6CiAgICAgICAgIGRhdGEgPSBkaWN0KCkKICAgICAg ICAgZm9yIGssIHYgaW4gcmVxdWVzdC5hcmdzLml0ZW1zKCk6CiAgICAgICAg ICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgZGF0YVtrXSA9IGpzb24ubG9h ZHModikKKyAgICAgICAgICAgICAgICBkYXRhW2tdID0ganNvbi5sb2Fkcyh2 LCBlbmNvZGluZz0ndXRmLTgnKQogICAgICAgICAgICAgZXhjZXB0IChWYWx1 ZUVycm9yLCBUeXBlRXJyb3IpOgogICAgICAgICAgICAgICAgIGRhdGFba10g PSB2CiAKQEAgLTIzODUsOSArMjM5MywxMCBAQCBjbGFzcyBUYWJsZVZpZXco UEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlciwgVmFjdXVtU2V0dGlu Z3MpOgogICAgICAgICAgICAgICAgIGNbJ2NsdHlwZSddID0gc2VsZi5fY2x0 eXBlX2Zvcm1hdHRlcihjWydjbHR5cGUnXSkKICAgICAgICAgICAgICAgICBj WydoYXNTcXJCcmFja2V0J10gPSBzZWxmLmhhc1NxckJyYWNrZXQKIAotICAg ICAgICBzcWxfaGVhZGVyID0gIi0tIFRhYmxlOiB7MH1cblxuLS0gIi5mb3Jt YXQoc2VsZi5xdElkZW50KHNlbGYuY29ubiwKKyAgICAgICAgc3FsX2hlYWRl ciA9IHUiLS0gVGFibGU6IHswfVxuXG4tLSAiLmZvcm1hdChzZWxmLnF0SWRl bnQoc2VsZi5jb25uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFbJ3NjaGVt YSddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFbJ25hbWUnXSkpCisKICAg ICAgICAgc3FsX2hlYWRlciArPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4o W3NlbGYudGVtcGxhdGVfcGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICdkZWxldGUuc3FsJ10pLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhPWRhdGEs IGNvbm49c2VsZi5jb25uKQpAQCAtMjQ3OCw2ICsyNDg3LDkgQEAgY2xhc3Mg VGFibGVWaWV3KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVSZWFkZXIsIFZh Y3V1bVNldHRpbmdzKToKICAgICAgICAgICAgIGRhdGFbJ2NvbHMnXSA9ICcs ICcuam9pbihjb2xzKQogCiAgICAgICAgICAgICBzcWxfaGVhZGVyID0gIlxu LS0gSW5kZXg6IHswfVxuXG4tLSAiLmZvcm1hdChkYXRhWyduYW1lJ10pCisg ICAgICAgICAgICBpZiBoYXNhdHRyKHN0ciwgJ2RlY29kZScpOgorICAgICAg ICAgICAgICAgIHNxbF9oZWFkZXIgPSBzcWxfaGVhZGVyLmRlY29kZSgndXRm LTgnKQorCiAgICAgICAgICAgICBzcWxfaGVhZGVyICs9IHJlbmRlcl90ZW1w bGF0ZSgiLyIuam9pbihbc2VsZi5pbmRleF90ZW1wbGF0ZV9wYXRoLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdkZWxldGUuc3FsJ10pLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZGF0YT1kYXRhLCBjb25uPXNlbGYuY29ubikK QEAgLTI1NDcsNiArMjU1OSw5IEBAIGNsYXNzIFRhYmxlVmlldyhQR0NoaWxk Tm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyLCBWYWN1dW1TZXR0aW5ncyk6CiAg ICAgICAgICAgICBkYXRhID0gdHJpZ2dlcl9kZWZpbml0aW9uKGRhdGEpCiAK ICAgICAgICAgICAgIHNxbF9oZWFkZXIgPSAiXG4tLSBUcmlnZ2VyOiB7MH1c blxuLS0gIi5mb3JtYXQoZGF0YVsnbmFtZSddKQorICAgICAgICAgICAgaWYg aGFzYXR0cihzdHIsICdkZWNvZGUnKToKKyAgICAgICAgICAgICAgICBzcWxf aGVhZGVyID0gc3FsX2hlYWRlci5kZWNvZGUoJ3V0Zi04JykKKwogICAgICAg ICAgICAgc3FsX2hlYWRlciArPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4o W3NlbGYudHJpZ2dlcl90ZW1wbGF0ZV9wYXRoLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWxldGUu c3FsJ10pLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZGF0YT1kYXRhLCBjb25uPXNlbGYuY29ubikKQEAgLTI2NDQsNyAr MjY1OSw3IEBAIGNsYXNzIFRhYmxlVmlldyhQR0NoaWxkTm9kZVZpZXcsIERh dGFUeXBlUmVhZGVyLCBWYWN1dW1TZXR0aW5ncyk6CiAgICAgICAgIGVsc2U6 CiAgICAgICAgICAgICBjb2x1bW5zID0gJyonCiAKLSAgICAgICAgc3FsID0g IlNFTEVDVCB7MH1cblx0RlJPTSB7MX07Ii5mb3JtYXQoCisgICAgICAgIHNx bCA9IHUiU0VMRUNUIHswfVxuXHRGUk9NIHsxfTsiLmZvcm1hdCgKICAgICAg ICAgICAgIGNvbHVtbnMsCiAgICAgICAgICAgICBzZWxmLnF0SWRlbnQoc2Vs Zi5jb25uLCBkYXRhWydzY2hlbWEnXSwgZGF0YVsnbmFtZSddKQogICAgICAg ICApCkBAIC0yNjg4LDcgKzI3MDMsNyBAQCBjbGFzcyBUYWJsZVZpZXcoUEdD aGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlciwgVmFjdXVtU2V0dGluZ3Mp OgogICAgICAgICBpZiBsZW4oY29sdW1ucykgPiAwOgogICAgICAgICAgICAg Y29sdW1ucyA9ICIsICIuam9pbihjb2x1bW5zKQogICAgICAgICAgICAgdmFs dWVzID0gIiwgIi5qb2luKHZhbHVlcykKLSAgICAgICAgICAgIHNxbCA9ICJJ TlNFUlQgSU5UTyB7MH0oXG5cdHsxfSlcblx0VkFMVUVTICh7Mn0pOyIuZm9y bWF0KAorICAgICAgICAgICAgc3FsID0gdSJJTlNFUlQgSU5UTyB7MH0oXG5c dHsxfSlcblx0VkFMVUVTICh7Mn0pOyIuZm9ybWF0KAogICAgICAgICAgICAg ICAgIHNlbGYucXRJZGVudChzZWxmLmNvbm4sIGRhdGFbJ3NjaGVtYSddLCBk YXRhWyduYW1lJ10pLAogICAgICAgICAgICAgICAgIGNvbHVtbnMsIHZhbHVl cwogICAgICAgICAgICAgKQpAQCAtMjczNyw3ICsyNzUyLDcgQEAgY2xhc3Mg VGFibGVWaWV3KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVSZWFkZXIsIFZh Y3V1bVNldHRpbmdzKToKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAg ICAgICAgY29sdW1ucyA9ICI9PywgIi5qb2luKGNvbHVtbnMpCiAKLSAgICAg ICAgICAgIHNxbCA9ICJVUERBVEUgezB9XG5cdFNFVCB7MX1cblx0V0hFUkUg PGNvbmRpdGlvbj47Ii5mb3JtYXQoCisgICAgICAgICAgICBzcWwgPSB1IlVQ REFURSB7MH1cblx0U0VUIHsxfVxuXHRXSEVSRSA8Y29uZGl0aW9uPjsiLmZv cm1hdCgKICAgICAgICAgICAgICAgICBzZWxmLnF0SWRlbnQoc2VsZi5jb25u LCBkYXRhWydzY2hlbWEnXSwgZGF0YVsnbmFtZSddKSwKICAgICAgICAgICAg ICAgICBjb2x1bW5zCiAgICAgICAgICAgICApCkBAIC0yNzcxLDcgKzI3ODYs NyBAQCBjbGFzcyBUYWJsZVZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlw ZVJlYWRlciwgVmFjdXVtU2V0dGluZ3MpOgogCiAgICAgICAgIGRhdGEgPSBy ZXNbJ3Jvd3MnXVswXQogCi0gICAgICAgIHNxbCA9ICJERUxFVEUgRlJPTSB7 MH1cblx0V0hFUkUgPGNvbmRpdGlvbj47Ii5mb3JtYXQoCisgICAgICAgIHNx bCA9IHUiREVMRVRFIEZST00gezB9XG5cdFdIRVJFIDxjb25kaXRpb24+OyIu Zm9ybWF0KAogICAgICAgICAgICAgc2VsZi5xdElkZW50KHNlbGYuY29ubiwg ZGF0YVsnc2NoZW1hJ10sIGRhdGFbJ25hbWUnXSkKICAgICAgICAgKQogCmRp ZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29sdW1uL19faW5p dF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbHVtbi9fX2luaXRf Xy5weQppbmRleCBjODYwMzE2Li5jYzY0ZDdhIDEwMDY0NAotLS0gYS93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy90YWJsZXMvY29sdW1uL19faW5pdF9fLnB5CisrKyBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL3RhYmxlcy9jb2x1bW4vX19pbml0X18ucHkKQEAgLTks NyArOSw3IEBACiAKICIiIiBJbXBsZW1lbnRzIENvbHVtbiBOb2RlICIiIgog Ci1pbXBvcnQganNvbgoraW1wb3J0IHNpbXBsZWpzb24gYXMganNvbgogZnJv bSBmdW5jdG9vbHMgaW1wb3J0IHdyYXBzCiAKIGltcG9ydCBwZ2FkbWluLmJy b3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcyBhcyBkYXRh YmFzZQpAQCAtNTA1LDEyICs1MDUsMTIgQEAgY2xhc3MgQ29sdW1uc1ZpZXco UEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6CiAgICAgICAgICAg IHRpZDogVGFibGUgSUQKICAgICAgICAgIiIiCiAgICAgICAgIGRhdGEgPSBy ZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3JtIGVsc2UganNvbi5sb2FkcygK LSAgICAgICAgICAgIHJlcXVlc3QuZGF0YS5kZWNvZGUoKQorICAgICAgICAg ICAgcmVxdWVzdC5kYXRhLCBlbmNvZGluZz0ndXRmLTgnCiAgICAgICAgICkK IAogICAgICAgICBmb3IgaywgdiBpbiBkYXRhLml0ZW1zKCk6CiAgICAgICAg ICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgZGF0YVtrXSA9IGpzb24ubG9h ZHModikKKyAgICAgICAgICAgICAgICBkYXRhW2tdID0ganNvbi5sb2Fkcyh2 LCBlbmNvZGluZz0ndXRmLTgnKQogICAgICAgICAgICAgZXhjZXB0IChWYWx1 ZUVycm9yLCBUeXBlRXJyb3IpOgogICAgICAgICAgICAgICAgIGRhdGFba10g PSB2CiAKQEAgLTYzMSw3ICs2MzEsOSBAQCBjbGFzcyBDb2x1bW5zVmlldyhQ R0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyKToKICAgICAgICAgICAg dGlkOiBUYWJsZSBJRAogICAgICAgICAgICBjbGlkOiBDb2x1bW4gSUQKICAg ICAgICAgIiIiCi0gICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVx dWVzdC5mb3JtIGVsc2UganNvbi5sb2FkcyhyZXF1ZXN0LmRhdGEuZGVjb2Rl KCkpCisgICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5m b3JtIGVsc2UganNvbi5sb2FkcygKKyAgICAgICAgICAgIHJlcXVlc3QuZGF0 YSwgZW5jb2Rpbmc9J3V0Zi04JworICAgICAgICApCiAKICAgICAgICAgIyBB ZGRpbmcgcGFyZW50IGludG8gZGF0YSBkaWN0LCB3aWxsIGJlIHVzaW5nIGl0 IHdoaWxlIGNyZWF0aW5nIHNxbAogICAgICAgICBkYXRhWydzY2hlbWEnXSA9 IHNlbGYuc2NoZW1hCkBAIC02ODgsNyArNjkwLDcgQEAgY2xhc3MgQ29sdW1u c1ZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6CiAgICAg ICAgIGRhdGEgPSBkaWN0KCkKICAgICAgICAgZm9yIGssIHYgaW4gcmVxdWVz dC5hcmdzLml0ZW1zKCk6CiAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAg ICAgICAgZGF0YVtrXSA9IGpzb24ubG9hZHModikKKyAgICAgICAgICAgICAg ICBkYXRhW2tdID0ganNvbi5sb2Fkcyh2LCBlbmNvZGluZz0ndXRmLTgnKQog ICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CiAgICAgICAgICAgICAg ICAgZGF0YVtrXSA9IHYKIApAQCAtODEzLDEwICs4MTUsMTEgQEAgY2xhc3Mg Q29sdW1uc1ZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6 CiAKICAgICAgICAgICAgIFNRTCA9IHNlbGYuZ2V0X3NxbChzY2lkLCB0aWQs IE5vbmUsIGRhdGEpCiAKLSAgICAgICAgICAgIHNxbF9oZWFkZXIgPSAiLS0g Q29sdW1uOiB7MH1cblxuLS0gIi5mb3JtYXQoc2VsZi5xdElkZW50KHNlbGYu Y29ubiwKKyAgICAgICAgICAgIHNxbF9oZWFkZXIgPSB1Ii0tIENvbHVtbjog ezB9XG5cbi0tICIuZm9ybWF0KHNlbGYucXRJZGVudChzZWxmLmNvbm4sCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBkYXRhWydzY2hlbWEnXSwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGRhdGFbJ3RhYmxlJ10sCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBkYXRhWyduYW1lJ10pKQorCiAgICAgICAgICAgICBz cWxfaGVhZGVyICs9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50 ZW1wbGF0ZV9wYXRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdkZWxldGUuc3FsJ10pLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YT1kYXRh LCBjb25uPXNlbGYuY29ubikKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L3RhYmxlcy9jb25zdHJhaW50cy9jaGVja19jb25zdHJhaW50L19faW5pdF9f LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbnN0cmFpbnRzL2NoZWNr X2NvbnN0cmFpbnQvX19pbml0X18ucHkKaW5kZXggNGFhOTU1Mi4uMGZlN2Ux YiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbnN0cmFp bnRzL2NoZWNrX2NvbnN0cmFpbnQvX19pbml0X18ucHkKKysrIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvdGFibGVzL2NvbnN0cmFpbnRzL2NoZWNrX2NvbnN0cmFpbnQv X19pbml0X18ucHkKQEAgLTksNyArOSw3IEBACiAKICIiIkltcGxlbWVudHMg dGhlIENoZWNrIENvbnN0cmFpbnQgTW9kdWxlLiIiIgogCi1pbXBvcnQganNv bgoraW1wb3J0IHNpbXBsZWpzb24gYXMganNvbgogZnJvbSBmdW5jdG9vbHMg aW1wb3J0IHdyYXBzCiAKIGltcG9ydCBwZ2FkbWluLmJyb3dzZXIuc2VydmVy X2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcyBhcyBkYXRhYmFzZQpAQCAtMzk2 LDExICszOTYsMTMgQEAgY2xhc3MgQ2hlY2tDb25zdHJhaW50VmlldyhQR0No aWxkTm9kZVZpZXcpOgogICAgICAgICAiIiIKICAgICAgICAgcmVxdWlyZWRf YXJncyA9IFsnY29uc3JjJ10KIAotICAgICAgICBkYXRhID0gcmVxdWVzdC5m b3JtIGlmIHJlcXVlc3QuZm9ybSBlbHNlIGpzb24ubG9hZHMocmVxdWVzdC5k YXRhLmRlY29kZSgpKQorICAgICAgICBkYXRhID0gcmVxdWVzdC5mb3JtIGlm IHJlcXVlc3QuZm9ybSBlbHNlIGpzb24ubG9hZHMoCisgICAgICAgICAgICBy ZXF1ZXN0LmRhdGEsIGVuY29kaW5nPSd1dGYtOCcKKyAgICAgICAgKQogCiAg ICAgICAgIGZvciBrLCB2IGluIGRhdGEuaXRlbXMoKToKICAgICAgICAgICAg IHRyeToKLSAgICAgICAgICAgICAgICBkYXRhW2tdID0ganNvbi5sb2Fkcyh2 KQorICAgICAgICAgICAgICAgIGRhdGFba10gPSBqc29uLmxvYWRzKHYsIGVu Y29kaW5nPSd1dGYtOCcpCiAgICAgICAgICAgICBleGNlcHQgKFZhbHVlRXJy b3IsIFR5cGVFcnJvcik6CiAgICAgICAgICAgICAgICAgZGF0YVtrXSA9IHYK IApAQCAtNTQ1LDcgKzU0Nyw5IEBAIGNsYXNzIENoZWNrQ29uc3RyYWludFZp ZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgIHRpZDogVGFibGUg SWQKICAgICAgICAgICAgIGNpZDogQ2hlY2sgQ29uc3RyYWludCBJZAogICAg ICAgICAiIiIKLSAgICAgICAgZGF0YSA9IHJlcXVlc3QuZm9ybSBpZiByZXF1 ZXN0LmZvcm0gZWxzZSBqc29uLmxvYWRzKHJlcXVlc3QuZGF0YS5kZWNvZGUo KSkKKyAgICAgICAgZGF0YSA9IHJlcXVlc3QuZm9ybSBpZiByZXF1ZXN0LmZv cm0gZWxzZSBqc29uLmxvYWRzKAorICAgICAgICAgICAgcmVxdWVzdC5kYXRh LCBlbmNvZGluZz0ndXRmLTgnCisgICAgICAgICkKIAogICAgICAgICB0cnk6 CiAgICAgICAgICAgICBkYXRhWydzY2hlbWEnXSA9IHNlbGYuc2NoZW1hCkBA IC02MzIsNiArNjM2LDggQEAgY2xhc3MgQ2hlY2tDb25zdHJhaW50VmlldyhQ R0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZGF0YT1kYXRhKQogCiAgICAgICAgIHNxbF9oZWFkZXIgPSAiLS0gQ29u c3RyYWludDogezB9XG5cbi0tICIuZm9ybWF0KGRhdGFbJ25hbWUnXSkKKyAg ICAgICAgaWYgaGFzYXR0cihzdHIsICdkZWNvZGUnKToKKyAgICAgICAgICAg IHNxbF9oZWFkZXIgPSBzcWxfaGVhZGVyLmRlY29kZSgndXRmLTgnKQogCiAg ICAgICAgIHNxbF9oZWFkZXIgKz0gcmVuZGVyX3RlbXBsYXRlKAogICAgICAg ICAgICAgIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwgJ2RlbGV0ZS5z cWwnXSksCkBAIC02NjEsNyArNjY3LDcgQEAgY2xhc3MgQ2hlY2tDb25zdHJh aW50VmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICBkYXRhID0ge30K ICAgICAgICAgZm9yIGssIHYgaW4gcmVxdWVzdC5hcmdzLml0ZW1zKCk6CiAg ICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgZGF0YVtrXSA9IGpz b24ubG9hZHModikKKyAgICAgICAgICAgICAgICBkYXRhW2tdID0ganNvbi5s b2Fkcyh2LCBlbmNvZGluZz0ndXRmLTgnKQogICAgICAgICAgICAgZXhjZXB0 IFZhbHVlRXJyb3I6CiAgICAgICAgICAgICAgICAgZGF0YVtrXSA9IHYKIApk aWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbnN0cmFpbnRz L2V4Y2x1c2lvbl9jb25zdHJhaW50L19faW5pdF9fLnB5IGIvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvdGFibGVzL2NvbnN0cmFpbnRzL2V4Y2x1c2lvbl9jb25zdHJhaW50 L19faW5pdF9fLnB5CmluZGV4IGJiOWM3ZWEuLjk3ZTFlMmYgMTAwNjQ0Ci0t LSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb25zdHJhaW50cy9leGNsdXNp b25fY29uc3RyYWludC9fX2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy90YWJsZXMvY29uc3RyYWludHMvZXhjbHVzaW9uX2NvbnN0cmFpbnQvX19p bml0X18ucHkKQEAgLTksNyArOSw3IEBACiAKICIiIkltcGxlbWVudHMgRXhj bHVzaW9uIGNvbnN0cmFpbnQgTm9kZSIiIgogCi1pbXBvcnQganNvbgoraW1w b3J0IHNpbXBsZWpzb24gYXMganNvbgogZnJvbSBmdW5jdG9vbHMgaW1wb3J0 IHdyYXBzCiAKIGltcG9ydCBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vw cy5zZXJ2ZXJzLmRhdGFiYXNlcyBhcyBkYXRhYmFzZQpAQCAtNDQxLDExICs0 NDEsMTMgQEAgY2xhc3MgRXhjbHVzaW9uQ29uc3RyYWludFZpZXcoUEdDaGls ZE5vZGVWaWV3KToKICAgICAgICAgIiIiCiAgICAgICAgIHJlcXVpcmVkX2Fy Z3MgPSBbJ2NvbHVtbnMnXQogCi0gICAgICAgIGRhdGEgPSByZXF1ZXN0LmZv cm0gaWYgcmVxdWVzdC5mb3JtIGVsc2UganNvbi5sb2FkcyhyZXF1ZXN0LmRh dGEuZGVjb2RlKCkpCisgICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYg cmVxdWVzdC5mb3JtIGVsc2UganNvbi5sb2FkcygKKyAgICAgICAgICAgIHJl cXVlc3QuZGF0YSwgZW5jb2Rpbmc9J3V0Zi04JworICAgICAgICApCiAKICAg ICAgICAgZm9yIGssIHYgaW4gZGF0YS5pdGVtcygpOgogICAgICAgICAgICAg dHJ5OgotICAgICAgICAgICAgICAgIGRhdGFba10gPSBqc29uLmxvYWRzKHYp CisgICAgICAgICAgICAgICAgZGF0YVtrXSA9IGpzb24ubG9hZHModiwgZW5j b2Rpbmc9J3V0Zi04JykKICAgICAgICAgICAgIGV4Y2VwdCAoVmFsdWVFcnJv ciwgVHlwZUVycm9yKToKICAgICAgICAgICAgICAgICBkYXRhW2tdID0gdgog CkBAIC01NDYsNyArNTQ4LDkgQEAgY2xhc3MgRXhjbHVzaW9uQ29uc3RyYWlu dFZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgUmV0dXJuczoKIAog ICAgICAgICAiIiIKLSAgICAgICAgZGF0YSA9IHJlcXVlc3QuZm9ybSBpZiBy ZXF1ZXN0LmZvcm0gZWxzZSBqc29uLmxvYWRzKHJlcXVlc3QuZGF0YS5kZWNv ZGUoKSkKKyAgICAgICAgZGF0YSA9IHJlcXVlc3QuZm9ybSBpZiByZXF1ZXN0 LmZvcm0gZWxzZSBqc29uLmxvYWRzKAorICAgICAgICAgICAgcmVxdWVzdC5k YXRhLCBlbmNvZGluZz0ndXRmLTgnCisgICAgICAgICkKIAogICAgICAgICB0 cnk6CiAgICAgICAgICAgICBkYXRhWydzY2hlbWEnXSA9IHNlbGYuc2NoZW1h CkBAIC02NjYsNyArNjcwLDcgQEAgY2xhc3MgRXhjbHVzaW9uQ29uc3RyYWlu dFZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgZGF0YSA9IHt9CiAg ICAgICAgIGZvciBrLCB2IGluIHJlcXVlc3QuYXJncy5pdGVtcygpOgogICAg ICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIGRhdGFba10gPSBqc29u LmxvYWRzKHYpCisgICAgICAgICAgICAgICAgZGF0YVtrXSA9IGpzb24ubG9h ZHModiwgZW5jb2Rpbmc9J3V0Zi04JykKICAgICAgICAgICAgIGV4Y2VwdCBW YWx1ZUVycm9yOgogICAgICAgICAgICAgICAgIGRhdGFba10gPSB2CiAKQEAg LTc4OSw2ICs3OTMsOCBAQCBjbGFzcyBFeGNsdXNpb25Db25zdHJhaW50Vmll dyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICAgICAgICIvIi5qb2lu KFtzZWxmLnRlbXBsYXRlX3BhdGgsICdjcmVhdGUuc3FsJ10pLCBkYXRhPWRh dGEpCiAKICAgICAgICAgICAgIHNxbF9oZWFkZXIgPSAiLS0gQ29uc3RyYWlu dDogezB9XG5cbi0tICIuZm9ybWF0KGRhdGFbJ25hbWUnXSkKKyAgICAgICAg ICAgIGlmIGhhc2F0dHIoc3RyLCAnZGVjb2RlJyk6CisgICAgICAgICAgICAg ICAgc3FsX2hlYWRlciA9IHNxbF9oZWFkZXIuZGVjb2RlKCd1dGYtOCcpCiAK ICAgICAgICAgICAgIHNxbF9oZWFkZXIgKz0gcmVuZGVyX3RlbXBsYXRlKAog ICAgICAgICAgICAgICAgICIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgs ICdkZWxldGUuc3FsJ10pLApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv dGFibGVzL2NvbnN0cmFpbnRzL2ZvcmVpZ25fa2V5L19faW5pdF9fLnB5IGIv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbnN0cmFpbnRzL2ZvcmVpZ25fa2V5 L19faW5pdF9fLnB5CmluZGV4IDVhMDVhOTEuLmQwMmM5M2YgMTAwNjQ0Ci0t LSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb25zdHJhaW50cy9mb3JlaWdu X2tleS9fX2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMv Y29uc3RyYWludHMvZm9yZWlnbl9rZXkvX19pbml0X18ucHkKQEAgLTksNyAr OSw3IEBACiAKICIiIkltcGxlbWVudHMgRm9yZWlnbiBrZXkgY29uc3RyYWlu dCBOb2RlIiIiCiAKLWltcG9ydCBqc29uCitpbXBvcnQgc2ltcGxlanNvbiBh cyBqc29uCiBmcm9tIGZ1bmN0b29scyBpbXBvcnQgd3JhcHMKIAogaW1wb3J0 IHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJh c2VzIGFzIGRhdGFiYXNlCkBAIC00NjQsMTEgKzQ2NCwxMyBAQCBjbGFzcyBG b3JlaWduS2V5Q29uc3RyYWludFZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAg ICAgICAgIiIiCiAgICAgICAgIHJlcXVpcmVkX2FyZ3MgPSBbJ2NvbHVtbnMn XQogCi0gICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5m b3JtIGVsc2UganNvbi5sb2FkcyhyZXF1ZXN0LmRhdGEuZGVjb2RlKCkpCisg ICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3JtIGVs c2UganNvbi5sb2FkcygKKyAgICAgICAgICAgIHJlcXVlc3QuZGF0YSwgZW5j b2Rpbmc9J3V0Zi04JworICAgICAgICApCiAKICAgICAgICAgZm9yIGssIHYg aW4gZGF0YS5pdGVtcygpOgogICAgICAgICAgICAgdHJ5OgotICAgICAgICAg ICAgICAgIGRhdGFba10gPSBqc29uLmxvYWRzKHYpCisgICAgICAgICAgICAg ICAgZGF0YVtrXSA9IGpzb24ubG9hZHModiwgZW5jb2Rpbmc9J3V0Zi04JykK ICAgICAgICAgICAgIGV4Y2VwdCAoVmFsdWVFcnJvciwgVHlwZUVycm9yKToK ICAgICAgICAgICAgICAgICBkYXRhW2tdID0gdgogCkBAIC01OTgsNyArNjAw LDkgQEAgY2xhc3MgRm9yZWlnbktleUNvbnN0cmFpbnRWaWV3KFBHQ2hpbGRO b2RlVmlldyk6CiAgICAgICAgIFJldHVybnM6CiAKICAgICAgICAgIiIiCi0g ICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3JtIGVs c2UganNvbi5sb2FkcyhyZXF1ZXN0LmRhdGEuZGVjb2RlKCkpCisgICAgICAg IGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3JtIGVsc2UganNv bi5sb2FkcygKKyAgICAgICAgICAgIHJlcXVlc3QuZGF0YSwgZW5jb2Rpbmc9 J3V0Zi04JworICAgICAgICApCiAKICAgICAgICAgdHJ5OgogICAgICAgICAg ICAgZGF0YVsnc2NoZW1hJ10gPSBzZWxmLnNjaGVtYQpAQCAtNzI2LDcgKzcz MCw3IEBAIGNsYXNzIEZvcmVpZ25LZXlDb25zdHJhaW50VmlldyhQR0NoaWxk Tm9kZVZpZXcpOgogICAgICAgICBkYXRhID0ge30KICAgICAgICAgZm9yIGss IHYgaW4gcmVxdWVzdC5hcmdzLml0ZW1zKCk6CiAgICAgICAgICAgICB0cnk6 Ci0gICAgICAgICAgICAgICAgZGF0YVtrXSA9IGpzb24ubG9hZHModikKKyAg ICAgICAgICAgICAgICBkYXRhW2tdID0ganNvbi5sb2Fkcyh2LCBlbmNvZGlu Zz0ndXRmLTgnKQogICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CiAg ICAgICAgICAgICAgICAgZGF0YVtrXSA9IHYKIApAQCAtODkyLDYgKzg5Niw4 IEBAIGNsYXNzIEZvcmVpZ25LZXlDb25zdHJhaW50VmlldyhQR0NoaWxkTm9k ZVZpZXcpOgogICAgICAgICAgICAgICAgICIvIi5qb2luKFtzZWxmLnRlbXBs YXRlX3BhdGgsICdjcmVhdGUuc3FsJ10pLCBkYXRhPWRhdGEpCiAKICAgICAg ICAgICAgIHNxbF9oZWFkZXIgPSAiLS0gQ29uc3RyYWludDogezB9XG5cbi0t ICIuZm9ybWF0KGRhdGFbJ25hbWUnXSkKKyAgICAgICAgICAgIGlmIGhhc2F0 dHIoc3RyLCAnZGVjb2RlJyk6CisgICAgICAgICAgICAgICAgc3FsX2hlYWRl ciA9IHNxbF9oZWFkZXIuZGVjb2RlKCd1dGYtOCcpCiAKICAgICAgICAgICAg IHNxbF9oZWFkZXIgKz0gcmVuZGVyX3RlbXBsYXRlKAogICAgICAgICAgICAg ICAgICIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICdkZWxldGUuc3Fs J10pLApAQCAtMTA0NCw3ICsxMDUwLDcgQEAgY2xhc3MgRm9yZWlnbktleUNv bnN0cmFpbnRWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgIGluZGV4 ID0gTm9uZQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBpZiBkYXRhIGFu ZCAnY29scycgaW4gZGF0YToKLSAgICAgICAgICAgICAgICBjb2xzID0gc2V0 KGpzb24ubG9hZHMoZGF0YVsnY29scyddKSkKKyAgICAgICAgICAgICAgICBj b2xzID0gc2V0KGpzb24ubG9hZHMoZGF0YVsnY29scyddLCBlbmNvZGluZz0n dXRmLTgnKSkKICAgICAgICAgICAgICAgICBpbmRleCA9IHNlbGYuc2VhcmNo X2NvdmVyaW5naW5kZXgodGlkLCBjb2xzKQogCiAgICAgICAgICAgICByZXR1 cm4gbWFrZV9qc29uX3Jlc3BvbnNlKApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvdGFibGVzL2NvbnN0cmFpbnRzL2luZGV4X2NvbnN0cmFpbnQvX19p bml0X18ucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29uc3RyYWludHMv aW5kZXhfY29uc3RyYWludC9fX2luaXRfXy5weQppbmRleCBhNWVlNTUxLi5i ZjFiZTk0IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29u c3RyYWludHMvaW5kZXhfY29uc3RyYWludC9fX2luaXRfXy5weQorKysgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy90YWJsZXMvY29uc3RyYWludHMvaW5kZXhfY29uc3Ry YWludC9fX2luaXRfXy5weQpAQCAtOSw3ICs5LDcgQEAKIAogIiIiSW1wbGVt ZW50cyBQcmltYXJ5IGtleSBjb25zdHJhaW50IE5vZGUiIiIKIAotaW1wb3J0 IGpzb24KK2ltcG9ydCBzaW1wbGVqc29uIGFzIGpzb24KIGZyb20gZnVuY3Rv b2xzIGltcG9ydCB3cmFwcwogCiBpbXBvcnQgcGdhZG1pbi5icm93c2VyLnNl cnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMgYXMgZGF0YWJhc2UKQEAg LTQ0NCwxMSArNDQ0LDEzIEBAIGNsYXNzIEluZGV4Q29uc3RyYWludFZpZXco UEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgIFt1J2NvbHVtbnMnLCB1 J2luZGV4J10gICMgRWl0aGVyIG9mIG9uZSBzaG91bGQgYmUgdGhlcmUuCiAg ICAgICAgIF0KIAotICAgICAgICBkYXRhID0gcmVxdWVzdC5mb3JtIGlmIHJl cXVlc3QuZm9ybSBlbHNlIGpzb24ubG9hZHMocmVxdWVzdC5kYXRhLmRlY29k ZSgpKQorICAgICAgICBkYXRhID0gcmVxdWVzdC5mb3JtIGlmIHJlcXVlc3Qu Zm9ybSBlbHNlIGpzb24ubG9hZHMoCisgICAgICAgICAgICByZXF1ZXN0LmRh dGEsIGVuY29kaW5nPSd1dGYtOCcKKyAgICAgICAgKQogCiAgICAgICAgIGZv ciBrLCB2IGluIGRhdGEuaXRlbXMoKToKICAgICAgICAgICAgIHRyeToKLSAg ICAgICAgICAgICAgICBkYXRhW2tdID0ganNvbi5sb2Fkcyh2KQorICAgICAg ICAgICAgICAgIGRhdGFba10gPSBqc29uLmxvYWRzKHYsIGVuY29kaW5nPSd1 dGYtOCcpCiAgICAgICAgICAgICBleGNlcHQgKFZhbHVlRXJyb3IsIFR5cGVF cnJvcik6CiAgICAgICAgICAgICAgICAgZGF0YVtrXSA9IHYKIApAQCAtNTYz LDcgKzU2NSw5IEBAIGNsYXNzIEluZGV4Q29uc3RyYWludFZpZXcoUEdDaGls ZE5vZGVWaWV3KToKICAgICAgICAgUmV0dXJuczoKIAogICAgICAgICAiIiIK LSAgICAgICAgZGF0YSA9IHJlcXVlc3QuZm9ybSBpZiByZXF1ZXN0LmZvcm0g ZWxzZSBqc29uLmxvYWRzKHJlcXVlc3QuZGF0YS5kZWNvZGUoKSkKKyAgICAg ICAgZGF0YSA9IHJlcXVlc3QuZm9ybSBpZiByZXF1ZXN0LmZvcm0gZWxzZSBq c29uLmxvYWRzKAorICAgICAgICAgICAgcmVxdWVzdC5kYXRhLCBlbmNvZGlu Zz0ndXRmLTgnCisgICAgICAgICkKIAogICAgICAgICB0cnk6CiAgICAgICAg ICAgICBkYXRhWydzY2hlbWEnXSA9IHNlbGYuc2NoZW1hCkBAIC02ODgsNyAr NjkyLDcgQEAgY2xhc3MgSW5kZXhDb25zdHJhaW50VmlldyhQR0NoaWxkTm9k ZVZpZXcpOgogICAgICAgICBkYXRhID0ge30KICAgICAgICAgZm9yIGssIHYg aW4gcmVxdWVzdC5hcmdzLml0ZW1zKCk6CiAgICAgICAgICAgICB0cnk6Ci0g ICAgICAgICAgICAgICAgZGF0YVtrXSA9IGpzb24ubG9hZHModikKKyAgICAg ICAgICAgICAgICBkYXRhW2tdID0ganNvbi5sb2Fkcyh2LCBlbmNvZGluZz0n dXRmLTgnKQogICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CiAgICAg ICAgICAgICAgICAgZGF0YVtrXSA9IHYKIApAQCAtODE2LDYgKzgyMCw4IEBA IGNsYXNzIEluZGV4Q29uc3RyYWludFZpZXcoUEdDaGlsZE5vZGVWaWV3KToK ICAgICAgICAgICAgICAgICBjb25zdHJhaW50X25hbWU9c2VsZi5jb25zdHJh aW50X25hbWUpCiAKICAgICAgICAgICAgIHNxbF9oZWFkZXIgPSAiLS0gQ29u c3RyYWludDogezB9XG5cbi0tICIuZm9ybWF0KGRhdGFbJ25hbWUnXSkKKyAg ICAgICAgICAgIGlmIGhhc2F0dHIoc3RyLCAnZGVjb2RlJyk6CisgICAgICAg ICAgICAgICAgc3FsX2hlYWRlciA9IHNxbF9oZWFkZXIuZGVjb2RlKCd1dGYt OCcpCiAKICAgICAgICAgICAgIHNxbF9oZWFkZXIgKz0gcmVuZGVyX3RlbXBs YXRlKAogICAgICAgICAgICAgICAgICIvIi5qb2luKFtzZWxmLnRlbXBsYXRl X3BhdGgsICdkZWxldGUuc3FsJ10pLApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvdGFibGVzL2luZGV4ZXMvX19pbml0X18ucHkgYi93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy90YWJsZXMvaW5kZXhlcy9fX2luaXRfXy5weQppbmRleCBlMmNjZTBi Li44Zjc0M2ZiIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMv aW5kZXhlcy9fX2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJs ZXMvaW5kZXhlcy9fX2luaXRfXy5weQpAQCAtOSw3ICs5LDcgQEAKIAogIiIi IEltcGxlbWVudHMgSW5kZXggTm9kZSAiIiIKIAotaW1wb3J0IGpzb24KK2lt cG9ydCBzaW1wbGVqc29uIGFzIGpzb24KIGZyb20gZnVuY3Rvb2xzIGltcG9y dCB3cmFwcwogCiBpbXBvcnQgcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91 cHMuc2VydmVycy5kYXRhYmFzZXMgYXMgZGF0YWJhc2UKQEAgLTUyMiwxMiAr NTIyLDEyIEBAIGNsYXNzIEluZGV4ZXNWaWV3KFBHQ2hpbGROb2RlVmlldyk6 CiAgICAgICAgICAgIHRpZDogVGFibGUgSUQKICAgICAgICAgIiIiCiAgICAg ICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3JtIGVsc2Ug anNvbi5sb2FkcygKLSAgICAgICAgICAgIHJlcXVlc3QuZGF0YS5kZWNvZGUo KQorICAgICAgICAgICAgcmVxdWVzdC5kYXRhLCBlbmNvZGluZz0ndXRmLTgn CiAgICAgICAgICkKIAogICAgICAgICBmb3IgaywgdiBpbiBkYXRhLml0ZW1z KCk6CiAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgZGF0YVtr XSA9IGpzb24ubG9hZHModikKKyAgICAgICAgICAgICAgICBkYXRhW2tdID0g anNvbi5sb2Fkcyh2LCBlbmNvZGluZz0ndXRmLTgnKQogICAgICAgICAgICAg ZXhjZXB0IChWYWx1ZUVycm9yLCBUeXBlRXJyb3IpOgogICAgICAgICAgICAg ICAgIGRhdGFba10gPSB2CiAKQEAgLTY3Miw3ICs2NzIsOSBAQCBjbGFzcyBJ bmRleGVzVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICB0aWQ6 IFRhYmxlIElECiAgICAgICAgICAgIGlkeDogSW5kZXggSUQKICAgICAgICAg IiIiCi0gICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5m b3JtIGVsc2UganNvbi5sb2FkcyhyZXF1ZXN0LmRhdGEuZGVjb2RlKCkpCisg ICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3JtIGVs c2UganNvbi5sb2FkcygKKyAgICAgICAgICAgIHJlcXVlc3QuZGF0YSwgZW5j b2Rpbmc9J3V0Zi04JworICAgICAgICApCiAgICAgICAgIGRhdGFbJ3NjaGVt YSddID0gc2VsZi5zY2hlbWEKICAgICAgICAgZGF0YVsndGFibGUnXSA9IHNl bGYudGFibGUKICAgICAgICAgdHJ5OgpAQCAtNzIxLDcgKzcyMyw3IEBAIGNs YXNzIEluZGV4ZXNWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgIGRh dGEgPSBkaWN0KCkKICAgICAgICAgZm9yIGssIHYgaW4gcmVxdWVzdC5hcmdz Lml0ZW1zKCk6CiAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAg ZGF0YVtrXSA9IGpzb24ubG9hZHModikKKyAgICAgICAgICAgICAgICBkYXRh W2tdID0ganNvbi5sb2Fkcyh2LCBlbmNvZGluZz0ndXRmLTgnKQogICAgICAg ICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CiAgICAgICAgICAgICAgICAgZGF0 YVtrXSA9IHYKIApAQCAtODI0LDYgKzgyNiw5IEBAIGNsYXNzIEluZGV4ZXNW aWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICBTUUwgPSBzZWxm LmdldF9zcWwoc2NpZCwgdGlkLCBOb25lLCBkYXRhKQogCiAgICAgICAgICAg ICBzcWxfaGVhZGVyID0gIi0tIEluZGV4OiB7MH1cblxuLS0gIi5mb3JtYXQo ZGF0YVsnbmFtZSddKQorICAgICAgICAgICAgaWYgaGFzYXR0cihzdHIsICdk ZWNvZGUnKToKKyAgICAgICAgICAgICAgICBzcWxfaGVhZGVyID0gc3FsX2hl YWRlci5kZWNvZGUoJ3V0Zi04JykKKwogICAgICAgICAgICAgc3FsX2hlYWRl ciArPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVf cGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAnZGVsZXRlLnNxbCddKSwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE9ZGF0YSwgY29ubj1z ZWxmLmNvbm4pCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMv cnVsZXMvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvcnVs ZXMvX19pbml0X18ucHkKaW5kZXggYzI1NmU0MC4uNGY0MGY1MiAxMDA2NDQK LS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3J1bGVzL19faW5pdF9fLnB5 CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9ydWxlcy9fX2luaXRfXy5w eQpAQCAtOSw3ICs5LDcgQEAKIAogIiIiSW1wbGVtZW50cyBSdWxlIE5vZGUi IiIKIAotaW1wb3J0IGpzb24KK2ltcG9ydCBzaW1wbGVqc29uIGFzIGpzb24K IGZyb20gZnVuY3Rvb2xzIGltcG9ydCB3cmFwcwogCiBpbXBvcnQgcGdhZG1p bi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMuc2No ZW1hcyBhcyBzY2hlbWFzCkBAIC0yOTAsOCArMjkwLDkgQEAgY2xhc3MgUnVs ZVZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgICduYW1lJywK ICAgICAgICAgXQogCi0gICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYg cmVxdWVzdC5mb3JtIGVsc2UgXAotICAgICAgICAgICAganNvbi5sb2Fkcyhy ZXF1ZXN0LmRhdGEuZGVjb2RlKCkpCisgICAgICAgIGRhdGEgPSByZXF1ZXN0 LmZvcm0gaWYgcmVxdWVzdC5mb3JtIGVsc2UganNvbi5sb2FkcygKKyAgICAg ICAgICAgIHJlcXVlc3QuZGF0YSwgZW5jb2Rpbmc9J3V0Zi04JworICAgICAg ICApCiAgICAgICAgIGZvciBhcmcgaW4gcmVxdWlyZWRfYXJnczoKICAgICAg ICAgICAgIGlmIGFyZyBub3QgaW4gZGF0YToKICAgICAgICAgICAgICAgICBy ZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKApAQCAtMzMxLDggKzMzMiw5IEBA IGNsYXNzIFJ1bGVWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICIi IgogICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgdXBkYXRlIGEgcnVsZSBv YmplY3QKICAgICAgICAgIiIiCi0gICAgICAgIGRhdGEgPSByZXF1ZXN0LmZv cm0gaWYgcmVxdWVzdC5mb3JtIGVsc2UgXAotICAgICAgICAgICAganNvbi5s b2FkcyhyZXF1ZXN0LmRhdGEuZGVjb2RlKCkpCisgICAgICAgIGRhdGEgPSBy ZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3JtIGVsc2UganNvbi5sb2FkcygK KyAgICAgICAgICAgIHJlcXVlc3QuZGF0YSwgZW5jb2Rpbmc9J3V0Zi04Jwor ICAgICAgICApCiAgICAgICAgIFNRTCA9IHNlbGYuZ2V0U1FMKGdpZCwgc2lk LCBkYXRhLCB0aWQsIHJpZCkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAg aWYgU1FMIGFuZCBTUUwuc3RyaXAoJ1xuJykgYW5kIFNRTC5zdHJpcCgnICcp OgpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3RyaWdnZXJz L19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3RyaWdnZXJz L19faW5pdF9fLnB5CmluZGV4IDM1NTU5ZWEuLjQ2ZjI2NDUgMTAwNjQ0Ci0t LSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90cmlnZ2Vycy9fX2luaXRfXy5w eQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdHJpZ2dlcnMvX19pbml0 X18ucHkKQEAgLTksNyArOSw3IEBACiAKICIiIiBJbXBsZW1lbnRzIFRyaWdn ZXIgTm9kZSAiIiIKIAotaW1wb3J0IGpzb24KK2ltcG9ydCBzaW1wbGVqc29u IGFzIGpzb24KIGZyb20gZnVuY3Rvb2xzIGltcG9ydCB3cmFwcwogCiBpbXBv cnQgcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRh YmFzZXMgYXMgZGF0YWJhc2UKQEAgLTUzNywxMiArNTM3LDEyIEBAIGNsYXNz IFRyaWdnZXJWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgIHRp ZDogVGFibGUgSUQKICAgICAgICAgIiIiCiAgICAgICAgIGRhdGEgPSByZXF1 ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3JtIGVsc2UganNvbi5sb2FkcygKLSAg ICAgICAgICAgIHJlcXVlc3QuZGF0YS5kZWNvZGUoKQorICAgICAgICAgICAg cmVxdWVzdC5kYXRhLCBlbmNvZGluZz0ndXRmLTgnCiAgICAgICAgICkKIAog ICAgICAgICBmb3IgaywgdiBpbiBkYXRhLml0ZW1zKCk6CiAgICAgICAgICAg ICB0cnk6Ci0gICAgICAgICAgICAgICAgZGF0YVtrXSA9IGpzb24ubG9hZHMo dikKKyAgICAgICAgICAgICAgICBkYXRhW2tdID0ganNvbi5sb2Fkcyh2LCBl bmNvZGluZz0ndXRmLTgnKQogICAgICAgICAgICAgZXhjZXB0IChWYWx1ZUVy cm9yLCBUeXBlRXJyb3IpOgogICAgICAgICAgICAgICAgIGRhdGFba10gPSB2 CiAKQEAgLTY1Nyw3ICs2NTcsOSBAQCBjbGFzcyBUcmlnZ2VyVmlldyhQR0No aWxkTm9kZVZpZXcpOgogICAgICAgICAgICB0aWQ6IFRhYmxlIElECiAgICAg ICAgICAgIHRyaWQ6IFRyaWdnZXIgSUQKICAgICAgICAgIiIiCi0gICAgICAg IGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3JtIGVsc2UganNv bi5sb2FkcyhyZXF1ZXN0LmRhdGEuZGVjb2RlKCkpCisgICAgICAgIGRhdGEg PSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3JtIGVsc2UganNvbi5sb2Fk cygKKyAgICAgICAgICAgIHJlcXVlc3QuZGF0YSwgZW5jb2Rpbmc9J3V0Zi04 JworICAgICAgICApCiAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgU1FM ID0gc2VsZi5nZXRfc3FsKHNjaWQsIHRpZCwgdHJpZCwgZGF0YSkKQEAgLTcw NSw3ICs3MDcsNyBAQCBjbGFzcyBUcmlnZ2VyVmlldyhQR0NoaWxkTm9kZVZp ZXcpOgogICAgICAgICBkYXRhID0gZGljdCgpCiAgICAgICAgIGZvciBrLCB2 IGluIHJlcXVlc3QuYXJncy5pdGVtcygpOgogICAgICAgICAgICAgdHJ5Ogot ICAgICAgICAgICAgICAgIGRhdGFba10gPSBqc29uLmxvYWRzKHYpCisgICAg ICAgICAgICAgICAgZGF0YVtrXSA9IGpzb24ubG9hZHModiwgZW5jb2Rpbmc9 J3V0Zi04JykKICAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgogICAg ICAgICAgICAgICAgIGRhdGFba10gPSB2CiAKQEAgLTgxNSw2ICs4MTcsOSBA QCBjbGFzcyBUcmlnZ2VyVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAg ICAgICAgU1FMID0gc2VsZi5nZXRfc3FsKHNjaWQsIHRpZCwgTm9uZSwgZGF0 YSkKIAogICAgICAgICAgICAgc3FsX2hlYWRlciA9ICItLSBUcmlnZ2VyOiB7 MH1cblxuLS0gIi5mb3JtYXQoZGF0YVsnbmFtZSddKQorICAgICAgICAgICAg aWYgaGFzYXR0cihzdHIsICdkZWNvZGUnKToKKyAgICAgICAgICAgICAgICBz cWxfaGVhZGVyID0gc3FsX2hlYWRlci5kZWNvZGUoJ3V0Zi04JykKKwogICAg ICAgICAgICAgc3FsX2hlYWRlciArPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpv aW4oW3NlbGYudGVtcGxhdGVfcGF0aCwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVsZXRlLnNxbCdd KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGRhdGE9ZGF0YSwgY29ubj1zZWxmLmNvbm4pCkBAIC04NDcsNyArODUyLDkg QEAgY2xhc3MgVHJpZ2dlclZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAg ICAgICAgdHJpZDogVHJpZ2dlciBJRAogICAgICAgICAiIiIKIAotICAgICAg ICBkYXRhID0gcmVxdWVzdC5mb3JtIGlmIHJlcXVlc3QuZm9ybSBlbHNlIGpz b24ubG9hZHMocmVxdWVzdC5kYXRhLmRlY29kZSgpKQorICAgICAgICBkYXRh ID0gcmVxdWVzdC5mb3JtIGlmIHJlcXVlc3QuZm9ybSBlbHNlIGpzb24ubG9h ZHMoCisgICAgICAgICAgICByZXF1ZXN0LmRhdGEsIGVuY29kaW5nPSd1dGYt OCcKKyAgICAgICAgKQogCiAgICAgICAgICMgQ29udmVydCBzdHIgJ3RydWUn IHRvIGJvb2xlYW4gdHlwZQogICAgICAgICBpc19lbmFibGVfZmxhZyA9IGpz b24ubG9hZHMoZGF0YVsnZW5hYmxlJ10pCmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy90eXBlcy9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3R5 cGVzL19faW5pdF9fLnB5CmluZGV4IGRjNzkwY2UuLjM5YzMxZTkgMTAwNjQ0 Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3R5cGVzL19faW5pdF9fLnB5CisrKyBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL3R5cGVzL19faW5pdF9fLnB5CkBAIC05LDcgKzks NyBAQAogCiAiIiIgSW1wbGVtZW50cyBUeXBlIE5vZGUgIiIiCiAKLWltcG9y dCBqc29uCitpbXBvcnQgc2ltcGxlanNvbiBhcyBqc29uCiBmcm9tIGZ1bmN0 b29scyBpbXBvcnQgd3JhcHMKIAogaW1wb3J0IHBnYWRtaW4uYnJvd3Nlci5z ZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzIGFzIGRhdGFiYXNlCkBA IC03OTMsNyArNzkzLDkgQEAgY2xhc3MgVHlwZVZpZXcoUEdDaGlsZE5vZGVW aWV3LCBEYXRhVHlwZVJlYWRlcik6CiAgICAgICAgICAgIHNjaWQ6IFNjaGVt YSBJRAogICAgICAgICAgICB0aWQ6IFR5cGUgSUQKICAgICAgICAgIiIiCi0g ICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3JtIGVs c2UganNvbi5sb2FkcyhyZXF1ZXN0LmRhdGEuZGVjb2RlKCkpCisgICAgICAg IGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3JtIGVsc2UganNv bi5sb2FkcygKKyAgICAgICAgICAgIHJlcXVlc3QuZGF0YSwgZW5jb2Rpbmc9 J3V0Zi04JworICAgICAgICApCiAgICAgICAgIHJlcXVpcmVkX2FyZ3MgPSB7 CiAgICAgICAgICAgICAnbmFtZSc6ICdOYW1lJywKICAgICAgICAgICAgICd0 eXB0eXBlJzogJ1R5cGUnCkBAIC04OTgsNyArOTAwLDkgQEAgY2xhc3MgVHlw ZVZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6CiAgICAg ICAgICAgIHRpZDogVHlwZSBJRAogICAgICAgICAiIiIKIAotICAgICAgICBk YXRhID0gcmVxdWVzdC5mb3JtIGlmIHJlcXVlc3QuZm9ybSBlbHNlIGpzb24u bG9hZHMocmVxdWVzdC5kYXRhLmRlY29kZSgpKQorICAgICAgICBkYXRhID0g cmVxdWVzdC5mb3JtIGlmIHJlcXVlc3QuZm9ybSBlbHNlIGpzb24ubG9hZHMo CisgICAgICAgICAgICByZXF1ZXN0LmRhdGEsIGVuY29kaW5nPSd1dGYtOCcK KyAgICAgICAgKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBTUUwgPSBz ZWxmLmdldF9zcWwoZ2lkLCBzaWQsIGRhdGEsIHNjaWQsIHRpZCkKICAgICAg ICAgICAgIGlmIFNRTCBhbmQgU1FMLnN0cmlwKCdcbicpIGFuZCBTUUwuc3Ry aXAoJyAnKToKQEAgLTEwMDQsNyArMTAwOCw3IEBAIGNsYXNzIFR5cGVWaWV3 KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVSZWFkZXIpOgogICAgICAgICAj IGNvbnZlcnRpbmcgbmVzdGVkIHJlcXVlc3QgZGF0YSBpbiBwcm9wZXIganNv biBmb3JtYXQKICAgICAgICAgZm9yIGtleSwgdmFsIGluIHJlcS5pdGVtcygp OgogICAgICAgICAgICAgaWYga2V5IGluIFsnY29tcG9zaXRlJywgJ2VudW0n LCAnc2VjbGFiZWxzJywgJ3R5cGFjbCddOgotICAgICAgICAgICAgICAgIGRh dGFba2V5XSA9IGpzb24ubG9hZHModmFsKQorICAgICAgICAgICAgICAgIGRh dGFba2V5XSA9IGpzb24ubG9hZHModmFsLCBlbmNvZGluZz0ndXRmLTgnKQog ICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBkYXRhW2tleV0g PSB2YWwKIApAQCAtMTE4MCw2ICsxMTg0LDkgQEAgY2xhc3MgVHlwZVZpZXco UEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6CiAKICAgICAgICAg IyBXZSBhcmUgYXBwZW5kaW5nIGhlYWRlcnMgaGVyZSBmb3Igc3FsIHBhbmVs CiAgICAgICAgIHNxbF9oZWFkZXIgPSAiLS0gVHlwZTogezB9XG5cbi0tICIu Zm9ybWF0KGRhdGFbJ25hbWUnXSkKKyAgICAgICAgaWYgaGFzYXR0cihzdHIs ICdkZWNvZGUnKToKKyAgICAgICAgICAgIHNxbF9oZWFkZXIgPSBzcWxfaGVh ZGVyLmRlY29kZSgndXRmLTgnKQorCiAgICAgICAgIHNxbF9oZWFkZXIgKz0g cmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnZGVsZXRlLnNxbCddKSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZGF0YT1kYXRhLCBjb25uPXNlbGYuY29ubikKZGlm ZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL19faW5pdF9fLnB5IGIv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvdmlld3MvX19pbml0X18ucHkKaW5kZXggZWZkMTI0 Ny4uYTJlZjU4NyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3Mv X19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvX19pbml0 X18ucHkKQEAgLTQ2Niw4ICs0NjYsOSBAQCBjbGFzcyBWaWV3Tm9kZShQR0No aWxkTm9kZVZpZXcsIFZhY3V1bVNldHRpbmdzKToKICAgICAgICAgICAgICdk ZWZpbml0aW9uJwogICAgICAgICBdCiAKLSAgICAgICAgZGF0YSA9IHJlcXVl c3QuZm9ybSBpZiByZXF1ZXN0LmZvcm0gZWxzZSBcCi0gICAgICAgICAgICBq c29uLmxvYWRzKHJlcXVlc3QuZGF0YS5kZWNvZGUoKSkKKyAgICAgICAgZGF0 YSA9IHJlcXVlc3QuZm9ybSBpZiByZXF1ZXN0LmZvcm0gZWxzZSBqc29uLmxv YWRzKAorICAgICAgICAgICAgcmVxdWVzdC5kYXRhLCBlbmNvZGluZz0ndXRm LTgnCisgICAgICAgICkKICAgICAgICAgZm9yIGFyZyBpbiByZXF1aXJlZF9h cmdzOgogICAgICAgICAgICAgaWYgYXJnIG5vdCBpbiBkYXRhOgogICAgICAg ICAgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCkBAIC01MTEs OCArNTEyLDkgQEAgY2xhc3MgVmlld05vZGUoUEdDaGlsZE5vZGVWaWV3LCBW YWN1dW1TZXR0aW5ncyk6CiAgICAgICAgICIiIgogICAgICAgICBUaGlzIGZ1 bmN0aW9uIHdpbGwgdXBkYXRlIGEgdmlldyBvYmplY3QKICAgICAgICAgIiIi Ci0gICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3Jt IGVsc2UgXAotICAgICAgICAgICAganNvbi5sb2FkcyhyZXF1ZXN0LmRhdGEu ZGVjb2RlKCkpCisgICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVx dWVzdC5mb3JtIGVsc2UganNvbi5sb2FkcygKKyAgICAgICAgICAgIHJlcXVl c3QuZGF0YSwgZW5jb2Rpbmc9J3V0Zi04JworICAgICAgICApCiAgICAgICAg IFNRTCA9IHNlbGYuZ2V0U1FMKGdpZCwgc2lkLCBkYXRhLCB2aWQpCiAgICAg ICAgIHRyeToKICAgICAgICAgICAgIGlmIFNRTCBhbmQgU1FMLnN0cmlwKCdc bicpIGFuZCBTUUwuc3RyaXAoJyAnKToKQEAgLTYyNiw3ICs2MjgsNyBAQCBj bGFzcyBWaWV3Tm9kZShQR0NoaWxkTm9kZVZpZXcsIFZhY3V1bVNldHRpbmdz KToKICAgICAgICAgZGF0YSA9IHt9CiAgICAgICAgIGZvciBrLCB2IGluIHJl cXVlc3QuYXJncy5pdGVtcygpOgogICAgICAgICAgICAgdHJ5OgotICAgICAg ICAgICAgICAgIGRhdGFba10gPSBqc29uLmxvYWRzKHYpCisgICAgICAgICAg ICAgICAgZGF0YVtrXSA9IGpzb24ubG9hZHModiwgZW5jb2Rpbmc9J3V0Zi04 JykKICAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgogICAgICAgICAg ICAgICAgIGRhdGFba10gPSB2CiAKQEAgLTExMjgsNyArMTEzMCw3IEBAIGNs YXNzIFZpZXdOb2RlKFBHQ2hpbGROb2RlVmlldywgVmFjdXVtU2V0dGluZ3Mp OgogICAgICAgICBlbHNlOgogICAgICAgICAgICAgY29sdW1ucyA9ICcqJwog Ci0gICAgICAgIHNxbCA9ICJTRUxFQ1QgezB9XG5cdEZST00gezF9OyIuZm9y bWF0KAorICAgICAgICBzcWwgPSB1IlNFTEVDVCB7MH1cblx0RlJPTSB7MX07 Ii5mb3JtYXQoCiAgICAgICAgICAgICBjb2x1bW5zLAogICAgICAgICAgICAg c2VsZi5xdElkZW50KHNlbGYuY29ubiwgZGF0YV92aWV3WydzY2hlbWEnXSwg ZGF0YV92aWV3WyduYW1lJ10pCiAgICAgICAgICkKQEAgLTExODUsNyArMTE4 Nyw3IEBAIGNsYXNzIFZpZXdOb2RlKFBHQ2hpbGROb2RlVmlldywgVmFjdXVt U2V0dGluZ3MpOgogICAgICAgICBpZiBsZW4oY29sdW1ucykgPiAwOgogICAg ICAgICAgICAgY29sdW1ucyA9ICIsICIuam9pbihjb2x1bW5zKQogICAgICAg ICAgICAgdmFsdWVzID0gIiwgIi5qb2luKHZhbHVlcykKLSAgICAgICAgICAg IHNxbCA9ICJJTlNFUlQgSU5UTyB7MH0oXG5cdHsxfSlcblx0VkFMVUVTICh7 Mn0pOyIuZm9ybWF0KAorICAgICAgICAgICAgc3FsID0gdSJJTlNFUlQgSU5U TyB7MH0oXG5cdHsxfSlcblx0VkFMVUVTICh7Mn0pOyIuZm9ybWF0KAogICAg ICAgICAgICAgICAgIHNlbGYucXRJZGVudCgKICAgICAgICAgICAgICAgICAg ICAgc2VsZi5jb25uLCBkYXRhX3ZpZXdbJ3NjaGVtYSddLCBkYXRhX3ZpZXdb J25hbWUnXQogICAgICAgICAgICAgICAgICksCkBAIC0xNTk2LDggKzE1OTgs OSBAQCBjbGFzcyBNVmlld05vZGUoVmlld05vZGUsIFZhY3V1bVNldHRpbmdz KToKICAgICAgICAgIiIiCiAKICAgICAgICAgIyBCZWxvdyB3aWxsIGRlY2lk ZSBpZiBpdCdzIHJlZnJlc2ggZGF0YSBvciByZWZyZXNoIGNvbmN1cnJlbnRs eQotICAgICAgICBkYXRhID0gcmVxdWVzdC5mb3JtIGlmIHJlcXVlc3QuZm9y bSBlbHNlIFwKLSAgICAgICAgICAgIGpzb24ubG9hZHMocmVxdWVzdC5kYXRh LmRlY29kZSgpKQorICAgICAgICBkYXRhID0gcmVxdWVzdC5mb3JtIGlmIHJl cXVlc3QuZm9ybSBlbHNlIGpzb24ubG9hZHMoCisgICAgICAgICAgICByZXF1 ZXN0LmRhdGEsIGVuY29kaW5nPSd1dGYtOCcKKyAgICAgICAgKQogCiAgICAg ICAgIGlzX2NvbmN1cnJlbnQgPSBqc29uLmxvYWRzKGRhdGFbJ2NvbmN1cnJl bnQnXSkKICAgICAgICAgd2l0aF9kYXRhID0ganNvbi5sb2FkcyhkYXRhWyd3 aXRoX2RhdGEnXSkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Jlc291cmNlX2dyb3Vwcy9fX2luaXRf Xy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL3Jlc291cmNlX2dyb3Vwcy9fX2luaXRfXy5weQppbmRleCAxNmM2MTdh Li5kZjYyYWIzIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9yZXNvdXJjZV9ncm91cHMvX19pbml0X18u cHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvcmVzb3VyY2VfZ3JvdXBzL19faW5pdF9fLnB5CkBAIC05LDcgKzks NyBAQAogCiAiIiJJbXBsZW1lbnRzIFJlc291cmNlIEdyb3VwcyBmb3IgUFBB UyA5LjQgYW5kIGFib3ZlIiIiCiAKLWltcG9ydCBqc29uCitpbXBvcnQgc2lt cGxlanNvbiBhcyBqc29uCiBmcm9tIGZ1bmN0b29scyBpbXBvcnQgd3JhcHMK IAogaW1wb3J0IHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZl cnMgYXMgc2VydmVycwpAQCAtMzEyLDcgKzMxMiw5IEBAIGNsYXNzIFJlc291 cmNlR3JvdXBWaWV3KE5vZGVWaWV3KToKICAgICAgICAgICAgICduYW1lJwog ICAgICAgICBdCiAKLSAgICAgICAgZGF0YSA9IHJlcXVlc3QuZm9ybSBpZiBy ZXF1ZXN0LmZvcm0gZWxzZSBqc29uLmxvYWRzKHJlcXVlc3QuZGF0YS5kZWNv ZGUoKSkKKyAgICAgICAgZGF0YSA9IHJlcXVlc3QuZm9ybSBpZiByZXF1ZXN0 LmZvcm0gZWxzZSBqc29uLmxvYWRzKAorICAgICAgICAgICAgcmVxdWVzdC5k YXRhLCBlbmNvZGluZz0ndXRmLTgnCisgICAgICAgICkKICAgICAgICAgZm9y IGFyZyBpbiByZXF1aXJlZF9hcmdzOgogICAgICAgICAgICAgaWYgYXJnIG5v dCBpbiBkYXRhOgogICAgICAgICAgICAgICAgIHJldHVybiBtYWtlX2pzb25f cmVzcG9uc2UoCkBAIC0zNzAsNyArMzcyLDkgQEAgY2xhc3MgUmVzb3VyY2VH cm91cFZpZXcoTm9kZVZpZXcpOgogICAgICAgICByZXF1aXJlZF9hcmdzID0g WwogICAgICAgICAgICAgJ25hbWUnLCAnY3B1X3JhdGVfbGltaXQnLCAnZGly dHlfcmF0ZV9saW1pdCcKICAgICAgICAgXQotICAgICAgICBkYXRhID0gcmVx dWVzdC5mb3JtIGlmIHJlcXVlc3QuZm9ybSBlbHNlIGpzb24ubG9hZHMocmVx dWVzdC5kYXRhLmRlY29kZSgpKQorICAgICAgICBkYXRhID0gcmVxdWVzdC5m b3JtIGlmIHJlcXVlc3QuZm9ybSBlbHNlIGpzb24ubG9hZHMoCisgICAgICAg ICAgICByZXF1ZXN0LmRhdGEsIGVuY29kaW5nPSd1dGYtOCcKKyAgICAgICAg KQogCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHNxbCA9IHJlbmRlcl90 ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLCAncHJvcGVy dGllcy5zcWwnXSksIHJnaWQ9cmdfaWQpCkBAIC00NjIsNyArNDY2LDcgQEAg Y2xhc3MgUmVzb3VyY2VHcm91cFZpZXcoTm9kZVZpZXcpOgogICAgICAgICBk YXRhID0gZGljdCgpCiAgICAgICAgIGZvciBrLCB2IGluIHJlcXVlc3QuYXJn cy5pdGVtcygpOgogICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAg IGRhdGFba10gPSBqc29uLmxvYWRzKHYpCisgICAgICAgICAgICAgICAgZGF0 YVtrXSA9IGpzb24ubG9hZHModiwgZW5jb2Rpbmc9J3V0Zi04JykKICAgICAg ICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgogICAgICAgICAgICAgICAgIGRh dGFba10gPSB2CiAKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3JvbGVzL19faW5pdF9fLnB5IGIvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvcm9sZXMv X19pbml0X18ucHkKaW5kZXggOGJlY2M0ZS4uYmVlM2QwMiAxMDA2NDQKLS0t IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv cm9sZXMvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvcm9sZXMvX19pbml0X18ucHkKQEAgLTEx MSw3ICsxMTEsNyBAQCBjbGFzcyBSb2xlVmlldyhQR0NoaWxkTm9kZVZpZXcp OgogCiAgICAgICAgICAgICBkYXRhID0gTm9uZQogICAgICAgICAgICAgaWYg cmVxdWVzdC5kYXRhOgotICAgICAgICAgICAgICAgIGRhdGEgPSBqc29uLmxv YWRzKHJlcXVlc3QuZGF0YSkKKyAgICAgICAgICAgICAgICBkYXRhID0ganNv bi5sb2FkcyhyZXF1ZXN0LmRhdGEsIGVuY29kaW5nPSd1dGYtOCcpCiAgICAg ICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIGRhdGEgPSBkaWN0KCkK ICAgICAgICAgICAgICAgICByZXEgPSByZXF1ZXN0LmFyZ3Mgb3IgcmVxdWVz dC5mb3JtCkBAIC0xMjUsNyArMTI1LDcgQEAgY2xhc3MgUm9sZVZpZXcoUEdD aGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgICAgICAgICAgICAgIHUncm9s Y2F0dXBkYXRlJywgdSd2YXJpYWJsZXMnLCB1J3JvbG1lbWJlcnNoaXAnLAog ICAgICAgICAgICAgICAgICAgICAgICAgdSdzZWNsYWJlbHMnCiAgICAgICAg ICAgICAgICAgICAgIF06Ci0gICAgICAgICAgICAgICAgICAgICAgICBkYXRh W2tleV0gPSBqc29uLmxvYWRzKHZhbCkKKyAgICAgICAgICAgICAgICAgICAg ICAgIGRhdGFba2V5XSA9IGpzb24ubG9hZHModmFsLCBlbmNvZGluZz0ndXRm LTgnKQogICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAg ICAgICAgICAgICAgZGF0YVtrZXldID0gdmFsCiAKQEAgLTY4NSw3ICs2ODUs NyBAQCByb2xtZW1iZXJzaGlwOnsKICAgICBkZWYgZHJvcChzZWxmLCBnaWQs IHNpZCwgcmlkKToKIAogICAgICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuY29u bi5leGVjdXRlXzJkYXJyYXkoCi0gICAgICAgICAgICAiRFJPUCBST0xFIHsw fTsiLmZvcm1hdChzZWxmLnF0SWRlbnQoc2VsZi5jb25uLCBzZWxmLnJvbGUp KQorICAgICAgICAgICAgdSJEUk9QIFJPTEUgezB9OyIuZm9ybWF0KHNlbGYu cXRJZGVudChzZWxmLmNvbm4sIHNlbGYucm9sZSkpCiAgICAgICAgICkKICAg ICAgICAgaWYgbm90IHN0YXR1czoKICAgICAgICAgICAgIHJldHVybiBpbnRl cm5hbF9zZXJ2ZXJfZXJyb3IoCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90YWJsZXNwYWNlcy9fX2lu aXRfXy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL3RhYmxlc3BhY2VzL19faW5pdF9fLnB5CmluZGV4IDYxMzdhNjku LmJkNWRlMDcgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL3RhYmxlc3BhY2VzL19faW5pdF9fLnB5Cisr KyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L3RhYmxlc3BhY2VzL19faW5pdF9fLnB5CkBAIC02LDcgKzYsNyBAQAogIyBU aGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FM IExpY2VuY2UKICMKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi1p bXBvcnQganNvbgoraW1wb3J0IHNpbXBsZWpzb24gYXMganNvbgogaW1wb3J0 IHJlCiBmcm9tIGZ1bmN0b29scyBpbXBvcnQgd3JhcHMKIApAQCAtMjUyLDcg KzI1Miw5IEBAIGNsYXNzIFRhYmxlc3BhY2VWaWV3KFBHQ2hpbGROb2RlVmll dyk6CiAgICAgICAgICAgICAnc3BjbG9jYXRpb24nOiAnTG9jYXRpb24nCiAg ICAgICAgIH0KIAotICAgICAgICBkYXRhID0gcmVxdWVzdC5mb3JtIGlmIHJl cXVlc3QuZm9ybSBlbHNlIGpzb24ubG9hZHMocmVxdWVzdC5kYXRhLmRlY29k ZSgpKQorICAgICAgICBkYXRhID0gcmVxdWVzdC5mb3JtIGlmIHJlcXVlc3Qu Zm9ybSBlbHNlIGpzb24ubG9hZHMoCisgICAgICAgICAgICByZXF1ZXN0LmRh dGEsIGVuY29kaW5nPSd1dGYtOCcKKyAgICAgICAgKQogCiAgICAgICAgIGZv ciBhcmcgaW4gcmVxdWlyZWRfYXJnczoKICAgICAgICAgICAgIGlmIGFyZyBu b3QgaW4gZGF0YToKQEAgLTMxOCw3ICszMjAsOSBAQCBjbGFzcyBUYWJsZXNw YWNlVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAiIiIKICAgICAg ICAgVGhpcyBmdW5jdGlvbiB3aWxsIHVwZGF0ZSB0YWJsZXNwYWNlIG9iamVj dAogICAgICAgICAiIiIKLSAgICAgICAgZGF0YSA9IHJlcXVlc3QuZm9ybSBp ZiByZXF1ZXN0LmZvcm0gZWxzZSBqc29uLmxvYWRzKHJlcXVlc3QuZGF0YS5k ZWNvZGUoKSkKKyAgICAgICAgZGF0YSA9IHJlcXVlc3QuZm9ybSBpZiByZXF1 ZXN0LmZvcm0gZWxzZSBqc29uLmxvYWRzKAorICAgICAgICAgICAgcmVxdWVz dC5kYXRhLCBlbmNvZGluZz0ndXRmLTgnCisgICAgICAgICkKIAogICAgICAg ICB0cnk6CiAgICAgICAgICAgICBTUUwgPSBzZWxmLmdldF9zcWwoZ2lkLCBz aWQsIGRhdGEsIHRzaWQpCkBAIC00MDUsNyArNDA5LDcgQEAgY2xhc3MgVGFi bGVzcGFjZVZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgZGF0YSA9 IGRpY3QoKQogICAgICAgICBmb3IgaywgdiBpbiByZXF1ZXN0LmFyZ3MuaXRl bXMoKToKICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBkYXRh W2tdID0ganNvbi5sb2Fkcyh2KQorICAgICAgICAgICAgICAgIGRhdGFba10g PSBqc29uLmxvYWRzKHYsIGVuY29kaW5nPSd1dGYtOCcpCiAgICAgICAgICAg ICBleGNlcHQgVmFsdWVFcnJvciBhcyB2ZToKICAgICAgICAgICAgICAgICBj dXJyZW50X2FwcC5sb2dnZXIuZXhjZXB0aW9uKHZlKQogICAgICAgICAgICAg ICAgIGRhdGFba10gPSB2CkBAIC01MjEsNiArNTI1LDkgQEAgY2xhc3MgVGFi bGVzcGFjZVZpZXcoUEdDaGlsZE5vZGVWaWV3KToKIAogIiIiLmZvcm1hdChv bGRfZGF0YVsnbmFtZSddKQogCisgICAgICAgIGlmIGhhc2F0dHIoc3RyLCAn ZGVjb2RlJyk6CisgICAgICAgICAgICBzcWxfaGVhZGVyID0gc3FsX2hlYWRl ci5kZWNvZGUoJ3V0Zi04JykKKwogICAgICAgICBTUUwgPSBzcWxfaGVhZGVy ICsgU1FMCiAgICAgICAgIFNRTCA9IHJlLnN1YignXG57Mix9JywgJ1xuXG4n LCBTUUwpCiAgICAgICAgIHJldHVybiBhamF4X3Jlc3BvbnNlKHJlc3BvbnNl PVNRTC5zdHJpcCgnXG4nKSkKQEAgLTcyMyw3ICs3MzAsNyBAQCBjbGFzcyBU YWJsZXNwYWNlVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICAg c2lkOiBTZXJ2ZXIgSUQKICAgICAgICAgICAgIHRzaWQ6IFRhYmxlc3BhY2Ug SUQKICAgICAgICAgIiIiCi0gICAgICAgIGRhdGEgPSBqc29uLmxvYWRzKHJl cXVlc3QuZm9ybVsnZGF0YSddKQorICAgICAgICBkYXRhID0ganNvbi5sb2Fk cyhyZXF1ZXN0LmZvcm1bJ2RhdGEnXSwgZW5jb2Rpbmc9J3V0Zi04JykKIAog ICAgICAgICB0cnk6CiAgICAgICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxh dGUoIi8iLmpvaW4oCkBAIC03NjIsNyArNzY5LDcgQEAgY2xhc3MgVGFibGVz cGFjZVZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgZGF0YSA9IGRp Y3QoKQogICAgICAgICBmb3IgaywgdiBpbiByZXF1ZXN0LmFyZ3MuaXRlbXMo KToKICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBkYXRhW2td ID0ganNvbi5sb2Fkcyh2KQorICAgICAgICAgICAgICAgIGRhdGFba10gPSBq c29uLmxvYWRzKHYsIGVuY29kaW5nPSd1dGYtOCcpCiAgICAgICAgICAgICBl eGNlcHQgVmFsdWVFcnJvciBhcyB2ZToKICAgICAgICAgICAgICAgICBjdXJy ZW50X2FwcC5sb2dnZXIuZXhjZXB0aW9uKHZlKQogICAgICAgICAgICAgICAg IGRhdGFba10gPSB2CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9i YWNrdXAvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi90b29scy9iYWNrdXAv X19pbml0X18ucHkKaW5kZXggZWNlNWQ5Ny4uNzcxYjNmZiAxMDA2NDQKLS0t IGEvd2ViL3BnYWRtaW4vdG9vbHMvYmFja3VwL19faW5pdF9fLnB5CisrKyBi L3dlYi9wZ2FkbWluL3Rvb2xzL2JhY2t1cC9fX2luaXRfXy5weQpAQCAtOSw3 ICs5LDcgQEAKIAogIiIiSW1wbGVtZW50cyBCYWNrdXAgVXRpbGl0eSIiIgog Ci1pbXBvcnQganNvbgoraW1wb3J0IHNpbXBsZWpzb24gYXMganNvbgogaW1w b3J0IG9zCiAKIGZyb20gZmxhc2sgaW1wb3J0IHJlbmRlcl90ZW1wbGF0ZSwg cmVxdWVzdCwgY3VycmVudF9hcHAsIFwKQEAgLTIzMyw5ICsyMzMsOSBAQCBk ZWYgY3JlYXRlX2JhY2t1cF9qb2Ioc2lkKToKICAgICBpZiByZXF1ZXN0LmZv cm06CiAgICAgICAgICMgQ29udmVydCBJbW11dGFibGVEaWN0IHRvIGRpY3QK ICAgICAgICAgZGF0YSA9IGRpY3QocmVxdWVzdC5mb3JtKQotICAgICAgICBk YXRhID0ganNvbi5sb2FkcyhkYXRhWydkYXRhJ11bMF0pCisgICAgICAgIGRh dGEgPSBqc29uLmxvYWRzKGRhdGFbJ2RhdGEnXVswXSwgZW5jb2Rpbmc9J3V0 Zi04JykKICAgICBlbHNlOgotICAgICAgICBkYXRhID0ganNvbi5sb2Fkcyhy ZXF1ZXN0LmRhdGEuZGVjb2RlKCkpCisgICAgICAgIGRhdGEgPSBqc29uLmxv YWRzKHJlcXVlc3QuZGF0YSwgZW5jb2Rpbmc9J3V0Zi04JykKIAogICAgIGJh Y2t1cF9maWxlID0gZmlsZW5hbWVfd2l0aF9maWxlX21hbmFnZXJfcGF0aChk YXRhWydmaWxlJ10pCiAKQEAgLTMyNyw5ICszMjcsOSBAQCBkZWYgY3JlYXRl X2JhY2t1cF9vYmplY3RzX2pvYihzaWQpOgogICAgIGlmIHJlcXVlc3QuZm9y bToKICAgICAgICAgIyBDb252ZXJ0IEltbXV0YWJsZURpY3QgdG8gZGljdAog ICAgICAgICBkYXRhID0gZGljdChyZXF1ZXN0LmZvcm0pCi0gICAgICAgIGRh dGEgPSBqc29uLmxvYWRzKGRhdGFbJ2RhdGEnXVswXSkKKyAgICAgICAgZGF0 YSA9IGpzb24ubG9hZHMoZGF0YVsnZGF0YSddWzBdLCBlbmNvZGluZz0ndXRm LTgnKQogICAgIGVsc2U6Ci0gICAgICAgIGRhdGEgPSBqc29uLmxvYWRzKHJl cXVlc3QuZGF0YS5kZWNvZGUoKSkKKyAgICAgICAgZGF0YSA9IGpzb24ubG9h ZHMocmVxdWVzdC5kYXRhLCBlbmNvZGluZz0ndXRmLTgnKQogCiAgICAgYmFj a3VwX2ZpbGUgPSBmaWxlbmFtZV93aXRoX2ZpbGVfbWFuYWdlcl9wYXRoKGRh dGFbJ2ZpbGUnXSkKIApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMv ZGF0YWdyaWQvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi90b29scy9kYXRh Z3JpZC9fX2luaXRfXy5weQppbmRleCBhYWFlZmRhLi5iNjA3MTQzIDEwMDY0 NAotLS0gYS93ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC9fX2luaXRfXy5w eQorKysgYi93ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC9fX2luaXRfXy5w eQpAQCAtMTAsNyArMTAsNyBAQAogIiIiQSBibHVlcHJpbnQgbW9kdWxlIGlt cGxlbWVudGluZyB0aGUgZGF0YWdyaWQgZnJhbWUuIiIiCiBNT0RVTEVfTkFN RSA9ICdkYXRhZ3JpZCcKIAotaW1wb3J0IGpzb24KK2ltcG9ydCBzaW1wbGVq c29uIGFzIGpzb24KIGltcG9ydCBwaWNrbGUKIGltcG9ydCByYW5kb20KIApA QCAtOTMsNyArOTMsNyBAQCBkZWYgaW5pdGlhbGl6ZV9kYXRhZ3JpZChjbWRf dHlwZSwgb2JqX3R5cGUsIHNpZCwgZGlkLCBvYmpfaWQpOgogICAgICIiIgog CiAgICAgaWYgcmVxdWVzdC5kYXRhOgotICAgICAgICBmaWx0ZXJfc3FsID0g anNvbi5sb2FkcyhyZXF1ZXN0LmRhdGEuZGVjb2RlKCkpCisgICAgICAgIGZp bHRlcl9zcWwgPSBqc29uLmxvYWRzKHJlcXVlc3QuZGF0YSwgZW5jb2Rpbmc9 J3V0Zi04JykKICAgICBlbHNlOgogICAgICAgICBmaWx0ZXJfc3FsID0gcmVx dWVzdC5hcmdzIG9yIHJlcXVlc3QuZm9ybQogCkBAIC0yODksNyArMjg5LDcg QEAgZGVmIHZhbGlkYXRlX2ZpbHRlcihzaWQsIGRpZCwgb2JqX2lkKToKICAg ICAgICAgb2JqX2lkOiBJZCBvZiBjdXJyZW50bHkgc2VsZWN0ZWQgb2JqZWN0 CiAgICAgIiIiCiAgICAgaWYgcmVxdWVzdC5kYXRhOgotICAgICAgICBmaWx0 ZXJfc3FsID0ganNvbi5sb2FkcyhyZXF1ZXN0LmRhdGEuZGVjb2RlKCkpCisg ICAgICAgIGZpbHRlcl9zcWwgPSBqc29uLmxvYWRzKHJlcXVlc3QuZGF0YSwg ZW5jb2Rpbmc9J3V0Zi04JykKICAgICBlbHNlOgogICAgICAgICBmaWx0ZXJf c3FsID0gcmVxdWVzdC5hcmdzIG9yIHJlcXVlc3QuZm9ybQogCmRpZmYgLS1n aXQgYS93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dlci9fX2luaXRfXy5weSBi L3dlYi9wZ2FkbWluL3Rvb2xzL2RlYnVnZ2VyL19faW5pdF9fLnB5CmluZGV4 IDRiOWYwYmMuLjE4MzkzYzMgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3Rv b2xzL2RlYnVnZ2VyL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL3Rv b2xzL2RlYnVnZ2VyL19faW5pdF9fLnB5CkBAIC0xMSw3ICsxMSw3IEBACiAK IE1PRFVMRV9OQU1FID0gJ2RlYnVnZ2VyJwogCi1pbXBvcnQganNvbgoraW1w b3J0IHNpbXBsZWpzb24gYXMganNvbgogaW1wb3J0IHJhbmRvbQogCiBmcm9t IGZsYXNrIGltcG9ydCB1cmxfZm9yLCBSZXNwb25zZSwgcmVuZGVyX3RlbXBs YXRlLCByZXF1ZXN0LCBzZXNzaW9uLCBjdXJyZW50X2FwcApAQCAtMzczLDcg KzM3Myw3IEBAIGRlZiBpbml0aWFsaXplX3RhcmdldChkZWJ1Z190eXBlLCBz aWQsIGRpZCwgc2NpZCwgZnVuY19pZCk6CiAgICAgIyBIZXJlIHdlIGdldCB0 aGUgdmFsdWUgaW4gY2FzZSBvZiBkaXJlY3QgZGVidWdnaW5nIHNvIHVwZGF0 ZSB0aGUgc2Vzc2lvbiB2YXJpYWJsZXMgYWNjb3JkaW5nbHkKICAgICAjIEZv ciBpbmRpcmVjdCBkZWJ1Z2dpbmcgdXNlciB3aWxsIHByb3ZpZGUgdGhlIGRh dGEgZnJvbSBhbm90aGVyIHNlc3Npb24gc28gYmVsb3cgY29uZGl0aW9uIHdp bGwgYmUgYmUgcmVxdWlyZWQKICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAn UE9TVCc6Ci0gICAgICAgIGRhdGEgPSBqc29uLmxvYWRzKHJlcXVlc3QudmFs dWVzWydkYXRhJ10pCisgICAgICAgIGRhdGEgPSBqc29uLmxvYWRzKHJlcXVl c3QudmFsdWVzWydkYXRhJ10sIGVuY29kaW5nPSd1dGYtOCcpCiAgICAgICAg IGlmIGRhdGE6CiAgICAgICAgICAgICBkID0gc2Vzc2lvblsnZnVuY0RhdGEn XQogICAgICAgICAgICAgZFsnYXJnc192YWx1ZSddID0gZGF0YQpAQCAtNTgy LDcgKzU4Miw3IEBAIGRlZiBzdGFydF9kZWJ1Z2dlcl9saXN0ZW5lcih0cmFu c19pZCk6CiAgICAgIyBJZiB1c2VyIGFnYWluIHN0YXJ0IHRoZSBzYW1lIGRl YnVnIGZ1bmN0aW9uIHdpdGggZGlmZmVyZW50IGFyZ3VtZW50cyB0aGVuIHdl IG5lZWQgdG8gc2F2ZSB0aGF0IHZhbHVlcyB0byBzZXNzaW9uCiAgICAgIyB2 YXJpYWJsZSBhbmQgZGF0YWJhc2UuCiAgICAgaWYgcmVxdWVzdC5tZXRob2Qg PT0gJ1BPU1QnOgotICAgICAgICBkYXRhID0ganNvbi5sb2FkcyhyZXF1ZXN0 LnZhbHVlc1snZGF0YSddKQorICAgICAgICBkYXRhID0ganNvbi5sb2Fkcyhy ZXF1ZXN0LnZhbHVlc1snZGF0YSddLCBlbmNvZGluZz0ndXRmLTgnKQogICAg ICAgICBpZiBkYXRhOgogICAgICAgICAgICAgZnVuY3Rpb25fZGF0YSA9IHNl c3Npb25bJ2Z1bmN0aW9uRGF0YSddCiAgICAgICAgICAgICBzZXNzaW9uX29i aiA9IGZ1bmN0aW9uX2RhdGFbc3RyKHRyYW5zX2lkKV0KQEAgLTEwODAsNyAr MTA4MCw3IEBAIGRlZiBkZXBvc2l0X3BhcmFtZXRlcl92YWx1ZSh0cmFuc19p ZCk6CiAKICAgICBpZiBjb25uLmNvbm5lY3RlZCgpOgogICAgICAgICAjIGdl dCB0aGUgZGF0YSBzZW50IHRocm91Z2ggcG9zdCBmcm9tIGNsaWVudAotICAg ICAgICBkYXRhID0ganNvbi5sb2FkcyhyZXF1ZXN0LnZhbHVlc1snZGF0YSdd KQorICAgICAgICBkYXRhID0ganNvbi5sb2FkcyhyZXF1ZXN0LnZhbHVlc1sn ZGF0YSddLCBlbmNvZGluZz0ndXRmLTgnKQogCiAgICAgICAgIGlmIGRhdGE6 CiAgICAgICAgICAgICBzcWwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4o W3RlbXBsYXRlX3BhdGgsICJkZXBvc2l0X3ZhbHVlLnNxbCJdKSwgc2Vzc2lv bl9pZD1vYmpbJ3Nlc3Npb25faWQnXSwKQEAgLTEyMjMsNyArMTIyMyw3IEBA IGRlZiBzZXRfYXJndW1lbnRzX3NxbGl0ZShzaWQsIGRpZCwgc2NpZCwgZnVu Y19pZCk6CiAgICAgIiIiCiAKICAgICBpZiByZXF1ZXN0LnZhbHVlc1snZGF0 YSddOgotICAgICAgICBkYXRhID0ganNvbi5sb2FkcyhyZXF1ZXN0LnZhbHVl c1snZGF0YSddKQorICAgICAgICBkYXRhID0ganNvbi5sb2FkcyhyZXF1ZXN0 LnZhbHVlc1snZGF0YSddLCBlbmNvZGluZz0ndXRmLTgnKQogCiAgICAgdHJ5 OgogICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBsZW4oZGF0YSkpOgpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvaW1wb3J0X2V4cG9ydC9fX2lu aXRfXy5weSBiL3dlYi9wZ2FkbWluL3Rvb2xzL2ltcG9ydF9leHBvcnQvX19p bml0X18ucHkKaW5kZXggZjA0ZjU2Mi4uZTFkYzA2MSAxMDA2NDQKLS0tIGEv d2ViL3BnYWRtaW4vdG9vbHMvaW1wb3J0X2V4cG9ydC9fX2luaXRfXy5weQor KysgYi93ZWIvcGdhZG1pbi90b29scy9pbXBvcnRfZXhwb3J0L19faW5pdF9f LnB5CkBAIC05LDcgKzksNyBAQAogCiAiIiJBIGJsdWVwcmludCBtb2R1bGUg aW1wbGVtZW50aW5nIHRoZSBpbXBvcnQgYW5kIGV4cG9ydCBmdW5jdGlvbmFs aXR5IiIiCiAKLWltcG9ydCBqc29uCitpbXBvcnQgc2ltcGxlanNvbiBhcyBq c29uCiBpbXBvcnQgb3MKIAogZnJvbSBmbGFzayBpbXBvcnQgdXJsX2Zvciwg UmVzcG9uc2UsIHJlbmRlcl90ZW1wbGF0ZSwgcmVxdWVzdCwgY3VycmVudF9h cHAKQEAgLTE2Niw5ICsxNjYsOSBAQCBkZWYgY3JlYXRlX2ltcG9ydF9leHBv cnRfam9iKHNpZCk6CiAgICAgaWYgcmVxdWVzdC5mb3JtOgogICAgICAgICAj IENvbnZlcnQgSW1tdXRhYmxlRGljdCB0byBkaWN0CiAgICAgICAgIGRhdGEg PSBkaWN0KHJlcXVlc3QuZm9ybSkKLSAgICAgICAgZGF0YSA9IGpzb24ubG9h ZHMoZGF0YVsnZGF0YSddWzBdKQorICAgICAgICBkYXRhID0ganNvbi5sb2Fk cyhkYXRhWydkYXRhJ11bMF0sIGVuY29kaW5nPSd1dGYtOCcpCiAgICAgZWxz ZToKLSAgICAgICAgZGF0YSA9IGpzb24ubG9hZHMocmVxdWVzdC5kYXRhLmRl Y29kZSgpKQorICAgICAgICBkYXRhID0ganNvbi5sb2FkcyhyZXF1ZXN0LmRh dGEsIGVuY29kaW5nPSd1dGYtOCcpCiAKICAgICAjIEZldGNoIHRoZSBzZXJ2 ZXIgZGV0YWlscyBsaWtlIGhvc3RuYW1lLCBwb3J0LCByb2xlcyBldGMKICAg ICBzZXJ2ZXIgPSBTZXJ2ZXIucXVlcnkuZmlsdGVyX2J5KApkaWZmIC0tZ2l0 IGEvd2ViL3BnYWRtaW4vdG9vbHMvbWFpbnRlbmFuY2UvX19pbml0X18ucHkg Yi93ZWIvcGdhZG1pbi90b29scy9tYWludGVuYW5jZS9fX2luaXRfXy5weQpp bmRleCBiMTE2YmY5Li44ODUzYzhiIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi90b29scy9tYWludGVuYW5jZS9fX2luaXRfXy5weQorKysgYi93ZWIvcGdh ZG1pbi90b29scy9tYWludGVuYW5jZS9fX2luaXRfXy5weQpAQCAtOSw3ICs5 LDcgQEAKIAogIiIiQSBibHVlcHJpbnQgbW9kdWxlIGltcGxlbWVudGluZyB0 aGUgbWFpbnRlbmFuY2UgdG9vbCBmb3IgdmFjdXVtIiIiCiAKLWltcG9ydCBq c29uCitpbXBvcnQgc2ltcGxlanNvbiBhcyBqc29uCiAKIGZyb20gZmxhc2sg aW1wb3J0IHVybF9mb3IsIFJlc3BvbnNlLCByZW5kZXJfdGVtcGxhdGUsIHJl cXVlc3QsIGN1cnJlbnRfYXBwCiBmcm9tIGZsYXNrX2JhYmVsIGltcG9ydCBn ZXR0ZXh0IGFzIF8KQEAgLTE3MSw5ICsxNzEsOSBAQCBkZWYgY3JlYXRlX21h aW50ZW5hbmNlX2pvYihzaWQsIGRpZCk6CiAgICAgaWYgcmVxdWVzdC5mb3Jt OgogICAgICAgICAjIENvbnZlcnQgSW1tdXRhYmxlRGljdCB0byBkaWN0CiAg ICAgICAgIGRhdGEgPSBkaWN0KHJlcXVlc3QuZm9ybSkKLSAgICAgICAgZGF0 YSA9IGpzb24ubG9hZHMoZGF0YVsnZGF0YSddWzBdKQorICAgICAgICBkYXRh ID0ganNvbi5sb2FkcyhkYXRhWydkYXRhJ11bMF0sIGVuY29kaW5nPSd1dGYt OCcpCiAgICAgZWxzZToKLSAgICAgICAgZGF0YSA9IGpzb24ubG9hZHMocmVx dWVzdC5kYXRhLmRlY29kZSgpKQorICAgICAgICBkYXRhID0ganNvbi5sb2Fk cyhyZXF1ZXN0LmRhdGEsIGVuY29kaW5nPSd1dGYtOCcpCiAKICAgICBpbmRl eF9uYW1lID0gTm9uZQogCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29s cy9yZXN0b3JlL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vdG9vbHMvcmVz dG9yZS9fX2luaXRfXy5weQppbmRleCA1Y2VjOGRhLi4wZmE4YmI4IDEwMDY0 NAotLS0gYS93ZWIvcGdhZG1pbi90b29scy9yZXN0b3JlL19faW5pdF9fLnB5 CisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL3Jlc3RvcmUvX19pbml0X18ucHkK QEAgLTksNyArOSw3IEBACiAKICIiIkltcGxlbWVudHMgUmVzdG9yZSBVdGls aXR5IiIiCiAKLWltcG9ydCBqc29uCitpbXBvcnQgc2ltcGxlanNvbiBhcyBq c29uCiBpbXBvcnQgb3MKIAogZnJvbSBmbGFzayBpbXBvcnQgcmVuZGVyX3Rl bXBsYXRlLCByZXF1ZXN0LCBjdXJyZW50X2FwcCwgXApAQCAtMTc1LDkgKzE3 NSw5IEBAIGRlZiBjcmVhdGVfcmVzdG9yZV9qb2Ioc2lkKToKICAgICBpZiBy ZXF1ZXN0LmZvcm06CiAgICAgICAgICMgQ29udmVydCBJbW11dGFibGVEaWN0 IHRvIGRpY3QKICAgICAgICAgZGF0YSA9IGRpY3QocmVxdWVzdC5mb3JtKQot ICAgICAgICBkYXRhID0ganNvbi5sb2FkcyhkYXRhWydkYXRhJ11bMF0pCisg ICAgICAgIGRhdGEgPSBqc29uLmxvYWRzKGRhdGFbJ2RhdGEnXVswXSwgZW5j b2Rpbmc9J3V0Zi04JykKICAgICBlbHNlOgotICAgICAgICBkYXRhID0ganNv bi5sb2FkcyhyZXF1ZXN0LmRhdGEuZGVjb2RlKCkpCisgICAgICAgIGRhdGEg PSBqc29uLmxvYWRzKHJlcXVlc3QuZGF0YSwgZW5jb2Rpbmc9J3V0Zi04JykK IAogICAgIGJhY2t1cF9maWxlID0gZmlsZW5hbWVfd2l0aF9maWxlX21hbmFn ZXJfcGF0aChkYXRhWydmaWxlJ10pCiAKZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL3Rvb2xzL3NxbGVkaXRvci9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWlu L3Rvb2xzL3NxbGVkaXRvci9fX2luaXRfXy5weQppbmRleCAyMWI3ZTkzLi4y MTVlZGI1IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0 b3IvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRp dG9yL19faW5pdF9fLnB5CkBAIC0xMCw3ICsxMCw3IEBACiAiIiJBIGJsdWVw cmludCBtb2R1bGUgaW1wbGVtZW50aW5nIHRoZSBzcWxlZGl0b3IgZnJhbWUu IiIiCiBNT0RVTEVfTkFNRSA9ICdzcWxlZGl0b3InCiAKLWltcG9ydCBqc29u CitpbXBvcnQgc2ltcGxlanNvbiBhcyBqc29uCiBpbXBvcnQgb3MKIGltcG9y dCBwaWNrbGUKIGltcG9ydCByYW5kb20KQEAgLTIzOCw3ICsyMzgsNyBAQCBk ZWYgc3RhcnRfcXVlcnlfdG9vbCh0cmFuc19pZCk6CiAgICAgIiIiCiAKICAg ICBpZiByZXF1ZXN0LmRhdGE6Ci0gICAgICAgIHNxbCA9IGpzb24ubG9hZHMo cmVxdWVzdC5kYXRhLmRlY29kZSgpKQorICAgICAgICBzcWwgPSBqc29uLmxv YWRzKHJlcXVlc3QuZGF0YSwgZW5jb2Rpbmc9J3V0Zi04JykKICAgICBlbHNl OgogICAgICAgICBzcWwgPSByZXF1ZXN0LmFyZ3Mgb3IgcmVxdWVzdC5mb3Jt CiAKQEAgLTM2Niw3ICszNjYsNyBAQCBkZWYgcHJlZmVyZW5jZXModHJhbnNf aWQpOgogICAgIGVsc2U6CiAgICAgICAgIGRhdGEgPSBOb25lCiAgICAgICAg IGlmIHJlcXVlc3QuZGF0YToKLSAgICAgICAgICAgIGRhdGEgPSBqc29uLmxv YWRzKHJlcXVlc3QuZGF0YS5kZWNvZGUoKSkKKyAgICAgICAgICAgIGRhdGEg PSBqc29uLmxvYWRzKHJlcXVlc3QuZGF0YSwgZW5jb2Rpbmc9J3V0Zi04JykK ICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGRhdGEgPSByZXF1ZXN0LmFy Z3Mgb3IgcmVxdWVzdC5mb3JtCiAgICAgICAgIGZvciBrLCB2IGluIGRhdGEu aXRlbXMoKToKQEAgLTUxNiw3ICs1MTYsNyBAQCBkZWYgc2F2ZSh0cmFuc19p ZCk6CiAgICAgIiIiCiAKICAgICBpZiByZXF1ZXN0LmRhdGE6Ci0gICAgICAg IGNoYW5nZWRfZGF0YSA9IGpzb24ubG9hZHMocmVxdWVzdC5kYXRhLmRlY29k ZSgpKQorICAgICAgICBjaGFuZ2VkX2RhdGEgPSBqc29uLmxvYWRzKHJlcXVl c3QuZGF0YSwgZW5jb2Rpbmc9J3V0Zi04JykKICAgICBlbHNlOgogICAgICAg ICBjaGFuZ2VkX2RhdGEgPSByZXF1ZXN0LmFyZ3Mgb3IgcmVxdWVzdC5mb3Jt CiAKQEAgLTU3NCw3ICs1NzQsNyBAQCBkZWYgYXBwbHlfZmlsdGVyKHRyYW5z X2lkKToKICAgICAgICAgdHJhbnNfaWQ6IHVuaXF1ZSB0cmFuc2FjdGlvbiBp ZAogICAgICIiIgogICAgIGlmIHJlcXVlc3QuZGF0YToKLSAgICAgICAgZmls dGVyX3NxbCA9IGpzb24ubG9hZHMocmVxdWVzdC5kYXRhLmRlY29kZSgpKQor ICAgICAgICBmaWx0ZXJfc3FsID0ganNvbi5sb2FkcyhyZXF1ZXN0LmRhdGEs IGVuY29kaW5nPSd1dGYtOCcpCiAgICAgZWxzZToKICAgICAgICAgZmlsdGVy X3NxbCA9IHJlcXVlc3QuYXJncyBvciByZXF1ZXN0LmZvcm0KIApAQCAtNjA2 LDcgKzYwNiw3IEBAIGRlZiBhcHBlbmRfZmlsdGVyX2luY2x1c2l2ZSh0cmFu c19pZCk6CiAgICAgICAgIHRyYW5zX2lkOiB1bmlxdWUgdHJhbnNhY3Rpb24g aWQKICAgICAiIiIKICAgICBpZiByZXF1ZXN0LmRhdGE6Ci0gICAgICAgIGZp bHRlcl9kYXRhID0ganNvbi5sb2FkcyhyZXF1ZXN0LmRhdGEuZGVjb2RlKCkp CisgICAgICAgIGZpbHRlcl9kYXRhID0ganNvbi5sb2FkcyhyZXF1ZXN0LmRh dGEsIGVuY29kaW5nPSd1dGYtOCcpCiAgICAgZWxzZToKICAgICAgICAgZmls dGVyX2RhdGEgPSByZXF1ZXN0LmFyZ3Mgb3IgcmVxdWVzdC5mb3JtCiAKQEAg LTY0OSw3ICs2NDksNyBAQCBkZWYgYXBwZW5kX2ZpbHRlcl9leGNsdXNpdmUo dHJhbnNfaWQpOgogICAgICAgICB0cmFuc19pZDogdW5pcXVlIHRyYW5zYWN0 aW9uIGlkCiAgICAgIiIiCiAgICAgaWYgcmVxdWVzdC5kYXRhOgotICAgICAg ICBmaWx0ZXJfZGF0YSA9IGpzb24ubG9hZHMocmVxdWVzdC5kYXRhLmRlY29k ZSgpKQorICAgICAgICBmaWx0ZXJfZGF0YSA9IGpzb24ubG9hZHMocmVxdWVz dC5kYXRhLCBlbmNvZGluZz0ndXRmLTgnKQogICAgIGVsc2U6CiAgICAgICAg IGZpbHRlcl9kYXRhID0gcmVxdWVzdC5hcmdzIG9yIHJlcXVlc3QuZm9ybQog CkBAIC03MjQsNyArNzI0LDcgQEAgZGVmIHNldF9saW1pdCh0cmFuc19pZCk6 CiAgICAgICAgIHRyYW5zX2lkOiB1bmlxdWUgdHJhbnNhY3Rpb24gaWQKICAg ICAiIiIKICAgICBpZiByZXF1ZXN0LmRhdGE6Ci0gICAgICAgIGxpbWl0ID0g anNvbi5sb2FkcyhyZXF1ZXN0LmRhdGEuZGVjb2RlKCkpCisgICAgICAgIGxp bWl0ID0ganNvbi5sb2FkcyhyZXF1ZXN0LmRhdGEsIGVuY29kaW5nPSd1dGYt OCcpCiAgICAgZWxzZToKICAgICAgICAgbGltaXQgPSByZXF1ZXN0LmFyZ3Mg b3IgcmVxdWVzdC5mb3JtCiAKQEAgLTg0Nyw3ICs4NDcsNyBAQCBkZWYgc2V0 X2F1dG9fY29tbWl0KHRyYW5zX2lkKToKICAgICAgICAgdHJhbnNfaWQ6IHVu aXF1ZSB0cmFuc2FjdGlvbiBpZAogICAgICIiIgogICAgIGlmIHJlcXVlc3Qu ZGF0YToKLSAgICAgICAgYXV0b19jb21taXQgPSBqc29uLmxvYWRzKHJlcXVl c3QuZGF0YS5kZWNvZGUoKSkKKyAgICAgICAgYXV0b19jb21taXQgPSBqc29u LmxvYWRzKHJlcXVlc3QuZGF0YSwgZW5jb2Rpbmc9J3V0Zi04JykKICAgICBl bHNlOgogICAgICAgICBhdXRvX2NvbW1pdCA9IHJlcXVlc3QuYXJncyBvciBy ZXF1ZXN0LmZvcm0KIApAQCAtODg1LDcgKzg4NSw3IEBAIGRlZiBzZXRfYXV0 b19yb2xsYmFjayh0cmFuc19pZCk6CiAgICAgICAgIHRyYW5zX2lkOiB1bmlx dWUgdHJhbnNhY3Rpb24gaWQKICAgICAiIiIKICAgICBpZiByZXF1ZXN0LmRh dGE6Ci0gICAgICAgIGF1dG9fcm9sbGJhY2sgPSBqc29uLmxvYWRzKHJlcXVl c3QuZGF0YS5kZWNvZGUoKSkKKyAgICAgICAgYXV0b19yb2xsYmFjayA9IGpz b24ubG9hZHMocmVxdWVzdC5kYXRhLCBlbmNvZGluZz0ndXRmLTgnKQogICAg IGVsc2U6CiAgICAgICAgIGF1dG9fcm9sbGJhY2sgPSByZXF1ZXN0LmFyZ3Mg b3IgcmVxdWVzdC5mb3JtCiAKQEAgLTkyNiw3ICs5MjYsNyBAQCBkZWYgYXV0 b19jb21wbGV0ZSh0cmFuc19pZCk6CiAgICAgdGV4dF9iZWZvcmVfY3Vyc29y ID0gJycKIAogICAgIGlmIHJlcXVlc3QuZGF0YToKLSAgICAgICAgZGF0YSA9 IGpzb24ubG9hZHMocmVxdWVzdC5kYXRhLmRlY29kZSgpKQorICAgICAgICBk YXRhID0ganNvbi5sb2FkcyhyZXF1ZXN0LmRhdGEsIGVuY29kaW5nPSd1dGYt OCcpCiAgICAgZWxzZToKICAgICAgICAgZGF0YSA9IHJlcXVlc3QuYXJncyBv ciByZXF1ZXN0LmZvcm0KIApAQCAtMTEyNSw3ICsxMTI1LDcgQEAgZGVmIGxv YWRfZmlsZSgpOgogICAgIHJlYWRzIHRoZSBkYXRhIGFuZCBzZW5kcyBiYWNr IGluIHJlcG9uc2UKICAgICAiIiIKICAgICBpZiByZXF1ZXN0LmRhdGE6Ci0g ICAgICAgIGZpbGVfZGF0YSA9IGpzb24ubG9hZHMocmVxdWVzdC5kYXRhLmRl Y29kZSgpKQorICAgICAgICBmaWxlX2RhdGEgPSBqc29uLmxvYWRzKHJlcXVl c3QuZGF0YSwgZW5jb2Rpbmc9J3V0Zi04JykKIAogICAgIGZpbGVfcGF0aCA9 IHVucXVvdGUoZmlsZV9kYXRhWydmaWxlX25hbWUnXSkKICAgICAjIHJldHJp ZXZlIHN0b3JhZ2UgZGlyZWN0b3J5IHBhdGgKQEAgLTExODIsNyArMTE4Miw3 IEBAIGRlZiBzYXZlX2ZpbGUoKToKICAgICBhbmQgdGhlbiBzYXZlIHRoZSBk YXRhIHRvIHRoZSBmaWxlCiAgICAgIiIiCiAgICAgaWYgcmVxdWVzdC5kYXRh OgotICAgICAgICBmaWxlX2RhdGEgPSBqc29uLmxvYWRzKHJlcXVlc3QuZGF0 YS5kZWNvZGUoKSkKKyAgICAgICAgZmlsZV9kYXRhID0ganNvbi5sb2Fkcyhy ZXF1ZXN0LmRhdGEsIGVuY29kaW5nPSd1dGYtOCcpCiAKICAgICAjIHJldHJp ZXZlIHN0b3JhZ2UgZGlyZWN0b3J5IHBhdGgKICAgICBzdG9yYWdlX21hbmFn ZXJfcGF0aCA9IGdldF9zdG9yYWdlX2RpcmVjdG9yeSgpCmRpZmYgLS1naXQg YS93ZWIvcGdhZG1pbi90b29scy91c2VyX21hbmFnZW1lbnQvX19pbml0X18u cHkgYi93ZWIvcGdhZG1pbi90b29scy91c2VyX21hbmFnZW1lbnQvX19pbml0 X18ucHkKaW5kZXggYjcwOTZjMi4uZGJmMDEwYiAxMDA2NDQKLS0tIGEvd2Vi L3BnYWRtaW4vdG9vbHMvdXNlcl9tYW5hZ2VtZW50L19faW5pdF9fLnB5Cisr KyBiL3dlYi9wZ2FkbWluL3Rvb2xzL3VzZXJfbWFuYWdlbWVudC9fX2luaXRf Xy5weQpAQCAtOSw3ICs5LDcgQEAKIAogIiIiSW1wbGVtZW50cyBwZ0FkbWlu NCBVc2VyIE1hbmFnZW1lbnQgVXRpbGl0eSIiIgogCi1pbXBvcnQganNvbgor aW1wb3J0IHNpbXBsZWpzb24gYXMganNvbgogaW1wb3J0IHJlCiAKIGZyb20g Zmxhc2sgaW1wb3J0IHJlbmRlcl90ZW1wbGF0ZSwgcmVxdWVzdCwgXApAQCAt MTYzLDcgKzE2Myw5IEBAIGRlZiBjcmVhdGUoKToKICAgICBSZXR1cm5zOgog CiAgICAgIiIiCi0gICAgZGF0YSA9IHJlcXVlc3QuZm9ybSBpZiByZXF1ZXN0 LmZvcm0gZWxzZSBqc29uLmxvYWRzKHJlcXVlc3QuZGF0YS5kZWNvZGUoKSkK KyAgICBkYXRhID0gcmVxdWVzdC5mb3JtIGlmIHJlcXVlc3QuZm9ybSBlbHNl IGpzb24ubG9hZHMoCisgICAgICAgIHJlcXVlc3QuZGF0YSwgZW5jb2Rpbmc9 J3V0Zi04JworICAgICkKIAogICAgIGZvciBmIGluICgnZW1haWwnLCAncm9s ZScsICdhY3RpdmUnLCAnbmV3UGFzc3dvcmQnLCAnY29uZmlybVBhc3N3b3Jk Jyk6CiAgICAgICAgIGlmIGYgaW4gZGF0YSBhbmQgZGF0YVtmXSAhPSAnJzoK QEAgLTI2NSw3ICsyNjcsOSBAQCBkZWYgdXBkYXRlKHVpZCk6CiAgICAgaWYg bm90IHVzcjoKICAgICAgICAgYWJvcnQoNDA0KQogCi0gICAgZGF0YSA9IHJl cXVlc3QuZm9ybSBpZiByZXF1ZXN0LmZvcm0gZWxzZSBqc29uLmxvYWRzKHJl cXVlc3QuZGF0YS5kZWNvZGUoKSkKKyAgICBkYXRhID0gcmVxdWVzdC5mb3Jt IGlmIHJlcXVlc3QuZm9ybSBlbHNlIGpzb24ubG9hZHMoCisgICAgICAgIHJl cXVlc3QuZGF0YSwgZW5jb2Rpbmc9J3V0Zi04JworICAgICkKIAogICAgIHRy eToKICAgICAgICAgbmV3X2RhdGEgPSB2YWxpZGF0ZV91c2VyKGRhdGEpCmRp ZmYgLS1naXQgYS93ZWIvcGdhZG1pbi91dGlscy9kcml2ZXIvcHN5Y29wZzIv X19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi91dGlscy9kcml2ZXIvcHN5Y29w ZzIvX19pbml0X18ucHkKaW5kZXggNGJmNzUwNi4uNDFhN2U2MiAxMDA2NDQK LS0tIGEvd2ViL3BnYWRtaW4vdXRpbHMvZHJpdmVyL3BzeWNvcGcyL19faW5p dF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL3V0aWxzL2RyaXZlci9wc3ljb3Bn Mi9fX2luaXRfXy5weQpAQCAtMjUwLDEzICsyNTAsMjMgQEAgY2xhc3MgQ29u bmVjdGlvbihCYXNlQ29ubmVjdGlvbik6CiAgICAgICAgICAgICAgICAgcGFz c3dvcmQgPSBwYXNzd29yZC5kZWNvZGUoKQogCiAgICAgICAgIHRyeToKKyAg ICAgICAgICAgIGlmIGhhc2F0dHIoc3RyLCAnZGVjb2RlJyk6CisgICAgICAg ICAgICAgICAgZGF0YWJhc2UgPSBzZWxmLmRiLmVuY29kZSgndXRmLTgnKQor ICAgICAgICAgICAgICAgIHVzZXIgPSBtZ3IudXNlci5lbmNvZGUoJ3V0Zi04 JykKKyAgICAgICAgICAgICAgICBjb25uX2lkID0gc2VsZi5jb25uX2lkLmVu Y29kZSgndXRmLTgnKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAg ICAgICBkYXRhYmFzZSA9IHNlbGYuZGIKKyAgICAgICAgICAgICAgICB1c2Vy ID0gbWdyLnVzZXIKKyAgICAgICAgICAgICAgICBjb25uX2lkID0gc2VsZi5j b25uX2lkCisKICAgICAgICAgICAgIGltcG9ydCBvcwotICAgICAgICAgICAg b3MuZW52aXJvblsnUEdBUFBOQU1FJ10gPSAnezB9IC0gezF9Jy5mb3JtYXQo Y29uZmlnLkFQUF9OQU1FLCBzZWxmLmNvbm5faWQpCisgICAgICAgICAgICBv cy5lbnZpcm9uWydQR0FQUE5BTUUnXSA9ICd7MH0gLSB7MX0nLmZvcm1hdChj b25maWcuQVBQX05BTUUsIGNvbm5faWQpCisKICAgICAgICAgICAgIHBnX2Nv bm4gPSBwc3ljb3BnMi5jb25uZWN0KAogICAgICAgICAgICAgICAgIGhvc3Q9 bWdyLmhvc3QsCiAgICAgICAgICAgICAgICAgcG9ydD1tZ3IucG9ydCwKLSAg ICAgICAgICAgICAgICBkYXRhYmFzZT1zZWxmLmRiLAotICAgICAgICAgICAg ICAgIHVzZXI9bWdyLnVzZXIsCisgICAgICAgICAgICAgICAgZGF0YWJhc2U9 ZGF0YWJhc2UsCisgICAgICAgICAgICAgICAgdXNlcj11c2VyLAogICAgICAg ICAgICAgICAgIHBhc3N3b3JkPXBhc3N3b3JkLAogICAgICAgICAgICAgICAg IGFzeW5jPXNlbGYuYXN5bmMKICAgICAgICAgICAgICkKQEAgLTI3Nyw3ICsy ODcsNyBAQCBjbGFzcyBDb25uZWN0aW9uKEJhc2VDb25uZWN0aW9uKToKIEZh aWxlZCB0byBjb25uZWN0IHRvIHRoZSBkYXRhYmFzZSBzZXJ2ZXIoI3tzZXJ2 ZXJfaWR9KSBmb3IgY29ubmVjdGlvbiAoe2Nvbm5faWR9KSB3aXRoIGVycm9y IG1lc3NhZ2UgYXMgYmVsb3c6CiB7bXNnfSIiIi5mb3JtYXQoCiAgICAgICAg ICAgICAgICAgc2VydmVyX2lkPXNlbGYubWFuYWdlci5zaWQsCi0gICAgICAg ICAgICAgICAgY29ubl9pZD1zZWxmLmNvbm5faWQsCisgICAgICAgICAgICAg ICAgY29ubl9pZD1jb25uX2lkLAogICAgICAgICAgICAgICAgIG1zZz1tc2cK ICAgICAgICAgICAgICkKICAgICAgICAgICAgICkKQEAgLTMxMCw3ICszMjAs NyBAQCBTRVQgY2xpZW50X2VuY29kaW5nPSdVTklDT0RFJzsiIiIpCiAgICAg ICAgICAgICByZXR1cm4gRmFsc2UsIHJlcwogCiAgICAgICAgIGlmIG1nci5y b2xlOgotICAgICAgICAgICAgc3RhdHVzLCByZXMgPSBzZWxmLmV4ZWN1dGVf c2NhbGFyKCJTRVQgUk9MRSBUTyAlcyIsIFttZ3Iucm9sZV0pCisgICAgICAg ICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuZXhlY3V0ZV9zY2FsYXIodSJTRVQg Uk9MRSBUTyAlcyIsIFttZ3Iucm9sZV0pCiAKICAgICAgICAgICAgIGlmIG5v dCBzdGF0dXM6CiAgICAgICAgICAgICAgICAgc2VsZi5jb25uLmNsb3NlKCkK QEAgLTMyMCw3ICszMzAsNyBAQCBDb25uZWN0IHRvIHRoZSBkYXRhYmFzZSBz ZXJ2ZXIgKCN7c2VydmVyX2lkfSkgZm9yIGNvbm5lY3Rpb24gKHtjb25uX2lk fSksIGJ1dCAtCiB7bXNnfQogIiIiLmZvcm1hdCgKICAgICAgICAgICAgICAg ICAgICAgc2VydmVyX2lkPXNlbGYubWFuYWdlci5zaWQsCi0gICAgICAgICAg ICAgICAgICAgIGNvbm5faWQ9c2VsZi5jb25uX2lkLAorICAgICAgICAgICAg ICAgICAgICBjb25uX2lkPWNvbm5faWQsCiAgICAgICAgICAgICAgICAgICAg IG1zZz1yZXMKICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAg KQpAQCAtMzQzLDcgKzM1Myw3IEBAIEZhaWxlZCB0byBmZXRjaCB0aGUgdmVy c2lvbiBpbmZvcm1hdGlvbiBvbiB0aGUgZXN0YWJsaXNoZWQgY29ubmVjdGlv biB0byB0aGUgZGF0CiB7bXNnfQogIiIiLmZvcm1hdCgKICAgICAgICAgICAg ICAgICAgICAgc2VydmVyX2lkPXNlbGYubWFuYWdlci5zaWQsCi0gICAgICAg ICAgICAgICAgICAgIGNvbm5faWQ9c2VsZi5jb25uX2lkLAorICAgICAgICAg ICAgICAgICAgICBjb25uX2lkPWNvbm5faWQsCiAgICAgICAgICAgICAgICAg ICAgIG1zZz1yZXMKICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAg ICAgKQpAQCAtMzk1LDcgKzQwNSwxMCBAQCBXSEVSRQogICAgICAgICByZXR1 cm4gVHJ1ZSwgTm9uZQogCiAgICAgZGVmIF9fY3Vyc29yKHNlbGYsIHNlcnZl cl9jdXJzb3I9RmFsc2UpOgotICAgICAgICBjdXIgPSBnZXRhdHRyKGcsIHN0 cihzZWxmLm1hbmFnZXIuc2lkKSArICcjJyArIHNlbGYuY29ubl9pZCwgTm9u ZSkKKyAgICAgICAgY3VyID0gZ2V0YXR0cihnLCAiezB9I3sxfSIuZm9ybWF0 KAorICAgICAgICAgICAgc2VsZi5tYW5hZ2VyLnNpZCwKKyAgICAgICAgICAg IHNlbGYuY29ubl9pZC5lbmNvZGUoJ3V0Zi04JykKKyAgICAgICAgKSwgTm9u ZSkKIAogICAgICAgICBpZiBzZWxmLmNvbm5lY3RlZCgpIGFuZCBjdXIgYW5k IG5vdCBjdXIuY2xvc2VkOgogICAgICAgICAgICAgaWYgbm90IHNlcnZlcl9j dXJzb3Igb3IgKHNlcnZlcl9jdXJzb3IgYW5kIGN1ci5uYW1lKToKQEAgLTQ1 Nyw3ICs0NzAsNyBAQCBBdHRlbXB0aW5nIHRvIHJlY29ubmVjdCB0byB0aGUg ZGF0YWJhc2Ugc2VydmVyICgje3NlcnZlcl9pZH0pIGZvciB0aGUgY29ubmVj dGlvbgogICAgICAgICAgICAgICAgIHN0YXR1cywgY3VyID0gc2VsZi5jb25u ZWN0KCkKICAgICAgICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgogICAgICAg ICAgICAgICAgICAgICBtc2cgPSBnZXR0ZXh0KAotICAgICAgICAgICAgICAg ICAgICAgICAgIiIiCisgICAgICAgICAgICAgICAgICAgICAgICB1IiIiCiBD b25uZWN0aW9uIGZvciBzZXJ2ZXIjezB9IHdpdGggZGF0YWJhc2UgInsxfSIg d2FzIGxvc3QuCiBBdHRlbXB0IHRvIHJlY29ubmVjdCBpdCBmYWlsZWQgd2l0 aCB0aGUgZXJyb3I6CiB7Mn0iIiIKQEAgLTQ2OCw3ICs0ODEsNyBAQCBBdHRl bXB0IHRvIHJlY29ubmVjdCBpdCBmYWlsZWQgd2l0aCB0aGUgZXJyb3I6CiAg ICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHJldHVybiBGYWxz ZSwgZXJybXNnCiAKLSAgICAgICAgc2V0YXR0cihnLCBzdHIoc2VsZi5tYW5h Z2VyLnNpZCkgKyAnIycgKyBzZWxmLmNvbm5faWQsIGN1cikKKyAgICAgICAg c2V0YXR0cihnLCAiezB9I3sxfSIuZm9ybWF0KHNlbGYubWFuYWdlci5zaWQs IHNlbGYuY29ubl9pZC5lbmNvZGUoJ3V0Zi04JykpLCBjdXIpCiAKICAgICAg ICAgcmV0dXJuIFRydWUsIGN1cgogCkBAIC00OTgsNyArNTExLDcgQEAgQXR0 ZW1wdCB0byByZWNvbm5lY3QgaXQgZmFpbGVkIHdpdGggdGhlIGVycm9yOgog ICAgICAgICBxdWVyeV9pZCA9IHJhbmRvbS5yYW5kaW50KDEsIDk5OTk5OTkp CiAKICAgICAgICAgY3VycmVudF9hcHAubG9nZ2VyLmxvZygyNSwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiRXhlY3V0ZSAod2l0aCBzZXJ2 ZXIgY3Vyc29yKSBmb3Igc2VydmVyICN7c2VydmVyX2lkfSAtIHtjb25uX2lk fSAoUXVlcnktaWQ6IHtxdWVyeV9pZH0pOlxue3F1ZXJ5fSIuZm9ybWF0KAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUiRXhlY3V0ZSAod2l0 aCBzZXJ2ZXIgY3Vyc29yKSBmb3Igc2VydmVyICN7c2VydmVyX2lkfSAtIHtj b25uX2lkfSAoUXVlcnktaWQ6IHtxdWVyeV9pZH0pOlxue3F1ZXJ5fSIuZm9y bWF0KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2 ZXJfaWQ9c2VsZi5tYW5hZ2VyLnNpZCwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29ubl9pZD1zZWxmLmNvbm5faWQsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5PXF1ZXJ5LApAQCAt NTExLDcgKzUyNCw3IEBAIEF0dGVtcHQgdG8gcmVjb25uZWN0IGl0IGZhaWxl ZCB3aXRoIHRoZSBlcnJvcjoKICAgICAgICAgICAgIGN1ci5jbG9zZSgpCiAg ICAgICAgICAgICBlcnJtc2cgPSBzZWxmLl9mb3JtYXR0ZWRfZXhjZXB0aW9u X21zZyhwZSwgZm9ybWF0dGVkX2V4Y2VwdGlvbl9tc2cpCiAgICAgICAgICAg ICBjdXJyZW50X2FwcC5sb2dnZXIuZXJyb3IoCi0gICAgICAgICAgICAgICAg IkZhaWxlZCB0byBleGVjdXRlIHF1ZXJ5ICgod2l0aCBzZXJ2ZXIgY3Vyc29y KSBmb3IgdGhlIHNlcnZlciAje3NlcnZlcl9pZH0gLSB7Y29ubl9pZH0gKFF1 ZXJ5LWlkOiB7cXVlcnlfaWR9KTpcbkVycm9yIE1lc3NhZ2U6e2Vycm1zZ30i LmZvcm1hdCgKKyAgICAgICAgICAgICAgICB1IkZhaWxlZCB0byBleGVjdXRl IHF1ZXJ5ICgod2l0aCBzZXJ2ZXIgY3Vyc29yKSBmb3IgdGhlIHNlcnZlciAj e3NlcnZlcl9pZH0gLSB7Y29ubl9pZH0gKFF1ZXJ5LWlkOiB7cXVlcnlfaWR9 KTpcbkVycm9yIE1lc3NhZ2U6e2Vycm1zZ30iLmZvcm1hdCgKICAgICAgICAg ICAgICAgICAgICAgc2VydmVyX2lkPXNlbGYubWFuYWdlci5zaWQsCiAgICAg ICAgICAgICAgICAgICAgIGNvbm5faWQ9c2VsZi5jb25uX2lkLAogICAgICAg ICAgICAgICAgICAgICBxdWVyeT1xdWVyeSwKQEAgLTU2OCw3ICs1ODEsNyBA QCBBdHRlbXB0IHRvIHJlY29ubmVjdCBpdCBmYWlsZWQgd2l0aCB0aGUgZXJy b3I6CiAKICAgICAgICAgY3VycmVudF9hcHAubG9nZ2VyLmxvZygKICAgICAg ICAgICAgIDI1LAotICAgICAgICAgICAgIkV4ZWN1dGUgKHNjYWxhcikgZm9y IHNlcnZlciAje3NlcnZlcl9pZH0gLSB7Y29ubl9pZH0gKFF1ZXJ5LWlkOiB7 cXVlcnlfaWR9KTpcbntxdWVyeX0iLmZvcm1hdCgKKyAgICAgICAgICAgIHUi RXhlY3V0ZSAoc2NhbGFyKSBmb3Igc2VydmVyICN7c2VydmVyX2lkfSAtIHtj b25uX2lkfSAoUXVlcnktaWQ6IHtxdWVyeV9pZH0pOlxue3F1ZXJ5fSIuZm9y bWF0KAogICAgICAgICAgICAgICAgIHNlcnZlcl9pZD1zZWxmLm1hbmFnZXIu c2lkLAogICAgICAgICAgICAgICAgIGNvbm5faWQ9c2VsZi5jb25uX2lkLAog ICAgICAgICAgICAgICAgIHF1ZXJ5PXF1ZXJ5LApAQCAtNTgyLDcgKzU5NSw3 IEBAIEF0dGVtcHQgdG8gcmVjb25uZWN0IGl0IGZhaWxlZCB3aXRoIHRoZSBl cnJvcjoKICAgICAgICAgICAgIGN1ci5jbG9zZSgpCiAgICAgICAgICAgICBl cnJtc2cgPSBzZWxmLl9mb3JtYXR0ZWRfZXhjZXB0aW9uX21zZyhwZSwgZm9y bWF0dGVkX2V4Y2VwdGlvbl9tc2cpCiAgICAgICAgICAgICBjdXJyZW50X2Fw cC5sb2dnZXIuZXJyb3IoCi0gICAgICAgICAgICAgICAgIkZhaWxlZCB0byBl eGVjdXRlIHF1ZXJ5IChleGVjdXRlX3NjYWxhcikgZm9yIHRoZSBzZXJ2ZXIg I3tzZXJ2ZXJfaWR9IC0ge2Nvbm5faWR9IChRdWVyeS1pZDoge3F1ZXJ5X2lk fSk6XG5FcnJvciBNZXNzYWdlOntlcnJtc2d9Ii5mb3JtYXQoCisgICAgICAg ICAgICAgICAgdSJGYWlsZWQgdG8gZXhlY3V0ZSBxdWVyeSAoZXhlY3V0ZV9z Y2FsYXIpIGZvciB0aGUgc2VydmVyICN7c2VydmVyX2lkfSAtIHtjb25uX2lk fSAoUXVlcnktaWQ6IHtxdWVyeV9pZH0pOlxuRXJyb3IgTWVzc2FnZTp7ZXJy bXNnfSIuZm9ybWF0KAogICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfaWQ9 c2VsZi5tYW5hZ2VyLnNpZCwKICAgICAgICAgICAgICAgICAgICAgY29ubl9p ZD1zZWxmLmNvbm5faWQsCiAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5PXF1 ZXJ5LApAQCAtNjE4LDcgKzYzMSw3IEBAIEF0dGVtcHQgdG8gcmVjb25uZWN0 IGl0IGZhaWxlZCB3aXRoIHRoZSBlcnJvcjoKIAogICAgICAgICBjdXJyZW50 X2FwcC5sb2dnZXIubG9nKAogICAgICAgICAgICAgMjUsCi0gICAgICAgICAg ICAiRXhlY3V0ZSAoYXN5bmMpIGZvciBzZXJ2ZXIgI3tzZXJ2ZXJfaWR9IC0g e2Nvbm5faWR9IChRdWVyeS1pZDoge3F1ZXJ5X2lkfSk6XG57cXVlcnl9Ii5m b3JtYXQoCisgICAgICAgICAgICB1IkV4ZWN1dGUgKGFzeW5jKSBmb3Igc2Vy dmVyICN7c2VydmVyX2lkfSAtIHtjb25uX2lkfSAoUXVlcnktaWQ6IHtxdWVy eV9pZH0pOlxue3F1ZXJ5fSIuZm9ybWF0KAogICAgICAgICAgICAgICAgIHNl cnZlcl9pZD1zZWxmLm1hbmFnZXIuc2lkLAogICAgICAgICAgICAgICAgIGNv bm5faWQ9c2VsZi5jb25uX2lkLAogICAgICAgICAgICAgICAgIHF1ZXJ5PXF1 ZXJ5LApAQCAtNjMyLDcgKzY0NSw3IEBAIEF0dGVtcHQgdG8gcmVjb25uZWN0 IGl0IGZhaWxlZCB3aXRoIHRoZSBlcnJvcjoKICAgICAgICAgICAgIHJlcyA9 IHNlbGYuX3dhaXRfdGltZW91dChjdXIuY29ubmVjdGlvbiwgQVNZTkNfV0FJ VF9USU1FT1VUKQogICAgICAgICBleGNlcHQgcHN5Y29wZzIuRXJyb3IgYXMg cGU6CiAgICAgICAgICAgICBlcnJtc2cgPSBzZWxmLl9mb3JtYXR0ZWRfZXhj ZXB0aW9uX21zZyhwZSwgZm9ybWF0dGVkX2V4Y2VwdGlvbl9tc2cpCi0gICAg ICAgICAgICBjdXJyZW50X2FwcC5sb2dnZXIuZXJyb3IoIiIiCisgICAgICAg ICAgICBjdXJyZW50X2FwcC5sb2dnZXIuZXJyb3IodSIiIgogRmFpbGVkIHRv IGV4ZWN1dGUgcXVlcnkgKGV4ZWN1dGVfYXN5bmMpIGZvciB0aGUgc2VydmVy ICN7c2VydmVyX2lkfSAtIHtjb25uX2lkfQogKFF1ZXJ5LWlkOiB7cXVlcnlf aWR9KTpcbkVycm9yIE1lc3NhZ2U6e2Vycm1zZ30KICIiIi5mb3JtYXQoCkBA IC02NjgsNyArNjgxLDcgQEAgRmFpbGVkIHRvIGV4ZWN1dGUgcXVlcnkgKGV4 ZWN1dGVfYXN5bmMpIGZvciB0aGUgc2VydmVyICN7c2VydmVyX2lkfSAtIHtj b25uX2lkfQogCiAgICAgICAgIGN1cnJlbnRfYXBwLmxvZ2dlci5sb2coCiAg ICAgICAgICAgICAyNSwKLSAgICAgICAgICAgICJFeGVjdXRlICh2b2lkKSBm b3Igc2VydmVyICN7c2VydmVyX2lkfSAtIHtjb25uX2lkfSAoUXVlcnktaWQ6 IHtxdWVyeV9pZH0pOlxue3F1ZXJ5fSIuZm9ybWF0KAorICAgICAgICAgICAg dSJFeGVjdXRlICh2b2lkKSBmb3Igc2VydmVyICN7c2VydmVyX2lkfSAtIHtj b25uX2lkfSAoUXVlcnktaWQ6IHtxdWVyeV9pZH0pOlxue3F1ZXJ5fSIuZm9y bWF0KAogICAgICAgICAgICAgICAgIHNlcnZlcl9pZD1zZWxmLm1hbmFnZXIu c2lkLAogICAgICAgICAgICAgICAgIGNvbm5faWQ9c2VsZi5jb25uX2lkLAog ICAgICAgICAgICAgICAgIHF1ZXJ5PXF1ZXJ5LApAQCAtNjgxLDcgKzY5NCw3 IEBAIEZhaWxlZCB0byBleGVjdXRlIHF1ZXJ5IChleGVjdXRlX2FzeW5jKSBm b3IgdGhlIHNlcnZlciAje3NlcnZlcl9pZH0gLSB7Y29ubl9pZH0KICAgICAg ICAgZXhjZXB0IHBzeWNvcGcyLkVycm9yIGFzIHBlOgogICAgICAgICAgICAg Y3VyLmNsb3NlKCkKICAgICAgICAgICAgIGVycm1zZyA9IHNlbGYuX2Zvcm1h dHRlZF9leGNlcHRpb25fbXNnKHBlLCBmb3JtYXR0ZWRfZXhjZXB0aW9uX21z ZykKLSAgICAgICAgICAgIGN1cnJlbnRfYXBwLmxvZ2dlci5lcnJvcigiIiIK KyAgICAgICAgICAgIGN1cnJlbnRfYXBwLmxvZ2dlci5lcnJvcih1IiIiCiBG YWlsZWQgdG8gZXhlY3V0ZSBxdWVyeSAoZXhlY3V0ZV92b2lkKSBmb3IgdGhl IHNlcnZlciAje3NlcnZlcl9pZH0gLSB7Y29ubl9pZH0KIChRdWVyeS1pZDog e3F1ZXJ5X2lkfSk6XG5FcnJvciBNZXNzYWdlOntlcnJtc2d9CiAiIiIuZm9y bWF0KApAQCAtNzA4LDcgKzcyMSw3IEBAIEZhaWxlZCB0byBleGVjdXRlIHF1 ZXJ5IChleGVjdXRlX3ZvaWQpIGZvciB0aGUgc2VydmVyICN7c2VydmVyX2lk fSAtIHtjb25uX2lkfQogICAgICAgICBxdWVyeV9pZCA9IHJhbmRvbS5yYW5k aW50KDEsIDk5OTk5OTkpCiAgICAgICAgIGN1cnJlbnRfYXBwLmxvZ2dlci5s b2coCiAgICAgICAgICAgICAyNSwKLSAgICAgICAgICAgICJFeGVjdXRlICgy ZGFycmF5KSBmb3Igc2VydmVyICN7c2VydmVyX2lkfSAtIHtjb25uX2lkfSAo UXVlcnktaWQ6IHtxdWVyeV9pZH0pOlxue3F1ZXJ5fSIuZm9ybWF0KAorICAg ICAgICAgICAgdSJFeGVjdXRlICgyZGFycmF5KSBmb3Igc2VydmVyICN7c2Vy dmVyX2lkfSAtIHtjb25uX2lkfSAoUXVlcnktaWQ6IHtxdWVyeV9pZH0pOlxu e3F1ZXJ5fSIuZm9ybWF0KAogICAgICAgICAgICAgICAgIHNlcnZlcl9pZD1z ZWxmLm1hbmFnZXIuc2lkLAogICAgICAgICAgICAgICAgIGNvbm5faWQ9c2Vs Zi5jb25uX2lkLAogICAgICAgICAgICAgICAgIHF1ZXJ5PXF1ZXJ5LApAQCAt NzIxLDcgKzczNCw3IEBAIEZhaWxlZCB0byBleGVjdXRlIHF1ZXJ5IChleGVj dXRlX3ZvaWQpIGZvciB0aGUgc2VydmVyICN7c2VydmVyX2lkfSAtIHtjb25u X2lkfQogICAgICAgICAgICAgY3VyLmNsb3NlKCkKICAgICAgICAgICAgIGVy cm1zZyA9IHNlbGYuX2Zvcm1hdHRlZF9leGNlcHRpb25fbXNnKHBlLCBmb3Jt YXR0ZWRfZXhjZXB0aW9uX21zZykKICAgICAgICAgICAgIGN1cnJlbnRfYXBw LmxvZ2dlci5lcnJvcigKLSAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIGV4 ZWN1dGUgcXVlcnkgKGV4ZWN1dGVfMmRhcnJheSkgZm9yIHRoZSBzZXJ2ZXIg I3tzZXJ2ZXJfaWR9IC0ge2Nvbm5faWR9IChRdWVyeS1pZDoge3F1ZXJ5X2lk fSk6XG5FcnJvciBNZXNzYWdlOntlcnJtc2d9Ii5mb3JtYXQoCisgICAgICAg ICAgICAgICAgdSJGYWlsZWQgdG8gZXhlY3V0ZSBxdWVyeSAoZXhlY3V0ZV8y ZGFycmF5KSBmb3IgdGhlIHNlcnZlciAje3NlcnZlcl9pZH0gLSB7Y29ubl9p ZH0gKFF1ZXJ5LWlkOiB7cXVlcnlfaWR9KTpcbkVycm9yIE1lc3NhZ2U6e2Vy cm1zZ30iLmZvcm1hdCgKICAgICAgICAgICAgICAgICAgICAgc2VydmVyX2lk PXNlbGYubWFuYWdlci5zaWQsCiAgICAgICAgICAgICAgICAgICAgIGNvbm5f aWQ9c2VsZi5jb25uX2lkLAogICAgICAgICAgICAgICAgICAgICBxdWVyeT1x dWVyeSwKQEAgLTc1Myw3ICs3NjYsNyBAQCBGYWlsZWQgdG8gZXhlY3V0ZSBx dWVyeSAoZXhlY3V0ZV92b2lkKSBmb3IgdGhlIHNlcnZlciAje3NlcnZlcl9p ZH0gLSB7Y29ubl9pZH0KICAgICAgICAgcXVlcnlfaWQgPSByYW5kb20ucmFu ZGludCgxLCA5OTk5OTk5KQogICAgICAgICBjdXJyZW50X2FwcC5sb2dnZXIu bG9nKAogICAgICAgICAgICAgMjUsCi0gICAgICAgICAgICAiRXhlY3V0ZSAo ZGljdCkgZm9yIHNlcnZlciAje3NlcnZlcl9pZH0gLSB7Y29ubl9pZH0gKFF1 ZXJ5LWlkOiB7cXVlcnlfaWR9KTpcbntxdWVyeX0iLmZvcm1hdCgKKyAgICAg ICAgICAgIHUiRXhlY3V0ZSAoZGljdCkgZm9yIHNlcnZlciAje3NlcnZlcl9p ZH0gLSB7Y29ubl9pZH0gKFF1ZXJ5LWlkOiB7cXVlcnlfaWR9KTpcbntxdWVy eX0iLmZvcm1hdCgKICAgICAgICAgICAgICAgICBzZXJ2ZXJfaWQ9c2VsZi5t YW5hZ2VyLnNpZCwKICAgICAgICAgICAgICAgICBjb25uX2lkPXNlbGYuY29u bl9pZCwKICAgICAgICAgICAgICAgICBxdWVyeT1xdWVyeSwKQEAgLTc2Niw3 ICs3NzksNyBAQCBGYWlsZWQgdG8gZXhlY3V0ZSBxdWVyeSAoZXhlY3V0ZV92 b2lkKSBmb3IgdGhlIHNlcnZlciAje3NlcnZlcl9pZH0gLSB7Y29ubl9pZH0K ICAgICAgICAgICAgIGN1ci5jbG9zZSgpCiAgICAgICAgICAgICBlcnJtc2cg PSBzZWxmLl9mb3JtYXR0ZWRfZXhjZXB0aW9uX21zZyhwZSwgZm9ybWF0dGVk X2V4Y2VwdGlvbl9tc2cpCiAgICAgICAgICAgICBjdXJyZW50X2FwcC5sb2dn ZXIuZXJyb3IoCi0gICAgICAgICAgICAgICAgIkZhaWxlZCB0byBleGVjdXRl IHF1ZXJ5IChleGVjdXRlX2RpY3QpIGZvciB0aGUgc2VydmVyICN7c2VydmVy X2lkfS0ge2Nvbm5faWR9IChRdWVyeS1pZDoge3F1ZXJ5X2lkfSk6XG5FcnJv ciBNZXNzYWdlOntlcnJtc2d9Ii5mb3JtYXQoCisgICAgICAgICAgICAgICAg dSJGYWlsZWQgdG8gZXhlY3V0ZSBxdWVyeSAoZXhlY3V0ZV9kaWN0KSBmb3Ig dGhlIHNlcnZlciAje3NlcnZlcl9pZH0tIHtjb25uX2lkfSAoUXVlcnktaWQ6 IHtxdWVyeV9pZH0pOlxuRXJyb3IgTWVzc2FnZTp7ZXJybXNnfSIuZm9ybWF0 KAogICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfaWQ9c2VsZi5tYW5hZ2Vy LnNpZCwKICAgICAgICAgICAgICAgICAgICAgY29ubl9pZD1zZWxmLmNvbm5f aWQsCiAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5X2lkPXF1ZXJ5X2lkLApA QCAtMTI0NSwxNyArMTI1OCwyMyBAQCBjbGFzcyBTZXJ2ZXJNYW5hZ2VyKG9i amVjdCk6CiAgICAgICAgICAgICAiU2VydmVyIGhhcyBubyBhY3RpdmUgY29u bmVjdGlvbi4gUGxlYXNlIGNvbm5lY3QgdG8gdGhlIHNlcnZlci4iCiAgICAg ICAgICkKIAotICAgICAgICBpZiBkYXRhYmFzZSBpcyBOb25lOgorICAgICAg ICBpZiBkYXRhYmFzZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGlmIGhh c2F0dHIoc3RyLCAnZGVjb2RlJykgYW5kIFwKKyAgICAgICAgICAgICAgICAg ICAgbm90IGlzaW5zdGFuY2UoZGF0YWJhc2UsIHVuaWNvZGUpOgorICAgICAg ICAgICAgICAgIGRhdGFiYXNlID0gZGF0YWJhc2UuZGVjb2RlKCd1dGYtOCcp CisgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBpZiBkaWQgaXMgTm9uZToK ICAgICAgICAgICAgICAgICBkYXRhYmFzZSA9IHNlbGYuZGIKICAgICAgICAg ICAgIGVsaWYgZGlkIGluIHNlbGYuZGJfaW5mbzoKICAgICAgICAgICAgICAg ICBkYXRhYmFzZSA9IHNlbGYuZGJfaW5mb1tkaWRdWydkYXRuYW1lJ10KKyAg ICAgICAgICAgICAgICBpZiBoYXNhdHRyKHN0ciwgJ2RlY29kZScpOgorICAg ICAgICAgICAgICAgICAgICBkYXRhYmFzZSA9IGRhdGFiYXNlLmRlY29kZSgn dXRmLTgnKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBt YWludGVuYW5jZV9kYl9pZCA9ICdEQjonICsgc2VsZi5kYgorICAgICAgICAg ICAgICAgIG1haW50ZW5hbmNlX2RiX2lkID0gdSdEQjp7MH0nLmZvcm1hdChz ZWxmLmRiKQogICAgICAgICAgICAgICAgIGlmIG1haW50ZW5hbmNlX2RiX2lk IGluIHNlbGYuY29ubmVjdGlvbnM6CiAgICAgICAgICAgICAgICAgICAgIGNv bm4gPSBzZWxmLmNvbm5lY3Rpb25zW21haW50ZW5hbmNlX2RiX2lkXQogICAg ICAgICAgICAgICAgICAgICBpZiBjb25uLmNvbm5lY3RlZCgpOgotICAgICAg ICAgICAgICAgICAgICAgICAgc3RhdHVzLCByZXMgPSBjb25uLmV4ZWN1dGVf ZGljdCgiIiIKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cywgcmVz ID0gY29ubi5leGVjdXRlX2RpY3QodSIiIgogU0VMRUNUCiAgICAgZGIub2lk IGFzIGRpZCwgZGIuZGF0bmFtZSwgZGIuZGF0YWxsb3djb25uLAogICAgIHBn X2VuY29kaW5nX3RvX2NoYXIoZGIuZW5jb2RpbmcpIEFTIHNlcnZlcmVuY29k aW5nLApAQCAtMTI2Nyw2ICsxMjg2LDkgQEAgV0hFUkUgZGIub2lkID0gezB9 IiIiLmZvcm1hdChkaWQpKQogICAgICAgICAgICAgICAgICAgICAgICAgaWYg c3RhdHVzIGFuZCBsZW4ocmVzWydyb3dzJ10pID4gMDoKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBmb3Igcm93IGluIHJlc1sncm93cyddOgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRiX2luZm9bZGlk XSA9IHJvdworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBo YXNhdHRyKHN0ciwgJ2RlY29kZScpOgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2VsZi5kYl9pbmZvW2RpZF1bJ2RhdG5hbWUnXSA9 IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz ZWxmLmRiX2luZm9bZGlkXVsnZGF0bmFtZSddLmRlY29kZSgndXRmLTgnKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhYmFzZSA9IHNl bGYuZGJfaW5mb1tkaWRdWydkYXRuYW1lJ10KIAogICAgICAgICAgICAgICAg ICAgICAgICAgaWYgZGlkIG5vdCBpbiBzZWxmLmRiX2luZm86CkBAIC0xMjc3 LDggKzEyOTksOCBAQCBXSEVSRSBkYi5vaWQgPSB7MH0iIiIuZm9ybWF0KGRp ZCkpCiAgICAgICAgIGlmIGRhdGFiYXNlIGlzIE5vbmU6CiAgICAgICAgICAg ICByYWlzZSBFeGNlcHRpb24obXNnX2FjdGl2ZV9jb25uKQogCi0gICAgICAg IG15X2lkID0gKCdDT05OOicgKyBzdHIoY29ubl9pZCkpIGlmIGNvbm5faWQg aXMgbm90IE5vbmUgZWxzZSBcCi0gICAgICAgICAgICAoJ0RCOicgKyBzdHIo ZGF0YWJhc2UpKQorICAgICAgICBteV9pZCA9ICh1J0NPTk46ezB9Jy5mb3Jt YXQoY29ubl9pZCkpIGlmIGNvbm5faWQgaXMgbm90IE5vbmUgZWxzZSBcCisg ICAgICAgICAgICAodSdEQjp7MH0nLmZvcm1hdChkYXRhYmFzZSkpCiAKICAg ICAgICAgc2VsZi5waW5nZWQgPSBkYXRldGltZS5kYXRldGltZS5ub3coKQog CkBAIC0xMzM1LDEzICsxMzU3LDE1IEBAIFdIRVJFIGRiLm9pZCA9IHswfSIi Ii5mb3JtYXQoZGlkKSkKICAgICAgICAgaWYgZGlkIGlzIG5vdCBOb25lOgog ICAgICAgICAgICAgaWYgZGlkIGluIHNlbGYuZGJfaW5mbyBhbmQgJ2RhdG5h bWUnIGluIHNlbGYuZGJfaW5mb1tkaWRdOgogICAgICAgICAgICAgICAgIGRh dGFiYXNlID0gc2VsZi5kYl9pbmZvW2RpZF1bJ2RhdG5hbWUnXQorICAgICAg ICAgICAgICAgIGlmIGhhc2F0dHIoc3RyLCAnZGVjb2RlJyk6CisgICAgICAg ICAgICAgICAgICAgIGRhdGFiYXNlID0gZGF0YWJhc2UuZGVjb2RlKCd1dGYt OCcpCiAgICAgICAgICAgICAgICAgaWYgZGF0YWJhc2UgaXMgTm9uZToKICAg ICAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgICAgICBl bHNlOgogICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQogCi0gICAgICAg IG15X2lkID0gKCdDT05OOicgKyBzdHIoY29ubl9pZCkpIGlmIGNvbm5faWQg aXMgbm90IE5vbmUgZWxzZSBcCi0gICAgICAgICAgICAoJ0RCOicgKyBzdHIo ZGF0YWJhc2UpKSBpZiBkYXRhYmFzZSBpcyBub3QgTm9uZSBlbHNlIE5vbmUK KyAgICAgICAgbXlfaWQgPSAodSdDT05OOnswfScuZm9ybWF0KGNvbm5faWQp KSBpZiBjb25uX2lkIGlzIG5vdCBOb25lIGVsc2UgXAorICAgICAgICAgICAg KHUnREI6ezB9Jy5mb3JtYXQoZGF0YWJhc2UpKSBpZiBkYXRhYmFzZSBpcyBu b3QgTm9uZSBlbHNlIE5vbmUKIAogICAgICAgICBpZiBteV9pZCBpcyBub3Qg Tm9uZToKICAgICAgICAgICAgIGlmIG15X2lkIGluIHNlbGYuY29ubmVjdGlv bnM6CkBAIC0xNTY0LDE0ICsxNTg4LDIyIEBAIGNsYXNzIERyaXZlcihCYXNl RHJpdmVyKToKIAogICAgIEBzdGF0aWNtZXRob2QKICAgICBkZWYgcXRMaXRl cmFsKHZhbHVlKToKLQotICAgICAgICByZXMgPSBhZGFwdCh2YWx1ZSkuZ2V0 cXVvdGVkKCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmVzID0gYWRh cHQodmFsdWUpLmdldHF1b3RlZCgpCisgICAgICAgIGV4Y2VwdCBVbmljb2Rl RW5jb2RlRXJyb3I6CisgICAgICAgICAgICAjIFdlIHdpbGwgaGFuZGxlIHNw ZWNpYWwgY2hhcmFjdGVycyB3aXRoIHV0ZjggZW5jb2RpbmcKKyAgICAgICAg ICAgIGFkYXB0ZWQgPSBhZGFwdCh2YWx1ZSkKKyAgICAgICAgICAgIGFkYXB0 ZWQuZW5jb2RpbmcgPSAndXRmOCcKKyAgICAgICAgICAgIHJlcyA9IGFkYXB0 ZWQuZ2V0cXVvdGVkKCkKIAogICAgICAgICAjIFJldHVybnMgaW4gYnl0ZXMs IHdlIG5lZWQgdG8gY29udmVydCBpdCBpbiBzdHJpbmcKICAgICAgICAgaWYg aXNpbnN0YW5jZShyZXMsIGJ5dGVzKToKLSAgICAgICAgICAgIHJldHVybiBy ZXMuZGVjb2RlKCkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVy biByZXMKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICByZXMg PSByZXMuZGVjb2RlKCkKKyAgICAgICAgICAgIGV4Y2VwdCBVbmljb2RlRGVj b2RlRXJyb3I6CisgICAgICAgICAgICAgICAgcmVzID0gcmVzLmRlY29kZSgn dXRmLTgnKQorCisgICAgICAgIHJldHVybiByZXMKIAogICAgIEBzdGF0aWNt ZXRob2QKICAgICBkZWYgU2NhbktleXdvcmRFeHRyYUxvb2t1cChrZXkpOgpA QCAtMTYwNywxNyArMTYzOSwxMiBAQCBjbGFzcyBEcml2ZXIoQmFzZURyaXZl cik6CiAKICAgICBAc3RhdGljbWV0aG9kCiAgICAgZGVmIG5lZWRzUXVvdGlu ZyhrZXksIGZvclR5cGVzKToKLQotICAgICAgICAjIFB5dGhvbiAzIGRvZXMg bm90IHJlcXVpcmUgdGhlIGRlY29kaW5nIG9mIHZhbHVlCi0gICAgICAgIGlm IGhhc2F0dHIoc3RyLCAnZGVjb2RlJyk6Ci0gICAgICAgICAgICB2YWx1ZSA9 IGtleS5kZWNvZGUoKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgdmFs dWUgPSBrZXkKKyAgICAgICAgdmFsdWUgPSBrZXkKICAgICAgICAgdmFsTm9B cnJheSA9IHZhbHVlCiAKICAgICAgICAgIyBjaGVjayBpZiB0aGUgc3RyaW5n IGlzIG51bWJlciBvciBub3QKLSAgICAgICAgaWYgKGlzaW5zdGFuY2UodmFs dWUsIGludCkpOgotICAgICAgICAgICAgcmV0dXJuIFRydWU7CisgICAgICAg IGlmIGlzaW5zdGFuY2UodmFsdWUsIGludCk6CisgICAgICAgICAgICByZXR1 cm4gVHJ1ZQogICAgICAgICAjIGNlcnRhaW4gdHlwZXMgc2hvdWxkIG5vdCBi ZSBxdW90ZWQgZXZlbiB0aG91Z2ggaXQgY29udGFpbnMgYSBzcGFjZS4gRXZp bG5lc3MuCiAgICAgICAgIGVsaWYgZm9yVHlwZXMgYW5kIHZhbHVlWy0yOl0g PT0gdSJbXSI6CiAgICAgICAgICAgICB2YWxOb0FycmF5ID0gdmFsdWVbOi0y XQpAQCAtMTY5MSw4ICsxNzE4LDE0IEBAIGNsYXNzIERyaXZlcihCYXNlRHJp dmVyKToKICAgICAgICAgZm9yIHZhbCBpbiBhcmdzOgogICAgICAgICAgICAg aWYgdHlwZSh2YWwpID09IGxpc3Q6CiAgICAgICAgICAgICAgICAgcmV0dXJu IG1hcChsYW1iZGEgdzogRHJpdmVyLnF0SWRlbnQoY29ubiwgdyksIHZhbCkK KyAgICAgICAgICAgIGlmIGhhc2F0dHIoc3RyLCAnZGVjb2RlJykgYW5kIG5v dCBpc2luc3RhbmNlKHZhbCwgdW5pY29kZSk6CisgICAgICAgICAgICAgICAg IyBIYW5kbGluZyBmb3IgcHl0aG9uMgorICAgICAgICAgICAgICAgIHRyeToK KyAgICAgICAgICAgICAgICAgICAgdmFsID0gc3RyKHZhbCkuZW5jb2RlKCd1 dGYtOCcpCisgICAgICAgICAgICAgICAgZXhjZXB0IFVuaWNvZGVEZWNvZGVF cnJvcjoKKyAgICAgICAgICAgICAgICAgICAgIyBJZiBhbHJlYWR5IHVuaWNv ZGUsIG1vc3QgbGlrZWx5IGNvbWluZyBmcm9tIGRiCisgICAgICAgICAgICAg ICAgICAgIHZhbCA9IHN0cih2YWwpLmRlY29kZSgndXRmLTgnKQogCi0gICAg ICAgICAgICB2YWwgPSBzdHIodmFsKQogICAgICAgICAgICAgaWYgbGVuKHZh bCkgPT0gMDoKICAgICAgICAgICAgICAgICBjb250aW51ZQogCg== --94eb2c06229cf7f091053889f558 Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers --94eb2c06229cf7f091053889f558--