From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Kauffman Subject: Re: Adding single cell movement to org-table Date: Fri, 28 Jul 2017 23:00:20 -0400 Message-ID: References: <877eytug62.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="001a1142b97ad8468305556c0081" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:49207) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dbHzl-00080W-ET for emacs-orgmode@gnu.org; Fri, 28 Jul 2017 23:00:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dbHzh-0006av-QZ for emacs-orgmode@gnu.org; Fri, 28 Jul 2017 23:00:49 -0400 Received: from mail-wm0-x230.google.com ([2a00:1450:400c:c09::230]:34423) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dbHzh-0006Z1-81 for emacs-orgmode@gnu.org; Fri, 28 Jul 2017 23:00:45 -0400 Received: by mail-wm0-x230.google.com with SMTP id t138so13395439wmt.1 for ; Fri, 28 Jul 2017 20:00:43 -0700 (PDT) In-Reply-To: <877eytug62.fsf@nicolasgoaziou.fr> 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" To: Nicolas Goaziou Cc: Uwe Brauer , emacs-orgmode@gnu.org --001a1142b97ad8468305556c0081 Content-Type: multipart/alternative; boundary="001a1142b97ad8467f05556c007f" --001a1142b97ad8467f05556c007f Content-Type: text/plain; charset="UTF-8" Apologies for the earlier diff-blast: I did not see the advice on the org-mode contributions page that patches generated via git format-patch master are preferred. Please find four patches attached which now include modifications to ORG-NEWS, org.texi, orgguid.texi, and keybindings suggested by Carsten: S-up, S-down, S-left, S-right in org.el (via org-shiftup etc.). Cheers, Chris On Fri, Jul 28, 2017 at 4:19 AM, Nicolas Goaziou wrote: > Hello, > > Chris Kauffman writes: > > > Greetings from a first-time contributor. Another patch contributor, Uwe > > Brauer, recruited me after finding some code I had written to move single > > org-table cells up/down/left/right. I found this feature to be useful in > > certain kinds of tables so wrote the functions for myself but am told > that > > others might benefit from it. > > > > I have formalized that code into a git repo with a feature branch on it > > which may be found here: > > https://github.com/kauffman77/org-mode/tree/single-cell-table-move > > > > I have included documentation in org-table.el for the new functions and > > tests for them. If further work or documentation needs to be done, > please > > let me know. I am also not sure if I got the commit messages formatted to > > the specification mentioned on the contributing page. I am happy to > > explain more if needed. > > Thank you. > > Could you send the patch here? It will ease reviewing it. > > It will also require an entry in ORG-NEWS and some documentation in > org.texi. > > > I just mailed assign@gnu.org to get the copyright for the code resolved > but > > thought I would put up this branch now so others can have a look. > > Great! > > Regards, > > -- > Nicolas Goaziou > --001a1142b97ad8467f05556c007f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Apologies for the earlier diff-blast: I did not see the ad= vice on the org-mode contributions page that patches generated via
=C2= =A0 git format-patch master
are preferred.=C2=A0 Please find four= patches attached which now include modifications to ORG-NEWS, org.texi, or= gguid.texi, and keybindings suggested by Carsten: S-up, S-down, S-left, S-r= ight in org.el (via org-shiftup etc.).

Cheers,
Chris


On Fri, Jul 28, 2017 at 4:19 AM, Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote:
Hello,

Chris Kauffman <kauffman@cs.gmu.e= du> writes:

> Greetings from a first-time contributor. Another patch contributor, Uw= e
> Brauer, recruited me after finding some code I had written to move sin= gle
> org-table cells up/down/left/right.=C2=A0 I found this feature to be u= seful in
> certain kinds of tables so wrote the functions for myself but am told = that
> others might benefit from it.
>
> I have formalized that code into a git repo with a feature branch on i= t
> which may be found here:
>=C2=A0 =C2=A0https://github.co= m/kauffman77/org-mode/tree/single-cell-table-move
>
> I have included documentation in org-table.el for the new functions an= d
> tests for them.=C2=A0 If further work or documentation needs to be don= e, please
> let me know. I am also not sure if I got the commit messages formatted= to
> the specification mentioned on the contributing page.=C2=A0 I am happy= to
> explain more if needed.

Thank you.

Could you send the patch here? It will ease reviewing it.

It will also require an entry in ORG-NEWS and some documentation in
org.texi.

> I just mailed assign@gnu.org to = get the copyright for the code resolved but
> thought I would put up this branch now so others can have a look.

Great!

Regards,

--
Nicolas Goaziou

