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 43296C67861 for ; Tue, 9 Apr 2024 11:52:01 +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=Nc799ye2wTxyWwyjE1NuKJl/8I/P15ZyRAe4SggYMRE=; b=uxYJHlYMwGu0bc IcqMIuFZEF0TEAPunoVhvkTg+72e0MQTrFeEz2bjCRUYmhjZKwhnoZ44cFKeeqdcGPXfimUVuYCVB rvHTe3fAUu5Aw2xjQBSkdoEA3s7ysVwgTHahrNMtBgAHOv8upRms3ZjVd2MIVYFH75qI0v1Owt1+U M9OHv+ZbVQn5KWv4dgVZ+uJdCUaX14f1lB7JPs5unultS1LdaXD0SAGEjf2ihc99It4diss1GPsOY HT0E/r5QrLGQIl82jcRMWe7yjPqXBOm6VAyDT/sxINEkJKHFCpPOzFIb6pJpQji2Bdf/mMBKrE+K6 0z5zXUnA/chKp8ycivTQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1ruA0z-00000001n5h-3qFu; Tue, 09 Apr 2024 11:51:49 +0000 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1ruA0w-00000001n52-0uTl for linux-arm-kernel@lists.infradead.org; Tue, 09 Apr 2024 11:51:47 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1712663504; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=yHluCbH+Y4mvtj/fpytANH7A8mHkCJCLpNilx8K/sOI=; b=FU1v8gGt1TS0L0bdMkNRZrYPEuPAK8JwwbtpPALbRwLxH0GkY3c9PT3woe66+7r/vXs+oJ 2rGT1xp3F6z+yf/pA2UbXKeqXevD0BVap9CrMcWiL95u7Fl5RSSRu31ksr7Jy8TAZ32LUH 3RsRlOqZCq1lhN1KmBHB1Cqwb2Ro8BA= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-581-890MorePOXe7vIyAp10jng-1; Tue, 09 Apr 2024 07:51:42 -0400 X-MC-Unique: 890MorePOXe7vIyAp10jng-1 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-4169877bfcdso5265915e9.2 for ; Tue, 09 Apr 2024 04:51:42 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712663501; x=1713268301; h=content-transfer-encoding:in-reply-to:organization:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=yHluCbH+Y4mvtj/fpytANH7A8mHkCJCLpNilx8K/sOI=; b=bIIm4dkxMszgEX2xnj0qViRXHZgyMIdV80Fj9rOFE293yf33b0BUMRN9yiZX+F3G2W sXAem4ggqEP4AQFEb7jjnBFSCY0ucNhEJ1qgdbUaE1GjIo3BJq/gh3feNa3C7tTYZpre Uo3TKDLXGiQkuePBY5fLKrKHc9uns5iSp2eLqoOqXcBlK/4nxZot95FDPuuYozKiyCCq zolBEz/bK+R3WA62C5rdrpYrbRicLqkkZTDxswlDysPFvHk2Lwp9pfgejHekPO+2cs1t NJOK0jOww+TWzIrtvAyoPpYCUM4KC8FB3GmeBBIrbwcVfUYn5NIANd7auCnPDCD/OrAX 0cpg== X-Forwarded-Encrypted: i=1; AJvYcCVHabMWo3HjyfUkJukWfbq+1CtN04rq7wzKSc4J5gosNhmQn/YJtCP73D46STlmLeIcRq+DuIAB4RUrFdIqpfN++fVt4bV1TbPYiJTj3SPtgS75caQ= X-Gm-Message-State: AOJu0Ywr+QYY/9fuJWw6QBQV+O3xR4uKkYKf5xYEMrI7CxouEyo/uK2f iogjEPz/nI2K5lTBYdJg7RqttCbkE/5yx25Qb1k46qT4jGIureSWrBWauLP77XD4bOrClR2fJQj 2isC5swBiS6DtXfRi5vxiZKvkf/c3Swcyl0vJnPh+PPoNpurTNFOju79m+jdWycTk3/BeXaew X-Received: by 2002:a05:600c:46c7:b0:416:8d61:7c91 with SMTP id q7-20020a05600c46c700b004168d617c91mr2639776wmo.10.1712663501027; Tue, 09 Apr 2024 04:51:41 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHVbTWTzCNi91QmQkIQQO2XSJFyOTMurYu/SOT0UCQwKMIMmwJv9Wiv5ua3/RQfzgX5OxnGjA== X-Received: by 2002:a05:600c:46c7:b0:416:8d61:7c91 with SMTP id q7-20020a05600c46c700b004168d617c91mr2639750wmo.10.1712663500517; Tue, 09 Apr 2024 04:51:40 -0700 (PDT) Received: from ?IPV6:2003:cb:c70a:be00:a285:bc76:307d:4eaa? (p200300cbc70abe00a285bc76307d4eaa.dip0.t-ipconnect.de. [2003:cb:c70a:be00:a285:bc76:307d:4eaa]) by smtp.gmail.com with ESMTPSA id w15-20020a05600c474f00b0041668770f37sm8066896wmo.17.2024.04.09.04.51.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 09 Apr 2024 04:51:39 -0700 (PDT) Message-ID: Date: Tue, 9 Apr 2024 13:51:38 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 0/4] Speed up boot with faster linear map creation From: David Hildenbrand To: Itaru Kitayama , Ryan Roberts Cc: Catalin Marinas , Will Deacon , Mark Rutland , Ard Biesheuvel , Donald Dutile , Eric Chanudet , Linux ARM , "linux-kernel@vger.kernel.org" References: <20240404143308.2224141-1-ryan.roberts@arm.com> <533adb77-8c2b-40db-84cb-88de77ab92bb@arm.com> <1d5abb48-08a8-4d83-a681-6915bc7b6907@arm.com> <268FBD1C-B102-4726-A7F4-1125123BDA7A@linux.dev> <5e4dc2fe-2945-4fc5-a533-c8b2d04668a0@redhat.com> Autocrypt: addr=david@redhat.com; keydata= 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 WNyWQQ== Organization: Red Hat In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240409_045146_448179_76249245 X-CRM114-Status: GOOD ( 26.26 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMDkuMDQuMjQgMTM6MjksIERhdmlkIEhpbGRlbmJyYW5kIHdyb3RlOgo+IE9uIDA5LjA0LjI0 IDEzOjIyLCBEYXZpZCBIaWxkZW5icmFuZCB3cm90ZToKPj4gT24gMDkuMDQuMjQgMTI6MTMsIEl0 YXJ1IEtpdGF5YW1hIHdyb3RlOgo+Pj4KPj4+Cj4+Pj4gT24gQXByIDksIDIwMjQsIGF0IDE5OjA0 LCBSeWFuIFJvYmVydHMgPHJ5YW4ucm9iZXJ0c0Bhcm0uY29tPiB3cm90ZToKPj4+Pgo+Pj4+IE9u IDA5LzA0LzIwMjQgMDE6MTAsIEl0YXJ1IEtpdGF5YW1hIHdyb3RlOgo+Pj4+PiBIaSBSeWFuLAo+ Pj4+Pgo+Pj4+Pj4gT24gQXByIDgsIDIwMjQsIGF0IDE2OjMwLCBSeWFuIFJvYmVydHMgPHJ5YW4u cm9iZXJ0c0Bhcm0uY29tPiB3cm90ZToKPj4+Pj4+Cj4+Pj4+PiBPbiAwNi8wNC8yMDI0IDExOjMx LCBJdGFydSBLaXRheWFtYSB3cm90ZToKPj4+Pj4+PiBIaSBSeWFuLAo+Pj4+Pj4+Cj4+Pj4+Pj4g T24gU2F0LCBBcHIgMDYsIDIwMjQgYXQgMDk6MzI6MzRBTSArMDEwMCwgUnlhbiBSb2JlcnRzIHdy b3RlOgo+Pj4+Pj4+PiBIaSBJdGFydSwKPj4+Pj4+Pj4KPj4+Pj4+Pj4gT24gMDUvMDQvMjAyNCAw ODozOSwgSXRhcnUgS2l0YXlhbWEgd3JvdGU6Cj4+Pj4+Pj4+PiBPbiBUaHUsIEFwciAwNCwgMjAy NCBhdCAwMzozMzowNFBNICswMTAwLCBSeWFuIFJvYmVydHMgd3JvdGU6Cj4+Pj4+Pj4+Pj4gSGkg QWxsLAo+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4gSXQgdHVybnMgb3V0IHRoYXQgY3JlYXRpbmcgdGhl IGxpbmVhciBtYXAgY2FuIHRha2UgYSBzaWduaWZpY2FudCBwcm9wb3J0aW9uIG9mCj4+Pj4+Pj4+ Pj4gdGhlIHRvdGFsIGJvb3QgdGltZSwgZXNwZWNpYWxseSB3aGVuIHJvZGF0YT1mdWxsLiBBbmQg bW9zdCBvZiB0aGUgdGltZSBpcyBzcGVudAo+Pj4+Pj4+Pj4+IHdhaXRpbmcgb24gc3VwZXJmbHVv dXMgdGxiIGludmFsaWRhdGlvbiBhbmQgbWVtb3J5IGJhcnJpZXJzLiBUaGlzIHNlcmllcyByZXdv cmtzCj4+Pj4+Pj4+Pj4gdGhlIGtlcm5lbCBwZ3RhYmxlIGdlbmVyYXRpb24gY29kZSB0byBzaWdu aWZpY2FudGx5IHJlZHVjZSB0aGUgbnVtYmVyIG9mIHRob3NlCj4+Pj4+Pj4+Pj4gVExCSXMsIElT QnMgYW5kIERTQnMuIFNlZSBlYWNoIHBhdGNoIGZvciBkZXRhaWxzLgo+Pj4+Pj4+Pj4+Cj4+Pj4+ Pj4+Pj4gVGhlIGJlbG93IHNob3dzIHRoZSBleGVjdXRpb24gdGltZSBvZiBtYXBfbWVtKCkgYWNy b3NzIGEgY291cGxlIG9mIGRpZmZlcmVudAo+Pj4+Pj4+Pj4+IHN5c3RlbXMgd2l0aCBkaWZmZXJl bnQgUkFNIGNvbmZpZ3VyYXRpb25zLiBXZSBtZWFzdXJlIGFmdGVyIGFwcGx5aW5nIGVhY2ggcGF0 Y2gKPj4+Pj4+Pj4+PiBhbmQgc2hvdyB0aGUgaW1wcm92ZW1lbnQgcmVsYXRpdmUgdG8gYmFzZSAo djYuOS1yYzIpOgo+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgfCBBcHBs ZSBNMiBWTSB8IEFtcGVyZSBBbHRyYXwgQW1wZXJlIEFsdHJhfCBBbXBlcmUgQWx0cmEKPj4+Pj4+ Pj4+PiAgICAgICAgICAgICAgICAgICB8IFZNLCAxNkcgICAgIHwgVk0sIDY0RyAgICAgfCBWTSwg MjU2RyAgICB8IE1ldGFsLCA1MTJHCj4+Pj4+Pj4+Pj4gLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0t LS0tLS18LS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0KPj4+Pj4+Pj4+ PiAgICAgICAgICAgICAgICAgICB8ICAgbXMgICAgKCUpIHwgICBtcyAgICAoJSkgfCAgIG1zICAg ICglKSB8ICAgIG1zICAgICglKQo+Pj4+Pj4+Pj4+IC0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0t LS0tfC0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tCj4+Pj4+Pj4+Pj4g YmFzZSAgICAgICAgICAgfCAgMTUzICAgKDAlKSB8IDIyMjcgICAoMCUpIHwgODc5OCAgICgwJSkg fCAxNzQ0MiAgICgwJSkKPj4+Pj4+Pj4+PiBuby1jb250LXJlbWFwICB8ICAgNzcgKC00OSUpIHwg IDQzMSAoLTgxJSkgfCAxNzI3ICgtODAlKSB8ICAzNzk2ICgtNzglKQo+Pj4+Pj4+Pj4+IGJhdGNo LWJhcnJpZXJzIHwgICAxMyAoLTkyJSkgfCAgMTYyICgtOTMlKSB8ICA2NTUgKC05MyUpIHwgIDE2 NTYgKC05MSUpCj4+Pj4+Pj4+Pj4gbm8tYWxsb2MtcmVtYXAgfCAgIDExICgtOTMlKSB8ICAxMDkg KC05NSUpIHwgIDQ0OSAoLTk1JSkgfCAgMTI1NyAoLTkzJSkKPj4+Pj4+Pj4+PiBsYXp5LXVubWFw ICAgICB8ICAgIDYgKC05NiUpIHwgICA2MSAoLTk3JSkgfCAgMjU3ICgtOTclKSB8ICAgODM4ICgt OTUlKQo+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4gVGhpcyBzZXJpZXMgYXBwbGllcyBvbiB0b3Agb2Yg djYuOS1yYzIuIEFsbCBtbSBzZWxmdGVzdHMgcGFzcy4gSSd2ZSBjb21waWxlIGFuZAo+Pj4+Pj4+ Pj4+IGJvb3QgdGVzdGVkIHZhcmlvdXMgUEFHRV9TSVpFIGFuZCBWQSBzaXplIGNvbmZpZ3MuCj4+ Pj4+Pj4+Pj4KPj4+Pj4+Pj4+PiAtLS0KPj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+IENoYW5nZXMgc2lu Y2UgdjEgWzFdCj4+Pj4+Pj4+Pj4gPT09PT09PT09PT09PT09PT09PT0KPj4+Pj4+Pj4+Pgo+Pj4+ Pj4+Pj4+ICAgICAgLSBBZGRlZCBUZXN0ZWQtYnkgdGFncyAodGhhbmtzIHRvIEVyaWMgYW5kIEl0 YXJ1KQo+Pj4+Pj4+Pj4+ICAgICAgLSBSZW5hbWVkIF9fX3NldF9wdGUoKSAtPiBfX3NldF9wdGVf bm9zeW5jKCkgKHBlciBBcmQpCj4+Pj4+Pj4+Pj4gICAgICAtIFJlb3JkZXJlZCBwYXRjaGVzIChi aWdnZXN0IGltcGFjdCAmIGxlYXN0IGNvbnRyb3ZlcnNpYWwgZmlyc3QpCj4+Pj4+Pj4+Pj4gICAg ICAtIFJlb3JkZXJlZCBhbGxvYy9tYXAvdW5tYXAgZnVuY3Rpb25zIGluIG1tdS5jIHRvIGFpZCBy ZWFkZXIKPj4+Pj4+Pj4+PiAgICAgIC0gcHRlX2NsZWFyKCkgLT4gX19wdGVfY2xlYXIoKSBpbiBj bGVhcl9maXhtYXBfbm9zeW5jKCkKPj4+Pj4+Pj4+PiAgICAgIC0gUmV2ZXJ0ZWQgZ2VuZXJpYyBw NGRfaW5kZXgoKSB3aGljaCBjYXVzZWQgeDg2IGJ1aWxkIGVycm9yLiBSZXBsYWNlZCB3aXRoCj4+ Pj4+Pj4+Pj4gICAgICAgIHVuY29uZGl0aW9uYWwgcDRkX2luZGV4KCkgZGVmaW5lIHVuZGVyIGFy bTY0Lgo+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+PiBbMV0gaHR0cHM6Ly9sb3JlLmtl cm5lbC5vcmcvbGludXgtYXJtLWtlcm5lbC8yMDI0MDMyNjEwMTQ0OC4zNDUzNjI2LTEtcnlhbi5y b2JlcnRzQGFybS5jb20vPGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xpbnV4LWFybS1rZXJuZWwv MjAyNDAzMjYxMDE0NDguMzQ1MzYyNi0xLXJ5YW4ucm9iZXJ0c0Bhcm0uY29tLz4KPj4+Pj4+Pj4+ Pgo+Pj4+Pj4+Pj4+IFRoYW5rcywKPj4+Pj4+Pj4+PiBSeWFuCj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+ Pgo+Pj4+Pj4+Pj4+IFJ5YW4gUm9iZXJ0cyAoNCk6Cj4+Pj4+Pj4+Pj4gICAgICBhcm02NDogbW06 IERvbid0IHJlbWFwIHBndGFibGVzIHBlci1jb250KHB0ZXxwbWQpIGJsb2NrCj4+Pj4+Pj4+Pj4g ICAgICBhcm02NDogbW06IEJhdGNoIGRzYiBhbmQgaXNiIHdoZW4gcG9wdWxhdGluZyBwZ3RhYmxl cwo+Pj4+Pj4+Pj4+ICAgICAgYXJtNjQ6IG1tOiBEb24ndCByZW1hcCBwZ3RhYmxlcyBmb3IgYWxs b2NhdGUgdnMgcG9wdWxhdGUKPj4+Pj4+Pj4+PiAgICAgIGFybTY0OiBtbTogTGF6aWx5IGNsZWFy IHB0ZSB0YWJsZSBtYXBwaW5ncyBmcm9tIGZpeG1hcAo+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4gYXJj aC9hcm02NC9pbmNsdWRlL2FzbS9maXhtYXAuaCAgfCAgIDUgKy0KPj4+Pj4+Pj4+PiBhcmNoL2Fy bTY0L2luY2x1ZGUvYXNtL21tdS5oICAgICB8ICAgOCArCj4+Pj4+Pj4+Pj4gYXJjaC9hcm02NC9p bmNsdWRlL2FzbS9wZ3RhYmxlLmggfCAgMTMgKy0KPj4+Pj4+Pj4+PiBhcmNoL2FybTY0L2tlcm5l bC9jcHVmZWF0dXJlLmMgICB8ICAxMCArLQo+Pj4+Pj4+Pj4+IGFyY2gvYXJtNjQvbW0vZml4bWFw LmMgICAgICAgICAgIHwgIDExICsKPj4+Pj4+Pj4+PiBhcmNoL2FybTY0L21tL21tdS5jICAgICAg ICAgICAgICB8IDM3NyArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCj4+Pj4+Pj4+Pj4g NiBmaWxlcyBjaGFuZ2VkLCAzMTkgaW5zZXJ0aW9ucygrKSwgMTA1IGRlbGV0aW9ucygtKQo+Pj4+ Pj4+Pj4+Cj4+Pj4+Pj4+Pj4gLS0KPj4+Pj4+Pj4+PiAyLjI1LjEKPj4+Pj4+Pj4+Pgo+Pj4+Pj4+ Pj4KPj4+Pj4+Pj4+IEkndmUgYnVpbGQgYW5kIGJvb3QgdGVzdGVkIHRoZSB2MiBvbiBGVlAsIGJh c2UgaXMgdGFrZW4gZnJvbSB5b3VyCj4+Pj4+Pj4+PiBsaW51eC1yciByZXBvLiBSdW5uaW5nIHJ1 bl92bXRlc3RzLnNoIG9uIHYyIGxlZnQgc29tZSBndXAgbG9uZ3Rlcm0gbm90IG9rcywgd291bGQg eW91IHRha2UgYSBsb29rIGF0IGl0PyBUaGUgbW0ga3NlZmx0ZXN0cyB1c2VkIGlzIGZyb20geW91 ciBsaW51eC1yciByZXBvIHRvby4KPj4+Pj4+Pj4KPj4+Pj4+Pj4gVGhhbmtzIGZvciB0YWtpbmcg YSBsb29rIGF0IHRoaXMuCj4+Pj4+Pj4+Cj4+Pj4+Pj4+IEkgY2FuJ3QgcmVwcm9kdWNlIHlvdXIg aXNzdWUgdW5mb3J0dW5hdGVseTsgc3RlcHMgYXMgZm9sbG93cyBvbiBBcHBsZSBNMiBWTToKPj4+ Pj4+Pj4KPj4+Pj4+Pj4gQ29uZmlnOiBhcm02NCBkZWZjb25maWcgKyB0aGUgZm9sbG93aW5nOgo+ Pj4+Pj4+Pgo+Pj4+Pj4+PiAjIFNxdWFzaGZzIGZvciBzbmFwcywgeGZzIGZvciBsYXJnZSBmaWxl IGZvbGlvcy4KPj4+Pj4+Pj4gLi9zY3JpcHRzL2NvbmZpZyAtLWVuYWJsZSBDT05GSUdfU1FVQVNI RlNfTFo0Cj4+Pj4+Pj4+IC4vc2NyaXB0cy9jb25maWcgLS1lbmFibGUgQ09ORklHX1NRVUFTSEZT X0xaTwo+Pj4+Pj4+PiAuL3NjcmlwdHMvY29uZmlnIC0tZW5hYmxlIENPTkZJR19TUVVBU0hGU19Y Wgo+Pj4+Pj4+PiAuL3NjcmlwdHMvY29uZmlnIC0tZW5hYmxlIENPTkZJR19TUVVBU0hGU19aU1RE Cj4+Pj4+Pj4+IC4vc2NyaXB0cy9jb25maWcgLS1lbmFibGUgQ09ORklHX1hGU19GUwo+Pj4+Pj4+ Pgo+Pj4+Pj4+PiAjIEZvciBnZW5lcmFsIG1tIGRlYnVnLgo+Pj4+Pj4+PiAuL3NjcmlwdHMvY29u ZmlnIC0tZW5hYmxlIENPTkZJR19ERUJVR19WTQo+Pj4+Pj4+PiAuL3NjcmlwdHMvY29uZmlnIC0t ZW5hYmxlIENPTkZJR19ERUJVR19WTV9NQVBMRV9UUkVFCj4+Pj4+Pj4+IC4vc2NyaXB0cy9jb25m aWcgLS1lbmFibGUgQ09ORklHX0RFQlVHX1ZNX1JCCj4+Pj4+Pj4+IC4vc2NyaXB0cy9jb25maWcg LS1lbmFibGUgQ09ORklHX0RFQlVHX1ZNX1BHRkxBR1MKPj4+Pj4+Pj4gLi9zY3JpcHRzL2NvbmZp ZyAtLWVuYWJsZSBDT05GSUdfREVCVUdfVk1fUEdUQUJMRQo+Pj4+Pj4+PiAuL3NjcmlwdHMvY29u ZmlnIC0tZW5hYmxlIENPTkZJR19QQUdFX1RBQkxFX0NIRUNLCj4+Pj4+Pj4+Cj4+Pj4+Pj4+ICMg Rm9yIG1tIHNlbGZ0ZXN0cy4KPj4+Pj4+Pj4gLi9zY3JpcHRzL2NvbmZpZyAtLWVuYWJsZSBDT05G SUdfVVNFUkZBVUxURkQKPj4+Pj4+Pj4gLi9zY3JpcHRzL2NvbmZpZyAtLWVuYWJsZSBDT05GSUdf VEVTVF9WTUFMTE9DCj4+Pj4+Pj4+IC4vc2NyaXB0cy9jb25maWcgLS1lbmFibGUgQ09ORklHX0dV UF9URVNUCj4+Pj4+Pj4+Cj4+Pj4+Pj4+IFJ1bm5pbmcgb24gVk0gd2l0aCAxMkcgbWVtb3J5LCBz cGxpdCBhY3Jvc3MgMiAoZW11bGF0ZWQpIE5VTUEgbm9kZXMgKG5lZWRlZCBieQo+Pj4+Pj4+PiBz b21lIG1tIHNlbGZ0ZXN0cyksIHdpdGgga2VybmVsIGNvbW1hbmQgbGluZSB0byByZXNlcnZlIGh1 Z2V0bGJzIGFuZCBvdGhlcgo+Pj4+Pj4+PiBmZWF0dXJlcyByZXF1aXJlZCBieSBzb21lIG1tIHNl bGZ0ZXN0czoKPj4+Pj4+Pj4KPj4+Pj4+Pj4gIgo+Pj4+Pj4+PiB0cmFuc3BhcmVudF9odWdlcGFn ZT1tYWR2aXNlIGVhcmx5Y29uIHJvb3Q9L2Rldi92ZGEyIHNlY3JldG1lbS5lbmFibGUKPj4+Pj4+ Pj4gaHVnZXBhZ2Vzej0xRyBodWdlcGFnZXM9MDoyLDE6MiBodWdlcGFnZXN6PTMyTSBodWdlcGFn ZXM9MDoyLDE6Mgo+Pj4+Pj4+PiBkZWZhdWx0X2h1Z2VwYWdlc3o9Mk0gaHVnZXBhZ2VzPTA6NjQs MTo2NCBodWdlcGFnZXN6PTY0SyBodWdlcGFnZXM9MDoyLDE6Mgo+Pj4+Pj4+PiAiCj4+Pj4+Pj4+ Cj4+Pj4+Pj4+IFVidW50dSB1c2Vyc3BhY2UgcnVubmluZyBvZmYgWEZTIHJvb3Rmcy4gQnVpbGQg YW5kIHJ1biBtbSBzZWxmdGVzdHMgZnJvbSBzYW1lCj4+Pj4+Pj4+IGdpdCB0cmVlLgo+Pj4+Pj4+ Pgo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBBbHRob3VnaCBJIGRvbid0IHRoaW5rIGFueSBvZiB0aGlzIGNv bmZpZyBzaG91bGQgbWFrZSBhIGRpZmZlcmVuY2UgdG8gZ3VwX2xvbmd0ZXJtLgo+Pj4+Pj4+Pgo+ Pj4+Pj4+PiBMb29rcyBsaWtlIHlvdXIgZXJyb3JzIGFyZSBhbGwgImZ0cnVuY2F0ZSgpIGZhaWxl ZCIuIEkndmUgc2VlbiB0aGlzIHByb2JsZW0gb24KPj4+Pj4+Pj4gb3VyIENJIHN5c3RlbS4gVGhl cmUgaXQgaXMgZHVlIHRvIHJ1bm5pbmcgdGhlIHRlc3RzIGZyb20gTkZTIGZpbGUgc3lzdGVtLiBX aGF0Cj4+Pj4+Pj4+IGZpbGVzeXN0ZW0gYXJlIHlvdSB1c2luZz8gUGVyaGFwcyB5b3UgYXJlIHNo YXJpbmcgaW50byB0aGUgRlZQIHVzaW5nIDlwPyBUaGF0Cj4+Pj4+Pj4+IG1pZ2h0IGFsc28gYmUg cHJvYmxlbWF0aWMuCj4+Pj4+Pj4KPj4+Pj4+PiBUaGF0IHdhcyBpdC4gVGhpcyB0aW1lIEkgYm9v dGVkIHVwIHRoZSBrZXJuZWwgaW5jbHVkaW5nIHlvdXIgc2VyaWVzIG9uCj4+Pj4+Pj4gUUVNVSBv biBteSBNMSBhbmQgZXhlY3V0ZWQgdGhlIGd1cF9sb25ndGVybSBwcm9ncmFtIHdpdGhvdXQgdGhl IGZ0cnVuY2F0ZQo+Pj4+Pj4+IGZhaWx1cmVzLiBXaGVuIHRlc3RpbmcgeW91ciBrZXJuZWwgb24g RlZQLCBJIHdhcyBleGVjdXRpbmcgdGhlIHNjcmlwdCBmcm9tIHRoZSBGVlAncyBob3N0IGZpbGVz eXN0ZW0gdXNpbmcgOXAuCj4+Pj4+Pgo+Pj4+Pj4gSSdtIG5vdCBzdXJlIGV4YWN0bHkgd2hhdCB0 aGUgcm9vdCBjYXVzZSBpcy4gUGVyaGFwcyB0aGVyZSBpc24ndCBlbm91Z2ggc3BhY2Ugb24KPj4+ Pj4+IHRoZSBkaXNrPyBJdCBtaWdodCBiZSB3b3J0aCBlbmhhbmNpbmcgdGhlIGVycm9yIGxvZyB0 byBwcm92aWRlIHRoZSBlcnJubyBpbgo+Pj4+Pj4gdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbW0v Z3VwX2xvbmd0ZXJtLmMuCj4+Pj4+Pgo+Pj4+Pgo+Pj4+PiBBdHRhY2hlZCBpcyB0aGUgc3RyYWNl 4oCZZCBndXBfbG9uZ3Rlcm0gZXhlY3V0aW9uZyBsb2cgb24geW91cgo+Pj4+PiBwZ3RhYmxlLWJv b3Qtc3BlZWR1cC12MiBrZXJuZWwuCj4+Pj4KPj4+PiBTb3JyeSBhcmUgeW91IHNheWluZyB0aGF0 IGl0IG9ubHkgZmFpbHMgd2l0aCB0aGUgcGd0YWJsZS1ib290LXNwZWVkdXAtdjIgcGF0Y2gKPj4+ PiBzZXQgYXBwbGllZD8gSSB0aG91Z2h0IHdlIHByZXZpb3VzbHkgY29uY2x1ZGVkIHRoYXQgaXQg d2FzIGluZGVwZW5kZW50IG9mIHRoYXQ/Cj4+Pj4gSSB3YXMgdW5kZXIgdGhlIGltcHJlc3Npb24g dGhhdCBpdCB3YXMgZmlsZXN5c3RlbSByZWxhdGVkIGFuZCBub3Qgc29tZXRoaW5nIHRoYXQKPj4+ PiBJIHdhcyBwbGFubmluZyB0byBpbnZlc3RpZ2F0ZS4KPj4+Cj4+PiBObywgaXJyZXNwZWN0aXZl IG9mIHRoZSBrZXJuZWwsIGlmIHVzaW5nIDlwIG9uIEZWUCB0aGUgdGVzdCBwcm9ncmFtIGZhaWxz Lgo+Pj4gSXQgaXMgaW5kZWVkIDlwIGZpbGVzeXN0ZW0gcmVsYXRlZCwgYXMgSSBzd2l0Y2hlZCB0 byB1c2luZyBORlMgYWxsIHRoZSBpc3N1ZXMgYXJlIGdvbmUuCj4+Cj4+IERpZCBpdCBuZXZlciB3 b3JrIG9uIDlwPyBJZiBzbywgd2UgbWlnaHQgaGF2ZSB0byBTS0lQIHRoYXQgdGVzdC4KPj4KPj4g b3BlbmF0KEFUX0ZEQ1dELCAiZ3VwX2xvbmd0ZXJtLmNfdG1wZmlsZV9CTGJvT3QiLCBPX1JEV1J8 T19DUkVBVHxPX0VYQ0wsIDA2MDApID0gMwo+PiB1bmxpbmthdChBVF9GRENXRCwgImd1cF9sb25n dGVybS5jX3RtcGZpbGVfQkxib090IiwgMCkgPSAwCj4+IGZzdGF0ZnMoMywgMHhmZmZmZTUwNWE4 NDApICAgICAgICAgICAgICA9IC0xIEVPUE5PVFNVUFAgKE9wZXJhdGlvbiBub3Qgc3VwcG9ydGVk KQo+PiBmdHJ1bmNhdGUoMywgNDA5NikgICAgICAgICAgICAgICAgICAgICAgPSAtMSBFTk9FTlQg KE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkpCj4gCj4gTm90ZTogSSdtIHdvbmRlcmluZyBpZiB0 aGUgdW5saW5rYXQgaGVyZSBpcyB0aGUgcHJvYmxlbSB0aGF0IG1ha2VzCj4gZnRydW5jYXRlKCkg d2l0aCA5cCByZXN1bHQgaW4gd2VpcmQgZXJyb3JzIChlLmcuLCB0aGUgaHlwZXJ2aXNvcgo+IHVu bGlua2VkIHRoZSBmaWxlIGFuZCBjYW5ub3QgcmVvcGVuIGl0IGZvciB0aGUgZnN0YXRmcy9mdHJ1 bmNhdGUuIC4uLgo+IHdoaWNoIGdpdmVzIHVzIHdlaXJkIGVycm9ycyBoZXJlKS4KPiAKPiBUaGVu LCB3ZSBzaG91bGQgbG9va3VwIHRoZSBmcyB0eXBlIGluIHJ1bl93aXRoX2xvY2FsX3RtcGZpbGUo KSBiZWZvcmUKPiB0aGUgdW5saW5rKCkgYW5kIHNpbXBseSBza2lwIHRoZSB0ZXN0IGlmIGl0IGlz IDlwLgoKVGhlIHVubGluayB3aXRoIDlwIG1vc3QgY2VydGFpbmx5IHdhcyBhIGtub3duIGlzc3Vl IGluIHRoZSBwYXN0OgoKaHR0cHM6Ly9naXRsYWIuY29tL3FlbXUtcHJvamVjdC9xZW11Ly0vaXNz dWVzLzEwMwoKTWF5YmUgaXQncyBzdGlsbCBhbiBpc3N1ZSB3aXRoIG9sZGVyIGh5cGVydmlzb3Jz IChRRU1VPyk/IE9yIGl0IHdhcyAKbmV2ZXIgY29tcGxldGVseSByZXNvbHZlZD8KCkFjY29yZGlu ZyB0byBodHRwczovL2J1Z3MubGF1bmNocGFkLm5ldC9xZW11LytidWcvMTMzNjc5NCwgUUVNVSB2 NS4yLjAgCnNob3VsZCBjb250YWluIGEgZml4IHRoYXQgaXMgc3VwcG9zZWQgdG8gd29yayB3aXRo IG5ldmVyIGtlcm5lbHMuCgotLSAKQ2hlZXJzLAoKRGF2aWQgLyBkaGlsZGVuYgoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwg bWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8v bGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK