From libssh2-devel-bounces@cool.haxx.se  Thu Jul 19 20:19:38 2018
Return-Path: <libssh2-devel-bounces@cool.haxx.se>
Received: from www.haxx.se (mail [127.0.0.1])
	by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTP id w6JIIxuL011865;
	Thu, 19 Jul 2018 20:19:27 +0200
Received: from mail-qk0-x22b.google.com (mail-qk0-x22b.google.com
 [IPv6:2607:f8b0:400d:c09:0:0:0:22b])
 by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTPS id w6JIIuSu011809
 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
 for <libssh2-devel@cool.haxx.se>; Thu, 19 Jul 2018 20:18:57 +0200
Received: by mail-qk0-x22b.google.com with SMTP id o2-v6so4807372qkc.13
 for <libssh2-devel@cool.haxx.se>; Thu, 19 Jul 2018 11:18:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:from:date:message-id:subject:to;
 bh=CZ7Kb03uhNyMsM1SqBr+gzyxgamd/07I3PNIFfVSCJo=;
 b=f2iSLu48k+xtSPgqnhnli7Qt9q3RVVo292GT8qa7Va5hNZT7BjMMRsE6nmADgtl2g1
 +wnzmrtxfy+rLrGCxlVZ+17Rner5ihYKWKNQiZcC1AMU7Lnto4UPoEe50ZRA1ChO0PC3
 PEy7WFJQT91oliRyKW1QsNEWbZC06gIFIHFfD5F2KKVSnbU5+hZUL5Jc/UNUYwMXPczE
 rbaEH/uQ3ma5ewY2gfpAWPp7kVgAR2ggQ8YAcs+IeabCuV1/UQAJ3cXdAsNXscEjvnwY
 2Oyam6WsneNv8NNgiTiYI+I8fZWQV9wkLCz92uQf46sLgxRiH54JWT9AlN1T50b6Ck5n
 S9cQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
 bh=CZ7Kb03uhNyMsM1SqBr+gzyxgamd/07I3PNIFfVSCJo=;
 b=in0BocNEPtcQ0TW/de1gowlR3naSZuRgjuUGpkzg/+P6ClvcpWWyICw2xbQS0hcoAe
 PI0dUbUtJDKtDnVn/QDITvhkFj/QRzRwxr3Crl4Y4ADiOGLznoE41fJ3K5J2eRsiR5I2
 43vJ8LibzDo41nE0qyOv6h2CY0L+hKE9eCU5RYkElm5UKkL1rGb3wzrJ61b605eCJuOg
 2m1MxAZtE52c1zj6Np5kZqJnJRT4o/iiGi9w2ezxyKeAglyYYGNH1vcRXX98PHNLJ8xY
 wtiRQnCe4lMvb25NaTnXeJ1utlEhVOUAKoAT0yamZAjsz40Eqm5xapUP7ZcJfAKin9ez
 TUaw==
X-Gm-Message-State: AOUpUlGtBtFeg82d82BoDuU8GV0qXtQGvk9N+KqJPwgJv+X9GQmU345+
 YXuw4H2HgMFuibPeCCykzsCFsUWgoNyFz/qiRt5iFENl
X-Google-Smtp-Source: AAOMgpdbvGBSx+/UCXTntOdn8WX1kSqQgqYtMYwa2vRRWXChoAwRYACJF6Wk1Fk2yJnfr1yVCI42hjlUPVFBnjTBXzc=
X-Received: by 2002:a37:8045:: with SMTP id
 b66-v6mr10228613qkd.130.1532024332308; 
 Thu, 19 Jul 2018 11:18:52 -0700 (PDT)
MIME-Version: 1.0
From: Milind Gupta <milind.gupta@gmail.com>
Date: Thu, 19 Jul 2018 11:18:40 -0700
Message-ID: <CAOjR7ASr3O+hj0eakYUwL=DHBOuUC_c-DAv6QgwN4QhQUvU58A@mail.gmail.com>
Subject: Windows compilation help
To: libssh2-devel@cool.haxx.se
X-BeenThere: libssh2-devel@cool.haxx.se
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: libssh2 development <libssh2-devel.cool.haxx.se>
List-Unsubscribe: <https://cool.haxx.se/cgi-bin/mailman/options/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=unsubscribe>
List-Archive: <http://cool.haxx.se/pipermail/libssh2-devel/>
List-Post: <mailto:libssh2-devel@cool.haxx.se>
List-Help: <mailto:libssh2-devel-request@cool.haxx.se?subject=help>
List-Subscribe: <https://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=subscribe>
Reply-To: libssh2 development <libssh2-devel@cool.haxx.se>
Content-Type: multipart/mixed; boundary="===============1310915640=="
Errors-To: libssh2-devel-bounces@cool.haxx.se
Sender: "libssh2-devel" <libssh2-devel-bounces@cool.haxx.se>

--===============1310915640==
Content-Type: multipart/alternative; boundary="0000000000001d543905715e3683"

--0000000000001d543905715e3683
Content-Type: text/plain; charset="UTF-8"

 Hi,
         When I run configure using MinGW I see the following warning:

checking winsock2.h usability... no
checking winsock2.h presence... yes
configure: WARNING: winsock2.h: present but cannot be compiled
configure: WARNING: winsock2.h:     check for missing prerequisite headers?
configure: WARNING: winsock2.h: see the Autoconf documentation
configure: WARNING: winsock2.h:     section "Present But Cannot Be Compiled"
configure: WARNING: winsock2.h: proceeding with the compiler's result
configure: WARNING:     ## ----------------------------------------- ##
configure: WARNING:     ## Report this to libssh2-devel@cool.haxx.se ##
configure: WARNING:     ## ----------------------------------------- ##
checking for winsock2.h... no
checking ws2tcpip.h usability... no
checking ws2tcpip.h presence... yes
configure: WARNING: ws2tcpip.h: present but cannot be compiled
configure: WARNING: ws2tcpip.h:     check for missing prerequisite headers?
configure: WARNING: ws2tcpip.h: see the Autoconf documentation
configure: WARNING: ws2tcpip.h:     section "Present But Cannot Be Compiled"
configure: WARNING: ws2tcpip.h: proceeding with the compiler's result
configure: WARNING:     ## ----------------------------------------- ##
configure: WARNING:     ## Report this to libssh2-devel@cool.haxx.se ##
configure: WARNING:     ## ----------------------------------------- ##
checking for ws2tcpip.h... no


Subsequent make shows error like undefined type SOCKET etc.
Please let me know how should I proceed to get around these errors.

Thanks,
Milind

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

<div dir=3D"ltr">

<span style=3D"font-size:small;text-decoration-style:initial;text-decoratio=
n-color:initial;float:none;display:inline">Hi,</span><div style=3D"font-siz=
e:small;text-decoration-style:initial;text-decoration-color:initial">=C2=A0=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0When I run configure using MinGW I see the foll=
owing warning:</div><div style=3D"font-size:small;text-decoration-style:ini=
tial;text-decoration-color:initial"><br></div><div style=3D"font-size:small=
;text-decoration-style:initial;text-decoration-color:initial"><div>checking=
 winsock2.h usability... no</div><div>checking winsock2.h presence... yes</=
div><div>configure: WARNING: winsock2.h: present but cannot be compiled</di=
v><div>configure: WARNING: winsock2.h:=C2=A0 =C2=A0 =C2=A0check for missing=
 prerequisite headers?</div><div>configure: WARNING: winsock2.h: see the Au=
toconf documentation</div><div>configure: WARNING: winsock2.h:=C2=A0 =C2=A0=
 =C2=A0section &quot;Present But Cannot Be Compiled&quot;</div><div>configu=
re: WARNING: winsock2.h: proceeding with the compiler&#39;s result</div><di=
v>configure: WARNING:=C2=A0 =C2=A0 =C2=A0## -------------------------------=
---------- ##</div><div>configure: WARNING:=C2=A0 =C2=A0 =C2=A0## Report th=
is to<span>=C2=A0</span><a href=3D"mailto:libssh2-devel@cool.haxx.se" targe=
t=3D"_blank" style=3D"color:rgb(17,85,204)"><span class=3D"gmail-il">libssh=
2</span>-devel@cool.haxx.se</a><span>=C2=A0</span>##</div><div>configure: W=
ARNING:=C2=A0 =C2=A0 =C2=A0## ----------------------------------------- ##<=
/div><div>checking for winsock2.h... no</div><div>checking ws2tcpip.h usabi=
lity... no</div><div>checking ws2tcpip.h presence... yes</div><div>configur=
e: WARNING: ws2tcpip.h: present but cannot be compiled</div><div>configure:=
 WARNING: ws2tcpip.h:=C2=A0 =C2=A0 =C2=A0check for missing prerequisite hea=
ders?</div><div>configure: WARNING: ws2tcpip.h: see the Autoconf documentat=
ion</div><div>configure: WARNING: ws2tcpip.h:=C2=A0 =C2=A0 =C2=A0section &q=
uot;Present But Cannot Be Compiled&quot;</div><div>configure: WARNING: ws2t=
cpip.h: proceeding with the compiler&#39;s result</div><div>configure: WARN=
ING:=C2=A0 =C2=A0 =C2=A0## ----------------------------------------- ##</di=
v><div>configure: WARNING:=C2=A0 =C2=A0 =C2=A0## Report this to<span>=C2=A0=
</span><a href=3D"mailto:libssh2-devel@cool.haxx.se" target=3D"_blank" styl=
e=3D"color:rgb(17,85,204)"><span class=3D"gmail-il">libssh2</span>-devel@co=
ol.haxx.se</a><span>=C2=A0</span>##</div><div>configure: WARNING:=C2=A0 =C2=
=A0 =C2=A0## ----------------------------------------- ##</div><div>checkin=
g for ws2tcpip.h... no</div></div><div style=3D"font-size:small;text-decora=
tion-style:initial;text-decoration-color:initial"><br></div><div style=3D"f=
ont-size:small;text-decoration-style:initial;text-decoration-color:initial"=
><br></div><div style=3D"font-size:small;text-decoration-style:initial;text=
-decoration-color:initial">Subsequent make shows error like undefined type =
SOCKET etc.=C2=A0</div><div style=3D"font-size:small;text-decoration-style:=
initial;text-decoration-color:initial">Please let me know how should I proc=
eed to get around these errors.</div><div style=3D"font-size:small;text-dec=
oration-style:initial;text-decoration-color:initial"><br></div><div style=
=3D"font-size:small;text-decoration-style:initial;text-decoration-color:ini=
tial">Thanks,</div><div style=3D"font-size:small;text-decoration-style:init=
ial;text-decoration-color:initial">Milind</div>

<br></div>

--0000000000001d543905715e3683--

--===============1310915640==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlic3NoMi1k
ZXZlbCBodHRwczovL2Nvb2wuaGF4eC5zZS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vbGlic3No
Mi1kZXZlbAo=

--===============1310915640==--

From libssh2-devel-bounces@cool.haxx.se  Thu Jul 19 20:48:31 2018
Return-Path: <libssh2-devel-bounces@cool.haxx.se>
Received: from www.haxx.se (mail [127.0.0.1])
	by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTP id w6JImHcQ002263;
	Thu, 19 Jul 2018 20:48:28 +0200
Received: from mail-out.m-online.net (mail-out.m-online.net [212.18.0.10])
 by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTPS id w6JImFv3002209
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT)
 for <libssh2-devel@cool.haxx.se>; Thu, 19 Jul 2018 20:48:16 +0200
Received: from frontend01.mail.m-online.net (unknown [192.168.8.182])
 by mail-out.m-online.net (Postfix) with ESMTP id 41WjhK17YBz1qvnY
 for <libssh2-devel@cool.haxx.se>; Thu, 19 Jul 2018 20:48:16 +0200 (CEST)
Received: from localhost (dynscan1.mnet-online.de [192.168.6.70])
 by mail.m-online.net (Postfix) with ESMTP id 41WjhJ1XHWz20xSj
 for <libssh2-devel@cool.haxx.se>; Thu, 19 Jul 2018 20:48:16 +0200 (CEST)
X-Virus-Scanned: amavisd-new at mnet-online.de
Received: from mail.mnet-online.de ([192.168.8.182])
 by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new,
 port 10024)
 with ESMTP id ybnzG-_I_bFN for <libssh2-devel@cool.haxx.se>;
 Thu, 19 Jul 2018 20:48:15 +0200 (CEST)
X-Auth-Info: +0igfAgI0y1PgM5s23+OjbcCLkmUULrAt7Liq3ZCveDb+mlDSK+lNNT/gB2WzSjn
Received: from colibri.localdomain (ppp-188-174-31-40.dynamic.mnet-online.de
 [188.174.31.40])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mail.mnet-online.de (Postfix) with ESMTPSA
 for <libssh2-devel@cool.haxx.se>; Thu, 19 Jul 2018 20:48:15 +0200 (CEST)
Received: by colibri.localdomain (Postfix, from userid 501)
 id EEF0C5F87B; Thu, 19 Jul 2018 20:48:14 +0200 (CEST)
Date: Thu, 19 Jul 2018 20:48:14 +0200
From: Dan Fandrich <dan@coneharvesters.com>
To: libssh2-devel@cool.haxx.se
Subject: Re: Windows compilation help
Message-ID: <20180719184814.GA22595@coneharvesters.com>
Mail-Followup-To: libssh2-devel@cool.haxx.se
References: <CAOjR7ASr3O+hj0eakYUwL=DHBOuUC_c-DAv6QgwN4QhQUvU58A@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAOjR7ASr3O+hj0eakYUwL=DHBOuUC_c-DAv6QgwN4QhQUvU58A@mail.gmail.com>
User-Agent: Mutt/1.5.23 (2014-03-12)
X-BeenThere: libssh2-devel@cool.haxx.se
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: libssh2 development <libssh2-devel.cool.haxx.se>
List-Unsubscribe: <https://cool.haxx.se/cgi-bin/mailman/options/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=unsubscribe>
List-Archive: <http://cool.haxx.se/pipermail/libssh2-devel/>
List-Post: <mailto:libssh2-devel@cool.haxx.se>
List-Help: <mailto:libssh2-devel-request@cool.haxx.se?subject=help>
List-Subscribe: <https://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=subscribe>
Reply-To: libssh2 development <libssh2-devel@cool.haxx.se>
Content-Type: text/plain; charset="utf-8"
Errors-To: libssh2-devel-bounces@cool.haxx.se
Sender: "libssh2-devel" <libssh2-devel-bounces@cool.haxx.se>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from base64 to 8bit by giant.haxx.se id w6JImHcQ002263

On Thu, Jul 19, 2018 at 11:18:40AM -0700, Milind Gupta wrote:
>          When I run configure using MinGW I see the following warning:
> 
> checking winsock2.h usability... no
> checking winsock2.h presence... yes
> configure: WARNING: winsock2.h: present but cannot be compiled
> configure: WARNING: winsock2.h:     check for missing prerequisite headers?
> configure: WARNING: winsock2.h: see the Autoconf documentation
> configure: WARNING: winsock2.h:     section "Present But Cannot Be Compiled"
> configure: WARNING: winsock2.h: proceeding with the compiler's result
> configure: WARNING:     ## ----------------------------------------- ##
> configure: WARNING:     ## Report this to libssh2-devel@cool.haxx.se ##
> configure: WARNING:     ## ----------------------------------------- ##
> checking for winsock2.h... no
> checking ws2tcpip.h usability... no
> checking ws2tcpip.h presence... yes
> configure: WARNING: ws2tcpip.h: present but cannot be compiled
> configure: WARNING: ws2tcpip.h:     check for missing prerequisite headers?
> configure: WARNING: ws2tcpip.h: see the Autoconf documentation
> configure: WARNING: ws2tcpip.h:     section "Present But Cannot Be Compiled"
> configure: WARNING: ws2tcpip.h: proceeding with the compiler's result
> configure: WARNING:     ## ----------------------------------------- ##
> configure: WARNING:     ## Report this to libssh2-devel@cool.haxx.se ##
> configure: WARNING:     ## ----------------------------------------- ##
> checking for ws2tcpip.h... no
> 
> Subsequent make shows error like undefined type SOCKET etc. 
> Please let me know how should I proceed to get around these errors.

Did you check for missing prerequisite headers?  Take a look in config.log for
the sections showing these warnings and you'll probably see some errors
regarding missing header files.

Dan
_______________________________________________
libssh2-devel https://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

From libssh2-devel-bounces@cool.haxx.se  Fri Jul 20 08:35:10 2018
Return-Path: <libssh2-devel-bounces@cool.haxx.se>
Received: from www.haxx.se (mail [127.0.0.1])
	by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTP id w6K6YY52025875;
	Fri, 20 Jul 2018 08:34:59 +0200
Received: from mail-qt0-x22e.google.com (mail-qt0-x22e.google.com
 [IPv6:2607:f8b0:400d:c0d:0:0:0:22e])
 by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTPS id w6K6YV3V025769
 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
 for <libssh2-devel@cool.haxx.se>; Fri, 20 Jul 2018 08:34:32 +0200
Received: by mail-qt0-x22e.google.com with SMTP id y5-v6so9385886qti.12
 for <libssh2-devel@cool.haxx.se>; Thu, 19 Jul 2018 23:34:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to;
 bh=e0skafrZzeDPIeeWAkVwDHMETcPZUI5kBrU0d64ShX8=;
 b=Qf6oSuEwhipUyCdfjHmXUNlTpCwgcMg+XvRoum4l0pNFpkOyOvqlVxXiayQ69hgZZ6
 Vz514feZFh6aEH3Dt+Zl/qPCnVeYyMJMGBtImQ8T23SIsxib+j5UFZfLuwo9CIae7/hf
 iW2kewrrQhZET7dEHnDBUnicF2Qkf1F3W60PJipthrxt1KNY7Ku+w4s+B5CTUwHk9Jar
 PkMjsS7mC7AtJXAiiCaWg63CAe2X69lMzWnCfTiFklkbdtBl2tjlN7sFAryu0+00RO85
 bF38o54zY+NS7LFSsaEVm3MdCy+BigxcKD/mxZ87Bd02j79C7wxpdHguFBe56JJ6KWlF
 w19g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to;
 bh=e0skafrZzeDPIeeWAkVwDHMETcPZUI5kBrU0d64ShX8=;
 b=LGAWC9GOSsCU7Rp9ggnE23E1hDjZ90H7KVwWK5HyhTy7gYaC6wTVqqN8LHatleI/ct
 4FqWXyUcxGN+v1/ZNk5NeSVSscC86GKah2rOY2XLwzHlYS9bUjGTc8IKxjLyXH+26J6x
 oVR57bEP8Ng/p+G5K+e5nNN2hNaVbPrqb141tq6VWsx/Cx6eaKXQMPiib/TfBdqyZXLC
 yHgx3q19qae2Joh4F+Gi+rEut0r3qnQ4q0/kQYPuPIMxQILJqTdYXhOpu3RDO7LOiFSg
 fes9GwUqOWCePBGUQgHLetQ6sh6hRLeqtLjg27jMj8a3AcC9JeaH19wlIfKs2Njm4p6/
 SPew==
X-Gm-Message-State: AOUpUlGwfMVb5oBlcYHZRXlKsJ9Rxs4iHYZPHq+4Os4UGXd3mcV5mZAs
 0/0P/0WFhsDCSDp4zDyb+GXod499wUTmGLEOboTwNHxJ
X-Google-Smtp-Source: AAOMgpdkJ/TVPQijS7Ur09XwdghdJ0Az3VqQF+ZxsBOQW6lSiutQy6fF8jVgZqLRs2oIGtgqmPX/3iuYGtr6sUtma0Q=
X-Received: by 2002:aed:38c9:: with SMTP id
 k67-v6mr226050qte.390.1532068465427; 
 Thu, 19 Jul 2018 23:34:25 -0700 (PDT)
MIME-Version: 1.0
References: <CAOjR7ASr3O+hj0eakYUwL=DHBOuUC_c-DAv6QgwN4QhQUvU58A@mail.gmail.com>
 <20180719184814.GA22595@coneharvesters.com>
In-Reply-To: <20180719184814.GA22595@coneharvesters.com>
From: Milind Gupta <milind.gupta@gmail.com>
Date: Thu, 19 Jul 2018 23:34:14 -0700
Message-ID: <CAOjR7AS3g5SMb6bSmXzqQkya2rA6b_emi-Vj0vxaDvnNh_uVZA@mail.gmail.com>
Subject: Re: Windows compilation help
To: libssh2-devel@cool.haxx.se
Content-Type: multipart/mixed; boundary="000000000000a767320571687cfe"
X-BeenThere: libssh2-devel@cool.haxx.se
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: libssh2 development <libssh2-devel.cool.haxx.se>
List-Unsubscribe: <https://cool.haxx.se/cgi-bin/mailman/options/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=unsubscribe>
List-Archive: <http://cool.haxx.se/pipermail/libssh2-devel/>
List-Post: <mailto:libssh2-devel@cool.haxx.se>
List-Help: <mailto:libssh2-devel-request@cool.haxx.se?subject=help>
List-Subscribe: <https://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=subscribe>
Reply-To: libssh2 development <libssh2-devel@cool.haxx.se>
Errors-To: libssh2-devel-bounces@cool.haxx.se
Sender: "libssh2-devel" <libssh2-devel-bounces@cool.haxx.se>

--000000000000a767320571687cfe
Content-Type: multipart/alternative; boundary="000000000000a767300571687cfc"

--000000000000a767300571687cfc
Content-Type: text/plain; charset="UTF-8"

Thanks for the tip. I looked at config.log and here is a portion from that
error in there:

In file included from conftest.c:79:0:
/usr/include/w32api/winsock2.h:1004:34: error: conflicting types for
'gethostname'
   WINSOCK_API_LINKAGE int WSAAPI gethostname(char *name,int namelen);

