From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Duncan Findlay via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#55883: [PATCH] Update X Primary Selection with active regions Date: Mon, 13 Jun 2022 23:36:13 -0700 Message-ID: References: <834k0t104u.fsf@gnu.org> <8335gbzled.fsf@gnu.org> Reply-To: Duncan Findlay Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000003f19e605e162a190" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="24924"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 55883@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Jun 14 09:35:21 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 1o1156-0006J1-VG for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 14 Jun 2022 09:35:21 +0200 Original-Received: from localhost ([::1]:47768 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o1155-0006mJ-DX for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 14 Jun 2022 03:35:19 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:51466) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o114p-0006lD-11 for bug-gnu-emacs@gnu.org; Tue, 14 Jun 2022 03:35:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:38903) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o114n-00058e-Lx for bug-gnu-emacs@gnu.org; Tue, 14 Jun 2022 03:35:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1o114n-0007yu-Jk for bug-gnu-emacs@gnu.org; Tue, 14 Jun 2022 03:35:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Duncan Findlay Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 14 Jun 2022 07:35:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55883 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 55883-submit@debbugs.gnu.org id=B55883.165519205230603 (code B ref 55883); Tue, 14 Jun 2022 07:35:01 +0000 Original-Received: (at 55883) by debbugs.gnu.org; 14 Jun 2022 07:34:12 +0000 Original-Received: from localhost ([127.0.0.1]:32795 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o113z-0007xV-TX for submit@debbugs.gnu.org; Tue, 14 Jun 2022 03:34:12 -0400 Original-Received: from mail-wr1-f51.google.com ([209.85.221.51]:46992) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o10Ac-0004P1-5d for 55883@debbugs.gnu.org; Tue, 14 Jun 2022 02:36:59 -0400 Original-Received: by mail-wr1-f51.google.com with SMTP id u8so9771123wrm.13 for <55883@debbugs.gnu.org>; Mon, 13 Jun 2022 23:36:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=jZ5cIc0EYlWs1in2jzWh3IXOg0gLbPa/eDgysDf2JEo=; b=INnjndI/+/ZyQql8zXB2AvTs+yZLmfssvRbVoU4wXqY/XYVg03saf9kfR6UB7RVbrP q1LzfR6I02qsDuy46HQwNBkLcj81styqw5QZx0tYaJl3dONvVeiG4ng7Wu9GfykzFm/p wkD0ilsi16UGGdVQIL00qOjamKs8FfPi9+8B5gIXzPg2otEWjNRBnIA9s8F4lgh2F2BH 9Icxj2RDVyLNHzLpHlO3YKr03JSAqBERYvAaqDY8XKr/ZfSqNEnTInhrYhuLLBOBROeg BaDhMJ//OKcog3T5gz8niEwfnwEBdvoJLEyaFr7D7844Uv68DYnJ+Rx2bvKVjSzAIqSS WyWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=jZ5cIc0EYlWs1in2jzWh3IXOg0gLbPa/eDgysDf2JEo=; b=fzXtR0hIVSCGalFTpGJxBD/l3/HoZe8x4TLrWUPfaDQicbXAdopA1Qq3CrLGN5kNCs acv4L4ifN/XQBJ+B++t5fI55/HM/6rRfAPUQs2uJkayRPi2XVBr525Iz1w7l3cwYZWQ0 rwlgorkt22VojAj0L80IpsOmNom7O1mMWhVCXC2r8rTZ4APfuWX88jq5UnsGUNIzKUhz Jk4CWdwht7uqiJD8pMmZ3qoZds9jODJYVQNuHQOPN9kCi4lThCey0drKUSntmiAsX3Jt cvgriGQLgaKgUm8v/ziEZiIRKHWS8c2w/L8q42xbzliMxhqjrC/gyvJXbWWqIYukaMNW RJ0A== X-Gm-Message-State: AJIora/Mvc1n9jlUXwXvoqBu+CWbcg4y/ItvONu7VBXjepIrvosF3xzY OBIhqSwuySaP89b5CBmVEQl4Qi+3Al008uh0+YvqWqtvDrY= X-Google-Smtp-Source: AGRyM1tnLauNWPm8ddpqjjZ5NhrZGEvkwO5fbC1bHHlbbhtIXRsAMIWO819/PvOfKhzknzG49Z5pO0yJjOyeFdcqVMc= X-Received: by 2002:a05:6000:91:b0:217:8efc:f572 with SMTP id m17-20020a056000009100b002178efcf572mr3166467wrx.186.1655188611799; Mon, 13 Jun 2022 23:36:51 -0700 (PDT) In-Reply-To: <8335gbzled.fsf@gnu.org> X-Mailman-Approved-At: Tue, 14 Jun 2022 03:34:10 -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:234461 Archived-At: --0000000000003f19e605e162a190 Content-Type: text/plain; charset="UTF-8" On Sat, Jun 11, 2022 at 12:53 AM Eli Zaretskii wrote: > > > From: Duncan Findlay > > Date: Fri, 10 Jun 2022 18:59:47 -0700 > > Cc: 55883@debbugs.gnu.org > > > > Attached is an updated version that I believe addresses all the > > concerns raised on the mailing list. > > > > Given the changes don't split so cleanly into two any more, I've > > combined them into a single patch. > > Thanks. A few minor issues with this version: > > > * src/keyboard.c (command_loop_1): Check terminal parameter > > `display-selections-p' for text terminals when deciding whether > > to update primary selection. > > * lisp/frame.el (display-selections-p): Return terminal > > parameter `display-selections-p' to indicate selection support. > > * lisp/term/xterm.el (xterm-select-active-regions): New > > defcustom. (xterm--init-activate-set-selection): Set > > the `display-selections-p' terminal parameter. > > Please mention the bug number in the log message. Done. > > +*** Select active regions with xterm selection support. > > +On terminals with xterm setSelection support, the active region may be > > +saved to the X primary selection, following the > > +'select-active-regions' variable. This support is enabled with > > +'xterm-select-active-regions'. ^^ > > Our convention is to leave 2 spaces between sentences in > documentation. Done. > > --- a/lisp/frame.el > > +++ b/lisp/frame.el > > @@ -2164,6 +2164,8 @@ display-selections-p > > (not (null dos-windows-version)))) > > ((memq frame-type '(x w32 ns pgtk)) > > t) > > + ((terminal-parameter display 'display-selections-p) > > + t) > > This should test xterm--set-selection parameter. OK, so the goal is to check the xterm--set-selection terminal parameter and variable xterm-select-active-regions before selecting the active region in deactivate-mark in simple.el. We could do this in display-selections-p, but given that these variables are not obviously related to display-selections-p, it seems to me we probably want to do this check in deactivate-mark instead. Does that seem reasonable to you? > > +(defcustom xterm-select-active-regions nil > > + "If non-nil, on a terminal with setSelection support, Emacs will > > +also update the primary selection with the active region, based > > +on the value of `select-active-regions'." > > The first line of a doc string should be a complete sentence. So this > doc strings should be reworded to comply with this convention. For > example: > > "If non-nil, update PRIMARY X selection on text-mode frames. > On a text-mode terminal that supports setSelection command, if > this variable is non-nil, Emacs will set the PRIMARY selection > from the active region, according to `select-active-regions'." Done, thanks. > > @@ -946,7 +953,9 @@ xterm--init-activate-get-selection > > > > (defun xterm--init-activate-set-selection () > > "Terminal initialization for `gui-set-selection'." > > - (set-terminal-parameter nil 'xterm--set-selection t)) > > + (set-terminal-parameter nil 'xterm--set-selection t) > > + (when xterm-select-active-regions > > + (set-terminal-parameter nil 'display-selections-p t))) > > I see no reason to introduce a new terminal parameter with non-trivial > semantics. Moreover, this consults the value of > xterm-select-active-regions only once, so if the user later modifies > the value of the option, the terminal parameter will stay at its stale > value. > > I think the code should instead check the value of > xterm-select-active-regions in keyboard.c, where it decides whether to > set PRIMARY. (Let me know if you need guidance for how to reference a > Lisp variable from C.) This seems to work -- is there a better way? !NILP (SYMBOL_VAL (XSYMBOL (Qxterm_select_active_regions))) > > @@ -1569,7 +1570,8 @@ command_loop_1 (void) > > { > > /* Even if not deactivating the mark, set PRIMARY if > > `select-active-regions' is non-nil. */ > > - if (!NILP (Fwindow_system (Qnil)) > > + if ((!NILP (Fwindow_system (Qnil)) || > > + !NILP (Fterminal_parameter (Qnil, Qdisplay_selections_p))) > > This should be looking at the xterm--set-selection parameter instead, > and test the value of xterm-select-active-regions in addition, as > described above. Done. I've also addressed Po's comments about long conditionals. Thanks Duncan --0000000000003f19e605e162a190 Content-Type: application/x-patch; name="0001-Support-select-active-regions-with-xterm.patch" Content-Disposition: attachment; filename="0001-Support-select-active-regions-with-xterm.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4dsi9n40 RnJvbSAxNDY4M2U2YWQ2M2JkMWY2MzEyZmQ2MDlkODBiZDg5MDM1ZWUwMzcyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEdW5jYW4gRmluZGxheSA8ZHVuY2ZAZ29vZ2xlLmNvbT4KRGF0 ZTogRnJpLCAxMCBKdW4gMjAyMiAxODo0Njo0OSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIFN1cHBv cnQgYHNlbGVjdC1hY3RpdmUtcmVnaW9ucycgd2l0aCB4dGVybQoKVGhpcyBhbGxvd3MgRW1hY3Mg dG8gc2F2ZSB0aGUgYWN0aXZlIHJlZ2lvbiB0byB0aGUgdXNlcidzCnByaW1hcnkgc2VsZWN0aW9u IG9uIHN1cHBvcnRlZCB0ZXJtaW5hbHMuICBUaGUgYmVoYXZpb3IgZm9sbG93cwp0aGUgZXhpc3Rp bmcgYHNlbGVjdC1hY3RpdmUtcmVnaW9ucycgdmFyaWFibGUgYW5kIHJlcXVpcmVzCmB4dGVybS1z ZWxlY3QtYWN0aXZlLXJlZ2lvbnMnIHRvIGJlIG5vbi1uaWwuCgoqIHNyYy9rZXlib2FyZC5jIChj b21tYW5kX2xvb3BfMSk6CiogbGlzcC9zaW1wbGUuZWwgKGRlYWN0aXZhdGUtbWFyayk6IE9uIHRl eHQgdGVybWluYWxzLCBjaGVjawp0ZXJtaW5hbCBwYXJhbWV0ZXIgYHh0ZXJtLS1zZXQtc2VsZWN0 aW9ucycgYW5kIHZhcmlhYmxlCmB4dGVybS1zZWxlY3QtYWN0aXZlLXJlZ2lvbnMnIHdoZW4gZGVj aWRpbmcgd2hldGhlciB0byB1cGRhdGUKcHJpbWFyeSBzZWxlY3Rpb24uIChidWcjNTU4ODMpCiog bGlzcC90ZXJtL3h0ZXJtLmVsICh4dGVybS1zZWxlY3QtYWN0aXZlLXJlZ2lvbnMpOiBOZXcKZGVm Y3VzdG9tLgotLS0KIGV0Yy9ORVdTICAgICAgICAgICB8IDYgKysrKysrCiBsaXNwL3NpbXBsZS5l bCAgICAgfCA3ICsrKysrKy0KIGxpc3AvdGVybS94dGVybS5lbCB8IDggKysrKysrKysKIHNyYy9r ZXlib2FyZC5jICAgICB8IDYgKysrKystCiA0IGZpbGVzIGNoYW5nZWQsIDI1IGluc2VydGlvbnMo KyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZXRjL05FV1MgYi9ldGMvTkVXUwppbmRl eCAxYjg1NjBhOTIzLi41ZGE5YjRhN2VhIDEwMDY0NAotLS0gYS9ldGMvTkVXUworKysgYi9ldGMv TkVXUwpAQCAtNTAyLDYgKzUwMiwxMiBAQCBUaGlzIGlzIGluIGFkZGl0aW9uIHRvIHByZXZpb3Vz bHktc3VwcG9ydGVkIHdheXMgb2YgZGlzY292ZXJpbmcgMjQtYml0CiBjb2xvciBzdXBwb3J0OiBl aXRoZXIgdmlhIHRoZSAiUkdCIiBvciAic2V0ZjI0IiBjYXBhYmlsaXRpZXMsIG9yIGlmCiB0aGUg J0NPTE9SVEVSTScgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgc2V0IHRvIHRoZSB2YWx1ZSAidHJ1 ZWNvbG9yIi4KIAorKioqIFNlbGVjdCBhY3RpdmUgcmVnaW9ucyB3aXRoIHh0ZXJtIHNlbGVjdGlv biBzdXBwb3J0LgorT24gdGVybWluYWxzIHdpdGggeHRlcm0gc2V0U2VsZWN0aW9uIHN1cHBvcnQs IHRoZSBhY3RpdmUgcmVnaW9uIG1heSBiZQorc2F2ZWQgdG8gdGhlIFggcHJpbWFyeSBzZWxlY3Rp b24sIGZvbGxvd2luZyB0aGUKKydzZWxlY3QtYWN0aXZlLXJlZ2lvbnMnIHZhcmlhYmxlLiAgVGhp cyBzdXBwb3J0IGlzIGVuYWJsZWQgd2l0aAorJ3h0ZXJtLXNlbGVjdC1hY3RpdmUtcmVnaW9ucycu CisKICoqIEVSVAogCiArKysKZGlmZiAtLWdpdCBhL2xpc3Avc2ltcGxlLmVsIGIvbGlzcC9zaW1w bGUuZWwKaW5kZXggMDVhMDg1NWE5Ni4uMGJlNGNiYjIyZSAxMDA2NDQKLS0tIGEvbGlzcC9zaW1w bGUuZWwKKysrIGIvbGlzcC9zaW1wbGUuZWwKQEAgLTY2NjEsNiArNjY2MSw5IEBAIG1hcmsKIAog OzsgQmVoaW5kIGRpc3BsYXktc2VsZWN0aW9ucy1wLgogCis7OyBGcm9tIHRlcm0veHRlcm0uZWwK KyhkZWZ2YXIgeHRlcm0tc2VsZWN0LWFjdGl2ZS1yZWdpb25zKQorCiAoZGVmdW4gZGVhY3RpdmF0 ZS1tYXJrICgmb3B0aW9uYWwgZm9yY2UpCiAgICJEZWFjdGl2YXRlIHRoZSBtYXJrLgogSWYgVHJh bnNpZW50IE1hcmsgbW9kZSBpcyBkaXNhYmxlZCwgdGhpcyBmdW5jdGlvbiBub3JtYWxseSBkb2Vz CkBAIC02Njc5LDcgKzY2ODIsOSBAQCBkZWFjdGl2YXRlLW1hcmsKIAkJICAgKGVxIChjYXItc2Fm ZSB0cmFuc2llbnQtbWFyay1tb2RlKSAnb25seSkKIAkJIHNlbGVjdC1hY3RpdmUtcmVnaW9ucykK IAkgICAgICAgKHJlZ2lvbi1hY3RpdmUtcCkKLQkgICAgICAgKGRpc3BsYXktc2VsZWN0aW9ucy1w KSkKKyAgICAgICAgICAgICAgIChvciAoZGlzcGxheS1zZWxlY3Rpb25zLXApCisgICAgICAgICAg ICAgICAgICAgKGFuZCB4dGVybS1zZWxlY3QtYWN0aXZlLXJlZ2lvbnMKKyAgICAgICAgICAgICAg ICAgICAgICAgICh0ZXJtaW5hbC1wYXJhbWV0ZXIgbmlsICd4dGVybS0tc2V0LXNlbGVjdGlvbikp KSkKICAgICAgIDs7IFRoZSB2YXIgYHNhdmVkLXJlZ2lvbi1zZWxlY3Rpb24nLCBpZiBub24tbmls LCBpcyB0aGUgdGV4dCBpbgogICAgICAgOzsgdGhlIHJlZ2lvbiBwcmlvciB0byB0aGUgbGFzdCBj b21tYW5kIG1vZGlmeWluZyB0aGUgYnVmZmVyLgogICAgICAgOzsgU2V0IHRoZSBzZWxlY3Rpb24g dG8gdGhhdCwgb3IgdG8gdGhlIGN1cnJlbnQgcmVnaW9uLgpkaWZmIC0tZ2l0IGEvbGlzcC90ZXJt L3h0ZXJtLmVsIGIvbGlzcC90ZXJtL3h0ZXJtLmVsCmluZGV4IGE3ZTI1N2Y0MWMuLjA3OTE3ODBk NDAgMTAwNjQ0Ci0tLSBhL2xpc3AvdGVybS94dGVybS5lbAorKysgYi9saXNwL3Rlcm0veHRlcm0u ZWwKQEAgLTgwLDYgKzgwLDE0IEBAIHh0ZXJtLXN0b3JlLXBhc3RlLW9uLWtpbGwtcmluZwogICA6 dmVyc2lvbiAiMjguMSIKICAgOnR5cGUgJ2Jvb2xlYW4pCiAKKyhkZWZjdXN0b20geHRlcm0tc2Vs ZWN0LWFjdGl2ZS1yZWdpb25zIG5pbAorICAiSWYgbm9uLW5pbCwgdXBkYXRlIFBSSU1BUlkgWCBz ZWxlY3Rpb24gb24gdGV4dC1tb2RlIGZyYW1lcy4KK09uIGEgdGV4dC1tb2RlIHRlcm1pbmFsIHRo YXQgc3VwcG9ydHMgc2V0U2VsZWN0aW9uIGNvbW1hbmQsIGlmCit0aGlzIHZhcmlhYmxlIGlzIG5v bi1uaWwsIEVtYWNzIHdpbGwgc2V0IHRoZSBQUklNQVJZIHNlbGVjdGlvbgorZnJvbSB0aGUgYWN0 aXZlIHJlZ2lvbiwgYWNjb3JkaW5nIHRvIGBzZWxlY3QtYWN0aXZlLXJlZ2lvbnMnLiIKKyAgOnZl cnNpb24gIjI5LjEiCisgIDp0eXBlICdib29sZWFuKQorCiAoZGVmY29uc3QgeHRlcm0tcGFzdGUt ZW5kaW5nLXNlcXVlbmNlICJcZVsyMDF+IgogICAiQ2hhcmFjdGVycyBzZW50IGJ5IHRoZSB0ZXJt aW5hbCB0byBlbmQgYSBicmFja2V0ZWQgcGFzdGUuIikKIApkaWZmIC0tZ2l0IGEvc3JjL2tleWJv YXJkLmMgYi9zcmMva2V5Ym9hcmQuYwppbmRleCA1NWQ3MTBlZDYyLi43NmI5ZTNiZDEzIDEwMDY0 NAotLS0gYS9zcmMva2V5Ym9hcmQuYworKysgYi9zcmMva2V5Ym9hcmQuYwpAQCAtMTU2OSw3ICsx NTY5LDkgQEAgY29tbWFuZF9sb29wXzEgKHZvaWQpCiAJICAgIHsKIAkgICAgICAvKiBFdmVuIGlm IG5vdCBkZWFjdGl2YXRpbmcgdGhlIG1hcmssIHNldCBQUklNQVJZIGlmCiAJCSBgc2VsZWN0LWFj dGl2ZS1yZWdpb25zJyBpcyBub24tbmlsLiAgKi8KLQkgICAgICBpZiAoIU5JTFAgKEZ3aW5kb3df c3lzdGVtIChRbmlsKSkKKwkgICAgICBpZiAoKCFOSUxQIChGd2luZG93X3N5c3RlbSAoUW5pbCkp CisJCSAgIHx8ICghTklMUCAoU1lNQk9MX1ZBTCAoWFNZTUJPTCAoUXh0ZXJtX3NlbGVjdF9hY3Rp dmVfcmVnaW9ucykpKQorCQkgICAgICAgJiYgIU5JTFAgKEZ0ZXJtaW5hbF9wYXJhbWV0ZXIgKFFu aWwsIFF4dGVybV9fc2V0X3NlbGVjdGlvbikpKSkKIAkJICAvKiBFdmVuIGlmIG1hcmtfYWN0aXZl IGlzIG5vbi1uaWwsIHRoZSBhY3R1YWwgYnVmZmVyCiAJCSAgICAgbWFya2VyIG1heSBub3QgaGF2 ZSBiZWVuIHNldCB5ZXQgKEJ1ZyM3MDQ0KS4gICovCiAJCSAgJiYgWE1BUktFUiAoQlZBUiAoY3Vy cmVudF9idWZmZXIsIG1hcmspKS0+YnVmZmVyCkBAIC0xMjE2Myw2ICsxMjE2NSw4IEBAIHN5bXNf b2Zfa2V5Ym9hcmQgKHZvaWQpCiAgIERFRlNZTSAoUXBvbGxpbmdfcGVyaW9kLCAicG9sbGluZy1w ZXJpb2QiKTsKIAogICBERUZTWU0gKFFndWlfc2V0X3NlbGVjdGlvbiwgImd1aS1zZXQtc2VsZWN0 aW9uIik7CisgIERFRlNZTSAoUXh0ZXJtX19zZXRfc2VsZWN0aW9uLCAieHRlcm0tLXNldC1zZWxl Y3Rpb24iKTsKKyAgREVGU1lNIChReHRlcm1fc2VsZWN0X2FjdGl2ZV9yZWdpb25zLCAieHRlcm0t c2VsZWN0LWFjdGl2ZS1yZWdpb25zIik7CiAKICAgLyogVGhlIHByaW1hcnkgc2VsZWN0aW9uLiAg Ki8KICAgREVGU1lNIChRUFJJTUFSWSwgIlBSSU1BUlkiKTsKLS0gCjIuMzYuMS40NzYuZzBjNGRh YTIwNmQtZ29vZwoK --0000000000003f19e605e162a190--