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 4D62EC282EC for ; Fri, 14 Mar 2025 16:20:24 +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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=eZdLWHsORel3+5ks5wvwZdA40EIdmQScsH0rfpxHn4Y=; b=UvbskvikRTXP+YaZTWrJDddCyU qa2GIzJrYVmAvp8BCdruEFGt8oodx9DY/jvpW84Z97m5rYAWRkUnpTWzUANL7zGUgup/qxqH5uni/ W4xPB7LL+cc7TjCXvYKGDx4k25uPv9pgIOTAFyq/dQ67SVyxcEnSWJSvX7CwOxdGz/F999X2tHsMv sMUzOwQnl4iNyO2yStxSqvw3hcMW97eh9RyahuDnre0pm1SZmj3pIkQBR+VpRNJ5Ai8g2ro2x9bJ4 HFoxA45CRUIm8wO4ba9DXJv/ssJdgiZDzXM8t8yfhdPW8MdATM+Unwn7yukBhVZTYz3GntApe3yTe SBf8MQWg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tt7lh-0000000EjeF-3fjq; Fri, 14 Mar 2025 16:20:17 +0000 Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tt7lS-0000000EjYE-3NyH for linux-riscv@lists.infradead.org; Fri, 14 Mar 2025 16:20:04 +0000 Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-223fd89d036so48842185ad.1 for ; Fri, 14 Mar 2025 09:20:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1741969201; x=1742574001; darn=lists.infradead.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=4iE9Aj155vU9nWMwEtJbFQr2Ek1tXLJTCSgBH0mDSSs=; b=RxJ/mh0BrVTvkBBUJfY1Ln/HZzVKL2XrESAtEsItj8kfoSiBqovqfVC2a/goS+gPfT XxKJY0FWAhLArv6BXlrhwOuQkBorb+6UjPtB7/scseljPU4RtSK2S8vVOG+oug3KTK+A /k4ijknT4/NOh7rIFoGOgSWrUALZzqf2yMAVvOQIE3wU+Zfgk2ICVSeDFJ1rWZRbnihZ 9z8TQW9aH1o3dUfxsUnQjdFCgiMsEc8koStxs+0/XoqXd1zN/L1Y15PZ+UL4Y2WLubPi s/M9WxILVXx4O7IzGw9sArakD6EYfmk6l86JALWBU0nKDtMZHX/YKq1s3cA6yF+E4bOB 9Gcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741969201; x=1742574001; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=4iE9Aj155vU9nWMwEtJbFQr2Ek1tXLJTCSgBH0mDSSs=; b=kI0/y/fzbsQP9CJBn/515SZ5Y3wJVP2lRq4Laos5azk0c37HArAHAavsQPtpogudkY c6RJmywXQM8nZW0w2E+hf1dsWuy8xwpgCDhplwsfuFVQSK1k8Q4Ndj4qkApQNcIEbu0y TIChGFgYUh79zz24q2hzISWEZIlLNnR11nD9RT6tjBsjg6Me6Y3gIvF8ev2l/Zp3ISP+ ki9d41kLy+WODnaXx2jXiYJm1f3OzEGZGmqp+UDoDgHlIplAedV7XCo74i90Xvo/SFhd a/1LaNtAs0Oh9TmiX78bfWE1rowcx+gMMc/n3Bs1e8+vbOqkNAyrCshZvB49IjUHyQZr ndXA== X-Forwarded-Encrypted: i=1; AJvYcCWsDJH8FVH7RYj3Oqv0g/yQdRSeXWR2b/oRlT+Dy38ZompJmGtxRG+u1xd8+WL/WRTjVl5ukGkJeECYOA==@lists.infradead.org X-Gm-Message-State: AOJu0YxTTkblhWPuC/0E2+OI71zZdscQot+dMSEZv32P2j0bgS84xYcN j/8P2C5EaatqSOExwDG5TYPqtFTU/3Z6a7p8DQ3HIsBBBBUSJ+dJCmZgodqffAA= X-Gm-Gg: ASbGncuvEvtknBJb8VRjJwWlh42o9l93Ze/SBJPaqm5JUyYiy2I0mvqLb3VGKfJ+lnv 0FuGio8cSxleyZKYn+ClXpyJmIO6n3wk+KAw5lgnkdm8geWcyZaApCZq6QoDqqcF3dirsaHwF9Y 3dpNEdgiUeBQ+M8Jje1X8phfduPz6l5S9uitXrzTrkjAz1wxiz3OC/dXkTyMhSeNW4LtnZCDsO8 T1nisXDhOpRbHQ+Z8Gz7naQKBGjSlcuKx95e0rc1pZiLGKTZkQiWQJQjdKAo9KoKtYrZ9tzdzYY 9uI/851RoVap8Iin7cHRnuD82Lu0OSJ31nQPTZWw4PRP9rFATGtGELiy1OHxBDwGcw== X-Google-Smtp-Source: AGHT+IHaZv14PiDCCl5alLmsrLTAosVgBcOkr+N1Y8pEfjFu2xgCXzp40ME/YZI+0wTGJ7KUwvdfgw== X-Received: by 2002:a17:903:2b0c:b0:21f:45d:21fb with SMTP id d9443c01a7336-225e0a28ademr37966685ad.3.1741969201235; Fri, 14 Mar 2025 09:20:01 -0700 (PDT) Received: from debug.ba.rivosinc.com ([64.71.180.162]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-30153534510sm1208138a91.22.2025.03.14.09.19.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Mar 2025 09:20:00 -0700 (PDT) Date: Fri, 14 Mar 2025 09:19:57 -0700 From: Deepak Gupta To: Zong Li Cc: Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Andrew Morton , "Liam R. Howlett" , Vlastimil Babka , Lorenzo Stoakes , Paul Walmsley , Palmer Dabbelt , Albert Ou , Conor Dooley , Rob Herring , Krzysztof Kozlowski , Arnd Bergmann , Christian Brauner , Peter Zijlstra , Oleg Nesterov , Eric Biederman , Kees Cook , Jonathan Corbet , Shuah Khan , Jann Horn , Conor Dooley , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, devicetree@vger.kernel.org, linux-arch@vger.kernel.org, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, alistair.francis@wdc.com, richard.henderson@linaro.org, jim.shu@sifive.com, andybnac@gmail.com, kito.cheng@sifive.com, charlie@rivosinc.com, atishp@rivosinc.com, evan@rivosinc.com, cleger@rivosinc.com, alexghiti@rivosinc.com, samitolvanen@google.com, broonie@kernel.org, rick.p.edgecombe@intel.com Subject: Re: [PATCH v11 13/27] prctl: arch-agnostic prctl for indirect branch tracking Message-ID: References: <20250310-v5_user_cfi_series-v11-0-86b36cbfb910@rivosinc.com> <20250310-v5_user_cfi_series-v11-13-86b36cbfb910@rivosinc.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250314_092003_055618_A4E12A22 X-CRM114-Status: GOOD ( 27.16 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gRnJpLCBNYXIgMTQsIDIwMjUgYXQgMDQ6MjU6NTlQTSArMDgwMCwgWm9uZyBMaSB3cm90ZToK Pk9uIE1vbiwgTWFyIDEwLCAyMDI1IGF0IDExOjQy4oCvUE0gRGVlcGFrIEd1cHRhIDxkZWJ1Z0By aXZvc2luYy5jb20+IHdyb3RlOgo+Pgo+PiBUaHJlZSBhcmNoaXRlY3R1cmVzICh4ODYsIGFhcmNo NjQsIHJpc2N2KSBoYXZlIHN1cHBvcnQgZm9yIGluZGlyZWN0IGJyYW5jaAo+PiB0cmFja2luZyBm ZWF0dXJlIGluIGEgdmVyeSBzaW1pbGFyIGZhc2hpb24uIE9uIGEgdmVyeSBoaWdoIGxldmVsLCBp bmRpcmVjdAo+PiBicmFuY2ggdHJhY2tpbmcgaXMgYSBDUFUgZmVhdHVyZSB3aGVyZSBDUFUgdHJh Y2tzIGJyYW5jaGVzIHdoaWNoIHVzZXMKPj4gbWVtb3J5IG9wZXJhbmQgdG8gcGVyZm9ybSBjb250 cm9sIHRyYW5zZmVyIGluIHByb2dyYW0uIEFzIHBhcnQgb2YgdGhpcwo+PiB0cmFja2luZyBvbiBp bmRpcmVjdCBicmFuY2hlcywgQ1BVIGdvZXMgaW4gYSBzdGF0ZSB3aGVyZSBpdCBleHBlY3RzIGEK Pj4gbGFuZGluZyBwYWQgaW5zdHIgb24gdGFyZ2V0IGFuZCBpZiBub3QgZm91bmQgdGhlbiBDUFUg cmFpc2VzIHNvbWUgZmF1bHQKPj4gKGFyY2hpdGVjdHVyZSBkZXBlbmRlbnQpCj4+Cj4+IHg4NiBs YW5kaW5nIHBhZCBpbnN0ciAtIGBFTkRCUkFOQ0hgCj4+IGFhcmNoNjQgbGFuZGluZyBwYWQgaW5z dHIgLSBgQlRJYAo+PiByaXNjdiBsYW5kaW5nIGluc3RyIC0gYGxwYWRgCj4+Cj4+IEdpdmVuIHRo YXQgdGhyZWUgbWFqb3IgYXJjaGVzIGhhdmUgc3VwcG9ydCBmb3IgaW5kaXJlY3QgYnJhbmNoIHRy YWNraW5nLAo+PiBUaGlzIHBhdGNoIG1ha2VzIGBwcmN0bGAgZm9yIGluZGlyZWN0IGJyYW5jaCB0 cmFja2luZyBhcmNoIGFnbm9zdGljLgo+Pgo+PiBUbyBhbGxvdyB1c2Vyc3BhY2UgdG8gZW5hYmxl IHRoaXMgZmVhdHVyZSBmb3IgaXRzZWxmLCBmb2xsb3dpbmcgcHJ0Y2xzIGFyZQo+PiBkZWZpbmVk Ogo+PiAgLSBQUl9HRVRfSU5ESVJfQlJfTFBfU1RBVFVTOiBHZXRzIGN1cnJlbnQgY29uZmlndXJl ZCBzdGF0dXMgZm9yIGluZGlyZWN0Cj4+ICAgIGJyYW5jaCB0cmFja2luZy4KPj4gIC0gUFJfU0VU X0lORElSX0JSX0xQX1NUQVRVUzogU2V0cyBhIGNvbmZpZ3VyYXRpb24gZm9yIGluZGlyZWN0IGJy YW5jaAo+PiAgICB0cmFja2luZy4KPj4gICAgRm9sbG93aW5nIHN0YXR1cyBvcHRpb25zIGFyZSBh bGxvd2VkCj4+ICAgICAgICAtIFBSX0lORElSX0JSX0xQX0VOQUJMRTogRW5hYmxlcyBpbmRpcmVj dCBicmFuY2ggdHJhY2tpbmcgb24gdXNlcgo+PiAgICAgICAgICB0aHJlYWQuCj4+ICAgICAgICAt IFBSX0lORElSX0JSX0xQX0RJU0FCTEU7IERpc2FibGVzIGluZGlyZWN0IGJyYW5jaCB0cmFja2lu ZyBvbiB1c2VyCj4+ICAgICAgICAgIHRocmVhZC4KPj4gIC0gUFJfTE9DS19JTkRJUl9CUl9MUF9T VEFUVVM6IExvY2tzIGNvbmZpZ3VyZWQgc3RhdHVzIGZvciBpbmRpcmVjdCBicmFuY2gKPj4gICAg dHJhY2tpbmcgZm9yIHVzZXIgdGhyZWFkLgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBEZWVwYWsgR3Vw dGEgPGRlYnVnQHJpdm9zaW5jLmNvbT4KPj4gUmV2aWV3ZWQtYnk6IE1hcmsgQnJvd24gPGJyb29u aWVAa2VybmVsLm9yZz4KPj4gLS0tCj4+ICBhcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3VzZXJjZmku aCB8IDE2ICsrKysrKysrLQo+PiAgYXJjaC9yaXNjdi9rZXJuZWwvZW50cnkuUyAgICAgICAgfCAg MiArLQo+PiAgYXJjaC9yaXNjdi9rZXJuZWwvcHJvY2Vzcy5jICAgICAgfCAgNSArKysKPj4gIGFy Y2gvcmlzY3Yva2VybmVsL3VzZXJjZmkuYyAgICAgIHwgNzYgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKwo+PiAgaW5jbHVkZS9saW51eC9jcHUuaCAgICAgICAgICAgICAg fCAgNCArKysKPj4gIGluY2x1ZGUvdWFwaS9saW51eC9wcmN0bC5oICAgICAgIHwgMjcgKysrKysr KysrKysrKysKPj4gIGtlcm5lbC9zeXMuYyAgICAgICAgICAgICAgICAgICAgIHwgMzAgKysrKysr KysrKysrKysrKwo+PiAgNyBmaWxlcyBjaGFuZ2VkLCAxNTggaW5zZXJ0aW9ucygrKSwgMiBkZWxl dGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vdXNlcmNm aS5oIGIvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS91c2VyY2ZpLmgKPj4gaW5kZXggYzRkY2QyNTZm MTlhLi5hOGNlYzdjMTRkMWQgMTAwNjQ0Cj4+IC0tLSBhL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20v dXNlcmNmaS5oCj4+ICsrKyBiL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vdXNlcmNmaS5oCj4+IEBA IC0xNiw3ICsxNiw5IEBAIHN0cnVjdCBrZXJuZWxfY2xvbmVfYXJnczsKPj4gIHN0cnVjdCBjZmlf c3RhdHVzIHsKPj4gICAgICAgICB1bnNpZ25lZCBsb25nIHViY2ZpX2VuIDogMTsgLyogRW5hYmxl IGZvciBiYWNrd2FyZCBjZmkuICovCj4+ICAgICAgICAgdW5zaWduZWQgbG9uZyB1YmNmaV9sb2Nr ZWQgOiAxOwo+PiAtICAgICAgIHVuc2lnbmVkIGxvbmcgcnN2ZCA6ICgoc2l6ZW9mKHVuc2lnbmVk IGxvbmcpICogOCkgLSAyKTsKPj4gKyAgICAgICB1bnNpZ25lZCBsb25nIHVmY2ZpX2VuIDogMTsg LyogRW5hYmxlIGZvciBmb3J3YXJkIGNmaS4gTm90ZSB0aGF0IEVMUCBnb2VzIGluIHNzdGF0dXMg Ki8KPj4gKyAgICAgICB1bnNpZ25lZCBsb25nIHVmY2ZpX2xvY2tlZCA6IDE7Cj4+ICsgICAgICAg dW5zaWduZWQgbG9uZyByc3ZkIDogKChzaXplb2YodW5zaWduZWQgbG9uZykgKiA4KSAtIDQpOwo+ PiAgICAgICAgIHVuc2lnbmVkIGxvbmcgdXNlcl9zaGR3X3N0azsgLyogQ3VycmVudCB1c2VyIHNo YWRvdyBzdGFjayBwb2ludGVyICovCj4+ICAgICAgICAgdW5zaWduZWQgbG9uZyBzaGR3X3N0a19i YXNlOyAvKiBCYXNlIGFkZHJlc3Mgb2Ygc2hhZG93IHN0YWNrICovCj4+ICAgICAgICAgdW5zaWdu ZWQgbG9uZyBzaGR3X3N0a19zaXplOyAvKiBzaXplIG9mIHNoYWRvdyBzdGFjayAqLwo+PiBAQCAt MzMsNiArMzUsMTAgQEAgYm9vbCBpc19zaHN0a19sb2NrZWQoc3RydWN0IHRhc2tfc3RydWN0ICp0 YXNrKTsKPj4gIGJvb2wgaXNfc2hzdGtfYWxsb2NhdGVkKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFz ayk7Cj4+ICB2b2lkIHNldF9zaHN0a19sb2NrKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzayk7Cj4+ ICB2b2lkIHNldF9zaHN0a19zdGF0dXMoc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCBib29sIGVu YWJsZSk7Cj4+ICtib29sIGlzX2luZGlyX2xwX2VuYWJsZWQoc3RydWN0IHRhc2tfc3RydWN0ICp0 YXNrKTsKPj4gK2Jvb2wgaXNfaW5kaXJfbHBfbG9ja2VkKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFz ayk7Cj4+ICt2b2lkIHNldF9pbmRpcl9scF9zdGF0dXMoc3RydWN0IHRhc2tfc3RydWN0ICp0YXNr LCBib29sIGVuYWJsZSk7Cj4+ICt2b2lkIHNldF9pbmRpcl9scF9sb2NrKHN0cnVjdCB0YXNrX3N0 cnVjdCAqdGFzayk7Cj4+Cj4+ICAjZGVmaW5lIFBSX1NIQURPV19TVEFDS19TVVBQT1JURURfU1RB VFVTX01BU0sgKFBSX1NIQURPV19TVEFDS19FTkFCTEUpCj4+Cj4+IEBAIC01OCw2ICs2NCwxNCBA QCB2b2lkIHNldF9zaHN0a19zdGF0dXMoc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCBib29sIGVu YWJsZSk7Cj4+Cj4+ICAjZGVmaW5lIHNldF9zaHN0a19zdGF0dXModGFzaywgZW5hYmxlKQo+Pgo+ PiArI2RlZmluZSBpc19pbmRpcl9scF9lbmFibGVkKHRhc2spIGZhbHNlCj4+ICsKPj4gKyNkZWZp bmUgaXNfaW5kaXJfbHBfbG9ja2VkKHRhc2spIGZhbHNlCj4+ICsKPj4gKyNkZWZpbmUgc2V0X2lu ZGlyX2xwX3N0YXR1cyh0YXNrLCBlbmFibGUpCj4+ICsKPj4gKyNkZWZpbmUgc2V0X2luZGlyX2xw X2xvY2sodGFzaykKPj4gKwo+PiAgI2VuZGlmIC8qIENPTkZJR19SSVNDVl9VU0VSX0NGSSAqLwo+ Pgo+PiAgI2VuZGlmIC8qIF9fQVNTRU1CTFlfXyAqLwo+PiBkaWZmIC0tZ2l0IGEvYXJjaC9yaXNj di9rZXJuZWwvZW50cnkuUyBiL2FyY2gvcmlzY3Yva2VybmVsL2VudHJ5LlMKPj4gaW5kZXggNjhj OTkxMjRlYTU1Li4wMDQ5NGI1NGZmNGEgMTAwNjQ0Cj4+IC0tLSBhL2FyY2gvcmlzY3Yva2VybmVs L2VudHJ5LlMKPj4gKysrIGIvYXJjaC9yaXNjdi9rZXJuZWwvZW50cnkuUwo+PiBAQCAtMTQzLDcg KzE0Myw3IEBAIFNZTV9DT0RFX1NUQVJUKGhhbmRsZV9leGNlcHRpb24pCj4+ICAgICAgICAgICog RGlzYWJsZSB0aGUgRlBVL1ZlY3RvciB0byBkZXRlY3QgaWxsZWdhbCB1c2FnZSBvZiBmbG9hdGlu ZyBwb2ludAo+PiAgICAgICAgICAqIG9yIHZlY3RvciBpbiBrZXJuZWwgc3BhY2UuCj4+ICAgICAg ICAgICovCj4+IC0gICAgICAgbGkgdDAsIFNSX1NVTSB8IFNSX0ZTX1ZTCj4+ICsgICAgICAgbGkg dDAsIFNSX1NVTSB8IFNSX0ZTX1ZTIHwgU1JfRUxQCj4+Cj4+ICAgICAgICAgUkVHX0wgczAsIFRB U0tfVElfVVNFUl9TUCh0cCkKPj4gICAgICAgICBjc3JyYyBzMSwgQ1NSX1NUQVRVUywgdDAKPj4g ZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3Yva2VybmVsL3Byb2Nlc3MuYyBiL2FyY2gvcmlzY3Yva2Vy bmVsL3Byb2Nlc3MuYwo+PiBpbmRleCBjZDExNjY3NTkzZmUuLjQ1ODcyMDFkZDgxZCAxMDA2NDQK Pj4gLS0tIGEvYXJjaC9yaXNjdi9rZXJuZWwvcHJvY2Vzcy5jCj4+ICsrKyBiL2FyY2gvcmlzY3Yv a2VybmVsL3Byb2Nlc3MuYwo+PiBAQCAtMTYwLDYgKzE2MCwxMSBAQCB2b2lkIHN0YXJ0X3RocmVh ZChzdHJ1Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgbG9uZyBwYywKPj4gICAgICAgICBzZXRf c2hzdGtfc3RhdHVzKGN1cnJlbnQsIGZhbHNlKTsKPj4gICAgICAgICBzZXRfc2hzdGtfYmFzZShj dXJyZW50LCAwLCAwKTsKPj4gICAgICAgICBzZXRfYWN0aXZlX3Noc3RrKGN1cnJlbnQsIDApOwo+ PiArICAgICAgIC8qCj4+ICsgICAgICAgICogZGlzYWJsZSBpbmRpcmVjdCBicmFuY2ggdHJhY2tp bmcgb24gZXhlYy4KPj4gKyAgICAgICAgKiBsaWJjIHdpbGwgZW5hYmxlIGl0IGxhdGVyIHZpYSBw cmN0bC4KPj4gKyAgICAgICAgKi8KPj4gKyAgICAgICBzZXRfaW5kaXJfbHBfc3RhdHVzKGN1cnJl bnQsIGZhbHNlKTsKPgo+SW4gc2V0X2luZGlyX2xwX3N0YXR1cyBhbmQgc2V0X3Noc3RrX3N0YXR1 cywgdGhlICRzZW52Y2ZnLkxQRSBhbmQKPiRzZW52Y2ZnLlNTRSBmaWVsZHMgYXJlIHNldC4gSG93 ZXZlciwgaWYgdGhlIENQVSBkb2VzIG5vdCBzdXBwb3J0IHRoaXMKPkNTUiwgd3JpdGluZyB0byBp dCB3aWxsIHRyaWdnZXIgYW4gaWxsZWdhbCBpbnN0cnVjdGlvbiBleGNlcHRpb24uCj5TaG91bGQg d2UgYWRkIHNhbml0eSBjaGVja3MgdG8gaGFuZGxlIHRoaXMgc2l0dWF0aW9uPyBUaGFua3MKCmht bS4gdGhlc2Ugd2VyZSB0d28gcGF0Y2hlcy4gc29tZXRoaW5nIGhhcHBlbmVkIGluIG15IHdvcmtm bG93IGFuZCB0d28Kd2VyZSBzcXVhc2ggdG9nZXRoZXIgaXQgc2VlbXMuIEkgbmVlZCB0byBzcGxp dCB0aGVtIChvbmUgZm9yIGludHJvZHVjdGlvbgpvZiBnZW5lcmljIHByY3RscyBhbmQgYW5vdGhl ciB3aGljaCBpbXBsZW1lbnRzIHRoZW0gb24gcmlzY3YpCgpCZWluZyBzYWlkIHRoYXQsIHllcyBn b29kIHBvaW50IGhlcmUuIEknbGwgbWFrZSB0aGF0IGNoYW5nZS4KPj4KPj4gICNpZmRlZiBDT05G SUdfNjRCSVQKPj4gICAgICAgICByZWdzLT5zdGF0dXMgJj0gflNSX1VYTDsKPj4gZGlmZiAtLWdp dCBhL2FyY2gvcmlzY3Yva2VybmVsL3VzZXJjZmkuYyBiL2FyY2gvcmlzY3Yva2VybmVsL3VzZXJj ZmkuYwo+PiBpbmRleCAzN2Q2ZmI4MTQ0ZTcuLjNhNjZmMTQ5YTRlZiAxMDA2NDQKPj4gLS0tIGEv YXJjaC9yaXNjdi9rZXJuZWwvdXNlcmNmaS5jCj4+ICsrKyBiL2FyY2gvcmlzY3Yva2VybmVsL3Vz ZXJjZmkuYwo+PiBAQCAtNjksNiArNjksMzIgQEAgdm9pZCBzZXRfc2hzdGtfbG9jayhzdHJ1Y3Qg dGFza19zdHJ1Y3QgKnRhc2spCj4+ICAgICAgICAgdGFzay0+dGhyZWFkX2luZm8udXNlcl9jZmlf c3RhdGUudWJjZmlfbG9ja2VkID0gMTsKPj4gIH0KPj4KPj4gK2Jvb2wgaXNfaW5kaXJfbHBfZW5h YmxlZChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spCj4+ICt7Cj4+ICsgICAgICAgcmV0dXJuIHRh c2stPnRocmVhZF9pbmZvLnVzZXJfY2ZpX3N0YXRlLnVmY2ZpX2VuID8gdHJ1ZSA6IGZhbHNlOwo+ PiArfQo+PiArCj4+ICtib29sIGlzX2luZGlyX2xwX2xvY2tlZChzdHJ1Y3QgdGFza19zdHJ1Y3Qg KnRhc2spCj4+ICt7Cj4+ICsgICAgICAgcmV0dXJuIHRhc2stPnRocmVhZF9pbmZvLnVzZXJfY2Zp X3N0YXRlLnVmY2ZpX2xvY2tlZCA/IHRydWUgOiBmYWxzZTsKPj4gK30KPj4gKwo+PiArdm9pZCBz ZXRfaW5kaXJfbHBfc3RhdHVzKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaywgYm9vbCBlbmFibGUp Cj4+ICt7Cj4+ICsgICAgICAgdGFzay0+dGhyZWFkX2luZm8udXNlcl9jZmlfc3RhdGUudWZjZmlf ZW4gPSBlbmFibGUgPyAxIDogMDsKPj4gKwo+PiArICAgICAgIGlmIChlbmFibGUpCj4+ICsgICAg ICAgICAgICAgICB0YXNrLT50aHJlYWQuZW52Y2ZnIHw9IEVOVkNGR19MUEU7Cj4+ICsgICAgICAg ZWxzZQo+PiArICAgICAgICAgICAgICAgdGFzay0+dGhyZWFkLmVudmNmZyAmPSB+RU5WQ0ZHX0xQ RTsKPj4gKwo+PiArICAgICAgIGNzcl93cml0ZShDU1JfRU5WQ0ZHLCB0YXNrLT50aHJlYWQuZW52 Y2ZnKTsKPj4gK30KPj4gKwo+PiArdm9pZCBzZXRfaW5kaXJfbHBfbG9jayhzdHJ1Y3QgdGFza19z dHJ1Y3QgKnRhc2spCj4+ICt7Cj4+ICsgICAgICAgdGFzay0+dGhyZWFkX2luZm8udXNlcl9jZmlf c3RhdGUudWZjZmlfbG9ja2VkID0gMTsKPj4gK30KPj4gIC8qCj4+ICAgKiBJZiBzaXplIGlzIDAs IHRoZW4gdG8gYmUgY29tcGF0aWJsZSB3aXRoIHJlZ3VsYXIgc3RhY2sgd2Ugd2FudCBpdCB0byBi ZSBhcyBiaWcgYXMKPj4gICAqIHJlZ3VsYXIgc3RhY2suIEVsc2UgUEFHRV9BTElHTiBpdCBhbmQg cmV0dXJuIGJhY2sKPj4gQEAgLTM2OSwzICszOTUsNTMgQEAgaW50IGFyY2hfbG9ja19zaGFkb3df c3RhY2tfc3RhdHVzKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaywKPj4KPj4gICAgICAgICByZXR1 cm4gMDsKPj4gIH0KPj4gKwo+PiAraW50IGFyY2hfZ2V0X2luZGlyX2JyX2xwX3N0YXR1cyhzdHJ1 Y3QgdGFza19zdHJ1Y3QgKnQsIHVuc2lnbmVkIGxvbmcgX191c2VyICpzdGF0dXMpCj4+ICt7Cj4+ ICsgICAgICAgdW5zaWduZWQgbG9uZyBmY2ZpX3N0YXR1cyA9IDA7Cj4+ICsKPj4gKyAgICAgICBp ZiAoIWNwdV9zdXBwb3J0c19pbmRpcmVjdF9icl9scF9pbnN0cigpKQo+PiArICAgICAgICAgICAg ICAgcmV0dXJuIC1FSU5WQUw7Cj4+ICsKPj4gKyAgICAgICAvKiBpbmRpcmVjdCBicmFuY2ggdHJh Y2tpbmcgaXMgZW5hYmxlZCBvbiB0aGUgdGFzayBvciBub3QgKi8KPj4gKyAgICAgICBmY2ZpX3N0 YXR1cyB8PSAoaXNfaW5kaXJfbHBfZW5hYmxlZCh0KSA/IFBSX0lORElSX0JSX0xQX0VOQUJMRSA6 IDApOwo+PiArCj4+ICsgICAgICAgcmV0dXJuIGNvcHlfdG9fdXNlcihzdGF0dXMsICZmY2ZpX3N0 YXR1cywgc2l6ZW9mKGZjZmlfc3RhdHVzKSkgPyAtRUZBVUxUIDogMDsKPj4gK30KPj4gKwo+PiAr aW50IGFyY2hfc2V0X2luZGlyX2JyX2xwX3N0YXR1cyhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnQsIHVu c2lnbmVkIGxvbmcgc3RhdHVzKQo+PiArewo+PiArICAgICAgIGJvb2wgZW5hYmxlX2luZGlyX2xw ID0gZmFsc2U7Cj4+ICsKPj4gKyAgICAgICBpZiAoIWNwdV9zdXBwb3J0c19pbmRpcmVjdF9icl9s cF9pbnN0cigpKQo+PiArICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4+ICsKPj4gKyAg ICAgICAvKiBpbmRpcmVjdCBicmFuY2ggdHJhY2tpbmcgaXMgbG9ja2VkIGFuZCBmdXJ0aGVyIGNh bid0IGJlIG1vZGlmaWVkIGJ5IHVzZXIgKi8KPj4gKyAgICAgICBpZiAoaXNfaW5kaXJfbHBfbG9j a2VkKHQpKQo+PiArICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4+ICsKPj4gKyAgICAg ICAvKiBSZWplY3QgdW5rbm93biBmbGFncyAqLwo+PiArICAgICAgIGlmIChzdGF0dXMgJiB+UFJf SU5ESVJfQlJfTFBfRU5BQkxFKQo+PiArICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4+ ICsKPj4gKyAgICAgICBlbmFibGVfaW5kaXJfbHAgPSAoc3RhdHVzICYgUFJfSU5ESVJfQlJfTFBf RU5BQkxFKSA/IHRydWUgOiBmYWxzZTsKPj4gKyAgICAgICBzZXRfaW5kaXJfbHBfc3RhdHVzKHQs IGVuYWJsZV9pbmRpcl9scCk7Cj4+ICsKPj4gKyAgICAgICByZXR1cm4gMDsKPj4gK30KPj4gKwo+ PiAraW50IGFyY2hfbG9ja19pbmRpcl9icl9scF9zdGF0dXMoc3RydWN0IHRhc2tfc3RydWN0ICp0 YXNrLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGFy ZykKPj4gK3sKPj4gKyAgICAgICAvKgo+PiArICAgICAgICAqIElmIGluZGlyZWN0IGJyYW5jaCB0 cmFja2luZyBpcyBub3Qgc3VwcG9ydGVkIG9yIG5vdCBlbmFibGVkIG9uIHRhc2ssCj4+ICsgICAg ICAgICogbm90aGluZyB0byBsb2NrIGhlcmUKPj4gKyAgICAgICAgKi8KPj4gKyAgICAgICBpZiAo IWNwdV9zdXBwb3J0c19pbmRpcmVjdF9icl9scF9pbnN0cigpIHx8Cj4+ICsgICAgICAgICAgICFp c19pbmRpcl9scF9lbmFibGVkKHRhc2spIHx8IGFyZyAhPSAwKQo+PiArICAgICAgICAgICAgICAg cmV0dXJuIC1FSU5WQUw7Cj4+ICsKPj4gKyAgICAgICBzZXRfaW5kaXJfbHBfbG9jayh0YXNrKTsK Pj4gKwo+PiArICAgICAgIHJldHVybiAwOwo+PiArfQo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9s aW51eC9jcHUuaCBiL2luY2x1ZGUvbGludXgvY3B1LmgKPj4gaW5kZXggNmEwYThmMWM3YzkwLi5m YjBjMzk0NDMwYzYgMTAwNjQ0Cj4+IC0tLSBhL2luY2x1ZGUvbGludXgvY3B1LmgKPj4gKysrIGIv aW5jbHVkZS9saW51eC9jcHUuaAo+PiBAQCAtMjA0LDQgKzIwNCw4IEBAIHN0YXRpYyBpbmxpbmUg Ym9vbCBjcHVfbWl0aWdhdGlvbnNfYXV0b19ub3NtdCh2b2lkKQo+PiAgfQo+PiAgI2VuZGlmCj4+ Cj4+ICtpbnQgYXJjaF9nZXRfaW5kaXJfYnJfbHBfc3RhdHVzKHN0cnVjdCB0YXNrX3N0cnVjdCAq dCwgdW5zaWduZWQgbG9uZyBfX3VzZXIgKnN0YXR1cyk7Cj4+ICtpbnQgYXJjaF9zZXRfaW5kaXJf YnJfbHBfc3RhdHVzKHN0cnVjdCB0YXNrX3N0cnVjdCAqdCwgdW5zaWduZWQgbG9uZyBzdGF0dXMp Owo+PiAraW50IGFyY2hfbG9ja19pbmRpcl9icl9scF9zdGF0dXMoc3RydWN0IHRhc2tfc3RydWN0 ICp0LCB1bnNpZ25lZCBsb25nIHN0YXR1cyk7Cj4+ICsKPj4gICNlbmRpZiAvKiBfTElOVVhfQ1BV X0hfICovCj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvbGludXgvcHJjdGwuaCBiL2luY2x1 ZGUvdWFwaS9saW51eC9wcmN0bC5oCj4+IGluZGV4IDVjNjA4MDY4MGNiMi4uNmNkOTA0NjBjYmFk IDEwMDY0NAo+PiAtLS0gYS9pbmNsdWRlL3VhcGkvbGludXgvcHJjdGwuaAo+PiArKysgYi9pbmNs dWRlL3VhcGkvbGludXgvcHJjdGwuaAo+PiBAQCAtMzUzLDQgKzM1MywzMSBAQCBzdHJ1Y3QgcHJj dGxfbW1fbWFwIHsKPj4gICAqLwo+PiAgI2RlZmluZSBQUl9MT0NLX1NIQURPV19TVEFDS19TVEFU VVMgICAgICA3Ngo+Pgo+PiArLyoKPj4gKyAqIEdldCB0aGUgY3VycmVudCBpbmRpcmVjdCBicmFu Y2ggdHJhY2tpbmcgY29uZmlndXJhdGlvbiBmb3IgdGhlIGN1cnJlbnQKPj4gKyAqIHRocmVhZCwg dGhpcyB3aWxsIGJlIHRoZSB2YWx1ZSBjb25maWd1cmVkIHZpYSBQUl9TRVRfSU5ESVJfQlJfTFBf U1RBVFVTLgo+PiArICovCj4+ICsjZGVmaW5lIFBSX0dFVF9JTkRJUl9CUl9MUF9TVEFUVVMgICAg ICA3Nwo+PiArCj4+ICsvKgo+PiArICogU2V0IHRoZSBpbmRpcmVjdCBicmFuY2ggdHJhY2tpbmcg Y29uZmlndXJhdGlvbi4gUFJfSU5ESVJfQlJfTFBfRU5BQkxFIHdpbGwKPj4gKyAqIGVuYWJsZSBj cHUgZmVhdHVyZSBmb3IgdXNlciB0aHJlYWQsIHRvIHRyYWNrIGFsbCBpbmRpcmVjdCBicmFuY2hl cyBhbmQgZW5zdXJlCj4+ICsgKiB0aGV5IGxhbmQgb24gYXJjaCBkZWZpbmVkIGxhbmRpbmcgcGFk IGluc3RydWN0aW9uLgo+PiArICogeDg2IC0gSWYgZW5hYmxlZCwgYW4gaW5kaXJlY3QgYnJhbmNo IG11c3QgbGFuZCBvbiBgRU5EQlJBTkNIYCBpbnN0cnVjdGlvbi4KPj4gKyAqIGFyY2g2NCAtIElm IGVuYWJsZWQsIGFuIGluZGlyZWN0IGJyYW5jaCBtdXN0IGxhbmQgb24gYEJUSWAgaW5zdHJ1Y3Rp b24uCj4+ICsgKiByaXNjdiAtIElmIGVuYWJsZWQsIGFuIGluZGlyZWN0IGJyYW5jaCBtdXN0IGxh bmQgb24gYGxwYWRgIGluc3RydWN0aW9uLgo+PiArICogUFJfSU5ESVJfQlJfTFBfRElTQUJMRSB3 aWxsIGRpc2FibGUgZmVhdHVyZSBmb3IgdXNlciB0aHJlYWQgYW5kIGluZGlyZWN0Cj4+ICsgKiBi cmFuY2hlcyB3aWxsIG5vIG1vcmUgYmUgdHJhY2tlZCBieSBjcHUgdG8gbGFuZCBvbiBhcmNoIGRl ZmluZWQgbGFuZGluZyBwYWQKPj4gKyAqIGluc3RydWN0aW9uLgo+PiArICovCj4+ICsjZGVmaW5l IFBSX1NFVF9JTkRJUl9CUl9MUF9TVEFUVVMgICAgICA3OAo+PiArIyBkZWZpbmUgUFJfSU5ESVJf QlJfTFBfRU5BQkxFICAgICAgICAgICAgKDFVTCA8PCAwKQo+PiArCj4+ICsvKgo+PiArICogUHJl dmVudCBmdXJ0aGVyIGNoYW5nZXMgdG8gdGhlIHNwZWNpZmllZCBpbmRpcmVjdCBicmFuY2ggdHJh Y2tpbmcKPj4gKyAqIGNvbmZpZ3VyYXRpb24uICBBbGwgYml0cyBtYXkgYmUgbG9ja2VkIHZpYSB0 aGlzIGNhbGwsIGluY2x1ZGluZwo+PiArICogdW5kZWZpbmVkIGJpdHMuCj4+ICsgKi8KPj4gKyNk ZWZpbmUgUFJfTE9DS19JTkRJUl9CUl9MUF9TVEFUVVMgICAgICA3OQo+PiArCj4+ICAjZW5kaWYg LyogX0xJTlVYX1BSQ1RMX0ggKi8KPj4gZGlmZiAtLWdpdCBhL2tlcm5lbC9zeXMuYyBiL2tlcm5l bC9zeXMuYwo+PiBpbmRleCBjYjM2NmZmODcwM2EuLmYzNDdmMzUxOGQwYiAxMDA2NDQKPj4gLS0t IGEva2VybmVsL3N5cy5jCj4+ICsrKyBiL2tlcm5lbC9zeXMuYwo+PiBAQCAtMjMzNiw2ICsyMzM2 LDIxIEBAIGludCBfX3dlYWsgYXJjaF9sb2NrX3NoYWRvd19zdGFja19zdGF0dXMoc3RydWN0IHRh c2tfc3RydWN0ICp0LCB1bnNpZ25lZCBsb25nIHN0Cj4+ICAgICAgICAgcmV0dXJuIC1FSU5WQUw7 Cj4+ICB9Cj4+Cj4+ICtpbnQgX193ZWFrIGFyY2hfZ2V0X2luZGlyX2JyX2xwX3N0YXR1cyhzdHJ1 Y3QgdGFza19zdHJ1Y3QgKnQsIHVuc2lnbmVkIGxvbmcgX191c2VyICpzdGF0dXMpCj4+ICt7Cj4+ ICsgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4+ICt9Cj4+ICsKPj4gK2ludCBfX3dlYWsgYXJjaF9z ZXRfaW5kaXJfYnJfbHBfc3RhdHVzKHN0cnVjdCB0YXNrX3N0cnVjdCAqdCwgdW5zaWduZWQgbG9u ZyBzdGF0dXMpCj4+ICt7Cj4+ICsgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4+ICt9Cj4+ICsKPj4g K2ludCBfX3dlYWsgYXJjaF9sb2NrX2luZGlyX2JyX2xwX3N0YXR1cyhzdHJ1Y3QgdGFza19zdHJ1 Y3QgKnQsIHVuc2lnbmVkIGxvbmcgc3RhdHVzKQo+PiArewo+PiArICAgICAgIHJldHVybiAtRUlO VkFMOwo+PiArfQo+PiArCj4+ICAjZGVmaW5lIFBSX0lPX0ZMVVNIRVIgKFBGX01FTUFMTE9DX05P SU8gfCBQRl9MT0NBTF9USFJPVFRMRSkKPj4KPj4gICNpZmRlZiBDT05GSUdfQU5PTl9WTUFfTkFN RQo+PiBAQCAtMjgxMSw2ICsyODI2LDIxIEBAIFNZU0NBTExfREVGSU5FNShwcmN0bCwgaW50LCBv cHRpb24sIHVuc2lnbmVkIGxvbmcsIGFyZzIsIHVuc2lnbmVkIGxvbmcsIGFyZzMsCj4+ICAgICAg ICAgICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwo+PiAgICAgICAgICAgICAgICAgZXJy b3IgPSBhcmNoX2xvY2tfc2hhZG93X3N0YWNrX3N0YXR1cyhtZSwgYXJnMik7Cj4+ICAgICAgICAg ICAgICAgICBicmVhazsKPj4gKyAgICAgICBjYXNlIFBSX0dFVF9JTkRJUl9CUl9MUF9TVEFUVVM6 Cj4+ICsgICAgICAgICAgICAgICBpZiAoYXJnMyB8fCBhcmc0IHx8IGFyZzUpCj4+ICsgICAgICAg ICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwo+PiArICAgICAgICAgICAgICAgZXJyb3Ig PSBhcmNoX2dldF9pbmRpcl9icl9scF9zdGF0dXMobWUsICh1bnNpZ25lZCBsb25nIF9fdXNlciAq KWFyZzIpOwo+PiArICAgICAgICAgICAgICAgYnJlYWs7Cj4+ICsgICAgICAgY2FzZSBQUl9TRVRf SU5ESVJfQlJfTFBfU1RBVFVTOgo+PiArICAgICAgICAgICAgICAgaWYgKGFyZzMgfHwgYXJnNCB8 fCBhcmc1KQo+PiArICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPj4gKyAg ICAgICAgICAgICAgIGVycm9yID0gYXJjaF9zZXRfaW5kaXJfYnJfbHBfc3RhdHVzKG1lLCBhcmcy KTsKPj4gKyAgICAgICAgICAgICAgIGJyZWFrOwo+PiArICAgICAgIGNhc2UgUFJfTE9DS19JTkRJ Ul9CUl9MUF9TVEFUVVM6Cj4+ICsgICAgICAgICAgICAgICBpZiAoYXJnMyB8fCBhcmc0IHx8IGFy ZzUpCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwo+PiArICAgICAg ICAgICAgICAgZXJyb3IgPSBhcmNoX2xvY2tfaW5kaXJfYnJfbHBfc3RhdHVzKG1lLCBhcmcyKTsK Pj4gKyAgICAgICAgICAgICAgIGJyZWFrOwo+PiAgICAgICAgIGRlZmF1bHQ6Cj4+ICAgICAgICAg ICAgICAgICB0cmFjZV90YXNrX3ByY3RsX3Vua25vd24ob3B0aW9uLCBhcmcyLCBhcmczLCBhcmc0 LCBhcmc1KTsKPj4gICAgICAgICAgICAgICAgIGVycm9yID0gLUVJTlZBTDsKPj4KPj4gLS0KPj4g Mi4zNC4xCj4+Cj4+Cj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCj4+IGxpbnV4LXJpc2N2IG1haWxpbmcgbGlzdAo+PiBsaW51eC1yaXNjdkBsaXN0cy5p bmZyYWRlYWQub3JnCj4+IGh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGlu Zm8vbGludXgtcmlzY3YKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmxpbnV4LXJpc2N2IG1haWxpbmcgbGlzdApsaW51eC1yaXNjdkBsaXN0cy5pbmZyYWRl YWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgt cmlzY3YK