From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id 0Mp3Boe0mGN9SgEAbAwnHQ (envelope-from ) for ; Tue, 13 Dec 2022 18:21:11 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id KFyOBoe0mGOoggEA9RJhRA (envelope-from ) for ; Tue, 13 Dec 2022 18:21:11 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 9DCF515946 for ; Tue, 13 Dec 2022 18:21:10 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p58xL-0006Wo-EE; Tue, 13 Dec 2022 12:20:39 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p58xJ-0006Ru-B0 for emacs-orgmode@gnu.org; Tue, 13 Dec 2022 12:20:37 -0500 Received: from mail-ej1-x62e.google.com ([2a00:1450:4864:20::62e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1p58xG-00042E-TS; Tue, 13 Dec 2022 12:20:37 -0500 Received: by mail-ej1-x62e.google.com with SMTP id ud5so38210332ejc.4; Tue, 13 Dec 2022 09:20:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=+lrJVz+g9pOXScG+iegi/58/g58OrcFDterq/hfuj+4=; b=h0jpvLL0QYeT/jl7aIzuVTAgrmU72ymNt3ftfqmtA5PJxJtv7HjVEHPwzfZQ4BY9Zs j3Ng1Ff6ENklxWqQLhXGY5sviZlXrs0Rnrc+Eyxocn0ZV0KVBa5T7/2t+oQ+htm1wbTu kmKBxtcUARPH74p/rGL3RAM1NiuOJIEze8pwkwzXwxSJoKRjwYK5LRFPlDysBp6hU1QN oUMxlVTtmiMlAVsClcy3yHZ39NueWjvFBwFCaJkn3aUYe3fBGEKwFu3kQjFIZopvsU5I ZNGlPPsYj9+HySHZ3pfjjEJ13DUHGJyenmbf9noRKrKA7N9AnU41SdLsfgyeQ0VXYK+Y GJzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=+lrJVz+g9pOXScG+iegi/58/g58OrcFDterq/hfuj+4=; b=wH842SftLQVn+HZaKDmWXbod9O/h0x1AXNm5Xy9uCJsdi3xVAecl+7eL4HCNjLw7Tg WHedXzfGAl/R/cVTQGi5NnWI4UIODMc3uEPB/0gLflyIUdhGoy0cIlVrn4jXUzj87ffs +P0hN1x3mHzfiqyqIsb90A4AifXhnzkisXRcaGTD1LcYGK5HecAtGuTbV6x2Xv25HcIZ Si+kMMvtzfwWDG2pdH6ePmHIguYAuJ7v+8p+oUsYqIxjYFWJGNDL684b6yw0QVkCRvcd /Q30QYBnFDkbRlfWpoVprM4x29fJlwf9EcJRQy0ZqerhjeALHA3/futYHdNvMyhExv75 5o7Q== X-Gm-Message-State: ANoB5pn5BIPAojGU/NSrLY5lSEIdvQvBdHLnwOrRbV94bFdI1EEecAyS U5hnLrXQbKrvyS5lyIoRhV+3FgswpWqdGggMPTU= X-Google-Smtp-Source: AA0mqf6UDrfPBhIM1TabCUzvY56SXRCjRQf5pFZU7sUsNnuESIk/xenM4cdhILTHJxptf4updi+8o8K2QIce9uJSLCc= X-Received: by 2002:a17:906:3e5a:b0:7c1:19e1:50e6 with SMTP id t26-20020a1709063e5a00b007c119e150e6mr7780319eji.585.1670952017785; Tue, 13 Dec 2022 09:20:17 -0800 (PST) MIME-Version: 1.0 References: <87wn6vd3oe.fsf@localhost> In-Reply-To: From: "David O'Toole" Date: Tue, 13 Dec 2022 12:20:06 -0500 Message-ID: Subject: Re: For your consideration: Extending org-info-js with additional hooks To: Ihor Radchenko Cc: Bastien , emacs-orgmode@gnu.org Content-Type: multipart/mixed; boundary="0000000000007532af05efb8d532" Received-SPF: pass client-ip=2a00:1450:4864:20::62e; envelope-from=deeteeoh1138@gmail.com; helo=mail-ej1-x62e.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1670952070; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=j77298MC0qxPhDPFypxWst38ABOd2t42P95OmiK9l+Q=; b=BI+PeJB3GaqesX92iARyQyGUzxh7IVPnE3IEejMk2X4jenjoe4NSIeYvnJ4oP8X0uGQUDk sZGu22YmuNkXpvVVS9oxDwvspWvfMgFL4Vqes/lsjg0g51GOh0r0QE+PBvG0U/pQdxN2+G wcYblxOEqC6cOv9EXUq1miIJblYbCd9VkTf6Zr4NuOQ2maSfb+bKwdA3aqBAXz3fygqu1/ SJzRo1bCYsXKLVJzA5i9SNZZBvq7LJIi4eYkWM6klKQfLFgASLPTMDg4dhUK5edxIIao2w XxzwhBaYs5fAFIEXfUoTMlKJ5lfXqlu2SjrxIczChYpEo6b8DrnsH6ggfiyvug== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=gmail.com header.s=20210112 header.b=h0jpvLL0; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none) ARC-Seal: i=1; s=key1; d=yhetil.org; t=1670952070; a=rsa-sha256; cv=none; b=mR05FBCWIruorYzregED48UXfkaoIU7RZE5rASyJImzlSN9IbM2j7ELk6uNXqmK6b6OVI3 x9fWFh7Czjc55p5qBQlKjyT73l8xbz4LjfCyB5jqGOaPJon8nHbTkNVG2L/IfWHA9Beo1x nT1sKcNuD9f55mLSBR4WRsQMHwXklaXPjJZFw0K9g03iueNtR3I3v9qRVDmk3da2UlrjY1 UH2X3uIvIW12pzUKgt+EAYtgbYdI9WPHVED9MsHYGynfhz+sCgfCgncqmnwLCvq/VOMh3v DYWKVQ6Vx7lMG8XebzeIh0N/Wim3oPRhsFaFqN/puyxElaBK7FX+uECGlmC74Q== X-Migadu-Spam-Score: 4.23 X-Spam-Score: 4.23 X-Migadu-Queue-Id: 9DCF515946 X-Migadu-Scanner: scn1.migadu.com Authentication-Results: aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=gmail.com header.s=20210112 header.b=h0jpvLL0; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none) X-TUID: bWza5PHv5X8Y --0000000000007532af05efb8d532 Content-Type: multipart/alternative; boundary="0000000000007532ac05efb8d530" --0000000000007532ac05efb8d530 Content-Type: text/plain; charset="UTF-8" Here are my suggested changes to the manual and change log. On Tue, Dec 13, 2022 at 11:32 AM David O'Toole wrote: > Sure, I would be happy to help out with the news and manual. > I will draft some changes and get back to you. > > >> This addition does sound useful. >> However, in addition to changes in the code, it would be helpful to >> provide appropriate news entry and manual changes. >> > > On Tue, Dec 13, 2022 at 5:00 AM Ihor Radchenko > wrote: > >> "David O'Toole" writes: >> >> > After some discussion with Yantar on IRC, I humbly submit the attached >> diff >> > for your consideration. >> > >> > It adds new hooks to org-info-js to allow the following: 1. inserting >> > page-specific HTML into each OrgInfo header, and 2. calling a custom >> > JavaScript function to run after any page navigation button/link is >> > clicked. I have used these hooks to implement Org-fleuron, a custom >> config >> > with nice navigation buttons, a greeting balloon, and embedded >> theme/fonts. >> > You can find out more about org-fleuron here: >> > https://davidotoole.info/fleuron.html?#org5dc18bc and the page was made >> > with the setup. >> > >> > I also corrected some of the English messages displayed by org-info-js. >> >> This addition does sound useful. >> However, in addition to changes in the code, it would be helpful to >> provide appropriate news entry and manual changes. >> >> See >> https://git.sr.ht/~bzg/worg/tree/master/item/code/org-info-js/changes.org >> and >> https://git.sr.ht/~bzg/worg/tree/master/item/code/org-info-js/index.org >> >> Bastien, since the activity around org-info-js revived after a long >> delay, should we move the code out of worg into a separate repo? >> >> -- >> Ihor Radchenko // yantar92, >> Org mode contributor, >> Learn more about Org mode at . >> Support Org development at , >> or support my work at >> > --0000000000007532ac05efb8d530 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Here are my suggested changes to the manual and change log= .

