From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id C57FA4A9E2 for ; Thu, 6 Jun 2024 12:30:56 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A366568D6B9; Thu, 6 Jun 2024 15:30:54 +0300 (EEST) Received: from vidala.lynne.ee (vidala.pars.ee [116.203.72.101]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 61A6068D546 for ; Thu, 6 Jun 2024 15:30:48 +0300 (EEST) Message-ID: <2d3a8bbc-f952-43a7-83e8-a94425e959c0@lynne.ee> Date: Thu, 6 Jun 2024 14:30:46 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: FFmpeg development discussions and patches References: <20240603091909.1161-1-tong1.wu@intel.com> <20240603091909.1161-15-tong1.wu@intel.com> <93b04aac-a877-4a5f-9e1e-908d88c5141d@lynne.ee> Content-Language: en-US Autocrypt: addr=dev@lynne.ee; keydata= xjMEXnFG3BYJKwYBBAHaRw8BAQdA3FyJpqEdfQj4GA7OUWVrNheT9dUsIs+yUx6Hljr9mYvN FEx5bm5lIDxkZXZAbHlubmUuZWU+wpAEExYIADgWIQT+UBOcaAVyyv1SH42i/qXwPwNEZAUC XnFG3AIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRCi/qXwPwNEZOTWAQCSNEA+kZLI NZ2dsR5Qg988c0HXpOXThZEjg+h1TL7KGgEA3Gff0c28efI02S6iMxazrpdWGHqHk7JN7pCj nt397wzOOARecUbcEgorBgEEAZdVAQUBAQdAjDdFQ5H+AJ9vwXrOb7val460g45EsheIaL5S 7/zSaX8DAQgHwngEGBYIACAWIQT+UBOcaAVyyv1SH42i/qXwPwNEZAUCXnFG3AIbDAAKCRCi /qXwPwNEZKaxAQCHLV4gAk/B9JvRG27MYm22X3+5QRCLBtEILP29aDh+MQD/V8JFHATDXRY3 0LsmqR3sPQ0BJ1UFVZA5BUoIJPJZWwg= In-Reply-To: Subject: Re: [FFmpeg-devel] [PATCH v13 15/15] avcodec/hw_base_encode: avoid getting FFHWBaseEncodeContext from avctx X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Lynne via ffmpeg-devel Reply-To: FFmpeg development discussions and patches Cc: Lynne Content-Type: multipart/mixed; boundary="===============8760663395739545590==" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --===============8760663395739545590== Content-Language: en-US Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------9DgEt1i4lFnPooP0TWkMHyVu" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------9DgEt1i4lFnPooP0TWkMHyVu Content-Type: multipart/mixed; boundary="------------tGCGGGkO67FeRlPd9s2lNzmz"; protected-headers="v1" From: Lynne To: FFmpeg development discussions and patches Message-ID: <2d3a8bbc-f952-43a7-83e8-a94425e959c0@lynne.ee> Subject: Re: [FFmpeg-devel] [PATCH v13 15/15] avcodec/hw_base_encode: avoid getting FFHWBaseEncodeContext from avctx References: <20240603091909.1161-1-tong1.wu@intel.com> <20240603091909.1161-15-tong1.wu@intel.com> <93b04aac-a877-4a5f-9e1e-908d88c5141d@lynne.ee> In-Reply-To: --------------tGCGGGkO67FeRlPd9s2lNzmz Content-Type: multipart/mixed; boundary="------------BdPNOr2NuuKOjUXKexM8QDy6" --------------BdPNOr2NuuKOjUXKexM8QDy6 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 T24gMDYvMDYvMjAyNCAwODo0NiwgV3UsIFRvbmcxIHdyb3RlOg0KPj4gRnJvbTogZmZtcGVn LWRldmVsIDxmZm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBPbiBCZWhhbGYgT2Yg THlubmUNCj4+IHZpYSBmZm1wZWctZGV2ZWwNCj4+IFNlbnQ6IFRodXJzZGF5LCBKdW5lIDYs IDIwMjQgMjoxMSBQTQ0KPj4gVG86IGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnDQo+PiBDYzog THlubmUgPGRldkBseW5uZS5lZT4NCj4+IFN1YmplY3Q6IFJlOiBbRkZtcGVnLWRldmVsXSBb UEFUQ0ggdjEzIDE1LzE1XSBhdmNvZGVjL2h3X2Jhc2VfZW5jb2RlOg0KPj4gYXZvaWQgZ2V0 dGluZyBGRkhXQmFzZUVuY29kZUNvbnRleHQgZnJvbSBhdmN0eA0KPj4NCj4+IE9uIDAzLzA2 LzIwMjQgMTE6MTksIHRvbmcxLnd1LWF0LWludGVsLmNvbUBmZm1wZWcub3JnIHdyb3RlOg0K Pj4+IEZyb206IFRvbmcgV3UgPHRvbmcxLnd1QGludGVsLmNvbT4NCj4+Pg0KPj4+IFRoaXMg cGF0Y2ggaXMgdG8gbWFrZSBGRkhXQmFzZUVuY29kZUNvbnRleHQgYSBzdGFuZGFsb25lIGNv bXBvbmVudA0KPj4+IGFuZCBhdm9pZCBnZXR0aW5nIEZGSFdCYXNlRW5jb2RlQ29udGV4dCBm cm9tIGF2Y3R4LT5wcml2X2RhdGEuDQo+Pj4gVGhpcyBwYXRjaCBhbHNvIHJlbW92ZXMgc29t ZSB1bm5lY2Vzc2FyeSBBVkNvZGVjQ29udGV4dCBhcmd1bWVudHMuDQo+Pj4NCj4+PiBGb3Ig cmVjZWl2ZV9wYWNrZXQgY2FsbCwgYSBzbWFsbCB3cmFwcGVyIGlzIGludHJvZHVjZWQuDQo+ Pj4NCj4+PiBTaWduZWQtb2ZmLWJ5OiBUb25nIFd1IDx0b25nMS53dUBpbnRlbC5jb20+DQo+ Pj4gLS0tDQo+Pj4gICAgbGliYXZjb2RlYy9kM2QxMnZhX2VuY29kZS5jICAgICAgfCAxNyAr KysrKy0tLQ0KPj4+ICAgIGxpYmF2Y29kZWMvZDNkMTJ2YV9lbmNvZGUuaCAgICAgIHwgIDIg Kw0KPj4+ICAgIGxpYmF2Y29kZWMvZDNkMTJ2YV9lbmNvZGVfaGV2Yy5jIHwgIDIgKy0NCj4+ PiAgICBsaWJhdmNvZGVjL2h3X2Jhc2VfZW5jb2RlLmMgICAgICB8IDcxICsrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tLS0tDQo+Pj4gICAgbGliYXZjb2RlYy9od19iYXNlX2VuY29k ZS5oICAgICAgfCAxNyArKysrLS0tLQ0KPj4+ICAgIGxpYmF2Y29kZWMvdmFhcGlfZW5jb2Rl LmMgICAgICAgIHwgMTYgKysrKy0tLQ0KPj4+ICAgIGxpYmF2Y29kZWMvdmFhcGlfZW5jb2Rl LmggICAgICAgIHwgIDIgKw0KPj4+ICAgIGxpYmF2Y29kZWMvdmFhcGlfZW5jb2RlX2F2MS5j ICAgIHwgIDIgKy0NCj4+PiAgICBsaWJhdmNvZGVjL3ZhYXBpX2VuY29kZV9oMjY0LmMgICB8 ICAyICstDQo+Pj4gICAgbGliYXZjb2RlYy92YWFwaV9lbmNvZGVfaDI2NS5jICAgfCAgMiAr LQ0KPj4+ICAgIGxpYmF2Y29kZWMvdmFhcGlfZW5jb2RlX21qcGVnLmMgIHwgIDIgKy0NCj4+ PiAgICBsaWJhdmNvZGVjL3ZhYXBpX2VuY29kZV9tcGVnMi5jICB8ICAyICstDQo+Pj4gICAg bGliYXZjb2RlYy92YWFwaV9lbmNvZGVfdnA4LmMgICAgfCAgMiArLQ0KPj4+ICAgIGxpYmF2 Y29kZWMvdmFhcGlfZW5jb2RlX3ZwOS5jICAgIHwgIDIgKy0NCj4+PiAgICAxNCBmaWxlcyBj aGFuZ2VkLCA3NiBpbnNlcnRpb25zKCspLCA2NSBkZWxldGlvbnMoLSkNCj4+Pg0KPj4+IGRp ZmYgLS1naXQgYS9saWJhdmNvZGVjL2QzZDEydmFfZW5jb2RlLmMgYi9saWJhdmNvZGVjL2Qz ZDEydmFfZW5jb2RlLmMNCj4+PiBpbmRleCAwZmJmOGViMDdjLi45ZjdhNDI5MTFlIDEwMDY0 NA0KPj4+IC0tLSBhL2xpYmF2Y29kZWMvZDNkMTJ2YV9lbmNvZGUuYw0KPj4+ICsrKyBiL2xp YmF2Y29kZWMvZDNkMTJ2YV9lbmNvZGUuYw0KPj4+IEBAIC02NzYsNiArNjc2LDcgQEAgZW5k Og0KPj4+ICAgIHN0YXRpYyBpbnQgZDNkMTJ2YV9lbmNvZGVfb3V0cHV0KEFWQ29kZWNDb250 ZXh0ICphdmN0eCwNCj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCBGRkhXQmFzZUVuY29kZVBpY3R1cmUgKmJhc2VfcGljLCBBVlBhY2tldCAqcGt0KQ0K Pj4+ICAgIHsNCj4+PiArICAgIEZGSFdCYXNlRW5jb2RlQ29udGV4dCAqYmFzZV9jdHggPSBh dmN0eC0+cHJpdl9kYXRhOw0KPj4+ICAgICAgICBEM0QxMlZBRW5jb2RlUGljdHVyZSAqcGlj ID0gKEQzRDEyVkFFbmNvZGVQaWN0dXJlICopYmFzZV9waWM7DQo+Pj4gICAgICAgIEFWUGFj a2V0ICpwa3RfcHRyID0gcGt0Ow0KPj4+ICAgICAgICBpbnQgZXJyOw0KPj4+IEBAIC02OTEs NyArNjkyLDggQEAgc3RhdGljIGludCBkM2QxMnZhX2VuY29kZV9vdXRwdXQoQVZDb2RlY0Nv bnRleHQNCj4+ICphdmN0eCwNCj4+PiAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfREVC VUcsICJPdXRwdXQgcmVhZCBmb3INCj4+IHBpYyAlIlBSSWQ2NCIvJSJQUklkNjQiLlxuIiwN Cj4+PiAgICAgICAgICAgICAgIGJhc2VfcGljLT5kaXNwbGF5X29yZGVyLCBiYXNlX3BpYy0+ ZW5jb2RlX29yZGVyKTsNCj4+Pg0KPj4+IC0gICAgZmZfaHdfYmFzZV9lbmNvZGVfc2V0X291 dHB1dF9wcm9wZXJ0eShhdmN0eCwNCj4+IChGRkhXQmFzZUVuY29kZVBpY3R1cmUgKiliYXNl X3BpYywgcGt0X3B0ciwgMCk7DQo+Pj4gKyAgICBmZl9od19iYXNlX2VuY29kZV9zZXRfb3V0 cHV0X3Byb3BlcnR5KGJhc2VfY3R4LCBhdmN0eCwNCj4+IChGRkhXQmFzZUVuY29kZVBpY3R1 cmUgKiliYXNlX3BpYywNCj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcGt0X3B0ciwgMCk7DQo+Pj4NCj4+PiAgICAgICAgcmV0dXJuIDA7DQo+Pj4g ICAgfQ0KPj4+IEBAIC0xMTE5LDcgKzExMjEsNyBAQCBzdGF0aWMgaW50DQo+PiBkM2QxMnZh X2VuY29kZV9pbml0X2dvcF9zdHJ1Y3R1cmUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQ0KPj4+ ICAgICAgICAgICAgICAgICAgICJyZXBsYWNpbmcgdGhlbSB3aXRoIEItZnJhbWVzLlxuIik7 DQo+Pj4gICAgICAgIH0NCj4+Pg0KPj4+IC0gICAgZXJyID0gZmZfaHdfYmFzZV9pbml0X2dv cF9zdHJ1Y3R1cmUoYXZjdHgsIHJlZl9sMCwgcmVmX2wxLCBjdHgtPmNvZGVjLQ0KPj4+IGZs YWdzLCAwKTsNCj4+PiArICAgIGVyciA9IGZmX2h3X2Jhc2VfaW5pdF9nb3Bfc3RydWN0dXJl KGJhc2VfY3R4LCBhdmN0eCwgcmVmX2wwLCByZWZfbDEsIGN0eC0NCj4+PiBjb2RlYy0+Zmxh Z3MsIDApOw0KPj4+ICAgICAgICBpZiAoZXJyIDwgMCkNCj4+PiAgICAgICAgICAgIHJldHVy biBlcnI7DQo+Pj4NCj4+PiBAQCAtMTM1MSw3ICsxMzUzLDcgQEAgc3RhdGljIGludA0KPj4g ZDNkMTJ2YV9lbmNvZGVfY3JlYXRlX3JlY29uX2ZyYW1lcyhBVkNvZGVjQ29udGV4dCAqYXZj dHgpDQo+Pj4gICAgICAgIGVudW0gQVZQaXhlbEZvcm1hdCByZWNvbl9mb3JtYXQ7DQo+Pj4g ICAgICAgIGludCBlcnI7DQo+Pj4NCj4+PiAtICAgIGVyciA9IGZmX2h3X2Jhc2VfZ2V0X3Jl Y29uX2Zvcm1hdChhdmN0eCwgTlVMTCwgJnJlY29uX2Zvcm1hdCk7DQo+Pj4gKyAgICBlcnIg PSBmZl9od19iYXNlX2dldF9yZWNvbl9mb3JtYXQoYmFzZV9jdHgsIE5VTEwsICZyZWNvbl9m b3JtYXQpOw0KPj4+ICAgICAgICBpZiAoZXJyIDwgMCkNCj4+PiAgICAgICAgICAgIHJldHVy biBlcnI7DQo+Pj4NCj4+PiBAQCAtMTM5MCw2ICsxMzkyLDExIEBAIHN0YXRpYyBjb25zdCBG RkhXRW5jb2RlUGljdHVyZU9wZXJhdGlvbg0KPj4gZDNkMTJ2YV90eXBlID0gew0KPj4+ICAg ICAgICAuZnJlZSAgID0gJmQzZDEydmFfZW5jb2RlX2ZyZWUsDQo+Pj4gICAgfTsNCj4+Pg0K Pj4+ICtpbnQgZmZfZDNkMTJ2YV9lbmNvZGVfcmVjZWl2ZV9wYWNrZXQoQVZDb2RlY0NvbnRl eHQgKmF2Y3R4LCBBVlBhY2tldA0KPj4gKnBrdCkNCj4+PiArew0KPj4+ICsgICAgcmV0dXJu IGZmX2h3X2Jhc2VfZW5jb2RlX3JlY2VpdmVfcGFja2V0KGF2Y3R4LT5wcml2X2RhdGEsIGF2 Y3R4LCBwa3QpOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICAgIGludCBmZl9kM2QxMnZhX2VuY29k ZV9pbml0KEFWQ29kZWNDb250ZXh0ICphdmN0eCkNCj4+PiAgICB7DQo+Pj4gICAgICAgIEZG SFdCYXNlRW5jb2RlQ29udGV4dCAqYmFzZV9jdHggPSBhdmN0eC0+cHJpdl9kYXRhOw0KPj4+ IEBAIC0xMzk4LDcgKzE0MDUsNyBAQCBpbnQgZmZfZDNkMTJ2YV9lbmNvZGVfaW5pdChBVkNv ZGVjQ29udGV4dA0KPj4gKmF2Y3R4KQ0KPj4+ICAgICAgICBpbnQgZXJyOw0KPj4+ICAgICAg ICBIUkVTVUxUIGhyOw0KPj4+DQo+Pj4gLSAgICBlcnIgPSBmZl9od19iYXNlX2VuY29kZV9p bml0KGF2Y3R4KTsNCj4+PiArICAgIGVyciA9IGZmX2h3X2Jhc2VfZW5jb2RlX2luaXQoYXZj dHgsIGJhc2VfY3R4KTsNCj4+PiAgICAgICAgaWYgKGVyciA8IDApDQo+Pj4gICAgICAgICAg ICBnb3RvIGZhaWw7DQo+Pj4NCj4+PiBAQCAtMTU1Miw3ICsxNTU5LDcgQEAgaW50IGZmX2Qz ZDEydmFfZW5jb2RlX2Nsb3NlKEFWQ29kZWNDb250ZXh0DQo+PiAqYXZjdHgpDQo+Pj4gICAg ICAgIEQzRDEyX09CSkVDVF9SRUxFQVNFKGN0eC0+dmlkZW9fZGV2aWNlMyk7DQo+Pj4gICAg ICAgIEQzRDEyX09CSkVDVF9SRUxFQVNFKGN0eC0+ZGV2aWNlMyk7DQo+Pj4NCj4+PiAtICAg IGZmX2h3X2Jhc2VfZW5jb2RlX2Nsb3NlKGF2Y3R4KTsNCj4+PiArICAgIGZmX2h3X2Jhc2Vf ZW5jb2RlX2Nsb3NlKGJhc2VfY3R4KTsNCj4+Pg0KPj4+ICAgICAgICByZXR1cm4gMDsNCj4+ PiAgICB9DQo+Pj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvZDNkMTJ2YV9lbmNvZGUuaCBi L2xpYmF2Y29kZWMvZDNkMTJ2YV9lbmNvZGUuaA0KPj4+IGluZGV4IGYzNTUyNjFmNjYuLjFh MGFiYzViZDAgMTAwNjQ0DQo+Pj4gLS0tIGEvbGliYXZjb2RlYy9kM2QxMnZhX2VuY29kZS5o DQo+Pj4gKysrIGIvbGliYXZjb2RlYy9kM2QxMnZhX2VuY29kZS5oDQo+Pj4gQEAgLTMxMyw2 ICszMTMsOCBAQCB0eXBlZGVmIHN0cnVjdCBEM0QxMlZBRW5jb2RlVHlwZSB7DQo+Pj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqZGF0YSwgc2l6ZV90ICpk YXRhX2xlbik7DQo+Pj4gICAgfSBEM0QxMlZBRW5jb2RlVHlwZTsNCj4+Pg0KPj4+ICtpbnQg ZmZfZDNkMTJ2YV9lbmNvZGVfcmVjZWl2ZV9wYWNrZXQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4 LCBBVlBhY2tldA0KPj4gKnBrdCk7DQo+Pj4gKw0KPj4+ICAgIGludCBmZl9kM2QxMnZhX2Vu Y29kZV9pbml0KEFWQ29kZWNDb250ZXh0ICphdmN0eCk7DQo+Pj4gICAgaW50IGZmX2QzZDEy dmFfZW5jb2RlX2Nsb3NlKEFWQ29kZWNDb250ZXh0ICphdmN0eCk7DQo+Pj4NCj4+PiBkaWZm IC0tZ2l0IGEvbGliYXZjb2RlYy9kM2QxMnZhX2VuY29kZV9oZXZjLmMNCj4+IGIvbGliYXZj b2RlYy9kM2QxMnZhX2VuY29kZV9oZXZjLmMNCj4+PiBpbmRleCAyNDgyM2IzYzU2Li40YTEy ZGRkMGRjIDEwMDY0NA0KPj4+IC0tLSBhL2xpYmF2Y29kZWMvZDNkMTJ2YV9lbmNvZGVfaGV2 Yy5jDQo+Pj4gKysrIGIvbGliYXZjb2RlYy9kM2QxMnZhX2VuY29kZV9oZXZjLmMNCj4+PiBA QCAtOTkwLDcgKzk5MCw3IEBAIGNvbnN0IEZGQ29kZWMgZmZfaGV2Y19kM2QxMnZhX2VuY29k ZXIgPSB7DQo+Pj4gICAgICAgIC5wLmlkICAgICAgICAgICA9IEFWX0NPREVDX0lEX0hFVkMs DQo+Pj4gICAgICAgIC5wcml2X2RhdGFfc2l6ZSA9IHNpemVvZihEM0QxMlZBRW5jb2RlSEVW Q0NvbnRleHQpLA0KPj4+ICAgICAgICAuaW5pdCAgICAgICAgICAgPSAmZDNkMTJ2YV9lbmNv ZGVfaGV2Y19pbml0LA0KPj4+IC0gICAgRkZfQ09ERUNfUkVDRUlWRV9QQUNLRVRfQ0IoJmZm X2h3X2Jhc2VfZW5jb2RlX3JlY2VpdmVfcGFja2V0KSwNCj4+PiArICAgIEZGX0NPREVDX1JF Q0VJVkVfUEFDS0VUX0NCKCZmZl9kM2QxMnZhX2VuY29kZV9yZWNlaXZlX3BhY2tldCksDQo+ Pj4gICAgICAgIC5jbG9zZSAgICAgICAgICA9ICZkM2QxMnZhX2VuY29kZV9oZXZjX2Nsb3Nl LA0KPj4+ICAgICAgICAucC5wcml2X2NsYXNzICAgPSAmZDNkMTJ2YV9lbmNvZGVfaGV2Y19j bGFzcywNCj4+PiAgICAgICAgLnAuY2FwYWJpbGl0aWVzID0gQVZfQ09ERUNfQ0FQX0RFTEFZ IHwgQVZfQ09ERUNfQ0FQX0hBUkRXQVJFIHwNCj4+PiBkaWZmIC0tZ2l0IGEvbGliYXZjb2Rl Yy9od19iYXNlX2VuY29kZS5jIGIvbGliYXZjb2RlYy9od19iYXNlX2VuY29kZS5jDQo+Pj4g aW5kZXggOTJmNjliYjc4Yy4uZWNiNGJlNmFhNCAxMDA2NDQNCj4+PiAtLS0gYS9saWJhdmNv ZGVjL2h3X2Jhc2VfZW5jb2RlLmMNCj4+PiArKysgYi9saWJhdmNvZGVjL2h3X2Jhc2VfZW5j b2RlLmMNCj4+PiBAQCAtOTQsMTQgKzk0LDEzIEBAIHN0YXRpYyB2b2lkDQo+PiBod19iYXNl X2VuY29kZV9yZW1vdmVfcmVmcyhGRkhXQmFzZUVuY29kZVBpY3R1cmUgKnBpYywgaW50IGxl dmVsKQ0KPj4+ICAgICAgICBwaWMtPnJlZl9yZW1vdmVkW2xldmVsXSA9IDE7DQo+Pj4gICAg fQ0KPj4+DQo+Pj4gLXN0YXRpYyB2b2lkIGh3X2Jhc2VfZW5jb2RlX3NldF9iX3BpY3R1cmVz KEFWQ29kZWNDb250ZXh0ICphdmN0eCwNCj4+PiArc3RhdGljIHZvaWQgaHdfYmFzZV9lbmNv ZGVfc2V0X2JfcGljdHVyZXMoRkZIV0Jhc2VFbmNvZGVDb250ZXh0ICpjdHgsDQo+Pj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkZIV0Jhc2VFbmNv ZGVQaWN0dXJlICpzdGFydCwNCj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBGRkhXQmFzZUVuY29kZVBpY3R1cmUgKmVuZCwNCj4+PiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGRkhXQmFzZUVuY29kZVBp Y3R1cmUgKnByZXYsDQo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaW50IGN1cnJlbnRfZGVwdGgsDQo+Pj4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRkZIV0Jhc2VFbmNvZGVQaWN0dXJlICoqbGFzdCkN Cj4+PiAgICB7DQo+Pj4gLSAgICBGRkhXQmFzZUVuY29kZUNvbnRleHQgKmN0eCA9IGF2Y3R4 LT5wcml2X2RhdGE7DQo+Pj4gICAgICAgIEZGSFdCYXNlRW5jb2RlUGljdHVyZSAqcGljLCAq bmV4dCwgKnJlZjsNCj4+PiAgICAgICAgaW50IGksIGxlbjsNCj4+Pg0KPj4+IEBAIC0xNDgs MjAgKzE0NywxOSBAQCBzdGF0aWMgdm9pZA0KPj4gaHdfYmFzZV9lbmNvZGVfc2V0X2JfcGlj dHVyZXMoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LA0KPj4+ICAgICAgICAgICAgICAgIGh3X2Jh c2VfZW5jb2RlX2FkZF9yZWYocGljLCByZWYsIDAsIDEsIDApOw0KPj4+DQo+Pj4gICAgICAg ICAgICBpZiAoaSA+IDEpDQo+Pj4gLSAgICAgICAgICAgIGh3X2Jhc2VfZW5jb2RlX3NldF9i X3BpY3R1cmVzKGF2Y3R4LCBzdGFydCwgcGljLCBwaWMsDQo+Pj4gKyAgICAgICAgICAgIGh3 X2Jhc2VfZW5jb2RlX3NldF9iX3BpY3R1cmVzKGN0eCwgc3RhcnQsIHBpYywgcGljLA0KPj4+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRf ZGVwdGggKyAxLCAmbmV4dCk7DQo+Pj4gICAgICAgICAgICBlbHNlDQo+Pj4gICAgICAgICAg ICAgICAgbmV4dCA9IHBpYzsNCj4+Pg0KPj4+IC0gICAgICAgIGh3X2Jhc2VfZW5jb2RlX3Nl dF9iX3BpY3R1cmVzKGF2Y3R4LCBwaWMsIGVuZCwgbmV4dCwNCj4+PiArICAgICAgICBod19i YXNlX2VuY29kZV9zZXRfYl9waWN0dXJlcyhjdHgsIHBpYywgZW5kLCBuZXh0LA0KPj4+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudF9kZXB0aCAr IDEsIGxhc3QpOw0KPj4+ICAgICAgICB9DQo+Pj4gICAgfQ0KPj4+DQo+Pj4gLXN0YXRpYyB2 b2lkIGh3X2Jhc2VfZW5jb2RlX2FkZF9uZXh0X3ByZXYoQVZDb2RlY0NvbnRleHQgKmF2Y3R4 LA0KPj4+ICtzdGF0aWMgdm9pZCBod19iYXNlX2VuY29kZV9hZGRfbmV4dF9wcmV2KEZGSFdC YXNlRW5jb2RlQ29udGV4dA0KPj4gKmN0eCwNCj4+PiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEZGSFdCYXNlRW5jb2RlUGljdHVyZSAqcGljKQ0KPj4+ ICAgIHsNCj4+PiAtICAgIEZGSFdCYXNlRW5jb2RlQ29udGV4dCAqY3R4ID0gYXZjdHgtPnBy aXZfZGF0YTsNCj4+PiAgICAgICAgaW50IGk7DQo+Pj4NCj4+PiAgICAgICAgaWYgKCFwaWMp DQo+Pj4gQEAgLTE5Miw5ICsxOTAsOSBAQCBzdGF0aWMgdm9pZA0KPj4gaHdfYmFzZV9lbmNv ZGVfYWRkX25leHRfcHJldihBVkNvZGVjQ29udGV4dCAqYXZjdHgsDQo+Pj4gICAgfQ0KPj4+ DQo+Pj4gICAgc3RhdGljIGludCBod19iYXNlX2VuY29kZV9waWNrX25leHQoQVZDb2RlY0Nv bnRleHQgKmF2Y3R4LA0KPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBGRkhXQmFzZUVuY29kZUNvbnRleHQgKmN0eCwNCj4+PiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBGRkhXQmFzZUVuY29kZVBpY3R1cmUgKipwaWNfb3V0KQ0K Pj4+ICAgIHsNCj4+PiAtICAgIEZGSFdCYXNlRW5jb2RlQ29udGV4dCAqY3R4ID0gYXZjdHgt PnByaXZfZGF0YTsNCj4+PiAgICAgICAgRkZIV0Jhc2VFbmNvZGVQaWN0dXJlICpwaWMgPSBO VUxMLCAqcHJldiA9IE5VTEwsICpuZXh0LCAqc3RhcnQ7DQo+Pj4gICAgICAgIGludCBpLCBi X2NvdW50ZXIsIGNsb3NlZF9nb3BfZW5kOw0KPj4+DQo+Pj4gQEAgLTMzMywxOSArMzMxLDE4 IEBAIHN0YXRpYyBpbnQNCj4+IGh3X2Jhc2VfZW5jb2RlX3BpY2tfbmV4dChBVkNvZGVjQ29u dGV4dCAqYXZjdHgsDQo+Pj4gICAgICAgIH0NCj4+Pg0KPj4+ICAgICAgICBpZiAoYl9jb3Vu dGVyID4gMCkgew0KPj4+IC0gICAgICAgIGh3X2Jhc2VfZW5jb2RlX3NldF9iX3BpY3R1cmVz KGF2Y3R4LCBzdGFydCwgcGljLCBwaWMsIDEsDQo+Pj4gKyAgICAgICAgaHdfYmFzZV9lbmNv ZGVfc2V0X2JfcGljdHVyZXMoY3R4LCBzdGFydCwgcGljLCBwaWMsIDEsDQo+Pj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcHJldik7DQo+Pj4gICAgICAg IH0gZWxzZSB7DQo+Pj4gICAgICAgICAgICBwcmV2ID0gcGljOw0KPj4+ICAgICAgICB9DQo+ Pj4gLSAgICBod19iYXNlX2VuY29kZV9hZGRfbmV4dF9wcmV2KGF2Y3R4LCBwcmV2KTsNCj4+ PiArICAgIGh3X2Jhc2VfZW5jb2RlX2FkZF9uZXh0X3ByZXYoY3R4LCBwcmV2KTsNCj4+Pg0K Pj4+ICAgICAgICByZXR1cm4gMDsNCj4+PiAgICB9DQo+Pj4NCj4+PiAtc3RhdGljIGludCBo d19iYXNlX2VuY29kZV9jbGVhcl9vbGQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQ0KPj4+ICtz dGF0aWMgaW50IGh3X2Jhc2VfZW5jb2RlX2NsZWFyX29sZChBVkNvZGVjQ29udGV4dCAqYXZj dHgsDQo+PiBGRkhXQmFzZUVuY29kZUNvbnRleHQgKmN0eCkNCj4+PiAgICB7DQo+Pj4gLSAg ICBGRkhXQmFzZUVuY29kZUNvbnRleHQgKmN0eCA9IGF2Y3R4LT5wcml2X2RhdGE7DQo+Pj4g ICAgICAgIEZGSFdCYXNlRW5jb2RlUGljdHVyZSAqcGljLCAqcHJldiwgKm5leHQ7DQo+Pj4N Cj4+PiAgICAgICAgYXZfYXNzZXJ0MChjdHgtPnBpY19zdGFydCk7DQo+Pj4gQEAgLTM4MSwx NCArMzc4LDEyIEBAIHN0YXRpYyBpbnQNCj4+IGh3X2Jhc2VfZW5jb2RlX2NsZWFyX29sZChB VkNvZGVjQ29udGV4dCAqYXZjdHgpDQo+Pj4gICAgICAgIHJldHVybiAwOw0KPj4+ICAgIH0N Cj4+Pg0KPj4+IC1zdGF0aWMgaW50IGh3X2Jhc2VfZW5jb2RlX2NoZWNrX2ZyYW1lKEFWQ29k ZWNDb250ZXh0ICphdmN0eCwNCj4+PiArc3RhdGljIGludCBod19iYXNlX2VuY29kZV9jaGVj a19mcmFtZShGRkhXQmFzZUVuY29kZUNvbnRleHQgKmN0eCwNCj4+PiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEFWRnJhbWUgKmZyYW1lKQ0KPj4+ ICAgIHsNCj4+PiAtICAgIEZGSFdCYXNlRW5jb2RlQ29udGV4dCAqY3R4ID0gYXZjdHgtPnBy aXZfZGF0YTsNCj4+PiAtDQo+Pj4gICAgICAgIGlmICgoZnJhbWUtPmNyb3BfdG9wICB8fCBm cmFtZS0+Y3JvcF9ib3R0b20gfHwNCj4+PiAgICAgICAgICAgICBmcmFtZS0+Y3JvcF9sZWZ0 IHx8IGZyYW1lLT5jcm9wX3JpZ2h0KSAmJiAhY3R4LT5jcm9wX3dhcm5lZCkgew0KPj4+IC0g ICAgICAgIGF2X2xvZyhhdmN0eCwgQVZfTE9HX1dBUk5JTkcsICJDcm9wcGluZyBpbmZvcm1h dGlvbiBvbiBpbnB1dCAiDQo+Pj4gKyAgICAgICAgYXZfbG9nKGN0eC0+bG9nX2N0eCwgQVZf TE9HX1dBUk5JTkcsICJDcm9wcGluZyBpbmZvcm1hdGlvbiBvbg0KPj4gaW5wdXQgIg0KPj4+ ICAgICAgICAgICAgICAgICAgICJmcmFtZXMgaWdub3JlZCBkdWUgdG8gbGFjayBvZiBBUEkg c3VwcG9ydC5cbiIpOw0KPj4+ICAgICAgICAgICAgY3R4LT5jcm9wX3dhcm5lZCA9IDE7DQo+ Pj4gICAgICAgIH0NCj4+PiBAQCAtMzk4LDcgKzM5Myw3IEBAIHN0YXRpYyBpbnQNCj4+IGh3 X2Jhc2VfZW5jb2RlX2NoZWNrX2ZyYW1lKEFWQ29kZWNDb250ZXh0ICphdmN0eCwNCj4+PiAg ICAgICAgICAgICAgICBhdl9mcmFtZV9nZXRfc2lkZV9kYXRhKGZyYW1lLA0KPj4gQVZfRlJB TUVfREFUQV9SRUdJT05TX09GX0lOVEVSRVNUKTsNCj4+Pg0KPj4+ICAgICAgICAgICAgaWYg KHNkICYmICFjdHgtPnJvaV93YXJuZWQpIHsNCj4+PiAtICAgICAgICAgICAgYXZfbG9nKGF2 Y3R4LCBBVl9MT0dfV0FSTklORywgIlJPSSBzaWRlIGRhdGEgb24gaW5wdXQgIg0KPj4+ICsg ICAgICAgICAgICBhdl9sb2coY3R4LT5sb2dfY3R4LCBBVl9MT0dfV0FSTklORywgIlJPSSBz aWRlIGRhdGEgb24gaW5wdXQgIg0KPj4+ICAgICAgICAgICAgICAgICAgICAgICAiZnJhbWVz IGlnbm9yZWQgZHVlIHRvIGxhY2sgb2YgZHJpdmVyIHN1cHBvcnQuXG4iKTsNCj4+PiAgICAg ICAgICAgICAgICBjdHgtPnJvaV93YXJuZWQgPSAxOw0KPj4+ICAgICAgICAgICAgfQ0KPj4+ IEBAIC00MDcsOSArNDAyLDkgQEAgc3RhdGljIGludA0KPj4gaHdfYmFzZV9lbmNvZGVfY2hl Y2tfZnJhbWUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LA0KPj4+ICAgICAgICByZXR1cm4gMDsN Cj4+PiAgICB9DQo+Pj4NCj4+PiAtc3RhdGljIGludCBod19iYXNlX2VuY29kZV9zZW5kX2Zy YW1lKEFWQ29kZWNDb250ZXh0ICphdmN0eCwgQVZGcmFtZQ0KPj4gKmZyYW1lKQ0KPj4+ICtz dGF0aWMgaW50IGh3X2Jhc2VfZW5jb2RlX3NlbmRfZnJhbWUoQVZDb2RlY0NvbnRleHQgKmF2 Y3R4LA0KPj4gRkZIV0Jhc2VFbmNvZGVDb250ZXh0ICpjdHgsDQo+Pj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBBVkZyYW1lICpmcmFtZSkNCj4+PiAgICB7DQo+ Pj4gLSAgICBGRkhXQmFzZUVuY29kZUNvbnRleHQgKmN0eCA9IGF2Y3R4LT5wcml2X2RhdGE7 DQo+Pj4gICAgICAgIEZGSFdCYXNlRW5jb2RlUGljdHVyZSAqcGljOw0KPj4+ICAgICAgICBp bnQgZXJyOw0KPj4+DQo+Pj4gQEAgLTQxNyw3ICs0MTIsNyBAQCBzdGF0aWMgaW50DQo+PiBo d19iYXNlX2VuY29kZV9zZW5kX2ZyYW1lKEFWQ29kZWNDb250ZXh0ICphdmN0eCwgQVZGcmFt ZSAqZnJhbWUpDQo+Pj4gICAgICAgICAgICBhdl9sb2coYXZjdHgsIEFWX0xPR19ERUJVRywg IklucHV0IGZyYW1lOiAldXgldSAoJSJQUklkNjQiKS5cbiIsDQo+Pj4gICAgICAgICAgICAg ICAgICAgZnJhbWUtPndpZHRoLCBmcmFtZS0+aGVpZ2h0LCBmcmFtZS0+cHRzKTsNCj4+Pg0K Pj4+IC0gICAgICAgIGVyciA9IGh3X2Jhc2VfZW5jb2RlX2NoZWNrX2ZyYW1lKGF2Y3R4LCBm cmFtZSk7DQo+Pj4gKyAgICAgICAgZXJyID0gaHdfYmFzZV9lbmNvZGVfY2hlY2tfZnJhbWUo Y3R4LCBmcmFtZSk7DQo+Pj4gICAgICAgICAgICBpZiAoZXJyIDwgMCkNCj4+PiAgICAgICAg ICAgICAgICByZXR1cm4gZXJyOw0KPj4+DQo+Pj4gQEAgLTQ4OCwxMiArNDgzLDExIEBAIGZh aWw6DQo+Pj4gICAgICAgIHJldHVybiBlcnI7DQo+Pj4gICAgfQ0KPj4+DQo+Pj4gLWludCBm Zl9od19iYXNlX2VuY29kZV9zZXRfb3V0cHV0X3Byb3BlcnR5KEFWQ29kZWNDb250ZXh0ICph dmN0eCwNCj4+PiAraW50IGZmX2h3X2Jhc2VfZW5jb2RlX3NldF9vdXRwdXRfcHJvcGVydHko RkZIV0Jhc2VFbmNvZGVDb250ZXh0DQo+PiAqY3R4LA0KPj4+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBBVkNvZGVjQ29udGV4dCAqYXZjdHgsDQo+Pj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkZIV0Jhc2VF bmNvZGVQaWN0dXJlICpwaWMsDQo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgQVZQYWNrZXQgKnBrdCwgaW50IGZsYWdfbm9fZGVsYXkpDQo+Pj4g ICAgew0KPj4+IC0gICAgRkZIV0Jhc2VFbmNvZGVDb250ZXh0ICpjdHggPSBhdmN0eC0+cHJp dl9kYXRhOw0KPj4+IC0NCj4+PiAgICAgICAgaWYgKHBpYy0+dHlwZSA9PSBGRl9IV19QSUNU VVJFX1RZUEVfSURSKQ0KPj4+ICAgICAgICAgICAgcGt0LT5mbGFncyB8PSBBVl9QS1RfRkxB R19LRVk7DQo+Pj4NCj4+PiBAQCAtNTI4LDkgKzUyMiw5IEBAIGludA0KPj4gZmZfaHdfYmFz ZV9lbmNvZGVfc2V0X291dHB1dF9wcm9wZXJ0eShBVkNvZGVjQ29udGV4dCAqYXZjdHgsDQo+ Pj4gICAgICAgIHJldHVybiAwOw0KPj4+ICAgIH0NCj4+Pg0KPj4+IC1pbnQgZmZfaHdfYmFz ZV9lbmNvZGVfcmVjZWl2ZV9wYWNrZXQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBBVlBhY2tl dA0KPj4gKnBrdCkNCj4+PiAraW50IGZmX2h3X2Jhc2VfZW5jb2RlX3JlY2VpdmVfcGFja2V0 KEZGSFdCYXNlRW5jb2RlQ29udGV4dCAqY3R4LA0KPj4+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBBVlBhY2tldCAqcGt0 KQ0KPj4+ICAgIHsNCj4+PiAtICAgIEZGSFdCYXNlRW5jb2RlQ29udGV4dCAqY3R4ID0gYXZj dHgtPnByaXZfZGF0YTsNCj4+PiAgICAgICAgRkZIV0Jhc2VFbmNvZGVQaWN0dXJlICpwaWMg PSBOVUxMOw0KPj4+ICAgICAgICBBVkZyYW1lICpmcmFtZSA9IGN0eC0+ZnJhbWU7DQo+Pj4g ICAgICAgIGludCBlcnI7DQo+Pj4gQEAgLTU1OCw3ICs1NTIsNyBAQCBzdGFydDoNCj4+PiAg ICAgICAgaWYgKGVyciA9PSBBVkVSUk9SX0VPRikNCj4+PiAgICAgICAgICAgIGZyYW1lID0g TlVMTDsNCj4+Pg0KPj4+IC0gICAgZXJyID0gaHdfYmFzZV9lbmNvZGVfc2VuZF9mcmFtZShh dmN0eCwgZnJhbWUpOw0KPj4+ICsgICAgZXJyID0gaHdfYmFzZV9lbmNvZGVfc2VuZF9mcmFt ZShhdmN0eCwgY3R4LCBmcmFtZSk7DQo+Pj4gICAgICAgIGlmIChlcnIgPCAwKQ0KPj4+ICAg ICAgICAgICAgcmV0dXJuIGVycjsNCj4+Pg0KPj4+IEBAIC01NzEsNyArNTY1LDcgQEAgc3Rh cnQ6DQo+Pj4NCj4+PiAgICAgICAgaWYgKGN0eC0+YXN5bmNfZW5jb2RlKSB7DQo+Pj4gICAg ICAgICAgICBpZiAoYXZfZmlmb19jYW5fd3JpdGUoY3R4LT5lbmNvZGVfZmlmbykpIHsNCj4+ PiAtICAgICAgICAgICAgZXJyID0gaHdfYmFzZV9lbmNvZGVfcGlja19uZXh0KGF2Y3R4LCAm cGljKTsNCj4+PiArICAgICAgICAgICAgZXJyID0gaHdfYmFzZV9lbmNvZGVfcGlja19uZXh0 KGF2Y3R4LCBjdHgsICZwaWMpOw0KPj4+ICAgICAgICAgICAgICAgIGlmICghZXJyKSB7DQo+ Pj4gICAgICAgICAgICAgICAgICAgIGF2X2Fzc2VydDAocGljKTsNCj4+PiAgICAgICAgICAg ICAgICAgICAgcGljLT5lbmNvZGVfb3JkZXIgPSBjdHgtPmVuY29kZV9vcmRlciArDQo+Pj4g QEAgLTU5Niw3ICs1OTAsNyBAQCBzdGFydDoNCj4+PiAgICAgICAgICAgIGF2X2ZpZm9fcmVh ZChjdHgtPmVuY29kZV9maWZvLCAmcGljLCAxKTsNCj4+PiAgICAgICAgICAgIGN0eC0+ZW5j b2RlX29yZGVyID0gcGljLT5lbmNvZGVfb3JkZXIgKyAxOw0KPj4+ICAgICAgICB9IGVsc2Ug ew0KPj4+IC0gICAgICAgIGVyciA9IGh3X2Jhc2VfZW5jb2RlX3BpY2tfbmV4dChhdmN0eCwg JnBpYyk7DQo+Pj4gKyAgICAgICAgZXJyID0gaHdfYmFzZV9lbmNvZGVfcGlja19uZXh0KGF2 Y3R4LCBjdHgsICZwaWMpOw0KPj4+ICAgICAgICAgICAgaWYgKGVyciA8IDApDQo+Pj4gICAg ICAgICAgICAgICAgcmV0dXJuIGVycjsNCj4+PiAgICAgICAgICAgIGF2X2Fzc2VydDAocGlj KTsNCj4+PiBAQCAtNjE5LDcgKzYxMyw3IEBAIHN0YXJ0Og0KPj4+ICAgICAgICB9DQo+Pj4N Cj4+PiAgICAgICAgY3R4LT5vdXRwdXRfb3JkZXIgPSBwaWMtPmVuY29kZV9vcmRlcjsNCj4+ PiAtICAgIGh3X2Jhc2VfZW5jb2RlX2NsZWFyX29sZChhdmN0eCk7DQo+Pj4gKyAgICBod19i YXNlX2VuY29kZV9jbGVhcl9vbGQoYXZjdHgsIGN0eCk7DQo+Pj4NCj4+PiAgICAgICAgLyoq IGxvb3AgdG8gZ2V0IGFuIGF2YWlsYWJsZSBwa3QgaW4gZW5jb2RlciBmbHVzaGluZy4gKi8N Cj4+PiAgICAgICAgaWYgKGN0eC0+ZW5kX29mX3N0cmVhbSAmJiAhcGt0LT5zaXplKQ0KPj4+ IEBAIC02MzMsMTEgKzYyNywxMCBAQCBlbmQ6DQo+Pj4gICAgICAgIHJldHVybiAwOw0KPj4+ ICAgIH0NCj4+Pg0KPj4+IC1pbnQgZmZfaHdfYmFzZV9pbml0X2dvcF9zdHJ1Y3R1cmUoQVZD b2RlY0NvbnRleHQgKmF2Y3R4LCB1aW50MzJfdCByZWZfbDAsDQo+PiB1aW50MzJfdCByZWZf bDEsDQo+Pj4gK2ludCBmZl9od19iYXNlX2luaXRfZ29wX3N0cnVjdHVyZShGRkhXQmFzZUVu Y29kZUNvbnRleHQgKmN0eCwNCj4+IEFWQ29kZWNDb250ZXh0ICphdmN0eCwNCj4+PiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHJlZl9sMCwgdWludDMy X3QgcmVmX2wxLA0KPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp bnQgZmxhZ3MsIGludCBwcmVkaWN0aW9uX3ByZV9vbmx5KQ0KPj4+ICAgIHsNCj4+PiAtICAg IEZGSFdCYXNlRW5jb2RlQ29udGV4dCAqY3R4ID0gYXZjdHgtPnByaXZfZGF0YTsNCj4+PiAt DQo+Pj4gICAgICAgIGlmIChmbGFncyAmIEZGX0hXX0ZMQUdfSU5UUkFfT05MWSB8fCBhdmN0 eC0+Z29wX3NpemUgPD0gMSkgew0KPj4+ICAgICAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9M T0dfVkVSQk9TRSwgIlVzaW5nIGludHJhIGZyYW1lcyBvbmx5LlxuIik7DQo+Pj4gICAgICAg ICAgICBjdHgtPmdvcF9zaXplID0gMTsNCj4+PiBAQCAtNjg3LDkgKzY4MCw5IEBAIGludCBm Zl9od19iYXNlX2luaXRfZ29wX3N0cnVjdHVyZShBVkNvZGVjQ29udGV4dA0KPj4gKmF2Y3R4 LCB1aW50MzJfdCByZWZfbDAsIHVpbnQzMg0KPj4+ICAgICAgICByZXR1cm4gMDsNCj4+PiAg ICB9DQo+Pj4NCj4+PiAtaW50IGZmX2h3X2Jhc2VfZ2V0X3JlY29uX2Zvcm1hdChBVkNvZGVj Q29udGV4dCAqYXZjdHgsIGNvbnN0IHZvaWQNCj4+ICpod2NvbmZpZywgZW51bSBBVlBpeGVs Rm9ybWF0ICpmbXQpDQo+Pj4gK2ludCBmZl9od19iYXNlX2dldF9yZWNvbl9mb3JtYXQoRkZI V0Jhc2VFbmNvZGVDb250ZXh0ICpjdHgsIGNvbnN0DQo+PiB2b2lkICpod2NvbmZpZywNCj4+ PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIEFWUGl4ZWxGb3JtYXQg KmZtdCkNCj4+PiAgICB7DQo+Pj4gLSAgICBGRkhXQmFzZUVuY29kZUNvbnRleHQgKmN0eCA9 IGF2Y3R4LT5wcml2X2RhdGE7DQo+Pj4gICAgICAgIEFWSFdGcmFtZXNDb25zdHJhaW50cyAq Y29uc3RyYWludHMgPSBOVUxMOw0KPj4+ICAgICAgICBlbnVtIEFWUGl4ZWxGb3JtYXQgcmVj b25fZm9ybWF0Ow0KPj4+ICAgICAgICBpbnQgZXJyLCBpOw0KPj4+IEBAIC03MjIsMTQgKzcx NSwxNCBAQCBpbnQNCj4+IGZmX2h3X2Jhc2VfZ2V0X3JlY29uX2Zvcm1hdChBVkNvZGVjQ29u dGV4dCAqYXZjdHgsIGNvbnN0IHZvaWQgKmh3Y29uZmlnLA0KPj4gZW51DQo+Pj4gICAgICAg ICAgICAvLyBObyBpZGVhIHdoYXQgdG8gdXNlOyBjb3B5IGlucHV0IGZvcm1hdC4NCj4+PiAg ICAgICAgICAgIHJlY29uX2Zvcm1hdCA9IGN0eC0+aW5wdXRfZnJhbWVzLT5zd19mb3JtYXQ7 DQo+Pj4gICAgICAgIH0NCj4+PiAtICAgIGF2X2xvZyhhdmN0eCwgQVZfTE9HX0RFQlVHLCAi VXNpbmcgJXMgYXMgZm9ybWF0IG9mICINCj4+PiArICAgIGF2X2xvZyhjdHgtPmxvZ19jdHgs IEFWX0xPR19ERUJVRywgIlVzaW5nICVzIGFzIGZvcm1hdCBvZiAiDQo+Pj4gICAgICAgICAg ICAgICAicmVjb25zdHJ1Y3RlZCBmcmFtZXMuXG4iLCBhdl9nZXRfcGl4X2ZtdF9uYW1lKHJl Y29uX2Zvcm1hdCkpOw0KPj4+DQo+Pj4gICAgICAgIGlmIChjdHgtPnN1cmZhY2Vfd2lkdGgg IDwgY29uc3RyYWludHMtPm1pbl93aWR0aCAgfHwNCj4+PiAgICAgICAgICAgIGN0eC0+c3Vy ZmFjZV9oZWlnaHQgPCBjb25zdHJhaW50cy0+bWluX2hlaWdodCB8fA0KPj4+ICAgICAgICAg ICAgY3R4LT5zdXJmYWNlX3dpZHRoICA+IGNvbnN0cmFpbnRzLT5tYXhfd2lkdGggfHwNCj4+ PiAgICAgICAgICAgIGN0eC0+c3VyZmFjZV9oZWlnaHQgPiBjb25zdHJhaW50cy0+bWF4X2hl aWdodCkgew0KPj4+IC0gICAgICAgIGF2X2xvZyhhdmN0eCwgQVZfTE9HX0VSUk9SLCAiSGFy ZHdhcmUgZG9lcyBub3Qgc3VwcG9ydCBlbmNvZGluZyBhdA0KPj4gIg0KPj4+ICsgICAgICAg IGF2X2xvZyhjdHgtPmxvZ19jdHgsIEFWX0xPR19FUlJPUiwgIkhhcmR3YXJlIGRvZXMgbm90 IHN1cHBvcnQNCj4+IGVuY29kaW5nIGF0ICINCj4+PiAgICAgICAgICAgICAgICAgICAic2l6 ZSAlZHglZCAoY29uc3RyYWludHM6IHdpZHRoICVkLSVkIGhlaWdodCAlZC0lZCkuXG4iLA0K Pj4+ICAgICAgICAgICAgICAgICAgIGN0eC0+c3VyZmFjZV93aWR0aCwgY3R4LT5zdXJmYWNl X2hlaWdodCwNCj4+PiAgICAgICAgICAgICAgICAgICBjb25zdHJhaW50cy0+bWluX3dpZHRo LCAgY29uc3RyYWludHMtPm1heF93aWR0aCwNCj4+PiBAQCAtNzU2LDkgKzc0OSw5IEBAIGlu dA0KPj4gZmZfaHdfYmFzZV9lbmNvZGVfZnJlZShGRkhXQmFzZUVuY29kZVBpY3R1cmUgKnBp YykNCj4+PiAgICAgICAgcmV0dXJuIDA7DQo+Pj4gICAgfQ0KPj4+DQo+Pj4gLWludCBmZl9o d19iYXNlX2VuY29kZV9pbml0KEFWQ29kZWNDb250ZXh0ICphdmN0eCkNCj4+PiAraW50IGZm X2h3X2Jhc2VfZW5jb2RlX2luaXQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LA0KPj4gRkZIV0Jh c2VFbmNvZGVDb250ZXh0ICpjdHgpDQo+Pj4gICAgew0KPj4+IC0gICAgRkZIV0Jhc2VFbmNv ZGVDb250ZXh0ICpjdHggPSBhdmN0eC0+cHJpdl9kYXRhOw0KPj4+ICsgICAgY3R4LT5sb2df Y3R4ID0gKHZvaWQgKilhdmN0eDsNCj4+Pg0KPj4+ICAgICAgICBjdHgtPmZyYW1lID0gYXZf ZnJhbWVfYWxsb2MoKTsNCj4+PiAgICAgICAgaWYgKCFjdHgtPmZyYW1lKQ0KPj4+IEBAIC03 ODksMTAgKzc4Miw4IEBAIGludCBmZl9od19iYXNlX2VuY29kZV9pbml0KEFWQ29kZWNDb250 ZXh0DQo+PiAqYXZjdHgpDQo+Pj4gICAgICAgIHJldHVybiAwOw0KPj4+ICAgIH0NCj4+Pg0K Pj4+IC1pbnQgZmZfaHdfYmFzZV9lbmNvZGVfY2xvc2UoQVZDb2RlY0NvbnRleHQgKmF2Y3R4 KQ0KPj4+ICtpbnQgZmZfaHdfYmFzZV9lbmNvZGVfY2xvc2UoRkZIV0Jhc2VFbmNvZGVDb250 ZXh0ICpjdHgpDQo+Pj4gICAgew0KPj4+IC0gICAgRkZIV0Jhc2VFbmNvZGVDb250ZXh0ICpj dHggPSBhdmN0eC0+cHJpdl9kYXRhOw0KPj4+IC0NCj4+PiAgICAgICAgYXZfZmlmb19mcmVl cDIoJmN0eC0+ZW5jb2RlX2ZpZm8pOw0KPj4+DQo+Pj4gICAgICAgIGF2X2ZyYW1lX2ZyZWUo JmN0eC0+ZnJhbWUpOw0KPj4+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2h3X2Jhc2VfZW5j b2RlLmggYi9saWJhdmNvZGVjL2h3X2Jhc2VfZW5jb2RlLmgNCj4+PiBpbmRleCAxNWVmM2Q3 YWM2Li5lNTI4ZjIwMTNiIDEwMDY0NA0KPj4+IC0tLSBhL2xpYmF2Y29kZWMvaHdfYmFzZV9l bmNvZGUuaA0KPj4+ICsrKyBiL2xpYmF2Y29kZWMvaHdfYmFzZV9lbmNvZGUuaA0KPj4+IEBA IC0xMTYsNiArMTE2LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgRkZIV0VuY29kZVBpY3R1cmVPcGVy YXRpb24gew0KPj4+DQo+Pj4gICAgdHlwZWRlZiBzdHJ1Y3QgRkZIV0Jhc2VFbmNvZGVDb250 ZXh0IHsNCj4+PiAgICAgICAgY29uc3QgQVZDbGFzcyAqY2xhc3M7DQo+Pj4gKyAgICB2b2lk ICAqbG9nX2N0eDsNCj4+Pg0KPj4+ICAgICAgICAvLyBIYXJkd2FyZS1zcGVjaWZpYyBob29r cy4NCj4+PiAgICAgICAgY29uc3Qgc3RydWN0IEZGSFdFbmNvZGVQaWN0dXJlT3BlcmF0aW9u ICpvcDsNCj4+PiBAQCAtMjE0LDIxICsyMTUsMjMgQEAgdHlwZWRlZiBzdHJ1Y3QgRkZIV0Jh c2VFbmNvZGVDb250ZXh0IHsNCj4+PiAgICAgICAgQVZQYWNrZXQgICAgICAgICp0YWlsX3Br dDsNCj4+PiAgICB9IEZGSFdCYXNlRW5jb2RlQ29udGV4dDsNCj4+Pg0KPj4+IC1pbnQgZmZf aHdfYmFzZV9lbmNvZGVfc2V0X291dHB1dF9wcm9wZXJ0eShBVkNvZGVjQ29udGV4dCAqYXZj dHgsDQo+PiBGRkhXQmFzZUVuY29kZVBpY3R1cmUgKnBpYywNCj4+PiAtICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVZQYWNrZXQgKnBrdCwgaW50IGZsYWdf bm9fZGVsYXkpOw0KPj4+ICtpbnQgZmZfaHdfYmFzZV9lbmNvZGVfc2V0X291dHB1dF9wcm9w ZXJ0eShGRkhXQmFzZUVuY29kZUNvbnRleHQNCj4+ICpjdHgsIEFWQ29kZWNDb250ZXh0ICph dmN0eCwNCj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg RkZIV0Jhc2VFbmNvZGVQaWN0dXJlICpwaWMsIEFWUGFja2V0ICpwa3QsIGludA0KPj4gZmxh Z19ub19kZWxheSk7DQo+Pj4NCj4+PiAtaW50IGZmX2h3X2Jhc2VfZW5jb2RlX3JlY2VpdmVf cGFja2V0KEFWQ29kZWNDb250ZXh0ICphdmN0eCwgQVZQYWNrZXQNCj4+ICpwa3QpOw0KPj4+ ICtpbnQgZmZfaHdfYmFzZV9lbmNvZGVfcmVjZWl2ZV9wYWNrZXQoRkZIV0Jhc2VFbmNvZGVD b250ZXh0ICpjdHgsDQo+PiBBVkNvZGVjQ29udGV4dCAqYXZjdHgsIEFWUGFja2V0ICpwa3Qp Ow0KPj4+DQo+Pj4gLWludCBmZl9od19iYXNlX2luaXRfZ29wX3N0cnVjdHVyZShBVkNvZGVj Q29udGV4dCAqYXZjdHgsIHVpbnQzMl90IHJlZl9sMCwNCj4+IHVpbnQzMl90IHJlZl9sMSwN Cj4+PiAraW50IGZmX2h3X2Jhc2VfaW5pdF9nb3Bfc3RydWN0dXJlKEZGSFdCYXNlRW5jb2Rl Q29udGV4dCAqY3R4LA0KPj4gQVZDb2RlY0NvbnRleHQgKmF2Y3R4LA0KPj4+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgcmVmX2wwLCB1aW50MzJfdCBy ZWZfbDEsDQo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBm bGFncywgaW50IHByZWRpY3Rpb25fcHJlX29ubHkpOw0KPj4+DQo+Pj4gLWludCBmZl9od19i YXNlX2dldF9yZWNvbl9mb3JtYXQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBjb25zdCB2b2lk DQo+PiAqaHdjb25maWcsIGVudW0gQVZQaXhlbEZvcm1hdCAqZm10KTsNCj4+PiAraW50IGZm X2h3X2Jhc2VfZ2V0X3JlY29uX2Zvcm1hdChGRkhXQmFzZUVuY29kZUNvbnRleHQgKmN0eCwg Y29uc3QNCj4+IHZvaWQgKmh3Y29uZmlnLA0KPj4+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGVudW0gQVZQaXhlbEZvcm1hdCAqZm10KTsNCj4+Pg0KPj4+ICAgIGludCBm Zl9od19iYXNlX2VuY29kZV9mcmVlKEZGSFdCYXNlRW5jb2RlUGljdHVyZSAqcGljKTsNCj4+ Pg0KPj4+IC1pbnQgZmZfaHdfYmFzZV9lbmNvZGVfaW5pdChBVkNvZGVjQ29udGV4dCAqYXZj dHgpOw0KPj4+ICtpbnQgZmZfaHdfYmFzZV9lbmNvZGVfaW5pdChBVkNvZGVjQ29udGV4dCAq YXZjdHgsDQo+PiBGRkhXQmFzZUVuY29kZUNvbnRleHQgKmN0eCk7DQo+Pj4NCj4+PiAtaW50 IGZmX2h3X2Jhc2VfZW5jb2RlX2Nsb3NlKEFWQ29kZWNDb250ZXh0ICphdmN0eCk7DQo+Pj4g K2ludCBmZl9od19iYXNlX2VuY29kZV9jbG9zZShGRkhXQmFzZUVuY29kZUNvbnRleHQgKmN0 eCk7DQo+Pj4NCj4+PiAgICAjZGVmaW5lIEhXX0JBU0VfRU5DT0RFX0NPTU1PTl9PUFRJT05T IFwNCj4+PiAgICAgICAgeyAiaWRyX2ludGVydmFsIiwgXA0KPj4+IGRpZmYgLS1naXQgYS9s aWJhdmNvZGVjL3ZhYXBpX2VuY29kZS5jIGIvbGliYXZjb2RlYy92YWFwaV9lbmNvZGUuYw0K Pj4+IGluZGV4IGIzNWEyM2U4NTIuLjQ4Y2EwMTg3NzUgMTAwNjQ0DQo+Pj4gLS0tIGEvbGli YXZjb2RlYy92YWFwaV9lbmNvZGUuYw0KPj4+ICsrKyBiL2xpYmF2Y29kZWMvdmFhcGlfZW5j b2RlLmMNCj4+PiBAQCAtODExLDcgKzgxMSw3IEBAIHN0YXRpYyBpbnQgdmFhcGlfZW5jb2Rl X291dHB1dChBVkNvZGVjQ29udGV4dA0KPj4gKmF2Y3R4LA0KPj4+ICAgICAgICBhdl9sb2co YXZjdHgsIEFWX0xPR19ERUJVRywgIk91dHB1dCByZWFkIGZvcg0KPj4gcGljICUiUFJJZDY0 Ii8lIlBSSWQ2NCIuXG4iLA0KPj4+ICAgICAgICAgICAgICAgYmFzZV9waWMtPmRpc3BsYXlf b3JkZXIsIGJhc2VfcGljLT5lbmNvZGVfb3JkZXIpOw0KPj4+DQo+Pj4gLSAgICBmZl9od19i YXNlX2VuY29kZV9zZXRfb3V0cHV0X3Byb3BlcnR5KGF2Y3R4LA0KPj4gKEZGSFdCYXNlRW5j b2RlUGljdHVyZSopYmFzZV9waWMsIHBrdF9wdHIsDQo+Pj4gKyAgICBmZl9od19iYXNlX2Vu Y29kZV9zZXRfb3V0cHV0X3Byb3BlcnR5KGJhc2VfY3R4LCBhdmN0eCwNCj4+IChGRkhXQmFz ZUVuY29kZVBpY3R1cmUqKWJhc2VfcGljLCBwa3RfcHRyLA0KPj4+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC0+Y29kZWMtPmZsYWdzICYgRkxB R19USU1FU1RBTVBfTk9fREVMQVkpOw0KPj4+DQo+Pj4gICAgZW5kOg0KPj4+IEBAIC0xNjU4 LDcgKzE2NTgsOCBAQCBzdGF0aWMgYXZfY29sZCBpbnQNCj4+IHZhYXBpX2VuY29kZV9pbml0 X2dvcF9zdHJ1Y3R1cmUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQ0KPj4+ICAgICAgICB9DQo+ Pj4gICAgI2VuZGlmDQo+Pj4NCj4+PiAtICAgIGVyciA9IGZmX2h3X2Jhc2VfaW5pdF9nb3Bf c3RydWN0dXJlKGF2Y3R4LCByZWZfbDAsIHJlZl9sMSwgY3R4LT5jb2RlYy0NCj4+PiBmbGFn cywgcHJlZGljdGlvbl9wcmVfb25seSk7DQo+Pj4gKyAgICBlcnIgPSBmZl9od19iYXNlX2lu aXRfZ29wX3N0cnVjdHVyZShiYXNlX2N0eCwgYXZjdHgsIHJlZl9sMCwgcmVmX2wxLA0KPj4+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4LT5jb2RlYy0+ ZmxhZ3MsIHByZWRpY3Rpb25fcHJlX29ubHkpOw0KPj4+ICAgICAgICBpZiAoZXJyIDwgMCkN Cj4+PiAgICAgICAgICAgIHJldHVybiBlcnI7DQo+Pj4NCj4+PiBAQCAtMjA1OSw3ICsyMDYw LDcgQEAgc3RhdGljIGF2X2NvbGQgaW50DQo+PiB2YWFwaV9lbmNvZGVfY3JlYXRlX3JlY29u X2ZyYW1lcyhBVkNvZGVjQ29udGV4dCAqYXZjdHgpDQo+Pj4gICAgICAgIH0NCj4+PiAgICAg ICAgaHdjb25maWctPmNvbmZpZ19pZCA9IGN0eC0+dmFfY29uZmlnOw0KPj4+DQo+Pj4gLSAg ICBlcnIgPSBmZl9od19iYXNlX2dldF9yZWNvbl9mb3JtYXQoYXZjdHgsIChjb25zdCB2b2lk Kilod2NvbmZpZywNCj4+ICZyZWNvbl9mb3JtYXQpOw0KPj4+ICsgICAgZXJyID0gZmZfaHdf YmFzZV9nZXRfcmVjb25fZm9ybWF0KGJhc2VfY3R4LCAoY29uc3Qgdm9pZCopaHdjb25maWcs DQo+PiAmcmVjb25fZm9ybWF0KTsNCj4+PiAgICAgICAgaWYgKGVyciA8IDApDQo+Pj4gICAg ICAgICAgICBnb3RvIGZhaWw7DQo+Pj4NCj4+PiBAQCAtMjA5OCw2ICsyMDk5LDExIEBAIHN0 YXRpYyBjb25zdCBGRkhXRW5jb2RlUGljdHVyZU9wZXJhdGlvbg0KPj4gdmFhcGlfb3AgPSB7 DQo+Pj4gICAgICAgIC5mcmVlICAgPSAmdmFhcGlfZW5jb2RlX2ZyZWUsDQo+Pj4gICAgfTsN Cj4+Pg0KPj4+ICtpbnQgZmZfdmFhcGlfZW5jb2RlX3JlY2VpdmVfcGFja2V0KEFWQ29kZWND b250ZXh0ICphdmN0eCwgQVZQYWNrZXQgKnBrdCkNCj4+PiArew0KPj4+ICsgICAgcmV0dXJu IGZmX2h3X2Jhc2VfZW5jb2RlX3JlY2VpdmVfcGFja2V0KGF2Y3R4LT5wcml2X2RhdGEsIGF2 Y3R4LCBwa3QpOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICAgIGF2X2NvbGQgaW50IGZmX3ZhYXBp X2VuY29kZV9pbml0KEFWQ29kZWNDb250ZXh0ICphdmN0eCkNCj4+PiAgICB7DQo+Pj4gICAg ICAgIEZGSFdCYXNlRW5jb2RlQ29udGV4dCAqYmFzZV9jdHggPSBhdmN0eC0+cHJpdl9kYXRh Ow0KPj4+IEBAIC0yMTA2LDcgKzIxMTIsNyBAQCBhdl9jb2xkIGludCBmZl92YWFwaV9lbmNv ZGVfaW5pdChBVkNvZGVjQ29udGV4dA0KPj4gKmF2Y3R4KQ0KPj4+ICAgICAgICBWQVN0YXR1 cyB2YXM7DQo+Pj4gICAgICAgIGludCBlcnI7DQo+Pj4NCj4+PiAtICAgIGVyciA9IGZmX2h3 X2Jhc2VfZW5jb2RlX2luaXQoYXZjdHgpOw0KPj4+ICsgICAgZXJyID0gZmZfaHdfYmFzZV9l bmNvZGVfaW5pdChhdmN0eCwgYmFzZV9jdHgpOw0KPj4+ICAgICAgICBpZiAoZXJyIDwgMCkN Cj4+PiAgICAgICAgICAgIGdvdG8gZmFpbDsNCj4+Pg0KPj4+IEBAIC0yMzEzLDcgKzIzMTks NyBAQCBhdl9jb2xkIGludA0KPj4gZmZfdmFhcGlfZW5jb2RlX2Nsb3NlKEFWQ29kZWNDb250 ZXh0ICphdmN0eCkNCj4+PiAgICAgICAgYXZfZnJlZXAoJmN0eC0+Y29kZWNfc2VxdWVuY2Vf cGFyYW1zKTsNCj4+PiAgICAgICAgYXZfZnJlZXAoJmN0eC0+Y29kZWNfcGljdHVyZV9wYXJh bXMpOw0KPj4+DQo+Pj4gLSAgICBmZl9od19iYXNlX2VuY29kZV9jbG9zZShhdmN0eCk7DQo+ Pj4gKyAgICBmZl9od19iYXNlX2VuY29kZV9jbG9zZShiYXNlX2N0eCk7DQo+Pj4NCj4+PiAg ICAgICAgcmV0dXJuIDA7DQo+Pj4gICAgfQ0KPj4+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVj L3ZhYXBpX2VuY29kZS5oIGIvbGliYXZjb2RlYy92YWFwaV9lbmNvZGUuaA0KPj4+IGluZGV4 IDg2NTAyNTU2ODAuLmQ3NmNkYjg2NjIgMTAwNjQ0DQo+Pj4gLS0tIGEvbGliYXZjb2RlYy92 YWFwaV9lbmNvZGUuaA0KPj4+ICsrKyBiL2xpYmF2Y29kZWMvdmFhcGlfZW5jb2RlLmgNCj4+ PiBAQCAtMzQzLDYgKzM0Myw4IEBAIHR5cGVkZWYgc3RydWN0IFZBQVBJRW5jb2RlVHlwZSB7 DQo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqZGF0YSwg c2l6ZV90ICpkYXRhX2xlbik7DQo+Pj4gICAgfSBWQUFQSUVuY29kZVR5cGU7DQo+Pj4NCj4+ PiAraW50IGZmX3ZhYXBpX2VuY29kZV9yZWNlaXZlX3BhY2tldChBVkNvZGVjQ29udGV4dCAq YXZjdHgsIEFWUGFja2V0DQo+PiAqcGt0KTsNCj4+PiArDQo+Pj4gICAgaW50IGZmX3ZhYXBp X2VuY29kZV9pbml0KEFWQ29kZWNDb250ZXh0ICphdmN0eCk7DQo+Pj4gICAgaW50IGZmX3Zh YXBpX2VuY29kZV9jbG9zZShBVkNvZGVjQ29udGV4dCAqYXZjdHgpOw0KPj4+DQo+Pj4gZGlm ZiAtLWdpdCBhL2xpYmF2Y29kZWMvdmFhcGlfZW5jb2RlX2F2MS5jIGIvbGliYXZjb2RlYy92 YWFwaV9lbmNvZGVfYXYxLmMNCj4+PiBpbmRleCBlYTRjMzkxZTU0Li4yNmE1NzA3YmY1IDEw MDY0NA0KPj4+IC0tLSBhL2xpYmF2Y29kZWMvdmFhcGlfZW5jb2RlX2F2MS5jDQo+Pj4gKysr IGIvbGliYXZjb2RlYy92YWFwaV9lbmNvZGVfYXYxLmMNCj4+PiBAQCAtMTA0MSw3ICsxMDQx LDcgQEAgY29uc3QgRkZDb2RlYyBmZl9hdjFfdmFhcGlfZW5jb2RlciA9IHsNCj4+PiAgICAg ICAgLnAuaWQgICAgICAgICAgID0gQVZfQ09ERUNfSURfQVYxLA0KPj4+ICAgICAgICAucHJp dl9kYXRhX3NpemUgPSBzaXplb2YoVkFBUElFbmNvZGVBVjFDb250ZXh0KSwNCj4+PiAgICAg ICAgLmluaXQgICAgICAgICAgID0gJnZhYXBpX2VuY29kZV9hdjFfaW5pdCwNCj4+PiAtICAg IEZGX0NPREVDX1JFQ0VJVkVfUEFDS0VUX0NCKCZmZl9od19iYXNlX2VuY29kZV9yZWNlaXZl X3BhY2tldCksDQo+Pj4gKyAgICBGRl9DT0RFQ19SRUNFSVZFX1BBQ0tFVF9DQigmZmZfdmFh cGlfZW5jb2RlX3JlY2VpdmVfcGFja2V0KSwNCj4+PiAgICAgICAgLmNsb3NlICAgICAgICAg ID0gJnZhYXBpX2VuY29kZV9hdjFfY2xvc2UsDQo+Pj4gICAgICAgIC5wLnByaXZfY2xhc3Mg ICA9ICZ2YWFwaV9lbmNvZGVfYXYxX2NsYXNzLA0KPj4+ICAgICAgICAucC5jYXBhYmlsaXRp ZXMgPSBBVl9DT0RFQ19DQVBfREVMQVkgfCBBVl9DT0RFQ19DQVBfSEFSRFdBUkUgfA0KPj4+ IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3ZhYXBpX2VuY29kZV9oMjY0LmMNCj4+IGIvbGli YXZjb2RlYy92YWFwaV9lbmNvZGVfaDI2NC5jDQo+Pj4gaW5kZXggZDIwZDgyOThkYi4uZDE1 NjcxOTcyOCAxMDA2NDQNCj4+PiAtLS0gYS9saWJhdmNvZGVjL3ZhYXBpX2VuY29kZV9oMjY0 LmMNCj4+PiArKysgYi9saWJhdmNvZGVjL3ZhYXBpX2VuY29kZV9oMjY0LmMNCj4+PiBAQCAt MTM4NSw3ICsxMzg1LDcgQEAgY29uc3QgRkZDb2RlYyBmZl9oMjY0X3ZhYXBpX2VuY29kZXIg PSB7DQo+Pj4gICAgICAgIC5wLmlkICAgICAgICAgICA9IEFWX0NPREVDX0lEX0gyNjQsDQo+ Pj4gICAgICAgIC5wcml2X2RhdGFfc2l6ZSA9IHNpemVvZihWQUFQSUVuY29kZUgyNjRDb250 ZXh0KSwNCj4+PiAgICAgICAgLmluaXQgICAgICAgICAgID0gJnZhYXBpX2VuY29kZV9oMjY0 X2luaXQsDQo+Pj4gLSAgICBGRl9DT0RFQ19SRUNFSVZFX1BBQ0tFVF9DQigmZmZfaHdfYmFz ZV9lbmNvZGVfcmVjZWl2ZV9wYWNrZXQpLA0KPj4+ICsgICAgRkZfQ09ERUNfUkVDRUlWRV9Q QUNLRVRfQ0IoJmZmX3ZhYXBpX2VuY29kZV9yZWNlaXZlX3BhY2tldCksDQo+Pj4gICAgICAg IC5jbG9zZSAgICAgICAgICA9ICZ2YWFwaV9lbmNvZGVfaDI2NF9jbG9zZSwNCj4+PiAgICAg ICAgLnAucHJpdl9jbGFzcyAgID0gJnZhYXBpX2VuY29kZV9oMjY0X2NsYXNzLA0KPj4+ICAg ICAgICAucC5jYXBhYmlsaXRpZXMgPSBBVl9DT0RFQ19DQVBfREVMQVkgfCBBVl9DT0RFQ19D QVBfSEFSRFdBUkUgfA0KPj4+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3ZhYXBpX2VuY29k ZV9oMjY1LmMNCj4+IGIvbGliYXZjb2RlYy92YWFwaV9lbmNvZGVfaDI2NS5jDQo+Pj4gaW5k ZXggZTE3NDhlNDQxOS4uNjQxODg4ZGQxNCAxMDA2NDQNCj4+PiAtLS0gYS9saWJhdmNvZGVj L3ZhYXBpX2VuY29kZV9oMjY1LmMNCj4+PiArKysgYi9saWJhdmNvZGVjL3ZhYXBpX2VuY29k ZV9oMjY1LmMNCj4+PiBAQCAtMTQ5OCw3ICsxNDk4LDcgQEAgY29uc3QgRkZDb2RlYyBmZl9o ZXZjX3ZhYXBpX2VuY29kZXIgPSB7DQo+Pj4gICAgICAgIC5wLmlkICAgICAgICAgICA9IEFW X0NPREVDX0lEX0hFVkMsDQo+Pj4gICAgICAgIC5wcml2X2RhdGFfc2l6ZSA9IHNpemVvZihW QUFQSUVuY29kZUgyNjVDb250ZXh0KSwNCj4+PiAgICAgICAgLmluaXQgICAgICAgICAgID0g JnZhYXBpX2VuY29kZV9oMjY1X2luaXQsDQo+Pj4gLSAgICBGRl9DT0RFQ19SRUNFSVZFX1BB Q0tFVF9DQigmZmZfaHdfYmFzZV9lbmNvZGVfcmVjZWl2ZV9wYWNrZXQpLA0KPj4+ICsgICAg RkZfQ09ERUNfUkVDRUlWRV9QQUNLRVRfQ0IoJmZmX3ZhYXBpX2VuY29kZV9yZWNlaXZlX3Bh Y2tldCksDQo+Pj4gICAgICAgIC5jbG9zZSAgICAgICAgICA9ICZ2YWFwaV9lbmNvZGVfaDI2 NV9jbG9zZSwNCj4+PiAgICAgICAgLnAucHJpdl9jbGFzcyAgID0gJnZhYXBpX2VuY29kZV9o MjY1X2NsYXNzLA0KPj4+ICAgICAgICAucC5jYXBhYmlsaXRpZXMgPSBBVl9DT0RFQ19DQVBf REVMQVkgfCBBVl9DT0RFQ19DQVBfSEFSRFdBUkUgfA0KPj4+IGRpZmYgLS1naXQgYS9saWJh dmNvZGVjL3ZhYXBpX2VuY29kZV9tanBlZy5jDQo+PiBiL2xpYmF2Y29kZWMvdmFhcGlfZW5j b2RlX21qcGVnLmMNCj4+PiBpbmRleCA1ZDUxYTBiMmI5Li4wY2E4ZDY3NmRkIDEwMDY0NA0K Pj4+IC0tLSBhL2xpYmF2Y29kZWMvdmFhcGlfZW5jb2RlX21qcGVnLmMNCj4+PiArKysgYi9s aWJhdmNvZGVjL3ZhYXBpX2VuY29kZV9tanBlZy5jDQo+Pj4gQEAgLTU3NCw3ICs1NzQsNyBA QCBjb25zdCBGRkNvZGVjIGZmX21qcGVnX3ZhYXBpX2VuY29kZXIgPSB7DQo+Pj4gICAgICAg IC5wLmlkICAgICAgICAgICA9IEFWX0NPREVDX0lEX01KUEVHLA0KPj4+ICAgICAgICAucHJp dl9kYXRhX3NpemUgPSBzaXplb2YoVkFBUElFbmNvZGVNSlBFR0NvbnRleHQpLA0KPj4+ICAg ICAgICAuaW5pdCAgICAgICAgICAgPSAmdmFhcGlfZW5jb2RlX21qcGVnX2luaXQsDQo+Pj4g LSAgICBGRl9DT0RFQ19SRUNFSVZFX1BBQ0tFVF9DQigmZmZfaHdfYmFzZV9lbmNvZGVfcmVj ZWl2ZV9wYWNrZXQpLA0KPj4+ICsgICAgRkZfQ09ERUNfUkVDRUlWRV9QQUNLRVRfQ0IoJmZm X3ZhYXBpX2VuY29kZV9yZWNlaXZlX3BhY2tldCksDQo+Pj4gICAgICAgIC5jbG9zZSAgICAg ICAgICA9ICZ2YWFwaV9lbmNvZGVfbWpwZWdfY2xvc2UsDQo+Pj4gICAgICAgIC5wLnByaXZf Y2xhc3MgICA9ICZ2YWFwaV9lbmNvZGVfbWpwZWdfY2xhc3MsDQo+Pj4gICAgICAgIC5wLmNh cGFiaWxpdGllcyA9IEFWX0NPREVDX0NBUF9IQVJEV0FSRSB8IEFWX0NPREVDX0NBUF9EUjEg fA0KPj4+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3ZhYXBpX2VuY29kZV9tcGVnMi5jDQo+ PiBiL2xpYmF2Y29kZWMvdmFhcGlfZW5jb2RlX21wZWcyLmMNCj4+PiBpbmRleCBjMjAxOTZm YjQ4Li5iZTgwMWQyMWQyIDEwMDY0NA0KPj4+IC0tLSBhL2xpYmF2Y29kZWMvdmFhcGlfZW5j b2RlX21wZWcyLmMNCj4+PiArKysgYi9saWJhdmNvZGVjL3ZhYXBpX2VuY29kZV9tcGVnMi5j DQo+Pj4gQEAgLTY5OCw3ICs2OTgsNyBAQCBjb25zdCBGRkNvZGVjIGZmX21wZWcyX3ZhYXBp X2VuY29kZXIgPSB7DQo+Pj4gICAgICAgIC5wLmlkICAgICAgICAgICA9IEFWX0NPREVDX0lE X01QRUcyVklERU8sDQo+Pj4gICAgICAgIC5wcml2X2RhdGFfc2l6ZSA9IHNpemVvZihWQUFQ SUVuY29kZU1QRUcyQ29udGV4dCksDQo+Pj4gICAgICAgIC5pbml0ICAgICAgICAgICA9ICZ2 YWFwaV9lbmNvZGVfbXBlZzJfaW5pdCwNCj4+PiAtICAgIEZGX0NPREVDX1JFQ0VJVkVfUEFD S0VUX0NCKCZmZl9od19iYXNlX2VuY29kZV9yZWNlaXZlX3BhY2tldCksDQo+Pj4gKyAgICBG Rl9DT0RFQ19SRUNFSVZFX1BBQ0tFVF9DQigmZmZfdmFhcGlfZW5jb2RlX3JlY2VpdmVfcGFj a2V0KSwNCj4+PiAgICAgICAgLmNsb3NlICAgICAgICAgID0gJnZhYXBpX2VuY29kZV9tcGVn Ml9jbG9zZSwNCj4+PiAgICAgICAgLnAucHJpdl9jbGFzcyAgID0gJnZhYXBpX2VuY29kZV9t cGVnMl9jbGFzcywNCj4+PiAgICAgICAgLnAuY2FwYWJpbGl0aWVzID0gQVZfQ09ERUNfQ0FQ X0RFTEFZIHwgQVZfQ09ERUNfQ0FQX0hBUkRXQVJFIHwNCj4+PiBkaWZmIC0tZ2l0IGEvbGli YXZjb2RlYy92YWFwaV9lbmNvZGVfdnA4LmMgYi9saWJhdmNvZGVjL3ZhYXBpX2VuY29kZV92 cDguYw0KPj4+IGluZGV4IGE5NWY5YzU0NDcuLjYzNGI4NDljZDIgMTAwNjQ0DQo+Pj4gLS0t IGEvbGliYXZjb2RlYy92YWFwaV9lbmNvZGVfdnA4LmMNCj4+PiArKysgYi9saWJhdmNvZGVj L3ZhYXBpX2VuY29kZV92cDguYw0KPj4+IEBAIC0yNTIsNyArMjUyLDcgQEAgY29uc3QgRkZD b2RlYyBmZl92cDhfdmFhcGlfZW5jb2RlciA9IHsNCj4+PiAgICAgICAgLnAuaWQgICAgICAg ICAgID0gQVZfQ09ERUNfSURfVlA4LA0KPj4+ICAgICAgICAucHJpdl9kYXRhX3NpemUgPSBz aXplb2YoVkFBUElFbmNvZGVWUDhDb250ZXh0KSwNCj4+PiAgICAgICAgLmluaXQgICAgICAg ICAgID0gJnZhYXBpX2VuY29kZV92cDhfaW5pdCwNCj4+PiAtICAgIEZGX0NPREVDX1JFQ0VJ VkVfUEFDS0VUX0NCKCZmZl9od19iYXNlX2VuY29kZV9yZWNlaXZlX3BhY2tldCksDQo+Pj4g KyAgICBGRl9DT0RFQ19SRUNFSVZFX1BBQ0tFVF9DQigmZmZfdmFhcGlfZW5jb2RlX3JlY2Vp dmVfcGFja2V0KSwNCj4+PiAgICAgICAgLmNsb3NlICAgICAgICAgID0gJmZmX3ZhYXBpX2Vu Y29kZV9jbG9zZSwNCj4+PiAgICAgICAgLnAucHJpdl9jbGFzcyAgID0gJnZhYXBpX2VuY29k ZV92cDhfY2xhc3MsDQo+Pj4gICAgICAgIC5wLmNhcGFiaWxpdGllcyA9IEFWX0NPREVDX0NB UF9ERUxBWSB8IEFWX0NPREVDX0NBUF9IQVJEV0FSRSB8DQo+Pj4gZGlmZiAtLWdpdCBhL2xp YmF2Y29kZWMvdmFhcGlfZW5jb2RlX3ZwOS5jIGIvbGliYXZjb2RlYy92YWFwaV9lbmNvZGVf dnA5LmMNCj4+PiBpbmRleCA5NmFjZDQxNGFmLi5lYWM5YmU4MmIwIDEwMDY0NA0KPj4+IC0t LSBhL2xpYmF2Y29kZWMvdmFhcGlfZW5jb2RlX3ZwOS5jDQo+Pj4gKysrIGIvbGliYXZjb2Rl Yy92YWFwaV9lbmNvZGVfdnA5LmMNCj4+PiBAQCAtMzA5LDcgKzMwOSw3IEBAIGNvbnN0IEZG Q29kZWMgZmZfdnA5X3ZhYXBpX2VuY29kZXIgPSB7DQo+Pj4gICAgICAgIC5wLmlkICAgICAg ICAgICA9IEFWX0NPREVDX0lEX1ZQOSwNCj4+PiAgICAgICAgLnByaXZfZGF0YV9zaXplID0g c2l6ZW9mKFZBQVBJRW5jb2RlVlA5Q29udGV4dCksDQo+Pj4gICAgICAgIC5pbml0ICAgICAg ICAgICA9ICZ2YWFwaV9lbmNvZGVfdnA5X2luaXQsDQo+Pj4gLSAgICBGRl9DT0RFQ19SRUNF SVZFX1BBQ0tFVF9DQigmZmZfaHdfYmFzZV9lbmNvZGVfcmVjZWl2ZV9wYWNrZXQpLA0KPj4+ ICsgICAgRkZfQ09ERUNfUkVDRUlWRV9QQUNLRVRfQ0IoJmZmX3ZhYXBpX2VuY29kZV9yZWNl aXZlX3BhY2tldCksDQo+Pj4gICAgICAgIC5jbG9zZSAgICAgICAgICA9ICZmZl92YWFwaV9l bmNvZGVfY2xvc2UsDQo+Pj4gICAgICAgIC5wLnByaXZfY2xhc3MgICA9ICZ2YWFwaV9lbmNv ZGVfdnA5X2NsYXNzLA0KPj4+ICAgICAgICAucC5jYXBhYmlsaXRpZXMgPSBBVl9DT0RFQ19D QVBfREVMQVkgfCBBVl9DT0RFQ19DQVBfSEFSRFdBUkUgfA0KPj4NCj4+IFRoYW5rcywgSSds bCBpbXBsZW1lbnQgVnVsa2FuIGhhcmR3YXJlIGVuY29kaW5nIG9uIHRvcCBhbmQgcmVwb3J0 IGJhY2sNCj4+IHdpdGggd2hhdCBlbHNlIG1heSBiZSBuZWVkZWQsIGlmIGFueXRoaW5nLg0K PiANCj4gU2luY2UgdGhlIGZvbGxvd2luZyBkM2QxMiBjb2RlY3MgYW5kIGZlYXR1cmVzIGFy ZSBibG9ja2VkIGJ5IHRoaXMgcGF0Y2ggc2V0LCB3b3VsZCB5b3UgbWluZCB3ZSBtZXJnaW5n IHRoaXMgcGF0Y2ggc2V0IGZpcnN0PyBJdCBkb2VzIG5vdCBjYXVzZSBhbnkgcmVncmVzc2lv biBmb3IgdmFhcGkuIEl0J3MgYmVlbiBxdWl0ZSBhIHdoaWxlIHNpbmNlIHRoZSBmaXJzdCB2 ZXJzaW9uIGFuZCBpdCBoYXMgYWxyZWFkeSB3ZW50IHRocm91Z2ggbXVsdGlwbGUgcm91bmRz IG9mIHZhYXBpIG1haW50YWluZXJzJyByZXZpZXcoTWFyayBhbmQgSGFpaGFvKS4gSWYgdGhl cmUncyBhbnl0aGluZyBuZWVkZWQgaW4gaHdfYmFzZV9lbmNvZGUgd2UgY291bGQgc2VuZCBz ZXBhcmF0ZSBwYXRjaGVzIHRvIGZpbmUgdHVuZS4gSSdtIGdsYWQgdG8gaGVscCBhbmQgcmV2 aWV3LiBUaGFua3MuDQo+IA0KPiAtVG9uZw0KDQpTaG91bGRuJ3QgdGFrZSBtZSBtb3JlIHRo YW4gYSBkYXkgb3IgdHdvLiBJZiBpdCBkb2VzLCBJJ2xsIGp1c3QgZG8gYSANCnF1aWNrIHJl dmlldyBhbmQgbWVyZ2UgaXQgaWYgaXQgbG9va3MgZ29vZC4NCg== --------------BdPNOr2NuuKOjUXKexM8QDy6 Content-Type: application/pgp-keys; name="OpenPGP_0xA2FEA5F03F034464.asc" Content-Disposition: attachment; filename="OpenPGP_0xA2FEA5F03F034464.asc" Content-Description: OpenPGP public key Content-Transfer-Encoding: quoted-printable -----BEGIN PGP PUBLIC KEY BLOCK----- xjMEXnFG3BYJKwYBBAHaRw8BAQdA3FyJpqEdfQj4GA7OUWVrNheT9dUsIs+yUx6H ljr9mYvNFEx5bm5lIDxkZXZAbHlubmUuZWU+wpAEExYIADgWIQT+UBOcaAVyyv1S H42i/qXwPwNEZAUCXnFG3AIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRCi /qXwPwNEZOTWAQCSNEA+kZLINZ2dsR5Qg988c0HXpOXThZEjg+h1TL7KGgEA3Gff 0c28efI02S6iMxazrpdWGHqHk7JN7pCjnt397wzOOARecUbcEgorBgEEAZdVAQUB AQdAjDdFQ5H+AJ9vwXrOb7val460g45EsheIaL5S7/zSaX8DAQgHwngEGBYIACAW IQT+UBOcaAVyyv1SH42i/qXwPwNEZAUCXnFG3AIbDAAKCRCi/qXwPwNEZKaxAQCH LV4gAk/B9JvRG27MYm22X3+5QRCLBtEILP29aDh+MQD/V8JFHATDXRY30LsmqR3s PQ0BJ1UFVZA5BUoIJPJZWwg=3D =3DylY5 -----END PGP PUBLIC KEY BLOCK----- --------------BdPNOr2NuuKOjUXKexM8QDy6-- --------------tGCGGGkO67FeRlPd9s2lNzmz-- --------------9DgEt1i4lFnPooP0TWkMHyVu Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature.asc" -----BEGIN PGP SIGNATURE----- wnsEABYIACMWIQT+UBOcaAVyyv1SH42i/qXwPwNEZAUCZmGr9gUDAAAAAAAKCRCi/qXwPwNEZFc2 AQCHvLRkF6nAT4clDlHo1GLx67JCN2TuRO7GrCGLCCa0DAD+LhL7b80q789zkUgrf4EDmijKl7yN +q6WuV5UHU3HkAs= =Dot+ -----END PGP SIGNATURE----- --------------9DgEt1i4lFnPooP0TWkMHyVu-- --===============8760663395739545590== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". --===============8760663395739545590==--