From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 25075 invoked from network); 18 Mar 2021 22:46:47 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 18 Mar 2021 22:46:47 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20200801; t=1616107607; b=JDRoNoPPlXRkJg8RYYhAe3NhUBdl1GmZj0SM3jasF8ne/D6rz6AHvrtLbGcvxwGu14yV/qvy4W mLJIIfcXhFZPPcfXLfNVR1MeUCkKU/g73KCEMCB7FDCJmKtiEO6Lar3RBe9L+kwXnSAvrB3ZWI R4Jjzm1Ty5wWelrTZHRZqv2QEiAaIssO7/YWePStcQU7p8oyePwA0YAFzuZqD0NL9LILa/VpGh WDt+2xzzhhck5ptWDWzlW9ZxNP97Yw9WojGxz1G9pyvM6b4bfEB0BJo8HFd80pg/448jgjIfAj rsEUCyZUvDGGTwXWOvYKfD9xX1io3NpaDRzlNqn+zABOVA==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-oi1-f178.google.com) smtp.remote-ip=209.85.167.178; dkim=pass header.d=gmail.com header.s=20161025 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20200801; t=1616107607; bh=bRvx8GGWzwDLf5iH/0GxAd2Kh1mazveIFZf4y6dSE2w=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:DKIM-Signature:DKIM-Signature; b=AibqEiJJ3nO7ihM3vPWnGrSP9sqxzd8OQWPHLJUcKlu09PEn43JIiXshhsk2Pacoe6dgQMuDBH q67v26ToARzp4HPOSirkJ5SqP3P2oI5q0LaUnBAs/KcKoTRtbLyCEaYPVwvvtXuSS4/W4eCB6/ bxv7w/ibphCH8EvFtBkp1anpZgjW6QI5rZgKdzMNiXpMqLS32FrjcvwHKDIMSGxOkJIhdE9ohV BBK+3TwyutbN+OYTMXW81yby1UIWlEJZohq2He2WV405oHLKys8G0HPjiW5Yu5HQYPDExF0tfJ dTekR/8ELMN5zsmB/a1slaCWp20T/ZbWKL/1KOeGGDXJWA==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20200801; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID :Date:From:In-Reply-To:References:MIME-Version:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=pHZihiGQufmk9JLlGMPUZAJUk8FdENf7JrTrzKMxAco=; b=1ApEFjbCYyjSqYqHg0mSkwqVSy RLSTKc99pjeaHWAyr/hSeNvovpkB/zCTHqIIhES/FmtAfeQgvIdNphm1XDegDaOdvtKrJV1FAq71e +PiWZhpNILPF53zUROtVXXWOxXijBqVUEFrejZSeDrTSg32qDiG8DdkuZGBESX5XnkY0DyIg+Qoy2 jqQ7IvGQdL2JPNPgMhk9ipWFnRrboBI8W9JjW1AV6D/F1kGJ+kzPV7Jh0siasLYlDqEjyS99Z4TCN lJ2Hs/ZKnIbaCQSRoWTRfHGv5TOxBwsvXkJPVrFtWInsxjVtE++ahqQe8yWjnkXxn6eUUht9xgU1E n688qPZw==; Received: from authenticated user by zero.zsh.org with local id 1lN1Ph-000LdC-Mw; Thu, 18 Mar 2021 22:46:45 +0000 Authentication-Results: zsh.org; iprev=pass (mail-oi1-f178.google.com) smtp.remote-ip=209.85.167.178; dkim=pass header.d=gmail.com header.s=20161025 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-oi1-f178.google.com ([209.85.167.178]:34648) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1lN1PQ-000LUV-NQ; Thu, 18 Mar 2021 22:46:29 +0000 Received: by mail-oi1-f178.google.com with SMTP id l79so2723732oib.1 for ; Thu, 18 Mar 2021 15:46:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=pHZihiGQufmk9JLlGMPUZAJUk8FdENf7JrTrzKMxAco=; b=cqfGFKb/us39MaBdXDCZ7hB/7VUNcQVuX2/sPsmJU0Qpe98eY+Jjnitk7NVbb2c4+l QRvZLADAGOUKElwxg4g3ifAHI9JYa88vLigwHKrZiWE4TnLLO++K1I+UXuDlRtk67Auj 3GryE5Yp6b5gEf09iNVGNJHyC5liVC/E2aqp4UZM+K63QFxKMxhqx35AdTuU4rC70FxN zlz+n+Ub0UbVxjmGKgzY3AxaTw3TO23+boAzIjRGB2chF8OtKgDec85Ubq0sVuNqr4Gj UF1IPPeXTcqUj+dFLOjyYtZpNf41tzRgVUevFa0Bp248++ds3tlvZFwO0BVlpsIXE5zU bkpg== 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=pHZihiGQufmk9JLlGMPUZAJUk8FdENf7JrTrzKMxAco=; b=gfP6HZJbvRYg+bxDyzJSRX18hZpPYO56g7U37LyjjrpXjljKmq+5B90x5dBr5izdAK HYQLZZtP7SG2gJaWjicOpwvmZ+t6wQ+VjP7OEsN2Slu6jGtB+GxTyqrd5BGcActi16aH nz1QJ6QhR8SorjJRci4vGZ6Ku7vs/hBeiK4Q0GoxsrgctaPql+EIkm3JLq+1Wv6qHyNz E4mdl3t+CYLn+xpF0eagEEX2n2t8xtIp+a0M4yUFiYfdFEO+vOPiJOmE8rx2hvHuISYa wPXvbIK9tGLG/0Jp5iwDIj6dRIKXQlVPvOFwNGpfhtIFqVwinyrStCLEzSB8iYrwX24O I0aw== X-Gm-Message-State: AOAM5318wZIlJSO3y3enWqX4aQv9kH6lvJmeFL9uXOxU+YDhXVjr5Ou4 s+ZEQ+OKO5NgBJ6HjsO2F4rYuOyLsRUTNw2ciWIGAEOEAQA= X-Google-Smtp-Source: ABdhPJxnaVnYJosXEa5qE0eDBY6+VZSS9gbdPS9F5auS7xfP+rZqWkPyGnZAfIWobZmj1xKESJLqCe1sNnH9tVb6TFo= X-Received: by 2002:a05:6808:14c8:: with SMTP id f8mr4949519oiw.55.1616107587122; Thu, 18 Mar 2021 15:46:27 -0700 (PDT) MIME-Version: 1.0 References: <3e3a3655-cd05-b0dd-7d26-28ca45c7845c@redhat.com> In-Reply-To: <3e3a3655-cd05-b0dd-7d26-28ca45c7845c@redhat.com> From: Christian K Date: Thu, 18 Mar 2021 23:45:51 +0100 Message-ID: Subject: Re: OpenStack CLI completion To: zsh-workers@zsh.org Cc: Marko Myllynen Content-Type: multipart/mixed; boundary="000000000000a6756105bdd75e80" X-Seq: 48185 Archived-At: X-Loop: zsh-workers@zsh.org Errors-To: zsh-workers-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-workers-request@zsh.org X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: Archived-At: --000000000000a6756105bdd75e80 Content-Type: text/plain; charset="UTF-8" Hey, > I have a vague recollection that some (sub)command(s) had a slightly > inconsistent output with colons somewhere which had to be removed for > completions. Could have been just one or two such commands but > unfortunately I don't remember exactly anymore. @Marko, I tried all clients I could find easily and could not find any suggestions including colons. I cannot handle an error I don't know how to throw. Please let me know if you remember an example. > > * Why is there a check for not prefix-needed? > > > > Some comments from the original author would be quite helpful if he > > still remembers why it was done a certain way :) > > Hmm, this one I don't remember, I guess this might be a common > convention or something like that, probably not specific to _openstack. I read up on it and I think it has something to do with how people configure their completion preferences with `zstyle`. If you are a nice completion writer you honor the setting. I hope I did it justice. > I haven't dealt with OpenStack recently so I can't actually test > anything around it anymore but if you could fix the issue that would be > great. I gave it a try. I ignored any colon issues for now. Would be great if someone could. So @list what do I need to do to get this merged? --000000000000a6756105bdd75e80 Content-Type: text/x-patch; charset="UTF-8"; name="0001-Fix-_openstack-completion-for-new-style-clients.patch" Content-Disposition: attachment; filename="0001-Fix-_openstack-completion-for-new-style-clients.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kmfg5v220 RnJvbSBlY2I3Y2JlNDliY2U5NDZiYjRkNmU5MTk3OTRhZjcyZjNkNDMwMTRkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTeXBoZGlhcyA8c3lwaGRpYXMrZ2l0QGdtYWlsLmNvbT4KRGF0 ZTogVGh1LCAxOCBNYXIgMjAyMSAyMzoyMzoxNiArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIEZpeCBf b3BlbnN0YWNrIGNvbXBsZXRpb24gZm9yIG5ldyBzdHlsZSBjbGllbnRzCk1JTUUtVmVyc2lvbjog MS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5z ZmVyLUVuY29kaW5nOiA4Yml0CgpJIGhhdmUgcmV3cml0dGVuIHRoZSBjb21wbGV0aW9uIGZ1bmN0 aW9uIGZvciBuZXcgc3R5bGUgY2xpZW50cy4gSXQgbm8gbG9uZ2VyCmRpZmZlcmVudGlhdGVzIGJl dHdlZW4gY29tbWFuZCBhbmQgc3ViIGNvbW1hbmQgc2luY2UgdGhpcyBsZWFkIHRvIGEgbGltaXRl ZApkZXB0aCBmb3IgY29tcGxldGlvbiBsb29rdXBzLiBUaGlzIGdldHMgcmlkIG9mIHRoZSBleHRy YSBnbG9iYWwgY2FjaGluZyB2YXJpYWJsZQpgX2NhY2hlX29wZW5zdGFja19jbG50X2NtZHNgLiAg SSB0cmllZCB0byBzdGF5IHRydWUgdG8gdGhlIHByZWZpeC1uZWVkZWQKc2V0dGluZy4KCkZpcnN0 IEkgcHJvY2VzcyB0aGUgd29yZHMgbGVmdCBvZiB0aGUgY3Vyc29yLiBgd29yZHNgIGRpZCBub3Qg cHJvdmlkZSB0aGlzCmdyYW51bGFyaXR5IEkgbmVlZGVkIHNvIEkgb3B0ZWQgdG8gcGFyc2UgYExC VUZGRVJgIGFsc28gZm9yIHNhdmluZyBhIHBhcnRpYWwKaW5wdXQvbWF0Y2ggZm9yIGxhdGVyLiBJ IHJlbW92ZSBgaGVscGAgc2luY2UgZXZlcnl0aGluZyBhZnRlciBpdCBpcyBub3JtYWwgKHN1YikK Y29tbWFuZCwgc28gbWF0Y2hlcyBhcmUgaWRlbnRpY2FsIHRvIHByb3BlciBjb21tYW5kcy4gQWxz byBJIGZpbHRlciBvdXQgZXZlcnkKZmxhZy9vcHRpb24uCgpUbyBmaW5kIHRoZSBwcm9wZXIgY29t cGxldGlvbiBvcHRpb25zIEkgdHJ5IG9uZSBsZXZlbCBhdCBhIHRpbWUuCiogJHNlcnZpY2UKKiAk c2VydmljZSAkc29tZV9jb21tYW5kCiogJHNlcnZpY2UgJHNvbWVfY29tbWFuZCAkc29tZV9jb21t YW5kX2Zvcl9zb21lX2NvbW1hbmQKKiBldGMuCllvdSBjb3VsZCBwcm9iYWJseSBkbyB0aGlzIGlu IHJldmVyc2UgdG8gc2F2ZSB0aW1lIGJ1dCBJIGRvbid0IHRoaW5rIGl0IGlzIHdvcnRoCnRoZSBl ZmZvcnQuCgpJIGFkZCB0aGUgZ2xvYmFsIG9wdGlvbnMgaWYgYC1gIGlzIHVzZWQgYXMgYSBwcmVm aXggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCgpDYXZlYXRzOgoqIEkga25vdyB0aGVyZSBhcmUg b3B0aW9ucyBsaWtlIGAtLWZpbGVgLiBUaGUgbmV3IGltcGxlbWVudGF0aW9uIGRvZXMgbm90IGhh bmRsZQogIHRoaXMg4oCTIG5laXRoZXIgZGlkIHRoZSBvbGQgb25lLiBGb3IgdGhpcyBsZXZlbCwg SSdkIHN1Z2dlc3QgdGhlIE9wZW5TdGFjayB0ZWFtCiAgdG8gcHJvdmlkZSBvZmZpY2lhbCB6c2gg Y29tcGxldGlvbnMKKiBJZ25vcmVzIGV2ZXJ5dGhpbmcgcmlnaHQgb2YgdGhlIGN1cnNvciBzbyB5 b3UgY2FuIGVuZCB1cCB3aXRoIGNvbW1hbmQKICBzdWdnZXN0aW9uIHRoYXQgYXJlIGFscmVhZHkg b24gdGhlIHJpZ2h0CiogYG9wZW5zdGFjayBjb21wbGV0ZWAgZ2V0cyBjb21wbGV0ZWQgbm93LCBv bGQgaW1wbGVtZW50YXRpb24gaWdub3JlZCBpdAotLS0KIENvbXBsZXRpb24vVW5peC9Db21tYW5k L19vcGVuc3RhY2sgfCAxMTkgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBj aGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspLCA1NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9D b21wbGV0aW9uL1VuaXgvQ29tbWFuZC9fb3BlbnN0YWNrIGIvQ29tcGxldGlvbi9Vbml4L0NvbW1h bmQvX29wZW5zdGFjawppbmRleCBmY2I3MDRhYzguLmMxMmYyNTk4NSAxMDA2NDQKLS0tIGEvQ29t cGxldGlvbi9Vbml4L0NvbW1hbmQvX29wZW5zdGFjaworKysgYi9Db21wbGV0aW9uL1VuaXgvQ29t bWFuZC9fb3BlbnN0YWNrCkBAIC0zNCw4ICszNCw2IEBAIGlmICgoICEgJCtfY2FjaGVfb3BlbnN0 YWNrX2NsbnRfb3B0cyApKTsgdGhlbgogICB0eXBlc2V0IC1nQSBfY2FjaGVfb3BlbnN0YWNrX2Ns bnRfb3B0cwogICB0eXBlc2V0IC1nQSBfY2FjaGVfb3BlbnN0YWNrX2NsbnRfY21kcwogICB0eXBl c2V0IC1nQSBfY2FjaGVfb3BlbnN0YWNrX2NsbnRfY21kc19vcHRzCi0gIHR5cGVzZXQgLWdBIF9j YWNoZV9vcGVuc3RhY2tfY2xudF9jbWRzX3N1YmNtZHMKLSAgdHlwZXNldCAtZ0EgX2NhY2hlX29w ZW5zdGFja19jbG50X2NtZHNfc3ViY21kX29wdHMKIGZpCiAKIGxvY2FsIC1hIGNvbm5fb3B0cwpA QCAtNjEsNjUgKzU5LDc0IEBAIGlmIFtbIC1uICR7Y2xudHNfY29tcGxfbmV3WyhyKSRzZXJ2aWNl XX0gXV07IHRoZW4KICAgICAjIFBvcHVsYXRlIGNhY2hlcyAtIGNsbnRfb3V0cHV0cyBpcyBjb21t YW5kIHJhdyBvdXRwdXQgdXNlZCBsYXRlcgogICAgIF9jYWNoZV9vcGVuc3RhY2tfY2xudF9vdXRw dXRzWyRzZXJ2aWNlXT0kezotIiQoJHNlcnZpY2UgJHsoUSljb25uX29wdHN9IGNvbXBsZXRlIDI+ L2Rldi9udWxsKSJ9CiAgICAgX2NhY2hlX29wZW5zdGFja19jbG50X29wdHNbJHNlcnZpY2VdPSR7 JHskeyR7KE0pJHskeyR7JHs9JHsoZikiJCgkc2VydmljZSBoZWxwIDI+L2Rldi9udWxsKSJ9fS9c W30vXF19L1w7fTojLVstMC05QS1aYS16XSp9Lyx9L1wufSUtLW9zLX0KLSAgICBfY2FjaGVfb3Bl bnN0YWNrX2NsbnRfY21kc1skc2VydmljZV09JHskeyR7JHtfY2FjaGVfb3BlbnN0YWNrX2NsbnRf b3V0cHV0c1skc2VydmljZV19LyogY21kcz1cJ30vXCcqfS9jb21wbGV0ZX0KICAgZmkKLSAgbG9j YWwgY21kIHN1YmNtZAotICAjIERldGVybWluZSB0aGUgY29tbWFuZAotICBmb3Igd29yZCBpbiAk e3dvcmRzOjF9OyBkbwotICAgIGxvY2FsIHM9JHtfY2FjaGVfb3BlbnN0YWNrX2NsbnRfY21kc1sk c2VydmljZV19Ci0gICAgW1sgJHNbKHdJKSR3b3JkXSAtZ3QgMCBdXSAmJiBjbWQ9JHdvcmQgJiYg YnJlYWsKKworICAjIGdldCB3b3JsZHMgbGVmdCBvZiB0aGUgY3Vyc2VyIGludG8gYW4gYXJyYXkK KyAgbG9jYWwgLWEgbGVmdF93b3JkcworICBsZWZ0X3dvcmRzPSgkez1MQlVGRkVSfSkKKworICAj IGlmIGN1cnNlciBpcyBkaXJlY3RseSBhdCBhIHdvcmQgKG5vIHNwYWNlIGF0IHRoZSBlbmQpLAor ICAjIGV4Y2x1ZGUgdGhlIGxhc3Qgd29yZCB0byBvZmZlciByaWdodCBtYXRjaGVzCisgICMgdGhl IGxhc3Qgd29yZCBjb3VsZCBiZSBhIHBhcnRpYWwgbWF0Y2ggdGhhdCBpcyBsYXRlciBjaGVja2Vk IChwcmVmaXgtbmVlZGVkKQorICBsb2NhbCBwYXJ0aWFsPSIiCisgIGlmIFtbICIke0xCVUZGRVJb LTFdfSIgIT0gIiAiIF1dOyB0aGVuCisgICAgcGFydGlhbD0keyhAKWxlZnRfd29yZHNbLTFdfQor ICAgIGxlZnRfd29yZHM9KCR7KEApbGVmdF93b3Jkc1sxLCQjbGVmdF93b3Jkcy0xXX0pCisgIGZp CisgICMgcmVtb3ZlICRzZXJ2aWNlCisgIGxlZnRfd29yZHM9KCR7bGVmdF93b3JkczoxfSkKKwor ICAjIGZpbHRlciBvdXQgImhlbHAiCisgIGlmIFtbICRsZWZ0X3dvcmRzWzFdID09IGhlbHAgXV07 IHRoZW4KKyAgICBsZWZ0X3dvcmRzPSgkeyhAKWxlZnRfd29yZHNbMiwkI2xlZnRfd29yZHNdfSkK KyAgZmkKKworICAjIGZpbHRlciBvdXQgb3B0aW9ucyAoLSopCisgIGxlZnRfd29yZHM9KCR7bGVm dF93b3Jkcy8vLSp9KQorCisgIGxvY2FsIC1hIHN1YmNtZF9hcnJheSBjbWRzX2FycmF5IGNhY2hl X2tleV9hcnJheSBjYWNoZV92YWx1ZXMKKyAgc3ViY21kX2FycmF5PSgpCisgIGNtZHNfYXJyYXk9 KGNtZHMpCisgIGNhY2hlX2tleV9hcnJheT0oJHtzZXJ2aWNlfSkKKyAgY2FjaGVfdmFsdWVzPSgp CisgIGxvY2FsIGNhY2hlX2tleSBjbWRzCisgIGNhY2hlX2tleT0iIgorICBjbWRzPSIiCisKKyAg IyBDaGVjayBmb3IgbWF0Y2hlcyBvbmUgbGV2ZWwgYXQgYSB0aW1lCisgICMgZXhhbXBsZTogIiIg c2VydmVyIGNyZWF0ZQorICBmb3Igd29yZCBpbiAiIiAkeyhAKWxlZnRfd29yZHN9OyBkbyAgICAg ICAgICAgICAgICAgICAjIGZpcnN0IGxvb3AgIHNlY29uZCBsb29wICAgICAgICB0aGlyZCBsb29w CisgICAgc3ViY21kX2FycmF5PSgkeyhAKXN1YmNtZF9hcnJheX0gJHt3b3JkfSkgICAgICAgICAg ICMgKCkgICAgICAgICAgKHNlcnZlcikgICAgICAgICAgIChzZXJ2ZXIgY3JlYXRlKQorICAgIGNt ZHNfYXJyYXk9KCR7KEApY21kc19hcnJheX0gJHt3b3JkfSkgICAgICAgICAgICAgICAjIChjbWRz KSAgICAgIChjbWRzIHNlcnZlcikgICAgICAoY21kcyBzZXJ2ZXIgY3JlYXRlKQorICAgIGNtZHM9 JHskeyhqOl86KWNtZHNfYXJyYXl9Ly0vX30gICAgICAgICAgICAgICAgICAgICAjICBjbWRzICAg ICAgICBjbWRzX29wZW5zdGFjayAgICAgY21kc19zZXJ2ZXJfY3JlYXRlCisgICAgY2FjaGVfa2V5 X2FycmF5PSgkeyhAKWNhY2hlX2tleV9hcnJheX0gJHt3b3JkfSkgICAgICMgKG9wZW5zdGFjaykg KG9wZW5zdGFjayBzZXJ2ZXIpIChvcGVuc3RhY2sgc2VydmVyIGNyZWF0ZSkKKyAgICBjYWNoZV9r ZXk9JHskeyhqOl86KWNhY2hlX2tleV9hcnJheX0vLS9ffSAgICAgICAgICAgIyAgb3BlbnN0YWNr ICAgb3BlbnN0YWNrX3NlcnZlciAgIG9wZW5zdGFja19zZXJ2ZXJfY3JlYXRlCisKKyAgICAjIGxv b2t1cCBpZiBjdXJyZW50IHdvcmQgaXMgaW4gY2FjaGVfdmFsdWVzIG9mIGxhc3QgZWxlbWVudHMK KyAgICBpZiBbWyAke2NhY2hlX3ZhbHVlc1sod0kpJHt3b3JkfV19IC1ndCAwIHx8ICR3b3JkID09 ICIiIF1dOyB0aGVuCisgICAgICBfY2FjaGVfb3BlbnN0YWNrX2NsbnRfY21kc1ske2NhY2hlX2tl eX1dPSR7JHske19jYWNoZV9vcGVuc3RhY2tfY2xudF9vdXRwdXRzWyR7c2VydmljZX1dfS8qICR7 Y21kc309XCd9L1wnKn0KKyAgICBmaQorICAgICMgc2V0IGNhY2hlX3ZhbHVlcyBmb3IgbmV4dCBs b29wCisgICAgY2FjaGVfdmFsdWVzPSR7X2NhY2hlX29wZW5zdGFja19jbG50X2NtZHNbJHtjYWNo ZV9rZXl9XX0KICAgZG9uZQotICAjIFBvcHVsYXRlIHRoZSBzdWJjb21tYW5kIGNhY2hlCi0gIGlm IFtbIC1uICRjbWQgJiYgLXogJF9jYWNoZV9vcGVuc3RhY2tfY2xudF9jbWRzX3N1YmNtZHNbJHNl cnZpY2UkY21kXSBdXTsgdGhlbgotICAgICAgbG9jYWwgdD1jbWRzXyR7Y21kLy8tL199Ci0gICAg ICBfY2FjaGVfb3BlbnN0YWNrX2NsbnRfY21kc19zdWJjbWRzWyRzZXJ2aWNlJGNtZF09JHskeyR7 X2NhY2hlX29wZW5zdGFja19jbG50X291dHB1dHNbJHNlcnZpY2VdfS8qICR0PVwnfS9cJyp9Ci0g IGZpCi0gICMgRGV0ZXJtaW5lIHRoZSBzdWJjb21tYW5kCi0gIGlmIFtbIC1uICRjbWQgXV07IHRo ZW4KLSAgICBmb3Igd29yZCBpbiAke3dvcmRzOjJ9OyBkbwotICAgICAgbG9jYWwgcz0ke19jYWNo ZV9vcGVuc3RhY2tfY2xudF9jbWRzX3N1YmNtZHNbJHNlcnZpY2UkY21kXX0KLSAgICAgIFtbICRz Wyh3SSkkd29yZF0gLWd0IDAgXV0gJiYgc3ViY21kPSR3b3JkICYmIGJyZWFrCi0gICAgZG9uZQot ICAgICMgUG9wdWxhdGUgc3ViY29tbWFuZCBvcHRpb24gY2FjaGUKLSAgICBpZiBbWyAtbiAkc3Vi Y21kICYmIC16ICRfY2FjaGVfb3BlbnN0YWNrX2NsbnRfY21kc19zdWJjbWRfb3B0c1skc2Vydmlj ZSR7Y21kfS0tJHN1YmNtZF0gXV07IHRoZW4KLSAgICAgIGxvY2FsIHQ9Y21kc18ke2NtZC8vLS9f fV8ke3N1YmNtZC8vLS9ffQotICAgICAgX2NhY2hlX29wZW5zdGFja19jbG50X2NtZHNfc3ViY21k X29wdHNbJHNlcnZpY2Uke2NtZH0tLSRzdWJjbWRdPSR7JHske19jYWNoZV9vcGVuc3RhY2tfY2xu dF9vdXRwdXRzWyRzZXJ2aWNlXX0vKiAkdD1cJ30vXCcqfQotICAgIGZpCi0gIGZpCi0gICMgU3Bl Y2lhbCB0cmVhdG1lbnQgZm9yIHRoZSBoZWxwIGNvbW1hbmQKLSAgaWYgW1sgJGNtZCA9PSBoZWxw IF1dOyB0aGVuCi0gICAgICBpZiBbWyAkd29yZHNbQ1VSUkVOVC0xXSA9PSAkY21kICYmICR3b3Jk c1tDVVJSRU5UXSAhPSAtKiBdXTsgdGhlbgotICAgICAgICAjIE9mZmVyIGNvbW1hbmRzCi0gICAg ICAgIFtbIC1uICRfY2FjaGVfb3BlbnN0YWNrX2NsbnRfY21kc1skc2VydmljZV0gXV0gJiYgX3Zh bHVlcyAtdyBvcHRpb24gJHsodSk9X2NhY2hlX29wZW5zdGFja19jbG50X2NtZHNbJHNlcnZpY2Vd fSAmJiByZXQ9MAotICAgICAgZWxpZiBbWyAkd29yZHNbQ1VSUkVOVC0yXSA9PSAkY21kICYmICR3 b3Jkc1tDVVJSRU5ULTFdICE9IC0qICYmICR3b3Jkc1tDVVJSRU5UXSAhPSAtKiBdXTsgdGhlbgot ICAgICAgICAjIE9mZmVyIHN1YmNvbW1hbmRzCi0gICAgICAgIGxvY2FsIGNtZD0kd29yZHNbQ1VS UkVOVC0xXQotICAgICAgICBsb2NhbCB0PWNtZHNfJHtjbWQvLy0vX30KLSAgICAgICAgW1sgLXog JF9jYWNoZV9vcGVuc3RhY2tfY2xudF9jbWRzX3N1YmNtZHNbJHNlcnZpY2UkY21kXSBdXSAmJiBf Y2FjaGVfb3BlbnN0YWNrX2NsbnRfY21kc19zdWJjbWRzWyRzZXJ2aWNlJGNtZF09JHskeyR7X2Nh Y2hlX29wZW5zdGFja19jbG50X291dHB1dHNbJHNlcnZpY2VdfS8qICR0PVwnfS9cJyp9Ci0gICAg ICAgIFtbIC1uICRfY2FjaGVfb3BlbnN0YWNrX2NsbnRfY21kc19zdWJjbWRzWyRzZXJ2aWNlJGNt ZF0gXV0gJiYgX3ZhbHVlcyAtdyBvcHRpb24gJHsodSk9X2NhY2hlX29wZW5zdGFja19jbG50X2Nt ZHNfc3ViY21kc1skc2VydmljZSRjbWRdfSAmJiByZXQ9MAotICAgICAgZWxzZQotICAgICAgICAj IEhhbmRsZSBoZWxwPFRBQj4gcHJvcGVybHkKLSAgICAgICAgX3ZhbHVlcyAtdyBvcHRpb24gaGVs cCAmJiByZXQ9MAotICAgICAgZmkKLSAgIyBDbGllbnQgb3B0aW9ucwotICBlbGlmIFtbIC16ICRj bWQgJiYgJHdvcmRzW0NVUlJFTlRdID09IC0qIF1dOyB0aGVuCi0gICAgX3ZhbHVlcyAtdyBvcHRp b24gJHsodSk9X2NhY2hlX29wZW5zdGFja19jbG50X29wdHNbJHNlcnZpY2VdfSAmJiByZXQ9MAot ICAjIENvbW1hbmRzCi0gIGVsaWYgW1sgLXogJGNtZCBdXTsgdGhlbgotICAgIGlmIFtbIC16ICRf Y2FjaGVfb3BlbnN0YWNrX2NsbnRfY21kc1skc2VydmljZV0gXV07IHRoZW4KLSAgICAgIF9tZXNz YWdlICJtaXNzaW5nIGF1dGhlbnRpY2F0aW9uIG9wdGlvbnMiCi0gICAgZWxzZQotICAgICAgX3Zh bHVlcyAtdyBvcHRpb24gJHsodSk9X2NhY2hlX29wZW5zdGFja19jbG50X2NtZHNbJHNlcnZpY2Vd fSAmJiByZXQ9MAotICAgIGZpCi0gICMgU3ViY29tbWFuZHMKLSAgZWxpZiBbWyAteiAkc3ViY21k IF1dOyB0aGVuCi0gICAgW1sgLW4gJF9jYWNoZV9vcGVuc3RhY2tfY2xudF9jbWRzX3N1YmNtZHNb JHNlcnZpY2UkY21kXSBdXSAmJiBfdmFsdWVzIC13IG9wdGlvbiAkeyh1KT1fY2FjaGVfb3BlbnN0 YWNrX2NsbnRfY21kc19zdWJjbWRzWyRzZXJ2aWNlJGNtZF19ICYmIHJldD0wCi0gICMgU3ViY29t bWFuZCBvcHRpb25zCisKKyAgIyBQb3B1bGF0ZSB0aGUgY29tbWFuZCBjYWNoZQorICBpZiBbWyAt eiAkX2NhY2hlX29wZW5zdGFja19jbG50X2NtZHNbJHtjYWNoZV9rZXl9XSBdXTsgdGhlbgorICAg IF9tZXNzYWdlICJtaXNzaW5nIGF1dGhlbnRpY2F0aW9uIG9wdGlvbnMiCiAgIGVsc2UKLSAgICB7 ICEgenN0eWxlIC1UICI6Y29tcGxldGlvbjoke2N1cmNvbnRleHR9Om9wdGlvbnMiIHByZWZpeC1u ZWVkZWQgfHwgW1sgLXByZWZpeCAtIF1dIH0gJiYgXAotICAgICAgW1sgLW4gJF9jYWNoZV9vcGVu c3RhY2tfY2xudF9jbWRzX3N1YmNtZF9vcHRzWyRzZXJ2aWNlJHtjbWR9LS0kc3ViY21kXSBdXSAm JiBfdmFsdWVzIC13IG9wdGlvbiAkeyh1KT1fY2FjaGVfb3BlbnN0YWNrX2NsbnRfY21kc19zdWJj bWRfb3B0c1skc2VydmljZSR7Y21kfS0tJHN1YmNtZF0vL1w6L1xcXDp9ICYmIHJldD0wCisgICAg IyBhZGQgZ2xvYmFsIG9wdGlvbnMgdG8gY29tcGxldGlvbiBsaXN0IGlmIGN1cnJlbnQgd29yZCBz dGFydCB3aXRoIC0qCisgICAgbG9jYWwgZXh0cmFfb3B0cworICAgIGlmIFtbICR3b3Jkc1tDVVJS RU5UXSA9PSAtKiBdXTsgdGhlbjsKKyAgICAgIGV4dHJhX29wdHM9JHtfY2FjaGVfb3BlbnN0YWNr X2NsbnRfb3B0c1skc2VydmljZV19CisgICAgZmkKKworICAgIHsgISB6c3R5bGUgLVQgIjpjb21w bGV0aW9uOiR7Y3VyY29udGV4dH06b3B0aW9ucyIgcHJlZml4LW5lZWRlZCBcCisgICAgICAgICAg fHwgW1sgLW4gIiR7cGFydGlhbH0iICYmICR7JHtfY2FjaGVfb3BlbnN0YWNrX2NsbnRfY21kc1sk e2NhY2hlX2tleX1dfVsoSXcpJHtwYXJ0aWFsfSpdfSAtZ3QgMCB8fCAtcHJlZml4IC0gXV0gfSBc CisgICAgICAmJiBfdmFsdWVzIC13IG9wdGlvbiAkeyh1KT1fY2FjaGVfb3BlbnN0YWNrX2NsbnRf Y21kc1ske2NhY2hlX2tleX1dfSAkeyh1KT1leHRyYV9vcHRzfSBcCisgICAgICAmJiByZXQ9MAog ICBmaQogCisKICMgT2xkIHN0eWxlIGNsaWVudHMKIGVsaWYgW1sgLW4gJHtjbG50c19jb21wbF9v bGRbKHIpJHNlcnZpY2VdfSBdXTsgdGhlbgogICBpZiBbWyAteiAkX2NhY2hlX29wZW5zdGFja19j bG50X2NtZHNbJHNlcnZpY2VdIF1dOyB0aGVuCi0tIAoyLjMwLjEKCg== --000000000000a6756105bdd75e80--