Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k8JVc-00027D-M4 for pgadmin-hackers@arkaria.postgresql.org; Wed, 19 Aug 2020 08:31:49 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1k8JV5-0007aX-QI for pgadmin-hackers@arkaria.postgresql.org; Wed, 19 Aug 2020 08:31:15 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k8JV5-0007Zt-7Q for pgadmin-hackers@lists.postgresql.org; Wed, 19 Aug 2020 08:31:15 +0000 Received: from mail-lf1-x141.google.com ([2a00:1450:4864:20::141]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1k8JUx-0003Ax-OH for pgadmin-hackers@postgresql.org; Wed, 19 Aug 2020 08:31:13 +0000 Received: by mail-lf1-x141.google.com with SMTP id i80so11604233lfi.13 for ; Wed, 19 Aug 2020 01:31:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Ak92xHJWZ/kbBnGuqLl6WE7am90XsIRVruCeesOhKHI=; b=brA/QawRwOvJ8E0oExCD5fHeU9zI5PBLjHZE1dhA5uggI1XiktBhUoeLI+F0vwz6a8 fvbTpkUUBr6woF/F+ccM+aygEu3VAR1Zhhhsswjg8B5maqL4pu/IWSSA+c3WQYHWy/Db Rslq3udEhFtuTQnFxE0Tz1eVOgcsNpbOmGBp6AuT9upTWv8fOYNp9x9MRL2xhJqbQsP2 6JTL6yQ/2aEoWcsUns7j6ttpKraOqNSVAEq8xaN+IDMHXxmtGgMm2xHl870mVnhvq9Wp /y5c++nL1fmiMh9xIZ79gBJ8VddEXv2q3DzKW4BOm5cxTC9+ZeuIjk00Kc2Yeo6J/4xB /ZYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Ak92xHJWZ/kbBnGuqLl6WE7am90XsIRVruCeesOhKHI=; b=ojch0/WzP6R6soacztujdq0T/AoR/y1OQQwVgA9xO6prpYUD4H6LN2fHqsP+ahAwA6 8KybyD2j6RXd/kqkmN2ZTCKOupOqOkbSF+GyCrkVWCBs21WJnM3ASwrddg1U4UI9E4QW k+8+7YyygnMQ4NCMUM9o8k98F5SjzKDoVGyfLlag2LWIMehN8Dle6+Yapz7a+0x0rbZm vhSS5KUJ/wL1Nedr7YkXpufne8MQB1yHMSbfCXF9xi5xpmU+yL7FUgoVAGWZAh8eVPqk /vLxoPlOQ/1gbS229vs5u5aQE+FGMQczJh5NR7AUK+6+RWRwEErUxaoun0M2wStmO5US sEFg== X-Gm-Message-State: AOAM533ZDnN143TyvLtR97ma3F+ITcCn2SDHRQL302vjPrlKeSsd5U7j Iae/1XPvfzJfSST+gcHinqjUmwqy4+moasd5bhowMdxMuFJu+oZ4dRzYWAagjMK9b1cZO0u1DIN /NgzSUNMiK8oP7HalxZIiO8i53F82auv8xDy2zXvyJqszLSBZxk6VtpWmZsmc2EyppfHGCJB+k0 wTJVxUC5KjcVSM7IkNQj929YOXaZx9jk8HF39CymBOfueuIfnAkrNxSNeDOw== X-Google-Smtp-Source: ABdhPJws63bWIrj4o7/nKk/RPrRhs5bL5OL61sebaKLAHpTf5289ngh6EWS2/Iec+4mVO6R8933/JhEwtFN28guDbIE= X-Received: by 2002:ac2:4adb:: with SMTP id m27mr11871664lfp.90.1597825865465; Wed, 19 Aug 2020 01:31:05 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Khushboo Vashi Date: Wed, 19 Aug 2020 14:01:01 +0530 Message-ID: Subject: Re: [pgAdmin4][Patch] - SonarQube Fixes To: Akshay Joshi Cc: pgadmin-hackers Content-Type: multipart/mixed; boundary="00000000000020681505ad36d328" X-CLOUD-SEC-AV-Info: enterprisedb,google_mail,monitor X-CLOUD-SEC-AV-Sent: true X-Gm-Spam: 0 X-Gm-Phishy: 0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --00000000000020681505ad36d328 Content-Type: multipart/alternative; boundary="00000000000020681405ad36d326" --00000000000020681405ad36d326 Content-Type: text/plain; charset="UTF-8" Hi, Please find the attached updated patch. On Tue, Aug 4, 2020 at 12:10 PM Akshay Joshi wrote: > Hi Khushboo > > As per offline discussion, multiple developers declaring the constant for > the same string and error messages. To avoid that only one developer should > work on this task. > Suggestions: > > - We should have a common class for Constants (which are not module > specific). > > Made a constant.py file which contains the common Constants. > > - For module specific constants we should not declare them as Global > variables if possible declare them as the Class variable. > > > - For common error messages(if any) we can define functions in > PGChildNodeView. > > Already implemented. > Please incorporate the changes send by Yogesh. > I will send another patch for Yogesh's changes as needed more changes. Thanks, Khushboo > > On Mon, Aug 3, 2020 at 1:36 PM Khushboo Vashi < > khushboo.vashi@enterprisedb.com> wrote: > >> Hi, >> >> Please find the attached patch to fix the sonarqube code smells having >> the rule "String literals should not be duplicated". >> >> Thanks, >> Khushboo >> > > > -- > *Thanks & Regards* > *Akshay Joshi* > *pgAdmin Hacker | Sr. Software Architect* > *EDB Postgres * > > *Mobile: +91 976-788-8246* > --00000000000020681405ad36d326 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

Please find the at= tached updated patch.


On Tue, Aug 4, 2020 at 12:10 PM A= kshay Joshi <akshay.jos= hi@enterprisedb.com> wrote:
Hi=C2=A0Khushboo

As = per offline discussion, multiple developers declaring the constant for the = same string and error messages. To avoid that only one developer should wor= k on this task.
Suggestions:
  • We should have a= =C2=A0common=C2=A0class for Constants (which are not module specific).
  • =
Made a constant.py file which contains t= he common Constants.=C2=A0
  • For module specific constants we shoul= d not declare them as Global variables if possible declare them as the Clas= s variable.
  • For common e= rror messages(if any) we can define functions in PGChildNodeView.
=
Already implemented.=C2=A0
Please incorpora= te the changes send by Yogesh.=C2=A0 =C2=A0
I = will send another patch for Yogesh's changes as needed more changes.

Thanks,
Khushboo

On Mon, Aug 3, 2020 at 1:36 PM Khushboo Vashi <<= a href=3D"mailto:khushboo.vashi@enterprisedb.com" target=3D"_blank">khushbo= o.vashi@enterprisedb.com> wrote:
Hi,
Please find = the attached patch to fix the sonarqube code smells having the rule "<= /font>String literals should not be duplicated".

Thanks,
Khushboo


--
Thank= s & Regards
Akshay Joshi
pgAdmin Hacker | Sr. Software Ar= chitect
EDB Postgres=
Mobile: +91 976-788-8246

--00000000000020681405ad36d326-- --00000000000020681505ad36d328 Content-Type: application/octet-stream; name="sonarqube_fixes_v1.patch" Content-Disposition: attachment; filename="sonarqube_fixes_v1.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ke147w9x0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvX19pbml0X18ucHkgYi93ZWIvcGdhZG1p bi9icm93c2VyL19faW5pdF9fLnB5CmluZGV4IGIxZjJiNWQ5Mi4uOWVlNzU2Mzc0IDEwMDY0NAot LS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvX19pbml0X18ucHkKQEAgLTQ3LDYgKzQ3LDcgQEAgZnJvbSBwZ2FkbWluLnV0aWxzLm1h c3Rlcl9wYXNzd29yZCBpbXBvcnQgdmFsaWRhdGVfbWFzdGVyX3Bhc3N3b3JkLCBcCiAgICAgc2V0 X21hc3RlcnBhc3NfY2hlY2tfdGV4dCwgY2xlYW51cF9tYXN0ZXJfcGFzc3dvcmQsIGdldF9jcnlw dF9rZXksIFwKICAgICBzZXRfY3J5cHRfa2V5LCBwcm9jZXNzX21hc3RlcnBhc3NfZGlzYWJsZWQK IGZyb20gcGdhZG1pbi5tb2RlbCBpbXBvcnQgVXNlcgorZnJvbSBwZ2FkbWluLnV0aWxzLmNvbnN0 YW50cyBpbXBvcnQgQVBQX0pTLCBQR0FETUlOX05PREUKIAogdHJ5OgogICAgIGZyb20gZmxhc2tf c2VjdXJpdHkudmlld3MgaW1wb3J0IGRlZmF1bHRfcmVuZGVyX2pzb24KQEAgLTU3LDYgKzU4LDE3 IEBAIGV4Y2VwdCBJbXBvcnRFcnJvciBhcyBlOgogICAgICAgICBmcm9tIGZsYXNrX3NlY3VyaXR5 LnZpZXdzIGltcG9ydCBfcmVuZGVyX2pzb24gYXMgZGVmYXVsdF9yZW5kZXJfanNvbgogCiBNT0RV TEVfTkFNRSA9ICdicm93c2VyJworQlJPV1NFUl9TVEFUSUMgPSAnYnJvd3Nlci5zdGF0aWMnCitK UVVFUllfQUNJUExVR0lOID0gJ2pxdWVyeS5hY2lwbHVnaW4nCitCUk9XU0VSX0lOREVYID0gJ2Jy b3dzZXIuaW5kZXgnCitQR0FETUlOX0JST1dTRVIgPSAncGdBZG1pbi5Ccm93c2VyJworUEFTU19F UlJPUl9NU0cgPSB1J1lvdXIgcGFzc3dvcmQgaGFzIG5vdCBiZWVuIGNoYW5nZWQuJworU01UUF9T T0NLRVRfRVJST1IgPSB1J1NNVFAgU29ja2V0IGVycm9yOiB7ZXJyb3J9XG4ge3Bhc3NfZXJyb3J9 Jy5mb3JtYXQoCisgICAgZXJyb3I9e30sIHBhc3NfZXJyb3I9UEFTU19FUlJPUl9NU0cpCitTTVRQ X0VSUk9SID0gdSdTTVRQIGVycm9yOiB7ZXJyb3J9XG4ge3Bhc3NfZXJyb3J9Jy5mb3JtYXQoCisg ICAgZXJyb3I9e30sIHBhc3NfZXJyb3I9UEFTU19FUlJPUl9NU0cpCitQQVNTX0VSUk9SID0gdSdF cnJvcjoge2Vycm9yfVxuIHtwYXNzX2Vycm9yfScuZm9ybWF0KAorICAgIGVycm9yPXt9LCBwYXNz X2Vycm9yPVBBU1NfRVJST1JfTVNHKQogCiAKIGNsYXNzIEJyb3dzZXJNb2R1bGUoUGdBZG1pbk1v ZHVsZSk6CkBAIC03Nyw3ICs4OSw3IEBAIGNsYXNzIEJyb3dzZXJNb2R1bGUoUGdBZG1pbk1vZHVs ZSk6CiAgICAgICAgICAgICAoJ3N0YXRpYycsICd2ZW5kb3IvY29kZW1pcnJvci9hZGRvbi9kaWFs b2cvZGlhbG9nLmNzcycpLAogICAgICAgICAgICAgKCdzdGF0aWMnLCBjb250ZXh0X21lbnVfZmls ZSksCiAgICAgICAgICAgICAoJ3N0YXRpYycsIHdjZG9ja2VyX2ZpbGUpLAotICAgICAgICAgICAg KCdicm93c2VyLnN0YXRpYycsICd2ZW5kb3IvYWNpVHJlZS9jc3MvYWNpVHJlZS5jc3MnKQorICAg ICAgICAgICAgKEJST1dTRVJfU1RBVElDLCAndmVuZG9yL2FjaVRyZWUvY3NzL2FjaVRyZWUuY3Nz JykKICAgICAgICAgXToKICAgICAgICAgICAgIHN0eWxlc2hlZXRzLmFwcGVuZCh1cmxfZm9yKGVu ZHBvaW50LCBmaWxlbmFtZT1maWxlbmFtZSkpCiAgICAgICAgIHJldHVybiBzdHlsZXNoZWV0cwpA QCAtMTE5LDkgKzEzMSw5IEBAIGNsYXNzIEJyb3dzZXJNb2R1bGUoUGdBZG1pbk1vZHVsZSk6CiAg ICAgICAgICAgICAncHJlbG9hZGVkJzogVHJ1ZQogICAgICAgICB9KQogICAgICAgICBzY3JpcHRz LmFwcGVuZCh7Ci0gICAgICAgICAgICAnbmFtZSc6ICdqcXVlcnkuYWNpcGx1Z2luJywKKyAgICAg ICAgICAgICduYW1lJzogSlFVRVJZX0FDSVBMVUdJTiwKICAgICAgICAgICAgICdwYXRoJzogdXJs X2ZvcigKLSAgICAgICAgICAgICAgICAnYnJvd3Nlci5zdGF0aWMnLAorICAgICAgICAgICAgICAg IEJST1dTRVJfU1RBVElDLAogICAgICAgICAgICAgICAgIGZpbGVuYW1lPSd2ZW5kb3IvYWNpVHJl ZS9qcXVlcnkuYWNpUGx1Z2luLm1pbicKICAgICAgICAgICAgICksCiAgICAgICAgICAgICAnZGVw cyc6IFsnanF1ZXJ5J10sCkBAIC0xMzEsMjEgKzE0MywyMSBAQCBjbGFzcyBCcm93c2VyTW9kdWxl KFBnQWRtaW5Nb2R1bGUpOgogICAgICAgICBzY3JpcHRzLmFwcGVuZCh7CiAgICAgICAgICAgICAn bmFtZSc6ICdqcXVlcnkuYWNpdHJlZScsCiAgICAgICAgICAgICAncGF0aCc6IHVybF9mb3IoCi0g ICAgICAgICAgICAgICAgJ2Jyb3dzZXIuc3RhdGljJywKKyAgICAgICAgICAgICAgICBCUk9XU0VS X1NUQVRJQywKICAgICAgICAgICAgICAgICBmaWxlbmFtZT0ndmVuZG9yL2FjaVRyZWUvanF1ZXJ5 LmFjaVRyZWUnIGlmCiAgICAgICAgICAgICAgICAgY3VycmVudF9hcHAuZGVidWcgZWxzZSAndmVu ZG9yL2FjaVRyZWUvanF1ZXJ5LmFjaVRyZWUubWluJwogICAgICAgICAgICAgKSwKLSAgICAgICAg ICAgICdkZXBzJzogWydqcXVlcnknLCAnanF1ZXJ5LmFjaXBsdWdpbiddLAorICAgICAgICAgICAg J2RlcHMnOiBbJ2pxdWVyeScsIEpRVUVSWV9BQ0lQTFVHSU5dLAogICAgICAgICAgICAgJ2V4cG9y dHMnOiAnYWNpUGx1Z2luQ2xhc3MucGx1Z2lucy5hY2lUcmVlJywKICAgICAgICAgICAgICdwcmVs b2FkZWQnOiBUcnVlCiAgICAgICAgIH0pCiAgICAgICAgIHNjcmlwdHMuYXBwZW5kKHsKICAgICAg ICAgICAgICduYW1lJzogJ2pxdWVyeS5hY2lzb3J0YWJsZScsCiAgICAgICAgICAgICAncGF0aCc6 IHVybF9mb3IoCi0gICAgICAgICAgICAgICAgJ2Jyb3dzZXIuc3RhdGljJywKKyAgICAgICAgICAg ICAgICBCUk9XU0VSX1NUQVRJQywKICAgICAgICAgICAgICAgICBmaWxlbmFtZT0ndmVuZG9yL2Fj aVRyZWUvanF1ZXJ5LmFjaVNvcnRhYmxlLm1pbicKICAgICAgICAgICAgICksCi0gICAgICAgICAg ICAnZGVwcyc6IFsnanF1ZXJ5JywgJ2pxdWVyeS5hY2lwbHVnaW4nXSwKKyAgICAgICAgICAgICdk ZXBzJzogWydqcXVlcnknLCBKUVVFUllfQUNJUExVR0lOXSwKICAgICAgICAgICAgICdleHBvcnRz JzogJ2FjaVBsdWdpbkNsYXNzLnBsdWdpbnMuYWNpU29ydGFibGUnLAogICAgICAgICAgICAgJ3do ZW4nOiBOb25lLAogICAgICAgICAgICAgJ3ByZWxvYWRlZCc6IFRydWUKQEAgLTE1MywxMCArMTY1 LDEwIEBAIGNsYXNzIEJyb3dzZXJNb2R1bGUoUGdBZG1pbk1vZHVsZSk6CiAgICAgICAgIHNjcmlw dHMuYXBwZW5kKHsKICAgICAgICAgICAgICduYW1lJzogJ2pxdWVyeS5hY2lmcmFnbWVudCcsCiAg ICAgICAgICAgICAncGF0aCc6IHVybF9mb3IoCi0gICAgICAgICAgICAgICAgJ2Jyb3dzZXIuc3Rh dGljJywKKyAgICAgICAgICAgICAgICBCUk9XU0VSX1NUQVRJQywKICAgICAgICAgICAgICAgICBm aWxlbmFtZT0ndmVuZG9yL2FjaVRyZWUvanF1ZXJ5LmFjaUZyYWdtZW50Lm1pbicKICAgICAgICAg ICAgICksCi0gICAgICAgICAgICAnZGVwcyc6IFsnanF1ZXJ5JywgJ2pxdWVyeS5hY2lwbHVnaW4n XSwKKyAgICAgICAgICAgICdkZXBzJzogWydqcXVlcnknLCBKUVVFUllfQUNJUExVR0lOXSwKICAg ICAgICAgICAgICdleHBvcnRzJzogJ2FjaVBsdWdpbkNsYXNzLnBsdWdpbnMuYWNpRnJhZ21lbnQn LAogICAgICAgICAgICAgJ3doZW4nOiBOb25lLAogICAgICAgICAgICAgJ3ByZWxvYWRlZCc6IFRy dWUKQEAgLTE3NSwxOCArMTg3LDE4IEBAIGNsYXNzIEJyb3dzZXJNb2R1bGUoUGdBZG1pbk1vZHVs ZSk6CiAKICAgICAgICAgc2NyaXB0cy5hcHBlbmQoewogICAgICAgICAgICAgJ25hbWUnOiAncGdh ZG1pbi5icm93c2VyLmRhdGFtb2RlbCcsCi0gICAgICAgICAgICAncGF0aCc6IHVybF9mb3IoJ2Jy b3dzZXIuc3RhdGljJywgZmlsZW5hbWU9J2pzL2RhdGFtb2RlbCcpLAorICAgICAgICAgICAgJ3Bh dGgnOiB1cmxfZm9yKEJST1dTRVJfU1RBVElDLCBmaWxlbmFtZT0nanMvZGF0YW1vZGVsJyksCiAg ICAgICAgICAgICAncHJlbG9hZGVkJzogVHJ1ZQogICAgICAgICB9KQogCiAgICAgICAgIGZvciBu YW1lLCBzY3JpcHQgaW4gWwotICAgICAgICAgICAgWydwZ2FkbWluLmJyb3dzZXInLCAnanMvYnJv d3NlciddLAorICAgICAgICAgICAgW1BHQURNSU5fQlJPV1NFUiwgJ2pzL2Jyb3dzZXInXSwKICAg ICAgICAgICAgIFsncGdhZG1pbi5icm93c2VyLmVuZHBvaW50cycsICdqcy9lbmRwb2ludHMnXSwK ICAgICAgICAgICAgIFsncGdhZG1pbi5icm93c2VyLmVycm9yJywgJ2pzL2Vycm9yJ10KICAgICAg ICAgXToKICAgICAgICAgICAgIHNjcmlwdHMuYXBwZW5kKHsKICAgICAgICAgICAgICAgICAnbmFt ZSc6IG5hbWUsCi0gICAgICAgICAgICAgICAgJ3BhdGgnOiB1cmxfZm9yKCdicm93c2VyLmluZGV4 JykgKyBzY3JpcHQsCisgICAgICAgICAgICAgICAgJ3BhdGgnOiB1cmxfZm9yKEJST1dTRVJfSU5E RVgpICsgc2NyaXB0LAogICAgICAgICAgICAgICAgICdwcmVsb2FkZWQnOiBUcnVlCiAgICAgICAg ICAgICB9KQogCkBAIC0xOTcsNyArMjA5LDcgQEAgY2xhc3MgQnJvd3Nlck1vZHVsZShQZ0FkbWlu TW9kdWxlKToKICAgICAgICAgXToKICAgICAgICAgICAgIHNjcmlwdHMuYXBwZW5kKHsKICAgICAg ICAgICAgICAgICAnbmFtZSc6IG5hbWUsCi0gICAgICAgICAgICAgICAgJ3BhdGgnOiB1cmxfZm9y KCdicm93c2VyLmluZGV4JykgKyBzY3JpcHQsCisgICAgICAgICAgICAgICAgJ3BhdGgnOiB1cmxf Zm9yKEJST1dTRVJfSU5ERVgpICsgc2NyaXB0LAogICAgICAgICAgICAgICAgICdwcmVsb2FkZWQn OiBUcnVlLAogICAgICAgICAgICAgICAgICdkZXBzJzogWydwZ2FkbWluLmJyb3dzZXIuZGF0YW1v ZGVsJ10KICAgICAgICAgICAgIH0pCkBAIC0yMDgsMTIgKzIyMCwxMiBAQCBjbGFzcyBCcm93c2Vy TW9kdWxlKFBnQWRtaW5Nb2R1bGUpOgogICAgICAgICAgICAgWydwZ2FkbWluLmJyb3dzZXIuZnJh bWUnLCAnanMvZnJhbWUnXQogICAgICAgICBdOgogICAgICAgICAgICAgc2NyaXB0cy5hcHBlbmQo ewotICAgICAgICAgICAgICAgICduYW1lJzogbmFtZSwgJ3BhdGgnOiB1cmxfZm9yKCdicm93c2Vy LnN0YXRpYycsIGZpbGVuYW1lPWVuZCksCisgICAgICAgICAgICAgICAgJ25hbWUnOiBuYW1lLCAn cGF0aCc6IHVybF9mb3IoQlJPV1NFUl9TVEFUSUMsIGZpbGVuYW1lPWVuZCksCiAgICAgICAgICAg ICAgICAgJ3ByZWxvYWRlZCc6IFRydWV9KQogCiAgICAgICAgIHNjcmlwdHMuYXBwZW5kKHsKICAg ICAgICAgICAgICduYW1lJzogJ3BnYWRtaW4uYnJvd3Nlci5ub2RlLnVpJywKLSAgICAgICAgICAg ICdwYXRoJzogdXJsX2ZvcignYnJvd3Nlci5zdGF0aWMnLCBmaWxlbmFtZT0nanMvbm9kZS51aScp LAorICAgICAgICAgICAgJ3BhdGgnOiB1cmxfZm9yKEJST1dTRVJfU1RBVElDLCBmaWxlbmFtZT0n anMvbm9kZS51aScpLAogICAgICAgICAgICAgJ3doZW4nOiAnc2VydmVyX2dyb3VwJwogICAgICAg ICB9KQogCkBAIC0yMjYsMjYgKzIzOCwyNiBAQCBjbGFzcyBCcm93c2VyTW9kdWxlKFBnQWRtaW5N b2R1bGUpOgogICAgICAgICAgICAgJ2ZpbGVfaXRlbXMnOiBbCiAgICAgICAgICAgICAgICAgTWVu dUl0ZW0oCiAgICAgICAgICAgICAgICAgICAgIG5hbWU9J21udV9sb2NrbGF5b3V0JywKLSAgICAg ICAgICAgICAgICAgICAgbW9kdWxlPSdwZ0FkbWluLkJyb3dzZXInLAorICAgICAgICAgICAgICAg ICAgICBtb2R1bGU9UEdBRE1JTl9CUk9XU0VSLAogICAgICAgICAgICAgICAgICAgICBsYWJlbD1n ZXR0ZXh0KCdMb2NrIExheW91dCcpLAogICAgICAgICAgICAgICAgICAgICBwcmlvcml0eT05OTks CiAgICAgICAgICAgICAgICAgICAgIG1lbnVfaXRlbXM9W01lbnVJdGVtKAogICAgICAgICAgICAg ICAgICAgICAgICAgbmFtZT0nbW51X2xvY2tfbm9uZScsCi0gICAgICAgICAgICAgICAgICAgICAg ICBtb2R1bGU9J3BnQWRtaW4uQnJvd3NlcicsCisgICAgICAgICAgICAgICAgICAgICAgICBtb2R1 bGU9UEdBRE1JTl9CUk9XU0VSLAogICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s9J21u dV9sb2NrX25vbmUnLAogICAgICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk9MCwKICAgICAg ICAgICAgICAgICAgICAgICAgIGxhYmVsPWdldHRleHQoJ05vbmUnKSwKICAgICAgICAgICAgICAg ICAgICAgICAgIGNoZWNrZWQ9VHJ1ZQogICAgICAgICAgICAgICAgICAgICApLCBNZW51SXRlbSgK ICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9J21udV9sb2NrX2RvY2tpbmcnLAotICAgICAg ICAgICAgICAgICAgICAgICAgbW9kdWxlPSdwZ0FkbWluLkJyb3dzZXInLAorICAgICAgICAgICAg ICAgICAgICAgICAgbW9kdWxlPVBHQURNSU5fQlJPV1NFUiwKICAgICAgICAgICAgICAgICAgICAg ICAgIGNhbGxiYWNrPSdtbnVfbG9ja19kb2NraW5nJywKICAgICAgICAgICAgICAgICAgICAgICAg IHByaW9yaXR5PTEsCiAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD1nZXR0ZXh0KCdQcmV2 ZW50IERvY2tpbmcnKSwKICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9RmFsc2UKICAg ICAgICAgICAgICAgICAgICAgKSwgTWVudUl0ZW0oCiAgICAgICAgICAgICAgICAgICAgICAgICBu YW1lPSdtbnVfbG9ja19mdWxsJywKLSAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZT0ncGdB ZG1pbi5Ccm93c2VyJywKKyAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZT1QR0FETUlOX0JS T1dTRVIsCiAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaz0nbW51X2xvY2tfZnVsbCcs CiAgICAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eT0yLAogICAgICAgICAgICAgICAgICAg ICAgICAgbGFiZWw9Z2V0dGV4dCgnRnVsbCBMb2NrJyksCkBAIC0yNjMsNyArMjc1LDcgQEAgY2xh c3MgQnJvd3Nlck1vZHVsZShQZ0FkbWluTW9kdWxlKToKICAgICAgICAgUmV0dXJuczoKICAgICAg ICAgICAgIGxpc3Q6IGEgbGlzdCBvZiB1cmwgZW5kcG9pbnRzIGV4cG9zZWQgdG8gdGhlIGNsaWVu dC4KICAgICAgICAgIiIiCi0gICAgICAgIHJldHVybiBbJ2Jyb3dzZXIuaW5kZXgnLCAnYnJvd3Nl ci5ub2RlcycsCisgICAgICAgIHJldHVybiBbQlJPV1NFUl9JTkRFWCwgJ2Jyb3dzZXIubm9kZXMn LAogICAgICAgICAgICAgICAgICdicm93c2VyLmNoZWNrX21hc3Rlcl9wYXNzd29yZCcsCiAgICAg ICAgICAgICAgICAgJ2Jyb3dzZXIuc2V0X21hc3Rlcl9wYXNzd29yZCcsCiAgICAgICAgICAgICAg ICAgJ2Jyb3dzZXIucmVzZXRfbWFzdGVyX3Bhc3N3b3JkJywKQEAgLTM1OCwxNSArMzcwLDE1IEBA IGNsYXNzIEJyb3dzZXJQbHVnaW5Nb2R1bGUoUGdBZG1pbk1vZHVsZSk6CiAKICAgICAgICAgaWYg c2VsZi5tb2R1bGVfdXNlX3RlbXBsYXRlX2phdmFzY3JpcHQ6CiAgICAgICAgICAgICBzY3JpcHRz LmV4dGVuZChbewotICAgICAgICAgICAgICAgICduYW1lJzogJ3BnYWRtaW4ubm9kZS4lcycgJSBz ZWxmLm5vZGVfdHlwZSwKLSAgICAgICAgICAgICAgICAncGF0aCc6IHVybF9mb3IoJ2Jyb3dzZXIu aW5kZXgnKSArCi0gICAgICAgICAgICAgICAgICAgICAgICAnJXMvbW9kdWxlJyAlIHNlbGYubm9k ZV90eXBlLAorICAgICAgICAgICAgICAgICduYW1lJzogUEdBRE1JTl9OT0RFICUgc2VsZi5ub2Rl X3R5cGUsCisgICAgICAgICAgICAgICAgJ3BhdGgnOiB1cmxfZm9yKEJST1dTRVJfSU5ERVgKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSArICclcy9tb2R1bGUnICUgc2VsZi5ub2Rl X3R5cGUsCiAgICAgICAgICAgICAgICAgJ3doZW4nOiBzZWxmLnNjcmlwdF9sb2FkLAogICAgICAg ICAgICAgICAgICdpc190ZW1wbGF0ZSc6IFRydWUKICAgICAgICAgICAgIH1dKQogICAgICAgICBl bHNlOgogICAgICAgICAgICAgc2NyaXB0cy5leHRlbmQoW3sKLSAgICAgICAgICAgICAgICAnbmFt ZSc6ICdwZ2FkbWluLm5vZGUuJXMnICUgc2VsZi5ub2RlX3R5cGUsCisgICAgICAgICAgICAgICAg J25hbWUnOiBQR0FETUlOX05PREUgJSBzZWxmLm5vZGVfdHlwZSwKICAgICAgICAgICAgICAgICAn cGF0aCc6IHVybF9mb3IoCiAgICAgICAgICAgICAgICAgICAgICclcy5zdGF0aWMnICUgc2VsZi5u YW1lLAogICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZT0oJ2pzLyVzJyAlIHNlbGYubm9kZV90 eXBlKQpAQCAtNDEyLDcgKzQyNCw3IEBAIGNsYXNzIEJyb3dzZXJQbHVnaW5Nb2R1bGUoUGdBZG1p bk1vZHVsZSk6CiAgICAgICAgICAgICAiX3R5cGUiOiBub2RlX3R5cGUsCiAgICAgICAgICAgICAi X2lkIjogbm9kZV9pZCwKICAgICAgICAgICAgICJfcGlkIjogcGFyZW50X2lkLAotICAgICAgICAg ICAgIm1vZHVsZSI6ICdwZ2FkbWluLm5vZGUuJXMnICUgbm9kZV90eXBlCisgICAgICAgICAgICAi bW9kdWxlIjogUEdBRE1JTl9OT0RFICUgbm9kZV90eXBlCiAgICAgICAgIH0KICAgICAgICAgZm9y IGtleSBpbiBrd2FyZ3M6CiAgICAgICAgICAgICBvYmouc2V0ZGVmYXVsdChrZXksIGt3YXJnc1tr ZXldKQpAQCAtNTI3LDcgKzUzOSw3IEBAIGNsYXNzIEJyb3dzZXJQbHVnaW5Nb2R1bGUoUGdBZG1p bk1vZHVsZSk6CiAKIGRlZiBfZ2V0X2xvZ291dF91cmwoKToKICAgICByZXR1cm4gJ3swfT9uZXh0 PXsxfScuZm9ybWF0KAotICAgICAgICB1cmxfZm9yKCdzZWN1cml0eS5sb2dvdXQnKSwgdXJsX2Zv cignYnJvd3Nlci5pbmRleCcpKQorICAgICAgICB1cmxfZm9yKCdzZWN1cml0eS5sb2dvdXQnKSwg dXJsX2ZvcihCUk9XU0VSX0lOREVYKSkKIAogCiBAYmx1ZXByaW50LnJvdXRlKCIvIikKQEAgLTcz Nyw3ICs3NDksNyBAQCBkZWYgdXRpbHMoKToKICAgICAgICAgICAgIHN1cHBvcnRfc3NoX3R1bm5l bD1jb25maWcuU1VQUE9SVF9TU0hfVFVOTkVMLAogICAgICAgICAgICAgbG9nb3V0X3VybD1fZ2V0 X2xvZ291dF91cmwoKQogICAgICAgICApLAotICAgICAgICAyMDAsIHsnQ29udGVudC1UeXBlJzog J2FwcGxpY2F0aW9uL2phdmFzY3JpcHQnfSkKKyAgICAgICAgMjAwLCB7J0NvbnRlbnQtVHlwZSc6 IEFQUF9KU30pCiAKIAogQGJsdWVwcmludC5yb3V0ZSgiL2pzL2VuZHBvaW50cy5qcyIpCkBAIC03 NDUsNyArNzU3LDcgQEAgZGVmIHV0aWxzKCk6CiBkZWYgZXhwb3NlZF91cmxzKCk6CiAgICAgcmV0 dXJuIG1ha2VfcmVzcG9uc2UoCiAgICAgICAgIHJlbmRlcl90ZW1wbGF0ZSgnYnJvd3Nlci9qcy9l bmRwb2ludHMuanMnKSwKLSAgICAgICAgMjAwLCB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlv bi9qYXZhc2NyaXB0J30KKyAgICAgICAgMjAwLCB7J0NvbnRlbnQtVHlwZSc6IEFQUF9KU30KICAg ICApCiAKIApAQCAtNzU1LDcgKzc2Nyw3IEBAIGRlZiBleHBvc2VkX3VybHMoKToKIGRlZiBlcnJv cl9qcygpOgogICAgIHJldHVybiBtYWtlX3Jlc3BvbnNlKAogICAgICAgICByZW5kZXJfdGVtcGxh dGUoJ2Jyb3dzZXIvanMvZXJyb3IuanMnLCBfPWdldHRleHQpLAotICAgICAgICAyMDAsIHsnQ29u dGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2phdmFzY3JpcHQnfSkKKyAgICAgICAgMjAwLCB7J0Nv bnRlbnQtVHlwZSc6IEFQUF9KU30pCiAKIAogQGJsdWVwcmludC5yb3V0ZSgiL2pzL21lc3NhZ2Vz LmpzIikKQEAgLTc2Myw3ICs3NzUsNyBAQCBkZWYgZXJyb3JfanMoKToKIGRlZiBtZXNzYWdlc19q cygpOgogICAgIHJldHVybiBtYWtlX3Jlc3BvbnNlKAogICAgICAgICByZW5kZXJfdGVtcGxhdGUo J2Jyb3dzZXIvanMvbWVzc2FnZXMuanMnLCBfPWdldHRleHQpLAotICAgICAgICAyMDAsIHsnQ29u dGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2phdmFzY3JpcHQnfSkKKyAgICAgICAgMjAwLCB7J0Nv bnRlbnQtVHlwZSc6IEFQUF9KU30pCiAKIAogQGJsdWVwcmludC5yb3V0ZSgiL2Jyb3dzZXIuY3Nz IikKQEAgLTk2OSw5ICs5ODEsNyBAQCBpZiBoYXNhdHRyKGNvbmZpZywgJ1NFQ1VSSVRZX0NIQU5H RUFCTEUnKSBhbmQgY29uZmlnLlNFQ1VSSVRZX0NIQU5HRUFCTEU6CiAgICAgICAgICAgICBleGNl cHQgU09DS0VURXJyb3JFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgICAgICAjIEhhbmRsZSBz b2NrZXQgZXJyb3JzIHdoaWNoIGFyZSBub3QgY292ZXJlZCBieSBTTVRQRXhjZXB0aW9ucy4KICAg ICAgICAgICAgICAgICBsb2dnaW5nLmV4Y2VwdGlvbihzdHIoZSksIGV4Y19pbmZvPVRydWUpCi0g ICAgICAgICAgICAgICAgZmxhc2goZ2V0dGV4dCh1J1NNVFAgU29ja2V0IGVycm9yOiB7fVxuJwot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdSdZb3VyIHBhc3N3b3JkIGhhcyBub3QgYmVl biBjaGFuZ2VkLicKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkuZm9ybWF0KGUpLAor ICAgICAgICAgICAgICAgIGZsYXNoKGdldHRleHQoU01UUF9TT0NLRVRfRVJST1IpLmZvcm1hdChl KSwKICAgICAgICAgICAgICAgICAgICAgICAnZGFuZ2VyJykKICAgICAgICAgICAgICAgICBoYXNf ZXJyb3IgPSBUcnVlCiAgICAgICAgICAgICBleGNlcHQgKFNNVFBDb25uZWN0RXJyb3IsIFNNVFBS ZXNwb25zZUV4Y2VwdGlvbiwKQEAgLTk4MCwxOSArOTkwLDE0IEBAIGlmIGhhc2F0dHIoY29uZmln LCAnU0VDVVJJVFlfQ0hBTkdFQUJMRScpIGFuZCBjb25maWcuU0VDVVJJVFlfQ0hBTkdFQUJMRToK ICAgICAgICAgICAgICAgICAgICAgU01UUFJlY2lwaWVudHNSZWZ1c2VkKSBhcyBlOgogICAgICAg ICAgICAgICAgICMgSGFuZGxlIHNtdHAgc3BlY2lmaWMgZXhjZXB0aW9ucy4KICAgICAgICAgICAg ICAgICBsb2dnaW5nLmV4Y2VwdGlvbihzdHIoZSksIGV4Y19pbmZvPVRydWUpCi0gICAgICAgICAg ICAgICAgZmxhc2goZ2V0dGV4dCh1J1NNVFAgZXJyb3I6IHt9XG4nCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1J1lvdXIgcGFzc3dvcmQgaGFzIG5vdCBiZWVuIGNoYW5nZWQuJwotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKS5mb3JtYXQoZSksCisgICAgICAgICAgICAgICAg Zmxhc2goZ2V0dGV4dChTTVRQX0VSUk9SKS5mb3JtYXQoZSksCiAgICAgICAgICAgICAgICAgICAg ICAgJ2RhbmdlcicpCiAgICAgICAgICAgICAgICAgaGFzX2Vycm9yID0gVHJ1ZQogICAgICAgICAg ICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgogICAgICAgICAgICAgICAgICMgSGFuZGxlIG90aGVy IGV4Y2VwdGlvbnMuCiAgICAgICAgICAgICAgICAgbG9nZ2luZy5leGNlcHRpb24oc3RyKGUpLCBl eGNfaW5mbz1UcnVlKQogICAgICAgICAgICAgICAgIGZsYXNoKAotICAgICAgICAgICAgICAgICAg ICBnZXR0ZXh0KAotICAgICAgICAgICAgICAgICAgICAgICAgdSdFcnJvcjoge31cbicKLSAgICAg ICAgICAgICAgICAgICAgICAgIHUnWW91ciBwYXNzd29yZCBoYXMgbm90IGJlZW4gY2hhbmdlZC4n Ci0gICAgICAgICAgICAgICAgICAgICkuZm9ybWF0KGUpLAorICAgICAgICAgICAgICAgICAgICBn ZXR0ZXh0KFBBU1NfRVJST1IpLmZvcm1hdChlKSwKICAgICAgICAgICAgICAgICAgICAgJ2Rhbmdl cicKICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgaGFzX2Vycm9yID0gVHJ1ZQpA QCAtMTA3OCw5ICsxMDgzLDcgQEAgaWYgaGFzYXR0cihjb25maWcsICdTRUNVUklUWV9SRUNPVkVS QUJMRScpIGFuZCBjb25maWcuU0VDVVJJVFlfUkVDT1ZFUkFCTEU6CiAgICAgICAgICAgICAgICAg ICAgICMgSGFuZGxlIHNvY2tldCBlcnJvcnMgd2hpY2ggYXJlIG5vdAogICAgICAgICAgICAgICAg ICAgICAjIGNvdmVyZWQgYnkgU01UUEV4Y2VwdGlvbnMuCiAgICAgICAgICAgICAgICAgICAgIGxv Z2dpbmcuZXhjZXB0aW9uKHN0cihlKSwgZXhjX2luZm89VHJ1ZSkKLSAgICAgICAgICAgICAgICAg ICAgZmxhc2goZ2V0dGV4dCh1J1NNVFAgU29ja2V0IGVycm9yOiB7fVxuJwotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHUnWW91ciBwYXNzd29yZCBoYXMgbm90IGJlZW4gY2hhbmdl ZC4nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKS5mb3JtYXQoZSksCisgICAg ICAgICAgICAgICAgICAgIGZsYXNoKGdldHRleHQoU01UUF9TT0NLRVRfRVJST1IpLmZvcm1hdChl KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RhbmdlcicpCiAgICAgICAgICAgICAgICAg ICAgIGhhc19lcnJvciA9IFRydWUKICAgICAgICAgICAgICAgICBleGNlcHQgKFNNVFBDb25uZWN0 RXJyb3IsIFNNVFBSZXNwb25zZUV4Y2VwdGlvbiwKQEAgLTEwOTAsMTcgKzEwOTMsMTMgQEAgaWYg aGFzYXR0cihjb25maWcsICdTRUNVUklUWV9SRUNPVkVSQUJMRScpIGFuZCBjb25maWcuU0VDVVJJ VFlfUkVDT1ZFUkFCTEU6CiAKICAgICAgICAgICAgICAgICAgICAgIyBIYW5kbGUgc210cCBzcGVj aWZpYyBleGNlcHRpb25zLgogICAgICAgICAgICAgICAgICAgICBsb2dnaW5nLmV4Y2VwdGlvbihz dHIoZSksIGV4Y19pbmZvPVRydWUpCi0gICAgICAgICAgICAgICAgICAgIGZsYXNoKGdldHRleHQo dSdTTVRQIGVycm9yOiB7fVxuJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUn WW91ciBwYXNzd29yZCBoYXMgbm90IGJlZW4gY2hhbmdlZC4nCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKS5mb3JtYXQoZSksCisgICAgICAgICAgICAgICAgICAgIGZsYXNoKGdl dHRleHQoU01UUF9FUlJPUikuZm9ybWF0KGUpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAn ZGFuZ2VyJykKICAgICAgICAgICAgICAgICAgICAgaGFzX2Vycm9yID0gVHJ1ZQogICAgICAgICAg ICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgICAgICAgICAgIyBIYW5k bGUgb3RoZXIgZXhjZXB0aW9ucy4KICAgICAgICAgICAgICAgICAgICAgbG9nZ2luZy5leGNlcHRp b24oc3RyKGUpLCBleGNfaW5mbz1UcnVlKQotICAgICAgICAgICAgICAgICAgICBmbGFzaChnZXR0 ZXh0KHUnRXJyb3I6IHt9XG4nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdSdZ b3VyIHBhc3N3b3JkIGhhcyBub3QgYmVlbiBjaGFuZ2VkLicKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICApLmZvcm1hdChlKSwKKyAgICAgICAgICAgICAgICAgICAgZmxhc2goZ2V0 dGV4dChQQVNTX0VSUk9SKS5mb3JtYXQoZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICdk YW5nZXInKQogICAgICAgICAgICAgICAgICAgICBoYXNfZXJyb3IgPSBUcnVlCiAKQEAgLTExNDks OSArMTE0OCw3IEBAIGlmIGhhc2F0dHIoY29uZmlnLCAnU0VDVVJJVFlfUkVDT1ZFUkFCTEUnKSBh bmQgY29uZmlnLlNFQ1VSSVRZX1JFQ09WRVJBQkxFOgogICAgICAgICAgICAgZXhjZXB0IFNPQ0tF VEVycm9yRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgICAgICAgIyBIYW5kbGUgc29ja2V0IGVy cm9ycyB3aGljaCBhcmUgbm90IGNvdmVyZWQgYnkgU01UUEV4Y2VwdGlvbnMuCiAgICAgICAgICAg ICAgICAgbG9nZ2luZy5leGNlcHRpb24oc3RyKGUpLCBleGNfaW5mbz1UcnVlKQotICAgICAgICAg ICAgICAgIGZsYXNoKGdldHRleHQodSdTTVRQIFNvY2tldCBlcnJvcjoge31cbicKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHUnWW91ciBwYXNzd29yZCBoYXMgbm90IGJlZW4gY2hhbmdl ZC4nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLmZvcm1hdChlKSwKKyAgICAgICAg ICAgICAgICBmbGFzaChnZXR0ZXh0KFNNVFBfU09DS0VUX0VSUk9SKS5mb3JtYXQoZSksCiAgICAg ICAgICAgICAgICAgICAgICAgJ2RhbmdlcicpCiAgICAgICAgICAgICAgICAgaGFzX2Vycm9yID0g VHJ1ZQogICAgICAgICAgICAgZXhjZXB0IChTTVRQQ29ubmVjdEVycm9yLCBTTVRQUmVzcG9uc2VF eGNlcHRpb24sCkBAIC0xMTYxLDE3ICsxMTU4LDEzIEBAIGlmIGhhc2F0dHIoY29uZmlnLCAnU0VD VVJJVFlfUkVDT1ZFUkFCTEUnKSBhbmQgY29uZmlnLlNFQ1VSSVRZX1JFQ09WRVJBQkxFOgogCiAg ICAgICAgICAgICAgICAgIyBIYW5kbGUgc210cCBzcGVjaWZpYyBleGNlcHRpb25zLgogICAgICAg ICAgICAgICAgIGxvZ2dpbmcuZXhjZXB0aW9uKHN0cihlKSwgZXhjX2luZm89VHJ1ZSkKLSAgICAg ICAgICAgICAgICBmbGFzaChnZXR0ZXh0KHUnU01UUCBlcnJvcjoge31cbicKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHUnWW91ciBwYXNzd29yZCBoYXMgbm90IGJlZW4gY2hhbmdlZC4n Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLmZvcm1hdChlKSwKKyAgICAgICAgICAg ICAgICBmbGFzaChnZXR0ZXh0KFNNVFBfRVJST1IpLmZvcm1hdChlKSwKICAgICAgICAgICAgICAg ICAgICAgICAnZGFuZ2VyJykKICAgICAgICAgICAgICAgICBoYXNfZXJyb3IgPSBUcnVlCiAgICAg ICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgICAgICAgIyBIYW5kbGUg b3RoZXIgZXhjZXB0aW9ucy4KICAgICAgICAgICAgICAgICBsb2dnaW5nLmV4Y2VwdGlvbihzdHIo ZSksIGV4Y19pbmZvPVRydWUpCi0gICAgICAgICAgICAgICAgZmxhc2goZ2V0dGV4dCh1J0Vycm9y OiB7fVxuJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdSdZb3VyIHBhc3N3b3JkIGhh cyBub3QgYmVlbiBjaGFuZ2VkLicKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkuZm9y bWF0KGUpLAorICAgICAgICAgICAgICAgIGZsYXNoKGdldHRleHQoUEFTU19FUlJPUikuZm9ybWF0 KGUpLAogICAgICAgICAgICAgICAgICAgICAgICdkYW5nZXInKQogICAgICAgICAgICAgICAgIGhh c19lcnJvciA9IFRydWUKIApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9jb2xsZWN0 aW9uLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9jb2xsZWN0aW9uLnB5CmluZGV4IDZjMTYzMzQ1 MS4uNjFlZTlkMjZlIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL2NvbGxlY3Rpb24u cHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9jb2xsZWN0aW9uLnB5CkBAIC0xNiw2ICsxNiw3 IEBAIGZyb20gcGdhZG1pbi5icm93c2VyIGltcG9ydCBCcm93c2VyUGx1Z2luTW9kdWxlCiBmcm9t IHBnYWRtaW4uYnJvd3Nlci51dGlscyBpbXBvcnQgUEdDaGlsZE1vZHVsZQogZnJvbSBwZ2FkbWlu LnV0aWxzIGltcG9ydCBQZ0FkbWluTW9kdWxlCiBmcm9tIHBnYWRtaW4udXRpbHMucHJlZmVyZW5j ZXMgaW1wb3J0IFByZWZlcmVuY2VzCitmcm9tIHBnYWRtaW4udXRpbHMuY29uc3RhbnRzIGltcG9y dCBQR0FETUlOX05PREUKIAogCiBAc2l4LmFkZF9tZXRhY2xhc3MoQUJDTWV0YSkKQEAgLTU4LDE1 ICs1OSwxNSBAQCBjbGFzcyBDb2xsZWN0aW9uTm9kZU1vZHVsZShQZ0FkbWluTW9kdWxlLCBQR0No aWxkTW9kdWxlKToKIAogICAgICAgICBpZiBzZWxmLm1vZHVsZV91c2VfdGVtcGxhdGVfamF2YXNj cmlwdDoKICAgICAgICAgICAgIHNjcmlwdHMuZXh0ZW5kKFt7Ci0gICAgICAgICAgICAgICAgJ25h bWUnOiAncGdhZG1pbi5ub2RlLiVzJyAlIHNlbGYubm9kZV90eXBlLAotICAgICAgICAgICAgICAg ICdwYXRoJzogdXJsX2ZvcignYnJvd3Nlci5pbmRleCcpICsKLSAgICAgICAgICAgICAgICAgICAg ICAgICclcy9tb2R1bGUnICUgc2VsZi5ub2RlX3R5cGUsCisgICAgICAgICAgICAgICAgJ25hbWUn OiBQR0FETUlOX05PREUgJSBzZWxmLm5vZGVfdHlwZSwKKyAgICAgICAgICAgICAgICAncGF0aCc6 IHVybF9mb3IoJ2Jyb3dzZXIuaW5kZXgnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICkgKyAnJXMvbW9kdWxlJyAlIHNlbGYubm9kZV90eXBlLAogICAgICAgICAgICAgICAgICd3aGVu Jzogc2VsZi5zY3JpcHRfbG9hZCwKICAgICAgICAgICAgICAgICAnaXNfdGVtcGxhdGUnOiBUcnVl CiAgICAgICAgICAgICB9XSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNjcmlwdHMuZXh0 ZW5kKFt7Ci0gICAgICAgICAgICAgICAgJ25hbWUnOiAncGdhZG1pbi5ub2RlLiVzJyAlIHNlbGYu bm9kZV90eXBlLAorICAgICAgICAgICAgICAgICduYW1lJzogUEdBRE1JTl9OT0RFICUgc2VsZi5u b2RlX3R5cGUsCiAgICAgICAgICAgICAgICAgJ3BhdGgnOiB1cmxfZm9yKAogICAgICAgICAgICAg ICAgICAgICAnJXMuc3RhdGljJyAlIHNlbGYubmFtZSwKICAgICAgICAgICAgICAgICAgICAgZmls ZW5hbWU9KCdqcy8lcycgJSBzZWxmLm5vZGVfdHlwZSkKQEAgLTkzLDcgKzk0LDcgQEAgY2xhc3Mg Q29sbGVjdGlvbk5vZGVNb2R1bGUoUGdBZG1pbk1vZHVsZSwgUEdDaGlsZE1vZHVsZSk6CiAgICAg ICAgICAgICAiX3R5cGUiOiBzZWxmLm5vZGVfdHlwZSwKICAgICAgICAgICAgICJfaWQiOiBub2Rl X2lkLAogICAgICAgICAgICAgIl9waWQiOiBwYXJlbnRfaWQsCi0gICAgICAgICAgICAibW9kdWxl IjogJ3BnYWRtaW4ubm9kZS4lcycgJSBzZWxmLm5vZGVfdHlwZQorICAgICAgICAgICAgIm1vZHVs ZSI6IFBHQURNSU5fTk9ERSAlIHNlbGYubm9kZV90eXBlCiAgICAgICAgIH0KICAgICAgICAgZm9y IGtleSBpbiBrd2FyZ3M6CiAgICAgICAgICAgICBvYmouc2V0ZGVmYXVsdChrZXksIGt3YXJnc1tr ZXldKQpAQCAtMTA4LDcgKzEwOSw3IEBAIGNsYXNzIENvbGxlY3Rpb25Ob2RlTW9kdWxlKFBnQWRt aW5Nb2R1bGUsIFBHQ2hpbGRNb2R1bGUpOgogICAgICAgICAgICAgIl90eXBlIjogJ2NvbGwtJXMn ICUgKHNlbGYubm9kZV90eXBlKSwKICAgICAgICAgICAgICJfaWQiOiBwYXJlbnRfaWQsCiAgICAg ICAgICAgICAiX3BpZCI6IHBhcmVudF9pZCwKLSAgICAgICAgICAgICJtb2R1bGUiOiAncGdhZG1p bi5ub2RlLiVzJyAlIHNlbGYubm9kZV90eXBlLAorICAgICAgICAgICAgIm1vZHVsZSI6IFBHQURN SU5fTk9ERSAlIHNlbGYubm9kZV90eXBlLAogICAgICAgICAgICAgIm5vZGVzIjogW3NlbGYubm9k ZV90eXBlXQogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvcmVn aXN0ZXJfYnJvd3Nlcl9wcmVmZXJlbmNlcy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvcmVnaXN0 ZXJfYnJvd3Nlcl9wcmVmZXJlbmNlcy5weQppbmRleCAyODU3ZmM3Y2QuLjczY2RhNzdlMiAxMDA2 NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9yZWdpc3Rlcl9icm93c2VyX3ByZWZlcmVuY2Vz LnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvcmVnaXN0ZXJfYnJvd3Nlcl9wcmVmZXJlbmNl cy5weQpAQCAtNyw2ICs3LDcgQEAKICMKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiBmcm9tIGZsYXNrX2Jh YmVsZXggaW1wb3J0IGdldHRleHQKK2Zyb20gcGdhZG1pbi51dGlscy5jb25zdGFudHMgaW1wb3J0 IEtFWUJPQVJEX1NIT1JUQ1VUUwogCiBMT0NLX0xBWU9VVF9MRVZFTCA9IHsKICAgICAnUFJFVkVO VF9ET0NLSU5HJzogJ2RvY2tpbmcnLApAQCAtMTI1LDcgKzEyNiw3IEBAIGRlZiByZWdpc3Rlcl9i cm93c2VyX3ByZWZlcmVuY2VzKHNlbGYpOgogICAgICAgICAgICAgJ2NvbnRyb2wnOiBGYWxzZSwK ICAgICAgICAgICAgICdrZXknOiB7J2tleV9jb2RlJzogNjYsICdjaGFyJzogJ2InfQogICAgICAg ICB9LAotICAgICAgICBjYXRlZ29yeV9sYWJlbD1nZXR0ZXh0KCdLZXlib2FyZCBzaG9ydGN1dHMn KSwKKyAgICAgICAgY2F0ZWdvcnlfbGFiZWw9Z2V0dGV4dChLRVlCT0FSRF9TSE9SVENVVFMpLAog ICAgICAgICBmaWVsZHM9ZmllbGRzCiAgICAgKQogCkBAIC0xNDAsNyArMTQxLDcgQEAgZGVmIHJl Z2lzdGVyX2Jyb3dzZXJfcHJlZmVyZW5jZXMoc2VsZik6CiAgICAgICAgICAgICAnY29udHJvbCc6 IEZhbHNlLAogICAgICAgICAgICAgJ2tleSc6IHsna2V5X2NvZGUnOiA5MSwgJ2NoYXInOiAnWyd9 CiAgICAgICAgIH0sCi0gICAgICAgIGNhdGVnb3J5X2xhYmVsPWdldHRleHQoJ0tleWJvYXJkIHNo b3J0Y3V0cycpLAorICAgICAgICBjYXRlZ29yeV9sYWJlbD1nZXR0ZXh0KEtFWUJPQVJEX1NIT1JU Q1VUUyksCiAgICAgICAgIGZpZWxkcz1maWVsZHMKICAgICApCiAKQEAgLTE1NSw3ICsxNTYsNyBA QCBkZWYgcmVnaXN0ZXJfYnJvd3Nlcl9wcmVmZXJlbmNlcyhzZWxmKToKICAgICAgICAgICAgICdj b250cm9sJzogRmFsc2UsCiAgICAgICAgICAgICAna2V5JzogeydrZXlfY29kZSc6IDkzLCAnY2hh cic6ICddJ30KICAgICAgICAgfSwKLSAgICAgICAgY2F0ZWdvcnlfbGFiZWw9Z2V0dGV4dCgnS2V5 Ym9hcmQgc2hvcnRjdXRzJyksCisgICAgICAgIGNhdGVnb3J5X2xhYmVsPWdldHRleHQoS0VZQk9B UkRfU0hPUlRDVVRTKSwKICAgICAgICAgZmllbGRzPWZpZWxkcwogICAgICkKIApAQCAtMTcwLDcg KzE3MSw3IEBAIGRlZiByZWdpc3Rlcl9icm93c2VyX3ByZWZlcmVuY2VzKHNlbGYpOgogICAgICAg ICAgICAgJ2NvbnRyb2wnOiBGYWxzZSwKICAgICAgICAgICAgICdrZXknOiB7J2tleV9jb2RlJzog NzAsICdjaGFyJzogJ2YnfQogICAgICAgICB9LAotICAgICAgICBjYXRlZ29yeV9sYWJlbD1nZXR0 ZXh0KCdLZXlib2FyZCBzaG9ydGN1dHMnKSwKKyAgICAgICAgY2F0ZWdvcnlfbGFiZWw9Z2V0dGV4 dChLRVlCT0FSRF9TSE9SVENVVFMpLAogICAgICAgICBmaWVsZHM9ZmllbGRzCiAgICAgKQogCkBA IC0xODUsNyArMTg2LDcgQEAgZGVmIHJlZ2lzdGVyX2Jyb3dzZXJfcHJlZmVyZW5jZXMoc2VsZik6 CiAgICAgICAgICAgICAnY29udHJvbCc6IEZhbHNlLAogICAgICAgICAgICAgJ2tleSc6IHsna2V5 X2NvZGUnOiA3OSwgJ2NoYXInOiAnbyd9CiAgICAgICAgIH0sCi0gICAgICAgIGNhdGVnb3J5X2xh YmVsPWdldHRleHQoJ0tleWJvYXJkIHNob3J0Y3V0cycpLAorICAgICAgICBjYXRlZ29yeV9sYWJl bD1nZXR0ZXh0KEtFWUJPQVJEX1NIT1JUQ1VUUyksCiAgICAgICAgIGZpZWxkcz1maWVsZHMKICAg ICApCiAKQEAgLTIwMCw3ICsyMDEsNyBAQCBkZWYgcmVnaXN0ZXJfYnJvd3Nlcl9wcmVmZXJlbmNl cyhzZWxmKToKICAgICAgICAgICAgICdjb250cm9sJzogRmFsc2UsCiAgICAgICAgICAgICAna2V5 JzogeydrZXlfY29kZSc6IDc2LCAnY2hhcic6ICdsJ30KICAgICAgICAgfSwKLSAgICAgICAgY2F0 ZWdvcnlfbGFiZWw9Z2V0dGV4dCgnS2V5Ym9hcmQgc2hvcnRjdXRzJyksCisgICAgICAgIGNhdGVn b3J5X2xhYmVsPWdldHRleHQoS0VZQk9BUkRfU0hPUlRDVVRTKSwKICAgICAgICAgZmllbGRzPWZp ZWxkcwogICAgICkKIApAQCAtMjE1LDcgKzIxNiw3IEBAIGRlZiByZWdpc3Rlcl9icm93c2VyX3By ZWZlcmVuY2VzKHNlbGYpOgogICAgICAgICAgICAgJ2NvbnRyb2wnOiBGYWxzZSwKICAgICAgICAg ICAgICdrZXknOiB7J2tleV9jb2RlJzogNzIsICdjaGFyJzogJ2gnfQogICAgICAgICB9LAotICAg ICAgICBjYXRlZ29yeV9sYWJlbD1nZXR0ZXh0KCdLZXlib2FyZCBzaG9ydGN1dHMnKSwKKyAgICAg ICAgY2F0ZWdvcnlfbGFiZWw9Z2V0dGV4dChLRVlCT0FSRF9TSE9SVENVVFMpLAogICAgICAgICBm aWVsZHM9ZmllbGRzCiAgICAgKQogCkBAIC0yMzAsNyArMjMxLDcgQEAgZGVmIHJlZ2lzdGVyX2Jy b3dzZXJfcHJlZmVyZW5jZXMoc2VsZik6CiAgICAgICAgICAgICAnY29udHJvbCc6IEZhbHNlLAog ICAgICAgICAgICAgJ2tleSc6IHsna2V5X2NvZGUnOiA4MSwgJ2NoYXInOiAncSd9CiAgICAgICAg IH0sCi0gICAgICAgIGNhdGVnb3J5X2xhYmVsPWdldHRleHQoJ0tleWJvYXJkIHNob3J0Y3V0cycp LAorICAgICAgICBjYXRlZ29yeV9sYWJlbD1nZXR0ZXh0KEtFWUJPQVJEX1NIT1JUQ1VUUyksCiAg ICAgICAgIGZpZWxkcz1maWVsZHMKICAgICApCiAKQEAgLTI0NSw3ICsyNDYsNyBAQCBkZWYgcmVn aXN0ZXJfYnJvd3Nlcl9wcmVmZXJlbmNlcyhzZWxmKToKICAgICAgICAgICAgICdjb250cm9sJzog RmFsc2UsCiAgICAgICAgICAgICAna2V5JzogeydrZXlfY29kZSc6IDg2LCAnY2hhcic6ICd2J30K ICAgICAgICAgfSwKLSAgICAgICAgY2F0ZWdvcnlfbGFiZWw9Z2V0dGV4dCgnS2V5Ym9hcmQgc2hv cnRjdXRzJyksCisgICAgICAgIGNhdGVnb3J5X2xhYmVsPWdldHRleHQoS0VZQk9BUkRfU0hPUlRD VVRTKSwKICAgICAgICAgZmllbGRzPWZpZWxkcwogICAgICkKIApAQCAtMjYwLDcgKzI2MSw3IEBA IGRlZiByZWdpc3Rlcl9icm93c2VyX3ByZWZlcmVuY2VzKHNlbGYpOgogICAgICAgICAgICAgJ2Nv bnRyb2wnOiBGYWxzZSwKICAgICAgICAgICAgICdrZXknOiB7J2tleV9jb2RlJzogODMsICdjaGFy JzogJ3MnfQogICAgICAgICB9LAotICAgICAgICBjYXRlZ29yeV9sYWJlbD1nZXR0ZXh0KCdLZXli b2FyZCBzaG9ydGN1dHMnKSwKKyAgICAgICAgY2F0ZWdvcnlfbGFiZWw9Z2V0dGV4dChLRVlCT0FS RF9TSE9SVENVVFMpLAogICAgICAgICBmaWVsZHM9ZmllbGRzCiAgICAgKQogCkBAIC0yNzUsNyAr Mjc2LDcgQEAgZGVmIHJlZ2lzdGVyX2Jyb3dzZXJfcHJlZmVyZW5jZXMoc2VsZik6CiAgICAgICAg ICAgICAnY29udHJvbCc6IEZhbHNlLAogICAgICAgICAgICAgJ2tleSc6IHsna2V5X2NvZGUnOiA3 OCwgJ2NoYXInOiAnbid9CiAgICAgICAgIH0sCi0gICAgICAgIGNhdGVnb3J5X2xhYmVsPWdldHRl eHQoJ0tleWJvYXJkIHNob3J0Y3V0cycpLAorICAgICAgICBjYXRlZ29yeV9sYWJlbD1nZXR0ZXh0 KEtFWUJPQVJEX1NIT1JUQ1VUUyksCiAgICAgICAgIGZpZWxkcz1maWVsZHMKICAgICApCiAKQEAg LTI5MCw3ICsyOTEsNyBAQCBkZWYgcmVnaXN0ZXJfYnJvd3Nlcl9wcmVmZXJlbmNlcyhzZWxmKToK ICAgICAgICAgICAgICdjb250cm9sJzogRmFsc2UsCiAgICAgICAgICAgICAna2V5JzogeydrZXlf Y29kZSc6IDY5LCAnY2hhcic6ICdlJ30KICAgICAgICAgfSwKLSAgICAgICAgY2F0ZWdvcnlfbGFi ZWw9Z2V0dGV4dCgnS2V5Ym9hcmQgc2hvcnRjdXRzJyksCisgICAgICAgIGNhdGVnb3J5X2xhYmVs PWdldHRleHQoS0VZQk9BUkRfU0hPUlRDVVRTKSwKICAgICAgICAgZmllbGRzPWZpZWxkcwogICAg ICkKIApAQCAtMzA1LDcgKzMwNiw3IEBAIGRlZiByZWdpc3Rlcl9icm93c2VyX3ByZWZlcmVuY2Vz KHNlbGYpOgogICAgICAgICAgICAgJ2NvbnRyb2wnOiBGYWxzZSwKICAgICAgICAgICAgICdrZXkn OiB7J2tleV9jb2RlJzogNjgsICdjaGFyJzogJ2QnfQogICAgICAgICB9LAotICAgICAgICBjYXRl Z29yeV9sYWJlbD1nZXR0ZXh0KCdLZXlib2FyZCBzaG9ydGN1dHMnKSwKKyAgICAgICAgY2F0ZWdv cnlfbGFiZWw9Z2V0dGV4dChLRVlCT0FSRF9TSE9SVENVVFMpLAogICAgICAgICBmaWVsZHM9Zmll bGRzCiAgICAgKQogCkBAIC0zMjAsNyArMzIxLDcgQEAgZGVmIHJlZ2lzdGVyX2Jyb3dzZXJfcHJl ZmVyZW5jZXMoc2VsZik6CiAgICAgICAgICAgICAnY29udHJvbCc6IEZhbHNlLAogICAgICAgICAg ICAgJ2tleSc6IHsna2V5X2NvZGUnOiA3NywgJ2NoYXInOiAnbSd9CiAgICAgICAgIH0sCi0gICAg ICAgIGNhdGVnb3J5X2xhYmVsPWdldHRleHQoJ0tleWJvYXJkIHNob3J0Y3V0cycpLAorICAgICAg ICBjYXRlZ29yeV9sYWJlbD1nZXR0ZXh0KEtFWUJPQVJEX1NIT1JUQ1VUUyksCiAgICAgICAgIGZp ZWxkcz1maWVsZHMKICAgICApCiAKQEAgLTMzNSw3ICszMzYsNyBAQCBkZWYgcmVnaXN0ZXJfYnJv d3Nlcl9wcmVmZXJlbmNlcyhzZWxmKToKICAgICAgICAgICAgICdjb250cm9sJzogRmFsc2UsCiAg ICAgICAgICAgICAna2V5JzogeydrZXlfY29kZSc6IDg1LCAnY2hhcic6ICd1J30KICAgICAgICAg fSwKLSAgICAgICAgY2F0ZWdvcnlfbGFiZWw9Z2V0dGV4dCgnS2V5Ym9hcmQgc2hvcnRjdXRzJyks CisgICAgICAgIGNhdGVnb3J5X2xhYmVsPWdldHRleHQoS0VZQk9BUkRfU0hPUlRDVVRTKSwKICAg ICAgICAgZmllbGRzPWZpZWxkcwogICAgICkKIApAQCAtMzUwLDcgKzM1MSw3IEBAIGRlZiByZWdp c3Rlcl9icm93c2VyX3ByZWZlcmVuY2VzKHNlbGYpOgogICAgICAgICAgICAgJ2NvbnRyb2wnOiBG YWxzZSwKICAgICAgICAgICAgICdrZXknOiB7J2tleV9jb2RlJzogNjcsICdjaGFyJzogJ2MnfQog ICAgICAgICB9LAotICAgICAgICBjYXRlZ29yeV9sYWJlbD1nZXR0ZXh0KCdLZXlib2FyZCBzaG9y dGN1dHMnKSwKKyAgICAgICAgY2F0ZWdvcnlfbGFiZWw9Z2V0dGV4dChLRVlCT0FSRF9TSE9SVENV VFMpLAogICAgICAgICBmaWVsZHM9ZmllbGRzCiAgICAgKQogCkBAIC0zNjUsNyArMzY2LDcgQEAg ZGVmIHJlZ2lzdGVyX2Jyb3dzZXJfcHJlZmVyZW5jZXMoc2VsZik6CiAgICAgICAgICAgICAnY29u dHJvbCc6IEZhbHNlLAogICAgICAgICAgICAgJ2tleSc6IHsna2V5X2NvZGUnOiA3MSwgJ2NoYXIn OiAnZyd9CiAgICAgICAgIH0sCi0gICAgICAgIGNhdGVnb3J5X2xhYmVsPWdldHRleHQoJ0tleWJv YXJkIHNob3J0Y3V0cycpLAorICAgICAgICBjYXRlZ29yeV9sYWJlbD1nZXR0ZXh0KEtFWUJPQVJE X1NIT1JUQ1VUUyksCiAgICAgICAgIGZpZWxkcz1maWVsZHMKICAgICApCiAKQEAgLTM4MCw3ICsz ODEsNyBAQCBkZWYgcmVnaXN0ZXJfYnJvd3Nlcl9wcmVmZXJlbmNlcyhzZWxmKToKICAgICAgICAg ICAgICdjb250cm9sJzogVHJ1ZSwKICAgICAgICAgICAgICdrZXknOiB7J2tleV9jb2RlJzogOTMs ICdjaGFyJzogJ10nfQogICAgICAgICB9LAotICAgICAgICBjYXRlZ29yeV9sYWJlbD1nZXR0ZXh0 KCdLZXlib2FyZCBzaG9ydGN1dHMnKSwKKyAgICAgICAgY2F0ZWdvcnlfbGFiZWw9Z2V0dGV4dChL RVlCT0FSRF9TSE9SVENVVFMpLAogICAgICAgICBmaWVsZHM9ZmllbGRzCiAgICAgKQogCkBAIC0z OTUsNyArMzk2LDcgQEAgZGVmIHJlZ2lzdGVyX2Jyb3dzZXJfcHJlZmVyZW5jZXMoc2VsZik6CiAg ICAgICAgICAgICAnY29udHJvbCc6IFRydWUsCiAgICAgICAgICAgICAna2V5JzogeydrZXlfY29k ZSc6IDkxLCAnY2hhcic6ICdbJ30KICAgICAgICAgfSwKLSAgICAgICAgY2F0ZWdvcnlfbGFiZWw9 Z2V0dGV4dCgnS2V5Ym9hcmQgc2hvcnRjdXRzJyksCisgICAgICAgIGNhdGVnb3J5X2xhYmVsPWdl dHRleHQoS0VZQk9BUkRfU0hPUlRDVVRTKSwKICAgICAgICAgZmllbGRzPWZpZWxkcwogICAgICkK IApAQCAtNDEwLDcgKzQxMSw3IEBAIGRlZiByZWdpc3Rlcl9icm93c2VyX3ByZWZlcmVuY2VzKHNl bGYpOgogICAgICAgICAgICAgJ2NvbnRyb2wnOiBGYWxzZSwKICAgICAgICAgICAgICdrZXknOiB7 J2tleV9jb2RlJzogMTE2LCAnY2hhcic6ICdGNSd9CiAgICAgICAgIH0sCi0gICAgICAgIGNhdGVn b3J5X2xhYmVsPWdldHRleHQoJ0tleWJvYXJkIHNob3J0Y3V0cycpLAorICAgICAgICBjYXRlZ29y eV9sYWJlbD1nZXR0ZXh0KEtFWUJPQVJEX1NIT1JUQ1VUUyksCiAgICAgICAgIGZpZWxkcz1maWVs ZHMKICAgICApCiAKQEAgLTQyNSw2ICs0MjYsNiBAQCBkZWYgcmVnaXN0ZXJfYnJvd3Nlcl9wcmVm ZXJlbmNlcyhzZWxmKToKICAgICAgICAgICAgICdjb250cm9sJzogVHJ1ZSwKICAgICAgICAgICAg ICdrZXknOiB7J2tleV9jb2RlJzogNjUsICdjaGFyJzogJ2EnfQogICAgICAgICB9LAotICAgICAg ICBjYXRlZ29yeV9sYWJlbD1nZXR0ZXh0KCdLZXlib2FyZCBzaG9ydGN1dHMnKSwKKyAgICAgICAg Y2F0ZWdvcnlfbGFiZWw9Z2V0dGV4dChLRVlCT0FSRF9TSE9SVENVVFMpLAogICAgICAgICBmaWVs ZHM9ZmllbGRzCiAgICAgKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL19f aW5pdF9fLnB5CmluZGV4IGI5NzMzZjg0NS4uM2M0ZWM2ODMxIDEwMDY0NAotLS0gYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL19faW5pdF9fLnB5CkBAIC0yNCw5ICsyNCwxMiBAQCBmcm9t IHBnYWRtaW4udXRpbHMubWVudSBpbXBvcnQgTWVudUl0ZW0KIGZyb20gc3FsYWxjaGVteSBpbXBv cnQgZXhjCiBmcm9tIHBnYWRtaW4ubW9kZWwgaW1wb3J0IGRiLCBTZXJ2ZXJHcm91cAogCitTR19O T1RfRk9VTkRfRVJST1IgPSAnVGhlIHNwZWNpZmllZCBzZXJ2ZXIgZ3JvdXAgY291bGQgbm90IGJl IGZvdW5kLicKKwogCiBjbGFzcyBTZXJ2ZXJHcm91cE1vZHVsZShCcm93c2VyUGx1Z2luTW9kdWxl KToKICAgICBfTk9ERV9UWVBFID0gInNlcnZlcl9ncm91cCIKKyAgICBub2RlX2ljb24gPSAiaWNv bi0lcyIgJSBfTk9ERV9UWVBFCiAKICAgICBkZWYgZ2V0X25vZGVzKHNlbGYsICphcmcsICoqa3dh cmdzKToKICAgICAgICAgIiIiUmV0dXJuIGEgSlNPTiBkb2N1bWVudCBsaXN0aW5nIHRoZSBzZXJ2 ZXIgZ3JvdXBzIGZvciB0aGUgdXNlciIiIgpAQCAtMzcsNyArNDAsNyBAQCBjbGFzcyBTZXJ2ZXJH cm91cE1vZHVsZShCcm93c2VyUGx1Z2luTW9kdWxlKToKICAgICAgICAgICAgIHlpZWxkIHNlbGYu Z2VuZXJhdGVfYnJvd3Nlcl9ub2RlKAogICAgICAgICAgICAgICAgICIlZCIgJSAoZ3JvdXAuaWQp LCBOb25lLAogICAgICAgICAgICAgICAgIGdyb3VwLm5hbWUsCi0gICAgICAgICAgICAgICAgImlj b24tJXMiICUgc2VsZi5ub2RlX3R5cGUsCisgICAgICAgICAgICAgICAgc2VsZi5ub2RlX2ljb24s CiAgICAgICAgICAgICAgICAgVHJ1ZSwKICAgICAgICAgICAgICAgICBzZWxmLm5vZGVfdHlwZSwK ICAgICAgICAgICAgICAgICBjYW5fZGVsZXRlPVRydWUgaWYgaWR4ID4gMCBlbHNlIEZhbHNlCkBA IC05Miw2ICs5NSw5IEBAIGJsdWVwcmludCA9IFNlcnZlckdyb3VwTW9kdWxlKF9fbmFtZV9fKQog CiBjbGFzcyBTZXJ2ZXJHcm91cFZpZXcoTm9kZVZpZXcpOgogICAgIG5vZGVfdHlwZSA9IFNlcnZl ckdyb3VwTW9kdWxlLl9OT0RFX1RZUEUKKyAgICBub2RlX2ljb24gPSBTZXJ2ZXJHcm91cE1vZHVs ZS5ub2RlX2ljb24KKyAgICBub2RlX2xhYmVsID0gIlNlcnZlciBHcm91cCIKKwogICAgIHBhcmVu dF9pZHMgPSBbXQogICAgIGlkcyA9IFt7J3R5cGUnOiAnaW50JywgJ2lkJzogJ2dpZCd9XQogCkBA IC0xMzYsOSArMTQyLDcgQEAgY2xhc3MgU2VydmVyR3JvdXBWaWV3KE5vZGVWaWV3KToKICAgICAg ICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCiAgICAgICAgICAgICAgICAgc3RhdHVz PTQxMCwKICAgICAgICAgICAgICAgICBzdWNjZXNzPTAsCi0gICAgICAgICAgICAgICAgZXJyb3Jt c2c9Z2V0dGV4dCgKLSAgICAgICAgICAgICAgICAgICAgJ1RoZSBzcGVjaWZpZWQgc2VydmVyIGdy b3VwIGNvdWxkIG5vdCBiZSBmb3VuZC4nCi0gICAgICAgICAgICAgICAgKQorICAgICAgICAgICAg ICAgIGVycm9ybXNnPWdldHRleHQoU0dfTk9UX0ZPVU5EX0VSUk9SKQogICAgICAgICAgICAgKQog ICAgICAgICBlbHNlOgogICAgICAgICAgICAgdHJ5OgpAQCAtMTY5LDkgKzE3Myw3IEBAIGNsYXNz IFNlcnZlckdyb3VwVmlldyhOb2RlVmlldyk6CiAgICAgICAgICAgICByZXR1cm4gbWFrZV9qc29u X3Jlc3BvbnNlKAogICAgICAgICAgICAgICAgIHN0YXR1cz00MTcsCiAgICAgICAgICAgICAgICAg c3VjY2Vzcz0wLAotICAgICAgICAgICAgICAgIGVycm9ybXNnPWdldHRleHQoCi0gICAgICAgICAg ICAgICAgICAgICdUaGUgc3BlY2lmaWVkIHNlcnZlciBncm91cCBjb3VsZCBub3QgYmUgZm91bmQu JwotICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICBlcnJvcm1zZz1nZXR0ZXh0KFNH X05PVF9GT1VORF9FUlJPUikKICAgICAgICAgICAgICkKICAgICAgICAgZWxzZToKICAgICAgICAg ICAgIHRyeToKQEAgLTE5NCw3ICsxOTYsNyBAQCBjbGFzcyBTZXJ2ZXJHcm91cFZpZXcoTm9kZVZp ZXcpOgogICAgICAgICAgICAgICAgIGdpZCwKICAgICAgICAgICAgICAgICBOb25lLAogICAgICAg ICAgICAgICAgIHNlcnZlcmdyb3VwLm5hbWUsCi0gICAgICAgICAgICAgICAgImljb24tJXMiICUg c2VsZi5ub2RlX3R5cGUsCisgICAgICAgICAgICAgICAgc2VsZi5ub2RlX2ljb24sCiAgICAgICAg ICAgICAgICAgVHJ1ZSwKICAgICAgICAgICAgICAgICBzZWxmLm5vZGVfdHlwZSwKICAgICAgICAg ICAgICAgICBjYW5fZGVsZXRlPVRydWUgICMgVGhpcyBpcyB1c2VyIGNyZWF0ZWQgaGVuY2UgY2Fu IGRlbGV0ZWQKQEAgLTIxNCw5ICsyMTYsNyBAQCBjbGFzcyBTZXJ2ZXJHcm91cFZpZXcoTm9kZVZp ZXcpOgogICAgICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKICAgICAgICAgICAg ICAgICBzdGF0dXM9NDEwLAogICAgICAgICAgICAgICAgIHN1Y2Nlc3M9MCwKLSAgICAgICAgICAg ICAgICBlcnJvcm1zZz1nZXR0ZXh0KAotICAgICAgICAgICAgICAgICAgICAnVGhlIHNwZWNpZmll ZCBzZXJ2ZXIgZ3JvdXAgY291bGQgbm90IGJlIGZvdW5kLicKLSAgICAgICAgICAgICAgICApCisg ICAgICAgICAgICAgICAgZXJyb3Jtc2c9Z2V0dGV4dChTR19OT1RfRk9VTkRfRVJST1IpCiAgICAg ICAgICAgICApCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByZXR1cm4gYWpheF9yZXNwb25z ZSgKQEAgLTI0Niw3ICsyNDYsNyBAQCBjbGFzcyBTZXJ2ZXJHcm91cFZpZXcoTm9kZVZpZXcpOgog ICAgICAgICAgICAgICAgICAgICAgICAgIiVkIiAlIHNnLmlkLAogICAgICAgICAgICAgICAgICAg ICAgICAgTm9uZSwKICAgICAgICAgICAgICAgICAgICAgICAgIHNnLm5hbWUsCi0gICAgICAgICAg ICAgICAgICAgICAgICAiaWNvbi0lcyIgJSBzZWxmLm5vZGVfdHlwZSwKKyAgICAgICAgICAgICAg ICAgICAgICAgIHNlbGYubm9kZV9pY29uLAogICAgICAgICAgICAgICAgICAgICAgICAgVHJ1ZSwK ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubm9kZV90eXBlLAogICAgICAgICAgICAgICAg ICAgICAgICAgIyBUaGlzIGlzIHVzZXIgY3JlYXRlZCBoZW5jZSBjYW4gZGVsZXRlZApAQCAtMzA2 LDcgKzMwNiw3IEBAIGNsYXNzIFNlcnZlckdyb3VwVmlldyhOb2RlVmlldyk6CiAgICAgICAgICAg ICAgICAgICAgICAgICAiJWQiICUgZ3JvdXAuaWQsCiAgICAgICAgICAgICAgICAgICAgICAgICBO b25lLAogICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXAubmFtZSwKLSAgICAgICAgICAgICAg ICAgICAgICAgICJpY29uLSVzIiAlIHNlbGYubm9kZV90eXBlLAorICAgICAgICAgICAgICAgICAg ICAgICAgc2VsZi5ub2RlX2ljb24sCiAgICAgICAgICAgICAgICAgICAgICAgICBUcnVlLAogICAg ICAgICAgICAgICAgICAgICAgICAgc2VsZi5ub2RlX3R5cGUKICAgICAgICAgICAgICAgICAgICAg KQpAQCAtMzIyLDcgKzMyMiw3IEBAIGNsYXNzIFNlcnZlckdyb3VwVmlldyhOb2RlVmlldyk6CiAg ICAgICAgICAgICBub2RlcyA9IHNlbGYuYmx1ZXByaW50LmdlbmVyYXRlX2Jyb3dzZXJfbm9kZSgK ICAgICAgICAgICAgICAgICAiJWQiICUgKGdyb3VwLmlkKSwgTm9uZSwKICAgICAgICAgICAgICAg ICBncm91cC5uYW1lLAotICAgICAgICAgICAgICAgICJpY29uLSVzIiAlIHNlbGYubm9kZV90eXBl LAorICAgICAgICAgICAgICAgIHNlbGYubm9kZV9pY29uLAogICAgICAgICAgICAgICAgIFRydWUs CiAgICAgICAgICAgICAgICAgc2VsZi5ub2RlX3R5cGUKICAgICAgICAgICAgICkKZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL19faW5pdF9fLnB5 IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvX19pbml0X18ucHkK aW5kZXggN2EwNzMwYjI0Li4xYTI5NWY1MTUgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL19faW5pdF9fLnB5CkBAIC0zMCw2ICszMCw3IEBA IGZyb20gcGdhZG1pbi51dGlscy5leGNlcHRpb24gaW1wb3J0IENyeXB0S2V5TWlzc2luZwogZnJv bSBwZ2FkbWluLnRvb2xzLnNjaGVtYV9kaWZmLm5vZGVfcmVnaXN0cnkgaW1wb3J0IFNjaGVtYURp ZmZSZWdpc3RyeQogZnJvbSBwc3ljb3BnMiBpbXBvcnQgRXJyb3IgYXMgcHN5Y29wZzJfRXJyb3Is IE9wZXJhdGlvbmFsRXJyb3IKIGZyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2Vy dmVycy51dGlscyBpbXBvcnQgaXNfdmFsaWRfaXBhZGRyZXNzCitmcm9tIHBnYWRtaW4udXRpbHMu Y29uc3RhbnRzIGltcG9ydCBVTkFVVEhfUkVRCiAKIAogZGVmIGhhc19hbnkoZGF0YSwga2V5cyk6 CkBAIC0yNDAsNiArMjQxLDcgQEAgYmx1ZXByaW50ID0gU2VydmVyTW9kdWxlKF9fbmFtZV9fKQog CiBjbGFzcyBTZXJ2ZXJOb2RlKFBHQ2hpbGROb2RlVmlldyk6CiAgICAgbm9kZV90eXBlID0gU2Vy dmVyTW9kdWxlLl9OT0RFX1RZUEUKKyAgICBub2RlX2xhYmVsID0gIlNlcnZlciIKIAogICAgIHBh cmVudF9pZHMgPSBbeyd0eXBlJzogJ2ludCcsICdpZCc6ICdnaWQnfV0KICAgICBpZHMgPSBbeyd0 eXBlJzogJ2ludCcsICdpZCc6ICdzaWQnfV0KQEAgLTY1OCw3ICs2NjAsNyBAQCBjbGFzcyBTZXJ2 ZXJOb2RlKFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICByZXR1cm4gbWFrZV9qc29uX3Jl c3BvbnNlKAogICAgICAgICAgICAgICAgIHN0YXR1cz00MTAsCiAgICAgICAgICAgICAgICAgc3Vj Y2Vzcz0wLAotICAgICAgICAgICAgICAgIGVycm9ybXNnPWdldHRleHQoIkNvdWxkIG5vdCBmaW5k IHRoZSByZXF1aXJlZCBzZXJ2ZXIuIikKKyAgICAgICAgICAgICAgICBlcnJvcm1zZz1zZWxmLm5v dF9mb3VuZF9lcnJvcl9tc2cKICAgICAgICAgICAgICkKIAogICAgICAgICBzZyA9IFNlcnZlckdy b3VwLnF1ZXJ5LmZpbHRlcl9ieSgKQEAgLTEwMDQsMTUgKzEwMDYsMTUgQEAgY2xhc3MgU2VydmVy Tm9kZShQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAjIEZldGNoIFNlcnZlciBEZXRhaWxzCiAg ICAgICAgIHNlcnZlciA9IFNlcnZlci5xdWVyeS5maWx0ZXJfYnkoaWQ9c2lkKS5maXJzdCgpCiAg ICAgICAgIGlmIHNlcnZlciBpcyBOb25lOgotICAgICAgICAgICAgcmV0dXJuIGJhZF9yZXF1ZXN0 KGdldHRleHQoIlNlcnZlciBub3QgZm91bmQuIikpCisgICAgICAgICAgICByZXR1cm4gYmFkX3Jl cXVlc3Qoc2VsZi5ub3RfZm91bmRfZXJyb3JfbXNnKQogCiAgICAgICAgIGlmIGN1cnJlbnRfdXNl ciBhbmQgaGFzYXR0cihjdXJyZW50X3VzZXIsICdpZCcpOgogICAgICAgICAgICAgIyBGZXRjaCBV c2VyIERldGFpbHMuCiAgICAgICAgICAgICB1c2VyID0gVXNlci5xdWVyeS5maWx0ZXJfYnkoaWQ9 Y3VycmVudF91c2VyLmlkKS5maXJzdCgpCiAgICAgICAgICAgICBpZiB1c2VyIGlzIE5vbmU6Ci0g ICAgICAgICAgICAgICAgcmV0dXJuIHVuYXV0aG9yaXplZChnZXR0ZXh0KCJVbmF1dGhvcml6ZWQg cmVxdWVzdC4iKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gdW5hdXRob3JpemVkKGdldHRleHQo VU5BVVRIX1JFUSkpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gdW5hdXRob3Jp emVkKGdldHRleHQoIlVuYXV0aG9yaXplZCByZXF1ZXN0LiIpKQorICAgICAgICAgICAgcmV0dXJu IHVuYXV0aG9yaXplZChnZXR0ZXh0KFVOQVVUSF9SRVEpKQogCiAgICAgICAgIGRhdGEgPSB7fQog ICAgICAgICBpZiByZXF1ZXN0LmZvcm06CkBAIC0xMTc5LDcgKzExODEsNyBAQCBjbGFzcyBTZXJ2 ZXJOb2RlKFBHQ2hpbGROb2RlVmlldyk6CiAKICAgICAgICAgc2VydmVyID0gU2VydmVyLnF1ZXJ5 LmZpbHRlcl9ieShpZD1zaWQpLmZpcnN0KCkKICAgICAgICAgaWYgc2VydmVyIGlzIE5vbmU6Ci0g ICAgICAgICAgICByZXR1cm4gYmFkX3JlcXVlc3QoZ2V0dGV4dCgiU2VydmVyIG5vdCBmb3VuZC4i KSkKKyAgICAgICAgICAgIHJldHVybiBiYWRfcmVxdWVzdChzZWxmLm5vdF9mb3VuZF9lcnJvcl9t c2cpCiAKICAgICAgICAgIyBSZWxlYXNlIENvbm5lY3Rpb24KICAgICAgICAgbWFuYWdlciA9IGdl dF9kcml2ZXIoUEdfREVGQVVMVF9EUklWRVIpLmNvbm5lY3Rpb25fbWFuYWdlcihzaWQpCkBAIC0x Mjg3LDEyICsxMjg5LDEyIEBAIGNsYXNzIFNlcnZlck5vZGUoUEdDaGlsZE5vZGVWaWV3KToKICAg ICAgICAgICAgICMgRmV0Y2ggU2VydmVyIERldGFpbHMKICAgICAgICAgICAgIHNlcnZlciA9IFNl cnZlci5xdWVyeS5maWx0ZXJfYnkoaWQ9c2lkKS5maXJzdCgpCiAgICAgICAgICAgICBpZiBzZXJ2 ZXIgaXMgTm9uZToKLSAgICAgICAgICAgICAgICByZXR1cm4gYmFkX3JlcXVlc3QoZ2V0dGV4dCgi U2VydmVyIG5vdCBmb3VuZC4iKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gYmFkX3JlcXVlc3Qo c2VsZi5ub3RfZm91bmRfZXJyb3JfbXNnKQogCiAgICAgICAgICAgICAjIEZldGNoIFVzZXIgRGV0 YWlscy4KICAgICAgICAgICAgIHVzZXIgPSBVc2VyLnF1ZXJ5LmZpbHRlcl9ieShpZD1jdXJyZW50 X3VzZXIuaWQpLmZpcnN0KCkKICAgICAgICAgICAgIGlmIHVzZXIgaXMgTm9uZToKLSAgICAgICAg ICAgICAgICByZXR1cm4gdW5hdXRob3JpemVkKGdldHRleHQoIlVuYXV0aG9yaXplZCByZXF1ZXN0 LiIpKQorICAgICAgICAgICAgICAgIHJldHVybiB1bmF1dGhvcml6ZWQoZ2V0dGV4dChVTkFVVEhf UkVRKSkKIAogICAgICAgICAgICAgbWFuYWdlciA9IGdldF9kcml2ZXIoUEdfREVGQVVMVF9EUklW RVIpLmNvbm5lY3Rpb25fbWFuYWdlcihzaWQpCiAgICAgICAgICAgICBjb25uID0gbWFuYWdlci5j b25uZWN0aW9uKCkKQEAgLTE0MDcsNyArMTQwOSw3IEBAIGNsYXNzIFNlcnZlck5vZGUoUEdDaGls ZE5vZGVWaWV3KToKICAgICAgICAgaWYgc2VydmVyIGlzIE5vbmU6CiAgICAgICAgICAgICByZXR1 cm4gbWFrZV9qc29uX3Jlc3BvbnNlKAogICAgICAgICAgICAgICAgIHN1Y2Nlc3M9MCwKLSAgICAg ICAgICAgICAgICBlcnJvcm1zZz1nZXR0ZXh0KCJDb3VsZCBub3QgZmluZCB0aGUgcmVxdWlyZWQg c2VydmVyLiIpCisgICAgICAgICAgICAgICAgZXJyb3Jtc2c9c2VsZi5ub3RfZm91bmRfZXJyb3Jf bXNnCiAgICAgICAgICAgICApCiAKICAgICAgICAgdHJ5OgpAQCAtMTQ5MSw3ICsxNDkzLDcgQEAg Y2xhc3MgU2VydmVyTm9kZShQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICBpZiBzZXJ2ZXIgaXMg Tm9uZToKICAgICAgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCiAgICAgICAgICAg ICAgICAgc3VjY2Vzcz0wLAotICAgICAgICAgICAgICAgIGVycm9ybXNnPWdldHRleHQoIkNvdWxk IG5vdCBmaW5kIHRoZSByZXF1aXJlZCBzZXJ2ZXIuIikKKyAgICAgICAgICAgICAgICBlcnJvcm1z Zz1zZWxmLm5vdF9mb3VuZF9lcnJvcl9tc2cKICAgICAgICAgICAgICkKIAogICAgICAgICB0cnk6 CkBAIC0xNTY2LDcgKzE1NjgsNyBAQCBjbGFzcyBTZXJ2ZXJOb2RlKFBHQ2hpbGROb2RlVmlldyk6 CiAgICAgICAgICAgICBpZiBzZXJ2ZXIgaXMgTm9uZToKICAgICAgICAgICAgICAgICByZXR1cm4g bWFrZV9qc29uX3Jlc3BvbnNlKAogICAgICAgICAgICAgICAgICAgICBzdWNjZXNzPTAsCi0gICAg ICAgICAgICAgICAgICAgIGluZm89Z2V0dGV4dCgiQ291bGQgbm90IGZpbmQgdGhlIHJlcXVpcmVk IHNlcnZlci4iKQorICAgICAgICAgICAgICAgICAgICBpbmZvPXNlbGYubm90X2ZvdW5kX2Vycm9y X21zZwogICAgICAgICAgICAgICAgICkKIAogICAgICAgICAgICAgc2V0YXR0cihzZXJ2ZXIsICdw YXNzd29yZCcsIE5vbmUpCkBAIC0xNjA1LDcgKzE2MDcsNyBAQCBjbGFzcyBTZXJ2ZXJOb2RlKFBH Q2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICBpZiBzZXJ2ZXIgaXMgTm9uZToKICAgICAgICAg ICAgICAgICByZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKAogICAgICAgICAgICAgICAgICAgICBz dWNjZXNzPTAsCi0gICAgICAgICAgICAgICAgICAgIGluZm89Z2V0dGV4dCgiQ291bGQgbm90IGZp bmQgdGhlIHJlcXVpcmVkIHNlcnZlci4iKQorICAgICAgICAgICAgICAgICAgICBpbmZvPXNlbGYu bm90X2ZvdW5kX2Vycm9yX21zZwogICAgICAgICAgICAgICAgICkKIAogICAgICAgICAgICAgc2V0 YXR0cihzZXJ2ZXIsICd0dW5uZWxfcGFzc3dvcmQnLCBOb25lKQpkaWZmIC0tZ2l0IGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL19faW5pdF9fLnB5 IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL19f aW5pdF9fLnB5CmluZGV4IDVlMmVkMWM4YS4uYmJlOThmMTc3IDEwMDY0NAotLS0gYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvX19pbml0X18ucHkK KysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L19faW5pdF9fLnB5CkBAIC05Nyw2ICs5Nyw3IEBAIGJsdWVwcmludCA9IERhdGFiYXNlTW9kdWxl KF9fbmFtZV9fKQogCiBjbGFzcyBEYXRhYmFzZVZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICBu b2RlX3R5cGUgPSBibHVlcHJpbnQubm9kZV90eXBlCisgICAgbm9kZV9sYWJlbCA9ICJEYXRhYmFz ZSIKIAogICAgIHBhcmVudF9pZHMgPSBbCiAgICAgICAgIHsndHlwZSc6ICdpbnQnLCAnaWQnOiAn Z2lkJ30sCkBAIC0zODAsNyArMzgxLDcgQEAgY2xhc3MgRGF0YWJhc2VWaWV3KFBHQ2hpbGROb2Rl Vmlldyk6CiAgICAgICAgICAgICAgICAgc3RhdHVzPTIwMAogICAgICAgICAgICAgKQogCi0gICAg ICAgIHJldHVybiBnb25lKGVycm9ybXNnPV8oIkNvdWxkIG5vdCBmaW5kIHRoZSBkYXRhYmFzZSBv biB0aGUgc2VydmVyLiIpKQorICAgICAgICByZXR1cm4gZ29uZShlcnJvcm1zZz1zZWxmLm5vdF9m b3VuZF9lcnJvcl9tc2cpCiAKICAgICBAY2hlY2tfcHJlY29uZGl0aW9uKGFjdGlvbj0icHJvcGVy dGllcyIpCiAgICAgZGVmIHByb3BlcnRpZXMoc2VsZiwgZ2lkLCBzaWQsIGRpZCk6CkBAIC0zOTYs NyArMzk3LDcgQEAgY2xhc3MgRGF0YWJhc2VWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAKICAgICAg ICAgaWYgbGVuKHJlc1sncm93cyddKSA9PSAwOgogICAgICAgICAgICAgcmV0dXJuIGdvbmUoCi0g ICAgICAgICAgICAgICAgXygiQ291bGQgbm90IGZpbmQgdGhlIGRhdGFiYXNlIG9uIHRoZSBzZXJ2 ZXIuIikKKyAgICAgICAgICAgICAgICBzZWxmLm5vdF9mb3VuZF9lcnJvcl9tc2cKICAgICAgICAg ICAgICkKIAogICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoCkBAIC04MDEsNyArODAyLDcg QEAgY2xhc3MgRGF0YWJhc2VWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAKICAgICAgICAgaWYgbGVu KHJzZXRbJ3Jvd3MnXSkgPT0gMDoKICAgICAgICAgICAgIHJldHVybiBnb25lKAotICAgICAgICAg ICAgICAgIF8oIkNvdWxkIG5vdCBmaW5kIHRoZSBkYXRhYmFzZSBvbiB0aGUgc2VydmVyLiIpCisg ICAgICAgICAgICAgICAgc2VsZi5ub3RfZm91bmRfZXJyb3JfbXNnCiAgICAgICAgICAgICApCiAK ICAgICAgICAgcmVzID0gcnNldFsncm93cyddWzBdCkBAIC05MzAsNyArOTMxLDcgQEAgY2xhc3Mg RGF0YWJhc2VWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAKICAgICAgICAgICAgIGlmIGxlbihyc2V0 Wydyb3dzJ10pID09IDA6CiAgICAgICAgICAgICAgICAgcmV0dXJuIGdvbmUoCi0gICAgICAgICAg ICAgICAgICAgIF8oIkNvdWxkIG5vdCBmaW5kIHRoZSBkYXRhYmFzZSBvbiB0aGUgc2VydmVyLiIp CisgICAgICAgICAgICAgICAgICAgIHNlbGYubm90X2ZvdW5kX2Vycm9yX21zZwogICAgICAgICAg ICAgICAgICkKIAogICAgICAgICAgICAgZGF0YVsnb2xkX25hbWUnXSA9IChyc2V0Wydyb3dzJ11b MF0pWyduYW1lJ10KQEAgLTExMDEsNyArMTEwMiw3IEBAIGNsYXNzIERhdGFiYXNlVmlldyhQR0No aWxkTm9kZVZpZXcpOgogCiAgICAgICAgIGlmIGxlbihyZXNbJ3Jvd3MnXSkgPT0gMDoKICAgICAg ICAgICAgIHJldHVybiBnb25lKAotICAgICAgICAgICAgICAgIF8oIkNvdWxkIG5vdCBmaW5kIHRo ZSBkYXRhYmFzZSBvbiB0aGUgc2VydmVyLiIpCisgICAgICAgICAgICAgICAgc2VsZi5ub3RfZm91 bmRfZXJyb3JfbXNnCiAgICAgICAgICAgICApCiAKICAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBs YXRlKApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL2V2ZW50X3RyaWdnZXJzL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2V2ZW50X3RyaWdnZXJzL19faW5p dF9fLnB5CmluZGV4IDJiNDFkNmMzMC4uN2IzOTYwMTFiIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvZXZlbnRfdHJpZ2dlcnMv X19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL2V2ZW50X3RyaWdnZXJzL19faW5pdF9fLnB5CkBAIC0xNDksNiArMTQ5LDcg QEAgY2xhc3MgRXZlbnRUcmlnZ2VyVmlldyhQR0NoaWxkTm9kZVZpZXcsIFNjaGVtYURpZmZPYmpl Y3RDb21wYXJlKToKICAgICAiIiIKIAogICAgIG5vZGVfdHlwZSA9IGJsdWVwcmludC5ub2RlX3R5 cGUKKyAgICBub2RlX2ljb24gPSAiaWNvbi0lcyIgJSBibHVlcHJpbnQubm9kZV90eXBlCiAKICAg ICBwYXJlbnRfaWRzID0gWwogICAgICAgICB7J3R5cGUnOiAnaW50JywgJ2lkJzogJ2dpZCd9LApA QCAtMjU4LDcgKzI1OSw3IEBAIGNsYXNzIEV2ZW50VHJpZ2dlclZpZXcoUEdDaGlsZE5vZGVWaWV3 LCBTY2hlbWFEaWZmT2JqZWN0Q29tcGFyZSk6CiAgICAgICAgICAgICAgICAgICAgIHJvd1snb2lk J10sCiAgICAgICAgICAgICAgICAgICAgIGRpZCwKICAgICAgICAgICAgICAgICAgICAgcm93Wydu YW1lJ10sCi0gICAgICAgICAgICAgICAgICAgIGljb249Imljb24tJXMiICUgc2VsZi5ub2RlX3R5 cGUKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5ub2RlX2ljb24KICAgICAgICAgICAgICAgICAp KQogCiAgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCkBAIC0yOTIsNyArMjkzLDcg QEAgY2xhc3MgRXZlbnRUcmlnZ2VyVmlldyhQR0NoaWxkTm9kZVZpZXcsIFNjaGVtYURpZmZPYmpl Y3RDb21wYXJlKToKICAgICAgICAgICAgICAgICAgICAgcm93WydvaWQnXSwKICAgICAgICAgICAg ICAgICAgICAgZGlkLAogICAgICAgICAgICAgICAgICAgICByb3dbJ25hbWUnXSwKLSAgICAgICAg ICAgICAgICAgICAgaWNvbj0iaWNvbi0lcyIgJSBzZWxmLm5vZGVfdHlwZQorICAgICAgICAgICAg ICAgICAgICBzZWxmLm5vZGVfaWNvbgogICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAg ICAgc3RhdHVzPTIwMAogICAgICAgICAgICAgKQpAQCAtNDMxLDcgKzQzMiw3IEBAIGNsYXNzIEV2 ZW50VHJpZ2dlclZpZXcoUEdDaGlsZE5vZGVWaWV3LCBTY2hlbWFEaWZmT2JqZWN0Q29tcGFyZSk6 CiAgICAgICAgICAgICAgICAgICAgIGV0aWQsCiAgICAgICAgICAgICAgICAgICAgIGRpZCwKICAg ICAgICAgICAgICAgICAgICAgZGF0YVsnbmFtZSddLAotICAgICAgICAgICAgICAgICAgICBpY29u PSJpY29uLSVzIiAlIHNlbGYubm9kZV90eXBlCisgICAgICAgICAgICAgICAgICAgIHNlbGYubm9k ZV9pY29uCiAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKQogICAgICAgICBleGNlcHQg RXhjZXB0aW9uIGFzIGU6CkBAIC00NzgsNyArNDc5LDcgQEAgY2xhc3MgRXZlbnRUcmlnZ2VyVmll dyhQR0NoaWxkTm9kZVZpZXcsIFNjaGVtYURpZmZPYmplY3RDb21wYXJlKToKICAgICAgICAgICAg ICAgICAgICAgICAgIGV0aWQsCiAgICAgICAgICAgICAgICAgICAgICAgICBkaWQsCiAgICAgICAg ICAgICAgICAgICAgICAgICBkYXRhWyduYW1lJ10sCi0gICAgICAgICAgICAgICAgICAgICAgICBp Y29uPSJpY29uLSVzIiAlIHNlbGYubm9kZV90eXBlCisgICAgICAgICAgICAgICAgICAgICAgICBz ZWxmLm5vZGVfaWNvbgogICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgKQog ICAgICAgICAgICAgZWxzZToKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2RhdGFfd3JhcHBlcnMvZm9yZWlnbl9z ZXJ2ZXJzL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL2ZvcmVpZ25fZGF0YV93cmFwcGVycy9mb3JlaWduX3NlcnZlcnMvX19p bml0X18ucHkKaW5kZXggZDA4YmQ2NmEzLi5lMDdjOTA2OTIgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2RhdGFf d3JhcHBlcnMvZm9yZWlnbl9zZXJ2ZXJzL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2RhdGFfd3JhcHBl cnMvZm9yZWlnbl9zZXJ2ZXJzL19faW5pdF9fLnB5CkBAIC0xNjMsNiArMTYzLDcgQEAgY2xhc3Mg Rm9yZWlnblNlcnZlclZpZXcoUEdDaGlsZE5vZGVWaWV3LCBTY2hlbWFEaWZmT2JqZWN0Q29tcGFy ZSk6CiAgICAgIiIiCiAKICAgICBub2RlX3R5cGUgPSBibHVlcHJpbnQubm9kZV90eXBlCisgICAg bm9kZV9sYWJlbCA9ICJGb3JlaWduIFNlcnZlciIKIAogICAgIHBhcmVudF9pZHMgPSBbCiAgICAg ICAgIHsndHlwZSc6ICdpbnQnLCAnaWQnOiAnZ2lkJ30sCkBAIC0zNTYsOSArMzU3LDcgQEAgY2xh c3MgRm9yZWlnblNlcnZlclZpZXcoUEdDaGlsZE5vZGVWaWV3LCBTY2hlbWFEaWZmT2JqZWN0Q29t cGFyZSk6CiAgICAgICAgICAgICByZXR1cm4gRmFsc2UsIGludGVybmFsX3NlcnZlcl9lcnJvcihl cnJvcm1zZz1yZXMpCiAKICAgICAgICAgaWYgbGVuKHJlc1sncm93cyddKSA9PSAwOgotICAgICAg ICAgICAgcmV0dXJuIEZhbHNlLCBnb25lKAotICAgICAgICAgICAgICAgIGdldHRleHQoIkNvdWxk IG5vdCBmaW5kIHRoZSBmb3JlaWduIHNlcnZlciBpbmZvcm1hdGlvbi4iKQotICAgICAgICAgICAg KQorICAgICAgICAgICAgcmV0dXJuIEZhbHNlLCBnb25lKHNlbGYubm90X2ZvdW5kX2Vycm9yX21z ZykKIAogICAgICAgICByZXNbJ3Jvd3MnXVswXVsnaXNfc3lzX29iaiddID0gKAogICAgICAgICAg ICAgcmVzWydyb3dzJ11bMF1bJ29pZCddIDw9IHNlbGYuZGF0bGFzdHN5c29pZCkKQEAgLTY1MSw5 ICs2NTAsNyBAQCBjbGFzcyBGb3JlaWduU2VydmVyVmlldyhQR0NoaWxkTm9kZVZpZXcsIFNjaGVt YURpZmZPYmplY3RDb21wYXJlKToKICAgICAgICAgICAgIGlmIG5vdCBzdGF0dXM6CiAgICAgICAg ICAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCiAgICAg ICAgICAgICBpZiBsZW4ocmVzWydyb3dzJ10pID09IDA6Ci0gICAgICAgICAgICAgICAgcmV0dXJu IGdvbmUoCi0gICAgICAgICAgICAgICAgICAgIGdldHRleHQoIkNvdWxkIG5vdCBmaW5kIHRoZSBm b3JlaWduIHNlcnZlciBpbmZvcm1hdGlvbi4iKQotICAgICAgICAgICAgICAgICkKKyAgICAgICAg ICAgICAgICByZXR1cm4gZ29uZShzZWxmLm5vdF9mb3VuZF9lcnJvcl9tc2cpCiAKICAgICAgICAg ICAgIGlmIHJlc1sncm93cyddWzBdWydmc3J2b3B0aW9ucyddIGlzIG5vdCBOb25lOgogICAgICAg ICAgICAgICAgIHJlc1sncm93cyddWzBdWydmc3J2b3B0aW9ucyddID0gdG9rZW5pemVfb3B0aW9u cygKQEAgLTc1OCw5ICs3NTUsNyBAQCBjbGFzcyBGb3JlaWduU2VydmVyVmlldyhQR0NoaWxkTm9k ZVZpZXcsIFNjaGVtYURpZmZPYmplY3RDb21wYXJlKToKICAgICAgICAgaWYgbm90IHN0YXR1czoK ICAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzKQog ICAgICAgICBpZiBsZW4ocmVzWydyb3dzJ10pID09IDA6Ci0gICAgICAgICAgICByZXR1cm4gZ29u ZSgKLSAgICAgICAgICAgICAgICBnZXR0ZXh0KCJDb3VsZCBub3QgZmluZCB0aGUgZm9yZWlnbiBz ZXJ2ZXIgaW5mb3JtYXRpb24uIikKLSAgICAgICAgICAgICkKKyAgICAgICAgICAgIHJldHVybiBn b25lKHNlbGYubm90X2ZvdW5kX2Vycm9yX21zZykKIAogICAgICAgICBpZiBmaWQgaXMgTm9uZSBh bmQgJ2Zkd2lkJyBpbiByZXNbJ3Jvd3MnXVswXToKICAgICAgICAgICAgIGZpZCA9IHJlc1sncm93 cyddWzBdWydmZHdpZCddCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvZm9yZWlnbl9kYXRhX3dyYXBwZXJzL2ZvcmVpZ25fc2Vy dmVycy91c2VyX21hcHBpbmdzL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2ZvcmVpZ25fZGF0YV93cmFwcGVycy9mb3JlaWdu X3NlcnZlcnMvdXNlcl9tYXBwaW5ncy9fX2luaXRfXy5weQppbmRleCAwNzVjOTRlZTMuLmEyMjM4 N2RiYiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL2ZvcmVpZ25fZGF0YV93cmFwcGVycy9mb3JlaWduX3NlcnZlcnMvdXNlcl9t YXBwaW5ncy9fX2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvZm9yZWlnbl9kYXRhX3dyYXBwZXJzL2ZvcmVpZ25fc2VydmVy cy91c2VyX21hcHBpbmdzL19faW5pdF9fLnB5CkBAIC0xNzksNiArMTc5LDcgQEAgY2xhc3MgVXNl ck1hcHBpbmdWaWV3KFBHQ2hpbGROb2RlVmlldywgU2NoZW1hRGlmZk9iamVjdENvbXBhcmUpOgog ICAgICIiIgogCiAgICAgbm9kZV90eXBlID0gYmx1ZXByaW50Lm5vZGVfdHlwZQorICAgIG5vZGVf bGFiZWwgPSAiVXNlciBNYXBwaW5nIgogCiAgICAgcGFyZW50X2lkcyA9IFsKICAgICAgICAgeyd0 eXBlJzogJ2ludCcsICdpZCc6ICdnaWQnfSwKQEAgLTM3NCw5ICszNzUsNyBAQCBjbGFzcyBVc2Vy TWFwcGluZ1ZpZXcoUEdDaGlsZE5vZGVWaWV3LCBTY2hlbWFEaWZmT2JqZWN0Q29tcGFyZSk6CiAg ICAgICAgICAgICByZXR1cm4gRmFsc2UsIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1y ZXMpCiAKICAgICAgICAgaWYgbGVuKHJlc1sncm93cyddKSA9PSAwOgotICAgICAgICAgICAgcmV0 dXJuIEZhbHNlLCBnb25lKAotICAgICAgICAgICAgICAgIGdldHRleHQoIkNvdWxkIG5vdCBmaW5k IHRoZSB1c2VyIG1hcHBpbmcgaW5mb3JtYXRpb24uIikKLSAgICAgICAgICAgICkKKyAgICAgICAg ICAgIHJldHVybiBGYWxzZSwgZ29uZShzZWxmLm5vdF9mb3VuZF9lcnJvcl9tc2cpCiAKICAgICAg ICAgcmVzWydyb3dzJ11bMF1bJ2lzX3N5c19vYmonXSA9ICgKICAgICAgICAgICAgIHJlc1sncm93 cyddWzBdWydvaWQnXSA8PSBzZWxmLmRhdGxhc3RzeXNvaWQpCkBAIC02NzIsOSArNjcxLDcgQEAg Y2xhc3MgVXNlck1hcHBpbmdWaWV3KFBHQ2hpbGROb2RlVmlldywgU2NoZW1hRGlmZk9iamVjdENv bXBhcmUpOgogICAgICAgICAgICAgaWYgbm90IHN0YXR1czoKICAgICAgICAgICAgICAgICByZXR1 cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXJlcykKICAgICAgICAgICAgIGlmIGxl bihyZXNbJ3Jvd3MnXSkgPT0gMDoKLSAgICAgICAgICAgICAgICByZXR1cm4gZ29uZSgKLSAgICAg ICAgICAgICAgICAgICAgZ2V0dGV4dCgiQ291bGQgbm90IGZpbmQgdGhlIHVzZXIgbWFwcGluZyBp bmZvcm1hdGlvbi4iKQotICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICByZXR1cm4g Z29uZShzZWxmLm5vdF9mb3VuZF9lcnJvcl9tc2cpCiAKICAgICAgICAgICAgIGlmIHJlc1sncm93 cyddWzBdWyd1bW9wdGlvbnMnXSBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICByZXNbJ3Jv d3MnXVswXVsndW1vcHRpb25zJ10gPSB0b2tlbml6ZV9vcHRpb25zKApAQCAtNzY5LDkgKzc2Niw3 IEBAIGNsYXNzIFVzZXJNYXBwaW5nVmlldyhQR0NoaWxkTm9kZVZpZXcsIFNjaGVtYURpZmZPYmpl Y3RDb21wYXJlKToKICAgICAgICAgaWYgbm90IHN0YXR1czoKICAgICAgICAgICAgIHJldHVybiBp bnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzKQogICAgICAgICBpZiBsZW4ocmVzWydy b3dzJ10pID09IDA6Ci0gICAgICAgICAgICByZXR1cm4gZ29uZSgKLSAgICAgICAgICAgICAgICBn ZXR0ZXh0KCJDb3VsZCBub3QgZmluZCB0aGUgdXNlciBtYXBwaW5nIGluZm9ybWF0aW9uLiIpCi0g ICAgICAgICAgICApCisgICAgICAgICAgICByZXR1cm4gZ29uZShzZWxmLm5vdF9mb3VuZF9lcnJv cl9tc2cpCiAKICAgICAgICAgaWYgZnNpZCBpcyBOb25lIGFuZCAnZnNpZCcgaW4gcmVzWydyb3dz J11bMF06CiAgICAgICAgICAgICBmc2lkID0gcmVzWydyb3dzJ11bMF1bJ2ZzaWQnXQpkaWZmIC0t Z2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci91dGlscy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIv dXRpbHMucHkKaW5kZXggZTZlMWM0NjY0Li5mY2EyYmRlYWUgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvdXRpbHMucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci91dGlscy5weQpA QCAtMjIxLDYgKzIyMSw4IEBAIGNsYXNzIE5vZGVWaWV3KHdpdGhfbWV0YWNsYXNzKE1ldGhvZFZp ZXdUeXBlLCBWaWV3KSk6CiAKICAgICAjIEluaGVyaXRlZCBjbGFzcyBuZWVkcyB0byBtb2RpZnkg dGhlc2UgcGFyYW1ldGVycwogICAgIG5vZGVfdHlwZSA9IE5vbmUKKyAgICAjIEluaGVyaXRlZCBj bGFzcyBuZWVkcyB0byBtb2RpZnkgdGhlc2UgcGFyYW1ldGVycworICAgIG5vZGVfbGFiZWwgPSBO b25lCiAgICAgIyBUaGlzIG11c3QgYmUgYW4gYXJyYXkgb2JqZWN0IHdpdGggYXR0cmlidXRlcyAo dHlwZSBhbmQgaWQpCiAgICAgcGFyZW50X2lkcyA9IFtdCiAgICAgIyBUaGlzIG11c3QgYmUgYW4g YXJyYXkgb2JqZWN0IHdpdGggYXR0cmlidXRlcyAodHlwZSBhbmQgaWQpCkBAIC03MDcsMyArNzA5 LDggQEAgY2xhc3MgUEdDaGlsZE5vZGVWaWV3KE5vZGVWaWV3KToKICAgICAgICAgICAgICAgICAp CiAKICAgICAgICAgcmV0dXJuIGRlcGVuZGVuY3kKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBu b3RfZm91bmRfZXJyb3JfbXNnKHNlbGYpOgorICAgICAgICByZXR1cm4gZ2V0dGV4dCgiQ291bGQg bm90IGZpbmQgdGhlIHNwZWNpZmllZCB7fS4iLmZvcm1hdCgKKyAgICAgICAgICAgIHNlbGYubm9k ZV9sYWJlbCkubG93ZXIoKSkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3V0aWxzL2NvbnN0YW50 cy5weSBiL3dlYi9wZ2FkbWluL3V0aWxzL2NvbnN0YW50cy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAuLjE2NjNiN2JjYgotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2Fk bWluL3V0aWxzL2NvbnN0YW50cy5weQpAQCAtMCwwICsxLDE1IEBACisjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IworIworIyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykg MjAxMyAtIDIwMjAsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2Fy ZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIworCisiIiJBcHBsaWNhdGlvbiB3aWRlIGNvbnN0YW50cy4iIiIKKworQVBQX0pTID0g J2FwcGxpY2F0aW9uL2phdmFzY3JpcHQnCitQR0FETUlOX05PREUgPSAncGdhZG1pbi5ub2RlLiVz JworS0VZQk9BUkRfU0hPUlRDVVRTID0gJ0tleWJvYXJkIHNob3J0Y3V0cycKK1VOQVVUSF9SRVEg PSAiVW5hdXRob3JpemVkIHJlcXVlc3QuIgo= --00000000000020681505ad36d328--