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 X-Spam-Level: X-Spam-Status: No, score=-10.9 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 83BF5C433ED for ; Thu, 6 May 2021 06:05:55 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id DFE47611AD for ; Thu, 6 May 2021 06:05:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DFE47611AD Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-nvme-bounces+linux-nvme=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:Cc:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=G23tVV/3N5ZaOrscgvEW6iu/I1+puxWVrmcJFCGQk6A=; b=ihBaP+juoVWtVj2C6bNv4kTrM OBgAf0HQFujEMO6RAZgo+avFvcAL/kQk0+oFcRb54WQgsKGVLJHfN2Uz9yygc69SAyakFUAFKq4PN fW8X/tUmon1en053WeKCERtfYp+O5q1tBAbSm+XcMvyhmz8/D8l4m5UdgAAm7T2D1LcVvUN2boWvc NspW3l1L7kp9B/AnEQAAgA3N+siH3CnnPSQZxlbhDn0BqfPc7BqjYwq4kaNgTtI/8/jDoin/0qv6+ uAnk3onc16sP3NDa8BnoLtSuCwrjm+hwyyXghJDaHu3l5HunQpnBFCesdkjUTOfpnA9HiA33oo6E2 zxlxKeHVw==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1leX8k-003JIg-2S; Thu, 06 May 2021 06:05:38 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1leX8g-003JHh-UT for linux-nvme@desiato.infradead.org; Thu, 06 May 2021 06:05:35 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: Content-Type:In-Reply-To:MIME-Version:Date:Message-ID:From:References:Cc:To: Subject:Sender:Reply-To:Content-ID:Content-Description; bh=JfTbJakcW5YQKrFmAGkMMJonLbddGUcSKRalvfUYz9o=; b=KhupD5yYVOEM522JHDEbgq/m0s cV2y4E0xzHn/a94qT2xX42+EEGxYnTS/VhIqu2ptfQHy38DOn5twSMQ9vUoovdxuez7K4d2cudkbT koyGNJKOCr6Fq8F8zLUtsq22wkZsyb6mbNvE5G3WILpr9L7E0M7ImlMcJL7zNGqiOX65T/G1u4DxH EQ5AZNa47IJ5gGvb42Z9Ie7SGir0U1cuJ+xm+4ZPajj4XyOt5Cyrv+25x2YIJVq74RZBHnke0KGVf E/pvuwHvRzNRwlB9WDb1TNOx+RNATtjwKPrTDOzuNaoEzmCeZxVzDV0r3FmT4bO9teLP7IMJ34tvr 5lEjwtCg==; Received: from mx2.suse.de ([195.135.220.15]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1leX8d-005cq7-OG for linux-nvme@lists.infradead.org; Thu, 06 May 2021 06:05:33 +0000 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id ABA4DB1EC; Thu, 6 May 2021 06:05:29 +0000 (UTC) Subject: Re: [PATCH 1/1] Add 'Transport Interface' (triface) option. This can be used to specify the IP interface to use for the connection. The driver uses that to set SO_BINDTODEVICE on the socket before connecting. To: "Belanger, Martin" , Sagi Grimberg , Martin Belanger , "linux-nvme@lists.infradead.org" Cc: "kbusch@kernel.org" , "axboe@fb.com" , "hch@lst.de" References: <20210415192848.962891-1-nitram_67@hotmail.com> <27a0071d-7c7b-ee5b-41a2-d5eb8de12928@suse.de> From: Hannes Reinecke Message-ID: Date: Thu, 6 May 2021 08:05:28 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.9.1 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210505_230532_107194_0960B971 X-CRM114-Status: GOOD ( 43.02 ) X-BeenThere: linux-nvme@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "Linux-nvme" Errors-To: linux-nvme-bounces+linux-nvme=archiver.kernel.org@lists.infradead.org T24gNS81LzIxIDQ6MzEgUE0sIEJlbGFuZ2VyLCBNYXJ0aW4gd3JvdGU6Cj4+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tCj4+IEZyb206IEhhbm5lcyBSZWluZWNrZSA8aGFyZUBzdXNlLmRlPgo+ PiBTZW50OiBXZWRuZXNkYXksIE1heSA1LCAyMDIxIDQ6NDcgQU0KPj4gVG86IFNhZ2kgR3JpbWJl cmc7IE1hcnRpbiBCZWxhbmdlcjsgbGludXgtbnZtZUBsaXN0cy5pbmZyYWRlYWQub3JnCj4+IENj OiBrYnVzY2hAa2VybmVsLm9yZzsgYXhib2VAZmIuY29tOyBoY2hAbHN0LmRlOyBCZWxhbmdlciwg TWFydGluCj4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggMS8xXSBBZGQgJ1RyYW5zcG9ydCBJbnRlcmZh Y2UnICh0cmlmYWNlKSBvcHRpb24uIFRoaXMgY2FuCj4+IGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUg SVAgaW50ZXJmYWNlIHRvIHVzZSBmb3IgdGhlIGNvbm5lY3Rpb24uIFRoZSBkcml2ZXIgdXNlcwo+ PiB0aGF0IHRvIHNldCBTT19CSU5EVE9ERVZJQ0Ugb24gdGhlIHNvY2tldCBiZWZvcmUgY29ubmVj dGluZy4KPj4KPj4KPj4gW0VYVEVSTkFMIEVNQUlMXQo+Pgo+PiBPbiA1LzQvMjEgOTo1NiBQTSwg U2FnaSBHcmltYmVyZyB3cm90ZToKPj4+Cj4+Pj4gRnJvbTogTWFydGluIEJlbGFuZ2VyIDxtYXJ0 aW4uYmVsYW5nZXJAZGVsbC5jb20+Cj4+Pgo+Pj4gQ2hhbmdlIGxvZyBpcyBtaXNzaW5nLi4uCj4+ Pgo+Pj4+Cj4+Pj4gLS0tCj4+Pj4gIMKgIGRyaXZlcnMvbnZtZS9ob3N0L2NvcmUuY8KgwqDCoCB8 wqAgNSArKysrKwo+Pj4+ICDCoCBkcml2ZXJzL252bWUvaG9zdC9mYWJyaWNzLmMgfCAxNCArKysr KysrKysrKysrCj4+Pj4gIMKgIGRyaXZlcnMvbnZtZS9ob3N0L2ZhYnJpY3MuaCB8wqAgNiArKysr Ky0KPj4+PiAgwqAgZHJpdmVycy9udm1lL2hvc3QvdGNwLmPCoMKgwqDCoCB8IDQxCj4+Pj4gKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQo+Pj4+ICDCoCA0IGZpbGVzIGNoYW5n ZWQsIDYyIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCj4+Pj4KPj4+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9udm1lL2hvc3QvY29yZS5jIGIvZHJpdmVycy9udm1lL2hvc3QvY29yZS5jCj4+ Pj4gaW5kZXggMjg4YWM0N2ZmNWI0Li45MWFlMTFhMWFlMjYgMTAwNjQ0Cj4+Pj4gLS0tIGEvZHJp dmVycy9udm1lL2hvc3QvY29yZS5jCj4+Pj4gKysrIGIvZHJpdmVycy9udm1lL2hvc3QvY29yZS5j Cj4+Pj4gQEAgLTM5NjEsNiArMzk2MSwxMSBAQCBzdGF0aWMgaW50IG52bWVfY2xhc3NfdWV2ZW50 KHN0cnVjdCBkZXZpY2UKPj4+PiAqZGV2LCBzdHJ1Y3Qga29ial91ZXZlbnRfZW52ICplbnYpCj4+ Pj4gIMKgIMKgwqDCoMKgwqDCoMKgwqDCoCByZXQgPSBhZGRfdWV2ZW50X3ZhcihlbnYsICJOVk1F X0hPU1RfVFJBRERSPSVzIiwKPj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBvcHRzLT5ob3N0X3RyYWRkciA/OiAibm9uZSIpOwo+Pj4+ICvCoMKgwqDCoMKgwqDCoCBpZiAo cmV0KQo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiByZXQ7Cj4+Pj4gKwo+Pj4+ ICvCoMKgwqDCoMKgwqDCoCByZXQgPSBhZGRfdWV2ZW50X3ZhcihlbnYsICJOVk1FX0hPU1RfVFJJ RkFDRT0lcyIsCj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBvcHRzLT5ob3N0 X3RyaWZhY2UgPzogIm5vbmUiKTsKPj4+Cj4+PiBHaXZlbiB0aGF0IHRoaXMgd2FzIHRoZSBvcmln aW5hbCBpbnRlbnQgZm9yIGhvc3RfdHJhZGRyLCB3aHkgbm90IGhhdmUKPj4+IGhvc3RfdHJhZGRy IHJlc29sdmUgdGhlIGlmYWNlIGZyb20gdGhlIGFkZHJlc3MgYW5kIHNldCBzb2Nrb3B0Cj4+PiBT T19CSU5EVE9ERVZJQ0Ugb24gaXQ/Cj4+Pgo+PiBUaGF0IHdhcyBteSBxdWVzdGlvbiwgdG9vLgo+ Pgo+PiBJIHdvdWxkIHZhc3RseSBwcmVmZXIgdG8gbm90IGhhdmUgYW5vdGhlciBvcHRpb24gdG8g ZGVhbCB3aXRoIChhcyBpdCByYWlzZXMgdGhlCj4+IHF1ZXN0aW9uIHdoZXRoZXIgdG8gYWRkIGl0 IGVnIGR1cmluZyAnbnZtZSBjb25uZWN0LWFsbCcpIEFuZCBvbmUgY291bGQKPj4gYXJndWUgdGhh dCB0aGlzIHdhcyB0aGUgaW50ZW50aW9uIG9mIF9oYXZpbmdfIHRoZSBob3N0X3RyYWRkciBhcmd1 bWVudCBpbgo+PiB0aGUgZmlyc3QgcGxhY2UgLi4uCj4+Cj4+IENoZWVycywKPj4KPj4gSGFubmVz Cj4+IC0tCj4+IERyLiBIYW5uZXMgUmVpbmVja2UJCSAgICAgICAgS2VybmVsIFN0b3JhZ2UgQXJj aGl0ZWN0Cj4+IGhhcmVAc3VzZS5kZQkJCSAgICAgICAgICAgICAgICs0OSA5MTEgNzQwNTMgNjg4 Cj4+IFNVU0UgU29mdHdhcmUgU29sdXRpb25zIEdlcm1hbnkgR21iSCwgOTA0MDkgTsO8cm5iZXJn Cj4+IEdGOiBGLiBJbWVuZMO2cmZmZXIsIEhSQiAzNjgwOSAoQUcgTsO8cm5iZXJnKQo+IAo+IEhp IFNhZ2kgYW5kIEhhbm5lcywKPiAKPiBDb3JyZWN0IG1lIGlmIEknbSB3cm9uZywgYnV0IGl0IHNv dW5kcyBsaWtlIGhvc3RfdHJhZGRyIHdhcyBwcmltYXJpbHkgYWRkZWQgZm9yIEZDIChhdCBsZWFz dCBpdCB3YXNuJ3QgdGVzdGVkIGZvciBUQ1Agc2luY2UgaXQgZG9lcyBub3Qgd29yayBpbiBpdHMg Y3VycmVudCBzdGF0ZSkuIEknbSBub3QgYW4gZXhwZXJ0IG9uIEZDIGFuZCBtYXliZSBzcGVjaWZ5 aW5nIGFuIGFkZHJlc3MgaXMgdGhlIHJpZ2h0IChhbmQgb25seSkgd2F5IHRvIHNwZWNpZnkgYW5k IGludGVyZmFjZSBmb3IgRkMuIEZvciBUQ1AsIGhvd2V2ZXIsIGl0J3Mgbm90IGFkdmlzYWJsZS4g U3BlY2lmeWluZyBhbiBpbnRlcmZhY2UgYnkgaXRzIGFzc29jaWF0ZWQgSVAgYWRkcmVzcyBpcyBs ZXNzIGludHVpdGl2ZSB0aGFuIHNwZWNpZnlpbmcgdGhlIGFjdHVhbCBpbnRlcmZhY2UgbmFtZSBh bmQsIGluIHNvbWUgY2FzZXMsIGl0IHNpbXBseSB3b24ndCB3b3JrLiBUaGF0J3MgYmVjYXVzZSB0 aGUgYXNzb2NpYXRpb24gYmV0d2VlbiBpbnRlcmZhY2VzIGFuZCBJUCBhZGRyZXNzZXMgaXMgbm90 IHByZWRpY3RhYmxlLiBJUCBhZGRyZXNzZXMgY2FuIGJlIGNoYW5nZWQgb3IgY2FuIGNoYW5nZSBi eSB0aGVtc2VsdmVzIG92ZXIgdGltZSAoZS5nLiBESENQKS4gSW50ZXJmYWNlIG5hbWVzIGFyZSBw cmVkaWN0YWJsZSBbMV0gYW5kIHdpbGwgcGVyc2lzdCBvdmVyIHRpbWUuIENvbnNpZGVyIHRoZSBm b2xsb3dpbmcgY29uZmlndXJhdGlvbi4KPiAKPiAxOiBsbzogPExPT1BCQUNLLFVQLExPV0VSX1VQ PiBtdHUgNjU1MzYgcWRpc2Mgbm9xdWV1ZSBzdGF0ZSBVTktOT1dOIGdyb3VwIGRlZmF1bHQgcWxl biAxMDAwCj4gICAgICBsaW5rL2xvb3BiYWNrIDAwOjAwOjAwOjAwOjAwOjAwIGJyZCAwMDowMDow MDowMDowMDowMAo+ICAgICAgaW5ldCAxMDAuMC4wLjEwMC8yNCBzY29wZSBnbG9iYWwgbG8KPiAg ICAgICAgIHZhbGlkX2xmdCBmb3JldmVyIHByZWZlcnJlZF9sZnQgZm9yZXZlcgo+IDI6IGVucDBz MzogPEJST0FEQ0FTVCxNVUxUSUNBU1QsVVAsTE9XRVJfVVA+IG10dSAxNTAwIHFkaXNjIGZxX2Nv ZGVsIHN0YXRlIFVQIGdyb3VwIGRlZmF1bHQgcWxlbiAxMDAwCj4gICAgICBsaW5rL2V0aGVyIDA4 OjAwOjI3OjIxOjY1OmVjIGJyZCBmZjpmZjpmZjpmZjpmZjpmZgo+ICAgICAgaW5ldCAxMDAuMC4w LjEwMC8yNCBzY29wZSBnbG9iYWwgZW5wMHMzCj4gICAgICAgICB2YWxpZF9sZnQgZm9yZXZlciBw cmVmZXJyZWRfbGZ0IGZvcmV2ZXIKPiAzOiBlbnAwczg6IDxCUk9BRENBU1QsTVVMVElDQVNULFVQ LExPV0VSX1VQPiBtdHUgMTUwMCBxZGlzYyBmcV9jb2RlbCBzdGF0ZSBVUCBncm91cCBkZWZhdWx0 IHFsZW4gMTAwMAo+ICAgICAgbGluay9ldGhlciAwODowMDoyNzo0Zjo5NTo1YyBicmQgZmY6ZmY6 ZmY6ZmY6ZmY6ZmYKPiAgICAgIGluZXQgMTAwLjAuMC4xMDAvMjQgc2NvcGUgZ2xvYmFsIGVucDBz OAo+ICAgICAgICAgdmFsaWRfbGZ0IGZvcmV2ZXIgcHJlZmVycmVkX2xmdCBmb3JldmVyCj4gCj4g VGhlIGFib3ZlIGlzIGEgVk0gdGhhdCBJIGNvbmZpZ3VyZWQgd2l0aCB0aGUgc2FtZSBJUCBhZGRy ZXNzICgxMDAuMC4wLjEwMCkgb24gYWxsIGludGVyZmFjZXMuIERvaW5nIGEgcmV2ZXJzZQo+IGxv b2t1cCB0byBpZGVudGlmeSB0aGUgdW5pcXVlIGludGVyZmFjZSBhc3NvY2lhdGVkIHdpdGggMTAw LjAuMC4xMDAgd291bGQgc2ltcGx5IG5vdCB3b3JrIGhlcmUuIEFuZCB0aGlzIGlzIHdoeQo+IHRo ZSBvcHRpb24gaG9zdF9pZmFjZSBpcyByZXF1aXJlZC4gSSB1bmRlcnN0YW5kIHRoYXQgdGhlIGFi b3ZlIGNvbmZpZyBkb2VzIG5vdCByZXByZXNlbnQgYSBzdGFuZGFyZCBob3N0IHN5c3RlbSwKPiBi dXQgSSdtIHVzaW5nIHRoaXMgdG8gcHJvdmUgYSBwb2ludDogIndlIGNhbiBuZXZlciBrbm93IGhv dyBhIHVzZXIgd2lsbCBjb25maWd1cmUgdGhlaXIgc3lzdGVtIGFuZCB0aGUgYWJvdmUKPiBjb25m aWd1cmF0aW9uIGlzIHBlcmZlY3RseSBmaW5lIGJ5IExpbnV4Ii4KPiAKCi4uLiBhbmQgbWVzc2lu ZyB1cCBhbnkgc3dpdGNoIE1BQyBhZGRyZXNzIGNhY2hpbmcgd2hlbiBkb2luZyBzby4gSSBndWVz cyAKdGhlIG5ldHdvcmsgYWRtaW4gd2lsbCBjb21lIGRvd24gaGFyZCBvbiB5b3UgaWYgeW91IHRy eSB0aGF0IG9uIGEgCnByb2R1Y3Rpb24gc3lzdGVtLgpBbmQgSSBzaW5jZXJlbHkgcXVlc3Rpb24g d2hldGhlciB0aGlzIGlzIGEgdmFsaWQgdXNlLWNhc2U7IEknbSBhbHJlYWR5IApnZXR0aW5nIGdy aWVmIGZyb20gb3VyIG5ldHdvcmsgYWRtaW5zIGlmIEkgZGFyZSB0byBwdXQgdHdvIG5ldHdvcmsg CmludGVyZmFjZXMgZnJvbSB0aGUgc2FtZSBtYWNoaW5lIGluIHRoZSBzYW1lIG5ldHdvcmsuCgo+ IFRoZSBjdXJyZW50IFRDUCBpbXBsZW1lbnRhdGlvbiBmb3IgaG9zdF90cmFkZHIgdXNlcyBiaW5k KCktYmVmb3JlLWNvbm5lY3QoKS4gVGhpcyBpcyBhIGNvbW1vbiBjb25zdHJ1Y3QgdG8gc2V0IHRo ZQo+IHNvdXJjZSBJUCBhZGRyZXNzIG9uIHRoZSBzb2NrZXQgYmVmb3JlIGNvbm5lY3RpbmcuIFRo aXMgaGFzIG5vIGVmZmVjdCBvbiBob3cgTGludXggd2lsbCBzZWxlY3QgdGhlIGludGVyZmFjZSBm b3IgdGhlCj4gY29ubmVjdGlvbi4gVGhhdCdzIGJlY2F1c2UgTGludXggdXNlcyB0aGUgV2VhayBF bmQgU3lzdGVtIG1vZGVsIGFzIGRlc2NyaWJlZCBpbiBSRkMxMTIyIFsyXS4gU2V0dGluZyB0aGUg c291cmNlIGFkZHJlc3MKPiBvbiBhIGNvbm5lY3Rpb24gaXMgYSBjb21tb24gcmVxdWlyZW1lbnQg dGhhdCBsaW51eC1udm1lIG5lZWRzIHRvIHN1cHBvcnQuIEluIGZhY3QsIHNwZWNpZnlpbmcgdGhl IFNvdXJjZSBJUCBhZGRyZXNzCj4gaXMgYSBtYW5kYXRvcnkgRmVkR292IHJlcXVpcmVtZW50IChl LmcuIGNvbm5lY3Rpb24gdG8gYSBSQURJVVMvVEFDQUNTKyBzZXJ2ZXIpLiBDb25zaWRlciB0aGUg Zm9sbG93aW5nIGNvbmZpZ3VyYXRpb24uCj4gCj4gJCBpcCBhZGRyIGxpc3QgZGV2IGVucDBzOAo+ IDM6IGVucDBzODogPEJST0FEQ0FTVCxNVUxUSUNBU1QsVVAsTE9XRVJfVVA+IG10dSAxNTAwIHFk aXNjIGZxX2NvZGVsIHN0YXRlIFVQIGdyb3VwIGRlZmF1bHQgcWxlbiAxMDAwCj4gICAgICBsaW5r L2V0aGVyIDA4OjAwOjI3OjRmOjk1OjVjIGJyZCBmZjpmZjpmZjpmZjpmZjpmZgo+ICAgICAgaW5l dCAxOTIuMTY4LjU2LjEwMS8yNCBicmQgMTkyLjE2OC41Ni4yNTUgc2NvcGUgZ2xvYmFsIGR5bmFt aWMgbm9wcmVmaXhyb3V0ZSBlbnAwczgKPiAgICAgICAgIHZhbGlkX2xmdCA0MjZzZWMgcHJlZmVy cmVkX2xmdCA0MjZzZWMKPiAgICAgIGluZXQgMTkyLjE2OC41Ni4xMDIvMjQgc2NvcGUgZ2xvYmFs IHNlY29uZGFyeSBlbnAwczgKPiAgICAgICAgIHZhbGlkX2xmdCBmb3JldmVyIHByZWZlcnJlZF9s ZnQgZm9yZXZlcgo+ICAgICAgaW5ldCAxOTIuMTY4LjU2LjEwMy8yNCBzY29wZSBnbG9iYWwgc2Vj b25kYXJ5IGVucDBzOAo+ICAgICAgICAgdmFsaWRfbGZ0IGZvcmV2ZXIgcHJlZmVycmVkX2xmdCBm b3JldmVyCj4gICAgICBpbmV0IDE5Mi4xNjguNTYuMTA0LzI0IHNjb3BlIGdsb2JhbCBzZWNvbmRh cnkgZW5wMHM4Cj4gICAgICAgICB2YWxpZF9sZnQgZm9yZXZlciBwcmVmZXJyZWRfbGZ0IGZvcmV2 ZXIKPiAKPiBIZXJlIHdlIGNhbiBzZWUgdGhhdCBzZXZlcmFsIGFkZHJlc3NlcyBhcmUgYXNzb2Np YXRlZCB3aXRoIGludGVyZmFjZSBlbnAwczguIEJ5IGRlZmF1bHQsIExpbnV4IHdpbGwgc2VsZWN0 IHRoZQo+IGRlZmF1bHQgSVAgYWRkcmVzcywgMTkyLjE2OC41Ni4xMDEsIGFzIHRoZSBzb3VyY2Ug YWRkcmVzcyB3aGVuIGNvbm5lY3Rpbmcgb3ZlciBpbnRlcmZhY2UgZW5wMHM4LiBTb21lIHVzZXJz LAo+IGhvd2V2ZXIsIHdhbnQgdGhlIGFiaWxpdHkgdG8gc3BlY2lmeSBhIGRpZmZlcmVudCBhZGRy ZXNzIChlLmcuLCAxOTIuMTY4LjU2LjEwMykgdG8gYmUgdXNlZCBhcyB0aGUgc291cmNlIGFkZHJl c3MuCj4gVGhlIG9wdGlvbiBob3N0X3RyYWRkciBjYW4gYmUgdXNlZCBhcy1pcyB0byBwZXJmb3Jt IHRoaXMgZnVuY3Rpb24gKEkgdGVzdGVkIGl0KS4KPiAKCk5vIGRpc2FncmVlbWVudCBoZXJlLgoK PiBJbiBjb25jbHVzaW9uLCBJIGJlbGlldmUgdGhhdCBmb3IgVENQIHdlIG5lZWQgMiBvcHRpb25z LiBPbmUgdGhhdCBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGFuIGludGVyZmFjZS4gQW5kIG9uZQo+ IHRoYXQgY2FuIGJlIHVzZWQgdG8gc2V0IHRoZSBzb3VyY2UgYWRkcmVzcy4gQW5kIHVzZXJzIHNo b3VsZCBiZSBhbGxvd2VkIHRvIHVzZSBvbmUgb3IgdGhlIG90aGVyLCBvciBib3RoLCBvciBub25l Lgo+IE9mIGNvdXJzZSwgdGhlIGRvY3VtZW50YXRpb24gZm9yIGhvc3RfdHJhZGRyIHdpbGwgbmVl ZCBzb21lIGNsYXJpZmljYXRpb24uIEl0IHNob3VsZCBzdGF0ZSB0aGF0IHdoZW4gdXNlZCBmb3Ig VENQCj4gY29ubmVjdGlvbiwgdGhpcyBvcHRpb24gb25seSBzZXRzIHRoZSBzb3VyY2UgYWRkcmVz cy4gQW5kIHRoZSBkb2N1bWVudGF0aW9uIGZvciBob3N0X2lmYWNlIHNob3VsZCBzYXkgdGhhdCB0 aGlzCj4gb3B0aW9uIG9ubHkgYXBwbGllcyB0byBUQ1AgY29ubmVjdGlvbnMuCj4gCgpJJ20gd2l0 aCBKYW1lcyBTbWFydCBoZXJlLiBJIGRvIGZhaWwgdG8gc2VlIHRoZSBuZWVkIGZvciAnaG9zdF9p ZmFjZScgCl93aXRob3V0XyAnaG9zdF90cmFkZHInOyBlc3BlY2lhbGx5IGZvciBJUHY2IHdoZXJl IHNldmVyYWwgYWRkcmVzc2VzIGFyZSAKc3RhbmRhcmQganVzdCBzcGVjaWZ5aW5nICdob3N0X2lm YWNlJyBzaW1wbHkgaXMgbm90IGVub3VnaCwgYW5kIG9uZSBoYXMgCnRvIHNwZWNpZnkgJ2hvc3Rf dHJhZGRyJyBhZGRpdGlvbmFsbHkuCgpTbyAnaG9zdF9pZmFjZScgc2hvdWxkIGJlIGNvbnRpbmdl bnQgb24gJ2hvc3RfdHJhZGRyJywgbWVhbmluZyB3ZSBjYW4gCmp1c3QgZXhwYW5kIHRoZSBzeW50 YXggb2YgJ2hvc3RfdHJhZGRyJy4KT25lIGVhc3kgcG9zc2liaWxpdHkgd291bGQgYmUgdG8gYWRk ICcsbm9iaW5kJyB0byB0aGUgaG9zdF90cmFkZHIgc3ludGF4IAp3aGljaCB3b3VsZCBpbmRpY2F0 ZSB0aGF0IHdlIHNob3VsZCBfbm90XyBiaW5kIHRvIHRoZSB1bmRlcmx5aW5nIAppbnRlcmZhY2U7 IEkgZG8gdGhpbmsgdGhhdCBiaW5kaW5nIHRvIHRoZSByZXNwZWN0aXZlIGludGVyZmFjZSBzaG91 bGQgYmUgCnRoZSBkZWZhdWx0LgoKQ2hlZXJzLAoKSGFubmVzCi0tIApEci4gSGFubmVzIFJlaW5l Y2tlICAgICAgICAgICAgICAgIEtlcm5lbCBTdG9yYWdlIEFyY2hpdGVjdApoYXJlQHN1c2UuZGUg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICArNDkgOTExIDc0MDUzIDY4OApTVVNFIFNvZnR3 YXJlIFNvbHV0aW9ucyBHbWJILCBNYXhmZWxkc3RyLiA1LCA5MDQwOSBOw7xybmJlcmcKSFJCIDM2 ODA5IChBRyBOw7xybmJlcmcpLCBHZXNjaMOkZnRzZsO8aHJlcjogRmVsaXggSW1lbmTDtnJmZmVy CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1u dm1lIG1haWxpbmcgbGlzdApMaW51eC1udm1lQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xp c3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1udm1lCg==