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.devel Subject: Re: Mistakes in commit log messages Date: Fri, 14 Apr 2023 22:45:44 -0700 Message-ID: <9c8826af-a160-d36f-7577-2bc5ec0c2004@gmail.com> References: <835ya5m4p0.fsf@gnu.org> <83v8i4arzt.fsf@gnu.org> <838rezardu.fsf@gnu.org> <319d616d-9230-0a82-331f-0f57488e4c80@gmail.com> <834jpm9s1g.fsf@gnu.org> <83v8i28b3j.fsf@gnu.org> <693285d2-e50b-289d-4f3e-ddd817ddc75b@gmail.com> <48d4dffa-cfa8-7949-3043-a1efa937902d@gmail.com> <838rew5lak.fsf@gnu.org> <5adfbf6f-fbcb-f4e8-3662-48bd5eb6a269@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------BpV3zCWtDbpH7LrzUHWRSEOx" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="1845"; mail-complaints-to="usenet@ciao.gmane.io" Cc: acm@muc.de, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Apr 15 07:46:59 2023 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 1pnYkU-0000H8-UQ for ged-emacs-devel@m.gmane-mx.org; Sat, 15 Apr 2023 07:46:59 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnYjb-0006n0-BM; Sat, 15 Apr 2023 01:46:03 -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 1pnYjO-0006iu-8Z for emacs-devel@gnu.org; Sat, 15 Apr 2023 01:45:55 -0400 Original-Received: from mail-pj1-x102d.google.com ([2607:f8b0:4864:20::102d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnYjL-00058n-OL; Sat, 15 Apr 2023 01:45:50 -0400 Original-Received: by mail-pj1-x102d.google.com with SMTP id l9-20020a17090a3f0900b0023d32684e7fso10022455pjc.1; Fri, 14 Apr 2023 22:45:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1681537545; x=1684129545; 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=gCGOsra5SCdx7dhheGTx8wXAXJSsBTQpytqU72LR3XI=; b=mIL06I1M3i7vPHbUOt2HkFGwcEC8C2Z82n2IKZM5fZYxyixyoIOFDL8rhKw9HL1K0Q yN8t4tNhIpakMGzShGNmUzRqy0aLwQeoidqKcrYRRmPuC7NCrjOeMQ9jDeaOR5Rh9dzK YTjJw0tu5EyXVYlHWcWQQPWr7fmU48LZwGDWy72vbfgYp5zRiX0XCTiakiRlCnnQCyyN RAByyJoJm7XuxbrUnECrAPonA6LegZU6xF9JAJobLde8hfVKpUHIjd+TU3gj6OxqkRP2 MRgdJr5BC23ZIDQDOVdYamU9wtnWRKOD/ugpedkk/f4nnkDng2DPZWu2wyCWPw7lpVov 5wyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681537545; x=1684129545; 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=gCGOsra5SCdx7dhheGTx8wXAXJSsBTQpytqU72LR3XI=; b=e0PxDrUpIKduP/c0FwCchXZDXUu7nyOvzCgtREM47ZSIY3/i8XrdWnRtZken5xXBw8 XN3V3r6UFBeixvLgTGOuEHSuZRTRtBq9QK4Krd/7Zg0BNyM4CsfsgusNBZAxJs8c8PI1 6pnKqS9Lr/k8zxHf+xHIZTh5QEuaCipvKahsS3xUfEAeUpYDSi6w+oSUNLvGgfkK7iyC WhTqepAZxHZFTINGBC6xygywantQ6I+PJAD3b6e6UQqK2ahX6MJjUxzZFldGrBHNmsBM gp8LxIAw6a1QDakxlpESN43QveWvAHKYlik/4C43IA3T/WfwLZQEqIOq5I861v2wNG1z RKmw== X-Gm-Message-State: AAQBX9fajAohvr2Yr0012DfowwHos4A3DZ7RPm0OZ0/1I8UVtTFfyfoU t8XcbIAqBl2HUII8vP8yviHTaLdY1xqUow== X-Google-Smtp-Source: AKy350aD3DIwZvLj1RorsAMvBb3ZQqun+iUaksiqGIcvfhx7VGaz6evSf4bbVW+ikLblC0NJggFkMA== X-Received: by 2002:a17:902:f94b:b0:1a2:9051:f09e with SMTP id kx11-20020a170902f94b00b001a29051f09emr4435020plb.21.1681537545433; Fri, 14 Apr 2023 22:45:45 -0700 (PDT) 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 o2-20020a170902bcc200b001a6a53c3b04sm1519352pls.306.2023.04.14.22.45.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 14 Apr 2023 22:45:44 -0700 (PDT) Content-Language: en-US In-Reply-To: <5adfbf6f-fbcb-f4e8-3662-48bd5eb6a269@gmail.com> Received-SPF: pass client-ip=2607:f8b0:4864:20::102d; envelope-from=jporterbugs@gmail.com; helo=mail-pj1-x102d.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, T_SCC_BODY_TEXT_LINE=-0.01 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:305319 Archived-At: This is a multi-part message in MIME format. --------------BpV3zCWtDbpH7LrzUHWRSEOx Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 4/14/2023 8:41 PM, Jim Porter wrote: > Ok, I think this patch should work, though I'll continue testing it > locally before I merge it. We could also merge this patch sooner if we > temporarily made the pre-push hook advisory (i.e. doesn't block a push). > That way, others can try these hooks out without it blocking anyone's > work. Then when we're happy with it, we can make the pre-push hook error > out on bad commit messages. Here are a couple small fixes after testing against the 2000 latest commits (though I haven't examined *all* the errors in detail). I fixed the hooks so that they actually close the pipes we use, and also made a regexp a bit more strict. Previously, it split file names by a comma and/or a space, but there are a few files with commas in their names, e.g. "test/lisp/net/eudc-resources/dc=gnu,dc=org.ldif". Now it handles those properly. Testing this, there are a bunch of commits where the first line is of the form "* Do something". Maybe the hooks should ignore cases like that, or we could just disallow that going forward. I don't have a strong opinion. There's also one more commit I'm not quite sure what to do about: 0a95a81d8d36722ccf030a6194ecd953fc257a59. It has this in the commit message: This fixes bug #61144. If the space around the * is "symmetric" we leave foo * bar unfontified, a multiplication operation. If it is "asymmetric" we fontify it as a pointer declaration. The second line of this excerpt is treated like a file entry. Maybe our hook could allow that if it were clever enough, or maybe this is a rare enough occurrence that we should just have committers reformat the message slightly. Almost all the other errors are due to commits from packages that were imported into the Emacs repo and their files moved around during the import (e.g. Eglot, use-package). --------------BpV3zCWtDbpH7LrzUHWRSEOx Content-Type: text/plain; charset=UTF-8; name="0001-Add-Git-hooks-to-check-filenames-listed-in-the-commi.patch" Content-Disposition: attachment; filename*0="0001-Add-Git-hooks-to-check-filenames-listed-in-the-commi.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA2ZTJhNzNkZmJhN2MwYjFhN2I0MDAwZjkzMDViNjY2OTExZjRhMTcxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFdlZCwgMTIgQXByIDIwMjMgMjM6MDM6MzEgLTA3MDAKU3ViamVjdDogW1BB VENIXSBBZGQgR2l0IGhvb2tzIHRvIGNoZWNrIGZpbGVuYW1lcyBsaXN0ZWQgaW4gdGhlIGNv bW1pdCBtZXNzYWdlCgoqIGJ1aWxkLWF1eC9naXQtaG9va3MvY29tbWl0LW1zZy1maWxlcy5h d2s6CiogYnVpbGQtYXV4L2dpdC1ob29rcy9wb3N0LWNvbW1pdDoKKiBidWlsZC1hdXgvZ2l0 LWhvb2tzL3ByZS1wdXNoOiBOZXcgZmlsZXMuLi4KKiBhdXRvZ2VuLnNoOiAuLi4gYWRkIHRo ZW0uCi0tLQogYXV0b2dlbi5zaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAz ICstCiBidWlsZC1hdXgvZ2l0LWhvb2tzL2NvbW1pdC1tc2ctZmlsZXMuYXdrIHwgOTYgKysr KysrKysrKysrKysrKysrKysrKysrCiBidWlsZC1hdXgvZ2l0LWhvb2tzL3Bvc3QtY29tbWl0 ICAgICAgICAgIHwgMjkgKysrKysrKwogYnVpbGQtYXV4L2dpdC1ob29rcy9wcmUtcHVzaCAg ICAgICAgICAgICB8IDcwICsrKysrKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDE5 NyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgYnVp bGQtYXV4L2dpdC1ob29rcy9jb21taXQtbXNnLWZpbGVzLmF3awogY3JlYXRlIG1vZGUgMTAw NzU1IGJ1aWxkLWF1eC9naXQtaG9va3MvcG9zdC1jb21taXQKIGNyZWF0ZSBtb2RlIDEwMDc1 NSBidWlsZC1hdXgvZ2l0LWhvb2tzL3ByZS1wdXNoCgpkaWZmIC0tZ2l0IGEvYXV0b2dlbi5z aCBiL2F1dG9nZW4uc2gKaW5kZXggYWY0YzJhZDE0ZGYuLjYxMjdlN2IyNGY0IDEwMDc1NQot LS0gYS9hdXRvZ2VuLnNoCisrKyBiL2F1dG9nZW4uc2gKQEAgLTM0MCw3ICszNDAsOCBAQCBo b29rcz0KIHRhaWxvcmVkX2hvb2tzPQogc2FtcGxlX2hvb2tzPQogCi1mb3IgaG9vayBpbiBj b21taXQtbXNnIHByZS1jb21taXQgcHJlcGFyZS1jb21taXQtbXNnOyBkbworZm9yIGhvb2sg aW4gY29tbWl0LW1zZyBwcmUtY29tbWl0IHByZXBhcmUtY29tbWl0LW1zZyBwb3N0LWNvbW1p dCBcCisgICAgICAgICAgICBwcmUtcHVzaCBjb21taXQtbXNnLWZpbGVzLmF3azsgZG8KICAg ICBjbXAgLS0gYnVpbGQtYXV4L2dpdC1ob29rcy8kaG9vayAiJGhvb2tzLyRob29rIiA+L2Rl di9udWxsIDI+JjEgfHwKIAl0YWlsb3JlZF9ob29rcz0iJHRhaWxvcmVkX2hvb2tzICRob29r IgogZG9uZQpkaWZmIC0tZ2l0IGEvYnVpbGQtYXV4L2dpdC1ob29rcy9jb21taXQtbXNnLWZp bGVzLmF3ayBiL2J1aWxkLWF1eC9naXQtaG9va3MvY29tbWl0LW1zZy1maWxlcy5hd2sKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmRhMDY2YjgzYmRkCi0tLSAv ZGV2L251bGwKKysrIGIvYnVpbGQtYXV4L2dpdC1ob29rcy9jb21taXQtbXNnLWZpbGVzLmF3 awpAQCAtMCwwICsxLDk2IEBACisjIENoZWNrIHRoZSBmaWxlIGxpc3Qgb2YgR05VIEVtYWNz IGNoYW5nZSBsb2cgZW50cmllcyBmb3IgZWFjaCBjb21taXQgU0hBLgorCisjIENvcHlyaWdo dCAyMDIzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisjIFRoaXMgZmlsZSBp cyBwYXJ0IG9mIEdOVSBFbWFjcy4KKworIyBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTog eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi eQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9m IHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u LgorCisjIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyMgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyMgYWxv bmcgd2l0aCBHTlUgRW1hY3MuICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9s aWNlbnNlcy8+LgorCitmdW5jdGlvbiBnZXRfY29tbWl0X2NoYW5nZXMoY29tbWl0X3NoYSwg Y2hhbmdlcywgICAgY21kLCBpLCBqLCBsZW4sIFwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICBiaXRzLCBmaWxlbmFtZSkgeworICAjIENvbGxlY3QgYWxsIHRoZSBmaWxlcyB0b3Vj aGVkIGluIHRoZSBzcGVjaWZpZWQgY29tbWl0LgorICBjbWQgPSAoImdpdCBsb2cgLTEgLS1u YW1lLXN0YXR1cyAtLWZvcm1hdD0gIiBjb21taXRfc2hhKQorICB3aGlsZSAoKGNtZCB8IGdl dGxpbmUpID4gMCkgeworICAgIGZvciAoaSA9IDI7IGkgPD0gTkY7IGkrKykgeworICAgICAg bGVuID0gc3BsaXQoJGksIGJpdHMsICIvIikKKyAgICAgIGZvciAoaiA9IDE7IGogPD0gbGVu OyBqKyspIHsKKyAgICAgICAgaWYgKGogPT0gMSkKKyAgICAgICAgICBmaWxlbmFtZSA9IGJp dHNbal0KKyAgICAgICAgZWxzZQorICAgICAgICAgIGZpbGVuYW1lID0gZmlsZW5hbWUgIi8i IGJpdHNbal0KKyAgICAgICAgY2hhbmdlc1tmaWxlbmFtZV0gPSAxCisgICAgICB9CisgICAg fQorICB9CisgIGNsb3NlKGNtZCkKK30KKworZnVuY3Rpb24gY2hlY2tfY29tbWl0X21zZ19m aWxlcyhjb21taXRfc2hhLCB2ZXJib3NlLCAgICBjaGFuZ2VzLCBnb29kLCBcCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNtZCwgbXNnLCBmaWxlbmFtZXNfc3RyLCBmaWxl bmFtZXMsIGkpIHsKKyAgZ2V0X2NvbW1pdF9jaGFuZ2VzKGNvbW1pdF9zaGEsIGNoYW5nZXMp CisgIGdvb2QgPSAxCisKKyAgY21kID0gKCJnaXQgbG9nIC0xIC0tZm9ybWF0PSVCICIgY29t bWl0X3NoYSkKKyAgd2hpbGUgKChjbWQgfCBnZXRsaW5lKSA+IDApIHsKKyAgICBpZiAodmVy Ym9zZSAmJiAhIG1zZykKKyAgICAgIG1zZyA9ICQwCisKKyAgICAjIEZpbmQgbGluZXMgdGhh dCByZWZlcmVuY2UgZmlsZXMuICBXZSBsb29rIGF0IGFueSBsaW5lIHN0YXJ0aW5nCisgICAg IyB3aXRoICIqIiAocG9zc2libHkgcHJlZml4ZWQgYnkgIjsgIikgd2hlcmUgdGhlIGZpbGUg cGFydCBzdGFydHMKKyAgICAjIHdpdGggYW4gYWxwaGFudW1lcmljIGNoYXJhY3Rlci4gIFRo ZSBmaWxlIHBhcnQgZW5kcyBpZiB3ZQorICAgICMgZW5jb3VudGVyIGFueSBvZiB0aGUgZm9s bG93aW5nIGNoYXJhY3RlcnM6IFsgKCA8IHsgOgorICAgIGlmICgvXig7ICk/XCpbIFx0XStb WzphbG51bTpdXS8gJiYgbWF0Y2goJDAsICJbWzphbG51bTpdXVteWyg8ezpdKiIpKSB7Cisg ICAgICAjIFRoZXJlIG1pZ2h0IGJlIG11bHRpcGxlIGZpbGVzIGxpc3RlZCBvbiB0aGlzIGxp bmUsIHNlcGFyYXRlZAorICAgICAgIyBieSBzcGFjZXMgKGFuZCBwb3NzaWJseSBhIGNvbW1h KS4gIEl0ZXJhdGUgb3ZlciBlYWNoIG9mIHRoZW0uCisgICAgICBzcGxpdChzdWJzdHIoJDAs IFJTVEFSVCwgUkxFTkdUSCksIGZpbGVuYW1lcywgIiw/W1s6Ymxhbms6XV0rIikKKyAgICAg IGZvciAoaSBpbiBmaWxlbmFtZXMpIHsKKyAgICAgICAgaWYgKGxlbmd0aChmaWxlbmFtZXNb aV0pICYmICEgKGZpbGVuYW1lc1tpXSBpbiBjaGFuZ2VzKSkgeworICAgICAgICAgIGlmIChn b29kKSB7CisgICAgICAgICAgICAjIFByaW50IGEgaGVhZGVyIGRlc2NyaWJpbmcgdGhlIGVy cm9yLgorICAgICAgICAgICAgaWYgKHZlcmJvc2UpCisgICAgICAgICAgICAgIHByaW50Zigi SW4gY29tbWl0ICVzIFwiJXNcIi4uLlxuIiwgc3Vic3RyKGNvbW1pdF9zaGEsIDEsIDEwKSwg bXNnKQorICAgICAgICAgICAgcHJpbnRmKCJGaWxlcyBsaXN0ZWQgaW4gY29tbWl0IG1lc3Nh Z2UsIGJ1dCBub3QgaW4gZGlmZjpcbiIpCisgICAgICAgICAgfQorICAgICAgICAgIHByaW50 ZigiICAlc1xuIiwgZmlsZW5hbWVzW2ldKQorICAgICAgICAgIGdvb2QgPSAwCisgICAgICAg IH0KKyAgICAgIH0KKyAgICB9CisgIH0KKyAgY2xvc2UoY21kKQorCisgIHJldHVybiBnb29k Cit9CisKK0JFR0lOIHsKKyAgaWYgKHJlYXNvbiA9PSAicHJlLXB1c2giKQorICAgIHZlcmJv c2UgPSAxCit9CisKKy9eW2EtejAtOV17NDB9JC8geworICBpZiAoISBjaGVja19jb21taXRf bXNnX2ZpbGVzKCQwLCB2ZXJib3NlKSkgeworICAgIHN0YXR1cyA9IDEKKyAgfQorfQorCitF TkQgeworICBpZiAoc3RhdHVzICE9IDApIHsKKyAgICBpZiAocmVhc29uID09ICJwcmUtcHVz aCIpCisgICAgICBlcnJvcl9tc2cgPSAiUHVzaCBhYm9ydGVkIgorICAgIGVsc2UKKyAgICAg IGVycm9yX21zZyA9ICJCYWQgY29tbWl0IG1lc3NhZ2UiCisgICAgcHJpbnRmKCIlczsgcGxl YXNlIHNlZSB0aGUgZmlsZSAnQ09OVFJJQlVURSdcbiIsIGVycm9yX21zZykKKyAgfQorICBl eGl0IHN0YXR1cworfQpkaWZmIC0tZ2l0IGEvYnVpbGQtYXV4L2dpdC1ob29rcy9wb3N0LWNv bW1pdCBiL2J1aWxkLWF1eC9naXQtaG9va3MvcG9zdC1jb21taXQKbmV3IGZpbGUgbW9kZSAx MDA3NTUKaW5kZXggMDAwMDAwMDAwMDAuLjRjMzBlYzc2ZTAyCi0tLSAvZGV2L251bGwKKysr IGIvYnVpbGQtYXV4L2dpdC1ob29rcy9wb3N0LWNvbW1pdApAQCAtMCwwICsxLDI5IEBACisj IS9iaW4vc2gKKyMgQ2hlY2sgdGhlIGZpbGUgbGlzdCBvZiBHTlUgRW1hY3MgY2hhbmdlIGxv ZyBlbnRyaWVzIGFmdGVyIGNvbW1pdHRpbmcuCisKKyMgQ29weXJpZ2h0IDIwMjMgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05V IEVtYWNzLgorCisjIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2Us IG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyMgR05VIEVt YWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws CisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KKworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5 IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIEdOVSBF bWFjcy4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisK KyMgUHJlZmVyIGdhd2sgaWYgYXZhaWxhYmxlLCBhcyBpdCBoYW5kbGVzIE5VTCBieXRlcyBw cm9wZXJseS4KK2lmIHR5cGUgZ2F3ayA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKyAgYXdrPSJn YXdrIgorZWxzZQorICBhd2s9ImF3ayIKK2ZpCisKK2dpdCByZXYtcGFyc2UgSEVBRCB8ICRh d2sgLXYgcmVhc29uPXBvc3QtY29tbWl0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg LWYgLmdpdC9ob29rcy9jb21taXQtbXNnLWZpbGVzLmF3awpkaWZmIC0tZ2l0IGEvYnVpbGQt YXV4L2dpdC1ob29rcy9wcmUtcHVzaCBiL2J1aWxkLWF1eC9naXQtaG9va3MvcHJlLXB1c2gK bmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAuLmIwMTg1YTk3YjI4Ci0t LSAvZGV2L251bGwKKysrIGIvYnVpbGQtYXV4L2dpdC1ob29rcy9wcmUtcHVzaApAQCAtMCww ICsxLDcwIEBACisjIS9iaW4vc2gKKyMgQ2hlY2sgdGhlIGZpbGUgbGlzdCBvZiBHTlUgRW1h Y3MgY2hhbmdlIGxvZyBlbnRyaWVzIGJlZm9yZSBwdXNoaW5nLgorCisjIENvcHlyaWdodCAy MDIzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisjIFRoaXMgZmlsZSBpcyBw YXJ0IG9mIEdOVSBFbWFjcy4KKworIyBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQor IyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRo ZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor CisjIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0 aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyMgWW91IHNob3VsZCBoYXZlIHJlY2Vp dmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyMgYWxvbmcg d2l0aCBHTlUgRW1hY3MuICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNl bnNlcy8+LgorCisjIFByZWZlciBnYXdrIGlmIGF2YWlsYWJsZSwgYXMgaXQgaGFuZGxlcyBO VUwgYnl0ZXMgcHJvcGVybHkuCitpZiB0eXBlIGdhd2sgPi9kZXYvbnVsbCAyPiYxOyB0aGVu CisgIGF3az0iZ2F3ayIKK2Vsc2UKKyAgYXdrPSJhd2siCitmaQorCisjIFN0YW5kYXJkIGlu cHV0IHJlY2VpdmVzIGxpbmVzIG9mIHRoZSBmb3JtOgorIyAgIDxsb2NhbCByZWY+IFNQIDxs b2NhbCBuYW1lPiBTUCA8cmVtb3RlIHJlZj4gU1AgPHJlbW90ZSBuYW1lPiBMRgorJGF3ayAt diBvcmlnaW5fbmFtZT0iJDEiICcKKyAgIyBJZiB0aGUgbG9jYWwgU0hBIGlzIGFsbCB6ZXJv ZXMsIGlnbm9yZSBpdC4KKyAgJDIgfiAvXjB7NDB9JC8geworICAgIG5leHQKKyAgfQorCisg ICQyIH4gL15bYS16MC05XXs0MH0kLyB7CisgICAgbmV3cmVmID0gJDIKKyAgICAjIElmIHRo ZSByZW1vdGUgU0hBIGlzIGFsbCB6ZXJvZXMsIHRoaXMgaXMgYSBuZXcgb2JqZWN0IHRvIGJl CisgICAgIyBwdXNoZWQgKGxpa2VseSBhIGJyYW5jaCkuICBHbyBiYWNrd2FyZHMgdW50aWwg d2UgZmluZCBhIFNIQSBvbgorICAgICMgYW4gb3JpZ2luIGJyYW5jaC4KKyAgICBpZiAoJDQg fiAvXjB7NDB9JC8pIHsKKyAgICAgIGJhY2sgPSAwCisgICAgICBjbWQgPSAoImdpdCBicmFu Y2ggLXIgLWwgJ1wnJyIgb3JpZ2luX25hbWUgIi8qJ1wnJyAtLWNvbnRhaW5zICIgXAorICAg ICAgICAgICAgIG5ld3JlZiAifiIgYmFjaykKKyAgICAgIHdoaWxlICgoY21kIHwgZ2V0bGlu ZSkgPT0gMCkgeworCisgICAgICAgICMgT25seSBsb29rIGJhY2sgYXQgbW9zdCAxMDAwIGNv bW1pdHMsIGp1c3QgaW4gY2FzZS4uLgorICAgICAgICBpZiAoYmFjaysrID4gMTAwMCkKKyAg ICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICAgIGNsb3NlKGNtZCkKKworICAgICAgY21k ID0gKCJnaXQgcmV2LXBhcnNlICIgbmV3cmVmICJ+IiBiYWNrKQorICAgICAgY21kIHwgZ2V0 bGluZSBvbGRyZWYKKyAgICAgIGlmICghKG9sZHJlZiB+IC9eW2EtejAtOV17NDB9JC8pKSB7 CisgICAgICAgICMgVGhlIFNIQSBpcyBtaXNmb3JtYXR0ZWQhICBTa2lwIHRoaXMgbGluZS4K KyAgICAgICAgbmV4dAorICAgICAgfQorICAgICAgY2xvc2UoY21kKQorICAgIH0gZWxzZSBp ZiAoJDQgfiAvXlthLXowLTldezQwfSQvKSAgeworICAgICAgb2xkcmVmID0gJDQKKyAgICB9 IGVsc2UgeworICAgICAgIyBUaGUgU0hBIGlzIG1pc2Zvcm1hdHRlZCEgIFNraXAgdGhpcyBs aW5lLgorICAgICAgbmV4dAorICAgIH0KKworICAgICMgUHJpbnQgZXZlcnkgU0hBIGFmdGVy IG9sZHJlZiwgdXAgdG8gKGFuZCBpbmNsdWRpbmcpIG5ld3JlZi4KKyAgICBzeXN0ZW0oImdp dCByZXYtbGlzdCAtLXJldmVyc2UgIiBvbGRyZWYgIi4uIiBuZXdyZWYpCisgIH0KKycgfCAk YXdrIC12IHJlYXNvbj1wcmUtcHVzaCAtZiAuZ2l0L2hvb2tzL2NvbW1pdC1tc2ctZmlsZXMu YXdrCi0tIAoyLjI1LjEKCg== --------------BpV3zCWtDbpH7LrzUHWRSEOx--