GNU bug report logs - #68765
30.0.50; Adding window-tool-bar package.

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Severity: wishlist; Reported by: Jared Finder <jared@HIDDEN>; dated Sat, 27 Jan 2024 23:38:01 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 68765 <at> debbugs.gnu.org:


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?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#68765; Package emacs. Full text available.

Message received at 68765 <at> debbugs.gnu.org:


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.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#68765; Package emacs. Full text available.
Severity set to 'wishlist' from 'normal' Request was from Stefan Kangas <stefankangas@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at submit <at> debbugs.gnu.org:


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--




Acknowledgement sent to Jared Finder <jared@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#68765; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Sat, 10 Feb 2024 17:45:01 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.