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 5D639C32771 for ; Mon, 26 Sep 2022 06:54:53 +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:To:Subject:CC:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=u+xne/r6BOSR1LVjgkI1bfmdmuJCRh3jYPIj4cthhS4=; b=YP0Z7GdNOrbvaWr75Ya3/6e9hJ 3ts/fHNhfVpsRe9bo2XoiA7qsAZDHvaH6hIVRQfrsoTQGd3OHNVe9fMcr8mDFTnzUCZAcBYWAQqKs 5CEi1g/Ebg8Kz8JqJdICagpgF9M6ozEBW5ZdeesgW0HApCylwf6nrkZA06dybYPR/WUDygQQdc1oo 421dFM7kBzbb9pbaorCjoqpBY9y2HmMnJjPCDoULpp5QIgMCQHcN36FQxvS3hCmRocDu7nQ9NoJK2 iWQcGN4muhWRszDdojHT8IuzjvtWrZXj+LH1i+hQ7OC2lUMOpn2FMrwVmb5fo/+ARhI1mdwz5JTZh f8f44/IA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1ochzw-002Wf2-VM; Mon, 26 Sep 2022 06:53:49 +0000 Received: from szxga02-in.huawei.com ([45.249.212.188]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1ochzr-002WaI-SS for linux-arm-kernel@lists.infradead.org; Mon, 26 Sep 2022 06:53:46 +0000 Received: from canpemm500009.china.huawei.com (unknown [172.30.72.54]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4MbYJ11tp0zHtp4; Mon, 26 Sep 2022 14:48:49 +0800 (CST) Received: from [10.67.102.169] (10.67.102.169) by canpemm500009.china.huawei.com (7.192.105.203) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Mon, 26 Sep 2022 14:53:34 +0800 CC: , , , , , , , , , , , , , , , , , , , , , , , , Subject: Re: [PATCH v13 2/3] perf tool: Add support for HiSilicon PCIe Tune and Trace device driver To: John Garry References: <20220919090045.6778-1-yangyicong@huawei.com> <20220919090045.6778-3-yangyicong@huawei.com> From: Yicong Yang Message-ID: <77226dcb-d158-a4f7-8afb-ac89c07bed97@huawei.com> Date: Mon, 26 Sep 2022 14:53:34 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.5.1 MIME-Version: 1.0 In-Reply-To: X-Originating-IP: [10.67.102.169] X-ClientProxiedBy: dggems702-chm.china.huawei.com (10.3.19.179) To canpemm500009.china.huawei.com (7.192.105.203) X-CFilter-Loop: Reflected X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220925_235344_302574_C3160889 X-CRM114-Status: GOOD ( 24.37 ) 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 T24gMjAyMi85LzIzIDE4OjQ5LCBKb2huIEdhcnJ5IHdyb3RlOgo+IE9uIDE5LzA5LzIwMjIgMTA6 MDAsIFlpY29uZyBZYW5nIHdyb3RlOgo+PiBGcm9tOiBRaSBMaXUgPGxpdXFpMTE1QGh1YXdlaS5j b20+Cj4+Cj4+IEhpU2lsaWNvbiBQQ0llIHR1bmUgYW5kIHRyYWNlIGRldmljZSAoUFRUKSBjb3Vs ZCBkeW5hbWljYWxseSB0dW5lCj4+IHRoZSBQQ0llIGxpbmsncyBldmVudHMsIGFuZCB0cmFjZSB0 aGUgVExQIGhlYWRlcnMpLgo+Pgo+PiBUaGlzIHBhdGNoIGFkZCBzdXBwb3J0IGZvciBQVFQgZGV2 aWNlIGluIHBlcmYgdG9vbCwgc28gdXNlcnMgY291bGQKPj4gdXNlICdwZXJmIHJlY29yZCcgdG8g Z2V0IFRMUCBoZWFkZXJzIHRyYWNlIGRhdGEuCj4+Cj4+IFJldmlld2VkLWJ5OiBMZW8gWWFuIDxs ZW8ueWFuQGxpbmFyby5vcmc+Cj4+IFNpZ25lZC1vZmYtYnk6IFFpIExpdSA8bGl1cWkxMTVAaHVh d2VpLmNvbT4KPj4gU2lnbmVkLW9mZi1ieTogWWljb25nIFlhbmcgPHlhbmd5aWNvbmdAaGlzaWxp Y29uLmNvbT4KPiAKPiBJJ20gbm90IG92ZXJseSBmaW1pbGFyIHdpdGggdGhlIGF1eHRyYWNlIGNv ZGUsIGJ1dCB0aGlzIHBhdGNoIGxvb2tzIG9rIGFwYXJ0IGZyb20gY29tbWVudHMsIHNvIGFja2Vk LWJ5IHNlZW1zIG1vcmUgYXBwcm9waWF0ZSB0aGFuIHJldmlld2VkLWJ5Ogo+IAo+IEFja2VkLWJ5 OiBKb2huIEdhcnJ5IDxqb2huLmdhcnJ5QGh1YXdlaS5jb20+CgpUaGFua3MhIE1heSBJIGhhdmUg dGhlIGFjayBmb3IgdGhlIG90aGVyIDIgcGF0Y2hlcyBhcyB3ZWxsPwoKU29tZSByZXBsaWVzIGJl bG93LgoKPiAKPj4gLS0tCj4+IMKgIHRvb2xzL3BlcmYvYXJjaC9hcm0vdXRpbC9hdXh0cmFjZS5j wqDCoCB8wqAgNjMgKysrKysrKysrCj4+IMKgIHRvb2xzL3BlcmYvYXJjaC9hcm0vdXRpbC9wbXUu Y8KgwqDCoMKgwqDCoMKgIHzCoMKgIDMgKwo+PiDCoCB0b29scy9wZXJmL2FyY2gvYXJtNjQvdXRp bC9CdWlsZMKgwqDCoMKgwqAgfMKgwqAgMiArLQo+PiDCoCB0b29scy9wZXJmL2FyY2gvYXJtNjQv dXRpbC9oaXNpLXB0dC5jIHwgMTg4ICsrKysrKysrKysrKysrKysrKysrKysrKysrCj4+IMKgIHRv b2xzL3BlcmYvdXRpbC9hdXh0cmFjZS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoCAxICsK Pj4gwqAgdG9vbHMvcGVyZi91dGlsL2F1eHRyYWNlLmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzC oMKgIDEgKwo+PiDCoCB0b29scy9wZXJmL3V0aWwvaGlzaS1wdHQuaMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfMKgIDE2ICsrKwo+PiDCoCA3IGZpbGVzIGNoYW5nZWQsIDI3MyBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCB0b29scy9wZXJmL2FyY2gv YXJtNjQvdXRpbC9oaXNpLXB0dC5jCj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCB0b29scy9wZXJm L3V0aWwvaGlzaS1wdHQuaAo+Pgo+PiBkaWZmIC0tZ2l0IGEvdG9vbHMvcGVyZi9hcmNoL2FybS91 dGlsL2F1eHRyYWNlLmMgYi90b29scy9wZXJmL2FyY2gvYXJtL3V0aWwvYXV4dHJhY2UuYwo+PiBp bmRleCAzODRjN2NmZGEwZmQuLjEyOWVkNzIzOTFhNCAxMDA2NDQKPj4gLS0tIGEvdG9vbHMvcGVy Zi9hcmNoL2FybS91dGlsL2F1eHRyYWNlLmMKPj4gKysrIGIvdG9vbHMvcGVyZi9hcmNoL2FybS91 dGlsL2F1eHRyYWNlLmMKPj4gQEAgLTQsOSArNCwxMSBAQAo+PiDCoMKgICogQXV0aG9yOiBNYXRo aWV1IFBvaXJpZXIgPG1hdGhpZXUucG9pcmllckBsaW5hcm8ub3JnPgo+PiDCoMKgICovCj4+IMKg ICsjaW5jbHVkZSA8ZGlyZW50Lmg+Cj4+IMKgICNpbmNsdWRlIDxzdGRib29sLmg+Cj4+IMKgICNp bmNsdWRlIDxsaW51eC9jb3Jlc2lnaHQtcG11Lmg+Cj4+IMKgICNpbmNsdWRlIDxsaW51eC96YWxs b2MuaD4KPj4gKyNpbmNsdWRlIDxhcGkvZnMvZnMuaD4KPj4gwqAgwqAgI2luY2x1ZGUgIi4uLy4u Ly4uL3V0aWwvYXV4dHJhY2UuaCIKPj4gwqAgI2luY2x1ZGUgIi4uLy4uLy4uL3V0aWwvZGVidWcu aCIKPj4gQEAgLTE0LDYgKzE2LDcgQEAKPj4gwqAgI2luY2x1ZGUgIi4uLy4uLy4uL3V0aWwvcG11 LmgiCj4+IMKgICNpbmNsdWRlICJjcy1ldG0uaCIKPj4gwqAgI2luY2x1ZGUgImFybS1zcGUuaCIK Pj4gKyNpbmNsdWRlICJoaXNpLXB0dC5oIgo+PiDCoCDCoCBzdGF0aWMgc3RydWN0IHBlcmZfcG11 ICoqZmluZF9hbGxfYXJtX3NwZV9wbXVzKGludCAqbnJfc3BlcywgaW50ICplcnIpCj4+IMKgIHsK Pj4gQEAgLTUwLDYgKzUzLDUyIEBAIHN0YXRpYyBzdHJ1Y3QgcGVyZl9wbXUgKipmaW5kX2FsbF9h cm1fc3BlX3BtdXMoaW50ICpucl9zcGVzLCBpbnQgKmVycikKPj4gwqDCoMKgwqDCoCByZXR1cm4g YXJtX3NwZV9wbXVzOwo+PiDCoCB9Cj4+IMKgICtzdGF0aWMgc3RydWN0IHBlcmZfcG11ICoqZmlu ZF9hbGxfaGlzaV9wdHRfcG11cyhpbnQgKm5yX3B0dHMsIGludCAqZXJyKQo+PiArewo+PiArwqDC oMKgIGNvbnN0IGNoYXIgKnN5c2ZzID0gc3lzZnNfX21vdW50cG9pbnQoKTsKPj4gK8KgwqDCoCBz dHJ1Y3QgcGVyZl9wbXUgKipoaXNpX3B0dF9wbXVzID0gTlVMTDsKPj4gK8KgwqDCoCBzdHJ1Y3Qg ZGlyZW50ICpkZW50Owo+PiArwqDCoMKgIGNoYXIgcGF0aFtQQVRIX01BWF07Cj4+ICvCoMKgwqAg RElSICpkaXIgPSBOVUxMOwo+PiArwqDCoMKgIGludCBpZHggPSAwOwo+PiArCj4+ICvCoMKgwqAg c25wcmludGYocGF0aCwgUEFUSF9NQVgsICIlcyIgRVZFTlRfU09VUkNFX0RFVklDRV9QQVRILCBz eXNmcyk7Cj4+ICvCoMKgwqAgZGlyID0gb3BlbmRpcihwYXRoKTsKPj4gK8KgwqDCoCBpZiAoIWRp cikgewo+PiArwqDCoMKgwqDCoMKgwqAgcHJfZXJyKCJjYW4ndCByZWFkIGRpcmVjdG9yeSAnJXMn XG4iLCBFVkVOVF9TT1VSQ0VfREVWSUNFX1BBVEgpOwo+PiArwqDCoMKgwqDCoMKgwqAgKmVyciA9 IC1FSU5WQUw7Cj4+ICvCoMKgwqDCoMKgwqDCoCBnb3RvIG91dDsKPiAKPiBEbyB5b3UgcmVhbGx5 IG5lZWQgdG8gY2FsbCBjbG9zZWRpcigpIGluIHRoaXMgc2NlbmFyaW8/Cj4gCgpJdCdzIHVubmVj ZXNzYXJ5IGhlcmUuIHdpbGwgcmV0dXJuIE5VTEwgZGlyZWN0bHkuCgo+PiArwqDCoMKgIH0KPj4g Kwo+PiArwqDCoMKgIHdoaWxlICgoZGVudCA9IHJlYWRkaXIoZGlyKSkpIHsKPj4gK8KgwqDCoMKg wqDCoMKgIGlmIChzdHJzdHIoZGVudC0+ZF9uYW1lLCBISVNJX1BUVF9QTVVfTkFNRSkpCj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgICgqbnJfcHR0cykrKzsKPj4gK8KgwqDCoCB9Cj4+ICsKPj4g K8KgwqDCoCBpZiAoISgqbnJfcHR0cykpCj4+ICvCoMKgwqDCoMKgwqDCoCBnb3RvIG91dDsKPj4g Kwo+PiArwqDCoMKgIGhpc2lfcHR0X3BtdXMgPSB6YWxsb2Moc2l6ZW9mKHN0cnVjdCBwZXJmX3Bt dSAqKSAqICgqbnJfcHR0cykpOwo+PiArwqDCoMKgIGlmICghaGlzaV9wdHRfcG11cykgewo+PiAr wqDCoMKgwqDCoMKgwqAgcHJfZXJyKCJoaXNpX3B0dCBhbGxvYyBmYWlsZWRcbiIpOwo+PiArwqDC oMKgwqDCoMKgwqAgKmVyciA9IC1FTk9NRU07Cj4+ICvCoMKgwqDCoMKgwqDCoCBnb3RvIG91dDsK Pj4gK8KgwqDCoCB9Cj4+ICsKPj4gK8KgwqDCoCByZXdpbmRkaXIoZGlyKTsKPj4gK8KgwqDCoCB3 aGlsZSAoKGRlbnQgPSByZWFkZGlyKGRpcikpKSB7Cj4+ICvCoMKgwqDCoMKgwqDCoCBpZiAoc3Ry c3RyKGRlbnQtPmRfbmFtZSwgSElTSV9QVFRfUE1VX05BTUUpICYmIGlkeCA8ICgqbnJfcHR0cykp IHsKPiAKPiBpZHggPCAqbnJfcHR0cwo+IAo+IGlzIG9rCj4gCgpvay4KCj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGhpc2lfcHR0X3BtdXNbaWR4XSA9IHBlcmZfcG11X19maW5kKGRlbnQtPmRf bmFtZSk7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChoaXNpX3B0dF9wbXVzW2lkeF0p Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWR4Kys7Cj4+ICvCoMKgwqDCoMKg wqDCoCB9Cj4+ICvCoMKgwqAgfQo+PiArCj4+ICtvdXQ6Cj4+ICvCoMKgwqAgY2xvc2VkaXIoZGly KTsKPj4gK8KgwqDCoCByZXR1cm4gaGlzaV9wdHRfcG11czsKPj4gK30KPj4gKwoKWy4uLl0KCj4+ ICsKPj4gKyNkZWZpbmUgS2lCKHgpICgoeCkgKiAxMDI0KQo+PiArI2RlZmluZSBNaUIoeCkgKCh4 KSAqIDEwMjQgKiAxMDI0KQo+IAo+IHN1cmVseSB3ZSBoYXZlIGRlZmluZXMgZm9yIHRoZXNlIGF2 YWlsYWJsZSBlbHNld2hlcmUKPiAKClllcyBidXQgd2UgbG9va3MgbGlrZSBoYXZlIG5vIHB1Ymxp YyBkZWZpbml0aW9uIGZvciB0aGVzZToKCnlhbmd5aWNvbmdAdWJ1bnR1On4vbWFpbmxpbmVfbGlu dXgvbGludXgkIGVncmVwIC1yd24gIiNkZWZpbmUgS2lCfCNkZWZpbmUgTWlCIiB0b29scy9wZXJm Lwp0b29scy9wZXJmL2FyY2gvYXJtNjQvdXRpbC9oaXNpLXB0dC5jOjI3OiNkZWZpbmUgS2lCKHgp ICgoeCkgKiAxMDI0KQp0b29scy9wZXJmL2FyY2gvYXJtNjQvdXRpbC9oaXNpLXB0dC5jOjI4OiNk ZWZpbmUgTWlCKHgpICgoeCkgKiAxMDI0ICogMTAyNCkKdG9vbHMvcGVyZi9hcmNoL2FybTY0L3V0 aWwvYXJtLXNwZS5jOjI4OiNkZWZpbmUgS2lCKHgpICgoeCkgKiAxMDI0KQp0b29scy9wZXJmL2Fy Y2gvYXJtNjQvdXRpbC9hcm0tc3BlLmM6Mjk6I2RlZmluZSBNaUIoeCkgKCh4KSAqIDEwMjQgKiAx MDI0KQp0b29scy9wZXJmL2FyY2gveDg2L3V0aWwvaW50ZWwtYnRzLmM6Mjg6I2RlZmluZSBLaUIo eCkgKCh4KSAqIDEwMjQpCnRvb2xzL3BlcmYvYXJjaC94ODYvdXRpbC9pbnRlbC1idHMuYzoyOToj ZGVmaW5lIE1pQih4KSAoKHgpICogMTAyNCAqIDEwMjQpCnRvb2xzL3BlcmYvYXJjaC94ODYvdXRp bC9pbnRlbC1wdC5jOjM1OiNkZWZpbmUgS2lCKHgpICgoeCkgKiAxMDI0KQp0b29scy9wZXJmL2Fy Y2gveDg2L3V0aWwvaW50ZWwtcHQuYzozNjojZGVmaW5lIE1pQih4KSAoKHgpICogMTAyNCAqIDEw MjQpCnRvb2xzL3BlcmYvdXRpbC9jcy1ldG0uaDoxODg6I2RlZmluZSBLaUIoeCkgKCh4KSAqIDEw MjQpCnRvb2xzL3BlcmYvdXRpbC9jcy1ldG0uaDoxODk6I2RlZmluZSBNaUIoeCkgKCh4KSAqIDEw MjQgKiAxMDI0KQoKV2UgY2FuIGNlbnRyYWxpemUgdGhpcyBkZWZpbml0aW9uIGFmdGVyIHRoaXMg c2VyaWVzLgoKPj4gKwo+PiArc3RydWN0IGhpc2lfcHR0X3JlY29yZGluZyB7Cj4+ICvCoMKgwqAg c3RydWN0IGF1eHRyYWNlX3JlY29yZMKgwqDCoCBpdHI7Cj4+ICvCoMKgwqAgc3RydWN0IHBlcmZf cG11ICpoaXNpX3B0dF9wbXU7Cj4+ICvCoMKgwqAgc3RydWN0IGV2bGlzdCAqZXZsaXN0Owo+PiAr fTsKPj4gKwoKWy4uLl0KCj4+IGRpZmYgLS1naXQgYS90b29scy9wZXJmL3V0aWwvYXV4dHJhY2Uu YyBiL3Rvb2xzL3BlcmYvdXRpbC9hdXh0cmFjZS5jCj4+IGluZGV4IDZlZGFiOGExNmRlNi4uYzMw NjExZDllZTk5IDEwMDY0NAo+PiAtLS0gYS90b29scy9wZXJmL3V0aWwvYXV4dHJhY2UuYwo+PiAr KysgYi90b29scy9wZXJmL3V0aWwvYXV4dHJhY2UuYwo+PiBAQCAtMTMxOSw2ICsxMzE5LDcgQEAg aW50IHBlcmZfZXZlbnRfX3Byb2Nlc3NfYXV4dHJhY2VfaW5mbyhzdHJ1Y3QgcGVyZl9zZXNzaW9u ICpzZXNzaW9uLAo+PiDCoMKgwqDCoMKgIGNhc2UgUEVSRl9BVVhUUkFDRV9TMzkwX0NQVU1TRjoK Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIGVyciA9IHMzOTBfY3B1bXNmX3Byb2Nlc3NfYXV4dHJhY2Vf aW5mbyhldmVudCwgc2Vzc2lvbik7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBicmVhazsKPj4gK8Kg wqDCoCBjYXNlIFBFUkZfQVVYVFJBQ0VfSElTSV9QVFQ6Cj4+IMKgwqDCoMKgwqAgY2FzZSBQRVJG X0FVWFRSQUNFX1VOS05PV046Cj4+IMKgwqDCoMKgwqAgZGVmYXVsdDoKPj4gwqDCoMKgwqDCoMKg wqDCoMKgIHJldHVybiAtRUlOVkFMOwo+PiBkaWZmIC0tZ2l0IGEvdG9vbHMvcGVyZi91dGlsL2F1 eHRyYWNlLmggYi90b29scy9wZXJmL3V0aWwvYXV4dHJhY2UuaAo+PiBpbmRleCA2YTRmYmZkMzRj NmIuLjNhMTIyZmMwMWNjZCAxMDA2NDQKPj4gLS0tIGEvdG9vbHMvcGVyZi91dGlsL2F1eHRyYWNl LmgKPj4gKysrIGIvdG9vbHMvcGVyZi91dGlsL2F1eHRyYWNlLmgKPj4gQEAgLTQ4LDYgKzQ4LDcg QEAgZW51bSBhdXh0cmFjZV90eXBlIHsKPj4gwqDCoMKgwqDCoCBQRVJGX0FVWFRSQUNFX0NTX0VU TSwKPj4gwqDCoMKgwqDCoCBQRVJGX0FVWFRSQUNFX0FSTV9TUEUsCj4+IMKgwqDCoMKgwqAgUEVS Rl9BVVhUUkFDRV9TMzkwX0NQVU1TRiwKPj4gK8KgwqDCoCBQRVJGX0FVWFRSQUNFX0hJU0lfUFRU LAo+PiDCoCB9Owo+PiDCoCDCoCBlbnVtIGl0cmFjZV9wZXJpb2RfdHlwZSB7Cj4+IGRpZmYgLS1n aXQgYS90b29scy9wZXJmL3V0aWwvaGlzaS1wdHQuaCBiL3Rvb2xzL3BlcmYvdXRpbC9oaXNpLXB0 dC5oCj4gCj4gSSdtIHN0aWxsIG5vdCBhIGZhbiBvZiBoYXZpbmcgYSBoZWFkZXIgZmlsZSB3aGlj aCBpcyBvbmx5IGluY2x1ZGVkIGJ5IDF4IC5jIGZpbGUsIHdoaWNoIHRoaXMgc2VlbXMgdG8gYmUK PiAKClRoZSBzdHVmZiBpbiBoaXNpLXB0dC5oIGlzIHNoYXJlZCBhY3Jvc3Mgc2V2ZXJhbCBzb3Vy Y2UgZmlsZXM6Cgp5YW5neWljb25nQHVidW50dTp+L21haW5saW5lX2xpbnV4L2xpbnV4JCBlZ3Jl cCAtcm4gImhpc2ktcHR0LmgiIHRvb2xzL3BlcmYvCnRvb2xzL3BlcmYvYXJjaC9hcm02NC91dGls L2hpc2ktcHR0LmM6MjE6I2luY2x1ZGUgIi4uLy4uLy4uL3V0aWwvaGlzaS1wdHQuaCIKdG9vbHMv cGVyZi9hcmNoL2FybS91dGlsL2F1eHRyYWNlLmM6MTk6I2luY2x1ZGUgImhpc2ktcHR0LmgiCnRv b2xzL3BlcmYvYXJjaC9hcm0vdXRpbC9wbXUuYzoxMzojaW5jbHVkZSAiaGlzaS1wdHQuaCIKClRo YW5rcywKWWljb25nCgo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAw MDAuLjgyMjgzYzgxYjRjMQo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL3Rvb2xzL3BlcmYvdXRp bC9oaXNpLXB0dC5oCj4+IEBAIC0wLDAgKzEsMTYgQEAKPj4gKy8qIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBHUEwtMi4wICovCj4+ICsvKgo+PiArICogSGlTaWxpY29uIFBDSWUgVHJhY2UgYW5k IFR1bmluZyAoUFRUKSBzdXBwb3J0Cj4+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMjIgSGlTaWxpY29u IFRlY2hub2xvZ2llcyBDby4sIEx0ZC4KPj4gKyAqLwo+PiArCj4+ICsjaWZuZGVmIElOQ0xVREVf X1BFUkZfSElTSV9QVFRfSF9fCj4+ICsjZGVmaW5lIElOQ0xVREVfX1BFUkZfSElTSV9QVFRfSF9f Cj4+ICsKPj4gKyNkZWZpbmUgSElTSV9QVFRfUE1VX05BTUXCoMKgwqDCoMKgwqDCoCAiaGlzaV9w dHQiCj4+ICsjZGVmaW5lIEhJU0lfUFRUX0FVWFRSQUNFX1BSSVZfU0laRcKgwqDCoCBzaXplb2Yo dTY0KQo+PiArCj4+ICtzdHJ1Y3QgYXV4dHJhY2VfcmVjb3JkICpoaXNpX3B0dF9yZWNvcmRpbmdf aW5pdChpbnQgKmVyciwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgc3RydWN0IHBlcmZfcG11ICpoaXNpX3B0dF9wbXUpOwo+PiArCj4+ICsjZW5kaWYK PiAKPiAuCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwps aW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJh ZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51 eC1hcm0ta2VybmVsCg==