I have attached the config.log file. I found a similar error reported for
imagemagick and I think they did a patch for it.



On Thu, Jul 19, 2018 at 11:50 AM Dan Fandrich <dan@coneharvesters.com>
wrote:

> On Thu, Jul 19, 2018 at 11:18:40AM -0700, Milind Gupta wrote:
> >          When I run configure using MinGW I see the following warning:
> >
> > checking winsock2.h usability... no
> > checking winsock2.h presence... yes
> > configure: WARNING: winsock2.h: present but cannot be compiled
> > configure: WARNING: winsock2.h:     check for missing prerequisite
> headers?
> > configure: WARNING: winsock2.h: see the Autoconf documentation
> > configure: WARNING: winsock2.h:     section "Present But Cannot Be
> Compiled"
> > configure: WARNING: winsock2.h: proceeding with the compiler's result
> > configure: WARNING:     ## ----------------------------------------- ##
> > configure: WARNING:     ## Report this to libssh2-devel@cool.haxx.se ##
> > configure: WARNING:     ## ----------------------------------------- ##
> > checking for winsock2.h... no
> > checking ws2tcpip.h usability... no
> > checking ws2tcpip.h presence... yes
> > configure: WARNING: ws2tcpip.h: present but cannot be compiled
> > configure: WARNING: ws2tcpip.h:     check for missing prerequisite
> headers?
> > configure: WARNING: ws2tcpip.h: see the Autoconf documentation
> > configure: WARNING: ws2tcpip.h:     section "Present But Cannot Be
> Compiled"
> > configure: WARNING: ws2tcpip.h: proceeding with the compiler's result
> > configure: WARNING:     ## ----------------------------------------- ##
> > configure: WARNING:     ## Report this to libssh2-devel@cool.haxx.se ##
> > configure: WARNING:     ## ----------------------------------------- ##
> > checking for ws2tcpip.h... no
> >
> > Subsequent make shows error like undefined type SOCKET etc.
> > Please let me know how should I proceed to get around these errors.
>
> Did you check for missing prerequisite headers?  Take a look in config.log
> for
> the sections showing these warnings and you'll probably see some errors
> regarding missing header files.
>
> Dan
> _______________________________________________
> libssh2-devel https://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel
>

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

<div dir=3D"ltr">Thanks for the tip. I looked at config.log and here is a p=
ortion from that error in there:<div><br></div><div><div>In file included f=
rom conftest.c:79:0:</div><div>/usr/include/w32api/winsock2.h:1004:34: erro=
r: conflicting types for &#39;gethostname&#39;</div><div>=C2=A0 =C2=A0WINSO=
CK_API_LINKAGE int WSAAPI gethostname(char *name,int namelen);</div></div><=
div><br></div><div>I have attached the config.log file. I found a similar e=
rror reported for imagemagick and I think they did a patch for it.</div><di=
v><br></div><div><br></div></div><br><div class=3D"gmail_quote"><div dir=3D=
"ltr">On Thu, Jul 19, 2018 at 11:50 AM Dan Fandrich &lt;<a href=3D"mailto:d=
an@coneharvesters.com">dan@coneharvesters.com</a>&gt; wrote:<br></div><bloc=
kquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #cc=
c solid;padding-left:1ex">On Thu, Jul 19, 2018 at 11:18:40AM -0700, Milind =
Gupta wrote:<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0When I run configure using MinGW I s=
ee the following warning:<br>
&gt; <br>
&gt; checking winsock2.h usability... no<br>
&gt; checking winsock2.h presence... yes<br>
&gt; configure: WARNING: winsock2.h: present but cannot be compiled<br>
&gt; configure: WARNING: winsock2.h:=C2=A0 =C2=A0 =C2=A0check for missing p=
rerequisite headers?<br>
&gt; configure: WARNING: winsock2.h: see the Autoconf documentation<br>
&gt; configure: WARNING: winsock2.h:=C2=A0 =C2=A0 =C2=A0section &quot;Prese=
nt But Cannot Be Compiled&quot;<br>
&gt; configure: WARNING: winsock2.h: proceeding with the compiler&#39;s res=
ult<br>
&gt; configure: WARNING:=C2=A0 =C2=A0 =C2=A0## ----------------------------=
------------- ##<br>
&gt; configure: WARNING:=C2=A0 =C2=A0 =C2=A0## Report this to=C2=A0<a href=
=3D"mailto:libssh2-devel@cool.haxx.se" target=3D"_blank">libssh2-devel@cool=
.haxx.se</a>=C2=A0##<br>
&gt; configure: WARNING:=C2=A0 =C2=A0 =C2=A0## ----------------------------=
------------- ##<br>
&gt; checking for winsock2.h... no<br>
&gt; checking ws2tcpip.h usability... no<br>
&gt; checking ws2tcpip.h presence... yes<br>
&gt; configure: WARNING: ws2tcpip.h: present but cannot be compiled<br>
&gt; configure: WARNING: ws2tcpip.h:=C2=A0 =C2=A0 =C2=A0check for missing p=
rerequisite headers?<br>
&gt; configure: WARNING: ws2tcpip.h: see the Autoconf documentation<br>
&gt; configure: WARNING: ws2tcpip.h:=C2=A0 =C2=A0 =C2=A0section &quot;Prese=
nt But Cannot Be Compiled&quot;<br>
&gt; configure: WARNING: ws2tcpip.h: proceeding with the compiler&#39;s res=
ult<br>
&gt; configure: WARNING:=C2=A0 =C2=A0 =C2=A0## ----------------------------=
------------- ##<br>
&gt; configure: WARNING:=C2=A0 =C2=A0 =C2=A0## Report this to=C2=A0<a href=
=3D"mailto:libssh2-devel@cool.haxx.se" target=3D"_blank">libssh2-devel@cool=
.haxx.se</a>=C2=A0##<br>
&gt; configure: WARNING:=C2=A0 =C2=A0 =C2=A0## ----------------------------=
------------- ##<br>
&gt; checking for ws2tcpip.h... no<br>
&gt; <br>
&gt; Subsequent make shows error like undefined type SOCKET etc.=C2=A0<br>
&gt; Please let me know how should I proceed to get around these errors.<br=
>
<br>
Did you check for missing prerequisite headers?=C2=A0 Take a look in config=
.log for<br>
the sections showing these warnings and you&#39;ll probably see some errors=
<br>
regarding missing header files.<br>
<br>
Dan<br>
_______________________________________________<br>
libssh2-devel <a href=3D"https://cool.haxx.se/cgi-bin/mailman/listinfo/libs=
sh2-devel" rel=3D"noreferrer" target=3D"_blank">https://cool.haxx.se/cgi-bi=
n/mailman/listinfo/libssh2-devel</a><br>
</blockquote></div>

--000000000000a767300571687cfc--

--000000000000a767320571687cfe
Content-Type: application/octet-stream; name="config.log"
Content-Disposition: attachment; filename="config.log"
Content-Transfer-Encoding: base64
Content-ID: <f_jjtlzwpd0>
X-Attachment-Id: f_jjtlzwpd0

VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp
bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz
IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IGxpYnNzaDIgY29uZmlndXJlIC0sIHdoaWNo
IHdhcwpnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjkuICBJbnZvY2F0aW9uIGNvbW1hbmQg
bGluZSB3YXMKCiAgJCAuL2NvbmZpZ3VyZSAKCiMjIC0tLS0tLS0tLSAjIwojIyBQbGF0Zm9ybS4g
IyMKIyMgLS0tLS0tLS0tICMjCgpob3N0bmFtZSA9IERFU0tUT1AtT01ETDI2Uwp1bmFtZSAtbSA9
IGk2ODYKdW5hbWUgLXIgPSAyLjEwLjAoMC4zMjUvNS8zKQp1bmFtZSAtcyA9IE1TWVNfTlQtMTAu
MC1XT1cKdW5hbWUgLXYgPSAyMDE4LTAyLTA5IDE0OjUwCgovdXNyL2Jpbi91bmFtZSAtcCA9IHVu
a25vd24KL2Jpbi91bmFtZSAtWCAgICAgPSB1bmtub3duCgovYmluL2FyY2ggICAgICAgICAgICAg
ID0gaTY4NgovdXNyL2Jpbi9hcmNoIC1rICAgICAgID0gdW5rbm93bgovdXNyL2NvbnZleC9nZXRz
eXNpbmZvID0gdW5rbm93bgovdXNyL2Jpbi9ob3N0aW5mbyAgICAgID0gdW5rbm93bgovYmluL21h
Y2hpbmUgICAgICAgICAgID0gdW5rbm93bgovdXNyL2Jpbi9vc2xldmVsICAgICAgID0gdW5rbm93
bgovYmluL3VuaXZlcnNlICAgICAgICAgID0gdW5rbm93bgoKUEFUSDogL3Vzci9sb2NhbC9iaW4K
UEFUSDogL3Vzci9iaW4KUEFUSDogL2JpbgpQQVRIOiAvb3B0L2JpbgpQQVRIOiAvYy9XaW5kb3dz
L1N5c3RlbTMyClBBVEg6IC9jL1dpbmRvd3MKUEFUSDogL2MvV2luZG93cy9TeXN0ZW0zMi9XYmVt
ClBBVEg6IC9jL1dpbmRvd3MvU3lzdGVtMzIvV2luZG93c1Bvd2VyU2hlbGwvdjEuMC8KCgojIyAt
LS0tLS0tLS0tLSAjIwojIyBDb3JlIHRlc3RzLiAjIwojIyAtLS0tLS0tLS0tLSAjIwoKY29uZmln
dXJlOjIzMTU6IGxvYWRpbmcgc2l0ZSBzY3JpcHQgL2V0Yy9jb25maWcuc2l0ZQp8ICMgVGhpcyBm
aWxlIGlzIGluIHB1YmxpYyBkb21haW4uCnwgIyBPcmlnaW5hbCBhdXRob3I6IEthcmxzb24yayAo
RXZnZW55IEdyaW4pCnwgIyBXcml0dGVuIGZvciBNU3lzMiB0byBoZWxwIHJ1bm5pbmcgJ2NvbmZp
Z3VyZScgc2NyaXB0cwp8IAp8ICMgVXNlIGNvcnJlY3QgY29uZmlnLnNpdGUgZXZlbiBpZiBDT05G
SUdfU0lURSBpcyBub3Qgc2V0CnwgaWYgdGVzdCAieCRNU1lTVEVNIiA9ICJ4TUlOR1c2NCI7IHRo
ZW4KfCAgIGlmIHRlc3QgLXIgIiR7TUlOR1dfUFJFRklYLS9taW5ndzY0fS9ldGMvY29uZmlnLnNp
dGUiOyB0aGVuCnwgICAgIC4gIiR7TUlOR1dfUFJFRklYLS9taW5ndzY0fS9ldGMvY29uZmlnLnNp
dGUiCnwgICBmaQp8IGVsaWYgdGVzdCAieCRNU1lTVEVNIiA9ICJ4TUlOR1czMiI7IHRoZW4KfCAg
IGlmIHRlc3QgLXIgIiR7TUlOR1dfUFJFRklYLS9taW5ndzMyfS9ldGMvY29uZmlnLnNpdGUiOyB0
aGVuCnwgICAgIC4gIiR7TUlOR1dfUFJFRklYLS9taW5ndzMyfS9ldGMvY29uZmlnLnNpdGUiCnwg
ICBmaQp8IGVsc2UKfCAgICMgRGVmYXVsdHMgZm9yIE1TeXMyLXRhcmdldGVkIHByb2dyYW1zCnwg
CnwgICAjIFNldCBwcm9wZXIgc2VsZm5hbWUgb24gYmFzaCBhbmQgZmFsbGJhY2sgdG8gZGVmYXVs
dCBuYW1lIG9uIG90aGVyIHNoZWxscwp8ICAgdGVzdCAtbiAiJHtCQVNIX1NPVVJDRX0iIDI+L2Rl
di9udWxsICYmIGNvbmZpZ19zaXRlX21lPSIke0JBU0hfU09VUkNFWzBdIyMqL30iIHx8IGNvbmZp
Z19zaXRlX21lPWNvbmZpZy5zaXRlCnwgCnwgICAjIFNldCBkZWZhdWx0ICdob3N0JyB0byBzcGVl
ZHVwIGNvbmZpZ3VyZQp8ICAgaWYgdGVzdCAteiAiJGJ1aWxkX2FsaWFzIjsgdGhlbgp8ICAgICBi
dWlsZF9hbGlhcz0iJHtNU1lTVEVNX0NBUkNILXg4Nl82NH0tcGMtbXN5cyIgICYmIFwKfCAgICAg
ICAkYXNfZWNobyAiJGNvbmZpZ19zaXRlX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBkZWZhdWx0
IGJ1aWxkX2FsaWFzIHNldCB0byAkYnVpbGRfYWxpYXMiID4mNSAKfCAgIGZpCnwgCnwgICAjIFNl
dCBkZWZhdWx0ICdwcmVmaXgnIHRvICIvdXNyIgp8ICAgaWYgKCB0ZXN0IC16ICIkcHJlZml4IiB8
fCB0ZXN0ICJ4JHByZWZpeCIgPSAieE5PTkUiICkgJiYgXAp8ICAgICAgKCB0ZXN0IC16ICIkZXhl
Y19wcmVmaXgiIHx8IHRlc3QgIngkZXhlY19wcmVmaXgiID0gInhOT05FIiApOyB0aGVuCnwgICAg
IHByZWZpeD0iJHtNU1lTVEVNX1BSRUZJWC0vdXNyfSIgJiYgXAp8ICAgICAgICRhc19lY2hvICIk
Y29uZmlnX3NpdGVfbWU6JHthc19saW5lbm8tJExJTkVOT306IGRlZmF1bHQgcHJlZml4IHNldCB0
byAkcHJlZml4IiA+JjUKfCAgIGZpCnwgCnwgZmkKY29uZmlnLnNpdGU6MjM6IGRlZmF1bHQgYnVp
bGRfYWxpYXMgc2V0IHRvIGk2ODYtcGMtbXN5cwpjb25maWcuc2l0ZTozMDogZGVmYXVsdCBwcmVm
aXggc2V0IHRvIC91c3IKY29uZmlndXJlOjI0MTY6IGNoZWNraW5nIHdoZXRoZXIgdG8gZW5hYmxl
IG1haW50YWluZXItc3BlY2lmaWMgcG9ydGlvbnMgb2YgTWFrZWZpbGVzCmNvbmZpZ3VyZToyNDI1
OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNDQ5OiBjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9y
dHMgbmVzdGVkIHZhcmlhYmxlcwpjb25maWd1cmU6MjQ2NjogcmVzdWx0OiB5ZXMKY29uZmlndXJl
OjI0ODA6IGNoZWNraW5nIGZvciBzZWQKY29uZmlndXJlOjI0OTk6IGZvdW5kIC91c3IvYmluL3Nl
ZApjb25maWd1cmU6MjUxMjogcmVzdWx0OiAvdXNyL2Jpbi9zZWQKY29uZmlndXJlOjI1NzM6IGNo
ZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwKY29uZmlndXJlOjI2NDE6IHJlc3Vs
dDogL3Vzci9iaW4vaW5zdGFsbCAtYwpjb25maWd1cmU6MjY1MjogY2hlY2tpbmcgd2hldGhlciBi
dWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lCmNvbmZpZ3VyZToyNzA3OiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6Mjg1ODogY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAKY29uZmlndXJl
OjI4OTc6IHJlc3VsdDogL3Vzci9iaW4vbWtkaXIgLXAKY29uZmlndXJlOjI5MDQ6IGNoZWNraW5n
IGZvciBnYXdrCmNvbmZpZ3VyZToyOTIwOiBmb3VuZCAvdXNyL2Jpbi9nYXdrCmNvbmZpZ3VyZToy
OTMxOiByZXN1bHQ6IGdhd2sKY29uZmlndXJlOjI5NDI6IGNoZWNraW5nIHdoZXRoZXIgbWFrZSBz
ZXRzICQoTUFLRSkKY29uZmlndXJlOjI5NjQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMDk3OiBj
aGVja2luZyBsaWJzc2gyIHZlcnNpb24KY29uZmlndXJlOjMwOTk6IHJlc3VsdDogMS44LjFfREVW
CmNvbmZpZ3VyZTozMTEwOiBjaGVja2luZyBidWlsZCBzeXN0ZW0gdHlwZQpjb25maWd1cmU6MzEy
NDogcmVzdWx0OiBpNjg2LXBjLW1zeXMKY29uZmlndXJlOjMxNDQ6IGNoZWNraW5nIGhvc3Qgc3lz
dGVtIHR5cGUKY29uZmlndXJlOjMxNTc6IHJlc3VsdDogaTY4Ni1wYy1tc3lzCmNvbmZpZ3VyZToz
MTg0OiBhdXRvYnVpbGQgcHJvamVjdC4uLiBsaWJzc2gyCmNvbmZpZ3VyZTozMTkwOiBhdXRvYnVp
bGQgcmV2aXNpb24uLi4gMS44LjFfREVWCmNvbmZpZ3VyZTozMTk1OiBhdXRvYnVpbGQgaG9zdG5h
bWUuLi4gREVTS1RPUC1PTURMMjZTCmNvbmZpZ3VyZTozMjA2OiBhdXRvYnVpbGQgdGltZXN0YW1w
Li4uIDIwMTgwNzEyLTAwMTA0Ngpjb25maWd1cmU6MzI0NzogY2hlY2tpbmcgZm9yIHN0eWxlIG9m
IGluY2x1ZGUgdXNlZCBieSBtYWtlCmNvbmZpZ3VyZTozMjc1OiByZXN1bHQ6IEdOVQpjb25maWd1
cmU6MzM0NjogY2hlY2tpbmcgZm9yIGdjYwpjb25maWd1cmU6MzM2MjogZm91bmQgL3Vzci9iaW4v
Z2NjCmNvbmZpZ3VyZTozMzczOiByZXN1bHQ6IGdjYwpjb25maWd1cmU6MzYwMjogY2hlY2tpbmcg
Zm9yIEMgY29tcGlsZXIgdmVyc2lvbgpjb25maWd1cmU6MzYxMTogZ2NjIC0tdmVyc2lvbiA+JjUK
Z2NjIChHQ0MpIDcuMy4wCkNvcHlyaWdodCAoQykgMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWlu
ZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8Kd2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuCgpjb25maWd1cmU6
MzYyMjogJD8gPSAwCmNvbmZpZ3VyZTozNjExOiBnY2MgLXYgPiY1ClVzaW5nIGJ1aWx0LWluIHNw
ZWNzLgpDT0xMRUNUX0dDQz1nY2MKQ09MTEVDVF9MVE9fV1JBUFBFUj0vdXNyL2xpYi9nY2MvaTY4
Ni1wYy1tc3lzLzcuMy4wL2x0by13cmFwcGVyLmV4ZQpUYXJnZXQ6IGk2ODYtcGMtbXN5cwpDb25m
aWd1cmVkIHdpdGg6IC9tc3lzX3NjcmlwdHMvZ2NjL3NyYy9nY2MtNy4zLjAvY29uZmlndXJlIC0t
YnVpbGQ9aTY4Ni1wYy1tc3lzIC0tcHJlZml4PS91c3IgLS1saWJleGVjZGlyPS91c3IvbGliIC0t
ZW5hYmxlLWJvb3RzdHJhcCAtLWVuYWJsZS1zaGFyZWQgLS1lbmFibGUtc2hhcmVkLWxpYmdjYyAt
LWVuYWJsZS1zdGF0aWMgLS1lbmFibGUtdmVyc2lvbi1zcGVjaWZpYy1ydW50aW1lLWxpYnMgLS13
aXRoLWFyY2g9aTY4NiAtLXdpdGgtdHVuZT1nZW5lcmljIC0tZGlzYWJsZS1tdWx0aWxpYiAtLWRp
c2FibGUtc2psai1leGNlcHRpb25zIC0tZW5hYmxlLV9fY3hhX2F0ZXhpdCAtLXdpdGgtZHdhcmYy
IC0tZW5hYmxlLWxhbmd1YWdlcz1jLGMrKyxmb3J0cmFuLGx0byAtLWVuYWJsZS1ncmFwaGl0ZSAt
LWVuYWJsZS10aHJlYWRzPXBvc2l4IC0tZW5hYmxlLWxpYmF0b21pYyAtLWVuYWJsZS1saWJjaWxr
cnRzIC0tZW5hYmxlLWxpYmdvbXAgLS1lbmFibGUtbGliaXRtIC0tZW5hYmxlLWxpYnF1YWRtYXRo
IC0tZW5hYmxlLWxpYnF1YWRtYXRoLXN1cHBvcnQgLS1kaXNhYmxlLWxpYnNzcCAtLWRpc2FibGUt
d2luMzItcmVnaXN0cnkgLS1kaXNhYmxlLXN5bXZlcnMgLS13aXRoLWdudS1sZCAtLXdpdGgtZ251
LWFzIC0tZGlzYWJsZS1pc2wtdmVyc2lvbi1jaGVjayAtLWVuYWJsZS1jaGVja2luZz1yZWxlYXNl
IC0td2l0aG91dC1saWJpY29udi1wcmVmaXggLS13aXRob3V0LWxpYmludGwtcHJlZml4IC0td2l0
aC1zeXN0ZW0temxpYiAtLWVuYWJsZS1saW5rZXItYnVpbGQtaWQgLS13aXRoLWRlZmF1bHQtbGli
c3RkY3h4LWFiaT1nY2M0LWNvbXBhdGlibGUKVGhyZWFkIG1vZGVsOiBwb3NpeApnY2MgdmVyc2lv
biA3LjMuMCAoR0NDKSAKY29uZmlndXJlOjM2MjI6ICQ/ID0gMApjb25maWd1cmU6MzYxMTogZ2Nj
IC1WID4mNQpnY2M6IGVycm9yOiB1bnJlY29nbml6ZWQgY29tbWFuZCBsaW5lIG9wdGlvbiAnLVYn
CmdjYzogZmF0YWwgZXJyb3I6IG5vIGlucHV0IGZpbGVzCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQu
CmNvbmZpZ3VyZTozNjIyOiAkPyA9IDEKY29uZmlndXJlOjM2MTE6IGdjYyAtcXZlcnNpb24gPiY1
CmdjYzogZXJyb3I6IHVucmVjb2duaXplZCBjb21tYW5kIGxpbmUgb3B0aW9uICctcXZlcnNpb24n
OyBkaWQgeW91IG1lYW4gJy0tdmVyc2lvbic/CmdjYzogZmF0YWwgZXJyb3I6IG5vIGlucHV0IGZp
bGVzCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTozNjIyOiAkPyA9IDEKY29uZmln
dXJlOjM2NDI6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MKY29uZmlndXJl
OjM2NjQ6IGdjYyAgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjM2Njg6ICQ/ID0gMApjb25m
aWd1cmU6MzcxNjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjM3MTk6IGNoZWNraW5nIGZvciBDIGNv
bXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZQpjb25maWd1cmU6MzcyMTogcmVzdWx0OiBh
LmV4ZQpjb25maWd1cmU6MzcyNzogY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcwpj
b25maWd1cmU6MzczNDogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAgICBjb25mdGVzdC5jICA+JjUKY29u
ZmlndXJlOjM3Mzg6ICQ/ID0gMApjb25maWd1cmU6Mzc2MDogcmVzdWx0OiAuZXhlCmNvbmZpZ3Vy
ZTozNzgyOiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcKY29uZmlndXJl
OjM3OTA6IGdjYyAtbyBjb25mdGVzdC5leGUgICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZToz
Nzk0OiAkPyA9IDAKY29uZmlndXJlOjM4MDE6IC4vY29uZnRlc3QuZXhlCmNvbmZpZ3VyZTozODA1
OiAkPyA9IDAKY29uZmlndXJlOjM4MjA6IHJlc3VsdDogbm8KY29uZmlndXJlOjM4MjU6IGNoZWNr
aW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzCmNvbmZpZ3VyZTozODQ3OiBnY2MgLWMgICBj
b25mdGVzdC5jID4mNQpjb25maWd1cmU6Mzg1MTogJD8gPSAwCmNvbmZpZ3VyZTozODcyOiByZXN1
bHQ6IG8KY29uZmlndXJlOjM4NzY6IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBH
TlUgQyBjb21waWxlcgpjb25maWd1cmU6Mzg5NTogZ2NjIC1jICAgY29uZnRlc3QuYyA+JjUKY29u
ZmlndXJlOjM4OTU6ICQ/ID0gMApjb25maWd1cmU6MzkwNDogcmVzdWx0OiB5ZXMKY29uZmlndXJl
OjM5MTM6IGNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcKY29uZmlndXJlOjM5MzM6IGdj
YyAtYyAtZyAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjM5MzM6ICQ/ID0gMApjb25maWd1cmU6
Mzk3NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjM5OTE6IGNoZWNraW5nIGZvciBnY2Mgb3B0aW9u
IHRvIGFjY2VwdCBJU08gQzg5CmNvbmZpZ3VyZTo0MDU0OiBnY2MgIC1jIC1nIC1PMiAgY29uZnRl
c3QuYyA+JjUKY29uZmlndXJlOjQwNTQ6ICQ/ID0gMApjb25maWd1cmU6NDA2NzogcmVzdWx0OiBu
b25lIG5lZWRlZApjb25maWd1cmU6NDA5MjogY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFu
ZHMgLWMgYW5kIC1vIHRvZ2V0aGVyCmNvbmZpZ3VyZTo0MTE0OiBnY2MgLWMgY29uZnRlc3QuYyAt
byBjb25mdGVzdDIubwpjb25maWd1cmU6NDExNzogJD8gPSAwCmNvbmZpZ3VyZTo0MTE0OiBnY2Mg
LWMgY29uZnRlc3QuYyAtbyBjb25mdGVzdDIubwpjb25maWd1cmU6NDExNzogJD8gPSAwCmNvbmZp
Z3VyZTo0MTI5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDE0ODogY2hlY2tpbmcgZGVwZW5kZW5j
eSBzdHlsZSBvZiBnY2MKY29uZmlndXJlOjQyNTk6IHJlc3VsdDogZ2NjMwpjb25maWd1cmU6NDI4
MDogY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IKY29uZmlndXJlOjQzMTE6
IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NDMxMTogJD8gPSAwCmNvbmZpZ3VyZTo0MzI1
OiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoxMToxMDogZmF0YWwgZXJyb3I6IGFjX25v
bmV4aXN0ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxhY19ub25l
eGlzdGVudC5oPgogICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+CmNvbXBpbGF0aW9uIHRlcm1p
bmF0ZWQuCmNvbmZpZ3VyZTo0MzI1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3
YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJzc2gyIgp8
ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT
SU9OICItIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYnNzaDIgLSIKfCAjZGVmaW5lIFBB
Q0tBR0VfQlVHUkVQT1JUICJsaWJzc2gyLWRldmVsQGNvb2wuaGF4eC5zZSIKfCAjZGVmaW5lIFBB
Q0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJsaWJzc2gyIgp8ICNkZWZpbmUgVkVSU0lP
TiAiLSIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGFjX25vbmV4aXN0ZW50
Lmg+CmNvbmZpZ3VyZTo0MzUwOiByZXN1bHQ6IGdjYyAtRQpjb25maWd1cmU6NDM3MDogZ2NjIC1F
ICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo0MzcwOiAkPyA9IDAKY29uZmlndXJlOjQzODQ6IGdjYyAt
RSAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjExOjEwOiBmYXRhbCBlcnJvcjogYWNfbm9uZXhpc3Rl
bnQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPGFjX25vbmV4aXN0ZW50
Lmg+CiAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KY29tcGlsYXRpb24gdGVybWluYXRlZC4K
Y29uZmlndXJlOjQzODQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv
KiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYnNzaDIiCnwgI2RlZmlu
ZSBQQUNLQUdFX1RBUk5BTUUgImxpYnNzaDIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIi0i
CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlic3NoMiAtIgp8ICNkZWZpbmUgUEFDS0FHRV9C
VUdSRVBPUlQgImxpYnNzaDItZGV2ZWxAY29vbC5oYXh4LnNlIgp8ICNkZWZpbmUgUEFDS0FHRV9V
UkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImxpYnNzaDIiCnwgI2RlZmluZSBWRVJTSU9OICItIgp8
IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KY29u
ZmlndXJlOjQ0MTM6IGNoZWNraW5nIGZvciBncmVwIHRoYXQgaGFuZGxlcyBsb25nIGxpbmVzIGFu
ZCAtZQpjb25maWd1cmU6NDQ3MTogcmVzdWx0OiAvdXNyL2Jpbi9ncmVwCmNvbmZpZ3VyZTo0NDc2
OiBjaGVja2luZyBmb3IgZWdyZXAKY29uZmlndXJlOjQ1Mzg6IHJlc3VsdDogL3Vzci9iaW4vZ3Jl
cCAtRQpjb25maWd1cmU6NDU0MzogY2hlY2tpbmcgZm9yIEFOU0kgQyBoZWFkZXIgZmlsZXMKY29u
ZmlndXJlOjQ1NjM6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0NTYz
OiAkPyA9IDAKY29uZmlndXJlOjQ2MzY6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgY29u
ZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo0NjM2OiAkPyA9IDAKY29uZmlndXJlOjQ2MzY6IC4vY29u
ZnRlc3QuZXhlCmNvbmZpZ3VyZTo0NjM2OiAkPyA9IDAKY29uZmlndXJlOjQ2NDc6IHJlc3VsdDog
eWVzCmNvbmZpZ3VyZTo0NjYwOiBjaGVja2luZyBmb3Igc3lzL3R5cGVzLmgKY29uZmlndXJlOjQ2
NjA6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0NjYwOiAkPyA9IDAK
Y29uZmlndXJlOjQ2NjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NjYwOiBjaGVja2luZyBmb3Ig
c3lzL3N0YXQuaApjb25maWd1cmU6NDY2MDogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUK
Y29uZmlndXJlOjQ2NjA6ICQ/ID0gMApjb25maWd1cmU6NDY2MDogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjQ2NjA6IGNoZWNraW5nIGZvciBzdGRsaWIuaApjb25maWd1cmU6NDY2MDogZ2NjIC1jIC1n
IC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ2NjA6ICQ/ID0gMApjb25maWd1cmU6NDY2
MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ2NjA6IGNoZWNraW5nIGZvciBzdHJpbmcuaApjb25m
aWd1cmU6NDY2MDogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ2NjA6
ICQ/ID0gMApjb25maWd1cmU6NDY2MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ2NjA6IGNoZWNr
aW5nIGZvciBtZW1vcnkuaApjb25maWd1cmU6NDY2MDogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3Qu
YyA+JjUKY29uZmlndXJlOjQ2NjA6ICQ/ID0gMApjb25maWd1cmU6NDY2MDogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjQ2NjA6IGNoZWNraW5nIGZvciBzdHJpbmdzLmgKY29uZmlndXJlOjQ2NjA6IGdj
YyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0NjYwOiAkPyA9IDAKY29uZmln
dXJlOjQ2NjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NjYwOiBjaGVja2luZyBmb3IgaW50dHlw
ZXMuaApjb25maWd1cmU6NDY2MDogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmln
dXJlOjQ2NjA6ICQ/ID0gMApjb25maWd1cmU6NDY2MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ2
NjA6IGNoZWNraW5nIGZvciBzdGRpbnQuaApjb25maWd1cmU6NDY2MDogZ2NjIC1jIC1nIC1PMiAg
Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ2NjA6ICQ/ID0gMApjb25maWd1cmU6NDY2MDogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjQ2NjA6IGNoZWNraW5nIGZvciB1bmlzdGQuaApjb25maWd1cmU6
NDY2MDogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ2NjA6ICQ/ID0g
MApjb25maWd1cmU6NDY2MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ2NzI6IGNoZWNraW5nIGZv
ciBsb25nIGxvbmcKY29uZmlndXJlOjQ2NzI6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1
CmNvbmZpZ3VyZTo0NjcyOiAkPyA9IDAKY29uZmlndXJlOjQ2NzI6IGdjYyAtYyAtZyAtTzIgIGNv
bmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzo1
NzoyNDogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlICcpJyB0b2tlbgogaWYgKHNp
emVvZiAoKGxvbmcgbG9uZykpKQogICAgICAgICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZTo0
NjcyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu
aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9U
QVJOQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICItIgp8ICNkZWZpbmUg
UEFDS0FHRV9TVFJJTkcgImxpYnNzaDIgLSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJs
aWJzc2gyLWRldmVsQGNvb2wuaGF4eC5zZSIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl
ZmluZSBQQUNLQUdFICJsaWJzc2gyIgp8ICNkZWZpbmUgVkVSU0lPTiAiLSIKfCAjZGVmaW5lIFNU
RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS
SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf
SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx
CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2lu
Y2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5
cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUg
PHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8
c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9T
VERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZk
ZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQg
SEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1
ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVk
ZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1
ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1
ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRl
IDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQKfCBtYWluICgpCnwgewp8IGlmIChzaXplb2YgKChs
b25nIGxvbmcpKSkKfCAJICAgIHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25m
aWd1cmU6NDY3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ2ODQ6IGNoZWNraW5nIGlmIF9SRUVO
VFJBTlQgaXMgYWxyZWFkeSBkZWZpbmVkCmNvbmZpZ3VyZTo0NzA2OiBnY2MgLWMgLWcgLU8yICBj
b25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6
MzI6NzogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdmb3JjZScKICAgICAgIGZvcmNlIGNvbXBp
bGF0aW9uIGVycm9yCiAgICAgICBefn5+fgpjb25mdGVzdC5jOjMyOjI1OiBlcnJvcjogZXhwZWN0
ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnZXJyb3In
CiAgICAgICBmb3JjZSBjb21waWxhdGlvbiBlcnJvcgogICAgICAgICAgICAgICAgICAgICAgICAg
Xn5+fn4KY29uZmlndXJlOjQ3MDY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh
czoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYnNzaDIiCnwg
I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYnNzaDIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ
T04gIi0iCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlic3NoMiAtIgp8ICNkZWZpbmUgUEFD
S0FHRV9CVUdSRVBPUlQgImxpYnNzaDItZGV2ZWxAY29vbC5oYXh4LnNlIgp8ICNkZWZpbmUgUEFD
S0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImxpYnNzaDIiCnwgI2RlZmluZSBWRVJTSU9O
ICItIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg
MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW
RV9MT05HTE9ORyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IAp8IAp8IGludAp8IG1h
aW4gKCkKfCB7CnwgCnwgI2lmZGVmIF9SRUVOVFJBTlQKfCAgICAgICBpbnQgZHVtbXk9MTsKfCAj
ZWxzZQp8ICAgICAgIGZvcmNlIGNvbXBpbGF0aW9uIGVycm9yCnwgI2VuZGlmCnwgCnwgICA7Cnwg
ICByZXR1cm4gMDsKfCB9CnwgCmNvbmZpZ3VyZTo0NzE0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0
NzIyOiBjaGVja2luZyBpZiBfUkVFTlRSQU5UIGlzIGFjdHVhbGx5IG5lZWRlZApjb25maWd1cmU6
NDczOTogcmVzdWx0OiBubwpjb25maWd1cmU6NDc0NDogY2hlY2tpbmcgaWYgX1JFRU5UUkFOVCBp
cyBvbndhcmRzIGRlZmluZWQKY29uZmlndXJlOjQ3NjE6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ3
Njg6IGNoZWNraW5nIGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcgc29ja2V0CmNvbmZpZ3VyZTo0Nzk5
OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6
NDc5OTogJD8gPSAwCmNvbmZpZ3VyZTo0ODE2OiByZXN1bHQ6IG5vbmUgcmVxdWlyZWQKY29uZmln
dXJlOjQ4MjY6IGNoZWNraW5nIGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcgaW5ldF9hZGRyCmNvbmZp
Z3VyZTo0ODU3OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQpj
b25maWd1cmU6NDg1NzogJD8gPSAwCmNvbmZpZ3VyZTo0ODc0OiByZXN1bHQ6IG5vbmUgcmVxdWly
ZWQKY29uZmlndXJlOjQ5MzM6IGNoZWNraW5nIGZvciBnY2MKY29uZmlndXJlOjQ5NjA6IHJlc3Vs
dDogZ2NjCmNvbmZpZ3VyZTo1MTg5OiBjaGVja2luZyBmb3IgQyBjb21waWxlciB2ZXJzaW9uCmNv
bmZpZ3VyZTo1MTk4OiBnY2MgLS12ZXJzaW9uID4mNQpnY2MgKEdDQykgNy4zLjAKQ29weXJpZ2h0
IChDKSAyMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpUaGlzIGlzIGZyZWUgc29m
dHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBO
Twp3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4KCmNvbmZpZ3VyZTo1MjA5OiAkPyA9IDAKY29uZmlndXJlOjUx
OTg6IGdjYyAtdiA+JjUKVXNpbmcgYnVpbHQtaW4gc3BlY3MuCkNPTExFQ1RfR0NDPWdjYwpDT0xM
RUNUX0xUT19XUkFQUEVSPS91c3IvbGliL2djYy9pNjg2LXBjLW1zeXMvNy4zLjAvbHRvLXdyYXBw
ZXIuZXhlClRhcmdldDogaTY4Ni1wYy1tc3lzCkNvbmZpZ3VyZWQgd2l0aDogL21zeXNfc2NyaXB0
cy9nY2Mvc3JjL2djYy03LjMuMC9jb25maWd1cmUgLS1idWlsZD1pNjg2LXBjLW1zeXMgLS1wcmVm
aXg9L3VzciAtLWxpYmV4ZWNkaXI9L3Vzci9saWIgLS1lbmFibGUtYm9vdHN0cmFwIC0tZW5hYmxl
LXNoYXJlZCAtLWVuYWJsZS1zaGFyZWQtbGliZ2NjIC0tZW5hYmxlLXN0YXRpYyAtLWVuYWJsZS12
ZXJzaW9uLXNwZWNpZmljLXJ1bnRpbWUtbGlicyAtLXdpdGgtYXJjaD1pNjg2IC0td2l0aC10dW5l
PWdlbmVyaWMgLS1kaXNhYmxlLW11bHRpbGliIC0tZGlzYWJsZS1zamxqLWV4Y2VwdGlvbnMgLS1l
bmFibGUtX19jeGFfYXRleGl0IC0td2l0aC1kd2FyZjIgLS1lbmFibGUtbGFuZ3VhZ2VzPWMsYysr
LGZvcnRyYW4sbHRvIC0tZW5hYmxlLWdyYXBoaXRlIC0tZW5hYmxlLXRocmVhZHM9cG9zaXggLS1l
bmFibGUtbGliYXRvbWljIC0tZW5hYmxlLWxpYmNpbGtydHMgLS1lbmFibGUtbGliZ29tcCAtLWVu
YWJsZS1saWJpdG0gLS1lbmFibGUtbGlicXVhZG1hdGggLS1lbmFibGUtbGlicXVhZG1hdGgtc3Vw
cG9ydCAtLWRpc2FibGUtbGlic3NwIC0tZGlzYWJsZS13aW4zMi1yZWdpc3RyeSAtLWRpc2FibGUt
c3ltdmVycyAtLXdpdGgtZ251LWxkIC0td2l0aC1nbnUtYXMgLS1kaXNhYmxlLWlzbC12ZXJzaW9u
LWNoZWNrIC0tZW5hYmxlLWNoZWNraW5nPXJlbGVhc2UgLS13aXRob3V0LWxpYmljb252LXByZWZp
eCAtLXdpdGhvdXQtbGliaW50bC1wcmVmaXggLS13aXRoLXN5c3RlbS16bGliIC0tZW5hYmxlLWxp
bmtlci1idWlsZC1pZCAtLXdpdGgtZGVmYXVsdC1saWJzdGRjeHgtYWJpPWdjYzQtY29tcGF0aWJs
ZQpUaHJlYWQgbW9kZWw6IHBvc2l4CmdjYyB2ZXJzaW9uIDcuMy4wIChHQ0MpIApjb25maWd1cmU6
NTIwOTogJD8gPSAwCmNvbmZpZ3VyZTo1MTk4OiBnY2MgLVYgPiY1CmdjYzogZXJyb3I6IHVucmVj
b2duaXplZCBjb21tYW5kIGxpbmUgb3B0aW9uICctVicKZ2NjOiBmYXRhbCBlcnJvcjogbm8gaW5w
dXQgZmlsZXMKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjUyMDk6ICQ/ID0gMQpj
b25maWd1cmU6NTE5ODogZ2NjIC1xdmVyc2lvbiA+JjUKZ2NjOiBlcnJvcjogdW5yZWNvZ25pemVk
IGNvbW1hbmQgbGluZSBvcHRpb24gJy1xdmVyc2lvbic7IGRpZCB5b3UgbWVhbiAnLS12ZXJzaW9u
Jz8KZ2NjOiBmYXRhbCBlcnJvcjogbm8gaW5wdXQgZmlsZXMKY29tcGlsYXRpb24gdGVybWluYXRl
ZC4KY29uZmlndXJlOjUyMDk6ICQ/ID0gMQpjb25maWd1cmU6NTIxMzogY2hlY2tpbmcgd2hldGhl
ciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyCmNvbmZpZ3VyZTo1MjQxOiByZXN1bHQ6
IHllcwpjb25maWd1cmU6NTI1MDogY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZwpjb25m
aWd1cmU6NTMxMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjUzMjg6IGNoZWNraW5nIGZvciBnY2Mg
b3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5CmNvbmZpZ3VyZTo1NDA0OiByZXN1bHQ6IG5vbmUgbmVl
ZGVkCmNvbmZpZ3VyZTo1NDI5OiBjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBh
bmQgLW8gdG9nZXRoZXIKY29uZmlndXJlOjU0NjY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1NDg1
OiBjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYwpjb25maWd1cmU6NTU5NjogcmVzdWx0
OiBnY2MzCmNvbmZpZ3VyZTo1NjEyOiBjaGVja2luZyB3aGV0aGVyIGxuIC1zIHdvcmtzCmNvbmZp
Z3VyZTo1NjE5OiByZXN1bHQ6IG5vLCB1c2luZyBjcCAtcFIKY29uZmlndXJlOjU2MjM6IGNoZWNr
aW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkKY29uZmlndXJlOjU2NDU6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZTo1NjU4OiBjaGVja2luZyBmb3Igc3NoZApjb25maWd1cmU6NTY5MTogcmVzdWx0
OiBubwpjb25maWd1cmU6NTc1NDogY2hlY2tpbmcgZm9yIGFzCmNvbmZpZ3VyZTo1NzcwOiBmb3Vu
ZCAvdXNyL2Jpbi9hcwpjb25maWd1cmU6NTc4MTogcmVzdWx0OiBhcwpjb25maWd1cmU6NTg0Njog
Y2hlY2tpbmcgZm9yIGRsbHRvb2wKY29uZmlndXJlOjU4NjI6IGZvdW5kIC91c3IvYmluL2RsbHRv
b2wKY29uZmlndXJlOjU4NzM6IHJlc3VsdDogZGxsdG9vbApjb25maWd1cmU6NTkzODogY2hlY2tp
bmcgZm9yIG9iamR1bXAKY29uZmlndXJlOjU5NTQ6IGZvdW5kIC91c3IvYmluL29iamR1bXAKY29u
ZmlndXJlOjU5NjU6IHJlc3VsdDogb2JqZHVtcApjb25maWd1cmU6NjA1NjogY2hlY2tpbmcgaG93
IHRvIHByaW50IHN0cmluZ3MKY29uZmlndXJlOjYwODM6IHJlc3VsdDogcHJpbnRmCmNvbmZpZ3Vy
ZTo2MTA0OiBjaGVja2luZyBmb3IgYSBzZWQgdGhhdCBkb2VzIG5vdCB0cnVuY2F0ZSBvdXRwdXQK
Y29uZmlndXJlOjYxNjg6IHJlc3VsdDogL3Vzci9iaW4vc2VkCmNvbmZpZ3VyZTo2MTg2OiBjaGVj
a2luZyBmb3IgZmdyZXAKY29uZmlndXJlOjYyNDg6IHJlc3VsdDogL3Vzci9iaW4vZ3JlcCAtRgpj
b25maWd1cmU6NjI4MzogY2hlY2tpbmcgZm9yIGxkIHVzZWQgYnkgZ2NjCmNvbmZpZ3VyZTo2MzUw
OiByZXN1bHQ6IC91c3IvaTY4Ni1wYy1tc3lzL2Jpbi9sZC5leGUKY29uZmlndXJlOjYzNTc6IGNo
ZWNraW5nIGlmIHRoZSBsaW5rZXIgKC91c3IvaTY4Ni1wYy1tc3lzL2Jpbi9sZC5leGUpIGlzIEdO
VSBsZApjb25maWd1cmU6NjM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjYzODQ6IGNoZWNraW5n
IGZvciBCU0QtIG9yIE1TLWNvbXBhdGlibGUgbmFtZSBsaXN0ZXIgKG5tKQpjb25maWd1cmU6NjQz
ODogcmVzdWx0OiAvdXNyL2Jpbi9ubSAtQgpjb25maWd1cmU6NjU2ODogY2hlY2tpbmcgdGhlIG5h
bWUgbGlzdGVyICgvdXNyL2Jpbi9ubSAtQikgaW50ZXJmYWNlCmNvbmZpZ3VyZTo2NTc1OiBnY2Mg
LWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NjU3ODogL3Vzci9iaW4vbm0gLUIg
ImNvbmZ0ZXN0Lm8iCmNvbmZpZ3VyZTo2NTgxOiBvdXRwdXQKMDAwMDAwMDAgYiAuYnNzCjAwMDAw
MDAwIGQgLmRhdGEKMDAwMDAwMDAgTiAuZGVidWdfYWJicmV2CjAwMDAwMDAwIE4gLmRlYnVnX2Fy
YW5nZXMKMDAwMDAwMDAgTiAuZGVidWdfaW5mbwowMDAwMDAwMCBOIC5kZWJ1Z19saW5lCjAwMDAw
MDAwIHIgLnJkYXRhJHp6egowMDAwMDAwMCB0IC50ZXh0CjAwMDAwMDAwIEIgX3NvbWVfdmFyaWFi
bGUKY29uZmlndXJlOjY1ODg6IHJlc3VsdDogQlNEIG5tCmNvbmZpZ3VyZTo2NTkyOiBjaGVja2lu
ZyB0aGUgbWF4aW11bSBsZW5ndGggb2YgY29tbWFuZCBsaW5lIGFyZ3VtZW50cwpjb25maWd1cmU6
NjcyMzogcmVzdWx0OiA4MTkyCmNvbmZpZ3VyZTo2NzcxOiBjaGVja2luZyBob3cgdG8gY29udmVy
dCBpNjg2LXBjLW1zeXMgZmlsZSBuYW1lcyB0byBpNjg2LXBjLW1zeXMgZm9ybWF0CmNvbmZpZ3Vy
ZTo2ODExOiByZXN1bHQ6IGZ1bmNfY29udmVydF9maWxlX25vb3AKY29uZmlndXJlOjY4MTg6IGNo
ZWNraW5nIGhvdyB0byBjb252ZXJ0IGk2ODYtcGMtbXN5cyBmaWxlIG5hbWVzIHRvIHRvb2xjaGFp
biBmb3JtYXQKY29uZmlndXJlOjY4Mzg6IHJlc3VsdDogZnVuY19jb252ZXJ0X2ZpbGVfbm9vcApj
b25maWd1cmU6Njg0NTogY2hlY2tpbmcgZm9yIC91c3IvaTY4Ni1wYy1tc3lzL2Jpbi9sZC5leGUg
b3B0aW9uIHRvIHJlbG9hZCBvYmplY3QgZmlsZXMKY29uZmlndXJlOjY4NTI6IHJlc3VsdDogLXIK
Y29uZmlndXJlOjY5MjY6IGNoZWNraW5nIGZvciBvYmpkdW1wCmNvbmZpZ3VyZTo2OTUzOiByZXN1
bHQ6IG9iamR1bXAKY29uZmlndXJlOjY5ODI6IGNoZWNraW5nIGhvdyB0byByZWNvZ25pemUgZGVw
ZW5kZW50IGxpYnJhcmllcwpjb25maWd1cmU6NzE4MjogcmVzdWx0OiBmaWxlX21hZ2ljIF54ODYg
YXJjaGl2ZSBpbXBvcnR8Xng4NiBETEwKY29uZmlndXJlOjcyNjc6IGNoZWNraW5nIGZvciBkbGx0
b29sCmNvbmZpZ3VyZTo3Mjk0OiByZXN1bHQ6IGRsbHRvb2wKY29uZmlndXJlOjczMjQ6IGNoZWNr
aW5nIGhvdyB0byBhc3NvY2lhdGUgcnVudGltZSBhbmQgbGluayBsaWJyYXJpZXMKY29uZmlndXJl
OjczNTE6IHJlc3VsdDogZnVuY19jeWdtaW5nX2RsbF9mb3JfaW1wbGliCmNvbmZpZ3VyZTo3NDEx
OiBjaGVja2luZyBmb3IgYXIKY29uZmlndXJlOjc0Mjc6IGZvdW5kIC91c3IvYmluL2FyCmNvbmZp
Z3VyZTo3NDM4OiByZXN1bHQ6IGFyCmNvbmZpZ3VyZTo3NDc1OiBjaGVja2luZyBmb3IgYXJjaGl2
ZXIgQEZJTEUgc3VwcG9ydApjb25maWd1cmU6NzQ5MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3Qu
YyA+JjUKY29uZmlndXJlOjc0OTI6ICQ/ID0gMApjb25maWd1cmU6NzQ5NTogYXIgY3J1IGxpYmNv
bmZ0ZXN0LmEgQGNvbmZ0ZXN0LmxzdCA+JjUKY29uZmlndXJlOjc0OTg6ICQ/ID0gMApjb25maWd1
cmU6NzUwMzogYXIgY3J1IGxpYmNvbmZ0ZXN0LmEgQGNvbmZ0ZXN0LmxzdCA+JjUKYXI6IGNvbmZ0
ZXN0Lm86IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjc1MDY6ICQ/ID0gMQpj
b25maWd1cmU6NzUxODogcmVzdWx0OiBACmNvbmZpZ3VyZTo3NTc2OiBjaGVja2luZyBmb3Igc3Ry
aXAKY29uZmlndXJlOjc1OTI6IGZvdW5kIC91c3IvYmluL3N0cmlwCmNvbmZpZ3VyZTo3NjAzOiBy
ZXN1bHQ6IHN0cmlwCmNvbmZpZ3VyZTo3Njc1OiBjaGVja2luZyBmb3IgcmFubGliCmNvbmZpZ3Vy
ZTo3NjkxOiBmb3VuZCAvdXNyL2Jpbi9yYW5saWIKY29uZmlndXJlOjc3MDI6IHJlc3VsdDogcmFu
bGliCmNvbmZpZ3VyZTo3ODA0OiBjaGVja2luZyBjb21tYW5kIHRvIHBhcnNlIC91c3IvYmluL25t
IC1CIG91dHB1dCBmcm9tIGdjYyBvYmplY3QKY29uZmlndXJlOjc5NTc6IGdjYyAtYyAtZyAtTzIg
IGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo3OTYwOiAkPyA9IDAKY29uZmlndXJlOjc5NjQ6IC91
c3IvYmluL25tIC1CIGNvbmZ0ZXN0Lm8gXHwgc2VkIC1uIC1lICdzL14uKlsgXVwoW0FCQ0RHSVJT
VFddW0FCQ0RHSVJTVFddKlwpWyBdWyBdKlwoW19BLVphLXpdW19BLVphLXowLTldKlwpJC9cMSBc
MiBcMi9wJyB8IHNlZCAnLyBfX2dudV9sdG8vZCcgXD4gY29uZnRlc3Qubm0KY29uZmlndXJlOjc5
Njc6ICQ/ID0gMApjYW5ub3QgZmluZCBubV90ZXN0X3ZhciBpbiBjb25mdGVzdC5ubQpjb25maWd1
cmU6Nzk1NzogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjc5NjA6ICQ/
ID0gMApjb25maWd1cmU6Nzk2NDogL3Vzci9iaW4vbm0gLUIgY29uZnRlc3QubyBcfCBzZWQgLW4g
LWUgJ3MvXi4qWyBdXChbQUJDREdJUlNUV11bQUJDREdJUlNUV10qXClbIF1bIF0qX1woW19BLVph
LXpdW19BLVphLXowLTldKlwpJC9cMSBfXDIgXDIvcCcgfCBzZWQgJy8gX19nbnVfbHRvL2QnIFw+
IGNvbmZ0ZXN0Lm5tCmNvbmZpZ3VyZTo3OTY3OiAkPyA9IDAKY29uZmlndXJlOjgwMzM6IGdjYyAt
byBjb25mdGVzdC5leGUgLWcgLU8yICAgY29uZnRlc3QuYyBjb25mdHN0bS5vID4mNQpjb25maWd1
cmU6ODAzNjogJD8gPSAwCmNvbmZpZ3VyZTo4MDc0OiByZXN1bHQ6IG9rCmNvbmZpZ3VyZTo4MTIx
OiBjaGVja2luZyBmb3Igc3lzcm9vdApjb25maWd1cmU6ODE1MTogcmVzdWx0OiBubwpjb25maWd1
cmU6ODE1ODogY2hlY2tpbmcgZm9yIGEgd29ya2luZyBkZApjb25maWd1cmU6ODE5NjogcmVzdWx0
OiAvdXNyL2Jpbi9kZApjb25maWd1cmU6ODIwMDogY2hlY2tpbmcgaG93IHRvIHRydW5jYXRlIGJp
bmFyeSBwaXBlcwpjb25maWd1cmU6ODIxNTogcmVzdWx0OiAvdXNyL2Jpbi9kZCBicz00MDk2IGNv
dW50PTEKY29uZmlndXJlOjg1NDQ6IGNoZWNraW5nIGZvciBtdApjb25maWd1cmU6ODU3NDogcmVz
dWx0OiBubwpjb25maWd1cmU6ODU5NDogY2hlY2tpbmcgaWYgOiBpcyBhIG1hbmlmZXN0IHRvb2wK
Y29uZmlndXJlOjg2MDA6IDogJy0/Jwpjb25maWd1cmU6ODYwODogcmVzdWx0OiBubwpjb25maWd1
cmU6OTI4MjogY2hlY2tpbmcgZm9yIGRsZmNuLmgKY29uZmlndXJlOjkyODI6IGdjYyAtYyAtZyAt
TzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5MjgyOiAkPyA9IDAKY29uZmlndXJlOjkyODI6
IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NTM2OiBjaGVja2luZyBmb3Igb2JqZGlyCmNvbmZpZ3Vy
ZTo5NTUxOiByZXN1bHQ6IC5saWJzCmNvbmZpZ3VyZTo5ODE1OiBjaGVja2luZyBpZiBnY2Mgc3Vw
cG9ydHMgLWZuby1ydHRpIC1mbm8tZXhjZXB0aW9ucwpjb25maWd1cmU6OTgzMzogZ2NjIC1jIC1n
IC1PMiAgLWZuby1ydHRpIC1mbm8tZXhjZXB0aW9ucyBjb25mdGVzdC5jID4mNQpjYzE6IHdhcm5p
bmc6IGNvbW1hbmQgbGluZSBvcHRpb24gJy1mbm8tcnR0aScgaXMgdmFsaWQgZm9yIEMrKy9PYmpD
KysgYnV0IG5vdCBmb3IgQwpjb25maWd1cmU6OTgzNzogJD8gPSAwCmNvbmZpZ3VyZTo5ODUwOiBy
ZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMDIwODogY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gcHJv
ZHVjZSBQSUMKY29uZmlndXJlOjEwMjE1OiByZXN1bHQ6IC1ERExMX0VYUE9SVCAtRFBJQwpjb25m
aWd1cmU6MTAyMjM6IGNoZWNraW5nIGlmIGdjYyBQSUMgZmxhZyAtRERMTF9FWFBPUlQgLURQSUMg
d29ya3MKY29uZmlndXJlOjEwMjQxOiBnY2MgLWMgLWcgLU8yICAtRERMTF9FWFBPUlQgLURQSUMg
LURQSUMgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjEwMjQ1OiAkPyA9IDAKY29uZmlndXJlOjEw
MjU4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTAyODc6IGNoZWNraW5nIGlmIGdjYyBzdGF0aWMg
ZmxhZyAtc3RhdGljIHdvcmtzCmNvbmZpZ3VyZToxMDMxNTogcmVzdWx0OiB5ZXMKY29uZmlndXJl
OjEwMzMwOiBjaGVja2luZyBpZiBnY2Mgc3VwcG9ydHMgLWMgLW8gZmlsZS5vCmNvbmZpZ3VyZTox
MDM1MTogZ2NjIC1jIC1nIC1PMiAgLW8gb3V0L2NvbmZ0ZXN0Mi5vIGNvbmZ0ZXN0LmMgPiY1CmNv
bmZpZ3VyZToxMDM1NTogJD8gPSAwCmNvbmZpZ3VyZToxMDM3NzogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjEwMzg1OiBjaGVja2luZyBpZiBnY2Mgc3VwcG9ydHMgLWMgLW8gZmlsZS5vCmNvbmZpZ3Vy
ZToxMDQzMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwNDY1OiBjaGVja2luZyB3aGV0aGVyIHRo
ZSBnY2MgbGlua2VyICgvdXNyL2k2ODYtcGMtbXN5cy9iaW4vbGQuZXhlKSBzdXBwb3J0cyBzaGFy
ZWQgbGlicmFyaWVzCmNvbmZpZ3VyZToxMTcyNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjExNzYx
OiBjaGVja2luZyB3aGV0aGVyIC1sYyBzaG91bGQgYmUgZXhwbGljaXRseSBsaW5rZWQgaW4KY29u
ZmlndXJlOjExNzY5OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTE3
NzI6ICQ/ID0gMApjb25maWd1cmU6MTE3ODc6IGdjYyAtc2hhcmVkIGNvbmZ0ZXN0Lm8gIC12IC1v
IC4vY29uZnRlc3QgLVdsLC0tZW5hYmxlLWF1dG8taW1hZ2UtYmFzZSAtWGxpbmtlciAtLW91dC1p
bXBsaWIgLVhsaW5rZXIgY29uZnRlc3QgMlw+XCYxIFx8IC91c3IvYmluL2dyZXAgIC1sYyAgXD4v
ZGV2L251bGwgMlw+XCYxCmNvbmZpZ3VyZToxMTc5MDogJD8gPSAxCmNvbmZpZ3VyZToxMTgwNDog
cmVzdWx0OiB5ZXMKY29uZmlndXJlOjExOTY0OiBjaGVja2luZyBkeW5hbWljIGxpbmtlciBjaGFy
YWN0ZXJpc3RpY3MKY29uZmlndXJlOjEyNzg4OiByZXN1bHQ6IFdpbjMyIGxkLmV4ZQpjb25maWd1
cmU6MTI5MTA6IGNoZWNraW5nIGhvdyB0byBoYXJkY29kZSBsaWJyYXJ5IHBhdGhzIGludG8gcHJv
Z3JhbXMKY29uZmlndXJlOjEyOTM1OiByZXN1bHQ6IGltbWVkaWF0ZQpjb25maWd1cmU6MTM0ODM6
IGNoZWNraW5nIHdoZXRoZXIgc3RyaXBwaW5nIGxpYnJhcmllcyBpcyBwb3NzaWJsZQpjb25maWd1
cmU6MTM0ODg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzUyMzogY2hlY2tpbmcgaWYgbGlidG9v
bCBzdXBwb3J0cyBzaGFyZWQgbGlicmFyaWVzCmNvbmZpZ3VyZToxMzUyNTogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjEzNTI4OiBjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHNoYXJlZCBsaWJyYXJp
ZXMKY29uZmlndXJlOjEzNTUzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM1NTY6IGNoZWNraW5n
IHdoZXRoZXIgdG8gYnVpbGQgc3RhdGljIGxpYnJhcmllcwpjb25maWd1cmU6MTM1NjA6IHJlc3Vs
dDogeWVzCmNvbmZpZ3VyZToxMzU5NzogY2hlY2tpbmcgd2hldGhlciBieXRlIG9yZGVyaW5nIGlz
IGJpZ2VuZGlhbgpjb25maWd1cmU6MTM2MTI6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1
CmNvbmZ0ZXN0LmM6MjU6OTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdub3QnCiAgICAgICAg
IG5vdCBhIHVuaXZlcnNhbCBjYXBhYmxlIGNvbXBpbGVyCiAgICAgICAgIF5+fgpjb25mdGVzdC5j
OjI1OjE1OiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmli
dXRlX18nIGJlZm9yZSAndW5pdmVyc2FsJwogICAgICAgICBub3QgYSB1bml2ZXJzYWwgY2FwYWJs
ZSBjb21waWxlcgogICAgICAgICAgICAgICBefn5+fn5+fn4KY29uZnRlc3QuYzoyNToxNTogZXJy
b3I6IHVua25vd24gdHlwZSBuYW1lICd1bml2ZXJzYWwnCmNvbmZpZ3VyZToxMzYxMjogJD8gPSAx
CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVm
aW5lIFBBQ0tBR0VfTkFNRSAibGlic3NoMiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGli
c3NoMiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiLSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS
SU5HICJsaWJzc2gyIC0iCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAibGlic3NoMi1kZXZl
bEBjb29sLmhheHguc2UiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FH
RSAibGlic3NoMiIKfCAjZGVmaW5lIFZFUlNJT04gIi0iCnwgI2RlZmluZSBTVERDX0hFQURFUlMg
MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj
ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZp
bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg
SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPTkdMT05HIDEKfCAjZGVmaW5lIEhBVkVf
RExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAvKiBlbmQgY29uZmRlZnMu
aC4gICovCnwgI2lmbmRlZiBfX0FQUExFX0NDX18KfCAJICAgICAgIG5vdCBhIHVuaXZlcnNhbCBj
YXBhYmxlIGNvbXBpbGVyCnwgCSAgICAgI2VuZGlmCnwgCSAgICAgdHlwZWRlZiBpbnQgZHVtbXk7
CnwgCmNvbmZpZ3VyZToxMzY1NzogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmln
dXJlOjEzNjU3OiAkPyA9IDAKY29uZmlndXJlOjEzNjc1OiBnY2MgLWMgLWcgLU8yICBjb25mdGVz
dC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MzE6NDog
ZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdub3QnOyBkaWQgeW91IG1lYW4gJ2lub190Jz8KICAg
IG5vdCBiaWcgZW5kaWFuCiAgICBefn4KICAgIGlub190CmNvbmZ0ZXN0LmM6MzE6MTI6IGVycm9y
OiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3Jl
ICdlbmRpYW4nCiAgICBub3QgYmlnIGVuZGlhbgogICAgICAgICAgICBefn5+fn4KY29uZmlndXJl
OjEzNjc1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl
ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FH
RV9UQVJOQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICItIgp8ICNkZWZp
bmUgUEFDS0FHRV9TVFJJTkcgImxpYnNzaDIgLSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU
ICJsaWJzc2gyLWRldmVsQGNvb2wuaGF4eC5zZSIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwg
I2RlZmluZSBQQUNLQUdFICJsaWJzc2gyIgp8ICNkZWZpbmUgVkVSU0lPTiAiLSIKfCAjZGVmaW5l
IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf
U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO
R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf
SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9OR0xPTkcgMQp8
ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8IC8q
IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgCQkjaW5jbHVk
ZSA8c3lzL3BhcmFtLmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCAjaWYgQllURV9PUkRFUiAh
PSBCSUdfRU5ESUFOCnwgCQkgbm90IGJpZyBlbmRpYW4KfCAJCSNlbmRpZgp8IAp8ICAgOwp8ICAg
cmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTM4MDM6IHJlc3VsdDogbm8KY29uZmlndXJlOjEzODI5
OiBjaGVja2luZyBmb3Igc3BlY2lhbCBDIGNvbXBpbGVyIG9wdGlvbnMgbmVlZGVkIGZvciBsYXJn
ZSBmaWxlcwpjb25maWd1cmU6MTM4NzQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjEzODgwOiBjaGVj
a2luZyBmb3IgX0ZJTEVfT0ZGU0VUX0JJVFMgdmFsdWUgbmVlZGVkIGZvciBsYXJnZSBmaWxlcwpj
b25maWd1cmU6MTM5MDU6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTox
MzkwNTogJD8gPSAwCmNvbmZpZ3VyZToxMzkzNzogcmVzdWx0OiBubwpjb25maWd1cmU6MTQwOTA6
IGNoZWNraW5nIGZvciBsZCB1c2VkIGJ5IEdDQwpjb25maWd1cmU6MTQxNTQ6IHJlc3VsdDogL3Vz
ci9pNjg2LXBjLW1zeXMvYmluL2xkLmV4ZQpjb25maWd1cmU6MTQxNjE6IGNoZWNraW5nIGlmIHRo
ZSBsaW5rZXIgKC91c3IvaTY4Ni1wYy1tc3lzL2Jpbi9sZC5leGUpIGlzIEdOVSBsZApjb25maWd1
cmU6MTQxNzQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDE4MTogY2hlY2tpbmcgZm9yIHNoYXJl
ZCBsaWJyYXJ5IHJ1biBwYXRoIG9yaWdpbgpjb25maWd1cmU6MTQxOTQ6IHJlc3VsdDogZG9uZQpj
b25maWd1cmU6MTQ3MTE6IGNoZWNraW5nIGZvciBsaWJzc2wKY29uZmlndXJlOjE0NzMwOiBnY2Mg
LW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgIGNvbmZ0ZXN0LmMgIC1sc3NsIC1sY3J5cHRvID4mNQpj
b25mdGVzdC5jOjI0OjEwOiBmYXRhbCBlcnJvcjogb3BlbnNzbC9zc2wuaDogTm8gc3VjaCBmaWxl
IG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPG9wZW5zc2wvc3NsLmg+CiAgICAgICAgICBefn5+fn5+
fn5+fn5+fn4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjE0NzMwOiAkPyA9IDEK
Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp
bmUgUEFDS0FHRV9OQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJz
c2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICItIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ
TkcgImxpYnNzaDIgLSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJsaWJzc2gyLWRldmVs
QGNvb2wuaGF4eC5zZSIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdF
ICJsaWJzc2gyIgp8ICNkZWZpbmUgVkVSU0lPTiAiLSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx
CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx
CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk
ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu
ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI
QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9OR0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9E
TEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8IC8qIGVuZCBjb25mZGVmcy5o
LiAgKi8KfCAjaW5jbHVkZSA8b3BlbnNzbC9zc2wuaD4KfCBpbnQKfCBtYWluICgpCnwgewp8IAp8
ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTQ3NDA6IHJlc3VsdDogbm8KY29uZmln
dXJlOjE1MjgyOiBjaGVja2luZyBmb3IgbGliZ2NyeXB0CmNvbmZpZ3VyZToxNTMwMTogZ2NjIC1v
IGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICBjb25mdGVzdC5jICAtbGdjcnlwdCA+JjUKY29uZnRlc3Qu
YzoyNDoxMDogZmF0YWwgZXJyb3I6IGdjcnlwdC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5
CiAjaW5jbHVkZSA8Z2NyeXB0Lmg+CiAgICAgICAgICBefn5+fn5+fn5+CmNvbXBpbGF0aW9uIHRl
cm1pbmF0ZWQuCmNvbmZpZ3VyZToxNTMwMTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy
YW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlic3No
MiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlic3NoMiIKfCAjZGVmaW5lIFBBQ0tBR0Vf
VkVSU0lPTiAiLSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJzc2gyIC0iCnwgI2RlZmlu
ZSBQQUNLQUdFX0JVR1JFUE9SVCAibGlic3NoMi1kZXZlbEBjb29sLmhheHguc2UiCnwgI2RlZmlu
ZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAibGlic3NoMiIKfCAjZGVmaW5lIFZF
UlNJT04gIi0iCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ
RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf
SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj
ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu
ZSBIQVZFX0xPTkdMT05HIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9P
QkpESVIgIi5saWJzLyIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGdjcnlw
dC5oPgp8IGludAp8IG1haW4gKCkKfCB7CnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZp
Z3VyZToxNTMxMTogcmVzdWx0OiBubwpjb25maWd1cmU6MTU4MzQ6IGNoZWNraW5nIGZvciBsaWJt
YmVkY3J5cHRvCmNvbmZpZ3VyZToxNTg1MzogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICBj
b25mdGVzdC5jICAtbG1iZWRjcnlwdG8gPiY1CmNvbmZ0ZXN0LmM6MjQ6MTA6IGZhdGFsIGVycm9y
OiBtYmVkdGxzL3ZlcnNpb24uaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUg
PG1iZWR0bHMvdmVyc2lvbi5oPgogICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fgpjb21waWxh
dGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTU4NTM6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxl
ZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUg
ImxpYnNzaDIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYnNzaDIiCnwgI2RlZmluZSBQ
QUNLQUdFX1ZFUlNJT04gIi0iCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlic3NoMiAtIgp8
ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImxpYnNzaDItZGV2ZWxAY29vbC5oYXh4LnNlIgp8
ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImxpYnNzaDIiCnwgI2Rl
ZmluZSBWRVJTSU9OICItIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf
U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S
WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf
SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8
ICNkZWZpbmUgSEFWRV9MT05HTE9ORyAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZp
bmUgTFRfT0JKRElSICIubGlicy8iCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRl
IDxtYmVkdGxzL3ZlcnNpb24uaD4KfCBpbnQKfCBtYWluICgpCnwgewp8IAp8ICAgOwp8ICAgcmV0
dXJuIDA7CnwgfQpjb25maWd1cmU6MTU4NjM6IHJlc3VsdDogbm8KY29uZmlndXJlOjE1OTE2OiBj
aGVja2luZyBmb3IgbnRkZWYuaApjb25maWd1cmU6MTU5MTY6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0
ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNTkxNjogJD8gPSAwCmNvbmZpZ3VyZToxNTkxNjogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjE1OTE2OiBjaGVja2luZyBmb3IgbnRzdGF0dXMuaApjb25maWd1cmU6
MTU5MTY6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNTkxNjogJD8g
PSAwCmNvbmZpZ3VyZToxNTkxNjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1OTI3OiBjaGVja2lu
ZyB3aGV0aGVyIFNlY3VyZVplcm9NZW1vcnkgaXMgZGVjbGFyZWQKY29uZmlndXJlOjE1OTI3OiBn
Y2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTU5Mjc6ICQ/ID0gMApjb25m
aWd1cmU6MTU5Mjc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjQxNjogY2hlY2tpbmcgZm9yIGxp
YmNyeXB0MzIKY29uZmlndXJlOjE2NDM4OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgIGNv
bmZ0ZXN0LmMgIC1sY3J5cHQzMiA+JjUKY29uZmlndXJlOjE2NDM4OiAkPyA9IDAKY29uZmlndXJl
OjE2NDQ4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTY0NTU6IGNoZWNraW5nIGhvdyB0byBsaW5r
IHdpdGggbGliY3J5cHQzMgpjb25maWd1cmU6MTY0NTc6IHJlc3VsdDogLWxjcnlwdDMyCmNvbmZp
Z3VyZToxNjk1ODogY2hlY2tpbmcgZm9yIGxpYmJjcnlwdApjb25maWd1cmU6MTY5ODA6IGdjYyAt
byBjb25mdGVzdC5leGUgLWcgLU8yICAgY29uZnRlc3QuYyAgLWxiY3J5cHQgPiY1CmNvbmZpZ3Vy
ZToxNjk4MDogJD8gPSAwCmNvbmZpZ3VyZToxNjk5MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2
OTk3OiBjaGVja2luZyBob3cgdG8gbGluayB3aXRoIGxpYmJjcnlwdApjb25maWd1cmU6MTY5OTk6
IHJlc3VsdDogLWxiY3J5cHQKY29uZmlndXJlOjE3NTc1OiBjaGVja2luZyBmb3IgbGliegpjb25m
aWd1cmU6MTc1OTQ6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgY29uZnRlc3QuYyAgLWx6
ID4mNQpjb25mdGVzdC5jOjMwOjEwOiBmYXRhbCBlcnJvcjogemxpYi5oOiBObyBzdWNoIGZpbGUg
b3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8emxpYi5oPgogICAgICAgICAgXn5+fn5+fn4KY29tcGls
YXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjE3NTk0OiAkPyA9IDEKY29uZmlndXJlOiBmYWls
ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F
ICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUg
UEFDS0FHRV9WRVJTSU9OICItIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYnNzaDIgLSIK
fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJsaWJzc2gyLWRldmVsQGNvb2wuaGF4eC5zZSIK
fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJsaWJzc2gyIgp8ICNk
ZWZpbmUgVkVSU0lPTiAiLSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF
X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF
X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1P
UllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK
fCAjZGVmaW5lIEhBVkVfTE9OR0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVm
aW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgSEFWRV9OVERFRl9IIDEKfCAjZGVmaW5l
IEhBVkVfTlRTVEFUVVNfSCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU0VDVVJFWkVST01FTU9SWSAx
CnwgI2RlZmluZSBIQVZFX0xJQkNSWVBUMzIgMQp8ICNkZWZpbmUgSEFWRV9MSUJCQ1JZUFQgMQp8
ICNkZWZpbmUgTElCU1NIMl9XSU5DTkcgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5j
bHVkZSA8emxpYi5oPgp8IGludAp8IG1haW4gKCkKfCB7CnwgCnwgICA7CnwgICByZXR1cm4gMDsK
fCB9CmNvbmZpZ3VyZToxNzYwNDogcmVzdWx0OiBubwpjb25maWd1cmU6MTc2MzE6IENhbm5vdCBm
aW5kIGxpYnosIGRpc2FibGluZyBjb21wcmVzc2lvbgpjb25maWd1cmU6MTc3MTE6IGNoZWNraW5n
IHdoZXRoZXIgdG8gZW5hYmxlIHBlZGFudGljIGFuZCBkZWJ1ZyBjb21waWxlciBvcHRpb25zCmNv
bmZpZ3VyZToxNzg0NTogcmVzdWx0OiBubwpjb25maWd1cmU6MTc4NTE6IGNoZWNraW5nIHdoZXRo
ZXIgdG8gZW5hYmxlIGhpZGRlbiBzeW1ib2xzIGluIHRoZSBsaWJyYXJ5CmNvbmZpZ3VyZToxNzg5
MjogcmVzdWx0OiBubwpjb25maWd1cmU6MTc4OTk6IGNoZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQg
ZXhhbXBsZSBhcHBsaWNhdGlvbnMKY29uZmlndXJlOjE3OTE1OiByZXN1bHQ6IHllcwpjb25maWd1
cmU6MTc5MzE6IGNoZWNraW5nIGVycm5vLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxNzkzMTogZ2Nj
IC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE3OTMxOiAkPyA9IDAKY29uZmln
dXJlOjE3OTMxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTc5MzE6IGNoZWNraW5nIGVycm5vLmgg
cHJlc2VuY2UKY29uZmlndXJlOjE3OTMxOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjE3
OTMxOiAkPyA9IDAKY29uZmlndXJlOjE3OTMxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTc5MzE6
IGNoZWNraW5nIGZvciBlcnJuby5oCmNvbmZpZ3VyZToxNzkzMTogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjE3OTMxOiBjaGVja2luZyBmY250bC5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTc5MzE6IGdj
YyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNzkzMTogJD8gPSAwCmNvbmZp
Z3VyZToxNzkzMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3OTMxOiBjaGVja2luZyBmY250bC5o
IHByZXNlbmNlCmNvbmZpZ3VyZToxNzkzMTogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTox
NzkzMTogJD8gPSAwCmNvbmZpZ3VyZToxNzkzMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3OTMx
OiBjaGVja2luZyBmb3IgZmNudGwuaApjb25maWd1cmU6MTc5MzE6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZToxNzkzMTogY2hlY2tpbmcgc3RkaW8uaCB1c2FiaWxpdHkKY29uZmlndXJlOjE3OTMxOiBn
Y2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTc5MzE6ICQ/ID0gMApjb25m
aWd1cmU6MTc5MzE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzkzMTogY2hlY2tpbmcgc3RkaW8u
aCBwcmVzZW5jZQpjb25maWd1cmU6MTc5MzE6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6
MTc5MzE6ICQ/ID0gMApjb25maWd1cmU6MTc5MzE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzkz
MTogY2hlY2tpbmcgZm9yIHN0ZGlvLmgKY29uZmlndXJlOjE3OTMxOiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6MTc5MzE6IGNoZWNraW5nIGZvciBzdGRsaWIuaApjb25maWd1cmU6MTc5MzE6IHJlc3Vs
dDogeWVzCmNvbmZpZ3VyZToxNzkzMTogY2hlY2tpbmcgZm9yIHVuaXN0ZC5oCmNvbmZpZ3VyZTox
NzkzMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3OTMxOiBjaGVja2luZyBzeXMvdWlvLmggdXNh
YmlsaXR5CmNvbmZpZ3VyZToxNzkzMTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29u
ZmlndXJlOjE3OTMxOiAkPyA9IDAKY29uZmlndXJlOjE3OTMxOiByZXN1bHQ6IHllcwpjb25maWd1
cmU6MTc5MzE6IGNoZWNraW5nIHN5cy91aW8uaCBwcmVzZW5jZQpjb25maWd1cmU6MTc5MzE6IGdj
YyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6MTc5MzE6ICQ/ID0gMApjb25maWd1cmU6MTc5MzE6
IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzkzMTogY2hlY2tpbmcgZm9yIHN5cy91aW8uaApjb25m
aWd1cmU6MTc5MzE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzk0NDogY2hlY2tpbmcgc3lzL3Nl
bGVjdC5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTc5NDQ6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0
LmMgPiY1CmNvbmZpZ3VyZToxNzk0NDogJD8gPSAwCmNvbmZpZ3VyZToxNzk0NDogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjE3OTQ0OiBjaGVja2luZyBzeXMvc2VsZWN0LmggcHJlc2VuY2UKY29uZmln
dXJlOjE3OTQ0OiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjE3OTQ0OiAkPyA9IDAKY29u
ZmlndXJlOjE3OTQ0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTc5NDQ6IGNoZWNraW5nIGZvciBz
eXMvc2VsZWN0LmgKY29uZmlndXJlOjE3OTQ0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTc5NDQ6
IGNoZWNraW5nIHN5cy9zb2NrZXQuaCB1c2FiaWxpdHkKY29uZmlndXJlOjE3OTQ0OiBnY2MgLWMg
LWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTc5NDQ6ICQ/ID0gMApjb25maWd1cmU6
MTc5NDQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzk0NDogY2hlY2tpbmcgc3lzL3NvY2tldC5o
IHByZXNlbmNlCmNvbmZpZ3VyZToxNzk0NDogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTox
Nzk0NDogJD8gPSAwCmNvbmZpZ3VyZToxNzk0NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3OTQ0
OiBjaGVja2luZyBmb3Igc3lzL3NvY2tldC5oCmNvbmZpZ3VyZToxNzk0NDogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjE3OTQ0OiBjaGVja2luZyBzeXMvaW9jdGwuaCB1c2FiaWxpdHkKY29uZmlndXJl
OjE3OTQ0OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTc5NDQ6ICQ/
ID0gMApjb25maWd1cmU6MTc5NDQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzk0NDogY2hlY2tp
bmcgc3lzL2lvY3RsLmggcHJlc2VuY2UKY29uZmlndXJlOjE3OTQ0OiBnY2MgLUUgIGNvbmZ0ZXN0
LmMKY29uZmlndXJlOjE3OTQ0OiAkPyA9IDAKY29uZmlndXJlOjE3OTQ0OiByZXN1bHQ6IHllcwpj
b25maWd1cmU6MTc5NDQ6IGNoZWNraW5nIGZvciBzeXMvaW9jdGwuaApjb25maWd1cmU6MTc5NDQ6
IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzk0NDogY2hlY2tpbmcgc3lzL3RpbWUuaCB1c2FiaWxp
dHkKY29uZmlndXJlOjE3OTQ0OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1
cmU6MTc5NDQ6ICQ/ID0gMApjb25maWd1cmU6MTc5NDQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox
Nzk0NDogY2hlY2tpbmcgc3lzL3RpbWUuaCBwcmVzZW5jZQpjb25maWd1cmU6MTc5NDQ6IGdjYyAt
RSAgY29uZnRlc3QuYwpjb25maWd1cmU6MTc5NDQ6ICQ/ID0gMApjb25maWd1cmU6MTc5NDQ6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZToxNzk0NDogY2hlY2tpbmcgZm9yIHN5cy90aW1lLmgKY29uZmln
dXJlOjE3OTQ0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTc5NTc6IGNoZWNraW5nIGFycGEvaW5l
dC5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTc5NTc6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMg
PiY1CmNvbmZpZ3VyZToxNzk1NzogJD8gPSAwCmNvbmZpZ3VyZToxNzk1NzogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjE3OTU3OiBjaGVja2luZyBhcnBhL2luZXQuaCBwcmVzZW5jZQpjb25maWd1cmU6
MTc5NTc6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6MTc5NTc6ICQ/ID0gMApjb25maWd1
cmU6MTc5NTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzk1NzogY2hlY2tpbmcgZm9yIGFycGEv
aW5ldC5oCmNvbmZpZ3VyZToxNzk1NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3OTU3OiBjaGVj
a2luZyBuZXRpbmV0L2luLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxNzk1NzogZ2NjIC1jIC1nIC1P
MiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE3OTU3OiAkPyA9IDAKY29uZmlndXJlOjE3OTU3
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTc5NTc6IGNoZWNraW5nIG5ldGluZXQvaW4uaCBwcmVz
ZW5jZQpjb25maWd1cmU6MTc5NTc6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6MTc5NTc6
ICQ/ID0gMApjb25maWd1cmU6MTc5NTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzk1NzogY2hl
Y2tpbmcgZm9yIG5ldGluZXQvaW4uaApjb25maWd1cmU6MTc5NTc6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZToxNzk2OTogY2hlY2tpbmcgc3lzL3VuLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxNzk2OTog
Z2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE3OTY5OiAkPyA9IDAKY29u
ZmlndXJlOjE3OTY5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTc5Njk6IGNoZWNraW5nIHN5cy91
bi5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNzk2OTogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3Vy
ZToxNzk2OTogJD8gPSAwCmNvbmZpZ3VyZToxNzk2OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3
OTY5OiBjaGVja2luZyBmb3Igc3lzL3VuLmgKY29uZmlndXJlOjE3OTY5OiByZXN1bHQ6IHllcwpj
b25maWd1cmU6MTc5OTg6IGNoZWNraW5nIHdpbmRvd3MuaCB1c2FiaWxpdHkKY29uZmlndXJlOjE3
OTk4OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTc5OTg6ICQ/ID0g
MApjb25maWd1cmU6MTc5OTg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzk5ODogY2hlY2tpbmcg
d2luZG93cy5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNzk5ODogZ2NjIC1FICBjb25mdGVzdC5jCmNv
bmZpZ3VyZToxNzk5ODogJD8gPSAwCmNvbmZpZ3VyZToxNzk5ODogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjE3OTk4OiBjaGVja2luZyBmb3Igd2luZG93cy5oCmNvbmZpZ3VyZToxNzk5ODogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjE3OTk4OiBjaGVja2luZyB3aW5zb2NrMi5oIHVzYWJpbGl0eQpjb25m
aWd1cmU6MTc5OTg6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CkluIGZpbGUgaW5jbHVk
ZWQgZnJvbSAvdXNyL2luY2x1ZGUvdzMyYXBpL3dpbnNvY2syLmg6NTY6MCwKICAgICAgICAgICAg
ICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzk6Ci91c3IvaW5jbHVkZS93MzJhcGkvcHNka19pbmMvX2Zk
X3R5cGVzLmg6MTAwOjI6IHdhcm5pbmc6ICN3YXJuaW5nICJmZF9zZXQgYW5kIGFzc29jaWF0ZWQg
bWFjcm9zIGhhdmUgYmVlbiBkZWZpbmVkIGluIHN5cy90eXBlcy4gICAgICBUaGlzIGNhbiBjYXVz
ZSBydW50aW1lIHByb2JsZW1zIHdpdGggVzMyIHNvY2tldHMiIFstV2NwcF0KICN3YXJuaW5nICJm
ZF9zZXQgYW5kIGFzc29jaWF0ZWQgbWFjcm9zIGhhdmUgYmVlbiBkZWZpbmVkIGluIHN5cy90eXBl
cy4gIFwKICBefn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25mdGVzdC5jOjc5OjA6Ci91
c3IvaW5jbHVkZS93MzJhcGkvd2luc29jazIuaDo5OTU6MzQ6IGVycm9yOiBjb25mbGljdGluZyB0
eXBlcyBmb3IgJ3NlbGVjdCcKICAgV0lOU09DS19BUElfTElOS0FHRSBpbnQgV1NBQVBJIHNlbGVj
dChpbnQgbmZkcyxmZF9zZXQgKnJlYWRmZHMsZmRfc2V0ICp3cml0ZWZkcyxmZF9zZXQgKmV4Y2Vw
dGZkcyxjb25zdCBQVElNRVZBTCB0aW1lb3V0KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL3Vzci9pbmNsdWRlL3N5cy90eXBl
cy5oOjY4OjAsCiAgICAgICAgICAgICAgICAgZnJvbSAvdXNyL2luY2x1ZGUvc3RkaW8uaDo2MSwK
ICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6NDY6Ci91c3IvaW5jbHVkZS9zeXMvc2Vs
ZWN0Lmg6NjI6NTogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ3NlbGVjdCcgd2FzIGhl
cmUKIGludCBzZWxlY3QgX19QICgoaW50IF9fbiwgZmRfc2V0ICpfX3JlYWRmZHMsIGZkX3NldCAq
X193cml0ZWZkcywKICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGNvbmZ0ZXN0LmM6
Nzk6MDoKL3Vzci9pbmNsdWRlL3czMmFwaS93aW5zb2NrMi5oOjEwMDQ6MzQ6IGVycm9yOiBjb25m
bGljdGluZyB0eXBlcyBmb3IgJ2dldGhvc3RuYW1lJwogICBXSU5TT0NLX0FQSV9MSU5LQUdFIGlu
dCBXU0FBUEkgZ2V0aG9zdG5hbWUoY2hhciAqbmFtZSxpbnQgbmFtZWxlbik7CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20g
L3Vzci9pbmNsdWRlL3VuaXN0ZC5oOjQ6MCwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0
LmM6Nzc6Ci91c3IvaW5jbHVkZS9zeXMvdW5pc3RkLmg6MzAwOjY6IG5vdGU6IHByZXZpb3VzIGRl
Y2xhcmF0aW9uIG9mICdnZXRob3N0bmFtZScgd2FzIGhlcmUKICBpbnQgZ2V0aG9zdG5hbWUgKGNo
YXIgKl9fbmFtZSwgc2l6ZV90IF9fbGVuKTsKICAgICAgXn5+fn5+fn5+fn4KY29uZmlndXJlOjE3
OTk4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu
aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9U
QVJOQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICItIgp8ICNkZWZpbmUg
UEFDS0FHRV9TVFJJTkcgImxpYnNzaDIgLSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJs
aWJzc2gyLWRldmVsQGNvb2wuaGF4eC5zZSIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl
ZmluZSBQQUNLQUdFICJsaWJzc2gyIgp8ICNkZWZpbmUgVkVSU0lPTiAiLSIKfCAjZGVmaW5lIFNU
RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS
SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf
SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx
CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9OR0xPTkcgMQp8ICNk
ZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZp
bmUgSEFWRV9OVERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfTlRTVEFUVVNfSCAxCnwgI2RlZmluZSBI
QVZFX0RFQ0xfU0VDVVJFWkVST01FTU9SWSAxCnwgI2RlZmluZSBIQVZFX0xJQkNSWVBUMzIgMQp8
ICNkZWZpbmUgSEFWRV9MSUJCQ1JZUFQgMQp8ICNkZWZpbmUgTElCU1NIMl9XSU5DTkcgMQp8ICNk
ZWZpbmUgTElCU1NIMl9ESF9HRVhfTkVXIDEKfCAjZGVmaW5lIExJQlNTSDJfQ0xFQVJfTUVNT1JZ
IDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg
SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBI
QVZFX1NZU19JT0NUTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBI
QVZFX0FSUEFfSU5FVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9JTl9IIDEKfCAjZGVmaW5l
IEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9XSU5ET1dTX0ggMQp8IC8qIGVuZCBjb25m
ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNf
SAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NU
QVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFE
RVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNl
CnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRp
Zgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hF
QURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+Cnwg
IyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RS
SU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5U
VFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T
VERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5J
U1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDx3aW5zb2Nr
Mi5oPgpjb25maWd1cmU6MTc5OTg6IHJlc3VsdDogbm8KY29uZmlndXJlOjE3OTk4OiBjaGVja2lu
ZyB3aW5zb2NrMi5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNzk5ODogZ2NjIC1FICBjb25mdGVzdC5j
CmNvbmZpZ3VyZToxNzk5ODogJD8gPSAwCmNvbmZpZ3VyZToxNzk5ODogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjE3OTk4OiBXQVJOSU5HOiB3aW5zb2NrMi5oOiBwcmVzZW50IGJ1dCBjYW5ub3QgYmUg
Y29tcGlsZWQKY29uZmlndXJlOjE3OTk4OiBXQVJOSU5HOiB3aW5zb2NrMi5oOiAgICAgY2hlY2sg
Zm9yIG1pc3NpbmcgcHJlcmVxdWlzaXRlIGhlYWRlcnM/CmNvbmZpZ3VyZToxNzk5ODogV0FSTklO
Rzogd2luc29jazIuaDogc2VlIHRoZSBBdXRvY29uZiBkb2N1bWVudGF0aW9uCmNvbmZpZ3VyZTox
Nzk5ODogV0FSTklORzogd2luc29jazIuaDogICAgIHNlY3Rpb24gIlByZXNlbnQgQnV0IENhbm5v
dCBCZSBDb21waWxlZCIKY29uZmlndXJlOjE3OTk4OiBXQVJOSU5HOiB3aW5zb2NrMi5oOiBwcm9j
ZWVkaW5nIHdpdGggdGhlIGNvbXBpbGVyJ3MgcmVzdWx0CmNvbmZpZ3VyZToxNzk5ODogY2hlY2tp
bmcgZm9yIHdpbnNvY2syLmgKY29uZmlndXJlOjE3OTk4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTox
Nzk5ODogY2hlY2tpbmcgd3MydGNwaXAuaCB1c2FiaWxpdHkKY29uZmlndXJlOjE3OTk4OiBnY2Mg
LWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL3Vzci9pbmNs
dWRlL3czMmFwaS93aW5zb2NrMi5oOjU2OjAsCiAgICAgICAgICAgICAgICAgZnJvbSAvdXNyL2lu
Y2x1ZGUvdzMyYXBpL3dzMnRjcGlwLmg6MTcsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVz
dC5jOjc5OgovdXNyL2luY2x1ZGUvdzMyYXBpL3BzZGtfaW5jL19mZF90eXBlcy5oOjEwMDoyOiB3
YXJuaW5nOiAjd2FybmluZyAiZmRfc2V0IGFuZCBhc3NvY2lhdGVkIG1hY3JvcyBoYXZlIGJlZW4g
ZGVmaW5lZCBpbiBzeXMvdHlwZXMuICAgICAgVGhpcyBjYW4gY2F1c2UgcnVudGltZSBwcm9ibGVt
cyB3aXRoIFczMiBzb2NrZXRzIiBbLVdjcHBdCiAjd2FybmluZyAiZmRfc2V0IGFuZCBhc3NvY2lh
dGVkIG1hY3JvcyBoYXZlIGJlZW4gZGVmaW5lZCBpbiBzeXMvdHlwZXMuICBcCiAgXn5+fn5+fgpJ
biBmaWxlIGluY2x1ZGVkIGZyb20gL3Vzci9pbmNsdWRlL3czMmFwaS93czJ0Y3BpcC5oOjE3OjAs
CiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc5OgovdXNyL2luY2x1ZGUvdzMyYXBp
L3dpbnNvY2syLmg6OTk1OjM0OiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdzZWxlY3Qn
CiAgIFdJTlNPQ0tfQVBJX0xJTktBR0UgaW50IFdTQUFQSSBzZWxlY3QoaW50IG5mZHMsZmRfc2V0
ICpyZWFkZmRzLGZkX3NldCAqd3JpdGVmZHMsZmRfc2V0ICpleGNlcHRmZHMsY29uc3QgUFRJTUVW
QUwgdGltZW91dCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KSW4g
ZmlsZSBpbmNsdWRlZCBmcm9tIC91c3IvaW5jbHVkZS9zeXMvdHlwZXMuaDo2ODowLAogICAgICAg
ICAgICAgICAgIGZyb20gL3Vzci9pbmNsdWRlL3N0ZGlvLmg6NjEsCiAgICAgICAgICAgICAgICAg
ZnJvbSBjb25mdGVzdC5jOjQ2OgovdXNyL2luY2x1ZGUvc3lzL3NlbGVjdC5oOjYyOjU6IG5vdGU6
IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mICdzZWxlY3QnIHdhcyBoZXJlCiBpbnQgc2VsZWN0IF9f
UCAoKGludCBfX24sIGZkX3NldCAqX19yZWFkZmRzLCBmZF9zZXQgKl9fd3JpdGVmZHMsCiAgICAg
Xn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvdXNyL2luY2x1ZGUvdzMyYXBpL3dzMnRjcGlw
Lmg6MTc6MCwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzk6Ci91c3IvaW5jbHVk
ZS93MzJhcGkvd2luc29jazIuaDoxMDA0OjM0OiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9y
ICdnZXRob3N0bmFtZScKICAgV0lOU09DS19BUElfTElOS0FHRSBpbnQgV1NBQVBJIGdldGhvc3Ru
YW1lKGNoYXIgKm5hbWUsaW50IG5hbWVsZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXn5+fn5+fn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC91c3IvaW5jbHVkZS91bmlz
dGQuaDo0OjAsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc3OgovdXNyL2luY2x1
ZGUvc3lzL3VuaXN0ZC5oOjMwMDo2OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnZ2V0
aG9zdG5hbWUnIHdhcyBoZXJlCiAgaW50IGdldGhvc3RuYW1lIChjaGFyICpfX25hbWUsIHNpemVf
dCBfX2xlbik7CiAgICAgIF5+fn5+fn5+fn5+CmNvbmZpZ3VyZToxNzk5ODogJD8gPSAxCmNvbmZp
Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB
Q0tBR0VfTkFNRSAibGlic3NoMiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlic3NoMiIK
fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiLSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJs
aWJzc2gyIC0iCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAibGlic3NoMi1kZXZlbEBjb29s
LmhheHguc2UiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAibGli
c3NoMiIKfCAjZGVmaW5lIFZFUlNJT04gIi0iCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l
IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW
RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V
TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPTkdMT05HIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05f
SCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIEhBVkVfTlRERUZfSCAx
CnwgI2RlZmluZSBIQVZFX05UU1RBVFVTX0ggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NFQ1VSRVpF
Uk9NRU1PUlkgMQp8ICNkZWZpbmUgSEFWRV9MSUJDUllQVDMyIDEKfCAjZGVmaW5lIEhBVkVfTElC
QkNSWVBUIDEKfCAjZGVmaW5lIExJQlNTSDJfV0lOQ05HIDEKfCAjZGVmaW5lIExJQlNTSDJfREhf
R0VYX05FVyAxCnwgI2RlZmluZSBMSUJTU0gyX0NMRUFSX01FTU9SWSAxCnwgI2RlZmluZSBIQVZF
X0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9f
SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8
ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8
ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfSU9DVExfSCAx
CnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9BUlBBX0lORVRfSCAx
CnwgI2RlZmluZSBIQVZFX05FVElORVRfSU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEK
fCAjZGVmaW5lIEhBVkVfV0lORE9XU19IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2lu
Y2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5
cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUg
PHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8
c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9T
VERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZk
ZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQg
SEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1
ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVk
ZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1
ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1
ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRl
IDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8d3MydGNwaXAuaD4KY29uZmlndXJlOjE3
OTk4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNzk5ODogY2hlY2tpbmcgd3MydGNwaXAuaCBwcmVz
ZW5jZQpjb25maWd1cmU6MTc5OTg6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6MTc5OTg6
ICQ/ID0gMApjb25maWd1cmU6MTc5OTg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzk5ODogV0FS
TklORzogd3MydGNwaXAuaDogcHJlc2VudCBidXQgY2Fubm90IGJlIGNvbXBpbGVkCmNvbmZpZ3Vy
ZToxNzk5ODogV0FSTklORzogd3MydGNwaXAuaDogICAgIGNoZWNrIGZvciBtaXNzaW5nIHByZXJl
cXVpc2l0ZSBoZWFkZXJzPwpjb25maWd1cmU6MTc5OTg6IFdBUk5JTkc6IHdzMnRjcGlwLmg6IHNl
ZSB0aGUgQXV0b2NvbmYgZG9jdW1lbnRhdGlvbgpjb25maWd1cmU6MTc5OTg6IFdBUk5JTkc6IHdz
MnRjcGlwLmg6ICAgICBzZWN0aW9uICJQcmVzZW50IEJ1dCBDYW5ub3QgQmUgQ29tcGlsZWQiCmNv
bmZpZ3VyZToxNzk5ODogV0FSTklORzogd3MydGNwaXAuaDogcHJvY2VlZGluZyB3aXRoIHRoZSBj
b21waWxlcidzIHJlc3VsdApjb25maWd1cmU6MTc5OTg6IGNoZWNraW5nIGZvciB3czJ0Y3BpcC5o
CmNvbmZpZ3VyZToxNzk5ODogcmVzdWx0OiBubwpjb25maWd1cmU6MTgwMTk6IGNoZWNraW5nIGZv
ciBwb2xsCmNvbmZpZ3VyZToxODAxOTogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICBjb25m
dGVzdC5jICA+JjUKY29uZmlndXJlOjE4MDE5OiAkPyA9IDAKY29uZmlndXJlOjE4MDE5OiByZXN1
bHQ6IHllcwpjb25maWd1cmU6MTgwMzQ6IGNoZWNraW5nIGZvciBnZXR0aW1lb2ZkYXkKY29uZmln
dXJlOjE4MDM0OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQpj
b25maWd1cmU6MTgwMzQ6ICQ/ID0gMApjb25maWd1cmU6MTgwMzQ6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZToxODAzNDogY2hlY2tpbmcgZm9yIHNlbGVjdApjb25maWd1cmU6MTgwMzQ6IGdjYyAtbyBj
b25mdGVzdC5leGUgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZToxODAzNDogJD8g
PSAwCmNvbmZpZ3VyZToxODAzNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE4MDM0OiBjaGVja2lu
ZyBmb3Igc3RydG9sbApjb25maWd1cmU6MTgwMzQ6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8y
ICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZToxODAzNDogJD8gPSAwCmNvbmZpZ3VyZToxODAz
NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE4MDg4OiBjaGVja2luZyBmb3Igc2l6ZV90CmNvbmZp
Z3VyZToxODA4ODogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE4MDg4
OiAkPyA9IDAKY29uZmlndXJlOjE4MDg4OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpj
b25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6ODY6MjE6IGVycm9yOiBl
eHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnKScgdG9rZW4KIGlmIChzaXplb2YgKChzaXplX3Qp
KSkKICAgICAgICAgICAgICAgICAgICAgXgpjb25maWd1cmU6MTgwODg6ICQ/ID0gMQpjb25maWd1
cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL
QUdFX05BTUUgImxpYnNzaDIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYnNzaDIiCnwg
I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIi0iCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGli
c3NoMiAtIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImxpYnNzaDItZGV2ZWxAY29vbC5o
YXh4LnNlIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImxpYnNz
aDIiCnwgI2RlZmluZSBWRVJTSU9OICItIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI
QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf
SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J
U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT05HTE9ORyAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0gg
MQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBIQVZFX05UREVGX0ggMQp8
ICNkZWZpbmUgSEFWRV9OVFNUQVRVU19IIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TRUNVUkVaRVJP
TUVNT1JZIDEKfCAjZGVmaW5lIEhBVkVfTElCQ1JZUFQzMiAxCnwgI2RlZmluZSBIQVZFX0xJQkJD
UllQVCAxCnwgI2RlZmluZSBMSUJTU0gyX1dJTkNORyAxCnwgI2RlZmluZSBMSUJTU0gyX0RIX0dF
WF9ORVcgMQp8ICNkZWZpbmUgTElCU1NIMl9DTEVBUl9NRU1PUlkgMQp8ICNkZWZpbmUgSEFWRV9F
UlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0lPQ1RMX0ggMQp8
ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfQVJQQV9JTkVUX0ggMQp8
ICNkZWZpbmUgSEFWRV9ORVRJTkVUX0lOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwg
I2RlZmluZSBIQVZFX1dJTkRPV1NfSCAxCnwgI2RlZmluZSBIQVZFX1BPTEwgMQp8ICNkZWZpbmUg
SEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFW
RV9TVFJUT0xMIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+
CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNl
bmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+Cnwg
I2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBp
bmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGlu
Y2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdf
SAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8
ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8
ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8
ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+
CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8
ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAj
ZW5kaWYKfCBpbnQKfCBtYWluICgpCnwgewp8IGlmIChzaXplb2YgKChzaXplX3QpKSkKfCAJICAg
IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTgwODg6IHJlc3Vs
dDogeWVzCmNvbmZpZ3VyZToxODEwMTogY2hlY2tpbmcgZm9yIHdvcmtpbmcgYWxsb2NhLmgKY29u
ZmlndXJlOjE4MTE4OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4m
NQpjb25maWd1cmU6MTgxMTg6ICQ/ID0gMApjb25maWd1cmU6MTgxMjY6IHJlc3VsdDogeWVzCmNv
bmZpZ3VyZToxODEzNDogY2hlY2tpbmcgZm9yIGFsbG9jYQpjb25maWd1cmU6MTgxNzE6IGdjYyAt
byBjb25mdGVzdC5leGUgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZToxODE3MTog
JD8gPSAwCmNvbmZpZ3VyZToxODE3OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE4Mjg3OiBjaGVj
a2luZyBmb3IgYW4gQU5TSSBDLWNvbmZvcm1pbmcgY29uc3QKY29uZmlndXJlOjE4MzUzOiBnY2Mg
LWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTgzNTM6ICQ/ID0gMApjb25maWd1
cmU6MTgzNjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxODM2ODogY2hlY2tpbmcgZm9yIGlubGlu
ZQpjb25maWd1cmU6MTgzODQ6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy
ZToxODM4NDogJD8gPSAwCmNvbmZpZ3VyZToxODM5MjogcmVzdWx0OiBpbmxpbmUKY29uZmlndXJl
OjE4NDEyOiBjaGVja2luZyBub24tYmxvY2tpbmcgc29ja2V0cyBzdHlsZQpjb25maWd1cmU6MTg0
NTA6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxODQ1MDogJD8gPSAw
CmNvbmZpZ3VyZToxODYxMTogcmVzdWx0OiBPX05PTkJMT0NLCmNvbmZpZ3VyZToxODc1MzogY2hl
Y2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlCmNvbmZp
Z3VyZToxODc1OTogcmVzdWx0OiBkb25lCmNvbmZpZ3VyZToxODgxNTogY3JlYXRpbmcgLi9jb25m
aWcuc3RhdHVzCgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIFJ1bm5pbmcgY29uZmln
LnN0YXR1cy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoKVGhpcyBmaWxlIHdhcyBl
eHRlbmRlZCBieSBsaWJzc2gyIGNvbmZpZy5zdGF0dXMgLSwgd2hpY2ggd2FzCmdlbmVyYXRlZCBi
eSBHTlUgQXV0b2NvbmYgMi42OS4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwoKICBDT05G
SUdfRklMRVMgICAgPSAKICBDT05GSUdfSEVBREVSUyAgPSAKICBDT05GSUdfTElOS1MgICAgPSAK
ICBDT05GSUdfQ09NTUFORFMgPSAKICAkIC4vY29uZmlnLnN0YXR1cyAKCm9uIERFU0tUT1AtT01E
TDI2UwoKY29uZmlnLnN0YXR1czoxMTc5OiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVz
OjExNzk6IGNyZWF0aW5nIHNyYy9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjExNzk6IGNyZWF0aW5n
IHRlc3RzL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MTE3OTogY3JlYXRpbmcgZXhhbXBsZS9NYWtl
ZmlsZQpjb25maWcuc3RhdHVzOjExNzk6IGNyZWF0aW5nIGRvY3MvTWFrZWZpbGUKY29uZmlnLnN0
YXR1czoxMTc5OiBjcmVhdGluZyBsaWJzc2gyLnBjCmNvbmZpZy5zdGF0dXM6MTE3OTogY3JlYXRp
bmcgc3JjL2xpYnNzaDJfY29uZmlnLmgKY29uZmlnLnN0YXR1czoxMTc5OiBjcmVhdGluZyBleGFt
cGxlL2xpYnNzaDJfY29uZmlnLmgKY29uZmlnLnN0YXR1czoxNDA4OiBleGVjdXRpbmcgZGVwZmls
ZXMgY29tbWFuZHMKY29uZmlnLnN0YXR1czoxNDA4OiBleGVjdXRpbmcgbGlidG9vbCBjb21tYW5k
cwpjb25maWd1cmU6MjA5ODQ6IHN1bW1hcnkgb2YgYnVpbGQgb3B0aW9uczoKCiAgdmVyc2lvbjog
ICAgICAgICAgMS44LjFfREVWCiAgSG9zdCB0eXBlOiAgICAgICAgaTY4Ni1wYy1tc3lzCiAgSW5z
dGFsbCBwcmVmaXg6ICAgL3VzcgogIENvbXBpbGVyOiAgICAgICAgIGdjYwogIENvbXBpbGVyIGZs
YWdzOiAgIC1nIC1PMgogIExpYnJhcnkgdHlwZXM6ICAgIFNoYXJlZD15ZXMsIFN0YXRpYz15ZXMK
ICBDcnlwdG8gbGlicmFyeTogICBXaW5kb3dzIENyeXB0b2dyYXBoeSBBUEk6IE5leHQgR2VuZXJh
dGlvbgogIENsZWFyIG1lbW9yeTogICAgIHllcwogIERlYnVnIGJ1aWxkOiAgICAgIG5vCiAgQnVp
bGQgZXhhbXBsZXM6ICAgeWVzCiAgUGF0aCB0byBzc2hkOiAgICAgIChvbmx5IGZvciBzZWxmLXRl
c3RzKQogIHpsaWIgY29tcHJlc3Npb246IGRpc2FibGVkOyBubyBsaWJ6IGZvdW5kCgoKIyMgLS0t
LS0tLS0tLS0tLS0tLSAjIwojIyBDYWNoZSB2YXJpYWJsZXMuICMjCiMjIC0tLS0tLS0tLS0tLS0t
LS0gIyMKCmFjX2N2X2J1aWxkPWk2ODYtcGMtbXN5cwphY19jdl9jX2JpZ2VuZGlhbj1ubwphY19j
dl9jX2NvbXBpbGVyX2dudT15ZXMKYWNfY3ZfY19jb25zdD15ZXMKYWNfY3ZfY19pbmxpbmU9aW5s
aW5lCmFjX2N2X2Vudl9DQ19zZXQ9CmFjX2N2X2Vudl9DQ192YWx1ZT0KYWNfY3ZfZW52X0NGTEFH
U19zZXQ9CmFjX2N2X2Vudl9DRkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9DUFBGTEFHU19zZXQ9CmFj
X2N2X2Vudl9DUFBGTEFHU192YWx1ZT0KYWNfY3ZfZW52X0NQUF9zZXQ9CmFjX2N2X2Vudl9DUFBf
dmFsdWU9CmFjX2N2X2Vudl9MREZMQUdTX3NldD0KYWNfY3ZfZW52X0xERkxBR1NfdmFsdWU9CmFj
X2N2X2Vudl9MSUJTX3NldD0KYWNfY3ZfZW52X0xJQlNfdmFsdWU9CmFjX2N2X2Vudl9MVF9TWVNf
TElCUkFSWV9QQVRIX3NldD0KYWNfY3ZfZW52X0xUX1NZU19MSUJSQVJZX1BBVEhfdmFsdWU9CmFj
X2N2X2Vudl9idWlsZF9hbGlhc19zZXQ9CmFjX2N2X2Vudl9idWlsZF9hbGlhc192YWx1ZT0KYWNf
Y3ZfZW52X2hvc3RfYWxpYXNfc2V0PQphY19jdl9lbnZfaG9zdF9hbGlhc192YWx1ZT0KYWNfY3Zf
ZW52X3RhcmdldF9hbGlhc19zZXQ9CmFjX2N2X2Vudl90YXJnZXRfYWxpYXNfdmFsdWU9CmFjX2N2
X2V4ZWV4dD0uZXhlCmFjX2N2X2Z1bmNfYWxsb2NhX3dvcmtzPXllcwphY19jdl9mdW5jX2dldHRp
bWVvZmRheT15ZXMKYWNfY3ZfZnVuY19wb2xsPXllcwphY19jdl9mdW5jX3NlbGVjdD15ZXMKYWNf
Y3ZfZnVuY19zdHJ0b2xsPXllcwphY19jdl9oYXZlX2RlY2xfU2VjdXJlWmVyb01lbW9yeT15ZXMK
YWNfY3ZfaGVhZGVyX2FycGFfaW5ldF9oPXllcwphY19jdl9oZWFkZXJfZGxmY25faD15ZXMKYWNf
Y3ZfaGVhZGVyX2Vycm5vX2g9eWVzCmFjX2N2X2hlYWRlcl9mY250bF9oPXllcwphY19jdl9oZWFk
ZXJfaW50dHlwZXNfaD15ZXMKYWNfY3ZfaGVhZGVyX21lbW9yeV9oPXllcwphY19jdl9oZWFkZXJf
bmV0aW5ldF9pbl9oPXllcwphY19jdl9oZWFkZXJfbnRkZWZfaD15ZXMKYWNfY3ZfaGVhZGVyX250
c3RhdHVzX2g9eWVzCmFjX2N2X2hlYWRlcl9zdGRjPXllcwphY19jdl9oZWFkZXJfc3RkaW50X2g9
eWVzCmFjX2N2X2hlYWRlcl9zdGRpb19oPXllcwphY19jdl9oZWFkZXJfc3RkbGliX2g9eWVzCmFj
X2N2X2hlYWRlcl9zdHJpbmdfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0cmluZ3NfaD15ZXMKYWNfY3Zf
aGVhZGVyX3N5c19pb2N0bF9oPXllcwphY19jdl9oZWFkZXJfc3lzX3NlbGVjdF9oPXllcwphY19j
dl9oZWFkZXJfc3lzX3NvY2tldF9oPXllcwphY19jdl9oZWFkZXJfc3lzX3N0YXRfaD15ZXMKYWNf
Y3ZfaGVhZGVyX3N5c190aW1lX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfdHlwZXNfaD15ZXMKYWNf
Y3ZfaGVhZGVyX3N5c191aW9faD15ZXMKYWNfY3ZfaGVhZGVyX3N5c191bl9oPXllcwphY19jdl9o
ZWFkZXJfdW5pc3RkX2g9eWVzCmFjX2N2X2hlYWRlcl93aW5kb3dzX2g9eWVzCmFjX2N2X2hlYWRl
cl93aW5zb2NrMl9oPW5vCmFjX2N2X2hlYWRlcl93czJ0Y3BpcF9oPW5vCmFjX2N2X2hvc3Q9aTY4
Ni1wYy1tc3lzCmFjX2N2X2xpYmJjcnlwdD15ZXMKYWNfY3ZfbGliY3J5cHQzMj15ZXMKYWNfY3Zf
bGliZ2NyeXB0PW5vCmFjX2N2X2xpYm1iZWRjcnlwdG89bm8KYWNfY3ZfbGlic3NsPW5vCmFjX2N2
X2xpYno9bm8KYWNfY3Zfb2JqZXh0PW8KYWNfY3ZfcGF0aF9FR1JFUD0nL3Vzci9iaW4vZ3JlcCAt
RScKYWNfY3ZfcGF0aF9GR1JFUD0nL3Vzci9iaW4vZ3JlcCAtRicKYWNfY3ZfcGF0aF9HUkVQPS91
c3IvYmluL2dyZXAKYWNfY3ZfcGF0aF9TRUQ9L3Vzci9iaW4vc2VkCmFjX2N2X3BhdGhfaW5zdGFs
bD0nL3Vzci9iaW4vaW5zdGFsbCAtYycKYWNfY3ZfcGF0aF9sdF9ERD0vdXNyL2Jpbi9kZAphY19j
dl9wYXRoX21rZGlyPS91c3IvYmluL21rZGlyCmFjX2N2X3Byb2dfQVdLPWdhd2sKYWNfY3ZfcHJv
Z19DUFA9J2djYyAtRScKYWNfY3ZfcHJvZ19hY19jdF9BUj1hcgphY19jdl9wcm9nX2FjX2N0X0FT
PWFzCmFjX2N2X3Byb2dfYWNfY3RfQ0M9Z2NjCmFjX2N2X3Byb2dfYWNfY3RfRExMVE9PTD1kbGx0
b29sCmFjX2N2X3Byb2dfYWNfY3RfT0JKRFVNUD1vYmpkdW1wCmFjX2N2X3Byb2dfYWNfY3RfUkFO
TElCPXJhbmxpYgphY19jdl9wcm9nX2FjX2N0X1NUUklQPXN0cmlwCmFjX2N2X3Byb2dfY2NfYzg5
PQphY19jdl9wcm9nX2NjX2c9eWVzCmFjX2N2X3Byb2dfbWFrZV9tYWtlX3NldD15ZXMKYWNfY3Zf
c2VhcmNoX2luZXRfYWRkcj0nbm9uZSByZXF1aXJlZCcKYWNfY3Zfc2VhcmNoX3NvY2tldD0nbm9u
ZSByZXF1aXJlZCcKYWNfY3Zfc3lzX2ZpbGVfb2Zmc2V0X2JpdHM9bm8KYWNfY3Zfc3lzX2xhcmdl
ZmlsZV9DQz1ubwphY19jdl90eXBlX2xvbmdfbG9uZz15ZXMKYWNfY3ZfdHlwZV9zaXplX3Q9eWVz
CmFjX2N2X3dvcmtpbmdfYWxsb2NhX2g9eWVzCmFjbF9jdl9oYXJkY29kZV9kaXJlY3Q9bm8KYWNs
X2N2X2hhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LXJwYXRoICR7d2x9JGxpYmRpcicK
YWNsX2N2X2hhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3I9CmFjbF9jdl9oYXJkY29kZV9taW51c19M
PW5vCmFjbF9jdl9saWJleHQ9YQphY2xfY3ZfbGlibmFtZV9zcGVjPSdsaWIkbmFtZScKYWNsX2N2
X2xpYnJhcnlfbmFtZXNfc3BlYz0KYWNsX2N2X3BhdGhfTEQ9L3Vzci9pNjg2LXBjLW1zeXMvYmlu
L2xkLmV4ZQphY2xfY3ZfcHJvZ19nbnVfbGQ9eWVzCmFjbF9jdl9ycGF0aD1kb25lCmFjbF9jdl9z
aGxpYmV4dD1zbwphY2xfY3Zfd2w9LVdsLAphbV9jdl9DQ19kZXBlbmRlbmNpZXNfY29tcGlsZXJf
dHlwZT1nY2MzCmFtX2N2X21ha2Vfc3VwcG9ydF9uZXN0ZWRfdmFyaWFibGVzPXllcwphbV9jdl9w
cm9nX2NjX2Nfbz15ZXMKbHRfY3ZfYXJfYXRfZmlsZT1ACmx0X2N2X2FyY2hpdmVfY21kc19uZWVk
X2xjPXllcwpsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZD0nZmlsZV9tYWdpYyBeeDg2IGFyY2hp
dmUgaW1wb3J0fF54ODYgRExMJwpsdF9jdl9maWxlX21hZ2ljX2NtZD1mdW5jX3dpbjMyX2xpYmlk
Cmx0X2N2X2ZpbGVfbWFnaWNfdGVzdF9maWxlPQpsdF9jdl9sZF9yZWxvYWRfZmxhZz0tcgpsdF9j
dl9ubV9pbnRlcmZhY2U9J0JTRCBubScKbHRfY3Zfb2JqZGlyPS5saWJzCmx0X2N2X3BhdGhfTEQ9
L3Vzci9pNjg2LXBjLW1zeXMvYmluL2xkLmV4ZQpsdF9jdl9wYXRoX05NPScvdXNyL2Jpbi9ubSAt
QicKbHRfY3ZfcGF0aF9tYWluZmVzdF90b29sPW5vCmx0X2N2X3Byb2dfY29tcGlsZXJfY19vPXll
cwpsdF9jdl9wcm9nX2NvbXBpbGVyX3BpYz0nLURETExfRVhQT1JUIC1EUElDJwpsdF9jdl9wcm9n
X2NvbXBpbGVyX3BpY193b3Jrcz15ZXMKbHRfY3ZfcHJvZ19jb21waWxlcl9ydHRpX2V4Y2VwdGlv
bnM9bm8KbHRfY3ZfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3M9eWVzCmx0X2N2X3Byb2dfZ251
X2xkPXllcwpsdF9jdl9zaGFyZWRsaWJfZnJvbV9saW5rbGliX2NtZD1mdW5jX2N5Z21pbmdfZGxs
X2Zvcl9pbXBsaWIKbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZT0nc2VkIC1uIC1lICdcJydz
L14uKlsJIF1cKFtBQkNER0lSU1RXXVtBQkNER0lSU1RXXSpcKVsJIF1bCSBdKl9cKFtfQS1aYS16
XVtfQS1aYS16MC05XSpcKSQvXDEgX1wyIFwyL3AnXCcnIHwgc2VkICdcJycvIF9fZ251X2x0by9k
J1wnJycKbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9J3NlZCAtbiAt
ZSAnXCcncy9eOiBcKC4qXCkgLiokLyAgeyJcMSIsICh2b2lkICopIDB9LC9wJ1wnJyAtZSAnXCcn
cy9eW0FCQ0RHSVJTVFddW0FCQ0RHSVJTVFddKiAuKiBcKC4qXCkkLyAgeyJcMSIsICh2b2lkICop
IFwmXDF9LC9wJ1wnJycKbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3Nf
bGliX3ByZWZpeD0nc2VkIC1uIC1lICdcJydzL146IFwoLipcKSAuKiQvICB7IlwxIiwgKHZvaWQg
KikgMH0sL3AnXCcnIC1lICdcJydzL15bQUJDREdJUlNUV11bQUJDREdJUlNUV10qIC4qIFwobGli
LipcKSQvICB7IlwxIiwgKHZvaWQgKikgXCZcMX0sL3AnXCcnIC1lICdcJydzL15bQUJDREdJUlNU
V11bQUJDREdJUlNUV10qIC4qIFwoLipcKSQvICB7ImxpYlwxIiwgKHZvaWQgKikgXCZcMX0sL3An
XCcnJwpsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbD0nc2VkIC1uIC1lICdcJydzL15U
IC4qIFwoLipcKSQvZXh0ZXJuIGludCBcMSgpOy9wJ1wnJyAtZSAnXCcncy9eW0FCQ0RHSVJTVFdd
W0FCQ0RHSVJTVFddKiAuKiBcKC4qXCkkL2V4dGVybiBjaGFyIFwxOy9wJ1wnJycKbHRfY3Zfc3lz
X2dsb2JhbF9zeW1ib2xfdG9faW1wb3J0PQpsdF9jdl9zeXNfbWF4X2NtZF9sZW49ODE5MgpsdF9j
dl90b19ob3N0X2ZpbGVfY21kPWZ1bmNfY29udmVydF9maWxlX25vb3AKbHRfY3ZfdG9fdG9vbF9m
aWxlX2NtZD1mdW5jX2NvbnZlcnRfZmlsZV9ub29wCmx0X2N2X3RydW5jYXRlX2Jpbj0nL3Vzci9i
aW4vZGQgYnM9NDA5NiBjb3VudD0xJwoKIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgT3V0cHV0
IHZhcmlhYmxlcy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKCkFDTE9DQUw9JyR7U0hFTEx9
IC9kL01pbGluZC9Eb3dubG9hZHMvbGlic3NoMi9taXNzaW5nIGFjbG9jYWwtMS4xNScKQUxMT0NB
PScnCkFNREVQQkFDS1NMQVNIPSdcJwpBTURFUF9GQUxTRT0nIycKQU1ERVBfVFJVRT0nJwpBTVRB
Uj0nJCR7VEFSLXRhcn0nCkFNX0JBQ0tTTEFTSD0nXCcKQU1fREVGQVVMVF9WPSckKEFNX0RFRkFV
TFRfVkVSQk9TSVRZKScKQU1fREVGQVVMVF9WRVJCT1NJVFk9JzAnCkFNX1Y9JyQoViknCkFSPSdh
cicKQVM9J2FzJwpBVVRPQ09ORj0nJHtTSEVMTH0gL2QvTWlsaW5kL0Rvd25sb2Fkcy9saWJzc2gy
L21pc3NpbmcgYXV0b2NvbmYnCkFVVE9IRUFERVI9JyR7U0hFTEx9IC9kL01pbGluZC9Eb3dubG9h
ZHMvbGlic3NoMi9taXNzaW5nIGF1dG9oZWFkZXInCkFVVE9NQUtFPScke1NIRUxMfSAvZC9NaWxp
bmQvRG93bmxvYWRzL2xpYnNzaDIvbWlzc2luZyBhdXRvbWFrZS0xLjE1JwpBV0s9J2dhd2snCkJV
SUxEX0VYQU1QTEVTX0ZBTFNFPScjJwpCVUlMRF9FWEFNUExFU19UUlVFPScnCkNDPSdnY2MnCkND
REVQTU9ERT0nZGVwbW9kZT1nY2MzJwpDRkxBR1M9Jy1nIC1PMicKQ1BQPSdnY2MgLUUnCkNQUEZM
QUdTPScnCkNZR1BBVEhfVz0nY3lncGF0aCAtdycKREVGUz0nLURIQVZFX0NPTkZJR19IJwpERVBE
SVI9Jy5kZXBzJwpETExUT09MPSdkbGx0b29sJwpEU1lNVVRJTD0nJwpEVU1QQklOPScnCkVDSE9f
Qz0nJwpFQ0hPX049Jy1uJwpFQ0hPX1Q9JycKRUdSRVA9Jy91c3IvYmluL2dyZXAgLUUnCkVYRUVY
VD0nLmV4ZScKRkdSRVA9Jy91c3IvYmluL2dyZXAgLUYnCkdSRVA9Jy91c3IvYmluL2dyZXAnCkhB
VkVfTElCQkNSWVBUPSd5ZXMnCkhBVkVfTElCQ1JZUFQzMj0neWVzJwpIQVZFX0xJQkdDUllQVD0n
bm8nCkhBVkVfTElCTUJFRENSWVBUTz0nbm8nCkhBVkVfTElCU1NMPSdubycKSEFWRV9MSUJaPSdu
bycKSEFWRV9TWVNfVU5fSF9GQUxTRT0nIycKSEFWRV9TWVNfVU5fSF9UUlVFPScnCklOU1RBTExf
REFUQT0nJHtJTlNUQUxMfSAtbSA2NDQnCklOU1RBTExfUFJPR1JBTT0nJHtJTlNUQUxMfScKSU5T
VEFMTF9TQ1JJUFQ9JyR7SU5TVEFMTH0nCklOU1RBTExfU1RSSVBfUFJPR1JBTT0nJChpbnN0YWxs
X3NoKSAtYyAtcycKTEQ9Jy91c3IvaTY4Ni1wYy1tc3lzL2Jpbi9sZC5leGUnCkxERkxBR1M9JycK
TElCQkNSWVBUPSctbGJjcnlwdCcKTElCQkNSWVBUX1BSRUZJWD0nJwpMSUJDUllQVDMyPSctbGNy
eXB0MzInCkxJQkNSWVBUMzJfUFJFRklYPScnCkxJQkdDUllQVD0nJwpMSUJHQ1JZUFRfRkFMU0U9
JycKTElCR0NSWVBUX1BSRUZJWD0nJwpMSUJHQ1JZUFRfVFJVRT0nIycKTElCTUJFRENSWVBUTz0n
JwpMSUJNQkVEQ1JZUFRPX1BSRUZJWD0nJwpMSUJPQkpTPScnCkxJQlM9JycKTElCU1JFUVVJUkVE
PScnCkxJQlNTSDJWRVI9JzEuOC4xX0RFVicKTElCU1NMPScnCkxJQlNTTF9QUkVGSVg9JycKTElC
VE9PTD0nJChTSEVMTCkgJCh0b3BfYnVpbGRkaXIpL2xpYnRvb2wnCkxJQlo9JycKTElCWl9QUkVG
SVg9JycKTElQTz0nJwpMTl9TPSdjcCAtcFInCkxUTElCQkNSWVBUPSctbGJjcnlwdCcKTFRMSUJD
UllQVDMyPSctbGNyeXB0MzInCkxUTElCR0NSWVBUPScnCkxUTElCTUJFRENSWVBUTz0nJwpMVExJ
Qk9CSlM9JycKTFRMSUJTU0w9JycKTFRMSUJaPScnCkxUX1NZU19MSUJSQVJZX1BBVEg9JycKTUFJ
TlQ9JyMnCk1BSU5UQUlORVJfTU9ERV9GQUxTRT0nJwpNQUlOVEFJTkVSX01PREVfVFJVRT0nIycK
TUFLRUlORk89JyR7U0hFTEx9IC9kL01pbGluZC9Eb3dubG9hZHMvbGlic3NoMi9taXNzaW5nIG1h
a2VpbmZvJwpNQU5JRkVTVF9UT09MPSc6JwpNQkVEVExTX0ZBTFNFPScnCk1CRURUTFNfVFJVRT0n
IycKTUtESVJfUD0nL3Vzci9iaW4vbWtkaXIgLXAnCk5NPScvdXNyL2Jpbi9ubSAtQicKTk1FRElU
PScnCk9CSkRVTVA9J29iamR1bXAnCk9CSkVYVD0nbycKT1BFTlNTTF9GQUxTRT0nJwpPUEVOU1NM
X1RSVUU9JyMnCk9UT09MNjQ9JycKT1RPT0w9JycKUEFDS0FHRT0nbGlic3NoMicKUEFDS0FHRV9C
VUdSRVBPUlQ9J2xpYnNzaDItZGV2ZWxAY29vbC5oYXh4LnNlJwpQQUNLQUdFX05BTUU9J2xpYnNz
aDInClBBQ0tBR0VfU1RSSU5HPSdsaWJzc2gyIC0nClBBQ0tBR0VfVEFSTkFNRT0nbGlic3NoMicK
UEFDS0FHRV9VUkw9JycKUEFDS0FHRV9WRVJTSU9OPSctJwpQQVRIX1NFUEFSQVRPUj0nOicKUkFO
TElCPSdyYW5saWInClNFRD0nL3Vzci9iaW4vc2VkJwpTRVRfTUFLRT0nJwpTSEVMTD0nL2Jpbi9z
aCcKU1NIRD0nJwpTU0hEX0ZBTFNFPScnClNTSERfVFJVRT0nIycKU1RSSVA9J3N0cmlwJwpWRVJT
SU9OPSctJwpXSU5DTkdfRkFMU0U9JyMnCldJTkNOR19UUlVFPScnCmFjX2N0X0FSPSdhcicKYWNf
Y3RfQ0M9J2djYycKYWNfY3RfRFVNUEJJTj0nJwphbV9fRVhFRVhUX0ZBTFNFPScjJwphbV9fRVhF
RVhUX1RSVUU9JycKYW1fX2Zhc3RkZXBDQ19GQUxTRT0nIycKYW1fX2Zhc3RkZXBDQ19UUlVFPScn
CmFtX19pbmNsdWRlPSdpbmNsdWRlJwphbV9faXNyYz0nJwphbV9fbGVhZGluZ19kb3Q9Jy4nCmFt
X19ub2RlcD0nX25vJwphbV9fcXVvdGU9JycKYW1fX3Rhcj0nJCR7VEFSLXRhcn0gY2hvZiAtICIk
JHRhcmRpciInCmFtX191bnRhcj0nJCR7VEFSLXRhcn0geGYgLScKYmluZGlyPScke2V4ZWNfcHJl
Zml4fS9iaW4nCmJ1aWxkPSdpNjg2LXBjLW1zeXMnCmJ1aWxkX2FsaWFzPSdpNjg2LXBjLW1zeXMn
CmJ1aWxkX2NwdT0naTY4NicKYnVpbGRfb3M9J21zeXMnCmJ1aWxkX3ZlbmRvcj0ncGMnCmRhdGFk
aXI9JyR7ZGF0YXJvb3RkaXJ9JwpkYXRhcm9vdGRpcj0nJHtwcmVmaXh9L3NoYXJlJwpkb2NkaXI9
JyR7ZGF0YXJvb3RkaXJ9L2RvYy8ke1BBQ0tBR0VfVEFSTkFNRX0nCmR2aWRpcj0nJHtkb2NkaXJ9
JwpleGVjX3ByZWZpeD0nJHtwcmVmaXh9Jwpob3N0PSdpNjg2LXBjLW1zeXMnCmhvc3RfYWxpYXM9
JycKaG9zdF9jcHU9J2k2ODYnCmhvc3Rfb3M9J21zeXMnCmhvc3RfdmVuZG9yPSdwYycKaHRtbGRp
cj0nJHtkb2NkaXJ9JwppbmNsdWRlZGlyPScke3ByZWZpeH0vaW5jbHVkZScKaW5mb2Rpcj0nJHtk
YXRhcm9vdGRpcn0vaW5mbycKaW5zdGFsbF9zaD0nJHtTSEVMTH0gL2QvTWlsaW5kL0Rvd25sb2Fk
cy9saWJzc2gyL2luc3RhbGwtc2gnCmxpYmRpcj0nJHtleGVjX3ByZWZpeH0vbGliJwpsaWJleGVj
ZGlyPScke2V4ZWNfcHJlZml4fS9saWJleGVjJwpsb2NhbGVkaXI9JyR7ZGF0YXJvb3RkaXJ9L2xv
Y2FsZScKbG9jYWxzdGF0ZWRpcj0nJHtwcmVmaXh9L3ZhcicKbWFuZGlyPScke2RhdGFyb290ZGly
fS9tYW4nCm1rZGlyX3A9JyQoTUtESVJfUCknCm9sZGluY2x1ZGVkaXI9Jy91c3IvaW5jbHVkZScK
cGRmZGlyPScke2RvY2Rpcn0nCnByZWZpeD0nL3VzcicKcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZT0n
cyx4LHgsJwpwc2Rpcj0nJHtkb2NkaXJ9JwpzYmluZGlyPScke2V4ZWNfcHJlZml4fS9zYmluJwpz
aGFyZWRzdGF0ZWRpcj0nJHtwcmVmaXh9L2NvbScKc3lzY29uZmRpcj0nJHtwcmVmaXh9L2V0YycK
dGFyZ2V0X2FsaWFzPScnCgojIyAtLS0tLS0tLS0tLSAjIwojIyBjb25mZGVmcy5oLiAjIwojIyAt
LS0tLS0tLS0tLSAjIwoKLyogY29uZmRlZnMuaCAqLwojZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGli
c3NoMiIKI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYnNzaDIiCiNkZWZpbmUgUEFDS0FHRV9W
RVJTSU9OICItIgojZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJzc2gyIC0iCiNkZWZpbmUgUEFD
S0FHRV9CVUdSRVBPUlQgImxpYnNzaDItZGV2ZWxAY29vbC5oYXh4LnNlIgojZGVmaW5lIFBBQ0tB
R0VfVVJMICIiCiNkZWZpbmUgUEFDS0FHRSAibGlic3NoMiIKI2RlZmluZSBWRVJTSU9OICItIgoj
ZGVmaW5lIFNURENfSEVBREVSUyAxCiNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCiNkZWZpbmUg
SEFWRV9TWVNfU1RBVF9IIDEKI2RlZmluZSBIQVZFX1NURExJQl9IIDEKI2RlZmluZSBIQVZFX1NU
UklOR19IIDEKI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx
CiNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKI2RlZmluZSBIQVZFX1NURElOVF9IIDEKI2RlZmlu
ZSBIQVZFX1VOSVNURF9IIDEKI2RlZmluZSBIQVZFX0xPTkdMT05HIDEKI2RlZmluZSBIQVZFX0RM
RkNOX0ggMQojZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgojZGVmaW5lIEhBVkVfTlRERUZfSCAx
CiNkZWZpbmUgSEFWRV9OVFNUQVRVU19IIDEKI2RlZmluZSBIQVZFX0RFQ0xfU0VDVVJFWkVST01F
TU9SWSAxCiNkZWZpbmUgSEFWRV9MSUJDUllQVDMyIDEKI2RlZmluZSBIQVZFX0xJQkJDUllQVCAx
CiNkZWZpbmUgTElCU1NIMl9XSU5DTkcgMQojZGVmaW5lIExJQlNTSDJfREhfR0VYX05FVyAxCiNk
ZWZpbmUgTElCU1NIMl9DTEVBUl9NRU1PUlkgMQojZGVmaW5lIEhBVkVfRVJSTk9fSCAxCiNkZWZp
bmUgSEFWRV9GQ05UTF9IIDEKI2RlZmluZSBIQVZFX1NURElPX0ggMQojZGVmaW5lIEhBVkVfU1RE
TElCX0ggMQojZGVmaW5lIEhBVkVfVU5JU1REX0ggMQojZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEK
I2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCiNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQoj
ZGVmaW5lIEhBVkVfU1lTX0lPQ1RMX0ggMQojZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCiNkZWZp
bmUgSEFWRV9BUlBBX0lORVRfSCAxCiNkZWZpbmUgSEFWRV9ORVRJTkVUX0lOX0ggMQojZGVmaW5l
IEhBVkVfU1lTX1VOX0ggMQojZGVmaW5lIEhBVkVfV0lORE9XU19IIDEKI2RlZmluZSBIQVZFX1BP
TEwgMQojZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKI2RlZmluZSBIQVZFX1NFTEVDVCAxCiNk
ZWZpbmUgSEFWRV9TVFJUT0xMIDEKI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKI2RlZmluZSBIQVZF
X0FMTE9DQSAxCiNkZWZpbmUgSEFWRV9PX05PTkJMT0NLIDEKCmNvbmZpZ3VyZTogZXhpdCAwCg==
--000000000000a767320571687cfe
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlic3NoMi1k
ZXZlbCBodHRwczovL2Nvb2wuaGF4eC5zZS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vbGlic3No
Mi1kZXZlbAo=

--000000000000a767320571687cfe--

From libssh2-devel-bounces@cool.haxx.se  Fri Jul 20 14:51:58 2018
Return-Path: <libssh2-devel-bounces@cool.haxx.se>
Received: from www.haxx.se (mail [127.0.0.1])
	by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTP id w6KCpZDC030139;
	Fri, 20 Jul 2018 14:51:54 +0200
Received: from giant.haxx.se (mail [127.0.0.1])
 by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTPS id w6KCpXY5030134
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT)
 for <libssh2-devel@cool.haxx.se>; Fri, 20 Jul 2018 14:51:33 +0200
Received: from localhost (dast@localhost)
 by giant.haxx.se (8.15.2/8.15.2/Submit) with ESMTP id w6KCpXex030130
 for <libssh2-devel@cool.haxx.se>; Fri, 20 Jul 2018 14:51:33 +0200
X-Authentication-Warning: giant.haxx.se: dast owned process doing -bs
Date: Fri, 20 Jul 2018 14:51:33 +0200 (CEST)
From: Daniel Stenberg <daniel@haxx.se>
X-X-Sender: dast@giant.haxx.se
To: libssh2 development <libssh2-devel@cool.haxx.se>
Subject: Re: Windows compilation help
In-Reply-To: <CAOjR7AS3g5SMb6bSmXzqQkya2rA6b_emi-Vj0vxaDvnNh_uVZA@mail.gmail.com>
Message-ID: <alpine.DEB.2.20.1807201449320.28629@tvnag.unkk.fr>
References: <CAOjR7ASr3O+hj0eakYUwL=DHBOuUC_c-DAv6QgwN4QhQUvU58A@mail.gmail.com>
 <20180719184814.GA22595@coneharvesters.com>
 <CAOjR7AS3g5SMb6bSmXzqQkya2rA6b_emi-Vj0vxaDvnNh_uVZA@mail.gmail.com>
