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 F0344410E6 for ; Fri, 12 May 2023 05:23:59 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C5D5C68BF8F; Fri, 12 May 2023 08:23:55 +0300 (EEST) Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BA70E68C087 for ; Fri, 12 May 2023 08:23:48 +0300 (EEST) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id C28DE5C0638 for ; Fri, 12 May 2023 01:23:46 -0400 (EDT) Received: from imap49 ([10.202.2.99]) by compute1.internal (MEProxy); Fri, 12 May 2023 01:23:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1683869026; x= 1683955426; bh=lAQfQeaw37Na6rey+lvrKmjX3VcFlMMJsFvY0/mjNYk=; b=S QW9HDxm6zNTMu0p4sis2d5oAgaIghE3IeOiEwKIkfco2tStQvNexEeyXg8jZhFiT cEwYcafeoc4cU4LMBQQy537bBwiDX1oqFOq0kQ6xiaugIVsC2HP1V/At6aoNIVen V7YXNWmdyKunD+IbwmXwf/Hd7rQq7jPUn3cbO8Pzw4vu+XzUZE/de1qjaX9bQVJh nuMgHt8gA8hnUYBqmidFpJ2Ww2NCVCGpnDt9+B0p4YpXbUz1T3syE9X4bwGx6bvb domke8GWWyBgCBd670bpzjE8kerzqwpyWob9wNlvT0LLtjb/WufziPkOisIHijPL E9lg4MiVXEB+B6lyqiEwg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeegledgledvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefofgggkfgjfhffhffvufgtgfesth hqredtreerjeenucfhrhhomhepfdflvggrnhdquegrphhtihhsthgvucfmvghmphhffdcu oehjsgesvhhiuggvohhlrghnrdhorhhgqeenucggtffrrghtthgvrhhnpeeuueeufeekud egveffieeiheehieehgeffhfeuudehveejfffhjedtgfdvtdffueenucevlhhushhtvghr ufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehjsgesvhhiuggvohhlrghnrd horhhg X-ME-Proxy: Feedback-ID: i06904239:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 3E87215A008E; Fri, 12 May 2023 01:23:46 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.9.0-alpha0-415-gf2b17fe6c3-fm-20230503.001-gf2b17fe6 Mime-Version: 1.0 Message-Id: <86ab3f05-cfec-48d7-8b0a-2ed47606ec08@betaapp.fastmail.com> In-Reply-To: References: <20230413094441.56225-1-lq@chinaffmpeg.org> <20230413094441.56225-4-lq@chinaffmpeg.org> <5d1b1f26-bea7-4c34-e4e6-5b9be70f674a@gyani.pro> <816147ee-7674-37fb-4f30-e029269e52b8@gyani.pro> <26609d38-03e2-4fcc-ac4a-f62f3772f4fd@betaapp.fastmail.com> Date: Fri, 12 May 2023 07:23:26 +0200 From: "Jean-Baptiste Kempf" To: ffmpeg-devel Subject: Re: [FFmpeg-devel] [PATCH v8 3/6] avformat/flvenc: support mux av1 in enhanced flv 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: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: T24gRnJpLCAxMiBNYXkgMjAyMywgYXQgMDU6MzUsIE5lYWwgR29tcGEgd3JvdGU6Cj4gT24gVGh1 LCBNYXkgMTEsIDIwMjMgYXQgMTI6MjbigK9QTSBKZWFuLUJhcHRpc3RlIEtlbXBmIDxqYkB2aWRl b2xhbi5vcmc+IHdyb3RlOgo+Pgo+Pgo+Pgo+PiBPbiBUaHUsIDExIE1heSAyMDIzLCBhdCAxODoy MSwgTmVhbCBHb21wYSB3cm90ZToKPj4gPiBPbiBXZWQsIE1heSAxMCwgMjAyMyBhdCA5OjQw4oCv UE0gU3RldmVuIExpdSA8bGluZ2ppdWppYW5rZUBnbWFpbC5jb20+IHdyb3RlOgo+PiA+Pgo+PiA+ PiBOZWFsIEdvbXBhIDxuZ29tcGExM0BnbWFpbC5jb20+IOS6jjIwMjPlubQ15pyIMTHml6Xlkajl m5sgMDk6MzHlhpnpgZPvvJoKPj4gPj4gPgo+PiA+PiA+IE9uIFdlZCwgTWF5IDEwLCAyMDIzIGF0 IDc6MTPigK9BTSBTdGV2ZW4gTGl1IDxsaW5naml1amlhbmtlQGdtYWlsLmNvbT4gd3JvdGU6Cj4+ ID4+ID4gPgo+PiA+PiA+ID4gTmVhbCBHb21wYSA8bmdvbXBhMTNAZ21haWwuY29tPiDkuo4yMDIz 5bm0NeaciDEw5pel5ZGo5LiJIDE5OjA15YaZ6YGT77yaCj4+ID4+ID4gPiA+Cj4+ID4+ID4gPiA+ IE9uIFR1ZSwgTWF5IDksIDIwMjMgYXQgNjo0OOKAr0FNIEd5YW4gRG9zaGkgPGZmbXBlZ0BneWFu aS5wcm8+IHdyb3RlOgo+PiA+PiA+ID4gPiA+Cj4+ID4+ID4gPiA+ID4KPj4gPj4gPiA+ID4gPgo+ PiA+PiA+ID4gPiA+IE9uIDIwMjMtMDUtMDkgMDQ6MDUgcG0sIE5lYWwgR29tcGEgd3JvdGU6Cj4+ ID4+ID4gPiA+ID4gPiBPbiBUdWUsIE1heSA5LCAyMDIzIGF0IDEyOjE04oCvQU0gR3lhbiBEb3No aSA8ZmZtcGVnQGd5YW5pLnBybz4gd3JvdGU6Cj4+ID4+ID4gPiA+ID4gPj4KPj4gPj4gPiA+ID4g PiA+Pgo+PiA+PiA+ID4gPiA+ID4+IE9uIDIwMjMtMDUtMDkgMDg6MTEgYW0sIE5lYWwgR29tcGEg d3JvdGU6Cj4+ID4+ID4gPiA+ID4gPj4+IE9uIE1vbiwgTWF5IDgsIDIwMjMgYXQgOTo1NeKAr1BN IFN0ZXZlbiBMaXUgPGxpbmdqaXVqaWFua2VAZ21haWwuY29tPiB3cm90ZToKPj4gPj4gPiA+ID4g PiA+Pj4+IE5lYWwgR29tcGEgPG5nb21wYTEzQGdtYWlsLmNvbT4g5LqOMjAyM+W5tDXmnIg55pel 5ZGo5LqMIDA3OjA45YaZ6YGT77yaCj4+ID4+ID4gPiA+ID4gPj4+Pj4gT24gVGh1LCBBcHIgMTMs IDIwMjMgYXQgNTo0NeKAr0FNIFN0ZXZlbiBMaXUgPGxxQGNoaW5hZmZtcGVnLm9yZz4gd3JvdGU6 Cj4+ID4+ID4gPiA+ID4gPj4+Pj4+IFNpZ25lZC1vZmYtYnk6IFN0ZXZlbiBMaXUgPGxxQGNoaW5h ZmZtcGVnLm9yZz4KPj4gPj4gPiA+ID4gPiA+Pj4+Pj4gLS0tCj4+ID4+ID4gPiA+ID4gPj4+Pj4+ ICAgIGxpYmF2Zm9ybWF0L2ZsdmVuYy5jIHwgMjUgKysrKysrKysrKysrKysrKysrKystLS0tLQo+ PiA+PiA+ID4gPiA+ID4+Pj4+PiAgICAxIGZpbGUgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwg NSBkZWxldGlvbnMoLSkKPj4gPj4gPiA+ID4gPiA+Pj4+Pj4KPj4gPj4gPiA+ID4gPiA+Pj4+Pj4g ZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2ZsdmVuYy5jIGIvbGliYXZmb3JtYXQvZmx2ZW5jLmMK Pj4gPj4gPiA+ID4gPiA+Pj4+Pj4gaW5kZXggNTdhMjYyNDVmZi4uN2I0M2VjYWVmYSAxMDA2NDQK Pj4gPj4gPiA+ID4gPiA+Pj4+Pj4gLS0tIGEvbGliYXZmb3JtYXQvZmx2ZW5jLmMKPj4gPj4gPiA+ ID4gPiA+Pj4+Pj4gKysrIGIvbGliYXZmb3JtYXQvZmx2ZW5jLmMKPj4gPj4gPiA+ID4gPiA+Pj4+ Pj4gQEAgLTI4LDYgKzI4LDcgQEAKPj4gPj4gPiA+ID4gPiA+Pj4+Pj4gICAgI2luY2x1ZGUgImxp YmF2Y29kZWMvbXBlZzRhdWRpby5oIgo+PiA+PiA+ID4gPiA+ID4+Pj4+PiAgICAjaW5jbHVkZSAi YXZpby5oIgo+PiA+PiA+ID4gPiA+ID4+Pj4+PiAgICAjaW5jbHVkZSAiYXZjLmgiCj4+ID4+ID4g PiA+ID4gPj4+Pj4+ICsjaW5jbHVkZSAiYXYxLmgiCj4+ID4+ID4gPiA+ID4gPj4+Pj4+ICAgICNp bmNsdWRlICJoZXZjLmgiCj4+ID4+ID4gPiA+ID4gPj4+Pj4+ICAgICNpbmNsdWRlICJhdmZvcm1h dC5oIgo+PiA+PiA+ID4gPiA+ID4+Pj4+PiAgICAjaW5jbHVkZSAiZmx2LmgiCj4+ID4+ID4gPiA+ ID4gPj4+Pj4+IEBAIC00OCw2ICs0OSw3IEBAIHN0YXRpYyBjb25zdCBBVkNvZGVjVGFnIGZsdl92 aWRlb19jb2RlY19pZHNbXSA9IHsKPj4gPj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgIHsgQVZfQ09E RUNfSURfVlA2QSwgICAgIEZMVl9DT0RFQ0lEX1ZQNkEgfSwKPj4gPj4gPiA+ID4gPiA+Pj4+Pj4g ICAgICAgIHsgQVZfQ09ERUNfSURfSDI2NCwgICAgIEZMVl9DT0RFQ0lEX0gyNjQgfSwKPj4gPj4g PiA+ID4gPiA+Pj4+Pj4gICAgICAgIHsgQVZfQ09ERUNfSURfSEVWQywgICAgIE1LQkVUQUcoJ2gn LCAndicsICdjJywgJzEnKSB9LAo+PiA+PiA+ID4gPiA+ID4+Pj4+PiArICAgIHsgQVZfQ09ERUNf SURfQVYxLCAgICAgIE1LQkVUQUcoJ2EnLCAndicsICcwJywgJzEnKSB9LAo+PiA+PiA+ID4gPiA+ ID4+Pj4+PiAgICAgICAgeyBBVl9DT0RFQ19JRF9OT05FLCAgICAgMCB9Cj4+ID4+ID4gPiA+ID4g Pj4+Pj4+ICAgIH07Cj4+ID4+ID4gPiA+ID4gPj4+Pj4+Cj4+ID4+ID4gPiA+ID4gPj4+Pj4+IEBA IC00OTQsNyArNDk2LDggQEAgc3RhdGljIHZvaWQgZmx2X3dyaXRlX2NvZGVjX2hlYWRlcihBVkZv cm1hdENvbnRleHQqIHMsIEFWQ29kZWNQYXJhbWV0ZXJzKiBwYXIsIGkKPj4gPj4gPiA+ID4gPiA+ Pj4+Pj4gICAgICAgIEZMVkNvbnRleHQgKmZsdiA9IHMtPnByaXZfZGF0YTsKPj4gPj4gPiA+ID4g PiA+Pj4+Pj4KPj4gPj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgIGlmIChwYXItPmNvZGVjX2lkID09 IEFWX0NPREVDX0lEX0FBQyB8fCBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0gyNjQKPj4g Pj4gPiA+ID4gPiA+Pj4+Pj4gLSAgICAgICAgICAgIHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09E RUNfSURfTVBFRzQgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IRVZDKSB7Cj4+ID4+ ID4gPiA+ID4gPj4+Pj4+ICsgICAgICAgICAgICB8fCBwYXItPmNvZGVjX2lkID09IEFWX0NPREVD X0lEX01QRUc0IHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSEVWQwo+PiA+PiA+ID4g PiA+ID4+Pj4+PiArICAgICAgICAgICAgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9B VjEpIHsKPj4gPj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICBpbnQ2NF90IHBvczsKPj4gPj4g PiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICBhdmlvX3c4KHBiLAo+PiA+PiA+ID4gPiA+ID4+Pj4+ PiAgICAgICAgICAgICAgICAgICAgcGFyLT5jb2RlY190eXBlID09IEFWTUVESUFfVFlQRV9WSURF TyA/Cj4+ID4+ID4gPiA+ID4gPj4+Pj4+IEBAIC01NDAsNiArNTQzLDkgQEAgc3RhdGljIHZvaWQg Zmx2X3dyaXRlX2NvZGVjX2hlYWRlcihBVkZvcm1hdENvbnRleHQqIHMsIEFWQ29kZWNQYXJhbWV0 ZXJzKiBwYXIsIGkKPj4gPj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICAgICAgaWYgKHBhci0+ Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSEVWQykgewo+PiA+PiA+ID4gPiA+ID4+Pj4+PiAgICAg ICAgICAgICAgICAgICAgYXZpb193OChwYiwgRkxWX0lTX0VYX0hFQURFUiB8IFBhY2tldFR5cGVT ZXF1ZW5jZVN0YXJ0KTsgLy8gRXhWaWRlb1RhZ0hlYWRlciBtb2RlIHdpdGggUGFja2V0VHlwZVNl cXVlbmNlU3RhcnQKPj4gPj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICAgICAgICAgIGF2aW9f d3JpdGUocGIsICJodmMxIiwgNCk7Cj4+ID4+ID4gPiA+ID4gPj4+Pj4+ICsgICAgICAgICAgICB9 IGVsc2UgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfQVYxKSB7Cj4+ID4+ID4gPiA+ ID4gPj4+Pj4+ICsgICAgICAgICAgICAgICAgYXZpb193OChwYiwgRkxWX0lTX0VYX0hFQURFUiB8 IFBhY2tldFR5cGVTZXF1ZW5jZVN0YXJ0KTsKPj4gPj4gPiA+ID4gPiA+Pj4+Pj4gKyAgICAgICAg ICAgICAgICBhdmlvX3dyaXRlKHBiLCAiYXYwMSIsIDQpOwo+PiA+PiA+ID4gPiA+ID4+Pj4+PiAg ICAgICAgICAgICAgICB9IGVsc2Ugewo+PiA+PiA+ID4gPiA+ID4+Pj4+PiAgICAgICAgICAgICAg ICAgICAgYXZpb193OChwYiwgcGFyLT5jb2RlY190YWcgfCBGTFZfRlJBTUVfS0VZKTsgLy8gZmxh Z3MKPj4gPj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICAgICAgICAgIGF2aW9fdzgocGIsIDAp OyAvLyBBVkMgc2VxdWVuY2UgaGVhZGVyCj4+ID4+ID4gPiA+ID4gPj4+Pj4+IEBAIC01NDgsNiAr NTU0LDggQEAgc3RhdGljIHZvaWQgZmx2X3dyaXRlX2NvZGVjX2hlYWRlcihBVkZvcm1hdENvbnRl eHQqIHMsIEFWQ29kZWNQYXJhbWV0ZXJzKiBwYXIsIGkKPj4gPj4gPiA+ID4gPiA+Pj4+Pj4KPj4g Pj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICAgICAgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZf Q09ERUNfSURfSEVWQykKPj4gPj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICAgICAgICAgIGZm X2lzb21fd3JpdGVfaHZjYyhwYiwgcGFyLT5leHRyYWRhdGEsIHBhci0+ZXh0cmFkYXRhX3NpemUs IDApOwo+PiA+PiA+ID4gPiA+ID4+Pj4+PiArICAgICAgICAgICAgZWxzZSBpZiAocGFyLT5jb2Rl Y19pZCA9PSBBVl9DT0RFQ19JRF9BVjEpCj4+ID4+ID4gPiA+ID4gPj4+Pj4+ICsgICAgICAgICAg ICAgICAgZmZfaXNvbV93cml0ZV9hdjFjKHBiLCBwYXItPmV4dHJhZGF0YSwgcGFyLT5leHRyYWRh dGFfc2l6ZSwgMSk7Cj4+ID4+ID4gPiA+ID4gPj4+Pj4+ICAgICAgICAgICAgICAgIGVsc2UKPj4g Pj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICAgICAgICAgIGZmX2lzb21fd3JpdGVfYXZjYyhw YiwgcGFyLT5leHRyYWRhdGEsIHBhci0+ZXh0cmFkYXRhX3NpemUpOwo+PiA+PiA+ID4gPiA+ID4+ Pj4+PiAgICAgICAgICAgIH0KPj4gPj4gPiA+ID4gPiA+Pj4+Pj4gQEAgLTY0MCw3ICs2NDgsOCBA QCBzdGF0aWMgaW50IGZsdl9pbml0KHN0cnVjdCBBVkZvcm1hdENvbnRleHQgKnMpCj4+ID4+ID4g PiA+ID4gPj4+Pj4+Cj4+ID4+ID4gPiA+ID4gPj4+Pj4+ICAgICAgICAgICAgICAgIGlmIChwYXIt PmNvZGVjX2lkID09IEFWX0NPREVDX0lEX01QRUc0IHx8Cj4+ID4+ID4gPiA+ID4gPj4+Pj4+ICAg ICAgICAgICAgICAgICAgICBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0gyNjMgfHwKPj4g Pj4gPiA+ID4gPiA+Pj4+Pj4gLSAgICAgICAgICAgICAgICBwYXItPmNvZGVjX2lkID09IEFWX0NP REVDX0lEX0hFVkMpIHsKPj4gPj4gPiA+ID4gPiA+Pj4+Pj4gKyAgICAgICAgICAgICAgICBwYXIt PmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0hFVkMgfHwKPj4gPj4gPiA+ID4gPiA+Pj4+Pj4gKyAg ICAgICAgICAgICAgICBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0FWMSkgewo+PiA+PiA+ ID4gPiA+ID4+Pj4+PiAgICAgICAgICAgICAgICAgICAgaW50IGVycm9yID0gcy0+c3RyaWN0X3N0 ZF9jb21wbGlhbmNlID4gRkZfQ09NUExJQU5DRV9VTk9GRklDSUFMOwo+PiA+PiA+ID4gPiA+ID4+ Pj4+PiAgICAgICAgICAgICAgICAgICAgYXZfbG9nKHMsIGVycm9yID8gQVZfTE9HX0VSUk9SIDog QVZfTE9HX1dBUk5JTkcsCj4+ID4+ID4gPiA+ID4gPj4+Pj4+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgIkNvZGVjICVzIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIG9mZmljaWFsIEZMViBzcGVj aWZpY2F0aW9uLFxuIiwgYXZjb2RlY19nZXRfbmFtZShwYXItPmNvZGVjX2lkKSk7Cj4+ID4+ID4g PiA+ID4gPj4+Pj4+IEBAIC04NDgsMTMgKzg1NywxNSBAQCBzdGF0aWMgaW50IGZsdl93cml0ZV9w YWNrZXQoQVZGb3JtYXRDb250ZXh0ICpzLCBBVlBhY2tldCAqcGt0KQo+PiA+PiA+ID4gPiA+ID4+ Pj4+PiAgICAgICAgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfVlA2RiB8fCBwYXIt PmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1ZQNkEgfHwKPj4gPj4gPiA+ID4gPiA+Pj4+Pj4gICAg ICAgICAgICBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1ZQNiAgfHwgcGFyLT5jb2RlY19p ZCA9PSBBVl9DT0RFQ19JRF9BQUMpCj4+ID4+ID4gPiA+ID4gPj4+Pj4+ICAgICAgICAgICAgZmxh Z3Nfc2l6ZSA9IDI7Cj4+ID4+ID4gPiA+ID4gPj4+Pj4+IC0gICAgZWxzZSBpZiAocGFyLT5jb2Rl Y19pZCA9PSBBVl9DT0RFQ19JRF9IMjY0IHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURf TVBFRzQgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IRVZDKQo+PiA+PiA+ID4gPiA+ ID4+Pj4+PiArICAgIGVsc2UgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSDI2NCB8 fCBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX01QRUc0IHx8Cj4+ID4+ID4gPiA+ID4gPj4+ Pj4+ICsgICAgICAgICAgICAgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IRVZDIHx8IHBh ci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfQVYxKQo+PiA+PiA+ID4gPiA+ID4+Pj4+PiAgICAg ICAgICAgIGZsYWdzX3NpemUgPSA1Owo+PiA+PiA+ID4gPiA+ID4+Pj4+PiAgICAgICAgZWxzZQo+ PiA+PiA+ID4gPiA+ID4+Pj4+PiAgICAgICAgICAgIGZsYWdzX3NpemUgPSAxOwo+PiA+PiA+ID4g PiA+ID4+Pj4+Pgo+PiA+PiA+ID4gPiA+ID4+Pj4+PiAgICAgICAgaWYgKHBhci0+Y29kZWNfaWQg PT0gQVZfQ09ERUNfSURfQUFDIHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSDI2NAo+ PiA+PiA+ID4gPiA+ID4+Pj4+PiAtICAgICAgICAgICAgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9D T0RFQ19JRF9NUEVHNCB8fCBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0hFVkMpIHsKPj4g Pj4gPiA+ID4gPiA+Pj4+Pj4gKyAgICAgICAgICAgIHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09E RUNfSURfTVBFRzQgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IRVZDCj4+ID4+ID4g PiA+ID4gPj4+Pj4+ICsgICAgICAgICAgICB8fCBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lE X0FWMSkgewo+PiA+PiA+ID4gPiA+ID4+Pj4+PiAgICAgICAgICAgIHNpemVfdCBzaWRlX3NpemU7 Cj4+ID4+ID4gPiA+ID4gPj4+Pj4+ICAgICAgICAgICAgdWludDhfdCAqc2lkZSA9IGF2X3BhY2tl dF9nZXRfc2lkZV9kYXRhKHBrdCwgQVZfUEtUX0RBVEFfTkVXX0VYVFJBREFUQSwgJnNpZGVfc2l6 ZSk7Cj4+ID4+ID4gPiA+ID4gPj4+Pj4+ICAgICAgICAgICAgaWYgKHNpZGUgJiYgc2lkZV9zaXpl ID4gMCAmJiAoc2lkZV9zaXplICE9IHBhci0+ZXh0cmFkYXRhX3NpemUgfHwgbWVtY21wKHNpZGUs IHBhci0+ZXh0cmFkYXRhLCBzaWRlX3NpemUpKSkgewo+PiA+PiA+ID4gPiA+ID4+Pj4+PiBAQCAt ODc0LDcgKzg4NSw4IEBAIHN0YXRpYyBpbnQgZmx2X3dyaXRlX3BhY2tldChBVkZvcm1hdENvbnRl eHQgKnMsIEFWUGFja2V0ICpwa3QpCj4+ID4+ID4gPiA+ID4gPj4+Pj4+ICAgICAgICAgICAgICAg ICAgICJQYWNrZXRzIGFyZSBub3QgaW4gdGhlIHByb3BlciBvcmRlciB3aXRoIHJlc3BlY3QgdG8g RFRTXG4iKTsKPj4gPj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICByZXR1cm4gQVZFUlJPUihF SU5WQUwpOwo+PiA+PiA+ID4gPiA+ID4+Pj4+PiAgICAgICAgfQo+PiA+PiA+ID4gPiA+ID4+Pj4+ PiAtICAgIGlmIChwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0gyNjQgfHwgcGFyLT5jb2Rl Y19pZCA9PSBBVl9DT0RFQ19JRF9NUEVHNCB8fCBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lE X0hFVkMpIHsKPj4gPj4gPiA+ID4gPiA+Pj4+Pj4gKyAgICBpZiAocGFyLT5jb2RlY19pZCA9PSBB Vl9DT0RFQ19JRF9IMjY0IHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfTVBFRzQgfHwK Pj4gPj4gPiA+ID4gPiA+Pj4+Pj4gKyAgICAgICAgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19J RF9IRVZDIHx8ICBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0FWMSkgewo+PiA+PiA+ID4g PiA+ID4+Pj4+PiAgICAgICAgICAgIGlmIChwa3QtPnB0cyA9PSBBVl9OT1BUU19WQUxVRSkgewo+ PiA+PiA+ID4gPiA+ID4+Pj4+PiAgICAgICAgICAgICAgICBhdl9sb2cocywgQVZfTE9HX0VSUk9S LCAiUGFja2V0IGlzIG1pc3NpbmcgUFRTXG4iKTsKPj4gPj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAg ICAgICAgICAgcmV0dXJuIEFWRVJST1IoRUlOVkFMKTsKPj4gPj4gPiA+ID4gPiA+Pj4+Pj4gQEAg LTk4Nyw2ICs5OTksOSBAQCBzdGF0aWMgaW50IGZsdl93cml0ZV9wYWNrZXQoQVZGb3JtYXRDb250 ZXh0ICpzLCBBVlBhY2tldCAqcGt0KQo+PiA+PiA+ID4gPiA+ID4+Pj4+PiAgICAgICAgICAgIGlm IChwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0hFVkMpIHsKPj4gPj4gPiA+ID4gPiA+Pj4+ Pj4gICAgICAgICAgICAgICAgYXZpb193OChwYiwgRkxWX0lTX0VYX0hFQURFUiB8IFBhY2tldFR5 cGVDb2RlZEZyYW1lc1gpOyAvLyBFeFZpZGVvVGFnSGVhZGVyIG1vZGUgd2l0aCBQYWNrZXRUeXBl Q29kZWRGcmFtZXNYCj4+ID4+ID4gPiA+ID4gPj4+Pj4+ICAgICAgICAgICAgICAgIGF2aW9fd3Jp dGUocGIsICJodmMxIiwgNCk7Cj4+ID4+ID4gPiA+ID4gPj4+Pj4+ICsgICAgICAgIH0gZWxzZSBp ZiAocGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9BVjEpIHsKPj4gPj4gPiA+ID4gPiA+Pj4+ Pj4gKyAgICAgICAgICAgIGF2aW9fdzgocGIsIEZMVl9JU19FWF9IRUFERVIgfCBQYWNrZXRUeXBl Q29kZWRGcmFtZXMpOwo+PiA+PiA+ID4gPiA+ID4+Pj4+PiArICAgICAgICAgICAgYXZpb193cml0 ZShwYiwgImF2MDEiLCA0KTsKPj4gPj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICB9IGVsc2Ug ewo+PiA+PiA+ID4gPiA+ID4+Pj4+PiAgICAgICAgICAgICAgICBhdmlvX3c4KHBiLCBmbGFncyk7 Cj4+ID4+ID4gPiA+ID4gPj4+Pj4+ICAgICAgICAgICAgfQo+PiA+PiA+ID4gPiA+ID4+Pj4+PiAt LQo+PiA+PiA+ID4gPiA+ID4+Pj4+PiAyLjQwLjAKPj4gPj4gPiA+ID4gPiA+Pj4+Pj4KPj4gPj4g PiA+ID4gPiA+Pj4+PiBJIHRlc3RlZCB0aGlzIGJ5IGFwcGx5aW5nIHRoZSBwYXRjaGVzIG9uIHRv cCBvZiBmZm1wZWcgNi4wIGFuZCBpdAo+PiA+PiA+ID4gPiA+ID4+Pj4+IGRvZXNuJ3Qgc2VlbSB0 byB3b3JrOgo+PiA+PiA+ID4gPiA+ID4+Pj4+Cj4+ID4+ID4gPiA+ID4gPj4+Pj4gICAgIGxpYmF2 dXRpbCAgICAgIDU4LiAgMi4xMDAgLyA1OC4gIDIuMTAwCj4+ID4+ID4gPiA+ID4gPj4+Pj4gICAg IGxpYmF2Y29kZWMgICAgIDYwLiAgMy4xMDAgLyA2MC4gIDMuMTAwCj4+ID4+ID4gPiA+ID4gPj4+ Pj4gICAgIGxpYmF2Zm9ybWF0ICAgIDYwLiAgMy4xMDAgLyA2MC4gIDMuMTAwCj4+ID4+ID4gPiA+ ID4gPj4+Pj4gICAgIGxpYmF2ZGV2aWNlICAgIDYwLiAgMS4xMDAgLyA2MC4gIDEuMTAwCj4+ID4+ ID4gPiA+ID4gPj4+Pj4gICAgIGxpYmF2ZmlsdGVyICAgICA5LiAgMy4xMDAgLyAgOS4gIDMuMTAw Cj4+ID4+ID4gPiA+ID4gPj4+Pj4gICAgIGxpYnN3c2NhbGUgICAgICA3LiAgMS4xMDAgLyAgNy4g IDEuMTAwCj4+ID4+ID4gPiA+ID4gPj4+Pj4gICAgIGxpYnN3cmVzYW1wbGUgICA0LiAxMC4xMDAg LyAgNC4gMTAuMTAwCj4+ID4+ID4gPiA+ID4gPj4+Pj4gICAgIGxpYnBvc3Rwcm9jICAgIDU3LiAg MS4xMDAgLyA1Ny4gIDEuMTAwCj4+ID4+ID4gPiA+ID4gPj4+Pj4gW2xpYmRhdjFkIEAgMHg1NWM5 ZWE4Y2FlODBdIGxpYmRhdjFkIDEuMS4wCj4+ID4+ID4gPiA+ID4gPj4+Pj4gSW5wdXQgIzAsIG1h dHJvc2thLHdlYm0sIGZyb20gJzIwMjMtMDUtMDggMTgtNTItNDIubWt2JzoKPj4gPj4gPiA+ID4g PiA+Pj4+PiAgICAgTWV0YWRhdGE6Cj4+ID4+ID4gPiA+ID4gPj4+Pj4gICAgICAgRU5DT0RFUiAg ICAgICAgIDogTGF2ZjYwLjMuMTAwCj4+ID4+ID4gPiA+ID4gPj4+Pj4gICAgIER1cmF0aW9uOiAw MDowMjowMC41Mywgc3RhcnQ6IDAuMDAwMDAwLCBiaXRyYXRlOiAxMTU1IGtiL3MKPj4gPj4gPiA+ ID4gPiA+Pj4+PiAgICAgU3RyZWFtICMwOjA6IFZpZGVvOiBhdjEgKE1haW4pLCB5dXY0MjBwKHR2 LCBidDcwOSksIDEyODB4NzIwLCAzMAo+PiA+PiA+ID4gPiA+ID4+Pj4+IGZwcywgMzAgdGJyLCAx ayB0Ym4KPj4gPj4gPiA+ID4gPiA+Pj4+PiAgICAgICBNZXRhZGF0YToKPj4gPj4gPiA+ID4gPiA+ Pj4+PiAgICAgICAgIERVUkFUSU9OICAgICAgICA6IDAwOjAyOjAwLjUzMzAwMDAwMAo+PiA+PiA+ ID4gPiA+ID4+Pj4+ICAgICBTdHJlYW0gIzA6MTogQXVkaW86IGFhYyAoTEMpLCA0ODAwMCBIeiwg c3RlcmVvLCBmbHRwCj4+ID4+ID4gPiA+ID4gPj4+Pj4gICAgICAgTWV0YWRhdGE6Cj4+ID4+ID4g PiA+ID4gPj4+Pj4gICAgICAgICB0aXRsZSAgICAgICAgICAgOiBUcmFjazEKPj4gPj4gPiA+ID4g PiA+Pj4+PiAgICAgICAgIERVUkFUSU9OICAgICAgICA6IDAwOjAyOjAwLjUzMzAwMDAwMAo+PiA+ PiA+ID4gPiA+ID4+Pj4+IFtmbHYgQCAweDU1YzllYTkzNjE0MF0gQ29kZWMgYXYxIGlzIG5vdCBz dXBwb3J0ZWQgaW4gdGhlIG9mZmljaWFsIEZMVgo+PiA+PiA+ID4gPiA+ID4+Pj4+IHNwZWNpZmlj YXRpb24sCj4+ID4+ID4gPiA+ID4gPj4+Pj4gW2ZsdiBAIDB4NTVjOWVhOTM2MTQwXSB1c2UgdnN0 cmljdD0tMSAvIC1zdHJpY3QgLTEgdG8gdXNlIGl0IGFueXdheS4KPj4gPj4gPiA+ID4gPiA+Pj4+ IFBheSBhdHRlbnRpb24gdGhpcyB3YXJuaW5nIG1lc3NhZ2UuCj4+ID4+ID4gPiA+ID4gPj4+Pgo+ PiA+PiA+ID4gPiA+ID4+Pj4+IFtvdXQjMC9mbHYgQCAweDU1YzllYThjZGE4MF0gQ291bGQgbm90 IHdyaXRlIGhlYWRlciAoaW5jb3JyZWN0IGNvZGVjCj4+ID4+ID4gPiA+ID4gPj4+Pj4gcGFyYW1l dGVycyA/KTogSW52YWxpZCBhcmd1bWVudAo+PiA+PiA+ID4gPiA+ID4+Pj4+IFthb3N0IzA6MS9j b3B5IEAgMHg1NWM5ZWE5N2FlMDBdIEVycm9yIGluaXRpYWxpemluZyBvdXRwdXQgc3RyZWFtOgo+ PiA+PiA+ID4gPiA+ID4+Pj4+IFN0cmVhbSBtYXBwaW5nOgo+PiA+PiA+ID4gPiA+ID4+Pj4+ICAg ICBTdHJlYW0gIzA6MCAtPiAjMDowIChjb3B5KQo+PiA+PiA+ID4gPiA+ID4+Pj4+ICAgICBTdHJl YW0gIzA6MSAtPiAjMDoxIChjb3B5KQo+PiA+PiA+ID4gPiA+ID4+Pj4+ICAgICAgIExhc3QgbWVz c2FnZSByZXBlYXRlZCAxIHRpbWVzCj4+ID4+ID4gPiA+ID4gPj4+IFdlbGwsIHRoaXMgaXMgbXkg Y29tbWFuZDoKPj4gPj4gPiA+ID4gPiA+Pj4KPj4gPj4gPiA+ID4gPiA+Pj4gJCBmZm1wZWcgLWkg ImlucHV0Lm1rdiIgLXZjb2RlYyBjb3B5IC1hY29kZWMgY29weSAib3V0cHV0LmZsdiIKPj4gPj4g PiA+ID4gPiA+Pj4KPj4gPj4gPiA+ID4gPiA+Pj4gV2hhdCBzaG91bGQgSSBiZSBkb2luZyBpbnN0 ZWFkPwo+PiA+PiA+ID4gPiA+ID4+ICAgICBmZm1wZWcgLWkgImlucHV0Lm1rdiIgLXZjb2RlYyBj b3B5IC1hY29kZWMgY29weSAtc3RyaWN0IC0xICJvdXRwdXQuZmx2Igo+PiA+PiA+ID4gPiA+ID4+ Cj4+ID4+ID4gPiA+ID4gPiBUaGF0IGRlZmVhdHMgdGhlIHBvaW50IG9mIHRoaXMgcGF0Y2guIFRo aXMgcGF0Y2ggYWRkcyBwcm9wZXIgc3VwcG9ydAo+PiA+PiA+ID4gPiA+ID4gZm9yIEFWMSB0byB0 aGUgRkxWIGNvZGUsIHNvIGl0IHNob3VsZCBub3QgbmVlZCB0aGF0Lgo+PiA+PiA+ID4gPiA+Cj4+ ID4+ID4gPiA+ID4gVGhpcyBwYXRjaCBkb2VzIG5vdCBhZGQgSEVWQyBvciBBVjEgc3VwcG9ydCB0 byB0aGUgRkxWICpzcGVjaWZpY2F0aW9uKiwKPj4gPj4gPiA+ID4gPiBoZW5jZSB0aGUgZ3VhcmQu Cj4+ID4+ID4gPiA+ID4KPj4gPj4gPiA+ID4KPj4gPj4gPiA+ID4gVGhlIHRoaW5nIGlzLCB0aGlz IHBhdGNoIHNlcmllcyBpcyBhYm91dCBpbXBsZW1lbnRpbmcgc3VwcG9ydCBmb3IgdGhlCj4+ID4+ ID4gPiA+IGVuaGFuY2VkIEZMViBzcGVjaWZpY2F0aW9uLgo+PiA+PiA+ID4gTm8sIFRoYXQgZG9j dW1lbnRhdGlvbiBpcyBub3QgZmx2IG9mZmljaWFsIHNwZWNpZmljYXRpb24sIGl0IGp1c3QgYSBk b2N1bWVudC4KPj4gPj4gPgo+PiA+PiA+IEZyYW5rbHksIHNvIHdhcyB0aGUgb3JpZ2luYWwgb25l LiBUaGUgbmV3IHNwZWNpZmljYXRpb24gaXMgYmVpbmcKPj4gPj4gPiBzdGV3YXJkZWQgYnkgYSBn cm91cCB0aGF0IGhhcyB0aGUgY3VycmVudCBvd25lciBvZiB0aGUgUlRNUCBzcGVjIGFzIGEKPj4g Pj4gPiBtZW1iZXIgKFZlcmlza29wZSkuCj4+ID4+ID4KPj4gPj4gPiBSVE1QIHdhcyBuZXZlciBJ RVRGIG9yIElTTyBzdGFuZGFyZGl6ZWQsIGFuZCBuZWl0aGVyIHdhcyBGTFYuIEY0ViB3YXMKPj4g Pj4gPiBkZXJpdmVkIGZyb20gTVA0L01PViwgYnV0IHRoYXQncyBub3Qgd2hhdCBSVE1QIHVzZXMu Cj4+ID4+Cj4+ID4+IElJUkMsIFJUTVAgYW5kIEZMViBvZmZpY2lhbCBzcGVjaWZpY2F0aW9uIGlz IHJlbGVhc2VkIGJ5IEFkb2JlLCBub3QKPj4gPj4gdmVvdmVyYSwgcmlnaHQ/Cj4+ID4+Cj4+ID4K Pj4gPiBOb3QgYW55bW9yZS4gQWRvYmUgaGFuZGVkIGl0IG92ZXIgdG8gVmVyaXNrb3BlLCBhbmQg VmVyaXNrb3BlIHNlZW1zIHRvCj4+ID4gaGF2ZSBkb25lIG5ldyB3b3JrIGluIHRoZSBWZW92ZXJh IGdyb3VwIGFsb25nc2lkZSBBZG9iZSwgT0JTLAo+PiA+IFZpZGVvTEFOLCBYU3BsaXQsIGFuZCBv dGhlcnMuCj4+Cj4+IFRoaXMgaXMgY29ycmVjdC4gVmVyaXNrb3BlIG1hbmFnZXMgdGhlIEZsYXNo IFNlcnZlciBhbmQgdGhlcmVmb3JlLCBkZSBmYWN0bywgdGhlIGZsdiBzcGVjLgo+Pgo+PiBDdXJy ZW50bHksIHRoZSBpc3N1ZSBpcyB0aGF0IHRoaXMgaXMgbm90IDEwMCUgc3RhbmRhcmRpemVkLiBV bnRpbCBpdCdzIG9mZmljaWFsLCBpdCBzaG91bGQgYmUgYmVoaW5kIGEgZmxhZy4KPj4gQWZ0ZXIg dGhhdCwgc3VyZS4KPj4KPgo+IERvIHlvdSBrbm93IHdoYXQncyBwcmV2ZW50aW5nIGl0IGZyb20g YmVpbmcgIm9mZmljaWFsIj8gRG8geW91IGtub3cKPiB3aGVuIHRoYXQnbGwgY2hhbmdlPwoKV2Un cmUgd2FpdGluZyBmb3IgcmVtYXJrcywgZmVlZGJhY2sgYW5kIGNvbXBsYWludHMgYWJvdXQgdGhl IGV4dGVuc2lvbnMuIFNvIGZhciwgd2UndmUgcmVjZWl2ZWQgdmVyeSBsaXR0bGUuCgpqYgotLSAK SmVhbi1CYXB0aXN0ZSBLZW1wZiAtICBQcmVzaWRlbnQKKzMzIDY3MiA3MDQgNzM0Cl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWls aW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxt YW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92 ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3Qg InVuc3Vic2NyaWJlIi4K