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 7F256C433EF for ; Sun, 13 Feb 2022 12:53:34 +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:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=+0u+fm5WUxcS+brc3kG6thgZVpRGl3Fr2dPGG0n2AT8=; b=WekofdnWPy0+3X 8Exw5hJhxCRclmbAbdYWtYOVe8aXeKhcea04ohFfWmrfO6IqZl+7Qmk+jzBRmHVPvbFF1e18blr7s gciD7ilDCDTAvjtV5Gcdqs1v4/6OTW53AfKXbESnwVkFjGjY8+XeoyDBsZDvdZHXcHt1nRMmV6RzM hmLUBVCVz8HHo6CyT7YwHf43ZpaUM3m1RM15qJL2uguIzW9SsqnhfffBvRu7QS++Fj0mwP3U+KF5E uoCYykF0a5k1HGKC6Y4nDPKGinQp+84SegozzVIJ8XWy2wKPo72i4Vm/stKWnhc+2fBuCgqoaHpQq RMS4w5a1r3VWIChU+0cQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nJEMP-00BhRn-BA; Sun, 13 Feb 2022 12:52:13 +0000 Received: from perceval.ideasonboard.com ([213.167.242.64]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nJEMJ-00BhQY-6E; Sun, 13 Feb 2022 12:52:09 +0000 Received: from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi [62.78.145.57]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 80B0455A; Sun, 13 Feb 2022 13:52:05 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1644756725; bh=2Lb3ypDKzFK5NF5PwGxz5r1s5an8XhBxr0UQzJN7mXw=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=GaBycSLvcUWVZZLAplz+x0BucW85k2OavpFcYAOhV+EJ1j8lFcF2fuXiP25BZT23i ylRCFsb5hQ0TxqdI26lbHdhRDLQxFmHOefQlIOXOsOR+y/zrEd3qYTzXYWTK8hygBh 3Oc0p+5IdeEuWgjcjLepW5bo897ur2ITTieUkWgQ= Date: Sun, 13 Feb 2022 14:52:00 +0200 From: Laurent Pinchart To: Stefan Wahren Cc: Jean-Michel Hautbois , dave.stevenson@raspberrypi.com, devicetree@vger.kernel.org, kernel-list@raspberrypi.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, lukasz@jany.st, mchehab@kernel.org, naush@raspberrypi.com, robh@kernel.org, tomi.valkeinen@ideasonboard.com, bcm-kernel-feedback-list@broadcom.com Subject: Re: [PATCH v5 04/11] media: bcm2835-unicam: Add support for CCP2/CSI2 camera interface Message-ID: References: <20220208155027.891055-1-jeanmichel.hautbois@ideasonboard.com> <20220208155027.891055-5-jeanmichel.hautbois@ideasonboard.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220213_045207_404381_9F6AC9D4 X-CRM114-Status: GOOD ( 32.71 ) 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 T24gVHVlLCBGZWIgMDgsIDIwMjIgYXQgMTA6MDA6MjNQTSArMDEwMCwgU3RlZmFuIFdhaHJlbiB3 cm90ZToKPiBIaSBKZWFuLU1pY2hlbCwKPiAKPiBBbSAwOC4wMi4yMiB1bSAxNjo1MCBzY2hyaWVi IEplYW4tTWljaGVsIEhhdXRib2lzOgo+ID4gQWRkIGRyaXZlciBmb3IgdGhlIFVuaWNhbSBjYW1l cmEgcmVjZWl2ZXIgYmxvY2sgb24gQkNNMjgzeCBwcm9jZXNzb3JzLgo+ID4gSXQgaXMgcmVwcmVz ZW50ZWQgYXMgdHdvIHZpZGVvIGRldmljZSBub2RlczogdW5pY2FtLWltYWdlIGFuZAo+ID4gdW5p Y2FtLWVtYmVkZGVkIHdoaWNoIGFyZSBjb25uZWN0ZWQgdG8gYW4gaW50ZXJuYWwgc3ViZGV2IChu YW1lZAo+ID4gdW5pY2FtLXN1YmRldikgaW4gb3JkZXIgdG8gbWFuYWdlIHN0cmVhbXMgcm91dGlu Zy4KPiA+Cj4gPiBTaWduZWQtb2ZmLWJ5OiBEYXZlIFN0ZXZlbnNvbiA8ZGF2ZS5zdGV2ZW5zb25A cmFzcGJlcnJ5cGkuY29tPgo+ID4gU2lnbmVkLW9mZi1ieTogTmF1c2hpciBQYXR1Y2sgPG5hdXNo QHJhc3BiZXJyeXBpLmNvbT4KPiA+IFNpZ25lZC1vZmYtYnk6IEplYW4tTWljaGVsIEhhdXRib2lz IDxqZWFubWljaGVsLmhhdXRib2lzQGlkZWFzb25ib2FyZC5jb20+Cj4gPgo+ID4gLS0tCj4gPiB2 NDoKPiA+ICAgLSBBZGQgdGhlIHZlbmRvciBwcmVmb3ggZm9yIERUIG5hbWUKPiA+ICAgLSBVc2Ug dGhlIHJlZy1uYW1lcyBpbiBEVCBwYXJzaW5nCj4gPiAgIC0gUmVtb3ZlIE1BSU5UQUlORVJTIGVu dHJ5Cj4gPgo+ID4gdjMgbWFpbiBjaGFuZ2VzOgo+ID4gICAtIENoYW5nZSBjb2RlIG9yZ2FuaXph dGlvbgo+ID4gICAtIFJlbW92ZSB1bnVzZWQgdmFyaWFibGVzCj4gPiAgIC0gQ29ycmVjdCB0aGUg Zm10X21ldGEgZnVuY3Rpb25zCj4gPiAgIC0gUmV3cml0ZSB0aGUgc3RhcnQvc3RvcCBzdHJlYW1p bmcKPiA+ICAgICAtIFlvdSBjYW4gbm93IHN0YXJ0IHRoZSBpbWFnZSBub2RlIGFsb25lLCBidXQg bm90IHRoZSBtZXRhZGF0YSBvbmUKPiA+ICAgICAtIFRoZSBidWZmZXJzIGFyZSBhbGxvY2F0ZWQg cGVyLW5vZGUKPiA+ICAgICAtIG9ubHkgdGhlIHJlcXVpcmVkIHN0cmVhbSBpcyBzdGFydGVkLCBp ZiB0aGUgcm91dGUgZXhpc3RzIGFuZCBpcwo+ID4gICAgICAgZW5hYmxlZAo+ID4gICAtIFByZWZp eCB0aGUgbWFjcm9zIHdpdGggVU5JQ0FNXyB0byBub3QgaGF2ZSB0b28gZ2VuZXJpYyBuYW1lcwo+ ID4gICAtIERyb3AgY29sb3JzcGFjZSBzdXBwb3J0Cj4gPiAgICAgLT4gVGhpcyBpcyBjYXVzaW5n IGlzc3VlcyBpbiB0aGUgdHJ5LWZtdCB2NGwyLWNvbXBsaWFuY2UgdGVzdAo+ID4gICB0ZXN0IFZJ RElPQ19HX0ZNVDogT0sKPiA+IAlmYWlsOiB2NGwyLXRlc3QtZm9ybWF0cy5jcHAoMzYzKTogY29s b3JzcGFjZSA+PSAweGZmCj4gPiAJZmFpbDogdjRsMi10ZXN0LWZvcm1hdHMuY3BwKDQ2NSk6IHRl c3RDb2xvcnNwYWNlKCFub2RlLT5pc19pb19tYywgcGl4LnBpeGVsZm9ybWF0LCBwaXguY29sb3Jz cGFjZSwgcGl4LnljYmNyX2VuYywgcGl4LnF1YW50aXphdGlvbikKPiA+ICAgdGVzdCBWSURJT0Nf VFJZX0ZNVDogRkFJTAo+ID4gCWZhaWw6IHY0bDItdGVzdC1mb3JtYXRzLmNwcCgzNjMpOiBjb2xv cnNwYWNlID49IDB4ZmYKPiA+IAlmYWlsOiB2NGwyLXRlc3QtZm9ybWF0cy5jcHAoNDY1KTogdGVz dENvbG9yc3BhY2UoIW5vZGUtPmlzX2lvX21jLCBwaXgucGl4ZWxmb3JtYXQsIHBpeC5jb2xvcnNw YWNlLCBwaXgueWNiY3JfZW5jLCBwaXgucXVhbnRpemF0aW9uKQo+ID4gICB0ZXN0IFZJRElPQ19T X0ZNVDogRkFJTAo+ID4KPiA+IHYyOiBSZW1vdmUgdGhlIHVuaWNhbV97aW5mbyxkZWJ1ZyxlcnJv cn0gbWFjcm9zIGFuZCB1c2UKPiA+IGRldl9kYmcvZGV2X2VyciBpbnN0ZWFkLgo+ID4gLS0tCj4g PiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9LY29uZmlnICAgICAgICAgICAgICAgIHwgICAgMSAr Cj4gPiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9NYWtlZmlsZSAgICAgICAgICAgICAgIHwgICAg MiArCj4gPiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9iY20yODM1L0tjb25maWcgICAgICAgIHwg ICAyMSArCj4gPiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9iY20yODM1L01ha2VmaWxlICAgICAg IHwgICAgMyArCj4gPiAgLi4uL3BsYXRmb3JtL2JjbTI4MzUvYmNtMjgzNS11bmljYW0tcmVncy5o ICAgIHwgIDI1MyArKwo+ID4gIC4uLi9tZWRpYS9wbGF0Zm9ybS9iY20yODM1L2JjbTI4MzUtdW5p Y2FtLmMgICB8IDI1NzAgKysrKysrKysrKysrKysrKysKPiA+ICA2IGZpbGVzIGNoYW5nZWQsIDI4 NTAgaW5zZXJ0aW9ucygrKQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21lZGlhL3Bs YXRmb3JtL2JjbTI4MzUvS2NvbmZpZwo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21l ZGlhL3BsYXRmb3JtL2JjbTI4MzUvTWFrZWZpbGUKPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJp dmVycy9tZWRpYS9wbGF0Zm9ybS9iY20yODM1L2JjbTI4MzUtdW5pY2FtLXJlZ3MuaAo+ID4gIGNy ZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL2JjbTI4MzUvYmNtMjgzNS11 bmljYW0uYwoKW3NuaXBdCgo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0v YmNtMjgzNS9iY20yODM1LXVuaWNhbS5jIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9iY20yODM1 L2JjbTI4MzUtdW5pY2FtLmMKPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiBpbmRleCAwMDAw MDAwMDAwMDAuLjQ3MGU2OTE2MzdjNwo+ID4gLS0tIC9kZXYvbnVsbAo+ID4gKysrIGIvZHJpdmVy cy9tZWRpYS9wbGF0Zm9ybS9iY20yODM1L2JjbTI4MzUtdW5pY2FtLmMKPiA+IEBAIC0wLDAgKzEs MjU3MCBAQAoKW3NuaXBdCgo+ID4gK3N0YXRpYyBpbnQgdW5pY2FtX3N0YXJ0X3N0cmVhbWluZyhz dHJ1Y3QgdmIyX3F1ZXVlICp2cSwgdW5zaWduZWQgaW50IGNvdW50KQo+ID4gK3sKPiA+ICsJc3Ry dWN0IHVuaWNhbV9ub2RlICpub2RlID0gdmIyX2dldF9kcnZfcHJpdih2cSk7Cj4gPiArCXN0cnVj dCB1bmljYW1fZGV2aWNlICp1bmljYW0gPSBub2RlLT5kZXY7Cj4gPiArCWRtYV9hZGRyX3QgYnVm ZmVyX2FkZHJbVU5JQ0FNX01BWF9OT0RFU10gPSB7IDAgfTsKPiA+ICsJc3RydWN0IHVuaWNhbV9i dWZmZXIgKmJ1ZjsKPiA+ICsJc3RydWN0IHY0bDJfc3ViZGV2X3N0YXRlICpzdGF0ZTsKPiA+ICsJ dW5zaWduZWQgbG9uZyBmbGFnczsKPiA+ICsJdW5zaWduZWQgaW50IGk7Cj4gPiArCWludCByZXQ7 Cj4gPiArCXUzMiBwYWQsIHN0cmVhbTsKPiA+ICsJdTMyIHJlbW90ZV9wYWRfaW5kZXggPSBpc19p bWFnZV9ub2RlKG5vZGUpID8gVU5JQ0FNX1NEX1BBRF9TT1VSQ0VfSU1BR0UKPiA+ICsJCQkJCQkg ICA6IFVOSUNBTV9TRF9QQURfU09VUkNFX01FVEFEQVRBOwo+ID4gKwo+ID4gKwkvKiBMb29rIGZv ciB0aGUgcm91dGUgZm9yIHRoZSBnaXZlbiBwYWQgYW5kIHN0cmVhbS4gKi8KPiA+ICsJc3RhdGUg PSB2NGwyX3N1YmRldl9sb2NrX2FjdGl2ZV9zdGF0ZSgmdW5pY2FtLT5zdWJkZXYuc2QpOwo+ID4g Kwo+ID4gKwlyZXQgPSB2NGwyX3N1YmRldl9yb3V0aW5nX2ZpbmRfb3Bwb3NpdGVfZW5kKCZzdGF0 ZS0+cm91dGluZywKPiA+ICsJCQkJCQkgICAgcmVtb3RlX3BhZF9pbmRleCwgMCwKPiA+ICsJCQkJ CQkgICAgJnBhZCwgJnN0cmVhbSk7Cj4gPiArCWlmIChyZXQpCj4gPiArCQlnb3RvIGVycl9zdHJl YW1pbmc7Cj4gPiArCj4gPiArCXY0bDJfc3ViZGV2X3VubG9ja19zdGF0ZShzdGF0ZSk7Cj4gPiAr Cj4gPiArCWRldl9kYmcodW5pY2FtLT5kZXYsICJTdGFydGluZyBzdHJlYW0gMCBvbiBwYWQgJWQg b24gc3ViZGV2ICVzXG4iLAo+ID4gKwkJcmVtb3RlX3BhZF9pbmRleCwgdW5pY2FtLT5zdWJkZXYu c2QubmFtZSk7Cj4gPiArCj4gPiArCS8qIFRoZSBtZXRhZGF0YSBub2RlIGNhbid0IGJlIHN0YXJ0 ZWQgYWxvbmUuICovCj4gPiArCWlmIChpc19tZXRhZGF0YV9ub2RlKG5vZGUpKSB7Cj4gPiArCQlp ZiAoIXVuaWNhbS0+bm9kZVtVTklDQU1fSU1BR0VfTk9ERV0uc3RyZWFtaW5nKSB7Cj4gPiArCQkJ ZGV2X2Vycih1bmljYW0tPmRldiwKPiA+ICsJCQkJIkNhbid0IHN0YXJ0IG1ldGFkYXRhIHdpdGhv dXQgaW1hZ2VcbiIpOwo+ID4gKwkJCXJldHVybiAtRUlOVkFMOwo+ID4gKwkJfQo+ID4gKwkJZGV2 X2RiZyh1bmljYW0tPmRldiwgInN0YXJ0aW5nIG1ldGFkYXRhIG5vZGVcbiIpOwo+ID4gKwo+ID4g KwkJc3Bpbl9sb2NrX2lycXNhdmUoJm5vZGUtPmRtYV9xdWV1ZV9sb2NrLCBmbGFncyk7Cj4gPiAr CQlidWYgPSBsaXN0X2ZpcnN0X2VudHJ5KCZub2RlLT5kbWFfcXVldWUsCj4gPiArCQkJCSAgICAg ICBzdHJ1Y3QgdW5pY2FtX2J1ZmZlciwgbGlzdCk7Cj4gPiArCQlkZXZfZGJnKHVuaWNhbS0+ZGV2 LCAiYnVmZmVyICVkOiAlcFxuIiwgaSwgYnVmKTsKPiA+ICsJCW5vZGUtPmN1cl9mcm0gPSBidWY7 Cj4gPiArCQlub2RlLT5uZXh0X2ZybSA9IGJ1ZjsKPiA+ICsJCWxpc3RfZGVsKCZidWYtPmxpc3Qp Owo+ID4gKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbm9kZS0+ZG1hX3F1ZXVlX2xvY2ssIGZs YWdzKTsKPiA+ICsKPiA+ICsJCWJ1ZmZlcl9hZGRyW1VOSUNBTV9NRVRBREFUQV9OT0RFXSA9Cj4g PiArCQkJdmIyX2RtYV9jb250aWdfcGxhbmVfZG1hX2FkZHIoJmJ1Zi0+dmIudmIyX2J1ZiwgMCk7 Cj4gPiArCQlkZXZfZGJnKHVuaWNhbS0+ZGV2LCAiYnVmZmVyICVkIGFkZHI6ICVsbGRcbiIsIGks IGJ1ZmZlcl9hZGRyW2ldKTsKPiAKPiBpIHRyaWVkIHRvIGNvbXBpbGUgdGhlIGRyaXZlciBhbmQg Z2V0IHRoZSBmb2xsb3dpbmcgd2FybmluZy4gSSB0aGluayB0aGUKPiBlYXNpZXN0IHNvbHV0aW9u IHdvdWxkIGJlIHRvIGRyb3AgdGhpcyBkZWJ1ZyBtZXNzYWdlLgoKRm9yIHRoZSByZWNvcmQsIHRo ZSByaWdodCBmb3JtYXQgc3BlY2lmaWVyIHdvdWxkIGJlCgoJCWRldl9kYmcodW5pY2FtLT5kZXYs ICJidWZmZXIgJWQgYWRkcjogJXBhZFxuIiwgaSwgJmJ1ZmZlcl9hZGRyW2ldKTsKCihub3RlIHRo ZSAmIGJlZm9yZSBidWZmZXJfYWRkcikKCj4gSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vaW5jbHVk ZS9saW51eC9wcmludGsuaDo1NTU6MCwKPiAKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBmcm9tIC4vaW5jbHVkZS9saW51eC9rZXJuZWwuaDoyOSwKPiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBmcm9tIC4vaW5jbHVkZS9saW51eC9jbGsuaDoxMywKPiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmcm9tIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYmNt MjgzNS9iY20yODM1LXVuaWNhbS5jOjQ3Ogo+IGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYmNtMjgz NS9iY20yODM1LXVuaWNhbS5jOiBJbiBmdW5jdGlvbgo+IOKAmHVuaWNhbV9zdGFydF9zdHJlYW1p bmfigJk6Cj4gZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9iY20yODM1L2JjbTI4MzUtdW5pY2FtLmM6 MTY3NjoyNDogd2FybmluZzogZm9ybWF0Cj4g4oCYJWxsZOKAmSBleHBlY3RzIGFyZ3VtZW50IG9m IHR5cGUg4oCYbG9uZyBsb25nIGludOKAmSwgYnV0IGFyZ3VtZW50IDUgaGFzIHR5cGUKPiDigJhk bWFfYWRkcl90IHtha2EgdW5zaWduZWQgaW50feKAmSBbLVdmb3JtYXQ9XQo+IMKgwqAgZGV2X2Ri Zyh1bmljYW0tPmRldiwgImJ1ZmZlciAlZCBhZGRyOiAlbGxkXG4iLCBpLCBidWZmZXJfYWRkcltp XSk7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBeCj4g Li9pbmNsdWRlL2xpbnV4L2R5bmFtaWNfZGVidWcuaDoxMzQ6MTU6IG5vdGU6IGluIGRlZmluaXRp b24gb2YgbWFjcm8KPiDigJhfX2R5bmFtaWNfZnVuY19jYWxs4oCZCj4gwqDCoCBmdW5jKCZpZCwg IyNfX1ZBX0FSR1NfXyk7wqAgXAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXn5+fn5+ fn5+fn4KPiAuL2luY2x1ZGUvbGludXgvZHluYW1pY19kZWJ1Zy5oOjE2NjoyOiBub3RlOiBpbiBl eHBhbnNpb24gb2YgbWFjcm8KPiDigJhfZHluYW1pY19mdW5jX2NhbGzigJkKPiDCoCBfZHluYW1p Y19mdW5jX2NhbGwoZm10LF9fZHluYW1pY19kZXZfZGJnLMKgwqAgXAo+IMKgIF5+fn5+fn5+fn5+ fn5+fn5+fgo+IC4vaW5jbHVkZS9saW51eC9kZXZfcHJpbnRrLmg6MTU1OjI6IG5vdGU6IGluIGV4 cGFuc2lvbiBvZiBtYWNybwo+IOKAmGR5bmFtaWNfZGV2X2RiZ+KAmQo+IMKgIGR5bmFtaWNfZGV2 X2RiZyhkZXYsIGRldl9mbXQoZm10KSwgIyNfX1ZBX0FSR1NfXykKPiDCoCBefn5+fn5+fn5+fn5+ fn4KPiAuL2luY2x1ZGUvbGludXgvZGV2X3ByaW50ay5oOjE1NToyMzogbm90ZTogaW4gZXhwYW5z aW9uIG9mIG1hY3JvIOKAmGRldl9mbXTigJkKPiDCoCBkeW5hbWljX2Rldl9kYmcoZGV2LCBkZXZf Zm10KGZtdCksICMjX19WQV9BUkdTX18pCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgXn5+fn5+fgo+IGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYmNtMjgzNS9i Y20yODM1LXVuaWNhbS5jOjE2NzY6Mzogbm90ZTogaW4KPiBleHBhbnNpb24gb2YgbWFjcm8g4oCY ZGV2X2RiZ+KAmQo+IMKgwqAgZGV2X2RiZyh1bmljYW0tPmRldiwgImJ1ZmZlciAlZCBhZGRyOiAl bGxkXG4iLCBpLCBidWZmZXJfYWRkcltpXSk7Cj4gwqDCoCBefn5+fn5+CgotLSAKUmVnYXJkcywK CkxhdXJlbnQgUGluY2hhcnQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxA bGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK