Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp429715ybz; Fri, 24 Apr 2020 02:58:46 -0700 (PDT) X-Google-Smtp-Source: APiQypLijvSha/AE5aZnSrhgw+hKIFuvQcCKMniAHNtNVS6YZeCQ0jR5uIEbSLuIdnY+vqSKUYmQ X-Received: by 2002:a05:6402:1297:: with SMTP id w23mr6271059edv.151.1587722326176; Fri, 24 Apr 2020 02:58:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587722326; cv=none; d=google.com; s=arc-20160816; b=f5EXf/V8OX6j+R/EvagfoZACQY180wWvctDt/q+TUxT/cOdNJlKBvojq4ZlMsFUB32 p8a9xm8H6ZMdKKpi/BQuQAQkjgM1Pm5ld0zh0GMY4YxoDKGVvGUjQdoopCMXKeTOiNFU JfaBqHos99Gyaaz2zNpz7tn6PFqblDtUe92/9fedNKVfPpmwf9iW55mJiI5XaBFn9LDG l/zGFILAXh4TyNnrDzX5Zi0RsbNQ0FVgnyM+jjBlXyzZcS+PKpXrOYpomV6sJtDr/R8n qkD0Mk1YpI3bbNXyVx0qs3PO8+nw5eIbZPFPylb94ncReXJA6RsvL2pgE4bTetyTrs3y 5PnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:references:cc:to:from:subject:ironport-sdr :dkim-signature; bh=qVuZE7OJN2t88CjqZJ9zf+6czW58eoIHznZXj+QvLrY=; b=uXv9HyD8FmMYrZnI7T1TzUoZ3To7CkYaarxrIKHCqJCPR19dDb8K//lMW46ND9tG3v f3vxyzgTS1kd1jh0ZuFf7p+v02A/FZ1kyDQaSptj2GZcOK4wQgfOyKIKxrY+81TJyEoX bIioyI6Ok2DJ+s6TB2pY4MdyriBy2ESLvVbgok2GSjHkpExwYtsuntww/bKN2ajhs3I0 mg+AN2AEDif4zy8JeUAuyzGpukg+F8LCzZ/Ot8dVo83B2yYlchQ0s2uVXfGw1C759tr6 /aZtURIYtY87r2SecIF0tWK8qZGr/ymDV7OOkTSYtT1Gl9yDpywNolIhpOuDBZ0tRggq r3QQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amazon.com header.s=amazon201209 header.b=D0b2GNW8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u19si3168152ejt.101.2020.04.24.02.58.23; Fri, 24 Apr 2020 02:58:46 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-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=@amazon.com header.s=amazon201209 header.b=D0b2GNW8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726824AbgDXJyq (ORCPT + 99 others); Fri, 24 Apr 2020 05:54:46 -0400 Received: from smtp-fw-9101.amazon.com ([207.171.184.25]:49000 "EHLO smtp-fw-9101.amazon.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726582AbgDXJyp (ORCPT ); Fri, 24 Apr 2020 05:54:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1587722084; x=1619258084; h=subject:from:to:cc:references:message-id:date: mime-version:in-reply-to:content-transfer-encoding; bh=qVuZE7OJN2t88CjqZJ9zf+6czW58eoIHznZXj+QvLrY=; b=D0b2GNW8MxsFiYyaq4dYGLDCPCJma9Qqme1ewySRDdhdHFCea0vV/XMv UlBNMXisNRgAGdrbhjdCS469JllFu4ehhBBAwNcW95Q3VV+E4ynD/bL3+ /jyXS7rRanS+UTJromNlbeeCyiCd+0nj5VYpvyH4PisoH3ds64RSHsXsE I=; IronPort-SDR: JWGstll9TZ69BBNXYi3D/4rW1l3wB6WXwVzswXlLPkHeeBbt/yw6IRHtOq4WqJNjo2k0UFQ/6u I3M1oycfBDRQ== X-IronPort-AV: E=Sophos;i="5.73,311,1583193600"; d="scan'208";a="30900065" Received: from sea32-co-svc-lb4-vlan3.sea.corp.amazon.com (HELO email-inbound-relay-2a-c5104f52.us-west-2.amazon.com) ([10.47.23.38]) by smtp-border-fw-out-9101.sea19.amazon.com with ESMTP; 24 Apr 2020 09:54:42 +0000 Received: from EX13MTAUEA002.ant.amazon.com (pdx4-ws-svc-p6-lb7-vlan3.pdx.amazon.com [10.170.41.166]) by email-inbound-relay-2a-c5104f52.us-west-2.amazon.com (Postfix) with ESMTPS id C9C88A03AD; Fri, 24 Apr 2020 09:54:40 +0000 (UTC) Received: from EX13D16EUB003.ant.amazon.com (10.43.166.99) by EX13MTAUEA002.ant.amazon.com (10.43.61.77) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 24 Apr 2020 09:54:40 +0000 Received: from 38f9d34ed3b1.ant.amazon.com (10.43.161.52) by EX13D16EUB003.ant.amazon.com (10.43.166.99) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 24 Apr 2020 09:54:32 +0000 Subject: Re: [PATCH v1 00/15] Add support for Nitro Enclaves From: "Paraschiv, Andra-Irina" To: "Longpeng (Mike, Cloud Infrastructure Service Product Dept.)" , Paolo Bonzini , CC: Anthony Liguori , Benjamin Herrenschmidt , Colm MacCarthaigh , Bjoern Doebel , David Woodhouse , Frank van der Linden , Alexander Graf , Martin Pohlack , Matt Wilson , Balbir Singh , Stewart Smith , Uwe Dannowski , , , "Gonglei (Arei)" References: <20200421184150.68011-1-andraprs@amazon.com> <18406322-dc58-9b59-3f94-88e6b638fe65@redhat.com> <2aa9c865-61c1-fc73-c85d-6627738d2d24@huawei.com> <7ac3f702-9c5f-5021-ebe3-42f1c93afbdf@amazon.com> Message-ID: Date: Fri, 24 Apr 2020 12:54:23 +0300 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <7ac3f702-9c5f-5021-ebe3-42f1c93afbdf@amazon.com> Content-Language: en-US X-Originating-IP: [10.43.161.52] X-ClientProxiedBy: EX13D07UWA001.ant.amazon.com (10.43.160.145) To EX13D16EUB003.ant.amazon.com (10.43.166.99) Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org CgpPbiAyNC8wNC8yMDIwIDExOjE5LCBQYXJhc2NoaXYsIEFuZHJhLUlyaW5hIHdyb3RlOgo+Cj4K PiBPbiAyNC8wNC8yMDIwIDA2OjA0LCBMb25ncGVuZyAoTWlrZSwgQ2xvdWQgSW5mcmFzdHJ1Y3R1 cmUgU2VydmljZSAKPiBQcm9kdWN0IERlcHQuKSB3cm90ZToKPj4gT24gMjAyMC80LzIzIDIxOjE5 LCBQYXJhc2NoaXYsIEFuZHJhLUlyaW5hIHdyb3RlOgo+Pj4KPj4+IE9uIDIyLzA0LzIwMjAgMDA6 NDYsIFBhb2xvIEJvbnppbmkgd3JvdGU6Cj4+Pj4gT24gMjEvMDQvMjAgMjA6NDEsIEFuZHJhIFBh cmFzY2hpdiB3cm90ZToKPj4+Pj4gQW4gZW5jbGF2ZSBjb21tdW5pY2F0ZXMgd2l0aCB0aGUgcHJp bWFyeSBWTSB2aWEgYSBsb2NhbCAKPj4+Pj4gY29tbXVuaWNhdGlvbiBjaGFubmVsLAo+Pj4+PiB1 c2luZyB2aXJ0aW8tdnNvY2sgWzJdLiBBbiBlbmNsYXZlIGRvZXMgbm90IGhhdmUgYSBkaXNrIG9y IGEgCj4+Pj4+IG5ldHdvcmsgZGV2aWNlCj4+Pj4+IGF0dGFjaGVkLgo+Pj4+IElzIGl0IHBvc3Np YmxlIHRvIGhhdmUgYSBzYW1wbGUgb2YgdGhpcyBpbiB0aGUgc2FtcGxlcy8gZGlyZWN0b3J5Pwo+ Pj4gSSBjYW4gYWRkIGluIHYyIGEgc2FtcGxlIGZpbGUgaW5jbHVkaW5nIHRoZSBiYXNpYyBmbG93 IG9mIGhvdyB0byB1c2UgCj4+PiB0aGUgaW9jdGwKPj4+IGludGVyZmFjZSB0byBjcmVhdGUgLyB0 ZXJtaW5hdGUgYW4gZW5jbGF2ZS4KPj4+Cj4+PiBUaGVuIHdlIGNhbiB1cGRhdGUgLyBidWlsZCBv biB0b3AgaXQgYmFzZWQgb24gdGhlIG9uZ29pbmcgCj4+PiBkaXNjdXNzaW9ucyBvbiB0aGUKPj4+ IHBhdGNoIHNlcmllcyBhbmQgdGhlIHJlY2VpdmVkIGZlZWRiYWNrLgo+Pj4KPj4+PiBJIGFtIGlu dGVyZXN0ZWQgZXNwZWNpYWxseSBpbjoKPj4+Pgo+Pj4+IC0gdGhlIGluaXRpYWwgQ1BVIHN0YXRl OiBDUEwwIHZzLiBDUEwzLCBpbml0aWFsIHByb2dyYW0gY291bnRlciwgZXRjLgo+Pj4+Cj4+Pj4g LSB0aGUgY29tbXVuaWNhdGlvbiBjaGFubmVsOyBkb2VzIHRoZSBlbmNsYXZlIHNlZSB0aGUgdXN1 YWwgbG9jYWwgQVBJQwo+Pj4+IGFuZCBJT0FQSUMgaW50ZXJmYWNlcyBpbiBvcmRlciB0byBnZXQg aW50ZXJydXB0cyBmcm9tIHZpcnRpby12c29jaywgCj4+Pj4gYW5kCj4+Pj4gd2hlcmUgaXMgdGhl IHZpcnRpby12c29jayBkZXZpY2UgKHZpcnRpby1tbWlvIEkgc3VwcG9zZSkgcGxhY2VkIGluIAo+ Pj4+IG1lbW9yeT8KPj4+Pgo+Pj4+IC0gd2hhdCB0aGUgZW5jbGF2ZSBpcyBhbGxvd2VkIHRvIGRv OiBjYW4gaXQgY2hhbmdlIHByaXZpbGVnZSBsZXZlbHMsCj4+Pj4gd2hhdCBoYXBwZW5zIGlmIHRo ZSBlbmNsYXZlIHBlcmZvcm1zIGFuIGFjY2VzcyB0byBub25leGlzdGVudCAKPj4+PiBtZW1vcnks IGV0Yy4KPj4+Pgo+Pj4+IC0gd2hldGhlciB0aGVyZSBhcmUgc3BlY2lhbCBoeXBlcmNhbGwgaW50 ZXJmYWNlcyBmb3IgdGhlIGVuY2xhdmUKPj4+IEFuIGVuY2xhdmUgaXMgYSBWTSwgcnVubmluZyBv biB0aGUgc2FtZSBob3N0IGFzIHRoZSBwcmltYXJ5IFZNLCB0aGF0IAo+Pj4gbGF1bmNoZWQKPj4+ IHRoZSBlbmNsYXZlLiBUaGV5IGFyZSBzaWJsaW5ncy4KPj4+Cj4+PiBIZXJlIHdlIG5lZWQgdG8g dGhpbmsgb2YgdHdvIGNvbXBvbmVudHM6Cj4+Pgo+Pj4gMS4gQW4gZW5jbGF2ZSBhYnN0cmFjdGlv biBwcm9jZXNzIC0gYSBwcm9jZXNzIHJ1bm5pbmcgaW4gdGhlIHByaW1hcnkgCj4+PiBWTSBndWVz dCwKPj4+IHRoYXQgdXNlcyB0aGUgcHJvdmlkZWQgaW9jdGwgaW50ZXJmYWNlIG9mIHRoZSBOaXRy byBFbmNsYXZlcyBrZXJuZWwgCj4+PiBkcml2ZXIgdG8KPj4+IHNwYXduIGFuIGVuY2xhdmUgVk0g KHRoYXQncyAyIGJlbG93KS4KPj4+Cj4+PiBIb3cgZG9lcyBhbGwgZ2V0cyB0byBhbiBlbmNsYXZl IFZNIHJ1bm5pbmcgb24gdGhlIGhvc3Q/Cj4+Pgo+Pj4gVGhlcmUgaXMgYSBOaXRybyBFbmNsYXZl cyBlbXVsYXRlZCBQQ0kgZGV2aWNlIGV4cG9zZWQgdG8gdGhlIHByaW1hcnkgCj4+PiBWTS4gVGhl Cj4+PiBkcml2ZXIgZm9yIHRoaXMgbmV3IFBDSSBkZXZpY2UgaXMgaW5jbHVkZWQgaW4gdGhlIGN1 cnJlbnQgcGF0Y2ggc2VyaWVzLgo+Pj4KPj4gSGkgUGFyYXNjaGl2LAo+Pgo+PiBUaGUgbmV3IFBD SSBkZXZpY2UgaXMgZW11bGF0ZWQgaW4gUUVNVSA/IElmIHNvLCBpcyB0aGVyZSBhbnkgcGxhbiB0 byAKPj4gc2VuZCB0aGUKPj4gUUVNVSBjb2RlID8KPgo+IEhpLAo+Cj4gTm9wZSwgbm90IHRoYXQg SSBrbm93IG9mIHNvIGZhci4KCkFuZCBqdXN0IHRvIGJlIGEgYml0IG1vcmUgY2xlYXIsIHRoZSBy ZXBseSBhYm92ZSB0YWtlcyBpbnRvIApjb25zaWRlcmF0aW9uIHRoYXQgaXQncyBub3QgZW11bGF0 ZWQgaW4gUUVNVS4KCgpUaGFua3MsCkFuZHJhCgo+Cj4+Cj4+PiBUaGUgaW9jdGwgbG9naWMgaXMg bWFwcGVkIHRvIFBDSSBkZXZpY2UgY29tbWFuZHMgZS5nLiB0aGUgCj4+PiBORV9FTkNMQVZFX1NU QVJUIGlvY3RsCj4+PiBtYXBzIHRvIGFuIGVuY2xhdmUgc3RhcnQgUENJIGNvbW1hbmQgb3IgdGhl IAo+Pj4gS1ZNX1NFVF9VU0VSX01FTU9SWV9SRUdJT04gbWFwcyB0bwo+Pj4gYW4gYWRkIG1lbW9y eSBQQ0kgY29tbWFuZC4gVGhlIFBDSSBkZXZpY2UgY29tbWFuZHMgYXJlIHRoZW4gCj4+PiB0cmFu c2xhdGVkIGludG8KPj4+IGFjdGlvbnMgdGFrZW4gb24gdGhlIGh5cGVydmlzb3Igc2lkZTsgdGhh dCdzIHRoZSBOaXRybyBoeXBlcnZpc29yIAo+Pj4gcnVubmluZyBvbiB0aGUKPj4+IGhvc3Qgd2hl cmUgdGhlIHByaW1hcnkgVk0gaXMgcnVubmluZy4KPj4+Cj4+PiAyLiBUaGUgZW5jbGF2ZSBpdHNl bGYgLSBhIFZNIHJ1bm5pbmcgb24gdGhlIHNhbWUgaG9zdCBhcyB0aGUgcHJpbWFyeSAKPj4+IFZN IHRoYXQKPj4+IHNwYXduZWQgaXQuCj4+Pgo+Pj4gVGhlIGVuY2xhdmUgVk0gaGFzIG5vIHBlcnNp c3RlbnQgc3RvcmFnZSBvciBuZXR3b3JrIGludGVyZmFjZSAKPj4+IGF0dGFjaGVkLCBpdCB1c2Vz Cj4+PiBpdHMgb3duIG1lbW9yeSBhbmQgQ1BVcyArIGl0cyB2aXJ0aW8tdnNvY2sgZW11bGF0ZWQg ZGV2aWNlIGZvciAKPj4+IGNvbW11bmljYXRpb24KPj4+IHdpdGggdGhlIHByaW1hcnkgVk0uCj4+ Pgo+Pj4gVGhlIG1lbW9yeSBhbmQgQ1BVcyBhcmUgY2FydmVkIG91dCBvZiB0aGUgcHJpbWFyeSBW TSwgdGhleSBhcmUgCj4+PiBkZWRpY2F0ZWQgZm9yIHRoZQo+Pj4gZW5jbGF2ZS4gVGhlIE5pdHJv IGh5cGVydmlzb3IgcnVubmluZyBvbiB0aGUgaG9zdCBlbnN1cmVzIG1lbW9yeSBhbmQgCj4+PiBD UFUKPj4+IGlzb2xhdGlvbiBiZXR3ZWVuIHRoZSBwcmltYXJ5IFZNIGFuZCB0aGUgZW5jbGF2ZSBW TS4KPj4+Cj4+Pgo+Pj4gVGhlc2UgdHdvIGNvbXBvbmVudHMgbmVlZCB0byByZWZsZWN0IHRoZSBz YW1lIHN0YXRlIGUuZy4gd2hlbiB0aGUgCj4+PiBlbmNsYXZlCj4+PiBhYnN0cmFjdGlvbiBwcm9j ZXNzICgxKSBpcyB0ZXJtaW5hdGVkLCB0aGUgZW5jbGF2ZSBWTSAoMikgaXMgCj4+PiB0ZXJtaW5h dGVkIGFzIHdlbGwuCj4+Pgo+Pj4gV2l0aCByZWdhcmQgdG8gdGhlIGNvbW11bmljYXRpb24gY2hh bm5lbCwgdGhlIHByaW1hcnkgVk0gaGFzIGl0cyBvd24gCj4+PiBlbXVsYXRlZAo+Pj4gdmlydGlv LXZzb2NrIFBDSSBkZXZpY2UuIFRoZSBlbmNsYXZlIFZNIGhhcyBpdHMgb3duIGVtdWxhdGVkIAo+ Pj4gdmlydGlvLXZzb2NrIGRldmljZQo+Pj4gYXMgd2VsbC4gVGhpcyBjaGFubmVsIGlzIHVzZWQs IGZvciBleGFtcGxlLCB0byBmZXRjaCBkYXRhIGluIHRoZSAKPj4+IGVuY2xhdmUgYW5kCj4+PiB0 aGVuIHByb2Nlc3MgaXQuIEFuIGFwcGxpY2F0aW9uIHRoYXQgc2V0cyB1cCB0aGUgdnNvY2sgc29j a2V0IGFuZCAKPj4+IGNvbm5lY3RzIG9yCj4+PiBsaXN0ZW5zLCBkZXBlbmRpbmcgb24gdGhlIHVz ZSBjYXNlLCBpcyB0aGVuIGRldmVsb3BlZCB0byB1c2UgdGhpcyAKPj4+IGNoYW5uZWw7IHRoaXMK Pj4+IGhhcHBlbnMgb24gYm90aCBlbmRzIC0gcHJpbWFyeSBWTSBhbmQgZW5jbGF2ZSBWTS4KPj4+ Cj4+PiBMZXQgbWUga25vdyBpZiBmdXJ0aGVyIGNsYXJpZmljYXRpb25zIGFyZSBuZWVkZWQuCj4+ Pgo+Pj4+PiBUaGUgcHJvcG9zZWQgc29sdXRpb24gaXMgZm9sbG93aW5nIHRoZSBLVk0gbW9kZWwg YW5kIHVzZXMgdGhlIEtWTSAKPj4+Pj4gQVBJIHRvIGJlIGFibGUKPj4+Pj4gdG8gY3JlYXRlIGFu ZCBzZXQgcmVzb3VyY2VzIGZvciBlbmNsYXZlcy4gQW4gYWRkaXRpb25hbCBpb2N0bCAKPj4+Pj4g Y29tbWFuZCwgYmVzaWRlcwo+Pj4+PiB0aGUgb25lcyBwcm92aWRlZCBieSBLVk0sIGlzIHVzZWQg dG8gc3RhcnQgYW4gZW5jbGF2ZSBhbmQgc2V0dXAgCj4+Pj4+IHRoZSBhZGRyZXNzaW5nCj4+Pj4+ IGZvciB0aGUgY29tbXVuaWNhdGlvbiBjaGFubmVsIGFuZCBhbiBlbmNsYXZlIHVuaXF1ZSBpZC4K Pj4+PiBSZXVzaW5nIHNvbWUgS1ZNIGlvY3RscyBpcyBkZWZpbml0ZWx5IGEgZ29vZCBpZGVhLCBi dXQgSSB3b3VsZG4ndCAKPj4+PiByZWFsbHkKPj4+PiBzYXkgaXQncyB0aGUgS1ZNIEFQSSBzaW5j ZSB0aGUgVkNQVSBmaWxlIGRlc2NyaXB0b3IgaXMgYmFzaWNhbGx5IG5vbgo+Pj4+IGZ1bmN0aW9u YWwgKHdpdGhvdXQgS1ZNX1JVTiBhbmQgbW1hcCBpdCdzIG5vdCByZWFsbHkgdGhlIEtWTSBBUEkp Lgo+Pj4gSXQgdXNlcyBwYXJ0IG9mIHRoZSBLVk0gQVBJIG9yIGEgc2V0IG9mIEtWTSBpb2N0bHMg dG8gbW9kZWwgdGhlIHdheSAKPj4+IGEgVk0gaXMKPj4+IGNyZWF0ZWQgLyB0ZXJtaW5hdGVkLiBU aGF0J3MgdHJ1ZSwgS1ZNX1JVTiBhbmQgbW1hcC1pbmcgdGhlIHZjcHUgZmQgCj4+PiBhcmUgbm90 Cj4+PiBpbmNsdWRlZC4KPj4+Cj4+PiBUaGFua3MgZm9yIHRoZSBmZWVkYmFjayByZWdhcmRpbmcg dGhlIHJldXNlIG9mIEtWTSBpb2N0bHMuCj4+Pgo+Pj4gQW5kcmEKPj4+Cj4+Pgo+Pj4KPj4+Cj4+ PiBBbWF6b24gRGV2ZWxvcG1lbnQgQ2VudGVyIChSb21hbmlhKSBTLlIuTC4gcmVnaXN0ZXJlZCBv ZmZpY2U6IDI3QSAKPj4+IFNmLiBMYXphcgo+Pj4gU3RyZWV0LCBVQkM1LCBmbG9vciAyLCBJYXNp LCBJYXNpIENvdW50eSwgNzAwMDQ1LCBSb21hbmlhLiAKPj4+IFJlZ2lzdGVyZWQgaW4KPj4+IFJv bWFuaWEuIFJlZ2lzdHJhdGlvbiBudW1iZXIgSjIyLzI2MjEvMjAwNS4KPgoKCgoKQW1hem9uIERl dmVsb3BtZW50IENlbnRlciAoUm9tYW5pYSkgUy5SLkwuIHJlZ2lzdGVyZWQgb2ZmaWNlOiAyN0Eg U2YuIExhemFyIFN0cmVldCwgVUJDNSwgZmxvb3IgMiwgSWFzaSwgSWFzaSBDb3VudHksIDcwMDA0 NSwgUm9tYW5pYS4gUmVnaXN0ZXJlZCBpbiBSb21hbmlhLiBSZWdpc3RyYXRpb24gbnVtYmVyIEoy Mi8yNjIxLzIwMDUuCg==