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 73CA6C5475B for ; Fri, 1 Mar 2024 05:31:54 +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:From:References:CC:To: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=fYeWuPszc7hsE4ExAlXYoWSJp7rxyjAE9ObHoJNWkeM=; b=aeMfTix+hTFtxl fZjMBw67+PdISaieIPpdom4RoLFj1DIWrMlnJCCiaWBKtNk+Hn9es+9fLGXuKR7jzYQ6PUXm7b5u8 dBc3OLlYzGUmL1ZBFSvqiU/s8Hyk9DyLWNzkyVwpe+pAHKgp8v4grx4U2NMDd/kXGq6U28G5SiL+3 tEP5tTH2P7tKNp0XoT6RhhMixIaiCKGe95OdRVyq+jRorKybqQOZvSG6QgoS3gIoIWH5A+VEWBeDm 7BPbGNvuShfnkFjJni7571ojYuqiopN2qq7fL5TBAfEqeA77VADLy/1krMNMpo0vWU+w5EgVZjVkQ mtqDB7g81jyNO5yQu3FA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rfvUh-0000000GRqv-2nQM; Fri, 01 Mar 2024 05:31:39 +0000 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rfvUf-0000000GRq9-2DGg for linux-arm-kernel@lists.infradead.org; Fri, 01 Mar 2024 05:31:39 +0000 Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id 4215KSKs005706; Fri, 1 Mar 2024 05:31:28 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h= message-id:date:mime-version:subject:to:cc:references:from :in-reply-to:content-type:content-transfer-encoding; s= qcppdkim1; bh=yB1VJm2hOJUD0UuBaAKGnWCuyafuiIJJntQs+g3WvVA=; b=ll +regE5MxXb+iv9UOSg3SrtQd2JZGeWRK+cTGmL9SL6EjTVU76By2vm21vHGatjFz KfwWKbl8C3Qy8pkt7N4eXh1ZrOqiaZ0dzn27Z4i5JzNMOwNl6y56UnXNkysg1jfL pmKg4sgFKCwYo2iT4FOda3fTFBfq/g8/gRt2zba2C+ewmN/xWN7kKEek8+rbMEnT 9Dwgk5gsTlTPhlAvAH8LPSNFMVuXQwvVVsXEXj8z3xYFScXE4otwhl2Mw8acRbVs uXLl8pcmuziNvSrNgSs7IQW1KgHMRlgnImF6fDSbSRDJ2qhJYHYsDQQAfXT/B6B5 IOav246T/RQkO47bTWwQ== Received: from nalasppmta01.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3wk5brrec5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 01 Mar 2024 05:31:27 +0000 (GMT) Received: from nalasex01a.na.qualcomm.com (nalasex01a.na.qualcomm.com [10.47.209.196]) by NALASPPMTA01.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 4215VQD5008730 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 1 Mar 2024 05:31:26 GMT Received: from [10.131.33.37] (10.80.80.8) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.40; Thu, 29 Feb 2024 21:31:22 -0800 Message-ID: <08018d07-79cf-cebd-aba5-214afbc5001d@quicinc.com> Date: Fri, 1 Mar 2024 11:01:19 +0530 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Subject: Re: [PATCH V3 2/2] cpufreq: scmi: Register for limit change notifications Content-Language: en-US To: Lukasz Luba , Cristian Marussi CC: , , , , , , , , , , References: <20240227181632.659133-1-quic_sibis@quicinc.com> <20240227181632.659133-3-quic_sibis@quicinc.com> <2608b2d8-f3b0-b4f5-f8e4-1f2242043ded@quicinc.com> <64c6a1bc-92f2-4f44-ab10-cbd2473746f3@arm.com> <18c249b2-ce8c-435b-8d65-a1770a1f294e@arm.com> <7c82b316-89d9-470d-b46d-f86e81e2add3@arm.com> <66ca73cc-8bdd-453a-951c-5e0166340edd@arm.com> From: Sibi Sankar In-Reply-To: <66ca73cc-8bdd-453a-951c-5e0166340edd@arm.com> X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) To nalasex01a.na.qualcomm.com (10.47.209.196) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: JTiHW5wWJNNYXA4P757PcCEeffN7Jshm X-Proofpoint-ORIG-GUID: JTiHW5wWJNNYXA4P757PcCEeffN7Jshm X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-03-01_02,2024-02-29_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 mlxlogscore=999 malwarescore=0 suspectscore=0 priorityscore=1501 bulkscore=0 clxscore=1015 spamscore=0 mlxscore=0 impostorscore=0 adultscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2402120000 definitions=main-2403010043 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240229_213137_732392_70EDA8BF X-CRM114-Status: GOOD ( 42.96 ) 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 CgpPbiAyLzI5LzI0IDE5OjQ1LCBMdWthc3ogTHViYSB3cm90ZToKPiAKPiAKPiBPbiAyLzI5LzI0 IDEyOjExLCBDcmlzdGlhbiBNYXJ1c3NpIHdyb3RlOgo+PiBPbiBUaHUsIEZlYiAyOSwgMjAyNCBh dCAxMTo0NTo0MUFNICswMDAwLCBMdWthc3ogTHViYSB3cm90ZToKPj4+Cj4+Pgo+Pj4gT24gMi8y OS8yNCAxMToyOCwgQ3Jpc3RpYW4gTWFydXNzaSB3cm90ZToKPj4+PiBPbiBUaHUsIEZlYiAyOSwg MjAyNCBhdCAxMDoyMjozOUFNICswMDAwLCBMdWthc3ogTHViYSB3cm90ZToKPj4+Pj4KPj4+Pj4K Pj4+Pj4gT24gMi8yOS8yNCAwOTo1OSwgTHVrYXN6IEx1YmEgd3JvdGU6Cj4+Pj4+Pgo+Pj4+Pj4K Pj4+Pj4+IE9uIDIvMjgvMjQgMTc6MDAsIFNpYmkgU2Fua2FyIHdyb3RlOgo+Pj4+Pj4+Cj4+Pj4+ Pj4KPj4+Pj4+PiBPbiAyLzI4LzI0IDE4OjU0LCBMdWthc3ogTHViYSB3cm90ZToKPj4+Pj4+Pj4K Pj4+Pj4+Pj4KPj4+Pj4+Pj4gT24gMi8yNy8yNCAxODoxNiwgU2liaSBTYW5rYXIgd3JvdGU6Cj4+ Pj4+Pj4+PiBSZWdpc3RlciBmb3IgbGltaXQgY2hhbmdlIG5vdGlmaWNhdGlvbnMgaWYgc3VwcG9y dGVkIGFuZCB1c2UKPj4+Pj4+Pj4+IHRoZSB0aHJvdHRsZWQKPj4+Pj4+Pj4+IGZyZXF1ZW5jeSBm cm9tIHRoZSBub3RpZmljYXRpb24gdG8gYXBwbHkgSFcgcHJlc3N1cmUuCj4+Pj4+Pj4KPj4+Pj4+ PiBMdWthc3osCj4+Pj4+Pj4KPj4+Pj4+PiBUaGFua3MgZm9yIHRha2luZyB0aW1lIHRvIHJldmll dyB0aGUgc2VyaWVzIQo+Pj4+Pj4+Cj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTog U2liaSBTYW5rYXIgPHF1aWNfc2liaXNAcXVpY2luYy5jb20+Cj4+Pj4+Pj4+PiAtLS0KPj4+Pj4+ Pj4+Cj4+Pj4+Pj4+PiB2MzoKPj4+Pj4+Pj4+ICogU2FuaXRpemUgcmFuZ2VfbWF4IHJlY2VpdmVk IGZyb20gdGhlIG5vdGlmaWVyLiBbUGllcnJlXQo+Pj4+Pj4+Pj4gKiBVcGRhdGUgY29tbWl0IG1l c3NhZ2UuCj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gw6/Cv8K9IGRyaXZlcnMvY3B1ZnJlcS9zY21pLWNw dWZyZXEuYyB8IDI5IAo+Pj4+Pj4+Pj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KPj4+ Pj4+Pj4+IMOvwr/CvSAxIGZpbGUgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv bigtKQo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2NwdWZyZXEvc2Nt aS1jcHVmcmVxLmMKPj4+Pj4+Pj4+IGIvZHJpdmVycy9jcHVmcmVxL3NjbWktY3B1ZnJlcS5jCj4+ Pj4+Pj4+PiBpbmRleCA3NmEwZGRiZDlkMjQuLjc4Yjg3YjcyOTYyZCAxMDA2NDQKPj4+Pj4+Pj4+ IC0tLSBhL2RyaXZlcnMvY3B1ZnJlcS9zY21pLWNwdWZyZXEuYwo+Pj4+Pj4+Pj4gKysrIGIvZHJp dmVycy9jcHVmcmVxL3NjbWktY3B1ZnJlcS5jCj4+Pj4+Pj4+PiBAQCAtMjUsOSArMjUsMTMgQEAg c3RydWN0IHNjbWlfZGF0YSB7Cj4+Pj4+Pj4+PiDDr8K/wr3Dr8K/wr3Dr8K/wr3Dr8K/wr3Dr8K/ wr0gaW50IGRvbWFpbl9pZDsKPj4+Pj4+Pj4+IMOvwr/CvcOvwr/CvcOvwr/CvcOvwr/CvcOvwr/C vSBpbnQgbnJfb3BwOwo+Pj4+Pj4+Pj4gw6/Cv8K9w6/Cv8K9w6/Cv8K9w6/Cv8K9w6/Cv8K9IHN0 cnVjdCBkZXZpY2UgKmNwdV9kZXY7Cj4+Pj4+Pj4+PiArw6/Cv8K9w6/Cv8K9w6/Cv8K9IHN0cnVj dCBjcHVmcmVxX3BvbGljeSAqcG9saWN5Owo+Pj4+Pj4+Pj4gw6/Cv8K9w6/Cv8K9w6/Cv8K9w6/C v8K9w6/Cv8K9IGNwdW1hc2tfdmFyX3Qgb3BwX3NoYXJlZF9jcHVzOwo+Pj4+Pj4+Pj4gK8Ovwr/C vcOvwr/CvcOvwr/CvSBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgbGltaXRfbm90aWZ5X25iOwo+Pj4+ Pj4+Pj4gw6/Cv8K9IH07Cj4+Pj4+Pj4+PiArY29uc3Qgc3RydWN0IHNjbWlfaGFuZGxlICpoYW5k bGU7Cj4+Pj4+Pgo+Pj4+Pj4gSSd2ZSBtaXNzZWQgdGhpcyBiaXQgaGVyZS4KPj4+Pj4KPj4+Pj4g U28gZm9yIHRoaXMgY2hhbmdlIHdlIGFjdHVhbGx5IGhhdmUgdG8gYXNrIENyaXN0aWFuIG9yIFN1 ZGVlcAo+Pj4+PiBiZWNhdXNlIEknbSBub3Qgc3VyZSBpZiB3ZSBoYXZlIG9ubHkgb25lICdoYW5k bGUnIGluc3RhbmNlCj4+Pj4+IGZvciBhbGwgY3B1ZnJlcSBkZXZpY2VzLgo+Pj4+Pgo+Pj4+PiBJ ZiB3ZSBoYXZlIGRpZmZlcmVudCAnaGFuZGxlJyB3ZSBjYW5ub3QgbW92ZSBpdCB0byB0aGUKPj4+ Pj4gZ2xvYmFsIHNpbmdsZSBwb2ludGVyLgo+Pj4+Pgo+Pj4+PiBTdWRlZXAsIENyaXN0aWFuIHdo YXQgZG8geW91IHRoaW5rPwo+Pj4+Cj4+Pj4gSSB3YXMganVzdCByZXBseWluZyBub3RpY2luZyB0 aGlzIDpEIC4uLi4gc2luY2UgU0NNSSBkcml2ZXJzIGNhbiBiZQo+Pj4+IHByb2JlZCBtdWx0aXBs ZSB0aW1lcyBJRiB5b3UgZGVmaW5lZCBtdWx0aXBsZSBzY21pIHRvcCBub2RlcyBpbiB5b3VyIERU Cj4+Pj4gY29udGFpbmluZyB0aGUgc2FtZSBwcm90b2NvbCBub2RlcywgdGhleSByZWNlaXZlIGEg ZGlzdGluY3QgCj4+Pj4gc2Rldi9oYW5kbGUvcGgKPj4+PiBmb3IgZWFjaCBwcm9iZS4uLnNvIGFu eSBhdHRlbXB0IHRvIGdsb2JhbGl6ZSB0aGVzZSB3b250IHdvcmsuLi5CVVQuLi4KPj4+Pgo+Pj4+ IC4uLnRoaXMgaXMgYSBiaXQgb2YgYSB3ZWlyZCBzZXR1cCBCVVQgaXQgaXMgbm90IGFnYWluc3Qg dGhlIHNwZWMgYW5kIAo+Pj4+IGl0IGNhbgo+Pj4+IGJlIHVzZWQgdG8gcGFyYWxsZWxpemUgbW9y ZSB0aGUgU0NNSSBhY2Nlc3NlcyB0byBkaXNqb250IHNldCBvZiAKPj4+PiByZXNvdXJjZXMKPj4+ PiB3aXRoaW4gdGhlIHNhbWUgcHJvdG9jb2wgKGEgbG9uZyBzdG9yeSBoZXJlLi4uKSBBTkQgdGhp cyB0eXBlIG9mIAo+Pj4+IHNldHVwIGlzCj4+Pj4gc29tZXRoaW5nIHRoYXQgaXQgaXMgYWxyZWFk eSB1c2VkIGJ5IHNvbWUgb3RoZXIgY29sbGVhZ3VlcyBvZiBTaWJpIAo+Pj4+IHdvcmtpbmcKPj4+ PiBvbiBhIGRpZmZlcmVudCBsaW5lIG9mIHByb2R1Y3RzIChBRkFJSykuLi4KPj4+Pgo+Pj4+IFNv LCBmb3IgdGhlc2UgcmVhc29ucywgdXN1YWxseSwgYWxsIHRoZSBvdGhlciBTQ01JIGRyaXZlcnMg aGF2ZSAKPj4+PiBwZXItaW5zdGFuY2UKPj4+PiBub24tZ2xvYmFsIHJlZmVyZW5jZXMgdG8gaGFu ZGxlL3NkZXYvcGguLi4uCj4+Pj4KPj4+PiAuLi5oYXZpbmcgc2FpZCB0aGF0LCB0aG91Z2h0LCBs b29raW5nIGF0IHRoZSBzdHJ1Y3R1cmUgb2YgQ1BVRlJlcQo+Pj4+IGRyaXZlcnMsIEkgYW0gbm90 IHN1cmUgdGhhdCB0aGV5IGNhbiBzdGFuZCBzdWNoIGEgc2ltaWxhciBzZXR1cAo+Pj4+IHdoZXJl IG11bHRpcGxlIGluc3RhbmNlcyBvZiB0aGlzIHNhbWUgZHJpdmVyIGFyZSBwcm9iZWQKPj4+Pgo+ Pj4+IC4uLi4gaW5kZWVkIHRoZSBleGlzdGVudCAqcGggcmVmcyBhYm92ZSBpcyBhbHJlYWR5IGds b2JhbC4uLi5zbyBpdCAKPj4+PiB3b250IGFscmVhZHkKPj4+PiB3b3JrIGFueXdheSBpbiBjYXNl IG9mIG11bHRpcGxlIGluc3RhbmNlcyBub3cuLi4KPj4+Pgo+Pj4+IC4uLmFuZCBpZiBJIGxvb2sg YXQgaG93IENQVUZyZXEgZXhwZWN0cyB0aGUgc2lnbmF0dXJlIG9mIAo+Pj4+IHNjbWlfY3B1ZnJl cV9nZXRfcmF0ZSgpCj4+Pj4gdG8gYmUgYW5uZCBob3cgaXQgaXMgaW1wbGVtZW50ZWQgbm93IHVz aW5nIHRoZSBnbG9iYWwgKnBoIHJlZmVyZW5jZSwgCj4+Pj4gaXQgaXMKPj4+PiBjbGVhcmx5IGFs cmVhZHkgbm90IHdvcmtpbmcgY2xlYW5seSBvbiBhIG11bHRpLWluc3RhbmNlIHNldHVwLi4uCj4+ Pj4KPj4+PiAuLi5ub3cuLi5JIGNhbiBpbWFnaW5lIGhvdyB0byAobWF5YmUpIGZpeCB0aGUgYWJv dmUgcmVtb3ZpbmcgdGhlIAo+Pj4+IGdsb2JhbHMgYW5kCj4+Pj4gZml4aW5nIHRoaXMsIEJVVCB0 aGUgcXVlc3Rpb24sIG1vcmUgZ2VuZXJhbGx5LCBpcyBDUFVGcmVxIHN1cHBvc2VkIAo+Pj4+IHRv IHdvcmsgYXQgYWxsIGluCj4+Pj4gdGhpcyBtdWx0aS1wcm9iZWQgbW9kZSBvZiBvcGVyYXRpb24g Pwo+Pj4+IERvZXMgaXQgZXZlbiBtYWtlIHNlbnNlIHRvIGJlIGFibGUgdG8gc3VwcG9ydCB0aGlz IGluIENQVUZSRVEgPwo+Pj4+Cj4+Pj4gKGFzIGFuIGV4YW1wbGUgaW4gY3B1ZnJlcSxjIHRoZXJl IGlzIHN0YXRpYyBnbG9iYWwgY3B1ZnJlcV9kcml2ZXIKPj4+PiDCoMKgIHBvaW50aW5nIHRvIHRo ZSBhcmNoLXNwZWNpZmljIGNvbmZpZ3VyZWQgZHJpdmVyIEJVVCB0aGF0IGFsc28gaG9sZHMKPj4+ PiDCoMKgIHNvbWUgLmRyaXZlcl9kYXRhIEFORCB0aGF0IGNsZXJhbHkgd29udCBiZSBpbnN0YW5j ZSBzcGVjaWZpYyBpZiB5b3UKPj4+PiDCoMKgIHByb2JlIG11bHRpcGxlIHRpbWVzIGFuZCByZWdp c3RlciB3aXRoIENQVUZyZXEgbXVsdGlwbGUgdGltZXMuLi4pCj4+Pj4KPj4+PiDCoMKgIE1vcmUg cXVlc3Rpb25zIHRoYW4gYW5zd2VycyBoZXJlIDpECj4+Pj4KPj4+Cj4+PiBUaGFua3MgQ3Jpc3Rp YW4gZm9yIGluc3RhbnQgcmVzcG9uc2UuIFllcywgaW5kZWVkIG5vdyB3ZSBoYXZlIG1vcmUKPj4+ IHF1ZXN0aW9ucyA6KSAod2hpY2ggaXMgZ29vZCkuIEJ1dCB0aGF0J3MgZ29vZCBkZXNjcmlwdGlv biBvZiB0aGUKPj4+IHNpdHVhdGlvbi4KPj4+Cj4+PiBTbyBsZXRzIGNvbnNpZGVyIGEgZmV3IG9w dGlvbiB3aGF0IHdlIGNvdWxkIGRvIG5vdzoKPj4+IDEuIExldCBTaWJpIGFkZCBhbm90aGVyIGds b2JhbCBzdGF0ZSB0aGUgJ2hhbmRsZScgYnV0IGFkZAo+Pj4gwqDCoMKgIGEgQlVHX09OKCkgb3Ig V0FSTl9PTigpIGluIHRoZSBwcm9iZSBwYXRoIGlmIHRoZSBuZXh0Cj4+PiDCoMKgwqAgJ2hhbmRs ZScgaW5zdGFuY2UgaXMgZGlmZmVyZW50IHRoYW4gYWxyZWFkeSBzZXQgaW4gZ2xvYmFsLgo+Pj4g wqDCoMKgIFRoaXMgd291bGQgc2ltcGx5IG1lYW4gdGhhdCB3ZSBkb24ndCBzdXBwb3J0ICh5ZXQp Cj4+PiDCoMKgwqAgc3VjaCBjb25maWd1cmF0aW9uIGluIGEgcGxhdGZvcm0uIEFzIHlvdSBzYWlk LCB3ZQo+Pj4gwqDCoMKgIGFscmVhZHkgaGF2ZSB0aGUgKnBoIGdsb2JhbCwgc28gbWF5YmUgc3Vj aCBwbGF0Zm9ybXMKPj4+IMKgwqDCoCB3aXRoIG11bHRpcGxlIGluc3RhbmNlcyBmb3IgdGhpcyBw YXJ0aWN1bGFyIGNwdWZyZXEgYW5kCj4+PiDCoMKgwqAgcGVyZm9ybWFuY2UgcHJvdG9jb2wgZG9u J3QgZXhpc3QgeWV0Lgo+Pgo+PiBZZXMgdGhpcyBpcyB0aGUgcXVpY2tzdCB3YXkgKGFuZCBhIFdB Uk5fT04oKSBpcyBiZXR0ZXIgSSdkIHNheSkgYnV0IHRoZXJlCj4+IGFyZSBzaW1pbGFyIGlzc3Vl cyBvZiAidW5pY2l0eSIgY3VycmVudGx5IGFscmVhZHkgd2l0aCBhbm90aGVyIHZlbmRvciAKPj4g U0NNSQo+PiBkcml2ZXJzIGFuZCBjdXN0b20gcHJvdG9jb2wgY3VycmVudGx5IHVuZGVyIHJldmll dywgc28gSSB3YXMgdGhpbmtpbmcgdG8KPj4gYWRkIGEgbmV3IGNvbW1vbiBtZWNoYW5pc20gaW4g U0NNSSB0byBoYW5kbGUgdGhpcyAuLi4gbm90IHRob3VnaHQgYWJvdXQKPj4gdGhpcyByZWFsbHkg aW4gZGVwdGggYW5kIEkgd2FudCB0byBjaGF0IHdpdGggU3VkZWVwIGFib3V0IHRoaXMuLi4KPj4K Pj4+IDIuIEFzayBTaWJpIHRvIHdhaXQgd2l0aCB0aGlzIGNoYW5nZSwgdGlsbCB3ZSByZWZhY3Rv ciB0aGUKPj4+IMKgwqDCoCBleGl0aW5nIGRyaXZlciBzdWNoIHRoYXQgaXQgY291bGQgc3VwcG9y dCBlYXNpbHkgdGhvc2UKPj4+IMKgwqDCoCBtdWx0aXBsZSBpbnN0YW5jZXMuIFRoZW4gcGljayB1 cCB0aGlzIHBhdGNoIHNldC4KPj4+IMKgwqDCoCBBbHRob3VnaCwgd2Ugd291bGQgYWxzbyBsaWtl IHRvIGhhdmUgdGhvc2Ugbm90aWZpY2F0aW9ucyBmcm9tIG91cgo+Pj4gwqDCoMKgIEp1bm8gU0NQ IHJlZmVyZW5jZSBGVywgc28gdGhlIGZlYXR1cmUgaXMgdXNlZnVsLgo+Pj4gMy4gQXNrIFNpYmkg dG8gcmVmYWN0b3IgaGlzIHBhdGNoIHRvIHNvbWVob3cgZ2V0IHRoZSAnaGFuZGxlJwo+Pj4gwqDC oMKgIGluIGRpZmZlcmVudCB3YXksIHVzaW5nIGV4aXRpbmcgY29kZSBhbmQgbm90IGludHJvZHVj ZSB0aGlzIGdsb2JhbC4KPj4+Cj4+Cj4+PiBJSE1PIHdlIGNvdWxkIGRvIHRoaXMgaW4gc3RlcHM6 IDEuIGFuZCB0aGVuIDIuIFdoZW4KPj4+IHdlIGNyZWF0ZSBzb21lIG1vY2sgcGxhdGZvcm0gdG8g dGVzdCB0aGlzIHJlZmFjdG9yaW5nIHdlIGNhbgo+Pj4gc3RhcnQgY2xlYW5pbmcgaXQuCgpJIHNo b3VsZCBiZSBhYmxlIHRvIHZvbHVudGVlciBhIHBsYXRmb3JtIHRvIHRlc3QgYWdhaW5zdCB3aGVu CndlIGhhdmUgdGhpbmdzIHJlYWR5LgoKPj4+Cj4+Cj4+IEJvdGggb2YgdGhlc2Ugb3B0aW9ucyBy ZWFsbHkgYmVnIGFuIGFuc3dlciB0byBteSBvcmlnaW5hbCBwcmV2aW91cyBxCj4+IHF1ZXN0aW9u Li4uaWYgd2Ugc29tZWhvdyBlbmFibGUgdGhpcyBtdWx0aS1wcm9iZSBzdXBwb3J0IGluIHRoZQo+ PiBzY21pLWNwdWZyZXEuYyBkcml2ZXIgYnkgYXZvaWRpbmcgZ2xiYWxzIHJlZnMsIGRvZXMgdGhp cyB3b3JrIGF0IGFsbCBpbgo+PiB0aGUgY29udGV4dCBvZiBDUFVGcmVxID8KPiAKPiBJIGRvbid0 IGtub3cgeWV0Lgo+IAo+Pgo+PiAuLi5vciBpdCBpcyBqdXN0IHRoYXQgQ1BVRnJlcSBjYW5ub3Qg aGFuZGxlIHN1Y2ggYSBjb25maWd1cmF0aW9uIChhbmQKPj4gbWF5YmUgZG9udCB3YW50IHRvKSBh bmQgc28gdGhlIG9ubHkgc29sdXRpb24gaGVyZSBpcyBqdXN0IDEuIGF0IGZpcnN0IGFuZAo+PiB0 aGVuIGEgY29tbW9uIHJlZmluZWQgbWVjaGFuaXNtIChhcyBtZW50aW9uZWQgYWJvdmUpIHRvIGVu c3VyZSB0aGlzIAo+PiAidW5pY2l0eSIKPj4gb2YgdGhlIHByb2JlcyBmb3Igc29tZSBkcml2ZXJz ID8KPiAKPiBUaGlzIHNvdW5kcyByZWFzb25hYmxlLgo+IAo+Pgo+PiBJJ20gbm90IGZhbWlsaWFy IGVub3VnaCB0byBncmFzcCBpZiB0aGlzICJtdWx0aS1wcm9iZWQiIG1vZGUgb2YgCj4+IG9wZXJh dGlvbiBpcwo+PiBhbGxvd2VkL3N1cHBvcnRlZCBieSBDUFVGcmVxIGFuZCwgbW9yZSBpbXBvcnRh bnQsIGlmIGl0IG1ha2VzIGFueSBzZW5zZQo+PiBhdCBhbGwgdG8gYmUgYSBzdXBwb3J0ZWQgbW9k ZS4uLgo+Pgo+IAo+IE9LLCBsZXQgbWUgY2hlY2sgc29tZSBzdHVmZiBpbiB0aGUgY29kZSBhbmQg dGhpbmsgZm9yIGEgd2hpbGUgb24gdGhhdC4KPiBUaGFua3MgQ3Jpc3RpYW4hCj4gCj4gU2liaSwg cGxlYXNlIGdpdmUgbWUgYSBmZXcgZGF5cy4gSW4gdGhlIG1lYW50aW1lIHlvdSBjYW4gY29udGlu dWUKPiBvbiB0aGUgJ2Jvb3N0JyBwYXRjaCBzZXQgcHJvYmFibHkuCgpzdXJlLCB0aGFua3MuIEkn dmUgcGxlbnR5IHRoaW5ncyB0byBzZW5kIG91dCBzbyBubyBodXJyeSA7KQoKLVNpYmkKCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2Vy bmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0 cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVs Cg==