From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id IPXHMcqBZ2PHVAAAbAwnHQ (envelope-from ) for ; Sun, 06 Nov 2022 10:43:38 +0100 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id uL3gMMqBZ2OtRwAAG6o9tA (envelope-from ) for ; Sun, 06 Nov 2022 10:43:38 +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 665231EF5F for ; Sun, 6 Nov 2022 10:43:38 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1orcAs-00039D-Ua; Sun, 06 Nov 2022 04:42:42 -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 1orcAr-000395-Pq for emacs-orgmode@gnu.org; Sun, 06 Nov 2022 04:42:41 -0500 Received: from mail-ed1-x52b.google.com ([2a00:1450:4864:20::52b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1orcAp-0000vd-J0 for emacs-orgmode@gnu.org; Sun, 06 Nov 2022 04:42:41 -0500 Received: by mail-ed1-x52b.google.com with SMTP id f7so13369458edc.6 for ; Sun, 06 Nov 2022 01:42:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=f+P93MhzwYbTHQjvFD2Q3bDWandF3urdOFrul+3Vo9Q=; b=fdw0MNZagHdX0EvrncDy/6ZnfySnnVHxf4JUNDEFBLyBSbtyX1K0dn4M6x84gXWFcM soe9lWeqBh9iY8KOutnH++xKIXN6jLbjW4L/ubV+4cASQUnPm6S4cefHJN7+e5WpMwhX Ni/H83XaT0QhRfD7tVYyayFv3MDhFmTpushyVHylt1cfZmB7HRopHSq2TFatlAooDku1 458M3fniafw+Bu3HVQ3q69xLxfTZBtFHvyfmV6hf8aiGyOq2gYNU+N16pykHp1ErsW6j ZQmuJNmMtVbsunJo1wb5YuMsFoR22g5jcVMkzKkAvu60mg3yHT9l4NtlRLd5zOa/C8zZ +JpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=f+P93MhzwYbTHQjvFD2Q3bDWandF3urdOFrul+3Vo9Q=; b=1MqDpvpK8utbIZ1UFCNTfjWe5JPYna5jlntDu7KU2fJiN0qDXFS5tekzI3LHRCPXMN RmwIROvjWc+tda/ecpfcpKCXQo2mjG+8WxawT+Zr9XqWb1TihQbe9Fk/nd/Q09EW+lTm 3iqI5qNnpX9r613MHl6Lh6Tam3urnRxMyLyOThEsxEPrYAt+RWLqkEDMPOOyyKSQqrcF p/wD+yr/jDpF87KXrUtZyP8AyckVSKqX25ZfX25tf7QWl35dcurMeOttR8zzuWxhhOca Q4UoXYY5ZbyS436ACbe2tNmvcA3VglAsOzXHUrbI/rm66vp8gzoVVFgGwfysg0Fy/rOW a3+Q== X-Gm-Message-State: ACrzQf1keviPfaiLKa/4zobGxEdcXLnF/hpqPma6cAeWrz3NuJhXMIl4 AbttKOVR7P+QfTrXc7cR0XpkNaJxahoScwMXOXpEKx5oCV0= X-Google-Smtp-Source: AMsMyM5sCEaTEvLsJfKbvqWJg0cD/YQ6HF+tnFDtoUQDedTI6DlSBFA6RTeiyFhO96Udt/TXo6WqDkUzP+shI+0wOV0= X-Received: by 2002:aa7:cf83:0:b0:463:1b7d:e318 with SMTP id z3-20020aa7cf83000000b004631b7de318mr39254746edx.4.1667727753782; Sun, 06 Nov 2022 01:42:33 -0800 (PST) MIME-Version: 1.0 From: =?UTF-8?Q?Andr=C3=A1s_Simonyi?= Date: Sun, 6 Nov 2022 10:42:22 +0100 Message-ID: Subject: [PATCH] oc-csl: Improve LaTeX bibliography formatting To: emacs-orgmode list Content-Type: multipart/mixed; boundary="000000000000592cb905ecca2020" Received-SPF: pass client-ip=2a00:1450:4864:20::52b; envelope-from=andras.simonyi@gmail.com; helo=mail-ed1-x52b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_FROM=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: , Sender: "Emacs-orgmode" Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1667727818; 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:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=f+P93MhzwYbTHQjvFD2Q3bDWandF3urdOFrul+3Vo9Q=; b=era3Y0M/WhzjrwPD1vB0s3WUrUlqiDzWM05l4bSpcIpQZkFfxzvbgLhVlVbg4SYj7aBJrD i5LaZmvUVuyShDwTbApHcm1OlmZU9+LIRIWHj6KqiqgkGSlECpTGitUSfoLuSGiHeWJ7wM 3PLBOy0uK9AZPxK6bpDa23BCAEF45Tuj+ULuBQoUeL4pAY9FhYTJmpRrEsrIyXNctLDQpr 2rg9hLA2TI13iLByccssJxZZ6EVASzlRS4FYjg29APaMuYJQqQ+DI/EfFAyKMxAEcsNXNe Ow3/iO4jggRtLfsyJQYJhMTvFVQ0guy5o4RHSKMjUks37pZQA5QxtPKA4CYrjA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1667727818; a=rsa-sha256; cv=none; b=St6so+vZfN2OqbIBadkrSmTrd9AUj7cyqnSMuUKUVqmNpb8ghj763hV2ro6SU0tbrSX7vH aYmmaeDh7JBJvRPVgi0rEwRVO7knOgATcV+v/dv7aWMmDkKHTGsLd6piT2pBdAIj+nzSDo M1D8uwvAI65/7priRb7oCC0tst5W6B3zraHqzbLLqEA2kxeLUsq1VcV6OdnJtWH22itH/s 7kiGDcDIVIvP+zuaGRwjTfzFVfefac8DpOYKl9RKzXY58723vVfcS/PhmgVNynd2G+oQ76 BsczOparZOCH93ZpN1rYbglRSD691a0FevRLrWKtn3Sa6tdeyC4AcJo3xHbh2Q== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=fdw0MNZa; dmarc=pass (policy=none) header.from=gmail.com; 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: -6.30 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=fdw0MNZa; dmarc=pass (policy=none) header.from=gmail.com; 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: 665231EF5F X-Spam-Score: -6.30 X-Migadu-Scanner: scn0.migadu.com X-TUID: lwaIPCMSibtm --000000000000592cb905ecca2020 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Dear All, the attached patch substantially improves the formatting of CSL-based bibliographies in LaTeX export by supporting in-style formatting settings that were previously ignored, most importantly, 'second-field-align', which is typically used for numeric styles such as ieee.csl. I'm sending this while another oc-csl patch (about affix and locator formatting) is still under discussion because I consider it a priority for the 9.6 release. (Not supporting those formatting settings rendered a large number of styles, some of them pretty popular, close to being unusable.) Thanks in advance for your feedback! best wishes, Andr=C3=A1s --000000000000592cb905ecca2020 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-oc-csl-Improve-LaTeX-bibliography-formatting.patch" Content-Disposition: attachment; filename="0001-oc-csl-Improve-LaTeX-bibliography-formatting.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_la55xcby0 RnJvbSBiYzkyNjgzYTYzMjZlN2Y5NzA5M2I0MDFjYWY0NTNhNzZiNzZiYTQ2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/QW5kcj1DMz1BMXM9MjBTaW1vbnlpPz0gPGFu ZHJhcy5zaW1vbnlpQGdtYWlsLmNvbT4KRGF0ZTogU3VuLCAyIE9jdCAyMDIyIDE5OjIwOjM2ICsw MjAwClN1YmplY3Q6IFtQQVRDSF0gb2MtY3NsOiBJbXByb3ZlIExhVGVYIGJpYmxpb2dyYXBoeSBm b3JtYXR0aW5nCgoqIGxpc3Avb2MtY3NsLmVsIChvcmctY2l0ZS1jc2wtLW91dHB1dC1mb3JtYXQp OiBVc2UgdGhlIGRlZGljYXRlZAonb3JnLWxhdGV4JyBjaXRlcHJvYyBmb3JtYXR0ZXIgdG8gZXhw b3J0IHJlZmVyZW5jZXMgaW4gTGFUZVguCihvcmctY2l0ZS1jc2wtbGF0ZXgtcHJlYW1ibGUsIG9y Zy1jaXRlLWNzbC0tZ2VuZXJhdGUtbGF0ZXgtcHJlYW1ibGUsCm9yZy1jaXRlLWNzbC1maW5hbGl6 ZXIpOiBJbnNlcnQgYSBwcmVhbWJsZSBmcmFnbWVudCBjb21wYXRpYmxlIHdpdGgKdGhlICdvcmct bGF0ZXgnIGNpdGVwcm9jIGZvcm1hdHRlci4KKG9yZy1jaXRlLWNzbC1sYXRleC1sYWJlbC1zZXBh cmF0b3IsCm9yZy1jaXRlLWNzbC1sYXRleC1sYWJlbC13aWR0aC1wZXItY2hhcik6IEludHJvZHVj ZSBhZGRpdGlvbmFsCnZhcmlhYmxlcyB0byBjb250cm9sIGJpYmxpb2dyYXBoeSBmb3JtYXR0aW5n LgotLS0KIGxpc3Avb2MtY3NsLmVsIHwgOTggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA4MyBpbnNlcnRpb25zKCspLCAx NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saXNwL29jLWNzbC5lbCBiL2xpc3Avb2MtY3Ns LmVsCmluZGV4IDFjY2I3NGU5Mi4uMTgwN2VmYWVhIDEwMDY0NAotLS0gYS9saXNwL29jLWNzbC5l bAorKysgYi9saXNwL29jLWNzbC5lbApAQCAtMjE0LDYgKzIxNCw2OCBAQCBVc2VkIG9ubHkgd2hl biBgc2Vjb25kLWZpZWxkLWFsaWduJyBpcyBhY3RpdmF0ZWQgYnkgdGhlIHVzZWQgQ1NMIHN0eWxl LiIKICAgOnR5cGUgJ3N0cmluZwogICA6c2FmZSAjJ3N0cmluZ3ApCiAKKyhkZWZjdXN0b20gb3Jn LWNpdGUtY3NsLWxhdGV4LWxhYmVsLXNlcGFyYXRvciAiMC42ZW0iCisgICJEaXN0YW5jZSBiZXR3 ZWVuIGNpdGF0aW9uIGxhYmVsIGFuZCBiaWJsaW9ncmFwaHkgaXRlbSBmb3IgTGFUZVgKK291dHB1 dCBpbiB2YWxpZCBMYVRlWCB1bml0cy4gIFVzZWQgb25seSB3aGVuIGBzZWNvbmQtZmllbGQtYWxp Z24nCitpcyBhY3RpdmF0ZWQgYnkgdGhlIHVzZWQgQ1NMIHN0eWxlLiIKKyAgOmdyb3VwICdvcmct Y2l0ZQorICA6cGFja2FnZS12ZXJzaW9uICcoT3JnIC4gIjkuNiIpCisgIDp0eXBlICdzdHJpbmcK KyAgOnNhZmUgIydzdHJpbmdwKQorCisoZGVmY3VzdG9tIG9yZy1jaXRlLWNzbC1sYXRleC1sYWJl bC13aWR0aC1wZXItY2hhciAiMC40NWVtIgorICAiQ2hhcmFjdGVyIHdpZHRoIGluIExhVGVYIHVu aXRzIGZvciBjYWxjdWxhdGluZyBlbnRyeSBsYWJlbCB3aWR0aHMuCitVc2VkIG9ubHkgd2hlbiBg c2Vjb25kLWZpZWxkLWFsaWduJyBpcyBhY3RpdmF0ZWQgYnkgdGhlIHVzZWQgQ1NMCitzdHlsZS4i CisgIDpncm91cCAnb3JnLWNpdGUKKyAgOnBhY2thZ2UtdmVyc2lvbiAnKE9yZyAuICI5LjYiKQor ICA6dHlwZSAnc3RyaW5nCisgIDpzYWZlICMnc3RyaW5ncCkKKworOzsgVGhlIGZvbGxvd2luZyB3 YXMgaW5zcGlyZWQgYnkgYW5kIG1vc3RseSBmb2xsb3dzIGhvdyBQYW5kb2MncworOzsgKDxodHRw czovL2dpdGh1Yi5jb20vamdtL3BhbmRvYz4pIGRlZmF1bHQgTGFUZVggdGVtcGxhdGUgaGFuZGxl cworOzsgQ1NMIG91dHB1dC4gIE1hbnkgdGhhbmtzIHRvIHRoZSBhdXRob3IsIEpvaG4gTWFjRmFy bGFuZSEKKyhkZWZjdXN0b20gb3JnLWNpdGUtY3NsLWxhdGV4LXByZWFtYmxlCisgICJcXHVzZXBh Y2thZ2V7Y2FsY30KK1xcbmV3bGVuZ3Roe1xcY3NsaGFuZ2luZGVudH0KK1xcc2V0bGVuZ3Roe1xc Y3NsaGFuZ2luZGVudH17W0NTTC1IQU5HSU5ERU5UXX0KK1xcbmV3bGVuZ3Roe1xcY3NsbGFiZWxz ZXB9CitcXHNldGxlbmd0aHtcXGNzbGxhYmVsc2VwfXtbQ1NMLUxBQkVMU0VQXX0KK1xcbmV3bGVu Z3Roe1xcY3NsbGFiZWx3aWR0aH0KK1xcc2V0bGVuZ3Roe1xcY3NsbGFiZWx3aWR0aH17W0NTTC1M QUJFTFdJRFRILVBFUi1DSEFSXSAqIFtDU0wtTUFYTEFCRUwtQ0hBUlNdfQorXFxuZXdlbnZpcm9u bWVudHtjaXRlcHJvY2JpYn1bMl0gJSAxc3QgYXJnLiBpcyBoYW5naW5nLWluZGVudCwgMm5kIGVu dHJ5IHNwYWNpbmcuCisgeyUgQnkgZGVmYXVsdCwgcGFyYWdyYXBocyBhcmUgbm90IGluZGVudGVk LgorICBcXHNldGxlbmd0aHtcXHBhcmluZGVudH17MHB0fQorICAlIEhhbmdpbmcgaW5kZW50IGlz IHR1cm5lZCBvbiB3aGVuIGZpcnN0IGFyZ3VtZW50IGlzIDEuCisgIFxcaWZvZGQgIzEKKyAgXFxs ZXRcXG9sZHBhclxccGFyCisgIFxcZGVmXFxwYXJ7XFxoYW5naW5kZW50PVxcY3NsaGFuZ2luZGVu dFxcb2xkcGFyfQorICBcXGZpCisgICUgU2V0IGVudHJ5IHNwYWNpbmcgYmFzZWQgb24gdGhlIHNl Y29uZCBhcmd1bWVudC4KKyAgXFxzZXRsZW5ndGh7XFxwYXJza2lwfXtcXHBhcnNraXAgKyAgIzJc XGJhc2VsaW5lc2tpcH0KKyB9JQorIHt9CitcXG5ld2NvbW1hbmR7XFxjc2xibG9ja31bMV17IzFc XGhmaWxsXFxicmVha30KK1xcbmV3Y29tbWFuZHtcXGNzbGxlZnRtYXJnaW59WzFde1xccGFyYm94 W3Rde1xcY3NsbGFiZWxzZXAgKyBcXGNzbGxhYmVsd2lkdGh9eyMxfX0KK1xcbmV3Y29tbWFuZHtc XGNzbHJpZ2h0aW5saW5lfVsxXQorICB7XFxwYXJib3hbdF17XFxsaW5ld2lkdGggLSBcXGNzbGxh YmVsc2VwIC0gXFxjc2xsYWJlbHdpZHRofXsjMX1cXGJyZWFrfQorXFxuZXdjb21tYW5ke1xcY3Ns aW5kZW50fVsxXXtcXGhzcGFjZXtcXGNzbGhhbmdpbmRlbnR9IzF9CitcXG1ha2VhdGxldHRlcgor XFxuZXdjb21tYW5ke1xcY2l0ZXByb2NpdGVtfVsyXQorIHtcXHByb3RlY3RcXGh5cGVyQGxpbmtz dGFydHtjaXRlfXtjaXRlcHJvY19iaWJfaXRlbV8jMX0jMlxcaHlwZXJAbGlua2VuZH0KK1xcbWFr ZWF0b3RoZXIiCisgICJMYVRlWCBwcmVhbWJsZSBjb250ZW50IGluc2VydGVkIGJ5IHRoZSBgY3Ns JyBjaXRhdGlvbiBwcm9jZXNzb3IuCisKK1RoZSBwbGFjZWhvbGRlcnMgW0NTTC1IQU5HSU5ERU5U XSwgW0NTTC1MQUJFTFNFUF0sCitbQ1NMLUxBQkVMV0lEVEgtUEVSLUNIQVJdIGFuZCBbQ1NMLU1B WExBQkVMLUNIQVJTXSBhcmUgcmVwbGFjZWQsCityZXNwZWN0aXZlbHksIGJ5IHRoZSBjb250ZW50 cyBvZiB0aGUgY3VzdG9taXphYmxlIHZhcmlhYmxlcworYG9yZy1jaXRlLWNzbC1sYXRleC1oYW5n aW5nLWluZGVudCcsIGBvcmctY2l0ZS1jc2wtbGF0ZXgtbGFiZWwtc2VwYXJhdG9yJywKK2Bvcmct Y2l0ZS1jc2wtbGF0ZXgtbGFiZWwtd2lkdGgtcGVyLWNoYXInLCBhbmQgdGhlIG1heGltYWwgbGFi ZWwgbGVuZ3RoCitpbiB0aGUgYmlibGlvZ3JhcGh5IG1lYXN1cmVkIGluIGNoYXJhY3RlcnMuIgor ICA6Z3JvdXAgJ29yZy1jaXRlCisgIDp0eXBlICdzdHJpbmcKKyAgOnBhY2thZ2UtdmVyc2lvbiAn KE9yZyAuICI5LjYiKSkKKwogDAogOzs7IEludGVybmFsIHZhcmlhYmxlcwogKGRlZmNvbnN0IG9y Zy1jaXRlLWNzbC0tZXRjLWRpcgpAQCAtNDEzLDcgKzQ3NSw3IEBAIGNvcnJlc3BvbmRpbmcgdG8g b25lIG9mIHRoZSBvdXRwdXQgZm9ybWF0cyBzdXBwb3J0ZWQgYnkgQ2l0ZXByb2M6IGBodG1sJywK ICAgKGxldCAoKGJhY2tlbmQgKHBsaXN0LWdldCBpbmZvIDpiYWNrLWVuZCkpKQogICAgIChjb25k CiAgICAgICgob3JnLWV4cG9ydC1kZXJpdmVkLWJhY2tlbmQtcCBiYWNrZW5kICdodG1sKSAnaHRt bCkKLSAgICAgKChvcmctZXhwb3J0LWRlcml2ZWQtYmFja2VuZC1wIGJhY2tlbmQgJ2xhdGV4KSAn bGF0ZXgpCisgICAgICgob3JnLWV4cG9ydC1kZXJpdmVkLWJhY2tlbmQtcCBiYWNrZW5kICdsYXRl eCkgJ29yZy1sYXRleCkKICAgICAgKHQgJ29yZykpKSkKIAogKGRlZnVuIG9yZy1jaXRlLWNzbC0t c3R5bGUtZmlsZSAoaW5mbykKQEAgLTY3MCw2ICs3MzIsMjEgQEAgdmFsdWUgaXMgdGhlIGJpYmxp b2dyYXBoeSBhcyByZW5kZXJlZCBieSBDaXRlcHJvYy4iCiAgICAgICAgICAgICAocGxpc3QtcHV0 IGluZm8gOmNpdGUtY2l0ZXByb2MtcmVuZGVyZWQtYmlibGlvZ3JhcGhpZXMgcmVzdWx0KQogICAg ICAgICAgICAgcmVzdWx0KSkpKSkKIAorKGRlZnVuIG9yZy1jaXRlLWNzbC0tZ2VuZXJhdGUtbGF0 ZXgtcHJlYW1ibGUgKGluZm8pCisgICJHZW5lcmF0ZSB0aGUgQ1NMLXJlbGF0ZWQgcGFydCBvZiB0 aGUgTGFUZVggcHJlYW1ibGUuCitJTkZPIGlzIHRoZSBleHBvcnQgc3RhdGUsIGFzIGEgcHJvcGVy dHkgbGlzdC4iCisgIChsZXQqICgocGFyYW1ldGVycyAoY2FkciAob3JnLWNpdGUtY3NsLS1yZW5k ZXJlZC1iaWJsaW9ncmFwaGllcyBpbmZvKSkpCisJIChtYXgtb2Zmc2V0IChjZHIgKGFzc3EgJ21h eC1vZmZzZXQgcGFyYW1ldGVycykpKQorCSAocmVzdWx0IG9yZy1jaXRlLWNzbC1sYXRleC1wcmVh bWJsZSkpCisgICAgKG1hcC1kbyAobGFtYmRhIChwbGFjZWhvbGRlciByZXBsYWNlbWVudCkKKwkg ICAgICAod2hlbiAoc3RyaW5nLW1hdGNoIHBsYWNlaG9sZGVyIHJlc3VsdCkKKwkJKHNldHEgcmVz dWx0IChyZXBsYWNlLW1hdGNoIHJlcGxhY2VtZW50IHQgdCByZXN1bHQpKSkpCisJICAgIGAoIlxc W0NTTC1IQU5HSU5ERU5UXFxdIiAsb3JnLWNpdGUtY3NsLWxhdGV4LWhhbmdpbmctaW5kZW50CisJ ICAgICAgIlxcW0NTTC1MQUJFTFNFUFxcXSIgLG9yZy1jaXRlLWNzbC1sYXRleC1sYWJlbC1zZXBh cmF0b3IKKwkgICAgICAiXFxbQ1NMLUxBQkVMV0lEVEgtUEVSLUNIQVJcXF0iICxvcmctY2l0ZS1j c2wtbGF0ZXgtbGFiZWwtd2lkdGgtcGVyLWNoYXIKKwkgICAgICAiXFxbQ1NMLU1BWExBQkVMLUNI QVJTXFxdIiAsKG51bWJlci10by1zdHJpbmcgbWF4LW9mZnNldCkpKQorICAgIHJlc3VsdCkpCisK IAwKIDs7OyBFeHBvcnQgY2FwYWJpbGl0eQogKGRlZnVuIG9yZy1jaXRlLWNzbC1yZW5kZXItY2l0 YXRpb24gKGNpdGF0aW9uIF9zdHlsZSBfYmFja2VuZCBpbmZvKQpAQCAtNzE0LDEyICs3OTEsNyBA QCBJTkZPIGlzIHRoZSBleHBvcnQgc3RhdGUsIGFzIGEgcHJvcGVydHkgbGlzdC4iCiAgICAgICAg ICAgICAgIG9yZy1jaXRlLWNzbC1odG1sLWhhbmdpbmctaW5kZW50CiAgICAgICAgICAgICAgIG9y Zy1jaXRlLWNzbC1odG1sLWhhbmdpbmctaW5kZW50KSkKICAgICAgICAgb3V0cHV0KSkKLSAgICAg ICgnbGF0ZXgKLSAgICAgICAoaWYgKGNkciAoYXNzcSAnaGFuZ2luZy1pbmRlbnQgcGFyYW1ldGVy cykpCi0gICAgICAgICAgIChmb3JtYXQgIlxcYmVnaW57aGFuZ3BhcmFzfXslc317MX1cbiVzXG5c XGVuZHtoYW5ncGFyYXN9IgotICAgICAgICAgICAgICAgICAgIG9yZy1jaXRlLWNzbC1sYXRleC1o YW5naW5nLWluZGVudAotICAgICAgICAgICAgICAgICAgIG91dHB1dCkKLSAgICAgICAgIG91dHB1 dCkpCisgICAgICAoJ29yZy1sYXRleCBvdXRwdXQpCiAgICAgICAoXwogICAgICAgIDs7IFBhcnNl IE9yZyBvdXRwdXQgdG8gcmUtZXhwb3J0IGl0IGR1cmluZyB0aGUgcmVndWxhciBleHBvcnQKICAg ICAgICA7OyBwcm9jZXNzLgpAQCAtNzMwLDE4ICs4MDIsMTQgQEAgSU5GTyBpcyB0aGUgZXhwb3J0 IHN0YXRlLCBhcyBhIHByb3BlcnR5IGxpc3QuIgogT1VUUFVUIGlzIHRoZSBleHBvcnQgZG9jdW1l bnQsIGFzIGEgc3RyaW5nLiAgSU5GTyBpcyB0aGUgZXhwb3J0IHN0YXRlLCBhcyBhCiBwcm9wZXJ0 eSBsaXN0LiIKICAgKG9yZy1jaXRlLWNzbC0tYmFyZi13aXRob3V0LWNpdGVwcm9jKQotICAoaWYg KG5vdCAoZXEgJ2xhdGV4IChvcmctY2l0ZS1jc2wtLW91dHB1dC1mb3JtYXQgaW5mbykpKQorICAo aWYgKG5vdCAoZXEgJ29yZy1sYXRleCAob3JnLWNpdGUtY3NsLS1vdXRwdXQtZm9ybWF0IGluZm8p KSkKICAgICAgIG91dHB1dAogICAgICh3aXRoLXRlbXAtYnVmZmVyCiAgICAgICAoc2F2ZS1leGN1 cnNpb24gKGluc2VydCBvdXRwdXQpKQogICAgICAgKHdoZW4gKHNlYXJjaC1mb3J3YXJkICJcXGJl Z2lue2RvY3VtZW50fSIgbmlsIHQpCi0gICAgICAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmlu ZyAwKSkKLSAgICAgICAgOzsgRW5zdXJlIHRoYXQgXGNpdGVwcm9jaXRlbSBpcyBkZWZpbmVkIGZv ciBjaXRlcHJvYy1lbC4KLSAgICAgICAgKGluc2VydCAiXFxtYWtlYXRsZXR0ZXJcblxcbmV3Y29t bWFuZHtcXGNpdGVwcm9jaXRlbX1bMl17XFxoeXBlckBsaW5rc3RhcnR7Y2l0ZX17Y2l0ZXByb2Nf YmliX2l0ZW1fIzF9IzJcXGh5cGVyQGxpbmtlbmR9XG5cXG1ha2VhdG90aGVyXG5cbiIpCi0gICAg ICAgIDs7IEVuc3VyZSB0aGVyZSBpcyBhIFx1c2VwYWNrYWdle2hhbmdpbmd9IHNvbWV3aGVyZSBv ciBhZGQgb25lLgotICAgICAgICAobGV0ICgocmUgKHJ4ICJcXHVzZXBhY2thZ2UiIChvcHQgIlsi ICgqPyBub25sKSAiXSIpICJ7aGFuZ2luZ30iKSkpCi0gICAgICAgICAgKHVubGVzcyAocmUtc2Vh cmNoLWJhY2t3YXJkIHJlIG5pbCB0KQotICAgICAgICAgICAgKGluc2VydCAiXFx1c2VwYWNrYWdl W25vdHF1b3RlXXtoYW5naW5nfVxuIikpKSkKKwkoZ290by1jaGFyIChtYXRjaC1iZWdpbm5pbmcg MCkpCisJOzsgSW5zZXJ0IHRoZSBDU0wtc3BlY2lmaWMgcGFydHMgb2YgdGhlIExhVGVYIHByZWFt YmxlLgorCShpbnNlcnQgKG9yZy1jaXRlLWNzbC0tZ2VuZXJhdGUtbGF0ZXgtcHJlYW1ibGUgaW5m bykpKQogICAgICAgKGJ1ZmZlci1zdHJpbmcpKSkpCiAKIAwKLS0gCjIuMjUuMQoK --000000000000592cb905ecca2020--