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 56A314517D for ; Fri, 12 May 2023 03:36:13 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2205668BF06; Fri, 12 May 2023 06:36:10 +0300 (EEST) Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.54]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1CF2468B102 for ; Fri, 12 May 2023 06:36:04 +0300 (EEST) Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-9661a1ff1e9so1092038166b.1 for ; Thu, 11 May 2023 20:36:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683862563; x=1686454563; 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=UwI0fvZsg2KYjEllbgvmVnx8TH8t+sP1f+1XEl8Vkhk=; b=nTnZE4U16F3x/ojgMDZfufyB1WrIDzEB7Jq0ZuOkU/RyVnnKXOOb7EA1BBy+yTPCGt 95IDC6x8JKnUK09qXxi0nv9UTtIsqBL1WHlBbc8jRwL/ZDzl7o8MDdOGMfnQpfECkT0h SmMh8AiOYhAVQrzDgx5FDprQl8xtXLnocTaVlkeicIYYYztR4mklo8Gb/6UngkRchOHs zFUsr/rk0ALSkkhOnEBi/8u61yir6vgVw93EHKhsjvRvpGmpgHPY9YJgKMVmcnpxetSg YBuKhO6ldIMBbWImSWxtQgooQmwoZ3xkdWZuC0/sEgp21T41OkNCUfKnieuI27qdImGO FpLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683862563; x=1686454563; 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=UwI0fvZsg2KYjEllbgvmVnx8TH8t+sP1f+1XEl8Vkhk=; b=Dl1v/TvFUrOofX2q5SlfS7Dp2OXSn9mSTHUren8PxP+GjS3lVxMxofQXecHhG8Q8JE +J0rFKTs03ZJ6xNTeLwyAD/MRkWFnRa4MpjlarL0XQDE8N/FO8MlWqZOZQDqpaf1HrEi fp+3RlXLTwzWyH/yhQ5EZZ0sCBxf9MJFEAzgb4O4YYcEiXeJbeH+LUuNWguUK46M+P/r iJlhhIHCF7gM7P/vKbkpPvYIRbM1RZ83pq0EqBI7K79NyyOPAS4aCFbMFnHpViujpTzf 0qdftNNRuejwsyJrNN2RiwBw2mGAn7GCBvRR5wsnvOV07kNvjKFug18n9/uEjpcc6Bwg IxAQ== X-Gm-Message-State: AC+VfDwfpmqEVxeahoqGhntHJnCkeeFhM/BWdvAFWJCVz4lKm2IMZmO9 MrHc2WI/mQzFKyjQUossbZX4OMSWybZm4xV/YK4X0kzwrhYLhg== X-Google-Smtp-Source: ACHHUZ7hPBsYSGZv14Iixb0d6qVgb2DUVw7q6JEMc+LWG8roJFXAxRImvWc7iF5owyceZ2flfRxifPvTFrccVdGSREY= X-Received: by 2002:a17:907:2d91:b0:969:f3b4:83 with SMTP id gt17-20020a1709072d9100b00969f3b40083mr10183884ejc.71.1683862562531; Thu, 11 May 2023 20:36:02 -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> <26609d38-03e2-4fcc-ac4a-f62f3772f4fd@betaapp.fastmail.com> In-Reply-To: <26609d38-03e2-4fcc-ac4a-f62f3772f4fd@betaapp.fastmail.com> From: Neal Gompa Date: Thu, 11 May 2023 23:35:26 -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: T24gVGh1LCBNYXkgMTEsIDIwMjMgYXQgMTI6MjbigK9QTSBKZWFuLUJhcHRpc3RlIEtlbXBmIDxq YkB2aWRlb2xhbi5vcmc+IHdyb3RlOgo+Cj4KPgo+IE9uIFRodSwgMTEgTWF5IDIwMjMsIGF0IDE4 OjIxLCBOZWFsIEdvbXBhIHdyb3RlOgo+ID4gT24gV2VkLCBNYXkgMTAsIDIwMjMgYXQgOTo0MOKA r1BNIFN0ZXZlbiBMaXUgPGxpbmdqaXVqaWFua2VAZ21haWwuY29tPiB3cm90ZToKPiA+Pgo+ID4+ IE5lYWwgR29tcGEgPG5nb21wYTEzQGdtYWlsLmNvbT4g5LqOMjAyM+W5tDXmnIgxMeaXpeWRqOWb myAwOTozMeWGmemBk++8mgo+ID4+ID4KPiA+PiA+IE9uIFdlZCwgTWF5IDEwLCAyMDIzIGF0IDc6 MTPigK9BTSBTdGV2ZW4gTGl1IDxsaW5naml1amlhbmtlQGdtYWlsLmNvbT4gd3JvdGU6Cj4gPj4g PiA+Cj4gPj4gPiA+IE5lYWwgR29tcGEgPG5nb21wYTEzQGdtYWlsLmNvbT4g5LqOMjAyM+W5tDXm nIgxMOaXpeWRqOS4iSAxOTowNeWGmemBk++8mgo+ID4+ID4gPiA+Cj4gPj4gPiA+ID4gT24gVHVl LCBNYXkgOSwgMjAyMyBhdCA2OjQ44oCvQU0gR3lhbiBEb3NoaSA8ZmZtcGVnQGd5YW5pLnBybz4g d3JvdGU6Cj4gPj4gPiA+ID4gPgo+ID4+ID4gPiA+ID4KPiA+PiA+ID4gPiA+Cj4gPj4gPiA+ID4g PiBPbiAyMDIzLTA1LTA5IDA0OjA1IHBtLCBOZWFsIEdvbXBhIHdyb3RlOgo+ID4+ID4gPiA+ID4g PiBPbiBUdWUsIE1heSA5LCAyMDIzIGF0IDEyOjE04oCvQU0gR3lhbiBEb3NoaSA8ZmZtcGVnQGd5 YW5pLnBybz4gd3JvdGU6Cj4gPj4gPiA+ID4gPiA+Pgo+ID4+ID4gPiA+ID4gPj4KPiA+PiA+ID4g PiA+ID4+IE9uIDIwMjMtMDUtMDkgMDg6MTEgYW0sIE5lYWwgR29tcGEgd3JvdGU6Cj4gPj4gPiA+ ID4gPiA+Pj4gT24gTW9uLCBNYXkgOCwgMjAyMyBhdCA5OjU14oCvUE0gU3RldmVuIExpdSA8bGlu Z2ppdWppYW5rZUBnbWFpbC5jb20+IHdyb3RlOgo+ID4+ID4gPiA+ID4gPj4+PiBOZWFsIEdvbXBh IDxuZ29tcGExM0BnbWFpbC5jb20+IOS6jjIwMjPlubQ15pyIOeaXpeWRqOS6jCAwNzowOOWGmemB k++8mgo+ID4+ID4gPiA+ID4gPj4+Pj4gT24gVGh1LCBBcHIgMTMsIDIwMjMgYXQgNTo0NeKAr0FN IFN0ZXZlbiBMaXUgPGxxQGNoaW5hZmZtcGVnLm9yZz4gd3JvdGU6Cj4gPj4gPiA+ID4gPiA+Pj4+ Pj4gU2lnbmVkLW9mZi1ieTogU3RldmVuIExpdSA8bHFAY2hpbmFmZm1wZWcub3JnPgo+ID4+ID4g PiA+ID4gPj4+Pj4+IC0tLQo+ID4+ID4gPiA+ID4gPj4+Pj4+ICAgIGxpYmF2Zm9ybWF0L2ZsdmVu Yy5jIHwgMjUgKysrKysrKysrKysrKysrKysrKystLS0tLQo+ID4+ID4gPiA+ID4gPj4+Pj4+ICAg IDEgZmlsZSBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQo+ID4+ID4g PiA+ID4gPj4+Pj4+Cj4gPj4gPiA+ID4gPiA+Pj4+Pj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0 L2ZsdmVuYy5jIGIvbGliYXZmb3JtYXQvZmx2ZW5jLmMKPiA+PiA+ID4gPiA+ID4+Pj4+PiBpbmRl eCA1N2EyNjI0NWZmLi43YjQzZWNhZWZhIDEwMDY0NAo+ID4+ID4gPiA+ID4gPj4+Pj4+IC0tLSBh L2xpYmF2Zm9ybWF0L2ZsdmVuYy5jCj4gPj4gPiA+ID4gPiA+Pj4+Pj4gKysrIGIvbGliYXZmb3Jt YXQvZmx2ZW5jLmMKPiA+PiA+ID4gPiA+ID4+Pj4+PiBAQCAtMjgsNiArMjgsNyBAQAo+ID4+ID4g PiA+ID4gPj4+Pj4+ICAgICNpbmNsdWRlICJsaWJhdmNvZGVjL21wZWc0YXVkaW8uaCIKPiA+PiA+ ID4gPiA+ID4+Pj4+PiAgICAjaW5jbHVkZSAiYXZpby5oIgo+ID4+ID4gPiA+ID4gPj4+Pj4+ICAg ICNpbmNsdWRlICJhdmMuaCIKPiA+PiA+ID4gPiA+ID4+Pj4+PiArI2luY2x1ZGUgImF2MS5oIgo+ ID4+ID4gPiA+ID4gPj4+Pj4+ICAgICNpbmNsdWRlICJoZXZjLmgiCj4gPj4gPiA+ID4gPiA+Pj4+ Pj4gICAgI2luY2x1ZGUgImF2Zm9ybWF0LmgiCj4gPj4gPiA+ID4gPiA+Pj4+Pj4gICAgI2luY2x1 ZGUgImZsdi5oIgo+ID4+ID4gPiA+ID4gPj4+Pj4+IEBAIC00OCw2ICs0OSw3IEBAIHN0YXRpYyBj b25zdCBBVkNvZGVjVGFnIGZsdl92aWRlb19jb2RlY19pZHNbXSA9IHsKPiA+PiA+ID4gPiA+ID4+ Pj4+PiAgICAgICAgeyBBVl9DT0RFQ19JRF9WUDZBLCAgICAgRkxWX0NPREVDSURfVlA2QSB9LAo+ ID4+ID4gPiA+ID4gPj4+Pj4+ICAgICAgICB7IEFWX0NPREVDX0lEX0gyNjQsICAgICBGTFZfQ09E RUNJRF9IMjY0IH0sCj4gPj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgIHsgQVZfQ09ERUNfSURfSEVW QywgICAgIE1LQkVUQUcoJ2gnLCAndicsICdjJywgJzEnKSB9LAo+ID4+ID4gPiA+ID4gPj4+Pj4+ ICsgICAgeyBBVl9DT0RFQ19JRF9BVjEsICAgICAgTUtCRVRBRygnYScsICd2JywgJzAnLCAnMScp IH0sCj4gPj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgIHsgQVZfQ09ERUNfSURfTk9ORSwgICAgIDAg fQo+ID4+ID4gPiA+ID4gPj4+Pj4+ICAgIH07Cj4gPj4gPiA+ID4gPiA+Pj4+Pj4KPiA+PiA+ID4g PiA+ID4+Pj4+PiBAQCAtNDk0LDcgKzQ5Niw4IEBAIHN0YXRpYyB2b2lkIGZsdl93cml0ZV9jb2Rl Y19oZWFkZXIoQVZGb3JtYXRDb250ZXh0KiBzLCBBVkNvZGVjUGFyYW1ldGVycyogcGFyLCBpCj4g Pj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgIEZMVkNvbnRleHQgKmZsdiA9IHMtPnByaXZfZGF0YTsK PiA+PiA+ID4gPiA+ID4+Pj4+Pgo+ID4+ID4gPiA+ID4gPj4+Pj4+ICAgICAgICBpZiAocGFyLT5j b2RlY19pZCA9PSBBVl9DT0RFQ19JRF9BQUMgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19J RF9IMjY0Cj4gPj4gPiA+ID4gPiA+Pj4+Pj4gLSAgICAgICAgICAgIHx8IHBhci0+Y29kZWNfaWQg PT0gQVZfQ09ERUNfSURfTVBFRzQgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IRVZD KSB7Cj4gPj4gPiA+ID4gPiA+Pj4+Pj4gKyAgICAgICAgICAgIHx8IHBhci0+Y29kZWNfaWQgPT0g QVZfQ09ERUNfSURfTVBFRzQgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IRVZDCj4g Pj4gPiA+ID4gPiA+Pj4+Pj4gKyAgICAgICAgICAgIHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09E RUNfSURfQVYxKSB7Cj4gPj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICBpbnQ2NF90IHBvczsK PiA+PiA+ID4gPiA+ID4+Pj4+PiAgICAgICAgICAgIGF2aW9fdzgocGIsCj4gPj4gPiA+ID4gPiA+ Pj4+Pj4gICAgICAgICAgICAgICAgICAgIHBhci0+Y29kZWNfdHlwZSA9PSBBVk1FRElBX1RZUEVf VklERU8gPwo+ID4+ID4gPiA+ID4gPj4+Pj4+IEBAIC01NDAsNiArNTQzLDkgQEAgc3RhdGljIHZv aWQgZmx2X3dyaXRlX2NvZGVjX2hlYWRlcihBVkZvcm1hdENvbnRleHQqIHMsIEFWQ29kZWNQYXJh bWV0ZXJzKiBwYXIsIGkKPiA+PiA+ID4gPiA+ID4+Pj4+PiAgICAgICAgICAgICAgICBpZiAocGFy LT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IRVZDKSB7Cj4gPj4gPiA+ID4gPiA+Pj4+Pj4gICAg ICAgICAgICAgICAgICAgIGF2aW9fdzgocGIsIEZMVl9JU19FWF9IRUFERVIgfCBQYWNrZXRUeXBl U2VxdWVuY2VTdGFydCk7IC8vIEV4VmlkZW9UYWdIZWFkZXIgbW9kZSB3aXRoIFBhY2tldFR5cGVT ZXF1ZW5jZVN0YXJ0Cj4gPj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICAgICAgICAgIGF2aW9f d3JpdGUocGIsICJodmMxIiwgNCk7Cj4gPj4gPiA+ID4gPiA+Pj4+Pj4gKyAgICAgICAgICAgIH0g ZWxzZSBpZiAocGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9BVjEpIHsKPiA+PiA+ID4gPiA+ ID4+Pj4+PiArICAgICAgICAgICAgICAgIGF2aW9fdzgocGIsIEZMVl9JU19FWF9IRUFERVIgfCBQ YWNrZXRUeXBlU2VxdWVuY2VTdGFydCk7Cj4gPj4gPiA+ID4gPiA+Pj4+Pj4gKyAgICAgICAgICAg ICAgICBhdmlvX3dyaXRlKHBiLCAiYXYwMSIsIDQpOwo+ID4+ID4gPiA+ID4gPj4+Pj4+ICAgICAg ICAgICAgICAgIH0gZWxzZSB7Cj4gPj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICAgICAgICAg IGF2aW9fdzgocGIsIHBhci0+Y29kZWNfdGFnIHwgRkxWX0ZSQU1FX0tFWSk7IC8vIGZsYWdzCj4g Pj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICAgICAgICAgIGF2aW9fdzgocGIsIDApOyAvLyBB VkMgc2VxdWVuY2UgaGVhZGVyCj4gPj4gPiA+ID4gPiA+Pj4+Pj4gQEAgLTU0OCw2ICs1NTQsOCBA QCBzdGF0aWMgdm9pZCBmbHZfd3JpdGVfY29kZWNfaGVhZGVyKEFWRm9ybWF0Q29udGV4dCogcywg QVZDb2RlY1BhcmFtZXRlcnMqIHBhciwgaQo+ID4+ID4gPiA+ID4gPj4+Pj4+Cj4gPj4gPiA+ID4g PiA+Pj4+Pj4gICAgICAgICAgICAgICAgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURf SEVWQykKPiA+PiA+ID4gPiA+ID4+Pj4+PiAgICAgICAgICAgICAgICAgICAgZmZfaXNvbV93cml0 ZV9odmNjKHBiLCBwYXItPmV4dHJhZGF0YSwgcGFyLT5leHRyYWRhdGFfc2l6ZSwgMCk7Cj4gPj4g PiA+ID4gPiA+Pj4+Pj4gKyAgICAgICAgICAgIGVsc2UgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZf Q09ERUNfSURfQVYxKQo+ID4+ID4gPiA+ID4gPj4+Pj4+ICsgICAgICAgICAgICAgICAgZmZfaXNv bV93cml0ZV9hdjFjKHBiLCBwYXItPmV4dHJhZGF0YSwgcGFyLT5leHRyYWRhdGFfc2l6ZSwgMSk7 Cj4gPj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICAgICAgZWxzZQo+ID4+ID4gPiA+ID4gPj4+ Pj4+ICAgICAgICAgICAgICAgICAgICBmZl9pc29tX3dyaXRlX2F2Y2MocGIsIHBhci0+ZXh0cmFk YXRhLCBwYXItPmV4dHJhZGF0YV9zaXplKTsKPiA+PiA+ID4gPiA+ID4+Pj4+PiAgICAgICAgICAg IH0KPiA+PiA+ID4gPiA+ID4+Pj4+PiBAQCAtNjQwLDcgKzY0OCw4IEBAIHN0YXRpYyBpbnQgZmx2 X2luaXQoc3RydWN0IEFWRm9ybWF0Q29udGV4dCAqcykKPiA+PiA+ID4gPiA+ID4+Pj4+Pgo+ID4+ ID4gPiA+ID4gPj4+Pj4+ICAgICAgICAgICAgICAgIGlmIChwYXItPmNvZGVjX2lkID09IEFWX0NP REVDX0lEX01QRUc0IHx8Cj4gPj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICAgICAgICAgIHBh ci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSDI2MyB8fAo+ID4+ID4gPiA+ID4gPj4+Pj4+IC0g ICAgICAgICAgICAgICAgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IRVZDKSB7Cj4gPj4g PiA+ID4gPiA+Pj4+Pj4gKyAgICAgICAgICAgICAgICBwYXItPmNvZGVjX2lkID09IEFWX0NPREVD X0lEX0hFVkMgfHwKPiA+PiA+ID4gPiA+ID4+Pj4+PiArICAgICAgICAgICAgICAgIHBhci0+Y29k ZWNfaWQgPT0gQVZfQ09ERUNfSURfQVYxKSB7Cj4gPj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAg ICAgICAgICAgIGludCBlcnJvciA9IHMtPnN0cmljdF9zdGRfY29tcGxpYW5jZSA+IEZGX0NPTVBM SUFOQ0VfVU5PRkZJQ0lBTDsKPiA+PiA+ID4gPiA+ID4+Pj4+PiAgICAgICAgICAgICAgICAgICAg YXZfbG9nKHMsIGVycm9yID8gQVZfTE9HX0VSUk9SIDogQVZfTE9HX1dBUk5JTkcsCj4gPj4gPiA+ ID4gPiA+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAiQ29kZWMgJXMgaXMgbm90IHN1 cHBvcnRlZCBpbiB0aGUgb2ZmaWNpYWwgRkxWIHNwZWNpZmljYXRpb24sXG4iLCBhdmNvZGVjX2dl dF9uYW1lKHBhci0+Y29kZWNfaWQpKTsKPiA+PiA+ID4gPiA+ID4+Pj4+PiBAQCAtODQ4LDEzICs4 NTcsMTUgQEAgc3RhdGljIGludCBmbHZfd3JpdGVfcGFja2V0KEFWRm9ybWF0Q29udGV4dCAqcywg QVZQYWNrZXQgKnBrdCkKPiA+PiA+ID4gPiA+ID4+Pj4+PiAgICAgICAgaWYgKHBhci0+Y29kZWNf aWQgPT0gQVZfQ09ERUNfSURfVlA2RiB8fCBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1ZQ NkEgfHwKPiA+PiA+ID4gPiA+ID4+Pj4+PiAgICAgICAgICAgIHBhci0+Y29kZWNfaWQgPT0gQVZf Q09ERUNfSURfVlA2ICB8fCBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0FBQykKPiA+PiA+ ID4gPiA+ID4+Pj4+PiAgICAgICAgICAgIGZsYWdzX3NpemUgPSAyOwo+ID4+ID4gPiA+ID4gPj4+ Pj4+IC0gICAgZWxzZSBpZiAocGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IMjY0IHx8IHBh ci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfTVBFRzQgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9D T0RFQ19JRF9IRVZDKQo+ID4+ID4gPiA+ID4gPj4+Pj4+ICsgICAgZWxzZSBpZiAocGFyLT5jb2Rl Y19pZCA9PSBBVl9DT0RFQ19JRF9IMjY0IHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURf TVBFRzQgfHwKPiA+PiA+ID4gPiA+ID4+Pj4+PiArICAgICAgICAgICAgIHBhci0+Y29kZWNfaWQg PT0gQVZfQ09ERUNfSURfSEVWQyB8fCBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0FWMSkK PiA+PiA+ID4gPiA+ID4+Pj4+PiAgICAgICAgICAgIGZsYWdzX3NpemUgPSA1Owo+ID4+ID4gPiA+ ID4gPj4+Pj4+ICAgICAgICBlbHNlCj4gPj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICBmbGFn c19zaXplID0gMTsKPiA+PiA+ID4gPiA+ID4+Pj4+Pgo+ID4+ID4gPiA+ID4gPj4+Pj4+ICAgICAg ICBpZiAocGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9BQUMgfHwgcGFyLT5jb2RlY19pZCA9 PSBBVl9DT0RFQ19JRF9IMjY0Cj4gPj4gPiA+ID4gPiA+Pj4+Pj4gLSAgICAgICAgICAgIHx8IHBh ci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfTVBFRzQgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9D T0RFQ19JRF9IRVZDKSB7Cj4gPj4gPiA+ID4gPiA+Pj4+Pj4gKyAgICAgICAgICAgIHx8IHBhci0+ Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfTVBFRzQgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RF Q19JRF9IRVZDCj4gPj4gPiA+ID4gPiA+Pj4+Pj4gKyAgICAgICAgICAgIHx8IHBhci0+Y29kZWNf aWQgPT0gQVZfQ09ERUNfSURfQVYxKSB7Cj4gPj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICBz aXplX3Qgc2lkZV9zaXplOwo+ID4+ID4gPiA+ID4gPj4+Pj4+ICAgICAgICAgICAgdWludDhfdCAq c2lkZSA9IGF2X3BhY2tldF9nZXRfc2lkZV9kYXRhKHBrdCwgQVZfUEtUX0RBVEFfTkVXX0VYVFJB REFUQSwgJnNpZGVfc2l6ZSk7Cj4gPj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICBpZiAoc2lk ZSAmJiBzaWRlX3NpemUgPiAwICYmIChzaWRlX3NpemUgIT0gcGFyLT5leHRyYWRhdGFfc2l6ZSB8 fCBtZW1jbXAoc2lkZSwgcGFyLT5leHRyYWRhdGEsIHNpZGVfc2l6ZSkpKSB7Cj4gPj4gPiA+ID4g PiA+Pj4+Pj4gQEAgLTg3NCw3ICs4ODUsOCBAQCBzdGF0aWMgaW50IGZsdl93cml0ZV9wYWNrZXQo QVZGb3JtYXRDb250ZXh0ICpzLCBBVlBhY2tldCAqcGt0KQo+ID4+ID4gPiA+ID4gPj4+Pj4+ICAg ICAgICAgICAgICAgICAgICJQYWNrZXRzIGFyZSBub3QgaW4gdGhlIHByb3BlciBvcmRlciB3aXRo IHJlc3BlY3QgdG8gRFRTXG4iKTsKPiA+PiA+ID4gPiA+ID4+Pj4+PiAgICAgICAgICAgIHJldHVy biBBVkVSUk9SKEVJTlZBTCk7Cj4gPj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgIH0KPiA+PiA+ID4g PiA+ID4+Pj4+PiAtICAgIGlmIChwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0gyNjQgfHwg cGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9NUEVHNCB8fCBwYXItPmNvZGVjX2lkID09IEFW X0NPREVDX0lEX0hFVkMpIHsKPiA+PiA+ID4gPiA+ID4+Pj4+PiArICAgIGlmIChwYXItPmNvZGVj X2lkID09IEFWX0NPREVDX0lEX0gyNjQgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9N UEVHNCB8fAo+ID4+ID4gPiA+ID4gPj4+Pj4+ICsgICAgICAgIHBhci0+Y29kZWNfaWQgPT0gQVZf Q09ERUNfSURfSEVWQyB8fCAgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9BVjEpIHsKPiA+ PiA+ID4gPiA+ID4+Pj4+PiAgICAgICAgICAgIGlmIChwa3QtPnB0cyA9PSBBVl9OT1BUU19WQUxV RSkgewo+ID4+ID4gPiA+ID4gPj4+Pj4+ICAgICAgICAgICAgICAgIGF2X2xvZyhzLCBBVl9MT0df RVJST1IsICJQYWNrZXQgaXMgbWlzc2luZyBQVFNcbiIpOwo+ID4+ID4gPiA+ID4gPj4+Pj4+ICAg ICAgICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVJTlZBTCk7Cj4gPj4gPiA+ID4gPiA+Pj4+Pj4g QEAgLTk4Nyw2ICs5OTksOSBAQCBzdGF0aWMgaW50IGZsdl93cml0ZV9wYWNrZXQoQVZGb3JtYXRD b250ZXh0ICpzLCBBVlBhY2tldCAqcGt0KQo+ID4+ID4gPiA+ID4gPj4+Pj4+ICAgICAgICAgICAg aWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSEVWQykgewo+ID4+ID4gPiA+ID4gPj4+ Pj4+ICAgICAgICAgICAgICAgIGF2aW9fdzgocGIsIEZMVl9JU19FWF9IRUFERVIgfCBQYWNrZXRU eXBlQ29kZWRGcmFtZXNYKTsgLy8gRXhWaWRlb1RhZ0hlYWRlciBtb2RlIHdpdGggUGFja2V0VHlw ZUNvZGVkRnJhbWVzWAo+ID4+ID4gPiA+ID4gPj4+Pj4+ICAgICAgICAgICAgICAgIGF2aW9fd3Jp dGUocGIsICJodmMxIiwgNCk7Cj4gPj4gPiA+ID4gPiA+Pj4+Pj4gKyAgICAgICAgfSBlbHNlIGlm IChwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0FWMSkgewo+ID4+ID4gPiA+ID4gPj4+Pj4+ ICsgICAgICAgICAgICBhdmlvX3c4KHBiLCBGTFZfSVNfRVhfSEVBREVSIHwgUGFja2V0VHlwZUNv ZGVkRnJhbWVzKTsKPiA+PiA+ID4gPiA+ID4+Pj4+PiArICAgICAgICAgICAgYXZpb193cml0ZShw YiwgImF2MDEiLCA0KTsKPiA+PiA+ID4gPiA+ID4+Pj4+PiAgICAgICAgICAgIH0gZWxzZSB7Cj4g Pj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgICAgICAgICAgYXZpb193OChwYiwgZmxhZ3MpOwo+ID4+ ID4gPiA+ID4gPj4+Pj4+ICAgICAgICAgICAgfQo+ID4+ID4gPiA+ID4gPj4+Pj4+IC0tCj4gPj4g PiA+ID4gPiA+Pj4+Pj4gMi40MC4wCj4gPj4gPiA+ID4gPiA+Pj4+Pj4KPiA+PiA+ID4gPiA+ID4+ Pj4+IEkgdGVzdGVkIHRoaXMgYnkgYXBwbHlpbmcgdGhlIHBhdGNoZXMgb24gdG9wIG9mIGZmbXBl ZyA2LjAgYW5kIGl0Cj4gPj4gPiA+ID4gPiA+Pj4+PiBkb2Vzbid0IHNlZW0gdG8gd29yazoKPiA+ PiA+ID4gPiA+ID4+Pj4+Cj4gPj4gPiA+ID4gPiA+Pj4+PiAgICAgbGliYXZ1dGlsICAgICAgNTgu ICAyLjEwMCAvIDU4LiAgMi4xMDAKPiA+PiA+ID4gPiA+ID4+Pj4+ICAgICBsaWJhdmNvZGVjICAg ICA2MC4gIDMuMTAwIC8gNjAuICAzLjEwMAo+ID4+ID4gPiA+ID4gPj4+Pj4gICAgIGxpYmF2Zm9y bWF0ICAgIDYwLiAgMy4xMDAgLyA2MC4gIDMuMTAwCj4gPj4gPiA+ID4gPiA+Pj4+PiAgICAgbGli YXZkZXZpY2UgICAgNjAuICAxLjEwMCAvIDYwLiAgMS4xMDAKPiA+PiA+ID4gPiA+ID4+Pj4+ICAg ICBsaWJhdmZpbHRlciAgICAgOS4gIDMuMTAwIC8gIDkuICAzLjEwMAo+ID4+ID4gPiA+ID4gPj4+ Pj4gICAgIGxpYnN3c2NhbGUgICAgICA3LiAgMS4xMDAgLyAgNy4gIDEuMTAwCj4gPj4gPiA+ID4g PiA+Pj4+PiAgICAgbGlic3dyZXNhbXBsZSAgIDQuIDEwLjEwMCAvICA0LiAxMC4xMDAKPiA+PiA+ ID4gPiA+ID4+Pj4+ICAgICBsaWJwb3N0cHJvYyAgICA1Ny4gIDEuMTAwIC8gNTcuICAxLjEwMAo+ ID4+ID4gPiA+ID4gPj4+Pj4gW2xpYmRhdjFkIEAgMHg1NWM5ZWE4Y2FlODBdIGxpYmRhdjFkIDEu MS4wCj4gPj4gPiA+ID4gPiA+Pj4+PiBJbnB1dCAjMCwgbWF0cm9za2Esd2VibSwgZnJvbSAnMjAy My0wNS0wOCAxOC01Mi00Mi5ta3YnOgo+ID4+ID4gPiA+ID4gPj4+Pj4gICAgIE1ldGFkYXRhOgo+ ID4+ID4gPiA+ID4gPj4+Pj4gICAgICAgRU5DT0RFUiAgICAgICAgIDogTGF2ZjYwLjMuMTAwCj4g Pj4gPiA+ID4gPiA+Pj4+PiAgICAgRHVyYXRpb246IDAwOjAyOjAwLjUzLCBzdGFydDogMC4wMDAw MDAsIGJpdHJhdGU6IDExNTUga2Ivcwo+ID4+ID4gPiA+ID4gPj4+Pj4gICAgIFN0cmVhbSAjMDow OiBWaWRlbzogYXYxIChNYWluKSwgeXV2NDIwcCh0diwgYnQ3MDkpLCAxMjgweDcyMCwgMzAKPiA+ PiA+ID4gPiA+ID4+Pj4+IGZwcywgMzAgdGJyLCAxayB0Ym4KPiA+PiA+ID4gPiA+ID4+Pj4+ICAg ICAgIE1ldGFkYXRhOgo+ID4+ID4gPiA+ID4gPj4+Pj4gICAgICAgICBEVVJBVElPTiAgICAgICAg OiAwMDowMjowMC41MzMwMDAwMDAKPiA+PiA+ID4gPiA+ID4+Pj4+ICAgICBTdHJlYW0gIzA6MTog QXVkaW86IGFhYyAoTEMpLCA0ODAwMCBIeiwgc3RlcmVvLCBmbHRwCj4gPj4gPiA+ID4gPiA+Pj4+ PiAgICAgICBNZXRhZGF0YToKPiA+PiA+ID4gPiA+ID4+Pj4+ICAgICAgICAgdGl0bGUgICAgICAg ICAgIDogVHJhY2sxCj4gPj4gPiA+ID4gPiA+Pj4+PiAgICAgICAgIERVUkFUSU9OICAgICAgICA6 IDAwOjAyOjAwLjUzMzAwMDAwMAo+ID4+ID4gPiA+ID4gPj4+Pj4gW2ZsdiBAIDB4NTVjOWVhOTM2 MTQwXSBDb2RlYyBhdjEgaXMgbm90IHN1cHBvcnRlZCBpbiB0aGUgb2ZmaWNpYWwgRkxWCj4gPj4g PiA+ID4gPiA+Pj4+PiBzcGVjaWZpY2F0aW9uLAo+ID4+ID4gPiA+ID4gPj4+Pj4gW2ZsdiBAIDB4 NTVjOWVhOTM2MTQwXSB1c2UgdnN0cmljdD0tMSAvIC1zdHJpY3QgLTEgdG8gdXNlIGl0IGFueXdh eS4KPiA+PiA+ID4gPiA+ID4+Pj4gUGF5IGF0dGVudGlvbiB0aGlzIHdhcm5pbmcgbWVzc2FnZS4K PiA+PiA+ID4gPiA+ID4+Pj4KPiA+PiA+ID4gPiA+ID4+Pj4+IFtvdXQjMC9mbHYgQCAweDU1Yzll YThjZGE4MF0gQ291bGQgbm90IHdyaXRlIGhlYWRlciAoaW5jb3JyZWN0IGNvZGVjCj4gPj4gPiA+ ID4gPiA+Pj4+PiBwYXJhbWV0ZXJzID8pOiBJbnZhbGlkIGFyZ3VtZW50Cj4gPj4gPiA+ID4gPiA+ Pj4+PiBbYW9zdCMwOjEvY29weSBAIDB4NTVjOWVhOTdhZTAwXSBFcnJvciBpbml0aWFsaXppbmcg b3V0cHV0IHN0cmVhbToKPiA+PiA+ID4gPiA+ID4+Pj4+IFN0cmVhbSBtYXBwaW5nOgo+ID4+ID4g PiA+ID4gPj4+Pj4gICAgIFN0cmVhbSAjMDowIC0+ICMwOjAgKGNvcHkpCj4gPj4gPiA+ID4gPiA+ Pj4+PiAgICAgU3RyZWFtICMwOjEgLT4gIzA6MSAoY29weSkKPiA+PiA+ID4gPiA+ID4+Pj4+ICAg ICAgIExhc3QgbWVzc2FnZSByZXBlYXRlZCAxIHRpbWVzCj4gPj4gPiA+ID4gPiA+Pj4gV2VsbCwg dGhpcyBpcyBteSBjb21tYW5kOgo+ID4+ID4gPiA+ID4gPj4+Cj4gPj4gPiA+ID4gPiA+Pj4gJCBm Zm1wZWcgLWkgImlucHV0Lm1rdiIgLXZjb2RlYyBjb3B5IC1hY29kZWMgY29weSAib3V0cHV0LmZs diIKPiA+PiA+ID4gPiA+ID4+Pgo+ID4+ID4gPiA+ID4gPj4+IFdoYXQgc2hvdWxkIEkgYmUgZG9p bmcgaW5zdGVhZD8KPiA+PiA+ID4gPiA+ID4+ICAgICBmZm1wZWcgLWkgImlucHV0Lm1rdiIgLXZj b2RlYyBjb3B5IC1hY29kZWMgY29weSAtc3RyaWN0IC0xICJvdXRwdXQuZmx2Igo+ID4+ID4gPiA+ ID4gPj4KPiA+PiA+ID4gPiA+ID4gVGhhdCBkZWZlYXRzIHRoZSBwb2ludCBvZiB0aGlzIHBhdGNo LiBUaGlzIHBhdGNoIGFkZHMgcHJvcGVyIHN1cHBvcnQKPiA+PiA+ID4gPiA+ID4gZm9yIEFWMSB0 byB0aGUgRkxWIGNvZGUsIHNvIGl0IHNob3VsZCBub3QgbmVlZCB0aGF0Lgo+ID4+ID4gPiA+ID4K PiA+PiA+ID4gPiA+IFRoaXMgcGF0Y2ggZG9lcyBub3QgYWRkIEhFVkMgb3IgQVYxIHN1cHBvcnQg dG8gdGhlIEZMViAqc3BlY2lmaWNhdGlvbiosCj4gPj4gPiA+ID4gPiBoZW5jZSB0aGUgZ3VhcmQu Cj4gPj4gPiA+ID4gPgo+ID4+ID4gPiA+Cj4gPj4gPiA+ID4gVGhlIHRoaW5nIGlzLCB0aGlzIHBh dGNoIHNlcmllcyBpcyBhYm91dCBpbXBsZW1lbnRpbmcgc3VwcG9ydCBmb3IgdGhlCj4gPj4gPiA+ ID4gZW5oYW5jZWQgRkxWIHNwZWNpZmljYXRpb24uCj4gPj4gPiA+IE5vLCBUaGF0IGRvY3VtZW50 YXRpb24gaXMgbm90IGZsdiBvZmZpY2lhbCBzcGVjaWZpY2F0aW9uLCBpdCBqdXN0IGEgZG9jdW1l bnQuCj4gPj4gPgo+ID4+ID4gRnJhbmtseSwgc28gd2FzIHRoZSBvcmlnaW5hbCBvbmUuIFRoZSBu ZXcgc3BlY2lmaWNhdGlvbiBpcyBiZWluZwo+ID4+ID4gc3Rld2FyZGVkIGJ5IGEgZ3JvdXAgdGhh dCBoYXMgdGhlIGN1cnJlbnQgb3duZXIgb2YgdGhlIFJUTVAgc3BlYyBhcyBhCj4gPj4gPiBtZW1i ZXIgKFZlcmlza29wZSkuCj4gPj4gPgo+ID4+ID4gUlRNUCB3YXMgbmV2ZXIgSUVURiBvciBJU08g c3RhbmRhcmRpemVkLCBhbmQgbmVpdGhlciB3YXMgRkxWLiBGNFYgd2FzCj4gPj4gPiBkZXJpdmVk IGZyb20gTVA0L01PViwgYnV0IHRoYXQncyBub3Qgd2hhdCBSVE1QIHVzZXMuCj4gPj4KPiA+PiBJ SVJDLCBSVE1QIGFuZCBGTFYgb2ZmaWNpYWwgc3BlY2lmaWNhdGlvbiBpcyByZWxlYXNlZCBieSBB ZG9iZSwgbm90Cj4gPj4gdmVvdmVyYSwgcmlnaHQ/Cj4gPj4KPiA+Cj4gPiBOb3QgYW55bW9yZS4g QWRvYmUgaGFuZGVkIGl0IG92ZXIgdG8gVmVyaXNrb3BlLCBhbmQgVmVyaXNrb3BlIHNlZW1zIHRv Cj4gPiBoYXZlIGRvbmUgbmV3IHdvcmsgaW4gdGhlIFZlb3ZlcmEgZ3JvdXAgYWxvbmdzaWRlIEFk b2JlLCBPQlMsCj4gPiBWaWRlb0xBTiwgWFNwbGl0LCBhbmQgb3RoZXJzLgo+Cj4gVGhpcyBpcyBj b3JyZWN0LiBWZXJpc2tvcGUgbWFuYWdlcyB0aGUgRmxhc2ggU2VydmVyIGFuZCB0aGVyZWZvcmUs IGRlIGZhY3RvLCB0aGUgZmx2IHNwZWMuCj4KPiBDdXJyZW50bHksIHRoZSBpc3N1ZSBpcyB0aGF0 IHRoaXMgaXMgbm90IDEwMCUgc3RhbmRhcmRpemVkLiBVbnRpbCBpdCdzIG9mZmljaWFsLCBpdCBz aG91bGQgYmUgYmVoaW5kIGEgZmxhZy4KPiBBZnRlciB0aGF0LCBzdXJlLgo+CgpEbyB5b3Uga25v dyB3aGF0J3MgcHJldmVudGluZyBpdCBmcm9tIGJlaW5nICJvZmZpY2lhbCI/IERvIHlvdSBrbm93 CndoZW4gdGhhdCdsbCBjaGFuZ2U/CgoKCi0tIArnnJ/lrp/jga/jgYTjgaTjgoLkuIDjgaTvvIEv IEFsd2F5cywgdGhlcmUncyBvbmx5IG9uZSB0cnV0aCEKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWct ZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1w ZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1w ZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=