From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.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 4GU6G/cl+WK/ZQAAbAwnHQ (envelope-from ) for ; Sun, 14 Aug 2022 18:42:31 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id AAgtG/cl+WLk2gAAauVa8A (envelope-from ) for ; Sun, 14 Aug 2022 18:42:31 +0200 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 CC6E53B5A4 for ; Sun, 14 Aug 2022 18:42:30 +0200 (CEST) Received: from localhost ([::1]:37668 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oNGh3-000384-QW for larch@yhetil.org; Sun, 14 Aug 2022 12:42:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34600) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNGgZ-000374-S0 for emacs-orgmode@gnu.org; Sun, 14 Aug 2022 12:41:59 -0400 Received: from ciao.gmane.io ([116.202.254.214]:41962) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNGgX-0005Lp-NT for emacs-orgmode@gnu.org; Sun, 14 Aug 2022 12:41:59 -0400 Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1oNGgV-0002BU-Pl for emacs-orgmode@gnu.org; Sun, 14 Aug 2022 18:41:55 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: emacs-orgmode@gnu.org From: Max Nikulin Subject: [PATCH v2] ol-info: Define :insert-description function Date: Sun, 14 Aug 2022 23:41:47 +0700 Message-ID: References: <87zgl1npow.fsf@localhost> <87v8s8n1bm.fsf@heagren.com> <87let39d3c.fsf@localhost> <877d4flu3x.fsf@heagren.com> <87cze5e84m.fsf@localhost> <87tu7gkb4l.fsf@heagren.com> <87y1ws6o0c.fsf@localhost> <87k08bjw0t.fsf@heagren.com> <47248a4f-10aa-0980-c054-563f30c05aaa@gmail.com> <87mtd0gthe.fsf@heagren.com> <78b97c9e-fced-0ee4-f3f2-3cbe81080ffa@gmail.com> <87sfms9dx7.fsf@localhost> <87v8rmd53g.fsf@localhost> <871qu9xv8q.fsf@heagren.com> <0da49392-26c6-8ba3-f657-647522d59342@gmail.com> <87zggrg2om.fsf@heagren.com> <87edy3t8o0.fsf@localhost> <87tu6zf2o1.fsf@heagren.com> <871qu3rpt9.fsf@localhost> <8bbccdb4-52f4-b9b5-eb10-252bb15108ec@gmail.com> <87a68hn9es.fsf@localhost> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------ANh45uTYrcLifafwB0LYSyJg" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Content-Language: en-US In-Reply-To: <87a68hn9es.fsf@localhost> Received-SPF: pass client-ip=116.202.254.214; envelope-from=geo-emacs-orgmode@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: 28 X-Spam_score: 2.8 X-Spam_bar: ++ X-Spam_report: (2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_ADSP_CUSTOM_MED=0.001, FORGED_GMAIL_RCVD=1, FORGED_MUA_MOZILLA=2.309, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, NML_ADSP_CUSTOM_MED=0.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1660495351; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to: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; bh=wipjuLxY1kxFtF1KLcx5ezBxME8fZMyBWHtl3vAVdMI=; b=YAuZs6WiWCkrYTjWIxUIycx+E8qUs5Q8UE3Snsp0FctjMit3hjidKYdMS88OCnzLrodEXD jGi92Ip4Ogn4MqEM0NWx93FoUMN59YEJwXJ/eUBFCE6xD/hH8WG0ItIwwqX2DoP7CLXrSi rHJJSoJoukGBIIbN3VnzJhkNRTfX6p9wdaw4+2BuX2o9UmAZov+cgl12KMuhHfTrcEkcxb hSXSlMPjO6VcNWu5WMws4N7t9vMI+GkCNLnVB+dbV8RJQgfeBdzz6bnY9g6H4dMy4eRBCt m06UQTnn08HERutBvY5zj6QNkAWOJ06TzzTxwQWQGT5iWLUflOGpmn2OFJHU5w== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1660495351; a=rsa-sha256; cv=none; b=YOI9sOUv6P+ck/JbbT82UjMOhMSfez6tcdrvRlt5NhaiR+/5oW1ftSiA2bjybJFKOfCE1U Th2biO4z/nXRp/e5BE24sosGYKo6ffJCdyqu232/l0InESOoegHorPcw8vYoqhwNVlCbQQ O3xDZxFM59dKWBm4YFZ2mjWUDAaD0ocE+WrJM3ftcZbD07zYyV5MFf+aFjir0QdKabNgAf oCpFm9p0hCMNQItQ02netb79sVCa8NFMMACQ/K1HBr44VKwRqLYMzdw1haF7JfXcsD93Ih YF9cks34G5NcckhSEzemG4tt5nzZCK8/69TgHLXNJOU6rCi6IniE8P86ua70LQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=gmail.com (policy=none); 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" X-Migadu-Spam-Score: 3.64 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=gmail.com (policy=none); 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" X-Migadu-Queue-Id: CC6E53B5A4 X-Spam-Score: 3.64 X-Migadu-Scanner: scn0.migadu.com X-TUID: cmYbGI1w5aXe This is a multi-part message in MIME format. --------------ANh45uTYrcLifafwB0LYSyJg Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 06/08/2022 14:00, Ihor Radchenko wrote: > Max Nikulin writes: > >> +If LINK is not an info link then DESC is returned." >> + (or (org-string-nw-p desc) >> + (let* ((file-node (org-info-link-file-node link)) >> + (file (car file-node)) >> + (node (cadr file-node))) > > pcase-let would be shorter here. I have rewritten the patch to use `pcase' and to fix allowed separators between file name and node. I have realized that unlike other type specific functions, :insert-description receives link including "scheme:" prefix. However attempt to achieve consistency at this point may cause more problems. --------------ANh45uTYrcLifafwB0LYSyJg Content-Type: text/x-patch; charset=UTF-8; name="v2-0001-ol-info-Define-insert-description-function.patch" Content-Disposition: attachment; filename="v2-0001-ol-info-Define-insert-description-function.patch" Content-Transfer-Encoding: base64 RnJvbSA3YWVhYTM2ZWUxYjMwYWExYzk3MTFmZTc2ZTE1MWVjOTU2MTk5ZjI3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXggTmlrdWxpbiA8bWFuaWt1bGluQGdtYWlsLmNv bT4KRGF0ZTogU2F0LCAzMCBKdWwgMjAyMiAxOToxMzowMSArMDcwMApTdWJqZWN0OiBbUEFU Q0ggdjJdIG9sLWluZm86IERlZmluZSA6aW5zZXJ0LWRlc2NyaXB0aW9uIGZ1bmN0aW9uCgoq IGxpc3Avb2wtaW5mby5lbCAob3JnLWluZm8tLWxpbmstZmlsZS1ub2RlKTogTmV3IGhlbHBl ciB0byBwYXJzZSBpbmZvCmxpbmsgaW5mbyBmaWxlIChtYW51YWwpIG5hbWUgYW5kIG5vZGUu CihvcmctaW5mby1mb2xsb3ctbGluaywgb3JnLWluZm8tZXhwb3J0KTogVXNlIGBvcmctaW5m by0tbGluay1maWxlLW5vZGUnLgoob3JnLWluZm8tZGVzY3JpcHRpb24tYXMtY29tbWFuZCk6 IE5ldyBmdW5jdGlvbiB0byBjcmVhdGUgZGVzY3JpcHRpb24KZm9yIGluZm8gbGlua3MgdGhh dCBtYXkgZXhlY3V0ZWQgdG8gdmlldyB0aGUgbWFudWFsLgoob3JnLWxpbmstcGFyYW1ldGVy cyk6IFNwZWNpZnkgYG9yZy1pbmZvLWRlc2NyaXB0aW9uLWFzLWNvbW1hbmQnIGFzCmA6aW5z ZXJ0LWRlc2NyaXB0aW9uJyBmb3IgaW5mbyBsaW5rcy4KKG9yZy1pbmZvLW90aGVyLWRvY3Vt ZW50cyk6IEFkZCBVUkwgb2YgZGlyZWN0b3J5IGluZGV4LgoqIHRlc3RpbmcvbGlzcC90ZXN0 LW9yZy1pbmZvLmVsICh0ZXN0LW9yZy1pbmZvL2V4cG9ydCk6IEFkZCBjYXNlcyBmb3IKdGV4 aW5mbyBleHBvcnQgd2l0aCBsaW5rIGRlc2NyaXB0aW9uLgoodGVzdC1vcmctaW5mby9saW5r LWZpbGUtbm9kZSwgdGVzdC1vcmctaW5mby9kZXNjcmlwdGlvbi1hcy1jb21tYW5kKToKTmV3 IHRlc3RzIGZvciBuZXcgZnVuY3Rpb25zIGBvcmctaW5mby0tbGluay1maWxlLW5vZGUnIGFu ZApgb3JnLWluZm8tZGVzY3JpcHRpb24tYXMtY29tbWFuZCcuCgpVc2UgcmVjZW50bHkgYWRk ZWQgOmluc2VydC1kZXNjcmlwdGlvbiBmZWF0dXJlIG9mIGBvcmctbGluaycuCkFsdGVybmF0 aXZlIHNlcGFyYXRvcnMgYmV0d2VlbiBmaWxlIG5hbWUgYW5kIG5vZGUgIjoiLCAiOjoiLCAi IzoiCmFyZSBwcmVzZXJ2ZWQuICBBZGRlZCBpbnRlcnByZXRhdGlvbiBvZiBlbXB0eSBwYXRo IGFzIGRpciBpbmRleCwKT3JnIG1hbnVhbCBpcyBhc3N1bWVkIGlmIGZpbGUgaXMgbm90IHNw ZWNpZmllZCBmb3IgZ2l2ZW4gbm9kZS4KLS0tCiBsaXNwL29sLWluZm8uZWwgICAgICAgICAg ICAgICB8IDg1ICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiB0ZXN0aW5n L2xpc3AvdGVzdC1vcmctaW5mby5lbCB8IDgyICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrLQogMiBmaWxlcyBjaGFuZ2VkLCAxNDYgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9vbC1pbmZvLmVsIGIvbGlzcC9vbC1pbmZvLmVs CmluZGV4IGRjNWY2ZDViYS4uMDU4NGU2ZjhjIDEwMDY0NAotLS0gYS9saXNwL29sLWluZm8u ZWwKKysrIGIvbGlzcC9vbC1pbmZvLmVsCkBAIC0zMCw2ICszMCw3IEBACiAKIDs7OyBDb2Rl OgogCisocmVxdWlyZSAnc3Vici14KSA7IGBzdHJpbmctdHJpbScsIGBzdHJpbmctcmVtb3Zl LXByZWZpeCcKIChyZXF1aXJlICdvbCkKIAogOzsgRGVjbGFyZSBleHRlcm5hbCBmdW5jdGlv bnMgYW5kIHZhcmlhYmxlcwpAQCAtNDMsNyArNDQsOCBAQAogKG9yZy1saW5rLXNldC1wYXJh bWV0ZXJzICJpbmZvIgogCQkJIDpmb2xsb3cgIydvcmctaW5mby1vcGVuCiAJCQkgOmV4cG9y dCAjJ29yZy1pbmZvLWV4cG9ydAotCQkJIDpzdG9yZSAjJ29yZy1pbmZvLXN0b3JlLWxpbmsp CisJCQkgOnN0b3JlICMnb3JnLWluZm8tc3RvcmUtbGluaworICAgICAgICAgICAgICAgICAg ICAgICAgIDppbnNlcnQtZGVzY3JpcHRpb24gIydvcmctaW5mby1kZXNjcmlwdGlvbi1hcy1j b21tYW5kKQogCiA7OyBJbXBsZW1lbnRhdGlvbgogKGRlZnVuIG9yZy1pbmZvLXN0b3JlLWxp bmsgKCkKQEAgLTYzLDI0ICs2NSw2OCBAQAogICAiRm9sbG93IGFuIEluZm8gZmlsZSBhbmQg bm9kZSBsaW5rIHNwZWNpZmllZCBieSBQQVRILiIKICAgKG9yZy1pbmZvLWZvbGxvdy1saW5r IHBhdGgpKQogCisoZGVmdW4gb3JnLWluZm8tLWxpbmstZmlsZS1ub2RlIChwYXRoKQorICAi RXh0cmFjdCBmaWxlIG5hbWUgYW5kIG5vZGUgZnJvbSBpbmZvIGxpbmsgUEFUSC4KKworUmV0 dXJuIGNvbnMgY29uc2lzdGluZyBvZiBmaWxlIG5hbWUgYW5kIG5vZGUgbmFtZSBvciBcIlRv cFwiIGlmIG5vZGUKK3BhcnQgaXMgbm90IHNwZWNpZmllZC4gQ29tcG9uZW50cyBtYXkgYmUg c2VwYXJhdGVkIGJ5IFwiOlwiIG9yIGJ5IFwiI1wiLiIKKyAgKGlmIChub3QgcGF0aCkKKyAg ICAgICcoImRpciIgLiAiVG9wIikKKyAgICAoc3RyaW5nLW1hdGNoICJcXGBcXChbXiM6XSpc XClcXCg/OlsjOl06P1xcKC4qXFwpXFwpP1xcJyIgcGF0aCkKKyAgICAobGV0KiAoKG5vZGUg KG1hdGNoLXN0cmluZyAyIHBhdGgpKQorICAgICAgICAgICA7OyBgc3RyaW5nLXRyaW0nIG1v ZGlmaWVzIG1hdGNoCisgICAgICAgICAgIChmaWxlIChzdHJpbmctdHJpbSAobWF0Y2gtc3Ry aW5nIDEgcGF0aCkpKQorICAgICAgICAgICAoaGFzLWZpbGUgKG9yZy1zdHJpbmctbnctcCBm aWxlKSkKKyAgICAgICAgICAgKGhhcy1ub2RlIChvcmctc3RyaW5nLW53LXAgbm9kZSkpKQor ICAgICAgKGNvbnMKKyAgICAgICA7OyBGYWxsYmFjayB0byAib3JnIiBpcyBhbiBhcmJpcnRy YXJ5IGNob2ljZQorICAgICAgIDs7IGFuZCBhZGRlZCBiZWNhdXNlICIoZGlyKWZpbGVuYW1l IiBkb2VzIG5vdCB3b3JrIGFzICJmaWxlbmFtZSIuCisgICAgICAgKGlmIGhhcy1maWxlIGZp bGUgKGlmIGhhcy1ub2RlICJvcmciICJkaXIiKSkKKyAgICAgICAoaWYgaGFzLW5vZGUgKHN0 cmluZy10cmltIG5vZGUpICJUb3AiKSkpKSkKKworKGRlZnVuIG9yZy1pbmZvLWRlc2NyaXB0 aW9uLWFzLWNvbW1hbmQgKGxpbmsgZGVzYykKKyAgIkluZm8gbGluayBkZXNjcmlwdGlvbiB0 aGF0IGNhbiBiZSBwYXN0ZWQgYXMgY29tbWFuZC4KKworRm9yIHRoZSBmb2xsb3dpbmcgTElO SworCisgICAgXCJpbmZvOmVsaXNwI05vbi1BU0NJSSBpbiBTdHJpbmdzXCIKKwordGhlIHJl c3VsdCBpcworCisgICAgaW5mbyBcIihlbGlzcCkgTm9uLUFTQ0lJIGluIFN0cmluZ3NcIgor Cit0aGF0IG1heSBiZSBleGVjdXRlZCBhcyBzaGVsbCBjb21tYW5kIG9yIGV2YWx1YXRlZCBi eQorXFxbZXZhbC1leHByZXNzaW9uXSAod3JhcHBlZCB3aXRoIHBhcmVudGhlc2lzKSB0byBy ZWFkIHRoZSBtYW51YWwKK2luIEVtYWNzLgorCitDYWxsaW5nIGNvbnZlbnRpb24gaXMgc2lt aWxhciB0byBgb3JnLWxpbmstbWFrZS1kZXNjcmlwdGlvbi1mdW5jdGlvbicuCitERVNDIGhh cyBoaWdoZXIgcHJpb3JpdHkgYW5kIHJldHVybmVkIHdoZW4gaXQgaXMgbm90IG5pbCBvciBl bXB0eSBzdHJpbmcuCitJZiBMSU5LIGlzIG5vdCBhbiBpbmZvIGxpbmsgdGhlbiBERVNDIGlz IHJldHVybmVkLiIKKyAgKGxldCogKChwcmVmaXggImluZm86IikKKyAgICAgICAgIChuZWVk LWZpbGUtbm9kZSAoYW5kIChub3QgKG9yZy1zdHJpbmctbnctcCBkZXNjKSkKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctcHJlZml4LXAgcHJlZml4IGxpbmspKSkp CisgICAgKHBjYXNlIChhbmQgbmVlZC1maWxlLW5vZGUKKyAgICAgICAgICAgICAgICAob3Jn LWluZm8tLWxpbmstZmlsZS1ub2RlIChzdHJpbmctcmVtb3ZlLXByZWZpeCBwcmVmaXggbGlu aykpKQorICAgICAgOzsgVW5saWtlIChpbmZvICJkaXIiKSwgImluZm8gZGlyIiBzaGVsbCBj b21tYW5kIG9wZW5zICIoY29yZXV0aWxzKWRpciBpbnZvY2F0aW9uIgorICAgICAgKGAoImRp ciIgLiAiVG9wIikgImluZm8gXCIoZGlyKVwiIikKKyAgICAgIChgKCxmaWxlIC4gIlRvcCIp IChmb3JtYXQgImluZm8gJXMiIGZpbGUpKQorICAgICAgKGAoLGZpbGUgLiAsbm9kZSkgKGZv cm1hdCAiaW5mbyBcIiglcykgJXNcIiIgZmlsZSBub2RlKSkKKyAgICAgIChfIGRlc2MpKSkp CiAKIChkZWZ1biBvcmctaW5mby1mb2xsb3ctbGluayAobmFtZSkKICAgIkZvbGxvdyBhbiBJ bmZvIGZpbGUgYW5kIG5vZGUgbGluayBzcGVjaWZpZWQgYnkgTkFNRS4iCi0gIChpZiAob3Ig KHN0cmluZy1tYXRjaCAiXFwoLipcXClcXCg/OiNcXHw6OlxcKVxcKC4qXFwpIiBuYW1lKQot ICAgICAgICAgIChzdHJpbmctbWF0Y2ggIlxcKC4qXFwpIiBuYW1lKSkKLSAgICAgIChsZXQg KChmaWxlbmFtZSAobWF0Y2gtc3RyaW5nIDEgbmFtZSkpCi0JICAgIChub2RlbmFtZS1vci1p bmRleCAob3IgKG1hdGNoLXN0cmluZyAyIG5hbWUpICJUb3AiKSkpCi0JKHJlcXVpcmUgJ2lu Zm8pCi0JOzsgSWYgbm9kZW5hbWUtb3ItaW5kZXggaXMgaW52YWxpZCBub2RlIG5hbWUsIHRo ZW4gbG9vayBpdCB1cAotCTs7IGluIHRoZSBpbmRleC4KLQkoY29uZGl0aW9uLWNhc2Ugbmls Ci0JICAgIChJbmZvLWZpbmQtbm9kZSBmaWxlbmFtZSBub2RlbmFtZS1vci1pbmRleCkKLQkg ICh1c2VyLWVycm9yIChJbmZvLWZpbmQtbm9kZSBmaWxlbmFtZSAiVG9wIikKLQkJICAgICAg KGNvbmRpdGlvbi1jYXNlIG5pbAotCQkJICAoSW5mby1pbmRleCBub2RlbmFtZS1vci1pbmRl eCkKLQkJCSh1c2VyLWVycm9yICJDb3VsZCBub3QgZmluZCAnJXMnIG5vZGUgb3IgaW5kZXgg ZW50cnkiCi0JCQkJICAgIG5vZGVuYW1lLW9yLWluZGV4KSkpKSkKLSAgICAodXNlci1lcnJv ciAiQ291bGQgbm90IG9wZW46ICVzIiBuYW1lKSkpCisgIChwY2FzZS1sZXQgKChgKCxmaWxl bmFtZSAuICxub2RlbmFtZS1vci1pbmRleCkKKwkgICAgICAgKG9yZy1pbmZvLS1saW5rLWZp bGUtbm9kZSBuYW1lKSkpCisgICAgKHJlcXVpcmUgJ2luZm8pCisgICAgOzsgSWYgbm9kZW5h bWUtb3ItaW5kZXggaXMgaW52YWxpZCBub2RlIG5hbWUsIHRoZW4gbG9vayBpdCB1cAorICAg IDs7IGluIHRoZSBpbmRleC4KKyAgICAoY29uZGl0aW9uLWNhc2UgbmlsCisgICAgICAgIChJ bmZvLWZpbmQtbm9kZSBmaWxlbmFtZSBub2RlbmFtZS1vci1pbmRleCkKKyAgICAgICh1c2Vy LWVycm9yIChJbmZvLWZpbmQtbm9kZSBmaWxlbmFtZSAiVG9wIikKKyAgICAgICAgICAgICAg ICAgIChjb25kaXRpb24tY2FzZSBuaWwKKyAgICAgICAgICAgICAgICAgICAgICAoSW5mby1p bmRleCBub2RlbmFtZS1vci1pbmRleCkKKyAgICAgICAgICAgICAgICAgICAgKHVzZXItZXJy b3IgIkNvdWxkIG5vdCBmaW5kICclcycgbm9kZSBvciBpbmRleCBlbnRyeSIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbm9kZW5hbWUtb3ItaW5kZXgpKSkpKSkKIAogKGRl ZmNvbnN0IG9yZy1pbmZvLWVtYWNzLWRvY3VtZW50cwogICAnKCJhZGEtbW9kZSIgImF1dGgi ICJhdXRvdHlwZSIgImJvdmluZSIgImNhbGMiICJjY21vZGUiICJjbCIgImRidXMiICJkaXJl ZC14IgpAQCAtOTUsNyArMTQxLDggQEAKIFRha2VuIGZyb20gPGh0dHBzOi8vd3d3LmdudS5v cmcvc29mdHdhcmUvZW1hY3MvbWFudWFsL2h0bWxfbW9uby8uPiIpCiAKIChkZWZjb25zdCBv cmctaW5mby1vdGhlci1kb2N1bWVudHMKLSAgJygoImxpYmMiIC4gImh0dHBzOi8vd3d3Lmdu dS5vcmcvc29mdHdhcmUvbGliYy9tYW51YWwvaHRtbF9tb25vL2xpYmMuaHRtbCIpCisgICco KCJkaXIiIC4gImh0dHBzOi8vd3d3LmdudS5vcmcvbWFudWFsL21hbnVhbC5odG1sIikgOyBp bmRleAorICAgICgibGliYyIgLiAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9saWJj L21hbnVhbC9odG1sX21vbm8vbGliYy5odG1sIikKICAgICAoIm1ha2UiIC4gImh0dHBzOi8v d3d3LmdudS5vcmcvc29mdHdhcmUvbWFrZS9tYW51YWwvbWFrZS5odG1sIikpCiAgICJBbGlz dCBvZiBkb2N1bWVudHMgZ2VuZXJhdGVkIGZyb20gVGV4aW5mbyBzb3VyY2UuCiBXaGVuIGNv bnZlcnRpbmcgaW5mbyBsaW5rcyB0byBIVE1MLCBsaW5rcyB0byBhbnkgb25lIG9mIHRoZXNl IG1hbnVhbHMgYXJlCkBAIC0xMjksOSArMTc2LDcgQEAgU2VlIGBvcmctaW5mby1lbWFjcy1k b2N1bWVudHMnIGFuZCBgb3JnLWluZm8tb3RoZXItZG9jdW1lbnRzJyBmb3IgZGV0YWlscy4i CiAoZGVmdW4gb3JnLWluZm8tZXhwb3J0IChwYXRoIGRlc2MgZm9ybWF0KQogICAiRXhwb3J0 IGFuIGluZm8gbGluay4KIFNlZSBgb3JnLWxpbmstcGFyYW1ldGVycycgZm9yIGRldGFpbHMg YWJvdXQgUEFUSCwgREVTQyBhbmQgRk9STUFULiIKLSAgKGxldCogKChwYXJ0cyAoc3BsaXQt c3RyaW5nIHBhdGggIiNcXHw6OiIpKQotCSAobWFudWFsIChjYXIgcGFydHMpKQotCSAobm9k ZSAob3IgKG50aCAxIHBhcnRzKSAiVG9wIikpKQorICAocGNhc2UtbGV0ICgoYCgsbWFudWFs IC4gLG5vZGUpIChvcmctaW5mby0tbGluay1maWxlLW5vZGUgcGF0aCkpKQogICAgIChwY2Fz ZSBmb3JtYXQKICAgICAgIChgaHRtbAogICAgICAgIChmb3JtYXQgIjxhIGhyZWY9XCIlcyMl c1wiPiVzPC9hPiIKZGlmZiAtLWdpdCBhL3Rlc3RpbmcvbGlzcC90ZXN0LW9yZy1pbmZvLmVs IGIvdGVzdGluZy9saXNwL3Rlc3Qtb3JnLWluZm8uZWwKaW5kZXggOTQ5MjMxNjljLi4zYjhm ODVhMmIgMTAwNjQ0Ci0tLSBhL3Rlc3RpbmcvbGlzcC90ZXN0LW9yZy1pbmZvLmVsCisrKyBi L3Rlc3RpbmcvbGlzcC90ZXN0LW9yZy1pbmZvLmVsCkBAIC0yOCw2ICsyOCwxMSBAQAogICAo c2hvdWxkCiAgICAoZXF1YWwgKG9yZy1pbmZvLWV4cG9ydCAiZmlsZW5hbWUiIG5pbCAnaHRt bCkKIAkgICI8YSBocmVmPVwiZmlsZW5hbWUuaHRtbCNUb3BcIj5maWxlbmFtZTwvYT4iKSkK KyAgOzsgRGlyZWN0b3J5IGluZGV4LiBUb3AgYW5jaG9yIGFjdHVhbGx5IHNob3VsZCBub3Qg YmUgYWRkZWQsCisgIDs7IGJ1dCBpdCBzaG91bGQgYmUgcmF0aGVyIHJhcmUgY2FzZSB0byBh ZGQgc3BlY2lhbCBjb2RlIHBhdGgKKyAgKHNob3VsZAorICAgKGVxdWFsIChvcmctaW5mby1l eHBvcnQgImRpciIgbmlsICdodG1sKQorCSAgIjxhIGhyZWY9XCJodHRwczovL3d3dy5nbnUu b3JnL21hbnVhbC9tYW51YWwuaHRtbCNUb3BcIj5kaXI8L2E+IikpCiAgIDs7IFdoZW4gZXhw b3J0aW5nIHRvIEhUTUwsIGVuc3VyZSBub2RlIG5hbWVzIGFyZSBleHBhbmRlZCBhY2NvcmRp bmcKICAgOzsgdG8gKGluZm8gIih0ZXhpbmZvKSBIVE1MIFhyZWYgTm9kZSBOYW1lIEV4cGFu c2lvbiIpLgogICAoc2hvdWxkCkBAIC01Niw5ICs2MSw4NCBAQAogCSAgIkByZWZ7VG9wLCws ZmlsZW5hbWUsfSIpKQogICAoc2hvdWxkCiAgICAoZXF1YWwgKG9yZy1pbmZvLWV4cG9ydCAi ZmlsZW5hbWUjbm9kZSIgbmlsICd0ZXhpbmZvKQotCSAgIkByZWZ7bm9kZSwsLGZpbGVuYW1l LH0iKSkpCisJICAiQHJlZntub2RlLCwsZmlsZW5hbWUsfSIpKQorICA7OyAiVG9wIiBpcyBw cmVzZXJ2ZWQsICI6OiIgYXMgbm9kZSBzZXBhcmF0b3IuCisgIChzaG91bGQKKyAgIChlcXVh bCAiQHJlZntUb3AsLCxlbWFjcyx9IgorICAgICAgICAgIChvcmctaW5mby1leHBvcnQgImVt YWNzOjpUb3AiIG5pbCAndGV4aW5mbykpKQorCisgIDs7IERlc2NyaXB0aW9uLgorICAoc2hv dWxkCisgICAoZXF1YWwgIkByZWZ7VG9wLEVtYWNzLCxlbWFjcyx9IgorICAgICAgICAgIChv cmctaW5mby1leHBvcnQgImVtYWNzIiAiRW1hY3MiICd0ZXhpbmZvKSkpCisgIChzaG91bGQK KyAgIChlcXVhbCAiQHJlZntEZXN0cnVjdHVyaW5nIHdpdGggcGNhc2UgUGF0dGVybnMscGNh c2UtbGV0LCxlbWFjcyx9IgorICAgICAgICAgIChvcmctaW5mby1leHBvcnQgImVtYWNzI0Rl c3RydWN0dXJpbmcgd2l0aCBwY2FzZSBQYXR0ZXJucyIKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICJwY2FzZS1sZXQiICd0ZXhpbmZvKSkpKQogCisoZXJ0LWRlZnRlc3QgdGVzdC1v cmctaW5mby9saW5rLWZpbGUtbm9kZSAoKQorICAiVGVzdCBwYXJzZSBpbmZvIGxpbmtzIGJ5 IGBvcmctaW5mby0tbGluay1maWxlLW5vZGUnLiIKKyAgKHNob3VsZCAoZXF1YWwgJygic3Vj Y2VzcyIgLiAiSGFzaCBTZXBhcmF0b3IiKQorICAgICAgICAgICAgICAgICAob3JnLWluZm8t LWxpbmstZmlsZS1ub2RlICJzdWNjZXNzI0hhc2ggU2VwYXJhdG9yIikpKQorICA7OyBPdGhl ciBzZXBhcmF0b3JzCisgIChzaG91bGQgKGVxdWFsICcoInN1Y2Nlc3MiIC4gIlNpbmdsZSBD b2xvbiBTZXBhcmF0b3IiKQorICAgICAgICAgICAgICAgICAob3JnLWluZm8tLWxpbmstZmls ZS1ub2RlICJzdWNjZXNzOlNpbmdsZSBDb2xvbiBTZXBhcmF0b3IiKSkpCisgIChzaG91bGQg KGVxdWFsICcoInN1Y2Nlc3MiIC4gIkRvdWJsZSBDb2xvbiBTZXBhcmF0b3IiKQorICAgICAg ICAgICAgICAgICAob3JnLWluZm8tLWxpbmstZmlsZS1ub2RlICJzdWNjZXNzOjpEb3VibGUg Q29sb24gU2VwYXJhdG9yIikpKQorICAoc2hvdWxkIChlcXVhbCAnKCJzdWNjZXNzIiAuICJI YXNoIENvbG9uIFNlcGFyYXRvciIpCisgICAgICAgICAgICAgICAgIChvcmctaW5mby0tbGlu ay1maWxlLW5vZGUgInN1Y2Nlc3MjOkhhc2ggQ29sb24gU2VwYXJhdG9yIikpKQorICA7OyBQ YXJ0aWFsIHNwZWNpZmljYXRpb24KKyAgKHNob3VsZCAoZXF1YWwgJygibm9kZWxlc3MiIC4g IlRvcCIpCisgICAgICAgICAgICAgICAgIChvcmctaW5mby0tbGluay1maWxlLW5vZGUgIm5v ZGVsZXNzIikpKQorICAoc2hvdWxkIChlcXVhbCAnKCJkaXIiIC4gIlRvcCIpCisgICAgICAg ICAgICAgICAgIChvcmctaW5mby0tbGluay1maWxlLW5vZGUgIiIpKSkKKyAgKHNob3VsZCAo ZXF1YWwgJygiZGlyIiAuICJUb3AiKQorICAgICAgICAgICAgICAgICAob3JnLWluZm8tLWxp bmstZmlsZS1ub2RlIG5pbCkpKQorICAoc2hvdWxkIChlcXVhbCAnKCJvcmciIC4gIkludHJv ZHVjdGlvbiIpCisgICAgICAgICAgICAgICAgIChvcmctaW5mby0tbGluay1maWxlLW5vZGUg IiNJbnRyb2R1Y3Rpb24iKSkpCisgIDs7IFRyYWlsaW5nIHNlcGFyYXRvcgorICAoc2hvdWxk IChlcXVhbCAnKCJ0cmFpbGluZy1oYXNoIiAuICJUb3AiKQorICAgICAgICAgICAgICAgICAo b3JnLWluZm8tLWxpbmstZmlsZS1ub2RlICJ0cmFpbGluZy1oYXNoIyIpKSkKKyAgKHNob3Vs ZCAoZXF1YWwgJygidHJhaWxpbmctc2luZ2xlLWNvbG9uIiAuICJUb3AiKQorICAgICAgICAg ICAgICAgICAob3JnLWluZm8tLWxpbmstZmlsZS1ub2RlICJ0cmFpbGluZy1zaW5nbGUtY29s b246IikpKQorICAoc2hvdWxkIChlcXVhbCAnKCJ0cmFpbGluZy1kb3VibGUtY29sb24iIC4g IlRvcCIpCisgICAgICAgICAgICAgICAgIChvcmctaW5mby0tbGluay1maWxlLW5vZGUgInRy YWlsaW5nLWRvdWJsZS1jb2xvbjo6IikpKQorICAoc2hvdWxkIChlcXVhbCAnKCJ0cmFpbGlu Zy1oYXNoLWNvbG9uIiAuICJUb3AiKQorICAgICAgICAgICAgICAgICAob3JnLWluZm8tLWxp bmstZmlsZS1ub2RlICJ0cmFpbGluZy1oYXNoLWNvbG9uIzoiKSkpCisgIDs7IFRyaW0gc3Bh Y2VzCisgIChzaG91bGQgKGVxdWFsICcoInRyaW0iIC4gIlNwYWNlcyIpCisgICAgICAgICAg ICAgICAgIChvcmctaW5mby0tbGluay1maWxlLW5vZGUgIiB0cmltICMgU3BhY2VzIFx0Iikp KSkKIAorKGVydC1kZWZ0ZXN0IHRlc3Qtb3JnLWluZm8vZGVzY3JpcHRpb24tYXMtY29tbWFu ZCAoKQorICAiVGVzdCBgb3JnLWluZm8tZGVzY3JpcHRpb24tYXMtY29tbWFuZCcuIgorICAo bGV0ICgoY2FzZXMKKyAgICAgICAgICcoKCJpbmZvIGZpbGUiICJpbmZvOmZpbGUiKQorICAg ICAgICAgICAoImluZm8gc3RyaXAtdG9wLWhhc2giICJpbmZvOnN0cmlwLXRvcC1oYXNoI1Rv cCIpCisgICAgICAgICAgICgiaW5mbyBzdHJpcC10b3Atc2luZ2xlLWNvbG9uIiAiaW5mbzpz dHJpcC10b3Atc2luZ2xlLWNvbG9uOlRvcCIpCisgICAgICAgICAgICgiaW5mbyBzdHJpcC10 b3AtZG91YmxlLWNvbG9uIiAiaW5mbzpzdHJpcC10b3AtZG91YmxlLWNvbG9uOjpUb3AiKQor ICAgICAgICAgICAoImluZm8gXCIocGFzcykgSGFzaFwiIiAiaW5mbzpwYXNzI0hhc2giKQor ICAgICAgICAgICAoImluZm8gXCIocGFzcykgRG91YmxlIENvbG9uXCIiICJpbmZvOnBhc3M6 OiBEb3VibGUgQ29sb24iKQorICAgICAgICAgICAoImluZm8gXCIoaW5mbykgQWR2YW5jZWRc IiIgImluZm86aW5mbzpBZHZhbmNlZCIpCisgICAgICAgICAgICgiaW5mbyBcIihkaXIpXCIi ICJpbmZvOiIpCisgICAgICAgICAgICgiaW5mbyBcIihvcmcpIFRhYmxlc1wiIiAiaW5mbzo6 VGFibGVzIikKKyAgICAgICAgICAgKG5pbCAiaHR0cDovL29yZ21vZGUub3JnL2luZGV4Lmh0 bWwjTm90LWluZm8tbGluayIpKSkpCisgICAgKGRvbGlzdCAoZXhwZWN0YXRpb24taW5wdXQg Y2FzZXMpCisgICAgICAobGV0ICgoZXhwZWN0YXRpb24gKGNhciBleHBlY3RhdGlvbi1pbnB1 dCkpCisgICAgICAgICAgICAoaW5wdXQgKGNhZHIgZXhwZWN0YXRpb24taW5wdXQpKSkKKyAg ICAgICAgKHNob3VsZCAoZXF1YWwKKyAgICAgICAgICAgICAgICAgZXhwZWN0YXRpb24KKyAg ICAgICAgICAgICAgICAgKG9yZy1pbmZvLWRlc2NyaXB0aW9uLWFzLWNvbW1hbmQgaW5wdXQg bmlsKSkpKSkpCisgIChsZXQgKChjYXNlcworICAgICAgICAgJygoIk92ZXJyaWRlIGxpbmsi ICJpbmZvOmlnbm9yZWQjTGluayIgIk92ZXJyaWRlIGxpbmsiKQorICAgICAgICAgICAoIkZh bGxiYWNrIGRlc2NyaXB0aW9uIiAiaHR0cDovL25vdC5pbmZvL2xpbmsiICJGYWxsYmFjayBk ZXNjcmlwdGlvbiIpCisgICAgICAgICAgICgiTGluayBpcyBuaWwiIG5pbCAiTGluayBpcyBu aWwiKSkpKQorICAgICAgICAoZG9saXN0IChleHBlY3RhdGlvbi1pbnB1dC1kZXNjIGNhc2Vz KQorICAgICAgKGxldCAoKGV4cGVjdGF0aW9uIChjYXIgZXhwZWN0YXRpb24taW5wdXQtZGVz YykpCisgICAgICAgICAgICAoaW5wdXQgKGNhZHIgZXhwZWN0YXRpb24taW5wdXQtZGVzYykp CisgICAgICAgICAgICAoZGVzYyAobnRoIDIgZXhwZWN0YXRpb24taW5wdXQtZGVzYykpKQor ICAgICAgICAoc2hvdWxkIChlcXVhbAorICAgICAgICAgICAgICAgICBleHBlY3RhdGlvbgor ICAgICAgICAgICAgICAgICAob3JnLWluZm8tZGVzY3JpcHRpb24tYXMtY29tbWFuZCBpbnB1 dCBkZXNjKSkpKSkpKQogCiAocHJvdmlkZSAndGVzdC1vcmctaW5mbykKIDs7OyB0ZXN0LW9y Zy1pbmZvLmVsIGVuZHMgaGVyZQotLSAKMi4yNS4xCgo= --------------ANh45uTYrcLifafwB0LYSyJg--