On Tue, Dec 13, 2022 at 11:32 AM David O'Toole <deeteeoh1138@gmail.com> wrote:
<= blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-l= eft:1px solid rgb(204,204,204);padding-left:1ex">
Sure= , I would be happy to help out with the news and manual.
I will d= raft some changes and get back to you.
=C2=A0
This addition does sound useful.
However, in addition to changes in the code, it would be helpful to
provide appropriate news entry and manual changes.

On Tue, Dec 13, 2022 at 5:00 AM Ihor Radchenko <yantar92@posteo.net> w= rote:
"Davi= d O'Toole" <deeteeoh1138@gmail.com> writes:

> After some discussion with Yantar on IRC, I humbly submit the attached= diff
> for your consideration.
>
> It adds new hooks to org-info-js to allow the following: 1. inserting<= br> > page-specific HTML into each OrgInfo header, and 2. calling a custom > JavaScript function to run after any page navigation button/link is > clicked. I have used these hooks to implement Org-fleuron, a custom co= nfig
> with nice navigation buttons, a greeting balloon, and embedded theme/f= onts.
> You can find out more about org-fleuron here:
> https://davidotoole.info/fleuron.html?#org5dc1= 8bc and the page was made
> with the setup.
>
> I also corrected some of the English messages displayed by org-info-js= .

