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 50DE3C43334 for ; Tue, 14 Jun 2022 15:21:56 +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=C4TKvWkHXRyXUnXvGj6555qRlo4QnGq6dFaYV0PEEtE=; b=ZDAPhPSs3CtdUB 8ZNPGeAkRQtWTH6angWGg6D1oFDd4k5yTsl52uB6AY9mfavhqzZ01q6RehXzlH3R/+SY9Br4pWptm 6mf8eqEt2yRGd/jiWuzh4v0HUwGcExFzscF8VJzwxZU93x4TK21Dy6MhLbrgEmOTfLOgEsqwyZD9V +CwnINa1njP4p0yQIKp1G0sFm0a0fVSvv3z6wmaI5rm50FzpubdX/EuqDeulOoQYFqBmDmMmj7b4X Y/iyUbRATuFLC0MfpGv/F4Hx9mdXUztthu81WGR6xkXNbCOIiVumRAVESsYJNp6B7SxO4pfFu90i0 o1X4Xdvie7qX6+Pjba7Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1o18La-00A85o-I3; Tue, 14 Jun 2022 15:20:50 +0000 Received: from madras.collabora.co.uk ([46.235.227.172]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1o18LV-00A83F-Ea; Tue, 14 Jun 2022 15:20:49 +0000 Received: from [IPV6:2a01:e0a:120:3210:4a7b:8d3a:acaa:ec46] (unknown [IPv6:2a01:e0a:120:3210:4a7b:8d3a:acaa:ec46]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: benjamin.gaignard) by madras.collabora.co.uk (Postfix) with ESMTPSA id 94C9C66016B6; Tue, 14 Jun 2022 16:20:43 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1655220044; bh=8BdhfJPhS9pkvNh2AfdYyZoI34NuVVX/SWzfb6me7/0=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=VOMgR7KI+Xk/KVQS4/XKBzIx/eXtGwplgBLH8RN+PRwlxBC3b/soog/foQ9biZkhT lRFUa4c+cfYCJkcax+jPHBbNvpscZHBbJeZhwLB/tNRE+/BfLuPLXeb6veUweIrVsC u8JsmoDqnXQaGkbYVUS0x2Bn9DtynBY08OvYceJT7cuJY2S6YI+1ggHbog0y/pK7Ga yu49l/3pI641oc6CEMbnGcVRmNJgJErX/xl9ynLP8d6D/V+mR4uIAearMhiJ+GtMBm FIdYX6WX7qu/EHo9nA7J7afpXPf9sopp75iEZX7YTnW6rx3AUdcah5mQxYrZ1ES96D E8vN/bzTMip3A== Message-ID: <0fbf1961-c3f7-9205-4ec4-b7640614ae20@collabora.com> Date: Tue, 14 Jun 2022 17:20:41 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: [PATCH v8 08/17] media: uapi: HEVC: Add documentation to uAPI structure Content-Language: en-US To: Hans Verkuil , mchehab@kernel.org, ezequiel@vanguardiasur.com.ar, p.zabel@pengutronix.de, gregkh@linuxfoundation.org, mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org, jernej.skrabec@gmail.com, samuel@sholland.org, nicolas.dufresne@collabora.com, andrzej.p@collabora.com Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-staging@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, kernel@collabora.com References: <20220614083614.240641-1-benjamin.gaignard@collabora.com> <20220614083614.240641-9-benjamin.gaignard@collabora.com> <6960a5b6-441d-71a1-d99a-873b502301ca@xs4all.nl> From: Benjamin Gaignard In-Reply-To: <6960a5b6-441d-71a1-d99a-873b502301ca@xs4all.nl> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220614_082045_859793_B703B576 X-CRM114-Status: GOOD ( 32.09 ) 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 CkxlIDE0LzA2LzIwMjIgw6AgMTU6MzksIEhhbnMgVmVya3VpbCBhIMOpY3JpdMKgOgo+IE9uIDYv MTQvMjIgMTA6MzYsIEJlbmphbWluIEdhaWduYXJkIHdyb3RlOgo+PiBBZGQga2VybmVsLWRvYyBk b2N1bWVudGF0aW9uIGZvciBhbGwgdGhlIEhFVkMgc3RydWN0dXJlcy4KPj4KPj4gU2lnbmVkLW9m Zi1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGNvbGxhYm9yYS5jb20+ Cj4+IC0tLQo+PiB2ZXJzaW9uIDU6Cj4+IC0gRml4IG51bV9zaG9ydF90ZXJtX3JlZl9waWNfc2V0 cyBhbmQgbnVtX2xvbmdfdGVybV9yZWZfcGljc19zcHMKPj4KPj4gICAuLi4vbWVkaWEvdjRsL2V4 dC1jdHJscy1jb2RlYy5yc3QgICAgICAgICAgICAgfCAxNjQgKysrKysrKy0tLS0tLQo+PiAgIGlu Y2x1ZGUvbWVkaWEvaGV2Yy1jdHJscy5oICAgICAgICAgICAgICAgICAgICB8IDIyMSArKysrKysr KysrKysrKysrKy0KPj4gICAyIGZpbGVzIGNoYW5nZWQsIDMxMSBpbnNlcnRpb25zKCspLCA3NCBk ZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdXNlcnNwYWNlLWFw aS9tZWRpYS92NGwvZXh0LWN0cmxzLWNvZGVjLnJzdCBiL0RvY3VtZW50YXRpb24vdXNlcnNwYWNl LWFwaS9tZWRpYS92NGwvZXh0LWN0cmxzLWNvZGVjLnJzdAo+PiBpbmRleCAxY2NmNmRkYTYxYjMu LjA2Yjk2N2RlMTQwYyAxMDA2NDQKPj4gLS0tIGEvRG9jdW1lbnRhdGlvbi91c2Vyc3BhY2UtYXBp L21lZGlhL3Y0bC9leHQtY3RybHMtY29kZWMucnN0Cj4+ICsrKyBiL0RvY3VtZW50YXRpb24vdXNl cnNwYWNlLWFwaS9tZWRpYS92NGwvZXh0LWN0cmxzLWNvZGVjLnJzdAo+PiBAQCAtMjY5NSw3MCAr MjY5NSw3NiBAQCBlbnVtIHY0bDJfbXBlZ192aWRlb19oZXZjX3NpemVfb2ZfbGVuZ3RoX2ZpZWxk IC0KPj4gICAgICAgICAgIG9mIEguMjY1IHNwZWNpZmljYXRpb25zLgo+PiAgICAgICAqIC0gX191 MTYKPj4gICAgICAgICAtIGBgcGljX3dpZHRoX2luX2x1bWFfc2FtcGxlc2BgCj4+IC0gICAgICAt Cj4+ICsgICAgICAtIFNwZWNpZmllcyB0aGUgd2lkdGggb2YgZWFjaCBkZWNvZGVkIHBpY3R1cmUg aW4gdW5pdHMgb2YgbHVtYSBzYW1wbGVzLgo+PiAgICAgICAqIC0gX191MTYKPj4gICAgICAgICAt IGBgcGljX2hlaWdodF9pbl9sdW1hX3NhbXBsZXNgYAo+PiAtICAgICAgLQo+PiArICAgICAgLSBT cGVjaWZpZXMgdGhlIGhlaWdodCBvZiBlYWNoIGRlY29kZWQgcGljdHVyZSBpbiB1bml0cyBvZiBs dW1hIHNhbXBsZXMuCj4+ICAgICAgICogLSBfX3U4Cj4+ICAgICAgICAgLSBgYGJpdF9kZXB0aF9s dW1hX21pbnVzOGBgCj4+IC0gICAgICAtCj4+ICsgICAgICAtIFNwZWNpZmllcyB0aGUgYml0IGRl cHRoIG9mIHRoZSBzYW1wbGVzIG9mIHRoZSBsdW1hIGFycmF5Lgo+IFNob3VsZG4ndCB0aGlzIGJl Ogo+Cj4gICAgICAgIC0gVGhpcyB2YWx1ZSBwbHVzIDggc3BlY2lmaWVzIHRoZSBiaXQgZGVwdGgg b2YgdGhlIHNhbXBsZXMgb2YgdGhlIGx1bWEgYXJyYXkuCj4KPiBTYW1lIGVsc2V3aGVyZS4KCkkg d2lsbCBjaGFuZ2UgdGhlbSBpbiB0aGUgbmV4dCB2ZXJzaW9uLgoKPgo+PiAgICAgICAqIC0gX191 OAo+PiAgICAgICAgIC0gYGBiaXRfZGVwdGhfY2hyb21hX21pbnVzOGBgCj4+IC0gICAgICAtCj4+ ICsgICAgICAtIFNwZWNpZmllcyB0aGUgYml0IGRlcHRoIG9mIHRoZSBzYW1wbGVzIG9mIHRoZSBj aHJvbWEgYXJyYXlzLgo+PiAgICAgICAqIC0gX191OAo+PiAgICAgICAgIC0gYGBsb2cyX21heF9w aWNfb3JkZXJfY250X2xzYl9taW51czRgYAo+PiAtICAgICAgLQo+PiArICAgICAgLSBTcGVjaWZp ZXMgdGhlIHZhbHVlIG9mIHRoZSB2YXJpYWJsZSBNYXhQaWNPcmRlckNudExzYi4KPj4gICAgICAg KiAtIF9fdTgKPj4gICAgICAgICAtIGBgc3BzX21heF9kZWNfcGljX2J1ZmZlcmluZ19taW51czFg YAo+PiAtICAgICAgLQo+PiArICAgICAgLSBQbHVzIDEgc3BlY2lmaWVzIHRoZSBtYXhpbXVtIHJl cXVpcmVkIHNpemUgb2YgdGhlIGRlY29kZWQgcGljdHVyZSBidWZmZXIgZm9yCj4gSSB3b3VsZCBw cmVmZXIgdG8gcGhyYXNlIHRoaXMgYXM6ICJUaGlzIHZhbHVlIHBsdXMgMSIKPiBJJ20gbm90IHN1 cmUgaG93IGNvbW1vbiB0aGUgY3VycmVudCBwaHJhc2UgaXMsIHRob3VnaC4gSWYgaXQgaXMgYWxy ZWFkeSB1c2VkIGV2ZXJ5d2hlcmUsCj4gdGhlbiBrZWVwIGl0IGFzLWlzLgo+Cj4+ICsgICAgICAg IHRoZSBDVlMKPiBNaXNzaW5nIHBlcmlvZCBhdCB0aGUgZW5kLgo+Cj4gV2hhdCBpcyBDVlM/IFBl cmhhcHMgd3JpdGUgdGhlIGZ1bGwgbmFtZT8KCml0IGlzIGZvciBjb2RlZCB2aWRlbyBzZXF1ZW5j ZSwgSSB3aWxsIHdyaXRlIHRoZSBmdWxsIG5hbWUgaW4gbmV4dCB2ZXJzaW9uLgoKPgo+PiAgICAg ICAqIC0gX191OAo+PiAgICAgICAgIC0gYGBzcHNfbWF4X251bV9yZW9yZGVyX3BpY3NgYAo+PiAt ICAgICAgLQo+PiArICAgICAgLSBJbmRpY2F0ZXMgdGhlIG1heGltdW0gYWxsb3dlZCBudW1iZXIg b2YgcGljdHVyZXMuCj4+ICAgICAgICogLSBfX3U4Cj4+ICAgICAgICAgLSBgYHNwc19tYXhfbGF0 ZW5jeV9pbmNyZWFzZV9wbHVzMWBgCj4+IC0gICAgICAtCj4+ICsgICAgICAtIE5vdCBlcXVhbCB0 byAwIGlzIHVzZWQgdG8gY29tcHV0ZSB0aGUgdmFsdWUgb2YgU3BzTWF4TGF0ZW5jeVBpY3R1cmVz W2ldLgo+PiAgICAgICAqIC0gX191OAo+PiAgICAgICAgIC0gYGBsb2cyX21pbl9sdW1hX2NvZGlu Z19ibG9ja19zaXplX21pbnVzM2BgCj4+IC0gICAgICAtCj4+ICsgICAgICAtIFBsdXMgMyBzcGVj aWZpZXMgdGhlIG1pbmltdW0gbHVtYSBjb2RpbmcgYmxvY2sgc2l6ZS4KPj4gICAgICAgKiAtIF9f dTgKPj4gICAgICAgICAtIGBgbG9nMl9kaWZmX21heF9taW5fbHVtYV9jb2RpbmdfYmxvY2tfc2l6 ZWBgCj4+IC0gICAgICAtCj4+ICsgICAgICAtIFNwZWNpZmllcyB0aGUgZGlmZmVyZW5jZSBiZXR3 ZWVuIHRoZSBtYXhpbXVtIGFuZCBtaW5pbXVtIGx1bWEgY29kaW5nIGJsb2NrIHNpemUuCj4+ICAg ICAgICogLSBfX3U4Cj4+ICAgICAgICAgLSBgYGxvZzJfbWluX2x1bWFfdHJhbnNmb3JtX2Jsb2Nr X3NpemVfbWludXMyYGAKPj4gLSAgICAgIC0KPj4gKyAgICAgIC0gUGx1cyAyIHNwZWNpZmllcyB0 aGUgbWluaW11bSBsdW1hIHRyYW5zZm9ybSBibG9jayBzaXplLgo+PiAgICAgICAqIC0gX191OAo+ PiAgICAgICAgIC0gYGBsb2cyX2RpZmZfbWF4X21pbl9sdW1hX3RyYW5zZm9ybV9ibG9ja19zaXpl YGAKPj4gLSAgICAgIC0KPj4gKyAgICAgIC0gU3BlY2lmaWVzIHRoZSBkaWZmZXJlbmNlIGJldHdl ZW4gdGhlIG1heGltdW0gYW5kIG1pbmltdW0gbHVtYSB0cmFuc2Zvcm0gYmxvY2sgc2l6ZS4KPj4g ICAgICAgKiAtIF9fdTgKPj4gICAgICAgICAtIGBgbWF4X3RyYW5zZm9ybV9oaWVyYXJjaHlfZGVw dGhfaW50ZXJgYAo+PiAtICAgICAgLQo+PiArICAgICAgLSBTcGVjaWZpZXMgdGhlIG1heGltdW0g aGllcmFyY2h5IGRlcHRoIGZvciB0cmFuc2Zvcm0gdW5pdHMgb2YgY29kaW5nIHVuaXRzIGNvZGVk Cj4+ICsgICAgICAgIGluIGludGVyIHByZWRpY3Rpb24gbW9kZS4KPj4gICAgICAgKiAtIF9fdTgK Pj4gICAgICAgICAtIGBgbWF4X3RyYW5zZm9ybV9oaWVyYXJjaHlfZGVwdGhfaW50cmFgYAo+PiAt ICAgICAgLQo+PiArICAgICAgLSBTcGVjaWZpZXMgdGhlIG1heGltdW0gaGllcmFyY2h5IGRlcHRo IGZvciB0cmFuc2Zvcm0gdW5pdHMgb2YgY29kaW5nIHVuaXRzIGNvZGVkIGluCj4+ICsgICAgICAg IGludHJhIHByZWRpY3Rpb24gbW9kZS4KPj4gICAgICAgKiAtIF9fdTgKPj4gICAgICAgICAtIGBg cGNtX3NhbXBsZV9iaXRfZGVwdGhfbHVtYV9taW51czFgYAo+PiAtICAgICAgLQo+PiArICAgICAg LSBTcGVjaWZpZXMgdGhlIG51bWJlciBvZiBiaXRzIHVzZWQgdG8gcmVwcmVzZW50IGVhY2ggb2Yg UENNIHNhbXBsZSB2YWx1ZXMgb2YgdGhlCj4+ICsgICAgICAgIGx1bWEgY29tcG9uZW50Lgo+PiAg ICAgICAqIC0gX191OAo+PiAgICAgICAgIC0gYGBwY21fc2FtcGxlX2JpdF9kZXB0aF9jaHJvbWFf bWludXMxYGAKPj4gLSAgICAgIC0KPj4gKyAgICAgIC0gU3BlY2lmaWVzIHRoZSBudW1iZXIgb2Yg Yml0cyB1c2VkIHRvIHJlcHJlc2VudCBlYWNoIG9mIFBDTSBzYW1wbGUgdmFsdWVzIG9mCj4+ICsg ICAgICAgIHRoZSBjaHJvbWEgY29tcG9uZW50cy4KPj4gICAgICAgKiAtIF9fdTgKPj4gICAgICAg ICAtIGBgbG9nMl9taW5fcGNtX2x1bWFfY29kaW5nX2Jsb2NrX3NpemVfbWludXMzYGAKPj4gLSAg ICAgIC0KPj4gKyAgICAgIC0gUGx1cyAzIHNwZWNpZmllcyB0aGUgbWluaW11bSBzaXplIG9mIGNv ZGluZyBibG9ja3MuCj4+ICAgICAgICogLSBfX3U4Cj4+ICAgICAgICAgLSBgYGxvZzJfZGlmZl9t YXhfbWluX3BjbV9sdW1hX2NvZGluZ19ibG9ja19zaXplYGAKPj4gLSAgICAgIC0KPj4gKyAgICAg IC0gU3BlY2lmaWVzIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIG1heGltdW0gYW5kIG1pbmlt dW0gc2l6ZSBvZiBjb2RpbmcgYmxvY2tzLgo+PiAgICAgICAqIC0gX191OAo+PiAgICAgICAgIC0g YGBudW1fc2hvcnRfdGVybV9yZWZfcGljX3NldHNgYAo+PiAtICAgICAgLQo+PiArICAgICAgLSBT cGVjaWZpZXMgdGhlIG51bWJlciBvZiBzdF9yZWZfcGljX3NldCgpIHN5bnRheCBzdHJ1Y3R1cmVz IGluY2x1ZGVkIGluIHRoZSBTUFMuCj4+ICAgICAgICogLSBfX3U4Cj4+ICAgICAgICAgLSBgYG51 bV9sb25nX3Rlcm1fcmVmX3BpY3Nfc3BzYGAKPj4gLSAgICAgIC0KPj4gKyAgICAgIC0gU3BlY2lm aWVzIHRoZSBudW1iZXIgb2YgY2FuZGlkYXRlIGxvbmctdGVybSByZWZlcmVuY2UgcGljdHVyZXMg dGhhdCBhcmUKPj4gKyAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBTUFMuCj4+ICAgICAgICogLSBf X3U4Cj4+ICAgICAgICAgLSBgYGNocm9tYV9mb3JtYXRfaWRjYGAKPj4gLSAgICAgIC0KPj4gKyAg ICAgIC0gU3BlY2lmaWVzIHRoZSBjaHJvbWEgc2FtcGxpbmcuCj4+ICAgICAgICogLSBfX3U4Cj4+ ICAgICAgICAgLSBgYHNwc19tYXhfc3ViX2xheWVyc19taW51czFgYAo+PiAtICAgICAgLQo+PiAr ICAgICAgLSBwbHVzIDEgc3BlY2lmaWVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiB0ZW1wb3JhbCBz dWItbGF5ZXJzLgo+IHBsdXMgLT4gUGx1cwo+Cj4+ICAgICAgICogLSBfX3U2NAo+PiAgICAgICAg IC0gYGBmbGFnc2BgCj4+ICAgICAgICAgLSBTZWUgOnJlZjpgU2VxdWVuY2UgUGFyYW1ldGVyIFNl dCBGbGFncyA8aGV2Y19zcHNfZmxhZ3M+YAo+PiBAQCAtMjgzNyw3ICsyODQzLDggQEAgZW51bSB2 NGwyX21wZWdfdmlkZW9faGV2Y19zaXplX29mX2xlbmd0aF9maWVsZCAtCj4+ICAgICAgICAgLSBJ ZGVudGlmaWVzIHRoZSBQUFMgZm9yIHJlZmVyZW5jZSBieSBvdGhlciBzeW50YXggZWxlbWVudHMu Cj4+ICAgICAgICogLSBfX3U4Cj4+ICAgICAgICAgLSBgYG51bV9leHRyYV9zbGljZV9oZWFkZXJf Yml0c2BgCj4+IC0gICAgICAtCj4+ICsgICAgICAtIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGV4 dHJhIHNsaWNlIGhlYWRlciBiaXRzIHRoYXQgYXJlIHByZXNlbnQKPj4gKyAgICAgICAgaW4gdGhl IHNsaWNlIGhlYWRlciBSQlNQIGZvciBjb2RlZCBwaWN0dXJlcyByZWZlcnJpbmcgdG8gdGhlIFBQ Uy4KPj4gICAgICAgKiAtIF9fdTgKPj4gICAgICAgICAtIGBgbnVtX3JlZl9pZHhfbDBfZGVmYXVs dF9hY3RpdmVfbWludXMxYGAKPj4gICAgICAgICAtIFNwZWNpZmllcyB0aGUgaW5mZXJyZWQgdmFs dWUgb2YgbnVtX3JlZl9pZHhfbDBfYWN0aXZlX21pbnVzMQo+PiBAQCAtMjg0NiwzNyArMjg1Myw0 MiBAQCBlbnVtIHY0bDJfbXBlZ192aWRlb19oZXZjX3NpemVfb2ZfbGVuZ3RoX2ZpZWxkIC0KPj4g ICAgICAgICAtIFNwZWNpZmllcyB0aGUgaW5mZXJyZWQgdmFsdWUgb2YgbnVtX3JlZl9pZHhfbDFf YWN0aXZlX21pbnVzMQo+PiAgICAgICAqIC0gX19zOAo+PiAgICAgICAgIC0gYGBpbml0X3FwX21p bnVzMjZgYAo+PiAtICAgICAgLQo+PiArICAgICAgLSBQbHVzIDI2IHNwZWNpZmllcyB0aGUgaW5p dGlhbCB2YWx1ZSBvZiBTbGljZVFwIFkgZm9yIGVhY2ggc2xpY2UKPj4gKyAgICAgICAgcmVmZXJy aW5nIHRvIHRoZSBQUFMuCj4+ICAgICAgICogLSBfX3U4Cj4+ICAgICAgICAgLSBgYGRpZmZfY3Vf cXBfZGVsdGFfZGVwdGhgYAo+PiAtICAgICAgLQo+PiArICAgICAgLSBTcGVjaWZpZXMgdGhlIGRp ZmZlcmVuY2UgYmV0d2VlbiB0aGUgbHVtYSBjb2RpbmcgdHJlZSBibG9jayBzaXplCj4+ICsgICAg ICAgIGFuZCB0aGUgbWluaW11bSBsdW1hIGNvZGluZyBibG9jayBzaXplIG9mIGNvZGluZyB1bml0 cyB0aGF0Cj4+ICsgICAgICAgIGNvbnZleSBjdV9xcF9kZWx0YV9hYnMgYW5kIGN1X3FwX2RlbHRh X3NpZ25fZmxhZy4KPj4gICAgICAgKiAtIF9fczgKPj4gICAgICAgICAtIGBgcHBzX2NiX3FwX29m ZnNldGBgCj4+IC0gICAgICAtCj4+ICsgICAgICAtIFNwZWNpZnkgdGhlIG9mZnNldHMgdG8gdGhl IGx1bWEgcXVhbnRpemF0aW9uIHBhcmFtZXRlciBDYi4KPj4gICAgICAgKiAtIF9fczgKPj4gICAg ICAgICAtIGBgcHBzX2NyX3FwX29mZnNldGBgCj4+IC0gICAgICAtCj4+ICsgICAgICAtIFNwZWNp ZnkgdGhlIG9mZnNldHMgdG8gdGhlIGx1bWEgcXVhbnRpemF0aW9uIHBhcmFtZXRlciBDci4KPj4g ICAgICAgKiAtIF9fdTgKPj4gICAgICAgICAtIGBgbnVtX3RpbGVfY29sdW1uc19taW51czFgYAo+ PiAtICAgICAgLQo+PiArICAgICAgLSBQbHVzIDEgc3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgdGls ZSBjb2x1bW5zIHBhcnRpdGlvbmluZyB0aGUgcGljdHVyZS4KPj4gICAgICAgKiAtIF9fdTgKPj4g ICAgICAgICAtIGBgbnVtX3RpbGVfcm93c19taW51czFgYAo+PiAtICAgICAgLQo+PiArICAgICAg LSBQbHVzIDEgc3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgdGlsZSByb3dzIHBhcnRpdGlvbmluZyB0 aGUgcGljdHVyZS4KPj4gICAgICAgKiAtIF9fdTgKPj4gICAgICAgICAtIGBgY29sdW1uX3dpZHRo X21pbnVzMVsyMF1gYAo+PiAtICAgICAgLQo+PiArICAgICAgLSBQbHVzIDEgc3BlY2lmaWVzIHRo ZSB3aWR0aCBvZiB0aGUgaS10aCB0aWxlIGNvbHVtbiBpbiB1bml0cyBvZgo+IFdvdWxkbid0ICJv ZiBlYWNoIHRpbGUgY29sdW1uIiBiZSBlYXNpZXIgdG8gdW5kZXJzdGFuZD8KCnllcwoKPgo+PiAr ICAgICAgICBjb2RpbmcgdHJlZSBibG9ja3MuCj4+ICAgICAgICogLSBfX3U4Cj4+ICAgICAgICAg LSBgYHJvd19oZWlnaHRfbWludXMxWzIyXWBgCj4+IC0gICAgICAtCj4+ICsgICAgICAtIFBsdXMg MSBzcGVjaWZpZXMgdGhlIGhlaWdodCBvZiB0aGUgaS10aCB0aWxlIHJvdyBpbiB1bml0cyBvZiBj b2RpbmcKPiBEaXR0by4KPgo+PiArICAgICAgICB0cmVlIGJsb2Nrcy4KPj4gICAgICAgKiAtIF9f czgKPj4gICAgICAgICAtIGBgcHBzX2JldGFfb2Zmc2V0X2RpdjJgYAo+PiAtICAgICAgLQo+PiAr ICAgICAgLSBTcGVjaWZ5IHRoZSBkZWZhdWx0IGRlYmxvY2tpbmcgcGFyYW1ldGVyIG9mZnNldHMg Zm9yIGJldGEgZGl2aWRlZCBieSAyLgo+PiAgICAgICAqIC0gX19zOAo+PiAgICAgICAgIC0gYGBw cHNfdGNfb2Zmc2V0X2RpdjJgYAo+PiAtICAgICAgLQo+PiArICAgICAgLSBTcGVjaWZ5IHRoZSBk ZWZhdWx0IGRlYmxvY2tpbmcgcGFyYW1ldGVyIG9mZnNldHMgZm9yIHRDIGRpdmlkZWQgYnkgMi4K PiBJcyBpdCBhY3R1YWxseSBjYWxsZWQgJ3RDJyBpbiB0aGUgSEVWQyBzdGFuZGFyZCwgb3IgaXMg dGhpcyBhIHR5cG8/CgppdCBpcyBjYWxsZWQgdEMgaW4gSEVWQyBzcGVjOgoncHBzX2JldGFfb2Zm c2V0X2RpdjIgYW5kIHBwc190Y19vZmZzZXRfZGl2MiBzcGVjaWZ5IHRoZSBkZWZhdWx0IGRlYmxv Y2tpbmcgcGFyYW1ldGVyIG9mZnNldHMgZm9yIM6yIGFuZCB0Qy4uLicKCj4KPj4gICAgICAgKiAt IF9fdTgKPj4gICAgICAgICAtIGBgbG9nMl9wYXJhbGxlbF9tZXJnZV9sZXZlbF9taW51czJgYAo+ PiAtICAgICAgLQo+PiArICAgICAgLSBQbHVzIDIgc3BlY2lmaWVzIHRoZSB2YWx1ZSBvZiB0aGUg dmFyaWFibGUgTG9nMlBhck1yZ0xldmVsLgo+PiAgICAgICAqIC0gX191OAo+PiAgICAgICAgIC0g YGBwYWRkaW5nWzRdYGAKPj4gICAgICAgICAtIEFwcGxpY2F0aW9ucyBhbmQgZHJpdmVycyBtdXN0 IHNldCB0aGlzIHRvIHplcm8uCj4+IEBAIC0yOTk4LDEwICszMDEwLDEwIEBAIGVudW0gdjRsMl9t cGVnX3ZpZGVvX2hldmNfc2l6ZV9vZl9sZW5ndGhfZmllbGQgLQo+PiAgICAgICAgIC0gT2Zmc2V0 IChpbiBiaXRzKSB0byB0aGUgdmlkZW8gZGF0YSBpbiB0aGUgY3VycmVudCBzbGljZSBkYXRhLgo+ PiAgICAgICAqIC0gX191OAo+PiAgICAgICAgIC0gYGBuYWxfdW5pdF90eXBlYGAKPj4gLSAgICAg IC0KPj4gKyAgICAgIC0gU3BlY2lmaWVzIHRoZSBjb2RpbmcgdHlwZSBvZiB0aGUgc2xpY2UgKEIs IFAgb3IgSSkuCj4+ICAgICAgICogLSBfX3U4Cj4+ICAgICAgICAgLSBgYG51aF90ZW1wb3JhbF9p ZF9wbHVzMWBgCj4+IC0gICAgICAtCj4+ICsgICAgICAtIE1pbnVzIDEgc3BlY2lmaWVzIGEgdGVt cG9yYWwgaWRlbnRpZmllciBmb3IgdGhlIE5BTCB1bml0Lgo+PiAgICAgICAqIC0gX191OAo+PiAg ICAgICAgIC0gYGBzbGljZV90eXBlYGAKPj4gICAgICAgICAtCj4+IEBAIC0zMDA5LDUyICszMDIx LDU2IEBAIGVudW0gdjRsMl9tcGVnX3ZpZGVvX2hldmNfc2l6ZV9vZl9sZW5ndGhfZmllbGQgLQo+ PiAgIAlWNEwyX0hFVkNfU0xJQ0VfVFlQRV9CKS4KPj4gICAgICAgKiAtIF9fdTgKPj4gICAgICAg ICAtIGBgY29sb3VyX3BsYW5lX2lkYGAKPj4gLSAgICAgIC0KPj4gKyAgICAgIC0gU3BlY2lmaWVz IHRoZSBjb2xvdXIgcGxhbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBjdXJyZW50IHNsaWNlLgo+PiAg ICAgICAqIC0gX19zMzIKPj4gICAgICAgICAtIGBgc2xpY2VfcGljX29yZGVyX2NudGBgCj4+IC0g ICAgICAtCj4+ICsgICAgICAtIFNwZWNpZmllcyB0aGUgcGljdHVyZSBvcmRlciBjb3VudC4KPj4g ICAgICAgKiAtIF9fdTgKPj4gICAgICAgICAtIGBgbnVtX3JlZl9pZHhfbDBfYWN0aXZlX21pbnVz MWBgCj4+IC0gICAgICAtCj4+ICsgICAgICAtIFNwZWNpZmllcyB0aGUgbWF4aW11bSByZWZlcmVu Y2UgaW5kZXggZm9yIHJlZmVyZW5jZSBwaWN0dXJlIGxpc3QgMAo+PiArICAgICAgICB0aGF0IG1h eSBiZSB1c2VkIHRvIGRlY29kZSB0aGUgc2xpY2UuCj4+ICAgICAgICogLSBfX3U4Cj4+ICAgICAg ICAgLSBgYG51bV9yZWZfaWR4X2wxX2FjdGl2ZV9taW51czFgYAo+PiAtICAgICAgLQo+PiArICAg ICAgLSBTcGVjaWZpZXMgdGhlIG1heGltdW0gcmVmZXJlbmNlIGluZGV4IGZvciByZWZlcmVuY2Ug cGljdHVyZSBsaXN0IDEKPj4gKyAgICAgICAgdGhhdCBtYXkgYmUgdXNlZCB0byBkZWNvZGUgdGhl IHNsaWNlLgo+PiAgICAgICAqIC0gX191OAo+PiAgICAgICAgIC0gYGBjb2xsb2NhdGVkX3JlZl9p ZHhgYAo+PiAtICAgICAgLQo+PiArICAgICAgLSBTcGVjaWZpZXMgdGhlIHJlZmVyZW5jZSBpbmRl eCBvZiB0aGUgY29sbG9jYXRlZCBwaWN0dXJlIHVzZWQgZm9yCj4+ICsgICAgICAgIHRlbXBvcmFs IG1vdGlvbiB2ZWN0b3IgcHJlZGljdGlvbi4KPj4gICAgICAgKiAtIF9fdTgKPj4gICAgICAgICAt IGBgZml2ZV9taW51c19tYXhfbnVtX21lcmdlX2NhbmRgYAo+PiAtICAgICAgLQo+PiArICAgICAg LSBTcGVjaWZpZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIG1lcmdpbmcgbW90aW9uIHZlY3RvciBw cmVkaWN0aW9uCj4+ICsgICAgICAgIGNhbmRpZGF0ZXMgc3VwcG9ydGVkIGluIHRoZSBzbGljZSBz dWJ0cmFjdGVkIGZyb20gNS4KPj4gICAgICAgKiAtIF9fczgKPj4gICAgICAgICAtIGBgc2xpY2Vf cXBfZGVsdGFgYAo+PiAtICAgICAgLQo+PiArICAgICAgLSBTcGVjaWZpZXMgdGhlIGluaXRpYWwg dmFsdWUgb2YgUXBZIHRvIGJlIHVzZWQgZm9yIHRoZSBjb2RpbmcgYmxvY2tzIGluIHRoZSBzbGlj ZS4KPiBJdCdzIHJlYWxseSAnUXBZJz8gVGhlcmUgaXMgbm8gb2J2aW91cyByZWxhdGlvbnNoaXAg YmV0d2VlbiB0aGUgJ1knIGNoYXJhY3RlciBhbmQgdGhlICdfZGVsdGEnCj4gc3VmZml4LiBKdXN0 IGNoZWNraW5nLgoKeWVzIGl0IGlzICdRcHknIGluIEhFVkMgc3BlYzoKJ3NsaWNlX3FwX2RlbHRh IHNwZWNpZmllcyB0aGUgaW5pdGlhbCB2YWx1ZSBvZiBRcFkgdG8gYmUgdXNlZCBmb3IgdGhlIGNv ZGluZyBibG9ja3MgaW4gdGhlIHNsaWNlIHVudGlsIG1vZGlmaWVkIGJ5IHRoZSB2YWx1ZQpvZiBD dVFwRGVsdGFWYWwgaW4gdGhlIGNvZGluZyB1bml0IGxheWVyLiBUaGUgaW5pdGlhbCB2YWx1ZSBv ZiB0aGUgUXBZIHF1YW50aXphdGlvbiBwYXJhbWV0ZXIgZm9yIHRoZSBzbGljZSwgU2xpY2VRcFks IGlzCmRlcml2ZWQgYXMgZm9sbG93czoKU2xpY2VRcFkgPSAyNiArIGluaXRfcXBfbWludXMyNiAr IHNsaWNlX3FwX2RlbHRhJwoKUmVnYXJkcywKQmVuamFtaW4KCj4KPj4gICAgICAgKiAtIF9fczgK Pj4gICAgICAgICAtIGBgc2xpY2VfY2JfcXBfb2Zmc2V0YGAKPj4gLSAgICAgIC0KPj4gKyAgICAg IC0gU3BlY2lmaWVzIGEgZGlmZmVyZW5jZSB0byBiZSBhZGRlZCB0byB0aGUgdmFsdWUgb2YgcHBz X2NiX3FwX29mZnNldC4KPj4gICAgICAgKiAtIF9fczgKPj4gICAgICAgICAtIGBgc2xpY2VfY3Jf cXBfb2Zmc2V0YGAKPj4gLSAgICAgIC0KPj4gKyAgICAgIC0gU3BlY2lmaWVzIGEgZGlmZmVyZW5j ZSB0byBiZSBhZGRlZCB0byB0aGUgdmFsdWUgb2YgcHBzX2NyX3FwX29mZnNldC4KPj4gICAgICAg KiAtIF9fczgKPj4gICAgICAgICAtIGBgc2xpY2VfYWN0X3lfcXBfb2Zmc2V0YGAKPj4gLSAgICAg IC0KPj4gKyAgICAgIC0gc2NyZWVuIGNvbnRlbnQgZXh0ZW5zaW9uIHBhcmFtZXRlcnMKPj4gICAg ICAgKiAtIF9fczgKPj4gICAgICAgICAtIGBgc2xpY2VfYWN0X2NiX3FwX29mZnNldGBgCj4+IC0g ICAgICAtCj4+ICsgICAgICAtIHNjcmVlbiBjb250ZW50IGV4dGVuc2lvbiBwYXJhbWV0ZXJzCj4+ ICAgICAgICogLSBfX3M4Cj4+ICAgICAgICAgLSBgYHNsaWNlX2FjdF9jcl9xcF9vZmZzZXRgYAo+ PiAtICAgICAgLQo+PiArICAgICAgLSBzY3JlZW4gY29udGVudCBleHRlbnNpb24gcGFyYW1ldGVy cwo+PiAgICAgICAqIC0gX19zOAo+PiAgICAgICAgIC0gYGBzbGljZV9iZXRhX29mZnNldF9kaXYy YGAKPj4gLSAgICAgIC0KPj4gKyAgICAgIC0gU3BlY2lmeSB0aGUgZGVibG9ja2luZyBwYXJhbWV0 ZXIgb2Zmc2V0cyBmb3IgYmV0YSBkaXZpZGVkIGJ5IDIuCj4+ICAgICAgICogLSBfX3M4Cj4+ICAg ICAgICAgLSBgYHNsaWNlX3RjX29mZnNldF9kaXYyYGAKPj4gLSAgICAgIC0KPj4gKyAgICAgIC0g U3BlY2lmeSB0aGUgZGVibG9ja2luZyBwYXJhbWV0ZXIgb2Zmc2V0cyBmb3IgdEMgZGl2aWRlZCBi eSAyLgo+PiAgICAgICAqIC0gX191OAo+PiAgICAgICAgIC0gYGBwaWNfc3RydWN0YGAKPj4gLSAg ICAgIC0KPj4gKyAgICAgIC0gSW5kaWNhdGVzIHdoZXRoZXIgYSBwaWN0dXJlIHNob3VsZCBiZSBk aXNwbGF5ZWQgYXMgYSBmcmFtZSBvciBhcyBvbmUgb3IgbW9yZSBmaWVsZHMuCj4+ICAgICAgICog LSBfX3UzMgo+PiAgICAgICAgIC0gYGBzbGljZV9zZWdtZW50X2FkZHJgYAo+PiAtICAgICAgLQo+ PiArICAgICAgLSBTcGVjaWZpZXMgdGhlIGFkZHJlc3Mgb2YgdGhlIGZpcnN0IGNvZGluZyB0cmVl IGJsb2NrIGluIHRoZSBzbGljZSBzZWdtZW50Lgo+PiAgICAgICAqIC0gX191OAo+PiAgICAgICAg IC0gYGByZWZfaWR4X2wwW1Y0TDJfSEVWQ19EUEJfRU5UUklFU19OVU1fTUFYXWBgCj4+ICAgICAg ICAgLSBUaGUgbGlzdCBvZiBMMCByZWZlcmVuY2UgZWxlbWVudHMgYXMgaW5kaWNlcyBpbiB0aGUg RFBCLgo+PiBAQCAtMzIxOSwxMSArMzIzNSw5IEBAIGVudW0gdjRsMl9tcGVnX3ZpZGVvX2hldmNf c2l6ZV9vZl9sZW5ndGhfZmllbGQgLQo+PiAgICAgICAgIC0gYGBmaWVsZF9waWNgYAo+PiAgICAg ICAgIC0gV2hldGhlciB0aGUgcmVmZXJlbmNlIGlzIGEgZmllbGQgcGljdHVyZSBvciBhIGZyYW1l Lgo+PiAgICAgICAgICAgU2VlIDpyZWY6YEhFVkMgZHBiIGZpZWxkIHBpYyBGbGFncyA8aGV2Y19k cGJfZmllbGRfcGljX2ZsYWdzPmAKPj4gLSAgICAqIC0gX191MTYKPj4gLSAgICAgIC0gYGBwaWNf b3JkZXJfY250WzJdYGAKPj4gLSAgICAgIC0gVGhlIHBpY3R1cmUgb3JkZXIgY291bnQgb2YgdGhl IHJlZmVyZW5jZS4gT25seSB0aGUgZmlyc3QgZWxlbWVudCBvZiB0aGUKPj4gLSAgICAgICAgYXJy YXkgaXMgdXNlZCBmb3IgZnJhbWUgcGljdHVyZXMsIHdoaWxlIHRoZSBmaXJzdCBlbGVtZW50IGlk ZW50aWZpZXMgdGhlCj4+IC0gICAgICAgIHRvcCBmaWVsZCBhbmQgdGhlIHNlY29uZCB0aGUgYm90 dG9tIGZpZWxkIGluIGZpZWxkLWNvZGVkIHBpY3R1cmVzLgo+PiArICAgICogLSBfX3MzMgo+PiAr ICAgICAgLSBgYHBpY19vcmRlcl9jbnRfdmFsYGAKPj4gKyAgICAgIC0gVGhlIHBpY3R1cmUgb3Jk ZXIgY291bnQgb2YgdGhlIGN1cnJlbnQgcGljdHVyZS4KPj4gICAgICAgKiAtIF9fdTgKPj4gICAg ICAgICAtIGBgcGFkZGluZ1syXWBgCj4+ICAgICAgICAgLSBBcHBsaWNhdGlvbnMgYW5kIGRyaXZl cnMgbXVzdCBzZXQgdGhpcyB0byB6ZXJvLgo+PiBAQCAtMzI5OCwzNiArMzMxMiw0NCBAQCBlbnVt IHY0bDJfbXBlZ192aWRlb19oZXZjX3NpemVfb2ZfbGVuZ3RoX2ZpZWxkIC0KPj4gICAgICAgOnN0 dWItY29sdW1uczogMAo+PiAgICAgICA6d2lkdGhzOiAgICAgICAxIDEgMgo+PiAgIAo+PiAtICAg ICogLSBfX3U4Cj4+IC0gICAgICAtIGBgbHVtYV9sb2cyX3dlaWdodF9kZW5vbWBgCj4+IC0gICAg ICAtCj4+IC0gICAgKiAtIF9fczgKPj4gLSAgICAgIC0gYGBkZWx0YV9jaHJvbWFfbG9nMl93ZWln aHRfZGVub21gYAo+PiAtICAgICAgLQo+PiAgICAgICAqIC0gX19zOAo+PiAgICAgICAgIC0gYGBk ZWx0YV9sdW1hX3dlaWdodF9sMFtWNEwyX0hFVkNfRFBCX0VOVFJJRVNfTlVNX01BWF1gYAo+PiAt ICAgICAgLQo+PiArICAgICAgLSBUaGUgZGlmZmVyZW5jZSBvZiB0aGUgd2VpZ2h0aW5nIGZhY3Rv ciBhcHBsaWVkIHRvIHRoZSBsdW1hCj4+ICsgICAgICAgIHByZWRpY3Rpb24gdmFsdWUgZm9yIGxp c3QgMC4KPj4gICAgICAgKiAtIF9fczgKPj4gICAgICAgICAtIGBgbHVtYV9vZmZzZXRfbDBbVjRM Ml9IRVZDX0RQQl9FTlRSSUVTX05VTV9NQVhdYGAKPj4gLSAgICAgIC0KPj4gKyAgICAgIC0gVGhl IGFkZGl0aXZlIG9mZnNldCBhcHBsaWVkIHRvIHRoZSBsdW1hIHByZWRpY3Rpb24gdmFsdWUgZm9y IGxpc3QgMC4KPj4gICAgICAgKiAtIF9fczgKPj4gICAgICAgICAtIGBgZGVsdGFfY2hyb21hX3dl aWdodF9sMFtWNEwyX0hFVkNfRFBCX0VOVFJJRVNfTlVNX01BWF1bMl1gYAo+PiAtICAgICAgLQo+ PiArICAgICAgLSBUaGUgZGlmZmVyZW5jZSBvZiB0aGUgd2VpZ2h0aW5nIGZhY3RvciBhcHBsaWVk IHRvIHRoZSBjaHJvbWEKPj4gKyAgICAgICAgcHJlZGljdGlvbiB2YWx1ZSBmb3IgbGlzdCAwLgo+ PiAgICAgICAqIC0gX19zOAo+PiAgICAgICAgIC0gYGBjaHJvbWFfb2Zmc2V0X2wwW1Y0TDJfSEVW Q19EUEJfRU5UUklFU19OVU1fTUFYXVsyXWBgCj4+IC0gICAgICAtCj4+ICsgICAgICAtIFRoZSBk aWZmZXJlbmNlIG9mIHRoZSBhZGRpdGl2ZSBvZmZzZXQgYXBwbGllZCB0byB0aGUgY2hyb21hCj4+ ICsgICAgICAgIHByZWRpY3Rpb24gdmFsdWVzIGZvciBsaXN0IDAuCj4+ICAgICAgICogLSBfX3M4 Cj4+ICAgICAgICAgLSBgYGRlbHRhX2x1bWFfd2VpZ2h0X2wxW1Y0TDJfSEVWQ19EUEJfRU5UUklF U19OVU1fTUFYXWBgCj4+IC0gICAgICAtCj4+ICsgICAgICAtIFRoZSBkaWZmZXJlbmNlIG9mIHRo ZSB3ZWlnaHRpbmcgZmFjdG9yIGFwcGxpZWQgdG8gdGhlIGx1bWEKPj4gKyAgICAgICAgcHJlZGlj dGlvbiB2YWx1ZSBmb3IgbGlzdCAxLgo+PiAgICAgICAqIC0gX19zOAo+PiAgICAgICAgIC0gYGBs dW1hX29mZnNldF9sMVtWNEwyX0hFVkNfRFBCX0VOVFJJRVNfTlVNX01BWF1gYAo+PiAtICAgICAg LQo+PiArICAgICAgLSBUaGUgYWRkaXRpdmUgb2Zmc2V0IGFwcGxpZWQgdG8gdGhlIGx1bWEgcHJl ZGljdGlvbiB2YWx1ZSBmb3IgbGlzdCAxLgo+PiAgICAgICAqIC0gX19zOAo+PiAgICAgICAgIC0g YGBkZWx0YV9jaHJvbWFfd2VpZ2h0X2wxW1Y0TDJfSEVWQ19EUEJfRU5UUklFU19OVU1fTUFYXVsy XWBgCj4+IC0gICAgICAtCj4+ICsgICAgICAtIFRoZSBkaWZmZXJlbmNlIG9mIHRoZSB3ZWlnaHRp bmcgZmFjdG9yIGFwcGxpZWQgdG8gdGhlIGNocm9tYQo+PiArICAgICAgICBwcmVkaWN0aW9uIHZh bHVlIGZvciBsaXN0IDEuCj4+ICAgICAgICogLSBfX3M4Cj4+ICAgICAgICAgLSBgYGNocm9tYV9v ZmZzZXRfbDFbVjRMMl9IRVZDX0RQQl9FTlRSSUVTX05VTV9NQVhdWzJdYGAKPj4gLSAgICAgIC0K Pj4gKyAgICAgIC0gVGhlIGRpZmZlcmVuY2Ugb2YgdGhlIGFkZGl0aXZlIG9mZnNldCBhcHBsaWVk IHRvIHRoZSBjaHJvbWEKPj4gKyAgICAgICAgcHJlZGljdGlvbiB2YWx1ZXMgZm9yIGxpc3QgMS4K Pj4gKyAgICAqIC0gX191OAo+PiArICAgICAgLSBgYGx1bWFfbG9nMl93ZWlnaHRfZGVub21gYAo+ PiArICAgICAgLSBUaGUgYmFzZSAyIGxvZ2FyaXRobSBvZiB0aGUgZGVub21pbmF0b3IgZm9yIGFs bCBsdW1hIHdlaWdodGluZwo+PiArICAgICAgICBmYWN0b3JzLgo+PiArICAgICogLSBfX3M4Cj4+ ICsgICAgICAtIGBgZGVsdGFfY2hyb21hX2xvZzJfd2VpZ2h0X2Rlbm9tYGAKPj4gKyAgICAgIC0g VGhlIGRpZmZlcmVuY2Ugb2YgdGhlIGJhc2UgMiBsb2dhcml0aG0gb2YgdGhlIGRlbm9taW5hdG9y IGZvcgo+PiArICAgICAgICBhbGwgY2hyb21hIHdlaWdodGluZyBmYWN0b3JzLgo+PiAgICAgICAq IC0gX191OAo+PiAgICAgICAgIC0gYGBwYWRkaW5nWzZdYGAKPj4gICAgICAgICAtIEFwcGxpY2F0 aW9ucyBhbmQgZHJpdmVycyBtdXN0IHNldCB0aGlzIHRvIHplcm8uCj4+IGRpZmYgLS1naXQgYS9p bmNsdWRlL21lZGlhL2hldmMtY3RybHMuaCBiL2luY2x1ZGUvbWVkaWEvaGV2Yy1jdHJscy5oCj4+ IGluZGV4IGYzNjk1YWI0NDM4OS4uMGRiZDVkNjgxYzI4IDEwMDY0NAo+PiAtLS0gYS9pbmNsdWRl L21lZGlhL2hldmMtY3RybHMuaAo+PiArKysgYi9pbmNsdWRlL21lZGlhL2hldmMtY3RybHMuaAo+ PiBAQCAtNTUsOSArNTUsNjggQEAgZW51bSB2NGwyX3N0YXRlbGVzc19oZXZjX3N0YXJ0X2NvZGUg ewo+PiAgICNkZWZpbmUgVjRMMl9IRVZDX1NQU19GTEFHX1NQU19URU1QT1JBTF9NVlBfRU5BQkxF RAkJKDFVTEwgPDwgNykKPj4gICAjZGVmaW5lIFY0TDJfSEVWQ19TUFNfRkxBR19TVFJPTkdfSU5U UkFfU01PT1RISU5HX0VOQUJMRUQJKDFVTEwgPDwgOCkKPj4gICAKPj4gLS8qIFRoZSBjb250cm9s cyBhcmUgbm90IHN0YWJsZSBhdCB0aGUgbW9tZW50IGFuZCB3aWxsIGxpa2VseSBiZSByZXdvcmtl ZC4gKi8KPj4gKy8qKgo+PiArICogc3RydWN0IHY0bDJfY3RybF9oZXZjX3NwcyAtIElUVS1UIFJl Yy4gSC4yNjU6IFNlcXVlbmNlIHBhcmFtZXRlciBzZXQKPj4gKyAqCj4+ICsgKiBAdmlkZW9fcGFy YW1ldGVyX3NldF9pZDogc3BlY2lmaWVzIHRoZSB2YWx1ZSBvZiB0aGUKPj4gKyAqCQkJICAgIHZw c192aWRlb19wYXJhbWV0ZXJfc2V0X2lkIG9mIHRoZSBhY3RpdmUgVlBTCj4+ICsgKiBAc2VxX3Bh cmFtZXRlcl9zZXRfaWQ6IHByb3ZpZGVzIGFuIGlkZW50aWZpZXIgZm9yIHRoZSBTUFMgZm9yCj4+ ICsgKgkJCSAgcmVmZXJlbmNlIGJ5IG90aGVyIHN5bnRheCBlbGVtZW50cwo+PiArICogQHBpY193 aWR0aF9pbl9sdW1hX3NhbXBsZXM6IHNwZWNpZmllcyB0aGUgd2lkdGggb2YgZWFjaCBkZWNvZGVk IHBpY3R1cmUKPj4gKyAqCQkJICAgICAgIGluIHVuaXRzIG9mIGx1bWEgc2FtcGxlcwo+PiArICog QHBpY19oZWlnaHRfaW5fbHVtYV9zYW1wbGVzOiBzcGVjaWZpZXMgdGhlIGhlaWdodCBvZiBlYWNo IGRlY29kZWQgcGljdHVyZQo+PiArICoJCQkJaW4gdW5pdHMgb2YgbHVtYSBzYW1wbGVzCj4+ICsg KiBAYml0X2RlcHRoX2x1bWFfbWludXM4OiBzcGVjaWZpZXMgdGhlIGJpdCBkZXB0aCBvZiB0aGUg c2FtcGxlcyBvZiB0aGUKPj4gKyAqCQkJICAgbHVtYSBhcnJheQo+PiArICogQGJpdF9kZXB0aF9j aHJvbWFfbWludXM4OiBzcGVjaWZpZXMgdGhlIGJpdCBkZXB0aCBvZiB0aGUgc2FtcGxlcyBvZiB0 aGUKPj4gKyAqCQkJICAgICBjaHJvbWEgYXJyYXlzCj4+ICsgKiBAbG9nMl9tYXhfcGljX29yZGVy X2NudF9sc2JfbWludXM0OiBzcGVjaWZpZXMgdGhlIHZhbHVlIG9mIHRoZSB2YXJpYWJsZQo+PiAr ICoJCQkJICAgICAgIE1heFBpY09yZGVyQ250THNiCj4+ICsgKiBAc3BzX21heF9kZWNfcGljX2J1 ZmZlcmluZ19taW51czE6IHBsdXMgMSBzcGVjaWZpZXMgdGhlIG1heGltdW0gcmVxdWlyZWQKPj4g KyAqCQkJCSAgICAgIHNpemUgb2YgdGhlIGRlY29kZWQgcGljdHVyZSBidWZmZXIgZm9yCj4+ICsg KgkJCQkgICAgICB0aGUgQ1ZTCj4+ICsgKiBAc3BzX21heF9udW1fcmVvcmRlcl9waWNzOiBpbmRp Y2F0ZXMgdGhlIG1heGltdW0gYWxsb3dlZCBudW1iZXIgb2YgcGljdHVyZXMKPj4gKyAqIEBzcHNf bWF4X2xhdGVuY3lfaW5jcmVhc2VfcGx1czE6IG5vdCBlcXVhbCB0byAwIGlzIHVzZWQgdG8gY29t cHV0ZSB0aGUKPj4gKyAqCQkJCSAgICB2YWx1ZSBvZiBTcHNNYXhMYXRlbmN5UGljdHVyZXNbaV0K PiBXaGF0IGlzICdpJyBpbiB0aGlzIGNvbnRleHQ/Cj4KPj4gKyAqIEBsb2cyX21pbl9sdW1hX2Nv ZGluZ19ibG9ja19zaXplX21pbnVzMzogcGx1cyAzIHNwZWNpZmllcyB0aGUgbWluaW11bQo+PiAr ICoJCQkJCSAgICBsdW1hIGNvZGluZyBibG9jayBzaXplCj4+ICsgKiBAbG9nMl9kaWZmX21heF9t aW5fbHVtYV9jb2RpbmdfYmxvY2tfc2l6ZTogc3BlY2lmaWVzIHRoZSBkaWZmZXJlbmNlIGJldHdl ZW4KPj4gKyAqCQkJCQkgICAgICB0aGUgbWF4aW11bSBhbmQgbWluaW11bSBsdW1hCj4+ICsgKgkJ CQkJICAgICAgY29kaW5nIGJsb2NrIHNpemUKPj4gKyAqIEBsb2cyX21pbl9sdW1hX3RyYW5zZm9y bV9ibG9ja19zaXplX21pbnVzMjogcGx1cyAyIHNwZWNpZmllcyB0aGUgbWluaW11bSBsdW1hCj4+ ICsgKgkJCQkJICAgICAgIHRyYW5zZm9ybSBibG9jayBzaXplCj4+ICsgKiBAbG9nMl9kaWZmX21h eF9taW5fbHVtYV90cmFuc2Zvcm1fYmxvY2tfc2l6ZTogc3BlY2lmaWVzIHRoZSBkaWZmZXJlbmNl IGJldHdlZW4KPj4gKyAqCQkJCQkJIHRoZSBtYXhpbXVtIGFuZCBtaW5pbXVtIGx1bWEKPj4gKyAq CQkJCQkJIHRyYW5zZm9ybSBibG9jayBzaXplCj4+ICsgKiBAbWF4X3RyYW5zZm9ybV9oaWVyYXJj aHlfZGVwdGhfaW50ZXI6IHNwZWNpZmllcyB0aGUgbWF4aW11bSBoaWVyYXJjaHkKPj4gKyAqCQkJ CQkgZGVwdGggZm9yIHRyYW5zZm9ybSB1bml0cyBvZgo+PiArICoJCQkJCSBjb2RpbmcgdW5pdHMg Y29kZWQgaW4gaW50ZXIKPj4gKyAqCQkJCQkgcHJlZGljdGlvbiBtb2RlCj4+ICsgKiBAbWF4X3Ry YW5zZm9ybV9oaWVyYXJjaHlfZGVwdGhfaW50cmE6IHNwZWNpZmllcyB0aGUgbWF4aW11bSBoaWVy YXJjaHkKPj4gKyAqCQkJCQkgZGVwdGggZm9yIHRyYW5zZm9ybSB1bml0cyBvZgo+PiArICoJCQkJ CSBjb2RpbmcgdW5pdHMgY29kZWQgaW4gaW50cmEKPj4gKyAqCQkJCQkgcHJlZGljdGlvbiBtb2Rl Cj4+ICsgKiBAcGNtX3NhbXBsZV9iaXRfZGVwdGhfbHVtYV9taW51czE6IHNwZWNpZmllcyB0aGUg bnVtYmVyIG9mIGJpdHMgdXNlZCB0bwo+PiArICoJCQkJICAgICAgcmVwcmVzZW50IGVhY2ggb2Yg UENNIHNhbXBsZSB2YWx1ZXMgb2YgdGhlCj4+ICsgKgkJCQkgICAgICBsdW1hIGNvbXBvbmVudAo+ PiArICogQHBjbV9zYW1wbGVfYml0X2RlcHRoX2Nocm9tYV9taW51czE6IHNwZWNpZmllcyB0aGUg bnVtYmVyIG9mIGJpdHMgdXNlZCB0bwo+PiArICoJCQkJCXJlcHJlc2VudCBlYWNoIG9mIFBDTSBz YW1wbGUgdmFsdWVzIG9mCj4+ICsgKgkJCQkJdGhlIGNocm9tYSBjb21wb25lbnRzCj4+ICsgKiBA bG9nMl9taW5fcGNtX2x1bWFfY29kaW5nX2Jsb2NrX3NpemVfbWludXMzOiBwbHVzIDMgc3BlY2lm aWVzIHRoZSBtaW5pbXVtIHNpemUKPj4gKyAqCQkJCQkJb2YgY29kaW5nIGJsb2Nrcwo+PiArICog QGxvZzJfZGlmZl9tYXhfbWluX3BjbV9sdW1hX2NvZGluZ19ibG9ja19zaXplOiBzcGVjaWZpZXMg dGhlIGRpZmZlcmVuY2UgYmV0d2Vlbgo+PiArICoJCQkJCQkgIHRoZSBtYXhpbXVtIGFuZCBtaW5p bXVtIHNpemUgb2YKPj4gKyAqCQkJCQkJICBjb2RpbmcgYmxvY2tzCj4+ICsgKiBAbnVtX3Nob3J0 X3Rlcm1fcmVmX3BpY19zZXRzOiBzcGVjaWZpZXMgdGhlIG51bWJlciBvZiBzdF9yZWZfcGljX3Nl dCgpCj4+ICsgKgkJCQkgc3ludGF4IHN0cnVjdHVyZXMgaW5jbHVkZWQgaW4gdGhlIFNQUwo+PiAr ICogQG51bV9sb25nX3Rlcm1fcmVmX3BpY3Nfc3BzOglzcGVjaWZpZXMgdGhlIG51bWJlciBvZiBj YW5kaWRhdGUgbG9uZy10ZXJtCj4+ICsgKgkJCQlyZWZlcmVuY2UgcGljdHVyZXMgdGhhdCBhcmUg c3BlY2lmaWVkIGluIHRoZSBTUFMKPj4gKyAqIEBjaHJvbWFfZm9ybWF0X2lkYzogc3BlY2lmaWVz IHRoZSBjaHJvbWEgc2FtcGxpbmcKPj4gKyAqIEBzcHNfbWF4X3N1Yl9sYXllcnNfbWludXMxOiBw bHVzIDEgc3BlY2lmaWVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiB0ZW1wb3JhbAo+PiArICoJCQkg ICAgICAgc3ViLWxheWVycwo+PiArICogQGZsYWdzOiBzZWUgVjRMMl9IRVZDX1NQU19GTEFHX3t9 Cj4+ICsgKi8KPj4gICBzdHJ1Y3QgdjRsMl9jdHJsX2hldmNfc3BzIHsKPj4gLQkvKiBJU08vSUVD IDIzMDA4LTIsIElUVS1UIFJlYy4gSC4yNjU6IFNlcXVlbmNlIHBhcmFtZXRlciBzZXQgKi8KPj4g ICAJX191OAl2aWRlb19wYXJhbWV0ZXJfc2V0X2lkOwo+PiAgIAlfX3U4CXNlcV9wYXJhbWV0ZXJf c2V0X2lkOwo+PiAgIAlfX3UxNglwaWNfd2lkdGhfaW5fbHVtYV9zYW1wbGVzOwo+PiBAQCAtMTA4 LDggKzE2Nyw0MyBAQCBzdHJ1Y3QgdjRsMl9jdHJsX2hldmNfc3BzIHsKPj4gICAjZGVmaW5lIFY0 TDJfSEVWQ19QUFNfRkxBR19ERUJMT0NLSU5HX0ZJTFRFUl9DT05UUk9MX1BSRVNFTlQJKDFVTEwg PDwgMTkpCj4+ICAgI2RlZmluZSBWNEwyX0hFVkNfUFBTX0ZMQUdfVU5JRk9STV9TUEFDSU5HCQkJ KDFVTEwgPDwgMjApCj4+ICAgCj4+ICsvKioKPj4gKyAqIHN0cnVjdCB2NGwyX2N0cmxfaGV2Y19w cHMgLSBJVFUtVCBSZWMuIEguMjY1OiBQaWN0dXJlIHBhcmFtZXRlciBzZXQKPj4gKyAqCj4+ICsg KiBAcGljX3BhcmFtZXRlcl9zZXRfaWQ6IGlkZW50aWZpZXMgdGhlIFBQUyBmb3IgcmVmZXJlbmNl IGJ5IG90aGVyCj4+ICsgKgkJCSAgc3ludGF4IGVsZW1lbnRzCj4+ICsgKiBAbnVtX2V4dHJhX3Ns aWNlX2hlYWRlcl9iaXRzOiBzcGVjaWZpZXMgdGhlIG51bWJlciBvZiBleHRyYSBzbGljZSBoZWFk ZXIKPj4gKyAqCQkJCSBiaXRzIHRoYXQgYXJlIHByZXNlbnQgaW4gdGhlIHNsaWNlIGhlYWRlciBS QlNQCj4+ICsgKgkJCQkgZm9yIGNvZGVkIHBpY3R1cmVzIHJlZmVycmluZyB0byB0aGUgUFBTLgo+ PiArICogQG51bV9yZWZfaWR4X2wwX2RlZmF1bHRfYWN0aXZlX21pbnVzMTogc3BlY2lmaWVzIHRo ZSBpbmZlcnJlZCB2YWx1ZSBvZgo+PiArICoJCQkJCSAgbnVtX3JlZl9pZHhfbDBfYWN0aXZlX21p bnVzMQo+PiArICogQG51bV9yZWZfaWR4X2wxX2RlZmF1bHRfYWN0aXZlX21pbnVzMTogc3BlY2lm aWVzIHRoZSBpbmZlcnJlZCB2YWx1ZSBvZgo+PiArICoJCQkJCSAgbnVtX3JlZl9pZHhfbDFfYWN0 aXZlX21pbnVzMQo+PiArICogQGluaXRfcXBfbWludXMyNjogcGx1cyAyNiBzcGVjaWZpZXMgdGhl IGluaXRpYWwgdmFsdWUgb2YgU2xpY2VRcCBZIGZvcgo+PiArICoJCSAgICAgZWFjaCBzbGljZSBy ZWZlcnJpbmcgdG8gdGhlIFBQUwo+PiArICogQGRpZmZfY3VfcXBfZGVsdGFfZGVwdGg6IHNwZWNp ZmllcyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBsdW1hIGNvZGluZwo+PiArICoJCQkgICAg dHJlZSBibG9jayBzaXplIGFuZCB0aGUgbWluaW11bSBsdW1hIGNvZGluZyBibG9jawo+PiArICoJ CQkgICAgc2l6ZSBvZiBjb2RpbmcgdW5pdHMgdGhhdCBjb252ZXkgY3VfcXBfZGVsdGFfYWJzCj4+ ICsgKgkJCSAgICBhbmQgY3VfcXBfZGVsdGFfc2lnbl9mbGFnCj4+ICsgKiBAcHBzX2NiX3FwX29m ZnNldDogc3BlY2lmeSB0aGUgb2Zmc2V0cyB0byB0aGUgbHVtYSBxdWFudGl6YXRpb24gcGFyYW1l dGVyIENiCj4+ICsgKiBAcHBzX2NyX3FwX29mZnNldDogc3BlY2lmeSB0aGUgb2Zmc2V0cyB0byB0 aGUgbHVtYSBxdWFudGl6YXRpb24gcGFyYW1ldGVyIENyCj4+ICsgKiBAbnVtX3RpbGVfY29sdW1u c19taW51czE6IHBsdXMgMSBzcGVjaWZpZXMgdGhlIG51bWJlciBvZiB0aWxlIGNvbHVtbnMKPj4g KyAqCQkJICAgICBwYXJ0aXRpb25pbmcgdGhlIHBpY3R1cmUKPj4gKyAqIEBudW1fdGlsZV9yb3dz X21pbnVzMTogcGx1cyAxIHNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIHRpbGUgcm93cyBwYXJ0aXRp b25pbmcKPj4gKyAqCQkJICB0aGUgcGljdHVyZQo+PiArICogQGNvbHVtbl93aWR0aF9taW51czE6 IHBsdXMgMSBzcGVjaWZpZXMgdGhlIHdpZHRoIG9mIHRoZSBpLXRoIHRpbGUgY29sdW1uIGluCj4g InRoZSBpLXRoIiAtPiBlYWNoCj4KPiBJIHRoaW5rIHRoYXQncyBlYXNpZXIgdG8gdW5kZXJzdGFu ZC4KPgo+PiArICoJCQkgdW5pdHMgb2YgY29kaW5nIHRyZWUgYmxvY2tzCj4+ICsgKiBAcm93X2hl aWdodF9taW51czE6IHBsdXMgMSBzcGVjaWZpZXMgdGhlIGhlaWdodCBvZiB0aGUgaS10aCB0aWxl IHJvdyBpbgo+IERpdHRvLgo+Cj4+ICsgKgkJICAgICAgIHVuaXRzIG9mIGNvZGluZyB0cmVlIGJs b2Nrcwo+PiArICogQHBwc19iZXRhX29mZnNldF9kaXYyOiBzcGVjaWZ5IHRoZSBkZWZhdWx0IGRl YmxvY2tpbmcgcGFyYW1ldGVyIG9mZnNldHMgZm9yCj4+ICsgKgkJCSAgYmV0YSBkaXZpZGVkIGJ5 IDIKPj4gKyAqIEBwcHNfdGNfb2Zmc2V0X2RpdjI6IHNwZWNpZnkgdGhlIGRlZmF1bHQgZGVibG9j a2luZyBwYXJhbWV0ZXIgb2Zmc2V0cyBmb3IgdEMKPj4gKyAqCQkJZGl2aWRlZCBieSAyCj4+ICsg KiBAbG9nMl9wYXJhbGxlbF9tZXJnZV9sZXZlbF9taW51czI6IHBsdXMgMiBzcGVjaWZpZXMgdGhl IHZhbHVlIG9mIHRoZSB2YXJpYWJsZQo+PiArICoJCQkJICAgICAgTG9nMlBhck1yZ0xldmVsCj4+ ICsgKiBAZmxhZ3M6IHNlZSBWNEwyX0hFVkNfUFBTX0ZMQUdfe30KPj4gKyAqLwo+PiAgIHN0cnVj dCB2NGwyX2N0cmxfaGV2Y19wcHMgewo+PiAtCS8qIElTTy9JRUMgMjMwMDgtMiwgSVRVLVQgUmVj LiBILjI2NTogUGljdHVyZSBwYXJhbWV0ZXIgc2V0ICovCj4+ICAgCV9fdTgJcGljX3BhcmFtZXRl cl9zZXRfaWQ7Cj4+ICAgCV9fdTgJbnVtX2V4dHJhX3NsaWNlX2hlYWRlcl9iaXRzOwo+PiAgIAlf X3U4CW51bV9yZWZfaWR4X2wwX2RlZmF1bHRfYWN0aXZlX21pbnVzMTsKPj4gQEAgLTE0OCw2ICsy NDIsMTQgQEAgc3RydWN0IHY0bDJfY3RybF9oZXZjX3BwcyB7Cj4+ICAgCj4+ICAgI2RlZmluZSBW NEwyX0hFVkNfRFBCX0VOVFJJRVNfTlVNX01BWAkJMTYKPj4gICAKPj4gKy8qKgo+PiArICogc3Ry dWN0IHY0bDJfaGV2Y19kcGJfZW50cnkgLSBIRVZDIGRlY29kZWQgcGljdHVyZSBidWZmZXIgZW50 cnkKPj4gKyAqCj4+ICsgKiBAdGltZXN0YW1wOiB0aW1lc3RhbXAgb2YgdGhlIFY0TDIgY2FwdHVy ZSBidWZmZXIgdG8gdXNlIGFzIHJlZmVyZW5jZS4KPj4gKyAqIEBmbGFnczogbG9uZyB0ZXJtIGZs YWcgZm9yIHRoZSByZWZlcmVuY2UgZnJhbWUKPj4gKyAqIEBmaWVsZF9waWM6IHdoZXRoZXIgdGhl IHJlZmVyZW5jZSBpcyBhIGZpZWxkIHBpY3R1cmUgb3IgYSBmcmFtZS4KPj4gKyAqIEBwaWNfb3Jk ZXJfY250X3ZhbDogdGhlIHBpY3R1cmUgb3JkZXIgY291bnQgb2YgdGhlIHJlZmVyZW5jZS4KPj4g KyAqLwo+PiAgIHN0cnVjdCB2NGwyX2hldmNfZHBiX2VudHJ5IHsKPj4gICAJX191NjQJdGltZXN0 YW1wOwo+PiAgIAlfX3U4CWZsYWdzOwo+PiBAQCAtMTU2LDYgKzI1OCwzMSBAQCBzdHJ1Y3QgdjRs Ml9oZXZjX2RwYl9lbnRyeSB7Cj4+ICAgCV9fdTgJcGFkZGluZ1syXTsKPj4gICB9Owo+PiAgIAo+ PiArLyoqCj4+ICsgKiBzdHJ1Y3QgdjRsMl9oZXZjX3ByZWRfd2VpZ2h0X3RhYmxlIC0gSEVWQyB3 ZWlnaHRlZCBwcmVkaWN0aW9uIHBhcmFtZXRlcnMKPj4gKyAqCj4+ICsgKiBAZGVsdGFfbHVtYV93 ZWlnaHRfbDA6IHRoZSBkaWZmZXJlbmNlIG9mIHRoZSB3ZWlnaHRpbmcgZmFjdG9yIGFwcGxpZWQK Pj4gKyAqCQkJICB0byB0aGUgbHVtYSBwcmVkaWN0aW9uIHZhbHVlIGZvciBsaXN0IDAKPj4gKyAq IEBsdW1hX29mZnNldF9sMDogdGhlIGFkZGl0aXZlIG9mZnNldCBhcHBsaWVkIHRvIHRoZSBsdW1h IHByZWRpY3Rpb24gdmFsdWUKPj4gKyAqCQkgICAgZm9yIGxpc3QgMAo+PiArICogQGRlbHRhX2No cm9tYV93ZWlnaHRfbDA6IHRoZSBkaWZmZXJlbmNlIG9mIHRoZSB3ZWlnaHRpbmcgZmFjdG9yIGFw cGxpZWQKPj4gKyAqCQkJICAgIHRvIHRoZSBjaHJvbWEgcHJlZGljdGlvbiB2YWx1ZXMgZm9yIGxp c3QgMAo+PiArICogQGNocm9tYV9vZmZzZXRfbDA6IHRoZSBkaWZmZXJlbmNlIG9mIHRoZSBhZGRp dGl2ZSBvZmZzZXQgYXBwbGllZCB0bwo+PiArICoJCSAgICAgIHRoZSBjaHJvbWEgcHJlZGljdGlv biB2YWx1ZXMgZm9yIGxpc3QgMAo+PiArICogQGRlbHRhX2x1bWFfd2VpZ2h0X2wxOiB0aGUgZGlm ZmVyZW5jZSBvZiB0aGUgd2VpZ2h0aW5nIGZhY3RvciBhcHBsaWVkCj4+ICsgKgkJCSAgdG8gdGhl IGx1bWEgcHJlZGljdGlvbiB2YWx1ZSBmb3IgbGlzdCAxCj4+ICsgKiBAbHVtYV9vZmZzZXRfbDE6 IHRoZSBhZGRpdGl2ZSBvZmZzZXQgYXBwbGllZCB0byB0aGUgbHVtYSBwcmVkaWN0aW9uIHZhbHVl Cj4+ICsgKgkJICAgIGZvciBsaXN0IDEKPj4gKyAqIEBkZWx0YV9jaHJvbWFfd2VpZ2h0X2wxOiB0 aGUgZGlmZmVyZW5jZSBvZiB0aGUgd2VpZ2h0aW5nIGZhY3RvciBhcHBsaWVkCj4+ICsgKgkJCSAg ICB0byB0aGUgY2hyb21hIHByZWRpY3Rpb24gdmFsdWVzIGZvciBsaXN0IDEKPj4gKyAqIEBjaHJv bWFfb2Zmc2V0X2wxOiB0aGUgZGlmZmVyZW5jZSBvZiB0aGUgYWRkaXRpdmUgb2Zmc2V0IGFwcGxp ZWQgdG8KPj4gKyAqCQkgICAgICB0aGUgY2hyb21hIHByZWRpY3Rpb24gdmFsdWVzIGZvciBsaXN0 IDEKPj4gKyAqIEBsdW1hX2xvZzJfd2VpZ2h0X2Rlbm9tOiB0aGUgYmFzZSAyIGxvZ2FyaXRobSBv ZiB0aGUgZGVub21pbmF0b3IgZm9yCj4+ICsgKgkJCSAgICBhbGwgbHVtYSB3ZWlnaHRpbmcgZmFj dG9ycwo+PiArICogQGRlbHRhX2Nocm9tYV9sb2cyX3dlaWdodF9kZW5vbTogdGhlIGRpZmZlcmVu Y2Ugb2YgdGhlIGJhc2UgMiBsb2dhcml0aG0KPj4gKyAqCQkJCSAgICBvZiB0aGUgZGVub21pbmF0 b3IgZm9yIGFsbCBjaHJvbWEKPj4gKyAqCQkJCSAgICB3ZWlnaHRpbmcgZmFjdG9ycwo+PiArICov Cj4+ICAgc3RydWN0IHY0bDJfaGV2Y19wcmVkX3dlaWdodF90YWJsZSB7Cj4+ICAgCV9fczgJZGVs dGFfbHVtYV93ZWlnaHRfbDBbVjRMMl9IRVZDX0RQQl9FTlRSSUVTX05VTV9NQVhdOwo+PiAgIAlf X3M4CWx1bWFfb2Zmc2V0X2wwW1Y0TDJfSEVWQ19EUEJfRU5UUklFU19OVU1fTUFYXTsKPj4gQEAg LTE4NCw2ICszMTEsNTAgQEAgc3RydWN0IHY0bDJfaGV2Y19wcmVkX3dlaWdodF90YWJsZSB7Cj4+ ICAgI2RlZmluZSBWNEwyX0hFVkNfU0xJQ0VfUEFSQU1TX0ZMQUdfU0xJQ0VfTE9PUF9GSUxURVJf QUNST1NTX1NMSUNFU19FTkFCTEVEICgxVUxMIDw8IDgpCj4+ICAgI2RlZmluZSBWNEwyX0hFVkNf U0xJQ0VfUEFSQU1TX0ZMQUdfREVQRU5ERU5UX1NMSUNFX1NFR01FTlQJKDFVTEwgPDwgOSkKPj4g ICAKPj4gKy8qKgo+PiArICogdjRsMl9jdHJsX2hldmNfc2xpY2VfcGFyYW1zIC0gSEVWQyBzbGlj ZSBwYXJhbWV0ZXJzCj4+ICsgKgo+PiArICogQGJpdF9zaXplOiBzaXplIChpbiBiaXRzKSBvZiB0 aGUgY3VycmVudCBzbGljZSBkYXRhCj4+ICsgKiBAZGF0YV9iaXRfb2Zmc2V0OiBvZmZzZXQgKGlu IGJpdHMpIHRvIHRoZSB2aWRlbyBkYXRhIGluIHRoZSBjdXJyZW50IHNsaWNlIGRhdGEKPj4gKyAq IEBuYWxfdW5pdF90eXBlOiBzcGVjaWZpZXMgdGhlIGNvZGluZyB0eXBlIG9mIHRoZSBzbGljZSAo QiwgUCBvciBJKQo+PiArICogQG51aF90ZW1wb3JhbF9pZF9wbHVzMTogbWludXMgMSBzcGVjaWZp ZXMgYSB0ZW1wb3JhbCBpZGVudGlmaWVyIGZvciB0aGUgTkFMIHVuaXQKPj4gKyAqIEBzbGljZV90 eXBlOiBzZWUgVjRMMl9IRVZDX1NMSUNFX1RZUEVfe30KPj4gKyAqIEBjb2xvdXJfcGxhbmVfaWQ6 IHNwZWNpZmllcyB0aGUgY29sb3VyIHBsYW5lIGFzc29jaWF0ZWQgd2l0aCB0aGUgY3VycmVudCBz bGljZQo+PiArICogQHNsaWNlX3BpY19vcmRlcl9jbnQ6IHNwZWNpZmllcyB0aGUgcGljdHVyZSBv cmRlciBjb3VudAo+PiArICogQG51bV9yZWZfaWR4X2wwX2FjdGl2ZV9taW51czE6IHNwZWNpZmll cyB0aGUgbWF4aW11bSByZWZlcmVuY2UgaW5kZXggZm9yCj4+ICsgKgkJCQkgIHJlZmVyZW5jZSBw aWN0dXJlIGxpc3QgMCB0aGF0IG1heSBiZSB1c2VkIHRvIGRlY29kZQo+PiArICoJCQkJICB0aGUg c2xpY2UKPj4gKyAqIEBudW1fcmVmX2lkeF9sMV9hY3RpdmVfbWludXMxOiBzcGVjaWZpZXMgdGhl IG1heGltdW0gcmVmZXJlbmNlIGluZGV4IGZvcgo+PiArICoJCQkJICByZWZlcmVuY2UgcGljdHVy ZSBsaXN0IDEgdGhhdCBtYXkgYmUgdXNlZCB0byBkZWNvZGUKPj4gKyAqCQkJCSAgdGhlIHNsaWNl Cj4+ICsgKiBAY29sbG9jYXRlZF9yZWZfaWR4OiBzcGVjaWZpZXMgdGhlIHJlZmVyZW5jZSBpbmRl eCBvZiB0aGUgY29sbG9jYXRlZCBwaWN0dXJlIHVzZWQKPj4gKyAqCQkJZm9yIHRlbXBvcmFsIG1v dGlvbiB2ZWN0b3IgcHJlZGljdGlvbgo+PiArICogQGZpdmVfbWludXNfbWF4X251bV9tZXJnZV9j YW5kOiBzcGVjaWZpZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIG1lcmdpbmcKPj4gKyAqCQkJCSAg IG1vdGlvbiB2ZWN0b3IgcHJlZGljdGlvbiBjYW5kaWRhdGVzIHN1cHBvcnRlZCBpbgo+PiArICoJ CQkJICAgdGhlIHNsaWNlIHN1YnRyYWN0ZWQgZnJvbSA1Cj4+ICsgKiBAc2xpY2VfcXBfZGVsdGE6 IHNwZWNpZmllcyB0aGUgaW5pdGlhbCB2YWx1ZSBvZiBRcFkgdG8gYmUgdXNlZCBmb3IgdGhlIGNv ZGluZwo+PiArICoJCSAgICBibG9ja3MgaW4gdGhlIHNsaWNlCj4+ICsgKiBAc2xpY2VfY2JfcXBf b2Zmc2V0OiBzcGVjaWZpZXMgYSBkaWZmZXJlbmNlIHRvIGJlIGFkZGVkIHRvIHRoZSB2YWx1ZSBv ZiBwcHNfY2JfcXBfb2Zmc2V0Cj4+ICsgKiBAc2xpY2VfY3JfcXBfb2Zmc2V0OiBzcGVjaWZpZXMg YSBkaWZmZXJlbmNlIHRvIGJlIGFkZGVkIHRvIHRoZSB2YWx1ZSBvZiBwcHNfY3JfcXBfb2Zmc2V0 Cj4+ICsgKiBAc2xpY2VfYWN0X3lfcXBfb2Zmc2V0OiBzY3JlZW4gY29udGVudCBleHRlbnNpb24g cGFyYW1ldGVycwo+PiArICogQHNsaWNlX2FjdF9jYl9xcF9vZmZzZXQ6IHNjcmVlbiBjb250ZW50 IGV4dGVuc2lvbiBwYXJhbWV0ZXJzCj4+ICsgKiBAc2xpY2VfYWN0X2NyX3FwX29mZnNldDogc2Ny ZWVuIGNvbnRlbnQgZXh0ZW5zaW9uIHBhcmFtZXRlcnMKPj4gKyAqIEBzbGljZV9iZXRhX29mZnNl dF9kaXYyOiBzcGVjaWZ5IHRoZSBkZWJsb2NraW5nIHBhcmFtZXRlciBvZmZzZXRzIGZvciBiZXRh IGRpdmlkZWQgYnkgMgo+PiArICogQHNsaWNlX3RjX29mZnNldF9kaXYyOiBzcGVjaWZ5IHRoZSBk ZWJsb2NraW5nIHBhcmFtZXRlciBvZmZzZXRzIGZvciB0QyBkaXZpZGVkIGJ5IDIKPj4gKyAqIEBw aWNfc3RydWN0OiBpbmRpY2F0ZXMgd2hldGhlciBhIHBpY3R1cmUgc2hvdWxkIGJlIGRpc3BsYXll ZCBhcyBhIGZyYW1lIG9yIGFzIG9uZSBvcgo+PiArICoJCW1vcmUgZmllbGRzCj4+ICsgKiBAc2xp Y2Vfc2VnbWVudF9hZGRyOiBzcGVjaWZpZXMgdGhlIGFkZHJlc3Mgb2YgdGhlIGZpcnN0IGNvZGlu ZyB0cmVlIGJsb2NrIGluCj4+ICsgKgkJCXRoZSBzbGljZSBzZWdtZW50Cj4+ICsgKiBAcmVmX2lk eF9sMDogdGhlIGxpc3Qgb2YgTDAgcmVmZXJlbmNlIGVsZW1lbnRzIGFzIGluZGljZXMgaW4gdGhl IERQQgo+PiArICogQHJlZl9pZHhfbDE6IHRoZSBsaXN0IG9mIEwxIHJlZmVyZW5jZSBlbGVtZW50 cyBhcyBpbmRpY2VzIGluIHRoZSBEUEIKPj4gKyAqIEBzaG9ydF90ZXJtX3JlZl9waWNfc2V0X3Np emU6IHNwZWNpZmllcyB0aGUgc2l6ZSBvZiBzaG9ydC10ZXJtIHJlZmVyZW5jZQo+PiArICoJCQkJ IHBpY3R1cmVzIGluY2x1ZGVkIGluIHRoZSBTUFMKPj4gKyAqIEBsb25nX3Rlcm1fcmVmX3BpY19z ZXRfc2l6ZTogc3BlY2lmaWVzIHRoZSBzaXplIG9mIGxvbmctdGVybSByZWZlcmVuY2UKPj4gKyAq CQkJCXBpY3R1cmUgaW5jbHVkZSBpbiB0aGUgU1BTCj4+ICsgKiBAcHJlZF93ZWlnaHRfdGFibGU6 IHRoZSBwcmVkaWN0aW9uIHdlaWdodCBjb2VmZmljaWVudHMgZm9yIGludGVyLXBpY3R1cmUKPj4g KyAqCQkgICAgICAgcHJlZGljdGlvbgo+PiArICogQGZsYWdzOiBzZWUgVjRMMl9IRVZDX1NMSUNF X1BBUkFNU19GTEFHX3t9Cj4+ICsgKi8KPj4gICBzdHJ1Y3QgdjRsMl9jdHJsX2hldmNfc2xpY2Vf cGFyYW1zIHsKPj4gICAJX191MzIJYml0X3NpemU7Cj4+ICAgCV9fdTMyCWRhdGFfYml0X29mZnNl dDsKPj4gQEAgLTIzMCw2ICs0MDEsMjggQEAgc3RydWN0IHY0bDJfY3RybF9oZXZjX3NsaWNlX3Bh cmFtcyB7Cj4+ICAgI2RlZmluZSBWNEwyX0hFVkNfREVDT0RFX1BBUkFNX0ZMQUdfSURSX1BJQwkJ MHgyCj4+ICAgI2RlZmluZSBWNEwyX0hFVkNfREVDT0RFX1BBUkFNX0ZMQUdfTk9fT1VUUFVUX09G X1BSSU9SICAweDQKPj4gICAKPj4gKy8qKgo+PiArICogc3RydWN0IHY0bDJfY3RybF9oZXZjX2Rl Y29kZV9wYXJhbXMgLSBIRVZDIGRlY29kZSBwYXJhbWV0ZXJzCj4+ICsgKgo+PiArICogQHBpY19v cmRlcl9jbnRfdmFsOiBwaWN0dXJlIG9yZGVyIGNvdW50Cj4+ICsgKiBAc2hvcnRfdGVybV9yZWZf cGljX3NldF9zaXplOiBzcGVjaWZpZXMgdGhlIHNpemUgb2Ygc2hvcnQtdGVybSByZWZlcmVuY2UK Pj4gKyAqCQkJCSBwaWN0dXJlcyBzZXQgaW5jbHVkZWQgaW4gdGhlIFNQUyBvZiB0aGUgZmlyc3Qg c2xpY2UKPj4gKyAqIEBsb25nX3Rlcm1fcmVmX3BpY19zZXRfc2l6ZTogc3BlY2lmaWVzIHRoZSBz aXplIG9mIGxvbmctdGVybSByZWZlcmVuY2UKPj4gKyAqCQkJCXBpY3R1cmVzIHNldCBpbmNsdWRl IGluIHRoZSBTUFMgb2YgdGhlIGZpcnN0IHNsaWNlCj4+ICsgKiBAbnVtX2FjdGl2ZV9kcGJfZW50 cmllczogdGhlIG51bWJlciBvZiBlbnRyaWVzIGluIGRwYgo+PiArICogQGRwYjogdGhlIGRlY29k ZWQgcGljdHVyZSBidWZmZXIsIGZvciBtZXRhLWRhdGEgYWJvdXQgcmVmZXJlbmNlIGZyYW1lcwo+ PiArICogQG51bV9wb2Nfc3RfY3Vycl9iZWZvcmU6IHRoZSBudW1iZXIgb2YgcmVmZXJlbmNlIHBp Y3R1cmVzIGluIHRoZSBzaG9ydC10ZXJtCj4+ICsgKgkJCSAgICBzZXQgdGhhdCBjb21lIGJlZm9y ZSB0aGUgY3VycmVudCBmcmFtZQo+PiArICogQG51bV9wb2Nfc3RfY3Vycl9hZnRlcjogdGhlIG51 bWJlciBvZiByZWZlcmVuY2UgcGljdHVyZXMgaW4gdGhlIHNob3J0LXRlcm0KPj4gKyAqCQkJICAg c2V0IHRoYXQgY29tZSBhZnRlciB0aGUgY3VycmVudCBmcmFtZQo+PiArICogQG51bV9wb2NfbHRf Y3VycjogdGhlIG51bWJlciBvZiByZWZlcmVuY2UgcGljdHVyZXMgaW4gdGhlIGxvbmctdGVybSBz ZXQKPj4gKyAqIEBwb2Nfc3RfY3Vycl9iZWZvcmU6IHByb3ZpZGVzIHRoZSBpbmRleCBvZiB0aGUg c2hvcnQgdGVybSBiZWZvcmUgcmVmZXJlbmNlcwo+PiArICoJCQlpbiBEUEIgYXJyYXkKPj4gKyAq IEBwb2Nfc3RfY3Vycl9hZnRlcjogcHJvdmlkZXMgdGhlIGluZGV4IG9mIHRoZSBzaG9ydCB0ZXJt IGFmdGVyIHJlZmVyZW5jZXMKPj4gKyAqCQkgICAgICAgaW4gRFBCIGFycmF5Cj4+ICsgKiBAcG9j X2x0X2N1cnI6IHByb3ZpZGVzIHRoZSBpbmRleCBvZiB0aGUgbG9uZyB0ZXJtIHJlZmVyZW5jZXMg aW4gRFBCIGFycmF5Cj4+ICsgKiBAZmxhZ3M6IHNlZSBWNEwyX0hFVkNfREVDT0RFX1BBUkFNX0ZM QUdfe30KPj4gKyAqLwo+PiAgIHN0cnVjdCB2NGwyX2N0cmxfaGV2Y19kZWNvZGVfcGFyYW1zIHsK Pj4gICAJX19zMzIJcGljX29yZGVyX2NudF92YWw7Cj4+ICAgCV9fdTE2CXNob3J0X3Rlcm1fcmVm X3BpY19zZXRfc2l6ZTsKPj4gQEAgLTI0NSw2ICs0MzgsMjggQEAgc3RydWN0IHY0bDJfY3RybF9o ZXZjX2RlY29kZV9wYXJhbXMgewo+PiAgIAlfX3U2NAlmbGFnczsKPj4gICB9Owo+PiAgIAo+PiAr LyoqCj4+ICsgKiBzdHJ1Y3QgdjRsMl9jdHJsX2hldmNfc2NhbGluZ19tYXRyaXggLSBIRVZDIHNj YWxpbmcgbGlzdHMgcGFyYW1ldGVycwo+PiArICoKPj4gKyAqIEBzY2FsaW5nX2xpc3RfNHg0OiBz Y2FsaW5nIGxpc3QgaXMgdXNlZCBmb3IgdGhlIHNjYWxpbmcgcHJvY2VzcyBmb3IKPj4gKyAqCQkg ICAgICB0cmFuc2Zvcm0gY29lZmZpY2llbnRzLiBUaGUgdmFsdWVzIG9uIGVhY2ggc2NhbGluZwo+ PiArICoJCSAgICAgIGxpc3QgYXJlIGV4cGVjdGVkIGluIHJhc3RlciBzY2FuIG9yZGVyCj4+ICsg KiBAc2NhbGluZ19saXN0Xzh4ODogc2NhbGluZyBsaXN0IGlzIHVzZWQgZm9yIHRoZSBzY2FsaW5n IHByb2Nlc3MgZm9yCj4+ICsgKgkJICAgICAgdHJhbnNmb3JtIGNvZWZmaWNpZW50cy4gVGhlIHZh bHVlcyBvbiBlYWNoIHNjYWxpbmcKPj4gKyAqCQkgICAgICBsaXN0IGFyZSBleHBlY3RlZCBpbiBy YXN0ZXIgc2NhbiBvcmRlcgo+PiArICogQHNjYWxpbmdfbGlzdF8xNngxNjogc2NhbGluZyBsaXN0 IGlzIHVzZWQgZm9yIHRoZSBzY2FsaW5nIHByb2Nlc3MgZm9yCj4+ICsgKgkJCXRyYW5zZm9ybSBj b2VmZmljaWVudHMuIFRoZSB2YWx1ZXMgb24gZWFjaCBzY2FsaW5nCj4+ICsgKgkJCWxpc3QgYXJl IGV4cGVjdGVkIGluIHJhc3RlciBzY2FuIG9yZGVyCj4+ICsgKiBAc2NhbGluZ19saXN0XzMyeDMy OglzY2FsaW5nIGxpc3QgaXMgdXNlZCBmb3IgdGhlIHNjYWxpbmcgcHJvY2VzcyBmb3IKPj4gKyAq CQkJdHJhbnNmb3JtIGNvZWZmaWNpZW50cy4gVGhlIHZhbHVlcyBvbiBlYWNoIHNjYWxpbmcKPj4g KyAqCQkJbGlzdCBhcmUgZXhwZWN0ZWQgaW4gcmFzdGVyIHNjYW4gb3JkZXIKPj4gKyAqIEBzY2Fs aW5nX2xpc3RfZGNfY29lZl8xNngxNjogc2NhbGluZyBsaXN0IGlzIHVzZWQgZm9yIHRoZSBzY2Fs aW5nIHByb2Nlc3MKPj4gKyAqCQkJCWZvciB0cmFuc2Zvcm0gY29lZmZpY2llbnRzLiBUaGUgdmFs dWVzIG9uIGVhY2gKPj4gKyAqCQkJCXNjYWxpbmcgbGlzdCBhcmUgZXhwZWN0ZWQgaW4gcmFzdGVy IHNjYW4gb3JkZXIuCj4+ICsgKiBAc2NhbGluZ19saXN0X2RjX2NvZWZfMzJ4MzI6CXNjYWxpbmcg bGlzdCBpcyB1c2VkIGZvciB0aGUgc2NhbGluZyBwcm9jZXNzCj4+ICsgKgkJCQlmb3IgdHJhbnNm b3JtIGNvZWZmaWNpZW50cy4gVGhlIHZhbHVlcyBvbiBlYWNoCj4+ICsgKgkJCQlzY2FsaW5nIGxp c3QgYXJlIGV4cGVjdGVkIGluIHJhc3RlciBzY2FuIG9yZGVyLgo+PiArICovCj4+ICAgc3RydWN0 IHY0bDJfY3RybF9oZXZjX3NjYWxpbmdfbWF0cml4IHsKPj4gICAJX191OAlzY2FsaW5nX2xpc3Rf NHg0WzZdWzE2XTsKPj4gICAJX191OAlzY2FsaW5nX2xpc3RfOHg4WzZdWzY0XTsKPiBSZWdhcmRz LAo+Cj4gCUhhbnMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMu aW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2xpbnV4LWFybS1rZXJuZWwK