--001a1142b97ad8467f05556c007f-- --001a1142b97ad8468305556c0081 Content-Type: text/x-patch; charset="US-ASCII"; name="0005-Modified-orgguide.texi-to-include-documentation-of-s.patch" Content-Disposition: attachment; filename="0005-Modified-orgguide.texi-to-include-documentation-of-s.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j5oplge70 RnJvbSBiNDMwNTRjOTg5MmY3ZTA4ZmE5NThiY2I1ZDhkZjk3OGU2MzkyZDU3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpcyBLYXVmZm1hbiA8a2F1ZmZtYW5AZWNzLmdtdS5lZHU+ CkRhdGU6IEZyaSwgMjggSnVsIDIwMTcgMjI6NDY6MTIgLTA0MDAKU3ViamVjdDogW1BBVENIIDUv NV0gTW9kaWZpZWQgb3JnZ3VpZGUudGV4aSB0byBpbmNsdWRlIGRvY3VtZW50YXRpb24gb2Ygc2lu Z2xlCiBjZWxsIG1vdmVtZW50IGZ1bmN0aW9ucy4KCi0tLQogZG9jL29yZ2d1aWRlLnRleGkgfCA2 ICsrKysrKwogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2Rv Yy9vcmdndWlkZS50ZXhpIGIvZG9jL29yZ2d1aWRlLnRleGkKaW5kZXggOGM5MWFhZTNhLi5mYzVj MGMyMmMgMTAwNjQ0Ci0tLSBhL2RvYy9vcmdndWlkZS50ZXhpCisrKyBiL2RvYy9vcmdndWlkZS50 ZXhpCkBAIC02NDcsNiArNjQ3LDEyIEBAIFJlLWFsaWduLCBtb3ZlIHRvIHByZXZpb3VzIGZpZWxk LgogQGl0ZW0gQGtleXtSRVR9CiBSZS1hbGlnbiB0aGUgdGFibGUgYW5kIG1vdmUgZG93biB0byBu ZXh0IHJvdy4gIENyZWF0ZXMgYSBuZXcgcm93IGlmCiBuZWNlc3NhcnkuCitAYworQGl0ZW0gUy1A a2V5e3VwfQorQGl0ZW14IFMtQGtleXtkb3dufQorQGl0ZW14IFMtQGtleXtsZWZ0fQorQGl0ZW14 IFMtQGtleXtyaWdodH0KK01vdmUgc2luZ2xlIGNlbGxzIHVwLCBkb3duLCBsZWZ0LCBhbmQgcmln aHQgYnkgc3dhcHBpbmcgd2l0aCBhZGphY2VudCBjZWxscy4KIAogQHRzdWJoZWFkaW5ne0NvbHVt biBhbmQgcm93IGVkaXRpbmd9CiBAaXRlbSBNLUBrZXl7bGVmdH0KLS0gCjIuMTIuMgoK --001a1142b97ad8468305556c0081 Content-Type: text/x-patch; charset="US-ASCII"; name="0004-Modified-org.texi-to-include-documentation-of-single.patch" Content-Disposition: attachment; filename="0004-Modified-org.texi-to-include-documentation-of-single.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j5oplgej1 RnJvbSA2NjgyYjIyNjQyYzM0ZjYxZmVlZTI3Y2Q0NGE1MDNkZDRjMjFlOWNiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpcyBLYXVmZm1hbiA8a2F1ZmZtYW5AZWNzLmdtdS5lZHU+ CkRhdGU6IEZyaSwgMjggSnVsIDIwMTcgMjI6Mzc6MzEgLTA0MDAKU3ViamVjdDogW1BBVENIIDQv NV0gTW9kaWZpZWQgb3JnLnRleGkgdG8gaW5jbHVkZSBkb2N1bWVudGF0aW9uIG9mIHNpbmdsZSBj ZWxsCiBtb3ZlbWVudCBmdW5jdGlvbnMuCgotLS0KIGRvYy9vcmcudGV4aSB8IDYgKysrKysrCiAx IGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZG9jL29yZy50ZXhp IGIvZG9jL29yZy50ZXhpCmluZGV4IDEwMWQ1MzJlMy4uNTVjOGViZDI3IDEwMDY0NAotLS0gYS9k b2Mvb3JnLnRleGkKKysrIGIvZG9jL29yZy50ZXhpCkBAIC0yMTU2LDYgKzIxNTYsMTIgQEAgTkVX TElORSwgc28gaXQgY2FuIGJlIHVzZWQgdG8gc3BsaXQgYSB0YWJsZS4KIE1vdmUgdG8gYmVnaW5u aW5nIG9mIHRoZSBjdXJyZW50IHRhYmxlIGZpZWxkLCBvciBvbiB0byB0aGUgcHJldmlvdXMgZmll bGQuCiBAb3JnY21ke00tZSxvcmctdGFibGUtZW5kLW9mLWZpZWxkfQogTW92ZSB0byBlbmQgb2Yg dGhlIGN1cnJlbnQgdGFibGUgZmllbGQsIG9yIG9uIHRvIHRoZSBuZXh0IGZpZWxkLgorQGMKK0Bv cmdjbWR7Uy1Aa2V5e3VwfSxvcmctdGFibGUtbW92ZS1zaW5nbGUtY2VsbC11cH0KK0BvcmdjbWR7 Uy1Aa2V5e2Rvd259LG9yZy10YWJsZS1tb3ZlLXNpbmdsZS1jZWxsLWRvd259CitAb3JnY21ke1Mt QGtleXtsZWZ0fSxvcmctdGFibGUtbW92ZS1zaW5nbGUtY2VsbC1sZWZ0fQorQG9yZ2NtZHtTLUBr ZXl7cmlnaHR9LG9yZy10YWJsZS1tb3ZlLXNpbmdsZS1jZWxsLXJpZ2h0fQorTW92ZSBzaW5nbGUg Y2VsbHMgdXAsIGRvd24sIGxlZnQsIGFuZCByaWdodCBieSBzd2FwcGluZyB3aXRoIGFkamFjZW50 IGNlbGxzLgogCiBAdHN1YmhlYWRpbmd7Q29sdW1uIGFuZCByb3cgZWRpdGluZ30KIEBvcmdjbWRr a2Nje00tQGtleXtsZWZ0fSxNLUBrZXl7cmlnaHR9LG9yZy10YWJsZS1tb3ZlLWNvbHVtbi1sZWZ0 LG9yZy10YWJsZS1tb3ZlLWNvbHVtbi1yaWdodH0KLS0gCjIuMTIuMgoK --001a1142b97ad8468305556c0081 Content-Type: text/x-patch; charset="US-ASCII"; name="0003-Updates-to-ORG-NEWS-describing-single-cell-movement-.patch" Content-Disposition: attachment; filename="0003-Updates-to-ORG-NEWS-describing-single-cell-movement-.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j5oplgen2 RnJvbSA2YmUzMmIzOWM1OTBkMDAzYmU3NWEzMzAzM2JiMzMwMWExMWRiNDgzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpcyBLYXVmZm1hbiA8a2F1ZmZtYW5AZWNzLmdtdS5lZHU+ CkRhdGU6IEZyaSwgMjggSnVsIDIwMTcgMjI6MTg6MjggLTA0MDAKU3ViamVjdDogW1BBVENIIDMv NV0gVXBkYXRlcyB0byBPUkctTkVXUyBkZXNjcmliaW5nIHNpbmdsZS1jZWxsIG1vdmVtZW50CiBm dW5jdGlvbnMuCgotLS0KIGV0Yy9PUkctTkVXUyB8IDIwICsrKysrKysrKysrKysrKysrKysrCiAx IGZpbGUgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2V0Yy9PUkctTkVX UyBiL2V0Yy9PUkctTkVXUwppbmRleCBkN2JkM2UyY2UuLjA1ZWZjZTRmNCAxMDA2NDQKLS0tIGEv ZXRjL09SRy1ORVdTCisrKyBiL2V0Yy9PUkctTkVXUwpAQCAtMjkxLDYgKzI5MSwxMSBAQCBUaGlz IHZhcmlhYmxlIGFsbG93IGNvbXB1dGVkIGR1cmF0aW9ucyBpbiB0YWJsZXMgdG8gYmUgemVyby1w YWRkZWQuCiAqKiogTmV3IG1vZGUgc3dpdGNoIGZvciB0YWJsZSBmb3JtdWxhcyA6ID1VPQogVGhp cyBtb2RlIG9taXRzIHNlY29uZHMgaW4gZHVyYXRpb25zLgogCisqKiogTmV3IHNpbmdsZSB0YWJs ZSBjZWxsIG1vdmVtZW50IG9wdGlvbnMgOiB+b3JnLXRhYmxlLW1vdmUtc2luZ2xlLWNlbGwtdXB+ CitTaGlmdC1VcCwgU2hpZnQtRG93biwgU2hpZnQtUmlnaHQsIGFuZCBTaGlmdC1MZWZ0IG5vdyBt b3ZlIHNpbmdsZQordGFibGUgY2VsbHMgaW4gdGhlIGNvcnJlc3BvbmRpbmcgZGlyZWN0aW9ucyBi eSBzd2FwcGluZyB3aXRoIHRoZQorYWRqYWNlbnQgY2VsbC4KKwogKiogUmVtb3ZlZCBmdW5jdGlv bnMKIAogKioqIE9yZyBUaW1lbGluZQpAQCAtMzY4LDYgKzM3MywyMSBAQCBJdCBpcyB0aGUgcmVj aXByb2NhbCBvZiB+b3JnLWxpc3QtdG8tbGlzcH4sIHdoaWNoIHNlZS4KIAogQ2FsbCB+b3JnLWFn ZW5kYS1zZXQtcmVzdHJpY3Rpb24tbG9ja34gZnJvbSB0aGUgYWdlbmRhLgogCisqKiogfm9yZy10 YWJsZS1tb3ZlLXNpbmdsZS1jZWxsfiBhbmQgcmVsYXRlZAorCitGb3VyIG5ldyB1c2VyIGZ1bmN0 aW9ucyB0byBtb3ZlIHNpbmdsZSB0YWJsZSBjZWxscyBpbiBjYXJkaW5hbAorZGlyZWN0aW9ucy4K KworLSB+b3JnLXRhYmxlLW1vdmUtc2luZ2xlLWNlbGwtdXB+CistIH5vcmctdGFibGUtbW92ZS1z aW5nbGUtY2VsbC1kb3dufgorLSB+b3JnLXRhYmxlLW1vdmUtc2luZ2xlLWNlbGwtbGVmdH4KKy0g fm9yZy10YWJsZS1tb3ZlLXNpbmdsZS1jZWxsLXJpZ2h0fgorCitTdXBwb3J0IGZ1bmN0aW9ucyB3 aGljaCBhcmUgdXNlZCB0byBmYWNpbGl0YXRlIHNpbmdsZSBjZWxsIG1vdmVtZW50LgorLSB+b3Jn LXRhYmxlLW1vdmUtc2luZ2xlLWNlbGx+IAorLSB+b3JnLXRhYmxlLXN3YXAtY2VsbHN+IAorLSB+ b3JnLXRhYmxlLW1heC1saW5lLWNvbH4KKwogKiogTWlzY2VsbGFuZW91cwogCiAqKiogQWxsb3cg bXVsdGlwbGUgY29sdW1ucyB2aWV3Ci0tIAoyLjEyLjIKCg== --001a1142b97ad8468305556c0081 Content-Type: text/x-patch; charset="US-ASCII"; name="0002-Added-keybindings-for-org-table-move-single-cell-fun.patch" Content-Disposition: attachment; filename="0002-Added-keybindings-for-org-table-move-single-cell-fun.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j5oplger3 RnJvbSA5YzkwMDgwNTkzN2ViYzIxZDQ2ODYxMmQxYzU5NDM4MWNjYTUzY2QyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpcyBLYXVmZm1hbiA8a2F1ZmZtYW5AZWNzLmdtdS5lZHU+ CkRhdGU6IEZyaSwgMjggSnVsIDIwMTcgMjI6MDY6MDUgLTA0MDAKU3ViamVjdDogW1BBVENIIDIv NV0gQWRkZWQga2V5YmluZGluZ3MgZm9yIG9yZy10YWJsZS1tb3ZlLXNpbmdsZS1jZWxsLSoKIGZ1 bmN0aW9uczogUy11cCwgUy1kb3duLCBldGMuIERvbmUgdmlhIG1vZGlmaWNhdGlvbnMgdG8gb3Jn LXNoaWZ0dXAsCiBvcmctc2hpZnRkb3duLCBldGMuICBEaXNwYXRjaGluZyBhdCB0aGUgZW5kIG9m IGF2YWlsYWJsZSBjb250ZXh0cyBiZXR3ZWVuCiBiZWhhdmlvciBmb3IgY2xvY2sgdGFibGUgYW5k IGZ1bmN0aW9uIGhvb2tzLgoKLS0tCiBsaXNwL29yZy5lbCB8IDIxICsrKysrKysrKysrKysrKy0t LS0tLQogMSBmaWxlIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvbGlzcC9vcmcuZWwgYi9saXNwL29yZy5lbAppbmRleCA0NGFiYzBkYmUuLmZj NzQwYmRjYSAxMDA2NDQKLS0tIGEvbGlzcC9vcmcuZWwKKysrIGIvbGlzcC9vcmcuZWwKQEAgLTIw NDc3LDggKzIwNDc3LDEwIEBAIGNvbW1hbmRzIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKIAogKGRl ZnVuIG9yZy1zaGlmdHVwICgmb3B0aW9uYWwgYXJnKQogICAiSW5jcmVhc2UgaXRlbSBpbiB0aW1l c3RhbXAgb3IgaW5jcmVhc2UgcHJpb3JpdHkgb2YgY3VycmVudCBoZWFkbGluZS4KLUNhbGxzIGBv cmctdGltZXN0YW1wLXVwJyBvciBgb3JnLXByaW9yaXR5LXVwJywgb3IgYG9yZy1wcmV2aW91cy1p dGVtJywKLWRlcGVuZGluZyBvbiBjb250ZXh0LiAgU2VlIHRoZSBpbmRpdmlkdWFsIGNvbW1hbmRz IGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK0NhbGxzIGBvcmctdGltZXN0YW1wLXVwJyBvciBgb3Jn LXByaW9yaXR5LXVwJywgb3IKK2BvcmctcHJldmlvdXMtaXRlbScsIG9yIGBvcmctdGFibGUtbW92 ZS1zaW5nbGUtY2VsbC11cCcsCitkZXBlbmRpbmcgb24gY29udGV4dC4gIFNlZSB0aGUgaW5kaXZp ZHVhbCBjb21tYW5kcyBmb3IgbW9yZQoraW5mb3JtYXRpb24uIgogICAoaW50ZXJhY3RpdmUgIlAi KQogICAoY29uZAogICAgKChydW4taG9vay13aXRoLWFyZ3MtdW50aWwtc3VjY2VzcyAnb3JnLXNo aWZ0dXAtaG9vaykpCkBAIC0yMDQ5NCw2ICsyMDQ5Niw3IEBAIGRlcGVuZGluZyBvbiBjb250ZXh0 LiAgU2VlIHRoZSBpbmRpdmlkdWFsIGNvbW1hbmRzIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKICAg ICgoYW5kIChub3Qgb3JnLXN1cHBvcnQtc2hpZnQtc2VsZWN0KSAob3JnLWF0LWl0ZW0tcCkpCiAg ICAgKGNhbGwtaW50ZXJhY3RpdmVseSAnb3JnLXByZXZpb3VzLWl0ZW0pKQogICAgKChvcmctY2xv Y2t0YWJsZS10cnktc2hpZnQgJ3VwIGFyZykpCisgICAoKG9yZy1hdC10YWJsZS1wKSAob3JnLXRh YmxlLW1vdmUtc2luZ2xlLWNlbGwtdXApKQogICAgKChydW4taG9vay13aXRoLWFyZ3MtdW50aWwt c3VjY2VzcyAnb3JnLXNoaWZ0dXAtZmluYWwtaG9vaykpCiAgICAob3JnLXN1cHBvcnQtc2hpZnQt c2VsZWN0CiAgICAgKG9yZy1jYWxsLWZvci1zaGlmdC1zZWxlY3QgJ3ByZXZpb3VzLWxpbmUpKQpA QCAtMjA1MDEsOCArMjA1MDQsOSBAQCBkZXBlbmRpbmcgb24gY29udGV4dC4gIFNlZSB0aGUgaW5k aXZpZHVhbCBjb21tYW5kcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCiAKIChkZWZ1biBvcmctc2hp ZnRkb3duICgmb3B0aW9uYWwgYXJnKQogICAiRGVjcmVhc2UgaXRlbSBpbiB0aW1lc3RhbXAgb3Ig ZGVjcmVhc2UgcHJpb3JpdHkgb2YgY3VycmVudCBoZWFkbGluZS4KLUNhbGxzIGBvcmctdGltZXN0 YW1wLWRvd24nIG9yIGBvcmctcHJpb3JpdHktZG93bicsIG9yIGBvcmctbmV4dC1pdGVtJwotZGVw ZW5kaW5nIG9uIGNvbnRleHQuICBTZWUgdGhlIGluZGl2aWR1YWwgY29tbWFuZHMgZm9yIG1vcmUg aW5mb3JtYXRpb24uIgorQ2FsbHMgYG9yZy10aW1lc3RhbXAtZG93bicgb3IgYG9yZy1wcmlvcml0 eS1kb3duJywgb3IKK2BvcmctbmV4dC1pdGVtJywgb3IgYG9yZy10YWJsZS1tb3ZlLXNpbmdsZS1j ZWxsLWRvd24nLCBkZXBlbmRpbmcKK29uIGNvbnRleHQuICBTZWUgdGhlIGluZGl2aWR1YWwgY29t bWFuZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgogICAoaW50ZXJhY3RpdmUgIlAiKQogICAoY29u ZAogICAgKChydW4taG9vay13aXRoLWFyZ3MtdW50aWwtc3VjY2VzcyAnb3JnLXNoaWZ0ZG93bi1o b29rKSkKQEAgLTIwNTE4LDYgKzIwNTIyLDcgQEAgZGVwZW5kaW5nIG9uIGNvbnRleHQuICBTZWUg dGhlIGluZGl2aWR1YWwgY29tbWFuZHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgogICAgKChhbmQg KG5vdCBvcmctc3VwcG9ydC1zaGlmdC1zZWxlY3QpIChvcmctYXQtaXRlbS1wKSkKICAgICAoY2Fs bC1pbnRlcmFjdGl2ZWx5ICdvcmctbmV4dC1pdGVtKSkKICAgICgob3JnLWNsb2NrdGFibGUtdHJ5 LXNoaWZ0ICdkb3duIGFyZykpCisgICAoKG9yZy1hdC10YWJsZS1wKSAob3JnLXRhYmxlLW1vdmUt c2luZ2xlLWNlbGwtZG93bikpCiAgICAoKHJ1bi1ob29rLXdpdGgtYXJncy11bnRpbC1zdWNjZXNz ICdvcmctc2hpZnRkb3duLWZpbmFsLWhvb2spKQogICAgKG9yZy1zdXBwb3J0LXNoaWZ0LXNlbGVj dAogICAgIChvcmctY2FsbC1mb3Itc2hpZnQtc2VsZWN0ICduZXh0LWxpbmUpKQpAQCAtMjA1MzEs NyArMjA1MzYsOCBAQCBEZXBlbmRpbmcgb24gY29udGV4dCwgdGhpcyBkb2VzIG9uZSBvZiB0aGUg Zm9sbG93aW5nOgogLSBvbiBhIGhlYWRsaW5lLCBzd2l0Y2ggdG8gdGhlIG5leHQgVE9ETyBrZXl3 b3JkLgogLSBvbiBhbiBpdGVtLCBzd2l0Y2ggZW50aXJlIGxpc3QgdG8gdGhlIG5leHQgYnVsbGV0 IHR5cGUKIC0gb24gYSBwcm9wZXJ0eSBsaW5lLCBzd2l0Y2ggdG8gdGhlIG5leHQgYWxsb3dlZCB2 YWx1ZQotLSBvbiBhIGNsb2NrdGFibGUgZGVmaW5pdGlvbiBsaW5lLCBtb3ZlIHRpbWUgYmxvY2sg aW50byB0aGUgZnV0dXJlIgorLSBvbiBhIGNsb2NrdGFibGUgZGVmaW5pdGlvbiBsaW5lLCBtb3Zl IHRpbWUgYmxvY2sgaW50byB0aGUgZnV0dXJlCistIG9uIGEgbm9ybWFsIHRhYmxlLCBtb3ZlIGEg c2luZ2xlIGNlbGwgcmlnaHQiCiAgIChpbnRlcmFjdGl2ZSAiUCIpCiAgIChjb25kCiAgICAoKHJ1 bi1ob29rLXdpdGgtYXJncy11bnRpbC1zdWNjZXNzICdvcmctc2hpZnRyaWdodC1ob29rKSkKQEAg LTIwNTU0LDYgKzIwNTYwLDcgQEAgRGVwZW5kaW5nIG9uIGNvbnRleHQsIHRoaXMgZG9lcyBvbmUg b2YgdGhlIGZvbGxvd2luZzoKIAkgKG9yZy1hdC1wcm9wZXJ0eS1wKSkKICAgICAoY2FsbC1pbnRl cmFjdGl2ZWx5ICdvcmctcHJvcGVydHktbmV4dC1hbGxvd2VkLXZhbHVlKSkKICAgICgob3JnLWNs b2NrdGFibGUtdHJ5LXNoaWZ0ICdyaWdodCBhcmcpKQorICAgKChvcmctYXQtdGFibGUtcCkgKG9y Zy10YWJsZS1tb3ZlLXNpbmdsZS1jZWxsLXJpZ2h0KSkKICAgICgocnVuLWhvb2std2l0aC1hcmdz LXVudGlsLXN1Y2Nlc3MgJ29yZy1zaGlmdHJpZ2h0LWZpbmFsLWhvb2spKQogICAgKG9yZy1zdXBw b3J0LXNoaWZ0LXNlbGVjdAogICAgIChvcmctY2FsbC1mb3Itc2hpZnQtc2VsZWN0ICdmb3J3YXJk LWNoYXIpKQpAQCAtMjA1NjcsNyArMjA1NzQsOCBAQCBEZXBlbmRpbmcgb24gY29udGV4dCwgdGhp cyBkb2VzIG9uZSBvZiB0aGUgZm9sbG93aW5nOgogLSBvbiBhIGhlYWRsaW5lLCBzd2l0Y2ggdG8g dGhlIHByZXZpb3VzIFRPRE8ga2V5d29yZC4KIC0gb24gYW4gaXRlbSwgc3dpdGNoIGVudGlyZSBs aXN0IHRvIHRoZSBwcmV2aW91cyBidWxsZXQgdHlwZQogLSBvbiBhIHByb3BlcnR5IGxpbmUsIHN3 aXRjaCB0byB0aGUgcHJldmlvdXMgYWxsb3dlZCB2YWx1ZQotLSBvbiBhIGNsb2NrdGFibGUgZGVm aW5pdGlvbiBsaW5lLCBtb3ZlIHRpbWUgYmxvY2sgaW50byB0aGUgcGFzdCIKKy0gb24gYSBjbG9j a3RhYmxlIGRlZmluaXRpb24gbGluZSwgbW92ZSB0aW1lIGJsb2NrIGludG8gdGhlIHBhc3QKKy0g b24gYSBub3JtYWwgdGFibGUsIG1vdmUgYSBzaW5nbGUgY2VsbCBsZWZ0IgogICAoaW50ZXJhY3Rp dmUgIlAiKQogICAoY29uZAogICAgKChydW4taG9vay13aXRoLWFyZ3MtdW50aWwtc3VjY2VzcyAn b3JnLXNoaWZ0bGVmdC1ob29rKSkKQEAgLTIwNTkwLDYgKzIwNTk4LDcgQEAgRGVwZW5kaW5nIG9u IGNvbnRleHQsIHRoaXMgZG9lcyBvbmUgb2YgdGhlIGZvbGxvd2luZzoKIAkgKG9yZy1hdC1wcm9w ZXJ0eS1wKSkKICAgICAoY2FsbC1pbnRlcmFjdGl2ZWx5ICdvcmctcHJvcGVydHktcHJldmlvdXMt YWxsb3dlZC12YWx1ZSkpCiAgICAoKG9yZy1jbG9ja3RhYmxlLXRyeS1zaGlmdCAnbGVmdCBhcmcp KQorICAgKChvcmctYXQtdGFibGUtcCkgKG9yZy10YWJsZS1tb3ZlLXNpbmdsZS1jZWxsLWxlZnQp KQogICAgKChydW4taG9vay13aXRoLWFyZ3MtdW50aWwtc3VjY2VzcyAnb3JnLXNoaWZ0bGVmdC1m aW5hbC1ob29rKSkKICAgIChvcmctc3VwcG9ydC1zaGlmdC1zZWxlY3QKICAgICAob3JnLWNhbGwt Zm9yLXNoaWZ0LXNlbGVjdCAnYmFja3dhcmQtY2hhcikpCi0tIAoyLjEyLjIKCg== --001a1142b97ad8468305556c0081 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-org-table-Adding-single-cell-movement-functions-and-.patch" Content-Disposition: attachment; filename="0001-org-table-Adding-single-cell-movement-functions-and-.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j5oplgew4 RnJvbSA2ZjUwNTI2ZmE2NDJlYTc0NzE2ZGQ0NjY4ZTJiMzZiMGZmOWM2MTM0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpcyBLYXVmZm1hbiA8a2F1ZmZtYW5AZWNzLmdtdS5lZHU+ CkRhdGU6IFN1biwgMjMgSnVsIDIwMTcgMDA6MTM6MTEgLTA0MDAKU3ViamVjdDogW1BBVENIIDEv NV0gb3JnLXRhYmxlOiBBZGRpbmcgc2luZ2xlIGNlbGwgbW92ZW1lbnQgZnVuY3Rpb25zIGFuZAog dGVzdHMuCgoqIG9yZy1tb2RlL2xpc3Avb3JnLXRhYmxlLmVsOiBOZXcgZnVuY3Rpb25zIGZvciBz aW5nbGUgdGFibGUgY2VsbAogIG1vdmVtZW50IHN1Y2ggYXMgKG9yZy10YWJsZS1tb3ZlLXNpbmds ZS1jZWxsLWRvd24pCiogdGVzdGluZy9saXNwL3Rlc3Qtb3JnLXRhYmxlLmVsOiBBZGRlZCB0ZXN0 cyBmb3Igc2luZ2xlIHRhYmxlIGNlbGwKICBtb3ZlbWVudCBzdWNoIGFzICh0ZXN0LW9yZy10YWJs ZS9tb3ZlLXNpbmdsZS1jZWxsLWRvd24pCi0tLQogbGlzcC9vcmctdGFibGUuZWwgICAgICAgICAg ICAgIHwgIDcxICsrKysrKysrCiB0ZXN0aW5nL2xpc3AvdGVzdC1vcmctdGFibGUuZWwgfCAzODUg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdl ZCwgNDU2IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9saXNwL29yZy10YWJsZS5lbCBiL2xp c3Avb3JnLXRhYmxlLmVsCmluZGV4IDM3ZTQwZGUxZS4uMmI4MGJmYzNhIDEwMDY0NAotLS0gYS9s aXNwL29yZy10YWJsZS5lbAorKysgYi9saXNwL29yZy10YWJsZS5lbApAQCAtMTQzNyw2ICsxNDM3 LDc3IEBAIG5vbi1uaWwsIHRoZSBvbmUgYWJvdmUgaXMgdXNlZC4iCiAJICAgICAgIChpZiBhYm92 ZSBtaW4gbWF4KSkpKSkpCiAKIDs7OyMjI2F1dG9sb2FkCisoZGVmdW4gb3JnLXRhYmxlLW1heC1s aW5lLWNvbCAoKQorICAiUmV0dXJuIHRoZSBtYXhpbXVtIGxpbmUgYW5kIGNvbHVtbiBvZiB0aGUg Y3VycmVudCB0YWJsZSBhcyBhCitsaXN0IG9mIHR3byBudW1iZXJzIgorICAod2hlbiAobm90IChv cmctYXQtdGFibGUtcCkpCisgICAgKHVzZXItZXJyb3IgIk5vdCBpbiBhbiBvcmctdGFibGUiKSkK KyAgKGxldCAoKHRhYmxlLWVuZCAob3JnLXRhYmxlLWVuZCkpKQorICAgIChzYXZlLW1hcmstYW5k LWV4Y3Vyc2lvbgorICAgICAoZ290by1jaGFyIHRhYmxlLWVuZCkKKyAgICAgKG9yZy10YWJsZS1w cmV2aW91cy1maWVsZCkKKyAgICAgKGxpc3QgKG9yZy10YWJsZS1jdXJyZW50LWxpbmUpIChvcmct dGFibGUtY3VycmVudC1jb2x1bW4pKSkpKQorCis7OzsjIyNhdXRvbG9hZAorKGRlZnVuIG9yZy10 YWJsZS1zd2FwLWNlbGxzIChyb3cxIGNvbDEgcm93MiBjb2wyKQorICAiU3dhcCB0d28gY2VsbHMg aW5kaWNhdGVkIGJ5IHRoZSBjb29yZGluYXRlcyBwcm92aWRlZCIKKyAgKGxldCAoKGNvbnRlbnQx IChvcmctdGFibGUtZ2V0IHJvdzEgY29sMSkpCisJKGNvbnRlbnQyIChvcmctdGFibGUtZ2V0IHJv dzIgY29sMikpKQorICAgIChvcmctdGFibGUtcHV0IHJvdzEgY29sMSBjb250ZW50MikKKyAgICAo b3JnLXRhYmxlLXB1dCByb3cyIGNvbDIgY29udGVudDEpCisgICAgKG9yZy10YWJsZS1hbGlnbikp KQorCis7OzsjIyNhdXRvbG9hZAorKGRlZnVuIG9yZy10YWJsZS1tb3ZlLXNpbmdsZS1jZWxsIChk aXJlY3Rpb24pCisgICJNb3ZlIHRoZSBjdXJyZW50IGNlbGwgaW4gYSBjYXJkaW5hbCBkaXJlY3Rp b24gYWNjb3JkaW5nIHRvIHRoZQorcGFyYW1ldGVyIHN5bWJvbDogJ3VwICdkb3duICdsZWZ0ICdy aWdodC4gU3dhcHMgY29udGVudHMgb2YKK2FkamFjZW50IGNlbGwgd2l0aCBjdXJyZW50IG9uZS4i CisgICh1bmxlc3MgKG9yZy1hdC10YWJsZS1wKQorICAgIChlcnJvciAiTm8gdGFibGUgYXQgcG9p bnQiKSkKKyAgKGxldCAoKGRyb3cgMCkgKGRjb2wgMCkpCisgICAgKGNvbmQgKChlcXVhbCBkaXJl Y3Rpb24gJ3VwKSAgICAoc2V0cSBkcm93IC0xKSkKKwkgICgoZXF1YWwgZGlyZWN0aW9uICdkb3du KSAgKHNldHEgZHJvdyArMSkpCisJICAoKGVxdWFsIGRpcmVjdGlvbiAnbGVmdCkgIChzZXRxIGRj b2wgLTEpKQorCSAgKChlcXVhbCBkaXJlY3Rpb24gJ3JpZ2h0KSAoc2V0cSBkY29sICsxKSkKKwkg ICh0IChlcnJvciAiTm90IGEgdmFsaWQgZGlyZWN0aW9uLCBtdXN0IGJlIG9uZSBvZiAndXAgJ2Rv d24gJ2xlZnQgJ3JpZ2h0IikpKQorICAgIChsZXQqICgocm93MSAob3JnLXRhYmxlLWN1cnJlbnQt bGluZSkpCisJICAgKGNvbDEgKG9yZy10YWJsZS1jdXJyZW50LWNvbHVtbikpCisJICAgKHJvdzIg KCsgcm93MSBkcm93KSkKKwkgICAoY29sMiAoKyBjb2wxIGRjb2wpKQorCSAgIChtYXgtcm93LWNv bCAob3JnLXRhYmxlLW1heC1saW5lLWNvbCkpCisJICAgKG1heC1yb3cgKGNhciBtYXgtcm93LWNv bCkpCisJICAgKG1heC1jb2wgKGNhZHIgbWF4LXJvdy1jb2wpKSkKKyAgICAgICh3aGVuIChvciAo PCBjb2wxIDEpICg8IGNvbDIgMSkgKD4gY29sMiBtYXgtY29sKSAoPCByb3cyIDEpICg+IHJvdzIg bWF4LXJvdykpCisJKHVzZXItZXJyb3IgIkNhbm5vdCBtb3ZlIGNlbGwgZnVydGhlciIpKQorICAg ICAgKG9yZy10YWJsZS1zd2FwLWNlbGxzIHJvdzEgY29sMSByb3cyIGNvbDIpCisgICAgICAob3Jn LXRhYmxlLWdvdG8tbGluZSByb3cyKQorICAgICAgKG9yZy10YWJsZS1nb3RvLWNvbHVtbiBjb2wy KSkpKQorCis7OzsjIyNhdXRvbG9hZAorKGRlZnVuIG9yZy10YWJsZS1tb3ZlLXNpbmdsZS1jZWxs LXVwICgpCisgICJNb3ZlIGEgc2luZ2xlIGNlbGwgdXAgaW4gYSB0YWJsZTsgc3dhcCB3aXRoIGFu eXRoaW5nIGluIHRhcmdldCBjZWxsIgorICAoaW50ZXJhY3RpdmUpCisgIChvcmctdGFibGUtbW92 ZS1zaW5nbGUtY2VsbCAndXApKQorCis7OzsjIyNhdXRvbG9hZAorKGRlZnVuIG9yZy10YWJsZS1t b3ZlLXNpbmdsZS1jZWxsLWRvd24gKCkKKyAgIk1vdmUgYSBzaW5nbGUgY2VsbCBkb3duIGluIGEg dGFibGU7IHN3YXAgd2l0aCBhbnl0aGluZyBpbiB0YXJnZXQgY2VsbCIKKyAgKGludGVyYWN0aXZl KQorICAob3JnLXRhYmxlLW1vdmUtc2luZ2xlLWNlbGwgJ2Rvd24pKQorCis7OzsjIyNhdXRvbG9h ZAorKGRlZnVuIG9yZy10YWJsZS1tb3ZlLXNpbmdsZS1jZWxsLWxlZnQgKCkKKyAgIk1vdmUgYSBz aW5nbGUgY2VsbCBsZWZ0IGluIGEgdGFibGU7IHN3YXAgd2l0aCBhbnl0aGluZyBpbiB0YXJnZXQg Y2VsbCIKKyAgKGludGVyYWN0aXZlKQorICAob3JnLXRhYmxlLW1vdmUtc2luZ2xlLWNlbGwgJ2xl ZnQpKQorCis7OzsjIyNhdXRvbG9hZAorKGRlZnVuIG9yZy10YWJsZS1tb3ZlLXNpbmdsZS1jZWxs LXJpZ2h0ICgpCisgICJNb3ZlIGEgc2luZ2xlIGNlbGwgcmlnaHQgaW4gYSB0YWJsZTsgc3dhcCB3 aXRoIGFueXRoaW5nIGluIHRhcmdldCBjZWxsIgorICAoaW50ZXJhY3RpdmUpCisgIChvcmctdGFi bGUtbW92ZS1zaW5nbGUtY2VsbCAncmlnaHQpKQorCQorOzs7IyMjYXV0b2xvYWQKIChkZWZ1biBv cmctdGFibGUtZGVsZXRlLWNvbHVtbiAoKQogICAiRGVsZXRlIGEgY29sdW1uIGZyb20gdGhlIHRh YmxlLiIKICAgKGludGVyYWN0aXZlKQpkaWZmIC0tZ2l0IGEvdGVzdGluZy9saXNwL3Rlc3Qtb3Jn LXRhYmxlLmVsIGIvdGVzdGluZy9saXNwL3Rlc3Qtb3JnLXRhYmxlLmVsCmluZGV4IDk5ZjU5M2My NS4uZGU5YTFhZDRiIDEwMDY0NAotLS0gYS90ZXN0aW5nL2xpc3AvdGVzdC1vcmctdGFibGUuZWwK KysrIGIvdGVzdGluZy9saXNwL3Rlc3Qtb3JnLXRhYmxlLmVsCkBAIC0yMTAyLDYgKzIxMDIsMzkx IEBAIGlzIHQsIHRoZW4gbmV3IGNvbHVtbnMgc2hvdWxkIGJlIGFkZGVkIGFzIG5lZWRlZCIKIAog CiAMCis7OzsgTW92aW5nIHNpbmdsZSBjZWxscworKGVydC1kZWZ0ZXN0IHRlc3Qtb3JnLXRhYmxl L21vdmUtc2luZ2xlLWNlbGwtZG93biAoKQorICAiVGVzdCBgb3JnLXRhYmxlLW1vdmUtc2luZ2xl LWNlbGwtZG93bicgc3BlY2lmaWNhdGlvbnMuIgorICA7OyBFcnJvciBvdXQgd2hlbiBjZWxsIGNh bm5vdCBiZSBtb3ZlZCBkdWUgdG8gbm90IGluIHRhYmxlLAorICA7OyBpbiB0aGUgbGFzdCByb3cg b2YgdGhlIHRhYmxlLCBvciBpcyBvbiBhIGhsaW5lCisgIChzaG91bGQtZXJyb3IKKyAgIChvcmct dGVzdC13aXRoLXRlbXAtdGV4dCAibm90IGluXG5hIHRhYmxlXG4iCisgICAgIChvcmctdGFibGUt bW92ZS1zaW5nbGUtY2VsbC1kb3duKSkpCisgIChzaG91bGQtZXJyb3IKKyAgIChvcmctdGVzdC13 aXRoLXRlbXAtdGV4dCAifCBhIHwiCisgICAgIChvcmctdGFibGUtbW92ZS1zaW5nbGUtY2VsbC1k b3duKSkpCisgIChzaG91bGQtZXJyb3IKKyAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAifCBh IHxcbiIKKyAgICAgKG9yZy10YWJsZS1tb3ZlLXNpbmdsZS1jZWxsLWRvd24pKSkKKyAgKHNob3Vs ZC1lcnJvcgorICAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0ICJ8IGEgfCA8cG9pbnQ+YiB8XG4i CisgICAgIChvcmctdGFibGUtbW92ZS1zaW5nbGUtY2VsbC1kb3duKSkpCisgIChzaG91bGQtZXJy b3IKKyAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAifCBhIHwgYiB8XG58IDxwb2ludD5jIHwg ZCB8XG4iCisgICAgIChvcmctdGFibGUtbW92ZS1zaW5nbGUtY2VsbC1kb3duKSkpCisgIChzaG91 bGQtZXJyb3IKKyAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAifCBhIHwgYiB8XG58IGMgfCA8 cG9pbnQ+ZCB8XG4iCisgICAgIChvcmctdGFibGUtbW92ZS1zaW5nbGUtY2VsbC1kb3duKSkpCisg IChzaG91bGQtZXJyb3IKKyAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAifCA8cG9pbnQ+YSB8 XG58LS0tfFxuIgorICAgICAob3JnLXRhYmxlLW1vdmUtc2luZ2xlLWNlbGwtZG93bikpKQorICAo c2hvdWxkLWVycm9yCisgICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQgInw8cG9pbnQ+LS0tfFxu fCBhIHxcbiIKKyAgICAgKG9yZy10YWJsZS1tb3ZlLXNpbmdsZS1jZWxsLWRvd24pKSkKKyAgOzsg Q2hlY2sgZm9yIGNvcnJlY3QgY2VsbCBtb3ZlbWVudAorICAoc2hvdWxkIChlcXVhbCAoY29uY2F0 ICJ8IGMgfCBiIHxcbiIKKwkJCSAifCBhIHwgZCB8XG4iCisJCQkgInwgZSB8IGYgfFxuIikKKwkJ IChvcmctdGVzdC13aXRoLXRlbXAtdGV4dAorCQkgICAgIChjb25jYXQgInwgPHBvaW50PmEgfCBi IHxcbiIKKwkJCSAgICAgInwgYyB8IGQgfFxuIgorCQkJICAgICAifCBlIHwgZiB8XG4iKQorCQkg ICAob3JnLXRhYmxlLW1vdmUtc2luZ2xlLWNlbGwtZG93bikKKwkJICAgKGJ1ZmZlci1zdHJpbmcp KSkpCisgIChzaG91bGQgKGVxdWFsIChjb25jYXQgInwgYSB8IGQgfFxuIgorCQkJICJ8IGMgfCBi IHxcbiIKKwkJCSAifCBlIHwgZiB8XG4iKQorCQkgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0CisJ CSAgICAgKGNvbmNhdCAifCBhIHwgPHBvaW50PmIgfFxuIgorCQkJICAgICAifCBjIHwgZCB8XG4i CisJCQkgICAgICJ8IGUgfCBmIHxcbiIpCisJCSAgIChvcmctdGFibGUtbW92ZS1zaW5nbGUtY2Vs bC1kb3duKQorCQkgICAoYnVmZmVyLXN0cmluZykpKSkKKyAgKHNob3VsZCAoZXF1YWwgKGNvbmNh dCAifCBhIHwgYiB8XG4iCisJCQkgInwgZSB8IGQgfFxuIgorCQkJICJ8IGMgfCBmIHxcbiIpCisJ CSAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQKKwkJICAgICAoY29uY2F0ICJ8IGEgfCBiIHxcbiIK KwkJCSAgICAgInwgPHBvaW50PmMgfCBkIHxcbiIKKwkJCSAgICAgInwgZSB8IGYgfFxuIikKKwkJ ICAgKG9yZy10YWJsZS1tb3ZlLXNpbmdsZS1jZWxsLWRvd24pCisJCSAgIChidWZmZXItc3RyaW5n KSkpKQorICAoc2hvdWxkIChlcXVhbCAoY29uY2F0ICJ8IGEgfCBkIHxcbiIKKwkJCSAifCBjIHwg ZiB8XG4iCisJCQkgInwgZSB8IGIgfFxuIikKKwkJIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dAor CQkgICAgIChjb25jYXQgInwgYSB8PHBvaW50PiBiIHxcbiIKKwkJCSAgICAgInwgYyB8IGQgfFxu IgorCQkJICAgICAifCBlIHwgZiB8XG4iKQorCQkgICAob3JnLXRhYmxlLW1vdmUtc2luZ2xlLWNl bGwtZG93bikKKwkJICAgKG9yZy10YWJsZS1tb3ZlLXNpbmdsZS1jZWxsLWRvd24pCisJCSAgIChi dWZmZXItc3RyaW5nKSkpKQorICA7OyBDaGVjayBmb3IgY29ycmVjdCBoYW5kbGluZyBvZiBobGlu ZXMgd2hpY2ggc2hvdWxkIG5vdCBjaGFuZ2UKKyAgOzsgcG9zaXRpb24gb24gc2luZ2xlIGNlbGwg bW92ZXMKKyAgKHNob3VsZCAoZXF1YWwgKGNvbmNhdCAifCBjIHwgYiB8XG4iCisJCQkgInwtLS0r LS0tfFxuIgorCQkJICJ8IGEgfCBkIHxcbiIKKwkJCSAifCBlIHwgZiB8XG4iKQorCQkgKG9yZy10 ZXN0LXdpdGgtdGVtcC10ZXh0CisJCSAgICAgKGNvbmNhdCAifCA8cG9pbnQ+YSB8IGIgfFxuIgor CQkJICAgICAifC0tLSstLS18XG4iCisJCQkgICAgICJ8IGMgfCBkIHxcbiIKKwkJCSAgICAgInwg ZSB8IGYgfFxuIikKKwkJICAgKG9yZy10YWJsZS1tb3ZlLXNpbmdsZS1jZWxsLWRvd24pCisJCSAg IChidWZmZXItc3RyaW5nKSkpKQorICAoc2hvdWxkIChlcXVhbCAoY29uY2F0ICJ8IGEgfCBkIHxc biIKKwkJCSAifC0tLSstLS18XG4iCisJCQkgInwgYyB8IGYgfFxuIgorCQkJICJ8IGUgfCBiIHxc biIpCisJCSAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQKKwkJICAgICAoY29uY2F0ICJ8IGEgfCA8 cG9pbnQ+YiB8XG4iCisJCQkgICAgICJ8LS0tKy0tLXxcbiIKKwkJCSAgICAgInwgYyB8IGQgfFxu IgorCQkJICAgICAifCBlIHwgZiB8XG4iKQorCQkgICAob3JnLXRhYmxlLW1vdmUtc2luZ2xlLWNl bGwtZG93bikKKwkJICAgKG9yZy10YWJsZS1tb3ZlLXNpbmdsZS1jZWxsLWRvd24pCisJCSAgIChi dWZmZXItc3RyaW5nKSkpKQorICAoc2hvdWxkIChlcXVhbCAoY29uY2F0ICJ8IGEgfCBiIHxcbiIK KwkJCSAifC0tLSstLS18XG4iCisJCQkgInwgYyB8IGYgfFxuIgorCQkJICJ8IGUgfCBkIHxcbiIp CisJCSAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQKKwkJICAgICAoY29uY2F0ICJ8IGEgfCBiIHxc biIKKwkJCSAgICAgInwtLS0rLS0tfFxuIgorCQkJICAgICAifCBjIHwgPHBvaW50PmQgfFxuIgor CQkJICAgICAifCBlIHwgZiB8XG4iKQorCQkgICAob3JnLXRhYmxlLW1vdmUtc2luZ2xlLWNlbGwt ZG93bikKKwkJICAgKGJ1ZmZlci1zdHJpbmcpKSkpCisKKyAgOzsgTW92ZSBzaW5nbGUgY2VsbCBl dmVuIHdpdGhvdXQgYSBmaW5hbCBuZXdsaW5lLiBTZWVtcyB0aGF0IHNvbWUKKyAgKHNob3VsZCAo ZXF1YWwgKGNvbmNhdCAifCBhIHwgZCB8XG4iCisJCQkgInwtLS0rLS0tfFxuIgorCQkJICJ8IGMg fCBmIHxcbiIKKwkJCSAifCBlIHwgYiB8XG4iKQorCQkgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0 CisJCSAgICAgKGNvbmNhdCAifCBhIHwgPHBvaW50PmIgfFxuIgorCQkJICAgICAifC0tLSstLS18 XG4iCisJCQkgICAgICJ8IGMgfCBkIHxcbiIKKwkJCSAgICAgInwgZSB8IGYgfCIpCisJCSAgIChv cmctdGFibGUtbW92ZS1zaW5nbGUtY2VsbC1kb3duKQorCQkgICAob3JnLXRhYmxlLW1vdmUtc2lu Z2xlLWNlbGwtZG93bikKKwkJICAgKGJ1ZmZlci1zdHJpbmcpKSkpKQorKGVydC1kZWZ0ZXN0IHRl c3Qtb3JnLXRhYmxlL21vdmUtc2luZ2xlLWNlbGwtdXAgKCkKKyAgIlRlc3QgYG9yZy10YWJsZS1t b3ZlLXNpbmdsZS1jZWxsLXVwJyBzcGVjaWZpY2F0aW9ucy4iCisgIDs7IEVycm9yIG91dCB3aGVu IGNlbGwgY2Fubm90IGJlIG1vdmVkIGR1ZSB0byBub3QgaW4gdGFibGUsCisgIDs7IGluIHRoZSBs YXN0IHJvdyBvZiB0aGUgdGFibGUsIG9yIGlzIG9uIGEgaGxpbmUKKyAgKHNob3VsZC1lcnJvcgor ICAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0ICJub3QgaW5cbmEgdGFibGVcbiIKKyAgICAgKG9y Zy10YWJsZS1tb3ZlLXNpbmdsZS1jZWxsLXVwKSkpCisgIChzaG91bGQtZXJyb3IKKyAgIChvcmct dGVzdC13aXRoLXRlbXAtdGV4dCAifCBhIHwiCisgICAgIChvcmctdGFibGUtbW92ZS1zaW5nbGUt Y2VsbC11cCkpKQorICAoc2hvdWxkLWVycm9yCisgICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQg InwgYSB8XG4iCisgICAgIChvcmctdGFibGUtbW92ZS1zaW5nbGUtY2VsbC11cCkpKQorICAoc2hv dWxkLWVycm9yCisgICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQgInwgPHBvaW50PmEgfCBiIHxc biIKKyAgICAgKG9yZy10YWJsZS1tb3ZlLXNpbmdsZS1jZWxsLXVwKSkpCisgIChzaG91bGQtZXJy b3IKKyAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAifCBhIHwgPHBvaW50PmIgfFxufCBjIHwg ZCB8XG4iCisgICAgIChvcmctdGFibGUtbW92ZS1zaW5nbGUtY2VsbC11cCkpKQorICAoc2hvdWxk LWVycm9yCisgICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQgInwgPHBvaW50PmEgfFxufC0tLXxc biIKKyAgICAgKG9yZy10YWJsZS1tb3ZlLXNpbmdsZS1jZWxsLXVwKSkpCisgIChzaG91bGQtZXJy b3IKKyAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAifDxwb2ludD4tLS18XG58IGEgfFxuIgor ICAgICAob3JnLXRhYmxlLW1vdmUtc2luZ2xlLWNlbGwtdXApKSkKKyAgOzsgQ2hlY2sgZm9yIGNv cnJlY3QgY2VsbCBtb3ZlbWVudAorICAoc2hvdWxkIChlcXVhbCAoY29uY2F0ICJ8IGMgfCBiIHxc biIKKwkJCSAifCBhIHwgZCB8XG4iCisJCQkgInwgZSB8IGYgfFxuIikKKwkJIChvcmctdGVzdC13 aXRoLXRlbXAtdGV4dAorCQkgICAgIChjb25jYXQgInwgYSB8IGIgfFxuIgorCQkJICAgICAifCA8 cG9pbnQ+YyB8IGQgfFxuIgorCQkJICAgICAifCBlIHwgZiB8XG4iKQorCQkgICAob3JnLXRhYmxl LW1vdmUtc2luZ2xlLWNlbGwtdXApCisJCSAgIChidWZmZXItc3RyaW5nKSkpKQorICAoc2hvdWxk IChlcXVhbCAoY29uY2F0ICJ8IGEgfCBkIHxcbiIKKwkJCSAifCBjIHwgYiB8XG4iCisJCQkgInwg ZSB8IGYgfFxuIikKKwkJIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dAorCQkgICAgIChjb25jYXQg InwgYSB8IGIgfFxuIgorCQkJICAgICAifCBjIHwgPHBvaW50PmQgfFxuIgorCQkJICAgICAifCBl IHwgZiB8XG4iKQorCQkgICAob3JnLXRhYmxlLW1vdmUtc2luZ2xlLWNlbGwtdXApCisJCSAgIChi dWZmZXItc3RyaW5nKSkpKQorICAoc2hvdWxkIChlcXVhbCAoY29uY2F0ICJ8IGEgfCBiIHxcbiIK KwkJCSAifCBlIHwgZCB8XG4iCisJCQkgInwgYyB8IGYgfFxuIikKKwkJIChvcmctdGVzdC13aXRo LXRlbXAtdGV4dAorCQkgICAgIChjb25jYXQgInwgYSB8IGIgfFxuIgorCQkJICAgICAifCBjIHwg ZCB8XG4iCisJCQkgICAgICJ8IDxwb2ludD5lIHwgZiB8XG4iKQorCQkgICAob3JnLXRhYmxlLW1v dmUtc2luZ2xlLWNlbGwtdXApCisJCSAgIChidWZmZXItc3RyaW5nKSkpKQorICAoc2hvdWxkIChl cXVhbCAoY29uY2F0ICJ8IGEgfCBmIHxcbiIKKwkJCSAifCBjIHwgYiB8XG4iCisJCQkgInwgZSB8 IGQgfFxuIikKKwkJIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dAorCQkgICAgIChjb25jYXQgInwg YSB8IGIgfFxuIgorCQkJICAgICAifCBjIHwgZCB8XG4iCisJCQkgICAgICJ8IGUgfDxwb2ludD4g ZiB8XG4iKQorCQkgICAob3JnLXRhYmxlLW1vdmUtc2luZ2xlLWNlbGwtdXApCisJCSAgIChvcmct dGFibGUtbW92ZS1zaW5nbGUtY2VsbC11cCkKKwkJICAgKGJ1ZmZlci1zdHJpbmcpKSkpCisgIDs7 IENoZWNrIGZvciBjb3JyZWN0IGhhbmRsaW5nIG9mIGhsaW5lcyB3aGljaCBzaG91bGQgbm90IGNo YW5nZQorICA7OyBwb3NpdGlvbiBvbiBzaW5nbGUgY2VsbCBtb3ZlcworICAoc2hvdWxkIChlcXVh bCAoY29uY2F0ICJ8IGMgfCBiIHxcbiIKKwkJCSAifC0tLSstLS18XG4iCisJCQkgInwgYSB8IGQg fFxuIgorCQkJICJ8IGUgfCBmIHxcbiIpCisJCSAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQKKwkJ ICAgICAoY29uY2F0ICJ8IGEgfCBiIHxcbiIKKwkJCSAgICAgInwtLS0rLS0tfFxuIgorCQkJICAg ICAifCA8cG9pbnQ+YyB8IGQgfFxuIgorCQkJICAgICAifCBlIHwgZiB8XG4iKQorCQkgICAob3Jn LXRhYmxlLW1vdmUtc2luZ2xlLWNlbGwtdXApCisJCSAgIChidWZmZXItc3RyaW5nKSkpKQorICAo c2hvdWxkIChlcXVhbCAoY29uY2F0ICJ8IGEgfCBmIHxcbiIKKwkJCSAifC0tLSstLS18XG4iCisJ CQkgInwgYyB8IGIgfFxuIgorCQkJICJ8IGUgfCBkIHxcbiIpCisJCSAob3JnLXRlc3Qtd2l0aC10 ZW1wLXRleHQKKwkJICAgICAoY29uY2F0ICJ8IGEgfCBiIHxcbiIKKwkJCSAgICAgInwtLS0rLS0t fFxuIgorCQkJICAgICAifCBjIHwgZCB8XG4iCisJCQkgICAgICJ8IGUgfCA8cG9pbnQ+ZiB8XG4i KQorCQkgICAob3JnLXRhYmxlLW1vdmUtc2luZ2xlLWNlbGwtdXApCisJCSAgIChvcmctdGFibGUt bW92ZS1zaW5nbGUtY2VsbC11cCkKKwkJICAgKGJ1ZmZlci1zdHJpbmcpKSkpCisgIChzaG91bGQg KGVxdWFsIChjb25jYXQgInwgYSB8IGIgfFxuIgorCQkJICJ8LS0tKy0tLXxcbiIKKwkJCSAifCBj IHwgZiB8XG4iCisJCQkgInwgZSB8IGQgfFxuIikKKwkJIChvcmctdGVzdC13aXRoLXRlbXAtdGV4 dAorCQkgICAgIChjb25jYXQgInwgYSB8IGIgfFxuIgorCQkJICAgICAifC0tLSstLS18XG4iCisJ CQkgICAgICJ8IGMgfCBkIHxcbiIKKwkJCSAgICAgInwgZSB8IDxwb2ludD5mIHxcbiIpCisJCSAg IChvcmctdGFibGUtbW92ZS1zaW5nbGUtY2VsbC11cCkKKwkJICAgKGJ1ZmZlci1zdHJpbmcpKSkp CisKKyAgOzsgTW92ZSBzaW5nbGUgY2VsbCBldmVuIHdpdGhvdXQgYSBmaW5hbCBuZXdsaW5lLiBT ZWVtcyB0aGF0IHNvbWUKKyAgKHNob3VsZCAoZXF1YWwgKGNvbmNhdCAifCBhIHwgZiB8XG4iCisJ CQkgInwtLS0rLS0tfFxuIgorCQkJICJ8IGMgfCBiIHxcbiIKKwkJCSAifCBlIHwgZCB8XG4iKQor CQkgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0CisJCSAgICAgKGNvbmNhdCAifCBhIHwgYiB8XG4i CisJCQkgICAgICJ8LS0tKy0tLXxcbiIKKwkJCSAgICAgInwgYyB8IGQgfFxuIgorCQkJICAgICAi fCBlIHwgPHBvaW50PmYgfCIpCisJCSAgIChvcmctdGFibGUtbW92ZS1zaW5nbGUtY2VsbC11cCkK KwkJICAgKG9yZy10YWJsZS1tb3ZlLXNpbmdsZS1jZWxsLXVwKQorCQkgICAoYnVmZmVyLXN0cmlu ZykpKSkpCisoZXJ0LWRlZnRlc3QgdGVzdC1vcmctdGFibGUvbW92ZS1zaW5nbGUtY2VsbC1yaWdo dCAoKQorICAiVGVzdCBgb3JnLXRhYmxlLW1vdmUtc2luZ2xlLWNlbGwtcmlnaHQnIHNwZWNpZmlj YXRpb25zLiIKKyAgOzsgRXJyb3Igb3V0IHdoZW4gY2VsbCBjYW5ub3QgYmUgbW92ZWQgZHVlIHRv IG5vdCBpbiB0YWJsZSwKKyAgOzsgaW4gdGhlIGxhc3QgY29sIG9mIHRoZSB0YWJsZSwgb3IgaXMg b24gYSBobGluZQorICAoc2hvdWxkLWVycm9yCisgICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQg Im5vdCBpblxuYSB0YWJsZVxuIgorICAgICAob3JnLXRhYmxlLW1vdmUtc2luZ2xlLWNlbGwtcmln aHQpKSkKKyAgKHNob3VsZC1lcnJvcgorICAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0ICJ8IGEg fCIKKyAgICAgKG9yZy10YWJsZS1tb3ZlLXNpbmdsZS1jZWxsLXJpZ2h0KSkpCisgIChzaG91bGQt ZXJyb3IKKyAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAifCBhIHxcbiIKKyAgICAgKG9yZy10 YWJsZS1tb3ZlLXNpbmdsZS1jZWxsLXJpZ2h0KSkpCisgIChzaG91bGQtZXJyb3IKKyAgIChvcmct dGVzdC13aXRoLXRlbXAtdGV4dCAifCA8cG9pbnQ+YSB8XG58IGIgfFxuIgorICAgICAob3JnLXRh YmxlLW1vdmUtc2luZ2xlLWNlbGwtcmlnaHQpKSkKKyAgKHNob3VsZC1lcnJvcgorICAgKG9yZy10 ZXN0LXdpdGgtdGVtcC10ZXh0ICJ8IGEgfCA8cG9pbnQ+YiB8XG58IGMgfCBkIHxcbiIKKyAgICAg KG9yZy10YWJsZS1tb3ZlLXNpbmdsZS1jZWxsLXJpZ2h0KSkpCisgIChzaG91bGQtZXJyb3IKKyAg IChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAifCA8cG9pbnQ+YSB8XG58LS0tfFxuIgorICAgICAo b3JnLXRhYmxlLW1vdmUtc2luZ2xlLWNlbGwtcmlnaHQpKSkKKyAgKHNob3VsZC1lcnJvcgorICAg KG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0ICJ8PHBvaW50Pi0tLXxcbnwgYSB8XG4iCisgICAgIChv cmctdGFibGUtbW92ZS1zaW5nbGUtY2VsbC1yaWdodCkpKQorICA7OyBDaGVjayBmb3IgY29ycmVj dCBjZWxsIG1vdmVtZW50CisgIChzaG91bGQgKGVxdWFsIChjb25jYXQgInwgYiB8IGEgfCBjIHxc biIKKwkJCSAifCBkIHwgZSB8IGYgfFxuIikKKwkJIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dAor CQkgICAgIChjb25jYXQgInwgPHBvaW50PmEgfCBiIHwgYyB8XG4iCisJCQkgICAgICJ8IGQgfCBl IHwgZiB8XG4iKQorCQkgICAob3JnLXRhYmxlLW1vdmUtc2luZ2xlLWNlbGwtcmlnaHQpCisJCSAg IChidWZmZXItc3RyaW5nKSkpKQorICAoc2hvdWxkIChlcXVhbCAoY29uY2F0ICJ8IGIgfCBjIHwg YSB8XG4iCisJCQkgInwgZCB8IGUgfCBmIHxcbiIpCisJCSAob3JnLXRlc3Qtd2l0aC10ZW1wLXRl eHQKKwkJICAgICAoY29uY2F0ICJ8IDxwb2ludD5hIHwgYiB8IGMgfFxuIgorCQkJICAgICAifCBk IHwgZSB8IGYgfFxuIikKKwkJICAgKG9yZy10YWJsZS1tb3ZlLXNpbmdsZS1jZWxsLXJpZ2h0KQor CQkgICAob3JnLXRhYmxlLW1vdmUtc2luZ2xlLWNlbGwtcmlnaHQpCisJCSAgIChidWZmZXItc3Ry aW5nKSkpKQorICAoc2hvdWxkIChlcXVhbCAoY29uY2F0ICJ8IGEgfCBiIHwgYyB8XG4iCisJCQkg InwgZSB8IGYgfCBkIHxcbiIpCisJCSAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQKKwkJICAgICAo Y29uY2F0ICJ8IGEgfCBiIHwgYyB8XG4iCisJCQkgICAgICJ8IDxwb2ludD4gZCB8IGUgfCBmIHxc biIpCisJCSAgIChvcmctdGFibGUtbW92ZS1zaW5nbGUtY2VsbC1yaWdodCkKKwkJICAgKG9yZy10 YWJsZS1tb3ZlLXNpbmdsZS1jZWxsLXJpZ2h0KQorCQkgICAoYnVmZmVyLXN0cmluZykpKSkKKyAg KHNob3VsZCAoZXF1YWwgKGNvbmNhdCAifCBhIHwgYiB8IGMgfFxuIgorCQkJICJ8IGQgfCBmIHwg ZSB8XG4iKQorCQkgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0CisJCSAgICAgKGNvbmNhdCAifCBh IHwgYiB8IGMgfFxuIgorCQkJICAgICAifCBkIHwgPHBvaW50PmUgfCBmIHxcbiIpCisJCSAgIChv cmctdGFibGUtbW92ZS1zaW5nbGUtY2VsbC1yaWdodCkKKwkJICAgKGJ1ZmZlci1zdHJpbmcpKSkp CisgIChzaG91bGQgKGVxdWFsIChjb25jYXQgInwgYSB8IGIgfCBjIHxcbiIKKwkJCSAifC0tLSst LS0rLS0tfFxuIgorCQkJICJ8IGUgfCBmIHwgZCB8XG4iKQorCQkgKG9yZy10ZXN0LXdpdGgtdGVt cC10ZXh0CisJCSAgICAgKGNvbmNhdCAifCBhIHwgYiB8IGMgfFxuIgorCQkJICAgICAifC0tLSst LS0rLS0tfFxuIgorCQkJICAgICAifCA8cG9pbnQ+ZCB8IGUgfCBmIHxcbiIpCisJCSAgIChvcmct dGFibGUtbW92ZS1zaW5nbGUtY2VsbC1yaWdodCkKKwkJICAgKG9yZy10YWJsZS1tb3ZlLXNpbmds ZS1jZWxsLXJpZ2h0KQorCQkgICAoYnVmZmVyLXN0cmluZykpKSkKKyAgOzsgTW92ZSBzaW5nbGUg Y2VsbCBldmVuIHdpdGhvdXQgYSBmaW5hbCBuZXdsaW5lLiBTZWVtcyB0aGF0IHNvbWUKKyAgKHNo b3VsZCAoZXF1YWwgKGNvbmNhdCAifCBhIHwgYiB8IGMgfFxuIgorCQkJICJ8LS0tKy0tLSstLS18 XG4iCisJCQkgInwgZSB8IGQgfCBmIHxcbiIpCisJCSAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQK KwkJICAgICAoY29uY2F0ICJ8IGEgfCBiIHwgYyB8XG4iCisJCQkgICAgICJ8LS0tKy0tLSstLS18 XG4iCisJCQkgICAgICJ8IDxwb2ludD5kIHwgZSB8IGYgfCIpCisJCSAgIChvcmctdGFibGUtbW92 ZS1zaW5nbGUtY2VsbC1yaWdodCkKKwkJICAgKGJ1ZmZlci1zdHJpbmcpKSkpKQorKGVydC1kZWZ0 ZXN0IHRlc3Qtb3JnLXRhYmxlL21vdmUtc2luZ2xlLWNlbGwtbGVmdCAoKQorICAiVGVzdCBgb3Jn LXRhYmxlLW1vdmUtc2luZ2xlLWNlbGwtbGVmdCcgc3BlY2lmaWNhdGlvbnMuIgorICA7OyBFcnJv ciBvdXQgd2hlbiBjZWxsIGNhbm5vdCBiZSBtb3ZlZCBkdWUgdG8gbm90IGluIHRhYmxlLAorICA7 OyBpbiB0aGUgbGFzdCBjb2wgb2YgdGhlIHRhYmxlLCBvciBpcyBvbiBhIGhsaW5lCisgIChzaG91 bGQtZXJyb3IKKyAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAibm90IGluXG5hIHRhYmxlXG4i CisgICAgIChvcmctdGFibGUtbW92ZS1zaW5nbGUtY2VsbC1sZWZ0KSkpCisgIChzaG91bGQtZXJy b3IKKyAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAifCBhIHwiCisgICAgIChvcmctdGFibGUt bW92ZS1zaW5nbGUtY2VsbC1sZWZ0KSkpCisgIChzaG91bGQtZXJyb3IKKyAgIChvcmctdGVzdC13 aXRoLXRlbXAtdGV4dCAifCBhIHxcbiIKKyAgICAgKG9yZy10YWJsZS1tb3ZlLXNpbmdsZS1jZWxs LWxlZnQpKSkKKyAgKHNob3VsZC1lcnJvcgorICAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0ICJ8 IDxwb2ludD5hIHxcbnwgYiB8XG4iCisgICAgIChvcmctdGFibGUtbW92ZS1zaW5nbGUtY2VsbC1s ZWZ0KSkpCisgIChzaG91bGQtZXJyb3IKKyAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAifCA8 cG9pbnQ+YSB8IGIgfFxufCBjIHwgZCB8XG4iCisgICAgIChvcmctdGFibGUtbW92ZS1zaW5nbGUt Y2VsbC1sZWZ0KSkpCisgIChzaG91bGQtZXJyb3IKKyAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4 dCAifCA8cG9pbnQ+YSB8XG58LS0tfFxuIgorICAgICAob3JnLXRhYmxlLW1vdmUtc2luZ2xlLWNl bGwtbGVmdCkpKQorICAoc2hvdWxkLWVycm9yCisgICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQg Inw8cG9pbnQ+LS0tfFxufCBhIHxcbiIKKyAgICAgKG9yZy10YWJsZS1tb3ZlLXNpbmdsZS1jZWxs LWxlZnQpKSkKKyAgOzsgQ2hlY2sgZm9yIGNvcnJlY3QgY2VsbCBtb3ZlbWVudAorICAoc2hvdWxk IChlcXVhbCAoY29uY2F0ICJ8IGIgfCBhIHwgYyB8XG4iCisJCQkgInwgZCB8IGUgfCBmIHxcbiIp CisJCSAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQKKwkJICAgICAoY29uY2F0ICJ8IGEgfCA8cG9p bnQ+YiB8IGMgfFxuIgorCQkJICAgICAifCBkIHwgZSB8IGYgfFxuIikKKwkJICAgKG9yZy10YWJs ZS1tb3ZlLXNpbmdsZS1jZWxsLWxlZnQpCisJCSAgIChidWZmZXItc3RyaW5nKSkpKQorICAoc2hv dWxkIChlcXVhbCAoY29uY2F0ICJ8IGMgfCBhIHwgYiB8XG4iCisJCQkgInwgZCB8IGUgfCBmIHxc biIpCisJCSAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQKKwkJICAgICAoY29uY2F0ICJ8IGEgfCBi IHwgPHBvaW50PmMgfFxuIgorCQkJICAgICAifCBkIHwgZSB8IGYgfFxuIikKKwkJICAgKG9yZy10 YWJsZS1tb3ZlLXNpbmdsZS1jZWxsLWxlZnQpCisJCSAgIChvcmctdGFibGUtbW92ZS1zaW5nbGUt Y2VsbC1sZWZ0KQorCQkgICAoYnVmZmVyLXN0cmluZykpKSkKKyAgKHNob3VsZCAoZXF1YWwgKGNv bmNhdCAifCBhIHwgYiB8IGMgfFxuIgorCQkJICJ8IGYgfCBkIHwgZSB8XG4iKQorCQkgKG9yZy10 ZXN0LXdpdGgtdGVtcC10ZXh0CisJCSAgICAgKGNvbmNhdCAifCBhIHwgYiB8IGMgfFxuIgorCQkJ ICAgICAifCBkIHwgZSB8IDxwb2ludD5mIHxcbiIpCisJCSAgIChvcmctdGFibGUtbW92ZS1zaW5n bGUtY2VsbC1sZWZ0KQorCQkgICAob3JnLXRhYmxlLW1vdmUtc2luZ2xlLWNlbGwtbGVmdCkKKwkJ ICAgKGJ1ZmZlci1zdHJpbmcpKSkpCisgIChzaG91bGQgKGVxdWFsIChjb25jYXQgInwgYSB8IGIg fCBjIHxcbiIKKwkJCSAifCBkIHwgZiB8IGUgfFxuIikKKwkJIChvcmctdGVzdC13aXRoLXRlbXAt dGV4dAorCQkgICAgIChjb25jYXQgInwgYSB8IGIgfCBjIHxcbiIKKwkJCSAgICAgInwgZCB8IGUg fCA8cG9pbnQ+ZiB8XG4iKQorCQkgICAob3JnLXRhYmxlLW1vdmUtc2luZ2xlLWNlbGwtbGVmdCkK KwkJICAgKGJ1ZmZlci1zdHJpbmcpKSkpCisgIChzaG91bGQgKGVxdWFsIChjb25jYXQgInwgYSB8 IGIgfCBjIHxcbiIKKwkJCSAifC0tLSstLS0rLS0tfFxuIgorCQkJICJ8IGYgfCBkIHwgZSB8XG4i KQorCQkgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0CisJCSAgICAgKGNvbmNhdCAifCBhIHwgYiB8 IGMgfFxuIgorCQkJICAgICAifC0tLSstLS0rLS0tfFxuIgorCQkJICAgICAifCBkIHwgZSB8IDxw b2ludD5mIHxcbiIpCisJCSAgIChvcmctdGFibGUtbW92ZS1zaW5nbGUtY2VsbC1sZWZ0KQorCQkg ICAob3JnLXRhYmxlLW1vdmUtc2luZ2xlLWNlbGwtbGVmdCkKKwkJICAgKGJ1ZmZlci1zdHJpbmcp KSkpCisgIDs7IE1vdmUgc2luZ2xlIGNlbGwgZXZlbiB3aXRob3V0IGEgZmluYWwgbmV3bGluZS4g U2VlbXMgdGhhdCBzb21lCisgIChzaG91bGQgKGVxdWFsIChjb25jYXQgInwgYSB8IGIgfCBjIHxc biIKKwkJCSAifC0tLSstLS0rLS0tfFxuIgorCQkJICJ8IGUgfCBkIHwgZiB8XG4iKQorCQkgKG9y Zy10ZXN0LXdpdGgtdGVtcC10ZXh0CisJCSAgICAgKGNvbmNhdCAifCBhIHwgYiB8IGMgfFxuIgor CQkJICAgICAifC0tLSstLS0rLS0tfFxuIgorCQkJICAgICAifCBkIHwgPHBvaW50PmUgfCBmIHwi KQorCQkgICAob3JnLXRhYmxlLW1vdmUtc2luZ2xlLWNlbGwtbGVmdCkKKwkJICAgKGJ1ZmZlci1z dHJpbmcpKSkpCisgICkKKworDAogOzs7IE1vdmluZyByb3dzLCBtb3ZpbmcgY29sdW1ucwogCiAo ZXJ0LWRlZnRlc3QgdGVzdC1vcmctdGFibGUvbW92ZS1yb3ctZG93biAoKQotLSAKMi4xMi4yCgo= --001a1142b97ad8468305556c0081--