This addition does sound useful.
However, in addition to changes in the code, it would be helpful to
provide appropriate news entry and manual changes.

See
https://git.sr.ht/~bzg/worg= /tree/master/item/code/org-info-js/changes.org
and
https://git.sr.ht/~bzg/worg/t= ree/master/item/code/org-info-js/index.org

Bastien, since the activity around org-info-js revived after a long
delay, should we move the code out of worg into a separate repo?

--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,=
or support my work at <https://liberapay.com/yantar92>
--0000000000007532ac05efb8d530-- --0000000000007532af05efb8d532 Content-Type: text/x-patch; charset="US-ASCII"; name="changes.org.diff" Content-Disposition: attachment; filename="changes.org.diff" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lbmhnva40 ZGlmZiAtdSAvaG9tZS9kdG8vRG93bmxvYWRzL2NoYW5nZXMub3JnIC9ob21lL2R0by9vcmdpbmZv L2NoYW5nZXMub3JnCi0tLSAvaG9tZS9kdG8vRG93bmxvYWRzL2NoYW5nZXMub3JnCTIwMjItMTIt MTMgMTE6NDE6MjkuMDA1ODg5NTM1IC0wNTAwCisrKyAvaG9tZS9kdG8vb3JnaW5mby9jaGFuZ2Vz Lm9yZwkyMDIyLTEyLTEzIDExOjQ4OjIwLjgwNzM2MjI0NiAtMDUwMApAQCAtOCw3ICs4LDEzIEBA CiAjK0lORk9KU19PUFQ6IHVwOmh0dHBzOi8vb3JnbW9kZS5vcmcvd29yZy8KICMrSU5GT0pTX09Q VDogaG9tZTpodHRwczovL29yZ21vZGUub3JnIGJ1dHRvbnM6bmlsCiAKKyogMjAyMi0xMi0xMyBE YXZpZCBPJ1Rvb2xlCiAKKyAgKiBDcmVhdGUgYWRkaXRpb25hbCBob29rcyBzbyB0aGF0IHRoZSBl bmQtdXNlciBjYW4gaW5zZXJ0CisgICAgcGVyLXNlY3Rpb24gY3VzdG9tIEhUTUwgKE9yZ0luZm9Q YWdlSW5zZXJ0RnVuY3Rpb24pIGFuZCBoYW5kbGUKKyAgICBuYXZpZ2F0aW9uIGV2ZW50cyAoT3Jn SW5mb0FmdGVyTmF2aWdhdGVGdW5jdGlvbikuCisKKyAgKiBDb3JyZWN0IEVuZ2xpc2ggZXJyb3Iv c3RhdHVzIG1lc3NhZ2VzIGRpc3BsYXllZCBpbiBtaW5pYnVmZmVyLgogCiAqIDIwMTAtMTEtMjQg QmVubnkgU2ltb25zZW4gUGFydCAxCiAKCkRpZmYgZmluaXNoZWQuICBUdWUgRGVjIDEzIDEyOjE4 OjM5IDIwMjIK --0000000000007532af05efb8d532 Content-Type: text/x-patch; charset="US-ASCII"; name="index.org.diff" Content-Disposition: attachment; filename="index.org.diff" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lbmhnvaa1 ZGlmZiAtdSAvaG9tZS9kdG8vRG93bmxvYWRzL2luZGV4Lm9yZyAvaG9tZS9kdG8vb3JnaW5mby9p bmRleC5vcmcKLS0tIC9ob21lL2R0by9Eb3dubG9hZHMvaW5kZXgub3JnCTIwMjItMTItMTMgMTE6 NDE6NDMuMDIyMDc4MTQyIC0wNTAwCisrKyAvaG9tZS9kdG8vb3JnaW5mby9pbmRleC5vcmcJMjAy Mi0xMi0xMyAxMjoxNzoxOC40NjA3NjE2ODggLTA1MDAKQEAgLTE5Miw4ICsxOTIsOCBAQAogICAg ICB2ZXJzaW9uIDAuMC43LjNhIChmaXhlZCBpbiBjdXJyZW50IE9yZy1tb2RlIHZlcnNpb25zKS4g SWYgeW91IGV4cG9ydCB3aXRoCiAgICAgID1za2lwOm5pbD0sIHlvdSBtYXkgYWRkIHRoaXMgdG8g eW91ciBzdHlsZXNoZWV0OgogICAgICA6ICN0ZXh0LWJlZm9yZS1maXJzdC1oZWFkbGluZSB7Y29s b3I6cmVkO2ZvbnQtd2VpZ2h0OmJvbGQ7fQotKyBIb29rcyA6OiBUaGUgT3JnSHRtbE1hbmFnZXIg b2JqZWN0IHByb3ZpZGVzIGhvb2tzICh0d28gY3VycmVudGx5KSB0byBhZGQKLSAgICAgY3VzdG9t IGFjdGlvbnMuCisrIEhvb2tzIDo6IFRoZXJlIGFyZSBzZXZlcmFsIGhvb2tzIHRvIGFkZCBjdXN0 b20gYWN0aW9ucy4gU2VlIHRoZQorICBzZWN0aW9uICJIb29rcyIgZm9yIG1vcmUgaW5mb3JtYXRp b24uCiAKICogU2hvcnRjdXRzCiA6UFJPUEVSVElFUzoKQEAgLTcwMyw4ICs3MDMsMTUgQEAKIDpD VVNUT01fSUQ6IGhvb2tzCiA6RU5EOgogCi1DdXJyZW50bHkgdHdvIGhvb2tzIGFyZSBwcm92aWRl ZC4gIEVhY2ggaG9vayBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aCBvbmUgb3IKLW1vcmUgcGFyYW1l dGVycyB0aGUgZmlyc3Qgb2Ygd2hpY2ggaXMgdGhlIE9yZ0h0bWxNYW5hZ2VyIG9iamVjdC4KK1R3 byBzdHlsZXMgb2YgaG9va3MgYXJlIHN1cHBvcnRlZDogU3RhbmRhcmQgaG9va3MgKHdoaWNoIHVz ZQorT3JnSHRtbE1hbmFnZXIgYW5kIHJlcXVpcmUgYSBiaXQgb2YgYm9va2tlZXBpbmcpIGFuZCBz aW1wbGUgaG9va3MsCit3aGljaCBhcmUgSmF2YVNjcmlwdCB2YXJpYWJsZXMgdGhhdCBob2xkIGEg ZnVuY3Rpb24uCisKKyoqIFN0YW5kYXJkIGhvb2tzCisKK0N1cnJlbnRseSB0d28gc3RhbmRhcmQg aG9va3MgYXJlIHByb3ZpZGVkLiAgRWFjaCBob29rIGZ1bmN0aW9uIGlzCitjYWxsZWQgd2l0aCBv bmUgb3IgbW9yZSBwYXJhbWV0ZXJzIHRoZSBmaXJzdCBvZiB3aGljaCBpcyB0aGUKK09yZ0h0bWxN YW5hZ2VyIG9iamVjdC4KIAogLSAnfm9uUmVhZHl+JyA6OiBUaGlzIGhvb2sgaXMgcnVuIG9uY2Ug dGhlIGRvY3VtZW50IGlzIGxvYWRlZCwgdGhlIHZpZXcgaXMKICAgICAgc2V0dXAgYW5kIHRoZSBz dGFydHVwIHNlY3Rpb24gaXMgc2hvd24uICBUaGUgc2Vjb25kIHBhcmFtZXRlcgpAQCAtNzE0LDcg KzcyMSw2IEBACiAgICAgIGZpcnN0IHNlY3Rpb24uICBUaGUgc2Vjb25kIHBhcmFtZXRlciBpcyBh biBvYmplY3Qgd2l0aCB0byBPcmdOb2RlczogdGhlCiAgICAgIHByZXZpb3VzbHkgc2hvd24gc2Vj dGlvbiBhbmQgdGhlIGN1cnJlbnQgc2VjdGlvbi4KIAotCiBUbyBhZGQgZnVuY3Rpb25zIHRvIHRo ZSBob29rcywgZmlsbCBhIGdsb2JhbCBvYmplY3Qgfm9yZ0luZm9Ib29rc34gd2l0aCB0aGUKIGZ1 bmN0aW9uIG9iamVjdHMgeW91IG5lZWQuICBUaGlzIGlzIG5lY2Vzc2FyeSwgYmVjYXVzZSBjb2Rl IGFkZGVkIHZpYSB0aGUKIH4jK1NUWUxFOn4gb3B0aW9uIGxpbmVzIGlzIGV4ZWN1dGVkIGJlZm9y ZSBvcmctaW5mby5qcyBpcyBsb2FkZWQuCkBAIC03NDgsNiArNzU0LDUwIEBACiBjb3VsZCBoYXBw ZW4gb3RoZXJ3aXNlICh0aGUgaG9vayBsb29wIHdpbGwgb3Zlcmxvb2sgYSBtZW1iZXIuIFdoaWxl IHRoZSBob29rCiBsb29wIHJ1bnMgaW4gZmlyc3QgaG9vayBmaXJzdCwgdGhlIHJlbW92ZSBsb29w IHJlbW92ZXMgdGhlIGxhc3QgaG9vayBmaXJzdCkuCiAKKyoqIFNpbXBsZSBob29rcworCitTaW1w bGUgaG9va3MgYXJlIGp1c3QgSmF2YVNjcmlwdCB2YXJpYWJsZXMgdGhhdCBwb2ludCB0byBwYXJ0 aWN1bGFyCitmdW5jdGlvbnMgdGhhdCBPcmdJbmZvIHdpbGwgY2FsbC4gVGhlcmUgYXJlIHR3byBz aW1wbGUgaG9va3MgdGh1cyBmYXI6Cis9T3JnSW5mb1BhZ2VJbnNlcnRGdW5jdGlvbj0gYW5kID1P cmdJbmZvQWZ0ZXJOYXZpZ2F0ZUZ1bmN0aW9uPS4KKworSWYgeW91IGFzc2lnbiB5b3VyIG93biBm dW5jdGlvbnMgdG8gdGhlc2UgdmFyaWFibGVzLCBiZSBzdXJlIHRvIGRvIHNvCithZnRlciBPcmdJ bmZvIGhhcyBsb2FkZWQsIG9yIHRoZXkgd2lsbCBub3Qgd29yay4gWW91IGNhbiBkbyBzbyBmcm9t IGFuCitvcmcgZmlsZSBsaWtlIHRoaXM6CisKKyMrYmVnaW5fc3JjIG9yZworICMrYmVnaW5fZXhw b3J0IEhUTUwKKyA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgZnVuY3Rpb24gTXlJ bnNlcnRCdXR0b25zIChwYWdlTnVtYmVyKQorIHsKKyAgIFtjb2RlIGdvZXMgaGVyZV0KKyB9CisK KyBmdW5jdGlvbiBNeUFmdGVyTmF2aWdhdGUgKHBhZ2VOdW1iZXIpCisgeworICAgW2NvZGUgZ29l cyBoZXJlXQorIH0KKworIE9yZ0luZm9QYWdlSW5zZXJ0RnVuY3Rpb24gPSBNeUluc2VydEJ1dHRv bnM7CisgT3JnSW5mb0FmdGVyTmF2aWdhdGVGdW5jdGlvbiA9IE15QWZ0ZXJOYXZpZ2F0ZTsKKyA8 L3NjcmlwdD4KKyAjK2VuZF9leHBvcnQKKyMrZW5kX3NyYyAKKworKioqIE9yZ0luZm9QYWdlSW5z ZXJ0RnVuY3Rpb24KKworVGhlIHZhcmlhYmxlID1PcmdJbmZvUGFnZUluc2VydEZ1bmN0aW9uPSBz aG91bGQgaG9sZCBhIEphdmFTY3JpcHQKK2Z1bmN0aW9uIHRoYXQgYWNjZXB0cyBhbiBpbnRlZ2Vy IGlkZW50aWZ5aW5nIHdoaWNoIE9yZ0luZm8gc2VjdGlvbgoraGVhZGVyIHRvIGluc2VydCBIVE1M IGludG8uIFRoZSBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIGEgc3RyaW5nCitjb25zaXN0aW5nIG9m IEhUTUwgdG8gaW5zZXJ0IGludG8gdGhlIGR5bmFtaWMgcGFnZSBoZWFkZXIgdGhhdCBPcmdJbmZv CitidWlsZHMgZm9yIGVhY2ggc2VjdGlvbi4KKworKioqIE9yZ0luZm9BZnRlck5hdmlnYXRlRnVu Y3Rpb24KKworVGhlIHZhcmlhYmxlID1PcmdJbmZvQWZ0ZXJOYXZpZ2F0ZUZ1bmN0aW9uPSBzaG91 bGQgaG9sZCBhIEphdmFTY3JpcHQKK2Z1bmN0aW9uIHRoYXQgYWNjZXB0cyBhbiBpbnRlZ2VyIGlk ZW50aWZ5aW5nIHdoaWNoIE9yZ0luZm8gc2VjdGlvbiBoYXMKK2JlZW4gc3dpdGNoZWQgdG8uIFRo ZSBmdW5jdGlvbiBzaG91bGQgZG8gd2hhdGV2ZXIgdXNlci1kZWZpbmVkIGFjdGlvbgoraXMgZGVz aXJlZC4gQW55IHJldHVybiB2YWx1ZSBpcyBpZ25vcmVkLgorCiAqIEhvdyBpdCB3b3JrcwogCiBG aXJzdCBvZiBhbGwgdGhlIHNjcmlwdCBpcyBpbmNsdWRlZCAgaW4gdGhlIGhlYWRlciBhcyBkZXNj cmliZWQgaW4gW1sjc2V0dXBdW1NldHVwXV0uICBUaGUKCkRpZmYgZmluaXNoZWQuICBUdWUgRGVj IDEzIDEyOjE3OjM3IDIwMjIK --0000000000007532af05efb8d532--