User-Agent: Alpine 2.20 (DEB 67 2015-01-07)
X-fromdanielhimself: yes
MIME-Version: 1.0
X-BeenThere: libssh2-devel@cool.haxx.se
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: libssh2 development <libssh2-devel.cool.haxx.se>
List-Unsubscribe: <https://cool.haxx.se/cgi-bin/mailman/options/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=unsubscribe>
List-Archive: <http://cool.haxx.se/pipermail/libssh2-devel/>
List-Post: <mailto:libssh2-devel@cool.haxx.se>
List-Help: <mailto:libssh2-devel-request@cool.haxx.se?subject=help>
List-Subscribe: <https://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=subscribe>
Reply-To: libssh2 development <libssh2-devel@cool.haxx.se>
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: libssh2-devel-bounces@cool.haxx.se
Sender: "libssh2-devel" <libssh2-devel-bounces@cool.haxx.se>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from base64 to 8bit by giant.haxx.se id w6KCpZDC030139

On Thu, 19 Jul 2018, Milind Gupta wrote:

> In file included from conftest.c:79:0: 
> /usr/include/w32api/winsock2.h:1004:34: error: conflicting types for 
> 'gethostname'
>   WINSOCK_API_LINKAGE int WSAAPI gethostname(char *name,int namelen);
>
> I have attached the config.log file. I found a similar error reported for 
> imagemagick and I think they did a patch for it.

