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 3A85CCD1297 for ; Tue, 9 Apr 2024 07:59:58 +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:Date: Message-ID:From:References:CC:To:Subject:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=pmyrZ4ZEO50tcvuNNe4dFBJ0JE8s+kBDnIx2R2dvL2o=; b=Gx1cltjTvcpLDz2bq4g+94152d GIwQCZPLp0cuaRFRyCMpZHfmrkO0ElPFnFoVFw++9bDhnRSpPI2zZIm8KBhKr04bWM51yBwJPc3Ml OFEGXyItYeQlnxYTpIA/eD9yLdNk3ilSqUTmdMToKGVBYbaiOCUgsgzyoWNLeYm23Q0Kwd2S2/OpJ uu1oIbSsSm342qs4WITm7Mugs9pJbpqt3TnUv+WYMW/k0yrGV1LYidsfLx7gjzXVPx6orlKymCqtx gDsoh0ar9TqjM9NF0nkjdiCCWm94KnkDLCf3OzWXf06ms0dmOwc1lU67uCT8YBup5OH3/1CGLzslI Ml+EEUxw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1ru6OO-00000000qfU-0AnG; Tue, 09 Apr 2024 07:59:44 +0000 Received: from szxga04-in.huawei.com ([45.249.212.190]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1ru6OI-00000000qdq-2Olm; Tue, 09 Apr 2024 07:59:41 +0000 Received: from mail.maildlp.com (unknown [172.19.88.214]) by szxga04-in.huawei.com (SkyGuard) with ESMTP id 4VDJG2641gz1ym5t; Tue, 9 Apr 2024 15:57:14 +0800 (CST) Received: from dggpemm500005.china.huawei.com (unknown [7.185.36.74]) by mail.maildlp.com (Postfix) with ESMTPS id 5163F1A016C; Tue, 9 Apr 2024 15:59:29 +0800 (CST) Received: from [10.69.30.204] (10.69.30.204) by dggpemm500005.china.huawei.com (7.185.36.74) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Tue, 9 Apr 2024 15:59:29 +0800 Subject: Re: [PATCH net-next v1 00/12] First try to replace page_frag with page_frag_cache To: Alexander Duyck CC: , , , , , Matthias Brugger , AngeloGioacchino Del Regno , Alexei Starovoitov , Daniel Borkmann , Jesper Dangaard Brouer , John Fastabend , , , References: <20240407130850.19625-1-linyunsheng@huawei.com> <05c21500-033b-dfee-6aa7-1ee967616213@huawei.com> From: Yunsheng Lin Message-ID: Date: Tue, 9 Apr 2024 15:59:28 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-Originating-IP: [10.69.30.204] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To dggpemm500005.china.huawei.com (7.185.36.74) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240409_005939_043555_F79C97BF X-CRM114-Status: GOOD ( 68.32 ) 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-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMjAyNC80LzggMjM6MDksIEFsZXhhbmRlciBEdXljayB3cm90ZToKPiBPbiBNb24sIEFwciA4 LCAyMDI0IGF0IDY6MzjigK9BTSBZdW5zaGVuZyBMaW4gPGxpbnl1bnNoZW5nQGh1YXdlaS5jb20+ IHdyb3RlOgo+Pgo+PiBPbiAyMDI0LzQvOCAxOjAyLCBBbGV4YW5kZXIgRHV5Y2sgd3JvdGU6Cj4+ PiBPbiBTdW4sIEFwciA3LCAyMDI0IGF0IDY6MTDigK9BTSBZdW5zaGVuZyBMaW4gPGxpbnl1bnNo ZW5nQGh1YXdlaS5jb20+IHdyb3RlOgo+Pj4+Cj4+Pj4gQWZ0ZXIgWzFdLCBPbmx5IHRoZXJlIGFy ZSB0d28gaW1wbGVtZW50YXRpb25zIGZvciBwYWdlIGZyYWc6Cj4+Pj4KPj4+PiAxLiBtbS9wYWdl X2FsbG9jLmM6IG5ldCBzdGFjayBzZWVtcyB0byBiZSB1c2luZyBpdCBpbiB0aGUKPj4+PiAgICBy eCBwYXJ0IHdpdGggJ3N0cnVjdCBwYWdlX2ZyYWdfY2FjaGUnIGFuZCB0aGUgbWFpbiBBUEkKPj4+ PiAgICBiZWluZyBwYWdlX2ZyYWdfYWxsb2NfYWxpZ24oKS4KPj4+PiAyLiBuZXQvY29yZS9zb2Nr LmM6IG5ldCBzdGFjayBzZWVtcyB0byBiZSB1c2luZyBpdCBpbiB0aGUKPj4+PiAgICB0eCBwYXJ0 IHdpdGggJ3N0cnVjdCBwYWdlX2ZyYWcnIGFuZCB0aGUgbWFpbiBBUEkgYmVpbmcKPj4+PiAgICBz a2JfcGFnZV9mcmFnX3JlZmlsbCgpLgo+Pj4+Cj4+Pj4gVGhpcyBwYXRjaHNldCB0cmllcyB0byB1 bmZpeSB0aGUgcGFnZSBmcmFnIGltcGxlbWVudGF0aW9uCj4+Pj4gYnkgcmVwbGFjaW5nIHBhZ2Vf ZnJhZyB3aXRoIHBhZ2VfZnJhZ19jYWNoZSBmb3Igc2tfcGFnZV9mcmFnKCkKPj4+PiBmaXJzdC4g bmV0X2hpZ2hfb3JkZXJfYWxsb2NfZGlzYWJsZV9rZXkgZm9yIHRoZSBpbXBsZW1lbnRhdGlvbgo+ Pj4+IGluIG5ldC9jb3JlL3NvY2suYyBkb2Vzbid0IHNlZW1zIG1hdHRlciB0aGF0IG11Y2ggbm93 IGhhdmUKPj4+PiBoYXZlIHBjcCBzdXBwb3J0IGZvciBoaWdoLW9yZGVyIHBhZ2VzIGluIGNvbW1p dCA0NDA0MmI0NDk4NzIKPj4+PiAoIm1tL3BhZ2VfYWxsb2M6IGFsbG93IGhpZ2gtb3JkZXIgcGFn ZXMgdG8gYmUgc3RvcmVkIG9uIHRoZQo+Pj4+IHBlci1jcHUgbGlzdHMiKS4KPj4+Pgo+Pj4+IEFz IHRoZSByZWxhdGVkIGNoYW5nZSBpcyBtb3N0bHkgcmVsYXRlZCB0byBuZXR3b3JraW5nLCBzbwo+ Pj4+IHRhcmdldGluZyB0aGUgbmV0LW5leHQuIEFuZCB3aWxsIHRyeSB0byByZXBsYWNlIHRoZSBy ZXN0Cj4+Pj4gb2YgcGFnZV9mcmFnIGluIHRoZSBmb2xsb3cgcGF0Y2hzZXQuCj4+Pj4KPj4+PiBB ZnRlciB0aGlzIHBhdGNoc2V0LCB3ZSBhcmUgbm90IG9ubHkgYWJsZSB0byB1bmlmeSB0aGUgcGFn ZQo+Pj4+IGZyYWcgaW1wbGVtZW50YXRpb24gYSBsaXR0bGUsIGJ1dCBzZWVtcyBhYmxlIHRvIGhh dmUgYWJvdXQKPj4+PiAwLjUrJSBwZXJmb3JtYW5jZSBib29zdCB0ZXN0aW5nIGJ5IHVzaW5nIHRo ZSB2aG9zdF9uZXRfdGVzdAo+Pj4+IGludHJvZHVjZWQgaW4gWzFdIGFuZCBwYWdlX2ZyYWdfdGVz dC5rbyBpbnRyb2R1Y2VkIGluIHRoaXMKPj4+PiBwYXRjaC4KPj4+Cj4+PiBPbmUgcXVlc3Rpb24g dGhhdCBqdW1wcyBvdXQgYXQgbWUgZm9yIHRoaXMgaXMgIndoeT8iLiBObyBvZmZlbnNlIGJ1dAo+ Pj4gdGhpcyBpcyBhIHByZXR0eSBtYXNzaXZlIHNldCBvZiBjaGFuZ2VzIHdpdGggb3ZlciAxNDAw IGFkZGl0aW9ucyBhbmQKPj4+IDUwMCsgZGVsZXRpb25zIGFuZCBJIGNhbid0IGhlbHAgYnV0IGFz ayB3aHksIGFuZCB0aGlzIGNvdmVyIHBhZ2UKPj4+IGRvZXNuJ3QgZ2l2ZSBtZSBhbnkgZ29vZCBy ZWFzb24gdG8gdGhpbmsgYWJvdXQgYWNjZXB0aW5nIHRoaXMgc2V0Lgo+Pgo+PiBUaGVyZSBhcmUg Mzc1ICsgMjU2IGFkZGl0aW9ucyBmb3IgdGVzdGluZyBtb2R1bGUgYW5kIHRoZSBkb2N1bWVudGF0 aW9uCj4+IHVwZGF0ZSBpbiB0aGUgbGFzdCB0d28gcGF0Y2hlcywgYW5kIHRoZXJlIGlzIDE5OCBh ZGRpdGlvbnMgYW5kIDE3Ngo+PiBkZWxldGlvbnMgZm9yIG1vdmluZyB0aGUgcGFnZSBmcmFnbWVu dCBhbGxvY2F0b3IgZnJvbSBwYWdlX2FsbG9jIGludG8KPj4gaXRzIG93biBmaWxlIGluIHBhdGNo IDEuCj4+IFdpdGhvdXQgYWJvdmUgbnVtYmVyLCB0aGVyZSBhcmUgYWJvdmUgNjAwKyBhZGRpdGlv bnMgYW5kIDMwMCsgZGVsZXRpb25zLAo+PiBkZW9zIHRoYXQgc2VlbXMgcmVhc29uYWJsZSBjb25z aWRlcmluZyAxNDArIGFkZGl0aW9ucyBhcmUgbmVlZGVkIHRvIGZvcgo+PiB0aGUgbmV3IEFQSSwg MzAwKyBhZGRpdGlvbnMgYW5kIGRlbGV0aW9ucyBmb3IgdXBkYXRpbmcgdGhlIHVzZXJzIHRvIHVz ZQo+PiB0aGUgbmV3IEFQSSBhcyB0aGVyZSBhcmUgbWFueSB1c2VycyB1c2luZyB0aGUgb2xkIEFQ ST8KPiAKPiBNYXliZSBpdCB3b3VsZCBtYWtlIG1vcmUgc2Vuc2UgdG8gYnJlYWsgdGhpcyBpbnRv IDIgc2V0cy4gVGhlIGZpcnN0Cj4gb25lIGFkZGluZyB5b3VyIHRlc3RpbmcsIGFuZCB0aGUgc2Vj b25kIG9uZSBjb25zb2xpZGF0aW5nIHRoZSBBUEkuCj4gV2l0aCB0aGF0IHdlIHdvdWxkIGhhdmUg YSBjbGVhcmx5IGRlZmluZWQgdGVzdCBpbmZyYXN0cnVjdHVyZSBpbiBwbGFjZQo+IGZvciB0aGUg c2Vjb25kIHNldCB3aGljaCBpcyBtYWtpbmcgc2lnbmlmaWNhbnQgY2hhbmdlcyB0byB0aGUgQVBJ LiBJbgo+IGFkZGl0aW9uIGl0IHdvdWxkIHByb3ZpZGUgdGhlIG9wcG9ydHVuaXR5IGZvciBvdGhl cnMgdG8gcG9pbnQgb3V0IGFueQo+IG90aGVyIHRlc3QgdGhhdCB0aGV5IG1pZ2h0IHdhbnQgcHVs bGVkIGluIHNpbmNlIHRoaXMgaXMgbGlrZWx5IHRvIGhhdmUKPiBpbXBhY3Qgb3V0c2lkZSBvZiBq dXN0IHRoZSB0ZXN0cyB5b3UgaGF2ZSBwcm9wb3NlZC4KCkRvIHlvdSBoYXZlIHNvbWVvbmUgbWln aHQgd2FudCBwdWxsZWQgaW4gc29tZSB0ZXN0IGluIG1pbmQsIGlmIHllcywgdGhlbgppdCBtaWdo dCBtYWtlIHNlbnNlIHRvIHdvcmsgdG9nZXRoZXIgdG8gbWluaW1pc2Ugc29tZSBwb3NzaWJsZSBk dXBsaWNhdGVkCndvcmsuIElmIG5vLCBpdCBkb2VzIG5vdCBtYWtlIG11Y2ggc2Vuc2UgdG8gYnJl YWsgdGhpcyBpbnRvIDIgc2V0cyBqdXN0IHRvCmludHJvZHVjZSBhIHRlc3RpbmcgaW4gdGhlIGZp cnN0IHNldC4KCklmIGl0IGhlbHBzIHlvdSBvciBzb21lb25lIHRvIGRvIHRoZSBjb21wYXJpbmcg dGVzdCBiZWZvcmUgYW5kIGFmdGVyIHBhdGNoc2V0CmVhc2llciwgSSB3b3VsZCByZW9yZGVyIHRo ZSBwYXRjaCBhZGRpbmcgdGhlIG1pY3JvLWJlbmNobWFyayBrbyB0byB0aGUgZmlyc3QKcGF0Y2gu Cgo+IAo+Pj4gV2hhdCBpcyBtZWFudCB0byBiZSB0aGUgYmVuZWZpdCB0byB0aGUgY29tbXVuaXR5 IGZvciBhZGRpbmcgdGhpcz8gQWxsCj4+PiBJIGFtIHNlZWluZyBpcyBhIHRvbiBvZiBleHRyYSBj b2RlIHRvIGhhdmUgdG8gcmV2aWV3IGFzIHRoaXMKPj4+IHVuaWZpY2F0aW9uIGlzIGFkZGluZyBh biBhZGRpdGlvbmFsIDEwMDArIGxpbmVzIHdpdGhvdXQgYSBnb29kCj4+PiBleHBsYW5hdGlvbiBh cyB0byB3aHkgdGhleSBhcmUgbmVlZGVkLgo+Pgo+PiBTb21lIGJlbmVmaXRzIEkgc2VlIGZvciBu b3c6Cj4+IDEuIEltcHJvdmUgdGhlIG1haW50YWluYWJpbGl0eSBvZiBwYWdlIGZyYWcncyBpbXBs ZW1lbnRhdGlvbjoKPj4gICAgKDEpIGZ1dHVyZSBidWdmaXggYW5kIHBlcmZvcm1hbmNlIGNhbiBi ZSBkb25lIGluIG9uZSBwbGFjZS4KPj4gICAgICAgIEZvciBleGFtcGxlLCB3ZSBtYXkgYWJsZSB0 byBzYXZlIHNvbWUgc3BhY2UgZm9yIHRoZQo+PiAgICAgICAgJ3BhZ2VfZnJhZ19jYWNoZScgQVBJ IHVzZXIsIGFuZCBhdm9pZCAnZ2V0X3BhZ2UoKScgZm9yCj4+ICAgICAgICB0aGUgb2xkICdwYWdl X2ZyYWcnIEFQSSB1c2VyLgo+IAo+IFRoZSBwcm9ibGVtIGFzIEkgc2VlIGl0IGlzIGl0IGlzIGNv bnNvbGlkYXRpbmcgYWxsIHRoZSBjb25zdW1lcnMgZG93bgo+IHRvIHRoZSBsZWFzdCBjb21tb24g ZGVub21pbmF0b3IgaW4gdGVybXMgb2YgcGVyZm9ybWFuY2UuIFlvdSBoYXZlCj4gYWxyZWFkeSBk ZW1vbnN0cmF0ZWQgdGhhdCB3aXRoIHBhdGNoIDIgd2hpY2ggZW5mb3JjZXMgdGhhdCBhbGwgZHJp dmVycwo+IGhhdmUgdG8gd29yayBmcm9tIHRoZSBib3R0b20gdXAgaW5zdGVhZCBvZiBiZWluZyBh YmxlIHRvIHdvcmsgdG9wIGRvd24KPiBpbiB0aGUgcGFnZS4KCkkgYW0gYWdyZWVkIHRoYXQgY29u c29saWRhdGluZyAndGhlIGxlYXN0IGNvbW1vbiBkZW5vbWluYXRvcicgaXMgd2hhdCB3ZQpkbyB3 aGVuIHdlIGRlc2lnbiBhIHN1YnN5c3RlbS9saWJhcnkgYW5kIHNvbWV0aW1lcyB3ZSBtYXkgbmVl ZCB0byBoYXZlIGEKdHJhZGUgb2ZmIGJldHdlZW4gbWFpbnRhaW5hYmlsaXR5IGFuZCBwZXJmcm9t YW5jZS4KCkJ1dCB5b3VyIGFyZ3VtZW50ICdoYXZpbmcgdG8gbG9hZCB0d28gcmVnaXN0ZXJzIHdp dGggdGhlIHZhbHVlcyBhbmQgdGhlbgpjb21wYXJlIHRoZW0gd2hpY2ggc2F2ZXMgdXMgYSBmZXcg Y3ljbGVzJyBpbiBbMV0gZG9lcyBub3Qgc2VlbXMgdG8ganVzdGlmeQp0aGF0IHdlIG5lZWQgdG8g aGF2ZSBpdCdzIG93biBpbXBsZW1lbnRhdGlvbiBvZiBwYWdlX2ZyYWcsIG5vdCB0byBtZW50aW9u CnRoZSAnd29yayB0b3AgZG93bicgd2F5IGhhcyBpdHMgb3duIGRpc2FkdmFudGFnZXMgYXMgbWVu dGlvbmVkIGluIHBhdGNoIDIuCgpBbHNvLCBpbiBwYXRjaCA1ICYgNiwgd2UgbmVlZCB0byBsb2Fk ICdzaXplJyB0byBhIHJlZ2lzdGVyIGFueXdheSBzbyB0aGF0IHdlCmNhbiByZW1vdmUgJ3BhZ2Vj bnRfYmlhcycgYW5kICdwZm1lbWFsbG9jJyBmcm9tICdzdHJ1Y3QgcGFnZV9mcmFnX2NhY2hlJywg aXQKd291bGQgYmUgYmV0dGVyIHlvdSBjYW4gd29yayB0aHJvdWdoIHRoZSB3aG9sZSBwYXRjaHNl dCB0byBnZXQgYSBiaWdnZXIgcGljdHVyZS4KCjEuIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2Fs bC9mNGFiZTcxYjM0MzliMzlkMTdhNmZiMmQ0MTAxODBmMzY3Y2FkZjVjLmNhbWVsQGdtYWlsLmNv bS8KCj4gCj4gVGhpcyBldmVudHVhbGx5IGxlYWRzIHlvdSBkb3duIHRoZSBwYXRoIHdoZXJlIGV2 ZXJ5IHRpbWUgc29tZWJvZHkgaGFzCj4gYSB1c2UgY2FzZSBmb3IgaXQgdGhhdCBtYXkgbm90IGJl IG9wdGltYWwgZm9yIG90aGVycyBpdCBpcyBnb2luZyB0byBiZQo+IGEgZmlnaHQgdG8gc2VlIGlm IHRoZSBuZXcgdXNlIGNhc2UgY2FuIGRlZ3JhZGUgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZQo+IG90 aGVyIHVzZSBjYXNlcy4KCkkgdGhpbmsgaXQgaXMgYWx3YXlzIGJldHRlciB0byBoYXZlIGEgZGlz c2N1c2lvbltvciAnZmlnaHQnXSBhYm91dCBob3cgdG8Kc3VwcG9ydCBhIG5ldyB1c2UgY2FzZToK MS4gcmVmb2N0b3IgdGhlIGV4aXN0aW5nIGltcGxlbWVudGF0aW9uIHRvIHN1cHBvcnQgdGhlIG5l dyB1c2UgY2FzZSwgYW5kCiAgIGludHJvZHVjZSBhIG5ldyBBUEkgZm9yIGl0IGlmIGhhdmUgdG8u CjIuIGlmIHRoZSBhYm92ZSBkb2VzIG5vdCB3b3JrLCBhbmQgdGhlIHVzZSBjYXNlIGlzIGltcG9y dGFudCBlbm91Z2ggdGhhdAogICB3ZSBtaWdodCBjcmVhdGUvZGVzaWduIGEgc3Vic3lzdGVtL2xp YmFyeSBmb3IgaXQuCgpCdXQgZnJvbSB1cGRhdGluZyBwYWdlX2ZyYWcgQVBJLCBJIGRvIG5vdCBz ZWUgdGhhdCB3ZSBuZWVkIHRoZSBzZWNvbmQKb3B0aW9uIHlldC4KCj4gCj4+ICAgICgyKSBQcm92 aWRlIGEgcHJvcGVyIEFQSSBzbyB0aGF0IGNhbGxlciBkb2VzIG5vdCBuZWVkIHRvIGFjY2Vzcwo+ PiAgICAgICAgaW50ZXJuYWwgZGF0YSBmaWVsZC4gRXhwb3NpbmcgdGhlIGludGVybmFsIGRhdGEg ZmllbGQgbWF5Cj4+ICAgICAgICBlbmFibGUgdGhlIGNhbGxlciB0byBkbyBzb21lIHVuZXhwY3Rl ZCBpbXBsZW1lbnRhdGlvbiBvZgo+PiAgICAgICAgaXRzIG93biBsaWtlIGJlbG93LCBhZnRlciB0 aGlzIHBhdGNoc2V0IHRoZSBBUEkgdXNlciBpcyBub3QKPj4gICAgICAgIHN1cHBvc2VkIHRvIGRv IGFjY2VzcyB0aGUgZGF0YSBmaWVsZCBvZiAncGFnZV9mcmFnX2NhY2hlJwo+PiAgICAgICAgZGly ZWN0bHlbQ3VycmVudGx5IGl0IGlzIHN0aWxsIGFjZXNzYWJsZSBmcm9tIEFQSSBjYWxsZXIgaWYK Pj4gICAgICAgIHRoZSBjYWxsZXIgaXMgbm90IGZvbGxvd2luZyB0aGUgcnVsZSwgSSBhbSBub3Qg c3VyZSBob3cgdG8KPj4gICAgICAgIGxpbWl0IHRoZSBhY2Nlc3Mgd2l0aG91dCBhbnkgcGVyZm9y bWFuY2UgaW1wYWN0IHlldF0uCj4+IGh0dHBzOi8vZWxpeGlyLmJvb3RsaW4uY29tL2xpbnV4L3Y2 LjktcmMzL3NvdXJjZS9kcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2lubGluZV9jcnlwdG8v Y2h0bHMvY2h0bHNfaW8uYyNMMTE0MQo+IAo+IFRoaXMganVzdCBtYWtlcyB0aGUgaXNzdWUgSSBw b2ludCBvdXQgaW4gMSBldmVuIHdvcnNlLiBUaGUgcHJvYmxlbSBpcwo+IHRoaXMgY29kZSBoYXMg dG8gYmUgdXNlZCBhdCB0aGUgdmVyeSBsb3dlc3Qgb2YgbGV2ZWxzIGFuZCBpcyBhcwo+IHRpZ2h0 bHkgb3B0aW1pemVkIGFzIGl0IGlzIHNpbmNlIGl0IGlzIGNhbGxlZCBhdCBsZWFzdCBvbmNlIHBl ciBwYWNrZXQKPiBpbiB0aGUgY2FzZSBvZiBuZXR3b3JraW5nLiBOZXR3b3JraW5nIHRoYXQgaXMg c3RpbGwgZ2V0dGluZyBmYXN0ZXIKPiBtaW5kIHlvdSBhbmQgZGVtYW5kaW5nIGV2ZW4gZmV3ZXIg Y3ljbGVzIHBlciBwYWNrZXQgdG8gdHJ5IGFuZCBrZWVwCj4gdXAuIEkganVzdCBzZWUgdGhpcyBj aGFuZ2UgYXMgdGFraW5nIHVzIGluIHRoZSB3cm9uZyBkaXJlY3Rpb24uCgpZZXMsIEkgYW0gYWdy ZWVkIHdpdGggeW91ciBwb2ludCBhYm91dCAnZGVtYW5kaW5nIGV2ZW4gZmV3ZXIgY3ljbGVzIHBl cgpwYWNrZXQnLCBidXQgbm90IHNvIHdpdGggJ3RpZ2h0bHkgb3B0aW1pemVkJy4KCid0aWdodGx5 IG9wdGltaXplZCcgbWF5IG1lYW4gZXZlcnlib2R5IGludmVudGluZyB0aGVpciBvd24gd2hlZWxz LgoKPiAKPj4gMi4gcGFnZV9mcmFnIEFQSSBtYXkgcHJvdmlkZSBhIGNlbnRyYWwgcG9pbnQgZm9y IG5ldHdyb2tpbmcgdG8gYWxsb2NhdGUKPj4gICAgbWVtb3J5IGluc3RlYWQgb2YgY2FsbGluZyBw YWdlIGFsbG9jYXRvciBkaXJlY3RseSBpbiB0aGUgZnV0dXJlLCBzbwo+PiAgICB0aGF0IHdlIGNh biBkZWNvdXBsZSAnc3RydWN0IHBhZ2UnIGZyb20gbmV0d29ya2luZy4KPiAKPiBJIGhvcGUgbm90 LiBUaGUgZmFjdCBpcyB0aGUgcGFnZSBhbGxvY2F0b3Igc2VydmVzIGEgdmVyeSBzcGVjaWZpYwo+ IHB1cnBvc2UsIGFuZCB0aGUgcGFnZSBmcmFnIEFQSSB3YXMgbWVhbnQgdG8gc2VydmUgYSBkaWZm ZXJlbnQgb25lIGFuZAo+IG5vdCBiZSBhIHJlcGxhY2VtZW50IGZvciBpdC4gT25lIHRoaW5nIHRo YXQgaGFzIHJlYWxseSBpcmtlZCBtZSBpcyB0aGUKPiBmYWN0IHRoYXQgSSBoYXZlIHNlZW4gaXQg YWJ1c2VkIGFzIG11Y2ggYXMgaXQgaGFzIGJlZW4gd2hlcmUgcGVvcGxlCj4gc2VlbSB0byB0aGlu ayBpdCBpcyBqdXN0IGEgcGFnZSBhbGxvY2F0b3Igd2hlbiBpdCB3YXMgcmVhbGx5IG1lYW50IHRv Cj4ganVzdCBwcm92aWRlIGEgd2F5IHRvIHNoYXJkIG9yZGVyIDAgcGFnZXMgaW50byBzaXplcyB0 aGF0IGFyZSBoYWxmIGEKPiBwYWdlIG9yIGxlc3MgaW4gc2l6ZS4gSSByZWFsbHkgbWVhbnQgZm9y IGl0IHRvIGJlIGEgcXVpY2stbi1kaXJ0eSBzbGFiCj4gYWxsb2NhdG9yIGZvciBzaXplcyAySyBv ciBsZXNzIHdoZXJlIGlkZWFsbHkgd2UgYXJlIHdvcmtpbmcgd2l0aAo+IHBvd2VycyBvZiAyLgo+ IAo+IEl0IGNvbmNlcm5zIG1lIHRoYXQgeW91IGFyZSB0YWxraW5nIGFib3V0IHRha2luZyB0aGlz IGRvd24gYSBwYXRoIHRoYXQKPiB3aWxsIGxpa2VseSBsZWFkIHRvIGZ1cnRoZXIgbWlzdXNlIG9m IHRoZSBjb2RlIGFzIGEgYmFja2Rvb3Igd2F5IHRvCj4gYWxsb2NhdGUgb3JkZXIgMCBwYWdlcyB1 c2luZyB0aGlzIGluc3RlYWQgb2YganVzdCB1c2luZyB0aGUgcGFnZQo+IGFsbG9jYXRvci4KCkxl dCdzIG5vdCBnZXQgdG8gYSBjb25jbHVzaW9uIGhlcmUgYW5kIHdhaXQgdG8gc2VlIGhvdyB0aGlu ZyBldm9sdmUKaW4gdGhlIGZ1dHVyZS4KCj4gCj4+Pgo+Pj4gQWxzbyBJIHdvdWxkbid0IGJvdGhl ciBtZW50aW9uaW5nIHRoZSAwLjUrJSBwZXJmb3JtYW5jZSBnYWluIGFzIGEKPj4+ICJib251cyIu IENoYW5nZXMgb2YgdGhhdCBhbW91bnQgdXN1YWxseSBtZWFuIGl0IGlzIHdpdGhpbiB0aGUgbWFy Z2luCj4+PiBvZiBlcnJvci4gQXQgYmVzdCBpdCBsaWtlbHkgbWVhbnMgeW91IGhhdmVuJ3QgaW50 cm9kdWNlZCBhIG5vdGljZWFibGUKPj4+IHJlZ3Jlc3Npb24uCj4+Cj4+IEZvciBtaWNyby1iZW5j aG1hcmsga28gYWRkZWQgaW4gdGhpcyBwYXRjaHNldCwgcGVyZm9ybWFuY2UgZ2FpbiBzZWVtcyBx dWl0Cj4+IHN0YWJsZSBmcm9tIHRlc3RpbmcgaW4gc3lzdGVtIHdpdGhvdXQgYW55IG90aGVyIGxv YWQuCj4gCj4gQWdhaW4sIHRoYXQgZG9lc24ndCBtZWFuIGFueXRoaW5nLiBJdCBjb3VsZCBqdXN0 IGJlIHRoYXQgdGhlIGNvZGUKPiBzaGlmdGVkIHNvbWV3aGVyZSBkdWUgdG8gYWxsIHRoZSBjb2Rl IG1vdmVkIHNvIGEgbG9vcCBnb3QgbW9yZSBhbGlnbmVkCj4gdGhhbiBpdCB3YXMgYmVmb3JlLiBU byBnaXZlIHlvdSBhbiBpZGVhIEkgaGF2ZSBzZWVuIHBlcmZvcm1hbmNlIGdhaW5zCj4gaW4gdGhl IHBhc3QgZnJvbSB0dXJuaW5nIG9mZiBSeCBjaGVja3N1bSBmb3Igc29tZSB3b3JrbG9hZHMgYW5k IHRoYXQKPiB3YXMgc2ltcGx5IGR1ZSB0byB0aGUgZmFjdCB0aGF0IHRoZSBDUFVzIHdlcmUgc3Rh eWluZyBhd2FrZSBsb25nZXIKPiBpbnN0ZWFkIG9mIGdvaW5nIGludG8gZGVlcCBzbGVlcCBzdGF0 ZXMgYXMgc3VjaCB3ZSBjb3VsZCBoYW5kbGUgbW9yZQo+IHBhY2tldHMgcGVyIHNlY29uZCBldmVu IHRob3VnaCB3ZSB3ZXJlIHVzaW5nIG1vcmUgY3ljbGVzLiBXaXRob3V0Cj4gc2lnbmlmaWNhbnRs eSBtb3JlIGNvbnRleHQgaXQgaXMgaGFyZCB0byBzYXkgdGhhdCB0aGUgZ2FpbiBpcyBhbnl0aGlu Zwo+IHJlYWwgYXQgYWxsIGFuZCBhIDAuNSUgZ2FpbiBpcyB3ZWxsIHdpdGhpbiB0aGF0IG1hcmdp biBvZiBlcnJvci4KCkFzIHZob3N0X25ldF90ZXN0IGFkZGVkIGluIFsyXSBpcyBoZWF2aWx5IGlu dm92bGVkIHdpdGggdHVuIGFuZCB2aXJ0aW8KaGFuZGxpbmcsIHRoZSAwLjUlIGdhaW4gZG9lcyBz ZWVtcyB3aXRoaW4gdGhhdCBtYXJnaW4gb2YgZXJyb3IsIHRoZXJlIGlzCndoeSBJIGFkZGVkIGEg bWljcm8tYmVuY2htYXJrIHNwZWNpZmljbHkgZm9yIHBhZ2VfZnJhZyBpbiB0aGlzIHBhdGNoc2V0 LgoKSXQgaXMgdGVzdGVkIGZpdmUgdGltZXMsIHRocmVlIHRpbWVzIHdpdGggdGhpcyBwYXRjaHNl dCBhbmQgdHdvIHRpbWVzIHdpdGhvdXQKdGhpcyBwYXRjaHNldCwgdGhlIGNvbXBsZXRlIGxvZyBp cyBhcyBiZWxvdywgZXZlbiB0aGVyZSBpcyBzb21lIG5vaXNlLCBhbGwKdGhlIHJlc3VsdCB3aXRo IHRoaXMgcGF0Y2hzZXQgaXMgYmV0dGVyIHRoYW4gdGhlIHJlc3VsdCB3aXRob3V0IHRoaXMgcGF0 Y2hzZXQ6Cgp3aXRoIHRoaXMgcGF0Y2hzZXQ6CiBQZXJmb3JtYW5jZSBjb3VudGVyIHN0YXRzIGZv ciAnaW5zbW9kIC4vcGFnZV9mcmFnX3Rlc3Qua28gbnJfdGVzdD05OTk5OTk5OScgKDMwIHJ1bnMp OgoKICAgICAgICAgICAgIDQwLjA5IG1zZWMgdGFzay1jbG9jayAgICAgICAgICAgICAgICAgICAg ICAgIyAgICAwLjAwMSBDUFVzIHV0aWxpemVkICAgICAgICAgICAgICAgKCArLSAgNC42MCUgKQog ICAgICAgICAgICAgICAgIDUgICAgICBjb250ZXh0LXN3aXRjaGVzICAgICAgICAgICAgICAgICAj ICAxMjQuNzIyIC9zZWMgICAgICAgICAgICAgICAgICAgICAgICAoICstICAzLjQ1JSApCiAgICAg ICAgICAgICAgICAgMSAgICAgIGNwdS1taWdyYXRpb25zICAgICAgICAgICAgICAgICAgICMgICAy NC45NDQgL3NlYyAgICAgICAgICAgICAgICAgICAgICAgICggKy0gMTIuNjIlICkKICAgICAgICAg ICAgICAgMTk3ICAgICAgcGFnZS1mYXVsdHMgICAgICAgICAgICAgICAgICAgICAgIyAgICA0Ljkx NCBLL3NlYyAgICAgICAgICAgICAgICAgICAgICAgKCArLSAgMC4xMSUgKQogICAgICAgICAgMTAy MjE3MjEgICAgICBjeWNsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgIDAuMjU1IEdI eiAgICAgICAgICAgICAgICAgICAgICAgICAoICstICA5LjA1JSApICAoMjcuNzMlKQogICAgICAg ICAgIDI0NTkwMDkgICAgICBzdGFsbGVkLWN5Y2xlcy1mcm9udGVuZCAgICAgICAgICAjICAgMjQu MDYlIGZyb250ZW5kIGN5Y2xlcyBpZGxlICAgICAgICAoICstIDEwLjgwJSApICAoMjkuMDUlKQog ICAgICAgICAgIDUxNDg0MjMgICAgICBzdGFsbGVkLWN5Y2xlcy1iYWNrZW5kICAgICAgICAgICAj ICAgNTAuMzclIGJhY2tlbmQgY3ljbGVzIGlkbGUgICAgICAgICAoICstICA3LjMwJSApICAoODIu NDclKQogICAgICAgICAgIDU4ODk5MjkgICAgICBpbnN0cnVjdGlvbnMgICAgICAgICAgICAgICAg ICAgICAjICAgIDAuNTggIGluc24gcGVyIGN5Y2xlCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAwLjg3ICBzdGFsbGVkIGN5Y2xlcyBwZXIgaW5z biAgICAgKCArLSAxMS44NSUgKSAgKDg3Ljc1JSkKICAgICAgICAgICAxMjc2NjY3ICAgICAgYnJh bmNoZXMgICAgICAgICAgICAgICAgICAgICAgICAgIyAgIDMxLjg0NiBNL3NlYyAgICAgICAgICAg ICAgICAgICAgICAgKCArLSAxMS40OCUgKSAgKDg5LjgwJSkKICAgICAgICAgICAgIDUwNjMxICAg ICAgYnJhbmNoLW1pc3NlcyAgICAgICAgICAgICAgICAgICAgIyAgICAzLjk3JSBvZiBhbGwgYnJh bmNoZXMgICAgICAgICAgICAgKCArLSAgOC43MiUgKSAgKDgzLjIwJSkKCiAgICAgICAgICAgIDI5 LjM0MSArLSAwLjMwMCBzZWNvbmRzIHRpbWUgZWxhcHNlZCAgKCArLSAgMS4wMiUgKQoKUGVyZm9y bWFuY2UgY291bnRlciBzdGF0cyBmb3IgJ2luc21vZCAuL3BhZ2VfZnJhZ190ZXN0LmtvIG5yX3Rl c3Q9OTk5OTk5OTknICgzMCBydW5zKToKCiAgICAgICAgICAgICAzNi41NiBtc2VjIHRhc2stY2xv Y2sgICAgICAgICAgICAgICAgICAgICAgICMgICAgMC4wMDEgQ1BVcyB1dGlsaXplZCAgICAgICAg ICAgICAgICggKy0gIDQuMjklICkKICAgICAgICAgICAgICAgICA2ICAgICAgY29udGV4dC1zd2l0 Y2hlcyAgICAgICAgICAgICAgICAgIyAgMTY0LjEzMCAvc2VjICAgICAgICAgICAgICAgICAgICAg ICAgKCArLSAgMi42NSUgKQogICAgICAgICAgICAgICAgIDEgICAgICBjcHUtbWlncmF0aW9ucyAg ICAgICAgICAgICAgICAgICAjICAgMjcuMzU1IC9zZWMgICAgICAgICAgICAgICAgICAgICAgICAo ICstIDE1LjY3JSApCiAgICAgICAgICAgICAgIDE5NyAgICAgIHBhZ2UtZmF1bHRzICAgICAgICAg ICAgICAgICAgICAgICMgICAgNS4zODkgSy9zZWMgICAgICAgICAgICAgICAgICAgICAgICggKy0g IDAuMTIlICkKICAgICAgICAgIDEwMDA2MzA4ICAgICAgY3ljbGVzICAgICAgICAgICAgICAgICAg ICAgICAgICAgIyAgICAwLjI3NCBHSHogICAgICAgICAgICAgICAgICAgICAgICAgKCArLSAgOC4z NiUgKSAgKDgxLjYyJSkKICAgICAgICAgICAyOTI4Mjc1ICAgICAgc3RhbGxlZC1jeWNsZXMtZnJv bnRlbmQgICAgICAgICAgIyAgIDI5LjI2JSBmcm9udGVuZCBjeWNsZXMgaWRsZSAgICAgICAgKCAr LSAxMS41MCUgKSAgKDgyLjYyJSkKICAgICAgICAgICA1MzIxODgyICAgICAgc3RhbGxlZC1jeWNs ZXMtYmFja2VuZCAgICAgICAgICAgIyAgIDUzLjE5JSBiYWNrZW5kIGN5Y2xlcyBpZGxlICAgICAg ICAgKCArLSAgOC4zOSUgKSAgKDMyLjI1JSkKICAgICAgICAgICA2NjUzNzM3ICAgICAgaW5zdHJ1 Y3Rpb25zICAgICAgICAgICAgICAgICAgICAgIyAgICAwLjY2ICBpbnNuIHBlciBjeWNsZQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgMC44MCAg c3RhbGxlZCBjeWNsZXMgcGVyIGluc24gICAgICggKy0gMTQuOTUlICkgICgzNy4yMyUpCiAgICAg ICAgICAgMTMwMTYwMCAgICAgIGJyYW5jaGVzICAgICAgICAgICAgICAgICAgICAgICAgICMgICAz NS42MDUgTS9zZWMgICAgICAgICAgICAgICAgICAgICAgICggKy0gMTQuMjQlICkgICg4Ni4xNCUp CiAgICAgICAgICAgICA0Nzg4MCAgICAgIGJyYW5jaC1taXNzZXMgICAgICAgICAgICAgICAgICAg ICMgICAgMy42OCUgb2YgYWxsIGJyYW5jaGVzICAgICAgICAgICAgICggKy0gMTAuNzAlICkgICg4 MC4xNiUpCgogICAgICAgICAgICAyOC42ODMgKy0gMC4yNTMgc2Vjb25kcyB0aW1lIGVsYXBzZWQg ICggKy0gIDAuODglICkKCiBQZXJmb3JtYW5jZSBjb3VudGVyIHN0YXRzIGZvciAnaW5zbW9kIC4v cGFnZV9mcmFnX3Rlc3Qua28gbnJfdGVzdD05OTk5OTk5OScgKDMwIHJ1bnMpOgoKICAgICAgICAg ICAgIDM5LjAyIG1zZWMgdGFzay1jbG9jayAgICAgICAgICAgICAgICAgICAgICAgIyAgICAwLjAw MSBDUFVzIHV0aWxpemVkICAgICAgICAgICAgICAgKCArLSAgNC4xMyUgKQogICAgICAgICAgICAg ICAgIDYgICAgICBjb250ZXh0LXN3aXRjaGVzICAgICAgICAgICAgICAgICAjICAxNTMuNzUzIC9z ZWMgICAgICAgICAgICAgICAgICAgICAgICAoICstICAyLjk4JSApCiAgICAgICAgICAgICAgICAg MSAgICAgIGNwdS1taWdyYXRpb25zICAgICAgICAgICAgICAgICAgICMgICAyNS42MjYgL3NlYyAg ICAgICAgICAgICAgICAgICAgICAgICggKy0gMTQuNTAlICkKICAgICAgICAgICAgICAgMTk3ICAg ICAgcGFnZS1mYXVsdHMgICAgICAgICAgICAgICAgICAgICAgIyAgICA1LjA0OCBLL3NlYyAgICAg ICAgICAgICAgICAgICAgICAgKCArLSAgMC4wOCUgKQogICAgICAgICAgMTAxODQ0NTIgICAgICBj eWNsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgIDAuMjYxIEdIeiAgICAgICAgICAg ICAgICAgICAgICAgICAoICstICA4LjMwJSApICAoNDAuNjQlKQogICAgICAgICAgIDI3NTY0MDAg ICAgICBzdGFsbGVkLWN5Y2xlcy1mcm9udGVuZCAgICAgICAgICAjICAgMjcuMDYlIGZyb250ZW5k IGN5Y2xlcyBpZGxlICAgICAgICAoICstIDEwLjgyJSApICAoNzEuNzAlKQogICAgICAgICAgIDUx Mjc4NTIgICAgICBzdGFsbGVkLWN5Y2xlcy1iYWNrZW5kICAgICAgICAgICAjICAgNTAuMzUlIGJh Y2tlbmQgY3ljbGVzIGlkbGUgICAgICAgICAoICstICA4Ljk1JSApICAoNzguOTQlKQogICAgICAg ICAgIDYzNTMzODUgICAgICBpbnN0cnVjdGlvbnMgICAgICAgICAgICAgICAgICAgICAjICAgIDAu NjIgIGluc24gcGVyIGN5Y2xlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIyAgICAwLjgxICBzdGFsbGVkIGN5Y2xlcyBwZXIgaW5zbiAgICAgKCArLSAx OC43OSUgKSAgKDg0LjM0JSkKICAgICAgICAgICAxNDA5ODczICAgICAgYnJhbmNoZXMgICAgICAg ICAgICAgICAgICAgICAgICAgIyAgIDM2LjEyOSBNL3NlYyAgICAgICAgICAgICAgICAgICAgICAg KCArLSAyMy44NSUgKSAgKDgwLjQyJSkKICAgICAgICAgICAgIDUyMDQ0ICAgICAgYnJhbmNoLW1p c3NlcyAgICAgICAgICAgICAgICAgICAgIyAgICAzLjY5JSBvZiBhbGwgYnJhbmNoZXMgICAgICAg ICAgICAgKCArLSAxMC42OCUgKSAgKDQzLjk2JSkKCiAgICAgICAgICAgIDI4LjczMCArLSAwLjIw MSBzZWNvbmRzIHRpbWUgZWxhcHNlZCAgKCArLSAgMC43MCUgKQoKLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCndpdGhvdXQgdGhpcyBwYXRjaHNldDoK IFBlcmZvcm1hbmNlIGNvdW50ZXIgc3RhdHMgZm9yICdpbnNtb2QgLi9wYWdlX2ZyYWdfdGVzdC5r byBucl90ZXN0PTk5OTk5OTk5JyAoMzAgcnVucyk6CgogICAgICAgICAgICAgMzkuMTIgbXNlYyB0 YXNrLWNsb2NrICAgICAgICAgICAgICAgICAgICAgICAjICAgIDAuMDAxIENQVXMgdXRpbGl6ZWQg ICAgICAgICAgICAgICAoICstICA0LjUxJSApCiAgICAgICAgICAgICAgICAgNSAgICAgIGNvbnRl eHQtc3dpdGNoZXMgICAgICAgICAgICAgICAgICMgIDEyNy44MDUgL3NlYyAgICAgICAgICAgICAg ICAgICAgICAgICggKy0gIDMuNzYlICkKICAgICAgICAgICAgICAgICAxICAgICAgY3B1LW1pZ3Jh dGlvbnMgICAgICAgICAgICAgICAgICAgIyAgIDI1LjU2MSAvc2VjICAgICAgICAgICAgICAgICAg ICAgICAgKCArLSAxNS41MiUgKQogICAgICAgICAgICAgICAxOTcgICAgICBwYWdlLWZhdWx0cyAg ICAgICAgICAgICAgICAgICAgICAjICAgIDUuMDM1IEsvc2VjICAgICAgICAgICAgICAgICAgICAg ICAoICstICAwLjEwJSApCiAgICAgICAgICAxMDY4OTkxMyAgICAgIGN5Y2xlcyAgICAgICAgICAg ICAgICAgICAgICAgICAgICMgICAgMC4yNzMgR0h6ICAgICAgICAgICAgICAgICAgICAgICAgICgg Ky0gIDkuNDYlICkgICg3Mi43MiUpCiAgICAgICAgICAgMjgyMTIzNyAgICAgIHN0YWxsZWQtY3lj bGVzLWZyb250ZW5kICAgICAgICAgICMgICAyNi4zOSUgZnJvbnRlbmQgY3ljbGVzIGlkbGUgICAg ICAgICggKy0gMTIuMDQlICkgICg3Ni4yMyUpCiAgICAgICAgICAgNTAzNTU0OSAgICAgIHN0YWxs ZWQtY3ljbGVzLWJhY2tlbmQgICAgICAgICAgICMgICA0Ny4xMSUgYmFja2VuZCBjeWNsZXMgaWRs ZSAgICAgICAgICggKy0gIDkuNjklICkgICg0OS40MCUpCiAgICAgICAgICAgNTQzOTM5NSAgICAg IGluc3RydWN0aW9ucyAgICAgICAgICAgICAgICAgICAgICMgICAgMC41MSAgaW5zbiBwZXIgY3lj bGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAg IDAuOTMgIHN0YWxsZWQgY3ljbGVzIHBlciBpbnNuICAgICAoICstIDExLjU4JSApICAoNTEuNDUl KQogICAgICAgICAgIDEyNzQ0MTkgICAgICBicmFuY2hlcyAgICAgICAgICAgICAgICAgICAgICAg ICAjICAgMzIuNTc1IE0vc2VjICAgICAgICAgICAgICAgICAgICAgICAoICstIDEyLjY5JSApICAo NzcuODglKQogICAgICAgICAgICAgNDk1NjIgICAgICBicmFuY2gtbWlzc2VzICAgICAgICAgICAg ICAgICAgICAjICAgIDMuODklIG9mIGFsbCBicmFuY2hlcyAgICAgICAgICAgICAoICstICA5Ljkx JSApICAoNzIuMzIlKQoKICAgICAgICAgICAgMzAuMzA5ICstIDAuMzA1IHNlY29uZHMgdGltZSBl bGFwc2VkICAoICstICAxLjAxJSApCgogUGVyZm9ybWFuY2UgY291bnRlciBzdGF0cyBmb3IgJ2lu c21vZCAuL3BhZ2VfZnJhZ190ZXN0LmtvIG5yX3Rlc3Q9OTk5OTk5OTknICgzMCBydW5zKToKCiAg ICAgICAgICAgICAzNy40MCBtc2VjIHRhc2stY2xvY2sgICAgICAgICAgICAgICAgICAgICAgICMg ICAgMC4wMDEgQ1BVcyB1dGlsaXplZCAgICAgICAgICAgICAgICggKy0gIDQuNzIlICkKICAgICAg ICAgICAgICAgICA1ICAgICAgY29udGV4dC1zd2l0Y2hlcyAgICAgICAgICAgICAgICAgIyAgMTMz LjY5MSAvc2VjICAgICAgICAgICAgICAgICAgICAgICAgKCArLSAgMy42NSUgKQogICAgICAgICAg ICAgICAgIDEgICAgICBjcHUtbWlncmF0aW9ucyAgICAgICAgICAgICAgICAgICAjICAgMjYuNzM4 IC9zZWMgICAgICAgICAgICAgICAgICAgICAgICAoICstIDE0LjEzJSApCiAgICAgICAgICAgICAg IDE5NyAgICAgIHBhZ2UtZmF1bHRzICAgICAgICAgICAgICAgICAgICAgICMgICAgNS4yNjcgSy9z ZWMgICAgICAgICAgICAgICAgICAgICAgICggKy0gIDAuMTIlICkKICAgICAgICAgIDEwMTk2MjUw ICAgICAgY3ljbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAwLjI3MyBHSHogICAg ICAgICAgICAgICAgICAgICAgICAgKCArLSAgOS4zNyUgKSAgKDc5Ljg0JSkKICAgICAgICAgICAy NTc5NTYyICAgICAgc3RhbGxlZC1jeWNsZXMtZnJvbnRlbmQgICAgICAgICAgIyAgIDI1LjMwJSBm cm9udGVuZCBjeWNsZXMgaWRsZSAgICAgICAgKCArLSAxMy4wNSUgKSAgKDQ4LjI5JSkKICAgICAg ICAgICA0ODMzMjM2ICAgICAgc3RhbGxlZC1jeWNsZXMtYmFja2VuZCAgICAgICAgICAgIyAgIDQ3 LjQwJSBiYWNrZW5kIGN5Y2xlcyBpZGxlICAgICAgICAgKCArLSAgOS44NCUgKSAgKDQ1LjY0JSkK ICAgICAgICAgICA1OTkyNzYyICAgICAgaW5zdHJ1Y3Rpb25zICAgICAgICAgICAgICAgICAgICAg IyAgICAwLjU5ICBpbnNuIHBlciBjeWNsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICMgICAgMC44MSAgc3RhbGxlZCBjeWNsZXMgcGVyIGluc24gICAg ICggKy0gMTEuMDElICkgICg3Ni41NiUpCiAgICAgICAgICAgMTI3NDU5MiAgICAgIGJyYW5jaGVz ICAgICAgICAgICAgICAgICAgICAgICAgICMgICAzNC4wODAgTS9zZWMgICAgICAgICAgICAgICAg ICAgICAgICggKy0gMTIuODglICkgICg3NC41MiUpCiAgICAgICAgICAgICA1MTAxNSAgICAgIGJy YW5jaC1taXNzZXMgICAgICAgICAgICAgICAgICAgICMgICAgNC4wMCUgb2YgYWxsIGJyYW5jaGVz ICAgICAgICAgICAgICggKy0gMTAuNjAlICkgICg3NS4xNSUpCgogICAgICAgICAgICAyOS45NTgg Ky0gMC4zMTQgc2Vjb25kcyB0aW1lIGVsYXBzZWQgICggKy0gIDEuMDUlICkKCgoKMi4gaHR0cHM6 Ly9sb3JlLmtlcm5lbC5vcmcvYWxsLzIwMjQwMjI4MDkzMDEzLjgyNjMtNi1saW55dW5zaGVuZ0Bo dWF3ZWkuY29tLwoKPiAuCj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVs QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9s aXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==