From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Brand Subject: Re: Distinguish between blank and zero in org-mode spreadsheet Date: Fri, 28 Dec 2012 15:10:22 +0100 Message-ID: References: <87r4mxv7l8.fsf@googlemail.com> <5596.1355206238@alphaville> <87ehirekir.fsf@bzg.ath.cx> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=089e013a11a26d9b9004d1ea3984 Return-path: Received: from eggs.gnu.org ([208.118.235.92]:33670) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Toadr-0007Y3-7j for emacs-orgmode@gnu.org; Fri, 28 Dec 2012 09:10:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Toadj-00040t-U6 for emacs-orgmode@gnu.org; Fri, 28 Dec 2012 09:10:31 -0500 Received: from mail-vb0-f51.google.com ([209.85.212.51]:59125) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Toadj-0003zk-KA for emacs-orgmode@gnu.org; Fri, 28 Dec 2012 09:10:23 -0500 Received: by mail-vb0-f51.google.com with SMTP id fq11so10653359vbb.38 for ; Fri, 28 Dec 2012 06:10:23 -0800 (PST) In-Reply-To: <87ehirekir.fsf@bzg.ath.cx> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Bastien Cc: Bob Newell , Thorsten Jolitz , Nick Dokos , Org Mode --089e013a11a26d9b9004d1ea3984 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Hi all On Sat, Dec 15, 2012 at 10:23 AM, Bastien wrote: > Michael Brand writes: >> Ok, so I thought to try myself this time. Now it looks as I am on a >> good way with a solution. With quite some ERT for this and some more >> of basic formulas. > > Thanks for working on this, if there is a clean solution, I'm willing > to add it for Org 8.0. Patch 6 of the attached patches makes it possible to write spreadsheet Calc formulas that check for empty fields: To sum the first two columns unless one or both empty: $3 =3D if("$1" =3D "nan" || "$2" =3D "nan", string(""), $1 + $2); E The other patches: - patch 1: testing/README: add howto run ERT partially - patch 2: Add ERT for table alignment within Org buffer The new function org-test-table-target-expect is to simplify writing spreadsheet ERT by providing just a target table to apply the formula to, the expected result table and the table formula with optionally additional variants. The variants typically are to check the same result with a Lisp formula and a Calc formula. test-org-table.el is also a howto example collection as a user documentation. - patch 3: Extend org-table-number-regexp - patch 4: Add ERTs for basic spreadsheet functionality My plan is to add spreadsheet examples only to Org ERT (test-org-table.el) from now on and someday to move those I already made on Worg. - patch 5: org-table.el: Fix range len bugs and inconsistencies The range len bugs may lead to wrong calculations for range references with empty fields when the range len is relevant. Affects typically Calc vmean on simple range and without format specifier EN. Also Lisp with e. g. `length' on simple range or with L. Note: Org ERT passes after every single patch to document the behavior of each patch. After the review is complete please make sure that =93make check=94 passes before applying the patches and also before git push. I hope I got it right with the require to resolve the dependencies. Michael --089e013a11a26d9b9004d1ea3984 Content-Type: text/plain; charset=US-ASCII; name="0001-testing-README-add-howto-run-ERT-partially.patch.txt" Content-Disposition: attachment; filename="0001-testing-README-add-howto-run-ERT-partially.patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hb9edfk60 RnJvbSAyZTI0NzlhODk0MDc2MTA4YTM0ZGJhYWNjNDY2NThlM2ViNWVjMTZjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIEJyYW5kIDxtaWNoYWVsLmNoLmJyYW5kQGdtYWls LmNvbT4KRGF0ZTogRnJpLCAyOCBEZWMgMjAxMiAxNDo1ODoyNCArMDEwMApTdWJqZWN0OiBbUEFU Q0ggMS82XSB0ZXN0aW5nL1JFQURNRTogYWRkIGhvd3RvIHJ1biBFUlQgcGFydGlhbGx5CgoqIHRl c3RpbmcvUkVBRE1FIChJbnRlcmFjdGl2ZSB0ZXN0aW5nIGZyb20gd2l0aGluIEVtYWNzKTogQWRk IGEKZGVzY3JpcHRpb24gaG93IHRvIHJ1biBhIHNpbmdsZSBFUlQgb3IgYWxsIHRlc3RzIG9mIGEg c2luZ2xlIHRlc3QKZmlsZS4KLS0tCiB0ZXN0aW5nL1JFQURNRSB8ICAgMzMgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKystCiAxIGZpbGVzIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKyks IDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdGVzdGluZy9SRUFETUUgYi90ZXN0aW5nL1JF QURNRQppbmRleCBhODFlZmEwLi44Y2U3YTE5IDEwMDY0NAotLS0gYS90ZXN0aW5nL1JFQURNRQor KysgYi90ZXN0aW5nL1JFQURNRQpAQCAtNDMsMTEgKzQzLDQyIEBAIGxvYWQgYW5kIHJ1biB0aGUg dGVzdCBzdWl0ZSB3aXRoIHRoZSBmb2xsb3dpbmcgY29tbWFuZHMuCiAgICAgIChyZXF1aXJlICdv cmctdGVzdCkKICAgICMrRU5EX1NSQwogCi0yKSBUaGVuIHJ1biB0aGUgdGVzdCBzdWl0ZS4KKzIp IFRoZW4gcnVuIHRoZSB0ZXN0IHN1aXRlLAogICAgIytCRUdJTl9TUkMgZW1hY3MtbGlzcAogICAg ICAob3JnLXRlc3QtcnVuLWFsbC10ZXN0cykKICAgICMrRU5EX1NSQwogCisgICBvciB3aGVuIGEg dGVzdCBmYWlscyBydW4gaXQgaW50ZXJhY3RpdmVseSBhbmQgaW52ZXN0aWdhdGUgdGhlCisgICBw cm9ibGVtIGluIHRoZSBFUlQgcmVzdWx0cyBidWZmZXIuCisKKyAgIEhvdyB0byBydW4gb25lIHRl c3Q6CisgICBVc2UgdGhpcyBhcyBhIGRlbW8gZXhhbXBsZSBvZiBhIGZhaWxpbmcgdGVzdAorICAg IytCRUdJTl9TUkMgZW1hY3MtbGlzcAorICAgICAoZXJ0LWRlZnRlc3QgdGVzdC1vcmcvb3JnLWxp bmstZXNjYXBlLWFzY2lpLWNoYXJhY3Rlci1kZW1vLW9mLWZhaWwgKCkKKyAgICAgICAoc2hvdWxk IChzdHJpbmc9ICIlNUIiICA7OyBleHBlY3RlZCBpcyByaWdodAorICAgICAgICAgICAgICAgICAg ICAgICAgKG9yZy1saW5rLWVzY2FwZSAiWyIpKSkKKyAgICAgICAoc2hvdWxkIChzdHJpbmc9ICIl NUMiICA7OyBleHBlY3RlZCBpcyB3cm9uZywgIiU1RCIgd291bGQgYmUgcmlnaHQKKyAgICAgICAg ICAgICAgICAgICAgICAgIChvcmctbGluay1lc2NhcGUgIl0iKSkpKQorICAgIytFTkRfU1JDCisg ICBvciBldmFsdWF0ZSB0aGUgZXJ0LWRlZnRlc3QgZm9ybSBvZiB0aGUgdGVzdCB5b3Ugd2FudCB0 byBydW4uICBUaGVuCisgICAiTS14IGVydCBSRVQgdGVzdC1vcmcvb3JnLWxpbmstZXNjYXBlLWFz Y2lpLWNoYXJhY3Rlci1kZW1vLW9mLWZhaWwgUkVUIgorICAgV2hlbiBub3QgdmlzaWJsZSB5ZXQg c3dpdGNoIHRvIHRoZSBFUlQgcmVzdWx0cyBidWZmZXIgbmFtZWQKKyAgICJcKmVydFwqIi4gIFdo ZW4gYSB0ZXN0IGZhaWxlZCB0aGUgRVJUIHJlc3VsdHMgYnVmZmVyIHNob3dzIHRoZQorICAgZGV0 YWlscyBvZiB0aGUgZmlyc3QgInNob3VsZCIgdGhhdCBmYWlsZWQuICBTZWUKKyAgIChpbmZvICIo ZXJ0KVJ1bm5pbmcgVGVzdHMgSW50ZXJhY3RpdmVseSIpIG9uIGhvdyB0byByZS1ydW4sIHN0YXJ0 CisgICB0aGUgZGVidWdnZXIgZXRjLgorCisgICBIb3cgdG8gcnVuIGFsbCB0ZXN0cyBvZiBhIHNp bmdsZSB0ZXN0IGZpbGU6CisgICAiTS14IGVydC1kZWxldGUtYWxsLXRlc3RzIFJFVCIsIGNvbmZp cm0uICBPcGVuIHRoZSBmaWxlCisgICAuL2xpc3AvdGVzdC0qLmVsLCAiTS14IGV2YWwtYnVmZmVy IFJFVCIsICJNLXggZXJ0IFJFVCB0IFJFVCIKKworICAgQ29uc2lkZXIgdG8gc2V0IHBwLWVzY2Fw ZS1uZXdsaW5lcyBuaWwgYmVmb3JlIHJ1bm5pbmcgdGhlIHRlc3Qgd2hlbgorICAgbG9va2luZyBh dCAic2hvdWxkIiBpbiB0aGUgRVJUIHJlc3VsdHMgYnVmZmVyLiAgRXNwZWNpYWxseSB3aGVuCisg ICB1c2luZyAibCIgdG8gbG9vayBhdCBwYXNzZWQgdGVzdCByZXN1bHRzIGFuZCBwb3NzaWJseSBt aXNzaW5nIGFuCisgICBhcHByb3ByaWF0ZSBzZXR0aW5nIG9mIHBwLWVzY2FwZS1uZXdsaW5lcyBt YWRlIG9ubHkgdGVtcG9yYXJpbHkgZm9yCisgICB0aGUgcnVubmluZyB0aW1lIG9mIHRoZSB0ZXN0 IGFzIGUuIGcuIHRlc3RzIHVzaW5nCisgICBvcmctdGVzdC10YWJsZS10YXJnZXQtZXhwZWN0LXRi bGZtIGRvLgorCiAqIFRyb3VibGVzaG9vdGluZwogCiAtIElmIHRoZSB2YWx1ZSBvZiB0aGUgPW9y Zy1iYWJlbC1uby1ldmFsLW9uLWN0cmwtYy1jdHJsLWM9IGlzIG5vbi1uaWwKLS0gCjEuNy4xCgo= --089e013a11a26d9b9004d1ea3984 Content-Type: text/plain; charset=US-ASCII; name="0002-Add-ERT-for-table-alignment-within-Org-buffer.patch.txt" Content-Disposition: attachment; filename="0002-Add-ERT-for-table-alignment-within-Org-buffer.patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hb9edpeb1 RnJvbSAxNGM2Y2M3MmZkMmVlNDA4MDQ2ZDQ4MzBjNDM2YWUwYmVjZmU4MTQ0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIEJyYW5kIDxtaWNoYWVsLmNoLmJyYW5kQGdtYWls LmNvbT4KRGF0ZTogRnJpLCAyOCBEZWMgMjAxMiAxNDo1OToxNyArMDEwMApTdWJqZWN0OiBbUEFU Q0ggMi82XSBBZGQgRVJUIGZvciB0YWJsZSBhbGlnbm1lbnQgd2l0aGluIE9yZyBidWZmZXIKCiog dGVzdGluZy9saXNwL3Rlc3Qtb3JnLXRhYmxlLmVsICh0ZXN0LW9yZy10YWJsZS9hbGlnbik6IE5l dwplcnQtZGVmdGVzdCBmb3IgdGFibGUgYWxpZ25tZW50IHdpdGhpbiBPcmcgYnVmZmVyLgoqIHRl c3Rpbmcvb3JnLXRlc3QuZWwgKG9yZy10ZXN0LXRhYmxlLXRhcmdldC1leHBlY3QpOiBOZXcgZGVm dW4uCgpUaGUgbmV3IGZ1bmN0aW9uIG9yZy10ZXN0LXRhYmxlLXRhcmdldC1leHBlY3QgaXMgdG8g c2ltcGxpZnkgd3JpdGluZwpzcHJlYWRzaGVldCBFUlQgYnkgcHJvdmlkaW5nIGp1c3QgYSB0YXJn ZXQgdGFibGUgdG8gYXBwbHkgdGhlIGZvcm11bGEKdG8sIHRoZSBleHBlY3RlZCByZXN1bHQgdGFi bGUgYW5kIHRoZSB0YWJsZSBmb3JtdWxhIHdpdGggb3B0aW9uYWxseQphZGRpdGlvbmFsIHZhcmlh bnRzLiAgVGhlIHZhcmlhbnRzIHR5cGljYWxseSBhcmUgdG8gY2hlY2sgdGhlIHNhbWUKcmVzdWx0 IHdpdGggYSBMaXNwIGZvcm11bGEgYW5kIGEgQ2FsYyBmb3JtdWxhLiAgdGVzdC1vcmctdGFibGUu ZWwgaXMKYWxzbyBhIGhvd3RvIGV4YW1wbGUgY29sbGVjdGlvbiBhcyBhIHVzZXIgZG9jdW1lbnRh dGlvbi4KLS0tCiB0ZXN0aW5nL2xpc3AvdGVzdC1vcmctdGFibGUuZWwgfCAgIDE0ICsrKysrKysr KysKIHRlc3Rpbmcvb3JnLXRlc3QuZWwgICAgICAgICAgICB8ICAgNTIgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA2NiBpbnNlcnRpb25z KCspLCAwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rlc3RpbmcvbGlzcC90ZXN0LW9yZy10 YWJsZS5lbCBiL3Rlc3RpbmcvbGlzcC90ZXN0LW9yZy10YWJsZS5lbAppbmRleCA4YjU5MTE0Li40 Yzg5OWE4IDEwMDY0NAotLS0gYS90ZXN0aW5nL2xpc3AvdGVzdC1vcmctdGFibGUuZWwKKysrIGIv dGVzdGluZy9saXNwL3Rlc3Qtb3JnLXRhYmxlLmVsCkBAIC0yMyw2ICsyMywyMCBAQAogOzsgVGVt cGxhdGUgdGVzdCBmaWxlIGZvciBPcmctbW9kZSB0ZXN0cwogCiA7OzsgQ29kZToKKworKGVydC1k ZWZ0ZXN0IHRlc3Qtb3JnLXRhYmxlL2FsaWduICgpCisgICJBbGlnbiBjb2x1bW5zIHdpdGhpbiBP cmcgYnVmZmVyLCBkZXBlbmRzIG9uIGBvcmctdGFibGUtbnVtYmVyLXJlZ2V4cCcuIgorICAob3Jn LXRlc3QtdGFibGUtdGFyZ2V0LWV4cGVjdCAiCit8IDAgIHwgIDAgfCAgICAwIHwgICAgICAgMCB8 ICAgICAgIDAgfCAgICAgICAgICAgMCB8ICAgICAgIDAgfCAgICAwIHwKK3wgYWIgfCAxMiB8IDEy LjIgfCAyLjRlLTA4IHwgMngxMF4xMiB8IDQuMDM0Ky0wLjAyIHwgMi43KDEwKSB8ID4zLjUgfAor fCBhYiB8IGFiIHwgICBhYiB8ICAgICAgYWIgfCAgICAgIGFiIHwgICAgICAgICAgYWIgfCAgICAg IGFiIHwgICBhYiB8CisiKQorICAob3JnLXRlc3QtdGFibGUtdGFyZ2V0LWV4cGVjdCAiCit8IDAg ICAgICAgICAgfCAwICAgICAgICAgICB8ICAgMCB8IDAgICAgfCAwICAgIHwgMCAgIHwKK3wgPC0w eDBhYi5jZiB8ID4tMzYjMHZ3Lnl6IHwgbmFuIHwgdWluZiB8IC1pbmYgfCBpbmYgfAorfCBhYiAg ICAgICAgIHwgYWIgICAgICAgICAgfCAgYWIgfCBhYiAgIHwgYWIgICB8IGFiICB8CisiKSkKKwog KGVydC1kZWZ0ZXN0IHRlc3Qtb3JnLXRhYmxlL29yZy10YWJsZS1jb252ZXJ0LXJlZnMtdG8tYW4v MSAoKQogICAiU2ltcGxlIHJlZmVyZW5jZSBAMSQxLiIKICAgKHNob3VsZApkaWZmIC0tZ2l0IGEv dGVzdGluZy9vcmctdGVzdC5lbCBiL3Rlc3Rpbmcvb3JnLXRlc3QuZWwKaW5kZXggODI3MGJlMC4u NTZiY2IxMCAxMDA2NDQKLS0tIGEvdGVzdGluZy9vcmctdGVzdC5lbAorKysgYi90ZXN0aW5nL29y Zy10ZXN0LmVsCkBAIC0yMjAsNiArMjIwLDU4IEBAIG90aGVyd2lzZSBwbGFjZSB0aGUgcG9pbnQg YXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgaW5zZXJ0ZWQgdGV4dC4iCiAgICAgICAgLHJlc3VsdHMp KSkKIChkZWYtZWRlYnVnLXNwZWMgb3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQtaW4tZmlsZSAoZm9y bSBib2R5KSkKIAorKGRlZnVuIG9yZy10ZXN0LXRhYmxlLXRhcmdldC1leHBlY3QgKHRhcmdldCAm b3B0aW9uYWwgZXhwZWN0IGxhcHMKKyZyZXN0IHRibGZtKQorICAiRm9yIGFsbCBUQkxGTTogQXBw bHkgdGhlIGZvcm11bGEgdG8gVEFSR0VULCBjb21wYXJlIEVYUEVDVCB3aXRoIHJlc3VsdC4KK0Vp dGhlciBMQVBTIGFuZCBUQkxGTSBhcmUgbmlsIGFuZCB0aGUgdGFibGUgd2lsbCBvbmx5IGJlIGFs aWduZWQKK29yIExBUFMgaXMgdGhlIGNvdW50IG9mIHJlY2FsY3VsYXRpb25zIHRoYXQgc2hvdWxk IGJlIG1hZGUgb24KK2VhY2ggVEJMRk0uICBUbyBzYXZlIEVSVCBydW4gdGltZSBrZWVwIExBUFMg YXMgbG93IGFzIHBvc3NpYmxlIHRvCitnZXQgdGhlIHRhYmxlIHN0YWJsZS4gIEFueWhvdywgaWYg TEFQUyBpcyAnaXRlcmF0ZSB0aGVuIGl0ZXJhdGUsCitidXQgdGhpcyB3aWxsIHJ1biBvbmUgcmVj YWxjdWxhdGlvbiBsb25nZXIuICBXaGVuIEVYUEVDVCBpcyBuaWwKK2l0IHdpbGwgYmUgc2V0IHRv IFRBUkdFVC4KKworSWYgcnVubmluZyBhIHRlc3QgaW50ZXJhY3RpdmVseSBpbiBFUlQgaXMgbm90 IGVub3VnaCBhbmQgeW91IG5lZWQKK3RvIGV4YW1pbmUgdGhlIHRhcmdldCB0YWJsZSB3aXRoIGUu IGcuIHRoZSBPcmcgZm9ybXVsYSBkZWJ1Z2dlcgorb3IgYW4gRW1hY3MgTGlzcCBkZWJ1Z2dlciAo ZS4gZy4gd2l0aCBwb2ludCBpbiBhIGRhdGEgZmllbGQgYW5kCitjYWxsaW5nIHRoZSBpbnN0cnVt ZW50ZWQgYG9yZy10YWJsZS1ldmFsLWZvcm11bGEnKSB0aGVuIGNvcHkgYW5kCitwYXN0ZSB0aGUg dGFibGUgd2l0aCBmb3JtdWxhIGZyb20gdGhlIEVSVCByZXN1bHRzIGJ1ZmZlciBvcgordGVtcG9y YXJpbHkgc3Vic3RpdHV0ZSB0aGUgYG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0JyBvZiB0aGlzCitm dW5jdGlvbiB3aXRoIGBvcmctdGVzdC13aXRoLXRlbXAtdGV4dC1pbi1maWxlJy4KKworQ29uc2lk ZXIgc2V0dGluZyBgcHAtZXNjYXBlLW5ld2xpbmVzJyB0byBuaWwgbWFudWFsbHkuIgorICAocmVx dWlyZSAncHApCisgIChsZXQgKChiYWNrIHBwLWVzY2FwZS1uZXdsaW5lcykgKGN1cnJlbnQtdGJs Zm0pKQorICAgICh1bmxlc3MgdGJsZm0KKyAgICAgIChzaG91bGQtbm90IGxhcHMpCisgICAgICAo cHVzaCAiIiB0YmxmbSkpICA7IER1bW15IGZvcm11bGEuCisgICAgKHVubGVzcyBleHBlY3QgKHNl dHEgZXhwZWN0IHRhcmdldCkpCisgICAgKHdoaWxlIChzZXRxIGN1cnJlbnQtdGJsZm0gKHBvcCB0 YmxmbSkpCisgICAgICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQgKGNvbmNhdCB0YXJnZXQgY3Vy cmVudC10YmxmbSkKKwk7OyBTZWFyY2ggdGFibGUsIHN0b3AgRVJUIGF0IGVuZCBvZiBidWZmZXIg aWYgbm90IGZvdW5kLgorCSh3aGlsZSAobm90IChvcmctYXQtdGFibGUtcCkpCisJICAoc2hvdWxk IChlcSAwIChmb3J3YXJkLWxpbmUpKSkpCisJKHdoZW4gbGFwcworCSAgKGlmIChhbmQgKHN5bWJv bHAgbGFwcykgKGVxIGxhcHMgJ2l0ZXJhdGUpKQorCSAgICAgIChzaG91bGQgKG9yZy10YWJsZS1y ZWNhbGN1bGF0ZSAnaXRlcmF0ZSB0KSkKKwkgICAgKHNob3VsZCAoaW50ZWdlcnAgbGFwcykpCisJ ICAgIChzaG91bGQgKDwgMCBsYXBzKSkKKwkgICAgKGxldCAoKGNudCBsYXBzKSkKKwkgICAgICAo d2hpbGUgKDwgMCBjbnQpCisJCShzaG91bGQgKG9yZy10YWJsZS1yZWNhbGN1bGF0ZSAnYWxsIHQp KQorCQkoc2V0cSBjbnQgKDEtIGNudCkpKSkpKQorCShvcmctdGFibGUtYWxpZ24pCisJKHNldHEg cHAtZXNjYXBlLW5ld2xpbmVzIG5pbCkKKwk7OyBEZWNsdXR0ZXIgdGhlIEVSVCByZXN1bHRzIGJ1 ZmZlciBieSBnaXZpbmcgb25seSB2YXJpYWJsZXMKKwk7OyBhbmQgbm90IGRpcmVjdGx5IHRoZSBm b3JtcyB0byBgc2hvdWxkJy4KKwkobGV0ICgoZXhwZWN0IChjb25jYXQgZXhwZWN0IGN1cnJlbnQt dGJsZm0pKQorCSAgICAgIChyZXN1bHQgKGJ1ZmZlci1zdWJzdHJpbmctbm8tcHJvcGVydGllcwor CQkgICAgICAgKHBvaW50LW1pbikgKHBvaW50LW1heCkpKSkKKwkgIChzaG91bGQgKGVxdWFsIGV4 cGVjdCByZXN1bHQpKSkKKwk7OyBJZiBgc2hvdWxkJyBwYXNzZWQgdGhlbiBzZXQgYmFjayBgcHAt ZXNjYXBlLW5ld2xpbmVzJyBoZXJlLAorCTs7IGVsc2UgbGVhdmUgaXQgbmlsIGFzIGEgc2lkZSBl ZmZlY3QgdG8gc2VlIHRoZSBmYWlsZWQgdGFibGUKKwk7OyBvbiBtdWx0aXBsZSBsaW5lcyBpbiB0 aGUgRVJUIHJlc3VsdHMgYnVmZmVyLgorCShzZXRxIHBwLWVzY2FwZS1uZXdsaW5lcyBiYWNrKSkp KSkKKwogDAogOzs7IE5hdmlnYXRpb24gRnVuY3Rpb25zCiAod2hlbiAoZmVhdHVyZXAgJ2p1bXAp Ci0tIAoxLjcuMQoK --089e013a11a26d9b9004d1ea3984 Content-Type: text/plain; charset=US-ASCII; name="0003-Extend-org-table-number-regexp.patch.txt" Content-Disposition: attachment; filename="0003-Extend-org-table-number-regexp.patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hb9edxdh2 RnJvbSAyZmQ3ZGRmNTUwYmMyZjRhZDdlOTg5NGU0OWJmNmJhZTUwNDg1OTI0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIEJyYW5kIDxtaWNoYWVsLmNoLmJyYW5kQGdtYWls LmNvbT4KRGF0ZTogRnJpLCAyOCBEZWMgMjAxMiAxNTowMDowMyArMDEwMApTdWJqZWN0OiBbUEFU Q0ggMy82XSBFeHRlbmQgb3JnLXRhYmxlLW51bWJlci1yZWdleHAKCiogbGlzcC9vcmctdGFibGUu ZWwgKG9yZy10YWJsZS1udW1iZXItcmVnZXhwKTogRXh0ZW5kIDB4IGhleCB0bwpmaXhlZC1wb2lu dCBudW1iZXIsIGFkZCA8cmFkaXg+IzxudW1iZXI+LCBhZGQgQ2FsYyBpbmZpbml0ZSBudW1iZXJz CnVpbmYsIC1pbmYgYW5kIGluZi4KKiB0ZXN0aW5nL2xpc3AvdGVzdC1vcmctdGFibGUuZWwgKHRl c3Qtb3JnLXRhYmxlL2FsaWduKTogQWRhcHQKYWxpZ25tZW50LgotLS0KIGxpc3Avb3JnLXRhYmxl LmVsICAgICAgICAgICAgICB8ICAgMTAgKysrKystLS0tLQogdGVzdGluZy9saXNwL3Rlc3Qtb3Jn LXRhYmxlLmVsIHwgICAgNCArKy0tCiAyIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwg NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saXNwL29yZy10YWJsZS5lbCBiL2xpc3Avb3Jn LXRhYmxlLmVsCmluZGV4IDUwOWExZWYuLjZhOWQwYjQgMTAwNjQ0Ci0tLSBhL2xpc3Avb3JnLXRh YmxlLmVsCisrKyBiL2xpc3Avb3JnLXRhYmxlLmVsCkBAIC0xMTIsNyArMTEyLDcgQEAgdGFibGUs IG9idGFpbmVkIGJ5IHByb21wdGluZyB0aGUgdXNlci4iCiAgIDp0eXBlICdzdHJpbmcpCiAKIChk ZWZjdXN0b20gb3JnLXRhYmxlLW51bWJlci1yZWdleHAKLSAgIl5cXChbPD5dP1stK14uMC05XSpb MC05XVstK14uMC05ZUVkRHgoKSU6XSpcXHxcXCgwW3hYXVxcKVswLTlhLWZBLUZdK1xcfG5hblxc KSQiCisgICJeXFwoWzw+XT9bLSteLjAtOV0qWzAtOV1bLSteLjAtOWVFZER4KCklOl0qXFx8Wzw+ XT9bLStdPzBbeFhdWzAtOWEtZkEtRi5dK1xcfFs8Pl0/Wy0rXT9bMC05XSsjWzAtOWEtekEtWi5d K1xcfG5hblxcfFstK3VdP2luZlxcKSQiCiAgICJSZWd1bGFyIGV4cHJlc3Npb24gZm9yIHJlY29n bml6aW5nIG51bWJlcnMgaW4gdGFibGUgY29sdW1ucy4KIElmIGEgdGFibGUgY29sdW1uIGNvbnRh aW5zIG1vc3RseSBudW1iZXJzLCBpdCB3aWxsIGJlIGFsaWduZWQgdG8gdGhlCiByaWdodC4gIElm IG5vdCwgaXQgd2lsbCBiZSBhbGlnbmVkIHRvIHRoZSBsZWZ0LgpAQCAtMTM2LDEwICsxMzYsMTAg QEAgT3RoZXIgb3B0aW9ucyBvZmZlcmVkIGJ5IHRoZSBjdXN0b21pemUgaW50ZXJmYWNlIGFyZSBt b3JlIHJlc3RyaWN0aXZlLiIKIAkJICJeWy0rXT9cXChbMC05XSpcXC5bMC05XStcXHxbMC05XStc XC4/WzAtOV0qXFwpJCIpCiAJICAoY29uc3QgOnRhZyAiRXhwb25lbnRpYWwsIEZsb2F0aW5nIHBv aW50LCBJbnRlZ2VyIgogCQkgIl5bLStdP1swLTkuXStcXChbZUVkRF1bLSswLTldK1xcKT8kIikK LQkgIChjb25zdCA6dGFnICJWZXJ5IEdlbmVyYWwgTnVtYmVyLUxpa2UsIGluY2x1ZGluZyBoZXgi Ci0JCSAiXlxcKFs8Pl0/Wy0rXi4wLTldKlswLTldWy0rXi4wLTllRWREeCgpJV0qXFx8XFwoMFt4 WF1cXClbMC05YS1mQS1GXStcXHxuYW5cXCkkIikKLQkgIChjb25zdCA6dGFnICJWZXJ5IEdlbmVy YWwgTnVtYmVyLUxpa2UsIGluY2x1ZGluZyBoZXgsIGFsbG93cyBjb21tYSBhcyBkZWNpbWFsIG1h cmsiCi0JCSAiXlxcKFs8Pl0/Wy0rXi4sMC05XSpbMC05XVstK14uMC05ZUVkRHgoKSVdKlxcfFxc KDBbeFhdXFwpWzAtOWEtZkEtRl0rXFx8bmFuXFwpJCIpCisJICAoY29uc3QgOnRhZyAiVmVyeSBH ZW5lcmFsIE51bWJlci1MaWtlLCBpbmNsdWRpbmcgaGV4IGFuZCBDYWxjIHJhZGl4IgorCQkgIl5c XChbPD5dP1stK14uMC05XSpbMC05XVstK14uMC05ZUVkRHgoKSVdKlxcfFs8Pl0/Wy0rXT8wW3hY XVswLTlhLWZBLUYuXStcXHxbPD5dP1stK10/WzAtOV0rI1swLTlhLXpBLVouXStcXHxuYW5cXHxb LSt1XT9pbmZcXCkkIikKKwkgIChjb25zdCA6dGFnICJWZXJ5IEdlbmVyYWwgTnVtYmVyLUxpa2Us IGluY2x1ZGluZyBoZXggYW5kIENhbGMgcmFkaXgsIGFsbG93cyBjb21tYSBhcyBkZWNpbWFsIG1h cmsiCisJCSAiXlxcKFs8Pl0/Wy0rXi4sMC05XSpbMC05XVstK14uMC05ZUVkRHgoKSVdKlxcfFs8 Pl0/Wy0rXT8wW3hYXVswLTlhLWZBLUYuXStcXHxbPD5dP1stK10/WzAtOV0rI1swLTlhLXpBLVou XStcXHxuYW5cXHxbLSt1XT9pbmZcXCkkIikKIAkgIChzdHJpbmcgOnRhZyAiUmVnZXhwOiIpKSkK IAogKGRlZmN1c3RvbSBvcmctdGFibGUtbnVtYmVyLWZyYWN0aW9uIDAuNQpkaWZmIC0tZ2l0IGEv dGVzdGluZy9saXNwL3Rlc3Qtb3JnLXRhYmxlLmVsIGIvdGVzdGluZy9saXNwL3Rlc3Qtb3JnLXRh YmxlLmVsCmluZGV4IDRjODk5YTguLjg5NzA0ZmYgMTAwNjQ0Ci0tLSBhL3Rlc3RpbmcvbGlzcC90 ZXN0LW9yZy10YWJsZS5lbAorKysgYi90ZXN0aW5nL2xpc3AvdGVzdC1vcmctdGFibGUuZWwKQEAg LTMyLDkgKzMyLDkgQEAKIHwgYWIgfCBhYiB8ICAgYWIgfCAgICAgIGFiIHwgICAgICBhYiB8ICAg ICAgICAgIGFiIHwgICAgICBhYiB8ICAgYWIgfAogIikKICAgKG9yZy10ZXN0LXRhYmxlLXRhcmdl dC1leHBlY3QgIgotfCAwICAgICAgICAgIHwgMCAgICAgICAgICAgfCAgIDAgfCAwICAgIHwgMCAg ICB8IDAgICB8Cit8ICAgICAgICAgIDAgfCAgICAgICAgICAgMCB8ICAgMCB8ICAgIDAgfCAgICAw IHwgICAwIHwKIHwgPC0weDBhYi5jZiB8ID4tMzYjMHZ3Lnl6IHwgbmFuIHwgdWluZiB8IC1pbmYg fCBpbmYgfAotfCBhYiAgICAgICAgIHwgYWIgICAgICAgICAgfCAgYWIgfCBhYiAgIHwgYWIgICB8 IGFiICB8Cit8ICAgICAgICAgYWIgfCAgICAgICAgICBhYiB8ICBhYiB8ICAgYWIgfCAgIGFiIHwg IGFiIHwKICIpKQogCiAoZXJ0LWRlZnRlc3QgdGVzdC1vcmctdGFibGUvb3JnLXRhYmxlLWNvbnZl cnQtcmVmcy10by1hbi8xICgpCi0tIAoxLjcuMQoK --089e013a11a26d9b9004d1ea3984 Content-Type: text/plain; charset=US-ASCII; name="0004-Add-ERTs-for-basic-spreadsheet-functionality.patch.txt" Content-Disposition: attachment; filename="0004-Add-ERTs-for-basic-spreadsheet-functionality.patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hb9ee54u3 RnJvbSA0MmE4NDUwNTNhOGQyMDVlZDI0ZjgzZTE0Zjk3MzExOGFkOGMzZmU1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIEJyYW5kIDxtaWNoYWVsLmNoLmJyYW5kQGdtYWls LmNvbT4KRGF0ZTogRnJpLCAyOCBEZWMgMjAxMiAxNTowMDo1NCArMDEwMApTdWJqZWN0OiBbUEFU Q0ggNC82XSBBZGQgRVJUcyBmb3IgYmFzaWMgc3ByZWFkc2hlZXQgZnVuY3Rpb25hbGl0eQoKKiBk b2Mvb3JnLnRleGkgKEZvcm11bGEgc3ludGF4IGZvciBDYWxjKTogRXh0ZW5kIGV4cGxhbmF0aW9u cyBvZgpmb3JtYXQgc3BlY2lmaWVycy4KKiB0ZXN0aW5nL2xpc3AvdGVzdC1vcmctdGFibGUuZWw6 IFZhcmlvdXMgbmV3IGVydC1kZWZ0ZXN0LCBtYXJrIHdpdGgKVE9ETyB3aGF0IG5lZWRzIHRvIGJl IGZpeGVkLgotLS0KIGRvYy9vcmcudGV4aSAgICAgICAgICAgICAgICAgICB8ICAgMTEgKy0KIHRl c3RpbmcvbGlzcC90ZXN0LW9yZy10YWJsZS5lbCB8ICA2MDUgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKystLQogMiBmaWxlcyBjaGFuZ2VkLCA1ODcgaW5zZXJ0aW9ucygrKSwg MjkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL29yZy50ZXhpIGIvZG9jL29yZy50ZXhp CmluZGV4IGIxNjA1MTcuLjBmNjI5N2QgMTAwNjQ0Ci0tLSBhL2RvYy9vcmcudGV4aQorKysgYi9k b2Mvb3JnLnRleGkKQEAgLTI2MTYsOSArMjYxNiwxMiBAQCBuMyBzMyBlMiBmNCAgIEBye05vcm1h bCwgc2NpZW50aWZpYywgZW5naW5lZXJpbmcsIG9yIGZpeGVkfQogICAgICAgICAgICAgICBAcnts b25nIGFzIHRoZSBDYWxjIGNhbGN1bGF0aW9uIHByZWNpc2lvbiBpcyBncmVhdGVyLn0KIEQgUiAg ICAgICAgICAgQHJ7YW5nbGUgbW9kZXM6IGRlZ3JlZXMsIHJhZGlhbnN9CiBGIFMgICAgICAgICAg IEBye2ZyYWN0aW9uIGFuZCBzeW1ib2xpYyBtb2Rlc30KLU4gICAgICAgICAgICAgQHJ7aW50ZXJw cmV0IGFsbCBmaWVsZHMgYXMgbnVtYmVycywgdXNlIDAgZm9yIG5vbi1udW1iZXJzfQotRSAgICAg ICAgICAgICBAcntrZWVwIGVtcHR5IGZpZWxkcyBpbiByYW5nZXN9Ci1MICAgICAgICAgICAgIEBy e2xpdGVyYWx9CitFICAgICAgICAgICAgIEBye2tlZXAgZW1wdHkgZmllbGRzIGluIHJhbmdlczsg ZWxzZSBzdXBwcmVzcyBlbXB0eSBmaWVsZHMgaW59CisgICAgICAgICAgICAgIEBye3JhbmdlIHJl ZmVyZW5jZXMgYW5kIHVzZSAwIGZvciBlbXB0eSBmaWVsZCByZWZlcmVuY2VzLCBzZWV9CisgICAg ICAgICAgICAgIEBye2Fsc28gdGhlIG5vdGVzIGZvciBgUmFuZ2UgcmVmZXJlbmNlcycgaW4gQHB4 cmVme1JlZmVyZW5jZXN9fQorTiAgICAgICAgICAgICBAcntpbnRlcnByZXQgYWxsIGZpZWxkcyBh cyBudW1iZXJzLCB1c2UgMCBmb3Igbm9uLW51bWJlcnM7fQorICAgICAgICAgICAgICBAcntOIGhh cyBoaWdoZXIgcHJlY2VkZW5jZSB0aGFuIEUgKGZvciB0aGUgdmFsdWUgb2YgdGhlIGZpZWxkKX0K K0wgICAgICAgICAgICAgQHJ7bGl0ZXJhbCwgZm9yIExpc3AgZm9ybXVsYXMgb25seX0KIEBlbmQg ZXhhbXBsZQogCiBAbm9pbmRlbnQKQEAgLTI2NDIsNyArMjY0NSw3IEBAICQwOyUuMWYgICAgICAg ICAgICAgIEBye1JlZm9ybWF0IGN1cnJlbnQgY2VsbCB0byAxIGRlY2ltYWx9CiAkYy8kMS8kY20g ICAgICAgICAgICBAcntIeiAtPiBjbSBjb252ZXJzaW9uLCB1c2luZyBAZmlsZXtjb25zdGFudHMu ZWx9fQogdGFuKCQxKTtEcDNzMSAgICAgICAgQHJ7Q29tcHV0ZSBpbiBkZWdyZWVzLCBwcmVjaXNp b24gMywgZGlzcGxheSBTQ0kgMX0KIHNpbigkMSk7RHAzJS4xZSAgICAgIEBye1NhbWUsIGJ1dCB1 c2UgcHJpbnRmIHNwZWNpZmllciBmb3IgZGlzcGxheX0KLXZtZWFuKCQyLi4kNykgICAgICAgIEBy e0NvbXB1dGUgY29sdW1uIHJhbmdlIG1lYW4sIHVzaW5nIHZlY3RvciBmdW5jdGlvbn0KK3ZtZWFu KCQyLi4kNykgICAgICAgIEBye0NvbXB1dGUgY29sdW1uIHJhbmdlIG1lYW4sIHN1cHByZXNzIGVt cHR5IGZpZWxkc30KIHZtZWFuKCQyLi4kNyk7RU4gICAgIEBye1NhbWUsIGJ1dCB0cmVhdCBlbXB0 eSBmaWVsZHMgYXMgMH0KIHRheWxvcigkMyx4PTcsMikgICAgIEBye1RheWxvciBzZXJpZXMgb2Yg JDMsIGF0IHg9Nywgc2Vjb25kIGRlZ3JlZX0KIEBlbmQgZXhhbXBsZQpkaWZmIC0tZ2l0IGEvdGVz dGluZy9saXNwL3Rlc3Qtb3JnLXRhYmxlLmVsIGIvdGVzdGluZy9saXNwL3Rlc3Qtb3JnLXRhYmxl LmVsCmluZGV4IDg5NzA0ZmYuLjY4OTQ5ZDkgMTAwNjQ0Ci0tLSBhL3Rlc3RpbmcvbGlzcC90ZXN0 LW9yZy10YWJsZS5lbAorKysgYi90ZXN0aW5nL2xpc3AvdGVzdC1vcmctdGFibGUuZWwKQEAgLTEs NyArMSw3IEBACiA7OzsgdGVzdC1vcmctdGFibGUuZWwgLS0tIHRlc3RzIGZvciBvcmctdGFibGUu ZWwKIAogOzsgQ29weXJpZ2h0IChjKSAgRGF2aWQgTWF1cwotOzsgQXV0aG9yczogRGF2aWQgTWF1 cworOzsgQXV0aG9yczogRGF2aWQgTWF1cywgTWljaGFlbCBCcmFuZAogCiA7OyBUaGlzIGZpbGUg aXMgbm90IHBhcnQgb2YgR05VIEVtYWNzLgogCkBAIC0yMCwxMCArMjAsMTQxIEBACiAKIDs7Ozsg Q29tbWVudHM6CiAKLTs7IFRlbXBsYXRlIHRlc3QgZmlsZSBmb3IgT3JnLW1vZGUgdGVzdHMKKzs7 IFRlbXBsYXRlIHRlc3QgZmlsZSBmb3IgT3JnLW1vZGUgdGVzdHMuICBGaXJzdCB0aGUgdGVzdHMg dGhhdCBhcmUKKzs7IGFsc28gYSBob3d0byBleGFtcGxlIGNvbGxlY3Rpb24gYXMgYSB1c2VyIGRv Y3VtZW50YXRpb24sIG1vcmUgb3IKKzs7IGxlc3MgYWxsIHRob3NlIHVzaW5nIGBvcmctdGVzdC10 YWJsZS10YXJnZXQtZXhwZWN0Jy4gIFRoZW4gdGhlCis7OyBpbnRlcm5hbCBhbmQgbW9yZSBhYnN0 cmFjdCB0ZXN0cy4gIFNlZSBhbHNvIHRoZSBkb2Mgc3RyaW5nIG9mCis7OyBgb3JnLXRlc3QtdGFi bGUtdGFyZ2V0LWV4cGVjdCcuCiAKIDs7OyBDb2RlOgogCisocmVxdWlyZSAnb3JnLXRhYmxlKSAg OyBgb3JnLXRhYmxlLW1ha2UtcmVmZXJlbmNlJworCisoZXJ0LWRlZnRlc3QgdGVzdC1vcmctdGFi bGUvc2ltcGxlLWZvcm11bGEvbm8tZ3JvdXBpbmcvbm8tdGl0bGUtcm93ICgpCisgICJTaW1wbGUg c3VtIHdpdGhvdXQgZ3JvdXBpbmcgcm93cywgd2l0aG91dCB0aXRsZSByb3cuIgorICAob3JnLXRl c3QtdGFibGUtdGFyZ2V0LWV4cGVjdAorICAgIgorfCAgICAgICAyIHwKK3wgICAgICAgNCB8Cit8 ICAgICAgIDggfAorfCByZXBsYWNlIHwKKyIKKyAgICIKK3wgIDIgfAorfCAgNCB8Cit8ICA4IHwK K3wgMTQgfAorIgorICAgMQorICAgOzsgQ2FsYyBmb3JtdWxhCisgICAiIytUQkxGTTogQD4kMSA9 IHZzdW0oQDwuLkA+PikiCisgICA7OyBMaXNwIGZvcm11bGEKKyAgICIjK1RCTEZNOiBAPiQxID0g JygrIEA8Li5APj4pOyBOIikpCisKKyhlcnQtZGVmdGVzdCB0ZXN0LW9yZy10YWJsZS9zaW1wbGUt Zm9ybXVsYS9uby1ncm91cGluZy93aXRoLXRpdGxlLXJvdyAoKQorICAiU2ltcGxlIHN1bSB3aXRo b3V0IGdyb3VwaW5nIHJvd3MsIHdpdGggdGl0bGUgcm93LiIKKyAgKG9yZy10ZXN0LXRhYmxlLXRh cmdldC1leHBlY3QKKyAgICIKK3wgICAgIGZvbyB8Cit8LS0tLS0tLS0tfAorfCAgICAgICAyIHwK K3wgICAgICAgNCB8Cit8ICAgICAgIDggfAorfCByZXBsYWNlIHwKKyIKKyAgICIKK3wgZm9vIHwK K3wtLS0tLXwKK3wgICAyIHwKK3wgICA0IHwKK3wgICA4IHwKK3wgIDE0IHwKKyIKKyAgIDEKKyAg IDs7IENhbGMgZm9ybXVsYQorICAgIiMrVEJMRk06IEA+JDEgPSB2c3VtKEBJLi5APj4pIgorICAg OzsgTGlzcCBmb3JtdWxhCisgICAiIytUQkxGTTogQD4kMSA9ICcoKyBASS4uQD4+KTsgTiIpKQor CisoZXJ0LWRlZnRlc3QgdGVzdC1vcmctdGFibGUvc2ltcGxlLWZvcm11bGEvd2l0aC1ncm91cGlu Zy9uby10aXRsZS1yb3cgKCkKKyAgIlNpbXBsZSBzdW0gd2l0aCBncm91cGluZyByb3dzLCBob3cg bm90IHRvIGRvLiIKKyAgOzsgVGhlIGZpcnN0IGV4YW1wbGUgaGFzIGEgcHJvYmxlbSwgc2VlIHRo ZSBzZWNvbmQgZXhhbXBsZSBpbiB0aGlzCisgIDs7IGVydC1kZWZ0ZXN0LgorICAob3JnLXRlc3Qt dGFibGUtdGFyZ2V0LWV4cGVjdAorICAgIgorfCAgICAgICAyIHwKK3wgICAgICAgNCB8Cit8ICAg ICAgIDggfAorfC0tLS0tLS0tLXwKK3wgcmVwbGFjZSB8CisiCisgICAiCit8ICAyIHwKK3wgIDQg fAorfCAgOCB8Cit8LS0tLXwKK3wgMTQgfAorIgorICAgMQorICAgOzsgQ2FsYyBmb3JtdWxhCisg ICAiIytUQkxGTTogJDEgPSB2c3VtKEA8Li5APj4pIgorICAgOzsgTGlzcCBmb3JtdWxhCisgICAi IytUQkxGTTogJDEgPSAnKCsgQDwuLkA+Pik7IE4iKQorCisgIDs7IFRoZSBwcm9ibGVtIGlzIHRo YXQgdGhlIGZpcnN0IHRocmVlIHJvd3Mgd2l0aCB0aGUgc3VtbWFuZHMgYXJlCisgIDs7IGNvbnNp ZGVyZWQgdGhlIGhlYWRlciBhbmQgdGhlcmVmb3JlIGNvbHVtbiBmb3JtdWxhcyBhcmUgbm90Cisg IDs7IGFwcGxpZWQgb24gdGhlbSBhcyBzaG93biBiZWxvdy4gIEFsc28gZXhwb3J0IGJlaGF2ZXMg dW5leHBlY3RlZC4KKyAgOzsgU2VlIG5leHQgZXJ0LWRlZnRlc3QgaG93IHRvIGdyb3VwIHJvd3Mg cmlnaHQuCisgIChvcmctdGVzdC10YWJsZS10YXJnZXQtZXhwZWN0CisgICAiCit8ICAgICAgIDIg fCByZXBsYWNlIHwKK3wgICAgICAgNCB8IHJlcGxhY2UgfAorfCAgICAgICA4IHwgcmVwbGFjZSB8 Cit8LS0tLS0tLS0tKy0tLS0tLS0tLXwKK3wgcmVwbGFjZSB8IHJlcGxhY2UgfAorIgorICAgIgor fCAgMiB8IHJlcGxhY2UgfAorfCAgNCB8IHJlcGxhY2UgfAorfCAgOCB8IHJlcGxhY2UgfAorfC0t LS0rLS0tLS0tLS0tfAorfCAxNCB8IDI4ICAgICAgfAorIgorICAgMgorICAgOzsgQ2FsYyBmb3Jt dWxhCisgICAiIytUQkxGTTogQD4kMSA9IHZzdW0oQDwuLkA+PikgOjogJDIgPSAyICogJDEiCisg ICA7OyBMaXNwIGZvcm11bGEKKyAgICIjK1RCTEZNOiBAPiQxID0gJygrIEA8Li5APj4pOyBOIDo6 ICQyID0gJygqIDIgJDEpOyBOIikpCisKKyhlcnQtZGVmdGVzdCB0ZXN0LW9yZy10YWJsZS9zaW1w bGUtZm9ybXVsYS93aXRoLWdyb3VwaW5nL3dpdGgtdGl0bGUtcm93ICgpCisgICJTaW1wbGUgc3Vt IHdpdGggZ3JvdXBpbmcgcm93cywgaG93IHRvIGRvIGl0IHJpZ2h0LiIKKyAgOzsgQWx3YXlzIGFk ZCBhIHRvcCByb3cgd2l0aCB0aGUgY29sdW1uIG5hbWVzIHNlcGFyYXRlZCBieSBobGluZSB0bwor ICA7OyBnZXQgdGhlIGRlc2lyZWQgaGVhZGVyIHdoZW4geW91IHdhbnQgdG8gZ3JvdXAgcm93cy4K KyAgKG9yZy10ZXN0LXRhYmxlLXRhcmdldC1leHBlY3QKKyAgICIKK3wgICAgIGZvbyB8IGJhciAg ICAgfAorfC0tLS0tLS0tLSstLS0tLS0tLS18Cit8ICAgICAgIDIgfCByZXBsYWNlIHwKK3wgICAg ICAgNCB8IHJlcGxhY2UgfAorfCAgICAgICA4IHwgcmVwbGFjZSB8Cit8LS0tLS0tLS0tKy0tLS0t LS0tLXwKK3wgcmVwbGFjZSB8IHJlcGxhY2UgfAorIgorICAgIgorfCBmb28gfCBiYXIgfAorfC0t LS0tKy0tLS0tfAorfCAgIDIgfCAgIDQgfAorfCAgIDQgfCAgIDggfAorfCAgIDggfCAgMTYgfAor fC0tLS0tKy0tLS0tfAorfCAgMTQgfCAgMjggfAorIgorICAgMgorICAgOzsgQ2FsYyBmb3JtdWxh CisgICAiIytUQkxGTTogQD4kMSA9IHZzdW0oQEkuLkA+PikgOjogJDIgPSAyICogJDEiCisgICA7 OyBMaXNwIGZvcm11bGEKKyAgICIjK1RCTEZNOiBAPiQxID0gJygrIEBJLi5APj4pOyBOIDo6ICQy ID0gJygqIDIgJDEpOyBOIikpCisKIChlcnQtZGVmdGVzdCB0ZXN0LW9yZy10YWJsZS9hbGlnbiAo KQogICAiQWxpZ24gY29sdW1ucyB3aXRoaW4gT3JnIGJ1ZmZlciwgZGVwZW5kcyBvbiBgb3JnLXRh YmxlLW51bWJlci1yZWdleHAnLiIKICAgKG9yZy10ZXN0LXRhYmxlLXRhcmdldC1leHBlY3QgIgpA QCAtMzcsNiArMTY4LDQ1MyBAQAogfCAgICAgICAgIGFiIHwgICAgICAgICAgYWIgfCAgYWIgfCAg IGFiIHwgICBhYiB8ICBhYiB8CiAiKSkKIAorKGRlZmNvbnN0IHJlZmVyZW5jZXMvdGFyZ2V0LW5v cm1hbCAiCit8IDAgfCAxIHwgcmVwbGFjZSB8IHJlcGxhY2UgfCByZXBsYWNlIHwgcmVwbGFjZSB8 IHJlcGxhY2UgfCByZXBsYWNlIHwKK3wgeiB8IDEgfCByZXBsYWNlIHwgcmVwbGFjZSB8IHJlcGxh Y2UgfCByZXBsYWNlIHwgcmVwbGFjZSB8IHJlcGxhY2UgfAorfCAgIHwgMSB8IHJlcGxhY2UgfCBy ZXBsYWNlIHwgcmVwbGFjZSB8IHJlcGxhY2UgfCByZXBsYWNlIHwgcmVwbGFjZSB8Cit8ICAgfCAg IHwgcmVwbGFjZSB8IHJlcGxhY2UgfCByZXBsYWNlIHwgcmVwbGFjZSB8IHJlcGxhY2UgfCByZXBs YWNlIHwKKyIKKyAgIk5vcm1hbCBudW1iZXJzIGFuZCBub24tbnVtYmVycyBmb3IgTGlzcCBhbmQg Q2FsYyBmb3JtdWxhLiIpCisKKyhkZWZjb25zdCByZWZlcmVuY2VzL3RhcmdldC1zcGVjaWFsICIK K3wgIG5hbiB8IDEgfCByZXBsYWNlIHwgcmVwbGFjZSB8IHJlcGxhY2UgfCByZXBsYWNlIHwgcmVw bGFjZSB8IHJlcGxhY2UgfAorfCB1aW5mIHwgMSB8IHJlcGxhY2UgfCByZXBsYWNlIHwgcmVwbGFj ZSB8IHJlcGxhY2UgfCByZXBsYWNlIHwgcmVwbGFjZSB8Cit8IC1pbmYgfCAxIHwgcmVwbGFjZSB8 IHJlcGxhY2UgfCByZXBsYWNlIHwgcmVwbGFjZSB8IHJlcGxhY2UgfCByZXBsYWNlIHwKK3wgIGlu ZiB8IDEgfCByZXBsYWNlIHwgcmVwbGFjZSB8IHJlcGxhY2UgfCByZXBsYWNlIHwgcmVwbGFjZSB8 IHJlcGxhY2UgfAorIgorICAiU3BlY2lhbCBudW1iZXJzIGZvciBDYWxjIGZvcm11bGEuIikKKwor KGVydC1kZWZ0ZXN0IHRlc3Qtb3JnLXRhYmxlL3JlZmVyZW5jZXMvZm9ybWF0LXNwZWNpZmllci1F TCAoKQorICAiQmFzaWM6IEFzc2lnbiBmaWVsZCByZWZlcmVuY2UsIHN1bSBvZiBmaWVsZCByZWZl cmVuY2VzLCBzdW0KK2FuZCBsZW4gb2Ygc2ltcGxlIHJhbmdlIHJlZmVyZW5jZSAobm8gcm93KSBh bmQgY29tcGxleCByYW5nZQorcmVmZXJlbmNlICh3aXRoIHJvdykuICBGb3JtYXQgc3BlY2lmaWVy IEVMLiIKKyAgOzsgRW1wdHkgZmllbGRzIGFyZSBrZXB0IGR1cmluZyBwYXJzaW5nIGZpZWxkIGJ1 dCBsb3N0IGFzIGxpc3QKKyAgOzsgZWxlbWVudHMgd2l0aGluIExpc3AgZm9ybXVsYSBzeW50YWN0 aWNhbGx5IHdoZW4gdXNlZCBsaXRlcmFsbHkKKyAgOzsgYW5kIG5vdCBlbmNsb3NlZCB3aXRoICIg d2l0aGluIGZpZWxkcywgc2VlIGxhc3QgY29sdW1ucyB3aXRoIGxlbi4KKyAgKG9yZy10ZXN0LXRh YmxlLXRhcmdldC1leHBlY3QKKyAgIHJlZmVyZW5jZXMvdGFyZ2V0LW5vcm1hbAorICAgOzsgQWxs IHRoZSAjRVJST1Igc2hvdyB0aGF0IGZvciBMaXNwIGNhbGN1bGF0aW9ucyBOIGhhcyB0byBiZSB1 c2VkLgorICAgIgorfCAwIHwgMSB8IDAgfCAgICAgIDEgfCAgICAgIDEgfCAgICAgIDEgfCAyIHwg MiB8Cit8IHogfCAxIHwgeiB8ICNFUlJPUiB8ICNFUlJPUiB8ICNFUlJPUiB8IDIgfCAyIHwKK3wg ICB8IDEgfCAgIHwgICAgICAxIHwgICAgICAxIHwgICAgICAxIHwgMSB8IDEgfAorfCAgIHwgICB8 ICAgfCAgICAgIDAgfCAgICAgIDAgfCAgICAgIDAgfCAwIHwgMCB8CisiCisgICAxIChjb25jYXQK KyAgICAgICIjK1RCTEZNOiAkMyA9ICcoaWRlbnRpdHkgXCIkMVwiKTsgRUwgOjogJDQgPSAnKCsg JDEgJDIpOyBFTCA6OiAiCisgICAgICAiJDUgPSAnKCsgJDEuLiQyKTsgRUwgOjogJDYgPSAnKCsg QDAkMS4uQDAkMik7IEVMIDo6ICIKKyAgICAgICIkNyA9ICcobGVuZ3RoICcoJDEuLiQyKSk7IEVM IDo6ICQ4ID0gJyhsZW5ndGggJyhAMCQxLi5AMCQyKSk7IEVMIikpCisKKyAgOzsgRW1wdHkgZmll bGRzIGFyZSBrZXB0IGR1cmluZyBwYXJzaW5nIGZpZWxkIF9hbmRfIGFzIGxpc3QgZWxlbWVudHMK KyAgOzsgd2l0aGluIExpc3AgZm9ybXVsYSBzeW50YWN0aWNhbGx5IGV2ZW4gd2hlbiB1c2VkIGxp dGVyYWxseSB3aGVuCisgIDs7IGVuY2xvc2VkIHdpdGggIiB3aXRoaW4gZmllbGRzLCBzZWUgbGFz dCBjb2x1bW5zIHdpdGggbGVuLgorICAob3JnLXRlc3QtdGFibGUtdGFyZ2V0LWV4cGVjdAorICAg IgorfCBcIjBcIiB8IFwiMVwiIHwgcmVwbCB8IHJlcGwgfCByZXBsIHwgcmVwbCB8IHJlcGwgfCBy ZXBsIHwKK3wgXCJ6XCIgfCBcIjFcIiB8IHJlcGwgfCByZXBsIHwgcmVwbCB8IHJlcGwgfCByZXBs IHwgcmVwbCB8Cit8IFwiXCIgIHwgXCIxXCIgfCByZXBsIHwgcmVwbCB8IHJlcGwgfCByZXBsIHwg cmVwbCB8IHJlcGwgfAorfCBcIlwiICB8IFwiXCIgIHwgcmVwbCB8IHJlcGwgfCByZXBsIHwgcmVw bCB8IHJlcGwgfCByZXBsIHwKKyIKKyAgICIKK3wgXCIwXCIgfCBcIjFcIiB8IFwiMFwiIHwgMSB8 ICNFUlJPUiB8ICNFUlJPUiB8IDIgfCAyIHwKK3wgXCJ6XCIgfCBcIjFcIiB8IFwielwiIHwgMSB8 ICNFUlJPUiB8ICNFUlJPUiB8IDIgfCAyIHwKK3wgXCJcIiAgfCBcIjFcIiB8IFwiXCIgIHwgMSB8 ICNFUlJPUiB8ICNFUlJPUiB8IDIgfCAyIHwKK3wgXCJcIiAgfCBcIlwiICB8IFwiXCIgIHwgMCB8 ICNFUlJPUiB8ICNFUlJPUiB8IDIgfCAyIHwKKyIKKyAgIDEgKGNvbmNhdAorICAgICAgIiMrVEJM Rk06ICQzID0gJyhjb25jYXQgXCJcXFwiXCIgJDEgXCJcXFwiXCIpOyBFTCA6OiAiCisgICAgICAi JDQgPSAnKCsgKHN0cmluZy10by1udW1iZXIgJDEpIChzdHJpbmctdG8tbnVtYmVyICQyKSk7IEVM IDo6ICIKKyAgICAgICIkNSA9ICcoKyAkMS4uJDIpOyBFTCA6OiAkNiA9ICcoKyBAMCQxLi5AMCQy KTsgRUwgOjogIgorICAgICAgIiQ3ID0gJyhsZW5ndGggJygkMS4uJDIpKTsgRUwgOjogJDggPSAn KGxlbmd0aCAnKEAwJDEuLkAwJDIpKTsgRUwiKSkpCisKKyhlcnQtZGVmdGVzdCB0ZXN0LW9yZy10 YWJsZS9yZWZlcmVuY2VzL2Zvcm1hdC1zcGVjaWZpZXItRSAoKQorICAiQmFzaWM6IEFzc2lnbiBm aWVsZCByZWZlcmVuY2UsIHN1bSBvZiBmaWVsZCByZWZlcmVuY2VzLCBzdW0KK2FuZCBsZW4gb2Yg c2ltcGxlIHJhbmdlIHJlZmVyZW5jZSAobm8gcm93KSBhbmQgY29tcGxleCByYW5nZQorcmVmZXJl bmNlICh3aXRoIHJvdykuICBGb3JtYXQgc3BlY2lmaWVyIEUuIgorICAobGV0ICgobGlzcAorCSAo Y29uY2F0CisJICAiIytUQkxGTTogJDMgPSAnKGlkZW50aXR5ICQxKTsgRSA6OiAkNCA9ICcoKyAk MSAkMik7IEUgOjogIgorCSAgIiQ1ID0gJygrICQxLi4kMik7IEUgOjogJDYgPSAnKCsgQDAkMS4u QDAkMik7IEUgOjogIgorCSAgIiQ3ID0gJyhsZW5ndGggJygkMS4uJDIpKTsgRSA6OiAkOCA9ICco bGVuZ3RoICcoQDAkMS4uQDAkMikpOyBFIikpCisJKGNhbGMKKwkgKGNvbmNhdAorCSAgIiMrVEJM Rk06ICQzID0gJDE7IEUgOjogJDQgPSAkMSArICQyOyBFIDo6ICIKKwkgICIkNSA9IHZzdW0oJDEu LiQyKTsgRSA6OiAkNiA9IHZzdW0oQDAkMS4uQDAkMik7IEUgOjogIgorCSAgIiQ3ID0gdmxlbigk MS4uJDIpOyBFIDo6ICQ4ID0gdmxlbihAMCQxLi5AMCQyKTsgRSIpKSkKKyAgICAob3JnLXRlc3Qt dGFibGUtdGFyZ2V0LWV4cGVjdAorICAgICByZWZlcmVuY2VzL3RhcmdldC1ub3JtYWwKKyAgICAg OzsgQWxsIHRoZSAjRVJST1Igc2hvdyB0aGF0IGZvciBMaXNwIGNhbGN1bGF0aW9ucyBOIGhhcyB0 byBiZSB1c2VkLgorICAgICAiCit8IDAgfCAxIHwgMCB8ICNFUlJPUiB8ICNFUlJPUiB8ICNFUlJP UiB8IDIgfCAyIHwKK3wgeiB8IDEgfCB6IHwgI0VSUk9SIHwgI0VSUk9SIHwgI0VSUk9SIHwgMiB8 IDIgfAorfCAgIHwgMSB8ICAgfCAjRVJST1IgfCAjRVJST1IgfCAjRVJST1IgfCAyIHwgMiB8Cit8 ICAgfCAgIHwgICB8ICNFUlJPUiB8ICNFUlJPUiB8ICNFUlJPUiB8IDIgfCAyIHwKKyIKKyAgICAg MSBsaXNwKQorICAgIChvcmctdGVzdC10YWJsZS10YXJnZXQtZXhwZWN0CisgICAgIHJlZmVyZW5j ZXMvdGFyZ2V0LW5vcm1hbAorICAgICAiCit8IDAgfCAxIHwgMCB8ICAgICAxIHwgMSAgICAgIHwg MSAgICAgIHwgICAgICAyIHwgICAgICAyIHwKK3wgeiB8IDEgfCB6IHwgeiArIDEgfCB6ICsgMSAg fCB6ICsgMSAgfCAgICAgIDIgfCAgICAgIDIgfAorfCAgIHwgMSB8IDAgfCAgICAgMSB8ICNFUlJP UiB8ICNFUlJPUiB8ICNFUlJPUiB8ICNFUlJPUiB8Cit8ICAgfCAgIHwgMCB8ICAgICAwIHwgI0VS Uk9SIHwgI0VSUk9SIHwgI0VSUk9SIHwgI0VSUk9SIHwKKyIKKyAgICAgMSBjYWxjKQorICAgIChv cmctdGVzdC10YWJsZS10YXJnZXQtZXhwZWN0CisgICAgIHJlZmVyZW5jZXMvdGFyZ2V0LXNwZWNp YWwKKyAgICAgIgorfCAgbmFuIHwgMSB8ICBuYW4gfCAgbmFuIHwgIG5hbiB8ICBuYW4gfCAyIHwg MiB8Cit8IHVpbmYgfCAxIHwgdWluZiB8IHVpbmYgfCB1aW5mIHwgdWluZiB8IDIgfCAyIHwKK3wg LWluZiB8IDEgfCAtaW5mIHwgLWluZiB8IC1pbmYgfCAtaW5mIHwgMiB8IDIgfAorfCAgaW5mIHwg MSB8ICBpbmYgfCAgaW5mIHwgIGluZiB8ICBpbmYgfCAyIHwgMiB8CisiCisgICAgIDEgY2FsYykp KQorCisoZXJ0LWRlZnRlc3QgdGVzdC1vcmctdGFibGUvcmVmZXJlbmNlcy9mb3JtYXQtc3BlY2lm aWVyLUVOICgpCisgICJCYXNpYzogQXNzaWduIGZpZWxkIHJlZmVyZW5jZSwgc3VtIG9mIGZpZWxk IHJlZmVyZW5jZXMsIHN1bQorYW5kIGxlbiBvZiBzaW1wbGUgcmFuZ2UgcmVmZXJlbmNlIChubyBy b3cpIGFuZCBjb21wbGV4IHJhbmdlCityZWZlcmVuY2UgKHdpdGggcm93KS4gIEZvcm1hdCBzcGVj aWZpZXIgRU4uIgorICAobGV0ICgobGlzcCAoY29uY2F0CisJICAgICAgICIjK1RCTEZNOiAkMyA9 ICcoaWRlbnRpdHkgJDEpOyBFTiA6OiAkNCA9ICcoKyAkMSAkMik7IEVOIDo6ICIKKwkgICAgICAg IiQ1ID0gJygrICQxLi4kMik7IEVOIDo6ICQ2ID0gJygrIEAwJDEuLkAwJDIpOyBFTiA6OiAiCisJ ICAgICAgICIkNyA9ICcobGVuZ3RoICcoJDEuLiQyKSk7IEVOIDo6ICIKKwkgICAgICAgIiQ4ID0g JyhsZW5ndGggJyhAMCQxLi5AMCQyKSk7IEVOIikpCisJKGNhbGMgKGNvbmNhdAorCSAgICAgICAi IytUQkxGTTogJDMgPSAkMTsgRU4gOjogJDQgPSAkMSArICQyOyBFTiA6OiAiCisJICAgICAgICIk NSA9IHZzdW0oJDEuLiQyKTsgRU4gOjogJDYgPSB2c3VtKEAwJDEuLkAwJDIpOyBFTiA6OiAiCisJ ICAgICAgICIkNyA9IHZsZW4oJDEuLiQyKTsgRU4gOjogJDggPSB2bGVuKEAwJDEuLkAwJDIpOyBF TiIpKSkKKyAgICAob3JnLXRlc3QtdGFibGUtdGFyZ2V0LWV4cGVjdAorICAgICByZWZlcmVuY2Vz L3RhcmdldC1ub3JtYWwKKyAgICAgIgorfCAwIHwgMSB8IDAgfCAxIHwgMSB8IDEgfCAyIHwgMiB8 Cit8IHogfCAxIHwgMCB8IDEgfCAxIHwgMSB8IDIgfCAyIHwKK3wgICB8IDEgfCAwIHwgMSB8IDEg fCAxIHwgMiB8IDIgfAorfCAgIHwgICB8IDAgfCAwIHwgMCB8IDAgfCAyIHwgMiB8CisiCisgICAg IDEgbGlzcCBjYWxjKQorICAgIChvcmctdGVzdC10YWJsZS10YXJnZXQtZXhwZWN0CisgICAgIHJl ZmVyZW5jZXMvdGFyZ2V0LXNwZWNpYWwKKyAgICAgIgorfCAgbmFuIHwgMSB8IDAgfCAxIHwgMSB8 IDEgfCAyIHwgMiB8Cit8IHVpbmYgfCAxIHwgMCB8IDEgfCAxIHwgMSB8IDIgfCAyIHwKK3wgLWlu ZiB8IDEgfCAwIHwgMSB8IDEgfCAxIHwgMiB8IDIgfAorfCAgaW5mIHwgMSB8IDAgfCAxIHwgMSB8 IDEgfCAyIHwgMiB8CisiCisgICAgIDEgY2FsYykpKQorCisoZXJ0LWRlZnRlc3QgdGVzdC1vcmct dGFibGUvcmVmZXJlbmNlcy9mb3JtYXQtc3BlY2lmaWVyLUwgKCkKKyAgIkJhc2ljOiBBc3NpZ24g ZmllbGQgcmVmZXJlbmNlLCBzdW0gb2YgZmllbGQgcmVmZXJlbmNlcywgc3VtCithbmQgbGVuIG9m IHNpbXBsZSByYW5nZSByZWZlcmVuY2UgKG5vIHJvdykgYW5kIGNvbXBsZXggcmFuZ2UKK3JlZmVy ZW5jZSAod2l0aCByb3cpLiAgRm9ybWF0IHNwZWNpZmllciBMLiIKKyAgKG9yZy10ZXN0LXRhYmxl LXRhcmdldC1leHBlY3QKKyAgIHJlZmVyZW5jZXMvdGFyZ2V0LW5vcm1hbAorICAgOzsgQWxsIHRo ZSAjRVJST1Igc2hvdyB0aGF0IGZvciBMaXNwIGNhbGN1bGF0aW9ucyBOIGhhcyB0byBiZSB1c2Vk LgorICAgOzsgVE9ETzogTGVuIGZvciByYW5nZSByZWZlcmVuY2Ugd2l0aCBvbmx5IGVtcHR5IGZp ZWxkcyBzaG91bGQgYmUgMC4KKyAgICIKK3wgMCB8IDEgfCAwIHwgICAgICAxIHwgICAgICAxIHwg ICAgICAxIHwgMiB8IDIgfAorfCB6IHwgMSB8IHogfCAjRVJST1IgfCAjRVJST1IgfCAjRVJST1Ig fCAyIHwgMiB8Cit8ICAgfCAxIHwgICB8ICAgICAgMSB8ICAgICAgMSB8ICAgICAgMSB8IDEgfCAx IHwKK3wgICB8ICAgfCAgIHwgICAgICAwIHwgICAgICAwIHwgICAgICAwIHwgMSB8IDEgfAorIgor ICAgMSAoY29uY2F0CisgICAgICAiIytUQkxGTTogJDMgPSAnKGlkZW50aXR5IFwiJDFcIik7IEwg OjogJDQgPSAnKCsgJDEgJDIpOyBMIDo6ICIKKyAgICAgICIkNSA9ICcoKyAkMS4uJDIpOyBMIDo6 ICQ2ID0gJygrIEAwJDEuLkAwJDIpOyBMIDo6ICIKKyAgICAgICIkNyA9ICcobGVuZ3RoICcoJDEu LiQyKSk7IEwgOjogJDggPSAnKGxlbmd0aCAnKEAwJDEuLkAwJDIpKTsgTCIpKSkKKworKGVydC1k ZWZ0ZXN0IHRlc3Qtb3JnLXRhYmxlL3JlZmVyZW5jZXMvZm9ybWF0LXNwZWNpZmllci1ub25lICgp CisgICJCYXNpYzogQXNzaWduIGZpZWxkIHJlZmVyZW5jZSwgc3VtIG9mIGZpZWxkIHJlZmVyZW5j ZXMsIHN1bQorYW5kIGxlbiBvZiBzaW1wbGUgcmFuZ2UgcmVmZXJlbmNlIChubyByb3cpIGFuZCBj b21wbGV4IHJhbmdlCityZWZlcmVuY2UgKHdpdGggcm93KS4gIE5vIGZvcm1hdCBzcGVjaWZpZXIu IgorICAobGV0ICgobGlzcCAoY29uY2F0CisJICAgICAgICIjK1RCTEZNOiAkMyA9ICcoaWRlbnRp dHkgJDEpIDo6ICQ0ID0gJygrICQxICQyKSA6OiAiCisJICAgICAgICIkNSA9ICcoKyAkMS4uJDIp IDo6ICQ2ID0gJygrIEAwJDEuLkAwJDIpIDo6ICIKKwkgICAgICAgIiQ3ID0gJyhsZW5ndGggJygk MS4uJDIpKSA6OiAkOCA9ICcobGVuZ3RoICcoQDAkMS4uQDAkMikpIikpCisJKGNhbGMgKGNvbmNh dAorCSAgICAgICAiIytUQkxGTTogJDMgPSAkMSA6OiAkNCA9ICQxICsgJDIgOjogIgorCSAgICAg ICAiJDUgPSB2c3VtKCQxLi4kMikgOjogJDYgPSB2c3VtKEAwJDEuLkAwJDIpIDo6ICIKKwkgICAg ICAgIiQ3ID0gdmxlbigkMS4uJDIpIDo6ICQ4ID0gdmxlbihAMCQxLi5AMCQyKSIpKSkKKyAgICAo b3JnLXRlc3QtdGFibGUtdGFyZ2V0LWV4cGVjdAorICAgICByZWZlcmVuY2VzL3RhcmdldC1ub3Jt YWwKKyAgICAgOzsgQWxsIHRoZSAjRVJST1Igc2hvdyB0aGF0IGZvciBMaXNwIGNhbGN1bGF0aW9u cyBOIGhhcyB0byBiZSB1c2VkLgorICAgICAiCit8IDAgfCAxIHwgMCB8ICNFUlJPUiB8ICNFUlJP UiB8ICNFUlJPUiB8IDIgfCAyIHwKK3wgeiB8IDEgfCB6IHwgI0VSUk9SIHwgI0VSUk9SIHwgI0VS Uk9SIHwgMiB8IDIgfAorfCAgIHwgMSB8ICAgfCAjRVJST1IgfCAjRVJST1IgfCAjRVJST1IgfCAx IHwgMSB8Cit8ICAgfCAgIHwgICB8ICNFUlJPUiB8ICNFUlJPUiB8ICNFUlJPUiB8IDEgfCAxIHwK KyIKKyAgICAgMSBsaXNwKQorICAgIChvcmctdGVzdC10YWJsZS10YXJnZXQtZXhwZWN0CisgICAg IHJlZmVyZW5jZXMvdGFyZ2V0LW5vcm1hbAorICAgICAiCit8IDAgfCAxIHwgMCB8ICAgICAxIHwg ICAgIDEgfCAgICAgMSB8IDIgfCAyIHwKK3wgeiB8IDEgfCB6IHwgeiArIDEgfCB6ICsgMSB8IHog KyAxIHwgMiB8IDIgfAorfCAgIHwgMSB8IDAgfCAgICAgMSB8ICAgICAxIHwgICAgIDEgfCAxIHwg MSB8Cit8ICAgfCAgIHwgMCB8ICAgICAwIHwgICAgIDAgfCAgICAgMCB8IDEgfCAxIHwKKyIKKyAg ICAgMSBjYWxjKQorICAgIChvcmctdGVzdC10YWJsZS10YXJnZXQtZXhwZWN0CisgICAgIHJlZmVy ZW5jZXMvdGFyZ2V0LXNwZWNpYWwKKyAgICAgIgorfCAgbmFuIHwgMSB8ICBuYW4gfCAgbmFuIHwg IG5hbiB8ICBuYW4gfCAyIHwgMiB8Cit8IHVpbmYgfCAxIHwgdWluZiB8IHVpbmYgfCB1aW5mIHwg dWluZiB8IDIgfCAyIHwKK3wgLWluZiB8IDEgfCAtaW5mIHwgLWluZiB8IC1pbmYgfCAtaW5mIHwg MiB8IDIgfAorfCAgaW5mIHwgMSB8ICBpbmYgfCAgaW5mIHwgIGluZiB8ICBpbmYgfCAyIHwgMiB8 CisiCisgICAgIDEgY2FsYykpKQorCisoZXJ0LWRlZnRlc3QgdGVzdC1vcmctdGFibGUvcmVmZXJl bmNlcy9mb3JtYXQtc3BlY2lmaWVyLU4gKCkKKyAgIkJhc2ljOiBBc3NpZ24gZmllbGQgcmVmZXJl bmNlLCBzdW0gb2YgZmllbGQgcmVmZXJlbmNlcywgc3VtCithbmQgbGVuIG9mIHNpbXBsZSByYW5n ZSByZWZlcmVuY2UgKG5vIHJvdykgYW5kIGNvbXBsZXggcmFuZ2UKK3JlZmVyZW5jZSAod2l0aCBy b3cpLiAgRm9ybWF0IHNwZWNpZmllciBOLiIKKyAgKGxldCAoKGxpc3AKKwkgKGNvbmNhdAorCSAg IiMrVEJMRk06ICQzID0gJyhpZGVudGl0eSAkMSk7IE4gOjogJDQgPSAnKCsgJDEgJDIpOyBOIDo6 ICIKKwkgICIkNSA9ICcoKyAkMS4uJDIpOyBOIDo6ICQ2ID0gJygrIEAwJDEuLkAwJDIpOyBOIDo6 ICIKKwkgICIkNyA9ICcobGVuZ3RoICcoJDEuLiQyKSk7IE4gOjogJDggPSAnKGxlbmd0aCAnKEAw JDEuLkAwJDIpKTsgTiIpKQorICAgICAgICAoY2FsYworCSAoY29uY2F0CisJICAiIytUQkxGTTog JDMgPSAkMTsgTiA6OiAkNCA9ICQxICsgJDI7IE4gOjogIgorCSAgIiQ1ID0gdnN1bSgkMS4uJDIp OyBOIDo6ICQ2ID0gdnN1bShAMCQxLi5AMCQyKTsgTiA6OiAiCisJICAiJDcgPSB2bGVuKCQxLi4k Mik7IE4gOjogJDggPSB2bGVuKEAwJDEuLkAwJDIpOyBOIikpKQorICAgIChvcmctdGVzdC10YWJs ZS10YXJnZXQtZXhwZWN0CisgICAgIHJlZmVyZW5jZXMvdGFyZ2V0LW5vcm1hbAorICAgICA7OyBU T0RPOiBMZW4gZm9yIHNpbXBsZSByYW5nZSByZWZlcmVuY2Ugd2l0aCBlbXB0eSBmaWVsZCBzaG91 bGQKKyAgICAgOzsgYWxzbyBiZSAxCisgICAgICIKK3wgMCB8IDEgfCAwIHwgMSB8IDEgfCAxIHwg MiB8IDIgfAorfCB6IHwgMSB8IDAgfCAxIHwgMSB8IDEgfCAyIHwgMiB8Cit8ICAgfCAxIHwgMCB8 IDEgfCAxIHwgMSB8IDIgfCAxIHwKK3wgICB8ICAgfCAwIHwgMCB8IDAgfCAwIHwgMiB8IDEgfAor IgorICAgICAxIGxpc3AgY2FsYykKKyAgICAob3JnLXRlc3QtdGFibGUtdGFyZ2V0LWV4cGVjdAor ICAgICByZWZlcmVuY2VzL3RhcmdldC1zcGVjaWFsCisgICAgICIKK3wgIG5hbiB8IDEgfCAwIHwg MSB8IDEgfCAxIHwgMiB8IDIgfAorfCB1aW5mIHwgMSB8IDAgfCAxIHwgMSB8IDEgfCAyIHwgMiB8 Cit8IC1pbmYgfCAxIHwgMCB8IDEgfCAxIHwgMSB8IDIgfCAyIHwKK3wgIGluZiB8IDEgfCAwIHwg MSB8IDEgfCAxIHwgMiB8IDIgfAorIgorICAgICAxIGNhbGMpKSkKKworKGVydC1kZWZ0ZXN0IHRl c3Qtb3JnLXRhYmxlL2NvbXBhcmUgKCkKKyAgIkJhc2ljOiBDb21wYXJlIGZpZWxkIHJlZmVyZW5j ZXMgaW4gQ2FsYy4iCisgIChvcmctdGVzdC10YWJsZS10YXJnZXQtZXhwZWN0CisgICAiCit8ICAg ICAgfCAwICAgIHwgeiAgICB8IG5hbiAgfCB1aW5mIHwgLWluZiB8IGluZiAgfAorfC0tLS0tLSst LS0tLS0rLS0tLS0tKy0tLS0tLSstLS0tLS0rLS0tLS0tKy0tLS0tLXwKK3wgICAgMCB8IHJlcGwg fCByZXBsIHwgcmVwbCB8IHJlcGwgfCByZXBsIHwgcmVwbCB8Cit8ICAgIHogfCByZXBsIHwgcmVw bCB8IHJlcGwgfCByZXBsIHwgcmVwbCB8IHJlcGwgfAorfCAgbmFuIHwgcmVwbCB8IHJlcGwgfCBy ZXBsIHwgcmVwbCB8IHJlcGwgfCByZXBsIHwKK3wgdWluZiB8IHJlcGwgfCByZXBsIHwgcmVwbCB8 IHJlcGwgfCByZXBsIHwgcmVwbCB8Cit8IC1pbmYgfCByZXBsIHwgcmVwbCB8IHJlcGwgfCByZXBs IHwgcmVwbCB8IHJlcGwgfAorfCAgaW5mIHwgcmVwbCB8IHJlcGwgfCByZXBsIHwgcmVwbCB8IHJl cGwgfCByZXBsIHwKKyIKKyAgICIKK3wgICAgICB8IDAgfCB6IHwgbmFuIHwgdWluZiB8IC1pbmYg fCBpbmYgfAorfC0tLS0tLSstLS0rLS0tKy0tLS0tKy0tLS0tLSstLS0tLS0rLS0tLS18Cit8ICAg IDAgfCB4IHwgICB8ICAgICB8ICAgICAgfCAgICAgIHwgICAgIHwKK3wgICAgeiB8ICAgfCB4IHwg ICAgIHwgICAgICB8ICAgICAgfCAgICAgfAorfCAgbmFuIHwgICB8ICAgfCAgIHggfCAgICAgIHwg ICAgICB8ICAgICB8Cit8IHVpbmYgfCAgIHwgICB8ICAgICB8ICAgIHggfCAgICAgIHwgICAgIHwK K3wgLWluZiB8ICAgfCAgIHwgICAgIHwgICAgICB8ICAgIHggfCAgICAgfAorfCAgaW5mIHwgICB8 ICAgfCAgICAgfCAgICAgIHwgICAgICB8ICAgeCB8CisiCisgICAxCisgICA7OyBDb21wYXJlIGZp ZWxkIHJlZmVyZW5jZSAoJDEpIHdpdGggZmllbGQgcmVmZXJlbmNlIChAMSkKKyAgICIjK1RCTEZN OiBASSQ8PC4uQD4kPiA9IGlmKFwiJDFcIiA9IFwiQDFcIiwgeCwgc3RyaW5nKFwiXCIpKTsgRSIK KyAgIDs7IENvbXBhcmUgZmllbGQgcmVmZXJlbmNlICgkMSkgd2l0aCBhYnNvbHV0ZSB0ZXJtCisg ICAoY29uY2F0ICIjK1RCTEZNOiAiCisJICAgIiQyID0gaWYoXCIkMVwiID0gXCIoMClcIiAgICwg eCwgc3RyaW5nKFwiXCIpKTsgRSA6OiAiCisJICAgIiQzID0gaWYoXCIkMVwiID0gXCIoeilcIiAg ICwgeCwgc3RyaW5nKFwiXCIpKTsgRSA6OiAiCisJICAgIiQ0ID0gaWYoXCIkMVwiID0gXCIobmFu KVwiICwgeCwgc3RyaW5nKFwiXCIpKTsgRSA6OiAiCisJICAgIiQ1ID0gaWYoXCIkMVwiID0gXCIo dWluZilcIiwgeCwgc3RyaW5nKFwiXCIpKTsgRSA6OiAiCisJICAgIiQ2ID0gaWYoXCIkMVwiID0g XCIoLWluZilcIiwgeCwgc3RyaW5nKFwiXCIpKTsgRSA6OiAiCisJICAgIiQ3ID0gaWYoXCIkMVwi ID0gXCIoaW5mKVwiICwgeCwgc3RyaW5nKFwiXCIpKTsgRSIpKQorCisgIDs7IENoZWNrIGZpZWxk IHJlZmVyZW5jZSBjb252ZXJ0ZWQgZnJvbSBhbiBlbXB0eSBmaWVsZDogRGVzcGl0ZSB0aGlzCisg IDs7IGZpZWxkIHJlZmVyZW5jZSB3aWxsIG5vdCBlbmQgdXAgaW4gYSByZXN1bHQsIENhbGMgZXZh bHVhdGVzIGl0LgorICA7OyBNYWtlIHN1cmUgdGhhdCBhbHNvIHRoZW4gdGhlcmUgaXMgbm8gQ2Fs YyBlcnJvci4KKyAgKG9yZy10ZXN0LXRhYmxlLXRhcmdldC1leHBlY3QKKyAgICIKK3wgICAwIHwg cmVwbGFjZSB8Cit8ICAgeiB8IHJlcGxhY2UgfAorfCBuYW4gfCByZXBsYWNlIHwKKyIKKyAgICIK K3wgICAwIHwgICAgIDEgfAorfCAgIHogfCB6ICsgMSB8Cit8IG5hbiB8ICAgbmFuIHwKKyIKKyAg IDEgIiMrVEJMRk06ICQyID0gaWYoXCIkMVwiID0gXCJuYW5cIiwgc3RyaW5nKFwiXCIpLCAkMSAr IDEpOyBFIikpCisKKyhlcnQtZGVmdGVzdCB0ZXN0LW9yZy10YWJsZS9lbXB0eS1maWVsZCAoKQor ICAiRXhhbXBsZXMgaG93IHRvIGRlYWwgd2l0aCBlbXB0eSBmaWVsZHMuIgorICA7OyBFbXB0eSBm aWVsZHMgaW4gc2ltcGxlIGFuZCBjb21wbGV4IHJhbmdlIHJlZmVyZW5jZTogU3VwcHJlc3MgdGhl bQorICA7OyAoJDUgYW5kICQ2KSBvciBrZWVwIHRoZW0gYW5kIHVzZSAwICgkNyBhbmQgJDgpCisK KyAgOzsgQ2FsYyBmb3JtdWxhCisgIChvcmctdGVzdC10YWJsZS10YXJnZXQtZXhwZWN0CisgICAi XG58ICAgfCAgIHwgNSB8IDcgfCByZXBsYWNlIHwgcmVwbGFjZSB8IHJlcGxhY2UgfCByZXBsYWNl IHxcbiIKKyAgICJcbnwgICB8ICAgfCA1IHwgNyB8IDYgfCA2IHwgMyB8IDMgfFxuIgorICAgMQor ICAgKGNvbmNhdCAiIytUQkxGTTogIgorCSAgICIkNSA9IHZtZWFuKCQxLi4kNCkgICAgIDo6ICQ2 ID0gdm1lYW4oQDAkMS4uQDAkNCkgOjogIgorCSAgICIkNyA9IHZtZWFuKCQxLi4kNCk7IEVOIDo6 ICQ4ID0gdm1lYW4oQDAkMS4uQDAkNCk7IEVOIikpCisKKyAgOzsgTGlzcCBmb3JtdWxhCisgIDs7 IFRPRE86IExlbiBmb3Igc2ltcGxlIHJhbmdlIHJlZmVyZW5jZSB3aXRoIGVtcHR5IGZpZWxkIHNo b3VsZCBhbHNvCisgIDs7IGJlIDYKKyAgKG9yZy10ZXN0LXRhYmxlLXRhcmdldC1leHBlY3QKKyAg ICJcbnwgICB8ICAgfCA1IHwgNyB8IHJlcGxhY2UgfCByZXBsYWNlIHwgcmVwbGFjZSB8IHJlcGxh Y2UgfFxuIgorICAgIlxufCAgIHwgICB8IDUgfCA3IHwgMyB8IDYgfCAzIHwgMyB8XG4iCisgICAx CisgICAoY29uY2F0ICIjK1RCTEZNOiAiCisJICAgIiQ1ID0gJygvICgrICAgJDEuLiQ0ICApIChs ZW5ndGggJyggICQxLi4kNCAgKSkpOyAgTiA6OiAiCisJICAgIiQ2ID0gJygvICgrIEAwJDEuLkAw JDQpIChsZW5ndGggJyhAMCQxLi5AMCQ0KSkpOyAgTiA6OiAiCisJICAgIiQ3ID0gJygvICgrICAg JDEuLiQ0ICApIChsZW5ndGggJyggICQxLi4kNCAgKSkpOyBFTiA6OiAiCisJICAgIiQ4ID0gJygv ICgrIEAwJDEuLkAwJDQpIChsZW5ndGggJyhAMCQxLi5AMCQ0KSkpOyBFTiIpKSkKKworOzsgRW5k IG9mIHRhYmxlIGV4YW1wbGVzIGFuZCBiZWdpbm5pbmcgb2YgaW50ZXJuYWwgdGVzdHMuCisKKyhl cnQtZGVmdGVzdCB0ZXN0LW9yZy10YWJsZS9vcmctdGFibGUtbWFrZS1yZWZlcmVuY2UvZm9ybWF0 LXNwZWNpZmllci1FTCAoKQorICAoZnNldCAnZiAnb3JnLXRhYmxlLW1ha2UtcmVmZXJlbmNlKQor ICA7OyBGb3IgTGlzcCBmb3JtdWxhIG9ubHkKKyAgKHNob3VsZCAoZXF1YWwgIjAiICAgKGYgICAi MCIgICAgICB0IG5pbCAnbGl0ZXJhbCkpKQorICAoc2hvdWxkIChlcXVhbCAieiIgICAoZiAgICJ6 IiAgICAgIHQgbmlsICdsaXRlcmFsKSkpCisgIChzaG91bGQgKGVxdWFsICAiIiAgIChmICAgIiIg ICAgICAgdCBuaWwgJ2xpdGVyYWwpKSkKKyAgKHNob3VsZCAoZXF1YWwgIjAgMSIgKGYgJygiMCIg IjEiKSB0IG5pbCAnbGl0ZXJhbCkpKQorICAoc2hvdWxkIChlcXVhbCAieiAxIiAoZiAnKCJ6IiAi MSIpIHQgbmlsICdsaXRlcmFsKSkpCisgIChzaG91bGQgKGVxdWFsICAiIDEiIChmICcoIiIgICIx IikgdCBuaWwgJ2xpdGVyYWwpKSkKKyAgKHNob3VsZCAoZXF1YWwgICIgIiAgKGYgJygiIiAgIiIg KSB0IG5pbCAnbGl0ZXJhbCkpKSkKKworKGVydC1kZWZ0ZXN0IHRlc3Qtb3JnLXRhYmxlL29yZy10 YWJsZS1tYWtlLXJlZmVyZW5jZS9mb3JtYXQtc3BlY2lmaWVyLUUgKCkKKyAgKGZzZXQgJ2YgJ29y Zy10YWJsZS1tYWtlLXJlZmVyZW5jZSkKKyAgOzsgRm9yIExpc3AgZm9ybXVsYQorICAoc2hvdWxk IChlcXVhbCAiXCIwXCIiICAgICAgIChmICAgIjAiICAgICAgICAgdCBuaWwgdCkpKQorICAoc2hv dWxkIChlcXVhbCAiXCJ6XCIiICAgICAgIChmICAgInoiICAgICAgICAgdCBuaWwgdCkpKQorICAo c2hvdWxkIChlcXVhbCAgIlwiXCIiICAgICAgIChmICAgIiIgICAgICAgICAgdCBuaWwgdCkpKQor ICAoc2hvdWxkIChlcXVhbCAiXCIwXCIgXCIxXCIiIChmICcoIjAiICAgICIxIikgdCBuaWwgdCkp KQorICAoc2hvdWxkIChlcXVhbCAiXCJ6XCIgXCIxXCIiIChmICcoInoiICAgICIxIikgdCBuaWwg dCkpKQorICAoc2hvdWxkIChlcXVhbCAgIlwiXCIgXCIxXCIiIChmICcoIiIgICAgICIxIikgdCBu aWwgdCkpKQorICAoc2hvdWxkIChlcXVhbCAgIlwiXCIgXCJcIiIgIChmICcoIiIgICAgICIiICkg dCBuaWwgdCkpKQorICA7OyBGb3IgQ2FsYyBmb3JtdWxhCisgIChzaG91bGQgKGVxdWFsICAiKDAp IiAgICAgICAgKGYgICAiMCIgICAgICAgICB0IG5pbCBuaWwpKSkKKyAgKHNob3VsZCAoZXF1YWwg ICIoeikiICAgICAgICAoZiAgICJ6IiAgICAgICAgIHQgbmlsIG5pbCkpKQorICAoc2hvdWxkIChl cXVhbCAgIigwKSIgICAgICAgIChmICAgIiIgICAgICAgICAgdCBuaWwgbmlsKSkpCisgIChzaG91 bGQgKGVxdWFsICAiWzAsMV0iICAgICAgKGYgJygiMCIgICAgIjEiKSB0IG5pbCBuaWwpKSkKKyAg KHNob3VsZCAoZXF1YWwgICJbeiwxXSIgICAgICAoZiAnKCJ6IiAgICAiMSIpIHQgbmlsIG5pbCkp KQorICAoc2hvdWxkIChlcXVhbCAgICJbLDFdIiAgICAgIChmICcoIiIgICAgICIxIikgdCBuaWwg bmlsKSkpCisgIChzaG91bGQgKGVxdWFsICAgIlssXSIgICAgICAgKGYgJygiIiAgICAgIiIgKSB0 IG5pbCBuaWwpKSkKKyAgOzsgRm9yIENhbGMgZm9ybXVsYSwgc3BlY2lhbCBudW1iZXJzCisgIChz aG91bGQgKGVxdWFsICAiKG5hbikiICAgICAgKGYgICAgIm5hbiIgICAgICB0IG5pbCBuaWwpKSkK KyAgKHNob3VsZCAoZXF1YWwgIih1aW5mKSIgICAgICAoZiAgICJ1aW5mIiAgICAgIHQgbmlsIG5p bCkpKQorICAoc2hvdWxkIChlcXVhbCAiKC1pbmYpIiAgICAgIChmICAgIi1pbmYiICAgICAgdCBu aWwgbmlsKSkpCisgIChzaG91bGQgKGVxdWFsICAiKGluZikiICAgICAgKGYgICAgImluZiIgICAg ICB0IG5pbCBuaWwpKSkKKyAgKHNob3VsZCAoZXF1YWwgICJbbmFuLDFdIiAgICAoZiAnKCAibmFu IiAiMSIpIHQgbmlsIG5pbCkpKQorICAoc2hvdWxkIChlcXVhbCAiW3VpbmYsMV0iICAgIChmICco InVpbmYiICIxIikgdCBuaWwgbmlsKSkpCisgIChzaG91bGQgKGVxdWFsICJbLWluZiwxXSIgICAg KGYgJygiLWluZiIgIjEiKSB0IG5pbCBuaWwpKSkKKyAgKHNob3VsZCAoZXF1YWwgICJbaW5mLDFd IiAgICAoZiAnKCAiaW5mIiAiMSIpIHQgbmlsIG5pbCkpKSkKKworKGVydC1kZWZ0ZXN0IHRlc3Qt b3JnLXRhYmxlL29yZy10YWJsZS1tYWtlLXJlZmVyZW5jZS9mb3JtYXQtc3BlY2lmaWVyLUVOICgp CisgIChmc2V0ICdmICdvcmctdGFibGUtbWFrZS1yZWZlcmVuY2UpCisgIDs7IEZvciBMaXNwIGZv cm11bGEKKyAgKHNob3VsZCAoZXF1YWwgICIwIiAgICAoZiAgICIwIiAgICAgICAgIHQgdCB0KSkp CisgIChzaG91bGQgKGVxdWFsICAiMCIgICAgKGYgICAieiIgICAgICAgICB0IHQgdCkpKQorICAo c2hvdWxkIChlcXVhbCAgIjAiICAgIChmICAgIiIgICAgICAgICAgdCB0IHQpKSkKKyAgKHNob3Vs ZCAoZXF1YWwgICIwIDEiICAoZiAnKCIwIiAgICAiMSIpIHQgdCB0KSkpCisgIChzaG91bGQgKGVx dWFsICAiMCAxIiAgKGYgJygieiIgICAgIjEiKSB0IHQgdCkpKQorICAoc2hvdWxkIChlcXVhbCAg IjAgMSIgIChmICcoIiIgICAgICIxIikgdCB0IHQpKSkKKyAgKHNob3VsZCAoZXF1YWwgICIwIDAi ICAoZiAnKCIiICAgICAiIiApIHQgdCB0KSkpCisgIDs7IEZvciBDYWxjIGZvcm11bGEKKyAgKHNo b3VsZCAoZXF1YWwgIigwKSIgICAoZiAgICIwIiAgICAgICAgIHQgdCBuaWwpKSkKKyAgKHNob3Vs ZCAoZXF1YWwgIigwKSIgICAoZiAgICJ6IiAgICAgICAgIHQgdCBuaWwpKSkKKyAgKHNob3VsZCAo ZXF1YWwgIigwKSIgICAoZiAgICIiICAgICAgICAgIHQgdCBuaWwpKSkKKyAgKHNob3VsZCAoZXF1 YWwgIlswLDFdIiAoZiAnKCIwIiAgICAiMSIpIHQgdCBuaWwpKSkKKyAgKHNob3VsZCAoZXF1YWwg IlswLDFdIiAoZiAnKCJ6IiAgICAiMSIpIHQgdCBuaWwpKSkKKyAgKHNob3VsZCAoZXF1YWwgIlsw LDFdIiAoZiAnKCIiICAgICAiMSIpIHQgdCBuaWwpKSkKKyAgKHNob3VsZCAoZXF1YWwgIlswLDBd IiAoZiAnKCIiICAgICAiIiApIHQgdCBuaWwpKSkKKyAgOzsgRm9yIENhbGMgZm9ybXVsYSwgc3Bl Y2lhbCBudW1iZXJzCisgIChzaG91bGQgKGVxdWFsICIoMCkiICAgKGYgICAgIm5hbiIgICAgICB0 IHQgbmlsKSkpCisgIChzaG91bGQgKGVxdWFsICIoMCkiICAgKGYgICAidWluZiIgICAgICB0IHQg bmlsKSkpCisgIChzaG91bGQgKGVxdWFsICIoMCkiICAgKGYgICAiLWluZiIgICAgICB0IHQgbmls KSkpCisgIChzaG91bGQgKGVxdWFsICIoMCkiICAgKGYgICAgImluZiIgICAgICB0IHQgbmlsKSkp CisgIChzaG91bGQgKGVxdWFsICJbMCwxXSIgKGYgJyggIm5hbiIgIjEiKSB0IHQgbmlsKSkpCisg IChzaG91bGQgKGVxdWFsICJbMCwxXSIgKGYgJygidWluZiIgIjEiKSB0IHQgbmlsKSkpCisgIChz aG91bGQgKGVxdWFsICJbMCwxXSIgKGYgJygiLWluZiIgIjEiKSB0IHQgbmlsKSkpCisgIChzaG91 bGQgKGVxdWFsICJbMCwxXSIgKGYgJyggImluZiIgIjEiKSB0IHQgbmlsKSkpKQorCisoZXJ0LWRl ZnRlc3QgdGVzdC1vcmctdGFibGUvb3JnLXRhYmxlLW1ha2UtcmVmZXJlbmNlL2Zvcm1hdC1zcGVj aWZpZXItTCAoKQorICAoZnNldCAnZiAnb3JnLXRhYmxlLW1ha2UtcmVmZXJlbmNlKQorICA7OyBG b3IgTGlzcCBmb3JtdWxhIG9ubHkKKyAgKHNob3VsZCAoZXF1YWwgIjAiICAgKGYgICAiMCIgICAg ICBuaWwgbmlsICdsaXRlcmFsKSkpCisgIChzaG91bGQgKGVxdWFsICJ6IiAgIChmICAgInoiICAg ICAgbmlsIG5pbCAnbGl0ZXJhbCkpKQorICAoc2hvdWxkIChlcXVhbCAgIiIgICAoZiAgICIiICAg ICAgIG5pbCBuaWwgJ2xpdGVyYWwpKSkKKyAgKHNob3VsZCAoZXF1YWwgIjAgMSIgKGYgJygiMCIg IjEiKSBuaWwgbmlsICdsaXRlcmFsKSkpCisgIChzaG91bGQgKGVxdWFsICJ6IDEiIChmICcoInoi ICIxIikgbmlsIG5pbCAnbGl0ZXJhbCkpKQorICAoc2hvdWxkIChlcXVhbCAgICIxIiAoZiAnKCIi ICAiMSIpIG5pbCBuaWwgJ2xpdGVyYWwpKSkKKyAgOzsgVE9ETzogU2hvdWxkIHJlc3VsdCBpbiBl bXB0eSBzdHJpbmcgbGlrZSB3aXRoIGZpZWxkIHJlZmVyZW5jZSBvZgorICA7OyBlbXB0eSBmaWVs ZC4KKyAgKHNob3VsZCAoZXF1YWwgICIwIiAgKGYgJygiIiAgIiIgKSBuaWwgbmlsICdsaXRlcmFs KSkpKQorCisoZXJ0LWRlZnRlc3QgdGVzdC1vcmctdGFibGUvb3JnLXRhYmxlLW1ha2UtcmVmZXJl bmNlL2Zvcm1hdC1zcGVjaWZpZXItbm9uZSAoKQorICAoZnNldCAnZiAnb3JnLXRhYmxlLW1ha2Ut cmVmZXJlbmNlKQorICA7OyBGb3IgTGlzcCBmb3JtdWxhCisgIChzaG91bGQgKGVxdWFsICJcIjBc IiIgICAgICAgKGYgICAiMCIgICAgICAgICBuaWwgbmlsIHQpKSkKKyAgKHNob3VsZCAoZXF1YWwg IlwielwiIiAgICAgICAoZiAgICJ6IiAgICAgICAgIG5pbCBuaWwgdCkpKQorICAoc2hvdWxkIChl cXVhbCAgIlwiXCIiICAgICAgIChmICAgIiIgICAgICAgICAgbmlsIG5pbCB0KSkpCisgIChzaG91 bGQgKGVxdWFsICJcIjBcIiBcIjFcIiIgKGYgJygiMCIgICAgIjEiKSBuaWwgbmlsIHQpKSkKKyAg KHNob3VsZCAoZXF1YWwgIlwielwiIFwiMVwiIiAoZiAnKCJ6IiAgICAiMSIpIG5pbCBuaWwgdCkp KQorICAoc2hvdWxkIChlcXVhbCAgICAgICAiXCIxXCIiIChmICcoIiIgICAgICIxIikgbmlsIG5p bCB0KSkpCisgIDs7IFRPRE86IFNob3VsZCByZXN1bHQgaW4gZW1wdHkgc3RyaW5nIGxpa2Ugd2l0 aCBmaWVsZCByZWZlcmVuY2Ugb2YKKyAgOzsgZW1wdHkgZmllbGQuCisgIChzaG91bGQgKGVxdWFs ICAgICJcIjBcIiIgICAgKGYgJygiIiAgICAgIiIgKSBuaWwgbmlsIHQpKSkKKyAgOzsgRm9yIENh bGMgZm9ybXVsYQorICAoc2hvdWxkIChlcXVhbCAgIigwKSIgICAgICAgIChmICAgIjAiICAgICAg ICAgbmlsIG5pbCBuaWwpKSkKKyAgKHNob3VsZCAoZXF1YWwgICIoeikiICAgICAgICAoZiAgICJ6 IiAgICAgICAgIG5pbCBuaWwgbmlsKSkpCisgIChzaG91bGQgKGVxdWFsICAiKDApIiAgICAgICAg KGYgICAiIiAgICAgICAgICBuaWwgbmlsIG5pbCkpKQorICAoc2hvdWxkIChlcXVhbCAgIlswLDFd IiAgICAgIChmICcoIjAiICAgICIxIikgbmlsIG5pbCBuaWwpKSkKKyAgKHNob3VsZCAoZXF1YWwg ICJbeiwxXSIgICAgICAoZiAnKCJ6IiAgICAiMSIpIG5pbCBuaWwgbmlsKSkpCisgIChzaG91bGQg KGVxdWFsICAgICJbMV0iICAgICAgKGYgJygiIiAgICAgIjEiKSBuaWwgbmlsIG5pbCkpKQorICAo c2hvdWxkIChlcXVhbCAgICJbMF0iICAgICAgIChmICcoIiIgICAgICIiICkgbmlsIG5pbCBuaWwp KSkKKyAgOzsgRm9yIENhbGMgZm9ybXVsYSwgc3BlY2lhbCBudW1iZXJzCisgIChzaG91bGQgKGVx dWFsICAiKG5hbikiICAgICAgKGYgICAgIm5hbiIgICAgICBuaWwgbmlsIG5pbCkpKQorICAoc2hv dWxkIChlcXVhbCAiKHVpbmYpIiAgICAgIChmICAgInVpbmYiICAgICAgbmlsIG5pbCBuaWwpKSkK KyAgKHNob3VsZCAoZXF1YWwgIigtaW5mKSIgICAgICAoZiAgICItaW5mIiAgICAgIG5pbCBuaWwg bmlsKSkpCisgIChzaG91bGQgKGVxdWFsICAiKGluZikiICAgICAgKGYgICAgImluZiIgICAgICBu aWwgbmlsIG5pbCkpKQorICAoc2hvdWxkIChlcXVhbCAgIltuYW4sMV0iICAgIChmICcoICJuYW4i ICIxIikgbmlsIG5pbCBuaWwpKSkKKyAgKHNob3VsZCAoZXF1YWwgIlt1aW5mLDFdIiAgICAoZiAn KCJ1aW5mIiAiMSIpIG5pbCBuaWwgbmlsKSkpCisgIChzaG91bGQgKGVxdWFsICJbLWluZiwxXSIg ICAgKGYgJygiLWluZiIgIjEiKSBuaWwgbmlsIG5pbCkpKQorICAoc2hvdWxkIChlcXVhbCAgIltp bmYsMV0iICAgIChmICcoICJpbmYiICIxIikgbmlsIG5pbCBuaWwpKSkpCisKKyhlcnQtZGVmdGVz dCB0ZXN0LW9yZy10YWJsZS9vcmctdGFibGUtbWFrZS1yZWZlcmVuY2UvZm9ybWF0LXNwZWNpZmll ci1OICgpCisgIChmc2V0ICdmICdvcmctdGFibGUtbWFrZS1yZWZlcmVuY2UpCisgIDs7IEZvciBM aXNwIGZvcm11bGEKKyAgKHNob3VsZCAoZXF1YWwgICIwIiAgICAoZiAgICIwIiAgICAgICAgIG5p bCB0IHQpKSkKKyAgKHNob3VsZCAoZXF1YWwgICIwIiAgICAoZiAgICJ6IiAgICAgICAgIG5pbCB0 IHQpKSkKKyAgKHNob3VsZCAoZXF1YWwgICIwIiAgICAoZiAgICIiICAgICAgICAgIG5pbCB0IHQp KSkKKyAgKHNob3VsZCAoZXF1YWwgICIwIDEiICAoZiAnKCIwIiAgICAiMSIpIG5pbCB0IHQpKSkK KyAgKHNob3VsZCAoZXF1YWwgICIwIDEiICAoZiAnKCJ6IiAgICAiMSIpIG5pbCB0IHQpKSkKKyAg KHNob3VsZCAoZXF1YWwgICAgIjEiICAoZiAnKCIiICAgICAiMSIpIG5pbCB0IHQpKSkKKyAgKHNo b3VsZCAoZXF1YWwgICAiMCIgICAoZiAnKCIiICAgICAiIiApIG5pbCB0IHQpKSkKKyAgOzsgRm9y IENhbGMgZm9ybXVsYQorICAoc2hvdWxkIChlcXVhbCAiKDApIiAgIChmICAgIjAiICAgICAgICAg bmlsIHQgbmlsKSkpCisgIChzaG91bGQgKGVxdWFsICIoMCkiICAgKGYgICAieiIgICAgICAgICBu aWwgdCBuaWwpKSkKKyAgKHNob3VsZCAoZXF1YWwgIigwKSIgICAoZiAgICIiICAgICAgICAgIG5p bCB0IG5pbCkpKQorICAoc2hvdWxkIChlcXVhbCAiWzAsMV0iIChmICcoIjAiICAgICIxIikgbmls IHQgbmlsKSkpCisgIChzaG91bGQgKGVxdWFsICJbMCwxXSIgKGYgJygieiIgICAgIjEiKSBuaWwg dCBuaWwpKSkKKyAgKHNob3VsZCAoZXF1YWwgICAiWzFdIiAoZiAnKCIiICAgICAiMSIpIG5pbCB0 IG5pbCkpKQorICAoc2hvdWxkIChlcXVhbCAgIlswXSIgIChmICcoIiIgICAgICIiICkgbmlsIHQg bmlsKSkpCisgIDs7IEZvciBDYWxjIGZvcm11bGEsIHNwZWNpYWwgbnVtYmVycworICAoc2hvdWxk IChlcXVhbCAiKDApIiAgIChmICAgICJuYW4iICAgICAgbmlsIHQgbmlsKSkpCisgIChzaG91bGQg KGVxdWFsICIoMCkiICAgKGYgICAidWluZiIgICAgICBuaWwgdCBuaWwpKSkKKyAgKHNob3VsZCAo ZXF1YWwgIigwKSIgICAoZiAgICItaW5mIiAgICAgIG5pbCB0IG5pbCkpKQorICAoc2hvdWxkIChl cXVhbCAiKDApIiAgIChmICAgICJpbmYiICAgICAgbmlsIHQgbmlsKSkpCisgIChzaG91bGQgKGVx dWFsICJbMCwxXSIgKGYgJyggIm5hbiIgIjEiKSBuaWwgdCBuaWwpKSkKKyAgKHNob3VsZCAoZXF1 YWwgIlswLDFdIiAoZiAnKCJ1aW5mIiAiMSIpIG5pbCB0IG5pbCkpKQorICAoc2hvdWxkIChlcXVh bCAiWzAsMV0iIChmICcoIi1pbmYiICIxIikgbmlsIHQgbmlsKSkpCisgIChzaG91bGQgKGVxdWFs ICJbMCwxXSIgKGYgJyggImluZiIgIjEiKSBuaWwgdCBuaWwpKSkpCisKIChlcnQtZGVmdGVzdCB0 ZXN0LW9yZy10YWJsZS9vcmctdGFibGUtY29udmVydC1yZWZzLXRvLWFuLzEgKCkKICAgIlNpbXBs ZSByZWZlcmVuY2UgQDEkMS4iCiAgIChzaG91bGQKQEAgLTY5LDI5ICs2NDcsNiBAQAogOzsgICAo c2hvdWxkCiA7OyAgICAoc3RyaW5nPSAiJDMgPSByZW1vdGUoRk9PLCBAQCMkMikiIChvcmctdGFi bGUtY29udmVydC1yZWZzLXRvLXJjICJDJiA9IHJlbW90ZShGT08sIEBAI0ImKSIpKSkpCiAKLShl cnQtZGVmdGVzdCB0ZXN0LW9yZy10YWJsZS9zaW1wbGUtZm9ybXVsYSAoKQotICAob3JnLXRlc3Qt d2l0aC10ZW1wLXRleHQtaW4tZmlsZSAiCi0KLSogc2ltcGxlIGZvcm11bGEKLSAgOlBST1BFUlRJ RVM6Ci0gIDpJRDogICAgICAgNTYzNTIzZjctM2YzZS00OWM5LTk2MjItOTIxNmNjOWE1ZDk1Ci0g IDpFTkQ6Ci0KLSMrdGJsbmFtZTogc2ltcGxlLWZvcm11bGEKLXwgIDEgfAotfCAgMiB8Ci18ICAz IHwKLXwgIDQgfAotfC0tLS18Ci18ICAgIHwKLSAgIytUQkxGTTogJDE9dnN1bShAMS4uQC0xKQot IgotICAgIChyZS1zZWFyY2gtZm9yd2FyZCAocmVnZXhwLXF1b3RlICIjK3RibG5hbWU6IHNpbXBs ZS1mb3JtdWxhIikgbmlsIHQpCi0gICAgKGZvcndhcmQtbGluZSAxKQotICAgIChzaG91bGQgKG9y Zy1hdC10YWJsZS1wKSkKLSAgICAoc2hvdWxkIChvcmctdGFibGUtcmVjYWxjdWxhdGUgJ2FsbCkp Ci0gICAgKHNob3VsZCAoc3RyaW5nPSAiMTAiIChmaXJzdCAobnRoIDUgKG9yZy10YWJsZS10by1s aXNwKSkpKSkpKQotCiAocHJvdmlkZSAndGVzdC1vcmctdGFibGUpCiAKIDs7OyB0ZXN0LW9yZy10 YWJsZS5lbCBlbmRzIGhlcmUKLS0gCjEuNy4xCgo= --089e013a11a26d9b9004d1ea3984 Content-Type: text/plain; charset=US-ASCII; name="0005-org-table.el-Fix-range-len-bugs-and-inconsistencies.patch.txt" Content-Disposition: attachment; filename="0005-org-table.el-Fix-range-len-bugs-and-inconsistencies.patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hb9eed4q4 RnJvbSBlZjliN2Y5ZGM0ZDlmMDUxM2IzNmU4NjMwNDQzZjA5OTI4MDYzNmMyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIEJyYW5kIDxtaWNoYWVsLmNoLmJyYW5kQGdtYWls LmNvbT4KRGF0ZTogRnJpLCAyOCBEZWMgMjAxMiAxNTowMjowMSArMDEwMApTdWJqZWN0OiBbUEFU Q0ggNS82XSBvcmctdGFibGUuZWw6IEZpeCByYW5nZSBsZW4gYnVncyBhbmQgaW5jb25zaXN0ZW5j aWVzCgoqIGxpc3Avb3JnLXRhYmxlLmVsIChvcmctdGFibGUtZXZhbC1mb3JtdWxhKTogS2VlcCBl bXB0eSBmaWVsZHMgZHVyaW5nCnByZXByb2Nlc3NpbmcuCihvcmctdGFibGUtbWFrZS1yZWZlcmVu Y2UpOiBBIHJhbmdlIHdpdGggb25seSBlbXB0eSBmaWVsZHMgc2hvdWxkIG5vdAphbHdheXMgcmV0 dXJuIDAgYnV0IGFsc28gZW1wdHkgc3RyaW5nLCBjb25zaXN0ZW50IHdpdGggZmllbGQgcmVmZXJl bmNlCm9mIGFuIGVtcHR5IGZpZWxkLiAgVXNlIGZ1dHVyZSBkZXNpZ24gZm9yIG5hbiBidXQgcmVw bGljYXRlIGN1cnJlbnQKYmVoYXZpb3IuCiogdGVzdGluZy9saXNwL3Rlc3Qtb3JnLXRhYmxlLmVs OiBBZGFwdCBleHBlY3RlZCBmb3Igc2V2ZXJhbAplcnQtZGVmdGVzdC4KClRoZSByYW5nZSBsZW4g YnVncyBtYXkgbGVhZCB0byB3cm9uZyBjYWxjdWxhdGlvbnMgZm9yIHJhbmdlIHJlZmVyZW5jZXMK d2l0aCBlbXB0eSBmaWVsZHMgd2hlbiB0aGUgcmFuZ2UgbGVuIGlzIHJlbGV2YW50LiAgQWZmZWN0 cyB0eXBpY2FsbHkKQ2FsYyB2bWVhbiBvbiBzaW1wbGUgcmFuZ2UgYW5kIHdpdGhvdXQgZm9ybWF0 IHNwZWNpZmllciBFTi4gIEFsc28KTGlzcCB3aXRoIGUuIGcuIGBsZW5ndGgnIG9uIHNpbXBsZSBy YW5nZSBvciB3aXRoIEwuCi0tLQogbGlzcC9vcmctdGFibGUuZWwgICAgICAgICAgICAgIHwgICAx MyArKysrKysrKysrLS0tCiB0ZXN0aW5nL2xpc3AvdGVzdC1vcmctdGFibGUuZWwgfCAgIDMwICsr KysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRp b25zKCspLCAyNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saXNwL29yZy10YWJsZS5lbCBi L2xpc3Avb3JnLXRhYmxlLmVsCmluZGV4IDZhOWQwYjQuLjFmNTQwYjQgMTAwNjQ0Ci0tLSBhL2xp c3Avb3JnLXRhYmxlLmVsCisrKyBiL2xpc3Avb3JnLXRhYmxlLmVsCkBAIC0yNTU3LDcgKzI1NTcs MTAgQEAgbm90IG92ZXJ3cml0ZSB0aGUgc3RvcmVkIG9uZS4iCiAJCQkgIGZpZWxkcykpKQogCShp ZiAoZXEgbnVtYmVycyB0KQogCSAgICAoc2V0cSBmaWVsZHMgKG1hcGNhcgotCQkJICAobGFtYmRh ICh4KSAobnVtYmVyLXRvLXN0cmluZyAoc3RyaW5nLXRvLW51bWJlciB4KSkpCisJCQkgIChsYW1i ZGEgKHgpCisJCQkgICAgKGlmIChzdHJpbmctbWF0Y2ggIlxcUy0iIHgpCisJCQkJKG51bWJlci10 by1zdHJpbmcgKHN0cmluZy10by1udW1iZXIgeCkpCisJCQkgICAgICB4KSkKIAkJCSAgZmllbGRz KSkpCiAJKHNldHEgbmRvd24gKDEtIG5kb3duKSkKIAkoc2V0cSBmb3JtIChjb3B5LXNlcXVlbmNl IGZvcm11bGEpCkBAIC0yODYyLDcgKzI4NjUsNyBAQCBMSVNQUCBtZWFucyB0byByZXR1cm4gc29t ZXRoaW5nIGFwcHJvcHJpYXRlIGZvciBhIExpc3AgbGlzdC4iCiAJICAgIChkZWxxIG5pbAogCQkg IChtYXBjYXIgKGxhbWJkYSAoeCkgKGlmIChzdHJpbmctbWF0Y2ggIlxcUy0iIHgpIHggbmlsKSkK IAkJCSAgZWxlbWVudHMpKSkpCi0gICAgKHNldHEgZWxlbWVudHMgKG9yIGVsZW1lbnRzICcoIjAi KSkpCisgICAgKHNldHEgZWxlbWVudHMgKG9yIGVsZW1lbnRzICcoIiIpKSkKICAgICAoaWYgbGlz cHAKIAkobWFwY29uY2F0CiAJIChsYW1iZGEgKHgpCkBAIC0yODcyLDcgKzI4NzUsMTEgQEAgTElT UFAgbWVhbnMgdG8gcmV0dXJuIHNvbWV0aGluZyBhcHByb3ByaWF0ZSBmb3IgYSBMaXNwIGxpc3Qu IgogCSBlbGVtZW50cyAiICIpCiAgICAgICAoY29uY2F0ICJbIiAobWFwY29uY2F0CiAJCSAgIChs YW1iZGEgKHgpCi0JCSAgICAgKGlmIG51bWJlcnMgKG51bWJlci10by1zdHJpbmcgKHN0cmluZy10 by1udW1iZXIgeCkpIHgpKQorCQkgICAgIChpZiAoc3RyaW5nLW1hdGNoICJcXFMtIiB4KQorCQkJ IChpZiBudW1iZXJzCisJCQkgICAgIChudW1iZXItdG8tc3RyaW5nIChzdHJpbmctdG8tbnVtYmVy IHgpKQorCQkJICAgeCkKKwkJICAgICAgIChpZiAob3IgKG5vdCBrZWVwLWVtcHR5KSBudW1iZXJz KSAiMCIgIiIpKSkKIAkJICAgZWxlbWVudHMKIAkJICAgIiwiKSAiXSIpKSkpCiAKZGlmZiAtLWdp dCBhL3Rlc3RpbmcvbGlzcC90ZXN0LW9yZy10YWJsZS5lbCBiL3Rlc3RpbmcvbGlzcC90ZXN0LW9y Zy10YWJsZS5lbAppbmRleCA2ODk0OWQ5Li42MTMzMDA1IDEwMDY0NAotLS0gYS90ZXN0aW5nL2xp c3AvdGVzdC1vcmctdGFibGUuZWwKKysrIGIvdGVzdGluZy9saXNwL3Rlc3Qtb3JnLXRhYmxlLmVs CkBAIC0zMDksMTIgKzMwOSwxMSBAQCByZWZlcmVuY2UgKHdpdGggcm93KS4gIEZvcm1hdCBzcGVj aWZpZXIgTC4iCiAgIChvcmctdGVzdC10YWJsZS10YXJnZXQtZXhwZWN0CiAgICByZWZlcmVuY2Vz L3RhcmdldC1ub3JtYWwKICAgIDs7IEFsbCB0aGUgI0VSUk9SIHNob3cgdGhhdCBmb3IgTGlzcCBj YWxjdWxhdGlvbnMgTiBoYXMgdG8gYmUgdXNlZC4KLSAgIDs7IFRPRE86IExlbiBmb3IgcmFuZ2Ug cmVmZXJlbmNlIHdpdGggb25seSBlbXB0eSBmaWVsZHMgc2hvdWxkIGJlIDAuCiAgICAiCiB8IDAg fCAxIHwgMCB8ICAgICAgMSB8ICAgICAgMSB8ICAgICAgMSB8IDIgfCAyIHwKIHwgeiB8IDEgfCB6 IHwgI0VSUk9SIHwgI0VSUk9SIHwgI0VSUk9SIHwgMiB8IDIgfAogfCAgIHwgMSB8ICAgfCAgICAg IDEgfCAgICAgIDEgfCAgICAgIDEgfCAxIHwgMSB8Ci18ICAgfCAgIHwgICB8ICAgICAgMCB8ICAg ICAgMCB8ICAgICAgMCB8IDEgfCAxIHwKK3wgICB8ICAgfCAgIHwgICAgICAwIHwgICAgICAwIHwg ICAgICAwIHwgMCB8IDAgfAogIgogICAgMSAoY29uY2F0CiAgICAgICAiIytUQkxGTTogJDMgPSAn KGlkZW50aXR5IFwiJDFcIik7IEwgOjogJDQgPSAnKCsgJDEgJDIpOyBMIDo6ICIKQEAgLTM3OCwx MyArMzc3LDExIEBAIHJlZmVyZW5jZSAod2l0aCByb3cpLiAgRm9ybWF0IHNwZWNpZmllciBOLiIK IAkgICIkNyA9IHZsZW4oJDEuLiQyKTsgTiA6OiAkOCA9IHZsZW4oQDAkMS4uQDAkMik7IE4iKSkp CiAgICAgKG9yZy10ZXN0LXRhYmxlLXRhcmdldC1leHBlY3QKICAgICAgcmVmZXJlbmNlcy90YXJn ZXQtbm9ybWFsCi0gICAgIDs7IFRPRE86IExlbiBmb3Igc2ltcGxlIHJhbmdlIHJlZmVyZW5jZSB3 aXRoIGVtcHR5IGZpZWxkIHNob3VsZAotICAgICA7OyBhbHNvIGJlIDEKICAgICAgIgogfCAwIHwg MSB8IDAgfCAxIHwgMSB8IDEgfCAyIHwgMiB8CiB8IHogfCAxIHwgMCB8IDEgfCAxIHwgMSB8IDIg fCAyIHwKLXwgICB8IDEgfCAwIHwgMSB8IDEgfCAxIHwgMiB8IDEgfAotfCAgIHwgICB8IDAgfCAw IHwgMCB8IDAgfCAyIHwgMSB8Cit8ICAgfCAxIHwgMCB8IDEgfCAxIHwgMSB8IDEgfCAxIHwKK3wg ICB8ICAgfCAwIHwgMCB8IDAgfCAwIHwgMSB8IDEgfAogIgogICAgICAxIGxpc3AgY2FsYykKICAg ICAob3JnLXRlc3QtdGFibGUtdGFyZ2V0LWV4cGVjdApAQCAtNDUzLDIyICs0NTAsMTUgQEAgcmVm ZXJlbmNlICh3aXRoIHJvdykuICBGb3JtYXQgc3BlY2lmaWVyIE4uIgogICA7OyBFbXB0eSBmaWVs ZHMgaW4gc2ltcGxlIGFuZCBjb21wbGV4IHJhbmdlIHJlZmVyZW5jZTogU3VwcHJlc3MgdGhlbQog ICA7OyAoJDUgYW5kICQ2KSBvciBrZWVwIHRoZW0gYW5kIHVzZSAwICgkNyBhbmQgJDgpCiAKLSAg OzsgQ2FsYyBmb3JtdWxhCiAgIChvcmctdGVzdC10YWJsZS10YXJnZXQtZXhwZWN0CiAgICAiXG58 ICAgfCAgIHwgNSB8IDcgfCByZXBsYWNlIHwgcmVwbGFjZSB8IHJlcGxhY2UgfCByZXBsYWNlIHxc biIKICAgICJcbnwgICB8ICAgfCA1IHwgNyB8IDYgfCA2IHwgMyB8IDMgfFxuIgogICAgMQorICAg OzsgQ2FsYyBmb3JtdWxhCiAgICAoY29uY2F0ICIjK1RCTEZNOiAiCiAJICAgIiQ1ID0gdm1lYW4o JDEuLiQ0KSAgICAgOjogJDYgPSB2bWVhbihAMCQxLi5AMCQ0KSA6OiAiCi0JICAgIiQ3ID0gdm1l YW4oJDEuLiQ0KTsgRU4gOjogJDggPSB2bWVhbihAMCQxLi5AMCQ0KTsgRU4iKSkKLQotICA7OyBM aXNwIGZvcm11bGEKLSAgOzsgVE9ETzogTGVuIGZvciBzaW1wbGUgcmFuZ2UgcmVmZXJlbmNlIHdp dGggZW1wdHkgZmllbGQgc2hvdWxkIGFsc28KLSAgOzsgYmUgNgotICAob3JnLXRlc3QtdGFibGUt dGFyZ2V0LWV4cGVjdAotICAgIlxufCAgIHwgICB8IDUgfCA3IHwgcmVwbGFjZSB8IHJlcGxhY2Ug fCByZXBsYWNlIHwgcmVwbGFjZSB8XG4iCi0gICAiXG58ICAgfCAgIHwgNSB8IDcgfCAzIHwgNiB8 IDMgfCAzIHxcbiIKLSAgIDEKKwkgICAiJDcgPSB2bWVhbigkMS4uJDQpOyBFTiA6OiAkOCA9IHZt ZWFuKEAwJDEuLkAwJDQpOyBFTiIpCisgICA7OyBMaXNwIGZvcm11bGEKICAgIChjb25jYXQgIiMr VEJMRk06ICIKIAkgICAiJDUgPSAnKC8gKCsgICAkMS4uJDQgICkgKGxlbmd0aCAnKCAgJDEuLiQ0 ICApKSk7ICBOIDo6ICIKIAkgICAiJDYgPSAnKC8gKCsgQDAkMS4uQDAkNCkgKGxlbmd0aCAnKEAw JDEuLkAwJDQpKSk7ICBOIDo6ICIKQEAgLTU1Myw5ICs1NDMsNyBAQCByZWZlcmVuY2UgKHdpdGgg cm93KS4gIEZvcm1hdCBzcGVjaWZpZXIgTi4iCiAgIChzaG91bGQgKGVxdWFsICIwIDEiIChmICco IjAiICIxIikgbmlsIG5pbCAnbGl0ZXJhbCkpKQogICAoc2hvdWxkIChlcXVhbCAieiAxIiAoZiAn KCJ6IiAiMSIpIG5pbCBuaWwgJ2xpdGVyYWwpKSkKICAgKHNob3VsZCAoZXF1YWwgICAiMSIgKGYg JygiIiAgIjEiKSBuaWwgbmlsICdsaXRlcmFsKSkpCi0gIDs7IFRPRE86IFNob3VsZCByZXN1bHQg aW4gZW1wdHkgc3RyaW5nIGxpa2Ugd2l0aCBmaWVsZCByZWZlcmVuY2Ugb2YKLSAgOzsgZW1wdHkg ZmllbGQuCi0gIChzaG91bGQgKGVxdWFsICAiMCIgIChmICcoIiIgICIiICkgbmlsIG5pbCAnbGl0 ZXJhbCkpKSkKKyAgKHNob3VsZCAoZXF1YWwgICIiICAgKGYgJygiIiAgIiIgKSBuaWwgbmlsICds aXRlcmFsKSkpKQogCiAoZXJ0LWRlZnRlc3QgdGVzdC1vcmctdGFibGUvb3JnLXRhYmxlLW1ha2Ut cmVmZXJlbmNlL2Zvcm1hdC1zcGVjaWZpZXItbm9uZSAoKQogICAoZnNldCAnZiAnb3JnLXRhYmxl LW1ha2UtcmVmZXJlbmNlKQpAQCAtNTY2LDkgKzU1NCw3IEBAIHJlZmVyZW5jZSAod2l0aCByb3cp LiAgRm9ybWF0IHNwZWNpZmllciBOLiIKICAgKHNob3VsZCAoZXF1YWwgIlwiMFwiIFwiMVwiIiAo ZiAnKCIwIiAgICAiMSIpIG5pbCBuaWwgdCkpKQogICAoc2hvdWxkIChlcXVhbCAiXCJ6XCIgXCIx XCIiIChmICcoInoiICAgICIxIikgbmlsIG5pbCB0KSkpCiAgIChzaG91bGQgKGVxdWFsICAgICAg ICJcIjFcIiIgKGYgJygiIiAgICAgIjEiKSBuaWwgbmlsIHQpKSkKLSAgOzsgVE9ETzogU2hvdWxk IHJlc3VsdCBpbiBlbXB0eSBzdHJpbmcgbGlrZSB3aXRoIGZpZWxkIHJlZmVyZW5jZSBvZgotICA7 OyBlbXB0eSBmaWVsZC4KLSAgKHNob3VsZCAoZXF1YWwgICAgIlwiMFwiIiAgICAoZiAnKCIiICAg ICAiIiApIG5pbCBuaWwgdCkpKQorICAoc2hvdWxkIChlcXVhbCAgICAiXCJcIiIgICAgIChmICco IiIgICAgICIiICkgbmlsIG5pbCB0KSkpCiAgIDs7IEZvciBDYWxjIGZvcm11bGEKICAgKHNob3Vs ZCAoZXF1YWwgICIoMCkiICAgICAgICAoZiAgICIwIiAgICAgICAgIG5pbCBuaWwgbmlsKSkpCiAg IChzaG91bGQgKGVxdWFsICAiKHopIiAgICAgICAgKGYgICAieiIgICAgICAgICBuaWwgbmlsIG5p bCkpKQotLSAKMS43LjEKCg== --089e013a11a26d9b9004d1ea3984 Content-Type: text/plain; charset=US-ASCII; name="0006-Use-nan-for-empty-fields-in-Calc-formulas.patch.txt" Content-Disposition: attachment; filename="0006-Use-nan-for-empty-fields-in-Calc-formulas.patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hb9eeks85 RnJvbSBhMGZjYjEwNDhlZTNjNjM4ZGJjNWYzYmU5OGJjZTZiM2JmMGU1NTg4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIEJyYW5kIDxtaWNoYWVsLmNoLmJyYW5kQGdtYWls LmNvbT4KRGF0ZTogRnJpLCAyOCBEZWMgMjAxMiAxNTowMzoxMCArMDEwMApTdWJqZWN0OiBbUEFU Q0ggNi82XSBVc2UgbmFuIGZvciBlbXB0eSBmaWVsZHMgaW4gQ2FsYyBmb3JtdWxhcwoKKiBkb2Mv b3JnLnRleGkgKEZvcm11bGEgc3ludGF4IGZvciBDYWxjKTogQWRkIGV4cGxhbmF0aW9uIGFuZCBl eGFtcGxlCmZvciBlbXB0eSBmaWVsZC4KKiBsaXNwL29yZy10YWJsZS5lbCAob3JnLXRhYmxlLWV2 YWwtZm9ybXVsYSk6IFVzZSBga2VlcC1lbXB0eScgaW4gbW9yZQpwbGFjZXMuCihvcmctdGFibGUt bWFrZS1yZWZlcmVuY2UpOiBVc2UgbmFuIChub3QgYSBudW1iZXIpIGZvciBlbXB0eSBmaWVsZHMg aW4KQ2FsYyBmb3JtdWxhcy4KKiB0ZXN0aW5nL2xpc3AvdGVzdC1vcmctdGFibGUuZWw6IEFkYXB0 IGV4cGVjdGVkIGZvciBzZXZlcmFsCmVydC1kZWZ0ZXN0LgoodGVzdC1vcmctdGFibGUvZW1wdHkt ZmllbGQpOiBOZXcgZXhhbXBsZXMgZGVhbGluZyB3aXRoIGVtcHR5IGZpZWxkcy4KKHRlc3Qtb3Jn LXRhYmxlL2NvcHktZmllbGQpOiBOZXcgZXJ0LWRlZnRlc3Qgd2l0aCBleGFtcGxlcyBkZWFsaW5n IHdpdGgKZW1wdHkgZmllbGRzLgoKVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byB3cml0ZSBzcHJl YWRzaGVldCBDYWxjIGZvcm11bGFzIHRoYXQgY2hlY2sKZm9yIGVtcHR5IGZpZWxkczogIFRvIHN1 bSB0aGUgZmlyc3QgdHdvIGNvbHVtbnMgdW5sZXNzIG9uZSBvciBib3RoCmVtcHR5OgokMyA9IGlm KCIkMSIgPSAibmFuIiB8fCAiJDIiID0gIm5hbiIsIHN0cmluZygiIiksICQxICsgJDIpOyBFCi0t LQogZG9jL29yZy50ZXhpICAgICAgICAgICAgICAgICAgIHwgICAgOSArKy0KIGxpc3Avb3JnLXRh YmxlLmVsICAgICAgICAgICAgICB8ICAgMzAgKysrKystLQogdGVzdGluZy9saXNwL3Rlc3Qtb3Jn LXRhYmxlLmVsIHwgIDE3MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0t CiAzIGZpbGVzIGNoYW5nZWQsIDE3NCBpbnNlcnRpb25zKCspLCAzOCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kb2Mvb3JnLnRleGkgYi9kb2Mvb3JnLnRleGkKaW5kZXggMGY2Mjk3ZC4uZTI4 MjA1MCAxMDA2NDQKLS0tIGEvZG9jL29yZy50ZXhpCisrKyBiL2RvYy9vcmcudGV4aQpAQCAtMjYx Niw3ICsyNjE2LDkgQEAgbjMgczMgZTIgZjQgICBAcntOb3JtYWwsIHNjaWVudGlmaWMsIGVuZ2lu ZWVyaW5nLCBvciBmaXhlZH0KICAgICAgICAgICAgICAgQHJ7bG9uZyBhcyB0aGUgQ2FsYyBjYWxj dWxhdGlvbiBwcmVjaXNpb24gaXMgZ3JlYXRlci59CiBEIFIgICAgICAgICAgIEBye2FuZ2xlIG1v ZGVzOiBkZWdyZWVzLCByYWRpYW5zfQogRiBTICAgICAgICAgICBAcntmcmFjdGlvbiBhbmQgc3lt Ym9saWMgbW9kZXN9Ci1FICAgICAgICAgICAgIEBye2tlZXAgZW1wdHkgZmllbGRzIGluIHJhbmdl czsgZWxzZSBzdXBwcmVzcyBlbXB0eSBmaWVsZHMgaW59CitFICAgICAgICAgICAgIEBye2tlZXAg ZW1wdHkgZmllbGRzIGluIHJhbmdlcyBhbmQgdXNlIG5hbiAobm90IGEgbnVtYmVyKX0KKyAgICAg ICAgICAgICAgQHJ7aW4gQ2FsYyBmb3JtdWxhcyBmb3IgZW1wdHkgZmllbGRzIGluIHJhbmdlIHJl ZmVyZW5jZXMgYW5kfQorICAgICAgICAgICAgICBAcntmb3IgZW1wdHkgZmllbGQgcmVmZXJlbmNl czsgZWxzZSBzdXBwcmVzcyBlbXB0eSBmaWVsZHMgaW59CiAgICAgICAgICAgICAgIEBye3Jhbmdl IHJlZmVyZW5jZXMgYW5kIHVzZSAwIGZvciBlbXB0eSBmaWVsZCByZWZlcmVuY2VzLCBzZWV9CiAg ICAgICAgICAgICAgIEBye2Fsc28gdGhlIG5vdGVzIGZvciBgUmFuZ2UgcmVmZXJlbmNlcycgaW4g QHB4cmVme1JlZmVyZW5jZXN9fQogTiAgICAgICAgICAgICBAcntpbnRlcnByZXQgYWxsIGZpZWxk cyBhcyBudW1iZXJzLCB1c2UgMCBmb3Igbm9uLW51bWJlcnM7fQpAQCAtMjY1Myw3ICsyNjU1LDEw IEBAIHRheWxvcigkMyx4PTcsMikgICAgIEBye1RheWxvciBzZXJpZXMgb2YgJDMsIGF0IHg9Nywg c2Vjb25kIGRlZ3JlZX0KIENhbGMgYWxzbyBjb250YWlucyBhIGNvbXBsZXRlIHNldCBvZiBsb2dp Y2FsIG9wZXJhdGlvbnMuICBGb3IgZXhhbXBsZQogCiBAZXhhbXBsZQotaWYoJDE8MjAsdGVlbixz dHJpbmcoIiIpKSAgQHJ7InRlZW4iIGlmIGFnZSAkMSBsZXNzIHRoYW4gMjAsIGVsc2UgZW1wdHl9 CitpZigkMSA8IDIwLCB0ZWVuLCBzdHJpbmcoIiIpKQorICAgICAgICAgICAgICAgICAgICAgQHJ7 InRlZW4iIGlmIGFnZSAkMSBpcyBsZXNzIHRoYW4gMjAsIGVsc2UgZW1wdHl9CitpZigiJDEiID0g Im5hbiIgfHwgIiQyIiA9ICJuYW4iLCBzdHJpbmcoIiIpLCAkMSArICQyKTsgRQorICAgICAgICAg ICAgICAgICAgICAgQHJ7c3VtIG9mIGZpcnN0IHR3byBjb2x1bW5zIHVubGVzcyBvbmUgb3IgYm90 aCBlbXB0eX0KIEBlbmQgZXhhbXBsZQogCiBOb3RlIHRoYXQgeW91IGNhbiBhbHNvIHVzZSB0d28g b3JnLXNwZWNpZmljIGZsYWdzIEBjb2Rle1R9IGFuZCBAY29kZXt0fSBmb3IKZGlmZiAtLWdpdCBh L2xpc3Avb3JnLXRhYmxlLmVsIGIvbGlzcC9vcmctdGFibGUuZWwKaW5kZXggMWY1NDBiNC4uMGU3 Yjk0NCAxMDA2NDQKLS0tIGEvbGlzcC9vcmctdGFibGUuZWwKKysrIGIvbGlzcC9vcmctdGFibGUu ZWwKQEAgLTI2MzcsNyArMjYzNyw4IEBAIG5vdCBvdmVyd3JpdGUgdGhlIHN0b3JlZCBvbmUuIgog CQkJICAgKG1hdGNoLXN0cmluZyAwIGZvcm0pKSkKIAkgIChzZXRxIGZvcm0gKHJlcGxhY2UtbWF0 Y2gKIAkJICAgICAgKHNhdmUtbWF0Y2gtZGF0YQotCQkJKG9yZy10YWJsZS1tYWtlLXJlZmVyZW5j ZSB4IG5pbCBudW1iZXJzIGxpc3BwKSkKKwkJCShvcmctdGFibGUtbWFrZS1yZWZlcmVuY2UKKwkJ CSB4IGtlZXAtZW1wdHkgbnVtYmVycyBsaXNwcCkpCiAJCSAgICAgIHQgdCBmb3JtKSkpCiAKIAko aWYgbGlzcHAKQEAgLTI2NjQsNyArMjY2NSw4IEBAIG5vdCBvdmVyd3JpdGUgdGhlIHN0b3JlZCBv bmUuIgogCiAJICAoc2V0cSBldiAoaWYgKGFuZCBkdXJhdGlvbiAoc3RyaW5nLW1hdGNoICJeWzAt OV0rOlswLTldK1xcKD86OlswLTldK1xcKT8kIiBmb3JtKSkKIAkJICAgICAgIGZvcm0KLQkJICAg ICAoY2FsYy1ldmFsIChjb25zIGZvcm0gb3JnLXRibC1jYWxjLW1vZGVzKSAoaWYgbnVtYmVycyAn bnVtKSkpCisJCSAgICAgKGNhbGMtZXZhbCAoY29ucyBmb3JtIG9yZy10YmwtY2FsYy1tb2RlcykK KwkJCQkod2hlbiAoYW5kIChub3Qga2VlcC1lbXB0eSkgbnVtYmVycykgJ251bSkpKQogCQlldiAo aWYgZHVyYXRpb24gKG9yZy10YWJsZS10aW1lLXNlY29uZHMtdG8tc3RyaW5nCiAJCQkJIChpZiAo c3RyaW5nLW1hdGNoICJeWzAtOV0rOlswLTldK1xcKD86OlswLTldK1xcKT8kIiBldikKIAkJCQkg ICAgIChzdHJpbmctdG8tbnVtYmVyIChvcmctdGFibGUtdGltZS1zdHJpbmctdG8tc2Vjb25kcyBl dikpCkBAIC0yODUxLDE1ICsyODUzLDI3IEBAIGFuZCBUQUJMRSBpcyBhIHZlY3RvciB3aXRoIGxp bmUgdHlwZXMuIgogICAiQ29udmVydCBsaXN0IEVMRU1FTlRTIHRvIHNvbWV0aGluZyBhcHByb3By aWF0ZSB0byBpbnNlcnQgaW50byBmb3JtdWxhLgogS0VFUC1FTVBUWSBpbmRpY2F0ZWQgdG8ga2Vl cCBlbXB0eSBmaWVsZHMsIGRlZmF1bHQgaXMgdG8gc2tpcCB0aGVtLgogTlVNQkVSUyBpbmRpY2F0 ZXMgdGhhdCBldmVyeXRoaW5nIHNob3VsZCBiZSBjb252ZXJ0ZWQgdG8gbnVtYmVycy4KLUxJU1BQ IG1lYW5zIHRvIHJldHVybiBzb21ldGhpbmcgYXBwcm9wcmlhdGUgZm9yIGEgTGlzcCBsaXN0LiIK LSAgKGlmIChzdHJpbmdwIGVsZW1lbnRzKSA7IGp1c3QgYSBzaW5nbGUgdmFsCitMSVNQUCBub24t bmlsIG1lYW5zIHRvIHJldHVybiBzb21ldGhpbmcgYXBwcm9wcmlhdGUgZm9yIGEgTGlzcAorbGlz dCwgJ2xpdGVyYWwgaXMgZm9yIHRoZSBmb3JtYXQgc3BlY2lmaWVyIEwuIgorICA7OyBDYWxjIG5h biAobm90IGEgbnVtYmVyKSBpcyB1c2VkIGZvciB0aGUgY29udmVyc2lvbiBvZiB0aGUgZW1wdHkK KyAgOzsgZmllbGQgdG8gYSByZWZlcmVuY2UgZm9yIHNldmVyYWwgcmVhc29uczogKGkpIEl0IGlz IGFjY2VwdGVkIGluIGEKKyAgOzsgQ2FsYyBmb3JtdWxhIChlLiBnLiAiIiBvciAiKCkiIHdvdWxk IHJlc3VsdCBpbiBhIENhbGMgZXJyb3IpLgorICA7OyAoaWkpIEluIGEgc2luZ2xlIGZpZWxkIChu b3QgaW4gcmFuZ2UpIGl0IGNhbiBiZSBkaXN0aW5ndWlzaGVkCisgIDs7IGZyb20gIihuYW4pIiB3 aGljaCBpcyB0aGUgcmVmZXJlbmNlIG1hZGUgZnJvbSBhIHNpbmdsZSBmaWVsZAorICA7OyBjb250 YWluaW5nICJuYW4iLgorICAoaWYgKHN0cmluZ3AgZWxlbWVudHMpCisgICAgICA7OyBmaWVsZCBy ZWZlcmVuY2UKICAgICAgIChpZiBsaXNwcAogCSAgKGlmIChlcSBsaXNwcCAnbGl0ZXJhbCkKIAkg ICAgICBlbGVtZW50cwogCSAgICAocHJpbjEtdG8tc3RyaW5nIChpZiBudW1iZXJzIChzdHJpbmct dG8tbnVtYmVyIGVsZW1lbnRzKSBlbGVtZW50cykpKQotCShpZiAoZXF1YWwgZWxlbWVudHMgIiIp IChzZXRxIGVsZW1lbnRzICIwIikpCi0JKGlmIG51bWJlcnMgKHNldHEgZWxlbWVudHMgKG51bWJl ci10by1zdHJpbmcgKHN0cmluZy10by1udW1iZXIgZWxlbWVudHMpKSkpCi0JKGNvbmNhdCAiKCIg ZWxlbWVudHMgIikiKSkKKwkoaWYgKHN0cmluZy1tYXRjaCAiXFxTLSIgZWxlbWVudHMpCisJICAg IChwcm9nbgorCSAgICAgICh3aGVuIG51bWJlcnMgKHNldHEgZWxlbWVudHMgKG51bWJlci10by1z dHJpbmcKKwkJCQkJICAgIChzdHJpbmctdG8tbnVtYmVyIGVsZW1lbnRzKSkpKQorCSAgICAgIChj b25jYXQgIigiIGVsZW1lbnRzICIpIikpCisJICAoaWYgKG9yIChub3Qga2VlcC1lbXB0eSkgbnVt YmVycykgIigwKSIgIm5hbiIpKSkKKyAgICA7OyByYW5nZSByZWZlcmVuY2UKICAgICAodW5sZXNz IGtlZXAtZW1wdHkKICAgICAgIChzZXRxIGVsZW1lbnRzCiAJICAgIChkZWxxIG5pbApAQCAtMjg3 OSw3ICsyODkzLDcgQEAgTElTUFAgbWVhbnMgdG8gcmV0dXJuIHNvbWV0aGluZyBhcHByb3ByaWF0 ZSBmb3IgYSBMaXNwIGxpc3QuIgogCQkJIChpZiBudW1iZXJzCiAJCQkgICAgIChudW1iZXItdG8t c3RyaW5nIChzdHJpbmctdG8tbnVtYmVyIHgpKQogCQkJICAgeCkKLQkJICAgICAgIChpZiAob3Ig KG5vdCBrZWVwLWVtcHR5KSBudW1iZXJzKSAiMCIgIiIpKSkKKwkJICAgICAgIChpZiAob3IgKG5v dCBrZWVwLWVtcHR5KSBudW1iZXJzKSAiMCIgIm5hbiIpKSkKIAkJICAgZWxlbWVudHMKIAkJICAg IiwiKSAiXSIpKSkpCiAKZGlmZiAtLWdpdCBhL3Rlc3RpbmcvbGlzcC90ZXN0LW9yZy10YWJsZS5l bCBiL3Rlc3RpbmcvbGlzcC90ZXN0LW9yZy10YWJsZS5lbAppbmRleCA2MTMzMDA1Li40YzA5MjM5 IDEwMDY0NAotLS0gYS90ZXN0aW5nL2xpc3AvdGVzdC1vcmctdGFibGUuZWwKKysrIGIvdGVzdGlu Zy9saXNwL3Rlc3Qtb3JnLXRhYmxlLmVsCkBAIC0yNTQsMTAgKzI1NCwxMCBAQCByZWZlcmVuY2Ug KHdpdGggcm93KS4gIEZvcm1hdCBzcGVjaWZpZXIgRS4iCiAgICAgKG9yZy10ZXN0LXRhYmxlLXRh cmdldC1leHBlY3QKICAgICAgcmVmZXJlbmNlcy90YXJnZXQtbm9ybWFsCiAgICAgICIKLXwgMCB8 IDEgfCAwIHwgICAgIDEgfCAxICAgICAgfCAxICAgICAgfCAgICAgIDIgfCAgICAgIDIgfAotfCB6 IHwgMSB8IHogfCB6ICsgMSB8IHogKyAxICB8IHogKyAxICB8ICAgICAgMiB8ICAgICAgMiB8Ci18 ICAgfCAxIHwgMCB8ICAgICAxIHwgI0VSUk9SIHwgI0VSUk9SIHwgI0VSUk9SIHwgI0VSUk9SIHwK LXwgICB8ICAgfCAwIHwgICAgIDAgfCAjRVJST1IgfCAjRVJST1IgfCAjRVJST1IgfCAjRVJST1Ig fAorfCAwIHwgMSB8ICAgMCB8ICAgICAxIHwgICAgIDEgfCAgICAgMSB8IDIgfCAyIHwKK3wgeiB8 IDEgfCAgIHogfCB6ICsgMSB8IHogKyAxIHwgeiArIDEgfCAyIHwgMiB8Cit8ICAgfCAxIHwgbmFu IHwgICBuYW4gfCAgIG5hbiB8ICAgbmFuIHwgMiB8IDIgfAorfCAgIHwgICB8IG5hbiB8ICAgbmFu IHwgICBuYW4gfCAgIG5hbiB8IDIgfCAyIHwKICIKICAgICAgMSBjYWxjKQogICAgIChvcmctdGVz dC10YWJsZS10YXJnZXQtZXhwZWN0CkBAIC0zOTgsMjQgKzM5OCwyNiBAQCByZWZlcmVuY2UgKHdp dGggcm93KS4gIEZvcm1hdCBzcGVjaWZpZXIgTi4iCiAgICJCYXNpYzogQ29tcGFyZSBmaWVsZCBy ZWZlcmVuY2VzIGluIENhbGMuIgogICAob3JnLXRlc3QtdGFibGUtdGFyZ2V0LWV4cGVjdAogICAg IgotfCAgICAgIHwgMCAgICB8IHogICAgfCBuYW4gIHwgdWluZiB8IC1pbmYgfCBpbmYgIHwKLXwt LS0tLS0rLS0tLS0tKy0tLS0tLSstLS0tLS0rLS0tLS0tKy0tLS0tLSstLS0tLS18Ci18ICAgIDAg fCByZXBsIHwgcmVwbCB8IHJlcGwgfCByZXBsIHwgcmVwbCB8IHJlcGwgfAotfCAgICB6IHwgcmVw bCB8IHJlcGwgfCByZXBsIHwgcmVwbCB8IHJlcGwgfCByZXBsIHwKLXwgIG5hbiB8IHJlcGwgfCBy ZXBsIHwgcmVwbCB8IHJlcGwgfCByZXBsIHwgcmVwbCB8Ci18IHVpbmYgfCByZXBsIHwgcmVwbCB8 IHJlcGwgfCByZXBsIHwgcmVwbCB8IHJlcGwgfAotfCAtaW5mIHwgcmVwbCB8IHJlcGwgfCByZXBs IHwgcmVwbCB8IHJlcGwgfCByZXBsIHwKLXwgIGluZiB8IHJlcGwgfCByZXBsIHwgcmVwbCB8IHJl cGwgfCByZXBsIHwgcmVwbCB8Cit8ICAgICAgfCAwICAgIHwgeiAgICB8ICAgICAgfCBuYW4gIHwg dWluZiB8IC1pbmYgfCBpbmYgIHwKK3wtLS0tLS0rLS0tLS0tKy0tLS0tLSstLS0tLS0rLS0tLS0t Ky0tLS0tLSstLS0tLS0rLS0tLS0tfAorfCAgICAwIHwgcmVwbCB8IHJlcGwgfCByZXBsIHwgcmVw bCB8IHJlcGwgfCByZXBsIHwgcmVwbCB8Cit8ICAgIHogfCByZXBsIHwgcmVwbCB8IHJlcGwgfCBy ZXBsIHwgcmVwbCB8IHJlcGwgfCByZXBsIHwKK3wgICAgICB8IHJlcGwgfCByZXBsIHwgcmVwbCB8 IHJlcGwgfCByZXBsIHwgcmVwbCB8IHJlcGwgfAorfCAgbmFuIHwgcmVwbCB8IHJlcGwgfCByZXBs IHwgcmVwbCB8IHJlcGwgfCByZXBsIHwgcmVwbCB8Cit8IHVpbmYgfCByZXBsIHwgcmVwbCB8IHJl cGwgfCByZXBsIHwgcmVwbCB8IHJlcGwgfCByZXBsIHwKK3wgLWluZiB8IHJlcGwgfCByZXBsIHwg cmVwbCB8IHJlcGwgfCByZXBsIHwgcmVwbCB8IHJlcGwgfAorfCAgaW5mIHwgcmVwbCB8IHJlcGwg fCByZXBsIHwgcmVwbCB8IHJlcGwgfCByZXBsIHwgcmVwbCB8CiAiCiAgICAiCi18ICAgICAgfCAw IHwgeiB8IG5hbiB8IHVpbmYgfCAtaW5mIHwgaW5mIHwKLXwtLS0tLS0rLS0tKy0tLSstLS0tLSst LS0tLS0rLS0tLS0tKy0tLS0tfAotfCAgICAwIHwgeCB8ICAgfCAgICAgfCAgICAgIHwgICAgICB8 ICAgICB8Ci18ICAgIHogfCAgIHwgeCB8ICAgICB8ICAgICAgfCAgICAgIHwgICAgIHwKLXwgIG5h biB8ICAgfCAgIHwgICB4IHwgICAgICB8ICAgICAgfCAgICAgfAotfCB1aW5mIHwgICB8ICAgfCAg ICAgfCAgICB4IHwgICAgICB8ICAgICB8Ci18IC1pbmYgfCAgIHwgICB8ICAgICB8ICAgICAgfCAg ICB4IHwgICAgIHwKLXwgIGluZiB8ICAgfCAgIHwgICAgIHwgICAgICB8ICAgICAgfCAgIHggfAor fCAgICAgIHwgMCB8IHogfCAgIHwgbmFuIHwgdWluZiB8IC1pbmYgfCBpbmYgfAorfC0tLS0tLSst LS0rLS0tKy0tLSstLS0tLSstLS0tLS0rLS0tLS0tKy0tLS0tfAorfCAgICAwIHwgeCB8ICAgfCAg IHwgICAgIHwgICAgICB8ICAgICAgfCAgICAgfAorfCAgICB6IHwgICB8IHggfCAgIHwgICAgIHwg ICAgICB8ICAgICAgfCAgICAgfAorfCAgICAgIHwgICB8ICAgfCB4IHwgICAgIHwgICAgICB8ICAg ICAgfCAgICAgfAorfCAgbmFuIHwgICB8ICAgfCAgIHwgICB4IHwgICAgICB8ICAgICAgfCAgICAg fAorfCB1aW5mIHwgICB8ICAgfCAgIHwgICAgIHwgICAgeCB8ICAgICAgfCAgICAgfAorfCAtaW5m IHwgICB8ICAgfCAgIHwgICAgIHwgICAgICB8ICAgIHggfCAgICAgfAorfCAgaW5mIHwgICB8ICAg fCAgIHwgICAgIHwgICAgICB8ICAgICAgfCAgIHggfAogIgogICAgMQogICAgOzsgQ29tcGFyZSBm aWVsZCByZWZlcmVuY2UgKCQxKSB3aXRoIGZpZWxkIHJlZmVyZW5jZSAoQDEpCkBAIC00MjQsMTAg KzQyNiwxMSBAQCByZWZlcmVuY2UgKHdpdGggcm93KS4gIEZvcm1hdCBzcGVjaWZpZXIgTi4iCiAg ICAoY29uY2F0ICIjK1RCTEZNOiAiCiAJICAgIiQyID0gaWYoXCIkMVwiID0gXCIoMClcIiAgICwg eCwgc3RyaW5nKFwiXCIpKTsgRSA6OiAiCiAJICAgIiQzID0gaWYoXCIkMVwiID0gXCIoeilcIiAg ICwgeCwgc3RyaW5nKFwiXCIpKTsgRSA6OiAiCi0JICAgIiQ0ID0gaWYoXCIkMVwiID0gXCIobmFu KVwiICwgeCwgc3RyaW5nKFwiXCIpKTsgRSA6OiAiCi0JICAgIiQ1ID0gaWYoXCIkMVwiID0gXCIo dWluZilcIiwgeCwgc3RyaW5nKFwiXCIpKTsgRSA6OiAiCi0JICAgIiQ2ID0gaWYoXCIkMVwiID0g XCIoLWluZilcIiwgeCwgc3RyaW5nKFwiXCIpKTsgRSA6OiAiCi0JICAgIiQ3ID0gaWYoXCIkMVwi ID0gXCIoaW5mKVwiICwgeCwgc3RyaW5nKFwiXCIpKTsgRSIpKQorCSAgICIkNCA9IGlmKFwiJDFc IiA9IFwibmFuXCIgICAsIHgsIHN0cmluZyhcIlwiKSk7IEUgOjogIgorCSAgICIkNSA9IGlmKFwi JDFcIiA9IFwiKG5hbilcIiAsIHgsIHN0cmluZyhcIlwiKSk7IEUgOjogIgorCSAgICIkNiA9IGlm KFwiJDFcIiA9IFwiKHVpbmYpXCIsIHgsIHN0cmluZyhcIlwiKSk7IEUgOjogIgorCSAgICIkNyA9 IGlmKFwiJDFcIiA9IFwiKC1pbmYpXCIsIHgsIHN0cmluZyhcIlwiKSk7IEUgOjogIgorCSAgICIk OCA9IGlmKFwiJDFcIiA9IFwiKGluZilcIiAsIHgsIHN0cmluZyhcIlwiKSk7IEUiKSkKIAogICA7 OyBDaGVjayBmaWVsZCByZWZlcmVuY2UgY29udmVydGVkIGZyb20gYW4gZW1wdHkgZmllbGQ6IERl c3BpdGUgdGhpcwogICA7OyBmaWVsZCByZWZlcmVuY2Ugd2lsbCBub3QgZW5kIHVwIGluIGEgcmVz dWx0LCBDYWxjIGV2YWx1YXRlcyBpdC4KQEAgLTQzNiwxMSArNDM5LDEzIEBAIHJlZmVyZW5jZSAo d2l0aCByb3cpLiAgRm9ybWF0IHNwZWNpZmllciBOLiIKICAgICIKIHwgICAwIHwgcmVwbGFjZSB8 CiB8ICAgeiB8IHJlcGxhY2UgfAorfCAgICAgfCByZXBsYWNlIHwKIHwgbmFuIHwgcmVwbGFjZSB8 CiAiCiAgICAiCiB8ICAgMCB8ICAgICAxIHwKIHwgICB6IHwgeiArIDEgfAorfCAgICAgfCAgICAg ICB8CiB8IG5hbiB8ICAgbmFuIHwKICIKICAgIDEgIiMrVEJMRk06ICQyID0gaWYoXCIkMVwiID0g XCJuYW5cIiwgc3RyaW5nKFwiXCIpLCAkMSArIDEpOyBFIikpCkBAIC00NjMsNyArNDY4LDExOSBA QCByZWZlcmVuY2UgKHdpdGggcm93KS4gIEZvcm1hdCBzcGVjaWZpZXIgTi4iCiAJICAgIiQ1ID0g JygvICgrICAgJDEuLiQ0ICApIChsZW5ndGggJyggICQxLi4kNCAgKSkpOyAgTiA6OiAiCiAJICAg IiQ2ID0gJygvICgrIEAwJDEuLkAwJDQpIChsZW5ndGggJyhAMCQxLi5AMCQ0KSkpOyAgTiA6OiAi CiAJICAgIiQ3ID0gJygvICgrICAgJDEuLiQ0ICApIChsZW5ndGggJyggICQxLi4kNCAgKSkpOyBF TiA6OiAiCi0JICAgIiQ4ID0gJygvICgrIEAwJDEuLkAwJDQpIChsZW5ndGggJyhAMCQxLi5AMCQ0 KSkpOyBFTiIpKSkKKwkgICAiJDggPSAnKC8gKCsgQDAkMS4uQDAkNCkgKGxlbmd0aCAnKEAwJDEu LkAwJDQpKSk7IEVOIikpCisKKyAgOzsgVGVzdCBpZiBvbmUgZmllbGQgaXMgZW1wdHksIGVsc2Ug ZG8gYSBjYWxjdWxhdGlvbgorICAob3JnLXRlc3QtdGFibGUtdGFyZ2V0LWV4cGVjdAorICAgIgor fCAtMSB8IHJlcGxhY2UgfAorfCAgMCB8IHJlcGxhY2UgfAorfCAgICB8IHJlcGxhY2UgfAorIgor ICAgIgorfCAtMSB8IDAgfAorfCAgMCB8IDEgfAorfCAgICB8ICAgfAorIgorICAgMQorICAgOzsg Q2FsYyBmb3JtdWxhCisgICAiIytUQkxGTTogJDIgPSBpZihcIiQxXCIgPSBcIm5hblwiLCBzdHJp bmcoXCJcIiksICQxICsgMSk7IEUiCisgICA7OyBMaXNwIGZvcm11bGEKKyAgICIjK1RCTEZNOiAk MiA9ICcoaWYgKGVxIFwiJDFcIiBcIlwiKSBcIlwiICgxKyAkMSkpOyBMIikKKworICA7OyBUZXN0 IGlmIHNldmVyYWwgZmllbGRzIGFyZSBlbXB0eSwgZWxzZSBkbyBhIGNhbGN1bGF0aW9uCisgIChv cmctdGVzdC10YWJsZS10YXJnZXQtZXhwZWN0CisgICAiCit8IDEgfCAyIHwgcmVwbGFjZSB8Cit8 IDQgfCAgIHwgcmVwbGFjZSB8Cit8ICAgfCA4IHwgcmVwbGFjZSB8Cit8ICAgfCAgIHwgcmVwbGFj ZSB8CisiCisgICAiCit8IDEgfCAyIHwgMyB8Cit8IDQgfCAgIHwgICB8Cit8ICAgfCA4IHwgICB8 Cit8ICAgfCAgIHwgICB8CisiCisgICAxCisgICA7OyBDYWxjIGZvcm11bGEKKyAgIChjb25jYXQg IiMrVEJMRk06ICQzID0gaWYoXCIkMVwiID0gXCJuYW5cIiB8fCBcIiQyXCIgPSBcIm5hblwiLCAi CisJICAgInN0cmluZyhcIlwiKSwgJDEgKyAkMik7IEUiKQorICAgOzsgTGlzcCBmb3JtdWxhCisg ICAoY29uY2F0ICIjK1RCTEZNOiAkMyA9ICcoaWYgKG9yIChlcSBcIiQxXCIgXCJcIikgKGVxIFwi JDJcIiBcIlwiKSkgIgorCSAgICJcIlwiICgrICQxICQyKSk7IEwiKSkKKworICA7OyAkMjogVXNl ICQxICsgMC41IGlmICQxIGF2YWlsYWJsZSwgZWxzZSBvbmx5IHJlZm9ybWF0ICQyIGlmICQyIGF2 YWlsYWJsZQorICAob3JnLXRlc3QtdGFibGUtdGFyZ2V0LWV4cGVjdAorICAgIgorfCAxLjUgfCAw IHwKK3wgMy41IHwgICB8Cit8ICAgICB8IDUgfAorfCAgICAgfCAgIHwKKyIKKyAgICIKK3wgMS41 IHwgMi4wIHwKK3wgMy41IHwgNC4wIHwKK3wgICAgIHwgNS4wIHwKK3wgICAgIHwgICAgIHwKKyIK KyAgIDEKKyAgIDs7IENhbGMgZm9ybXVsYQorICAgKGNvbmNhdCAiIytUQkxGTTogJDIgPSBpZihc IiQxXCIgPSBcIm5hblwiLCAiCisJICAgImlmKFwiJDJcIiA9IFwibmFuXCIsIHN0cmluZyhcIlwi KSwgJDIgKy4wKSwgJDEgKyAwLjUpOyBFIGYtMSIpCisgICA7OyBMaXNwIGZvcm11bGEgbm90IGlt cGxlbWVudGVkIHlldAorICAgKSkKKworKGVydC1kZWZ0ZXN0IHRlc3Qtb3JnLXRhYmxlL2NvcHkt ZmllbGQgKCkKKyAgIkV4cGVyaW1lbnRzIG9uIGhvdyB0byBjb3B5IG9uZSBmaWVsZCBpbnRvIGFu b3RoZXIgZmllbGQuIgorICAobGV0ICgodGFyZ2V0CisJICIKK3wgMCAgICAgICAgICAgICAgICB8 IHJlcGxhY2UgfAorfCBhIGIgICAgICAgICAgICAgIHwgcmVwbGFjZSB8Cit8IGMgICBkICAgICAg ICAgICAgfCByZXBsYWNlIHwKK3wgICAgICAgICAgICAgICAgICB8IHJlcGxhY2UgfAorfCAyMDEy LTEyICAgICAgICAgIHwgcmVwbGFjZSB8Cit8IFsyMDEyLTEyLTMxIE1vbl0gfCByZXBsYWNlIHwK KyIpKQorICAgIDs7IExpc3AgZm9ybXVsYSB0byBjb3B5IGxpdGVyYWxseQorICAgIChvcmctdGVz dC10YWJsZS10YXJnZXQtZXhwZWN0CisgICAgIHRhcmdldAorICAgICAiCit8IDAgICAgICAgICAg ICAgICAgfCAwICAgICAgICAgICAgICAgIHwKK3wgYSBiICAgICAgICAgICAgICB8IGEgYiAgICAg ICAgICAgICAgfAorfCBjICAgZCAgICAgICAgICAgIHwgYyAgIGQgICAgICAgICAgICB8Cit8ICAg ICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwKK3wgMjAxMi0xMiAgICAgICAgICB8 IDIwMTItMTIgICAgICAgICAgfAorfCBbMjAxMi0xMi0zMSBNb25dIHwgWzIwMTItMTItMzEgTW9u XSB8CisiCisgICAgIDEgIiMrVEJMRk06ICQyID0gJyhpZGVudGl0eSAkMSkiKQorCisgICAgOzsg Q2FsYyBmb3JtdWxhIHRvIGNvcHkgcXVpdGUgbGl0ZXJhbGx5CisgICAgKG9yZy10ZXN0LXRhYmxl LXRhcmdldC1leHBlY3QKKyAgICAgdGFyZ2V0CisgICAgICIKK3wgMCAgICAgICAgICAgICAgICB8 IDAgICAgICAgICAgICAgICAgfAorfCBhIGIgICAgICAgICAgICAgIHwgYSBiICAgICAgICAgICAg ICB8Cit8IGMgICBkICAgICAgICAgICAgfCBjICAgZCAgICAgICAgICAgIHwKK3wgICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgfAorfCAyMDEyLTEyICAgICAgICAgIHwgMjAxMi0x MiAgICAgICAgICB8Cit8IFsyMDEyLTEyLTMxIE1vbl0gfCA8MjAxMi0xMi0zMSBNb24+IHwKKyIK KyAgICAgMSAoY29uY2F0ICIjK1RCTEZNOiAkMiA9IGlmKFwiJDFcIiA9IFwibmFuXCIsICIKKwkg ICAgICAgInN0cmluZyhcIlwiKSwgc3RyaW5nKHN1YnZlYyhcIiQxXCIsIDIsIHZsZW4oXCIkMVwi KSkpKTsgRSIpKQorCisgICAgOzsgQ2FsYyBmb3JtdWxhIHNpbXBsZQorICAgIChvcmctdGVzdC10 YWJsZS10YXJnZXQtZXhwZWN0CisgICAgIHRhcmdldAorICAgICAiCit8IDAgICAgICAgICAgICAg ICAgfCAwICAgICAgICAgICAgICAgIHwKK3wgYSBiICAgICAgICAgICAgICB8IGEgYiAgICAgICAg ICAgICAgfAorfCBjICAgZCAgICAgICAgICAgIHwgYyBkICAgICAgICAgICAgICB8Cit8ICAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwKK3wgMjAxMi0xMiAgICAgICAgICB8IDIw MDAgICAgICAgICAgICAgfAorfCBbMjAxMi0xMi0zMSBNb25dIHwgPDIwMTItMTItMzEgTW9uPiB8 CisiCisgICAgIDEgIiMrVEJMRk06ICQyID0gaWYoXCIkMVwiID0gXCJuYW5cIiwgc3RyaW5nKFwi XCIpLCAkMSk7IEUiKSkpCiAKIDs7IEVuZCBvZiB0YWJsZSBleGFtcGxlcyBhbmQgYmVnaW5uaW5n IG9mIGludGVybmFsIHRlc3RzLgogCkBAIC00OTEsMTEgKzYwOCwxMSBAQCByZWZlcmVuY2UgKHdp dGggcm93KS4gIEZvcm1hdCBzcGVjaWZpZXIgTi4iCiAgIDs7IEZvciBDYWxjIGZvcm11bGEKICAg KHNob3VsZCAoZXF1YWwgICIoMCkiICAgICAgICAoZiAgICIwIiAgICAgICAgIHQgbmlsIG5pbCkp KQogICAoc2hvdWxkIChlcXVhbCAgIih6KSIgICAgICAgIChmICAgInoiICAgICAgICAgdCBuaWwg bmlsKSkpCi0gIChzaG91bGQgKGVxdWFsICAiKDApIiAgICAgICAgKGYgICAiIiAgICAgICAgICB0 IG5pbCBuaWwpKSkKKyAgKHNob3VsZCAoZXF1YWwgICJuYW4iICAgICAgICAoZiAgICIiICAgICAg ICAgIHQgbmlsIG5pbCkpKQogICAoc2hvdWxkIChlcXVhbCAgIlswLDFdIiAgICAgIChmICcoIjAi ICAgICIxIikgdCBuaWwgbmlsKSkpCiAgIChzaG91bGQgKGVxdWFsICAiW3osMV0iICAgICAgKGYg JygieiIgICAgIjEiKSB0IG5pbCBuaWwpKSkKLSAgKHNob3VsZCAoZXF1YWwgICAiWywxXSIgICAg ICAoZiAnKCIiICAgICAiMSIpIHQgbmlsIG5pbCkpKQotICAoc2hvdWxkIChlcXVhbCAgICJbLF0i ICAgICAgIChmICcoIiIgICAgICIiICkgdCBuaWwgbmlsKSkpCisgIChzaG91bGQgKGVxdWFsICAi W25hbiwxXSIgICAgKGYgJygiIiAgICAgIjEiKSB0IG5pbCBuaWwpKSkKKyAgKHNob3VsZCAoZXF1 YWwgICJbbmFuLG5hbl0iICAoZiAnKCIiICAgICAiIiApIHQgbmlsIG5pbCkpKQogICA7OyBGb3Ig Q2FsYyBmb3JtdWxhLCBzcGVjaWFsIG51bWJlcnMKICAgKHNob3VsZCAoZXF1YWwgICIobmFuKSIg ICAgICAoZiAgICAibmFuIiAgICAgIHQgbmlsIG5pbCkpKQogICAoc2hvdWxkIChlcXVhbCAiKHVp bmYpIiAgICAgIChmICAgInVpbmYiICAgICAgdCBuaWwgbmlsKSkpCi0tIAoxLjcuMQoK --089e013a11a26d9b9004d1ea3984--