From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.help Subject: RE: Bookmarks in EWW Date: Wed, 25 Mar 2020 14:48:34 -0700 (PDT) Message-ID: <6d3b94ad-c804-47aa-acb0-3ec64159ee50@default> References: <878sjrfh2m.fsf@mbork.pl> <871rpipzwa.fsf@web.de> <87tv2d3zii.fsf@web.de> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="__1585172915870148244abhmp0005.oracle.com" Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="122049"; mail-complaints-to="usenet@ciao.gmane.io" Cc: help-gnu-emacs@gnu.org To: Michael Heerdegen , Stefan Monnier Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Wed Mar 25 22:49:13 2020 Return-path: Envelope-to: geh-help-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 1jHDtg-000Veq-Hl for geh-help-gnu-emacs@m.gmane-mx.org; Wed, 25 Mar 2020 22:49:12 +0100 Original-Received: from localhost ([::1]:43760 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHDtf-0005na-KL for geh-help-gnu-emacs@m.gmane-mx.org; Wed, 25 Mar 2020 17:49:11 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:50558) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHDtE-0005kl-J2 for help-gnu-emacs@gnu.org; Wed, 25 Mar 2020 17:48:45 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jHDtD-0008RM-26 for help-gnu-emacs@gnu.org; Wed, 25 Mar 2020 17:48:44 -0400 Original-Received: from userp2130.oracle.com ([156.151.31.86]:57382) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jHDtC-0008Qb-Ne for help-gnu-emacs@gnu.org; Wed, 25 Mar 2020 17:48:43 -0400 Original-Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 02PLdL1i084425; Wed, 25 Mar 2020 21:48:40 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type; s=corp-2020-01-29; bh=Vng3nAnrgMsjnrqTFaS9epFTN9uXZvX4aV68jiVnmpM=; b=iKVYfKYjBjmvX6jD5CoZZDxtK3qx1dn9ZQBVSp6KoPSktoN8WAXW91Rw4LN838z6G6jH BLNHooaocICg37bYaXTZu6jIriyBdGag7fyh4elGvEmedqnCEwOGhokD7uPbYX0UlXse SPLm8UcOCKrBHlwKo365g4wc1b9ngYl2fOCJdENHr3aMhpnazf/B62j7vzydfM4gIpV5 4oDdqZBIwYsr6V3VkoBU8Yv38+Ej1IozUi0RjlMemm7zUA7s3IOi5RTpNhAeis8Ncbku vXedp0A0OgwdnTkNibslaQO708SqTrAonWak4e0enTAHSen/gYFntNG5zZ265Xp12NbM cg== Original-Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by userp2130.oracle.com with ESMTP id 2ywabrcbeh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 25 Mar 2020 21:48:40 +0000 Original-Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 02PLWTKZ096049; Wed, 25 Mar 2020 21:48:40 GMT Original-Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by userp3030.oracle.com with ESMTP id 2yxw4sa4et-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 25 Mar 2020 21:48:39 +0000 Original-Received: from abhmp0005.oracle.com (abhmp0005.oracle.com [141.146.116.11]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id 02PLmawn006581; Wed, 25 Mar 2020 21:48:36 GMT In-Reply-To: <87tv2d3zii.fsf@web.de> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4966.0 (x86)] X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9571 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 suspectscore=0 spamscore=0 mlxlogscore=999 adultscore=0 phishscore=0 mlxscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2003250166 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9571 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 lowpriorityscore=0 malwarescore=0 phishscore=0 priorityscore=1501 clxscore=1015 adultscore=0 mlxscore=0 mlxlogscore=999 bulkscore=0 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2003250166 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] [fuzzy] X-Received-From: 156.151.31.86 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:122667 Archived-At: --__1585172915870148244abhmp0005.oracle.com Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable > Ok, I've thrown something together (draft!) and tested quickly: Attached is something I threw together, by removing some of the Bookmark+ features for EWW and adapting the code to what vanilla bookmark.el offers. Completely untested; as is. Perhaps you can make some use of it. Features: * An auto-bookmarking mode, for those who might want to automatically update an existing bookmark, or create a new bookmark, whenever they visit a URL with EWW. * A user option for whether that mode can create new bookmarks or just update existing ones. * A toggle command for that user option. * A command to set (create or update) a bookmark for the URL currently visited by EWW. * An option for whether and how an EWW buffer gets renamed (the default is to use vanilla EWW name, `*eww*'). Note: this acts beyond just bookmarking. * An option for whether to generate a new buffer when you jump to an EWW bookmark (the default is to reuse an existing buffer for that URL). * An option for whether to replace corresponding EWW "bookmarking" commands with standard bookmarking commands, in EWW key bindings (`eww-mode-map'). * A command to create regular Emacs bookmarks from a file of existing EWW "bookmarks". HTH. --__1585172915870148244abhmp0005.oracle.com Content-Type: application/octet-stream; name="bmk-eww.el" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="bmk-eww.el" OzsgUXVpZXQgdGhlIGJ5dGUtY29tcGlsZXIuCihkZWZ2YXIgYm9va21hcmstYWxpc3QpICAgICAg ICAgICAgICAgICA7IEluIGBib29rbWFyay5lbCcKKGRlZnZhciBib29rbWFyay1kZWZhdWx0LWZp bGUpICAgICAgICAgIDsgSW4gYGJvb2ttYXJrLmVsJwooZGVmdmFyIGJvb2ttYXJrLW1ha2UtcmVj b3JkLWZ1bmN0aW9uKSAgOyBJbiBgYm9va21hcmsuZWwnCihkZWZ2YXIgZXd3LWRhdGEpICAgICAg ICAgICAgICAgICAgICAgICA7IEluIGBld3cuZWwnCihkZWZ2YXIgZXd3LWxvY2FsLXJlZ2V4KSAg ICAgICAgICAgICAgICA7IEluIGBld3cuZWwnCihkZWZ2YXIgZXd3LW1vZGUtbWFwKSAgICAgICAg ICAgICAgICAgICA7IEluIGBld3cuZWwnCihkZWZ2YXIgZXd3LXNlYXJjaC1wcmVmaXgpICAgICAg ICAgICAgICA7IEluIGBld3cuZWwnCgoocmVxdWlyZSAnYm9va21hcmspCihyZXF1aXJlICdjbC1z ZXEpICAgICAgICAgICAgICAgICAgICAgICA7IGBjbC1yZW1vdmUtaWYtbm90JwoKKGRlZmN1c3Rv bSBibWtwLWV3dy1hdXRvLXR5cGUgJ3VwZGF0ZS1vbmx5CiAgIkhvdyBgYm1rcC1ld3ctYXV0by1i b29rbWFyay1tb2RlJyBiZWhhdmVzIHdoZW4gZW5hYmxlZC4KWW91IGNhbiB0b2dnbGUgdGhpcyBv cHRpb24gdXNpbmcgYFxcW2Jta3AtdG9nZ2xlLWV3dy1hdXRvLXR5cGVdJy4iCiAgOnR5cGUgJyhj aG9pY2UKICAgICAgICAgIChjb25zdCA6dGFnICJDcmVhdGUgRVdXIGJvb2ttYXJrIG9yIHVwZGF0 ZSBleGlzdGluZyBFV1cgYm9va21hcmsiCiAgICAgICAgICAgICAgICAgY3JlYXRlLW9yLXVwZGF0 ZSkKICAgICAgICAgIChjb25zdCA6dGFnICJVcGRhdGUgZXhpc3RpbmcgRVdXIGJvb2ttYXJrIChv bmx5KSIKICAgICAgICAgICAgICAgICB1cGRhdGUtb25seSkpCiAgOmdyb3VwICdib29rbWFyaykK CihkZWZjdXN0b20gYm1rcC1ld3ctYnVmZmVyLXJlbmFtaW5nIG5pbAogICJXaGV0aGVyIGFuZCBo b3cgYW4gRVdXIGJ1ZmZlciBpcyByZW5hbWVkLgpOb24tbmlsIHZhbHVlcyBhZmZlY3QgRVdXIGJl aGF2aW9yIGV2ZW4gd2hlbiBib29rbWFya3MgYXJlIG5vdCB1c2VkLgoKKiBuaWw6ICAgIERvIG5v dCByZW5hbWUgYnVmZmVyIC0gdXNlIGAqZXd3KicgKHZhbmlsbGEgRVdXIGJlaGF2aW9yKS4KKiBg dXJsJzogIFJlbmFtZSBidWZmZXIgdG8gd2ViLXBhZ2UgdGl0bGUgcGx1cyBsYXN0IDIwIGNoYXJz IG9mIFVSTC4KKiBgcGFnZSc6IFJlbmFtZSBidWZmZXIgdG8gd2ViLXBhZ2UgdGl0bGUgKG9ubHkp LiIKICA6dHlwZSAnKGNob2ljZQogICAgICAgICAgKGNvbnN0IDp0YWcgIkRvIG5vdCByZW5hbWUg YnVmZmVyICh1c2UgbmFtZSBgKmV3dyonKSIKICAgICAgICAgICAgICAgICBuaWwpCiAgICAgICAg ICAoY29uc3QgOnRhZyAiUmVuYW1lIGJ1ZmZlciB0byB3ZWItcGFnZSB0aXRsZSBwbHVzIGxhc3Qg MjAgY2hhcnMgb2YgVVJMIgogICAgICAgICAgICAgICAgIHVybCkKICAgICAgICAgIDs7IEFueSBz eW1ib2wgb3RoZXIgdGhhbiBgcGFnZScgYW5kIG5pbCBpcyB0cmVhdGVkIHRoZSBzYW1lIGFzIGBw YWdlJy4KICAgICAgICAgIChjb25zdCA6dGFnICJSZW5hbWUgYnVmZmVyIHRvIHdlYi1wYWdlIHRp dGxlIgogICAgICAgICAgICAgICAgIHBhZ2UpKQogIDpncm91cCAnYm9va21hcmspCgooZGVmY3Vz dG9tIGJta3AtZXd3LWdlbmVyYXRlLWJ1ZmZlci1mbGFnIG5pbAogICJXaGV0aGVyIHRvIGdlbmVy YXRlIGEgbmV3IGJ1ZmZlciB3aGVuIGp1bXBpbmcgdG8gYW4gRVdXIGJvb2ttYXJrLgoqIG5pbCBt ZWFucyByZXVzZSBhbiBleGlzdGluZyBidWZmZXIgZm9yIHRoZSBib29rbWFya2VkIFVSTC4KKiBO b24tbmlsIG1lYW5zIHVzZSBhIG5ldyBidWZmZXIuIgogIDp0eXBlICdib29sZWFuIDpncm91cCAn Ym9va21hcmspCgooZGVmY3VzdG9tIGJta3AtZXd3LXJlcGxhY2Uta2V5cy1mbGFnIHQKICAiTm9u LW5pbCBtZWFucyByZXBsYWNlIEVXVyBib29rbWFyayBrZXlzIHdpdGggRW1hY3MgYm9va21hcmsg b25lcy4KSWYgeW91IGNoYW5nZSB0aGUgdmFsdWUgb2YgdGhpcyBvcHRpb24gdGhlbiB5b3UgbXVz dCByZXN0YXJ0IEVtYWNzIGZvcgppdCB0byB0YWtlIGVmZmVjdC4iCiAgOnR5cGUgJ2Jvb2xlYW4g Omdyb3VwICdib29rbWFyaykKCjs7IFRoaXMgaXMgc2V0IGJ5IGBibWtwLWV3dy1yZW5hbWUtYnVm ZmVyJywKOzsgYW5kIHVzZWQgaW4gYGJta3AtanVtcC1ld3cnIGZvciBsb2NhbCB2YXIgYGFmdGVy LXJlbmRlci1mdW5jdGlvbicuCihkZWZ2YXIgYm1rcC1ld3ctbmV3LWJ1Zi1uYW1lIG5pbAogICJJ ZiBub24tbmlsLCB0aGUgbmFtZSBvZiB0aGUgRVdXIGJ1ZmZlciB0byBqdW1wIHRvLiIpCiAgKG1h a2UtdmFyaWFibGUtYnVmZmVyLWxvY2FsICdibWtwLWV3dy1uZXctYnVmLW5hbWUpCgo7OyBUaGlz IGlzIHNldCBieSBgYm1rcC1qdW1wLWV3dycsCjs7IGFuZCB1c2VkIGluIGBibWtwLWV3dy1yZW5h bWUtYnVmZmVyJy4KKGRlZnZhciBibWtwLWV3dy1qdW1waW5nLXAgbmlsCiAgIk5vbi1uaWwgb25s eSBpZiB3ZSBhcmUgY3VycmVudGx5IGp1bXBpbmcgdG8gYW4gRVdXIGJvb2ttYXJrLiIpCihtYWtl LXZhcmlhYmxlLWJ1ZmZlci1sb2NhbCAnYm1rcC1ld3ctanVtcGluZy1wKQoKKGRlZnVuIGJta3At ZXd3LWJvb2ttYXJrLXAgKGJvb2ttYXJrKQogICJSZXR1cm4gbm9uLW5pbCBpZiBCT09LTUFSSyBp cyBhbiBFV1cgYm9va21hcmsuCkJPT0tNQVJLIGlzIGEgYm9va21hcmsgbmFtZSBvciBhIGJvb2tt YXJrIHJlY29yZC4KSWYgaXQgaXMgYSByZWNvcmQgdGhlbiBpdCBuZWVkIG5vdCBiZWxvbmcgdG8g YGJvb2ttYXJrLWFsaXN0Jy4iCiAgKGVxIChib29rbWFyay1nZXQtaGFuZGxlciBib29rbWFyaykg J2Jta3AtanVtcC1ld3cpKQoKKGRlZnVuIGJta3AtZXd3LWFsaXN0LW9ubHkgKCkKICAiYGJvb2tt YXJrLWFsaXN0JywgZmlsdGVyZWQgdG8gcmV0YWluIG9ubHkgRVdXIGJvb2ttYXJrcy4KQSBuZXcg bGlzdCBpcyByZXR1cm5lZCAobm8gc2lkZSBlZmZlY3RzKS4iCiAgKGJvb2ttYXJrLW1heWJlLWxv YWQtZGVmYXVsdC1maWxlKQogIChjbC1yZW1vdmUtaWYtbm90ICMnYm1rcC1ld3ctYm9va21hcmst cCBib29rbWFyay1hbGlzdCkpCgooZGVmdW4gYm1rcC1ld3ctdGl0bGUgKCkKICAiUmV0dXJuIHRo ZSB3ZWItcGFnZSB0aXRsZSBvZiB0aGUgY3VycmVudCBgZXd3LW1vZGUnIGJ1ZmZlci4iCiAgKHBs aXN0LWdldCBld3ctZGF0YSA6dGl0bGUpKQoKKGRlZnVuIGJta3AtZXd3LXVybCAoKQogICJSZXR1 cm4gdGhlIFVSTCBvZiB0aGUgY3VycmVudCBgZXd3LW1vZGUnIGJ1ZmZlci4iCiAgKGV3dy1jdXJy ZW50LXVybCkpCgooZGVmdW4gYm1rcC1tYWtlLWV3dy1yZWNvcmQgKCkKICAiTWFrZSBhIHJlY29y ZCBmb3IgYW4gRVdXIGJ1ZmZlci4iCiAgYCgsKGJta3AtZXd3LXRpdGxlKQogICAgKGJ1ZmZlci1u YW1lIC4gLChibWtwLWV3dy1uZXctYnVmZmVyLW5hbWUpKQogICAgLEAoYm9va21hcmstbWFrZS1y ZWNvcmQtZGVmYXVsdCAnTk8tRklMRSkKICAgIChsb2NhdGlvbiAuICwoYm1rcC1ld3ctdXJsKSkK ICAgIChoYW5kbGVyIC4gYm1rcC1qdW1wLWV3dykpKQoKKGRlZnVuIGJta3AtZXd3LW5ldy1idWZm ZXItbmFtZSAoKQogICJSZXR1cm4gYSBuZXcgYnVmZmVyIG5hbWUgZm9yIHRoZSBjdXJyZW50IGBl d3ctbW9kZScgYnVmZmVyLgpUaGUgbmFtZSBmb3JtYXQgaXMgZGV0ZXJtaW5lZCBieSBvcHRpb24g YGJta3AtZXd3LWJ1ZmZlci1yZW5hbWluZycuIgogIChjb25jYXQgCiAgICIqZXd3KiIgCiAgIChh bmQgYm1rcC1ld3ctYnVmZmVyLXJlbmFtaW5nCiAgICAgICAgKGNvbmNhdCAKICAgICAgICAgIi0i CiAgICAgICAgIChibWtwLWV3dy10aXRsZSkKICAgICAgICAgKGxldCAoKHVybCAgKGJta3AtZXd3 LXVybCkpKQogICAgICAgICAgIChhbmQgKGVxICd1cmwgYm1rcC1ld3ctYnVmZmVyLXJlbmFtaW5n KQogICAgICAgICAgICAgICAgKGNvbmNhdCAiICIgKGlmICg+PSAobGVuZ3RoIHVybCkgMjApIChz dWJzdHJpbmcgdXJsIC0yMCkgdXJsKSkpKSkpKSkKCihkZWZ1biBibWtwLWp1bXAtZXd3IChib29r bWFyaykKICAiSGFuZGxlciBmdW5jdGlvbiBmb3IgcmVjb3JkIHJldHVybmVkIGJ5IGBibWtwLW1h a2UtZXd3LXJlY29yZCcuCkJPT0tNQVJLIGlzIGEgYm9va21hcmsgbmFtZSBvciBhIGJvb2ttYXJr IHJlY29yZC4iCiAgKHJlcXVpcmUgJ2V3dykKICAobGV0ICgoYnVmZmVyCiAgICAgICAgIChvciAo YW5kIChub3QgYm1rcC1ld3ctZ2VuZXJhdGUtYnVmZmVyLWZsYWcpCiAgICAgICAgICAgICAgICAg IChnZXQtYnVmZmVyIChib29rbWFyay1wcm9wLWdldCBib29rbWFyayAnYnVmZmVyLW5hbWUpKSkK ICAgICAgICAgICAgIChnZW5lcmF0ZS1uZXctYnVmZmVyICIqZXd3KiIpKSkgOyBNaWdodCBnZXQg cmVuYW1lZCBsYXRlci4KICAgICAgICA7OyBgYm1rcC1ld3ctbmV3LWJ1Zi1uYW1lJyBpcyBmcmVl IGhlcmUsIGJvdW5kIGluIGBibWtwLWV3dy1yZW5hbWUtYnVmZmVyJy4KICAgICAgICAoYWZ0ZXIt cmVuZGVyLWZ1bmN0aW9uCiAgICAgICAgIGAobGFtYmRhICgpCiAgICAgICAgICAgICh3aGVuIChh bmQgYm1rcC1ld3ctYnVmZmVyLXJlbmFtaW5nICBibWtwLWV3dy1uZXctYnVmLW5hbWUpCiAgICAg ICAgICAgICAgKGtpbGwtYnVmZmVyKQogICAgICAgICAgICAgIChzZXQtYnVmZmVyIGJta3AtZXd3 LW5ldy1idWYtbmFtZSkpCiAgICAgICAgICAgIChib29rbWFyay1kZWZhdWx0LWhhbmRsZXIKICAg ICAgICAgICAgIGAoIiIgKGJ1ZmZlciAuICwoY3VycmVudC1idWZmZXIpKQogICAgICAgICAgICAg ICAuICwoYm9va21hcmstZ2V0LWJvb2ttYXJrLXJlY29yZCAsKGNhciBib29rbWFyaykpKSkKICAg ICAgICAgICAgKGRvbGlzdCAodmFyICAnKGJta3AtZXd3LWp1bXBpbmctcCBld3ctYWZ0ZXItcmVu ZGVyLWhvb2spKQogICAgICAgICAgICAgIChraWxsLWxvY2FsLXZhcmlhYmxlIHZhcikpKSkpCiAg ICAoc2V0cSBibWtwLWV3dy1qdW1waW5nLXAgIHQpCiAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciBi dWZmZXIKICAgICAgKGV3dy1tb2RlKQogICAgICAoc2F2ZS13aW5kb3ctZXhjdXJzaW9uIDsgQmVj YXVzZSBgZXd3JyBjYWxscyBgcG9wLXRvLWJ1ZmZlci1zYW1lLXdpbmRvdycuCiAgICAgICAgKGV3 dyAoYm9va21hcmstbG9jYXRpb24gYm9va21hcmspKSkKICAgICAgKGFkZC1ob29rICdld3ctYWZ0 ZXItcmVuZGVyLWhvb2sgYWZ0ZXItcmVuZGVyLWZ1bmN0aW9uICdBUFBFTkQgJ0xPQ0FMKSkpKQoK KGRlZnVuIGJta3AtZXd3LXJlbmFtZS1idWZmZXIgKCZyZXN0IF9pZ25vcmVkKQogICJSZW5hbWUg Y3VycmVudCBidWZmZXIgYWNjb3JkaW5nIHRvIG9wdGlvbiBgYm1rcC1ld3ctYnVmZmVyLXJlbmFt aW5nJy4KV2hlbiBqdW1waW5nIHRvIEVXVyBib29rbWFyayB3aXRoIG5pbCBgYm1rcC1ld3ctZ2Vu ZXJhdGUtYnVmZmVyLWZsYWcnLAppZiB0aGUgYnVmZmVyIGhhcyBhbHJlYWR5IGJlZW4gdmlzaXRl ZCwgc2V0IGBibWtwLWV3dy1uZXctYnVmLW5hbWUnIHNvCnRoYXQgYGJta3AtanVtcC1ld3cnIHdp bGwgdXNlIHRoZSBhbHJlYWR5IHZpc2l0ZWQgYnVmZmVyLiIKICAod2hlbiBibWtwLWV3dy1idWZm ZXItcmVuYW1pbmcKICAgIChsZXQgKChuZXctYm5hbWUgIChibWtwLWV3dy1uZXctYnVmZmVyLW5h bWUpKSkKICAgICAgKGNvbmRpdGlvbi1jYXNlIG5pbAogICAgICAgICAgKHJlbmFtZS1idWZmZXIg bmV3LWJuYW1lKQogICAgICAgIDs7IGBibWtwLWV3dy1qdW1waW5nLXAnIGlzIGZyZWUgaGVyZSwg c2V0IGluIGBibWtwLWp1bXAtZXd3Jy4KICAgICAgICAoZXJyb3IgKGlmIChhbmQgYm1rcC1ld3ct anVtcGluZy1wICAobm90IGJta3AtZXd3LWdlbmVyYXRlLWJ1ZmZlci1mbGFnKSkKICAgICAgICAg ICAgICAgICAgIDs7IFNhdmUgYnVmIG5hbWUgZm9yIGBhZnRlci1yZW5kZXItZnVuY3Rpb24nIGlu IGBibWtwLWp1bXAtZXd3Jy4KICAgICAgICAgICAgICAgICAgIChzZXRxIGJta3AtZXd3LW5ldy1i dWYtbmFtZSAgbmV3LWJuYW1lKQogICAgICAgICAgICAgICAgIChyZW5hbWUtYnVmZmVyIChnZW5l cmF0ZS1uZXctYnVmZmVyLW5hbWUgbmV3LWJuYW1lKSkpKSkpKSkKCihkZWZpbmUtbWlub3ItbW9k ZSBibWtwLWV3dy1hdXRvLWJvb2ttYXJrLW1vZGUKICAiVG9nZ2xlIGF1dG9tYXRpY2FsbHkgc2V0 dGluZyBhIGJvb2ttYXJrIHdoZW4geW91IHZpc2l0IGEgVVJMIHdpdGggRVdXLgpUaGUgYm9va21h cmsgbmFtZSBpcyB0aGUgdGl0bGUgb2YgdGhlIHdlYiBwYWdlLgoKSWYgb3B0aW9uIGBibWtwLWV3 dy1hdXRvLXR5cGUnIGlzIGBjcmVhdGUtb3ItdXBkYXRlJyB0aGVuIHN1Y2ggYQpib29rbWFyayBp cyBjcmVhdGVkIGZvciB0aGUgVVJMIGlmIG5vbmUgZXhpc3RzLiAgSWYgdGhlIG9wdGlvbiB2YWx1 ZQppcyBgdXBkYXRlLW9ubHknIHRoZW4gbm8gbmV3IGJvb2ttYXJrIGlzIGNyZWF0ZWQgYXV0b21h dGljYWxseSwgYnV0IGFuCmV4aXN0aW5nIGJvb2ttYXJrIGlzIHVwZGF0ZWQuICAoVXBkYXRpbmcg YSBib29rbWFyayBpbmNyZW1lbnRzIHRoZQpyZWNvcmRlZCBudW1iZXIgb2YgdmlzaXRzLikgIFlv dSBjYW4gdG9nZ2xlIHRoZSBvcHRpb24gdXNpbmcKYFxcW2Jta3AtdG9nZ2xlLWV3dy1hdXRvLXR5 cGVdJy4iCiAgOmluaXQtdmFsdWUgbmlsIDpnbG9iYWwgdCA6Z3JvdXAgJ2Jvb2ttYXJrCiAgKGNv bmQgKGJta3AtZXd3LWF1dG8tYm9va21hcmstbW9kZQogICAgICAgICAoYWRkLWhvb2sgICAnZXd3 LWFmdGVyLXJlbmRlci1ob29rICAgICAgJ2Jta3Atc2V0LWV3dy1ib29rbWFyay1oZXJlKQogICAg ICAgICAoYWR2aWNlLWFkZCAnZXd3LXJlc3RvcmUtaGlzdG9yeSA6YWZ0ZXIgJ2Jta3Atc2V0LWV3 dy1ib29rbWFyay1oZXJlKSkKICAgICAgICAodAogICAgICAgICAocmVtb3ZlLWhvb2sgICAnZXd3 LWFmdGVyLXJlbmRlci1ob29rICAgJ2Jta3Atc2V0LWV3dy1ib29rbWFyay1oZXJlKQogICAgICAg ICAoYWR2aWNlLXJlbW92ZSAnZXd3LXJlc3RvcmUtaGlzdG9yeSAgICAgJ2Jta3Atc2V0LWV3dy1i b29rbWFyay1oZXJlKSkpCiAgKHdoZW4gKGNhbGxlZC1pbnRlcmFjdGl2ZWx5LXAgJ2FueSkKICAg IChtZXNzYWdlICJBdXRvbWF0aWMgRVdXIGJvb2ttYXJraW5nIGlzIG5vdyAlcyIKICAgICAgICAg ICAgIChpZiBibWtwLWV3dy1hdXRvLWJvb2ttYXJrLW1vZGUKICAgICAgICAgICAgICAgICAoaWYg KGVxIGJta3AtZXd3LWF1dG8tdHlwZSAndXBkYXRlLW9ubHkpCiAgICAgICAgICAgICAgICAgICAg ICJPTiwgdXBkYXRpbmcgb25seSIKICAgICAgICAgICAgICAgICAgICJPTiwgY3JlYXRpbmcgb3Ig VVBEQVRJTkciKQogICAgICAgICAgICAgICAiT0ZGIikpKSkKCihkZWZ1biBibWtwLXNldC1ld3ct Ym9va21hcmstaGVyZSAoJm9wdGlvbmFsIG5vbXNnKQogICJTZXQgYW4gRVdXIGJvb2ttYXJrIGZv ciB0aGUgVVJMIG9mIHRoZSBjdXJyZW50IEVXVyBidWZmZXIuClRoZSBjdXJyZW50IGJ1ZmZlciBp cyBhc3N1bWVkIHRvIGJlIGluIGBld3ctbW9kZScgYW5kIHZpc2l0aW5nIGEgVVJMLiIKICAoaW50 ZXJhY3RpdmUpCiAgKGxldCogKChibmFtZSAgIChibWtwLWV3dy10aXRsZSkpCiAgICAgICAgICh1 cmwgICAgIChibWtwLWV3dy11cmwpKQogICAgICAgICAoYm1rICAgICAoYm9va21hcmstZ2V0LWJv b2ttYXJrIGJuYW1lICdOTy1FUlJPUikpCiAgICAgICAgICh2aXNpdHMgIChhbmQgYm1rICAoYm9v a21hcmstcHJvcC1nZXQgYm1rICd2aXNpdHMpKSkpCiAgICAod2hlbiBibmFtZQogICAgICAoY29u ZCAoKGFuZCAobm90IHZpc2l0cykgIChlcSBibWtwLWV3dy1hdXRvLXR5cGUgJ2NyZWF0ZS1vci11 cGRhdGUpKQogICAgICAgICAgICAgKGJvb2ttYXJrLXNldCBibmFtZSkKICAgICAgICAgICAgICh1 bmxlc3Mgbm9tc2cgKG1lc3NhZ2UgIkNyZWF0ZWQgRVdXIGJvb2ttYXJrIGAlcyciIGJuYW1lKSkp CiAgICAgICAgICAgICh2aXNpdHMKICAgICAgICAgICAgIChib29rbWFyay1wcm9wLXNldCBibWsg J3Zpc2l0cyAoMSsgdmlzaXRzKSkKICAgICAgICAgICAgIChib29rbWFyay1wcm9wLXNldCBibWsg J3RpbWUgICAoY3VycmVudC10aW1lKSkKICAgICAgICAgICAgIChib29rbWFyay1ibWVudS1zdXJy ZXB0aXRpb3VzbHktcmVidWlsZC1saXN0KQogICAgICAgICAgICAgKHVubGVzcyBub21zZyAobWVz c2FnZSAiVXBkYXRlZCBFV1cgYm9va21hcmsgYCVzJyIgYm5hbWUpKSkpKSkpCgooZGVmdW4gYm1r cC10b2dnbGUtZXd3LWF1dG8tdHlwZSAoJm9wdGlvbmFsIG1zZ3ApCiAgIlRvZ2dsZSB0aGUgdmFs dWUgb2Ygb3B0aW9uIGBibWtwLWV3dy1hdXRvLXR5cGUnLiIKICAoaW50ZXJhY3RpdmUgInAiKQog IChzZXRxIGJta3AtZXd3LWF1dG8tdHlwZSAgKGlmIChlcSBibWtwLWV3dy1hdXRvLXR5cGUgJ2Ny ZWF0ZS1vci11cGRhdGUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3VwZGF0ZS1v bmx5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjcmVhdGUtb3ItdXBkYXRlKSkKICAo d2hlbiBtc2dwIChtZXNzYWdlICJgYm1rcC1ld3ctYXV0by1ib29rbWFyay1tb2RlJyBub3cgJXMi CiAgICAgICAgICAgICAgICAgICAgICAoaWYgKGVxIGJta3AtZXd3LWF1dG8tdHlwZSAnY3JlYXRl LW9yLXVwZGF0ZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAiQ1JFQVRFUywgYXMgd2VsbCBh cyB1cGRhdGVzLCBFV1cgYm9va21hcmtzIgogICAgICAgICAgICAgICAgICAgICAgICAib25seSBV UERBVEVTIEVYSVNUSU5HIEVXVyBib29rbWFya3MiKSkpKQoKCjs7IFlvdSBjYW4gdXNlIHRoaXMg dG8gY29udmVydCBleGlzdGluZyBFV1cgYm9va21hcmtzIHRvIEVtYWNzIGJvb2ttYXJrcy4KKGRl ZnVuIGJta3AtY29udmVydC1ld3ctYm9va21hcmtzIChld3ctZmlsZSBibWstZmlsZSAmb3B0aW9u YWwgbXNncCkKICAiQWRkIGJvb2ttYXJrcyBmcm9tIEVXVy1GSUxFIHRvIEJNSy1GSUxFLgpFV1ct RklMRSBpcyBhIGZpbGUgb2YgXCJib29rbWFya3NcIiBjcmVhdGVkIGJ5IEVXVywgd2hpY2ggYXJl IG5vdAogY29tcGF0aWJsZSB3aXRoIEVtYWNzIGJvb2ttYXJrcy4gIEVXVy1GSUxFIGlzIG5vdCBt b2RpZmllZC4KQk1LLUZJTEUgaXMgYW4gRW1hY3MgYm9va21hcmtzIGZpbGUuCgpJZiBCTUstRklM RSBleGlzdHMgdGhlbiBpdCBpcyB1cGRhdGVkIHRvIGluY2x1ZGUgdGhlIGNvbnZlcnRlZApib29r bWFya3MuICBJZiBpdCBkb2VzIG5vdCBleGlzdCB0aGVuIGl0IGlzIGNyZWF0ZWQuIgogIChpbnRl cmFjdGl2ZQogICAobGV0ICgoZGVmYXVsdCAgYm9va21hcmstZGVmYXVsdC1maWxlKSkKICAgICAo bGlzdAogICAgICAoZXhwYW5kLWZpbGUtbmFtZQogICAgICAgKHJlYWQtZmlsZS1uYW1lICJFV1cg XCJib29rbWFya3NcIiBmaWxlOiAiIG5pbAogICAgICAgICAgICAgICAgICAgICAgIChleHBhbmQt ZmlsZS1uYW1lICJld3ctYm9va21hcmtzIiB1c2VyLWVtYWNzLWRpcmVjdG9yeSkKICAgICAgICAg ICAgICAgICAgICAgICB0KSkKICAgICAgKGV4cGFuZC1maWxlLW5hbWUKICAgICAgIChyZWFkLWZp bGUtbmFtZSAiRW1hY3MgYm9va21hcmsgZmlsZTogIgogICAgICAgICAgICAgICAgICAgICAgIChv ciAoZmlsZS1uYW1lLWRpcmVjdG9yeSBkZWZhdWx0KSAgIn4vIikKICAgICAgICAgICAgICAgICAg ICAgICBib29rbWFyay1kZWZhdWx0LWZpbGUpKQogICAgICB0KSkpCiAgKHdoZW4gKGZpbGUtZGly ZWN0b3J5LXAgZXd3LWZpbGUpCiAgICAoZXJyb3IgImAlcycgaXMgYSBkaXJlY3RvcnksIG5vdCBh IGZpbGUiIGV3dy1maWxlKSkKICAodW5sZXNzIChmaWxlLXJlYWRhYmxlLXAgZXd3LWZpbGUpCiAg ICAoZXJyb3IgIkNhbm5vdCByZWFkIGJvb2ttYXJrIGZpbGUgYCVzJyIgZXd3LWZpbGUpKQogICh3 aGVuIChmaWxlLWRpcmVjdG9yeS1wIGJtay1maWxlKQogICAgKGVycm9yICJgJXMnIGlzIGEgZGly ZWN0b3J5LCBub3QgYSBmaWxlIiBibWstZmlsZSkpCiAgKHVubGVzcyAoZmlsZS1yZWFkYWJsZS1w IGJtay1maWxlKSAgICA7IENyZWF0ZSBlbXB0eSBib29rbWFyayBmaWxlLgogICAgKHNldHEgYm1r LWZpbGUgIChleHBhbmQtZmlsZS1uYW1lIGJtay1maWxlKSkKICAgIChib29rbWFyay1tYXliZS1s b2FkLWRlZmF1bHQtZmlsZSkKICAgIChsZXQgKChib29rbWFyay1hbGlzdCAgKCkpKSAoYm9va21h cmstd3JpdGUtZmlsZSBibWstZmlsZSkpKQogICh3aXRoLXRlbXAtYnVmZmVyCiAgICAoaW5zZXJ0 LWZpbGUtY29udGVudHMgZXd3LWZpbGUpCiAgICAobGV0ICgoYm9va21hcmstYWxpc3QgICgpKQog ICAgICAgICAgdXJsIHRpdGxlIGNyZWF0ZWQgYm1rKQogICAgICAoZG9saXN0IChlYm1rICAocmVh ZCAoY3VycmVudC1idWZmZXIpKSkKICAgICAgICAoc2V0cSB1cmwgICAgICAocGxpc3QtZ2V0IGVi bWsgOnVybCkKICAgICAgICAgICAgICB0aXRsZSAgICAocGxpc3QtZ2V0IGVibWsgOnRpdGxlKQog ICAgICAgICAgICAgIGNyZWF0ZWQgIChkYXRlLXRvLXRpbWUgKHBsaXN0LWdldCBlYm1rIDp0aW1l KSkKICAgICAgICAgICAgICBibWsgICAgICBgKCx0aXRsZQogICAgICAgICAgICAgICAgICAgICAg ICAgLEAoYm9va21hcmstbWFrZS1yZWNvcmQtZGVmYXVsdCAnTk8tRklMRSkKICAgICAgICAgICAg ICAgICAgICAgICAgIChsb2NhdGlvbiAuICx1cmwpCiAgICAgICAgICAgICAgICAgICAgICAgICAo aGFuZGxlciAuIGJta3AtanVtcC1ld3cpKSkKICAgICAgICAobGV0ICgoYnVmLWNlbGwgIChhc3Nx ICdidWZmZXItbmFtZSBibWspKSkgKHNldGNkciBidWYtY2VsbCAiKmV3dyoiKSkKICAgICAgICAo bGV0ICgoY3JlYXRlZC1jZWxsICAoYXNzcSAnY3JlYXRlZCBibWspKSkgKHNldGNkciBjcmVhdGVk LWNlbGwgY3JlYXRlZCkpCiAgICAgICAgKHB1c2ggYm1rIGJvb2ttYXJrLWFsaXN0KSkKICAgICAg KGJvb2ttYXJrLXdyaXRlLWZpbGUgYm1rLWZpbGUpKSkKICAod2hlbiBtc2dwIChtZXNzYWdlICJX cm90ZSBCb29rbWFyayBmaWxlIGAlcyciIGJtay1maWxlKSkpCgooZGVmdW4gYm1rcC1ld3ctanVt cCAoYm9va21hcmstbmFtZSkKICAiSnVtcCB0byBhbiBFV1cgYm9va21hcmsuIgogIChpbnRlcmFj dGl2ZSAobGV0ICgoYm9va21hcmstYWxpc3QgIChibWtwLWV3dy1hbGlzdC1vbmx5KSkpCiAgICAg ICAgICAgICAgICAgKGxpc3QgKGJvb2ttYXJrLWNvbXBsZXRpbmctcmVhZCAiSnVtcCB0byBFV1cg Ym9va21hcms6ICIpKSkpCiAgKGJvb2ttYXJrLS1qdW1wLXZpYSBib29rbWFyay1uYW1lICdwb3At dG8tYnVmZmVyLXNhbWUtd2luZG93KSkKCihkZWZ1biBibWtwLWV3dy1qdW1wLW90aGVyLXdpbmRv dyAoYm9va21hcmstbmFtZSkKICAiSnVtcCB0byBhbiBFV1cgYm9va21hcmsgaW4gYW5vdGhlciB3 aW5kb3cuIgogIChpbnRlcmFjdGl2ZSAobGV0ICgoYm9va21hcmstYWxpc3QgIChibWtwLWV3dy1h bGlzdC1vbmx5KSkpCiAgICAgICAgICAgICAgICAgKGxpc3QgKGJvb2ttYXJrLWNvbXBsZXRpbmct cmVhZCAiSnVtcCB0byBFV1cgYm9va21hcms6ICIpKSkpCiAgKGJvb2ttYXJrLS1qdW1wLXZpYSBi b29rbWFyay1uYW1lIChsYW1iZGEgKGJ1ZikgKHBvcC10by1idWZmZXIgYnVmIHQpKSkpCgo7OyBO b24tbmlsIGBibWtwLWV3dy1idWZmZXItcmVuYW1pbmcnIG1lYW5zIEVXVyBidWZmZXIgaXMgcmVu YW1lZCBvbiBlYWNoIHZpc2l0LgooZXZhbC1hZnRlci1sb2FkICJld3ciCiAgJyhwcm9nbgogICAg IChhZGQtaG9vayAgICdld3ctYWZ0ZXItcmVuZGVyLWhvb2sgICAgICAnYm1rcC1ld3ctcmVuYW1l LWJ1ZmZlcikKICAgICAoYWR2aWNlLWFkZCAnZXd3LXJlc3RvcmUtaGlzdG9yeSA6YWZ0ZXIgJ2Jt a3AtZXd3LXJlbmFtZS1idWZmZXIpCiAgICAgKGFkZC1ob29rICAgJ2V3dy1tb2RlLWhvb2sgKGxh bWJkYSAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNldHEtbG9jYWwgYm9v a21hcmstbWFrZS1yZWNvcmQtZnVuY3Rpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdibWtwLW1ha2UtZXd3LXJlY29yZCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICh1bmxlc3MgKGxvb2t1cC1rZXkgZXd3LW1vZGUtbWFwICJqIikKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlZmluZS1rZXkgZXd3LW1vZGUtbWFw ICJqIiAnYm1rcC1ld3ctanVtcCkpKSkKICAgICAod2hlbiBibWtwLWV3dy1yZXBsYWNlLWtleXMt ZmxhZwogICAgICAgKGRlZmluZS1rZXkgZXd3LW1vZGUtbWFwIFtyZW1hcCBld3ctYWRkLWJvb2tt YXJrXSAgICdib29rbWFyay1zZXQpCiAgICAgICAoZGVmaW5lLWtleSBld3ctbW9kZS1tYXAgW3Jl bWFwIGV3dy1saXN0LWJvb2ttYXJrc10gJ2Jvb2ttYXJrLWJtZW51LWxpc3QpKSkpCg== --__1585172915870148244abhmp0005.oracle.com--