GNU bug report logs - #79160
[PATCH] Allow borders to be any alpha, independently of frame alpha

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; Reported by: Garklein <garklein97@HIDDEN>; Keywords: patch; dated Sun, 3 Aug 2025 02:20:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

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


Received: (at 79160) by debbugs.gnu.org; 18 Oct 2025 08:15:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Oct 18 04:15:31 2025
Received: from localhost ([127.0.0.1]:37767 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vA266-0005Hc-Fs
	for submit <at> debbugs.gnu.org; Sat, 18 Oct 2025 04:15:31 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:43774)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1vA264-000563-8n
 for 79160 <at> debbugs.gnu.org; Sat, 18 Oct 2025 04:15:28 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1vA25y-0006u7-PD; Sat, 18 Oct 2025 04:15:22 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=r3XQarPevqjnZHyBCMwAdwIqU4SkRbc4HD59pQwLGe0=; b=Xet79+fCub3TiGQIH9EB
 5ilhixiE/UaJ6PU6iEtBMt3up3cl6yOp9MRZ+TU9d8NJ6zh8Z5w2X+FeRYFZzicTLxFb/oqEQ+xCE
 M9Wb69YEoRzPOGUVXXQIhzASVIHKpsft5UqMY7UWxxWzsbH3d1++mkjlNL908cxNHBY60UFmxtCxu
 gSrhyaW/bcfaUF65yRTLxeX9xzQs9jqjaYra4CaVbyaCeU5/kX71qLUCdhEgYZW8CSKyN6Aex03fd
 UTzX1Pkn3HOAxqXrOIq1Ltf1Kd3jhxC31o5HYBBTrM7Ki2yKsPOODOD886U8B4jSRYv4LPTdcDiiP
 ZKEim6E9IUeRuA==;
Date: Sat, 18 Oct 2025 11:15:18 +0300
Message-Id: <86y0p8eicp.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: luangruo@HIDDEN, Garklein <garklein97@HIDDEN>
In-Reply-To: <CALp=Ckkxk7jEg-ahag7cumyqO-jh-Lyb7NLUPSDbw_s0RG7OTw@HIDDEN>
 (message from Garklein on Fri, 3 Oct 2025 15:14:24 -0400)
Subject: Re: bug#79160: [PATCH] Allow borders to be any alpha, independently
 of frame alpha
References: <CALp=Ckncan4WXAgF4DvBR--64B51zkTLMuKoBFSLO6CObUbvJQ@HIDDEN>
 <86v7mwlm6n.fsf@HIDDEN> <86plcmb7ag.fsf@HIDDEN> <86h5xgggc2.fsf@HIDDEN>
 <CALp=Ckkxk7jEg-ahag7cumyqO-jh-Lyb7NLUPSDbw_s0RG7OTw@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 79160
Cc: 79160 <at> debbugs.gnu.org, waylandthrowaway@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 (---)

Ping!

> From: Garklein <garklein97@HIDDEN>
> Date: Fri, 3 Oct 2025 15:14:24 -0400
> Cc: luangruo@HIDDEN, 79160 <at> debbugs.gnu.org, waylandthrowaway@HIDDEN
> 
> Hello, any progress on this?
> 
> On Sat, Sep 6, 2025 at 4:01 AM Eli Zaretskii <eliz@HIDDEN> wrote:
> 
>  Ping! Ping!  Po Lu, are you there?
> 
>  > Cc: garklein97@HIDDEN, 79160 <at> debbugs.gnu.org, waylandthrowaway@HIDDEN
>  > Date: Sat, 23 Aug 2025 14:34:47 +0300
>  > From: Eli Zaretskii <eliz@HIDDEN>
>  > 
>  > Ping!  Po Lu, could you please respond?
>  > 
>  > > Cc: 79160 <at> debbugs.gnu.org
>  > > Date: Sat, 09 Aug 2025 15:22:08 +0300
>  > > From: Eli Zaretskii <eliz@HIDDEN>
>  > > 
>  > > > From: Garklein <garklein97@HIDDEN>
>  > > > Date: Sat, 2 Aug 2025 22:18:34 -0400
>  > > > 
>  > > > This patch replaces my previous borders-respect-alpha-background frame parameter with an
>  alpha-borders
>  > > > frame parameter, which lets users set the alpha of borders to whatever they desire.
>  > > > 
>  > > > Most of the changes are just changing boolean respect_alpha_background parameters to
>  double alpha
>  > > > parameters. respect_alpha_background=true gets replaced with f->alpha_background, and
>  > > > respect_alpha_background=false gets replaced with 1.0 (opaque).
>  > > > 
>  > > > I have tested both the GTK3 and PGTK builds.
>  > > > 
>  > > > One detail I noticed (prior to this patch) is that on X, internal borders are opaque. However, on
>  PGTK,
>  > > > internal borders take on the alpha-background opacity. Is this intentional? If not, I'm happy to fix
>  it.
>  > > 
>  > > Thanks.  Po Lu, could you take a look, please?
>  > > 
>  > > 
>  > > 
>  > > 
>  > 
>  > 
>  > 
>  > 




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

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


Received: (at 79160) by debbugs.gnu.org; 16 Oct 2025 12:17:53 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 16 08:17:53 2025
Received: from localhost ([127.0.0.1]:34670 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1v9MvV-0000T7-47
	for submit <at> debbugs.gnu.org; Thu, 16 Oct 2025 08:17:53 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:49994)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1v9MvK-0000Rq-CJ
 for 79160 <at> debbugs.gnu.org; Thu, 16 Oct 2025 08:17:39 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1v9MvD-0008LM-Dy; Thu, 16 Oct 2025 08:17:31 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=hMXCcymH+3fqt8McaNdK2cDe+4INIMm2Z/ayoYxVxFE=; b=sfFSQMH/2+yf
 TOBYFVwfdweTPyCXDPqEjXS5SX7oJqiV0GZwyHOI0URoBP1+IN6BhYuH/CttTaaohd+lXUamHTnMv
 Cuva1ODzHPB4LMXlgQKZCYH+v76YiRBCI55OMG3UVA0pRou4KdoeCo4tml7Ku/D4QYQdM5u+KxCZ8
 8yjNAGR6G47aaDZtJihsj7k8HsCRe43pifKDglhpSmYkmcPp5+APOOpJ6WK6tRa5S/JRLdS5BJ/jY
 pZJmZhpnjbrq0vtPTH3iFZu36+iPdAAOjuNL95smfdj3dhO3jyJQKkH1g46MZo9Lx9qv0oswe2uQo
 MSNyA6UvvKM2jxnWVGpB1w==;
Date: Thu, 16 Oct 2025 15:17:25 +0300
Message-Id: <86ms5ravmy.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Garklein <garklein97@HIDDEN>
In-Reply-To: <CALp=CknD2_rO-j916c3v20+1etAStn3XuF4MH+Z_xRJi+iSehg@HIDDEN>
 (message from Garklein on Thu, 16 Oct 2025 07:13:53 -0400)
Subject: Re: bug#79160: [PATCH] Allow borders to be any alpha, independently
 of frame alpha
References: <CALp=Ckncan4WXAgF4DvBR--64B51zkTLMuKoBFSLO6CObUbvJQ@HIDDEN>
 <86v7mwlm6n.fsf@HIDDEN> <86plcmb7ag.fsf@HIDDEN> <86h5xgggc2.fsf@HIDDEN>
 <CALp=Ckkxk7jEg-ahag7cumyqO-jh-Lyb7NLUPSDbw_s0RG7OTw@HIDDEN>
 <CALp=CknD2_rO-j916c3v20+1etAStn3XuF4MH+Z_xRJi+iSehg@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 79160
Cc: luangruo@HIDDEN, 79160 <at> debbugs.gnu.org, waylandthrowaway@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 (---)

> From: Garklein <garklein97@HIDDEN>
> Date: Thu, 16 Oct 2025 07:13:53 -0400
> Cc: luangruo@HIDDEN, 79160 <at> debbugs.gnu.org, waylandthrowaway@HIDDEN
> 
> Hi Eli, is there anybody else familiar with X backends that could review this code?

If there are, they are all reading this list.




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

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


Received: (at 79160) by debbugs.gnu.org; 16 Oct 2025 11:14:19 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 16 07:14:19 2025
Received: from localhost ([127.0.0.1]:34567 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1v9Lw2-0002oh-DN
	for submit <at> debbugs.gnu.org; Thu, 16 Oct 2025 07:14:18 -0400
Received: from mail-ej1-x633.google.com ([2a00:1450:4864:20::633]:46308)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <garklein97@HIDDEN>)
 id 1v9Lvv-0002oG-7Q
 for 79160 <at> debbugs.gnu.org; Thu, 16 Oct 2025 07:14:14 -0400
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-b3b3a6f4dd4so107260766b.0
 for <79160 <at> debbugs.gnu.org>; Thu, 16 Oct 2025 04:14:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1760613245; x=1761218045; 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=oArAvap8go81jDNPLCWbeHUBTnHFT0w7KLCsQkeKFXI=;
 b=PJaGZoVmfIe1HUKEBlUUh87JYrpZhclKlvnJEtixjCDZTX/2J3+MhxR3V2kL/1IVDz
 8/Rer/yqLcQslAKY2rd+16pIYA2ztqxVSRIUVEtCW2RY8IJq/MYq6FUgoBP7S91lJhr1
 2/8EVkl/3h0J51r41orCy5pMwz3uIVsN0jARE+LJm5G+eMKoNYyKmdTrycfj97bwYSKd
 HuI6V8JkRDXh6/AhCeV6MirWr37/sWeqVIBipvP2VDO1afW5E2/Rqpt7iW6ujzrd/AJB
 9uD5ai9aVvegZO2qoGbbRsync1zVStikPUD9UUYLzBV/nGUSXuOC6QOL/bjv75glRy4u
 PwDA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1760613245; x=1761218045;
 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=oArAvap8go81jDNPLCWbeHUBTnHFT0w7KLCsQkeKFXI=;
 b=Fpjf9jIi/Xpk9XTWgIBidRkKs/4HwF5GG/eijM5USUYjMBniWjuTLEU7HBgTiPuMT0
 f24cXH4C2znEN7l7b+ovZzlygEkqlh7iZBqju9vE2F4TGFKAWlLb1s7Kmn6bFFE9uRfb
 FgzGZ9nudVob/Uhr54B3Sp7bQSkTcx6GZGnWKke/Nl321uwDf7uMsxy+kzawkqRDNL2M
 JDQbgAedAzCgW7IRcXcYaPGyZ/gEQhI7rMZGzQ9KR3ccDTM356IQbEG01aiBafcnubWO
 b/9Wuu6uZfAbtwdm6CYKfPQ0m6AMJFUbGKCVJMro3iEg0kYOtoNevP0E5Vn/2px8d3BA
 q3DQ==
X-Forwarded-Encrypted: i=1;
 AJvYcCWilaJiNjPxmTYramQg0GxEnvBY8+veDB/sbozvT6Av1TM9LeTe/3/NDKWVEWCSS3YS5ZPJkw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yxaj7GlC5xJm0XKw3KAq+gMFsbTcSMWUrYNOaz548Jr+d8nX60z
 hL1Kq0UyBl8LuUhHko8LGBVU3l4LZ38LSmokNn3oO38vRIYdRV9ejPYMqFOvDD8TO/Qmr2NHzL4
 4RHzzNxATS2t7vNG/kgUtu8lBBH8l9BA=
X-Gm-Gg: ASbGncvdegEWXtO/Wyxp2RskFLx2X87CVvNY73SSzAIBl6C5H79c/UK2jE7hqa/UN1L
 4GZmZlRbsFzwkQJV14siAZ2uM3KcF9DEtCDKTNY3sw+32EZ4HmbJmRKrb0bpSt/GljNIcrDMmBP
 /ZMVTgHf0VSfaw1RNaHn88ciUZ2Bq+rFDxhrH47xGF2+Ssv5Obw2jMKy6Eu+YUIpb44f/KG6AiX
 nTtd4cnfh8mphtiXEUlNr79dWq3ITfNre+2SpRoTYO8JCAoAraPI8ErDbiAT9AkD/P5fKzN0N+9
 VYd6Qn3rZvO86cPWfw==
X-Google-Smtp-Source: AGHT+IH7OxBQmYbm78FImhTgfIP9T76qVcGh2Bl1IY8ESQprlE4bywU+Fypc+uQWlSpvgQDLlEbm3NQryO991lphvD4=
X-Received: by 2002:a17:907:3e0e:b0:b45:27e0:7f35 with SMTP id
 a640c23a62f3a-b50ac7d4807mr3793748266b.46.1760613244389; Thu, 16 Oct 2025
 04:14:04 -0700 (PDT)
MIME-Version: 1.0
References: <CALp=Ckncan4WXAgF4DvBR--64B51zkTLMuKoBFSLO6CObUbvJQ@HIDDEN>
 <86v7mwlm6n.fsf@HIDDEN> <86plcmb7ag.fsf@HIDDEN> <86h5xgggc2.fsf@HIDDEN>
 <CALp=Ckkxk7jEg-ahag7cumyqO-jh-Lyb7NLUPSDbw_s0RG7OTw@HIDDEN>
In-Reply-To: <CALp=Ckkxk7jEg-ahag7cumyqO-jh-Lyb7NLUPSDbw_s0RG7OTw@HIDDEN>
From: Garklein <garklein97@HIDDEN>
Date: Thu, 16 Oct 2025 07:13:53 -0400
X-Gm-Features: AS18NWDyIPFF1h9VbBVDLNJm2hBPgb5p5_UW3xdN_xpOkLEsPa0egE_JOlT6lo0
Message-ID: <CALp=CknD2_rO-j916c3v20+1etAStn3XuF4MH+Z_xRJi+iSehg@HIDDEN>
Subject: Re: bug#79160: [PATCH] Allow borders to be any alpha, independently
 of frame alpha
To: Eli Zaretskii <eliz@HIDDEN>
Content-Type: multipart/alternative; boundary="00000000000004cb85064144b77e"
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 
 Content preview:  Hi Eli, is there anybody else familiar with X backends that
    could review this code? On Fri, Oct 3, 2025 at 3:14 PM Garklein wrote:
   > Hello, any progress on this? > > On Sat, Sep 6, 2025 at 4:01 AM Eli Zaretskii
    wrote: > >> Ping! Ping! Po Lu, are you there? >> >> > Cc: garklein97@HIDDEN,
    79160 <at> debbugs.gnu.org, >> waylandthr [...] 
 
 Content analysis details:   (1.3 points, 10.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
  0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends
                             in digit (garklein97[at]gmail.com)
  0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
                             provider (garklein97[at]gmail.com)
 -0.0 SPF_PASS               SPF: sender matches SPF record
  0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
  0.0 HTML_MESSAGE           BODY: HTML included in message
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
                              no trust
                             [2a00:1450:4864:20:0:0:0:633 listed in]
                             [list.dnswl.org]
  1.0 FREEMAIL_REPLY         From and body contain different freemails
X-Debbugs-Envelope-To: 79160
Cc: luangruo@HIDDEN, 79160 <at> debbugs.gnu.org, waylandthrowaway@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.7 (/)

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

Hi Eli, is there anybody else familiar with X backends that could review
this code?

On Fri, Oct 3, 2025 at 3:14=E2=80=AFPM Garklein <garklein97@HIDDEN> wrot=
e:

> Hello, any progress on this?
>
> On Sat, Sep 6, 2025 at 4:01=E2=80=AFAM Eli Zaretskii <eliz@HIDDEN> wrote=
:
>
>> Ping! Ping!  Po Lu, are you there?
>>
>> > Cc: garklein97@HIDDEN, 79160 <at> debbugs.gnu.org,
>> waylandthrowaway@HIDDEN
>> > Date: Sat, 23 Aug 2025 14:34:47 +0300
>> > From: Eli Zaretskii <eliz@HIDDEN>
>> >
>> > Ping!  Po Lu, could you please respond?
>> >
>> > > Cc: 79160 <at> debbugs.gnu.org
>> > > Date: Sat, 09 Aug 2025 15:22:08 +0300
>> > > From: Eli Zaretskii <eliz@HIDDEN>
>> > >
>> > > > From: Garklein <garklein97@HIDDEN>
>> > > > Date: Sat, 2 Aug 2025 22:18:34 -0400
>> > > >
>> > > > This patch replaces my previous borders-respect-alpha-background
>> frame parameter with an alpha-borders
>> > > > frame parameter, which lets users set the alpha of borders to
>> whatever they desire.
>> > > >
>> > > > Most of the changes are just changing boolean
>> respect_alpha_background parameters to double alpha
>> > > > parameters. respect_alpha_background=3Dtrue gets replaced with
>> f->alpha_background, and
>> > > > respect_alpha_background=3Dfalse gets replaced with 1.0 (opaque).
>> > > >
>> > > > I have tested both the GTK3 and PGTK builds.
>> > > >
>> > > > One detail I noticed (prior to this patch) is that on X, internal
>> borders are opaque. However, on PGTK,
>> > > > internal borders take on the alpha-background opacity. Is this
>> intentional? If not, I'm happy to fix it.
>> > >
>> > > Thanks.  Po Lu, could you take a look, please?
>> > >
>> > >
>> > >
>> > >
>> >
>> >
>> >
>> >
>>
>

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

<div dir=3D"ltr">Hi Eli, is there anybody else familiar with X backends tha=
t could review this code?</div><br><div class=3D"gmail_quote gmail_quote_co=
ntainer"><div dir=3D"ltr" class=3D"gmail_attr">On Fri, Oct 3, 2025 at 3:14=
=E2=80=AFPM Garklein &lt;<a href=3D"mailto:garklein97@HIDDEN">garklein97=
@gmail.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=
=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding=
-left:1ex"><div dir=3D"ltr"><div>Hello, any progress on this?</div></div><b=
r><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Sat, =
Sep 6, 2025 at 4:01=E2=80=AFAM Eli Zaretskii &lt;<a href=3D"mailto:eliz@gnu=
.org" target=3D"_blank">eliz@HIDDEN</a>&gt; wrote:<br></div><blockquote cl=
ass=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid=
 rgb(204,204,204);padding-left:1ex">Ping! Ping!=C2=A0 Po Lu, are you there?=
<br>
<br>
&gt; Cc: <a href=3D"mailto:garklein97@HIDDEN" target=3D"_blank">garklein=
97@HIDDEN</a>, <a href=3D"mailto:79160 <at> debbugs.gnu.org" target=3D"_blank=
">79160 <at> debbugs.gnu.org</a>, <a href=3D"mailto:waylandthrowaway@HIDDEN" =
target=3D"_blank">waylandthrowaway@HIDDEN</a><br>
&gt; Date: Sat, 23 Aug 2025 14:34:47 +0300<br>
&gt; From: Eli Zaretskii &lt;<a href=3D"mailto:eliz@HIDDEN" target=3D"_bla=
nk">eliz@HIDDEN</a>&gt;<br>
&gt; <br>
&gt; Ping!=C2=A0 Po Lu, could you please respond?<br>
&gt; <br>
&gt; &gt; Cc: <a href=3D"mailto:79160 <at> debbugs.gnu.org" target=3D"_blank">79=
160 <at> debbugs.gnu.org</a><br>
&gt; &gt; Date: Sat, 09 Aug 2025 15:22:08 +0300<br>
&gt; &gt; From: Eli Zaretskii &lt;<a href=3D"mailto:eliz@HIDDEN" target=3D=
"_blank">eliz@HIDDEN</a>&gt;<br>
&gt; &gt; <br>
&gt; &gt; &gt; From: Garklein &lt;<a href=3D"mailto:garklein97@HIDDEN" t=
arget=3D"_blank">garklein97@HIDDEN</a>&gt;<br>
&gt; &gt; &gt; Date: Sat, 2 Aug 2025 22:18:34 -0400<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; This patch replaces my previous borders-respect-alpha-backgr=
ound frame parameter with an alpha-borders<br>
&gt; &gt; &gt; frame parameter, which lets users set the alpha of borders t=
o whatever they desire.<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; Most of the changes are just changing boolean respect_alpha_=
background parameters to double alpha<br>
&gt; &gt; &gt; parameters. respect_alpha_background=3Dtrue gets replaced wi=
th f-&gt;alpha_background, and<br>
&gt; &gt; &gt; respect_alpha_background=3Dfalse gets replaced with 1.0 (opa=
que).<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; I have tested both the GTK3 and PGTK builds.<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; One detail I noticed (prior to this patch) is that on X, int=
ernal borders are opaque. However, on PGTK,<br>
&gt; &gt; &gt; internal borders take on the alpha-background opacity. Is th=
is intentional? If not, I&#39;m happy to fix it.<br>
&gt; &gt; <br>
&gt; &gt; Thanks.=C2=A0 Po Lu, could you take a look, please?<br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; <br>
&gt; <br>
&gt; <br>
&gt; <br>
</blockquote></div>
</blockquote></div>

--00000000000004cb85064144b77e--




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

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


Received: (at 79160) by debbugs.gnu.org; 3 Oct 2025 19:14:49 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Oct 03 15:14:49 2025
Received: from localhost ([127.0.0.1]:45972 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1v4lEu-0001i3-Pa
	for submit <at> debbugs.gnu.org; Fri, 03 Oct 2025 15:14:49 -0400
Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]:53685)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <garklein97@HIDDEN>)
 id 1v4lEq-0001hm-Mo
 for 79160 <at> debbugs.gnu.org; Fri, 03 Oct 2025 15:14:45 -0400
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-637e74e92easo3772232a12.3
 for <79160 <at> debbugs.gnu.org>; Fri, 03 Oct 2025 12:14:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1759518876; x=1760123676; 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=/tY/ohZuFNd6rd3eQMvAaCr5NMdFfMnurVAPF2Qh8eo=;
 b=OKoj2qb/0HE5CSbf/baLDf4aVlEpqOvnwQ0D6NIUz/b65yFczfvo/YefsJkgIxAwo2
 Fl1MxLd0kE8P09gZGtSwvqpPtJDN8BWqsLLzJZkgQS+UYImH70p+NLJi/AwmDI3PUOqk
 Wc1+4KYoBqGKzY91RqcisWFHaiW6ClxiNZVVSQ55ZZuyUdfBRtMS5ZTCXrO5D6guO8g1
 ACJKvGlUO6e2Ik/XAksFatrjhqN8GiKLXD/YEN2lgl8evv09ZPWgVua4nqwC7x+1L1wJ
 F2QUYi2K8fr4UlA8NbofEVMODmXcknaO2EGWqGxYu57ihmIf+DbdeKad6O0oH4rGOslD
 cMcQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1759518876; x=1760123676;
 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=/tY/ohZuFNd6rd3eQMvAaCr5NMdFfMnurVAPF2Qh8eo=;
 b=u2AQ5BPAgKzSXmI/sVMixz3HD92ntT2rqbaSFEF0gpkx9/xdgRouWNOF4yAqmRUW6u
 KMyZolfnBigTTtXImb+n23gc9AL1ft5MnGzcFdhN11wpy38K+Qt4i8EAPSJrzlTjIX6L
 oXKDcCGi8SM42SmbEZMvfmr9pV6IxAvqgMAaRQxEyHr1SN4MFi8LJGQ0sOpwLYUZPt3X
 gAw8GeqxmLEhdpvjhRwl2YuSLJ+2TZS8cpMQcf24vg0+wg4YtdZB1A/iuKw30z43S3kl
 ylu+FNKwO6CRwS1CsOHNNW5y8xcuRbfc6nk8v0tosenXSq6GGxbIjBlQtaRHAVb2BeRZ
 2s3Q==
X-Forwarded-Encrypted: i=1;
 AJvYcCVkTD+N4CjhrTosaynxsgvYDGH/GHnH4WuKRHPk0GOcEwipIPpDdRPAWCK7cTV60ARoxupGVQ==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yz5XThR2yEu9upWuuiriMqJRdi+KUIPNZ/q9z8C4zgDB43GLvIm
 xv9bXHKkTvllhxhkDQDzQnfNvZx8sQh9j69bfd0Ah6npHvtAhTsw77sufGwVpeB9+7c1lt4yIlL
 WKfnONRAVrm5pZSret1SdRHSWnp5ncoM=
X-Gm-Gg: ASbGnct/rcufCB3K7OlEjS74XW5DDIOYFDReQe0UsR9vdZx89GOISEEvnuLzrxTofZe
 6L78jb5qBujN5WQ3sHY0/1qp80LpBuCt00vDZwZQutDsjvnx3pLcZGFXwJ3IQwhIsHDXf3t1IlD
 Yr9JtI/mGTxXgLwf18A34gfbqbAWKrQjvVXj72LMljlnxa62Pc7UKgd52lXQwiZVqehzc2WWVnd
 zWDxZD04ZdEWqcA59Pl6nfqwPqeST4=
X-Google-Smtp-Source: AGHT+IFaT167xLDHK4qvz8xsf5iJ/P2N/aaFENywjjcVZLaDOx4ZpQyws0WbmbwXU7Jg0Ez55CGCBt2U7fpGpVTiQ3A=
X-Received: by 2002:a17:907:994d:b0:b4a:f6c3:7608 with SMTP id
 a640c23a62f3a-b4af6c37653mr127625866b.3.1759518876327; Fri, 03 Oct 2025
 12:14:36 -0700 (PDT)
MIME-Version: 1.0
References: <CALp=Ckncan4WXAgF4DvBR--64B51zkTLMuKoBFSLO6CObUbvJQ@HIDDEN>
 <86v7mwlm6n.fsf@HIDDEN> <86plcmb7ag.fsf@HIDDEN> <86h5xgggc2.fsf@HIDDEN>
In-Reply-To: <86h5xgggc2.fsf@HIDDEN>
From: Garklein <garklein97@HIDDEN>
Date: Fri, 3 Oct 2025 15:14:24 -0400
X-Gm-Features: AS18NWAFssEh4wjSGyPlRv5KAOYp3xwtYg022BfQatWkTSD8KNyb789qMJEbytU
Message-ID: <CALp=Ckkxk7jEg-ahag7cumyqO-jh-Lyb7NLUPSDbw_s0RG7OTw@HIDDEN>
Subject: Re: bug#79160: [PATCH] Allow borders to be any alpha, independently
 of frame alpha