Your compiler found two conflicting declarations of gethostname(). That seems 
like a problem that's not up to libssh2 to fix...

-- 

  / daniel.haxx.se
_______________________________________________
libssh2-devel https://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

From libssh2-devel-bounces@cool.haxx.se  Fri Jul 20 15:34:54 2018
Return-Path: <libssh2-devel-bounces@cool.haxx.se>
Received: from www.haxx.se (mail [127.0.0.1])
	by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTP id w6KDYa0n032475;
	Fri, 20 Jul 2018 15:34:49 +0200
Received: from foo.stuge.se (foo.stuge.se [212.116.89.98])
 by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTPS id w6KDYY3K032378
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT)
 for <libssh2-devel@cool.haxx.se>; Fri, 20 Jul 2018 15:34:35 +0200
Received: (qmail 18569 invoked by uid 1000); 20 Jul 2018 13:34:30 -0000
Message-ID: <20180720133430.18568.qmail@stuge.se>
Date: Fri, 20 Jul 2018 13:34:30 +0000
From: Peter Stuge <peter@stuge.se>
To: libssh2 development <libssh2-devel@cool.haxx.se>
Subject: Re: Windows compilation help
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.20.1807201449320.28629@tvnag.unkk.fr>
 <CAOjR7AS3g5SMb6bSmXzqQkya2rA6b_emi-Vj0vxaDvnNh_uVZA@mail.gmail.com>
