From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Robert Weiner Newsgroups: gmane.emacs.bugs Subject: bug#23623: Patch to improve function options in find-func.el Date: Sun, 17 Dec 2017 23:33:04 -0500 Message-ID: References: <87o9oe6gt1.fsf@users.sourceforge.net> Reply-To: rswgnu@gmail.com NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="001a1148cce877ba25056095da19" X-Trace: blaine.gmane.org 1513571544 4314 195.159.176.226 (18 Dec 2017 04:32:24 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 18 Dec 2017 04:32:24 +0000 (UTC) Cc: 23623@debbugs.gnu.org To: Noam Postavsky Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Dec 18 05:32:19 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 1eQn6B-0000Pq-5T for geb-bug-gnu-emacs@m.gmane.org; Mon, 18 Dec 2017 05:32:19 +0100 Original-Received: from localhost ([::1]:56701 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eQn84-0007yq-KG for geb-bug-gnu-emacs@m.gmane.org; Sun, 17 Dec 2017 23:34:16 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:57865) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eQn7v-0007yk-T0 for bug-gnu-emacs@gnu.org; Sun, 17 Dec 2017 23:34:08 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eQn7q-0003Gd-S7 for bug-gnu-emacs@gnu.org; Sun, 17 Dec 2017 23:34:07 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:59089) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eQn7q-0003GX-Le for bug-gnu-emacs@gnu.org; Sun, 17 Dec 2017 23:34:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1eQn7q-00087b-EX for bug-gnu-emacs@gnu.org; Sun, 17 Dec 2017 23:34:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Robert Weiner Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 18 Dec 2017 04:34:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 23623 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 23623-submit@debbugs.gnu.org id=B23623.151357163531205 (code B ref 23623); Mon, 18 Dec 2017 04:34:02 +0000 Original-Received: (at 23623) by debbugs.gnu.org; 18 Dec 2017 04:33:55 +0000 Original-Received: from localhost ([127.0.0.1]:39537 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eQn7i-00087F-U8 for submit@debbugs.gnu.org; Sun, 17 Dec 2017 23:33:55 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:38566) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eQn7h-000872-Uv for 23623@debbugs.gnu.org; Sun, 17 Dec 2017 23:33:54 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eQn7Q-0002zc-Ex for 23623@debbugs.gnu.org; Sun, 17 Dec 2017 23:33:45 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:57412) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eQn7Q-0002zX-9r for 23623@debbugs.gnu.org; Sun, 17 Dec 2017 23:33:36 -0500 Original-Received: from mail-qk0-f179.google.com ([209.85.220.179]:43824) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1eQn7Q-0007Ea-04 for 23623@debbugs.gnu.org; Sun, 17 Dec 2017 23:33:36 -0500 Original-Received: by mail-qk0-f179.google.com with SMTP id j207so16906279qke.10 for <23623@debbugs.gnu.org>; Sun, 17 Dec 2017 20:33:35 -0800 (PST) X-Gm-Message-State: AKGB3mJr2a+kRQgnz5PTzEvGus6kKJE8sK4J29jnA3Wui2mvtGEVUSfh l9S/SR/AyyhNibSYczNw9x4K1J9w7ze5AUddo+M= X-Google-Smtp-Source: ACJfBouSUw6BmNDAXnPT31Z7cVn8bWtSn3B1sEiXEB0upkA8hSuvVOT6M9QOsIGfkjiFWJ4xirULiLZ9+LVAiAqFK5s= X-Received: by 10.55.6.22 with SMTP id 22mr4080419qkg.231.1513571615215; Sun, 17 Dec 2017 20:33:35 -0800 (PST) Original-Received: by 10.200.55.124 with HTTP; Sun, 17 Dec 2017 20:33:04 -0800 (PST) In-Reply-To: <87o9oe6gt1.fsf@users.sourceforge.net> X-Gmail-Original-Message-ID: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] 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:141214 Archived-At: --001a1148cce877ba25056095da19 Content-Type: multipart/alternative; boundary="001a1148cce877ba21056095da17" --001a1148cce877ba21056095da17 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Nov 6, 2017 at 8:03 PM, Noam Postavsky wrote: > Robert Weiner writes: > > > I think it's okay for master. > =E2=80=8BSorry, I lost track of this and didn't get back to you.=E2=80=8B > =E2=80=8B=E2=80=8B > > =E2=80=8B=E2=80=8B > > +Visit the library in a buffer, and return a (buffer . position) pair, > =E2=80=8B=E2=80=8B > > =E2=80=8B=E2=80=8B > The convention we use in docstrings is that placeholders in structures > =E2=80=8B=E2=80=8B > should be in upper case. The way you wrote it here would be describing > =E2=80=8B=E2=80=8B > a function which does (cons 'buffer 'position). > =E2=80=8B=E2=80=8B =E2=80=8BI have made this requested change and herein attach the patch. I = hope you can integrate it sometime. Bob =E2=80=8B --001a1148cce877ba21056095da17 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Mon, Nov 6, 20= 17 at 8:03 PM, Noam Postavsky <npostavs@users.sourceforge.net> wrote:
Rober= t Weiner <rswgnu@g= mail.com> writes:


I think it's okay for master.

=E2=80=8BSorry= , I lost track of this and didn't get back to you.=E2=80=8B
=E2=80=8B=E2=80=8B

=E2=80=8B=E2=80=8B
> +Visit the library in a buffer, and= return a (buffer . position) pair,
=E2=80=8B=E2=80=8B

=E2=80=8B=E2=80=8B
The convention we use in docstrings is t= hat placeholders in structures
=E2=80=8B=E2=80=8B
should be in upper case.=C2=A0 The way y= ou wrote it here would be describing
=E2=80=8B=E2=80=8B
a function which does (cons 'buffer = 'position).
=E2=80=8B=E2=80=8B
=E2=80=8BI have made this requested ch= ange and herein attach the patch.=C2=A0 I hope
you can integrate it someti= me.

Bob

=E2=80=8B

