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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 0B656C02196 for ; Thu, 6 Feb 2025 10:20:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=7meqGkHi3C8dJdy52Xnik91BNGHH0bxXyNVjJbnKCc0=; b=Bh9Hn7psPn3K/R SC00JJocOhoc945nxFpAcqNc9xg56HspCgGZhHOA/F45q0ovRr2QeDTcELJTfwoV3QK71Lo78VEKy tF/3vNCbVRzIhfm2y1PAhrtYEavsFaKdHnxnYT+pBQDXGUecpJdRa7+ITOEOBpR04PD+IDhmb54H8 pbd6jo82NPdjL254rV3lFduC6o6lm5mTZy3bxDbMPrPultz1V8dJuVl3KLpO9B+q+h3pqu0SEe8aJ rRt2qVNOXGWP5Yc0B4wlKIhQt0kZISvFsCDPSb1CEdL+C+rzAVuqmZYFmzKAw4o2Bnq8REoJQWjX/ 2YMFrEclgpHh2qFOxPFg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tfyzw-00000005xca-2WCu; Thu, 06 Feb 2025 10:20:40 +0000 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tfyzu-00000005xcE-1YNR for linux-riscv@lists.infradead.org; Thu, 06 Feb 2025 10:20:39 +0000 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-438a3216fc2so7043305e9.1 for ; Thu, 06 Feb 2025 02:20:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1738837237; x=1739442037; darn=lists.infradead.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=qYWLPuUcEyViHEWZl2OLoqFTH+F1AYzNF316tnzUCUk=; b=eS7E2nGS6TPIHHfIXwWa3tCgafEjAQdJNm2c4AnM0+uGSeYZHGeePxZNRSg+wZsPy2 f3kTpk3o6xTMSl9B4+jCCxaKlymFKNxw2JQNFBt1Jg7Kc/7XOvKMItCMf19PiFKTOWf6 Fw0TRx8J5zsxv8YuyhU/MxVN166WW3MXc9XsmrDgq2JYqgKl7JB7F6Yn9TNStT6aHt1N WnKUG4HO3r9FK6Ld5Gl0lQ1CNLQiQBspsq8Yv63JjuDNKbwuxflCgnn+YyIYD9qqDY/W xU/DUkY41wyEswv9v+zPQGgbkC475migz5n8/Wux/blU5zNUCq0wjhJ4YLU9mA8Z93Xm m0xA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738837237; x=1739442037; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=qYWLPuUcEyViHEWZl2OLoqFTH+F1AYzNF316tnzUCUk=; b=Jva9fC7zezQv4e8qWUFDwbPRpZPFRg0qsusTgNPaN+U6WsSaZsVRwcAZFJ69img5oF ysP5yiwUpWiXXSWVybWF2dFqfbYWiKppX/9z8Q9Tp9MPL+EYNIm0mJ55bi7oKLiNowxT dZgr/baGwD+JQOK47rxzFouvm0fxiBjKSe2gRNybqgUFsivTu595rMI8YA2zGX0G4EEm ZpGYI329C4yZ0tNjXrGKMiET1MDBffwRC4VHytms8q4dQK+VPzOtCRlWeQwENltHLia5 JPXhDfkmY+qc8j3B5r/wM/qfjDoMTKterAisVIQYKRjVfJPirpwjiYxjdqSV08F18gB+ 021A== X-Forwarded-Encrypted: i=1; AJvYcCU4YeRrvQPDK43k/LTVjONPKhKHcZV65ZKW8RWgGUIEevb6/I7c1Vm+XYuz0QP/hvzRyqkXD1S/0CjWjQ==@lists.infradead.org X-Gm-Message-State: AOJu0YyHMUcP+OEMkLUJ+qpkHy08obQVFeLpQZAGNzybBvQtnPMDMSMl EbJvCFMUSqxiY0EcNLP1iAi1SrVkiE99dbKKX622I/QoK9WYFUBCbp5J/35vGcw= X-Gm-Gg: ASbGncvMPKnoCaJgtWTF2CTMVC+pNbfnbtXw9yCUYLHNsZMLWaJ7Nq47k0SiVU2Zjnn 50GDqd9uOt4vTOPjDEDZM4zDZK3q4ayHPk7imelmsF9e+xSIHsQueJYM8fjWOEtjmYREDZQXm2n 8LLJUi/StH6FZvfkCEEGU1ErdCwVOtRkKmqxeNkBmGYPqACVQWrel7tWdPidHVKWkxleWyX80zP uS88QhVXdXYBM+exNRG3oA9gjFSNEZiLnPK6ffAA0EnvBEWlTPFeytT9nsqPIY5ckMbvy10hzJR +9FQovZNIuoD9g/QtjSg56nzbu4Td28EaLy1ys/1coKBbadi7rOqdmDgqYUW X-Google-Smtp-Source: AGHT+IF0A9SWlvxFTUWL4jBUWF4gwatSi74EHA8t1XR+t+JGyhlXqcyw5059y36rJQzknajfZ7Xdyg== X-Received: by 2002:a05:600c:458f:b0:434:f623:a004 with SMTP id 5b1f17b1804b1-4390d43ddaamr60637135e9.16.1738837236812; Thu, 06 Feb 2025 02:20:36 -0800 (PST) Received: from ?IPV6:2a01:e0a:e17:9700:16d2:7456:6634:9626? ([2a01:e0a:e17:9700:16d2:7456:6634:9626]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4391dfc87desm14027315e9.25.2025.02.06.02.20.35 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 06 Feb 2025 02:20:36 -0800 (PST) Message-ID: <00dc2fb7-da9b-42c3-9c3b-47d917df7cf6@rivosinc.com> Date: Thu, 6 Feb 2025 11:20:35 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 2/6] RISC-V: add vector crypto extension validation checks To: Conor Dooley , linux-riscv@lists.infradead.org Cc: Conor Dooley , Eric Biggers , Rob Herring , Krzysztof Kozlowski , Paul Walmsley , Palmer Dabbelt , Andy Chiu , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org References: <20250205-cobbler-unpadded-5580c1f5d946@spud> <20250205-quench-entrench-09bed8c8c823@spud> Content-Language: en-US From: =?UTF-8?B?Q2zDqW1lbnQgTMOpZ2Vy?= In-Reply-To: <20250205-quench-entrench-09bed8c8c823@spud> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250206_022038_413121_42DAE829 X-CRM114-Status: GOOD ( 31.96 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org CgpPbiAwNS8wMi8yMDI1IDE3OjA1LCBDb25vciBEb29sZXkgd3JvdGU6Cj4gRnJvbTogQ29ub3Ig RG9vbGV5IDxjb25vci5kb29sZXlAbWljcm9jaGlwLmNvbT4KPiAKPiBVc2luZyBDbGVtZW50J3Mg bmV3IHZhbGlkYXRpb24gY2FsbGJhY2tzLCBzdXBwb3J0IGNoZWNraW5nIHRoYXQKPiBkZXBlbmRl bmNpZXMgaGF2ZSBiZWVuIHNhdGlzZmllZCBmb3IgdGhlIHZlY3RvciBjcnB5dG8gZXh0ZW5zaW9u cy4KPiBDdXJyZW50bHkgcmlzY3ZfaXNhX2V4dGVuc2lvbl9hdmFpbGFibGUoPHZlY3RvciBjcnlw dG8+KSB3aWxsIHJldHVybgo+IHRydWUgb24gc3lzdGVtcyB0aGF0IHN1cHBvcnQgdGhlIGV4dGVu c2lvbnMgYnV0IHZlY3RvciBpdHNlbGYgaGFzIGJlZW4KPiBkaXNhYmxlZCBieSB0aGUga2VybmVs LCBhZGRpbmcgdmFsaWRhdGlvbiBjYWxsYmFja3Mgd2lsbCBwcmV2ZW50IHN1Y2ggYQo+IHNjZW5h cmlvIGZyb20gb2NjdXJpbmcgYW5kIG1ha2UgdGhlIGJlaGF2aW91ciBvZiB0aGUgZXh0ZW5zaW9u IGRldGVjdGlvbgo+IGZ1bmN0aW9ucyBtb3JlIGNvbnNpc3RlbnQgd2l0aCB1c2VyIGV4cGVjdGF0 aW9ucyAtIGl0J3Mgbm90IGV4cGVjdGVkIHRvCj4gaGF2ZSB0byBjaGVjayBmb3IgdmVjdG9yIEFO RCB0aGUgc3BlY2lmaWMgY3J5cHRvIGV4dGVuc2lvbi4KPiAKPiBUaGUgMS4wLjAgVmVjdG9yIGNy eXB0byBzcGVjIHN0YXRlczoKPiAJVGhlIFp2a25oYiBhbmQgWnZiYyBWZWN0b3IgQ3J5cHRvIEV4 dGVuc2lvbnMgLS1hbmQgYWNjb3JkaW5nbHkKPiAJdGhlIGNvbXBvc2l0ZSBleHRlbnNpb25zIFp2 a24gYW5kIFp2a3MtLSByZXF1aXJlIGEgWnZlNjR4IGJhc2UsCj4gCW9yIGFwcGxpY2F0aW9uICgi ViIpIGJhc2UgVmVjdG9yIEV4dGVuc2lvbi4gQWxsIG9mIHRoZSBvdGhlcgo+IAlWZWN0b3IgQ3J5 cHRvIEV4dGVuc2lvbnMgY2FuIGJlIGJ1aWx0IG9uIGFueSBlbWJlZGRlZCAoWnZlKikgb3IKPiAJ YXBwbGljYXRpb24gKCJWIikgYmFzZSBWZWN0b3IgRXh0ZW5zaW9uLgo+IGFuZCB0aGlzIGNvdWxk IGJlIHVzZWQgYXMgdGhlIGJhc2lzIGZvciBjaGVja2luZyB0aGF0IHRoZSBjb3JyZWN0IGJhc2UK PiBmb3IgaW5kaXZpZHVhbCBjcnlwdG8gZXh0ZW5zaW9ucywgYnV0IHRoYXQncyBub3QgcmVhbGx5 IHRoZSBrZXJuZWwncyBqb2IKPiBpbiBteSBvcGluaW9uIGFuZCBpdCBpcyBzdWZmaWNpZW50IHRv IGxlYXZlIHRoYXQgc29ydCBvZiBwcmVjaXNpb24gdG8KPiB0aGUgZHQtYmluZGluZ3MuIFRoZSBr ZXJuZWwgb25seSBuZWVkcyB0byBtYWtlIHN1cmUgdGhhdCB2ZWN0b3IsIGluIHNvbWUKPiBmb3Jt LCBpcyBhdmFpbGFibGUuCj4gCj4gU2luY2UgdmVjdG9yIHdpbGwgbm93IGJlIGRpc2FibGVkIHBy b2FjdGl2ZWx5LCB0aGVyZSdzIG5vIG5lZWQgdG8gY2xlYXIKPiB0aGUgYml0IGluIGVsZl9od2Nh cCBpbiByaXNjdl9maWxsX2h3Y2FwKCkgYW55IGxvbmdlci4KCkhleSBDb25vciwKClRvIHdoaWNo IHBhcnQgb2YgdGhlIGNvbW1pdCBkb2VzIHRoaXMgcmVmZXIgdG8gPwoKPiAKPiBMaW5rOiBodHRw czovL2dpdGh1Yi5jb20vcmlzY3YvcmlzY3YtY3J5cHRvL3JlbGVhc2VzL3RhZy92MS4wLjAKPiBT aWduZWQtb2ZmLWJ5OiBDb25vciBEb29sZXkgPGNvbm9yLmRvb2xleUBtaWNyb2NoaXAuY29tPgo+ IC0tLQo+ICBhcmNoL3Jpc2N2L2tlcm5lbC9jcHVmZWF0dXJlLmMgfCA0OSArKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAzMyBpbnNlcnRpb25zKCsp LCAxNiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9rZXJuZWwvY3B1 ZmVhdHVyZS5jIGIvYXJjaC9yaXNjdi9rZXJuZWwvY3B1ZmVhdHVyZS5jCj4gaW5kZXggNDBhMjRi MDhkOTA1Li4xYzE0OGVjZWE2MTIgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9yaXNjdi9rZXJuZWwvY3B1 ZmVhdHVyZS5jCj4gKysrIGIvYXJjaC9yaXNjdi9rZXJuZWwvY3B1ZmVhdHVyZS5jCj4gQEAgLTEz OCw2ICsxMzgsMjMgQEAgc3RhdGljIGludCByaXNjdl9leHRfdmVjdG9yX2Zsb2F0X3ZhbGlkYXRl KGNvbnN0IHN0cnVjdCByaXNjdl9pc2FfZXh0X2RhdGEgKmRhdGEKPiAgCXJldHVybiAwOwo+ICB9 Cj4gIAo+ICtzdGF0aWMgaW50IHJpc2N2X2V4dF92ZWN0b3JfY3J5cHRvX3ZhbGlkYXRlKGNvbnN0 IHN0cnVjdCByaXNjdl9pc2FfZXh0X2RhdGEgKmRhdGEsCj4gKwkJCQkJICAgIGNvbnN0IHVuc2ln bmVkIGxvbmcgKmlzYV9iaXRtYXApCj4gK3sKPiArCWlmICghSVNfRU5BQkxFRChDT05GSUdfUklT Q1ZfSVNBX1YpKQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsKPiArCS8qCj4gKwkgKiBJdCBpc24n dCB0aGUga2VybmVsJ3Mgam9iIHRvIGNoZWNrIHRoYXQgdGhlIGJpbmRpbmcgaXMgY29ycmVjdCwg c28KPiArCSAqIGl0IHNob3VsZCBiZSBlbm91Z2ggdG8gY2hlY2sgdGhhdCBhbnkgb2YgdGhlIHZl Y3RvciBleHRlbnNpb25zIGFyZQo+ICsJICogZW5hYmxlZCwgd2hpY2ggaW4tdHVybiBtZWFucyB0 aGF0IHZlY3RvciBpcyB1c2FibGUgaW4gdGhpcyBrZXJuZWwKPiArCSAqLwo+ICsJaWYgKCFfX3Jp c2N2X2lzYV9leHRlbnNpb25fYXZhaWxhYmxlKGlzYV9iaXRtYXAsIFJJU0NWX0lTQV9FWFRfWlZF MzJYKSkKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiAg c3RhdGljIGludCByaXNjdl9leHRfemNhX2RlcGVuZHMoY29uc3Qgc3RydWN0IHJpc2N2X2lzYV9l eHRfZGF0YSAqZGF0YSwKPiAgCQkJCSBjb25zdCB1bnNpZ25lZCBsb25nICppc2FfYml0bWFwKQo+ ICB7Cj4gQEAgLTM5Nyw4ICs0MTQsOCBAQCBjb25zdCBzdHJ1Y3QgcmlzY3ZfaXNhX2V4dF9kYXRh IHJpc2N2X2lzYV9leHRbXSA9IHsKPiAgCV9fUklTQ1ZfSVNBX0VYVF9EQVRBKHprc2VkLCBSSVND Vl9JU0FfRVhUX1pLU0VEKSwKPiAgCV9fUklTQ1ZfSVNBX0VYVF9EQVRBKHprc2gsIFJJU0NWX0lT QV9FWFRfWktTSCksCj4gIAlfX1JJU0NWX0lTQV9FWFRfREFUQSh6dHNvLCBSSVNDVl9JU0FfRVhU X1pUU08pLAo+IC0JX19SSVNDVl9JU0FfRVhUX1NVUEVSU0VUKHp2YmIsIFJJU0NWX0lTQV9FWFRf WlZCQiwgcmlzY3ZfenZiYl9leHRzKSwKPiAtCV9fUklTQ1ZfSVNBX0VYVF9EQVRBKHp2YmMsIFJJ U0NWX0lTQV9FWFRfWlZCQyksCj4gKwlfX1JJU0NWX0lTQV9FWFRfU1VQRVJTRVRfVkFMSURBVEUo enZiYiwgUklTQ1ZfSVNBX0VYVF9aVkJCLCByaXNjdl96dmJiX2V4dHMsIHJpc2N2X2V4dF92ZWN0 b3JfeF92YWxpZGF0ZSksCj4gKwlfX1JJU0NWX0lTQV9FWFRfREFUQV9WQUxJREFURSh6dmJjLCBS SVNDVl9JU0FfRVhUX1pWQkMsIHJpc2N2X2V4dF92ZWN0b3JfY3J5cHRvX3ZhbGlkYXRlKSwKPiAg CV9fUklTQ1ZfSVNBX0VYVF9TVVBFUlNFVF9WQUxJREFURSh6dmUzMmYsIFJJU0NWX0lTQV9FWFRf WlZFMzJGLCByaXNjdl96dmUzMmZfZXh0cywgcmlzY3ZfZXh0X3ZlY3Rvcl9mbG9hdF92YWxpZGF0 ZSksCj4gIAlfX1JJU0NWX0lTQV9FWFRfREFUQV9WQUxJREFURSh6dmUzMngsIFJJU0NWX0lTQV9F WFRfWlZFMzJYLCByaXNjdl9leHRfdmVjdG9yX3hfdmFsaWRhdGUpLAo+ICAJX19SSVNDVl9JU0Ff RVhUX1NVUEVSU0VUX1ZBTElEQVRFKHp2ZTY0ZCwgUklTQ1ZfSVNBX0VYVF9aVkU2NEQsIHJpc2N2 X3p2ZTY0ZF9leHRzLCByaXNjdl9leHRfdmVjdG9yX2Zsb2F0X3ZhbGlkYXRlKSwKPiBAQCAtNDA2 LDIwICs0MjMsMjAgQEAgY29uc3Qgc3RydWN0IHJpc2N2X2lzYV9leHRfZGF0YSByaXNjdl9pc2Ff ZXh0W10gPSB7Cj4gIAlfX1JJU0NWX0lTQV9FWFRfU1VQRVJTRVRfVkFMSURBVEUoenZlNjR4LCBS SVNDVl9JU0FfRVhUX1pWRTY0WCwgcmlzY3ZfenZlNjR4X2V4dHMsIHJpc2N2X2V4dF92ZWN0b3Jf eF92YWxpZGF0ZSksCj4gIAlfX1JJU0NWX0lTQV9FWFRfREFUQSh6dmZoLCBSSVNDVl9JU0FfRVhU X1pWRkgpLAo+ICAJX19SSVNDVl9JU0FfRVhUX0RBVEEoenZmaG1pbiwgUklTQ1ZfSVNBX0VYVF9a VkZITUlOKSwKPiAtCV9fUklTQ1ZfSVNBX0VYVF9EQVRBKHp2a2IsIFJJU0NWX0lTQV9FWFRfWlZL QiksCj4gLQlfX1JJU0NWX0lTQV9FWFRfREFUQSh6dmtnLCBSSVNDVl9JU0FfRVhUX1pWS0cpLAo+ IC0JX19SSVNDVl9JU0FfRVhUX0JVTkRMRSh6dmtuLCByaXNjdl96dmtuX2J1bmRsZWRfZXh0cyks Cj4gLQlfX1JJU0NWX0lTQV9FWFRfQlVORExFKHp2a25jLCByaXNjdl96dmtuY19idW5kbGVkX2V4 dHMpLAo+IC0JX19SSVNDVl9JU0FfRVhUX0RBVEEoenZrbmVkLCBSSVNDVl9JU0FfRVhUX1pWS05F RCksCj4gLQlfX1JJU0NWX0lTQV9FWFRfQlVORExFKHp2a25nLCByaXNjdl96dmtuZ19idW5kbGVk X2V4dHMpLAo+IC0JX19SSVNDVl9JU0FfRVhUX0RBVEEoenZrbmhhLCBSSVNDVl9JU0FfRVhUX1pW S05IQSksCj4gLQlfX1JJU0NWX0lTQV9FWFRfREFUQSh6dmtuaGIsIFJJU0NWX0lTQV9FWFRfWlZL TkhCKSwKPiAtCV9fUklTQ1ZfSVNBX0VYVF9CVU5ETEUoenZrcywgcmlzY3ZfenZrc19idW5kbGVk X2V4dHMpLAo+IC0JX19SSVNDVl9JU0FfRVhUX0JVTkRMRSh6dmtzYywgcmlzY3ZfenZrc2NfYnVu ZGxlZF9leHRzKSwKPiAtCV9fUklTQ1ZfSVNBX0VYVF9EQVRBKHp2a3NlZCwgUklTQ1ZfSVNBX0VY VF9aVktTRUQpLAo+IC0JX19SSVNDVl9JU0FfRVhUX0RBVEEoenZrc2gsIFJJU0NWX0lTQV9FWFRf WlZLU0gpLAo+IC0JX19SSVNDVl9JU0FfRVhUX0JVTkRMRSh6dmtzZywgcmlzY3ZfenZrc2dfYnVu ZGxlZF9leHRzKSwKPiAtCV9fUklTQ1ZfSVNBX0VYVF9EQVRBKHp2a3QsIFJJU0NWX0lTQV9FWFRf WlZLVCksCj4gKwlfX1JJU0NWX0lTQV9FWFRfREFUQV9WQUxJREFURSh6dmtiLCBSSVNDVl9JU0Ff RVhUX1pWS0IsIHJpc2N2X2V4dF92ZWN0b3JfY3J5cHRvX3ZhbGlkYXRlKSwKPiArCV9fUklTQ1Zf SVNBX0VYVF9EQVRBX1ZBTElEQVRFKHp2a2csIFJJU0NWX0lTQV9FWFRfWlZLRywgcmlzY3ZfZXh0 X3ZlY3Rvcl9jcnlwdG9fdmFsaWRhdGUpLAo+ICsJX19SSVNDVl9JU0FfRVhUX0JVTkRMRV9WQUxJ REFURSh6dmtuLCByaXNjdl96dmtuX2J1bmRsZWRfZXh0cywgcmlzY3ZfZXh0X3ZlY3Rvcl9jcnlw dG9fdmFsaWRhdGUpLAo+ICsJX19SSVNDVl9JU0FfRVhUX0JVTkRMRV9WQUxJREFURSh6dmtuYywg cmlzY3ZfenZrbmNfYnVuZGxlZF9leHRzLCByaXNjdl9leHRfdmVjdG9yX2NyeXB0b192YWxpZGF0 ZSksCj4gKwlfX1JJU0NWX0lTQV9FWFRfREFUQV9WQUxJREFURSh6dmtuZWQsIFJJU0NWX0lTQV9F WFRfWlZLTkVELCByaXNjdl9leHRfdmVjdG9yX2NyeXB0b192YWxpZGF0ZSksCj4gKwlfX1JJU0NW X0lTQV9FWFRfQlVORExFX1ZBTElEQVRFKHp2a25nLCByaXNjdl96dmtuZ19idW5kbGVkX2V4dHMs IHJpc2N2X2V4dF92ZWN0b3JfY3J5cHRvX3ZhbGlkYXRlKSwKPiArCV9fUklTQ1ZfSVNBX0VYVF9E QVRBX1ZBTElEQVRFKHp2a25oYSwgUklTQ1ZfSVNBX0VYVF9aVktOSEEsIHJpc2N2X2V4dF92ZWN0 b3JfY3J5cHRvX3ZhbGlkYXRlKSwKPiArCV9fUklTQ1ZfSVNBX0VYVF9EQVRBX1ZBTElEQVRFKHp2 a25oYiwgUklTQ1ZfSVNBX0VYVF9aVktOSEIsIHJpc2N2X2V4dF92ZWN0b3JfY3J5cHRvX3ZhbGlk YXRlKSwKPiArCV9fUklTQ1ZfSVNBX0VYVF9CVU5ETEVfVkFMSURBVEUoenZrcywgcmlzY3ZfenZr c19idW5kbGVkX2V4dHMsIHJpc2N2X2V4dF92ZWN0b3JfY3J5cHRvX3ZhbGlkYXRlKSwKPiArCV9f UklTQ1ZfSVNBX0VYVF9CVU5ETEVfVkFMSURBVEUoenZrc2MsIHJpc2N2X3p2a3NjX2J1bmRsZWRf ZXh0cywgcmlzY3ZfZXh0X3ZlY3Rvcl9jcnlwdG9fdmFsaWRhdGUpLAo+ICsJX19SSVNDVl9JU0Ff RVhUX0RBVEFfVkFMSURBVEUoenZrc2VkLCBSSVNDVl9JU0FfRVhUX1pWS1NFRCwgcmlzY3ZfZXh0 X3ZlY3Rvcl9jcnlwdG9fdmFsaWRhdGUpLAo+ICsJX19SSVNDVl9JU0FfRVhUX0RBVEFfVkFMSURB VEUoenZrc2gsIFJJU0NWX0lTQV9FWFRfWlZLU0gsIHJpc2N2X2V4dF92ZWN0b3JfY3J5cHRvX3Zh bGlkYXRlKSwKPiArCV9fUklTQ1ZfSVNBX0VYVF9CVU5ETEVfVkFMSURBVEUoenZrc2csIHJpc2N2 X3p2a3NnX2J1bmRsZWRfZXh0cywgcmlzY3ZfZXh0X3ZlY3Rvcl9jcnlwdG9fdmFsaWRhdGUpLAo+ ICsJX19SSVNDVl9JU0FfRVhUX0RBVEFfVkFMSURBVEUoenZrdCwgUklTQ1ZfSVNBX0VYVF9aVktU LCByaXNjdl9leHRfdmVjdG9yX2NyeXB0b192YWxpZGF0ZSksCgpJJ20gbm90IHN1cmUgaWYgSSBh bHJlYWR5IG1hZGUgdGhhdCBjb21tZW50LCBzbyBoZXJlIHdlIGdvIGFnYWluLgpTaG91bGRuJ3Qg WnZiYiB1c2UgcmlzY3ZfZXh0X3ZlY3Rvcl9jcnlwdG9fdmFsaWRhdGUoKSBhcyB3ZWxsID8gIFRo ZQpzcGVjIHN0YXRlcyB0aGF0IFp2YmIgaXMgYSBzdXBlcnNldCBvZiBadmtiIGFuZCBadmtiIHVz ZXMgdGhlCnJpc2N2X2V4dF92ZWN0b3JfY3J5cHRvX3ZhbGlkYXRlKCkgdmFsaWRhdGlvbiBjYWxs YmFjay4gSSBndWVzcyBadmJjCnNob3VsZCBhbHNvIHVzZSBpdCBiYXNlZCBvbiB5b3VyIHNwZWMg ZXhjZXJwdCBpbiB0aGUgY29tbW1pdCBsb2cuCgpUaGFua3MsCgpDbMOpbWVudAoKPiAgCV9fUklT Q1ZfSVNBX0VYVF9EQVRBKHNtYWlhLCBSSVNDVl9JU0FfRVhUX1NNQUlBKSwKPiAgCV9fUklTQ1Zf SVNBX0VYVF9EQVRBKHNtbXBtLCBSSVNDVl9JU0FfRVhUX1NNTVBNKSwKPiAgCV9fUklTQ1ZfSVNB X0VYVF9TVVBFUlNFVChzbW5wbSwgUklTQ1ZfSVNBX0VYVF9TTU5QTSwgcmlzY3ZfeGxpbnV4ZW52 Y2ZnX2V4dHMpLAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmxpbnV4LXJpc2N2IG1haWxpbmcgbGlzdApsaW51eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQu b3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcmlz Y3YK