From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id MAW9MLxpqmE2RgEAgWs5BA (envelope-from ) for ; Fri, 03 Dec 2021 20:02:20 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id YJZ9LLxpqmHePwAA1q6Kng (envelope-from ) for ; Fri, 03 Dec 2021 19:02:20 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id DE9A2CC8A for ; Fri, 3 Dec 2021 20:02:19 +0100 (CET) Received: from localhost ([::1]:59528 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mtDp4-00047m-B8 for larch@yhetil.org; Fri, 03 Dec 2021 14:02:18 -0500 Received: from eggs.gnu.org ([209.51.188.92]:37016) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mtDo0-00047Y-Ip for emacs-orgmode@gnu.org; Fri, 03 Dec 2021 14:01:12 -0500 Received: from mout02.posteo.de ([185.67.36.66]:60187) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mtDnx-0008Hc-9x for emacs-orgmode@gnu.org; Fri, 03 Dec 2021 14:01:12 -0500 Received: from submission (posteo.de [89.146.220.130]) by mout02.posteo.de (Postfix) with ESMTPS id A439E240105 for ; Fri, 3 Dec 2021 20:01:05 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.eu; s=2017; t=1638558065; bh=aDltzTkrdkfR2hMVRvcUlBibsxnZR+I0VGdnUdHf9Qs=; h=Date:To:From:Subject:From; b=knIZBaU6KU5uawoVwSvu/BncmLjj8Yj+rVBquLhMGsl7+vWdLeJjopK9Z2sLMS2un iK9TEBCOE3zcjLK3/FfZxUCOfP0aZjg7Zng8AEw5iI2mY9I50dr1TIODXcWFRh69Wd wbPfCqTZWQXqYGq7oeMqj44QW6hhnEMzyzdAFkQ1tR6GnnWnCVma755SbBnUHXxv/z OSz/V85iCkfCtkn7MN+/E+hzB3f3Ya3Kdct8jsA3Q6l0z9wAIzqgaf/LznIdeRXf9T ukcptvhCgFhnMpxrgeyO8BdQtOyiwLWQOdHTYvoLmT46vCdAHjguDQ+ovfqiDn45Ra C4w9hX7FaH8pw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4J5Mc10kcyz9rxN for ; Fri, 3 Dec 2021 20:01:04 +0100 (CET) Content-Type: multipart/mixed; boundary="------------ciIfR0GHZ6YpdqCVd728xAxx" Message-ID: <5a675071-292a-1f10-9791-5085a6d8bef8@posteo.eu> Date: Fri, 3 Dec 2021 19:01:04 +0000 MIME-Version: 1.0 Content-Language: fr To: emacs-orgmode From: =?UTF-8?Q?S=c3=a9bastien_Miquel?= Subject: [PATCH] org-src.el: add option `org-src-native-defun-movements' Received-SPF: pass client-ip=185.67.36.66; envelope-from=sebastien.miquel@posteo.eu; helo=mout02.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sebastien.miquel@posteo.eu Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1638558140; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=PRwvJEItl8vFg4wzb48n8jGiFndL12+v0Q7wKPAuuB8=; b=J/1JRIajy4kAhUJAgfgX2pk95npbTT044wxPdJa1SgiKKqT9gX/8VnMLEulBmUAYQczrIX /BKffU6MtEildk17D/hVTvC6zFARU9W6OGn6ts+bfwq5ajnSFOzGSn3dgv50VxXiUmx8UG ioT5aiSvdL16uC5BKAQD7wcbIBOphjgYAy7pRaFNL8TthfE46HqFCaW86LhzXXLbmwtbNT PNjwz+QGjSVznx2p94kKocIeifkNWsdMDnMgjfZAdbBWq9BQYrYDhIDQwi/jlWtZqOodnr gmXE+SA3AtYSd33fhEbX4rvbdDjoTzsSPi9c9Q1JvVKKUH+fWiryrgIt9B6XwQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1638558140; a=rsa-sha256; cv=none; b=SXZDKcXOuentTo9sj4vrNq4uww6fBrmpcWoXivaeZ+uSAcP7J04lg4Z8qt6jY1MXAhmWFC sgUVSgF1wktiKRwsx/fd0u1z5VtdZgUmuZC+pzbmJx+rE840LF0dUjCxhU0jRBy2zHE0pI LAWLWNfj1xgMERmtWBRrqGBJV5PIyXU8tIoKnw7WBtxKCHHj7lfB2wwhKo3v0Reo6Pzla8 fB30engcR03Qty2aISKoEE4dv7Dxm9T1M0Jj6IBt019ThOcnGfquLn6UvhFbNx3cZlqBYB LkmlzlhH17gjP5Y4oh1OYjzPCzKweUM25eG+sQVVC/1SWou18GuVN5ih84G0GA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=posteo.eu header.s=2017 header.b=knIZBaU6; dmarc=pass (policy=none) header.from=posteo.eu; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -3.23 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=posteo.eu header.s=2017 header.b=knIZBaU6; dmarc=pass (policy=none) header.from=posteo.eu; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: DE9A2CC8A X-Spam-Score: -3.23 X-Migadu-Scanner: scn0.migadu.com X-TUID: bVHcZUXgE+In This is a multi-part message in MIME format. --------------ciIfR0GHZ6YpdqCVd728xAxx Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi, The attached patch adds a new option ~org-src-native-defun-movements~ that makes ~beginning-of-defun~, ~end-of-defun~ and ~eval-defun~ work natively when called from inside an org src block : those functions are called from an org src edit buffer, in the appropriate language mode. Without this patch, calling =eval-defun= on elisp code fails. With this option set to t by default, this is a breaking change. To get to the beginning/end of a src block you'd have to call ~org-backward-element~ or ~org-forward-element~ directly, instead of ~beginning-of-defun~. Or you could disable the new behaviour by setting ~org-src-native-defun-movements~ to nil. Regards, -- Sébastien Miquel --------------ciIfR0GHZ6YpdqCVd728xAxx Content-Type: text/x-patch; charset=UTF-8; name="0001-org-src.el-add-option-org-src-native-defun-movements.patch" Content-Disposition: attachment; filename*0="0001-org-src.el-add-option-org-src-native-defun-movements.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA1MTY3NWQ4YmJlYTU0ZGI3ZGFmM2RjYzg4YTc3Y2NhZDUxNzQ4NTRmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Uz1DMz1BOWJhc3RpZW49MjBNaXF1 ZWw/PSA8c2ViYXN0aWVuLm1pcXVlbEBwb3N0ZW8uZXU+CkRhdGU6IEZyaSwgMjcgQXVnIDIw MjEgMjE6NDE6MjkgKzAyMDAKU3ViamVjdDogW1BBVENIXSBvcmctc3JjLmVsOiBhZGQgb3B0 aW9uIGBvcmctc3JjLW5hdGl2ZS1kZWZ1bi1tb3ZlbWVudHMnCgoqIGxpc3Avb3JnLXNyYy5l bCAob3JnLXNyYy1uYXRpdmUtZGVmdW4tbW92ZW1lbnRzKTogTmV3IG9wdGlvbi4gSWYgdCwK YGJlZ2lubmluZy1vZi1kZWZ1bicsIGBlbmQtb2YtZGVmdW4nIGFuZCBgZXZhbC1kZWZ1bicg YWN0IG5hdGl2ZWx5CndoZW4gY2FsbGVkIGZyb20gaW5zaWRlIGEgc3JjIGJsb2NrLgoob3Jn LWJlZ2lubmluZy1vZi1kZWZ1bik6CihvcmctZW5kLW9mLWRlZnVuKTogTmV3IGZ1bmN0aW9u cy4gIElmCmBvcmctc3JjLW5hdGl2ZS1kZWZ1bi1tb3ZlbWVudHMnIGlzIHQgYW5kIHBvaW50 IGlzIGluIGEgc3JjIGJsb2NrLApjYWxsIGBiZWdpbm5pbmctb2YtZGVmdW4nIG9yIGBlbmQt b2YtZGVmdW4nIGZyb20gdGhlIHNyYyBlZGl0IGJ1ZmZlci4KClRoZSBtYWluIGdvYWwgaXMg dG8gbWFrZSBgZXZhbC1kZWZ1bicgd29yayBmcm9tIHRoZSBvcmcgYnVmZmVyLiBGb3IKdGhp cyB0byB3b3JrLCBpZiBwb2ludCBpcyBhdCB0aGUgYmVnaW5uaW5nIG9mIGFuICMrZW5kX3Ny YyBsaW5lLApgb3JnLWJlZ2lubmluZy1vZi1kZWZ1bicgaGFzIHRvIHdvcmsgbmF0aXZlbHku ICBUbyBnZXQgdG8gdGhlCmJlZ2lubmluZyBvZiB0aGUgc3JjIGJsb2NrLCBjYWxsIGBvcmct YmFja3dhcmQtZWxlbWVudGAgaW5zdGVhZC4KLS0tCiBldGMvT1JHLU5FV1MgICAgfCAyMCAr KysrKysrKysrKysrKysrKysKIGxpc3Avb3JnLXNyYy5lbCB8ICA3ICsrKysrKysKIGxpc3Av b3JnLmVsICAgICB8IDU0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgNzQgaW5zZXJ0aW9ucygrKSwgNyBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9ldGMvT1JHLU5FV1MgYi9ldGMvT1JHLU5FV1MKaW5k ZXggZWI1YTVkNDBkLi4zNzk4NzBkNDQgMTAwNjQ0Ci0tLSBhL2V0Yy9PUkctTkVXUworKysg Yi9ldGMvT1JHLU5FV1MKQEAgLTYwLDYgKzYwLDI2IEBAIGxpc3Qgb2YgdmFyaW91cyB0YWJs ZSBvcHRpb25zIChiZXR3ZWVuIGJyYWNrZXRzIGluIExhVGVYIGV4cG9ydCksCiBzaW5jZSBj ZXJ0YWluIHRhYnVsYXIgZW52aXJvbm1lbnRzLCBzdWNoIGFzIGxvbmd0YmxyIG9mIHRoZQog dGFidWxhcnJheSBMYVRlWCBwYWNrYWdlLCBwcm92aWRlcyB0aGlzIHN0cnVjdHVyZS4KIAor KioqIH5iZWdpbm5pbmctb2YtZGVmdW5+IGFuZCB+ZXZhbC1kZWZ1bn4gbm93IHdvcmsgbmF0 aXZlbHkgaW4gc3JjIGJsb2NrcworCitUbyBnZXQgdG8gdGhlIGJlZ2lubmluZyBvciBlbmQg b2YgYSBzcmMgYmxvY2ssIHVzZQorfm9yZy1iYWNrd2FyZC1lbGVtZW50fiBhbmQgfm9yZy1m b3J3YXJkLWVsZW1lbnR+IGluc3RlYWQsIG9yIGRpc2FibGUKK3RoaXMgbmV3IGJlaGF2aW91 ciBieSBzZXR0aW5nIH5vcmctc3JjLW5hdGl2ZS1kZWZ1bi1tb3ZlbWVudHN+IHRvIG5pbC4K KworKiogTmV3IG9wdGlvbnMKKworKioqIE5ldyBvcHRpb24gPW9yZy1zcmMtbmF0aXZlLWRl ZnVuLW1vdmVtZW50cz0KKworVGhpcyBvcHRpb24sIHQgYnkgZGVmYXVsdCwgbWFrZXMgfmJl Z2lubmluZy1vZi1kZWZ1bn4sIH5lbmQtb2YtZGVmdW5+CithbmQgfmV2YWwtZGVmdW5+IHdv cmsgbmF0aXZlbHkgaW5zaWRlIHNyYyBibG9ja3MgOiB0aGUgY29ycmVzcG9uZGluZworZnVu Y3Rpb24gaXMgY2FsbGVkIGZyb20gYW4gb3JnIHNyYyBibG9jayBlZGl0IGJ1ZmZlciBpbiB0 aGUgbGFuZ3VhZ2UKK3NwZWNpZmljIG1vZGUuCisKK0ZvciB+ZXZhbC1kZWZ1bn4gdG8gd29y ayBuYXRpdmVseSBmcm9tIHRoZSBvcmcgYnVmZmVyLCBpZiBwb2ludCBpcyBhdAordGhlIGJl Z2lubmluZyBvZiBhbiAjK2VuZF9zcmMgbGluZSwgYG9yZy1iZWdpbm5pbmctb2YtZGVmdW5g IHdpbGwgd29yaworbmF0aXZlbHkgYXMgd2VsbC4gIFRvIGdldCB0byB0aGUgYmVnaW5uaW5n IG9mIHRoZSBzcmMgYmxvY2ssIGNhbGwKK2BvcmctYmFja3dhcmQtZWxlbWVudGAgaW5zdGVh ZC4KKwogKiogTmV3IGZ1bmN0aW9ucyBhbmQgY2hhbmdlcyBpbiBmdW5jdGlvbiBhcmd1bWVu dHMKIAogKioqIE5ldyBmdW5jdGlvbiB+b3JnLWVsZW1lbnQtY2FjaGUtbWFwfiBmb3IgcXVp Y2sgbWFwcGluZyBhY3Jvc3MgT3JnIGVsZW1lbnRzCmRpZmYgLS1naXQgYS9saXNwL29yZy1z cmMuZWwgYi9saXNwL29yZy1zcmMuZWwKaW5kZXggNDZmZWQwNTJkLi44ZmVjZWQwODAgMTAw NjQ0Ci0tLSBhL2xpc3Avb3JnLXNyYy5lbAorKysgYi9saXNwL29yZy1zcmMuZWwKQEAgLTI0 Niw2ICsyNDYsMTMgQEAgZ3JlZW4sIHJlc3BlY3RhYmlsaXR5LgogICA6cGFja2FnZS12ZXJz aW9uICcoT3JnIC4gIjkuNCIpCiAgIDpncm91cCAnb3JnLWJhYmVsKQogCisoZGVmY3VzdG9t IG9yZy1zcmMtbmF0aXZlLWRlZnVuLW1vdmVtZW50cyB0CisgICJJZiBub24tbmlsLCB0aGUg ZWZmZWN0IG9mIGBiZWdpbm5pbmctb2YtZGVmdW4nIGFuZAorYGVuZC1vZi1kZWZ1bicgaW4g YSBjb2RlIGJsb2NrIGlzIGFzIGlmIHRoZXkgd2VyZSBpc3N1ZWQgaW4gdGhlCitsYW5ndWFn ZSBtYWpvciBtb2RlIGJ1ZmZlci4iCisgIDp0eXBlICdib29sZWFuCisgIDpwYWNrYWdlLXZl cnNpb24gJyhPcmcgLiAiOS42IikKKyAgOmdyb3VwICdvcmctYmFiZWwpCiAKIAwKIDs7OyBJ bnRlcm5hbCBmdW5jdGlvbnMgYW5kIHZhcmlhYmxlcwpkaWZmIC0tZ2l0IGEvbGlzcC9vcmcu ZWwgYi9saXNwL29yZy5lbAppbmRleCBlYzU5ZGRmNDQuLjFmZjBkNmY4NyAxMDA2NDQKLS0t IGEvbGlzcC9vcmcuZWwKKysrIGIvbGlzcC9vcmcuZWwKQEAgLTQ4OTIsMTMgKzQ4OTIsOCBA QCBUaGUgZm9sbG93aW5nIGNvbW1hbmRzIGFyZSBhdmFpbGFibGU6CiAgICAgICAgICAgICAg b3JnLWVsZW1lbnQtdXNlLWNhY2hlKQogICAgIChvcmctcGVyc2lzdC1yZWFkICdvcmctZWxl bWVudC0tY2FjaGUgKGN1cnJlbnQtYnVmZmVyKSkpCiAgIDs7IEJlZ2lubmluZy9lbmQgb2Yg ZGVmdW4KLSAgKHNldHEtbG9jYWwgYmVnaW5uaW5nLW9mLWRlZnVuLWZ1bmN0aW9uICdvcmct YmFja3dhcmQtZWxlbWVudCkKLSAgKHNldHEtbG9jYWwgZW5kLW9mLWRlZnVuLWZ1bmN0aW9u Ci0JICAgICAgKGxhbWJkYSAoKQotCQkoaWYgKG5vdCAob3JnLWF0LWhlYWRpbmctcCkpCi0J CSAgICAob3JnLWZvcndhcmQtZWxlbWVudCkKLQkJICAob3JnLWZvcndhcmQtZWxlbWVudCkK LQkJICAoZm9yd2FyZC1jaGFyIC0xKSkpKQorICAoc2V0cS1sb2NhbCBiZWdpbm5pbmctb2Yt ZGVmdW4tZnVuY3Rpb24gJ29yZy1iZWdpbm5pbmctb2YtZGVmdW4pCisgIChzZXRxLWxvY2Fs IGVuZC1vZi1kZWZ1bi1mdW5jdGlvbiAnb3JnLWVuZC1vZi1kZWZ1bikKICAgOzsgTmV4dCBl cnJvciBmb3Igc3BhcnNlIHRyZWVzCiAgIChzZXRxLWxvY2FsIG5leHQtZXJyb3ItZnVuY3Rp b24gJ29yZy1vY2N1ci1uZXh0LW1hdGNoKQogICA7OyBNYWtlIGNvbW1pdCBsb2cgbWVzc2Fn ZXMgZnJvbSBPcmcgZG9jdW1lbnRzIGVhc2llci4KQEAgLTIxNTI1LDYgKzIxNTIwLDUxIEBA IE1vdmUgdG8gdGhlIHByZXZpb3VzIGVsZW1lbnQgYXQgdGhlIHNhbWUgbGV2ZWwsIHdoZW4g cG9zc2libGUuIgogCQkJICAgICAgICg8PSAob3JnLWVsZW1lbnQtcHJvcGVydHkgOmVuZCBw cmV2KSBiZWcpKQogCQkgICAgIChnb3RvLWNoYXIgKG9yZy1lbGVtZW50LXByb3BlcnR5IDpi ZWdpbiBwcmV2KSkpKSkpKSkpKSkKIAorKGRlZnVuIG9yZy1iZWdpbm5pbmctb2YtZGVmdW4g KCkKKyAgIklmIHBvaW50IGlzIGluIGEgc3JjIGJsb2NrIGFuZCBgb3JnLXNyYy1uYXRpdmUt ZGVmdW4tbW92ZW1lbnRzJworaXMgbm9uLW5pbCwgY2FsbCBgYmVnaW5uaW5nLW9mLWRlZnVu JyBpbiB0aGUgc3JjIGJsb2NrIGVkaXQKK2J1ZmZlciwgb3RoZXJ3aXNlIGNhbGwgYG9yZy1i YWNrd2FyZC1lbGVtZW50Jy4iCisgIChpbnRlcmFjdGl2ZSkKKyAgKGlmIChhbmQgb3JnLXNy Yy1uYXRpdmUtZGVmdW4tbW92ZW1lbnRzCisgICAgICAgICAgIChsZXQqICgoZWxlbWVudCAo c2F2ZS1leGN1cnNpb24gKGJlZ2lubmluZy1vZi1saW5lKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChvcmctZWxlbWVudC1hdC1wb2ludCkpKQorCSAg ICAgICAgICAodHlwZSAob3JnLWVsZW1lbnQtdHlwZSBlbGVtZW50KSkpCisgICAgICAgICAg ICAgKGFuZCAoZXEgdHlwZSAnc3JjLWJsb2NrKQorCSAgICAgICAgICAoPiAobGluZS1iZWdp bm5pbmctcG9zaXRpb24pCisJCSAgICAgKG9yZy1lbGVtZW50LXByb3BlcnR5IDpwb3N0LWFm ZmlsaWF0ZWQgZWxlbWVudCkpCisJICAgICAgICAgIDs7IElmIHBvaW50IGlzIGF0IHRoZSBi ZWdpbm5pbmcgb2YgdGhlICMrZW5kX3NyYworICAgICAgICAgICAgICAgICAgOzsgbGluZSwg d2Ugc3RpbGwgYWN0IG5hdGl2ZWx5LiAgT3RoZXJ3aXNlCisgICAgICAgICAgICAgICAgICA7 OyBgZXZhbC1kZWZ1bicgd29udCB3b3JrLCBiZWNhdXNlIGBlbmQtb2YtZGVmdW4nCisgICAg ICAgICAgICAgICAgICA7OyBnZXRzIHlvdSB0aGVyZS4KKwkgICAgICAgICAgKDw9IChwb2lu dCkKKwkJICAgICAgKG9yZy13aXRoLXBvaW50LWF0IChvcmctZWxlbWVudC1wcm9wZXJ0eSA6 ZW5kIGVsZW1lbnQpCisJCSAgICAgICAgKHNraXAtY2hhcnMtYmFja3dhcmQgIiBcdFxuIikK KwkJICAgICAgICAobGluZS1iZWdpbm5pbmctcG9zaXRpb24pKSkpKSkKKyAgICAgIChvcmct YmFiZWwtZG8taW4tZWRpdC1idWZmZXIgKGJlZ2lubmluZy1vZi1kZWZ1bikpCisgICAgKG9y Zy1iYWNrd2FyZC1lbGVtZW50KSkpCisKKyhkZWZ1biBvcmctZW5kLW9mLWRlZnVuICgpCisg ICJJZiBwb2ludCBpcyBpbiBhIHNyYyBibG9jayBhbmQgYG9yZy1zcmMtbmF0aXZlLWRlZnVu LW1vdmVtZW50cycKK2lzIG5vbi1uaWwsIGNhbGwgYGVuZC1vZi1kZWZ1bicgaW4gdGhlIHNy YyBibG9jayBlZGl0CitidWZmZXIsIG90aGVyd2lzZSBjYWxsIGBvcmctZm9yd2FyZC1lbGVt ZW50Jy4iCisgIChpZiAoYW5kIG9yZy1zcmMtbmF0aXZlLWRlZnVuLW1vdmVtZW50cworICAg ICAgICAgICAobGV0KiAoKGVsZW1lbnQgKHNhdmUtZXhjdXJzaW9uIChiZWdpbm5pbmctb2Yt bGluZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob3Jn LWVsZW1lbnQtYXQtcG9pbnQpKSkKKwkgICAgICAgICAgKHR5cGUgKG9yZy1lbGVtZW50LXR5 cGUgZWxlbWVudCkpKQorICAgICAgICAgICAgIChhbmQgKGVxIHR5cGUgJ3NyYy1ibG9jaykK KwkgICAgICAgICAgKD4gKGxpbmUtYmVnaW5uaW5nLXBvc2l0aW9uKQorCQkgICAgIChvcmct ZWxlbWVudC1wcm9wZXJ0eSA6cG9zdC1hZmZpbGlhdGVkIGVsZW1lbnQpKQorCSAgICAgICAg ICAoPCAobGluZS1iZWdpbm5pbmctcG9zaXRpb24pCisJCSAgICAgKG9yZy13aXRoLXBvaW50 LWF0IChvcmctZWxlbWVudC1wcm9wZXJ0eSA6ZW5kIGVsZW1lbnQpCisJCSAgICAgICAoc2tp cC1jaGFycy1iYWNrd2FyZCAiIFx0XG4iKQorCQkgICAgICAgKGxpbmUtYmVnaW5uaW5nLXBv c2l0aW9uKSkpKSkpCisgICAgICAocHJvZ24KKyAgICAgICAgKG9yZy1iYWJlbC1kby1pbi1l ZGl0LWJ1ZmZlciAoZW5kLW9mLWRlZnVuKSkpCisgICAgKGlmIChub3QgKG9yZy1hdC1oZWFk aW5nLXApKQorCShvcmctZm9yd2FyZC1lbGVtZW50KQorICAgICAgKG9yZy1mb3J3YXJkLWVs ZW1lbnQpCisgICAgICAoZm9yd2FyZC1jaGFyIC0xKSkpKQorCiAoZGVmdW4gb3JnLXVwLWVs ZW1lbnQgKCkKICAgIk1vdmUgdG8gdXBwZXIgZWxlbWVudC4iCiAgIChpbnRlcmFjdGl2ZSkK LS0gCjIuMzQuMQoK --------------ciIfR0GHZ6YpdqCVd728xAxx--