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#51883: 29.0.50; Command to get accidentally deleted frames back Date: Tue, 16 Nov 2021 21:29:35 +0000 Message-ID: References: <87czn1gfb1.fsf@web.de> <838rxo0zk7.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="n0BSkg2Luu" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="2962"; mail-complaints-to="usenet@ciao.gmane.io" Cc: michael_heerdegen@web.de, 51883@debbugs.gnu.org, Juri Linkov To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Nov 16 22:30:14 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 1mn61t-0000TH-L2 for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 16 Nov 2021 22:30:14 +0100 Original-Received: from localhost ([::1]:52684 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mn61r-00066D-Lq for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 16 Nov 2021 16:30:11 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:40740) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mn61i-00064J-SH for bug-gnu-emacs@gnu.org; Tue, 16 Nov 2021 16:30:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:47807) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mn61i-0002ci-IH for bug-gnu-emacs@gnu.org; Tue, 16 Nov 2021 16:30:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mn61i-0006nE-4H for bug-gnu-emacs@gnu.org; Tue, 16 Nov 2021 16:30:02 -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, 16 Nov 2021 21:30:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 51883 X-GNU-PR-Package: emacs Original-Received: via spool by 51883-submit@debbugs.gnu.org id=B51883.163709818026038 (code B ref 51883); Tue, 16 Nov 2021 21:30:02 +0000 Original-Received: (at 51883) by debbugs.gnu.org; 16 Nov 2021 21:29:40 +0000 Original-Received: from localhost ([127.0.0.1]:59353 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mn61L-0006ls-Cd for submit@debbugs.gnu.org; Tue, 16 Nov 2021 16:29:39 -0500 Original-Received: from heytings.org ([95.142.160.155]:37690) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mn61J-0006lc-RY for 51883@debbugs.gnu.org; Tue, 16 Nov 2021 16:29:38 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20210101; t=1637098176; bh=m0qrL6/lcLhb3s9b7oPH8AeIo60ocUXb7aOR1zd07ew=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=XTuGx2Uj6dVOfAXjTVvaCfrVvyGhQIr7NE9rZRMNbzPQqt6V0LpJPhm7WfyLZ6W9n 6iG7zF1EjGRb4F6AwXpw8VcWArZtrywJEY2NMHVhrlBjw68m9wCesASvxdpiLQYH4l zmlFj885EoxgPB6mYy0EcCRb3xm1J6DBNmTNPLlq0rqUDSLeffCoBN+vNe4Q9NPnbp uAAcGTQ8Cm2Dzjnv0BttHLiZdDT2iFoiD+I1l2hlCGR9YgCWLon+9ImlQDQG/z7vJc YlTInZAAruHFzzTxxaXyOum5irDFrWk8ShAj3lmt1mpgtrsbXZ/yikCEqpEuqyx/+X TSyvokmnSlDqA== In-Reply-To: <838rxo0zk7.fsf@gnu.org> Content-ID: 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:220158 Archived-At: --n0BSkg2Luu Content-Type: text/plain; charset=us-ascii; format=flowed Content-ID: Thanks for your comments, and thanks to Juri for his suggestion. Updated patch attached, which incorporates your comments and Juri's suggestion. >> +(@code{make-frame-command}). A prefix argument undeletes the last deleted >> +frame, a numerical prefix argument between 0 and 15 undeletes the >> +corresponding deleted frame, where 0 is the most recently deleted frame. > > This is unusual meaning of prefix argument. Why not use zero for the > last, 1 for the one before that, etc.? > You mean: 0 for the least recently deleted one, and 15 for the most recently deleted one? So to recover the frame you just deleted by accident, you'd have to type C-u 15 C-x 5 u? That seems unnatural to me, but perhaps it's just me. > > +(add-hook 'delete-frame-functions #'undeleted-frame--save-deleted-frame) > > I'd rather we didn't do that by default. Several reasons: > > . the startup code deletes the terminal frame, so the above means we will always load frameset, which is not a small package, at startup, even if the user has no use for this functionality > . using add-hook in Emacs's own code _by_default_ is not a good style; hooks are for customizing the default behavior > . saving configurations of 16 deleted frames _by_default_ means we again impose on all users something that only some of them will use > > So I'd suggest instead making this an opt-in feature or maybe even minor > mode. Only when turned on should we save away the deleted frames. > A minor mode is another option, indeed. My feeling is that this feature is something about everyone would find useful, and that the cost you mention is not that high. And I solved the problem of the deletion of the terminal frame. So I made it an opt-out minor-mode. > > (And did you consider wrapping this into some history-like feature, > where users could interactively select which past frame to restore?) > Yes, I did consider this, but did not really know if it would be worth doing that. Apparently it is ;-) It's not yet clear to me how one could select one of the frames in a meaningful way. I'll try to do that later. >> +The 16 most recently deleted frames can however be undeleted with >> +`undelete-frame', which see. > > The "however" part is "out of the blue" here; I'd drop it. > I see what you mean, but it's not out of the blue, it's meant to balance the "permanently eliminating" in "Delete FRAME, permanently eliminating it from use." two lines above. --n0BSkg2Luu Content-Type: text/x-diff; name=Undelete-deleted-frames.patch; charset=us-ascii Content-Transfer-Encoding: base64 Content-ID: Content-Description: Content-Disposition: attachment; filename=Undelete-deleted-frames.patch RnJvbSA2YmQ0MDQ5NGM2YTFlNmMyN2E4Mzc5MTQ2Yjc3MDI3ZTQ5MDQ4YmJm IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogR3JlZ29yeSBIZXl0 aW5ncyA8Z3JlZ29yeUBoZXl0aW5ncy5vcmc+DQpEYXRlOiBUdWUsIDE2IE5v diAyMDIxIDIxOjE5OjE4ICswMDAwDQpTdWJqZWN0OiBbUEFUQ0hdIFVuZGVs ZXRlIGRlbGV0ZWQgZnJhbWVzLg0KDQoqIGxpc3AvZnJhbWUuZWwgKHVuZGVs ZXRlLWZyYW1lKTogTmV3IGNvbW1hbmQuDQoodW5kZWxldGVkLWZyYW1lLS1z YXZlLWRlbGV0ZWQtZnJhbWUpOiBOZXcgYXV4aWxpYXJ5IGZ1bmN0aW9uLg0K KHVuZGVsZXRlLWZyYW1lLS1kZWxldGVkLWZyYW1lcyk6IE5ldyBhdXhpbGlh cnkgdmFyaWFibGUuDQoodW5kZWxldGUtZnJhbWUtbW9kZSk6IE5ldyBtaW5v ciBtb2RlLg0KKGN0bC14LTUtbWFwKTogQmluZCB0aGUgbmV3IGNvbW1hbmQu DQoNCiogc3JjL2ZyYW1lLmMgKEZkZWxldGVfZnJhbWUpOiBVcGRhdGUgZG9j c3RyaW5nLg0KDQoqIGxpc3AvbWVudS1iYXIuZWwgKG1lbnUtYmFyLWZpbGUt bWVudSk6IEFkZCBhbiBlbnRyeSBmb3IgdGhlDQpuZXcgY29tbWFuZC4NCg0K KiBkb2MvZW1hY3MvZnJhbWVzLnRleCAoRnJhbWUgQ29tbWFuZHMpOiBEb2N1 bWVudCB0aGUgbmV3IGNvbW1hbmQNCmFuZCBtaW5vciBtb2RlLg0KDQoqIGV0 Yy9ORVdTOiBEb2N1bWVudCB0aGUgbmV3IGNvbW1hbmQgYW5kIG1pbm9yIG1v ZGUuDQoNClNlZSBidWcjNTE4ODMuDQotLS0NCiBkb2MvZW1hY3MvZnJhbWVz LnRleGkgfCAxMCArKysrKysrKw0KIGV0Yy9ORVdTICAgICAgICAgICAgICB8 IDExICsrKysrKysrDQogbGlzcC9mcmFtZS5lbCAgICAgICAgIHwgNjAgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KIGxp c3AvbWVudS1iYXIuZWwgICAgICB8ICA1ICsrKysNCiBzcmMvZnJhbWUuYyAg ICAgICAgICAgfCAgMyArKysNCiA1IGZpbGVzIGNoYW5nZWQsIDg5IGluc2Vy dGlvbnMoKykNCg0KZGlmZiAtLWdpdCBhL2RvYy9lbWFjcy9mcmFtZXMudGV4 aSBiL2RvYy9lbWFjcy9mcmFtZXMudGV4aQ0KaW5kZXggYzE0YWRhMjk1Ny4u Mjk2YjY2YWE1NiAxMDA2NDQNCi0tLSBhL2RvYy9lbWFjcy9mcmFtZXMudGV4 aQ0KKysrIGIvZG9jL2VtYWNzL2ZyYW1lcy50ZXhpDQpAQCAtNTEyLDYgKzUx MiwxNiBAQCBGcmFtZSBDb21tYW5kcw0KIERlbGV0ZSB0aGUgc2VsZWN0ZWQg ZnJhbWUgKEBjb2Rle2RlbGV0ZS1mcmFtZX0pLiAgVGhpcyBzaWduYWxzIGFu DQogZXJyb3IgaWYgdGhlcmUgaXMgb25seSBvbmUgZnJhbWUuDQogDQorQGl0 ZW0gQy14IDUgdQ0KK0BraW5kZXggQy14IDUgdQ0KK0BmaW5kZXggdW5kZWxl dGUtZnJhbWUNCitAZmluZGV4IHVuZGVsZXRlLWZyYW1lLW1vZGUNCitVbmxl c3MgQGNvZGV7dW5kZWxldGUtZnJhbWUtbW9kZX0gaXMgZGlzYWJsZWQsIHVu ZGVsZXRlIG9uZSBvZiB0aGUgMTYNCittb3N0IHJlY2VudGx5IGRlbGV0ZWQg ZnJhbWVzLiAgV2l0aG91dCBhIHByZWZpeCBhcmd1bWVudCwgdGhlIG1vc3QN CityZWNlbnRseSBkZWxldGVkIGZyYW1lIGlzIHVuZGVsZXRlZC4gIFdpdGgg YSBudW1lcmljYWwgcHJlZml4IGFyZ3VtZW50DQorYmV0d2VlbiAwIGFuZCAx NSwgd2hlcmUgMCBpcyB0aGUgbW9zdCByZWNlbnRseSBkZWxldGVkIGZyYW1l LCB0aGUNCitjb3JyZXNwb25kaW5nIGRlbGV0ZWQgZnJhbWUgaXMgdW5kZWxl dGVkLg0KKw0KIEBpdGVtIEMteg0KIEBraW5kZXggQy16IEByeyhYIHdpbmRv d3MpfQ0KIE1pbmltaXplIChvciBpY29uaWZ5KSB0aGUgc2VsZWN0ZWQgRW1h Y3MgZnJhbWUNCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTDQpp bmRleCAzMTJmYzE4ZjRmLi4wMjE3ZjFmZTYwIDEwMDY0NA0KLS0tIGEvZXRj L05FV1MNCisrKyBiL2V0Yy9ORVdTDQpAQCAtMTMwLDYgKzEzMCwxNyBAQCBG b3IgZXhhbXBsZSwgYSAnZGlzcGxheS1idWZmZXItYWxpc3QnIGVudHJ5IG9m DQogd2lsbCBtYWtlIHRoZSBib2R5IG9mIHRoZSBjaG9zZW4gd2luZG93IDQw IGNvbHVtbnMgd2lkZS4gIEZvciB0aGUNCiBoZWlnaHQgdXNlICd3aW5kb3ct aGVpZ2h0JyBpbiBjb21iaW5hdGlvbiB3aXRoICdib2R5LWxpbmVzJy4NCiAN CistLS0NCisqKiBGcmFtZXMNCisNCisrKysNCisqKiogRGVsZXRlZCBmcmFt ZXMgY2FuIG5vdyBiZSB1bmRlbGV0ZWQuDQorVGhlIDE2IG1vc3QgcmVjZW50 bHkgZGVsZXRlZCBmcmFtZXMgY2FuIGJlIHVuZGVsZXRlZCB3aXRoIEMteCA1 IHUsDQordW5sZXNzIHVuZGVsZXRlLWZyYW1lLW1vZGUgaXMgZGlzYWJsZWQu ICBXaXRob3V0IGEgcHJlZml4IGFyZ3VtZW50LA0KK3VuZGVsZXRlIHRoZSBt b3N0IHJlY2VudGx5IGRlbGV0ZWQgZnJhbWUuICBBIG51bWVyaWNhbCBwcmVm aXggYXJndW1lbnQNCitiZXR3ZWVuIDAgYW5kIDE1IHVuZGVsZXRlcyB0aGUg Y29ycmVzcG9uZGluZyBkZWxldGVkIGZyYW1lLCB3aGVyZSAwIGlzDQordGhl IG1vc3QgcmVjZW50bHkgZGVsZXRlZCBmcmFtZS4NCisNCiAqKiBCZXR0ZXIg ZGV0ZWN0aW9uIG9mIHRleHQgc3VzcGljaW91c2x5IHJlb3JkZXJlZCBvbiBk aXNwbGF5Lg0KIFRoZSBmdW5jdGlvbiAnYmlkaS1maW5kLW92ZXJyaWRkZW4t ZGlyZWN0aW9uYWxpdHknIGhhcyBiZWVuIGV4dGVuZGVkDQogdG8gZGV0ZWN0 IHJlb3JkZXJpbmcgZWZmZWN0cyBwcm9kdWNlZCBieSBlbWJlZGRpbmdzIGFu ZCBpc29sYXRlcw0KZGlmZiAtLWdpdCBhL2xpc3AvZnJhbWUuZWwgYi9saXNw L2ZyYW1lLmVsDQppbmRleCAyYzczNzM3YTU0Li5lODU0MTk3MDA4IDEwMDY0 NA0KLS0tIGEvbGlzcC9mcmFtZS5lbA0KKysrIGIvbGlzcC9mcmFtZS5lbA0K QEAgLTI0ODQsNiArMjQ4NCw2NSBAQCBkZWxldGUtb3RoZXItZnJhbWVzDQog ICAgICAgICAoaWYgaWNvbmlmeSAoaWNvbmlmeS1mcmFtZSB0aGlzKSAoZGVs ZXRlLWZyYW1lIHRoaXMpKSkNCiAgICAgICAoc2V0cSB0aGlzIG5leHQpKSkp DQogDQorKGV2YWwtd2hlbi1jb21waWxlIChyZXF1aXJlICdmcmFtZXNldCkp DQorDQorKGRlZnZhciB1bmRlbGV0ZS1mcmFtZS0tZGVsZXRlZC1mcmFtZXMg bmlsDQorICAiSW50ZXJuYWwgdmFyaWFibGUgdXNlZCBieSBgdW5kZWxldGUt ZnJhbWUtLXNhdmUtZGVsZXRlZC1mcmFtZScuIikNCisNCisoZGVmdW4gdW5k ZWxldGVkLWZyYW1lLS1zYXZlLWRlbGV0ZWQtZnJhbWUgKGZyYW1lKQ0KKyAg IlNhdmUgdGhlIGNvbmZpZ3VyYXRpb24gb2YgZnJhbWVzIGRlbGV0ZWQgd2l0 aCBgZGVsZXRlLWZyYW1lJy4NCitPbmx5IHRoZSAxNiBtb3N0IHJlY2VudGx5 IGRlbGV0ZWQgZnJhbWVzIGFyZSBzYXZlZC4iDQorICAod2hlbiAoYW5kIGFm dGVyLWluaXQtdGltZQ0KKyAgICAgICAgICAgICAoZnJhbWUtbGl2ZS1wIGZy YW1lKSkNCisgICAgKHNldHEgdW5kZWxldGUtZnJhbWUtLWRlbGV0ZWQtZnJh bWVzDQorICAgICAgICAgIChjb25zIChjb25zDQorICAgICAgICAgICAgICAg ICAoZGlzcGxheS1ncmFwaGljLXApDQorICAgICAgICAgICAgICAgICAoZnJh bWVzZXQtc2F2ZSAobGlzdCBmcmFtZSkpKQ0KKyAgICAgICAgICAgICAgICB1 bmRlbGV0ZS1mcmFtZS0tZGVsZXRlZC1mcmFtZXMpKQ0KKyAgICAoaWYgKD4g KGxlbmd0aCB1bmRlbGV0ZS1mcmFtZS0tZGVsZXRlZC1mcmFtZXMpIDE2KQ0K KyAgICAgICAgKHNldHEgdW5kZWxldGUtZnJhbWUtLWRlbGV0ZWQtZnJhbWVz DQorICAgICAgICAgICAgICAoYnV0bGFzdCB1bmRlbGV0ZS1mcmFtZS0tZGVs ZXRlZC1mcmFtZXMpKSkpKQ0KKw0KKyhkZWZpbmUtbWlub3ItbW9kZSB1bmRl bGV0ZS1mcmFtZS1tb2RlDQorICAiRW5hYmxlIHRoZSBgZGVsZXRlLWZyYW1l JyBjb21tYW5kLiINCisgIDpncm91cCAnZnJhbWVzDQorICA6Z2xvYmFsIHQN CisgIDppbml0aWFsaXplICdjdXN0b20taW5pdGlhbGl6ZS1kZWxheQ0KKyAg OmluaXQtdmFsdWUgdA0KKyAgKGlmIHVuZGVsZXRlLWZyYW1lLW1vZGUNCisg ICAgICAoYWRkLWhvb2sgJ2RlbGV0ZS1mcmFtZS1mdW5jdGlvbnMNCisgICAg ICAgICAgICAgICAgIyd1bmRlbGV0ZWQtZnJhbWUtLXNhdmUtZGVsZXRlZC1m cmFtZSkNCisgICAgKHJlbW92ZS1ob29rICdkZWxldGUtZnJhbWUtZnVuY3Rp b25zDQorICAgICAgICAgICAgICAgICAjJ3VuZGVsZXRlZC1mcmFtZS0tc2F2 ZS1kZWxldGVkLWZyYW1lKQ0KKyAgICAoc2V0cSB1bmRlbGV0ZS1mcmFtZS0t ZGVsZXRlZC1mcmFtZXMgbmlsKSkpDQorDQorKGRlZnVuIHVuZGVsZXRlLWZy YW1lICgmb3B0aW9uYWwgYXJnKQ0KKyAgIlVuZGVsZXRlIGEgZnJhbWUgZGVs ZXRlZCB3aXRoIGBkZWxldGUtZnJhbWUnLg0KK1dpdGggYSBwcmVmaXggYXJn dW1lbnQgQVJHLCB1bmRlbGV0ZSB0aGUgbW9zdCByZWNlbnRseSBkZWxldGVk DQorZnJhbWUuDQorV2l0aCBhIG51bWVyaWNhbCBwcmVmaXggYXJndW1lbnQg QVJHIGJldHdlZW4gMCBhbmQgMTUsIHVuZGVsZXRlDQordGhlIEFSR3RoIGRl bGV0ZWQgZnJhbWUsIHdoZXJlIDAgaXMgbW9zdCByZWNlbnRseSBkZWxldGVk IGZyYW1lLg0KK1doZW4gY2FsbGVkIGZyb20gTGlzcCwgcmV0dXJucyB0aGUg bmV3IGZyYW1lLiINCisgIChpbnRlcmFjdGl2ZSAiUCIpDQorICAoaWYgKG5v dCB1bmRlbGV0ZS1mcmFtZS1tb2RlKQ0KKyAgICAgIChtZXNzYWdlICJ1bmRl bGV0ZS1mcmFtZS1tb2RlIGlzIGRpc2FibGVkIikNCisgICAgKGxldCogKChm cmFtZXMgKGZyYW1lLWxpc3QpKQ0KKyAgICAgICAgICAgKG4gKGlmIChsaXN0 cCBhcmcpIDAgYXJnKSkNCisgICAgICAgICAgIChmcmFtZXNldCAobnRoIG4g dW5kZWxldGUtZnJhbWUtLWRlbGV0ZWQtZnJhbWVzKSkpDQorICAgICAgKGlm IChub3QgZnJhbWVzZXQpDQorICAgICAgICAgIChtZXNzYWdlICJObyBkZWxl dGVkIGZyYW1lIHNhdmVkIGF0IHBvc2l0aW9uICVkIiBuKQ0KKyAgICAgICAg KGlmIChub3QgKGVxIChkaXNwbGF5LWdyYXBoaWMtcCkgKGNhciBmcmFtZXNl dCkpKQ0KKyAgICAgICAgICAgIChtZXNzYWdlDQorICAgICAgICAgICAgICJD YW5ub3QgdW5kZWxldGUgJXNncmFwaGljIGRpc3BsYXkgZnJhbWUgb24gYSAl c2dyYXBoaWMgZGlzcGxheSINCisgICAgICAgICAgICAgKGlmIChkaXNwbGF5 LWdyYXBoaWMtcCkgIm5vbi0iICIiKQ0KKyAgICAgICAgICAgICAoaWYgKGRp c3BsYXktZ3JhcGhpYy1wKSAiIiAibm9uLSIpKQ0KKyAgICAgICAgICAoc2V0 cSB1bmRlbGV0ZS1mcmFtZS0tZGVsZXRlZC1mcmFtZXMNCisgICAgICAgICAg ICAgICAgKGRlbHEgZnJhbWVzZXQgdW5kZWxldGUtZnJhbWUtLWRlbGV0ZWQt ZnJhbWVzKSkNCisgICAgICAgICAgKGZyYW1lc2V0LXJlc3RvcmUgKGNkciBm cmFtZXNldCkpDQorICAgICAgICAgIChsZXQgKChmcmFtZSAoY2FyIChzZXEt ZGlmZmVyZW5jZSAoZnJhbWUtbGlzdCkgZnJhbWVzKSkpKQ0KKyAgICAgICAg ICAgICh3aGVuIGZyYW1lDQorICAgICAgICAgICAgICAoc2VsZWN0LWZyYW1l LXNldC1pbnB1dC1mb2N1cyBmcmFtZSkNCisgICAgICAgICAgICAgIGZyYW1l KSkpKSkpKQ0KIAwNCiA7OzsgV2luZG93IGRpdmlkZXJzLg0KIChkZWZncm91 cCB3aW5kb3ctZGl2aWRlciBuaWwNCkBAIC0yODI4LDYgKzI4ODcsNyBAQCBj dGwteC01LW1hcA0KIChkZWZpbmUta2V5IGN0bC14LTUtbWFwICJvIiAjJ290 aGVyLWZyYW1lKQ0KIChkZWZpbmUta2V5IGN0bC14LTUtbWFwICI1IiAjJ290 aGVyLWZyYW1lLXByZWZpeCkNCiAoZGVmaW5lLWtleSBjdGwteC01LW1hcCAi YyIgIydjbG9uZS1mcmFtZSkNCisoZGVmaW5lLWtleSBjdGwteC01LW1hcCAi dSIgIyd1bmRlbGV0ZS1mcmFtZSkNCiAoZGVmaW5lLWtleSBnbG9iYWwtbWFw IFtmMTFdICMndG9nZ2xlLWZyYW1lLWZ1bGxzY3JlZW4pDQogKGRlZmluZS1r ZXkgZ2xvYmFsLW1hcCBbKG1ldGEgZjEwKV0gIyd0b2dnbGUtZnJhbWUtbWF4 aW1pemVkKQ0KIChkZWZpbmUta2V5IGVzYy1tYXAgICAgW2YxMF0gICAgICAg ICMndG9nZ2xlLWZyYW1lLW1heGltaXplZCkNCmRpZmYgLS1naXQgYS9saXNw L21lbnUtYmFyLmVsIGIvbGlzcC9tZW51LWJhci5lbA0KaW5kZXggMWE4MWYx YTNkMC4uYTVmNzE2OTM1NSAxMDA2NDQNCi0tLSBhL2xpc3AvbWVudS1iYXIu ZWwNCisrKyBiL2xpc3AvbWVudS1iYXIuZWwNCkBAIC0xMDksNiArMTA5LDEx IEBAIG1lbnUtYmFyLWZpbGUtbWVudQ0KICAgICAgIChiaW5kaW5ncy0tZGVm aW5lLWtleSBtZW51IFtzZXBhcmF0b3ItdGFiXQ0KICAgICAgICAgbWVudS1i YXItc2VwYXJhdG9yKSkNCiANCisgICAgKGJpbmRpbmdzLS1kZWZpbmUta2V5 IG1lbnUgW3VuZGVsZXRlLWxhc3QtZGVsZXRlZC1mcmFtZV0NCisgICAgICAn KG1lbnUtaXRlbSAiVW5kZWxldGUgRnJhbWUiIHVuZGVsZXRlLWZyYW1lDQor ICAgICAgICAgICAgICAgICAgOmVuYWJsZSB1bmRlbGV0ZS1mcmFtZS1tb2Rl DQorICAgICAgICAgICAgICAgICAgOmhlbHAgIlVuZGVsZXRlIGxhc3QgZGVs ZXRlZCBmcmFtZSIpKQ0KKw0KICAgICA7OyBEb24ndCB1c2UgZGVsZXRlLWZy YW1lIGFzIGV2ZW50IG5hbWUgYmVjYXVzZSB0aGF0IGlzIGEgc3BlY2lhbA0K ICAgICA7OyBldmVudC4NCiAgICAgKGJpbmRpbmdzLS1kZWZpbmUta2V5IG1l bnUgW2RlbGV0ZS10aGlzLWZyYW1lXQ0KZGlmZiAtLWdpdCBhL3NyYy9mcmFt ZS5jIGIvc3JjL2ZyYW1lLmMNCmluZGV4IDc5YTdjODllMGQuLjllMTFiYzkz ZWQgMTAwNjQ0DQotLS0gYS9zcmMvZnJhbWUuYw0KKysrIGIvc3JjL2ZyYW1l LmMNCkBAIC0yMzc2LDYgKzIzNzYsOSBAQCBERUZVTiAoImRlbGV0ZS1mcmFt ZSIsIEZkZWxldGVfZnJhbWUsIFNkZWxldGVfZnJhbWUsIDAsIDIsICIiLA0K ICAgICAgICBkb2M6IC8qIERlbGV0ZSBGUkFNRSwgcGVybWFuZW50bHkgZWxp bWluYXRpbmcgaXQgZnJvbSB1c2UuDQogRlJBTUUgbXVzdCBiZSBhIGxpdmUg ZnJhbWUgYW5kIGRlZmF1bHRzIHRvIHRoZSBzZWxlY3RlZCBvbmUuDQogDQor VGhlIDE2IG1vc3QgcmVjZW50bHkgZGVsZXRlZCBmcmFtZXMgY2FuIGhvd2V2 ZXIgYmUgdW5kZWxldGVkIHdpdGgNCitgdW5kZWxldGUtZnJhbWUnLCB3aGlj aCBzZWUuDQorDQogQSBmcmFtZSBtYXkgbm90IGJlIGRlbGV0ZWQgaWYgaXRz IG1pbmlidWZmZXIgc2VydmVzIGFzIHN1cnJvZ2F0ZQ0KIG1pbmlidWZmZXIg Zm9yIGFub3RoZXIgZnJhbWUuICBOb3JtYWxseSwgeW91IG1heSBub3QgZGVs ZXRlIGEgZnJhbWUgaWYNCiBhbGwgb3RoZXIgZnJhbWVzIGFyZSBpbnZpc2li bGUsIGJ1dCBpZiB0aGUgc2Vjb25kIG9wdGlvbmFsIGFyZ3VtZW50DQotLSAN CjIuMzMuMA0KDQo= --n0BSkg2Luu--