GNU bug report logs - #67611
[PATCH] Add a Pcase pattern `cl-lambda` equivalent to `cl-destructuring-bind`

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: Okamsn <okamsn@HIDDEN>; Keywords: patch; dated Sun, 3 Dec 2023 20:35:01 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

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


Received: (at 67611) by debbugs.gnu.org; 17 Jan 2024 09:12:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 17 04:12:29 2024
Received: from localhost ([127.0.0.1]:50728 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rQ1yG-0002eB-Kv
	for submit <at> debbugs.gnu.org; Wed, 17 Jan 2024 04:12:28 -0500
Received: from mail-lj1-x22f.google.com ([2a00:1450:4864:20::22f]:54335)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1rQ1yE-0002dx-Bq
 for 67611 <at> debbugs.gnu.org; Wed, 17 Jan 2024 04:12:27 -0500
Received: by mail-lj1-x22f.google.com with SMTP id
 38308e7fff4ca-2cd1232a2c7so134451631fa.0
 for <67611 <at> debbugs.gnu.org>; Wed, 17 Jan 2024 01:12:25 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1705482739; x=1706087539; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=JDbEsj5GDUeiuE0Q5bz0veKc/d0wuHIbThkqpkkKm7w=;
 b=Iovfe/ZIGF7aB082fefn2Ahy8doA7142zg/zR0o/nexdt61Uj+Hj4YNza38ydx2UV1
 ETRbKXgefGG6u+iQnZwwEJmMQKdgKivUvhay31pfxJsI8Sn0K9MGE6J5anPSvlqmgFiy
 5AWV/9Ouf7LB6DswgumPHDnFuC37/zlb9IbEyzcKYPanr0UOesgfr31tuC/w3UGRL2UQ
 2MHcxkDhozRUqdrrwHskKbgQAb6Q/pJ8NNyyT6azbyeTME9mt4XsTyPB/huRjJeqWrZl
 BEwXZvvg1tA1JKCCnyqPLU7GnCgpA+XkhCeGcpP0smDwURIrayrJOYzH1e7m6Eg3DvrK
 2HAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1705482739; x=1706087539;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=JDbEsj5GDUeiuE0Q5bz0veKc/d0wuHIbThkqpkkKm7w=;
 b=WI1VL8whZXmy8tl5rEpaRPVCDSm316FkHBJunkD9Eo8QIPoiWS5RtYJjtQ+/+RrPYQ
 XFUtu2JyXL/zr3FcPcYw/c5daDObJdulDWg3eLQd+PdKUQAxdKRocqNYY+vvgs3bxDmY
 vsrmH2zZwteIdhYxE1W8OB6A/c3ggp3HKsgdTE3mDZRKRr0YAZH4myRdlH5V6d7e26pm
 J/HbqoxfA8xdfL8R76s6tw2KgHcQbzg8Kb6mM4ZFh25SeNxA1f0pW7b3fR5wmO2MeG2w
 BKTBbVQf3+44zrRTtpsp1CumDtto6YGeYB0FNhPoXhLLDf+jqtc2FpHhC1OA3gYl8rpY
 CUVw==
X-Gm-Message-State: AOJu0Yw4ZSXSvxlo1DPZr3SlSD/Rr56Ci+dmEBWF16REMFMamSNBkl91
 rNRUlmIwrCrnOikoCarXqr9tJEbZKlIQd07UHoE=
X-Google-Smtp-Source: AGHT+IHucw+c02qTnRNC425CqT7rRT835Y+LfQs9VY3r4owEKHZ6YiTvkz129XzfaEB5hCbWHjFHWSmzx9rl6tF6zYY=
X-Received: by 2002:a2e:8e8c:0:b0:2cd:4c67:d3f1 with SMTP id
 z12-20020a2e8e8c000000b002cd4c67d3f1mr3821133ljk.102.1705482739230; Wed, 17
 Jan 2024 01:12:19 -0800 (PST)
MIME-Version: 1.0
References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN>
 <jwvplzllrrm.fsf-monnier+emacs@HIDDEN>
 <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN>
 <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN>
 <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN>
 <jwvwmsfntmc.fsf-monnier+emacs@HIDDEN>
 <CALDnm52=voD5PrnsU58wQR1omwymYdUALEAueqsQTZujU6i0rQ@HIDDEN>
 <jwvle8uefqj.fsf-monnier+emacs@HIDDEN> <E1rOqrI-0007yP-Kg@HIDDEN>
 <875xzw4ngq.fsf@HIDDEN> <E1rPwcn-0004ln-Ml@HIDDEN>
In-Reply-To: <E1rPwcn-0004ln-Ml@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Wed, 17 Jan 2024 09:12:07 +0000
Message-ID: <CALDnm51LhM6WTFN22tw0NrEo7koRPk8Bf0Vu-2=8g+idGQj69Q@HIDDEN>
Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to
 `cl-destructuring-bind`
To: rms@HIDDEN
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 67611
Cc: 67611 <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.0 (-)

On Wed, Jan 17, 2024 at 3:29=E2=80=AFAM Richard Stallman <rms@HIDDEN> wrot=
e:

> Could you tell me more concretely what this proposed feature would
> look like in use?  Perhaps with an example including context?

Many examples in the patch, have you looked?

> pcase does not use lambda lists, and neither does cond*.

Pcase it extensible for any object structure the user may
think of you can think of. This proposal is an extension.

Here's an example

(pcase some-mistery-object
   ((cl-arglist (42 &key a b c))  ; this proposal
    (message "Oh, it starts it 42 and has c=3D%s" c))
   (`(,_ ,x ,_)
    (message "Boring three-element list with middle %s" x))
   (`[,_ ,x ,_]
    (message "Fancy vector with middle %s" x))
   ((franklinboing (nixneez)) ; my data-structure
    (message "This franklinboing has some nice nixneez %s=3D" nizneez)))

Jo=C3=A3o




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

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


Received: (at 67611) by debbugs.gnu.org; 17 Jan 2024 03:30:06 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 16 22:30:06 2024
Received: from localhost ([127.0.0.1]:50301 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rPwcw-0006xE-BI
	for submit <at> debbugs.gnu.org; Tue, 16 Jan 2024 22:30:06 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:57024)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rms@HIDDEN>) id 1rPwcu-0006lg-MN
 for 67611 <at> debbugs.gnu.org; Tue, 16 Jan 2024 22:30:05 -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 <rms@HIDDEN>)
 id 1rPwco-0000wK-KO; Tue, 16 Jan 2024 22:29:58 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=Date:References:Subject:In-Reply-To:To:From:
 mime-version; bh=S9GqPm8eW4qwdYSXhLsmgngZjubJyFRc8cvn9lAs3Gw=; b=flYZXogeD2P0
 Fb0eUqKj1MSiCTZZyhZKUgLNDm1tCwNTRRRu8PeLhAx2rmlvLc2wjnP/M5fgkh98wBm4YFYKy+Iyu
 jgQ16byOVjaV2wy2BmMaveKntbRU9zKcCh4BJ0K62T98NWuAxvGRvXFLusbrgPlBJVT64vZE9FH0a
 bBtKzRpXDnyADSsHHsC/gjZY53MOgbT+7xWiI+KNLH7I/WtrrkmTgh1uUr8FB0UueXNNNL9jSJoiV
 BQhb1yJoR7yp3eNnsji8j40yRBDFeZr43yPLvT73SS6BhwjXekmydKxQ5pl3kmGMg2jZ7kXEyJdB5
 XkvNhXg2wF5tSNAWxNEg2g==;
Received: from rms by fencepost.gnu.org with local (Exim 4.90_1)
 (envelope-from <rms@HIDDEN>)
 id 1rPwcn-0004ln-Ml; Tue, 16 Jan 2024 22:29:57 -0500
Content-Type: text/plain; charset=Utf-8
From: Richard Stallman <rms@HIDDEN>
To: =?iso-8859-1?Q?Jo=C3=A3o_T=C3=A1vora?= <joaotavora@HIDDEN>
In-Reply-To: <875xzw4ngq.fsf@HIDDEN> (message from =?iso-8859-1?Q?Jo=C3?=
 =?iso-8859-1?Q?=A3o_T=C3=A1vora?= on Sun, 14
 Jan 2024 03:12:53 +0000)
Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to
 `cl-destructuring-bind`
References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN>
 <jwvplzllrrm.fsf-monnier+emacs@HIDDEN>
 <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN>
 <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN>
 <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN>
 <jwvwmsfntmc.fsf-monnier+emacs@HIDDEN>
 <CALDnm52=voD5PrnsU58wQR1omwymYdUALEAueqsQTZujU6i0rQ@HIDDEN>
 <jwvle8uefqj.fsf-monnier+emacs@HIDDEN>
 <E1rOqrI-0007yP-Kg@HIDDEN> <875xzw4ngq.fsf@HIDDEN>
Message-Id: <E1rPwcn-0004ln-Ml@HIDDEN>
Date: Tue, 16 Jan 2024 22:29:57 -0500
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 67611
Cc: 67611 <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>
Reply-To: rms@HIDDEN
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > > Would someone please tell me what syntax is being proposed here,
  > > and show me an example, saying what it would mean?

  > Common-lisp style lambda lists.  The ones containing the &key and
  > &optional with more features.

Thanks for answering, but its meaning is not concretely clear to me.

Could you tell me more concretely what this proposed feature would
look like in use?  Perhaps with an example including context?

pcase does not use lambda lists, and neither does cond*.  They are
based on the backquote construct, which does not use &-keywords.
I see a danger of conceptual incoherence here.

If we want to extend the kinds of constructs for destructuring lists,
we should extend the features of backquote.  That would give a more
coherent interface.

We could define ,? to specify an element that might br missing,
and ,& to specify a keyword argument.  These could work in backquote
for constructing lists as well as in destructiring.