To: Eli Zaretskii <eliz@HIDDEN>
Content-Type: multipart/alternative; boundary="0000000000009961a5064045e903"
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 
 Content preview:  Hello, any progress on this? On Sat, Sep 6, 2025 at 4:01 AM
    Eli Zaretskii wrote: > Ping! Ping! Po Lu, are you there? > > > Cc: garklein97@HIDDEN,
    79160 <at> debbugs.gnu.org, > waylandthrowaway@HIDDEN > > Date: Sat, 23 Aug
    2025 14:34:47 +0300 > > From: Eli Zaretskii > > > > Ping [...] 
 
 Content analysis details:   (1.3 points, 10.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
                              no trust
                             [2a00:1450:4864:20:0:0:0:52f listed in]
                             [list.dnswl.org]
  0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends
                             in digit (garklein97[at]gmail.com)
 -0.0 SPF_PASS               SPF: sender matches SPF record
  0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
                             provider (garklein97[at]gmail.com)
  0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
  0.0 HTML_MESSAGE           BODY: HTML included in message
  1.0 FREEMAIL_REPLY         From and body contain different freemails
X-Debbugs-Envelope-To: 79160
Cc: luangruo@HIDDEN, 79160 <at> debbugs.gnu.org, waylandthrowaway@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.7 (/)

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

Hello, any progress on this?

On Sat, Sep 6, 2025 at 4:01=E2=80=AFAM Eli Zaretskii <eliz@HIDDEN> wrote:

> Ping! Ping!  Po Lu, are you there?
>
> > Cc: garklein97@HIDDEN, 79160 <at> debbugs.gnu.org,
> waylandthrowaway@HIDDEN
> > Date: Sat, 23 Aug 2025 14:34:47 +0300
> > From: Eli Zaretskii <eliz@HIDDEN>
> >
> > Ping!  Po Lu, could you please respond?
> >
> > > Cc: 79160 <at> debbugs.gnu.org
> > > Date: Sat, 09 Aug 2025 15:22:08 +0300
> > > From: Eli Zaretskii <eliz@HIDDEN>
> > >
> > > > From: Garklein <garklein97@HIDDEN>
> > > > Date: Sat, 2 Aug 2025 22:18:34 -0400
> > > >
> > > > This patch replaces my previous borders-respect-alpha-background
> frame parameter with an alpha-borders
> > > > frame parameter, which lets users set the alpha of borders to
> whatever they desire.
> > > >
> > > > Most of the changes are just changing boolean
> respect_alpha_background parameters to double alpha
> > > > parameters. respect_alpha_background=3Dtrue gets replaced with
> f->alpha_background, and
> > > > respect_alpha_background=3Dfalse gets replaced with 1.0 (opaque).
> > > >
> > > > I have tested both the GTK3 and PGTK builds.
> > > >
> > > > One detail I noticed (prior to this patch) is that on X, internal
> borders are opaque. However, on PGTK,
> > > > internal borders take on the alpha-background opacity. Is this
> intentional? If not, I'm happy to fix it.
> > >
> > > Thanks.  Po Lu, could you take a look, please?
> > >
> > >
> > >
> > >
> >
> >
> >
> >
>

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

<div dir=3D"ltr"><div>Hello, any progress on this?</div></div><br><div clas=
s=3D"gmail_quote gmail_quote_container"><div dir=3D"ltr" class=3D"gmail_att=
r">On Sat, Sep 6, 2025 at 4:01=E2=80=AFAM Eli Zaretskii &lt;<a href=3D"mail=
to:eliz@HIDDEN">eliz@HIDDEN</a>&gt; wrote:<br></div><blockquote class=3D"=
gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(20=
4,204,204);padding-left:1ex">Ping! Ping!=C2=A0 Po Lu, are you there?<br>
<br>
&gt; Cc: <a href=3D"mailto:garklein97@HIDDEN" target=3D"_blank">garklein=
97@HIDDEN</a>, <a href=3D"mailto:79160 <at> debbugs.gnu.org" target=3D"_blank=
">79160 <at> debbugs.gnu.org</a>, <a href=3D"mailto:waylandthrowaway@HIDDEN" =
target=3D"_blank">waylandthrowaway@HIDDEN</a><br>
&gt; Date: Sat, 23 Aug 2025 14:34:47 +0300<br>
&gt; From: Eli Zaretskii &lt;<a href=3D"mailto:eliz@HIDDEN" target=3D"_bla=
nk">eliz@HIDDEN</a>&gt;<br>
&gt; <br>
&gt; Ping!=C2=A0 Po Lu, could you please respond?<br>
&gt; <br>
&gt; &gt; Cc: <a href=3D"mailto:79160 <at> debbugs.gnu.org" target=3D"_blank">79=
160 <at> debbugs.gnu.org</a><br>
&gt; &gt; Date: Sat, 09 Aug 2025 15:22:08 +0300<br>
&gt; &gt; From: Eli Zaretskii &lt;<a href=3D"mailto:eliz@HIDDEN" target=3D=
"_blank">eliz@HIDDEN</a>&gt;<br>
&gt; &gt; <br>
&gt; &gt; &gt; From: Garklein &lt;<a href=3D"mailto:garklein97@HIDDEN" t=
arget=3D"_blank">garklein97@HIDDEN</a>&gt;<br>
&gt; &gt; &gt; Date: Sat, 2 Aug 2025 22:18:34 -0400<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; This patch replaces my previous borders-respect-alpha-backgr=
ound frame parameter with an alpha-borders<br>
&gt; &gt; &gt; frame parameter, which lets users set the alpha of borders t=
o whatever they desire.<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; Most of the changes are just changing boolean respect_alpha_=
background parameters to double alpha<br>
&gt; &gt; &gt; parameters. respect_alpha_background=3Dtrue gets replaced wi=
th f-&gt;alpha_background, and<br>
&gt; &gt; &gt; respect_alpha_background=3Dfalse gets replaced with 1.0 (opa=
que).<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; I have tested both the GTK3 and PGTK builds.<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; One detail I noticed (prior to this patch) is that on X, int=
ernal borders are opaque. However, on PGTK,<br>
&gt; &gt; &gt; internal borders take on the alpha-background opacity. Is th=
is intentional? If not, I&#39;m happy to fix it.<br>
&gt; &gt; <br>
&gt; &gt; Thanks.=C2=A0 Po Lu, could you take a look, please?<br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; <br>
&gt; <br>
&gt; <br>
&gt; <br>
</blockquote></div>

--0000000000009961a5064045e903--




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

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


Received: (at 79160) by debbugs.gnu.org; 6 Sep 2025 08:01:36 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Sep 06 04:01:36 2025
Received: from localhost ([127.0.0.1]:33758 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uunrb-0000Za-Su
	for submit <at> debbugs.gnu.org; Sat, 06 Sep 2025 04:01:36 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:54452)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1uunrY-0000ZI-Ii
 for 79160 <at> debbugs.gnu.org; Sat, 06 Sep 2025 04:01:32 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1uunrR-0006Wn-0Z; Sat, 06 Sep 2025 04:01:25 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=29p7h5sl2eeiOnyC+MiDQogMP7zj4RrinXzqE34nNf8=; b=U/N/OXTvfn+u
 1kcWQbjTnYWzt1I6Gr0EoHsT/1WdIpNcevGFuBQmxyLvjKuS3hkeGD10h3S1zFSLIaN9p7l/NOMqZ
 JDUy9joxm+z945AV0ObIaLAgssLFjavZU2E/+BkXwtxTy9X7BRCSdp7XE3R2WnABDO4MujMFkSNTd
 oPnX2iGOLzNF+xj70DGDI63qnNDa06gdSLlht3L3aebFjCr/9mzgbVaThqWfiPvAsYs/YW6rYkLni
 XX5U8OrwQpv2jNy9f8E9kQTSbbSmCQAmyDfV22sDV4EAAzaii3+PPFDKRagErgtsE5MnAbb/9DRth
 mIh/cJ8WG36J743BI/a9sg==;
Date: Sat, 06 Sep 2025 11:01:17 +0300
Message-Id: <86h5xgggc2.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: luangruo@HIDDEN, garklein97@HIDDEN
In-Reply-To: <86plcmb7ag.fsf@HIDDEN> (message from Eli Zaretskii on Sat, 23
 Aug 2025 14:34:47 +0300)
Subject: Re: bug#79160: [PATCH] Allow borders to be any alpha,
 independently of frame alpha
References: <CALp=Ckncan4WXAgF4DvBR--64B51zkTLMuKoBFSLO6CObUbvJQ@HIDDEN>
 <86v7mwlm6n.fsf@HIDDEN> <86plcmb7ag.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 79160
Cc: 79160 <at> debbugs.gnu.org, waylandthrowaway@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 (---)

Ping! Ping!  Po Lu, are you there?

> Cc: garklein97@HIDDEN, 79160 <at> debbugs.gnu.org, waylandthrowaway@HIDDEN
> Date: Sat, 23 Aug 2025 14:34:47 +0300
> From: Eli Zaretskii <eliz@HIDDEN>
> 
> Ping!  Po Lu, could you please respond?
> 
> > Cc: 79160 <at> debbugs.gnu.org
> > Date: Sat, 09 Aug 2025 15:22:08 +0300
> > From: Eli Zaretskii <eliz@HIDDEN>
> > 
> > > From: Garklein <garklein97@HIDDEN>
> > > Date: Sat, 2 Aug 2025 22:18:34 -0400
> > > 
> > > This patch replaces my previous borders-respect-alpha-background frame parameter with an alpha-borders
> > > frame parameter, which lets users set the alpha of borders to whatever they desire.
> > > 
> > > Most of the changes are just changing boolean respect_alpha_background parameters to double alpha
> > > parameters. respect_alpha_background=true gets replaced with f->alpha_background, and
> > > respect_alpha_background=false gets replaced with 1.0 (opaque).
> > > 
> > > I have tested both the GTK3 and PGTK builds.
> > > 
> > > One detail I noticed (prior to this patch) is that on X, internal borders are opaque. However, on PGTK,
> > > internal borders take on the alpha-background opacity. Is this intentional? If not, I'm happy to fix it.
> > 
> > Thanks.  Po Lu, could you take a look, please?
> > 
> > 
> > 
> > 
> 
> 
> 
> 




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

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


Received: (at 79160) by debbugs.gnu.org; 23 Aug 2025 11:34:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Aug 23 07:34:58 2025
Received: from localhost ([127.0.0.1]:38867 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1upmWP-0002VV-IW
	for submit <at> debbugs.gnu.org; Sat, 23 Aug 2025 07:34:58 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:43986)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1upmWN-0002VC-V9
 for 79160 <at> debbugs.gnu.org; Sat, 23 Aug 2025 07:34:56 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1upmWI-0002pd-I1; Sat, 23 Aug 2025 07:34:50 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=ZKpUc0l+OSPgPCXEUnNOyED8V6DazkXRl+iyj1StFlk=; b=LnEHWkjkmBcv
 IEouIO2bOr4JbMVG0QEKLecZM6si4kNmdCY3wk+sLXmVhbJ4d5EOTP6SUEl+T9ydXgwfgmzMcyMhc
 5tCn8FZ1R/OFjyM75VBA85pr8/8ByYuJYjMcPSc7KSk+aMF/sXvaQCdjgd4xKTpN5DYaUInj0BPAC
 NscgXi1tnMQCzGAvKKUUa9XevqtIrrSLjv9VwdbMlQjmf5pbKLs+dFO8IwPNHPi7ZFP3Lze1vKTSQ
 D+/LtRYkTF2HywinqRS/3yO4LIbcJ7bYGeFUNchVP1jNx3G5z568X0rS9KprNCCkXzldgyvg6Y2cR
 8JnFNDQpIbXaNaOR1Z2HFg==;
Date: Sat, 23 Aug 2025 14:34:47 +0300
Message-Id: <86plcmb7ag.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Po Lu <luangruo@HIDDEN>
In-Reply-To: <86v7mwlm6n.fsf@HIDDEN> (message from Eli Zaretskii on Sat, 09
 Aug 2025 15:22:08 +0300)
Subject: Re: bug#79160: [PATCH] Allow borders to be any alpha,
 independently of frame alpha
References: <CALp=Ckncan4WXAgF4DvBR--64B51zkTLMuKoBFSLO6CObUbvJQ@HIDDEN>
 <86v7mwlm6n.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 79160
Cc: garklein97@HIDDEN, 79160 <at> debbugs.gnu.org, waylandthrowaway@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 (---)

Ping!  Po Lu, could you please respond?

> Cc: 79160 <at> debbugs.gnu.org
> Date: Sat, 09 Aug 2025 15:22:08 +0300
> From: Eli Zaretskii <eliz@HIDDEN>
> 
> > From: Garklein <garklein97@HIDDEN>
> > Date: Sat, 2 Aug 2025 22:18:34 -0400
> > 
> > This patch replaces my previous borders-respect-alpha-background frame parameter with an alpha-borders
> > frame parameter, which lets users set the alpha of borders to whatever they desire.
> > 
> > Most of the changes are just changing boolean respect_alpha_background parameters to double alpha
> > parameters. respect_alpha_background=true gets replaced with f->alpha_background, and
> > respect_alpha_background=false gets replaced with 1.0 (opaque).
> > 
> > I have tested both the GTK3 and PGTK builds.
> > 
> > One detail I noticed (prior to this patch) is that on X, internal borders are opaque. However, on PGTK,
> > internal borders take on the alpha-background opacity. Is this intentional? If not, I'm happy to fix it.
> 
> Thanks.  Po Lu, could you take a look, please?
> 
> 
> 
> 




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

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


Received: (at 79160) by debbugs.gnu.org; 9 Aug 2025 12:22:34 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Aug 09 08:22:34 2025
Received: from localhost ([127.0.0.1]:40620 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ukiao-0002Ef-2R
	for submit <at> debbugs.gnu.org; Sat, 09 Aug 2025 08:22:34 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:41298)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1ukial-0002EI-Ek
 for 79160 <at> debbugs.gnu.org; Sat, 09 Aug 2025 08:22:31 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1ukiaR-0003Iw-8o; Sat, 09 Aug 2025 08:22:23 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=TE0cehDi+61oQJc14crRvke2RTDKDslQ+J5qg/rRfVg=; b=TFyUJN8VSdnq
 H0j+UVnEEp1vOq1yCmxHCmhygZMKJGj8laqb297E+UGu7/IUMSgdpvWjcIeL28dvaf4tT7Gn/7Z1m
 mLGEBlAglAjWtTDRob+onSYRIXHcHdHXvkpNZEC2ZWgbc0kY5+ZvTJxbH9iCMm2QB2mJixBATc7kz
 7M7NsHBKNiavNK12abWf9nlMTXwN4/Z2lnjXWWDUmucndSDf3FIvED/S/u8/pvWAyXEXaAAvCdrZ1
 uJoYfReauE3mflZbt9+KqsglcQ7sc4ElhG3lQ5/gjKpDd2+iig6vgm8mHgAnUlGnkpNmuLC8oktPL
 DS2DGRp0n6Npmt+W+Ahuxw==;
Date: Sat, 09 Aug 2025 15:22:08 +0300
Message-Id: <86v7mwlm6n.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Garklein <garklein97@HIDDEN>,
 Po Lu <luangruo@HIDDEN>, waylandthrowaway@HIDDEN
In-Reply-To: <CALp=Ckncan4WXAgF4DvBR--64B51zkTLMuKoBFSLO6CObUbvJQ@HIDDEN>
 (message from Garklein on Sat, 2 Aug 2025 22:18:34 -0400)
Subject: Re: bug#79160: [PATCH] Allow borders to be any alpha,
 independently of frame alpha
References: <CALp=Ckncan4WXAgF4DvBR--64B51zkTLMuKoBFSLO6CObUbvJQ@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 79160
Cc: 79160 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Garklein <garklein97@HIDDEN>
> Date: Sat, 2 Aug 2025 22:18:34 -0400
> 
> This patch replaces my previous borders-respect-alpha-background frame parameter with an alpha-borders
> frame parameter, which lets users set the alpha of borders to whatever they desire.
> 
> Most of the changes are just changing boolean respect_alpha_background parameters to double alpha
> parameters. respect_alpha_background=true gets replaced with f->alpha_background, and
> respect_alpha_background=false gets replaced with 1.0 (opaque).
> 
> I have tested both the GTK3 and PGTK builds.
> 
> One detail I noticed (prior to this patch) is that on X, internal borders are opaque. However, on PGTK,
> internal borders take on the alpha-background opacity. Is this intentional? If not, I'm happy to fix it.

Thanks.  Po Lu, could you take a look, please?




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

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


Received: (at submit) by debbugs.gnu.org; 3 Aug 2025 02:19:12 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Aug 02 22:19:12 2025
Received: from localhost ([127.0.0.1]:40093 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uiOJY-0002SE-Ql
	for submit <at> debbugs.gnu.org; Sat, 02 Aug 2025 22:19:12 -0400
Received: from lists.gnu.org ([2001:470:142::17]:42694)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <garklein97@HIDDEN>)
 id 1uiOJS-0002R6-QE
 for submit <at> debbugs.gnu.org; Sat, 02 Aug 2025 22:19:06 -0400
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 <garklein97@HIDDEN>)
 id 1uiOJJ-0002cs-BV
 for bug-gnu-emacs@HIDDEN; Sat, 02 Aug 2025 22:18:53 -0400
Received: from mail-ej1-x62c.google.com ([2a00:1450:4864:20::62c])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <garklein97@HIDDEN>)
 id 1uiOJE-0000xz-GF
 for bug-gnu-emacs@HIDDEN; Sat, 02 Aug 2025 22:18:53 -0400
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-af910372ab3so678000166b.1
 for <bug-gnu-emacs@HIDDEN>; Sat, 02 Aug 2025 19:18:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1754187525; x=1754792325; darn=gnu.org;
 h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
 :date:message-id:reply-to;
 bh=Q68Yy2EtpNXI7I9I5H1lh936hWgynR8+X2+TjQzNxxw=;
 b=Jb4HhjJ263WsdTnX2GvqcB/ShKWW4G8m6aY4XVZgaaa2I2CBh5XGlwlDx/wBR5EW+9
 Ho6i3E1c5vnnFK9FoDaRHRWVdbXu3DjdKiS/sMYT4trqFRQkM9fG+qNZuwCgQXfbu6S9
 rAnlzcuzshBT60bc5WWGskRrtJ5FHH/olaEPW694RtDJbRQR83OlQcxMfGUoEOk1P56M
 fFEExp6XvlH36sygeqtpk7isuHR5SEa5/lU7X1BsEXgHJ9MGIkkyAlRpKxx2Vlb2XPwF
 pRHKaPUo9bn8P7A9x70FfU+fB4U0YIOK8RqyDE4y+0SRzWndGwsU8RXppjCzYrJTu3rK
 SiKg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1754187525; x=1754792325;
 h=to:subject:message-id:date:from:mime-version:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=Q68Yy2EtpNXI7I9I5H1lh936hWgynR8+X2+TjQzNxxw=;
 b=UTTuyzJkLKpxmKwZiq7rPbuScVJJlftmG9D3G2ysh16sDCuS7yKHPJAHLiMkVipIG5
 HL27vXxfk5R6cuVo4WQcEW2sgJWdw4btYyoezniu/Ht7jADsqQx+OJBIvq1ZsPPWR4/p
 UoAE+5AyXOUQYNsHnRdH2wuE9FB69irozg/qn1lI0LhYxH4MQqvx4bzNYMdL6VoMhbc3
 FEWi7HiCNV9mbsOdGyBtojAeQNnZP8eRPrY7uM/wVGdByxrmN4R+57Aqi9djas1QhPQt
 4t9QKBuzJSWGXWyChEjiIlRQAPbQdRRUFZ2SZx1G51b3kTKmHsD230mUDGuwSpkfaw4F
 o2Hg==
X-Gm-Message-State: AOJu0Yz3CRYwS2s8g4U+kMbZBYYCDArXmr0KYqo7sbPWhg+ChiFhLRx0
 8vmGyCRTY7sMHb2rV+gLz3SuL7F3geqVyOD0bKOrGXVgvN78/9635zmx2kShmxb8l235ae80TQX
 r8wkcCDMkNV04Rv7xYHuaUgCLAK9XMv+cOqgR
X-Gm-Gg: ASbGncttMjH4KuASUZpJAw9lp2RqYaIS11/dC+bSeJri+Wbvx6uojZ+lTfFq7cNXnG5
 /x+QW8XyP6j4Aa4oTwYrEqy3AzA67FBEa+GeyN/p879ZyxG2NiEo4WUR4XZtLHgd8NUq2/WM6Dd
 iF/DXEuMWpDZdXMDfwudyk4tW7buA8oEw4OkrJG1NVFHxZiDm6ct4i1LcKawWIE7LR7B14gKLQk
 EEmiX7KgT53b5f2K5LT/AtlZGaqadBe+v7LTsM4sC6Qg1wrBFEj
X-Google-Smtp-Source: AGHT+IGPQWGb8sh/BPRZhR4jCoEwQf+KG5snL+9A7cIjITN6sFRSsplDlxmk/1rtqHIESwpeEQ3YUelUw0sul3y54OM=
X-Received: by 2002:a17:907:3cd2:b0:af9:3f53:ed1d with SMTP id
 a640c23a62f3a-af9408a1522mr517268566b.16.1754187525402; Sat, 02 Aug 2025
 19:18:45 -0700 (PDT)
MIME-Version: 1.0
From: Garklein <garklein97@HIDDEN>
Date: Sat, 2 Aug 2025 22:18:34 -0400
X-Gm-Features: Ac12FXzEH1UEOFB1NGl86qkKU4AoWpQWl0KBwkrm669ujleES-u8cQ4F02iAYPk
Message-ID: <CALp=Ckncan4WXAgF4DvBR--64B51zkTLMuKoBFSLO6CObUbvJQ@HIDDEN>
Subject: [PATCH] Allow borders to be any alpha, independently of frame alpha
To: bug-gnu-emacs@HIDDEN
Content-Type: multipart/mixed; boundary="0000000000005276c4063b6c9c65"
Received-SPF: pass client-ip=2a00:1450:4864:20::62c;
 envelope-from=garklein97@HIDDEN; helo=mail-ej1-x62c.google.com
