From unknown Sun Jun 15 08:15:07 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20145: (guix build download) leaks file descriptor on TLS connections Resent-From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Thu, 19 Mar 2015 18:17:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 20145 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 20145@debbugs.gnu.org X-Debbugs-Original-To: bug-guix@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.142678899530748 (code B ref -1); Thu, 19 Mar 2015 18:17:01 +0000 Received: (at submit) by debbugs.gnu.org; 19 Mar 2015 18:16:35 +0000 Received: from localhost ([127.0.0.1]:53306 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YYezi-0007zq-Ud for submit@debbugs.gnu.org; Thu, 19 Mar 2015 14:16:35 -0400 Received: from eggs.gnu.org ([208.118.235.92]:33076) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YYezh-0007zi-A8 for submit@debbugs.gnu.org; Thu, 19 Mar 2015 14:16:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YYezf-00081Y-VJ for submit@debbugs.gnu.org; Thu, 19 Mar 2015 14:16:33 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:42395) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YYezf-00081U-S4 for submit@debbugs.gnu.org; Thu, 19 Mar 2015 14:16:31 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34795) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YYezf-0005tB-34 for bug-guix@gnu.org; Thu, 19 Mar 2015 14:16:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YYezb-00080p-Bs for bug-guix@gnu.org; Thu, 19 Mar 2015 14:16:31 -0400 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:39028) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YYezb-00080l-8R for bug-guix@gnu.org; Thu, 19 Mar 2015 14:16:27 -0400 Received: from reverse-83.fdn.fr ([80.67.176.83]:39977 helo=pluto) by fencepost.gnu.org with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1YYeza-0000dQ-OW for bug-guix@gnu.org; Thu, 19 Mar 2015 14:16:27 -0400 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 29 =?UTF-8?Q?Vent=C3=B4se?= an 223 de la =?UTF-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 83C4 F8E5 10A3 3B4C 5BEA D15D 77DD 95E2 EA52 ECF4 X-OS: x86_64-unknown-linux-gnu Date: Thu, 19 Mar 2015 19:16:24 +0100 Message-ID: <87619w6efb.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) When opening an HTTPS connection, the file descriptor beneath the port returned by =E2=80=98tls-wrap=E2=80=99 is leaked. This is not a problem in most cases (downloads) because the process is left as soon as the download is over. This is more problematic for =E2=80=98guix lint=E2=80=99, which may open a = large number of HTTPS connections for the =E2=80=98source=E2=80=99 and =E2=80=98home-pag= e=E2=80=99 checkers when working on all the packages. Ludo=E2=80=99. From unknown Sun Jun 15 08:15:07 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Subject: bug#20145: closed (Re: bug#20145: (guix build download) leaks file descriptor on TLS connections) Message-ID: References: <87oaac1zme.fsf@gnu.org> <87619w6efb.fsf@gnu.org> X-Gnu-PR-Message: they-closed 20145 X-Gnu-PR-Package: guix Reply-To: 20145@debbugs.gnu.org Date: Thu, 17 Mar 2016 22:58:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1458255482-31669-1" This is a multi-part message in MIME format... ------------=_1458255482-31669-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #20145: (guix build download) leaks file descriptor on TLS connections which was filed against the guix package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 20145@debbugs.gnu.org. --=20 20145: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D20145 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1458255482-31669-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 20145-done) by debbugs.gnu.org; 17 Mar 2016 22:57:58 +0000 Received: from localhost ([127.0.0.1]:51531 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aggre-0008EY-Cl for submit@debbugs.gnu.org; Thu, 17 Mar 2016 18:57:58 -0400 Received: from eggs.gnu.org ([208.118.235.92]:57983) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aggrc-0008EM-Jo for 20145-done@debbugs.gnu.org; Thu, 17 Mar 2016 18:57:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aggrU-0002CX-AT for 20145-done@debbugs.gnu.org; Thu, 17 Mar 2016 18:57:51 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:45176) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aggrU-0002CT-8L for 20145-done@debbugs.gnu.org; Thu, 17 Mar 2016 18:57:48 -0400 Received: from reverse-83.fdn.fr ([80.67.176.83]:44490 helo=pluto) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1aggrT-0006OS-GK for 20145-done@debbugs.gnu.org; Thu, 17 Mar 2016 18:57:47 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: 20145-done@debbugs.gnu.org Subject: Re: bug#20145: (guix build download) leaks file descriptor on TLS connections References: <87619w6efb.fsf@gnu.org> Date: Thu, 17 Mar 2016 23:57:45 +0100 In-Reply-To: <87619w6efb.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Thu, 19 Mar 2015 19:16:24 +0100") Message-ID: <87oaac1zme.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 20145-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) ludo@gnu.org (Ludovic Court=C3=A8s) skribis: > When opening an HTTPS connection, the file descriptor beneath the port > returned by =E2=80=98tls-wrap=E2=80=99 is leaked. > > This is not a problem in most cases (downloads) because the process is > left as soon as the download is over. > > This is more problematic for =E2=80=98guix lint=E2=80=99, which may open = a large number > of HTTPS connections for the =E2=80=98source=E2=80=99 and =E2=80=98home-p= age=E2=80=99 checkers when > working on all the packages. This is essentially solved by commits 14d6ca3e4dd23ee92adb5e2fcf58546e67534631 and 097a951e96718a037dbfa6d579e2d26f7dab3e82. One still needs to be careful, though, for instance because closing a chunked encoding port (which is a custom binary input port wrapped around the real socket port) still fails to close the raw socket port that=E2=80=99s behind the TLS session record port. Ludo=E2=80=99. ------------=_1458255482-31669-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 19 Mar 2015 18:16:35 +0000 Received: from localhost ([127.0.0.1]:53306 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YYezi-0007zq-Ud for submit@debbugs.gnu.org; Thu, 19 Mar 2015 14:16:35 -0400 Received: from eggs.gnu.org ([208.118.235.92]:33076) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YYezh-0007zi-A8 for submit@debbugs.gnu.org; Thu, 19 Mar 2015 14:16:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YYezf-00081Y-VJ for submit@debbugs.gnu.org; Thu, 19 Mar 2015 14:16:33 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:42395) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YYezf-00081U-S4 for submit@debbugs.gnu.org; Thu, 19 Mar 2015 14:16:31 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34795) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YYezf-0005tB-34 for bug-guix@gnu.org; Thu, 19 Mar 2015 14:16:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YYezb-00080p-Bs for bug-guix@gnu.org; Thu, 19 Mar 2015 14:16:31 -0400 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:39028) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YYezb-00080l-8R for bug-guix@gnu.org; Thu, 19 Mar 2015 14:16:27 -0400 Received: from reverse-83.fdn.fr ([80.67.176.83]:39977 helo=pluto) by fencepost.gnu.org with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1YYeza-0000dQ-OW for bug-guix@gnu.org; Thu, 19 Mar 2015 14:16:27 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: bug-guix@gnu.org Subject: (guix build download) leaks file descriptor on TLS connections X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 29 =?utf-8?Q?Vent=C3=B4se?= an 223 de la =?utf-8?Q?R?= =?utf-8?Q?=C3=A9volution?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 83C4 F8E5 10A3 3B4C 5BEA D15D 77DD 95E2 EA52 ECF4 X-OS: x86_64-unknown-linux-gnu Date: Thu, 19 Mar 2015 19:16:24 +0100 Message-ID: <87619w6efb.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) When opening an HTTPS connection, the file descriptor beneath the port returned by =E2=80=98tls-wrap=E2=80=99 is leaked. This is not a problem in most cases (downloads) because the process is left as soon as the download is over. This is more problematic for =E2=80=98guix lint=E2=80=99, which may open a = large number of HTTPS connections for the =E2=80=98source=E2=80=99 and =E2=80=98home-pag= e=E2=80=99 checkers when working on all the packages. Ludo=E2=80=99. ------------=_1458255482-31669-1-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 02 18:08:10 2020 Received: (at control) by debbugs.gnu.org; 2 Jan 2020 23:08:10 +0000 Received: from localhost ([127.0.0.1]:40185 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1in9Za-0002c4-DS for submit@debbugs.gnu.org; Thu, 02 Jan 2020 18:08:10 -0500 Received: from eggs.gnu.org ([209.51.188.92]:59645) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1in9ZZ-0002bn-0t for control@debbugs.gnu.org; Thu, 02 Jan 2020 18:08:09 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:38186) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1in9ZT-0001sp-Ug for control@debbugs.gnu.org; Thu, 02 Jan 2020 18:08:03 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=51586 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1in9ZT-0001bD-E6 for control@debbugs.gnu.org; Thu, 02 Jan 2020 18:08:03 -0500 Date: Fri, 03 Jan 2020 00:08:01 +0100 Message-Id: <87v9ptqwxa.fsf@gnu.org> To: control@debbugs.gnu.org From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: control message for bug #20145 MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) merge 20145 38836 quit From unknown Sun Jun 15 08:15:07 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20145: (guix build download) leaks file descriptor on TLS connections Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Thu, 02 Jan 2020 23:20:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20145 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 20145@debbugs.gnu.org Cc: Ricardo Wurmus , Valentin Ignatev Received: via spool by 20145-submit@debbugs.gnu.org id=B20145.157800717018779 (code B ref 20145); Thu, 02 Jan 2020 23:20:02 +0000 Received: (at 20145) by debbugs.gnu.org; 2 Jan 2020 23:19:30 +0000 Received: from localhost ([127.0.0.1]:40194 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1in9kX-0004sp-Ol for submit@debbugs.gnu.org; Thu, 02 Jan 2020 18:19:29 -0500 Received: from eggs.gnu.org ([209.51.188.92]:57348) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1in9kW-0004sY-4P for 20145@debbugs.gnu.org; Thu, 02 Jan 2020 18:19:28 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:38366) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1in9kQ-0007Cm-O2; Thu, 02 Jan 2020 18:19:22 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=51794 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1in9kP-0002TV-Ae; Thu, 02 Jan 2020 18:19:21 -0500 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <87oaac1zme.fsf@gnu.org> <87619w6efb.fsf@gnu.org> Date: Fri, 03 Jan 2020 00:19:19 +0100 In-Reply-To: (GNU bug Tracking System's message of "Thu, 17 Mar 2016 22:58:02 +0000") Message-ID: <87png1qweg.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi, Back in 2015, I closed saying: > ludo@gnu.org (Ludovic Court=C3=A8s) skribis: > >> When opening an HTTPS connection, the file descriptor beneath the port >> returned by =E2=80=98tls-wrap=E2=80=99 is leaked. >> >> This is not a problem in most cases (downloads) because the process is >> left as soon as the download is over. >> >> This is more problematic for =E2=80=98guix lint=E2=80=99, which may open= a large number >> of HTTPS connections for the =E2=80=98source=E2=80=99 and =E2=80=98home-= page=E2=80=99 checkers when >> working on all the packages. > > This is essentially solved by commits > 14d6ca3e4dd23ee92adb5e2fcf58546e67534631 and > 097a951e96718a037dbfa6d579e2d26f7dab3e82. > > One still needs to be careful, though, for instance because closing a > chunked encoding port (which is a custom binary input port wrapped > around the real socket port) still fails to close the raw socket port > that=E2=80=99s behind the TLS session record port. Unfortunately, the bug just reported by Valentin and by Ricardo are instances of this problem (at least I checked with crates.io and it uses chunked encoding, leading to a file descriptor leak): https://issues.guix.gnu.org/issue/38857 https://issues.guix.gnu.org/issue/38836 To be continued=E2=80=A6 Ludo=E2=80=99. From unknown Sun Jun 15 08:15:07 2025 X-Loop: help-debbugs@gnu.org Subject: bug#20145: (guix build download) leaks file descriptor on TLS connections Resent-From: Valentin Ignatev Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Fri, 03 Jan 2020 12:26:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20145 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: Ricardo Wurmus , 20145@debbugs.gnu.org Received: via spool by 20145-submit@debbugs.gnu.org id=B20145.157805432827184 (code B ref 20145); Fri, 03 Jan 2020 12:26:02 +0000 Received: (at 20145) by debbugs.gnu.org; 3 Jan 2020 12:25:28 +0000 Received: from localhost ([127.0.0.1]:40473 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1inM1A-00074O-E2 for submit@debbugs.gnu.org; Fri, 03 Jan 2020 07:25:28 -0500 Received: from mail-il1-f193.google.com ([209.85.166.193]:46041) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1inM19-00074C-0J for 20145@debbugs.gnu.org; Fri, 03 Jan 2020 07:25:27 -0500 Received: by mail-il1-f193.google.com with SMTP id p8so36463973iln.12 for <20145@debbugs.gnu.org>; Fri, 03 Jan 2020 04:25:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=Q7loeImi+ndM3VubteNy3BhoSR0vgAyVr51xCBEJ990=; b=L/XkQ2RV9Vs8L28NL8eOLe2gPpaMNa36lnsXCfhX0QN/BgrApvUyC9VgAa0Lmsw1vw z1Az635GBOE2Un1UwXtvS7bHkO6Fg9I14wZpJow8GjN8sMvaveE8t3veb+SYZdDU7y9N qx+KpYL9Mo1KDJdaNvlaA9zxBNkOJkkf8XSAfWBJWTYyScKWq9yHklfpYR44bN3ZBdXO QUBTD/9/41StEtE7OFaK65LXI9lA0XOne2gt2omFwSiEyKH8Ovcqo8OOI96cREEo9q1l RDZD4svVJCCOFWHYIS0ys0aNNc/qlqwXcEODCdUk4UdGSQJuZbMxihYDPTCYEPzOK63l wk+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=Q7loeImi+ndM3VubteNy3BhoSR0vgAyVr51xCBEJ990=; b=SlIXTsle41t6Cu4XrSeYuygnlVjRZnfWFAXnlpCNqMKH7ncV1lu/Cj8K/xkM/qjKjk 2Us7kmmqW5nJCg2ceaObTcS87Zu+5Cwc3vZhl1IpHdxWedqza34ifQeg0/ixwhgE/YYZ HAN8ZBUW+/FNUQVVXvO0UCy6UmYtqrxGq7l8sD0KPbUqwQ4xFHF9yu+0ex8/lcE6s6zz J2hZ1dX2kclNl8Kh+EMK4vYz0+FC3ZtUdLsv8OI48joqJsw7IlkLIZiqE9M2zys28E+G WqvDIOiWjIdrgUOT1VNsEAdFZN5mAaq1KnnKlHawZCcrrU4jsc7udBfs2eNHcsiZvaZj df3Q== X-Gm-Message-State: APjAAAWQFj207BVxewLIQjwjAzkhHmRvb6pY7KBGHmEMB1Gu5MNU6iLc Vi+4HbkXA7ukPkU7n1Ze6b2C/nD+S1Rr6bztIWA= X-Google-Smtp-Source: APXvYqyL9FiU0giFI01p0mBPW0TNAZpj6l+Bl/qqcKf5A5lWVe8Ev43OnbsL5eYnHu9OyTSOKWuEBq1l6SkPNKC7iDE= X-Received: by 2002:a92:d2:: with SMTP id 201mr77739514ila.22.1578054321401; Fri, 03 Jan 2020 04:25:21 -0800 (PST) MIME-Version: 1.0 Received: by 2002:a92:4186:0:0:0:0:0 with HTTP; Fri, 3 Jan 2020 04:25:20 -0800 (PST) In-Reply-To: <87png1qweg.fsf_-_@gnu.org> References: <87oaac1zme.fsf@gnu.org> <87619w6efb.fsf@gnu.org> <87png1qweg.fsf_-_@gnu.org> From: Valentin Ignatev Date: Fri, 3 Jan 2020 15:25:20 +0300 Message-ID: Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hey Ludo, thanks for providing more info! I understand that the best way is to fix the leak for good, but I wonder if there's some possible quick workaround to mitigate the issue in case of a recursive import? Like giving package definitions for packages that were followed before exception happened so the person who packages something can go on from that point, or something like that. Valentin. From unknown Sun Jun 15 08:15:07 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Subject: bug#20145: closed (Re: bug#20145: (guix build download) leaks file descriptor on TLS connections) Message-ID: References: <87png0poac.fsf@gnu.org> <87619w6efb.fsf@gnu.org> X-Gnu-PR-Message: they-closed 20145 X-Gnu-PR-Package: guix Reply-To: 20145@debbugs.gnu.org Date: Fri, 03 Jan 2020 15:13:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1578064382-18084-1" This is a multi-part message in MIME format... ------------=_1578064382-18084-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #20145: (guix build download) leaks file descriptor on TLS connections which was filed against the guix package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 20145@debbugs.gnu.org. --=20 20145: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D20145 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1578064382-18084-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 20145-done) by debbugs.gnu.org; 3 Jan 2020 15:12:21 +0000 Received: from localhost ([127.0.0.1]:41266 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1inOcf-0004gm-JM for submit@debbugs.gnu.org; Fri, 03 Jan 2020 10:12:21 -0500 Received: from eggs.gnu.org ([209.51.188.92]:51972) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1inOce-0004ga-Bz for 20145-done@debbugs.gnu.org; Fri, 03 Jan 2020 10:12:20 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:60442) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1inOcZ-0008Dj-39; Fri, 03 Jan 2020 10:12:15 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=57538 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1inOcY-0004cr-0q; Fri, 03 Jan 2020 10:12:14 -0500 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: 20145-done@debbugs.gnu.org Subject: Re: bug#20145: (guix build download) leaks file descriptor on TLS connections References: <87oaac1zme.fsf@gnu.org> <87619w6efb.fsf@gnu.org> <87png1qweg.fsf_-_@gnu.org> Date: Fri, 03 Jan 2020 16:12:11 +0100 In-Reply-To: <87png1qweg.fsf_-_@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\?\= \=\?utf-8\?Q\?\=22's\?\= message of "Fri, 03 Jan 2020 00:19:19 +0100") Message-ID: <87png0poac.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 20145-done Cc: Ricardo Wurmus , Valentin Ignatev X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hello again! Ludovic Court=C3=A8s skribis: > Back in 2015, I closed saying: > >> ludo@gnu.org (Ludovic Court=C3=A8s) skribis: >> >>> When opening an HTTPS connection, the file descriptor beneath the port >>> returned by =E2=80=98tls-wrap=E2=80=99 is leaked. >>> >>> This is not a problem in most cases (downloads) because the process is >>> left as soon as the download is over. >>> >>> This is more problematic for =E2=80=98guix lint=E2=80=99, which may ope= n a large number >>> of HTTPS connections for the =E2=80=98source=E2=80=99 and =E2=80=98home= -page=E2=80=99 checkers when >>> working on all the packages. >> >> This is essentially solved by commits >> 14d6ca3e4dd23ee92adb5e2fcf58546e67534631 and >> 097a951e96718a037dbfa6d579e2d26f7dab3e82. >> >> One still needs to be careful, though, for instance because closing a >> chunked encoding port (which is a custom binary input port wrapped >> around the real socket port) still fails to close the raw socket port >> that=E2=80=99s behind the TLS session record port. > > Unfortunately, the bug just reported by Valentin and by Ricardo are > instances of this problem (at least I checked with crates.io and it > uses chunked encoding, leading to a file descriptor leak): > > https://issues.guix.gnu.org/issue/38857 > https://issues.guix.gnu.org/issue/38836 Commit f4cde9ac4aedb516c050a30fd999673da434bfa0 fixes it for good it seems! (You can monitor /proc/PID/fd while =E2=80=98guix refresh=E2=80=99 = or =E2=80=98guix import crate -r=E2=80=99 is running. :-)) There was also a CRAN-specific FD leak fixed in af0aefd8c10701fa32341506e36297e5105f6143. Let me know is anything is amiss! Ludo=E2=80=99. ------------=_1578064382-18084-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 19 Mar 2015 18:16:35 +0000 Received: from localhost ([127.0.0.1]:53306 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YYezi-0007zq-Ud for submit@debbugs.gnu.org; Thu, 19 Mar 2015 14:16:35 -0400 Received: from eggs.gnu.org ([208.118.235.92]:33076) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YYezh-0007zi-A8 for submit@debbugs.gnu.org; Thu, 19 Mar 2015 14:16:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YYezf-00081Y-VJ for submit@debbugs.gnu.org; Thu, 19 Mar 2015 14:16:33 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:42395) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YYezf-00081U-S4 for submit@debbugs.gnu.org; Thu, 19 Mar 2015 14:16:31 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34795) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YYezf-0005tB-34 for bug-guix@gnu.org; Thu, 19 Mar 2015 14:16:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YYezb-00080p-Bs for bug-guix@gnu.org; Thu, 19 Mar 2015 14:16:31 -0400 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:39028) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YYezb-00080l-8R for bug-guix@gnu.org; Thu, 19 Mar 2015 14:16:27 -0400 Received: from reverse-83.fdn.fr ([80.67.176.83]:39977 helo=pluto) by fencepost.gnu.org with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1YYeza-0000dQ-OW for bug-guix@gnu.org; Thu, 19 Mar 2015 14:16:27 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: bug-guix@gnu.org Subject: (guix build download) leaks file descriptor on TLS connections X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 29 =?utf-8?Q?Vent=C3=B4se?= an 223 de la =?utf-8?Q?R?= =?utf-8?Q?=C3=A9volution?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 83C4 F8E5 10A3 3B4C 5BEA D15D 77DD 95E2 EA52 ECF4 X-OS: x86_64-unknown-linux-gnu Date: Thu, 19 Mar 2015 19:16:24 +0100 Message-ID: <87619w6efb.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) When opening an HTTPS connection, the file descriptor beneath the port returned by =E2=80=98tls-wrap=E2=80=99 is leaked. This is not a problem in most cases (downloads) because the process is left as soon as the download is over. This is more problematic for =E2=80=98guix lint=E2=80=99, which may open a = large number of HTTPS connections for the =E2=80=98source=E2=80=99 and =E2=80=98home-pag= e=E2=80=99 checkers when working on all the packages. Ludo=E2=80=99. ------------=_1578064382-18084-1-- From unknown Sun Jun 15 08:15:07 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Ricardo Wurmus Subject: bug#38836: closed (Re: bug#20145: (guix build download) leaks file descriptor on TLS connections) Message-ID: References: <87png0poac.fsf@gnu.org> <875zhwnujk.fsf@elephly.net> X-Gnu-PR-Message: they-closed 38836 X-Gnu-PR-Package: guix Reply-To: 38836@debbugs.gnu.org Date: Fri, 03 Jan 2020 15:13:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1578064382-18084-3" This is a multi-part message in MIME format... ------------=_1578064382-18084-3 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #20145: guix refresh: Too many open files which was filed against the guix package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 38836@debbugs.gnu.org. --=20 20145: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D20145 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1578064382-18084-3 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 20145-done) by debbugs.gnu.org; 3 Jan 2020 15:12:21 +0000 Received: from localhost ([127.0.0.1]:41266 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1inOcf-0004gm-JM for submit@debbugs.gnu.org; Fri, 03 Jan 2020 10:12:21 -0500 Received: from eggs.gnu.org ([209.51.188.92]:51972) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1inOce-0004ga-Bz for 20145-done@debbugs.gnu.org; Fri, 03 Jan 2020 10:12:20 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:60442) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1inOcZ-0008Dj-39; Fri, 03 Jan 2020 10:12:15 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=57538 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1inOcY-0004cr-0q; Fri, 03 Jan 2020 10:12:14 -0500 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: 20145-done@debbugs.gnu.org Subject: Re: bug#20145: (guix build download) leaks file descriptor on TLS connections References: <87oaac1zme.fsf@gnu.org> <87619w6efb.fsf@gnu.org> <87png1qweg.fsf_-_@gnu.org> Date: Fri, 03 Jan 2020 16:12:11 +0100 In-Reply-To: <87png1qweg.fsf_-_@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\?\= \=\?utf-8\?Q\?\=22's\?\= message of "Fri, 03 Jan 2020 00:19:19 +0100") Message-ID: <87png0poac.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 20145-done Cc: Ricardo Wurmus , Valentin Ignatev X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hello again! Ludovic Court=C3=A8s skribis: > Back in 2015, I closed saying: > >> ludo@gnu.org (Ludovic Court=C3=A8s) skribis: >> >>> When opening an HTTPS connection, the file descriptor beneath the port >>> returned by =E2=80=98tls-wrap=E2=80=99 is leaked. >>> >>> This is not a problem in most cases (downloads) because the process is >>> left as soon as the download is over. >>> >>> This is more problematic for =E2=80=98guix lint=E2=80=99, which may ope= n a large number >>> of HTTPS connections for the =E2=80=98source=E2=80=99 and =E2=80=98home= -page=E2=80=99 checkers when >>> working on all the packages. >> >> This is essentially solved by commits >> 14d6ca3e4dd23ee92adb5e2fcf58546e67534631 and >> 097a951e96718a037dbfa6d579e2d26f7dab3e82. >> >> One still needs to be careful, though, for instance because closing a >> chunked encoding port (which is a custom binary input port wrapped >> around the real socket port) still fails to close the raw socket port >> that=E2=80=99s behind the TLS session record port. > > Unfortunately, the bug just reported by Valentin and by Ricardo are > instances of this problem (at least I checked with crates.io and it > uses chunked encoding, leading to a file descriptor leak): > > https://issues.guix.gnu.org/issue/38857 > https://issues.guix.gnu.org/issue/38836 Commit f4cde9ac4aedb516c050a30fd999673da434bfa0 fixes it for good it seems! (You can monitor /proc/PID/fd while =E2=80=98guix refresh=E2=80=99 = or =E2=80=98guix import crate -r=E2=80=99 is running. :-)) There was also a CRAN-specific FD leak fixed in af0aefd8c10701fa32341506e36297e5105f6143. Let me know is anything is amiss! Ludo=E2=80=99. ------------=_1578064382-18084-3 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 31 Dec 2019 19:51:12 +0000 Received: from localhost ([127.0.0.1]:35192 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1imNXs-0003m2-C1 for submit@debbugs.gnu.org; Tue, 31 Dec 2019 14:51:12 -0500 Received: from lists.gnu.org ([209.51.188.17]:39937) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1imNXp-0003ls-4v for submit@debbugs.gnu.org; Tue, 31 Dec 2019 14:51:11 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39518) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1imNXn-00008r-RU for bug-guix@gnu.org; Tue, 31 Dec 2019 14:51:08 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1imNXm-0005o9-Pt for bug-guix@gnu.org; Tue, 31 Dec 2019 14:51:07 -0500 Received: from sender4-of-o51.zoho.com ([136.143.188.51]:21174) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1imNXm-0005gk-CY for bug-guix@gnu.org; Tue, 31 Dec 2019 14:51:06 -0500 ARC-Seal: i=1; a=rsa-sha256; t=1577821863; cv=none; d=zohomail.com; s=zohoarc; b=O71LxuhypcDxc/Ct1hh2Mzi6NlVTb/lEaX+vowui9kQXPrqJyYaonWFROYL4R00gqSf5JiZXv6Pn1aJuNdvgUbCyDPsPFeU/Wj8qw4B51G6EIjTI3gKA6Gs6gMxo8sLw6A7OFqKVx7g2Zr3YaMO4hg+Yy9YgKuDwOXpHIuEvzUA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1577821863; h=Content-Type:Date:From:MIME-Version:Message-ID:Subject:To; bh=8SzoyTNURFRh8yRow1Yc9bzahzM+RDOSeX5Rzk7tYnc=; b=Nyc35aFssGSNFjnpuSpq5qwpjyL4vJ9ipQGt8jsiAcki09nEpZpdeHHS1jqim0WK1PM13lY5q6+/achio/KxmYJTMbmiJs0C0amiClkeL6e4WipY+Wdjb/IQtu+8ytnpv7fWIazcICU32guTsxfeqH5AngpkAfHucXLnRoMSU3E= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=elephly.net; spf=pass smtp.mailfrom=rekado@elephly.net; dmarc=pass header.from= header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1577821863; s=zoho; d=elephly.net; i=rekado@elephly.net; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type; bh=8SzoyTNURFRh8yRow1Yc9bzahzM+RDOSeX5Rzk7tYnc=; b=URdDxqqMkj1YyLG2k2LynuZcLKXTT9MQo+x5ZqzssMvroq9jiQp6GMY+nhr7ZI4u 1Ew78TUp1vPPieIGamX+5wPySxe7p0fzG8xDkNVDbj4Xl37UKdMhDAiyYHQqYgg6/K9 gI+SG4K5LoCSH2hFue9g3bhC+dL4oPwUDyOXlsy8= Received: from localhost (p54AD4E2C.dip0.t-ipconnect.de [84.173.78.44]) by mx.zohomail.com with SMTPS id 1577821859430421.3039520194965; Tue, 31 Dec 2019 11:50:59 -0800 (PST) User-agent: mu4e 1.2.0; emacs 26.3 From: Ricardo Wurmus To: bug-guix@gnu.org Subject: guix refresh: Too many open files X-URL: https://elephly.net X-PGP-Key: https://elephly.net/rekado.pubkey X-PGP-Fingerprint: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC Date: Tue, 31 Dec 2019 20:50:55 +0100 Message-ID: <875zhwnujk.fsf@elephly.net> MIME-Version: 1.0 Content-Type: text/plain X-ZohoMailClient: External X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 136.143.188.51 X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) I regularly run this command: ./pre-inst-env guix refresh -t cran,bioconductor -u This makes a lot of HTTP requests to check for updates. It often aborts with this error before it can finish checking for updates of all packages: guix refresh: error: open-file: Too many open files: "/home/rekado/.cache/guix/http/EXpQeEGkSNjRNVeWpGMNV8ENjJfhl2vugsTbrdaTshg=" -- Ricardo ------------=_1578064382-18084-3-- From unknown Sun Jun 15 08:15:07 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Valentin Ignatev Subject: bug#38857: closed (Re: bug#20145: (guix build download) leaks file descriptor on TLS connections) Message-ID: References: <87png0poac.fsf@gnu.org> X-Gnu-PR-Message: they-closed 38857 X-Gnu-PR-Package: guix Reply-To: 38857@debbugs.gnu.org Date: Fri, 03 Jan 2020 15:13:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1578064382-18084-5" This is a multi-part message in MIME format... ------------=_1578064382-18084-5 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #20145: X.509 certificate of 'crates.io' could not be verified during a rec= ursive import from crates.io which was filed against the guix package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 38857@debbugs.gnu.org. --=20 20145: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D20145 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1578064382-18084-5 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 20145-done) by debbugs.gnu.org; 3 Jan 2020 15:12:21 +0000 Received: from localhost ([127.0.0.1]:41266 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1inOcf-0004gm-JM for submit@debbugs.gnu.org; Fri, 03 Jan 2020 10:12:21 -0500 Received: from eggs.gnu.org ([209.51.188.92]:51972) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1inOce-0004ga-Bz for 20145-done@debbugs.gnu.org; Fri, 03 Jan 2020 10:12:20 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:60442) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1inOcZ-0008Dj-39; Fri, 03 Jan 2020 10:12:15 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=57538 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1inOcY-0004cr-0q; Fri, 03 Jan 2020 10:12:14 -0500 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: 20145-done@debbugs.gnu.org Subject: Re: bug#20145: (guix build download) leaks file descriptor on TLS connections References: <87oaac1zme.fsf@gnu.org> <87619w6efb.fsf@gnu.org> <87png1qweg.fsf_-_@gnu.org> Date: Fri, 03 Jan 2020 16:12:11 +0100 In-Reply-To: <87png1qweg.fsf_-_@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\?\= \=\?utf-8\?Q\?\=22's\?\= message of "Fri, 03 Jan 2020 00:19:19 +0100") Message-ID: <87png0poac.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 20145-done Cc: Ricardo Wurmus , Valentin Ignatev X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hello again! Ludovic Court=C3=A8s skribis: > Back in 2015, I closed saying: > >> ludo@gnu.org (Ludovic Court=C3=A8s) skribis: >> >>> When opening an HTTPS connection, the file descriptor beneath the port >>> returned by =E2=80=98tls-wrap=E2=80=99 is leaked. >>> >>> This is not a problem in most cases (downloads) because the process is >>> left as soon as the download is over. >>> >>> This is more problematic for =E2=80=98guix lint=E2=80=99, which may ope= n a large number >>> of HTTPS connections for the =E2=80=98source=E2=80=99 and =E2=80=98home= -page=E2=80=99 checkers when >>> working on all the packages. >> >> This is essentially solved by commits >> 14d6ca3e4dd23ee92adb5e2fcf58546e67534631 and >> 097a951e96718a037dbfa6d579e2d26f7dab3e82. >> >> One still needs to be careful, though, for instance because closing a >> chunked encoding port (which is a custom binary input port wrapped >> around the real socket port) still fails to close the raw socket port >> that=E2=80=99s behind the TLS session record port. > > Unfortunately, the bug just reported by Valentin and by Ricardo are > instances of this problem (at least I checked with crates.io and it > uses chunked encoding, leading to a file descriptor leak): > > https://issues.guix.gnu.org/issue/38857 > https://issues.guix.gnu.org/issue/38836 Commit f4cde9ac4aedb516c050a30fd999673da434bfa0 fixes it for good it seems! (You can monitor /proc/PID/fd while =E2=80=98guix refresh=E2=80=99 = or =E2=80=98guix import crate -r=E2=80=99 is running. :-)) There was also a CRAN-specific FD leak fixed in af0aefd8c10701fa32341506e36297e5105f6143. Let me know is anything is amiss! Ludo=E2=80=99. ------------=_1578064382-18084-5 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 1 Jan 2020 22:45:48 +0000 Received: from localhost ([127.0.0.1]:37701 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1immkN-0003DZ-6f for submit@debbugs.gnu.org; Wed, 01 Jan 2020 17:45:48 -0500 Received: from lists.gnu.org ([209.51.188.17]:40991) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1immkL-0003DP-80 for submit@debbugs.gnu.org; Wed, 01 Jan 2020 17:45:46 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50411) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1immkH-0001B0-7a for bug-guix@gnu.org; Wed, 01 Jan 2020 17:45:44 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1immkD-00058y-Cl for bug-guix@gnu.org; Wed, 01 Jan 2020 17:45:41 -0500 Received: from mail-il1-x12a.google.com ([2607:f8b0:4864:20::12a]:44363) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1immkD-00057j-0l for bug-guix@gnu.org; Wed, 01 Jan 2020 17:45:37 -0500 Received: by mail-il1-x12a.google.com with SMTP id z12so32835188iln.11 for ; Wed, 01 Jan 2020 14:45:36 -0800 (PST) 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=6lo7jpcTWJxoCizUaj79HSkX35OMs/IpOu5WcDYHJzc=; b=CECIEzPm0ASKuQJYodaDpEFcmx0fR5elDBV/CWO7eum1DZYotuA1c9YkofPhIyjEJH 4eJdzAQKiglem7p4/yVwqdssl5GgJwI8xkDLYq/h9Y2g/OiT9/sXIJSuh/eUkoCRD++Y /txOcNp4A9RamU82avvHo4Ux1jlDL0s3JNPfh14T/hAkjlwLb2kHoxEc0pc4v30xLWw3 FKL+E9KugpwoAzomNvUKtR3yYmT2r50HUOtmQISd3cjOLOyXjWaoDL+l1kQYh+aMkyoO zXycYu0z0RdjNfBuRCsY8/q2THYEuHmicWwBDom7hDCqqqjoyAJaDMzUe5dswHphJm/h fy7g== 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=6lo7jpcTWJxoCizUaj79HSkX35OMs/IpOu5WcDYHJzc=; b=mHU+0ALC8PbfHACptF1fZze8aP62rPY4Pc36R+UPsQKMIxLJxAMv6Q+px/2ZANcfJ0 /LPcO2mN60s+EpxmHywuMZ1+mweabNM51aB8P2Kk6muKlBl8ez693Of9Xu0T/0OfDwqw n9Ie30tyoE8J2//1coXS5Acq3oYmXKN1HRPQ/mCYXghwvZMoynDKV3ZTSmbf8lY2yuYj 8MtLZXGtKILxq95GzSv6hN9k2IvVXTENP9xEifb9ic91oeudGfPmXpXzQVpcfDyaItCs lTkArbULnNJwAFh1scYCCLZcgRtTADXCMu5Ow8ZKzcf2KeVkSh1jM0y1gfQby8FuRQA2 rYkw== X-Gm-Message-State: APjAAAWyQyfeH59bINuwg1xmDc4gamVWc9keg67JPUgQuvCg4qD1crLM cTtlXVCd3QoL86ZASE1rDXOjFaBgqQis4+U92SeeuJxF X-Google-Smtp-Source: APXvYqy+aFWjZ27FKF2V0cP6RMFIXzYjrOxW/S/Y5Y3nhkCNdBrwzy7dhHXbZ8dDv6xmswoUeRA2Lrha5fecgPuFvtg= X-Received: by 2002:a92:d2:: with SMTP id 201mr70430736ila.22.1577918735707; Wed, 01 Jan 2020 14:45:35 -0800 (PST) MIME-Version: 1.0 Received: by 2002:a92:4186:0:0:0:0:0 with HTTP; Wed, 1 Jan 2020 14:45:35 -0800 (PST) From: Valentin Ignatev Date: Thu, 2 Jan 2020 01:45:35 +0300 Message-ID: Subject: X.509 certificate of 'crates.io' could not be verified during a recursive import from crates.io To: bug-guix@gnu.org Content-Type: multipart/mixed; boundary="000000000000ba0e89059b1bd559" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::12a X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --000000000000ba0e89059b1bd559 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi! I'm trying to recursively import a package from crates.io like this: guix import crate notify@4.0.14 --recursive It follows redirections for a while untill at some point throws this: Backtrace: 12 (primitive-load "/home/vj/.config/guix/current/bin/guix") In guix/ui.scm: 1806:12 11 (run-guix-command _ . _) In guix/scripts/import.scm: 116:11 10 (guix-import . _) In guix/scripts/import/crate.scm: 103:16 9 (guix-import-crate . _) In guix/import/utils.scm: 425:7 8 (recursive-import _ _ #:repo->guix-package _ #:guix-name =E2= =80=A6) 397:31 7 (topological-sort _ # =E2=80=A6) In srfi/srfi-1.scm: 592:17 6 (map1 ("tempfile")) In guix/import/utils.scm: 421:36 5 (lookup-node "tempfile") In guix/import/crate.scm: 222:10 4 (crate->guix-package "tempfile" _) 150:15 3 (make-crate-sexp #:name _ #:version _ #:cargo-inputs _ # =E2= =80=A6) In guix/http-client.scm: 88:25 2 (http-fetch _ #:port _ #:text? _ #:buffered? _ # _ # _ # =E2= =80=A6) In guix/build/download.scm: 419:4 1 (open-connection-for-uri _ #:timeout _ # _) 306:6 0 (tls-wrap # _ # _) guix/build/download.scm:306:6: In procedure tls-wrap: X.509 certificate of 'crates.io' could not be verified: signer-not-found invalid I suspect that it happens after the importer hits "wasm-bindgen-webidl" and starts going circles. Maybe there's some circullar dependencies going on, but I'm not sure. I'm attaching a full log for convenience. For additional info: I'm running Guix on Arch Linux. I've also installed nss-certs package, exported all neeeded variables (SSL_CERT_DIR, SSL_CERT_FILE and GIT_SSL_CAINFO) before running guix import and also made sure nscd.service is running. Regards, Valentin Ignatev --000000000000ba0e89059b1bd559 Content-Type: text/x-log; charset="UTF-8"; name="crates_recursive_importer.log" Content-Disposition: attachment; filename="crates_recursive_importer.log" Content-Transfer-Encoding: base64 X-Attachment-Id: file0 Z3VpeCBpbXBvcnQgY3JhdGUgbm90aWZ5QDQuMC4xNCAtLXJlY3Vyc2l2ZSA+IG5vdGlmeS5zY20K Zm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVz L25vdGlmeS9ub3RpZnktNC4wLjE0LmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8g YGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvYml0ZmxhZ3MvYml0ZmxhZ3MtMS4yLjEu Y3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVz LmlvL2NyYXRlcy9maWxldGltZS9maWxldGltZS0wLjIuOC5jcmF0ZScuLi4KZm9sbG93aW5nIHJl ZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL2ZzZXZlbnQvZnNl dmVudC0yLjAuMS5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0 YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL2ZzZXZlbnQtc3lzL2ZzZXZlbnQtc3lzLTMuMC4wLmNyYXRl Jy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9j cmF0ZXMvaW5vdGlmeS9pbm90aWZ5LTAuOC4wLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rp b24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMva2VybmVsMzItc3lzL2tlcm5l bDMyLXN5cy0wLjIuMi5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczov L3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL2xpYmMvbGliYy0wLjIuNjYuY3JhdGUnLi4uCmZvbGxv d2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9taW8v bWlvLTAuNy4wLWFscGhhLjEuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0 cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9taW8tZXh0cmFzL21pby1leHRyYXMtMi4wLjYu Y3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVz LmlvL2NyYXRlcy93YWxrZGlyL3dhbGtkaXItMi4yLjkuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRp cmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy93aW5hcGkvd2luYXBp LTAuMy44LmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGlj LmNyYXRlcy5pby9jcmF0ZXMvdGVtcGRpci90ZW1wZGlyLTAuMy43LmNyYXRlJy4uLgpmb2xsb3dp bmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvY2ZnLWlm L2NmZy1pZi0wLjEuMTAuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6 Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9saWJjL2xpYmMtMC4yLjY2LmNyYXRlJy4uLgpmb2xs b3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvcmVk b3hfc3lzY2FsbC9yZWRveF9zeXNjYWxsLTAuMS41Ni5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGly ZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL3dpbmFwaS93aW5hcGkt MC4zLjguY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMu Y3JhdGVzLmlvL2NyYXRlcy90ZW1wZmlsZS90ZW1wZmlsZS0zLjEuMC5jcmF0ZScuLi4KZm9sbG93 aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL2NvbXBp bGVyX2J1aWx0aW5zL2NvbXBpbGVyX2J1aWx0aW5zLTAuMS4yMy5jcmF0ZScuLi4KZm9sbG93aW5n IHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL3J1c3RjLXN0 ZC13b3Jrc3BhY2UtY29yZS9ydXN0Yy1zdGQtd29ya3NwYWNlLWNvcmUtMS4wLjAuY3JhdGUnLi4u CmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRl cy9ydXN0Yy1zdGQtd29ya3NwYWNlLWNvcmUvcnVzdGMtc3RkLXdvcmtzcGFjZS1jb3JlLTEuMC4w LmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRl cy5pby9jcmF0ZXMvY2MvY2MtMS4wLjQ4LmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24g dG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvam9ic2VydmVyL2pvYnNlcnZlci0w LjEuMTcuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMu Y3JhdGVzLmlvL2NyYXRlcy9udW1fY3B1cy9udW1fY3B1cy0xLjExLjEuY3JhdGUnLi4uCmZvbGxv d2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy90ZW1w ZmlsZS90ZW1wZmlsZS0zLjEuMC5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBo dHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL2dldHJhbmRvbS9nZXRyYW5kb20tMC4xLjEz LmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRl cy5pby9jcmF0ZXMvbGliYy9saWJjLTAuMi42Ni5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0 aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL2xvZy9sb2ctMC40LjguY3Jh dGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlv L2NyYXRlcy9mdXR1cmVzL2Z1dHVyZXMtMC4zLjEuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVj dGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9udW1fY3B1cy9udW1fY3B1 cy0xLjExLjEuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0 aWMuY3JhdGVzLmlvL2NyYXRlcy90ZW1wZGlyL3RlbXBkaXItMC4zLjcuY3JhdGUnLi4uCmZvbGxv d2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy90b2tp by1jb3JlL3Rva2lvLWNvcmUtMC4xLjE3LmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24g dG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvdG9raW8tcHJvY2Vzcy90b2tpby1w cm9jZXNzLTAuMy4wLWFscGhhLjIuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBg aHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9jZmctaWYvY2ZnLWlmLTAuMS4xMC5jcmF0 ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8v Y3JhdGVzL2NvbXBpbGVyX2J1aWx0aW5zL2NvbXBpbGVyX2J1aWx0aW5zLTAuMS4yMy5jcmF0ZScu Li4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3Jh dGVzL2xpYmMvbGliYy0wLjIuNjYuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBg aHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9sb2cvbG9nLTAuNC44LmNyYXRlJy4uLgpm b2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMv cnVzdGMtc3RkLXdvcmtzcGFjZS1jb3JlL3J1c3RjLXN0ZC13b3Jrc3BhY2UtY29yZS0xLjAuMC5j cmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMu aW8vY3JhdGVzL3N0ZHdlYi9zdGR3ZWItMC40LjIwLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJl Y3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvd2FzaS93YXNpLTAuOS4w K3dhc2ktc25hcHNob3QtcHJldmlldzEuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0 byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy93YXNtLWJpbmRnZW4vd2FzbS1iaW5k Z2VuLTAuMi41Ni5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0 YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL3dhc20tYmluZGdlbi10ZXN0L3dhc20tYmluZGdlbi10ZXN0 LTAuMy42LmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGlj LmNyYXRlcy5pby9jcmF0ZXMvcnVzdGMtc3RkLXdvcmtzcGFjZS1jb3JlL3J1c3RjLXN0ZC13b3Jr c3BhY2UtY29yZS0xLjAuMC5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRw czovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL2NmZy1pZi9jZmctaWYtMC4xLjEwLmNyYXRlJy4u Lgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0 ZXMvc2VyZGUvc2VyZGUtMS4wLjEwNC5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRv IGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL3N2YWwvc3ZhbC0wLjQuNy5jcmF0ZScu Li4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3Jh dGVzL3NlcmRlX3Rlc3Qvc2VyZGVfdGVzdC0xLjAuMTA0LmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVk aXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvc3ZhbC9zdmFsLTAu NC43LmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNy YXRlcy5pby9jcmF0ZXMvc2VyZGVfZGVyaXZlL3NlcmRlX2Rlcml2ZS0xLjAuMTA0LmNyYXRlJy4u Lgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0 ZXMvc2VyZGVfZGVyaXZlL3NlcmRlX2Rlcml2ZS0xLjAuMTA0LmNyYXRlJy4uLgpmb2xsb3dpbmcg cmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvcHJvYy1tYWNy bzIvcHJvYy1tYWNybzItMS4wLjcuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBg aHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9xdW90ZS9xdW90ZS0xLjAuMi5jcmF0ZScu Li4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3Jh dGVzL3N5bi9zeW4tMS4wLjEyLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0 dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvc2VyZGUvc2VyZGUtMS4wLjEwNC5jcmF0ZScu Li4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3Jh dGVzL3VuaWNvZGUteGlkL3VuaWNvZGUteGlkLTAuMi4wLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVk aXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvcXVvdGUvcXVvdGUt MS4wLjIuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMu Y3JhdGVzLmlvL2NyYXRlcy9wcm9jLW1hY3JvMi9wcm9jLW1hY3JvMi0xLjAuNy5jcmF0ZScuLi4K Zm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVz L3J1c3R2ZXJzaW9uL3J1c3R2ZXJzaW9uLTEuMC4xLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJl Y3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvdHJ5YnVpbGQvdHJ5YnVp bGQtMS4wLjE5LmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3Rh dGljLmNyYXRlcy5pby9jcmF0ZXMvcHJvYy1tYWNybzIvcHJvYy1tYWNybzItMS4wLjcuY3JhdGUn Li4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2Ny YXRlcy9xdW90ZS9xdW90ZS0xLjAuMi5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRv IGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL3N5bi9zeW4tMS4wLjEyLmNyYXRlJy4u Lgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0 ZXMvcHJvYy1tYWNybzIvcHJvYy1tYWNybzItMS4wLjcuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRp cmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9xdW90ZS9xdW90ZS0x LjAuMi5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5j cmF0ZXMuaW8vY3JhdGVzL3VuaWNvZGUteGlkL3VuaWNvZGUteGlkLTAuMi4wLmNyYXRlJy4uLgpm b2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMv YW55aG93L2FueWhvdy0xLjAuMjYuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBg aHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9mbGF0ZTIvZmxhdGUyLTEuMC4xMy5jcmF0 ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8v Y3JhdGVzL2luc3RhL2luc3RhLTAuMTIuMC5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9u IHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL3JheW9uL3JheW9uLTEuMy4wLmNy YXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5p by9jcmF0ZXMvcmVmLWNhc3QvcmVmLWNhc3QtMS4wLjAuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRp cmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9yZWdleC9yZWdleC0x LjMuMS5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5j cmF0ZXMuaW8vY3JhdGVzL3JlcXdlc3QvcmVxd2VzdC0wLjEwLjAuY3JhdGUnLi4uCmZvbGxvd2lu ZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy90YXIvdGFy LTAuNC4yNi5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRp Yy5jcmF0ZXMuaW8vY3JhdGVzL3Rlcm1jb2xvci90ZXJtY29sb3ItMS4wLjUuY3JhdGUnLi4uCmZv bGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy93 YWxrZGlyL3dhbGtkaXItMi4yLjkuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBg aHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9mdXR1cmVzL2Z1dHVyZXMtMC4zLjEuY3Jh dGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlv L2NyYXRlcy9ydXN0dmVyc2lvbi9ydXN0dmVyc2lvbi0xLjAuMS5jcmF0ZScuLi4KZm9sbG93aW5n IHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL3RoaXNlcnJv ci90aGlzZXJyb3ItMS4wLjkuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0 cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy90cnlidWlsZC90cnlidWlsZC0xLjAuMTkuY3Jh dGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlv L2NyYXRlcy9mdXR1cmVzLWNoYW5uZWwvZnV0dXJlcy1jaGFubmVsLTAuMy4xLmNyYXRlJy4uLgpm b2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMv ZnV0dXJlcy1jb3JlL2Z1dHVyZXMtY29yZS0wLjMuMS5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGly ZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL2Z1dHVyZXMtZXhlY3V0 b3IvZnV0dXJlcy1leGVjdXRvci0wLjMuMS5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9u IHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL2Z1dHVyZXMtaW8vZnV0dXJlcy1p by0wLjMuMS5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRp Yy5jcmF0ZXMuaW8vY3JhdGVzL2Z1dHVyZXMtc2luay9mdXR1cmVzLXNpbmstMC4zLjEuY3JhdGUn Li4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2Ny YXRlcy9mdXR1cmVzLXRhc2svZnV0dXJlcy10YXNrLTAuMy4xLmNyYXRlJy4uLgpmb2xsb3dpbmcg cmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvZnV0dXJlcy11 dGlsL2Z1dHVyZXMtdXRpbC0wLjMuMS5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRv IGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL2Fzc2VydF9tYXRjaGVzL2Fzc2VydF9t YXRjaGVzLTEuMy4wLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8v c3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvcGluLXV0aWxzL3Bpbi11dGlscy0wLjEuMC1hbHBoYS40 LmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRl cy5pby9jcmF0ZXMvdG9raW8vdG9raW8tMC4yLjYuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVj dGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9mdXR1cmVzLWNvcmUvZnV0 dXJlcy1jb3JlLTAuMy4xLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBz Oi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvZnV0dXJlcy1zaW5rL2Z1dHVyZXMtc2luay0wLjMu MS5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0 ZXMuaW8vY3JhdGVzL2Z1dHVyZXMtY29yZS9mdXR1cmVzLWNvcmUtMC4zLjEuY3JhdGUnLi4uCmZv bGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9m dXR1cmVzLXRhc2svZnV0dXJlcy10YXNrLTAuMy4xLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJl Y3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvZnV0dXJlcy11dGlsL2Z1 dHVyZXMtdXRpbC0wLjMuMS5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRw czovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL251bV9jcHVzL251bV9jcHVzLTEuMTEuMS5jcmF0 ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8v Y3JhdGVzL2Z1dHVyZXMvZnV0dXJlcy0wLjMuMS5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0 aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL2Z1dHVyZXMtY2hhbm5lbC9m dXR1cmVzLWNoYW5uZWwtMC4zLjEuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBg aHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9mdXR1cmVzLWNvcmUvZnV0dXJlcy1jb3Jl LTAuMy4xLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGlj LmNyYXRlcy5pby9jcmF0ZXMvZnV0dXJlcy1pby9mdXR1cmVzLWlvLTAuMy4xLmNyYXRlJy4uLgpm b2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMv ZnV0dXJlcy1tYWNyby9mdXR1cmVzLW1hY3JvLTAuMy4xLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVk aXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvZnV0dXJlcy1zaW5r L2Z1dHVyZXMtc2luay0wLjMuMS5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBo dHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL2Z1dHVyZXMtdGFzay9mdXR1cmVzLXRhc2st MC4zLjEuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMu Y3JhdGVzLmlvL2NyYXRlcy9tZW1jaHIvbWVtY2hyLTIuMi4xLmNyYXRlJy4uLgpmb2xsb3dpbmcg cmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvcGluLXV0aWxz L3Bpbi11dGlscy0wLjEuMC1hbHBoYS40LmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24g dG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvcHJvYy1tYWNyby1oYWNrL3Byb2Mt bWFjcm8taGFjay0wLjUuMTEuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0 cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9wcm9jLW1hY3JvLW5lc3RlZC9wcm9jLW1hY3Jv LW5lc3RlZC0wLjEuMy5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczov L3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL3NsYWIvc2xhYi0wLjQuMi5jcmF0ZScuLi4KZm9sbG93 aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL3Rva2lv LWlvL3Rva2lvLWlvLTAuMi4wLWFscGhhLjYuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlv biB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9wcm9jLW1hY3JvLWhhY2svcHJv Yy1tYWNyby1oYWNrLTAuNS4xMS5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBo dHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL3Byb2MtbWFjcm8yL3Byb2MtbWFjcm8yLTEu MC43LmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNy YXRlcy5pby9jcmF0ZXMvcXVvdGUvcXVvdGUtMS4wLjIuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRp cmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9zeW4vc3luLTEuMC4x Mi5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0 ZXMuaW8vY3JhdGVzL3Byb2MtbWFjcm8yL3Byb2MtbWFjcm8yLTEuMC43LmNyYXRlJy4uLgpmb2xs b3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvcXVv dGUvcXVvdGUtMS4wLjIuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6 Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9zeW4vc3luLTEuMC4xMi5jcmF0ZScuLi4KZm9sbG93 aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL2RlbW8t aGFjay9kZW1vLWhhY2stMC4wLjUuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBg aHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9kZW1vLWhhY2staW1wbC9kZW1vLWhhY2st aW1wbC0wLjAuNS5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0 YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL2RlbW8taGFjay1pbXBsL2RlbW8taGFjay1pbXBsLTAuMC41 LmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRl cy5pby9jcmF0ZXMvcHJvYy1tYWNyby1oYWNrL3Byb2MtbWFjcm8taGFjay0wLjUuMTEuY3JhdGUn Li4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2Ny YXRlcy9wcm9jLW1hY3JvLWhhY2svcHJvYy1tYWNyby1oYWNrLTAuNS4xMS5jcmF0ZScuLi4KZm9s bG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL3F1 b3RlL3F1b3RlLTEuMC4yLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBz Oi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvc3luL3N5bi0xLjAuMTIuY3JhdGUnLi4uCmZvbGxv d2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9saWJj L2xpYmMtMC4yLjY2LmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8v c3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvcXVpY2tjaGVjay9xdWlja2NoZWNrLTAuOS4wLmNyYXRl Jy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9j cmF0ZXMvZW52X2xvZ2dlci9lbnZfbG9nZ2VyLTAuNy4xLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVk aXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvbG9nL2xvZy0wLjQu OC5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0 ZXMuaW8vY3JhdGVzL3JhbmQvcmFuZC0wLjcuMi5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0 aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL3JhbmRfY29yZS9yYW5kX2Nv cmUtMC41LjEuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0 aWMuY3JhdGVzLmlvL2NyYXRlcy9hdHR5L2F0dHktMC4yLjEzLmNyYXRlJy4uLgpmb2xsb3dpbmcg cmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvaHVtYW50aW1l L2h1bWFudGltZS0xLjMuMC5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRw czovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL2xvZy9sb2ctMC40LjguY3JhdGUnLi4uCmZvbGxv d2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9yZWdl eC9yZWdleC0xLjMuMS5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczov L3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL3Rlcm1jb2xvci90ZXJtY29sb3ItMS4wLjUuY3JhdGUn Li4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2Ny YXRlcy9saWJjL2xpYmMtMC4yLjY2LmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8g YGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvd2luYXBpL3dpbmFwaS0wLjMuOC5jcmF0 ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8v Y3JhdGVzL3dpbmFwaS1pNjg2LXBjLXdpbmRvd3MtZ251L3dpbmFwaS1pNjg2LXBjLXdpbmRvd3Mt Z251LTAuNC4wLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3Rh dGljLmNyYXRlcy5pby9jcmF0ZXMvd2luYXBpLXg4Nl82NC1wYy13aW5kb3dzLWdudS93aW5hcGkt eDg2XzY0LXBjLXdpbmRvd3MtZ251LTAuNC4wLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rp b24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvcXVpY2stZXJyb3IvcXVpY2st ZXJyb3ItMS4yLjIuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9z dGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9jaHJvbm8vY2hyb25vLTAuNC4xMC5jcmF0ZScuLi4KZm9s bG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL3Jh bmQvcmFuZC0wLjcuMi5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczov L3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL3RpbWUvdGltZS0wLjIuMS5jcmF0ZScuLi4KZm9sbG93 aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL2pzLXN5 cy9qcy1zeXMtMC4zLjMzLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBz Oi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvbnVtLWludGVnZXIvbnVtLWludGVnZXItMC4xLjQx LmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRl cy5pby9jcmF0ZXMvbnVtLXRyYWl0cy9udW0tdHJhaXRzLTAuMi4xMC5jcmF0ZScuLi4KZm9sbG93 aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL3J1c3Rj LXNlcmlhbGl6ZS9ydXN0Yy1zZXJpYWxpemUtMC4zLjI0LmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVk aXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvc2VyZGUvc2VyZGUt MS4wLjEwNC5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRp Yy5jcmF0ZXMuaW8vY3JhdGVzL3RpbWUvdGltZS0wLjIuMS5jcmF0ZScuLi4KZm9sbG93aW5nIHJl ZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL3dhc20tYmluZGdl bi93YXNtLWJpbmRnZW4tMC4yLjU2LmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8g YGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvYmluY29kZS9iaW5jb2RlLTEuMi4xLmNy YXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5p by9jcmF0ZXMvZG9jLWNvbW1lbnQvZG9jLWNvbW1lbnQtMC4zLjEuY3JhdGUnLi4uCmZvbGxvd2lu ZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9udW0taXRl ci9udW0taXRlci0wLjEuMzkuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0 cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9zZXJkZV9kZXJpdmUvc2VyZGVfZGVyaXZlLTEu MC4xMDQuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMu Y3JhdGVzLmlvL2NyYXRlcy9zZXJkZV9qc29uL3NlcmRlX2pzb24tMS4wLjQ0LmNyYXRlJy4uLgpm b2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMv d2FzbS1iaW5kZ2VuLXRlc3Qvd2FzbS1iaW5kZ2VuLXRlc3QtMC4zLjYuY3JhdGUnLi4uCmZvbGxv d2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy93YXNt LWJpbmRnZW4vd2FzbS1iaW5kZ2VuLTAuMi41Ni5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0 aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL3dhc20tYmluZGdlbi1mdXR1 cmVzL3dhc20tYmluZGdlbi1mdXR1cmVzLTAuNC42LmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJl Y3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvd2FzbS1iaW5kZ2VuLXRl c3Qvd2FzbS1iaW5kZ2VuLXRlc3QtMC4zLjYuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlv biB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9jZmctaWYvY2ZnLWlmLTAuMS4x MC5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0 ZXMuaW8vY3JhdGVzL3NlcmRlL3NlcmRlLTEuMC4xMDQuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRp cmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9zZXJkZV9qc29uL3Nl cmRlX2pzb24tMS4wLjQ0LmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBz Oi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvd2FzbS1iaW5kZ2VuLW1hY3JvL3dhc20tYmluZGdl bi1tYWNyby0wLjIuNTYuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6 Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9qcy1zeXMvanMtc3lzLTAuMy4zMy5jcmF0ZScuLi4K Zm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVz L3NlcmRlX2Rlcml2ZS9zZXJkZV9kZXJpdmUtMS4wLjEwNC5jcmF0ZScuLi4KZm9sbG93aW5nIHJl ZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL3dhc20tYmluZGdl bi1mdXR1cmVzL3dhc20tYmluZGdlbi1mdXR1cmVzLTAuNC42LmNyYXRlJy4uLgpmb2xsb3dpbmcg cmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvd2FzbS1iaW5k Z2VuLXRlc3Qvd2FzbS1iaW5kZ2VuLXRlc3QtMC4zLjYuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRp cmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy93YXNtLWJpbmRnZW4t dGVzdC1jcmF0ZS1hL3dhc20tYmluZGdlbi10ZXN0LWNyYXRlLWEtMC4xLjAuY3JhdGUnLi4uCmZv bGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy93 YXNtLWJpbmRnZW4tdGVzdC1jcmF0ZS1iL3dhc20tYmluZGdlbi10ZXN0LWNyYXRlLWItMC4xLjAu Y3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVz LmlvL2NyYXRlcy9pbmRleG1hcC9pbmRleG1hcC0xLjMuMC5jcmF0ZScuLi4KZm9sbG93aW5nIHJl ZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL2l0b2EvaXRvYS0w LjQuNC5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5j cmF0ZXMuaW8vY3JhdGVzL3J5dS9yeXUtMS4wLjIuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVj dGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9zZXJkZS9zZXJkZS0xLjAu MTA0LmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNy YXRlcy5pby9jcmF0ZXMvYXV0b21vZC9hdXRvbW9kLTAuMS4yLmNyYXRlJy4uLgpmb2xsb3dpbmcg cmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvcnVzdHZlcnNp b24vcnVzdHZlcnNpb24tMS4wLjEuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBg aHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9zZXJkZV9ieXRlcy9zZXJkZV9ieXRlcy0w LjExLjMuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMu Y3JhdGVzLmlvL2NyYXRlcy9zZXJkZV9kZXJpdmUvc2VyZGVfZGVyaXZlLTEuMC4xMDQuY3JhdGUn Li4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2Ny YXRlcy9zZXJkZV9zdGFja2VyL3NlcmRlX3N0YWNrZXItMC4xLjEuY3JhdGUnLi4uCmZvbGxvd2lu ZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy90cnlidWls ZC90cnlidWlsZC0xLjAuMTkuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0 cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9yYXlvbi9yYXlvbi0xLjMuMC5jcmF0ZScuLi4K Zm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVz L3NlcmRlL3NlcmRlLTEuMC4xMDQuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBg aHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9hdXRvY2ZnL2F1dG9jZmctMC4xLjcuY3Jh dGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlv L2NyYXRlcy9mbnYvZm52LTEuMC42LmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8g YGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvaXRlcnRvb2xzL2l0ZXJ0b29scy0wLjgu Mi5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0 ZXMuaW8vY3JhdGVzL2xhenlfc3RhdGljL2xhenlfc3RhdGljLTEuNC4wLmNyYXRlJy4uLgpmb2xs b3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvcXVp Y2tjaGVjay9xdWlja2NoZWNrLTAuOS4wLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24g dG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvcmFuZC9yYW5kLTAuNy4yLmNyYXRl Jy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9j cmF0ZXMvc2VyZGVfdGVzdC9zZXJkZV90ZXN0LTEuMC4xMDQuY3JhdGUnLi4uCmZvbGxvd2luZyBy ZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9jcm9zc2JlYW0t ZGVxdWUvY3Jvc3NiZWFtLWRlcXVlLTAuNy4yLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rp b24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvZWl0aGVyL2VpdGhlci0xLjUu My5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0 ZXMuaW8vY3JhdGVzL3JheW9uLWNvcmUvcmF5b24tY29yZS0xLjcuMC5jcmF0ZScuLi4KZm9sbG93 aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL2RvYy1j b21tZW50L2RvYy1jb21tZW50LTAuMy4xLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24g dG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvZG9jb3B0L2RvY29wdC0xLjEuMC5j cmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMu aW8vY3JhdGVzL2xhenlfc3RhdGljL2xhenlfc3RhdGljLTEuNC4wLmNyYXRlJy4uLgpmb2xsb3dp bmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvcmFuZC9y YW5kLTAuNy4yLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3Rh dGljLmNyYXRlcy5pby9jcmF0ZXMvcmFuZF94b3JzaGlmdC9yYW5kX3hvcnNoaWZ0LTAuMi4wLmNy YXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5p by9jcmF0ZXMvc2VyZGUvc2VyZGUtMS4wLjEwNC5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0 aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL2Nyb3NzYmVhbS1lcG9jaC9j cm9zc2JlYW0tZXBvY2gtMC44LjAuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBg aHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9jcm9zc2JlYW0tdXRpbHMvY3Jvc3NiZWFt LXV0aWxzLTAuNy4wLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8v c3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvcmFuZC9yYW5kLTAuNy4yLmNyYXRlJy4uLgpmb2xsb3dp bmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvY2ZnLWlm L2NmZy1pZi0wLjEuMTAuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6 Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9jcm9zc2JlYW0tdXRpbHMvY3Jvc3NiZWFtLXV0aWxz LTAuNy4wLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGlj LmNyYXRlcy5pby9jcmF0ZXMvbGF6eV9zdGF0aWMvbGF6eV9zdGF0aWMtMS40LjAuY3JhdGUnLi4u CmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRl cy9tZW1vZmZzZXQvbWVtb2Zmc2V0LTAuNS4zLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rp b24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvc2NvcGVndWFyZC9zY29wZWd1 YXJkLTEuMC4wLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3Rh dGljLmNyYXRlcy5pby9jcmF0ZXMvYXV0b2NmZy9hdXRvY2ZnLTAuMS43LmNyYXRlJy4uLgpmb2xs b3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvcmFu ZC9yYW5kLTAuNy4yLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8v c3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvY2ZnLWlmL2NmZy1pZi0wLjEuMTAuY3JhdGUnLi4uCmZv bGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9s YXp5X3N0YXRpYy9sYXp5X3N0YXRpYy0xLjQuMC5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0 aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL2F1dG9jZmcvYXV0b2NmZy0w LjEuNy5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5j cmF0ZXMuaW8vY3JhdGVzL3JhbmQvcmFuZC0wLjcuMi5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGly ZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL3NwaW4vc3Bpbi0wLjUu Mi5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0 ZXMuaW8vY3JhdGVzL2RvYy1jb21tZW50L2RvYy1jb21tZW50LTAuMy4xLmNyYXRlJy4uLgpmb2xs b3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvZ2V0 cmFuZG9tL2dldHJhbmRvbS0wLjEuMTMuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0 byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9saWJjL2xpYmMtMC4yLjY2LmNyYXRl Jy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9j cmF0ZXMvbG9nL2xvZy0wLjQuOC5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBo dHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL3BhY2tlZF9zaW1kL3BhY2tlZF9zaW1kLTAu My4zLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNy YXRlcy5pby9jcmF0ZXMvcmFuZF9jaGFjaGEvcmFuZF9jaGFjaGEtMC4yLjEuY3JhdGUnLi4uCmZv bGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9y YW5kX2NvcmUvcmFuZF9jb3JlLTAuNS4xLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24g dG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvcmFuZF9oYy9yYW5kX2hjLTAuMi4w LmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRl cy5pby9jcmF0ZXMvcmFuZF9wY2cvcmFuZF9wY2ctMC4yLjEuY3JhdGUnLi4uCmZvbGxvd2luZyBy ZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9yYW5kX2hjL3Jh bmRfaGMtMC4yLjAuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9z dGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9yYW5kX2lzYWFjL3JhbmRfaXNhYWMtMC4yLjAuY3JhdGUn Li4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2Ny YXRlcy9yYW5kX3BjZy9yYW5kX3BjZy0wLjIuMS5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0 aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL3JhbmRfeG9yc2hpZnQvcmFu ZF94b3JzaGlmdC0wLjIuMC5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRw czovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL3JhbmRfeG9zaGlyby9yYW5kX3hvc2hpcm8tMC40 LjAuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3Jh dGVzLmlvL2NyYXRlcy9jZmctaWYvY2ZnLWlmLTAuMS4xMC5jcmF0ZScuLi4KZm9sbG93aW5nIHJl ZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL2NvcmVfYXJjaC9j b3JlX2FyY2gtMC4xLjUuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6 Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9zbGVlZi1zeXMvc2xlZWYtc3lzLTAuMS4yLmNyYXRl Jy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9j cmF0ZXMvYXJyYXl2ZWMvYXJyYXl2ZWMtMC41LjEuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVj dGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9wYXN0ZS9wYXN0ZS0wLjEu Ni5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0 ZXMuaW8vY3JhdGVzL3dhc20tYmluZGdlbi93YXNtLWJpbmRnZW4tMC4yLjU2LmNyYXRlJy4uLgpm b2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMv d2FzbS1iaW5kZ2VuLXRlc3Qvd2FzbS1iaW5kZ2VuLXRlc3QtMC4zLjYuY3JhdGUnLi4uCmZvbGxv d2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy93YXNt LWJpbmRnZW4tdGVzdC93YXNtLWJpbmRnZW4tdGVzdC0wLjMuNi5jcmF0ZScuLi4KZm9sbG93aW5n IHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL2NvbnNvbGVf ZXJyb3JfcGFuaWNfaG9vay9jb25zb2xlX2Vycm9yX3BhbmljX2hvb2stMC4xLjYuY3JhdGUnLi4u CmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRl cy9qcy1zeXMvanMtc3lzLTAuMy4zMy5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRv IGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL3Njb3BlZC10bHMvc2NvcGVkLXRscy0x LjAuMC5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5j cmF0ZXMuaW8vY3JhdGVzL3dhc20tYmluZGdlbi93YXNtLWJpbmRnZW4tMC4yLjU2LmNyYXRlJy4u Lgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0 ZXMvd2FzbS1iaW5kZ2VuLWZ1dHVyZXMvd2FzbS1iaW5kZ2VuLWZ1dHVyZXMtMC40LjYuY3JhdGUn Li4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2Ny YXRlcy93YXNtLWJpbmRnZW4tdGVzdC1tYWNyby93YXNtLWJpbmRnZW4tdGVzdC1tYWNyby0wLjMu Ni5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0 ZXMuaW8vY3JhdGVzL2NmZy1pZi9jZmctaWYtMC4xLjEwLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVk aXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvd2FzbS1iaW5kZ2Vu L3dhc20tYmluZGdlbi0wLjIuNTYuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBg aHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9jZmctaWYvY2ZnLWlmLTAuMS4xMC5jcmF0 ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8v Y3JhdGVzL2pzLXN5cy9qcy1zeXMtMC4zLjMzLmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rp b24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvd2FzbS1iaW5kZ2VuL3dhc20t YmluZGdlbi0wLjIuNTYuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6 Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy93ZWItc3lzL3dlYi1zeXMtMC4zLjMzLmNyYXRlJy4u Lgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0 ZXMvZnV0dXJlcy1jaGFubmVsLXByZXZpZXcvZnV0dXJlcy1jaGFubmVsLXByZXZpZXctMC4zLjAt YWxwaGEuMTkuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0cHM6Ly9zdGF0 aWMuY3JhdGVzLmlvL2NyYXRlcy93YXNtLWJpbmRnZW4tdGVzdC93YXNtLWJpbmRnZW4tdGVzdC0w LjMuNi5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5j cmF0ZXMuaW8vY3JhdGVzL2pzLXN5cy9qcy1zeXMtMC4zLjMzLmNyYXRlJy4uLgpmb2xsb3dpbmcg cmVkaXJlY3Rpb24gdG8gYGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvd2FzbS1iaW5k Z2VuL3dhc20tYmluZGdlbi0wLjIuNTYuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0 byBgaHR0cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy9hbnlob3cvYW55aG93LTEuMC4yNi5j cmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMu aW8vY3JhdGVzL2Vudl9sb2dnZXIvZW52X2xvZ2dlci0wLjcuMS5jcmF0ZScuLi4KZm9sbG93aW5n IHJlZGlyZWN0aW9uIHRvIGBodHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL3NvdXJjZWZp bGUvc291cmNlZmlsZS0wLjEuNC5jcmF0ZScuLi4KZm9sbG93aW5nIHJlZGlyZWN0aW9uIHRvIGBo dHRwczovL3N0YXRpYy5jcmF0ZXMuaW8vY3JhdGVzL3dhc20tYmluZGdlbi1mdXR1cmVzL3dhc20t YmluZGdlbi1mdXR1cmVzLTAuNC42LmNyYXRlJy4uLgpmb2xsb3dpbmcgcmVkaXJlY3Rpb24gdG8g YGh0dHBzOi8vc3RhdGljLmNyYXRlcy5pby9jcmF0ZXMvd2FzbS1iaW5kZ2VuLXRlc3Qvd2FzbS1i aW5kZ2VuLXRlc3QtMC4zLjYuY3JhdGUnLi4uCmZvbGxvd2luZyByZWRpcmVjdGlvbiB0byBgaHR0 cHM6Ly9zdGF0aWMuY3JhdGVzLmlvL2NyYXRlcy93YXNtLWJpbmRnZW4td2ViaWRsL3dhc20tYmlu ZGdlbi13ZWJpZGwtMC4yLjU2LmNyYXRlJy4uLgpCYWNrdHJhY2U6CiAgICAgICAgICAxMiAocHJp bWl0aXZlLWxvYWQgIi9ob21lL3ZqLy5jb25maWcvZ3VpeC9jdXJyZW50L2Jpbi9ndWl4IikKSW4g Z3VpeC91aS5zY206CiAgMTgwNjoxMiAxMSAocnVuLWd1aXgtY29tbWFuZCBfIC4gXykKSW4gZ3Vp eC9zY3JpcHRzL2ltcG9ydC5zY206CiAgIDExNjoxMSAxMCAoZ3VpeC1pbXBvcnQgLiBfKQpJbiBn dWl4L3NjcmlwdHMvaW1wb3J0L2NyYXRlLnNjbToKICAgMTAzOjE2ICA5IChndWl4LWltcG9ydC1j cmF0ZSAuIF8pCkluIGd1aXgvaW1wb3J0L3V0aWxzLnNjbToKICAgIDQyNTo3ICA4IChyZWN1cnNp dmUtaW1wb3J0IF8gXyAjOnJlcG8tPmd1aXgtcGFja2FnZSBfICM6Z3VpeC1uYW1lIOKApikKICAg Mzk3OjMxICA3ICh0b3BvbG9naWNhbC1zb3J0IF8gIzxwcm9jZWR1cmUgN2Y5YTU5NzI5NjMwIGF0 IGd1aXgvaeKApj4g4oCmKQpJbiBzcmZpL3NyZmktMS5zY206CiAgIDU5MjoxNyAgNiAobWFwMSAo InRlbXBmaWxlIikpCkluIGd1aXgvaW1wb3J0L3V0aWxzLnNjbToKICAgNDIxOjM2ICA1IChsb29r dXAtbm9kZSAidGVtcGZpbGUiKQpJbiBndWl4L2ltcG9ydC9jcmF0ZS5zY206CiAgIDIyMjoxMCAg NCAoY3JhdGUtPmd1aXgtcGFja2FnZSAidGVtcGZpbGUiIF8pCiAgIDE1MDoxNSAgMyAobWFrZS1j cmF0ZS1zZXhwICM6bmFtZSBfICM6dmVyc2lvbiBfICM6Y2FyZ28taW5wdXRzIF8gIyDigKYpCklu IGd1aXgvaHR0cC1jbGllbnQuc2NtOgogICAgODg6MjUgIDIgKGh0dHAtZmV0Y2ggXyAjOnBvcnQg XyAjOnRleHQ/IF8gIzpidWZmZXJlZD8gXyAjIF8gIyBfICMg4oCmKQpJbiBndWl4L2J1aWxkL2Rv d25sb2FkLnNjbToKICAgIDQxOTo0ICAxIChvcGVuLWNvbm5lY3Rpb24tZm9yLXVyaSBfICM6dGlt ZW91dCBfICMgXykKICAgIDMwNjo2ICAwICh0bHMtd3JhcCAjPGNsb3NlZDogZmlsZSA3ZjlhNTY0 YjNhMTA+IF8gIyBfKQoKZ3VpeC9idWlsZC9kb3dubG9hZC5zY206MzA2OjY6IEluIHByb2NlZHVy ZSB0bHMtd3JhcDoKWC41MDkgY2VydGlmaWNhdGUgb2YgJ2NyYXRlcy5pbycgY291bGQgbm90IGJl IHZlcmlmaWVkOgogIHNpZ25lci1ub3QtZm91bmQKICBpbnZhbGlkCg== --000000000000ba0e89059b1bd559-- ------------=_1578064382-18084-5--