(let ((x 9) (y 10) (z nil) (u 11) (v nil) (w '(12 13)))
  `(a ,x ,?y ,?z ,&(foo u) ,&(bar v) . ,w))

=> (a 9 10 foo 11 12 13)

That is my first stab at the design.  I think it is better,
for this purpose, than using parmlist keywords.
But maybe with more thinking we can find improvements.

-- 
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)






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

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


Received: (at 67611) by debbugs.gnu.org; 14 Jan 2024 03:13:01 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 13 22:13:01 2024
Received: from localhost ([127.0.0.1]:41445 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rOqvl-0006QY-9M
	for submit <at> debbugs.gnu.org; Sat, 13 Jan 2024 22:13:01 -0500
Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]:52661)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1rOqvi-0006QH-Vu
 for 67611 <at> debbugs.gnu.org; Sat, 13 Jan 2024 22:12:59 -0500
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-336c8ab0b20so6692746f8f.1
 for <67611 <at> debbugs.gnu.org>; Sat, 13 Jan 2024 19:12:59 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1705201974; x=1705806774; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=00eIJKw7dwF8lAp6/hIt/lmF+Bkt3GTLWFylCNQNS/w=;
 b=hwZqCDGu/mFjRdVOJNkkCtnctMhEP7HA2S7rAahSQJ+EUgcZqHMPnI61M+UIyLGBdj
 73iEjyXd8fhc8c5oTY1G5T6iL/55okyEszOAvIvDMnxf7x9UZskn9bTbEKfAmGzjEaxp
 MFk+se1dI5QIkyrFNIOwauOw/RfTLheE5PhHA3DFtnCSxuFG98WgQnsZOT3qSzzla+sU
 D9nc1ridOpPJWIwEd+dtL1twdPHbvWr0o2LIyKup11JpdyrLtlEwngUf0otQlZnZ49NK
 RoOy51b92vkoxnaq62CayIZaq8xM8ra7JfN4v79PgZT7egvI7sa3cHSZBEmbrzFoHNDT
 +Zzw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1705201974; x=1705806774;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=00eIJKw7dwF8lAp6/hIt/lmF+Bkt3GTLWFylCNQNS/w=;
 b=tskYBVzD0CIuKOy7DJ94klUSqrcLdCTLgw5UP8MBbxLtgFuPuH/xD4wonHgkP0zeIN
 oI6V4s61WADlGDjhGcYZAJJ21RN06uW4+JVRX+9pUXzmdBrOlLwDKvpfP9JixVWzABR+
 WHP4SrTjivxCUqvoUlY5qn+x/m2bCbTIZIkNke3P8sQaCkxeiuIhIxMUh5awJWbj4nQF
 WVx+c935VQAyJHCCjMRf8VfoOSivB+jXsgWXpQgk+k0MW/k8zmlIDHL4Qd4VKgaTMOmb
 byiHFtI6vTQoTJSszec0qHJujcki23bNuKR+0klBk/ak3mHNR3dv4l27fGbh+qglxUP0
 pq5g==
X-Gm-Message-State: AOJu0YxQgnrKTLkniRhJVnp13LF3auSOfO8/3fYXkbL9wzl0TzTaOulB
 oCK9WQpKG7dcCd7L2ScRi+g=
X-Google-Smtp-Source: AGHT+IFuhGjdKxDi3Lz5GksEtsIm2o+22UgS/hVyDsRAPkwDRtS2JediR8gSZFUBd8eEl3KvZ3bR/w==
X-Received: by 2002:a05:6000:10ca:b0:336:7a51:5fac with SMTP id
 b10-20020a05600010ca00b003367a515facmr1929132wrx.71.1705201974098; 
 Sat, 13 Jan 2024 19:12:54 -0800 (PST)
Received: from krug (87-196-72-99.net.novis.pt. [87.196.72.99])
 by smtp.gmail.com with ESMTPSA id
 l8-20020adfe588000000b0033662c2820bsm8041814wrm.117.2024.01.13.19.12.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 13 Jan 2024 19:12:53 -0800 (PST)
From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
To: Richard Stallman <rms@HIDDEN>
Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent
 to `cl-destructuring-bind`
In-Reply-To: <E1rOqrI-0007yP-Kg@HIDDEN> (Richard Stallman's message
 of "Sat, 13 Jan 2024 22:08:24 -0500")
References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN>
 <jwvplzllrrm.fsf-monnier+emacs@HIDDEN>
 <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN>
 <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN>
 <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN>
 <jwvwmsfntmc.fsf-monnier+emacs@HIDDEN>
 <CALDnm52=voD5PrnsU58wQR1omwymYdUALEAueqsQTZujU6i0rQ@HIDDEN>
 <jwvle8uefqj.fsf-monnier+emacs@HIDDEN>
 <E1rOqrI-0007yP-Kg@HIDDEN>
Date: Sun, 14 Jan 2024 03:12:53 +0000
Message-ID: <875xzw4ngq.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 67611
Cc: okamsn@HIDDEN, 67611 <at> debbugs.gnu.org,
 Stefan Monnier <monnier@HIDDEN>, stefankangas@HIDDEN
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.0 (-)

Richard Stallman <rms@HIDDEN> writes:

> Would someone please tell me what syntax is being proposed here,
> and show me an example, saying what it would mean?

Common-lisp style lambda lists.  The ones containing the &key and
&optional with more features.  It'd make it possible to use pcase for
things similar to cl-destructuring-bind, which I suppose you know.




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

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


Received: (at 67611) by debbugs.gnu.org; 14 Jan 2024 03:08:36 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 13 22:08:36 2024
Received: from localhost ([127.0.0.1]:41432 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rOqrT-0006IA-SI
	for submit <at> debbugs.gnu.org; Sat, 13 Jan 2024 22:08:36 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:55438)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rms@HIDDEN>) id 1rOqrR-0006Hv-JZ
 for 67611 <at> debbugs.gnu.org; Sat, 13 Jan 2024 22:08:34 -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 <rms@HIDDEN>)
 id 1rOqrN-0004kW-5t; Sat, 13 Jan 2024 22:08:29 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=Date:References:Subject:In-Reply-To:To:From:
 mime-version; bh=JTSFIjBkgLdQExTo0RPGc70g+1TwreVt0FdKpR9lg/A=; b=nb762Hd+SD7m
 0k0CIVXn3j/wwa8wrkpuWubEhAOfY+zszwaKQ4NBhlUAicJHUNhqRiadfQ3BTqzMU58VJNP5BMc7P
 Zcgf0+AGB0wphn44hjqTxwxq7ZyVmlnPtxt9LoGtI1UKdj4Is9k/yHqFUE3UNTRpl8I5aw8yL+Zqi
 bFDxy9O0s2WWAzAV7fngpWLM7MR4SVwaeEYoqEs4uaD7JkZyR71d/9rs9oOGWaikDzcS1SNa7UB/w
 JYElPnGJSYarwOVxtR1lgo0faSVKf7braTRrJhbX3sTrmNULjaDbV8qlJvYxv7DBWFHxgLT2d7dnI
 nhpF7hca0cQWZ8uFDQhiYA==;
Received: from rms by fencepost.gnu.org with local (Exim 4.90_1)
 (envelope-from <rms@HIDDEN>)
 id 1rOqrI-0007yP-Kg; Sat, 13 Jan 2024 22:08:25 -0500
Content-Type: text/plain; charset=Utf-8
From: Richard Stallman <rms@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <jwvle8uefqj.fsf-monnier+emacs@HIDDEN> (bug-gnu-emacs@HIDDEN)
Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to
 `cl-destructuring-bind`
References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN>
 <jwvplzllrrm.fsf-monnier+emacs@HIDDEN>
 <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN>
 <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN>
 <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN>
 <jwvwmsfntmc.fsf-monnier+emacs@HIDDEN>
 <CALDnm52=voD5PrnsU58wQR1omwymYdUALEAueqsQTZujU6i0rQ@HIDDEN>
 <jwvle8uefqj.fsf-monnier+emacs@HIDDEN>
Message-Id: <E1rOqrI-0007yP-Kg@HIDDEN>
Date: Sat, 13 Jan 2024 22:08:24 -0500
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 67611
Cc: okamsn@HIDDEN, 67611 <at> debbugs.gnu.org, joaotavora@HIDDEN,
 stefankangas@HIDDEN
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>
Reply-To: rms@HIDDEN
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

Would someone please tell me what syntax is being proposed here,
and show me an example, saying what it would mean?

I would like to try to adapt it it to cond*.  Maybe I could make it
simple enough for people to like it.


-- 
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)






Information forwarded to bug-gnu-emacs@HIDDEN:
bug#67611; Package emacs. Full text available.
Removed tag(s) notabug and wontfix. Request was from Stefan Kangas <stefankangas@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

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


Received: (at 67611) by debbugs.gnu.org; 13 Jan 2024 06:59:01 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 13 01:59:01 2024
Received: from localhost ([127.0.0.1]:38231 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rOXyu-0008ES-N6
	for submit <at> debbugs.gnu.org; Sat, 13 Jan 2024 01:59:00 -0500
Received: from mail-ed1-x535.google.com ([2a00:1450:4864:20::535]:57850)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <stefankangas@HIDDEN>) id 1rOXyo-0008EB-SW
 for 67611 <at> debbugs.gnu.org; Sat, 13 Jan 2024 01:58:58 -0500
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5574feb7958so8350411a12.3
 for <67611 <at> debbugs.gnu.org>; Fri, 12 Jan 2024 22:58:56 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1705129130; x=1705733930; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=B7UCoj0NthDkQ+1BloMup+U6UHzQSS94/D0othxCGxY=;
 b=hVWWSrjAmjxrwHd29PxBFzyN3+f3lfrREsuDaAheLiDg4xIl0aHnztFIxjNPuPOd2I
 2VjVDH65W3AH2jd6nkiA41dHacqtSqU8Ev89ifuqaCaaz20i3TDkMU6yb/kt0IbFYwj8
 az6ZwJM9hM9OlynxyGtM9kfCMAuArYvuABWhC6IW8nMIg3OgllKbK8xyDzSKBhkd2YmQ
 9ETcE7DrGgYtF7BcOGbpygpSg+Z7lOf8ypVvvP5oRFibme7hqszHE0hf8Uh9JVBwQkgI
 cRXhojCeMM20hDCT4Ax7Slp3yuv0v08naCcip+2lQdLFarsVDVBjF6h8byWaOAk8/W77
 QbQQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1705129130; x=1705733930;
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:x-gm-message-state:from:to
 :cc:subject:date:message-id:reply-to;
 bh=B7UCoj0NthDkQ+1BloMup+U6UHzQSS94/D0othxCGxY=;
 b=DrzPcUyCNeij78JdMy+HR8A8DRVqg7CeVj+sOhx0xqyVzksQIxly+wlWAM7iWIC9Hs
 vXj8HQNEdy3oruhqoKsdRG6ngjs/7lJ1V4hdiDg/jzLBzmUX2ef6aeU9Weyo/0gZxEMk
 WSBb/xWzshL6ORy4o54C7XafO55+cwtMx3jjyq09cuRVtZLzg8hXbh96TY6YgFim4IwT
 rPl/T76W+euDdl9GtdipaY2p0C45EuSFOBUvize/bVK79e4JSb0AaYWtHvRnnvjNd3Be
 6cV233m4M+KkZUwQLLbFRnr6dOxRiiQPhMSMY4qdbyk3p/q+KrKYcK9cK6pqEftXHCbq
 1ihw==
X-Gm-Message-State: AOJu0Yyy/iHeA6Gx07oTVlGwAtghmRQMg7BD8Zsnb2eLaWY/l94QBif8
 0872SD7eJ907aLz9ERNIrGwOq2pzSCJiRS0T9OA=
X-Google-Smtp-Source: AGHT+IGSYo5LC9Axsm6ek/I69q5IxxI90ebh4iQOZD4Zgnn+TUa1urlIVL5w/A1CgRQcGuhIsQKQKSpi/7pHc1rnZiU=
X-Received: by 2002:a05:6402:28a5:b0:558:a602:ae13 with SMTP id
 eg37-20020a05640228a500b00558a602ae13mr1240722edb.57.1705129130532; Fri, 12
 Jan 2024 22:58:50 -0800 (PST)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Sat, 13 Jan 2024 00:58:49 -0600
From: Stefan Kangas <stefankangas@HIDDEN>
In-Reply-To: <CALDnm51S-AXtJB9BZrn2V4MH_OvPZ8pPP3jE94_6SVw6TyZZQQ@HIDDEN>
References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN>
 <jwvplzllrrm.fsf-monnier+emacs@HIDDEN>
 <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN>
 <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN>
 <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN>
 <jwvwmsfntmc.fsf-monnier+emacs@HIDDEN>
 <CALDnm52=voD5PrnsU58wQR1omwymYdUALEAueqsQTZujU6i0rQ@HIDDEN>
 <jwvle8uefqj.fsf-monnier+emacs@HIDDEN>
 <CALDnm51S-AXtJB9BZrn2V4MH_OvPZ8pPP3jE94_6SVw6TyZZQQ@HIDDEN>
MIME-Version: 1.0
Date: Sat, 13 Jan 2024 00:58:49 -0600
Message-ID: <CADwFkm=GAv9ffzY+UE6Qsew8a5zTXx=iQ6sOcNs1+GpjgYG_jw@HIDDEN>
Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to
 `cl-destructuring-bind`
To: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>, 
 Stefan Monnier <monnier@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 67611
Cc: Okamsn <okamsn@HIDDEN>, 67611 <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.0 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

> Pcase is complicated and hard-to-follow yes.  Becasue complex pattern
> matching is a complicated thing to express, just as regular expressions
> are such a thing

Pretty much, yes.  We could improve its documentation though.

We could add a tutorial to the ELisp manual, for example (probably not
included in the printed version).

> If you ask me, we'd be better off designing an "explain pcase"
> utility or designing font-lock rules that helps explain it.
>
> The byte-compiler  is already traversing that anyway and flagging
> unused variables and stuff.  Can't we use this to mark what is a
> lexical variable and what is a literal symbol, for example?  Can't
> we have a very clear highlighting of the pcase extension being
> used, like highlighting the '`' or the 'cl-arglist' or the 'seq'.

That would be very useful to explore, I think.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#67611; Package emacs. Full text available.
Did not alter fixed versions and reopened. Request was from Debbugs Internal Request <help-debbugs@HIDDEN> to internal_control <at> debbugs.gnu.org. Full text available.

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


Received: (at 67611) by debbugs.gnu.org; 13 Jan 2024 06:39:01 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 13 01:39:01 2024
Received: from localhost ([127.0.0.1]:38194 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rOXfZ-0004yk-6U
	for submit <at> debbugs.gnu.org; Sat, 13 Jan 2024 01:39:01 -0500
Received: from mail-ed1-x534.google.com ([2a00:1450:4864:20::534]:42394)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <stefankangas@HIDDEN>) id 1rOXfV-0004yO-Bo
 for 67611 <at> debbugs.gnu.org; Sat, 13 Jan 2024 01:38:59 -0500
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-557c188f313so10602921a12.1
 for <67611 <at> debbugs.gnu.org>; Fri, 12 Jan 2024 22:38:58 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1705127933; x=1705732733; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=avsVikGOEeXA/RUKrW9kdDabi8ZJXA+O7SNdcS2uO5g=;
 b=Cc8IK4DEGz3IzXiNhZK57L8b9vVOkxOh3kZRWuLpgxD1/kVH9hE4cm0H6F81qXNFq3
 8ULCksL5wNsrG/ALzOqCNq1FKcDsK5VL9HtR73OK/UL7Wh/CWNcxjePEJRcWaT3TOgte
 r9hVVQtT/l2wdYD2G4/gSQ6FkeWwj1U9E1skMXlTw+qwYBZguT0QzX/axhU8IKL6v6ib
 rsKYJtpVVIRebjqvLD1kCKrUFMnUQVCCzLHsn/n2c62ZRMQkOhWZ5kC5JgQtcMBAHSP8
 TCPzA/eRNh9YIE38oKxJJRzht+0OwEAyPkYbqVfbXWqusL1oom7EjLnzhprn3PVFxawH
 QPxA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1705127933; x=1705732733;
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:x-gm-message-state:from:to
 :cc:subject:date:message-id:reply-to;
 bh=avsVikGOEeXA/RUKrW9kdDabi8ZJXA+O7SNdcS2uO5g=;
 b=CW7Fey2/EWYD/0lSYIwodzhG/A1dJNfQY5zz/zteKcYDnnDj9L+n70Nk8dBv4iGgJI
 udJePdB2d7eBDg4Q0cN1VRZAraVJ2mDLzwm4fh2LvS7/pOow2oHnAvwKcVNYNF9+2XtA
 WRyYtHEC2DaeKOSERpEYfkQWFOZA61KYSUxHi/FD7/380F4V+IXLGi4SQB7gas+M1YSD
 rrvNJJyWv7vp2aJPqhKy9GlnKEyi/g/rI/BSfObAKadS8W+i06GyTYEr9vuzlenmFwc/
 w6sjwC1U7hEWC0BIcHvZRFTXBi+mXj8cxPP1RzUk54XxaZOZnt0HoKrfm4kFvgQi5+o6
 4Ggg==
X-Gm-Message-State: AOJu0YznVTGynPnCAyWfEPJUvcCx5UNgwEHwJc96BVxM+RiMm87Pj+lH
 vjPS5YBlfXFVT+x7nSY6NzAfQdvTz6tfejqAuNo=
X-Google-Smtp-Source: AGHT+IFSfu2wwnTNf77hcxy8czzECRVGDvxhd49B0e6ZfzfoNeAE9JPuWx+FdSofV5+sjXqD9wMtxOrNcUR88gf7f7M=
X-Received: by 2002:a05:6402:1c88:b0:558:fb9d:14f4 with SMTP id
 cy8-20020a0564021c8800b00558fb9d14f4mr394218edb.11.1705127932894; Fri, 12 Jan
 2024 22:38:52 -0800 (PST)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Sat, 13 Jan 2024 00:38:52 -0600
From: Stefan Kangas <stefankangas@HIDDEN>
In-Reply-To: <CALDnm528OQYfensjv41CqOBV5c7FjJih7t9X2gXb5Q2zz6amwg@HIDDEN>
References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN>
 <jwvplzllrrm.fsf-monnier+emacs@HIDDEN>
 <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN>
 <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN>
 <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN>
 <CADwFkmnKonoweYJYjeWsrGnFjCvWUs7DoFdrDqAti=SMk8m44Q@HIDDEN>
 <CALDnm528OQYfensjv41CqOBV5c7FjJih7t9X2gXb5Q2zz6amwg@HIDDEN>
MIME-Version: 1.0
Date: Sat, 13 Jan 2024 00:38:52 -0600
Message-ID: <CADwFkmnqnVq-Y2FZWwcZqCKzG3DO01RNGeK+1bwx=0+EzCFFLA@HIDDEN>
Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to
 `cl-destructuring-bind`
To: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 67611
Cc: Okamsn <okamsn@HIDDEN>, 67611 <at> debbugs.gnu.org,
 Stefan Monnier <monnier@HIDDEN>
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.0 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

> I think it makes sense, but I don't know how to do that.  Just write
> reopen 67611/thanks to this tracker?

Yes, on two separate lines to the control@ address.




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

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


Received: (at 67611) by debbugs.gnu.org; 12 Jan 2024 16:56:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 12 11:56:43 2024
Received: from localhost ([127.0.0.1]:37508 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rOKpn-0004IZ-Ec
	for submit <at> debbugs.gnu.org; Fri, 12 Jan 2024 11:56:43 -0500
Received: from mail-lj1-x229.google.com ([2a00:1450:4864:20::229]:58478)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1rOKpl-0004IE-3N
 for 67611 <at> debbugs.gnu.org; Fri, 12 Jan 2024 11:56:42 -0500
Received: by mail-lj1-x229.google.com with SMTP id
 38308e7fff4ca-2cd17a979bcso76174171fa.0
 for <67611 <at> debbugs.gnu.org>; Fri, 12 Jan 2024 08:56:42 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1705078597; x=1705683397; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=FoNKWG4Izd8aIedLLTrGBfdw+1jtA9M/SV+NoPvH9cw=;
 b=a6JXxFyKR2NL06WJzCwQjLd0BgXObd+CSbGQ+qI1pt3O2YVnZss1y9TvW7o02o/79d
 NluC/2UZwRVTpEkNJLsMym87usVql8oSpfTOAVE1qTlDa6fb3DpPROqfSIhAC0/0U4f7
 QqIeZoCGesyJNn2Z2igtAGdBmEye5+kd3palL6+wDl0ZOSBufHHZD80WkNqgS4gvoPxS
 4Mdt9ApHX+cvAQupKvZz70Qx0EbkY027fJ790v/XJYPCYTezvfXv5PCV1D53kxWY4Sd4
 N/qGxN701V5fMpjzHdQCYwQduYhSuktEx5EeFMludt+aiUfXHo79tK9yeqQgL3IKySKa
 cFTQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1705078597; x=1705683397;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=FoNKWG4Izd8aIedLLTrGBfdw+1jtA9M/SV+NoPvH9cw=;
 b=MZ1uTAjJIYGD3azvPKyMx9E4zwmY6ZwyMrCe3mALjocCLQIngILlrW+G8w+9kzr334
 7jPhKfQG5iPr/pCZIBghC4flinaTzEbAKB03Ok5WNVFgLFdYDBPVpryYwowO2UkcwFtk
 XPFL2pfL5M+13/0p/cVKDqRGp+hSMqMTB1+KbLq6AvmgaPOMc1m9dViuUaNJ3QKgHfFZ
 f0J1Pa6B6JbPpq/rFSKO3DPP8I455pMlXfuGMmS2Qvq+cc+S8kX3iWNGjZGtibP1a63U
 ouH3Fqmit2Fb1S7TxLnXb8IGNB41tcva9mo4P6Gu5H0UAPR1MjYLCwrxLFPDpxNBxqEo
 2kQg==
X-Gm-Message-State: AOJu0YwDC59LWYFi1wOSw86mDHdqlHLLlH2mfwlQQz2Dk0IredCpgb09
 S0Wl35cI/hRYRmKL9zD7foQ3FMUjJuOnGrxd/qc=
X-Google-Smtp-Source: AGHT+IGE2Qd/raTw6Xw6SKhQRccHgOOV0aHbOOEzF9Hwr32WEGx53fAPNNc6sI7MNYR0XXZ3nyJohv7XERCX0Gii8Rw=
X-Received: by 2002:a05:651c:1038:b0:2cc:94f6:bfc7 with SMTP id
 w24-20020a05651c103800b002cc94f6bfc7mr458418ljm.170.1705078596595; Fri, 12
 Jan 2024 08:56:36 -0800 (PST)
MIME-Version: 1.0
References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN>
 <jwvplzllrrm.fsf-monnier+emacs@HIDDEN>
 <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN>
 <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN>
 <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN>
 <jwvwmsfntmc.fsf-monnier+emacs@HIDDEN>
 <CALDnm52=voD5PrnsU58wQR1omwymYdUALEAueqsQTZujU6i0rQ@HIDDEN>
 <jwvle8uefqj.fsf-monnier+emacs@HIDDEN>
In-Reply-To: <jwvle8uefqj.fsf-monnier+emacs@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Fri, 12 Jan 2024 16:56:25 +0000
Message-ID: <CALDnm51S-AXtJB9BZrn2V4MH_OvPZ8pPP3jE94_6SVw6TyZZQQ@HIDDEN>
Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to
 `cl-destructuring-bind`
To: Stefan Monnier <monnier@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 67611
Cc: Okamsn <okamsn@HIDDEN>, 67611 <at> debbugs.gnu.org,
 Stefan Kangas <stefankangas@HIDDEN>
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.0 (-)

reopen 67611
thanks

On Fri, Jan 12, 2024 at 3:38=E2=80=AFPM Stefan Monnier <monnier@HIDDEN=
al.ca> wrote:
>
> >> I don't think there's a clear enough need for it right now in Emacs co=
re
> >> to motivate its integration in Emacs proper.  Also, because several
> >> people have expressed an opinion that leans towards recommending that
> >> Emacs's own code should probably better avoid using this functionality=
.
> > Those people are trying to come up with alternative pattern-matching
> > libraries which we start to see are not simpler or as powerful
> > as pcase.
>
> Only some of them are.  Others are perfectly happy with using `pcase`
> but still aren't super happy about combining the complexity of `pcase`
> with that of CL destructuring syntax.
>
> Personally I'm rather put off by the difficulty of figuring out which
> part is using CL syntax and which part is using Pcase: the transition
> from Pcase to CL is fairly clear (marked by `cl-arglist` or somesuch),
> but the other is much less so.
> I'd be happier with a `cl-arglist` which cannot contain nested Pcase
> patterns (i.e. a one-way street from Pcase to CL) with
> `cl-destructuring-bind` reimplemented on top of it.

Can a pcase extension even be a one-way street?   And if so, isn't
that contrary to the whole purpose of pcase itself? Why have this ban
specifically on a CL pattern (should really be called "lambda-list"
by the way) when we have a cl library in core and so many uses
of CL things that use CL-style lambda lists, with or without cl-*.el.

We have so many other less commonly used extensions, some of them
subtle performance problems, like seq extensions that rely on generic
functions.

Pcase is complicated and hard-to-follow yes.  Becasue complex pattern
matching is a complicated thing to express, just as regular expressions
are such a thing (I for one do not think 'rx' makes things particularly
simpler). If you ask me, we'd be better off designing an "explain pcase"
utility or designing font-lock rules that helps explain it.

The byte-compiler  is already traversing that anyway and flagging
unused variables and stuff.  Can't we use this to mark what is a
lexical variable and what is a literal symbol, for example?  Can't
we have a very clear highlighting of the pcase extension being
used, like highlighting the '`' or the 'cl-arglist' or the 'seq'.

> I'd also be interested in a new Pcase pattern that provides the part of
> `cl-arglist` functionality that's missing from current Pcase patterns
> (like "optional" elements in a list), but with a syntax that blends
> better in Pcase patterns.

I'd rather not reinvent half-baked CL things, as it's all
too common to discover later we should have gone full-baked and
we have digressed for no good reason.

> > IOW there is no general purpose-util like Alexandria's
> > 'parse-ordinary-lambda-list', and this could be it.  It could
> > not only be used to simplify and add coherence to many of these
> > existing compile-time structures, for example helping simplify
> > things and address FIXMEs in cl-lib.el.
>
> That's a different question: improving up cl-lib's implementation would
> be welcome, yes.  That's not what the current patch does, tho.

It provides a tool to help do that, of course.

Anyway if there's some common ground here, let's not throw
the entire baby out with the bathwater.

Maybe Okamsn can repurpose the helper function he created
to parse lambda lists to be akin to Alexandria's
parse-simple-lambda-list.  It seems it already is fairly
close (the alist retun type in Elisp is natural as we don't
have multiple values).  Also the function's implementaion
should be changed to rely on as little as possible of
existing cl-macs (cl-copy-list and cl-flet can maybe
be skipped -- and maybe added back again later).

Shoulnd't be a very hard job (I might be wrong).

Then we can consider merging that including figuring out
where to merge it.

And then we can continue discussing about the usefulness
the pcase patterns that can be built with it, sure.

I've reopened the bug.

Jo=C3=A3o




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

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


Received: (at 67611) by debbugs.gnu.org; 12 Jan 2024 15:39:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 12 10:39:00 2024
Received: from localhost ([127.0.0.1]:37257 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rOJca-0004ve-20
	for submit <at> debbugs.gnu.org; Fri, 12 Jan 2024 10:39:00 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:42135)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1rOJcX-0004vO-Ss
 for 67611 <at> debbugs.gnu.org; Fri, 12 Jan 2024 10:38:58 -0500
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 2E096812A8;
 Fri, 12 Jan 2024 10:38:53 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1705073931;
 bh=+Z9JrBLYb1WjUQoqDN034Hcz/BiH6oQCofQ7kwuuq4s=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=cleuaBkCoMGdO/nIeGA3dBOKjQ/IV8DS4LBHOy6JiOCtHm9O321/jTAPWbfAw97ME
 PiOAXmyy2Z60t3MqvoNHiHilnncX7vjwJ/I+GUzUSei0m4b7H1vMVJf3Q9Tca0cj4Q
 kB+Za001210LpqaRK7bRM8vJr95VXD4Za5/GRJnx8TttiwU40onwqy9mVf6A0ljLLw
 tMN5ibC+ppMn3SN6DV/Ahw4E0mfV+vbGlJTCsrXUzI+OIO5gVpLY0M+xkcWmYOyMQT
 YTQdFG745j00Wcsx70uD6dWpCAvOcAc+UjFmFA3OQ5CLXTaF27nVkcosl3oMvaYjQV
 eI5b0K9J1w1qw==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id C2F83800D0;
 Fri, 12 Jan 2024 10:38:51 -0500 (EST)
Received: from alfajor (unknown [23.233.149.155])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 92FE2120BA0;
 Fri, 12 Jan 2024 10:38:51 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: =?windows-1252?B?Sm/jbyBU4XZvcmE=?= <joaotavora@HIDDEN>
Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent
 to `cl-destructuring-bind`
In-Reply-To: <CALDnm52=voD5PrnsU58wQR1omwymYdUALEAueqsQTZujU6i0rQ@HIDDEN>
 (=?windows-1252?Q?=22Jo=E3o_T=E1vora=22's?= message of "Fri, 12 Jan 2024
 10:46:43 +0000")
Message-ID: <jwvle8uefqj.fsf-monnier+emacs@HIDDEN>
References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN>
 <jwvplzllrrm.fsf-monnier+emacs@HIDDEN>
 <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN>
 <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN>
 <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN>
 <jwvwmsfntmc.fsf-monnier+emacs@HIDDEN>
 <CALDnm52=voD5PrnsU58wQR1omwymYdUALEAueqsQTZujU6i0rQ@HIDDEN>
Date: Fri, 12 Jan 2024 10:38:50 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL 0.050 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain T_SCC_BODY_TEXT_LINE    -0.01 -
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 67611
Cc: Okamsn <okamsn@HIDDEN>, 67611 <at> debbugs.gnu.org,
 Stefan Kangas <stefankangas@HIDDEN>
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 (---)

>> I don't think there's a clear enough need for it right now in Emacs core
>> to motivate its integration in Emacs proper.  Also, because several
>> people have expressed an opinion that leans towards recommending that
>> Emacs's own code should probably better avoid using this functionality.
> Those people are trying to come up with alternative pattern-matching
> libraries which we start to see are not simpler or as powerful
> as pcase.

Only some of them are.  Others are perfectly happy with using `pcase`
but still aren't super happy about combining the complexity of `pcase`
with that of CL destructuring syntax.

Personally I'm rather put off by the difficulty of figuring out which
part is using CL syntax and which part is using Pcase: the transition
from Pcase to CL is fairly clear (marked by `cl-arglist` or somesuch),
but the other is much less so.

I'd be happier with a `cl-arglist` which cannot contain nested Pcase
patterns (i.e. a one-way street from Pcase to CL) with
`cl-destructuring-bind` reimplemented on top of it.

I'd also be interested in a new Pcase pattern that provides the part of
`cl-arglist` functionality that's missing from current Pcase patterns
(like "optional" elements in a list), but with a syntax that blends
better in Pcase patterns.

> IOW there is no general purpose-util like Alexandria's
> 'parse-ordinary-lambda-list', and this could be it.  It could
> not only be used to simplify and add coherence to many of these
> existing compile-time structures, for example helping simplify
> things and address FIXMEs in cl-lib.el.

That's a different question: improving up cl-lib's implementation would
be welcome, yes.  That's not what the current patch does, tho.


        Stefan





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

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


Received: (at 67611) by debbugs.gnu.org; 12 Jan 2024 10:47:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 12 05:47:02 2024
Received: from localhost ([127.0.0.1]:35019 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rOF42-0003c0-Ak
	for submit <at> debbugs.gnu.org; Fri, 12 Jan 2024 05:47:02 -0500
Received: from mail-lj1-x22b.google.com ([2a00:1450:4864:20::22b]:57741)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1rOF40-0003bF-KV
 for 67611 <at> debbugs.gnu.org; Fri, 12 Jan 2024 05:47:01 -0500
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2cd1ca52f31so72880821fa.3
 for <67611 <at> debbugs.gnu.org>; Fri, 12 Jan 2024 02:47:02 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1705056416; x=1705661216; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=b1Q4CSdpZMvC0iQ91RGAlHqAakJy4dp/wmBoyUHlFmM=;
 b=PSJZwEn0cKyq39Hx55GfBVlEFc+2+Y4iPm0fkSDt3io/IvR14MFMXFKIW68IhXzh9l
 kfbSq8aRdCpWankL8tHqYeLSa3Pp5vLWytZAZEFroqEp7G23E50arLcmq9Sb9KzWMZbR
 G91ZRA+W0xVK3kuoLPFqjaYDtFbe5gs2oGMam7UqEPwS/U1K3E0Ro8dAx/7ZBCe6iVfl
 1jPp/N8ywJhrfwz1zmlAD0kvY2O+pO5TKk92boFEb7FjkuT9KfwdPRiXImsK8MhtpS5h
 RtCw/ReX/iP0tdvojXmelIF5zooaFPKBc46iPO0s1iSgn5oOCQU1Vk53QGXcj+haA8vj
 o2eQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1705056416; x=1705661216;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=b1Q4CSdpZMvC0iQ91RGAlHqAakJy4dp/wmBoyUHlFmM=;
 b=rKDyyPEoRIWChq2Ll/grg+YS545VW64Y5o9QKVrNjLD74z50n6bxn9nQ19gfWWXOAS
 4flvJy4+XjoK5D09RMhQnsLIzwWU2DDXq5pdKQ8bQBlplHRArJ69XjsSqNBA46Lb2DVN
 Xwr8v740vvcTKzQuwuGysVgIahlG7P34B4MAKF2ZxkjRSXWoe9yG8bmMFnldYTltFEwR
 D7bZ2x+UOh3jB59BftuSZBu+WAJe0MWjnHxhgE8L6OBt53k360rBQouc1q2ujEtF1Phw
 3MfyHGXirfMZ3N2PIlZrAwHjQnwDFbtZX5FxwsTxq4fMWpqkDBv16qhBfppa5Tbtx/rM
 jHAw==
X-Gm-Message-State: AOJu0YwPhD4MsiQzwI3MmRw2mdIHjAUJ3p8swcAPfdpPMzmYMvvBorY8
 AyjsD/u+mxOmbuGdeZkxqvITC4oFlMMkcny41M4=
X-Google-Smtp-Source: AGHT+IFvED/vFzKiTgEDupCXvdBOPFHRBRaqfGiPYLMcE0YlWa/aUMdCPPAQIU02i1wKP6pso/HdUCMQD6hEeBBwZ8w=
X-Received: by 2002:a2e:c51:0:b0:2cd:9959:53a0 with SMTP id
 o17-20020a2e0c51000000b002cd995953a0mr417315ljd.1.1705056416317; Fri, 12 Jan
 2024 02:46:56 -0800 (PST)
MIME-Version: 1.0
References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN>
 <jwvplzllrrm.fsf-monnier+emacs@HIDDEN>
 <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN>
 <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN>
 <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN>
 <jwvwmsfntmc.fsf-monnier+emacs@HIDDEN>
In-Reply-To: <jwvwmsfntmc.fsf-monnier+emacs@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Fri, 12 Jan 2024 10:46:43 +0000
Message-ID: <CALDnm52=voD5PrnsU58wQR1omwymYdUALEAueqsQTZujU6i0rQ@HIDDEN>
Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to
 `cl-destructuring-bind`
To: Stefan Monnier <monnier@HIDDEN>
Content-Type: multipart/alternative; boundary="0000000000000446ff060ebd62e3"
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 67611
Cc: Okamsn <okamsn@HIDDEN>, 67611 <at> debbugs.gnu.org,
 Stefan Kangas <stefankangas@HIDDEN>
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.0 (-)

--0000000000000446ff060ebd62e3
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Jan 12, 2024 at 3:05=E2=80=AFAM Stefan Monnier <monnier@HIDDEN=
al.ca>
wrote:

> I don't think there's a clear enough need for it right now in Emacs core
> to motivate its integration in Emacs proper.  Also, because several
> people have expressed an opinion that leans towards recommending that
> Emacs's own code should probably better avoid using this functionality.

Those people are trying to come up with alternative pattern-matching
libraries which we start to see are not simpler or as powerful
as pcase.

But sure, other pattern-matching libraries exist out there.  See
CL's optima/trivia [1/2] for some very good ones.  Emacs just happens
to have pcase readily available.

> I'd be quite happy to include such a think in GNU ELPA, OTOH.

Could be, but why really?  Why are CL things which rest on such
high-quality well-known designs, older than many things Emacs,
relegated to a place where they're less discoverable?

Here, I think at least the new fresh implementation of
lambda-list parsing (which is the meat-and-bones of this patch)
is worth taking a look at.

It's the function 'cl--pcase-cl-lambda-var-groups'.

I would definitely consider grooming this function, renaming
it, and keeping it in core, exposing to general Elisp usage
in cl-macs.el (or cl-lambdalist.el, cl-ll.el), even if a new
pcase pattern that uses it goes to ELPA (but why, really?)

That util could help us write other lambda-list destructuring
alternatives that understand &optional, &rest.  Because with or
without it, we already use a lot of the &optional, &rest explicitly
in Emacs.  And we also use &key and &allow-other-keys in many other
places, though sometimes in ad-hoc lets-not-call-this-bull-by-its-name
fashion.

IOW there is no general purpose-util like Alexandria's
'parse-ordinary-lambda-list', and this could be it.  It could
not only be used to simplify and add coherence to many of these
existing compile-time structures, for example helping simplify
things and address FIXMEs in cl-lib.el.

Jo=C3=A3o

[1] https://github.com/m2ym/optima
[2] https://github.com/guicho271828/trivia

--0000000000000446ff060ebd62e3
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto">On Fri, Jan 12, 2024 at 3:05=E2=80=AFAM Stefan Monnier &l=
t;<a href=3D"mailto:monnier@HIDDEN" target=3D"_blank" rel=3D"nore=
ferrer">monnier@HIDDEN</a>&gt; wrote:<br>
<br>
&gt; I don&#39;t think there&#39;s a clear enough need for it right now in =
Emacs core<br>
&gt; to motivate its integration in Emacs proper.=C2=A0 Also, because sever=
al<br>
&gt; people have expressed an opinion that leans towards recommending that<=
br>
&gt; Emacs&#39;s own code should probably better avoid using this functiona=
lity.<br>
<br>
Those people are trying to come up with alternative pattern-matching<br>
libraries which we start to see are not simpler or as powerful<br>
as pcase.<br>
<br>
But sure, other pattern-matching libraries exist out there.=C2=A0 See<br>
CL&#39;s optima/trivia [1/2] for some very good ones.=C2=A0 Emacs just happ=
ens <br>
to have pcase readily available.<br>
<br>
&gt; I&#39;d be quite happy to include such a think in GNU ELPA, OTOH.<br>
<br>
Could be, but why really?=C2=A0 Why are CL things which rest on such<br>
high-quality well-known designs, older than many things Emacs,<br>
relegated to a place where they&#39;re less discoverable?<br>
<br>
Here, I think at least the new fresh implementation of<br>
lambda-list parsing (which is the meat-and-bones of this patch)<br>
is worth taking a look at.<br>
<br>
It&#39;s the function &#39;cl--pcase-cl-lambda-var-groups&#39;.<br>
<br>
I would definitely consider grooming this function, renaming<br>
it, and keeping it in core, exposing to general Elisp usage<br>
in cl-macs.el (or cl-lambdalist.el, cl-ll.el), even if a new<br>
pcase pattern that uses it goes to ELPA (but why, really?)<br>
<br>
That util could help us write other lambda-list destructuring<br>
alternatives that understand &amp;optional, &amp;rest.=C2=A0 Because with o=
r<br>
without it, we already use a lot of the &amp;optional, &amp;rest explicitly=
<br>
in Emacs.=C2=A0 And we also use &amp;key and &amp;allow-other-keys in many =
other<br>
places, though sometimes in ad-hoc lets-not-call-this-bull-by-its-name<br>
fashion.<br>
<br>
IOW there is no general purpose-util like Alexandria&#39;s<br>
&#39;parse-ordinary-lambda-list&#39;, and this could be it.=C2=A0 It could<=
br>
not only be used to simplify and add coherence to many of these<br>
existing compile-time structures, for example helping simplify<br>
things and address FIXMEs in cl-lib.el.<br>
<br>
Jo=C3=A3o<br>
<br>
[1] <a href=3D"https://github.com/m2ym/optima" rel=3D"noreferrer noreferrer=
" target=3D"_blank">https://github.com/m2ym/optima</a><br>
[2] <a href=3D"https://github.com/guicho271828/trivia" rel=3D"noreferrer no=
referrer" target=3D"_blank">https://github.com/guicho271828/trivia</a><br><=
/div>

--0000000000000446ff060ebd62e3--




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

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


Received: (at 67611) by debbugs.gnu.org; 12 Jan 2024 03:05:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 11 22:05:08 2024
Received: from localhost ([127.0.0.1]:34489 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rO7r2-0007In-Ag
	for submit <at> debbugs.gnu.org; Thu, 11 Jan 2024 22:05:08 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:48366)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1rO7qz-0007IB-48
 for 67611 <at> debbugs.gnu.org; Thu, 11 Jan 2024 22:05:07 -0500
Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 94A4F100068;
 Thu, 11 Jan 2024 22:05:00 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1705028699;
 bh=G0BkGn9qgm0KjlaPdMvGAORGIMzng7MMGNC+QHoIqMA=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=ZfsJ6jSsp/0M/XIzyIBXWQr5HMrgcPBD+45Eg131HbNSgq0BxSwM/UzBWfUyH/y/9
 l7z5mjXS4sxQZDwjqCXNIxlHh9GZRjFVTV4qJsk4KbP+7PUjfWapQ5fblJzMl/emsN
 AEl3TXxd+iOANuJLB7oKBlLWNmCZL1xneu21AapXLMEZfkFUm3p0sG/+fNzUUyYo0t
 uc3zzz2AjpZO36jNGHLQF6vMdU7lqq6NnYNoen/pan3af/Ms0NxpcMy41QIPrWXx4x
 nDNdQXu8iH6XQWYl3I2q7fdnsbG2D6Fr3wMbkT8zA/HHuIxqzJzwQnaOP0MKHnghmE
 0qsvbCSbdoZMg==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 9834E10004C;
 Thu, 11 Jan 2024 22:04:59 -0500 (EST)
Received: from pastel (65-110-221-238.cpe.pppoe.ca [65.110.221.238])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 202FF1202CB;
 Thu, 11 Jan 2024 22:04:59 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: =?windows-1252?B?Sm/jbyBU4XZvcmE=?= <joaotavora@HIDDEN>
Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent
 to `cl-destructuring-bind`
In-Reply-To: <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN>
 (=?windows-1252?Q?=22Jo=E3o_T=E1vora=22's?= message of "Thu, 11 Jan 2024
 21:56:06 +0000")
Message-ID: <jwvwmsfntmc.fsf-monnier+emacs@HIDDEN>
References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN>
 <jwvplzllrrm.fsf-monnier+emacs@HIDDEN>
 <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN>
 <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN>
 <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN>
Date: Thu, 11 Jan 2024 22:04:51 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL 0.234 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain T_SCC_BODY_TEXT_LINE    -0.01 -
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 67611
Cc: Okamsn <okamsn@HIDDEN>, 67611 <at> debbugs.gnu.org,
 Stefan Kangas <stefankangas@HIDDEN>
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 (---)

>> Thanks for the patch.  I can only echo the sentiment already given here,
>> that making `pcase' more complex won't do much for its popularity.
> This sentiment is not unanimous.  If pcase is naturally extensible,
> using that ability is not making it more complex.  That'd be akin
> to saying "defun" is made more complex because too many functions
> are popping up.

Agreed.

> Just wanted register this position. Though I don't know for sure if
> the patch is simply adding a new extension to pcase or changing
> its core structure.

It's a pure extension.  The question is not whether the patch is good or
bad or whether it makes the existing infrastructure too complex.
It's rather where should such a thing live.

I don't think there's a clear enough need for it right now in Emacs core
to motivate its integration in Emacs proper.  Also, because several
people have expressed an opinion that leans towards recommending that
Emacs's own code should probably better avoid using this functionality.

I'd be quite happy to include such a think in GNU ELPA, OTOH.


        Stefan





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

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


Received: (at 67611) by debbugs.gnu.org; 12 Jan 2024 00:56:05 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 11 19:56:05 2024
Received: from localhost ([127.0.0.1]:34403 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rO5q9-0004kC-7Y
	for submit <at> debbugs.gnu.org; Thu, 11 Jan 2024 19:56:05 -0500
Received: from mail-40133.protonmail.ch ([185.70.40.133]:36765)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <okamsn@HIDDEN>) id 1rO5q3-0004jY-6N
 for 67611 <at> debbugs.gnu.org; Thu, 11 Jan 2024 19:56:03 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail3; t=1705020954; x=1705280154;
 bh=I0rHUjNaHz8X3kgvFvmvQcpsWssCScHfVZXJxKI0tJk=;
 h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
 Message-ID:BIMI-Selector;
 b=o5iTb9IHKc1CVUMbxOIKCmrW8DX72XazxVSvX2QKu7j/07+YLf6irmln5/Nvymm4p
 AvsRQqFy51EKdgBZXOIhk8um2ppof2xgcy9IyGqvWzwK6sCLrKZRZelf6Q/Up4DWKR
 pirNkjALOvqh0RU8IS4WhFQvauiN8P8BmU7JpMl8LOe2aGzGAKT3uRdcauTo2NTItt
 Ap/yaKIi5sGgIEODou82G9EbRYIWlvJXRcfNR0Xi5E8jA7IHu+2vbw3ebCzxEFiWxt
 W8q5guJBBhBL7MbNkC5GXOCRuJYS0KgwmCZv44QsQK1nVt6dF0Z22196Rirg8ELPC1
 uRRThXGnOn4RQ==
Date: Fri, 12 Jan 2024 00:55:47 +0000
To: =?utf-8?Q?Jo=C3=A3o_T=C3=A1vora?= <joaotavora@HIDDEN>,
 Stefan Kangas <stefankangas@HIDDEN>
From: Okamsn <okamsn@HIDDEN>
Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to
 `cl-destructuring-bind`
Message-ID: <5a26a4ee-ba12-448b-9606-a09f9396d9ea@HIDDEN>
In-Reply-To: <CALDnm528OQYfensjv41CqOBV5c7FjJih7t9X2gXb5Q2zz6amwg@HIDDEN>
References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN>
 <jwvplzllrrm.fsf-monnier+emacs@HIDDEN>
 <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN>
 <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN>
 <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN>
 <CADwFkmnKonoweYJYjeWsrGnFjCvWUs7DoFdrDqAti=SMk8m44Q@HIDDEN>
 <CALDnm528OQYfensjv41CqOBV5c7FjJih7t9X2gXb5Q2zz6amwg@HIDDEN>
Feedback-ID: 25935600:user:proton
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 67611
Cc: 67611 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN>
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.0 (-)

Jo=C3=A3o T=C3=A1vora wrote:
> 4. Pcase integration is a "nice to have".  In the provided tests, the
>     new extension is only tested as a destructuring aid, so I cannot tell
>     very well how it fares int the matching aspect of pcase.  For example
>     I did this experiment:
>=20
>     (pcase (list 42 41 :c 42)
>       ((cl-arglist (42 42 &key c))
>        (list c))
>       ((cl-arglist (42 b &rest more))
>        (list b more)))
> ;; =3D> (42 2)
>     This matches the second case, which is good and returns (41 (:c 42))
>=20
>     But how do I construct a case that matches only if the provided
>     value to c is 42, if this is at all possible?

It is possible. You can give a pattern instead of a symbol for the=20
variable, but you have to use a version of `&key` variables in which the=20
pattern can't be confused for the normal `((KEY VAR) DEFAULT SUPPLIED)`=20
form.  Please try the following:

     ;; =3D> (42 2)
     (pcase (list :c 42)
       ((cl-arglist (&key ((:c (and 43 c)))))
        (list c 1))
       ((cl-arglist (&key ((:c (and 42 c)))))
        (list c 2)))

     ;; =3D> (42 2)
     (pcase (list :c 42)
           ((cl-arglist (&key ((:c (and 43 c)))))
            (list c 1))
           ((cl-arglist (&key ((:c (and (pred (equal 42))
                                        c)))))
            (list c 2))
           ((cl-arglist (&key ((:c (and 44 c)))))
            (list c 3)))





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

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


Received: (at 67611) by debbugs.gnu.org; 11 Jan 2024 22:46:20 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 11 17:46:19 2024
Received: from localhost ([127.0.0.1]:34255 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rO3oZ-0004lJ-54
	for submit <at> debbugs.gnu.org; Thu, 11 Jan 2024 17:46:19 -0500
Received: from mail-lj1-x236.google.com ([2a00:1450:4864:20::236]:53551)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1rO3oW-0004br-Qj
 for 67611 <at> debbugs.gnu.org; Thu, 11 Jan 2024 17:46:17 -0500
Received: by mail-lj1-x236.google.com with SMTP id
 38308e7fff4ca-2cd64022164so54496771fa.3
 for <67611 <at> debbugs.gnu.org>; Thu, 11 Jan 2024 14:46:19 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1705013173; x=1705617973; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=kys6Pu89u53MwLrmp4OUxman5yBnSVGT1Pdhf7vzco0=;
 b=b9zCvdIZjjvtR9pJ85tNY2+r4wGUg/zT8Pwe1betugLODK8uKKa/V3Ja/sWGYS3Yce
 8XVNjGfQ+qpdTyT0FrG4Z6nccQnnqBgwrjlmDq1JwNtonzlMCAlcLrsGs21lSBqx3pMy
 VFjWDMAEbRXt9OfDDkqWEElFjb+7tjYG932xgJKWNbMQhNx06gHRYkGBOm7X04UQyksM
 GhuMtpMm75B/FAYshyQpFVl+wwLJoNAJWIA6AcZRTrANaocGsRu4CXn4x+zg9O0Giwhd
 X4yWGAcpGz0vqtZCOrQn1Dhe9hP2jZIWNGXmjBJturnFG5htC7CtC7ppUaj651y4vNH/
 1QLA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1705013173; x=1705617973;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=kys6Pu89u53MwLrmp4OUxman5yBnSVGT1Pdhf7vzco0=;
 b=K5sViKjTqKVeuUXbLm7sKqeZeryrCge5VsglFz6ymPaSykjwuVgnNUWrpl7asph+zJ
 PyaDmTWlStciL4ZlvSM5SPeZLVAtnFJAvYvuRqcD7f5G8NTmUSBqr+wDMF/1DMKAVZjn
 z8+S8aX1v/3Yc7F35CqTlaSY+RJpGskeRfP3kUs5NcM/a1CR29SYvjM4rSZZdul2dbHb
 8kqSYWrG1Rcf7DmAUDOO4GkqHtuvOTFvcZdUn0JQu9KEPAldFwQVx1eoxOCZeBTU59fR
 W885Oj46fTPedgsKXNjQqkQO54P+0IFDe/V6oQJdn9ISwqGm7WdI6LC2EtRydDoLE62C
 wM0Q==
X-Gm-Message-State: AOJu0YwDXvFae3k6EdsG+aaJT+DQKinTUDw2J29OSnR9upZ3sk/vt5fk
 QX3tpqEPfinBZneepgeHEJwGTthYV3l0hOUJQx0=
X-Google-Smtp-Source: AGHT+IF4Tiwr2mXOcxrj2ktKVC0TZEVJkiT7FQERI1B+rQmfrmpHLargqRa146//FqLNg7lOhnUBuxpEk/iBbwSrWsU=
X-Received: by 2002:a2e:9083:0:b0:2cc:695b:a12b with SMTP id
 l3-20020a2e9083000000b002cc695ba12bmr213032ljg.85.1705013172901; Thu, 11 Jan
 2024 14:46:12 -0800 (PST)
MIME-Version: 1.0
References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN>
 <jwvplzllrrm.fsf-monnier+emacs@HIDDEN>
 <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN>
 <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN>
 <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN>
 <CADwFkmnKonoweYJYjeWsrGnFjCvWUs7DoFdrDqAti=SMk8m44Q@HIDDEN>
In-Reply-To: <CADwFkmnKonoweYJYjeWsrGnFjCvWUs7DoFdrDqAti=SMk8m44Q@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Thu, 11 Jan 2024 22:46:01 +0000
Message-ID: <CALDnm528OQYfensjv41CqOBV5c7FjJih7t9X2gXb5Q2zz6amwg@HIDDEN>
Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to
 `cl-destructuring-bind`
To: Stefan Kangas <stefankangas@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 67611
Cc: Okamsn <okamsn@HIDDEN>, 67611 <at> debbugs.gnu.org,
 Stefan Monnier <monnier@HIDDEN>
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.0 (-)

On Thu, Jan 11, 2024 at 10:13=E2=80=AFPM Stefan Kangas <stefankangas@gmail.=
com> wrote:
>
> Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:
>
> > On Thu, Jan 11, 2024 at 9:12=E2=80=AFPM Stefan Kangas <stefankangas@gma=
il.com> wrote:
> >
> >> Thanks for the patch.  I can only echo the sentiment already given her=
e,
> >> that making `pcase' more complex won't do much for its popularity.
> >
> > This sentiment is not unanimous.  If pcase is naturally extensible,
> > using that ability is not making it more complex.  That'd be akin
> > to saying "defun" is made more complex because too many functions
> > are popping up.
> >
> > Just wanted register this position. Though I don't know for sure if
> > the patch is simply adding a new extension to pcase or changing
> > its core structure.
> >
> > I wish Okamsn would show one or two simple examples usage
> > of something you can't do with pcase today, but you would be
> > able to with the patch.

In the meantime, I've had a look at the patch file to learn
about this pcase extension.

1. It is a pure extension.  The extension code happens in cl-macs.el

2. It is an alternative to cl-destructuring-bind, also defined
   in that file, with more typing involved.

3. It _seems_ it has the advantage that it relies on very little
   of cl-macs.el, like maybe just cl-copy-list.  Ie it could easily
   be changed to live in another file.  It could  even be a (better?)
   base to write cl-destructuring-bind and other cl-macs things on top
   of.  And to write other utils like Alexandria's
   cl-parse-ordinary-lambda-list or destructuring-case [1].

   A good lambda-list destructuring tool is valuable by itself, even
   without pcase integration.

4. Pcase integration is a "nice to have".  In the provided tests, the
   new extension is only tested as a destructuring aid, so I cannot tell
   very well how it fares int the matching aspect of pcase.  For example
   I did this experiment:

   (pcase (list 42 41 :c 42)
     ((cl-arglist (42 42 &key c))
      (list c))
     ((cl-arglist (42 b &rest more))
      (list b more)))

   This matches the second case, which is good and returns (41 (:c 42))

   But how do I construct a case that matches only if the provided
   value to c is 42, if this is at all possible?

> feel free to reopen the bug report if you think it makes sense.

I think it makes sense, but I don't know how to do that.  Just write
reopen 67611/thanks to this tracker?

Jo=C3=A3o

[1]: https://gitlab.common-lisp.net/alexandria/alexandria




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

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


Received: (at 67611) by debbugs.gnu.org; 11 Jan 2024 22:13:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 11 17:13:32 2024
Received: from localhost ([127.0.0.1]:34215 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rO3Iq-0004ii-Fv
	for submit <at> debbugs.gnu.org; Thu, 11 Jan 2024 17:13:32 -0500
Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]:58652)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <stefankangas@HIDDEN>) id 1rO3In-0004iJ-9C
 for 67611 <at> debbugs.gnu.org; Thu, 11 Jan 2024 17:13:30 -0500
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-553ba2f0c8fso6607659a12.1
 for <67611 <at> debbugs.gnu.org>; Thu, 11 Jan 2024 14:13:31 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1705011205; x=1705616005; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=GuqdNOgXopUeJlz5O+Wvjvt1ZV4U8eMe1GZtKHpxTlk=;
 b=DDi5ne92hRwzhoVG6tvlPSMnYBVfNpeq9xG+OEpweUakG5dmC8uVPoZ5FUIO91oCKF
 HP6K9/YM2kFGxz0FyTs9j7al5ABdF2TKOshFbW1/1jF0Z23yucQPkDMokugQ+p9IO5E5
 ZyCKPaSyfD9tn4MRFouVNRDotsrQExiYWZ6iZAMD9PNTpAyp3sB7hWJBVZgD+2Vc9gA9
 i9ln15K7+eP/f28kNFWTmXQkA71uXfE3U64qw9hKD5ZyTCXNLmN2FjQGiBjvr5ZHsR9r
 YgrT11Y+M/M3PY6R93Vjw0SJSWEZZNkQkbApVpcAZinGaiMrmY3En4nIdDSzCrWNcTvv
 Sa2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1705011205; x=1705616005;
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:x-gm-message-state:from:to
 :cc:subject:date:message-id:reply-to;
 bh=GuqdNOgXopUeJlz5O+Wvjvt1ZV4U8eMe1GZtKHpxTlk=;
 b=IhN3cMSNgX0rcOOdkkkvfVeXAP5S5YLML6CzUqKeWk4Xbfyr6kUl0/1q3pe7uaU5xs
 AkTJ9r+Wslp6xh6H29zFm5Q0ccRyNjmkSRva0NgMmOyMDDSAdZKUPfW0zPahV/LWAAVi
 1LDGqDE9Nd/Uug4oQy4JHc888xmJMxu7m9ayOAGiWjGoZnC3NwCuu/2pH6LGpYdE7zPE
 oRr71KoKjXjS1ihn2VnBDtfeEjugliqVVkX1OH3Vr4psFz/+zFv5JcQnBKQb+0+v6gak
 br/ZtSP6QRRlFEp6lJscmdj2+ri1Sz8VGgpGPNEYR3kUhcDyxiEOMJUcIOf9H7vH/WyE
 N6Zw==
X-Gm-Message-State: AOJu0YzX/DDP3OTyK37swuns7MzYnKOSy43ImQ/INsA+QMPTxIiGqzbW
 SWI5w4EjcYbyNlNZ4pp5gGzCTP5awCr4hmlGpneqqDID0Xc=
X-Google-Smtp-Source: AGHT+IHUx/5KVU8C/E3Ew1ycTvOPpzfImMyK4oocSfMIcSeDWBNebq56J20UGeAgOhkITJC849jS6skrp96v0R07sPI=
X-Received: by 2002:aa7:c602:0:b0:557:8037:dccd with SMTP id
 h2-20020aa7c602000000b005578037dccdmr83569edq.152.1705011205250; Thu, 11 Jan
 2024 14:13:25 -0800 (PST)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Thu, 11 Jan 2024 14:13:24 -0800
From: Stefan Kangas <stefankangas@HIDDEN>
In-Reply-To: <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN>
References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN>
 <jwvplzllrrm.fsf-monnier+emacs@HIDDEN>
 <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN>
 <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN>
 <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN>
MIME-Version: 1.0
Date: Thu, 11 Jan 2024 14:13:24 -0800
Message-ID: <CADwFkmnKonoweYJYjeWsrGnFjCvWUs7DoFdrDqAti=SMk8m44Q@HIDDEN>
Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to
 `cl-destructuring-bind`
To: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 67611
Cc: Okamsn <okamsn@HIDDEN>, 67611 <at> debbugs.gnu.org,
 Stefan Monnier <monnier@HIDDEN>
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.0 (-)

Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

> On Thu, Jan 11, 2024 at 9:12=E2=80=AFPM Stefan Kangas <stefankangas@gmail=
.com> wrote:
>
>> Thanks for the patch.  I can only echo the sentiment already given here,
>> that making `pcase' more complex won't do much for its popularity.
>
> This sentiment is not unanimous.  If pcase is naturally extensible,
> using that ability is not making it more complex.  That'd be akin
> to saying "defun" is made more complex because too many functions
> are popping up.
>
> Just wanted register this position. Though I don't know for sure if
> the patch is simply adding a new extension to pcase or changing
> its core structure.
>
> I wish Okamsn would show one or two simple examples usage
> of something you can't do with pcase today, but you would be
> able to with the patch.

feel free to reopen the bug report if you think it makes sense.




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

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


Received: (at 67611) by debbugs.gnu.org; 11 Jan 2024 21:56:23 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 11 16:56:23 2024
Received: from localhost ([127.0.0.1]:34206 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rO32F-0001Ug-IT
	for submit <at> debbugs.gnu.org; Thu, 11 Jan 2024 16:56:23 -0500
Received: from mail-lj1-x22b.google.com ([2a00:1450:4864:20::22b]:61681)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1rO32E-0001UL-1y
 for 67611 <at> debbugs.gnu.org; Thu, 11 Jan 2024 16:56:22 -0500
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2cd853c159eso14619811fa.2
 for <67611 <at> debbugs.gnu.org>; Thu, 11 Jan 2024 13:56:24 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1705010178; x=1705614978; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=XWVNGl6wtaemsnU5mX0yfVRZHKDk+m0U205aEiMEvz4=;
 b=UKVtr+XGvnlpfpNtq6uovJ85bbBkWelMjk/cq/X/A4QF+VyWJUu3KzktPqUO85UL2G
 zfm68jABjwV2fGsTvF9uJ3MFLTUfzKIu7TIm4ta8EgHHUIxoFPh+AjWNA30wSesPVaiU
 4A5QQFzUumruWYcRilZos+YtpJShpK/8N+MacYtxLRr00HmPdtP3JMYEFcV3zpmZP1Lj
 TWh/Oe289NBLo0ocqA95ygf9fxAekzvRxWDrnJS1IZaFfUnbzMqKbfZxJEL/o65icRUV
 WRyBYYXv1KJ5pasaoUglpk8HF0bOf9yqbAXRfb6kgDzKmIEhgEhBELrBx7zzQED+KJEy
 KOSA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1705010178; x=1705614978;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=XWVNGl6wtaemsnU5mX0yfVRZHKDk+m0U205aEiMEvz4=;
 b=hWI0xFeAHwE4KSdG0M+IAZiVDm25WOYny0BRg/RN3GlhV3NJ/keyuk+5qhgoKaUF+G
 jxufHRo3bfs0jNFlmLG2wzknhGxKu1LrvKxZU6f0D86UlJMjUgunHNGVS4X3Y4/EVSLe
 s7V8m5Ms4F9tzrJPDFrhSO/CqbghUaPP3ltqfknnetoXB965CmjNvjOeZA34M9OSVfk8
 f6lv6dlLKt3UK4KqlkarQCxuwRJBTJ1dFQ4fjqcKA0TLOdRI03iQjtvsJO8gSQs+rCjc
 q6fJhhxLk4M1+5zexVW76C7q0h9QtHRcb8HfDreQae8llGx0CAMlmyuVHVfUcmUK3aZo
 g39A==
X-Gm-Message-State: AOJu0YyDDTjAgYPf21cJfHmwujgAkgUO/l3tt9yPKK7Q7Q94qkocYJ9p
 EjQLN74i0aA+5gLsp+E2M1SSQwhxgKiC+u9yE94=
X-Google-Smtp-Source: AGHT+IGLOH4gbmhgkYDLAyYwdzkHCOZzkJb0PhyRU51PgUwp6iSZktfAc8W+CDncIdzwLWIincRBLUs5bsGjyo0Epow=
X-Received: by 2002:a2e:a413:0:b0:2cd:1c94:82c4 with SMTP id
 p19-20020a2ea413000000b002cd1c9482c4mr188822ljn.99.1705010178226; Thu, 11 Jan
 2024 13:56:18 -0800 (PST)
MIME-Version: 1.0
References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN>
 <jwvplzllrrm.fsf-monnier+emacs@HIDDEN>
 <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN>
 <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN>
In-Reply-To: <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Thu, 11 Jan 2024 21:56:06 +0000
Message-ID: <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN>
Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to
 `cl-destructuring-bind`
To: Stefan Kangas <stefankangas@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 67611
Cc: Okamsn <okamsn@HIDDEN>, 67611 <at> debbugs.gnu.org,
 Stefan Monnier <monnier@HIDDEN>
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.0 (-)

On Thu, Jan 11, 2024 at 9:12=E2=80=AFPM Stefan Kangas <stefankangas@HIDDEN=
om> wrote:

> Thanks for the patch.  I can only echo the sentiment already given here,
> that making `pcase' more complex won't do much for its popularity.

This sentiment is not unanimous.  If pcase is naturally extensible,
using that ability is not making it more complex.  That'd be akin
to saying "defun" is made more complex because too many functions
are popping up.

Just wanted register this position. Though I don't know for sure if
the patch is simply adding a new extension to pcase or changing
its core structure.

I wish Okamsn would show one or two simple examples usage
of something you can't do with pcase today, but you would be
able to with the patch.

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#67611; Package emacs. Full text available.
bug closed, send any further explanations to 67611 <at> debbugs.gnu.org and Okamsn <okamsn@HIDDEN> Request was from Stefan Kangas <stefankangas@HIDDEN> to control <at> debbugs.gnu.org. Full text available.
Added tag(s) notabug and wontfix. Request was from Stefan Kangas <stefankangas@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

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


Received: (at 67611) by debbugs.gnu.org; 11 Jan 2024 21:12:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 11 16:12:51 2024
Received: from localhost ([127.0.0.1]:34141 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rO2M7-0000ZL-Fu
	for submit <at> debbugs.gnu.org; Thu, 11 Jan 2024 16:12:51 -0500
Received: from mail-lj1-x22d.google.com ([2a00:1450:4864:20::22d]:57734)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <stefankangas@HIDDEN>) id 1rO2M4-0000Z3-9C
 for 67611 <at> debbugs.gnu.org; Thu, 11 Jan 2024 16:12:50 -0500
Received: by mail-lj1-x22d.google.com with SMTP id
 38308e7fff4ca-2cd1ca52f31so67330481fa.3
 for <67611 <at> debbugs.gnu.org>; Thu, 11 Jan 2024 13:12:50 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1705007564; x=1705612364; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:mime-version:references:in-reply-to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=iLl7AGuRvjcaeVzmh3uGVp6vpj1E/SujS0TMWc5nZ9M=;
 b=A8wv2VDv62FxGc5Egs+6U4f7oy67npN5RGS8eY8WInIPOv4UNcvxKrH0IT6553CIpX
 fatZKmzi0jNbxEpGNl1Teowby6SJ3gS6YYZCzOIbR/kbajlD8pQ6yV6IkT8FSMJayI+g
 XAQbuwOj0mRFTupU6TPXCEbWy1R9Qprzt6bEehltQGJN3xdl+iClNG79Xs6JCaH6Az9c
 Apk1jCyLpFZs9Nn40b2DH7pUhVaxsctlfcEyoc3Y+U7oDL+u9BELcs5DT0Mm7vtIaZG3
 XIHGBVI1p3UdAn/8DVOe5GLYOigpT6TJRUT4oMQh9M7eC6IXluypqMvV/Wj0a412G4s2
 PXpQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1705007564; x=1705612364;
 h=cc:to:subject:message-id:date:mime-version:references:in-reply-to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=iLl7AGuRvjcaeVzmh3uGVp6vpj1E/SujS0TMWc5nZ9M=;
 b=XNKuphfODu1UjwBaBnjyYv4NO2rcH+ZY0UC6tlflFE1WwfSSqUR7h/5vJcrm9pCfhH
 aR5trBMxX2VlWFWqp7Z+ISwf73+BObpCuf8gs4Asqx77HClTuKm1fIlyVx3o/3OaLt2+
 oH1Os/OVBu8Rtcf2tUyrN8r1z5UsMzxg78C8gfmOl1xV0qf4BEQqJeVM3nOBgIFbZPTZ
 eWaUmk6CCSu5WiaYYYP94wpP+oOEABsdJOrU0z0WVq9l8EYW+oOYHDHc8AnI3KTv3oa9
 h2NAc4YDzuP6znRaDHzZgOGcrxjtFoLEaKHtkWdqHVtKMO2YKJQ1yjRQ+KDxw/xFZNyc
 ZmqA==
X-Gm-Message-State: AOJu0YyUpTkeFSzGjBI3GoycqkdaAFWIwunFNgN3k3ehpBq1uwsvpkEj
 Pg80k3CVstfFhCkTlmz9FyzEIVY8J9K3XnaH63rvHD2Rmgw=
X-Google-Smtp-Source: AGHT+IFNYfseqrm49xjmjCcwx/bdLp60Z6enes4sGqotSkiO5421JUP3DDXL5m0eTWEVXsQaHjFLPJb3GAmG0VMu56A=
X-Received: by 2002:a2e:950e:0:b0:2cc:e919:eb8f with SMTP id
 f14-20020a2e950e000000b002cce919eb8fmr182351ljh.101.1705007564170; Thu, 11
 Jan 2024 13:12:44 -0800 (PST)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Thu, 11 Jan 2024 13:12:43 -0800
From: Stefan Kangas <stefankangas@HIDDEN>
In-Reply-To: <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN>
 (okamsn@HIDDEN's message of "Mon, 25 Dec 2023 21:30:07 +0000")
References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN>
 <jwvplzllrrm.fsf-monnier+emacs@HIDDEN>
 <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN>
MIME-Version: 1.0
Date: Thu, 11 Jan 2024 13:12:43 -0800
Message-ID: <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN>
Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to
 `cl-destructuring-bind`
To: Okamsn <okamsn@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 67611
Cc: 67611 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN>,
 joaotavora@HIDDEN
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.0 (-)

severity 67611 wishlist
tags 67611 + notabug wontfix
close 67611
thanks

Okamsn <okamsn@HIDDEN> writes:

> Hello,
>
> Because I wrote this patch with the thought that others might want it, I
> don't have any nontrivial examples to share right now. The best example
> I have for the use of the optional arguments is for the implementing of
> the optional arguments, which isn't very convincing.
>
> I've updated the patch to rename the pattern to `cl-arglist` and to
> avoid creating intermediate variables using the `let` pattern, but I'm
> fine with resting the discussion here until a stronger argument can be
> made in favor of the patch.
>
> Thank you.

Thanks for the patch.  I can only echo the sentiment already given here,
that making `pcase' more complex won't do much for its popularity.

It sounds like we mostly agree that no change should be made here, at
least not for the moment, so I'm inclined to close this one as wontfix.
It's always awkward to have to say no to a well-reasoned patch, but
sometimes a decision has to be made.  I hope you can understand, and
apologies for not accepting your patch.  I'm closing the bug with this
message.

Thank you again for contributing.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#67611; 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; 25 Dec 2023 21:31:25 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Dec 25 16:31:25 2023
Received: from localhost ([127.0.0.1]:55465 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rHsXi-0002rS-Nj
	for submit <at> debbugs.gnu.org; Mon, 25 Dec 2023 16:31:25 -0500
Received: from lists.gnu.org ([2001:470:142::17]:50148)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <okamsn@HIDDEN>) id 1rHsXd-0002gg-HI
 for submit <at> debbugs.gnu.org; Mon, 25 Dec 2023 16:31:21 -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 <okamsn@HIDDEN>)
 id 1rHsXQ-0002e9-Fc
 for bug-gnu-emacs@HIDDEN; Mon, 25 Dec 2023 16:31:04 -0500
Received: from mail-4322.protonmail.ch ([185.70.43.22])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <okamsn@HIDDEN>)
 id 1rHsXL-0005YV-A4
 for bug-gnu-emacs@HIDDEN; Mon, 25 Dec 2023 16:31:04 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail3; t=1703539842; x=1703799042;
 bh=du/Rnv1ZEkIGuWOXmBT6l5oOzz65zmNgeKUILGazc4s=;
 h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
 Message-ID:BIMI-Selector;
 b=H4YoG/z+UbwpHfB4kKJAxBnn6c4z9jMRW/BG8LYmvoHA+0m20mHRrchkBk838hxgq
 zusqvXHLjFlStsSawOjHPUbkZtcO4CwsNqXlDohUZFMqJFgW9tl2lclg+AKSijFpIA
 lg+k+OQBqGN9cAb8uaAZlQzc4oUfPSaVmqX5ZVG6QHf9yBlLuA1r20Pi8vCJNQ1w+K
 /6Nz3yRlTzsulg9+UNgjPZ0/cT3KMjFTKG1dK9huav+GaK+94kvGd2pVI7ruEXZo2R
 RivGJLwc7xLIeF3CKI3I9KHQ9Ac9o9QaFLI9qbFQ632Fajtt43b9KgSYeVO/OSpWN5
 iDTz/7cJcFk4w==
Date: Mon, 25 Dec 2023 21:30:07 +0000
To: Stefan Monnier <monnier@HIDDEN>
From: Okamsn <okamsn@HIDDEN>
Subject: Re: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to
 `cl-destructuring-bind`
Message-ID: <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN>
In-Reply-To: <jwvplzllrrm.fsf-monnier+emacs@HIDDEN>
References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN>
 <jwvplzllrrm.fsf-monnier+emacs@HIDDEN>
Feedback-ID: 25935600:user:proton
MIME-Version: 1.0
Content-Type: multipart/mixed;
 boundary="b1_zK7jswiu7zFIyB0mc7Of1fDganPK9zM5sPGTRMaSZA"
Received-SPF: pass client-ip=185.70.43.22; envelope-from=okamsn@HIDDEN;
 helo=mail-4322.protonmail.ch
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, FREEMAIL_FROM=0.001,
 RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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: 1.0 (+)
X-Debbugs-Envelope-To: submit
Cc: bug-gnu-emacs@HIDDEN,
 =?utf-8?Q?Jo=C3=A3o_T=C3=A1vora?= <joaotavora@HIDDEN>
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.0 (/)

This is a multi-part message in MIME format.

--b1_zK7jswiu7zFIyB0mc7Of1fDganPK9zM5sPGTRMaSZA
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Stefan Monnier wrote:
>> The attached patch adds the pattern `cl-lambda` for Pcase, which works
>> like `cl-destructuring-bind`. There are two differences with the lambda
>> lists:
>=20
> Hmm... I'm not sure mixing the CL destructuring patterns with the Pcase
> patterns (both of which are rather featureful and complex) will help
> their popularity.
>=20
> Beside that problem (which means I'm not very favorable to the
> addition), the name should be changed because "lambda" is misleading.
> It suggests this has to do with a function (I had to read the code to
> understand what this is doing).
>=20
>> The pattern is useful when one wants to combine the features of `pcase`
>> and `cl-destructuring-bind`, such combining the optional values with the
>> `pred` or `guard` patterns.
>=20
> Do you have examples uses?
>=20
> Maybe we could introduce a different Pcase pattern which covers those
> needs but stays closer to the Pcase pattern syntax?
>=20
>=20
>          Stefan
>=20

Hello,

Because I wrote this patch with the thought that others might want it, I=20
don't have any nontrivial examples to share right now. The best example=20
I have for the use of the optional arguments is for the implementing of=20
the optional arguments, which isn't very convincing.

I've updated the patch to rename the pattern to `cl-arglist` and to=20
avoid creating intermediate variables using the `let` pattern, but I'm=20
fine with resting the discussion here until a stronger argument can be=20
made in favor of the patch.

Thank you.
--b1_zK7jswiu7zFIyB0mc7Of1fDganPK9zM5sPGTRMaSZA
Content-Type: text/x-patch; charset=UTF-8; name=v2-0001-Add-the-Pcase-pattern-cl-arglist-for-matching-a-C.patch
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=v2-0001-Add-the-Pcase-pattern-cl-arglist-for-matching-a-C.patch

RnJvbSBlMTc1MmRhODYzYjQ0YzkzZDEzOWNhODhiZjhjN2Y2NTQ5MjI5ZDE4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh
dGU6IFNhdCwgMjUgTm92IDIwMjMgMTM6MDA6MDMgLTA1MDAKU3ViamVjdDogW1BBVENIIHYyXSBB
ZGQgdGhlIFBjYXNlIHBhdHRlcm4gYGNsLWFyZ2xpc3QnIGZvciBtYXRjaGluZyBhIENMCiBhcmd1
bWVudCBsaXN0LgoKVGhpcyBwYXR0ZXJuIG1hdGNoZXMgZnVuY3Rpb24gYXJndW1lbnQgbGlzdHMg
YXMgZGVzY3JpYmVkIGluIHRoZSBJbmZvCm5vZGUgYChjbClBcmd1bWVudCBMaXN0cycuCgoqIGxp
c3AvZW1hY3MtbGlzcC9jbC1tYWNzLmVsIChjbC1hcmdsaXN0LS1wY2FzZS1tYWNyb2V4cGFuZGVy
KQooY2wtYXJnbGlzdCwgY2wtLXBjYXNlLWFyZ2xpc3QtbGlzdC1nZXQtdmFyLWdyb3VwcykKKGNs
LS1wY2FzZS1jbC1hcmdsaXN0LXBvc2l0aW9uYWwtcGF0dGVybikKKGNsLS1wY2FzZS1jbC1hcmds
aXN0LXBsaXN0LWtleXMpCihjbC0tcGNhc2UtY2wtYXJnbGlzdC0ma2V5LXBhdHRlcm4pCihjbC0t
cGNhc2UtY2wtYXJnbGlzdC0mYXV4LXBhdHRlcm4pOgpBZGQgcGF0dGVybiBhbmQgc3VwcG9ydGlu
ZyBmdW5jdGlvbnMuCgoqIHRlc3QvbGlzcC9lbWFjcy1saXNwL3BjYXNlLXRlc3RzLmVsOgoocGNh
c2UtdGVzdHMtY2wtYXJnbGlzdC0md2hvbGUtc2hvdWxkLWVycm9yKQoocGNhc2UtdGVzdHMtY2wt
YXJnbGlzdC0md2hvbGUpCihwY2FzZS10ZXN0cy1jbC1hcmdsaXN0LXBvcywgcGNhc2UtdGVzdHMt
Y2wtYXJnbGlzdC1wb3Mtc3ViLXBhdHRlcm5zKQoocGNhc2UtdGVzdHMtY2wtYXJnbGlzdC0mb3B0
aW9uYWwtc2hvdWxkLWVycm9yKQoocGNhc2UtdGVzdHMtY2wtYXJnbGlzdC0mb3B0aW9uYWwpCihw
Y2FzZS10ZXN0cy1jbC1hcmdsaXN0LSZvcHRpb25hbC1zdWItcGF0dGVybnMpCihwY2FzZS10ZXN0
cy1jbC1hcmdsaXN0LSZyZXN0LXNob3VsZC1lcnJvcikKKHBjYXNlLXRlc3RzLWNsLWFyZ2xpc3Qt
JnJlc3Qtbm9ubGlzdC1jZHIpCihwY2FzZS10ZXN0cy1jbC1hcmdsaXN0LSZyZXN0LXdpdGgtJndo
b2xlKQoocGNhc2UtdGVzdHMtY2wtYXJnbGlzdC0mcmVzdC1vbmx5KQoocGNhc2UtdGVzdHMtY2wt
YXJnbGlzdC0mcmVzdC1hZnRlci0mb3B0aW9uYWwpCihwY2FzZS10ZXN0cy1jbC1hcmdsaXN0LSZy
ZXN0LXN1Yi1wYXR0ZXJucykKKHBjYXNlLXRlc3RzLWNsLWFyZ2xpc3QtJmtleS1zaG91bGQtZXJy
b3IpCihwY2FzZS10ZXN0cy1jbC1hcmdsaXN0LSZrZXktZXhhY3QpCihwY2FzZS10ZXN0cy1jbC1h
cmdsaXN0LSZrZXktcGVybWlzc2l2ZSkKKHBjYXNlLXRlc3RzLWNsLWFyZ2xpc3QtJmtleS1ub3Qt
Zmlyc3QpCihwY2FzZS10ZXN0cy1jbC1hcmdsaXN0LSZrZXktZnVsbC1mb3JtKQoocGNhc2UtdGVz
dHMtY2wtYXJnbGlzdC0ma2V5LXN1Yi1wYXR0ZXJucykKKHBjYXNlLXRlc3RzLWNsLWFyZ2xpc3Qt
JmF1eC1zaG91bGQtZXJyb3IpCihwY2FzZS10ZXN0cy1jbC1hcmdsaXN0LSZhdXgpCihwY2FzZS10
ZXN0cy1jbC1hcmdsaXN0LSZhdXgtc3ViLXBhdHRlcm5zKQoocGNhc2UtdGVzdHMtY2wtYXJnbGlz
dC1hbGwpOgpBZGQgdGVzdHMuCi0tLQogbGlzcC9lbWFjcy1saXNwL2NsLW1hY3MuZWwgICAgICAg
ICAgfCAzNDMgKysrKysrKysrKysrKysrKysrCiB0ZXN0L2xpc3AvZW1hY3MtbGlzcC9wY2FzZS10
ZXN0cy5lbCB8IDUxNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5n
ZWQsIDg1OCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGlzcC9lbWFjcy1saXNwL2NsLW1h
Y3MuZWwgYi9saXNwL2VtYWNzLWxpc3AvY2wtbWFjcy5lbAppbmRleCA3YzIwN2QzNzJmYy4uMGUx
MDAxMWE1MDYgMTAwNjQ0Ci0tLSBhL2xpc3AvZW1hY3MtbGlzcC9jbC1tYWNzLmVsCisrKyBiL2xp
c3AvZW1hY3MtbGlzcC9jbC1tYWNzLmVsCkBAIC0zODI1LDYgKzM4MjUsMzQ5IEBAIGNsLXR5cGUK
IFRZUEUgaXMgYSB0eXBlIGRlc2NyaXB0b3IgYXMgYWNjZXB0ZWQgYnkgYGNsLXR5cGVwJywgd2hp
Y2ggc2VlLiIKICAgYChwcmVkIChwY2FzZS0tZmxpcCBjbC10eXBlcCAnLHR5cGUpKSkKIAorOzs7
IFBjYXNlIGxhbWJkYS1saXN0IHBhdHRlcm4KKworOzsgVGhpcyBwYXR0ZXJuIGlzIGxpa2UgYGNs
LWRlc3RydWN0dXJpbmctYmluZCcsIGJ1dCB3aXRoIGBwY2FzZScuICBXZQorOzsgY2FuJ3QgdXNl
IGBjbC0tZG8tYXJnbGlzdCcgZm9yIHRoaXMsIGJlY2F1c2UgYGNsLS1kby1hcmdsaXN0JyB1c2Vz
Cis7OyBgcG9wJyB0byBtb2RpZnkgZWFybGllciB2YXJpYWJsZXMgd2hpbGUgc2V0dGluZyBsYXRl
ciBvbmVzLCB3aGljaAorOzsgZG9lc24ndCBzZWVtIHRvIHdvcmsgd2l0aCBgcGNhc2UnLgorCiso
ZGVmaW5lLWVycm9yICdjbC0tcGNhc2UtY2wtYXJnbGlzdC1pbnZhbGlkLWFyZy1saXN0CisgICAg
ICAgICAgICAgICJJbnZhbGlkIGFyZ3VtZW50IGxpc3QgdXNlZCBpbiBgY2wtYXJnbGlzdCcgcGF0
dGVybi4iKQorCisoZGVmdW4gY2wtLXBjYXNlLWNsLWFyZ2xpc3QtdmFyLWdyb3VwcyAobGFtYmRh
LWxpc3QpCisgICJSZXR1cm4gdGhlIGFsaXN0IG9mIHZhcmlhYmxlIGdyb3VwcyBpbiBMQU1CREEt
TElTVC4KKworTGlzdHMgYXJlIG9mIHRoZSBmb3JtCitgKFsmd2hvbGUgV0hPTEUtVkFSXSBbUE9T
LVZBUlNdIFsmb3B0aW9uYWwgT1BULVZBUlNdIFsmcmVzdCBSRVNULVZBUl0KK1sma2V5IEtFWS1W
QVJTXSBbJmF1eCBBVVgtVkFSU10pJy4iCisgIChsZXQgKCh3aG9sZS12YXIpIChwcm9jZXNzaW5n
LXdob2xlKQorICAgICAgICAocG9zLXZhcikKKyAgICAgICAgKG9wdC12YXIpIChwcm9jZXNzaW5n
LW9wdHMpCisgICAgICAgIChyZXN0LXZhcikgKHByb2Nlc3NpbmctcmVzdCkgKGRvdHRlZC1yZXN0
LXZhcikKKyAgICAgICAgKGtleS12YXIpIChwcm9jZXNzaW5nLWtleXMpIChhbGxvdy1vdGhlci1r
ZXlzKQorICAgICAgICAoYXV4LXZhcikgKHByb2Nlc3NpbmctYXV4cykKKyAgICAgICAgKHJlbWFp
bmluZy1saXN0IChjbC1jb3B5LWxpc3QgbGFtYmRhLWxpc3QpKSkKKworICAgICh3aGVuIChub3Qg
KHByb3Blci1saXN0LXAgcmVtYWluaW5nLWxpc3QpKQorICAgICAgKGNsLXNoaWZ0ZiBkb3R0ZWQt
cmVzdC12YXIKKyAgICAgICAgICAgICAgICAgKGNkciAobGFzdCByZW1haW5pbmctbGlzdCkpCisg
ICAgICAgICAgICAgICAgIG5pbCkpCisKKyAgICAoY2wtZmxldCAoKG1pc3NpbmctYWZ0ZXIgKGNk
cikgKG9yIChudWxsIGNkcikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IChtZW1xIChjYXIgY2RyKSBjbC0tbGFtYmRhLWxpc3Qta2V5d29yZHMpKSkKKyAgICAgICAgICAg
ICAgKHN0b3AtcHJvY2Vzc2luZyAoKSAoc2V0cSBwcm9jZXNzaW5nLXdob2xlIG5pbAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3Npbmctb3B0cyBuaWwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzaW5nLXJlc3Qgbmls
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc2luZy1rZXlz
IG5pbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3Npbmct
YXV4cyBuaWwpKSkKKworICAgICAgKGNsLWxvb3AKKyAgICAgICBmb3IgKGZpcnN0IC4gcmVzdCkg
b24gcmVtYWluaW5nLWxpc3QKKyAgICAgICBkbworICAgICAgIChwY2FzZSBmaXJzdAorICAgICAg
ICAgKCcmd2hvbGUKKyAgICAgICAgICAoaWYgKG9yIChtaXNzaW5nLWFmdGVyIHJlc3QpCisgICAg
ICAgICAgICAgICAgICB3aG9sZS12YXIgcG9zLXZhciBvcHQtdmFyCisgICAgICAgICAgICAgICAg
ICByZXN0LXZhciBrZXktdmFyIGFsbG93LW90aGVyLWtleXMgYXV4LXZhcikKKyAgICAgICAgICAg
ICAgKHNpZ25hbCAnY2wtLXBjYXNlLWNsLWFyZ2xpc3QtaW52YWxpZC1hcmctbGlzdCAobGlzdCBs
YW1iZGEtbGlzdCkpCisgICAgICAgICAgICAoc3RvcC1wcm9jZXNzaW5nKQorICAgICAgICAgICAg
KHNldHEgcHJvY2Vzc2luZy13aG9sZSB0KSkpCisKKyAgICAgICAgICgnJm9wdGlvbmFsCisgICAg
ICAgICAgKGlmIChvciAobWlzc2luZy1hZnRlciByZXN0KQorICAgICAgICAgICAgICAgICAgb3B0
LXZhciByZXN0LXZhciBrZXktdmFyIGFsbG93LW90aGVyLWtleXMgYXV4LXZhcikKKyAgICAgICAg
ICAgICAgKHNpZ25hbCAnY2wtLXBjYXNlLWNsLWFyZ2xpc3QtaW52YWxpZC1hcmctbGlzdAorICAg
ICAgICAgICAgICAgICAgICAgIChsaXN0IGxhbWJkYS1saXN0KSkKKyAgICAgICAgICAgIChzdG9w
LXByb2Nlc3NpbmcpCisgICAgICAgICAgICAoc2V0cSBwcm9jZXNzaW5nLW9wdHMgdCkpKQorCisg
ICAgICAgICAoKG9yICcmcmVzdCAnJmJvZHkpCisgICAgICAgICAgKGlmIChvciAobWlzc2luZy1h
ZnRlciByZXN0KQorICAgICAgICAgICAgICAgICAgcmVzdC12YXIga2V5LXZhciBhbGxvdy1vdGhl
ci1rZXlzIGF1eC12YXIKKyAgICAgICAgICAgICAgICAgIGRvdHRlZC1yZXN0LXZhcikKKyAgICAg
ICAgICAgICAgKHNpZ25hbCAnY2wtLXBjYXNlLWNsLWFyZ2xpc3QtaW52YWxpZC1hcmctbGlzdAor
ICAgICAgICAgICAgICAgICAgICAgIChsaXN0IGxhbWJkYS1saXN0KSkKKyAgICAgICAgICAgIChz
dG9wLXByb2Nlc3NpbmcpCisgICAgICAgICAgICAoc2V0cSBwcm9jZXNzaW5nLXJlc3QgdCkpKQor
CisgICAgICAgICAoJyZrZXkKKyAgICAgICAgICAoaWYgKG9yIChtaXNzaW5nLWFmdGVyIHJlc3Qp
CisgICAgICAgICAgICAgICAgICBrZXktdmFyIGFsbG93LW90aGVyLWtleXMgYXV4LXZhcgorICAg
ICAgICAgICAgICAgICAgZG90dGVkLXJlc3QtdmFyKQorICAgICAgICAgICAgICAoc2lnbmFsICdj
bC0tcGNhc2UtY2wtYXJnbGlzdC1pbnZhbGlkLWFyZy1saXN0CisgICAgICAgICAgICAgICAgICAg
ICAgKGxpc3QgbGFtYmRhLWxpc3QpKQorICAgICAgICAgICAgKHN0b3AtcHJvY2Vzc2luZykKKyAg
ICAgICAgICAgIChzZXRxIHByb2Nlc3Npbmcta2V5cyB0KSkpCisKKyAgICAgICAgICgnJmFsbG93
LW90aGVyLWtleXMKKyAgICAgICAgICAoaWYgKG9yIChub3QgcHJvY2Vzc2luZy1rZXlzKQorICAg
ICAgICAgICAgICAgICAgYWxsb3ctb3RoZXIta2V5cworICAgICAgICAgICAgICAgICAgZG90dGVk
LXJlc3QtdmFyKQorICAgICAgICAgICAgICAoc2lnbmFsICdjbC0tcGNhc2UtY2wtYXJnbGlzdC1p
bnZhbGlkLWFyZy1saXN0CisgICAgICAgICAgICAgICAgICAgICAgKGxpc3QgbGFtYmRhLWxpc3Qp
KQorICAgICAgICAgICAgKHN0b3AtcHJvY2Vzc2luZykKKyAgICAgICAgICAgIChzZXRxIGFsbG93
LW90aGVyLWtleXMgdCkpKQorCisgICAgICAgICAoJyZhdXgKKyAgICAgICAgICAoaWYgKG9yICht
aXNzaW5nLWFmdGVyIHJlc3QpCisgICAgICAgICAgICAgICAgICBhdXgtdmFyCisgICAgICAgICAg
ICAgICAgICBkb3R0ZWQtcmVzdC12YXIpCisgICAgICAgICAgICAgIChzaWduYWwgJ2NsLS1wY2Fz
ZS1jbC1hcmdsaXN0LWludmFsaWQtYXJnLWxpc3QKKyAgICAgICAgICAgICAgICAgICAgICAobGlz
dCBsYW1iZGEtbGlzdCkpCisgICAgICAgICAgICAoc3RvcC1wcm9jZXNzaW5nKQorICAgICAgICAg
ICAgKHNldHEgcHJvY2Vzc2luZy1hdXhzIHQpKSkKKworICAgICAgICAgKChndWFyZCBwcm9jZXNz
aW5nLXdob2xlKQorICAgICAgICAgIChzZXRxIHdob2xlLXZhciBmaXJzdAorICAgICAgICAgICAg
ICAgIHByb2Nlc3Npbmctd2hvbGUgbmlsKSkKKworICAgICAgICAgKChndWFyZCBwcm9jZXNzaW5n
LXJlc3QpCisgICAgICAgICAgKHNldHEgcmVzdC12YXIgZmlyc3QKKyAgICAgICAgICAgICAgICBw
cm9jZXNzaW5nLXJlc3QgbmlsKSkKKworICAgICAgICAgKChndWFyZCBwcm9jZXNzaW5nLW9wdHMp
CisgICAgICAgICAgKHB1c2ggZmlyc3Qgb3B0LXZhcikpCisKKyAgICAgICAgICgoZ3VhcmQgcHJv
Y2Vzc2luZy1rZXlzKQorICAgICAgICAgIChwdXNoIGZpcnN0IGtleS12YXIpKQorCisgICAgICAg
ICAoKGd1YXJkIHByb2Nlc3NpbmctYXV4cykKKyAgICAgICAgICAocHVzaCBmaXJzdCBhdXgtdmFy
KSkKKworICAgICAgICAgKCcmZW52aXJvbm1lbnQKKyAgICAgICAgICAoc2lnbmFsICdjbC0tcGNh
c2UtY2wtYXJnbGlzdC1pbnZhbGlkLWFyZy1saXN0CisgICAgICAgICAgICAgICAgICAobGlzdCBs
YW1iZGEtbGlzdCkpKQorCisgICAgICAgICAoXworICAgICAgICAgIChpZiAob3Igb3B0LXZhciBy
ZXN0LXZhciBrZXktdmFyIGF1eC12YXIKKyAgICAgICAgICAgICAgICAgIGFsbG93LW90aGVyLWtl
eXMpCisgICAgICAgICAgICAgIChzaWduYWwgJ2NsLS1wY2FzZS1jbC1hcmdsaXN0LWludmFsaWQt
YXJnLWxpc3QKKyAgICAgICAgICAgICAgICAgICAgICAobGlzdCBsYW1iZGEtbGlzdCkpCisgICAg
ICAgICAgICAocHVzaCBmaXJzdCBwb3MtdmFyKSkpKSkpCisKKyAgICBgKCh3aG9sZSAuICx3aG9s
ZS12YXIpCisgICAgICAocG9zIC4gLChucmV2ZXJzZSBwb3MtdmFyKSkKKyAgICAgIChvcHQgLiAs
KG5yZXZlcnNlIG9wdC12YXIpKQorICAgICAgKHJlc3QgLiAsKG9yIGRvdHRlZC1yZXN0LXZhciBy
ZXN0LXZhcikpCisgICAgICAoa2V5IC4gLChucmV2ZXJzZSBrZXktdmFyKSkKKyAgICAgIChhbGxv
dy1vdGhlci1rZXlzIC4gLGFsbG93LW90aGVyLWtleXMpCisgICAgICAoYXV4IC4gLChucmV2ZXJz
ZSBhdXgtdmFyKSkpKSkKKworKGRlZnVuIGNsLS1wY2FzZS1jbC1hcmdsaXN0LXBvc2l0aW9uYWwt
cGF0dGVybiAocG9zLXZhcnMgb3B0LXZhcnMgcmVzdC12YXIga2V5LXZhcnMpCisgICJCdWlsZCBh
IHBhdHRlcm4gZm9yIHRoZSBwb3NpdGlvbmFsLCBgJm9wdGlvbmFsJywgYW5kIGAmcmVzdCcgdmFy
aWFibGVzLgorCitQT1MtVkFSUyBpcyB0aGUgbGlzdCBvZiB0aGUgcG9zaXRpb25hbCB2YXJpYWJs
ZXMuICBPUFQtVkFSUyBpcyB0aGUgbGlzdCBvZgordGhlIG9wdGlvbmFsIHZhcmlhYmxlcy4gIFJF
U1QtVkFSIGlzIHRoZSBgJnJlc3QnIHZhcmlhYmxlLiIKKyAgOzsgQSBtb2RpZmllZCB2ZXJzaW9u
IG9mIHRoZSBiYWNrLXF1b3RlIHBhdHRlcm4gdG8gYmV0dGVyIHdvcmsgd2l0aAorICA7OyBvcHRp
b25hbCB2YWx1ZXMuCisgIChjb25kCisgICAocG9zLXZhcnMgYChhbmQgKHByZWQgY29uc3ApCisg
ICAgICAgICAgICAgICAgICAgKGFwcCBjYXItc2FmZSAsKGNhciBwb3MtdmFycykpCisgICAgICAg
ICAgICAgICAgICAgKGFwcCBjZHItc2FmZSAsKGNsLS1wY2FzZS1jbC1hcmdsaXN0LXBvc2l0aW9u
YWwtcGF0dGVybgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2RyIHBvcy12
YXJzKSBvcHQtdmFycworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN0LXZh
ciBrZXktdmFycykpKSkKKyAgIChvcHQtdmFycyAocGNhc2UtbGV0ICgoKG9yIGAoLHZhciAsZGVm
YXVsdCAsc3VwcGxpZWQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKCx2YXIgLGRl
ZmF1bHQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKCx2YXIpCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB2YXIpCisgICAgICAgICAgICAgICAgICAgICAgICAgIChjYXIg
b3B0LXZhcnMpKSkKKyAgICAgICAgICAgICAgIGAoYW5kIChwcmVkIGxpc3RwKQorICAgICAgICAg
ICAgICAgICAgICAgKGFwcCBjYXItc2FmZSAob3IgKGFuZCAocHJlZCBudWxsKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQCh3aGVuIHN1cHBsaWVkIGAoKGxl
dCAsc3VwcGxpZWQgbmlsKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICxAKHdoZW4gZGVmYXVsdCBgKChsZXQgLHZhciAsZGVmYXVsdCkpKSkKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwoaWYgc3VwcGxpZWQKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYChhbmQgKGxldCAsc3VwcGxpZWQgdCkK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLHZhcikK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcikpKQorICAgICAg
ICAgICAgICAgICAgICAgKGFwcCBjZHItc2FmZSAsKGNsLS1wY2FzZS1jbC1hcmdsaXN0LXBvc2l0
aW9uYWwtcGF0dGVybgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5pbCAo
Y2RyIG9wdC12YXJzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3Qt
dmFyIGtleS12YXJzKSkpKSkKKyAgIChyZXN0LXZhciByZXN0LXZhcikKKyAgIDs7IGBwY2FzZScg
YWxsb3dzIGAoLGEgLGIpIHRvIG1hdGNoICgxIDIgMyksIHNvIHdlIG5lZWQgdG8gbWFrZQorICAg
Ozsgc3VyZSB0aGVyZSBhcmVuJ3QgbW9yZSB2YWx1ZXMgbGVmdC4gIEhvd2V2ZXIsIGlmIHdlIGFy
ZSB1c2luZworICAgOzsgYCZrZXknLCB0aGVuIHdlIGFsbG93IG1vcmUgdmFsdWVzLgorICAgKGtl
eS12YXJzICdfKQorICAgKHQgJyhwcmVkIG51bGwpKSkpCisKKyhkZWZ1biBjbC0tcGNhc2UtY2wt
YXJnbGlzdC0ma2V5LXBhdHRlcm4gKGtleS12YXJzIGFsbG93LW90aGVyLWtleXMpCisgICJCdWls
ZCBhIGBwY2FzZScgcGF0dGVybiBmb3IgdGhlIGAma2V5JyB2YXJpYWJsZXMuCisKK0tFWS1WQVJT
IGFyZSB0aGUgZm9ybXMgb2YgdGhlIGtleSB2YXJpYWJsZXMuICBBTExPVy1PVEhFUi1LRVlTIGlz
Cit3aGV0aGVyIGAmYWxsb3ctb3RoZXIta2V5cycgd2FzIHVzZWQuICBQTElTVC1WQVIgaXMgdGhl
IHZhcmlhYmxlCitob2xkaW5nIHRoZSBwcm9wZXJ0eSBsaXN0LiIKKyAgOzsgSWYgd2UgYXJlbid0
IGNoZWNraW5nIHdoZXRoZXIgYWxsIGtleXMgaW4gRVhQVkFMIHdlcmUgZ2l2ZW4sCisgIDs7IHRo
ZW4gd2UgY2FuIHVzZSBzaW1wbGVyIHBhdHRlcm5zIHNpbmNlIHdlIGRvbid0IG5lZWQgdG8gc3Rv
cmUgdGhlCisgIDs7IHZhbHVlIG9mIHRoZSBrZXkuCisgIChjbC1mbGV0ICgoZ2V0LXZhci1kYXRh
ICh2YXItZm9ybSkKKyAgICAgICAgICAgICAgKHBjYXNlLWxldCAoKChvciAob3IgYCgoLGtleSAs
dmFyKSAsZGVmYXVsdCAsc3VwcGxpZWQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGAoKCxrZXkgLHZhcikgLGRlZmF1bHQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGAoKCxrZXkgLHZhcikpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChh
bmQgKG9yIGAoLHZhciAsZGVmYXVsdCAsc3VwcGxpZWQpCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYCgsdmFyICxkZWZhdWx0KQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGAoLHZhcikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAoYW5kIChwcmVkIHN5bWJvbHApCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB2YXIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgOzsgU3RyaXAgYSBsZWFkaW5nIHVuZGVyc2NvcmUsIHNpbmNlIGl0CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBvbmx5IG1lYW5zIHRoYXQgdGhpcyBhcmd1bWVu
dCBpcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgdW51c2VkLCBidXQg
c2hvdWxkbid0IGFmZmVjdCB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDs7IGtleSdzIG5hbWUgKGJ1ZyMxMjM2NykuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAobGV0IGtleSAoaW50ZXJuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKGZvcm1hdCAiOiVzIgorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxldCAoKG5hbWUgKHN5bWJvbC1uYW1lIHZhcikp
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAoaWYgKGVxID9fIChhcmVmIG5hbWUgMCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3Vic3RyaW5nIG5hbWUgMSkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1l
KSkpKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyLWZvcm0pKQorICAgICAgICAg
ICAgICAgIChsaXN0IGtleSB2YXIgZGVmYXVsdCBzdXBwbGllZCkpKSkKKyAgICAoaWYgYWxsb3ct
b3RoZXIta2V5cworICAgICAgICBgKGFuZCAsQChtYXBjYXIgKGxhbWJkYSAodmFyLWZvcm0pCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIChwY2FzZS1sZXQgKChgKCxrZXkgLHZhciAsZGVmYXVs
dCAsc3VwcGxpZWQpIChnZXQtdmFyLWRhdGEgdmFyLWZvcm0pKQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAoa2V5LWZvdW5kIChnZW5zeW0gImtleS1mb3VuZCIpKQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocGxpc3QgKGdlbnN5bSAicGxpc3Qi
KSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbmQgKHN1cHBsaWVkCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAoYXBwIChsYW1iZGEgKCxwbGlzdCkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGV0ICgoLGtleS1mb3VuZCAo
cGxpc3QtbWVtYmVyICxwbGlzdCAsa2V5KSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAoaWYgLGtleS1mb3VuZAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zIHQgKGNhZHIgLHBsaXN0KSkKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnMgbmlsICxkZWZhdWx0
KSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoLCdcYCAoKCwn
XCwgLHN1cHBsaWVkKSAuICgsJ1wsICx2YXIpKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIChkZWZhdWx0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAo
YXBwIChsYW1iZGEgKCxwbGlzdCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAobGV0ICgoLGtleS1mb3VuZCAocGxpc3QtbWVtYmVyICxwbGlzdCAsa2V5KSkpCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgLGtleS1mb3Vu
ZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjYWRy
ICxwbGlzdCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LGRlZmF1bHQpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLHZh
cikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHQKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYChhcHAgKHBjYXNlLS1mbGlwIHBsaXN0LWdldCAsa2V5KQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsdmFyKSkpKSkKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGtleS12YXJzKSkKKyAgICAgIDs7IElmIHdlIGFyZSBjaGVja2lu
ZyB3aGV0aGVyIHRoZXJlIGFyZSBubyBvdGhlciBrZXlzIGluIEVYUFZBTCwKKyAgICAgIDs7IHRo
ZW4gd2UgdXNlIGEgc2luZ2xlIGZ1bmN0aW9uIGZvciBleHRyYWN0aW5nIHRoZSBhc3NvY2lhdGVk
CisgICAgICA7OyB2YWx1ZXMgYW5kIHBlcmZvcm1pbmcgdGhlIGNoZWNrLCB3aG9zZSBvdXRwdXQg
d2UgbWF0Y2ggYWdhaW5zdAorICAgICAgOzsgYSBsaXN0IG9mIHBhdHRlcm5zLgorICAgICAgKGxl
dCAoKHJlcyAoZ2Vuc3ltICJyZXMiKSkKKyAgICAgICAgICAgIChrZXlzIChnZW5zeW0gImtleXMi
KSkKKyAgICAgICAgICAgIChwbGlzdCAoZ2Vuc3ltICJwbGlzdCIpKQorICAgICAgICAgICAgKHBh
dHMgbmlsKSkKKyAgICAgICAgYChhcHAgKGxhbWJkYSAoLHBsaXN0KQorICAgICAgICAgICAgICAg
IChsZXQgKCgscmVzIG5pbCkKKyAgICAgICAgICAgICAgICAgICAgICAoLGtleXMgbmlsKSkKKyAg
ICAgICAgICAgICAgICAgICxAKGNsLWxvb3AKKyAgICAgICAgICAgICAgICAgICAgIGZvciAoa2V5
IHZhciBkZWZhdWx0IHN1cHBsaWVkKSBpbiAobWFwY2FyICMnZ2V0LXZhci1kYXRhIGtleS12YXJz
KQorICAgICAgICAgICAgICAgICAgICAgY29sbGVjdCAobWFjcm9leHAtbGV0MiogKChrZXl2YWwg
a2V5KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5pbAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGAocHJvZ24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAocHVzaCAsa2V5dmFsICxrZXlzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICwoY29uZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN1cHBsaWVk
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHB1c2ggc3VwcGxpZWQgcGF0
cykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHVzaCB2YXIgcGF0cykK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2wtb25jZS1vbmx5ICgoa2V5
LWZvdW5kIGAocGxpc3QtbWVtYmVyICxwbGlzdCAsa2V5dmFsKSkpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBgKGlmICxrZXktZm91bmQKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2duCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKHB1c2ggdCAscmVzKQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwdXNoIChjYWRyICxrZXktZm91bmQpICxyZXMp
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHB1c2ggbmlsICxy
ZXMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHVzaCAsZGVm
YXVsdCAscmVzKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlZmF1
bHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHVzaCB2YXIgcGF0cykK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2wtb25jZS1vbmx5ICgoa2V5
LWZvdW5kIGAocGxpc3QtbWVtYmVyICxwbGlzdCAsa2V5dmFsKSkpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBgKGlmICxrZXktZm91bmQKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHB1c2ggKGNhZHIgLGtleS1mb3VuZCkgLHJlcykK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwdXNoICxkZWZhdWx0
ICxyZXMpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwdXNoIHZhciBwYXRzKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAocHVzaCAocGxpc3QtZ2V0ICxwbGlzdCAsa2V5
dmFsKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAscmVzKSkp
KSkpCisgICAgICAgICAgICAgICAgICAocHVzaCAob3IgKHBsaXN0LWdldCAscGxpc3QgOmFsbG93
LW90aGVyLWtleXMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsLWxvb3AgZm9yIChr
ZXkgX3ZhbCkgb24gLHBsaXN0IGJ5ICMnY2RkcgorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGFsd2F5cyAobWVtcSBrZXkgLGtleXMpKSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgICxyZXMpCisgICAgICAgICAgICAgICAgICA7OyBSZXZlcnNlIGluIGNhc2UgYSBsYXR0ZXIg
cGF0dGVybiB1c2UgYSB2YXJpYWJsZQorICAgICAgICAgICAgICAgICAgOzsgZnJvbSBhbiBlYXJs
aWVyIHBhdHRlcm4uCisgICAgICAgICAgICAgICAgICAobnJldmVyc2UgLHJlcykpKQorICAgICAg
ICAgICAgICAoLCdcYCAsKGNsLWxvb3AgZm9yIHBhdCBpbiAocmV2ZXJzZSAoY29ucyAnKHByZWQg
KG5vdCBudWxsKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcGF0cykpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xsZWN0
IGAoLCdcLCAscGF0KSkpKSkpKSkKKworKGRlZnVuIGNsLS1wY2FzZS1jbC1hcmdsaXN0LSZhdXgt
cGF0dGVybiAoYXV4LXZhcnMpCisgICJCdWlsZCBgcGNhc2UnIHBhdHRlcm4gZm9yIGAmYXV4JyB2
YXJpYWJsZXMuCisKK0FVWC1WQVJTIGlzIHRoZSBsaXN0IG9mIGJpbmRpbmdzLiIKKyAgYChhbmQg
LEAoY2wtbG9vcCBmb3IgYmluZCBpbiBhdXgtdmFycworICAgICAgICAgICAgICAgICAgIGNvbGxl
Y3QgKHBjYXNlLWxldCAoKChvciBgKCx2YXIgLHZhbCkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYCgsdmFyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB2YXIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYmluZCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAobGV0ICx2YXIgLHZh
bCkpKSkpCisKKzs7OyMjI2F1dG9sb2FkCisocGNhc2UtZGVmbWFjcm8gY2wtYXJnbGlzdCAoYXJn
bGlzdCkKKyAgIk1hdGNoIGEgQ0wgYXJndW1lbnQgbGlzdCwgYXMgaW4gYGNsLWRlZnVuJyBhbmQg
YGNsLWRlZm1hY3JvJy4KKworU2VlIHRoZSBJbmZvIG5vZGUgYChjbClBcmd1bWVudCBMaXN0cycu
CisKK1RoaXMgcGF0dGVybiBkb2VzIG5vdCBzdXBwb3J0IGAmZW52aXJvbm1lbnQnLgorCitgJmtl
eScgd2lsbCBmYWlsIHRvIG1hdGNoIGlmIHRoZXJlIGFyZSBtb3JlIGtleXMgaW4gdGhlIHBsaXN0
Cit0aGVuIHNwZWNpZmllZCwgdW5sZXNzIGAmYWxsb3ctb3RoZXIta2V5cycgaXMgZ2l2ZW4gb3Ig
dW5sZXNzIHRoZQorcGxpc3QgYXNzb2NpYXRlcyB0aGUga2V5IGA6YWxsb3ctb3RoZXIta2V5cycg
d2l0aCBhIG5vbi1uaWwKK3ZhbHVlLiAgVW5saWtlIGBjbC1kZXN0cnVjdHVyaW5nLWJpbmQnLCB0
aGlzIHBhdHRlcm4gZG9lcyBub3QKK3NpZ25hbCBhbiBlcnJvciBpZiB0aGVyZSBhcmUgdW5tYXRj
aGVkIGtleXMgaW4gdGhlIHBsaXN0LgorCitVbmxpa2UgdGhlIGJhY2stcXVvdGUgcGF0dGVybiwg
dGhlIHBhdHRlcm4gd2lsbCBmYWlsIHRvIG1hdGNoIGlmIHRoZQorbm9uLW9wdGlvbmFsIHBhcnQg
b2YgQVJHTElTVCBpcyBzaG9ydGVyIHRoYW4gRVhQVkFMLgorCitGb3IgdGhpcyBgcGNhc2UnIHBh
dHRlcm4sIHRoZSB2YXJpYWJsZXMgaW4gQVJHTElTVCBjYW4KK3RoZW1zZWx2ZXMgYmUgYHBjYXNl
JyBwYXR0ZXJucywgaW5zdGVhZCBvZiBqdXN0IHN5bWJvbHMgYXMgaW4gYQorbm9ybWFsIENMIGxh
bWJkYSBsaXN0LiAgSG93ZXZlciwgYXJndW1lbnQtbGlzdCBjb25zdHJ1Y3RzIGxpa2UKK2Amb3B0
aW9uYWwnLCBgJmtleScsIGFuZCBgJmF1eCcgdXNlIHN1Yi1saXN0cyB0byBzcGVjaWZ5IGRlZmF1
bHQKK3ZhbHVlcyBhbmQgb3RoZXIgZmVhdHVyZXMuICBGb3IgZXhhbXBsZSwKKworICAgIChjbC1h
cmdsaXN0ICgmb3B0aW9uYWwgKG9wdDEgZGVmYXVsdDEgb3B0MS1zdXBwbGllZCkpKQorCitUaGVy
ZWZvcmUsIHRvIGF2b2lkIGFtYmlndWl0eSwgdGhlIHVzZSBvZiBzdWItcGF0dGVybnMgY2FuIG9u
bHkKK2JlIGRvbmUgd2l0aGluIHRoZSBzdWItbGlzdCBmb3IgdGhvc2UgY29uc3RydWN0cy4gIEZv
ciBleGFtcGxlLAorCisgICAgKGNsLWFyZ2xpc3QgKCZvcHRpb25hbCAoKGFuZCBvcHQxIChndWFy
ZCAobGlzdHAgb3B0MSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgbmlsKSkpCisKK0Zv
ciBzaW1pbGFyIHJlYXNvbnMsIHRoZSBjZHIgb2YgYSBkb3R0ZWQgbGlzdCAoYXMgb3Bwb3NlZCB0
byB0aGUKK2VsZW1lbnQgZm9sbG93aW5nIGAmcmVzdCcpIGZvciB0aGUgcmVtYWluZGVyIG9mIGEg
bGlzdCBjYW5ub3QgYmUKK2Egc3ViLXBhdHRlcm4uIgorICAobGV0KiAoKGdyb3VwcyAoY2wtLXBj
YXNlLWNsLWFyZ2xpc3QtdmFyLWdyb3VwcyBhcmdsaXN0KSkKKyAgICAgICAgICh3aG9sZS12YXIg
KGFsaXN0LWdldCAnd2hvbGUgZ3JvdXBzKSkKKyAgICAgICAgIChwb3MtdmFycyAoYWxpc3QtZ2V0
ICdwb3MgZ3JvdXBzKSkKKyAgICAgICAgIChvcHQtdmFycyAoYWxpc3QtZ2V0ICdvcHQgZ3JvdXBz
KSkKKyAgICAgICAgIChyZXN0LXZhciAoYWxpc3QtZ2V0ICdyZXN0IGdyb3VwcykpCisgICAgICAg
ICAoa2V5LXZhcnMgKGFsaXN0LWdldCAna2V5IGdyb3VwcykpCisgICAgICAgICAoYWxsb3ctb3Ro
ZXIta2V5cyAoYWxpc3QtZ2V0ICdhbGxvdy1vdGhlci1rZXlzIGdyb3VwcykpCisgICAgICAgICAo
YXV4LXZhcnMgKGFsaXN0LWdldCAnYXV4IGdyb3VwcykpKQorICAgIChyZW1xIG5pbAorICAgICAg
ICAgIGAoYW5kIChwcmVkIGxpc3RwKQorICAgICAgICAgICAgICAgICwod2hlbiB3aG9sZS12YXIK
KyAgICAgICAgICAgICAgICAgICB3aG9sZS12YXIpCisgICAgICAgICAgICAgICAgLCh3aGVuIChv
ciBwb3MtdmFycyBvcHQtdmFycyByZXN0LXZhcikKKyAgICAgICAgICAgICAgICAgICAoY2wtLXBj
YXNlLWNsLWFyZ2xpc3QtcG9zaXRpb25hbC1wYXR0ZXJuCisgICAgICAgICAgICAgICAgICAgIHBv
cy12YXJzIG9wdC12YXJzCisgICAgICAgICAgICAgICAgICAgIHJlc3QtdmFyIGtleS12YXJzKSkK
KyAgICAgICAgICAgICAgICAsKHdoZW4ga2V5LXZhcnMKKyAgICAgICAgICAgICAgICAgICAoY29u
ZAorICAgICAgICAgICAgICAgICAgICAocmVzdC12YXIgYChhcHAgKGxhbWJkYSAoXykgLHJlc3Qt
dmFyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLChjbC0tcGNhc2UtY2wt
YXJnbGlzdC0ma2V5LXBhdHRlcm4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAga2V5LXZhcnMgYWxsb3ctb3RoZXIta2V5cykpKQorICAgICAgICAgICAgICAgICAgICAoKG9y
IHBvcy12YXJzIG9wdC12YXJzKQorICAgICAgICAgICAgICAgICAgICAgYChhcHAgKG50aGNkciAs
KCsgKGxlbmd0aCBwb3MtdmFycykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIChsZW5ndGggb3B0LXZhcnMpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICwoY2wt
LXBjYXNlLWNsLWFyZ2xpc3QtJmtleS1wYXR0ZXJuCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGtleS12YXJzIGFsbG93LW90aGVyLWtleXMpKSkKKyAgICAgICAgICAgICAgICAgICAgKHQg
KGNsLS1wY2FzZS1jbC1hcmdsaXN0LSZrZXktcGF0dGVybgorICAgICAgICAgICAgICAgICAgICAg
ICAga2V5LXZhcnMgYWxsb3ctb3RoZXIta2V5cykpKSkKKyAgICAgICAgICAgICAgICAsKHdoZW4g
YXV4LXZhcnMKKyAgICAgICAgICAgICAgICAgICAoY2wtLXBjYXNlLWNsLWFyZ2xpc3QtJmF1eC1w
YXR0ZXJuIGF1eC12YXJzKSkpKSkpCisKIDs7IExvY2FsIHZhcmlhYmxlczoKIDs7IGdlbmVyYXRl
ZC1hdXRvbG9hZC1maWxlOiAiY2wtbG9hZGRlZnMuZWwiCiA7OyBFbmQ6CmRpZmYgLS1naXQgYS90
ZXN0L2xpc3AvZW1hY3MtbGlzcC9wY2FzZS10ZXN0cy5lbCBiL3Rlc3QvbGlzcC9lbWFjcy1saXNw
L3BjYXNlLXRlc3RzLmVsCmluZGV4IDc5OWU4ZDM2NjQ3Li4xMDhlNGI5NmQwNCAxMDA2NDQKLS0t
IGEvdGVzdC9saXNwL2VtYWNzLWxpc3AvcGNhc2UtdGVzdHMuZWwKKysrIGIvdGVzdC9saXNwL2Vt
YWNzLWxpc3AvcGNhc2UtdGVzdHMuZWwKQEAgLTE2MCw0ICsxNjAsNTE5IEBAIHBjYXNlLXRlc3Rz
LXNldHEKICAgKHNob3VsZC1lcnJvciAocGNhc2Utc2V0cSBhKQogICAgICAgICAgICAgICAgIDp0
eXBlICcod3JvbmctbnVtYmVyLW9mLWFyZ3VtZW50cykpKQogCis7Ozs7IFRlc3RzIGZvciB0aGUg
YGNsLWFyZ2xpc3QnIGBwY2FzZScgcGF0dGVybi4KKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3Rz
LWNsLWFyZ2xpc3QtJndob2xlLXNob3VsZC1lcnJvciAoKQorICAiYCZ3aG9sZScgbXVzdCBjb21l
IGZpcnN0IGlmIGdpdmVuLCBhbmQgbXVzdCBiZSBmb2xsb3dlZCBieSBhIHBhdHRlci4iCisgIChz
aG91bGQtZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgKChjbC1h
cmdsaXN0ICgmd2hvbGUpKQorICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpCisgICAg
ICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1jbC1hcmdsaXN0LWludmFsaWQtYXJnLWxpc3Qp
CisKKyAgKHNob3VsZC1lcnJvciAocGNhc2UgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAg
ICAoKGNsLWFyZ2xpc3QgKGEgYiAmd2hvbGUgYykpCisgICAgICAgICAgICAgICAgICAgKGxpc3Qg
YSBiIGMpKSkKKyAgICAgICAgICAgICAgICA6dHlwZSAnY2wtLXBjYXNlLWNsLWFyZ2xpc3QtaW52
YWxpZC1hcmctbGlzdCkKKworICAoc2hvdWxkLWVycm9yIChwY2FzZSAobGlzdCAxIDIgMykKKyAg
ICAgICAgICAgICAgICAgICgoY2wtYXJnbGlzdCAoJnJlc3QgYSAmd2hvbGUgYykpCisgICAgICAg
ICAgICAgICAgICAgKGxpc3QgYSBiIGMpKSkKKyAgICAgICAgICAgICAgICA6dHlwZSAnY2wtLXBj
YXNlLWNsLWFyZ2xpc3QtaW52YWxpZC1hcmctbGlzdCkKKworICAoc2hvdWxkLWVycm9yIChwY2Fz
ZSAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICgoY2wtYXJnbGlzdCAoJmtleSBhICZ3
aG9sZSBjKSkKKyAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYykpKQorICAgICAgICAgICAg
ICAgIDp0eXBlICdjbC0tcGNhc2UtY2wtYXJnbGlzdC1pbnZhbGlkLWFyZy1saXN0KQorCisgIChz
aG91bGQtZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgKChjbC1h
cmdsaXN0ICgmYXV4IChhIDEpICZ3aG9sZSBjKSkKKyAgICAgICAgICAgICAgICAgICAobGlzdCBh
IGIgYykpKQorICAgICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2UtY2wtYXJnbGlzdC1pbnZh
bGlkLWFyZy1saXN0KQorCisgIChzaG91bGQtZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAg
ICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0ICgmb3B0aW9uYWwgKGEgMSkgJndob2xlIGMpKQor
ICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpCisgICAgICAgICAgICAgICAgOnR5cGUg
J2NsLS1wY2FzZS1jbC1hcmdsaXN0LWludmFsaWQtYXJnLWxpc3QpCisKKyAgKHNob3VsZC1lcnJv
ciAocGNhc2UgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKCZ3
aG9sZSB3aG9sZTEgJndob2xlIHdob2xlMikpCisgICAgICAgICAgICAgICAgICAgKGxpc3Qgd2hv
bGUxIHdob2xlMikpKQorICAgICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2UtY2wtYXJnbGlz
dC1pbnZhbGlkLWFyZy1saXN0KSkKKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3RzLWNsLWFyZ2xp
c3QtJndob2xlICgpCisgICJgJndob2xlJyBjYW4gYmUgYSBgcGNhc2UnIHBhdHRlcm4uIgorICAo
c2hvdWxkIChlcXVhbCAobGlzdCAobGlzdCAxIDIgMykgMSAyIDMpCisgICAgICAgICAgICAgICAg
IChwY2FzZSAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKCZ3
aG9sZSB3aG9sZSBhIGIgYykpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IHdob2xlIGEgYiBj
KSkpKSkKKworICAoc2hvdWxkIChlcXVhbCAobGlzdCAxIDIgMyAxIDIgMykKKyAgICAgICAgICAg
ICAgICAgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgICgoY2wtYXJnbGlz
dCAoJndob2xlIGAoLGEwICxiMCAsYzApIGEgYiBjKSkKKyAgICAgICAgICAgICAgICAgICAgKGxp
c3QgYTAgYjAgYzAgYSBiIGMpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3RzLWNsLWFy
Z2xpc3QtcG9zICgpCisgICJQb3NpdGlvbmFsIHZhcmlhYmxlcyBtdXN0IG1hdGNoIHRoZSBsZW5n
dGggb2YgRVhQVkFMLiIKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyIDMpCisgICAgICAgICAg
ICAgICAgIChwY2FzZSAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xp
c3QgKGEgYiBjKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGMpKSkpKQorCisgIChz
aG91bGQgKGVxdWFsIG5pbAorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgKGxpc3QgMSkp
CisgICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0IChhIGIpKQorICAgICAgICAgICAgICAg
ICAgICAobGlzdCBhIGIpKSkpKQorCisgIChzaG91bGQgKGVxdWFsIG5pbAorICAgICAgICAgICAg
ICAgICAocGNhc2UgKGxpc3QgKGxpc3QgMSAyIDMpKQorICAgICAgICAgICAgICAgICAgICgoY2wt
YXJnbGlzdCAoYSBiKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiKSkpKSkpCisKKyhl
cnQtZGVmdGVzdCBwY2FzZS10ZXN0cy1jbC1hcmdsaXN0LXBvcy1zdWItcGF0dGVybnMgKCkKKyAg
KHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyIDMgNCkKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChs
aXN0IDEgMiAobGlzdCAzIDQpKQorICAgICAgICAgICAgICAgICAgICgoY2wtYXJnbGlzdCAoYSBi
IChjbC1hcmdsaXN0IChjIGQpKSkpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjIGQp
KSkpKQorCisgIChzaG91bGQgKGVxdWFsIChsaXN0IDEgMikKKyAgICAgICAgICAgICAgICAgKHBj
YXNlIChsaXN0IChsaXN0IDEgMikpCisgICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0IChg
KCxhICxiKSkpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYikpKSkpKQorCisoZXJ0LWRl
ZnRlc3QgcGNhc2UtdGVzdHMtY2wtYXJnbGlzdC0mb3B0aW9uYWwtc2hvdWxkLWVycm9yICgpCisg
ICJgJm9wdGlvbmFsJyBjYW5ub3QgYmUgdXNlZCBhZnRlciBgJm9wdGlvbmFsJywgYCZyZXN0Jywg
YCZrZXknLCBhbmQgYCZhdXgnLiIKKyAgKHNob3VsZC1lcnJvciAoZXF1YWwgKGxpc3QgMSAyIDMp
CisgICAgICAgICAgICAgICAgICAgICAgIChwY2FzZSAobGlzdCAxIDIgMykKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKCZyZXN0IGEgJm9wdGlvbmFsIGIgYykpCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpKQorICAgICAgICAgICAgICAgIDp0
eXBlICdjbC0tcGNhc2UtY2wtYXJnbGlzdC1pbnZhbGlkLWFyZy1saXN0KQorCisgIChzaG91bGQt
ZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0
ICgmYm9keSBhICZvcHRpb25hbCBiIGMpKQorICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBj
KSkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1jbC1hcmdsaXN0LWludmFsaWQt
YXJnLWxpc3QpCisKKyAgKHNob3VsZC1lcnJvciAocGNhc2UgKGxpc3QgMSAyIDMpCisgICAgICAg
ICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKCZrZXkgYSAmb3B0aW9uYWwgYiBjKSkKKyAgICAgICAg
ICAgICAgICAgICAobGlzdCBhIGIgYykpKQorICAgICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNh
c2UtY2wtYXJnbGlzdC1pbnZhbGlkLWFyZy1saXN0KQorCisgIChzaG91bGQtZXJyb3IgKHBjYXNl
IChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0ICgmYWxsb3ctb3Ro
ZXIta2V5cyAmb3B0aW9uYWwgYiBjKSkKKyAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYykp
KQorICAgICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2UtY2wtYXJnbGlzdC1pbnZhbGlkLWFy
Zy1saXN0KQorCisgIChzaG91bGQtZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAg
ICAgICAgICAgKChjbC1hcmdsaXN0ICgmYXV4IChhIDEpICZvcHRpb25hbCBiIGMpKQorICAgICAg
ICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1w
Y2FzZS1jbC1hcmdsaXN0LWludmFsaWQtYXJnLWxpc3QpCisKKyAgKHNob3VsZC1lcnJvciAocGNh
c2UgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKCZvcHRpb25h
bCBhICZvcHRpb25hbCBiIGMpKQorICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpCisg
ICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1jbC1hcmdsaXN0LWludmFsaWQtYXJnLWxp
c3QpKQorCisoZXJ0LWRlZnRlc3QgcGNhc2UtdGVzdHMtY2wtYXJnbGlzdC0mb3B0aW9uYWwgKCkK
KyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAgIChwY2FzZSAo
bGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKGEgYiAmb3B0aW9u
YWwgYykpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpKSkKKworICAoc2hvdWxk
IChlcXVhbCAobGlzdCAxIDIgbmlsKQorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgMSAy
KQorICAgICAgICAgICAgICAgICAgICgoY2wtYXJnbGlzdCAoYSBiICZvcHRpb25hbCBjKSkKKyAg
ICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGMpKSkpKQorCisgIChzaG91bGQgKGVxdWFsIChs
aXN0IDEgMiAxMykKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IDEgMikKKyAgICAgICAg
ICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKGEgYiAmb3B0aW9uYWwgKGMgMTMpKSkKKyAgICAgICAg
ICAgICAgICAgICAgKGxpc3QgYSBiIGMpKSkpKQorCisgIChzaG91bGQgKGVxdWFsIChsaXN0IDEg
MiAxMyBuaWwpCisgICAgICAgICAgICAgICAgIChwY2FzZSAobGlzdCAxIDIpCisgICAgICAgICAg
ICAgICAgICAgKChjbC1hcmdsaXN0IChhIGIgJm9wdGlvbmFsIChjIDEzIGMtc3VwcGxpZWQpKSkK
KyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGMgYy1zdXBwbGllZCkpKSkpCisKKyAgKHNo
b3VsZCAoZXF1YWwgKGxpc3QgMSAyIDMgdCkKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0
IDEgMiAzKQorICAgICAgICAgICAgICAgICAgICgoY2wtYXJnbGlzdCAoYSBiICZvcHRpb25hbCAo
YyAxMyBjLXN1cHBsaWVkKSkpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjIGMtc3Vw
cGxpZWQpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3RzLWNsLWFyZ2xpc3QtJm9wdGlv
bmFsLXN1Yi1wYXR0ZXJucyAoKQorICAiVGVzdCB1c2luZyBzdWItcGF0dGVybnMgaW4gYGNsLWFy
Z2xpc3QnIHBhdHRlcm4uCitTdWItcGF0dGVybnMgbXVzdCBiZSBjb250YWluZWQgd2l0aGluIGEg
c3ViLWxpc3QsIHNpbmNlIGEgc3ViLWxpc3QKK2Fsc28gcHJvdmlkZXMgYSBkZWZhdWx0IHZhbHVl
LiIKKyAgKHNob3VsZC1lcnJvciAocGNhc2UgKGxpc3QgMSAyIChsaXN0IDMgNCkpCisgICAgICAg
ICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKGEgYiAmb3B0aW9uYWwgYCgsYyAsZCkpKQorICAgICAg
ICAgICAgICAgICAgIChsaXN0IGEgYiBjIGQpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3Qg
MSAyIDMzKQorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgMSAyKQorICAgICAgICAgICAg
ICAgICAgICgoY2wtYXJnbGlzdCAoYSBiICZvcHRpb25hbCAoKGFuZCBvcHQxCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGd1YXJkIChudW1iZXJw
IG9wdDEpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MzMpKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIG9wdDEpKSkpKQorCisgIChzaG91
bGQgKGVxdWFsIG5pbAorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgMSAyICdub3QtbnVt
KQorICAgICAgICAgICAgICAgICAgICgoY2wtYXJnbGlzdCAoYSBiICZvcHRpb25hbCAoKGFuZCBv
cHQxCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
KGd1YXJkIChudW1iZXJwIG9wdDEpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgMzMpKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIG9wdDEp
KSkpKQorCisgIChzaG91bGQgKGVxdWFsIG5pbAorICAgICAgICAgICAgICAgICAocGNhc2UgKGxp
c3QgMSAyIG5pbCkKKyAgICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKGEgYiAmb3B0aW9u
YWwgKChhbmQgb3B0MQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIChndWFyZCAobnVtYmVycCBvcHQxKSkpCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICdub3QtbnVtKSkpCisgICAgICAgICAgICAgICAgICAg
IChsaXN0IGEgYiBvcHQxKSkpKSkKKworICAoc2hvdWxkIChlcXVhbCAobGlzdCAxIDIgMyA0KQor
ICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgMSAyIChsaXN0IDMgNCkpCisgICAgICAgICAg
ICAgICAgICAgKChjbC1hcmdsaXN0IChhIGIgJm9wdGlvbmFsIChgKCxjICxkKSkpKQorICAgICAg
ICAgICAgICAgICAgICAobGlzdCBhIGIgYyBkKSkpKSkKKworICAoc2hvdWxkIChlcXVhbCAobGlz
dCAxIDIgbmlsIG5pbCkKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IDEgMikKKyAgICAg
ICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKGEgYiAmb3B0aW9uYWwgKGAoLGMgLGQpKSkpCisg
ICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjIGQpKSkpKQorCisgIChzaG91bGQgKGVxdWFs
IChsaXN0IDEgMiAxMyAxNCkKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IDEgMikKKyAg
ICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKGEgYiAmb3B0aW9uYWwgKGAoLGMgLGQpIChs
aXN0IDEzIDE0KSkpKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYyBkKSkpKSkKKwor
ICAoc2hvdWxkIChlcXVhbCAobGlzdCAxIDIgMTMgMTQpCisgICAgICAgICAgICAgICAgIChwY2Fz
ZSAobGlzdCAxIDIpCisgICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0ICggYSBiCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmb3B0aW9uYWwgKChjbC1hcmdsaXN0IChjICZv
cHRpb25hbCAoZCAxNCkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAobGlzdCAxMykpKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGMgZCkpKSkp
CisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyIDEzIDE0IG5pbCkKKyAgICAgICAgICAgICAg
ICAgKHBjYXNlIChsaXN0IDEgMikKKyAgICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKGEg
YiAmb3B0aW9uYWwgKGAoLGMgLGQpIChsaXN0IDEzIDE0KSBjZC1zdXBwbGllZCkpKQorICAgICAg
ICAgICAgICAgICAgICAobGlzdCBhIGIgYyBkIGNkLXN1cHBsaWVkKSkpKSkKKworICAoc2hvdWxk
IChlcXVhbCAobGlzdCAxIDIgMTMgMTQgbmlsIHQgbmlsKQorICAgICAgICAgICAgICAgICAocGNh
c2UgKGxpc3QgMSAyKQorICAgICAgICAgICAgICAgICAgICgoY2wtYXJnbGlzdCAoIGEgYgorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm9wdGlvbmFsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKCZvcHRpb25hbCAoYyAyNyBjLXN1Yi1zdXAp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IChkIDE0IGQtc3ViLXN1cCkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChs
aXN0IDEzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNkLXN1cHBsaWVkKSkp
CisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjIGQgY2Qtc3VwcGxpZWQgYy1zdWItc3Vw
IGQtc3ViLXN1cCkpKSkpKQorCisoZXJ0LWRlZnRlc3QgcGNhc2UtdGVzdHMtY2wtYXJnbGlzdC0m
cmVzdC1zaG91bGQtZXJyb3IgKCkKKyAgImAmcmVzdCcgKGAmYm9keScsIGAuJykgY2Fubm90IGJl
IHVzZWQgYWZ0ZXIgYCZyZXN0JywgYCZib2R5JywgYCZrZXknLGFuZCBgJmF1eCcuIgorICAoc2hv
dWxkLWVycm9yIChlcXVhbCAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICAgICAgKHBj
YXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgICAgICAgICgoY2wtYXJnbGlzdCAo
JnJlc3QgYSAmcmVzdCBiKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGMp
KSkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1jbC1hcmdsaXN0LWludmFsaWQt
YXJnLWxpc3QpCisKKyAgKHNob3VsZC1lcnJvciAoZXF1YWwgKGxpc3QgMSAyIDMpCisgICAgICAg
ICAgICAgICAgICAgICAgIChwY2FzZSAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAoKGNsLWFyZ2xpc3QgKCZib2R5IGEgJmJvZHkgYikpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIChsaXN0IGEgYiBjKSkpKQorICAgICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2Ut
Y2wtYXJnbGlzdC1pbnZhbGlkLWFyZy1saXN0KQorCisgIChzaG91bGQtZXJyb3IgKGVxdWFsIChs
aXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgMSAyIDMpCisg
ICAgICAgICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0ICgmYm9keSBhIC4gYikpCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpKQorICAgICAgICAgICAgICAgIDp0
eXBlICdjbC0tcGNhc2UtY2wtYXJnbGlzdC1pbnZhbGlkLWFyZy1saXN0KQorCisgIChzaG91bGQt
ZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0
ICgmYm9keSBhICZyZXN0IGIpKQorICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpCisg
ICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1jbC1hcmdsaXN0LWludmFsaWQtYXJnLWxp
c3QpCisKKyAgKHNob3VsZC1lcnJvciAocGNhc2UgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAg
ICAgICAoKGNsLWFyZ2xpc3QgKCZyZXN0IGEgJmJvZHkgYikpCisgICAgICAgICAgICAgICAgICAg
KGxpc3QgYSBiIGMpKSkKKyAgICAgICAgICAgICAgICA6dHlwZSAnY2wtLXBjYXNlLWNsLWFyZ2xp
c3QtaW52YWxpZC1hcmctbGlzdCkKKworICAoc2hvdWxkLWVycm9yIChwY2FzZSAobGlzdCAxIDIg
MykKKyAgICAgICAgICAgICAgICAgICgoY2wtYXJnbGlzdCAoJmtleSBhICZyZXN0IGIpKQorICAg
ICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2Ns
LS1wY2FzZS1jbC1hcmdsaXN0LWludmFsaWQtYXJnLWxpc3QpCisKKyAgKHNob3VsZC1lcnJvciAo
cGNhc2UgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKCZrZXkg
YSAmYm9keSBiKSkKKyAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYykpKQorICAgICAgICAg
ICAgICAgIDp0eXBlICdjbC0tcGNhc2UtY2wtYXJnbGlzdC1pbnZhbGlkLWFyZy1saXN0KQorCisg
IChzaG91bGQtZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgKChj
bC1hcmdsaXN0ICgma2V5IGEgLiBiKSkKKyAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYykp
KQorICAgICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2UtY2wtYXJnbGlzdC1pbnZhbGlkLWFy
Zy1saXN0KQorCisgIChzaG91bGQtZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAg
ICAgICAgICAgKChjbC1hcmdsaXN0ICgmYWxsb3ctb3RoZXIta2V5cyAmcmVzdCBiKSkKKyAgICAg
ICAgICAgICAgICAgICAobGlzdCBhIGIgYykpKQorICAgICAgICAgICAgICAgIDp0eXBlICdjbC0t
cGNhc2UtY2wtYXJnbGlzdC1pbnZhbGlkLWFyZy1saXN0KQorCisgIChzaG91bGQtZXJyb3IgKHBj
YXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0ICgmYWxsb3ct
b3RoZXIta2V5cyAmYm9keSBiKSkKKyAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYykpKQor
ICAgICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2UtY2wtYXJnbGlzdC1pbnZhbGlkLWFyZy1s
aXN0KQorCisgIChzaG91bGQtZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAg
ICAgICAgKChjbC1hcmdsaXN0ICgmYWxsb3ctb3RoZXIta2V5cyAuIGIpKQorICAgICAgICAgICAg
ICAgICAgIChsaXN0IGEgYiBjKSkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1j
bC1hcmdsaXN0LWludmFsaWQtYXJnLWxpc3QpCisKKyAgKHNob3VsZC1lcnJvciAocGNhc2UgKGxp
c3QgMSAyIDMpCisgICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKCZhdXggKGEgMSkgJnJl
c3QgYikpCisgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGMpKSkKKyAgICAgICAgICAgICAg
ICA6dHlwZSAnY2wtLXBjYXNlLWNsLWFyZ2xpc3QtaW52YWxpZC1hcmctbGlzdCkKKworICAoc2hv
dWxkLWVycm9yIChwY2FzZSAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICgoY2wtYXJn
bGlzdCAoJmF1eCAoYSAxKSAmYm9keSBiKSkKKyAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIg
YykpKQorICAgICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2UtY2wtYXJnbGlzdC1pbnZhbGlk
LWFyZy1saXN0KQorCisgIChzaG91bGQtZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAg
ICAgICAgICAgICAgKChjbC1hcmdsaXN0ICgmYXV4IChhIDEpIC4gYikpCisgICAgICAgICAgICAg
ICAgICAgKGxpc3QgYSBiIGMpKSkKKyAgICAgICAgICAgICAgICA6dHlwZSAnY2wtLXBjYXNlLWNs
LWFyZ2xpc3QtaW52YWxpZC1hcmctbGlzdCkpCisKKyhlcnQtZGVmdGVzdCBwY2FzZS10ZXN0cy1j
bC1hcmdsaXN0LSZyZXN0LW5vbmxpc3QtY2RyICgpCisgIChzaG91bGQgKGVxdWFsIChsaXN0IDEg
MikKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChjb25zIDEgMikKKyAgICAgICAgICAgICAgICAg
ICAoKGNsLWFyZ2xpc3QgKGEgJnJlc3QgYikpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEg
YikpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyKQorICAgICAgICAgICAgICAgICAo
cGNhc2UgKGNvbnMgMSAyKQorICAgICAgICAgICAgICAgICAgICgoY2wtYXJnbGlzdCAoYSAmYm9k
eSBiKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiKSkpKSkKKworICAoc2hvdWxkIChl
cXVhbCAobGlzdCAxIDIpCisgICAgICAgICAgICAgICAgIChwY2FzZSAoY29ucyAxIDIpCisgICAg
ICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0IChhIC4gYikpCisgICAgICAgICAgICAgICAgICAg
IChsaXN0IGEgYikpKSkpKQorCisoZXJ0LWRlZnRlc3QgcGNhc2UtdGVzdHMtY2wtYXJnbGlzdC0m
cmVzdC13aXRoLSZ3aG9sZSAoKQorICAoc2hvdWxkIChlcXVhbCAobGlzdCAoY29ucyAxIDIpIDEg
MikKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChjb25zIDEgMikKKyAgICAgICAgICAgICAgICAg
ICAoKGNsLWFyZ2xpc3QgKCZ3aG9sZSB3aG9sZSBhICZyZXN0IGIpKQorICAgICAgICAgICAgICAg
ICAgICAobGlzdCB3aG9sZSBhIGIpKSkpKQorCisgIChzaG91bGQgKGVxdWFsIChsaXN0IChjb25z
IDEgMikgMSAyKQorICAgICAgICAgICAgICAgICAocGNhc2UgKGNvbnMgMSAyKQorICAgICAgICAg
ICAgICAgICAgICgoY2wtYXJnbGlzdCAoJndob2xlIHdob2xlIGEgJmJvZHkgYikpCisgICAgICAg
ICAgICAgICAgICAgIChsaXN0IHdob2xlIGEgYikpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxp
c3QgKGNvbnMgMSAyKSAxIDIpCisgICAgICAgICAgICAgICAgIChwY2FzZSAoY29ucyAxIDIpCisg
ICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0ICgmd2hvbGUgd2hvbGUgYSAuIGIpKQorICAg
ICAgICAgICAgICAgICAgICAobGlzdCB3aG9sZSBhIGIpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHBj
YXNlLXRlc3RzLWNsLWFyZ2xpc3QtJnJlc3Qtb25seSAoKQorICAiVXNpbmcgb25seSBgJnJlc3Qn
IHNob3VsZCB3b3JrIGxpa2UgYCZ3aG9sZScuIgorICAoc2hvdWxkIChlcXVhbCAobGlzdCAobGlz
dCAxIDIpKQorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgMSAyKQorICAgICAgICAgICAg
ICAgICAgICgoY2wtYXJnbGlzdCAoJnJlc3QgYSkpCisgICAgICAgICAgICAgICAgICAgIChsaXN0
IGEpKSkpKQorCisgIChzaG91bGQgKGVxdWFsIChsaXN0IChjb25zIDEgMikpCisgICAgICAgICAg
ICAgICAgIChwY2FzZSAoY29ucyAxIDIpCisgICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0
ICgmYm9keSBhKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSkpKSkpKQorCisoZXJ0LWRl
ZnRlc3QgcGNhc2UtdGVzdHMtY2wtYXJnbGlzdC0mcmVzdC1hZnRlci0mb3B0aW9uYWwgKCkKKyAg
KHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyIDMgKGxpc3QgNCA1KSkKKyAgICAgICAgICAgICAgICAg
KHBjYXNlIChsaXN0IDEgMiAzIDQgNSkKKyAgICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3Qg
KCZvcHRpb25hbCBhIGIgYyAmcmVzdCBkKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBi
IGMgZCkpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyIDMgKGxpc3QgNCA1KSkKKyAg
ICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IDEgMiAzIDQgNSkKKyAgICAgICAgICAgICAgICAg
ICAoKGNsLWFyZ2xpc3QgKCZvcHRpb25hbCBhIGIgYyAmYm9keSBkKSkKKyAgICAgICAgICAgICAg
ICAgICAgKGxpc3QgYSBiIGMgZCkpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyIDMg
KGxpc3QgNCA1KSkKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IDEgMiAzIDQgNSkKKyAg
ICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKCZvcHRpb25hbCBhIGIgYyAuIGQpKQorICAg
ICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYyBkKSkpKSkpCisKKyhlcnQtZGVmdGVzdCBwY2Fz
ZS10ZXN0cy1jbC1hcmdsaXN0LSZyZXN0LXN1Yi1wYXR0ZXJucyAoKQorICA7OyBXZSBjYW4ndCBk
byAoYSAuIGAoLGIgLiAsYykpLCBzbyB3ZSBkb24ndCB0ZXN0IHRoYXQuCisgIChzaG91bGQgKGVx
dWFsIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgMSAyIDMpCisg
ICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0IChhICZyZXN0IChjbC1hcmdsaXN0IChiIGMp
KSkpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpKSkKKworICAoc2hvdWxkIChl
cXVhbCAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IDEgMiAzKQor
ICAgICAgICAgICAgICAgICAgICgoY2wtYXJnbGlzdCAoYSAmYm9keSBgKCxiICxjKSkpCisgICAg
ICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpKSkpCisKKyhlcnQtZGVmdGVzdCBwY2FzZS10
ZXN0cy1jbC1hcmdsaXN0LSZrZXktc2hvdWxkLWVycm9yICgpCisgICJgJmtleScgY2Fubm90IGJl
IHVzZWQgYWZ0ZXIgYCZrZXknLCBgJmFsbG93LW90aGVyLWtleXMnLCBhbmQgYCZhdXgnLiIKKyAg
KHNob3VsZC1lcnJvciAocGNhc2UgKGxpc3QgOmEgMSA6YiAyKQorICAgICAgICAgICAgICAgICAg
KChjbC1hcmdsaXN0ICgma2V5IGEgJmtleSBiKSkKKyAgICAgICAgICAgICAgICAgICAobGlzdCBh
IGIpKSkKKyAgICAgICAgICAgICAgICA6dHlwZSAnY2wtLXBjYXNlLWNsLWFyZ2xpc3QtaW52YWxp
ZC1hcmctbGlzdCkKKworICAoc2hvdWxkLWVycm9yIChwY2FzZSAobGlzdCA6YSAxIDpiIDIpCisg
ICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKCZhdXggKGEgMSkgJmtleSBiKSkKKyAgICAg
ICAgICAgICAgICAgICAobGlzdCBhIGIpKSkKKyAgICAgICAgICAgICAgICA6dHlwZSAnY2wtLXBj
YXNlLWNsLWFyZ2xpc3QtaW52YWxpZC1hcmctbGlzdCkKKworICAoc2hvdWxkLWVycm9yIChwY2Fz
ZSAobGlzdCA6YSAxIDpiIDIpCisgICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKCZhbGxv
dy1vdGhlci1rZXlzICZrZXkgYikpCisgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiKSkpCisg
ICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1jbC1hcmdsaXN0LWludmFsaWQtYXJnLWxp
c3QpKQorCisoZXJ0LWRlZnRlc3QgcGNhc2UtdGVzdHMtY2wtYXJnbGlzdC0ma2V5LWV4YWN0ICgp
CisgICJgJmtleScgZG9lc24ndCBtYXRjaCB1bnNwZWNpZmllZCBrZXlzIHVubGVzcyBgJmFsbG93
LW90aGVyLWtleXMnIG9yIGA6YWxsb3ctb3RoZXIta2V5cycgaXMgZ2l2ZW4uIgorICAoc2hvdWxk
IChlcXVhbCAobGlzdCAxIDIpCisgICAgICAgICAgICAgICAgIChwY2FzZSAobGlzdCA6YSAxIDpi
IDIpCisgICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0ICgma2V5IGEgYikpCisgICAgICAg
ICAgICAgICAgICAgIChsaXN0IGEgYikpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgbmlsCisgICAg
ICAgICAgICAgICAgIChwY2FzZSAobGlzdCA6YSAxIDpiIDIgOmMgMykKKyAgICAgICAgICAgICAg
ICAgICAoKGNsLWFyZ2xpc3QgKCZrZXkgYSBiKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3Qg
YSBiKSkpKSkKKworICAoc2hvdWxkIChlcXVhbCAobGlzdCAxIDIgbmlsKQorICAgICAgICAgICAg
ICAgICAocGNhc2UgKGxpc3QgOmEgMSA6YiAyKQorICAgICAgICAgICAgICAgICAgICgoY2wtYXJn
bGlzdCAoJmtleSBhIGIgYykpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpKSkp
CisKKyhlcnQtZGVmdGVzdCBwY2FzZS10ZXN0cy1jbC1hcmdsaXN0LSZrZXktcGVybWlzc2l2ZSAo
KQorICAiYCZrZXknIGRvZXNuJ3QgbWF0Y2ggdW5zcGVjaWZpZWQga2V5cyB1bmxlc3MgYCZhbGxv
dy1vdGhlci1rZXlzJyBvciBgOmFsbG93LW90aGVyLWtleXMnIGlzIGdpdmVuLiIKKyAgKHNob3Vs
ZCAoZXF1YWwgKGxpc3QgMSAyKQorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgOmEgMSA6
YiAyIDpjIDMpCisgICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0ICgma2V5IGEgYiAmYWxs
b3ctb3RoZXIta2V5cykpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYikpKSkpCisKKyAg
KHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyKQorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3Qg
OmEgMSA6YiAyIDpjIDMgOmFsbG93LW90aGVyLWtleXMgdCkKKyAgICAgICAgICAgICAgICAgICAo
KGNsLWFyZ2xpc3QgKCZrZXkgYSBiKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiKSkp
KSkpCisKKyhlcnQtZGVmdGVzdCBwY2FzZS10ZXN0cy1jbC1hcmdsaXN0LSZrZXktbm90LWZpcnN0
ICgpCisgICJUaGUgcGxpc3Qgc2hvdWxkIGJlIGFmdGVyIHBvc2l0aW9uYWwgdmFsdWVzIGFuZCBl
cXVhbCB0byBgJnJlc3QnLiIKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyIDMgMTEgMjIpCisg
ICAgICAgICAgICAgICAgIChwY2FzZSAobGlzdCAxIDIgMyA6azEgMTEgOmsyIDIyKQorICAgICAg
ICAgICAgICAgICAgICgoY2wtYXJnbGlzdCAoYSBiIGMgJmtleSBrMSBrMikpCisgICAgICAgICAg
ICAgICAgICAgIChsaXN0IGEgYiBjIGsxIGsyKSkpKSkKKworICAoc2hvdWxkIChlcXVhbCAobGlz
dCAxIDIgMyAobGlzdCA6azEgMTEgOmsyIDIyKSAxMSAyMikKKyAgICAgICAgICAgICAgICAgKHBj
YXNlIChsaXN0IDEgMiAzIDprMSAxMSA6azIgMjIpCisgICAgICAgICAgICAgICAgICAgKChjbC1h
cmdsaXN0IChhIGIgYyAmcmVzdCByMSAma2V5IGsxIGsyKSkKKyAgICAgICAgICAgICAgICAgICAg
KGxpc3QgYSBiIGMgcjEgazEgazIpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3RzLWNs
LWFyZ2xpc3QtJmtleS1mdWxsLWZvcm0gKCkKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyKQor
ICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgOmEgMSA6YiAyKQorICAgICAgICAgICAgICAg
ICAgICgoY2wtYXJnbGlzdCAoJmtleSBhIChiIDEzKSkpCisgICAgICAgICAgICAgICAgICAgIChs
aXN0IGEgYikpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAxMykKKyAgICAgICAgICAg
ICAgICAgKHBjYXNlIChsaXN0IDphIDEpCisgICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0
ICgma2V5IGEgKGIgMTMpKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiKSkpKSkKKwor
ICAoc2hvdWxkIChlcXVhbCAobGlzdCAxIDEzIG5pbCkKKyAgICAgICAgICAgICAgICAgKHBjYXNl
IChsaXN0IDphIDEpCisgICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0ICgma2V5IGEgKGIg
MTMgYi1zdXBwbGllZCkpKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYi1zdXBwbGll
ZCkpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyIHQpCisgICAgICAgICAgICAgICAg
IChwY2FzZSAobGlzdCA6YSAxIDpiIDIpCisgICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0
ICgma2V5IGEgKGIgMTMgYi1zdXBwbGllZCkpKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBh
IGIgYi1zdXBwbGllZCkpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyIHQpCisgICAg
ICAgICAgICAgICAgIChwY2FzZSAobGlzdCA6YSAxIDpiYXQgMikKKyAgICAgICAgICAgICAgICAg
ICAoKGNsLWFyZ2xpc3QgKCZrZXkgYSAoKDpiYXQgYikgMTMgYi1zdXBwbGllZCkpKQorICAgICAg
ICAgICAgICAgICAgICAobGlzdCBhIGIgYi1zdXBwbGllZCkpKSkpCisKKyAgKHNob3VsZCAoZXF1
YWwgKGxpc3QgMSAyIHQpCisgICAgICAgICAgICAgICAgIChsZXQgKChrZXkgOmJhdCkpCisgICAg
ICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IDphIDEgOmJhdCAyKQorICAgICAgICAgICAgICAg
ICAgICAgKChjbC1hcmdsaXN0ICgma2V5IGEgKChrZXkgYikgMTMgYi1zdXBwbGllZCkpKQorICAg
ICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBiLXN1cHBsaWVkKSkpKSkpKQorCisoZXJ0LWRl
ZnRlc3QgcGNhc2UtdGVzdHMtY2wtYXJnbGlzdC0ma2V5LXN1Yi1wYXR0ZXJucyAoKQorICAoc2hv
dWxkIChlcXVhbCAnKDEgMiAoOmMgNzcgOmUgc2hvdWxkLWlnbm9yZSkgbmlsIDc3IHQgOTkgbmls
KQorICAgICAgICAgICAgICAgICAocGNhc2UgJyg6YWIgKDEgMikpCisgICAgICAgICAgICAgICAg
ICAgKChjbC1hcmdsaXN0ICgma2V5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo
KDphYiBgKCxhICxiKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKDpjZCAo
Y2wtYXJnbGlzdCAoICZ3aG9sZSBjZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAma2V5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIChjIDg4IGMtc3VwcCkKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCg6ZCBkKSA5OSBkLXN1cHApCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZhbGxvdy1v
dGhlci1rZXlzKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3QgOmMg
NzcgOmUgJ3Nob3VsZC1pZ25vcmUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y2Qtc3VwcCkpKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgY2QgY2Qtc3VwcCBjIGMt
c3VwcCBkIGQtc3VwcCkpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgJyggMSAyICg6YyA3NyA6ZSBz
aG91bGQtaWdub3JlIDphbGxvdy1vdGhlci1rZXlzIHQpIG5pbAorICAgICAgICAgICAgICAgICAg
ICA3NyB0IDk5IG5pbCkKKyAgICAgICAgICAgICAgICAgKHBjYXNlICcoOmFiICgxIDIpKQorICAg
ICAgICAgICAgICAgICAgICgoY2wtYXJnbGlzdCAoJmtleQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKCg6YWIgYCgsYSAsYikpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKCg6Y2QgKGNsLWFyZ2xpc3QgKCAmd2hvbGUgY2QKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmtleQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYyA4OCBjLXN1cHApCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoOmQgZCkgOTkg
ZC1zdXBwKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaXN0IDpjIDc3
IDplICdzaG91bGQtaWdub3JlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgOmFsbG93LW90aGVyLWtleXMgdCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjZC1zdXBwKSkpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjZCBjZC1zdXBwIGMg
Yy1zdXBwIGQgZC1zdXBwKSkpKSkKKworICAoc2hvdWxkIChlcXVhbCBuaWwKKyAgICAgICAgICAg
ICAgICAgKHBjYXNlICcoOmFiICgxIDIpKQorICAgICAgICAgICAgICAgICAgICgoY2wtYXJnbGlz
dCAoJmtleQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCg6YWIgYCgsYSAsYikp
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCg6Y2QgKGNsLWFyZ2xpc3QgKCAm
d2hvbGUgY2QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJmtleQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAoYyA4OCBjLXN1cHApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICgoOmQgZCkgOTkgZC1zdXBwKSkpKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIChsaXN0IDpjIDc3IDplICdzaG91bGQtZmFpbCkKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjZC1zdXBwKSkpCisgICAgICAgICAgICAgICAgICAg
IChsaXN0IGEgYiBjZCBjZC1zdXBwIGMgYy1zdXBwIGQgZC1zdXBwKSkpKSkpCisKKyhlcnQtZGVm
dGVzdCBwY2FzZS10ZXN0cy1jbC1hcmdsaXN0LSZhdXgtc2hvdWxkLWVycm9yICgpCisgICJgJmF1
eCcgY2Fubm90IGJlIHVzZWQgYWZ0ZXIgYCZhdXgnLiIKKyAgKHNob3VsZC1lcnJvciAocGNhc2Ug
bmlsCisgICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKCZhdXggYSAmYXV4IGIpKQorICAg
ICAgICAgICAgICAgICAgIChsaXN0IGEgYikpKQorICAgICAgICAgICAgICAgIDp0eXBlICdjbC0t
cGNhc2UtY2wtYXJnbGlzdC1pbnZhbGlkLWFyZy1saXN0KSkKKworKGVydC1kZWZ0ZXN0IHBjYXNl
LXRlc3RzLWNsLWFyZ2xpc3QtJmF1eCAoKQorICAoc2hvdWxkIChlcXVhbCAobGlzdCAxIDIgbmls
IG5pbCkKKyAgICAgICAgICAgICAgICAgKHBjYXNlIG5pbAorICAgICAgICAgICAgICAgICAgICgo
Y2wtYXJnbGlzdCAoJmF1eCAoYSAxKSAoYiAyKSAoYykgZCkpCisgICAgICAgICAgICAgICAgICAg
IChsaXN0IGEgYiBjIGQpKSkpKQorCisgIChzaG91bGQgKGVxdWFsIChsaXN0IDAgMSAyIG5pbCBu
aWwpCisgICAgICAgICAgICAgICAgIChwY2FzZSAobGlzdCAwKQorICAgICAgICAgICAgICAgICAg
ICgoY2wtYXJnbGlzdCAoejAgJmF1eCAoYSAxKSAoYiAyKSAoYykgZCkpCisgICAgICAgICAgICAg
ICAgICAgIChsaXN0IHowIGEgYiBjIGQpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3Rz
LWNsLWFyZ2xpc3QtJmF1eC1zdWItcGF0dGVybnMgKCkKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3Qg
MSAyKQorICAgICAgICAgICAgICAgICAocGNhc2UgbmlsCisgICAgICAgICAgICAgICAgICAgKChj
bC1hcmdsaXN0ICgmYXV4IChgKCxhICxiKSAobGlzdCAxIDIpKSkpCisgICAgICAgICAgICAgICAg
ICAgIChsaXN0IGEgYiApKSkpKSkKKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3RzLWNsLWFyZ2xp
c3QtYWxsICgpCisgIChzaG91bGQgKGVxdWFsICcoMSAyIDMgNCA1ICg6azEgMTExIDprMiAyMjIp
IDExMSAyMjIgMzMzIDQ0NCkKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IDEgMiAzIDQg
NSA6azEgMTExIDprMiAyMjIpCisgICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0ICggYSBi
IGMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmb3B0aW9uYWwgZCBlCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnJlc3QgcgorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICZrZXkgazEgazIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAmYXV4ICh4MSAzMzMpICh4MiA0NDQpKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3Qg
YSBiIGMgZCBlIHIgazEgazIgeDEgeDIpKSkpKSkKKwogOzs7IHBjYXNlLXRlc3RzLmVsIGVuZHMg
aGVyZS4KLS0gCjIuMzQuMQoK

--b1_zK7jswiu7zFIyB0mc7Of1fDganPK9zM5sPGTRMaSZA--





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

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


Received: (at 67611) by debbugs.gnu.org; 5 Dec 2023 09:27:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 05 04:27:29 2023
Received: from localhost ([127.0.0.1]:36637 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rARiD-0002rM-92
	for submit <at> debbugs.gnu.org; Tue, 05 Dec 2023 04:27:29 -0500
Received: from mail-lf1-x12a.google.com ([2a00:1450:4864:20::12a]:50661)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1rARiA-0002r8-OJ
 for 67611 <at> debbugs.gnu.org; Tue, 05 Dec 2023 04:27:27 -0500
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-50bfe99b6edso1523487e87.1
 for <67611 <at> debbugs.gnu.org>; Tue, 05 Dec 2023 01:27:15 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1701768430; x=1702373230; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=s7tV9wJSs6AZ49KWyX7b6XWERlciLouG8uV+BYndsfM=;
 b=cR7LJ0/mUWF7U+wDCK1nRHj2bxvz84fldidMg00w8vGZQ3kZKOAIfDMHJIrCoarkMe
 1hObqCp3qm6wUqPbshkbKEdTqJHxcnAgODEITO1eJKRA4Gh1Vo7+Lz71F/q0Bq56BdGN
 jzWQqz2X7tSUrvcZXfj6icHJ6Q75i/vx5IGWvMp0UGb5ayJKdz5F6UWv5t2ezTZV3pQG
 W8qppU/dNrp/zqKXMjd5C3AajzAPNC5hTo6BvLvtZDEdAwG+fTRaLHaMwBp4B4vw5q6K
 Lzucz/MNCWuLn9R1dfth2+1v1PxVXfLPUPIIe/qld2ZYWvPIa6YcW1aiwslocFrUOpSc
 J3Dw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1701768430; x=1702373230;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=s7tV9wJSs6AZ49KWyX7b6XWERlciLouG8uV+BYndsfM=;
 b=mtqG8RhxF40roBdGJwAE/xCsyOQ3NvTFcaP2n9g8kYzfbBdLsxDgmPOmAd7bpLGnwa
 2DvNIhcBK/zpyzzQioCjRHfTagiJJLBzgkT79aR+RRavMFXO6crwX/UNggkJlsbVh87X
 0w8+wKddAgi+ZrsIO4YiIHZSkp4KYJmqu7nSi0mPkqbPxQqR/NXjqKzkLJDYFDPpCuaz
 pp7XytJhdek6i4oyE80r/3TKVUKocZWsHtrz9L5WPajlDqqZs84AFEd6raUvDf0NS2xu
 CrCRA2/MXc2zWzjiVdc4ssZ/NuUC6oZZsSg/y6HS9o/MGqCGH4549r923s73X3diuKTz
 ebuQ==
X-Gm-Message-State: AOJu0YzDU2ZXS3VpMYeeNk9TmGrcwdYiT4K4QKNGjGIdCUBH9VlOF02S
 e8h+nY8Tslk+aAgYVZYMKi5hknjfMppX9f6AjLB+MqJY2Y4=
X-Google-Smtp-Source: AGHT+IELW38zTzyTbYXUzERwnCEHw3INUBaxZtBl/yzvXauMKz0UPjhRrzjCHd3PIoBi6AH8r85gi7AIE+WluBVFHg4=
X-Received: by 2002:ac2:4e51:0:b0:50b:fa93:35c9 with SMTP id
 f17-20020ac24e51000000b0050bfa9335c9mr957733lfr.113.1701768429612; Tue, 05
 Dec 2023 01:27:09 -0800 (PST)
MIME-Version: 1.0
References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN>
 <jwvplzllrrm.fsf-monnier+emacs@HIDDEN>
 <56ebae03-a94d-4379-bd08-66bde2311bb7@HIDDEN>
In-Reply-To: <56ebae03-a94d-4379-bd08-66bde2311bb7@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Tue, 5 Dec 2023 09:26:58 +0000
Message-ID: <CALDnm513hT_txSau0+mjqRp4T++K=C7YbF2oWUF9t=wurx171Q@HIDDEN>
Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to
 `cl-destructuring-bind`
To: Okamsn <okamsn@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 67611
Cc: 67611 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN>
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.0 (-)

On Tue, Dec 5, 2023 at 2:43=E2=80=AFAM Okamsn via Bug reports for GNU Emacs=
,
the Swiss army knife of text editors <bug-gnu-emacs@HIDDEN> wrote:

> For me, I am interested in using such a destructuring pattern with
> `pcase-let` and `pcase-setq`, but not so much with `pcase` itself.
>
> > Maybe we could introduce a different Pcase pattern which covers those
> > needs but stays closer to the Pcase pattern syntax?
>
> As far as I understand Pcase, one thing that I think cl-lib does better
> is specifying default values for multiple optional variables. For
> example, for `(a &optional (b 2) (c 3))` in Pcase, I would write

Yes.  cl-lib has a couple of neat tricks up its sleeve, still.

And what about keyword arguments in plists? Can pcase
destructure them?  If so, does it bind the "supplied-p" variable?
And can it rename the variable being destructured to something
else non-clashing?

All these things are useful in CL's destructuring-bind,
but it is missing other stuff like "casing" logic.  So
at least on a first glimpse, this reunion would be
welcome by me.

With the caveat that I haven't seen any examples or the
patch yet, and it matters.

Jo=C3=A3o




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

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


Received: (at 67611) by debbugs.gnu.org; 5 Dec 2023 09:22:17 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 05 04:22:17 2023
Received: from localhost ([127.0.0.1]:36609 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rARdB-0002hb-Ew
	for submit <at> debbugs.gnu.org; Tue, 05 Dec 2023 04:22:17 -0500
Received: from mail-lf1-x134.google.com ([2a00:1450:4864:20::134]:61892)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1rARd9-0002hK-U9
 for 67611 <at> debbugs.gnu.org; Tue, 05 Dec 2023 04:22:16 -0500
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-50bf69afa99so2520560e87.3
 for <67611 <at> debbugs.gnu.org>; Tue, 05 Dec 2023 01:22:04 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1701768119; x=1702372919; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=2wafyPcDSyZDbuNJIQQ8zQ8BOfUh17+C5XwVZ8oluO8=;
 b=kBAgPbYKCSkoWhooP6HEmK1LgTv0Xt/ubniik1AVgmjM5EwWQ/k10L5gCrKqhM/qXz
 mnbyc5V6xaVzAf+YYJewpq8aiEjJfOnkYm1Gp3c+NhrZ216GbVpe4kXG7lf+AGIs/WbG
 Ikjr5415QFas6U91PfHlEX/5fsBw9dk3+Nscwab/jtj9IqI6sq9EzQL+0ngerSZrTRK4
 elJHCdngFrlJBXsTqqNTu2WzswbvGqDDPw6F4oWb/YAlDrE/x7JMTZdVwh4ylCvjfjXT
 qI+iv5KryBnR/9VpHt4nMpQXJrklmMrXbIHD4jjscGAXIUGczl2Lkr31ciuXI6Q6byJA
 Loxw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1701768119; x=1702372919;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=2wafyPcDSyZDbuNJIQQ8zQ8BOfUh17+C5XwVZ8oluO8=;
 b=dinzqU87kZM8hbBVYi/D5JRD0+Zi7wmnPp086439XslIaYEATEGyQsLIC+ZaJiBTeJ
 N2Trr+78kNkyzaZDq2bTx59Pc9zv8DfvnE6tYPK8UkXE/eaKR1Lhx5O8Hv+HfWr1iJ3Z
 1ckFG+lC131SkGRqDfH/7V+CfUF4EPIX2AdeS7lqh1ksvSEWxvaep5jqgsgRfI3KvbvT
 mT/GxCwAhscH2d/s24s7fAmZ7et893Z3s3t+ekmYtAIAH1xwhNHqlK4I7CgqUDusrWGH
 Tl+X60ztIyDACmZJp3WeuHGEu/cRda28g5/FJ7ICGK/o6XoWb5Nw8HrWVr7yIvvsjIUq
 hQbw==
X-Gm-Message-State: AOJu0YxpVCwPUjeo7m4ZujBq1XjzWwpH0ltq2A79SmuboCRnGIIqZ8EI
 JGcEB0fsdBi68r15KiansYTrQ8iv0KiarASwHds=
X-Google-Smtp-Source: AGHT+IEH8DA2WbcOzpd2W1ZEgQ/v/6x4xsZrCUe8mN21hCwnCGVCaGelKhEyqNSVqXo9PQx1IxdQkNsvG0qyJDyVH+U=
X-Received: by 2002:ac2:4c8b:0:b0:50b:e3c6:60b with SMTP id
 d11-20020ac24c8b000000b0050be3c6060bmr2553064lfl.92.1701768118671; Tue, 05
 Dec 2023 01:21:58 -0800 (PST)
MIME-Version: 1.0
References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN>
 <jwvplzllrrm.fsf-monnier+emacs@HIDDEN>
In-Reply-To: <jwvplzllrrm.fsf-monnier+emacs@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Tue, 5 Dec 2023 09:21:47 +0000
Message-ID: <CALDnm52imqDaends1AEiZH9WYh6YN8tFosyYCzexH6F5=GWKwA@HIDDEN>
Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to
 `cl-destructuring-bind`
To: Stefan Monnier <monnier@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 67611
Cc: Okamsn <okamsn@HIDDEN>, 67611 <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.0 (-)

On Mon, Dec 4, 2023 at 7:09=E2=80=AFPM Stefan Monnier via Bug reports for G=
NU
Emacs, the Swiss army knife of text editors <bug-gnu-emacs@HIDDEN>
wrote:
>
> > The attached patch adds the pattern `cl-lambda` for Pcase, which works
> > like `cl-destructuring-bind`. There are two differences with the lambda
> > lists:
>
> Hmm... I'm not sure mixing the CL destructuring patterns with the Pcase
> patterns (both of which are rather featureful and complex) will help
> their popularity.
>
> Beside that problem (which means I'm not very favorable to the
> addition), the name should be changed because "lambda" is misleading.
> It suggests this has to do with a function (I had to read the code to
> understand what this is doing).
>
> > The pattern is useful when one wants to combine the features of `pcase`
> > and `cl-destructuring-bind`, such combining the optional values with th=
e
> > `pred` or `guard` patterns.
>
> Do you have examples uses?

I for one would like to see some examples too.  Okamsn's description
of this pcase extension sounds interesting.  In fact, it sounds very
much like the slime-dcase and sly-dcase macros in SLIME and SLY
respectively.

Jo=C3=A3o




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

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


Received: (at submit) by debbugs.gnu.org; 5 Dec 2023 02:43:01 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Dec 04 21:43:01 2023
Received: from localhost ([127.0.0.1]:36213 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rALOm-0006F0-Ns
	for submit <at> debbugs.gnu.org; Mon, 04 Dec 2023 21:43:01 -0500
Received: from lists.gnu.org ([2001:470:142::17]:40110)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <okamsn@HIDDEN>) id 1rALOj-0006Em-Uf
 for submit <at> debbugs.gnu.org; Mon, 04 Dec 2023 21:42:58 -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 <okamsn@HIDDEN>)
 id 1rALOT-0008EH-6Z
 for bug-gnu-emacs@HIDDEN; Mon, 04 Dec 2023 21:42:41 -0500
Received: from mail-4316.protonmail.ch ([185.70.43.16])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <okamsn@HIDDEN>)
 id 1rALOM-0006gD-Uo
 for bug-gnu-emacs@HIDDEN; Mon, 04 Dec 2023 21:42:40 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail3; t=1701744149; x=1702003349;
 bh=gs/ATLQ8tv1eVHz4HuKRd34Z2G3cyVIyttqHM5wYIV4=;
 h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
 Message-ID:BIMI-Selector;
 b=FWdkNq960pHEyQf5Rv0yPyTUCTANHQ2heAWJJbiyS6OGnbBbSxt7kRxcnqkDNDJfV
 zUpGCpasRfoOsT5iWYBY6VrxN4EAhBar0q9haZN+0SOmQCnDXSDK9Czg9My7GyqD7W
 +VvWBlJG3hiFXdPF+7oARws9fmAxfLFBauP2M4PHVfTH6IxSl2kMzD7kbmRhPfXrYr
 DGjDHMJGTXceo7X+kHetuXoyLUVidfpFIxZwC91NMQe16fp3Y9TOWObKaJS9rccSXE
 1aWCBVJHFrFFAIAnOC+O/+Z3wMXmrjD9HKIJ60TgsOUn3gRMqdUfNawhS6RxpCnnSz
 mYEn9nAhv85+g==
Date: Tue, 05 Dec 2023 02:42:12 +0000
To: Stefan Monnier <monnier@HIDDEN>
From: Okamsn <okamsn@HIDDEN>
Subject: Re: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to
 `cl-destructuring-bind`
Message-ID: <56ebae03-a94d-4379-bd08-66bde2311bb7@HIDDEN>
In-Reply-To: <jwvplzllrrm.fsf-monnier+emacs@HIDDEN>
References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN>
 <jwvplzllrrm.fsf-monnier+emacs@HIDDEN>
Feedback-ID: 25935600:user:proton
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass client-ip=185.70.43.16; envelope-from=okamsn@HIDDEN;
 helo=mail-4316.protonmail.ch
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, FREEMAIL_FROM=0.001,
 RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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: 1.0 (+)
X-Debbugs-Envelope-To: submit
Cc: bug-gnu-emacs@HIDDEN
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.0 (/)

Stefan Monnier wrote:
>> The attached patch adds the pattern `cl-lambda` for Pcase, which works
>> like `cl-destructuring-bind`. There are two differences with the lambda
>> lists:
>=20
> Hmm... I'm not sure mixing the CL destructuring patterns with the Pcase
> patterns (both of which are rather featureful and complex) will help
> their popularity.
>=20
> Beside that problem (which means I'm not very favorable to the
> addition), the name should be changed because "lambda" is misleading.
> It suggests this has to do with a function (I had to read the code to
> understand what this is doing).

I agree that the name is not ideal. When I searched for what the=20
destructuring pattern was called, the website Common Lisp HyperSpec=20
called it a "destructuring lambda list"=20
(https://www.lispworks.com/documentation/HyperSpec/Body/03_de.htm). I=20
would have suggested "cl", as it is the kind of destructuring used by=20
the macros of cl-lib, but I thought that would not work well with the=20
existence of the "cl-type" pattern. I also thought about something like=20
"cl-arglist", if that is better.

>> The pattern is useful when one wants to combine the features of `pcase`
>> and `cl-destructuring-bind`, such combining the optional values with the
>> `pred` or `guard` patterns.
>=20
> Do you have examples uses?

Not of that idea, no.  I maintain a library that implements a=20
destructuring pattern like cl-lib=20
(https://github.com/okamsn/loopy/blob/master/doc/loopy-doc.org#basic-destru=
cturing)=20
and I have been thinking about how I could use Pcase to simplify the=20
implementation of the destructuring and to stop using a re-invented=20
wheel. While doing that, it occurred to me that cl-lib itself might be a=20
better place for such a Pcase pattern. To be clear, the patch only=20
implements the cl-lib destructuring, not the other destructuring ideas=20
from my library.

For me, I am interested in using such a destructuring pattern with=20
`pcase-let` and `pcase-setq`, but not so much with `pcase` itself.

> Maybe we could introduce a different Pcase pattern which covers those
> needs but stays closer to the Pcase pattern syntax?

As far as I understand Pcase, one thing that I think cl-lib does better=20
is specifying default values for multiple optional variables. For=20
example, for `(a &optional (b 2) (c 3))` in Pcase, I would write

     (or `(,a ,b ,c)
         (and `(,a ,b)
              (let c 3))
         (and `(,a)
              (let c 3)
              (let b 2)))

or

     `(,a . ,(or `(,b . ,(or `(,c)
                             (let c 3)))
                 (and (let b 2)
                      (let c 3))))

in which there is repetition in the default values. Is there a better=20
way to specify default values for optional elements?

Thank you.





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

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


Received: (at submit) by debbugs.gnu.org; 4 Dec 2023 19:08:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Dec 04 14:08:57 2023
Received: from localhost ([127.0.0.1]:35704 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rAEJN-0007lw-4a
	for submit <at> debbugs.gnu.org; Mon, 04 Dec 2023 14:08:57 -0500
Received: from lists.gnu.org ([2001:470:142::17]:54538)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1rAEJL-0007lg-CI
 for submit <at> debbugs.gnu.org; Mon, 04 Dec 2023 14:08:55 -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 <monnier@HIDDEN>)
 id 1rAEJ4-0005TG-Lr
 for bug-gnu-emacs@HIDDEN; Mon, 04 Dec 2023 14:08:38 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <monnier@HIDDEN>)
 id 1rAEJ2-0003rZ-M8
 for bug-gnu-emacs@HIDDEN; Mon, 04 Dec 2023 14:08:38 -0500
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 3444D80663;
 Mon,  4 Dec 2023 14:08:34 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1701716913;
 bh=tKLG98ieavJe194H1P4n8IRoIpQKDc69IUD8Q3db34o=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=Tk9NPd02Flpa25pa66gO7B/r9wLTI/gLxaslytE6eV+tnUG/UoD5Gq+3ak1no2klU
 D4k92H5OwF4hTIGEf5d5qURTjYO8vp0fOiqtYN2BRErUq6JfH8kZEMGzRwAwhjtS6Z
 NqMgGkZThoESHe7tFr7vTz7B7YBPBGpFgao26Md1qcb9tPKG5IHEiF26jlUgSwWBPA
 DhpwIfVWL1PmGrrHTwrFCCFJ77vXoomVha2qbjchciOdsxTU9xUQVgTEl9fhIJWWCG
 w4+SJRBfuZ/1GkReXWiMR6YQoliqSRs9Io0EeTmcV/P2xF6Qz9wKQxSLg5byXJMZiA
 XAyMqz2Ayfx0Q==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 76BC480091;
 Mon,  4 Dec 2023 14:08:33 -0500 (EST)
Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 688FC120210;
 Mon,  4 Dec 2023 14:08:33 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: Okamsn <okamsn@HIDDEN>
Subject: Re: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to
 `cl-destructuring-bind`
In-Reply-To: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN>
 (okamsn@HIDDEN's message of "Sun, 03 Dec 2023 20:33:35 +0000")
Message-ID: <jwvplzllrrm.fsf-monnier+emacs@HIDDEN>
References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN>
Date: Mon, 04 Dec 2023 14:08:14 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL 0.110 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain T_SCC_BODY_TEXT_LINE    -0.01 -
X-SPAM-LEVEL: 
Received-SPF: pass client-ip=132.204.25.50;
 envelope-from=monnier@HIDDEN; helo=mailscanner.iro.umontreal.ca
X-Spam_score_int: -42
X-Spam_score: -4.3
X-Spam_bar: ----
X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3,
 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.0 (/)
X-Debbugs-Envelope-To: submit
Cc: bug-gnu-emacs@HIDDEN
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.0 (-)

> The attached patch adds the pattern `cl-lambda` for Pcase, which works
> like `cl-destructuring-bind`. There are two differences with the lambda
> lists:

Hmm... I'm not sure mixing the CL destructuring patterns with the Pcase
patterns (both of which are rather featureful and complex) will help
their popularity.

Beside that problem (which means I'm not very favorable to the
addition), the name should be changed because "lambda" is misleading.
It suggests this has to do with a function (I had to read the code to
understand what this is doing).

> The pattern is useful when one wants to combine the features of `pcase`
> and `cl-destructuring-bind`, such combining the optional values with the
> `pred` or `guard` patterns.

Do you have examples uses?

Maybe we could introduce a different Pcase pattern which covers those
needs but stays closer to the Pcase pattern syntax?


        Stefan





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

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


Received: (at submit) by debbugs.gnu.org; 3 Dec 2023 20:34:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Dec 03 15:34:27 2023
Received: from localhost ([127.0.0.1]:32832 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r9tAX-0006cm-Um
	for submit <at> debbugs.gnu.org; Sun, 03 Dec 2023 15:34:27 -0500
Received: from lists.gnu.org ([2001:470:142::17]:48282)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <okamsn@HIDDEN>) id 1r9tAR-0006cU-Mg
 for submit <at> debbugs.gnu.org; Sun, 03 Dec 2023 15:34:24 -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 <okamsn@HIDDEN>)
 id 1r9tAB-0002Im-U4
 for bug-gnu-emacs@HIDDEN; Sun, 03 Dec 2023 15:34:03 -0500
Received: from mail-4316.protonmail.ch ([185.70.43.16])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <okamsn@HIDDEN>)
 id 1r9tA7-0002Br-Ie
 for bug-gnu-emacs@HIDDEN; Sun, 03 Dec 2023 15:34:03 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail3; t=1701635634; x=1701894834;
 bh=X2WCsbkau0mgG/FEVaIEzsg5CvdsVYkrsXlJq/+EPe8=;
 h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date:
 Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector;
 b=OoV+beY8BBviqD5GPi+mS4l3ylwSkcFkJzuTC8Io7kk33DxSuzeamd4NVwMXL3jIM
 y03zRBmg6i+6Am+5vDnZaxdlgk7dMEVw+O/iarH+/LQzAJEIFWoTnOYef4mblKm5FJ
 9U6RWs5qkV8+gt6QO5LrcAG6mdeq7gE9rzkZKFq9GXOgKUagWnhY26EIUVzH5u3fko
 NwME0ySiq4weGNMhs2KVzLgyM8uoZC2qLXdwOPqdxvdIN9hPs+W+wuH2IU3wD7hnGz
 jt/WvOz/RSLoJ/dG5ZZhx8k9/HTQX8RWwwODzTekpJVRkO+HXRMAQPdsP48yw1HclD
 RhOyPfXOpjuZg==
Date: Sun, 03 Dec 2023 20:33:35 +0000
To: bug-gnu-emacs@HIDDEN
From: Okamsn <okamsn@HIDDEN>
Subject: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to
 `cl-destructuring-bind`
Message-ID: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN>
Feedback-ID: 25935600:user:proton
MIME-Version: 1.0
Content-Type: multipart/mixed;
 boundary="b1_TJ92SD8NGM37oLvDrnzOJ5ksQWEvU5jEnoHfJPwkcjE"
Received-SPF: pass client-ip=185.70.43.16; envelope-from=okamsn@HIDDEN;
 helo=mail-4316.protonmail.ch
X-Spam_score_int: -30
X-Spam_score: -3.1
X-Spam_bar: ---
X-Spam_report: (-3.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, FREEMAIL_FROM=0.001,
 RCVD_IN_MSPIKE_H5=-1, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-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: 1.0 (+)
X-Debbugs-Envelope-To: submit
Cc: Stefan Monnier <monnier@HIDDEN>
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.0 (/)

This is a multi-part message in MIME format.

--b1_TJ92SD8NGM37oLvDrnzOJ5ksQWEvU5jEnoHfJPwkcjE
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hello,

The attached patch adds the pattern `cl-lambda` for Pcase, which works=20
like `cl-destructuring-bind`. There are two differences with the lambda=20
lists:

1. It does not support `&environment`
2. Without `&allow-other-keys` or `:allow-other-keys t`, the pattern=20
will fail to match if their are unmatched keys in EXPVAL, but it does=20
not throw an error.

The variable that would be bound in the lambda list can be Pcase=20
patterns themselves, with two exceptions:

1. Using a sub-pattern as the cdr of a dotted list, like "(cl-lambda (a=20
. `(,b . ,c))" doesn't work, since the pattern won't always look like a=20
dotted list.
2. For constructs that use a sub-list to provide additional values, such=20
as `&optional`, `&key`, and `&aux`, the sub-pattern only works inside=20
the sub-list.  For example, one could do "(cl-lambda (&optional (`(,a=20
,b))" but not "(cl-lambda (&optional `(,a ,b)))".

The pattern is useful when one wants to combine the features of `pcase`=20
and `cl-destructuring-bind`, such combining the optional values with the=20
`pred` or `guard` patterns.

Thank you.
--b1_TJ92SD8NGM37oLvDrnzOJ5ksQWEvU5jEnoHfJPwkcjE
Content-Type: text/x-patch; charset=UTF-8; name=0001-Add-the-Pcase-pattern-cl-lambda-for-matching-lambda-.patch
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=0001-Add-the-Pcase-pattern-cl-lambda-for-matching-lambda-.patch

RnJvbSBhMTZiZjFkZWQ1ODdiN2NjOTc0ZGFmYTVmNzI0MjdmM2ExZjZjNWZmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh
dGU6IFNhdCwgMjUgTm92IDIwMjMgMTM6MDA6MDMgLTA1MDAKU3ViamVjdDogW1BBVENIXSBBZGQg
dGhlIFBjYXNlIHBhdHRlcm4gYGNsLWxhbWJkYScgZm9yIG1hdGNoaW5nIGxhbWJkYSBsaXN0LgoK
VGhpcyBwYXR0ZXJuIG1hdGNoZXMgZnVuY3Rpb24gYXJndW1lbnQgbGlzdHMgYXMgZGVzY3JpYmVk
IGluIHRoZSBJbmZvCm5vZGUgYChjbClBcmd1bWVudCBMaXN0cycuCgoqIGxpc3AvZW1hY3MtbGlz
cC9jbC1tYWNzLmVsIChjbC1sYW1iZGEtLXBjYXNlLW1hY3JvZXhwYW5kZXIpCihjbC1sYW1iZGEs
IGNsLS1wY2FzZS1sYW1iZGEtbGlzdC1nZXQtdmFyLWdyb3VwcykKKGNsLS1wY2FzZS1jbC1sYW1i
ZGEtcG9zaXRpb25hbC1wYXR0ZXJuKQooY2wtLXBjYXNlLWNsLWxhbWJkYS1wbGlzdC1rZXlzKQoo
Y2wtLXBjYXNlLWNsLWxhbWJkYS0ma2V5LXBhdHRlcm4pCihjbC0tcGNhc2UtY2wtbGFtYmRhLSZh
dXgtcGF0dGVybik6CkFkZCBwYXR0ZXJuIGFuZCBzdXBwb3J0aW5nIGZ1bmN0aW9ucy4KCiogdGVz
dC9saXNwL2VtYWNzLWxpc3AvcGNhc2UtdGVzdHMuZWw6CihwY2FzZS10ZXN0cy1jbC1sYW1iZGEt
Jndob2xlLXNob3VsZC1lcnJvcikKKHBjYXNlLXRlc3RzLWNsLWxhbWJkYS0md2hvbGUpCihwY2Fz
ZS10ZXN0cy1jbC1sYW1iZGEtcG9zLCBwY2FzZS10ZXN0cy1jbC1sYW1iZGEtcG9zLXN1Yi1wYXR0
ZXJucykKKHBjYXNlLXRlc3RzLWNsLWxhbWJkYS0mb3B0aW9uYWwtc2hvdWxkLWVycm9yKQoocGNh
c2UtdGVzdHMtY2wtbGFtYmRhLSZvcHRpb25hbCkKKHBjYXNlLXRlc3RzLWNsLWxhbWJkYS0mb3B0
aW9uYWwtc3ViLXBhdHRlcm5zKQoocGNhc2UtdGVzdHMtY2wtbGFtYmRhLSZyZXN0LXNob3VsZC1l
cnJvcikKKHBjYXNlLXRlc3RzLWNsLWxhbWJkYS0mcmVzdC1ub25saXN0LWNkcikKKHBjYXNlLXRl
c3RzLWNsLWxhbWJkYS0mcmVzdC13aXRoLSZ3aG9sZSkKKHBjYXNlLXRlc3RzLWNsLWxhbWJkYS0m
cmVzdC1vbmx5KQoocGNhc2UtdGVzdHMtY2wtbGFtYmRhLSZyZXN0LWFmdGVyLSZvcHRpb25hbCkK
KHBjYXNlLXRlc3RzLWNsLWxhbWJkYS0mcmVzdC1zdWItcGF0dGVybnMpCihwY2FzZS10ZXN0cy1j
bC1sYW1iZGEtJmtleS1zaG91bGQtZXJyb3IpCihwY2FzZS10ZXN0cy1jbC1sYW1iZGEtJmtleS1l
eGFjdCkKKHBjYXNlLXRlc3RzLWNsLWxhbWJkYS0ma2V5LXBlcm1pc3NpdmUpCihwY2FzZS10ZXN0
cy1jbC1sYW1iZGEtJmtleS1ub3QtZmlyc3QpCihwY2FzZS10ZXN0cy1jbC1sYW1iZGEtJmtleS1m
dWxsLWZvcm0pCihwY2FzZS10ZXN0cy1jbC1sYW1iZGEtJmtleS1zdWItcGF0dGVybnMpCihwY2Fz
ZS10ZXN0cy1jbC1sYW1iZGEtJmF1eC1zaG91bGQtZXJyb3IpCihwY2FzZS10ZXN0cy1jbC1sYW1i
ZGEtJmF1eCkKKHBjYXNlLXRlc3RzLWNsLWxhbWJkYS0mYXV4LXN1Yi1wYXR0ZXJucykKKHBjYXNl
LXRlc3RzLWNsLWxhbWJkYS1hbGwpOgpBZGQgdGVzdHMuCi0tLQogbGlzcC9lbWFjcy1saXNwL2Ns
LW1hY3MuZWwgICAgICAgICAgfCAzMjUgKysrKysrKysrKysrKysrKysrCiB0ZXN0L2xpc3AvZW1h
Y3MtbGlzcC9wY2FzZS10ZXN0cy5lbCB8IDUxNSArKysrKysrKysrKysrKysrKysrKysrKysrKysr
CiAyIGZpbGVzIGNoYW5nZWQsIDg0MCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGlzcC9l
bWFjcy1saXNwL2NsLW1hY3MuZWwgYi9saXNwL2VtYWNzLWxpc3AvY2wtbWFjcy5lbAppbmRleCA3
YzIwN2QzNzJmYy4uMDBjMTBmNjQ1OGYgMTAwNjQ0Ci0tLSBhL2xpc3AvZW1hY3MtbGlzcC9jbC1t
YWNzLmVsCisrKyBiL2xpc3AvZW1hY3MtbGlzcC9jbC1tYWNzLmVsCkBAIC0zODI1LDYgKzM4MjUs
MzMxIEBAIGNsLXR5cGUKIFRZUEUgaXMgYSB0eXBlIGRlc2NyaXB0b3IgYXMgYWNjZXB0ZWQgYnkg
YGNsLXR5cGVwJywgd2hpY2ggc2VlLiIKICAgYChwcmVkIChwY2FzZS0tZmxpcCBjbC10eXBlcCAn
LHR5cGUpKSkKIAorOzs7IFBjYXNlIGxhbWJkYS1saXN0IHBhdHRlcm4KKworOzsgVGhpcyBwYXR0
ZXJuIGlzIGxpa2UgYGNsLWRlc3RydWN0dXJpbmctYmluZCcsIGJ1dCB3aXRoIGBwY2FzZScuICBX
ZQorOzsgY2FuJ3QgdXNlIGBjbC0tZG8tYXJnbGlzdCcgZm9yIHRoaXMsIGJlY2F1c2UgYGNsLS1k
by1hcmdsaXN0JyB1c2VzCis7OyBgcG9wJyB0byBtb2RpZnkgZWFybGllciB2YXJpYWJsZXMgd2hp
bGUgc2V0dGluZyBsYXRlciBvbmVzLCB3aGljaAorOzsgZG9lc24ndCBzZWVtIHRvIHdvcmsgd2l0
aCBgcGNhc2UnLgorCisoZGVmY29uc3QgY2wtLXBjYXNlLWxhbWJkYS1saXN0LWNvbnN0cnVjdHMK
KyAgJygmd2hvbGUgJm9wdGlvbmFsICZyZXN0ICZrZXkgJmFsbG93LW90aGVyLWtleXMgJmF1eCkK
KyAgIlN5bWJvbHMgdGhhdCBjaGFuZ2UgaG93IHRoZSBmb2xsb3dpbmcgZWxlbWVudHMgYXJlIHVu
ZGVyc3Rvb2QuIikKKworKGRlZmluZS1lcnJvciAnY2wtLXBjYXNlLWxhbWJkYS1saXN0LWJhZC1s
YW1iZGEtbGlzdAorICAgICAgICAgICAgICAiRXJyb3IgaW4gYGNsLWxhbWJkYScgcGF0dGVybi4i
KQorCisoZGVmdW4gY2wtLXBjYXNlLWNsLWxhbWJkYS12YXItZ3JvdXBzIChsYW1iZGEtbGlzdCkK
KyAgIlJldHVybiB0aGUgYWxpc3Qgb2YgdmFyaWFibGUgZ3JvdXBzIGluIExBTUJEQS1MSVNULgor
CitMaXN0cyBhcmUgb2YgdGhlIGZvcm0KK2AoWyZ3aG9sZSBXSE9MRS1WQVJdIFtQT1MtVkFSU10g
WyZvcHRpb25hbCBPUFQtVkFSU10gWyZyZXN0IFJFU1QtVkFSXQorWyZrZXkgS0VZLVZBUlNdIFsm
YXV4IEFVWC1WQVJTXSknLiIKKyAgKGxldCAoKHdob2xlLXZhcikgKHByb2Nlc3Npbmctd2hvbGUp
CisgICAgICAgIChwb3MtdmFyKQorICAgICAgICAob3B0LXZhcikgKHByb2Nlc3Npbmctb3B0cykK
KyAgICAgICAgKHJlc3QtdmFyKSAocHJvY2Vzc2luZy1yZXN0KSAoZG90dGVkLXJlc3QtdmFyKQor
ICAgICAgICAoa2V5LXZhcikgKHByb2Nlc3Npbmcta2V5cykgKGFsbG93LW90aGVyLWtleXMpCisg
ICAgICAgIChhdXgtdmFyKSAocHJvY2Vzc2luZy1hdXhzKQorICAgICAgICAocmVtYWluaW5nLWxp
c3QgKGNsLWNvcHktbGlzdCBsYW1iZGEtbGlzdCkpKQorCisgICAgKHdoZW4gKG5vdCAocHJvcGVy
LWxpc3QtcCByZW1haW5pbmctbGlzdCkpCisgICAgICAoY2wtc2hpZnRmIGRvdHRlZC1yZXN0LXZh
cgorICAgICAgICAgICAgICAgICAoY2RyIChsYXN0IHJlbWFpbmluZy1saXN0KSkKKyAgICAgICAg
ICAgICAgICAgbmlsKSkKKworICAgIChjbC1mbGV0ICgobWlzc2luZy1hZnRlciAoY2RyKSAob3Ig
KG51bGwgY2RyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1lbXEg
KGNhciBjZHIpIGNsLS1wY2FzZS1sYW1iZGEtbGlzdC1jb25zdHJ1Y3RzKSkpCisgICAgICAgICAg
ICAgIChzdG9wLXByb2Nlc3NpbmcgKCkgKHNldHEgcHJvY2Vzc2luZy13aG9sZSBuaWwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzaW5nLW9wdHMgbmlsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc2luZy1yZXN0IG5p
bAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3Npbmcta2V5
cyBuaWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzaW5n
LWF1eHMgbmlsKSkpCisgICAgICAoY2wtbG9vcAorICAgICAgIGZvciAoZmlyc3QgLiByZXN0KSBv
biBsYW1iZGEtbGlzdAorICAgICAgIGRvCisgICAgICAgKHBjYXNlIGZpcnN0CisgICAgICAgICAo
JyZ3aG9sZQorICAgICAgICAgIChpZiAob3IgKG1pc3NpbmctYWZ0ZXIgcmVzdCkKKyAgICAgICAg
ICAgICAgICAgIHdob2xlLXZhciBwb3MtdmFyIG9wdC12YXIKKyAgICAgICAgICAgICAgICAgIHJl
c3QtdmFyIGtleS12YXIgYWxsb3ctb3RoZXIta2V5cyBhdXgtdmFyKQorICAgICAgICAgICAgICAo
c2lnbmFsICdjbC0tcGNhc2UtbGFtYmRhLWxpc3QtYmFkLWxhbWJkYS1saXN0IChsaXN0IGxhbWJk
YS1saXN0KSkKKyAgICAgICAgICAgIChzdG9wLXByb2Nlc3NpbmcpCisgICAgICAgICAgICAoc2V0
cSBwcm9jZXNzaW5nLXdob2xlIHQpKSkKKworICAgICAgICAgKCcmb3B0aW9uYWwKKyAgICAgICAg
ICAoaWYgKG9yIChtaXNzaW5nLWFmdGVyIHJlc3QpCisgICAgICAgICAgICAgICAgICBvcHQtdmFy
IHJlc3QtdmFyIGtleS12YXIgYWxsb3ctb3RoZXIta2V5cyBhdXgtdmFyKQorICAgICAgICAgICAg
ICAoc2lnbmFsICdjbC0tcGNhc2UtbGFtYmRhLWxpc3QtYmFkLWxhbWJkYS1saXN0CisgICAgICAg
ICAgICAgICAgICAgICAgKGxpc3QgbGFtYmRhLWxpc3QpKQorICAgICAgICAgICAgKHN0b3AtcHJv
Y2Vzc2luZykKKyAgICAgICAgICAgIChzZXRxIHByb2Nlc3Npbmctb3B0cyB0KSkpCisKKyAgICAg
ICAgICgob3IgJyZyZXN0ICcmYm9keSkKKyAgICAgICAgICAoaWYgKG9yIChtaXNzaW5nLWFmdGVy
IHJlc3QpCisgICAgICAgICAgICAgICAgICByZXN0LXZhciBrZXktdmFyIGFsbG93LW90aGVyLWtl
eXMgYXV4LXZhcgorICAgICAgICAgICAgICAgICAgZG90dGVkLXJlc3QtdmFyKQorICAgICAgICAg
ICAgICAoc2lnbmFsICdjbC0tcGNhc2UtbGFtYmRhLWxpc3QtYmFkLWxhbWJkYS1saXN0CisgICAg
ICAgICAgICAgICAgICAgICAgKGxpc3QgbGFtYmRhLWxpc3QpKQorICAgICAgICAgICAgKHN0b3At
cHJvY2Vzc2luZykKKyAgICAgICAgICAgIChzZXRxIHByb2Nlc3NpbmctcmVzdCB0KSkpCisKKyAg
ICAgICAgICgnJmtleQorICAgICAgICAgIChpZiAob3IgKG1pc3NpbmctYWZ0ZXIgcmVzdCkKKyAg
ICAgICAgICAgICAgICAgIGtleS12YXIgYWxsb3ctb3RoZXIta2V5cyBhdXgtdmFyCisgICAgICAg
ICAgICAgICAgICBkb3R0ZWQtcmVzdC12YXIpCisgICAgICAgICAgICAgIChzaWduYWwgJ2NsLS1w
Y2FzZS1sYW1iZGEtbGlzdC1iYWQtbGFtYmRhLWxpc3QKKyAgICAgICAgICAgICAgICAgICAgICAo
bGlzdCBsYW1iZGEtbGlzdCkpCisgICAgICAgICAgICAoc3RvcC1wcm9jZXNzaW5nKQorICAgICAg
ICAgICAgKHNldHEgcHJvY2Vzc2luZy1rZXlzIHQpKSkKKworICAgICAgICAgKCcmYWxsb3ctb3Ro
ZXIta2V5cworICAgICAgICAgIChpZiAob3IgKG5vdCBwcm9jZXNzaW5nLWtleXMpCisgICAgICAg
ICAgICAgICAgICBhbGxvdy1vdGhlci1rZXlzCisgICAgICAgICAgICAgICAgICBkb3R0ZWQtcmVz
dC12YXIpCisgICAgICAgICAgICAgIChzaWduYWwgJ2NsLS1wY2FzZS1sYW1iZGEtbGlzdC1iYWQt
bGFtYmRhLWxpc3QKKyAgICAgICAgICAgICAgICAgICAgICAobGlzdCBsYW1iZGEtbGlzdCkpCisg
ICAgICAgICAgICAoc3RvcC1wcm9jZXNzaW5nKQorICAgICAgICAgICAgKHNldHEgYWxsb3ctb3Ro
ZXIta2V5cyB0KSkpCisKKyAgICAgICAgICgnJmF1eAorICAgICAgICAgIChpZiAob3IgKG1pc3Np
bmctYWZ0ZXIgcmVzdCkKKyAgICAgICAgICAgICAgICAgIGF1eC12YXIKKyAgICAgICAgICAgICAg
ICAgIGRvdHRlZC1yZXN0LXZhcikKKyAgICAgICAgICAgICAgKHNpZ25hbCAnY2wtLXBjYXNlLWxh
bWJkYS1saXN0LWJhZC1sYW1iZGEtbGlzdAorICAgICAgICAgICAgICAgICAgICAgIChsaXN0IGxh
bWJkYS1saXN0KSkKKyAgICAgICAgICAgIChzdG9wLXByb2Nlc3NpbmcpCisgICAgICAgICAgICAo
c2V0cSBwcm9jZXNzaW5nLWF1eHMgdCkpKQorCisgICAgICAgICAoKGd1YXJkIHByb2Nlc3Npbmct
d2hvbGUpCisgICAgICAgICAgKHNldHEgd2hvbGUtdmFyIGZpcnN0CisgICAgICAgICAgICAgICAg
cHJvY2Vzc2luZy13aG9sZSBuaWwpKQorCisgICAgICAgICAoKGd1YXJkIHByb2Nlc3NpbmctcmVz
dCkKKyAgICAgICAgICAoc2V0cSByZXN0LXZhciBmaXJzdAorICAgICAgICAgICAgICAgIHByb2Nl
c3NpbmctcmVzdCBuaWwpKQorCisgICAgICAgICAoKGd1YXJkIHByb2Nlc3Npbmctb3B0cykKKyAg
ICAgICAgICAocHVzaCBmaXJzdCBvcHQtdmFyKSkKKworICAgICAgICAgKChndWFyZCBwcm9jZXNz
aW5nLWtleXMpCisgICAgICAgICAgKHB1c2ggZmlyc3Qga2V5LXZhcikpCisKKyAgICAgICAgICgo
Z3VhcmQgcHJvY2Vzc2luZy1hdXhzKQorICAgICAgICAgIChwdXNoIGZpcnN0IGF1eC12YXIpKQor
CisgICAgICAgICAoJyZlbnZpcm9ubWVudAorICAgICAgICAgIChzaWduYWwgJ2NsLS1wY2FzZS1s
YW1iZGEtbGlzdC1iYWQtbGFtYmRhLWxpc3QKKyAgICAgICAgICAgICAgICAgIChsaXN0IGxhbWJk
YS1saXN0KSkpCisKKyAgICAgICAgIChfCisgICAgICAgICAgKGlmIChvciBvcHQtdmFyIHJlc3Qt
dmFyIGtleS12YXIgYXV4LXZhcgorICAgICAgICAgICAgICAgICAgYWxsb3ctb3RoZXIta2V5cykK
KyAgICAgICAgICAgICAgKHNpZ25hbCAnY2wtLXBjYXNlLWxhbWJkYS1saXN0LWJhZC1sYW1iZGEt
bGlzdAorICAgICAgICAgICAgICAgICAgICAgIChsaXN0IGxhbWJkYS1saXN0KSkKKyAgICAgICAg
ICAgIChwdXNoIGZpcnN0IHBvcy12YXIpKSkpKSkKKworICAgIGAoKHdob2xlIC4gLHdob2xlLXZh
cikKKyAgICAgIChwb3MgLiAsKG5yZXZlcnNlIHBvcy12YXIpKQorICAgICAgKG9wdCAuICwobnJl
dmVyc2Ugb3B0LXZhcikpCisgICAgICAocmVzdCAuICwob3IgZG90dGVkLXJlc3QtdmFyIHJlc3Qt
dmFyKSkKKyAgICAgIChrZXkgLiAsKG5yZXZlcnNlIGtleS12YXIpKQorICAgICAgKGFsbG93LW90
aGVyLWtleXMgLiAsYWxsb3ctb3RoZXIta2V5cykKKyAgICAgIChhdXggLiAsKG5yZXZlcnNlIGF1
eC12YXIpKSkpKQorCisoZGVmdW4gY2wtLXBjYXNlLWNsLWxhbWJkYS1wb3NpdGlvbmFsLXBhdHRl
cm4gKHBvcy12YXJzIG9wdC12YXJzIHJlc3QtdmFyIGtleS12YXJzKQorICAiQnVpbGQgYSBwYXR0
ZXJuIGZvciB0aGUgcG9zaXRpb25hbCwgYCZvcHRpb25hbCcsIGFuZCBgJnJlc3QnIHZhcmlhYmxl
cy4KKworUE9TLVZBUlMgaXMgdGhlIGxpc3Qgb2YgdGhlIHBvc2l0aW9uYWwgdmFyaWFibGVzLiAg
T1BULVZBUlMgaXMgdGhlIGxpc3Qgb2YKK3RoZSBvcHRpb25hbCB2YXJpYWJsZXMuICBSRVNULVZB
UiBpcyB0aGUgYCZyZXN0JyB2YXJpYWJsZS4iCisgIDs7IEEgbW9kaWZpZWQgdmVyc2lvbiBvZiB0
aGUgYmFjay1xdW90ZSBwYXR0ZXJuIHRvIGJldHRlciB3b3JrIHdpdGgKKyAgOzsgb3B0aW9uYWwg
dmFsdWVzLgorICAoY29uZAorICAgKHBvcy12YXJzIGAoYW5kIChwcmVkIGNvbnNwKQorICAgICAg
ICAgICAgICAgICAgIChhcHAgY2FyLXNhZmUgLChjYXIgcG9zLXZhcnMpKQorICAgICAgICAgICAg
ICAgICAgIChhcHAgY2RyLXNhZmUgLChjbC0tcGNhc2UtY2wtbGFtYmRhLXBvc2l0aW9uYWwtcGF0
dGVybgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2RyIHBvcy12YXJzKSBv
cHQtdmFycworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN0LXZhciBrZXkt
dmFycykpKSkKKyAgIChvcHQtdmFycyAocGNhc2UtbGV0ICgoKG9yIGAoLHZhciAsZGVmYXVsdCAs
c3VwcGxpZWQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKCx2YXIgLGRlZmF1bHQp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKCx2YXIpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB2YXIpCisgICAgICAgICAgICAgICAgICAgICAgICAgIChjYXIgb3B0LXZh
cnMpKSkKKyAgICAgICAgICAgICAgIGAoYW5kIChwcmVkIGxpc3RwKQorICAgICAgICAgICAgICAg
ICAgICAgKGFwcCBjYXItc2FmZSAob3IgKGFuZCAocHJlZCBudWxsKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQCh3aGVuIHN1cHBsaWVkIGAoKGxldCAsc3Vw
cGxpZWQgbmlsKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICxAKHdoZW4gZGVmYXVsdCBgKChsZXQgLHZhciAsZGVmYXVsdCkpKSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICwoaWYgc3VwcGxpZWQKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYChhbmQgKGxldCAsc3VwcGxpZWQgdCkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLHZhcikKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcikpKQorICAgICAgICAgICAg
ICAgICAgICAgKGFwcCBjZHItc2FmZSAsKGNsLS1wY2FzZS1jbC1sYW1iZGEtcG9zaXRpb25hbC1w
YXR0ZXJuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmlsIChjZHIgb3B0
LXZhcnMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdC12YXIga2V5
LXZhcnMpKSkpKQorICAgKHJlc3QtdmFyIHJlc3QtdmFyKQorICAgOzsgYHBjYXNlJyBhbGxvd3Mg
YCgsYSAsYikgdG8gbWF0Y2ggKDEgMiAzKSwgc28gd2UgbmVlZCB0byBtYWtlCisgICA7OyBzdXJl
IHRoZXJlIGFyZW4ndCBtb3JlIHZhbHVlcyBsZWZ0LiAgSG93ZXZlciwgaWYgd2UgYXJlIHVzaW5n
CisgICA7OyBgJmtleScsIHRoZW4gd2UgYWxsb3cgbW9yZSB2YWx1ZXMuCisgICAoa2V5LXZhcnMg
J18pCisgICAodCAnKHByZWQgbnVsbCkpKSkKKworOzs7IyMjYXV0b2xvYWQKKyhkZWZ1biBjbC0t
cGNhc2UtY2wtbGFtYmRhLXBsaXN0LWtleXMgKGxpc3QpCisgICJHZXQgZXZlcnkgb3RoZXIgZWxl
bWVudCBpbiBMSVNULCB0byBnZXQgdGhlIGtleXMgaW4gYSBwcm9wZXJ0eSBsaXN0LiIKKyAgKGNs
LWxvb3AgZm9yIGtleSBpbiBsaXN0IGJ5ICMnY2RkciBjb2xsZWN0IGtleSkpCisKKyhkZWZ1biBj
bC0tcGNhc2UtY2wtbGFtYmRhLSZrZXktcGF0dGVybiAoa2V5LXZhcnMgYWxsb3ctb3RoZXIta2V5
cyBwbGlzdC12YXIpCisgICJCdWlsZCBhIGBwY2FzZScgcGF0dGVybiBmb3IgdGhlIGAma2V5JyB2
YXJpYWJsZXMuCisKK0tFWS1WQVJTIGFyZSB0aGUgZm9ybXMgb2YgdGhlIGtleSB2YXJpYWJsZXMu
ICBBTExPVy1PVEhFUi1LRVlTIGlzCit3aGV0aGVyIGAmYWxsb3ctb3RoZXIta2V5cycgd2FzIHVz
ZWQuICBQTElTVC1WQVIgaXMgdGhlIHZhcmlhYmxlCitob2xkaW5nIHRoZSBwcm9wZXJ0eSBsaXN0
LiIKKyAgKGxldCogKChzcGVjaWZpZWQta2V5cyBuaWwpCisgICAgICAgICAocGF0LWxpc3QKKyAg
ICAgICAgICAoY2wtbG9vcAorICAgICAgICAgICBmb3IgYmluZCBpbiBrZXktdmFycworICAgICAg
ICAgICBhcHBlbmQgKHBjYXNlLWxldCogKCgob3IgKG9yIGAoKCxrZXkgLHZhcikgLGRlZmF1bHQg
LHN1cHBsaWVkKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAoKCxr
ZXkgLHZhcikgLGRlZmF1bHQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYCgoLGtleSAsdmFyKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo
YW5kIChvciBgKCx2YXIgLGRlZmF1bHQgLHN1cHBsaWVkKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYCgsdmFyICxkZWZhdWx0KQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCgsdmFyKQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFuZCAocHJlZCBzeW1ib2xwKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIpKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBTdHJpcCBhIGxlYWRpbmcgdW5kZXJz
Y29yZSwgc2luY2UgaXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ozsgb25seSBtZWFucyB0aGF0IHRoaXMgYXJndW1lbnQgaXMKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgOzsgdW51c2VkLCBidXQgc2hvdWxkbid0IGFmZmVjdCB0aGUK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsga2V5J3MgbmFtZSAo
YnVnIzEyMzY3KS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxl
dCBrZXkgKGludGVybgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKGZvcm1hdCAiOiVzIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAobGV0ICgobmFtZSAoc3ltYm9sLW5hbWUgdmFyKSkp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKGlmIChlcSA/XyAoYXJlZiBuYW1lIDApKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3Vic3RyaW5nIG5hbWUg
MSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG5hbWUpKSkpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJp
bmQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0LWtleSAobWFjcm9leHAt
Y29uc3QtcCBrZXkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1c2VkLWtleSAo
aWYgY29uc3Qta2V5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBrZXkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZ2Vuc3lt
IChmb3JtYXQgInBsaXN0LWtleS0lcyIgdmFyKSkpKSkKKyAgICAgICAgICAgICAgICAgICAgKHVu
bGVzcyBhbGxvdy1vdGhlci1rZXlzCisgICAgICAgICAgICAgICAgICAgICAgKHB1c2gga2V5IHNw
ZWNpZmllZC1rZXlzKSkKKyAgICAgICAgICAgICAgICAgICAgYCgsQCh1bmxlc3MgKGVxdWFsIHVz
ZWQta2V5IGtleSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYCgobGV0ICx1c2VkLWtleSAs
a2V5KSkpCisgICAgICAgICAgICAgICAgICAgICAgLEAoY29uZAorICAgICAgICAgICAgICAgICAg
ICAgICAgIChzdXBwbGllZAorICAgICAgICAgICAgICAgICAgICAgICAgICAobGV0ICgoa2V5LWZv
dW5kIChnZW5zeW0gImtleS1mb3VuZCIpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBg
KChsZXQgLGtleS1mb3VuZCAocGxpc3QtbWVtYmVyICxwbGlzdC12YXIgLHVzZWQta2V5CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj
J2VxdWFsKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvciAoYW5kIChndWFyZCAs
a2V5LWZvdW5kKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxldCAs
dmFyIChjYWRyICxrZXktZm91bmQpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKGxldCAsc3VwcGxpZWQgdCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKGFuZCAobGV0ICx2YXIgLGRlZmF1bHQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAobGV0ICxzdXBwbGllZCBuaWwpKSkpKSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAoZGVmYXVsdAorICAgICAgICAgICAgICAgICAgICAgICAgICAobGV0ICgoa2V5LWZvdW5k
IChnZW5zeW0gImtleS1mb3VuZCIpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKChs
ZXQgLHZhcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYtbGV0ICgoLGtleS1m
b3VuZCAocGxpc3QtbWVtYmVyICxwbGlzdC12YXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsdXNlZC1rZXkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAjJ2VxdWFsKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2wt
c2Vjb25kICxrZXktZm91bmQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLGRl
ZmF1bHQpKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICh0CisgICAgICAgICAgICAgICAg
ICAgICAgICAgIGAoKGxldCAsdmFyICAocGxpc3QtZ2V0ICxwbGlzdC12YXIgLHVzZWQta2V5ICMn
ZXF1YWwpKSkpKSkpKSkpCisgICAgYChhbmQgLEAodW5sZXNzIGFsbG93LW90aGVyLWtleXMKKyAg
ICAgICAgICAgICAgYCgoZ3VhcmQgKG9yIChudWxsIChjbC1zZXQtZGlmZmVyZW5jZSAoY2wtLXBj
YXNlLWNsLWxhbWJkYS1wbGlzdC1rZXlzICxwbGlzdC12YXIpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3QgLEBzcGVjaWZpZWQta2V5cykK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6dGVz
dCAjJ2VxdWFsKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChwbGlzdC1nZXQgLHBsaXN0
LXZhciA6YWxsb3ctb3RoZXIta2V5cykpKSkpCisgICAgICAgICAgLEBwYXQtbGlzdCkpKQorCiso
ZGVmdW4gY2wtLXBjYXNlLWNsLWxhbWJkYS0mYXV4LXBhdHRlcm4gKGF1eC12YXJzKQorICAiQnVp
bGQgYHBjYXNlJyBwYXR0ZXJuIGZvciBgJmF1eCcgdmFyaWFibGVzLgorCitBVVgtVkFSUyBpcyB0
aGUgbGlzdCBvZiBiaW5kaW5ncy4iCisgIGAoYW5kICxAKGNsLWxvb3AgZm9yIGJpbmQgaW4gYXV4
LXZhcnMKKyAgICAgICAgICAgICAgICAgICBjb2xsZWN0IChwY2FzZS1sZXQgKCgob3IgYCgsdmFy
ICx2YWwpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAoLHZh
cikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbmQpKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBgKGxldCAsdmFyICx2YWwpKSkpKQorCis7OzsjIyNhdXRvbG9hZAor
KHBjYXNlLWRlZm1hY3JvIGNsLWxhbWJkYSAobGFtYmRhLWxpc3QpCisgICJNYXRjaCBhIENMIGxh
bWJkYSBsaXN0LiAgU2VlIHRoZSBJbmZvIG5vZGUgYChjbClBcmd1bWVudCBMaXN0cycuCisKK1Ro
aXMgcGF0dGVybiBkb2VzIG5vdCBzdXBwb3J0IGAmZW52aXJvbm1lbnQnLgorCitgJmtleScgd2ls
bCBmYWlsIHRvIG1hdGNoIGlmIHRoZXJlIGFyZSBtb3JlIGtleXMgaW4gdGhlIHBsaXN0Cit0aGVu
IHNwZWNpZmllZCwgdW5sZXNzIGAmYWxsb3ctb3RoZXIta2V5cycgaXMgZ2l2ZW4gb3IgdW5sZXNz
IHRoZQorcGxpc3QgYXNzb2NpYXRlcyB0aGUga2V5IGA6YWxsb3ctb3RoZXIta2V5cycgd2l0aCBh
IG5vbi1uaWwKK3ZhbHVlLiAgVW5saWtlIGBjbC1kZXN0cnVjdHVyaW5nLWJpbmQnLCB0aGlzIHBh
dHRlcm4gZG9lcyBub3QKK3NpZ25hbCBhbiBlcnJvciBpZiB0aGVyZSBhcmUgdW5tYXRjaGVkIGtl
eXMgaW4gdGhlIHBsaXN0LgorCitVbmxpa2UgdGhlIGJhY2stcXVvdGUgcGF0dGVybiwgdGhlIHBh
dHRlcm4gd2lsbCBmYWlsIHRvIG1hdGNoIGlmIHRoZQorbm9uLW9wdGlvbmFsIHBhcnQgb2YgTEFN
QkRBLUxJU1QgaXMgc2hvcnRlciB0aGFuIEVYUFZBTC4KKworRm9yIHRoaXMgYHBjYXNlJyBwYXR0
ZXJuLCB0aGUgdmFyaWFibGVzIGluIExBTUJEQS1MSVNUIGNhbgordGhlbXNlbHZlcyBiZSBgcGNh
c2UnIHBhdHRlcm5zLCBpbnN0ZWFkIG9mIGp1c3Qgc3ltYm9scyBhcyBpbiBhCitub3JtYWwgQ0wg
bGFtYmRhIGxpc3QuICBIb3dldmVyLCBsYW1iZGEtbGlzdCBjb25zdHJ1Y3RzIGxpa2UKK2Amb3B0
aW9uYWwnLCBgJmtleScsIGFuZCBgJmF1eCcgdXNlIHN1Yi1saXN0cyB0byBzcGVjaWZ5IGRlZmF1
bHQKK3ZhbHVlcyBhbmQgb3RoZXIgZmVhdHVyZXMuICBGb3IgZXhhbXBsZSwKKworICAgIChjbC1s
YW1iZGEgKCZvcHRpb25hbCAob3B0MSBkZWZhdWx0MSBvcHQxLXN1cHBsaWVkKSkpCisKK1RoZXJl
Zm9yZSwgdG8gYXZvaWQgYW1iaWd1aXR5LCB0aGUgdXNlIG9mIHN1Yi1wYXR0ZXJucyBjYW4gb25s
eQorYmUgZG9uZSB3aXRoaW4gdGhlIHN1Yi1saXN0IGZvciB0aG9zZSBjb25zdHJ1Y3RzLiAgRm9y
IGV4YW1wbGUsCisKKyAgICAoY2wtbGFtYmRhICgmb3B0aW9uYWwgKChhbmQgb3B0MSAoZ3VhcmQg
KGxpc3RwIG9wdDEpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG5pbCkpKQorCitGb3Ig
c2ltaWxhciByZWFzb25zLCB0aGUgY2RyIG9mIGEgZG90dGVkIGxpc3QgKGFzIG9wcG9zZWQgdG8g
dGhlCitlbGVtZW50IGZvbGxvd2luZyBgJnJlc3QnKSBmb3IgdGhlIHJlbWFpbmRlciBvZiBhIGxp
c3QgY2Fubm90IGJlCithIHN1Yi1wYXR0ZXJuLiIKKyAgKGxldCogKChncm91cHMgKGNsLS1wY2Fz
ZS1jbC1sYW1iZGEtdmFyLWdyb3VwcyBsYW1iZGEtbGlzdCkpCisgICAgICAgICAod2hvbGUtdmFy
IChhbGlzdC1nZXQgJ3dob2xlIGdyb3VwcykpCisgICAgICAgICAocG9zLXZhcnMgKGFsaXN0LWdl
dCAncG9zIGdyb3VwcykpCisgICAgICAgICAob3B0LXZhcnMgKGFsaXN0LWdldCAnb3B0IGdyb3Vw
cykpCisgICAgICAgICAocmVzdC12YXIgKGFsaXN0LWdldCAncmVzdCBncm91cHMpKQorICAgICAg
ICAgKGtleS12YXJzIChhbGlzdC1nZXQgJ2tleSBncm91cHMpKQorICAgICAgICAgKGFsbG93LW90
aGVyLWtleXMgKGFsaXN0LWdldCAnYWxsb3ctb3RoZXIta2V5cyBncm91cHMpKQorICAgICAgICAg
KGF1eC12YXJzIChhbGlzdC1nZXQgJ2F1eCBncm91cHMpKSkKKyAgICAocmVtcSBuaWwKKyAgICAg
ICAgICBgKGFuZCAocHJlZCBsaXN0cCkKKyAgICAgICAgICAgICAgICAsKHdoZW4gd2hvbGUtdmFy
CisgICAgICAgICAgICAgICAgICAgd2hvbGUtdmFyKQorICAgICAgICAgICAgICAgICwod2hlbiAo
b3IgcG9zLXZhcnMgb3B0LXZhcnMgcmVzdC12YXIpCisgICAgICAgICAgICAgICAgICAgKGNsLS1w
Y2FzZS1jbC1sYW1iZGEtcG9zaXRpb25hbC1wYXR0ZXJuCisgICAgICAgICAgICAgICAgICAgIHBv
cy12YXJzIG9wdC12YXJzCisgICAgICAgICAgICAgICAgICAgIHJlc3QtdmFyIGtleS12YXJzKSkK
KyAgICAgICAgICAgICAgICAsQCh3aGVuIGtleS12YXJzCisgICAgICAgICAgICAgICAgICAgIChs
ZXQgKChwbGlzdC12YXIgKGdlbnN5bSAibWF5YmUtcGxpc3QiKSkpCisgICAgICAgICAgICAgICAg
ICAgICAgKGNvbmQKKyAgICAgICAgICAgICAgICAgICAgICAgKHJlc3QtdmFyCisgICAgICAgICAg
ICAgICAgICAgICAgICAobGlzdCAoY2wtLXBjYXNlLWNsLWxhbWJkYS0ma2V5LXBhdHRlcm4KKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXktdmFycyBhbGxvdy1vdGhlci1rZXlzCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdC12YXIpKSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgKChvciBwb3MtdmFycyBvcHQtdmFycykKKyAgICAgICAgICAgICAgICAgICAgICAg
IChpZiB3aG9sZS12YXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKChsZXQgLHBsaXN0
LXZhciAobnRoY2RyICwoKyAobGVuZ3RoIHBvcy12YXJzKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsZW5ndGggb3B0LXZhcnMpKQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLHdo
b2xlLXZhcikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsKGNsLS1wY2FzZS1jbC1s
YW1iZGEtJmtleS1wYXR0ZXJuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleS12
YXJzIGFsbG93LW90aGVyLWtleXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxp
c3QtdmFyKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYCgoYXBwIChudGhjZHIgLCgrIChs
ZW5ndGggcG9zLXZhcnMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAobGVuZ3RoIG9wdC12YXJzKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAscGxpc3QtdmFyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICwoY2wtLXBjYXNlLWNs
LWxhbWJkYS0ma2V5LXBhdHRlcm4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleS12
YXJzIGFsbG93LW90aGVyLWtleXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsaXN0
LXZhcikpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgKHQKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGAoKGFuZCAscGxpc3QtdmFyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLChj
bC0tcGNhc2UtY2wtbGFtYmRhLSZrZXktcGF0dGVybgorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAga2V5LXZhcnMgYWxsb3ctb3RoZXIta2V5cworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcGxpc3QtdmFyKSkpKSkpKQorICAgICAgICAgICAgICAgICwod2hlbiBhdXgt
dmFycworICAgICAgICAgICAgICAgICAgIChjbC0tcGNhc2UtY2wtbGFtYmRhLSZhdXgtcGF0dGVy
biBhdXgtdmFycykpKSkpKQorCiA7OyBMb2NhbCB2YXJpYWJsZXM6CiA7OyBnZW5lcmF0ZWQtYXV0
b2xvYWQtZmlsZTogImNsLWxvYWRkZWZzLmVsIgogOzsgRW5kOgpkaWZmIC0tZ2l0IGEvdGVzdC9s
aXNwL2VtYWNzLWxpc3AvcGNhc2UtdGVzdHMuZWwgYi90ZXN0L2xpc3AvZW1hY3MtbGlzcC9wY2Fz
ZS10ZXN0cy5lbAppbmRleCA3OTllOGQzNjY0Ny4uOWMzMjI1OWU5NTMgMTAwNjQ0Ci0tLSBhL3Rl
c3QvbGlzcC9lbWFjcy1saXNwL3BjYXNlLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9lbWFjcy1s
aXNwL3BjYXNlLXRlc3RzLmVsCkBAIC0xNjAsNCArMTYwLDUxOSBAQCBwY2FzZS10ZXN0cy1zZXRx
CiAgIChzaG91bGQtZXJyb3IgKHBjYXNlLXNldHEgYSkKICAgICAgICAgICAgICAgICA6dHlwZSAn
KHdyb25nLW51bWJlci1vZi1hcmd1bWVudHMpKSkKIAorOzs7IFRlc3RzIGZvciB0aGUgYGNsLWxh
bWJkYScgYHBjYXNlJyBwYXR0ZXJuLgorCisoZXJ0LWRlZnRlc3QgcGNhc2UtdGVzdHMtY2wtbGFt
YmRhLSZ3aG9sZS1zaG91bGQtZXJyb3IgKCkKKyAgImAmd2hvbGUnIG11c3QgY29tZSBmaXJzdCBp
ZiBnaXZlbiwgYW5kIG11c3QgYmUgZm9sbG93ZWQgYnkgYSBwYXR0ZXIuIgorICAoc2hvdWxkLWVy
cm9yIChwY2FzZSAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhICgm
d2hvbGUpKQorICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpCisgICAgICAgICAgICAg
ICAgOnR5cGUgJ2NsLS1wY2FzZS1sYW1iZGEtbGlzdC1iYWQtbGFtYmRhLWxpc3QpCisKKyAgKHNo
b3VsZC1lcnJvciAocGNhc2UgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAgICAoKGNsLWxh
bWJkYSAoYSBiICZ3aG9sZSBjKSkKKyAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYykpKQor
ICAgICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2UtbGFtYmRhLWxpc3QtYmFkLWxhbWJkYS1s
aXN0KQorCisgIChzaG91bGQtZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAg
ICAgICAgKChjbC1sYW1iZGEgKCZyZXN0IGEgJndob2xlIGMpKQorICAgICAgICAgICAgICAgICAg
IChsaXN0IGEgYiBjKSkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1sYW1iZGEt
bGlzdC1iYWQtbGFtYmRhLWxpc3QpCisKKyAgKHNob3VsZC1lcnJvciAocGNhc2UgKGxpc3QgMSAy
IDMpCisgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoJmtleSBhICZ3aG9sZSBjKSkKKyAg
ICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYykpKQorICAgICAgICAgICAgICAgIDp0eXBlICdj
bC0tcGNhc2UtbGFtYmRhLWxpc3QtYmFkLWxhbWJkYS1saXN0KQorCisgIChzaG91bGQtZXJyb3Ig
KHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKCZhdXgg
KGEgMSkgJndob2xlIGMpKQorICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpCisgICAg
ICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1sYW1iZGEtbGlzdC1iYWQtbGFtYmRhLWxpc3Qp
CisKKyAgKHNob3VsZC1lcnJvciAocGNhc2UgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAg
ICAoKGNsLWxhbWJkYSAoJm9wdGlvbmFsIChhIDEpICZ3aG9sZSBjKSkKKyAgICAgICAgICAgICAg
ICAgICAobGlzdCBhIGIgYykpKQorICAgICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2UtbGFt
YmRhLWxpc3QtYmFkLWxhbWJkYS1saXN0KQorCisgIChzaG91bGQtZXJyb3IgKHBjYXNlIChsaXN0
IDEgMiAzKQorICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKCZ3aG9sZSB3aG9sZTEgJndo
b2xlIHdob2xlMikpCisgICAgICAgICAgICAgICAgICAgKGxpc3Qgd2hvbGUxIHdob2xlMikpKQor
ICAgICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2UtbGFtYmRhLWxpc3QtYmFkLWxhbWJkYS1s
aXN0KSkKKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3RzLWNsLWxhbWJkYS0md2hvbGUgKCkKKyAg
ImAmd2hvbGUnIGNhbiBiZSBhIGBwY2FzZScgcGF0dGVybi4iCisgIChzaG91bGQgKGVxdWFsIChs
aXN0IChsaXN0IDEgMiAzKSAxIDIgMykKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IDEg
MiAzKQorICAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhICgmd2hvbGUgd2hvbGUgYSBiIGMp
KQorICAgICAgICAgICAgICAgICAgICAobGlzdCB3aG9sZSBhIGIgYykpKSkpCisKKyAgKHNob3Vs
ZCAoZXF1YWwgKGxpc3QgMSAyIDMgMSAyIDMpCisgICAgICAgICAgICAgICAgIChwY2FzZSAobGlz
dCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoJndob2xlIGAoLGEwICxi
MCAsYzApIGEgYiBjKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYTAgYjAgYzAgYSBiIGMp
KSkpKSkKKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3RzLWNsLWxhbWJkYS1wb3MgKCkKKyAgIlBv
c2l0aW9uYWwgdmFyaWFibGVzIG11c3QgbWF0Y2ggdGhlIGxlbmd0aCBvZiBFWFBWQUwuIgorICAo
c2hvdWxkIChlcXVhbCAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0
IDEgMiAzKQorICAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhIChhIGIgYykpCisgICAgICAg
ICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpKSkKKworICAoc2hvdWxkIChlcXVhbCBuaWwKKyAg
ICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IChsaXN0IDEpKQorICAgICAgICAgICAgICAgICAg
ICgoY2wtbGFtYmRhIChhIGIpKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIpKSkpKQor
CisgIChzaG91bGQgKGVxdWFsIG5pbAorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgKGxp
c3QgMSAyIDMpKQorICAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhIChhIGIpKQorICAgICAg
ICAgICAgICAgICAgICAobGlzdCBhIGIpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3Rz
LWNsLWxhbWJkYS1wb3Mtc3ViLXBhdHRlcm5zICgpCisgIChzaG91bGQgKGVxdWFsIChsaXN0IDEg
MiAzIDQpCisgICAgICAgICAgICAgICAgIChwY2FzZSAobGlzdCAxIDIgKGxpc3QgMyA0KSkKKyAg
ICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoYSBiIChjbC1sYW1iZGEgKGMgZCkpKSkKKyAg
ICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGMgZCkpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwg
KGxpc3QgMSAyKQorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgKGxpc3QgMSAyKSkKKyAg
ICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoYCgsYSAsYikpKQorICAgICAgICAgICAgICAg
ICAgICAobGlzdCBhIGIpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3RzLWNsLWxhbWJk
YS0mb3B0aW9uYWwtc2hvdWxkLWVycm9yICgpCisgICJgJm9wdGlvbmFsJyBjYW5ub3QgYmUgdXNl
ZCBhZnRlciBgJm9wdGlvbmFsJywgYCZyZXN0JywgYCZrZXknLCBhbmQgYCZhdXgnLiIKKyAgKHNo
b3VsZC1lcnJvciAoZXF1YWwgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAgICAgICAgIChw
Y2FzZSAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAo
JnJlc3QgYSAmb3B0aW9uYWwgYiBjKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3Qg
YSBiIGMpKSkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1sYW1iZGEtbGlzdC1i
YWQtbGFtYmRhLWxpc3QpCisKKyAgKHNob3VsZC1lcnJvciAocGNhc2UgKGxpc3QgMSAyIDMpCisg
ICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoJmJvZHkgYSAmb3B0aW9uYWwgYiBjKSkKKyAg
ICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYykpKQorICAgICAgICAgICAgICAgIDp0eXBlICdj
bC0tcGNhc2UtbGFtYmRhLWxpc3QtYmFkLWxhbWJkYS1saXN0KQorCisgIChzaG91bGQtZXJyb3Ig
KHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKCZrZXkg
YSAmb3B0aW9uYWwgYiBjKSkKKyAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYykpKQorICAg
ICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2UtbGFtYmRhLWxpc3QtYmFkLWxhbWJkYS1saXN0
KQorCisgIChzaG91bGQtZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAg
ICAgKChjbC1sYW1iZGEgKCZhbGxvdy1vdGhlci1rZXlzICZvcHRpb25hbCBiIGMpKQorICAgICAg
ICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1w
Y2FzZS1sYW1iZGEtbGlzdC1iYWQtbGFtYmRhLWxpc3QpCisKKyAgKHNob3VsZC1lcnJvciAocGNh
c2UgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoJmF1eCAoYSAx
KSAmb3B0aW9uYWwgYiBjKSkKKyAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYykpKQorICAg
ICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2UtbGFtYmRhLWxpc3QtYmFkLWxhbWJkYS1saXN0
KQorCisgIChzaG91bGQtZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAg
ICAgKChjbC1sYW1iZGEgKCZvcHRpb25hbCBhICZvcHRpb25hbCBiIGMpKQorICAgICAgICAgICAg
ICAgICAgIChsaXN0IGEgYiBjKSkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1s
YW1iZGEtbGlzdC1iYWQtbGFtYmRhLWxpc3QpKQorCisoZXJ0LWRlZnRlc3QgcGNhc2UtdGVzdHMt
Y2wtbGFtYmRhLSZvcHRpb25hbCAoKQorICAoc2hvdWxkIChlcXVhbCAobGlzdCAxIDIgMykKKyAg
ICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgICgo
Y2wtbGFtYmRhIChhIGIgJm9wdGlvbmFsIGMpKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBh
IGIgYykpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyIG5pbCkKKyAgICAgICAgICAg
ICAgICAgKHBjYXNlIChsaXN0IDEgMikKKyAgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAo
YSBiICZvcHRpb25hbCBjKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGMpKSkpKQor
CisgIChzaG91bGQgKGVxdWFsIChsaXN0IDEgMiAxMykKKyAgICAgICAgICAgICAgICAgKHBjYXNl
IChsaXN0IDEgMikKKyAgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoYSBiICZvcHRpb25h
bCAoYyAxMykpKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYykpKSkpCisKKyAgKHNo
b3VsZCAoZXF1YWwgKGxpc3QgMSAyIDEzIG5pbCkKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChs
aXN0IDEgMikKKyAgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoYSBiICZvcHRpb25hbCAo
YyAxMyBjLXN1cHBsaWVkKSkpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjIGMtc3Vw
cGxpZWQpKSkpKQorCisgIChzaG91bGQgKGVxdWFsIChsaXN0IDEgMiAzIHQpCisgICAgICAgICAg
ICAgICAgIChwY2FzZSAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJk
YSAoYSBiICZvcHRpb25hbCAoYyAxMyBjLXN1cHBsaWVkKSkpCisgICAgICAgICAgICAgICAgICAg
IChsaXN0IGEgYiBjIGMtc3VwcGxpZWQpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3Rz
LWNsLWxhbWJkYS0mb3B0aW9uYWwtc3ViLXBhdHRlcm5zICgpCisgICJUZXN0IHVzaW5nIHN1Yi1w
YXR0ZXJucyBpbiBgY2wtbGFtYmRhJyBwYXR0ZXJuLgorU3ViLXBhdHRlcm5zIG11c3QgYmUgY29u
dGFpbmVkIHdpdGhpbiBhIHN1Yi1saXN0LCBzaW5jZSBhIHN1Yi1saXN0CithbHNvIHByb3ZpZGVz
IGEgZGVmYXVsdCB2YWx1ZS4iCisgIChzaG91bGQtZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAobGlz
dCAzIDQpKQorICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKGEgYiAmb3B0aW9uYWwgYCgs
YyAsZCkpKQorICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjIGQpKSkpCisKKyAgKHNob3Vs
ZCAoZXF1YWwgKGxpc3QgMSAyIDMzKQorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgMSAy
KQorICAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhIChhIGIgJm9wdGlvbmFsICgoYW5kIG9w
dDEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo
Z3VhcmQgKG51bWJlcnAgb3B0MSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAzMykpKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgb3B0MSkp
KSkpCisKKyAgKHNob3VsZCAoZXF1YWwgbmlsCisgICAgICAgICAgICAgICAgIChwY2FzZSAobGlz
dCAxIDIgJ25vdC1udW0pCisgICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKGEgYiAmb3B0
aW9uYWwgKChhbmQgb3B0MQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIChndWFyZCAobnVtYmVycCBvcHQxKSkpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMzKSkpCisgICAgICAgICAgICAgICAgICAgIChs
aXN0IGEgYiBvcHQxKSkpKSkKKworICAoc2hvdWxkIChlcXVhbCBuaWwKKyAgICAgICAgICAgICAg
ICAgKHBjYXNlIChsaXN0IDEgMiBuaWwpCisgICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEg
KGEgYiAmb3B0aW9uYWwgKChhbmQgb3B0MQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIChndWFyZCAobnVtYmVycCBvcHQxKSkpCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdub3QtbnVtKSkpCisgICAgICAg
ICAgICAgICAgICAgIChsaXN0IGEgYiBvcHQxKSkpKSkKKworICAoc2hvdWxkIChlcXVhbCAobGlz
dCAxIDIgMyA0KQorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgMSAyIChsaXN0IDMgNCkp
CisgICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKGEgYiAmb3B0aW9uYWwgKGAoLGMgLGQp
KSkpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjIGQpKSkpKQorCisgIChzaG91bGQg
KGVxdWFsIChsaXN0IDEgMiBuaWwgbmlsKQorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3Qg
MSAyKQorICAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhIChhIGIgJm9wdGlvbmFsIChgKCxj
ICxkKSkpKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYyBkKSkpKSkKKworICAoc2hv
dWxkIChlcXVhbCAobGlzdCAxIDIgMTMgMTQpCisgICAgICAgICAgICAgICAgIChwY2FzZSAobGlz
dCAxIDIpCisgICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKGEgYiAmb3B0aW9uYWwgKGAo
LGMgLGQpIChsaXN0IDEzIDE0KSkpKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYyBk
KSkpKSkKKworICAoc2hvdWxkIChlcXVhbCAobGlzdCAxIDIgMTMgMTQpCisgICAgICAgICAgICAg
ICAgIChwY2FzZSAobGlzdCAxIDIpCisgICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKCBh
IGIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZvcHRpb25hbCAoKGNsLWxhbWJk
YSAoYyAmb3B0aW9uYWwgKGQgMTQpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKGxpc3QgMTMpKSkpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBj
IGQpKSkpKQorCisgIChzaG91bGQgKGVxdWFsIChsaXN0IDEgMiAxMyAxNCBuaWwpCisgICAgICAg
ICAgICAgICAgIChwY2FzZSAobGlzdCAxIDIpCisgICAgICAgICAgICAgICAgICAgKChjbC1sYW1i
ZGEgKGEgYiAmb3B0aW9uYWwgKGAoLGMgLGQpIChsaXN0IDEzIDE0KSBjZC1zdXBwbGllZCkpKQor
ICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYyBkIGNkLXN1cHBsaWVkKSkpKSkKKworICAo
c2hvdWxkIChlcXVhbCAobGlzdCAxIDIgMTMgMTQgbmlsIHQgbmlsKQorICAgICAgICAgICAgICAg
ICAocGNhc2UgKGxpc3QgMSAyKQorICAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhICggYSBi
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmb3B0aW9uYWwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhICgmb3B0aW9uYWwgKGMgMjcgYy1zdWIt
c3VwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAoZCAxNCBkLXN1Yi1zdXApKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAobGlzdCAxMykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZC1zdXBwbGll
ZCkpKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYyBkIGNkLXN1cHBsaWVkIGMtc3Vi
LXN1cCBkLXN1Yi1zdXApKSkpKSkKKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3RzLWNsLWxhbWJk
YS0mcmVzdC1zaG91bGQtZXJyb3IgKCkKKyAgImAmcmVzdCcgKGAmYm9keScsIGAuJykgY2Fubm90
IGJlIHVzZWQgYWZ0ZXIgYCZyZXN0JywgYCZib2R5JywgYCZrZXknLGFuZCBgJmF1eCcuIgorICAo
c2hvdWxkLWVycm9yIChlcXVhbCAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICAgICAg
KHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRh
ICgmcmVzdCBhICZyZXN0IGIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIg
YykpKSkKKyAgICAgICAgICAgICAgICA6dHlwZSAnY2wtLXBjYXNlLWxhbWJkYS1saXN0LWJhZC1s
YW1iZGEtbGlzdCkKKworICAoc2hvdWxkLWVycm9yIChlcXVhbCAobGlzdCAxIDIgMykKKyAgICAg
ICAgICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAg
ICAgICAgICgoY2wtbGFtYmRhICgmYm9keSBhICZib2R5IGIpKQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAobGlzdCBhIGIgYykpKSkKKyAgICAgICAgICAgICAgICA6dHlwZSAnY2wtLXBjYXNl
LWxhbWJkYS1saXN0LWJhZC1sYW1iZGEtbGlzdCkKKworICAoc2hvdWxkLWVycm9yIChlcXVhbCAo
bGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IDEgMiAzKQor
ICAgICAgICAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhICgmYm9keSBhIC4gYikpCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpKQorICAgICAgICAgICAgICAgIDp0
eXBlICdjbC0tcGNhc2UtbGFtYmRhLWxpc3QtYmFkLWxhbWJkYS1saXN0KQorCisgIChzaG91bGQt
ZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEg
KCZib2R5IGEgJnJlc3QgYikpCisgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGMpKSkKKyAg
ICAgICAgICAgICAgICA6dHlwZSAnY2wtLXBjYXNlLWxhbWJkYS1saXN0LWJhZC1sYW1iZGEtbGlz
dCkKKworICAoc2hvdWxkLWVycm9yIChwY2FzZSAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAg
ICAgICgoY2wtbGFtYmRhICgmcmVzdCBhICZib2R5IGIpKQorICAgICAgICAgICAgICAgICAgIChs
aXN0IGEgYiBjKSkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1sYW1iZGEtbGlz
dC1iYWQtbGFtYmRhLWxpc3QpCisKKyAgKHNob3VsZC1lcnJvciAocGNhc2UgKGxpc3QgMSAyIDMp
CisgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoJmtleSBhICZyZXN0IGIpKQorICAgICAg
ICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1w
Y2FzZS1sYW1iZGEtbGlzdC1iYWQtbGFtYmRhLWxpc3QpCisKKyAgKHNob3VsZC1lcnJvciAocGNh
c2UgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoJmtleSBhICZi
b2R5IGIpKQorICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpCisgICAgICAgICAgICAg
ICAgOnR5cGUgJ2NsLS1wY2FzZS1sYW1iZGEtbGlzdC1iYWQtbGFtYmRhLWxpc3QpCisKKyAgKHNo
b3VsZC1lcnJvciAocGNhc2UgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAgICAoKGNsLWxh
bWJkYSAoJmtleSBhIC4gYikpCisgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGMpKSkKKyAg
ICAgICAgICAgICAgICA6dHlwZSAnY2wtLXBjYXNlLWxhbWJkYS1saXN0LWJhZC1sYW1iZGEtbGlz
dCkKKworICAoc2hvdWxkLWVycm9yIChwY2FzZSAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAg
ICAgICgoY2wtbGFtYmRhICgmYWxsb3ctb3RoZXIta2V5cyAmcmVzdCBiKSkKKyAgICAgICAgICAg
ICAgICAgICAobGlzdCBhIGIgYykpKQorICAgICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2Ut
bGFtYmRhLWxpc3QtYmFkLWxhbWJkYS1saXN0KQorCisgIChzaG91bGQtZXJyb3IgKHBjYXNlIChs
aXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKCZhbGxvdy1vdGhlci1r
ZXlzICZib2R5IGIpKQorICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpCisgICAgICAg
ICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1sYW1iZGEtbGlzdC1iYWQtbGFtYmRhLWxpc3QpCisK
KyAgKHNob3VsZC1lcnJvciAocGNhc2UgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAgICAo
KGNsLWxhbWJkYSAoJmFsbG93LW90aGVyLWtleXMgLiBiKSkKKyAgICAgICAgICAgICAgICAgICAo
bGlzdCBhIGIgYykpKQorICAgICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2UtbGFtYmRhLWxp
c3QtYmFkLWxhbWJkYS1saXN0KQorCisgIChzaG91bGQtZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAz
KQorICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKCZhdXggKGEgMSkgJnJlc3QgYikpCisg
ICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGMpKSkKKyAgICAgICAgICAgICAgICA6dHlwZSAn
Y2wtLXBjYXNlLWxhbWJkYS1saXN0LWJhZC1sYW1iZGEtbGlzdCkKKworICAoc2hvdWxkLWVycm9y
IChwY2FzZSAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhICgmYXV4
IChhIDEpICZib2R5IGIpKQorICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpCisgICAg
ICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1sYW1iZGEtbGlzdC1iYWQtbGFtYmRhLWxpc3Qp
CisKKyAgKHNob3VsZC1lcnJvciAocGNhc2UgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAg
ICAoKGNsLWxhbWJkYSAoJmF1eCAoYSAxKSAuIGIpKQorICAgICAgICAgICAgICAgICAgIChsaXN0
IGEgYiBjKSkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1sYW1iZGEtbGlzdC1i
YWQtbGFtYmRhLWxpc3QpKQorCisoZXJ0LWRlZnRlc3QgcGNhc2UtdGVzdHMtY2wtbGFtYmRhLSZy
ZXN0LW5vbmxpc3QtY2RyICgpCisgIChzaG91bGQgKGVxdWFsIChsaXN0IDEgMikKKyAgICAgICAg
ICAgICAgICAgKHBjYXNlIChjb25zIDEgMikKKyAgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJk
YSAoYSAmcmVzdCBiKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiKSkpKSkKKworICAo
c2hvdWxkIChlcXVhbCAobGlzdCAxIDIpCisgICAgICAgICAgICAgICAgIChwY2FzZSAoY29ucyAx
IDIpCisgICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKGEgJmJvZHkgYikpCisgICAgICAg
ICAgICAgICAgICAgIChsaXN0IGEgYikpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAy
KQorICAgICAgICAgICAgICAgICAocGNhc2UgKGNvbnMgMSAyKQorICAgICAgICAgICAgICAgICAg
ICgoY2wtbGFtYmRhIChhIC4gYikpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYikpKSkp
KQorCisoZXJ0LWRlZnRlc3QgcGNhc2UtdGVzdHMtY2wtbGFtYmRhLSZyZXN0LXdpdGgtJndob2xl
ICgpCisgIChzaG91bGQgKGVxdWFsIChsaXN0IChjb25zIDEgMikgMSAyKQorICAgICAgICAgICAg
ICAgICAocGNhc2UgKGNvbnMgMSAyKQorICAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhICgm
d2hvbGUgd2hvbGUgYSAmcmVzdCBiKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3Qgd2hvbGUg
YSBiKSkpKSkKKworICAoc2hvdWxkIChlcXVhbCAobGlzdCAoY29ucyAxIDIpIDEgMikKKyAgICAg
ICAgICAgICAgICAgKHBjYXNlIChjb25zIDEgMikKKyAgICAgICAgICAgICAgICAgICAoKGNsLWxh
bWJkYSAoJndob2xlIHdob2xlIGEgJmJvZHkgYikpCisgICAgICAgICAgICAgICAgICAgIChsaXN0
IHdob2xlIGEgYikpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgKGNvbnMgMSAyKSAxIDIp
CisgICAgICAgICAgICAgICAgIChwY2FzZSAoY29ucyAxIDIpCisgICAgICAgICAgICAgICAgICAg
KChjbC1sYW1iZGEgKCZ3aG9sZSB3aG9sZSBhIC4gYikpCisgICAgICAgICAgICAgICAgICAgIChs
aXN0IHdob2xlIGEgYikpKSkpKQorCisoZXJ0LWRlZnRlc3QgcGNhc2UtdGVzdHMtY2wtbGFtYmRh
LSZyZXN0LW9ubHkgKCkKKyAgIlVzaW5nIG9ubHkgYCZyZXN0JyBzaG91bGQgd29yayBsaWtlIGAm
d2hvbGUnLiIKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgKGxpc3QgMSAyKSkKKyAgICAgICAgICAg
ICAgICAgKHBjYXNlIChsaXN0IDEgMikKKyAgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAo
JnJlc3QgYSkpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEpKSkpKQorCisgIChzaG91bGQg
KGVxdWFsIChsaXN0IChjb25zIDEgMikpCisgICAgICAgICAgICAgICAgIChwY2FzZSAoY29ucyAx
IDIpCisgICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKCZib2R5IGEpKQorICAgICAgICAg
ICAgICAgICAgICAobGlzdCBhKSkpKSkpCisKKyhlcnQtZGVmdGVzdCBwY2FzZS10ZXN0cy1jbC1s
YW1iZGEtJnJlc3QtYWZ0ZXItJm9wdGlvbmFsICgpCisgIChzaG91bGQgKGVxdWFsIChsaXN0IDEg
MiAzIChsaXN0IDQgNSkpCisgICAgICAgICAgICAgICAgIChwY2FzZSAobGlzdCAxIDIgMyA0IDUp
CisgICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKCZvcHRpb25hbCBhIGIgYyAmcmVzdCBk
KSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGMgZCkpKSkpCisKKyAgKHNob3VsZCAo
ZXF1YWwgKGxpc3QgMSAyIDMgKGxpc3QgNCA1KSkKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChs
aXN0IDEgMiAzIDQgNSkKKyAgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoJm9wdGlvbmFs
IGEgYiBjICZib2R5IGQpKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYyBkKSkpKSkK
KworICAoc2hvdWxkIChlcXVhbCAobGlzdCAxIDIgMyAobGlzdCA0IDUpKQorICAgICAgICAgICAg
ICAgICAocGNhc2UgKGxpc3QgMSAyIDMgNCA1KQorICAgICAgICAgICAgICAgICAgICgoY2wtbGFt
YmRhICgmb3B0aW9uYWwgYSBiIGMgLiBkKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBi
IGMgZCkpKSkpKQorCisoZXJ0LWRlZnRlc3QgcGNhc2UtdGVzdHMtY2wtbGFtYmRhLSZyZXN0LXN1
Yi1wYXR0ZXJucyAoKQorICA7OyBXZSBjYW4ndCBkbyAoYSAuIGAoLGIgLiAsYykpLCBzbyB3ZSBk
b24ndCB0ZXN0IHRoYXQuCisgIChzaG91bGQgKGVxdWFsIChsaXN0IDEgMiAzKQorICAgICAgICAg
ICAgICAgICAocGNhc2UgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAgICAgKChjbC1sYW1i
ZGEgKGEgJnJlc3QgKGNsLWxhbWJkYSAoYiBjKSkpKQorICAgICAgICAgICAgICAgICAgICAobGlz
dCBhIGIgYykpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyIDMpCisgICAgICAgICAg
ICAgICAgIChwY2FzZSAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJk
YSAoYSAmYm9keSBgKCxiICxjKSkpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkp
KSkpCisKKyhlcnQtZGVmdGVzdCBwY2FzZS10ZXN0cy1jbC1sYW1iZGEtJmtleS1zaG91bGQtZXJy
b3IgKCkKKyAgImAma2V5JyBjYW5ub3QgYmUgdXNlZCBhZnRlciBgJmtleScsIGAmYWxsb3ctb3Ro
ZXIta2V5cycsIGFuZCBgJmF1eCcuIgorICAoc2hvdWxkLWVycm9yIChwY2FzZSAobGlzdCA6YSAx
IDpiIDIpCisgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoJmtleSBhICZrZXkgYikpCisg
ICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiKSkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2Ns
LS1wY2FzZS1sYW1iZGEtbGlzdC1iYWQtbGFtYmRhLWxpc3QpCisKKyAgKHNob3VsZC1lcnJvciAo
cGNhc2UgKGxpc3QgOmEgMSA6YiAyKQorICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKCZh
dXggKGEgMSkgJmtleSBiKSkKKyAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIpKSkKKyAgICAg
ICAgICAgICAgICA6dHlwZSAnY2wtLXBjYXNlLWxhbWJkYS1saXN0LWJhZC1sYW1iZGEtbGlzdCkK
KworICAoc2hvdWxkLWVycm9yIChwY2FzZSAobGlzdCA6YSAxIDpiIDIpCisgICAgICAgICAgICAg
ICAgICAoKGNsLWxhbWJkYSAoJmFsbG93LW90aGVyLWtleXMgJmtleSBiKSkKKyAgICAgICAgICAg
ICAgICAgICAobGlzdCBhIGIpKSkKKyAgICAgICAgICAgICAgICA6dHlwZSAnY2wtLXBjYXNlLWxh
bWJkYS1saXN0LWJhZC1sYW1iZGEtbGlzdCkpCisKKyhlcnQtZGVmdGVzdCBwY2FzZS10ZXN0cy1j
bC1sYW1iZGEtJmtleS1leGFjdCAoKQorICAiYCZrZXknIGRvZXNuJ3QgbWF0Y2ggdW5zcGVjaWZp
ZWQga2V5cyB1bmxlc3MgYCZhbGxvdy1vdGhlci1rZXlzJyBvciBgOmFsbG93LW90aGVyLWtleXMn
IGlzIGdpdmVuLiIKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyKQorICAgICAgICAgICAgICAg
ICAocGNhc2UgKGxpc3QgOmEgMSA6YiAyKQorICAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRh
ICgma2V5IGEgYikpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYikpKSkpCisKKyAgKHNo
b3VsZCAoZXF1YWwgbmlsCisgICAgICAgICAgICAgICAgIChwY2FzZSAobGlzdCA6YSAxIDpiIDIg
OmMgMykKKyAgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoJmtleSBhIGIpKQorICAgICAg
ICAgICAgICAgICAgICAobGlzdCBhIGIpKSkpKQorCisgIChzaG91bGQgKGVxdWFsIChsaXN0IDEg
MiBuaWwpCisgICAgICAgICAgICAgICAgIChwY2FzZSAobGlzdCA6YSAxIDpiIDIpCisgICAgICAg
ICAgICAgICAgICAgKChjbC1sYW1iZGEgKCZrZXkgYSBiIGMpKQorICAgICAgICAgICAgICAgICAg
ICAobGlzdCBhIGIgYykpKSkpKQorCisoZXJ0LWRlZnRlc3QgcGNhc2UtdGVzdHMtY2wtbGFtYmRh
LSZrZXktcGVybWlzc2l2ZSAoKQorICAiYCZrZXknIGRvZXNuJ3QgbWF0Y2ggdW5zcGVjaWZpZWQg
a2V5cyB1bmxlc3MgYCZhbGxvdy1vdGhlci1rZXlzJyBvciBgOmFsbG93LW90aGVyLWtleXMnIGlz
IGdpdmVuLiIKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyKQorICAgICAgICAgICAgICAgICAo
cGNhc2UgKGxpc3QgOmEgMSA6YiAyIDpjIDMpCisgICAgICAgICAgICAgICAgICAgKChjbC1sYW1i
ZGEgKCZrZXkgYSBiICZhbGxvdy1vdGhlci1rZXlzKSkKKyAgICAgICAgICAgICAgICAgICAgKGxp
c3QgYSBiKSkpKSkKKworICAoc2hvdWxkIChlcXVhbCAobGlzdCAxIDIpCisgICAgICAgICAgICAg
ICAgIChwY2FzZSAobGlzdCA6YSAxIDpiIDIgOmMgMyA6YWxsb3ctb3RoZXIta2V5cyB0KQorICAg
ICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhICgma2V5IGEgYikpCisgICAgICAgICAgICAgICAg
ICAgIChsaXN0IGEgYikpKSkpKQorCisoZXJ0LWRlZnRlc3QgcGNhc2UtdGVzdHMtY2wtbGFtYmRh
LSZrZXktbm90LWZpcnN0ICgpCisgICJUaGUgcGxpc3Qgc2hvdWxkIGJlIGFmdGVyIHBvc2l0aW9u
YWwgdmFsdWVzIGFuZCBlcXVhbCB0byBgJnJlc3QnLiIKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3Qg
MSAyIDMgMTEgMjIpCisgICAgICAgICAgICAgICAgIChwY2FzZSAobGlzdCAxIDIgMyA6azEgMTEg
OmsyIDIyKQorICAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhIChhIGIgYyAma2V5IGsxIGsy
KSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGMgazEgazIpKSkpKQorCisgIChzaG91
bGQgKGVxdWFsIChsaXN0IDEgMiAzIChsaXN0IDprMSAxMSA6azIgMjIpIDExIDIyKQorICAgICAg
ICAgICAgICAgICAocGNhc2UgKGxpc3QgMSAyIDMgOmsxIDExIDprMiAyMikKKyAgICAgICAgICAg
ICAgICAgICAoKGNsLWxhbWJkYSAoYSBiIGMgJnJlc3QgcjEgJmtleSBrMSBrMikpCisgICAgICAg
ICAgICAgICAgICAgIChsaXN0IGEgYiBjIHIxIGsxIGsyKSkpKSkpCisKKyhlcnQtZGVmdGVzdCBw
Y2FzZS10ZXN0cy1jbC1sYW1iZGEtJmtleS1mdWxsLWZvcm0gKCkKKyAgKHNob3VsZCAoZXF1YWwg
KGxpc3QgMSAyKQorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgOmEgMSA6YiAyKQorICAg
ICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhICgma2V5IGEgKGIgMTMpKSkKKyAgICAgICAgICAg
ICAgICAgICAgKGxpc3QgYSBiKSkpKSkKKworICAoc2hvdWxkIChlcXVhbCAobGlzdCAxIDEzKQor
ICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgOmEgMSkKKyAgICAgICAgICAgICAgICAgICAo
KGNsLWxhbWJkYSAoJmtleSBhIChiIDEzKSkpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEg
YikpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAxMyBuaWwpCisgICAgICAgICAgICAg
ICAgIChwY2FzZSAobGlzdCA6YSAxKQorICAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhICgm
a2V5IGEgKGIgMTMgYi1zdXBwbGllZCkpKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIg
Yi1zdXBwbGllZCkpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyIHQpCisgICAgICAg
ICAgICAgICAgIChwY2FzZSAobGlzdCA6YSAxIDpiIDIpCisgICAgICAgICAgICAgICAgICAgKChj
bC1sYW1iZGEgKCZrZXkgYSAoYiAxMyBiLXN1cHBsaWVkKSkpCisgICAgICAgICAgICAgICAgICAg
IChsaXN0IGEgYiBiLXN1cHBsaWVkKSkpKSkKKworICAoc2hvdWxkIChlcXVhbCAobGlzdCAxIDIg
dCkKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IDphIDEgOmJhdCAyKQorICAgICAgICAg
ICAgICAgICAgICgoY2wtbGFtYmRhICgma2V5IGEgKCg6YmF0IGIpIDEzIGItc3VwcGxpZWQpKSkK
KyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGItc3VwcGxpZWQpKSkpKQorCisgIChzaG91
bGQgKGVxdWFsIChsaXN0IDEgMiB0KQorICAgICAgICAgICAgICAgICAobGV0ICgoa2V5IDpiYXQp
KQorICAgICAgICAgICAgICAgICAgIChwY2FzZSAobGlzdCA6YSAxIDpiYXQgMikKKyAgICAgICAg
ICAgICAgICAgICAgICgoY2wtbGFtYmRhICgma2V5IGEgKChrZXkgYikgMTMgYi1zdXBwbGllZCkp
KQorICAgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBiLXN1cHBsaWVkKSkpKSkpKQorCiso
ZXJ0LWRlZnRlc3QgcGNhc2UtdGVzdHMtY2wtbGFtYmRhLSZrZXktc3ViLXBhdHRlcm5zICgpCisg
IChzaG91bGQgKGVxdWFsICcoMSAyICg6YyA3NyA6ZSBzaG91bGQtaWdub3JlKSBuaWwgNzcgdCA5
OSBuaWwpCisgICAgICAgICAgICAgICAgIChwY2FzZSAnKDphYiAoMSAyKSkKKyAgICAgICAgICAg
ICAgICAgICAoKGNsLWxhbWJkYSAoJmtleQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAoKDphYiBgKCxhICxiKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoOmNk
IChjbC1sYW1iZGEgKCAmd2hvbGUgY2QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZrZXkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIChjIDg4IGMtc3VwcCkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoOmQgZCkgOTkgZC1zdXBwKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmFsbG93LW90aGVyLWtl
eXMpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaXN0IDpjIDc3IDplICdz
aG91bGQtaWdub3JlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2Qtc3VwcCkp
KQorICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgY2QgY2Qtc3VwcCBjIGMtc3VwcCBkIGQt
c3VwcCkpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgJyggMSAyICg6YyA3NyA6ZSBzaG91bGQtaWdu
b3JlIDphbGxvdy1vdGhlci1rZXlzIHQpIG5pbAorICAgICAgICAgICAgICAgICAgICA3NyB0IDk5
IG5pbCkKKyAgICAgICAgICAgICAgICAgKHBjYXNlICcoOmFiICgxIDIpKQorICAgICAgICAgICAg
ICAgICAgICgoY2wtbGFtYmRhICgma2V5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICgoOmFiIGAoLGEgLGIpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCg6Y2Qg
KGNsLWxhbWJkYSAoICZ3aG9sZSBjZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJmtleQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKGMgODggYy1zdXBwKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKCg6ZCBkKSA5OSBkLXN1cHApKSkpCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAobGlzdCA6YyA3NyA6ZSAnc2hvdWxkLWlnbm9yZQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmFsbG93LW90aGVyLWtleXMg
dCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNkLXN1cHApKSkKKyAgICAgICAg
ICAgICAgICAgICAgKGxpc3QgYSBiIGNkIGNkLXN1cHAgYyBjLXN1cHAgZCBkLXN1cHApKSkpKQor
CisgIChzaG91bGQgKGVxdWFsIG5pbAorICAgICAgICAgICAgICAgICAocGNhc2UgJyg6YWIgKDEg
MikpCisgICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKCZrZXkKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKCg6YWIgYCgsYSAsYikpKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAoKDpjZCAoY2wtbGFtYmRhICggJndob2xlIGNkCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAma2V5CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYyA4OCBjLXN1cHApCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKDpkIGQpIDk5IGQt
c3VwcCkpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaXN0IDpjIDc3IDpl
ICdzaG91bGQtZmFpbCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNkLXN1cHAp
KSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGNkIGNkLXN1cHAgYyBjLXN1cHAgZCBk
LXN1cHApKSkpKSkKKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3RzLWNsLWxhbWJkYS0mYXV4LXNo
b3VsZC1lcnJvciAoKQorICAiYCZhdXgnIGNhbm5vdCBiZSB1c2VkIGFmdGVyIGAmYXV4Jy4iCisg
IChzaG91bGQtZXJyb3IgKHBjYXNlIG5pbAorICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEg
KCZhdXggYSAmYXV4IGIpKQorICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYikpKQorICAgICAg
ICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2UtbGFtYmRhLWxpc3QtYmFkLWxhbWJkYS1saXN0KSkK
KworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3RzLWNsLWxhbWJkYS0mYXV4ICgpCisgIChzaG91bGQg
KGVxdWFsIChsaXN0IDEgMiBuaWwgbmlsKQorICAgICAgICAgICAgICAgICAocGNhc2UgbmlsCisg
ICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKCZhdXggKGEgMSkgKGIgMikgKGMpIGQpKQor
ICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYyBkKSkpKSkKKworICAoc2hvdWxkIChlcXVh
bCAobGlzdCAwIDEgMiBuaWwgbmlsKQorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgMCkK
KyAgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoejAgJmF1eCAoYSAxKSAoYiAyKSAoYykg
ZCkpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IHowIGEgYiBjIGQpKSkpKSkKKworKGVydC1k
ZWZ0ZXN0IHBjYXNlLXRlc3RzLWNsLWxhbWJkYS0mYXV4LXN1Yi1wYXR0ZXJucyAoKQorICAoc2hv
dWxkIChlcXVhbCAobGlzdCAxIDIpCisgICAgICAgICAgICAgICAgIChwY2FzZSBuaWwKKyAgICAg
ICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoJmF1eCAoYCgsYSAsYikgKGxpc3QgMSAyKSkpKQor
ICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgKSkpKSkpCisKKyhlcnQtZGVmdGVzdCBwY2Fz
ZS10ZXN0cy1jbC1sYW1iZGEtYWxsICgpCisgIChzaG91bGQgKGVxdWFsICcoMSAyIDMgNCA1ICg6
azEgMTExIDprMiAyMjIpIDExMSAyMjIgMzMzIDQ0NCkKKyAgICAgICAgICAgICAgICAgKHBjYXNl
IChsaXN0IDEgMiAzIDQgNSA6azEgMTExIDprMiAyMjIpCisgICAgICAgICAgICAgICAgICAgKChj
bC1sYW1iZGEgKCBhIGIgYworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm9wdGlv
bmFsIGQgZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnJlc3QgcgorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmtleSBrMSBrMgorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJmF1eCAoeDEgMzMzKSAoeDIgNDQ0KSkpCisgICAgICAgICAgICAgICAg
ICAgIChsaXN0IGEgYiBjIGQgZSByIGsxIGsyIHgxIHgyKSkpKSkpCisKIDs7OyBwY2FzZS10ZXN0
cy5lbCBlbmRzIGhlcmUuCi0tIAoyLjM0LjEKCg==

--b1_TJ92SD8NGM37oLvDrnzOJ5ksQWEvU5jEnoHfJPwkcjE--





Acknowledgement sent to Okamsn <okamsn@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#67611; 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, 20 Jan 2024 12:30:02 UTC

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