From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 02C141BC073; Tue, 27 Aug 2024 15:27:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.135.223.130 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1724772434; cv=none; b=MDKjWyz/73eVkpnAWpxUHBiBapjfizEzzWLkUYogfFC0VpoLZkwpVc9u04rmu+YT0b3A8mKgyeTimYuQlCs1lqI7CzjWU9XSfIsSjMkUZPAalU9+RTUyAztH1KtgLtZ7biqJHhcopg093829yCQVD1zy/3BUdvDVpAr6PC2f7go= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1724772434; c=relaxed/simple; bh=Rkd112+cL0uRYtV9jUWbMqRMP2d4qZA0DESvv5WzZoE=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=IyLIurDiSTJ52rApgArBTiDl8/MmdP1CHiDMEmwDxZHm/QIzXBkOmO/Ziv8daZP0OeJzPjNKnY3oexnlj18+9VxG7tdAe8e+/augWV3lvVEqyu1MKaYj37pxie2aheKRPvmubz0inpNg/aXH0uVHZQnfBoyGIS1opW6Ir4Hn3Zg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=suse.cz; spf=pass smtp.mailfrom=suse.cz; dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b=o+dYyyKx; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b=bgprGjwO; dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b=o+dYyyKx; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b=bgprGjwO; arc=none smtp.client-ip=195.135.223.130 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=suse.cz Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.cz Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b="o+dYyyKx"; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b="bgprGjwO"; dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b="o+dYyyKx"; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b="bgprGjwO" Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 0163121B0E; Tue, 27 Aug 2024 15:27:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1724772430; h=from:from:reply-to:reply-to:date:date:message-id:message-id:to:to: cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DiRuT6KS5xm/a1uK/VGs5u1puvYNGTCyQqWHx/rE3bo=; b=o+dYyyKxYYk97NirY9aGv5IfKvHrHrqFWWqd9hJ+rwZaiV4IMrT9fYnxGt86PR0jNIoMJV 6l92S7RFOOAUCK1SjpiOfDcCmedGKugqzx9JI6yMoBCg3KhOvtw4+eed8G9Pgjf6WcAUET Jh3kYsoBPntmoJJxkX3N0PRNUtT/vQU= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1724772430; h=from:from:reply-to:reply-to:date:date:message-id:message-id:to:to: cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DiRuT6KS5xm/a1uK/VGs5u1puvYNGTCyQqWHx/rE3bo=; b=bgprGjwOLEXZUcFTaD/4uIXDLmpzKCJ5Gjx7/8DrVfnaXTc6U7kK8itUTGzddff1AbSyGw +B2JIMwaO0HJFuBg== Authentication-Results: smtp-out1.suse.de; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=o+dYyyKx; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=bgprGjwO DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1724772430; h=from:from:reply-to:reply-to:date:date:message-id:message-id:to:to: cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DiRuT6KS5xm/a1uK/VGs5u1puvYNGTCyQqWHx/rE3bo=; b=o+dYyyKxYYk97NirY9aGv5IfKvHrHrqFWWqd9hJ+rwZaiV4IMrT9fYnxGt86PR0jNIoMJV 6l92S7RFOOAUCK1SjpiOfDcCmedGKugqzx9JI6yMoBCg3KhOvtw4+eed8G9Pgjf6WcAUET Jh3kYsoBPntmoJJxkX3N0PRNUtT/vQU= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1724772430; h=from:from:reply-to:reply-to:date:date:message-id:message-id:to:to: cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DiRuT6KS5xm/a1uK/VGs5u1puvYNGTCyQqWHx/rE3bo=; b=bgprGjwOLEXZUcFTaD/4uIXDLmpzKCJ5Gjx7/8DrVfnaXTc6U7kK8itUTGzddff1AbSyGw +B2JIMwaO0HJFuBg== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id A5FE113724; Tue, 27 Aug 2024 15:27:09 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id hmVCJ03wzWbUJAAAD6G6ig (envelope-from ); Tue, 27 Aug 2024 15:27:09 +0000 Date: Tue, 27 Aug 2024 17:27:02 +0200 From: Petr Vorel To: Chuck Lever III Cc: Martin Doucha , Neil Brown , Linux NFS Mailing List , Josef Bacik , linux-stable , "ltp@lists.linux.it" Subject: Re: [LTP] [PATCH v2 1/1] nfsstat01: Update client RPC calls for kernel 6.9 Message-ID: <20240827152702.GA1634061@pevik> Reply-To: Petr Vorel References: <20240823064640.GA1217451@pevik> <172445038410.6062.6091007925280806767@noble.neil.brown.name> <9afef16d-52b2-435d-902a-7ccfa5824968@suse.cz> <20240827132242.GA1627011@pevik> <44DF7F99-3FDA-46C0-BC93-B6679F04B7AB@oracle.com> Precedence: bulk X-Mailing-List: linux-nfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <44DF7F99-3FDA-46C0-BC93-B6679F04B7AB@oracle.com> X-Rspamd-Queue-Id: 0163121B0E X-Spam-Level: X-Spamd-Result: default: False [-3.71 / 50.00]; BAYES_HAM(-3.00)[100.00%]; NEURAL_HAM_LONG(-1.00)[-1.000]; MID_RHS_NOT_FQDN(0.50)[]; HAS_REPLYTO(0.30)[pvorel@suse.cz]; R_DKIM_ALLOW(-0.20)[suse.cz:s=susede2_rsa,suse.cz:s=susede2_ed25519]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; MX_GOOD(-0.01)[]; DKIM_SIGNED(0.00)[suse.cz:s=susede2_rsa,suse.cz:s=susede2_ed25519]; TO_DN_SOME(0.00)[]; FUZZY_BLOCKED(0.00)[rspamd.com]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; TO_DN_EQ_ADDR_SOME(0.00)[]; RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from]; DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCPT_COUNT_SEVEN(0.00)[7]; RCVD_VIA_SMTP_AUTH(0.00)[]; RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received]; DKIM_TRACE(0.00)[suse.cz:+]; MISSING_XM_UA(0.00)[]; REPLYTO_EQ_FROM(0.00)[] X-Rspamd-Server: rspamd2.dmz-prg2.suse.org X-Rspamd-Action: no action X-Spam-Score: -3.71 X-Spam-Flag: NO Hi all, > > On Aug 27, 2024, at 9:22 AM, Petr Vorel wrote: > > Hi all, > >> On 23. 08. 24 23:59, NeilBrown wrote: > >>> On Fri, 23 Aug 2024, Petr Vorel wrote: > >>>> We discussed in v1 how to fix tests. Neil suggested to fix the test the way so > >>>> that it works on all kernels. As I note [1] > >>>> 1) either we give up on checking the new functionality still works (if we > >>>> fallback to old behavior) > >>> I don't understand. What exactly do you mean by "the new > >>> functionality". > >>> As I understand it there is no new functionality. All there was was and > >>> information leak between network namespaces, and we stopped the leak. > >>> Do you consider that to be new functionality? > > Thanks Martin for jumping in. I hoped I was clear, but obviously not. > > Following are the questions for kernel maintainers and developers. I put my > > opinion, but it's really up to you what you want to have tested. > >> The new functionality is that the patches add a new file to network > >> namespaces: /proc/net/rpc/nfs. This file did not exist outside the root > >> network namespace at least on some of the kernels where we still need to run > >> this test. So the question is: How aggressively do we want to enforce > >> backporting of these NFS patches into distros with older kernels? > >> We have 3 options how to fix the test depending on the answer: > >> 1) Don't enforce at all. We'll check whether /proc/net/rpc/nfs exists in the > >> client namespace and read it only if it does. Otherwise we'll fall back on > >> the global file. > > 1) is IMHO the worst case because it's not testing patch gets reverted. > >> 2) Enforce aggressively. We'll hardcode a minimal kernel version into the > >> test (e.g. v5.4) and if the procfile doesn't exist on any newer kernel, it's > >> a bug. > > I would prefer 2), which is the usual LTP approach (do not hide bugs, we even > > fail on upstream kernel WONTFIX [1], why we should refuse the policy here?). > 2) makes sense to me. Thanks for your opinion. I'll send another version (+ still wait for others input). Kind regards, Petr > > Whichever older LTS upstream kernel gets fixed would drive the line where new > > functionality is requested (currently v5.14, I suppose at least 5.10 will also > > be fixed). LTP also has a way to specify enterprise distro kernel version if > > older enterprise kernel also gets fixed (this should not be needed, but it'd be > > possible). > >> 3) Enforce on new kernels only. We'll set a hard requirement for kernel > >> v6.9+ as in option 2) and check for existence of the procfile on any older > >> kernels as in option 1). > > Due way to specify enterprise distro kernel version and upstream kernel testing > > expecting people update to the latest stable/LTS we should not worry much about > > people with older kernels. > > Kind regards, > > Petr > > [1] https://github.com/linux-test-project/ltp/blob/master/testcases/kernel/syscalls/ustat/ustat01.c#L48-L49 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from picard.linux.it (picard.linux.it [213.254.12.146]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id ED7ECC54731 for ; Tue, 27 Aug 2024 15:27:30 +0000 (UTC) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id 3CB563D2752 for ; Tue, 27 Aug 2024 17:27:29 +0200 (CEST) Received: from in-4.smtp.seeweb.it (in-4.smtp.seeweb.it [IPv6:2001:4b78:1:20::4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1)) (No client certificate requested) by picard.linux.it (Postfix) with ESMTPS id 586233C655D for ; Tue, 27 Aug 2024 17:27:12 +0200 (CEST) Authentication-Results: in-4.smtp.seeweb.it; spf=pass (sender SPF authorized) smtp.mailfrom=suse.cz (client-ip=2a07:de40:b251:101:10:150:64:1; helo=smtp-out1.suse.de; envelope-from=pvorel@suse.cz; receiver=lists.linux.it) Received: from smtp-out1.suse.de (smtp-out1.suse.de [IPv6:2a07:de40:b251:101:10:150:64:1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by in-4.smtp.seeweb.it (Postfix) with ESMTPS id BB5FD1007C82 for ; Tue, 27 Aug 2024 17:27:11 +0200 (CEST) Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 0163121B0E; Tue, 27 Aug 2024 15:27:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1724772430; h=from:from:reply-to:reply-to:date:date:message-id:message-id:to:to: cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DiRuT6KS5xm/a1uK/VGs5u1puvYNGTCyQqWHx/rE3bo=; b=o+dYyyKxYYk97NirY9aGv5IfKvHrHrqFWWqd9hJ+rwZaiV4IMrT9fYnxGt86PR0jNIoMJV 6l92S7RFOOAUCK1SjpiOfDcCmedGKugqzx9JI6yMoBCg3KhOvtw4+eed8G9Pgjf6WcAUET Jh3kYsoBPntmoJJxkX3N0PRNUtT/vQU= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1724772430; h=from:from:reply-to:reply-to:date:date:message-id:message-id:to:to: cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DiRuT6KS5xm/a1uK/VGs5u1puvYNGTCyQqWHx/rE3bo=; b=bgprGjwOLEXZUcFTaD/4uIXDLmpzKCJ5Gjx7/8DrVfnaXTc6U7kK8itUTGzddff1AbSyGw +B2JIMwaO0HJFuBg== Authentication-Results: smtp-out1.suse.de; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=o+dYyyKx; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=bgprGjwO DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1724772430; h=from:from:reply-to:reply-to:date:date:message-id:message-id:to:to: cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DiRuT6KS5xm/a1uK/VGs5u1puvYNGTCyQqWHx/rE3bo=; b=o+dYyyKxYYk97NirY9aGv5IfKvHrHrqFWWqd9hJ+rwZaiV4IMrT9fYnxGt86PR0jNIoMJV 6l92S7RFOOAUCK1SjpiOfDcCmedGKugqzx9JI6yMoBCg3KhOvtw4+eed8G9Pgjf6WcAUET Jh3kYsoBPntmoJJxkX3N0PRNUtT/vQU= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1724772430; h=from:from:reply-to:reply-to:date:date:message-id:message-id:to:to: cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DiRuT6KS5xm/a1uK/VGs5u1puvYNGTCyQqWHx/rE3bo=; b=bgprGjwOLEXZUcFTaD/4uIXDLmpzKCJ5Gjx7/8DrVfnaXTc6U7kK8itUTGzddff1AbSyGw +B2JIMwaO0HJFuBg== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id A5FE113724; Tue, 27 Aug 2024 15:27:09 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id hmVCJ03wzWbUJAAAD6G6ig (envelope-from ); Tue, 27 Aug 2024 15:27:09 +0000 Date: Tue, 27 Aug 2024 17:27:02 +0200 From: Petr Vorel To: Chuck Lever III Message-ID: <20240827152702.GA1634061@pevik> References: <20240823064640.GA1217451@pevik> <172445038410.6062.6091007925280806767@noble.neil.brown.name> <9afef16d-52b2-435d-902a-7ccfa5824968@suse.cz> <20240827132242.GA1627011@pevik> <44DF7F99-3FDA-46C0-BC93-B6679F04B7AB@oracle.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <44DF7F99-3FDA-46C0-BC93-B6679F04B7AB@oracle.com> X-Rspamd-Queue-Id: 0163121B0E X-Spamd-Result: default: False [-3.71 / 50.00]; BAYES_HAM(-3.00)[100.00%]; NEURAL_HAM_LONG(-1.00)[-1.000]; MID_RHS_NOT_FQDN(0.50)[]; HAS_REPLYTO(0.30)[pvorel@suse.cz]; R_DKIM_ALLOW(-0.20)[suse.cz:s=susede2_rsa,suse.cz:s=susede2_ed25519]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; MX_GOOD(-0.01)[]; DKIM_SIGNED(0.00)[suse.cz:s=susede2_rsa,suse.cz:s=susede2_ed25519]; TO_DN_SOME(0.00)[]; FUZZY_BLOCKED(0.00)[rspamd.com]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; TO_DN_EQ_ADDR_SOME(0.00)[]; RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from]; DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCPT_COUNT_SEVEN(0.00)[7]; RCVD_VIA_SMTP_AUTH(0.00)[]; RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received]; DKIM_TRACE(0.00)[suse.cz:+]; MISSING_XM_UA(0.00)[]; REPLYTO_EQ_FROM(0.00)[] X-Rspamd-Server: rspamd2.dmz-prg2.suse.org X-Rspamd-Action: no action X-Virus-Scanned: clamav-milter 1.0.3 at in-4.smtp.seeweb.it X-Virus-Status: Clean Subject: Re: [LTP] [PATCH v2 1/1] nfsstat01: Update client RPC calls for kernel 6.9 X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Petr Vorel Cc: Linux NFS Mailing List , Neil Brown , Josef Bacik , linux-stable , "ltp@lists.linux.it" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ltp-bounces+ltp=archiver.kernel.org@lists.linux.it Sender: "ltp" SGkgYWxsLAoKPiA+IE9uIEF1ZyAyNywgMjAyNCwgYXQgOToyMuKAr0FNLCBQZXRyIFZvcmVsIDxw dm9yZWxAc3VzZS5jej4gd3JvdGU6Cgo+ID4gSGkgYWxsLAoKPiA+PiBPbiAyMy4gMDguIDI0IDIz OjU5LCBOZWlsQnJvd24gd3JvdGU6Cj4gPj4+IE9uIEZyaSwgMjMgQXVnIDIwMjQsIFBldHIgVm9y ZWwgd3JvdGU6Cj4gPj4+PiBXZSBkaXNjdXNzZWQgaW4gdjEgaG93IHRvIGZpeCB0ZXN0cy4gIE5l aWwgc3VnZ2VzdGVkIHRvIGZpeCB0aGUgdGVzdCB0aGUgd2F5IHNvCj4gPj4+PiB0aGF0IGl0IHdv cmtzIG9uIGFsbCBrZXJuZWxzLiBBcyBJIG5vdGUgWzFdCgo+ID4+Pj4gMSkgZWl0aGVyIHdlIGdp dmUgdXAgb24gY2hlY2tpbmcgdGhlIG5ldyBmdW5jdGlvbmFsaXR5IHN0aWxsIHdvcmtzIChpZiB3 ZQo+ID4+Pj4gZmFsbGJhY2sgdG8gb2xkIGJlaGF2aW9yKQoKPiA+Pj4gSSBkb24ndCB1bmRlcnN0 YW5kLiAgV2hhdCBleGFjdGx5IGRvIHlvdSBtZWFuIGJ5ICJ0aGUgbmV3Cj4gPj4+IGZ1bmN0aW9u YWxpdHkiLgo+ID4+PiBBcyBJIHVuZGVyc3RhbmQgaXQgdGhlcmUgaXMgbm8gbmV3IGZ1bmN0aW9u YWxpdHkuICBBbGwgdGhlcmUgd2FzIHdhcyBhbmQKPiA+Pj4gaW5mb3JtYXRpb24gbGVhayBiZXR3 ZWVuIG5ldHdvcmsgbmFtZXNwYWNlcywgYW5kIHdlIHN0b3BwZWQgdGhlIGxlYWsuCj4gPj4+IERv IHlvdSBjb25zaWRlciB0aGF0IHRvIGJlIG5ldyBmdW5jdGlvbmFsaXR5PwoKPiA+IFRoYW5rcyBN YXJ0aW4gZm9yIGp1bXBpbmcgaW4uIEkgaG9wZWQgSSB3YXMgY2xlYXIsIGJ1dCBvYnZpb3VzbHkg bm90LgoKPiA+IEZvbGxvd2luZyBhcmUgdGhlIHF1ZXN0aW9ucyBmb3Iga2VybmVsIG1haW50YWlu ZXJzIGFuZCBkZXZlbG9wZXJzLiBJIHB1dCBteQo+ID4gb3BpbmlvbiwgYnV0IGl0J3MgcmVhbGx5 IHVwIHRvIHlvdSB3aGF0IHlvdSB3YW50IHRvIGhhdmUgdGVzdGVkLgoKPiA+PiBUaGUgbmV3IGZ1 bmN0aW9uYWxpdHkgaXMgdGhhdCB0aGUgcGF0Y2hlcyBhZGQgYSBuZXcgZmlsZSB0byBuZXR3b3Jr Cj4gPj4gbmFtZXNwYWNlczogL3Byb2MvbmV0L3JwYy9uZnMuIFRoaXMgZmlsZSBkaWQgbm90IGV4 aXN0IG91dHNpZGUgdGhlIHJvb3QKPiA+PiBuZXR3b3JrIG5hbWVzcGFjZSBhdCBsZWFzdCBvbiBz b21lIG9mIHRoZSBrZXJuZWxzIHdoZXJlIHdlIHN0aWxsIG5lZWQgdG8gcnVuCj4gPj4gdGhpcyB0 ZXN0LiBTbyB0aGUgcXVlc3Rpb24gaXM6IEhvdyBhZ2dyZXNzaXZlbHkgZG8gd2Ugd2FudCB0byBl bmZvcmNlCj4gPj4gYmFja3BvcnRpbmcgb2YgdGhlc2UgTkZTIHBhdGNoZXMgaW50byBkaXN0cm9z IHdpdGggb2xkZXIga2VybmVscz8KCj4gPj4gV2UgaGF2ZSAzIG9wdGlvbnMgaG93IHRvIGZpeCB0 aGUgdGVzdCBkZXBlbmRpbmcgb24gdGhlIGFuc3dlcjoKPiA+PiAxKSBEb24ndCBlbmZvcmNlIGF0 IGFsbC4gV2UnbGwgY2hlY2sgd2hldGhlciAvcHJvYy9uZXQvcnBjL25mcyBleGlzdHMgaW4gdGhl Cj4gPj4gY2xpZW50IG5hbWVzcGFjZSBhbmQgcmVhZCBpdCBvbmx5IGlmIGl0IGRvZXMuIE90aGVy d2lzZSB3ZSdsbCBmYWxsIGJhY2sgb24KPiA+PiB0aGUgZ2xvYmFsIGZpbGUuCgo+ID4gMSkgaXMg SU1ITyB0aGUgd29yc3QgY2FzZSBiZWNhdXNlIGl0J3Mgbm90IHRlc3RpbmcgcGF0Y2ggZ2V0cyBy ZXZlcnRlZC4KCj4gPj4gMikgRW5mb3JjZSBhZ2dyZXNzaXZlbHkuIFdlJ2xsIGhhcmRjb2RlIGEg bWluaW1hbCBrZXJuZWwgdmVyc2lvbiBpbnRvIHRoZQo+ID4+IHRlc3QgKGUuZy4gdjUuNCkgYW5k IGlmIHRoZSBwcm9jZmlsZSBkb2Vzbid0IGV4aXN0IG9uIGFueSBuZXdlciBrZXJuZWwsIGl0J3MK PiA+PiBhIGJ1Zy4KCj4gPiBJIHdvdWxkIHByZWZlciAyKSwgd2hpY2ggaXMgdGhlIHVzdWFsIExU UCBhcHByb2FjaCAoZG8gbm90IGhpZGUgYnVncywgd2UgZXZlbgo+ID4gZmFpbCBvbiB1cHN0cmVh bSBrZXJuZWwgV09OVEZJWCBbMV0sIHdoeSB3ZSBzaG91bGQgcmVmdXNlIHRoZSBwb2xpY3kgaGVy ZT8pLgoKPiAyKSBtYWtlcyBzZW5zZSB0byBtZS4KClRoYW5rcyBmb3IgeW91ciBvcGluaW9uLiBJ J2xsIHNlbmQgYW5vdGhlciB2ZXJzaW9uICgrIHN0aWxsIHdhaXQgZm9yIG90aGVycyBpbnB1dCku CgpLaW5kIHJlZ2FyZHMsClBldHIKCj4gPiBXaGljaGV2ZXIgb2xkZXIgTFRTIHVwc3RyZWFtIGtl cm5lbCBnZXRzIGZpeGVkIHdvdWxkIGRyaXZlIHRoZSBsaW5lIHdoZXJlIG5ldwo+ID4gZnVuY3Rp b25hbGl0eSBpcyByZXF1ZXN0ZWQgKGN1cnJlbnRseSB2NS4xNCwgSSBzdXBwb3NlIGF0IGxlYXN0 IDUuMTAgd2lsbCBhbHNvCj4gPiBiZSBmaXhlZCkuIExUUCBhbHNvIGhhcyBhIHdheSB0byBzcGVj aWZ5IGVudGVycHJpc2UgZGlzdHJvIGtlcm5lbCB2ZXJzaW9uIGlmCj4gPiBvbGRlciBlbnRlcnBy aXNlIGtlcm5lbCBhbHNvIGdldHMgZml4ZWQgKHRoaXMgc2hvdWxkIG5vdCBiZSBuZWVkZWQsIGJ1 dCBpdCdkIGJlCj4gPiBwb3NzaWJsZSkuCgo+ID4+IDMpIEVuZm9yY2Ugb24gbmV3IGtlcm5lbHMg b25seS4gV2UnbGwgc2V0IGEgaGFyZCByZXF1aXJlbWVudCBmb3Iga2VybmVsCj4gPj4gdjYuOSsg YXMgaW4gb3B0aW9uIDIpIGFuZCBjaGVjayBmb3IgZXhpc3RlbmNlIG9mIHRoZSBwcm9jZmlsZSBv biBhbnkgb2xkZXIKPiA+PiBrZXJuZWxzIGFzIGluIG9wdGlvbiAxKS4KCj4gPiBEdWUgd2F5IHRv IHNwZWNpZnkgZW50ZXJwcmlzZSBkaXN0cm8ga2VybmVsIHZlcnNpb24gYW5kIHVwc3RyZWFtIGtl cm5lbCB0ZXN0aW5nCj4gPiBleHBlY3RpbmcgcGVvcGxlIHVwZGF0ZSB0byB0aGUgbGF0ZXN0IHN0 YWJsZS9MVFMgd2Ugc2hvdWxkIG5vdCB3b3JyeSBtdWNoIGFib3V0Cj4gPiBwZW9wbGUgd2l0aCBv bGRlciBrZXJuZWxzLgoKPiA+IEtpbmQgcmVnYXJkcywKPiA+IFBldHIKCj4gPiBbMV0gaHR0cHM6 Ly9naXRodWIuY29tL2xpbnV4LXRlc3QtcHJvamVjdC9sdHAvYmxvYi9tYXN0ZXIvdGVzdGNhc2Vz L2tlcm5lbC9zeXNjYWxscy91c3RhdC91c3RhdDAxLmMjTDQ4LUw0OQoKLS0gCk1haWxpbmcgbGlz dCBpbmZvOiBodHRwczovL2xpc3RzLmxpbnV4Lml0L2xpc3RpbmZvL2x0cAo=