From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms1.migadu.com with LMTPS id MNBdKUWaQma+UgEAqHPOHw:P1 (envelope-from ) for ; Tue, 14 May 2024 00:55:01 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0.migadu.com with LMTPS id MNBdKUWaQma+UgEAqHPOHw (envelope-from ) for ; Tue, 14 May 2024 00:55:01 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=gmail.com header.s=20230601 header.b=RhhsQS57; dmarc=fail reason="SPF not aligned (relaxed)" 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" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1715640901; 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=APLvQfVlXkRt0qUGA2OwziA8Id1cV5bhs7NuUdb9uaM=; b=UdRVt3OOg9bg1Dm5TYLd63/2ALDlsaCc3Qi2CoRKL2Fe1oi1Fo3pPtUxXJ5oGGkZ000oDj +Q0Q4Hp0gqQqjauioBwqzrC14w4zt64leoIKMAGIbXeVKBTYNsBOlkz/96eWTM8dT0/zZr 7iMYmdWlHlwfkfGWK5SmbKFE1JIn02TpFESRV9/gsC0v89ClkWvkfLO+UlM5K9lV44Wcv0 jKJ8rPHCQqqr7KercxAz+3O97qds1KegnGG0fqw8J76JSWJNk/2N952JxvP8iqCqqt4wt+ 1xutXO+aw8XF2gC5jbQO4esP/Ye7gsY9ezFOxsvMN3ZCvYHKwfz9Ka6kRDhc5A== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1715640901; a=rsa-sha256; cv=none; b=T+yDzupFIgSFZwRf4pyLoKpSALAeiQNQWtmpm4Kj2oSntvS2pSlB0+TfjgV9AR/rPgqzBn hx4cg4hTxQiieNr3l3O8p9WLvkZjg/BHiE/GB7YfCup3v+V9WZUgFuGFzKIsIg7MHkHI+q TACMOlWjseZ6LdREcv0TWBBZgzbt39PGUnpi7enk76GcyU6B1ZJmiSSHoF6ouqGWpKBFSi z2k8IoC5nNhKYn+cimkEONpfO7NmAClpbw4YMRiqUpkbfgJpQTVaaors+8B+8Bvgj82Db+ 6fTazrPCEN/N9LTZWjM012Lf9uwt50OGpHMkEdSoppzBaSOxqlmY6IR+c72UkQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=gmail.com header.s=20230601 header.b=RhhsQS57; dmarc=fail reason="SPF not aligned (relaxed)" 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" 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 4028DD4EE for ; Tue, 14 May 2024 00:55:00 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s6eYc-00052J-BW; Mon, 13 May 2024 18:54:10 -0400 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 1s6eYb-00051s-2u for emacs-orgmode@gnu.org; Mon, 13 May 2024 18:54:09 -0400 Received: from mail-lj1-x232.google.com ([2a00:1450:4864:20::232]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1s6eYY-0001Ak-HP for emacs-orgmode@gnu.org; Mon, 13 May 2024 18:54:08 -0400 Received: by mail-lj1-x232.google.com with SMTP id 38308e7fff4ca-2e0a34b2899so76150461fa.3 for ; Mon, 13 May 2024 15:54:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715640844; x=1716245644; darn=gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=DvgqnqlAL/MXbEohvmJHtapYD1mJzJRw5snnwAoppM4=; b=RhhsQS57hRSKbcsuda2OX+kyzbjQDsaB4wAvzvjnzuHIDA9EqZU5igWRxCBwZBHOJJ 1hHjJ1APImOLxMdEG1WndHiRzno/+RyCrUBLn0+HD4jYG9hPnKxLyjhptHccsB34mB+i E2YG4q/Y3d7i+L7SH2n7sbzNZGExL0J1AdsdvUxzDs5wBkYgR9gcdPxabkC2LTAEV9pP qpSeN5WcdfU2KtKZw7n0OZe/Ip4LZnNUW5d/JyFXX3loyB6Y3nU/AsSRc/17LyVXZTko IwtXon/M2wUKngAZ8O3ZjIF4fpqPBNap/C88PpZKjNLO6BxIMrU9IhkuU6BEe9VOUYBh LybA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715640844; x=1716245644; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=DvgqnqlAL/MXbEohvmJHtapYD1mJzJRw5snnwAoppM4=; b=BEMUNcVJu3QwL3wI+pGOsURy9edCwtZBqUjTTE5B79TOHi+Gyt7kKsxDmcnRlUfZWX QL4ZL83oFWTWXIDsOCDNQ+zRpCcC9b2ioA+liVfWns97SQMCg9TRokGaKBMO3bdfXTFU 9NpEYY6FqM8GWb4qpJU22bjgIDbwkMUJ8Cry1T51X7qwjcvyppm3qBOzmwSbe/kddwBJ bPhfj2mGttjdXJDJk3rgULWivDxZ68fWEgV0FicjhBRYD3AaSWwjSNNk8R+nO5P1VKJV cz3PEeU8xkjyIMCl4yCJtIBAKPlAQ6XstBsJ43AkRgxvMod3cFdPvZI4jeeJACDV1/ef 3kyw== X-Gm-Message-State: AOJu0YzGNJD6B2c3C7CjXxysw/HZzU9IMWlxBbV2X/N51337I1bvji0Z 25vyhK5ZSQcBzCHJXAvqsCg/FDw567tbcGgbzCL82JhZxIefw6pMWMSTvkNYnwjgKESUbFg30Kd YhVy81HpoNz7jm47BC13eqepN5D7in8Gl X-Google-Smtp-Source: AGHT+IFdPnWdHpma4lOgCWjGpTmhnckTpab0lWxsUtILY0ZzCAKnYooZD0IADNyZZZRHajYIh+1mo6TCGFWjyqLbf+0= X-Received: by 2002:a2e:80c3:0:b0:2e0:b713:6bb3 with SMTP id 38308e7fff4ca-2e51fd3fe8amr105963241fa.8.1715640843711; Mon, 13 May 2024 15:54:03 -0700 (PDT) MIME-Version: 1.0 From: Nafiz Islam Date: Mon, 13 May 2024 18:53:52 -0400 Message-ID: Subject: [PATCH] function and symbol for headline and olp for org-capture-templates To: emacs-orgmode@gnu.org Content-Type: multipart/mixed; boundary="0000000000000dba7a06185dc350" Received-SPF: pass client-ip=2a00:1450:4864:20::232; envelope-from=nafiz.islam1001@gmail.com; helo=mail-lj1-x232.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-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -1.17 X-Spam-Score: -1.17 X-Migadu-Queue-Id: 4028DD4EE X-Migadu-Scanner: mx11.migadu.com X-TUID: zxcVqYpkTfcb --0000000000000dba7a06185dc350 Content-Type: multipart/alternative; boundary="0000000000000dba7906185dc34e" --0000000000000dba7906185dc34e Content-Type: text/plain; charset="UTF-8" Dear All, This patch adds the option to provide function and symbol for headline and olp for org-capture-templates. By that, I mean you can set the org-capture-templates in the following manner: (org-capture-templates `(("t" "Todo" entry (file+headline ,file (lambda () "A")) "** H1 %?"))) (org-capture-templates `(("t" "Todo" entry (file+headline ,file test-org-capture/entry/headline) "** H1 %?"))) Where `test-org-capture/entry/headline' is a variable/symbol. (org-capture-templates `(("t" "Todo" entry (file+olp ,file (lambda () '("A" "B"))) "* H1 %?"))) (org-capture-templates `(("t" "Todo" entry (file+olp ,file test-org-capture/entry/file+olp) "* H1 %?"))) Where `test-org-capture/entry/file+olp' is a variable/symbol. I also added a few more unit tests for the targets `file+olp' and `file+olp+datetree' to verify my new features and existing features. --0000000000000dba7906185dc34e Content-Type: text/html; charset="UTF-8"
Dear All, This patch adds the option to provide function and symbol for headline and olp for org-capture-templates. By that, I mean you can set the org-capture-templates in the following manner: (org-capture-templates `(("t" "Todo" entry (file+headline ,file (lambda () "A")) "** H1 %?"))) (org-capture-templates `(("t" "Todo" entry (file+headline ,file test-org-capture/entry/headline) "** H1 %?"))) Where `test-org-capture/entry/headline' is a variable/symbol. (org-capture-templates `(("t" "Todo" entry (file+olp ,file (lambda () '("A" "B"))) "* H1 %?"))) (org-capture-templates `(("t" "Todo" entry (file+olp ,file test-org-capture/entry/file+olp) "* H1 %?"))) Where `test-org-capture/entry/file+olp' is a variable/symbol. I also added a few more unit tests for the targets `file+olp' and `file+olp+datetree' to verify my new features and existing features.
--0000000000000dba7906185dc34e-- --0000000000000dba7a06185dc350 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-function-and-symbol-for-headline-and-olp-for-org-capture-templates.patch" Content-Disposition: attachment; filename="0001-function-and-symbol-for-headline-and-olp-for-org-capture-templates.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lw5k2nt90 RnJvbSA0NzU3YmQ1NTMxNjYzZTljODViZDU0ZTg2NDRjNGJhZDQwNzA5MzgzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYWZpeiBJc2xhbSA8bmFmaXouaXNsYW0xMDAxQGdtYWlsLmNv bT4KRGF0ZTogTW9uLCAxMyBNYXkgMjAyNCAxNzo1MzowMiAtMDQwMApTdWJqZWN0OiBbUEFUQ0hd IGZ1bmN0aW9uIGFuZCBzeW1ib2wgZm9yIGhlYWRsaW5lIGFuZCBvbHAgZm9yIG9yZy1jYXB0dXJl LXRlbXBsYXRlcwoKKiBkb2Mvb3JnLW1hbnVhbC5vcmc6IGFkZCB0ZW1wbGF0ZSBmb3JtYXQgZm9y IHRoZSBmdW5jdGlvbiBhbmQgc3ltYm9sIHZhcmlhbnQKKiBldGMvT1JHLU5FV1M6IGFubm91bmNl IHRoZSB1cGRhdGVkIG9wdGlvbnMKKiBsaXNwL29yZy1jYXB0dXJlLmVsIChvcmctY2FwdHVyZS10 ZW1wbGF0ZXMpOiB1cGRhdGUgY3VzdG9taXphdGlvbiB0eXBlIGZvciBoZWFkbGluZSBhbmQgb2xw IHRhcmdldAoqIGxpc3Avb3JnLWNhcHR1cmUuZWwgKG9yZy1jYXB0dXJlLWV4cGFuZC1mdW5jdGlv bi1vci1zeW1ib2wpOiBkZWZpbmUgYG9yZy1jYXB0dXJlLWV4cGFuZC1mdW5jdGlvbi1vci1zeW1i b2wnCiogbGlzcC9vcmctY2FwdHVyZS5lbCAob3JnLWNhcHR1cmUtZXhwYW5kLWhlYWRsaW5lKTog ZGVmaW5lIGBvcmctY2FwdHVyZS1leHBhbmQtaGVhZGxpbmUnCiogbGlzcC9vcmctY2FwdHVyZS5l bCAob3JnLWNhcHR1cmUtZXhwYW5kLW9scCk6IGRlZmluZSBgb3JnLWNhcHR1cmUtZXhwYW5kLW9s cCcKKiBsaXNwL29yZy1jYXB0dXJlLmVsIChvcmctY2FwdHVyZS1leHBhbmQtZmlsZSk6IHVwZGF0 ZSB0byB1c2UgYG9yZy1jYXB0dXJlLWV4cGFuZC1mdW5jdGlvbi1vci1zeW1ib2wnIHRvIGhhbmRs ZSBmdW5jdGlvbiBhbmQgc3ltYm9sCiogbGlzcC9vcmctY2FwdHVyZS5lbCAob3JnLWNhcHR1cmUt c2V0LXRhcmdldC1sb2NhdGlvbik6IHVzZSBgb3JnLWNhcHR1cmUtZXhwYW5kLWhlYWRsaW5lJyB0 byBleHBhbmQgaGVhZGxpbmUsIHVzZSBgb3JnLWNhcHR1cmUtZXhwYW5kLW9scCcgdG8gZXhwYW5k IG91dGxpbmUgcGF0aAoqIHRlc3RpbmcvbGlzcC90ZXN0LW9yZy1jYXB0dXJlLmVsICh0ZXN0LW9y Zy1jYXB0dXJlL2VudHJ5KTogYWRkIHRlc3RzIGZvciBhdCBtb3N0IHRocmVlIGRpZmZlcmVudCBr aW5kcyBvZiB0YXJnZXQgZm9yIGBmaWxlK2hlYWRsaW5lJywgYGZpbGUrb2xwJywgYW5kIGBmaWxl K29scCtkYXRldHJlZScKCi0tLQogZG9jL29yZy1tYW51YWwub3JnICAgICAgICAgICAgICAgfCAx MiArKysrCiBldGMvT1JHLU5FV1MgICAgICAgICAgICAgICAgICAgICB8ICA3ICsrKwogbGlzcC9v cmctY2FwdHVyZS5lbCAgICAgICAgICAgICAgfCA1OCArKysrKysrKysrKysrKystLS0tCiB0ZXN0 aW5nL2xpc3AvdGVzdC1vcmctY2FwdHVyZS5lbCB8IDk3ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDE2MiBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvb3JnLW1hbnVhbC5vcmcgYi9kb2Mvb3JnLW1hbnVhbC5v cmcKaW5kZXggZTNhMmM5YjcuLjVmZjljNWFjIDEwMDY0NAotLS0gYS9kb2Mvb3JnLW1hbnVhbC5v cmcKKysrIGIvZG9jL29yZy1tYW51YWwub3JnCkBAIC04MDMwLDEwICs4MDMwLDE4IEBAIE5vdyBs ZXRzIGxvb2sgYXQgdGhlIGVsZW1lbnRzIG9mIGEgdGVtcGxhdGUgZGVmaW5pdGlvbi4gIEVhY2gg ZW50cnkgaW4KIAogICAtID0oZmlsZStoZWFkbGluZSAiZmlsZW5hbWUiICJub2RlIGhlYWRsaW5l Iik9IDo6CiAKKyAgLSA9KGZpbGUraGVhZGxpbmUgImZpbGVuYW1lIiBmdW5jdGlvbi1yZXR1cm5p bmctaGVhZGxpbmUpPSA6OgorCisgIC0gPShmaWxlK2hlYWRsaW5lICJmaWxlbmFtZSIgc3ltYm9s LWNvbnRhaW5pbmctaGVhZGxpbmUpPSA6OgorCiAgICAgRmFzdCBjb25maWd1cmF0aW9uIGlmIHRo ZSB0YXJnZXQgaGVhZGluZyBpcyB1bmlxdWUgaW4gdGhlIGZpbGUuCiAKICAgLSA9KGZpbGUrb2xw ICJmaWxlbmFtZSIgIkxldmVsIDEgaGVhZGluZyIgIkxldmVsIDIiIC4uLik9IDo6CiAKKyAgLSA9 KGZpbGUrb2xwICJmaWxlbmFtZSIgZnVuY3Rpb24tcmV0dXJuaW5nLW91dGxpbmUtcGF0aCk9IDo6 CisKKyAgLSA9KGZpbGUrb2xwICJmaWxlbmFtZSIgc3ltYm9sLWNvbnRhaW5pbmctb3V0bGluZS1w YXRoKT0gOjoKKwogICAgIEZvciBub24tdW5pcXVlIGhlYWRpbmdzLCB0aGUgZnVsbCBwYXRoIGlz IHNhZmVyLgogCiAgIC0gPShmaWxlK3JlZ2V4cCAiZmlsZW5hbWUiICJyZWdleHAgdG8gZmluZCBs b2NhdGlvbiIpPSA6OgpAQCAtODA0Miw2ICs4MDUwLDEwIEBAIE5vdyBsZXRzIGxvb2sgYXQgdGhl IGVsZW1lbnRzIG9mIGEgdGVtcGxhdGUgZGVmaW5pdGlvbi4gIEVhY2ggZW50cnkgaW4KIAogICAt ID0oZmlsZStvbHArZGF0ZXRyZWUgImZpbGVuYW1lIiBbICJMZXZlbCAxIGhlYWRpbmciIC4uLl0p PSA6OgogCisgIC0gPShmaWxlK29scCtkYXRldHJlZSAiZmlsZW5hbWUiIGZ1bmN0aW9uLXJldHVy bmluZy1vdXRsaW5lLXBhdGgpPSA6OgorCisgIC0gPShmaWxlK29scCtkYXRldHJlZSAiZmlsZW5h bWUiIHN5bWJvbC1jb250YWluaW5nLW91dGxpbmUtcGF0aCk9IDo6CisKICAgICBUaGlzIHRhcmdl dFtmbjozMF0gY3JlYXRlcyBhIGhlYWRpbmcgaW4gYSBkYXRlIHRyZWVbZm46MzFdIGZvcgogICAg IHRvZGF5J3MgZGF0ZS4gIElmIHRoZSBvcHRpb25hbCBvdXRsaW5lIHBhdGggaXMgZ2l2ZW4sIHRo ZSB0cmVlCiAgICAgd2lsbCBiZSBidWlsdCB1bmRlciB0aGUgbm9kZSBpdCBpcyBwb2ludGluZyB0 bywgaW5zdGVhZCBvZiBhdCB0b3AKZGlmZiAtLWdpdCBhL2V0Yy9PUkctTkVXUyBiL2V0Yy9PUkct TkVXUwppbmRleCA4N2I3MmFkMS4uMTNjODk1ZGMgMTAwNjQ0Ci0tLSBhL2V0Yy9PUkctTkVXUwor KysgYi9ldGMvT1JHLU5FV1MKQEAgLTcyMCw2ICs3MjAsMTMgQEAgYW55IG1vcmUuICBSdW4gfm9y Zy1jdGFncy1lbmFibGV+IHRvIHNldHVwIGhvb2tzIGFuZCBhZHZpY2VzOgogIytlbmRfc3JjCiAK ICoqIE5ldyBhbmQgY2hhbmdlZCBvcHRpb25zCisKKyoqKiBOZXcgY3VzdG9taXphdGlvbiBvcHRp b25zIGZvciB+b3JnLWNhcHR1cmUtdGVtcGxhdGVzfgorCitUaGUgdmFyaWFibGUgfm9yZy1jYXB0 dXJlLXRlbXBsYXRlc34gYWNjZXB0cyBhIHRhcmdldCBzcGVjaWZpY2F0aW9uCitmb3IgaGVhZGxp bmUgKH5maWxlK2hlYWRsaW5lfikgYW5kIG9scCAofmZpbGUrb2xkfiBhbmQKK35maWxlK29scCtk YXRldHJlZX4pIGFzIGZ1bmN0aW9uIGFuZCBzeW1ib2wuCisKICoqKiBOZXcgb3B0aW9uIGNvbnRy b2xsaW5nIGhvdyBPcmcgbW9kZSBzb3J0cyB0aGluZ3Mgfm9yZy1zb3J0LWZ1bmN0aW9ufgogCiBT b3J0aW5nIG9mIGFnZW5kYSBpdGVtcywgdGFibGVzLCBtZW51cywgaGVhZGxpbmVzLCBldGMgY2Fu IG5vdyBiZQpkaWZmIC0tZ2l0IGEvbGlzcC9vcmctY2FwdHVyZS5lbCBiL2xpc3Avb3JnLWNhcHR1 cmUuZWwKaW5kZXggZGExNGY0NWMuLjhjMWZmOWUxIDEwMDY0NAotLS0gYS9saXNwL29yZy1jYXB0 dXJlLmVsCisrKyBiL2xpc3Avb3JnLWNhcHR1cmUuZWwKQEAgLTQwOSw3ICs0MDksMTMgQEAgeW91 IGNhbiBlc2NhcGUgYW1iaWd1b3VzIGNhc2VzIHdpdGggYSBiYWNrd2FyZCBzbGFzaCwgZS5nLiwg XFwlaS4iCiAJCQkJKGZpbGUgOnRhZyAiTGl0ZXJhbCIpCiAJCQkJKGZ1bmN0aW9uIDp0YWcgIkZ1 bmN0aW9uIikKIAkJCQkodmFyaWFibGUgOnRhZyAiVmFyaWFibGUiKQotCQkJCShzZXhwIDp0YWcg IkZvcm0iKSkpKQorCQkJCShzZXhwIDp0YWcgIkZvcm0iKSkpCisgICAgICAgIChvbHAtdmFyaWFu dHMgJyhjaG9pY2UgOnRhZyAiT3V0bGluZSBwYXRoIgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChyZXBlYXQgOnRhZyAiT3V0bGluZSBwYXRoIiA6aW5saW5lIHQKKwkJCQkgICAgICAg KHN0cmluZyA6dGFnICJIZWFkbGluZSIpKQorCQkJICAgICAgIChmdW5jdGlvbiA6dGFnICJGdW5j dGlvbiIpCisJCQkgICAgICAgKHZhcmlhYmxlIDp0YWcgIlZhcmlhYmxlIikKKwkJCSAgICAgICAo c2V4cCA6dGFnICJGb3JtIikpKSkKICAgICBgKHJlcGVhdAogICAgICAgKGNob2ljZSA6dmFsdWUg KCIiICIiIGVudHJ5IChmaWxlICJ+L29yZy9ub3Rlcy5vcmciKSAiIikKIAkgICAgICAobGlzdCA6 dGFnICJNdWx0aWtleSBkZXNjcmlwdGlvbiIKQEAgLTQzNCwxMiArNDQwLDE1IEBAIHlvdSBjYW4g ZXNjYXBlIGFtYmlndW91cyBjYXNlcyB3aXRoIGEgYmFja3dhcmQgc2xhc2gsIGUuZy4sIFxcJWku IgogCQkJICAgIChsaXN0IDp0YWcgIkZpbGUgJiBIZWFkbGluZSIKIAkJCQkgIChjb25zdCA6Zm9y bWF0ICIiIGZpbGUraGVhZGxpbmUpCiAJCQkJICAsZmlsZS12YXJpYW50cwotCQkJCSAgKHN0cmlu ZyA6dGFnICIgIEhlYWRsaW5lIikpCisJCQkJICAoY2hvaWNlIDp0YWcgIkhlYWRsaW5lIgorCQkJ CSAgICAgICAgICAoc3RyaW5nICAgOnRhZyAiSGVhZGxpbmUiKQorCQkJCSAgICAgICAgICAoZnVu Y3Rpb24gOnRhZyAiRnVuY3Rpb24iKQorCQkJCSAgICAgICAgICAodmFyaWFibGUgOnRhZyAiVmFy aWFibGUiKQorCQkJCSAgICAgICAgICAoc2V4cCA6dGFnICJGb3JtIikpKQogCQkJICAgIChsaXN0 IDp0YWcgIkZpbGUgJiBPdXRsaW5lIHBhdGgiCiAJCQkJICAoY29uc3QgOmZvcm1hdCAiIiBmaWxl K29scCkKIAkJCQkgICxmaWxlLXZhcmlhbnRzCi0JCQkJICAocmVwZWF0IDp0YWcgIk91dGxpbmUg cGF0aCIgOmlubGluZSB0Ci0JCQkJCSAgKHN0cmluZyA6dGFnICJIZWFkbGluZSIpKSkKKwkJCQkg ICxvbHAtdmFyaWFudHMpCiAJCQkgICAgKGxpc3QgOnRhZyAiRmlsZSAmIFJlZ2V4cCIKIAkJCQkg IChjb25zdCA6Zm9ybWF0ICIiIGZpbGUrcmVnZXhwKQogCQkJCSAgLGZpbGUtdmFyaWFudHMKQEAg LTQ0Nyw4ICs0NTYsNyBAQCB5b3UgY2FuIGVzY2FwZSBhbWJpZ3VvdXMgY2FzZXMgd2l0aCBhIGJh Y2t3YXJkIHNsYXNoLCBlLmcuLCBcXCVpLiIKIAkJCSAgICAobGlzdCA6dGFnICJGaWxlIFsgJiBP dXRsaW5lIHBhdGggXSAmIERhdGUgdHJlZSIKIAkJCQkgIChjb25zdCA6Zm9ybWF0ICIiIGZpbGUr b2xwK2RhdGV0cmVlKQogCQkJCSAgLGZpbGUtdmFyaWFudHMKLQkJCQkgIChvcHRpb24gKHJlcGVh dCA6dGFnICJPdXRsaW5lIHBhdGgiIDppbmxpbmUgdAotCQkJCQkJICAoc3RyaW5nIDp0YWcgIkhl YWRsaW5lIikpKSkKKwkJCQkgICxvbHAtdmFyaWFudHMpCiAJCQkgICAgKGxpc3QgOnRhZyAiRmls ZSAmIGZ1bmN0aW9uIgogCQkJCSAgKGNvbnN0IDpmb3JtYXQgIiIgZmlsZStmdW5jdGlvbikKIAkJ CQkgICxmaWxlLXZhcmlhbnRzCkBAIC0xMDEyLDcgKzEwMjAsNyBAQCBTdG9yZSB0aGVtIGluIHRo ZSBjYXB0dXJlIHByb3BlcnR5IGxpc3QuIgogCSAgICAob3JnLWNhcHR1cmUtcHV0LXRhcmdldC1y ZWdpb24tYW5kLXBvc2l0aW9uKQogCSAgICAoZ290by1jaGFyIHBvc2l0aW9uKSkKIAkgICAoXyAo ZXJyb3IgIkNhbm5vdCBmaW5kIHRhcmdldCBJRCBcIiVzXCIiIGlkKSkpKQotCShgKGZpbGUraGVh ZGxpbmUgLHBhdGggLChhbmQgaGVhZGxpbmUgKHByZWQgc3RyaW5ncCkpKQorCShgKGZpbGUraGVh ZGxpbmUgLHBhdGggLGhlYWRsaW5lKQogCSAoc2V0LWJ1ZmZlciAob3JnLWNhcHR1cmUtdGFyZ2V0 LWJ1ZmZlciBwYXRoKSkKIAkgOzsgT3JnIGV4cGVjdHMgdGhlIHRhcmdldCBmaWxlIHRvIGJlIGlu IE9yZyBtb2RlLCBvdGhlcndpc2UKIAkgOzsgaXQgdGhyb3dzIGFuIGVycm9yLiAgSG93ZXZlciwg dGhlIGRlZmF1bHQgbm90ZXMgZmlsZXMKQEAgLTEwMjYsNiArMTAzNCw3IEBAIFN0b3JlIHRoZW0g aW4gdGhlIGNhcHR1cmUgcHJvcGVydHkgbGlzdC4iCiAJIChvcmctY2FwdHVyZS1wdXQtdGFyZ2V0 LXJlZ2lvbi1hbmQtcG9zaXRpb24pCiAJICh3aWRlbikKIAkgKGdvdG8tY2hhciAocG9pbnQtbWlu KSkKKyAgICAgICAgIChzZXRxIGhlYWRsaW5lIChvcmctY2FwdHVyZS1leHBhbmQtaGVhZGxpbmUg aGVhZGxpbmUpKQogCSAoaWYgKHJlLXNlYXJjaC1mb3J3YXJkIChmb3JtYXQgb3JnLWNvbXBsZXgt aGVhZGluZy1yZWdleHAtZm9ybWF0CiAJCQkJCShyZWdleHAtcXVvdGUgaGVhZGxpbmUpKQogCQkJ CW5pbCB0KQpAQCAtMTAzNiw3ICsxMDQ1LDcgQEAgU3RvcmUgdGhlbSBpbiB0aGUgY2FwdHVyZSBw cm9wZXJ0eSBsaXN0LiIKIAkgICAoZm9yd2FyZC1saW5lIC0xKSkpCiAJKGAoZmlsZStvbHAgLHBh dGggLiAsKGFuZCBvdXRsaW5lLXBhdGggKGd1YXJkIG91dGxpbmUtcGF0aCkpKQogCSAobGV0ICgo bSAob3JnLWZpbmQtb2xwIChjb25zIChvcmctY2FwdHVyZS1leHBhbmQtZmlsZSBwYXRoKQotCQkJ CSAgICAgIG91dGxpbmUtcGF0aCkpKSkKKwkJCQkgICAgICAoYXBwbHkgIydvcmctY2FwdHVyZS1l eHBhbmQtb2xwIG91dGxpbmUtcGF0aCkpKSkpCiAJICAgKHNldC1idWZmZXIgKG1hcmtlci1idWZm ZXIgbSkpCiAJICAgKG9yZy1jYXB0dXJlLXB1dC10YXJnZXQtcmVnaW9uLWFuZC1wb3NpdGlvbikK IAkgICAod2lkZW4pCkBAIC0xMDU4LDcgKzEwNjcsNyBAQCBTdG9yZSB0aGVtIGluIHRoZSBjYXB0 dXJlIHByb3BlcnR5IGxpc3QuIgogCShgKGZpbGUrb2xwK2RhdGV0cmVlICxwYXRoIC4gLG91dGxp bmUtcGF0aCkKIAkgKGxldCAoKG0gKGlmIG91dGxpbmUtcGF0aAogCQkgICAgICAob3JnLWZpbmQt b2xwIChjb25zIChvcmctY2FwdHVyZS1leHBhbmQtZmlsZSBwYXRoKQotCQkJCQkgIG91dGxpbmUt cGF0aCkpCisJCQkJCSAgKGFwcGx5ICMnb3JnLWNhcHR1cmUtZXhwYW5kLW9scCBvdXRsaW5lLXBh dGgpKSkKIAkJICAgIChzZXQtYnVmZmVyIChvcmctY2FwdHVyZS10YXJnZXQtYnVmZmVyIHBhdGgp KQogCQkgICAgKHBvaW50LW1hcmtlcikpKSkKIAkgICAoc2V0LWJ1ZmZlciAobWFya2VyLWJ1ZmZl ciBtKSkKQEAgLTExNDMsNiArMTE1MiwzMyBAQCBTdG9yZSB0aGVtIGluIHRoZSBjYXB0dXJlIHBy b3BlcnR5IGxpc3QuIgogCQkJICAgICAgKG9yZy1kZWNyeXB0LWVudHJ5KQogCQkJICAgICAgKGFu ZCAob3JnLWJhY2stdG8taGVhZGluZyB0KSAocG9pbnQpKSkpKSkpKQogCisoZGVmdW4gb3JnLWNh cHR1cmUtZXhwYW5kLWZ1bmN0aW9uLW9yLXN5bWJvbCAoaW5wdXQpCisgICJFeHBhbmQgZnVuY3Rp b25zIGFuZCBzeW1ib2xzLiBXaGVuIElOUFVUIGlzIGEKK2Z1bmN0aW9uLCBjYWxsIGl0LiBXaGVu IGl0IGlzIGEgdmFyaWFibGUsIHJldHVybgoraXRzIHZhbHVlLiBJbiBhbnkgb3RoZXIgY2FzZSwg cmV0dXJuIGBuaWwnLiIKKyAgKGxldCogKChvdXRwdXQgKGNvbmQgKChmdW5jdGlvbnAgaW5wdXQp IChmdW5jYWxsIGlucHV0KSkKKwkJICAgICAgICgoYW5kIChzeW1ib2xwIGlucHV0KSAoYm91bmRw IGlucHV0KSkgKHN5bWJvbC12YWx1ZSBpbnB1dCkpCisgICAgICAgICAgICAgICAgICAgICAgICh0 IG5pbCkpKSkKKyAgICBvdXRwdXQpKQorCisoZGVmdW4gb3JnLWNhcHR1cmUtZXhwYW5kLWhlYWRs aW5lIChoZWFkbGluZSkKKyAgIkV4cGFuZCBmdW5jdGlvbnMsIHN5bWJvbHMgYW5kIGhlYWRsaW5l IG5hbWVzIGZvciBIRUFETElORS4KK1doZW4gSEVBRExJTkUgaXMgYSBmdW5jdGlvbiwgY2FsbCBp dC4gV2hlbiBpdCBpcyBhIHZhcmlhYmxlLAorcmV0dXJuIGl0cyB2YWx1ZS4gV2hlbiBpdCBpcyBh IHN0cmluZywgcmV0dXJuIGl0LiAgSW4gYW55IG90aGVyCitjYXNlLCByZXR1cm4gYG5pbCcuIgor ICAobGV0KiAoKGZpbmFsLWhlYWRsaW5lIChjb25kICgoc3RyaW5ncCBoZWFkbGluZSkgaGVhZGxp bmUpCisgICAgICAgICAgICAgICAgICAgICAgICh0IChvcmctY2FwdHVyZS1leHBhbmQtZnVuY3Rp b24tb3Itc3ltYm9sIGhlYWRsaW5lKSkpKSkKKyAgICBmaW5hbC1oZWFkbGluZSkpCisKKyhkZWZ1 biBvcmctY2FwdHVyZS1leHBhbmQtb2xwICgmcmVzdCBvbHApCisgICJFeHBhbmQgZnVuY3Rpb25z LCBzeW1ib2xzIGFuZCBvdXRsaW5lIHBhdGhzIGZvciBPTFAuCitXaGVuIE9MUCBpcyBhIGZ1bmN0 aW9uLCBjYWxsIGl0LiBXaGVuIGl0IGlzIGEgdmFyaWFibGUsCityZXR1cm4gaXRzIHZhbHVlLiBX aGVuIGl0IGlzIGEgbGlzdCBvZiBzdHJpbmcsIHJldHVybiBpdC4KK0luIGFueSBvdGhlciBjYXNl LCByZXR1cm4gYG5pbCcuIgorICAobGV0KiAoKGZpbmFsLW9scCAoY29uZCAoKHN0cmluZ3AgKGNh ciBvbHApKSBvbHApCisgICAgICAgICAgICAgICAgICAgICAgICAgICh0IChvcmctY2FwdHVyZS1l eHBhbmQtZnVuY3Rpb24tb3Itc3ltYm9sIChjYXIgb2xwKSkpKSkpCisgICAgZmluYWwtb2xwKSkK KwogKGRlZnVuIG9yZy1jYXB0dXJlLWV4cGFuZC1maWxlIChmaWxlKQogICAiRXhwYW5kIGZ1bmN0 aW9ucywgc3ltYm9scyBhbmQgZmlsZSBuYW1lcyBmb3IgRklMRS4KIFdoZW4gRklMRSBpcyBhIGZ1 bmN0aW9uLCBjYWxsIGl0LiAgV2hlbiBpdCBpcyBhIGZvcm0sIGV2YWx1YXRlCkBAIC0xMTUzLDkg KzExODksNyBAQCBzdHJpbmcsIGhvd2V2ZXIsIHJldHVybiBgb3JnLWRlZmF1bHQtbm90ZXMtZmls ZScuICBJbiBhbnkgb3RoZXIKIGNhc2UsIHJhaXNlIGFuIGVycm9yLiIKICAgKGxldCAoKGxvY2F0 aW9uIChjb25kICgoZXF1YWwgZmlsZSAiIikgb3JnLWRlZmF1bHQtbm90ZXMtZmlsZSkKIAkJCSgo c3RyaW5ncCBmaWxlKSAoZXhwYW5kLWZpbGUtbmFtZSBmaWxlIG9yZy1kaXJlY3RvcnkpKQotCQkJ KChmdW5jdGlvbnAgZmlsZSkgKGZ1bmNhbGwgZmlsZSkpCi0JCQkoKGFuZCAoc3ltYm9scCBmaWxl KSAoYm91bmRwIGZpbGUpKSAoc3ltYm9sLXZhbHVlIGZpbGUpKQotCQkJKHQgbmlsKSkpKQorICAg ICAgICAgICAgICAgICAgICAgICAgKHQgKG9yZy1jYXB0dXJlLWV4cGFuZC1mdW5jdGlvbi1vci1z eW1ib2wgZmlsZSkpKSkpCiAgICAgKG9yIChvcmctc3RyaW5nLW53LXAgbG9jYXRpb24pCiAJKGVy cm9yICJJbnZhbGlkIGZpbGUgbG9jYXRpb246ICVTIiBsb2NhdGlvbikpKSkKIApkaWZmIC0tZ2l0 IGEvdGVzdGluZy9saXNwL3Rlc3Qtb3JnLWNhcHR1cmUuZWwgYi90ZXN0aW5nL2xpc3AvdGVzdC1v cmctY2FwdHVyZS5lbAppbmRleCAwZWQ0NGM2YS4uZWExMWQ4ZWYgMTAwNjQ0Ci0tLSBhL3Rlc3Rp bmcvbGlzcC90ZXN0LW9yZy1jYXB0dXJlLmVsCisrKyBiL3Rlc3RpbmcvbGlzcC90ZXN0LW9yZy1j YXB0dXJlLmVsCkBAIC0yMjMsNiArMjIzLDEwMyBAQAogCShpbnNlcnQgIkNhcHR1cmUgdGV4dCIp CiAJKG9yZy1jYXB0dXJlLWZpbmFsaXplKSkKICAgICAgIChidWZmZXItc3RyaW5nKSkpKQorICAo c2hvdWxkCisgICAoZXF1YWwKKyAgICAiKiBBXG4qKiBIMSBDYXB0dXJlIHRleHRcbiogQlxuIgor ICAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dC1pbi1maWxlICIqIEFcbiogQlxuIgorICAgICAg KGxldCogKChmaWxlIChidWZmZXItZmlsZS1uYW1lKSkKKwkgICAgIChvcmctY2FwdHVyZS10ZW1w bGF0ZXMKKwkgICAgICBgKCgidCIgIlRvZG8iIGVudHJ5IChmaWxlK2hlYWRsaW5lICxmaWxlIChs YW1iZGEgKCkgIkEiKSkgIioqIEgxICU/IikpKSkKKwkob3JnLWNhcHR1cmUgbmlsICJ0IikKKwko aW5zZXJ0ICJDYXB0dXJlIHRleHQiKQorCShvcmctY2FwdHVyZS1maW5hbGl6ZSkpCisgICAgICAo YnVmZmVyLXN0cmluZykpKSkKKyAgKHNob3VsZAorICAgKGVxdWFsCisgICAgIiogQVxuKiogSDEg Q2FwdHVyZSB0ZXh0XG4qIEJcbiIKKyAgICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQtaW4tZmls ZSAiKiBBXG4qIEJcbiIKKyAgICAgIChsZXQqICgoZmlsZSAoYnVmZmVyLWZpbGUtbmFtZSkpCisJ ICAgICAob3JnLWNhcHR1cmUtdGVtcGxhdGVzCisJICAgICAgYCgoInQiICJUb2RvIiBlbnRyeSAo ZmlsZStoZWFkbGluZSAsZmlsZSB0ZXN0LW9yZy1jYXB0dXJlL2VudHJ5L2hlYWRsaW5lKSAiKiog SDEgJT8iKSkpKQorICAgICAgICAoc2V0cSB0ZXN0LW9yZy1jYXB0dXJlL2VudHJ5L2hlYWRsaW5l ICJBIikKKwkob3JnLWNhcHR1cmUgbmlsICJ0IikKKwkoaW5zZXJ0ICJDYXB0dXJlIHRleHQiKQor CShvcmctY2FwdHVyZS1maW5hbGl6ZSkKKyAgICAgICAgKG1ha3VuYm91bmQgJ3Rlc3Qtb3JnLWNh cHR1cmUvZW50cnkvaGVhZGxpbmUpKQorICAgICAgKGJ1ZmZlci1zdHJpbmcpKSkpCisgIChzaG91 bGQKKyAgIChlcXVhbAorICAgICIqIEFcbioqIEJcbioqKiBIMSBDYXB0dXJlIHRleHRcbioqIENc biogQlxuKiogQlxuIgorICAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dC1pbi1maWxlICIqIEFc bioqIEJcbioqIENcbiogQlxuKiogQiIKKyAgICAgIChsZXQqICgoZmlsZSAoYnVmZmVyLWZpbGUt bmFtZSkpCisJICAgICAob3JnLWNhcHR1cmUtdGVtcGxhdGVzCisJICAgICAgYCgoInQiICJUb2Rv IiBlbnRyeSAoZmlsZStvbHAgLGZpbGUgIkEiICJCIikgIiogSDEgJT8iKSkpKQorCShvcmctY2Fw dHVyZSBuaWwgInQiKQorCShpbnNlcnQgIkNhcHR1cmUgdGV4dCIpCisJKG9yZy1jYXB0dXJlLWZp bmFsaXplKSkKKyAgICAgIChidWZmZXItc3RyaW5nKSkpKQorICAoc2hvdWxkCisgICAoZXF1YWwK KyAgICAiKiBBXG4qKiBCXG4qKiogSDEgQ2FwdHVyZSB0ZXh0XG4qKiBDXG4qIEJcbioqIEJcbiIK KyAgICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQtaW4tZmlsZSAiKiBBXG4qKiBCXG4qKiBDXG4q IEJcbioqIEIiCisgICAgICAobGV0KiAoKGZpbGUgKGJ1ZmZlci1maWxlLW5hbWUpKQorCSAgICAg KG9yZy1jYXB0dXJlLXRlbXBsYXRlcworCSAgICAgIGAoKCJ0IiAiVG9kbyIgZW50cnkgKGZpbGUr b2xwICxmaWxlIChsYW1iZGEgKCkgJygiQSIgIkIiKSkpICIqIEgxICU/IikpKSkKKwkob3JnLWNh cHR1cmUgbmlsICJ0IikKKwkoaW5zZXJ0ICJDYXB0dXJlIHRleHQiKQorCShvcmctY2FwdHVyZS1m aW5hbGl6ZSkpCisgICAgICAoYnVmZmVyLXN0cmluZykpKSkKKyAgKHNob3VsZAorICAgKGVxdWFs CisgICAgIiogQVxuKiogQlxuKioqIEgxIENhcHR1cmUgdGV4dFxuKiogQ1xuKiBCXG4qKiBCXG4i CisgICAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0LWluLWZpbGUgIiogQVxuKiogQlxuKiogQ1xu KiBCXG4qKiBCIgorICAgICAgKGxldCogKChmaWxlIChidWZmZXItZmlsZS1uYW1lKSkKKwkgICAg IChvcmctY2FwdHVyZS10ZW1wbGF0ZXMKKwkgICAgICBgKCgidCIgIlRvZG8iIGVudHJ5IChmaWxl K29scCAsZmlsZSB0ZXN0LW9yZy1jYXB0dXJlL2VudHJ5L2ZpbGUrb2xwKSAiKiBIMSAlPyIpKSkp CisgICAgICAgIChzZXRxIHRlc3Qtb3JnLWNhcHR1cmUvZW50cnkvZmlsZStvbHAgJygiQSIgIkIi KSkKKwkob3JnLWNhcHR1cmUgbmlsICJ0IikKKwkoaW5zZXJ0ICJDYXB0dXJlIHRleHQiKQorCShv cmctY2FwdHVyZS1maW5hbGl6ZSkKKyAgICAgICAgKG1ha3VuYm91bmQgJ3Rlc3Qtb3JnLWNhcHR1 cmUvZW50cnkvZmlsZStvbHApKQorICAgICAgKGJ1ZmZlci1zdHJpbmcpKSkpCisgIChzaG91bGQK KyAgIChlcXVhbAorICAgICIqIEFcbioqIEJcbioqKiAxOTY5XG4qKioqIDE5NjktMTIgRGVjZW1i ZXJcbioqKioqIDE5NjktMTItMzEgV2VkbmVzZGF5XG4qKioqKiogSDEgQ2FwdHVyZSB0ZXh0XG4q KiBDXG4qIEJcbioqIEJcbiIKKyAgICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQtaW4tZmlsZSAi KiBBXG4qKiBCXG4qKiBDXG4qIEJcbioqIEIiCisgICAgICAobGV0KiAoKGZpbGUgKGJ1ZmZlci1m aWxlLW5hbWUpKQorCSAgICAgKG9yZy1jYXB0dXJlLXRlbXBsYXRlcworCSAgICAgIGAoKCJ0IiAi VG9kbyIgZW50cnkgKGZpbGUrb2xwK2RhdGV0cmVlICxmaWxlICJBIiAiQiIpICIqIEgxICU/Iikp KQorICAgICAgICAgICAgIChvcmctb3ZlcnJpZGluZy1kZWZhdWx0LXRpbWUgMCkpCisJKG9yZy1j YXB0dXJlIG5pbCAidCIpCisJKGluc2VydCAiQ2FwdHVyZSB0ZXh0IikKKwkob3JnLWNhcHR1cmUt ZmluYWxpemUpKQorICAgICAgKGJ1ZmZlci1zdHJpbmcpKSkpCisgIChzaG91bGQKKyAgIChlcXVh bAorICAgICIqIEFcbioqIEJcbioqKiAxOTY5XG4qKioqIDE5NjktMTIgRGVjZW1iZXJcbioqKioq IDE5NjktMTItMzEgV2VkbmVzZGF5XG4qKioqKiogSDEgQ2FwdHVyZSB0ZXh0XG4qKiBDXG4qIEJc bioqIEJcbiIKKyAgICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQtaW4tZmlsZSAiKiBBXG4qKiBC XG4qKiBDXG4qIEJcbioqIEIiCisgICAgICAobGV0KiAoKGZpbGUgKGJ1ZmZlci1maWxlLW5hbWUp KQorCSAgICAgKG9yZy1jYXB0dXJlLXRlbXBsYXRlcworCSAgICAgIGAoKCJ0IiAiVG9kbyIgZW50 cnkgKGZpbGUrb2xwK2RhdGV0cmVlICxmaWxlIChsYW1iZGEgKCkgJygiQSIgIkIiKSkpICIqIEgx ICU/IikpKQorICAgICAgICAgICAgIChvcmctb3ZlcnJpZGluZy1kZWZhdWx0LXRpbWUgMCkpCisJ KG9yZy1jYXB0dXJlIG5pbCAidCIpCisJKGluc2VydCAiQ2FwdHVyZSB0ZXh0IikKKwkob3JnLWNh cHR1cmUtZmluYWxpemUpKQorICAgICAgKGJ1ZmZlci1zdHJpbmcpKSkpCisgIChzaG91bGQKKyAg IChlcXVhbAorICAgICIqIEFcbioqIEJcbioqKiAxOTY5XG4qKioqIDE5NjktMTIgRGVjZW1iZXJc bioqKioqIDE5NjktMTItMzEgV2VkbmVzZGF5XG4qKioqKiogSDEgQ2FwdHVyZSB0ZXh0XG4qKiBD XG4qIEJcbioqIEJcbiIKKyAgICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQtaW4tZmlsZSAiKiBB XG4qKiBCXG4qKiBDXG4qIEJcbioqIEIiCisgICAgICAobGV0KiAoKGZpbGUgKGJ1ZmZlci1maWxl LW5hbWUpKQorCSAgICAgKG9yZy1jYXB0dXJlLXRlbXBsYXRlcworCSAgICAgIGAoKCJ0IiAiVG9k byIgZW50cnkgKGZpbGUrb2xwK2RhdGV0cmVlICxmaWxlIHRlc3Qtb3JnLWNhcHR1cmUvZW50cnkv ZmlsZStvbHArZGF0ZXRyZWUpICIqIEgxICU/IikpKQorICAgICAgICAgICAgIChvcmctb3ZlcnJp ZGluZy1kZWZhdWx0LXRpbWUgMCkpCisgICAgICAgIChzZXRxIHRlc3Qtb3JnLWNhcHR1cmUvZW50 cnkvZmlsZStvbHArZGF0ZXRyZWUgJygiQSIgIkIiKSkKKwkob3JnLWNhcHR1cmUgbmlsICJ0IikK KwkoaW5zZXJ0ICJDYXB0dXJlIHRleHQiKQorCShvcmctY2FwdHVyZS1maW5hbGl6ZSkKKyAgICAg ICAgKG1ha3VuYm91bmQgJ3Rlc3Qtb3JnLWNhcHR1cmUvZW50cnkvZmlsZStvbHArZGF0ZXRyZWUp KQorICAgICAgKGJ1ZmZlci1zdHJpbmcpKSkpCiAgIDs7IENvcnJlY3RseSBzYXZlIHBvc2l0aW9u IG9mIGluc2VydGVkIGVudHJ5LgogICAoc2hvdWxkCiAgICAoZXF1YWwKLS0gCjIuNDIuMAoK --0000000000000dba7a06185dc350--