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 X-Spam-Level: X-Spam-Status: No, score=-10.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 34F61C433E0 for ; Mon, 22 Mar 2021 23:02:26 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A3DAC61984 for ; Mon, 22 Mar 2021 23:02:25 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A3DAC61984 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Type: Content-Transfer-Encoding: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=zFR3FjAWGkH5b02nwVK67Uax0wCQ0sGQRKhWgjeC+ro=; b=jR8zi00KqVZ73PO5sh/J2OlO5 JMfn0SO69jZNKyiP7FZ3bqPzRWNGmWC3qChr/iV4VUx8uC0uFAS6hG9f2ba4gdlYkv/XizGSOWo6g e+u4e+CTe7B/AQmxi6LNkV4kuogPWbw8GZpl2em9W8rbV52sD9H/ArhDUYJU4NWY5Mvp7PtaFfzvp rEIt8pec82NHZKNLlGVFxpAPB/EsVtkSZQtwFGkHnXySbZl9HgHbYa20VLGiBj4+uWNsqZBgJ1PS7 VjR/SxpC13IOKNfN6DtpIjxtHWufpCYVda8OMB9J2jxY4PM/E/lK6C/eDOmz/XjLx1P6zGEBLTomR YzYqFGvpA==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lOTXP-00Cn0K-32; Mon, 22 Mar 2021 23:00:43 +0000 Received: from foss.arm.com ([217.140.110.172]) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lOTXK-00Cmz2-LC for linux-arm-kernel@lists.infradead.org; Mon, 22 Mar 2021 23:00:40 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id DF45ED6E; Mon, 22 Mar 2021 16:00:36 -0700 (PDT) Received: from [10.57.55.187] (unknown [10.57.55.187]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E16583F792; Mon, 22 Mar 2021 16:00:35 -0700 (PDT) Subject: Re: [PATCH v4 18/19] coresight: sink: Add TRBE driver To: Mathieu Poirier , Mike Leach Cc: linux-arm-kernel , Linux Kernel Mailing List , Anshuman Khandual , Leo Yan References: <20210225193543.2920532-1-suzuki.poulose@arm.com> <20210225193543.2920532-19-suzuki.poulose@arm.com> <5685C840-7F03-4A53-9183-D5771308F5B8@arm.com> <20210322212443.GB1684006@xps15> From: Suzuki K Poulose Message-ID: <29a2e793-c679-939f-70fb-455effbcaba1@arm.com> Date: Mon, 22 Mar 2021 23:00:34 +0000 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 MIME-Version: 1.0 In-Reply-To: <20210322212443.GB1684006@xps15> Content-Language: en-GB X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210322_230039_000011_30C88A3D X-CRM114-Status: GOOD ( 43.36 ) 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 T24gMjIvMDMvMjAyMSAyMToyNCwgTWF0aGlldSBQb2lyaWVyIHdyb3RlOgo+IE9uIEZyaSwgTWFy IDE5LCAyMDIxIGF0IDExOjU1OjEwQU0gKzAwMDAsIE1pa2UgTGVhY2ggd3JvdGU6Cj4+IEhJIFN1 enVraSwKPj4KPj4gT24gRnJpLCAxOSBNYXIgMjAyMSBhdCAxMDozMCwgU3V6dWtpIEsgUG91bG9z ZSA8c3V6dWtpLnBvdWxvc2VAYXJtLmNvbT4gd3JvdGU6Cj4+Pgo+Pj4gSGkgTWlrZQo+Pj4KPj4+ PiBPbiA4IE1hciAyMDIxLCBhdCAxNzoyNiwgTWlrZSBMZWFjaCA8bWlrZS5sZWFjaEBsaW5hcm8u b3JnPiB3cm90ZToKPj4+Pgo+Pj4+IEhpIFN1enVraSwKPj4+Pgo+Pj4+IE9uIFRodSwgMjUgRmVi IDIwMjEgYXQgMTk6MzYsIFN1enVraSBLIFBvdWxvc2UgPHN1enVraS5wb3Vsb3NlQGFybS5jb20+ IHdyb3RlOgo+Pj4+Pgo+Pj4+PiBGcm9tOiBBbnNodW1hbiBLaGFuZHVhbCA8YW5zaHVtYW4ua2hh bmR1YWxAYXJtLmNvbT4KPj4+Pj4KPj4+Pj4gVHJhY2UgQnVmZmVyIEV4dGVuc2lvbiAoVFJCRSkg aW1wbGVtZW50cyBhIHRyYWNlIGJ1ZmZlciBwZXIgQ1BVIHdoaWNoIGlzCj4+Pj4+IGFjY2Vzc2li bGUgdmlhIHRoZSBzeXN0ZW0gcmVnaXN0ZXJzLiBUaGUgVFJCRSBzdXBwb3J0cyBkaWZmZXJlbnQg YWRkcmVzc2luZwo+Pj4+PiBtb2RlcyBpbmNsdWRpbmcgQ1BVIHZpcnR1YWwgYWRkcmVzcyBhbmQg YnVmZmVyIG1vZGVzIGluY2x1ZGluZyB0aGUgY2lyY3VsYXIKPj4+Pj4gYnVmZmVyIG1vZGUuIFRo ZSBUUkJFIGJ1ZmZlciBpcyBhZGRyZXNzZWQgYnkgYSBiYXNlIHBvaW50ZXIgKFRSQkJBU0VSX0VM MSksCj4+Pj4+IGFuIHdyaXRlIHBvaW50ZXIgKFRSQlBUUl9FTDEpIGFuZCBhIGxpbWl0IHBvaW50 ZXIgKFRSQkxJTUlUUl9FTDEpLiBCdXQgdGhlCj4+Pj4+IGFjY2VzcyB0byB0aGUgdHJhY2UgYnVm ZmVyIGNvdWxkIGJlIHByb2hpYml0ZWQgYnkgYSBoaWdoZXIgZXhjZXB0aW9uIGxldmVsCj4+Pj4+ IChFTDMgb3IgRUwyKSwgaW5kaWNhdGVkIGJ5IFRSQklEUl9FTDEuUC4gVGhlIFRSQkUgY2FuIGFs c28gZ2VuZXJhdGUgYSBDUFUKPj4+Pj4gcHJpdmF0ZSBpbnRlcnJ1cHQgKFBQSSkgb24gYWRkcmVz cyB0cmFuc2xhdGlvbiBlcnJvcnMgYW5kIHdoZW4gdGhlIGJ1ZmZlcgo+Pj4+PiBpcyBmdWxsLiBP dmVyYWxsIGltcGxlbWVudGF0aW9uIGhlcmUgaXMgaW5zcGlyZWQgZnJvbSB0aGUgQXJtIFNQRSBk cml2ZXIuCj4+Pj4+Cj4+Pj4+IENjOiBNYXRoaWV1IFBvaXJpZXIgPG1hdGhpZXUucG9pcmllckBs aW5hcm8ub3JnPgo+Pj4+PiBDYzogTWlrZSBMZWFjaCA8bWlrZS5sZWFjaEBsaW5hcm8ub3JnPgo+ Pj4+PiBDYzogU3V6dWtpIEsgUG91bG9zZSA8c3V6dWtpLnBvdWxvc2VAYXJtLmNvbT4KPj4+Pj4g U2lnbmVkLW9mZi1ieTogQW5zaHVtYW4gS2hhbmR1YWwgPGFuc2h1bWFuLmtoYW5kdWFsQGFybS5j b20+Cj4+Pj4+IFNpZ25lZC1vZmYtYnk6IFN1enVraSBLIFBvdWxvc2UgPHN1enVraS5wb3Vsb3Nl QGFybS5jb20+Cj4+Pj4+Cj4+Pj4+ICsKPj4+Pj4gK3N0YXRpYyB1bnNpZ25lZCBsb25nIGFybV90 cmJlX3VwZGF0ZV9idWZmZXIoc3RydWN0IGNvcmVzaWdodF9kZXZpY2UgKmNzZGV2LAo+Pj4+PiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBwZXJmX291 dHB1dF9oYW5kbGUgKmhhbmRsZSwKPj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB2b2lkICpjb25maWcpCj4+Pj4+ICt7Cj4+Pj4+ICsgICAgICAgc3RydWN0 IHRyYmVfZHJ2ZGF0YSAqZHJ2ZGF0YSA9IGRldl9nZXRfZHJ2ZGF0YShjc2Rldi0+ZGV2LnBhcmVu dCk7Cj4+Pj4+ICsgICAgICAgc3RydWN0IHRyYmVfY3B1ZGF0YSAqY3B1ZGF0YSA9IGRldl9nZXRf ZHJ2ZGF0YSgmY3NkZXYtPmRldik7Cj4+Pj4+ICsgICAgICAgc3RydWN0IHRyYmVfYnVmICpidWYg PSBjb25maWc7Cj4+Pj4+ICsgICAgICAgZW51bSB0cmJlX2ZhdWx0X2FjdGlvbiBhY3Q7Cj4+Pj4+ ICsgICAgICAgdW5zaWduZWQgbG9uZyBzaXplLCBvZmZzZXQ7Cj4+Pj4+ICsgICAgICAgdW5zaWdu ZWQgbG9uZyB3cml0ZSwgYmFzZSwgc3RhdHVzOwo+Pj4+PiArICAgICAgIHVuc2lnbmVkIGxvbmcg ZmxhZ3M7Cj4+Pj4+ICsKPj4+Pj4gKyAgICAgICBXQVJOX09OKGJ1Zi0+Y3B1ZGF0YSAhPSBjcHVk YXRhKTsKPj4+Pj4gKyAgICAgICBXQVJOX09OKGNwdWRhdGEtPmNwdSAhPSBzbXBfcHJvY2Vzc29y X2lkKCkpOwo+Pj4+PiArICAgICAgIFdBUk5fT04oY3B1ZGF0YS0+ZHJ2ZGF0YSAhPSBkcnZkYXRh KTsKPj4+Pj4gKyAgICAgICBpZiAoY3B1ZGF0YS0+bW9kZSAhPSBDU19NT0RFX1BFUkYpCj4+Pj4+ ICsgICAgICAgICAgICAgICByZXR1cm4gMDsKPj4+Pj4gKwo+Pj4+PiArICAgICAgIHBlcmZfYXV4 X291dHB1dF9mbGFnKGhhbmRsZSwgUEVSRl9BVVhfRkxBR19DT1JFU0lHSFRfRk9STUFUX1JBVyk7 Cj4+Pj4+ICsKPj4+Pj4gKyAgICAgICAvKgo+Pj4+PiArICAgICAgICAqIFdlIGFyZSBhYm91dCB0 byBkaXNhYmxlIHRoZSBUUkJFLiBBbmQgdGhpcyBjb3VsZCBpbiB0dXJuCj4+Pj4+ICsgICAgICAg ICogZmlsbCB1cCB0aGUgYnVmZmVyIHRyaWdnZXJpbmcsIGFuIElSUS4gVGhpcyBjb3VsZCBiZSBj b25zdW1lZAo+Pj4+PiArICAgICAgICAqIGJ5IHRoZSBQRSBhc3luY2hyb25vdXNseSwgY2F1c2lu ZyBhIHJhY2UgaGVyZSBhZ2FpbnN0Cj4+Pj4+ICsgICAgICAgICogdGhlIElSUSBoYW5kbGVyIGlu IGNsb3Npbmcgb3V0IHRoZSBoYW5kbGUuIFNvLCBsZXQgdXMKPj4+Pj4gKyAgICAgICAgKiBtYWtl IHN1cmUgdGhlIElSUSBjYW4ndCB0cmlnZ2VyIHdoaWxlIHdlIGFyZSBjb2xsZWN0aW5nCj4+Pj4+ ICsgICAgICAgICogdGhlIGJ1ZmZlci4gV2UgYWxzbyBtYWtlIHN1cmUgdGhhdCBhIFdSQVAgZXZl bnQgaXMgaGFuZGxlZAo+Pj4+PiArICAgICAgICAqIGFjY29yZGluZ2x5Lgo+Pj4+PiArICAgICAg ICAqLwo+Pj4+PiArICAgICAgIGxvY2FsX2lycV9zYXZlKGZsYWdzKTsKPj4+Pj4gKwo+Pj4+PiAr ICAgICAgIC8qCj4+Pj4+ICsgICAgICAgICogSWYgdGhlIFRSQkUgd2FzIGRpc2FibGVkIGR1ZSB0 byBsYWNrIG9mIHNwYWNlIGluIHRoZSBBVVggYnVmZmVyIG9yIGEKPj4+Pj4gKyAgICAgICAgKiBz cHVyaW91cyBmYXVsdCwgdGhlIGRyaXZlciBsZWF2ZXMgaXQgZGlzYWJsZWQsIHRydW5jYXRpbmcg dGhlIGJ1ZmZlci4KPj4+Pj4gKyAgICAgICAgKiBTaW5jZSB0aGUgZXRtX3BlcmYgZHJpdmVyIGV4 cGVjdHMgdG8gY2xvc2Ugb3V0IHRoZSBBVVggYnVmZmVyLCB0aGUKPj4+Pj4gKyAgICAgICAgKiBk cml2ZXIgc2tpcHMgaXQuIFRodXMsIGp1c3QgcGFzcyBpbiAwIHNpemUgaGVyZSB0byBpbmRpY2F0 ZSB0aGF0IHRoZQo+Pj4+PiArICAgICAgICAqIGJ1ZmZlciB3YXMgdHJ1bmNhdGVkLgo+Pj4+PiAr ICAgICAgICAqLwo+Pj4+PiArICAgICAgIGlmICghaXNfdHJiZV9lbmFibGVkKCkpIHsKPj4+Pj4g KyAgICAgICAgICAgICAgIHNpemUgPSAwOwo+Pj4+PiArICAgICAgICAgICAgICAgZ290byBkb25l Owo+Pj4+PiArICAgICAgIH0KPj4+Pj4gKyAgICAgICAvKgo+Pj4+PiArICAgICAgICAqIHBlcmYg aGFuZGxlIHN0cnVjdHVyZSBuZWVkcyB0byBiZSBzaGFyZWQgd2l0aCB0aGUgVFJCRSBJUlEgaGFu ZGxlciBmb3IKPj4+Pj4gKyAgICAgICAgKiBjYXB0dXJpbmcgdHJhY2UgZGF0YSBhbmQgcmVzdGFy dGluZyB0aGUgaGFuZGxlLiBUaGVyZSBpcyBhIHByb2JhYmlsaXR5Cj4+Pj4+ICsgICAgICAgICog b2YgYW4gdW5kZWZpbmVkIHJlZmVyZW5jZSBiYXNlZCBjcmFzaCB3aGVuIGV0bSBldmVudCBpcyBi ZWluZyBzdG9wcGVkCj4+Pj4+ICsgICAgICAgICogd2hpbGUgYSBUUkJFIElSUSBhbHNvIGdldHRp bmcgcHJvY2Vzc2VkLiBUaGlzIGhhcHBlbnMgZHVlIHRoZSByZWxlYXNlCj4+Pj4+ICsgICAgICAg ICogb2YgcGVyZiBoYW5kbGUgdmlhIHBlcmZfYXV4X291dHB1dF9lbmQoKSBpbiBldG1fZXZlbnRf c3RvcCgpLiBTdG9wcGluZwo+Pj4+PiArICAgICAgICAqIHRoZSBUUkJFIGhlcmUgd2lsbCBlbnN1 cmUgdGhhdCBubyBJUlEgY291bGQgYmUgZ2VuZXJhdGVkIHdoZW4gdGhlIHBlcmYKPj4+Pj4gKyAg ICAgICAgKiBoYW5kbGUgZ2V0cyBmcmVlZCBpbiBldG1fZXZlbnRfc3RvcCgpLgo+Pj4+PiArICAg ICAgICAqLwo+Pj4+PiArICAgICAgIHRyYmVfZHJhaW5fYW5kX2Rpc2FibGVfbG9jYWwoKTsKPj4+ Pj4gKyAgICAgICB3cml0ZSA9IGdldF90cmJlX3dyaXRlX3BvaW50ZXIoKTsKPj4+Pj4gKyAgICAg ICBiYXNlID0gZ2V0X3RyYmVfYmFzZV9wb2ludGVyKCk7Cj4+Pj4+ICsKPj4+Pj4gKyAgICAgICAv KiBDaGVjayBpZiB0aGVyZSBpcyBhIHBlbmRpbmcgaW50ZXJydXB0IGFuZCBoYW5kbGUgaXQgaGVy ZSAqLwo+Pj4+PiArICAgICAgIHN0YXR1cyA9IHJlYWRfc3lzcmVnX3MoU1lTX1RSQlNSX0VMMSk7 Cj4+Pj4+ICsgICAgICAgaWYgKGlzX3RyYmVfaXJxKHN0YXR1cykpIHsKPj4+Pj4gKwo+Pj4+PiAr ICAgICAgICAgICAgICAgLyoKPj4+Pj4gKyAgICAgICAgICAgICAgICAqIE5vdyB0aGF0IHdlIGFy ZSBoYW5kbGluZyB0aGUgSVJRIGhlcmUsIGNsZWFyIHRoZSBJUlEKPj4+Pj4gKyAgICAgICAgICAg ICAgICAqIGZyb20gdGhlIHN0YXR1cywgdG8gbGV0IHRoZSBpcnEgaGFuZGxlciBrbm93IHRoYXQg aXQKPj4+Pj4gKyAgICAgICAgICAgICAgICAqIGlzIHRha2VuIGNhcmUgb2YuCj4+Pj4+ICsgICAg ICAgICAgICAgICAgKi8KPj4+Pj4gKyAgICAgICAgICAgICAgIGNscl90cmJlX2lycSgpOwo+Pj4+ PiArICAgICAgICAgICAgICAgaXNiKCk7Cj4+Pj4+ICsKPj4+Pj4gKyAgICAgICAgICAgICAgIGFj dCA9IHRyYmVfZ2V0X2ZhdWx0X2FjdChzdGF0dXMpOwo+Pj4+PiArICAgICAgICAgICAgICAgLyoK Pj4+Pj4gKyAgICAgICAgICAgICAgICAqIElmIHRoaXMgd2FzIG5vdCBkdWUgdG8gYSBXUkFQIGV2 ZW50LCB3ZSBoYXZlIHNvbWUKPj4+Pj4gKyAgICAgICAgICAgICAgICAqIGVycm9ycyBhbmQgYXMg c3VjaCBidWZmZXIgaXMgZW1wdHkuCj4+Pj4+ICsgICAgICAgICAgICAgICAgKi8KPj4+Pj4gKyAg ICAgICAgICAgICAgIGlmIChhY3QgIT0gVFJCRV9GQVVMVF9BQ1RfV1JBUCkgewo+Pj4+PiArICAg ICAgICAgICAgICAgICAgICAgICBzaXplID0gMDsKPj4+Pj4gKyAgICAgICAgICAgICAgICAgICAg ICAgZ290byBkb25lOwo+Pj4+PiArICAgICAgICAgICAgICAgfQo+Pj4+Cj4+Pj4gV2UgYXJlIHVz aW5nIFRSQkUgRklMTCBtb2RlIC0gd2hpY2ggaGFsdHMgY2FwdHVyZSBvbiBhIGZ1bGwgYnVmZmVy IGFuZAo+Pj4+IHRyaWdnZXJzIHRoZSBJUlEsIHdpdGhvdXQgZGlzYWJsaW5nIHRoZSBzb3VyY2Ug Zmlyc3QuCj4+Pj4gVGhpcyBtZWFucyB0aGF0IHRoZSBtb2RlIGlzIGluaGVyZW50bHkgbG9zc3kg KHVubGVzcyBieSBzb21lIHVubGlrZWx5Cj4+Pj4gY28taW5jaWRlbmNlIHRoZSBsYXN0IGJ5dGUg dGhhdCBjYXVzZWQgdGhlIHdyYXAgd2FzIGFsc28gdGhlIGxhc3QgYnl0ZQo+Pj4+IHRvIGJlIHNl bnQgZnJvbSBhbiBFVEUgdGhhdCB3YXMgaW4gdGhlIHByb2Nlc3Mgb2YgYmVpbmcgZGlzYWJsZWQu KQo+Pj4+IFRoZXJlZm9yZSB3ZSBtdXN0IGhhdmUgYSBwZXJmX2F1eF9vdXRwdXRfZmxhZyhoYW5k bGUsCj4+Pj4gUEVSRl9BVVhfRkxBR19UUlVOQ0FURUQpIGNhbGwgaW4gaGVyZSB0byBzaWduYWwg dGhhdCBzb21lIHRyYWNlIHdhcwo+Pj4+IGxvc3QsIGZvciBjb25zaXN0ZW5jZSBvZiBvcGVyYXRp b24gd2l0aCBFVFIgZXRjLCBhbmQgaW50ZWxwdC4KPj4+Pgo+Pj4KPj4+IEkgYWdyZWUgdGhhdCB0 aGUgdGhlcmUgaXMgYSBiaXQgb2YgbG9zcyBoZXJlIGR1ZSB0byB0aGUgRklMTCBtb2RlLiBCdXQg aXQgaXMgbm90ICBjb21wYXJhYmxlIHRvIHRoYXQgb2YgdGhlIEVUUi4gSW4gdGhpcyBjYXNlLCB0 aGUgV1JBUCBldmVudCBpcyB0cmlnZ2VyZWQgd2hlbiB3ZSBmbHVzaCB0aGUgRVRFLiBpLmUsIHRo aXMgY291bGQgYmUgbW9zdGx5IGR1ZSB0byB0aGUgZmFjdCB0aGF0IHRoZSB0cmFjaW5nIHdhcyBl bmFibGVkIGZvciB0aGUga2VybmVsIG1vZGUgYW5kIHRoZSBsYXN0IGZldyBieXRlcyBvZiB0cmFj ZSB3aGljaCBjYXVzZWQgdGhlIEZJTEwgYmVsb25nIHRvIHRoZSBjb2RlIHJlc3BvbnNpYmxlIGZv ciBzdG9wcGluZyB0aGUgY29tcG9uZW50cyBpbiB0aGUgQ29yZVNpZ2h0IHRyYWNlLiBJIHBlcnNv bmFsbHkgZG8gbm90IHRoaW5rIHRoaXMgZGF0YSBpcyBvZiBhbnkgaW50ZXJlc3QgdG8gdGhlIHVz ZXIuCj4+PiBPdGhlcndpc2UsIGlmIHRoZSBkYXRhIGRpZG7igJl0IGJlbG9uZyB0byB0aGUgcGVy ZiBldmVudCBzaWRlLCBpdCBzaG91bGQgaGF2ZSB0cmlnZ2VyZWQgdGhlIElSUS4KPj4+Cj4+PiBU aGlzIGlzIHRydWUgaW4gY2FzZSBvZiB0aGUgYnVmZmVyIG92ZXJmbG93IGludGVycnVwdCB0b28s IHdpdGggYSBiaXQgbW9yZSBkYXRhIGxvc3QuIGkuZSwgc2luY2UgdGhlIGludGVycnVwdCBpcyBQ UEksIHRoZSBvdmVyZmxvdyBpcyB0cmlnZ2VyZWQgd2hlbiB0aGUgYnVmZmVyIGlzIGZ1bGwgKHdo aWNoIGluY2x1ZGVzIHRoZSBkYXRhIHRoYXQgaXMgY2FjaGVkIGluIHRoZSBUUkJFKS4gQnV0IHRo ZXJlIGNvdWxkIGJlIGEgYml0IG9mIGRhdGEgdGhhdCBpcyBzdGlsbCBjYWNoZWQgaW4gdGhlIEVU RSwgYmVmb3JlIGl0IGlzIGNhcHR1cmVkIGluIHRoZSB0cmFjZS4gQW5kIHRoZSBtb21lbnQgd2Ug Z2V0IGEgRklMTCBldmVudCwgd2Ugc3RvcCBleGVjdXRpbmcgYW55dGhpbmcgdGhhdCBpcyByZWxl dmFudCBmb3IgdGhlIFRyYWNlIHNlc3Npb24gKGFzIHdlIGFyZSBpbiB0aGUgZHJpdmVyIGhhbmRs aW5nIHRoZSBpbnRlcnJ1cHQpLgo+Pj4gQW5kIHRoZW4gd2UgcmVjb25maWd1cmUgdGhlIGJ1ZmZl ciB0byBjb250aW51ZSB0aGUgZXhlY3V0aW9uLiBOb3csIHRoZSBpbnRlcnJ1cHQgZGVsaXZlcnkg aXMgbm90IG5lY2Vzc2FyaWx5IHN5bmNocm9ub3VzIGFuZCB0aGVyZSBjb3VsZCBiZSBkYXRhIGxv c3QgaW4gdGhlIGludGVydmFsIGJldHdlZW4gV1JBUCBldmVudCBhbmQgdGhlIElSUSBpcyB0cmln Z2VyZWQuCj4+Pgo+Pj4gSSBhbSBPSyB3aXRoIHN1Z2dlc3RpbmcgdGhhdCB0aGVyZSB3YXMgc29t ZSBsb3NzIG9mIHRyYWNlIGRhdGEgZHVyaW5nIHRoZSBzZXNzaW9uLCBpZiB3ZSBoaXQgV1JBUCBl dmVudC4gQnV0IHRoaXMgY291bGQgY2F1c2Ugd29ycnkgdG8gdGhlIGNvbnN1bWVycyB0aGF0IHRo ZXkgbG9zdCB0b28gbXVjaCBvZiB0cmFjZSBkYXRhIG9mIHRoZWlyIGludGVyZXN0LCB3aGlsZSB0 aGF0IGlzIG5vdCB0aGUgY2FzZS4KPj4+Cj4+Cj4+IFdlIGNhbiBuZXZlciBrbm93IHdoYXQgaGFz IGJlZW4gbG9zdC4gSXQgbWF5IGJlIHNvbWUgdHJhY2UgYXJvdW5kIHRoZQo+PiBkcml2ZXIgb2Yg bm8gaW50ZXJlc3QgdG8gdGhlIHVzZXIsIGl0IG1heSBhbHNvIGJlIGFuIGV2ZW50IG9yCj4+IHRp bWVzdGFtcCByZWxhdGVkIHRvIGFuIGVhcmxpZXIgbWFya2VyIC0gd2hpY2ggY291bGQgYmUgaGln aGx5Cj4+IHJlbGV2YW50Lgo+PiBXaXRoIEVUUiB3ZSBkbyBub3Qga25vdyBob3cgbXVjaCBpcyBs b3N0IG9uIHdyYXAgLSBpdCBtaWdodCBiZSBvbmUKPj4gYnl0ZSwgaXQgbWlnaHQgYmUgbXVjaCBt b3JlIC0gYnV0IHRoZSBwb2ludCBpcyB3ZSBtYXJrIGFzIHRydW5jYXRlZAo+PiBmb3IgX2FueV8g YW1vdW50Lgo+Pgo+PiBJdCBpcyB1bmZvcnR1bmF0ZSB0aGF0IHdlIHdpbGwgc2VlIG11bHRpcGxl IGJ1ZmZlcnMgbWFya2VkIGFzCj4+IHRydW5jYXRlZCAtIGJ1dCB0aGlzIGlzIGZhciBiZXR0ZXIg dGhhbiBjcmVhdGluZyB0aGUgZmFsc2UgaW1wcmVzc2lvbgo+PiB0aGF0IG5vIHRyYWNlIGhhcyBi ZWVuIGxvc3QgLSB0aGF0IHRoZXJlIGlzIGEgY29udGludW91cyByZWNvcmQgd2hlcmUKPj4gdGhl cmUgaXMgbm90Lgo+PiBGb3Igc29tZSB1c2VycyAtIHN1Y2ggYXMgYXV0b2ZkbyB3aGVyZSBzYW1w bGluZyBpcyB0YWtpbmcgcGxhY2UgYW55d2F5Cj4+IC0gdHJ1bmNhdGVkIGJ1ZmZlcnMgcHJvYmFi bHkgZG8gbm90IG1hdHRlci4gRm9yIG90aGVycyAtIHdobyBhcmUKPj4gbG9va2luZyB0byB0cmFj ZSBhIHNwZWNpZmljIHNlY3Rpb24gb2YgY29kZSAtIHRoZW4gdGhleSBuZWVkIHRvIGJlCj4+IGF3 YXJlIHRoYXQgdGhlcmUgY291bGQgYmUgZGVjb2RlIGFub21vbGllcyByZWxhdGluZyB0byBidWZm ZXIgd3JhcC4KPj4KPiAKPiBJIHRoaW5rIE1pa2UgaGFzIGEgcG9pbnQgaGVyZSAtIHdlIHNob3Vs ZCByZXBvcnQgaXQgdG8gdXNlcnMgd2hlbiBkYXRhIGdldHMKPiBsb3N0LCBubyBtYXR0ZXIgaG93 IHNtYWxsIHRoYXQgbG9zdCBpcy4gSWYgdGhhdCBpcyBhIHByb2JsZW0gdGhleSBhbHdheXMgaGF2 ZQo+IHRoZSBjaG9pY2Ugb2YgZGVkaWNhdGluZyBtb3JlIHBhZ2VzIHRvIHRoZSBBVVggYnVmZmVy LgoKQWdyZWVkLCBJIGhhdmUgaW5jbHVkZWQgdGhpcyBpbiB0aGUgbmV4dCB2ZXJzaW9uLgoKVGhh bmtzClN1enVraQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5p bmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8v bGludXgtYXJtLWtlcm5lbAo=