Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp381288pxf; Wed, 24 Mar 2021 07:13:38 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzc2eXWgdufE/+SPJgHYkOhRNvxDyctwir7YctMcpR6WvUbWrLUghVqnsAR3YOAT0I2a8Hg X-Received: by 2002:a05:6402:158d:: with SMTP id c13mr3601050edv.297.1616595218753; Wed, 24 Mar 2021 07:13:38 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1616595218; cv=pass; d=google.com; s=arc-20160816; b=zv0KLrsUuvn0IcuINYRlqaNTpm38JYe4sk93c+lCmrBEbOZiN1xsu+epskptwLqMYD db1ApCkGtFRKrqsSIZpa1kRCifsdirsUTjxDV0+WrQDXprESl1h2Umv+OD2b9ZlHIi3d KDWQOiRgEddt2+gYjr1CIKfcAQQQWoBxq+PFm0BSQtaUWMMRUyPKHOnCOQoFYHdsoG1l sENKH0CQxhcBx3bmbpyF6gK37K2qyCeeYQDd/n6/pf8NPa8CuPdFmH6hJQUhvCChI7L1 E45QB/F7fHkipx9zvF8zS6hzBeCC6N8dApmVulPWF+6GBmz8cy4i8VM4oIZzcUj4Yis2 EMGQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-id:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from :dkim-signature; bh=Y3sB1DzMxO/r5fxPJvLWjHl1UerIYSavGV+t6UGg0G8=; b=g+IcQFAn3HGQIc4Teq92cNZm6iYKEiO8Qs1bMS8idOAqR+zKuW5FVfl1ja8b0+n3oO AIAIArnl0Y5KrfNe3yv7cQgkMejgqniaYS3DtwwJeipUUjz+BJjW0rlTpDZmu9UrZFfo b+P5j8AZxVqqEsq1XVAXp0yY9ITJIt1tdrkpuuulpG526kAVRdm2ApDiG/TZ7HyJwxUe UP+7uJzmQZySFrxJ+OVw1qWqoC+7DoTXo+Z2Hq7ee64Kl07PZgsBomjmEQBoHrXYcZjC vtAmNoZ0lEPlOkOQfiBRP+A8auT7K1gxo0weQchS5zEN5lcENczlZKy0s+EW/W5hQAE9 tw2w== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b=OR+NeK8b; arc=pass (i=1 spf=pass spfdomain=hammerspace.com dkim=pass dkdomain=hammerspace.com dmarc=pass fromdomain=hammerspace.com); spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=hammerspace.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id di21si1810006edb.524.2021.03.24.07.13.00; Wed, 24 Mar 2021 07:13:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b=OR+NeK8b; arc=pass (i=1 spf=pass spfdomain=hammerspace.com dkim=pass dkdomain=hammerspace.com dmarc=pass fromdomain=hammerspace.com); spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=hammerspace.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236091AbhCXOLv (ORCPT + 99 others); Wed, 24 Mar 2021 10:11:51 -0400 Received: from mail-bn7nam10on2139.outbound.protection.outlook.com ([40.107.92.139]:59137 "EHLO NAM10-BN7-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S236088AbhCXOLp (ORCPT ); Wed, 24 Mar 2021 10:11:45 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PRfhRxTD6LMoAFtVcl7JeenSGkTs+/5EP/gDRPcvwiH/AFEJLMU/8QQYU/6NCBK/RUasEGlvT/n65RJROrknh/0lcsKldoQus/Tt8TPDe+SVlV7GQ9XTJvD/G5zpNSyvg+V4Y+LDRQ1IQxdoSN8F15bnPnCBauG8+8G4Ur90EPfY53DxO371hqZAfMx6HZhDpupRkZQ1UqSwovdjBET/IuDzp+qrYDkC0eSaPrK90eq0Sy+JE/nDOWX6RYx9r+LiImGgpV1haY6WJbgThgjOOu6Rul38xENL7zw2PX+FCvkMYOeLnz8dTmuEX6mIy7a4BLMeyjF4tRSJ9o+D0rvPqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Y3sB1DzMxO/r5fxPJvLWjHl1UerIYSavGV+t6UGg0G8=; b=BHaDMYncKxfhh478q0sZYTQBgJfBortM685mrWE2FBXQXSH9RXJao9A16kYFPC390OtgN8k1KiVZltIvQQnjOwbBGKbdp+lFcc7sHL/kNI58kU9tNU++WDE91NTtfKxy756IwWRTfWyD4ddxJmEe5JtBENU+KOf8IqFDNzIfNQ3aTJs+7Kb3HS1U4oKsEEDf3I0Pm4dzvCPW+ShTJlt1PT2capfij8xClzMb/uQYSVCL7yMC3D92IaB4uwD7aVDlPdlm8aeY2Ja8Yr2jUScibNJ37DL3Lr3JOVV7AyLH0GBhGElmgEb4pJvjKj5UuFImshFIcgiHcPRdWZCLn3m/rQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hammerspace.com; dmarc=pass action=none header.from=hammerspace.com; dkim=pass header.d=hammerspace.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hammerspace.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Y3sB1DzMxO/r5fxPJvLWjHl1UerIYSavGV+t6UGg0G8=; b=OR+NeK8bYK91e1Kjn+aH5SFntM8QvAsh6CGmYu5t284GXcG1SDl/MrZJ8elc/ZSaPCg5S2xPAdMU5fDysIzZ4LhSrKmZrMJJ5xaQSX35oBrvavyDcDr7BuzBr3SPNtiQbOEJSqSrl2kzFQ6LrPySafIcI0BDVTwWW2sYf14YLh4= Received: from CH2PR13MB3525.namprd13.prod.outlook.com (2603:10b6:610:21::29) by CH2PR13MB3493.namprd13.prod.outlook.com (2603:10b6:610:24::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.14; Wed, 24 Mar 2021 14:11:43 +0000 Received: from CH2PR13MB3525.namprd13.prod.outlook.com ([fe80::f453:2dd2:675:d063]) by CH2PR13MB3525.namprd13.prod.outlook.com ([fe80::f453:2dd2:675:d063%3]) with mapi id 15.20.3977.026; Wed, 24 Mar 2021 14:11:42 +0000 From: Trond Myklebust To: "tom@talpey.com" , "Nagendra.Tomar@microsoft.com" , "chuck.lever@oracle.com" CC: "linux-nfs@vger.kernel.org" , "anna.schumaker@netapp.com" Subject: Re: [PATCH 0/5] nfs: Add mount option for forcing RPC requests for one file over one connection Thread-Topic: [PATCH 0/5] nfs: Add mount option for forcing RPC requests for one file over one connection Thread-Index: Adcfp3hcmhRvn3IHQv25MQlIHJPMUAARGOoAAAMHR+AAAek9AAAsUBuAAAGvFwA= Date: Wed, 24 Mar 2021 14:11:42 +0000 Message-ID: References: <5B030422-09B7-470D-9C7A-18C666F5817D@oracle.com> <8ad09054-967e-d58b-1bba-c63aa5362f6f@talpey.com> In-Reply-To: <8ad09054-967e-d58b-1bba-c63aa5362f6f@talpey.com> Accept-Language: en-US, en-GB Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: talpey.com; dkim=none (message not signed) header.d=none;talpey.com; dmarc=none action=none header.from=hammerspace.com; x-originating-ip: [68.36.133.222] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 088539a2-64dc-4af2-9f20-08d8eecec03c x-ms-traffictypediagnostic: CH2PR13MB3493: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5236; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: TSDBpvXofT+niAtcxaLqz36HcOfhWaRKNtlDf0c9kbbFMcM7SaBuIuiFMCv0iqlvK8uW2GhtFTY8B1fevxuVpsPSInV3DND5AGcH4pyu4d1V2xWAmBnIWLs/9H8TU4LHJcfouuCc0SvFaQaO/lVtH8FNiE7F7VWMNJOWUk1DmHNFMTHoPreQtKoNc4RT42afIXwHe4ENAOfJy0IshuCWPb9foPxcJRSx8znXrmSb59oXzGXdfuUp2FjOiFzwviGIbsq7y7W3ZEP1iqb+CV8XdAFswZ9mdCSrOUGYIljAs+DtYIySPkhLTcUl3qAHTJe/RZAcMTWDv3bqqV/eZ/c+oz9Y9opFMGt72Esce+JHNL8jWuaccsOHLslpLqbYQtLtUc/FlvQyc3j5p+4sr/zjhfvrcSZUw1JfZi9DNC150IYt4niWV+TqRALB8Xr+55zfJtd6vXmEaVXeyUYBV2ek3crFo38M1+5x5qpHksBMnfZeoHIFb9Q0ArdU9BxNwDIiCuzonipX0PX36XmtEK5lp5lkzkbeX3UnK/06rbAJmW3DxCchN09wei1Fjqz6kUZQXn4zVS+4KC5tl4ueEv4vSEmo0jFu00MbGp0jIkfTR7czAaZRJIGUOM7818riRJLVuXlCAyXTao1xlPIa0jM5eYwZ5yJ/QXM4/e0dFrEsX4E= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR13MB3525.namprd13.prod.outlook.com;PTR:;CAT:NONE;SFS:(39840400004)(366004)(346002)(376002)(396003)(136003)(316002)(66446008)(2616005)(86362001)(8676002)(45080400002)(38100700001)(71200400001)(6512007)(8936002)(54906003)(110136005)(76116006)(6486002)(66946007)(64756008)(5660300002)(478600001)(2906002)(36756003)(6506007)(4326008)(66574015)(66476007)(83380400001)(53546011)(26005)(186003)(66556008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?ejNFYjJiazN2K2xMMnRoTHA5eW5PcTRFRWF1bTB2QStMS1FSd1dMd01KL3Jr?= =?utf-8?B?blNuUGZhUGpVWGxKdHpBNzlpNlJxalBrWHZ1UmZuVlpNaEVDb1dXb28rcWln?= =?utf-8?B?WU1Ra1YyeEZzS3hXaWIrY29KQkxSQmlGbW9SZHgyT1pKTlNZSFgrWnUrTzlD?= =?utf-8?B?S0xIWFJDNmxjc3FSbkcxYm9kL3FXd3Fvbi95SWNQRmoxeC9aUE5YR1RuUkd3?= =?utf-8?B?N3gwMkVHS3dDZTNjTE1wQ2kwMWNNckYxSWpZRUdsRWdmOFJEZXA0UVVkMTlM?= =?utf-8?B?cU9sdFQ2WWZMWCtuUk5KbUpxcURWS1dSY1hCMWpWNzRySFVLV2ZKUXZsUk9t?= =?utf-8?B?MXc4QlQ5MmVEcGUwN0tOa2RQOXpva3lzZHJxcE81ZEM3b2dXalBpSjE1QkxG?= =?utf-8?B?SWJmMmt4VmpScGtRTmpYVnBGdmJTZDRYOVU1T2Z1c05DdHczOWZVc3oyaHZC?= =?utf-8?B?a2twdFlDbjExU2QyNEJNaGY5TExEbmZBTUZMSkhLZTM3S0x4ZjF1eGRVcjNP?= =?utf-8?B?MG9qbm93cUNQWjYvMzVlWmYyK09JUDVQTFpoY0tkbTlqWDJ2OVJRanA2SGZp?= =?utf-8?B?bVBoRjJtY1BlbWU1dDJtdlFZL1BrQS9pMm1BQmRBMzlUem1tRXlXR1c5SS93?= =?utf-8?B?VjQzWEVCZ09SOS9zT3R1VE94eXQydEIvWm9YSHZTTmNVa0sxZjIwMnFQTjlC?= =?utf-8?B?VWlVS09ORitHTmlCaWF2RzJVQ09hWVhlT0Q1UkJTZXo1ZzVYY0svUC9DNWUx?= =?utf-8?B?a1lGaEpqcURjaEQrK2syRkdrTEp6K3pOSVZ0eTJPcVJrZWo2VHYrN2VKRlBX?= =?utf-8?B?RUIwRW5iOVkwTmR0UUVuOENzK3B5SFFPdUl6MmFWSWdMcjd6SnlZNDB6Riti?= =?utf-8?B?LzNaUzVHbGRSVHBIYm5tbmc4dTlERG9XK2IrY1VmOU1vaENkcnZ4VnZzczhr?= =?utf-8?B?TFNlUlVuTnNWN05DWWNncXJFRGhoMVNyRm1DSVphZ3lvUExLWWtaVEt5YVhW?= =?utf-8?B?RUxleSs3b0RPS0txTzBUeHhUdkJmcWoyUXlndFFneHNTdVFtb2o0VElJMjZK?= =?utf-8?B?SElubzcxU3RPV3BBWERtaWRPanJaWXRPdmRQdnNobC83VkRHZ1FVTytkWGhE?= =?utf-8?B?K0EwWWxsL0lTRVZubkc4anNDMkpHSnBkYnlPM00zb2djL1lyM2luZFFzc3Rl?= =?utf-8?B?aFlVdGpEU0x1dWNlK3RzSTR0emgySDhmNmFRRXltdy9ma2pSN01hYnZxbUk3?= =?utf-8?B?Y1pOR2NEUENNdVdCRDI4RVRuVjV4cXpseWFpTmVJbjlIS3cvaWNUdnc2cEhS?= =?utf-8?B?OXYvdEFQSFdUcUhWUkVjazM5TnZZRlI4eTJlbXFMZDdEUkJ3eHVHTi9EVDhp?= =?utf-8?B?OUZGZWh0MG9tYUp3cVF4bGY1SEltSjgwMms0aWR5eVp6a3U4R01FRDdtdERV?= =?utf-8?B?SGxEN2k2TnFqK0oyM25CZ1k1dEN6VU1rZUVvdE5qNWNkZDd1SzVCWXZwdEJU?= =?utf-8?B?VDl6T0pQUmZFTVk4MmpMKzJSOGJBK3VWWGJNaVBmek9rZWF0cWxNbC8wSklM?= =?utf-8?B?SUk1TkZkQzUrdVRoSGlKYklJOTg1dk1RUnNqVHZ5dExzTytYb3dYaCt1VnU0?= =?utf-8?B?U2xjd0ZUT2JaRWx1S2libVNQclpwY1lKc3NrbHNaRktucTUvVjlJWi9sQkRI?= =?utf-8?B?blVDcmNkcktMSk1PY21QaVdMd2FRaHRKdDB3OGJsRW5yQ0FEVS9PMXVaQVU1?= =?utf-8?Q?gcRJz/NnpRvhA1by8+d5Hx3y+U+B1iAHnMFLdrh?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <96666E7C54F6B24995685862E0ED8B64@namprd13.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: hammerspace.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR13MB3525.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 088539a2-64dc-4af2-9f20-08d8eecec03c X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Mar 2021 14:11:42.6198 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 0d4fed5c-3a70-46fe-9430-ece41741f59e X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: sfHpBRfqKQDZ4AExTK6+ClgbYimhqVqwD4X0AwAvJw1oMdNOiRgE25YMPUzEiiDPXEpEjoT3uq4mUu1wpN4dPw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR13MB3493 Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org T24gV2VkLCAyMDIxLTAzLTI0IGF0IDA5OjIzIC0wNDAwLCBUb20gVGFscGV5IHdyb3RlOg0KPiBP biAzLzIzLzIwMjEgMTI6MTQgUE0sIENodWNrIExldmVyIElJSSB3cm90ZToNCj4gPiANCj4gPiAN Cj4gPiA+IE9uIE1hciAyMywgMjAyMSwgYXQgMTE6NTcgQU0sIE5hZ2VuZHJhIFRvbWFyIDwgDQo+ ID4gPiBOYWdlbmRyYS5Ub21hckBtaWNyb3NvZnQuY29tPiB3cm90ZToNCj4gPiA+IA0KPiA+ID4g PiA+IE9uIE1hciAyMywgMjAyMSwgYXQgMTo0NiBBTSwgTmFnZW5kcmEgVG9tYXINCj4gPiA+ID4g PE5hZ2VuZHJhLlRvbWFyQG1pY3Jvc29mdC5jb20+IHdyb3RlOg0KPiA+ID4gPiA+IA0KPiA+ID4g PiA+IEZyb206IE5hZ2VuZHJhIFMgVG9tYXIgPG5hdG9tYXJAbWljcm9zb2Z0LmNvbT4NCj4gPiA+ ID4gPiANCj4gPiA+ID4gPiBJZiBhIGNsdXN0ZXJlZCBORlMgc2VydmVyIGlzIGJlaGluZCBhbiBM NCBsb2FkYmFsYW5jZXIgdGhlDQo+ID4gPiA+ID4gZGVmYXVsdA0KPiA+ID4gPiA+IG5jb25uZWN0 IHJvdW5kcm9iaW4gcG9saWN5IG1heSBjYXVzZSBSUEMgcmVxdWVzdHMgdG8gYSBmaWxlDQo+ID4g PiA+ID4gdG8gYmUNCj4gPiA+ID4gPiBzZW50IHRvIGRpZmZlcmVudCBjbHVzdGVyIG5vZGVzLiBU aGlzIGlzIGJlY2F1c2UgdGhlIHNvdXJjZQ0KPiA+ID4gPiA+IHBvcnQNCj4gPiA+ID4gPiB3b3Vs ZCBiZSBkaWZmZXJlbnQgZm9yIGFsbCB0aGUgbmNvbm5lY3QgY29ubmVjdGlvbnMuDQo+ID4gPiA+ ID4gV2hpbGUgdGhpcyBzaG91bGQgZnVuY3Rpb25hbGx5IHdvcmsgKHNpbmNlIHRoZSBjbHVzdGVy IHdpbGwNCj4gPiA+ID4gPiB1c3VhbGx5DQo+ID4gPiA+ID4gaGF2ZSBhIGNvbnNpc3RlbnQgdmll dyBpcnJlc3BlY3RpdmUgb2Ygd2hpY2ggbm9kZSBpcyBzZXJ2aW5nDQo+ID4gPiA+ID4gdGhlDQo+ ID4gPiA+ID4gcmVxdWVzdCksIGl0IG1heSBub3QgYmUgZGVzaXJhYmxlIGZyb20gcGVyZm9ybWFu Y2UgcG92LiBBcyBhbg0KPiA+ID4gPiA+IGV4YW1wbGUgd2UgaGF2ZSBhbiBORlN2MyBmcm9udGVu ZCB0byBvdXIgT2JqZWN0IHN0b3JlLCB3aGVyZQ0KPiA+ID4gPiA+IGV2ZXJ5DQo+ID4gPiA+ID4g TkZTdjMgZmlsZSBpcyBhbiBvYmplY3QuIE5vdyBpZiB3cml0ZXMgdG8gdGhlIHNhbWUgZmlsZSBh cmUNCj4gPiA+ID4gPiBzZW50DQo+ID4gPiA+ID4gcm91bmRyb2JpbiB0byBkaWZmZXJlbnQgY2x1 c3RlciBub2RlcywgdGhlIHdyaXRlcyBiZWNvbWUgdmVyeQ0KPiA+ID4gPiA+IGluZWZmaWNpZW50 IGR1ZSB0byB0aGUgY29uc2lzdGVuY3kgcmVxdWlyZW1lbnQgZm9yIG9iamVjdA0KPiA+ID4gPiA+ IHVwZGF0ZQ0KPiA+ID4gPiA+IGJlaW5nIGRvbmUgZnJvbSBkaWZmZXJlbnQgbm9kZXMuDQo+ID4g PiA+ID4gU2ltaWxhcmx5IGVhY2ggbm9kZSBtYXkgbWFpbnRhaW4gc29tZSBraW5kIG9mIGNhY2hl IHRvIHNlcnZlDQo+ID4gPiA+ID4gdGhlIGZpbGUNCj4gPiA+ID4gPiBkYXRhL21ldGFkYXRhIHJl cXVlc3RzIGZhc3RlciBhbmQgZXZlbiBpbiB0aGF0IGNhc2UgaXQgaGVscHMNCj4gPiA+ID4gPiB0 byBoYXZlDQo+ID4gPiA+ID4gYSB4cHJ0IGFmZmluaXR5IGZvciBhIGZpbGUvZGlyLg0KPiA+ID4g PiA+IEluIGdlbmVyYWwgd2UgaGF2ZSBzZWVuIHN1Y2ggc2NoZW1lIHRvIHNjYWxlIHZlcnkgd2Vs bC4NCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBUaGlzIHBhdGNoIGludHJvZHVjZXMgYSBuZXcgcnBj X3hwcnRfaXRlcl9vcHMgZm9yIHVzaW5nIGFuDQo+ID4gPiA+ID4gYWRkaXRpb25hbA0KPiA+ID4g PiA+IHUzMiAoZmlsZWhhbmRsZSBoYXNoKSB0byBhZmZpbmUgUlBDcyB0byB0aGUgc2FtZSBmaWxl IHRvIG9uZQ0KPiA+ID4gPiA+IHhwcnQuDQo+ID4gPiA+ID4gSXQgYWRkcyBhIG5ldyBtb3VudCBv cHRpb24gIm5jcG9saWN5PXJvdW5kcm9iaW58aGFzaCIgd2hpY2gNCj4gPiA+ID4gPiBjYW4gYmUN Cj4gPiA+ID4gPiB1c2VkIHRvIHNlbGVjdCB0aGUgbmNvbm5lY3QgbXVsdGlwYXRoIHBvbGljeSBm b3IgYSBnaXZlbg0KPiA+ID4gPiA+IG1vdW50IGFuZA0KPiA+ID4gPiA+IHBhc3MgdGhlIHNlbGVj dGVkIHBvbGljeSB0byB0aGUgUlBDIGNsaWVudC4NCj4gPiA+ID4gDQo+ID4gPiA+IFRoaXMgc2V0 cyBvZmYgbXkgIm5vdCBhbm90aGVyIGFkbWluaXN0cmF0aXZlIGtub2IgdGhhdCBoYXMNCj4gPiA+ ID4gdG8gYmUgdGVzdGVkIGFuZCBtYWludGFpbmVkLCBhbmQgY2FuIGJlIGFidXNlZCIgYWxsZXJn eS4NCj4gPiA+ID4gDQo+ID4gPiA+IEFsc28sIG15ICJiZWNhdXNlIGNvbm5lY3Rpb25zIGFyZSBz aGFyZWQgYnkgbW91bnRzIG9mIHRoZSBzYW1lDQo+ID4gPiA+IHNlcnZlciwgYWxsIHRob3NlIG1v dW50cyB3aWxsIGFsbCBhZG9wdCB0aGlzIGJlaGF2aW9yIg0KPiA+ID4gPiByaGluaXRpcy4NCj4g PiA+IA0KPiA+ID4gWWVzLCBpdCdzIGZhaXIgdG8gY2FsbCB0aGlzIG91dCwgYnV0IG5jcG9saWN5 IGJlaGF2ZXMgbGlrZSB0aGUNCj4gPiA+IG5jb25uZWN0DQo+ID4gPiBwYXJhbWV0ZXIgaW4gdGhp cyByZWdhcmRzLg0KPiA+ID4gDQo+ID4gPiA+IEFuZCBteSAid2h5IGFkZCBhIG5ldyBmZWF0dXJl IHRvIGEgbGVnYWN5IE5GUyB2ZXJzaW9uIiBoaXZlcy4NCj4gPiA+ID4gDQo+ID4gPiA+IA0KPiA+ ID4gPiBJIGFncmVlIHRoYXQgeW91ciBzY2VuYXJpbyBjYW4gYW5kIHNob3VsZCBiZSBhZGRyZXNz ZWQgc29tZWhvdy4NCj4gPiA+ID4gSSdkIHJlYWxseSByYXRoZXIgc2VlIHRoaXMgZG9uZSB3aXRo IHBORlMuDQo+ID4gPiA+IA0KPiA+ID4gPiBTaW5jZSB5b3UgYXJlIHByb3Bvc2luZyBwYXRjaGVz IGFnYWluc3QgdGhlIHVwc3RyZWFtIE5GUw0KPiA+ID4gPiBjbGllbnQsDQo+ID4gPiA+IEkgcHJl c3VtZSBhbGwgeW91ciBjbGllbnRzIC9jYW4vIHN1cHBvcnQgTkZTdjQuMSsuIEl0J3MgdGhlIE5G Uw0KPiA+ID4gPiBzZXJ2ZXJzIHRoYXQgYXJlIHN0dWNrIG9uIE5GU3YzLCBjb3JyZWN0Pw0KPiA+ ID4gDQo+ID4gPiBZZXMuDQo+ID4gPiANCj4gPiA+ID4gDQo+ID4gPiA+IFRoZSBmbGV4ZmlsZXMg bGF5b3V0IGNhbiBoYW5kbGUgYW4gTkZTdjQuMSBjbGllbnQgYW5kIE5GU3YzDQo+ID4gPiA+IGRh dGENCj4gPiA+ID4gc2VydmVycy4gSW4gZmFjdCBpdCB3YXMgZGVzaWduZWQgZm9yIGV4YWN0bHkg dGhpcyBraW5kIG9mIG1peA0KPiA+ID4gPiBvZg0KPiA+ID4gPiBORlMgdmVyc2lvbnMuDQo+ID4g PiA+IA0KPiA+ID4gPiBObyBjbGllbnQgY29kZSBjaGFuZ2Ugd2lsbCBiZSBuZWNlc3NhcnkgLS0g dGhlcmUgYXJlIGEgbG90IG1vcmUNCj4gPiA+ID4gY2xpZW50cyB0aGFuIHNlcnZlcnMuIFRoZSBN RFMgY2FuIGJlIG1hZGUgdG8gd29yayBzbWFydGx5IGluDQo+ID4gPiA+IGNvbmNlcnQgd2l0aCB0 aGUgbG9hZCBiYWxhbmNlciwgb3ZlciB0aW1lOyBvciBpdCBjYW4gYWRvcHQNCj4gPiA+ID4gb3Ro ZXINCj4gPiA+ID4gY2xldmVyIHN0cmF0ZWdpZXMuDQo+ID4gPiA+IA0KPiA+ID4gPiBJTUhPIHBO RlMgaXMgdGhlIGJldHRlciBsb25nLXRlcm0gc3RyYXRlZ3kgaGVyZS4NCj4gPiA+IA0KPiA+ID4g VGhlIGZ1bmRhbWVudGFsIGRpZmZlcmVuY2UgaGVyZSBpcyB0aGF0IHRoZSBjbHVzdGVyZWQgTkZT djMNCj4gPiA+IHNlcnZlcg0KPiA+ID4gaXMgYXZhaWxhYmxlIG92ZXIgYSBzaW5nbGUgdmlydHVh bCBJUCwgc28gSUlVQyBldmVuIGlmIHdlIHdlcmUgdG8NCj4gPiA+IHVzZQ0KPiA+ID4gTkZTdjQx IHdpdGggZmxleGZpbGVzIGxheW91dCwgYWxsIGl0IGNhbiBoYW5kb3ZlciB0byB0aGUgY2xpZW50 DQo+ID4gPiBpcyB0aGF0IHNpbmdsZQ0KPiA+ID4gKGxvYWQtYmFsYW5jZWQpIHZpcnR1YWwgSVAg YW5kIG5vdyB3aGVuIHRoZSBjbGllbnRzIGRvIGNvbm5lY3QgdG8NCj4gPiA+IHRoZQ0KPiA+ID4g TkZTdjMgRFMgd2Ugc3RpbGwgaGF2ZSB0aGUgc2FtZSBpc3N1ZS4gQW0gSSB1bmRlcnN0YW5kaW5n IHlvdQ0KPiA+ID4gcmlnaHQ/DQo+ID4gPiBDYW4geW91IHBscyBlbGFib3JhdGUgd2hhdCB5b3Ug bWVhbiBieSAiTURTIGNhbiBiZSBtYWRlIHRvIHdvcmsNCj4gPiA+IHNtYXJ0bHkgaW4gY29uY2Vy dCB3aXRoIHRoZSBsb2FkIGJhbGFuY2VyIj8NCj4gPiANCj4gPiBJIGhhZCB0aG91Z2h0IHRoZXJl IHdlcmUgbXVsdGlwbGUgTkZTdjMgc2VydmVyIHRhcmdldHMgaW4gcGxheS4NCj4gPiANCj4gPiBJ ZiB0aGUgbG9hZCBiYWxhbmNlciBpcyBtYWtpbmcgdGhlbSBsb29rIGxpa2UgYSBzaW5nbGUgSVAg YWRkcmVzcywNCj4gPiB0aGVuIHRha2UgaXQgb3V0IG9mIHRoZSBlcXVhdGlvbjogZXhwb3NlIGFs bCB0aGUgTkZTdjMgc2VydmVycyB0bw0KPiA+IHRoZSBjbGllbnRzIGFuZCBsZXQgdGhlIE1EUyBk aXJlY3Qgb3BlcmF0aW9ucyB0byBlYWNoIGRhdGEgc2VydmVyLg0KPiA+IA0KPiA+IEFJVUkgdGhp cyBpcyB0aGUgYXBwcm9hY2ggKHdpdGhvdXQgdGhlIHVzZSBvZiBORlN2MykgdGFrZW4gYnkNCj4g PiBOZXRBcHAgbmV4dCBnZW5lcmF0aW9uIGNsdXN0ZXJzLg0KPiANCj4gSXQgY2VydGFpbmx5IHNv dW5kcyBsaWtlIHRoZSBsb2FkIGJhbGFuY2VyIGlzIGFjdHVhbGx5IHBlcmZvcm1pbmcgYQ0KPiBz dG9yYWdlIHJvdXRlciBmdW5jdGlvbiBoZXJlLCBhbmQgcm91bmRyb2JpbiBpcyBnb2luZyB0byB0 aHJhc2ggdGhhdA0KPiBiYWRseS4gSSdtIG5vdCBzdXJlIHRoYXQgZXhwb3NpbmcgYSBtYWdpYyAi aGFzaCIga25vYiBpcyBhIHZlcnkgZ29vZA0KPiBzb2x1dGlvbiB0aG91Z2guIFB1c2hpbmcgZGVj aXNpb25zIHRvIHRoZSBzeXNhZG1pbiBpcyByYXJlbHkgYSBncmVhdA0KPiBhcHByb2FjaC4NCj4g DQo+IFdoeSBub3Qgc2ltcGx5IGFyZ3VlIHRoYXQgImhhc2giIGlzIHRoZSBiZXR0ZXIgYWxnb3Jp dGhtLCBhbmQgcHJvdmUNCj4gdGhhdCBpdCBiZSB0aGUgZGVmYXVsdD8gSXMgdGhhdCBub3QgdGhl IGNhc2U/DQo+IA0KPiANCg0KSXQncyBub3QsIG5vLiBTbyB3ZSdyZSBub3QgbWFraW5nIHRoYXQg YSBkZWZhdWx0Lg0KDQpQdXNoaW5nIGFsbCB0aGUgSS9PIHRvIGEgc2luZ2xlIGZpbGUgdGhyb3Vn aCBhIHNpbmdsZSBUQ1Agb25seSBtYWtlcw0Kc2Vuc2UgaWYgeW91IGhhdmUgYSBzZXR1cCBsaWtl IHRoZSBvbmUgTmFnZW5kcmEgaXMgZGVzY3JpYmluZy4NCk90aGVyd2lzZSwgeW91J3JlIGJldHRl ciBvZmYgc3ByZWFkaW5nIGl0IGFjcm9zcyBtdWx0aXBsZSBjb25uZWN0aW9ucw0KKGFzc3VtaW5n IHRoYXQgeW91IGhhdmUgbXVsdGlwbGUgTklDcykuDQoNCj4gVG9tLg0KPiANCj4gPiA+ID4gPiBJ dCBhZGRzIGEgbmV3IHJwY19wcm9jaW5mbyBtZW1iZXIgcF9maGhhc2gsIHdoaWNoIGNhbiBiZQ0K PiA+ID4gPiA+IHN1cHBsaWVkDQo+ID4gPiA+ID4gYnkgdGhlIHNwZWNpZmljIFJQQyBwcm9ncmFt cyB0byByZXR1cm4gYSB1MzIgaGFzaCBvZiB0aGUNCj4gPiA+ID4gPiBmaWxlL2RpciB0aGUNCj4g PiA+ID4gPiBSUEMgaXMgdGFyZ2V0dGluZywgYW5kIGxhc3RseSBpdCBwcm92aWRlcyBwX2ZoaGFz aA0KPiA+ID4gPiA+IGltcGxlbWVudGF0aW9uDQo+ID4gPiA+ID4gZm9yIHZhcmlvdXMgTkZTIHYz L3Y0L3Y0MS92NDIgUlBDcyB0byBnZW5lcmF0ZSB0aGUgaGFzaA0KPiA+ID4gPiA+IGNvcnJlY3Rs eS4NCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBUaG91Z2h0cz8NCj4gPiA+ID4gPiANCj4gPiA+ID4g PiBUaGFua3MsDQo+ID4gPiA+ID4gVG9tYXINCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBOYWdlbmRy YSBTIFRvbWFyICg1KToNCj4gPiA+ID4gPiBTVU5SUEM6IEFkZCBhIG5ldyBtdWx0aXBhdGggeHBy dCBwb2xpY3kgZm9yIHhwcnQgc2VsZWN0aW9uDQo+ID4gPiA+ID4gYmFzZWQNCj4gPiA+ID4gPiDC oMKgIG9uIHRhcmdldCBmaWxlaGFuZGxlIGhhc2gNCj4gPiA+ID4gPiBTVU5SUEMvTkZTdjMvTkZT djQ6IEludHJvZHVjZSAiZW51bSBuY3BvbGljeSIgdG8gcmVwcmVzZW50DQo+ID4gPiA+ID4gdGhl DQo+ID4gPiA+IG5jb25uZWN0DQo+ID4gPiA+ID4gwqDCoCBwb2xpY3kgYW5kIHBhc3MgaXQgZG93 biBmcm9tIG1vdW50IG9wdGlvbiB0byBycGMgbGF5ZXINCj4gPiA+ID4gPiBTVU5SUEMvTkZTdjQ6 IFJlbmFtZSBSUENfVEFTS19OT19ST1VORF9ST0JJTiAtPg0KPiA+ID4gPiBSUENfVEFTS19VU0Vf TUFJTl9YUFJUDQo+ID4gPiA+ID4gTkZTdjM6IEFkZCBoYXNoIGNvbXB1dGF0aW9uIG1ldGhvZHMg Zm9yIE5GU3YzIFJQQ3MNCj4gPiA+ID4gPiBORlN2NDogQWRkIGhhc2ggY29tcHV0YXRpb24gbWV0 aG9kcyBmb3IgTkZTdjQvTkZTdjQyIFJQQ3MNCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBmcy9uZnMv Y2xpZW50LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgwqAg MyArDQo+ID4gPiA+ID4gZnMvbmZzL2ZzX2NvbnRleHQuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfMKgIDI2ICsrDQo+ID4gPiA+ID4gZnMvbmZzL2ludGVybmFsLmjCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoCAyICsNCj4gPiA+ID4gPiBmcy9u ZnMvbmZzM2NsaWVudC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoCA0 ICstDQo+ID4gPiA+ID4gZnMvbmZzL25mczN4ZHIuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfCAxNTQgKysrKysrKysrKysNCj4gPiA+ID4gPiBmcy9uZnMvbmZzNDJ4 ZHIuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMTEyICsrKysrKysr DQo+ID4gPiA+ID4gZnMvbmZzL25mczRjbGllbnQuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgfMKgIDE0ICstDQo+ID4gPiA+ID4gZnMvbmZzL25mczRwcm9jLmPCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMTggKy0NCj4gPiA+ID4gPiBmcy9uZnMv bmZzNHhkci5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDUxNg0K PiA+ID4gPiA+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tDQo+ID4gPiA+ID4g ZnMvbmZzL3N1cGVyLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB8wqDCoCA3ICstDQo+ID4gPiA+ID4gaW5jbHVkZS9saW51eC9uZnNfZnNfc2IuaMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfMKgwqAgMSArDQo+ID4gPiA+ID4gaW5jbHVkZS9saW51eC9zdW5ycGMv Y2xudC5owqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAxNSArDQo+ID4gPiA+ID4gaW5jbHVkZS9saW51 eC9zdW5ycGMvc2NoZWQuaMKgwqDCoMKgwqDCoMKgwqAgfMKgwqAgMiArLQ0KPiA+ID4gPiA+IGlu Y2x1ZGUvbGludXgvc3VucnBjL3hwcnRtdWx0aXBhdGguaCB8wqDCoCA5ICstDQo+ID4gPiA+ID4g aW5jbHVkZS90cmFjZS9ldmVudHMvc3VucnBjLmjCoMKgwqDCoMKgwqDCoCB8wqDCoCA0ICstDQo+ ID4gPiA+ID4gbmV0L3N1bnJwYy9jbG50LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB8wqAgMzggKystDQo+ID4gPiA+ID4gbmV0L3N1bnJwYy94cHJ0bXVsdGlwYXRoLmPC oMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgOTEgKysrKystDQo+ID4gPiA+ID4gMTcgZmlsZXMgY2hh bmdlZCwgOTEzIGluc2VydGlvbnMoKyksIDEwMyBkZWxldGlvbnMoLSkNCj4gPiA+ID4gDQo+ID4g PiA+IC0tDQo+ID4gPiA+IENodWNrIExldmVyDQo+ID4gDQo+ID4gLS0NCj4gPiBDaHVjayBMZXZl cg0KPiA+IA0KPiA+IA0KPiA+IA0KPiA+IA0KDQotLSANClRyb25kIE15a2xlYnVzdA0KTGludXgg TkZTIGNsaWVudCBtYWludGFpbmVyLCBIYW1tZXJzcGFjZQ0KdHJvbmQubXlrbGVidXN0QGhhbW1l cnNwYWNlLmNvbQ0KDQoNCg==