--001a1148cce877ba21056095da17-- --001a1148cce877ba25056095da19 Content-Type: application/octet-stream; name="find-func.el.patch" Content-Disposition: attachment; filename="find-func.el.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jbbpfm4m0 ZGlmZiAtdSBmaW5kLWZ1bmMtb3JpZy5lbCBmaW5kLWZ1bmMuZWwKLS0tIGZpbmQtZnVuYy1vcmln LmVsIDIwMTYtMDUtMTcgMTI6MTY6MzMuMDAwMDAwMDAwIC0wNDAwCisrKyBmaW5kLWZ1bmMuZWwg MjAxNi0wNS0yNiAxMToxNDowMi4wMDAwMDAwMDAgLTA0MDAKQEAgLTE3Nyw5ICsxNzcsMTEgQEAK ICAgICAgICAgICAgIChzZXRxIG5hbWUgcmVsKSkpKQogICAgICh1bmxlc3MgKGVxdWFsIG5hbWUg bGlicmFyeSkgbmFtZSkpKQogCi0oZGVmdW4gZmluZC1saWJyYXJ5LW5hbWUgKGxpYnJhcnkpCiso ZGVmdW4gZmluZC1saWJyYXJ5LW5hbWUgKGxpYnJhcnkgJm9wdGlvbmFsIG5vLWVycm9yKQogICAi UmV0dXJuIHRoZSBhYnNvbHV0ZSBmaWxlIG5hbWUgb2YgdGhlIEVtYWNzIExpc3Agc291cmNlIG9m IExJQlJBUlkuCi1MSUJSQVJZIHNob3VsZCBiZSBhIHN0cmluZyAodGhlIG5hbWUgb2YgdGhlIGxp YnJhcnkpLiIKK0xJQlJBUlkgc2hvdWxkIGJlIGEgc3RyaW5nICh0aGUgbmFtZSBvZiB0aGUgbGli cmFyeSkuCitTaWduYWxzIGFuIGVycm9yIGlmIHRoZSBzb3VyY2UgbG9jYXRpb24gaXMgbm90IGZv dW5kLCB1bmxlc3Mgb3B0aW9uYWwKK05PLUVSUk9SIGlzIG5vbi1uaWwsIGluIHdoaWNoIGNhc2Ug bmlsIGlzIHJldHVybmVkLiIKICAgOzsgSWYgdGhlIGxpYnJhcnkgaXMgYnl0ZS1jb21waWxlZCwg dHJ5IHRvIGZpbmQgYSBzb3VyY2UgbGlicmFyeSBieQogICA7OyB0aGUgc2FtZSBuYW1lLgogICAo aWYgKHN0cmluZy1tYXRjaCAiXFwuZWxcXChjXFwoXFwuLipcXCk/XFwpXFwnIiBsaWJyYXJ5KQpA QCAtMjAxLDcgKzIwMyw4IEBACiAgICAgICAgICAgKGxvY2F0ZS1maWxlIHJlbAogICAgICAgICAg ICAgICAgICAgICAgICAob3IgZmluZC1mdW5jdGlvbi1zb3VyY2UtcGF0aCBsb2FkLXBhdGgpCiAg ICAgICAgICAgICAgICAgICAgICAgIGxvYWQtZmlsZS1yZXAtc3VmZml4ZXMpKSkpKQotICAgKGVy cm9yICJDYW4ndCBmaW5kIGxpYnJhcnkgJXMiIGxpYnJhcnkpKSkKKyAgICh1bmxlc3Mgbm8tZXJy b3IKKyAgICAgKGVycm9yICJDYW4ndCBmaW5kIGxpYnJhcnkgJXMiIGxpYnJhcnkpKSkpCiAKIChk ZWZ2YXIgZmluZC1mdW5jdGlvbi1DLXNvdXJjZS1kaXJlY3RvcnkKICAgKGxldCAoKGRpciAoZXhw YW5kLWZpbGUtbmFtZSAic3JjIiBzb3VyY2UtZGlyZWN0b3J5KSkpCkBAIC0yMjQsOSArMjI3LDEx IEBACiAgICAgICAgICAgICAgICBvZnVuYykpKQogICAgICAgZnVuYykpCiAKLShkZWZ1biBmaW5k LWZ1bmN0aW9uLUMtc291cmNlIChmdW4tb3ItdmFyIGZpbGUgdHlwZSkKKyhkZWZ1biBmaW5kLWZ1 bmN0aW9uLUMtc291cmNlIChmdW4tb3ItdmFyIGZpbGUgdHlwZSAmb3B0aW9uYWwgbm8tZXJyb3Ip CiAgICJGaW5kIHRoZSBzb3VyY2UgbG9jYXRpb24gd2hlcmUgRlVOLU9SLVZBUiBpcyBkZWZpbmVk IGluIEZJTEUuCi1UWVBFIHNob3VsZCBiZSBuaWwgdG8gZmluZCBhIGZ1bmN0aW9uLCBvciBgZGVm dmFyJyB0byBmaW5kIGEgdmFyaWFibGUuIgorVFlQRSBzaG91bGQgYmUgbmlsIHRvIGZpbmQgYSBm dW5jdGlvbiwgb3IgYGRlZnZhcicgdG8gZmluZCBhIHZhcmlhYmxlLgorU2lnbmFscyBhbiBlcnJv ciBpZiB0aGUgc291cmNlIGxvY2F0aW9uIGlzIG5vdCBmb3VuZCwgdW5sZXNzIG9wdGlvbmFsCitO Ty1FUlJPUiBpcyBub24tbmlsLCBpbiB3aGljaCBjYXNlIG5pbCBpcyByZXR1cm5lZC4iCiAgIChs ZXQgKChkaXIgKG9yIGZpbmQtZnVuY3Rpb24tQy1zb3VyY2UtZGlyZWN0b3J5CiAgICAgICAgICAg ICAgICAgIChyZWFkLWRpcmVjdG9yeS1uYW1lICJFbWFjcyBDIHNvdXJjZSBkaXI6ICIgbmlsIG5p bCB0KSkpKQogICAgIChzZXRxIGZpbGUgKGV4cGFuZC1maWxlLW5hbWUgZmlsZSBkaXIpKQpAQCAt MjQyLDcgKzI0Nyw3IEBACiAgICAgICAgKGZpbmQtZnVuY3Rpb24tYWR2aXNlZC1vcmlnaW5hbCBm dW4tb3ItdmFyKSkpKSkKICAgKHdpdGgtY3VycmVudC1idWZmZXIgKGZpbmQtZmlsZS1ub3NlbGVj dCBmaWxlKQogICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpCi0gICAgKHVubGVzcyAocmUtc2Vh cmNoLWZvcndhcmQKKyAgICAoY29uZCAoKHJlLXNlYXJjaC1mb3J3YXJkCiAgICAgIChpZiB0eXBl CiAgKGNvbmNhdCAiREVGVkFSW0EtWl9dKlsgXHRcbl0qKFsgXHRcbl0qXCIiCiAgKHJlZ2V4cC1x dW90ZSAoc3ltYm9sLW5hbWUgZnVuLW9yLXZhcikpCkBAIC0yNTEsOCArMjU2LDEwIEBACiAgICAg ICAgKHJlZ2V4cC1xdW90ZSAoc3Vici1uYW1lIChhZHZpY2UtLWNkKnIgZnVuLW9yLXZhcikpKQog ICAgICAgICJcIiIpKQogICAgICBuaWwgdCkKLSAgICAgIChlcnJvciAiQ2FuJ3QgZmluZCBzb3Vy Y2UgZm9yICVzIiBmdW4tb3ItdmFyKSkKLSAgICAoY29ucyAoY3VycmVudC1idWZmZXIpIChtYXRj aC1iZWdpbm5pbmcgMCkpKSkKKyAgIChjb25zIChjdXJyZW50LWJ1ZmZlcikgKG1hdGNoLWJlZ2lu bmluZyAwKSkpCisgIChuby1lcnJvciBuaWwpCisgICh0IChlcnJvciAiQ2FuJ3QgZmluZCBzb3Vy Y2UgZm9yICVzIiBmdW4tb3ItdmFyKSkpKSkKKwogCiA7OzsjIyNhdXRvbG9hZAogKGRlZnVuIGZp bmQtbGlicmFyeSAobGlicmFyeSkKQEAgLTI4Niw2MyArMjkzLDY2IEBACiAgICAgKGNvbmRpdGlv bi1jYXNlIG5pbCAoc3dpdGNoLXRvLWJ1ZmZlciBidWYpIChlcnJvciAocG9wLXRvLWJ1ZmZlciBi dWYpKSkpKQogCiA7OzsjIyNhdXRvbG9hZAotKGRlZnVuIGZpbmQtZnVuY3Rpb24tc2VhcmNoLWZv ci1zeW1ib2wgKHN5bWJvbCB0eXBlIGxpYnJhcnkpCi0gICJTZWFyY2ggZm9yIFNZTUJPTCdzIGRl ZmluaXRpb24gb2YgdHlwZSBUWVBFIGluIExJQlJBUlkuCi1WaXNpdCB0aGUgbGlicmFyeSBpbiBh IGJ1ZmZlciwgYW5kIHJldHVybiBhIGNvbnMgY2VsbCAoQlVGRkVSIC4gUE9TSVRJT04pLAotb3Ig anVzdCAoQlVGRkVSIC4gbmlsKSBpZiB0aGUgZGVmaW5pdGlvbiBjYW4ndCBiZSBmb3VuZCBpbiB0 aGUgZmlsZS4KKyhkZWZ1biBmaW5kLWZ1bmN0aW9uLXNlYXJjaC1mb3Itc3ltYm9sIChzeW1ib2wg dHlwZSBsaWJyYXJ5ICZvcHRpb25hbCBuby1lcnJvcikKKyAgIlNlYXJjaCBmb3IgU1lNQk9MJ3Mg ZGVmaW5pdGlvbiBvZiBUWVBFIGluIExJQlJBUlkuCitWaXNpdCB0aGUgbGlicmFyeSBpbiBhIGJ1 ZmZlciwgYW5kIHJldHVybiBhIChCVUZGRVIgLiBQT1NJVElPTikgcGFpciwKK29yIG5pbCBpZiB0 aGUgZGVmaW5pdGlvbiBjYW4ndCBiZSBmb3VuZCBpbiB0aGUgbGlicmFyeS4KKworSWYgdGhlIGRl ZmluaXRpb24gY2FuJ3QgYmUgZm91bmQgYW5kIG9wdGlvbmFsIE5PLUVSUk9SIGlzIG5vbi1uaWws CityZXR1cm4gbmlsOyBvdGhlcndpc2UsIHNpZ25hbCBhbiBlcnJvci4KIAogSWYgVFlQRSBpcyBu aWwsIGxvb2sgZm9yIGEgZnVuY3Rpb24gZGVmaW5pdGlvbi4KIE90aGVyd2lzZSwgVFlQRSBzcGVj aWZpZXMgdGhlIGtpbmQgb2YgZGVmaW5pdGlvbiwKIGFuZCBpdCBpcyBpbnRlcnByZXRlZCB2aWEg YGZpbmQtZnVuY3Rpb24tcmVnZXhwLWFsaXN0Jy4KIFRoZSBzZWFyY2ggaXMgZG9uZSBpbiB0aGUg c291cmNlIGZvciBsaWJyYXJ5IExJQlJBUlkuIgogICAoaWYgKG51bGwgbGlicmFyeSkKLSAgICAg IChlcnJvciAiRG9uJ3Qga25vdyB3aGVyZSBgJXMnIGlzIGRlZmluZWQiIHN5bWJvbCkpCi0gIDs7 IFNvbWUgZnVuY3Rpb25zIGFyZSBkZWZpbmVkIGFzIHBhcnQgb2YgdGhlIGNvbnN0cnVjdAotICA7 OyB0aGF0IGRlZmluZXMgc29tZXRoaW5nIGVsc2UuCi0gICh3aGlsZSAoYW5kIChzeW1ib2xwIHN5 bWJvbCkgKGdldCBzeW1ib2wgJ2RlZmluaXRpb24tbmFtZSkpCi0gICAgKHNldHEgc3ltYm9sIChn ZXQgc3ltYm9sICdkZWZpbml0aW9uLW5hbWUpKSkKLSAgKGlmIChzdHJpbmctbWF0Y2ggIlxcYHNy Yy9cXCguKlxcLlxcKGNcXHxtXFwpXFwpXFwnIiBsaWJyYXJ5KQotICAgICAgKGZpbmQtZnVuY3Rp b24tQy1zb3VyY2Ugc3ltYm9sIChtYXRjaC1zdHJpbmcgMSBsaWJyYXJ5KSB0eXBlKQotICAgICh3 aGVuIChzdHJpbmctbWF0Y2ggIlxcLmVsXFwoY1xcKVxcJyIgbGlicmFyeSkKLSAgICAgIChzZXRx IGxpYnJhcnkgKHN1YnN0cmluZyBsaWJyYXJ5IDAgKG1hdGNoLWJlZ2lubmluZyAxKSkpKQotICAg IDs7IFN0cmlwIGV4dGVuc2lvbiBmcm9tIC5lbWFjcy5lbCB0byBtYWtlIHN1cmUgc3ltYm9sIGlz IHNlYXJjaGVkIGluCi0gICAgOzsgLmVtYWNzIHRvby4KLSAgICAod2hlbiAoc3RyaW5nLW1hdGNo ICJcXC5lbWFjc1xcKC5lbFxcKSIgbGlicmFyeSkKLSAgICAgIChzZXRxIGxpYnJhcnkgKHN1YnN0 cmluZyBsaWJyYXJ5IDAgKG1hdGNoLWJlZ2lubmluZyAxKSkpKQotICAgIChsZXQqICgoZmlsZW5h bWUgKGZpbmQtbGlicmFyeS1uYW1lIGxpYnJhcnkpKQotICAgKHJlZ2V4cC1zeW1ib2wgKGNkciAo YXNzcSB0eXBlIGZpbmQtZnVuY3Rpb24tcmVnZXhwLWFsaXN0KSkpKQotICAgICAgKHdpdGgtY3Vy cmVudC1idWZmZXIgKGZpbmQtZmlsZS1ub3NlbGVjdCBmaWxlbmFtZSkKLSAobGV0ICgocmVnZXhw IChpZiAoZnVuY3Rpb25wIHJlZ2V4cC1zeW1ib2wpIHJlZ2V4cC1zeW1ib2wKLSAgICAgICAgICAg ICAgICAgICAgICAgIChmb3JtYXQgKHN5bWJvbC12YWx1ZSByZWdleHAtc3ltYm9sKQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBFbnRyeSBmb3IgYCAoYmFja3F1b3RlKSBtYWNy byBpbiBsb2FkZGVmcy5lbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgKGRl ZmFsaWFzIChxdW90ZSBcYCkuLi4sIGhhcyBhIFwgYnV0Ci0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDs7IChzeW1ib2wtbmFtZSBzeW1ib2wpIGRvZXNuJ3QuICBBZGQgYW4KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgb3B0aW9uYWwgXCB0byBjYXRjaCB0aGlzLgot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uY2F0ICJcXFxcPyIKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVnZXhwLXF1b3RlIChzeW1ib2wtbmFt ZSBzeW1ib2wpKSkpKSkKLSAgICAgIChjYXNlLWZvbGQtc2VhcmNoKSkKLSAgKHdpdGgtc3ludGF4 LXRhYmxlIGVtYWNzLWxpc3AtbW9kZS1zeW50YXgtdGFibGUKLSAgICAoZ290by1jaGFyIChwb2lu dC1taW4pKQotICAgIChpZiAoaWYgKGZ1bmN0aW9ucCByZWdleHApCi0gICAgICAgICAgICAgICAg ICAgIChmdW5jYWxsIHJlZ2V4cCBzeW1ib2wpCi0gICAgICAgICAgICAgICAgICAob3IgKHJlLXNl YXJjaC1mb3J3YXJkIHJlZ2V4cCBuaWwgdCkKLSAgICAgICAgICAgICAgICAgICAgICA7OyBgcmVn ZXhwJyBtYXRjaGVzIGRlZmluaXRpb25zIHVzaW5nIGtub3duIGZvcm1zIGxpa2UKLSAgICAgICAg ICAgICAgICAgICAgICA7OyBgZGVmdW4nLCBvciBgZGVmdmFyJy4gIEJ1dCBzb21lIGZ1bmN0aW9u cy92YXJpYWJsZXMKLSAgICAgICAgICAgICAgICAgICAgICA7OyBhcmUgZGVmaW5lZCB1c2luZyBz cGVjaWFsIG1hY3JvcyAob3IgZnVuY3Rpb25zKSwgc28KLSAgICAgICAgICAgICAgICAgICAgICA7 OyBpZiBgcmVnZXhwJyBjYW4ndCBmaW5kIHRoZSBkZWZpbml0aW9uLCB3ZSBsb29rIGZvcgotICAg ICAgICAgICAgICAgICAgICAgIDs7IHNvbWV0aGluZyBvZiB0aGUgZm9ybSAiKFNPTUVUSElORyA8 c3ltYm9sPiAuLi4pIi4KLSAgICAgICAgICAgICAgICAgICAgICA7OyBUaGlzIGZhaWxzIHRvIGRp c3Rpbmd1aXNoIGZ1bmN0aW9uIGRlZmluaXRpb25zIGZyb20KLSAgICAgICAgICAgICAgICAgICAg ICA7OyB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgKG9yIGV2ZW4gdXNlcyB0aGVyZW9mKSwgYnV0IGlz Ci0gICAgICAgICAgICAgICAgICAgICAgOzsgYSBnb29kIHByYWdtYXRpYyBmYWxsYmFjay4KLSAg ICAgICAgICAgICAgICAgICAgICAocmUtc2VhcmNoLWZvcndhcmQKLSAgICAgICAgICAgICAgICAg ICAgICAgKGNvbmNhdCAiXihbXiBdKyIgZmluZC1mdW5jdGlvbi1zcGFjZS1yZSAiWycoXT8iCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlZ2V4cC1xdW90ZSAoc3ltYm9sLW5hbWUg c3ltYm9sKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXFxfPiIpCi0gICAgICAg ICAgICAgICAgICAgICAgIG5pbCB0KSkpCi0gKHByb2duCi0gIChiZWdpbm5pbmctb2YtbGluZSkK LSAgKGNvbnMgKGN1cnJlbnQtYnVmZmVyKSAocG9pbnQpKSkKLSAgICAgIChjb25zIChjdXJyZW50 LWJ1ZmZlcikgbmlsKSkpKSkpKSkKKyAgICAgICh1bmxlc3Mgbm8tZXJyb3IKKyAoZXJyb3IgIkRv bid0IGtub3cgd2hlcmUgYCVzJyBpcyBkZWZpbmVkIiBzeW1ib2wpKQorICAgIDs7IFNvbWUgZnVu Y3Rpb25zIGFyZSBkZWZpbmVkIGFzIHBhcnQgb2YgdGhlIGNvbnN0cnVjdAorICAgIDs7IHRoYXQg ZGVmaW5lcyBzb21ldGhpbmcgZWxzZS4KKyAgICAod2hpbGUgKGFuZCAoc3ltYm9scCBzeW1ib2wp IChnZXQgc3ltYm9sICdkZWZpbml0aW9uLW5hbWUpKQorICAgICAgKHNldHEgc3ltYm9sIChnZXQg c3ltYm9sICdkZWZpbml0aW9uLW5hbWUpKSkKKyAgICAoaWYgKHN0cmluZy1tYXRjaCAiXFxgc3Jj L1xcKC4qXFwuXFwoY1xcfG1cXClcXClcXCciIGxpYnJhcnkpCisgKGZpbmQtZnVuY3Rpb24tQy1z b3VyY2Ugc3ltYm9sIChtYXRjaC1zdHJpbmcgMSBsaWJyYXJ5KSB0eXBlKQorICAgICAgKHdoZW4g KHN0cmluZy1tYXRjaCAiXFwuZWxcXChjXFwpXFwnIiBsaWJyYXJ5KQorIChzZXRxIGxpYnJhcnkg KHN1YnN0cmluZyBsaWJyYXJ5IDAgKG1hdGNoLWJlZ2lubmluZyAxKSkpKQorICAgICAgOzsgU3Ry aXAgZXh0ZW5zaW9uIGZyb20gLmVtYWNzLmVsIHRvIG1ha2Ugc3VyZSBzeW1ib2wgaXMgc2VhcmNo ZWQgaW4KKyAgICAgIDs7IC5lbWFjcyB0b28uCisgICAgICAod2hlbiAoc3RyaW5nLW1hdGNoICJc XC5lbWFjc1xcKC5lbFxcKSIgbGlicmFyeSkKKyAoc2V0cSBsaWJyYXJ5IChzdWJzdHJpbmcgbGli cmFyeSAwIChtYXRjaC1iZWdpbm5pbmcgMSkpKSkKKyAgICAgIChsZXQqICgoZmlsZW5hbWUgKGZp bmQtbGlicmFyeS1uYW1lIGxpYnJhcnkpKQorICAgICAocmVnZXhwLXN5bWJvbCAoY2RyIChhc3Nx IHR5cGUgZmluZC1mdW5jdGlvbi1yZWdleHAtYWxpc3QpKSkpCisgKHdpdGgtY3VycmVudC1idWZm ZXIgKGZpbmQtZmlsZS1ub3NlbGVjdCBmaWxlbmFtZSkKKyAgKGxldCAoKHJlZ2V4cCAoaWYgKGZ1 bmN0aW9ucCByZWdleHAtc3ltYm9sKSByZWdleHAtc3ltYm9sCisgIChmb3JtYXQgKHN5bWJvbC12 YWx1ZSByZWdleHAtc3ltYm9sKQorICA7OyBFbnRyeSBmb3IgYCAoYmFja3F1b3RlKSBtYWNybyBp biBsb2FkZGVmcy5lbCwKKyAgOzsgKGRlZmFsaWFzIChxdW90ZSBcYCkuLi4sIGhhcyBhIFwgYnV0 CisgIDs7IChzeW1ib2wtbmFtZSBzeW1ib2wpIGRvZXNuJ3QuICBBZGQgYW4KKyAgOzsgb3B0aW9u YWwgXCB0byBjYXRjaCB0aGlzLgorICAoY29uY2F0ICJcXFxcPyIKKyAgKHJlZ2V4cC1xdW90ZSAo c3ltYm9sLW5hbWUgc3ltYm9sKSkpKSkpCisgKGNhc2UtZm9sZC1zZWFyY2gpKQorICAgICh3aXRo LXN5bnRheC10YWJsZSBlbWFjcy1saXNwLW1vZGUtc3ludGF4LXRhYmxlCisgICAgICAoZ290by1j aGFyIChwb2ludC1taW4pKQorICAgICAgKGlmIChpZiAoZnVuY3Rpb25wIHJlZ2V4cCkKKyAgICAg IChmdW5jYWxsIHJlZ2V4cCBzeW1ib2wpCisgICAgKG9yIChyZS1zZWFyY2gtZm9yd2FyZCByZWdl eHAgbmlsIHQpCisgOzsgYHJlZ2V4cCcgbWF0Y2hlcyBkZWZpbml0aW9ucyB1c2luZyBrbm93biBm b3JtcyBsaWtlCisgOzsgYGRlZnVuJywgb3IgYGRlZnZhcicuICBCdXQgc29tZSBmdW5jdGlvbnMv dmFyaWFibGVzCisgOzsgYXJlIGRlZmluZWQgdXNpbmcgc3BlY2lhbCBtYWNyb3MgKG9yIGZ1bmN0 aW9ucyksIHNvCisgOzsgaWYgYHJlZ2V4cCcgY2FuJ3QgZmluZCB0aGUgZGVmaW5pdGlvbiwgd2Ug bG9vayBmb3IKKyA7OyBzb21ldGhpbmcgb2YgdGhlIGZvcm0gIihTT01FVEhJTkcgPHN5bWJvbD4g Li4uKSIuCisgOzsgVGhpcyBmYWlscyB0byBkaXN0aW5ndWlzaCBmdW5jdGlvbiBkZWZpbml0aW9u cyBmcm9tCisgOzsgdmFyaWFibGUgZGVjbGFyYXRpb25zIChvciBldmVuIHVzZXMgdGhlcmVvZiks IGJ1dCBpcworIDs7IGEgZ29vZCBwcmFnbWF0aWMgZmFsbGJhY2suCisgKHJlLXNlYXJjaC1mb3J3 YXJkCisgKGNvbmNhdCAiXihbXiBdKyIgZmluZC1mdW5jdGlvbi1zcGFjZS1yZSAiWycoXT8iCisg KHJlZ2V4cC1xdW90ZSAoc3ltYm9sLW5hbWUgc3ltYm9sKSkKKyAiXFxfPiIpCisgbmlsIHQpKSkK KyAgKHByb2duCisgICAgKGJlZ2lubmluZy1vZi1saW5lKQorICAgIChjb25zIChjdXJyZW50LWJ1 ZmZlcikgKHBvaW50KSkpKSkpKSkpKSkKIAogKGRlZnVuIGZpbmQtZnVuY3Rpb24tbGlicmFyeSAo ZnVuY3Rpb24gJm9wdGlvbmFsIGxpc3Atb25seSB2ZXJib3NlKQogICAiUmV0dXJuIHRoZSBwYWly IChPUklHLUZVTkNUSU9OIC4gTElCUkFSWSkgZm9yIEZVTkNUSU9OLgpAQCAtMzYyLDkgKzM3Miw5 IEBACiAgICAgICAgIGFsaWFzZXMpCiAgICAgOzsgRklYTUUgZm9yIGNvbXBsZXRlbmVzcywgaXQg bWlnaHQgYmUgbmljZSB0byBwcmludCBzb21ldGhpbmcgbGlrZToKICAgICA7OyBmb28gKHdoaWNo IGlzIGFkdmlzZWQpLCB3aGljaCBpcyBhbiBhbGlhcyBmb3IgYmFyICh3aGljaCBpcyBhZHZpc2Vk KS4KLSAgICAod2hpbGUgKGFuZCBkZWYgKHN5bWJvbHAgZGVmKSkKLSAgICAgIChvciAoZXEgZGVm IGZ1bmN0aW9uKQotICAgICAgICAgIChub3QgdmVyYm9zZSkKKyAgICA7OyA1LzI2LzIwMTYgLSBm aXhlZCB0byBub3QgbG9vcCBmb3JldmVyIHdoZW4gKGVxIGRlZiBmdW5jdGlvbikKKyAgICAod2hp bGUgKGFuZCBkZWYgKHN5bWJvbHAgZGVmKSAobm90IChlcSBkZWYgZnVuY3Rpb24pKSkKKyAgICAg IChvciAobm90IHZlcmJvc2UpCiAgICAgICAgICAgKHNldHEgYWxpYXNlcyAoaWYgYWxpYXNlcwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25jYXQgYWxpYXNlcwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKGZvcm1hdC1tZXNzYWdlCkBAIC0zODYsMjUgKzM5Niwy NiBAQAogICAgICAgICAgICAoKHN5bWJvbC1maWxlIGZ1bmN0aW9uICdkZWZ1bikpKSkpKQogCiA7 OzsjIyNhdXRvbG9hZAotKGRlZnVuIGZpbmQtZnVuY3Rpb24tbm9zZWxlY3QgKGZ1bmN0aW9uICZv cHRpb25hbCBsaXNwLW9ubHkpCi0gICJSZXR1cm4gYSBwYWlyIChCVUZGRVIgLiBQT0lOVCkgcG9p bnRpbmcgdG8gdGhlIGRlZmluaXRpb24gb2YgRlVOQ1RJT04uCisoZGVmdW4gZmluZC1mdW5jdGlv bi1ub3NlbGVjdCAoZnVuY3Rpb24gJm9wdGlvbmFsIGxpc3Atb25seSBuby1lcnJvcikKKyAgIlJl dHVybiBhIChCVUZGRVIgLiBQT0lOVCkgcGFpciBwb2ludGluZyB0byB0aGUgZGVmaW5pdGlvbiBv ZiBGVU5DVElPTiBvciBuaWwgaWYgbm90IGZvdW5kLgorU2lnbmFscyBhbiBlcnJvciBpZiBGVU5D VElPTiBpcyBudWxsLgogCiBGaW5kcyB0aGUgc291cmNlIGZpbGUgY29udGFpbmluZyB0aGUgZGVm aW5pdGlvbiBvZiBGVU5DVElPTgogaW4gYSBidWZmZXIgYW5kIHRoZSBwb2ludCBvZiB0aGUgZGVm aW5pdGlvbi4gIFRoZSBidWZmZXIgaXMKLW5vdCBzZWxlY3RlZC4gIElmIHRoZSBmdW5jdGlvbiBk ZWZpbml0aW9uIGNhbid0IGJlIGZvdW5kIGluCi10aGUgYnVmZmVyLCByZXR1cm5zIChCVUZGRVIp Lgorbm90IHNlbGVjdGVkLgogCi1JZiBGVU5DVElPTiBpcyBhIGJ1aWx0LWluIGZ1bmN0aW9uLCB0 aGlzIGZ1bmN0aW9uIG5vcm1hbGx5Ci1hdHRlbXB0cyB0byBmaW5kIGl0IGluIHRoZSBFbWFjcyBD IHNvdXJjZXM7IGhvd2V2ZXIsIGlmIExJU1AtT05MWQotaXMgbm9uLW5pbCwgc2lnbmFsIGFuIGVy cm9yIGluc3RlYWQuCitCdWlsdC1pbiBmdW5jdGlvbnMgYXJlIGZvdW5kIHdpdGhpbiBFbWFjcyBD IHNvdXJjZXMgdW5sZXNzCitvcHRpb25hbCBMSVNQLU9OTFkgaXMgbm9uLW5pbCwgaW4gd2hpY2gg Y2FzZSBhbiBlcnJvciBpcyBzaWduYWxlZAordW5sZXNzIG9wdGlvbmFsIE5PLUVSUk9SIGlzIG5v bi1uaWwuCiAKIElmIHRoZSBmaWxlIHdoZXJlIEZVTkNUSU9OIGlzIGRlZmluZWQgaXMgbm90IGtu b3duLCB0aGVuIGl0IGlzCiBzZWFyY2hlZCBmb3IgaW4gYGZpbmQtZnVuY3Rpb24tc291cmNlLXBh dGgnIGlmIG5vbi1uaWwsIG90aGVyd2lzZQogaW4gYGxvYWQtcGF0aCcuIgogICAoaWYgKG5vdCBm dW5jdGlvbikKLSAgICAoZXJyb3IgIllvdSBkaWRuJ3Qgc3BlY2lmeSBhIGZ1bmN0aW9uIikpCisg ICAgICAoZXJyb3IgIllvdSBkaWRuJ3Qgc3BlY2lmeSBhIGZ1bmN0aW9uIikpCiAgIChsZXQgKChm dW5jLWxpYiAoZmluZC1mdW5jdGlvbi1saWJyYXJ5IGZ1bmN0aW9uIGxpc3Atb25seSB0KSkpCi0g ICAgKGZpbmQtZnVuY3Rpb24tc2VhcmNoLWZvci1zeW1ib2wgKGNhciBmdW5jLWxpYikgbmlsIChj ZHIgZnVuYy1saWIpKSkpCisgICAgKGZpbmQtZnVuY3Rpb24tc2VhcmNoLWZvci1zeW1ib2wgKGNh ciBmdW5jLWxpYikgbmlsIChjZHIgZnVuYy1saWIpCisgICAgIG5vLWVycm9yKSkpCiAKIChkZWZ1 biBmaW5kLWZ1bmN0aW9uLXJlYWQgKCZvcHRpb25hbCB0eXBlKQogICAiUmVhZCBhbmQgcmV0dXJu IGFuIGludGVybmVkIHN5bWJvbCwgZGVmYXVsdGluZyB0byB0aGUgb25lIG5lYXIgcG9pbnQuCkBA IC00MzIsNyArNDQzLDkgQEAKICAgICAgICAgICAgICAgICAgICB0IG5pbCBuaWwgKGFuZCBzeW1i IChzeW1ib2wtbmFtZSBzeW1iKSkpKSkpKQogCiAoZGVmdW4gZmluZC1mdW5jdGlvbi1kby1pdCAo c3ltYm9sIHR5cGUgc3dpdGNoLWZuKQotICAiRmluZCBFbWFjcyBMaXNwIFNZTUJPTCBpbiBhIGJ1 ZmZlciBhbmQgZGlzcGxheSBpdC4KKyAgIkZpbmQgRW1hY3MgTGlzcCBTWU1CT0wgb2YgVFlQRSBp biBhIGJ1ZmZlciwgZGlzcGxheSBpdCB3aXRoIFNXSVRDSC1GTiBhbmQgcmV0dXJuIHQsIGVsc2Ug bmlsIGlmIG5vdCBmb3VuZC4KK1JldHVybiB0IGlmIFNZTUJPTCBpcyBmb3VuZCwgZWxzZSBuaWwu CisKIFRZUEUgaXMgbmlsIHRvIHNlYXJjaCBmb3IgYSBmdW5jdGlvbiBkZWZpbml0aW9uLAogb3Ig ZWxzZSBgZGVmdmFyJyBvciBgZGVmZmFjZScuCiAKQEAgLTQ1NCwxMSArNDY3LDEzIEBACiAgICAg ICAoZnVuY2FsbCBzd2l0Y2gtZm4gbmV3LWJ1ZikKICAgICAgICh3aGVuIG5ldy1wb2ludCAoZ290 by1jaGFyIG5ldy1wb2ludCkpCiAgICAgICAocmVjZW50ZXIgZmluZC1mdW5jdGlvbi1yZWNlbnRl ci1saW5lKQotICAgICAgKHJ1bi1ob29rcyAnZmluZC1mdW5jdGlvbi1hZnRlci1ob29rKSkpKQor ICAgICAgKHJ1bi1ob29rcyAnZmluZC1mdW5jdGlvbi1hZnRlci1ob29rKQorICAgICAgdCkpKQog CiA7OzsjIyNhdXRvbG9hZAogKGRlZnVuIGZpbmQtZnVuY3Rpb24gKGZ1bmN0aW9uKQogICAiRmlu ZCB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgRlVOQ1RJT04gbmVhciBwb2ludC4KK1JldHVybiB0IGlm IEZVTkNUSU9OIGlzIGZvdW5kLCBlbHNlIG5pbC4KIAogRmluZHMgdGhlIHNvdXJjZSBmaWxlIGNv bnRhaW5pbmcgdGhlIGRlZmluaXRpb24gb2YgdGhlIGZ1bmN0aW9uCiBuZWFyIHBvaW50IChzZWxl Y3RlZCBieSBgZnVuY3Rpb24tY2FsbGVkLWF0LXBvaW50JykgaW4gYSBidWZmZXIgYW5kCkBAIC00 NzQsNiArNDg5LDcgQEAKIDs7OyMjI2F1dG9sb2FkCiAoZGVmdW4gZmluZC1mdW5jdGlvbi1vdGhl ci13aW5kb3cgKGZ1bmN0aW9uKQogICAiRmluZCwgaW4gYW5vdGhlciB3aW5kb3csIHRoZSBkZWZp bml0aW9uIG9mIEZVTkNUSU9OIG5lYXIgcG9pbnQuCitSZXR1cm4gdCBpZiBGVU5DVElPTiBpcyBm b3VuZCwgZWxzZSBuaWwuCiAKIFNlZSBgZmluZC1mdW5jdGlvbicgZm9yIG1vcmUgZGV0YWlscy4i CiAgIChpbnRlcmFjdGl2ZSAoZmluZC1mdW5jdGlvbi1yZWFkKSkKQEAgLTQ4MiwxOCArNDk4LDIx IEBACiA7OzsjIyNhdXRvbG9hZAogKGRlZnVuIGZpbmQtZnVuY3Rpb24tb3RoZXItZnJhbWUgKGZ1 bmN0aW9uKQogICAiRmluZCwgaW4gYW5vdGhlciBmcmFtZSwgdGhlIGRlZmluaXRpb24gb2YgRlVO Q1RJT04gbmVhciBwb2ludC4KK1JldHVybiB0IGlmIEZVTkNUSU9OIGlzIGZvdW5kLCBlbHNlIG5p bC4KIAogU2VlIGBmaW5kLWZ1bmN0aW9uJyBmb3IgbW9yZSBkZXRhaWxzLiIKICAgKGludGVyYWN0 aXZlIChmaW5kLWZ1bmN0aW9uLXJlYWQpKQogICAoZmluZC1mdW5jdGlvbi1kby1pdCBmdW5jdGlv biBuaWwgJ3N3aXRjaC10by1idWZmZXItb3RoZXItZnJhbWUpKQogCiA7OzsjIyNhdXRvbG9hZAot KGRlZnVuIGZpbmQtdmFyaWFibGUtbm9zZWxlY3QgKHZhcmlhYmxlICZvcHRpb25hbCBmaWxlKQot ICAiUmV0dXJuIGEgcGFpciBgKEJVRkZFUiAuIFBPSU5UKScgcG9pbnRpbmcgdG8gdGhlIGRlZmlu aXRpb24gb2YgVkFSSUFCTEUuCisoZGVmdW4gZmluZC12YXJpYWJsZS1ub3NlbGVjdCAodmFyaWFi bGUgJm9wdGlvbmFsIGZpbGUgbm8tZXJyb3IpCisgICJSZXR1cm4gYSAoQlVGRkVSIC4gUE9JTlQp IHBhaXIgcG9pbnRpbmcgdG8gdGhlIGRlZmluaXRpb24gb2YgVkFSSUFCTEUgb3IgbmlsIGlmIG5v dCBmb3VuZC4KIAogRmluZHMgdGhlIGxpYnJhcnkgY29udGFpbmluZyB0aGUgZGVmaW5pdGlvbiBv ZiBWQVJJQUJMRSBpbiBhIGJ1ZmZlciBhbmQKIHRoZSBwb2ludCBvZiB0aGUgZGVmaW5pdGlvbi4g IFRoZSBidWZmZXIgaXMgbm90IHNlbGVjdGVkLgotSWYgdGhlIHZhcmlhYmxlJ3MgZGVmaW5pdGlv biBjYW4ndCBiZSBmb3VuZCBpbiB0aGUgYnVmZmVyLCByZXR1cm4gKEJVRkZFUikuCisKK0lmIHRo ZSBkZWZpbml0aW9uIGNhbid0IGJlIGZvdW5kIGFuZCBvcHRpb25hbCBOTy1FUlJPUiBpcyBub24t bmlsLAorcmV0dXJuIG5pbDsgb3RoZXJ3aXNlLCBzaWduYWwgYW4gZXJyb3IuCiAKIFRoZSBsaWJy YXJ5IHdoZXJlIFZBUklBQkxFIGlzIGRlZmluZWQgaXMgc2VhcmNoZWQgZm9yIGluIEZJTEUgb3IK IGBmaW5kLWZ1bmN0aW9uLXNvdXJjZS1wYXRoJywgaWYgbm9uLW5pbCwgb3RoZXJ3aXNlIGluIGBs b2FkLXBhdGgnLiIKQEAgLTUwMiwxMSArNTIxLDEyIEBACiAgICAgKGxldCAoKGxpYnJhcnkgKG9y IGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgKHN5bWJvbC1maWxlIHZhcmlhYmxlICdkZWZ2 YXIpCiAgICAgICAgICAgICAgICAgICAgICAgIChoZWxwLUMtZmlsZS1uYW1lIHZhcmlhYmxlICd2 YXIpKSkpCi0gICAgICAoZmluZC1mdW5jdGlvbi1zZWFyY2gtZm9yLXN5bWJvbCB2YXJpYWJsZSAn ZGVmdmFyIGxpYnJhcnkpKSkpCisgICAgICAoZmluZC1mdW5jdGlvbi1zZWFyY2gtZm9yLXN5bWJv bCB2YXJpYWJsZSAnZGVmdmFyIGxpYnJhcnkgbm8tZXJyb3IpKSkpCiAKIDs7OyMjI2F1dG9sb2Fk CiAoZGVmdW4gZmluZC12YXJpYWJsZSAodmFyaWFibGUpCiAgICJGaW5kIHRoZSBkZWZpbml0aW9u IG9mIHRoZSBWQVJJQUJMRSBhdCBvciBiZWZvcmUgcG9pbnQuCitSZXR1cm4gdCBpZiBWQVJJQUJM RSBpcyBmb3VuZCwgZWxzZSBuaWwuCiAKIEZpbmRzIHRoZSBsaWJyYXJ5IGNvbnRhaW5pbmcgdGhl IGRlZmluaXRpb24gb2YgdGhlIHZhcmlhYmxlCiBuZWFyIHBvaW50IChzZWxlY3RlZCBieSBgdmFy aWFibGUtYXQtcG9pbnQnKSBpbiBhIGJ1ZmZlciBhbmQKQEAgLTUyMyw2ICs1NDMsNyBAQAogOzs7 IyMjYXV0b2xvYWQKIChkZWZ1biBmaW5kLXZhcmlhYmxlLW90aGVyLXdpbmRvdyAodmFyaWFibGUp CiAgICJGaW5kLCBpbiBhbm90aGVyIHdpbmRvdywgdGhlIGRlZmluaXRpb24gb2YgVkFSSUFCTEUg bmVhciBwb2ludC4KK1JldHVybiB0IGlmIFZBUklBQkxFIGlzIGZvdW5kLCBlbHNlIG5pbC4KIAog U2VlIGBmaW5kLXZhcmlhYmxlJyBmb3IgbW9yZSBkZXRhaWxzLiIKICAgKGludGVyYWN0aXZlIChm aW5kLWZ1bmN0aW9uLXJlYWQgJ2RlZnZhcikpCkBAIC01MzEsNDcgKzU1Miw1NiBAQAogOzs7IyMj YXV0b2xvYWQKIChkZWZ1biBmaW5kLXZhcmlhYmxlLW90aGVyLWZyYW1lICh2YXJpYWJsZSkKICAg IkZpbmQsIGluIGFub3RoZXIgZnJhbWUsIHRoZSBkZWZpbml0aW9uIG9mIFZBUklBQkxFIG5lYXIg cG9pbnQuCitSZXR1cm4gdCBpZiBWQVJJQUJMRSBpcyBmb3VuZCwgZWxzZSBuaWwuCiAKIFNlZSBg ZmluZC12YXJpYWJsZScgZm9yIG1vcmUgZGV0YWlscy4iCiAgIChpbnRlcmFjdGl2ZSAoZmluZC1m dW5jdGlvbi1yZWFkICdkZWZ2YXIpKQogICAoZmluZC1mdW5jdGlvbi1kby1pdCB2YXJpYWJsZSAn ZGVmdmFyICdzd2l0Y2gtdG8tYnVmZmVyLW90aGVyLWZyYW1lKSkKIAogOzs7IyMjYXV0b2xvYWQK LShkZWZ1biBmaW5kLWRlZmluaXRpb24tbm9zZWxlY3QgKHN5bWJvbCB0eXBlICZvcHRpb25hbCBm aWxlKQotICAiUmV0dXJuIGEgcGFpciBgKEJVRkZFUiAuIFBPSU5UKScgcG9pbnRpbmcgdG8gdGhl IGRlZmluaXRpb24gb2YgU1lNQk9MLgotSWYgdGhlIGRlZmluaXRpb24gY2FuJ3QgYmUgZm91bmQg aW4gdGhlIGJ1ZmZlciwgcmV0dXJuIChCVUZGRVIpLgorKGRlZnVuIGZpbmQtZGVmaW5pdGlvbi1u b3NlbGVjdCAoc3ltYm9sIHR5cGUgJm9wdGlvbmFsIGZpbGUgbm8tZXJyb3IpCisgICJSZXR1cm4g YSAoQlVGRkVSIC4gUE9JTlQpIHBhaXIgcG9pbnRpbmcgdG8gdGhlIGRlZmluaXRpb24gb2YgU1lN Qk9MIG9yIG5pbCBpZiBub3QgZm91bmQuCitUaGUgYnVmZmVyIGlzIG5vdCBzZWxlY3RlZC4gIFNZ TUJPTCBtYXkgYmUgYSBzeW1ib2wgb3IgYSBzdHJpbmcuCitJZiB0aGUgZGVmaW5pdGlvbiBjYW4n dCBiZSBmb3VuZCBhbmQgb3B0aW9uYWwgTk8tRVJST1IgaXMgbm9uLW5pbCwKK3JldHVybiBuaWw7 IG90aGVyd2lzZSwgc2lnbmFsIGFuIGVycm9yLgorCiBUWVBFIHNheXMgd2hhdCB0eXBlIG9mIGRl ZmluaXRpb246IG5pbCBmb3IgYSBmdW5jdGlvbiwgYGRlZnZhcicgZm9yIGEKIHZhcmlhYmxlLCBg ZGVmZmFjZScgZm9yIGEgZmFjZS4gIFRoaXMgZnVuY3Rpb24gZG9lcyBub3Qgc3dpdGNoIHRvIHRo ZQogYnVmZmVyIG5vciBkaXNwbGF5IGl0LgogCi1UaGUgbGlicmFyeSB3aGVyZSBTWU1CT0wgaXMg ZGVmaW5lZCBpcyBzZWFyY2hlZCBmb3IgaW4gRklMRSBvcgorVGhlIGxpYnJhcnkgd2hlcmUgU1lN Qk9MIGlzIGRlZmluZWQgaXMgc2VhcmNoZWQgZm9yIGluIG9wdGlvbmFsIEZJTEUgb3IKIGBmaW5k LWZ1bmN0aW9uLXNvdXJjZS1wYXRoJywgaWYgbm9uLW5pbCwgb3RoZXJ3aXNlIGluIGBsb2FkLXBh dGgnLiIKICAgKGNvbmQKKyAgICgoYW5kIChzdHJpbmdwIHN5bWJvbCkKKyAoc2V0cSBzeW1ib2wg KGludGVybi1zb2Z0IHN5bWJvbCkpCisgOzsgRmFsbCB0aHJvdWdoIHRvIG5leHQgdHlwZQorIG5p bCkpCiAgICAoKG5vdCBzeW1ib2wpCiAgICAgKGVycm9yICJZb3UgZGlkbid0IHNwZWNpZnkgYSBz eW1ib2wiKSkKICAgICgobnVsbCB0eXBlKQotICAgIChmaW5kLWZ1bmN0aW9uLW5vc2VsZWN0IHN5 bWJvbCkpCisgICAgKGZpbmQtZnVuY3Rpb24tbm9zZWxlY3Qgc3ltYm9sIG5pbCBuby1lcnJvcikp CiAgICAoKGVxIHR5cGUgJ2RlZnZhcikKLSAgICAoZmluZC12YXJpYWJsZS1ub3NlbGVjdCBzeW1i b2wgZmlsZSkpCisgICAgKGZpbmQtdmFyaWFibGUtbm9zZWxlY3Qgc3ltYm9sIGZpbGUgbm8tZXJy b3IpKQogICAgKHQKICAgICAobGV0ICgobGlicmFyeSAob3IgZmlsZSAoc3ltYm9sLWZpbGUgc3lt Ym9sIHR5cGUpKSkpCi0gICAgICAoZmluZC1mdW5jdGlvbi1zZWFyY2gtZm9yLXN5bWJvbCBzeW1i b2wgdHlwZSBsaWJyYXJ5KSkpKSkKKyAgICAgIChmaW5kLWZ1bmN0aW9uLXNlYXJjaC1mb3Itc3lt Ym9sIHN5bWJvbCB0eXBlIGxpYnJhcnkgbm8tZXJyb3IpKSkpKQogCiA7OyBGb3Igc3ltbWV0cnks IHRoaXMgc2hvdWxkIGJlIGNhbGxlZCBmaW5kLWZhY2U7IGJ1dCBzb21lIHByb2dyYW1zCiA7OyBh c3N1bWUgdGhhdCwgaWYgdGhhdCBuYW1lIGlzIGRlZmluZWQsIGl0IG1lYW5zIHNvbWV0aGluZyBl bHNlLgogOzs7IyMjYXV0b2xvYWQKIChkZWZ1biBmaW5kLWZhY2UtZGVmaW5pdGlvbiAoZmFjZSkK ICAgIkZpbmQgdGhlIGRlZmluaXRpb24gb2YgRkFDRS4gIEZBQ0UgZGVmYXVsdHMgdG8gdGhlIG5h bWUgbmVhciBwb2ludC4KK1JldHVybiB0IGlmIEZBQ0UgaXMgZm91bmQsIGVsc2UgbmlsLgogCi1G aW5kcyB0aGUgRW1hY3MgTGlzcCBsaWJyYXJ5IGNvbnRhaW5pbmcgdGhlIGRlZmluaXRpb24gb2Yg dGhlIGZhY2UKK0ZpbmQgdGhlIEVtYWNzIExpc3AgbGlicmFyeSBjb250YWluaW5nIHRoZSBkZWZp bml0aW9uIG9mIHRoZSBmYWNlCiBuZWFyIHBvaW50IChzZWxlY3RlZCBieSBgdmFyaWFibGUtYXQt cG9pbnQnKSBpbiBhIGJ1ZmZlciBhbmQKLXBsYWNlcyBwb2ludCBiZWZvcmUgdGhlIGRlZmluaXRp b24uCitwbGFjZSBwb2ludCBiZWZvcmUgdGhlIGRlZmluaXRpb24uCiAKIFNldCBtYXJrIGJlZm9y ZSBtb3ZpbmcsIGlmIHRoZSBidWZmZXIgYWxyZWFkeSBleGlzdGVkLgogCi1UaGUgbGlicmFyeSB3 aGVyZSBGQUNFIGlzIGRlZmluZWQgaXMgc2VhcmNoZWQgZm9yIGluCi1gZmluZC1mdW5jdGlvbi1z b3VyY2UtcGF0aCcsIGlmIG5vbi1uaWwsIG90aGVyd2lzZSBpbiBgbG9hZC1wYXRoJy4KLVNlZSBh bHNvIGBmaW5kLWZ1bmN0aW9uLXJlY2VudGVyLWxpbmUnIGFuZCBgZmluZC1mdW5jdGlvbi1hZnRl ci1ob29rJy4iCitUaGUgbGlicmFyeSBzZWFyY2hlZCBmb3IgRkFDRSBpcyBnaXZlbiBieSBgZmlu ZC1mdW5jdGlvbi1zb3VyY2UtcGF0aCcsCitpZiBub24tbmlsLCBvdGhlcndpc2UgYGxvYWQtcGF0 aCcuICBTZWUgYWxzbworYGZpbmQtZnVuY3Rpb24tcmVjZW50ZXItbGluZScgYW5kIGBmaW5kLWZ1 bmN0aW9uLWFmdGVyLWhvb2snLiIKICAgKGludGVyYWN0aXZlIChmaW5kLWZ1bmN0aW9uLXJlYWQg J2RlZmZhY2UpKQogICAoZmluZC1mdW5jdGlvbi1kby1pdCBmYWNlICdkZWZmYWNlICdzd2l0Y2gt dG8tYnVmZmVyKSkKCgo= --001a1148cce877ba25056095da19--