From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jim Porter Newsgroups: gmane.emacs.bugs Subject: bug#66756: 30.0.50; [PATCH] Improve discussion of 'let' in Elisp Introduction manual Date: Sat, 18 Nov 2023 21:30:11 -0800 Message-ID: References: <3ade119d-0f0d-e60e-1bdc-9c7e02c1559c@gmail.com> <381836df-c16f-b3e7-d0c4-473290e165de@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------u39TyNpGDhlethcqzINtvb0H" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="27376"; mail-complaints-to="usenet@ciao.gmane.io" Cc: eliz@gnu.org, 66756@debbugs.gnu.org To: rms@gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Nov 19 06:31:29 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1r4aP3-0006z0-1c for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 19 Nov 2023 06:31:29 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r4aOe-00079T-Ep; Sun, 19 Nov 2023 00:31:04 -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 1r4aOd-00079K-1M for bug-gnu-emacs@gnu.org; Sun, 19 Nov 2023 00:31:03 -0500 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1r4aOb-0007JE-Bo for bug-gnu-emacs@gnu.org; Sun, 19 Nov 2023 00:31:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1r4aOc-0000zZ-I5 for bug-gnu-emacs@gnu.org; Sun, 19 Nov 2023 00:31:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 19 Nov 2023 05:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66756 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 66756-submit@debbugs.gnu.org id=B66756.17003718253757 (code B ref 66756); Sun, 19 Nov 2023 05:31:02 +0000 Original-Received: (at 66756) by debbugs.gnu.org; 19 Nov 2023 05:30:25 +0000 Original-Received: from localhost ([127.0.0.1]:49757 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r4aO0-0000yW-DG for submit@debbugs.gnu.org; Sun, 19 Nov 2023 00:30:25 -0500 Original-Received: from mail-oo1-xc33.google.com ([2607:f8b0:4864:20::c33]:61775) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r4aNv-0000yE-I5 for 66756@debbugs.gnu.org; Sun, 19 Nov 2023 00:30:22 -0500 Original-Received: by mail-oo1-xc33.google.com with SMTP id 006d021491bc7-5849fc56c62so2203215eaf.3 for <66756@debbugs.gnu.org>; Sat, 18 Nov 2023 21:30:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700371812; x=1700976612; darn=debbugs.gnu.org; h=in-reply-to:references:cc:to:from:content-language:subject :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=F47wi46MY3GHqFOKoyWSAI3I28LKqQu7Mk8RbHOiPbk=; b=KLUIdGO11Smy2YNZ8iNEfEy5/huHdmA3AljkBvfeceldwS7LCAhYb+WoVqU2NcQMiu UNCovsdfWefe/dT7p47rOCim5ks0CJuKEovqVS0x6/mYyJq0WMlb/k8pMt7vkmxCxuvl mFSBrJ+cZ2/PEf3wTxMl3Yszes4v9m/fqr/RZ62vQXpjgoh0RdhUme6M871z9wokdrdR oT67+JgGAgDV3iQ3X27KNVOvQYsyzxz+2atio0EoRAgf88nwokcf3uFfJLzHyxprt1hn 3COxVjsyPl2g+54kYcgOn0JODwbSze0Po+74RsyqtNy1LiLJlOJEP/vaU596y13NZSeR Tr6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700371812; x=1700976612; h=in-reply-to:references:cc:to:from:content-language:subject :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=F47wi46MY3GHqFOKoyWSAI3I28LKqQu7Mk8RbHOiPbk=; b=whqINlDtZ4c6PNptyhjbdwBT1t0vOihfz/18PLgLhpWBwcjKw4QIe5d0jh2nv0IvTY BtzXrc2K7+RkjTxwwCWylnyczPmUyD7KNbX7mbJilSmyUsN4MsmPgnm8KhXBbdjo75hG O+3gnT+SbOoqLmyMBTlsCl1onEZQMjmIg4qS0J7zEttRt8jmB0CEL9WGBo9Z8Lge1xm5 a8nbKkYbe6daqgTcxMvKLeIYV+aYkG6v43XQVY/AdC+XWpZcqR1t57fl7WiZPTD4VEfF Qzn/VCG24ZwaMJNUT3on4BbKFF1XreM7N+qUGD6A/d9V4H3PPEcz0mFq+CXd5B0AzFvz /FkQ== X-Gm-Message-State: AOJu0YzTrzgSA87UIm4wbINFX2iqweeJGeZONTDAtcgNNkeOlPIivGoP PDBxfGfUjFUdJzKAzG5LLqtICORZC84= X-Google-Smtp-Source: AGHT+IFjUM3fx8roP9stpTXMN3VkqZNmTqgfvn5kEJlC4rk7DFWTZYJXjQ4jjRHSaSGBUhE2s2nXcw== X-Received: by 2002:a05:6870:2f05:b0:1ea:2c8b:e18e with SMTP id qj5-20020a0568702f0500b001ea2c8be18emr5180574oab.8.1700371812595; Sat, 18 Nov 2023 21:30:12 -0800 (PST) Original-Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com. [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id d14-20020a17090a564e00b002851466f471sm1215739pji.31.2023.11.18.21.30.11 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 18 Nov 2023 21:30:12 -0800 (PST) Content-Language: en-US In-Reply-To: <381836df-c16f-b3e7-d0c4-473290e165de@gmail.com> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:274584 Archived-At: This is a multi-part message in MIME format. --------------u39TyNpGDhlethcqzINtvb0H Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 11/18/2023 9:25 PM, Jim Porter wrote: > I believe that's the goal, yes. I've added a note that the maintainers > eventually plan on making lexical binding the default. Oops, I forgot to finish rewording one sentence in my previous patch. Here's the fixed version. --------------u39TyNpGDhlethcqzINtvb0H Content-Type: text/plain; charset=UTF-8; name="0001-Introduce-let-using-lexical-binding-in-the-Lisp-Intr.patch" Content-Disposition: attachment; filename*0="0001-Introduce-let-using-lexical-binding-in-the-Lisp-Intr.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBhMWVmZmU5NmRlNmM2ZWYxZWMyZDk3ZTY1Y2NiMzgzZGU4NzAyMmZkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFdlZCwgMjUgT2N0IDIwMjMgMjA6NDM6NTcgLTA3MDAKU3ViamVjdDogW1BB VENIXSBJbnRyb2R1Y2UgJ2xldCcgdXNpbmcgbGV4aWNhbCBiaW5kaW5nIGluIHRoZSBMaXNw CiBJbnRyb2R1Y3Rpb24KCkJ1ZyM2Njc1Ni4KCiogZG9jL2xpc3BpbnRyby9lbWFjcy1saXNw LWludHJvLnRleGkgKFByZXZlbnQgY29uZnVzaW9uKTogUmV3b3JrIHRoZQpleHBsYW5hdGlv biB0byBkaXNjdXNzIGhvdyB0aGluZ3Mgd29yayB1bmRlciBsZXhpY2FsIGJpbmRpbmcuCihI b3cgbGV0IEJpbmRzIFZhcmlhYmxlcyk6IERlc2NyaWJlIHRoZSBkaWZmZXJlbmNlcyBiZXR3 ZWVuIGxleGljYWwKYW5kIGR5bmFtaWMgYmluZGluZyAoaW5jbHVkaW5nIGhvdyB0byBjb25m aWd1cmUgaXQpLgotLS0KIGRvYy9saXNwaW50cm8vZW1hY3MtbGlzcC1pbnRyby50ZXhpIHwg MTE1ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA5OCBp bnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2MvbGlzcGlu dHJvL2VtYWNzLWxpc3AtaW50cm8udGV4aSBiL2RvYy9saXNwaW50cm8vZW1hY3MtbGlzcC1p bnRyby50ZXhpCmluZGV4IGM1YjMzYWM1ZWFhLi41M2E1MWVkMDAxZCAxMDA2NDQKLS0tIGEv ZG9jL2xpc3BpbnRyby9lbWFjcy1saXNwLWludHJvLnRleGkKKysrIGIvZG9jL2xpc3BpbnRy by9lbWFjcy1saXNwLWludHJvLnRleGkKQEAgLTM1OTEsNiArMzU5MSw3IEBAIGxldAogKiBQ YXJ0cyBvZiBsZXQgRXhwcmVzc2lvbjo6CiAqIFNhbXBsZSBsZXQgRXhwcmVzc2lvbjo6CiAq IFVuaW5pdGlhbGl6ZWQgbGV0IFZhcmlhYmxlczo6CisqIEhvdyBsZXQgQmluZHMgVmFyaWFi bGVzOjoKIEBlbmQgbWVudQogCiBAaWZub3R0ZXgKQEAgLTM2MDEsMjUgKzM2MDIsMjIgQEAg UHJldmVudCBjb25mdXNpb24KIEBjaW5kZXggQHNhbXB7bG9jYWwgdmFyaWFibGV9IGRlZmlu ZWQKIEBjaW5kZXggQHNhbXB7dmFyaWFibGUsIGxvY2FsfSwgZGVmaW5lZAogVGhlIEBjb2Rl e2xldH0gc3BlY2lhbCBmb3JtIHByZXZlbnRzIGNvbmZ1c2lvbi4gIEBjb2Rle2xldH0gY3Jl YXRlcyBhCi1uYW1lIGZvciBhIEBkZm57bG9jYWwgdmFyaWFibGV9IHRoYXQgb3ZlcnNoYWRv d3MgYW55IHVzZSBvZiB0aGUgc2FtZQotbmFtZSBvdXRzaWRlIHRoZSBAY29kZXtsZXR9IGV4 cHJlc3Npb24uICBUaGlzIGlzIGxpa2UgdW5kZXJzdGFuZGluZwotdGhhdCB3aGVuZXZlciB5 b3VyIGhvc3QgcmVmZXJzIHRvIGBgdGhlIGhvdXNlJycsIGhlIG1lYW5zIGhpcyBob3VzZSwg bm90Ci15b3Vycy4gIChTeW1ib2xzIHVzZWQgaW4gYXJndW1lbnQgbGlzdHMgd29yayB0aGUg c2FtZSB3YXkuCituYW1lIGZvciBhIEBkZm57bG9jYWwgdmFyaWFibGV9IHRoYXQgb3ZlcnJp ZGVzIGFueSB1c2Ugb2YgdGhlIHNhbWUKK25hbWUgb3V0c2lkZSB0aGUgQGNvZGV7bGV0fSBl eHByZXNzaW9uIChpbiBjb21wdXRlciBzY2llbmNlIGphcmdvbiwgd2UKK2NhbGwgdGhpcyBg YGJpbmRpbmcnJyB0aGUgdmFyaWFibGUpLiAgVGhpcyBpcyBsaWtlIHVuZGVyc3RhbmRpbmcg dGhhdAoraW4geW91ciBob3N0J3MgaG9tZSwgd2hlbmV2ZXIgaGUgcmVmZXJzIHRvIGBgdGhl IGhvdXNlJycsIGhlIG1lYW5zIGhpcworaG91c2UsIG5vdCB5b3Vycy4gIChTeW1ib2xzIHVz ZWQgaW4gYXJndW1lbnQgbGlzdHMgd29yayB0aGUgc2FtZSB3YXkuCiBAeHJlZntkZWZ1biwg LCBUaGUgQGNvZGV7ZGVmdW59IE1hY3JvfS4pCiAKLUxvY2FsIHZhcmlhYmxlcyBjcmVhdGVk IGJ5IGEgQGNvZGV7bGV0fSBleHByZXNzaW9uIHJldGFpbiB0aGVpciB2YWx1ZQotQGVtcGh7 b25seX0gd2l0aGluIHRoZSBAY29kZXtsZXR9IGV4cHJlc3Npb24gaXRzZWxmIChhbmQgd2l0 aGluCi1leHByZXNzaW9ucyBjYWxsZWQgd2l0aGluIHRoZSBAY29kZXtsZXR9IGV4cHJlc3Np b24pOyB0aGUgbG9jYWwKLXZhcmlhYmxlcyBoYXZlIG5vIGVmZmVjdCBvdXRzaWRlIHRoZSBA Y29kZXtsZXR9IGV4cHJlc3Npb24uCi0KLUFub3RoZXIgd2F5IHRvIHRoaW5rIGFib3V0IEBj b2Rle2xldH0gaXMgdGhhdCBpdCBpcyBsaWtlIGEgQGNvZGV7c2V0cX0KLXRoYXQgaXMgdGVt cG9yYXJ5IGFuZCBsb2NhbC4gIFRoZSB2YWx1ZXMgc2V0IGJ5IEBjb2Rle2xldH0gYXJlCi1h dXRvbWF0aWNhbGx5IHVuZG9uZSB3aGVuIHRoZSBAY29kZXtsZXR9IGlzIGZpbmlzaGVkLiAg VGhlIHNldHRpbmcKLW9ubHkgYWZmZWN0cyBleHByZXNzaW9ucyB0aGF0IGFyZSBpbnNpZGUg dGhlIGJvdW5kcyBvZiB0aGUgQGNvZGV7bGV0fQotZXhwcmVzc2lvbi4gIEluIGNvbXB1dGVy IHNjaWVuY2UgamFyZ29uLCB3ZSB3b3VsZCBzYXkgdGhlIGJpbmRpbmcgb2YKLWEgc3ltYm9s IGlzIHZpc2libGUgb25seSBpbiBmdW5jdGlvbnMgY2FsbGVkIGluIHRoZSBAY29kZXtsZXR9 IGZvcm07Ci1pbiBFbWFjcyBMaXNwLCB0aGUgZGVmYXVsdCBzY29waW5nIGlzIGR5bmFtaWMs IG5vdCBsZXhpY2FsLiAgKFRoZQotbm9uLWRlZmF1bHQgbGV4aWNhbCBiaW5kaW5nIGlzIG5v dCBkaXNjdXNzZWQgaW4gdGhpcyBtYW51YWwuKQorQW5vdGhlciB3YXkgdG8gdGhpbmsgYWJv dXQgQGNvZGV7bGV0fSBpcyB0aGF0IGl0IGRlZmluZXMgYSBwbGFjZSBpbgoreW91ciBjb2Rl IHdoZXJlIHRoZSB2YXJpYWJsZXMgeW91IG5hbWVkIGhhdmUgdGhlaXIgb3duIGxvY2FsIG1l YW5pbmcuCitPdXRzaWRlIG9mIHRoZSBAY29kZXtsZXR9IGJvZHksIHRoZXkgaGF2ZSBhbm90 aGVyIG1lYW5pbmcgKG9yIHRoZXkgbWF5Citub3QgYmUgZGVmaW5lZCBhdCBhbGwpLiAgVGhp cyBtZWFucyB0aGF0IGluc2lkZSB0aGUgQGNvZGV7bGV0fSBib2R5LAorY2FsbGluZyBAY29k ZXtzZXRxfSBmb3IgYSB2YXJpYWJsZSBuYW1lZCBieSB0aGUgQGNvZGV7bGV0fSBleHByZXNz aW9uCit3aWxsIHNldCB0aGUgdmFsdWUgb2YgdGhlIEBlbXBoe2xvY2FsfSB2YXJpYWJsZSBv ZiB0aGF0IG5hbWUuICBUaGlzCithbHNvIG1lYW5zIHRoYXQgb3V0c2lkZSBvZiB0aGUgQGNv ZGV7bGV0fSBib2R5LCBjYWxsaW5nIEBjb2Rle3NldHF9Citmb3IgYSB2YXJpYWJsZSBuYW1l ZCBieSB0aGUgQGNvZGV7bGV0fSBleHByZXNzaW9uIHdpbGwgQGVtcGh7bm90fQorYWZmZWN0 IHRoYXQgbG9jYWwgdmFyaWFibGUuCiAKIEBjb2Rle2xldH0gY2FuIGNyZWF0ZSBtb3JlIHRo YW4gb25lIHZhcmlhYmxlIGF0IG9uY2UuICBBbHNvLAogQGNvZGV7bGV0fSBnaXZlcyBlYWNo IHZhcmlhYmxlIGl0IGNyZWF0ZXMgYW4gaW5pdGlhbCB2YWx1ZSwgZWl0aGVyIGEKQEAgLTM3 NzksNiArMzc3Nyw4OSBAQCBVbmluaXRpYWxpemVkIGxldCBWYXJpYWJsZXMKIEBzYW1weyVz fS4pICBUaGUgZm91ciB2YXJpYWJsZXMgYXMgYSBncm91cCBhcmUgcHV0IGludG8gYSBsaXN0 IHRvCiBkZWxpbWl0IHRoZW0gZnJvbSB0aGUgYm9keSBvZiB0aGUgQGNvZGV7bGV0fS4KIAor QG5vZGUgSG93IGxldCBCaW5kcyBWYXJpYWJsZXMKK0BzdWJzZWN0aW9uIEhvdyBAY29kZXts ZXR9IEJpbmRzIFZhcmlhYmxlcworQGNpbmRleCBMZXhpY2FsIGJpbmRpbmcKK0BjaW5kZXgg QmluZGluZywgbGV4aWNhbAorQGNpbmRleCBEeW5hbWljIGJpbmRpbmcKK0BjaW5kZXggQmlu ZGluZywgZHluYW1pYworCitFbWFjcyBMaXNwIHN1cHBvcnRzIHR3byBkaWZmZXJlbnQgd2F5 cyBvZiBiaW5kaW5nIHZhcmlhYmxlIG5hbWVzIHRvCit0aGVpciB2YWx1ZXMuICBUaGVzZSB3 YXlzIGFmZmVjdCB0aGUgcGFydHMgb2YgeW91ciBwcm9ncmFtIHdoZXJlIGEKK3BhcnRpY3Vs YXIgYmluZGluZyBpcyB2YWxpZCAoaW4gY29tcHV0ZXIgc2NpZW5jZSBqYXJnb24sIHdlIGNh bGwgdGhlc2UKK3BhcnRzIGEgYGBzY29wZScnKS4gIEZvciBoaXN0b3JpY2FsIHJlYXNvbnMs IEVtYWNzIExpc3AgdXNlcyBhIGZvcm0gb2YKK3ZhcmlhYmxlIGJpbmRpbmcgY2FsbGVkIGBg ZHluYW1pYyBiaW5kaW5nJycgYnkgZGVmYXVsdC4gIEhvd2V2ZXIsIGluCit0aGlzIG1hbnVh bCB3ZSBkaXNjdXNzIHRoZSBwcmVmZXJyZWQgZm9ybSBvZiBiaW5kaW5nLCBjYWxsZWQgYGBs ZXhpY2FsCitiaW5kaW5nJycsIHVubGVzcyBvdGhlcndpc2Ugbm90ZWQgKGluIHRoZSBmdXR1 cmUsIHRoZSBFbWFjcworbWFpbnRhaW5lcnMgcGxhbiB0byBjaGFuZ2UgdGhlIGRlZmF1bHQg dG8gbGV4aWNhbCBiaW5kaW5nKS4gIElmIHlvdQoraGF2ZSBwcm9ncmFtbWVkIGluIG90aGVy IGxhbmd1YWdlcyBiZWZvcmUsIHlvdSdyZSBsaWtlbHkgYWxyZWFkeQorZmFtaWxpYXIgd2l0 aCBob3cgbGV4aWNhbCBiaW5kaW5nIGJlaGF2ZXMuCisKK0luIG9yZGVyIHRvIHVzZSBsZXhp Y2FsIGJpbmRpbmcgaW4gYSBwcm9ncmFtLCB5b3Ugc2hvdWxkIGFkZCB0aGlzIHRvCit0aGUg Zmlyc3QgbGluZSBvZiB5b3VyIEVtYWNzIExpc3AgZmlsZToKKworQGV4YW1wbGUKKzs7OyAt Ki0gbGV4aWNhbC1iaW5kaW5nOiB0IC0qLQorQGVuZCBleGFtcGxlCisKK0ZvciBtb3JlIGlu Zm9ybWF0aW9uIGFib3V0IHRoaXMsIEBweHJlZntTZWxlY3RpbmcgTGlzcCBEaWFsZWN0LCAs ICwKK2VsaXNwLCBUaGUgRW1hY3MgTGlzcCBSZWZlcmVuY2UgTWFudWFsfS4KKworQXMgd2Ug ZGlzY3Vzc2VkIGJlZm9yZSwgdW5kZXIgbGV4aWNhbCBiaW5kaW5nLCBAY29kZXtsZXR9IGRl ZmluZXMgYQorQGVtcGh7cGxhY2V9IGluIHlvdXIgY29kZSB3aGVyZSB0aGUgdmFyaWFibGVz IGhhdmUgdGhlaXIgb3duIGxvY2FsCittZWFuaW5nLiAgVW5kZXIgZHluYW1pYyBiaW5kaW5n LCB0aGUgcnVsZXMgYXJlIGRpZmZlcmVudDogaW5zdGVhZCwgeW91CithcmUgZGVmaW5pbmcg YSBAZW1waHt0aW1lfSBpbiB5b3VyIGNvZGUgd2hlbiB0aGUgdmFyaWFibGVzIGhhdmUgdGhl aXIKK293biBsb2NhbCBtZWFuaW5nLgorCitBbm90aGVyIHdheSB0byB0aGluayBhYm91dCBA Y29kZXtsZXR9IHdoZW4gdXNpbmcgZHluYW1pYyBiaW5kaW5nIGlzCit0aGF0IGl0IGlzIGxp a2UgYSBAY29kZXtzZXRxfSB0aGF0IGlzIHRlbXBvcmFyeSBhbmQgbG9jYWwuICBUaGUgdmFs dWVzCitzZXQgYnkgQGNvZGV7bGV0fSBhcmUgYXV0b21hdGljYWxseSB1bmRvbmUgd2hlbiB0 aGUgQGNvZGV7bGV0fSBpcworZmluaXNoZWQuICBUaGUgc2V0dGluZyBvbmx5IGFmZmVjdHMg ZXhwcmVzc2lvbnMgdGhhdCBhcmUgaW5zaWRlIHRoZQorYm91bmRzIG9mIHRoZSBAY29kZXts ZXR9IGV4cHJlc3Npb24uCisKK0luIHNvbWUgY2FzZXMsIGJvdGggbGV4aWNhbCBhbmQgZHlu YW1pYyBiaW5kaW5nIGJlaGF2ZSBpZGVudGljYWxseS4KK0hvd2V2ZXIsIGluIG90aGVyIGNh c2VzLCB0aGV5IGNhbiBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgeW91ciBwcm9ncmFtLgorRm9y IGV4YW1wbGUsIHVuZGVyIGxleGljYWwgYmluZGluZywgaWYgeW91IGNhbGwgYSBmdW5jdGlv biBpbnNpZGUgb2YgYQorQGNvZGV7bGV0fSBib2R5LCB0aGF0IGZ1bmN0aW9uJ3MgYm9keSB3 b3VsZCBiZSB1bmFibGUgdG8gYGBzZWUnJyAob3IKK21vZGlmeSkgdGhlIHZhbHVlIG9mIGEg bG9jYWwgdmFyaWFibGUgZnJvbSB0aGUgQGNvZGV7bGV0fSBleHByZXNzaW9uOgorCitAZXhh bXBsZQorOzs7IC0qLSBsZXhpY2FsLWJpbmRpbmc6IHQgLSotCisKKyhzZXRxIHggMSkKKwor KGRlZnVuIGdldHggKCkKKyAgeCkKKworKGxldCAoKHggMikpCisgIChnZXR4KSkKKyAgICAg QHJlc3VsdHt9IDEKK0BlbmQgZXhhbXBsZQorCitAbm9pbmRlbnQKK0lmIHdlIHVzZSBkeW5h bWljIGJpbmRpbmcgaW5zdGVhZCwgdGhlIGJlaGF2aW9yIGlzIGRpZmZlcmVudDoKKworQGV4 YW1wbGUKKzs7OyAtKi0gbGV4aWNhbC1iaW5kaW5nOiBuaWwgLSotCisKKyhzZXRxIHggMSkK KworKGRlZnVuIGdldHggKCkKKyAgeCkKKworKGxldCAoKHggMikpCisgIChnZXR4KSkKKyAg ICAgQHJlc3VsdHt9IDIKK0BlbmQgZXhhbXBsZQorCitOb3csIHRoZSByZXN1bHQgb2YgQHNh bXB7KGdldHgpfSBpcyBAc2FtcHsyfSEgIFRoYXQncyBiZWNhdXNlIHVuZGVyCitkeW5hbWlj IGJpbmRpbmcsIHdoZW4gQGNvZGV7Z2V0eH0gbG9va3MgZm9yIHRoZSB2YWx1ZSBvZiBAY29k ZXt4fSwgaXQKK3NlZXMgdGhlIHZhbHVlIHdlIHNldCBpbiBvdXIgQGNvZGV7bGV0fSBleHBy ZXNzaW9uLiAgSW4gb3RoZXIgd29yZHMsCit0aGUgY2FsbCB0byBAY29kZXtnZXR4fSBoYXBw ZW5zIGR1cmluZyB0aGUgQGVtcGh7dGltZX0gd2hlbiBvdXIKK0Bjb2Rle2xldH0gZXhwcmVz c2lvbiBpcyBhY3RpdmUuICBVbmRlciBsZXhpY2FsIGJpbmRpbmcsIEBjb2Rle2dldHh9Citk b2Vzbid0IHNlZSB0aGUgdmFsdWUgZnJvbSBvdXIgQGNvZGV7bGV0fSBleHByZXNzaW9uLiAg VGhhdCdzIGJlY2F1c2UKK2l0IGhhcHBlbnMgaW4gYSBkaWZmZXJlbnQgQGVtcGh7cGxhY2V9 IHRoYW4gdGhlIEBjb2Rle2xldH0gYm9keS4KKwogQG5vZGUgaWYKIEBzZWN0aW9uIFRoZSBA Y29kZXtpZn0gU3BlY2lhbCBGb3JtCiBAZmluZGV4IGlmCi0tIAoyLjI1LjEKCg== --------------u39TyNpGDhlethcqzINtvb0H--