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: Proposal for an improved `help-for-help' Date: Sat, 13 Mar 2021 10:26:59 -0600 Message-ID: References: <838s7hxqkr.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="00000000000071b0fc05bd6d7c20" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="6096"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Mar 13 17:28:18 2021 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 1lL77h-0001Uw-Qb for ged-emacs-devel@m.gmane-mx.org; Sat, 13 Mar 2021 17:28:18 +0100 Original-Received: from localhost ([::1]:46254 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lL77g-0006FB-Rp for ged-emacs-devel@m.gmane-mx.org; Sat, 13 Mar 2021 11:28:16 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:33720) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lL76X-0005R8-4w for emacs-devel@gnu.org; Sat, 13 Mar 2021 11:27:05 -0500 Original-Received: from mail-pf1-f178.google.com ([209.85.210.178]:44415) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lL76U-0007NR-Hx; Sat, 13 Mar 2021 11:27:04 -0500 Original-Received: by mail-pf1-f178.google.com with SMTP id t29so3897920pfg.11; Sat, 13 Mar 2021 08:27:01 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to:cc; bh=KB7w9y6SM4LGb4kJ7dXeeEfCk5G/Q3xPxV7Fr0YFD/k=; b=VjlmvMyyDt2jJPG4OQ3cTN/CYlEmxLQja7EWgOSvkGtnWp9MkdMo+tbXVIRXa1jJjz K9btihaTCtCtqpu3ehD4WmOY37V2VYiMAtZmXO8EcM6LdhHmgc7G2ZOcE6+QFENFGtHh 61q5XyiiiMnjTMy/+5ACZzqh2yzKKcPjD+jc29h/tOQizEMsodg9UR31dbiN38GPXj2G 6JtxSan+TFrXe7uJflan5UGL3YqA+j0AfjnMSOIJqDDyoPU7UM5s/gSZHtPqXXIqHlSi Lg1n4XLAByihEO8kcQaNrvbRXyVGFZTeJbmRA3ier+xPKB3NM5PfWU60EgkCpUh+6oaB zauQ== X-Gm-Message-State: AOAM532xD6rc1/HULiHgcH274tQn2b85qpm4WwDP9BnG44WQcYgM+V+8 su5f65uFRIEAcorNl35573VvlKgH4aiyd1jvVq3TkxbDWGc= X-Google-Smtp-Source: ABdhPJwDM7rWF/LZoj0TIoly3O9krhJAiLTMJGoxQtJMyr+TjXup+WhKzptnaoubbs7dPnTV9wP7egtvPye8mUPKfgY= X-Received: by 2002:aa7:828f:0:b029:200:6e27:8c8f with SMTP id s15-20020aa7828f0000b02902006e278c8fmr3416716pfm.44.1615652820448; Sat, 13 Mar 2021 08:27:00 -0800 (PST) Original-Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Sat, 13 Mar 2021 10:26:59 -0600 In-Reply-To: Received-SPF: pass client-ip=209.85.210.178; envelope-from=stefankangas@gmail.com; helo=mail-pf1-f178.google.com X-Spam_score_int: -13 X-Spam_score: -1.4 X-Spam_bar: - X-Spam_report: (-1.4 / 5.0 requ) BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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" Xref: news.gmane.io gmane.emacs.devel:266434 Archived-At: --00000000000071b0fc05bd6d7c20 Content-Type: text/plain; charset="UTF-8" Stefan Kangas writes: > If the general direction here is okay, I will provide a full proposal, > including thinking through the order. Please find attached an updated proposal. My overarching goal here has been to design this as an _overview_ of _important_ and _non-obvious_ information. This is a summary of the changes: - Added sections. - Drastically shortened descriptions of the command. - Changed ordering to be roughly based on: order of importance, logical grouping of related items, and the Emacs manual. - Removed the indication about which commands will show a prompt. [Rationale: I find that information overly pedantic, messy and fully redundant; it will either be obvious from context or, at the very least, when invoking a given help command.] I'm not sure what is considered a large attachment these days, so I posted a screenshot at some image host: https://i.imgur.com/Cv67yUN.png To facilitate the discussion, I have also pasted below the plain text of the help buffer. The patch is attached below. (Type SPC or DEL to scroll, or q to exit.) Getting Help m Help for current minor and major modes and their commands b Show all key bindings k Show help for key c Show help for key briefly w Show which key runs a given command a Search for commands (see also M-x apropos) d Search documentation of functions, variables, and other items f Show help for function o Show help for function or variable v Show help for variable Info Manuals r Show Emacs manual F Show Emacs manual section for command K Show Emacs manual section for command bound to key i Show all included manuals R Show given manual S Find symbol in Info manual for current programming language Misc Help p Search for packages matching topic P Describe Emacs Lisp package e Show recent messages g Show information about the GNU project l Show last 300 input keystrokes (lossage) s Show current syntax table . Show local help at point t Start the Emacs tutorial Help Files C-a About Emacs C-c Emacs copying permission (GNU General Public License) C-d Debugging GNU Emacs C-e External packages C-f Emacs FAQ C-m Order printed Emacs manuals C-n News of recent Emacs changes C-o Emacs ordering and distribution information C-p Known Emacs problems C-t Emacs TODO C-w Information on absence of warranty for GNU Emacs Language Help C Describe coding system I Describe input method L Describe language environment h Display the HELLO file illustrating various scripts --00000000000071b0fc05bd6d7c20 Content-Type: text/x-diff; charset="US-ASCII"; name="0001-Improved-help-for-help.patch" Content-Disposition: attachment; filename="0001-Improved-help-for-help.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: deb767e19f2c9368_0.1 RnJvbSAyYWNhN2RkNzg3ODU1NzRkMjMzMTAzYmY5MGUwYWM0NzRjMTg4MWM1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVmYW4gS2FuZ2FzIDxzdGVmYW5AbWFyeGlzdC5zZT4KRGF0 ZTogTW9uLCA4IE1hciAyMDIxIDA2OjQwOjA4ICswMTAwClN1YmplY3Q6IFtQQVRDSF0gSW1wcm92 ZWQgaGVscC1mb3ItaGVscAoKLS0tCiBsaXNwL2hlbHAtbWFjcm8uZWwgfCAgIDkgKystCiBsaXNw L2hlbHAuZWwgICAgICAgfCAxNTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDExNCBpbnNlcnRpb25zKCspLCA1MSBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9saXNwL2hlbHAtbWFjcm8uZWwgYi9saXNwL2hlbHAtbWFjcm8u ZWwKaW5kZXggNzIzNzFhODcyNy4uMjJlMTE4MWZlZSAxMDA2NDQKLS0tIGEvbGlzcC9oZWxwLW1h Y3JvLmVsCisrKyBiL2xpc3AvaGVscC1tYWNyby5lbApAQCAtMTMyLDcgKzEzMiw3IEBAIG1ha2Ut aGVscC1zY3JlZW4KICAgICAgICAgICAgICAgICh3aGVuIChvciAoZXEgY2hhciA/PykgKGVxIGNo YXIgaGVscC1jaGFyKQogICAgICAgICAgICAgICAgICAgICAgICAgIChtZW1xIGNoYXIgaGVscC1l dmVudC1saXN0KSkKICAgICAgICAgICAgICAgICAgKHNldHEgY29uZmlnIChjdXJyZW50LXdpbmRv dy1jb25maWd1cmF0aW9uKSkKLSAgICAgICAgICAgICAgICAgKHBvcC10by1idWZmZXIgIiAqTWV0 YWhlbHAqIiBuaWwgdCkKKyAgICAgICAgICAgICAgICAgKHBvcC10by1idWZmZXIgIiAqSGVscCBP dmVydmlldyoiIG5pbCB0KQogICAgICAgICAgICAgICAgICAoYW5kIChmYm91bmRwICdtYWtlLWZy YW1lKQogICAgICAgICAgICAgICAgICAgICAgIChub3QgKGVxICh3aW5kb3ctZnJhbWUpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldi1mcmFtZSkpCkBAIC0xNjYsNyArMTY2LDEy IEBAIG1ha2UtaGVscC1zY3JlZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZv cm1hdCAiVHlwZSBvbmUgb2YgdGhlIG9wdGlvbnMgbGlzdGVkJXM6ICIKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgKHBvcy12aXNpYmxlLWluLXdpbmRvdy1wCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocG9pbnQtbWF4KSkK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiIgIiwgb3IgU1BB Q0Ugb3IgREVMIHRvIHNjcm9sbCIpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChjb25jYXQgICIsIG9yICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChoZWxwLS1rZXktZGVzY3JpcHRpb24tZm9udGlmaWVkICJccyIpIDsgU1BD CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIG9y ICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICho ZWxwLS1rZXktZGVzY3JpcHRpb24tZm9udGlmaWVkICJcZCIpIDsgREVMCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIHRvIHNjcm9sbCIpKSkpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyIChhcmVmIGtleSAwKSkpCiAKICAgICAgICAg ICAgICAgICAgICA7OyBJZiB0aGlzIGlzIGEgc2Nyb2xsIGJhciBjb21tYW5kLCBqdXN0IHJ1biBp dC4KZGlmZiAtLWdpdCBhL2xpc3AvaGVscC5lbCBiL2xpc3AvaGVscC5lbAppbmRleCBkNGJlOWFh NzIwLi41YzRkZmYwNmI3IDEwMDY0NAotLS0gYS9saXNwL2hlbHAuZWwKKysrIGIvbGlzcC9oZWxw LmVsCkBAIC0xODcsNTggKzE4NywxMTYgQEAgaGVscC1wcmludC1yZXR1cm4tbWVzc2FnZQogOzsg U28ga2V5Ym9hcmQgbWFjcm8gZGVmaW5pdGlvbnMgYXJlIGRvY3VtZW50ZWQgY29ycmVjdGx5CiAo ZnNldCAnZGVmaW5pbmcta2JkLW1hY3JvIChzeW1ib2wtZnVuY3Rpb24gJ3N0YXJ0LWtiZC1tYWNy bykpCiAKKwwKKzs7OyBIZWxwIGZvciBoZWxwLiAgKGEuay5hLiBgQy1oIEMtaCcpCisKKyhkZWZm YWNlIGhlbHAtZm9yLWhlbHAtaGVhZGVyICcoKHQgOmhlaWdodCAxLjI2KSkKKyAgIkZhY2UgdXNl ZCBmb3IgaGVhZGVycyBpbiB0aGUgYGhlbHAtZm9yLWhlbHAnIGJ1ZmZlci4iCisgIDpncm91cCAn aGVscCkKKworKGRlZmZhY2UgaGVscC1mb3ItaGVscC1iaW5kaW5nLWFyZ3VtZW50ICcoKHQgOmZv cmVncm91bmQgIlBhbGVHcmVlbjMiKSkKKyAgIkZhY2UgdXNlZCBmb3IgaGVhZGVycyBpbiB0aGUg YGhlbHAtZm9yLWhlbHAnIGJ1ZmZlci4iCisgIDpncm91cCAnaGVscCkKKworKGRlZnVuIGhlbHAt LWZvci1oZWxwLW1ha2UtY29tbWFuZHMgKGNvbW1hbmRzKQorICAiQ3JlYXRlIGNvbW1hbmRzIGZv ciBgaGVscC1mb3ItaGVscCcgc2NyZWVuIGZyb20gQ09NTUFORFMuIgorICAobWFwY29uY2F0Cisg ICAobGFtYmRhIChjbWQpCisgICAgIChpZiAobGlzdHAgY21kKQorICAgICAgICAgKGxldCAoKG5h bWUgKGNhciBjbWQpKSAoYXJnIChjYWRyIGNtZCkpIChkZXNjIChjYWRkciBjbWQpKSkKKyAgICAg ICAgICAgKGNvbmNhdAorICAgICAgICAgICAgIiAgICIKKyAgICAgICAgICAgIChpZiAoc3RyaW5n LW1hdGNoIChyeCBzdHJpbmctc3RhcnQgIkMtIiB3b3JkIHN0cmluZy1lbmQpIG5hbWUpCisgICAg ICAgICAgICAgICAgOzsgYGhlbHAtLWtleS1kZXNjcmlwdGlvbi1mb250aWZpZWQnIHdvdWxkIGNv bnZlcnQgIkMtbSIgdG8KKyAgICAgICAgICAgICAgICA7OyAiUkVUIiBzbyB3ZSBjYW4ndCB1c2Ug aXQgaGVyZS4KKyAgICAgICAgICAgICAgICAocHJvcGVydGl6ZSBuYW1lICdmYWNlICdoZWxwLWtl eS1iaW5kaW5nKQorICAgICAgICAgICAgICAoY29uY2F0ICJcXFsiIG5hbWUgIl0iKSkKKyAgICAg ICAgICAgIDs7IChpZiBhcmcKKyAgICAgICAgICAgIDs7ICAgICAoY29uY2F0ICIgIiAocHJvcGVy dGl6ZSBhcmcgJ2ZhY2UgJ2hlbHAtZm9yLWhlbHAtYmluZGluZy1hcmd1bWVudCkpCisgICAgICAg ICAgICA7OyAgICIiKQorICAgICAgICAgICAgKHByb3BlcnRpemUgIlx0IiAnZGlzcGxheSAnKHNw YWNlIDphbGlnbi10byA4KSkKKyAgICAgICAgICAgIGRlc2MpKQorICAgICAgICIiKSkKKyAgIGNv bW1hbmRzICJcbiIpKQorCisoZGVmdW4gaGVscC0tZm9yLWhlbHAtbWFrZS1zZWN0aW9ucyAoc2Vj dGlvbnMpCisgICJDcmVhdGUgc2VjdGlvbnMgZm9yIGBoZWxwLWZvci1oZWxwJyBzY3JlZW4gZnJv bSBTRUNUSU9OUy4iCisgIChtYXBjb25jYXQKKyAgIChsYW1iZGEgKHNlY3Rpb24pCisgICAgIChs ZXQgKCh0aXRsZSAoY2FyIHNlY3Rpb24pKSAoY29tbWFuZHMgKGNkciBzZWN0aW9uKSkpCisgICAg ICAgKGNvbmNhdAorICAgICAgICAiXG5cbiIKKyAgICAgICAgKHByb3BlcnRpemUgKGNhciBzZWN0 aW9uKSAnZmFjZSAnaGVscC1mb3ItaGVscC1oZWFkZXIpCisgICAgICAgICJcblxuIgorICAgICAg ICAoaGVscC0tZm9yLWhlbHAtbWFrZS1jb21tYW5kcyBjb21tYW5kcykpKSkKKyAgIHNlY3Rpb25z ICIiKSkKKwogKGRlZmFsaWFzICdoZWxwICdoZWxwLWZvci1oZWxwKQogKG1ha2UtaGVscC1zY3Jl ZW4gaGVscC1mb3ItaGVscAogICAocHVyZWNvcHkgIlR5cGUgYSBoZWxwIG9wdGlvbjogW2FiY0Nk ZWZGZ2lJa0tsTG1ucHJzdHZ3Ll0gQy1bY2RlZm1ub3B0d10gb3IgPyIpCi0gICJZb3UgaGF2ZSB0 eXBlZCAlVEhJUy1LRVklLCB0aGUgaGVscCBjaGFyYWN0ZXIuICBUeXBlIGEgSGVscCBvcHRpb246 Ci1cKFVzZSBTUEMgb3IgREVMIHRvIHNjcm9sbCB0aHJvdWdoIHRoaXMgdGV4dC4gIFR5cGUgXFw8 aGVscC1tYXA+XFxbaGVscC1xdWl0XSB0byBleGl0IHRoZSBIZWxwIGNvbW1hbmQuKQotCi1cXFth cHJvcG9zLWNvbW1hbmRdIFBBVFRFUk4gICBTaG93IGNvbW1hbmRzIHdob3NlIG5hbWUgbWF0Y2hl cyB0aGUgUEFUVEVSTiAoYSBsaXN0IG9mIHdvcmRzCi0gICAgICAgICAgICAgIG9yIGEgcmVnZXhw KS4gIFNlZSBhbHNvIFxcW2Fwcm9wb3NdLgotXFxbZGVzY3JpYmUtYmluZGluZ3NdICAgICAgICAg ICBEaXNwbGF5IGFsbCBrZXkgYmluZGluZ3MuCi1cXFtkZXNjcmliZS1rZXktYnJpZWZseV0gS0VZ UyAgICAgIERpc3BsYXkgdGhlIGNvbW1hbmQgbmFtZSBydW4gYnkgdGhlIGdpdmVuIGtleSBzZXF1 ZW5jZS4KLVxcW2Rlc2NyaWJlLWNvZGluZy1zeXN0ZW1dIENPRElORyAgICBEZXNjcmliZSB0aGUg Z2l2ZW4gY29kaW5nIHN5c3RlbSwgb3IgUkVUIGZvciBjdXJyZW50IG9uZXMuCi1cXFthcHJvcG9z LWRvY3VtZW50YXRpb25dIFBBVFRFUk4gICBTaG93IGEgbGlzdCBvZiBmdW5jdGlvbnMsIHZhcmlh YmxlcywgYW5kIG90aGVyIGl0ZW1zIHdob3NlCi0gICAgICAgICAgICAgIGRvY3VtZW50YXRpb24g bWF0Y2hlcyB0aGUgUEFUVEVSTiAoYSBsaXN0IG9mIHdvcmRzIG9yIGEgcmVnZXhwKS4KLVxcW3Zp ZXctZWNoby1hcmVhLW1lc3NhZ2VzXSAgICAgICAgICAgR28gdG8gdGhlICpNZXNzYWdlcyogYnVm ZmVyIHdoaWNoIGxvZ3MgZWNoby1hcmVhIG1lc3NhZ2VzLgotXFxbZGVzY3JpYmUtZnVuY3Rpb25d IEZVTkNUSU9OICBEaXNwbGF5IGRvY3VtZW50YXRpb24gZm9yIHRoZSBnaXZlbiBmdW5jdGlvbi4K LVxcW0luZm8tZ290by1lbWFjcy1jb21tYW5kLW5vZGVdIENPTU1BTkQgICBTaG93IHRoZSBFbWFj cyBtYW51YWwncyBzZWN0aW9uIHRoYXQgZGVzY3JpYmVzIHRoZSBjb21tYW5kLgotXFxbZGVzY3Jp YmUtZ251LXByb2plY3RdICAgICAgICAgICBEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBH TlUgcHJvamVjdC4KLVxcW3ZpZXctaGVsbG8tZmlsZV0gICAgICAgICAgIERpc3BsYXkgdGhlIEhF TExPIGZpbGUgd2hpY2ggaWxsdXN0cmF0ZXMgdmFyaW91cyBzY3JpcHRzLgotXFxbaW5mb10gICAg ICAgICAgIFN0YXJ0IHRoZSBJbmZvIGRvY3VtZW50YXRpb24gcmVhZGVyOiByZWFkIGluY2x1ZGVk IG1hbnVhbHMuCi1cXFtkZXNjcmliZS1pbnB1dC1tZXRob2RdIE1FVEhPRCAgICBEZXNjcmliZSBh IHNwZWNpZmljIGlucHV0IG1ldGhvZCwgb3IgUkVUIGZvciBjdXJyZW50LgotXFxbZGVzY3JpYmUt a2V5XSBLRVlTICAgICAgRGlzcGxheSB0aGUgZnVsbCBkb2N1bWVudGF0aW9uIGZvciB0aGUga2V5 IHNlcXVlbmNlLgotXFxbSW5mby1nb3RvLWVtYWNzLWtleS1jb21tYW5kLW5vZGVdIEtFWVMgICAg ICBTaG93IHRoZSBFbWFjcyBtYW51YWwncyBzZWN0aW9uIGZvciB0aGUgY29tbWFuZCBib3VuZCB0 byBLRVlTLgotXFxbdmlldy1sb3NzYWdlXSAgICAgICAgICAgU2hvdyBsYXN0IDMwMCBpbnB1dCBr ZXlzdHJva2VzIChsb3NzYWdlKS4KLVxcW2Rlc2NyaWJlLWxhbmd1YWdlLWVudmlyb25tZW50XSBM QU5HLUVOViAgRGVzY3JpYmUgYSBzcGVjaWZpYyBsYW5ndWFnZSBlbnZpcm9ubWVudCwgb3IgUkVU IGZvciBjdXJyZW50LgotXFxbZGVzY3JpYmUtbW9kZV0gICAgICAgICAgIERpc3BsYXkgZG9jdW1l bnRhdGlvbiBvZiBjdXJyZW50IG1pbm9yIG1vZGVzIGFuZCBjdXJyZW50IG1ham9yIG1vZGUsCi0g ICAgICAgICAgICAgaW5jbHVkaW5nIHRoZWlyIHNwZWNpYWwgY29tbWFuZHMuCi1cXFt2aWV3LWVt YWNzLW5ld3NdICAgICAgICAgICBEaXNwbGF5IG5ld3Mgb2YgcmVjZW50IEVtYWNzIGNoYW5nZXMu Ci1cXFtkZXNjcmliZS1zeW1ib2xdIFNZTUJPTCAgICBEaXNwbGF5IHRoZSBnaXZlbiBmdW5jdGlv biBvciB2YXJpYWJsZSdzIGRvY3VtZW50YXRpb24gYW5kIHZhbHVlLgotXFxbZmluZGVyLWJ5LWtl eXdvcmRdIFRPUElDICAgICBGaW5kIHBhY2thZ2VzIG1hdGNoaW5nIGEgZ2l2ZW4gdG9waWMga2V5 d29yZC4KLVxcW2Rlc2NyaWJlLXBhY2thZ2VdIFBBQ0tBR0UgICBEZXNjcmliZSB0aGUgZ2l2ZW4g RW1hY3MgTGlzcCBwYWNrYWdlLgotXFxbaW5mby1lbWFjcy1tYW51YWxdICAgICAgICAgICBEaXNw bGF5IHRoZSBFbWFjcyBtYW51YWwgaW4gSW5mbyBtb2RlLgotXFxbaW5mby1kaXNwbGF5LW1hbnVh bF0gICAgICAgICAgIFByb21wdCBmb3IgYSBtYW51YWwgYW5kIHRoZW4gZGlzcGxheSBpdCBpbiBJ bmZvIG1vZGUuCi1cXFtkZXNjcmliZS1zeW50YXhdICAgICAgICAgICBEaXNwbGF5IGNvbnRlbnRz IG9mIGN1cnJlbnQgc3ludGF4IHRhYmxlLCBwbHVzIGV4cGxhbmF0aW9ucy4KLVxcW2luZm8tbG9v a3VwLXN5bWJvbF0gU1lNQk9MICAgIFNob3cgdGhlIHNlY3Rpb24gZm9yIHRoZSBnaXZlbiBzeW1i b2wgaW4gdGhlIEluZm8gbWFudWFsCi0gICAgICAgICAgICAgIGZvciB0aGUgcHJvZ3JhbW1pbmcg bGFuZ3VhZ2UgdXNlZCBpbiB0aGlzIGJ1ZmZlci4KLVxcW2hlbHAtd2l0aC10dXRvcmlhbF0gICAg ICAgICAgIFN0YXJ0IHRoZSBFbWFjcyBsZWFybi1ieS1kb2luZyB0dXRvcmlhbC4KLVxcW2Rlc2Ny aWJlLXZhcmlhYmxlXSBWQVJJQUJMRSAgRGlzcGxheSB0aGUgZ2l2ZW4gdmFyaWFibGUncyBkb2N1 bWVudGF0aW9uIGFuZCB2YWx1ZS4KLVxcW3doZXJlLWlzXSBDT01NQU5EICAgRGlzcGxheSB3aGlj aCBrZXlzdHJva2VzIGludm9rZSB0aGUgZ2l2ZW4gY29tbWFuZCAod2hlcmUtaXMpLgotXFxbZGlz cGxheS1sb2NhbC1oZWxwXSAgICAgICAgICAgRGlzcGxheSBhbnkgYXZhaWxhYmxlIGxvY2FsIGhl bHAgYXQgcG9pbnQgaW4gdGhlIGVjaG8gYXJlYS4KLQotXFxbYWJvdXQtZW1hY3NdICAgICAgICAg SW5mb3JtYXRpb24gYWJvdXQgRW1hY3MuCi1cXFtkZXNjcmliZS1jb3B5aW5nXSAgICAgICAgIEVt YWNzIGNvcHlpbmcgcGVybWlzc2lvbiAoR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UpLgotXFxb dmlldy1lbWFjcy1kZWJ1Z2dpbmddICAgICAgICAgSW5zdHJ1Y3Rpb25zIGZvciBkZWJ1Z2dpbmcg R05VIEVtYWNzLgotXFxbdmlldy1leHRlcm5hbC1wYWNrYWdlc10gICAgICAgICBFeHRlcm5hbCBw YWNrYWdlcyBhbmQgaW5mb3JtYXRpb24gYWJvdXQgRW1hY3MuCi1cXFt2aWV3LWVtYWNzLUZBUV0g ICAgICAgICBFbWFjcyBGQVEuCi1DLW0gICAgICAgICBIb3cgdG8gb3JkZXIgcHJpbnRlZCBFbWFj cyBtYW51YWxzLgotQy1uICAgICAgICAgTmV3cyBvZiByZWNlbnQgRW1hY3MgY2hhbmdlcy4KLVxc W2Rlc2NyaWJlLWRpc3RyaWJ1dGlvbl0gICAgICAgICBFbWFjcyBvcmRlcmluZyBhbmQgZGlzdHJp YnV0aW9uIGluZm9ybWF0aW9uLgotXFxbdmlldy1lbWFjcy1wcm9ibGVtc10gICAgICAgICBJbmZv IGFib3V0IGtub3duIEVtYWNzIHByb2JsZW1zLgotXFxbc2VhcmNoLWZvcndhcmQtaGVscC1mb3It aGVscF0gICAgICAgICBTZWFyY2ggZm9yd2FyZCBcImhlbHAgd2luZG93XCIuCi1cXFt2aWV3LWVt YWNzLXRvZG9dICAgICAgICAgRW1hY3MgVE9ETyBsaXN0LgotXFxbZGVzY3JpYmUtbm8td2FycmFu dHldICAgICAgICAgSW5mb3JtYXRpb24gb24gYWJzZW5jZSBvZiB3YXJyYW50eSBmb3IgR05VIEVt YWNzLiIKKyAgKGNvbmNhdAorICAgIlwoVHlwZSAiCisgICAoaGVscC0ta2V5LWRlc2NyaXB0aW9u LWZvbnRpZmllZCAiXHMiKSA7IFNQQworICAgIiBvciAiCisgICAoaGVscC0ta2V5LWRlc2NyaXB0 aW9uLWZvbnRpZmllZCAiXGQiKSA7IERFTAorICAgIiB0byBzY3JvbGwsIG9yIFxcPGhlbHAtbWFw PlxcW2hlbHAtcXVpdF0gdG8gZXhpdC4pIgorICAgKGhlbHAtLWZvci1oZWxwLW1ha2Utc2VjdGlv bnMKKyAgICAnKCgiR2V0dGluZyBIZWxwIgorICAgICAgICgiZGVzY3JpYmUtbW9kZSIgbmlsCisg ICAgICAgICJIZWxwIGZvciBjdXJyZW50IG1pbm9yIGFuZCBtYWpvciBtb2RlcyBhbmQgdGhlaXIg Y29tbWFuZHMiKQorICAgICAgICgiZGVzY3JpYmUtYmluZGluZ3MiIG5pbCAiU2hvdyBhbGwga2V5 IGJpbmRpbmdzIikKKyAgICAgICAoImRlc2NyaWJlLWtleSIgIktFWVMiICJTaG93IGhlbHAgZm9y IGtleSIpCisgICAgICAgKCJkZXNjcmliZS1rZXktYnJpZWZseSIgIktFWVMiICJTaG93IGhlbHAg Zm9yIGtleSBicmllZmx5IikKKyAgICAgICAoIndoZXJlLWlzIiAiQ09NTUFORCIgIlNob3cgd2hp Y2gga2V5IHJ1bnMgYSBnaXZlbiBjb21tYW5kIikKKyAgICAgICAiIgorICAgICAgICgiYXByb3Bv cy1jb21tYW5kIiAiUEFUVEVSTiIKKyAgICAgICAgIlNlYXJjaCBmb3IgY29tbWFuZHMgKHNlZSBh bHNvIFxcW2Fwcm9wb3NdKSIpCisgICAgICAgKCJhcHJvcG9zLWRvY3VtZW50YXRpb24iICJQQVRU RVJOIgorICAgICAgICAiU2VhcmNoIGRvY3VtZW50YXRpb24gb2YgZnVuY3Rpb25zLCB2YXJpYWJs ZXMsIGFuZCBvdGhlciBpdGVtcyIpCisgICAgICAgKCJkZXNjcmliZS1mdW5jdGlvbiIgIkZVTkNU SU9OIiAiU2hvdyBoZWxwIGZvciBmdW5jdGlvbiIpCisgICAgICAgKCJkZXNjcmliZS1zeW1ib2wi ICJTWU1CT0wiICJTaG93IGhlbHAgZm9yIGZ1bmN0aW9uIG9yIHZhcmlhYmxlIikKKyAgICAgICAo ImRlc2NyaWJlLXZhcmlhYmxlIiAiVkFSSUFCTEUiICJTaG93IGhlbHAgZm9yIHZhcmlhYmxlIikp CisgICAgICAoIkluZm8gTWFudWFscyIKKyAgICAgICAoImluZm8tZW1hY3MtbWFudWFsIiBuaWwg IlNob3cgRW1hY3MgbWFudWFsIikKKyAgICAgICAoIkluZm8tZ290by1lbWFjcy1jb21tYW5kLW5v ZGUiICJDT01NQU5EIgorICAgICAgICAiU2hvdyBFbWFjcyBtYW51YWwgc2VjdGlvbiBmb3IgY29t bWFuZCIpCisgICAgICAgKCJJbmZvLWdvdG8tZW1hY3Mta2V5LWNvbW1hbmQtbm9kZSIgIktFWVMi CisgICAgICAgICJTaG93IEVtYWNzIG1hbnVhbCBzZWN0aW9uIGZvciBjb21tYW5kIGJvdW5kIHRv IGtleSIpCisgICAgICAgKCJpbmZvIiBuaWwgIlNob3cgYWxsIGluY2x1ZGVkIG1hbnVhbHMiKQor ICAgICAgICgiaW5mby1kaXNwbGF5LW1hbnVhbCIgIk1BTlVBTCIgIlNob3cgZ2l2ZW4gbWFudWFs IikKKyAgICAgICAoImluZm8tbG9va3VwLXN5bWJvbCIgIlNZTUJPTCIKKyAgICAgICAgIkZpbmQg c3ltYm9sIGluIEluZm8gbWFudWFsIGZvciBjdXJyZW50IHByb2dyYW1taW5nIGxhbmd1YWdlIikp CisgICAgICAoIk1pc2MgSGVscCIKKyAgICAgICAoImZpbmRlci1ieS1rZXl3b3JkIiAiVE9QSUMi ICJTZWFyY2ggZm9yIHBhY2thZ2VzIG1hdGNoaW5nIHRvcGljIikKKyAgICAgICAoImRlc2NyaWJl LXBhY2thZ2UiICJQQUNLQUdFIiAiRGVzY3JpYmUgRW1hY3MgTGlzcCBwYWNrYWdlIikKKyAgICAg ICAoInZpZXctZWNoby1hcmVhLW1lc3NhZ2VzIiBuaWwgIlNob3cgcmVjZW50IG1lc3NhZ2VzIikK KyAgICAgICAoImRlc2NyaWJlLWdudS1wcm9qZWN0IiBuaWwgIlNob3cgaW5mb3JtYXRpb24gYWJv dXQgdGhlIEdOVSBwcm9qZWN0IikKKyAgICAgICAoInZpZXctbG9zc2FnZSIgbmlsICJTaG93IGxh c3QgMzAwIGlucHV0IGtleXN0cm9rZXMgKGxvc3NhZ2UpIikKKyAgICAgICA7OyAoInZpZXctZW1h Y3MtbmV3cyIgbmlsICJTaG93IHJlY2VudCBFbWFjcyBjaGFuZ2VzIikgOyBkdXBsaWNhdGUKKyAg ICAgICAoImRlc2NyaWJlLXN5bnRheCIgbmlsICJTaG93IGN1cnJlbnQgc3ludGF4IHRhYmxlIikK KyAgICAgICAoImRpc3BsYXktbG9jYWwtaGVscCIgbmlsICJTaG93IGxvY2FsIGhlbHAgYXQgcG9p bnQiKQorICAgICAgICgiaGVscC13aXRoLXR1dG9yaWFsIiBuaWwKKyAgICAgICAgIlN0YXJ0IHRo ZSBFbWFjcyB0dXRvcmlhbCIpKQorICAgICAgKCJIZWxwIEZpbGVzIgorICAgICAgICgiYWJvdXQt ZW1hY3MiIG5pbCAiQWJvdXQgRW1hY3MiKQorICAgICAgICgiZGVzY3JpYmUtY29weWluZyIgbmls CisgICAgICAgICJFbWFjcyBjb3B5aW5nIHBlcm1pc3Npb24gKEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlKSIpCisgICAgICAgKCJ2aWV3LWVtYWNzLWRlYnVnZ2luZyIgbmlsICJEZWJ1Z2dpbmcg R05VIEVtYWNzIikKKyAgICAgICAoInZpZXctZXh0ZXJuYWwtcGFja2FnZXMiIG5pbCAiRXh0ZXJu YWwgcGFja2FnZXMiKQorICAgICAgICgidmlldy1lbWFjcy1GQVEiIG5pbCAiRW1hY3MgRkFRIikK KyAgICAgICAoIkMtbSIgbmlsICJPcmRlciBwcmludGVkIEVtYWNzIG1hbnVhbHMiKQorICAgICAg ICgiQy1uIiBuaWwgIk5ld3Mgb2YgcmVjZW50IEVtYWNzIGNoYW5nZXMiKQorICAgICAgICgiZGVz Y3JpYmUtZGlzdHJpYnV0aW9uIiBuaWwKKyAgICAgICAgIkVtYWNzIG9yZGVyaW5nIGFuZCBkaXN0 cmlidXRpb24gaW5mb3JtYXRpb24iKQorICAgICAgICgidmlldy1lbWFjcy1wcm9ibGVtcyIgbmls ICJLbm93biBFbWFjcyBwcm9ibGVtcyIpCisgICAgICAgKCJ2aWV3LWVtYWNzLXRvZG8iIG5pbCAi RW1hY3MgVE9ETyIpCisgICAgICAgKCJkZXNjcmliZS1uby13YXJyYW50eSIgbmlsCisgICAgICAg ICJJbmZvcm1hdGlvbiBvbiBhYnNlbmNlIG9mIHdhcnJhbnR5IGZvciBHTlUgRW1hY3MiKSkKKyAg ICAgICgiTGFuZ3VhZ2UgSGVscCIKKyAgICAgICAoImRlc2NyaWJlLWNvZGluZy1zeXN0ZW0iICJD T0RJTkciICJEZXNjcmliZSBjb2Rpbmcgc3lzdGVtIikKKyAgICAgICAoImRlc2NyaWJlLWlucHV0 LW1ldGhvZCIgIk1FVEhPRCIgIkRlc2NyaWJlIGlucHV0IG1ldGhvZCIpCisgICAgICAgKCJkZXNj cmliZS1sYW5ndWFnZS1lbnZpcm9ubWVudCIgIkxBTkctRU5WIiAiRGVzY3JpYmUgbGFuZ3VhZ2Ug ZW52aXJvbm1lbnQiKQorICAgICAgICgidmlldy1oZWxsby1maWxlIiBuaWwgIkRpc3BsYXkgdGhl IEhFTExPIGZpbGUgaWxsdXN0cmF0aW5nIHZhcmlvdXMgc2NyaXB0cyIpKSkpKQogICBoZWxwLW1h cCkKIAogDAotLSAKMi4zMC4xCgo= --00000000000071b0fc05bd6d7c20--