From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jim Blandy Newsgroups: gmane.emacs.bugs Subject: bug#58665: Indentation in lisp/emacs-lisp/syntax.el is wrong Date: Thu, 20 Oct 2022 10:23:30 -0700 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="00000000000024008805eb7a96d9" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="10300"; mail-complaints-to="usenet@ciao.gmane.io" To: 58665@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Oct 20 19:41:08 2022 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 1olZXY-0002V1-AD for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 20 Oct 2022 19:41:08 +0200 Original-Received: from localhost ([::1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1olZXV-00010C-3m for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 20 Oct 2022 13:41:05 -0400 Original-Received: from [::1] (helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1olZXV-0000rb-0t for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 20 Oct 2022 13:41:05 -0400 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 1olZXT-0000qt-0U for bug-gnu-emacs@gnu.org; Thu, 20 Oct 2022 13:41:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1olZXS-00042z-IJ for bug-gnu-emacs@gnu.org; Thu, 20 Oct 2022 13:41:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1olZXS-00078Y-BM for bug-gnu-emacs@gnu.org; Thu, 20 Oct 2022 13:41:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Jim Blandy Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 20 Oct 2022 17:41:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 58665 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.166628762027346 (code B ref -1); Thu, 20 Oct 2022 17:41:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 20 Oct 2022 17:40:20 +0000 Original-Received: from localhost ([127.0.0.1]:36073 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1olZWl-00076w-Es for submit@debbugs.gnu.org; Thu, 20 Oct 2022 13:40:20 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:34082) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1olZGk-0006hb-Ta for submit@debbugs.gnu.org; Thu, 20 Oct 2022 13:23:57 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:49610) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1olZGk-0008PI-JK for bug-gnu-emacs@gnu.org; Thu, 20 Oct 2022 13:23:46 -0400 Original-Received: from mail-oa1-x2a.google.com ([2001:4860:4864:20::2a]:40918) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1olZGh-00010h-Me for bug-gnu-emacs@gnu.org; Thu, 20 Oct 2022 13:23:46 -0400 Original-Received: by mail-oa1-x2a.google.com with SMTP id 586e51a60fabf-1364357a691so375041fac.7 for ; Thu, 20 Oct 2022 10:23:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mozilla.com; s=google; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=S+fvbtmtKHYy+RirIUXhNG6V90uMYLzHAOQVB6eokjY=; b=dXzIeuU6/kKwj1695S2cgltMCEjoXRoyb8BiM6LCN+4fHPy0DrJBX1YdwHhEhZzJV0 jgFHZ59lj3AIfzzSovuZV5j0mBn5pTbOVAoknI1pRdDD4R0r3aV7Wz17+apa4QtM8fh2 1SUvAXFR7A67Uwf6mTHOCjbWgS/sPPZnkYuk4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=S+fvbtmtKHYy+RirIUXhNG6V90uMYLzHAOQVB6eokjY=; b=u7BxavVOnXqnXMdZgY93y1S/ZnHnG6KuTxvV1rnk1Q+7+Ulg1GrHEZqAyHOwb1PZsI 1YHuEyvBfygyoo4kWggUkgwZxURmVAZ+gAGzKRHORcmRu2TyUD3dCXbTvr6BCZWOBk13 hA1jY7PmwgffSA8v2b9wTlvD40NGUk38iQWCkA8WqwhHDa/ZF6ZOfyIWOuAoLfb+tHV+ whOZmedEmcTwEOr183/jN2eB9zYmSPpLUEV+FVyhIkPPXH7kIpvgTFU+ujlCCXmZ3uY9 I1wBrH1aLewhQpdVCogwWT5hjTpKhkAw4TrCOpA9i5VFsn6zN2ysVv79J8N5LcYU5y4j RxHQ== X-Gm-Message-State: ACrzQf2hWt5Q67CoV9Noght3nbw72g7HQ/9PtEAB7JPEfoXlBFPNhSKK C0Z3glSnti8ihpQQgw8iw2hH9lpc+LSsfOMi8gdp7p1JX+AVAQ== X-Google-Smtp-Source: AMsMyM4WzEadyKZPvbGIuiQB6i/33s7FBLcm0Jaug0XhUfli2JWQ4sOp9aTEnCsz63H5Bk/lQEQuAvvRmSf/GnGFQtY= X-Received: by 2002:a05:6870:9a1d:b0:13a:cbf4:c5a8 with SMTP id fo29-20020a0568709a1d00b0013acbf4c5a8mr5800296oab.185.1666286620980; Thu, 20 Oct 2022 10:23:40 -0700 (PDT) Received-SPF: pass client-ip=2001:4860:4864:20::2a; envelope-from=jblandy@mozilla.com; helo=mail-oa1-x2a.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, HTML_MESSAGE=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-Mailman-Approved-At: Thu, 20 Oct 2022 13:40:18 -0400 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" Xref: news.gmane.io gmane.emacs.bugs:245943 Archived-At: --00000000000024008805eb7a96d9 Content-Type: multipart/alternative; boundary="00000000000024008605eb7a96d7" --00000000000024008605eb7a96d7 Content-Type: text/plain; charset="UTF-8" 2022-10-20 Jim Blandy * lisp/emacs-lisp/syntax.el: Fix indentation in `syntax-ppss'. --00000000000024008605eb7a96d7 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable --00000000000024008605eb7a96d7-- --00000000000024008805eb7a96d9 Content-Type: text/x-patch; charset="US-ASCII"; name="indent-syntax.el.patch" Content-Disposition: attachment; filename="indent-syntax.el.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l9hc0nrp0 MjAyMi0xMC0yMCAgSmltIEJsYW5keSAgPGppbWJAcmVkLWJlYW4uY29tPgoKCSogbGlzcC9lbWFj cy1saXNwL3N5bnRheC5lbDogRml4IGluZGVudGF0aW9uIGluIGBzeW50YXgtcHBzcycuCgpkaWZm IC0tZ2l0IGEvbGlzcC9lbWFjcy1saXNwL3N5bnRheC5lbCBiL2xpc3AvZW1hY3MtbGlzcC9zeW50 YXguZWwKaW5kZXggZTFiZTMwMTU4My4uZTU1MDA0N2JjYiAxMDA2NDQKLS0tIGEvbGlzcC9lbWFj cy1saXNwL3N5bnRheC5lbAorKysgYi9saXNwL2VtYWNzLWxpc3Avc3ludGF4LmVsCkBAIC02MTUs MTUwICs2MTUsMTUwIEBAIHN5bnRheC1wcHNzCiAgIChzeW50YXgtcHJvcGVydGl6ZSBwb3MpCiAg IDs7CiAgICh3aXRoLXN5bnRheC10YWJsZSAob3Igc3ludGF4LXBwc3MtdGFibGUgKHN5bnRheC10 YWJsZSkpCi0gIChsZXQqICgoY2VsbCAoc3ludGF4LXBwc3MtLWRhdGEpKQotICAgICAgICAgKHBw c3MtbGFzdCAoY2FyIGNlbGwpKQotICAgICAgICAgKHBwc3MtY2FjaGUgKGNkciBjZWxsKSkKLSAg ICAgICAgIChvbGQtcHBzcyAoY2RyIHBwc3MtbGFzdCkpCi0gICAgICAgICAob2xkLXBvcyAoY2Fy IHBwc3MtbGFzdCkpCi0gICAgICAgICAocHBzcyBuaWwpCi0gICAgICAgICAocHQtbWluIChwb2lu dC1taW4pKSkKLSAgICAoaWYgKGFuZCBvbGQtcG9zICg+IG9sZC1wb3MgcG9zKSkgKHNldHEgb2xk LXBvcyBuaWwpKQotICAgIDs7IFVzZSB0aGUgT0xELVBPUyBpZiB1c2FibGUgYW5kIGNsb3NlLiAg RG9uJ3QgdXBkYXRlIHRoZSBgbGFzdCcgY2FjaGUuCi0gICAgKGNvbmRpdGlvbi1jYXNlIG5pbAot CShpZiAoYW5kIG9sZC1wb3MgKDwgKC0gcG9zIG9sZC1wb3MpCi0JCQkgICAgOzsgVGhlIHRpbWUg dG8gdXNlIHN5bnRheC1iZWdpbi1mdW5jdGlvbiBhbmQKLQkJCSAgICA7OyBmaW5kIFBQU1MgaXMg YXNzdW1lZCB0byBiZSBhYm91dCAyICogZGlzdGFuY2UuCi0JCQkgICAgKGxldCAoKHBhaXIgKGFy ZWYgc3ludGF4LXBwc3Mtc3RhdHMgNSkpKQotCQkJICAgICAgKC8gKCogMiAoY2RyIHBhaXIpKSAo Y2FyIHBhaXIpKSkpKQotCSAgICAocHJvZ24KLQkgICAgICAoc3ludGF4LXBwc3MtLXVwZGF0ZS1z dGF0cyAwIG9sZC1wb3MgcG9zKQotCSAgICAgIChwYXJzZS1wYXJ0aWFsLXNleHAgb2xkLXBvcyBw b3MgbmlsIG5pbCBvbGQtcHBzcykpCi0KLQkgIChjb25kCi0JICAgOzsgVXNlIE9MRC1QUFNTIGlm IHBvc3NpYmxlIGFuZCBjbG9zZSBlbm91Z2guCi0JICAgKChhbmQgKG5vdCBvbGQtcG9zKSBvbGQt cHBzcwotICAgICAgICAgICAgICAgICA7OyBJZiBgcHQtbWluJyBpcyB0b28gZmFyIGZyb20gYHBv cycsIHdlIGNvdWxkIHRyeSB0byB1c2UKLQkJIDs7IG90aGVyIHBvc2l0aW9ucyBpbiAobnRoIDkg b2xkLXBwc3MpLCBidXQgdGhhdCBkb2Vzbid0Ci0JCSA7OyBzZWVtIHRvIGhhcHBlbiBpbiBwcmFj dGljZSBhbmQgaXQgd291bGQgY29tcGxpY2F0ZSB0aGlzCi0JCSA7OyBjb2RlIChhbmQgdGhlIGJl Zm9yZS1jaGFuZ2UtZnVuY3Rpb24gY29kZSBldmVuIG1vcmUpLgotCQkgOzsgQnV0IG1heWJlIGl0 IHdvdWxkIGJlIHVzZWZ1bCBpbiAiZGVnZW5lcmF0ZSIgY2FzZXMgc3VjaAotCQkgOzsgYXMgd2hl biB0aGUgd2hvbGUgZmlsZSBpcyB3cmFwcGVkIGluIGEgc2V0Ci0JCSA7OyBvZiBwYXJlbnRoZXNl cy4KLQkJIChzZXRxIHB0LW1pbiAob3IgKHN5bnRheC1wcHNzLXRvcGxldmVsLXBvcyBvbGQtcHBz cykKLQkJCQkgIChudGggMiBvbGQtcHBzcykpKQotCQkgKDw9IHB0LW1pbiBwb3MpICg8ICgtIHBv cyBwdC1taW4pIHN5bnRheC1wcHNzLW1heC1zcGFuKSkKLQkgICAgKHN5bnRheC1wcHNzLS11cGRh dGUtc3RhdHMgMSBwdC1taW4gcG9zKQotCSAgICAoc2V0cSBwcHNzIChwYXJzZS1wYXJ0aWFsLXNl eHAgcHQtbWluIHBvcykpKQotCSAgIDs7IFRoZSBPTEQtKiBkYXRhIGNhbid0IGJlIHVzZWQuICBD b25zdWx0IHRoZSBjYWNoZS4KLQkgICAodAotCSAgICAobGV0ICgoY2FjaGUtcHJlZCBuaWwpCi0J CSAgKGNhY2hlIHBwc3MtY2FjaGUpCi0JCSAgKHB0LW1pbiAocG9pbnQtbWluKSkKLQkJICA7OyBJ IGRpZmZlcmVudGlhdGUgYmV0d2VlbiBQVC1NSU4gYW5kIFBULUJFU1QgYmVjYXVzZQotCQkgIDs7 IEkgZmVlbCBsaWtlIGl0IG1pZ2h0IGJlIGltcG9ydGFudCB0byBlbnN1cmUgdGhhdCB0aGUKLQkJ ICA7OyBjYWNoZSBpcyBvbmx5IGZpbGxlZCB3aXRoIDEwMCUgc3VyZSBkYXRhICh3aGVyZWFzCi0J CSAgOzsgc3ludGF4LWJlZ2luLWZ1bmN0aW9uIG1pZ2h0IHJldHVybiBpbmNvcnJlY3QgZGF0YSku Ci0JCSAgOzsgTWF5YmUgdGhhdCdzIGp1c3Qgc3R1cGlkLgotCQkgIChwdC1iZXN0IChwb2ludC1t aW4pKQotCQkgIChwcHNzLWJlc3QgbmlsKSkKLQkgICAgICA7OyBsb29rIGZvciBhIHVzYWJsZSBj YWNoZSBlbnRyeS4KLQkgICAgICAod2hpbGUgKGFuZCBjYWNoZSAoPCBwb3MgKGNhYXIgY2FjaGUp KSkKLQkJKHNldHEgY2FjaGUtcHJlZCBjYWNoZSkKLQkJKHNldHEgY2FjaGUgKGNkciBjYWNoZSkp KQotCSAgICAgIChpZiBjYWNoZSAoc2V0cSBwdC1taW4gKGNhYXIgY2FjaGUpIHBwc3MgKGNkYXIg Y2FjaGUpKSkKLQotCSAgICAgIDs7IFNldHVwIHRoZSBiZWZvcmUtY2hhbmdlIGZ1bmN0aW9uIGlm IG5lY2Vzc2FyeS4KLQkgICAgICAodW5sZXNzIChvciBwcHNzLWNhY2hlIHBwc3MtbGFzdCkKLSAg ICAgICAgICAgICAgICA7OyBOb3RlOiBjb21iaW5lLWNoYW5nZS1jYWxscy0xIG5lZWRzIHRvIGJl IGtlcHQgaW4gc3luYwotICAgICAgICAgICAgICAgIDs7IHdpdGggdGhpcyEKLQkJKGFkZC1ob29r ICdiZWZvcmUtY2hhbmdlLWZ1bmN0aW9ucwotCQkJICAjJ3N5bnRheC1wcHNzLWZsdXNoLWNhY2hl Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIDs7IFdlIHNob3VsZCBiZSBlaXRoZXIgdGhlIHZl cnkgbGFzdCBmdW5jdGlvbiBvbgotICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBiZWZvcmUt Y2hhbmdlLWZ1bmN0aW9ucyBvciB0aGUgdmVyeSBmaXJzdCBvbgotICAgICAgICAgICAgICAgICAg ICAgICAgICA7OyBhZnRlci1jaGFuZ2UtZnVuY3Rpb25zLgotICAgICAgICAgICAgICAgICAgICAg ICAgICA5OSB0KSkKLQotCSAgICAgIDs7IFVzZSB0aGUgYmVzdCBvZiBPTEQtUE9TIGFuZCBDQUNI RS4KLQkgICAgICAoaWYgKG9yIChub3Qgb2xkLXBvcykgKDwgb2xkLXBvcyBwdC1taW4pKQotCQkg IChzZXRxIHB0LWJlc3QgcHQtbWluIHBwc3MtYmVzdCBwcHNzKQotCQkoc3ludGF4LXBwc3MtLXVw ZGF0ZS1zdGF0cyA0IG9sZC1wb3MgcG9zKQotCQkoc2V0cSBwdC1iZXN0IG9sZC1wb3MgcHBzcy1i ZXN0IG9sZC1wcHNzKSkKLQotCSAgICAgIDs7IFVzZSB0aGUgYHN5bnRheC1iZWdpbi1mdW5jdGlv bicgaWYgYXZhaWxhYmxlLgotCSAgICAgIDs7IFdlIGNvdWxkIHRyeSB1c2luZyB0aGF0IGZ1bmN0 aW9uIGVhcmxpZXIsIGJ1dDoKLQkgICAgICA7OyAtIFRoZSByZXN1bHQgbWlnaHQgbm90IGJlIDEw MCUgcmVsaWFibGUsIHNvIGl0J3MgYmV0dGVyIHRvIHVzZQotCSAgICAgIDs7ICAgdGhlIGNhY2hl IGlmIGF2YWlsYWJsZS4KLQkgICAgICA7OyAtIFRoZSBmdW5jdGlvbiBtaWdodCBiZSBzbG93Lgot CSAgICAgIDs7IC0gSWYgdGhpcyBmdW5jdGlvbiBhbG1vc3QgYWx3YXlzIGZpbmRzIGEgc2FmZSBu ZWFyYnkgc3BvdCwKLQkgICAgICA7OyAgIHRoZSBjYWNoZSB3b24ndCBiZSBwb3B1bGF0ZWQsIHNv IGNvbnN1bHRpbmcgaXQgaXMgY2hlYXAuCi0JICAgICAgKHdoZW4gKGFuZCBzeW50YXgtYmVnaW4t ZnVuY3Rpb24KLQkJCSAocHJvZ24gKGdvdG8tY2hhciBwb3MpCi0JCQkJKGZ1bmNhbGwgc3ludGF4 LWJlZ2luLWZ1bmN0aW9uKQotCQkJCTs7IE1ha2Ugc3VyZSBpdCdzIGJldHRlci4KLQkJCQkoPiAo cG9pbnQpIHB0LWJlc3QpKQotCQkJIDs7IFNpbXBsZSBzYW5pdHkgY2hlY2tzLgotICAgICAgICAg ICAgICAgICAgICAgICAgICg8IChwb2ludCkgcG9zKSA7IGJhY2t3YXJkLXBhcmFncmFwaCBjYW4g ZmFpbCBoZXJlLgotCQkJIChub3QgKG1lbXEgKGdldC10ZXh0LXByb3BlcnR5IChwb2ludCkgJ2Zh Y2UpCi0JCQkJICAgICcoZm9udC1sb2NrLXN0cmluZy1mYWNlIGZvbnQtbG9jay1kb2MtZmFjZQot CQkJCSAgICAgIGZvbnQtbG9jay1jb21tZW50LWZhY2UpKSkpCi0JCShzeW50YXgtcHBzcy0tdXBk YXRlLXN0YXRzIDUgKHBvaW50KSBwb3MpCi0JCShzZXRxIHB0LWJlc3QgKHBvaW50KSBwcHNzLWJl c3QgbmlsKSkKLQotCSAgICAgIChjb25kCi0JICAgICAgIDs7IFF1aWNrIGNhc2Ugd2hlbiB3ZSBm b3VuZCBhIG5lYXJieSBwb3MuCi0JICAgICAgICgoPCAoLSBwb3MgcHQtYmVzdCkgc3ludGF4LXBw c3MtbWF4LXNwYW4pCi0JCShzeW50YXgtcHBzcy0tdXBkYXRlLXN0YXRzIDIgcHQtYmVzdCBwb3Mp Ci0JCShzZXRxIHBwc3MgKHBhcnNlLXBhcnRpYWwtc2V4cCBwdC1iZXN0IHBvcyBuaWwgbmlsIHBw c3MtYmVzdCkpKQotCSAgICAgICA7OyBTbG93IGNhc2U6IGNvbXB1dGUgdGhlIHN0YXRlIGZyb20g c29tZSBrbm93biBwb3NpdGlvbiBhbmQKLQkgICAgICAgOzsgcG9wdWxhdGUgdGhlIGNhY2hlIHNv IHdlIHdvbid0IG5lZWQgdG8gZG8gaXQgYWdhaW4gc29vbi4KLQkgICAgICAgKHQKLQkJKHN5bnRh eC1wcHNzLS11cGRhdGUtc3RhdHMgMyBwdC1taW4gcG9zKQotICAgICAgICAgICAgICAgIChzZXRx IHN5bnRheC1wcHNzLS11cGRhdGVkLWNhY2hlIHQpCi0KLQkJOzsgSWYgYHB0LW1pbicgaXMgdG9v IGZhciwgYWRkIGEgZmV3IGludGVybWVkaWF0ZSBlbnRyaWVzLgotCQkod2hpbGUgKD4gKC0gcG9z IHB0LW1pbikgKCogMiBzeW50YXgtcHBzcy1tYXgtc3BhbikpCi0JCSAgKHNldHEgcHBzcyAocGFy c2UtcGFydGlhbC1zZXhwCi0JCQkgICAgICBwdC1taW4gKHNldHEgcHQtbWluICgvICgrIHB0LW1p biBwb3MpIDIpKQotCQkJICAgICAgbmlsIG5pbCBwcHNzKSkKLSAgICAgICAgICAgICAgICAgIChw dXNoIChjb25zIHB0LW1pbiBwcHNzKQotICAgICAgICAgICAgICAgICAgICAgICAgKGlmIGNhY2hl LXByZWQgKGNkciBjYWNoZS1wcmVkKSBwcHNzLWNhY2hlKSkpCi0KLQkJOzsgQ29tcHV0ZSB0aGUg YWN0dWFsIHJldHVybiB2YWx1ZS4KLQkJKHNldHEgcHBzcyAocGFyc2UtcGFydGlhbC1zZXhwIHB0 LW1pbiBwb3MgbmlsIG5pbCBwcHNzKSkKLQotCQk7OyBEZWJ1Z2dpbmcgY2hlY2suCi0JCTs7IChs ZXQgKChyZWFsLXBwc3MgKHBhcnNlLXBhcnRpYWwtc2V4cCAocG9pbnQtbWluKSBwb3MpKSkKLQkJ OzsgICAoc2V0Y2FyIChsYXN0IHBwc3MgNCkgMCkKLQkJOzsgICAoc2V0Y2FyIChsYXN0IHJlYWwt cHBzcyA0KSAwKQotCQk7OyAgIChzZXRjYXIgKGxhc3QgcHBzcyA4KSBuaWwpCi0JCTs7ICAgKHNl dGNhciAobGFzdCByZWFsLXBwc3MgOCkgbmlsKQotCQk7OyAgICh1bmxlc3MgKGVxdWFsIHBwc3Mg cmVhbC1wcHNzKQotCQk7OyAgICAgKG1lc3NhZ2UgIiEhU3ludGF4OiAlcyAhPSAlcyIgcHBzcyBy ZWFsLXBwc3MpCi0JCTs7ICAgICAoc2V0cSBwcHNzIHJlYWwtcHBzcykpKQotCi0JCTs7IFN0b3Jl IGl0IGluIHRoZSBjYWNoZS4KLQkJKGxldCAoKHBhaXIgKGNvbnMgcG9zIHBwc3MpKSkKLQkJICAo aWYgY2FjaGUtcHJlZAotCQkgICAgICAoaWYgKD4gKC0gKGNhYXIgY2FjaGUtcHJlZCkgcG9zKSBz eW50YXgtcHBzcy1tYXgtc3BhbikKLQkJCSAgKHB1c2ggcGFpciAoY2RyIGNhY2hlLXByZWQpKQot CQkJKHNldGNhciBjYWNoZS1wcmVkIHBhaXIpKQotCQkgICAgKGlmIChvciAobnVsbCBwcHNzLWNh Y2hlKQotCQkJICAgICg+ICgtIChjYWFyIHBwc3MtY2FjaGUpIHBvcykKLQkJCSAgICAgICBzeW50 YXgtcHBzcy1tYXgtc3BhbikpCi0JCQkocHVzaCBwYWlyIHBwc3MtY2FjaGUpCi0JCSAgICAgIChz ZXRjYXIgcHBzcy1jYWNoZSBwYWlyKSkpKSkpKSkpCi0KLSAgICAgICAgICAoc2V0cSBzeW50YXgt cHBzcy0tdXBkYXRlZC1jYWNoZSB0KQotCSAgKHNldHEgcHBzcy1sYXN0IChjb25zIHBvcyBwcHNz KSkKLSAgICAgICAgICAoc2V0Y2FyIGNlbGwgcHBzcy1sYXN0KQotICAgICAgICAgIChzZXRjZHIg Y2VsbCBwcHNzLWNhY2hlKQotCSAgcHBzcykKLSAgICAgIChhcmdzLW91dC1vZi1yYW5nZQotICAg ICAgIDs7IElmIHRoZSBidWZmZXIgaXMgbW9yZSBuYXJyb3dlZCB0aGFuIHdoZW4gd2UgYnVpbHQg dGhlIGNhY2hlLAotICAgICAgIDs7IHdlIG1heSBlbmQgdXAgY2FsbGluZyBwYXJzZS1wYXJ0aWFs LXNleHAgd2l0aCBhIHBvc2l0aW9uIGJlZm9yZQotICAgICAgIDs7IHBvaW50LW1pbi4gIEluIHRo YXQgY2FzZSwganVzdCBwYXJzZSBmcm9tIHBvaW50LW1pbiBhc3N1bWluZwotICAgICAgIDs7IGEg bmlsIHN0YXRlLgotICAgICAgIChwYXJzZS1wYXJ0aWFsLXNleHAgKHBvaW50LW1pbikgcG9zKSkp KSkpCisgICAgKGxldCogKChjZWxsIChzeW50YXgtcHBzcy0tZGF0YSkpCisgICAgICAgICAgIChw cHNzLWxhc3QgKGNhciBjZWxsKSkKKyAgICAgICAgICAgKHBwc3MtY2FjaGUgKGNkciBjZWxsKSkK KyAgICAgICAgICAgKG9sZC1wcHNzIChjZHIgcHBzcy1sYXN0KSkKKyAgICAgICAgICAgKG9sZC1w b3MgKGNhciBwcHNzLWxhc3QpKQorICAgICAgICAgICAocHBzcyBuaWwpCisgICAgICAgICAgIChw dC1taW4gKHBvaW50LW1pbikpKQorICAgICAgKGlmIChhbmQgb2xkLXBvcyAoPiBvbGQtcG9zIHBv cykpIChzZXRxIG9sZC1wb3MgbmlsKSkKKyAgICAgIDs7IFVzZSB0aGUgT0xELVBPUyBpZiB1c2Fi bGUgYW5kIGNsb3NlLiAgRG9uJ3QgdXBkYXRlIHRoZSBgbGFzdCcgY2FjaGUuCisgICAgICAoY29u ZGl0aW9uLWNhc2UgbmlsCisJICAoaWYgKGFuZCBvbGQtcG9zICg8ICgtIHBvcyBvbGQtcG9zKQor CQkJICAgICAgOzsgVGhlIHRpbWUgdG8gdXNlIHN5bnRheC1iZWdpbi1mdW5jdGlvbiBhbmQKKwkJ CSAgICAgIDs7IGZpbmQgUFBTUyBpcyBhc3N1bWVkIHRvIGJlIGFib3V0IDIgKiBkaXN0YW5jZS4K KwkJCSAgICAgIChsZXQgKChwYWlyIChhcmVmIHN5bnRheC1wcHNzLXN0YXRzIDUpKSkKKwkJCSAg ICAgICAgKC8gKCogMiAoY2RyIHBhaXIpKSAoY2FyIHBhaXIpKSkpKQorCSAgICAgIChwcm9nbgor CSAgICAgICAgKHN5bnRheC1wcHNzLS11cGRhdGUtc3RhdHMgMCBvbGQtcG9zIHBvcykKKwkgICAg ICAgIChwYXJzZS1wYXJ0aWFsLXNleHAgb2xkLXBvcyBwb3MgbmlsIG5pbCBvbGQtcHBzcykpCisK KwkgICAgKGNvbmQKKwkgICAgIDs7IFVzZSBPTEQtUFBTUyBpZiBwb3NzaWJsZSBhbmQgY2xvc2Ug ZW5vdWdoLgorCSAgICAgKChhbmQgKG5vdCBvbGQtcG9zKSBvbGQtcHBzcworICAgICAgICAgICAg ICAgICAgIDs7IElmIGBwdC1taW4nIGlzIHRvbyBmYXIgZnJvbSBgcG9zJywgd2UgY291bGQgdHJ5 IHRvIHVzZQorCQkgICA7OyBvdGhlciBwb3NpdGlvbnMgaW4gKG50aCA5IG9sZC1wcHNzKSwgYnV0 IHRoYXQgZG9lc24ndAorCQkgICA7OyBzZWVtIHRvIGhhcHBlbiBpbiBwcmFjdGljZSBhbmQgaXQg d291bGQgY29tcGxpY2F0ZSB0aGlzCisJCSAgIDs7IGNvZGUgKGFuZCB0aGUgYmVmb3JlLWNoYW5n ZS1mdW5jdGlvbiBjb2RlIGV2ZW4gbW9yZSkuCisJCSAgIDs7IEJ1dCBtYXliZSBpdCB3b3VsZCBi ZSB1c2VmdWwgaW4gImRlZ2VuZXJhdGUiIGNhc2VzIHN1Y2gKKwkJICAgOzsgYXMgd2hlbiB0aGUg d2hvbGUgZmlsZSBpcyB3cmFwcGVkIGluIGEgc2V0CisJCSAgIDs7IG9mIHBhcmVudGhlc2VzLgor CQkgICAoc2V0cSBwdC1taW4gKG9yIChzeW50YXgtcHBzcy10b3BsZXZlbC1wb3Mgb2xkLXBwc3Mp CisJCQkJICAgIChudGggMiBvbGQtcHBzcykpKQorCQkgICAoPD0gcHQtbWluIHBvcykgKDwgKC0g cG9zIHB0LW1pbikgc3ludGF4LXBwc3MtbWF4LXNwYW4pKQorCSAgICAgIChzeW50YXgtcHBzcy0t dXBkYXRlLXN0YXRzIDEgcHQtbWluIHBvcykKKwkgICAgICAoc2V0cSBwcHNzIChwYXJzZS1wYXJ0 aWFsLXNleHAgcHQtbWluIHBvcykpKQorCSAgICAgOzsgVGhlIE9MRC0qIGRhdGEgY2FuJ3QgYmUg dXNlZC4gIENvbnN1bHQgdGhlIGNhY2hlLgorCSAgICAgKHQKKwkgICAgICAobGV0ICgoY2FjaGUt cHJlZCBuaWwpCisJCSAgICAoY2FjaGUgcHBzcy1jYWNoZSkKKwkJICAgIChwdC1taW4gKHBvaW50 LW1pbikpCisJCSAgICA7OyBJIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBQVC1NSU4gYW5kIFBULUJF U1QgYmVjYXVzZQorCQkgICAgOzsgSSBmZWVsIGxpa2UgaXQgbWlnaHQgYmUgaW1wb3J0YW50IHRv IGVuc3VyZSB0aGF0IHRoZQorCQkgICAgOzsgY2FjaGUgaXMgb25seSBmaWxsZWQgd2l0aCAxMDAl IHN1cmUgZGF0YSAod2hlcmVhcworCQkgICAgOzsgc3ludGF4LWJlZ2luLWZ1bmN0aW9uIG1pZ2h0 IHJldHVybiBpbmNvcnJlY3QgZGF0YSkuCisJCSAgICA7OyBNYXliZSB0aGF0J3MganVzdCBzdHVw aWQuCisJCSAgICAocHQtYmVzdCAocG9pbnQtbWluKSkKKwkJICAgIChwcHNzLWJlc3QgbmlsKSkK KwkgICAgICAgIDs7IGxvb2sgZm9yIGEgdXNhYmxlIGNhY2hlIGVudHJ5LgorCSAgICAgICAgKHdo aWxlIChhbmQgY2FjaGUgKDwgcG9zIChjYWFyIGNhY2hlKSkpCisJCSAgKHNldHEgY2FjaGUtcHJl ZCBjYWNoZSkKKwkJICAoc2V0cSBjYWNoZSAoY2RyIGNhY2hlKSkpCisJICAgICAgICAoaWYgY2Fj aGUgKHNldHEgcHQtbWluIChjYWFyIGNhY2hlKSBwcHNzIChjZGFyIGNhY2hlKSkpCisKKwkgICAg ICAgIDs7IFNldHVwIHRoZSBiZWZvcmUtY2hhbmdlIGZ1bmN0aW9uIGlmIG5lY2Vzc2FyeS4KKwkg ICAgICAgICh1bmxlc3MgKG9yIHBwc3MtY2FjaGUgcHBzcy1sYXN0KQorICAgICAgICAgICAgICAg ICAgOzsgTm90ZTogY29tYmluZS1jaGFuZ2UtY2FsbHMtMSBuZWVkcyB0byBiZSBrZXB0IGluIHN5 bmMKKyAgICAgICAgICAgICAgICAgIDs7IHdpdGggdGhpcyEKKwkJICAoYWRkLWhvb2sgJ2JlZm9y ZS1jaGFuZ2UtZnVuY3Rpb25zCisJCQkgICAgIydzeW50YXgtcHBzcy1mbHVzaC1jYWNoZQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDs7IFdlIHNob3VsZCBiZSBlaXRoZXIgdGhlIHZlcnkg bGFzdCBmdW5jdGlvbiBvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IGJlZm9yZS1j aGFuZ2UtZnVuY3Rpb25zIG9yIHRoZSB2ZXJ5IGZpcnN0IG9uCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOzsgYWZ0ZXItY2hhbmdlLWZ1bmN0aW9ucy4KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICA5OSB0KSkKKworCSAgICAgICAgOzsgVXNlIHRoZSBiZXN0IG9mIE9MRC1QT1MgYW5k IENBQ0hFLgorCSAgICAgICAgKGlmIChvciAobm90IG9sZC1wb3MpICg8IG9sZC1wb3MgcHQtbWlu KSkKKwkJICAgIChzZXRxIHB0LWJlc3QgcHQtbWluIHBwc3MtYmVzdCBwcHNzKQorCQkgIChzeW50 YXgtcHBzcy0tdXBkYXRlLXN0YXRzIDQgb2xkLXBvcyBwb3MpCisJCSAgKHNldHEgcHQtYmVzdCBv bGQtcG9zIHBwc3MtYmVzdCBvbGQtcHBzcykpCisKKwkgICAgICAgIDs7IFVzZSB0aGUgYHN5bnRh eC1iZWdpbi1mdW5jdGlvbicgaWYgYXZhaWxhYmxlLgorCSAgICAgICAgOzsgV2UgY291bGQgdHJ5 IHVzaW5nIHRoYXQgZnVuY3Rpb24gZWFybGllciwgYnV0OgorCSAgICAgICAgOzsgLSBUaGUgcmVz dWx0IG1pZ2h0IG5vdCBiZSAxMDAlIHJlbGlhYmxlLCBzbyBpdCdzIGJldHRlciB0byB1c2UKKwkg ICAgICAgIDs7ICAgdGhlIGNhY2hlIGlmIGF2YWlsYWJsZS4KKwkgICAgICAgIDs7IC0gVGhlIGZ1 bmN0aW9uIG1pZ2h0IGJlIHNsb3cuCisJICAgICAgICA7OyAtIElmIHRoaXMgZnVuY3Rpb24gYWxt b3N0IGFsd2F5cyBmaW5kcyBhIHNhZmUgbmVhcmJ5IHNwb3QsCisJICAgICAgICA7OyAgIHRoZSBj YWNoZSB3b24ndCBiZSBwb3B1bGF0ZWQsIHNvIGNvbnN1bHRpbmcgaXQgaXMgY2hlYXAuCisJICAg ICAgICAod2hlbiAoYW5kIHN5bnRheC1iZWdpbi1mdW5jdGlvbgorCQkJICAgKHByb2duIChnb3Rv LWNoYXIgcG9zKQorCQkJCSAgKGZ1bmNhbGwgc3ludGF4LWJlZ2luLWZ1bmN0aW9uKQorCQkJCSAg OzsgTWFrZSBzdXJlIGl0J3MgYmV0dGVyLgorCQkJCSAgKD4gKHBvaW50KSBwdC1iZXN0KSkKKwkJ CSAgIDs7IFNpbXBsZSBzYW5pdHkgY2hlY2tzLgorICAgICAgICAgICAgICAgICAgICAgICAgICAg KDwgKHBvaW50KSBwb3MpIDsgYmFja3dhcmQtcGFyYWdyYXBoIGNhbiBmYWlsIGhlcmUuCisJCQkg ICAobm90IChtZW1xIChnZXQtdGV4dC1wcm9wZXJ0eSAocG9pbnQpICdmYWNlKQorCQkJCSAgICAg ICcoZm9udC1sb2NrLXN0cmluZy1mYWNlIGZvbnQtbG9jay1kb2MtZmFjZQorCQkJCSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGZvbnQtbG9jay1jb21tZW50LWZhY2UpKSkpCisJCSAgKHN5 bnRheC1wcHNzLS11cGRhdGUtc3RhdHMgNSAocG9pbnQpIHBvcykKKwkJICAoc2V0cSBwdC1iZXN0 IChwb2ludCkgcHBzcy1iZXN0IG5pbCkpCisKKwkgICAgICAgIChjb25kCisJICAgICAgICAgOzsg UXVpY2sgY2FzZSB3aGVuIHdlIGZvdW5kIGEgbmVhcmJ5IHBvcy4KKwkgICAgICAgICAoKDwgKC0g cG9zIHB0LWJlc3QpIHN5bnRheC1wcHNzLW1heC1zcGFuKQorCQkgIChzeW50YXgtcHBzcy0tdXBk YXRlLXN0YXRzIDIgcHQtYmVzdCBwb3MpCisJCSAgKHNldHEgcHBzcyAocGFyc2UtcGFydGlhbC1z ZXhwIHB0LWJlc3QgcG9zIG5pbCBuaWwgcHBzcy1iZXN0KSkpCisJICAgICAgICAgOzsgU2xvdyBj YXNlOiBjb21wdXRlIHRoZSBzdGF0ZSBmcm9tIHNvbWUga25vd24gcG9zaXRpb24gYW5kCisJICAg ICAgICAgOzsgcG9wdWxhdGUgdGhlIGNhY2hlIHNvIHdlIHdvbid0IG5lZWQgdG8gZG8gaXQgYWdh aW4gc29vbi4KKwkgICAgICAgICAodAorCQkgIChzeW50YXgtcHBzcy0tdXBkYXRlLXN0YXRzIDMg cHQtbWluIHBvcykKKyAgICAgICAgICAgICAgICAgIChzZXRxIHN5bnRheC1wcHNzLS11cGRhdGVk LWNhY2hlIHQpCisKKwkJICA7OyBJZiBgcHQtbWluJyBpcyB0b28gZmFyLCBhZGQgYSBmZXcgaW50 ZXJtZWRpYXRlIGVudHJpZXMuCisJCSAgKHdoaWxlICg+ICgtIHBvcyBwdC1taW4pICgqIDIgc3lu dGF4LXBwc3MtbWF4LXNwYW4pKQorCQkgICAgKHNldHEgcHBzcyAocGFyc2UtcGFydGlhbC1zZXhw CisJCQkgICAgICAgIHB0LW1pbiAoc2V0cSBwdC1taW4gKC8gKCsgcHQtbWluIHBvcykgMikpCisJ CQkgICAgICAgIG5pbCBuaWwgcHBzcykpCisgICAgICAgICAgICAgICAgICAgIChwdXNoIChjb25z IHB0LW1pbiBwcHNzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgY2FjaGUtcHJlZCAo Y2RyIGNhY2hlLXByZWQpIHBwc3MtY2FjaGUpKSkKKworCQkgIDs7IENvbXB1dGUgdGhlIGFjdHVh bCByZXR1cm4gdmFsdWUuCisJCSAgKHNldHEgcHBzcyAocGFyc2UtcGFydGlhbC1zZXhwIHB0LW1p biBwb3MgbmlsIG5pbCBwcHNzKSkKKworCQkgIDs7IERlYnVnZ2luZyBjaGVjay4KKwkJICA7OyAo bGV0ICgocmVhbC1wcHNzIChwYXJzZS1wYXJ0aWFsLXNleHAgKHBvaW50LW1pbikgcG9zKSkpCisJ CSAgOzsgICAoc2V0Y2FyIChsYXN0IHBwc3MgNCkgMCkKKwkJICA7OyAgIChzZXRjYXIgKGxhc3Qg cmVhbC1wcHNzIDQpIDApCisJCSAgOzsgICAoc2V0Y2FyIChsYXN0IHBwc3MgOCkgbmlsKQorCQkg IDs7ICAgKHNldGNhciAobGFzdCByZWFsLXBwc3MgOCkgbmlsKQorCQkgIDs7ICAgKHVubGVzcyAo ZXF1YWwgcHBzcyByZWFsLXBwc3MpCisJCSAgOzsgICAgIChtZXNzYWdlICIhIVN5bnRheDogJXMg IT0gJXMiIHBwc3MgcmVhbC1wcHNzKQorCQkgIDs7ICAgICAoc2V0cSBwcHNzIHJlYWwtcHBzcykp KQorCisJCSAgOzsgU3RvcmUgaXQgaW4gdGhlIGNhY2hlLgorCQkgIChsZXQgKChwYWlyIChjb25z IHBvcyBwcHNzKSkpCisJCSAgICAoaWYgY2FjaGUtcHJlZAorCQkgICAgICAgIChpZiAoPiAoLSAo Y2FhciBjYWNoZS1wcmVkKSBwb3MpIHN5bnRheC1wcHNzLW1heC1zcGFuKQorCQkJICAgIChwdXNo IHBhaXIgKGNkciBjYWNoZS1wcmVkKSkKKwkJCSAgKHNldGNhciBjYWNoZS1wcmVkIHBhaXIpKQor CQkgICAgICAoaWYgKG9yIChudWxsIHBwc3MtY2FjaGUpCisJCQkgICAgICAoPiAoLSAoY2FhciBw cHNzLWNhY2hlKSBwb3MpCisJCQkgICAgICAgICBzeW50YXgtcHBzcy1tYXgtc3BhbikpCisJCQkg IChwdXNoIHBhaXIgcHBzcy1jYWNoZSkKKwkJICAgICAgICAoc2V0Y2FyIHBwc3MtY2FjaGUgcGFp cikpKSkpKSkpKQorCisgICAgICAgICAgICAoc2V0cSBzeW50YXgtcHBzcy0tdXBkYXRlZC1jYWNo ZSB0KQorCSAgICAoc2V0cSBwcHNzLWxhc3QgKGNvbnMgcG9zIHBwc3MpKQorICAgICAgICAgICAg KHNldGNhciBjZWxsIHBwc3MtbGFzdCkKKyAgICAgICAgICAgIChzZXRjZHIgY2VsbCBwcHNzLWNh Y2hlKQorCSAgICBwcHNzKQorICAgICAgICAoYXJncy1vdXQtb2YtcmFuZ2UKKyAgICAgICAgIDs7 IElmIHRoZSBidWZmZXIgaXMgbW9yZSBuYXJyb3dlZCB0aGFuIHdoZW4gd2UgYnVpbHQgdGhlIGNh Y2hlLAorICAgICAgICAgOzsgd2UgbWF5IGVuZCB1cCBjYWxsaW5nIHBhcnNlLXBhcnRpYWwtc2V4 cCB3aXRoIGEgcG9zaXRpb24gYmVmb3JlCisgICAgICAgICA7OyBwb2ludC1taW4uICBJbiB0aGF0 IGNhc2UsIGp1c3QgcGFyc2UgZnJvbSBwb2ludC1taW4gYXNzdW1pbmcKKyAgICAgICAgIDs7IGEg bmlsIHN0YXRlLgorICAgICAgICAgKHBhcnNlLXBhcnRpYWwtc2V4cCAocG9pbnQtbWluKSBwb3Mp KSkpKSkKIAogOzsgRGVidWdnaW5nIGZ1bmN0aW9ucwogCg== --00000000000024008805eb7a96d9--