From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Gregory Heytings Newsgroups: gmane.emacs.bugs Subject: bug#51993: 29.0.50; [PATCH] Killing emacsclient terminal with `server-stop-automatically' doesn't prompt to save files Date: Tue, 23 Nov 2021 09:48:13 +0000 Message-ID: <890d44ded2b56811ceff@heytings.org> References: <9e47c871-a2c3-d764-bec9-d87abf3efe83@gmail.com> <83pmqvti49.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="sgDcgKw0xL" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="34027"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Jim Porter , 51993@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Nov 23 10:49:20 2021 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 1mpSQR-0008bN-Nh for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 23 Nov 2021 10:49:19 +0100 Original-Received: from localhost ([::1]:57860 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mpSQP-0008UJ-IF for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 23 Nov 2021 04:49:17 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:50388) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mpSQA-0008U2-9E for bug-gnu-emacs@gnu.org; Tue, 23 Nov 2021 04:49:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:38497) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mpSQA-0002p1-03 for bug-gnu-emacs@gnu.org; Tue, 23 Nov 2021 04:49:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mpSQ9-0001HK-QZ for bug-gnu-emacs@gnu.org; Tue, 23 Nov 2021 04:49:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Gregory Heytings Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 23 Nov 2021 09:49:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 51993 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 51993-submit@debbugs.gnu.org id=B51993.16376609004861 (code B ref 51993); Tue, 23 Nov 2021 09:49:01 +0000 Original-Received: (at 51993) by debbugs.gnu.org; 23 Nov 2021 09:48:20 +0000 Original-Received: from localhost ([127.0.0.1]:50043 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mpSPT-0001GL-QW for submit@debbugs.gnu.org; Tue, 23 Nov 2021 04:48:20 -0500 Original-Received: from heytings.org ([95.142.160.155]:45828) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mpSPP-0001G9-Jr for 51993@debbugs.gnu.org; Tue, 23 Nov 2021 04:48:18 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20210101; t=1637660894; bh=4qdCcJrsE+NbySNYjvr4415GLpCDQxGS0XrjoBan5CU=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=Y5CrlCV2VegveB/AUZw6otr09+d9oYg9iAqLg0GI7t8273jlc9tfOnbTm0hvZfPoz ksolu4PcQpOkMYygwBdZcEWuUoImmhJ62fjDMB7W93iNBfm++lT5qqHqB3ZbSR8e+p KbfNsyoUH4msXSmIawfufg/6K1f0rg+90An1ma853E+jcrONQfRbJgGSjeD81Ic/+m 1TDHvJlkqYOpC1HZTFhORXukKicBkTxDVGop2plc+hei3tUv+QPNuCH4DO5smvFAQx xLfjGMRqOM3AYsHcN+ox86Lnc8JAM9wShX+WGV/SnDs/CONfY8TBk7PIK0oIDQw9eG gbULtFaiCfYjQ== In-Reply-To: <83pmqvti49.fsf@gnu.org> Content-ID: <890d44ded22c70b308ee@heytings.org> 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:220646 Archived-At: --sgDcgKw0xL Content-Type: text/plain; charset=us-ascii; format=flowed Content-ID: <890d44ded27785cbe645@heytings.org> >> When killing an emacsclient terminal via C-x C-c, it should prompt to >> save the files initially passed to emacsclient. To see this in action: >> >> $ emacs -Q --daemon >> $ emacsclient -a "" -c foo.txt >> $ emacsclient -a "" -c bar.txt >> >> ;; In the first client frame: >> foobar ;; Insert some text >> C-x C-c >> ;; Emacs prompts "Save file /path/to/foo.txt?..." >> >> Now try the above, but call `(server-stop-automatically 'delete-frame)' >> first (or replace `delete-frame' with `kill-terminal'; it doesn't >> matter). In this case, Emacs doesn't prompt to save the file. However, >> the docstring/comments in `server-save-buffers-kill-terminal' say that >> it should: "Offer to save each buffer, then kill the current client. >> ... Only files from emacsclient file list." > > Gregory, any comments? > This is not a bug, this is the intented behavior of that feature, which was discussed on emacs-devel and in bug#51377. But in commit 997ca88ef44 the word "last" disappeared in the explanation of the meaning of the symbol 'kill-terminal': "when the last frame is being closed" became "when the terminal is killed". Hence the confusion. I attached a patch which preserves the intended behavior of that feature, and adds a fourth possible behavior, the one Jim now wants. --sgDcgKw0xL Content-Type: text/x-diff; name=Improve-and-extend-server-stop-automatically.patch; charset=us-ascii Content-Transfer-Encoding: base64 Content-ID: <890d44ded2c14f37d541@heytings.org> Content-Description: Content-Disposition: attachment; filename=Improve-and-extend-server-stop-automatically.patch RnJvbSA0YTNiOGNlY2ZjMDkxY2I0OGY3N2Y4YTVhM2EzOTM0ZWMzODNkMjJk IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogR3JlZ29yeSBIZXl0 aW5ncyA8Z3JlZ29yeUBoZXl0aW5ncy5vcmc+DQpEYXRlOiBUdWUsIDIzIE5v diAyMDIxIDA5OjE3OjM5ICswMDAwDQpTdWJqZWN0OiBbUEFUQ0hdIEltcHJv dmUgYW5kIGV4dGVuZCBzZXJ2ZXItc3RvcC1hdXRvbWF0aWNhbGx5Lg0KDQoq IGxpc3Avc2VydmVyLmVsIChzZXJ2ZXItc3RvcC1hdXRvbWF0aWNhbGx5KTog QWRkIGFub3RoZXIgYWxsb3dlZA0Kc3ltYm9sIGFyZ3VtZW50LCBhbmQgcmVu YW1lIHR3byBleGlzdGluZyBvbmVzLiAgVXBkYXRlIHRoZSBkb2NzdHJpbmcu DQooc2VydmVyLXN0b3AtYXV0b21hdGljYWxseS0taGFuZGxlLWRlbGV0ZS1m cmFtZSk6IEhhbmRsZSB0aGUgbmV3DQpzeW1ib2wgYXJndW1lbnQuICBJbXBy b3ZlIHRoZSBoYW5kbGluZyBvZiBub3dhaXQgZnJhbWVzLiAgVXNlIHRoZQ0K cHJlZml4IGFyZ3VtZW50IG9mIHNlcnZlci1zYXZlLWJ1ZmZlcnMta2lsbC10 ZXJtaW5hbC4NCihzZXJ2ZXItc2F2ZS1idWZmZXJzLWtpbGwtdGVybWluYWwp OiBQYXNzIHRoZSBwcmVmaXggYXJndW1lbnQgdG8NCnNlcnZlci1zdG9wLWF1 dG9tYXRpY2FsbHktLWhhbmRsZS1kZWxldGUtZnJhbWUuDQoNCiogZG9jL2Vt YWNzL21pc2MudGV4aSAoRW1hY3MgU2VydmVyKTogVXBkYXRlIHRoZSBkb2N1 bWVudGF0aW9uIHdpdGgNCnRoZSBuZXcgYWxsb3dlZCBzeW1ib2wgYXJndW1l bnQuDQoNCiogZXRjL05FV1M6IFVwZGF0ZSB0aGUgZG9jdW1lbnRhdGlvbi4N Ci0tLQ0KIGRvYy9lbWFjcy9taXNjLnRleGkgfCAyNiArKysrKysrKysrKysr Ky0tLS0tLS0tDQogZXRjL05FV1MgICAgICAgICAgICB8ICAyICstDQogbGlz cC9zZXJ2ZXIuZWwgICAgICB8IDUzICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tLQ0KIDMgZmlsZXMgY2hhbmdlZCwgNTQg aW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQg YS9kb2MvZW1hY3MvbWlzYy50ZXhpIGIvZG9jL2VtYWNzL21pc2MudGV4aQ0K aW5kZXggMWYyYzg1MmZhYy4uMTU5ZTUwYTZjMSAxMDA2NDQNCi0tLSBhL2Rv Yy9lbWFjcy9taXNjLnRleGkNCisrKyBiL2RvYy9lbWFjcy9taXNjLnRleGkN CkBAIC0xNzg3LDE3ICsxNzg3LDI1IEBAIEVtYWNzIFNlcnZlcg0KIGFueW1v cmUuDQogDQogQGl0ZW0NCi1XaXRoIHRoZSBhcmd1bWVudCBAY29kZXtkZWxl dGUtZnJhbWV9LCB3aGVuIHRoZSBsYXN0IGNsaWVudCBmcmFtZSBpcw0KLWJl aW5nIGNsb3NlZCwgeW91IGFyZSBhc2tlZCB3aGV0aGVyIGVhY2ggdW5zYXZl ZCBmaWxlLXZpc2l0aW5nIGJ1ZmZlcg0KLW11c3QgYmUgc2F2ZWQgYW5kIGVh Y2ggdW5maW5pc2hlZCBwcm9jZXNzIGNhbiBiZSBzdG9wcGVkLCBhbmQgaWYg c28sDQotdGhlIHNlcnZlciBpcyBzdG9wcGVkLg0KK1dpdGggdGhlIGFyZ3Vt ZW50IEBjb2Rle2RlbGV0ZS1sYXN0LWZyYW1lfSwgd2hlbiB0aGUgbGFzdCBj bGllbnQgZnJhbWUNCitpcyBiZWluZyBjbG9zZWQsIHlvdSBhcmUgYXNrZWQg d2hldGhlciBlYWNoIHVuc2F2ZWQgZmlsZS12aXNpdGluZw0KK2J1ZmZlciBt dXN0IGJlIHNhdmVkIGFuZCBlYWNoIHVuZmluaXNoZWQgcHJvY2VzcyBjYW4g YmUgc3RvcHBlZCwgYW5kDQoraWYgc28sIHRoZSBzZXJ2ZXIgaXMgc3RvcHBl ZC4NCiANCiBAaXRlbQ0KLVdpdGggdGhlIGFyZ3VtZW50IEBjb2Rle2tpbGwt dGVybWluYWx9LCB3aGVuIHRoZSBsYXN0IGNsaWVudCBmcmFtZSBpcw0KLWJl aW5nIGNsb3NlZCB3aXRoIEBrYmR7Qy14IEMtY30gKEBjb2Rle3NhdmUtYnVm ZmVycy1raWxsLXRlcm1pbmFsfSksDQoteW91IGFyZSBhc2tlZCB3aGV0aGVy IGVhY2ggdW5zYXZlZCBmaWxlLXZpc2l0aW5nIGJ1ZmZlciBtdXN0IGJlIHNh dmVkDQotYW5kIGVhY2ggdW5maW5pc2hlZCBwcm9jZXNzIGNhbiBiZSBzdG9w cGVkLCBhbmQgaWYgc28sIHRoZSBzZXJ2ZXIgaXMNCi1zdG9wcGVkLg0KK1dp dGggdGhlIGFyZ3VtZW50IEBjb2Rle2tpbGwtbGFzdC10ZXJtaW5hbH0gb3Ig QGNvZGV7a2lsbC10ZXJtaW5hbH0sDQord2hlbiB0aGUgbGFzdCBjbGllbnQg dGVybWluYWwgaXMgYmVpbmcgY2xvc2VkIHdpdGggQGtiZHtDLXggQy1jfQ0K KyhAY29kZXtzYXZlLWJ1ZmZlcnMta2lsbC10ZXJtaW5hbH0pLCB5b3UgYXJl IGFza2VkIHdoZXRoZXIgZWFjaA0KK3Vuc2F2ZWQgZmlsZS12aXNpdGluZyBi dWZmZXIgbXVzdCBiZSBzYXZlZCBhbmQgZWFjaCB1bmZpbmlzaGVkIHByb2Nl c3MNCitjYW4gYmUgc3RvcHBlZCwgYW5kIGlmIHNvLCB0aGUgc2VydmVyIGlz IHN0b3BwZWQuDQorDQorQGl0ZW0NCitXaXRoIHRoZSBhcmd1bWVudCBAY29k ZXtraWxsLXRlcm1pbmFsfSwgd2hlbiBlYWNoIGNsaWVudCB0ZXJtaW5hbCBi dXQNCit0aGUgbGFzdCBvbmUgaXMgYmVpbmcgY2xvc2VkIHdpdGggQGtiZHtD LXggQy1jfQ0KKyhAY29kZXtzYXZlLWJ1ZmZlcnMta2lsbC10ZXJtaW5hbH0p LCB5b3UgYXJlIGFsc28gYXNrZWQgd2hldGhlcg0KK3Vuc2F2ZWQgZmlsZS12 aXNpdGluZyBidWZmZXJzIG11c3QgYmUgc2F2ZWQsIG9yLCBpZg0KK0Bjb21t YW5ke2VtYWNzY2xpZW50fSB3YXMgc3RhcnRlZCB3aXRoIGEgbGlzdCBvZiBm aWxlcyB0byBlZGl0LA0KK3doZXRoZXIgdGhlc2UgZmlsZXMgbXVzdCBiZSBz YXZlZC4NCiBAZW5kIGl0ZW1pemUNCiANCiBAZmluZGV4IHNlcnZlci1ldmFs LWF0DQpkaWZmIC0tZ2l0IGEvZXRjL05FV1MgYi9ldGMvTkVXUw0KaW5kZXgg YmZlYTRkYThiOS4uMmFmNDAxMDZmZSAxMDA2NDQNCi0tLSBhL2V0Yy9ORVdT DQorKysgYi9ldGMvTkVXUw0KQEAgLTE5Nyw3ICsxOTcsNyBAQCBmcmFtZSBp ZiBvbmUgZXhpc3RzOyBvdGhlcndpc2UgaXQgY3JlYXRlcyBhIG5ldyBmcmFt ZS4NCiAqKiogJ3NlcnZlci1zdG9wLWF1dG9tYXRpY2FsbHknIGNhbiBiZSB1 c2VkIHRvIGF1dG9tYXRpY2FsbHkgc3RvcCB0aGUgc2VydmVyLg0KIFRoZSBF bWFjcyBzZXJ2ZXIgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHN0b3BwZWQgd2hl biBjZXJ0YWluIGNvbmRpdGlvbnMNCiBhcmUgbWV0LiAgVGhlIGNvbmRpdGlv bnMgYXJlIGdpdmVuIGJ5IHRoZSBhcmd1bWVudCwgd2hpY2ggY2FuIGJlDQot J2VtcHR5JywgJ2RlbGV0ZS1mcmFtZScgb3IgJ2tpbGwtdGVybWluYWwnLg0K KydlbXB0eScsICdkZWxldGUtbGFzdC1mcmFtZScsICdraWxsLWxhc3QtdGVy bWluYWwnIG9yICdraWxsLXRlcm1pbmFsJy4NCiANCiAqIEVkaXRpbmcgQ2hh bmdlcyBpbiBFbWFjcyAyOS4xDQogDQpkaWZmIC0tZ2l0IGEvbGlzcC9zZXJ2 ZXIuZWwgYi9saXNwL3NlcnZlci5lbA0KaW5kZXggMmYwMDNhMzgwYS4uZTJh ZGE2OTdmOSAxMDA2NDQNCi0tLSBhL2xpc3Avc2VydmVyLmVsDQorKysgYi9s aXNwL3NlcnZlci5lbA0KQEAgLTE3MjgsNyArMTcyOCw4IEBAIHNlcnZlci1z YXZlLWJ1ZmZlcnMta2lsbC10ZXJtaW5hbA0KIElmIGVtYWNzY2xpZW50IHdh cyBzdGFydGVkIHdpdGggYSBsaXN0IG9mIGZpbGVuYW1lcyB0byBlZGl0LCB0 aGVuDQogb25seSB0aGVzZSBmaWxlcyB3aWxsIGJlIGFza2VkIHRvIGJlIHNh dmVkLiINCiAgIChpZiBzZXJ2ZXItc3RvcC1hdXRvbWF0aWNhbGx5DQotICAg ICAgKHNlcnZlci1zdG9wLWF1dG9tYXRpY2FsbHktLWhhbmRsZS1kZWxldGUt ZnJhbWUgKHNlbGVjdGVkLWZyYW1lKSkNCisgICAgICAoc2VydmVyLXN0b3At YXV0b21hdGljYWxseS0taGFuZGxlLWRlbGV0ZS1mcmFtZQ0KKyAgICAgICAo c2VsZWN0ZWQtZnJhbWUpIGFyZykNCiAgICAgKGxldCAoKHByb2MgKGZyYW1l LXBhcmFtZXRlciBuaWwgJ2NsaWVudCkpKQ0KICAgICAgIChjb25kICgoZXEg cHJvYyAnbm93YWl0KQ0KIAkgICAgIDs7IE5vd2FpdCBmcmFtZXMgaGF2ZSBu byBjbGllbnQgYnVmZmVyIGxpc3QuDQpAQCAtMTc1MSw3ICsxNzUyLDcgQEAg c2VydmVyLXNhdmUtYnVmZmVycy1raWxsLXRlcm1pbmFsDQogCSAgICAgICAo c2VydmVyLWRlbGV0ZS1jbGllbnQgcHJvYykpKQ0KIAkgICAgKHQgKGVycm9y ICJJbnZhbGlkIGNsaWVudCBmcmFtZSIpKSkpKSkNCiANCi0oZGVmdW4gc2Vy dmVyLXN0b3AtYXV0b21hdGljYWxseS0taGFuZGxlLWRlbGV0ZS1mcmFtZSAo ZnJhbWUpDQorKGRlZnVuIHNlcnZlci1zdG9wLWF1dG9tYXRpY2FsbHktLWhh bmRsZS1kZWxldGUtZnJhbWUgKGZyYW1lIGFyZykNCiAgICJIYW5kbGUgZGVs ZXRpb24gb2YgRlJBTUUgd2hlbiBgc2VydmVyLXN0b3AtYXV0b21hdGljYWxs eScgaXMgdXNlZC4iDQogICAod2hlbiBzZXJ2ZXItc3RvcC1hdXRvbWF0aWNh bGx5DQogICAgIChpZiAoaWYgKGFuZCAocHJvY2Vzc3AgKGZyYW1lLXBhcmFt ZXRlciBmcmFtZSAnY2xpZW50KSkNCkBAIC0xNzY1LDEzICsxNzY2LDIyIEBA IHNlcnZlci1zdG9wLWF1dG9tYXRpY2FsbHktLWhhbmRsZS1kZWxldGUtZnJh bWUNCiAJCSAgKGxldCAoKHNlcnZlci1zdG9wLWF1dG9tYXRpY2FsbHkgbmls KSkNCiAJCSAgICAoZGVsZXRlLWZyYW1lIGYpKSkpDQogCSAgICAgIChpZiAo Y2RkciAoZnJhbWUtbGlzdCkpDQotCQkgIChsZXQgKChzZXJ2ZXItc3RvcC1h dXRvbWF0aWNhbGx5IG5pbCkpDQotCQkgICAgKGRlbGV0ZS1mcmFtZSBmcmFt ZSkNCi0JCSAgICBuaWwpDQorCQkgIChsZXQgKChraWxsLXRlcm1pbmFsDQor CQkJIChlcSBzZXJ2ZXItc3RvcC1hdXRvbWF0aWNhbGx5ICdraWxsLXRlcm1p bmFsKSkpDQorCQkgICAgKGxldCAoKHNlcnZlci1zdG9wLWF1dG9tYXRpY2Fs bHkgbmlsKSkNCisJCSAgICAgIChpZiBraWxsLXRlcm1pbmFsDQorCQkJICAo c2VydmVyLXNhdmUtYnVmZmVycy1raWxsLXRlcm1pbmFsIGFyZykNCisJCQko ZGVsZXRlLWZyYW1lIGZyYW1lKSkNCisJCSAgICAgIG5pbCkpDQogCQl0KSkN Ci0JICAobnVsbCAoY2RkciAoZnJhbWUtbGlzdCkpKSkNCisJICAoaWYgKGFu ZCAoZXEgKGZyYW1lLXBhcmFtZXRlciBmcmFtZSAnY2xpZW50KSAnbm93YWl0 KQ0KKwkJICAgKGNkZHIgKGZyYW1lLWxpc3QpKSkNCisJICAgICAgKGxldCAo KHNlcnZlci1zdG9wLWF1dG9tYXRpY2FsbHkgbmlsKSkNCisJCShkZWxldGUt ZnJhbWUgZnJhbWUpDQorCQluaWwpDQorCSAgICAobnVsbCAoY2RkciAoZnJh bWUtbGlzdCkpKSkpDQogCShsZXQgKChzZXJ2ZXItc3RvcC1hdXRvbWF0aWNh bGx5IG5pbCkpDQotCSAgKHNhdmUtYnVmZmVycy1raWxsLWVtYWNzKQ0KKwkg IChzYXZlLWJ1ZmZlcnMta2lsbC1lbWFjcyBhcmcpDQogCSAgKGRlbGV0ZS1m cmFtZSBmcmFtZSkpKSkpDQogDQogKGRlZnVuIHNlcnZlci1zdG9wLWF1dG9t YXRpY2FsbHktLW1heWJlLWtpbGwtZW1hY3MgKCkNCkBAIC0xNzk3LDE3ICsx ODA3LDI1IEBAIHNlcnZlci1zdG9wLWF1dG9tYXRpY2FsbHkNCiByZW1haW5p bmcgY2xpZW50cywgbm8gcmVtYWluaW5nIHVuc2F2ZWQgZmlsZS12aXNpdGlu ZyBidWZmZXJzLA0KIGFuZCBubyBydW5uaW5nIHByb2Nlc3NlcyB3aXRoIGEg YHF1ZXJ5LW9uLWV4aXQnIGZsYWcuDQogDQotSWYgQVJHIGlzIHRoZSBzeW1i b2wgYGRlbGV0ZS1mcmFtZScsIGFzayB0aGUgdXNlciB3aGVuIHRoZSBsYXN0 DQotZnJhbWUgaXMgZGVsZXRlZCB3aGV0aGVyIGVhY2ggdW5zYXZlZCBmaWxl LXZpc2l0aW5nIGJ1ZmZlciBtdXN0DQotYmUgc2F2ZWQgYW5kIGVhY2ggcnVu bmluZyBwcm9jZXNzIHdpdGggYSBgcXVlcnktb24tZXhpdCcgZmxhZw0KLWNh biBiZSBzdG9wcGVkLCBhbmQgaWYgc28sIHN0b3AgdGhlIHNlcnZlciBpdHNl bGYuDQotDQotSWYgQVJHIGlzIHRoZSBzeW1ib2wgYGtpbGwtdGVybWluYWwn LCBhc2sgdGhlIHVzZXIgd2hlbiB0aGUNCi10ZXJtaW5hbCBpcyBraWxsZWQg d2l0aCBcXFtzYXZlLWJ1ZmZlcnMta2lsbC10ZXJtaW5hbF0gXA0KLXdoZXRo ZXIgZWFjaCB1bnNhdmVkIGZpbGUtdmlzaXRpbmcNCi1idWZmZXIgbXVzdCBi ZSBzYXZlZCBhbmQgZWFjaCBydW5uaW5nIHByb2Nlc3Mgd2l0aCBhIGBxdWVy eS1vbi1leGl0Jw0KK0lmIEFSRyBpcyB0aGUgc3ltYm9sIGBkZWxldGUtbGFz dC1mcmFtZScsIGFzayB0aGUgdXNlciB3aGVuIHRoZQ0KK2xhc3QgZnJhbWUg aXMgZGVsZXRlZCB3aGV0aGVyIGVhY2ggdW5zYXZlZCBmaWxlLXZpc2l0aW5n IGJ1ZmZlcg0KK211c3QgYmUgc2F2ZWQgYW5kIGVhY2ggcnVubmluZyBwcm9j ZXNzIHdpdGggYSBgcXVlcnktb24tZXhpdCcNCiBmbGFnIGNhbiBiZSBzdG9w cGVkLCBhbmQgaWYgc28sIHN0b3AgdGhlIHNlcnZlciBpdHNlbGYuDQogDQor SWYgQVJHIGlzIHRoZSBzeW1ib2wgYGtpbGwtbGFzdC10ZXJtaW5hbCcgb3Ig YGtpbGwtdGVybWluYWwnLA0KK2FzayB0aGUgdXNlciB3aGVuIHRoZSBsYXN0 IHRlcm1pbmFsIGlzIGtpbGxlZCB3aXRoIFwNCitcXFtzYXZlLWJ1ZmZlcnMt a2lsbC10ZXJtaW5hbF0NCit3aGV0aGVyIGVhY2ggdW5zYXZlZCBmaWxlLXZp c2l0aW5nIGJ1ZmZlciBtdXN0IGJlIHNhdmVkIGFuZCBlYWNoDQorcnVubmlu ZyBwcm9jZXNzIHdpdGggYSBgcXVlcnktb24tZXhpdCcgZmxhZyBjYW4gYmUg c3RvcHBlZCwgYW5kDQoraWYgc28sIHN0b3AgdGhlIHNlcnZlciBpdHNlbGYu DQorDQorSWYgQVJHIGlzIHRoZSBzeW1ib2wgYGtpbGwtdGVybWluYWwnLCBh bHNvIGFzayB0aGUgdXNlciB3aGVuIGVhY2gNCitidXQgdGhlIGxhc3QgdGVy bWluYWwgaXMga2lsbGVkIHdpdGggXFxbc2F2ZS1idWZmZXJzLWtpbGwtdGVy bWluYWxdIFwNCit3aGV0aGVyIHVuc2F2ZWQNCitmaWxlLXZpc2l0aW5nIGJ1 ZmZlcnMgbXVzdCBiZSBzYXZlZCwgb3IsIGlmIGVtYWNzY2xpZW50IHdhcw0K K3N0YXJ0ZWQgd2l0aCBhIGxpc3Qgb2YgZmlsZXMgdG8gZWRpdCwgd2hldGhl ciB0aGVzZSBmaWxlcyBtdXN0IGJlDQorc2F2ZWQuDQorDQogQW55IG90aGVy IHZhbHVlIG9mIEFSRyB3aWxsIGNhdXNlIHRoaXMgZnVuY3Rpb24gdG8gc2ln bmFsIGFuIGVycm9yLg0KIA0KIFRoaXMgZnVuY3Rpb24gaXMgbWVhbnQgdG8g YmUgY2FsbGVkIGZyb20gdGhlIHVzZXIgaW5pdCBmaWxlLiINCkBAIC0xODE4 LDkgKzE4MzYsMTAgQEAgc2VydmVyLXN0b3AtYXV0b21hdGljYWxseQ0KICAg ICAgIChzZXRxIHNlcnZlci1zdG9wLWF1dG9tYXRpY2FsbHkgbmlsKQ0KICAg ICAgIChydW4td2l0aC10aW1lciAxMCAyDQogCQkgICAgICAjJ3NlcnZlci1z dG9wLWF1dG9tYXRpY2FsbHktLW1heWJlLWtpbGwtZW1hY3MpKQ0KLSAgICAg KChlcSBhcmcgJ2RlbGV0ZS1mcmFtZSkNCisgICAgICgoZXEgYXJnICdkZWxl dGUtbGFzdC1mcmFtZSkNCiAgICAgICAoYWRkLWhvb2sgJ2RlbGV0ZS1mcmFt ZS1mdW5jdGlvbnMNCiAJCSMnc2VydmVyLXN0b3AtYXV0b21hdGljYWxseS0t aGFuZGxlLWRlbGV0ZS1mcmFtZSkpDQorICAgICAoKGVxIGFyZyAna2lsbC1s YXN0LXRlcm1pbmFsKSkNCiAgICAgICgoZXEgYXJnICdraWxsLXRlcm1pbmFs KSkNCiAgICAgICh0DQogICAgICAgKGVycm9yICJVbmV4cGVjdGVkIGFyZ3Vt ZW50IikpKSkpDQotLSANCjIuMzMuMA0KDQo= --sgDcgKw0xL--