From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 0ED7C4E1D9 for ; Sat, 7 Jun 2025 14:34:27 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 6FF8B68C009; Sat, 7 Jun 2025 17:34:22 +0300 (EEST) Received: from mail-vk1-f176.google.com (mail-vk1-f176.google.com [209.85.221.176]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id A475D68BF3B for ; Sat, 7 Jun 2025 17:34:15 +0300 (EEST) Received: by mail-vk1-f176.google.com with SMTP id 71dfb90a1353d-53082f1ac34so939355e0c.3 for ; Sat, 07 Jun 2025 07:34:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1749306854; x=1749911654; darn=ffmpeg.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=67/Deea1rLhQqkoIUQSAV10jrXTDa+2PGeAByu6sqeA=; b=WQxmJWKHzn8LTnZr+Cu9frmB+9tyXP4TTrJJNLHMhFFh2zWlJnWDqqiWhC+ZYAmGi0 ZdixbLn3QRshBftcmNnKiN3aktMVAfVwyDxhurh1ogEp34kQ4qw4pdlvXJmZ2FFJExRd qIEQLOlM+/E+H3NiIa+VsTswmOUmvKnqw3j9kojG/C4XypiC+70IFiVo4u8z1aw0gj9R Yu0nJZWlAnsTHnfOUPozmvGf6dPCow3enqNbSQNoJhHE9oLX0aJ85adTqZpT5vPoDdaC wZnVpOKanD2GF5TFO2z4BvaVrJoE5hdUveTN/BE7Inx1OAo3BrOukBF1kmZyOolvq13N R33Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749306854; x=1749911654; h=cc: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=67/Deea1rLhQqkoIUQSAV10jrXTDa+2PGeAByu6sqeA=; b=QNIqOPVkIvzDGVRmIcrg/NGpynLtqST33gcdeFsREHqSj/Q3+HN20uEOsqAkYqIjNb S3gkvxgqr7qN5tOnFnHFB6BpHwphMNH5BLHmRDMHmtIO7jwKkyGLwjWBm2Ct6QItYyCL tcVGzPseW14tz0rnYHTF8T0Akywn3swREal6B0lmQINS87O62tE2K1Cwilnj3ujgDhCg mochqxHj/j/D+pGz+ATxS9aBgvIjj+2M25JlLZPkWIKmTZ9jzSw9dt4vu6wUMf0DsPIE Mt9DfgGbkK89QnpSMeJ+ZQf1EyLHu77OLukNKNgDBwXEFb7/95PaMbAkUpjVVsLWz/+m 6Qig== X-Gm-Message-State: AOJu0YzX7KWhXqNZrduSWtIcnvU2Ls9jc5YA65GnYeSSeseVpyPvb1jZ wm2gl7XrPWpCurFnJf4dGpSXrganRZ2tUfKgIiL+rAl0QnmGXw69ZEAi8tKmU5WRuga93yqZgC6 zoPyYDLlEczEqhpMm5yi14vaAE8xIL4g= X-Gm-Gg: ASbGncsySkiTkyEssgJ+E0JEUrERGHs/H3r+iuf9ZfxkBpY+PciQHTv+cYKOUhf5K1f 7u0cAj66MQQg1OVB3b9slzm136EUdqHdgkRid1k6zK94vf0FX2QxOE7X4pcgcCTROF9MmSJoSeV InVN6bLmQrMpKfmqpmLz78pFaosTBtNQnfOtfwaM8xGdat X-Google-Smtp-Source: AGHT+IEKfXc9rt9c4r7UnlYutiO9ifWHMWrnnKyMcEGAHL2ZnljurtVkveWZEYqmcCQ+amG0tl/RJFIlAsADFQpW3Qw= X-Received: by 2002:a05:6122:787:b0:530:720b:abe9 with SMTP id 71dfb90a1353d-530e4875aacmr6524003e0c.7.1749306853912; Sat, 07 Jun 2025 07:34:13 -0700 (PDT) MIME-Version: 1.0 References: <20250601092614.3995-1-post@frankplowman.com> In-Reply-To: <20250601092614.3995-1-post@frankplowman.com> From: Nuo Mi Date: Sat, 7 Jun 2025 22:34:04 +0800 X-Gm-Features: AX0GCFuE_7yw71EnAFBinO6swCKZGk1FDn_U_tYyb4cg3MMehywzV8utiBHhv2s Message-ID: To: Frank Plowman X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH] lavc/vvc: Support pps_mixed_nalu_types_in_pic_flag 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 Cc: ffmpeg-devel@ffmpeg.org 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: T24gU3VuLCBKdW4gMSwgMjAyNSBhdCA5OjQ14oCvUE0gRnJhbmsgUGxvd21hbiA8cG9zdEBmcmFu a3Bsb3dtYW4uY29tPiB3cm90ZToKCj4gQWRkIHN1cHBvcnQgZm9yIHRoZSBwcHNfbWl4ZWRfbmFs dV90eXBlc19pbl9waWNfZmxhZywgd2hpY2ggcGVybWl0cwo+IHVzaW5nIGRpZmZlcmVudCBOQUxV IHR5cGVzIGZvciBkaWZmZXJlbnQgVkNMIE5BTCB1bml0cyBvZiBhIHNpbmdsZQo+IHBpY3R1cmUu Cj4KPiBGaXhlcyBkZWNvZGluZyBvZiB0aGUgb25seSB0d28gTWFpbiAxMCBjb25mb3JtYW5jZSBi aXRzdHJlYW1zIHdoaWNoCj4gY291bGQgbm90IHByZXZpb3VzbHkgYmUgZGVjb2RlZCBjb3JyZWN0 bHk6IE1OVVRfQV9Ob2tpYSBhbmQKPiBNTlVUX0JfTm9raWEuCj4KSGkgRnJhbmssClRoYW5rIHlv dSBmb3IgdGhlIHBhdGNoLgpUaGlzIG9uZS1saW5lIHBhdGNoIGFkZHJlc3NlcyB0aGUgaXNzdWUs IGJ1dCBhIGRlZXBlciBzb2x1dGlvbiBtYXkgYmUKbmVlZGVkLgpDdXJyZW50bHksIHdlIGluaGVy aXQgSEVWQ+KAmXMgRFBCIGxvZ2ljLCB3aGljaCBmb3JjZXMgYSBuZXcgc2VxX2RlY29kZSBvbgpJ RFIgZnJhbWVzLgpIb3dldmVyLCBmb3IgVlZDIHdpdGggbWl4ZWQgTkFMIHVuaXRzLCB0aGlzIGFz c3VtcHRpb24gZG9lc27igJl0IGhvbGQuClRoZSBzZXFfZGVjb2RlIGxvZ2ljICh3aGljaCBpc27i gJl0IGluIHRoZSBzcGVjKSBtaWdodCBuZWVkIHRvIGJlIHJlbW92ZWQgZm9yCmEgbG9uZy10ZXJt IGZpeAoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvdnZjL2RlYy5jIGIvbGliYXZjb2RlYy92dmMv ZGVjLmMKaW5kZXggYWJhMzFiOTRmZS4uNjUwMTQxNTQwMiAxMDA2NDQKLS0tIGEvbGliYXZjb2Rl Yy92dmMvZGVjLmMKKysrIGIvbGliYXZjb2RlYy92dmMvZGVjLmMKQEAgLTcyMiw3ICs3MjIsNyBA QCBzdGF0aWMgaW50IGZyYW1lX2NvbnRleHRfc2V0dXAoVlZDRnJhbWVDb250ZXh0ICpmYywKVlZD Q29udGV4dCAqcykKICAgICAgICAgICAgIHJldHVybiByZXQ7CiAgICAgfQoKLSAgICBpZiAoSVNf SURSKHMpKSB7CisgICAgaWYgKElTX0lEUihzKSAmJiAhZmMtPnBzLnBwcy0+ci0+cHBzX21peGVk X25hbHVfdHlwZXNfaW5fcGljX2ZsYWcpIHsKICAgICAgICAgcy0+c2VxX2RlY29kZSA9IChzLT5z ZXFfZGVjb2RlICsgMSkgJiAweGZmOwogICAgICAgICBmZl92dmNfY2xlYXJfcmVmcyhmYyk7CiAg ICAgfQoKCj4KPiBTaWduZWQtb2ZmLWJ5OiBGcmFuayBQbG93bWFuIDxwb3N0QGZyYW5rcGxvd21h bi5jb20+Cj4gLS0tCj4gIGxpYmF2Y29kZWMvdmFhcGlfdnZjLmMgfCAgMiArLQo+ICBsaWJhdmNv ZGVjL3Z2Yy5oICAgICAgIHwgMTEgKysrKysKPiAgbGliYXZjb2RlYy92dmMvZGVjLmMgICB8IDk5 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+ICBsaWJhdmNvZGVj L3Z2Yy9kZWMuaCAgIHwgIDIgKy0KPiAgbGliYXZjb2RlYy92dmMvcHMuaCAgICB8IDEwICsrLS0t Cj4gIDUgZmlsZXMgY2hhbmdlZCwgMTE2IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCj4K PiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy92YWFwaV92dmMuYyBiL2xpYmF2Y29kZWMvdmFhcGlf dnZjLmMKPiBpbmRleCA5MDhkYjdiZmFiLi40MzZhMDk3YTYxIDEwMDY0NAo+IC0tLSBhL2xpYmF2 Y29kZWMvdmFhcGlfdnZjLmMKPiArKysgYi9saWJhdmNvZGVjL3ZhYXBpX3Z2Yy5jCj4gQEAgLTIz Niw3ICsyMzYsNyBAQCBzdGF0aWMgaW50IHZhYXBpX3Z2Y19zdGFydF9mcmFtZShBVkNvZGVjQ29u dGV4dAo+ICAgKmF2Y3R4LAo+ICAgICAgICAgICAgICAucGhfZGVibG9ja2luZ19maWx0ZXJfZGlz YWJsZWRfZmxhZyAgICA9Cj4gcGgtPnBoX2RlYmxvY2tpbmdfZmlsdGVyX2Rpc2FibGVkX2ZsYWcs Cj4gICAgICAgICAgfSwKPiAgICAgICAgICAuUGljTWlzY0ZsYWdzLmZpZWxkcyA9IHsKPiAtICAg ICAgICAgICAgLkludHJhUGljRmxhZyA9IHBwcy0+cHBzX21peGVkX25hbHVfdHlwZXNfaW5fcGlj X2ZsYWcgPyAwIDoKPiBJU19JUkFQKGgpID8gMSA6IDAsCj4gKyAgICAgICAgICAgIC5JbnRyYVBp Y0ZsYWcgPSBJU19JUkFQKGgpID8gMSA6IDAsCj4gICAgICAgICAgfQo+ICAgICAgfTsKPgo+IGRp ZmYgLS1naXQgYS9saWJhdmNvZGVjL3Z2Yy5oIGIvbGliYXZjb2RlYy92dmMuaAo+IGluZGV4IDU0 OTBkZGI0YzguLmQ1OWIyMmUzOGQgMTAwNjQ0Cj4gLS0tIGEvbGliYXZjb2RlYy92dmMuaAo+ICsr KyBiL2xpYmF2Y29kZWMvdnZjLmgKPiBAQCAtNjYsNiArNjYsMTcgQEAgZW51bSBWVkNTbGljZVR5 cGUgewo+ICAgICAgVlZDX1NMSUNFX1RZUEVfSSA9IDIsCj4gIH07Cj4KPiArZW51bSBWVkNQaWN0 dXJlVHlwZSB7Cj4gKyAgICBWVkNfUElDVFVSRV9UWVBFX1VOU1BFQywKPiArICAgIFZWQ19QSUNU VVJFX1RZUEVfQ1JBLAo+ICsgICAgVlZDX1BJQ1RVUkVfVFlQRV9HRFIsCj4gKyAgICBWVkNfUElD VFVSRV9UWVBFX0lEUiwKPiArICAgIFZWQ19QSUNUVVJFX1RZUEVfUkFETCwKPiArICAgIFZWQ19Q SUNUVVJFX1RZUEVfUkFTTCwKPiArICAgIFZWQ19QSUNUVVJFX1RZUEVfU1RTQSwKPiArICAgIFZW Q19QSUNUVVJFX1RZUEVfVFJBSUxJTkcsCj4gK307Cj4gKwo+ICBlbnVtIFZWQ0FQU1R5cGUgewo+ ICAgICAgVlZDX0FTUF9UWVBFX0FMRiAgICAgPSAwLAo+ICAgICAgVlZDX0FTUF9UWVBFX0xNQ1Mg ICAgPSAxLAo+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3Z2Yy9kZWMuYyBiL2xpYmF2Y29kZWMv dnZjL2RlYy5jCj4gaW5kZXggMzgxYjQyYzQyMS4uZjEzMWE2ZTdlYiAxMDA2NDQKPiAtLS0gYS9s aWJhdmNvZGVjL3Z2Yy9kZWMuYwo+ICsrKyBiL2xpYmF2Y29kZWMvdnZjL2RlYy5jCj4gQEAgLTQ1 OSw2ICs0NTksOTggQEAgc3RhdGljIHZvaWQgc212ZF9yZWZfaWR4KGNvbnN0IFZWQ0ZyYW1lQ29u dGV4dCAqZmMsCj4gU2xpY2VDb250ZXh0ICpzYykKPiAgICAgIH0KPiAgfQo+Cj4gK3N0YXRpYyBp bnQgZ2V0X3BpY3R1cmVfdHlwZShWVkNDb250ZXh0ICpzLCBpbnQgbmJfbmFsdXMpCj4gK3sKPiAr ICAgIGNvbnN0IENvZGVkQml0c3RyZWFtSDI2NkNvbnRleHQgKmgyNjYgPSBzLT5jYmMtPnByaXZf ZGF0YTsKPiArICAgIGNvbnN0IEgyNjZSYXdQUFMgKnBwcyA9IGgyNjYtPnBwc1toMjY2LT5waC0+ cGhfcGljX3BhcmFtZXRlcl9zZXRfaWRdOwo+ICsgICAgYm9vbCBoYXNfbnV0W1ZWQ19SU1ZfSVJB UF8xMSAvKiBGaW5hbCBWQ0wgTlVUICovICsgMV0gPSB7ZmFsc2V9Owo+ICsgICAgaW50IG51bV9u dXRzID0gMDsKPiArCj4gKyAgICBmb3IgKGludCBpID0gMDsgaSA8IG5iX25hbHVzOyBpKyspIHsK PiArICAgICAgICBjb25zdCBIMjY0NU5BTCAqbmFsID0gaDI2Ni0+Y29tbW9uLnJlYWRfcGFja2V0 Lm5hbHMgKyBpOwo+ICsgICAgICAgIHN3aXRjaCAobmFsLT50eXBlKSB7Cj4gKyAgICAgICAgICAg IGNhc2UgVlZDX1RSQUlMX05VVDoKPiArICAgICAgICAgICAgY2FzZSBWVkNfU1RTQV9OVVQ6Cj4g KyAgICAgICAgICAgIGNhc2UgVlZDX1JBRExfTlVUOgo+ICsgICAgICAgICAgICBjYXNlIFZWQ19S QVNMX05VVDoKPiArICAgICAgICAgICAgY2FzZSBWVkNfUlNWX1ZDTF80Ogo+ICsgICAgICAgICAg ICBjYXNlIFZWQ19SU1ZfVkNMXzU6Cj4gKyAgICAgICAgICAgIGNhc2UgVlZDX1JTVl9WQ0xfNjoK PiArICAgICAgICAgICAgY2FzZSBWVkNfSURSX1dfUkFETDoKPiArICAgICAgICAgICAgY2FzZSBW VkNfSURSX05fTFA6Cj4gKyAgICAgICAgICAgIGNhc2UgVlZDX0NSQV9OVVQ6Cj4gKyAgICAgICAg ICAgIGNhc2UgVlZDX0dEUl9OVVQ6Cj4gKyAgICAgICAgICAgIGNhc2UgVlZDX1JTVl9JUkFQXzEx Ogo+ICsgICAgICAgICAgICAgICAgaWYgKCFoYXNfbnV0W25hbC0+dHlwZV0pIHsKPiArICAgICAg ICAgICAgICAgICAgICBoYXNfbnV0W25hbC0+dHlwZV0gPSB0cnVlOwo+ICsgICAgICAgICAgICAg ICAgICAgIG51bV9udXRzKys7Cj4gKyAgICAgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgICAg ICBicmVhazsKPiArICAgICAgICAgICAgZGVmYXVsdDogIC8vIE5vbi1WQ0wgTkFMVQo+ICsgICAg ICAgICAgICAgICAgY29udGludWU7Cj4gKyAgICAgICAgfQo+ICsgICAgfQo+ICsKPiArICAgIGlm ICghcHBzLT5wcHNfbWl4ZWRfbmFsdV90eXBlc19pbl9waWNfZmxhZyAmJiBudW1fbnV0cyA+IDEp IHsKPiArICAgICAgICBjb25zdCBjaGFyICptc2cgPSAicHBzX21peGVkX25hbHVfdHlwZXNfaW5f cGljX2ZsYWcgaXMgMCwgeWV0Cj4gcGljdHVyZSBjb250YWlucyBtaXhlZCBOQUxVIHR5cGVzLlxu IjsKPiArICAgICAgICBpZiAocy0+YXZjdHgtPnN0cmljdF9zdGRfY29tcGxpYW5jZSA+PSBGRl9D T01QTElBTkNFX1NUUklDVCkgewo+ICsgICAgICAgICAgICBhdl9sb2cocy0+YXZjdHgsIEFWX0xP R19FUlJPUiwgIiVzIiwgbXNnKTsKPiArICAgICAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJ RERBVEE7Cj4gKyAgICAgICAgfSBlbHNlIHsKPiArICAgICAgICAgICAgYXZfbG9nKHMtPmF2Y3R4 LCBBVl9MT0dfV0FSTklORywgIiVzIiwgbXNnKTsKPiArICAgICAgICB9Cj4gKyAgICB9IGVsc2Ug aWYgKHBwcy0+cHBzX21peGVkX25hbHVfdHlwZXNfaW5fcGljX2ZsYWcgJiYgbnVtX251dHMgPT0g MSkgewo+ICsgICAgICAgIGNvbnN0IGNoYXIgKm1zZyA9ICJwcHNfbWl4ZWRfbmFsdV90eXBlc19p bl9waWNfZmxhZyBpcyAxLCB5ZXQKPiBwaWN0dXJlIGNvbnRhaW5zIG9ubHkgYSBzaW5nbGUgTkFM VSB0eXBlLlxuIjsKPiArICAgICAgICBpZiAocy0+YXZjdHgtPnN0cmljdF9zdGRfY29tcGxpYW5j ZSA+PSBGRl9DT01QTElBTkNFX1NUUklDVCkgewo+ICsgICAgICAgICAgICBhdl9sb2cocy0+YXZj dHgsIEFWX0xPR19FUlJPUiwgIiVzIiwgbXNnKTsKPiArICAgICAgICAgICAgcmV0dXJuIEFWRVJS T1JfSU5WQUxJRERBVEE7Cj4gKyAgICAgICAgfSBlbHNlIHsKPiArICAgICAgICAgICAgYXZfbG9n KHMtPmF2Y3R4LCBBVl9MT0dfV0FSTklORywgIiVzIiwgbXNnKTsKPiArICAgICAgICB9Cj4gKyAg ICB9Cj4gKwo+ICsgICAgaWYgKG51bV9udXRzID09IDEpIHsKPiArICAgICAgICBmb3IgKGVudW0g VlZDTkFMVW5pdFR5cGUgbnV0ID0gMDsgbnV0IDwgVlZDX1JTVl9JUkFQXzExICsgMTsKPiBudXQr Kykgewo+ICsgICAgICAgICAgICBpZiAoaGFzX251dFtudXRdKSB7Cj4gKyAgICAgICAgICAgICAg ICBzd2l0Y2ggKG51dCkgewo+ICsgICAgICAgICAgICAgICAgICAgIGNhc2UgVlZDX0NSQV9OVVQ6 Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBWVkNfUElDVFVSRV9UWVBFX0NSQTsK PiArICAgICAgICAgICAgICAgICAgICBjYXNlIFZWQ19HRFJfTlVUOgo+ICsgICAgICAgICAgICAg ICAgICAgICAgICByZXR1cm4gVlZDX1BJQ1RVUkVfVFlQRV9HRFI7Cj4gKyAgICAgICAgICAgICAg ICAgICAgY2FzZSBWVkNfSURSX1dfUkFETDoKPiArICAgICAgICAgICAgICAgICAgICBjYXNlIFZW Q19JRFJfTl9MUDoKPiArICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFZWQ19QSUNUVVJF X1RZUEVfSURSOwo+ICsgICAgICAgICAgICAgICAgICAgIGNhc2UgVlZDX1JBRExfTlVUOgo+ICsg ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gVlZDX1BJQ1RVUkVfVFlQRV9SQURMOwo+ICsg ICAgICAgICAgICAgICAgICAgIGNhc2UgVlZDX1JBU0xfTlVUOgo+ICsgICAgICAgICAgICAgICAg ICAgICAgICByZXR1cm4gVlZDX1BJQ1RVUkVfVFlQRV9SQVNMOwo+ICsgICAgICAgICAgICAgICAg ICAgIGNhc2UgVlZDX1NUU0FfTlVUOgo+ICsgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g VlZDX1BJQ1RVUkVfVFlQRV9TVFNBOwo+ICsgICAgICAgICAgICAgICAgICAgIGNhc2UgVlZDX1RS QUlMX05VVDoKPiArICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFZWQ19QSUNUVVJFX1RZ UEVfVFJBSUxJTkc7Cj4gKyAgICAgICAgICAgICAgICAgICAgY2FzZSBWVkNfUlNWX1ZDTF80Ogo+ ICsgICAgICAgICAgICAgICAgICAgIGNhc2UgVlZDX1JTVl9WQ0xfNToKPiArICAgICAgICAgICAg ICAgICAgICBjYXNlIFZWQ19SU1ZfVkNMXzY6Cj4gKyAgICAgICAgICAgICAgICAgICAgY2FzZSBW VkNfUlNWX0lSQVBfMTE6Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGF2X2xvZyhzLT5hdmN0 eCwgQVZfTE9HX0VSUk9SLCAiVW5zdXBwb3J0ZWQgVkNMCj4gTlVUOiAlZFxuIiwgbnV0KTsKPiAr ICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEFWRVJST1JfUEFUQ0hXRUxDT01FOwo+ICsg ICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6ICAvLyBOb24tVkNMIE5VVDsgc2hvdWxkIGJlIHVu cmVhY2hhYmxlCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGF2X2Fzc2VydDAoMCk7Cj4gKyAg ICAgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgIH0KPiArICAgICAgICB9Cj4gKyAgICB9Cj4g Kwo+ICsgICAgLy8gVGhlIG9ubHkgcGljdHVyZSB0eXBlIHdoaWNoIGRvZXMgbm90IHJlcXVpcmUg YWxsIFZDTCBOQUxVcyB0byBoYXZlCj4gKyAgICAvLyB0aGUgc2FtZSB0eXBlIGlzIHRoZSBSQVNM IHBpY3R1cmUsIHdoaWNoIGNvbnRhaW5zIG9ubHkgUkFTTCBhbmQKPiBSQURMCj4gKyAgICAvLyBW Q0wgTkFMVXMuCj4gKyAgICBpZiAobnVtX251dHMgPT0gMiAmJiBoYXNfbnV0W1ZWQ19SQVNMX05V VF0gJiYgaGFzX251dFtWVkNfUkFETF9OVVRdKSB7Cj4gKyAgICAgICAgcmV0dXJuIFZWQ19QSUNU VVJFX1RZUEVfUkFTTDsKPiArICAgIH0KPiArCj4gKyAgICByZXR1cm4gVlZDX1BJQ1RVUkVfVFlQ RV9VTlNQRUM7Cj4gK30KPiArCj4gIHN0YXRpYyB2b2lkIGVwc19mcmVlKFNsaWNlQ29udGV4dCAq c2xpY2UpCj4gIHsKPiAgICAgIGF2X2ZyZWVwKCZzbGljZS0+ZXBzKTsKPiBAQCAtOTUxLDcgKzEw NDMsNiBAQCBzdGF0aWMgaW50IGRlY29kZV9zbGljZShWVkNDb250ZXh0ICpzLAo+IFZWQ0ZyYW1l Q29udGV4dCAqZmMsIEFWQnVmZmVyUmVmICpidWZfcmVmCj4KPiAgICAgIHNjID0gZmMtPnNsaWNl c1tmYy0+bmJfc2xpY2VzXTsKPgo+IC0gICAgcy0+dmNsX3VuaXRfdHlwZSA9IG5hbC0+dHlwZTsK PiAgICAgIGlmIChpc19maXJzdF9zbGljZSkgewo+ICAgICAgICAgIHJldCA9IGZyYW1lX3NldHVw KGZjLCBzKTsKPiAgICAgICAgICBpZiAocmV0IDwgMCkKPiBAQCAtMTA1MCw2ICsxMTQxLDEyIEBA IHN0YXRpYyBpbnQgZGVjb2RlX25hbF91bml0cyhWVkNDb250ZXh0ICpzLAo+IFZWQ0ZyYW1lQ29u dGV4dCAqZmMsIEFWUGFja2V0ICphdnBrdCkKPiAgICAgICAgICBhdl9sb2cocy0+YXZjdHgsIEFW X0xPR19FUlJPUiwgIkZhaWxlZCB0byByZWFkIHBhY2tldC5cbiIpOwo+ICAgICAgICAgIHJldHVy biByZXQ7Cj4gICAgICB9Cj4gKwo+ICsgICAgcmV0ID0gZ2V0X3BpY3R1cmVfdHlwZShzLCBmcmFt ZS0+bmJfdW5pdHMpOwo+ICsgICAgaWYgKHJldCA8IDApCj4gKyAgICAgICAgcmV0dXJuIHJldDsK PiArICAgIHMtPnBpY3R1cmVfdHlwZSA9IHJldDsKPiArCj4gICAgICAvKiBkZWNvZGUgdGhlIE5B TCB1bml0cyAqLwo+ICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBmcmFtZS0+bmJfdW5pdHM7IGkr Kykgewo+ICAgICAgICAgIGNvbnN0IEgyNjQ1TkFMICpuYWwgICAgICAgICAgICA9IGgyNjYtPmNv bW1vbi5yZWFkX3BhY2tldC5uYWxzICsKPiBpOwo+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3Z2 Yy9kZWMuaCBiL2xpYmF2Y29kZWMvdnZjL2RlYy5oCj4gaW5kZXggNWY4MDY1YjM4Yi4uMmEwNTIy NzgzNiAxMDA2NDQKPiAtLS0gYS9saWJhdmNvZGVjL3Z2Yy9kZWMuaAo+ICsrKyBiL2xpYmF2Y29k ZWMvdnZjL2RlYy5oCj4gQEAgLTIzMCw3ICsyMzAsNyBAQCB0eXBlZGVmIHN0cnVjdCBWVkNDb250 ZXh0IHsKPiAgICAgIGludCBlb3M7ICAgICAgICAgICAgICAgIC8vLzwgY3VycmVudCBwYWNrZXQg Y29udGFpbnMgYW4gRU9TL0VPQiBOQUwKPiAgICAgIGludCBsYXN0X2VvczsgICAgICAgICAgIC8v LzwgbGFzdCBwYWNrZXQgY29udGFpbnMgYW4gRU9TL0VPQiBOQUwKPgo+IC0gICAgZW51bSBWVkNO QUxVbml0VHlwZSB2Y2xfdW5pdF90eXBlOwo+ICsgICAgZW51bSBWVkNQaWN0dXJlVHlwZSBwaWN0 dXJlX3R5cGU7Cj4gICAgICBpbnQgbm9fb3V0cHV0X2JlZm9yZV9yZWNvdmVyeV9mbGFnOyAvLy88 IE5vT3V0cHV0QmVmb3JlUmVjb3ZlcnlGbGFnCj4gICAgICBpbnQgZ2RyX3JlY292ZXJ5X3BvaW50 X3BvYzsgICAgICAgICAvLy88IHJlY292ZXJ5UG9pbnRQb2NWYWwKPiAgICAgIGludCBmaWxtX2dy YWluX3dhcm5pbmdfc2hvd247Cj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvdnZjL3BzLmggYi9s aWJhdmNvZGVjL3Z2Yy9wcy5oCj4gaW5kZXggM2VjMjIzOGMxNy4uMWM2ZDI3MTJkNiAxMDA2NDQK PiAtLS0gYS9saWJhdmNvZGVjL3Z2Yy9wcy5oCj4gKysrIGIvbGliYXZjb2RlYy92dmMvcHMuaAo+ IEBAIC0yNiwxNCArMjYsMTQgQEAKPiAgI2luY2x1ZGUgImxpYmF2Y29kZWMvY2JzX2gyNjYuaCIK PiAgI2luY2x1ZGUgImxpYmF2Y29kZWMvdnZjLmgiCj4KPiAtI2RlZmluZSBJU19JRFIocykgICgo cyktPnZjbF91bml0X3R5cGUgPT0gVlZDX0lEUl9XX1JBREwgfHwKPiAocyktPnZjbF91bml0X3R5 cGUgPT0gVlZDX0lEUl9OX0xQKQo+IC0jZGVmaW5lIElTX0NSQShzKSAgKChzKS0+dmNsX3VuaXRf dHlwZSA9PSBWVkNfQ1JBX05VVCkKPiArI2RlZmluZSBJU19JRFIocykgICgocyktPnBpY3R1cmVf dHlwZSA9PSBWVkNfUElDVFVSRV9UWVBFX0lEUikKPiArI2RlZmluZSBJU19DUkEocykgICgocykt PnBpY3R1cmVfdHlwZSA9PSBWVkNfUElDVFVSRV9UWVBFX0NSQSkKPiAgI2RlZmluZSBJU19JUkFQ KHMpIChJU19JRFIocykgfHwgSVNfQ1JBKHMpKQo+IC0jZGVmaW5lIElTX0dEUihzKSAgKChzKS0+ dmNsX3VuaXRfdHlwZSA9PSBWVkNfR0RSX05VVCkKPiArI2RlZmluZSBJU19HRFIocykgICgocykt PnBpY3R1cmVfdHlwZSA9PSBWVkNfUElDVFVSRV9UWVBFX0dEUikKPiAgI2RlZmluZSBJU19DVlNT KHMpIChJU19JUkFQKHMpfHwgSVNfR0RSKHMpKQo+ICAjZGVmaW5lIElTX0NMVlNTKHMpIChJU19D VlNTKHMpICYmIHMtPm5vX291dHB1dF9iZWZvcmVfcmVjb3ZlcnlfZmxhZykKPiAtI2RlZmluZSBJ U19SQVNMKHMpICgocyktPnZjbF91bml0X3R5cGUgPT0gVlZDX1JBU0xfTlVUKQo+IC0jZGVmaW5l IElTX1JBREwocykgKChzKS0+dmNsX3VuaXRfdHlwZSA9PSBWVkNfUkFETF9OVVQpCj4gKyNkZWZp bmUgSVNfUkFTTChzKSAoKHMpLT5waWN0dXJlX3R5cGUgPT0gVlZDX1BJQ1RVUkVfVFlQRV9SQVNM KQo+ICsjZGVmaW5lIElTX1JBREwocykgKChzKS0+cGljdHVyZV90eXBlID09IFZWQ19QSUNUVVJF X1RZUEVfUkFETCkKPgo+ICAjZGVmaW5lIElTX0kocnNoKSAoKHJzaCktPnNoX3NsaWNlX3R5cGUg PT0gVlZDX1NMSUNFX1RZUEVfSSkKPiAgI2RlZmluZSBJU19QKHJzaCkgKChyc2gpLT5zaF9zbGlj ZV90eXBlID09IFZWQ19TTElDRV9UWVBFX1ApCj4gLS0KPiAyLjQ3LjAKPgo+Cl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5n IGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4v bGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwg b3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVu c3Vic2NyaWJlIi4K