From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Artur Malabarba Newsgroups: gmane.emacs.devel Subject: Re: ASCII-folded search [was: Re: Upcoming loss of usability ...] Date: Mon, 22 Jun 2015 22:02:11 +0100 Message-ID: References: <20150615142237.GA3517@acm.fritz.box> <87y4jkhqh5.fsf@uwakimon.sk.tsukuba.ac.jp> <557F3C22.4060909@cs.ucla.edu> <5580D356.4050708@cs.ucla.edu> <87si9qonxb.fsf@gnu.org> <87ioamz8if.fsf@petton.fr> <32013464-2300-46c6-ba46-4a3c36bfee5d@default> <87twu62nnt.fsf@mbork.pl> <87oakdfwim.fsf@uwakimon.sk.tsukuba.ac.jp> <83wpz1lh7c.fsf@gnu.org> <83oakdl7yj.fsf@gnu.org> <83ioall3x5.fsf@gnu.org> Reply-To: bruce.connor.am@gmail.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a11c3c842663f1805192196eb X-Trace: ger.gmane.org 1435006951 30001 80.91.229.3 (22 Jun 2015 21:02:31 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 22 Jun 2015 21:02:31 +0000 (UTC) Cc: Stephen Turnbull , Stefan Monnier , emacs-devel To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Jun 22 23:02:30 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Z78rN-0006il-M4 for ged-emacs-devel@m.gmane.org; Mon, 22 Jun 2015 23:02:29 +0200 Original-Received: from localhost ([::1]:41997 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z78rM-0006gC-Vp for ged-emacs-devel@m.gmane.org; Mon, 22 Jun 2015 17:02:28 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48145) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z78r9-0006g6-W4 for emacs-devel@gnu.org; Mon, 22 Jun 2015 17:02:17 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z78r8-0002UC-MG for emacs-devel@gnu.org; Mon, 22 Jun 2015 17:02:15 -0400 Original-Received: from mail-la0-x232.google.com ([2a00:1450:4010:c03::232]:33099) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z78r6-0002TY-AN; Mon, 22 Jun 2015 17:02:12 -0400 Original-Received: by laka10 with SMTP id a10so117717112lak.0; Mon, 22 Jun 2015 14:02:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:reply-to:sender:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=kT7eamQYv8EKpr3iPknMSMDEH7j/2qBebXt+hJOfjbA=; b=mNZ5tXO1ZIRmnR5sgLN9hwc8uHNLkdEh6ddmp7v2vhy3B1bnL/3KbSd8cGenXIQlEG Rz5S30669hsMya8srfi08+Kobs8WcbZQ46JTLgzk0XqNN/zhX6+BHZUd5/xssCnIY0pp 38/Y4uHfW29GXIWxKFgJdd55KstfxtnNzTTWFbLVNfT3Ve64F4tuAxT43VSiRmk51wKl VqJ3VYZD0brFJS70jOVJyZYNU+2GgpuYgCfLoG3u2rC5Lb6XOFI3H66EVndMw9kDo/X0 GC44DzZJWQx5Yk7N5J4xvIn1i2hxUK6ESC3aiDgu62QOrrMf3LAdaBX3bBJ/WzSsa4rm idww== X-Received: by 10.112.210.9 with SMTP id mq9mr31843161lbc.4.1435006931432; Mon, 22 Jun 2015 14:02:11 -0700 (PDT) Original-Received: by 10.25.214.133 with HTTP; Mon, 22 Jun 2015 14:02:11 -0700 (PDT) In-Reply-To: X-Google-Sender-Auth: D6JPm0dqb5ejoncbgzB_pAz-BUw X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4010:c03::232 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:187395 Archived-At: --001a11c3c842663f1805192196eb Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable By the way, here's a patch of how the regexp version can apply to both isearch and query-replace while doing pretty much everything that's been requested. It fixes the issues raised by Eli, and (unlike the previous version) is now fully implemented. Now, "a" will match any character whose decomposition has "a" as the first letter character (not necessarily the first character), so it will match =E2=92=9C, for instance. "a" also matches the decomposition itse= lf, so it will match both the letter "=C3=A1" and the two-character combo "a=CC= =81". Note that the unicode characters still only match themselves, because that's also how case-folding works (if you search uppercase you only match uppercase). I believe that is all we were asking for, correct? Shall I merge? (It adds about 5 seconds of compile time in my laptop) --001a11c3c842663f1805192196eb Content-Type: text/x-patch; charset=UTF-8; name="0001-lisp-isearch.el-Fold-many-unicode-characters-to-ASCI.patch" Content-Disposition: attachment; filename="0001-lisp-isearch.el-Fold-many-unicode-characters-to-ASCI.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ib8dr6xg0 RnJvbSAxZDJkNjZmODhkN2M4NjcwNTA5NWQ5M2JiZDNiYTc4OTU1YTkxZjM2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBcnR1ciBNYWxhYmFyYmEgPGFkZHJlc3NAaGlkZGVuPgpEYXRl OiBUdWUsIDI3IEphbiAyMDE1IDE0OjA4OjAxIC0wMjAwClN1YmplY3Q6IFtQQVRDSF0gKiBsaXNw L2lzZWFyY2guZWw6IEZvbGQgbWFueSB1bmljb2RlIGNoYXJhY3RlcnMgdG8gQVNDSUkKCihpc2Vh cmNoLWNoYXJhY3Rlci1mb2xkLXNlYXJjaCwgaXNlYXJjaC0tY2hhcmFjdGVyLWZvbGQtZXh0cmFz KQooaXNlYXJjaC0tY2hhcmFjdGVyLWZvbGQtdGFibGUpOiBOZXcgdmFyaWFibGUuCihpc2VhcmNo LS1jaGFyYWN0ZXItZm9sZGVkLXJlZ2V4cCk6IE5ldyBmdW5jdGlvbi4KKGlzZWFyY2gtc2VhcmNo LWZ1bi1kZWZhdWx0KTogVXNlIHRoZW0uCgoqIGxpc3AvcmVwbGFjZS5lbCAocmVwbGFjZS1jaGFy YWN0ZXItZm9sZCk6IE5ldyB2YXJpYWJsZS4KKHJlcGxhY2Utc2VhcmNoKTogVXNlIGl0LgotLS0K IGxpc3AvaXNlYXJjaC5lbCB8IDc1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwogbGlzcC9yZXBsYWNlLmVsIHwgIDkgKysrKysrKwogMiBm aWxlcyBjaGFuZ2VkLCA4NCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGlzcC9pc2VhcmNo LmVsIGIvbGlzcC9pc2VhcmNoLmVsCmluZGV4IGQxYjkyYmQuLmViMGY5NjUgMTAwNjQ0Ci0tLSBh L2xpc3AvaXNlYXJjaC5lbAorKysgYi9saXNwL2lzZWFyY2guZWwKQEAgLTI3Miw2ICsyNzIsNzQg QEAgRGVmYXVsdCB2YWx1ZSwgbmlsLCBtZWFucyBlZGl0IHRoZSBzdHJpbmcgaW5zdGVhZC4iCiAg IDp2ZXJzaW9uICIyMy4xIgogICA6Z3JvdXAgJ2lzZWFyY2gpCiAKKyhkZWZ2YXIgaXNlYXJjaC1j aGFyYWN0ZXItZm9sZC1zZWFyY2ggdAorICAiV2hldGhlciByZWd1bGFyIGlzZWFyY2ggc2hvdWxk IGZvbGQgc2ltaWxhciBjaGFyYWN0ZXJzLgorVGhpcyBtZWFucyBzb21lIGNoYXJhY3RlcnMgd2ls bCBtYXRjaCBlbnRpcmUgZ3JvdXBzIG9mIGNoYXJhY3RlcywKK3N1Y2ggYXMgXCIgbWF0Y2hpbmcg YWxsIHZhcmlhbnRzIG9mIGRvdWJsZSBxdW90ZXMsIGZvciBpbnN0YW5jZS4iKQorCisoZGVmY29u c3QgaXNlYXJjaC0tY2hhcmFjdGVyLWZvbGQtZXh0cmFzCisgICcoKD9cIiAi77yCIiAi4oCcIiAi 4oCdIiAi4oCdIiAi4oCeIiAi4rmCIiAi44CeIiAi4oCfIiAi4oCfIiAi4p2eIiAi4p2dIiAi4p2g IiAi4oCcIiAi4oCeIiAi44CdIiAi44CfIiAi8J+ZtyIgIvCfmbYiICLwn5m4IiAiwqsiICLCuyIp CisgICAgKD8nICJgIiAi4p2fIiAi4p2bIiAi4p2cIiAi4oCYIiAi4oCZIiAi4oCaIiAi4oCbIiAi 4oCaIiAi86CAoiIgIuKdriIgIuKdryIgIuKAuSIgIuKAuiIpCisgICAgKD9gICLinZsiICLigJgi ICLigJsiICLzoICiIiAi4p2uIiAi4oC5IikKKyAgICA7OyBgaXNlYXJjaC1jaGFyYWN0ZXItZm9s ZC1zZWFyY2gnIGRvZXNuJ3QgaW50ZXJhY3Qgd2l0aAorICAgIDs7IGBpc2VhcmNoLWxheC13aGl0 ZXNwYWNlJyB5ZXQuICBTbyB3ZSBuZWVkIHRvIGFkZCB0aGlzIGhlcmUuCisgICAgKD9ccyAiCSIg IlxyIiAiXG4iKSkKKyAgIkV4dHJhIGVudHJpZXMgdG8gYWRkIHRvIGBpc2VhcmNoLS1jaGFyYWN0 ZXItZm9sZC10YWJsZScuCitVc2VkIHRvIHNwZWNpZnkgY2hhcmFjdGVyIGZvbGRpbmcgbm90IGNv dmVyZWQgYnkgdW5pY29kZQorZGVjb21wb3NpdGlvbi4gIEVhY2ggY2FyIGlzIGEgY2hhcmFjdGVy IGFuZCBlYWNoIGNkciBpcyBhIGxpc3Qgb2YKK3N0cmluZ3MgdGhhdCBpdCBzaG91bGQgbWF0Y2gg KGl0c2VsZiBleGNsdWRlZCkuIikKKworKGRlZnZhciBpc2VhcmNoLS1jaGFyYWN0ZXItZm9sZC10 YWJsZQorICAoZXZhbC13aGVuLWNvbXBpbGUgKGZ1bmNhbGwgKGJ5dGUtY29tcGlsZSAobGFtYmRh ICgpCisgICAocmVxdWlyZSAnc3Vici14KQorICAgKGxldCAoKGVxdWl2IChtYWtlLWNoYXItdGFi bGUgJ2NoYXJhY3Rlci1mb2xkLXRhYmxlKSkpCisgICAgIDs7IENvbXBpbGUgYSBsaXN0IG9mIGFs bCBjb21wbGV4IGNoYXJhY3RlcnMgdGhhdCBlYWNoIHNpbXBsZQorICAgICA7OyBjaGFyYWN0ZXIg c2hvdWxkIG1hdGNoLgorICAgICAoZG90aW1lcyAoaSAobGVuZ3RoIGVxdWl2KSkKKyAgICAgICAo bGV0ICgoZGQgKGdldC1jaGFyLWNvZGUtcHJvcGVydHkgaSAnZGVjb21wb3NpdGlvbikpCisgICAg ICAgICAgICAgZCBrIGZvdW5kKQorICAgICAgICAgOzsgU2tpcCB0cml2aWFsIGNhc2VzICg/YSBk ZWNvbXBvc2VzIHRvICg/YSkpLgorICAgICAgICAgKHVubGVzcyAoYW5kIChlcSBpIChjYXIgZGQp KSkKKyAgICAgICAgICAgOzsgRGlzY2FyZCBhIHBvc3NpYmxlIGZvcm1hdHRpbmcgdGFnLgorICAg ICAgICAgICAod2hlbiAoc3ltYm9scCAoY2FyLXNhZmUgZGQpKQorICAgICAgICAgICAgIChzZXRx IGRkIChjZHIgZGQpKSkKKyAgICAgICAgICAgOzsgSXMgayBhIG51bWJlciBvciBsZXR0ZXIsIHBl ciB1bmljb2RlIHN0YW5kYXJkPworICAgICAgICAgICAoc2V0cSBkIGRkKQorICAgICAgICAgICAo d2hpbGUgKGFuZCBkIChub3QgZm91bmQpKQorICAgICAgICAgICAgIChzZXRxIGsgKHBvcCBkKSkK KyAgICAgICAgICAgICAoc2V0cSBmb3VuZCAoYW5kIChjaGFyYWN0ZXJwIGspCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAobWVtcSAoZ2V0LWNoYXItY29kZS1wcm9wZXJ0eSBrICdnZW5l cmFsLWNhdGVnb3J5KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyhMdSBM bCBMdCBMbSBMbyBOZCBObCBObykpKSkpCisgICAgICAgICAgIDs7IElmIHRoZXJlJ3Mgbm8gbnVt YmVyIG9yIGxldHRlciBvbiB0aGUKKyAgICAgICAgICAgOzsgZGVjb21wb3NpdGlvbiwgZmluZCB0 aGUgZmlyc3QgY2hhcmFjdGVyIGluIGl0LgorICAgICAgICAgICAoc2V0cSBkIGRkKQorICAgICAg ICAgICAod2hpbGUgKGFuZCBkIChub3QgZm91bmQpKQorICAgICAgICAgICAgIChzZXRxIGsgKHBv cCBkKSkKKyAgICAgICAgICAgICAoc2V0cSBmb3VuZCAoY2hhcmFjdGVycCBrKSkpCisgICAgICAg ICAgIDs7IEFkZCBpIHRvIHRoZSBsaXN0IG9mIGNoYXJhY3RlcnMgdGhhdCBrIGNhbgorICAgICAg ICAgICA7OyByZXByZXNlbnQuIEFsc28gYWRkIGl0cyBkZWNvbXBvc2l0aW9uLCBzbyB3ZSBjYW4K KyAgICAgICAgICAgOzsgbWF0Y2ggbXVsdGktY2hhciByZXByZXNlbnRhdGlvbnMgbGlrZSAoZm9y bWF0ICJhJWMiIDc2OSkKKyAgICAgICAgICAgKHdoZW4gKGFuZCBmb3VuZCAobm90IChlcSBpIGsp KSkKKyAgICAgICAgICAgICAoYXNldCBlcXVpdiBrIChjb25zIChhcHBseSAjJ3N0cmluZyBkZCkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zIChzdHJpbmcgaSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhcmVmIGVxdWl2IGspKSkpKSkpKQor ICAgICAoZG90aW1lcyAoaSAobGVuZ3RoIGVxdWl2KSkKKyAgICAgICAod2hlbi1sZXQgKChjaGFy cyAoYXBwZW5kIChjZHIgKGFzc3EgaSBpc2VhcmNoLS1jaGFyYWN0ZXItZm9sZC1leHRyYXMpKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFyZWYgZXF1aXYgaSkpKSkKKyAgICAg ICAgIChhc2V0IGVxdWl2IGkgKHJlZ2V4cC1vcHQgKGNvbnMgKHN0cmluZyBpKSBjaGFycykpKSkp CisgICAgIGVxdWl2KSkpKSkKKyAgIlVzZWQgZm9yIGZvbGRpbmcgY2hhcmFjdGVycyBvZiB0aGUg c2FtZSBncm91cCBkdXJpbmcgc2VhcmNoLiIpCisKKyhkZWZ1biBpc2VhcmNoLS1jaGFyYWN0ZXIt Zm9sZGVkLXJlZ2V4cCAoc3RyaW5nKQorICAiUmV0dXJuIGEgcmVnZXhwIG1hdGNoaW5nIGFueXRo aW5nIHRoYXQgY2hhcmFjdGVyLWZvbGRzIGludG8gU1RSSU5HLgorVGhhdCBpcywgYW55IGNoYXJh Y3RlciBpbiBTVFJJTkcgdGhhdCBoYXMgYW4gZW50cnkgaW4KK2Bpc2VhcmNoLS1jaGFyYWN0ZXIt Zm9sZC10YWJsZScgaXMgcmVwbGFjZWQgd2l0aCB0aGF0IGVudHJ5ICh3aGljaCBpcyBhCityZWdl eHApLiAgT3RoZXIgY2hhcmFjdGVycyBhcmUgYHJlZ2V4cC1xdW90ZSdkLiIKKyAgKGFwcGx5ICMn Y29uY2F0CisgICAgKG1hcGNhciAobGFtYmRhIChjKSAob3IgKGFyZWYgaXNlYXJjaC0tY2hhcmFj dGVyLWZvbGQtdGFibGUgYykKKyAgICAgICAgICAgICAgICAgICAgICAgKHJlZ2V4cC1xdW90ZSAo c3RyaW5nIGMpKSkpCisgICAgICAgICAgICBzdHJpbmcpKSkKKwogKGRlZmN1c3RvbSBpc2VhcmNo LWxhenktaGlnaGxpZ2h0IHQKICAgIkNvbnRyb2xzIHRoZSBsYXp5LWhpZ2hsaWdodGluZyBkdXJp bmcgaW5jcmVtZW50YWwgc2VhcmNoLgogV2hlbiBub24tbmlsLCBhbGwgdGV4dCBpbiB0aGUgYnVm ZmVyIG1hdGNoaW5nIHRoZSBjdXJyZW50IHNlYXJjaApAQCAtMjYwNyw2ICsyNjc1LDEzIEBAIENh biBiZSBjaGFuZ2VkIHZpYSBgaXNlYXJjaC1zZWFyY2gtZnVuLWZ1bmN0aW9uJyBmb3Igc3BlY2lh bCBuZWVkcy4iCiAgICAgICAncmUtc2VhcmNoLWJhY2t3YXJkLWxheC13aGl0ZXNwYWNlKSkKICAg IChpc2VhcmNoLXJlZ2V4cAogICAgIChpZiBpc2VhcmNoLWZvcndhcmQgJ3JlLXNlYXJjaC1mb3J3 YXJkICdyZS1zZWFyY2gtYmFja3dhcmQpKQorICAgOzsgYGlzZWFyY2gtcmVnZXhwJyBpcyBlc3Nl bnRpYWxseSBhIHN1cGVyc2V0IG9mCisgICA7OyBgaXNlYXJjaC1mb2xkLWdyb3VwcycuICBTbyBm b2xkLWdyb3VwcyBjb21lcyBhZnRlciBpdC4KKyAgIChpc2VhcmNoLWNoYXJhY3Rlci1mb2xkLXNl YXJjaAorICAgIChsYW1iZGEgKHN0cmluZyAmb3B0aW9uYWwgYm91bmQgbm9lcnJvciBjb3VudCkK KyAgICAgIChmdW5jYWxsIChpZiBpc2VhcmNoLWZvcndhcmQgIydyZS1zZWFyY2gtZm9yd2FyZCAj J3JlLXNlYXJjaC1iYWNrd2FyZCkKKyAgICAgICAgKGlzZWFyY2gtLWNoYXJhY3Rlci1mb2xkZWQt cmVnZXhwIHN0cmluZykKKyAgICAgICAgYm91bmQgbm9lcnJvciBjb3VudCkpKQogICAgKChhbmQg aXNlYXJjaC1sYXgtd2hpdGVzcGFjZSBzZWFyY2gtd2hpdGVzcGFjZS1yZWdleHApCiAgICAgKGlm IGlzZWFyY2gtZm9yd2FyZAogCSdzZWFyY2gtZm9yd2FyZC1sYXgtd2hpdGVzcGFjZQpkaWZmIC0t Z2l0IGEvbGlzcC9yZXBsYWNlLmVsIGIvbGlzcC9yZXBsYWNlLmVsCmluZGV4IDFiZjEzNDMuLjk2 YmJkNjEgMTAwNjQ0Ci0tLSBhL2xpc3AvcmVwbGFjZS5lbAorKysgYi9saXNwL3JlcGxhY2UuZWwK QEAgLTMzLDYgKzMzLDE0IEBACiAgIDp0eXBlICdib29sZWFuCiAgIDpncm91cCAnbWF0Y2hpbmcp CiAKKyhkZWZjdXN0b20gcmVwbGFjZS1jaGFyYWN0ZXItZm9sZCB0CisgICJOb24tbmlsIG1lYW5z IGBxdWVyeS1yZXBsYWNlJyBzaG91bGQgZG8gY2hhcmFjdGVyIGZvbGRpbmcgaW4gbWF0Y2hlcy4K K1RoaXMgbWVhbnMsIGZvciBpbnN0YW5jZSwgdGhhdCAnIHdpbGwgbWF0Y2ggYSBsYXJnZSB2YXJp ZXR5IG9mCit1bmljb2RlIHF1b3Rlcy4iCisgIDp0eXBlICdib29sZWFuCisgIDpncm91cCAnbWF0 Y2hpbmcKKyAgOnZlcnNpb24gIjI1LjEiKQorCiAoZGVmY3VzdG9tIHJlcGxhY2UtbGF4LXdoaXRl c3BhY2UgbmlsCiAgICJOb24tbmlsIG1lYW5zIGBxdWVyeS1yZXBsYWNlJyBtYXRjaGVzIGEgc2Vx dWVuY2Ugb2Ygd2hpdGVzcGFjZSBjaGFycy4KIFdoZW4geW91IGVudGVyIGEgc3BhY2Ugb3Igc3Bh Y2VzIGluIHRoZSBzdHJpbmdzIHRvIGJlIHJlcGxhY2VkLApAQCAtMjAwMyw2ICsyMDExLDcgQEAg SXQgaXMgY2FsbGVkIHdpdGggdGhyZWUgYXJndW1lbnRzLCBhcyBpZiBpdCB3ZXJlCiAgIDs7IHVz ZWQgYWZ0ZXIgYHJlY3Vyc2l2ZS1lZGl0JyBtaWdodCBvdmVycmlkZSB0aGVtLgogICAobGV0KiAo KGlzZWFyY2gtcmVnZXhwIHJlZ2V4cC1mbGFnKQogCSAoaXNlYXJjaC13b3JkIGRlbGltaXRlZC1m bGFnKQorICAgICAgICAgKGlzZWFyY2gtY2hhcmFjdGVyLWZvbGQtc2VhcmNoIHJlcGxhY2UtY2hh cmFjdGVyLWZvbGQpCiAJIChpc2VhcmNoLWxheC13aGl0ZXNwYWNlCiAJICByZXBsYWNlLWxheC13 aGl0ZXNwYWNlKQogCSAoaXNlYXJjaC1yZWdleHAtbGF4LXdoaXRlc3BhY2UKLS0gCjIuNC40Cgo= --001a11c3c842663f1805192196eb--