Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp880580ybz; Fri, 17 Apr 2020 11:42:33 -0700 (PDT) X-Google-Smtp-Source: APiQypLmZTM203PFnxxxkonElSNitDirynBo8rNLCyZCydypDYTKWH1fD1M0XIXJ6OP2chHCs0aG X-Received: by 2002:a05:6402:17f0:: with SMTP id t16mr4321646edy.157.1587148953461; Fri, 17 Apr 2020 11:42:33 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1587148953; cv=pass; d=google.com; s=arc-20160816; b=nzt5vtTzVXOgpNzHcdYyVKu+KXnBElxM5IRgkZmjrnYH4oBc2GIYRMhnBm50xrRPNl WRUlEwrvYC6SWBcvsKC86wEqQQN7Cd8gJMRrH1u3GFNOOiV7CVuC/j7KT6JgDDplKcCc M+j3vplpF2j4gP/8q8briZ0ErwBTmon1Qv6VQklQj/RrUV/kv4mEaHC40gfpbHkXLhAV ifEH7/nPfx/FZK02IYXi8BF2ZKbK7BRaxVyrR+B+8RjM1zx72xnx5LW75OhSmqWFxlEb w8Av+Be43+Bbgl57WFJE9WVZhmEueVlFx1Aow1T64LJVWG5CEEs85gJ3PwcF6ndMYpEQ ZIZA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender: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=ZWb9sN6oe2iE3QWeHn8qDxrqA18NvlCx77bG3JfmcgU=; b=zj00hlBP8dRmojqEaB0joM0yau3zef7Ujplgs4W8kII4YmTCfWtHyPmNCDuXJn7SFE 72k+oyRRB/fFm0PoJ0PTrnjb2xPPxr5zAoL21FNxb0ki3q0vmucmfWS3bohsN+16a7zb Zc9HoIWS9pwvwIwXxToAdxrOXj25794p/0/MA6TVNbt6I+ZRYGVcBncAfiyhz1CiJDK3 R9njMInGguzrMRr/HYQEU02Cm+oOP5spgNP1NSHLCNfEoxq3wdVpsSBHzg4V9V1sdWAf xW0p8xc4yKQsyKI+AvkMMg85DTeG8+FQCUpg7/dhDcO/NdwJ2cP0Fz6h+XnEUnqBQcB8 rtmQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b=OgcmLygO; 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 m18si13981620eda.110.2020.04.17.11.41.52; Fri, 17 Apr 2020 11:42:33 -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=OgcmLygO; 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 S1728887AbgDQSln (ORCPT + 99 others); Fri, 17 Apr 2020 14:41:43 -0400 Received: from mail-co1nam11on2130.outbound.protection.outlook.com ([40.107.220.130]:30432 "EHLO NAM11-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726750AbgDQSlm (ORCPT ); Fri, 17 Apr 2020 14:41:42 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=P3v0E3PzA8aaR73j6I6RwKokYyw1eHh1Npr3mPczvL3DjvHg9j81rkWl8AebAPvdYL9YFEWl/t3WUhaqmMYi6W3pdzQD1e8wmpB7QEyGZ9bkLow/l4X4fRjoMe603PodGDsmqqQXAiVQIhQiDSwjCXImAoWne/dCqQWy2yG8hYy4HxGOb9zSBfQsWvUN822Kcht96Jv+IyYUyz4ZfKwUNdP/VlsI2I5SHtm71zxAhJpfG8gzDySxKiAKsyUnEX2dyP3dxKKcFPfieJEAbQx4tg/e3CxPMnl0kppSIzZ2T6vNf9xJs58Oy5lWVoTWlqdfa5ITUV9OsOyewW2x8fX/tA== 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=ZWb9sN6oe2iE3QWeHn8qDxrqA18NvlCx77bG3JfmcgU=; b=C4fX9xtjXp9gtEpwv7IahJE37OCc3WH8nDspW4VajuZx1LMC/z3zh47RTJQMLX3WFl9i1SztJ6NLMbtXlSoxT5Vcii95tlEGDt3779CyINRYJaTSCAes4HBNYSdH9LbYBiEt31QCHBQILo8v6nGgbjQVZjv3la9hg8DruTcSLuWUIhMswN/gyZ60NXHxgtYmef8Q8LXmlFD8N0KTfiz4XCHyt8FjyPlWTo73v9cO0zSjezE2XeifIl2NPFmIrz5gUrx91elfwHERXhlV82zEipmcJ3O2QW+Emo9LqV9jS/Ax6xQXtUDK8yZBO2RL9BgwDX/UXqi1UVKRGaJAjT0DGA== 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=ZWb9sN6oe2iE3QWeHn8qDxrqA18NvlCx77bG3JfmcgU=; b=OgcmLygOh3Uj6aOtVze/jzhlVCETPuUjHg3u3TFdzTI59cUV4w1PCZIgdgpY9RYWSNUQVueurVLl+LzqeSF8xkfam5e7lo60EkwnIVm/NTOMipU9EcwaIBk0a7weiPe+Wa7UzqvX9FQqvWqskK3cfZnDasAa8PwHg/dTqW/WPxg= Received: from CH2PR13MB3398.namprd13.prod.outlook.com (2603:10b6:610:2a::33) by CH2PR13MB3637.namprd13.prod.outlook.com (2603:10b6:610:90::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2937.6; Fri, 17 Apr 2020 18:41:36 +0000 Received: from CH2PR13MB3398.namprd13.prod.outlook.com ([fe80::49f6:ce9b:9803:2493]) by CH2PR13MB3398.namprd13.prod.outlook.com ([fe80::49f6:ce9b:9803:2493%6]) with mapi id 15.20.2937.007; Fri, 17 Apr 2020 18:41:36 +0000 From: Trond Myklebust To: "olga.kornievskaia@gmail.com" CC: "linux-nfs@vger.kernel.org" , "anna.schumaker@netapp.com" Subject: Re: [PATCH 1/1] NFSv4.1: fix lone sequence transport assignment Thread-Topic: [PATCH 1/1] NFSv4.1: fix lone sequence transport assignment Thread-Index: AQHWFMsRjFm2JNXk8kav0WOkI+SUpah9cM+AgAADbACAAApfgIAAB24AgAAB0wCAABUKAIAACSgA Date: Fri, 17 Apr 2020 18:41:36 +0000 Message-ID: References: <20200417151540.22111-1-olga.kornievskaia@gmail.com> <9c6c72708f360f543e2b8caaf56cc074aa825c96.camel@hammerspace.com> <7dd1b9300d2a0ec1a31fb3879c62a94f535ccad5.camel@hammerspace.com> <52b65780986192bb635638d4615176bbc1ad579c.camel@hammerspace.com> In-Reply-To: Accept-Language: en-US, en-GB Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=trondmy@hammerspace.com; x-originating-ip: [68.36.133.222] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3406f841-de92-4cf0-f6e6-08d7e2fef59b x-ms-traffictypediagnostic: CH2PR13MB3637: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 0376ECF4DD x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR13MB3398.namprd13.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(366004)(136003)(39830400003)(346002)(376002)(396003)(316002)(36756003)(6486002)(86362001)(2906002)(6512007)(6916009)(5660300002)(54906003)(91956017)(186003)(6506007)(2616005)(66476007)(478600001)(66446008)(66946007)(66556008)(4326008)(76116006)(8676002)(71200400001)(81156014)(26005)(64756008)(8936002)(53546011);DIR:OUT;SFP:1102; received-spf: None (protection.outlook.com: hammerspace.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: uPVUgTxRYcMYfOhcSI9CgbDgAB8EMIItofJ0kI7G3Gnw69Ljnx4YbjalUnDX5F06SgiHs3eikT+HCnNw9NbAahvd3SbgDbrdbPx2421XNg2iUfo9tO3UHNYNxLhL2qeVBRu8F3XOVtwSYxN7RljQ99UbXGH5xHJIR9KsaFXw78k337cezgAXXKwhscCAUZ31pksH5oAZkn4BKfVXy5J/X07DQXqyyN5XkDd7oeQPjiOVJVMu7eIyx2th7GPgk2bpHDkOMN7qcuvypCu78vaUOholgO9V2Dhcg4BE4GH/A518j06HP8BPjM4i3hiump2YBKOJ6NQKcpwAkTXofI1zssvcziSGGX49jh8YHRpiqN1ZC6Umu+NpbC2GgRlbXs0vGE4Si+WEI+xW5CpygRtcLXHVDf3cBZgSbOTBbJ56kJBzCriZGDTuTa+VvGgCKkIk x-ms-exchange-antispam-messagedata: LXYlMqbz03R/mZkd9pohi+L76mitOWuTHSoUL3YLyE7Gg1PkItrEVTjv+9qIuEF3uXSw2TWSeOyKR7xLl2nLLWYutmryuvlCN+xEqSjKvLU1Spy0jeRqmeaXGxCd0iG1M8J+KVIEjd12fYtHoAadb60RU6nj+wdDDAnEGyDzthp+TxqmO9Yav/+GurN82zY0Z5p/6UJuPPBiul8/F7moQQD+fZ7+6HzmtpKYmDFTOTpBrHVnOuQtdJkeHn3e8AF/TnxoJYnEmqq/AfYoxy+zAVRRSvqMXycVkokRCYKVOyEghOGJojJF8S1o2op4T8SY4IFr+jyE3NMHTxvuioFRIO5NM7PsGjdsz/UwaGgf27Tti5nIVM6RXGoOyAHHQ06eScRPX9aQFuSE4WfK5EctNHS+ynepPMhtcEvhKZQMuPsP1ubx70lLeTciiytYBth9sp7jooo4KXSrdlWSBgswc3OZRyRBQEMr+Mw3zORIZegHje9u4thzqkhPsh78EODMDyktPHHTBvVS4281Ev6YZlxdT8cE1OZE3DQbyaaJTuD8u+37swMb7zvEglJJ8U+WRrTJr0x+0H9v9h+d3wwBG8tPhJw5RaKXVkoYcoCB4LYUfMKySD6s7MGbCX2OE0RLU9NVurBwAPLzpmZQlfnL+jCKcXUtVtS5dex/wUZMRVU6ktl/i9hpYp3R2mo5IrVVilXAD09QIPp5hdrluEQ0lpaylJlHDqSY5g/ZYsrhcEXSN6nmbya3uAjCnN9PgnreyMNzfR8jP8YwVa+ACY7ng2bCExI8DwdC6rI+pDDe+9M= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <005136F64AA5CC43ACE31F11B61B05D2@namprd13.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: hammerspace.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3406f841-de92-4cf0-f6e6-08d7e2fef59b X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Apr 2020 18:41:36.5254 (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: r8QA5cOrMZexVqGjyF24WnG/vWk0K2KmjRZ83DNQ3wCblr8lBJyqmO3Q5AdX7HcaIFy0xqsN2NIyXSndQCa+tw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR13MB3637 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org T24gRnJpLCAyMDIwLTA0LTE3IGF0IDE0OjA4IC0wNDAwLCBPbGdhIEtvcm5pZXZza2FpYSB3cm90 ZToNCj4gT24gRnJpLCBBcHIgMTcsIDIwMjAgYXQgMTI6NTMgUE0gVHJvbmQgTXlrbGVidXN0DQo+ IDx0cm9uZG15QGhhbW1lcnNwYWNlLmNvbT4gd3JvdGU6DQo+ID4gT24gRnJpLCAyMDIwLTA0LTE3 IGF0IDEyOjQ2IC0wNDAwLCBPbGdhIEtvcm5pZXZza2FpYSB3cm90ZToNCj4gPiA+IE9uIEZyaSwg QXByIDE3LCAyMDIwIGF0IDEyOjIwIFBNIFRyb25kIE15a2xlYnVzdA0KPiA+ID4gPHRyb25kbXlA aGFtbWVyc3BhY2UuY29tPiB3cm90ZToNCj4gPiA+ID4gT24gRnJpLCAyMDIwLTA0LTE3IGF0IDEx OjQzIC0wNDAwLCBPbGdhIEtvcm5pZXZza2FpYSB3cm90ZToNCj4gPiA+ID4gPiBIaSBUcm9uZCwN Cj4gPiA+ID4gPiANCj4gPiA+ID4gPiBPbiBGcmksIEFwciAxNywgMjAyMCBhdCAxMTozMSBBTSBU cm9uZCBNeWtsZWJ1c3QNCj4gPiA+ID4gPiA8dHJvbmRteUBoYW1tZXJzcGFjZS5jb20+IHdyb3Rl Og0KPiA+ID4gPiA+ID4gSGkgT2xnYSwNCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gT24gRnJp LCAyMDIwLTA0LTE3IGF0IDExOjE1IC0wNDAwLCBPbGdhIEtvcm5pZXZza2FpYSB3cm90ZToNCj4g PiA+ID4gPiA+ID4gV2hlbiBuY29ubmVjdCBpcyB1c2VkLCBTRVFVRU5DRSBvcGVyYXRpb24gY3Vy cmVudGx5IGlzbid0DQo+ID4gPiA+ID4gPiA+IGJvdW5kDQo+ID4gPiA+ID4gPiA+IHRvDQo+ID4g PiA+ID4gPiA+IGEgcGFydGljdWxhciB0cmFuc3BvcnQuIFRoZSBwcm9ibGVtIGlzIGNyZWF0ZWQg b24gYW4gaWRsZQ0KPiA+ID4gPiA+ID4gPiBtb3VudCwNCj4gPiA+ID4gPiA+ID4gd2hlcmUgU0VR VUVOQ0UgaXMgdGhlIG9ubHkgb3BlcmF0aW9uIGJlaW5nIHNlbnQgYW5kDQo+ID4gPiA+ID4gPiA+ IG9wZW5lZA0KPiA+ID4gPiA+ID4gPiBUUEMNCj4gPiA+ID4gPiA+ID4gY29ubmVjdGlvbnMgYXJl IHNsb3dseSBiZWluZyBjbG9zZSBmcm9tIHRoZSBsYWNrIG9mIHVzZS4NCj4gPiA+ID4gPiA+ID4g SWYNCj4gPiA+ID4gPiA+ID4gU0VRVUVOQ0UNCj4gPiA+ID4gPiA+ID4gaXMgbm90IGFzc2lnbmVk IHRvIHRoZSBtYWluIGNvbm5lY3Rpb24sIHRoZSBtYWluDQo+ID4gPiA+ID4gPiA+IGNvbm5lY3Rp b24NCj4gPiA+ID4gPiA+ID4gY2FuDQo+ID4gPiA+ID4gPiA+IGJlIGNsb3NlZCBhbmQgd2l0aCB0 aGF0IHNvIGlzIHRoZSBiYWNrIGNoYW5uZWwgYm91bmQgdG8NCj4gPiA+ID4gPiA+ID4gdGhhdA0K PiA+ID4gPiA+ID4gPiBjb25uZWN0aW9uLg0KPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4g U2luY2UgdGhlIG9ubHkgd2F5IGNsaWVudCBoYW5kbGVzIGNhbGxiYWNrX3BhdGggZG93biBpcw0K PiA+ID4gPiA+ID4gPiBieQ0KPiA+ID4gPiA+ID4gPiBzZW5kaW5nDQo+ID4gPiA+ID4gPiA+IEJJ TkRfQ09OTl9UT19TRVNTSU9OIHJlcXVlc3RpbmcgdG8gYmluZCBib3RoIGJhY2tjaGFubmVsDQo+ ID4gPiA+ID4gPiA+IGFuZA0KPiA+ID4gPiA+ID4gPiBmb3JlDQo+ID4gPiA+ID4gPiA+IGNoYW5u ZWwgb24gdGhlIGNvbm5lY3Rpb24gdGhhdCB3YXMgbGVmdCBnb2luZywgYnV0IHRoYXQNCj4gPiA+ ID4gPiA+ID4gY29ubmVjdGlvbg0KPiA+ID4gPiA+ID4gPiB3YXMgYWxyZWFkeSBib3VuZCB0byBv bmx5IGZvcmVjaGFubmVsLiBBY2NvcmRpbmcgdG8gdGhlDQo+ID4gPiA+ID4gPiA+IHNwZWMsDQo+ ID4gPiA+ID4gPiA+IGl0J3MNCj4gPiA+ID4gPiA+ID4gbm90IGFsbG93ZWQgdG8gY2hhbmdlIGNo YW5uZWwgYmluZGluZyBhZnRlciB0aGV5IGFyZQ0KPiA+ID4gPiA+ID4gPiBkb25lLg0KPiA+ID4g PiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gVGhlIGZpeCBpcyB0byBtYWtlIHN1cmUgdGhhdCBhIGxv bmUgU0VRVUVOQ0UgYWx3YXlzIGdvZXMNCj4gPiA+ID4gPiA+ID4gb24NCj4gPiA+ID4gPiA+ID4g dGhlDQo+ID4gPiA+ID4gPiA+IG1haW4gY29ubmVjdGlvbiwga2VlcGluZyBiYWNrY2hhbm5lbCBh bGl2ZS4NCj4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+IEZpeGVzOiA1YTBjMjU3ZjggKCJO RlM6IHNlbmQgc3RhdGUgbWFuYWdlbWVudCBvbiBhIHNpbmdsZQ0KPiA+ID4gPiA+ID4gPiBjb25u ZWN0aW9uIikNCj4gPiA+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogT2xnYSBLb3JuaWV2c2thaWEg PGtvbGdhQG5ldGFwcC5jb20+DQo+ID4gPiA+ID4gPiA+IC0tLQ0KPiA+ID4gPiA+ID4gPiAgZnMv bmZzL25mczRwcm9jLmMgfCAyICstDQo+ID4gPiA+ID4gPiA+ICAxIGZpbGUgY2hhbmdlZCwgMSBp bnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkNCj4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ IGRpZmYgLS1naXQgYS9mcy9uZnMvbmZzNHByb2MuYyBiL2ZzL25mcy9uZnM0cHJvYy5jDQo+ID4g PiA+ID4gPiA+IGluZGV4IDk5ZTlmMmUuLjQ2MWY4NWQgMTAwNjQ0DQo+ID4gPiA+ID4gPiA+IC0t LSBhL2ZzL25mcy9uZnM0cHJvYy5jDQo+ID4gPiA+ID4gPiA+ICsrKyBiL2ZzL25mcy9uZnM0cHJv Yy5jDQo+ID4gPiA+ID4gPiA+IEBAIC04ODU3LDcgKzg4NTcsNyBAQCBzdGF0aWMgc3RydWN0IHJw Y190YXNrDQo+ID4gPiA+ID4gPiA+ICpfbmZzNDFfcHJvY19zZXF1ZW5jZShzdHJ1Y3QgbmZzX2Ns aWVudCAqY2xwLA0KPiA+ID4gPiA+ID4gPiAgICAgICAgICAgICAgIC5ycGNfY2xpZW50ID0gY2xw LT5jbF9ycGNjbGllbnQsDQo+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgLnJwY19tZXNzYWdl ID0gJm1zZywNCj4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAuY2FsbGJhY2tfb3BzID0gJm5m czQxX3NlcXVlbmNlX29wcywNCj4gPiA+ID4gPiA+ID4gLSAgICAgICAgICAgICAuZmxhZ3MgPSBS UENfVEFTS19BU1lOQyB8IFJQQ19UQVNLX1RJTUVPVVQsDQo+ID4gPiA+ID4gPiA+ICsgICAgICAg ICAgICAgLmZsYWdzID0gUlBDX1RBU0tfQVNZTkMgfCBSUENfVEFTS19USU1FT1VUDQo+ID4gPiA+ ID4gPiA+IHwNCj4gPiA+ID4gPiA+ID4gUlBDX1RBU0tfTk9fUk9VTkRfUk9CSU4sDQo+ID4gPiA+ ID4gPiA+ICAgICAgIH07DQo+ID4gPiA+ID4gPiA+ICAgICAgIHN0cnVjdCBycGNfdGFzayAqcmV0 Ow0KPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gVGhpcyB3b3JrcyBv bmx5IGluIHRoZSBjYXNlIHdoZXJlIHRoZSBjbGllbnQgaXMgb25seQ0KPiA+ID4gPiA+ID4gc2Vu ZGluZw0KPiA+ID4gPiA+ID4gU0VRVUVOQ0UNCj4gPiA+ID4gPiA+IGluc3RydWN0aW9ucy4gVGhl cmUgYXJlIG90aGVyIGNhc2VzIHdoZXJlIGl0IGNvdWxkIGJlDQo+ID4gPiA+ID4gPiBzZW5kaW5n DQo+ID4gPiA+ID4gPiBvdXQNCj4gPiA+ID4gPiA+IG90aGVyDQo+ID4gPiA+ID4gPiBvcGVyYXRp b25zIHRoYXQgYWxzbyByZW5ldyB0aGUgbGVhc2UsIGJ1dCBpcyBkb2luZyBpdCB2ZXJ5DQo+ID4g PiA+ID4gPiBpbmZyZXF1ZW50bHkuIFdvbid0IHRoYXQgYWxzbyBydW4gaW50byB0aGUgc2FtZSBw cm9ibGVtPw0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IEhtLi4uIEkgc2VlIHNvIG1haW4gY2hhbm5l bCBjYW4gc3RpbGwgZ28gaWRsZSBhbmQgY2xvc2UsIHdoZW4NCj4gPiA+ID4gPiBpbmZyZXF1ZW50 IG9wZXJhdGlvbnMgYXJlIGhhcHBlbmluZyBvbiB0aGUgb3RoZXIgY29ubmVjdGlvbnMNCj4gPiA+ ID4gPiBiZWZvcmUNCj4gPiA+ID4gPiByb3VuZC1yb2Jpbi1pbmcgdG8gdGhlIG1haW4gY29ubmVj dGlvbi4uLi4NCj4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IElzIHRoZSBmdW5kYW1lbnRhbCBwcm9i bGVtIGhlcmUgdGhhdCB3ZSdyZSBub3QgaGFuZGxpbmcgdGhlDQo+ID4gPiA+ID4gPiBTRVE0X1NU QVRVU19DQl9QQVRIX0RPV04gLyBTRVE0X1NUQVRVU19DQl9QQVRIX0RPV05fU0VTU0lPTg0KPiA+ ID4gPiA+ID4gZmxhZ3MNCj4gPiA+ID4gPiA+IGNvcnJlY3RseSBvciBpcyB0aGVyZSBzb21ldGhp bmcgZWxzZSBnb2luZyBvbj8NCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBZZXMgdGhlIGNsaWVudCBk b2Vzbid0IHJlY292ZXIgcHJvcGVybHkuIEJ1dCB0aGUgZml4IHdhc24ndA0KPiA+ID4gPiA+IHRy aXZpYWwNCj4gPiA+ID4gPiB0bw0KPiA+ID4gPiA+IG1lIChzbyBJIHRob3VnaHQgbXkgcGF0Y2gg d2FzIGVub3VnaCBidXQgSSBzZWUgaXQncyBub3QpLiBTYXkNCj4gPiA+ID4gPiBjbGllbnQNCj4g PiA+ID4gPiBzaHV0cyBkb3duIHRoZSBtYWluIGNvbm5lY3Rpb24gYmVjYXVzZSBpdCB3YXMgaWRs ZS4gTm93DQo+ID4gPiA+ID4gd2hhdGV2ZXINCj4gPiA+ID4gPiBvcGVyYXRpb25zIGdvZXMgb24g YSBkaWZmZXJlbnQgY29ubmVjdGlvbiBpcyBnb2luZyB0byBnZXQNCj4gPiA+ID4gPiBjYWxsYmFj aw0KPiA+ID4gPiA+IGRvd24uIFRoZSBvbmx5IHdheSB0aGUgY2xpZW50IGNhbiBjcmVhdGUgYSBu ZXcgYmFja2NoYW5uZWwNCj4gPiA+ID4gPiAoYWNjb3JkaW5nDQo+ID4gPiA+ID4gdG8gdGhlIHNw ZWMpIGlzIGlmIGl0IGNyZWF0ZXMgYSBicmFuZCBuZXcgY29ubmVjdGlvbiBhbmQNCj4gPiA+ID4g PiBzZW5kcw0KPiA+ID4gPiA+IEJJTkRfQ09OTl9UT19TRVNTSU9OIHRoZXJlIChhbGwgZXhpc3Rp bmcgY29ubmVjdGlvbnMgYXJlDQo+ID4gPiA+ID4gYWxyZWFkeQ0KPiA+ID4gPiA+IGJvdW5kDQo+ ID4gPiA+ID4gdG8gZm9yZSBjaGFubmVsIGFuZCBhY2NvcmRpbmcgdG8gdGhlIHNwZWMgeW91IGNh bid0IG1vZGlmeQ0KPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+IGV4aXN0aW5nIGJpbmRpbmcpLiBC dXQgdGhlbiB3ZSdkIG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgaXQncw0KPiA+ID4gPiA+IHRoZQ0K PiA+ID4gPiA+IGZpcnN0DQo+ID4gPiA+ID4gb25lIGluIHRoZSBsaXN0IG9mIGNvbm5lY3Rpb25z IHdlIGl0ZXJhdGUgdGhydSAoYXMgaSB0aGluaw0KPiA+ID4gPiA+IDFzdA0KPiA+ID4gPiA+IG1h cmtzDQo+ID4gPiA+ID4gdGhlIG1haW4gY29ubmVjdGlvbj8pIGFzIHRoZSBvdGhlciBvcGVyYXRp b25zIHRoYXQgc3VwcG9zZWQNCj4gPiA+ID4gPiB0bw0KPiA+ID4gPiA+IG9ubHkNCj4gPiA+ID4g PiBnbw0KPiA+ID4gPiA+IG9uIG1haW4gY29ubmVjdGlvbiBuZWVkIHRvIGtub3cgd2hpY2ggY29u bmVjdGlvbiB0byBwaWNrLg0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IFRoZSByZWFzb24gaXQncyBu b3Qgc2VlbiBhZ2FpbnN0IGxpbnV4IGlzIGJlY2F1c2UgaXQgZG9lc24ndA0KPiA+ID4gPiA+IGZv bGxvdw0KPiA+ID4gPiA+IHRoZSBzcGVjIGlzIGRvZXNuJ3QgcmVqZWN0IGF0dGVtcHRzIHRvIGJp bmQgYSBiYWNrY2hhbm5lbCB0bw0KPiA+ID4gPiA+IGFuDQo+ID4gPiA+ID4gYWxyZWFkeSBleGlz dGluZyBjb25uZWN0aW9uIHRoYXQgd2FzIG9ubHkgYm91bmQgZm9yIGZvcmUNCj4gPiA+ID4gPiBj aGFubmVsLg0KPiA+ID4gPiA+IA0KPiA+ID4gPiANCj4gPiA+ID4gT2gsIEkgc2VlLiBTbyB0aGUg c2VydmVyIGlzIHJlcGx5aW5nIE5GUzRFUlJfSU5WQUwgaW4gb3JkZXIgdG8NCj4gPiA+ID4gbGV0 DQo+ID4gPiA+IHRoZQ0KPiA+ID4gPiBjbGllbnQga25vdyB0aGF0IGl0IGlzIHRyeWluZyB0byBj aGFuZ2UgdGhlIGNoYW5uZWwgYmluZGluZ3MNCj4gPiA+ID4gZm9yDQo+ID4gPiA+IHRoYXQNCj4g PiA+ID4gY29ubmVjdGlvbi4NCj4gPiA+IA0KPiA+ID4gV2VsbCBzZXJ2ZXIgaXNuJ3QgZmFpbGlu ZyBiZWNhdXNlIGNsaWVudCBpcyBhc2tpbmcgZm9yDQo+ID4gPiBGT1JFX09SX0JPVEgNCj4gPiA+ IGFuZCBpdCdzIGEgY2hvaWNlIHNvIHNlcnZlciBpcyByZXR1cm5pbmcgRk9SRS4gSSdtIG5vdCBz dXJlIHdlDQo+ID4gPiBjYW4NCj4gPiA+IGFzaw0KPiA+ID4gdGhlIHNlcnZlciB0byBmYWlsIHRo ZSByZXF1ZXN0IHdpdGggRVJSX0lOVkFMLi4uLiAocmF0aGVyIEkgY2FuDQo+ID4gPiBhc2sNCj4g PiA+IGJ1dCApIHJhdGhlciBjYW4gd2UgZXhwZWN0IHRoZSBzZXJ2ZXIgdG8gZG8gdGhhdCBhbHdh eXM/DQo+ID4gDQo+ID4gSW4gUkZDNTY2MSwgU2VjdGlvbiAxOC4zNC4zIEkgZm91bmQgdGhlIGZv bGxvd2luZyBub3JtYXRpdmUgdGV4dDoNCj4gPiANCj4gPiAgICBJbnZva2luZyBCSU5EX0NPTk5f VE9fU0VTU0lPTiBvbiBhIGNvbm5lY3Rpb24gYWxyZWFkeSBhc3NvY2lhdGVkDQo+ID4gd2l0aA0K PiA+ICAgIHRoZSBzcGVjaWZpZWQgc2Vzc2lvbiBoYXMgbm8gZWZmZWN0LCBhbmQgdGhlIHNlcnZl ciBNVVNUIHJlc3BvbmQNCj4gPiB3aXRoDQo+ID4gICAgTkZTNF9PSywgdW5sZXNzIHRoZSBjbGll bnQgaXMgZGVtYW5kaW5nIGNoYW5nZXMgdG8gdGhlIHNldCBvZg0KPiA+ICAgIGNoYW5uZWxzIHRo ZSBjb25uZWN0aW9uIGlzIGFzc29jaWF0ZWQgd2l0aC4gIElmIHNvLCB0aGUgc2VydmVyDQo+ID4g TVVTVA0KPiA+ICAgIHJldHVybiBORlM0RVJSX0lOVkFMLg0KPiA+IA0KPiA+IA0KPiA+IElPVzog aXQgc291bmRzIGxpa2UgeW91ciBzZXJ2ZXIgaXNuJ3QgZm9sbG93aW5nIHRoZSBzcGVjIGVpdGhl ci4NCj4gDQo+IFRoYW5rIHlvdSB0aGFuayB5b3UhIEkgbWlzc2VkIHRoYXQuIE9rIHNvIHdlJ2xs IGFzc3VtZSBpdCBkb2VzIGFuZCBJDQo+IHdpbGwgdHJ5IHRvIGNvbWUgdXAgd2l0aCB3aGF0IHlv dSBhcmUgc3VnZ2VzdGluZy4uLg0KPiANCj4gRG8gd2UgbmVlZCB0byBkbyByZW9yZGVyIHRoZSBj b25uZWN0aW9uIGxpc3Q/IEFmdGVyIHdlIHJlc2V0IHRoZQ0KPiBjb25uZWN0aW9uLCBpdCB3aWxs IGJlIG9uIHNvbWUgcmFuZG9tIGNvbm5lY3Rpb24gb24gdGhlIGxpc3Qgb2YNCj4gY29ubmVjdGlv bnMuIEJ1dCBmb3IgdGhlIE5PX1JPQklOIGNvbm5lY3Rpb25zIHdlIHBpY2sgdGhlIGZpcnN0DQo+ IGNvbm5lY3Rpb24gaW4gdGhlIGxpc3QgKHdoaWNoIHdpbGwgbm90IGJlIHRoZSBiYWNrY2hhbm5l bA0KPiBjb25uZWN0aW9uKS4NCj4gRG9lcyBpdCBtYXR0ZXI/DQoNClRoYXQncyB3aHkgSSBzdWdn ZXN0ZWQgdGhlIHJwY190YXNrX2Nsb3NlX2Nvbm5lY3Rpb24oKSB3cmFwcGVyIGJlbG93Lg0KSXQg c2hvdWxkIGVuc3VyZSB0aGF0IHdlIGNsb3NlIHRoZSBzYW1lIGNvbm5lY3Rpb24gdGhhdCBnb3Qg dGhlDQpORlM0RVJSX0lOVkFMLCBhbmQgdGhlbiB3aGVuIHdlIHJlc3RhcnQgdGhlIFJQQyBjYWxs ICh1c2luZw0KcnBjX3Jlc3RhcnRfY2FsbF9wcmVwYXJlKCkpIGl0IHdpbGwganVzdCBhdXRvbWF0 aWNhbGx5IGNyZWF0ZSBhIG5ldw0KY29ubmVjdGlvbiBvbiB0aGF0IHNhbWUgc3RydWN0IHhwcnQu Li4NCg0KPiANCj4gPiA+ID4gSG1tLi4uIElzIHRoZXJlIGFueSByZWFzb24gd2h5IHdlIGNhbid0 IGp1c3QgYWRkIGEgaGFuZGxlciB0bw0KPiA+ID4gPiBuZnM0X2JpbmRfb25lX2Nvbm5fdG9fc2Vz c2lvbl9kb25lKCkgdGhhdCBpbnRlcmNlcHRzDQo+ID4gPiA+IE5GUzRFUlJfSU5WQUwsDQo+ID4g PiA+IGFuZA0KPiA+ID4gPiBkaXNjb25uZWN0cyB0aGUgeHBydCBiZWZvcmUgcmV0cnlpbmc/DQo+ ID4gPiA+IFdlIHNob3VsZCBwcm9iYWJseSBhZGQgYSB3cmFwcGVyIHRvIHhwcnRfZm9yY2VfZGlz Y29ubmVjdCgpIGluDQo+ID4gPiA+IGluY2x1ZGUvbGludXgvc3VucnBjL2NsbnQuaC4gU29tZXRo aW5nIGxpa2UgdGhlIGZvbGxvd2luZz8NCj4gPiA+ID4gDQo+ID4gPiA+IA0KPiA+ID4gPiBzdGF0 aWMgaW5saW5lIHZvaWQgcnBjX3Rhc2tfY2xvc2VfY29ubmVjdGlvbihzdHJ1Y3QgcnBjX3Rhc2sN Cj4gPiA+ID4gKnRhc2spDQo+ID4gPiA+IHsNCj4gPiA+ID4gICAgICAgICBpZiAodGFzay0+dGtf eHBydCkNCj4gPiA+ID4gICAgICAgICAgICAgICAgIHhwcnRfZm9yY2VfZGlzY29ubmVjdCh0YXNr LT50a194cHJ0KTsNCj4gPiA+ID4gfQ0KPiA+ID4gPiANCj4gPiANCg0KLS0gDQpUcm9uZCBNeWts ZWJ1c3QNCkxpbnV4IE5GUyBjbGllbnQgbWFpbnRhaW5lciwgSGFtbWVyc3BhY2UNCnRyb25kLm15 a2xlYnVzdEBoYW1tZXJzcGFjZS5jb20NCg0KDQo=