X-BeenThere: libssh2-devel@cool.haxx.se
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: libssh2 development <libssh2-devel.cool.haxx.se>
List-Unsubscribe: <https://cool.haxx.se/cgi-bin/mailman/options/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=unsubscribe>
List-Archive: <http://cool.haxx.se/pipermail/libssh2-devel/>
List-Post: <mailto:libssh2-devel@cool.haxx.se>
List-Help: <mailto:libssh2-devel-request@cool.haxx.se?subject=help>
List-Subscribe: <https://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=subscribe>
Reply-To: libssh2 development <libssh2-devel@cool.haxx.se>
Content-Type: text/plain; charset="utf-8"
Errors-To: libssh2-devel-bounces@cool.haxx.se
Sender: "libssh2-devel" <libssh2-devel-bounces@cool.haxx.se>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from base64 to 8bit by giant.haxx.se id w6KDYa0n032475

Milind Gupta wrote:
> I have attached the config.log file.

Great that you included the complete config.log file! Thanks. This
was absolutely neccessary in order to recognize the actual problem.


Daniel Stenberg wrote:
> Your compiler found two conflicting declarations of gethostname().
> That seems like a problem that's not up to libssh2 to fix...

The problem isn't just with gethostname() but also with other
functions, including select().


Various headers in /usr/include in the environment where you invoked
configure are incompatible with the MSYS headers in
/usr/i686-pc-msys/include in that same environment.

