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 093D3C88E53 for ; Sat, 12 Sep 2026 18:53:55 +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:References:Cc:To:From: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=iiImPXBaOZ2dDLD5vzybh8ahnQGKFj+rL2ByLXOAPVk=; b=1CkuTODKsm/uGj mUD8bWT193RrrxDWhQTX2fF6h/OeTDMV4N9psN+AnwBz48VMc0M8YLsnzjaMg9rQzWpnqwmA3O41u eqj6KWLDozUu/9MMkHNfg/5ZSF3M9Qq+1sQPoZ4u8JUh0IyVSSL2nbnijYVJIELLkcLula2xj9Acj FqC+B7S8nbE5rV+I1AiIBQQ8W4MusGe8yO+Y3wunUJP1JROUc2qFBbzDHhE7t8Xq1uHDsoO2/kl5j k1lgeQAAGYZYvMpOSFsphNoFW5PfBFnk+LiBzpV14Fm7tbdB4sIuhP/VLsClR353SS++ewq7p7QqI 6CzUfTtehmZLgBOAYmhg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x5Sqt-000000014ab-3mjp; Sat, 12 Sep 2026 18:53:27 +0000 Received: from sea.source.kernel.org ([172.234.252.31]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x5Sqs-000000014aV-1mp4 for linux-riscv@lists.infradead.org; Sat, 12 Sep 2026 18:53:26 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 888D74174B; Sat, 12 Sep 2026 18:53:25 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 36E931F00893; Sat, 12 Sep 2026 18:53:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789239205; bh=pnYw8oV7PDO5JJNnfCNgZakByu1XteCUnWGxERqr7V4=; h=Date:Subject:From:To:Cc:References:In-Reply-To; b=LrdvV2EoAwqvph+f6BPThyZ2EUHBeXS5A4ViAyKyQzIRTRjD4+TIY7uk9QC14YzFD kopVm/CwYxzkzDRhDT+IrnF35QpG0aicyJBZVXF9kcM43pnoK4rjR8VPcs6SgrpVvg DywpldBL3OE85cJI8xG/ERzO1gCcCbbYdU6STM8Dbc7Jjqb2aEkse/dnMV6zygObkC uRohCFKBSiWN+l6+iOm/wEpBYqvAbGee5mU2lmX315izCLKyWjyK5/ji6p6O/6VTcS DY54SemGEI4A6nr58Lejxzeejy48+ZPp5SDeqcinjFvCgTBwDKPBQaZtSZfBsSbjjC TNF5uD9qGGixA== Message-ID: <3d327595-791c-4a7a-ae65-afae80c9c848@kernel.org> Date: Sat, 12 Sep 2026 20:53:16 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] powerpc/kasan: require memintrinsic prefix support for KASAN From: "Christophe Leroy (CS GROUP)" To: Mukesh Kumar Chaurasiya Cc: maddy@linux.ibm.com, mpe@ellerman.id.au, npiggin@gmail.com, ryabinin.a.a@gmail.com, glider@google.com, andreyknvl@gmail.com, dvyukov@google.com, vincenzo.frascino@arm.com, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, kees@kernel.org, amachhiw@linux.ibm.com, ritesh.list@gmail.com, robh@kernel.org, sayalip@linux.ibm.com, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com, linux-riscv@lists.infradead.org, linux-hardening@vger.kernel.org, Venkat Rao Bagalkote References: <20260908064948.999530-1-mkchauras@gmail.com> <2dedc7a9-95f5-4a7f-8d38-6b9351db402f@kernel.org> Content-Language: fr-FR In-Reply-To: <2dedc7a9-95f5-4a7f-8d38-6b9351db402f@kernel.org> 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 CgpMZSAxMi8wOS8yMDI2IMOgIDE5OjM1LCBDaHJpc3RvcGhlIExlcm95IChDUyBHUk9VUCkgYSDD qWNyaXTCoDoKPiBIaSBNdWtlc2gsCj4gCj4gTGUgMTEvMDkvMjAyNiDDoCAxOTozOSwgTXVrZXNo IEt1bWFyIENoYXVyYXNpeWEgYSDDqWNyaXTCoDoKPj4KPj4gWy4uLl0KPj4+PiBkaWZmIC0tZ2l0 IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9jcHV0YWJsZS5jIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC8g Cj4+Pj4gY3B1dGFibGUuYwo+Pj4+IGluZGV4IDZmNjgwMWRhOWRjMS4uNDQxMTVmOTA0YzJjIDEw MDY0NAo+Pj4+IC0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvY3B1dGFibGUuYwo+Pj4+ICsrKyBi L2FyY2gvcG93ZXJwYy9rZXJuZWwvY3B1dGFibGUuYwo+Pj4+IEBAIC0zNiw4ICszNiw4IEBAIHZv aWQgX19pbml0IHNldF9jdXJfY3B1X3NwZWMoc3RydWN0IGNwdV9zcGVjICpzKQo+Pj4+IMKgwqDC oMKgwqDCoCB0ID0gUFRSUkVMT0ModCk7Cj4+Pj4gwqDCoMKgwqDCoMKgIC8qCj4+Pj4gLcKgwqDC oMKgICogdXNlIG1lbWNweSgpIGluc3RlYWQgb2YgKnQgPSAqcyBzbyB0aGF0IEdDQyByZXBsYWNl cyBpdAo+Pj4+IC3CoMKgwqDCoCAqIGJ5IF9fbWVtY3B5KCkgd2hlbiBLQVNBTiBpcyBhY3RpdmUK Pj4+PiArwqDCoMKgwqAgKiB1c2UgbWVtY3B5KCkgaW5zdGVhZCBvZiAqdCA9ICpzIHNvIHRoYXQg dGhlIGNvbXBpbGVyIAo+Pj4+IHJlcGxhY2VzIGl0Cj4+Pj4gK8KgwqDCoMKgICogYnkgX19hc2Fu X21lbWNweSgpIHdoZW4gS0FTQU4gaXMgYWN0aXZlCj4+Pj4gwqDCoMKgwqDCoMKgwqAgKi8KPj4+ Cj4+PiBEb2VzIHRoZSBpbml0aWFsIHByb2JsZW0gc3RpbGwgZXhpc3Qgd2l0aCB0aGUgbmV3IF9f YXNhbl9tZW1jcHkoKSAKPj4+IGFwcHJvYWNoID8KPj4+IElmIG5vdCB0aGUgY29tbWVudCBzaG91 bGQgYmUgcmVtb3ZlZC4KPj4+Cj4+IEhleSBDaHJpc3RvcGhlLAo+Pgo+PiBUaGFua3MgZm9yIHBv aW50aW5nIGl0IG91dCwgaSB0b29rIGEgZGVlcGVyIGxvb2sgaW50byB0aGlzLCBoZXJlJ3MgbXkK Pj4gdW5kZXJzdGFuZGluZyBvbiBpdC4KPj4KPj4gT24gUG93ZXJQQyBkdXJpbmcgdmVyeSBlYXJs eSBib290IHRoZSBrZXJuZWwgaXMgbG9hZGVkIGJ5IHRoZQo+PiBib290bG9hZGVyL2Zpcm13YXJl IGF0IHNvbWUgcGh5c2ljYWwgYWRkcmVzcywgYnV0IHRoZSBrZXJuZWwgd2FzIGxpbmtlZAo+PiBl eHBlY3RpbmcgaXQgdG8gcnVuIGF0IEtFUk5FTEJBU0UodmlydHVhbCBhZGRyZXNzIGxpa2UKPj4g MHhjMDAwMDAwMDAwMDAwMDAwKS4gVGhlIE1NVSBtYXBwaW5nIHRoYXQgbWFrZXMgdGhhdCB2aXJ0 dWFsIGFkZHJlc3MKPj4gdmFsaWQgaGFzbid0IGJlZW4gc2V0IHVwIHlldC4gU28gZmFyIGZvciBh IHdpbmRvdyBvZiBlYXJseSBib290LCBjb2RlIGlzCj4+IGV4ZWN1dGluZyBhdCB0aGUgcGh5c2lj YWwgbG9hZCBhZGRyZXNzIHdoaWxlIGFsbCBzeW1ib2wgYWRkcmVzc2VzIGluIHRoZQo+PiBiaW5h cnkgcmVmZXIgdG8gdGhlIHZpcnR1YWwgbGlua2VkIGFkZHJlc3MuIHJlbG9jX29mZnNldCgpIGNv bXB1dGVzIHRoZQo+PiBnYXAgYmV0d2VlbiB0aGVzZSB0d28gYW5kIFBUUlJFTE9DIGFwcGxpZXMg aXQgdG8gYW55IHBvaW50ZXIuCj4+Cj4+IFNvIFBUUlJFTE9DKCZ0aGVfY3B1X3NwZWMpIGdpdmVz IHRoZSBwaHlzaWNhbCBhZGRyZXNzIHdoZXJlIHRoZSBzdHJ1Y3QKPj4gYWN0dWFsbHkgbGl2ZXMg aW4gbWVtb3J5IHJpZ2h0IG5vdywgbm90IHdoZXJlIHRoZSBsaW5rZXIgdGhpbmtzIGl0IGxpdmVz Lgo+Pgo+PiBXaHkgKnQgPSAqcyB3b3VsZCBiZSB3cm9uZz8KPj4KPj4gSW4gc2V0X2N1cl9jcHVf c3BlYzoKPj4KPj4gc3RydWN0IGNwdV9zcGVjICp0ID0gJnRoZV9jcHVfc3BlYzvCoCAvLyBsaW5r ZWQgKHZpcnR1YWwpIGFkZHJlc3MKPj4gdCA9IFBUUlJFTE9DKHQpO8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLy8gcGh5c2ljYWwgYWRkcmVzcyDigJQgd2hlcmUgaXQg Cj4+IGFjdHVhbGx5IGlzCj4+IG1lbWNweSh0LCBzLCBzaXplb2YoKnQpKTvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIC8vIGNvcHkgaW50byB0aGUgcmlnaHQgcGxhY2UKPj4KPj4gSWYgeW91IHdyb3Rl ICp0ID0gKnMgaW5zdGVhZCwgdGhlIGNvbXBpbGVyIGdlbmVyYXRlcyBhIHN0cnVjdCBhc3NpZ25t ZW50Lgo+PiBGb3IgYSBsYXJnZSBzdHJ1Y3QgbGlrZSBjcHVfc3BlYywgR0NDIGlzIGZyZWUgdG8g aW1wbGVtZW50IHRoYXQgaG93ZXZlcgo+PiBpdCBsaWtlcyDigJQgaW5jbHVkaW5nIGVtaXR0aW5n IGEgY2FsbCB0byBtZW1jcHkoKS4gQnV0IGNydWNpYWxseSwgYQo+PiBjb21waWxlci1nZW5lcmF0 ZWQgbWVtY3B5IGNhbGwgcmVzb2x2ZXMgdGhyb3VnaCB0aGUgR09UL1BMVCBvciBkaXJlY3QKPj4g c3ltYm9sIOKAlCB3aGljaCBwb2ludHMgdG8gdGhlIGxpbmtlZCB2aXJ0dWFsIGFkZHJlc3Mgb2Yg bWVtY3B5LCBub3QgdGhlCj4+IHBoeXNpY2FsIGFkZHJlc3MuIEF0IHRoaXMgcG9pbnQgaW4gYm9v dCwgY2FsbGluZyB0aHJvdWdoIHRoZSB3cm9uZwo+PiBhZGRyZXNzIHdvdWxkIGp1bXAgdG8gZ2Fy YmFnZSBvciBhbiB1bm1hcHBlZCBwYWdlLgo+Pgo+PiBtZW1jcHkodCwgcywgc2l6ZW9mKCp0KSkg d3JpdHRlbiBleHBsaWNpdGx5IGlzIGRpZmZlcmVudDogdCBpcyBhbHJlYWR5Cj4+IHRoZSBjb3Jy ZWN0ZWQgcGh5c2ljYWwgYWRkcmVzcywgcyBwb2ludHMgaW50byB0aGUgY3B1X3NwZWNzIHRhYmxl IHdoaWNoCj4+IGhhcyBhbHNvIGJlZW4gUFRSUkVMT0MnZC4gVGhlIGV4cGxpY2l0IGNhbGwgZ29l cyB0aHJvdWdoIHRoZSBub3JtYWwKPj4gZWFybHktYm9vdCBjYWxsIG1lY2hhbmlzbSB3aGljaCBp cyBzYWZlLgo+Pgo+PiBUaGUgb3JpZ2luYWwgY29tbWVudCBzYWlkOgo+Pgo+PiAidXNlIG1lbWNw eSgpIGluc3RlYWQgb2YgKnQgPSAqcyBzbyB0aGF0IEdDQyByZXBsYWNlcyBpdCBieSBfX21lbWNw eSgpCj4+IHdoZW4gS0FTQU4gaXMgYWN0aXZlIgo+Pgo+PiBUaGlzIHdhcyBhZGRlZCBiZWNhdXNl IHVuZGVyIHRoZSBvbGQgS0FTQU4gc2NoZW1lCj4+ICghQ0NfSEFTX0tBU0FOX01FTUlOVFJJTlNJ Q19QUkVGSVgpLCBLQVNBTiBvdmVycm9kZSB0aGUgbWVtc2V0L21lbWNweQo+PiBsaW5rZXIgc3lt Ym9scyBnbG9iYWxseSB3aXRoIEMgd3JhcHBlcnMgdGhhdCBjYWxsZWQga2FzYW5fY2hlY2tfcmFu Z2UoKS4KPj4gSWYgdGhlIGNvbXBpbGVyIHR1cm5lZCAqdCA9ICpzIGludG8gYW4gaW1wbGljaXQg bWVtY3B5KCksIHRoYXQgd291bGQgaGl0Cj4+IHRoZSBLQVNBTiB3cmFwcGVyIOKAlCBjYWxsaW5n IGthc2FuX2NoZWNrX3JhbmdlKCkgYXQgYSBwb2ludCBpbiBlYXJseSBib290Cj4+IHdoZXJlIHRo ZSBLQVNBTiBzaGFkb3cgaXNuJ3QgbWFwcGVkIHlldCwgY2F1c2luZyBhIGNyYXNoLgo+Pgo+PiBX cml0aW5nIG1lbWNweSh0LCBzLCBzaXplb2YoKnQpKSBleHBsaWNpdGx5IG1hZGUgR0NDIGVtaXQg X19tZW1jcHkoKQo+PiAodGhlIHJhdyBhc3NlbWJseSBhbGlhcyBleHBvc2VkIGJ5IF9HTE9CQUxf S0FTQU4pIGluc3RlYWQgb2YgdGhlCj4+IEtBU0FOLXdyYXBwZWQgbWVtY3B5KCksIGJ5cGFzc2lu ZyB0aGUgc2hhZG93IGNoZWNrLgo+Pgo+PiBUaGF0IHdhcyB0aGUgc2Vjb25kYXJ5IHJlYXNvbi4g VGhlIHByaW1hcnkgcmVhc29uIHRoYXQgdCBpcyBhCj4+IFBUUlJFTE9DLWFkanVzdGVkIHBoeXNp Y2FsIHBvaW50ZXIgYW5kIHRoZSBjb3B5IG11c3QgZ28gdGhyb3VnaCBpdAo+PiBjb3JyZWN0bHkg d2FzIG5ldmVyIHN0YXRlZC4KPj4KPj4gU28gdGhlIEtBU0FOIGNvbW1lbnQgaXMgbm90IHJlcXVp cmVkIGJ1dCBpIHRoaW5rIHdlIHN0aWxsIG5lZWQgdG8gc3RhdGUKPj4gd2h5IG1lbWNweSBpcyBy ZXF1aXJlZC4gRm9yIFBUUlJFTE9DIGFkanVzdG1lbnQsIGNvbW1lbnQgc2hvdWxkIHJlZmxlY3QK Pj4gdGhhdC4KPj4KPj4gSSdsbCB1cGRhdGUgdGhlIGNvbW1lbnQgYW5kIGNvbW1pdCBtZXNzYWdl IGFuZCBzZW5kIG91dCBhIG5ldyB2ZXJzaW9uLgo+IAo+IEV4cGxhbmF0aW9uIGJhc2VkIG9uIGtl cm5lbCB2NS4xMAo+IAo+IFRoZSBwcm9ibGVtIHdhcyBub3QgbGlua2VkIHRvIFBUUlJFTE9DLCB0 aGUgdCA9IFBUUlJFTE9DKHQpIGZvbGxvd2VkIGJ5IAo+ICp0ID0gKnMgd29ya3Mgd2VsbCBpbiB0 ZXJtIG9mIGFkcmVzc2luZywgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIAo+IENPTkZJR19LQVNBTiBp cyBlbmFibGVkIG9yIG5vdC4KPiAKPiBUaGUgcHJvYmxlbSBpcyB0aGF0IHdpdGggKnQgPSAqcywg Z2NjIGVtaXRzIGEgY2FsbCB0byBtZW1jcHkoKS4gV2hlbiAKPiBDT05GSUdfS0FTQU4gaXMgZW5h YmxlZCwgbWVtY3B5KCkgaXMgaW5zdHJ1bWVudGVkLiBCdXQgd2UgZG9uJ3Qgd2FudCAKPiBjcHV0 YWJsZS5vIGluc3RydW1lbnRlZCBhcyB3ZSBoYXZlIEtBU0FOX1NBTklUSVpFX2NwdXRhYmxlLm8g Oj0gbiBpbiAKPiBNYWtlZmlsZS4KPiAKPiBJbiBhc20vc3RyaW5nLmggd2UgaGF2ZToKPiAKPiAj aWYgZGVmaW5lZChDT05GSUdfS0FTQU4pICYmICFkZWZpbmVkKF9fU0FOSVRJWkVfQUREUkVTU19f KQo+IC8qCj4gIMKgKiBGb3IgZmlsZXMgdGhhdCBhcmUgbm90IGluc3RydW1lbnRlZCAoZS5nLiBt bS9zbHViLmMpIHdlCj4gIMKgKiBzaG91bGQgdXNlIG5vdCBpbnN0cnVtZW50ZWQgdmVyc2lvbiBv ZiBtZW0qIGZ1bmN0aW9ucy4KPiAgwqAqLwo+ICNkZWZpbmUgbWVtY3B5KGRzdCwgc3JjLCBsZW4p IF9fbWVtY3B5KGRzdCwgc3JjLCBsZW4pCj4gI2RlZmluZSBtZW1tb3ZlKGRzdCwgc3JjLCBsZW4p IF9fbWVtbW92ZShkc3QsIHNyYywgbGVuKQo+ICNkZWZpbmUgbWVtc2V0KHMsIGMsIG4pIF9fbWVt c2V0KHMsIGMsIG4pCj4gCj4gQmVjYXVzZSBpbiBub24taW5zdHJ1bWVudGVkIGZpbGVzIGxpa2Ug Y3B1dGFibGUubyB3ZSB3YW50IG1lbWNweSgpIHRvIGJlIAo+IHJlcGxhY2VkIGF0IGJ1aWxkdGlt ZSBieSBfX21lbWNweSgpIHRvIHNraXAgS0FTQU4gaW5zdHJ1bWVudGF0aW9uLiBCdXQgCj4gdGhp cyBpcyByZXNvbHZlZCBieSBwcmUtcHJvY2Vzc2luZywgYW5kIHByZS1wcm9jZXNzb3IgZG9lc24n dCBrbm93IHRoYXQgCj4gdGhlIGNvbXBpbGVyIHdpbGwgZW1pdCBhIGNhbGwgdG8gbWVtY3B5KCku Cj4gCj4gQnkgcmVwbGFjaW5nICp0ID0gKnMgYnkgdGhlIG1lbWNweSgpLCB0aGUgcHJlLXByb2Nl c3NvciByZXBsYWNlcyAKPiBtZW1jcHkoKSBieSBfX21lbWNweSgpIHdoZW4gQ09ORklHX0tBU0FO IGlzIGVuYWJsZWQuCj4gCj4gU2VlIHRoZSBkaWZmZXJlbmNlOgo+IAo+IFRoaXMgaXMgdjUuMTAK PiAKPiAwMDAwMDAwMCA8c2V0X2N1cl9jcHVfc3BlYz46Cj4gIMKgwqAgMDrCoMKgwqAgOTQgMjEg ZmYgZTDCoMKgwqDCoCBzdHd1wqDCoMKgIHIxLC0zMihyMSkKPiAgwqDCoCA0OsKgwqDCoCA3YyA2 OSAxYiA3OMKgwqDCoMKgIG1ywqDCoMKgwqDCoCByOSxyMwo+ICDCoMKgIDg6wqDCoMKgIGJmIGMx IDAwIDE4wqDCoMKgwqAgc3Rtd8KgwqDCoCByMzAsMjQocjEpCj4gIMKgwqAgYzrCoMKgwqAgM2Yg ZTAgMDAgMDDCoMKgwqDCoCBsaXPCoMKgwqDCoCByMzEsMAo+ICDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGU6IFJfUFBDX0FERFIxNl9IQcKgwqDCoCAuZGF0YS4ucmVhZF9tb3N0bHkKPiAgwqAgMTA6 wqDCoMKgIDNiIGZmIDAwIDAwwqDCoMKgwqAgYWRkacKgwqDCoCByMzEscjMxLDAKPiAgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCAxMjogUl9QUENfQUREUjE2X0xPwqDCoMKgIC5kYXRhLi5yZWFkX21v c3RseQo+ICDCoCAxNDrCoMKgwqAgN2MgMDggMDIgYTbCoMKgwqDCoCBtZmxywqDCoMKgIHIwCj4g IMKgIDE4OsKgwqDCoCA3ZCAzZSA0YiA3OMKgwqDCoMKgIG1ywqDCoMKgwqDCoCByMzAscjkKPiAg wqAgMWM6wqDCoMKgIDdmIGUzIGZiIDc4wqDCoMKgwqAgbXLCoMKgwqDCoMKgIHIzLHIzMQo+ICDC oCAyMDrCoMKgwqAgOTAgMDEgMDAgMjTCoMKgwqDCoCBzdHfCoMKgwqDCoCByMCwzNihyMSkKPiAg wqAgMjQ6wqDCoMKgIDQ4IDAwIDAwIDAxwqDCoMKgwqAgYmzCoMKgwqDCoMKgIDI0IDxzZXRfY3Vy X2NwdV9zcGVjKzB4MjQ+Cj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMjQ6IFJfUFBDX1JFTDI0 wqDCoMKgIGFkZF9yZWxvY19vZmZzZXQKPiAgwqAgMjg6wqDCoMKgIDdmIGM0IGYzIDc4wqDCoMKg wqAgbXLCoMKgwqDCoMKgIHI0LHIzMAo+ICDCoCAyYzrCoMKgwqAgMzggYTAgMDAgNTjCoMKgwqDC oCBsacKgwqDCoMKgwqAgcjUsODgKPiAgwqAgMzA6wqDCoMKgIDQ4IDAwIDAwIDAxwqDCoMKgwqAg YmzCoMKgwqDCoMKgIDMwIDxzZXRfY3VyX2NwdV9zcGVjKzB4MzA+Cj4gIMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgMzA6IFJfUFBDX1JFTDI0wqDCoMKgIF9fbWVtY3B5Cj4gIMKgIDM0OsKgwqDCoCAz OCA3ZiAwMCA1OMKgwqDCoMKgIGFkZGnCoMKgwqAgcjMscjMxLDg4Cj4gIMKgIDM4OsKgwqDCoCA0 OCAwMCAwMCAwMcKgwqDCoMKgIGJswqDCoMKgwqDCoCAzOCA8c2V0X2N1cl9jcHVfc3BlYysweDM4 Pgo+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDM4OiBSX1BQQ19SRUwyNMKgwqDCoCBhZGRfcmVs b2Nfb2Zmc2V0Cj4gIMKgIDNjOsKgwqDCoCA5MyBlMyAwMCAwMMKgwqDCoMKgIHN0d8KgwqDCoMKg IHIzMSwwKHIzKQo+ICDCoCA0MDrCoMKgwqAgODAgMDEgMDAgMjTCoMKgwqDCoCBsd3rCoMKgwqDC oCByMCwzNihyMSkKPiAgwqAgNDQ6wqDCoMKgIDgzIGMxIDAwIDE4wqDCoMKgwqAgbHd6wqDCoMKg wqAgcjMwLDI0KHIxKQo+ICDCoCA0ODrCoMKgwqAgODMgZTEgMDAgMWPCoMKgwqDCoCBsd3rCoMKg wqDCoCByMzEsMjgocjEpCj4gIMKgIDRjOsKgwqDCoCA3YyAwOCAwMyBhNsKgwqDCoMKgIG10bHLC oMKgwqAgcjAKPiAgwqAgNTA6wqDCoMKgIDM4IDIxIDAwIDIwwqDCoMKgwqAgYWRkacKgwqDCoCBy MSxyMSwzMgo+ICDCoCA1NDrCoMKgwqAgNGUgODAgMDAgMjDCoMKgwqDCoCBibHIKPiAKPiBUaGlz IGlzIHY1LjEwIHdpdGggY29tbWl0IGFkY2Y1OTE4N2UyNzAgcmV2ZXJ0ZWQ6Cj4gCj4gMDAwMDAw MDAgPHNldF9jdXJfY3B1X3NwZWM+Ogo+ICDCoMKgIDA6wqDCoMKgIDk0IDIxIGZmIGUwwqDCoMKg wqAgc3R3dcKgwqDCoCByMSwtMzIocjEpCj4gIMKgwqAgNDrCoMKgwqAgN2MgNjkgMWIgNzjCoMKg wqDCoCBtcsKgwqDCoMKgwqAgcjkscjMKPiAgwqDCoCA4OsKgwqDCoCBiZiBjMSAwMCAxOMKgwqDC oMKgIHN0bXfCoMKgwqAgcjMwLDI0KHIxKQo+ICDCoMKgIGM6wqDCoMKgIDNmIGUwIDAwIDAwwqDC oMKgwqAgbGlzwqDCoMKgwqAgcjMxLDAKPiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBlOiBSX1BQ Q19BRERSMTZfSEHCoMKgwqAgLmRhdGEuLnJlYWRfbW9zdGx5Cj4gIMKgIDEwOsKgwqDCoCAzYiBm ZiAwMCAwMMKgwqDCoMKgIGFkZGnCoMKgwqAgcjMxLHIzMSwwCj4gIMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgMTI6IFJfUFBDX0FERFIxNl9MT8KgwqDCoCAuZGF0YS4ucmVhZF9tb3N0bHkKPiAgwqAg MTQ6wqDCoMKgIDdjIDA4IDAyIGE2wqDCoMKgwqAgbWZscsKgwqDCoCByMAo+ICDCoCAxODrCoMKg wqAgN2QgM2UgNGIgNzjCoMKgwqDCoCBtcsKgwqDCoMKgwqAgcjMwLHI5Cj4gIMKgIDFjOsKgwqDC oCA3ZiBlMyBmYiA3OMKgwqDCoMKgIG1ywqDCoMKgwqDCoCByMyxyMzEKPiAgwqAgMjA6wqDCoMKg IDkwIDAxIDAwIDI0wqDCoMKgwqAgc3R3wqDCoMKgwqAgcjAsMzYocjEpCj4gIMKgIDI0OsKgwqDC oCA0OCAwMCAwMCAwMcKgwqDCoMKgIGJswqDCoMKgwqDCoCAyNCA8c2V0X2N1cl9jcHVfc3BlYysw eDI0Pgo+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDI0OiBSX1BQQ19SRUwyNMKgwqDCoCBhZGRf cmVsb2Nfb2Zmc2V0Cj4gIMKgIDI4OsKgwqDCoCA3ZiBjNCBmMyA3OMKgwqDCoMKgIG1ywqDCoMKg wqDCoCByNCxyMzAKPiAgwqAgMmM6wqDCoMKgIDM4IGEwIDAwIDU4wqDCoMKgwqAgbGnCoMKgwqDC oMKgIHI1LDg4Cj4gIMKgIDMwOsKgwqDCoCA0OCAwMCAwMCAwMcKgwqDCoMKgIGJswqDCoMKgwqDC oCAzMCA8c2V0X2N1cl9jcHVfc3BlYysweDMwPgo+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDMw OiBSX1BQQ19SRUwyNMKgwqDCoCBtZW1jcHkKPiAgwqAgMzQ6wqDCoMKgIDM4IDdmIDAwIDU4wqDC oMKgwqAgYWRkacKgwqDCoCByMyxyMzEsODgKPiAgwqAgMzg6wqDCoMKgIDQ4IDAwIDAwIDAxwqDC oMKgwqAgYmzCoMKgwqDCoMKgIDM4IDxzZXRfY3VyX2NwdV9zcGVjKzB4Mzg+Cj4gIMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgMzg6IFJfUFBDX1JFTDI0wqDCoMKgIGFkZF9yZWxvY19vZmZzZXQKPiAg wqAgM2M6wqDCoMKgIDkzIGUzIDAwIDAwwqDCoMKgwqAgc3R3wqDCoMKgwqAgcjMxLDAocjMpCj4g IMKgIDQwOsKgwqDCoCA4MCAwMSAwMCAyNMKgwqDCoMKgIGx3esKgwqDCoMKgIHIwLDM2KHIxKQo+ ICDCoCA0NDrCoMKgwqAgODMgYzEgMDAgMTjCoMKgwqDCoCBsd3rCoMKgwqDCoCByMzAsMjQocjEp Cj4gIMKgIDQ4OsKgwqDCoCA4MyBlMSAwMCAxY8KgwqDCoMKgIGx3esKgwqDCoMKgIHIzMSwyOChy MSkKPiAgwqAgNGM6wqDCoMKgIDdjIDA4IDAzIGE2wqDCoMKgwqAgbXRscsKgwqDCoCByMAo+ICDC oCA1MDrCoMKgwqAgMzggMjEgMDAgMjDCoMKgwqDCoCBhZGRpwqDCoMKgIHIxLHIxLDMyCj4gIMKg IDU0OsKgwqDCoCA0ZSA4MCAwMCAyMMKgwqDCoMKgIGJscgo+IAo+IFNvIG15IHF1ZXN0aW9uIGlz ID8gRG8gd2Ugc3RpbGwgaGF2ZSB0aGlzIGlzc3VlIG5vd2FkYXlzID8KCkkgbm93IGRpZCB0aGUg c2FtZSB0ZXN0IHdpdGggdjcuMiB3aXRob3V0IGFuZCB3aXRoIGFkY2Y1OTE4N2UyNzAgCnJldmVy dGVkLiBJIGJvdGggY2FzZXMgSSBnZXQgbWVtY3B5KCkuCgpDaHJpc3RvcGhlCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1yaXNjdiBtYWlsaW5n IGxpc3QKbGludXgtcmlzY3ZAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFk ZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJpc2N2Cg==