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 ESMTPS id 8952E4C1BD for ; Sat, 8 Mar 2025 08:03:03 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C0EE468F3D9; Sat, 8 Mar 2025 10:02:59 +0200 (EET) Received: from smtp.waider.ie (smtp.waider.ie [52.31.250.228]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7B1D168DCA2 for ; Sat, 8 Mar 2025 10:02:53 +0200 (EET) Received: from smtpclient.apple (unknown [109.255.224.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.waider.ie (Postfix) with ESMTPSA id 80C514938F for ; Sat, 8 Mar 2025 08:02:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=waider.ie; s=waider_ie; t=1741420972; bh=hPQ2DTqmOAIuSWRxYxQKsQ5fmf2LwW9gE1g+ap/uPuA=; h=Content-Type:Mime-Version:Subject:To:From:In-Reply-To:Date: Content-Transfer-Encoding:Message-Id:References; b=Ttjm0Z5oUuY2/ReEwSlj450HTo9l4fRpu/SVKC3zHgxLmw+56vNODvfLMqeJWYxeQ p6SXWiAq56JhueBHrbhDb/l0A02lWFPa6DcNSneBADpQYyeaus6KakCoPbVjtmXHI8 IuJAGpqk2bC2oZrPOYYbLtD/yi6JNOtZKbCb1szI= Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.400.131.1.6\)) To: FFmpeg development discussions and patches From: Ronan Waide In-Reply-To: Date: Sat, 8 Mar 2025 08:02:44 +0000 Message-Id: References: <20250302172331.57779-1-waider@waider.ie> Organization: Poor, at best X-Mailer: Apple Mail (2.3826.400.131.1.6) X-Spam-Status: No, score=-102.9 required=5.0 tests=ALL_TRUSTED,BAYES_00, USER_IN_WELCOMELIST,USER_IN_WHITELIST autolearn=ham autolearn_force=no version=3.4.3 X-Spam-Checker-Version: SpamAssassin 3.4.3 (2019-12-06) on ec2.waider.ie Subject: Re: [FFmpeg-devel] [PATCH v5] libavcodec/dvbsubenc.c: add a disable_2bpp option to work around some decoders. 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: Cgo+IE9uIDIgTWFyIDIwMjUsIGF0IDIwOjM4LCBTb2Z0IFdvcmtzIDxzb2Z0d29ya3otYXQtaG90 bWFpbC5jb21AZmZtcGVnLm9yZz4gd3JvdGU6Cj4gCj4gCj4gCj4+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tCj4+IEZyb206IGZmbXBlZy1kZXZlbCA8ZmZtcGVnLWRldmVsLWJvdW5jZXNAZmZt cGVnLm9yZz4gT24gQmVoYWxmIE9mIFJvbmFuCj4+IFdhaWRlCj4+IFNlbnQ6IFNvbm50YWcsIDIu IE3DpHJ6IDIwMjUgMTg6MjQKPj4gVG86IGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCj4+IENjOiBS b25hbiBXYWlkZSA8d2FpZGVyQHdhaWRlci5pZT4KPj4gU3ViamVjdDogW0ZGbXBlZy1kZXZlbF0g W1BBVENIIHY1XSBsaWJhdmNvZGVjL2R2YnN1YmVuYy5jOiBhZGQgYQo+PiBkaXNhYmxlXzJicHAg b3B0aW9uIHRvIHdvcmsgYXJvdW5kIHNvbWUgZGVjb2RlcnMuCj4+IAo+PiBBcyBub3RlZCBpbiB0 aGUgY29kZSBpbiBzZXZlcmFsIHBsYWNlcywgc29tZSBEVkIgc3VidGl0bGUgZGVjb2RlcnMKPj4g ZG9uJ3QgaGFuZGxlIDJicHAgY29sb3IuIFRoaXMgcGF0Y2ggYWRkcyBhIGRpc2FibGVfMmJwcCBv cHRpb24gd2hpY2gKPj4gZGlzYWJsZXMgdGhlIDJicHAgZm9ybWF0OyBzdWJ0aXRsZXMgd2hpY2gg d291bGQgdXNlIDJicHAgd2lsbCBiZSBidW1wZWQKPj4gdXAgdG8gNGJwcC4gUGVyIHN1Z2dlc3Rp b24gZnJvbSBzdywgZGlzYWJsZV8ycHAgZGVmYXVsdHMgdG8gdHJ1ZS4KPj4gCj4+IFNpZ25lZC1v ZmYtYnk6IFJvbmFuIFdhaWRlIDx3YWlkZXJAd2FpZGVyLmllPgo+PiAtLS0KPj4gZG9jL2VuY29k ZXJzLnRleGkgICAgICB8IDI3ICsrKysrKysrKysrKysrKysrCj4+IGxpYmF2Y29kZWMvZHZic3Vi ZW5jLmMgfCA2OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KPj4g MiBmaWxlcyBjaGFuZ2VkLCA3OCBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKPj4gCj4+ IGRpZmYgLS1naXQgYS9kb2MvZW5jb2RlcnMudGV4aSBiL2RvYy9lbmNvZGVycy50ZXhpCj4+IGlu ZGV4IGYzZmNjMWFhNjAuLjZlZTAwNjVjN2QgMTAwNjQ0Cj4+IC0tLSBhL2RvYy9lbmNvZGVycy50 ZXhpCj4+ICsrKyBiL2RvYy9lbmNvZGVycy50ZXhpCj4+IEBAIC00NDg0LDYgKzQ0ODQsMzMgQEAg UmVkdWNlcyBkZXRhaWwgYnV0IGF0dGVtcHRzIHRvIHByZXNlcnZlIGNvbG9yIGF0Cj4+IGV4dHJl bWVseSBsb3cgYml0cmF0ZXMuCj4+IEBjaGFwdGVyIFN1YnRpdGxlcyBFbmNvZGVycwo+PiBAYyBt YW4gYmVnaW4gU1VCVElUTEVTIEVOQ09ERVJTCj4+IAo+PiArQHNlY3Rpb24gZHZic3ViCj4+ICsK Pj4gK1RoaXMgY29kZWMgZW5jb2RlcyB0aGUgYml0bWFwIHN1YnRpdGxlIGZvcm1hdCB0aGF0IGlz IHVzZWQgaW4gRFZCCj4+ICticm9hZGNhc3RzIGFuZCByZWNvcmRpbmdzLiBUaGUgYml0bWFwcyBh cmUgdHlwaWNhbGx5IGVtYmVkZGVkIGluIGEKPj4gK2NvbnRhaW5lciBzdWNoIGFzIE1QRUctVFMg YXMgYSBzZXBhcmF0ZSBzdHJlYW0uCj4+ICsKPj4gK0BzdWJzZWN0aW9uIE9wdGlvbnMKPj4gKwo+ PiArQHRhYmxlIEBvcHRpb24KPj4gK0BpdGVtIGRpc2FibGVfMmJwcCBAdmFye2Jvb2xlYW59Cj4+ ICtEaXNhYmxlIHRoZSAyIGJpdHMtcGVyLXBpeGVsIGVuY29kaW5nIGZvcm1hdC4KPj4gKwo+PiAr RFZCIHN1cHBvcnRzIDIsIDQsIGFuZCA4IGJpdHMtcGVyLXBpeGVsIGNvbG9yIGxvb2t1cCB0YWJs ZXMuIEhvd2V2ZXIsCj4+ICtub3QgYWxsIHBsYXllcnMgc3VwcG9ydCBvciBwcm9wZXJseSBzdXBw b3J0IDIgYml0cy1wZXItcGl4ZWwsCj4+ICtyZXN1bHRpbmcgaW4gdW51c2FibGUgc3VidGl0bGVz Lgo+PiArQHRhYmxlIEBvcHRpb24KPj4gK0BpdGVtIDAKPj4gK1RoZSAyIGJpdHMtcGVyLXBpeGVs IGVuY29kaW5nIGZvcm1hdCB3aWxsIGJlIHVzZWQgZm9yIHN1YnRpdGxlcyB3aXRoIDQKPj4gK2Nv bG9ycyBvciBsZXNzLgo+PiArCj4+ICtAaXRlbSAxCj4+ICtUaGUgMiBiaXRzLXBlci1waXhlbCBl bmNvZGluZyBmb3JtYXQgd2lsbCBiZSBkaXNhYmxlZCwgYW5kIHN1YnRpdGxlcwo+PiArd2l0aCA0 IGNvbG9ycyBvciBsZXNzIHdpbGwgdXNlIGEgNCBiaXRzLXBlci1waXhlbCBmb3JtYXQuIChkZWZh dWx0KQo+PiArQGVuZCB0YWJsZQo+PiArCj4+ICtAZW5kIHRhYmxlCj4+ICsKPj4gQHNlY3Rpb24g ZHZkc3ViCj4+IAo+PiBUaGlzIGNvZGVjIGVuY29kZXMgdGhlIGJpdG1hcCBzdWJ0aXRsZSBmb3Jt YXQgdGhhdCBpcyB1c2VkIGluIERWRHMuCj4+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2R2YnN1 YmVuYy5jIGIvbGliYXZjb2RlYy9kdmJzdWJlbmMuYwo+PiBpbmRleCA4MjJlM2E1MzA5Li40ZGIy ZTFkZGRhIDEwMDY0NAo+PiAtLS0gYS9saWJhdmNvZGVjL2R2YnN1YmVuYy5jCj4+ICsrKyBiL2xp YmF2Y29kZWMvZHZic3ViZW5jLmMKPj4gQEAgLTIyLDkgKzIyLDEyIEBACj4+ICNpbmNsdWRlICJi eXRlc3RyZWFtLmgiCj4+ICNpbmNsdWRlICJjb2RlY19pbnRlcm5hbC5oIgo+PiAjaW5jbHVkZSAi bGliYXZ1dGlsL2NvbG9yc3BhY2UuaCIKPj4gKyNpbmNsdWRlICJsaWJhdnV0aWwvb3B0LmgiCj4+ IAo+PiB0eXBlZGVmIHN0cnVjdCBEVkJTdWJ0aXRsZUNvbnRleHQgewo+PiArICAgIEFWQ2xhc3Mg KiBjbGFzczsKPj4gICAgIGludCBvYmplY3RfdmVyc2lvbjsKPj4gKyAgICBpbnQgZGlzYWJsZV8y YnBwOwo+PiB9IERWQlN1YnRpdGxlQ29udGV4dDsKPj4gCj4+ICNkZWZpbmUgUFVUQklUUzIodmFs KVwKPj4gQEAgLTI3NCwxMyArMjc3LDE1IEBAIHN0YXRpYyBpbnQgZHZic3ViX2VuY29kZShBVkNv ZGVjQ29udGV4dCAqYXZjdHgsCj4+IHVpbnQ4X3QgKm91dGJ1ZiwgaW50IGJ1Zl9zaXplLAo+PiB7 Cj4+ICAgICBEVkJTdWJ0aXRsZUNvbnRleHQgKnMgPSBhdmN0eC0+cHJpdl9kYXRhOwo+PiAgICAg dWludDhfdCAqcSwgKnBzZWdfbGVuOwo+PiAtICAgIGludCBwYWdlX2lkLCByZWdpb25faWQsIGNs dXRfaWQsIG9iamVjdF9pZCwgaSwgYnBwX2luZGV4LAo+PiBwYWdlX3N0YXRlOwo+PiArICAgIGlu dCBwYWdlX2lkLCByZWdpb25faWQsIGNsdXRfaWQsIG9iamVjdF9pZCwgaSwgYnBwX2luZGV4LAo+ PiBwYWdlX3N0YXRlLCBtaW5fY29sb3JzOwo+PiAKPj4gCj4+ICAgICBxID0gb3V0YnVmOwo+PiAK Pj4gICAgIHBhZ2VfaWQgPSAxOwo+PiAKPj4gKyAgICBtaW5fY29sb3JzID0gcy0+ZGlzYWJsZV8y YnBwID8gMTYgOiAwOwo+PiArCj4+ICAgICBpZiAoaC0+bnVtX3JlY3RzICYmICFoLT5yZWN0cykK Pj4gICAgICAgICByZXR1cm4gQVZFUlJPUihFSU5WQUwpOwo+PiAKPj4gQEAgLTMyNiwxOCArMzMx LDIwIEBAIHN0YXRpYyBpbnQgZHZic3ViX2VuY29kZShBVkNvZGVjQ29udGV4dCAqYXZjdHgsCj4+ IHVpbnQ4X3QgKm91dGJ1ZiwgaW50IGJ1Zl9zaXplLAo+PiAKPj4gICAgIGlmIChoLT5udW1fcmVj dHMpIHsKPj4gICAgICAgICBmb3IgKGNsdXRfaWQgPSAwOyBjbHV0X2lkIDwgaC0+bnVtX3JlY3Rz OyBjbHV0X2lkKyspIHsKPj4gLSAgICAgICAgICAgIGlmIChidWZfc2l6ZSA8IDYgKyBoLT5yZWN0 c1tjbHV0X2lkXS0+bmJfY29sb3JzICogNikKPj4gKyAgICAgICAgICAgIGludCBuYl9jb2xvcnMg PSBGRk1BWChtaW5fY29sb3JzLCBoLT5yZWN0c1tjbHV0X2lkXS0KPj4+IG5iX2NvbG9ycyk7Cj4+ ICsKPj4gKyAgICAgICAgICAgIGlmIChidWZfc2l6ZSA8IDYgKyBuYl9jb2xvcnMgKiA2KQo+PiAg ICAgICAgICAgICAgICAgcmV0dXJuIEFWRVJST1JfQlVGRkVSX1RPT19TTUFMTDsKPj4gCj4+ICAg ICAgICAgICAgIC8qIENMVVQgc2VnbWVudCAqLwo+PiAKPj4gLSAgICAgICAgICAgIGlmIChoLT5y ZWN0c1tjbHV0X2lkXS0+bmJfY29sb3JzIDw9IDQpIHsKPj4gKyAgICAgICAgICAgIGlmIChuYl9j b2xvcnMgPD0gNCkgewo+PiAgICAgICAgICAgICAgICAgLyogMiBicHAsIHNvbWUgZGVjb2RlcnMg ZG8gbm90IHN1cHBvcnQgaXQgY29ycmVjdGx5ICovCj4+ICAgICAgICAgICAgICAgICBicHBfaW5k ZXggPSAwOwo+PiAtICAgICAgICAgICAgfSBlbHNlIGlmIChoLT5yZWN0c1tjbHV0X2lkXS0+bmJf Y29sb3JzIDw9IDE2KSB7Cj4+ICsgICAgICAgICAgICB9IGVsc2UgaWYgKG5iX2NvbG9ycyA8PSAx Nikgewo+PiAgICAgICAgICAgICAgICAgLyogNCBicHAsIHN0YW5kYXJkIGVuY29kaW5nICovCj4+ ICAgICAgICAgICAgICAgICBicHBfaW5kZXggPSAxOwo+PiAtICAgICAgICAgICAgfSBlbHNlIGlm IChoLT5yZWN0c1tjbHV0X2lkXS0+bmJfY29sb3JzIDw9IDI1Nikgewo+PiArICAgICAgICAgICAg fSBlbHNlIGlmIChuYl9jb2xvcnMgPD0gMjU2KSB7Cj4+ICAgICAgICAgICAgICAgICAvKiA4IGJw cCwgc3RhbmRhcmQgZW5jb2RpbmcgKi8KPj4gICAgICAgICAgICAgICAgIGJwcF9pbmRleCA9IDI7 Cj4+ICAgICAgICAgICAgIH0gZWxzZSB7Cj4+IEBAIC0zNTQsMTYgKzM2MSwyNCBAQCBzdGF0aWMg aW50IGR2YnN1Yl9lbmNvZGUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LAo+PiB1aW50OF90ICpvdXRi dWYsIGludCBidWZfc2l6ZSwKPj4gICAgICAgICAgICAgKnErKyA9IGNsdXRfaWQ7Cj4+ICAgICAg ICAgICAgICpxKysgPSAoMCA8PCA0KSB8IDB4ZjsgLyogdmVyc2lvbiA9IDAgKi8KPj4gCj4+IC0g ICAgICAgICAgICBmb3IoaSA9IDA7IGkgPCBoLT5yZWN0c1tjbHV0X2lkXS0+bmJfY29sb3JzOyBp KyspIHsKPj4gKyAgICAgICAgICAgIGZvcihpID0gMDsgaSA8IG5iX2NvbG9yczsgaSsrKSB7Cj4+ ICAgICAgICAgICAgICAgICAqcSsrID0gaTsgLyogY2x1dF9lbnRyeV9pZCAqLwo+PiAgICAgICAg ICAgICAgICAgKnErKyA9ICgxIDw8ICg3IC0gYnBwX2luZGV4KSkgfCAoMHhmIDw8IDEpIHwgMTsg LyogMgo+PiBiaXRzL3BpeGVsIGZ1bGwgcmFuZ2UgKi8KPj4gICAgICAgICAgICAgICAgIHsKPj4g ICAgICAgICAgICAgICAgICAgICBpbnQgYSwgciwgZywgYjsKPj4gLSAgICAgICAgICAgICAgICAg ICAgdWludDMyX3QgeD0gKCh1aW50MzJfdCopaC0+cmVjdHNbY2x1dF9pZF0tCj4+PiBkYXRhWzFd KVtpXTsKPj4gLSAgICAgICAgICAgICAgICAgICAgYSA9ICh4ID4+IDI0KSAmIDB4ZmY7Cj4+IC0g ICAgICAgICAgICAgICAgICAgIHIgPSAoeCA+PiAxNikgJiAweGZmOwo+PiAtICAgICAgICAgICAg ICAgICAgICBnID0gKHggPj4gIDgpICYgMHhmZjsKPj4gLSAgICAgICAgICAgICAgICAgICAgYiA9 ICh4ID4+ICAwKSAmIDB4ZmY7Cj4+ICsgICAgICAgICAgICAgICAgICAgIGlmIChpIDwgaC0+cmVj dHNbY2x1dF9pZF0tPm5iX2NvbG9ycykgewo+PiArICAgICAgICAgICAgICAgICAgICAgICAgdWlu dDMyX3QgeD0gKCh1aW50MzJfdCopaC0+cmVjdHNbY2x1dF9pZF0tCj4+PiBkYXRhWzFdKVtpXTsK Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGEgPSAoeCA+PiAyNCkgJiAweGZmOwo+PiArICAg ICAgICAgICAgICAgICAgICAgICAgciA9ICh4ID4+IDE2KSAmIDB4ZmY7Cj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICBnID0gKHggPj4gIDgpICYgMHhmZjsKPj4gKyAgICAgICAgICAgICAgICAg ICAgICAgIGIgPSAoeCA+PiAgMCkgJiAweGZmOwo+PiArICAgICAgICAgICAgICAgICAgICB9IGVs c2Ugewo+PiArICAgICAgICAgICAgICAgICAgICAgICAgLyogcGFkIG91dCB0aGUgQ0xVVCAqLwo+ PiArICAgICAgICAgICAgICAgICAgICAgICAgYSA9IDA7Cj4+ICsgICAgICAgICAgICAgICAgICAg ICAgICByID0gMDsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGcgPSAwOwo+PiArICAgICAg ICAgICAgICAgICAgICAgICAgYiA9IDA7Cj4+ICsgICAgICAgICAgICAgICAgICAgIH0KPj4gCj4+ ICAgICAgICAgICAgICAgICAgICAgKnErKyA9IFJHQl9UT19ZX0NDSVIociwgZywgYik7Cj4+ICAg ICAgICAgICAgICAgICAgICAgKnErKyA9IFJHQl9UT19WX0NDSVIociwgZywgYiwgMCk7Cj4+IEBA IC0zNzMsNyArMzg4LDcgQEAgc3RhdGljIGludCBkdmJzdWJfZW5jb2RlKEFWQ29kZWNDb250ZXh0 ICphdmN0eCwKPj4gdWludDhfdCAqb3V0YnVmLCBpbnQgYnVmX3NpemUsCj4+ICAgICAgICAgICAg IH0KPj4gCj4+ICAgICAgICAgICAgIGJ5dGVzdHJlYW1fcHV0X2JlMTYoJnBzZWdfbGVuLCBxIC0g cHNlZ19sZW4gLSAyKTsKPj4gLSAgICAgICAgICAgIGJ1Zl9zaXplIC09IDYgKyBoLT5yZWN0c1tj bHV0X2lkXS0+bmJfY29sb3JzICogNjsKPj4gKyAgICAgICAgICAgIGJ1Zl9zaXplIC09IDYgKyBu Yl9jb2xvcnMgKiA2Owo+PiAgICAgICAgIH0KPj4gCj4+ICAgICAgICAgaWYgKGJ1Zl9zaXplIDwg aC0+bnVtX3JlY3RzICogMjIpCj4+IEBAIC0zODEsMTQgKzM5NiwxNSBAQCBzdGF0aWMgaW50IGR2 YnN1Yl9lbmNvZGUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LAo+PiB1aW50OF90ICpvdXRidWYsIGlu dCBidWZfc2l6ZSwKPj4gICAgICAgICBmb3IgKHJlZ2lvbl9pZCA9IDA7IHJlZ2lvbl9pZCA8IGgt Pm51bV9yZWN0czsgcmVnaW9uX2lkKyspIHsKPj4gCj4+ICAgICAgICAgICAgIC8qIHJlZ2lvbiBj b21wb3NpdGlvbiBzZWdtZW50ICovCj4+ICsgICAgICAgICAgICBpbnQgbmJfY29sb3JzID0gRkZN QVgobWluX2NvbG9ycywgaC0+cmVjdHNbcmVnaW9uX2lkXS0KPj4+IG5iX2NvbG9ycyk7Cj4+IAo+ PiAtICAgICAgICAgICAgaWYgKGgtPnJlY3RzW3JlZ2lvbl9pZF0tPm5iX2NvbG9ycyA8PSA0KSB7 Cj4+ICsgICAgICAgICAgICBpZiAobmJfY29sb3JzIDw9IDQpIHsKPj4gICAgICAgICAgICAgICAg IC8qIDIgYnBwLCBzb21lIGRlY29kZXJzIGRvIG5vdCBzdXBwb3J0IGl0IGNvcnJlY3RseSAqLwo+ PiAgICAgICAgICAgICAgICAgYnBwX2luZGV4ID0gMDsKPj4gLSAgICAgICAgICAgIH0gZWxzZSBp ZiAoaC0+cmVjdHNbcmVnaW9uX2lkXS0+bmJfY29sb3JzIDw9IDE2KSB7Cj4+ICsgICAgICAgICAg ICB9IGVsc2UgaWYgKG5iX2NvbG9ycyA8PSAxNikgewo+PiAgICAgICAgICAgICAgICAgLyogNCBi cHAsIHN0YW5kYXJkIGVuY29kaW5nICovCj4+ICAgICAgICAgICAgICAgICBicHBfaW5kZXggPSAx Owo+PiAtICAgICAgICAgICAgfSBlbHNlIGlmIChoLT5yZWN0c1tyZWdpb25faWRdLT5uYl9jb2xv cnMgPD0gMjU2KSB7Cj4+ICsgICAgICAgICAgICB9IGVsc2UgaWYgKG5iX2NvbG9ycyA8PSAyNTYp IHsKPj4gICAgICAgICAgICAgICAgIC8qIDggYnBwLCBzdGFuZGFyZCBlbmNvZGluZyAqLwo+PiAg ICAgICAgICAgICAgICAgYnBwX2luZGV4ID0gMjsKPj4gICAgICAgICAgICAgfSBlbHNlIHsKPj4g QEAgLTQyNCwxNyArNDQwLDE5IEBAIHN0YXRpYyBpbnQgZHZic3ViX2VuY29kZShBVkNvZGVjQ29u dGV4dCAqYXZjdHgsCj4+IHVpbnQ4X3QgKm91dGJ1ZiwgaW50IGJ1Zl9zaXplLAo+PiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqYml0bWFwLCBpbnQgbGlu ZXNpemUsCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywgaW50IGgp Owo+PiAKPj4gKyAgICAgICAgICAgIGludCBuYl9jb2xvcnMgPSBGRk1BWChtaW5fY29sb3JzLCBo LT5yZWN0c1tvYmplY3RfaWRdLQo+Pj4gbmJfY29sb3JzKTsKPj4gKwo+PiAgICAgICAgICAgICBp ZiAoYnVmX3NpemUgPCAxMykKPj4gICAgICAgICAgICAgICAgIHJldHVybiBBVkVSUk9SX0JVRkZF Ul9UT09fU01BTEw7Cj4+IAo+PiAgICAgICAgICAgICAvKiBicHBfaW5kZXggbWF0aHMgKi8KPj4g LSAgICAgICAgICAgIGlmIChoLT5yZWN0c1tvYmplY3RfaWRdLT5uYl9jb2xvcnMgPD0gNCkgewo+ PiArICAgICAgICAgICAgaWYgKG5iX2NvbG9ycyA8PSA0KSB7Cj4+ICAgICAgICAgICAgICAgICAv KiAyIGJwcCwgc29tZSBkZWNvZGVycyBkbyBub3Qgc3VwcG9ydCBpdCBjb3JyZWN0bHkgKi8KPj4g ICAgICAgICAgICAgICAgIGR2Yl9lbmNvZGVfcmxlID0gZHZiX2VuY29kZV9ybGUyOwo+PiAtICAg ICAgICAgICAgfSBlbHNlIGlmIChoLT5yZWN0c1tvYmplY3RfaWRdLT5uYl9jb2xvcnMgPD0gMTYp IHsKPj4gKyAgICAgICAgICAgIH0gZWxzZSBpZiAobmJfY29sb3JzIDw9IDE2KSB7Cj4+ICAgICAg ICAgICAgICAgICAvKiA0IGJwcCwgc3RhbmRhcmQgZW5jb2RpbmcgKi8KPj4gICAgICAgICAgICAg ICAgIGR2Yl9lbmNvZGVfcmxlID0gZHZiX2VuY29kZV9ybGU0Owo+PiAtICAgICAgICAgICAgfSBl bHNlIGlmIChoLT5yZWN0c1tvYmplY3RfaWRdLT5uYl9jb2xvcnMgPD0gMjU2KSB7Cj4+ICsgICAg ICAgICAgICB9IGVsc2UgaWYgKG5iX2NvbG9ycyA8PSAyNTYpIHsKPj4gICAgICAgICAgICAgICAg IC8qIDggYnBwLCBzdGFuZGFyZCBlbmNvZGluZyAqLwo+PiAgICAgICAgICAgICAgICAgZHZiX2Vu Y29kZV9ybGUgPSBkdmJfZW5jb2RlX3JsZTg7Cj4+ICAgICAgICAgICAgIH0gZWxzZSB7Cj4+IEBA IC01MDYsNiArNTI0LDIwIEBAIHN0YXRpYyBpbnQgZHZic3ViX2VuY29kZShBVkNvZGVjQ29udGV4 dCAqYXZjdHgsCj4+IHVpbnQ4X3QgKm91dGJ1ZiwgaW50IGJ1Zl9zaXplLAo+PiAgICAgcmV0dXJu IHEgLSBvdXRidWY7Cj4+IH0KPj4gCj4+ICsjZGVmaW5lIE9GRlNFVCh4KSBvZmZzZXRvZihEVkJT dWJ0aXRsZUNvbnRleHQsIHgpCj4+ICsjZGVmaW5lIFNFIEFWX09QVF9GTEFHX1NVQlRJVExFX1BB UkFNIHwgQVZfT1BUX0ZMQUdfRU5DT0RJTkdfUEFSQU0KPj4gK3N0YXRpYyBjb25zdCBBVk9wdGlv biBvcHRpb25zW10gPSB7Cj4+ICsgICAgeyJkaXNhYmxlXzJicHAiLCAiZGlzYWJsZSB0aGUgMmJw cCBzdWJ0aXRsZSBlbmNvZGVyIiwKPj4gT0ZGU0VUKGRpc2FibGVfMmJwcCksIEFWX09QVF9UWVBF X0JPT0wsIHsuaTY0ID0gMX0sIDAsIDEsIFNFfSwKPj4gKyAgICB7IE5VTEwgfSwKPj4gK307Cj4+ ICsKPj4gK3N0YXRpYyBjb25zdCBBVkNsYXNzIGR2YnN1YmVuY19jbGFzcyA9IHsKPj4gKyAgICAu Y2xhc3NfbmFtZSA9ICJEVkJTVUIgc3VidGl0bGUgZW5jb2RlciIsCj4+ICsgICAgLml0ZW1fbmFt ZSAgPSBhdl9kZWZhdWx0X2l0ZW1fbmFtZSwKPj4gKyAgICAub3B0aW9uICAgICA9IG9wdGlvbnMs Cj4+ICsgICAgLnZlcnNpb24gICAgPSBMSUJBVlVUSUxfVkVSU0lPTl9JTlQsCj4+ICt9Owo+PiAr Cj4+IGNvbnN0IEZGQ29kZWMgZmZfZHZic3ViX2VuY29kZXIgPSB7Cj4+ICAgICAucC5uYW1lICAg ICAgICAgPSAiZHZic3ViIiwKPj4gICAgIENPREVDX0xPTkdfTkFNRSgiRFZCIHN1YnRpdGxlcyIp LAo+PiBAQCAtNTEzLDQgKzU0NSw1IEBAIGNvbnN0IEZGQ29kZWMgZmZfZHZic3ViX2VuY29kZXIg PSB7Cj4+ICAgICAucC5pZCAgICAgICAgICAgPSBBVl9DT0RFQ19JRF9EVkJfU1VCVElUTEUsCj4+ ICAgICAucHJpdl9kYXRhX3NpemUgPSBzaXplb2YoRFZCU3VidGl0bGVDb250ZXh0KSwKPj4gICAg IEZGX0NPREVDX0VOQ09ERV9TVUJfQ0IoZHZic3ViX2VuY29kZSksCj4+ICsgICAgLnAucHJpdl9j bGFzcyAgID0gJmR2YnN1YmVuY19jbGFzcywKPj4gfTsKPj4gLS0KPiAKPiBUZXN0ZWQgJiBMR1RN Cj4gCj4gVGhhbmtzIGZvciB0aGUgcGF0Y2ghCgpIZWxsbywKCm51ZGdpbmcgb24gdGhpcyAtIGRv ZXMgaXQgbmVlZCBhbnkgbW9yZSB3b3JrLCBvciB3aWxsIGl0IGJlIG1lcmdlZD8KCkNoZWVycywK V2FpZGVyLgotLSAKUm9uYW4gV2FpZGUKd2FpZGVyQHdhaWRlci5pZQoKCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcg bGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9s aXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBv ciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5z dWJzY3JpYmUiLgo=