From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Kangas Newsgroups: gmane.emacs.devel Subject: Re: use-package: Should we merge bind-chords.el / use-package-chords.el? Date: Wed, 7 Dec 2022 16:19:46 -0800 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000009ba97405ef45fe1e" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="28897"; mail-complaints-to="usenet@ciao.gmane.io" Cc: John Wiegley , Justin Talbott To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Dec 08 01:20:32 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1p34eO-0007Ln-9y for ged-emacs-devel@m.gmane-mx.org; Thu, 08 Dec 2022 01:20:32 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p34dl-0002cX-KI; Wed, 07 Dec 2022 19:19:53 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p34dj-0002cE-Go for emacs-devel@gnu.org; Wed, 07 Dec 2022 19:19:51 -0500 Original-Received: from mail-oa1-x29.google.com ([2001:4860:4864:20::29]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1p34dg-000346-S2; Wed, 07 Dec 2022 19:19:51 -0500 Original-Received: by mail-oa1-x29.google.com with SMTP id 586e51a60fabf-1441d7d40c6so81033fac.8; Wed, 07 Dec 2022 16:19:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:from:to:cc:subject:date:message-id:reply-to; bh=pkPw77T7hLVmT4FoIMqRET7t3ooDqzxc2w6ItA/KtxY=; b=fY/QEJcOZAtCmyAjr4TCH9X6IjMn55RrdxAjp4WuZNIoy6FqyZeAIepel8Lg9DmviZ 8NwsRl9QEIeZ9QfIRyQ/0UfELebeaBCHBgHolw553AeNhdHWPxcd918Ox76PZQYnCFKT N/Pc9g7GtlpDJLrc/p444gto35VXTXMrMOVRMJojHKQCuunJpoW3rlrc6GzIdlZdgxBb OyqALusnA+NyN111Hm/6uLbeLzVWPObd/dYbGAyJE+KnFDkz8Ly1TmcOslT7XpgidQvM EyRsB2w28OOIkig3Ut3xGDQIHwCv7IkpA4n1RKk5dfvnhxSRalzw358OlFoBNzcsMdBR 0TVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=pkPw77T7hLVmT4FoIMqRET7t3ooDqzxc2w6ItA/KtxY=; b=a/HgEgagZD9J7ZY6/WWUeZ58N/o6V0/k8IHFRlgtx7o/eNSjFzl20WT6TIPf5RTRvI F8I252bj29wN/IZ2OOf+3X75VXzRuzxMwE/puS6AeUM/+ml5cgDUlNSyjRJex6P5PZT+ Ftr8syYZbEYwqk8Q1si150IvXifDV416B+Poa3VWIgZYofzbFpdMA7KxgyTBez54cFQg ZbMCivY2Mecg5DUTPP3NJmxZDQkrm6Dt0poQkL0AHXuYl7u98hmiABuXow7qANJt3otj PZ5uTAiR0eWGptMNQ5nH0tse/8QrAqECVbyc33+bVFMkdcSVHoP0c5SV4Gbvo+3yfv4P jTwg== X-Gm-Message-State: ANoB5plEEGSoNnW8eISzXE9yYa3ffrS63bxaWoQt/jZ9+KeYnVyIHSv4 hLQoUE1AHkWn2GeiO4xP2PWYr7Ti5HCk6fjjZdQen+Ru X-Google-Smtp-Source: AA0mqf6OkzQV9J7svs9LFuoqDR6KXTzYnHEiI+A+c1mMBhcOVCZln0cOcOh8WcsLhE3mY5MtrX9tMGvWSylR2Jslntc= X-Received: by 2002:a05:6870:4995:b0:143:522a:ebcc with SMTP id ho21-20020a056870499500b00143522aebccmr35550165oab.199.1670458786941; Wed, 07 Dec 2022 16:19:46 -0800 (PST) Original-Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Wed, 7 Dec 2022 16:19:46 -0800 In-Reply-To: X-Hashcash: 1:20:221208:emacs-devel@gnu.org::g7ww1lcsvtkuz5Ry:1HEl Received-SPF: pass client-ip=2001:4860:4864:20::29; envelope-from=stefankangas@gmail.com; helo=mail-oa1-x29.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:301027 Archived-At: --0000000000009ba97405ef45fe1e Content-Type: text/plain; charset="UTF-8" Stefan Kangas writes: > I'm not so sure about merging bind-chord.el, use-package-chords.el, and > use-package-chords-tests.el into emacs.git, as part of the use-package > merge. [...] > They currently reside on the features/use-package branch, but that would > be easy to reverse with a simple "git rm" on the branch. Instead, we > could look into finding a new maintainer for them, in order to give them > an independent existence as GNU ELPA packages. Since there have been no comments, I intend to install the attached patch before the merge. Please speak up promptly if you disagree. --0000000000009ba97405ef45fe1e Content-Type: text/x-diff; charset="US-ASCII"; name="0001-Drop-key-chord.el-support-from-use-package.patch" Content-Disposition: attachment; filename="0001-Drop-key-chord.el-support-from-use-package.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: 52d8910e7decfd9_0.1 RnJvbSA0NzIzYjljYWZiMTEzZmM0MjI3OTRkNTQxMDZkZjA5YzM2ZmFkYTU3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVmYW4gS2FuZ2FzIDxzdGVmYW5rYW5nYXNAZ21haWwuY29t PgpEYXRlOiBUaHUsIDggRGVjIDIwMjIgMDE6MTI6MDIgKzAxMDAKU3ViamVjdDogW1BBVENIXSBE cm9wIGtleS1jaG9yZC5lbCBzdXBwb3J0IGZyb20gdXNlLXBhY2thZ2UKCiogbGlzcC91c2UtcGFj a2FnZS9iaW5kLWNob3JkLmVsOgoqIGxpc3AvdXNlLXBhY2thZ2UvdXNlLXBhY2thZ2UtY2hvcmRz LmVsOgoqIHRlc3QvbGlzcC91c2UtcGFja2FnZS91c2UtcGFja2FnZS1jaG9yZHMtdGVzdHMuZWw6 IERlbGV0ZSBmaWxlcy4KKiBkb2MvbWlzYy91c2UtcGFja2FnZS50ZXhpICh1c2UtcGFja2FnZS1j aG9yZHMpOiBEZWxldGUgc2VjdGlvbi4KUmVmOiBodHRwczovL2xpc3RzLmdudS5vcmcvci9lbWFj cy1kZXZlbC8yMDIyLTEyL21zZzAwMDUyLmh0bWwKLS0tCiBkb2MvbWlzYy91c2UtcGFja2FnZS50 ZXhpICAgICAgICAgICAgICAgICAgICAgfCAgMjcgLS0tCiBsaXNwL3VzZS1wYWNrYWdlL2JpbmQt Y2hvcmQuZWwgICAgICAgICAgICAgICAgfCAxMTMgLS0tLS0tLS0tLS0tCiBsaXNwL3VzZS1wYWNr YWdlL3VzZS1wYWNrYWdlLWNob3Jkcy5lbCAgICAgICAgfCAgNTQgLS0tLS0tCiAuLi4vdXNlLXBh Y2thZ2UvdXNlLXBhY2thZ2UtY2hvcmRzLXRlc3RzLmVsICAgfCAxNjkgLS0tLS0tLS0tLS0tLS0t LS0tCiA0IGZpbGVzIGNoYW5nZWQsIDM2MyBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0 NCBsaXNwL3VzZS1wYWNrYWdlL2JpbmQtY2hvcmQuZWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBsaXNw L3VzZS1wYWNrYWdlL3VzZS1wYWNrYWdlLWNob3Jkcy5lbAogZGVsZXRlIG1vZGUgMTAwNjQ0IHRl c3QvbGlzcC91c2UtcGFja2FnZS91c2UtcGFja2FnZS1jaG9yZHMtdGVzdHMuZWwKCmRpZmYgLS1n aXQgYS9kb2MvbWlzYy91c2UtcGFja2FnZS50ZXhpIGIvZG9jL21pc2MvdXNlLXBhY2thZ2UudGV4 aQppbmRleCBkMzkxMjVjNDU1Li5iNWE4NDE3YWUzIDEwMDY0NAotLS0gYS9kb2MvbWlzYy91c2Ut cGFja2FnZS50ZXhpCisrKyBiL2RvYy9taXNjL3VzZS1wYWNrYWdlLnRleGkKQEAgLTE1NjksNyAr MTU2OSw2IEBAIEtleXdvcmQgZXh0ZW5zaW9ucwogCiBAbWVudQogKiB1c2UtcGFja2FnZS1lbnN1 cmUtc3lzdGVtLXBhY2thZ2U6OgotKiB1c2UtcGFja2FnZS1jaG9yZHM6OgogKiBDcmVhdGluZyBh biBleHRlbnNpb246OgogQGVuZCBtZW51CiAKQEAgLTE2NzUsMzIgKzE2NzQsNiBAQCB1c2UtcGFj a2FnZS1lbnN1cmUtc3lzdGVtLXBhY2thZ2UKIGNvbW1hbmRzLiAgQ3VzdG9tIGNvbW1hbmRzIHNo b3VsZCBpbmNsdWRlIHRoZSBjYWxsIHRvIHN1ZG8gaW4gdGhlCiBjb21tYW5kIGlmIG5lZWRlZC4K IAotQG5vZGUgdXNlLXBhY2thZ2UtY2hvcmRzCi1Ac2VjdGlvbiBAY29kZXsodXNlLXBhY2thZ2Ut Y2hvcmRzKX0KLQotVGhlIEBjb2RlezpjaG9yZHN9IGtleXdvcmQgYWxsb3dzIHlvdSB0byBkZWZp bmUKLUB1cmVme2h0dHBzOi8vd3d3LmVtYWNzd2lraS5vcmcvZW1hY3Mva2V5LWNob3JkLmVsLEBj b2Rle2tleS1jaG9yZH19Ci1iaW5kaW5ncyBmb3IgQGNvZGV7dXNlLXBhY2thZ2V9IGRlY2xhcmF0 aW9ucyBpbiB0aGUgc2FtZSBtYW5uZXIgYXMgdGhlCi1AY29kZXs6YmluZH0ga2V5d29yZC4KLQot VG8gZW5hYmxlIHRoZSBleHRlbnNpb246Ci0KLUBsaXNwCi0odXNlLXBhY2thZ2UgdXNlLXBhY2th Z2UtY2hvcmRzCi0gIDplbnN1cmUgdAotICA6Y29uZmlnIChrZXktY2hvcmQtbW9kZSAxKSkKLUBl bmQgbGlzcAotCi1UaGVuIHlvdSBjYW4gZGVmaW5lIHlvdXIgY2hvcmQgYmluZGluZ3MgaW4gdGhl IHNhbWUgbWFubmVyIGFzCi1AY29kZXs6YmluZH0gdXNpbmcgYSBjb25zIG9yIGEgbGlzdCBvZiBj b25zZXM6Ci0KLUBsaXNwCi0odXNlLXBhY2thZ2UgYWNlLWp1bXAtbW9kZQotICA6Y2hvcmRzICgo ImpqIiAuIGFjZS1qdW1wLWNoYXItbW9kZSkKLSAgICAgICAgICAgKCJqayIgLiBhY2UtanVtcC13 b3JkLW1vZGUpCi0gICAgICAgICAgICgiamwiIC4gYWNlLWp1bXAtbGluZS1tb2RlKSkpCi1AZW5k IGxpc3AKLQogQG5vZGUgQ3JlYXRpbmcgYW4gZXh0ZW5zaW9uCiBAc2VjdGlvbiBIb3cgdG8gY3Jl YXRlIGFuIGV4dGVuc2lvbiBrZXl3b3JkCiAKZGlmZiAtLWdpdCBhL2xpc3AvdXNlLXBhY2thZ2Uv YmluZC1jaG9yZC5lbCBiL2xpc3AvdXNlLXBhY2thZ2UvYmluZC1jaG9yZC5lbApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggZWQ3MzZhNGI5Ni4uMDAwMDAwMDAwMAotLS0gYS9saXNwL3Vz ZS1wYWNrYWdlL2JpbmQtY2hvcmQuZWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMTMgKzAsMCBAQAot Ozs7IGJpbmQtY2hvcmQuZWwgLS0tIGtleS1jaG9yZCBiaW5kaW5nIGhlbHBlciBmb3IgdXNlLXBh Y2thZ2UtY2hvcmRzICAtKi0gbGV4aWNhbC1iaW5kaW5nOiB0OyAtKi0KLQotOzsgQ29weXJpZ2h0 IChDKSAyMDE1LTIwMjIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0KLTs7IEF1dGhv cjogSnVzdGluIFRhbGJvdHQgPGp1c3RpbkB3YXltb25kby5jb20+Ci07OyBLZXl3b3JkczogY29u dmVuaWVuY2UsIHRvb2xzLCBleHRlbnNpb25zCi07OyBVUkw6IGh0dHBzOi8vZ2l0aHViLmNvbS9q d2llZ2xleS91c2UtcGFja2FnZQotOzsgVmVyc2lvbjogMC4yLjEKLTs7IFBhY2thZ2UtUmVxdWly ZXM6ICgoZW1hY3MgIjI0LjMiKSAoYmluZC1rZXkgIjEuMCIpIChrZXktY2hvcmQgIjAuNiIpKQot OzsgRmlsZW5hbWU6IGJpbmQtY2hvcmQuZWwKLQotOzsgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLTs7IGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVk IGJ5Ci07OyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9m IHRoZSBMaWNlbnNlLCBvcgotOzsgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K LQotOzsgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCi07OyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0 aGUgaW1wbGllZCB3YXJyYW50eSBvZgotOzsgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotOzsgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotOzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg Y29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLTs7IGFsb25nIHdpdGggdGhp cyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4K LQotOzs7IENvbW1lbnRhcnk6Ci0KLTs7OyBDb2RlOgotCi0ocmVxdWlyZSAnYmluZC1rZXkpCi0o cmVxdWlyZSAna2V5LWNob3JkIG5pbCB0KQotCi07OzsjIyNhdXRvbG9hZAotKGRlZm1hY3JvIGJp bmQtY2hvcmQgKGNob3JkIGNvbW1hbmQgJm9wdGlvbmFsIGtleW1hcCkKLSAgIkJpbmQgQ0hPUkQg dG8gQ09NTUFORCBpbiBLRVlNQVAgKGBnbG9iYWwtbWFwJyBpZiBub3QgcGFzc2VkKS4iCi0gIChs ZXQgKChrZXkxIChsb2dhbmQgMjU1IChhcmVmIGNob3JkIDApKSkKLSAgICAgICAgKGtleTIgKGxv Z2FuZCAyNTUgKGFyZWYgY2hvcmQgMSkpKSkKLSAgICAoaWYgKGVxIGtleTEga2V5MikKLSAgICAg ICAgYChiaW5kLWtleSAodmVjdG9yICdrZXktY2hvcmQgLGtleTEgLGtleTIpICxjb21tYW5kICxr ZXltYXApCi0gICAgICBgKHByb2duCi0gICAgICAgICAoYmluZC1rZXkgKHZlY3RvciAna2V5LWNo b3JkICxrZXkxICxrZXkyKSAsY29tbWFuZCAsa2V5bWFwKQotICAgICAgICAgKGJpbmQta2V5ICh2 ZWN0b3IgJ2tleS1jaG9yZCAsa2V5MiAsa2V5MSkgLGNvbW1hbmQgLGtleW1hcCkpKSkpCi0KLShk ZWZ1biBiaW5kLWNob3Jkcy1mb3JtIChhcmdzIGtleW1hcCkKLSAgIkJpbmQgbXVsdGlwbGUgY2hv cmRzIGF0IG9uY2UuCi0KLUFjY2VwdHMga2V5d29yZCBhcmd1bWVudHM6Ci06bWFwIE1BUCAgICAg ICAgICAgICAgIC0gYSBrZXltYXAgaW50byB3aGljaCB0aGUga2V5YmluZGluZ3Mgc2hvdWxkIGJl Ci0gICAgICAgICAgICAgICAgICAgICAgICAgYWRkZWQKLQotVGhlIHJlc3Qgb2YgdGhlIGFyZ3Vt ZW50cyBhcmUgY29uc2VzIG9mIGtleWJpbmRpbmcgc3RyaW5nIGFuZCBhCi1mdW5jdGlvbiBzeW1i b2wgKHVucXVvdGVkKS4iCi0gIChsZXQgKG1hcCBwa2cpCi0gICAgKGxldCAoKGNvbnQgdCkpCi0g ICAgICAod2hpbGUgKGFuZCBjb250IGFyZ3MpCi0gICAgICAgIChpZiAoY29uZCAoKGVxIDptYXAg KGNhciBhcmdzKSkKLSAgICAgICAgICAgICAgICAgICAoc2V0cSBtYXAgKGNhZHIgYXJncykpKQot ICAgICAgICAgICAgICAgICAgKChlcSA6cGFja2FnZSAoY2FyIGFyZ3MpKQotICAgICAgICAgICAg ICAgICAgIChzZXRxIHBrZyAoY2FkciBhcmdzKSkpKQotICAgICAgICAgICAgKHNldHEgYXJncyAo Y2RkciBhcmdzKSkKLSAgICAgICAgICAoc2V0cSBjb250IG5pbCkpKSkKLQotICAgICh1bmxlc3Mg bWFwIChzZXRxIG1hcCBrZXltYXApKQotCi0gICAgKGxldCAoZmlyc3QgbmV4dCkKLSAgICAgICh3 aGlsZSBhcmdzCi0gICAgICAgIChpZiAoa2V5d29yZHAgKGNhciBhcmdzKSkKLSAgICAgICAgICAg IChwcm9nbgotICAgICAgICAgICAgICAoc2V0cSBuZXh0IGFyZ3MpCi0gICAgICAgICAgICAgIChz ZXRxIGFyZ3MgbmlsKSkKLSAgICAgICAgICAoaWYgZmlyc3QKLSAgICAgICAgICAgICAgKG5jb25j IGZpcnN0IChsaXN0IChjYXIgYXJncykpKQotICAgICAgICAgICAgKHNldHEgZmlyc3QgKGxpc3Qg KGNhciBhcmdzKSkpKQotICAgICAgICAgIChzZXRxIGFyZ3MgKGNkciBhcmdzKSkpKQotCi0gICAg ICAoY2wtZmxldAotICAgICAgICAgICgod3JhcCAobWFwIGJpbmRpbmdzKQotICAgICAgICAgICAg ICAgICAoaWYgKGFuZCBtYXAgcGtnIChub3QgKG1lbXEgbWFwICcoZ2xvYmFsLW1hcAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGUtZ2xv YmFsLW1hcCkpKSkKLSAgICAgICAgICAgICAgICAgICAgIGAoKGlmIChib3VuZHAgJyxtYXApCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAsKG1hY3JvZXhwLXByb2duIGJpbmRpbmdzKQotICAg ICAgICAgICAgICAgICAgICAgICAgIChldmFsLWFmdGVyLWxvYWQKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLChpZiAoc3ltYm9scCBwa2cpIGAnLHBrZyBwa2cpCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAnLChtYWNyb2V4cC1wcm9nbiBiaW5kaW5ncykpKSkKLSAgICAgICAgICAg ICAgICAgICBiaW5kaW5ncykpKQotCi0gICAgICAgIChhcHBlbmQKLSAgICAgICAgICh3cmFwIG1h cAotICAgICAgICAgICAgICAgKGNsLW1hcGNhbgotICAgICAgICAgICAgICAgIChsYW1iZGEgKGZv cm0pCi0gICAgICAgICAgICAgICAgICAobGV0ICgoZnVuIChhbmQgKGNkciBmb3JtKSAobGlzdCAn ZnVuY3Rpb24gKGNkciBmb3JtKSkpKSkKLSAgICAgICAgICAgICAgICAgICAgKGlmIChhbmQgbWFw IChub3QgKGVxIG1hcCAnZ2xvYmFsLW1hcCkpKQotICAgICAgICAgICAgICAgICAgICAgICAgYCgo YmluZC1jaG9yZCAsKGNhciBmb3JtKSAsZnVuICxtYXApKQotICAgICAgICAgICAgICAgICAgICAg IGAoKGJpbmQtY2hvcmQgLChjYXIgZm9ybSkgLGZ1biBuaWwpKSkpKQotICAgICAgICAgICAgICAg IGZpcnN0KSkKLSAgICAgICAgICh3aGVuIG5leHQKLSAgICAgICAgICAgKGJpbmQtY2hvcmRzLWZv cm0gKGlmIHBrZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zIDpwYWNrYWdlIChj b25zIHBrZyBuZXh0KSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dCkgbWFwKSkpKSkp KQotCi07OzsjIyNhdXRvbG9hZAotKGRlZm1hY3JvIGJpbmQtY2hvcmRzICgmcmVzdCBhcmdzKQot ICAiQmluZCBtdWx0aXBsZSBjaG9yZHMgYXQgb25jZS4KLQotQWNjZXB0cyBrZXl3b3JkIGFyZ3Vt ZW50OgotOm1hcCAtIGEga2V5bWFwIGludG8gd2hpY2ggdGhlIGtleWJpbmRpbmdzIHNob3VsZCBi ZSBhZGRlZAotCi1UaGUgcmVzdCBvZiB0aGUgYXJndW1lbnRzIGFyZSBjb25zZXMgb2Yga2V5Ymlu ZGluZyBzdHJpbmcgYW5kIGEKLWZ1bmN0aW9uIHN5bWJvbCAodW5xdW90ZWQpLiIKLSAgKG1hY3Jv ZXhwLXByb2duIChiaW5kLWNob3Jkcy1mb3JtIGFyZ3MgbmlsKSkpCi0KLShwcm92aWRlICdiaW5k LWNob3JkKQotCi07OzsgYmluZC1jaG9yZC5lbCBlbmRzIGhlcmUKZGlmZiAtLWdpdCBhL2xpc3Av dXNlLXBhY2thZ2UvdXNlLXBhY2thZ2UtY2hvcmRzLmVsIGIvbGlzcC91c2UtcGFja2FnZS91c2Ut cGFja2FnZS1jaG9yZHMuZWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ3OTA4M2I5 MjkuLjAwMDAwMDAwMDAKLS0tIGEvbGlzcC91c2UtcGFja2FnZS91c2UtcGFja2FnZS1jaG9yZHMu ZWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi07OzsgdXNlLXBhY2thZ2UtY2hvcmRz LmVsIC0tLSBrZXktY2hvcmQga2V5d29yZCBmb3IgdXNlLXBhY2thZ2UgIC0qLSBsZXhpY2FsLWJp bmRpbmc6IHQ7IC0qLQotCi07OyBDb3B5cmlnaHQgKEMpIDIwMTUtMjAyMiBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KLQotOzsgQXV0aG9yOiBKdXN0aW4gVGFsYm90dCA8anVzdGluQHdh eW1vbmRvLmNvbT4KLTs7IEtleXdvcmRzOiBjb252ZW5pZW5jZSwgdG9vbHMsIGV4dGVuc2lvbnMK LTs7IFVSTDogaHR0cHM6Ly9naXRodWIuY29tL2p3aWVnbGV5L3VzZS1wYWNrYWdlCi07OyBWZXJz aW9uOiAwLjIuMQotOzsgUGFja2FnZS1SZXF1aXJlczogKCh1c2UtcGFja2FnZSAiMi4xIikgKGJp bmQta2V5ICIxLjAiKSAoYmluZC1jaG9yZCAiMC4yIikgKGtleS1jaG9yZCAiMC42IikpCi07OyBG aWxlbmFtZTogdXNlLXBhY2thZ2UtY2hvcmRzLmVsCi0KLTs7IFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci07OyBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxp c2hlZCBieQotOzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24g MyBvZiB0aGUgTGljZW5zZSwgb3IKLTs7IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp b24uCi0KLTs7IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAotOzsgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLTs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLTs7IEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLTs7IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl ZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi07OyBhbG9uZyB3aXRo IHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2Vz Lz4uCi0KLTs7OyBDb21tZW50YXJ5OgotCi07OyBUaGUgYDpjaG9yZHMnIGtleXdvcmQgYWxsb3dz IHlvdSB0byBkZWZpbmUgYGtleS1jaG9yZCcgYmluZGluZ3MgZm9yCi07OyBgdXNlLXBhY2thZ2Un IGRlY2xhcmF0aW9ucyBpbiB0aGUgc2FtZSBtYW5uZXIgYXMgdGhlIGA6YmluZCcKLTs7IGtleXdv cmQuCi0KLTs7OyBDb2RlOgotCi0ocmVxdWlyZSAndXNlLXBhY2thZ2UpCi0ocmVxdWlyZSAnYmlu ZC1jaG9yZCkKLQotOzs7IyMjYXV0b2xvYWQKLShkZWZhbGlhcyAndXNlLXBhY2thZ2UtYXV0b2xv YWRzLzpjaG9yZHMgJ3VzZS1wYWNrYWdlLWF1dG9sb2Fkcy1tb2RlKQotCi07OzsjIyNhdXRvbG9h ZAotKGRlZmFsaWFzICd1c2UtcGFja2FnZS1ub3JtYWxpemUvOmNob3JkcyAndXNlLXBhY2thZ2Ut bm9ybWFsaXplLWJpbmRlcikKLQotOzs7IyMjYXV0b2xvYWQKLShkZWZ1biB1c2UtcGFja2FnZS1o YW5kbGVyLzpjaG9yZHMgKG5hbWUgX2tleXdvcmQgYXJnIHJlc3Qgc3RhdGUpCi0gICJIYW5kbGVy IGZvciBgOmNob3Jkcycga2V5d29yZCBpbiBgdXNlLXBhY2thZ2UnLiIKLSAgKHVzZS1wYWNrYWdl LWNvbmNhdAotICAgKHVzZS1wYWNrYWdlLXByb2Nlc3Mta2V5d29yZHMgbmFtZSByZXN0IHN0YXRl KQotICAgYCgsKG1hY3JvZXhwYW5kCi0gICAgICAgYChiaW5kLWNob3JkcyA6cGFja2FnZSAsbmFt ZSAsQGFyZykpKSkpCi0KLShhZGQtdG8tbGlzdCAndXNlLXBhY2thZ2Uta2V5d29yZHMgOmNob3Jk cykKLQotKHByb3ZpZGUgJ3VzZS1wYWNrYWdlLWNob3JkcykKLQotOzs7IHVzZS1wYWNrYWdlLWNo b3Jkcy5lbCBlbmRzIGhlcmUKZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC91c2UtcGFja2FnZS91c2Ut cGFja2FnZS1jaG9yZHMtdGVzdHMuZWwgYi90ZXN0L2xpc3AvdXNlLXBhY2thZ2UvdXNlLXBhY2th Z2UtY2hvcmRzLXRlc3RzLmVsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NjU3ODRl YWY0Li4wMDAwMDAwMDAwCi0tLSBhL3Rlc3QvbGlzcC91c2UtcGFja2FnZS91c2UtcGFja2FnZS1j aG9yZHMtdGVzdHMuZWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNjkgKzAsMCBAQAotOzs7IHVzZS1w YWNrYWdlLWNob3Jkcy10ZXN0cy5lbCAtLS0gVGVzdHMgZm9yIHVzZS1wYWNrYWdlLWNob3Jkcy5l bCAgLSotIGxleGljYWwtYmluZGluZzogdDsgLSotCi0KLTs7IENvcHlyaWdodCAoQykgMjAxOS0y MDIyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotCi07OyBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotOzsg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkKLTs7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJz aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi07OyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgotCi07OyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh dCBpdCB3aWxsIGJlIHVzZWZ1bCwKLTs7IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi07OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi07OyBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi07OyBZb3Ugc2hvdWxkIGhhdmUgcmVj ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotOzsgYWxvbmcg d2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNl bnNlcy8+LgotCi07OzsgQ29kZToKLQotKHJlcXVpcmUgJ2VydCkKLShyZXF1aXJlICd1c2UtcGFj a2FnZSkKLShyZXF1aXJlICd1c2UtcGFja2FnZS1jaG9yZHMpCi0KLShzZXRxIHVzZS1wYWNrYWdl LWFsd2F5cy1lbnN1cmUgbmlsCi0gICAgICB1c2UtcGFja2FnZS12ZXJib3NlICdlcnJvcnMKLSAg ICAgIHVzZS1wYWNrYWdlLWV4cGFuZC1taW5pbWFsbHkgdCkKLQotKGRlZm1hY3JvIG1hdGNoLWV4 cGFuc2lvbiAoZm9ybSAmcmVzdCB2YWx1ZSkKLSAgYChzaG91bGQgKHBjYXNlIChleHBhbmQtbWlu aW1hbGx5ICxmb3JtKQotICAgICAgICAgICAgICxAKG1hcGNhciAjJyhsYW1iZGEgKHgpIChsaXN0 IHggdCkpIHZhbHVlKSkpKQotCi07OyBDb3BpZWQgZnJvbSB1c2UtcGFja2FnZS10ZXN0cy5lbC4K LShkZWZtYWNybyBleHBhbmQtbWluaW1hbGx5IChmb3JtKQotICBgKGxldCAoKHVzZS1wYWNrYWdl LXZlcmJvc2UgJ2Vycm9ycykKLSAgICAgICAgICh1c2UtcGFja2FnZS1leHBhbmQtbWluaW1hbGx5 IHQpKQotICAgICAobWFjcm9leHBhbmQtMSAnLGZvcm0pKSkKLQotKGRlZnVuIHVzZS1wYWNrYWdl LXRlc3Qtbm9ybWFsaXplLWNob3JkICgmcmVzdCBhcmdzKQotICAoYXBwbHkgIyd1c2UtcGFja2Fn ZS1ub3JtYWxpemUtYmluZGVyICdmb28gOmNob3JkcyBhcmdzKSkKLQotKGVydC1kZWZ0ZXN0IHVz ZS1wYWNrYWdlLXRlc3Qtbm9ybWFsaXplLzpjaG9yZHMtMSAoKQotICAoc2hvdWxkIChlcXVhbCAo dXNlLXBhY2thZ2UtdGVzdC1ub3JtYWxpemUtY2hvcmQKLSAgICAgICAgICAgICAgICAgICcoKCJD LWEiIC4gYWxwaGEpKSkKLSAgICAgICAgICAgICAgICAgJygoIkMtYSIgLiBhbHBoYSkpKSkpCi0K LShlcnQtZGVmdGVzdCB1c2UtcGFja2FnZS10ZXN0LW5vcm1hbGl6ZS86Y2hvcmRzLTIgKCkKLSAg KHNob3VsZCAoZXF1YWwgKHVzZS1wYWNrYWdlLXRlc3Qtbm9ybWFsaXplLWNob3JkCi0gICAgICAg ICAgICAgICAgICAnKCgiQy1hIiAuIGFscGhhKQotICAgICAgICAgICAgICAgICAgICA6bWFwIGZv by1tYXAKLSAgICAgICAgICAgICAgICAgICAgKCJDLWIiIC4gYmV0YSkpKQotICAgICAgICAgICAg ICAgICAnKCgiQy1hIiAuIGFscGhhKQotICAgICAgICAgICAgICAgICAgIDptYXAgZm9vLW1hcAot ICAgICAgICAgICAgICAgICAgICgiQy1iIiAuIGJldGEpKSkpKQotCi0oZXJ0LWRlZnRlc3QgdXNl LXBhY2thZ2UtdGVzdC1ub3JtYWxpemUvOmNob3Jkcy0zICgpCi0gIChzaG91bGQgKGVxdWFsICh1 c2UtcGFja2FnZS10ZXN0LW5vcm1hbGl6ZS1jaG9yZAotICAgICAgICAgICAgICAgICAgJyg6bWFw IGZvby1tYXAKLSAgICAgICAgICAgICAgICAgICAgICAgICAoIkMtYSIgLiBhbHBoYSkKLSAgICAg ICAgICAgICAgICAgICAgICAgICAoIkMtYiIgLiBiZXRhKSkpCi0gICAgICAgICAgICAgICAgICco Om1hcCBmb28tbWFwCi0gICAgICAgICAgICAgICAgICAgICAgICAoIkMtYSIgLiBhbHBoYSkKLSAg ICAgICAgICAgICAgICAgICAgICAgICgiQy1iIiAuIGJldGEpKSkpKQotCi0oZXJ0LWRlZnRlc3Qg dXNlLXBhY2thZ2UtdGVzdC86Y2hvcmRzLTEgKCkKLSAgOzsgRklYTUU6Ci0gIDp0YWdzICcoOnVu c3RhYmxlKQotICAobWF0Y2gtZXhwYW5zaW9uCi0gICAodXNlLXBhY2thZ2UgZm9vIDpjaG9yZHMg KCJDLWsiIC4ga2V5MSkgKCJDLXUiIC4ga2V5MikpCi0gICBgKHByb2duCi0gICAgICAodW5sZXNz Ci0gICAgICAgICAgKGZib3VuZHAgJ2tleTEpCi0gICAgICAgIChhdXRvbG9hZCAjJ2tleTEgImZv byIgbmlsIHQpKQotICAgICAgKHVubGVzcwotICAgICAgICAgIChmYm91bmRwICdrZXkyKQotICAg ICAgICAoYXV0b2xvYWQgIydrZXkyICJmb28iIG5pbCB0KSkKLSAgICAgIChiaW5kLWNob3JkICJD LWsiICMna2V5MSBuaWwpCi0gICAgICAoYmluZC1jaG9yZCAiQy11IiAjJ2tleTIgbmlsKSkpKQot Ci0oZXJ0LWRlZnRlc3QgdXNlLXBhY2thZ2UtdGVzdC86Y2hvcmRzLTIgKCkKLSAgOzsgRklYTUU6 Ci0gIDp0YWdzICcoOnVuc3RhYmxlKQotICAobWF0Y2gtZXhwYW5zaW9uCi0gICAodXNlLXBhY2th Z2UgZm9vIDpjaG9yZHMgKCgiQy1rIiAuIGtleTEpICgiQy11IiAuIGtleTIpKSkKLSAgIGAocHJv Z24KLSAgICAgICh1bmxlc3MgKGZib3VuZHAgJ2tleTEpCi0gICAgICAgIChhdXRvbG9hZCAjJ2tl eTEgImZvbyIgbmlsIHQpKQotICAgICAgKHVubGVzcyAoZmJvdW5kcCAna2V5MikKLSAgICAgICAg KGF1dG9sb2FkICMna2V5MiAiZm9vIiBuaWwgdCkpCi0gICAgICAoYmluZC1jaG9yZCAiQy1rIiAj J2tleTEgbmlsKQotICAgICAgKGJpbmQtY2hvcmQgIkMtdSIgIydrZXkyIG5pbCkpKSkKLQotKGVy dC1kZWZ0ZXN0IHVzZS1wYWNrYWdlLXRlc3QvOmNob3Jkcy0zICgpCi0gIChtYXRjaC1leHBhbnNp b24KLSAgICh1c2UtcGFja2FnZSBmb28gOmNob3JkcyAoOm1hcCBteS1tYXAgKCJDLWsiIC4ga2V5 MSkgKCJDLXUiIC4ga2V5MikpKQotICAgYChwcm9nbgotICAgICAgKHVubGVzcwotICAgICAgICAg IChmYm91bmRwICdrZXkxKQotICAgICAgICAoYXV0b2xvYWQgIydrZXkxICJmb28iIG5pbCB0KSkK LSAgICAgICh1bmxlc3MKLSAgICAgICAgICAoZmJvdW5kcCAna2V5MikKLSAgICAgICAgKGF1dG9s b2FkICMna2V5MiAiZm9vIiBuaWwgdCkpCi0gICAgICAoaWYKLSAgICAgICAgICAoYm91bmRwICdt eS1tYXApCi0gICAgICAgICAgKHByb2duCi0gICAgICAgICAgICAoYmluZC1jaG9yZCAiQy1rIiAj J2tleTEgbXktbWFwKQotICAgICAgICAgICAgKGJpbmQtY2hvcmQgIkMtdSIgIydrZXkyIG15LW1h cCkpCi0gICAgICAgIChldmFsLWFmdGVyLWxvYWQgJ2ZvbwotICAgICAgICAgICcocHJvZ24KLSAg ICAgICAgICAgICAoYmluZC1jaG9yZCAiQy1rIiAjJ2tleTEgbXktbWFwKQotICAgICAgICAgICAg IChiaW5kLWNob3JkICJDLXUiICMna2V5MiBteS1tYXApKSkpKSkpCi0KLShlcnQtZGVmdGVzdCB1 c2UtcGFja2FnZS10ZXN0LzpjaG9yZHMtNCAoKQotICAoc2hvdWxkLWVycm9yCi0gICAobWF0Y2gt ZXhwYW5zaW9uCi0gICAgKHVzZS1wYWNrYWdlIGZvbyA6Y2hvcmRzIDptYXAgbXktbWFwICgiQy1r IiAuIGtleTEpICgiQy11IiAuIGtleTIpKQotICAgIGAoYmluZC1jaG9yZHMgOnBhY2thZ2UgZm9v KSkpKQotCi0oZXJ0LWRlZnRlc3QgdXNlLXBhY2thZ2UtdGVzdC86Y2hvcmRzLTUgKCkKLSAgKG1h dGNoLWV4cGFuc2lvbgotICAgKHVzZS1wYWNrYWdlIGZvbyA6Y2hvcmRzICgiQy1rIiAuIGtleTEp ICg6bWFwIG15LW1hcCAoIkMtdSIgLiBrZXkyKSkpCi0gICBgKHByb2duCi0gICAgICAodW5sZXNz IChmYm91bmRwICdrZXkxKQotICAgICAgICAoYXV0b2xvYWQgIydrZXkxICJmb28iIG5pbCB0KSkK LSAgICAgICh1bmxlc3MgKGZib3VuZHAgJ2tleTIpCi0gICAgICAgIChhdXRvbG9hZCAjJ2tleTIg ImZvbyIgbmlsIHQpKQotICAgICAgKHByb2duCi0gICAgICAgIChiaW5kLWNob3JkICJDLWsiICMn a2V5MSBuaWwpCi0gICAgICAgIChpZgotICAgICAgICAgICAgKGJvdW5kcCAnbXktbWFwKQotICAg ICAgICAgICAgKGJpbmQtY2hvcmQgIkMtdSIgIydrZXkyIG15LW1hcCkKLSAgICAgICAgICAoZXZh bC1hZnRlci1sb2FkICdmb28KLSAgICAgICAgICAgICcoYmluZC1jaG9yZCAiQy11IiAjJ2tleTIg bXktbWFwKSkpKSkpKQotCi0oZXJ0LWRlZnRlc3QgdXNlLXBhY2thZ2UtdGVzdC86Y2hvcmRzLTYg KCkKLSAgKG1hdGNoLWV4cGFuc2lvbgotICAgKHVzZS1wYWNrYWdlIGZvbwotICAgICA6Y2hvcmRz Ci0gICAgICgiQy1rIiAuIGtleTEpCi0gICAgICg6bWFwIG15LW1hcCAoIkMtdSIgLiBrZXkyKSkK LSAgICAgKDptYXAgbXktbWFwMiAoIkMtdSIgLiBrZXkzKSkpCi0gICBgKHByb2duCi0gICAgICAo dW5sZXNzCi0gICAgICAgICAgKGZib3VuZHAgJ2tleTEpCi0gICAgICAgIChhdXRvbG9hZCAjJ2tl eTEgImZvbyIgbmlsIHQpKQotICAgICAgKHVubGVzcwotICAgICAgICAgIChmYm91bmRwICdrZXky KQotICAgICAgICAoYXV0b2xvYWQgIydrZXkyICJmb28iIG5pbCB0KSkKLSAgICAgICh1bmxlc3MK LSAgICAgICAgICAoZmJvdW5kcCAna2V5MykKLSAgICAgICAgKGF1dG9sb2FkICMna2V5MyAiZm9v IiBuaWwgdCkpCi0gICAgICAocHJvZ24KLSAgICAgICAgKGJpbmQtY2hvcmQgIkMtayIgIydrZXkx IG5pbCkKLSAgICAgICAgKGlmCi0gICAgICAgICAgICAoYm91bmRwICdteS1tYXApCi0gICAgICAg ICAgICAoYmluZC1jaG9yZCAiQy11IiAjJ2tleTIgbXktbWFwKQotICAgICAgICAgIChldmFsLWFm dGVyLWxvYWQgJ2ZvbwotICAgICAgICAgICAgJyhiaW5kLWNob3JkICJDLXUiICMna2V5MiBteS1t YXApKSkKLSAgICAgICAgKGlmCi0gICAgICAgICAgICAoYm91bmRwICdteS1tYXAyKQotICAgICAg ICAgICAgKGJpbmQtY2hvcmQgIkMtdSIgIydrZXkzIG15LW1hcDIpCi0gICAgICAgICAgKGV2YWwt YWZ0ZXItbG9hZCAnZm9vCi0gICAgICAgICAgICAnKGJpbmQtY2hvcmQgIkMtdSIgIydrZXkzIG15 LW1hcDIpKSkpKSkpCi0KLTs7IExvY2FsIFZhcmlhYmxlczoKLTs7IG5vLWJ5dGUtY29tcGlsZTog dAotOzsgbm8tdXBkYXRlLWF1dG9sb2FkczogdAotOzsgRW5kOgotCi07OzsgdXNlLXBhY2thZ2Ut Y2hvcmRzLXRlc3RzLmVsIGVuZHMgaGVyZQotLSAKMi4zNS4xCgo= --0000000000009ba97405ef45fe1e--