From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.bugs Subject: bug#27979: tab completion for "(yes or no)?" Date: Sun, 6 Aug 2017 13:34:18 -0700 (PDT) Message-ID: <70abfcd5-5e9b-4f5f-8424-43db42d225ea@default> References: <87lgmxh6w5.fsf@jidanni.org> <87r2wp6v1m.fsf@calancha-pc> <6ec4c50f-952e-4004-8fb8-00ab32280a84@default> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="__15020516608294422abhmp0001.oracle.com" X-Trace: blaine.gmane.org 1502051715 13673 195.159.176.226 (6 Aug 2017 20:35:15 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 6 Aug 2017 20:35:15 +0000 (UTC) Cc: 27979@debbugs.gnu.org, =?UTF-8?Q?=E7=A9=8D=E4=B8=B9=E5=B0=BC?= Dan Jacobson To: Tino Calancha Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Aug 06 22:35:08 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1deSGR-00033l-Cw for geb-bug-gnu-emacs@m.gmane.org; Sun, 06 Aug 2017 22:35:07 +0200 Original-Received: from localhost ([::1]:34268 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1deSGX-000590-DD for geb-bug-gnu-emacs@m.gmane.org; Sun, 06 Aug 2017 16:35:13 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:57614) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1deSGR-00057L-S0 for bug-gnu-emacs@gnu.org; Sun, 06 Aug 2017 16:35:09 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1deSGM-0007Lh-RT for bug-gnu-emacs@gnu.org; Sun, 06 Aug 2017 16:35:07 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:42331) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1deSGM-0007LE-MU for bug-gnu-emacs@gnu.org; Sun, 06 Aug 2017 16:35:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1deSGM-0007yl-CY for bug-gnu-emacs@gnu.org; Sun, 06 Aug 2017 16:35:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 06 Aug 2017 20:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 27979 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 27979-submit@debbugs.gnu.org id=B27979.150205167130632 (code B ref 27979); Sun, 06 Aug 2017 20:35:02 +0000 Original-Received: (at 27979) by debbugs.gnu.org; 6 Aug 2017 20:34:31 +0000 Original-Received: from localhost ([127.0.0.1]:45008 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1deSFr-0007xz-B1 for submit@debbugs.gnu.org; Sun, 06 Aug 2017 16:34:31 -0400 Original-Received: from aserp1040.oracle.com ([141.146.126.69]:22161) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1deSFp-0007xn-BG for 27979@debbugs.gnu.org; Sun, 06 Aug 2017 16:34:29 -0400 Original-Received: from userv0021.oracle.com (userv0021.oracle.com [156.151.31.71]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id v76KYMQX023621 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 6 Aug 2017 20:34:22 GMT Original-Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by userv0021.oracle.com (8.14.4/8.14.4) with ESMTP id v76KYLpr004566 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 6 Aug 2017 20:34:22 GMT Original-Received: from abhmp0001.oracle.com (abhmp0001.oracle.com [141.146.116.7]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id v76KYKjF027603; Sun, 6 Aug 2017 20:34:21 GMT In-Reply-To: <6ec4c50f-952e-4004-8fb8-00ab32280a84@default> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 12.0.6774.5000 (x86)] X-Source-IP: userv0021.oracle.com [156.151.31.71] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 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.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:135514 Archived-At: --__15020516608294422abhmp0001.oracle.com Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable > We could perhaps give users a way to say, "From now on, > for this particular prompting (i.e., in this particular > function/context), use `y-or-n-p', not `yes-or-no-p'. Here's a rough bit along those lines (attached), to play with. Just something quick & dirty, unfinished (doc etc.) and only summarily tested. (I did nothing with the code for dialog boxes and `noninteractive'.) What it does: 1. Add a CALLER optional arg to `yes-or-no-p' and `y-or-n-p'. It is the symbol for the function that is calling the confirmation-prompt function. If CALLER is not present, the behavior is the same as now. If something like this were adopted then we would presumably add CALLER to calls of these functions. For example, in the definition of `help-mode-revert-buffer' we would use this: (yes-or-no-p "Revert help buffer? " 'help-mode-revert-buffer) 2. For `yes-or-no-p', if CALLER is present then:=20 * If CALLER has non-nil property `use-y-or-n-p' then use `y-or-n-p' (in place of the rest of `yes-or-no-p'). * Otherwise, `use-y-or-n-p' is a possible user input. If this is the input then `(put CALLER 'use-y-or-n-p t)' and prompt again, but with `y-or-n-p'. 3. For `y-or-n-p', if CALLER is present then: * Input of `e' (bound to `edit-replacement' in the keymap) does `(put CALLER 'use-y-or-n-p nil)', then prompts again, but with `yes-or-no-p'. Let me know if you find a problem. (BTW, why is `yes-or-no-p' defined in C code?) --__15020516608294422abhmp0001.oracle.com Content-Type: application/octet-stream; name="throw-yes-no.el" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="throw-yes-no.el" Ozs7IFRFU1Q6Cjs7OyAoeWVzLW9yLW5vLXAgIkFncmVlZD8gIikKOzs7ICh5ZXMtb3Itbm8tcCAi QWdyZWVkPyAiICdoZWxwLW1vZGUtcmV2ZXJ0LWJ1ZmZlcikKOzs7ICh5LW9yLW4tcCAiQWdyZWVk PyAiICdoZWxwLW1vZGUtcmV2ZXJ0LWJ1ZmZlcikKCihkZWZ1biB5ZXMtb3Itbm8tcCAocHJvbXB0 ICZvcHRpb25hbCBjYWxsZXIpCiAgIkFzayB1c2VyIGEgeWVzLW9yLW5vIHF1ZXN0aW9uLgpSZXR1 cm4gdCBpZiBhbnN3ZXIgaXMgYHllcycsIGFuZCBuaWwgaWYgdGhlIGFuc3dlciBpcyBgbm8nLgoK SWYgQ0FMTEVSIGlzIG5vbi1uaWwgdGhlbiBpdCBpcyB0aGUgc3ltYm9sIG9mIGEgZnVuY3Rpb24g dGhhdCBjYWxscwpgeWVzLW9yLW5vLXAnLiAgSW4gdGhpcyBjYXNlLCB0aGUgYW5zd2VyIGNhbiBh bHNvIGJlIGB1c2UteS1vci1uLXAnLAptZWFuaW5nIGZyb20gbm93IG9uIHVzZSBgeS1vci1uLXAn IGluc3RlYWQgb2YgYHllcy1vci1uby1wJyBmb3IKQ0FMTEVSLiAgKEluIHRoaXMgY2FzZSwgYHkt b3Itbi1wJyBpcyBjYWxsZWQgaW1tZWRpYXRlbHkuKQoKUFJPTVBUIGlzIHRoZSBzdHJpbmcgdG8g ZGlzcGxheSB0byBhc2sgdGhlIHF1ZXN0aW9uLiAgSXQgc2hvdWxkIGVuZCBpbgphIHNwYWNlOyBg eWVzLW9yLW5vLXAnIGFkZHMgXCIoeWVzIG9yIG5vKSBcIiB0byBpdC4KClRoZSB1c2VyIG11c3Qg Y29uZmlybSB0aGUgYW5zd2VyIHdpdGggYFJFVCcsIGFuZCBjYW4gZWRpdCB0aGUKaW5wdXQgdW50 aWwgdXNpbmcgYFJFVCcuCgpJZiBkaWFsb2cgYm94ZXMgYXJlIHN1cHBvcnRlZCwgYSBkaWFsb2cg Ym94IHdpbGwgYmUgdXNlZAppZiBgbGFzdC1ub25tZW51LWV2ZW50JyBpcyBuaWwsIGFuZCBgdXNl LWRpYWxvZy1ib3gnIGlzIG5vbi1uaWwuIgogIChpZiAoYW5kIGNhbGxlciAgKGdldCBjYWxsZXIg J3VzZS15LW9yLW4tcCkpCiAgICAgICh5LW9yLW4tcCBwcm9tcHQgY2FsbGVyKQogICAgKGxldCog KChpbnB1dCAgIChpbnRlcm4gKHJlYWQtZnJvbS1taW5pYnVmZmVyIChjb25jYXQgcHJvbXB0ICIo eWVzIG9yIG5vKSAiKSkpKQogICAgICAgICAgIChub2dvb2QgIChub3QgKG1lbXEgaW5wdXQgKGlm IGNhbGxlciAnKHllcyBubyB1c2UteS1vci1uLXApICcoeWVzIG5vKSkpKSkpCiAgICAgIChjb25k IChub2dvb2QKICAgICAgICAgICAgIChtZXNzYWdlICJQbGVhc2UgYW5zd2VyIGB5ZXMnJXMiCiAg ICAgICAgICAgICAgICAgICAgICAoaWYgY2FsbGVyICIsIGBubycsIG9yIGB1c2UteS1vci1uLXAn LiIgIiBvciBgbm8nLiIpKQogICAgICAgICAgICAgKHNpdC1mb3IgMi4wKQogICAgICAgICAgICAg KHllcy1vci1uby1wIHByb21wdCBjYWxsZXIpKQogICAgICAgICAgICAoKGVxIGlucHV0ICd5ZXMp IHQpCiAgICAgICAgICAgICgoZXEgaW5wdXQgJ3VzZS15LW9yLW4tcCkKICAgICAgICAgICAgICht ZXNzYWdlICJgeS1vci1uLXAnIHdpbGwgYmUgdXNlZCBoZXJlIGZyb20gbm93IG9uLiIpCiAgICAg ICAgICAgICAoc2l0LWZvciAyLjApCiAgICAgICAgICAgICAocHV0IGNhbGxlciAndXNlLXktb3It bi1wIHQpCiAgICAgICAgICAgICAoeS1vci1uLXAgcHJvbXB0IGNhbGxlcikpKSkpKQoKKGRlZnVu IHktb3Itbi1wIChwcm9tcHQgJm9wdGlvbmFsIGNhbGxlcikKICAiQXNrIHVzZXIgYSBcInkgb3Ig blwiIHF1ZXN0aW9uLgpSZXR1cm4gdCBpZiBhbnN3ZXIgaXMgXCJ5XCIgYW5kIG5pbCBpZiBpdCBp cyBcIm5cIi4KUFJPTVBUIGlzIHRoZSBzdHJpbmcgdG8gZGlzcGxheSB0byBhc2sgdGhlIHF1ZXN0 aW9uLiAgSXQgc2hvdWxkCmVuZCBpbiBhIHNwYWNlOyBgeS1vci1uLXAnIGFkZHMgXCIoeSBvciBu KSBcIiB0byBpdC4KCklmIENBTExFUiBpcyBub24tbmlsIHRoZW4gaXQgaXMgdGhlIHN5bWJvbCBv ZiBhIGZ1bmN0aW9uIHRoYXQgY2FsbHMKYHktb3Itbi1wJy4gIEluIHRoaXMgY2FzZSwgdGhlIGFu c3dlciBjYW4gYWxzbyBiZSBcImVcIiwgbWVhbmluZyBmcm9tCm5vdyBvbiB1c2UgYHllcy1vci1u by1wJyBpbnN0ZWFkIG9mYHktb3Itbi1wJywgZm9yIENBTExFUi4gIChJbiB0aGlzCmNhc2UsIGB5 ZXMtb3Itbm8tcCcgaXMgY2FsbGVkIGltbWVkaWF0ZWx5LikKCk5vIGNvbmZpcm1hdGlvbiBvZiB0 aGUgYW5zd2VyIGlzIHJlcXVlc3RlZDsgYSBzaW5nbGUgY2hhcmFjdGVyIGlzCmVub3VnaC4gIFNQ QyBhbHNvIG1lYW5zIHllcywgYW5kIERFTCBtZWFucyBuby4KClRvIGJlIHByZWNpc2UsIHRoaXMg ZnVuY3Rpb24gdHJhbnNsYXRlcyB1c2VyIGlucHV0IGludG8gcmVzcG9uc2VzIGJ5CmNvbnN1bHRp bmcgdGhlIGJpbmRpbmdzIGluIGBxdWVyeS1yZXBsYWNlLW1hcCc7IHNlZSB0aGUgZG9jdW1lbnRh dGlvbgpvZiB0aGF0IHZhcmlhYmxlIGZvciBtb3JlIGluZm9ybWF0aW9uLiAgSW4gdGhpcyBjYXNl LCB0aGUgdXNlZnVsCmJpbmRpbmdzIGFyZSBgYWN0JywgYHNraXAnLCBgcmVjZW50ZXInLCBgc2Ny b2xsLXVwJywgYHNjcm9sbC1kb3duJywKYHF1aXQnLCBhbmQgYGVkaXQtcmVwbGFjZW1lbnQnIChi b3VuZCB0byBcImVcIikuICBBbiBgYWN0JyByZXNwb25zZQptZWFucyB5ZXMsIGFuZCBhIGBza2lw JyByZXNwb25zZSBtZWFucyBuby4gIEEgYHF1aXQnIHJlc3BvbnNlIG1lYW5zIHRvCmludm9rZSBg a2V5Ym9hcmQtcXVpdCcuICBJZiB0aGUgdXNlciBlbnRlcnMgYHJlY2VudGVyJywgYHNjcm9sbC11 cCcsCm9yIGBzY3JvbGwtZG93bicgcmVzcG9uc2VzLCBwZXJmb3JtIHRoZSByZXF1ZXN0ZWQgd2lu ZG93IHJlY2VudGVyaW5nCm9yIHNjcm9sbGluZyBhbmQgYXNrIGFnYWluLgoKVW5kZXIgYSB3aW5k b3dpbmcgc3lzdGVtIGEgZGlhbG9nIGJveCB3aWxsIGJlIHVzZWQgaWYgYGxhc3Qtbm9ubWVudS1l dmVudCcKaXMgbmlsIGFuZCBgdXNlLWRpYWxvZy1ib3gnIGlzIG5vbi1uaWwuIgogIDs7IMKhQmV3 YXJlISB3aGVuIEkgdHJpZWQgdG8gZWRlYnVnIHRoaXMgY29kZSwgRW1hY3MgZ290IGludG8gYSB3 ZWlyZCBzdGF0ZQogIDs7IHdoZXJlIGFsbCB0aGUga2V5cyB3ZXJlIHVuYm91bmQgKGkuZS4gaXQg c29tZWhvdyBnb3QgdHJpZ2dlcmVkCiAgOzsgd2l0aGluIHJlYWQta2V5LCBhcHBhcmVudGx5KS4g IEkgaGFkIHRvIGtpbGwgaXQuCiAgKGxldCAoKGFuc3dlciAncmVjZW50ZXIpCiAgICAgICAgKG9w cm9tcHQgcHJvbXB0KSAgICAgICAgICAgICAgICA7IEBAQAogICAgICAgIChwYWRkZWQgKGxhbWJk YSAocHJvbXB0ICZvcHRpb25hbCBkaWFsb2cpCiAgICAgICAgICAgICAgICAgIChsZXQgKChsIChs ZW5ndGggcHJvbXB0KSkpCiAgICAgICAgICAgICAgICAgICAgKGNvbmNhdCBwcm9tcHQKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChpZiAob3IgKHplcm9wIGwpIChlcSA/XHMgKGFyZWYgcHJv bXB0ICgxLSBsKSkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIiICIgIikKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChpZiBkaWFsb2cgIiIgIih5IG9yIG4pICIpKSkpKSkK ICAgIChjb25kCiAgICAgIChub25pbnRlcmFjdGl2ZQogICAgICAgKHNldHEgcHJvbXB0IChmdW5j YWxsIHBhZGRlZCBwcm9tcHQpKQogICAgICAgKGxldCAoKHRlbXAtcHJvbXB0IHByb21wdCkpCiAg ICAgICAgICh3aGlsZSAobm90IChtZW1xIGFuc3dlciAnKGFjdCBza2lwKSkpCiAgICAgICAgICAg KGxldCAoKHN0ciAocmVhZC1zdHJpbmcgdGVtcC1wcm9tcHQpKSkKICAgICAgICAgICAgIChjb25k ICgobWVtYmVyIHN0ciAnKCJ5IiAiWSIpKSAoc2V0cSBhbnN3ZXIgJ2FjdCkpCiAgICAgICAgICAg ICAgICAgICAoKG1lbWJlciBzdHIgJygibiIgIk4iKSkgKHNldHEgYW5zd2VyICdza2lwKSkKICAg ICAgICAgICAgICAgICAgICh0IChzZXRxIHRlbXAtcHJvbXB0IChjb25jYXQgIlBsZWFzZSBhbnN3 ZXIgeSBvciBuLiAgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBwcm9tcHQpKSkpKSkpKQogICAgICAoKGFuZCAoZGlzcGxheS1wb3B1cC1tZW51cy1wKQog ICAgICAgICAgICBsYXN0LWlucHV0LWV2ZW50ICAgICAgICAgICAgOyBub3QgZHVyaW5nIHN0YXJ0 dXAKICAgICAgICAgICAgKGxpc3RwIGxhc3Qtbm9ubWVudS1ldmVudCkKICAgICAgICAgICAgdXNl LWRpYWxvZy1ib3gpCiAgICAgICAoc2V0cSBwcm9tcHQgKGZ1bmNhbGwgcGFkZGVkIHByb21wdCB0 KQogICAgICAgICAgICAgYW5zd2VyICh4LXBvcHVwLWRpYWxvZyB0IGAoLHByb21wdCAoIlllcyIg LiBhY3QpICgiTm8iIC4gc2tpcCkpKSkpCiAgICAgICh0CiAgICAgICAoc2V0cSBwcm9tcHQgKGZ1 bmNhbGwgcGFkZGVkIHByb21wdCkpCiAgICAgICAod2hpbGUKICAgICAgICAgICAobGV0KiAoKHNj cm9sbC1hY3Rpb25zICcocmVjZW50ZXIgc2Nyb2xsLXVwIHNjcm9sbC1kb3duCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbC1vdGhlci13aW5kb3cgc2Nyb2xsLW90aGVy LXdpbmRvdy1kb3duKSkKICAgICAgICAgICAgICAgICAgKGtleQogICAgICAgICAgICAgICAgICAg KGxldCAoKGN1cnNvci1pbi1lY2hvLWFyZWEgdCkpCiAgICAgICAgICAgICAgICAgICAgICh3aGVu IG1pbmlidWZmZXItYXV0by1yYWlzZQogICAgICAgICAgICAgICAgICAgICAgIChyYWlzZS1mcmFt ZSAod2luZG93LWZyYW1lIChtaW5pYnVmZmVyLXdpbmRvdykpKSkKICAgICAgICAgICAgICAgICAg ICAgKHJlYWQta2V5IChwcm9wZXJ0aXplIChpZiAob3IgKG1lbXEgYW5zd2VyIHNjcm9sbC1hY3Rp b25zKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo ZXEgYW5zd2VyICdlZGl0LXJlcGxhY2VtZW50KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBwcm9tcHQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKGNvbmNhdCAiUGxlYXNlIGFuc3dlciB5IG9yIG4uICAiIHByb21wdCkp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmFjZSAnbWluaWJ1 ZmZlci1wcm9tcHQpKSkpKQogICAgICAgICAgICAgKHVubGVzcyAoZXEgYW5zd2VyICdlZGl0LXJl cGxhY2VtZW50KQogICAgICAgICAgICAgICAoc2V0cSBhbnN3ZXIgKGxvb2t1cC1rZXkgcXVlcnkt cmVwbGFjZS1tYXAgKHZlY3RvciBrZXkpIHQpKSkKICAgICAgICAgICAgIChjb25kCiAgICAgICAg ICAgICAgICgoYW5kIGNhbGxlciAgKGVxIGFuc3dlciAnZWRpdC1yZXBsYWNlbWVudCkpCiAgICAg ICAgICAgICAgICAocHV0IGNhbGxlciAndXNlLXktb3Itbi1wIG5pbCkKICAgICAgICAgICAgICAg IChtZXNzYWdlICJgeWVzLW9yLW5vLXAnIHdpbGwgYmUgdXNlZCBoZXJlIGZyb20gbm93IG9uLiIp CiAgICAgICAgICAgICAgICAoc2l0LWZvciAyLjApCiAgICAgICAgICAgICAgICAoc2V0cSBhbnN3 ZXIgICdleGl0KQogICAgICAgICAgICAgICAgKHllcy1vci1uby1wIG9wcm9tcHQgY2FsbGVyKSkK ICAgICAgICAgICAgICAgKChtZW1xIGFuc3dlciAnKHNraXAgYWN0KSkgbmlsKQogICAgICAgICAg ICAgICAoKGVxIGFuc3dlciAncmVjZW50ZXIpCiAgICAgICAgICAgICAgICAocmVjZW50ZXIpIHQp CiAgICAgICAgICAgICAgICgoZXEgYW5zd2VyICdzY3JvbGwtdXApCiAgICAgICAgICAgICAgICAo aWdub3JlLWVycm9ycyAoc2Nyb2xsLXVwLWNvbW1hbmQpKSB0KQogICAgICAgICAgICAgICAoKGVx IGFuc3dlciAnc2Nyb2xsLWRvd24pCiAgICAgICAgICAgICAgICAoaWdub3JlLWVycm9ycyAoc2Ny b2xsLWRvd24tY29tbWFuZCkpIHQpCiAgICAgICAgICAgICAgICgoZXEgYW5zd2VyICdzY3JvbGwt b3RoZXItd2luZG93KQogICAgICAgICAgICAgICAgKGlnbm9yZS1lcnJvcnMgKHNjcm9sbC1vdGhl ci13aW5kb3cpKSB0KQogICAgICAgICAgICAgICAoKGVxIGFuc3dlciAnc2Nyb2xsLW90aGVyLXdp bmRvdy1kb3duKQogICAgICAgICAgICAgICAgKGlnbm9yZS1lcnJvcnMgKHNjcm9sbC1vdGhlci13 aW5kb3ctZG93bikpIHQpCiAgICAgICAgICAgICAgICgob3IgKG1lbXEgYW5zd2VyICcoZXhpdC1w cmVmaXggcXVpdCkpIChlcSBrZXkgP1xlKSkKICAgICAgICAgICAgICAgIChzaWduYWwgJ3F1aXQg bmlsKSB0KQogICAgICAgICAgICAgICAodCB0KSkpCiAgICAgICAgIChkaW5nKQogICAgICAgICAo ZGlzY2FyZC1pbnB1dCkpKSkKICAgIChsZXQgKChyZXQgKGVxIGFuc3dlciAnYWN0KSkpCiAgICAg ICh1bmxlc3Mgbm9uaW50ZXJhY3RpdmUKICAgICAgICAobWVzc2FnZSAiJXMlYyIgcHJvbXB0IChp ZiByZXQgP3kgP24pKSkKICAgICAgcmV0KSkpCg== --__15020516608294422abhmp0001.oracle.com--