X-Spam_score_int: -17
X-Spam_score: -1.8
X-Spam_bar: -
X-Spam_report: (-1.8 / 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_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.2 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: This patch replaces my previous
 borders-respect-alpha-background
 frame parameter with an alpha-borders frame parameter, which lets users set
 the alpha of borders to whatever they desire. Most of the changes are just
 changing boolean respect_alpha_background parameters to double alpha
 parameters.
 respect_alpha_background=true gets replaced with f->alpha_background, and
 respect_alpha_ba [...] 
 Content analysis details:   (1.2 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 1.0 SPF_SOFTFAIL           SPF: sender does not match SPF record (softfail)
 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends
 in digit (garklein97[at]gmail.com)
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
 provider (garklein97[at]gmail.com)
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
 no trust [2001:470:142:0:0:0:0:17 listed in] [list.dnswl.org]
 0.0 HTML_MESSAGE           BODY: HTML included in message
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.2 (/)

--0000000000005276c4063b6c9c65
Content-Type: multipart/alternative; boundary="0000000000005276c3063b6c9c63"

--0000000000005276c3063b6c9c63
Content-Type: text/plain; charset="UTF-8"

This patch replaces my previous borders-respect-alpha-background frame
parameter with an alpha-borders frame parameter, which lets users set the
alpha of borders to whatever they desire.

Most of the changes are just changing boolean respect_alpha_background
parameters to double alpha parameters. respect_alpha_background=true gets
replaced with f->alpha_background, and respect_alpha_background=false gets
replaced with 1.0 (opaque).

I have tested both the GTK3 and PGTK builds.

One detail I noticed (prior to this patch) is that on X, internal borders
are opaque. However, on PGTK, internal borders take on the alpha-background
opacity. Is this intentional? If not, I'm happy to fix it.

Best,
Garklein

In GNU Emacs 30.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.49,
cairo version 1.18.2)
Windowing system distributor 'The X.Org Foundation', version 11.0.12101016
System Description: NixOS 25.11 (Xantusia)

Configured using:
 'configure
 --prefix=/nix/store/xkc0y1ycq86fs24fipcbzkph2acwsjnz-emacs-gtk3-30.1
 --disable-build-details --with-modules --with-x-toolkit=gtk3
 --with-cairo --without-xft --with-compress-install
 --with-toolkit-scroll-bars --with-native-compilation
 --without-imagemagick --with-mailutils --without-small-ja-dic
 --with-tree-sitter --with-xinput2 --without-xwidgets --with-dbus
 --with-selinux'

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

<div dir=3D"ltr"><div>This=C2=A0patch replaces my previous borders-respect-=
alpha-background frame parameter with an alpha-borders frame parameter, whi=
ch lets users set the alpha of borders to whatever they desire.</div><div><=
br></div><div>Most of the changes are just changing boolean respect_alpha_b=
ackground parameters to double alpha parameters. respect_alpha_background=
=3Dtrue gets replaced with f-&gt;alpha_background, and respect_alpha_backgr=
ound=3Dfalse gets replaced with 1.0 (opaque).</div><div><br></div><div>I ha=
ve tested both the GTK3 and PGTK builds.</div><div><br></div><div>One detai=
l I noticed (prior to this patch) is that on X, internal borders are opaque=
. However, on PGTK, internal borders take on the alpha-background opacity. =
Is this intentional? If not, I&#39;m happy to fix it.</div><div><br></div><=
div>Best,</div><div>Garklein</div><div><br></div><div>In GNU Emacs 30.1 (bu=
ild 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.49,<br>cairo version 1.18.2)<=
br>Windowing system distributor &#39;The X.Org Foundation&#39;, version 11.=
0.12101016<br>System Description: NixOS 25.11 (Xantusia)<br><br>Configured =
using:<br>=C2=A0&#39;configure<br>=C2=A0--prefix=3D/nix/store/xkc0y1ycq86fs=
24fipcbzkph2acwsjnz-emacs-gtk3-30.1<br>=C2=A0--disable-build-details --with=
-modules --with-x-toolkit=3Dgtk3<br>=C2=A0--with-cairo --without-xft --with=
-compress-install<br>=C2=A0--with-toolkit-scroll-bars --with-native-compila=
tion<br>=C2=A0--without-imagemagick --with-mailutils --without-small-ja-dic=
<br>=C2=A0--with-tree-sitter --with-xinput2 --without-xwidgets --with-dbus<=
br>=C2=A0--with-selinux&#39;<br><br></div></div>

--0000000000005276c3063b6c9c63--

--0000000000005276c4063b6c9c65
Content-Type: text/x-patch; charset="US-ASCII"; 
	name="0001-Allow-borders-to-be-any-alpha-independently-of-frame.patch"
Content-Disposition: attachment; 
	filename="0001-Allow-borders-to-be-any-alpha-independently-of-frame.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_mdv1whur0>
X-Attachment-Id: f_mdv1whur0

RnJvbSA3NmMxMjY4YjQ3ZDQ3ZjllNzhiZTVmMjQxYTUxZGYxNjk1MDQ3OTVlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHYXJrbGVpbiA8Z2Fya2xlaW45N0BnbWFpbC5jb20+CkRhdGU6
IFNhdCwgMiBBdWcgMjAyNSAyMjowODoxMiAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIEFsbG93IGJv
cmRlcnMgdG8gYmUgYW55IGFscGhhLCBpbmRlcGVuZGVudGx5IG9mIGZyYW1lIGFscGhhCgpUaGUg
cHJldmlvdXMgJ2JvcmRlcnMtcmVzcGVjdC1hbHBoYS1iYWNrZ3JvdW5kJyBmcmFtZSBwYXJhbWV0
ZXIKaXMgcmVwbGFjZWQgYnkgdGhlICdhbHBoYS1ib3JkZXJzJyBmcmFtZSBwYXJhbWV0ZXIuICBU
aGlzCmFsbG93cyBzZXR0aW5nIGJvcmRlciBhbHBoYSB0byBhbnkgb3BhY2l0eSwgaW5kZXBlbmRl
bnQgb2YgdGhlCidhbHBoYS1iYWNrZ3JvdW5kJy4KKiBkb2MvbGlzcHJlZi9mcmFtZXMudGV4aSAo
Rm9udCBhbmQgQ29sb3IgUGFyYW1ldGVycyk6CkRvY3VtZW50IHRoZSBjaGFuZ2UuCiogc3JjL2Zy
YW1lLmMgKGZyYW1lX3Bhcm1fdGFibGUsIHN5bXNfb2ZfZnJhbWUpCihndWlfc2V0X2JvcmRlcnNf
cmVzcGVjdF9hbHBoYV9iYWNrZ3JvdW5kKQooZ3VpX3NldF9hbHBoYV9ib3JkZXJzKToKKiBzcmMv
ZnJhbWUuaCAoc3RydWN0IGZyYW1lKToKKiBzcmMvYW5kcm9pZGZucy5jICh4X2NyZWF0ZV9mcmFt
ZSwgYW5kcm9pZF9jcmVhdGVfdGlwX2ZyYW1lKQooYW5kcm9pZF9mcmFtZV9wYXJtX2hhbmRsZXJz
KToKKiBzcmMvaGFpa3VmbnMuYyAoaGFpa3VfY3JlYXRlX2ZyYW1lLCBoYWlrdV9jcmVhdGVfdGlw
X2ZyYW1lKQooaGFpa3VfZnJhbWVfcGFybV9oYW5kbGVycyk6Ciogc3JjL25zZm5zLm0gKG5zX2Zy
YW1lX3Bhcm1faGFuZGxlcnMsIHhfY3JlYXRlX2ZyYW1lKToKKiBzcmMvcGd0a2Zucy5jIChwZ3Rr
X3NldF91cF9wYXJ0aWFsX2FscGhhKQoocGd0a19zZXRfYWxwaGFfYmFja2dyb3VuZCwgcGd0a19z
ZXRfYWxwaGFfYm9yZGVycykKKHBndGtfZnJhbWVfcGFybV9oYW5kbGVycywgeF9jcmVhdGVfZnJh
bWUpCihwZ3RrX2NyZWF0ZV90aXBfZnJhbWUpOgoqIHNyYy93MzJmbnMuYyAoeF9jcmVhdGVfZnJh
bWUsIHczMl9jcmVhdGVfdGlwX2ZyYW1lKQoodzMyX2ZyYW1lX3Bhcm1faGFuZGxlcnMpOgoqIHNy
Yy94Zm5zLmMgKHhfc2V0X3VwX3BhcnRpYWxfYWxwaGEsIHhfcGFydGlhbF9hbHBoYV9zdXBwb3J0
ZWQpCih4X3NldF9hbHBoYV9iYWNrZ3JvdW5kLCB4X2NyZWF0ZV9mcmFtZSwgeF9jcmVhdGVfdGlw
X2ZyYW1lKQooeF9mcmFtZV9wYXJtX2hhbmRsZXJzKToKUmVwbGFjZSAnYm9yZGVycy1yZXNwZWN0
LWFscGhhLWJhY2tncm91bmQnIHdpdGggJ2FscGhhLWJvcmRlcnMnCiogc3JjL3BndGt0ZXJtLmMg
KHBndGtfc2V0X2NyX3NvdXJjZV93aXRoX2NvbG9yKQoocGd0a19zZXRfY3Jfc291cmNlX3dpdGhf
Z2NfYmFja2dyb3VuZCkKKHBndGtfc2V0X2NyX3NvdXJjZV93aXRoX2djX2ZvcmVncm91bmQpCihw
Z3RrX2RyYXdfcmVjdGFuZ2xlLCBwZ3RrX2ZpbGxfcmVjdGFuZ2xlKQoqIHNyYy9wZ3RrdGVybS5o
IChwZ3RrX3NldF9jcl9zb3VyY2Vfd2l0aF9jb2xvcikKKHBndGtfc2V0X2NyX3NvdXJjZV93aXRo
X2djX2JhY2tncm91bmQpCihwZ3RrX3NldF9jcl9zb3VyY2Vfd2l0aF9nY19mb3JlZ3JvdW5kKQoq
IHNyYy94dGVybS5jICh4X3NldF9jcl9zb3VyY2Vfd2l0aF9nY19mb3JlZ3JvdW5kKQooeF9zZXRf
Y3Jfc291cmNlX3dpdGhfZ2NfYmFja2dyb3VuZCkKKHhfZmlsbF9yZWN0YW5nbGUsIHhfY2xlYXJf
cmVjdGFuZ2xlLCB4X2NsZWFyX3BvaW50KToKKiBzcmMveHRlcm0uaCAoeF9zZXRfY3Jfc291cmNl
X3dpdGhfZ2NfZm9yZWdyb3VuZCkKKHhfc2V0X2NyX3NvdXJjZV93aXRoX2djX2JhY2tncm91bmQp
OgpSZXBsYWNlICdib29sIHJlc3BlY3RfYWxwaGFfYmFja2dyb3VuZCcgcGFyYW1ldGVycyB3aXRo
Cidkb3VibGUgYWxwaGEnIHBhcmFtZXRlcnMuCiogc3JjL2Z0Y3Jmb250LmMgKGZ0Y3Jmb250X2Ry
YXcpOgoqIHNyYy9wZ3RrdGVybS5jIChwZ3RrX2RyYXdfd2luZG93X2RpdmlkZXIpCihwZ3RrX2dl
dF9mcmFtZV9hbHBoYV9iYWNrZ3JvdW5kKQoqIHNyYy9wZ3RrdGVybS5oIChwZ3RrX2dldF9mcmFt
ZV9hbHBoYV9iYWNrZ3JvdW5kKQoqIHNyYy94dGVybS5jICh4X2RyYXdfd2luZG93X2RpdmlkZXIp
Cih4X2NsZWFyX3VuZGVyX2ludGVybmFsX2JvcmRlciwgeF9nZXRfZnJhbWVfYWxwaGFfYmFja2dy
b3VuZCk6Ciogc3JjL3h0ZXJtLmggKHhfZ2V0X2ZyYW1lX2FscGhhX2JhY2tncm91bmQpCkltcGxl
bWVudCAnYWxwaGEtYm9yZGVycycuCi0tLQogZG9jL2xpc3ByZWYvZnJhbWVzLnRleGkgfCAgIDkg
KystCiBzcmMvYW5kcm9pZGZucy5jICAgICAgICB8ICAxMiArKy0KIHNyYy9mcmFtZS5jICAgICAg
ICAgICAgIHwgIDMwICsrKysrLS0KIHNyYy9mcmFtZS5oICAgICAgICAgICAgIHwgIDEwICstLQog
c3JjL2Z0Y3Jmb250LmMgICAgICAgICAgfCAgMTUgKystLQogc3JjL2hhaWt1Zm5zLmMgICAgICAg
ICAgfCAgMTIgKystCiBzcmMvbnNmbnMubSAgICAgICAgICAgICB8ICAgNyArLQogc3JjL3BndGtm
bnMuYyAgICAgICAgICAgfCAgMzggKysrKysrLS0tCiBzcmMvcGd0a3Rlcm0uYyAgICAgICAgICB8
IDEyNiArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogc3JjL3BndGt0ZXJtLmggICAgICAg
ICAgfCAgIDcgKy0KIHNyYy93MzJmbnMuYyAgICAgICAgICAgIHwgIDE3ICsrLS0KIHNyYy94Zm5z
LmMgICAgICAgICAgICAgIHwgIDc4ICsrKysrKysrKysrKy0tLS0tLQogc3JjL3h0ZXJtLmMgICAg
ICAgICAgICAgfCAxNzMgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQog
c3JjL3h0ZXJtLmggICAgICAgICAgICAgfCAgIDUgKy0KIDE0IGZpbGVzIGNoYW5nZWQsIDI5NyBp
bnNlcnRpb25zKCspLCAyNDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL2xpc3ByZWYv
ZnJhbWVzLnRleGkgYi9kb2MvbGlzcHJlZi9mcmFtZXMudGV4aQppbmRleCA3NDBlYTQzYTkwZi4u
YjdmMWU3MDRkODMgMTAwNjQ0Ci0tLSBhL2RvYy9saXNwcmVmL2ZyYW1lcy50ZXhpCisrKyBiL2Rv
Yy9saXNwcmVmL2ZyYW1lcy50ZXhpCkBAIC0yNTgyLDEyICsyNTgyLDEzIEBAIEZvbnQgYW5kIENv
bG9yIFBhcmFtZXRlcnMKIHNob3VsZCBiZSBhbiBpbnRlZ2VyIGJldHdlZW4gMCBhbmQgMTAwLCB3
aGVyZSAwIG1lYW5zCiBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGFuZCAxMDAgbWVhbnMgY29tcGxl
dGVseSBvcGFxdWUgKGRlZmF1bHQpLgogCi1AdmluZGV4IGJvcmRlcnMtcmVzcGVjdC1hbHBoYS1i
YWNrZ3JvdW5kQHJ7LCBhIGZyYW1lIHBhcmFtZXRlcn0KLUBpdGVtIGJvcmRlcnMtcmVzcGVjdC1h
bHBoYS1iYWNrZ3JvdW5kCitAdmluZGV4IGFscGhhLWJvcmRlcnNAcnssIGEgZnJhbWUgcGFyYW1l
dGVyfQorQGl0ZW0gYWxwaGEtYm9yZGVycwogQGNpbmRleCBvcGFjaXR5LCBmcmFtZQogQGNpbmRl
eCB0cmFuc3BhcmVuY3ksIGZyYW1lCi1XaGVuIG5vbi1AY29kZXtuaWx9LCBpbnRlcm5hbCBib3Jk
ZXJzIGFuZCB3aW5kb3cgZGl2aWRlcnMgYXJlCi10cmFuc3BhcmVudCBhY2NvcmRpbmcgdG8gQGNv
ZGV7YWxwaGEtYmFja2dyb3VuZH0uCitTZXRzIHRoZSBiYWNrZ3JvdW5kIHRyYW5zcGFyZW5jeSBv
ZiBib3JkZXJzICh3aW5kb3cgZGl2aWRlcnMKK2FuZCBpbnRlcm5hbCBib3JkZXJzKS4gIEp1c3Qg
bGlrZSBAY29kZXthbHBoYS1iYWNrZ3JvdW5kfSwgaXQKK3Nob3VsZCBiZSBhbiBpbnRlZ2VyIGJl
dHdlZW4gMCBhbmQgMTAwLgogQGVuZCB0YWJsZQogCiBUaGUgZm9sbG93aW5nIGZyYW1lIHBhcmFt
ZXRlcnMgYXJlIHNlbWktb2Jzb2xldGUgaW4gdGhhdCB0aGV5IGFyZQpkaWZmIC0tZ2l0IGEvc3Jj
L2FuZHJvaWRmbnMuYyBiL3NyYy9hbmRyb2lkZm5zLmMKaW5kZXggMWNhZTEyOWMyZGUuLmE3NGM2
NWYwMzExIDEwMDY0NAotLS0gYS9zcmMvYW5kcm9pZGZucy5jCisrKyBiL3NyYy9hbmRyb2lkZm5z
LmMKQEAgLTExMTAsOSArMTExMCw4IEBAIERFRlVOICgieC1jcmVhdGUtZnJhbWUiLCBGeF9jcmVh
dGVfZnJhbWUsIFN4X2NyZWF0ZV9mcmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxw
aGEiLCAiQWxwaGEiLCBSRVNfVFlQRV9OVU1CRVIpOwogICBndWlfZGVmYXVsdF9wYXJhbWV0ZXIg
KGYsIHBhcm1zLCBRYWxwaGFfYmFja2dyb3VuZCwgUW5pbCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAiYWxwaGFCYWNrZ3JvdW5kIiwgIkFscGhhQmFja2dyb3VuZCIsIFJFU19UWVBFX05VTUJF
Uik7Ci0gIGd1aV9kZWZhdWx0X3BhcmFtZXRlciAoZiwgcGFybXMsIFFib3JkZXJzX3Jlc3BlY3Rf
YWxwaGFfYmFja2dyb3VuZCwgUW5pbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAiYm9yZGVy
c1Jlc3BlY3RBbHBoYUJhY2tncm91bmQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICJCb3Jk
ZXJzUmVzcGVjdEFscGhhQmFja2dyb3VuZCIsIFJFU19UWVBFX05VTUJFUik7CisgIGd1aV9kZWZh
dWx0X3BhcmFtZXRlciAoZiwgcGFybXMsIFFhbHBoYV9ib3JkZXJzLCBRbmlsLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICJhbHBoYUJvcmRlcnMiLCAiQWxwaGFCb3JkZXJzIiwgUkVTX1RZUEVf
TlVNQkVSKTsKIAogICBpZiAoIU5JTFAgKHBhcmVudF9mcmFtZSkpCiAgICAgewpAQCAtMjEwMCw5
ICsyMDk5LDggQEAgYW5kcm9pZF9jcmVhdGVfdGlwX2ZyYW1lIChzdHJ1Y3QgYW5kcm9pZF9kaXNw
bGF5X2luZm8gKmRweWluZm8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgImFscGhhIiwgIkFs
cGhhIiwgUkVTX1RZUEVfTlVNQkVSKTsKICAgZ3VpX2RlZmF1bHRfcGFyYW1ldGVyIChmLCBwYXJt
cywgUWFscGhhX2JhY2tncm91bmQsIFFuaWwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgImFs
cGhhQmFja2dyb3VuZCIsICJBbHBoYUJhY2tncm91bmQiLCBSRVNfVFlQRV9OVU1CRVIpOwotICBn
dWlfZGVmYXVsdF9wYXJhbWV0ZXIgKGYsIHBhcm1zLCBRYm9yZGVyc19yZXNwZWN0X2FscGhhX2Jh
Y2tncm91bmQsIFFuaWwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgImJvcmRlcnNSZXNwZWN0
QWxwaGFCYWNrZ3JvdW5kIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAiQm9yZGVyc1Jlc3Bl
Y3RBbHBoYUJhY2tncm91bmQiLCBSRVNfVFlQRV9OVU1CRVIpOworICBndWlfZGVmYXVsdF9wYXJh
bWV0ZXIgKGYsIHBhcm1zLCBRYWxwaGFfYm9yZGVycywgUW5pbCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAiYWxwaGFCb3JkZXJzIiwgIkFscGhhQm9yZGVycyIsIFJFU19UWVBFX05VTUJFUik7
CiAKICAgLyogQWRkIGB0b29sdGlwJyBmcmFtZSBwYXJhbWV0ZXIncyBkZWZhdWx0IHZhbHVlLiAq
LwogICBpZiAoTklMUCAoRmZyYW1lX3BhcmFtZXRlciAoZnJhbWUsIFF0b29sdGlwKSkpCkBAIC0z
MTg4LDcgKzMxODYsNyBAQCBhbmRyb2lkX3NldF9ub19hY2NlcHRfZm9jdXMgKHN0cnVjdCBmcmFt
ZSAqZiwgTGlzcF9PYmplY3QgbmV3X3ZhbHVlLAogICBOVUxMLAogICBndWlfc2V0X25vX3NwZWNp
YWxfZ2x5cGhzLAogICBOVUxMLAotICBndWlfc2V0X2JvcmRlcnNfcmVzcGVjdF9hbHBoYV9iYWNr
Z3JvdW5kLAorICBndWlfc2V0X2FscGhhX2JvcmRlcnMsCiAgIE5VTEwsCiB9OwogCmRpZmYgLS1n
aXQgYS9zcmMvZnJhbWUuYyBiL3NyYy9mcmFtZS5jCmluZGV4IDZhOTM5NDVjZTMzLi40NWQyNmIy
ZmM0MCAxMDA2NDQKLS0tIGEvc3JjL2ZyYW1lLmMKKysrIGIvc3JjL2ZyYW1lLmMKQEAgLTQ2MTcs
OCArNDYxNyw3IEBAIERFRlVOICgiZnJhbWUtc2NhbGUtZmFjdG9yIiwgRmZyYW1lX3NjYWxlX2Zh
Y3RvciwgU2ZyYW1lX3NjYWxlX2ZhY3RvciwKICAgeyJvdmVycmlkZS1yZWRpcmVjdCIsCQlTWU1C
T0xfSU5ERVggKFFvdmVycmlkZV9yZWRpcmVjdCl9LAogICB7Im5vLXNwZWNpYWwtZ2x5cGhzIiwJ
CVNZTUJPTF9JTkRFWCAoUW5vX3NwZWNpYWxfZ2x5cGhzKX0sCiAgIHsiYWxwaGEtYmFja2dyb3Vu
ZCIsCQlTWU1CT0xfSU5ERVggKFFhbHBoYV9iYWNrZ3JvdW5kKX0sCi0gIHsiYm9yZGVycy1yZXNw
ZWN0LWFscGhhLWJhY2tncm91bmQiLAotCQkJCVNZTUJPTF9JTkRFWCAoUWJvcmRlcnNfcmVzcGVj
dF9hbHBoYV9iYWNrZ3JvdW5kKX0sCisgIHsiYWxwaGEtYm9yZGVycyIsCQlTWU1CT0xfSU5ERVgg
KFFhbHBoYV9ib3JkZXJzKX0sCiAgIHsidXNlLWZyYW1lLXN5bmNocm9uaXphdGlvbiIsCVNZTUJP
TF9JTkRFWCAoUXVzZV9mcmFtZV9zeW5jaHJvbml6YXRpb24pfSwKICNpZmRlZiBIQVZFX1hfV0lO
RE9XUwogICB7InNoYWRlZCIsCQkJU1lNQk9MX0lOREVYIChRc2hhZGVkKX0sCkBAIC01ODIxLDEw
ICs1ODIwLDI5IEBAIGd1aV9zZXRfYWxwaGFfYmFja2dyb3VuZCAoc3RydWN0IGZyYW1lICpmLCBM
aXNwX09iamVjdCBhcmcsIExpc3BfT2JqZWN0IG9sZHZhbCkKIH0KIAogdm9pZAotZ3VpX3NldF9i
b3JkZXJzX3Jlc3BlY3RfYWxwaGFfYmFja2dyb3VuZCAoc3RydWN0IGZyYW1lICpmLCBMaXNwX09i
amVjdCBhcmcsCi0JCQkJCSAgTGlzcF9PYmplY3Qgb2xkdmFsKQorZ3VpX3NldF9hbHBoYV9ib3Jk
ZXJzIChzdHJ1Y3QgZnJhbWUgKmYsIExpc3BfT2JqZWN0IGFyZywgTGlzcF9PYmplY3Qgb2xkdmFs
KQogewotICBmLT5ib3JkZXJzX3Jlc3BlY3RfYWxwaGFfYmFja2dyb3VuZCA9ICFOSUxQIChhcmcp
OworICBkb3VibGUgYWxwaGEgPSAxLjA7CisKKyAgaWYgKE5JTFAgKGFyZykpCisgICAgYWxwaGEg
PSAxLjA7CisgIGVsc2UgaWYgKEZMT0FUUCAoYXJnKSkKKyAgICB7CisgICAgICBhbHBoYSA9IFhG
TE9BVF9EQVRBIChhcmcpOworICAgICAgaWYgKCEgKDAgPD0gYWxwaGEgJiYgYWxwaGEgPD0gMS4w
KSkKKwlhcmdzX291dF9vZl9yYW5nZSAobWFrZV9mbG9hdCAoMC4wKSwgbWFrZV9mbG9hdCAoMS4w
KSk7CisgICAgfQorICBlbHNlIGlmIChGSVhOVU1QIChhcmcpKQorICAgIHsKKyAgICAgIEVNQUNT
X0lOVCBpYWxwaGEgPSBYRklYTlVNIChhcmcpOworICAgICAgaWYgKCEgKDAgPD0gaWFscGhhICYm
IGlhbHBoYSA8PSAxMDApKQorCWFyZ3Nfb3V0X29mX3JhbmdlIChtYWtlX2ZpeG51bSAoMCksIG1h
a2VfZml4bnVtICgxMDApKTsKKyAgICAgIGFscGhhID0gaWFscGhhIC8gMTAwLjA7CisgICAgfQor
ICBlbHNlCisgICAgd3JvbmdfdHlwZV9hcmd1bWVudCAoUW51bWJlcnAsIGFyZyk7CisKKyAgZi0+
YWxwaGFfYm9yZGVycyA9IGFscGhhOwogfQogCiAvKioKQEAgLTcwMTgsNyArNzAzNiw3IEBAIHN5
bXNfb2ZfZnJhbWUgKHZvaWQpCiAKICAgREVGU1lNIChRYWxwaGEsICJhbHBoYSIpOwogICBERUZT
WU0gKFFhbHBoYV9iYWNrZ3JvdW5kLCAiYWxwaGEtYmFja2dyb3VuZCIpOwotICBERUZTWU0gKFFi
b3JkZXJzX3Jlc3BlY3RfYWxwaGFfYmFja2dyb3VuZCwgImJvcmRlcnMtcmVzcGVjdC1hbHBoYS1i
YWNrZ3JvdW5kIik7CisgIERFRlNZTSAoUWFscGhhX2JvcmRlcnMsICJhbHBoYS1ib3JkZXJzIik7
CiAgIERFRlNZTSAoUWF1dG9fbG93ZXIsICJhdXRvLWxvd2VyIik7CiAgIERFRlNZTSAoUWF1dG9f
cmFpc2UsICJhdXRvLXJhaXNlIik7CiAgIERFRlNZTSAoUWJvcmRlcl9jb2xvciwgImJvcmRlci1j
b2xvciIpOwpkaWZmIC0tZ2l0IGEvc3JjL2ZyYW1lLmggYi9zcmMvZnJhbWUuaAppbmRleCA5MjM4
YjRjY2Q2ZS4uMjkyY2I1Mjk2NTQgMTAwNjQ0Ci0tLSBhL3NyYy9mcmFtZS5oCisrKyBiL3NyYy9m
cmFtZS5oCkBAIC01MzEsMTAgKzUzMSw2IEBAICNkZWZpbmUgRU1BQ1NfRlJBTUVfSAogICAgICBz
ZWxlY3RlZCB3aW5kb3cgaW4gdGhlIGZyYW1lLCBhc3N1bWluZyB0aGVyZSBpcyBzdGlsbCBhbiBh
Y3RpdmUKICAgICAgbWluaWJ1ZmZlciBpbiB0aGF0IG1pbmktd2luZG93LiAgKi8KICAgYm9vbF9i
ZiBzZWxlY3RfbWluaV93aW5kb3dfZmxhZyA6IDE7Ci0KLSAgLyogU2V0IHRvIHRydWUgd2hlbiBi
b3JkZXJzJyB0cmFuc3BhcmVuY2llcyBzaG91bGQgbWF0Y2ggdGhlCi0gICAgIGJhY2tncm91bmQg
b3BhY2l0eS4gICovCi0gIGJvb2xfYmYgYm9yZGVyc19yZXNwZWN0X2FscGhhX2JhY2tncm91bmQg
OiAxOwogICAvKiBCaXRmaWVsZCBhcmVhIGVuZHMgaGVyZS4gICovCiAKICAgLyogVGhpcyBmcmFt
ZSdzIGNoYW5nZSBzdGFtcCwgc2V0IHRoZSBsYXN0IHRpbWUgd2luZG93IGNoYW5nZQpAQCAtNzEw
LDYgKzcwNiw5IEBAICNkZWZpbmUgRU1BQ1NfRlJBTUVfSAogICAvKiBCYWNrZ3JvdW5kIG9wYWNp
dHkgKi8KICAgZG91YmxlIGFscGhhX2JhY2tncm91bmQ7CiAKKyAgLyogQm9yZGVyIG9wYWN0aXkg
Ki8KKyAgZG91YmxlIGFscGhhX2JvcmRlcnM7CisKICAgLyogRXhwb25lbnQgZm9yIGdhbW1hIGNv
cnJlY3Rpb24gb2YgY29sb3JzLiAgMS8oVklFV0lOR19HQU1NQSAqCiAgICAgIFNDUkVFTl9HQU1N
QSkgd2hlcmUgdmlld2luZ19nYW1tYSBpcyAwLjQ1NDUgYW5kIFNDUkVFTl9HQU1NQSBpcyBhCiAg
ICAgIGZyYW1lIHBhcmFtZXRlci4gIDAgbWVhbnMgZG9uJ3QgZG8gZ2FtbWEgY29ycmVjdGlvbi4g
ICovCkBAIC0xODUzLDggKzE4NTIsNyBAQCAjZGVmaW5lIEVNQUNTX0NMQVNTICJFbWFjcyIKIAog
ZXh0ZXJuIHZvaWQgZ3VpX3NldF9hbHBoYSAoc3RydWN0IGZyYW1lICosIExpc3BfT2JqZWN0LCBM
aXNwX09iamVjdCk7CiBleHRlcm4gdm9pZCBndWlfc2V0X2FscGhhX2JhY2tncm91bmQgKHN0cnVj
dCBmcmFtZSAqLCBMaXNwX09iamVjdCwgTGlzcF9PYmplY3QpOwotZXh0ZXJuIHZvaWQgZ3VpX3Nl
dF9ib3JkZXJzX3Jlc3BlY3RfYWxwaGFfYmFja2dyb3VuZCAoc3RydWN0IGZyYW1lICosIExpc3Bf
T2JqZWN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTGlzcF9PYmplY3QpOworZXh0ZXJuIHZvaWQgZ3VpX3NldF9hbHBoYV9ib3JkZXJzIChz
dHJ1Y3QgZnJhbWUgKiwgTGlzcF9PYmplY3QsIExpc3BfT2JqZWN0KTsKIGV4dGVybiB2b2lkIGd1
aV9zZXRfbm9fc3BlY2lhbF9nbHlwaHMgKHN0cnVjdCBmcmFtZSAqLCBMaXNwX09iamVjdCwgTGlz
cF9PYmplY3QpOwogCiBleHRlcm4gdm9pZCB2YWxpZGF0ZV94X3Jlc291cmNlX25hbWUgKHZvaWQp
OwpkaWZmIC0tZ2l0IGEvc3JjL2Z0Y3Jmb250LmMgYi9zcmMvZnRjcmZvbnQuYwppbmRleCA0MmVl
NmMzZTU3Mi4uZTU3MTVmNGU5MzYgMTAwNjQ0Ci0tLSBhL3NyYy9mdGNyZm9udC5jCisrKyBiL3Ny
Yy9mdGNyZm9udC5jCkBAIC01ODYsMTAgKzU4NiwxNSBAQCBmdGNyZm9udF9kcmF3IChzdHJ1Y3Qg
Z2x5cGhfc3RyaW5nICpzLAogICAgIHsKICNpZm5kZWYgVVNFX0JFX0NBSVJPCiAjaWZkZWYgSEFW
RV9YX1dJTkRPV1MKLSAgICAgIHhfc2V0X2NyX3NvdXJjZV93aXRoX2djX2JhY2tncm91bmQgKGYs
IHMtPmdjLCBzLT5obCAhPSBEUkFXX0NVUlNPUik7CisgICAgICBkb3VibGUgYWxwaGEgPSBzLT5o
bCAhPSBEUkFXX0NVUlNPUgorICAgICAgICA/IHhfZ2V0X2ZyYW1lX2FscGhhX2JhY2tncm91bmQg
KGYpCisgICAgICAgIDogMS4wOworICAgICAgeF9zZXRfY3Jfc291cmNlX3dpdGhfZ2NfYmFja2dy
b3VuZCAoZiwgcy0+Z2MsIGFscGhhKTsKICNlbHNlCi0gICAgICBwZ3RrX3NldF9jcl9zb3VyY2Vf
d2l0aF9jb2xvciAoZiwgcy0+eGdjdi5iYWNrZ3JvdW5kLAotCQkJCSAgICAgcy0+aGwgIT0gRFJB
V19DVVJTT1IpOworICAgICAgZG91YmxlIGFscGhhID0gcy0+aGwgIT0gRFJBV19DVVJTT1IKKyAg
ICAgICAgPyBwZ3RrX2dldF9mcmFtZV9hbHBoYV9iYWNrZ3JvdW5kIChmKQorICAgICAgICA6IDEu
MDsKKyAgICAgIHBndGtfc2V0X2NyX3NvdXJjZV93aXRoX2NvbG9yIChmLCBzLT54Z2N2LmJhY2tn
cm91bmQsIGFscGhhKTsKICNlbmRpZgogI2Vsc2UKICAgICAgIHVpbnQzMl90IGNvbCA9IGJlX2Jh
Y2tncm91bmQ7CkBAIC02MTUsOSArNjIwLDkgQEAgZnRjcmZvbnRfZHJhdyAoc3RydWN0IGdseXBo
X3N0cmluZyAqcywKICAgICB9CiAjaWZuZGVmIFVTRV9CRV9DQUlSTwogI2lmZGVmIEhBVkVfWF9X
SU5ET1dTCi0gIHhfc2V0X2NyX3NvdXJjZV93aXRoX2djX2ZvcmVncm91bmQgKGYsIHMtPmdjLCBm
YWxzZSk7CisgIHhfc2V0X2NyX3NvdXJjZV93aXRoX2djX2ZvcmVncm91bmQgKGYsIHMtPmdjLCAx
LjApOwogI2Vsc2UKLSAgcGd0a19zZXRfY3Jfc291cmNlX3dpdGhfY29sb3IgKGYsIHMtPnhnY3Yu
Zm9yZWdyb3VuZCwgZmFsc2UpOworICBwZ3RrX3NldF9jcl9zb3VyY2Vfd2l0aF9jb2xvciAoZiwg
cy0+eGdjdi5mb3JlZ3JvdW5kLCAxLjApOwogI2VuZGlmCiAjZWxzZQogICB1aW50MzJfdCBjb2wg
PSBiZV9mb3JlZ3JvdW5kOwpkaWZmIC0tZ2l0IGEvc3JjL2hhaWt1Zm5zLmMgYi9zcmMvaGFpa3Vm
bnMuYwppbmRleCA1Y2NhOTVlZTkwYS4uYWE3OWZlNmYzNzUgMTAwNjQ0Ci0tLSBhL3NyYy9oYWlr
dWZucy5jCisrKyBiL3NyYy9oYWlrdWZucy5jCkBAIC05MzgsOSArOTM4LDggQEAgaGFpa3VfY3Jl
YXRlX2ZyYW1lIChMaXNwX09iamVjdCBwYXJtcykKIAkJCSAiYWxwaGEiLCAiQWxwaGEiLCBSRVNf
VFlQRV9OVU1CRVIpOwogICBndWlfZGVmYXVsdF9wYXJhbWV0ZXIgKGYsIHBhcm1zLCBRYWxwaGFf
YmFja2dyb3VuZCwgUW5pbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxwaGFCYWNrZ3Jv
dW5kIiwgIkFscGhhQmFja2dyb3VuZCIsIFJFU19UWVBFX05VTUJFUik7Ci0gIGd1aV9kZWZhdWx0
X3BhcmFtZXRlciAoZiwgcGFybXMsIFFib3JkZXJzX3Jlc3BlY3RfYWxwaGFfYmFja2dyb3VuZCwg
UW5pbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAiYm9yZGVyc1Jlc3BlY3RBbHBoYUJhY2tn
cm91bmQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICJCb3JkZXJzUmVzcGVjdEFscGhhQmFj
a2dyb3VuZCIsIFJFU19UWVBFX05VTUJFUik7CisgIGd1aV9kZWZhdWx0X3BhcmFtZXRlciAoZiwg
cGFybXMsIFFhbHBoYV9ib3JkZXJzLCBRbmlsLAorICAgICAgICAgICAgICAgICAgICAgICAgICJh
bHBoYUJvcmRlcnMiLCAiQWxwaGFCb3JkZXJzIiwgUkVTX1RZUEVfTlVNQkVSKTsKICAgZ3VpX2Rl
ZmF1bHRfcGFyYW1ldGVyIChmLCBwYXJtcywgUWZ1bGxzY3JlZW4sIFFuaWwsCiAJCQkgImZ1bGxz
Y3JlZW4iLCAiRnVsbHNjcmVlbiIsIFJFU19UWVBFX1NZTUJPTCk7CiAKQEAgLTExNjUsOSArMTE2
NCw4IEBAIGhhaWt1X2NyZWF0ZV90aXBfZnJhbWUgKExpc3BfT2JqZWN0IHBhcm1zKQogICAgICAg
ICAgICAgICAgICAgICAgICAgICJhbHBoYSIsICJBbHBoYSIsIFJFU19UWVBFX05VTUJFUik7CiAg
IGd1aV9kZWZhdWx0X3BhcmFtZXRlciAoZiwgcGFybXMsIFFhbHBoYV9iYWNrZ3JvdW5kLCBRbmls
LAogICAgICAgICAgICAgICAgICAgICAgICAgICJhbHBoYUJhY2tncm91bmQiLCAiQWxwaGFCYWNr
Z3JvdW5kIiwgUkVTX1RZUEVfTlVNQkVSKTsKLSAgZ3VpX2RlZmF1bHRfcGFyYW1ldGVyIChmLCBw
YXJtcywgUWJvcmRlcnNfcmVzcGVjdF9hbHBoYV9iYWNrZ3JvdW5kLCBRbmlsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICJib3JkZXJzUmVzcGVjdEFscGhhQmFja2dyb3VuZCIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgIkJvcmRlcnNSZXNwZWN0QWxwaGFCYWNrZ3JvdW5kIiwgUkVTX1RZ
UEVfTlVNQkVSKTsKKyAgZ3VpX2RlZmF1bHRfcGFyYW1ldGVyIChmLCBwYXJtcywgUWFscGhhX2Jv
cmRlcnMsIFFuaWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgImFscGhhQm9yZGVycyIsICJB
bHBoYUJvcmRlcnMiLCBSRVNfVFlQRV9OVU1CRVIpOwogCiAgIGluaXRpYWxfc2V0dXBfYmFja19i
dWZmZXIgKGYpOwogCkBAIC0zMTk1LDcgKzMxOTMsNyBAQCBERUZVTiAoImhhaWt1LWRpc3BsYXkt
bW9uaXRvci1hdHRyaWJ1dGVzLWxpc3QiLAogICAgIGhhaWt1X3NldF9vdmVycmlkZV9yZWRpcmVj
dCwKICAgICBndWlfc2V0X25vX3NwZWNpYWxfZ2x5cGhzLAogICAgIGd1aV9zZXRfYWxwaGFfYmFj
a2dyb3VuZCwKLSAgICBndWlfc2V0X2JvcmRlcnNfcmVzcGVjdF9hbHBoYV9iYWNrZ3JvdW5kLAor
ICAgIGd1aV9zZXRfYWxwaGFfYm9yZGVycywKICAgICBoYWlrdV9zZXRfdXNlX2ZyYW1lX3N5bmNo
cm9uaXphdGlvbiwKICAgfTsKIApkaWZmIC0tZ2l0IGEvc3JjL25zZm5zLm0gYi9zcmMvbnNmbnMu
bQppbmRleCAzNTI4YzRhY2Q1MC4uZjJiNzZlNjMwMWIgMTAwNjQ0Ci0tLSBhL3NyYy9uc2Zucy5t
CisrKyBiL3NyYy9uc2Zucy5tCkBAIC0xMTA2LDcgKzExMDYsNyBAQCBUdXJuIHRoZSBpbnB1dCBt
ZW51IChhbiBOU01lbnUpIGludG8gYSBsaXNwIGxpc3QgZm9yIHRyYWNraW5nIG9uIGxpc3Agc2lk
ZS4KICAgMCwgLyogeF9zZXRfb3ZlcnJpZGVfcmVkaXJlY3QgKi8KICAgZ3VpX3NldF9ub19zcGVj
aWFsX2dseXBocywKICAgZ3VpX3NldF9hbHBoYV9iYWNrZ3JvdW5kLAotICBndWlfc2V0X2JvcmRl
cnNfcmVzcGVjdF9hbHBoYV9iYWNrZ3JvdW5kLAorICBndWlfc2V0X2FscGhhX2JvcmRlcnMsCiAg
IE5VTEwsCiAjaWZkZWYgTlNfSU1QTF9DT0NPQQogICBuc19zZXRfYXBwZWFyYW5jZSwKQEAgLTE1
MzMsOSArMTUzMyw4IEBAIFR1cm4gdGhlIGlucHV0IG1lbnUgKGFuIE5TTWVudSkgaW50byBhIGxp
c3AgbGlzdCBmb3IgdHJhY2tpbmcgb24gbGlzcCBzaWRlLgogICAgICAgICAgICAgICAgICAgICAg
ICAgICJhbHBoYSIsICJBbHBoYSIsIFJFU19UWVBFX05VTUJFUik7CiAgIGd1aV9kZWZhdWx0X3Bh
cmFtZXRlciAoZiwgcGFybXMsIFFhbHBoYV9iYWNrZ3JvdW5kLCBRbmlsLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICJhbHBoYUJhY2tncm91bmQiLCAiQWxwaGFCYWNrZ3JvdW5kIiwgUkVTX1RZ
UEVfTlVNQkVSKTsKLSAgZ3VpX2RlZmF1bHRfcGFyYW1ldGVyIChmLCBwYXJtcywgUWJvcmRlcnNf
cmVzcGVjdF9hbHBoYV9iYWNrZ3JvdW5kLCBRbmlsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICJib3JkZXJzUmVzcGVjdEFscGhhQmFja2dyb3VuZCIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIkJvcmRlcnNSZXNwZWN0QWxwaGFCYWNrZ3JvdW5kIiwgUkVTX1RZUEVfTlVNQkVSKTsKKyAg
Z3VpX2RlZmF1bHRfcGFyYW1ldGVyIChmLCBwYXJtcywgUWFscGhhX2JvcmRlcnMsIFFuaWwsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgImFscGhhQm9yZGVycyIsICJBbHBoYUJvcmRlcnMiLCBS
RVNfVFlQRV9OVU1CRVIpOwogICBndWlfZGVmYXVsdF9wYXJhbWV0ZXIgKGYsIHBhcm1zLCBRZnVs
bHNjcmVlbiwgUW5pbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAiZnVsbHNjcmVlbiIsICJG
dWxsc2NyZWVuIiwgUkVTX1RZUEVfU1lNQk9MKTsKIApkaWZmIC0tZ2l0IGEvc3JjL3BndGtmbnMu
YyBiL3NyYy9wZ3RrZm5zLmMKaW5kZXggOTE3YzllN2FiNjcuLjM1YTc0MDc5MzA3IDEwMDY0NAot
LS0gYS9zcmMvcGd0a2Zucy5jCisrKyBiL3NyYy9wZ3RrZm5zLmMKQEAgLTIyMSwyNCArMjIxLDQw
IEBAIHBndGtfc2V0X2JhY2tncm91bmRfY29sb3IgKHN0cnVjdCBmcmFtZSAqZiwgTGlzcF9PYmpl
Y3QgYXJnLCBMaXNwX09iamVjdCBvbGR2YWwpCiAgIHVuYmxvY2tfaW5wdXQgKCk7CiB9CiAKKy8q
IFVzZWQgZm9yIGZyYW1lIHBhcmFtZXRlcnMgbGlrZSBhbHBoYS1iYWNrZ3JvdW5kIGFuZCBhbHBo
YS1ib3JkZXJzLAorICAgd2hpY2ggbWFrZSBvbmx5IHBhcnQgb2YgdGhlIGZyYW1lIHRyYW5zcGFy
ZW50ICovCisKIHN0YXRpYyB2b2lkCi1wZ3RrX3NldF9hbHBoYV9iYWNrZ3JvdW5kIChzdHJ1Y3Qg
ZnJhbWUgKmYsIExpc3BfT2JqZWN0IGFyZywgTGlzcF9PYmplY3Qgb2xkdmFsKQorcGd0a19zZXRf
dXBfcGFydGlhbF9hbHBoYSAoc3RydWN0IGZyYW1lICpmKQogewotICBndWlfc2V0X2FscGhhX2Jh
Y2tncm91bmQgKGYsIGFyZywgb2xkdmFsKTsKKyAgYm9vbCBwYXJ0aWFsX2FscGhhID0gZi0+YWxw
aGFfYmFja2dyb3VuZCAhPSAxLjAgfHwgZi0+YWxwaGFfYm9yZGVycyAhPSAxLjA7CiAKICAgLyog
VGhpcyBwcmV2ZW50cyBHVEsgZnJvbSBwYWludGluZyB0aGUgd2luZG93J3MgYmFja2dyb3VuZCwg
d2hpY2gKICAgICAgaW50ZXJmZXJlcyB3aXRoIHRyYW5zcGFyZW50IGJhY2tncm91bmQgaW4gc29t
ZSBlbnZpcm9ubWVudHMgKi8KIAotICBndGtfd2lkZ2V0X3NldF9hcHBfcGFpbnRhYmxlIChGUkFN
RV9HVEtfT1VURVJfV0lER0VUIChmKSwKLQkJCQlmLT5hbHBoYV9iYWNrZ3JvdW5kICE9IDEuMCk7
CisgIGd0a193aWRnZXRfc2V0X2FwcF9wYWludGFibGUgKEZSQU1FX0dUS19PVVRFUl9XSURHRVQg
KGYpLCBwYXJ0aWFsX2FscGhhKTsKIAogICBpZiAoRlJBTUVfR1RLX09VVEVSX1dJREdFVCAoZikK
ICAgICAgICYmIGd0a193aWRnZXRfZ2V0X3JlYWxpemVkIChGUkFNRV9HVEtfT1VURVJfV0lER0VU
IChmKSkKLSAgICAgICYmIGYtPmFscGhhX2JhY2tncm91bmQgIT0gMS4wKQorICAgICAgJiYgcGFy
dGlhbF9hbHBoYSkKICAgICBnZGtfd2luZG93X3NldF9vcGFxdWVfcmVnaW9uIChndGtfd2lkZ2V0
X2dldF93aW5kb3cgKEZSQU1FX0dUS19PVVRFUl9XSURHRVQgKGYpKSwKIAkJCQkgIE5VTEwpOwog
fQogCitzdGF0aWMgdm9pZAorcGd0a19zZXRfYWxwaGFfYmFja2dyb3VuZCAoc3RydWN0IGZyYW1l
ICpmLCBMaXNwX09iamVjdCBhcmcsIExpc3BfT2JqZWN0IG9sZHZhbCkKK3sKKyAgZ3VpX3NldF9h
bHBoYV9iYWNrZ3JvdW5kIChmLCBhcmcsIG9sZHZhbCk7CisgIHBndGtfc2V0X3VwX3BhcnRpYWxf
YWxwaGEgKGYpOworfQorCitzdGF0aWMgdm9pZAorcGd0a19zZXRfYWxwaGFfYm9yZGVycyAoc3Ry
dWN0IGZyYW1lICpmLCBMaXNwX09iamVjdCBhcmcsIExpc3BfT2JqZWN0IG9sZHZhbCkKK3sKKyAg
Z3VpX3NldF9hbHBoYV9ib3JkZXJzIChmLCBhcmcsIG9sZHZhbCk7CisgIHBndGtfc2V0X3VwX3Bh
cnRpYWxfYWxwaGEgKGYpOworfQorCiBzdGF0aWMgdm9pZAogcGd0a19zZXRfYm9yZGVyX2NvbG9y
IChzdHJ1Y3QgZnJhbWUgKmYsIExpc3BfT2JqZWN0IGFyZywgTGlzcF9PYmplY3Qgb2xkdmFsKQog
ewpAQCAtOTg1LDcgKzEwMDEsNyBAQCBERUZVTiAoIngtZXhwb3J0LWZyYW1lcyIsIEZ4X2V4cG9y
dF9mcmFtZXMsIFN4X2V4cG9ydF9mcmFtZXMsIDAsIDIsIDAsCiAgICAgcGd0a19zZXRfb3ZlcnJp
ZGVfcmVkaXJlY3QsCiAgICAgZ3VpX3NldF9ub19zcGVjaWFsX2dseXBocywKICAgICBwZ3RrX3Nl
dF9hbHBoYV9iYWNrZ3JvdW5kLAotICAgIGd1aV9zZXRfYm9yZGVyc19yZXNwZWN0X2FscGhhX2Jh
Y2tncm91bmQsCisgICAgcGd0a19zZXRfYWxwaGFfYm9yZGVycywKICAgICBOVUxMLAogICB9Owog
CkBAIC0xNTcyLDkgKzE1ODgsOCBAQCAjZGVmaW5lIElOU1RBTExfQ1VSU09SKEZJRUxELCBOQU1F
KSBcCiAJCQkgImFscGhhIiwgIkFscGhhIiwgUkVTX1RZUEVfTlVNQkVSKTsKICAgZ3VpX2RlZmF1
bHRfcGFyYW1ldGVyIChmLCBwYXJtcywgUWFscGhhX2JhY2tncm91bmQsIFFuaWwsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgImFscGhhQmFja2dyb3VuZCIsICJBbHBoYUJhY2tncm91bmQiLCBS
RVNfVFlQRV9OVU1CRVIpOwotICBndWlfZGVmYXVsdF9wYXJhbWV0ZXIgKGYsIHBhcm1zLCBRYm9y
ZGVyc19yZXNwZWN0X2FscGhhX2JhY2tncm91bmQsIFFuaWwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgImJvcmRlcnNSZXNwZWN0QWxwaGFCYWNrZ3JvdW5kIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAiQm9yZGVyc1Jlc3BlY3RBbHBoYUJhY2tncm91bmQiLCBSRVNfVFlQRV9OVU1CRVIp
OworICBndWlfZGVmYXVsdF9wYXJhbWV0ZXIgKGYsIHBhcm1zLCBRYWxwaGFfYm9yZGVycywgUW5p
bCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiYWxwaGFCb3JkZXJzIiwgIkFscGhhQm9yZGVy
cyIsIFJFU19UWVBFX05VTUJFUik7CiAKICAgaWYgKCFOSUxQIChwYXJlbnRfZnJhbWUpKQogICAg
IHsKQEAgLTI3MzQsOSArMjc0OSw4IEBAIHBndGtfY3JlYXRlX3RpcF9mcmFtZSAoc3RydWN0IHBn
dGtfZGlzcGxheV9pbmZvICpkcHlpbmZvLCBMaXNwX09iamVjdCBwYXJtcywgc3RyCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgImFscGhhIiwgIkFscGhhIiwgUkVTX1RZUEVfTlVNQkVSKTsKICAg
Z3VpX2RlZmF1bHRfcGFyYW1ldGVyIChmLCBwYXJtcywgUWFscGhhX2JhY2tncm91bmQsIFFuaWws
CiAgICAgICAgICAgICAgICAgICAgICAgICAgImFscGhhQmFja2dyb3VuZCIsICJBbHBoYUJhY2tn
cm91bmQiLCBSRVNfVFlQRV9OVU1CRVIpOwotICBndWlfZGVmYXVsdF9wYXJhbWV0ZXIgKGYsIHBh
cm1zLCBRYm9yZGVyc19yZXNwZWN0X2FscGhhX2JhY2tncm91bmQsIFFuaWwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgImJvcmRlcnNSZXNwZWN0QWxwaGFCYWNrZ3JvdW5kIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAiQm9yZGVyc1Jlc3BlY3RBbHBoYUJhY2tncm91bmQiLCBSRVNfVFlQ
RV9OVU1CRVIpOworICBndWlfZGVmYXVsdF9wYXJhbWV0ZXIgKGYsIHBhcm1zLCBRYWxwaGFfYm9y
ZGVycywgUW5pbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiYWxwaGFCb3JkZXJzIiwgIkFs
cGhhQm9yZGVycyIsIFJFU19UWVBFX05VTUJFUik7CiAKICAgLyogQWRkIGB0b29sdGlwJyBmcmFt
ZSBwYXJhbWV0ZXIncyBkZWZhdWx0IHZhbHVlLiAqLwogICBpZiAoTklMUCAoRmZyYW1lX3BhcmFt
ZXRlciAoZnJhbWUsIFF0b29sdGlwKSkpCmRpZmYgLS1naXQgYS9zcmMvcGd0a3Rlcm0uYyBiL3Ny
Yy9wZ3RrdGVybS5jCmluZGV4IGE3YmUyZDkwODk5Li5jMDdlODUyNzhiMCAxMDA2NDQKLS0tIGEv
c3JjL3BndGt0ZXJtLmMKKysrIGIvc3JjL3BndGt0ZXJtLmMKQEAgLTExMSw3ICsxMTEsNyBAQCAj
ZGVmaW5lIEZSQU1FX0NSX1NVUkZBQ0UoZikJCShjYWlyb19nZXRfdGFyZ2V0IChGUkFNRV9DUl9D
T05URVhUIChmKSkpCiBzdGF0aWMgdm9pZCBwZ3RrX2RlbGV0ZV9kaXNwbGF5IChzdHJ1Y3QgcGd0
a19kaXNwbGF5X2luZm8gKik7CiBzdGF0aWMgdm9pZCBwZ3RrX2NsZWFyX2ZyYW1lX2FyZWEgKHN0
cnVjdCBmcmFtZSAqLCBpbnQsIGludCwgaW50LCBpbnQpOwogc3RhdGljIHZvaWQgcGd0a19maWxs
X3JlY3RhbmdsZSAoc3RydWN0IGZyYW1lICosIHVuc2lnbmVkIGxvbmcsIGludCwgaW50LAotCQkJ
CSBpbnQsIGludCwgYm9vbCk7CisJCQkJIGludCwgaW50LCBkb3VibGUpOwogc3RhdGljIHZvaWQg
cGd0a19jbGlwX3RvX3JvdyAoc3RydWN0IHdpbmRvdyAqLCBzdHJ1Y3QgZ2x5cGhfcm93ICosCiAJ
CQkgICAgICBlbnVtIGdseXBoX3Jvd19hcmVhLCBjYWlyb190ICopOwogc3RhdGljIHN0cnVjdCBm
cmFtZSAqcGd0a19hbnlfd2luZG93X3RvX2ZyYW1lIChHZGtXaW5kb3cgKik7CkBAIC0xMzA4LDkg
KzEzMDgsMTAgQEAgcGd0a19jb21wdXRlX2dseXBoX3N0cmluZ19vdmVyaGFuZ3MgKHN0cnVjdCBn
bHlwaF9zdHJpbmcgKnMpCiBwZ3RrX2NsZWFyX2dseXBoX3N0cmluZ19yZWN0IChzdHJ1Y3QgZ2x5
cGhfc3RyaW5nICpzLCBpbnQgeCwgaW50IHksCiAJCQkgICAgICBpbnQgdywgaW50IGgpCiB7Ci0g
IHBndGtfZmlsbF9yZWN0YW5nbGUgKHMtPmYsIHMtPnhnY3YuYmFja2dyb3VuZCwgeCwgeSwgdywg
aCwKLQkJICAgICAgIChzLT5maXJzdF9nbHlwaC0+dHlwZSAhPSBTVFJFVENIX0dMWVBICi0JCQl8
fCBzLT5obCAhPSBEUkFXX0NVUlNPUikpOworICBkb3VibGUgYWxwaGEgPSAocy0+Zmlyc3RfZ2x5
cGgtPnR5cGUgIT0gU1RSRVRDSF9HTFlQSCB8fCBzLT5obCAhPSBEUkFXX0NVUlNPUikKKyAgICA/
IHMtPmYtPmFscGhhX2JhY2tncm91bmQKKyAgICA6IDEuMDsKKyAgcGd0a19maWxsX3JlY3Rhbmds
ZSAocy0+Ziwgcy0+eGdjdi5iYWNrZ3JvdW5kLCB4LCB5LCB3LCBoLCBhbHBoYSk7CiB9CiAKIHN0
YXRpYyB2b2lkCkBAIC0xMzk0LDEyICsxMzk1LDEyIEBAIHBndGtfZHJhd19nbHlwaF9zdHJpbmdf
YmFja2dyb3VuZCAoc3RydWN0IGdseXBoX3N0cmluZyAqcywgYm9vbCBmb3JjZV9wKQogCiBzdGF0
aWMgdm9pZAogcGd0a19kcmF3X3JlY3RhbmdsZSAoc3RydWN0IGZyYW1lICpmLCB1bnNpZ25lZCBs
b25nIGNvbG9yLCBpbnQgeCwgaW50IHksCi0JCSAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBi
b29sIHJlc3BlY3RfYWxwaGFfYmFja2dyb3VuZCkKKwkJICAgICBpbnQgd2lkdGgsIGludCBoZWln
aHQsIGRvdWJsZSBhbHBoYSkKIHsKICAgY2Fpcm9fdCAqY3I7CiAKICAgY3IgPSBwZ3RrX2JlZ2lu
X2NyX2NsaXAgKGYpOwotICBwZ3RrX3NldF9jcl9zb3VyY2Vfd2l0aF9jb2xvciAoZiwgY29sb3Is
IHJlc3BlY3RfYWxwaGFfYmFja2dyb3VuZCk7CisgIHBndGtfc2V0X2NyX3NvdXJjZV93aXRoX2Nv
bG9yIChmLCBjb2xvciwgYWxwaGEpOwogICBjYWlyb19yZWN0YW5nbGUgKGNyLCB4ICsgMC41LCB5
ICsgMC41LCB3aWR0aCwgaGVpZ2h0KTsKICAgY2Fpcm9fc2V0X2xpbmVfd2lkdGggKGNyLCAxKTsK
ICAgY2Fpcm9fc3Ryb2tlIChjcik7CkBAIC0xNDI5LDcgKzE0MzAsNyBAQCBwZ3RrX2RyYXdfZ2x5
cGhfc3RyaW5nX2ZvcmVncm91bmQgKHN0cnVjdCBnbHlwaF9zdHJpbmcgKnMpCiAJICBwZ3RrX2Ry
YXdfcmVjdGFuZ2xlIChzLT5mLAogCQkJICAgICAgIHMtPmZhY2UtPmZvcmVncm91bmQsIHgsIHMt
PnksCiAJCQkgICAgICAgZy0+cGl4ZWxfd2lkdGggLSAxLCBzLT5oZWlnaHQgLSAxLAotCQkJICAg
ICAgIGZhbHNlKTsKKwkJCSAgICAgICAxLjApOwogCSAgeCArPSBnLT5waXhlbF93aWR0aDsKIAl9
CiAgICAgfQpAQCAtMTQ3OCw3ICsxNDc5LDcgQEAgcGd0a19kcmF3X2NvbXBvc2l0ZV9nbHlwaF9z
dHJpbmdfZm9yZWdyb3VuZCAoc3RydWN0IGdseXBoX3N0cmluZyAqcykKICAgICB7CiAgICAgICBp
ZiAocy0+Y21wX2Zyb20gPT0gMCkKIAlwZ3RrX2RyYXdfcmVjdGFuZ2xlIChzLT5mLCBzLT5mYWNl
LT5mb3JlZ3JvdW5kLCB4LCBzLT55LAotCQkJICAgICBzLT53aWR0aCAtIDEsIHMtPmhlaWdodCAt
IDEsIGZhbHNlKTsKKwkJCSAgICAgcy0+d2lkdGggLSAxLCBzLT5oZWlnaHQgLSAxLCAxLjApOwog
ICAgIH0KICAgZWxzZSBpZiAoIXMtPmZpcnN0X2dseXBoLT51LmNtcC5hdXRvbWF0aWMpCiAgICAg
ewpAQCAtMTYyMiw3ICsxNjIzLDcgQEAgcGd0a19kcmF3X2dseXBobGVzc19nbHlwaF9zdHJpbmdf
Zm9yZWdyb3VuZCAoc3RydWN0IGdseXBoX3N0cmluZyAqcykKIAkJCSAgICAgeCwgcy0+eWJhc2Ug
LSBnbHlwaC0+YXNjZW50LAogCQkJICAgICBnbHlwaC0+cGl4ZWxfd2lkdGggLSAxLAogCQkJICAg
ICBnbHlwaC0+YXNjZW50ICsgZ2x5cGgtPmRlc2NlbnQgLSAxLAotCQkJICAgICBmYWxzZSk7CisJ
CQkgICAgIDEuMCk7CiAgICAgICB4ICs9IGdseXBoLT5waXhlbF93aWR0aDsKICAgICB9CiAKQEAg
LTE3MjIsNyArMTcyMyw3IEBAIHBndGtfZmlsbF90cmFwZXpvaWRfZm9yX3JlbGllZiAoc3RydWN0
IGZyYW1lICpmLCB1bnNpZ25lZCBsb25nIGNvbG9yLCBpbnQgeCwKICAgY2Fpcm9fdCAqY3I7CiAK
ICAgY3IgPSBwZ3RrX2JlZ2luX2NyX2NsaXAgKGYpOwotICBwZ3RrX3NldF9jcl9zb3VyY2Vfd2l0
aF9jb2xvciAoZiwgY29sb3IsIGZhbHNlKTsKKyAgcGd0a19zZXRfY3Jfc291cmNlX3dpdGhfY29s
b3IgKGYsIGNvbG9yLCAxLjApOwogICBjYWlyb19tb3ZlX3RvIChjciwgdG9wX3AgPyB4IDogeCAr
IGhlaWdodCwgeSk7CiAgIGNhaXJvX2xpbmVfdG8gKGNyLCB4LCB5ICsgaGVpZ2h0KTsKICAgY2Fp
cm9fbGluZV90byAoY3IsIHRvcF9wID8geCArIHdpZHRoIC0gaGVpZ2h0IDogeCArIHdpZHRoLCB5
ICsgaGVpZ2h0KTsKQEAgLTE3NDksNyArMTc1MCw3IEBAIHBndGtfZXJhc2VfY29ybmVyc19mb3Jf
cmVsaWVmIChzdHJ1Y3QgZnJhbWUgKmYsIHVuc2lnbmVkIGxvbmcgY29sb3IsIGludCB4LAogICBp
bnQgaTsKIAogICBjciA9IHBndGtfYmVnaW5fY3JfY2xpcCAoZik7Ci0gIHBndGtfc2V0X2NyX3Nv
dXJjZV93aXRoX2NvbG9yIChmLCBjb2xvciwgZmFsc2UpOworICBwZ3RrX3NldF9jcl9zb3VyY2Vf
d2l0aF9jb2xvciAoZiwgY29sb3IsIDEuMCk7CiAgIGZvciAoaSA9IDA7IGkgPCBDT1JORVJfTEFT
VDsgaSsrKQogICAgIGlmIChjb3JuZXJzICYgKDEgPDwgaSkpCiAgICAgICB7CkBAIC0xODcxLDcg
KzE4NzIsNyBAQCBwZ3RrX2RyYXdfcmVsaWVmX3JlY3QgKHN0cnVjdCBmcmFtZSAqZiwKICAgaWYg
KGxlZnRfcCkKICAgICB7CiAgICAgICBwZ3RrX2ZpbGxfcmVjdGFuZ2xlIChmLCB0b3BfbGVmdF9j
b2xvciwgbGVmdF94LCB0b3BfeSwKLQkJCSAgIHZ3aWR0aCwgYm90dG9tX3kgKyAxIC0gdG9wX3ks
IGZhbHNlKTsKKwkJCSAgIHZ3aWR0aCwgYm90dG9tX3kgKyAxIC0gdG9wX3ksIDEuMCk7CiAgICAg
ICBpZiAodG9wX3ApCiAJY29ybmVycyB8PSAxIDw8IENPUk5FUl9UT1BfTEVGVDsKICAgICAgIGlm
IChib3RfcCkKQEAgLTE4ODAsNyArMTg4MSw3IEBAIHBndGtfZHJhd19yZWxpZWZfcmVjdCAoc3Ry
dWN0IGZyYW1lICpmLAogICBpZiAocmlnaHRfcCkKICAgICB7CiAgICAgICBwZ3RrX2ZpbGxfcmVj
dGFuZ2xlIChmLCBib3R0b21fcmlnaHRfY29sb3IsIHJpZ2h0X3ggKyAxIC0gdndpZHRoLCB0b3Bf
eSwKLQkJCSAgIHZ3aWR0aCwgYm90dG9tX3kgKyAxIC0gdG9wX3ksIGZhbHNlKTsKKwkJCSAgIHZ3
aWR0aCwgYm90dG9tX3kgKyAxIC0gdG9wX3ksIDEuMCk7CiAgICAgICBpZiAodG9wX3ApCiAJY29y
bmVycyB8PSAxIDw8IENPUk5FUl9UT1BfUklHSFQ7CiAgICAgICBpZiAoYm90X3ApCkBAIC0xODkw
LDcgKzE4OTEsNyBAQCBwZ3RrX2RyYXdfcmVsaWVmX3JlY3QgKHN0cnVjdCBmcmFtZSAqZiwKICAg
ICB7CiAgICAgICBpZiAoIXJpZ2h0X3ApCiAJcGd0a19maWxsX3JlY3RhbmdsZSAoZiwgdG9wX2xl
ZnRfY29sb3IsIGxlZnRfeCwgdG9wX3ksCi0JCQkgICAgIHJpZ2h0X3ggKyAxIC0gbGVmdF94LCBo
d2lkdGgsIGZhbHNlKTsKKwkJCSAgICAgcmlnaHRfeCArIDEgLSBsZWZ0X3gsIGh3aWR0aCwgMS4w
KTsKICAgICAgIGVsc2UKIAlwZ3RrX2ZpbGxfdHJhcGV6b2lkX2Zvcl9yZWxpZWYgKGYsIHRvcF9s
ZWZ0X2NvbG9yLCBsZWZ0X3gsIHRvcF95LAogCQkJCQlyaWdodF94ICsgMSAtIGxlZnRfeCwgaHdp
ZHRoLCAxKTsKQEAgLTE5MDAsNyArMTkwMSw3IEBAIHBndGtfZHJhd19yZWxpZWZfcmVjdCAoc3Ry
dWN0IGZyYW1lICpmLAogICAgICAgaWYgKCFsZWZ0X3ApCiAJcGd0a19maWxsX3JlY3RhbmdsZSAo
ZiwgYm90dG9tX3JpZ2h0X2NvbG9yLCBsZWZ0X3gsCiAJCQkgICAgIGJvdHRvbV95ICsgMSAtIGh3
aWR0aCwgcmlnaHRfeCArIDEgLSBsZWZ0X3gsCi0JCQkgICAgIGh3aWR0aCwgZmFsc2UpOworCQkJ
ICAgICBod2lkdGgsIDEuMCk7CiAgICAgICBlbHNlCiAJcGd0a19maWxsX3RyYXBlem9pZF9mb3Jf
cmVsaWVmIChmLCBib3R0b21fcmlnaHRfY29sb3IsCiAJCQkJCWxlZnRfeCwgYm90dG9tX3kgKyAx
IC0gaHdpZHRoLApAQCAtMTkwOCwxMCArMTkwOSwxMCBAQCBwZ3RrX2RyYXdfcmVsaWVmX3JlY3Qg
KHN0cnVjdCBmcmFtZSAqZiwKICAgICB9CiAgIGlmIChsZWZ0X3AgJiYgdndpZHRoID4gMSkKICAg
ICBwZ3RrX2ZpbGxfcmVjdGFuZ2xlIChmLCBib3R0b21fcmlnaHRfY29sb3IsIGxlZnRfeCwgdG9w
X3ksCi0JCQkgMSwgYm90dG9tX3kgKyAxIC0gdG9wX3ksIGZhbHNlKTsKKwkJCSAxLCBib3R0b21f
eSArIDEgLSB0b3BfeSwgMS4wKTsKICAgaWYgKHRvcF9wICYmIGh3aWR0aCA+IDEpCiAgICAgcGd0
a19maWxsX3JlY3RhbmdsZSAoZiwgYm90dG9tX3JpZ2h0X2NvbG9yLCBsZWZ0X3gsIHRvcF95LAot
CQkJIHJpZ2h0X3ggKyAxIC0gbGVmdF94LCAxLCBmYWxzZSk7CisJCQkgcmlnaHRfeCArIDEgLSBs
ZWZ0X3gsIDEsIDEuMCk7CiAgIGlmIChjb3JuZXJzKQogICAgIHBndGtfZXJhc2VfY29ybmVyc19m
b3JfcmVsaWVmIChmLCBGUkFNRV9CQUNLR1JPVU5EX1BJWEVMIChmKSwgbGVmdF94LAogCQkJCSAg
IHRvcF95LCByaWdodF94IC0gbGVmdF94ICsgMSwKQEAgLTE5NDUsMjQgKzE5NDYsMjQgQEAgcGd0
a19kcmF3X2JveF9yZWN0IChzdHJ1Y3QgZ2x5cGhfc3RyaW5nICpzLCBpbnQgbGVmdF94LAogICAv
KiBUb3AuICAqLwogICBwZ3RrX2ZpbGxfcmVjdGFuZ2xlIChzLT5mLCBzLT54Z2N2LmZvcmVncm91
bmQsCiAJCSAgICAgICBsZWZ0X3gsIHRvcF95LCByaWdodF94IC0gbGVmdF94ICsgMSwgaHdpZHRo
LAotCQkgICAgICAgZmFsc2UpOworCQkgICAgICAgMS4wKTsKIAogICAvKiBMZWZ0LiAgKi8KICAg
aWYgKGxlZnRfcCkKICAgICBwZ3RrX2ZpbGxfcmVjdGFuZ2xlIChzLT5mLCBzLT54Z2N2LmZvcmVn
cm91bmQsCiAJCQkgbGVmdF94LCB0b3BfeSwgdndpZHRoLCBib3R0b21feSAtIHRvcF95ICsgMSwK
LQkJCSBmYWxzZSk7CisJCQkgMS4wKTsKIAogICAvKiBCb3R0b20uICAqLwogICBwZ3RrX2ZpbGxf
cmVjdGFuZ2xlIChzLT5mLCBzLT54Z2N2LmZvcmVncm91bmQsCiAJCSAgICAgICBsZWZ0X3gsIGJv
dHRvbV95IC0gaHdpZHRoICsgMSwgcmlnaHRfeCAtIGxlZnRfeCArIDEsCi0JCSAgICAgICBod2lk
dGgsIGZhbHNlKTsKKwkJICAgICAgIGh3aWR0aCwgMS4wKTsKIAogICAvKiBSaWdodC4gICovCiAg
IGlmIChyaWdodF9wKQogICAgIHBndGtfZmlsbF9yZWN0YW5nbGUgKHMtPmYsIHMtPnhnY3YuZm9y
ZWdyb3VuZCwKIAkJCSByaWdodF94IC0gdndpZHRoICsgMSwgdG9wX3ksIHZ3aWR0aCwKLQkJCSBi
b3R0b21feSAtIHRvcF95ICsgMSwgZmFsc2UpOworCQkJIGJvdHRvbV95IC0gdG9wX3kgKyAxLCAx
LjApOwogCiAgIHMtPnhnY3YuZm9yZWdyb3VuZCA9IGZvcmVncm91bmRfYmFja3VwOwogCkBAIC0y
MDI2LDcgKzIwMjcsNyBAQCBwZ3RrX2RyYXdfaG9yaXpvbnRhbF93YXZlIChzdHJ1Y3QgZnJhbWUg
KmYsIHVuc2lnbmVkIGxvbmcgY29sb3IsIGludCB4LCBpbnQgeSwKICAgaW50IHhvZmZzZXQsIG47
CiAKICAgY3IgPSBwZ3RrX2JlZ2luX2NyX2NsaXAgKGYpOwotICBwZ3RrX3NldF9jcl9zb3VyY2Vf
d2l0aF9jb2xvciAoZiwgY29sb3IsIGZhbHNlKTsKKyAgcGd0a19zZXRfY3Jfc291cmNlX3dpdGhf
Y29sb3IgKGYsIGNvbG9yLCAxLjApOwogICBjYWlyb19yZWN0YW5nbGUgKGNyLCB4LCB5LCB3aWR0
aCwgaGVpZ2h0KTsKICAgY2Fpcm9fY2xpcCAoY3IpOwogCkBAIC0yMTgzLDcgKzIxODQsNyBAQCBw
Z3RrX2NyX2RyYXdfaW1hZ2UgKHN0cnVjdCBmcmFtZSAqZiwgRW1hY3NfR0MgKmdjLCBjYWlyb19w
YXR0ZXJuX3QgKmltYWdlLAogICAgIGNhaXJvX3JlY3RhbmdsZSAoY3IsIGRlc3RfeCwgZGVzdF95
LCB3aWR0aCwgaGVpZ2h0KTsKICAgZWxzZQogICAgIHsKLSAgICAgIHBndGtfc2V0X2NyX3NvdXJj
ZV93aXRoX2djX2JhY2tncm91bmQgKGYsIGdjLCBmYWxzZSk7CisgICAgICBwZ3RrX3NldF9jcl9z
b3VyY2Vfd2l0aF9nY19iYWNrZ3JvdW5kIChmLCBnYywgMS4wKTsKICAgICAgIGNhaXJvX3JlY3Rh
bmdsZSAoY3IsIGRlc3RfeCwgZGVzdF95LCB3aWR0aCwgaGVpZ2h0KTsKICAgICAgIGNhaXJvX2Zp
bGxfcHJlc2VydmUgKGNyKTsKICAgICB9CkBAIC0yMjAwLDcgKzIyMDEsNyBAQCBwZ3RrX2NyX2Ry
YXdfaW1hZ2UgKHN0cnVjdCBmcmFtZSAqZiwgRW1hY3NfR0MgKmdjLCBjYWlyb19wYXR0ZXJuX3Qg
KmltYWdlLAogICAgIH0KICAgZWxzZQogICAgIHsKLSAgICAgIHBndGtfc2V0X2NyX3NvdXJjZV93
aXRoX2djX2ZvcmVncm91bmQgKGYsIGdjLCBmYWxzZSk7CisgICAgICBwZ3RrX3NldF9jcl9zb3Vy
Y2Vfd2l0aF9nY19mb3JlZ3JvdW5kIChmLCBnYywgMS4wKTsKICAgICAgIGNhaXJvX2NsaXAgKGNy
KTsKICAgICAgIGNhaXJvX21hc2sgKGNyLCBpbWFnZSk7CiAgICAgfQpAQCAtMjI1MCw3ICsyMjUx
LDcgQEAgcGd0a19kcmF3X2ltYWdlX2ZvcmVncm91bmQgKHN0cnVjdCBnbHlwaF9zdHJpbmcgKnMp
CiAJICAgICAgaW50IHJlbGllZiA9IGVhYnMgKHMtPmltZy0+cmVsaWVmKTsKIAkgICAgICBwZ3Rr
X2RyYXdfcmVjdGFuZ2xlIChzLT5mLCBzLT54Z2N2LmZvcmVncm91bmQsIHggLSByZWxpZWYsCiAJ
CQkJICAgeSAtIHJlbGllZiwgcy0+c2xpY2Uud2lkdGggKyByZWxpZWYgKiAyIC0gMSwKLQkJCQkg
ICBzLT5zbGljZS5oZWlnaHQgKyByZWxpZWYgKiAyIC0gMSwgZmFsc2UpOworCQkJCSAgIHMtPnNs
aWNlLmhlaWdodCArIHJlbGllZiAqIDIgLSAxLCAxLjApOwogCSAgICB9CiAJfQogICAgICAgcGd0
a19lbmRfY3JfY2xpcCAocy0+Zik7CkBAIC0yMjU4LDcgKzIyNTksNyBAQCBwZ3RrX2RyYXdfaW1h
Z2VfZm9yZWdyb3VuZCAoc3RydWN0IGdseXBoX3N0cmluZyAqcykKICAgZWxzZQogICAgIC8qIERy
YXcgYSByZWN0YW5nbGUgaWYgaW1hZ2UgY291bGQgbm90IGJlIGxvYWRlZC4gICovCiAgICAgcGd0
a19kcmF3X3JlY3RhbmdsZSAocy0+Ziwgcy0+eGdjdi5mb3JlZ3JvdW5kLCB4LCB5LAotCQkJIHMt
PnNsaWNlLndpZHRoIC0gMSwgcy0+c2xpY2UuaGVpZ2h0IC0gMSwgZmFsc2UpOworCQkJIHMtPnNs
aWNlLndpZHRoIC0gMSwgcy0+c2xpY2UuaGVpZ2h0IC0gMSwgMS4wKTsKIH0KIAogLyogRHJhdyBp
bWFnZSBnbHlwaCBzdHJpbmcgUy4KQEAgLTIzOTgsNyArMjM5OSw3IEBAIHBndGtfZHJhd19zdHJl
dGNoX2dseXBoX3N0cmluZyAoc3RydWN0IGdseXBoX3N0cmluZyAqcykKIAkgICAgZmlsbF9iYWNr
Z3JvdW5kIChzLCB4LCB5LCB3LCBoKTsKIAkgIGVsc2UKIAkgICAgcGd0a19maWxsX3JlY3Rhbmds
ZSAocy0+ZiwgY29sb3IsIHgsIHksIHcsIGgsCi0JCQkJIHRydWUpOworCQkJCSBzLT5mLT5hbHBo
YV9iYWNrZ3JvdW5kKTsKIAogCSAgcGd0a19lbmRfY3JfY2xpcCAocy0+Zik7CiAJfQpAQCAtMjQz
OCw3ICsyNDM5LDcgQEAgcGd0a19kcmF3X2Rhc2ggKHN0cnVjdCBmcmFtZSAqZiwgc3RydWN0IGds
eXBoX3N0cmluZyAqcywKICAgZG91YmxlIGNyX3NlZ21lbnQsIHlfY2VudGVyOwogCiAgIGNyID0g
cGd0a19iZWdpbl9jcl9jbGlwIChzLT5mKTsKLSAgcGd0a19zZXRfY3Jfc291cmNlX3dpdGhfY29s
b3IgKGYsIGZvcmVncm91bmQsIGZhbHNlKTsKKyAgcGd0a19zZXRfY3Jfc291cmNlX3dpdGhfY29s
b3IgKGYsIGZvcmVncm91bmQsIDEuMCk7CiAgIGNyX3NlZ21lbnQgPSAoZG91YmxlKSBzZWdtZW50
OwogICB5X2NlbnRlciA9IHMtPnliYXNlICsgb2Zmc2V0ICsgKHRoaWNrbmVzcyAvIDIuMCk7CiAK
QEAgLTI0NzIsNyArMjQ3Myw3IEBAIHBndGtfZmlsbF91bmRlcmxpbmUgKHN0cnVjdCBmcmFtZSAq
Ziwgc3RydWN0IGdseXBoX3N0cmluZyAqcywKICAgICBjYXNlIEZBQ0VfVU5ERVJMSU5FX1NJTkdM
RToKICAgICBjYXNlIEZBQ0VfVU5ERVJMSU5FX0RPVUJMRV9MSU5FOgogICAgICAgcGd0a19maWxs
X3JlY3RhbmdsZSAoZiwgZm9yZWdyb3VuZCwgcy0+eCwgcy0+eWJhc2UgKyBwb3NpdGlvbiwKLQkJ
CSAgIGRlY29yYXRpb25fd2lkdGgsIHRoaWNrbmVzcywgZmFsc2UpOworCQkJICAgZGVjb3JhdGlv
bl93aWR0aCwgdGhpY2tuZXNzLCAxLjApOwogICAgICAgYnJlYWs7CiAKICAgICBjYXNlIEZBQ0Vf
VU5ERVJMSU5FX0RPVFM6CkBAIC0yNzAxLDEwICsyNzAyLDEwIEBAIHBndGtfZHJhd19nbHlwaF9z
dHJpbmcgKHN0cnVjdCBnbHlwaF9zdHJpbmcgKnMpCiAKIAkgIGlmIChzLT5mYWNlLT5vdmVybGlu
ZV9jb2xvcl9kZWZhdWx0ZWRfcCkKIAkgICAgcGd0a19maWxsX3JlY3RhbmdsZSAocy0+Ziwgcy0+
eGdjdi5mb3JlZ3JvdW5kLCBzLT54LCBzLT55ICsgZHksCi0JCQkJIHMtPndpZHRoLCBoLCBmYWxz
ZSk7CisJCQkJIHMtPndpZHRoLCBoLCAxLjApOwogCSAgZWxzZQogCSAgICBwZ3RrX2ZpbGxfcmVj
dGFuZ2xlIChzLT5mLCBzLT5mYWNlLT5vdmVybGluZV9jb2xvciwgcy0+eCwKLQkJCQkgcy0+eSAr
IGR5LCBzLT53aWR0aCwgaCwgZmFsc2UpOworCQkJCSBzLT55ICsgZHksIHMtPndpZHRoLCBoLCAx
LjApOwogCX0KIAogICAgICAgLyogRHJhdyBzdHJpa2UtdGhyb3VnaC4gICovCkBAIC0yNzI0LDEw
ICsyNzI1LDEwIEBAIHBndGtfZHJhd19nbHlwaF9zdHJpbmcgKHN0cnVjdCBnbHlwaF9zdHJpbmcg
KnMpCiAKIAkgIGlmIChzLT5mYWNlLT5zdHJpa2VfdGhyb3VnaF9jb2xvcl9kZWZhdWx0ZWRfcCkK
IAkgICAgcGd0a19maWxsX3JlY3RhbmdsZSAocy0+Ziwgcy0+eGdjdi5mb3JlZ3JvdW5kLCBzLT54
LCBnbHlwaF95ICsgZHksCi0JCQkJIHMtPndpZHRoLCBoLCBmYWxzZSk7CisJCQkJIHMtPndpZHRo
LCBoLCAxLjApOwogCSAgZWxzZQogCSAgICBwZ3RrX2ZpbGxfcmVjdGFuZ2xlIChzLT5mLCBzLT5m
YWNlLT5zdHJpa2VfdGhyb3VnaF9jb2xvciwgcy0+eCwKLQkJCQkgZ2x5cGhfeSArIGR5LCBzLT53
aWR0aCwgaCwgZmFsc2UpOworCQkJCSBnbHlwaF95ICsgZHksIHMtPndpZHRoLCBoLCAxLjApOwog
CX0KIAogICAgICAgaWYgKHMtPnByZXYpCkBAIC0yODY0LDcgKzI4NjUsNyBAQCBwZ3RrX2RyYXdf
aG9sbG93X2N1cnNvciAoc3RydWN0IHdpbmRvdyAqdywgc3RydWN0IGdseXBoX3JvdyAqcm93KQog
ICAvKiBUaGUgZm9yZWdyb3VuZCBvZiBjdXJzb3JfZ2MgaXMgdHlwaWNhbGx5IHRoZSBzYW1lIGFz
IHRoZSBub3JtYWwKICAgICAgYmFja2dyb3VuZCBjb2xvciwgd2hpY2ggY2FuIGNhdXNlIHRoZSBj
dXJzb3IgYm94IHRvIGJlIGludmlzaWJsZS4gICovCiAgIGNhaXJvX3QgKmNyID0gcGd0a19iZWdp
bl9jcl9jbGlwIChmKTsKLSAgcGd0a19zZXRfY3Jfc291cmNlX3dpdGhfY29sb3IgKGYsIEZSQU1F
X1hfT1VUUFVUIChmKS0+Y3Vyc29yX2NvbG9yLCBmYWxzZSk7CisgIHBndGtfc2V0X2NyX3NvdXJj
ZV93aXRoX2NvbG9yIChmLCBGUkFNRV9YX09VVFBVVCAoZiktPmN1cnNvcl9jb2xvciwgMS4wKTsK
IAogICAvKiBXaGVuIG9uIFIyTCBjaGFyYWN0ZXIsIHNob3cgY3Vyc29yIGF0IHRoZSByaWdodCBl
ZGdlIG9mIHRoZQogICAgICBnbHlwaCwgdW5sZXNzIHRoZSBjdXJzb3IgYm94IGlzIGFzIHdpZGUg
YXMgdGhlIGdseXBoIG9yIHdpZGVyCkBAIC0yODc5LDcgKzI4ODAsNyBAQCBwZ3RrX2RyYXdfaG9s
bG93X2N1cnNvciAoc3RydWN0IHdpbmRvdyAqdywgc3RydWN0IGdseXBoX3JvdyAqcm93KQogICAv
KiBTZXQgY2xpcHBpbmcsIGRyYXcgdGhlIHJlY3RhbmdsZSwgYW5kIHJlc2V0IGNsaXBwaW5nIGFn
YWluLiAgKi8KICAgcGd0a19jbGlwX3RvX3JvdyAodywgcm93LCBURVhUX0FSRUEsIGNyKTsKICAg
cGd0a19kcmF3X3JlY3RhbmdsZSAoZiwgRlJBTUVfWF9PVVRQVVQgKGYpLT5jdXJzb3JfY29sb3Is
Ci0JCSAgICAgICB4LCB5LCB3ZCwgaCAtIDEsIGZhbHNlKTsKKwkJICAgICAgIHgsIHksIHdkLCBo
IC0gMSwgMS4wKTsKICAgcGd0a19lbmRfY3JfY2xpcCAoZik7CiB9CiAKQEAgLTI5NTMsNyArMjk1
NCw3IEBAIHBndGtfZHJhd19iYXJfY3Vyc29yIChzdHJ1Y3Qgd2luZG93ICp3LCBzdHJ1Y3QgZ2x5
cGhfcm93ICpyb3csIGludCB3aWR0aCwKIAogCSAgcGd0a19maWxsX3JlY3RhbmdsZSAoZiwgY29s
b3IsIHgsCiAJCQkgICAgICAgV0lORE9XX1RPX0ZSQU1FX1BJWEVMX1kgKHcsIHctPnBoeXNfY3Vy
c29yLnkpLAotCQkJICAgICAgIHdpZHRoLCByb3ctPmhlaWdodCwgZmFsc2UpOworCQkJICAgICAg
IHdpZHRoLCByb3ctPmhlaWdodCwgMS4wKTsKIAl9CiAgICAgICBlbHNlCQkJLyogSEJBUl9DVVJT
T1IgKi8KIAl7CkBAIC0yOTc0LDcgKzI5NzUsNyBAQCBwZ3RrX2RyYXdfYmFyX2N1cnNvciAoc3Ry
dWN0IHdpbmRvdyAqdywgc3RydWN0IGdseXBoX3JvdyAqcm93LCBpbnQgd2lkdGgsCiAJICBwZ3Rr
X2ZpbGxfcmVjdGFuZ2xlIChmLCBjb2xvciwgeCwKIAkJCSAgICAgICBXSU5ET1dfVE9fRlJBTUVf
UElYRUxfWSAodywgdy0+cGh5c19jdXJzb3IueSArCiAJCQkJCQkJcm93LT5oZWlnaHQgLSB3aWR0
aCksCi0JCQkgICAgICAgdy0+cGh5c19jdXJzb3Jfd2lkdGggLSAxLCB3aWR0aCwgZmFsc2UpOwor
CQkJICAgICAgIHctPnBoeXNfY3Vyc29yX3dpZHRoIC0gMSwgd2lkdGgsIDEuMCk7CiAJfQogCiAg
ICAgICBwZ3RrX2VuZF9jcl9jbGlwIChmKTsKQEAgLTMzMzAsNyArMzMzMSw3IEBAIHBndGtfZHJh
d192ZXJ0aWNhbF93aW5kb3dfYm9yZGVyIChzdHJ1Y3Qgd2luZG93ICp3LCBpbnQgeCwgaW50IHkw
LCBpbnQgeTEpCiAKICAgZmFjZSA9IEZBQ0VfRlJPTV9JRF9PUl9OVUxMIChmLCBWRVJUSUNBTF9C
T1JERVJfRkFDRV9JRCk7CiAgIGlmIChmYWNlKQotICAgIHBndGtfc2V0X2NyX3NvdXJjZV93aXRo
X2NvbG9yIChmLCBmYWNlLT5mb3JlZ3JvdW5kLCBmYWxzZSk7CisgICAgcGd0a19zZXRfY3Jfc291
cmNlX3dpdGhfY29sb3IgKGYsIGZhY2UtPmZvcmVncm91bmQsIDEuMCk7CiAKICAgY2Fpcm9fcmVj
dGFuZ2xlIChjciwgeCwgeTAsIDEsIHkxIC0geTApOwogICBjYWlyb19maWxsIChjcik7CkBAIC0z
MzYxLDM5ICszMzYyLDMyIEBAIHBndGtfZHJhd193aW5kb3dfZGl2aWRlciAoc3RydWN0IHdpbmRv
dyAqdywgaW50IHgwLCBpbnQgeDEsIGludCB5MCwgaW50IHkxKQogICBpZiAoeTEgLSB5MCA+IHgx
IC0geDAgJiYgeDEgLSB4MCA+IDIpCiAgICAgLyogVmVydGljYWwuICAqLwogICAgIHsKLSAgICAg
IHBndGtfc2V0X2NyX3NvdXJjZV93aXRoX2NvbG9yIChmLCBjb2xvcl9maXJzdCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmLT5ib3JkZXJzX3Jlc3BlY3RfYWxwaGFfYmFj
a2dyb3VuZCk7CisgICAgICBwZ3RrX3NldF9jcl9zb3VyY2Vfd2l0aF9jb2xvciAoZiwgY29sb3Jf
Zmlyc3QsIGYtPmFscGhhX2JvcmRlcnMpOwogICAgICAgY2Fpcm9fcmVjdGFuZ2xlIChjciwgeDAs
IHkwLCAxLCB5MSAtIHkwKTsKICAgICAgIGNhaXJvX2ZpbGwgKGNyKTsKLSAgICAgIHBndGtfc2V0
X2NyX3NvdXJjZV93aXRoX2NvbG9yIChmLCBjb2xvciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmLT5ib3JkZXJzX3Jlc3BlY3RfYWxwaGFfYmFja2dyb3VuZCk7CisgICAg
ICBwZ3RrX3NldF9jcl9zb3VyY2Vfd2l0aF9jb2xvciAoZiwgY29sb3IsIGYtPmFscGhhX2JvcmRl
cnMpOwogICAgICAgY2Fpcm9fcmVjdGFuZ2xlIChjciwgeDAgKyAxLCB5MCwgeDEgLSB4MCAtIDIs
IHkxIC0geTApOwogICAgICAgY2Fpcm9fZmlsbCAoY3IpOwotICAgICAgcGd0a19zZXRfY3Jfc291
cmNlX3dpdGhfY29sb3IgKGYsIGNvbG9yX2xhc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZi0+Ym9yZGVyc19yZXNwZWN0X2FscGhhX2JhY2tncm91bmQpOworICAgICAg
cGd0a19zZXRfY3Jfc291cmNlX3dpdGhfY29sb3IgKGYsIGNvbG9yX2xhc3QsIGYtPmFscGhhX2Jv
cmRlcnMpOwogICAgICAgY2Fpcm9fcmVjdGFuZ2xlIChjciwgeDEgLSAxLCB5MCwgMSwgeTEgLSB5
MCk7CiAgICAgICBjYWlyb19maWxsIChjcik7CiAgICAgfQogICBlbHNlIGlmICh4MSAtIHgwID4g
eTEgLSB5MCAmJiB5MSAtIHkwID4gMykKICAgICAvKiBIb3Jpem9udGFsLiAgKi8KICAgICB7Ci0g
ICAgICBwZ3RrX3NldF9jcl9zb3VyY2Vfd2l0aF9jb2xvciAoZiwgY29sb3JfZmlyc3QsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZi0+Ym9yZGVyc19yZXNwZWN0X2FscGhh
X2JhY2tncm91bmQpOworICAgICAgcGd0a19zZXRfY3Jfc291cmNlX3dpdGhfY29sb3IgKGYsIGNv
bG9yX2ZpcnN0LCBmLT5hbHBoYV9ib3JkZXJzKTsKICAgICAgIGNhaXJvX3JlY3RhbmdsZSAoY3Is
IHgwLCB5MCwgeDEgLSB4MCwgMSk7CiAgICAgICBjYWlyb19maWxsIChjcik7Ci0gICAgICBwZ3Rr
X3NldF9jcl9zb3VyY2Vfd2l0aF9jb2xvciAoZiwgY29sb3IsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZi0+Ym9yZGVyc19yZXNwZWN0X2FscGhhX2JhY2tncm91bmQpOwor
ICAgICAgcGd0a19zZXRfY3Jfc291cmNlX3dpdGhfY29sb3IgKGYsIGNvbG9yLCBmLT5hbHBoYV9i
b3JkZXJzKTsKICAgICAgIGNhaXJvX3JlY3RhbmdsZSAoY3IsIHgwLCB5MCArIDEsIHgxIC0geDAs
IHkxIC0geTAgLSAyKTsKICAgICAgIGNhaXJvX2ZpbGwgKGNyKTsKLSAgICAgIHBndGtfc2V0X2Ny
X3NvdXJjZV93aXRoX2NvbG9yIChmLCBjb2xvcl9sYXN0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGYtPmJvcmRlcnNfcmVzcGVjdF9hbHBoYV9iYWNrZ3JvdW5kKTsKKyAg
ICAgIHBndGtfc2V0X2NyX3NvdXJjZV93aXRoX2NvbG9yIChmLCBjb2xvcl9sYXN0LCBmLT5hbHBo
YV9ib3JkZXJzKTsKICAgICAgIGNhaXJvX3JlY3RhbmdsZSAoY3IsIHgwLCB5MSAtIDEsIHgxIC0g
eDAsIDEpOwogICAgICAgY2Fpcm9fZmlsbCAoY3IpOwogICAgIH0KICAgZWxzZQogICAgIHsKLSAg
ICAgIHBndGtfc2V0X2NyX3NvdXJjZV93aXRoX2NvbG9yIChmLCBjb2xvciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBmLT5ib3JkZXJzX3Jlc3BlY3RfYWxwaGFfYmFja2dy
b3VuZCk7CisgICAgICBwZ3RrX3NldF9jcl9zb3VyY2Vfd2l0aF9jb2xvciAoZiwgY29sb3IsIGYt
PmFscGhhX2JvcmRlcnMpOwogICAgICAgY2Fpcm9fcmVjdGFuZ2xlIChjciwgeDAsIHkwLCB4MSAt
IHgwLCB5MSAtIHkwKTsKICAgICAgIGNhaXJvX2ZpbGwgKGNyKTsKICAgICB9CkBAIC00OTkyLDEx
ICs0OTg2LDExIEBAIHBndGtfaGFuZGxlX2V2ZW50IChHdGtXaWRnZXQgKndpZGdldCwgR2RrRXZl
bnQgKmV2ZW50LCBncG9pbnRlciAqZGF0YSkKIAogc3RhdGljIHZvaWQKIHBndGtfZmlsbF9yZWN0
YW5nbGUgKHN0cnVjdCBmcmFtZSAqZiwgdW5zaWduZWQgbG9uZyBjb2xvciwgaW50IHgsIGludCB5
LAotCQkgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCwgYm9vbCByZXNwZWN0X2FscGhhX2JhY2tn
cm91bmQpCisJCSAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBkb3VibGUgYWxwaGEpCiB7CiAg
IGNhaXJvX3QgKmNyOwogICBjciA9IHBndGtfYmVnaW5fY3JfY2xpcCAoZik7Ci0gIHBndGtfc2V0
X2NyX3NvdXJjZV93aXRoX2NvbG9yIChmLCBjb2xvciwgcmVzcGVjdF9hbHBoYV9iYWNrZ3JvdW5k
KTsKKyAgcGd0a19zZXRfY3Jfc291cmNlX3dpdGhfY29sb3IgKGYsIGNvbG9yLCBhbHBoYSk7CiAg
IGNhaXJvX3JlY3RhbmdsZSAoY3IsIHgsIHksIHdpZHRoLCBoZWlnaHQpOwogICBjYWlyb19maWxs
IChjcik7CiAgIHBndGtfZW5kX2NyX2NsaXAgKGYpOwpAQCAtNzQxOSw3ICs3NDEzLDcgQEAgcGd0
a19jbGVhcl9hcmVhIChzdHJ1Y3QgZnJhbWUgKmYsIGludCB4LCBpbnQgeSwgaW50IHdpZHRoLCBp
bnQgaGVpZ2h0KQogCiAgIGNyID0gcGd0a19iZWdpbl9jcl9jbGlwIChmKTsKICAgcGd0a19zZXRf
Y3Jfc291cmNlX3dpdGhfY29sb3IgKGYsIEZSQU1FX1hfT1VUUFVUIChmKS0+YmFja2dyb3VuZF9j
b2xvciwKLQkJCQkgdHJ1ZSk7CisJCQkJIGYtPmFscGhhX2JhY2tncm91bmQpOwogICBjYWlyb19y
ZWN0YW5nbGUgKGNyLCB4LCB5LCB3aWR0aCwgaGVpZ2h0KTsKICAgY2Fpcm9fZmlsbCAoY3IpOwog
ICBwZ3RrX2VuZF9jcl9jbGlwIChmKTsKQEAgLTc1NzAsMzEgKzc1NjQsMzUgQEAgcGd0a19lbmRf
Y3JfY2xpcCAoc3RydWN0IGZyYW1lICpmKQogICBjYWlyb19yZXN0b3JlIChGUkFNRV9DUl9DT05U
RVhUIChmKSk7CiB9CiAKK2RvdWJsZQorcGd0a19nZXRfZnJhbWVfYWxwaGFfYmFja2dyb3VuZCAo
c3RydWN0IGZyYW1lICpmKQoreworICByZXR1cm4gZi0+YWxwaGFfYmFja2dyb3VuZDsKK30KKwog
dm9pZAogcGd0a19zZXRfY3Jfc291cmNlX3dpdGhfZ2NfZm9yZWdyb3VuZCAoc3RydWN0IGZyYW1l
ICpmLCBFbWFjc19HQyAqZ2MsCi0JCQkJICAgICAgIGJvb2wgcmVzcGVjdHNfYWxwaGFfYmFja2dy
b3VuZCkKKwkJCQkgICAgICAgZG91YmxlIGFscGhhKQogewotICBwZ3RrX3NldF9jcl9zb3VyY2Vf
d2l0aF9jb2xvciAoZiwgZ2MtPmZvcmVncm91bmQsCi0JCQkJIHJlc3BlY3RzX2FscGhhX2JhY2tn
cm91bmQpOworICBwZ3RrX3NldF9jcl9zb3VyY2Vfd2l0aF9jb2xvciAoZiwgZ2MtPmZvcmVncm91
bmQsIGFscGhhKTsKIH0KIAogdm9pZAogcGd0a19zZXRfY3Jfc291cmNlX3dpdGhfZ2NfYmFja2dy
b3VuZCAoc3RydWN0IGZyYW1lICpmLCBFbWFjc19HQyAqZ2MsCi0JCQkJICAgICAgIGJvb2wgcmVz
cGVjdHNfYWxwaGFfYmFja2dyb3VuZCkKKwkJCQkgICAgICAgZG91YmxlIGFscGhhKQogewotICBw
Z3RrX3NldF9jcl9zb3VyY2Vfd2l0aF9jb2xvciAoZiwgZ2MtPmJhY2tncm91bmQsCi0JCQkJIHJl
c3BlY3RzX2FscGhhX2JhY2tncm91bmQpOworICBwZ3RrX3NldF9jcl9zb3VyY2Vfd2l0aF9jb2xv
ciAoZiwgZ2MtPmJhY2tncm91bmQsIGFscGhhKTsKIH0KIAogdm9pZAogcGd0a19zZXRfY3Jfc291
cmNlX3dpdGhfY29sb3IgKHN0cnVjdCBmcmFtZSAqZiwgdW5zaWduZWQgbG9uZyBjb2xvciwKLQkJ
CSAgICAgICBib29sIHJlc3BlY3RzX2FscGhhX2JhY2tncm91bmQpCisJCQkgICAgICAgZG91Ymxl
IGFscGhhKQogewogICBFbWFjc19Db2xvciBjb2w7CiAgIGNvbC5waXhlbCA9IGNvbG9yOwogICBw
Z3RrX3F1ZXJ5X2NvbG9yIChmLCAmY29sKTsKIAotICBpZiAoIXJlc3BlY3RzX2FscGhhX2JhY2tn
cm91bmQpCisgIGlmIChhbHBoYSA9PSAxLjApCiAgICAgewogICAgICAgY2Fpcm9fc2V0X3NvdXJj
ZV9yZ2IgKEZSQU1FX0NSX0NPTlRFWFQgKGYpLCBjb2wucmVkIC8gNjU1MzUuMCwKIAkJCSAgICBj
b2wuZ3JlZW4gLyA2NTUzNS4wLCBjb2wuYmx1ZSAvIDY1NTM1LjApOwpAQCAtNzYwNCw3ICs3NjAy
LDcgQEAgcGd0a19zZXRfY3Jfc291cmNlX3dpdGhfY29sb3IgKHN0cnVjdCBmcmFtZSAqZiwgdW5z
aWduZWQgbG9uZyBjb2xvciwKICAgICB7CiAgICAgICBjYWlyb19zZXRfc291cmNlX3JnYmEgKEZS
QU1FX0NSX0NPTlRFWFQgKGYpLCBjb2wucmVkIC8gNjU1MzUuMCwKIAkJCSAgICAgY29sLmdyZWVu
IC8gNjU1MzUuMCwgY29sLmJsdWUgLyA2NTUzNS4wLAotCQkJICAgICBmLT5hbHBoYV9iYWNrZ3Jv
dW5kKTsKKwkJCSAgICAgYWxwaGEpOwogICAgICAgY2Fpcm9fc2V0X29wZXJhdG9yIChGUkFNRV9D
Ul9DT05URVhUIChmKSwgQ0FJUk9fT1BFUkFUT1JfU09VUkNFKTsKICAgICB9CiB9CmRpZmYgLS1n
aXQgYS9zcmMvcGd0a3Rlcm0uaCBiL3NyYy9wZ3RrdGVybS5oCmluZGV4IDk0YTQwYjgyM2M4Li5m
OTc3NzVkMWM0ZiAxMDA2NDQKLS0tIGEvc3JjL3BndGt0ZXJtLmgKKysrIGIvc3JjL3BndGt0ZXJt
LmgKQEAgLTYxMSw5ICs2MTEsMTAgQEAgI2RlZmluZSBTRUxFQ1RJT05fRVZFTlRfVElNRShldmVu
dHApCVwKIGV4dGVybiB2b2lkIHBndGtfY3JfdXBkYXRlX3N1cmZhY2VfZGVzaXJlZF9zaXplIChz
dHJ1Y3QgZnJhbWUgKiwgaW50LCBpbnQsIGJvb2wpOwogZXh0ZXJuIGNhaXJvX3QgKnBndGtfYmVn
aW5fY3JfY2xpcCAoc3RydWN0IGZyYW1lICopOwogZXh0ZXJuIHZvaWQgcGd0a19lbmRfY3JfY2xp
cCAoc3RydWN0IGZyYW1lICopOwotZXh0ZXJuIHZvaWQgcGd0a19zZXRfY3Jfc291cmNlX3dpdGhf
Z2NfZm9yZWdyb3VuZCAoc3RydWN0IGZyYW1lICosIEVtYWNzX0dDICosIGJvb2wpOwotZXh0ZXJu
IHZvaWQgcGd0a19zZXRfY3Jfc291cmNlX3dpdGhfZ2NfYmFja2dyb3VuZCAoc3RydWN0IGZyYW1l
ICosIEVtYWNzX0dDICosIGJvb2wpOwotZXh0ZXJuIHZvaWQgcGd0a19zZXRfY3Jfc291cmNlX3dp
dGhfY29sb3IgKHN0cnVjdCBmcmFtZSAqLCB1bnNpZ25lZCBsb25nLCBib29sKTsKK2V4dGVybiBk
b3VibGUgcGd0a19nZXRfZnJhbWVfYWxwaGFfYmFja2dyb3VuZCAoc3RydWN0IGZyYW1lICopOwor
ZXh0ZXJuIHZvaWQgcGd0a19zZXRfY3Jfc291cmNlX3dpdGhfZ2NfZm9yZWdyb3VuZCAoc3RydWN0
IGZyYW1lICosIEVtYWNzX0dDICosIGRvdWJsZSk7CitleHRlcm4gdm9pZCBwZ3RrX3NldF9jcl9z
b3VyY2Vfd2l0aF9nY19iYWNrZ3JvdW5kIChzdHJ1Y3QgZnJhbWUgKiwgRW1hY3NfR0MgKiwgZG91
YmxlKTsKK2V4dGVybiB2b2lkIHBndGtfc2V0X2NyX3NvdXJjZV93aXRoX2NvbG9yIChzdHJ1Y3Qg
ZnJhbWUgKiwgdW5zaWduZWQgbG9uZywgZG91YmxlKTsKIGV4dGVybiB2b2lkIHBndGtfY3JfZHJh
d19mcmFtZSAoY2Fpcm9fdCAqLCBzdHJ1Y3QgZnJhbWUgKik7CiBleHRlcm4gdm9pZCBwZ3RrX2Ny
X2Rlc3Ryb3lfZnJhbWVfY29udGV4dCAoc3RydWN0IGZyYW1lICopOwogZXh0ZXJuIExpc3BfT2Jq
ZWN0IHBndGtfY3JfZXhwb3J0X2ZyYW1lcyAoTGlzcF9PYmplY3QgLCBjYWlyb19zdXJmYWNlX3R5
cGVfdCk7CmRpZmYgLS1naXQgYS9zcmMvdzMyZm5zLmMgYi9zcmMvdzMyZm5zLmMKaW5kZXggNGFh
YWZkZDg1ZDMuLjMzNmI2NTA0N2I0IDEwMDY0NAotLS0gYS9zcmMvdzMyZm5zLmMKKysrIGIvc3Jj
L3czMmZucy5jCkBAIC02NDg3LDkgKzY0ODcsOCBAQCBERUZVTiAoIngtY3JlYXRlLWZyYW1lIiwg
RnhfY3JlYXRlX2ZyYW1lLCBTeF9jcmVhdGVfZnJhbWUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgTlVMTCwgTlVMTCwgUkVTX1RZUEVfQk9PTEVBTik7CiAgIGd1aV9kZWZhdWx0X3BhcmFtZXRl
ciAoZiwgcGFyYW1ldGVycywgUWFscGhhX2JhY2tncm91bmQsIFFuaWwsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgImFscGhhQmFja2dyb3VuZCIsICJBbHBoYUJhY2tncm91bmQiLCBSRVNfVFlQ
RV9OVU1CRVIpOwotICBndWlfZGVmYXVsdF9wYXJhbWV0ZXIgKGYsIHBhcmFtZXRlcnMsIFFib3Jk
ZXJzX3Jlc3BlY3RfYWxwaGFfYmFja2dyb3VuZCwKLQkJCSBRbmlsLCAiYm9yZGVyc1Jlc3BlY3RB
bHBoYUJhY2tncm91bmQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICJCb3JkZXJzUmVzcGVj
dEFscGhhQmFja2dyb3VuZCIsIFJFU19UWVBFX05VTUJFUik7CisgIGd1aV9kZWZhdWx0X3BhcmFt
ZXRlciAoZiwgcGFyYW1ldGVycywgUWFscGhhX2JvcmRlcnMsIFFuaWwsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgImFscGhhQm9yZGVycyIsICJBbHBoYUJvcmRlcnMiLCBSRVNfVFlQRV9OVU1C
RVIpOwogCiAgIC8qIFByb2Nlc3MgYWxwaGEgaGVyZSAoQnVnIzE2NjE5KS4gIE9uIFhQIHRoaXMg
ZmFpbHMgd2l0aCBjaGlsZAogICAgICBmcmFtZXMuICBGb3IgYG5vLWZvY3VzLW9uLW1hcCcgZnJh
bWVzIGRlbGF5IHByb2Nlc3Npbmcgb2YgYWxwaGEKQEAgLTY2MzMsOSArNjYzMiw4IEBAIERFRlVO
ICgieC1jcmVhdGUtZnJhbWUiLCBGeF9jcmVhdGVfZnJhbWUsIFN4X2NyZWF0ZV9mcmFtZSwKIAog
ICBndWlfZGVmYXVsdF9wYXJhbWV0ZXIgKGYsIHBhcmFtZXRlcnMsIFFhbHBoYV9iYWNrZ3JvdW5k
LCBRbmlsLAogICAgICAgICAgICAgICAgICAgICAgICAgICJhbHBoYUJhY2tncm91bmQiLCAiQWxw
aGFCYWNrZ3JvdW5kIiwgUkVTX1RZUEVfTlVNQkVSKTsKLSAgZ3VpX2RlZmF1bHRfcGFyYW1ldGVy
IChmLCBwYXJhbWV0ZXJzLCBRYm9yZGVyc19yZXNwZWN0X2FscGhhX2JhY2tncm91bmQsCi0JCQkg
UW5pbCwgImJvcmRlcnNSZXNwZWN0QWxwaGFCYWNrZ3JvdW5kIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAiQm9yZGVyc1Jlc3BlY3RBbHBoYUJhY2tncm91bmQiLCBSRVNfVFlQRV9OVU1CRVIp
OworICBndWlfZGVmYXVsdF9wYXJhbWV0ZXIgKGYsIHBhcmFtZXRlcnMsIFFhbHBoYV9ib3JkZXJz
LCBRbmlsLAorICAgICAgICAgICAgICAgICAgICAgICAgICJhbHBoYUJvcmRlcnMiLCAiQWxwaGFC
b3JkZXJzIiwgUkVTX1RZUEVfTlVNQkVSKTsKIAogICAvKiBNYWtlIHRoZSB3aW5kb3cgYXBwZWFy
IG9uIHRoZSBmcmFtZSBhbmQgZW5hYmxlIGRpc3BsYXksIHVubGVzcwogICAgICB0aGUgY2FsbGVy
IHNheXMgbm90IHRvLiAgSG93ZXZlciwgd2l0aCBleHBsaWNpdCBwYXJlbnQsIEVtYWNzCkBAIC03
NTY5LDkgKzc1NjcsOCBAQCB3MzJfY3JlYXRlX3RpcF9mcmFtZSAoc3RydWN0IHczMl9kaXNwbGF5
X2luZm8gKmRweWluZm8sIExpc3BfT2JqZWN0IHBhcm1zKQogICAgICAgICAgICAgICAgICAgICAg
ICAgICJhbHBoYSIsICJBbHBoYSIsIFJFU19UWVBFX05VTUJFUik7CiAgIGd1aV9kZWZhdWx0X3Bh
cmFtZXRlciAoZiwgcGFybXMsIFFhbHBoYV9iYWNrZ3JvdW5kLCBRbmlsLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICJhbHBoYUJhY2tncm91bmQiLCAiQWxwaGFCYWNrZ3JvdW5kIiwgUkVTX1RZ
UEVfTlVNQkVSKTsKLSAgZ3VpX2RlZmF1bHRfcGFyYW1ldGVyIChmLCBwYXJtcywgUWJvcmRlcnNf
cmVzcGVjdF9hbHBoYV9iYWNrZ3JvdW5kLCBRbmlsLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICJib3JkZXJzUmVzcGVjdEFscGhhQmFja2dyb3VuZCIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIkJvcmRlcnNSZXNwZWN0QWxwaGFCYWNrZ3JvdW5kIiwgUkVTX1RZUEVfTlVNQkVSKTsKKyAg
Z3VpX2RlZmF1bHRfcGFyYW1ldGVyIChmLCBwYXJtcywgUWFscGhhX2JvcmRlcnMsIFFuaWwsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgImFscGhhQm9yZGVycyIsICJBbHBoYUJvcmRlcnMiLCBS
RVNfVFlQRV9OVU1CRVIpOwogICBndWlfZGVmYXVsdF9wYXJhbWV0ZXIgKGYsIHBhcm1zLCBRaW5o
aWJpdF9kb3VibGVfYnVmZmVyaW5nLCBRbmlsLAogICAgICAgICAgICAgICAgICAgICAgICAgICJp
bmhpYml0RG91YmxlQnVmZmVyaW5nIiwgIkluaGliaXREb3VibGVCdWZmZXJpbmciLAogICAgICAg
ICAgICAgICAgICAgICAgICAgIFJFU19UWVBFX0JPT0xFQU4pOwpAQCAtMTEwMzEsNyArMTEwMjgs
NyBAQCBERUZVTiAoInczMi1zZXQtd2FsbHBhcGVyIiwgRnczMl9zZXRfd2FsbHBhcGVyLCBTdzMy
X3NldF93YWxscGFwZXIsIDEsIDEsIDAsCiAgIDAsIC8qIHhfc2V0X292ZXJyaWRlX3JlZGlyZWN0
ICovCiAgIGd1aV9zZXRfbm9fc3BlY2lhbF9nbHlwaHMsCiAgIGd1aV9zZXRfYWxwaGFfYmFja2dy
b3VuZCwKLSAgZ3VpX3NldF9ib3JkZXJzX3Jlc3BlY3RfYWxwaGFfYmFja2dyb3VuZCwKKyAgZ3Vp
X3NldF9hbHBoYV9ib3JkZXJzLAogICAwLCAvKiB4X3NldF91c2VfZnJhbWVfc3luY2hyb25pemF0
aW9uICovCiB9OwogCmRpZmYgLS1naXQgYS9zcmMveGZucy5jIGIvc3JjL3hmbnMuYwppbmRleCBj
NTQ3ZDQ1ZmUzYS4uNDI4NTg1MGNjNjAgMTAwNjQ0Ci0tLSBhL3NyYy94Zm5zLmMKKysrIGIvc3Jj
L3hmbnMuYwpAQCAtNzI5LDkgKzcyOSwxNCBAQCB4X3NldF93YWl0X2Zvcl93bSAoc3RydWN0IGZy
YW1lICpmLCBMaXNwX09iamVjdCBuZXdfdmFsdWUsIExpc3BfT2JqZWN0IG9sZF92YWx1ZQogICBm
LT5vdXRwdXRfZGF0YS54LT53YWl0X2Zvcl93bSA9ICFOSUxQIChuZXdfdmFsdWUpOwogfQogCisv
KiBVc2VkIGZvciBmcmFtZSBwYXJhbWV0ZXJzIGxpa2UgYWxwaGEtYmFja2dyb3VuZCBhbmQgYWxw
aGEtYm9yZGVycywKKyAgIHdoaWNoIG1ha2Ugb25seSBwYXJ0IG9mIHRoZSBmcmFtZSB0cmFuc3Bh
cmVudCAqLworCiBzdGF0aWMgdm9pZAoteF9zZXRfYWxwaGFfYmFja2dyb3VuZCAoc3RydWN0IGZy
YW1lICpmLCBMaXNwX09iamVjdCBhcmcsIExpc3BfT2JqZWN0IG9sZHZhbCkKK3hfc2V0X3VwX3Bh
cnRpYWxfYWxwaGEgKHN0cnVjdCBmcmFtZSAqZikKIHsKKyAgYm9vbCBwYXJ0aWFsX2FscGhhID0g
Zi0+YWxwaGFfYmFja2dyb3VuZCAhPSAxLjAgfHwgZi0+YWxwaGFfYm9yZGVycyAhPSAxLjA7CisK
ICAgdW5zaWduZWQgbG9uZyBvcGFxdWVfcmVnaW9uW10gPSB7MCwgMCwgRlJBTUVfUElYRUxfV0lE
VEggKGYpLAogCQkJCSAgIEZSQU1FX1BJWEVMX0hFSUdIVCAoZil9OwogI2lmZGVmIEhBVkVfR1RL
MwpAQCAtNzM5LDMzICs3NDQsMTkgQEAgeF9zZXRfYWxwaGFfYmFja2dyb3VuZCAoc3RydWN0IGZy
YW1lICpmLCBMaXNwX09iamVjdCBhcmcsIExpc3BfT2JqZWN0IG9sZHZhbCkKICAgR3RrV2lkZ2V0
Q2xhc3MgKmNsYXNzOwogI2VuZGlmCiAKLSAgZ3VpX3NldF9hbHBoYV9iYWNrZ3JvdW5kIChmLCBh
cmcsIG9sZHZhbCk7Ci0KLSNpZmRlZiBIQVZFX1hSRU5ERVIKLSAgLyogU2V0dGluZyBgYWxwaGFf
YmFja2dyb3VuZCcgdG8gc29tZXRoaW5nIG90aGVyIHRoYW4gb3BhcXVlIG9uIGEKLSAgICAgZGlz
cGxheSB0aGF0IGRvZXNuJ3Qgc3VwcG9ydCB0aGUgcmVxdWlyZWQgZmVhdHVyZXMgbGVhZHMgdG8K
LSAgICAgY29uZnVzaW5nIHJlc3VsdHMuICAqLwotICBpZiAoZi0+YWxwaGFfYmFja2dyb3VuZCA8
IDEuMAotICAgICAgJiYgIUZSQU1FX0RJU1BMQVlfSU5GTyAoZiktPmFscGhhX2JpdHMKLSAgICAg
ICYmICFGUkFNRV9DSEVDS19YUl9WRVJTSU9OIChmLCAwLCAyKSkKLSAgICBmLT5hbHBoYV9iYWNr
Z3JvdW5kID0gMS4wOwotI2Vsc2UKLSAgZi0+YWxwaGFfYmFja2dyb3VuZCA9IDEuMDsKLSNlbmRp
ZgotCiAjaWZkZWYgVVNFX0dUSwogICAvKiBUaGlzIHByZXZlbnRzIEdUSyBmcm9tIHBhaW50aW5n
IHRoZSB3aW5kb3cncyBiYWNrZ3JvdW5kLCB3aGljaAogICAgICBpbnRlcmZlcmVzIHdpdGggdHJh
bnNwYXJlbnQgYmFja2dyb3VuZCBpbiBzb21lIGVudmlyb25tZW50cyAqLwogCiAgIGlmICghRlJB
TUVfVE9PTFRJUF9QIChmKSkKICAgICBndGtfd2lkZ2V0X3NldF9hcHBfcGFpbnRhYmxlIChGUkFN
RV9HVEtfT1VURVJfV0lER0VUIChmKSwKLQkJCQkgIGYtPmFscGhhX2JhY2tncm91bmQgIT0gMS4w
KTsKKwkJCQkgIHBhcnRpYWxfYWxwaGEpOwogI2VuZGlmCiAKICAgaWYgKCFGUkFNRV9ESVNQTEFZ
X0lORk8gKGYpLT5hbHBoYV9iaXRzKQogICAgIHJldHVybjsKIAotICBpZiAoZi0+YWxwaGFfYmFj
a2dyb3VuZCAhPSAxLjApCisgIGlmIChwYXJ0aWFsX2FscGhhKQogICAgIHsKICAgICAgIFhDaGFu
Z2VQcm9wZXJ0eSAoRlJBTUVfWF9ESVNQTEFZIChmKSwKIAkJICAgICAgIEZSQU1FX1hfV0lORE9X
IChmKSwKQEAgLTgwMSw2ICs3OTIsNDcgQEAgeF9zZXRfYWxwaGFfYmFja2dyb3VuZCAoc3RydWN0
IGZyYW1lICpmLCBMaXNwX09iamVjdCBhcmcsIExpc3BfT2JqZWN0IG9sZHZhbCkKICNlbmRpZgog
fQogCitzdGF0aWMgYm9vbAoreF9wYXJ0aWFsX2FscGhhX3N1cHBvcnRlZCAoc3RydWN0IGZyYW1l
ICpmKQoreworICBib29sIHBhcnRpYWxfYWxwaGEgPSBmLT5hbHBoYV9iYWNrZ3JvdW5kICE9IDEu
MCB8fCBmLT5hbHBoYV9ib3JkZXJzICE9IDEuMDsKKworI2lmZGVmIEhBVkVfWFJFTkRFUgorICAv
KiBTZXR0aW5nIGBhbHBoYV9iYWNrZ3JvdW5kJyB0byBzb21ldGhpbmcgb3RoZXIgdGhhbiBvcGFx
dWUgb24gYQorICAgICBkaXNwbGF5IHRoYXQgZG9lc24ndCBzdXBwb3J0IHRoZSByZXF1aXJlZCBm
ZWF0dXJlcyBsZWFkcyB0bworICAgICBjb25mdXNpbmcgcmVzdWx0cy4gICovCisgIGlmIChwYXJ0
aWFsX2FscGhhCisgICAgICAmJiAhRlJBTUVfRElTUExBWV9JTkZPIChmKS0+YWxwaGFfYml0cwor
ICAgICAgJiYgIUZSQU1FX0NIRUNLX1hSX1ZFUlNJT04gKGYsIDAsIDIpKQorICAgIHJldHVybiBm
YWxzZTsKKyAgcmV0dXJuIHRydWU7CisjZWxzZQorICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30K
KworCitzdGF0aWMgdm9pZAoreF9zZXRfYWxwaGFfYmFja2dyb3VuZCAoc3RydWN0IGZyYW1lICpm
LCBMaXNwX09iamVjdCBhcmcsIExpc3BfT2JqZWN0IG9sZHZhbCkKK3sKKyAgZ3VpX3NldF9hbHBo
YV9iYWNrZ3JvdW5kIChmLCBhcmcsIG9sZHZhbCk7CisKKyAgaWYgKCF4X3BhcnRpYWxfYWxwaGFf
c3VwcG9ydGVkIChmKSkKKyAgICBmLT5hbHBoYV9iYWNrZ3JvdW5kID0gMS4wOworCisgIHhfc2V0
X3VwX3BhcnRpYWxfYWxwaGEoZik7Cit9CisKK3N0YXRpYyB2b2lkCit4X3NldF9hbHBoYV9ib3Jk
ZXJzIChzdHJ1Y3QgZnJhbWUgKmYsIExpc3BfT2JqZWN0IGFyZywgTGlzcF9PYmplY3Qgb2xkdmFs
KSB7CisgIGd1aV9zZXRfYWxwaGFfYm9yZGVycyAoZiwgYXJnLCBvbGR2YWwpOworCisgIGlmICgh
eF9wYXJ0aWFsX2FscGhhX3N1cHBvcnRlZCAoZikpCisgICAgZi0+YWxwaGFfYm9yZGVycyA9IDEu
MDsKKworICB4X3NldF91cF9wYXJ0aWFsX2FscGhhKGYpOworfQorCiBzdGF0aWMgdm9pZAogeF9z
ZXRfdG9vbF9iYXJfcG9zaXRpb24gKHN0cnVjdCBmcmFtZSAqZiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICBMaXNwX09iamVjdCBuZXdfdmFsdWUsCkBAIC01MzMzLDkgKzUzNjUsOCBAQCBERUZV
TiAoIngtY3JlYXRlLWZyYW1lIiwgRnhfY3JlYXRlX2ZyYW1lLCBTeF9jcmVhdGVfZnJhbWUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgImFscGhhIiwgIkFscGhhIiwgUkVTX1RZUEVfTlVNQkVS
KTsKICAgZ3VpX2RlZmF1bHRfcGFyYW1ldGVyIChmLCBwYXJtcywgUWFscGhhX2JhY2tncm91bmQs
IFFuaWwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgImFscGhhQmFja2dyb3VuZCIsICJBbHBo
YUJhY2tncm91bmQiLCBSRVNfVFlQRV9OVU1CRVIpOwotICBndWlfZGVmYXVsdF9wYXJhbWV0ZXIg
KGYsIHBhcm1zLCBRYm9yZGVyc19yZXNwZWN0X2FscGhhX2JhY2tncm91bmQsIFFuaWwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgImJvcmRlcnNSZXNwZWN0QWxwaGFCYWNrZ3JvdW5kIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAiQm9yZGVyc1Jlc3BlY3RBbHBoYUJhY2tncm91bmQiLCBS
RVNfVFlQRV9OVU1CRVIpOworICBndWlfZGVmYXVsdF9wYXJhbWV0ZXIgKGYsIHBhcm1zLCBRYWxw
aGFfYm9yZGVycywgUW5pbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiYWxwaGFCb3JkZXJz
IiwgIkFscGhhQm9yZGVycyIsIFJFU19UWVBFX05VTUJFUik7CiAKICAgaWYgKCFOSUxQIChwYXJl
bnRfZnJhbWUpKQogICAgIHsKQEAgLTg2NjAsOSArODY5MSw4IEBAIHhfY3JlYXRlX3RpcF9mcmFt
ZSAoc3RydWN0IHhfZGlzcGxheV9pbmZvICpkcHlpbmZvLCBMaXNwX09iamVjdCBwYXJtcykKICAg
ICAgICAgICAgICAgICAgICAgICAgICAiYWxwaGEiLCAiQWxwaGEiLCBSRVNfVFlQRV9OVU1CRVIp
OwogICBndWlfZGVmYXVsdF9wYXJhbWV0ZXIgKGYsIHBhcm1zLCBRYWxwaGFfYmFja2dyb3VuZCwg
UW5pbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxwaGFCYWNrZ3JvdW5kIiwgIkFscGhh
QmFja2dyb3VuZCIsIFJFU19UWVBFX05VTUJFUik7Ci0gIGd1aV9kZWZhdWx0X3BhcmFtZXRlciAo
ZiwgcGFybXMsIFFib3JkZXJzX3Jlc3BlY3RfYWxwaGFfYmFja2dyb3VuZCwgUW5pbCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAiYm9yZGVyc1Jlc3BlY3RBbHBoYUJhY2tncm91bmQiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICJCb3JkZXJzUmVzcGVjdEFscGhhQmFja2dyb3VuZCIsIFJF
U19UWVBFX05VTUJFUik7CisgIGd1aV9kZWZhdWx0X3BhcmFtZXRlciAoZiwgcGFybXMsIFFhbHBo
YV9ib3JkZXJzLCBRbmlsLAorICAgICAgICAgICAgICAgICAgICAgICAgICJhbHBoYUJvcmRlcnMi
LCAiQWxwaGFCb3JkZXJzIiwgUkVTX1RZUEVfTlVNQkVSKTsKIAogICAvKiBBZGQgYHRvb2x0aXAn
IGZyYW1lIHBhcmFtZXRlcidzIGRlZmF1bHQgdmFsdWUuICovCiAgIGlmIChOSUxQIChGZnJhbWVf
cGFyYW1ldGVyIChmcmFtZSwgUXRvb2x0aXApKSkKQEAgLTEwMjAyLDcgKzEwMjMyLDcgQEAgREVG
VU4gKCJ4LXRlc3Qtc3RyaW5nLWNvbnZlcnNpb24iLCBGeF90ZXN0X3N0cmluZ19jb252ZXJzaW9u
LAogICB4X3NldF9vdmVycmlkZV9yZWRpcmVjdCwKICAgZ3VpX3NldF9ub19zcGVjaWFsX2dseXBo
cywKICAgeF9zZXRfYWxwaGFfYmFja2dyb3VuZCwKLSAgZ3VpX3NldF9ib3JkZXJzX3Jlc3BlY3Rf
YWxwaGFfYmFja2dyb3VuZCwKKyAgeF9zZXRfYWxwaGFfYm9yZGVycywKICAgeF9zZXRfdXNlX2Zy
YW1lX3N5bmNocm9uaXphdGlvbiwKICAgeF9zZXRfc2hhZGVkLAogfTsKZGlmZiAtLWdpdCBhL3Ny
Yy94dGVybS5jIGIvc3JjL3h0ZXJtLmMKaW5kZXggMDIxNTFmZDJjZWQuLjIwNzY5MDI0YTY5IDEw
MDY0NAotLS0gYS9zcmMveHRlcm0uYworKysgYi9zcmMveHRlcm0uYwpAQCAtNjA1Miw5ICs2MDUy
LDE1IEBAIHhfZW5kX2NyX2NsaXAgKHN0cnVjdCBmcmFtZSAqZikKICNlbmRpZgogfQogCitkb3Vi
bGUKK3hfZ2V0X2ZyYW1lX2FscGhhX2JhY2tncm91bmQgKHN0cnVjdCBmcmFtZSAqZikKK3sKKyAg
cmV0dXJuIGYtPmFscGhhX2JhY2tncm91bmQ7Cit9CisKIHZvaWQKIHhfc2V0X2NyX3NvdXJjZV93
aXRoX2djX2ZvcmVncm91bmQgKHN0cnVjdCBmcmFtZSAqZiwgR0MgZ2MsCi0JCQkJICAgIGJvb2wg
cmVzcGVjdF9hbHBoYV9iYWNrZ3JvdW5kKQorCQkJCSAgICBkb3VibGUgYWxwaGEpCiB7CiAgIFhH
Q1ZhbHVlcyB4Z2N2OwogICBYQ29sb3IgY29sb3I7CkBAIC02MDY1LDEyICs2MDcxLDExIEBAIHhf
c2V0X2NyX3NvdXJjZV93aXRoX2djX2ZvcmVncm91bmQgKHN0cnVjdCBmcmFtZSAqZiwgR0MgZ2Ms
CiAgIHhfcXVlcnlfY29sb3JzIChmLCAmY29sb3IsIDEpOwogICBkZXB0aCA9IEZSQU1FX0RJU1BM
QVlfSU5GTyAoZiktPm5fcGxhbmVzOwogCi0gIGlmIChmLT5hbHBoYV9iYWNrZ3JvdW5kIDwgMS4w
ICYmIGRlcHRoID09IDMyCi0gICAgICAmJiByZXNwZWN0X2FscGhhX2JhY2tncm91bmQpCisgIGlm
IChhbHBoYSA8IDEuMCAmJiBkZXB0aCA9PSAzMikKICAgICB7CiAgICAgICBjYWlyb19zZXRfc291
cmNlX3JnYmEgKEZSQU1FX0NSX0NPTlRFWFQgKGYpLCBjb2xvci5yZWQgLyA2NTUzNS4wLAogCQkJ
ICAgICBjb2xvci5ncmVlbiAvIDY1NTM1LjAsIGNvbG9yLmJsdWUgLyA2NTUzNS4wLAotCQkJICAg
ICBmLT5hbHBoYV9iYWNrZ3JvdW5kKTsKKwkJCSAgICAgYWxwaGEpOwogCiAgICAgICBjYWlyb19z
ZXRfb3BlcmF0b3IgKEZSQU1FX0NSX0NPTlRFWFQgKGYpLCBDQUlST19PUEVSQVRPUl9TT1VSQ0Up
OwogICAgIH0KQEAgLTYwODQsNyArNjA4OSw3IEBAIHhfc2V0X2NyX3NvdXJjZV93aXRoX2djX2Zv
cmVncm91bmQgKHN0cnVjdCBmcmFtZSAqZiwgR0MgZ2MsCiAKIHZvaWQKIHhfc2V0X2NyX3NvdXJj
ZV93aXRoX2djX2JhY2tncm91bmQgKHN0cnVjdCBmcmFtZSAqZiwgR0MgZ2MsCi0JCQkJICAgIGJv
b2wgcmVzcGVjdF9hbHBoYV9iYWNrZ3JvdW5kKQorCQkJCSAgICBkb3VibGUgYWxwaGEpCiB7CiAg
IFhHQ1ZhbHVlcyB4Z2N2OwogICBYQ29sb3IgY29sb3I7CkBAIC02MDk3LDEyICs2MTAyLDExIEBA
IHhfc2V0X2NyX3NvdXJjZV93aXRoX2djX2JhY2tncm91bmQgKHN0cnVjdCBmcmFtZSAqZiwgR0Mg
Z2MsCiAKICAgZGVwdGggPSBGUkFNRV9ESVNQTEFZX0lORk8gKGYpLT5uX3BsYW5lczsKIAotICBp
ZiAoZi0+YWxwaGFfYmFja2dyb3VuZCA8IDEuMCAmJiBkZXB0aCA9PSAzMgotICAgICAgJiYgcmVz
cGVjdF9hbHBoYV9iYWNrZ3JvdW5kKQorICBpZiAoYWxwaGEgPCAxLjAgJiYgZGVwdGggPT0gMzIp
CiAgICAgewogICAgICAgY2Fpcm9fc2V0X3NvdXJjZV9yZ2JhIChGUkFNRV9DUl9DT05URVhUIChm
KSwgY29sb3IucmVkIC8gNjU1MzUuMCwKIAkJCSAgICAgY29sb3IuZ3JlZW4gLyA2NTUzNS4wLCBj
b2xvci5ibHVlIC8gNjU1MzUuMCwKLQkJCSAgICAgZi0+YWxwaGFfYmFja2dyb3VuZCk7CisJCQkg
ICAgIGFscGhhKTsKIAogICAgICAgY2Fpcm9fc2V0X29wZXJhdG9yIChGUkFNRV9DUl9DT05URVhU
IChmKSwgQ0FJUk9fT1BFUkFUT1JfU09VUkNFKTsKICAgICB9CkBAIC02Mjk2LDcgKzYzMDAsNyBA
QCB4X2NyX2RyYXdfaW1hZ2UgKHN0cnVjdCBmcmFtZSAqZiwgR0MgZ2MsIGNhaXJvX3BhdHRlcm5f
dCAqaW1hZ2UsCiAgICAgY2Fpcm9fcmVjdGFuZ2xlIChjciwgZGVzdF94LCBkZXN0X3ksIHdpZHRo
LCBoZWlnaHQpOwogICBlbHNlCiAgICAgewotICAgICAgeF9zZXRfY3Jfc291cmNlX3dpdGhfZ2Nf
YmFja2dyb3VuZCAoZiwgZ2MsIGZhbHNlKTsKKyAgICAgIHhfc2V0X2NyX3NvdXJjZV93aXRoX2dj
X2JhY2tncm91bmQgKGYsIGdjLCAxLjApOwogICAgICAgY2Fpcm9fcmVjdGFuZ2xlIChjciwgZGVz
dF94LCBkZXN0X3ksIHdpZHRoLCBoZWlnaHQpOwogICAgICAgY2Fpcm9fZmlsbF9wcmVzZXJ2ZSAo
Y3IpOwogICAgIH0KQEAgLTYzMTMsNyArNjMxNyw3IEBAIHhfY3JfZHJhd19pbWFnZSAoc3RydWN0
IGZyYW1lICpmLCBHQyBnYywgY2Fpcm9fcGF0dGVybl90ICppbWFnZSwKICAgICB9CiAgIGVsc2UK
ICAgICB7Ci0gICAgICB4X3NldF9jcl9zb3VyY2Vfd2l0aF9nY19mb3JlZ3JvdW5kIChmLCBnYywg
ZmFsc2UpOworICAgICAgeF9zZXRfY3Jfc291cmNlX3dpdGhfZ2NfZm9yZWdyb3VuZCAoZiwgZ2Ms
IDEuMCk7CiAgICAgICBjYWlyb19jbGlwIChjcik7CiAgICAgICBjYWlyb19tYXNrIChjciwgaW1h
Z2UpOwogICAgIH0KQEAgLTY1NzEsNyArNjU3NSw3IEBAIHhfeHJlbmRlcl9jb2xvcl9mcm9tX2dj
X2JhY2tncm91bmQgKHN0cnVjdCBmcmFtZSAqZiwgR0MgZ2MsIFhSZW5kZXJDb2xvciAqY29sb3Is
CiAKIHN0YXRpYyB2b2lkCiB4X2ZpbGxfcmVjdGFuZ2xlIChzdHJ1Y3QgZnJhbWUgKmYsIEdDIGdj
LCBpbnQgeCwgaW50IHksIGludCB3aWR0aCwgaW50IGhlaWdodCwKLQkJICBib29sIHJlc3BlY3Rf
YWxwaGFfYmFja2dyb3VuZCkKKwkJICBkb3VibGUgYWxwaGEpCiB7CiAjaWZkZWYgVVNFX0NBSVJP
CiAgIERpc3BsYXkgKmRweSA9IEZSQU1FX1hfRElTUExBWSAoZik7CkBAIC02NTg3LDcgKzY1OTEs
NyBAQCB4X2ZpbGxfcmVjdGFuZ2xlIChzdHJ1Y3QgZnJhbWUgKmYsIEdDIGdjLCBpbnQgeCwgaW50
IHksIGludCB3aWR0aCwgaW50IGhlaWdodCwKIAkgcmVnYXJkZWQgYXMgUGl4bWFwIG9mIHVuc3Bl
Y2lmaWVkIHNpemUgZmlsbGVkIHdpdGggb25lcy4gICovCiAgICAgICB8fCAoeGdjdi5zdGlwcGxl
ICYgKChQaXhtYXApIDcgPDwgKHNpemVvZiAoUGl4bWFwKSAqIENIQVJfQklUIC0gMykpKSkKICAg
ICB7Ci0gICAgICB4X3NldF9jcl9zb3VyY2Vfd2l0aF9nY19mb3JlZ3JvdW5kIChmLCBnYywgcmVz
cGVjdF9hbHBoYV9iYWNrZ3JvdW5kKTsKKyAgICAgIHhfc2V0X2NyX3NvdXJjZV93aXRoX2djX2Zv
cmVncm91bmQgKGYsIGdjLCBhbHBoYSk7CiAgICAgICBjYWlyb19yZWN0YW5nbGUgKGNyLCB4LCB5
LCB3aWR0aCwgaGVpZ2h0KTsKICAgICAgIGNhaXJvX2ZpbGwgKGNyKTsKICAgICB9CkBAIC02NTk1
LDE0ICs2NTk5LDE0IEBAIHhfZmlsbF9yZWN0YW5nbGUgKHN0cnVjdCBmcmFtZSAqZiwgR0MgZ2Ms
IGludCB4LCBpbnQgeSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LAogICAgIHsKICAgICAgIGVhc3Nl
cnQgKHhnY3YuZmlsbF9zdHlsZSA9PSBGaWxsT3BhcXVlU3RpcHBsZWQpOwogICAgICAgZWFzc2Vy
dCAoeGdjdi5zdGlwcGxlICE9IE5vbmUpOwotICAgICAgeF9zZXRfY3Jfc291cmNlX3dpdGhfZ2Nf
YmFja2dyb3VuZCAoZiwgZ2MsIHJlc3BlY3RfYWxwaGFfYmFja2dyb3VuZCk7CisgICAgICB4X3Nl
dF9jcl9zb3VyY2Vfd2l0aF9nY19iYWNrZ3JvdW5kIChmLCBnYywgYWxwaGEpOwogICAgICAgY2Fp
cm9fcmVjdGFuZ2xlIChjciwgeCwgeSwgd2lkdGgsIGhlaWdodCk7CiAgICAgICBjYWlyb19maWxs
X3ByZXNlcnZlIChjcik7CiAKICAgICAgIGNhaXJvX3BhdHRlcm5fdCAqcGF0dGVybiA9IHhfYml0
bWFwX3N0aXBwbGUgKGYsIHhnY3Yuc3RpcHBsZSk7CiAgICAgICBpZiAocGF0dGVybikKIAl7Ci0J
ICB4X3NldF9jcl9zb3VyY2Vfd2l0aF9nY19mb3JlZ3JvdW5kIChmLCBnYywgcmVzcGVjdF9hbHBo
YV9iYWNrZ3JvdW5kKTsKKwkgIHhfc2V0X2NyX3NvdXJjZV93aXRoX2djX2ZvcmVncm91bmQgKGYs
IGdjLCBhbHBoYSk7CiAJICBjYWlyb19jbGlwIChjcik7CiAJICBjYWlyb19tYXNrIChjciwgcGF0
dGVybik7CiAJfQpAQCAtNjYxMCw4ICs2NjE0LDcgQEAgeF9maWxsX3JlY3RhbmdsZSAoc3RydWN0
IGZyYW1lICpmLCBHQyBnYywgaW50IHgsIGludCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQsCiAg
IHhfZW5kX2NyX2NsaXAgKGYpOwogI2Vsc2UKICNpZiBkZWZpbmVkIEhBVkVfWFJFTkRFUiAmJiAo
UkVOREVSX01BSk9SID4gMCB8fCAoUkVOREVSX01JTk9SID49IDIpKQotICBpZiAocmVzcGVjdF9h
bHBoYV9iYWNrZ3JvdW5kCi0gICAgICAmJiBmLT5hbHBoYV9iYWNrZ3JvdW5kICE9IDEuMAorICBp
ZiAoYWxwaGEgIT0gMS4wCiAgICAgICAmJiBGUkFNRV9ESVNQTEFZX0lORk8gKGYpLT5hbHBoYV9i
aXRzCiAgICAgICAmJiBGUkFNRV9DSEVDS19YUl9WRVJTSU9OIChmLCAwLCAyKSkKICAgICB7CkBA
IC02NjI0LDcgKzY2MjcsNyBAQCB4X2ZpbGxfcmVjdGFuZ2xlIChzdHJ1Y3QgZnJhbWUgKmYsIEdD
IGdjLCBpbnQgeCwgaW50IHksIGludCB3aWR0aCwgaW50IGhlaWdodCwKICNpZiBSRU5ERVJfTUFK
T1IgPiAwIHx8IChSRU5ERVJfTUlOT1IgPj0gMTApCiAJICBYR0NWYWx1ZXMgeGdjdjsKIAkgIFhS
ZW5kZXJQaWN0dXJlQXR0cmlidXRlcyBhdHRyczsKLQkgIFhSZW5kZXJDb2xvciBhbHBoYTsKKwkg
IFhSZW5kZXJDb2xvciBhbHBoYUNvbG9yOwogCSAgUGljdHVyZSBzdGlwcGxlLCBmaWxsOwogI2Vu
ZGlmCiAKQEAgLTY2MzcsNyArNjY0MCw3IEBAIHhfZmlsbF9yZWN0YW5nbGUgKHN0cnVjdCBmcmFt
ZSAqZiwgR0MgZ2MsIGludCB4LCBpbnQgeSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LAogCSAgaWYg
KHhnY3YuZmlsbF9zdHlsZSA9PSBGaWxsT3BhcXVlU3RpcHBsZWQKIAkgICAgICAmJiBGUkFNRV9D
SEVDS19YUl9WRVJTSU9OIChmLCAwLCAxMCkpCiAJICAgIHsKLQkgICAgICB4X3hyZW5kZXJfY29s
b3JfZnJvbV9nY19iYWNrZ3JvdW5kIChmLCBnYywgJmFscGhhLCB0cnVlKTsKKwkgICAgICB4X3hy
ZW5kZXJfY29sb3JfZnJvbV9nY19iYWNrZ3JvdW5kIChmLCBnYywgJmFscGhhQ29sb3IsIHRydWUp
OwogCSAgICAgIHhfeHJlbmRlcl9jb2xvcl9mcm9tX2djX2ZvcmVncm91bmQgKGYsIGdjLCAmeGMs
IHRydWUpOwogCSAgICAgIGF0dHJzLnJlcGVhdCA9IFJlcGVhdE5vcm1hbDsKIApAQCAtNjY0OSw3
ICs2NjUyLDcgQEAgeF9maWxsX3JlY3RhbmdsZSAoc3RydWN0IGZyYW1lICpmLCBHQyBnYywgaW50
IHgsIGludCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQsCiAKIAkgICAgICBYUmVuZGVyRmlsbFJl
Y3RhbmdsZSAoRlJBTUVfWF9ESVNQTEFZIChmKSwgUGljdE9wU3JjLAogCQkJCSAgICBGUkFNRV9Y
X1BJQ1RVUkUgKGYpLAotCQkJCSAgICAmYWxwaGEsIHgsIHksIHdpZHRoLCBoZWlnaHQpOworCQkJ
CSAgICAmYWxwaGFDb2xvciwgeCwgeSwgd2lkdGgsIGhlaWdodCk7CiAKIAkgICAgICBmaWxsID0g
WFJlbmRlckNyZWF0ZVNvbGlkRmlsbCAoRlJBTUVfWF9ESVNQTEFZIChmKSwgJnhjKTsKIApAQCAt
NjY4NSwyMCArNjY4OCwxOSBAQCB4X2ZpbGxfcmVjdGFuZ2xlIChzdHJ1Y3QgZnJhbWUgKmYsIEdD
IGdjLCBpbnQgeCwgaW50IHksIGludCB3aWR0aCwgaW50IGhlaWdodCwKIAogc3RhdGljIHZvaWQK
IHhfY2xlYXJfcmVjdGFuZ2xlIChzdHJ1Y3QgZnJhbWUgKmYsIEdDIGdjLCBpbnQgeCwgaW50IHks
IGludCB3aWR0aCwgaW50IGhlaWdodCwKLQkJICAgYm9vbCByZXNwZWN0X2FscGhhX2JhY2tncm91
bmQpCisJCSAgIGRvdWJsZSBhbHBoYSkKIHsKICNpZmRlZiBVU0VfQ0FJUk8KICAgY2Fpcm9fdCAq
Y3I7CiAKICAgY3IgPSB4X2JlZ2luX2NyX2NsaXAgKGYsIGdjKTsKLSAgeF9zZXRfY3Jfc291cmNl
X3dpdGhfZ2NfYmFja2dyb3VuZCAoZiwgZ2MsIHJlc3BlY3RfYWxwaGFfYmFja2dyb3VuZCk7Cisg
IHhfc2V0X2NyX3NvdXJjZV93aXRoX2djX2JhY2tncm91bmQgKGYsIGdjLCBhbHBoYSk7CiAgIGNh
aXJvX3JlY3RhbmdsZSAoY3IsIHgsIHksIHdpZHRoLCBoZWlnaHQpOwogICBjYWlyb19maWxsIChj
cik7CiAgIHhfZW5kX2NyX2NsaXAgKGYpOwogI2Vsc2UKICNpZiBkZWZpbmVkIEhBVkVfWFJFTkRF
UiAmJiAoUkVOREVSX01BSk9SID4gMCB8fCAoUkVOREVSX01JTk9SID49IDIpKQotICBpZiAocmVz
cGVjdF9hbHBoYV9iYWNrZ3JvdW5kCi0gICAgICAmJiBmLT5hbHBoYV9iYWNrZ3JvdW5kICE9IDEu
MAorICBpZiAoYWxwaGEgIT0gMS4wCiAgICAgICAmJiBGUkFNRV9ESVNQTEFZX0lORk8gKGYpLT5h
bHBoYV9iaXRzCiAgICAgICAmJiBGUkFNRV9DSEVDS19YUl9WRVJTSU9OIChmLCAwLCAyKSkKICAg
ICB7CkBAIC02NzM4LDcgKzY3NDAsNyBAQCB4X2RyYXdfcmVjdGFuZ2xlIChzdHJ1Y3QgZnJhbWUg
KmYsIEdDIGdjLCBpbnQgeCwgaW50IHksIGludCB3aWR0aCwgaW50IGhlaWdodCkKICAgY2Fpcm9f
dCAqY3I7CiAKICAgY3IgPSB4X2JlZ2luX2NyX2NsaXAgKGYsIGdjKTsKLSAgeF9zZXRfY3Jfc291
cmNlX3dpdGhfZ2NfZm9yZWdyb3VuZCAoZiwgZ2MsIGZhbHNlKTsKKyAgeF9zZXRfY3Jfc291cmNl
X3dpdGhfZ2NfZm9yZWdyb3VuZCAoZiwgZ2MsIDEuMCk7CiAgIGNhaXJvX3JlY3RhbmdsZSAoY3Is
IHggKyAwLjUsIHkgKyAwLjUsIHdpZHRoLCBoZWlnaHQpOwogICBjYWlyb19zZXRfbGluZV93aWR0
aCAoY3IsIDEpOwogICBjYWlyb19zdHJva2UgKGNyKTsKQEAgLTY3NTYsNyArNjc1OCw4IEBAIHhf
Y2xlYXJfd2luZG93IChzdHJ1Y3QgZnJhbWUgKmYpCiAgIGNhaXJvX3QgKmNyOwogCiAgIGNyID0g
eF9iZWdpbl9jcl9jbGlwIChmLCBOVUxMKTsKLSAgeF9zZXRfY3Jfc291cmNlX3dpdGhfZ2NfYmFj
a2dyb3VuZCAoZiwgZi0+b3V0cHV0X2RhdGEueC0+bm9ybWFsX2djLCB0cnVlKTsKKyAgeF9zZXRf
Y3Jfc291cmNlX3dpdGhfZ2NfYmFja2dyb3VuZCAoZiwgZi0+b3V0cHV0X2RhdGEueC0+bm9ybWFs
X2djLAorCQkJCSAgICAgIGYtPmFscGhhX2JhY2tncm91bmQpOwogICBjYWlyb19wYWludCAoY3Ip
OwogICB4X2VuZF9jcl9jbGlwIChmKTsKICNlbHNlCkBAIC02Nzg0LDcgKzY3ODcsNyBAQCB4X2Zp
bGxfdHJhcGV6b2lkX2Zvcl9yZWxpZWYgKHN0cnVjdCBmcmFtZSAqZiwgR0MgZ2MsIGludCB4LCBp
bnQgeSwKICAgY2Fpcm9fdCAqY3I7CiAKICAgY3IgPSB4X2JlZ2luX2NyX2NsaXAgKGYsIGdjKTsK
LSAgeF9zZXRfY3Jfc291cmNlX3dpdGhfZ2NfZm9yZWdyb3VuZCAoZiwgZ2MsIGZhbHNlKTsKKyAg
eF9zZXRfY3Jfc291cmNlX3dpdGhfZ2NfZm9yZWdyb3VuZCAoZiwgZ2MsIDEuMCk7CiAgIGNhaXJv
X21vdmVfdG8gKGNyLCB0b3BfcCA/IHggOiB4ICsgaGVpZ2h0LCB5KTsKICAgY2Fpcm9fbGluZV90
byAoY3IsIHgsIHkgKyBoZWlnaHQpOwogICBjYWlyb19saW5lX3RvIChjciwgdG9wX3AgPyB4ICsg
d2lkdGggLSBoZWlnaHQgOiB4ICsgd2lkdGgsIHkgKyBoZWlnaHQpOwpAQCAtNjgxMSw3ICs2ODE0
LDcgQEAgeF9lcmFzZV9jb3JuZXJzX2Zvcl9yZWxpZWYgKHN0cnVjdCBmcmFtZSAqZiwgR0MgZ2Ms
IGludCB4LCBpbnQgeSwKICAgaW50IGk7CiAKICAgY3IgPSB4X2JlZ2luX2NyX2NsaXAgKGYsIGdj
KTsKLSAgeF9zZXRfY3Jfc291cmNlX3dpdGhfZ2NfYmFja2dyb3VuZCAoZiwgZ2MsIGZhbHNlKTsK
KyAgeF9zZXRfY3Jfc291cmNlX3dpdGhfZ2NfYmFja2dyb3VuZCAoZiwgZ2MsIDEuMCk7CiAgIGZv
ciAoaSA9IDA7IGkgPCBDT1JORVJfTEFTVDsgaSsrKQogICAgIGlmIChjb3JuZXJzICYgKDEgPDwg
aSkpCiAgICAgICB7CkBAIC02ODQ0LDcgKzY4NDcsNyBAQCB4X2RyYXdfaG9yaXpvbnRhbF93YXZl
IChzdHJ1Y3QgZnJhbWUgKmYsIEdDIGdjLCBpbnQgeCwgaW50IHksCiAgIGludCB4b2Zmc2V0LCBu
OwogCiAgIGNyID0geF9iZWdpbl9jcl9jbGlwIChmLCBnYyk7Ci0gIHhfc2V0X2NyX3NvdXJjZV93
aXRoX2djX2ZvcmVncm91bmQgKGYsIGdjLCBmYWxzZSk7CisgIHhfc2V0X2NyX3NvdXJjZV93aXRo
X2djX2ZvcmVncm91bmQgKGYsIGdjLCAxLjApOwogICBjYWlyb19yZWN0YW5nbGUgKGNyLCB4LCB5
LCB3aWR0aCwgaGVpZ2h0KTsKICAgY2Fpcm9fY2xpcCAoY3IpOwogCkBAIC03NDYwLDcgKzc0NjMs
NyBAQCB4X2RyYXdfdmVydGljYWxfd2luZG93X2JvcmRlciAoc3RydWN0IHdpbmRvdyAqdywgaW50
IHgsIGludCB5MCwgaW50IHkxKQogCQkgICAgZmFjZS0+Zm9yZWdyb3VuZCk7CiAKICNpZmRlZiBV
U0VfQ0FJUk8KLSAgeF9maWxsX3JlY3RhbmdsZSAoZiwgZi0+b3V0cHV0X2RhdGEueC0+bm9ybWFs
X2djLCB4LCB5MCwgMSwgeTEgLSB5MCwgZmFsc2UpOworICB4X2ZpbGxfcmVjdGFuZ2xlIChmLCBm
LT5vdXRwdXRfZGF0YS54LT5ub3JtYWxfZ2MsIHgsIHkwLCAxLCB5MSAtIHkwLCAxLjApOwogI2Vs
c2UKICAgWERyYXdMaW5lIChGUkFNRV9YX0RJU1BMQVkgKGYpLCBGUkFNRV9YX0RSQVdBQkxFIChm
KSwKIAkgICAgIGYtPm91dHB1dF9kYXRhLngtPm5vcm1hbF9nYywgeCwgeTAsIHgsIHkxKTsKQEAg
LTc0OTMsMTYgKzc0OTYsMTMgQEAgeF9kcmF3X3dpbmRvd19kaXZpZGVyIChzdHJ1Y3Qgd2luZG93
ICp3LCBpbnQgeDAsIGludCB4MSwgaW50IHkwLCBpbnQgeTEpCiAgICAgewogICAgICAgWFNldEZv
cmVncm91bmQgKGRpc3BsYXksIGYtPm91dHB1dF9kYXRhLngtPm5vcm1hbF9nYywgY29sb3JfZmly
c3QpOwogICAgICAgeF9maWxsX3JlY3RhbmdsZSAoZiwgZi0+b3V0cHV0X2RhdGEueC0+bm9ybWFs
X2djLAotCQkJeDAsIHkwLCAxLCB5MSAtIHkwLAotICAgICAgICAgICAgICAgICAgICAgICAgZi0+
Ym9yZGVyc19yZXNwZWN0X2FscGhhX2JhY2tncm91bmQpOworCQkJeDAsIHkwLCAxLCB5MSAtIHkw
LCBmLT5hbHBoYV9ib3JkZXJzKTsKICAgICAgIFhTZXRGb3JlZ3JvdW5kIChkaXNwbGF5LCBmLT5v
dXRwdXRfZGF0YS54LT5ub3JtYWxfZ2MsIGNvbG9yKTsKICAgICAgIHhfZmlsbF9yZWN0YW5nbGUg
KGYsIGYtPm91dHB1dF9kYXRhLngtPm5vcm1hbF9nYywKLQkJCXgwICsgMSwgeTAsIHgxIC0geDAg
LSAyLCB5MSAtIHkwLAotICAgICAgICAgICAgICAgICAgICAgICAgZi0+Ym9yZGVyc19yZXNwZWN0
X2FscGhhX2JhY2tncm91bmQpOworCQkJeDAgKyAxLCB5MCwgeDEgLSB4MCAtIDIsIHkxIC0geTAs
IGYtPmFscGhhX2JvcmRlcnMpOwogICAgICAgWFNldEZvcmVncm91bmQgKGRpc3BsYXksIGYtPm91
dHB1dF9kYXRhLngtPm5vcm1hbF9nYywgY29sb3JfbGFzdCk7CiAgICAgICB4X2ZpbGxfcmVjdGFu
Z2xlIChmLCBmLT5vdXRwdXRfZGF0YS54LT5ub3JtYWxfZ2MsCi0JCQl4MSAtIDEsIHkwLCAxLCB5
MSAtIHkwLAotICAgICAgICAgICAgICAgICAgICAgICAgZi0+Ym9yZGVyc19yZXNwZWN0X2FscGhh
X2JhY2tncm91bmQpOworCQkJeDEgLSAxLCB5MCwgMSwgeTEgLSB5MCwgZi0+YWxwaGFfYm9yZGVy
cyk7CiAgICAgfQogICBlbHNlIGlmICgoeDEgLSB4MCA+IHkxIC0geTApICYmICh5MSAtIHkwID49
IDMpKQogICAgIC8qIEEgaG9yaXpvbnRhbCBkaXZpZGVyLCBhdCBsZWFzdCB0aHJlZSBwaXhlbHMg
aGlnaDogRHJhdyBmaXJzdCBhbmQKQEAgLTc1MTAsMTYgKzc1MTAsMTMgQEAgeF9kcmF3X3dpbmRv
d19kaXZpZGVyIChzdHJ1Y3Qgd2luZG93ICp3LCBpbnQgeDAsIGludCB4MSwgaW50IHkwLCBpbnQg
eTEpCiAgICAgewogICAgICAgWFNldEZvcmVncm91bmQgKGRpc3BsYXksIGYtPm91dHB1dF9kYXRh
LngtPm5vcm1hbF9nYywgY29sb3JfZmlyc3QpOwogICAgICAgeF9maWxsX3JlY3RhbmdsZSAoZiwg
Zi0+b3V0cHV0X2RhdGEueC0+bm9ybWFsX2djLAotCQkJeDAsIHkwLCB4MSAtIHgwLCAxLAotICAg
ICAgICAgICAgICAgICAgICAgICAgZi0+Ym9yZGVyc19yZXNwZWN0X2FscGhhX2JhY2tncm91bmQp
OworCQkJeDAsIHkwLCB4MSAtIHgwLCAxLCBmLT5hbHBoYV9ib3JkZXJzKTsKICAgICAgIFhTZXRG
b3JlZ3JvdW5kIChkaXNwbGF5LCBmLT5vdXRwdXRfZGF0YS54LT5ub3JtYWxfZ2MsIGNvbG9yKTsK
ICAgICAgIHhfZmlsbF9yZWN0YW5nbGUgKGYsIGYtPm91dHB1dF9kYXRhLngtPm5vcm1hbF9nYywK
LQkJCXgwLCB5MCArIDEsIHgxIC0geDAsIHkxIC0geTAgLSAyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgZi0+Ym9yZGVyc19yZXNwZWN0X2FscGhhX2JhY2tncm91bmQpOworCQkJeDAsIHkwICsg
MSwgeDEgLSB4MCwgeTEgLSB5MCAtIDIsIGYtPmFscGhhX2JvcmRlcnMpOwogICAgICAgWFNldEZv
cmVncm91bmQgKGRpc3BsYXksIGYtPm91dHB1dF9kYXRhLngtPm5vcm1hbF9nYywgY29sb3JfbGFz
dCk7CiAgICAgICB4X2ZpbGxfcmVjdGFuZ2xlIChmLCBmLT5vdXRwdXRfZGF0YS54LT5ub3JtYWxf
Z2MsCi0JCQl4MCwgeTEgLSAxLCB4MSAtIHgwLCAxLAotICAgICAgICAgICAgICAgICAgICAgICAg
Zi0+Ym9yZGVyc19yZXNwZWN0X2FscGhhX2JhY2tncm91bmQpOworCQkJeDAsIHkxIC0gMSwgeDEg
LSB4MCwgMSwgZi0+YWxwaGFfYm9yZGVycyk7CiAgICAgfQogICBlbHNlCiAgICAgewpAQCAtNzUy
Nyw4ICs3NTI0LDcgQEAgeF9kcmF3X3dpbmRvd19kaXZpZGVyIChzdHJ1Y3Qgd2luZG93ICp3LCBp
bnQgeDAsIGludCB4MSwgaW50IHkwLCBpbnQgeTEpCiAgICAgICAgZGlmZmVyZW50bHkuICAqLwog
ICAgICAgWFNldEZvcmVncm91bmQgKGRpc3BsYXksIGYtPm91dHB1dF9kYXRhLngtPm5vcm1hbF9n
YywgY29sb3IpOwogICAgICAgeF9maWxsX3JlY3RhbmdsZSAoZiwgZi0+b3V0cHV0X2RhdGEueC0+
bm9ybWFsX2djLAotCQkJeDAsIHkwLCB4MSAtIHgwLCB5MSAtIHkwLAotICAgICAgICAgICAgICAg
ICAgICAgICAgZi0+Ym9yZGVyc19yZXNwZWN0X2FscGhhX2JhY2tncm91bmQpOworCQkJeDAsIHkw
LCB4MSAtIHgwLCB5MSAtIHkwLCBmLT5hbHBoYV9ib3JkZXJzKTsKICAgICB9CiB9CiAKQEAgLTc3
MzAsMTQgKzc3MjYsMTQgQEAgeF9jbGVhcl91bmRlcl9pbnRlcm5hbF9ib3JkZXIgKHN0cnVjdCBm
cmFtZSAqZikKIAogCSAgWFNldEZvcmVncm91bmQgKGRpc3BsYXksIGdjLCBjb2xvcik7CiAJICB4
X2ZpbGxfcmVjdGFuZ2xlIChmLCBnYywgMCwgbWFyZ2luLCB3aWR0aCwgYm9yZGVyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGYtPmJvcmRlcnNfcmVzcGVjdF9hbHBoYV9iYWNrZ3JvdW5k
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmLT5hbHBoYV9ib3JkZXJzKTsKIAkgIHhf
ZmlsbF9yZWN0YW5nbGUgKGYsIGdjLCAwLCAwLCBib3JkZXIsIGhlaWdodCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBmLT5ib3JkZXJzX3Jlc3BlY3RfYWxwaGFfYmFja2dyb3VuZCk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZi0+YWxwaGFfYm9yZGVycyk7CiAJICB4X2ZpbGxf
cmVjdGFuZ2xlIChmLCBnYywgd2lkdGggLSBib3JkZXIsIDAsIGJvcmRlciwgaGVpZ2h0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGYtPmJvcmRlcnNfcmVzcGVjdF9hbHBoYV9iYWNrZ3Jv
dW5kKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmLT5hbHBoYV9ib3JkZXJzKTsKIAkg
IHhfZmlsbF9yZWN0YW5nbGUgKGYsIGdjLCAwLCBoZWlnaHQgLSBib3R0b21fbWFyZ2luIC0gYm9y
ZGVyLAogCQkJICAgIHdpZHRoLCBib3JkZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
Zi0+Ym9yZGVyc19yZXNwZWN0X2FscGhhX2JhY2tncm91bmQpOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGYtPmFscGhhX2JvcmRlcnMpOwogCSAgWFNldEZvcmVncm91bmQgKGRpc3BsYXks
IGdjLCBGUkFNRV9GT1JFR1JPVU5EX1BJWEVMIChmKSk7CiAJfQogICAgICAgZWxzZQpAQCAtNzgw
Miw5ICs3Nzk4LDEwIEBAIHhfYWZ0ZXJfdXBkYXRlX3dpbmRvd19saW5lIChzdHJ1Y3Qgd2luZG93
ICp3LCBzdHJ1Y3QgZ2x5cGhfcm93ICpkZXNpcmVkX3JvdykKIAkgICAgR0MgZ2MgPSBmLT5vdXRw
dXRfZGF0YS54LT5ub3JtYWxfZ2M7CiAKIAkgICAgWFNldEZvcmVncm91bmQgKGRpc3BsYXksIGdj
LCBjb2xvcik7Ci0JICAgIHhfZmlsbF9yZWN0YW5nbGUgKGYsIGdjLCAwLCB5LCB3aWR0aCwgaGVp
Z2h0LCB0cnVlKTsKKwkgICAgeF9maWxsX3JlY3RhbmdsZSAoZiwgZ2MsIDAsIHksIHdpZHRoLCBo
ZWlnaHQsCisJCQkgICAgICBmLT5hbHBoYV9iYWNrZ3JvdW5kKTsKIAkgICAgeF9maWxsX3JlY3Rh
bmdsZSAoZiwgZ2MsIEZSQU1FX1BJWEVMX1dJRFRIIChmKSAtIHdpZHRoLCB5LAotCQkJICAgICAg
d2lkdGgsIGhlaWdodCwgdHJ1ZSk7CisJCQkgICAgICB3aWR0aCwgaGVpZ2h0LCBmLT5hbHBoYV9i
YWNrZ3JvdW5kKTsKIAkgICAgWFNldEZvcmVncm91bmQgKGRpc3BsYXksIGdjLCBGUkFNRV9GT1JF
R1JPVU5EX1BJWEVMIChmKSk7CiAJICB9CiAJZWxzZQpAQCAtNzg4MCw3ICs3ODc3LDcgQEAgeF9k
cmF3X2ZyaW5nZV9iaXRtYXAgKHN0cnVjdCB3aW5kb3cgKncsIHN0cnVjdCBnbHlwaF9yb3cgKnJv
dywKIAl7CiAJICBYU2V0RmlsbFN0eWxlIChkaXNwbGF5LCBmYWNlLT5nYywgRmlsbE9wYXF1ZVN0
aXBwbGVkKTsKIAkgIHhfZmlsbF9yZWN0YW5nbGUgKGYsIGZhY2UtPmdjLCBwLT5ieCwgcC0+Ynks
IHAtPm54LCBwLT5ueSwKLQkJCSAgICB0cnVlKTsKKwkJCSAgICBmLT5hbHBoYV9iYWNrZ3JvdW5k
KTsKIAkgIFhTZXRGaWxsU3R5bGUgKGRpc3BsYXksIGZhY2UtPmdjLCBGaWxsU29saWQpOwogCiAJ
ICByb3ctPnN0aXBwbGVfcCA9IHRydWU7CkBAIC03ODg5LDcgKzc4ODYsNyBAQCB4X2RyYXdfZnJp
bmdlX2JpdG1hcCAoc3RydWN0IHdpbmRvdyAqdywgc3RydWN0IGdseXBoX3JvdyAqcm93LAogCXsK
IAkgIFhTZXRCYWNrZ3JvdW5kIChkaXNwbGF5LCBmYWNlLT5nYywgZmFjZS0+YmFja2dyb3VuZCk7
CiAJICB4X2NsZWFyX3JlY3RhbmdsZSAoZiwgZmFjZS0+Z2MsIHAtPmJ4LCBwLT5ieSwgcC0+bngs
IHAtPm55LAotCQkJICAgdHJ1ZSk7CisJCQkgICBmLT5hbHBoYV9iYWNrZ3JvdW5kKTsKIAkgIFhT
ZXRGb3JlZ3JvdW5kIChkaXNwbGF5LCBmYWNlLT5nYywgZmFjZS0+Zm9yZWdyb3VuZCk7CiAJfQog
ICAgIH0KQEAgLTg1MzAsMjQgKzg1MjcsMjMgQEAgeF9jb21wdXRlX2dseXBoX3N0cmluZ19vdmVy
aGFuZ3MgKHN0cnVjdCBnbHlwaF9zdHJpbmcgKnMpCiBzdGF0aWMgdm9pZAogeF9jbGVhcl9nbHlw
aF9zdHJpbmdfcmVjdCAoc3RydWN0IGdseXBoX3N0cmluZyAqcywgaW50IHgsIGludCB5LCBpbnQg
dywgaW50IGgpCiB7Ci0gIHhfY2xlYXJfcmVjdGFuZ2xlIChzLT5mLCBzLT5nYywgeCwgeSwgdywg
aCwgcy0+aGwgIT0gRFJBV19DVVJTT1IpOworICB4X2NsZWFyX3JlY3RhbmdsZSAocy0+Ziwgcy0+
Z2MsIHgsIHksIHcsIGgsIHMtPmhsICE9IERSQVdfQ1VSU09SID8gcy0+Zi0+YWxwaGFfYmFja2dy
b3VuZCA6IDEuMCk7CiB9CiAKICNpZm5kZWYgVVNFX0NBSVJPCiAKIHN0YXRpYyB2b2lkCiB4X2Ns
ZWFyX3BvaW50IChzdHJ1Y3QgZnJhbWUgKmYsIEdDIGdjLCBpbnQgeCwgaW50IHksCi0JICAgICAg
IGJvb2wgcmVzcGVjdF9hbHBoYV9iYWNrZ3JvdW5kKQorCSAgICAgICBkb3VibGUgYWxwaGEpCiB7
CiAgIFhHQ1ZhbHVlcyB4Z2N2OwogICBEaXNwbGF5ICpkcHk7CiAKICAgZHB5ID0gRlJBTUVfWF9E
SVNQTEFZIChmKTsKIAotICBpZiAoZi0+YWxwaGFfYmFja2dyb3VuZCAhPSAxLjAKLSAgICAgICYm
IHJlc3BlY3RfYWxwaGFfYmFja2dyb3VuZCkKKyAgaWYgKGFscGhhICE9IDEuMCkKICAgICB7Ci0g
ICAgICB4X2NsZWFyX3JlY3RhbmdsZSAoZiwgZ2MsIHgsIHksIDEsIDEsIHRydWUpOworICAgICAg
eF9jbGVhcl9yZWN0YW5nbGUgKGYsIGdjLCB4LCB5LCAxLCAxLCBhbHBoYSk7CiAgICAgICByZXR1
cm47CiAgICAgfQogCkBAIC04NTgwLDExICs4NTc2LDEyIEBAIHhfZHJhd19nbHlwaF9zdHJpbmdf
YmFja2dyb3VuZCAoc3RydWN0IGdseXBoX3N0cmluZyAqcywgYm9vbCBmb3JjZV9wKQogCiAJICAv
KiBGaWxsIGJhY2tncm91bmQgd2l0aCBhIHN0aXBwbGUgcGF0dGVybi4gICovCiAJICBYU2V0Rmls
bFN0eWxlIChkaXNwbGF5LCBzLT5nYywgRmlsbE9wYXF1ZVN0aXBwbGVkKTsKKwkgIGRvdWJsZSBh
bHBoYSA9IHMtPmhsICE9IERSQVdfQ1VSU09SID8gcy0+Zi0+YWxwaGFfYmFja2dyb3VuZCA6IDEu
MDsKIAkgIHhfZmlsbF9yZWN0YW5nbGUgKHMtPmYsIHMtPmdjLCBzLT54LAogCQkJICAgIHMtPnkg
KyBib3hfbGluZV93aWR0aCwKIAkJCSAgICBzLT5iYWNrZ3JvdW5kX3dpZHRoLAogCQkJICAgIHMt
PmhlaWdodCAtIDIgKiBib3hfbGluZV93aWR0aCwKLQkJCSAgICBzLT5obCAhPSBEUkFXX0NVUlNP
Uik7CisJCQkgICAgYWxwaGEpOwogCSAgWFNldEZpbGxTdHlsZSAoZGlzcGxheSwgcy0+Z2MsIEZp
bGxTb2xpZCk7CiAJICBzLT5iYWNrZ3JvdW5kX2ZpbGxlZF9wID0gdHJ1ZTsKIAl9CkBAIC04Njgw
LDcgKzg2NzcsNyBAQCB4X2RyYXdfZ2x5cGhfc3RyaW5nX2ZvcmVncm91bmQgKHN0cnVjdCBnbHlw
aF9zdHJpbmcgKnMpCiAJCQkJICAgIHMtPnkgKyBib3hfbGluZV93aWR0aCwKIAkJCQkgICAgcy0+
YmFja2dyb3VuZF93aWR0aCwKIAkJCQkgICAgcy0+aGVpZ2h0IC0gMiAqIGJveF9saW5lX3dpZHRo
LAotCQkJCSAgICBmYWxzZSk7CisJCQkJICAgIDEuMCk7CiAJCSAgWFNldEZpbGxTdHlsZSAoZGlz
cGxheSwgcy0+Z2MsIEZpbGxTb2xpZCk7CiAJCX0KIAkgICAgICBlbHNlCkBAIC05ODIxLDcgKzk4
MTgsNyBAQCB4X2RyYXdfcmVsaWVmX3JlY3QgKHN0cnVjdCBmcmFtZSAqZiwgaW50IGxlZnRfeCwg
aW50IHRvcF95LCBpbnQgcmlnaHRfeCwKICAgaWYgKGxlZnRfcCkKICAgICB7CiAgICAgICB4X2Zp
bGxfcmVjdGFuZ2xlIChmLCB0b3BfbGVmdF9nYywgbGVmdF94LCB0b3BfeSwKLQkJCXZ3aWR0aCwg
Ym90dG9tX3kgKyAxIC0gdG9wX3ksIGZhbHNlKTsKKwkJCXZ3aWR0aCwgYm90dG9tX3kgKyAxIC0g
dG9wX3ksIDEuMCk7CiAgICAgICBpZiAodG9wX3ApCiAJY29ybmVycyB8PSAxIDw8IENPUk5FUl9U
T1BfTEVGVDsKICAgICAgIGlmIChib3RfcCkKQEAgLTk4MzAsNyArOTgyNyw3IEBAIHhfZHJhd19y
ZWxpZWZfcmVjdCAoc3RydWN0IGZyYW1lICpmLCBpbnQgbGVmdF94LCBpbnQgdG9wX3ksIGludCBy
aWdodF94LAogICBpZiAocmlnaHRfcCkKICAgICB7CiAgICAgICB4X2ZpbGxfcmVjdGFuZ2xlIChm
LCBib3R0b21fcmlnaHRfZ2MsIHJpZ2h0X3ggKyAxIC0gdndpZHRoLCB0b3BfeSwKLQkJCXZ3aWR0
aCwgYm90dG9tX3kgKyAxIC0gdG9wX3ksIGZhbHNlKTsKKwkJCXZ3aWR0aCwgYm90dG9tX3kgKyAx
IC0gdG9wX3ksIDEuMCk7CiAgICAgICBpZiAodG9wX3ApCiAJY29ybmVycyB8PSAxIDw8IENPUk5F
Ul9UT1BfUklHSFQ7CiAgICAgICBpZiAoYm90X3ApCkBAIC05ODQwLDcgKzk4MzcsNyBAQCB4X2Ry
YXdfcmVsaWVmX3JlY3QgKHN0cnVjdCBmcmFtZSAqZiwgaW50IGxlZnRfeCwgaW50IHRvcF95LCBp
bnQgcmlnaHRfeCwKICAgICB7CiAgICAgICBpZiAoIXJpZ2h0X3ApCiAJeF9maWxsX3JlY3Rhbmds
ZSAoZiwgdG9wX2xlZnRfZ2MsIGxlZnRfeCwgdG9wX3ksCi0JCQkgIHJpZ2h0X3ggKyAxIC0gbGVm
dF94LCBod2lkdGgsIGZhbHNlKTsKKwkJCSAgcmlnaHRfeCArIDEgLSBsZWZ0X3gsIGh3aWR0aCwg
MS4wKTsKICAgICAgIGVsc2UKIAl4X2ZpbGxfdHJhcGV6b2lkX2Zvcl9yZWxpZWYgKGYsIHRvcF9s
ZWZ0X2djLCBsZWZ0X3gsIHRvcF95LAogCQkJCSAgICAgcmlnaHRfeCArIDEgLSBsZWZ0X3gsIGh3
aWR0aCwgMSk7CkBAIC05ODQ5LDcgKzk4NDYsNyBAQCB4X2RyYXdfcmVsaWVmX3JlY3QgKHN0cnVj
dCBmcmFtZSAqZiwgaW50IGxlZnRfeCwgaW50IHRvcF95LCBpbnQgcmlnaHRfeCwKICAgICB7CiAg
ICAgICBpZiAoIWxlZnRfcCkKIAl4X2ZpbGxfcmVjdGFuZ2xlIChmLCBib3R0b21fcmlnaHRfZ2Ms
IGxlZnRfeCwgYm90dG9tX3kgKyAxIC0gaHdpZHRoLAotCQkJICByaWdodF94ICsgMSAtIGxlZnRf
eCwgaHdpZHRoLCBmYWxzZSk7CisJCQkgIHJpZ2h0X3ggKyAxIC0gbGVmdF94LCBod2lkdGgsIDEu
MCk7CiAgICAgICBlbHNlCiAJeF9maWxsX3RyYXBlem9pZF9mb3JfcmVsaWVmIChmLCBib3R0b21f
cmlnaHRfZ2MsCiAJCQkJICAgICBsZWZ0X3gsIGJvdHRvbV95ICsgMSAtIGh3aWR0aCwKQEAgLTk4
NTcsMTAgKzk4NTQsMTAgQEAgeF9kcmF3X3JlbGllZl9yZWN0IChzdHJ1Y3QgZnJhbWUgKmYsIGlu
dCBsZWZ0X3gsIGludCB0b3BfeSwgaW50IHJpZ2h0X3gsCiAgICAgfQogICBpZiAobGVmdF9wICYm
IHZ3aWR0aCA+IDEpCiAgICAgeF9maWxsX3JlY3RhbmdsZSAoZiwgYm90dG9tX3JpZ2h0X2djLCBs
ZWZ0X3gsIHRvcF95LAotCQkgICAgICAxLCBib3R0b21feSArIDEgLSB0b3BfeSwgZmFsc2UpOwor
CQkgICAgICAxLCBib3R0b21feSArIDEgLSB0b3BfeSwgMS4wKTsKICAgaWYgKHRvcF9wICYmIGh3
aWR0aCA+IDEpCiAgICAgeF9maWxsX3JlY3RhbmdsZSAoZiwgYm90dG9tX3JpZ2h0X2djLCBsZWZ0
X3gsIHRvcF95LAotCQkgICAgICByaWdodF94ICsgMSAtIGxlZnRfeCwgMSwgZmFsc2UpOworCQkg
ICAgICByaWdodF94ICsgMSAtIGxlZnRfeCwgMSwgMS4wKTsKICAgaWYgKGNvcm5lcnMpCiAgICAg
ewogICAgICAgWFNldEJhY2tncm91bmQgKEZSQU1FX1hfRElTUExBWSAoZiksIHRvcF9sZWZ0X2dj
LApAQCAtOTkwMiwxMSArOTg5OSwxMSBAQCB4X2RyYXdfcmVsaWVmX3JlY3QgKHN0cnVjdCBmcmFt
ZSAqZiwgaW50IGxlZnRfeCwgaW50IHRvcF95LCBpbnQgcmlnaHRfeCwKICAgaWYgKHRvcF9wKQog
ICAgIHhfZmlsbF9yZWN0YW5nbGUgKGYsIGdjLCBsZWZ0X3gsIHRvcF95LAogCQkgICAgICByaWdo
dF94IC0gbGVmdF94ICsgMSwgaHdpZHRoLAotCQkgICAgICBmYWxzZSk7CisJCSAgICAgIDEuMCk7
CiAKICAgaWYgKGxlZnRfcCkKICAgICB4X2ZpbGxfcmVjdGFuZ2xlIChmLCBnYywgbGVmdF94LCB0
b3BfeSwgdndpZHRoLAotCQkgICAgICBib3R0b21feSAtIHRvcF95ICsgMSwgZmFsc2UpOworCQkg
ICAgICBib3R0b21feSAtIHRvcF95ICsgMSwgMS4wKTsKIAogICBpZiAocmFpc2VkX3ApCiAgICAg
Z2MgPSBibGFja19nYzsKQEAgLTk5MTUsMTEgKzk5MTIsMTEgQEAgeF9kcmF3X3JlbGllZl9yZWN0
IChzdHJ1Y3QgZnJhbWUgKmYsIGludCBsZWZ0X3gsIGludCB0b3BfeSwgaW50IHJpZ2h0X3gsCiAK
ICAgaWYgKGJvdF9wKQogICAgIHhfZmlsbF9yZWN0YW5nbGUgKGYsIGdjLCBsZWZ0X3gsIGJvdHRv
bV95IC0gaHdpZHRoICsgMSwKLQkJICAgICAgcmlnaHRfeCAtIGxlZnRfeCArIDEsIGh3aWR0aCwg
ZmFsc2UpOworCQkgICAgICByaWdodF94IC0gbGVmdF94ICsgMSwgaHdpZHRoLCAxLjApOwogCiAg
IGlmIChyaWdodF9wKQogICAgIHhfZmlsbF9yZWN0YW5nbGUgKGYsIGdjLCByaWdodF94IC0gdndp
ZHRoICsgMSwgdG9wX3ksCi0JCSAgICAgIHZ3aWR0aCwgYm90dG9tX3kgLSB0b3BfeSArIDEsIGZh
bHNlKTsKKwkJICAgICAgdndpZHRoLCBib3R0b21feSAtIHRvcF95ICsgMSwgMS4wKTsKIAogICAv
KiBEcmF3IGNvcm5lcnMuICAqLwogCkBAIC05OTY4LDE5ICs5OTY1LDE5IEBAIHhfZHJhd19yZWxp
ZWZfcmVjdCAoc3RydWN0IGZyYW1lICpmLCBpbnQgbGVmdF94LCBpbnQgdG9wX3ksIGludCByaWdo
dF94LAogCQkJCQkgICAgICBsZWZ0X3gsIHRvcF95KSkKIAkvKiBUaGlzIHNob3VsZCByZXNwZWN0
IGBhbHBoYS1iYWNrZ3JvdW5kJyBzaW5jZSBpdCdzIGJlaW5nCiAJICAgY2xlYXJlZCB3aXRoIHRo
ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBmcmFtZS4gICovCi0JeF9jbGVhcl9wb2ludCAoZiwg
bm9ybWFsX2djLCBsZWZ0X3gsIHRvcF95LCB0cnVlKTsKKwl4X2NsZWFyX3BvaW50IChmLCBub3Jt
YWxfZ2MsIGxlZnRfeCwgdG9wX3ksIGYtPmFscGhhX2JhY2tncm91bmQpOwogCiAgICAgICBpZiAo
bGVmdF9wICYmIGJvdF9wICYmIHhfaW5zaWRlX3JlY3RfcCAoY2xpcF9yZWN0LCAxLAogCQkJCQkg
ICAgICBsZWZ0X3gsIGJvdHRvbV95KSkKLQl4X2NsZWFyX3BvaW50IChmLCBub3JtYWxfZ2MsIGxl
ZnRfeCwgYm90dG9tX3ksIHRydWUpOworCXhfY2xlYXJfcG9pbnQgKGYsIG5vcm1hbF9nYywgbGVm
dF94LCBib3R0b21feSwgZi0+YWxwaGFfYmFja2dyb3VuZCk7CiAKICAgICAgIGlmIChyaWdodF9w
ICYmIHRvcF9wICYmIHhfaW5zaWRlX3JlY3RfcCAoY2xpcF9yZWN0LCAxLAogCQkJCQkgICAgICAg
cmlnaHRfeCwgdG9wX3kpKQotCXhfY2xlYXJfcG9pbnQgKGYsIG5vcm1hbF9nYywgcmlnaHRfeCwg
dG9wX3ksIHRydWUpOworCXhfY2xlYXJfcG9pbnQgKGYsIG5vcm1hbF9nYywgcmlnaHRfeCwgdG9w
X3ksIGYtPmFscGhhX2JhY2tncm91bmQpOwogCiAgICAgICBpZiAocmlnaHRfcCAmJiBib3RfcCAm
JiB4X2luc2lkZV9yZWN0X3AgKGNsaXBfcmVjdCwgMSwKIAkJCQkJICAgICAgIHJpZ2h0X3gsIGJv
dHRvbV95KSkKLQl4X2NsZWFyX3BvaW50IChmLCBub3JtYWxfZ2MsIHJpZ2h0X3gsIGJvdHRvbV95
LCB0cnVlKTsKKwl4X2NsZWFyX3BvaW50IChmLCBub3JtYWxfZ2MsIHJpZ2h0X3gsIGJvdHRvbV95
LCBmLT5hbHBoYV9iYWNrZ3JvdW5kKTsKICAgICB9CiAKICAgeF9yZXNldF9jbGlwX3JlY3Rhbmds
ZXMgKGYsIHdoaXRlX2djKTsKQEAgLTEwMDExLDI0ICsxMDAwOCwyNCBAQCB4X2RyYXdfYm94X3Jl
Y3QgKHN0cnVjdCBnbHlwaF9zdHJpbmcgKnMsCiAgIC8qIFRvcC4gICovCiAgIHhfZmlsbF9yZWN0
YW5nbGUgKHMtPmYsIHMtPmdjLAogCQkgICAgbGVmdF94LCB0b3BfeSwgcmlnaHRfeCAtIGxlZnRf
eCArIDEsIGh3aWR0aCwKLQkJICAgIGZhbHNlKTsKKwkJICAgIDEuMCk7CiAKICAgLyogTGVmdC4g
ICovCiAgIGlmIChsZWZ0X3ApCiAgICAgeF9maWxsX3JlY3RhbmdsZSAocy0+Ziwgcy0+Z2MsCiAJ
CSAgICAgIGxlZnRfeCwgdG9wX3ksIHZ3aWR0aCwgYm90dG9tX3kgLSB0b3BfeSArIDEsCi0JCSAg
ICAgIGZhbHNlKTsKKwkJICAgICAgMS4wKTsKIAogICAvKiBCb3R0b20uICAqLwogICB4X2ZpbGxf
cmVjdGFuZ2xlIChzLT5mLCBzLT5nYywKIAkJICAgIGxlZnRfeCwgYm90dG9tX3kgLSBod2lkdGgg
KyAxLCByaWdodF94IC0gbGVmdF94ICsgMSwgaHdpZHRoLAotCQkgICAgZmFsc2UpOworCQkgICAg
MS4wKTsKIAogICAvKiBSaWdodC4gICovCiAgIGlmIChyaWdodF9wKQogICAgIHhfZmlsbF9yZWN0
YW5nbGUgKHMtPmYsIHMtPmdjLAogCQkgICAgICByaWdodF94IC0gdndpZHRoICsgMSwgdG9wX3ks
IHZ3aWR0aCwgYm90dG9tX3kgLSB0b3BfeSArIDEsCi0JCSAgICAgIGZhbHNlKTsKKwkJICAgICAg
MS4wKTsKIAogICBYU2V0Rm9yZWdyb3VuZCAoZGlzcGxheSwgcy0+Z2MsIHhnY3YuZm9yZWdyb3Vu
ZCk7CiAgIHhfcmVzZXRfY2xpcF9yZWN0YW5nbGVzIChzLT5mLCBzLT5nYyk7CkBAIC0xMDQ3MSw3
ICsxMDQ2OCw3IEBAIHhfZHJhd19nbHlwaF9zdHJpbmdfYmdfcmVjdCAoc3RydWN0IGdseXBoX3N0
cmluZyAqcywgaW50IHgsIGludCB5LCBpbnQgdywgaW50IGgpCiAKICAgICAgIC8qIEZpbGwgYmFj
a2dyb3VuZCB3aXRoIGEgc3RpcHBsZSBwYXR0ZXJuLiAgKi8KICAgICAgIFhTZXRGaWxsU3R5bGUg
KGRpc3BsYXksIHMtPmdjLCBGaWxsT3BhcXVlU3RpcHBsZWQpOwotICAgICAgeF9maWxsX3JlY3Rh
bmdsZSAocy0+Ziwgcy0+Z2MsIHgsIHksIHcsIGgsIHRydWUpOworICAgICAgeF9maWxsX3JlY3Rh
bmdsZSAocy0+Ziwgcy0+Z2MsIHgsIHksIHcsIGgsIHMtPmYtPmFscGhhX2JhY2tncm91bmQpOwog
ICAgICAgWFNldEZpbGxTdHlsZSAoZGlzcGxheSwgcy0+Z2MsIEZpbGxTb2xpZCk7CiAgICAgfQog
ICBlbHNlCkBAIC0xMDcwMiw3ICsxMDY5OSw3IEBAIHhfZHJhd19zdHJldGNoX2dseXBoX3N0cmlu
ZyAoc3RydWN0IGdseXBoX3N0cmluZyAqcykKIAkgICAgewogCSAgICAgIC8qIEZpbGwgYmFja2dy
b3VuZCB3aXRoIGEgc3RpcHBsZSBwYXR0ZXJuLiAgKi8KIAkgICAgICBYU2V0RmlsbFN0eWxlIChk
aXNwbGF5LCBnYywgRmlsbE9wYXF1ZVN0aXBwbGVkKTsKLQkgICAgICB4X2ZpbGxfcmVjdGFuZ2xl
IChzLT5mLCBnYywgeCwgeSwgdywgaCwgdHJ1ZSk7CisJICAgICAgeF9maWxsX3JlY3RhbmdsZSAo
cy0+ZiwgZ2MsIHgsIHksIHcsIGgsIHMtPmYtPmFscGhhX2JhY2tncm91bmQpOwogCSAgICAgIFhT
ZXRGaWxsU3R5bGUgKGRpc3BsYXksIGdjLCBGaWxsU29saWQpOwogCiAJICAgICAgcy0+cm93LT5z
dGlwcGxlX3AgPSB0cnVlOwpAQCAtMTA3MTIsNyArMTA3MDksNyBAQCB4X2RyYXdfc3RyZXRjaF9n
bHlwaF9zdHJpbmcgKHN0cnVjdCBnbHlwaF9zdHJpbmcgKnMpCiAJICAgICAgWEdDVmFsdWVzIHhn
Y3Y7CiAJICAgICAgWEdldEdDVmFsdWVzIChkaXNwbGF5LCBnYywgR0NGb3JlZ3JvdW5kIHwgR0NC
YWNrZ3JvdW5kLCAmeGdjdik7CiAJICAgICAgWFNldEZvcmVncm91bmQgKGRpc3BsYXksIGdjLCB4
Z2N2LmJhY2tncm91bmQpOwotCSAgICAgIHhfZmlsbF9yZWN0YW5nbGUgKHMtPmYsIGdjLCB4LCB5
LCB3LCBoLCB0cnVlKTsKKwkgICAgICB4X2ZpbGxfcmVjdGFuZ2xlIChzLT5mLCBnYywgeCwgeSwg
dywgaCwgcy0+Zi0+YWxwaGFfYmFja2dyb3VuZCk7CiAJICAgICAgWFNldEZvcmVncm91bmQgKGRp
c3BsYXksIGdjLCB4Z2N2LmZvcmVncm91bmQpOwogCSAgICB9CiAKQEAgLTEwODgzLDcgKzEwODgw
LDcgQEAgeF9kcmF3X2Rhc2ggKHN0cnVjdCBmcmFtZSAqZiwgc3RydWN0IGdseXBoX3N0cmluZyAq
cywgaW50IHdpZHRoLAogICBjcl9zZWdtZW50ID0gKGRvdWJsZSkgc2VnbWVudDsKICAgeV9jZW50
ZXIgPSBzLT55YmFzZSArIG9mZnNldCArICh0aGlja25lc3MgLyAyLjApOwogCi0gIHhfc2V0X2Ny
X3NvdXJjZV93aXRoX2djX2ZvcmVncm91bmQgKGYsIHMtPmdjLCBmYWxzZSk7CisgIHhfc2V0X2Ny
X3NvdXJjZV93aXRoX2djX2ZvcmVncm91bmQgKGYsIHMtPmdjLCAxLjApOwogICBjYWlyb19zZXRf
ZGFzaCAoY3IsICZjcl9zZWdtZW50LCAxLCBzLT54KTsKICAgY2Fpcm9fc2V0X2xpbmVfd2lkdGgg
KGNyLCB0aGlja25lc3MpOwogICBjYWlyb19tb3ZlX3RvIChjciwgcy0+eCwgeV9jZW50ZXIpOwpA
QCAtMTA5MTUsNyArMTA5MTIsNyBAQCB4X2ZpbGxfdW5kZXJsaW5lIChzdHJ1Y3QgZnJhbWUgKmYs
IHN0cnVjdCBnbHlwaF9zdHJpbmcgKnMsCiAgICAgY2FzZSBGQUNFX1VOREVSTElORV9TSU5HTEU6
CiAgICAgY2FzZSBGQUNFX1VOREVSTElORV9ET1VCTEVfTElORToKICAgICAgIHhfZmlsbF9yZWN0
YW5nbGUgKGYsIHMtPmdjLCBzLT54LCBzLT55YmFzZSArIHBvc2l0aW9uLAotCQkJZGVjb3JhdGlv
bl93aWR0aCwgdGhpY2tuZXNzLCBmYWxzZSk7CisJCQlkZWNvcmF0aW9uX3dpZHRoLCB0aGlja25l
c3MsIDEuMCk7CiAgICAgICBicmVhazsKIAogICAgIGNhc2UgRkFDRV9VTkRFUkxJTkVfRE9UUzoK
QEAgLTExMTk2LDcgKzExMTkzLDcgQEAgeF9kcmF3X2dseXBoX3N0cmluZyAoc3RydWN0IGdseXBo
X3N0cmluZyAqcykKIAogCSAgaWYgKHMtPmZhY2UtPm92ZXJsaW5lX2NvbG9yX2RlZmF1bHRlZF9w
KQogCSAgICB4X2ZpbGxfcmVjdGFuZ2xlIChzLT5mLCBzLT5nYywgcy0+eCwgcy0+eSArIGR5LAot
CQkJICAgICAgZGVjb3JhdGlvbl93aWR0aCwgaCwgZmFsc2UpOworCQkJICAgICAgZGVjb3JhdGlv
bl93aWR0aCwgaCwgMS4wKTsKIAkgIGVsc2UKIAkgICAgewogICAgICAgICAgICAgICBEaXNwbGF5
ICpkaXNwbGF5ID0gRlJBTUVfWF9ESVNQTEFZIChzLT5mKTsKQEAgLTExMjA0LDcgKzExMjAxLDcg
QEAgeF9kcmF3X2dseXBoX3N0cmluZyAoc3RydWN0IGdseXBoX3N0cmluZyAqcykKIAkgICAgICBY
R2V0R0NWYWx1ZXMgKGRpc3BsYXksIHMtPmdjLCBHQ0ZvcmVncm91bmQsICZ4Z2N2KTsKIAkgICAg
ICBYU2V0Rm9yZWdyb3VuZCAoZGlzcGxheSwgcy0+Z2MsIHMtPmZhY2UtPm92ZXJsaW5lX2NvbG9y
KTsKIAkgICAgICB4X2ZpbGxfcmVjdGFuZ2xlIChzLT5mLCBzLT5nYywgcy0+eCwgcy0+eSArIGR5
LAotCQkJCWRlY29yYXRpb25fd2lkdGgsIGgsIGZhbHNlKTsKKwkJCQlkZWNvcmF0aW9uX3dpZHRo
LCBoLCAxLjApOwogCSAgICAgIFhTZXRGb3JlZ3JvdW5kIChkaXNwbGF5LCBzLT5nYywgeGdjdi5m
b3JlZ3JvdW5kKTsKIAkgICAgfQogCX0KQEAgLTExMjI2LDcgKzExMjIzLDcgQEAgeF9kcmF3X2ds
eXBoX3N0cmluZyAoc3RydWN0IGdseXBoX3N0cmluZyAqcykKIAogCSAgaWYgKHMtPmZhY2UtPnN0
cmlrZV90aHJvdWdoX2NvbG9yX2RlZmF1bHRlZF9wKQogCSAgICB4X2ZpbGxfcmVjdGFuZ2xlIChz
LT5mLCBzLT5nYywgcy0+eCwgZ2x5cGhfeSArIGR5LAotCQkJICAgICAgcy0+d2lkdGgsIGgsIGZh
bHNlKTsKKwkJCSAgICAgIHMtPndpZHRoLCBoLCAxLjApOwogCSAgZWxzZQogCSAgICB7CiAgICAg
ICAgICAgICAgIERpc3BsYXkgKmRpc3BsYXkgPSBGUkFNRV9YX0RJU1BMQVkgKHMtPmYpOwpAQCAt
MTEyMzQsNyArMTEyMzEsNyBAQCB4X2RyYXdfZ2x5cGhfc3RyaW5nIChzdHJ1Y3QgZ2x5cGhfc3Ry
aW5nICpzKQogCSAgICAgIFhHZXRHQ1ZhbHVlcyAoZGlzcGxheSwgcy0+Z2MsIEdDRm9yZWdyb3Vu
ZCwgJnhnY3YpOwogCSAgICAgIFhTZXRGb3JlZ3JvdW5kIChkaXNwbGF5LCBzLT5nYywgcy0+ZmFj
ZS0+c3RyaWtlX3Rocm91Z2hfY29sb3IpOwogCSAgICAgIHhfZmlsbF9yZWN0YW5nbGUgKHMtPmYs
IHMtPmdjLCBzLT54LCBnbHlwaF95ICsgZHksCi0JCQkJZGVjb3JhdGlvbl93aWR0aCwgaCwgZmFs
c2UpOworCQkJCWRlY29yYXRpb25fd2lkdGgsIGgsIDEuMCk7CiAJICAgICAgWFNldEZvcmVncm91
bmQgKGRpc3BsYXksIHMtPmdjLCB4Z2N2LmZvcmVncm91bmQpOwogCSAgICB9CiAJfQpAQCAtMTEz
NTEsNyArMTEzNDgsNyBAQCB4X2NsZWFyX2FyZWEgKHN0cnVjdCBmcmFtZSAqZiwgaW50IHgsIGlu
dCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQpCiAKICAgY3IgPSB4X2JlZ2luX2NyX2NsaXAgKGYs
IE5VTEwpOwogICB4X3NldF9jcl9zb3VyY2Vfd2l0aF9nY19iYWNrZ3JvdW5kIChmLCBmLT5vdXRw
dXRfZGF0YS54LT5ub3JtYWxfZ2MsCi0JCQkJICAgICAgdHJ1ZSk7CisJCQkJICAgICAgZi0+YWxw
aGFfYmFja2dyb3VuZCk7CiAgIGNhaXJvX3JlY3RhbmdsZSAoY3IsIHgsIHksIHdpZHRoLCBoZWln
aHQpOwogICBjYWlyb19maWxsIChjcik7CiAgIHhfZW5kX2NyX2NsaXAgKGYpOwpAQCAtMjU5ODEs
NyArMjU5NzgsNyBAQCB4X2RyYXdfYmFyX2N1cnNvciAoc3RydWN0IHdpbmRvdyAqdywgc3RydWN0
IGdseXBoX3JvdyAqcm93LCBpbnQgd2lkdGgsIGVudW0gdGV4dAogCiAJICB4X2ZpbGxfcmVjdGFu
Z2xlIChmLCBnYywgeCwKIAkJCSAgICBXSU5ET1dfVE9fRlJBTUVfUElYRUxfWSAodywgdy0+cGh5
c19jdXJzb3IueSksCi0JCQkgICAgd2lkdGgsIHJvdy0+aGVpZ2h0LCBmYWxzZSk7CisJCQkgICAg
d2lkdGgsIHJvdy0+aGVpZ2h0LCAxLjApOwogCX0KICAgICAgIGVsc2UgLyogSEJBUl9DVVJTT1Ig
Ki8KIAl7CkBAIC0yNjAwMiw3ICsyNTk5OSw3IEBAIHhfZHJhd19iYXJfY3Vyc29yIChzdHJ1Y3Qg
d2luZG93ICp3LCBzdHJ1Y3QgZ2x5cGhfcm93ICpyb3csIGludCB3aWR0aCwgZW51bSB0ZXh0CiAJ
ICB4X2ZpbGxfcmVjdGFuZ2xlIChmLCBnYywgeCwKIAkJCSAgICBXSU5ET1dfVE9fRlJBTUVfUElY
RUxfWSAodywgdy0+cGh5c19jdXJzb3IueSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHJvdy0+aGVpZ2h0IC0gd2lkdGgpLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHctPnBoeXNfY3Vyc29yX3dpZHRoIC0gMSwgd2lkdGgsIGZhbHNl
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB3LT5waHlzX2N1cnNvcl93aWR0aCAtIDEs
IHdpZHRoLCAxLjApOwogCX0KIAogICAgICAgeF9yZXNldF9jbGlwX3JlY3RhbmdsZXMgKGYsIGdj
KTsKZGlmZiAtLWdpdCBhL3NyYy94dGVybS5oIGIvc3JjL3h0ZXJtLmgKaW5kZXggNTdlMzdhMWE4
ZjUuLmIwOGNjYzIzNmFiIDEwMDY0NAotLS0gYS9zcmMveHRlcm0uaAorKysgYi9zcmMveHRlcm0u
aApAQCAtMTgxMiw4ICsxODEyLDkgQEAgI2RlZmluZSBTRUxFQ1RJT05fRVZFTlRfVElNRShldmVu
dHApCVwKIGV4dGVybiB2b2lkIHhfY3JfdXBkYXRlX3N1cmZhY2VfZGVzaXJlZF9zaXplIChzdHJ1
Y3QgZnJhbWUgKiwgaW50LCBpbnQpOwogZXh0ZXJuIGNhaXJvX3QgKnhfYmVnaW5fY3JfY2xpcCAo
c3RydWN0IGZyYW1lICosIEdDKTsKIGV4dGVybiB2b2lkIHhfZW5kX2NyX2NsaXAgKHN0cnVjdCBm
cmFtZSAqKTsKLWV4dGVybiB2b2lkIHhfc2V0X2NyX3NvdXJjZV93aXRoX2djX2ZvcmVncm91bmQg
KHN0cnVjdCBmcmFtZSAqLCBHQywgYm9vbCk7Ci1leHRlcm4gdm9pZCB4X3NldF9jcl9zb3VyY2Vf
d2l0aF9nY19iYWNrZ3JvdW5kIChzdHJ1Y3QgZnJhbWUgKiwgR0MsIGJvb2wpOworZXh0ZXJuIGRv
dWJsZSB4X2dldF9mcmFtZV9hbHBoYV9iYWNrZ3JvdW5kIChzdHJ1Y3QgZnJhbWUgKik7CitleHRl
cm4gdm9pZCB4X3NldF9jcl9zb3VyY2Vfd2l0aF9nY19mb3JlZ3JvdW5kIChzdHJ1Y3QgZnJhbWUg
KiwgR0MsIGRvdWJsZSk7CitleHRlcm4gdm9pZCB4X3NldF9jcl9zb3VyY2Vfd2l0aF9nY19iYWNr
Z3JvdW5kIChzdHJ1Y3QgZnJhbWUgKiwgR0MsIGRvdWJsZSk7CiBleHRlcm4gdm9pZCB4X2NyX2Ry
YXdfZnJhbWUgKGNhaXJvX3QgKiwgc3RydWN0IGZyYW1lICopOwogZXh0ZXJuIExpc3BfT2JqZWN0
IHhfY3JfZXhwb3J0X2ZyYW1lcyAoTGlzcF9PYmplY3QsIGNhaXJvX3N1cmZhY2VfdHlwZV90KTsK
ICNlbmRpZgotLSAKMi40OS4wCgo=
--0000000000005276c4063b6c9c65--




Acknowledgement sent to Garklein <garklein97@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#79160; 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, 18 Oct 2025 08:15:02 UTC

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