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=-13.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY 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 E0502C433DB for ; Mon, 22 Feb 2021 20:01:52 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 845D064DF2 for ; Mon, 22 Feb 2021 20:01:52 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 845D064DF2 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=collabora.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Date:To:From: Subject:Message-ID:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=xKza0h1VHfrcKPn86WZ/uFgNcAFNIImlWmJCHvVIyeg=; b=DQCLLsZ4l+e4HApz91dLaSYTt qs30lpFn+fAiTPjHZnphILVjGWi3Slt/XHhraLwDo4e93EC94iSPOTMwRoXfzRaCAcKO3M0KLhCyp UK+IQPPmWtSsmNJ/0AJOw/NU+3HHsD4jmZm2gfQW9LNeKVpZmPmH0GV3scER6PGiAB5E/rE94Pkt5 jmpPhNadxaUH+AoMS6/zqwXJFdw3LWz2ftyDnfD4iI3R7qxFz5/StmZQqpFti4WNRZVBE8RBIhUAb 396PQwBq/ceUw6nrZOQBKTDB9Tgenzw1wGZEb6hrvg1Df5ELwrUBwAyTmtXD3WS6bCAR/Rh9PuOrE ezjP2I8Cw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lEHOr-0005aZ-BE; Mon, 22 Feb 2021 20:01:45 +0000 Received: from bhuna.collabora.co.uk ([2a00:1098:0:82:1000:25:2eeb:e3e3]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lEHOm-0005Zf-8w; Mon, 22 Feb 2021 20:01:42 +0000 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: nicolas) with ESMTPSA id 0BA431F45319 Message-ID: Subject: Re: [PATCH v2 1/9] media: hevc: Modify structures to follow H265 ITU spec From: Nicolas Dufresne To: Benjamin Gaignard , John Cox Date: Mon, 22 Feb 2021 15:01:25 -0500 In-Reply-To: <4cd4a009-9552-03a5-a49d-de16c55c63da@collabora.com> References: <20210218191844.297869-1-benjamin.gaignard@collabora.com> <20210218191844.297869-2-benjamin.gaignard@collabora.com> <4cd4a009-9552-03a5-a49d-de16c55c63da@collabora.com> User-Agent: Evolution 3.38.3 (3.38.3-1.fc33) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210222_150140_541486_9E9A7A9B X-CRM114-Status: GOOD ( 26.91 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peng.fan@nxp.com, kernel@collabora.com, festevam@gmail.com, linux-rockchip@lists.infradead.org, wens@csie.org, linux-imx@nxp.com, dan.carpenter@oracle.com, linux-media@vger.kernel.org, devicetree@vger.kernel.org, p.zabel@pengutronix.de, s.hauer@pengutronix.de, mripard@kernel.org, robh+dt@kernel.org, mchehab@kernel.org, ezequiel@collabora.com, linux-arm-kernel@lists.infradead.org, jernej.skrabec@siol.net, gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org, paul.kocialkowski@bootlin.com, kernel@pengutronix.de, hverkuil-cisco@xs4all.nl, shawnguo@kernel.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org SGkgSm9obiwKCkxlIGx1bmRpIDIyIGbDqXZyaWVyIDIwMjEgw6AgMTc6MzkgKzAxMDAsIEJlbmph bWluIEdhaWduYXJkIGEgw6ljcml0wqA6Cj4gCj4gTGUgMjIvMDIvMjAyMSDDoCAxNzoyNCwgSm9o biBDb3ggYSDDqWNyaXTCoDoKPiA+ID4gVGhlIEguMjY1IElUVSBzcGVjaWZpY2F0aW9uIChzZWN0 aW9uIDcuNCkgZGVmaW5lIHRoZSBnZW5lcmFsCj4gPiA+IHNsaWNlIHNlZ21lbnQgaGVhZGVyIHNl bWFudGljcy4KPiA+ID4gTW9kaWZpZWQvYWRkZWQgZmllbGRzIGFyZToKPiA+ID4gLSB2aWRlb19w YXJhbWV0ZXJfc2V0X2lkOiAoNy40LjMuMSkgaWRlbnRpZmllcyB0aGUgVlBTIGZvcgo+ID4gPiBy ZWZlcmVuY2UgYnkgb3RoZXIgc3ludGF4IGVsZW1lbnRzLgo+ID4gPiAtIHNlcV9wYXJhbWV0ZXJf c2V0X2lkOiAoNy40LjMuMi4xKSBzcGVjaWZpZXMgdGhlIHZhbHVlIG9mCj4gPiA+IHRoZSB2cHNf dmlkZW9fcGFyYW1ldGVyX3NldF9pZCBvZiB0aGUgYWN0aXZlIFZQUy4KPiA+ID4gLSBjaHJvbWFf Zm9ybWF0X2lkYzogKDcuNC4zLjIuMSkgc3BlY2lmaWVzIHRoZSBjaHJvbWEgc2FtcGxpbmcKPiA+ ID4gcmVsYXRpdmUgdG8gdGhlIGx1bWEgc2FtcGxpbmcKPiA+ID4gLSBwaWNfcGFyYW1ldGVyX3Nl dF9pZDogKDcuNC4zLjMuMSkgaWRlbnRpZmllcyB0aGUgUFBTIGZvcgo+ID4gPiByZWZlcmVuY2Ug Ynkgb3RoZXIgc3ludGF4IGVsZW1lbnRzCj4gPiA+IC0gbnVtX3JlZl9pZHhfbDBfZGVmYXVsdF9h Y3RpdmVfbWludXMxOiAoNy40LjMuMy4xKSBzcGVjaWZpZXMKPiA+ID4gdGhlIGluZmVycmVkIHZh bHVlIG9mIG51bV9yZWZfaWR4X2wwX2FjdGl2ZV9taW51czEKPiA+ID4gLSBudW1fcmVmX2lkeF9s MV9kZWZhdWx0X2FjdGl2ZV9taW51czE6ICg3LjQuMy4zLjEpIHNwZWNpZmllcwo+ID4gPiB0aGUg aW5mZXJyZWQgdmFsdWUgb2YgbnVtX3JlZl9pZHhfbDFfYWN0aXZlX21pbnVzMQo+ID4gPiAtIHNs aWNlX3NlZ21lbnRfYWRkcjogKDcuNC43LjEpIHNwZWNpZmllcyB0aGUgYWRkcmVzcyBvZgo+ID4g PiB0aGUgZmlyc3QgY29kaW5nIHRyZWUgYmxvY2sgaW4gdGhlIHNsaWNlIHNlZ21lbnQKPiA+ID4g LSBudW1fZW50cnlfcG9pbnRfb2Zmc2V0czogKDcuNC43LjEpIHNwZWNpZmllcyB0aGUgbnVtYmVy IG9mCj4gPiA+IGVudHJ5X3BvaW50X29mZnNldF9taW51czFbIGkgXSBzeW50YXggZWxlbWVudHMg aW4gdGhlIHNsaWNlIGhlYWRlcgo+ID4gPiAKPiA+ID4gQWRkIEhFVkMgZGVjb2RlIHBhcmFtcyBj b250YWlucyB0aGUgaW5mb3JtYXRpb24gdXNlZCBpbiBzZWN0aW9uCj4gPiA+ICI4LjMgU2xpY2Ug ZGVjb2RpbmcgcHJvY2VzcyIgb2YgdGhlIHNwZWNpZmljYXRpb24gdG8gbGV0IHRoZSBoYXJkd2Fy ZQo+ID4gPiBwZXJmb3JtIGRlY29kaW5nIG9mIGEgc2xpY2VzLgo+ID4gPiAKPiA+ID4gQWRhcHQg Q2VkcnVzIGRyaXZlciBhY2NvcmRpbmcgdG8gdGhlc2UgY2hhbmdlcy4KPiA+ID4gCj4gPiA+IFNp Z25lZC1vZmYtYnk6IEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBjb2xsYWJv cmEuY29tPgo+ID4gPiAtLS0KPiA+ID4gdmVyc2lvbiAyOgo+ID4gPiAtIHJlbW92ZSBhbGwgY2hh bmdlIHJlbGF0ZWQgdG8gc2NhbGluZwo+ID4gPiAtIHNxdWFzaCBjb21taXRzIHRvIGEgY29oZXJl bnQgc3BsaXQKPiA+ID4gLSBiZSBtb3JlIHZlcmJvc2UgYWJvdXQgdGhlIGFkZGVkIGZpZWxkcwo+ ID4gPiAKPiA+ID4gZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1jdHJscy5jwqDCoMKgwqDC oMKgwqDCoMKgIHwgMjYgKysrKysrKystLS0KPiA+ID4gZHJpdmVycy9zdGFnaW5nL21lZGlhL3N1 bnhpL2NlZHJ1cy9jZWRydXMuY8KgwqAgfMKgIDYgKysrCj4gPiA+IGRyaXZlcnMvc3RhZ2luZy9t ZWRpYS9zdW54aS9jZWRydXMvY2VkcnVzLmjCoMKgIHzCoCAxICsKPiA+ID4gLi4uL3N0YWdpbmcv bWVkaWEvc3VueGkvY2VkcnVzL2NlZHJ1c19kZWMuY8KgwqAgfMKgIDIgKwo+ID4gPiAuLi4vc3Rh Z2luZy9tZWRpYS9zdW54aS9jZWRydXMvY2VkcnVzX2gyNjUuY8KgIHzCoCA2ICsrLQo+ID4gPiBp bmNsdWRlL21lZGlhL2hldmMtY3RybHMuaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHwgNDUgKysrKysrKysrKysrKysrLS0tLQo+ID4gPiA2IGZpbGVzIGNoYW5nZWQsIDY5 IGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQo+ID4gPiAKPiA+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDItY3RybHMuYyBiL2RyaXZlcnMvbWVkaWEvdjRs Mi0KPiA+ID4gY29yZS92NGwyLWN0cmxzLmMKPiA+ID4gaW5kZXggMDE2Y2Y2MjA0Y2JiLi40MDYw YjViY2MzYzAgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDIt Y3RybHMuYwo+ID4gPiArKysgYi9kcml2ZXJzL21lZGlhL3Y0bDItY29yZS92NGwyLWN0cmxzLmMK PiA+ID4gQEAgLTEwMjgsNiArMTAyOCw3IEBAIGNvbnN0IGNoYXIgKnY0bDJfY3RybF9nZXRfbmFt ZSh1MzIgaWQpCj4gPiA+IMKgwqDCoMKgwqDCoMKgwqBjYXNlIFY0TDJfQ0lEX01QRUdfVklERU9f SEVWQ19TUFM6wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1 cm4KPiA+ID4gIkhFVkMgU2VxdWVuY2UgUGFyYW1ldGVyIFNldCI7Cj4gPiA+IMKgwqDCoMKgwqDC oMKgwqBjYXNlIFY0TDJfQ0lEX01QRUdfVklERU9fSEVWQ19QUFM6wqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm4KPiA+ID4gIkhFVkMgUGljdHVyZSBQYXJh bWV0ZXIgU2V0IjsKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoGNhc2UgVjRMMl9DSURfTVBFR19WSURF T19IRVZDX1NMSUNFX1BBUkFNUzrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJldHVybgo+ID4g PiAiSEVWQyBTbGljZSBQYXJhbWV0ZXJzIjsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgY2FzZSBWNEwy X0NJRF9NUEVHX1ZJREVPX0hFVkNfREVDT0RFX1BBUkFNUzrCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqByZXR1cm4KPiA+ID4gIkhFVkMgRGVjb2RlIFBhcmFtZXRlcnMiOwo+ID4gPiDCoMKgwqDCoMKg wqDCoMKgY2FzZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0hFVkNfREVDT0RFX01PREU6wqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoHJldHVybgo+ID4gPiAiSEVWQyBEZWNvZGUgTW9kZSI7Cj4gPiA+ IMKgwqDCoMKgwqDCoMKgwqBjYXNlIFY0TDJfQ0lEX01QRUdfVklERU9fSEVWQ19TVEFSVF9DT0RF OsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJldHVybgo+ID4gPiAiSEVWQyBTdGFydCBD b2RlIjsKPiA+ID4gCj4gPiA+IEBAIC0xNDgyLDYgKzE0ODMsOSBAQCB2b2lkIHY0bDJfY3RybF9m aWxsKHUzMiBpZCwgY29uc3QgY2hhciAqKm5hbWUsIGVudW0KPiA+ID4gdjRsMl9jdHJsX3R5cGUg KnR5cGUsCj4gPiA+IMKgwqDCoMKgwqDCoMKgwqBjYXNlIFY0TDJfQ0lEX01QRUdfVklERU9fSEVW Q19TTElDRV9QQVJBTVM6Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgKnR5 cGUgPSBWNEwyX0NUUkxfVFlQRV9IRVZDX1NMSUNFX1BBUkFNUzsKPiA+ID4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBicmVhazsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgY2FzZSBWNEwy X0NJRF9NUEVHX1ZJREVPX0hFVkNfREVDT0RFX1BBUkFNUzoKPiA+ID4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCp0eXBlID0gVjRMMl9DVFJMX1RZUEVfSEVWQ19ERUNPREVfUEFSQU1T Owo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgYnJlYWs7Cj4gPiA+IMKgwqDC oMKgwqDCoMKgwqBjYXNlIFY0TDJfQ0lEX1VOSVRfQ0VMTF9TSVpFOgo+ID4gPiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCp0eXBlID0gVjRMMl9DVFJMX1RZUEVfQVJFQTsKPiA+ID4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAqZmxhZ3MgfD0gVjRMMl9DVFJMX0ZMQUdf UkVBRF9PTkxZOwo+ID4gPiBAQCAtMTgzMyw2ICsxODM3LDcgQEAgc3RhdGljIGludCBzdGRfdmFs aWRhdGVfY29tcG91bmQoY29uc3Qgc3RydWN0Cj4gPiA+IHY0bDJfY3RybCAqY3RybCwgdTMyIGlk eCwKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2NGwyX2N0cmxfaGV2Y19zcHMgKnBfaGV2 Y19zcHM7Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9jdHJsX2hldmNfcHBzICpw X2hldmNfcHBzOwo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0bDJfY3RybF9oZXZjX3Ns aWNlX3BhcmFtcyAqcF9oZXZjX3NsaWNlX3BhcmFtczsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgc3Ry dWN0IHY0bDJfY3RybF9oZXZjX2RlY29kZV9wYXJhbXMgKnBfaGV2Y19kZWNvZGVfcGFyYW1zOwo+ ID4gPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHY0bDJfYXJlYSAqYXJlYTsKPiA+ID4gwqDCoMKg wqDCoMKgwqDCoHZvaWQgKnAgPSBwdHIucCArIGlkeCAqIGN0cmwtPmVsZW1fc2l6ZTsKPiA+ID4g wqDCoMKgwqDCoMKgwqDCoHVuc2lnbmVkIGludCBpOwo+ID4gPiBAQCAtMjEwOCwyMyArMjExMywy NyBAQCBzdGF0aWMgaW50IHN0ZF92YWxpZGF0ZV9jb21wb3VuZChjb25zdCBzdHJ1Y3QKPiA+ID4g djRsMl9jdHJsICpjdHJsLCB1MzIgaWR4LAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoHplcm9fcGFkZGluZygqcF9oZXZjX3Bwcyk7Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgYnJlYWs7Cj4gPiA+IAo+ID4gPiAtwqDCoMKgwqDCoMKgwqBjYXNlIFY0 TDJfQ1RSTF9UWVBFX0hFVkNfU0xJQ0VfUEFSQU1TOgo+ID4gPiAtwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgcF9oZXZjX3NsaWNlX3BhcmFtcyA9IHA7Cj4gPiA+ICvCoMKgwqDCoMKgwqDC oGNhc2UgVjRMMl9DVFJMX1RZUEVfSEVWQ19ERUNPREVfUEFSQU1TOgo+ID4gPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgcF9oZXZjX2RlY29kZV9wYXJhbXMgPSBwOwo+ID4gPiAKPiA+ ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlmIChwX2hldmNfc2xpY2VfcGFyYW1z LT5udW1fYWN0aXZlX2RwYl9lbnRyaWVzID4KPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoGlmIChwX2hldmNfZGVjb2RlX3BhcmFtcy0+bnVtX2FjdGl2ZV9kcGJfZW50cmllcyA+ Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFY0TDJfSEVWQ19E UEJfRU5UUklFU19OVU1fTUFYKQo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gLUVJTlZBTDsKPiA+ID4gCj4gPiA+IC3CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqB6ZXJvX3BhZGRpbmcocF9oZXZjX3NsaWNlX3BhcmFtcy0+cHJl ZF93ZWlnaHRfdGFibGUpOwo+ID4gPiAtCj4gPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqBmb3IgKGkgPSAwOyBpIDwgcF9oZXZjX3NsaWNlX3BhcmFtcy0KPiA+ID4gPm51bV9hY3Rp dmVfZHBiX2VudHJpZXM7Cj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBmb3Ig KGkgPSAwOyBpIDwgcF9oZXZjX2RlY29kZV9wYXJhbXMtCj4gPiA+ID5udW1fYWN0aXZlX2RwYl9l bnRyaWVzOwo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGkr Kykgewo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqBzdHJ1Y3QgdjRsMl9oZXZjX2RwYl9lbnRyeSAqZHBiX2VudHJ5ID0KPiA+ID4gLcKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgJnBf aGV2Y19zbGljZV9wYXJhbXMtPmRwYltpXTsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgJnBfaGV2Y19kZWNvZGVfcGFy YW1zLT5kcGJbaV07Cj4gPiA+IAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqB6ZXJvX3BhZGRpbmcoKmRwYl9lbnRyeSk7Cj4gPiA+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfQo+ID4gPiAKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoGJyZWFrOwo+ID4gPiArCj4gPiA+ICvCoMKgwqDCoMKgwqDCoGNhc2UgVjRM Ml9DVFJMX1RZUEVfSEVWQ19TTElDRV9QQVJBTVM6Cj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBwX2hldmNfc2xpY2VfcGFyYW1zID0gcDsKPiA+ID4gKwo+ID4gPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgemVyb19wYWRkaW5nKHBfaGV2Y19zbGljZV9wYXJhbXMt PnByZWRfd2VpZ2h0X3RhYmxlKTsKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqB6ZXJvX3BhZGRpbmcoKnBfaGV2Y19zbGljZV9wYXJhbXMpOwo+ID4gPiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoGJyZWFrOwo+ID4gPiAKPiA+ID4gQEAgLTI4MjEsNiArMjgzMCw5 IEBAIHN0YXRpYyBzdHJ1Y3QgdjRsMl9jdHJsICp2NGwyX2N0cmxfbmV3KHN0cnVjdAo+ID4gPiB2 NGwyX2N0cmxfaGFuZGxlciAqaGRsLAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgY2FzZSBWNEwyX0NU UkxfVFlQRV9IRVZDX1NMSUNFX1BBUkFNUzoKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBlbGVtX3NpemUgPSBzaXplb2Yoc3RydWN0IHY0bDJfY3RybF9oZXZjX3NsaWNlX3Bh cmFtcyk7Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgYnJlYWs7Cj4gPiA+ ICvCoMKgwqDCoMKgwqDCoGNhc2UgVjRMMl9DVFJMX1RZUEVfSEVWQ19ERUNPREVfUEFSQU1TOgo+ ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZWxlbV9zaXplID0gc2l6ZW9mKHN0 cnVjdCB2NGwyX2N0cmxfaGV2Y19kZWNvZGVfcGFyYW1zKTsKPiA+ID4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoGJyZWFrOwo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgY2FzZSBWNEwyX0NU UkxfVFlQRV9BUkVBOgo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGVsZW1f c2l6ZSA9IHNpemVvZihzdHJ1Y3QgdjRsMl9hcmVhKTsKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBicmVhazsKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9t ZWRpYS9zdW54aS9jZWRydXMvY2VkcnVzLmMKPiA+ID4gYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEv c3VueGkvY2VkcnVzL2NlZHJ1cy5jCj4gPiA+IGluZGV4IDdiZDkyOTFjOGQ1Zi4uNGNkM2NhYjFh MjU3IDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvc3VueGkvY2VkcnVz L2NlZHJ1cy5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9zdW54aS9jZWRydXMv Y2VkcnVzLmMKPiA+ID4gQEAgLTE1MSw2ICsxNTEsMTIgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBj ZWRydXNfY29udHJvbCBjZWRydXNfY29udHJvbHNbXQo+ID4gPiA9IHsKPiA+ID4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9LAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoC5jb2RlY8KgwqDCoMKgwqDCoMKgwqDCoMKgPSBDRURSVVNfQ09ERUNfVlA4LAo+ID4g PiDCoMKgwqDCoMKgwqDCoMKgfSwKPiA+ID4gK8KgwqDCoMKgwqDCoMKgewo+ID4gPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLmNmZyA9IHsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAuaWQgPSBWNEwyX0NJRF9NUEVHX1ZJREVPX0hF VkNfREVDT0RFX1BBUkFNUywKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0s Cj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAuY29kZWPCoMKgwqDCoMKgwqDC oMKgwqDCoD0gQ0VEUlVTX0NPREVDX0gyNjUsCj4gPiA+ICvCoMKgwqDCoMKgwqDCoH0sCj4gPiA+ IH07Cj4gPiA+IAo+ID4gPiAjZGVmaW5lIENFRFJVU19DT05UUk9MU19DT1VOVMKgwqDCoEFSUkFZ X1NJWkUoY2VkcnVzX2NvbnRyb2xzKQo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5n L21lZGlhL3N1bnhpL2NlZHJ1cy9jZWRydXMuaAo+ID4gPiBiL2RyaXZlcnMvc3RhZ2luZy9tZWRp YS9zdW54aS9jZWRydXMvY2VkcnVzLmgKPiA+ID4gaW5kZXggMjUxYTZhNjYwMzUxLi4yY2EzM2Fj MzhiOWEgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9zdW54aS9jZWRy dXMvY2VkcnVzLmgKPiA+ID4gKysrIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL3N1bnhpL2NlZHJ1 cy9jZWRydXMuaAo+ID4gPiBAQCAtNzYsNiArNzYsNyBAQCBzdHJ1Y3QgY2VkcnVzX2gyNjVfcnVu IHsKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoGNvbnN0IHN0cnVjdCB2NGwyX2N0cmxfaGV2Y19zcHPC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgKnNwczsKPiA+ID4gwqDCoMKgwqDCoMKg wqDCoGNvbnN0IHN0cnVjdCB2NGwyX2N0cmxfaGV2Y19wcHPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgKnBwczsKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoGNvbnN0IHN0cnVjdCB2NGwy X2N0cmxfaGV2Y19zbGljZV9wYXJhbXPCoMKgwqDCoMKgwqDCoMKgKnNsaWNlX3BhcmFtczsKPiA+ ID4gK8KgwqDCoMKgwqDCoMKgY29uc3Qgc3RydWN0IHY0bDJfY3RybF9oZXZjX2RlY29kZV9wYXJh bXPCoMKgwqDCoMKgwqDCoCpkZWNvZGVfcGFyYW1zOwo+ID4gPiB9Owo+ID4gPiAKPiA+ID4gc3Ry dWN0IGNlZHJ1c192cDhfcnVuIHsKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9t ZWRpYS9zdW54aS9jZWRydXMvY2VkcnVzX2RlYy5jCj4gPiA+IGIvZHJpdmVycy9zdGFnaW5nL21l ZGlhL3N1bnhpL2NlZHJ1cy9jZWRydXNfZGVjLmMKPiA+ID4gaW5kZXggYTkwOTBkYWY2MjZhLi5j ZDgyMWY0MTdhMTQgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9zdW54 aS9jZWRydXMvY2VkcnVzX2RlYy5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9z dW54aS9jZWRydXMvY2VkcnVzX2RlYy5jCj4gPiA+IEBAIC02OCw2ICs2OCw4IEBAIHZvaWQgY2Vk cnVzX2RldmljZV9ydW4odm9pZCAqcHJpdikKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgVjRMMl9DSURfTVBFR19WSURFT19IRVZDX1BQUyk7Cj4g PiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcnVuLmgyNjUuc2xpY2VfcGFyYW1z ID0gY2VkcnVzX2ZpbmRfY29udHJvbF9kYXRhKGN0eCwKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgVjRMMl9DSURfTVBFR19WSURFT19IRVZDX1NM SUNFX1BBUkFNUyk7Cj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBydW4uaDI2 NS5kZWNvZGVfcGFyYW1zID0gY2VkcnVzX2ZpbmRfY29udHJvbF9kYXRhKGN0eCwKPiA+ID4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBWNEwyX0NJRF9NUEVH X1ZJREVPX0hFVkNfREVDT0RFX1BBUkFNUyk7Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgYnJlYWs7Cj4gPiA+IAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgY2FzZSBWNEwyX1BJ WF9GTVRfVlA4X0ZSQU1FOgo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL21lZGlh L3N1bnhpL2NlZHJ1cy9jZWRydXNfaDI2NS5jCj4gPiA+IGIvZHJpdmVycy9zdGFnaW5nL21lZGlh L3N1bnhpL2NlZHJ1cy9jZWRydXNfaDI2NS5jCj4gPiA+IGluZGV4IGNlNDk3ZDAxOTdkZi4uZGNl NWRiNmJlMTNhIDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvc3VueGkv Y2VkcnVzL2NlZHJ1c19oMjY1LmMKPiA+ID4gKysrIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL3N1 bnhpL2NlZHJ1cy9jZWRydXNfaDI2NS5jCj4gPiA+IEBAIC0yNDUsNiArMjQ1LDcgQEAgc3RhdGlj IHZvaWQgY2VkcnVzX2gyNjVfc2V0dXAoc3RydWN0IGNlZHJ1c19jdHggKmN0eCwKPiA+ID4gwqDC oMKgwqDCoMKgwqDCoGNvbnN0IHN0cnVjdCB2NGwyX2N0cmxfaGV2Y19zcHMgKnNwczsKPiA+ID4g wqDCoMKgwqDCoMKgwqDCoGNvbnN0IHN0cnVjdCB2NGwyX2N0cmxfaGV2Y19wcHMgKnBwczsKPiA+ ID4gwqDCoMKgwqDCoMKgwqDCoGNvbnN0IHN0cnVjdCB2NGwyX2N0cmxfaGV2Y19zbGljZV9wYXJh bXMgKnNsaWNlX3BhcmFtczsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgY29uc3Qgc3RydWN0IHY0bDJf Y3RybF9oZXZjX2RlY29kZV9wYXJhbXMgKmRlY29kZV9wYXJhbXM7Cj4gPiA+IMKgwqDCoMKgwqDC oMKgwqBjb25zdCBzdHJ1Y3QgdjRsMl9oZXZjX3ByZWRfd2VpZ2h0X3RhYmxlICpwcmVkX3dlaWdo dF90YWJsZTsKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoGRtYV9hZGRyX3Qgc3JjX2J1Zl9hZGRyOwo+ ID4gPiDCoMKgwqDCoMKgwqDCoMKgZG1hX2FkZHJfdCBzcmNfYnVmX2VuZF9hZGRyOwo+ID4gPiBA QCAtMjU2LDYgKzI1Nyw3IEBAIHN0YXRpYyB2b2lkIGNlZHJ1c19oMjY1X3NldHVwKHN0cnVjdCBj ZWRydXNfY3R4ICpjdHgsCj4gPiA+IMKgwqDCoMKgwqDCoMKgwqBzcHMgPSBydW4tPmgyNjUuc3Bz Owo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgcHBzID0gcnVuLT5oMjY1LnBwczsKPiA+ID4gwqDCoMKg wqDCoMKgwqDCoHNsaWNlX3BhcmFtcyA9IHJ1bi0+aDI2NS5zbGljZV9wYXJhbXM7Cj4gPiA+ICvC oMKgwqDCoMKgwqDCoGRlY29kZV9wYXJhbXMgPSBydW4tPmgyNjUuZGVjb2RlX3BhcmFtczsKPiA+ ID4gwqDCoMKgwqDCoMKgwqDCoHByZWRfd2VpZ2h0X3RhYmxlID0gJnNsaWNlX3BhcmFtcy0+cHJl ZF93ZWlnaHRfdGFibGU7Cj4gPiA+IAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgLyogTVYgY29sdW1u IGJ1ZmZlciBzaXplIGFuZCBhbGxvY2F0aW9uLiAqLwo+ID4gPiBAQCAtNDg3LDcgKzQ4OSw3IEBA IHN0YXRpYyB2b2lkIGNlZHJ1c19oMjY1X3NldHVwKHN0cnVjdCBjZWRydXNfY3R4ICpjdHgsCj4g PiA+IAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgcmVnID0KPiA+ID4gVkVfREVDX0gyNjVfREVDX1NM SUNFX0hEUl9JTkZPMV9TTElDRV9UQ19PRkZTRVRfRElWMihzbGljZV9wYXJhbXMtCj4gPiA+ID5z bGljZV90Y19vZmZzZXRfZGl2MikgfAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+ ID4gPiBWRV9ERUNfSDI2NV9ERUNfU0xJQ0VfSERSX0lORk8xX1NMSUNFX0JFVEFfT0ZGU0VUX0RJ VjIoc2xpY2VfcGFyYW1zLQo+ID4gPiA+c2xpY2VfYmV0YV9vZmZzZXRfZGl2MikgfAo+ID4gPiAt wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gPiA+IFZFX0RFQ19IMjY1X0RFQ19TTElDRV9IRFJf SU5GTzFfU0xJQ0VfUE9DX0JJR0VTVF9JTl9SUFNfU1Qoc2xpY2VfcGFyYW1zLQo+ID4gPiA+bnVt X3Jwc19wb2Nfc3RfY3Vycl9hZnRlciA9PSAwKSB8Cj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAKPiA+ID4gVkVfREVDX0gyNjVfREVDX1NMSUNFX0hEUl9JTkZPMV9TTElDRV9QT0NfQklH RVNUX0lOX1JQU19TVChkZWNvZGVfcGFyYW1zLQo+ID4gPiA+bnVtX3Jwc19wb2Nfc3RfY3Vycl9h ZnRlciA9PSAwKSB8Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gPiA+IFZFX0RF Q19IMjY1X0RFQ19TTElDRV9IRFJfSU5GTzFfU0xJQ0VfQ1JfUVBfT0ZGU0VUKHNsaWNlX3BhcmFt cy0KPiA+ID4gPnNsaWNlX2NyX3FwX29mZnNldCkgfAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoAo+ID4gPiBWRV9ERUNfSDI2NV9ERUNfU0xJQ0VfSERSX0lORk8xX1NMSUNFX0NCX1FQ X09GRlNFVChzbGljZV9wYXJhbXMtCj4gPiA+ID5zbGljZV9jYl9xcF9vZmZzZXQpIHwKPiA+ID4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgVkVfREVDX0gyNjVfREVDX1NMSUNFX0hEUl9JTkZP MV9TTElDRV9RUF9ERUxUQShzbGljZV9wYXJhbXMtCj4gPiA+ID5zbGljZV9xcF9kZWx0YSk7Cj4g PiA+IEBAIC01MjgsNyArNTMwLDcgQEAgc3RhdGljIHZvaWQgY2VkcnVzX2gyNjVfc2V0dXAoc3Ry dWN0IGNlZHJ1c19jdHggKmN0eCwKPiA+ID4gCj4gPiA+IMKgwqDCoMKgwqDCoMKgwqAvKiBXcml0 ZSBkZWNvZGVkIHBpY3R1cmUgYnVmZmVyIGluIHBpYyBsaXN0LiAqLwo+ID4gPiDCoMKgwqDCoMKg wqDCoMKgY2VkcnVzX2gyNjVfZnJhbWVfaW5mb193cml0ZV9kcGIoY3R4LCBzbGljZV9wYXJhbXMt PmRwYiwKPiA+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzbGljZV9wYXJhbXMtCj4gPiA+ID5u dW1fYWN0aXZlX2RwYl9lbnRyaWVzKTsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkZWNv ZGVfcGFyYW1zLQo+ID4gPiA+bnVtX2FjdGl2ZV9kcGJfZW50cmllcyk7Cj4gPiA+IAo+ID4gPiDC oMKgwqDCoMKgwqDCoMKgLyogT3V0cHV0IGZyYW1lLiAqLwo+ID4gPiAKPiA+ID4gZGlmZiAtLWdp dCBhL2luY2x1ZGUvbWVkaWEvaGV2Yy1jdHJscy5oIGIvaW5jbHVkZS9tZWRpYS9oZXZjLWN0cmxz LmgKPiA+ID4gaW5kZXggYjRjYjJlZjAyZjE3Li43ZmU3MDRhMDhmNzcgMTAwNjQ0Cj4gPiA+IC0t LSBhL2luY2x1ZGUvbWVkaWEvaGV2Yy1jdHJscy5oCj4gPiA+ICsrKyBiL2luY2x1ZGUvbWVkaWEv aGV2Yy1jdHJscy5oCj4gPiA+IEBAIC0xOSw2ICsxOSw3IEBACj4gPiA+ICNkZWZpbmUgVjRMMl9D SURfTVBFR19WSURFT19IRVZDX1NQU8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoChWNEwyX0NJRF9D T0RFQ19CQVNFICsKPiA+ID4gMTAwOCkKPiA+ID4gI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVP X0hFVkNfUFBTwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgKFY0TDJfQ0lEX0NPREVDX0JBU0UgKwo+ ID4gPiAxMDA5KQo+ID4gPiAjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fSEVWQ19TTElDRV9Q QVJBTVPCoMKgwqAoVjRMMl9DSURfQ09ERUNfQkFTRSArCj4gPiA+IDEwMTApCj4gPiA+ICsjZGVm aW5lIFY0TDJfQ0lEX01QRUdfVklERU9fSEVWQ19ERUNPREVfUEFSQU1TwqAoVjRMMl9DSURfQ09E RUNfQkFTRSArCj4gPiA+IDEwMTIpCj4gPiA+ICNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19I RVZDX0RFQ09ERV9NT0RFwqDCoMKgwqAoVjRMMl9DSURfQ09ERUNfQkFTRSArCj4gPiA+IDEwMTUp Cj4gPiA+ICNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IRVZDX1NUQVJUX0NPREXCoMKgwqDC oMKgKFY0TDJfQ0lEX0NPREVDX0JBU0UgKwo+ID4gPiAxMDE2KQo+ID4gPiAKPiA+ID4gQEAgLTI2 LDYgKzI3LDcgQEAKPiA+ID4gI2RlZmluZSBWNEwyX0NUUkxfVFlQRV9IRVZDX1NQUyAweDAxMjAK PiA+ID4gI2RlZmluZSBWNEwyX0NUUkxfVFlQRV9IRVZDX1BQUyAweDAxMjEKPiA+ID4gI2RlZmlu ZSBWNEwyX0NUUkxfVFlQRV9IRVZDX1NMSUNFX1BBUkFNUyAweDAxMjIKPiA+ID4gKyNkZWZpbmUg VjRMMl9DVFJMX1RZUEVfSEVWQ19ERUNPREVfUEFSQU1TIDB4MDEyNAo+ID4gPiAKPiA+ID4gZW51 bSB2NGwyX21wZWdfdmlkZW9faGV2Y19kZWNvZGVfbW9kZSB7Cj4gPiA+IMKgwqDCoMKgwqDCoMKg wqBWNEwyX01QRUdfVklERU9fSEVWQ19ERUNPREVfTU9ERV9TTElDRV9CQVNFRCwKPiA+ID4gQEAg LTU0LDYgKzU2LDkgQEAgZW51bSB2NGwyX21wZWdfdmlkZW9faGV2Y19zdGFydF9jb2RlIHsKPiA+ ID4gLyogVGhlIGNvbnRyb2xzIGFyZSBub3Qgc3RhYmxlIGF0IHRoZSBtb21lbnQgYW5kIHdpbGwg bGlrZWx5IGJlIHJld29ya2VkLgo+ID4gPiAqLwo+ID4gPiBzdHJ1Y3QgdjRsMl9jdHJsX2hldmNf c3BzIHsKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoC8qIElTTy9JRUMgMjMwMDgtMiwgSVRVLVQgUmVj LiBILjI2NTogU2VxdWVuY2UgcGFyYW1ldGVyIHNldCAqLwo+ID4gPiArwqDCoMKgwqDCoMKgwqBf X3U4wqDCoMKgwqB2aWRlb19wYXJhbWV0ZXJfc2V0X2lkOwo+ID4gV2hpbHN0IEkgZG9uJ3Qgb2Jq ZWN0IHRvIHRoZSBhZGRpdGlvbiBvZiB2cHMgaWQgd2h5IGRvIHdlIG5lZWQKPiA+IGl0IGlmIHRo ZSBWUFMgaXMgbmV2ZXIgcGFzc2VkPwo+IAo+IFlvdSBhcmUgcmlnaHQgSSBjb3VsZCByZW1vdmUg aXQuCj4gCj4gPiAKPiA+ID4gK8KgwqDCoMKgwqDCoMKgX191OMKgwqDCoMKgc2VxX3BhcmFtZXRl cl9zZXRfaWQ7Cj4gPiA+ICvCoMKgwqDCoMKgwqDCoF9fdTjCoMKgwqDCoGNocm9tYV9mb3JtYXRf aWRjOwo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgX191MTbCoMKgwqBwaWNfd2lkdGhfaW5fbHVtYV9z YW1wbGVzOwo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgX191MTbCoMKgwqBwaWNfaGVpZ2h0X2luX2x1 bWFfc2FtcGxlczsKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoF9fdTjCoMKgwqDCoGJpdF9kZXB0aF9s dW1hX21pbnVzODsKPiA+ID4gQEAgLTc0LDkgKzc5LDkgQEAgc3RydWN0IHY0bDJfY3RybF9oZXZj X3NwcyB7Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqBfX3U4wqDCoMKgwqBsb2cyX2RpZmZfbWF4X21p bl9wY21fbHVtYV9jb2RpbmdfYmxvY2tfc2l6ZTsKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoF9fdTjC oMKgwqDCoG51bV9zaG9ydF90ZXJtX3JlZl9waWNfc2V0czsKPiA+ID4gwqDCoMKgwqDCoMKgwqDC oF9fdTjCoMKgwqDCoG51bV9sb25nX3Rlcm1fcmVmX3BpY3Nfc3BzOwo+ID4gPiAtwqDCoMKgwqDC oMKgwqBfX3U4wqDCoMKgwqBjaHJvbWFfZm9ybWF0X2lkYzsKPiA+ID4gCj4gPiA+IC3CoMKgwqDC oMKgwqDCoF9fdTjCoMKgwqDCoHBhZGRpbmc7Cj4gPiA+ICvCoMKgwqDCoMKgwqDCoF9fdTjCoMKg wqDCoG51bV9zbGljZXM7Cj4gPiA+ICvCoMKgwqDCoMKgwqDCoF9fdTjCoMKgwqDCoHBhZGRpbmdb Nl07Cj4gPiA+IAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgX191NjTCoMKgwqBmbGFnczsKPiA+ID4g fTsKPiA+ID4gQEAgLTEwMCwxMCArMTA1LDE1IEBAIHN0cnVjdCB2NGwyX2N0cmxfaGV2Y19zcHMg ewo+ID4gPiAjZGVmaW5lIFY0TDJfSEVWQ19QUFNfRkxBR19QUFNfRElTQUJMRV9ERUJMT0NLSU5H X0ZJTFRFUsKgwqDCoMKgwqDCoMKgwqAoMVVMTCA8PAo+ID4gPiAxNikKPiA+ID4gI2RlZmluZSBW NEwyX0hFVkNfUFBTX0ZMQUdfTElTVFNfTU9ESUZJQ0FUSU9OX1BSRVNFTlTCoMKgwqDCoMKgwqDC oMKgwqDCoMKgKDFVTEwgPDwKPiA+ID4gMTcpCj4gPiA+ICNkZWZpbmUgVjRMMl9IRVZDX1BQU19G TEFHX1NMSUNFX1NFR01FTlRfSEVBREVSX0VYVEVOU0lPTl9QUkVTRU5UICgxVUxMIDw8Cj4gPiA+ IDE4KQo+ID4gPiArI2RlZmluZSBWNEwyX0hFVkNfUFBTX0ZMQUdfREVCTE9DS0lOR19GSUxURVJf Q09OVFJPTF9QUkVTRU5UwqDCoMKgKDFVTEwgPDwKPiA+ID4gMTkpCj4gPiA+ICsjZGVmaW5lIFY0 TDJfSEVWQ19QUFNfRkxBR19VTklGT1JNX1NQQUNJTkfCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAoMVVMTCA8PAo+ID4gPiAyMCkKPiA+ID4gCj4gPiA+IHN0cnVjdCB2 NGwyX2N0cmxfaGV2Y19wcHMgewo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgLyogSVNPL0lFQyAyMzAw OC0yLCBJVFUtVCBSZWMuIEguMjY1OiBQaWN0dXJlIHBhcmFtZXRlciBzZXQgKi8KPiA+ID4gK8Kg wqDCoMKgwqDCoMKgX191OMKgwqDCoMKgcGljX3BhcmFtZXRlcl9zZXRfaWQ7Cj4gPiA+IMKgwqDC oMKgwqDCoMKgwqBfX3U4wqDCoMKgwqBudW1fZXh0cmFfc2xpY2VfaGVhZGVyX2JpdHM7Cj4gPiA+ ICvCoMKgwqDCoMKgwqDCoF9fdTjCoMKgwqDCoG51bV9yZWZfaWR4X2wwX2RlZmF1bHRfYWN0aXZl X21pbnVzMTsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgX191OMKgwqDCoMKgbnVtX3JlZl9pZHhfbDFf ZGVmYXVsdF9hY3RpdmVfbWludXMxOwo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgX19zOMKgwqDCoMKg aW5pdF9xcF9taW51czI2Owo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgX191OMKgwqDCoMKgZGlmZl9j dV9xcF9kZWx0YV9kZXB0aDsKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoF9fczjCoMKgwqDCoHBwc19j Yl9xcF9vZmZzZXQ7Cj4gPiA+IEBAIC0xMTYsNyArMTI2LDcgQEAgc3RydWN0IHY0bDJfY3RybF9o ZXZjX3BwcyB7Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqBfX3M4wqDCoMKgwqBwcHNfdGNfb2Zmc2V0 X2RpdjI7Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqBfX3U4wqDCoMKgwqBsb2cyX3BhcmFsbGVsX21l cmdlX2xldmVsX21pbnVzMjsKPiA+ID4gCj4gPiA+IC3CoMKgwqDCoMKgwqDCoF9fdTjCoMKgwqDC oHBhZGRpbmdbNF07Cj4gPiA+ICvCoMKgwqDCoMKgwqDCoF9fdTjCoMKgwqDCoHBhZGRpbmc7Cj4g PiA+IMKgwqDCoMKgwqDCoMKgwqBfX3U2NMKgwqDCoGZsYWdzOwo+ID4gPiB9Owo+ID4gPiAKPiA+ ID4gQEAgLTE2NSw2ICsxNzUsMTAgQEAgc3RydWN0IHY0bDJfY3RybF9oZXZjX3NsaWNlX3BhcmFt cyB7Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqBfX3UzMsKgwqDCoGJpdF9zaXplOwo+ID4gPiDCoMKg wqDCoMKgwqDCoMKgX191MzLCoMKgwqBkYXRhX2JpdF9vZmZzZXQ7Cj4gPiA+IAo+ID4gPiArwqDC oMKgwqDCoMKgwqAvKiBJU08vSUVDIDIzMDA4LTIsIElUVS1UIFJlYy4gSC4yNjU6IEdlbmVyYWwg c2xpY2Ugc2VnbWVudCBoZWFkZXIKPiA+ID4gKi8KPiA+ID4gK8KgwqDCoMKgwqDCoMKgX191MzLC oMKgwqBzbGljZV9zZWdtZW50X2FkZHI7Cj4gPiA+ICvCoMKgwqDCoMKgwqDCoF9fdTMywqDCoMKg bnVtX2VudHJ5X3BvaW50X29mZnNldHM7Cj4gPiA+ICsKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoC8q IElTTy9JRUMgMjMwMDgtMiwgSVRVLVQgUmVjLiBILjI2NTogTkFMIHVuaXQgaGVhZGVyICovCj4g PiA+IMKgwqDCoMKgwqDCoMKgwqBfX3U4wqDCoMKgwqBuYWxfdW5pdF90eXBlOwo+ID4gPiDCoMKg wqDCoMKgwqDCoMKgX191OMKgwqDCoMKgbnVoX3RlbXBvcmFsX2lkX3BsdXMxOwo+ID4gPiBAQCAt MTkwLDE1ICsyMDQsMTMgQEAgc3RydWN0IHY0bDJfY3RybF9oZXZjX3NsaWNlX3BhcmFtcyB7Cj4g PiA+IMKgwqDCoMKgwqDCoMKgwqBfX3U4wqDCoMKgwqBwaWNfc3RydWN0Owo+ID4gPiAKPiA+ID4g wqDCoMKgwqDCoMKgwqDCoC8qIElTTy9JRUMgMjMwMDgtMiwgSVRVLVQgUmVjLiBILjI2NTogR2Vu ZXJhbCBzbGljZSBzZWdtZW50IGhlYWRlcgo+ID4gPiAqLwo+ID4gPiAtwqDCoMKgwqDCoMKgwqBf X3U4wqDCoMKgwqBudW1fYWN0aXZlX2RwYl9lbnRyaWVzOwo+ID4gPiDCoMKgwqDCoMKgwqDCoMKg X191OMKgwqDCoMKgcmVmX2lkeF9sMFtWNEwyX0hFVkNfRFBCX0VOVFJJRVNfTlVNX01BWF07Cj4g PiA+IMKgwqDCoMKgwqDCoMKgwqBfX3U4wqDCoMKgwqByZWZfaWR4X2wxW1Y0TDJfSEVWQ19EUEJf RU5UUklFU19OVU1fTUFYXTsKPiA+ID4gCj4gPiA+IC3CoMKgwqDCoMKgwqDCoF9fdTjCoMKgwqDC oG51bV9ycHNfcG9jX3N0X2N1cnJfYmVmb3JlOwo+ID4gPiAtwqDCoMKgwqDCoMKgwqBfX3U4wqDC oMKgwqBudW1fcnBzX3BvY19zdF9jdXJyX2FmdGVyOwo+ID4gPiAtwqDCoMKgwqDCoMKgwqBfX3U4 wqDCoMKgwqBudW1fcnBzX3BvY19sdF9jdXJyOwo+ID4gPiArwqDCoMKgwqDCoMKgwqBfX3UxNsKg wqDCoHNob3J0X3Rlcm1fcmVmX3BpY19zZXRfc2l6ZTsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgX191 MTbCoMKgwqBsb25nX3Rlcm1fcmVmX3BpY19zZXRfc2l6ZTsKPiA+ID4gCj4gPiA+IC3CoMKgwqDC oMKgwqDCoF9fdTjCoMKgwqDCoHBhZGRpbmc7Cj4gPiA+ICvCoMKgwqDCoMKgwqDCoF9fdTjCoMKg wqDCoHBhZGRpbmdbNV07Cj4gPiA+IAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgLyogSVNPL0lFQyAy MzAwOC0yLCBJVFUtVCBSZWMuIEguMjY1OiBHZW5lcmFsIHNsaWNlIHNlZ21lbnQgaGVhZGVyCj4g PiA+ICovCj4gPiA+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdjRsMl9oZXZjX2RwYl9lbnRyeSBk cGJbVjRMMl9IRVZDX0RQQl9FTlRSSUVTX05VTV9NQVhdOwo+ID4gPiBAQCAtMjA5LDQgKzIyMSwy MSBAQCBzdHJ1Y3QgdjRsMl9jdHJsX2hldmNfc2xpY2VfcGFyYW1zIHsKPiA+ID4gwqDCoMKgwqDC oMKgwqDCoF9fdTY0wqDCoMKgZmxhZ3M7Cj4gPiA+IH07Cj4gPiA+IAo+ID4gPiArI2RlZmluZSBW NEwyX0hFVkNfREVDT0RFX1BBUkFNX0ZMQUdfSVJBUF9QSUPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg MHgxCj4gPiA+ICsjZGVmaW5lIFY0TDJfSEVWQ19ERUNPREVfUEFSQU1fRkxBR19JRFJfUElDwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgMHgyCj4gPiA+ICsjZGVmaW5lIFY0TDJfSEVWQ19ERUNPREVf UEFSQU1fRkxBR19OT19PVVRQVVRfT0ZfUFJJT1LCoCAweDQKPiA+ID4gKwo+ID4gPiArc3RydWN0 IHY0bDJfY3RybF9oZXZjX2RlY29kZV9wYXJhbXMgewo+ID4gPiArwqDCoMKgwqDCoMKgwqBfX3Mz MsKgwqDCoHBpY19vcmRlcl9jbnRfdmFsOwo+ID4gPiArwqDCoMKgwqDCoMKgwqBfX3U4wqDCoMKg wqBudW1fYWN0aXZlX2RwYl9lbnRyaWVzOwo+ID4gPiArwqDCoMKgwqDCoMKgwqBzdHJ1Y3TCoMKg djRsMl9oZXZjX2RwYl9lbnRyeSBkcGJbVjRMMl9IRVZDX0RQQl9FTlRSSUVTX05VTV9NQVhdOwo+ ID4gPiArwqDCoMKgwqDCoMKgwqBfX3U4wqDCoMKgwqBudW1fcnBzX3BvY19zdF9jdXJyX2JlZm9y ZTsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgX191OMKgwqDCoMKgbnVtX3Jwc19wb2Nfc3RfY3Vycl9h ZnRlcjsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgX191OMKgwqDCoMKgbnVtX3Jwc19wb2NfbHRfY3Vy cjsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgX191OMKgwqDCoMKgcnBzX3N0X2N1cnJfYmVmb3JlW1Y0 TDJfSEVWQ19EUEJfRU5UUklFU19OVU1fTUFYXTsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgX191OMKg wqDCoMKgcnBzX3N0X2N1cnJfYWZ0ZXJbVjRMMl9IRVZDX0RQQl9FTlRSSUVTX05VTV9NQVhdOwo+ ID4gPiArwqDCoMKgwqDCoMKgwqBfX3U4wqDCoMKgwqBycHNfbHRfY3VycltWNEwyX0hFVkNfRFBC X0VOVFJJRVNfTlVNX01BWF07Cj4gPiA+ICvCoMKgwqDCoMKgwqDCoF9fdTY0wqDCoMKgZmxhZ3M7 Cj4gPiA+ICt9Owo+ID4gPiArCj4gPiA+ICNlbmRpZgo+ID4gV2hpbGUgeW91IGFyZSBhZGRpbmcg c3R1ZmYgaXMgdGhlcmUgYW55IGNoYW5jZSB5b3UgY291bGQgYWxzbyBhZGQ6Cj4gPiAKPiA+ICNk ZWZpbmUgVjRMMl9IRVZDX1NMSUNFX1BBUkFNU19GTEFHX0RFUEVOREVOVF9TTElDRV9TRUdNRU5U wqDCoMKgwqDCoCgxVUxMIDw8IDkpCj4gPiAKPiA+IHRvIHRoZSBzbGljZSBmbGFncz/CoCBUaGUg cnBpIEgyNjUgZGVjb2RlciBuZWVkcyBpdCB0byBkZWFsIHdpdGgKPiA+IGNhc2VzIHdoZXJlIGRl cGVuZGFudF9zbGljZV9zZWdtZW50IGlzIHNldCBpbiB0aGUgc2xpY2UgaGVhZGVyLgo+IAo+IFJl bWFya3Mgb24gcHJldmlvdXMgdmVyc2lvbnMgc3VnZ2VzdCB0byBvbmx5IGFkZCB3aGF0IGl0IGlz IHVzZWQgYnkgZHJpdmVyCj4gKGxpa2Ugc2NhbGluZyBmZWF0dXJlKSBzbyBJIHdpbGwgd2FpdCB0 byBoYXZlIGFuIHVzYWdlIG9mIHRoaXMgZmxhZyB0bwo+IGludHJvZHVjZSBpdC4KCkFueSBjaGFu Y2Ugd2UgY2FuIGhhdmUgYSBsaW5rIHRvIHRoZSByZWxhdGVkIGtlcm5lbCBjb2RlID8gVXNlcnNw YWNlIGlzIGFscmVhZHkKZXhwZWN0ZWQgdG8gZmlsbCB0aGUgYmxhbmsgaW4gdGhlIHNsaWNlX3Bh cmFtcywgYnV0IHBlcmhhcHMgd2UgbWlzc2VkIHNvbWV0aGluZy4KCj4gCj4gQmVuamFtaW4KPiAK PiA+IAo+ID4gVGhhbmtzCj4gPiAKPiA+IEpvaG4gQ294Cj4gPiAKPiAKCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXgtcm9ja2NoaXAgbWFpbGlu ZyBsaXN0CkxpbnV4LXJvY2tjaGlwQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmlu ZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yb2NrY2hpcAo=