From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.bugs Subject: bug#15109: 24.3.50; doc of `x-get-selection, `selection-converter-alist', `xselect-convert-to-*' Date: Sun, 9 Feb 2014 16:27:47 -0800 (PST) Message-ID: References: <87r47e2nkm.fsf@building.gnus.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="__13919920697641449abhmp0005.oracle.com" X-Trace: ger.gmane.org 1391992094 24589 80.91.229.3 (10 Feb 2014 00:28:14 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 10 Feb 2014 00:28:14 +0000 (UTC) Cc: 15109@debbugs.gnu.org To: Lars Ingebrigtsen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Feb 10 01:28:22 2014 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1WCejU-0007rT-9G for geb-bug-gnu-emacs@m.gmane.org; Mon, 10 Feb 2014 01:28:20 +0100 Original-Received: from localhost ([::1]:52659 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WCejT-0002w7-L5 for geb-bug-gnu-emacs@m.gmane.org; Sun, 09 Feb 2014 19:28:19 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46084) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WCejJ-0002uw-M4 for bug-gnu-emacs@gnu.org; Sun, 09 Feb 2014 19:28:16 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WCejC-0002gx-H8 for bug-gnu-emacs@gnu.org; Sun, 09 Feb 2014 19:28:09 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:47041) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WCejC-0002gt-Cy for bug-gnu-emacs@gnu.org; Sun, 09 Feb 2014 19:28:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1WCejB-0004NA-Rh for bug-gnu-emacs@gnu.org; Sun, 09 Feb 2014 19:28:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 10 Feb 2014 00:28:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15109 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 15109-submit@debbugs.gnu.org id=B15109.139199207516792 (code B ref 15109); Mon, 10 Feb 2014 00:28:01 +0000 Original-Received: (at 15109) by debbugs.gnu.org; 10 Feb 2014 00:27:55 +0000 Original-Received: from localhost ([127.0.0.1]:32827 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WCej4-0004Mm-PT for submit@debbugs.gnu.org; Sun, 09 Feb 2014 19:27:55 -0500 Original-Received: from userp1040.oracle.com ([156.151.31.81]:34196) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WCej2-0004Me-PC for 15109@debbugs.gnu.org; Sun, 09 Feb 2014 19:27:53 -0500 Original-Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s1A0Rpqx015183 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 10 Feb 2014 00:27:52 GMT Original-Received: from userz7022.oracle.com (userz7022.oracle.com [156.151.31.86]) by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s1A0RojU018411 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 10 Feb 2014 00:27:51 GMT Original-Received: from abhmp0005.oracle.com (abhmp0005.oracle.com [141.146.116.11]) by userz7022.oracle.com (8.14.5+Sun/8.14.4) with ESMTP id s1A0Rofi025246; Mon, 10 Feb 2014 00:27:50 GMT In-Reply-To: <87r47e2nkm.fsf@building.gnus.org> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8 (707110) [OL 12.0.6680.5000 (x86)] X-Source-IP: ucsinet21.oracle.com [156.151.31.93] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.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-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:85113 Archived-At: --__13919920697641449abhmp0005.oracle.com Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable > > 1. `x-get-selection': Doc string refers you to > > `selection-converter-alist', without which you cannot understand > > parameter DATA-TYPE. > > > > 2. `selection-converter-alist': There is NO doc string. Please > > add one and please make sure it describes (or links to the doc > > for) the various `xselect-convert-to-*' functions that one sees > > in the value of `selection-converter-alist'. >=20 > This has a huge doc string now, so this seems to be fixed. By "this" you apparently mean `x-get-selection'. So yes, part 1 of this bug has been fixed. But part 2 has not been fixed. `selection-converter-alist' certainly does not have "a huge doc string now". Reopening. Attached is the current select.el from http://bzr.savannah.gnu.org/lh/emacs/trunk/annotate/head:/lisp/select.el There IS NO DOC STRING for `selection-converter-alist'. And in my build from 2014-02-07, this is what C-h v says: ,---- | selection-converter-alist's value is shown below. |=20 | Documentation: | Not documented as a variable. |=20 | Value: ((TEXT . xselect-convert-to-string) | (COMPOUND_TEXT . xselect-convert-to-string) | (STRING . xselect-convert-to-string) | (UTF8_STRING . xselect-convert-to-string) | (TARGETS . xselect-convert-to-targets) | (LENGTH . xselect-convert-to-length) | (DELETE . xselect-convert-to-delete) | (FILE_NAME . xselect-convert-to-filename) | (CHARACTER_POSITION . xselect-convert-to-charpos) | (LINE_NUMBER . xselect-convert-to-lineno) | (COLUMN_NUMBER . xselect-convert-to-colno) | (OWNER_OS . xselect-convert-to-os) | (HOST_NAME . xselect-convert-to-host) | (USER . xselect-convert-to-user) | (CLASS . xselect-convert-to-class) | (NAME . xselect-convert-to-name) | (ATOM . xselect-convert-to-atom) | (INTEGER . xselect-convert-to-integer) | (SAVE_TARGETS . xselect-convert-to-save-targets) | (_EMACS_INTERNAL . xselect-convert-to-identity)) `---- --__13919920697641449abhmp0005.oracle.com Content-Type: application/octet-stream; name="select.el" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="select.el" Ozs7IHNlbGVjdC5lbCAtLS0gbGlzcCBwb3J0aW9uIG9mIHN0YW5kYXJkIHNlbGVjdGlvbiBzdXBw b3J0Cgo7OyBDb3B5cmlnaHQgKEMpIDE5OTMtMTk5NCwgMjAwMS0yMDE0IEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgoKOzsgTWFpbnRhaW5lcjogRlNGCjs7IEtleXdvcmRzOiBpbnRlcm5h bAoKOzsgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgoKOzsgR05VIEVtYWNzIGlzIGZy ZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKOzsgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs aXNoZWQgYnkKOzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24g MyBvZiB0aGUgTGljZW5zZSwgb3IKOzsgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv bi4KCjs7IEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLAo7OyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgo7OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCjs7IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCgo7OyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQo7OyBhbG9uZyB3aXRoIEdOVSBFbWFjcy4g IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KCjs7OyBDb21tZW50 YXJ5OgoKOzsgQmFzZWQgcGFydGlhbGx5IG9uIGVhcmxpZXIgcmVsZWFzZSBieSBMdWNpZC4KCjs7 OyBDb2RlOgoKKGRlZmN1c3RvbSBzZWxlY3Rpb24tY29kaW5nLXN5c3RlbSBuaWwKICAiQ29kaW5n IHN5c3RlbSBmb3IgY29tbXVuaWNhdGluZyB3aXRoIG90aGVyIHByb2dyYW1zLgoKRm9yIE1TLVdp bmRvd3MgYW5kIE1TLURPUzoKV2hlbiBzZW5kaW5nIG9yIHJlY2VpdmluZyB0ZXh0IHZpYSBzZWxl Y3Rpb24gYW5kIGNsaXBib2FyZCwgdGhlIHRleHQKaXMgZW5jb2RlZCBvciBkZWNvZGVkIGJ5IHRo aXMgY29kaW5nIHN5c3RlbS4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzCnRoZSBjdXJyZW50IHN5c3Rl bSBkZWZhdWx0IGVuY29kaW5nIG9uIDl4L01lLCBgdXRmLTE2bGUtZG9zJwpcKFVuaWNvZGUpIG9u IE5UL1cySy9YUCwgYW5kIGBpc28tbGF0aW4tMS1kb3MnIG9uIE1TLURPUy4KCkZvciBYIFdpbmRv d3M6CldoZW4gc2VuZGluZyB0ZXh0IHZpYSBzZWxlY3Rpb24gYW5kIGNsaXBib2FyZCwgaWYgdGhl IHRhcmdldApkYXRhLXR5cGUgbWF0Y2hlcyB3aXRoIHRoZSB0eXBlIG9mIHRoaXMgY29kaW5nIHN5 c3RlbSwgaXQgaXMgdXNlZApmb3IgZW5jb2RpbmcgdGhlIHRleHQuICBPdGhlcndpc2UgKGluY2x1 ZGluZyB0aGUgY2FzZSB0aGF0IHRoaXMKdmFyaWFibGUgaXMgbmlsKSwgYSBwcm9wZXIgY29kaW5n IHN5c3RlbSBpcyB1c2VkIGFzIGJlbG93OgoKZGF0YS10eXBlCWNvZGluZyBzeXN0ZW0KLS0tLS0t LS0tCS0tLS0tLS0tLS0tLS0KVVRGOF9TVFJJTkcJdXRmLTgKQ09NUE9VTkRfVEVYVAljb21wb3Vu ZC10ZXh0LXdpdGgtZXh0ZW5zaW9ucwpTVFJJTkcJCWlzby1sYXRpbi0xCkNfU1RSSU5HCW5vLWNv bnZlcnNpb24KCldoZW4gcmVjZWl2aW5nIHRleHQsIGlmIHRoaXMgY29kaW5nIHN5c3RlbSBpcyBu b24tbmlsLCBpdCBpcyB1c2VkCmZvciBkZWNvZGluZyByZWdhcmRsZXNzIG9mIHRoZSBkYXRhLXR5 cGUuICBJZiB0aGlzIGlzIG5pbCwgYQpwcm9wZXIgY29kaW5nIHN5c3RlbSBpcyB1c2VkIGFjY29y ZGluZyB0byB0aGUgZGF0YS10eXBlIGFzIGFib3ZlLgoKU2VlIGFsc28gdGhlIGRvY3VtZW50YXRp b24gb2YgdGhlIHZhcmlhYmxlIGB4LXNlbGVjdC1yZXF1ZXN0LXR5cGUnIGhvdwp0byBjb250cm9s IHdoaWNoIGRhdGEtdHlwZSB0byByZXF1ZXN0IGZvciByZWNlaXZpbmcgdGV4dC4KClRoZSBkZWZh dWx0IHZhbHVlIGlzIG5pbC4iCiAgOnR5cGUgJ2NvZGluZy1zeXN0ZW0KICA6Z3JvdXAgJ211bGUK ICA7OyBEZWZhdWx0IHdhcyBjb21wb3VuZC10ZXh0LXdpdGgtZXh0ZW5zaW9ucyBpbiAyMi54IChw cmUtdW5pY29kZSkuCiAgOnZlcnNpb24gIjIzLjEiCiAgOnNldCAobGFtYmRhIChzeW1ib2wgdmFs dWUpCiAgICAgICAgIChzZXQtc2VsZWN0aW9uLWNvZGluZy1zeXN0ZW0gdmFsdWUpCiAgICAgICAg IChzZXQgc3ltYm9sIHZhbHVlKSkpCgooZGVmdmFyIG5leHQtc2VsZWN0aW9uLWNvZGluZy1zeXN0 ZW0gbmlsCiAgIkNvZGluZyBzeXN0ZW0gZm9yIHRoZSBuZXh0IGNvbW11bmljYXRpb24gd2l0aCBv dGhlciBwcm9ncmFtcy4KVXN1YWxseSwgYHNlbGVjdGlvbi1jb2Rpbmctc3lzdGVtJyBpcyB1c2Vk IGZvciBjb21tdW5pY2F0aW5nIHdpdGgKb3RoZXIgcHJvZ3JhbXMgKFggV2luZG93cyBjbGllbnRz IG9yIE1TIFdpbmRvd3MgcHJvZ3JhbXMpLiAgQnV0LCBpZiB0aGlzCnZhcmlhYmxlIGlzIHNldCwg aXQgaXMgdXNlZCBmb3IgdGhlIG5leHQgY29tbXVuaWNhdGlvbiBvbmx5LgpBZnRlciB0aGUgY29t bXVuaWNhdGlvbiwgdGhpcyB2YXJpYWJsZSBpcyBzZXQgdG8gbmlsLiIpCgooZGVjbGFyZS1mdW5j dGlvbiB4LWdldC1zZWxlY3Rpb24taW50ZXJuYWwgInhzZWxlY3QuYyIKCQkgIChzZWxlY3Rpb24t c3ltYm9sIHRhcmdldC10eXBlICZvcHRpb25hbCB0aW1lLXN0YW1wIHRlcm1pbmFsKSkKCjs7IE9u bHkgZGVjbGFyZWQgb2Jzb2xldGUgaW4gMjMuMy4KKGRlZmluZS1vYnNvbGV0ZS1mdW5jdGlvbi1h bGlhcyAneC1zZWxlY3Rpb24gJ3gtZ2V0LXNlbGVjdGlvbiAiYXQgbGVhc3QgMTkuMzQiKQoKKGRl ZnVuIHgtZ2V0LXNlbGVjdGlvbiAoJm9wdGlvbmFsIHR5cGUgZGF0YS10eXBlKQogICJSZXR1cm4g dGhlIHZhbHVlIG9mIGFuIFggV2luZG93cyBzZWxlY3Rpb24uClRoZSBhcmd1bWVudCBUWVBFIChk ZWZhdWx0IGBQUklNQVJZJykgc2F5cyB3aGljaCBzZWxlY3Rpb24sCmFuZCB0aGUgYXJndW1lbnQg REFUQS1UWVBFIChkZWZhdWx0IGBTVFJJTkcnKSBzYXlzCmhvdyB0byBjb252ZXJ0IHRoZSBkYXRh LgoKVFlQRSBtYXkgYmUgYW55IHN5bWJvbCBcKGJ1dCBuaWwgc3RhbmRzIGZvciBgUFJJTUFSWScp LiAgSG93ZXZlciwKb25seSBhIGZldyBzeW1ib2xzIGFyZSBjb21tb25seSB1c2VkLiAgVGhleSBj b252ZW50aW9uYWxseSBoYXZlCmFsbCB1cHBlci1jYXNlIG5hbWVzLiAgVGhlIG1vc3Qgb2Z0ZW4g dXNlZCBvbmVzLCBpbiBhZGRpdGlvbiB0bwpgUFJJTUFSWScsIGFyZSBgU0VDT05EQVJZJyBhbmQg YENMSVBCT0FSRCcuCgpEQVRBLVRZUEUgaXMgdXN1YWxseSBgU1RSSU5HJywgYnV0IGNhbiBhbHNv IGJlIG9uZSBvZiB0aGUgc3ltYm9scwppbiBgc2VsZWN0aW9uLWNvbnZlcnRlci1hbGlzdCcsIHdo aWNoIHNlZS4iCiAgKGxldCAoKGRhdGEgKHgtZ2V0LXNlbGVjdGlvbi1pbnRlcm5hbCAob3IgdHlw ZSAnUFJJTUFSWSkKCQkJCQkob3IgZGF0YS10eXBlICdTVFJJTkcpKSkKCWNvZGluZykKICAgICh3 aGVuIChhbmQgKHN0cmluZ3AgZGF0YSkKCSAgICAgICAoc2V0cSBkYXRhLXR5cGUgKGdldC10ZXh0 LXByb3BlcnR5IDAgJ2ZvcmVpZ24tc2VsZWN0aW9uIGRhdGEpKSkKICAgICAgKHNldHEgY29kaW5n IChvciBuZXh0LXNlbGVjdGlvbi1jb2Rpbmctc3lzdGVtCgkJICAgICAgIHNlbGVjdGlvbi1jb2Rp bmctc3lzdGVtCgkJICAgICAgIChjb25kICgoZXEgZGF0YS10eXBlICdVVEY4X1NUUklORykKCQkJ ICAgICAgJ3V0Zi04KQoJCQkgICAgICgoZXEgZGF0YS10eXBlICdDT01QT1VORF9URVhUKQoJCQkg ICAgICAnY29tcG91bmQtdGV4dC13aXRoLWV4dGVuc2lvbnMpCgkJCSAgICAgKChlcSBkYXRhLXR5 cGUgJ0NfU1RSSU5HKQoJCQkgICAgICBuaWwpCgkJCSAgICAgKChlcSBkYXRhLXR5cGUgJ1NUUklO RykKCQkJICAgICAgJ2lzby04ODU5LTEpCgkJCSAgICAgKHQKCQkJICAgICAgKGVycm9yICJVbmtu b3duIHNlbGVjdGlvbiBkYXRhIHR5cGU6ICVTIiB0eXBlKSkpKQoJICAgIGRhdGEgKGlmIGNvZGlu ZyAoZGVjb2RlLWNvZGluZy1zdHJpbmcgZGF0YSBjb2RpbmcpCgkJICAgKHN0cmluZy10by1tdWx0 aWJ5dGUgZGF0YSkpKQogICAgICAoc2V0cSBuZXh0LXNlbGVjdGlvbi1jb2Rpbmctc3lzdGVtIG5p bCkKICAgICAgKHB1dC10ZXh0LXByb3BlcnR5IDAgKGxlbmd0aCBkYXRhKSAnZm9yZWlnbi1zZWxl Y3Rpb24gZGF0YS10eXBlIGRhdGEpKQogICAgZGF0YSkpCgooZGVmdW4geC1nZXQtY2xpcGJvYXJk ICgpCiAgIlJldHVybiB0ZXh0IHBhc3RlZCB0byB0aGUgY2xpcGJvYXJkLiIKICAoeC1nZXQtc2Vs ZWN0aW9uLWludGVybmFsICdDTElQQk9BUkQgJ1NUUklORykpCgooZGVjbGFyZS1mdW5jdGlvbiB4 LW93bi1zZWxlY3Rpb24taW50ZXJuYWwgInhzZWxlY3QuYyIKCQkgIChzZWxlY3Rpb24tbmFtZSBz ZWxlY3Rpb24tdmFsdWUgJm9wdGlvbmFsIGZyYW1lKSkKKGRlY2xhcmUtZnVuY3Rpb24geC1kaXNv d24tc2VsZWN0aW9uLWludGVybmFsICJ4c2VsZWN0LmMiCgkJICAoc2VsZWN0aW9uICZvcHRpb25h bCB0aW1lIHRlcm1pbmFsKSkKCihkZWZ1biB4LXNldC1zZWxlY3Rpb24gKHR5cGUgZGF0YSkKICAi TWFrZSBhbiBYIHNlbGVjdGlvbiBvZiB0eXBlIFRZUEUgYW5kIHZhbHVlIERBVEEuClRoZSBhcmd1 bWVudCBUWVBFIChuaWwgbWVhbnMgYFBSSU1BUlknKSBzYXlzIHdoaWNoIHNlbGVjdGlvbiwgYW5k CkRBVEEgc3BlY2lmaWVzIHRoZSBjb250ZW50cy4gIFRZUEUgbXVzdCBiZSBhIHN5bWJvbC4gIFwo SXQgY2FuIGFsc28KYmUgYSBzdHJpbmcsIHdoaWNoIHN0YW5kcyBmb3IgdGhlIHN5bWJvbCB3aXRo IHRoYXQgbmFtZSwgYnV0IHRoaXMKaXMgY29uc2lkZXJlZCBvYnNvbGV0ZS4pICBEQVRBIG1heSBi ZSBhIHN0cmluZywgYSBzeW1ib2wsIGFuCmludGVnZXIgKG9yIGEgY29ucyBvZiB0d28gaW50ZWdl cnMgb3IgbGlzdCBvZiB0d28gaW50ZWdlcnMpLgoKVGhlIHNlbGVjdGlvbiBtYXkgYWxzbyBiZSBh IGNvbnMgb2YgdHdvIG1hcmtlcnMgcG9pbnRpbmcgdG8gdGhlIHNhbWUgYnVmZmVyLApvciBhbiBv dmVybGF5LiAgSW4gdGhlc2UgY2FzZXMsIHRoZSBzZWxlY3Rpb24gaXMgY29uc2lkZXJlZCB0byBi ZSB0aGUgdGV4dApiZXR3ZWVuIHRoZSBtYXJrZXJzICphdCB3aGF0ZXZlciB0aW1lIHRoZSBzZWxl Y3Rpb24gaXMgZXhhbWluZWQqLgpUaHVzLCBlZGl0aW5nIGRvbmUgaW4gdGhlIGJ1ZmZlciBhZnRl ciB5b3Ugc3BlY2lmeSB0aGUgc2VsZWN0aW9uCmNhbiBhbHRlciB0aGUgZWZmZWN0aXZlIHZhbHVl IG9mIHRoZSBzZWxlY3Rpb24uCgpUaGUgZGF0YSBtYXkgYWxzbyBiZSBhIHZlY3RvciBvZiB2YWxp ZCBub24tdmVjdG9yIHNlbGVjdGlvbiB2YWx1ZXMuCgpUaGUgcmV0dXJuIHZhbHVlIGlzIERBVEEu CgpJbnRlcmFjdGl2ZWx5LCB0aGlzIGNvbW1hbmQgc2V0cyB0aGUgcHJpbWFyeSBzZWxlY3Rpb24u ICBXaXRob3V0CnByZWZpeCBhcmd1bWVudCwgaXQgcmVhZHMgdGhlIHNlbGVjdGlvbiBpbiB0aGUg bWluaWJ1ZmZlci4gIFdpdGgKcHJlZml4IGFyZ3VtZW50LCBpdCB1c2VzIHRoZSB0ZXh0IG9mIHRo ZSByZWdpb24gYXMgdGhlIHNlbGVjdGlvbiB2YWx1ZS4KCk5vdGUgdGhhdCBvbiBNUy1XaW5kb3dz LCBwcmltYXJ5IGFuZCBzZWNvbmRhcnkgc2VsZWN0aW9ucyBzZXQgYnkgRW1hY3MKYXJlIG5vdCBh dmFpbGFibGUgdG8gb3RoZXIgcHJvZ3JhbXMuIgogIChpbnRlcmFjdGl2ZSAoaWYgKG5vdCBjdXJy ZW50LXByZWZpeC1hcmcpCgkJICAgKGxpc3QgJ1BSSU1BUlkgKHJlYWQtc3RyaW5nICJTZXQgdGV4 dCBmb3IgcGFzdGluZzogIikpCgkJIChsaXN0ICdQUklNQVJZIChidWZmZXItc3Vic3RyaW5nIChy ZWdpb24tYmVnaW5uaW5nKSAocmVnaW9uLWVuZCkpKSkpCiAgKGlmIChzdHJpbmdwIHR5cGUpIChz ZXRxIHR5cGUgKGludGVybiB0eXBlKSkpCiAgKG9yICh4LXZhbGlkLXNpbXBsZS1zZWxlY3Rpb24t cCBkYXRhKQogICAgICAoYW5kICh2ZWN0b3JwIGRhdGEpCgkgICAobGV0ICgodmFsaWQgdCkKCQkg KGkgKDEtIChsZW5ndGggZGF0YSkpKSkKCSAgICAgKHdoaWxlICg+PSBpIDApCgkgICAgICAgKG9y ICh4LXZhbGlkLXNpbXBsZS1zZWxlY3Rpb24tcCAoYXJlZiBkYXRhIGkpKQoJCSAgIChzZXRxIHZh bGlkIG5pbCkpCgkgICAgICAgKHNldHEgaSAoMS0gaSkpKQoJICAgICB2YWxpZCkpCiAgICAgIChz aWduYWwgJ2Vycm9yIChsaXN0ICJpbnZhbGlkIHNlbGVjdGlvbiIgZGF0YSkpKQogIChvciB0eXBl IChzZXRxIHR5cGUgJ1BSSU1BUlkpKQogIChpZiBkYXRhCiAgICAgICh4LW93bi1zZWxlY3Rpb24t aW50ZXJuYWwgdHlwZSBkYXRhKQogICAgKHgtZGlzb3duLXNlbGVjdGlvbi1pbnRlcm5hbCB0eXBl KSkKICBkYXRhKQoKKGRlZnVuIHgtdmFsaWQtc2ltcGxlLXNlbGVjdGlvbi1wIChkYXRhKQogIChv ciAoYnVmZmVycCBkYXRhKQogICAgICAoYW5kIChjb25zcCBkYXRhKQoJICAgKG1hcmtlcnAgKGNh ciBkYXRhKSkKCSAgIChtYXJrZXJwIChjZHIgZGF0YSkpCgkgICAobWFya2VyLWJ1ZmZlciAoY2Fy IGRhdGEpKQoJICAgKGJ1ZmZlci1uYW1lIChtYXJrZXItYnVmZmVyIChjYXIgZGF0YSkpKQoJICAg KGVxIChtYXJrZXItYnVmZmVyIChjYXIgZGF0YSkpCgkgICAgICAgKG1hcmtlci1idWZmZXIgKGNk ciBkYXRhKSkpKQogICAgICAoc3RyaW5ncCBkYXRhKQogICAgICAoYW5kIChvdmVybGF5cCBkYXRh KQoJICAgKG92ZXJsYXktYnVmZmVyIGRhdGEpCgkgICAoYnVmZmVyLW5hbWUgKG92ZXJsYXktYnVm ZmVyIGRhdGEpKSkKICAgICAgKHN5bWJvbHAgZGF0YSkKICAgICAgKGludGVnZXJwIGRhdGEpKSkK DAo7OyBGdW5jdGlvbnMgdG8gY29udmVydCB0aGUgc2VsZWN0aW9uIGludG8gdmFyaW91cyBvdGhl ciBzZWxlY3Rpb24gdHlwZXMuCjs7IEV2ZXJ5IHNlbGVjdGlvbiB0eXBlIHRoYXQgRW1hY3MgaGFu ZGxlcyBpcyBpbXBsZW1lbnRlZCB0aGlzIHdheSwgZXhjZXB0Cjs7IGZvciBUSU1FU1RBTVAsIHdo aWNoIGlzIGEgc3BlY2lhbCBjYXNlLgoKKGRlZnVuIHhzZWxlY3QtLXNlbGVjdGlvbi1ib3VuZHMg KHZhbHVlKQogICJSZXR1cm4gYm91bmRzIG9mIFggc2VsZWN0aW9uIHZhbHVlIFZBTFVFLgpUaGUg cmV0dXJuIHZhbHVlIGlzIGEgbGlzdCAoQkVHIEVORCBCVUYpIGlmIFZBTFVFIGlzIGEgY29ucyBv Zgp0d28gbWFya2VycyBvciBhbiBvdmVybGF5LiAgT3RoZXJ3aXNlLCBpdCBpcyBuaWwuIgogIChj b25kICgoYnVmZmVycCB2YWx1ZSkKCSAod2l0aC1jdXJyZW50LWJ1ZmZlciB2YWx1ZQoJICAgKHdo ZW4gKG1hcmsgdCkKCSAgICAgKGxpc3QgKG1hcmsgdCkgKHBvaW50KSB2YWx1ZSkpKSkKCSgoYW5k IChjb25zcCB2YWx1ZSkKCSAgICAgIChtYXJrZXJwIChjYXIgdmFsdWUpKQoJICAgICAgKG1hcmtl cnAgKGNkciB2YWx1ZSkpKQoJICh3aGVuIChhbmQgKG1hcmtlci1idWZmZXIgKGNhciB2YWx1ZSkp CgkJICAgIChidWZmZXItbmFtZSAobWFya2VyLWJ1ZmZlciAoY2FyIHZhbHVlKSkpCgkJICAgIChl cSAobWFya2VyLWJ1ZmZlciAoY2FyIHZhbHVlKSkKCQkJKG1hcmtlci1idWZmZXIgKGNkciB2YWx1 ZSkpKSkKCSAgIChsaXN0IChtYXJrZXItcG9zaXRpb24gKGNhciB2YWx1ZSkpCgkJIChtYXJrZXIt cG9zaXRpb24gKGNkciB2YWx1ZSkpCgkJIChtYXJrZXItYnVmZmVyIChjYXIgdmFsdWUpKSkpKQoJ KChvdmVybGF5cCB2YWx1ZSkKCSAod2hlbiAob3ZlcmxheS1idWZmZXIgdmFsdWUpCgkgICAobGlz dCAob3ZlcmxheS1zdGFydCB2YWx1ZSkKCQkgKG92ZXJsYXktZW5kIHZhbHVlKQoJCSAob3Zlcmxh eS1idWZmZXIgdmFsdWUpKSkpKSkKCihkZWZ1biB4c2VsZWN0LS1pbnQtdG8tY29ucyAobikKICAo Y29ucyAoYXNoIG4gLTE2KSAobG9nYW5kIG4gNjU1MzUpKSkKCihkZWZ1biB4c2VsZWN0LS1lbmNv ZGUtc3RyaW5nICh0eXBlIHN0ciAmb3B0aW9uYWwgY2FuLW1vZGlmeSkKICAod2hlbiBzdHIKICAg IDs7IElmIFRZUEUgaXMgbmlsLCB0aGlzIGlzIGEgbG9jYWwgcmVxdWVzdDsgcmV0dXJuIFNUUiBh cy1pcy4KICAgIChpZiAobnVsbCB0eXBlKQoJc3RyCiAgICAgIDs7IE90aGVyd2lzZSwgZW5jb2Rl IFNUUi4KICAgICAgKGxldCAoKGNvZGluZyAob3IgbmV4dC1zZWxlY3Rpb24tY29kaW5nLXN5c3Rl bQoJCQlzZWxlY3Rpb24tY29kaW5nLXN5c3RlbSkpKQoJKGlmIGNvZGluZwoJICAgIChzZXRxIGNv ZGluZyAoY29kaW5nLXN5c3RlbS1iYXNlIGNvZGluZykpKQoJKGxldCAoKGluaGliaXQtcmVhZC1v bmx5IHQpKQoJICA7OyBTdXBwcmVzcyBwcm9kdWNpbmcgZXNjYXBlIHNlcXVlbmNlcyBmb3IgY29t cG9zaXRpb25zLgoJICA7OyBCdXQgYXZvaWQgbW9kaWZ5aW5nIHRoZSBzdHJpbmcgaWYgaXQncyBh IGJ1ZmZlciBuYW1lIGV0Yy4KCSAgKHVubGVzcyBjYW4tbW9kaWZ5IChzZXRxIHN0ciAoc3Vic3Ry aW5nIHN0ciAwKSkpCgkgIChyZW1vdmUtdGV4dC1wcm9wZXJ0aWVzIDAgKGxlbmd0aCBzdHIpICco Y29tcG9zaXRpb24gbmlsKSBzdHIpCgkgIDs7IEZvciBYIHNlbGVjdGlvbnMsIFRFWFQgaXMgYSBw b2x5bW9ycGhpYyB0YXJnZXQ7IGNob29zZQoJICA7OyB0aGUgYWN0dWFsIHR5cGUgZnJvbSBgVVRG OF9TVFJJTkcnLCBgQ09NUE9VTkRfVEVYVCcsCgkgIDs7IGBTVFJJTkcnLCBhbmQgYENfU1RSSU5H Jy4gIE9uIE5leHRzdGVwLCBhbHdheXMgdXNlIFVURi04CgkgIDs7IChzZWUgbnNfc3RyaW5nX3Rv X3Bhc3RlYm9hcmRfaW50ZXJuYWwgaW4gbnNzZWxlY3QubSkuCgkgICh3aGVuIChlcSB0eXBlICdU RVhUKQoJICAgIChjb25kCgkgICAgICgoZmVhdHVyZXAgJ25zKQoJICAgICAgKHNldHEgdHlwZSAn VVRGOF9TVFJJTkcpKQoJICAgICAoKG5vdCAobXVsdGlieXRlLXN0cmluZy1wIHN0cikpCgkgICAg ICAoc2V0cSB0eXBlICdDX1NUUklORykpCgkgICAgICh0CgkgICAgICAobGV0IChub24tbGF0aW4t MSBub24tdW5pY29kZSBlaWdodC1iaXQpCgkJKG1hcGMgIycobGFtYmRhICh4KQoJCQkgIChpZiAo Pj0geCAjeDEwMCkKCQkJICAgICAgKGlmICg8IHggI3gxMTAwMDApCgkJCQkgIChzZXRxIG5vbi1s YXRpbi0xIHQpCgkJCQkoaWYgKDwgeCAjeDNGRkY4MCkKCQkJCSAgICAoc2V0cSBub24tdW5pY29k ZSB0KQoJCQkJICAoc2V0cSBlaWdodC1iaXQgdCkpKSkpCgkJICAgICAgc3RyKQoJCShzZXRxIHR5 cGUgKGlmIChvciBub24tdW5pY29kZQoJCQkJICAgKGFuZAoJCQkJICAgIG5vbi1sYXRpbi0xCgkJ CQkgICAgOzsgSWYgYSBjb2RpbmcgaXMgc3BlY2lmaWVkIGZvcgoJCQkJICAgIDs7IHNlbGVjdGlv biwgYW5kIHRoYXQgaXMKCQkJCSAgICA7OyBjb21wYXRpYmxlIHdpdGggQ09NUE9VTkRfVEVYVCwK CQkJCSAgICA7OyB1c2UgaXQuCgkJCQkgICAgY29kaW5nCgkJCQkgICAgKGVxIChjb2Rpbmctc3lz dGVtLWdldCBjb2RpbmcgOm1pbWUtY2hhcnNldCkKCQkJCQkneC1jdGV4dCkpKQoJCQkgICAgICAg J0NPTVBPVU5EX1RFWFQKCQkJICAgICAoaWYgbm9uLWxhdGluLTEgJ1VURjhfU1RSSU5HCgkJCSAg ICAgICAoaWYgZWlnaHQtYml0ICdDX1NUUklORwoJCQkJICdTVFJJTkcpKSkpKSkpKQoJICAoY29u ZAoJICAgKChlcSB0eXBlICdVVEY4X1NUUklORykKCSAgICAoaWYgKG9yIChub3QgY29kaW5nKQoJ CSAgICAobm90IChlcSAoY29kaW5nLXN5c3RlbS10eXBlIGNvZGluZykgJ3V0Zi04KSkpCgkJKHNl dHEgY29kaW5nICd1dGYtOCkpCgkgICAgKHNldHEgc3RyIChlbmNvZGUtY29kaW5nLXN0cmluZyBz dHIgY29kaW5nKSkpCgoJICAgKChlcSB0eXBlICdTVFJJTkcpCgkgICAgKGlmIChvciAobm90IGNv ZGluZykKCQkgICAgKG5vdCAoZXEgKGNvZGluZy1zeXN0ZW0tdHlwZSBjb2RpbmcpICdjaGFyc2V0 KSkpCgkJKHNldHEgY29kaW5nICdpc28tODg1OS0xKSkKCSAgICAoc2V0cSBzdHIgKGVuY29kZS1j b2Rpbmctc3RyaW5nIHN0ciBjb2RpbmcpKSkKCgkgICAoKGVxIHR5cGUgJ0NPTVBPVU5EX1RFWFQp CgkgICAgKGlmIChvciAobm90IGNvZGluZykKCQkgICAgKG5vdCAoZXEgKGNvZGluZy1zeXN0ZW0t dHlwZSBjb2RpbmcpICdpc28tMjAyMikpKQoJCShzZXRxIGNvZGluZyAnY29tcG91bmQtdGV4dC13 aXRoLWV4dGVuc2lvbnMpKQoJICAgIChzZXRxIHN0ciAoZW5jb2RlLWNvZGluZy1zdHJpbmcgc3Ry IGNvZGluZykpKQoKCSAgICgoZXEgdHlwZSAnQ19TVFJJTkcpCgkgICAgKHNldHEgc3RyIChzdHJp bmctbWFrZS11bmlieXRlIHN0cikpKQoKCSAgICh0CgkgICAgKGVycm9yICJVbmtub3duIHNlbGVj dGlvbiB0eXBlOiAlUyIgdHlwZSkpKSkpCgogICAgICAoc2V0cSBuZXh0LXNlbGVjdGlvbi1jb2Rp bmctc3lzdGVtIG5pbCkKICAgICAgKGNvbnMgdHlwZSBzdHIpKSkpCgooZGVmdW4geHNlbGVjdC1j b252ZXJ0LXRvLXN0cmluZyAoX3NlbGVjdGlvbiB0eXBlIHZhbHVlKQogIChsZXQgKChzdHIgKGNv bmQgKChzdHJpbmdwIHZhbHVlKSB2YWx1ZSkKCQkgICAoKHNldHEgdmFsdWUgKHhzZWxlY3QtLXNl bGVjdGlvbi1ib3VuZHMgdmFsdWUpKQoJCSAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciAobnRoIDIg dmFsdWUpCgkJICAgICAgKGJ1ZmZlci1zdWJzdHJpbmcgKG50aCAwIHZhbHVlKQoJCQkJCShudGgg MSB2YWx1ZSkpKSkpKSkKICAgICh4c2VsZWN0LS1lbmNvZGUtc3RyaW5nIHR5cGUgc3RyIHQpKSkK CihkZWZ1biB4c2VsZWN0LWNvbnZlcnQtdG8tbGVuZ3RoIChfc2VsZWN0aW9uIF90eXBlIHZhbHVl KQogIChsZXQgKChsZW4gKGNvbmQgKChzdHJpbmdwIHZhbHVlKQoJCSAgICAobGVuZ3RoIHZhbHVl KSkKCQkgICAoKHNldHEgdmFsdWUgKHhzZWxlY3QtLXNlbGVjdGlvbi1ib3VuZHMgdmFsdWUpKQoJ CSAgICAoYWJzICgtIChudGggMCB2YWx1ZSkgKG50aCAxIHZhbHVlKSkpKSkpKQogICAgKGlmIGxl bgoJKHhzZWxlY3QtLWludC10by1jb25zIGxlbikpKSkKCihkZWZ1biB4c2VsZWN0LWNvbnZlcnQt dG8tdGFyZ2V0cyAoX3NlbGVjdGlvbiBfdHlwZSBfdmFsdWUpCiAgOzsgcmV0dXJuIGEgdmVjdG9y IG9mIGF0b21zLCBidXQgcmVtb3ZlIGR1cGxpY2F0ZXMgZmlyc3QuCiAgKGxldCogKChhbGwgKGNv bnMgJ1RJTUVTVEFNUAoJCSAgICAoY29ucyAnTVVMVElQTEUKCQkJICAobWFwY2FyICdjYXIgc2Vs ZWN0aW9uLWNvbnZlcnRlci1hbGlzdCkpKSkKCSAocmVzdCBhbGwpKQogICAgKHdoaWxlIHJlc3QK ICAgICAgKGNvbmQgKChtZW1xIChjYXIgcmVzdCkgKGNkciByZXN0KSkKCSAgICAgKHNldGNkciBy ZXN0IChkZWxxIChjYXIgcmVzdCkgKGNkciByZXN0KSkpKQoJICAgICgoZXEgKGNhciAoY2RyIHJl c3QpKSAnX0VNQUNTX0lOVEVSTkFMKSAgOyBzaGgsIGl0J3MgYSBzZWNyZXQKCSAgICAgKHNldGNk ciByZXN0IChjZHIgKGNkciByZXN0KSkpKQoJICAgICh0CgkgICAgIChzZXRxIHJlc3QgKGNkciBy ZXN0KSkpKSkKICAgIChhcHBseSAndmVjdG9yIGFsbCkpKQoKKGRlZnVuIHhzZWxlY3QtY29udmVy dC10by1kZWxldGUgKHNlbGVjdGlvbiBfdHlwZSBfdmFsdWUpCiAgKHgtZGlzb3duLXNlbGVjdGlv bi1pbnRlcm5hbCBzZWxlY3Rpb24pCiAgOzsgQSByZXR1cm4gdmFsdWUgb2YgbmlsIG1lYW5zIHRo YXQgd2UgZG8gbm90IGtub3cgaG93IHRvIGRvIHRoaXMgY29udmVyc2lvbiwKICA7OyBhbmQgcmVw bGllcyB3aXRoIGFuICJlcnJvciIuICBBIHJldHVybiB2YWx1ZSBvZiBOVUxMIG1lYW5zIHRoYXQg d2UgaGF2ZQogIDs7IGRvbmUgdGhlIGNvbnZlcnNpb24gKGFuZCBhbnkgc2lkZS1lZmZlY3RzKSBi dXQgaGF2ZSBubyB2YWx1ZSB0byByZXR1cm4uCiAgJ05VTEwpCgooZGVmdW4geHNlbGVjdC1jb252 ZXJ0LXRvLWZpbGVuYW1lIChfc2VsZWN0aW9uIF90eXBlIHZhbHVlKQogICh3aGVuIChzZXRxIHZh bHVlICh4c2VsZWN0LS1zZWxlY3Rpb24tYm91bmRzIHZhbHVlKSkKICAgICh4c2VsZWN0LS1lbmNv ZGUtc3RyaW5nICdURVhUIChidWZmZXItZmlsZS1uYW1lIChudGggMiB2YWx1ZSkpKSkpCgooZGVm dW4geHNlbGVjdC1jb252ZXJ0LXRvLWNoYXJwb3MgKF9zZWxlY3Rpb24gX3R5cGUgdmFsdWUpCiAg KHdoZW4gKHNldHEgdmFsdWUgKHhzZWxlY3QtLXNlbGVjdGlvbi1ib3VuZHMgdmFsdWUpKQogICAg KGxldCAoKGJlZyAoMS0gKG50aCAwIHZhbHVlKSkpIDsgemVyby1iYXNlZAoJICAoZW5kICgxLSAo bnRoIDEgdmFsdWUpKSkpCiAgICAgIChjb25zICdTUEFOICh2ZWN0b3IgKHhzZWxlY3QtLWludC10 by1jb25zIChtaW4gYmVnIGVuZCkpCgkJCSAgKHhzZWxlY3QtLWludC10by1jb25zIChtYXggYmVn IGVuZCkpKSkpKSkKCihkZWZ1biB4c2VsZWN0LWNvbnZlcnQtdG8tbGluZW5vIChfc2VsZWN0aW9u IF90eXBlIHZhbHVlKQogICh3aGVuIChzZXRxIHZhbHVlICh4c2VsZWN0LS1zZWxlY3Rpb24tYm91 bmRzIHZhbHVlKSkKICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIChudGggMiB2YWx1ZSkKICAgICAg KGxldCAoKGJlZyAobGluZS1udW1iZXItYXQtcG9zIChudGggMCB2YWx1ZSkpKQoJICAgIChlbmQg KGxpbmUtbnVtYmVyLWF0LXBvcyAobnRoIDEgdmFsdWUpKSkpCgkoY29ucyAnU1BBTiAodmVjdG9y ICh4c2VsZWN0LS1pbnQtdG8tY29ucyAobWluIGJlZyBlbmQpKQoJCQkgICAgKHhzZWxlY3QtLWlu dC10by1jb25zIChtYXggYmVnIGVuZCkpKSkpKSkpCgooZGVmdW4geHNlbGVjdC1jb252ZXJ0LXRv LWNvbG5vIChfc2VsZWN0aW9uIF90eXBlIHZhbHVlKQogICh3aGVuIChzZXRxIHZhbHVlICh4c2Vs ZWN0LS1zZWxlY3Rpb24tYm91bmRzIHZhbHVlKSkKICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIChu dGggMiB2YWx1ZSkKICAgICAgKGxldCAoKGJlZyAocHJvZ24gKGdvdG8tY2hhciAobnRoIDAgdmFs dWUpKSAoY3VycmVudC1jb2x1bW4pKSkKCSAgICAoZW5kIChwcm9nbiAoZ290by1jaGFyIChudGgg MSB2YWx1ZSkpIChjdXJyZW50LWNvbHVtbikpKSkKCShjb25zICdTUEFOICh2ZWN0b3IgKHhzZWxl Y3QtLWludC10by1jb25zIChtaW4gYmVnIGVuZCkpCgkJCSAgICAoeHNlbGVjdC0taW50LXRvLWNv bnMgKG1heCBiZWcgZW5kKSkpKSkpKSkKCihkZWZ1biB4c2VsZWN0LWNvbnZlcnQtdG8tb3MgKF9z ZWxlY3Rpb24gX3R5cGUgX3NpemUpCiAgKHhzZWxlY3QtLWVuY29kZS1zdHJpbmcgJ1RFWFQgKHN5 bWJvbC1uYW1lIHN5c3RlbS10eXBlKSkpCgooZGVmdW4geHNlbGVjdC1jb252ZXJ0LXRvLWhvc3Qg KF9zZWxlY3Rpb24gX3R5cGUgX3NpemUpCiAgKHhzZWxlY3QtLWVuY29kZS1zdHJpbmcgJ1RFWFQg KHN5c3RlbS1uYW1lKSkpCgooZGVmdW4geHNlbGVjdC1jb252ZXJ0LXRvLXVzZXIgKF9zZWxlY3Rp b24gX3R5cGUgX3NpemUpCiAgKHhzZWxlY3QtLWVuY29kZS1zdHJpbmcgJ1RFWFQgKHVzZXItZnVs bC1uYW1lKSkpCgooZGVmdW4geHNlbGVjdC1jb252ZXJ0LXRvLWNsYXNzIChfc2VsZWN0aW9uIF90 eXBlIF9zaXplKQogICJDb252ZXJ0IHNlbGVjdGlvbiB0byBjbGFzcy4KVGhpcyBmdW5jdGlvbiBy ZXR1cm5zIHRoZSBzdHJpbmcgXCJFbWFjc1wiLiIKICAiRW1hY3MiKQoKOzsgV2UgZG8gbm90IHRy eSB0byBkZXRlcm1pbmUgdGhlIG5hbWUgRW1hY3Mgd2FzIGludm9rZWQgd2l0aCwKOzsgYmVjYXVz ZSBpdCBpcyBub3QgY2xlYW4gZm9yIGEgcHJvZ3JhbSdzIGJlaGF2aW9yIHRvIGRlcGVuZCBvbiB0 aGF0LgooZGVmdW4geHNlbGVjdC1jb252ZXJ0LXRvLW5hbWUgKF9zZWxlY3Rpb24gX3R5cGUgX3Np emUpCiAgIkNvbnZlcnQgc2VsZWN0aW9uIHRvIG5hbWUuClRoaXMgZnVuY3Rpb24gcmV0dXJucyB0 aGUgc3RyaW5nIFwiZW1hY3NcIi4iCiAgImVtYWNzIikKCihkZWZ1biB4c2VsZWN0LWNvbnZlcnQt dG8taW50ZWdlciAoX3NlbGVjdGlvbiBfdHlwZSB2YWx1ZSkKICAoYW5kIChpbnRlZ2VycCB2YWx1 ZSkKICAgICAgICh4c2VsZWN0LS1pbnQtdG8tY29ucyB2YWx1ZSkpKQoKKGRlZnVuIHhzZWxlY3Qt Y29udmVydC10by1hdG9tIChfc2VsZWN0aW9uIF90eXBlIHZhbHVlKQogIChhbmQgKHN5bWJvbHAg dmFsdWUpIHZhbHVlKSkKCihkZWZ1biB4c2VsZWN0LWNvbnZlcnQtdG8taWRlbnRpdHkgKF9zZWxl Y3Rpb24gX3R5cGUgdmFsdWUpIDsgdXNlZCBpbnRlcm5hbGx5CiAgKHZlY3RvciB2YWx1ZSkpCgo7 OyBOdWxsIHRhcmdldCB0aGF0IHRlbGxzIGNsaXBib2FyZCBtYW5hZ2VycyB3ZSBzdXBwb3J0IFNB VkVfVEFSR0VUUwo7OyAoc2VlIGZyZWVkZXNrdG9wLm9yZyBDbGlwYm9hcmQgTWFuYWdlciBzcGVj KS4KKGRlZnVuIHhzZWxlY3QtY29udmVydC10by1zYXZlLXRhcmdldHMgKHNlbGVjdGlvbiBfdHlw ZSBfdmFsdWUpCiAgKHdoZW4gKGVxIHNlbGVjdGlvbiAnQ0xJUEJPQVJEKQogICAgJ05VTEwpKQoK KHNldHEgc2VsZWN0aW9uLWNvbnZlcnRlci1hbGlzdAogICAgICAnKChURVhUIC4geHNlbGVjdC1j b252ZXJ0LXRvLXN0cmluZykKCShDT01QT1VORF9URVhUIC4geHNlbGVjdC1jb252ZXJ0LXRvLXN0 cmluZykKCShTVFJJTkcgLiB4c2VsZWN0LWNvbnZlcnQtdG8tc3RyaW5nKQoJKFVURjhfU1RSSU5H IC4geHNlbGVjdC1jb252ZXJ0LXRvLXN0cmluZykKCShUQVJHRVRTIC4geHNlbGVjdC1jb252ZXJ0 LXRvLXRhcmdldHMpCgkoTEVOR1RIIC4geHNlbGVjdC1jb252ZXJ0LXRvLWxlbmd0aCkKCShERUxF VEUgLiB4c2VsZWN0LWNvbnZlcnQtdG8tZGVsZXRlKQoJKEZJTEVfTkFNRSAuIHhzZWxlY3QtY29u dmVydC10by1maWxlbmFtZSkKCShDSEFSQUNURVJfUE9TSVRJT04gLiB4c2VsZWN0LWNvbnZlcnQt dG8tY2hhcnBvcykKCShMSU5FX05VTUJFUiAuIHhzZWxlY3QtY29udmVydC10by1saW5lbm8pCgko Q09MVU1OX05VTUJFUiAuIHhzZWxlY3QtY29udmVydC10by1jb2xubykKCShPV05FUl9PUyAuIHhz ZWxlY3QtY29udmVydC10by1vcykKCShIT1NUX05BTUUgLiB4c2VsZWN0LWNvbnZlcnQtdG8taG9z dCkKCShVU0VSIC4geHNlbGVjdC1jb252ZXJ0LXRvLXVzZXIpCgkoQ0xBU1MgLiB4c2VsZWN0LWNv bnZlcnQtdG8tY2xhc3MpCgkoTkFNRSAuIHhzZWxlY3QtY29udmVydC10by1uYW1lKQoJKEFUT00g LiB4c2VsZWN0LWNvbnZlcnQtdG8tYXRvbSkKCShJTlRFR0VSIC4geHNlbGVjdC1jb252ZXJ0LXRv LWludGVnZXIpCgkoU0FWRV9UQVJHRVRTIC4geHNlbGVjdC1jb252ZXJ0LXRvLXNhdmUtdGFyZ2V0 cykKCShfRU1BQ1NfSU5URVJOQUwgLiB4c2VsZWN0LWNvbnZlcnQtdG8taWRlbnRpdHkpKSkKCihw cm92aWRlICdzZWxlY3QpCgo7Ozsgc2VsZWN0LmVsIGVuZHMgaGVyZQo= --__13919920697641449abhmp0005.oracle.com--