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 3E1A4493F5 for ; Sun, 10 Mar 2024 19:53:26 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1E3DE68CE16; Sun, 10 Mar 2024 21:53:24 +0200 (EET) Received: from mail-qv1-f42.google.com (mail-qv1-f42.google.com [209.85.219.42]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id CB56D68C6F8 for ; Sun, 10 Mar 2024 21:53:17 +0200 (EET) Received: by mail-qv1-f42.google.com with SMTP id 6a1803df08f44-690c08a7ff6so3884906d6.1 for ; Sun, 10 Mar 2024 12:53:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1710100396; x=1710705196; darn=ffmpeg.org; h=in-reply-to:autocrypt:from:references:to:content-language:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=iqE0t+kz7IFGz9dAhIbr/4vWVLzLyOqxQtwWZM5xElk=; b=d8LzoMV9XEZwBDy+2kvAhvB38o9aYvUEGes682QgFRfAuS+ylhyTOHUUIwvSnkVlP9 nV2dmBx3ZLqAYD8ReH9W1RZEwl5qnyvty/p+R1kAdeVdajNk9qNpKfrOqA/APATDuAC7 x+1chu3WNbiL/k8BAtG9kQC/jxSZHydII4gkOrJJIpfHDG47WJmH7axyf5EZZ/rceIUs IiPpHqIQO+ERFSGpeIKEftKOYeA4bWFEhDDFXlB2YgPDvE30zBuNvEMfD/p7dNc3S/Cm Q6+42j74Fs8JdoClj21jqRiaYVmmAi2ZLln0gUQmW9+bMQFt6AYzVef4CUHNlt0tcLCu Z0Cg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710100396; x=1710705196; h=in-reply-to:autocrypt:from:references:to:content-language:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=iqE0t+kz7IFGz9dAhIbr/4vWVLzLyOqxQtwWZM5xElk=; b=mhJ9JG82a0USSc4ox5+lpavNt+sjVPC6PqfRhIDuKR4dyvd8mhcT9YZSjcAWupsdR6 yINuZmYJHdaGErI5qmic5lr4A2bY71nt7iP+7AGWqaPs6eD9bA6pgiCZSJG5gN9G98os RFiSu1IJu5LSgfEP+rJQTJHf8ebIlNWiK6j3cHTzD3zr4I9Oac0OAECrtn46ZbWoM8F/ N5fCCIDiiPpYb3vSJNECuFs6ESjenDQVJ7Ofz6m513WoIFGDrdXg4gaMMTl1H5n2uttD /Rcl/pMOCzh0s8NNlKF1jVyNHL1d3EXr0fMvFZDh7UnnP86I04aucd1orEaXsouoQzum UzPg== X-Gm-Message-State: AOJu0YwciW5cW768kOfZpQquStDXX6+ZSOFbjBYNx2G7YUdwqtEjrmqe HaCAoVGu4e4eu6qSaIUd/VG3hsuB3dhQ+1TclSihA/9XZEGoGiQEGlQUb32H X-Google-Smtp-Source: AGHT+IFbz0a+PHpXnLr8rlaukhhYtAUgxQes60lMlZiI9LfCnYZu8Bc3SNBCv2DnCMzUDBci1Zchsg== X-Received: by 2002:a05:620a:3710:b0:788:5c6b:16bf with SMTP id de16-20020a05620a371000b007885c6b16bfmr7159069qkb.0.1710100395805; Sun, 10 Mar 2024 12:53:15 -0700 (PDT) Received: from [192.168.1.35] (c-68-56-149-176.hsd1.mi.comcast.net. [68.56.149.176]) by smtp.gmail.com with ESMTPSA id 22-20020a05620a04d600b007882b4cecf8sm2028490qks.57.2024.03.10.12.53.15 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 10 Mar 2024 12:53:15 -0700 (PDT) Message-ID: <3c36f0a3-4914-4b7c-b719-1190dff11274@gmail.com> Date: Sun, 10 Mar 2024 15:53:14 -0400 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US-large To: ffmpeg-devel@ffmpeg.org References: <20240309182752.3204466-1-marth64@proxyid.net> <20240309182752.3204466-4-marth64@proxyid.net> From: Leo Izen Autocrypt: addr=leo.izen@gmail.com; keydata= xjMEZZw8HxYJKwYBBAHaRw8BAQdAgcfI+LbtjWarA7LQu6/WAPlKkn9tn4HalmHgGVhMUdzN KkxlbyBJemVuIChUcmFuZXB0b3JhKSA8bGVvLml6ZW5AZ21haWwuY29tPsKTBBMWCgA7FiEE HYMKC85GcJ4gOyb8dk5I6kgiGDMFAmWcPB8CGwMFCwkIBwICIgIGFQoJCAsCBBYCAwECHgcC F4AACgkQdk5I6kgiGDOnGAEA+oJFwblAblnhK+T5a5EuEbXMTZG4FkYTYz0VmjJ0NHIA/Rn9 ZE9+EEsH8fmT0hRJSiM3+zbkwQJA9gVVYAek9kMKzjgEZZw8HxIKKwYBBAGXVQEFAQEHQDes 4thejF9AU2rkGuDuut3CQYwB4SVpI4EzU8uvPJgfAwEIB8J4BBgWCgAgFiEEHYMKC85GcJ4g Oyb8dk5I6kgiGDMFAmWcPB8CGwwACgkQdk5I6kgiGDOv3QD+PLXrL0Ihk675Ip5FG+VJOodN 6e+5n3iYC6wJ75eqG3EA/1nCywoGXlCYuzXgq3el6NOn+8awwaXcTVJFzZCRbe8M In-Reply-To: <20240309182752.3204466-4-marth64@proxyid.net> Subject: Re: [FFmpeg-devel] [PATCH v2 3/3] avformat/dvdvideodec: add menu demuxing support 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: , Reply-To: FFmpeg development discussions and patches Content-Type: multipart/mixed; boundary="===============4963599591144843318==" 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) --===============4963599591144843318== Content-Language: en-US-large Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------0GFsRB9LAAQnoS0NIZisTyPm" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------0GFsRB9LAAQnoS0NIZisTyPm Content-Type: multipart/mixed; boundary="------------Zhx0fhqoPdDWWTh5VFBSgdVU"; protected-headers="v1" From: Leo Izen To: ffmpeg-devel@ffmpeg.org Message-ID: <3c36f0a3-4914-4b7c-b719-1190dff11274@gmail.com> Subject: Re: [FFmpeg-devel] [PATCH v2 3/3] avformat/dvdvideodec: add menu demuxing support References: <20240309182752.3204466-1-marth64@proxyid.net> <20240309182752.3204466-4-marth64@proxyid.net> In-Reply-To: <20240309182752.3204466-4-marth64@proxyid.net> --------------Zhx0fhqoPdDWWTh5VFBSgdVU Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 T24gMy85LzI0IDEzOjI3LCBNYXJ0aDY0IHdyb3RlOg0KPiBTaWduZWQtb2ZmLWJ5OiBNYXJ0 aDY0IDxtYXJ0aDY0QHByb3h5aWQubmV0Pg0KPiAtLS0NCj4gICBkb2MvZGVtdXhlcnMudGV4 aSAgICAgICAgIHwgIDQzICsrKysrLQ0KPiAgIGxpYmF2Zm9ybWF0L2R2ZHZpZGVvZGVjLmMg fCAzMTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0NCj4gICAyIGZp bGVzIGNoYW5nZWQsIDMzOSBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkNCj4gDQo+ IGRpZmYgLS1naXQgYS9kb2MvZGVtdXhlcnMudGV4aSBiL2RvYy9kZW11eGVycy50ZXhpDQo+ IGluZGV4IGY0YmFjOGYzYjMuLmI3MGYzYTM4ZDcgMTAwNjQ0DQo+IC0tLSBhL2RvYy9kZW11 eGVycy50ZXhpDQo+ICsrKyBiL2RvYy9kZW11eGVycy50ZXhpDQo+IEBAIC0yODksOCArMjg5 LDEwIEBAIFRoaXMgZGVtdXhlciBhY2NlcHRzIHRoZSBmb2xsb3dpbmcgb3B0aW9uOg0KPiAg IA0KPiAgIERWRC1WaWRlbyBkZW11eGVyLCBwb3dlcmVkIGJ5IGxpYmR2ZG5hdiBhbmQgbGli ZHZkcmVhZC4NCj4gICANCj4gLUNhbiBkaXJlY3RseSBpbmdlc3QgRFZEIHRpdGxlcywgc3Bl Y2lmaWNhbGx5IHNlcXVlbnRpYWwgUEdDcywNCj4gLWludG8gYSBjb252ZXJzaW9uIHBpcGVs aW5lLiBNZW51cyBhbmQgc2Vla2luZyBhcmUgbm90IHN1cHBvcnRlZCBhdCB0aGlzIHRpbWUu DQo+ICtDYW4gZGlyZWN0bHkgaW5nZXN0IERWRCB0aXRsZXMsIHNwZWNpZmljYWxseSBzZXF1 ZW50aWFsIFBHQ3MsIGludG8NCj4gK2EgY29udmVyc2lvbiBwaXBlbGluZS4gTWVudSBhc3Nl dHMsIHN1Y2ggYXMgYmFja2dyb3VuZCB2aWRlbyBvciBhdWRpbywNCj4gK2NhbiBhbHNvIGJl IGRlbXV4ZWQgZ2l2ZW4gdGhlIG1lbnUncyBjb29yZGluYXRlcyAoYXQgYmVzdCBlZmZvcnQp Lg0KPiArU2Vla2luZyBpcyBub3Qgc3VwcG9ydGVkIGF0IHRoaXMgdGltZS4NCj4gICANCj4g ICBCbG9jayBkZXZpY2VzIChEVkQgZHJpdmVzKSwgSVNPIGZpbGVzLCBhbmQgZGlyZWN0b3J5 IHN0cnVjdHVyZXMgYXJlIGFjY2VwdGVkLg0KPiAgIEFjdGl2YXRlIHdpdGggQGNvZGV7LWYg ZHZkdmlkZW99IGluIGZyb250IG9mIG9uZSBvZiB0aGVzZSBpbnB1dHMuDQo+IEBAIC0zNDcs MzcgKzM0OSw1NiBAQCBUaGlzIGRlbXV4ZXIgYWNjZXB0cyB0aGUgZm9sbG93aW5nIG9wdGlv bnM6DQo+ICAgDQo+ICAgQGl0ZW0gdGl0bGUgQHZhcntpbnR9DQo+ICAgVGhlIHRpdGxlIG51 bWJlciB0byBwbGF5LiBNdXN0IGJlIHNldCBpZiBAb3B0aW9ue3BnY30gYW5kIEBvcHRpb257 cGd9IGFyZSBub3Qgc2V0Lg0KPiArTm90IGFwcGxpY2FibGUgdG8gbWVudXMuDQo+ICAgRGVm YXVsdCBpcyAwIChhdXRvKSwgd2hpY2ggY3VycmVudGx5IG9ubHkgc2VsZWN0cyB0aGUgZmly c3QgYXZhaWxhYmxlIHRpdGxlICh0aXRsZSAxKQ0KPiAgIGFuZCBub3RpZmllcyB0aGUgdXNl ciBhYm91dCB0aGUgaW1wbGljYXRpb25zLg0KPiAgIA0KPiAgIEBpdGVtIGNoYXB0ZXJfc3Rh cnQgQHZhcntpbnR9DQo+IC1UaGUgY2hhcHRlciwgb3IgUFRUIChwYXJ0LW9mLXRpdGxlKSwg bnVtYmVyIHRvIHN0YXJ0IGF0LiBEZWZhdWx0IGlzIDEuDQo+ICtUaGUgY2hhcHRlciwgb3Ig UFRUIChwYXJ0LW9mLXRpdGxlKSwgbnVtYmVyIHRvIHN0YXJ0IGF0LiBOb3QgYXBwbGljYWJs ZSB0byBtZW51cy4NCj4gK0RlZmF1bHQgaXMgMS4NCj4gICANCj4gICBAaXRlbSBjaGFwdGVy X2VuZCBAdmFye2ludH0NCj4gLVRoZSBjaGFwdGVyLCBvciBQVFQgKHBhcnQtb2YtdGl0bGUp LCBudW1iZXIgdG8gZW5kIGF0LiBEZWZhdWx0IGlzIDAsDQo+IC13aGljaCBpcyBhIHNwZWNp YWwgdmFsdWUgdG8gc2lnbmFsIGVuZCBhdCB0aGUgbGFzdCBwb3NzaWJsZSBjaGFwdGVyLg0K PiArVGhlIGNoYXB0ZXIsIG9yIFBUVCAocGFydC1vZi10aXRsZSksIG51bWJlciB0byBlbmQg YXQuIE5vdCBhcHBsaWNhYmxlIHRvIG1lbnVzLg0KPiArRGVmYXVsdCBpcyAwLCB3aGljaCBp cyBhIHNwZWNpYWwgdmFsdWUgdG8gc2lnbmFsIGVuZCBhdCB0aGUgbGFzdCBwb3NzaWJsZSBj aGFwdGVyLg0KPiAgIA0KPiAgIEBpdGVtIGFuZ2xlIEB2YXJ7aW50fQ0KPiAgIFRoZSB2aWRl byBhbmdsZSBudW1iZXIsIHJlZmVycmluZyB0byB3aGF0IGlzIGVzc2VudGlhbGx5IGFuIGFk ZGl0aW9uYWwNCj4gICB2aWRlbyBzdHJlYW0gdGhhdCBpcyBjb21wb3NlZCBmcm9tIGFsdGVy bmF0ZSBmcmFtZXMgaW50ZXJsZWF2ZWQgaW4gdGhlIFZPQnMuDQo+ICtOb3QgYXBwbGljYWJs ZSB0byBtZW51cy4NCj4gICBEZWZhdWx0IGlzIDEuDQo+ICAgDQo+ICAgQGl0ZW0gcmVnaW9u IEB2YXJ7aW50fQ0KPiAgIFRoZSByZWdpb24gY29kZSB0byB1c2UgZm9yIHBsYXliYWNrLiBT b21lIGRpc2NzIG1heSB1c2UgdGhpcyB0byBkZWZhdWx0IHBsYXliYWNrDQo+ICAgYXQgYSBw YXJ0aWN1bGFyIGFuZ2xlIGluIGRpZmZlcmVudCByZWdpb25zLiBUaGlzIG9wdGlvbiB3aWxs IG5vdCBhZmZlY3QgdGhlIHJlZ2lvbiBjb2RlDQo+IC1vZiBhIHJlYWwgRFZEIGRyaXZlLCBp ZiB1c2VkIGFzIGFuIGlucHV0LiBEZWZhdWx0IGlzIDAsICJ3b3JsZCIuDQo+ICtvZiBhIHJl YWwgRFZEIGRyaXZlLCBpZiB1c2VkIGFzIGFuIGlucHV0LiBOb3QgYXBwbGljYWJsZSB0byBt ZW51cy4NCj4gK0RlZmF1bHQgaXMgMCwgIndvcmxkIi4NCj4gKw0KPiArQGl0ZW0gbWVudSBA dmFye2Jvb2x9DQo+ICtEZW11eCBtZW51IGFzc2V0cyBpbnN0ZWFkIG9mIG5hdmlnYXRpbmcg YSB0aXRsZS4gUmVxdWlyZXMgZXhhY3QgY29vcmRpbmF0ZXMNCj4gK29mIHRoZSBtZW51IChA b3B0aW9ue21lbnVfbHV9LCBAb3B0aW9ue21lbnVfdnRzfSwgQG9wdGlvbntwZ2N9LCBAb3B0 aW9ue3BnfSkuDQo+ICtEZWZhdWx0IGlzIGZhbHNlLg0KPiArDQo+ICtAaXRlbSBtZW51X2x1 IEB2YXJ7aW50fQ0KPiArVGhlIG1lbnUgbGFuZ3VhZ2UgdG8gZGVtdXguIEluIERWRCwgbWVu dXMgYXJlIGdyb3VwZWQgYnkgbGFuZ3VhZ2UuDQo+ICtEZWZhdWx0IGlzIDAsIHRoZSBmaXJz dCBsYW5ndWFnZSB1bml0Lg0KPiArDQo+ICtAaXRlbSBtZW51X3Z0cyBAdmFye2ludH0NCj4g K1RoZSBWVFMgd2hlcmUgdGhlIG1lbnUgbGl2ZXMsIG9yIDAgaWYgaXQgaXMgYSBWTUcgbWVu dSAocm9vdC1sZXZlbCkuDQo+ICtEZWZhdWx0IGlzIDAsIFZNRyBtZW51Lg0KPiAgIA0KPiAg IEBpdGVtIHBnYyBAdmFye2ludH0NCj4gICBUaGUgZW50cnkgUEdDIHRvIHN0YXJ0IHBsYXli YWNrLCBpbiBjb25qdW5jdGlvbiB3aXRoIEBvcHRpb257cGd9Lg0KPiAgIEFsdGVybmF0aXZl IHRvIHNldHRpbmcgQG9wdGlvbnt0aXRsZX0uDQo+ICAgQ2hhcHRlciBtYXJrZXJzIGFyZSBu b3Qgc3VwcG9ydGVkIGF0IHRoaXMgdGltZS4NCj4gK011c3QgYmUgZXhwbGljaXRseSBzZXQg Zm9yIG1lbnVzLg0KPiAgIERlZmF1bHQgaXMgMCwgYXV0b21hdGljYWxseSByZXNvbHZlIGZy b20gdmFsdWUgb2YgQG9wdGlvbnt0aXRsZX0uDQo+ICAgDQo+ICAgQGl0ZW0gcGcgQHZhcntp bnR9DQo+ICAgVGhlIGVudHJ5IFBHIHRvIHN0YXJ0IHBsYXliYWNrLCBpbiBjb25qdW5jdGlv biB3aXRoIEBvcHRpb257cGdjfS4NCj4gICBBbHRlcm5hdGl2ZSB0byBzZXR0aW5nIEBvcHRp b257dGl0bGV9Lg0KPiAgIENoYXB0ZXIgbWFya2VycyBhcmUgbm90IHN1cHBvcnRlZCBhdCB0 aGlzIHRpbWUuDQo+IC1EZWZhdWx0IGlzIDAsIGF1dG9tYXRpY2FsbHkgcmVzb2x2ZSBmcm9t IHZhbHVlIG9mIEBvcHRpb257dGl0bGV9Lg0KPiArRGVmYXVsdCBpcyAwLCBhdXRvbWF0aWNh bGx5IHJlc29sdmUgZnJvbSB2YWx1ZSBvZiBAb3B0aW9ue3RpdGxlfSwgb3INCj4gK3N0YXJ0 IGZyb20gdGhlIGJlZ2lubmluZyAoUEcgMSkgb2YgdGhlIG1lbnUuDQo+ICAgDQo+ICAgQGl0 ZW0gcHJlaW5kZXggQHZhcntib29sfQ0KPiAgIEVuYWJsZSB0aGlzIHRvIGhhdmUgYWNjdXJh dGUgY2hhcHRlciAoUFRUKSBtYXJrZXJzIGFuZCBkdXJhdGlvbiBtZWFzdXJlbWVudCwNCj4g QEAgLTM4NSw2ICs0MDYsNyBAQCB3aGljaCByZXF1aXJlcyBhIHNsb3cgc2Vjb25kIHBhc3Mg cmVhZCBpbiBvcmRlciB0byBpbmRleCB0aGUgY2hhcHRlciBtYXJrZXINCj4gICB0aW1lc3Rh bXBzIGZyb20gTkFWIHBhY2tldHMuIFRoaXMgaXMgbm9uLWlkZWFsIGV4dHJhIHdvcmsgZm9y IHJlYWwgb3B0aWNhbCBkcml2ZXMuDQo+ICAgSXQgaXMgcmVjb21tZW5kZWQgYW5kIGZhc3Rl ciB0byB1c2UgdGhpcyBvcHRpb24gd2l0aCBhIGJhY2t1cCBvZiB0aGUgRFZEIHN0cnVjdHVy ZQ0KPiAgIHN0b3JlZCBvbiBhIGhhcmQgZHJpdmUuIE5vdCBjb21wYXRpYmxlIHdpdGggQG9w dGlvbntwZ2N9IGFuZCBAb3B0aW9ue3BnfS4NCj4gK05vdCBhcHBsaWNhYmxlIHRvIG1lbnVz Lg0KPiAgIERlZmF1bHQgaXMgMCwgZmFsc2UuDQo+ICAgDQo+ICAgQGl0ZW0gdHJpbSBAdmFy e2Jvb2x9DQo+IEBAIC0zOTIsNiArNDE0LDcgQEAgU2tpcCBwYWRkaW5nIGNlbGxzIChpLmUu IGNlbGxzIHNob3J0ZXIgdGhhbiAxIHNlY29uZCkgZnJvbSB0aGUgYmVnaW5uaW5nLg0KPiAg IFRoZXJlIGV4aXN0IG1hbnkgZGlzY3Mgd2l0aCBmaWxsZXIgc2VnbWVudHMgYXQgdGhlIGJl Z2lubmluZyBvZiB0aGUgUEdDLA0KPiAgIG9mdGVuIHdpdGgganVuayBkYXRhIGludGVuZGVk IGZvciBjb250cm9sbGluZyBhIHJlYWwgRFZEIHBsYXllcidzDQo+ICAgYnVmZmVyaW5nIHNw ZWVkIGFuZCB3aXRoIG5vIG90aGVyIG1hdGVyaWFsIGRhdGEgdmFsdWUuDQo+ICtOb3QgYXBw bGljYWJsZSB0byBtZW51cy4NCj4gICBEZWZhdWx0IGlzIDEsIHRydWUuDQo+ICAgDQo+ICAg QGVuZCB0YWJsZQ0KPiBAQCAtNDE2LDYgKzQzOSwxMiBAQCBPcGVuIG9ubHkgY2hhcHRlciA1 IGZyb20gdGl0bGUgMSBmcm9tIGEgZ2l2ZW4gRFZEIHN0cnVjdHVyZToNCj4gICBAZXhhbXBs ZQ0KPiAgIGZmbXBlZyAtZiBkdmR2aWRlbyAtY2hhcHRlcl9zdGFydCA1IC1jaGFwdGVyX2Vu ZCA1IC10aXRsZSAxIC1pIDxwYXRoIHRvIERWRD4gLi4uDQo+ICAgQGVuZCBleGFtcGxlDQo+ ICsNCj4gK0BpdGVtDQo+ICtEZW11eCBtZW51IHdpdGggbGFuZ3VhZ2UgMSBmcm9tIFZUUyAx LCBQR0MgMSwgc3RhcnRpbmcgYXQgUEcgMToNCj4gK0BleGFtcGxlDQo+ICtmZm1wZWcgLWYg ZHZkdmlkZW8gLW1lbnUgMSAtbWVudV9sdSAxIC1tZW51X3Z0cyAxIC1wZ2MgMSAtcGcgMSAt aSA8cGF0aCB0byBEVkQ+IC4uLg0KPiArQGVuZCBleGFtcGxlDQo+ICAgQGVuZCBpdGVtaXpl DQo+ICAgDQo+ICAgQHNlY3Rpb24gZWENCj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2R2 ZHZpZGVvZGVjLmMgYi9saWJhdmZvcm1hdC9kdmR2aWRlb2RlYy5jDQo+IGluZGV4IDZmNjI2 Y2U5YTAuLmExODJmOTUwOTcgMTAwNjQ0DQo+IC0tLSBhL2xpYmF2Zm9ybWF0L2R2ZHZpZGVv ZGVjLmMNCj4gKysrIGIvbGliYXZmb3JtYXQvZHZkdmlkZW9kZWMuYw0KPiBAQCAtNTcsOSAr NTcsMTEgQEANCj4gICAjZGVmaW5lIERWRFZJREVPX0JMT0NLX1NJWkUgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDIwNDgNCj4gICAjZGVmaW5lIERWRFZJREVPX1RJTUVfQkFTRV9R ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChBVlJhdGlvbmFsKSB7IDEsIDkwMDAwIH0N Cj4gICAjZGVmaW5lIERWRFZJREVPX1BUU19XUkFQX0JJVFMgICAgICAgICAgICAgICAgICAg ICAgICAgIDY0IC8qIFZPQlVzIHVzZSAzMiAoUEVTIGFsbG93cyAzMykgKi8NCj4gLQ0KPiAg ICNkZWZpbmUgRFZEVklERU9fTElCRFZEWF9MT0dfQlVGRkVSX1NJWkUgICAgICAgICAgICAg ICAgMTAyNA0KPiAgIA0KPiArI2RlZmluZSBQQ0lfU1RBUlRfQllURSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA0NSAvKiBjb21wbGVtZW50IGR2ZHJlYWQncyBEU0lfU1RB UlRfQllURSAqLw0KPiArc3RhdGljIGNvbnN0IHVpbnQ4X3QgZHZkdmlkZW9fbmF2X2hlYWRl cls0XSA9ICAgICAgICAgICB7IDB4MDAsIDB4MDAsIDB4MDEsIDB4QkYgfTsNCj4gKw0KPiAg IGVudW0gRFZEVmlkZW9TdWJwaWN0dXJlVmlld3BvcnQgew0KPiAgICAgICBEVkRWSURFT19T VUJQX1ZJRVdQT1JUX0ZVTExTQ1JFRU4sDQo+ICAgICAgIERWRFZJREVPX1NVQlBfVklFV1BP UlRfV0lERVNDUkVFTiwNCj4gQEAgLTEyMSw2ICsxMjMsMTUgQEAgdHlwZWRlZiBzdHJ1Y3Qg RFZEVmlkZW9QbGF5YmFja1N0YXRlIHsNCj4gICAgICAgdWludDY0X3QgICAgICAgICAgICAg ICAgICAgICpwZ2NfcGdfdGltZXNfZXN0OyAgLyogUEcgc3RhcnQgdGltZXMgYXMgcmVwb3J0 ZWQgYnkgSUZPICovDQo+ICAgICAgIHBnY190ICAgICAgICAgICAgICAgICAgICAgICAqcGdj OyAgICAgICAgICAgICAgIC8qIGhhbmRsZSB0byB0aGUgYWN0aXZlIFBHQyAqLw0KPiAgICAg ICBkdmRuYXZfdCAgICAgICAgICAgICAgICAgICAgKmR2ZG5hdjsgICAgICAgICAgICAvKiBo YW5kbGUgdG8gdGhlIGR2ZG5hdiBWTSAqLw0KPiArDQo+ICsgICAgLyogdGhlIGZvbGxvd2lu ZyBmaWVsZHMgYXJlIG9ubHkgdXNlZCBmb3IgbWVudSBwbGF5YmFjayAqLw0KPiArICAgIGlu dCAgICAgICAgICAgICAgICAgICAgICAgICBjZWxsbl9zdGFydDsgICAgICAgIC8qIHN0YXJ0 aW5nIGNlbGwgbnVtYmVyICovDQo+ICsgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAg IGNlbGxuX2VuZDsgICAgICAgICAgLyogZW5kaW5nIGNlbGwgbnVtYmVyICovDQo+ICsgICAg aW50ICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3Rvcl9vZmZzZXQ7ICAgICAgLyogY3Vy cmVudCBzZWN0b3IgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgVk9CICovDQo+ICsgICAgdWlu dDMyX3QgICAgICAgICAgICAgICAgICAgIHNlY3Rvcl9lbmQ7ICAgICAgICAgLyogZW5kIHNl Y3RvciByZWxhdGl2ZSB0byB0aGUgY3VycmVudCBWT0JVICovDQo+ICsgICAgdWludDMyX3Qg ICAgICAgICAgICAgICAgICAgIHZvYnVfbmV4dDsgICAgICAgICAgLyogdGhlIG5leHQgVk9C VSBwb2ludGVyICovDQo+ICsgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgIHZvYnVf cmVtYWluaW5nOyAgICAgLyogcmVtYWluaW5nIGJsb2NrcyBmb3IgY3VycmVudCBWT0JVICov DQo+ICsgICAgZHZkX2ZpbGVfdCAgICAgICAgICAgICAgICAgICp2b2JfZmlsZTsgICAgICAg ICAgLyogaGFuZGxlIHRvIHRoZSBtZW51IFZPQiAoVk1HIG9yIFZUUykgKi8NCj4gICB9IERW RFZpZGVvUGxheWJhY2tTdGF0ZTsNCj4gICANCj4gICB0eXBlZGVmIHN0cnVjdCBEVkRWaWRl b0RlbXV4Q29udGV4dCB7DQo+IEBAIC0xMzAsNiArMTQxLDkgQEAgdHlwZWRlZiBzdHJ1Y3Qg RFZEVmlkZW9EZW11eENvbnRleHQgew0KPiAgICAgICBpbnQgICAgICAgICAgICAgICAgICAg ICAgICAgb3B0X2FuZ2xlOyAgICAgICAgICAvKiB0aGUgdXNlci1wcm92aWRlZCBhbmdsZSBu dW1iZXIgKDEtaW5kZXhlZCkgKi8NCj4gICAgICAgaW50ICAgICAgICAgICAgICAgICAgICAg ICAgIG9wdF9jaGFwdGVyX2VuZDsgICAgLyogdGhlIHVzZXItcHJvdmlkZWQgZXhpdCBQVFQg KDAgZm9yIGxhc3QpICovDQo+ICAgICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICBv cHRfY2hhcHRlcl9zdGFydDsgIC8qIHRoZSB1c2VyLXByb3ZpZGVkIGVudHJ5IFBUVCAoMS1p bmRleGVkKSAqLw0KPiArICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICBvcHRfbWVu dTsgICAgICAgICAgIC8qIGRlbXV4IG1lbnUgZG9tYWluIGluc3RlYWQgb2YgdGl0bGUgZG9t YWluICovDQo+ICsgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgIG9wdF9tZW51X2x1 OyAgICAgICAgLyogdGhlIG1lbnUgbGFuZ3VhZ2UgdW5pdCAobG9naWNhbCBncm91cGluZykg Ki8NCj4gKyAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgb3B0X21lbnVfdnRzOyAg ICAgICAvKiB0aGUgbWVudSBWVFMsIG9yIDAgZm9yIFZNRyAobWFpbiBtZW51KSAqLw0KPiAg ICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgb3B0X3BnOyAgICAgICAgICAgICAv KiB0aGUgdXNlci1wcm92aWRlZCBQRyBudW1iZXIgKDEtaW5kZXhlZCkgKi8NCj4gICAgICAg aW50ICAgICAgICAgICAgICAgICAgICAgICAgIG9wdF9wZ2M7ICAgICAgICAgICAgLyogdGhl IHVzZXItcHJvdmlkZWQgUEdDIG51bWJlciAoMS1pbmRleGVkKSAqLw0KPiAgICAgICBpbnQg ICAgICAgICAgICAgICAgICAgICAgICAgb3B0X3ByZWluZGV4OyAgICAgICAvKiBwcmUtaW5k ZXhpbmcgbW9kZSAoMi1wYXNzIHJlYWQpICovDQo+IEBAIC0yMjYsNiArMjQwLDE2IEBAIHN0 YXRpYyBpbnQgZHZkdmlkZW9faWZvX29wZW4oQVZGb3JtYXRDb250ZXh0ICpzKQ0KPiAgICAg ICAgICAgcmV0dXJuIEFWRVJST1JfRVhURVJOQUw7DQo+ICAgICAgIH0NCj4gICANCj4gKyAg ICBpZiAoYy0+b3B0X21lbnUpIHsNCj4gKyAgICAgICAgaWYgKGMtPm9wdF9tZW51X3Z0cyA+ IDAgJiYgIShjLT52dHNfaWZvID0gaWZvT3BlbihjLT5kdmRyZWFkLCBjLT5vcHRfbWVudV92 dHMpKSkgew0KPiArICAgICAgICAgICAgYXZfbG9nKHMsIEFWX0xPR19FUlJPUiwgIlVuYWJs ZSB0byBvcGVuIElGTyBzdHJ1Y3R1cmUgZm9yIFZUUyAlZFxuIiwgYy0+b3B0X21lbnVfdnRz KTsNCj4gKw0KPiArICAgICAgICAgICAgcmV0dXJuIEFWRVJST1JfRVhURVJOQUw7DQo+ICsg ICAgICAgIH0NCj4gKw0KPiArICAgICAgICByZXR1cm4gMDsNCj4gKyAgICB9DQo+ICsNCj4g ICAgICAgaWYgKGMtPm9wdF90aXRsZSA+IGMtPnZtZ19pZm8tPnR0X3NycHQtPm5yX29mX3Ny cHRzKSB7DQo+ICAgICAgICAgICBhdl9sb2cocywgQVZfTE9HX0VSUk9SLCAiVGl0bGUgJWQg bm90IGZvdW5kXG4iLCBjLT5vcHRfdGl0bGUpOw0KPiAgIA0KPiBAQCAtMjg5LDYgKzMxMywx ODMgQEAgc3RhdGljIGludCBkdmR2aWRlb19pc19wZ2NfcHJvbWlzaW5nKEFWRm9ybWF0Q29u dGV4dCAqcywgcGdjX3QgKnBnYykNCj4gICAgICAgcmV0dXJuIDA7DQo+ICAgfQ0KPiAgIA0K PiArc3RhdGljIHZvaWQgZHZkdmlkZW9fbWVudV9jbG9zZShBVkZvcm1hdENvbnRleHQgKnMs IERWRFZpZGVvUGxheWJhY2tTdGF0ZSAqc3RhdGUpDQo+ICt7DQo+ICsgICAgaWYgKHN0YXRl LT52b2JfZmlsZSkNCj4gKyAgICAgICAgRFZEQ2xvc2VGaWxlKHN0YXRlLT52b2JfZmlsZSk7 DQo+ICt9DQoNCklzIHRoZXJlIGFueSByaXNrIHRoaXMgd2lsbCBiZSBjYWxsZWQgdHdpY2U/ IElmIHNvLCB3ZSBzaG91bGQgemVybyBvdXQgDQpzdGF0ZS0+dm9iX2ZpbGUgYWZ0ZXIgY2Fs bGluZyBEVkRDbG9zZUZpbGUuDQoNCj4gKw0KPiArc3RhdGljIGludCBkdmR2aWRlb19tZW51 X29wZW4oQVZGb3JtYXRDb250ZXh0ICpzLCBEVkRWaWRlb1BsYXliYWNrU3RhdGUgKnN0YXRl KQ0KPiArew0KPiArICAgIERWRFZpZGVvRGVtdXhDb250ZXh0ICpjID0gcy0+cHJpdl9kYXRh Ow0KPiArICAgIHBnY2lfdXRfdCAqcGdjaV91dDsNCj4gKw0KPiArICAgIHBnY2lfdXQgPSBj LT5vcHRfbWVudV92dHMgPyBjLT52dHNfaWZvLT5wZ2NpX3V0IDogYy0+dm1nX2lmby0+cGdj aV91dDsNCj4gKyAgICBpZiAoIXBnY2lfdXQpIHsNCj4gKyAgICAgICAgYXZfbG9nKHMsIEFW X0xPR19FUlJPUiwgIkludmFsaWQgUEdDIHRhYmxlIGZvciBtZW51IFtMVSAlZCwgUEdDICVk XVxuIiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0+b3B0X21lbnVf bHUsIGMtPm9wdF9wZ2MpOw0KPiArDQo+ICsgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFM SUREQVRBOw0KPiArICAgIH0NCj4gKw0KPiArICAgIGlmIChjLT5vcHRfcGdjIDwgMSAgICAg ICAgICAgICAgICAgICAgICB8fA0KPiArICAgICAgICBjLT5vcHRfbWVudV9sdSA8IDEgICAg ICAgICAgICAgICAgICB8fA0KPiArICAgICAgICBjLT5vcHRfbWVudV9sdSA+IHBnY2lfdXQt Pm5yX29mX2x1cyB8fA0KPiArICAgICAgICBjLT5vcHRfcGdjID4gcGdjaV91dC0+bHVbYy0+ b3B0X21lbnVfbHUgLSAxXS5wZ2NpdC0+bnJfb2ZfcGdjaV9zcnApIHsNCj4gKw0KPiArICAg ICAgICBhdl9sb2cocywgQVZfTE9HX0VSUk9SLCAiTWVudSBbTFUgJWQsIFBHQyAlZF0gbm90 IGZvdW5kXG4iLCBjLT5vcHRfbWVudV9sdSwgYy0+b3B0X3BnYyk7DQo+ICsNCj4gKyAgICAg ICAgcmV0dXJuIEFWRVJST1IoRUlOVkFMKTsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICAvKiBt YWtlIHN1cmUgdGhlIFBHQyBpcyB2YWxpZCAqLw0KPiArICAgIHN0YXRlLT5wZ2NuICAgICAg ICAgID0gYy0+b3B0X3BnYyAtIDE7DQo+ICsgICAgc3RhdGUtPnBnYyAgICAgICAgICAgPSBw Z2NpX3V0LT5sdVtjLT5vcHRfbWVudV9sdSAtIDFdLnBnY2l0LT5wZ2NpX3NycFtjLT5vcHRf cGdjIC0gMV0ucGdjOw0KPiArICAgIGlmICghc3RhdGUtPnBnYyB8fCAhc3RhdGUtPnBnYy0+ cHJvZ3JhbV9tYXAgfHwgIXN0YXRlLT5wZ2MtPmNlbGxfcGxheWJhY2spIHsNCj4gKyAgICAg ICAgYXZfbG9nKHMsIEFWX0xPR19FUlJPUiwgIkludmFsaWQgUEdDIHN0cnVjdHVyZSBmb3Ig bWVudSBbTFUgJWQsIFBHQyAlZF1cbiIsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGMtPm9wdF9tZW51X2x1LCBjLT5vcHRfcGdjKTsNCj4gKw0KPiArICAgICAgICBy ZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICAvKiBt YWtlIHN1cmUgdGhlIFBHIGlzIHZhbGlkICovDQo+ICsgICAgc3RhdGUtPmVudHJ5X3BnbiAg ICAgPSBjLT5vcHRfcGc7DQo+ICsgICAgaWYgKHN0YXRlLT5lbnRyeV9wZ24gPCAxIHx8IHN0 YXRlLT5lbnRyeV9wZ24gPiBzdGF0ZS0+cGdjLT5ucl9vZl9wcm9ncmFtcykgew0KPiArICAg ICAgICBhdl9sb2cocywgQVZfTE9HX0VSUk9SLCAiRW50cnkgUEcgJWQgbm90IGZvdW5kXG4i LCBzdGF0ZS0+ZW50cnlfcGduKTsNCj4gKw0KPiArICAgICAgICByZXR1cm4gQVZFUlJPUihF SU5WQUwpOw0KPiArICAgIH0NCj4gKw0KPiArICAgIC8qIG1ha2Ugc3VyZSB0aGUgcHJvZ3Jh bSBtYXAgaXNuJ3QgbGVhZGluZyB1cyB0byBub3doZXJlICovDQo+ICsgICAgc3RhdGUtPmNl bGxuX3N0YXJ0ICAgPSBzdGF0ZS0+cGdjLT5wcm9ncmFtX21hcFtzdGF0ZS0+ZW50cnlfcGdu IC0gMV07DQo+ICsgICAgc3RhdGUtPmNlbGxuX2VuZCAgICAgPSBzdGF0ZS0+cGdjLT5ucl9v Zl9jZWxsczsNCj4gKyAgICBzdGF0ZS0+Y2VsbG4gICAgICAgICA9IHN0YXRlLT5jZWxsbl9z dGFydDsNCj4gKyAgICBpZiAoc3RhdGUtPmNlbGxuX3N0YXJ0ID4gc3RhdGUtPnBnYy0+bnJf b2ZfY2VsbHMpIHsNCj4gKyAgICAgICAgYXZfbG9nKHMsIEFWX0xPR19FUlJPUiwgIkludmFs aWQgUEdDIHN0cnVjdHVyZTogcHJvZ3JhbSBtYXAgcG9pbnRzIHRvIHVua25vd24gY2VsbFxu Iik7DQo+ICsNCj4gKyAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7DQo+ICsg ICAgfQ0KPiArDQo+ICsgICAgc3RhdGUtPnNlY3Rvcl9lbmQgICAgPSBzdGF0ZS0+cGdjLT5j ZWxsX3BsYXliYWNrW3N0YXRlLT5jZWxsbiAtIDFdLmxhc3Rfc2VjdG9yOw0KPiArICAgIHN0 YXRlLT52b2J1X25leHQgICAgID0gc3RhdGUtPnBnYy0+Y2VsbF9wbGF5YmFja1tzdGF0ZS0+ Y2VsbG4gLSAxXS5maXJzdF9zZWN0b3I7DQo+ICsgICAgc3RhdGUtPnNlY3Rvcl9vZmZzZXQg PSBzdGF0ZS0+dm9idV9uZXh0Ow0KPiArDQo+ICsgICAgaWYgKGMtPm9wdF9tZW51X3Z0cyA+ IDApDQo+ICsgICAgICAgIHN0YXRlLT5pbl92dHMgICAgPSAxOw0KPiArDQo+ICsgICAgaWYg KCEoc3RhdGUtPnZvYl9maWxlID0gRFZET3BlbkZpbGUoYy0+ZHZkcmVhZCwgYy0+b3B0X21l bnVfdnRzLCBEVkRfUkVBRF9NRU5VX1ZPQlMpKSkgew0KPiArICAgICAgICBhdl9sb2cocywg QVZfTE9HX0VSUk9SLCAhYy0+b3B0X21lbnVfdnRzID8NCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIlVuYWJsZSB0byBvcGVuIG1haW4gbWVudSBWT0IgKFZJREVPX1RT LlZPQilcbiIgOg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5hYmxl IHRvIG9wZW4gbWVudSBWT0JzIGZvciBWVFMgJWRcbiIsIGMtPm9wdF9tZW51X3Z0cyk7DQo+ ICsNCj4gKyAgICAgICAgcmV0dXJuIEFWRVJST1JfRVhURVJOQUw7DQo+ICsgICAgfQ0KPiAr DQo+ICsgICAgcmV0dXJuIDA7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBpbnQgZHZkdmlkZW9f bWVudV9uZXh0X3BzX2Jsb2NrKEFWRm9ybWF0Q29udGV4dCAqcywgRFZEVmlkZW9QbGF5YmFj a1N0YXRlICpzdGF0ZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVpbnQ4X3QgKmJ1ZiwgaW50IGJ1Zl9zaXplLA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdm9pZCAoKmZsdXNoX2NiKShBVkZvcm1hdENvbnRleHQg KnMpKQ0KPiArew0KPiArICAgIHNzaXplX3QgYmxvY2tzX3JlYWQgICAgICAgICAgICAgICAg ICAgPSAwOw0KPiArICAgIHVpbnQ4X3QgcmVhZF9idWZbRFZEVklERU9fQkxPQ0tfU0laRV0g PSB7MH07DQo+ICsgICAgcGNpX3QgcGNpICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9 IChwY2lfdCkgezB9Ow0KPiArICAgIGRzaV90IGRzaSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgPSAoZHNpX3QpIHswfTsNCj4gKw0KPiArICAgIGlmIChidWZfc2l6ZSAhPSBEVkRW SURFT19CTE9DS19TSVpFKSB7DQo+ICsgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfRVJST1Is ICJJbnZhbGlkIGJ1ZmZlciBzaXplIChleHBlY3RlZD0lZCBhY3R1YWw9JWQpXG4iLA0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEVkRWSURFT19CTE9DS19TSVpFLCBi dWZfc2l6ZSk7DQo+ICsNCj4gKyAgICAgICAgcmV0dXJuIEFWRVJST1IoRUlOVkFMKTsNCj4g KyAgICB9DQo+ICsNCj4gKyAgICAvKiB3ZSB3ZXJlIGF0IHRoZSBlbmQgb2YgYSB2b2J1LCBz byBub3cgZ28gdG8gdGhlIG5leHQgb25lIG9yIEVPRiAqLw0KPiArICAgIGlmICghc3RhdGUt PnZvYnVfcmVtYWluaW5nICYmIHN0YXRlLT5pbl9wZ2MpIHsNCj4gKyAgICAgICAgaWYgKHN0 YXRlLT52b2J1X25leHQgPT0gU1JJX0VORF9PRl9DRUxMKSB7DQo+ICsgICAgICAgICAgICBp ZiAoc3RhdGUtPmNlbGxuID09IHN0YXRlLT5jZWxsbl9lbmQgJiYgc3RhdGUtPnNlY3Rvcl9v ZmZzZXQgPiBzdGF0ZS0+c2VjdG9yX2VuZCkNCj4gKyAgICAgICAgICAgICAgICByZXR1cm4g QVZFUlJPUl9FT0Y7DQo+ICsNCj4gKyAgICAgICAgICAgIHN0YXRlLT5jZWxsbisrOw0KPiAr ICAgICAgICAgICAgc3RhdGUtPnNlY3Rvcl9vZmZzZXQgPSBzdGF0ZS0+cGdjLT5jZWxsX3Bs YXliYWNrW3N0YXRlLT5jZWxsbiAtIDFdLmZpcnN0X3NlY3RvcjsNCj4gKyAgICAgICAgICAg IHN0YXRlLT5zZWN0b3JfZW5kICAgID0gc3RhdGUtPnBnYy0+Y2VsbF9wbGF5YmFja1tzdGF0 ZS0+Y2VsbG4gLSAxXS5sYXN0X3NlY3RvcjsNCj4gKyAgICAgICAgfSBlbHNlIHsNCj4gKyAg ICAgICAgICAgIHN0YXRlLT5zZWN0b3Jfb2Zmc2V0ID0gc3RhdGUtPnZvYnVfbmV4dDsNCj4g KyAgICAgICAgfQ0KPiArICAgIH0NCj4gKw0KPiArICAgIC8qIGNvbnRpbnVlIHJlYWRpbmcg dGhlIFZPQlUgKi8NCj4gKyAgICBhdl9sb2cocywgQVZfTE9HX1RSQUNFLCAicmVhZGluZyBi bG9jayBhdCBvZmZzZXQgJWRcbiIsIHN0YXRlLT5zZWN0b3Jfb2Zmc2V0KTsNCj4gKw0KPiAr ICAgIGJsb2Nrc19yZWFkID0gRFZEUmVhZEJsb2NrcyhzdGF0ZS0+dm9iX2ZpbGUsIHN0YXRl LT5zZWN0b3Jfb2Zmc2V0LCAxLCByZWFkX2J1Zik7DQo+ICsgICAgaWYgKGJsb2Nrc19yZWFk ICE9IDEpIHsNCj4gKyAgICAgICAgYXZfbG9nKHMsIEFWX0xPR19FUlJPUiwgIlVuYWJsZSB0 byByZWFkIFZPQiBibG9jazogb2Zmc2V0PSVkIGJsb2Nrc19yZWFkPSVkXG4iLA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS0+c2VjdG9yX29mZnNldCwgYmxv Y2tzX3JlYWQpOw0KPiArDQo+ICsgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRB Ow0KPiArICAgIH0NCj4gKw0KPiArICAgIC8qIHdlIGFyZSBhdCB0aGUgc3RhcnQgb2YgYSBW T0JVLCBzbyB3ZSBhcmUgZXhwZWN0aW5nIGEgTkFWIHBhY2tldCAqLw0KPiArICAgIGlmICgh c3RhdGUtPnZvYnVfcmVtYWluaW5nKSB7DQo+ICsgICAgICAgIGlmICghbWVtY21wKCZyZWFk X2J1ZltQQ0lfU1RBUlRfQllURSAtIDRdLCBkdmR2aWRlb19uYXZfaGVhZGVyLCA0KSB8fA0K PiArICAgICAgICAgICAgIW1lbWNtcCgmcmVhZF9idWZbRFNJX1NUQVJUX0JZVEUgLSA0XSwg ZHZkdmlkZW9fbmF2X2hlYWRlciwgNCkgfHwNCj4gKyAgICAgICAgICAgIHJlYWRfYnVmW1BD SV9TVEFSVF9CWVRFIC0gMV0gIT0gMHgwMCAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8 DQo+ICsgICAgICAgICAgICByZWFkX2J1ZltEU0lfU1RBUlRfQllURSAtIDFdICE9IDB4MDEp IHsNCj4gKw0KPiArICAgICAgICAgICAgYXZfbG9nKHMsIEFWX0xPR19FUlJPUiwgIkludmFs aWQgTkFWIHBhY2tldCBhdCBvZmZzZXQgJWQ6IFBDSSBvciBEU0kgaGVhZGVyIG1pc21hdGNo XG4iLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUtPnNl Y3Rvcl9vZmZzZXQpOw0KPiArDQo+ICsgICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZB TElEREFUQTsNCj4gKyAgICAgICAgfQ0KPiArDQo+ICsgICAgICAgIG5hdlJlYWRfUENJKCZw Y2ksICZyZWFkX2J1ZltQQ0lfU1RBUlRfQllURV0pOw0KPiArICAgICAgICBuYXZSZWFkX0RT SSgmZHNpLCAmcmVhZF9idWZbRFNJX1NUQVJUX0JZVEVdKTsNCj4gKw0KPiArICAgICAgICBp ZiAoIXBjaS5wY2lfZ2kudm9idV9zX3B0bSAgICAgICAgICAgICAgICAgICAgICAgICAgfHwN Cj4gKyAgICAgICAgICAgICFwY2kucGNpX2dpLnZvYnVfZV9wdG0gICAgICAgICAgICAgICAg ICAgICAgICAgIHx8DQo+ICsgICAgICAgICAgICBwY2kucGNpX2dpLnZvYnVfc19wdG0gPiBw Y2kucGNpX2dpLnZvYnVfZV9wdG0pIHsNCj4gKw0KPiArICAgICAgICAgICAgYXZfbG9nKHMs IEFWX0xPR19FUlJPUiwgIkludmFsaWQgTkFWIHBhY2tldCBhdCBvZmZzZXQgJWQ6IFBDSSBo ZWFkZXIgaXMgaW52YWxpZFxuIiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0YXRlLT5zZWN0b3Jfb2Zmc2V0KTsNCj4gKw0KPiArICAgICAgICAgICAgcmV0 dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7DQo+ICsgICAgICAgIH0NCj4gKw0KPiArICAgICAg ICBzdGF0ZS0+dm9idV9yZW1haW5pbmcgICAgPSBkc2kuZHNpX2dpLnZvYnVfZWE7DQo+ICsg ICAgICAgIHN0YXRlLT52b2J1X25leHQgICAgICAgICA9IGRzaS52b2J1X3NyaS5uZXh0X3Zv YnUgPT0gU1JJX0VORF9PRl9DRUxMID8gU1JJX0VORF9PRl9DRUxMIDoNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZHNpLmRzaV9naS5udl9wY2tfbGJuICsgKGRz aS52b2J1X3NyaS5uZXh0X3ZvYnUgJiAweDdGRkZGRkZGKTsNCj4gKyAgICAgICAgc3RhdGUt PnNlY3Rvcl9vZmZzZXQrKzsNCj4gKw0KPiArICAgICAgICBpZiAoc3RhdGUtPmluX3BnYykg ew0KPiArICAgICAgICAgICAgaWYgKHN0YXRlLT52b2J1X2VfcHRtICE9IHBjaS5wY2lfZ2ku dm9idV9zX3B0bSkgew0KPiArICAgICAgICAgICAgICAgIGlmIChmbHVzaF9jYikNCj4gKyAg ICAgICAgICAgICAgICAgICAgZmx1c2hfY2Iocyk7DQo+ICsNCj4gKyAgICAgICAgICAgICAg ICBzdGF0ZS0+dHNfb2Zmc2V0ICs9IHN0YXRlLT52b2J1X2VfcHRtIC0gcGNpLnBjaV9naS52 b2J1X3NfcHRtOw0KPiArICAgICAgICAgICAgfQ0KPiArICAgICAgICB9IGVsc2Ugew0KPiAr ICAgICAgICAgICAgc3RhdGUtPmluX3BnYyAgICAgICAgPSAxOw0KPiArICAgICAgICAgICAg c3RhdGUtPmluX3BzICAgICAgICAgPSAxOw0KPiArICAgICAgICB9DQo+ICsNCj4gKyAgICAg ICAgc3RhdGUtPnZvYnVfZV9wdG0gICAgICAgID0gcGNpLnBjaV9naS52b2J1X2VfcHRtOw0K PiArDQo+ICsgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfREVCVUcsICJOQVYgcGFja2V0OiBz ZWN0b3I9JWQgIg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidm9idV9z X3B0bT0lZCB2b2J1X2VfcHRtPSVkIHRzX29mZnNldD0lbGRcbiIsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRzaS5kc2lfZ2kubnZfcGNrX2xibiwNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGNpLnBjaV9naS52b2J1X3NfcHRtLCBwY2ku cGNpX2dpLnZvYnVfZV9wdG0sIHN0YXRlLT50c19vZmZzZXQpOw0KPiArDQo+ICsgICAgICAg IHJldHVybiBGRkVSUk9SX1JFRE87DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgLyogd2UgYXJl IGluIHRoZSBtaWRkbGUgb2YgYSBWT0JVLCBzbyBwYXNzIG9uIHRoZSBQUyBwYWNrZXQgKi8N Cj4gKyAgICBtZW1jcHkoYnVmLCAmcmVhZF9idWYsIERWRFZJREVPX0JMT0NLX1NJWkUpOw0K PiArICAgIHN0YXRlLT5zZWN0b3Jfb2Zmc2V0Kys7DQo+ICsgICAgc3RhdGUtPnZvYnVfcmVt YWluaW5nLS07DQo+ICsNCj4gKyAgICByZXR1cm4gRFZEVklERU9fQkxPQ0tfU0laRTsNCj4g K30NCj4gKw0KPiAgIHN0YXRpYyB2b2lkIGR2ZHZpZGVvX3BsYXlfY2xvc2UoQVZGb3JtYXRD b250ZXh0ICpzLCBEVkRWaWRlb1BsYXliYWNrU3RhdGUgKnN0YXRlKQ0KPiAgIHsNCj4gICAg ICAgaWYgKCFzdGF0ZS0+ZHZkbmF2KQ0KPiBAQCAtODU3LDggKzEwNTgsMTUgQEAgc3RhdGlj IGludCBkdmR2aWRlb192aWRlb19zdHJlYW1fc2V0dXAoQVZGb3JtYXRDb250ZXh0ICpzKQ0K PiAgIA0KPiAgICAgICBpbnQgcmV0ID0gMDsNCj4gICAgICAgRFZEVmlkZW9WVFNWaWRlb1N0 cmVhbUVudHJ5IGVudHJ5ID0gezB9Ow0KPiArICAgIHZpZGVvX2F0dHJfdCB2aWRlb19hdHRy Ow0KPiAgIA0KPiAtICAgIGlmICgocmV0ID0gZHZkdmlkZW9fdmlkZW9fc3RyZWFtX2FuYWx5 emUocywgYy0+dnRzX2lmby0+dnRzaV9tYXQtPnZ0c192aWRlb19hdHRyLCAmZW50cnkpKSA8 IDAgfHwNCj4gKyAgICBpZiAoYy0+b3B0X21lbnUpDQo+ICsgICAgICAgIHZpZGVvX2F0dHIg PSAhYy0+b3B0X21lbnVfdnRzID8gYy0+dm1nX2lmby0+dm1naV9tYXQtPnZtZ21fdmlkZW9f YXR0ciA6DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0+ dnRzX2lmby0+dnRzaV9tYXQtPnZ0c21fdmlkZW9fYXR0cjsNCj4gKyAgICBlbHNlDQo+ICsg ICAgICAgIHZpZGVvX2F0dHIgPSBjLT52dHNfaWZvLT52dHNpX21hdC0+dnRzX3ZpZGVvX2F0 dHI7DQo+ICsNCj4gKyAgICBpZiAoKHJldCA9IGR2ZHZpZGVvX3ZpZGVvX3N0cmVhbV9hbmFs eXplKHMsIHZpZGVvX2F0dHIsICZlbnRyeSkpIDwgMCB8fA0KPiAgICAgICAgICAgKHJldCA9 IGR2ZHZpZGVvX3ZpZGVvX3N0cmVhbV9hZGQocywgJmVudHJ5LCBBVlNUUkVBTV9QQVJTRV9I RUFERVJTKSkgPCAwKSB7DQo+ICAgDQo+ICAgICAgICAgICBhdl9sb2cocywgQVZfTE9HX0VS Uk9SLCAiVW5hYmxlIHRvIGFkZCB2aWRlbyBzdHJlYW1cbiIpOw0KPiBAQCAtMTAxMCwxNSAr MTIxOCwyOSBAQCBzdGF0aWMgaW50IGR2ZHZpZGVvX2F1ZGlvX3N0cmVhbV9hZGRfYWxsKEFW Rm9ybWF0Q29udGV4dCAqcykNCj4gICAgICAgRFZEVmlkZW9EZW11eENvbnRleHQgKmMgPSBz LT5wcml2X2RhdGE7DQo+ICAgDQo+ICAgICAgIGludCByZXQgPSAwOw0KPiArICAgIGludCBu Yl9zdHJlYW1zOw0KPiAgIA0KPiAtICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYy0+dnRzX2lm by0+dnRzaV9tYXQtPm5yX29mX3Z0c19hdWRpb19zdHJlYW1zOyBpKyspIHsNCj4gKyAgICBp ZiAoYy0+b3B0X21lbnUpDQo+ICsgICAgICAgIG5iX3N0cmVhbXMgPSAhYy0+b3B0X21lbnVf dnRzID8gYy0+dm1nX2lmby0+dm1naV9tYXQtPm5yX29mX3ZtZ21fYXVkaW9fc3RyZWFtcyA6 DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0+dnRzX2lm by0+dnRzaV9tYXQtPm5yX29mX3Z0c21fYXVkaW9fc3RyZWFtczsNCj4gKyAgICBlbHNlDQo+ ICsgICAgICAgIG5iX3N0cmVhbXMgPSBjLT52dHNfaWZvLT52dHNpX21hdC0+bnJfb2ZfdnRz X2F1ZGlvX3N0cmVhbXM7DQo+ICsNCj4gKyAgICBmb3IgKGludCBpID0gMDsgaSA8IG5iX3N0 cmVhbXM7IGkrKykgew0KPiAgICAgICAgICAgRFZEVmlkZW9QR0NBdWRpb1N0cmVhbUVudHJ5 IGVudHJ5ID0gezB9Ow0KPiArICAgICAgICBhdWRpb19hdHRyX3QgYXVkaW9fYXR0cjsNCj4g Kw0KPiArICAgICAgICBpZiAoYy0+b3B0X21lbnUpDQo+ICsgICAgICAgICAgICBhdWRpb19h dHRyID0gIWMtPm9wdF9tZW51X3Z0cyA/IGMtPnZtZ19pZm8tPnZtZ2lfbWF0LT52bWdtX2F1 ZGlvX2F0dHIgOg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjLT52dHNfaWZvLT52dHNpX21hdC0+dnRzbV9hdWRpb19hdHRyOw0KPiArICAgICAg ICBlbHNlDQo+ICsgICAgICAgICAgICBhdWRpb19hdHRyID0gYy0+dnRzX2lmby0+dnRzaV9t YXQtPnZ0c19hdWRpb19hdHRyW2ldOw0KPiAgIA0KPiAgICAgICAgICAgaWYgKCEoYy0+cGxh eV9zdGF0ZS5wZ2MtPmF1ZGlvX2NvbnRyb2xbaV0gJiAweDgwMDApKQ0KPiAgICAgICAgICAg ICAgIGNvbnRpbnVlOw0KPiAgIA0KPiAtICAgICAgICBpZiAoKHJldCA9IGR2ZHZpZGVvX2F1 ZGlvX3N0cmVhbV9hbmFseXplKHMsIGMtPnZ0c19pZm8tPnZ0c2lfbWF0LT52dHNfYXVkaW9f YXR0cltpXSwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjLT5wbGF5X3N0YXRlLnBnYy0+YXVkaW9fY29udHJvbFtpXSwgJmVudHJ5KSkg PCAwKQ0KPiArICAgICAgICBpZiAoKHJldCA9IGR2ZHZpZGVvX2F1ZGlvX3N0cmVhbV9hbmFs eXplKHMsIGF1ZGlvX2F0dHIsIGMtPnBsYXlfc3RhdGUucGdjLT5hdWRpb19jb250cm9sW2ld LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZlbnRyeSkpIDwgMCkNCj4gICAgICAgICAgICAgICBnb3RvIGJyZWFrX2Vycm9yOw0KPiAg IA0KPiAgICAgICAgICAgLyogSUZPIHN0cnVjdHVyZXMgY2FuIGRlY2xhcmUgZHVwbGljYXRl IGVudHJpZXMgZm9yIHRoZSBzYW1lIHN0YXJ0Y29kZSAqLw0KPiBAQCAtMTEyOSw3ICsxMzUx LDE2IEBAIHN0YXRpYyBpbnQgZHZkdmlkZW9fc3VicF9zdHJlYW1fYWRkX2FsbChBVkZvcm1h dENvbnRleHQgKnMpDQo+ICAgew0KPiAgICAgICBEVkRWaWRlb0RlbXV4Q29udGV4dCAqYyA9 IHMtPnByaXZfZGF0YTsNCj4gICANCj4gLSAgICBmb3IgKGludCBpID0gMDsgaSA8IGMtPnZ0 c19pZm8tPnZ0c2lfbWF0LT5ucl9vZl92dHNfc3VicF9zdHJlYW1zOyBpKyspIHsNCj4gKyAg ICBpbnQgbmJfc3RyZWFtczsNCj4gKw0KPiArICAgIGlmIChjLT5vcHRfbWVudSkNCj4gKyAg ICAgICAgbmJfc3RyZWFtcyA9ICFjLT5vcHRfbWVudV92dHMgPyBjLT52bWdfaWZvLT52bWdp X21hdC0+bnJfb2Zfdm1nbV9zdWJwX3N0cmVhbXMgOg0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGMtPnZ0c19pZm8tPnZ0c2lfbWF0LT5ucl9vZl92dHNt X3N1YnBfc3RyZWFtczsNCj4gKyAgICBlbHNlDQo+ICsgICAgICAgIG5iX3N0cmVhbXMgPSBj LT52dHNfaWZvLT52dHNpX21hdC0+bnJfb2ZfdnRzX3N1YnBfc3RyZWFtczsNCj4gKw0KPiAr DQo+ICsgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuYl9zdHJlYW1zOyBpKyspIHsNCj4gICAg ICAgICAgIGludCByZXQgPSAwOw0KPiAgICAgICAgICAgdWludDMyX3Qgc3VicF9jb250cm9s Ow0KPiAgICAgICAgICAgc3VicF9hdHRyX3Qgc3VicF9hdHRyOw0KPiBAQCAtMTE0MSw4ICsx MzcyLDE2IEBAIHN0YXRpYyBpbnQgZHZkdmlkZW9fc3VicF9zdHJlYW1fYWRkX2FsbChBVkZv cm1hdENvbnRleHQgKnMpDQo+ICAgDQo+ICAgICAgICAgICAvKiB0aGVyZSBjYW4gYmUgc2V2 ZXJhbCBwcmVzZW50YXRpb25zIGZvciBvbmUgU1BVICovDQo+ICAgICAgICAgICAvKiB0aGUg REFSIGNoZWNrIGlzIGZsZXhpYmxlIGluIG9yZGVyIHRvIHN1cHBvcnQgd2VpcmQgYXV0aG9y aW5nICovDQo+IC0gICAgICAgIHZpZGVvX2F0dHIgPSBjLT52dHNfaWZvLT52dHNpX21hdC0+ dnRzX3ZpZGVvX2F0dHI7DQo+IC0gICAgICAgIHN1YnBfYXR0ciA9IGMtPnZ0c19pZm8tPnZ0 c2lfbWF0LT52dHNfc3VicF9hdHRyW2ldOw0KPiArICAgICAgICBpZiAoYy0+b3B0X21lbnUp IHsNCj4gKyAgICAgICAgICAgIHZpZGVvX2F0dHIgPSAhYy0+b3B0X21lbnVfdnRzID8gYy0+ dm1nX2lmby0+dm1naV9tYXQtPnZtZ21fdmlkZW9fYXR0ciA6DQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMtPnZ0c19pZm8tPnZ0c2lfbWF0LT52 dHNtX3ZpZGVvX2F0dHI7DQo+ICsNCj4gKyAgICAgICAgICAgIHN1YnBfYXR0ciAgPSAhYy0+ b3B0X21lbnVfdnRzID8gYy0+dm1nX2lmby0+dm1naV9tYXQtPnZtZ21fc3VicF9hdHRyIDoN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0+dnRz X2lmby0+dnRzaV9tYXQtPnZ0c21fc3VicF9hdHRyOw0KPiArICAgICAgICB9IGVsc2Ugew0K PiArICAgICAgICAgICAgdmlkZW9fYXR0ciA9IGMtPnZ0c19pZm8tPnZ0c2lfbWF0LT52dHNf dmlkZW9fYXR0cjsNCj4gKyAgICAgICAgICAgIHN1YnBfYXR0ciA9IGMtPnZ0c19pZm8tPnZ0 c2lfbWF0LT52dHNfc3VicF9hdHRyW2ldOw0KPiArICAgICAgICB9DQo+ICAgDQo+ICAgICAg ICAgICAvKiA0OjMgKi8NCj4gICAgICAgICAgIGlmICghdmlkZW9fYXR0ci5kaXNwbGF5X2Fz cGVjdF9yYXRpbykgew0KPiBAQCAtMTE5OCw4ICsxNDM3LDEyIEBAIHN0YXRpYyBpbnQgZHZk dmlkZW9fc3ViZGVtdXhfcmVhZF9kYXRhKHZvaWQgKm9wYXF1ZSwgdWludDhfdCAqYnVmLCBp bnQgYnVmX3NpemUpDQo+ICAgICAgIGlmIChjLT5wbGF5X2VuZCkNCj4gICAgICAgICAgIHJl dHVybiBBVkVSUk9SX0VPRjsNCj4gICANCj4gLSAgICByZXQgPSBkdmR2aWRlb19wbGF5X25l eHRfcHNfYmxvY2sob3BhcXVlLCAmYy0+cGxheV9zdGF0ZSwgYnVmLCBidWZfc2l6ZSwNCj4g LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5hdl9ldmVudCwgZHZk dmlkZW9fc3ViZGVtdXhfZmx1c2gpOw0KPiArICAgIGlmIChjLT5vcHRfbWVudSkNCj4gKyAg ICAgICAgcmV0ID0gZHZkdmlkZW9fbWVudV9uZXh0X3BzX2Jsb2NrKHMsICZjLT5wbGF5X3N0 YXRlLCBidWYsIGJ1Zl9zaXplLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZHZkdmlkZW9fc3ViZGVtdXhfZmx1c2gpOw0KPiArICAgIGVsc2UNCj4g KyAgICAgICAgcmV0ID0gZHZkdmlkZW9fcGxheV9uZXh0X3BzX2Jsb2NrKG9wYXF1ZSwgJmMt PnBsYXlfc3RhdGUsIGJ1ZiwgYnVmX3NpemUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmbmF2X2V2ZW50LCBkdmR2aWRlb19zdWJkZW11eF9mbHVz aCk7DQo+ICAgDQo+ICAgICAgIGlmIChyZXQgPT0gQVZFUlJPUl9FT0YpIHsNCj4gICAgICAg ICAgIGMtPm1wZWdfcGIucHViLmVvZl9yZWFjaGVkID0gMTsNCj4gQEAgLTEyNjMsNiArMTUw Niw0NyBAQCBzdGF0aWMgaW50IGR2ZHZpZGVvX3JlYWRfaGVhZGVyKEFWRm9ybWF0Q29udGV4 dCAqcykNCj4gICANCj4gICAgICAgaW50IHJldCA9IDA7DQo+ICAgDQo+ICsgICAgaWYgKGMt Pm9wdF9tZW51KSB7DQo+ICsgICAgICAgIGlmIChjLT5vcHRfcmVnaW9uICAgICAgICAgICAg ICAgfHwNCj4gKyAgICAgICAgICAgIGMtPm9wdF90aXRsZSA+IDEgICAgICAgICAgICB8fA0K PiArICAgICAgICAgICAgYy0+b3B0X3ByZWluZGV4ICAgICAgICAgICAgIHx8DQo+ICsgICAg ICAgICAgICBjLT5vcHRfY2hhcHRlcl9zdGFydCA+IDEgICAgfHwNCj4gKyAgICAgICAgICAg IGMtPm9wdF9jaGFwdGVyX2VuZCA+IDApIHsNCj4gKyAgICAgICAgICAgIGF2X2xvZyhzLCBB Vl9MT0dfRVJST1IsICItbWVudSBpcyBub3QgY29tcGF0aWJsZSB3aXRoIHRoZSAtcmVnaW9u LCAtdGl0bGUsICINCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIt cHJlaW5kZXgsIG9yIC1jaGFwdGVyX3N0YXJ0Ly1jaGFwdGVyX2VuZCBvcHRpb25zXG4iKTsN Cj4gKyAgICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVJTlZBTCk7DQo+ICsgICAgICAgIH0N Cj4gKw0KPiArICAgICAgICBpZiAoIWMtPm9wdF9wZ2MpIHsNCj4gKyAgICAgICAgICAgIGF2 X2xvZyhzLCBBVl9MT0dfRVJST1IsICJJZiAtbWVudSBpcyBlbmFibGVkLCAtcGdjIG11c3Qg YmUgc2V0IHRvIGEgbm9uLXplcm8gdmFsdWVcbiIpOw0KPiArDQo+ICsgICAgICAgICAgICBy ZXR1cm4gQVZFUlJPUihFSU5WQUwpOw0KPiArICAgICAgICB9DQo+ICsNCj4gKyAgICAgICAg aWYgKCFjLT5vcHRfbWVudV9sdSkgew0KPiArICAgICAgICAgICAgYXZfbG9nKHMsIEFWX0xP R19JTkZPLCAiRGVmYXVsdGluZyB0byBtZW51IGxhbmd1YWdlIHVuaXQgIzEuICINCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRoaXMgaXMgbm90IGFsd2F5cyBk ZXNpcmFibGUsIHZhbGlkYXRpb24gc3VnZ2VzdGVkLlxuIik7DQo+ICsNCj4gKyAgICAgICAg ICAgIGMtPm9wdF9tZW51X2x1ID0gMTsNCj4gKyAgICAgICAgfQ0KPiArDQo+ICsgICAgICAg IGlmICghYy0+b3B0X3BnKSB7DQo+ICsgICAgICAgICAgICBhdl9sb2cocywgQVZfTE9HX0lO Rk8sICJEZWZhdWx0aW5nIHRvIG1lbnUgUEcgIzEuICINCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIlRoaXMgaXMgbm90IGFsd2F5cyBkZXNpcmFibGUsIHZhbGlk YXRpb24gc3VnZ2VzdGVkLlxuIik7DQo+ICsNCj4gKyAgICAgICAgICAgIGMtPm9wdF9wZyA9 IDE7DQo+ICsgICAgICAgIH0NCj4gKw0KPiArICAgICAgICBpZiAoKHJldCA9IGR2ZHZpZGVv X2lmb19vcGVuKHMpKSA8IDAgICAgICAgICAgICAgICAgICAgIHx8DQo+ICsgICAgICAgICAg ICAocmV0ID0gZHZkdmlkZW9fbWVudV9vcGVuKHMsICZjLT5wbGF5X3N0YXRlKSkgPCAwICAg fHwNCj4gKyAgICAgICAgICAgIChyZXQgPSBkdmR2aWRlb19zdWJkZW11eF9vcGVuKHMpKSA8 IDAgICAgICAgICAgICAgICB8fA0KPiArICAgICAgICAgICAgKHJldCA9IGR2ZHZpZGVvX3Zp ZGVvX3N0cmVhbV9zZXR1cChzKSkgPCAwICAgICAgICAgIHx8DQo+ICsgICAgICAgICAgICAo cmV0ID0gZHZkdmlkZW9fYXVkaW9fc3RyZWFtX2FkZF9hbGwocykpIDwgMCkNCj4gKyAgICAg ICAgcmV0dXJuIHJldDsNCj4gKw0KPiArICAgICAgICByZXR1cm4gMDsNCj4gKyAgICB9DQo+ ICsNCj4gICAgICAgaWYgKGMtPm9wdF90aXRsZSA9PSAwKSB7DQo+ICAgICAgICAgICBhdl9s b2cocywgQVZfTE9HX0lORk8sICJEZWZhdWx0aW5nIHRvIHRpdGxlICMxLiAiDQo+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUaGlzIGlzIG5vdCBhbHdheXMgdGhlIG1h aW4gZmVhdHVyZSwgdmFsaWRhdGlvbiBzdWdnZXN0ZWQuXG4iKTsNCj4gQEAgLTEzNzgsNyAr MTY2MiwxMiBAQCBzdGF0aWMgaW50IGR2ZHZpZGVvX2Nsb3NlKEFWRm9ybWF0Q29udGV4dCAq cykNCj4gICAgICAgRFZEVmlkZW9EZW11eENvbnRleHQgKmMgPSBzLT5wcml2X2RhdGE7DQo+ ICAgDQo+ICAgICAgIGR2ZHZpZGVvX3N1YmRlbXV4X2Nsb3NlKHMpOw0KPiAtICAgIGR2ZHZp ZGVvX3BsYXlfY2xvc2UocywgJmMtPnBsYXlfc3RhdGUpOw0KPiArDQo+ICsgICAgaWYgKGMt Pm9wdF9tZW51KQ0KPiArICAgICAgICBkdmR2aWRlb19tZW51X2Nsb3NlKHMsICZjLT5wbGF5 X3N0YXRlKTsNCj4gKyAgICBlbHNlDQo+ICsgICAgICAgIGR2ZHZpZGVvX3BsYXlfY2xvc2Uo cywgJmMtPnBsYXlfc3RhdGUpOw0KPiArDQo+ICAgICAgIGR2ZHZpZGVvX2lmb19jbG9zZShz KTsNCj4gICANCj4gICAgICAgcmV0dXJuIDA7DQo+IEBAIC0xMzg5LDYgKzE2NzgsOSBAQCBz dGF0aWMgY29uc3QgQVZPcHRpb24gZHZkdmlkZW9fb3B0aW9uc1tdID0gew0KPiAgICAgICB7 ImFuZ2xlIiwgICAgICAgICAgICJwbGF5YmFjayBhbmdsZSBudW1iZXIiLCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE9GRlNFVChvcHRfYW5nbGUpLCAgICAgICAgICBB Vl9PUFRfVFlQRV9JTlQsICAgIHsgLmk2ND0xIH0sICAgICAxLCAgICAgICAgICA5LCAgICAg ICAgIEFWX09QVF9GTEFHX0RFQ09ESU5HX1BBUkFNIH0sDQo+ICAgICAgIHsiY2hhcHRlcl9l bmQiLCAgICAgImV4aXQgY2hhcHRlciAoUFRUKSBudW1iZXIgKDA9ZW5kKSIsICAgICAgICAg ICAgICAgICAgICAgICAgT0ZGU0VUKG9wdF9jaGFwdGVyX2VuZCksICAgIEFWX09QVF9UWVBF X0lOVCwgICAgeyAuaTY0PTAgfSwgICAgIDAsICAgICAgICAgIDk5LCAgICAgICAgQVZfT1BU X0ZMQUdfREVDT0RJTkdfUEFSQU0gfSwNCj4gICAgICAgeyJjaGFwdGVyX3N0YXJ0IiwgICAi ZW50cnkgY2hhcHRlciAoUFRUKSBudW1iZXIiLCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBPRkZTRVQob3B0X2NoYXB0ZXJfc3RhcnQpLCAgQVZfT1BUX1RZUEVfSU5ULCAgICB7 IC5pNjQ9MSB9LCAgICAgMSwgICAgICAgICAgOTksICAgICAgICBBVl9PUFRfRkxBR19ERUNP RElOR19QQVJBTSB9LA0KPiArICAgIHsibWVudSIsICAgICAgICAgICAgImRlbXV4IG1lbnUg ZG9tYWluIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT0ZGU0VU KG9wdF9tZW51KSwgICAgICAgICAgIEFWX09QVF9UWVBFX0JPT0wsICAgeyAuaTY0PTAgfSwg ICAgIDAsICAgICAgICAgIDEsICAgICAgICAgQVZfT1BUX0ZMQUdfREVDT0RJTkdfUEFSQU0g fSwNCj4gKyAgICB7Im1lbnVfbHUiLCAgICAgICAgICJtZW51IGxhbmd1YWdlIHVuaXQgKDA9 YXV0bykiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9GRlNFVChvcHRfbWVudV9s dSksICAgICAgICBBVl9PUFRfVFlQRV9JTlQsICAgIHsgLmk2ND0wIH0sICAgICAwLCAgICAg ICAgICA5OSwgICAgICAgIEFWX09QVF9GTEFHX0RFQ09ESU5HX1BBUkFNIH0sDQo+ICsgICAg eyJtZW51X3Z0cyIsICAgICAgICAibWVudSBWVFMgKDA9Vk1HIG1haW4gbWVudSkiLCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBPRkZTRVQob3B0X21lbnVfdnRzKSwgICAgICAg QVZfT1BUX1RZUEVfSU5ULCAgICB7IC5pNjQ9MCB9LCAgICAgMCwgICAgICAgICAgOTksICAg ICAgICBBVl9PUFRfRkxBR19ERUNPRElOR19QQVJBTSB9LA0KDQpJcyA5OSBhbiBhY3R1YWwg bGltaXQgaGVyZSBvZiBEVkRzIG9yIGlzIGl0IHNvbWV0aGluZyB5b3UgcGlja2VkPyBZb3Ug DQpjYW4gYWx3YXlzIHVzZSBJTlRfTUFYIGlmIHRoaXMgaXMgdGhlIGxhdHRlciBjYXNlLg0K DQoNCj4gICAgICAgeyJwZyIsICAgICAgICAgICAgICAiZW50cnkgUEcgbnVtYmVyICgwPWF1 dG8pIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPRkZTRVQob3B0X3BnKSwg ICAgICAgICAgICAgQVZfT1BUX1RZUEVfSU5ULCAgICB7IC5pNjQ9MCB9LCAgICAgMCwgICAg ICAgICAgMjU1LCAgICAgICBBVl9PUFRfRkxBR19ERUNPRElOR19QQVJBTSB9LA0KPiAgICAg ICB7InBnYyIsICAgICAgICAgICAgICJlbnRyeSBQR0MgbnVtYmVyICgwPWF1dG8pIiwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9GRlNFVChvcHRfcGdjKSwgICAgICAgICAg ICBBVl9PUFRfVFlQRV9JTlQsICAgIHsgLmk2ND0wIH0sICAgICAwLCAgICAgICAgICA5OTks ICAgICAgIEFWX09QVF9GTEFHX0RFQ09ESU5HX1BBUkFNIH0sDQo+ICAgICAgIHsicHJlaW5k ZXgiLCAgICAgICAgImVuYWJsZSBmb3IgYWNjdXJhdGUgY2hhcHRlciBtYXJrZXJzLCBzbG93 ICgyLXBhc3MgcmVhZCkiLCAgT0ZGU0VUKG9wdF9wcmVpbmRleCksICAgICAgIEFWX09QVF9U WVBFX0JPT0wsICAgeyAuaTY0PTAgfSwgICAgIDAsICAgICAgICAgIDEsICAgICAgICAgQVZf T1BUX0ZMQUdfREVDT0RJTkdfUEFSQU0gfSwNCg== --------------Zhx0fhqoPdDWWTh5VFBSgdVU-- --------------0GFsRB9LAAQnoS0NIZisTyPm Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature.asc" -----BEGIN PGP SIGNATURE----- wnsEABYIACMWIQQdgwoLzkZwniA7Jvx2TkjqSCIYMwUCZe4PqgUDAAAAAAAKCRB2TkjqSCIYM9D6 AQDNqCQPS9yMddJDKZDEPgTl2knfC/7snQQh4cbYNrlLSwEAo9IMAklOeNU20FA66LNKA4GXxW0q sRk9Kh7sbMg+0w0= =mYhZ -----END PGP SIGNATURE----- --------------0GFsRB9LAAQnoS0NIZisTyPm-- --===============4963599591144843318== 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". --===============4963599591144843318==--