From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 919E72DB7AE; Tue, 13 Jan 2026 21:14:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768338880; cv=none; b=OrpyCHrltY7Q27K7UUFBD2aJZh6NsFyfrpoB0+0T6fdPPJxPsD6NMvfFqZKOJK+a3lMqFy/M+uC787caw+q1f74GffnVfmlzwhwHmKhEps2oh+H/1wIs67XbUUiqsQLWQHSrgnr43XBLU99ISlFsVz2o/hUPO+4Y0q9n0mphyUw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768338880; c=relaxed/simple; bh=xTXUTykfqGlTV6r9dOoKmHciVzcitn9XiwZeJVXXxCE=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=kQDb3Jd0LyZemuC75zsji8l/AHeuUzkVwJsjwVt0fNvmUhAYzCpnqLf77+D4dKTMShAiQtjjQbSOOPhjj3PoL0m9PFPX8uQj9BM085i1uvQi3KpXhpbMlm4rjoWrdKcv0Bjg3N3y3llVWK7Fg4rgBHEa9OaU/gilrNUDLg/JYUM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=dnoovRlg; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="dnoovRlg" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DE6F1C116C6; Tue, 13 Jan 2026 21:14:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1768338880; bh=xTXUTykfqGlTV6r9dOoKmHciVzcitn9XiwZeJVXXxCE=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=dnoovRlgaXeN+Xu4fGtbvNwr+KnNk1PMiJ175+g4zU3QAvxOuMIWzXoxYbUL66fUq aq2uUzwBre6sQnj7UGjky2uZTq394q44uJt7xG9TuRlsB0HZr9ajR+hjnqKBJe/MmW dNbk+n3Il/8A7kBt2LRCLT4f5dFZgm8dxK54YorYinrvofQmEOodK8cKPjmxZDFZhN zd+NcEnnzEP5hfDrUsKDoqGHkiNiqHqrF94Qa4PE+Nm4G9hHtRhmyq7uOxtO5pEkK9 t7ymRRqmpDOaJ58G4VbHlOgxxmbL5MuTCP32zsTjD5Sf7Ircwgml7K3nhSc36O5BUq MtndWPZkEVxfA== Date: Tue, 13 Jan 2026 18:14:37 -0300 From: Arnaldo Carvalho de Melo To: Ian Rogers Cc: Manuel =?iso-8859-1?Q?Hern=E1ndez?= | OPENCHIP , "acme@redhat.com" , "adrian.hunter@intel.com" , "alex@ghiti.fr" , "alexander.shishkin@linux.intel.com" , "aou@eecs.berkeley.edu" , "eric.lin@sifive.com" , "inochiama@gmail.com" , "jolsa@kernel.org" , "linux-kernel@vger.kernel.org" , "linux-perf-users@vger.kernel.org" , "linux-riscv@lists.infradead.org" , "mark.rutland@arm.com" , "mingo@redhat.com" , "namhyung@kernel.org" , "palmer@dabbelt.com" , "peterz@infradead.org" , "pjw@kernel.org" , "samuel.holland@sifive.com" Subject: Re: [PATCH v2] perf vendor events riscv: Add CVA6 JSON file Message-ID: References: <20251204163854.10318-1-manuel.hernandez@openchip.com> Precedence: bulk X-Mailing-List: linux-perf-users@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: On Thu, Dec 04, 2025 at 08:43:51AM -0800, Ian Rogers wrote: > On Thu, Dec 4, 2025 at 8:40 AM Manuel Hernández | OPENCHIP > wrote: > > > > From: Manuel Hernández Méndez > > > > This patch add the CVA6 JSON file. > > > > Signed-off-by: Manuel Hernández Méndez > > Reviewed-by: Ian Rogers Applied, and added a tad more info to the cset log message: This patch add the OpenHW Core-V CVA6 Risc-V JSON file. For more info: https://openhwfoundation.org/news/2023/11/07/openhw-group-announces-core-v-cva6-platform-project-for-risc-v-software-development-and-testing/ :-) - Arnaldo > Thanks, > Ian > > > --- > > Hi Ian, thanks for the review. > > > > This is the second version of the patch, following a review of the > > CVA6 core PMU implementation. > > > > Thanks! > > Manuel > > --- > > Changes in v2: > > - Added a clarification about retired instructions in name and > > description fields > > - Moved and renamed LOAD_ACCESSES and STORE_ACCESSES events from > > memory.json to instructions.json > > - Moved INSTRUCTION_FETCH_EMPTY event from instructions.json to > > microarch.json > > - Changed mode from 755 to 644 in firmware.json file > > > > v1: > > https://lore.kernel.org/all/20251202180155.11147-1-manuel.hernandez@openchip.com/ > > --- > > tools/perf/pmu-events/arch/riscv/mapfile.csv | 1 + > > .../arch/riscv/openhwgroup/cva6/firmware.json | 68 +++++++++++++++++++ > > .../riscv/openhwgroup/cva6/instructions.json | 47 +++++++++++++ > > .../arch/riscv/openhwgroup/cva6/memory.json | 42 ++++++++++++ > > .../riscv/openhwgroup/cva6/microarch.json | 27 ++++++++ > > 5 files changed, 185 insertions(+) > > create mode 100644 tools/perf/pmu-events/arch/riscv/openhwgroup/cva6/firmware.json > > create mode 100644 tools/perf/pmu-events/arch/riscv/openhwgroup/cva6/instructions.json > > create mode 100644 tools/perf/pmu-events/arch/riscv/openhwgroup/cva6/memory.json > > create mode 100644 tools/perf/pmu-events/arch/riscv/openhwgroup/cva6/microarch.json > > > > diff --git a/tools/perf/pmu-events/arch/riscv/mapfile.csv b/tools/perf/pmu-events/arch/riscv/mapfile.csv > > index d5eea7f9aa9a..87cfb0e0849f 100644 > > --- a/tools/perf/pmu-events/arch/riscv/mapfile.csv > > +++ b/tools/perf/pmu-events/arch/riscv/mapfile.csv > > @@ -21,5 +21,6 @@ > > 0x489-0x8000000000000[1-6]08-0x[9b][[:xdigit:]]+,v1,sifive/p650,core > > 0x5b7-0x0-0x0,v1,thead/c900-legacy,core > > 0x5b7-0x80000000090c0d00-0x2047000,v1,thead/c900-legacy,core > > +0x602-0x3-0x0,v1,openhwgroup/cva6,core > > 0x67e-0x80000000db0000[89]0-0x[[:xdigit:]]+,v1,starfive/dubhe-80,core > > 0x31e-0x8000000000008a45-0x[[:xdigit:]]+,v1,andes/ax45,core > > diff --git a/tools/perf/pmu-events/arch/riscv/openhwgroup/cva6/firmware.json b/tools/perf/pmu-events/arch/riscv/openhwgroup/cva6/firmware.json > > new file mode 100644 > > index 000000000000..7149caec4f80 > > --- /dev/null > > +++ b/tools/perf/pmu-events/arch/riscv/openhwgroup/cva6/firmware.json > > @@ -0,0 +1,68 @@ > > +[ > > + { > > + "ArchStdEvent": "FW_MISALIGNED_LOAD" > > + }, > > + { > > + "ArchStdEvent": "FW_MISALIGNED_STORE" > > + }, > > + { > > + "ArchStdEvent": "FW_ACCESS_LOAD" > > + }, > > + { > > + "ArchStdEvent": "FW_ACCESS_STORE" > > + }, > > + { > > + "ArchStdEvent": "FW_ILLEGAL_INSN" > > + }, > > + { > > + "ArchStdEvent": "FW_SET_TIMER" > > + }, > > + { > > + "ArchStdEvent": "FW_IPI_SENT" > > + }, > > + { > > + "ArchStdEvent": "FW_IPI_RECEIVED" > > + }, > > + { > > + "ArchStdEvent": "FW_FENCE_I_SENT" > > + }, > > + { > > + "ArchStdEvent": "FW_FENCE_I_RECEIVED" > > + }, > > + { > > + "ArchStdEvent": "FW_SFENCE_VMA_SENT" > > + }, > > + { > > + "ArchStdEvent": "FW_SFENCE_VMA_RECEIVED" > > + }, > > + { > > + "ArchStdEvent": "FW_SFENCE_VMA_ASID_SENT" > > + }, > > + { > > + "ArchStdEvent": "FW_SFENCE_VMA_ASID_RECEIVED" > > + }, > > + { > > + "ArchStdEvent": "FW_HFENCE_GVMA_SENT" > > + }, > > + { > > + "ArchStdEvent": "FW_HFENCE_GVMA_RECEIVED" > > + }, > > + { > > + "ArchStdEvent": "FW_HFENCE_GVMA_VMID_SENT" > > + }, > > + { > > + "ArchStdEvent": "FW_HFENCE_GVMA_VMID_RECEIVED" > > + }, > > + { > > + "ArchStdEvent": "FW_HFENCE_VVMA_SENT" > > + }, > > + { > > + "ArchStdEvent": "FW_HFENCE_VVMA_RECEIVED" > > + }, > > + { > > + "ArchStdEvent": "FW_HFENCE_VVMA_ASID_SENT" > > + }, > > + { > > + "ArchStdEvent": "FW_HFENCE_VVMA_ASID_RECEIVED" > > + } > > +] > > diff --git a/tools/perf/pmu-events/arch/riscv/openhwgroup/cva6/instructions.json b/tools/perf/pmu-events/arch/riscv/openhwgroup/cva6/instructions.json > > new file mode 100644 > > index 000000000000..c38f6c97cf1f > > --- /dev/null > > +++ b/tools/perf/pmu-events/arch/riscv/openhwgroup/cva6/instructions.json > > @@ -0,0 +1,47 @@ > > +[ > > + { > > + "EventName": "LOAD_INSTRUCTIONS_RETIRED", > > + "EventCode": "0x5", > > + "BriefDescription": "number of data memory load instructions retired" > > + }, > > + { > > + "EventName": "STORE_INSTRUCTIONS_RETIRED", > > + "EventCode": "0x6", > > + "BriefDescription": "number of data memory store instructions retired" > > + }, > > + { > > + "EventName": "EXCEPTIONS", > > + "EventCode": "0x7", > > + "BriefDescription": "valid exceptions encountered" > > + }, > > + { > > + "EventName": "EXCEPTION_HANDLER_RETURNS", > > + "EventCode": "0x8", > > + "BriefDescription": "return from an exception" > > + }, > > + { > > + "EventName": "BRANCH_INSTRUCTIONS_RETIRED", > > + "EventCode": "0x9", > > + "BriefDescription": "number of branch instructions encountered retired" > > + }, > > + { > > + "EventName": "CALL_INSTRUCTIONS_RETIRED", > > + "EventCode": "0xC", > > + "BriefDescription": "number of call instructions retired" > > + }, > > + { > > + "EventName": "RETURN_INSTRUCTIONS_RETIRED", > > + "EventCode": "0xD", > > + "BriefDescription": "number of return instructions retired" > > + }, > > + { > > + "EventName": "INTEGER_INSTRUCTIONS_RETIRED", > > + "EventCode": "0x14", > > + "BriefDescription": "number of integer instructions retired" > > + }, > > + { > > + "EventName": "FLOATING_POINT_INSTRUCTIONS_RETIRED", > > + "EventCode": "0x15", > > + "BriefDescription": "number of floating point instructions retired" > > + } > > +] > > diff --git a/tools/perf/pmu-events/arch/riscv/openhwgroup/cva6/memory.json b/tools/perf/pmu-events/arch/riscv/openhwgroup/cva6/memory.json > > new file mode 100644 > > index 000000000000..c4f376a0ee4e > > --- /dev/null > > +++ b/tools/perf/pmu-events/arch/riscv/openhwgroup/cva6/memory.json > > @@ -0,0 +1,42 @@ > > +[ > > + { > > + "EventName": "L1_I_CACHE_MISSES", > > + "EventCode": "0x1", > > + "BriefDescription": "number of misses in L1 I-Cache" > > + }, > > + { > > + "EventName": "L1_D_CACHE_MISSES", > > + "EventCode": "0x2", > > + "BriefDescription": "number of misses in L1 D-Cache" > > + }, > > + { > > + "EventName": "ITLB_MISSES", > > + "EventCode": "0x3", > > + "BriefDescription": "number of misses in ITLB" > > + }, > > + { > > + "EventName": "DTLB_MISSES", > > + "EventCode": "0x4", > > + "BriefDescription": "number of misses in DTLB" > > + }, > > + { > > + "EventName": "L1_I_CACHE_ACCESSES", > > + "EventCode": "0x10", > > + "BriefDescription": "number of accesses to instruction cache" > > + }, > > + { > > + "EventName": "L1_D_CACHE_ACCESSES", > > + "EventCode": "0x11", > > + "BriefDescription": "number of accesses to data cache" > > + }, > > + { > > + "EventName": "L1_CACHE_LINE_EVICTION", > > + "EventCode": "0x12", > > + "BriefDescription": "number of data cache line eviction" > > + }, > > + { > > + "EventName": "ITLB_FLUSH", > > + "EventCode": "0x13", > > + "BriefDescription": "number of ITLB flushes" > > + } > > +] > > diff --git a/tools/perf/pmu-events/arch/riscv/openhwgroup/cva6/microarch.json b/tools/perf/pmu-events/arch/riscv/openhwgroup/cva6/microarch.json > > new file mode 100644 > > index 000000000000..104e6e8197da > > --- /dev/null > > +++ b/tools/perf/pmu-events/arch/riscv/openhwgroup/cva6/microarch.json > > @@ -0,0 +1,27 @@ > > +[ > > + { > > + "EventName": "BRANCH_MISPREDICTS", > > + "EventCode": "0xA", > > + "BriefDescription": "number of branch mispredictions" > > + }, > > + { > > + "EventName": "BRANCH_EXCEPTIONS", > > + "EventCode": "0xB", > > + "BriefDescription": "number of valid branch exceptions" > > + }, > > + { > > + "EventName": "MSB_FULL", > > + "EventCode": "0xE", > > + "BriefDescription": "scoreboard is full" > > + }, > > + { > > + "EventName": "INSTRUCTION_FETCH_EMPTY", > > + "EventCode": "0xF", > > + "BriefDescription": "number of invalid instructions in IF stage" > > + }, > > + { > > + "EventName": "PIPELINE_STALL", > > + "EventCode": "0x16", > > + "BriefDescription": "number of cycles the pipeline is stalled during read operands" > > + } > > +] > > -- > > 2.34.1 > > 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 F2374D30CC1 for ; Tue, 13 Jan 2026 21:15:04 +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: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=nBRw4Nczm+akDylhlQZbc3AXVmN14ROZn+e+volAvAs=; b=fsQ/zAHCwc8mEn V2G2cYp0HrhKU+hnhnpATvlcztMvNAbVAtSwhrbgvQSirmPk5unSVV5lEUHKCMfd9o/nhUoun/AW3 SOizfe9Nj48agtuJ8GLuUSybotKwyjJheY/KcGEeTBrbZsvqb1KymH1D81Io6xJPJAVLaIpMdz0Xz Ch7VuthQb7CId/3M049GjJgEWNT2wy1xzvSaxl7I7i5vXz3YUbQhQrEm43lAavmTOvXfpiiFYOKuj ThQ0zwEIrkv/z381kSwuYA0lZYnDV0PNHx7GhyDp5IDhT8JwZBnz5wcOD/UWU59QTy1S4NKJfaYQx hbkKcMHCmc7JAJi77UwA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vfliu-00000007jgG-0XZR; Tue, 13 Jan 2026 21:14:44 +0000 Received: from sea.source.kernel.org ([172.234.252.31]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vflir-00000007jfu-0zTC for linux-riscv@lists.infradead.org; Tue, 13 Jan 2026 21:14:42 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 7019E416EF; Tue, 13 Jan 2026 21:14:40 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DE6F1C116C6; Tue, 13 Jan 2026 21:14:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1768338880; bh=xTXUTykfqGlTV6r9dOoKmHciVzcitn9XiwZeJVXXxCE=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=dnoovRlgaXeN+Xu4fGtbvNwr+KnNk1PMiJ175+g4zU3QAvxOuMIWzXoxYbUL66fUq aq2uUzwBre6sQnj7UGjky2uZTq394q44uJt7xG9TuRlsB0HZr9ajR+hjnqKBJe/MmW dNbk+n3Il/8A7kBt2LRCLT4f5dFZgm8dxK54YorYinrvofQmEOodK8cKPjmxZDFZhN zd+NcEnnzEP5hfDrUsKDoqGHkiNiqHqrF94Qa4PE+Nm4G9hHtRhmyq7uOxtO5pEkK9 t7ymRRqmpDOaJ58G4VbHlOgxxmbL5MuTCP32zsTjD5Sf7Ircwgml7K3nhSc36O5BUq MtndWPZkEVxfA== Date: Tue, 13 Jan 2026 18:14:37 -0300 From: Arnaldo Carvalho de Melo To: Ian Rogers Cc: Manuel =?iso-8859-1?Q?Hern=E1ndez?= | OPENCHIP , "acme@redhat.com" , "adrian.hunter@intel.com" , "alex@ghiti.fr" , "alexander.shishkin@linux.intel.com" , "aou@eecs.berkeley.edu" , "eric.lin@sifive.com" , "inochiama@gmail.com" , "jolsa@kernel.org" , "linux-kernel@vger.kernel.org" , "linux-perf-users@vger.kernel.org" , "linux-riscv@lists.infradead.org" , "mark.rutland@arm.com" , "mingo@redhat.com" , "namhyung@kernel.org" , "palmer@dabbelt.com" , "peterz@infradead.org" , "pjw@kernel.org" , "samuel.holland@sifive.com" Subject: Re: [PATCH v2] perf vendor events riscv: Add CVA6 JSON file Message-ID: References: <20251204163854.10318-1-manuel.hernandez@openchip.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-20260113_131441_340865_083DF773 X-CRM114-Status: GOOD ( 25.14 ) 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 T24gVGh1LCBEZWMgMDQsIDIwMjUgYXQgMDg6NDM6NTFBTSAtMDgwMCwgSWFuIFJvZ2VycyB3cm90 ZToKPiBPbiBUaHUsIERlYyA0LCAyMDI1IGF0IDg6NDDigK9BTSBNYW51ZWwgSGVybsOhbmRleiB8 IE9QRU5DSElQCj4gPG1hbnVlbC5oZXJuYW5kZXpAb3BlbmNoaXAuY29tPiB3cm90ZToKPiA+Cj4g PiBGcm9tOiBNYW51ZWwgSGVybsOhbmRleiBNw6luZGV6IDxtYW51ZWwuaGVybmFuZGV6QG9wZW5j aGlwLmNvbT4KPiA+Cj4gPiBUaGlzIHBhdGNoIGFkZCB0aGUgQ1ZBNiBKU09OIGZpbGUuCj4gPgo+ ID4gU2lnbmVkLW9mZi1ieTogTWFudWVsIEhlcm7DoW5kZXogTcOpbmRleiA8bWFudWVsLmhlcm5h bmRlekBvcGVuY2hpcC5jb20+Cj4gCj4gUmV2aWV3ZWQtYnk6IElhbiBSb2dlcnMgPGlyb2dlcnNA Z29vZ2xlLmNvbT4KCkFwcGxpZWQsIGFuZCBhZGRlZCBhIHRhZCBtb3JlIGluZm8gdG8gdGhlIGNz ZXQgbG9nIG1lc3NhZ2U6CgogICAgVGhpcyBwYXRjaCBhZGQgdGhlIE9wZW5IVyBDb3JlLVYgQ1ZB NiBSaXNjLVYgSlNPTiBmaWxlLgoKICAgIEZvciBtb3JlIGluZm86CgogICAgaHR0cHM6Ly9vcGVu aHdmb3VuZGF0aW9uLm9yZy9uZXdzLzIwMjMvMTEvMDcvb3Blbmh3LWdyb3VwLWFubm91bmNlcy1j b3JlLXYtY3ZhNi1wbGF0Zm9ybS1wcm9qZWN0LWZvci1yaXNjLXYtc29mdHdhcmUtZGV2ZWxvcG1l bnQtYW5kLXRlc3RpbmcvCgo6LSkKCi0gQXJuYWxkbwogCj4gVGhhbmtzLAo+IElhbgo+IAo+ID4g LS0tCj4gPiBIaSBJYW4sIHRoYW5rcyBmb3IgdGhlIHJldmlldy4KPiA+Cj4gPiBUaGlzIGlzIHRo ZSBzZWNvbmQgdmVyc2lvbiBvZiB0aGUgcGF0Y2gsIGZvbGxvd2luZyBhIHJldmlldyBvZiB0aGUK PiA+IENWQTYgY29yZSBQTVUgaW1wbGVtZW50YXRpb24uCj4gPgo+ID4gVGhhbmtzIQo+ID4gTWFu dWVsCj4gPiAtLS0KPiA+IENoYW5nZXMgaW4gdjI6Cj4gPiAtIEFkZGVkIGEgY2xhcmlmaWNhdGlv biBhYm91dCByZXRpcmVkIGluc3RydWN0aW9ucyBpbiBuYW1lIGFuZAo+ID4gICBkZXNjcmlwdGlv biBmaWVsZHMKPiA+IC0gTW92ZWQgYW5kIHJlbmFtZWQgTE9BRF9BQ0NFU1NFUyBhbmQgU1RPUkVf QUNDRVNTRVMgZXZlbnRzIGZyb20KPiA+ICAgbWVtb3J5Lmpzb24gdG8gaW5zdHJ1Y3Rpb25zLmpz b24KPiA+IC0gTW92ZWQgSU5TVFJVQ1RJT05fRkVUQ0hfRU1QVFkgZXZlbnQgZnJvbSBpbnN0cnVj dGlvbnMuanNvbiB0bwo+ID4gICBtaWNyb2FyY2guanNvbgo+ID4gLSBDaGFuZ2VkIG1vZGUgZnJv bSA3NTUgdG8gNjQ0IGluIGZpcm13YXJlLmpzb24gZmlsZQo+ID4KPiA+IHYxOgo+ID4gaHR0cHM6 Ly9sb3JlLmtlcm5lbC5vcmcvYWxsLzIwMjUxMjAyMTgwMTU1LjExMTQ3LTEtbWFudWVsLmhlcm5h bmRlekBvcGVuY2hpcC5jb20vCj4gPiAtLS0KPiA+ICB0b29scy9wZXJmL3BtdS1ldmVudHMvYXJj aC9yaXNjdi9tYXBmaWxlLmNzdiAgfCAgMSArCj4gPiAgLi4uL2FyY2gvcmlzY3Yvb3Blbmh3Z3Jv dXAvY3ZhNi9maXJtd2FyZS5qc29uIHwgNjggKysrKysrKysrKysrKysrKysrKwo+ID4gIC4uLi9y aXNjdi9vcGVuaHdncm91cC9jdmE2L2luc3RydWN0aW9ucy5qc29uICB8IDQ3ICsrKysrKysrKysr KysKPiA+ICAuLi4vYXJjaC9yaXNjdi9vcGVuaHdncm91cC9jdmE2L21lbW9yeS5qc29uICAgfCA0 MiArKysrKysrKysrKysKPiA+ICAuLi4vcmlzY3Yvb3Blbmh3Z3JvdXAvY3ZhNi9taWNyb2FyY2gu anNvbiAgICAgfCAyNyArKysrKysrKwo+ID4gIDUgZmlsZXMgY2hhbmdlZCwgMTg1IGluc2VydGlv bnMoKykKPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgdG9vbHMvcGVyZi9wbXUtZXZlbnRzL2FyY2gv cmlzY3Yvb3Blbmh3Z3JvdXAvY3ZhNi9maXJtd2FyZS5qc29uCj4gPiAgY3JlYXRlIG1vZGUgMTAw NjQ0IHRvb2xzL3BlcmYvcG11LWV2ZW50cy9hcmNoL3Jpc2N2L29wZW5od2dyb3VwL2N2YTYvaW5z dHJ1Y3Rpb25zLmpzb24KPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgdG9vbHMvcGVyZi9wbXUtZXZl bnRzL2FyY2gvcmlzY3Yvb3Blbmh3Z3JvdXAvY3ZhNi9tZW1vcnkuanNvbgo+ID4gIGNyZWF0ZSBt b2RlIDEwMDY0NCB0b29scy9wZXJmL3BtdS1ldmVudHMvYXJjaC9yaXNjdi9vcGVuaHdncm91cC9j dmE2L21pY3JvYXJjaC5qc29uCj4gPgo+ID4gZGlmZiAtLWdpdCBhL3Rvb2xzL3BlcmYvcG11LWV2 ZW50cy9hcmNoL3Jpc2N2L21hcGZpbGUuY3N2IGIvdG9vbHMvcGVyZi9wbXUtZXZlbnRzL2FyY2gv cmlzY3YvbWFwZmlsZS5jc3YKPiA+IGluZGV4IGQ1ZWVhN2Y5YWE5YS4uODdjZmIwZTA4NDlmIDEw MDY0NAo+ID4gLS0tIGEvdG9vbHMvcGVyZi9wbXUtZXZlbnRzL2FyY2gvcmlzY3YvbWFwZmlsZS5j c3YKPiA+ICsrKyBiL3Rvb2xzL3BlcmYvcG11LWV2ZW50cy9hcmNoL3Jpc2N2L21hcGZpbGUuY3N2 Cj4gPiBAQCAtMjEsNSArMjEsNiBAQAo+ID4gIDB4NDg5LTB4ODAwMDAwMDAwMDAwMFsxLTZdMDgt MHhbOWJdW1s6eGRpZ2l0Ol1dKyx2MSxzaWZpdmUvcDY1MCxjb3JlCj4gPiAgMHg1YjctMHgwLTB4 MCx2MSx0aGVhZC9jOTAwLWxlZ2FjeSxjb3JlCj4gPiAgMHg1YjctMHg4MDAwMDAwMDA5MGMwZDAw LTB4MjA0NzAwMCx2MSx0aGVhZC9jOTAwLWxlZ2FjeSxjb3JlCj4gPiArMHg2MDItMHgzLTB4MCx2 MSxvcGVuaHdncm91cC9jdmE2LGNvcmUKPiA+ICAweDY3ZS0weDgwMDAwMDAwZGIwMDAwWzg5XTAt MHhbWzp4ZGlnaXQ6XV0rLHYxLHN0YXJmaXZlL2R1YmhlLTgwLGNvcmUKPiA+ICAweDMxZS0weDgw MDAwMDAwMDAwMDhhNDUtMHhbWzp4ZGlnaXQ6XV0rLHYxLGFuZGVzL2F4NDUsY29yZQo+ID4gZGlm ZiAtLWdpdCBhL3Rvb2xzL3BlcmYvcG11LWV2ZW50cy9hcmNoL3Jpc2N2L29wZW5od2dyb3VwL2N2 YTYvZmlybXdhcmUuanNvbiBiL3Rvb2xzL3BlcmYvcG11LWV2ZW50cy9hcmNoL3Jpc2N2L29wZW5o d2dyb3VwL2N2YTYvZmlybXdhcmUuanNvbgo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+IGlu ZGV4IDAwMDAwMDAwMDAwMC4uNzE0OWNhZWM0ZjgwCj4gPiAtLS0gL2Rldi9udWxsCj4gPiArKysg Yi90b29scy9wZXJmL3BtdS1ldmVudHMvYXJjaC9yaXNjdi9vcGVuaHdncm91cC9jdmE2L2Zpcm13 YXJlLmpzb24KPiA+IEBAIC0wLDAgKzEsNjggQEAKPiA+ICtbCj4gPiArICB7Cj4gPiArICAgICJB cmNoU3RkRXZlbnQiOiAiRldfTUlTQUxJR05FRF9MT0FEIgo+ID4gKyAgfSwKPiA+ICsgIHsKPiA+ ICsgICAgIkFyY2hTdGRFdmVudCI6ICJGV19NSVNBTElHTkVEX1NUT1JFIgo+ID4gKyAgfSwKPiA+ ICsgIHsKPiA+ICsgICAgIkFyY2hTdGRFdmVudCI6ICJGV19BQ0NFU1NfTE9BRCIKPiA+ICsgIH0s Cj4gPiArICB7Cj4gPiArICAgICJBcmNoU3RkRXZlbnQiOiAiRldfQUNDRVNTX1NUT1JFIgo+ID4g KyAgfSwKPiA+ICsgIHsKPiA+ICsgICAgIkFyY2hTdGRFdmVudCI6ICJGV19JTExFR0FMX0lOU04i Cj4gPiArICB9LAo+ID4gKyAgewo+ID4gKyAgICAiQXJjaFN0ZEV2ZW50IjogIkZXX1NFVF9USU1F UiIKPiA+ICsgIH0sCj4gPiArICB7Cj4gPiArICAgICJBcmNoU3RkRXZlbnQiOiAiRldfSVBJX1NF TlQiCj4gPiArICB9LAo+ID4gKyAgewo+ID4gKyAgICAiQXJjaFN0ZEV2ZW50IjogIkZXX0lQSV9S RUNFSVZFRCIKPiA+ICsgIH0sCj4gPiArICB7Cj4gPiArICAgICJBcmNoU3RkRXZlbnQiOiAiRldf RkVOQ0VfSV9TRU5UIgo+ID4gKyAgfSwKPiA+ICsgIHsKPiA+ICsgICAgIkFyY2hTdGRFdmVudCI6 ICJGV19GRU5DRV9JX1JFQ0VJVkVEIgo+ID4gKyAgfSwKPiA+ICsgIHsKPiA+ICsgICAgIkFyY2hT dGRFdmVudCI6ICJGV19TRkVOQ0VfVk1BX1NFTlQiCj4gPiArICB9LAo+ID4gKyAgewo+ID4gKyAg ICAiQXJjaFN0ZEV2ZW50IjogIkZXX1NGRU5DRV9WTUFfUkVDRUlWRUQiCj4gPiArICB9LAo+ID4g KyAgewo+ID4gKyAgICAiQXJjaFN0ZEV2ZW50IjogIkZXX1NGRU5DRV9WTUFfQVNJRF9TRU5UIgo+ ID4gKyAgfSwKPiA+ICsgIHsKPiA+ICsgICAgIkFyY2hTdGRFdmVudCI6ICJGV19TRkVOQ0VfVk1B X0FTSURfUkVDRUlWRUQiCj4gPiArICB9LAo+ID4gKyAgewo+ID4gKyAgICAiQXJjaFN0ZEV2ZW50 IjogIkZXX0hGRU5DRV9HVk1BX1NFTlQiCj4gPiArICB9LAo+ID4gKyAgewo+ID4gKyAgICAiQXJj aFN0ZEV2ZW50IjogIkZXX0hGRU5DRV9HVk1BX1JFQ0VJVkVEIgo+ID4gKyAgfSwKPiA+ICsgIHsK PiA+ICsgICAgIkFyY2hTdGRFdmVudCI6ICJGV19IRkVOQ0VfR1ZNQV9WTUlEX1NFTlQiCj4gPiAr ICB9LAo+ID4gKyAgewo+ID4gKyAgICAiQXJjaFN0ZEV2ZW50IjogIkZXX0hGRU5DRV9HVk1BX1ZN SURfUkVDRUlWRUQiCj4gPiArICB9LAo+ID4gKyAgewo+ID4gKyAgICAiQXJjaFN0ZEV2ZW50Ijog IkZXX0hGRU5DRV9WVk1BX1NFTlQiCj4gPiArICB9LAo+ID4gKyAgewo+ID4gKyAgICAiQXJjaFN0 ZEV2ZW50IjogIkZXX0hGRU5DRV9WVk1BX1JFQ0VJVkVEIgo+ID4gKyAgfSwKPiA+ICsgIHsKPiA+ ICsgICAgIkFyY2hTdGRFdmVudCI6ICJGV19IRkVOQ0VfVlZNQV9BU0lEX1NFTlQiCj4gPiArICB9 LAo+ID4gKyAgewo+ID4gKyAgICAiQXJjaFN0ZEV2ZW50IjogIkZXX0hGRU5DRV9WVk1BX0FTSURf UkVDRUlWRUQiCj4gPiArICB9Cj4gPiArXQo+ID4gZGlmZiAtLWdpdCBhL3Rvb2xzL3BlcmYvcG11 LWV2ZW50cy9hcmNoL3Jpc2N2L29wZW5od2dyb3VwL2N2YTYvaW5zdHJ1Y3Rpb25zLmpzb24gYi90 b29scy9wZXJmL3BtdS1ldmVudHMvYXJjaC9yaXNjdi9vcGVuaHdncm91cC9jdmE2L2luc3RydWN0 aW9ucy5qc29uCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ID4gaW5kZXggMDAwMDAwMDAwMDAw Li5jMzhmNmM5N2NmMWYKPiA+IC0tLSAvZGV2L251bGwKPiA+ICsrKyBiL3Rvb2xzL3BlcmYvcG11 LWV2ZW50cy9hcmNoL3Jpc2N2L29wZW5od2dyb3VwL2N2YTYvaW5zdHJ1Y3Rpb25zLmpzb24KPiA+ IEBAIC0wLDAgKzEsNDcgQEAKPiA+ICtbCj4gPiArICB7Cj4gPiArICAgICJFdmVudE5hbWUiOiAi TE9BRF9JTlNUUlVDVElPTlNfUkVUSVJFRCIsCj4gPiArICAgICJFdmVudENvZGUiOiAiMHg1IiwK PiA+ICsgICAgIkJyaWVmRGVzY3JpcHRpb24iOiAibnVtYmVyIG9mIGRhdGEgbWVtb3J5IGxvYWQg aW5zdHJ1Y3Rpb25zIHJldGlyZWQiCj4gPiArICB9LAo+ID4gKyAgewo+ID4gKyAgICAiRXZlbnRO YW1lIjogIlNUT1JFX0lOU1RSVUNUSU9OU19SRVRJUkVEIiwKPiA+ICsgICAgIkV2ZW50Q29kZSI6 ICIweDYiLAo+ID4gKyAgICAiQnJpZWZEZXNjcmlwdGlvbiI6ICJudW1iZXIgb2YgZGF0YSBtZW1v cnkgc3RvcmUgaW5zdHJ1Y3Rpb25zIHJldGlyZWQiCj4gPiArICB9LAo+ID4gKyAgewo+ID4gKyAg ICAiRXZlbnROYW1lIjogIkVYQ0VQVElPTlMiLAo+ID4gKyAgICAiRXZlbnRDb2RlIjogIjB4NyIs Cj4gPiArICAgICJCcmllZkRlc2NyaXB0aW9uIjogInZhbGlkIGV4Y2VwdGlvbnMgZW5jb3VudGVy ZWQiCj4gPiArICB9LAo+ID4gKyAgewo+ID4gKyAgICAiRXZlbnROYW1lIjogIkVYQ0VQVElPTl9I QU5ETEVSX1JFVFVSTlMiLAo+ID4gKyAgICAiRXZlbnRDb2RlIjogIjB4OCIsCj4gPiArICAgICJC cmllZkRlc2NyaXB0aW9uIjogInJldHVybiBmcm9tIGFuIGV4Y2VwdGlvbiIKPiA+ICsgIH0sCj4g PiArICB7Cj4gPiArICAgICJFdmVudE5hbWUiOiAiQlJBTkNIX0lOU1RSVUNUSU9OU19SRVRJUkVE IiwKPiA+ICsgICAgIkV2ZW50Q29kZSI6ICIweDkiLAo+ID4gKyAgICAiQnJpZWZEZXNjcmlwdGlv biI6ICJudW1iZXIgb2YgYnJhbmNoIGluc3RydWN0aW9ucyBlbmNvdW50ZXJlZCByZXRpcmVkIgo+ ID4gKyAgfSwKPiA+ICsgIHsKPiA+ICsgICAgIkV2ZW50TmFtZSI6ICJDQUxMX0lOU1RSVUNUSU9O U19SRVRJUkVEIiwKPiA+ICsgICAgIkV2ZW50Q29kZSI6ICIweEMiLAo+ID4gKyAgICAiQnJpZWZE ZXNjcmlwdGlvbiI6ICJudW1iZXIgb2YgY2FsbCBpbnN0cnVjdGlvbnMgcmV0aXJlZCIKPiA+ICsg IH0sCj4gPiArICB7Cj4gPiArICAgICJFdmVudE5hbWUiOiAiUkVUVVJOX0lOU1RSVUNUSU9OU19S RVRJUkVEIiwKPiA+ICsgICAgIkV2ZW50Q29kZSI6ICIweEQiLAo+ID4gKyAgICAiQnJpZWZEZXNj cmlwdGlvbiI6ICJudW1iZXIgb2YgcmV0dXJuIGluc3RydWN0aW9ucyByZXRpcmVkIgo+ID4gKyAg fSwKPiA+ICsgIHsKPiA+ICsgICAgIkV2ZW50TmFtZSI6ICJJTlRFR0VSX0lOU1RSVUNUSU9OU19S RVRJUkVEIiwKPiA+ICsgICAgIkV2ZW50Q29kZSI6ICIweDE0IiwKPiA+ICsgICAgIkJyaWVmRGVz Y3JpcHRpb24iOiAibnVtYmVyIG9mIGludGVnZXIgaW5zdHJ1Y3Rpb25zIHJldGlyZWQiCj4gPiAr ICB9LAo+ID4gKyAgewo+ID4gKyAgICAiRXZlbnROYW1lIjogIkZMT0FUSU5HX1BPSU5UX0lOU1RS VUNUSU9OU19SRVRJUkVEIiwKPiA+ICsgICAgIkV2ZW50Q29kZSI6ICIweDE1IiwKPiA+ICsgICAg IkJyaWVmRGVzY3JpcHRpb24iOiAibnVtYmVyIG9mIGZsb2F0aW5nIHBvaW50IGluc3RydWN0aW9u cyByZXRpcmVkIgo+ID4gKyAgfQo+ID4gK10KPiA+IGRpZmYgLS1naXQgYS90b29scy9wZXJmL3Bt dS1ldmVudHMvYXJjaC9yaXNjdi9vcGVuaHdncm91cC9jdmE2L21lbW9yeS5qc29uIGIvdG9vbHMv cGVyZi9wbXUtZXZlbnRzL2FyY2gvcmlzY3Yvb3Blbmh3Z3JvdXAvY3ZhNi9tZW1vcnkuanNvbgo+ ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+IGluZGV4IDAwMDAwMDAwMDAwMC4uYzRmMzc2YTBl ZTRlCj4gPiAtLS0gL2Rldi9udWxsCj4gPiArKysgYi90b29scy9wZXJmL3BtdS1ldmVudHMvYXJj aC9yaXNjdi9vcGVuaHdncm91cC9jdmE2L21lbW9yeS5qc29uCj4gPiBAQCAtMCwwICsxLDQyIEBA Cj4gPiArWwo+ID4gKyAgewo+ID4gKyAgICAiRXZlbnROYW1lIjogIkwxX0lfQ0FDSEVfTUlTU0VT IiwKPiA+ICsgICAgIkV2ZW50Q29kZSI6ICIweDEiLAo+ID4gKyAgICAiQnJpZWZEZXNjcmlwdGlv biI6ICJudW1iZXIgb2YgbWlzc2VzIGluIEwxIEktQ2FjaGUiCj4gPiArICB9LAo+ID4gKyAgewo+ ID4gKyAgICAiRXZlbnROYW1lIjogIkwxX0RfQ0FDSEVfTUlTU0VTIiwKPiA+ICsgICAgIkV2ZW50 Q29kZSI6ICIweDIiLAo+ID4gKyAgICAiQnJpZWZEZXNjcmlwdGlvbiI6ICJudW1iZXIgb2YgbWlz c2VzIGluIEwxIEQtQ2FjaGUiCj4gPiArICB9LAo+ID4gKyAgewo+ID4gKyAgICAiRXZlbnROYW1l IjogIklUTEJfTUlTU0VTIiwKPiA+ICsgICAgIkV2ZW50Q29kZSI6ICIweDMiLAo+ID4gKyAgICAi QnJpZWZEZXNjcmlwdGlvbiI6ICJudW1iZXIgb2YgbWlzc2VzIGluIElUTEIiCj4gPiArICB9LAo+ ID4gKyAgewo+ID4gKyAgICAiRXZlbnROYW1lIjogIkRUTEJfTUlTU0VTIiwKPiA+ICsgICAgIkV2 ZW50Q29kZSI6ICIweDQiLAo+ID4gKyAgICAiQnJpZWZEZXNjcmlwdGlvbiI6ICJudW1iZXIgb2Yg bWlzc2VzIGluIERUTEIiCj4gPiArICB9LAo+ID4gKyAgewo+ID4gKyAgICAiRXZlbnROYW1lIjog IkwxX0lfQ0FDSEVfQUNDRVNTRVMiLAo+ID4gKyAgICAiRXZlbnRDb2RlIjogIjB4MTAiLAo+ID4g KyAgICAiQnJpZWZEZXNjcmlwdGlvbiI6ICJudW1iZXIgb2YgYWNjZXNzZXMgdG8gaW5zdHJ1Y3Rp b24gY2FjaGUiCj4gPiArICB9LAo+ID4gKyAgewo+ID4gKyAgICAiRXZlbnROYW1lIjogIkwxX0Rf Q0FDSEVfQUNDRVNTRVMiLAo+ID4gKyAgICAiRXZlbnRDb2RlIjogIjB4MTEiLAo+ID4gKyAgICAi QnJpZWZEZXNjcmlwdGlvbiI6ICJudW1iZXIgb2YgYWNjZXNzZXMgdG8gZGF0YSBjYWNoZSIKPiA+ ICsgIH0sCj4gPiArICB7Cj4gPiArICAgICJFdmVudE5hbWUiOiAiTDFfQ0FDSEVfTElORV9FVklD VElPTiIsCj4gPiArICAgICJFdmVudENvZGUiOiAiMHgxMiIsCj4gPiArICAgICJCcmllZkRlc2Ny aXB0aW9uIjogIm51bWJlciBvZiBkYXRhIGNhY2hlIGxpbmUgZXZpY3Rpb24iCj4gPiArICB9LAo+ ID4gKyAgewo+ID4gKyAgICAiRXZlbnROYW1lIjogIklUTEJfRkxVU0giLAo+ID4gKyAgICAiRXZl bnRDb2RlIjogIjB4MTMiLAo+ID4gKyAgICAiQnJpZWZEZXNjcmlwdGlvbiI6ICJudW1iZXIgb2Yg SVRMQiBmbHVzaGVzIgo+ID4gKyAgfQo+ID4gK10KPiA+IGRpZmYgLS1naXQgYS90b29scy9wZXJm L3BtdS1ldmVudHMvYXJjaC9yaXNjdi9vcGVuaHdncm91cC9jdmE2L21pY3JvYXJjaC5qc29uIGIv dG9vbHMvcGVyZi9wbXUtZXZlbnRzL2FyY2gvcmlzY3Yvb3Blbmh3Z3JvdXAvY3ZhNi9taWNyb2Fy Y2guanNvbgo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+IGluZGV4IDAwMDAwMDAwMDAwMC4u MTA0ZTZlODE5N2RhCj4gPiAtLS0gL2Rldi9udWxsCj4gPiArKysgYi90b29scy9wZXJmL3BtdS1l dmVudHMvYXJjaC9yaXNjdi9vcGVuaHdncm91cC9jdmE2L21pY3JvYXJjaC5qc29uCj4gPiBAQCAt MCwwICsxLDI3IEBACj4gPiArWwo+ID4gKyAgewo+ID4gKyAgICAiRXZlbnROYW1lIjogIkJSQU5D SF9NSVNQUkVESUNUUyIsCj4gPiArICAgICJFdmVudENvZGUiOiAiMHhBIiwKPiA+ICsgICAgIkJy aWVmRGVzY3JpcHRpb24iOiAibnVtYmVyIG9mIGJyYW5jaCBtaXNwcmVkaWN0aW9ucyIKPiA+ICsg IH0sCj4gPiArICB7Cj4gPiArICAgICJFdmVudE5hbWUiOiAiQlJBTkNIX0VYQ0VQVElPTlMiLAo+ ID4gKyAgICAiRXZlbnRDb2RlIjogIjB4QiIsCj4gPiArICAgICJCcmllZkRlc2NyaXB0aW9uIjog Im51bWJlciBvZiB2YWxpZCBicmFuY2ggZXhjZXB0aW9ucyIKPiA+ICsgIH0sCj4gPiArICB7Cj4g PiArICAgICJFdmVudE5hbWUiOiAiTVNCX0ZVTEwiLAo+ID4gKyAgICAiRXZlbnRDb2RlIjogIjB4 RSIsCj4gPiArICAgICJCcmllZkRlc2NyaXB0aW9uIjogInNjb3JlYm9hcmQgaXMgZnVsbCIKPiA+ ICsgIH0sCj4gPiArICB7Cj4gPiArICAgICJFdmVudE5hbWUiOiAiSU5TVFJVQ1RJT05fRkVUQ0hf RU1QVFkiLAo+ID4gKyAgICAiRXZlbnRDb2RlIjogIjB4RiIsCj4gPiArICAgICJCcmllZkRlc2Ny aXB0aW9uIjogIm51bWJlciBvZiBpbnZhbGlkIGluc3RydWN0aW9ucyBpbiBJRiBzdGFnZSIKPiA+ ICsgIH0sCj4gPiArICB7Cj4gPiArICAgICJFdmVudE5hbWUiOiAiUElQRUxJTkVfU1RBTEwiLAo+ ID4gKyAgICAiRXZlbnRDb2RlIjogIjB4MTYiLAo+ID4gKyAgICAiQnJpZWZEZXNjcmlwdGlvbiI6 ICJudW1iZXIgb2YgY3ljbGVzIHRoZSBwaXBlbGluZSBpcyBzdGFsbGVkIGR1cmluZyByZWFkIG9w ZXJhbmRzIgo+ID4gKyAgfQo+ID4gK10KPiA+IC0tCj4gPiAyLjM0LjEKPiA+CgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1yaXNjdiBtYWlsaW5n IGxpc3QKbGludXgtcmlzY3ZAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFk ZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJpc2N2Cg==