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 C601246297 for ; Thu, 11 May 2023 16:22:44 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3C44968C0A6; Thu, 11 May 2023 19:22:43 +0300 (EEST) Received: from mail-ed1-f42.google.com (mail-ed1-f42.google.com [209.85.208.42]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3E06368BB11 for ; Thu, 11 May 2023 19:22:36 +0300 (EEST) Received: by mail-ed1-f42.google.com with SMTP id 4fb4d7f45d1cf-50be0d835aaso15688079a12.3 for ; Thu, 11 May 2023 09:22:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683822154; x=1686414154; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=ufLOZyUF1DmV/0QHMxId0DmJb5XCK4NkQT7yqwoFRx4=; b=IwaJ0T3CHGFmSf13exvvMEGiB8761KGnkSc6+ARYTzxZh7p1YPck63+bzERysQ94JK k8JUsFi86ErZHcoLBrr03ZDhdFOJnnaoJz4sgJponEAHzIbiR5sV5d9bfPds6TF9TXYu XWToprG6TEcfSAM4CBXPOh6TWKo69ljHztNnqDDSs2pcRnKzzyL5SBtZcS/oAsyeA7/B kb390flSiI6Q6AA3EQvyjgYS5AmVi5fXAcgrHsl6UySkUCqZhGPsjjDDakG3QXbimRO6 38URflalnpXQVvuj4p1YoEZY+U5fIYGh4E0aHWteCvdrGxWYzGMeFbPll5txst6AbCrx rKDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683822154; x=1686414154; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ufLOZyUF1DmV/0QHMxId0DmJb5XCK4NkQT7yqwoFRx4=; b=fI4lprv870YSC0hfbunGVvU8zMGCnVrwiHheTKlm2L6QRvIbli1AdQwaLI2wmVDiBk rFRcvOxmch/rI2UcFYltHQtpE7naxle54xT+fDRZZTVGh11zuJcosb1D5rSNrmo3s+z5 otvmfzFF/l9rzG1yMZKyWl5BcviYQ1OIAjGkTjWykYyoPhehrhGDunNV5kVA8IVR7+bf MNRqBDNynjyHuXWkeNjS8pXHAb3X5ds+Xmh5bumUm1nvVrukeAGvoiOD/ZrGeuT24VDq nr8KwVIa26Mc/8a1Q0HF4aFdH95nYFuqCDuDhuSixrfi4EhUyYXxW3DIs0FXLmpo4GWU Cxmw== X-Gm-Message-State: AC+VfDzCax8t6ax/c7QrG0ygLcR8V4R7z4th2WW6hn36qM9K4Y29vPyZ pGNgx3S0lvFRF4XP7J5syFnG7WUzLJZ/SpiCQQOPeN2kbDGfnA== X-Google-Smtp-Source: ACHHUZ4OwOGfxo1QBxHNOl1J7GtIyjY4bLn88wNPH31vL6OvFG1yrYZNsufTBOVN9gmqUBipr3sfWemCocFBTIMTk+Y= X-Received: by 2002:a17:907:9454:b0:953:291a:6705 with SMTP id dl20-20020a170907945400b00953291a6705mr20332770ejc.17.1683822154519; Thu, 11 May 2023 09:22:34 -0700 (PDT) MIME-Version: 1.0 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> In-Reply-To: From: Neal Gompa Date: Thu, 11 May 2023 12:21:58 -0400 Message-ID: To: FFmpeg development discussions and patches 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: T24gV2VkLCBNYXkgMTAsIDIwMjMgYXQgOTo0MOKAr1BNIFN0ZXZlbiBMaXUgPGxpbmdqaXVqaWFu a2VAZ21haWwuY29tPiB3cm90ZToKPgo+IE5lYWwgR29tcGEgPG5nb21wYTEzQGdtYWlsLmNvbT4g 5LqOMjAyM+W5tDXmnIgxMeaXpeWRqOWbmyAwOTozMeWGmemBk++8mgo+ID4KPiA+IE9uIFdlZCwg TWF5IDEwLCAyMDIzIGF0IDc6MTPigK9BTSBTdGV2ZW4gTGl1IDxsaW5naml1amlhbmtlQGdtYWls LmNvbT4gd3JvdGU6Cj4gPiA+Cj4gPiA+IE5lYWwgR29tcGEgPG5nb21wYTEzQGdtYWlsLmNvbT4g 5LqOMjAyM+W5tDXmnIgxMOaXpeWRqOS4iSAxOTowNeWGmemBk++8mgo+ID4gPiA+Cj4gPiA+ID4g T24gVHVlLCBNYXkgOSwgMjAyMyBhdCA2OjQ44oCvQU0gR3lhbiBEb3NoaSA8ZmZtcGVnQGd5YW5p LnBybz4gd3JvdGU6Cj4gPiA+ID4gPgo+ID4gPiA+ID4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBPbiAy MDIzLTA1LTA5IDA0OjA1IHBtLCBOZWFsIEdvbXBhIHdyb3RlOgo+ID4gPiA+ID4gPiBPbiBUdWUs IE1heSA5LCAyMDIzIGF0IDEyOjE04oCvQU0gR3lhbiBEb3NoaSA8ZmZtcGVnQGd5YW5pLnBybz4g d3JvdGU6Cj4gPiA+ID4gPiA+Pgo+ID4gPiA+ID4gPj4KPiA+ID4gPiA+ID4+IE9uIDIwMjMtMDUt MDkgMDg6MTEgYW0sIE5lYWwgR29tcGEgd3JvdGU6Cj4gPiA+ID4gPiA+Pj4gT24gTW9uLCBNYXkg OCwgMjAyMyBhdCA5OjU14oCvUE0gU3RldmVuIExpdSA8bGluZ2ppdWppYW5rZUBnbWFpbC5jb20+ IHdyb3RlOgo+ID4gPiA+ID4gPj4+PiBOZWFsIEdvbXBhIDxuZ29tcGExM0BnbWFpbC5jb20+IOS6 jjIwMjPlubQ15pyIOeaXpeWRqOS6jCAwNzowOOWGmemBk++8mgo+ID4gPiA+ID4gPj4+Pj4gT24g VGh1LCBBcHIgMTMsIDIwMjMgYXQgNTo0NeKAr0FNIFN0ZXZlbiBMaXUgPGxxQGNoaW5hZmZtcGVn Lm9yZz4gd3JvdGU6Cj4gPiA+ID4gPiA+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogU3RldmVuIExpdSA8 bHFAY2hpbmFmZm1wZWcub3JnPgo+ID4gPiA+ID4gPj4+Pj4+IC0tLQo+ID4gPiA+ID4gPj4+Pj4+ ICAgIGxpYmF2Zm9ybWF0L2ZsdmVuYy5jIHwgMjUgKysrKysrKysrKysrKysrKysrKystLS0tLQo+ ID4gPiA+ID4gPj4+Pj4+ICAgIDEgZmlsZSBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCA1IGRl bGV0aW9ucygtKQo+ID4gPiA+ID4gPj4+Pj4+Cj4gPiA+ID4gPiA+Pj4+Pj4gZGlmZiAtLWdpdCBh L2xpYmF2Zm9ybWF0L2ZsdmVuYy5jIGIvbGliYXZmb3JtYXQvZmx2ZW5jLmMKPiA+ID4gPiA+ID4+ Pj4+PiBpbmRleCA1N2EyNjI0NWZmLi43YjQzZWNhZWZhIDEwMDY0NAo+ID4gPiA+ID4gPj4+Pj4+ IC0tLSBhL2xpYmF2Zm9ybWF0L2ZsdmVuYy5jCj4gPiA+ID4gPiA+Pj4+Pj4gKysrIGIvbGliYXZm b3JtYXQvZmx2ZW5jLmMKPiA+ID4gPiA+ID4+Pj4+PiBAQCAtMjgsNiArMjgsNyBAQAo+ID4gPiA+ ID4gPj4+Pj4+ICAgICNpbmNsdWRlICJsaWJhdmNvZGVjL21wZWc0YXVkaW8uaCIKPiA+ID4gPiA+ ID4+Pj4+PiAgICAjaW5jbHVkZSAiYXZpby5oIgo+ID4gPiA+ID4gPj4+Pj4+ICAgICNpbmNsdWRl ICJhdmMuaCIKPiA+ID4gPiA+ID4+Pj4+PiArI2luY2x1ZGUgImF2MS5oIgo+ID4gPiA+ID4gPj4+ Pj4+ICAgICNpbmNsdWRlICJoZXZjLmgiCj4gPiA+ID4gPiA+Pj4+Pj4gICAgI2luY2x1ZGUgImF2 Zm9ybWF0LmgiCj4gPiA+ID4gPiA+Pj4+Pj4gICAgI2luY2x1ZGUgImZsdi5oIgo+ID4gPiA+ID4g Pj4+Pj4+IEBAIC00OCw2ICs0OSw3IEBAIHN0YXRpYyBjb25zdCBBVkNvZGVjVGFnIGZsdl92aWRl b19jb2RlY19pZHNbXSA9IHsKPiA+ID4gPiA+ID4+Pj4+PiAgICAgICAgeyBBVl9DT0RFQ19JRF9W UDZBLCAgICAgRkxWX0NPREVDSURfVlA2QSB9LAo+ID4gPiA+ID4gPj4+Pj4+ICAgICAgICB7IEFW X0NPREVDX0lEX0gyNjQsICAgICBGTFZfQ09ERUNJRF9IMjY0IH0sCj4gPiA+ID4gPiA+Pj4+Pj4g ICAgICAgIHsgQVZfQ09ERUNfSURfSEVWQywgICAgIE1LQkVUQUcoJ2gnLCAndicsICdjJywgJzEn KSB9LAo+ID4gPiA+ID4gPj4+Pj4+ICsgICAgeyBBVl9DT0RFQ19JRF9BVjEsICAgICAgTUtCRVRB RygnYScsICd2JywgJzAnLCAnMScpIH0sCj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgIHsgQVZfQ09E RUNfSURfTk9ORSwgICAgIDAgfQo+ID4gPiA+ID4gPj4+Pj4+ICAgIH07Cj4gPiA+ID4gPiA+Pj4+ Pj4KPiA+ID4gPiA+ID4+Pj4+PiBAQCAtNDk0LDcgKzQ5Niw4IEBAIHN0YXRpYyB2b2lkIGZsdl93 cml0ZV9jb2RlY19oZWFkZXIoQVZGb3JtYXRDb250ZXh0KiBzLCBBVkNvZGVjUGFyYW1ldGVycyog cGFyLCBpCj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgIEZMVkNvbnRleHQgKmZsdiA9IHMtPnByaXZf ZGF0YTsKPiA+ID4gPiA+ID4+Pj4+Pgo+ID4gPiA+ID4gPj4+Pj4+ICAgICAgICBpZiAocGFyLT5j b2RlY19pZCA9PSBBVl9DT0RFQ19JRF9BQUMgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19J RF9IMjY0Cj4gPiA+ID4gPiA+Pj4+Pj4gLSAgICAgICAgICAgIHx8IHBhci0+Y29kZWNfaWQgPT0g QVZfQ09ERUNfSURfTVBFRzQgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IRVZDKSB7 Cj4gPiA+ID4gPiA+Pj4+Pj4gKyAgICAgICAgICAgIHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09E RUNfSURfTVBFRzQgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IRVZDCj4gPiA+ID4g PiA+Pj4+Pj4gKyAgICAgICAgICAgIHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfQVYx KSB7Cj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICBpbnQ2NF90IHBvczsKPiA+ID4gPiA+ID4+ Pj4+PiAgICAgICAgICAgIGF2aW9fdzgocGIsCj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICAg ICAgICAgIHBhci0+Y29kZWNfdHlwZSA9PSBBVk1FRElBX1RZUEVfVklERU8gPwo+ID4gPiA+ID4g Pj4+Pj4+IEBAIC01NDAsNiArNTQzLDkgQEAgc3RhdGljIHZvaWQgZmx2X3dyaXRlX2NvZGVjX2hl YWRlcihBVkZvcm1hdENvbnRleHQqIHMsIEFWQ29kZWNQYXJhbWV0ZXJzKiBwYXIsIGkKPiA+ID4g PiA+ID4+Pj4+PiAgICAgICAgICAgICAgICBpZiAocGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19J RF9IRVZDKSB7Cj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICAgICAgICAgIGF2aW9fdzgocGIs IEZMVl9JU19FWF9IRUFERVIgfCBQYWNrZXRUeXBlU2VxdWVuY2VTdGFydCk7IC8vIEV4VmlkZW9U YWdIZWFkZXIgbW9kZSB3aXRoIFBhY2tldFR5cGVTZXF1ZW5jZVN0YXJ0Cj4gPiA+ID4gPiA+Pj4+ Pj4gICAgICAgICAgICAgICAgICAgIGF2aW9fd3JpdGUocGIsICJodmMxIiwgNCk7Cj4gPiA+ID4g PiA+Pj4+Pj4gKyAgICAgICAgICAgIH0gZWxzZSBpZiAocGFyLT5jb2RlY19pZCA9PSBBVl9DT0RF Q19JRF9BVjEpIHsKPiA+ID4gPiA+ID4+Pj4+PiArICAgICAgICAgICAgICAgIGF2aW9fdzgocGIs IEZMVl9JU19FWF9IRUFERVIgfCBQYWNrZXRUeXBlU2VxdWVuY2VTdGFydCk7Cj4gPiA+ID4gPiA+ Pj4+Pj4gKyAgICAgICAgICAgICAgICBhdmlvX3dyaXRlKHBiLCAiYXYwMSIsIDQpOwo+ID4gPiA+ ID4gPj4+Pj4+ICAgICAgICAgICAgICAgIH0gZWxzZSB7Cj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAg ICAgICAgICAgICAgIGF2aW9fdzgocGIsIHBhci0+Y29kZWNfdGFnIHwgRkxWX0ZSQU1FX0tFWSk7 IC8vIGZsYWdzCj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICAgICAgICAgIGF2aW9fdzgocGIs IDApOyAvLyBBVkMgc2VxdWVuY2UgaGVhZGVyCj4gPiA+ID4gPiA+Pj4+Pj4gQEAgLTU0OCw2ICs1 NTQsOCBAQCBzdGF0aWMgdm9pZCBmbHZfd3JpdGVfY29kZWNfaGVhZGVyKEFWRm9ybWF0Q29udGV4 dCogcywgQVZDb2RlY1BhcmFtZXRlcnMqIHBhciwgaQo+ID4gPiA+ID4gPj4+Pj4+Cj4gPiA+ID4g PiA+Pj4+Pj4gICAgICAgICAgICAgICAgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURf SEVWQykKPiA+ID4gPiA+ID4+Pj4+PiAgICAgICAgICAgICAgICAgICAgZmZfaXNvbV93cml0ZV9o dmNjKHBiLCBwYXItPmV4dHJhZGF0YSwgcGFyLT5leHRyYWRhdGFfc2l6ZSwgMCk7Cj4gPiA+ID4g PiA+Pj4+Pj4gKyAgICAgICAgICAgIGVsc2UgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNf SURfQVYxKQo+ID4gPiA+ID4gPj4+Pj4+ICsgICAgICAgICAgICAgICAgZmZfaXNvbV93cml0ZV9h djFjKHBiLCBwYXItPmV4dHJhZGF0YSwgcGFyLT5leHRyYWRhdGFfc2l6ZSwgMSk7Cj4gPiA+ID4g PiA+Pj4+Pj4gICAgICAgICAgICAgICAgZWxzZQo+ID4gPiA+ID4gPj4+Pj4+ICAgICAgICAgICAg ICAgICAgICBmZl9pc29tX3dyaXRlX2F2Y2MocGIsIHBhci0+ZXh0cmFkYXRhLCBwYXItPmV4dHJh ZGF0YV9zaXplKTsKPiA+ID4gPiA+ID4+Pj4+PiAgICAgICAgICAgIH0KPiA+ID4gPiA+ID4+Pj4+ PiBAQCAtNjQwLDcgKzY0OCw4IEBAIHN0YXRpYyBpbnQgZmx2X2luaXQoc3RydWN0IEFWRm9ybWF0 Q29udGV4dCAqcykKPiA+ID4gPiA+ID4+Pj4+Pgo+ID4gPiA+ID4gPj4+Pj4+ICAgICAgICAgICAg ICAgIGlmIChwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX01QRUc0IHx8Cj4gPiA+ID4gPiA+ Pj4+Pj4gICAgICAgICAgICAgICAgICAgIHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSDI2 MyB8fAo+ID4gPiA+ID4gPj4+Pj4+IC0gICAgICAgICAgICAgICAgcGFyLT5jb2RlY19pZCA9PSBB Vl9DT0RFQ19JRF9IRVZDKSB7Cj4gPiA+ID4gPiA+Pj4+Pj4gKyAgICAgICAgICAgICAgICBwYXIt PmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0hFVkMgfHwKPiA+ID4gPiA+ID4+Pj4+PiArICAgICAg ICAgICAgICAgIHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfQVYxKSB7Cj4gPiA+ID4gPiA+ Pj4+Pj4gICAgICAgICAgICAgICAgICAgIGludCBlcnJvciA9IHMtPnN0cmljdF9zdGRfY29tcGxp YW5jZSA+IEZGX0NPTVBMSUFOQ0VfVU5PRkZJQ0lBTDsKPiA+ID4gPiA+ID4+Pj4+PiAgICAgICAg ICAgICAgICAgICAgYXZfbG9nKHMsIGVycm9yID8gQVZfTE9HX0VSUk9SIDogQVZfTE9HX1dBUk5J TkcsCj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAiQ29kZWMgJXMg aXMgbm90IHN1cHBvcnRlZCBpbiB0aGUgb2ZmaWNpYWwgRkxWIHNwZWNpZmljYXRpb24sXG4iLCBh dmNvZGVjX2dldF9uYW1lKHBhci0+Y29kZWNfaWQpKTsKPiA+ID4gPiA+ID4+Pj4+PiBAQCAtODQ4 LDEzICs4NTcsMTUgQEAgc3RhdGljIGludCBmbHZfd3JpdGVfcGFja2V0KEFWRm9ybWF0Q29udGV4 dCAqcywgQVZQYWNrZXQgKnBrdCkKPiA+ID4gPiA+ID4+Pj4+PiAgICAgICAgaWYgKHBhci0+Y29k ZWNfaWQgPT0gQVZfQ09ERUNfSURfVlA2RiB8fCBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lE X1ZQNkEgfHwKPiA+ID4gPiA+ID4+Pj4+PiAgICAgICAgICAgIHBhci0+Y29kZWNfaWQgPT0gQVZf Q09ERUNfSURfVlA2ICB8fCBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0FBQykKPiA+ID4g PiA+ID4+Pj4+PiAgICAgICAgICAgIGZsYWdzX3NpemUgPSAyOwo+ID4gPiA+ID4gPj4+Pj4+IC0g ICAgZWxzZSBpZiAocGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IMjY0IHx8IHBhci0+Y29k ZWNfaWQgPT0gQVZfQ09ERUNfSURfTVBFRzQgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19J RF9IRVZDKQo+ID4gPiA+ID4gPj4+Pj4+ICsgICAgZWxzZSBpZiAocGFyLT5jb2RlY19pZCA9PSBB Vl9DT0RFQ19JRF9IMjY0IHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfTVBFRzQgfHwK PiA+ID4gPiA+ID4+Pj4+PiArICAgICAgICAgICAgIHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNf SURfSEVWQyB8fCBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0FWMSkKPiA+ID4gPiA+ID4+ Pj4+PiAgICAgICAgICAgIGZsYWdzX3NpemUgPSA1Owo+ID4gPiA+ID4gPj4+Pj4+ICAgICAgICBl bHNlCj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICBmbGFnc19zaXplID0gMTsKPiA+ID4gPiA+ ID4+Pj4+Pgo+ID4gPiA+ID4gPj4+Pj4+ICAgICAgICBpZiAocGFyLT5jb2RlY19pZCA9PSBBVl9D T0RFQ19JRF9BQUMgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IMjY0Cj4gPiA+ID4g PiA+Pj4+Pj4gLSAgICAgICAgICAgIHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfTVBF RzQgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IRVZDKSB7Cj4gPiA+ID4gPiA+Pj4+ Pj4gKyAgICAgICAgICAgIHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfTVBFRzQgfHwg cGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IRVZDCj4gPiA+ID4gPiA+Pj4+Pj4gKyAgICAg ICAgICAgIHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfQVYxKSB7Cj4gPiA+ID4gPiA+ Pj4+Pj4gICAgICAgICAgICBzaXplX3Qgc2lkZV9zaXplOwo+ID4gPiA+ID4gPj4+Pj4+ICAgICAg ICAgICAgdWludDhfdCAqc2lkZSA9IGF2X3BhY2tldF9nZXRfc2lkZV9kYXRhKHBrdCwgQVZfUEtU X0RBVEFfTkVXX0VYVFJBREFUQSwgJnNpZGVfc2l6ZSk7Cj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAg ICAgICBpZiAoc2lkZSAmJiBzaWRlX3NpemUgPiAwICYmIChzaWRlX3NpemUgIT0gcGFyLT5leHRy YWRhdGFfc2l6ZSB8fCBtZW1jbXAoc2lkZSwgcGFyLT5leHRyYWRhdGEsIHNpZGVfc2l6ZSkpKSB7 Cj4gPiA+ID4gPiA+Pj4+Pj4gQEAgLTg3NCw3ICs4ODUsOCBAQCBzdGF0aWMgaW50IGZsdl93cml0 ZV9wYWNrZXQoQVZGb3JtYXRDb250ZXh0ICpzLCBBVlBhY2tldCAqcGt0KQo+ID4gPiA+ID4gPj4+ Pj4+ICAgICAgICAgICAgICAgICAgICJQYWNrZXRzIGFyZSBub3QgaW4gdGhlIHByb3BlciBvcmRl ciB3aXRoIHJlc3BlY3QgdG8gRFRTXG4iKTsKPiA+ID4gPiA+ID4+Pj4+PiAgICAgICAgICAgIHJl dHVybiBBVkVSUk9SKEVJTlZBTCk7Cj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgIH0KPiA+ID4gPiA+ ID4+Pj4+PiAtICAgIGlmIChwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0gyNjQgfHwgcGFy LT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9NUEVHNCB8fCBwYXItPmNvZGVjX2lkID09IEFWX0NP REVDX0lEX0hFVkMpIHsKPiA+ID4gPiA+ID4+Pj4+PiArICAgIGlmIChwYXItPmNvZGVjX2lkID09 IEFWX0NPREVDX0lEX0gyNjQgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9NUEVHNCB8 fAo+ID4gPiA+ID4gPj4+Pj4+ICsgICAgICAgIHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURf SEVWQyB8fCAgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9BVjEpIHsKPiA+ID4gPiA+ID4+ Pj4+PiAgICAgICAgICAgIGlmIChwa3QtPnB0cyA9PSBBVl9OT1BUU19WQUxVRSkgewo+ID4gPiA+ ID4gPj4+Pj4+ICAgICAgICAgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfRVJST1IsICJQYWNrZXQg aXMgbWlzc2luZyBQVFNcbiIpOwo+ID4gPiA+ID4gPj4+Pj4+ICAgICAgICAgICAgICAgIHJldHVy biBBVkVSUk9SKEVJTlZBTCk7Cj4gPiA+ID4gPiA+Pj4+Pj4gQEAgLTk4Nyw2ICs5OTksOSBAQCBz dGF0aWMgaW50IGZsdl93cml0ZV9wYWNrZXQoQVZGb3JtYXRDb250ZXh0ICpzLCBBVlBhY2tldCAq cGt0KQo+ID4gPiA+ID4gPj4+Pj4+ICAgICAgICAgICAgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZf Q09ERUNfSURfSEVWQykgewo+ID4gPiA+ID4gPj4+Pj4+ICAgICAgICAgICAgICAgIGF2aW9fdzgo cGIsIEZMVl9JU19FWF9IRUFERVIgfCBQYWNrZXRUeXBlQ29kZWRGcmFtZXNYKTsgLy8gRXhWaWRl b1RhZ0hlYWRlciBtb2RlIHdpdGggUGFja2V0VHlwZUNvZGVkRnJhbWVzWAo+ID4gPiA+ID4gPj4+ Pj4+ICAgICAgICAgICAgICAgIGF2aW9fd3JpdGUocGIsICJodmMxIiwgNCk7Cj4gPiA+ID4gPiA+ Pj4+Pj4gKyAgICAgICAgfSBlbHNlIGlmIChwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0FW MSkgewo+ID4gPiA+ID4gPj4+Pj4+ICsgICAgICAgICAgICBhdmlvX3c4KHBiLCBGTFZfSVNfRVhf SEVBREVSIHwgUGFja2V0VHlwZUNvZGVkRnJhbWVzKTsKPiA+ID4gPiA+ID4+Pj4+PiArICAgICAg ICAgICAgYXZpb193cml0ZShwYiwgImF2MDEiLCA0KTsKPiA+ID4gPiA+ID4+Pj4+PiAgICAgICAg ICAgIH0gZWxzZSB7Cj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICAgICAgYXZpb193OChwYiwg ZmxhZ3MpOwo+ID4gPiA+ID4gPj4+Pj4+ICAgICAgICAgICAgfQo+ID4gPiA+ID4gPj4+Pj4+IC0t Cj4gPiA+ID4gPiA+Pj4+Pj4gMi40MC4wCj4gPiA+ID4gPiA+Pj4+Pj4KPiA+ID4gPiA+ID4+Pj4+ IEkgdGVzdGVkIHRoaXMgYnkgYXBwbHlpbmcgdGhlIHBhdGNoZXMgb24gdG9wIG9mIGZmbXBlZyA2 LjAgYW5kIGl0Cj4gPiA+ID4gPiA+Pj4+PiBkb2Vzbid0IHNlZW0gdG8gd29yazoKPiA+ID4gPiA+ ID4+Pj4+Cj4gPiA+ID4gPiA+Pj4+PiAgICAgbGliYXZ1dGlsICAgICAgNTguICAyLjEwMCAvIDU4 LiAgMi4xMDAKPiA+ID4gPiA+ID4+Pj4+ICAgICBsaWJhdmNvZGVjICAgICA2MC4gIDMuMTAwIC8g NjAuICAzLjEwMAo+ID4gPiA+ID4gPj4+Pj4gICAgIGxpYmF2Zm9ybWF0ICAgIDYwLiAgMy4xMDAg LyA2MC4gIDMuMTAwCj4gPiA+ID4gPiA+Pj4+PiAgICAgbGliYXZkZXZpY2UgICAgNjAuICAxLjEw MCAvIDYwLiAgMS4xMDAKPiA+ID4gPiA+ID4+Pj4+ICAgICBsaWJhdmZpbHRlciAgICAgOS4gIDMu MTAwIC8gIDkuICAzLjEwMAo+ID4gPiA+ID4gPj4+Pj4gICAgIGxpYnN3c2NhbGUgICAgICA3LiAg MS4xMDAgLyAgNy4gIDEuMTAwCj4gPiA+ID4gPiA+Pj4+PiAgICAgbGlic3dyZXNhbXBsZSAgIDQu IDEwLjEwMCAvICA0LiAxMC4xMDAKPiA+ID4gPiA+ID4+Pj4+ICAgICBsaWJwb3N0cHJvYyAgICA1 Ny4gIDEuMTAwIC8gNTcuICAxLjEwMAo+ID4gPiA+ID4gPj4+Pj4gW2xpYmRhdjFkIEAgMHg1NWM5 ZWE4Y2FlODBdIGxpYmRhdjFkIDEuMS4wCj4gPiA+ID4gPiA+Pj4+PiBJbnB1dCAjMCwgbWF0cm9z a2Esd2VibSwgZnJvbSAnMjAyMy0wNS0wOCAxOC01Mi00Mi5ta3YnOgo+ID4gPiA+ID4gPj4+Pj4g ICAgIE1ldGFkYXRhOgo+ID4gPiA+ID4gPj4+Pj4gICAgICAgRU5DT0RFUiAgICAgICAgIDogTGF2 ZjYwLjMuMTAwCj4gPiA+ID4gPiA+Pj4+PiAgICAgRHVyYXRpb246IDAwOjAyOjAwLjUzLCBzdGFy dDogMC4wMDAwMDAsIGJpdHJhdGU6IDExNTUga2Ivcwo+ID4gPiA+ID4gPj4+Pj4gICAgIFN0cmVh bSAjMDowOiBWaWRlbzogYXYxIChNYWluKSwgeXV2NDIwcCh0diwgYnQ3MDkpLCAxMjgweDcyMCwg MzAKPiA+ID4gPiA+ID4+Pj4+IGZwcywgMzAgdGJyLCAxayB0Ym4KPiA+ID4gPiA+ID4+Pj4+ICAg ICAgIE1ldGFkYXRhOgo+ID4gPiA+ID4gPj4+Pj4gICAgICAgICBEVVJBVElPTiAgICAgICAgOiAw MDowMjowMC41MzMwMDAwMDAKPiA+ID4gPiA+ID4+Pj4+ICAgICBTdHJlYW0gIzA6MTogQXVkaW86 IGFhYyAoTEMpLCA0ODAwMCBIeiwgc3RlcmVvLCBmbHRwCj4gPiA+ID4gPiA+Pj4+PiAgICAgICBN ZXRhZGF0YToKPiA+ID4gPiA+ID4+Pj4+ICAgICAgICAgdGl0bGUgICAgICAgICAgIDogVHJhY2sx Cj4gPiA+ID4gPiA+Pj4+PiAgICAgICAgIERVUkFUSU9OICAgICAgICA6IDAwOjAyOjAwLjUzMzAw MDAwMAo+ID4gPiA+ID4gPj4+Pj4gW2ZsdiBAIDB4NTVjOWVhOTM2MTQwXSBDb2RlYyBhdjEgaXMg bm90IHN1cHBvcnRlZCBpbiB0aGUgb2ZmaWNpYWwgRkxWCj4gPiA+ID4gPiA+Pj4+PiBzcGVjaWZp Y2F0aW9uLAo+ID4gPiA+ID4gPj4+Pj4gW2ZsdiBAIDB4NTVjOWVhOTM2MTQwXSB1c2UgdnN0cmlj dD0tMSAvIC1zdHJpY3QgLTEgdG8gdXNlIGl0IGFueXdheS4KPiA+ID4gPiA+ID4+Pj4gUGF5IGF0 dGVudGlvbiB0aGlzIHdhcm5pbmcgbWVzc2FnZS4KPiA+ID4gPiA+ID4+Pj4KPiA+ID4gPiA+ID4+ Pj4+IFtvdXQjMC9mbHYgQCAweDU1YzllYThjZGE4MF0gQ291bGQgbm90IHdyaXRlIGhlYWRlciAo aW5jb3JyZWN0IGNvZGVjCj4gPiA+ID4gPiA+Pj4+PiBwYXJhbWV0ZXJzID8pOiBJbnZhbGlkIGFy Z3VtZW50Cj4gPiA+ID4gPiA+Pj4+PiBbYW9zdCMwOjEvY29weSBAIDB4NTVjOWVhOTdhZTAwXSBF cnJvciBpbml0aWFsaXppbmcgb3V0cHV0IHN0cmVhbToKPiA+ID4gPiA+ID4+Pj4+IFN0cmVhbSBt YXBwaW5nOgo+ID4gPiA+ID4gPj4+Pj4gICAgIFN0cmVhbSAjMDowIC0+ICMwOjAgKGNvcHkpCj4g PiA+ID4gPiA+Pj4+PiAgICAgU3RyZWFtICMwOjEgLT4gIzA6MSAoY29weSkKPiA+ID4gPiA+ID4+ Pj4+ICAgICAgIExhc3QgbWVzc2FnZSByZXBlYXRlZCAxIHRpbWVzCj4gPiA+ID4gPiA+Pj4gV2Vs bCwgdGhpcyBpcyBteSBjb21tYW5kOgo+ID4gPiA+ID4gPj4+Cj4gPiA+ID4gPiA+Pj4gJCBmZm1w ZWcgLWkgImlucHV0Lm1rdiIgLXZjb2RlYyBjb3B5IC1hY29kZWMgY29weSAib3V0cHV0LmZsdiIK PiA+ID4gPiA+ID4+Pgo+ID4gPiA+ID4gPj4+IFdoYXQgc2hvdWxkIEkgYmUgZG9pbmcgaW5zdGVh ZD8KPiA+ID4gPiA+ID4+ICAgICBmZm1wZWcgLWkgImlucHV0Lm1rdiIgLXZjb2RlYyBjb3B5IC1h Y29kZWMgY29weSAtc3RyaWN0IC0xICJvdXRwdXQuZmx2Igo+ID4gPiA+ID4gPj4KPiA+ID4gPiA+ ID4gVGhhdCBkZWZlYXRzIHRoZSBwb2ludCBvZiB0aGlzIHBhdGNoLiBUaGlzIHBhdGNoIGFkZHMg cHJvcGVyIHN1cHBvcnQKPiA+ID4gPiA+ID4gZm9yIEFWMSB0byB0aGUgRkxWIGNvZGUsIHNvIGl0 IHNob3VsZCBub3QgbmVlZCB0aGF0Lgo+ID4gPiA+ID4KPiA+ID4gPiA+IFRoaXMgcGF0Y2ggZG9l cyBub3QgYWRkIEhFVkMgb3IgQVYxIHN1cHBvcnQgdG8gdGhlIEZMViAqc3BlY2lmaWNhdGlvbios Cj4gPiA+ID4gPiBoZW5jZSB0aGUgZ3VhcmQuCj4gPiA+ID4gPgo+ID4gPiA+Cj4gPiA+ID4gVGhl IHRoaW5nIGlzLCB0aGlzIHBhdGNoIHNlcmllcyBpcyBhYm91dCBpbXBsZW1lbnRpbmcgc3VwcG9y dCBmb3IgdGhlCj4gPiA+ID4gZW5oYW5jZWQgRkxWIHNwZWNpZmljYXRpb24uCj4gPiA+IE5vLCBU aGF0IGRvY3VtZW50YXRpb24gaXMgbm90IGZsdiBvZmZpY2lhbCBzcGVjaWZpY2F0aW9uLCBpdCBq dXN0IGEgZG9jdW1lbnQuCj4gPgo+ID4gRnJhbmtseSwgc28gd2FzIHRoZSBvcmlnaW5hbCBvbmUu IFRoZSBuZXcgc3BlY2lmaWNhdGlvbiBpcyBiZWluZwo+ID4gc3Rld2FyZGVkIGJ5IGEgZ3JvdXAg dGhhdCBoYXMgdGhlIGN1cnJlbnQgb3duZXIgb2YgdGhlIFJUTVAgc3BlYyBhcyBhCj4gPiBtZW1i ZXIgKFZlcmlza29wZSkuCj4gPgo+ID4gUlRNUCB3YXMgbmV2ZXIgSUVURiBvciBJU08gc3RhbmRh cmRpemVkLCBhbmQgbmVpdGhlciB3YXMgRkxWLiBGNFYgd2FzCj4gPiBkZXJpdmVkIGZyb20gTVA0 L01PViwgYnV0IHRoYXQncyBub3Qgd2hhdCBSVE1QIHVzZXMuCj4KPiBJSVJDLCBSVE1QIGFuZCBG TFYgb2ZmaWNpYWwgc3BlY2lmaWNhdGlvbiBpcyByZWxlYXNlZCBieSBBZG9iZSwgbm90Cj4gdmVv dmVyYSwgcmlnaHQ/Cj4KCk5vdCBhbnltb3JlLiBBZG9iZSBoYW5kZWQgaXQgb3ZlciB0byBWZXJp c2tvcGUsIGFuZCBWZXJpc2tvcGUgc2VlbXMgdG8KaGF2ZSBkb25lIG5ldyB3b3JrIGluIHRoZSBW ZW92ZXJhIGdyb3VwIGFsb25nc2lkZSBBZG9iZSwgT0JTLApWaWRlb0xBTiwgWFNwbGl0LCBhbmQg b3RoZXJzLgoKCi0tIArnnJ/lrp/jga/jgYTjgaTjgoLkuIDjgaTvvIEvIEFsd2F5cywgdGhlcmUn cyBvbmx5IG9uZSB0cnV0aCEKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9y ZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVu c3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVz dEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=