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, URIBL_BLOCKED autolearn=unavailable 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 32341C433DB for ; Thu, 25 Feb 2021 18:36:47 +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 D737164E6C for ; Thu, 25 Feb 2021 18:36:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D737164E6C 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-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=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=+P5FOWMvSPlF6BJmkRiu+yUiE3+dg9dzX4h1kdAdLxQ=; b=RQB51jo5FeFBZy0ToMn3JDMSV RkbvnXtLc/XsbsWV7Xja/7DEns8AkVBaRMBeEos3iVSnRgrErGPeSyLSFgsr7rFTh8pPnh4LQ4n9a qygrVMw4kDzUned0jQ8OAvl+MXfV8teB7dCmeNZ66l/N9zRbonFcsQ3J8CN1wOfFiDh/5ebc61b+Y RHXDlTMXOlJO5QPEEPwcZly4unM813QEBg2rSa3gsgoskDE3EttP1BtjmoP7eeACsnBkeXhSpnusM UqF7kRLmeu5Xbf2yj1r44a3Dbu3Uro3+zKhvGGnJoppuY18EIqtnK5L3/ZjwaBeH5NCfqD1TRXFMk gvKwXVbeA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lFLU6-0002F1-2p; Thu, 25 Feb 2021 18:35:34 +0000 Received: from bhuna.collabora.co.uk ([46.235.227.227]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lFLU3-0002Dz-Kq; Thu, 25 Feb 2021 18:35:33 +0000 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: nicolas) with ESMTPSA id E97AA1F463C8 Message-ID: <52116f36b5096300d4210dabfccc3ce8c9b6544b.camel@collabora.com> Subject: Re: [PATCH v3 1/9] media: hevc: Modify structures to follow H265 ITU spec From: Nicolas Dufresne To: Ezequiel Garcia , Benjamin Gaignard , p.zabel@pengutronix.de, mchehab@kernel.org, robh+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, gregkh@linuxfoundation.org, mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org, jernej.skrabec@siol.net, peng.fan@nxp.com, hverkuil-cisco@xs4all.nl, dan.carpenter@oracle.com Date: Thu, 25 Feb 2021 13:35:19 -0500 In-Reply-To: <2109948614dc0e3f253d69ca92a4b63fe8828bfb.camel@collabora.com> References: <20210222122406.41782-1-benjamin.gaignard@collabora.com> <20210222122406.41782-2-benjamin.gaignard@collabora.com> <2109948614dc0e3f253d69ca92a4b63fe8828bfb.camel@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-20210225_133531_879224_DCFBC566 X-CRM114-Status: GOOD ( 41.29 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, kernel@collabora.com, linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org 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 TGUgamV1ZGkgMjUgZsOpdnJpZXIgMjAyMSDDoCAxMDowOSAtMDMwMCwgRXplcXVpZWwgR2FyY2lh IGEgw6ljcml0wqA6Cj4gSGkgQmVuamFtaW4sCj4gCj4gVGhhbmtzIGZvciB0aGUgZ29vZCB3b3Jr Lgo+IAo+IE9uIE1vbiwgMjAyMS0wMi0yMiBhdCAxMzoyMyArMDEwMCwgQmVuamFtaW4gR2FpZ25h cmQgd3JvdGU6Cj4gPiBUaGUgSC4yNjUgSVRVIHNwZWNpZmljYXRpb24gKHNlY3Rpb24gNy40KSBk ZWZpbmUgdGhlIGdlbmVyYWwKPiA+IHNsaWNlIHNlZ21lbnQgaGVhZGVyIHNlbWFudGljcy4KPiA+ IE1vZGlmaWVkL2FkZGVkIGZpZWxkcyBhcmU6Cj4gPiAtIHZpZGVvX3BhcmFtZXRlcl9zZXRfaWQ6 ICg3LjQuMy4xKSBpZGVudGlmaWVzIHRoZSBWUFMgZm9yCj4gPiByZWZlcmVuY2UgYnkgb3RoZXIg c3ludGF4IGVsZW1lbnRzLgo+ID4gLSBzZXFfcGFyYW1ldGVyX3NldF9pZDogKDcuNC4zLjIuMSkg c3BlY2lmaWVzIHRoZSB2YWx1ZSBvZgo+ID4gdGhlIHZwc192aWRlb19wYXJhbWV0ZXJfc2V0X2lk IG9mIHRoZSBhY3RpdmUgVlBTLgo+ID4gLSBjaHJvbWFfZm9ybWF0X2lkYzogKDcuNC4zLjIuMSkg c3BlY2lmaWVzIHRoZSBjaHJvbWEgc2FtcGxpbmcKPiA+IMKgcmVsYXRpdmUgdG8gdGhlIGx1bWEg c2FtcGxpbmcKPiA+IC0gcGljX3BhcmFtZXRlcl9zZXRfaWQ6ICg3LjQuMy4zLjEpIGlkZW50aWZp ZXMgdGhlIFBQUyBmb3IKPiA+IHJlZmVyZW5jZSBieSBvdGhlciBzeW50YXggZWxlbWVudHMKPiA+ IC0gbnVtX3JlZl9pZHhfbDBfZGVmYXVsdF9hY3RpdmVfbWludXMxOiAoNy40LjMuMy4xKSBzcGVj aWZpZXMKPiA+IHRoZSBpbmZlcnJlZCB2YWx1ZSBvZiBudW1fcmVmX2lkeF9sMF9hY3RpdmVfbWlu dXMxCj4gPiAtIG51bV9yZWZfaWR4X2wxX2RlZmF1bHRfYWN0aXZlX21pbnVzMTogKDcuNC4zLjMu MSkgc3BlY2lmaWVzCj4gPiB0aGUgaW5mZXJyZWQgdmFsdWUgb2YgbnVtX3JlZl9pZHhfbDFfYWN0 aXZlX21pbnVzMQo+ID4gLSBzbGljZV9zZWdtZW50X2FkZHI6ICg3LjQuNy4xKSBzcGVjaWZpZXMg dGhlIGFkZHJlc3Mgb2YKPiA+IHRoZSBmaXJzdCBjb2RpbmcgdHJlZSBibG9jayBpbiB0aGUgc2xp Y2Ugc2VnbWVudAo+ID4gLSBudW1fZW50cnlfcG9pbnRfb2Zmc2V0czogKDcuNC43LjEpIHNwZWNp ZmllcyB0aGUgbnVtYmVyIG9mCj4gPiBlbnRyeV9wb2ludF9vZmZzZXRfbWludXMxWyBpIF0gc3lu dGF4IGVsZW1lbnRzIGluIHRoZSBzbGljZSBoZWFkZXIKPiA+IAo+ID4gQWRkIEhFVkMgZGVjb2Rl IHBhcmFtcyBjb250YWlucyB0aGUgaW5mb3JtYXRpb24gdXNlZCBpbiBzZWN0aW9uCj4gPiAiOC4z IFNsaWNlIGRlY29kaW5nIHByb2Nlc3MiIG9mIHRoZSBzcGVjaWZpY2F0aW9uIHRvIGxldCB0aGUg aGFyZHdhcmUKPiA+IHBlcmZvcm0gZGVjb2Rpbmcgb2YgYSBzbGljZXMuCj4gPiAKPiA+IEFkYXB0 IENlZHJ1cyBkcml2ZXIgYWNjb3JkaW5nIHRvIHRoZXNlIGNoYW5nZXMuCj4gPiAKPiA+IFNpZ25l ZC1vZmYtYnk6IEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBjb2xsYWJvcmEu Y29tPgo+ID4gLS0tCj4gPiB2ZXJzaW9uIDM6Cj4gPiAtIEFkZCBkb2N1bWVudGF0aW9uIGFib3V0 IHRoZSBuZXcgc3RydWN0dWVycyBhbmQgZmllbGRzLgo+ID4gCj4gPiB2ZXJzaW9uIDI6Cj4gPiAt IHJlbW92ZSBhbGwgY2hhbmdlIHJlbGF0ZWQgdG8gc2NhbGluZwo+ID4gLSBzcXVhc2ggY29tbWl0 cyB0byBhIGNvaGVyZW50IHNwbGl0Cj4gPiAtIGJlIG1vcmUgdmVyYm9zZSBhYm91dCB0aGUgYWRk ZWQgZmllbGRzCj4gPiAKPiA+IMKgLi4uL21lZGlhL3Y0bC9leHQtY3RybHMtY29kZWMucnN0wqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMTI2ICsrKysrKysrKysrKysrKy0tLQo+ID4gwqAuLi4v bWVkaWEvdjRsL3ZpZGlvYy1xdWVyeWN0cmwucnN0wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDC oCA2ICsKPiA+IMKgZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1jdHJscy5jwqDCoMKgwqDC oMKgwqDCoMKgIHzCoCAyNiArKystCj4gPiDCoGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9zdW54aS9j ZWRydXMvY2VkcnVzLmPCoMKgIHzCoMKgIDYgKwo+ID4gwqBkcml2ZXJzL3N0YWdpbmcvbWVkaWEv c3VueGkvY2VkcnVzL2NlZHJ1cy5owqDCoCB8wqDCoCAxICsKPiA+IMKgLi4uL3N0YWdpbmcvbWVk aWEvc3VueGkvY2VkcnVzL2NlZHJ1c19kZWMuY8KgwqAgfMKgwqAgMiArCj4gPiDCoC4uLi9zdGFn aW5nL21lZGlhL3N1bnhpL2NlZHJ1cy9jZWRydXNfaDI2NS5jwqAgfMKgwqAgNiArLQo+ID4gwqBp bmNsdWRlL21lZGlhL2hldmMtY3RybHMuaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHzCoCA0NSArKysrKy0tCj4gPiDCoDggZmlsZXMgY2hhbmdlZCwgMTg2IGluc2VydGlv bnMoKyksIDMyIGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlv bi91c2Vyc3BhY2UtYXBpL21lZGlhL3Y0bC9leHQtY3RybHMtY29kZWMucnN0Cj4gPiBiL0RvY3Vt ZW50YXRpb24vdXNlcnNwYWNlLWFwaS9tZWRpYS92NGwvZXh0LWN0cmxzLWNvZGVjLnJzdAo+ID4g aW5kZXggMDA5NDRlOTdkNjM4Li41ZTZkNzdlODU4YzAgMTAwNjQ0Cj4gPiAtLS0gYS9Eb2N1bWVu dGF0aW9uL3VzZXJzcGFjZS1hcGkvbWVkaWEvdjRsL2V4dC1jdHJscy1jb2RlYy5yc3QKPiA+ICsr KyBiL0RvY3VtZW50YXRpb24vdXNlcnNwYWNlLWFwaS9tZWRpYS92NGwvZXh0LWN0cmxzLWNvZGVj LnJzdAo+ID4gQEAgLTMxMDksNiArMzEwOSwxNSBAQCBlbnVtIHY0bDJfbXBlZ192aWRlb19oZXZj X3NpemVfb2ZfbGVuZ3RoX2ZpZWxkIC0KPiA+IMKgwqDCoMKgIDpzdHViLWNvbHVtbnM6IDAKPiA+ IMKgwqDCoMKgIDp3aWR0aHM6wqDCoMKgwqDCoMKgIDEgMSAyCj4gPiDCoAo+ID4gK8KgwqDCoCAq IC0gX191OAo+ID4gK8KgwqDCoMKgwqAgLSBgYHZpZGVvX3BhcmFtZXRlcl9zZXRfaWRgYAo+ID4g K8KgwqDCoMKgwqAgLSBJZGVudGlmaWVzIHRoZSBWUFMgZm9yIHJlZmVyZW5jZSBieSBvdGhlciBz eW50YXggZWxlbWVudHMKPiA+ICvCoMKgwqAgKiAtIF9fdTgKPiA+ICvCoMKgwqDCoMKgIC0gYGBz ZXFfcGFyYW1ldGVyX3NldF9pZMyAYGAKPiA+ICvCoMKgwqDCoMKgIC0gU3BlY2lmaWVzIHRoZSB2 YWx1ZSBvZiB0aGUgdnBzX3ZpZGVvX3BhcmFtZXRlcl9zZXRfaWQgb2YgdGhlIGFjdGl2ZQo+ID4g VlBTCj4gPiArwqDCoMKgICogLSBfX3U4Cj4gPiArwqDCoMKgwqDCoCAtIGBgY2hyb21hX2Zvcm1h dF9pZGNgYAo+ID4gK8KgwqDCoMKgwqAgLSBTcGVjaWZpZXMgdGhlIGNocm9tYSBzYW1wbGluZyBy ZWxhdGl2ZSB0byB0aGUgbHVtYSBzYW1wbGluZwo+IAo+IE5vbmUgb2YgdGhlc2UgZmllbGRzIHNl ZW0gbmVlZGVkIGZvciB0aGUgSGFudHJvIEcyIGRyaXZlciwKPiBzbyBJIHN1Z2dlc3QgeW91IGRy b3AgdGhlbSBmb3Igbm93LgoKWW91IHNob3VsZCBiZSB1c2luZyBjaHJvbWFfZm9ybWF0X2lkYyBp biB5b3VyIHZhbGlkYXRpb24uIEkgdGhpbmsgSGFudHJvIEcyIGRvZXMKbm90IGRvIFlVViA0OjQ6 NCwgd2hpY2ggaXMgd2hhdCBjaHJvbWFfZm9ybWF0X2lkYyB0ZWxscyB0aGUgZHJpdmVyLiBPdXIK aW1wbGVtZW50YXRpb24gbWlnaHQgYWxzbyBiZSBtaXNzaW5nIDQ6MDowIChibGFjayBhbmQgd2hp dGUpLgoKQXMgdGhpcyB2YWx1ZSB3aWxsIGFmdGVjdCB0aGUgYnVmZmVyIHNpemUsIHBsZWFzZSBr ZWVwIHRoZW0sIGFuZCBpZGVhbGx5CnZhbGlkYXRlIHRoZW0uIE5vdGUgdGhhdCBpdCBmZWVscyBy YXRoZXIgcHJvYmxlbWF0aWMgLyB1bnNhZmUgc2l0dWF0aW9uIGFzIHdlCmVuZHVwIGhhdmluZyB0 byB0cnVzdCB1c2Vyc3BhY2UsIGhvcGVmdWxseSB0aGUgSFcgdmFsaWRhdGVzIGl0J3MgYnVmZmVy IHNpemUgPwooZG8gd2UgdGVsbCB0aGUgSFcgdGhlIGJ1ZmZlciBzaXplcyA/KQoKPiAKPiA+IMKg wqDCoMKgICogLSBfX3UxNgo+ID4gwqDCoMKgwqDCoMKgIC0gYGBwaWNfd2lkdGhfaW5fbHVtYV9z YW1wbGVzYGAKPiA+IMKgwqDCoMKgwqDCoCAtCj4gPiBAQCAtMzE3Miw2ICszMTgxLDkgQEAgZW51 bSB2NGwyX21wZWdfdmlkZW9faGV2Y19zaXplX29mX2xlbmd0aF9maWVsZCAtCj4gPiDCoMKgwqDC oCAqIC0gX191OAo+ID4gwqDCoMKgwqDCoMKgIC0gYGBjaHJvbWFfZm9ybWF0X2lkY2BgCj4gPiDC oMKgwqDCoMKgwqAgLQo+ID4gK8KgwqDCoCAqIC0gX191OAo+ID4gK8KgwqDCoMKgwqAgLSBgYG51 bV9zbGljZXNgYAo+ID4gKwo+IAo+IE5vdCB1c2VkLCBidXQgYWxzbyBkb2Vzbid0IHNlZW0gcGFy dCBvZiB0aGUgU1BTIHN5bnRheC4gSWYgd2UgaGF2ZSB0bwo+IHBhc3MgdGhlIG51bWJlciBvZiBz bGljZXMsIHdlJ2xsIG5lZWQgYW5vdGhlciBtZWNoYW5pc20uCj4gCj4gPiDCoMKgwqDCoMKgIC0K PiA+IMKgwqDCoMKgICogLSBfX3U2NAo+ID4gwqDCoMKgwqDCoMKgIC0gYGBmbGFnc2BgCj4gPiDC oMKgwqDCoMKgwqAgLSBTZWUgOnJlZjpgU2VxdWVuY2UgUGFyYW1ldGVyIFNldCBGbGFncyA8aGV2 Y19zcHNfZmxhZ3M+YAo+ID4gQEAgLTMyMzEsOSArMzI0MywxOCBAQCBlbnVtIHY0bDJfbXBlZ192 aWRlb19oZXZjX3NpemVfb2ZfbGVuZ3RoX2ZpZWxkIC0KPiA+IMKgwqDCoMKgIDpzdHViLWNvbHVt bnM6IDAKPiA+IMKgwqDCoMKgIDp3aWR0aHM6wqDCoMKgwqDCoMKgIDEgMSAyCj4gPiDCoAo+ID4g K8KgwqDCoCAqIC0gX191OAo+ID4gK8KgwqDCoMKgwqAgLSBgYHBpY19wYXJhbWV0ZXJfc2V0X2lk YGAKPiA+ICvCoMKgwqDCoMKgIC0gSWRlbnRpZmllcyB0aGUgUFBTIGZvciByZWZlcmVuY2UgYnkg b3RoZXIgc3ludGF4IGVsZW1lbnRzCj4gCj4gTm90IHVzZWQuCj4gCj4gPiDCoMKgwqDCoCAqIC0g X191OAo+ID4gwqDCoMKgwqDCoMKgIC0gYGBudW1fZXh0cmFfc2xpY2VfaGVhZGVyX2JpdHNgYAo+ ID4gwqDCoMKgwqDCoMKgIC0KPiA+ICvCoMKgwqAgKiAtIF9fdTgKPiA+ICvCoMKgwqDCoMKgIC0g YGBudW1fcmVmX2lkeF9sMF9kZWZhdWx0X2FjdGl2ZV9taW51czFgYAo+ID4gK8KgwqDCoMKgwqAg LSBTcGVjaWZpZXMgdGhlIGluZmVycmVkIHZhbHVlIG9mIG51bV9yZWZfaWR4X2wwX2FjdGl2ZV9t aW51czEKPiA+ICvCoMKgwqAgKiAtIF9fdTgKPiA+ICvCoMKgwqDCoMKgIC0gYGBudW1fcmVmX2lk eF9sMV9kZWZhdWx0X2FjdGl2ZV9taW51czFgYAo+ID4gK8KgwqDCoMKgwqAgLSBTcGVjaWZpZXMg dGhlIGluZmVycmVkIHZhbHVlIG9mIG51bV9yZWZfaWR4X2wxX2FjdGl2ZV9taW51czEKPiA+IMKg wqDCoMKgICogLSBfX3M4Cj4gPiDCoMKgwqDCoMKgwqAgLSBgYGluaXRfcXBfbWludXMyNmBgCj4g PiDCoMKgwqDCoMKgwqAgLQo+ID4gQEAgLTMzNDIsNiArMzM2MywxMiBAQCBlbnVtIHY0bDJfbXBl Z192aWRlb19oZXZjX3NpemVfb2ZfbGVuZ3RoX2ZpZWxkIC0KPiA+IMKgwqDCoMKgICogLSBgYFY0 TDJfSEVWQ19QUFNfRkxBR19TTElDRV9TRUdNRU5UX0hFQURFUl9FWFRFTlNJT05fUFJFU0VOVGBg Cj4gPiDCoMKgwqDCoMKgwqAgLSAweDAwMDQwMDAwCj4gPiDCoMKgwqDCoMKgwqAgLQo+ID4gK8Kg wqDCoCAqIC0gYGBWNEwyX0hFVkNfUFBTX0ZMQUdfREVCTE9DS0lOR19GSUxURVJfQ09OVFJPTF9Q UkVTRU5UYGAKPiA+ICvCoMKgwqDCoMKgIC0gMHgwMDA4MDAwMAo+ID4gK8KgwqDCoMKgwqAgLQo+ ID4gK8KgwqDCoCAqIC0gYGBWNEwyX0hFVkNfUFBTX0ZMQUdfVU5JRk9STV9TUEFDSU5HYGAKPiA+ ICvCoMKgwqDCoMKgIC0gMHgwMDEwMDAwMAo+ID4gK8KgwqDCoMKgwqAgLQo+ID4gwqAKPiAKPiBJ IHN1Z2dlc3QgdG8gZG8gYWxsIHRoZSBQUFMgY29udHJvbCBjaGFuZ2VzIGluIGEgc2VwYXJhdGUg cGF0Y2gsCj4gZmVlbHMgZWFzaWVyIHRvIHJldmlldyBhbmQgY2xlYW5lciBhcyB5b3UgY2FuIGV4 cGxhaW4gdGhlCj4gY2hhbmdlcyB3aXRoIG1vcmUgZGV0YWlsIGluIHRoZSBjb21taXQgZGVzY3Jp cHRpb24uCj4gCj4gTG9va2luZyBhdCB0aGUgUFBTIHN5bnRheCBmb3IgdGlsZXMsIEknbSB3b25k ZXJpbmcgaWYgdGhlc2UKPiBkZXNlcnZlIHRoZWlyIG93biBjb250cm9sLCB3aGljaCB3b3VsZCBi ZSB1c2VkIGlmIHRpbGVzIGFyZSBlbmFibGVkLAo+IGkuZS4gVjRMMl9IRVZDX1BQU19GTEFHX1RJ TEVTX0VOQUJMRUQgaXMgc2V0Lgo+IAo+IMKgwqDCoMKgwqDCoMKgIF9fdTjCoMKgwqAKPiBudW1f dGlsZV9jb2x1bW5zX21pbnVzMTvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAKPiDCoMKgwqDCoMKg wqDCoCBfX3U4wqDCoMKgCj4gbnVtX3RpbGVfcm93c19taW51czE7wqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgCj4gwqDCoMKgwqDCoMKgwqAgX191OMKgwqDCoAo+IGNvbHVtbl93aWR0aF9t aW51czFbMjBdO8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIAo+IMKgwqDCoMKgwqDCoMKgIF9fdTjC oMKgwqAgcm93X2hlaWdodF9taW51czFbMjJdO8KgwqDCoCAKPiAKPiBOb3Qgc29tZXRoaW5nIHdl IG5lY2Vzc2FyaWx5IGhhdmUgdG8gdGFja2xlIG5vdy4KPiAKPiA+IMKgYGBWNEwyX0NJRF9NUEVH X1ZJREVPX0hFVkNfU0xJQ0VfUEFSQU1TIChzdHJ1Y3QpYGAKPiA+IMKgwqDCoMKgIFNwZWNpZmll cyB2YXJpb3VzIHNsaWNlLXNwZWNpZmljIHBhcmFtZXRlcnMsIGVzcGVjaWFsbHkgZnJvbSB0aGUg TkFMCj4gPiB1bml0Cj4gPiBAQCAtMzM2Niw2ICszMzkzLDEyIEBAIGVudW0gdjRsMl9tcGVnX3Zp ZGVvX2hldmNfc2l6ZV9vZl9sZW5ndGhfZmllbGQgLQo+ID4gwqDCoMKgwqAgKiAtIF9fdTMyCj4g PiDCoMKgwqDCoMKgwqAgLSBgYGRhdGFfYml0X29mZnNldGBgCj4gPiDCoMKgwqDCoMKgwqAgLSBP ZmZzZXQgKGluIGJpdHMpIHRvIHRoZSB2aWRlbyBkYXRhIGluIHRoZSBjdXJyZW50IHNsaWNlIGRh dGEuCj4gPiArwqDCoMKgICogLSBfX3UzMgo+ID4gK8KgwqDCoMKgwqAgLSBgYHNsaWNlX3NlZ21l bnRfYWRkcmBgCj4gPiArwqDCoMKgwqDCoCAtIFNwZWNpZmllcyB0aGUgYWRkcmVzcyBvZiB0aGUg Zmlyc3QgY29kaW5nIHRyZWUgYmxvY2sgaW4gdGhlIHNsaWNlCj4gPiBzZWdtZW50Cj4gCj4gTm90 IHVzZWQuCj4gCj4gPiArwqDCoMKgICogLSBfX3UzMgo+ID4gK8KgwqDCoMKgwqAgLSBgYG51bV9l bnRyeV9wb2ludF9vZmZzZXRzYGAKPiA+ICvCoMKgwqDCoMKgIC0gU3BlY2lmaWVzIHRoZSBudW1i ZXIgb2YgZW50cnlfcG9pbnRfb2Zmc2V0X21pbnVzMVsgaSBdIHN5bnRheAo+ID4gZWxlbWVudHMg aW4gdGhlIHNsaWNlIGhlYWRlcgo+IAo+IE5vdCB1c2VkLgo+IAo+ID4gwqDCoMKgwqAgKiAtIF9f dTgKPiA+IMKgwqDCoMKgwqDCoCAtIGBgbmFsX3VuaXRfdHlwZWBgCj4gPiDCoMKgwqDCoMKgwqAg LQo+ID4gQEAgLTM0MjIsMjggKzM0NTUsMjAgQEAgZW51bSB2NGwyX21wZWdfdmlkZW9faGV2Y19z aXplX29mX2xlbmd0aF9maWVsZCAtCj4gPiDCoMKgwqDCoCAqIC0gX191OAo+ID4gwqDCoMKgwqDC oMKgIC0gYGBwaWNfc3RydWN0YGAKPiA+IMKgwqDCoMKgwqDCoCAtCj4gPiAtwqDCoMKgICogLSBf X3U4Cj4gPiAtwqDCoMKgwqDCoCAtIGBgbnVtX2FjdGl2ZV9kcGJfZW50cmllc2BgCj4gPiAtwqDC oMKgwqDCoCAtIFRoZSBudW1iZXIgb2YgZW50cmllcyBpbiBgYGRwYmBgLgo+IAo+IE5lZWQgdG8g ZXhwbGFpbiBpbiB0aGUgY29tbWl0IGRlc2NyaXB0aW9uIHdoeSB0aGlzIGZpZWxkIGlzIG1vdmVk Lgo+IAo+ID4gwqDCoMKgwqAgKiAtIF9fdTgKPiA+IMKgwqDCoMKgwqDCoCAtIGBgcmVmX2lkeF9s MFtWNEwyX0hFVkNfRFBCX0VOVFJJRVNfTlVNX01BWF1gYAo+ID4gwqDCoMKgwqDCoMKgIC0gVGhl IGxpc3Qgb2YgTDAgcmVmZXJlbmNlIGVsZW1lbnRzIGFzIGluZGljZXMgaW4gdGhlIERQQi4KPiA+ IMKgwqDCoMKgICogLSBfX3U4Cj4gPiDCoMKgwqDCoMKgwqAgLSBgYHJlZl9pZHhfbDFbVjRMMl9I RVZDX0RQQl9FTlRSSUVTX05VTV9NQVhdYGAKPiA+IMKgwqDCoMKgwqDCoCAtIFRoZSBsaXN0IG9m IEwxIHJlZmVyZW5jZSBlbGVtZW50cyBhcyBpbmRpY2VzIGluIHRoZSBEUEIuCj4gPiArwqDCoMKg ICogLSBfX3UxNgo+ID4gK8KgwqDCoMKgwqAgLSBgYHNob3J0X3Rlcm1fcmVmX3BpY19zZXRfc2l6 ZWBgCj4gPiArCj4gCj4gTm90IHVzZWQuCj4gCj4gPiDCoMKgwqDCoMKgIC0KPiA+ICvCoMKgwqAg KiAtIF9fdTE2Cj4gPiArwqDCoMKgwqDCoCAtIGBgbG9uZ190ZXJtX3JlZl9waWNfc2V0X3NpemVg YAo+ID4gK8KgwqDCoMKgwqAgLQo+IAo+IE5vdCB1c2VkLgo+IAo+ID4gwqDCoMKgwqAgKiAtIF9f dTgKPiA+IC3CoMKgwqDCoMKgIC0gYGBudW1fcnBzX3BvY19zdF9jdXJyX2JlZm9yZWBgCj4gPiAt wqDCoMKgwqDCoCAtIFRoZSBudW1iZXIgb2YgcmVmZXJlbmNlIHBpY3R1cmVzIGluIHRoZSBzaG9y dC10ZXJtIHNldCB0aGF0IGNvbWUKPiA+IGJlZm9yZQo+ID4gLcKgwqDCoMKgwqDCoMKgIHRoZSBj dXJyZW50IGZyYW1lLgo+IAo+IElmIHRoaXMgbWF0Y2hlcyBOdW1Qb2NTdEN1cnJCZWZvcmUgZnJv bSBzZWN0aW9uIDguMy4yICJEZWNvZGluZyBwcm9jZXNzIGZvcgo+IHJlZmVyZW5jZSBwaWN0dXJl IHNldCIKPiB0aGVuIEkgd291bGQgZG9jdW1lbnQgdGhhdC4gQW5kIHBlcmhhcHMgcmVuYW1lIGl0 IHRvIG51bV9wb2Nfc3RfY3Vycl9iZWZvcmUuCj4gCj4gPiAtwqDCoMKgICogLSBfX3U4Cj4gPiAt wqDCoMKgwqDCoCAtIGBgbnVtX3Jwc19wb2Nfc3RfY3Vycl9hZnRlcmBgCj4gPiAtwqDCoMKgwqDC oCAtIFRoZSBudW1iZXIgb2YgcmVmZXJlbmNlIHBpY3R1cmVzIGluIHRoZSBzaG9ydC10ZXJtIHNl dCB0aGF0IGNvbWUKPiA+IGFmdGVyCj4gPiAtwqDCoMKgwqDCoMKgwqAgdGhlIGN1cnJlbnQgZnJh bWUuCj4gCj4gRGl0dG8uCj4gCj4gPiAtwqDCoMKgICogLSBfX3U4Cj4gPiAtwqDCoMKgwqDCoCAt IGBgbnVtX3Jwc19wb2NfbHRfY3VycmBgCj4gPiAtwqDCoMKgwqDCoCAtIFRoZSBudW1iZXIgb2Yg cmVmZXJlbmNlIHBpY3R1cmVzIGluIHRoZSBsb25nLXRlcm0gc2V0Lgo+IAo+IERpdHRvLgo+IAo+ IEFsc28sIEknZCBsaWtlIHRoZSBjaGFuZ2VzIHRoYXQgbW92ZSBmaWVsZHMgZnJvbQo+IFY0TDJf Q0lEX01QRUdfVklERU9fSEVWQ19TTElDRV9QQVJBTVMKPiB0byB0aGUgbmV3IFY0TDJfQ0lEX01Q RUdfVklERU9fSEVWQ19ERUNPREVfUEFSQU1TIGNvbnRyb2wsIHRvIGJlIGluIHRoZWlyCj4gcGF0 Y2guCj4gCj4gVGhhdCB3aWxsIGFsbG93IHVzIHRvIHB1dCBpbiB0aGUgY29tbWl0IGRlc2NyaXB0 aW9uIGEgcHJvcGVyCj4gZXhwbGFuYXRpb24gb2Ygd2h5IGFyZSBmaWVsZHMgYmVpbmcgbW92ZWQu IE5vdGhpbmcgZmFuY3ksIHNpbXBseQo+IGV4cGxhaW5pbmcgdGhhdCB0aGVzZSB2YXJpYWJsZXMg Y29tZSBmcm9tIHNlY3Rpb24gOC4zLjIKPiAiRGVjb2RpbmcgcHJvY2VzcyBmb3IgcmVmZXJlbmNl IHBpY3R1cmUgc2V0Iiwgd2hpY2ggZGVzY3JpYmVzCj4gYSBwcm9jZXNzIGludm9rZWQgb25jZSBw ZXIgcGljdHVyZSwgc28gdGhleSBhcmUgbm90IHBlci1zbGljZS4KPiAKPiA+IC3CoMKgwqAgKiAt IF9fdTgKPiA+IC3CoMKgwqDCoMKgIC0gYGBwYWRkaW5nWzddYGAKPiA+ICvCoMKgwqDCoMKgIC0g YGBwYWRkaW5nYGAKPiA+IMKgwqDCoMKgwqDCoCAtIEFwcGxpY2F0aW9ucyBhbmQgZHJpdmVycyBt dXN0IHNldCB0aGlzIHRvIHplcm8uCj4gPiDCoMKgwqDCoCAqIC0gc3RydWN0IDpjOnR5cGU6YHY0 bDJfaGV2Y19kcGJfZW50cnlgCj4gPiDCoMKgwqDCoMKgwqAgLSBgYGRwYltWNEwyX0hFVkNfRFBC X0VOVFJJRVNfTlVNX01BWF1gYAo+ID4gQEAgLTM2NDYsMyArMzY3MSw3NCBAQCBlbnVtIHY0bDJf bXBlZ192aWRlb19oZXZjX3NpemVfb2ZfbGVuZ3RoX2ZpZWxkIC0KPiA+IMKgwqDCoMKgIHNvIHRo aXMgaGFzIHRvIGNvbWUgZnJvbSBjbGllbnQuCj4gPiDCoMKgwqDCoCBUaGlzIGlzIGFwcGxpY2Fi bGUgdG8gSDI2NCBhbmQgdmFsaWQgUmFuZ2UgaXMgZnJvbSAwIHRvIDYzLgo+ID4gwqDCoMKgwqAg U291cmNlIFJlYy4gSVRVLVQgSC4yNjQgKDA2LzIwMTkpOyBHLjcuNC4xLjEsIEcuOC44LjEuCj4g PiArCj4gPiArYGBWNEwyX0NJRF9NUEVHX1ZJREVPX0hFVkNfREVDT0RFX1BBUkFNUyAoc3RydWN0 KWBgCj4gPiArwqDCoMKgIFNwZWNpZmllcyB2YXJpb3VzIGRlY29kZSBwYXJhbWV0ZXJzLCBlc3Bl Y2lhbGx5IHRoZSByZWZlcmVuY2VzIHBpY3R1cmUKPiA+IG9yZGVyCj4gPiArwqDCoMKgIGNvdW50 IChQT0MpIGZvciBhbGwgdGhlIGxpc3RzIChzaG9ydCwgbG9uZywgYmVmb3JlLCBjdXJyZW50LCBh ZnRlcikgYW5kCj4gPiB0aGUKPiA+ICvCoMKgwqAgbnVtYmVyIG9mIGVudHJpZXMgZm9yIGVhY2gg b2YgdGhlbS4KPiA+ICvCoMKgwqAgVGhlc2UgcGFyYW1ldGVycyBhcmUgZGVmaW5lZCBhY2NvcmRp bmcgdG8gOnJlZjpgaGV2Y2AuCj4gPiArwqDCoMKgIFRoZXkgYXJlIGRlc2NyaWJlZCBpbiBzZWN0 aW9uIDguMyAiU2xpY2UgZGVjb2RpbmcgcHJvY2VzcyIgb2YgdGhlCj4gPiArwqDCoMKgIHNwZWNp ZmljYXRpb24uCj4gPiArCj4gPiArLi4gYzp0eXBlOjogdjRsMl9jdHJsX2hldmNfZGVjb2RlX3Bh cmFtcwo+ID4gKwo+ID4gKy4uIGNzc2NsYXNzOjogbG9uZ3RhYmxlCj4gPiArCj4gPiArLi4gZmxh dC10YWJsZTo6IHN0cnVjdCB2NGwyX2N0cmxfaGV2Y19kZWNvZGVfcGFyYW1zCj4gPiArwqDCoMKg IDpoZWFkZXItcm93czrCoCAwCj4gPiArwqDCoMKgIDpzdHViLWNvbHVtbnM6IDAKPiA+ICvCoMKg wqAgOndpZHRoczrCoMKgwqDCoMKgwqAgMSAxIDIKPiA+ICsKPiA+ICvCoMKgwqAgKiAtIF9fczMy Cj4gPiArwqDCoMKgwqDCoCAtIGBgcGljX29yZGVyX2NudF92YWxgYAo+ID4gK8KgwqDCoMKgwqAg LQo+IAo+IENhbiBiZSBkb2N1bWVudGVkIGFzOgo+IAo+ICIiIgo+IFBpY09yZGVyQ250VmFsIGFz IGRlc2NyaWJlZCBpbiBzZWN0aW9uIDguMy4xICJEZWNvZGluZyBwcm9jZXNzCj4gZm9yIHBpY3R1 cmUgb3JkZXIgY291bnQiIG9mIHRoZSBzcGVjaWZpY2F0aW9uLgo+ICIiIgo+IAo+IE5vdGUgdGhh dCBzbmFrZSBjYXNlIGlzIHVzZWQgdG8gbWF0Y2ggdGhlIGtlcm5lbCBzdHlsZSwKPiBidXQgb3Ro ZXIgdGhhbiB0aGF0IHdlIHRyeSB0byBrZWVwIHRoZSBIRVZDIHNwZWMgdmFyaWFibGUKPiBuYW1l cy4KPiAKPiA+ICvCoMKgwqAgKiAtIF9fdTgKPiA+ICvCoMKgwqDCoMKgIC0gYGBudW1fYWN0aXZl X2RwYl9lbnRyaWVzYGAKPiA+ICvCoMKgwqDCoMKgIC0gVGhlIG51bWJlciBvZiBlbnRyaWVzIGlu IGBgZHBiYGAuCj4gPiArwqDCoMKgICogLSBzdHJ1Y3QgOmM6dHlwZTpgdjRsMl9oZXZjX2RwYl9l bnRyeWAKPiA+ICvCoMKgwqDCoMKgIC0gYGBkcGJbVjRMMl9IRVZDX0RQQl9FTlRSSUVTX05VTV9N QVhdYGAKPiA+ICvCoMKgwqDCoMKgIC0gVGhlIGRlY29kZWQgcGljdHVyZSBidWZmZXIsIGZvciBt ZXRhLWRhdGEgYWJvdXQgcmVmZXJlbmNlIGZyYW1lcy4KPiAKPiBUaGUgRFBCIGlzIGhlcmUsIGJ1 dCBpdCBzZWVtcyBpdCdzIGFsc28gaW4gdGhlIHNsaWNlIGNvbnRyb2w/Cj4gCj4gPiArwqDCoMKg ICogLSBfX3U4Cj4gPiArwqDCoMKgwqDCoCAtIGBgbnVtX3Jwc19wb2Nfc3RfY3Vycl9iZWZvcmVg YAo+ID4gK8KgwqDCoMKgwqAgLSBUaGUgbnVtYmVyIG9mIHJlZmVyZW5jZSBwaWN0dXJlcyBpbiB0 aGUgc2hvcnQtdGVybSBzZXQgdGhhdCBjb21lCj4gPiBiZWZvcmUKPiA+ICvCoMKgwqDCoMKgwqDC oCB0aGUgY3VycmVudCBmcmFtZS4KPiA+ICvCoMKgwqAgKiAtIF9fdTgKPiA+ICvCoMKgwqDCoMKg IC0gYGBudW1fcnBzX3BvY19zdF9jdXJyX2FmdGVyYGAKPiA+ICvCoMKgwqDCoMKgIC0gVGhlIG51 bWJlciBvZiByZWZlcmVuY2UgcGljdHVyZXMgaW4gdGhlIHNob3J0LXRlcm0gc2V0IHRoYXQgY29t ZQo+ID4gYWZ0ZXIKPiA+ICvCoMKgwqDCoMKgwqDCoCB0aGUgY3VycmVudCBmcmFtZS4KPiA+ICvC oMKgwqAgKiAtIF9fdTgKPiA+ICvCoMKgwqDCoMKgIC0gYGBudW1fcnBzX3BvY19sdF9jdXJyYGAK PiA+ICvCoMKgwqDCoMKgIC0gVGhlIG51bWJlciBvZiByZWZlcmVuY2UgcGljdHVyZXMgaW4gdGhl IGxvbmctdGVybSBzZXQuCj4gPiArwqDCoMKgICogLSBfX3U4Cj4gPiArwqDCoMKgwqDCoCAtIGBg cnBzX3N0X2N1cnJfYmVmb3JlW1Y0TDJfSEVWQ19EUEJfRU5UUklFU19OVU1fTUFYXWBgCj4gPiAr wqDCoMKgwqDCoCAtCj4gPiArwqDCoMKgICogLSBfX3U4Cj4gPiArwqDCoMKgwqDCoCAtIGBgcnBz X3N0X2N1cnJfYWZ0ZXJbVjRMMl9IRVZDX0RQQl9FTlRSSUVTX05VTV9NQVhdYGAKPiA+ICvCoMKg wqDCoMKgIC0KPiA+ICvCoMKgwqAgKiAtIF9fdTgKPiA+ICvCoMKgwqDCoMKgIC0gYGBycHNfbHRf Y3VycltWNEwyX0hFVkNfRFBCX0VOVFJJRVNfTlVNX01BWF1gYAo+ID4gK8KgwqDCoMKgwqAgLQo+ IAo+IENvdWxkIHlvdSBkb2N1bWVudCB0aGVzZSBhcyB3ZWxsPwo+IAo+IFRoYW5rcyBhIGxvdCwK PiBFemVxdWllbAo+IAo+IAoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVs QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9s aXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==