If this is not an error with your system and/or environment and you
want to build for MSYS then you actually want to cross-compile
libssh2, which is supported, but you have to be explicit about that
when invoking configure.

That could look like so: (This is just an example, you have to know
what is appropriate for your environment.)

./configure --host=i686-pc-msys

The key here is that your cross-compiler toolchain (MSYS gcc and
binutils) executables have an i686-pc-msys- filename prefix. So if
this is the correct prefix then you should be able to invoke e.g.
i686-pc-msys-gcc and i686-pc-msys-ld.


//Peter
_______________________________________________
libssh2-devel https://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

From libssh2-devel-bounces@cool.haxx.se  Wed Jul 25 09:57:11 2018
Return-Path: <libssh2-devel-bounces@cool.haxx.se>
Received: from www.haxx.se (mail [127.0.0.1])
	by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTP id w6P7uT6S004527;
	Wed, 25 Jul 2018 09:56:59 +0200
Received: from mail-qt0-x233.google.com (mail-qt0-x233.google.com
 [IPv6:2607:f8b0:400d:c0d:0:0:0:233])
 by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTPS id w6P7uQSR004354
 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
 for <libssh2-devel@cool.haxx.se>; Wed, 25 Jul 2018 09:56:26 +0200
Received: by mail-qt0-x233.google.com with SMTP id b15-v6so6747208qtp.11
 for <libssh2-devel@cool.haxx.se>; Wed, 25 Jul 2018 00:56:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to;
 bh=ZHCK4j71QsXHyYg3JsZlpYL22ortzjbVTmMalW7xPJk=;
 b=NcdELtuxBssAZTychtkOy3WpDLW7JEhXJyJmIhSbFJjdr4TVQZwOBWw7Y1D6QYe+uv
 1CTpUYZHITKFYKhHVJbd1Qs/D+3OcV37y/VnTVLvG7C01ZPHPA1odggZqDw/0WN15teM
 zklY1tcPWXbR4A4QBgeVH+pkt7/Pr5YADCd3hOLM0zszO30Nv4MEon05ZBJsysJrbaKZ
 CmHk12uzTFpOsdj/JBKtX+cMoM5RpPOycUA/5gsVPwKatveQ6V4kftCU6sa6zgXwTung
 2N8WPj4ffgrTI6HUXTn1C90zQ5lJByiGWMbgWZMvAcjVRZMznOzNrd6LHC9v2ZhqzGaK
 VY9Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to;
 bh=ZHCK4j71QsXHyYg3JsZlpYL22ortzjbVTmMalW7xPJk=;
 b=bzuLNRo6VYRnCBnBvOgHwOjnUdXVzEEdpAQscG2WTmfO86JwhFwWKPl72arQP5Oabp
 O1SJfP/0otcbJnlc7ZUsNOWsIPGddHVOkEpn1+ZGDqdaX21xC29oJ7U3xLPvnw/TWO5D
 3ZU6OQQ6j02/K3wjqqT6zZ+AFaV8uupjsGpo/9edOxNf/VBn2RWkZIXXNf91JU1bRe5I
 UvcvRUbbR/r5QKnHVlUow20yeu6+uDLrXk+i288OdiW07bACKujY5wCixHlP3ASOwXrs
 qhMg/tMpnsQ7XFOIhD0ScefKcNAHG3FvHrmlt3N1+r68zgueh9IILH8ZcLJcmLLWvaVb
 UDyQ==
X-Gm-Message-State: AOUpUlGTSXJ14bYAQZHhZ2ZbWIMACs9FxgywWJqDDJQ9JXu6oLdrlxlT
 gQGkkbOL0kQKuuDZCXZr0sJ4COBaZxW43s7cg+Ddrg==
X-Google-Smtp-Source: AAOMgpfTNUWc0aUE3IxYmXnGy4gsmv/0xngmjG8DHcB6siBvYm5NuASinPoLm7rvxT0z/NZ5JyzdKYh7ekKf/1P9kqE=
X-Received: by 2002:ac8:193a:: with SMTP id
 t55-v6mr18675456qtj.251.1532505380704; 
 Wed, 25 Jul 2018 00:56:20 -0700 (PDT)
MIME-Version: 1.0
References: <alpine.DEB.2.20.1807201449320.28629@tvnag.unkk.fr>
 <CAOjR7AS3g5SMb6bSmXzqQkya2rA6b_emi-Vj0vxaDvnNh_uVZA@mail.gmail.com>
 <20180720133430.18568.qmail@stuge.se>
In-Reply-To: <20180720133430.18568.qmail@stuge.se>
From: Milind Gupta <milind.gupta@gmail.com>
Date: Wed, 25 Jul 2018 00:56:10 -0700
Message-ID: <CAOjR7AQ1dffgvFRcsvqWXMbaQ0CVUr8TYLCCoXCnbqMjJj7R7g@mail.gmail.com>
Subject: Re: Windows compilation help
To: libssh2-devel@cool.haxx.se
X-BeenThere: libssh2-devel@cool.haxx.se
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: libssh2 development <libssh2-devel.cool.haxx.se>
List-Unsubscribe: <https://cool.haxx.se/cgi-bin/mailman/options/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=unsubscribe>
List-Archive: <http://cool.haxx.se/pipermail/libssh2-devel/>
List-Post: <mailto:libssh2-devel@cool.haxx.se>
List-Help: <mailto:libssh2-devel-request@cool.haxx.se?subject=help>
List-Subscribe: <https://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=subscribe>
Reply-To: libssh2 development <libssh2-devel@cool.haxx.se>
Content-Type: multipart/mixed; boundary="===============0515761742=="
Errors-To: libssh2-devel-bounces@cool.haxx.se
Sender: "libssh2-devel" <libssh2-devel-bounces@cool.haxx.se>

--===============0515761742==
Content-Type: multipart/alternative; boundary="000000000000d558070571ce36f4"

--000000000000d558070571ce36f4
Content-Type: text/plain; charset="UTF-8"

Hi Peter,
              Thank you very much for your reply. That helped me understand
the problem better. I alternatively tried compiling using Cmake and was
able to get it to compile easily.

Thanks,
Milind

On Fri, Jul 20, 2018 at 6:36 AM Peter Stuge <peter@stuge.se> wrote:

> Milind Gupta wrote:
> > I have attached the config.log file.
>
> Great that you included the complete config.log file! Thanks. This
> was absolutely neccessary in order to recognize the actual problem.
>
>
> Daniel Stenberg wrote:
> > Your compiler found two conflicting declarations of gethostname().
> > That seems like a problem that's not up to libssh2 to fix...
>
> The problem isn't just with gethostname() but also with other
> functions, including select().
>
>
> Various headers in /usr/include in the environment where you invoked
> configure are incompatible with the MSYS headers in
> /usr/i686-pc-msys/include in that same environment.
>
> If this is not an error with your system and/or environment and you
> want to build for MSYS then you actually want to cross-compile
> libssh2, which is supported, but you have to be explicit about that
> when invoking configure.
>
> That could look like so: (This is just an example, you have to know
> what is appropriate for your environment.)
>
> ./configure --host=i686-pc-msys
>
> The key here is that your cross-compiler toolchain (MSYS gcc and
> binutils) executables have an i686-pc-msys- filename prefix. So if
> this is the correct prefix then you should be able to invoke e.g.
> i686-pc-msys-gcc and i686-pc-msys-ld.
>
>
> //Peter
> _______________________________________________
> libssh2-devel https://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel
>

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

<div dir=3D"ltr">Hi Peter,<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 Thank you very much for your reply. That helped me understand the pr=
oblem better. I alternatively tried compiling using Cmake and was able to g=
et it to compile easily.</div><div><br></div><div>Thanks,</div><div>Milind<=
/div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr">On Fri, Jul 20, =
2018 at 6:36 AM Peter Stuge &lt;<a href=3D"mailto:peter@stuge.se">peter@stu=
ge.se</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"ma=
rgin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Milind Gupta w=
rote:<br>
&gt; I have attached the config.log file.<br>
<br>
Great that you included the complete config.log file! Thanks. This<br>
was absolutely neccessary in order to recognize the actual problem.<br>
<br>
<br>
Daniel Stenberg wrote:<br>
&gt; Your compiler found two conflicting declarations of gethostname().<br>
&gt; That seems like a problem that&#39;s not up to libssh2 to fix...<br>
<br>
The problem isn&#39;t just with gethostname() but also with other<br>
functions, including select().<br>
<br>
<br>
Various headers in /usr/include in the environment where you invoked<br>
configure are incompatible with the MSYS headers in<br>
/usr/i686-pc-msys/include in that same environment.<br>
<br>
If this is not an error with your system and/or environment and you<br>
want to build for MSYS then you actually want to cross-compile<br>
libssh2, which is supported, but you have to be explicit about that<br>
when invoking configure.<br>
<br>
That could look like so: (This is just an example, you have to know<br>
what is appropriate for your environment.)<br>
<br>
./configure --host=3Di686-pc-msys<br>
<br>
The key here is that your cross-compiler toolchain (MSYS gcc and<br>
binutils) executables have an i686-pc-msys- filename prefix. So if<br>
this is the correct prefix then you should be able to invoke e.g.<br>
i686-pc-msys-gcc and i686-pc-msys-ld.<br>
<br>
<br>
//Peter<br>
_______________________________________________<br>
libssh2-devel <a href=3D"https://cool.haxx.se/cgi-bin/mailman/listinfo/libs=
sh2-devel" rel=3D"noreferrer" target=3D"_blank">https://cool.haxx.se/cgi-bi=
n/mailman/listinfo/libssh2-devel</a><br>
</blockquote></div>

--000000000000d558070571ce36f4--

--===============0515761742==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlic3NoMi1k
ZXZlbCBodHRwczovL2Nvb2wuaGF4eC5zZS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vbGlic3No
Mi1kZXZlbAo=

--===============0515761742==--

