Received: (at 68765) by debbugs.gnu.org; 10 Feb 2024 17:36:56 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Feb 10 12:36:56 2024 Received: from localhost ([127.0.0.1]:56962 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rYrHb-0002xE-Fq for submit <at> debbugs.gnu.org; Sat, 10 Feb 2024 12:36:56 -0500 Received: from relay5-d.mail.gandi.net ([2001:4b98:dc4:8::225]:51751) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1rYrHZ-0002wr-Sx for 68765 <at> debbugs.gnu.org; Sat, 10 Feb 2024 12:36:54 -0500 Received: by mail.gandi.net (Postfix) with ESMTPSA id 20AA71C0005; Sat, 10 Feb 2024 17:36:30 +0000 (UTC) From: Juri Linkov <juri@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#68765: 30.0.50; Adding window-tool-bar package. In-Reply-To: <86fry0vihy.fsf@HIDDEN> (Eli Zaretskii's message of "Sat, 10 Feb 2024 10:19:37 +0200") Organization: LINKOV.NET References: <07df5e8408054bcae5968066b0cebf34@HIDDEN> <86fry0vihy.fsf@HIDDEN> Date: Sat, 10 Feb 2024 19:25:58 +0200 Message-ID: <86fry08di9.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-Sasl: juri@HIDDEN X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68765 Cc: Philip Kaludercic <philipk@HIDDEN>, Jared Finder <jared@HIDDEN>, Stefan Monnier <monnier@HIDDEN>, 68765 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) >> * lisp/tab-line.el (tab-line-format-template): Add separator space. >> (tab-line-display-order): New user variable to control display order. >> (tab-line--runtime-display-order, tab-line--cookie): New internal >> variables. >> (tab-line-set-display): New function for modes to call to enable only >> their content. >> (tab-line-mode): Call `tab-line-set-display'. > > Juri, would you please review this part of the changeset? I'm not sure if this provides a clean interface. Have you tried to show both window-tool-bar and tab-line tabs on the same tab-line? Do you think this combination is usable? Or maybe better just repurpose the tab-line in window-tool-bar.el exclusively for window-local tool-bar?
bug-gnu-emacs@HIDDEN
:bug#68765
; Package emacs
.
Full text available.Received: (at 68765) by debbugs.gnu.org; 10 Feb 2024 08:55:23 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Feb 10 03:55:23 2024 Received: from localhost ([127.0.0.1]:53643 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rYj8s-0007sc-QS for submit <at> debbugs.gnu.org; Sat, 10 Feb 2024 03:55:23 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:57084) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1rYj7i-0007mm-4O for 68765 <at> debbugs.gnu.org; Sat, 10 Feb 2024 03:54:10 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1rYiaL-0005Pd-S5; Sat, 10 Feb 2024 03:19:41 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=Q4WveRDTT+lSZjj+2hK3SG9dpOQe8Q8PeUhW4eY3GU8=; b=okD3oKeXPjQw dh/CwZsAycRZEbFmgbYa/cByZL3icKG2I8Bu6Lwb+foIa7PDHmjBZ+uJD+UmGANnOxdEOopxomPXw z8PQYlJfBlAlunf+iDdzcuwUI0SRtdBZzVHMGWP8t8vnI9MXm4+xSev+prfNpGaYzv3rUk+u72hnR 16I7pqrVqfwd+wmb0Xd26Q1uKUS7H7dFo9cH08Lz/KZ7Aia5UlygZyiKqMZeLizKOvh+OH/zvE8Gg q5LqIEBBM3vSw4IsUOMALZ9WFwHP+VpmXieTztCuLPEf6CqhGZPqCby9H//WBCauIVxXYN1MtKuUT 4gk8kdW3zhx5qRBN+LyV5w==; Date: Sat, 10 Feb 2024 10:19:37 +0200 Message-Id: <86fry0vihy.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Jared Finder <jared@HIDDEN>, Juri Linkov <juri@HIDDEN>, Philip Kaludercic <philipk@HIDDEN>, Stefan Monnier <monnier@HIDDEN> In-Reply-To: <07df5e8408054bcae5968066b0cebf34@HIDDEN> (bug-gnu-emacs@HIDDEN) Subject: Re: bug#68765: 30.0.50; Adding window-tool-bar package. References: <07df5e8408054bcae5968066b0cebf34@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 68765 Cc: 68765 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Date: Sat, 27 Jan 2024 15:36:56 -0800 > From: Jared Finder via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN> > > This is a follow-up from bug#68334 where there was interest in adding > support into Emacs core for tool bars in windows. > (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=68334#52) I have > attached three changes I authored to accomplish this, two small changes > to tool-bar and tab-line, and then a code drop of my window-tool-bar.el > package. I have not yet put in documentation in NEWS or the manual > about window-tool-bar and was hoping to get a code review done first. Thanks, please find some review comments below. > Subject: [PATCH 1/3] Enable multiple modes to appear in tab line > > This adds space for window-tool-bar-mode, which will be added in an > upcoming commit. > > * lisp/tab-line.el (tab-line-format-template): Add separator space. > (tab-line-display-order): New user variable to control display order. > (tab-line--runtime-display-order, tab-line--cookie): New internal > variables. > (tab-line-set-display): New function for modes to call to enable only > their content. > (tab-line-mode): Call `tab-line-set-display'. Juri, would you please review this part of the changeset? > Subject: [PATCH 2/3] Add user option to only display default tool bar > > This works well with `window-tool-bar-mode', to be added in upcoming > commit. Then the default tool bar is displayed frame-wide and > mode-specific tool bars are displayed in the window that mode is > active in. > > * lisp/tool-bar.el (tool-bar-always-show-default): New user option. > (tool-bar--cache-key, tool-bar-make-keymap-1): Return default tool bar > when option is set. > --- > lisp/tool-bar.el | 17 +++++++++++++++-- > 1 file changed, 15 insertions(+), 2 deletions(-) > > diff --git a/lisp/tool-bar.el b/lisp/tool-bar.el > index 96b61c7b229..685e4dfbb86 100644 > --- a/lisp/tool-bar.el > +++ b/lisp/tool-bar.el > @@ -100,7 +100,9 @@ secondary-tool-bar-map > (defconst tool-bar-keymap-cache (make-hash-table :test #'equal)) > > (defsubst tool-bar--cache-key () > - (cons (frame-terminal) (sxhash-eq tool-bar-map))) > + (cons (frame-terminal) > + (sxhash-eq (if tool-bar-always-show-default (default-value 'tool-bar-map) > + tool-bar-map)))) > > (defsubst tool-bar--secondary-cache-key () > (cons (frame-terminal) (sxhash-eq secondary-tool-bar-map))) > @@ -191,7 +193,9 @@ tool-bar-make-keymap-1 > bind)) > (plist-put plist :image image))) > bind)) > - (or map tool-bar-map))) > + (or map > + (if tool-bar-always-show-default (default-value 'tool-bar-map) > + tool-bar-map)))) > > ;;;###autoload > (defun tool-bar-add-item (icon def key &rest props) > @@ -377,6 +381,15 @@ tool-bar-setup > (modify-all-frames-parameters > (list (cons 'tool-bar-position val)))))) > > +(defcustom tool-bar-always-show-default nil > + "If non-nil, do not show mode-specific tool bars. Double negation alert! > I think it would be good to have window-tool-bar.el also be a package so > that I can keep supporting Emacs 29 as well. I am happy to have this > put on GNU ELPA and would appreciate help in getting that completed. > [...] > From 24ed752ec0bfdded24cba4892426c2c9710126cf Mon Sep 17 00:00:00 2001 > From: Jared Finder <jared@HIDDEN> > Date: Fri, 26 Jan 2024 15:44:12 -0800 > > --- > lisp/window-tool-bar.el | 488 ++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 488 insertions(+) > create mode 100644 lisp/window-tool-bar.el Philip and Stefan, would you please review this additional package, which AFAIU is being proposed as a cofre package for ELPA? > +This works well when using `global-window-tool-bar-mode' to > +display the mode-specific tool bars attached to each window." I don't think I understand what you mean by "mode-specific tool bars". The doc string doesn't explain that, so it is not clear enough, IMO. > +(defun window-tool-bar-show-memory-use () > + "Pop up a window showing the memory use metrics." I'm not sure I understand why this package needs to be interested in memory usage. It sounds like a separate feature.
bug-gnu-emacs@HIDDEN
:bug#68765
; Package emacs
.
Full text available.Stefan Kangas <stefankangas@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Received: (at submit) by debbugs.gnu.org; 27 Jan 2024 23:37:24 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 27 18:37:24 2024 Received: from localhost ([127.0.0.1]:56131 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rTsEk-000185-E6 for submit <at> debbugs.gnu.org; Sat, 27 Jan 2024 18:37:24 -0500 Received: from lists.gnu.org ([2001:470:142::17]:48436) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <jared@HIDDEN>) id 1rTsEf-00017p-Pk for submit <at> debbugs.gnu.org; Sat, 27 Jan 2024 18:37:20 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <jared@HIDDEN>) id 1rTsES-00062J-Lv for bug-gnu-emacs@HIDDEN; Sat, 27 Jan 2024 18:37:04 -0500 Received: from greenhill.hpalace.com ([192.155.80.58]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <jared@HIDDEN>) id 1rTsEO-0005Zl-Ko for bug-gnu-emacs@HIDDEN; Sat, 27 Jan 2024 18:37:04 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=finder.org; s=2018; t=1706398617; bh=5VmueSFZKi0rGExWiMPDDcY3la8bF2GKBz2wjrXmhaU=; h=Date:From:To:Subject:From; b=PAx+luCV8Qs7MuggcU/HGgu5rqlZ6BAbYM4MHyr12apvZ82wIadT9TMrnPiDQBEut mPv9aSx78JH9IraZZNtJr4WlXv3kJi+acaqI4ru5lwgeVLI96n5yuKHZWw/0lMjLwo mQ2qguFVMovciEa+hKAxZwbyAsf/+Ha2ilZECvMr93baZV1aX60U0U4/Nb7G99U7pk OjeeFV/PEFx2mtaSf+WGoXvJVvcdHMvomjz7ceio7bhXCa4yN1O7l+IIdnj/bcy2yk cGsk3/+Q1pRvm9dwUiJyaHXXWXpymd6ADppMJE4q8eoLKQtao07RP7JegCGez9m+pJ LJ7TyzANqh0mw== Received: from mail.finder.org (unknown [192.155.80.58]) by greenhill.hpalace.com (Postfix) with ESMTPSA id 27883387A for <bug-gnu-emacs@HIDDEN>; Sat, 27 Jan 2024 23:36:57 +0000 (UTC) MIME-Version: 1.0 Date: Sat, 27 Jan 2024 15:36:56 -0800 From: Jared Finder <jared@HIDDEN> To: Bug-gnu Emacs <bug-gnu-emacs@HIDDEN> Subject: 30.0.50; Adding window-tool-bar package. Message-ID: <07df5e8408054bcae5968066b0cebf34@HIDDEN> X-Sender: jared@HIDDEN Content-Type: multipart/mixed; boundary="=_b2ace73e7a83928017c937c8a89717da" Received-SPF: pass client-ip=192.155.80.58; envelope-from=jared@HIDDEN; helo=greenhill.hpalace.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.9 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.1 (/) --=_b2ace73e7a83928017c937c8a89717da Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed This is a follow-up from bug#68334 where there was interest in adding support into Emacs core for tool bars in windows. (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=68334#52) I have attached three changes I authored to accomplish this, two small changes to tool-bar and tab-line, and then a code drop of my window-tool-bar.el package. I have not yet put in documentation in NEWS or the manual about window-tool-bar and was hoping to get a code review done first. I think it would be good to have window-tool-bar.el also be a package so that I can keep supporting Emacs 29 as well. I am happy to have this put on GNU ELPA and would appreciate help in getting that completed. I am open to renaming the package and public functions if that's desired. I like the name "window-tool-bar-mode" as it clearly relates to tool-bar-mode. After these patches are accepted, I'd also like to clean up the existing tool bar maps for built in minor modes. This would allow me to address Eli's request to have a usable tool bar for M-x gdb (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=68334#23). For tracking purposes, I signed copyright paperwork back in 2020, so that shouldn't be an issue. Thanks. -- MJF --=_b2ace73e7a83928017c937c8a89717da Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=0001-Enable-multiple-modes-to-appear-in-tab-line.patch Content-Disposition: attachment; filename=0001-Enable-multiple-modes-to-appear-in-tab-line.patch; size=5255 RnJvbSA3ZjM0NGVkMTU5MGI4MTMyM2UyNGNkZWRmNzc0NzdhZTU3Y2I0OWY5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYXJlZCBGaW5kZXIgPGphcmVkQGZpbmRlci5vcmc+CkRhdGU6 IEZyaSwgMjYgSmFuIDIwMjQgMDk6NDk6MDMgLTA4MDAKU3ViamVjdDogW1BBVENIIDEvM10gRW5h YmxlIG11bHRpcGxlIG1vZGVzIHRvIGFwcGVhciBpbiB0YWIgbGluZQoKVGhpcyBhZGRzIHNwYWNl IGZvciB3aW5kb3ctdG9vbC1iYXItbW9kZSwgd2hpY2ggd2lsbCBiZSBhZGRlZCBpbiBhbgp1cGNv bWluZyBjb21taXQuCgoqIGxpc3AvdGFiLWxpbmUuZWwgKHRhYi1saW5lLWZvcm1hdC10ZW1wbGF0 ZSk6IEFkZCBzZXBhcmF0b3Igc3BhY2UuCih0YWItbGluZS1kaXNwbGF5LW9yZGVyKTogTmV3IHVz ZXIgdmFyaWFibGUgdG8gY29udHJvbCBkaXNwbGF5IG9yZGVyLgoodGFiLWxpbmUtLXJ1bnRpbWUt ZGlzcGxheS1vcmRlciwgdGFiLWxpbmUtLWNvb2tpZSk6IE5ldyBpbnRlcm5hbAp2YXJpYWJsZXMu Cih0YWItbGluZS1zZXQtZGlzcGxheSk6IE5ldyBmdW5jdGlvbiBmb3IgbW9kZXMgdG8gY2FsbCB0 byBlbmFibGUgb25seQp0aGVpciBjb250ZW50LgoodGFiLWxpbmUtbW9kZSk6IENhbGwgYHRhYi1s aW5lLXNldC1kaXNwbGF5Jy4KLS0tCiBsaXNwL3RhYi1saW5lLmVsIHwgODkgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgODAg aW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saXNwL3RhYi1saW5l LmVsIGIvbGlzcC90YWItbGluZS5lbAppbmRleCBjYzYwZjk0YzljNS4uYzcyODM2NDFjYmQgMTAw NjQ0Ci0tLSBhL2xpc3AvdGFiLWxpbmUuZWwKKysrIGIvbGlzcC90YWItbGluZS5lbApAQCAtNTcz LDcgKzU3Myw4IEBAIHRhYi1saW5lLWZvcm1hdC10ZW1wbGF0ZQogICAgICAod2hlbiAoYW5kIChl cSB0YWItbGluZS10YWJzLWZ1bmN0aW9uICMndGFiLWxpbmUtdGFicy13aW5kb3ctYnVmZmVycykK ICAgICAgICAgICAgICAgICB0YWItbGluZS1uZXctYnV0dG9uLXNob3cKICAgICAgICAgICAgICAg ICB0YWItbGluZS1uZXctYnV0dG9uKQotICAgICAgIChsaXN0IHRhYi1saW5lLW5ldy1idXR0b24p KSkpKQorICAgICAgIChsaXN0IHRhYi1saW5lLW5ldy1idXR0b24pKQorICAgICAobGlzdCAiICIp KSkpCiAKIChkZWZ1biB0YWItbGluZS10YWItZmFjZS1pbmFjdGl2ZS1hbHRlcm5hdGluZyAodGFi IHRhYnMgZmFjZSBfYnVmZmVyLXAgc2VsZWN0ZWQtcCkKICAgIlJldHVybiBGQUNFIGZvciBUQUIg aW4gVEFCUyB3aXRoIGFsdGVybmF0aW9uLgpAQCAtOTk3LDE4ICs5OTgsODggQEAgdGFiLWxpbmUt ZXZlbnQtc3RhcnQKICAgICAgIChldmVudC1zdGFydCBldmVudCkpKQogCiAMCis7OzsgVGFiIGxp bmUgZGlzcGxheSBvcmRlcmluZworKGRlZmN1c3RvbSB0YWItbGluZS1kaXNwbGF5LW9yZGVyCisg IChjb3B5LXRyZWUgJyh0YWItbGluZS1tb2RlIHdpbmRvdy10b29sLWJhci1tb2RlKSkKKyAgIlRo ZSBvcmRlciB0byBkaXNwbGF5IGNvbnRlbnQgaW4gdGhlIHRhYi1saW5lLgorCitUaGlzIGlzIGEg bGlzdCBvZiBzeW1ib2xzLiAgQnkgY29udmVudGlvbiwgdGhlIHN5bWJvbHMgY29ycmVzcG9uZAor dG8gdGhlIG1vZGUgbmFtZSB0aGF0IGVuYWJsZXMgLyBkaXNhYmxlcyBjb250ZW50LiAgQW55IHN5 bWJvbCBub3QKK2xpc3RlZCBoZXJlIHdpbGwgYXV0b21hdGljYWxseSBiZSBwdXQgYXQgdGhlIGVu ZCBvZiB0aGUgdGFiIGxpbmUuCisKK1NlZSBgdGFiLWxpbmUtc2V0LWRpc3BsYXknIGZvciB0aGUg TGlzcCBpbnRlcmZhY2UgdG8gYWRkIGFuZAorcmVtb3ZlIGNvbnRlbnQuIgorICA6dHlwZSAnKHJl cGVhdCBzeW1ib2wpCisgIDpncm91cCAndGFiLWxpbmUKKyAgOnZlcnNpb24gIjMwLjEiKQorCiso ZGVmdmFyIHRhYi1saW5lLS1ydW50aW1lLWRpc3BsYXktb3JkZXIKKyAgbmlsCisgICJTeW1ib2xz IHRoYXQgY29udGFpbiBjb250ZW50IGJ1dCBhcmUgbm90IGluIGB0YWItbGluZS1kaXNwbGF5LW9y ZGVyJy4KK1RoaXMgbGlzdCBlbnN1cmVzIHRoYXQgY29udGVudCBzdGF5cyBpbiBhIHN0YWJsZSBw b3NpdGlvbiBpbiB0aGUKK3RhYiBsaW5lLiIpCisKKyhkZWZjb25zdCB0YWItbGluZS0tY29va2ll CisgICcodGFiLWxpbmUtc2V0LWRpc3BsYXkgbmlsKQorICAiQ29va2llIHVzZWQgYnkgYHRhYi1s aW5lLXNldC1kaXNwbGF5Jy4KK1RoaXMgaXMgdXNlZCB0byB0ZWxsIGlmIHRoZSB0YWIgbGluZSBp cyBiZWluZyBzZXQgYmFzZWQgb24KK2B0YWItbGluZS1kaXNwbGF5LW9yZGVyJyBvciB3YXMgb3Zl cnJpZGRlbiBieSB0aGUgdXNlci4iKQorCisoZGVmdW4gdGFiLWxpbmUtc2V0LWRpc3BsYXkgKHN5 bSB2YWx1ZSkKKyAgIkxpc3AgaW50ZXJmYWNlIHRvIGFkZCBvciByZW1vdmUgY29udGVudCBmcm9t IHRoZSB0YWIgbGluZS4KKworQWZ0ZXIgY2FsbGluZyB0aGlzLCBpZiB0aGVyZSBpcyBubyBjb250 ZW50IGluIHRoZSB0YWIgbGluZSwgaXQKK3dpbGwgYmUgYXV0b21hdGljYWxseSBoaWRkZW4uCisK K1NZTSBpcyBhIHN5bWJvbCwgdXN1YWxseSB0aGUgc3ltYm9sIGNvcnJlc3BvbmRpbmcgdG8gdGhl IG1vZGUKK3Nob3dpbmcgY29udGVudCBzdWNoIGFzIGB0YWItbGluZS1tb2RlJy4KKworVkFMVUUg aXMgdGhlIGNvbnRlbnQgdG8gZGlzcGxheSBhbmQgd2lsbCBiZSBhZGRlZCB0bworYHRhYi1saW5l LWZvcm1hdCcgYXQgYW4gYXBwcm9wcmlhdGUgaW5kZXggYmFzZWQgb24KK2B0YWItbGluZS1kaXNw bGF5LW9yZGVyJy4gIElmIHlvdSB3YW50IHRvIHJlbW92ZSBjb250ZW50IGJlY2F1c2UKK3RoZSBt b2RlIGlzIGJlaW5nIGRpc2FibGVkLCBzZXQgdGhpcyB0byBuaWwuIgorICA7OyBQcmVzZXJ2ZSB0 YWItbGluZS1mb3JtYXQgaWYgYWx0ZXJlZCBvdXRzaWRlIG9mIHRoaXMgZnVuY3Rpb24uCisgICh3 aGVuIChvciAobnVsbCB0YWItbGluZS1mb3JtYXQpCisgICAgICAgICAgICA7OyBBc3N1bWUgdGhh dCB1c2VyIG1vZGlmaWNhdGlvbnMgd2lsbCBub3QgdXNlIHRoaXMKKyAgICAgICAgICAgIDs7IGNv b2tpZS4KKyAgICAgICAgICAgIChlcXVhbCAoY2FyIHRhYi1saW5lLWZvcm1hdCkgdGFiLWxpbmUt LWNvb2tpZSkpCisgICAgKGxldCAocG9zKQorICAgICAgKHNldGYgcG9zIChzZXEtcG9zaXRpb24g dGFiLWxpbmUtZGlzcGxheS1vcmRlciBzeW0pKQorICAgICAgKHVubGVzcyBwb3MKKyAgICAgICAg KHdoZW4tbGV0ICgoYXBwZW5kLXBvcyAoc2VxLXBvc2l0aW9uIHRhYi1saW5lLS1ydW50aW1lLWRp c3BsYXktb3JkZXIgc3ltKSkpCisgICAgICAgICAgKHNldGYgcG9zICgrIChsZW5ndGggdGFiLWxp bmUtZGlzcGxheS1vcmRlcikKKyAgICAgICAgICAgICAgICAgICAgICAgYXBwZW5kLXBvcykpKSkK KyAgICAgICh1bmxlc3MgcG9zCisgICAgICAgICh3YXJuICJTeW1ib2wgJVMgbm90IGZvdW5kIGlu IGB0YWItbGluZS1kaXNwbGF5LW9yZGVyJy4gIFB1dHRpbmcgYXQgZW5kLiIKKyAgICAgICAgICAg ICAgc3ltKQorICAgICAgICAoc2V0ZiBwb3MgKCsgKGxlbmd0aCB0YWItbGluZS1kaXNwbGF5LW9y ZGVyKQorICAgICAgICAgICAgICAgICAgICAgKGxlbmd0aCB0YWItbGluZS0tcnVudGltZS1kaXNw bGF5LW9yZGVyKSkKKyAgICAgICAgICAgICAgdGFiLWxpbmUtLXJ1bnRpbWUtZGlzcGxheS1vcmRl cgorICAgICAgICAgICAgICAoYXBwZW5kIHRhYi1saW5lLS1ydW50aW1lLWRpc3BsYXktb3JkZXIK KyAgICAgICAgICAgICAgICAgICAgICAobGlzdCBzeW0pKSkpCisKKyAgICAgIChsZXQgKChkZXNp cmVkLWxlbmd0aCAoKyBwb3MgMikpICA7UGx1cyAxIGFkZGl0aW9uYWwgZm9yIHRoZSBjb29raWUs CisgICAgICAgICAgICAoY3VycmVudC1sZW5ndGggKGxlbmd0aCB0YWItbGluZS1mb3JtYXQpKSkK KyAgICAgICAgKHdoZW4gKD4gZGVzaXJlZC1sZW5ndGggY3VycmVudC1sZW5ndGgpCisgICAgICAg ICAgKHNldGYgdGFiLWxpbmUtZm9ybWF0CisgICAgICAgICAgICAgICAgKGFwcGVuZCB0YWItbGlu ZS1mb3JtYXQKKyAgICAgICAgICAgICAgICAgICAgICAgIChtYWtlLWxpc3QgKC0gZGVzaXJlZC1s ZW5ndGggY3VycmVudC1sZW5ndGgpIG5pbCkpCisgICAgICAgICAgICAgICAgOzsgSWYgdGFiLWxp bmUtZm9ybWF0IHdhcyBuaWwsIHRoZW4gdGhlIGNvb2tpZSBuZWVkcyB0byBiZSBzZXQuCisgICAg ICAgICAgICAgICAgKGNhciB0YWItbGluZS1mb3JtYXQpIHRhYi1saW5lLS1jb29raWUpKSkKKwor ICAgICAgKHNldGYgKG50aCAoMSsgcG9zKSB0YWItbGluZS1mb3JtYXQpIHZhbHVlKSkKKworICAg IDs7IElmIHRoZSBlbnRpcmUgZGlzcGxheSBoYXMgYmVlbiBkaXNhYmxlZCwgdGFiIGxpbmUgd291 bGQgZGlzcGxheQorICAgIDs7IGFzIGVtcHR5LiAgRXhwbGljaXRseSBoaWRlIHRoZSB0YWIgbGlu ZSBpbiB0aGlzIGNhc2UuCisgICAgKHdoZW4gKHNlcS1ldmVyeS1wICMnbnVsbCAoY2RyIHRhYi1s aW5lLWZvcm1hdCkpCisgICAgICAoc2V0ZiB0YWItbGluZS1mb3JtYXQgbmlsKSkpKQorDAogOzs7 IyMjYXV0b2xvYWQKIChkZWZpbmUtbWlub3ItbW9kZSB0YWItbGluZS1tb2RlCiAgICJUb2dnbGUg ZGlzcGxheSBvZiB0YWIgbGluZSBpbiB0aGUgd2luZG93cyBkaXNwbGF5aW5nIHRoZSBjdXJyZW50 IGJ1ZmZlci4iCiAgIDpsaWdodGVyIG5pbAotICAobGV0ICgoZGVmYXVsdC12YWx1ZSAnKDpldmFs ICh0YWItbGluZS1mb3JtYXQpKSkpCi0gICAgKGlmIHRhYi1saW5lLW1vZGUKLSAgICAgICAgOzsg UHJlc2VydmUgdGhlIGV4aXN0aW5nIHRhYi1saW5lIHNldCBvdXRzaWRlIG9mIHRoaXMgbW9kZQot ICAgICAgICAodW5sZXNzIHRhYi1saW5lLWZvcm1hdAotICAgICAgICAgIChzZXRxIHRhYi1saW5l LWZvcm1hdCBkZWZhdWx0LXZhbHVlKSkKLSAgICAgIDs7IFJlc2V0IG9ubHkgdmFsdWVzIHNldCBi eSB0aGlzIG1vZGUKLSAgICAgICh3aGVuIChlcXVhbCB0YWItbGluZS1mb3JtYXQgZGVmYXVsdC12 YWx1ZSkKLSAgICAgICAgKHNldHEgdGFiLWxpbmUtZm9ybWF0IG5pbCkpKSkpCisgICh0YWItbGlu ZS1zZXQtZGlzcGxheSAndGFiLWxpbmUtbW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgKGlm IHRhYi1saW5lLW1vZGUgJyg6ZXZhbCAodGFiLWxpbmUtZm9ybWF0KSkgbmlsKSkpCiAKIChkZWZj dXN0b20gdGFiLWxpbmUtZXhjbHVkZS1tb2RlcwogICAnKGNvbXBsZXRpb24tbGlzdC1tb2RlKQot LSAKMi4zOS4yCgo= --=_b2ace73e7a83928017c937c8a89717da Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=0002-Add-user-option-to-only-display-default-tool-bar.patch Content-Disposition: attachment; filename=0002-Add-user-option-to-only-display-default-tool-bar.patch; size=2068 RnJvbSBiYTkwZWQ3ZjA1N2VhNjI3YmQyMTY4ZDQ3MjIzMzk2YTdiYzM2YzIwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYXJlZCBGaW5kZXIgPGphcmVkQGZpbmRlci5vcmc+CkRhdGU6 IEZyaSwgMjYgSmFuIDIwMjQgMTA6MDg6MzAgLTA4MDAKU3ViamVjdDogW1BBVENIIDIvM10gQWRk IHVzZXIgb3B0aW9uIHRvIG9ubHkgZGlzcGxheSBkZWZhdWx0IHRvb2wgYmFyCgpUaGlzIHdvcmtz IHdlbGwgd2l0aCBgd2luZG93LXRvb2wtYmFyLW1vZGUnLCB0byBiZSBhZGRlZCBpbiB1cGNvbWlu Zwpjb21taXQuICBUaGVuIHRoZSBkZWZhdWx0IHRvb2wgYmFyIGlzIGRpc3BsYXllZCBmcmFtZS13 aWRlIGFuZAptb2RlLXNwZWNpZmljIHRvb2wgYmFycyBhcmUgZGlzcGxheWVkIGluIHRoZSB3aW5k b3cgdGhhdCBtb2RlIGlzCmFjdGl2ZSBpbi4KCiogbGlzcC90b29sLWJhci5lbCAodG9vbC1iYXIt YWx3YXlzLXNob3ctZGVmYXVsdCk6IE5ldyB1c2VyIG9wdGlvbi4KKHRvb2wtYmFyLS1jYWNoZS1r ZXksIHRvb2wtYmFyLW1ha2Uta2V5bWFwLTEpOiBSZXR1cm4gZGVmYXVsdCB0b29sIGJhcgp3aGVu IG9wdGlvbiBpcyBzZXQuCi0tLQogbGlzcC90b29sLWJhci5lbCB8IDE3ICsrKysrKysrKysrKysr Ky0tCiAxIGZpbGUgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9saXNwL3Rvb2wtYmFyLmVsIGIvbGlzcC90b29sLWJhci5lbAppbmRleCA5NmI2 MWM3YjIyOS4uNjg1ZTRkZmJiODYgMTAwNjQ0Ci0tLSBhL2xpc3AvdG9vbC1iYXIuZWwKKysrIGIv bGlzcC90b29sLWJhci5lbApAQCAtMTAwLDcgKzEwMCw5IEBAIHNlY29uZGFyeS10b29sLWJhci1t YXAKIChkZWZjb25zdCB0b29sLWJhci1rZXltYXAtY2FjaGUgKG1ha2UtaGFzaC10YWJsZSA6dGVz dCAjJ2VxdWFsKSkKIAogKGRlZnN1YnN0IHRvb2wtYmFyLS1jYWNoZS1rZXkgKCkKLSAgKGNvbnMg KGZyYW1lLXRlcm1pbmFsKSAoc3hoYXNoLWVxIHRvb2wtYmFyLW1hcCkpKQorICAoY29ucyAoZnJh bWUtdGVybWluYWwpCisgICAgICAgIChzeGhhc2gtZXEgKGlmIHRvb2wtYmFyLWFsd2F5cy1zaG93 LWRlZmF1bHQgKGRlZmF1bHQtdmFsdWUgJ3Rvb2wtYmFyLW1hcCkKKyAgICAgICAgICAgICAgICAg ICAgIHRvb2wtYmFyLW1hcCkpKSkKIAogKGRlZnN1YnN0IHRvb2wtYmFyLS1zZWNvbmRhcnktY2Fj aGUta2V5ICgpCiAgIChjb25zIChmcmFtZS10ZXJtaW5hbCkgKHN4aGFzaC1lcSBzZWNvbmRhcnkt dG9vbC1iYXItbWFwKSkpCkBAIC0xOTEsNyArMTkzLDkgQEAgdG9vbC1iYXItbWFrZS1rZXltYXAt MQogCQkJCSAgICAgIGJpbmQpKQogCQkgIChwbGlzdC1wdXQgcGxpc3QgOmltYWdlIGltYWdlKSkp CiAJICAgICAgYmluZCkpCi0JICAob3IgbWFwIHRvb2wtYmFyLW1hcCkpKQorCSAgKG9yIG1hcAor ICAgICAgICAgICAgICAoaWYgdG9vbC1iYXItYWx3YXlzLXNob3ctZGVmYXVsdCAoZGVmYXVsdC12 YWx1ZSAndG9vbC1iYXItbWFwKQorICAgICAgICAgICAgICAgIHRvb2wtYmFyLW1hcCkpKSkKIAog Ozs7IyMjYXV0b2xvYWQKIChkZWZ1biB0b29sLWJhci1hZGQtaXRlbSAoaWNvbiBkZWYga2V5ICZy ZXN0IHByb3BzKQpAQCAtMzc3LDYgKzM4MSwxNSBAQCB0b29sLWJhci1zZXR1cAogCSAgICAgKG1v ZGlmeS1hbGwtZnJhbWVzLXBhcmFtZXRlcnMKIAkgICAgICAobGlzdCAoY29ucyAndG9vbC1iYXIt cG9zaXRpb24gdmFsKSkpKSkpCiAKKyhkZWZjdXN0b20gdG9vbC1iYXItYWx3YXlzLXNob3ctZGVm YXVsdCBuaWwKKyAgIklmIG5vbi1uaWwsIGRvIG5vdCBzaG93IG1vZGUtc3BlY2lmaWMgdG9vbCBi YXJzLgorVGhpcyB3b3JrcyB3ZWxsIHdoZW4gdXNpbmcgYGdsb2JhbC13aW5kb3ctdG9vbC1iYXIt bW9kZScgdG8KK2Rpc3BsYXkgdGhlIG1vZGUtc3BlY2lmaWMgdG9vbCBiYXJzIGF0dGFjaGVkIHRv IGVhY2ggd2luZG93LiIKKyAgOnR5cGUgJ2Jvb2xlYW4KKyAgOmdyb3VwICdmcmFtZXMKKyAgOmdy b3VwICdtb3VzZQorICA6dmVyc2lvbiAiMzAuMSIpCisKIAwKIAogOzsgTW9kaWZpZXIgYmFyIG1v ZGUuCi0tIAoyLjM5LjIKCg== --=_b2ace73e7a83928017c937c8a89717da Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=0003-Adding-window-tool-bar-package.patch Content-Disposition: attachment; filename=0003-Adding-window-tool-bar-package.patch; size=21242 RnJvbSAyNGVkNzUyZWMwYmZkZGVkMjRjYmE0ODkyNDI2YzJjOTcxMDEyNmNmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYXJlZCBGaW5kZXIgPGphcmVkQGZpbmRlci5vcmc+CkRhdGU6 IEZyaSwgMjYgSmFuIDIwMjQgMTU6NDQ6MTIgLTA4MDAKU3ViamVjdDogW1BBVENIIDMvM10gQWRk aW5nIHdpbmRvdy10b29sLWJhciBwYWNrYWdlCgotLS0KIGxpc3Avd2luZG93LXRvb2wtYmFyLmVs IHwgNDg4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBj aGFuZ2VkLCA0ODggaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpc3Avd2luZG93 LXRvb2wtYmFyLmVsCgpkaWZmIC0tZ2l0IGEvbGlzcC93aW5kb3ctdG9vbC1iYXIuZWwgYi9saXNw L3dpbmRvdy10b29sLWJhci5lbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MC4uMzk1MGZlMTJmMWEKLS0tIC9kZXYvbnVsbAorKysgYi9saXNwL3dpbmRvdy10b29sLWJhci5l bApAQCAtMCwwICsxLDQ4OCBAQAorOzs7IHdpbmRvdy10b29sLWJhci5lbCAtLS0gQWRkIHRvb2wg YmFycyBpbnNpZGUgd2luZG93cyAtKi0gbGV4aWNhbC1iaW5kaW5nOiB0IC0qLQorCis7OyBDb3B5 cmlnaHQgKEMpIDIwMjMtMjAyNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKzs7IEF1 dGhvcjogSmFyZWQgRmluZGVyIDxqYXJlZEBmaW5kZXIub3JnPgorOzsgQ3JlYXRlZDogTm92IDIx LCAyMDIzCis7OyBWZXJzaW9uOiAwLjIKKzs7IEtleXdvcmRzOiBtb3VzZQorOzsgVVJMOiBodHRw Oi8vZ2l0aHViLmNvbS9jaGFvc2VtZXIvd2luZG93LXRvb2wtYmFyCis7OyBQYWNrYWdlLVJlcXVp cmVzOiAoKGVtYWNzICIyOS4xIikpCisKKzs7IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFj cy4KKworOzsgR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkKKzs7IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cis7OyB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorOzsgKGF0IHlv dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworOzsgR05VIEVtYWNzIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCis7OyBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorOzsgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQorOzsgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworOzsg WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UKKzs7IGFsb25nIHdpdGggR05VIEVtYWNzLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93 d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCis7OzsgQ29tbWVudGFyeToKKzs7Cis7OyBUaGlzIHBh Y2thZ2UgcHV0cyBhIHRvb2wgYmFyIGluIGVhY2ggd2luZG93LiAgVGhpcyBhbGxvd3MgeW91IHRv IHNlZQorOzsgbXVsdGlwbGUgdG9vbCBiYXJzIHNpbXVsdGFuZW91c2x5IGRpcmVjdGx5IG5leHQg dG8gdGhlIGJ1ZmZlciBpdAorOzsgYWN0cyBvbiB3aGljaCBmZWVscyBtdWNoIG1vcmUgaW50dWl0 aXZlLiAgRW1hY3MgImJyb3dzaW5nIiBtb2RlcworOzsgZ2VuZXJhbGx5IGhhdmUgc2Vuc2libGUg dG9vbCBiYXJzLCBmb3IgZXhhbXBsZTogKmluZm8qLCAqaGVscCosIGFuZAorOzsgKmV3dyogaGF2 ZSB0aGVtLgorOzsKKzs7IEl0IGRvZXMgdGhpcyB3aGlsZSBiZWluZyBtaW5kZnVsIG9mIHNjcmVl biByZWFsIGVzdGF0ZS4gIE1vc3QgbW9kZXMKKzs7IGRvIG5vdCBwcm92aWRlIGEgY3VzdG9tIHRv b2wgYmFyLCBhbmQgdGhpcyBwYWNrYWdlIGRvZXMgbm90IHNob3cgdGhlCis7OyBkZWZhdWx0IHRv b2wgYmFyLiAgVGhpcyBtZWFucyB0aGF0IGZvciBtb3N0IGJ1ZmZlcnMgdGhlcmUgd2lsbCBiZSBu bworOzsgc3BhY2UgdGFrZW4gdXAuICBGdXJ0aGVybW9yZSwgeW91IGNhbiBwdXQgdGhpcyB0b29s IGJhciBpbiB0aGUgbW9kZQorOzsgbGluZSBvciB0YWIgbGluZSBpZiB5b3Ugd2FudCB0byBzaGFy ZSBpdCB3aXRoIGV4aXN0aW5nIGNvbnRlbnQuCis7OworOzsgVG8gZ2V0IHRoZSBkZWZhdWx0IGJl aGF2aW9yLCBydW4gKGdsb2JhbC13aW5kb3ctdG9vbC1iYXItbW9kZSAxKSBvcgorOzsgZW5hYmxl IHZpYSBNLXggY3VzdG9taXplLWdyb3VwIFJFVCB3aW5kb3ctdG9vbC1iYXIgUkVULiAgVGhpcyB1 c2VzCis7OyB0aGUgcGVyLXdpbmRvdyB0YWIgbGluZSB0byBzaG93IHRoZSB0b29sIGJhci4KKzs7 Cis7OyBJZiB5b3Ugd2FudCB0byBzaGFyZSBzcGFjZSB3aXRoIGFuIGV4aXN0aW5nIHRhYiBsaW5l LCBtb2RlIGxpbmUsIG9yCis7OyBoZWFkZXIgbGluZSwgYWRkICg6ZXZhbCAod2luZG93LXRvb2wt YmFyLXN0cmluZykpIHRvCis7OyBgdGFiLWxpbmUtZm9ybWF0JywgYG1vZGUtbGluZS1mb3JtYXQn LCBvciBgaGVhZGVyLWxpbmUtZm9ybWF0Jy4KKworOzs7IEtub3duIGlzc3VlczoKKzs7Cis7OyBP biBHTlUgRW1hY3MgMjkuMSwgdGVybWluYWxzIGRyYWdnaW5nIHRvIHJlc2l6ZSB3aW5kb3dzIHdp bGwgZXJyb3IKKzs7IHdpdGggbWVzc2FnZSAiPHRhYi1saW5lPiA8bW91c2UtbW92ZW1lbnQ+IGlz IHVuZGVmaW5lZCIuICBUaGlzIGlzIGEKKzs7IGJ1ZyBpbiBHTlUgRW1hY3MsCis7OyA8aHR0cHM6 Ly9kZWJidWdzLmdudS5vcmcvY2dpL2J1Z3JlcG9ydC5jZ2k/YnVnPTY3NDU3Pi4KKzs7Cis7OyBP biBHTlUgRW1hY3MgMjksIHBlcmZvcm1hbmNlIGluIHRlcm1pbmFscyBpcyBsb3dlciB0aGFuIG9u Cis7OyBncmFwaGljYWwgZnJhbWVzLiAgVGhpcyBpcyBkdWUgdG8gYSB3b3JrYXJvdW5kLCBzZWUg Ildvcmthcm91bmQgZm9yCis7OyBodHRwczovL2RlYmJ1Z3MuZ251Lm9yZy9jZ2kvYnVncmVwb3J0 LmNnaT9idWc9NjgzMzQiLCBiZWxvdy4KKworOzs7IFRvZG86Cis7OworOzsgTm90IGFsbCBmZWF0 dXJlcyBwbGFubmVkIGFyZSBpbXBsZW1lbnRlZCB5ZXQuICBFdmVudHVhbGx5IEkgd291bGQKKzs7 IGxpa2UgdG8gYWxzbyBnZW5lcmFsbHkgbWFrZSB0b29sIGJhcnMgYmV0dGVyLgorOzsKKzs7IFRh cmdldGluZyAwLjM6Cis7OyAqIFByb3Blcmx5IHN1cHBvcnQgcmVhbWluaW5nIGxlc3MgZnJlcXVl bnRseSB1c2VkIHRvb2wgYmFyIGl0ZW0gc3BlY3MuICBGcm9tCis7OyAgIGBwYXJzZV90b29sX2Jh cl9pdGVtJzoKKzs7ICAgICAqIDp2aXNpYmxlCis7OyAgICAgKiA6ZmlsdGVyCis7OyAgICAgKiA6 YnV0dG9uCis7OyAgICAgKiA6d3JhcAorOzsgKiBBZGQgZGlzcGxheSBjdXN0b21pemF0aW9uIHNp bWlsYXIgdG8gYHRvb2wtYmFyLXN0eWxlJy4KKzs7Cis7OyBUYXJnZXRpbmcgMS4wOgorOzsKKzs7 ICogQ2xlYW4gdXAgRW1hY3MgdG9vbCBiYXJzCis7OyAgICAgKiBEZWZhdWx0OiBSZW1vdmUgZGVm YXVsdCB0b29sLWJhciBlbnRpcmVseQorOzsgICAgICogZ3JlcCwgdmM6IFJlbW92ZSBkZWZhdWx0 IHRvb2wtYmFyIGluaGVyaXRlZAorOzsgICAgICogaW5mbzogUmVtb3ZlIE5leHQgLyBQcmV2IC8g VXAsIHdoaWNoIGlzIGFscmVhZHkgaW4gdGhlIGhlYWRlcgorOzsgICAgICogc21lcmdlOiBBZGQg dG9vbCBiYXIgZm9yIG5leHQvcHJldgorOzsKKzs7IFBvc3QgMS4wIHdvcms6Cis7OworOzsgKiBT aG93IGtleWJvYXJkIHNob3J0Y3V0IG9uIGhlbHAgdGV4dC4KKzs7Cis7OyAqIEFkZCBhIGJpdCBt b3JlIGRvY3VtZW50YXRpb24uCis7OyAqIEFkZCBjdXN0b21pemF0aW9uIG9wdGlvbjogaWdub3Jl LWRlZmF1bHQtdG9vbC1iYXItbWFwCis7OyAqIE1ha2UgdGFiLWxpbmUgZHJhZ2dpbmcgcmVzaXpl IHRoZSB3aW5kb3cKKworOzs7IENvZGU6CisKKyhyZXF1aXJlICdtd2hlZWwpCisocmVxdWlyZSAn dGFiLWxpbmUpCisocmVxdWlyZSAndG9vbC1iYXIpCisMCis7OzsgQmVuY2htYXJraW5nIGNvZGUK Kzs7Cis7OyBSZWZyZXNoaW5nIHRoZSB0b29sIGJhciBpcyBjb21wdXRhdGlvbmFsbHkgc2ltcGxl LCBidXQgZ2VuZXJhdGVzIGEKKzs7IGxvdCBvZiBnYXJiYWdlLiAgU28gdGhpcyBiZW5jaG1hcmtp bmcgZm9jdXNlcyBvbiBnYXJiYWdlCis7OyBnZW5lcmF0aW9uLiAgU2luY2UgaXQgaGFzIHRvIHJ1 biBhZnRlciBtb3N0IGNvbW1hbmRzLCBnZW5lcmF0aW5nCis7OyBzaWduaWZpY2FudGx5IG1vcmUg Z2FyYmFnZSB3aWxsIGNhdXNlIG5vdGljZWFibGUgcGVyZm9ybWFuY2UKKzs7IGRlZ3JhdGlvbi4K Kzs7Cis7OyBUaGUgcmVmcmVzaCBoYXMgdHdvIHN0ZXBzOgorOzsKKzs7IFN0ZXAgMTogTG9vayB1 cCB0aGUgPHRvb2wtYmFyPiBtYXAuCis7OyBTdGVwIDI6IEdlbmVyYXRlIGEgTGlzcCBzdHJpbmcg dXNpbmcgdGV4dCBwcm9wZXJ0aWVzIGZvciB0aGUgdG9vbAorOzsgYmFyIHN0cmluZy4KKzs7Cis7 OyBBZGRpdGlvbmFsbHksIHdlIGtlZXAgdHJhY2sgb2YgdGhlIHBlcmNlbnRhZ2Ugb2YgY29tbWFu ZHMgdGhhdAorOzsgYWN1dGFsbHkgY3JlYXRlZCBhIHJlZnJlc2guCisoZGVmdmFyIHdpbmRvdy10 b29sLWJhci0tbWVtb3J5LXVzZS1kZWx0YS1zdGVwMSAobWFrZS1saXN0IDcgMCkKKyAgIkFic29s dXRlIGRlbHRhIG9mIG1lbW9yeSB1c2UgY291bnRlcnMgZHVyaW5nIHN0ZXAgMS4KK1RoaXMgaXMg YSBsaXN0IGluIHRoZSBzYW1lIHN0cnVjdHVyZSBhcyBgbWVtb3J5LXVzZS1jb3VudHMnLiIpCiso ZGVmdmFyIHdpbmRvdy10b29sLWJhci0tbWVtb3J5LXVzZS1kZWx0YS1zdGVwMiAobWFrZS1saXN0 IDcgMCkKKyAgIkFic29sdXRlIGRlbHRhIG9mIG1lbW9yeSB1c2UgY291bnRlcnMgZHVyaW5nIHN0 ZXAgMi4KK1RoaXMgaXMgYSBsaXN0IGluIHRoZSBzYW1lIHN0cnVjdHVyZSBhcyBgbWVtb3J5LXVz ZS1jb3VudHMnLiIpCisoZGVmdmFyIHdpbmRvdy10b29sLWJhci0tcmVmcmVzaC1kb25lLWNvdW50 IDAKKyAgIk51bWJlciBvZiB0b29sIGJhciBzdHJpbmcgcmVmcmVzaGVzIHJ1bi4KK1RoZSB0b3Rh bCBudW1iZXIgb2YgcmVxdWVzdHMgaXMgdGhlIHN1bSBvZiB0aGlzIGFuZAorYHdpbmRvdy10b29s LWJhci0tcmVmcmVzaC1za2lwcGVkLWNvdW50Jy4iKQorKGRlZnZhciB3aW5kb3ctdG9vbC1iYXIt LXJlZnJlc2gtc2tpcHBlZC1jb3VudCAwCisgICJOdW1iZXIgb2YgdG9vbCBiYXIgc3RyaW5nIHJl ZnJlc2hlcyB0aGF0IHdlcmUgc2tpcHBlZC4KK1RoZSB0b3RhbCBudW1iZXIgb2YgcmVxdWVzdHMg aXMgdGhlIHN1bSBvZiB0aGlzIGFuZAorYHdpbmRvdy10b29sLWJhci0tcmVmcmVzaC1kb25lLWNv dW50Jy4iKQorCisoZGVmdW4gd2luZG93LXRvb2wtYmFyLS1tZW1vcnktdXNlLWF2Zy1zdGVwMSAo KQorICAiUmV0dXJuIGF2ZXJhZ2UgbWVtb3J5IHVzZSBkZWx0YSBkdXJpbmcgc3RlcCAxLiIKKyAg KG1hcGNhciAobGFtYmRhIChlbHQpICgvIGVsdCB3aW5kb3ctdG9vbC1iYXItLXJlZnJlc2gtZG9u ZS1jb3VudCAxLjApKQorICAgICAgICAgIHdpbmRvdy10b29sLWJhci0tbWVtb3J5LXVzZS1kZWx0 YS1zdGVwMSkpCisKKyhkZWZ1biB3aW5kb3ctdG9vbC1iYXItLW1lbW9yeS11c2UtYXZnLXN0ZXAy ICgpCisgICJSZXR1cm4gYXZlcmFnZSBtZW1vcnkgdXNlIGRlbHRhIGR1cmluZyBzdGVwIDIuIgor ICAobWFwY2FyIChsYW1iZGEgKGVsdCkgKC8gZWx0IHdpbmRvdy10b29sLWJhci0tcmVmcmVzaC1k b25lLWNvdW50IDEuMCkpCisgICAgICAgICAgd2luZG93LXRvb2wtYmFyLS1tZW1vcnktdXNlLWRl bHRhLXN0ZXAyKSkKKworKGRlY2xhcmUtZnVuY3Rpb24gdGltZS1zdGFtcC1zdHJpbmcgInRpbWUt c3RhbXAiKQorCisoZGVmdW4gd2luZG93LXRvb2wtYmFyLXNob3ctbWVtb3J5LXVzZSAoKQorICAi UG9wIHVwIGEgd2luZG93IHNob3dpbmcgdGhlIG1lbW9yeSB1c2UgbWV0cmljcy4iCisgIChpbnRl cmFjdGl2ZSkKKyAgKHJlcXVpcmUgJ3RpbWUtc3RhbXApCisgIChzYXZlLXNlbGVjdGVkLXdpbmRv dworICAgIChwb3AtdG8tYnVmZmVyICIqV1RCIE1lbW9yeSBSZXBvcnQqIikKKyAgICAodW5sZXNz IChlcSBtYWpvci1tb2RlICdzcGVjaWFsLW1vZGUpCisgICAgICAoc3BlY2lhbC1tb2RlKSkKKwor ICAgIChnb3RvLWNoYXIgKHBvaW50LW1heCkpCisgICAgKGxldCAoKGluaGliaXQtcmVhZC1vbmx5 IHQpKQorICAgICAgKGluc2VydCAocHJvcGVydGl6ZSAoY29uY2F0ICJGdW5jdGlvbjogd2luZG93 LXRvb2wtYmFyLXN0cmluZyAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRp bWUtc3RhbXAtc3RyaW5nKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZhY2UgJ3VuZGVy bGluZSAnZm9udC1sb2NrLWZhY2UgJ3VuZGVybGluZSkKKyAgICAgICAgICAgICAgIlxuXG4iKQor ICAgICAgKHdpbmRvdy10b29sLWJhci0taW5zZXJ0LW1lbW9yeS11c2UKKyAgICAgICAiU3RlcCAx IiAod2luZG93LXRvb2wtYmFyLS1tZW1vcnktdXNlLWF2Zy1zdGVwMSkpCisgICAgICAod2luZG93 LXRvb2wtYmFyLS1pbnNlcnQtbWVtb3J5LXVzZQorICAgICAgICJTdGVwIDIiICh3aW5kb3ctdG9v bC1iYXItLW1lbW9yeS11c2UtYXZnLXN0ZXAyKSkKKyAgICAgIChpbnNlcnQgKGZvcm1hdCAiUmVm cmVzaCBjb3VudCAgJWRcbiIgd2luZG93LXRvb2wtYmFyLS1yZWZyZXNoLWRvbmUtY291bnQpCisg ICAgICAgICAgICAgIChmb3JtYXQgIlJlZnJlc2ggZXhlY3V0ZWQgcGVyY2VudCAlLjJmXG4iCisg ICAgICAgICAgICAgICAgICAgICAgKC8gd2luZG93LXRvb2wtYmFyLS1yZWZyZXNoLWRvbmUtY291 bnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAoKyB3aW5kb3ctdG9vbC1iYXItLXJlZnJlc2gt ZG9uZS1jb3VudAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy10b29sLWJhci0t cmVmcmVzaC1za2lwcGVkLWNvdW50KQorICAgICAgICAgICAgICAgICAgICAgICAgIDEuMCkpCisg ICAgICAgICAgICAgICJcbiIpKSkpCisKKyhkZWZ1biB3aW5kb3ctdG9vbC1iYXItLWluc2VydC1t ZW1vcnktdXNlIChsYWJlbCBhdmctbWVtb3J5LXVzZSkKKyAgIkluc2VydCBtZW1vcnkgdXNlIGlu dG8gY3VycmVudCBidWZmZXIuCisKK0xBQkVMOiBBIHByZWZpeCBzdHJpbmcgdG8gYmUgaW4gZnJv bnQgb2YgdGhlIGRhdGEuCitBVkctTUVNT1JZLVVTRTogQSBsaXN0IG9mIGF2ZXJhZ2VzLCB3aXRo IHRoZSBzYW1lIG1lYW5pbmcgYXMKKyAgYG1lbW9yeS11c2UtY291bnRzJy4iCisgIChsZXQqICgo bGFiZWwtbGVuIChsZW5ndGggbGFiZWwpKQorICAgICAgICAgKHBhZGRpbmcgKG1ha2Utc3RyaW5n IGxhYmVsLWxlbiA/XHMpKSkKKyAgICAoaW5zZXJ0IChmb3JtYXQgIiVzICAlOC4yZiBDb25zZXNc biIgbGFiZWwgKGVsdCBhdmctbWVtb3J5LXVzZSAwKSkpCisgICAgKGluc2VydCAoZm9ybWF0ICIl cyAgJTguMmYgRmxvYXRzXG4iIHBhZGRpbmcgKGVsdCBhdmctbWVtb3J5LXVzZSAxKSkpCisgICAg KGluc2VydCAoZm9ybWF0ICIlcyAgJTguMmYgVmVjdG9yIGNlbGxzXG4iIHBhZGRpbmcgKGVsdCBh dmctbWVtb3J5LXVzZSAyKSkpCisgICAgKGluc2VydCAoZm9ybWF0ICIlcyAgJTguMmYgU3ltYm9s c1xuIiBwYWRkaW5nIChlbHQgYXZnLW1lbW9yeS11c2UgMykpKQorICAgIChpbnNlcnQgKGZvcm1h dCAiJXMgICU4LjJmIFN0cmluZyBjaGFyc1xuIiBwYWRkaW5nIChlbHQgYXZnLW1lbW9yeS11c2Ug NCkpKQorICAgIChpbnNlcnQgKGZvcm1hdCAiJXMgICU4LjJmIEludGVydmFsc1xuIiBwYWRkaW5n IChlbHQgYXZnLW1lbW9yeS11c2UgNSkpKQorICAgIChpbnNlcnQgKGZvcm1hdCAiJXMgICU4LjJm IFN0cmluZ3NcbiIgcGFkZGluZyAoZWx0IGF2Zy1tZW1vcnktdXNlIDYpKSkpKQorDAorKGRlZmdy b3VwIHdpbmRvdy10b29sLWJhciBuaWwKKyAgIlRvb2wgYmFycyBwZXItd2luZG93LiIKKyAgOmdy b3VwICdjb252ZW5pZW5jZQorICA6cHJlZml4ICJ3aW5kb3ctdG9vbC1iYXItIikKKworKGRlZnZh ci1rZXltYXAgd2luZG93LXRvb2wtYmFyLS1idXR0b24ta2V5bWFwCisgIDpkb2MgIktleW1hcCB1 c2VkIGJ5IGB3aW5kb3ctdG9vbC1iYXItLWtleW1hcC1lbnRyeS10by1zdHJpbmcnLiIKKyAgIjxm b2xsb3ctbGluaz4iICdtb3VzZS1mYWNlCisgIDs7IEZvbGxvdyBsaW5rIG9uIGFsbCBjbGlja3Mg b2YgbW91c2UtMSBhbmQgbW91c2UtMiBzaW5jZSB0aGUgdG9vbAorICA7OyBiYXIgaXMgbm90IGEg cGxhY2UgdGhlIHBvaW50IGNhbiB0cmF2ZWwgdG8uCisgICI8dGFiLWxpbmU+IDxtb3VzZS0xPiIg Iyd3aW5kb3ctdG9vbC1iYXItLWNhbGwtYnV0dG9uCisgICI8dGFiLWxpbmU+IDxkb3VibGUtbW91 c2UtMT4iICMnd2luZG93LXRvb2wtYmFyLS1jYWxsLWJ1dHRvbgorICAiPHRhYi1saW5lPiA8dHJp cGxlLW1vdXNlLTE+IiAjJ3dpbmRvdy10b29sLWJhci0tY2FsbC1idXR0b24KKyAgIjx0YWItbGlu ZT4gPG1vdXNlLTI+IiAjJ3dpbmRvdy10b29sLWJhci0tY2FsbC1idXR0b24KKyAgIjx0YWItbGlu ZT4gPGRvdWJsZS1tb3VzZS0yPiIgIyd3aW5kb3ctdG9vbC1iYXItLWNhbGwtYnV0dG9uCisgICI8 dGFiLWxpbmU+IDx0cmlwbGUtbW91c2UtMj4iICMnd2luZG93LXRvb2wtYmFyLS1jYWxsLWJ1dHRv bgorCisgIDs7IE1vdXNlIGRvd24gZXZlbnRzIGRvIG5vdGhpbmcuICBBIGJpbmRpbmcgaXMgbmVl ZGVkIHNvIGlzZWFyY2gKKyAgOzsgZG9lcyBub3QgZXhpdCB3aGVuIHRoZSB0YWIgYmFyIGlzIGNs aWNrZWQuCisgICI8dGFiLWxpbmU+IDxkb3duLW1vdXNlLTE+IiAjJ3dpbmRvdy10b29sLWJhci0t aWdub3JlCisgICI8dGFiLWxpbmU+IDxkb3VibGUtZG93bi1tb3VzZS0xPiIgIyd3aW5kb3ctdG9v bC1iYXItLWlnbm9yZQorICAiPHRhYi1saW5lPiA8dHJpcGxlLWRvd24tbW91c2UtMT4iICMnd2lu ZG93LXRvb2wtYmFyLS1pZ25vcmUKKyAgIjx0YWItbGluZT4gPGRvd24tbW91c2UtMj4iICMnd2lu ZG93LXRvb2wtYmFyLS1pZ25vcmUKKyAgIjx0YWItbGluZT4gPGRvdWJsZS1kb3duLW1vdXNlLTI+ IiAjJ3dpbmRvdy10b29sLWJhci0taWdub3JlCisgICI8dGFiLWxpbmU+IDx0cmlwbGUtZG93bi1t b3VzZS0yPiIgIyd3aW5kb3ctdG9vbC1iYXItLWlnbm9yZSkKKyhmc2V0ICd3aW5kb3ctdG9vbC1i YXItLWJ1dHRvbi1rZXltYXAgd2luZG93LXRvb2wtYmFyLS1idXR0b24ta2V5bWFwKSA7IFNvIGl0 IGNhbiBiZSBhIGtleW1hcCBwcm9wZXJ0eQorCis7OyBSZWdpc3RlciBiaW5kaW5ncyB0aGF0IHN0 YXkgaW4gaXNlYXJjaC4gIFRlY2huaWNhbGx5LCB0aGVzZQorOzsgY29tbWFuZHMgZG9uJ3QgcG9w IHVwIGEgbWVudSBidXQgdGhleSBhY3QgdmVyeSBzaW1pbGFyIGluIHRoYXQgdGhleQorOzsgZW5k IHVwIGNhbGxpbmcgYW4gYWN0dWFsIGNvbW1hbmQgdmlhIGBjYWxsLWludGVyYWN0aXZlbHknLgor KHB1c2ggJ3dpbmRvdy10b29sLWJhci0tY2FsbC1idXR0b24gaXNlYXJjaC1tZW51LWJhci1jb21t YW5kcykKKyhwdXNoICd3aW5kb3ctdG9vbC1iYXItLWlnbm9yZSBpc2VhcmNoLW1lbnUtYmFyLWNv bW1hbmRzKQorCisoZGVmdmFyLWxvY2FsIHdpbmRvdy10b29sLWJhci1zdHJpbmctLWNhY2hlIG5p bAorICAiQ2FjaGUgZm9yIHByZXZpb3VzIHJlc3VsdCBvZiBgd2luZG93LXRvb2wtYmFyLXN0cmlu ZycuIikKKworOzs7IyMjYXV0b2xvYWQKKyhkZWZ1biB3aW5kb3ctdG9vbC1iYXItc3RyaW5nICgp CisgICJSZXR1cm4gYSAocHJvcGVydGl6ZWQpIHN0cmluZyBmb3IgdGhlIHRvb2wgYmFyLgorCitU aGlzIGlzIGZvciB3aGVuIHlvdSB3YW50IG1vcmUgY3VzdG9taXphdGlvbnMgdGhhbgorYHdpbmRv dy10b29sLWJhci1tb2RlJyBwcm92aWRlcy4gIENvbW1vbmx5IGFkZGVkIHRvIHRoZSB2YXJpYWJs ZQorYHRhYi1saW5lLWZvcm1hdCcsIGBoZWFkZXItbGluZS1mb3JtYXQnLCBvciBgbW9kZS1saW5l LWZvcm1hdCciCisgIChpZiAob3IgKG51bGwgd2luZG93LXRvb2wtYmFyLXN0cmluZy0tY2FjaGUp CisgICAgICAgICAgKHdpbmRvdy10b29sLWJhci0tbGFzdC1jb21tYW5kLXRyaWdnZXJzLXJlZnJl c2gtcCkpCisgICAgICAobGV0KiAoKG1lbTAgKG1lbW9yeS11c2UtY291bnRzKSkKKyAgICAgICAg ICAgICAodG9vbGJhci1tZW51ICh3aW5kb3ctdG9vbC1iYXItLWdldC1rZXltYXApKQorICAgICAg ICAgICAgIChtZW0xIChtZW1vcnktdXNlLWNvdW50cykpCisgICAgICAgICAgICAgKHJlc3VsdCAo bWFwY29uY2F0ICMnd2luZG93LXRvb2wtYmFyLS1rZXltYXAtZW50cnktdG8tc3RyaW5nCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjZHIgdG9vbGJhci1tZW51KSA7U2tpcCAna2V5 bWFwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IFdpdGhvdXQgc3BhY2VzIGJl dHdlZW4gdGhlIHRleHQsIGhvdmVyaW5nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDs7IGhpZ2hsaWdodHMgYWxsIGFkamFjZW50IGJ1dHRvbnMuCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChpZiAod2luZG93LXRvb2wtYmFyLS11c2UtaW1hZ2VzKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb3BlcnRpemUgIiAiICdpbnZpc2libGUgdCkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICIpKSkKKyAgICAgICAgICAgICAo bWVtMiAobWVtb3J5LXVzZS1jb3VudHMpKSkKKyAgICAgICAgKGNsLW1hcGwgKGxhbWJkYSAobC1p bml0IGwwIGwxKQorICAgICAgICAgICAgICAgICAgIChjbC1pbmNmIChjYXIgbC1pbml0KSAoLSAo Y2FyIGwxKSAoY2FyIGwwKSkpKQorICAgICAgICAgICAgICAgICB3aW5kb3ctdG9vbC1iYXItLW1l bW9yeS11c2UtZGVsdGEtc3RlcDEgbWVtMCBtZW0xKQorICAgICAgICAoY2wtbWFwbCAobGFtYmRh IChsLWluaXQgbDEgbDIpCisgICAgICAgICAgICAgICAgICAgKGNsLWluY2YgKGNhciBsLWluaXQp ICgtIChjYXIgbDIpIChjYXIgbDEpKSkpCisgICAgICAgICAgICAgICAgIHdpbmRvdy10b29sLWJh ci0tbWVtb3J5LXVzZS1kZWx0YS1zdGVwMiBtZW0xIG1lbTIpCisKKyAgICAgICAgKHNldGYgd2lu ZG93LXRvb2wtYmFyLXN0cmluZy0tY2FjaGUKKyAgICAgICAgICAgICAgKGNvbmNhdAorICAgICAg ICAgICAgICAgOzsgVGhlIHRvb2wgYmFyIGZhY2UgYnkgZGVmYXVsdCBwdXRzIGJveGVzIGFyb3Vu ZCB0aGUKKyAgICAgICAgICAgICAgIDs7IGJ1dHRvbnMuICBIb3dldmVyLCB0aGlzIGJveCBpcyBu b3QgZGlzcGxheWVkIGlmIHRoZQorICAgICAgICAgICAgICAgOzsgYm94IHN0YXJ0cyBhdCB0aGUg bGVmdG1vc3QgcGl4ZWwgb2YgdGhlIHRhYi1saW5lLgorICAgICAgICAgICAgICAgOzsgQWRkIGEg c2luZ2xlIHNwYWNlIGluIHRoaXMgY2FzZSBzbyB0aGUgYm94IGRpc3BsYXlzCisgICAgICAgICAg ICAgICA7OyBjb3JyZWN0bHkuCisgICAgICAgICAgICAgICAod2hlbiAoZGlzcGxheS1zdXBwb3J0 cy1mYWNlLWF0dHJpYnV0ZXMtcAorICAgICAgICAgICAgICAgICAgICAgICcoOmJveCAobGluZS13 aWR0aCAxKSkpCisgICAgICAgICAgICAgICAgIChwcm9wZXJ0aXplICIgIiAnZGlzcGxheSAnKHNw YWNlIDp3aWR0aCAoMSkpKSkKKyAgICAgICAgICAgICAgIHJlc3VsdCkpCisgICAgICAgIChjbC1p bmNmIHdpbmRvdy10b29sLWJhci0tcmVmcmVzaC1kb25lLWNvdW50KSkKKyAgICAoY2wtaW5jZiB3 aW5kb3ctdG9vbC1iYXItLXJlZnJlc2gtc2tpcHBlZC1jb3VudCkpCisKKyAgd2luZG93LXRvb2wt YmFyLXN0cmluZy0tY2FjaGUpCisKKyhkZWZjb25zdCB3aW5kb3ctdG9vbC1iYXItLWdyYXBoaWNh bC1zZXBhcmF0b3IKKyAgKGxldCAoKHN0ciAobWFrZS1zdHJpbmcgMyA/XHMpKSkKKyAgICAoc2V0 LXRleHQtcHJvcGVydGllcyAwIDEgJyhkaXNwbGF5IChzcGFjZSA6d2lkdGggKDQpKSkgc3RyKQor ICAgIChzZXQtdGV4dC1wcm9wZXJ0aWVzIDEgMgorICAgICAgICAgICAgICAgICAgICAgICAgICco ZGlzcGxheSAoc3BhY2UgOndpZHRoICgxKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZh Y2UgKDppbnZlcnNlLXZpZGVvIHQpKQorICAgICAgICAgICAgICAgICAgICAgICAgIHN0cikKKyAg ICAoc2V0LXRleHQtcHJvcGVydGllcyAyIDMgJyhkaXNwbGF5IChzcGFjZSA6d2lkdGggKDQpKSkg c3RyKQorICAgIHN0cikpCisKKyhkZWZ1biB3aW5kb3ctdG9vbC1iYXItLWtleW1hcC1lbnRyeS10 by1zdHJpbmcgKG1lbnUtaXRlbSkKKyAgIkNvbnZlcnQgTUVOVS1JVEVNIGludG8gYSAocHJvcGVy dGl6ZWQpIHN0cmluZyByZXByZXNlbnRhdGlvbi4KKworTUVOVS1JVEVNOiBNZW51IGl0ZW0gdG8g Y29udmVydC4gIFNlZSBpbmZvIG5vZGUgKGVsaXNwKVRvb2wgQmFyLiIKKyAgKHBjYXNlIG1lbnUt aXRlbQorICAgIDs7IFNlcGFyYXRvcnMKKyAgICAoKG9yIGAoLF8gIi0tIikKKyAgICAgICAgIGAo LF8gbWVudS1pdGVtICwoYW5kIChwcmVkIHN0cmluZ3ApCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAocHJlZCAoc3RyaW5nLXByZWZpeC1wICItLSIpKSkpKQorICAgICAoaWYgKHdpbmRv dy10b29sLWJhci0tdXNlLWltYWdlcykKKyAgICAgICAgIHdpbmRvdy10b29sLWJhci0tZ3JhcGhp Y2FsLXNlcGFyYXRvcgorICAgICAgICJ8IikpCisKKyAgICA7OyBNZW51IGl0ZW0sIHR1cm4gaW50 byBwcm9wZXJ0aXplZCBzdHJpbmcgYnV0dG9uCisgICAgKGAoLGtleSBtZW51LWl0ZW0gLG5hbWUt ZXhwciAsYmluZGluZyAuICxwbGlzdCkKKyAgICAgKHdoZW4gYmluZGluZyAgICAgIDsgSWYgbm8g YmluZGluZyBleGlzdHMsIHRoZW4gYnV0dG9uIGlzIGhpZGRlbi4KKyAgICAgICAobGV0KiAoKG5h bWUgKGV2YWwgbmFtZS1leHByKSkKKyAgICAgICAgICAgICAgKHN0ciAodXBjYXNlLWluaXRpYWxz IChvciAocGxpc3QtZ2V0IHBsaXN0IDpsYWJlbCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoc3RyaW5nLXRyaW0tcmlnaHQgbmFtZSAiXFwuKyIpKSkpCisgICAgICAg ICAgICAgIChsZW4gKGxlbmd0aCBzdHIpKQorICAgICAgICAgICAgICAoZW5hYmxlLWZvcm0gKHBs aXN0LWdldCBwbGlzdCA6ZW5hYmxlKSkKKyAgICAgICAgICAgICAgKGVuYWJsZWQgKG9yIChub3Qg ZW5hYmxlLWZvcm0pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXZhbCBlbmFibGUtZm9y bSkpKSkKKyAgICAgICAgIChpZiBlbmFibGVkCisgICAgICAgICAgICAgKGFkZC10ZXh0LXByb3Bl cnRpZXMgMCBsZW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKG1vdXNlLWZh Y2Ugd2luZG93LXRvb2wtYmFyLWJ1dHRvbi1ob3ZlcgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAga2V5bWFwIHdpbmRvdy10b29sLWJhci0tYnV0dG9uLWtleW1hcAorCQkJCSAg ICBmYWNlIHdpbmRvdy10b29sLWJhci1idXR0b24pCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RyKQorICAgICAgICAgICAocHV0LXRleHQtcHJvcGVydHkgMCBsZW4KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICdmYWNlCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnd2luZG93LXRvb2wtYmFyLWJ1dHRvbi1kaXNhYmxlZAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RyKSkKKyAgICAgICAgICh3aGVuLWxldCAoKHNwZWMgKGFuZCAod2luZG93 LXRvb2wtYmFyLS11c2UtaW1hZ2VzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChw bGlzdC1nZXQgbWVudS1pdGVtIDppbWFnZSkpKSkKKyAgICAgICAgICAgKHB1dC10ZXh0LXByb3Bl cnR5IDAgbGVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGlzcGxheQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKGFwcGVuZCBzcGVjCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChpZiBlbmFibGVkICcoOm1hcmdpbiAyIDphc2NlbnQgY2VudGVy KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcoOm1hcmdpbiAyIDph c2NlbnQgY2VudGVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6 Y29udmVyc2lvbiBkaXNhYmxlZCkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry KSkKKyAgICAgICAgIChwdXQtdGV4dC1wcm9wZXJ0eSAwIGxlbgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICdoZWxwLWVjaG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAob3IgKHBs aXN0LWdldCBwbGlzdCA6aGVscCkgbmFtZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHIpCisgICAgICAgICAocHV0LXRleHQtcHJvcGVydHkgMCBsZW4gJ3Rvb2wtYmFyLWtleSBrZXkg c3RyKQorICAgICAgICAgc3RyKSkpKSkKKworKGRlZnVuIHdpbmRvdy10b29sLWJhci0tY2FsbC1i dXR0b24gKCkKKyAgIkNhbGwgdGhlIGJ1dHRvbiB0aGF0IHdhcyBjbGlja2VkIG9uIGluIHRoZSB0 YWIgbGluZS4iCisgIChpbnRlcmFjdGl2ZSkKKyAgKHdoZW4gKG1vdXNlLWV2ZW50LXAgbGFzdC1j b21tYW5kLWV2ZW50KQorICAgIChsZXQgKChwb3NuIChldmVudC1zdGFydCBsYXN0LWNvbW1hbmQt ZXZlbnQpKSkKKyAgICAgIDs7IENvbW1hbmRzIG5lZWQgdG8gZXhlY3V0ZSB3aXRoIHRoZSByaWdo dCBidWZmZXIgYW5kIHdpbmRvdworICAgICAgOzsgc2VsZWN0ZWQuICBUaGUgc2VsZWN0aW9uIG5l ZWRzIHRvIGJlIHBlcm1hbmVudCBmb3IgaXNlYXJjaC4KKyAgICAgIChzZWxlY3Qtd2luZG93IChw b3NuLXdpbmRvdyBwb3NuKSkKKyAgICAgIChsZXQqICgoc3RyIChwb3NuLXN0cmluZyBwb3NuKSkK KyAgICAgICAgICAgICAoa2V5IChnZXQtdGV4dC1wcm9wZXJ0eSAoY2RyIHN0cikgJ3Rvb2wtYmFy LWtleSAoY2FyIHN0cikpKQorICAgICAgICAgICAgIChjbWQgKGxvb2t1cC1rZXkgKHdpbmRvdy10 b29sLWJhci0tZ2V0LWtleW1hcCkgKHZlY3RvciBrZXkpKSkpCisgICAgICAgIChjYWxsLWludGVy YWN0aXZlbHkgY21kKSkpKSkKKworKGRlZnVuIHdpbmRvdy10b29sLWJhci0taWdub3JlICgpCisg ICJEbyBub3RoaW5nLiAgVGhpcyBjb21tYW5kIGV4aXN0cyBmb3IgaXNlYXJjaC4iCisgIChpbnRl cmFjdGl2ZSkKKyAgbmlsKQorCisoZGVmdmFyIHdpbmRvdy10b29sLWJhci0taWdub3JlZC1ldmVu dC10eXBlcworICAobGV0ICgobGlzdCAobGlzdCAnbW91c2UtbW92ZW1lbnQgJ3BpbmNoCisgICAg ICAgICAgICAgICAgICAgICd3aGVlbC1kb3duICd3aGVlbC11cCAnd2hlZWwtbGVmdCAnd2hlZWwt cmlnaHQKKyAgICAgICAgICAgICAgICAgICAgbW91c2Utd2hlZWwtZG93bi1ldmVudCBtb3VzZS13 aGVlbC11cC1ldmVudAorICAgICAgICAgICAgICAgICAgICBtb3VzZS13aGVlbC1sZWZ0LWV2ZW50 IG1vdXNlLXdoZWVsLXJpZ2h0LWV2ZW50CisgICAgICAgICAgICAgICAgICAgIChib3VuZC1hbmQt dHJ1ZS1wIG1vdXNlLXdoZWVsLWRvd24tYWx0ZXJuYXRlLWV2ZW50KQorICAgICAgICAgICAgICAg ICAgICAoYm91bmQtYW5kLXRydWUtcCBtb3VzZS13aGVlbC11cC1hbHRlcm5hdGUtZXZlbnQpCisg ICAgICAgICAgICAgICAgICAgIChib3VuZC1hbmQtdHJ1ZS1wIG1vdXNlLXdoZWVsLWxlZnQtYWx0 ZXJuYXRlLWV2ZW50KQorICAgICAgICAgICAgICAgICAgICAoYm91bmQtYW5kLXRydWUtcCBtb3Vz ZS13aGVlbC1yaWdodC1hbHRlcm5hdGUtZXZlbnQpKSkpCisgICAgKGRlbGV0ZS1kdXBzIChkZWxl dGUgbmlsIGxpc3QpKSkKKyAgIkNhY2hlIGZvciBgd2luZG93LXRvb2wtYmFyLS1sYXN0LWNvbW1h bmQtdHJpZ2dlcnMtcmVmcmVzaC1wJy4iKQorCisoZGVmdW4gd2luZG93LXRvb2wtYmFyLS1sYXN0 LWNvbW1hbmQtdHJpZ2dlcnMtcmVmcmVzaC1wICgpCisgICJUZXN0IGlmIHRoZSByZWNlbnQgY29t bWFuZCBvciBldmVudCBzaG91bGQgdHJpZ2dlciBhIHRvb2wgYmFyIHJlZnJlc2guIgorICAobGV0 ICgodHlwZSAoZXZlbnQtYmFzaWMtdHlwZSBsYXN0LWNvbW1hbmQtZXZlbnQpKSkKKyAgICAoYW5k CisgICAgIDs7IEFzc3VtZSB0aGF0IGtleSBwcmVzc2VzIGFuZCBidXR0b24gcHJlc3NlcyBhcmUg dGhlIG9ubHkgdXNlcgorICAgICA7OyBpbnRlcmFjdGlvbnMgdGhhdCBjYW4gYWx0ZXIgdGhlIHRv b2wgYmFyLiAgU3BlY2lmaWNhbGx5LCB0aGlzCisgICAgIDs7IGV4Y2x1ZGVzIG1vdXNlIG1vdmVt ZW50LCBtb3VzZSB3aGVlbCBzY3JvbGwsIGFuZCBwaW5jaC4KKyAgICAgKG5vdCAobWVtYmVyIHR5 cGUgd2luZG93LXRvb2wtYmFyLS1pZ25vcmVkLWV2ZW50LXR5cGVzKSkKKyAgICAgOzsgQXNzdW1l IHRoYXQgYW55IGNvbW1hbmQgdGhhdCB0cmlnZ2VycyBzaGlmdCBzZWxlY3QgY2FuJ3QgYWx0ZXIK KyAgICAgOzsgdGhlIHRvb2wgYmFyLiAgVGhpcyBleGNsdWRlcyBwdXJlIG5hdmlnYXRpb24gY29t bWFuZHMuCisgICAgIChub3QgKHdpbmRvdy10b29sLWJhci0tY29tbWFuZC10cmlnZ2Vycy1zaGlm dC1zZWxlY3QtcCBsYXN0LWNvbW1hbmQpKQorICAgICA7OyBBc3N1bWUgdGhhdCBzZWxmLWluc2Vy dC1jb21tYW5kIHdvbid0IGFsdGVyIHRoZSB0b29sIGJhci4KKyAgICAgOzsgVGhpcyBpcyB0aGUg bW9zdCBjb21tb25seSBleGVjdXRlZCBjb21tYW5kLgorICAgICAobm90IChlcSBsYXN0LWNvbW1h bmQgJ3NlbGYtaW5zZXJ0LWNvbW1hbmQpKSkpKQorCisoZGVmdW4gd2luZG93LXRvb2wtYmFyLS1j b21tYW5kLXRyaWdnZXJzLXNoaWZ0LXNlbGVjdC1wIChjb21tYW5kKQorICAiVGVzdCBpZiBDT01N QU5EIHdvdWxkIHRyaWdnZXIgc2hpZnQgc2VsZWN0LiIKKyAgKGxldCogKChmb3JtIChpbnRlcmFj dGl2ZS1mb3JtIGNvbW1hbmQpKQorICAgICAgICAgKHNwZWMgKGNhci1zYWZlIChjZHItc2FmZSBm b3JtKSkpKQorICAgIChhbmQgKGVxIChjYXItc2FmZSBmb3JtKSAnaW50ZXJhY3RpdmUpCisgICAg ICAgICAoc3RyaW5ncCBzcGVjKQorICAgICAgICAgKHNlcS1wb3NpdGlvbiBzcGVjID9eKSkpKQor Cis7OzsjIyNhdXRvbG9hZAorKGRlZmluZS1taW5vci1tb2RlIHdpbmRvdy10b29sLWJhci1tb2Rl CisgICJUb2dnbGUgZGlzcGxheSBvZiB0aGUgdG9vbCBiYXIgaW4gdGhlIHRhYiBsaW5lIG9mIHRo ZSBjdXJyZW50IGJ1ZmZlci4iCisgIDpsaWdodGVyIG5pbAorICAobGV0ICgoc2hvdWxkLWRpc3Bs YXkgKGFuZCB3aW5kb3ctdG9vbC1iYXItbW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAobm90IChlcSB0b29sLWJhci1tYXAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGRlZmF1bHQtdmFsdWUgJ3Rvb2wtYmFyLW1hcCkpKSkpKQorICAgIChpZiAoZmJvdW5k cCAndGFiLWxpbmUtc2V0LWRpc3BsYXkpCisgICAgICAgIDs7IE5ld2x5IGFkZGVkIGZ1bmN0aW9u IGZvciBFbWFjcyAzMC4KKyAgICAgICAgKHRhYi1saW5lLXNldC1kaXNwbGF5ICd3aW5kb3ctdG9v bC1iYXItbW9kZQorCQkJICAgICAgKGFuZCBzaG91bGQtZGlzcGxheQorCQkJCSAgICcoOmV2YWwg KHdpbmRvdy10b29sLWJhci1zdHJpbmcpKSkpCisgICAgICA7OyBMZWdhY3kgcGF0aCBmb3IgRW1h Y3MgMjkuCisgICAgICAoc2V0cSB0YWItbGluZS1mb3JtYXQKKyAgICAgICAgICAgIChhbmQgc2hv dWxkLWRpc3BsYXkKKyAgICAgICAgICAgICAgICAgJyg6ZXZhbCAod2luZG93LXRvb2wtYmFyLXN0 cmluZykpKSkpKSkKKworOzs7IyMjYXV0b2xvYWQKKyhkZWZpbmUtZ2xvYmFsaXplZC1taW5vci1t b2RlIGdsb2JhbC13aW5kb3ctdG9vbC1iYXItbW9kZQorICB3aW5kb3ctdG9vbC1iYXItbW9kZSB3 aW5kb3ctdG9vbC1iYXItLXR1cm4tb24KKyAgOmdyb3VwICd3aW5kb3ctdG9vbC1iYXIKKyAgKGFk ZC1ob29rICdpc2VhcmNoLW1vZGUtaG9vayAjJ3dpbmRvdy10b29sLWJhci0tdHVybi1vbikKKyAg KGFkZC1ob29rICdpc2VhcmNoLW1vZGUtZW5kLWhvb2sgIyd3aW5kb3ctdG9vbC1iYXItLXR1cm4t b24pKQorCisoZGVmdmFyIHdpbmRvdy10b29sLWJhci0tYWxsb3ctaW1hZ2VzIHQKKyAgIkludGVy bmFsIGRlYnVnIGZsYWcgdG8gZm9yY2UgdGV4dCBtb2RlLiIpCisKKyhkZWZ1biB3aW5kb3ctdG9v bC1iYXItLXVzZS1pbWFnZXMgKCkKKyAgIkludGVybmFsIGZ1bmN0aW9uLgorUmVzcGVjdHMgYHdp bmRvdy10b29sLWJhci0tYWxsb3ctaW1hZ2VzJyBhcyB3ZWxsIGFzIGZyYW1lCitjYXBhYmlsaXRp ZXMuIgorICAoYW5kIHdpbmRvdy10b29sLWJhci0tYWxsb3ctaW1hZ2VzCisgICAgICAgKGRpc3Bs YXktaW1hZ2VzLXApKSkKKwwKKzs7OyBEaXNwbGF5IHN0eWxpbmc6CisoZGVmZmFjZSB3aW5kb3ct dG9vbC1iYXItYnV0dG9uCisgICcoKGRlZmF1bHQKKyAgICAgOmluaGVyaXQgdGFiLWxpbmUpCisg ICAgKCgoY2xhc3MgY29sb3IpIChtaW4tY29sb3JzIDg4KSAoc3VwcG9ydHMgOmJveCB0KSkKKyAg ICAgOmJveCAoOmxpbmUtd2lkdGggLTEgOnN0eWxlIHJlbGVhc2VkLWJ1dHRvbikKKyAgICAgOmJh Y2tncm91bmQgImdyZXk4NSIpCisgICAgOzsgSWYgdGhlIGJveCBpcyBub3Qgc3VwcG9ydGVkLCBk aW0gdGhlIGJ1dHRvbiBiYWNrZ3JvdW5kIGEgYml0LgorICAgICgoKGNsYXNzIGNvbG9yKSAobWlu LWNvbG9ycyA4OCkpCisgICAgIDpiYWNrZ3JvdW5kICJncmV5NzAiKQorICAgICh0CisgICAgIDpp bnZlcnNlLXZpZGVvIHQpKQorICAiRmFjZSB1c2VkIGZvciBidXR0b25zIHdoZW4gdGhlIG1vdXNl IGlzIG5vdCBob3ZlcmluZyBvdmVyIHRoZSBidXR0b24uIgorICA6Z3JvdXAgJ3dpbmRvdy10b29s LWJhcikKKworKGRlZmZhY2Ugd2luZG93LXRvb2wtYmFyLWJ1dHRvbi1ob3ZlcgorICAnKChkZWZh dWx0CisgICAgIDppbmhlcml0IHRhYi1saW5lKQorICAgICgoKGNsYXNzIGNvbG9yKSAobWluLWNv bG9ycyA4OCkpCisgICAgIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpzdHlsZSByZWxlYXNlZC1idXR0 b24pCisgICAgIDpiYWNrZ3JvdW5kICJncmV5OTUiKQorICAgICh0CisgICAgIDppbnZlcnNlLXZp ZGVvIHQpKQorICAiRmFjZSB1c2VkIGZvciBidXR0b25zIHdoZW4gdGhlIG1vdXNlIGlzIGhvdmVy aW5nIG92ZXIgdGhlIGJ1dHRvbi4iCisgIDpncm91cCAnd2luZG93LXRvb2wtYmFyKQorCisoZGVm ZmFjZSB3aW5kb3ctdG9vbC1iYXItYnV0dG9uLWRpc2FibGVkCisgICcoKGRlZmF1bHQKKyAgICAg OmluaGVyaXQgdGFiLWxpbmUpCisgICAgKCgoY2xhc3MgY29sb3IpIChtaW4tY29sb3JzIDg4KSkK KyAgICAgOmJveCAoOmxpbmUtd2lkdGggLTEgOnN0eWxlIHJlbGVhc2VkLWJ1dHRvbikKKyAgICAg OmJhY2tncm91bmQgImdyZXk1MCIKKyAgICAgOmZvcmVncm91bmQgImdyZXk3MCIpCisgICAgKHQK KyAgICAgOmludmVyc2UtdmlkZW8gdAorICAgICA6YmFja2dyb3VuZCAiYnJpZ2h0YmxhY2siKSkK KyAgIkZhY2UgdXNlZCBmb3IgYnV0dG9ucyB3aGVuIHRoZSBidXR0b24gaXMgZGlzYWJsZWQuIgor ICA6Z3JvdXAgJ3dpbmRvdy10b29sLWJhcikKKwwKKzs7OyBXb3JrYXJvdW5kIGZvciBodHRwczov L2RlYmJ1Z3MuZ251Lm9yZy9jZ2kvYnVncmVwb3J0LmNnaT9idWc9NjgzMzQuCisoZGVmdW4gd2lu ZG93LXRvb2wtYmFyLS1nZXQta2V5bWFwICgpCisgICJSZXR1cm4gdGhlIHRvb2wgYmFyIGtleW1h cC4iCisgIChsZXQgKCh0b29sLWJhci1hbHdheXMtc2hvdy1kZWZhdWx0IG5pbCkpCisgICAgKGlm IChhbmQgKHZlcnNpb248IGVtYWNzLXZlcnNpb24gIjMwIikKKyAgICAgICAgICAgICAobm90ICh3 aW5kb3ctdG9vbC1iYXItLXVzZS1pbWFnZXMpKSkKKyAgICAgICAgOzsgVGhpcyBjb2RlIHBhdGgg aXMgYSBsZXNzIGVmZmljaWVudCB3b3JrYXJvdW5kLgorICAgICAgICAod2luZG93LXRvb2wtYmFy LS1tYWtlLWtleW1hcC0xKQorICAgICAgKGtleW1hcC1nbG9iYWwtbG9va3VwICI8dG9vbC1iYXI+ IikpKSkKKworKGRlY2xhcmUtZnVuY3Rpb24gaW1hZ2UtbWFzay1wICJpbWFnZS5jIiAoc3BlYyAm b3B0aW9uYWwgZnJhbWUpKQorCisoZGVmdW4gd2luZG93LXRvb2wtYmFyLS1tYWtlLWtleW1hcC0x ICgpCisgICJQYXRjaGVkIGNvcHkgb2YgYHRvb2wtYmFyLW1ha2Uta2V5bWFwLTEnLiIKKyAgKG1h cGNhciAobGFtYmRhIChiaW5kKQorICAgICAgICAgICAgKGxldCAoaW1hZ2UtZXhwIHBsaXN0KQor ICAgICAgICAgICAgICAod2hlbiAoYW5kIChlcSAoY2FyLXNhZmUgKGNkci1zYWZlIGJpbmQpKSAn bWVudS1pdGVtKQorCQkJIDs7IEZvciB0aGUgZm9ybWF0IG9mIG1lbnUtaXRlbXMsIHNlZSBub2Rl CisJCQkgOzsgYEV4dGVuZGVkIE1lbnUgSXRlbXMnIGluIHRoZSBFbGlzcCBtYW51YWwuCisJCQkg KHNldHEgcGxpc3QgKG50aGNkciAoaWYgKGNvbnNwIChudGggNCBiaW5kKSkgNSA0KQorCQkJCQkg ICAgIGJpbmQpKQorCQkJIChzZXRxIGltYWdlLWV4cCAocGxpc3QtZ2V0IHBsaXN0IDppbWFnZSkp CisJCQkgKGNvbnNwIGltYWdlLWV4cCkKKwkJCSAobm90IChlcSAoY2FyIGltYWdlLWV4cCkgJ2lt YWdlKSkKKwkJCSAoZmJvdW5kcCAoY2FyIGltYWdlLWV4cCkpKQorCQkobGV0ICgoaW1hZ2UgKGFu ZCAoZGlzcGxheS1pbWFnZXMtcCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo ZXZhbCBpbWFnZS1leHApKSkpCisJCSAgKHVubGVzcyAoYW5kIGltYWdlIChpbWFnZS1tYXNrLXAg aW1hZ2UpKQorCQkgICAgKHNldHEgaW1hZ2UgKGFwcGVuZCBpbWFnZSAnKDptYXNrIGhldXJpc3Rp YykpKSkKKwkJICAoc2V0cSBiaW5kIChjb3B5LXNlcXVlbmNlIGJpbmQpCisJCQlwbGlzdCAobnRo Y2RyIChpZiAoY29uc3AgKG50aCA0IGJpbmQpKSA1IDQpCisJCQkJICAgICAgYmluZCkpCisJCSAg KHBsaXN0LXB1dCBwbGlzdCA6aW1hZ2UgaW1hZ2UpKSkKKwkgICAgICBiaW5kKSkKKyAgICAgICAg ICB0b29sLWJhci1tYXApKQorCisoZGVmdW4gd2luZG93LXRvb2wtYmFyLS10dXJuLW9uICgpCisg ICJJbnRlcm5hbCBmdW5jdGlvbiBjYWxsZWQgYnkgYGdsb2JhbC13aW5kb3ctdG9vbC1iYXItbW9k ZScuIgorICAod2hlbiBnbG9iYWwtd2luZG93LXRvb2wtYmFyLW1vZGUKKyAgICAod2luZG93LXRv b2wtYmFyLW1vZGUgMSkpKQorCisocHJvdmlkZSAnd2luZG93LXRvb2wtYmFyKQorCis7Ozsgd2lu ZG93LXRvb2wtYmFyLmVsIGVuZHMgaGVyZQotLSAKMi4zOS4yCgo= --=_b2ace73e7a83928017c937c8a89717da--
Jared Finder <jared@HIDDEN>
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#68765
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.