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 35C33C4332F for ; Fri, 10 Nov 2023 11:04:19 +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=BTcc411iD6Y4D/r3nQWwOKACmnTgB4CnFqQhEnQQhjw=; b=a8H8nBlkQIhqc6 mGgyh30WpWZg7aulawNV8q+uK4T1bJwoiLzzrvkfHsJq91yPNi8mwZr/gjbIK31dJ2baxUVWS5NO2 5U0r4yZLB29JvnN4npNPkMj8L5rhAojF0Gr6TOowyvdEtztawJ59VY+o+AlbYWOMEIIZXSd5fnP4U +sq7IglBmH5UPDsZlYgAW18g0eAQzAdJ06a2lHiGfD2aWGT0T0AhvxOVnozCL4SAGNpxLQMEP1DL8 qUiy+nU4vmKH+bxmqFZpSKmLhJd35+7hvfzZQHYBop9yjaiQXyN3k5QUUVaKRE8Ad+Wl4FQQQS4b0 YvwEv5cBBaWAAnMw/JWg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1r1PJ0-008Lon-2a; Fri, 10 Nov 2023 11:04:06 +0000 Received: from madras.collabora.co.uk ([2a00:1098:0:82:1000:25:2eeb:e5ab]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1r1PIw-008LnJ-00; Fri, 10 Nov 2023 11:04:04 +0000 Received: from [100.116.125.19] (cola.collaboradmins.com [195.201.22.229]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: andrzej.p) by madras.collabora.co.uk (Postfix) with ESMTPSA id EC78B66073EB; Fri, 10 Nov 2023 11:03:53 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1699614235; bh=IlFF4hLVYQMy+8z6m7boQ1emEGxM3/fBp3D4sqFY4lo=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=O5qOOfkbHwk1EQ79MoiHJUqkRlyLWF59KLiv1aw0WWhGJJ1igR1uGZtohHN0HL8fB EniGr8zsuLvPLB61+ZBiWTyoufc/iPdUzGCivPmO0wJQg2zbOSaWOxrH/gW78Rk3Zj e5xDfDQlYjYjwv7HFdNkzibpmDNwpytUEdRm0k2SaoeqmkgwSU0yg3rGvD7Z7YRoVT hWUmU1Q4jRrs0nZPeKgVlvBEXYF5XmUJIGWz1icdoLxp0zWngiwA/cASOsdqWlEdY7 ZSCVe2KuerHlMq1X7IDv2CHnyq5W5Nqwb/9Br4x6doJqrNs0OlXEyJ54IQSUf2hOqh 3rGPJxP7piJMg== Message-ID: Date: Fri, 10 Nov 2023 12:03:50 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v15 30/56] media: test-drivers: Stop direct calls to queue num_buffers field To: Benjamin Gaignard , mchehab@kernel.org, tfiga@chromium.org, m.szyprowski@samsung.com, ming.qian@nxp.com, ezequiel@vanguardiasur.com.ar, p.zabel@pengutronix.de, gregkh@linuxfoundation.org, hverkuil-cisco@xs4all.nl, nicolas.dufresne@collabora.com Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-staging@lists.linux.dev, kernel@collabora.com, Daniel Almeida References: <20231109163512.179524-14-benjamin.gaignard@collabora.com> <20231109163512.179524-31-benjamin.gaignard@collabora.com> <0b79bb25-2e44-4a6d-b306-76477a2c8a08@collabora.com> <84f22803-bd25-4985-a17c-b38bd738b487@collabora.com> Content-Language: en-US From: Andrzej Pietrasiewicz In-Reply-To: <84f22803-bd25-4985-a17c-b38bd738b487@collabora.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231110_030402_308903_0C93667C X-CRM114-Status: GOOD ( 21.75 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms 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-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org SGkgQmVuamFtaW4sCgpXIGRuaXUgMTAuMTEuMjAyMyBvwqAxMDo1NSwgQmVuamFtaW4gR2FpZ25h cmQgcGlzemU6Cj4gCj4gTGUgMTAvMTEvMjAyMyDDoCAxMDozNSwgQW5kcnplaiBQaWV0cmFzaWV3 aWN6IGEgw6ljcml0wqA6Cj4+IEhpIEJlbmphbWluLAo+Pgo+PiBXIGRuaXUgOS4xMS4yMDIzIG/C oDE3OjM0LCBCZW5qYW1pbiBHYWlnbmFyZCBwaXN6ZToKPj4+IFVzZSB2YjJfZ2V0X251bV9idWZm ZXJzKCkgdG8gYXZvaWQgdXNpbmcgcXVldWUgbnVtX2J1ZmZlcnMgZmllbGQgZGlyZWN0bHkuCj4+ PiBUaGlzIGFsbG93cyB1cyB0byBjaGFuZ2UgaG93IHRoZSBudW1iZXIgb2YgYnVmZmVycyBpcyBj b21wdXRlZCBpbiB0aGUKPj4+IGZ1dHVyZS4KPj4+IElmICdtaW5fYnVmZmVyc19uZWVkZWQnIGlz IHNldCByZW1vdmUgdXNlbGVzcyBjaGVja3MgaW4gcXVldWUgc2V0dXAKPj4+IGZ1bmN0aW9ucy4K Pj4+Cj4+PiBTaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25h cmRAY29sbGFib3JhLmNvbT4KPj4+IENDOiBEYW5pZWwgQWxtZWlkYSA8ZGFuaWVsLmFsbWVpZGFA Y29sbGFib3JhLmNvbT4KPj4+IC0tLQo+Pj4gwqAgZHJpdmVycy9tZWRpYS90ZXN0LWRyaXZlcnMv dmlzbC92aXNsLWRlYy5jwqDCoMKgwqDCoMKgwqDCoCB8IDQgKystLQo+Pj4gwqAgZHJpdmVycy9t ZWRpYS90ZXN0LWRyaXZlcnMvdml2aWQvdml2aWQtbWV0YS1jYXAuY8KgIHwgMyAtLS0KPj4+IMKg IGRyaXZlcnMvbWVkaWEvdGVzdC1kcml2ZXJzL3ZpdmlkL3ZpdmlkLW1ldGEtb3V0LmPCoCB8IDUg KysrLS0KPj4+IMKgIGRyaXZlcnMvbWVkaWEvdGVzdC1kcml2ZXJzL3ZpdmlkL3ZpdmlkLXRvdWNo LWNhcC5jIHwgNSArKystLQo+Pj4gwqAgZHJpdmVycy9tZWRpYS90ZXN0LWRyaXZlcnMvdml2aWQv dml2aWQtdmJpLWNhcC5jwqDCoCB8IDMgLS0tCj4+PiDCoCBkcml2ZXJzL21lZGlhL3Rlc3QtZHJp dmVycy92aXZpZC92aXZpZC12Ymktb3V0LmPCoMKgIHwgMyAtLS0KPj4+IMKgIGRyaXZlcnMvbWVk aWEvdGVzdC1kcml2ZXJzL3ZpdmlkL3ZpdmlkLXZpZC1jYXAuY8KgwqAgfCAzIC0tLQo+Pj4gwqAg ZHJpdmVycy9tZWRpYS90ZXN0LWRyaXZlcnMvdml2aWQvdml2aWQtdmlkLW91dC5jwqDCoCB8IDUg Ky0tLS0KPj4+IMKgIDggZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlv bnMoLSkKPj4+Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS90ZXN0LWRyaXZlcnMvdmlz bC92aXNsLWRlYy5jIAo+Pj4gYi9kcml2ZXJzL21lZGlhL3Rlc3QtZHJpdmVycy92aXNsL3Zpc2wt ZGVjLmMKPj4+IGluZGV4IGJhMjBlYTk5OGQxOS4uNDY3MmRjNWU1MmJiIDEwMDY0NAo+Pj4gLS0t IGEvZHJpdmVycy9tZWRpYS90ZXN0LWRyaXZlcnMvdmlzbC92aXNsLWRlYy5jCj4+PiArKysgYi9k cml2ZXJzL21lZGlhL3Rlc3QtZHJpdmVycy92aXNsL3Zpc2wtZGVjLmMKPj4+IEBAIC0yODcsNyAr Mjg3LDcgQEAgc3RhdGljIHZvaWQgdmlzbF90cGdfZmlsbChzdHJ1Y3QgdmlzbF9jdHggKmN0eCwg c3RydWN0IAo+Pj4gdmlzbF9ydW4gKnJ1bikKPj4+IMKgwqDCoMKgwqAgZnJhbWVfZHByaW50ayhj dHgtPmRldiwgcnVuLT5kc3QtPnNlcXVlbmNlLCAiJXNcbiIsIGJ1Zik7Cj4+PiDCoCDCoMKgwqDC oMKgIGxlbiA9IDA7Cj4+PiAtwqDCoMKgIGZvciAoaSA9IDA7IGkgPCBvdXRfcS0+bnVtX2J1ZmZl cnM7IGkrKykgewo+Pj4gK8KgwqDCoCBmb3IgKGkgPSAwOyBpIDwgdmIyX2dldF9udW1fYnVmZmVy cyhvdXRfcSk7IGkrKykgewo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIGNoYXIgZW50cnlbXSA9ICJp bmRleDogJXUsIHN0YXRlOiAlcywgcmVxdWVzdF9mZDogJWQsICI7Cj4+PiDCoMKgwqDCoMKgwqDC oMKgwqAgdTMyIG9sZF9sZW4gPSBsZW47Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IHZi Ml9idWZmZXIgKnZiMjsKPj4+IEBAIC0zNDcsNyArMzQ3LDcgQEAgc3RhdGljIHZvaWQgdmlzbF90 cGdfZmlsbChzdHJ1Y3QgdmlzbF9jdHggKmN0eCwgc3RydWN0IAo+Pj4gdmlzbF9ydW4gKnJ1bikK Pj4+IMKgwqDCoMKgwqAgZnJhbWVfZHByaW50ayhjdHgtPmRldiwgcnVuLT5kc3QtPnNlcXVlbmNl LCAiJXNcbiIsIGJ1Zik7Cj4+PiDCoCDCoMKgwqDCoMKgIGxlbiA9IDA7Cj4+PiAtwqDCoMKgIGZv ciAoaSA9IDA7IGkgPCBjYXBfcS0+bnVtX2J1ZmZlcnM7IGkrKykgewo+Pj4gK8KgwqDCoCBmb3Ig KGkgPSAwOyBpIDwgdmIyX2dldF9udW1fYnVmZmVycyhjYXBfcSk7IGkrKykgewo+Pj4gwqDCoMKg wqDCoMKgwqDCoMKgIHUzMiBvbGRfbGVuID0gbGVuOwo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIHN0 cnVjdCB2YjJfYnVmZmVyICp2YjI7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgY2hhciAqcV9zdGF0 dXM7Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS90ZXN0LWRyaXZlcnMvdml2aWQvdml2 aWQtbWV0YS1jYXAuYyAKPj4+IGIvZHJpdmVycy9tZWRpYS90ZXN0LWRyaXZlcnMvdml2aWQvdml2 aWQtbWV0YS1jYXAuYwo+Pj4gaW5kZXggNzgwZjk2ODYwYTZkLi4wYTcxOGQwMzdlNTkgMTAwNjQ0 Cj4+PiAtLS0gYS9kcml2ZXJzL21lZGlhL3Rlc3QtZHJpdmVycy92aXZpZC92aXZpZC1tZXRhLWNh cC5jCj4+PiArKysgYi9kcml2ZXJzL21lZGlhL3Rlc3QtZHJpdmVycy92aXZpZC92aXZpZC1tZXRh LWNhcC5jCj4+PiBAQCAtMzAsOSArMzAsNiBAQCBzdGF0aWMgaW50IG1ldGFfY2FwX3F1ZXVlX3Nl dHVwKHN0cnVjdCB2YjJfcXVldWUgKnZxLCAKPj4+IHVuc2lnbmVkIGludCAqbmJ1ZmZlcnMsCj4+ PiDCoMKgwqDCoMKgwqDCoMKgwqAgc2l6ZXNbMF0gPSBzaXplOwo+Pj4gwqDCoMKgwqDCoCB9Cj4+ PiDCoCAtwqDCoMKgIGlmICh2cS0+bnVtX2J1ZmZlcnMgKyAqbmJ1ZmZlcnMgPCAyKQo+Pj4gLcKg wqDCoMKgwqDCoMKgICpuYnVmZmVycyA9IDIgLSB2cS0+bnVtX2J1ZmZlcnM7Cj4+PiAtCj4+PiDC oMKgwqDCoMKgICpucGxhbmVzID0gMTsKPj4+IMKgwqDCoMKgwqAgcmV0dXJuIDA7Cj4+PiDCoCB9 Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS90ZXN0LWRyaXZlcnMvdml2aWQvdml2aWQt bWV0YS1vdXQuYyAKPj4+IGIvZHJpdmVycy9tZWRpYS90ZXN0LWRyaXZlcnMvdml2aWQvdml2aWQt bWV0YS1vdXQuYwo+Pj4gaW5kZXggOTU4MzViNTJiNThmLi40YTU2OWE2ZTU4YmUgMTAwNjQ0Cj4+ PiAtLS0gYS9kcml2ZXJzL21lZGlhL3Rlc3QtZHJpdmVycy92aXZpZC92aXZpZC1tZXRhLW91dC5j Cj4+PiArKysgYi9kcml2ZXJzL21lZGlhL3Rlc3QtZHJpdmVycy92aXZpZC92aXZpZC1tZXRhLW91 dC5jCj4+PiBAQCAtMTgsNiArMTgsNyBAQCBzdGF0aWMgaW50IG1ldGFfb3V0X3F1ZXVlX3NldHVw KHN0cnVjdCB2YjJfcXVldWUgKnZxLCAKPj4+IHVuc2lnbmVkIGludCAqbmJ1ZmZlcnMsCj4+PiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBkZXZpY2UgKmFsbG9jX2Rl dnNbXSkKPj4+IMKgIHsKPj4+IMKgwqDCoMKgwqAgc3RydWN0IHZpdmlkX2RldiAqZGV2ID0gdmIy X2dldF9kcnZfcHJpdih2cSk7Cj4+PiArwqDCoMKgIHVuc2lnbmVkIGludCBxX251bV9idWZzID0g dmIyX2dldF9udW1fYnVmZmVycyh2cSk7Cj4+PiDCoMKgwqDCoMKgIHVuc2lnbmVkIGludCBzaXpl ID3CoCBzaXplb2Yoc3RydWN0IHZpdmlkX21ldGFfb3V0X2J1Zik7Cj4+PiDCoCDCoMKgwqDCoMKg IGlmICghdml2aWRfaXNfd2ViY2FtKGRldikpCj4+PiBAQCAtMzAsOCArMzEsOCBAQCBzdGF0aWMg aW50IG1ldGFfb3V0X3F1ZXVlX3NldHVwKHN0cnVjdCB2YjJfcXVldWUgKnZxLCAKPj4+IHVuc2ln bmVkIGludCAqbmJ1ZmZlcnMsCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgc2l6ZXNbMF0gPSBzaXpl Owo+Pj4gwqDCoMKgwqDCoCB9Cj4+PiDCoCAtwqDCoMKgIGlmICh2cS0+bnVtX2J1ZmZlcnMgKyAq bmJ1ZmZlcnMgPCAyKQo+Pj4gLcKgwqDCoMKgwqDCoMKgICpuYnVmZmVycyA9IDIgLSB2cS0+bnVt X2J1ZmZlcnM7Cj4+PiArwqDCoMKgIGlmIChxX251bV9idWZzICsgKm5idWZmZXJzIDwgMikKPj4+ ICvCoMKgwqDCoMKgwqDCoCAqbmJ1ZmZlcnMgPSAyIC0gcV9udW1fYnVmczsKPj4+IMKgIMKgwqDC oMKgwqAgKm5wbGFuZXMgPSAxOwo+Pj4gwqDCoMKgwqDCoCByZXR1cm4gMDsKPj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL21lZGlhL3Rlc3QtZHJpdmVycy92aXZpZC92aXZpZC10b3VjaC1jYXAuYyAK Pj4+IGIvZHJpdmVycy9tZWRpYS90ZXN0LWRyaXZlcnMvdml2aWQvdml2aWQtdG91Y2gtY2FwLmMK Pj4+IGluZGV4IGM3ZjZlMjNkZjUxZS4uNGIzYzZlYTBhZmRlIDEwMDY0NAo+Pj4gLS0tIGEvZHJp dmVycy9tZWRpYS90ZXN0LWRyaXZlcnMvdml2aWQvdml2aWQtdG91Y2gtY2FwLmMKPj4+ICsrKyBi L2RyaXZlcnMvbWVkaWEvdGVzdC1kcml2ZXJzL3ZpdmlkL3ZpdmlkLXRvdWNoLWNhcC5jCj4+PiBA QCAtMTMsNiArMTMsNyBAQCBzdGF0aWMgaW50IHRvdWNoX2NhcF9xdWV1ZV9zZXR1cChzdHJ1Y3Qg dmIyX3F1ZXVlICp2cSwgCj4+PiB1bnNpZ25lZCBpbnQgKm5idWZmZXJzLAo+Pj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBkZXZpY2UgKmFsbG9jX2RldnNbXSkK Pj4+IMKgIHsKPj4+IMKgwqDCoMKgwqAgc3RydWN0IHZpdmlkX2RldiAqZGV2ID0gdmIyX2dldF9k cnZfcHJpdih2cSk7Cj4+PiArwqDCoMKgIHVuc2lnbmVkIGludCBxX251bV9idWZzID0gdmIyX2dl dF9udW1fYnVmZmVycyh2cSk7Cj4+PiDCoMKgwqDCoMKgIHN0cnVjdCB2NGwyX3BpeF9mb3JtYXQg KmYgPSAmZGV2LT50Y2hfZm9ybWF0Owo+Pj4gwqDCoMKgwqDCoCB1bnNpZ25lZCBpbnQgc2l6ZSA9 IGYtPnNpemVpbWFnZTsKPj4+IMKgIEBAIC0yMyw4ICsyNCw4IEBAIHN0YXRpYyBpbnQgdG91Y2hf Y2FwX3F1ZXVlX3NldHVwKHN0cnVjdCB2YjJfcXVldWUgKnZxLCAKPj4+IHVuc2lnbmVkIGludCAq bmJ1ZmZlcnMsCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgc2l6ZXNbMF0gPSBzaXplOwo+Pj4gwqDC oMKgwqDCoCB9Cj4+PiDCoCAtwqDCoMKgIGlmICh2cS0+bnVtX2J1ZmZlcnMgKyAqbmJ1ZmZlcnMg PCAyKQo+Pj4gLcKgwqDCoMKgwqDCoMKgICpuYnVmZmVycyA9IDIgLSB2cS0+bnVtX2J1ZmZlcnM7 Cj4+PiArwqDCoMKgIGlmIChxX251bV9idWZzICsgKm5idWZmZXJzIDwgMikKPj4+ICvCoMKgwqDC oMKgwqDCoCAqbmJ1ZmZlcnMgPSAyIC0gcV9udW1fYnVmczsKPj4+IMKgIMKgwqDCoMKgwqAgKm5w bGFuZXMgPSAxOwo+Pj4gwqDCoMKgwqDCoCByZXR1cm4gMDsKPj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL21lZGlhL3Rlc3QtZHJpdmVycy92aXZpZC92aXZpZC12YmktY2FwLmMgCj4+PiBiL2RyaXZl cnMvbWVkaWEvdGVzdC1kcml2ZXJzL3ZpdmlkL3ZpdmlkLXZiaS1jYXAuYwo+Pj4gaW5kZXggYjY1 YjAyZWVlYjk3Li4zODQwYjNhNjY0YWMgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL21lZGlhL3Rl c3QtZHJpdmVycy92aXZpZC92aXZpZC12YmktY2FwLmMKPj4+ICsrKyBiL2RyaXZlcnMvbWVkaWEv dGVzdC1kcml2ZXJzL3ZpdmlkL3ZpdmlkLXZiaS1jYXAuYwo+Pj4gQEAgLTEzNCw5ICsxMzQsNiBA QCBzdGF0aWMgaW50IHZiaV9jYXBfcXVldWVfc2V0dXAoc3RydWN0IHZiMl9xdWV1ZSAqdnEsCj4+ PiDCoCDCoMKgwqDCoMKgIHNpemVzWzBdID0gc2l6ZTsKPj4+IMKgIC3CoMKgwqAgaWYgKHZxLT5u dW1fYnVmZmVycyArICpuYnVmZmVycyA8IDIpCj4+PiAtwqDCoMKgwqDCoMKgwqAgKm5idWZmZXJz ID0gMiAtIHZxLT5udW1fYnVmZmVyczsKPj4+IC0KPj4+IMKgwqDCoMKgwqAgKm5wbGFuZXMgPSAx Owo+Pj4gwqDCoMKgwqDCoCByZXR1cm4gMDsKPj4+IMKgIH0KPj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL21lZGlhL3Rlc3QtZHJpdmVycy92aXZpZC92aXZpZC12Ymktb3V0LmMgCj4+PiBiL2RyaXZl cnMvbWVkaWEvdGVzdC1kcml2ZXJzL3ZpdmlkL3ZpdmlkLXZiaS1vdXQuYwo+Pj4gaW5kZXggY2Q1 NjQ3NjkwMmEyLi40MzRhMTA2NzY0MTcgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL21lZGlhL3Rl c3QtZHJpdmVycy92aXZpZC92aXZpZC12Ymktb3V0LmMKPj4+ICsrKyBiL2RyaXZlcnMvbWVkaWEv dGVzdC1kcml2ZXJzL3ZpdmlkL3ZpdmlkLXZiaS1vdXQuYwo+Pj4gQEAgLTMwLDkgKzMwLDYgQEAg c3RhdGljIGludCB2Ymlfb3V0X3F1ZXVlX3NldHVwKHN0cnVjdCB2YjJfcXVldWUgKnZxLAo+Pj4g wqAgwqDCoMKgwqDCoCBzaXplc1swXSA9IHNpemU7Cj4+PiDCoCAtwqDCoMKgIGlmICh2cS0+bnVt X2J1ZmZlcnMgKyAqbmJ1ZmZlcnMgPCAyKQo+Pj4gLcKgwqDCoMKgwqDCoMKgICpuYnVmZmVycyA9 IDIgLSB2cS0+bnVtX2J1ZmZlcnM7Cj4+PiAtCj4+PiDCoMKgwqDCoMKgICpucGxhbmVzID0gMTsK Pj4+IMKgwqDCoMKgwqAgcmV0dXJuIDA7Cj4+PiDCoCB9Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9tZWRpYS90ZXN0LWRyaXZlcnMvdml2aWQvdml2aWQtdmlkLWNhcC5jIAo+Pj4gYi9kcml2ZXJz L21lZGlhL3Rlc3QtZHJpdmVycy92aXZpZC92aXZpZC12aWQtY2FwLmMKPj4+IGluZGV4IDNhMDZk ZjM1YTJkNy4uMjgwNDk3NWZlMjc4IDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9tZWRpYS90ZXN0 LWRyaXZlcnMvdml2aWQvdml2aWQtdmlkLWNhcC5jCj4+PiArKysgYi9kcml2ZXJzL21lZGlhL3Rl c3QtZHJpdmVycy92aXZpZC92aXZpZC12aWQtY2FwLmMKPj4+IEBAIC0xMTcsOSArMTE3LDYgQEAg c3RhdGljIGludCB2aWRfY2FwX3F1ZXVlX3NldHVwKHN0cnVjdCB2YjJfcXVldWUgKnZxLAo+Pj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRldi0+Zm10X2NhcC0+ ZGF0YV9vZmZzZXRbcF07Cj4+PiDCoMKgwqDCoMKgIH0KPj4+IMKgIC3CoMKgwqAgaWYgKHZxLT5u dW1fYnVmZmVycyArICpuYnVmZmVycyA8IDIpCj4+PiAtwqDCoMKgwqDCoMKgwqAgKm5idWZmZXJz ID0gMiAtIHZxLT5udW1fYnVmZmVyczsKPj4+IC0KPj4+IMKgwqDCoMKgwqAgKm5wbGFuZXMgPSBi dWZmZXJzOwo+Pj4gwqAgwqDCoMKgwqDCoCBkcHJpbnRrKGRldiwgMSwgIiVzOiBjb3VudD0lZFxu IiwgX19mdW5jX18sICpuYnVmZmVycyk7Cj4+Cj4+IGhlcmUgdGhlIGZvcm1hdCBzcGVjaWZpZXIg Zm9yICIqbmJ1ZmZlcnMiIGlzICIlZCIuLi4KPj4KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21l ZGlhL3Rlc3QtZHJpdmVycy92aXZpZC92aXZpZC12aWQtb3V0LmMgCj4+PiBiL2RyaXZlcnMvbWVk aWEvdGVzdC1kcml2ZXJzL3ZpdmlkL3ZpdmlkLXZpZC1vdXQuYwo+Pj4gaW5kZXggMTg0YTZkZjJj MjlmLi4xNjUzYjI5ODhmN2UgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL21lZGlhL3Rlc3QtZHJp dmVycy92aXZpZC92aXZpZC12aWQtb3V0LmMKPj4+ICsrKyBiL2RyaXZlcnMvbWVkaWEvdGVzdC1k cml2ZXJzL3ZpdmlkL3ZpdmlkLXZpZC1vdXQuYwo+Pj4gQEAgLTczLDEyICs3Myw5IEBAIHN0YXRp YyBpbnQgdmlkX291dF9xdWV1ZV9zZXR1cChzdHJ1Y3QgdmIyX3F1ZXVlICp2cSwKPj4+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB2Zm10LT5kYXRhX29m ZnNldFtwXSA6IHNpemU7Cj4+PiDCoMKgwqDCoMKgIH0KPj4+IMKgIC3CoMKgwqAgaWYgKHZxLT5u dW1fYnVmZmVycyArICpuYnVmZmVycyA8IDIpCj4+PiAtwqDCoMKgwqDCoMKgwqAgKm5idWZmZXJz ID0gMiAtIHZxLT5udW1fYnVmZmVyczsKPj4+IC0KPj4+IMKgwqDCoMKgwqAgKm5wbGFuZXMgPSBw bGFuZXM7Cj4+PiDCoCAtwqDCoMKgIGRwcmludGsoZGV2LCAxLCAiJXM6IGNvdW50PSVkXG4iLCBf X2Z1bmNfXywgKm5idWZmZXJzKTsKPj4+ICvCoMKgwqAgZHByaW50ayhkZXYsIDEsICIlczogY291 bnQ9JXVcbiIsIF9fZnVuY19fLCAqbmJ1ZmZlcnMpOwo+Pgo+PiAuLi4gYnV0IGhlcmUgeW91IGNo YW5nZSBpdCB0byAiJXUiLiBJcyB0aGVyZSBhIHJlYXNvbiBmb3IgdGhlc2UgdHdvIHRvIGJlCj4+ IGRpZmZlcmVudD8gSSBkaWRuJ3Qgbm90aWNlIGl0IGluIHRoZSBwcmV2aW91cyB2ZXJzaW9uIGJ1 dCBub3cgaXQgc3RhbmRzIG91dAo+PiBjbGVhcmx5LiBQcm9iYWJseSB5b3UgY2hhbmdlZCB0byAl dSBiZWNhdXNlIG9mIHRoZSB0eXBlIHJldHVybmVkIGJ5Cj4+IHZiMl9nZXRfbnVtX2J1ZmZlcnMo KS4gQW5kLCBhY3R1YWxseSwgKm5idWZmZXJzIF9pc18gdW5zaWduZWQsIHRvby4KPiAKPiBMaWtl IHlvdSBzYWlkICpuYnVmZmVycyBpcyB1bnNpZ25lZCBzbyAldSBzb3VuZCBmb3IgbWUuCj4gVGhl IGdvYWwgb2YgdGhpcyBwYXRjaCB3YXMgdG8gYXZvaWQgdnEtPm51bV9idWZmZXJzIHVzYWdlIG5v dCB0byBjbGVhbiB1cCBhbGwgdGhlCj4gZmlsZS4KPiBUaGF0IGNvdWxkIGJlIGRvbmUgaW4gb3Ro ZXIgcGF0Y2ggc2luY2UgdGhlcmUgaXMgbG90IHRvIGRvIGhlcmUuCj4gCgpBcmd1YWJseSwgaWYg dGhlIHB1cnBvc2Ugb2YgdGhpcyBwYXRjaCBpcyB0byBhdm9pZCB1c2luZyB2cS0+bnVtX2J1ZmZl cnMsCnRoZSBsaW5lIHdlJ3JlIGRpc2N1c3NpbmcgY291bGQgYmUgbGVmdCB1bnBhdGNoZWQsIHdo aWNoIG1pbmltaXplcyB0aGUgZGlmZnN0YXQuCgpPdGhlcndpc2UsIHlvdSBfYXJlXyBjaGFuZ2lu ZyB2aWRfY2FwX3F1ZXVlX3NldHVwKCkgYW55d2F5LgoKUmVnYXJkcywKCkFuZHJ6ZWoKCj4gUmVn YXJkcywKPiBCZW5qYW1pbgo+IAo+Pgo+PiBSZWdhcmRzLAo+Pgo+PiBBbmRyemVqCj4+Cj4+PiDC oMKgwqDCoMKgIGZvciAocCA9IDA7IHAgPCBwbGFuZXM7IHArKykKPj4+IMKgwqDCoMKgwqDCoMKg wqDCoCBkcHJpbnRrKGRldiwgMSwgIiVzOiBzaXplWyV1XT0ldVxuIiwgX19mdW5jX18sIHAsIHNp emVzW3BdKTsKPj4+IMKgwqDCoMKgwqAgcmV0dXJuIDA7Cj4+CgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXgtcm9ja2NoaXAgbWFpbGluZyBsaXN0 CkxpbnV4LXJvY2tjaGlwQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVh ZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yb2NrY2hpcAo=