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 095FE46A59 for ; Sun, 2 Jul 2023 13:02:05 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 87BD168C26E; Sun, 2 Jul 2023 16:02:03 +0300 (EEST) Received: from mail-ot1-f48.google.com (mail-ot1-f48.google.com [209.85.210.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B7A24688158 for ; Sun, 2 Jul 2023 16:01:56 +0300 (EEST) Received: by mail-ot1-f48.google.com with SMTP id 46e09a7af769-6b5d5e6b086so2271112a34.1 for ; Sun, 02 Jul 2023 06:01:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1688302915; x=1690894915; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=5jXEOuDZYJkwb1CTpJ/vf83Rr5eQily/nSIJOv/PVUk=; b=U+QYJpTXbYYWeSlkb2/tGl4CpjFQ0qHAn4NB/uIv6+rNDdxArgOj4xghrn0PXXFx8m jLZCu3e+Jp3ZU0HKN2daDw5rev/kDlyd7qamLzYSWqSrNyJehwAgee2NrroWLzA5lTZ+ ZCnfx76yzy8GgtNsOA2L0t6aQvfmbwNvgBnHjLoZQYlqMbfATUgSKcuctwibx3NeOrkC ZpyDJbL9wy3cyaBq7HRZgE62WpWK9pJ/Hf80edOKJZwDIVychK8m0MR3Dh7+NpDko/tA juVTPqsl8aT+8Bt/TH7hKlDpRNCYzni+/ZQYs1xyf3dwfka6RmxpaZQAOCboU5FXVQaq kRnw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688302915; x=1690894915; h=content-transfer-encoding:in-reply-to: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=5jXEOuDZYJkwb1CTpJ/vf83Rr5eQily/nSIJOv/PVUk=; b=MnDyLyvLZIx1LYrSYiDZbC3imRoawG+kg2HSnCj2M4x7dLkWsmeSB2/9ykvc7t6Q7q 8Fn8KjHqQq0tmy2OsL0k4KPil8Uoa0I/Ww0ABgVNwREuNpOgbguiZ/VgWlnAl58Ml+m/ 3fFEgc9UHlJndZwgkFwsE3q8IhNjHCTGGLdNukZpcyKO61GjzSaDZeszEczUHtgryqYP iVC7pQnmIO5i2CfMNJ7sTKK5U7RR8Y8yXItpOgPaCV9Nst/ukTOm3kRue2BGt6l+XcWy et9DqIl8155uFtsMw/B5LYv4N2Tc5NcNOzqrOWXM5mPVKRDcfb2hWDuAxOrQI2M/fdAf WvYw== X-Gm-Message-State: AC+VfDzOenGWJOmrYqWZAwdWJP0XScPOHjo468e+z5K8xCBu0HbliLwJ yaEPXH5sQ7iHF0vszHZsuhh5W67FoX8= X-Google-Smtp-Source: ACHHUZ7NIvSJVWhyewnnkn8afFZTBzcoogrunkFuDqzL44qqbfFvi5CXzJzK6VkES+vGO3wOF4DStA== X-Received: by 2002:a9d:4b04:0:b0:6b7:4bea:558b with SMTP id q4-20020a9d4b04000000b006b74bea558bmr4479207otf.7.1688302914716; Sun, 02 Jul 2023 06:01:54 -0700 (PDT) Received: from [192.168.0.12] (host197.190-225-105.telecom.net.ar. [190.225.105.197]) by smtp.gmail.com with ESMTPSA id c24-20020a9d67d8000000b006b79a338581sm5634642otn.64.2023.07.02.06.01.53 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 02 Jul 2023 06:01:54 -0700 (PDT) Message-ID: <7607b544-9f3f-992f-3bcf-2ad2855ef928@gmail.com> Date: Sun, 2 Jul 2023 10:01:54 -0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20230629224510.10393-1-jamrial@gmail.com> From: James Almer In-Reply-To: Subject: Re: [FFmpeg-devel] [PATCH v2 1/2] avcodec/cbs_h2645: fix parsing and storing Picture Header references in the context 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: T24gNy8xLzIwMjMgMTA6MDYgUE0sIE51byBNaSB3cm90ZToKPiBPbiBTdW4sIEp1bCAyLCAyMDIz IGF0IDc6MzLigK9BTSBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+IHdyb3RlOgo+IAo+ PiBPbiA3LzEvMjAyMyA4OjUxIEFNLCBOdW8gTWkgd3JvdGU6Cj4+PiBPbiBGcmksIEp1biAzMCwg MjAyMyBhdCA2OjQ14oCvQU0gSmFtZXMgQWxtZXI8amFtcmlhbEBnbWFpbC5jb20+ICB3cm90ZToK Pj4+Cj4+Pj4gU2lnbmVkLW9mZi1ieTogSmFtZXMgQWxtZXI8amFtcmlhbEBnbWFpbC5jb20+Cj4+ Pj4gLS0tCj4+Pj4gICAgbGliYXZjb2RlYy9jYnNfaDI2NDUuYyAgICAgICAgICAgICAgICB8IDM1 ICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLQo+Pj4+ICAgIGxpYmF2Y29kZWMvY2JzX2gyNjYu aCAgICAgICAgICAgICAgICAgfCAxNyArKysrKysrLS0tLS0tCj4+Pj4gICAgbGliYXZjb2RlYy9j YnNfaDI2Nl9zeW50YXhfdGVtcGxhdGUuYyB8IDE3ICsrKysrKy0tLS0tLS0KPj4+PiAgICBsaWJh dmNvZGVjL2gyNjZfbWV0YWRhdGFfYnNmLmMgICAgICAgIHwgMTMgKysrKystLS0tLQo+Pj4+ICAg IGxpYmF2Y29kZWMvdnZjX3BhcnNlci5jICAgICAgICAgICAgICAgfCAxMCArKysrLS0tLQo+Pj4+ ICAgIDUgZmlsZXMgY2hhbmdlZCwgNTAgaW5zZXJ0aW9ucygrKSwgNDIgZGVsZXRpb25zKC0pCj4+ Pj4KPj4+PiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9jYnNfaDI2NDUuYyBiL2xpYmF2Y29kZWMv Y2JzX2gyNjQ1LmMKPj4+PiBpbmRleCBjZGQ3OTAxNTE4Li42OGNjZjZhN2ViIDEwMDY0NAo+Pj4+ IC0tLSBhL2xpYmF2Y29kZWMvY2JzX2gyNjQ1LmMKPj4+PiArKysgYi9saWJhdmNvZGVjL2Nic19o MjY0NS5jCj4+Pj4gQEAgLTUyNSwxMiArNTI1LDYgQEAgc3RhdGljIGludAo+Pj4+IGNic19oMjY0 NV9zcGxpdF9mcmFnbWVudChDb2RlZEJpdHN0cmVhbUNvbnRleHQgKmN0eCwKPj4+PiAgICAgICAg aWYgKGZyYWctPmRhdGFfc2l6ZSA9PSAwKQo+Pj4+ICAgICAgICAgICAgcmV0dXJuIDA7Cj4+Pj4K Pj4+PiAtICAgIGlmIChjb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9WVkMpIHsKPj4+PiAtICAgICAg ICAvL3dlIGRlYWN0aXZlIHBpY3R1cmUgaGVhZGVyIGhlcmUgdG8gYXZvaWQgcmV1c2UgcHJldmlv dXMgYXUncwo+PiBwaC4KPj4+PiAtICAgICAgICBDb2RlZEJpdHN0cmVhbUgyNjZDb250ZXh0ICpo MjY2ID0gY3R4LT5wcml2X2RhdGE7Cj4+Pj4gLSAgICAgICAgaDI2Ni0+cHJpdi5waCA9IE5VTEw7 Cj4+Pj4gLSAgICB9Cj4+Pj4gLQo+Pj4+ICAgICAgICBpZiAoaGVhZGVyICYmIGZyYWctPmRhdGFb MF0gJiYgY29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSDI2NCkgewo+Pj4+ICAgICAgICAgICAgLy8g QVZDQyBoZWFkZXIuCj4+Pj4gICAgICAgICAgICBzaXplX3Qgc2l6ZSwgc3RhcnQsIGVuZDsKPj4+ PiBAQCAtNzkzLDE5ICs3ODcsMjAgQEAgY2JzX2gyNjZfcmVwbGFjZV9wcyg2LCBTUFMsIHNwcywK Pj4+PiBzcHNfc2VxX3BhcmFtZXRlcl9zZXRfaWQpCj4+Pj4gICAgY2JzX2gyNjZfcmVwbGFjZV9w cyg2LCBQUFMsIHBwcywgcHBzX3BpY19wYXJhbWV0ZXJfc2V0X2lkKQo+Pj4+Cj4+Pj4gICAgc3Rh dGljIGludCBjYnNfaDI2Nl9yZXBsYWNlX3BoKENvZGVkQml0c3RyZWFtQ29udGV4dCAqY3R4LAo+ Pj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29kZWRCaXRzdHJlYW1Vbml0ICp1 bml0KQo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29kZWRCaXRzdHJlYW1V bml0ICp1bml0LAo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSDI2NlJhd1Bp Y3R1cmVIZWFkZXIgKnBoKQo+Pj4+ICAgIHsKPj4+PiAgICAgICAgQ29kZWRCaXRzdHJlYW1IMjY2 Q29udGV4dCAqaDI2NiA9IGN0eC0+cHJpdl9kYXRhOwo+Pj4+ICAgICAgICBpbnQgZXJyOwo+Pj4+ Cj4+Pj4gLSAgICBoMjY2LT5wcml2LnBoID0gTlVMTDsKPj4+PiAgICAgICAgZXJyID0gZmZfY2Jz X21ha2VfdW5pdF9yZWZjb3VudGVkKGN0eCwgdW5pdCk7Cj4+Pj4gICAgICAgIGlmIChlcnIgPCAw KQo+Pj4+ICAgICAgICAgICAgcmV0dXJuIGVycjsKPj4+PiAtICAgIGVyciA9IGF2X2J1ZmZlcl9y ZXBsYWNlKCZoMjY2LT5wcml2LnBoX3JlZiwgdW5pdC0+Y29udGVudF9yZWYpOwo+Pj4+ICsgICAg YXZfYXNzZXJ0MCh1bml0LT5jb250ZW50X3JlZik7Cj4+Pj4gKyAgICBlcnIgPSBhdl9idWZmZXJf cmVwbGFjZSgmaDI2Ni0+cGhfcmVmLCB1bml0LT5jb250ZW50X3JlZik7Cj4+Pj4gICAgICAgIGlm IChlcnIgPCAwKQo+Pj4+ICAgICAgICAgICAgcmV0dXJuIGVycjsKPj4+PiAtICAgIGgyNjYtPnBy aXYucGggPSAoSDI2NlJhd1BIKiloMjY2LT5wcml2LnBoX3JlZi0+ZGF0YTsKPj4+PiArICAgIGgy NjYtPnBoID0gcGg7Cj4+Pj4gICAgICAgIHJldHVybiAwOwo+Pj4+ICAgIH0KPj4+Pgo+Pj4+IEBA IC0xMTExLDcgKzExMDYsNyBAQCBzdGF0aWMgaW50Cj4+Pj4gY2JzX2gyNjZfcmVhZF9uYWxfdW5p dChDb2RlZEJpdHN0cmVhbUNvbnRleHQgKmN0eCwKPj4+PiAgICAgICAgICAgICAgICBlcnIgPSBj YnNfaDI2Nl9yZWFkX3BoKGN0eCwgJmdiYywgcGgpOwo+Pj4+ICAgICAgICAgICAgICAgIGlmIChl cnIgPCAwKQo+Pj4+ICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXJyOwo+Pj4+IC0gICAgICAg ICAgICBlcnIgPSBjYnNfaDI2Nl9yZXBsYWNlX3BoKGN0eCwgdW5pdCk7Cj4+Pj4gKyAgICAgICAg ICAgIGVyciA9IGNic19oMjY2X3JlcGxhY2VfcGgoY3R4LCB1bml0LAo+PiAmcGgtPnBoX3BpY3R1 cmVfaGVhZGVyKTsKPj4+PiAgICAgICAgICAgICAgICBpZiAoZXJyIDwgMCkKPj4+PiAgICAgICAg ICAgICAgICAgICAgcmV0dXJuIGVycjsKPj4+PiAgICAgICAgICAgIH0KPj4+PiBAQCAtMTEzOSw2 ICsxMTM0LDEyIEBAIHN0YXRpYyBpbnQKPj4+PiBjYnNfaDI2Nl9yZWFkX25hbF91bml0KENvZGVk Qml0c3RyZWFtQ29udGV4dCAqY3R4LAo+Pj4+ICAgICAgICAgICAgICAgIHBvcyA9IGdldF9iaXRz X2NvdW50KCZnYmMpOwo+Pj4+ICAgICAgICAgICAgICAgIGxlbiA9IHVuaXQtPmRhdGFfc2l6ZTsK Pj4+Pgo+Pj4+ICsgICAgICAgICAgICBpZiAoc2xpY2UtPmhlYWRlci5zaF9waWN0dXJlX2hlYWRl cl9pbl9zbGljZV9oZWFkZXJfZmxhZykgewo+Pj4+ICsgICAgICAgICAgICAgICAgZXJyID0gY2Jz X2gyNjZfcmVwbGFjZV9waChjdHgsIHVuaXQsCj4+Pj4gJnNsaWNlLT5oZWFkZXIuc2hfcGljdHVy ZV9oZWFkZXIpOwo+Pj4+ICsgICAgICAgICAgICAgICAgaWYgKGVyciA8IDApCj4+Pj4gKyAgICAg ICAgICAgICAgICAgICAgcmV0dXJuIGVycjsKPj4+PiArICAgICAgICAgICAgfQo+Pj4+ICsKPj4+ PiAgICAgICAgICAgICAgICBzbGljZS0+ZGF0YV9zaXplID0gbGVuIC0gcG9zIC8gODsKPj4+PiAg ICAgICAgICAgICAgICBzbGljZS0+ZGF0YV9yZWYgID0gYXZfYnVmZmVyX3JlZih1bml0LT5kYXRh X3JlZik7Cj4+Pj4gICAgICAgICAgICAgICAgaWYgKCFzbGljZS0+ZGF0YV9yZWYpCj4+Pj4gQEAg LTE2NDAsNyArMTY0MSw3IEBAIHN0YXRpYyBpbnQKPj4+PiBjYnNfaDI2Nl93cml0ZV9uYWxfdW5p dChDb2RlZEJpdHN0cmVhbUNvbnRleHQgKmN0eCwKPj4+PiAgICAgICAgICAgICAgICBpZiAoZXJy IDwgMCkKPj4+PiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVycjsKPj4+Pgo+Pj4+IC0gICAg ICAgICAgICBlcnIgPSBjYnNfaDI2Nl9yZXBsYWNlX3BoKGN0eCwgdW5pdCk7Cj4+Pj4gKyAgICAg ICAgICAgIGVyciA9IGNic19oMjY2X3JlcGxhY2VfcGgoY3R4LCB1bml0LAo+PiAmcGgtPnBoX3Bp Y3R1cmVfaGVhZGVyKTsKPj4+PiAgICAgICAgICAgICAgICBpZiAoZXJyIDwgMCkKPj4+PiAgICAg ICAgICAgICAgICAgICAgcmV0dXJuIGVycjsKPj4+PiAgICAgICAgICAgIH0KPj4+PiBAQCAtMTY2 MSw2ICsxNjYyLDEyIEBAIHN0YXRpYyBpbnQKPj4+PiBjYnNfaDI2Nl93cml0ZV9uYWxfdW5pdChD b2RlZEJpdHN0cmVhbUNvbnRleHQgKmN0eCwKPj4+PiAgICAgICAgICAgICAgICBpZiAoZXJyIDwg MCkKPj4+PiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVycjsKPj4+Pgo+Pj4+ICsgICAgICAg ICAgICBpZiAoc2xpY2UtPmhlYWRlci5zaF9waWN0dXJlX2hlYWRlcl9pbl9zbGljZV9oZWFkZXJf ZmxhZykgewo+Pj4+ICsgICAgICAgICAgICAgICAgZXJyID0gY2JzX2gyNjZfcmVwbGFjZV9waChj dHgsIHVuaXQsCj4+Pj4gJnNsaWNlLT5oZWFkZXIuc2hfcGljdHVyZV9oZWFkZXIpOwo+Pj4+ICsg ICAgICAgICAgICAgICAgaWYgKGVyciA8IDApCj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgcmV0 dXJuIGVycjsKPj4+PiArICAgICAgICAgICAgfQo+Pj4+ICsKPj4+PiAgICAgICAgICAgICAgICBp ZiAoc2xpY2UtPmRhdGEpIHsKPj4+PiAgICAgICAgICAgICAgICAgICAgZXJyID0gY2JzX2gyNjQ1 X3dyaXRlX3NsaWNlX2RhdGEoY3R4LCBwYmMsCj4+IHNsaWNlLT5kYXRhLAo+Pj4+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGljZS0+ZGF0YV9z aXplLAo+Pj4+IEBAIC0xODg0LDggKzE4OTEsOCBAQCBzdGF0aWMgdm9pZCBjYnNfaDI2Nl9mbHVz aChDb2RlZEJpdHN0cmVhbUNvbnRleHQKPj4+PiAqY3R4KQo+Pj4+ICAgICAgICAgICAgYXZfYnVm ZmVyX3VucmVmKCZoMjY2LT5wcHNfcmVmW2ldKTsKPj4+PiAgICAgICAgICAgIGgyNjYtPnBwc1tp XSA9IE5VTEw7Cj4+Pj4gICAgICAgIH0KPj4+PiAtICAgIGF2X2J1ZmZlcl91bnJlZigmaDI2Ni0+ cHJpdi5waF9yZWYpOwo+Pj4+IC0gICAgaDI2Ni0+cHJpdi5waCA9IE5VTEw7Cj4+Pj4gKyAgICBh dl9idWZmZXJfdW5yZWYoJmgyNjYtPnBoX3JlZik7Cj4+Pj4gKyAgICBoMjY2LT5waCA9IE5VTEw7 Cj4+Pj4gICAgfQo+Pj4+Cj4+Pj4gICAgc3RhdGljIHZvaWQgY2JzX2gyNjZfY2xvc2UoQ29kZWRC aXRzdHJlYW1Db250ZXh0ICpjdHgpCj4+Pj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvY2JzX2gy NjYuaCBiL2xpYmF2Y29kZWMvY2JzX2gyNjYuaAo+Pj4+IGluZGV4IDAzZGZkNGE5NTQuLjU0NTkw NzQ4YzMgMTAwNjQ0Cj4+Pj4gLS0tIGEvbGliYXZjb2RlYy9jYnNfaDI2Ni5oCj4+Pj4gKysrIGIv bGliYXZjb2RlYy9jYnNfaDI2Ni5oCj4+Pj4gQEAgLTU4MSw4ICs1ODEsNyBAQCB0eXBlZGVmIHN0 cnVjdCBIMjY2UmF3UHJlZFdlaWdodFRhYmxlIHsKPj4+PiAgICAgICAgaW50MTZfdCAgZGVsdGFf Y2hyb21hX29mZnNldF9sMVsxNV1bMl07Cj4+Pj4gICAgfSBIMjY2UmF3UHJlZFdlaWdodFRhYmxl Owo+Pj4+Cj4+Pj4gLXR5cGVkZWYgc3RydWN0ICBIMjY2UmF3UEggewo+Pj4+IC0gICAgSDI2NlJh d05BTFVuaXRIZWFkZXIgbmFsX3VuaXRfaGVhZGVyOwo+Pj4+ICt0eXBlZGVmIHN0cnVjdCAgSDI2 NlJhd1BpY3R1cmVIZWFkZXIgewo+Pj4+ICAgICAgICB1aW50OF90ICBwaF9nZHJfb3JfaXJhcF9w aWNfZmxhZzsKPj4+PiAgICAgICAgdWludDhfdCAgcGhfbm9uX3JlZl9waWNfZmxhZzsKPj4+PiAg ICAgICAgdWludDhfdCAgcGhfZ2RyX3BpY19mbGFnOwo+Pj4+IEBAIC02NzAsMTIgKzY2OSwxNyBA QCB0eXBlZGVmIHN0cnVjdCAgSDI2NlJhd1BIIHsKPj4+Pgo+Pj4+ICAgICAgICB1aW50OF90ICBw aF9leHRlbnNpb25fbGVuZ3RoOwo+Pj4+ICAgICAgICB1aW50OF90ICBwaF9leHRlbnNpb25fZGF0 YV9ieXRlWzI1Nl07Cj4+Pj4gK30gSDI2NlJhd1BpY3R1cmVIZWFkZXI7Cj4+Pj4gKwo+Pj4+ICt0 eXBlZGVmIHN0cnVjdCBIMjY2UmF3UEggewo+Pj4+ICsgICAgSDI2NlJhd05BTFVuaXRIZWFkZXIg bmFsX3VuaXRfaGVhZGVyOwo+Pj4+ICsgICAgSDI2NlJhd1BpY3R1cmVIZWFkZXIgcGhfcGljdHVy ZV9oZWFkZXI7Cj4+Pj4gICAgfSBIMjY2UmF3UEg7Cj4+Pj4KPj4+PiAgICB0eXBlZGVmIHN0cnVj dCAgSDI2NlJhd1NsaWNlSGVhZGVyIHsKPj4+PiAgICAgICAgSDI2NlJhd05BTFVuaXRIZWFkZXIg bmFsX3VuaXRfaGVhZGVyOwo+Pj4+ICAgICAgICB1aW50OF90ICBzaF9waWN0dXJlX2hlYWRlcl9p bl9zbGljZV9oZWFkZXJfZmxhZzsKPj4+PiAtICAgIEgyNjZSYXdQSCBzaF9waWN0dXJlX2hlYWRl cjsKPj4+PiArICAgIEgyNjZSYXdQaWN0dXJlSGVhZGVyIHNoX3BpY3R1cmVfaGVhZGVyOwo+Pj4+ Cj4+Pj4gICAgICAgIHVpbnQxNl90IHNoX3N1YnBpY19pZDsKPj4+PiAgICAgICAgdWludDE2X3Qg c2hfc2xpY2VfYWRkcmVzczsKPj4+PiBAQCAtNzcwLDE0ICs3NzQsMTEgQEAgdHlwZWRlZiBzdHJ1 Y3QgQ29kZWRCaXRzdHJlYW1IMjY2Q29udGV4dCB7Cj4+Pj4gICAgICAgIEFWQnVmZmVyUmVmICp2 cHNfcmVmW1ZWQ19NQVhfVlBTX0NPVU5UXTsKPj4+PiAgICAgICAgQVZCdWZmZXJSZWYgKnNwc19y ZWZbVlZDX01BWF9TUFNfQ09VTlRdOwo+Pj4+ICAgICAgICBBVkJ1ZmZlclJlZiAqcHBzX3JlZltW VkNfTUFYX1BQU19DT1VOVF07Cj4+Pj4gKyAgICBBVkJ1ZmZlclJlZiAqcGhfcmVmOwo+Pj4+ICAg ICAgICBIMjY2UmF3VlBTICAqdnBzW1ZWQ19NQVhfU1BTX0NPVU5UXTsKPj4+PiAgICAgICAgSDI2 NlJhd1NQUyAgKnNwc1tWVkNfTUFYX1NQU19DT1VOVF07Cj4+Pj4gICAgICAgIEgyNjZSYXdQUFMg ICpwcHNbVlZDX01BWF9QUFNfQ09VTlRdOwo+Pj4+IC0KPj4+PiAtICAgIHN0cnVjdCB7Cj4+Pj4g LSAgICAgICAgQVZCdWZmZXJSZWYgKnBoX3JlZjsKPj4+PiAtICAgICAgICBIMjY2UmF3UEggICAq cGg7Cj4+Pj4gLSAgICB9IHByaXY7Cj4+Pj4gKyAgICBIMjY2UmF3UGljdHVyZUhlYWRlciAqcGg7 Cj4+Pj4gICAgfSBDb2RlZEJpdHN0cmVhbUgyNjZDb250ZXh0Owo+Pj4+Cj4+Pj4gICAgI2VuZGlm IC8qIEFWQ09ERUNfQ0JTX0gyNjZfSCAqLwo+Pj4+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2Ni c19oMjY2X3N5bnRheF90ZW1wbGF0ZS5jCj4+Pj4gYi9saWJhdmNvZGVjL2Nic19oMjY2X3N5bnRh eF90ZW1wbGF0ZS5jCj4+Pj4gaW5kZXggMDZmOWYyOWUwOC4uNmQ4MjZlYmE0OSAxMDA2NDQKPj4+ PiAtLS0gYS9saWJhdmNvZGVjL2Nic19oMjY2X3N5bnRheF90ZW1wbGF0ZS5jCj4+Pj4gKysrIGIv bGliYXZjb2RlYy9jYnNfaDI2Nl9zeW50YXhfdGVtcGxhdGUuYwo+Pj4+IEBAIC0yMjMxLDggKzIy MzEsOCBAQCBzdGF0aWMgaW50IEZVTkMocHJlZF93ZWlnaHRfdGFibGUpCj4+Pj4gKENvZGVkQml0 c3RyZWFtQ29udGV4dCAqY3R4LCBSV0NvbnRleHQgKnJ3LAo+Pj4+ICAgICAgICByZXR1cm4gMDsK Pj4+PiAgICB9Cj4+Pj4KPj4+PiAtc3RhdGljIGludCBGVU5DKHBpY3R1cmVfaGVhZGVyKSAoQ29k ZWRCaXRzdHJlYW1Db250ZXh0ICpjdHgsIFJXQ29udGV4dAo+Pj4+ICpydywKPj4+PiAtICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSDI2NlJhd1BIICpjdXJyZW50KXsKPj4+PiArc3Rh dGljIGludCBGVU5DKHBpY3R1cmVfaGVhZGVyX3N0cnVjdHVyZSkoQ29kZWRCaXRzdHJlYW1Db250 ZXh0ICpjdHgsCj4+Pj4gUldDb250ZXh0ICpydywKPj4+PiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgSDI2NlJhd1BpY3R1cmVIZWFkZXIKPj4gKmN1cnJlbnQpIHsK Pj4+PiAgICAgICAgQ29kZWRCaXRzdHJlYW1IMjY2Q29udGV4dCAqaDI2NiA9IGN0eC0+cHJpdl9k YXRhOwo+Pj4+ICAgICAgICBjb25zdCBIMjY2UmF3VlBTICp2cHM7Cj4+Pj4gICAgICAgIGNvbnN0 IEgyNjZSYXdTUFMgKnNwczsKPj4+PiBAQCAtMjY1MSw3ICsyNjUxLDcgQEAgc3RhdGljIGludCBG VU5DKHBoKSAoQ29kZWRCaXRzdHJlYW1Db250ZXh0ICpjdHgsCj4+Pj4gUldDb250ZXh0ICpydywK Pj4+PiAgICAgICAgSEVBREVSKCJQaWN0dXJlIEhlYWRlciIpOwo+Pj4+Cj4+Pj4gICAgICAgIENI RUNLKEZVTkMobmFsX3VuaXRfaGVhZGVyKSAoY3R4LCBydywgJmN1cnJlbnQtPm5hbF91bml0X2hl YWRlciwKPj4+PiBWVkNfUEhfTlVUKSk7Cj4+Pj4gLSAgICBDSEVDSyhGVU5DKHBpY3R1cmVfaGVh ZGVyKSAoY3R4LCBydywgY3VycmVudCkpOwo+Pj4+ICsgICAgQ0hFQ0soRlVOQyhwaWN0dXJlX2hl YWRlcl9zdHJ1Y3R1cmUpIChjdHgsIHJ3LAo+Pj4+ICZjdXJyZW50LT5waF9waWN0dXJlX2hlYWRl cikpOwo+Pj4+ICAgICAgICBDSEVDSyhGVU5DKHJic3BfdHJhaWxpbmdfYml0cykgKGN0eCwgcncp KTsKPj4+PiAgICAgICAgcmV0dXJuIDA7Cj4+Pj4gICAgfQo+Pj4+IEBAIC0yNjYyLDcgKzI2NjIs NyBAQCBzdGF0aWMgaW50IEZVTkMoc2xpY2VfaGVhZGVyKQo+PiAoQ29kZWRCaXRzdHJlYW1Db250 ZXh0Cj4+Pj4gKmN0eCwgUldDb250ZXh0ICpydywKPj4+PiAgICAgICAgQ29kZWRCaXRzdHJlYW1I MjY2Q29udGV4dCAqaDI2NiA9IGN0eC0+cHJpdl9kYXRhOwo+Pj4+ICAgICAgICBjb25zdCBIMjY2 UmF3U1BTICpzcHM7Cj4+Pj4gICAgICAgIGNvbnN0IEgyNjZSYXdQUFMgKnBwczsKPj4+PiAtICAg IGNvbnN0IEgyNjZSYXdQSCAqcGg7Cj4+Pj4gKyAgICBjb25zdCBIMjY2UmF3UGljdHVyZUhlYWRl ciAqcGg7Cj4+Pj4gICAgICAgIGNvbnN0IEgyNjZSZWZQaWNMaXN0cyAqcmVmX3BpY19saXN0czsK Pj4+PiAgICAgICAgaW50IGVyciwgaTsKPj4+PiAgICAgICAgdWludDhfdCBuYWxfdW5pdF90eXBl LCBxcF9iZF9vZmZzZXQ7Cj4+Pj4gQEAgLTI2NzUsMTIgKzI2NzUsMTEgQEAgc3RhdGljIGludCBG VU5DKHNsaWNlX2hlYWRlcikKPj4+PiAoQ29kZWRCaXRzdHJlYW1Db250ZXh0ICpjdHgsIFJXQ29u dGV4dCAqcncsCj4+Pj4KPj4+PiAgICAgICAgZmxhZyhzaF9waWN0dXJlX2hlYWRlcl9pbl9zbGlj ZV9oZWFkZXJfZmxhZyk7Cj4+Pj4gICAgICAgIGlmIChjdXJyZW50LT5zaF9waWN0dXJlX2hlYWRl cl9pbl9zbGljZV9oZWFkZXJfZmxhZykgewo+Pj4+IC0gICAgICAgIENIRUNLKEZVTkMocGljdHVy ZV9oZWFkZXIpIChjdHgsIHJ3LAo+Pj4+ICZjdXJyZW50LT5zaF9waWN0dXJlX2hlYWRlcikpOwo+ Pj4+ICsgICAgICAgIC8vNy40LjggaWYgc2hfcGljdHVyZV9oZWFkZXJfaW5fc2xpY2VfaGVhZGVy X2ZsYWcgaXMgdHJ1ZSwgd2UKPj4gZG8KPj4+PiBub3QgaGF2ZSBhIFBIIE5BTCB1bml0Cj4+Pj4g KyAgICAgICAgQ0hFQ0soRlVOQyhwaWN0dXJlX2hlYWRlcl9zdHJ1Y3R1cmUpIChjdHgsIHJ3LAo+ Pj4+ICZjdXJyZW50LT5zaF9waWN0dXJlX2hlYWRlcikpOwo+Pj4+ICAgICAgICAgICAgcGggPSAm Y3VycmVudC0+c2hfcGljdHVyZV9oZWFkZXI7Cj4+Pj4gLSAgICAgICAgLy83LjQuOCBpZiBzaF9w aWN0dXJlX2hlYWRlcl9pbl9zbGljZV9oZWFkZXJfZmxhZyBpcyB0cnVlLCB3ZQo+PiBkbwo+Pj4+ IG5vdCBoYXZlIFBIIE5BTCB1bml0Cj4+Pj4gLSAgICAgICAgaDI2Ni0+cHJpdi5waCA9IE5VTEw7 Cj4+Pj4gICAgICAgIH0gZWxzZSB7Cj4+Pj4gLSAgICAgICAgcGggPSBoMjY2LT5wcml2LnBoOwo+ Pj4+ICsgICAgICAgIHBoID0gaDI2Ni0+cGg7Cj4+Pj4KPj4+IEJhc2VkIG9uIHRoZSBmb2xsb3dp bmcgaXRlbXMgaW4gdGhlIHNwZWMsIGFsbCBzbGljZXMgd2lsbCBoYXZlIHRoZSBzYW1lCj4+PiBw aWN0dXJlIGhlYWRlci4gIE1heWJlIHdlIGNhbiByZW1vdmUgc2hfcGljdHVyZV9oZWFkZXIgYW5k IGp1c3Qga2VlcAo+Pj4gaDI2Ni0+cGguCj4+Pgo+Pj4gMS4gVGhlIFBIIHN5bnRheCBzdHJ1Y3R1 cmUgY29udGFpbnMgaW5mb3JtYXRpb24gdGhhdCBpcyBjb21tb24gZm9yIGFsbAo+Pj4gc2xpY2Vz IG9mIHRoZSBjdXJyZW50IHBpY3R1cmUuCj4+PiAyLiBJdCBpcyBhIHJlcXVpcmVtZW50IG9mIGJp dHN0cmVhbSBjb25mb3JtYW5jZSB0aGF0IHRoZSB2YWx1ZSBvZgo+Pj4gc2hfcGljdHVyZV9oZWFk ZXJfaW5fc2xpY2VfaGVhZGVyX2ZsYWcgc2hhbGwgYmUgdGhlIHNhbWUgaW4gYWxsIGNvZGVkCj4+ PiBzbGljZXMgaW4gYSBDTFZTLgo+Pj4gMy4gV2hlbiBzaF9waWN0dXJlX2hlYWRlcl9pbl9zbGlj ZV9oZWFkZXJfZmxhZyBpcyBlcXVhbCB0byAxIGZvciBhIGNvZGVkCj4+PiBzbGljZSwgaXQgaXMg YSByZXF1aXJlbWVudCBvZiBiaXRzdHJlYW0gY29uZm9ybWFuY2UgdGhhdCBubyBOQUwgdW5pdCB3 aXRoCj4+PiBuYWxfdW5pdF90eXBlIGVxdWFsIHRvIFBIX05VVCBzaGFsbCBiZSBwcmVzZW50IGlu IHRoZSBDTFZTLgo+Pgo+PiBDb2RlZEJpdHN0cmVhbUgyNjZDb250ZXh0IGhvbGRzIHRoZSBzdGF0 ZSBvZiBhbiBoeXBvdGhldGljYWwgZGVjb2Rlcgo+PiBhZnRlciB0aGUgbGFzdCB1bml0IGZlZCB0 byBDQlMgd2FzIHBhcnNlZC4gSWYgeW91IHdlcmUgdG8gZmVlZCBpdCB0d28KPj4gUFVzIGluIGEg cm93LCBoMjY2LT5waCB3aWxsIGJlIGEgcG9pbnRlciB0byB0aGUgSDI2NlJhd1BpY3R1cmVIZWFk ZXIKPj4gcmVsZXZhbnQgdG8gdGhlIHNlY29uZCBQVSAoRWl0aGVyIHBpY3R1cmVfaGVhZGVyIGZy b20gdGhlIGxhc3QgUEggTkFMVSwKPj4gb3IgcGljdHVyZV9oZWFkZXIgZnJvbSB0aGUgbGFzdCBT bGljZSBOQUxVKS4KPj4KPj4gV2UgY2FuJ3Qgc3RvcmUgdmFsdWVzIHJlYWQgZnJvbSB0aGUgYml0 c3RyZWFtIHRoZXJlLCBzaW5jZSBpZiB0aGV5IGFyZQo+PiBvdmVyd3JpdHRlbiwgdGhlbiB0aGV5 IHdpbGwgYmUgdW5hdmFpbGFibGUgdG8gY2FsbGVycy4gSXQncyBvbmx5IG1lYW50Cj4+IHRvIHN0 b3JlIHBvaW50ZXJzIGFuZCByZWZlcmVuY2VzIHRvIHZhbHVlcyBhbmQgc3RydWN0cyBzdG9yZWQg aW4gdW5pdHMKPj4gd2l0aGluIHRoZSBmcmFnbWVudCwgb3IgZGVyaXZlZCB2YWx1ZXMuCj4+Cj4g QWxsIHNsaWNlcyBpbiBvbmUgcGljdHVyZSB3aWxsIGhhdmUgdGhlIHNhbWUgcGljdHVyZSBoZWFk ZXIgY29udGVudC4KPiBpZiBzaF9waWN0dXJlX2hlYWRlcl9pbl9zbGljZV9oZWFkZXJfZmxhZyAg PT0gMCwgd2Ugb25seSBoYXZlIG9uZSBQSCBOQUwuCj4gc28gd2Ugd2lsbCBub3Qgb3ZlcndyaXRl Lgo+IGlmIHNoX3BpY3R1cmVfaGVhZGVyX2luX3NsaWNlX2hlYWRlcl9mbGFnICA9PSAxLCB3ZSBv bmx5IG5lZWQgdG8gcGFyc2UgdGhlCj4gUEggaW4gdGhlIGZpcnN0IHNsaWNlLCB0aGVuIHVzZSBt ZW1jcHkgdG8gZG8gYSBzYW5pdHkgY2hlY2sgZm9yIGxhdGVyCj4gc2xpY2VzLgoKV2UgbmVlZCB0 byBwYXJzZSB0aGUgZW50aXJlIHNsaWNlIGhlYWRlciBpbiBhbGwgY2FzZXMsIHBpY3R1cmUgaGVh ZGVyIAppbmNsdWRlZCBpZiBwcmVzZW50LCB0byBhZHZhbmNlIHRoZSBnZXRiaXRjb250ZXh0IGFu ZCByZWFjaCB0aGUgCmZvbGxvd2luZyBmaWVsZHMuCgo+IAo+IEJUVywgZG8gd2UgbmVlZCBjb25z dGlmeSB0aGUgcmF3IHZwcywgc3BzLCBwcHMgYW5kIHBoCj4gaW4gQ29kZWRCaXRzdHJlYW1IMjY2 Q29udGV4dAoKWWVhaCwgcHJvYmFibHkgYSBnb29kIGlkZWEuCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZt cGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8v ZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwK ZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJl Ii4K