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 6753C4261F for ; Sun, 24 Apr 2022 17:28:49 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B601968AE99; Sun, 24 Apr 2022 20:28:46 +0300 (EEST) Received: from shout02.mail.de (shout02.mail.de [62.201.172.25]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9EC7A68A3F4 for ; Sun, 24 Apr 2022 20:28:40 +0300 (EEST) Received: from postfix03.mail.de (postfix03.bt.mail.de [10.0.121.127]) by shout02.mail.de (Postfix) with ESMTP id 3A289A0D03 for ; Sun, 24 Apr 2022 19:28:40 +0200 (CEST) Received: from smtp04.mail.de (smtp04.bt.mail.de [10.0.121.214]) by postfix03.mail.de (Postfix) with ESMTP id 1EAAA80127 for ; Sun, 24 Apr 2022 19:28:40 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mail.de; s=mailde202009; t=1650821320; bh=8Xg0VkY5kfZ/k7iw/0J1Vzq3aW4/JdNiEyekF7MrHrE=; h=Message-ID:Date:Subject:To:From:From:To:CC:Subject:Reply-To; b=zh8giMP0+9l0LUDwuR/Y6GjV60IqPJ+1EHl1qA6hLNzSv3dt0B4yCEuedP88woCLh 2s5yOcC70xsBNG3GttUtE0yuYzjLA+5Qbld6ywAe/Oax7AmsPBiVM9Q9cydSuzh+nA ROgenxNvEN9kLOUTiv6BHuMPBhDEbs89ASdyIf8cCYQOE00amM9i3FAkBeC2vzd8j1 hNRPi4WS9OrBQsLtlE/KGqWws24dxXfaN0PyhUD7Wb/bfw3UrALnsBGviwzhNcwudN uy21Ie93VIgBZh0o8sSbdSlfOfSL6fLApY6QhRIGBhS9Eu6AB5wjjtv3vUQikALDMb eY//10P5aIz9g== Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by smtp04.mail.de (Postfix) with ESMTPSA id EC149C003B for ; Sun, 24 Apr 2022 19:28:37 +0200 (CEST) Content-Type: multipart/mixed; boundary="------------VF5EHi64MlDLxKC6Bf3osa36" Message-ID: <9c0ddee4-1740-f951-18d8-532026410783@mail.de> Date: Sun, 24 Apr 2022 19:28:36 +0200 MIME-Version: 1.0 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <00ca6f6f-fc18-8b6b-1ff0-f24db7f3714b@mail.de> <6ef64d28-6f3a-93f5-5f72-29e40fc73e86@mail.de> <8a6f5d41-c68a-5076-2f6b-932637ccb691@mail.de> From: Thilo Borgmann In-Reply-To: X-purgate: clean X-purgate: This mail is considered clean (visit http://www.eleven.de for further information) X-purgate-type: clean X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de X-purgate: This mail is considered clean (visit http://www.eleven.de for further information) X-purgate: clean X-purgate-size: 56806 X-purgate-ID: 154282::1650821319-000016C9-31B0466B/0/0 Subject: Re: [FFmpeg-devel] [PATCH 2/2] lavfi: Add blurriness filter 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: This is a multi-part message in MIME format. --------------VF5EHi64MlDLxKC6Bf3osa36 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Am 23.04.22 um 15:32 schrieb Thilo Borgmann: > Hi, > >>>>> v3 updated to current HEAD. >>>>> >>>>> Named blurdetect filter now. >>>>> Minor fixes on allocation and removed -f option. >>>>> >>>> >>>> Please make this per plane filtering, with default to measure only first >>>> plane. >>> >>> done in v4. >>> >>> (Will add Changelog, version.h and fate test once the filter itself looks ok) >> >> Ping. > > v5 according to IRC comments. v6 (1/2 and 2/2) according to IRC comments. LGTM'd there, applying soon. Added Changelog, version.h, FATE. Thanks! Thilo --------------VF5EHi64MlDLxKC6Bf3osa36 Content-Type: text/plain; charset=UTF-8; name="v6-0001-lafi-vf_edgedetect-Move-some-common-functions-int.patch" Content-Disposition: attachment; filename*0="v6-0001-lafi-vf_edgedetect-Move-some-common-functions-int.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBjOTAxMjAyNTViZmYzMDVjZTc2Yzc2NzdjOTA2M2Q5NGMzYmI5OWY3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUaGlsbyBCb3JnbWFubiA8dGhpbG8uYm9yZ21hbm5A bWFpbC5kZT4KRGF0ZTogVHVlLCAzMCBOb3YgMjAyMSAwMDoxNjo1MiArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggdjYgMS8yXSBsYWZpL3ZmX2VkZ2VkZXRlY3Q6IE1vdmUgc29tZSBjb21tb24g ZnVuY3Rpb25zIGludG8KIHNlcGVyYXRlIGZpbGUKCi0tLQogbGliYXZmaWx0ZXIvTWFrZWZp bGUgICAgICAgIHwgICAyICstCiBsaWJhdmZpbHRlci9lZGdlX2NvbW1vbi5jICAgfCAxODEg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGxpYmF2ZmlsdGVyL2VkZ2Vf Y29tbW9uLmggICB8IDEwNyArKysrKysrKysrKysrKysrKysrKysKIGxpYmF2ZmlsdGVyL3Zm X2VkZ2VkZXRlY3QuYyB8IDE4MyArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KIDQgZmlsZXMgY2hhbmdlZCwgMjk2IGluc2VydGlvbnMoKyksIDE3NyBkZWxldGlvbnMo LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJhdmZpbHRlci9lZGdlX2NvbW1vbi5jCiBjcmVh dGUgbW9kZSAxMDA2NDQgbGliYXZmaWx0ZXIvZWRnZV9jb21tb24uaAoKZGlmZiAtLWdpdCBh L2xpYmF2ZmlsdGVyL01ha2VmaWxlIGIvbGliYXZmaWx0ZXIvTWFrZWZpbGUKaW5kZXggMzI1 MjFhNDgzNi4uMzhjYTM3OWU1YSAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvTWFrZWZpbGUK KysrIGIvbGliYXZmaWx0ZXIvTWFrZWZpbGUKQEAgLTI2Niw3ICsyNjYsNyBAQCBPQkpTLSQo Q09ORklHX0RSQVdCT1hfRklMVEVSKSAgICAgICAgICAgICAgICArPSB2Zl9kcmF3Ym94Lm8K IE9CSlMtJChDT05GSUdfRFJBV0dSQVBIX0ZJTFRFUikgICAgICAgICAgICAgICs9IGZfZHJh d2dyYXBoLm8KIE9CSlMtJChDT05GSUdfRFJBV0dSSURfRklMVEVSKSAgICAgICAgICAgICAg ICs9IHZmX2RyYXdib3gubwogT0JKUy0kKENPTkZJR19EUkFXVEVYVF9GSUxURVIpICAgICAg ICAgICAgICAgKz0gdmZfZHJhd3RleHQubwotT0JKUy0kKENPTkZJR19FREdFREVURUNUX0ZJ TFRFUikgICAgICAgICAgICAgKz0gdmZfZWRnZWRldGVjdC5vCitPQkpTLSQoQ09ORklHX0VE R0VERVRFQ1RfRklMVEVSKSAgICAgICAgICAgICArPSB2Zl9lZGdlZGV0ZWN0Lm8gZWRnZV9j b21tb24ubwogT0JKUy0kKENPTkZJR19FTEJHX0ZJTFRFUikgICAgICAgICAgICAgICAgICAg Kz0gdmZfZWxiZy5vCiBPQkpTLSQoQ09ORklHX0VOVFJPUFlfRklMVEVSKSAgICAgICAgICAg ICAgICArPSB2Zl9lbnRyb3B5Lm8KIE9CSlMtJChDT05GSUdfRVBYX0ZJTFRFUikgICAgICAg ICAgICAgICAgICAgICs9IHZmX2VweC5vCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9lZGdl X2NvbW1vbi5jIGIvbGliYXZmaWx0ZXIvZWRnZV9jb21tb24uYwpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwLi5kNzJlODUyMWNkCi0tLSAvZGV2L251bGwKKysrIGIv bGliYXZmaWx0ZXIvZWRnZV9jb21tb24uYwpAQCAtMCwwICsxLDE4MSBAQAorLyoKKyAqIFRo aXMgZmlsZSBpcyBwYXJ0IG9mIEZGbXBlZy4KKyAqCisgKiBGRm1wZWcgaXMgZnJlZSBzb2Z0 d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNl bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo ZXIKKyAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p IGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIEZGbXBlZyBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0 aGUgR05VCisgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO VSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCBGRm1wZWc7 IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIElu Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAt MTMwMSBVU0EKKyAqLworCisjaW5jbHVkZSAiZWRnZV9jb21tb24uaCIKKworLy8gSW50ZXJu YWwgaGVscGVyIGZvciBmZl9zb2JlbCgpCitzdGF0aWMgaW50IGdldF9yb3VuZGVkX2RpcmVj dGlvbihpbnQgZ3gsIGludCBneSkKK3sKKyAgICAvKiByZWZlcmVuY2UgYW5nbGVzOgorICAg ICAqICAgdGFuKCBwaS84KSA9IHNxcnQoMiktMQorICAgICAqICAgdGFuKDNwaS84KSA9IHNx cnQoMikrMQorICAgICAqIEd5L0d4IGlzIHRoZSB0YW5nZW50IG9mIHRoZSBhbmdsZSAodGhl dGEpLCBzbyBHeS9HeCBpcyBjb21wYXJlZCBhZ2FpbnN0CisgICAgICogPHJlZi1hbmdsZT4s IG9yIG1vcmUgc2ltcGx5IEd5IGFnYWluc3QgPHJlZi1hbmdsZT4qR3gKKyAgICAgKgorICAg ICAqIEd4IGFuZCBHeSBib3VuZHMgPSBbLTEwMjA7MTAyMF0sIHVzaW5nIDE2LWJpdCBhcml0 aG1ldGljOgorICAgICAqICAgcm91bmQoKHNxcnQoMiktMSkgKiAoMTw8MTYpKSA9ICAyNzE0 NgorICAgICAqICAgcm91bmQoKHNxcnQoMikrMSkgKiAoMTw8MTYpKSA9IDE1ODIxOAorICAg ICAqLworICAgIGlmIChneCkgeworICAgICAgICBpbnQgdGFucGk4Z3gsIHRhbjNwaThneDsK KworICAgICAgICBpZiAoZ3ggPCAwKQorICAgICAgICAgICAgZ3ggPSAtZ3gsIGd5ID0gLWd5 OworICAgICAgICBneSAqPSAoMSA8PCAxNik7CisgICAgICAgIHRhbnBpOGd4ICA9ICAyNzE0 NiAqIGd4OworICAgICAgICB0YW4zcGk4Z3ggPSAxNTgyMTggKiBneDsKKyAgICAgICAgaWYg KGd5ID4gLXRhbjNwaThneCAmJiBneSA8IC10YW5waThneCkgIHJldHVybiBESVJFQ1RJT05f NDVVUDsKKyAgICAgICAgaWYgKGd5ID4gLXRhbnBpOGd4ICAmJiBneSA8ICB0YW5waThneCkg IHJldHVybiBESVJFQ1RJT05fSE9SSVpPTlRBTDsKKyAgICAgICAgaWYgKGd5ID4gIHRhbnBp OGd4ICAmJiBneSA8ICB0YW4zcGk4Z3gpIHJldHVybiBESVJFQ1RJT05fNDVET1dOOworICAg IH0KKyAgICByZXR1cm4gRElSRUNUSU9OX1ZFUlRJQ0FMOworfQorCisvLyBTaW1wbGUgc29i ZWwgb3BlcmF0b3IgdG8gZ2V0IHJvdW5kZWQgZ3JhZGllbnRzCit2b2lkIGZmX3NvYmVsKGlu dCB3LCBpbnQgaCwKKyAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgKmRzdCwgaW50IGRz dF9saW5lc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgaW50OF90ICpkaXIsIGludCBkaXJf bGluZXNpemUsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50 IHNyY19saW5lc2l6ZSkKK3sKKyAgICBpbnQgaSwgajsKKworICAgIGZvciAoaiA9IDE7IGog PCBoIC0gMTsgaisrKSB7CisgICAgICAgIGRzdCArPSBkc3RfbGluZXNpemU7CisgICAgICAg IGRpciArPSBkaXJfbGluZXNpemU7CisgICAgICAgIHNyYyArPSBzcmNfbGluZXNpemU7Cisg ICAgICAgIGZvciAoaSA9IDE7IGkgPCB3IC0gMTsgaSsrKSB7CisgICAgICAgICAgICBjb25z dCBpbnQgZ3ggPQorICAgICAgICAgICAgICAgIC0xKnNyY1stc3JjX2xpbmVzaXplICsgaS0x XSArIDEqc3JjWy1zcmNfbGluZXNpemUgKyBpKzFdCisgICAgICAgICAgICAgICAgLTIqc3Jj WyAgICAgICAgICAgICAgICBpLTFdICsgMipzcmNbICAgICAgICAgICAgICAgIGkrMV0KKyAg ICAgICAgICAgICAgICAtMSpzcmNbIHNyY19saW5lc2l6ZSArIGktMV0gKyAxKnNyY1sgc3Jj X2xpbmVzaXplICsgaSsxXTsKKyAgICAgICAgICAgIGNvbnN0IGludCBneSA9CisgICAgICAg ICAgICAgICAgLTEqc3JjWy1zcmNfbGluZXNpemUgKyBpLTFdICsgMSpzcmNbIHNyY19saW5l c2l6ZSArIGktMV0KKyAgICAgICAgICAgICAgICAtMipzcmNbLXNyY19saW5lc2l6ZSArIGkg IF0gKyAyKnNyY1sgc3JjX2xpbmVzaXplICsgaSAgXQorICAgICAgICAgICAgICAgIC0xKnNy Y1stc3JjX2xpbmVzaXplICsgaSsxXSArIDEqc3JjWyBzcmNfbGluZXNpemUgKyBpKzFdOwor CisgICAgICAgICAgICBkc3RbaV0gPSBGRkFCUyhneCkgKyBGRkFCUyhneSk7CisgICAgICAg ICAgICBkaXJbaV0gPSBnZXRfcm91bmRlZF9kaXJlY3Rpb24oZ3gsIGd5KTsKKyAgICAgICAg fQorICAgIH0KK30KKworLy8gRmlsdGVycyByb3VuZGVkIGdyYWRpZW50cyB0byBkcm9wIGFs bCBub24tbWF4aW1hCisvLyBFeHBlY3RzIGdyYWRpZW50cyBnZW5lcmF0ZWQgYnkgZmZfc29i ZWwoKQorLy8gRXhwZWN0cyB6ZXJvJ3MgZGVzdGluYXRpb24gYnVmZmVyCit2b2lkIGZmX25v bl9tYXhpbXVtX3N1cHByZXNzaW9uKGludCB3LCBpbnQgaCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0LCBpbnQgZHN0X2xpbmVzaXplLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQ4X3QgKmRp ciwgaW50IGRpcl9saW5lc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3QgdWludDE2X3QgKnNyYywgaW50IHNyY19saW5lc2l6ZSkKK3sKKyAgICBp bnQgaSwgajsKKworI2RlZmluZSBDT1BZX01BWElNQShheSwgYXgsIGJ5LCBieCkgZG8geyAg ICAgICAgICAgICAgICBcCisgICAgaWYgKHNyY1tpXSA+IHNyY1soYXkpKnNyY19saW5lc2l6 ZSArIGkrKGF4KV0gJiYgICAgIFwKKyAgICAgICAgc3JjW2ldID4gc3JjWyhieSkqc3JjX2xp bmVzaXplICsgaSsoYngpXSkgICAgICAgXAorICAgICAgICBkc3RbaV0gPSBhdl9jbGlwX3Vp bnQ4KHNyY1tpXSk7ICAgICAgICAgICAgICAgICBcCit9IHdoaWxlICgwKQorCisgICAgZm9y IChqID0gMTsgaiA8IGggLSAxOyBqKyspIHsKKyAgICAgICAgZHN0ICs9IGRzdF9saW5lc2l6 ZTsKKyAgICAgICAgZGlyICs9IGRpcl9saW5lc2l6ZTsKKyAgICAgICAgc3JjICs9IHNyY19s aW5lc2l6ZTsKKyAgICAgICAgZm9yIChpID0gMTsgaSA8IHcgLSAxOyBpKyspIHsKKyAgICAg ICAgICAgIHN3aXRjaCAoZGlyW2ldKSB7CisgICAgICAgICAgICBjYXNlIERJUkVDVElPTl80 NVVQOiAgICAgICAgQ09QWV9NQVhJTUEoIDEsIC0xLCAtMSwgIDEpOyBicmVhazsKKyAgICAg ICAgICAgIGNhc2UgRElSRUNUSU9OXzQ1RE9XTjogICAgICBDT1BZX01BWElNQSgtMSwgLTEs ICAxLCAgMSk7IGJyZWFrOworICAgICAgICAgICAgY2FzZSBESVJFQ1RJT05fSE9SSVpPTlRB TDogIENPUFlfTUFYSU1BKCAwLCAtMSwgIDAsICAxKTsgYnJlYWs7CisgICAgICAgICAgICBj YXNlIERJUkVDVElPTl9WRVJUSUNBTDogICAgQ09QWV9NQVhJTUEoLTEsICAwLCAgMSwgIDAp OyBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KK30KKworLy8gRmls dGVyIHRvIGtlZXAgYWxsIHBpeGVscyA+IGhpZ2gsIGFuZCBrZWVwIGFsbCBwaXhlbHMgPiBs b3cgd2hlcmUgYWxsIHN1cnJvdW5kaW5nIHBpeGVscyA+IGhpZ2gKK3ZvaWQgZmZfZG91Ymxl X3RocmVzaG9sZChpbnQgbG93LCBpbnQgaGlnaCwgaW50IHcsIGludCBoLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmRzdCwgaW50IGRzdF9saW5lc2l6ZSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpzcmMsIGlu dCBzcmNfbGluZXNpemUpCit7CisgICAgaW50IGksIGo7CisKKyAgICBmb3IgKGogPSAwOyBq IDwgaDsgaisrKSB7CisgICAgICAgIGZvciAoaSA9IDA7IGkgPCB3OyBpKyspIHsKKyAgICAg ICAgICAgIGlmIChzcmNbaV0gPiBoaWdoKSB7CisgICAgICAgICAgICAgICAgZHN0W2ldID0g c3JjW2ldOworICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQorCisg ICAgICAgICAgICBpZiAoISghaSB8fCBpID09IHcgLSAxIHx8ICFqIHx8IGogPT0gaCAtIDEp ICYmCisgICAgICAgICAgICAgICAgc3JjW2ldID4gbG93ICYmCisgICAgICAgICAgICAgICAg KHNyY1stc3JjX2xpbmVzaXplICsgaS0xXSA+IGhpZ2ggfHwKKyAgICAgICAgICAgICAgICAg c3JjWy1zcmNfbGluZXNpemUgKyBpICBdID4gaGlnaCB8fAorICAgICAgICAgICAgICAgICBz cmNbLXNyY19saW5lc2l6ZSArIGkrMV0gPiBoaWdoIHx8CisgICAgICAgICAgICAgICAgIHNy Y1sgICAgICAgICAgICAgICAgaS0xXSA+IGhpZ2ggfHwKKyAgICAgICAgICAgICAgICAgc3Jj WyAgICAgICAgICAgICAgICBpKzFdID4gaGlnaCB8fAorICAgICAgICAgICAgICAgICBzcmNb IHNyY19saW5lc2l6ZSArIGktMV0gPiBoaWdoIHx8CisgICAgICAgICAgICAgICAgIHNyY1sg c3JjX2xpbmVzaXplICsgaSAgXSA+IGhpZ2ggfHwKKyAgICAgICAgICAgICAgICAgc3JjWyBz cmNfbGluZXNpemUgKyBpKzFdID4gaGlnaCkpCisgICAgICAgICAgICAgICAgZHN0W2ldID0g c3JjW2ldOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGRzdFtpXSA9IDA7 CisgICAgICAgIH0KKyAgICAgICAgZHN0ICs9IGRzdF9saW5lc2l6ZTsKKyAgICAgICAgc3Jj ICs9IHNyY19saW5lc2l6ZTsKKyAgICB9Cit9CisKKy8vIEFwcGxpZXMgZ2F1c3NpYW4gYmx1 ciwgdXNpbmcgNXg1IGtlcm5lbHMsIHNpZ21hID0gMS40Cit2b2lkIGZmX2dhdXNzaWFuX2Js dXIoaW50IHcsIGludCBoLAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmRzdCwg aW50IGRzdF9saW5lc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90 ICpzcmMsIGludCBzcmNfbGluZXNpemUpCit7CisgICAgaW50IGksIGo7CisKKyAgICBtZW1j cHkoZHN0LCBzcmMsIHcpOyBkc3QgKz0gZHN0X2xpbmVzaXplOyBzcmMgKz0gc3JjX2xpbmVz aXplOworICAgIG1lbWNweShkc3QsIHNyYywgdyk7IGRzdCArPSBkc3RfbGluZXNpemU7IHNy YyArPSBzcmNfbGluZXNpemU7CisgICAgZm9yIChqID0gMjsgaiA8IGggLSAyOyBqKyspIHsK KyAgICAgICAgZHN0WzBdID0gc3JjWzBdOworICAgICAgICBkc3RbMV0gPSBzcmNbMV07Cisg ICAgICAgIGZvciAoaSA9IDI7IGkgPCB3IC0gMjsgaSsrKSB7CisgICAgICAgICAgICAvKiBH YXVzc2lhbiBtYXNrIG9mIHNpemUgNXg1IHdpdGggc2lnbWEgPSAxLjQgKi8KKyAgICAgICAg ICAgIGRzdFtpXSA9ICgoc3JjWy0yKnNyY19saW5lc2l6ZSArIGktMl0gKyBzcmNbMipzcmNf bGluZXNpemUgKyBpLTJdKSAqIDIKKyAgICAgICAgICAgICAgICAgICAgKyAoc3JjWy0yKnNy Y19saW5lc2l6ZSArIGktMV0gKyBzcmNbMipzcmNfbGluZXNpemUgKyBpLTFdKSAqIDQKKyAg ICAgICAgICAgICAgICAgICAgKyAoc3JjWy0yKnNyY19saW5lc2l6ZSArIGkgIF0gKyBzcmNb MipzcmNfbGluZXNpemUgKyBpICBdKSAqIDUKKyAgICAgICAgICAgICAgICAgICAgKyAoc3Jj Wy0yKnNyY19saW5lc2l6ZSArIGkrMV0gKyBzcmNbMipzcmNfbGluZXNpemUgKyBpKzFdKSAq IDQKKyAgICAgICAgICAgICAgICAgICAgKyAoc3JjWy0yKnNyY19saW5lc2l6ZSArIGkrMl0g KyBzcmNbMipzcmNfbGluZXNpemUgKyBpKzJdKSAqIDIKKworICAgICAgICAgICAgICAgICAg ICArIChzcmNbICAtc3JjX2xpbmVzaXplICsgaS0yXSArIHNyY1sgIHNyY19saW5lc2l6ZSAr IGktMl0pICogIDQKKyAgICAgICAgICAgICAgICAgICAgKyAoc3JjWyAgLXNyY19saW5lc2l6 ZSArIGktMV0gKyBzcmNbICBzcmNfbGluZXNpemUgKyBpLTFdKSAqICA5CisgICAgICAgICAg ICAgICAgICAgICsgKHNyY1sgIC1zcmNfbGluZXNpemUgKyBpICBdICsgc3JjWyAgc3JjX2xp bmVzaXplICsgaSAgXSkgKiAxMgorICAgICAgICAgICAgICAgICAgICArIChzcmNbICAtc3Jj X2xpbmVzaXplICsgaSsxXSArIHNyY1sgIHNyY19saW5lc2l6ZSArIGkrMV0pICogIDkKKyAg ICAgICAgICAgICAgICAgICAgKyAoc3JjWyAgLXNyY19saW5lc2l6ZSArIGkrMl0gKyBzcmNb ICBzcmNfbGluZXNpemUgKyBpKzJdKSAqICA0CisKKyAgICAgICAgICAgICAgICAgICAgKyBz cmNbaS0yXSAqICA1CisgICAgICAgICAgICAgICAgICAgICsgc3JjW2ktMV0gKiAxMgorICAg ICAgICAgICAgICAgICAgICArIHNyY1tpICBdICogMTUKKyAgICAgICAgICAgICAgICAgICAg KyBzcmNbaSsxXSAqIDEyCisgICAgICAgICAgICAgICAgICAgICsgc3JjW2krMl0gKiAgNSkg LyAxNTk7CisgICAgICAgIH0KKyAgICAgICAgZHN0W2kgICAgXSA9IHNyY1tpICAgIF07Cisg ICAgICAgIGRzdFtpICsgMV0gPSBzcmNbaSArIDFdOworCisgICAgICAgIGRzdCArPSBkc3Rf bGluZXNpemU7CisgICAgICAgIHNyYyArPSBzcmNfbGluZXNpemU7CisgICAgfQorICAgIG1l bWNweShkc3QsIHNyYywgdyk7IGRzdCArPSBkc3RfbGluZXNpemU7IHNyYyArPSBzcmNfbGlu ZXNpemU7CisgICAgbWVtY3B5KGRzdCwgc3JjLCB3KTsKK30KZGlmZiAtLWdpdCBhL2xpYmF2 ZmlsdGVyL2VkZ2VfY29tbW9uLmggYi9saWJhdmZpbHRlci9lZGdlX2NvbW1vbi5oCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjg3YzE0M2YyYjgKLS0tIC9kZXYv bnVsbAorKysgYi9saWJhdmZpbHRlci9lZGdlX2NvbW1vbi5oCkBAIC0wLDAgKzEsMTA3IEBA CisvKgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgRkZtcGVnLgorICoKKyAqIEZGbXBlZyBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1v ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJs aWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogRkZtcGVnIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZSBHTlUKKyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w eSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhbG9uZyB3 aXRoIEZGbXBlZzsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91 bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9u LCBNQSAwMjExMC0xMzAxIFVTQQorICovCisKKy8qKgorICogQGZpbGUKKyAqIGNvbW1vbiBm dW5jdGlvbnMgZm9yIGVkZ2UgZGV0ZWN0aW9uCisgKi8KKworI2lmbmRlZiBBVkZJTFRFUl9F REdFX0NPTU1PTl9ICisjZGVmaW5lIEFWRklMVEVSX0VER0VfQ09NTU9OX0gKKworI2luY2x1 ZGUgImF2ZmlsdGVyLmgiCisKKy8qKgorICogQGJyaWVmIFJvdW5kZWQgZGlyZWN0aW9ucyB1 c2VkIGluIGF2X2ltYWdlX3NvYmVsKCkKKyAqLworZW51bSBBVlJvdW5kZWREaXJlY3Rpb24g eworICAgIERJUkVDVElPTl80NVVQLAorICAgIERJUkVDVElPTl80NURPV04sCisgICAgRElS RUNUSU9OX0hPUklaT05UQUwsCisgICAgRElSRUNUSU9OX1ZFUlRJQ0FMLAorfTsKKworLyoq CisgKiBTaW1wbGUgc29iZWwgb3BlcmF0b3IgdG8gZ2V0IHJvdW5kZWQgZ3JhZGllbnRzCisg KgorICogQHBhcmFtIHcgICAgICAgICAgICAgdGhlIHdpZHRoIG9mIHRoZSBpbWFnZSBpbiBw aXhlbHMKKyAqIEBwYXJhbSBoICAgICAgICAgICAgIHRoZSBoZWlnaHQgb2YgdGhlIGltYWdl IGluIHBpeGVscworICogQHBhcmFtIGRzdCAgICAgICAgICAgZGF0YSBwb2ludGVycyB0byBt YWduaXR1ZGUgaW1hZ2UKKyAqIEBwYXJhbSBkc3RfbGluZXNpemUgIGxpbmVzaXplcyBmb3Ig dGhlIG1hZ25pdHVkZSBpbWFnZQorICogQHBhcmFtIGRpciAgICAgICAgICAgZGF0YSBwb2lu dGVycyB0byBkaXJlY3Rpb24gaW1hZ2UKKyAqIEBwYXJhbSBkaXJfbGluZXNpemUgIGxpbmVz aXplcyBmb3IgdGhlIGRpcmVjdGlvbiBpbWFnZQorICogQHBhcmFtIHNyYyAgICAgICAgICAg ZGF0YSBwb2ludGVycyB0byBzb3VyY2UgaW1hZ2UKKyAqIEBwYXJhbSBzcmNfbGluZXNpemUg IGxpbmVzaXplcyBmb3IgdGhlIHNvdXJjZSBpbWFnZQorICovCit2b2lkIGZmX3NvYmVsKGlu dCB3LCBpbnQgaCwKKyAgICAgICAgICAgICAgdWludDE2X3QgKmRzdCwgaW50IGRzdF9saW5l c2l6ZSwKKyAgICAgICAgICAgICAgaW50OF90ICpkaXIsIGludCBkaXJfbGluZXNpemUsCisg ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50IHNyY19saW5lc2l6ZSk7CisK Ky8qKgorICogRmlsdGVycyByb3VuZGVkIGdyYWRpZW50cyB0byBkcm9wIGFsbCBub24tbWF4 aW1hIHBpeGVscyBpbiB0aGUgbWFnbml0dWRlIGltYWdlCisgKiBFeHBlY3RzIGdyYWRpZW50 cyBnZW5lcmF0ZWQgYnkgYXZfaW1hZ2Vfc29iZWwoKQorICogRXhwZWN0cyB6ZXJvJ3MgaW4g dGhlIGRlc3RpbmF0aW9uIGJ1ZmZlciBkc3QKKyAqCisgKiBAcGFyYW0gdyAgICAgICAgICAg ICB0aGUgd2lkdGggb2YgdGhlIGltYWdlIGluIHBpeGVscworICogQHBhcmFtIGggICAgICAg ICAgICAgdGhlIGhlaWdodCBvZiB0aGUgaW1hZ2UgaW4gcGl4ZWxzCisgKiBAcGFyYW0gZHN0 ICAgICAgICAgICBkYXRhIHBvaW50ZXJzIHRvIG1hZ25pdHVkZSBpbWFnZQorICogQHBhcmFt IGRzdF9saW5lc2l6ZSAgbGluZXNpemVzIGZvciB0aGUgbWFnbml0dWRlIGltYWdlCisgKiBA cGFyYW0gZGlyICAgICAgICAgICBkYXRhIHBvaW50ZXJzIHRvIGRpcmVjdGlvbiBpbWFnZQor ICogQHBhcmFtIGRpcl9saW5lc2l6ZSAgbGluZXNpemVzIGZvciB0aGUgZGlyZWN0aW9uIGlt YWdlCisgKiBAcGFyYW0gc3JjICAgICAgICAgICBkYXRhIHBvaW50ZXJzIHRvIHNvdXJjZSBp bWFnZQorICogQHBhcmFtIHNyY19saW5lc2l6ZSAgbGluZXNpemVzIGZvciB0aGUgc291cmNl IGltYWdlCisgKi8KK3ZvaWQgZmZfbm9uX21heGltdW1fc3VwcHJlc3Npb24oaW50IHcsIGlu dCBoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpkc3QsIGlu dCBkc3RfbGluZXNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IGludDhfdCAqZGlyLCBpbnQgZGlyX2xpbmVzaXplLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCB1aW50MTZfdCAqc3JjLCBpbnQgc3JjX2xpbmVzaXplKTsKKwor LyoqCisgKiBGaWx0ZXJzIGFsbCBwaXhlbHMgaW4gc3JjIHRvIGtlZXAgYWxsIHBpeGVscyA+ IGhpZ2gsCisgKiBhbmQga2VlcCBhbGwgcGl4ZWxzID4gbG93IHdoZXJlIGFsbCBzdXJyb3Vu ZGluZyBwaXhlbHMgPiBoaWdoCisgKgorICogQHBhcmFtIGxvdyAgICAgICAgICAgdGhlIGxv dyB0aHJlc2hvbGQgdmFsdWUKKyAqIEBwYXJhbSBoaWdoICAgICAgICAgIHRoZSBoZWdoIHRo cmVzaG9sZCB2YWx1ZQorICogQHBhcmFtIHcgICAgICAgICAgICAgdGhlIHdpZHRoIG9mIHRo ZSBpbWFnZSBpbiBwaXhlbHMKKyAqIEBwYXJhbSBoICAgICAgICAgICAgIHRoZSBoZWlnaHQg b2YgdGhlIGltYWdlIGluIHBpeGVscworICogQHBhcmFtIGRzdCAgICAgICAgICAgZGF0YSBw b2ludGVycyB0byBkZXN0aW5hdGlvbiBpbWFnZQorICogQHBhcmFtIGRzdF9saW5lc2l6ZSAg bGluZXNpemVzIGZvciB0aGUgZGVzdGluYXRpb24gaW1hZ2UKKyAqIEBwYXJhbSBzcmMgICAg ICAgICAgIGRhdGEgcG9pbnRlcnMgdG8gc291cmNlIGltYWdlCisgKiBAcGFyYW0gc3JjX2xp bmVzaXplICBsaW5lc2l6ZXMgZm9yIHRoZSBzb3VyY2UgaW1hZ2UKKyAqLwordm9pZCBmZl9k b3VibGVfdGhyZXNob2xkKGludCBsb3csIGludCBoaWdoLCBpbnQgdywgaW50IGgsCisgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0LCBpbnQgZHN0X2xpbmVzaXplLAor ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50IHNyY19s aW5lc2l6ZSk7CisKKy8qKgorICogQXBwbGllcyBnYXVzc2lhbiBibHVyLgorICogNXg1IGtl cm5lbHMsIHNpZ21hID0gMS40CisgKgorICogQHBhcmFtIHcgICAgICAgICAgICAgdGhlIHdp ZHRoIG9mIHRoZSBpbWFnZSBpbiBwaXhlbHMKKyAqIEBwYXJhbSBoICAgICAgICAgICAgIHRo ZSBoZWlnaHQgb2YgdGhlIGltYWdlIGluIHBpeGVscworICogQHBhcmFtIGRzdCAgICAgICAg ICAgZGF0YSBwb2ludGVycyB0byBkZXN0aW5hdGlvbiBpbWFnZQorICogQHBhcmFtIGRzdF9s aW5lc2l6ZSAgbGluZXNpemVzIGZvciB0aGUgZGVzdGluYXRpb24gaW1hZ2UKKyAqIEBwYXJh bSBzcmMgICAgICAgICAgIGRhdGEgcG9pbnRlcnMgdG8gc291cmNlIGltYWdlCisgKiBAcGFy YW0gc3JjX2xpbmVzaXplICBsaW5lc2l6ZXMgZm9yIHRoZSBzb3VyY2UgaW1hZ2UKKyAqLwor dm9pZCBmZl9nYXVzc2lhbl9ibHVyKGludCB3LCBpbnQgaCwKKyAgICAgICAgICAgICAgICAg ICAgICB1aW50OF90ICpkc3QsIGludCBkc3RfbGluZXNpemUsCisgICAgICAgICAgICAgICAg ICAgICAgY29uc3QgdWludDhfdCAqc3JjLCBpbnQgc3JjX2xpbmVzaXplKTsKKworI2VuZGlm CmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci92Zl9lZGdlZGV0ZWN0LmMgYi9saWJhdmZpbHRl ci92Zl9lZGdlZGV0ZWN0LmMKaW5kZXggM2VlYTM0ZTMyNS4uOTAzOTBjZWIzZSAxMDA2NDQK LS0tIGEvbGliYXZmaWx0ZXIvdmZfZWRnZWRldGVjdC5jCisrKyBiL2xpYmF2ZmlsdGVyL3Zm X2VkZ2VkZXRlY3QuYwpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgImZvcm1hdHMuaCIK ICNpbmNsdWRlICJpbnRlcm5hbC5oIgogI2luY2x1ZGUgInZpZGVvLmgiCisjaW5jbHVkZSAi ZWRnZV9jb21tb24uaCIKIAogI2RlZmluZSBQTEFORV9SIDB4NAogI2RlZmluZSBQTEFORV9H IDB4MQpAQCAtMTM5LDE3NiArMTQwLDYgQEAgc3RhdGljIGludCBjb25maWdfcHJvcHMoQVZG aWx0ZXJMaW5rICppbmxpbmspCiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIGdh dXNzaWFuX2JsdXIoQVZGaWx0ZXJDb250ZXh0ICpjdHgsIGludCB3LCBpbnQgaCwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0LCBpbnQgZHN0X2xpbmVz aXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpzcmMsIGlu dCBzcmNfbGluZXNpemUpCi17Ci0gICAgaW50IGksIGo7Ci0KLSAgICBtZW1jcHkoZHN0LCBz cmMsIHcpOyBkc3QgKz0gZHN0X2xpbmVzaXplOyBzcmMgKz0gc3JjX2xpbmVzaXplOwotICAg IGlmIChoID4gMSkgewotICAgICAgICBtZW1jcHkoZHN0LCBzcmMsIHcpOyBkc3QgKz0gZHN0 X2xpbmVzaXplOyBzcmMgKz0gc3JjX2xpbmVzaXplOwotICAgIH0KLSAgICBmb3IgKGogPSAy OyBqIDwgaCAtIDI7IGorKykgewotICAgICAgICBkc3RbMF0gPSBzcmNbMF07Ci0gICAgICAg IGlmICh3ID4gMSkKLSAgICAgICAgICAgIGRzdFsxXSA9IHNyY1sxXTsKLSAgICAgICAgZm9y IChpID0gMjsgaSA8IHcgLSAyOyBpKyspIHsKLSAgICAgICAgICAgIC8qIEdhdXNzaWFuIG1h c2sgb2Ygc2l6ZSA1eDUgd2l0aCBzaWdtYSA9IDEuNCAqLwotICAgICAgICAgICAgZHN0W2ld ID0gKChzcmNbLTIqc3JjX2xpbmVzaXplICsgaS0yXSArIHNyY1syKnNyY19saW5lc2l6ZSAr IGktMl0pICogMgotICAgICAgICAgICAgICAgICAgICArIChzcmNbLTIqc3JjX2xpbmVzaXpl ICsgaS0xXSArIHNyY1syKnNyY19saW5lc2l6ZSArIGktMV0pICogNAotICAgICAgICAgICAg ICAgICAgICArIChzcmNbLTIqc3JjX2xpbmVzaXplICsgaSAgXSArIHNyY1syKnNyY19saW5l c2l6ZSArIGkgIF0pICogNQotICAgICAgICAgICAgICAgICAgICArIChzcmNbLTIqc3JjX2xp bmVzaXplICsgaSsxXSArIHNyY1syKnNyY19saW5lc2l6ZSArIGkrMV0pICogNAotICAgICAg ICAgICAgICAgICAgICArIChzcmNbLTIqc3JjX2xpbmVzaXplICsgaSsyXSArIHNyY1syKnNy Y19saW5lc2l6ZSArIGkrMl0pICogMgotCi0gICAgICAgICAgICAgICAgICAgICsgKHNyY1sg IC1zcmNfbGluZXNpemUgKyBpLTJdICsgc3JjWyAgc3JjX2xpbmVzaXplICsgaS0yXSkgKiAg NAotICAgICAgICAgICAgICAgICAgICArIChzcmNbICAtc3JjX2xpbmVzaXplICsgaS0xXSAr IHNyY1sgIHNyY19saW5lc2l6ZSArIGktMV0pICogIDkKLSAgICAgICAgICAgICAgICAgICAg KyAoc3JjWyAgLXNyY19saW5lc2l6ZSArIGkgIF0gKyBzcmNbICBzcmNfbGluZXNpemUgKyBp ICBdKSAqIDEyCi0gICAgICAgICAgICAgICAgICAgICsgKHNyY1sgIC1zcmNfbGluZXNpemUg KyBpKzFdICsgc3JjWyAgc3JjX2xpbmVzaXplICsgaSsxXSkgKiAgOQotICAgICAgICAgICAg ICAgICAgICArIChzcmNbICAtc3JjX2xpbmVzaXplICsgaSsyXSArIHNyY1sgIHNyY19saW5l c2l6ZSArIGkrMl0pICogIDQKLQotICAgICAgICAgICAgICAgICAgICArIHNyY1tpLTJdICog IDUKLSAgICAgICAgICAgICAgICAgICAgKyBzcmNbaS0xXSAqIDEyCi0gICAgICAgICAgICAg ICAgICAgICsgc3JjW2kgIF0gKiAxNQotICAgICAgICAgICAgICAgICAgICArIHNyY1tpKzFd ICogMTIKLSAgICAgICAgICAgICAgICAgICAgKyBzcmNbaSsyXSAqICA1KSAvIDE1OTsKLSAg ICAgICAgfQotICAgICAgICBpZiAodyA+IDIpCi0gICAgICAgICAgICBkc3RbaSAgICBdID0g c3JjW2kgICAgXTsKLSAgICAgICAgaWYgKHcgPiAzKQotICAgICAgICAgICAgZHN0W2kgKyAx XSA9IHNyY1tpICsgMV07Ci0KLSAgICAgICAgZHN0ICs9IGRzdF9saW5lc2l6ZTsKLSAgICAg ICAgc3JjICs9IHNyY19saW5lc2l6ZTsKLSAgICB9Ci0gICAgaWYgKGggPiAyKSB7Ci0gICAg ICAgIG1lbWNweShkc3QsIHNyYywgdyk7IGRzdCArPSBkc3RfbGluZXNpemU7IHNyYyArPSBz cmNfbGluZXNpemU7Ci0gICAgfQotICAgIGlmIChoID4gMykKLSAgICAgICAgbWVtY3B5KGRz dCwgc3JjLCB3KTsKLX0KLQotZW51bSB7Ci0gICAgRElSRUNUSU9OXzQ1VVAsCi0gICAgRElS RUNUSU9OXzQ1RE9XTiwKLSAgICBESVJFQ1RJT05fSE9SSVpPTlRBTCwKLSAgICBESVJFQ1RJ T05fVkVSVElDQUwsCi19OwotCi1zdGF0aWMgaW50IGdldF9yb3VuZGVkX2RpcmVjdGlvbihp bnQgZ3gsIGludCBneSkKLXsKLSAgICAvKiByZWZlcmVuY2UgYW5nbGVzOgotICAgICAqICAg dGFuKCBwaS84KSA9IHNxcnQoMiktMQotICAgICAqICAgdGFuKDNwaS84KSA9IHNxcnQoMikr MQotICAgICAqIEd5L0d4IGlzIHRoZSB0YW5nZW50IG9mIHRoZSBhbmdsZSAodGhldGEpLCBz byBHeS9HeCBpcyBjb21wYXJlZCBhZ2FpbnN0Ci0gICAgICogPHJlZi1hbmdsZT4sIG9yIG1v cmUgc2ltcGx5IEd5IGFnYWluc3QgPHJlZi1hbmdsZT4qR3gKLSAgICAgKgotICAgICAqIEd4 IGFuZCBHeSBib3VuZHMgPSBbLTEwMjA7MTAyMF0sIHVzaW5nIDE2LWJpdCBhcml0aG1ldGlj OgotICAgICAqICAgcm91bmQoKHNxcnQoMiktMSkgKiAoMTw8MTYpKSA9ICAyNzE0NgotICAg ICAqICAgcm91bmQoKHNxcnQoMikrMSkgKiAoMTw8MTYpKSA9IDE1ODIxOAotICAgICAqLwot ICAgIGlmIChneCkgewotICAgICAgICBpbnQgdGFucGk4Z3gsIHRhbjNwaThneDsKLQotICAg ICAgICBpZiAoZ3ggPCAwKQotICAgICAgICAgICAgZ3ggPSAtZ3gsIGd5ID0gLWd5OwotICAg ICAgICBneSAqPSAoMSA8PCAxNik7Ci0gICAgICAgIHRhbnBpOGd4ICA9ICAyNzE0NiAqIGd4 OwotICAgICAgICB0YW4zcGk4Z3ggPSAxNTgyMTggKiBneDsKLSAgICAgICAgaWYgKGd5ID4g LXRhbjNwaThneCAmJiBneSA8IC10YW5waThneCkgIHJldHVybiBESVJFQ1RJT05fNDVVUDsK LSAgICAgICAgaWYgKGd5ID4gLXRhbnBpOGd4ICAmJiBneSA8ICB0YW5waThneCkgIHJldHVy biBESVJFQ1RJT05fSE9SSVpPTlRBTDsKLSAgICAgICAgaWYgKGd5ID4gIHRhbnBpOGd4ICAm JiBneSA8ICB0YW4zcGk4Z3gpIHJldHVybiBESVJFQ1RJT05fNDVET1dOOwotICAgIH0KLSAg ICByZXR1cm4gRElSRUNUSU9OX1ZFUlRJQ0FMOwotfQotCi1zdGF0aWMgdm9pZCBzb2JlbChp bnQgdywgaW50IGgsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90ICpkc3QsIGlu dCBkc3RfbGluZXNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50OF90ICpkaXIs IGludCBkaXJfbGluZXNpemUsCi0gICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpz cmMsIGludCBzcmNfbGluZXNpemUpCi17Ci0gICAgaW50IGksIGo7Ci0KLSAgICBmb3IgKGog PSAxOyBqIDwgaCAtIDE7IGorKykgewotICAgICAgICBkc3QgKz0gZHN0X2xpbmVzaXplOwot ICAgICAgICBkaXIgKz0gZGlyX2xpbmVzaXplOwotICAgICAgICBzcmMgKz0gc3JjX2xpbmVz aXplOwotICAgICAgICBmb3IgKGkgPSAxOyBpIDwgdyAtIDE7IGkrKykgewotICAgICAgICAg ICAgY29uc3QgaW50IGd4ID0KLSAgICAgICAgICAgICAgICAtMSpzcmNbLXNyY19saW5lc2l6 ZSArIGktMV0gKyAxKnNyY1stc3JjX2xpbmVzaXplICsgaSsxXQotICAgICAgICAgICAgICAg IC0yKnNyY1sgICAgICAgICAgICAgICAgaS0xXSArIDIqc3JjWyAgICAgICAgICAgICAgICBp KzFdCi0gICAgICAgICAgICAgICAgLTEqc3JjWyBzcmNfbGluZXNpemUgKyBpLTFdICsgMSpz cmNbIHNyY19saW5lc2l6ZSArIGkrMV07Ci0gICAgICAgICAgICBjb25zdCBpbnQgZ3kgPQot ICAgICAgICAgICAgICAgIC0xKnNyY1stc3JjX2xpbmVzaXplICsgaS0xXSArIDEqc3JjWyBz cmNfbGluZXNpemUgKyBpLTFdCi0gICAgICAgICAgICAgICAgLTIqc3JjWy1zcmNfbGluZXNp emUgKyBpICBdICsgMipzcmNbIHNyY19saW5lc2l6ZSArIGkgIF0KLSAgICAgICAgICAgICAg ICAtMSpzcmNbLXNyY19saW5lc2l6ZSArIGkrMV0gKyAxKnNyY1sgc3JjX2xpbmVzaXplICsg aSsxXTsKLQotICAgICAgICAgICAgZHN0W2ldID0gRkZBQlMoZ3gpICsgRkZBQlMoZ3kpOwot ICAgICAgICAgICAgZGlyW2ldID0gZ2V0X3JvdW5kZWRfZGlyZWN0aW9uKGd4LCBneSk7Ci0g ICAgICAgIH0KLSAgICB9Ci19Ci0KLXN0YXRpYyB2b2lkIG5vbl9tYXhpbXVtX3N1cHByZXNz aW9uKGludCB3LCBpbnQgaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVpbnQ4X3QgICpkc3QsIGludCBkc3RfbGluZXNpemUsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCAgaW50OF90ICAqZGlyLCBpbnQgZGlyX2xp bmVzaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu dDE2X3QgKnNyYywgaW50IHNyY19saW5lc2l6ZSkKLXsKLSAgICBpbnQgaSwgajsKLQotI2Rl ZmluZSBDT1BZX01BWElNQShheSwgYXgsIGJ5LCBieCkgZG8geyAgICAgICAgICAgICAgICBc Ci0gICAgaWYgKHNyY1tpXSA+IHNyY1soYXkpKnNyY19saW5lc2l6ZSArIGkrKGF4KV0gJiYg ICAgIFwKLSAgICAgICAgc3JjW2ldID4gc3JjWyhieSkqc3JjX2xpbmVzaXplICsgaSsoYngp XSkgICAgICAgXAotICAgICAgICBkc3RbaV0gPSBhdl9jbGlwX3VpbnQ4KHNyY1tpXSk7ICAg ICAgICAgICAgICAgICBcCi19IHdoaWxlICgwKQotCi0gICAgZm9yIChqID0gMTsgaiA8IGgg LSAxOyBqKyspIHsKLSAgICAgICAgZHN0ICs9IGRzdF9saW5lc2l6ZTsKLSAgICAgICAgZGly ICs9IGRpcl9saW5lc2l6ZTsKLSAgICAgICAgc3JjICs9IHNyY19saW5lc2l6ZTsKLSAgICAg ICAgZm9yIChpID0gMTsgaSA8IHcgLSAxOyBpKyspIHsKLSAgICAgICAgICAgIHN3aXRjaCAo ZGlyW2ldKSB7Ci0gICAgICAgICAgICBjYXNlIERJUkVDVElPTl80NVVQOiAgICAgICAgQ09Q WV9NQVhJTUEoIDEsIC0xLCAtMSwgIDEpOyBicmVhazsKLSAgICAgICAgICAgIGNhc2UgRElS RUNUSU9OXzQ1RE9XTjogICAgICBDT1BZX01BWElNQSgtMSwgLTEsICAxLCAgMSk7IGJyZWFr OwotICAgICAgICAgICAgY2FzZSBESVJFQ1RJT05fSE9SSVpPTlRBTDogIENPUFlfTUFYSU1B KCAwLCAtMSwgIDAsICAxKTsgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIERJUkVDVElPTl9W RVJUSUNBTDogICAgQ09QWV9NQVhJTUEoLTEsICAwLCAgMSwgIDApOyBicmVhazsKLSAgICAg ICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLX0KLQotc3RhdGljIHZvaWQgZG91YmxlX3Ro cmVzaG9sZChpbnQgbG93LCBpbnQgaGlnaCwgaW50IHcsIGludCBoLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpkc3QsIGludCBkc3RfbGluZXNpemUs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50 IHNyY19saW5lc2l6ZSkKLXsKLSAgICBpbnQgaSwgajsKLQotICAgIGZvciAoaiA9IDA7IGog PCBoOyBqKyspIHsKLSAgICAgICAgZm9yIChpID0gMDsgaSA8IHc7IGkrKykgewotICAgICAg ICAgICAgaWYgKHNyY1tpXSA+IGhpZ2gpIHsKLSAgICAgICAgICAgICAgICBkc3RbaV0gPSBz cmNbaV07Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICB9Ci0KLSAg ICAgICAgICAgIGlmICghKCFpIHx8IGkgPT0gdyAtIDEgfHwgIWogfHwgaiA9PSBoIC0gMSkg JiYKLSAgICAgICAgICAgICAgICBzcmNbaV0gPiBsb3cgJiYKLSAgICAgICAgICAgICAgICAo c3JjWy1zcmNfbGluZXNpemUgKyBpLTFdID4gaGlnaCB8fAotICAgICAgICAgICAgICAgICBz cmNbLXNyY19saW5lc2l6ZSArIGkgIF0gPiBoaWdoIHx8Ci0gICAgICAgICAgICAgICAgIHNy Y1stc3JjX2xpbmVzaXplICsgaSsxXSA+IGhpZ2ggfHwKLSAgICAgICAgICAgICAgICAgc3Jj WyAgICAgICAgICAgICAgICBpLTFdID4gaGlnaCB8fAotICAgICAgICAgICAgICAgICBzcmNb ICAgICAgICAgICAgICAgIGkrMV0gPiBoaWdoIHx8Ci0gICAgICAgICAgICAgICAgIHNyY1sg c3JjX2xpbmVzaXplICsgaS0xXSA+IGhpZ2ggfHwKLSAgICAgICAgICAgICAgICAgc3JjWyBz cmNfbGluZXNpemUgKyBpICBdID4gaGlnaCB8fAotICAgICAgICAgICAgICAgICBzcmNbIHNy Y19saW5lc2l6ZSArIGkrMV0gPiBoaWdoKSkKLSAgICAgICAgICAgICAgICBkc3RbaV0gPSBz cmNbaV07Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgZHN0W2ldID0gMDsK LSAgICAgICAgfQotICAgICAgICBkc3QgKz0gZHN0X2xpbmVzaXplOwotICAgICAgICBzcmMg Kz0gc3JjX2xpbmVzaXplOwotICAgIH0KLX0KLQogc3RhdGljIHZvaWQgY29sb3JfbWl4KGlu dCB3LCBpbnQgaCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpkc3Qs IGludCBkc3RfbGluZXNpemUsCiAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf dCAqc3JjLCBpbnQgc3JjX2xpbmVzaXplKQpAQCAtMzYwLDEyICsxOTEsMTIgQEAgc3RhdGlj IGludCBmaWx0ZXJfZnJhbWUoQVZGaWx0ZXJMaW5rICppbmxpbmssIEFWRnJhbWUgKmluKQog ICAgICAgICB9CiAKICAgICAgICAgLyogZ2F1c3NpYW4gZmlsdGVyIHRvIHJlZHVjZSBub2lz ZSAgKi8KLSAgICAgICAgZ2F1c3NpYW5fYmx1cihjdHgsIHdpZHRoLCBoZWlnaHQsCi0gICAg ICAgICAgICAgICAgICAgICAgdG1wYnVmLCAgICAgIHdpZHRoLAotICAgICAgICAgICAgICAg ICAgICAgIGluLT5kYXRhW3BdLCBpbi0+bGluZXNpemVbcF0pOworICAgICAgICBmZl9nYXVz c2lhbl9ibHVyKHdpZHRoLCBoZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgdG1w YnVmLCAgICAgIHdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgIGluLT5kYXRhW3Bd LCBpbi0+bGluZXNpemVbcF0pOwogCiAgICAgICAgIC8qIGNvbXB1dGUgdGhlIDE2LWJpdHMg Z3JhZGllbnRzIGFuZCBkaXJlY3Rpb25zIGZvciB0aGUgbmV4dCBzdGVwICovCi0gICAgICAg IHNvYmVsKHdpZHRoLCBoZWlnaHQsCisgICAgICAgIGZmX3NvYmVsKHdpZHRoLCBoZWlnaHQs CiAgICAgICAgICAgICAgIGdyYWRpZW50cywgd2lkdGgsCiAgICAgICAgICAgICAgIGRpcmVj dGlvbnMsd2lkdGgsCiAgICAgICAgICAgICAgIHRtcGJ1ZiwgICAgd2lkdGgpOwpAQCAtMzcz LDEzICsyMDQsMTMgQEAgc3RhdGljIGludCBmaWx0ZXJfZnJhbWUoQVZGaWx0ZXJMaW5rICpp bmxpbmssIEFWRnJhbWUgKmluKQogICAgICAgICAvKiBub25fbWF4aW11bV9zdXBwcmVzc2lv bigpIHdpbGwgYWN0dWFsbHkga2VlcCAmIGNsaXAgd2hhdCdzIG5lY2Vzc2FyeSBhbmQKICAg ICAgICAgICogaWdub3JlIHRoZSByZXN0LCBzbyB3ZSBuZWVkIGEgY2xlYW4gb3V0cHV0IGJ1 ZmZlciAqLwogICAgICAgICBtZW1zZXQodG1wYnVmLCAwLCB3aWR0aCAqIGhlaWdodCk7Ci0g ICAgICAgIG5vbl9tYXhpbXVtX3N1cHByZXNzaW9uKHdpZHRoLCBoZWlnaHQsCisgICAgICAg IGZmX25vbl9tYXhpbXVtX3N1cHByZXNzaW9uKHdpZHRoLCBoZWlnaHQsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHRtcGJ1ZiwgICAgd2lkdGgsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbnMsd2lkdGgsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGdyYWRpZW50cywgd2lkdGgpOwogCiAgICAgICAgIC8qIGtlZXAg aGlnaCB2YWx1ZXMsIG9yIGxvdyB2YWx1ZXMgc3Vycm91bmRlZCBieSBoaWdoIHZhbHVlcyAq LwotICAgICAgICBkb3VibGVfdGhyZXNob2xkKGVkZ2VkZXRlY3QtPmxvd191OCwgZWRnZWRl dGVjdC0+aGlnaF91OCwKKyAgICAgICAgZmZfZG91YmxlX3RocmVzaG9sZChlZGdlZGV0ZWN0 LT5sb3dfdTgsIGVkZ2VkZXRlY3QtPmhpZ2hfdTgsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgd2lkdGgsIGhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICBvdXQtPmRhdGFb cF0sIG91dC0+bGluZXNpemVbcF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wYnVm LCAgICAgICB3aWR0aCk7Ci0tIAoyLjIwLjEgKEFwcGxlIEdpdC0xMTcpCgo= --------------VF5EHi64MlDLxKC6Bf3osa36 Content-Type: text/plain; charset=UTF-8; name="v6-0002-lavfi-Add-blurdetect-filter.patch" Content-Disposition: attachment; filename="v6-0002-lavfi-Add-blurdetect-filter.patch" Content-Transfer-Encoding: base64 RnJvbSA5MTc5ZDQzZTBjMDAxNDVlNDIxNDJmZTlkYmQxNzBjYjNiNTYzYThkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUaGlsbyBCb3JnbWFubiA8dGhpbG8uYm9yZ21hbm5A bWFpbC5kZT4KRGF0ZTogU3VuLCAyNCBBcHIgMjAyMiAxOToxMjoyNCArMDIwMApTdWJqZWN0 OiBbUEFUQ0ggdjYgMi8yXSBsYXZmaTogQWRkIGJsdXJkZXRlY3QgZmlsdGVyCgotLS0KIENo YW5nZWxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogZG9j L2ZpbHRlcnMudGV4aSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1MiArKysKIGxp YmF2ZmlsdGVyL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogbGli YXZmaWx0ZXIvYWxsZmlsdGVycy5jICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBsaWJh dmZpbHRlci92ZXJzaW9uLmggICAgICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBsaWJh dmZpbHRlci92Zl9ibHVyZGV0ZWN0LmMgICAgICAgICAgICAgICAgIHwgMzk2ICsrKysrKysr KysrKysrKysrKysrCiB0ZXN0cy9mYXRlL2ZpbHRlci12aWRlby5tYWsgICAgICAgICAgICAg ICAgIHwgICAzICsKIHRlc3RzL3JlZi9mYXRlL2ZpbHRlci1yZWZjbXAtYmx1cmRldGVjdC15 dXYgfCAgMTAgKwogOCBmaWxlcyBjaGFuZ2VkLCA0NjUgaW5zZXJ0aW9ucygrKSwgMSBkZWxl dGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYmF2ZmlsdGVyL3ZmX2JsdXJkZXRlY3Qu YwogY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzL3JlZi9mYXRlL2ZpbHRlci1yZWZjbXAtYmx1 cmRldGVjdC15dXYKCmRpZmYgLS1naXQgYS9DaGFuZ2Vsb2cgYi9DaGFuZ2Vsb2cKaW5kZXgg N2E2M2UzZDFlZS4uNGQ0NjdlYjc0MSAxMDA2NDQKLS0tIGEvQ2hhbmdlbG9nCisrKyBiL0No YW5nZWxvZwpAQCAtMTMsNiArMTMsNyBAQCB2ZXJzaW9uIDUuMToKIC0gcGl4ZWxpemUgdmlk ZW8gZmlsdGVyCiAtIGNvbG9ybWFwIHZpZGVvIGZpbHRlcgogLSBjb2xvcmNoYXJ0IHZpZGVv IHNvdXJjZSBmaWx0ZXIKKy0gYmx1cmRldGVjdCBmaWx0ZXIKIAogCiB2ZXJzaW9uIDUuMDoK ZGlmZiAtLWdpdCBhL2RvYy9maWx0ZXJzLnRleGkgYi9kb2MvZmlsdGVycy50ZXhpCmluZGV4 IGM4Njk5YjkwOTkuLjQ5OWYzYWRjZDkgMTAwNjQ0Ci0tLSBhL2RvYy9maWx0ZXJzLnRleGkK KysrIGIvZG9jL2ZpbHRlcnMudGV4aQpAQCAtNzk5Nyw2ICs3OTk3LDU4IEBAIHRibGVuZD1h bGxfbW9kZT1ncmFpbmV4dHJhY3QKIEBzdWJzZWN0aW9uIENvbW1hbmRzCiBUaGlzIGZpbHRl ciBzdXBwb3J0cyBzYW1lIEByZWZ7Y29tbWFuZHN9IGFzIG9wdGlvbnMuCiAKK0BhbmNob3J7 Ymx1cmRldGVjdH0KK0BzZWN0aW9uIGJsdXJkZXRlY3QKKworRGV0ZXJtaW5lcyBibHVycmlu ZXNzIG9mIGZyYW1lcyB3aXRob3V0IGFsdGVyaW5nIHRoZSBpbnB1dCBmcmFtZXMuCisKK0Jh c2VkIG9uIE1hcnppbGlhbm8sIFBpbmEsIGV0IGFsLiAiQSBuby1yZWZlcmVuY2UgcGVyY2Vw dHVhbCBibHVyIG1ldHJpYy4iCitBbGxvd3MgZm9yIGEgYmxvY2stYmFzZWQgYWJicmV2aWF0 aW9uLgorCitUaGUgZmlsdGVyIGFjY2VwdHMgdGhlIGZvbGxvd2luZyBvcHRpb25zOgorCitA dGFibGUgQG9wdGlvbgorQGl0ZW0gbG93CitAaXRlbSBoaWdoCitTZXQgbG93IGFuZCBoaWdo IHRocmVzaG9sZCB2YWx1ZXMgdXNlZCBieSB0aGUgQ2FubnkgdGhyZXNob2xkaW5nCithbGdv cml0aG0uCisKK1RoZSBoaWdoIHRocmVzaG9sZCBzZWxlY3RzIHRoZSAic3Ryb25nIiBlZGdl IHBpeGVscywgd2hpY2ggYXJlIHRoZW4KK2Nvbm5lY3RlZCB0aHJvdWdoIDgtY29ubmVjdGl2 aXR5IHdpdGggdGhlICJ3ZWFrIiBlZGdlIHBpeGVscyBzZWxlY3RlZAorYnkgdGhlIGxvdyB0 aHJlc2hvbGQuCisKK0B2YXJ7bG93fSBhbmQgQHZhcntoaWdofSB0aHJlc2hvbGQgdmFsdWVz IG11c3QgYmUgY2hvc2VuIGluIHRoZSByYW5nZQorWzAsMV0sIGFuZCBAdmFye2xvd30gc2hv dWxkIGJlIGxlc3NlciBvciBlcXVhbCB0byBAdmFye2hpZ2h9LgorCitEZWZhdWx0IHZhbHVl IGZvciBAdmFye2xvd30gaXMgQGNvZGV7MjAvMjU1fSwgYW5kIGRlZmF1bHQgdmFsdWUgZm9y IEB2YXJ7aGlnaH0KK2lzIEBjb2RlezUwLzI1NX0uCisKK0BpdGVtIHJhZGl1cworRGVmaW5l IHRoZSByYWRpdXMgdG8gc2VhcmNoIGFyb3VuZCBhbiBlZGdlIHBpeGVsIGZvciBsb2NhbCBt YXhpbWEuCisKK0BpdGVtIGJsb2NrX3BjdAorRGV0ZXJtaW5lIGJsdXJyaW5lc3Mgb25seSBm b3IgdGhlIG1vc3Qgc2lnbmlmaWNhbnQgYmxvY2tzLCBnaXZlbiBpbiBwZXJjZW50YWdlLgor CitAaXRlbSBibG9ja193aWR0aAorRGV0ZXJtaW5lIGJsdXJyaW5lc3MgZm9yIGJsb2NrcyBv ZiB3aWR0aCBAdmFye2Jsb2NrX3dpZHRofS4gSWYgc2V0IHRvIGFueSB2YWx1ZSBzbWFsbGVy IDEsIG5vIGJsb2NrcyBhcmUgdXNlZCBhbmQgdGhlIHdob2xlIGltYWdlIGlzIHByb2Nlc3Nl ZCBhcyBvbmUgbm8gbWF0dGVyIG9mIEB2YXJ7YmxvY2tfaGVpZ2h0fS4KKworQGl0ZW0gYmxv Y2tfaGVpZ2h0CitEZXRlcm1pbmUgYmx1cnJpbmVzcyBmb3IgYmxvY2tzIG9mIGhlaWdodCBA dmFye2Jsb2NrX2hlaWdodH0uIElmIHNldCB0byBhbnkgdmFsdWUgc21hbGxlciAxLCBubyBi bG9ja3MgYXJlIHVzZWQgYW5kIHRoZSB3aG9sZSBpbWFnZSBpcyBwcm9jZXNzZWQgYXMgb25l IG5vIG1hdHRlciBvZiBAdmFye2Jsb2NrX3dpZHRofS4KKworQGl0ZW0gcGxhbmVzCitTZXQg cGxhbmVzIHRvIGZpbHRlci4gRGVmYXVsdCBpcyBmaXJzdCBvbmx5LgorQGVuZCB0YWJsZQor CitAc3Vic2VjdGlvbiBFeGFtcGxlcworCitAaXRlbWl6ZQorQGl0ZW0KK0RldGVybWluZSBi bHVyIGZvciA4MCUgb2YgbW9zdCBzaWduaWZpY2FudCAzMngzMiBibG9ja3M6CitAZXhhbXBs ZQorYmx1cmRldGVjdD1ibG9ja193aWR0aD0zMjpibG9ja19oZWlnaHQ9MzI6YmxvY2tfcGN0 PTgwCitAZW5kIGV4YW1wbGUKK0BlbmQgaXRlbWl6ZQorCiBAc2VjdGlvbiBibTNkCiAKIERl bm9pc2UgZnJhbWVzIHVzaW5nIEJsb2NrLU1hdGNoaW5nIDNEIGFsZ29yaXRobS4KZGlmZiAt LWdpdCBhL2xpYmF2ZmlsdGVyL01ha2VmaWxlIGIvbGliYXZmaWx0ZXIvTWFrZWZpbGUKaW5k ZXggMzhjYTM3OWU1YS4uMWRiMDk3YjQ2NCAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvTWFr ZWZpbGUKKysrIGIvbGliYXZmaWx0ZXIvTWFrZWZpbGUKQEAgLTE5NSw2ICsxOTUsNyBAQCBP QkpTLSQoQ09ORklHX0JMQUNLREVURUNUX0ZJTFRFUikgICAgICAgICAgICArPSB2Zl9ibGFj a2RldGVjdC5vCiBPQkpTLSQoQ09ORklHX0JMQUNLRlJBTUVfRklMVEVSKSAgICAgICAgICAg ICArPSB2Zl9ibGFja2ZyYW1lLm8KIE9CSlMtJChDT05GSUdfQkxFTkRfRklMVEVSKSAgICAg ICAgICAgICAgICAgICs9IHZmX2JsZW5kLm8gZnJhbWVzeW5jLm8KIE9CSlMtJChDT05GSUdf QkxFTkRfVlVMS0FOX0ZJTFRFUikgICAgICAgICAgICs9IHZmX2JsZW5kX3Z1bGthbi5vIGZy YW1lc3luYy5vIHZ1bGthbi5vIHZ1bGthbl9maWx0ZXIubworT0JKUy0kKENPTkZJR19CTFVS REVURUNUX0ZJTFRFUikgICAgICAgICAgICAgKz0gdmZfYmx1cmRldGVjdC5vIGVkZ2VfY29t bW9uLm8KIE9CSlMtJChDT05GSUdfQk0zRF9GSUxURVIpICAgICAgICAgICAgICAgICAgICs9 IHZmX2JtM2QubyBmcmFtZXN5bmMubwogT0JKUy0kKENPTkZJR19CT1hCTFVSX0ZJTFRFUikg ICAgICAgICAgICAgICAgKz0gdmZfYm94Ymx1ci5vIGJveGJsdXIubwogT0JKUy0kKENPTkZJ R19CT1hCTFVSX09QRU5DTF9GSUxURVIpICAgICAgICAgKz0gdmZfYXZnYmx1cl9vcGVuY2wu byBvcGVuY2wubyBcCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9hbGxmaWx0ZXJzLmMgYi9s aWJhdmZpbHRlci9hbGxmaWx0ZXJzLmMKaW5kZXggMzZmYTNhZThkNy4uMmFkNTIzZmQwZiAx MDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvYWxsZmlsdGVycy5jCisrKyBiL2xpYmF2ZmlsdGVy L2FsbGZpbHRlcnMuYwpAQCAtMTgzLDYgKzE4Myw3IEBAIGV4dGVybiBjb25zdCBBVkZpbHRl ciBmZl92Zl9ibGFja2RldGVjdDsKIGV4dGVybiBjb25zdCBBVkZpbHRlciBmZl92Zl9ibGFj a2ZyYW1lOwogZXh0ZXJuIGNvbnN0IEFWRmlsdGVyIGZmX3ZmX2JsZW5kOwogZXh0ZXJuIGNv bnN0IEFWRmlsdGVyIGZmX3ZmX2JsZW5kX3Z1bGthbjsKK2V4dGVybiBjb25zdCBBVkZpbHRl ciBmZl92Zl9ibHVyZGV0ZWN0OwogZXh0ZXJuIGNvbnN0IEFWRmlsdGVyIGZmX3ZmX2JtM2Q7 CiBleHRlcm4gY29uc3QgQVZGaWx0ZXIgZmZfdmZfYm94Ymx1cjsKIGV4dGVybiBjb25zdCBB VkZpbHRlciBmZl92Zl9ib3hibHVyX29wZW5jbDsKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVy L3ZlcnNpb24uaCBiL2xpYmF2ZmlsdGVyL3ZlcnNpb24uaAppbmRleCA5YWRkMTY1OGU1Li44 ZjFiMTY5NjlhIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci92ZXJzaW9uLmgKKysrIGIvbGli YXZmaWx0ZXIvdmVyc2lvbi5oCkBAIC0zMSw3ICszMSw3IEBACiAKICNpbmNsdWRlICJ2ZXJz aW9uX21ham9yLmgiCiAKLSNkZWZpbmUgTElCQVZGSUxURVJfVkVSU0lPTl9NSU5PUiAgMzYK KyNkZWZpbmUgTElCQVZGSUxURVJfVkVSU0lPTl9NSU5PUiAgMzcKICNkZWZpbmUgTElCQVZG SUxURVJfVkVSU0lPTl9NSUNSTyAxMDAKIAogCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci92 Zl9ibHVyZGV0ZWN0LmMgYi9saWJhdmZpbHRlci92Zl9ibHVyZGV0ZWN0LmMKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMjU4OGRkZTNkOQotLS0gL2Rldi9udWxs CisrKyBiL2xpYmF2ZmlsdGVyL3ZmX2JsdXJkZXRlY3QuYwpAQCAtMCwwICsxLDM5NiBAQAor LyoKKyAqIENvcHlyaWdodCAoYykgMjAyMSBUaGlsbyBCb3JnbWFubiA8dGhpbG8uYm9yZ21h bm4gX2F0XyBtYWlsLmRlPgorICoKKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEZGbXBlZy4K KyAqCisgKiBGRm1wZWcgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVz c2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMi4xIG9mIHRoZSBM aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAq IEZGbXBlZyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAq IExpY2Vuc2UgYWxvbmcgd2l0aCBGRm1wZWc7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUg U29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm dGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EKKyAqLworCisvKioKKyAqIEBm aWxlCisgKiBOby1yZWZlcmVuY2UgYmx1cmRldGVjdCBmaWx0ZXIKKyAqCisgKiBJbXBsZW1l bnRpbmc6CisgKiBNYXJ6aWxpYW5vLCBQaW5hLCBldCBhbC4gIkEgbm8tcmVmZXJlbmNlIHBl cmNlcHR1YWwgYmx1ciBtZXRyaWMuIiBQcm9jZWVkaW5ncy4KKyAqIEludGVybmF0aW9uYWwg Y29uZmVyZW5jZSBvbiBpbWFnZSBwcm9jZXNzaW5nLiBWb2wuIDMuIElFRUUsIDIwMDIuCisg KiBodHRwczovL2luZm9zY2llbmNlLmVwZmwuY2gvcmVjb3JkLzExMTgwMi9maWxlcy8xNCUy MEElMjBuby1yZWZlcmVuY2UlMjBwZXJjZXB0dWFsJTIwYmx1ciUyMG1ldHJpYy5wZGYKKyAq CisgKiBAYXV0aG9yIFRoaWxvIEJvcmdtYW5uIDx0aGlsby5ib3JnbWFubiBfYXRfIG1haWwu ZGU+CisgKi8KKworI2luY2x1ZGUgImxpYmF2dXRpbC9hdmFzc2VydC5oIgorI2luY2x1ZGUg ImxpYmF2dXRpbC9pbWd1dGlscy5oIgorI2luY2x1ZGUgImxpYmF2dXRpbC9vcHQuaCIKKyNp bmNsdWRlICJsaWJhdnV0aWwvcGl4ZWx1dGlscy5oIgorI2luY2x1ZGUgImxpYmF2dXRpbC9t b3Rpb25fdmVjdG9yLmgiCisjaW5jbHVkZSAibGliYXZ1dGlsL3Fzb3J0LmgiCisjaW5jbHVk ZSAiYXZmaWx0ZXIuaCIKKyNpbmNsdWRlICJmb3JtYXRzLmgiCisjaW5jbHVkZSAiaW50ZXJu YWwuaCIKKyNpbmNsdWRlICJ2aWRlby5oIgorI2luY2x1ZGUgImVkZ2VfY29tbW9uLmgiCisK K3N0YXRpYyBpbnQgY29tcChjb25zdCBmbG9hdCAqYSxjb25zdCBmbG9hdCAqYikKK3sKKyAg ICByZXR1cm4gRkZESUZGU0lHTigqYSwgKmIpOworfQorCit0eXBlZGVmIHN0cnVjdCBCTFJD b250ZXh0IHsKKyAgICBjb25zdCBBVkNsYXNzICpjbGFzczsKKworICAgIGludCBoc3ViLCB2 c3ViOworICAgIGludCBuYl9wbGFuZXM7CisKKyAgICBmbG9hdCAgIGxvdywgaGlnaDsKKyAg ICB1aW50OF90IGxvd191OCwgaGlnaF91ODsKKyAgICBpbnQgICAgIHJhZGl1czsgICAgICAg IC8vIHJhZGl1cyBkdXJpbmcgbG9jYWwgbWF4aW1hIGRldGVjdGlvbgorICAgIGludCAgICAg YmxvY2tfcGN0OyAgICAgLy8gcGVyY2VudGFnZSBvZiAic2hhcnBlc3QiIGJsb2NrcyBpbiB0 aGUgaW1hZ2UgdG8gdXNlIGZvciBibHVyaW5lc3MgY2FsY3VsYXRpb24KKyAgICBpbnQgICAg IGJsb2NrX3dpZHRoOyAgIC8vIHdpZHRoIGZvciBibG9jayBhYmJyZXZpYXRpb24KKyAgICBp bnQgICAgIGJsb2NrX2hlaWdodDsgIC8vIGhlaWdodCBmb3IgYmxvY2sgYWJicmV2aWF0aW9u CisgICAgaW50ICAgICBwbGFuZXM7ICAgICAgICAvLyBudW1iZXIgb2YgcGxhbmVzIHRvIGZp bHRlcgorCisgICAgZG91YmxlICAgYmx1cl90b3RhbDsKKyAgICB1aW50NjRfdCBuYl9mcmFt ZXM7CisKKyAgICBmbG9hdCAgICAqYmxrczsKKyAgICB1aW50OF90ICAqZmlsdGVyYnVmOwor ICAgIHVpbnQ4X3QgICp0bXBidWY7CisgICAgdWludDE2X3QgKmdyYWRpZW50czsKKyAgICBj aGFyICAgICAqZGlyZWN0aW9uczsKK30gQkxSQ29udGV4dDsKKworI2RlZmluZSBPRkZTRVQo eCkgb2Zmc2V0b2YoQkxSQ29udGV4dCwgeCkKKyNkZWZpbmUgRkxBR1MgQVZfT1BUX0ZMQUdf RklMVEVSSU5HX1BBUkFNfEFWX09QVF9GTEFHX1ZJREVPX1BBUkFNCitzdGF0aWMgY29uc3Qg QVZPcHRpb24gYmx1cmRldGVjdF9vcHRpb25zW10gPSB7CisgICAgeyAiaGlnaCIsICAgICAg ICAgICJzZXQgaGlnaCB0aHJlc2hvbGQiLCBPRkZTRVQoaGlnaCksIEFWX09QVF9UWVBFX0ZM T0FULCB7LmRibD0zMC8yNTUufSwgMCwgMSwgRkxBR1MgfSwKKyAgICB7ICJsb3ciLCAgICAg ICAgICAgInNldCBsb3cgdGhyZXNob2xkIiwgIE9GRlNFVChsb3cpLCAgQVZfT1BUX1RZUEVf RkxPQVQsIHsuZGJsPTE1LzI1NS59LCAwLCAxLCBGTEFHUyB9LAorICAgIHsgInJhZGl1cyIs ICAgICAgICAic2VhcmNoIHJhZGl1cyBmb3IgbWF4aW1hIGRldGVjdGlvbiIsIE9GRlNFVChy YWRpdXMpLCBBVl9PUFRfVFlQRV9JTlQsIHsuaTY0PTUwfSwgMSwgMTAwLCBGTEFHUyB9LAor ICAgIHsgImJsb2NrX3BjdCIsICAgICAiYmxvY2sgcG9vbGluZyB0aHJlc2hvbGQgd2hlbiBj YWxjdWxhdGluZyBibHVycmluZXNzIiwgT0ZGU0VUKGJsb2NrX3BjdCksIEFWX09QVF9UWVBF X0lOVCwgey5pNjQ9ODB9LCAxLCAxMDAsIEZMQUdTIH0sCisgICAgeyAiYmxvY2tfd2lkdGgi LCAgICJibG9jayBzaXplIGZvciBibG9jay1iYXNlZCBhYmJyZXZpYXRpb24gb2YgYmx1cnJp bmVzcyIsIE9GRlNFVChibG9ja193aWR0aCksIEFWX09QVF9UWVBFX0lOVCwgey5pNjQ9LTF9 LCAtMSwgSU5UX01BWCwgRkxBR1MgfSwKKyAgICB7ICJibG9ja19oZWlnaHQiLCAgImJsb2Nr IHNpemUgZm9yIGJsb2NrLWJhc2VkIGFiYnJldmlhdGlvbiBvZiBibHVycmluZXNzIiwgT0ZG U0VUKGJsb2NrX2hlaWdodCksIEFWX09QVF9UWVBFX0lOVCwgey5pNjQ9LTF9LCAtMSwgSU5U X01BWCwgRkxBR1MgfSwKKyAgICB7ICJwbGFuZXMiLCAgICAgICAgInNldCBwbGFuZXMgdG8g ZmlsdGVyIiwgT0ZGU0VUKHBsYW5lcyksIEFWX09QVF9UWVBFX0lOVCwgey5pNjQ9MX0sIDAs IDE1LCBGTEFHUyB9LAorICAgIHsgTlVMTCB9Cit9OworCitBVkZJTFRFUl9ERUZJTkVfQ0xB U1MoYmx1cmRldGVjdCk7CisKK3N0YXRpYyBhdl9jb2xkIGludCBibHVyZGV0ZWN0X2luaXQo QVZGaWx0ZXJDb250ZXh0ICpjdHgpCit7CisgICAgQkxSQ29udGV4dCAqcyA9IGN0eC0+cHJp djsKKworICAgIHMtPmxvd191OCAgPSBzLT5sb3cgICogMjU1LiArIC41OworICAgIHMtPmhp Z2hfdTggPSBzLT5oaWdoICogMjU1LiArIC41OworCisgICAgcmV0dXJuIDA7Cit9CisKK3N0 YXRpYyBpbnQgYmx1cmRldGVjdF9jb25maWdfaW5wdXQoQVZGaWx0ZXJMaW5rICppbmxpbmsp Cit7CisgICAgQVZGaWx0ZXJDb250ZXh0ICpjdHggPSBpbmxpbmstPmRzdDsKKyAgICBCTFJD b250ZXh0ICAgICAgKnMgICA9IGN0eC0+cHJpdjsKKyAgICBjb25zdCBpbnQgYnVmc2l6ZSAg ICA9IGlubGluay0+dyAqIGlubGluay0+aDsKKyAgICBjb25zdCBBVlBpeEZtdERlc2NyaXB0 b3IgKnBpeF9kZXNjOworCisgICAgcGl4X2Rlc2MgPSBhdl9waXhfZm10X2Rlc2NfZ2V0KGlu bGluay0+Zm9ybWF0KTsKKyAgICBzLT5oc3ViID0gcGl4X2Rlc2MtPmxvZzJfY2hyb21hX3c7 CisgICAgcy0+dnN1YiA9IHBpeF9kZXNjLT5sb2cyX2Nocm9tYV9oOworICAgIHMtPm5iX3Bs YW5lcyA9IGF2X3BpeF9mbXRfY291bnRfcGxhbmVzKGlubGluay0+Zm9ybWF0KTsKKworICAg IGlmIChzLT5ibG9ja193aWR0aCAgPCAxIHx8IHMtPmJsb2NrX2hlaWdodCA8IDEpIHsKKyAg ICAgICAgcy0+YmxvY2tfd2lkdGggID0gaW5saW5rLT53OworICAgICAgICBzLT5ibG9ja19o ZWlnaHQgPSBpbmxpbmstPmg7CisgICAgfQorCisgICAgcy0+dG1wYnVmICAgICA9IGF2X21h bGxvYyhidWZzaXplKTsKKyAgICBzLT5maWx0ZXJidWYgID0gYXZfbWFsbG9jKGJ1ZnNpemUp OworICAgIHMtPmdyYWRpZW50cyAgPSBhdl9jYWxsb2MoYnVmc2l6ZSwgc2l6ZW9mKCpzLT5n cmFkaWVudHMpKTsKKyAgICBzLT5kaXJlY3Rpb25zID0gYXZfbWFsbG9jKGJ1ZnNpemUpOwor ICAgIHMtPmJsa3MgICAgICAgPSBhdl9jYWxsb2MoKGlubGluay0+dyAvIHMtPmJsb2NrX3dp ZHRoKSAqIChpbmxpbmstPmggLyBzLT5ibG9ja19oZWlnaHQpLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2l6ZW9mKCpzLT5ibGtzKSk7CisKKyAgICBpZiAoIXMtPnRtcGJ1 ZiB8fCAhcy0+ZmlsdGVyYnVmIHx8ICFzLT5ncmFkaWVudHMgfHwgIXMtPmRpcmVjdGlvbnMg fHwgIXMtPmJsa3MpCisgICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7CisKKyAgICBy ZXR1cm4gMDsKK30KKworLy8gZWRnZSB3aWR0aCBpcyBkZWZpbmVkIGFzIHRoZSBkaXN0YW5j ZSBiZXR3ZWVuIHN1cnJvdW5kaW5nIG1heGltYSBvZiB0aGUgZWRnZSBwaXhlbAorc3RhdGlj IGZsb2F0IGVkZ2Vfd2lkdGgoQkxSQ29udGV4dCAqYmxyLCBpbnQgaSwgaW50IGosIGludDhf dCBkaXIsIGludCB3LCBpbnQgaCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBlZGdl LCBjb25zdCB1aW50OF90ICpzcmMsIGludCBzcmNfbGluZXNpemUpCit7CisgICAgZmxvYXQg d2lkdGggPSAwOworICAgIGludCBkWCwgZFk7CisgICAgaW50IHNpZ247CisgICAgaW50IHRt cDsKKyAgICBpbnQgcDE7CisgICAgaW50IHAyOworICAgIGludCBrLCB4LCB5OworICAgIGlu dCBlZGdlMTsKKyAgICBpbnQgZWRnZTI7CisgICAgZmxvYXQgbHVtYTEgPSAwLjA7IC8vIGF2 ZXJhZ2UgbHVtYSBkaWZmZXJlbmNlIHBlciBlZGdlIHBpeGVsCisgICAgZmxvYXQgbHVtYTIg PSAwLjA7CisgICAgaW50IHJhZGl1cyA9IGJsci0+cmFkaXVzOworCisgICAgc3dpdGNoKGRp cikgeworICAgIGNhc2UgRElSRUNUSU9OX0hPUklaT05UQUw6IGRYID0gMTsgZFkgPSAgMDsg YnJlYWs7CisgICAgY2FzZSBESVJFQ1RJT05fVkVSVElDQUw6ICAgZFggPSAwOyBkWSA9ICAx OyBicmVhazsKKyAgICBjYXNlIERJUkVDVElPTl80NVVQOiAgICAgICBkWCA9IDE7IGRZID0g LTE7IGJyZWFrOworICAgIGNhc2UgRElSRUNUSU9OXzQ1RE9XTjogICAgIGRYID0gMTsgZFkg PSAgMTsgYnJlYWs7CisgICAgfQorICAgIGlmIChkaXIgPT0gRElSRUNUSU9OX0hPUklaT05U QUwpIHJldHVybiAwOworCisgICAgLy8gZGV0ZXJtaW5lcyBpZiBzZWFyY2ggaW4gZGlyZWN0 aW9uIGRYL2RZIGlzIGxvb2tpbmcgZm9yIGEgbWF4aW11bSBvciBtaW5pbXVtCisgICAgc2ln biA9IHNyY1tqICogc3JjX2xpbmVzaXplICsgaV0gPiBzcmNbKGogLSBkWSkgKiBzcmNfbGlu ZXNpemUgKyBpIC0gZFhdID8gMSA6IC0xOworCisgICAgLy8gc2VhcmNoIGluIC0oZFgvZFkp IGRpcmVjdGlvbgorICAgIGZvciAoayA9IDA7IGsgPCByYWRpdXM7IGsrKykgeworICAgICAg ICB4ID0gaSAtIGsqZFg7CisgICAgICAgIHkgPSBqIC0gaypkWTsKKyAgICAgICAgcDEgPSB5 ICogc3JjX2xpbmVzaXplICsgeDsKKyAgICAgICAgeCAtPSBkWDsKKyAgICAgICAgeSAtPSBk WTsKKyAgICAgICAgcDIgPSB5ICogc3JjX2xpbmVzaXplICsgeDsKKyAgICAgICAgaWYgKHgg PCAwIHx8IHggPj0gdyB8fCB5IDwgMCB8fCB5ID49IGgpCisgICAgICAgICAgICByZXR1cm4g MDsKKworICAgICAgICB0bXAgPSAoc3JjW3AxXSAtIHNyY1twMl0pICogc2lnbjsKKworICAg ICAgICBpZiAodG1wIDw9IDApIC8vIGxvY2FsIG1heGltdW0gZm91bmQKKyAgICAgICAgICAg IGJyZWFrOworCisgICAgICAgIGx1bWExICs9IHRtcDsKKyAgICB9CisgICAgaWYgKGsgPiAw KSBsdW1hMSAvPSBrOworICAgIGVkZ2UxID0gazsKKyAgICB3aWR0aCArPSBrOworCisgICAg Ly8gc2VhcmNoIGluICsoZFgvZFkpIGRpcmVjdGlvbgorICAgIGZvciAoayA9IDA7IGsgPCBy YWRpdXM7IGsrKykgeworICAgICAgICB4ID0gaSArIGsgKiBkWDsKKyAgICAgICAgeSA9IGog KyBrICogZFk7CisgICAgICAgIHAxID0geSAqIHNyY19saW5lc2l6ZSArIHg7CisgICAgICAg IHggKz0gZFg7CisgICAgICAgIHkgKz0gZFk7CisgICAgICAgIHAyID0geSAqIHNyY19saW5l c2l6ZSArIHg7CisgICAgICAgIGlmICh4IDwgMCB8fCB4ID49IHcgfHwgeSA8IDAgfHwgeSA+ PSBoKQorICAgICAgICAgICAgcmV0dXJuIDA7CisKKyAgICAgICAgdG1wID0gKHNyY1twMV0g LSBzcmNbcDJdKSAqIHNpZ247CisKKyAgICAgICAgaWYgKHRtcCA+PSAwKSAvLyBsb2NhbCBt YXhpbXVtIGZvdW5kCisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBsdW1hMiAtPSB0 bXA7CisgICAgfQorICAgIGlmIChrID4gMCkgbHVtYTIgLz0gazsKKyAgICBlZGdlMiA9IGs7 CisgICAgd2lkdGggKz0gazsKKworICAgIC8vIGZvciA0NSBkZWdyZWUgZGlyZWN0aW9ucyBh cHByb3hpbWF0ZSBlZGdlIHdpZHRoIGluIHBpeGVsIHVuaXRzOiAwLjcgfj0gc3FydCgyKS8y CisgICAgaWYgKGRpciA9PSBESVJFQ1RJT05fNDVVUCB8fCBkaXIgPT0gRElSRUNUSU9OXzQ1 RE9XTikKKyAgICAgICAgd2lkdGggKj0gMC43OworCisgICAgcmV0dXJuIHdpZHRoOworfQor CitzdGF0aWMgZmxvYXQgY2FsY3VsYXRlX2JsdXIoQkxSQ29udGV4dCAqcywgaW50IHcsIGlu dCBoLCBpbnQgaHN1YiwgaW50IHZzdWIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg dWludDhfdCogZGlyLCBpbnQgZGlyX2xpbmVzaXplLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVpbnQ4X3QqIGRzdCwgaW50IGRzdF9saW5lc2l6ZSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1aW50OF90KiBzcmMsIGludCBzcmNfbGluZXNpemUpCit7CisgICAg ZmxvYXQgdG90YWxfd2lkdGggPSAwLjA7CisgICAgaW50IGJsb2NrX2NvdW50OworICAgIGRv dWJsZSBibG9ja190b3RhbF93aWR0aDsKKworICAgIGludCBpLCBqOworICAgIGludCBibGtj bnQgPSAwOworCisgICAgZmxvYXQgKmJsa3MgPSBzLT5ibGtzOworICAgIGZsb2F0IGJsb2Nr X3Bvb2xfdGhyZXNob2xkID0gcy0+YmxvY2tfcGN0IC8gMTAwLjA7CisKKyAgICBpbnQgYmxv Y2tfd2lkdGggID0gQVZfQ0VJTF9SU0hJRlQocy0+YmxvY2tfd2lkdGgsICBoc3ViKTsKKyAg ICBpbnQgYmxvY2tfaGVpZ2h0ID0gQVZfQ0VJTF9SU0hJRlQocy0+YmxvY2tfaGVpZ2h0LCB2 c3ViKTsKKyAgICBpbnQgYnJvd3MgPSBoIC8gYmxvY2tfaGVpZ2h0OworICAgIGludCBiY29s cyA9IHcgLyBibG9ja193aWR0aDsKKworICAgIGZvciAoaW50IGJsa2ogPSAwOyBibGtqIDwg YnJvd3M7IGJsa2orKykgeworICAgICAgICBmb3IgKGludCBibGtpID0gMDsgYmxraSA8IGJj b2xzOyBibGtpKyspIHsKKyAgICAgICAgICAgIGJsb2NrX3RvdGFsX3dpZHRoID0gMC4wOwor ICAgICAgICAgICAgYmxvY2tfY291bnQgPSAwOworICAgICAgICAgICAgZm9yIChpbnQgaW5q ID0gMDsgaW5qIDwgYmxvY2tfaGVpZ2h0OyBpbmorKykgeworICAgICAgICAgICAgICAgIGZv ciAoaW50IGluaSA9IDA7IGluaSA8IGJsb2NrX3dpZHRoOyBpbmkrKykgeworICAgICAgICAg ICAgICAgICAgICBpID0gYmxraSAqIGJsb2NrX3dpZHRoICsgaW5pOworICAgICAgICAgICAg ICAgICAgICBqID0gYmxraiAqIGJsb2NrX2hlaWdodCArIGluajsKKworICAgICAgICAgICAg ICAgICAgICBpZiAoZHN0W2ogKiBkc3RfbGluZXNpemUgKyBpXSA+IDApIHsKKyAgICAgICAg ICAgICAgICAgICAgICAgIGZsb2F0IHdpZHRoID0gZWRnZV93aWR0aChzLCBpLCBqLCBkaXJb aipkaXJfbGluZXNpemUraV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdywgaCwgZHN0W2oqZHN0X2xpbmVzaXplK2ldLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYywgc3JjX2xpbmVz aXplKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh3aWR0aCA+IDAuMDAxKSB7IC8v IHRocm93IGF3YXkgemVyb3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9ja19j b3VudCsrOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrX3RvdGFsX3dpZHRo ICs9IHdpZHRoOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg ICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAg Ly8gaWYgbm90IGVub3VnaCBlZGdlIHBpeGVscyBpbiBhIGJsb2NrLCBjb25zaWRlciBpdCBz bW9vdGgKKyAgICAgICAgICAgIGlmIChibG9ja190b3RhbF93aWR0aCA+PSAyKSB7CisgICAg ICAgICAgICAgICAgYmxrc1tibGtjbnRdID0gYmxvY2tfdG90YWxfd2lkdGggLyBibG9ja19j b3VudDsKKyAgICAgICAgICAgICAgICBibGtjbnQrKzsKKyAgICAgICAgICAgIH0KKyAgICAg ICAgfQorICAgIH0KKworICAgIC8vIHNpbXBsZSBibG9jayBwb29saW5nIGJ5IHNvcnRpbmcg YW5kIGtlZXBpbmcgdGhlIHNoYXJwZXIgYmxvY2tzCisgICAgQVZfUVNPUlQoYmxrcywgYmxr Y250LCBmbG9hdCwgY29tcCk7CisgICAgYmxrY250ID0gY2VpbChibGtjbnQgKiBibG9ja19w b29sX3RocmVzaG9sZCk7CisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBibGtjbnQ7IGkrKykg eworICAgICAgICB0b3RhbF93aWR0aCArPSBibGtzW2ldOworICAgIH0KKworICAgIHJldHVy biAgdG90YWxfd2lkdGggLyBibGtjbnQ7Cit9CisKK3N0YXRpYyB2b2lkIHNldF9tZXRhKEFW RGljdGlvbmFyeSAqKm1ldGFkYXRhLCBjb25zdCBjaGFyICprZXksIGZsb2F0IGQpCit7Cisg ICAgY2hhciB2YWx1ZVsxMjhdOworICAgIHNucHJpbnRmKHZhbHVlLCBzaXplb2YodmFsdWUp LCAiJWYiLCBkKTsKKyAgICBhdl9kaWN0X3NldChtZXRhZGF0YSwga2V5LCB2YWx1ZSwgMCk7 Cit9CisKK3N0YXRpYyBpbnQgYmx1cmRldGVjdF9maWx0ZXJfZnJhbWUoQVZGaWx0ZXJMaW5r ICppbmxpbmssIEFWRnJhbWUgKmluKQoreworICAgIEFWRmlsdGVyQ29udGV4dCAqY3R4ICA9 IGlubGluay0+ZHN0OworICAgIEJMUkNvbnRleHQgKnMgICAgICAgICA9IGN0eC0+cHJpdjsK KyAgICBBVkZpbHRlckxpbmsgKm91dGxpbmsgPSBjdHgtPm91dHB1dHNbMF07CisKKyAgICBj b25zdCBpbnQgaW53ID0gaW5saW5rLT53OworICAgIGNvbnN0IGludCBpbmggPSBpbmxpbmst Pmg7CisKKyAgICB1aW50OF90ICp0bXBidWYgICAgID0gcy0+dG1wYnVmOworICAgIHVpbnQ4 X3QgKmZpbHRlcmJ1ZiAgPSBzLT5maWx0ZXJidWY7CisgICAgdWludDE2X3QgKmdyYWRpZW50 cyA9IHMtPmdyYWRpZW50czsKKyAgICBpbnQ4X3QgKmRpcmVjdGlvbnMgID0gcy0+ZGlyZWN0 aW9uczsKKworICAgIGZsb2F0IGJsdXIgPSAwLjBmOworICAgIGludCBucGxhbmVzID0gMDsK KyAgICBBVkRpY3Rpb25hcnkgKiptZXRhZGF0YTsKKyAgICBtZXRhZGF0YSA9ICZpbi0+bWV0 YWRhdGE7CisKKyAgICBmb3IgKGludCBwbGFuZSA9IDA7IHBsYW5lIDwgcy0+bmJfcGxhbmVz OyBwbGFuZSsrKSB7CisgICAgICAgIGludCBoc3ViID0gcGxhbmUgPT0gMSB8fCBwbGFuZSA9 PSAyID8gcy0+aHN1YiA6IDA7CisgICAgICAgIGludCB2c3ViID0gcGxhbmUgPT0gMSB8fCBw bGFuZSA9PSAyID8gcy0+dnN1YiA6IDA7CisgICAgICAgIGludCB3ID0gQVZfQ0VJTF9SU0hJ RlQoaW53LCBoc3ViKTsKKyAgICAgICAgaW50IGggPSBBVl9DRUlMX1JTSElGVChpbmgsIHZz dWIpOworCisgICAgICAgIGlmICghKCgxIDw8IHBsYW5lKSAmIHMtPnBsYW5lcykpCisgICAg ICAgICAgICBjb250aW51ZTsKKworICAgICAgICBucGxhbmVzKys7CisKKyAgICAgICAgLy8g Z2F1c3NpYW4gZmlsdGVyIHRvIHJlZHVjZSBub2lzZQorICAgICAgICBmZl9nYXVzc2lhbl9i bHVyKHcsIGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyYnVmLCAgdywKKyAg ICAgICAgICAgICAgICAgICAgICAgICBpbi0+ZGF0YVtwbGFuZV0sIGluLT5saW5lc2l6ZVtw bGFuZV0pOworCisgICAgICAgIC8vIGNvbXB1dGUgdGhlIDE2LWJpdHMgZ3JhZGllbnRzIGFu ZCBkaXJlY3Rpb25zIGZvciB0aGUgbmV4dCBzdGVwCisgICAgICAgIGZmX3NvYmVsKHcsIGgs IGdyYWRpZW50cywgdywgZGlyZWN0aW9ucywgdywgZmlsdGVyYnVmLCB3KTsKKworICAgICAg ICAvLyBub25fbWF4aW11bV9zdXBwcmVzc2lvbigpIHdpbGwgYWN0dWFsbHkga2VlcCAmIGNs aXAgd2hhdCdzIG5lY2Vzc2FyeSBhbmQKKyAgICAgICAgLy8gaWdub3JlIHRoZSByZXN0LCBz byB3ZSBuZWVkIGEgY2xlYW4gb3V0cHV0IGJ1ZmZlcgorICAgICAgICBtZW1zZXQodG1wYnVm LCAwLCBpbncgKiBpbmgpOworICAgICAgICBmZl9ub25fbWF4aW11bV9zdXBwcmVzc2lvbih3 LCBoLCB0bXBidWYsIHcsIGRpcmVjdGlvbnMsIHcsIGdyYWRpZW50cywgdyk7CisKKworICAg ICAgICAvLyBrZWVwIGhpZ2ggdmFsdWVzLCBvciBsb3cgdmFsdWVzIHN1cnJvdW5kZWQgYnkg aGlnaCB2YWx1ZXMKKyAgICAgICAgZmZfZG91YmxlX3RocmVzaG9sZChzLT5sb3dfdTgsIHMt PmhpZ2hfdTgsIHcsIGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wYnVmLCB3 LCB0bXBidWYsIHcpOworCisgICAgICAgIGJsdXIgKz0gY2FsY3VsYXRlX2JsdXIocywgdywg aCwgaHN1YiwgdnN1YiwgZGlyZWN0aW9ucywgdywKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHRtcGJ1ZiwgdywgZmlsdGVyYnVmLCB3KTsKKyAgICB9CisKKyAgICBpZiAobnBs YW5lcykKKyAgICAgICAgYmx1ciAvPSBucGxhbmVzOworCisgICAgcy0+Ymx1cl90b3RhbCAr PSBibHVyOworCisgICAgLy8gd3JpdGUgc3RhdHMKKyAgICBhdl9sb2coY3R4LCBBVl9MT0df VkVSQk9TRSwgImJsdXI6ICUuN2ZcbiIsIGJsdXIpOworCisgICAgc2V0X21ldGEobWV0YWRh dGEsICJsYXZmaS5ibHVyIiwgYmx1cik7CisKKyAgICBzLT5uYl9mcmFtZXMgPSBpbmxpbmst PmZyYW1lX2NvdW50X2luOworCisgICAgcmV0dXJuIGZmX2ZpbHRlcl9mcmFtZShvdXRsaW5r LCBpbik7Cit9CisKK3N0YXRpYyBhdl9jb2xkIHZvaWQgYmx1cmRldGVjdF91bmluaXQoQVZG aWx0ZXJDb250ZXh0ICpjdHgpCit7CisgICAgQkxSQ29udGV4dCAqcyA9IGN0eC0+cHJpdjsK KworICAgIGlmIChzLT5uYl9mcmFtZXMgPiAwKSB7CisgICAgICAgIGF2X2xvZyhjdHgsIEFW X0xPR19JTkZPLCAiYmx1ciBtZWFuOiAlLjdmXG4iLAorICAgICAgICAgICAgICAgcy0+Ymx1 cl90b3RhbCAvIHMtPm5iX2ZyYW1lcyk7CisgICAgfQorCisgICAgYXZfZnJlZXAoJnMtPnRt cGJ1Zik7CisgICAgYXZfZnJlZXAoJnMtPmZpbHRlcmJ1Zik7CisgICAgYXZfZnJlZXAoJnMt PmdyYWRpZW50cyk7CisgICAgYXZfZnJlZXAoJnMtPmRpcmVjdGlvbnMpOworICAgIGF2X2Zy ZWVwKCZzLT5ibGtzKTsKK30KKworc3RhdGljIGNvbnN0IGVudW0gQVZQaXhlbEZvcm1hdCBw aXhfZm10c1tdID0geworICAgIEFWX1BJWF9GTVRfR1JBWTgsCisgICAgQVZfUElYX0ZNVF9H QlJQLCAgICAgQVZfUElYX0ZNVF9HQlJBUCwKKyAgICBBVl9QSVhfRk1UX1lVVjQyMlAsICBB Vl9QSVhfRk1UX1lVVjQyMFAsCisgICAgQVZfUElYX0ZNVF9ZVVY0NDRQLCAgQVZfUElYX0ZN VF9ZVVY0NDBQLAorICAgIEFWX1BJWF9GTVRfWVVWNDExUCwgIEFWX1BJWF9GTVRfWVVWNDEw UCwKKyAgICBBVl9QSVhfRk1UX1lVVko0NDBQLCBBVl9QSVhfRk1UX1lVVko0MTFQLCBBVl9Q SVhfRk1UX1lVVko0MjBQLAorICAgIEFWX1BJWF9GTVRfWVVWSjQyMlAsIEFWX1BJWF9GTVRf WVVWSjQ0NFAsCisgICAgQVZfUElYX0ZNVF9ZVVZBNDQ0UCwgQVZfUElYX0ZNVF9ZVVZBNDIy UCwgQVZfUElYX0ZNVF9ZVVZBNDIwUCwKKyAgICBBVl9QSVhfRk1UX05PTkUKK307CisKK3N0 YXRpYyBjb25zdCBBVkZpbHRlclBhZCBibHVyZGV0ZWN0X2lucHV0c1tdID0geworICAgIHsK KyAgICAgICAgLm5hbWUgICAgICAgICA9ICJkZWZhdWx0IiwKKyAgICAgICAgLnR5cGUgICAg ICAgICA9IEFWTUVESUFfVFlQRV9WSURFTywKKyAgICAgICAgLmNvbmZpZ19wcm9wcyA9IGJs dXJkZXRlY3RfY29uZmlnX2lucHV0LAorICAgICAgICAuZmlsdGVyX2ZyYW1lID0gYmx1cmRl dGVjdF9maWx0ZXJfZnJhbWUsCisgICAgfSwKK307CisKK3N0YXRpYyBjb25zdCBBVkZpbHRl clBhZCBibHVyZGV0ZWN0X291dHB1dHNbXSA9IHsKKyAgICB7CisgICAgICAgIC5uYW1lID0g ImRlZmF1bHQiLAorICAgICAgICAudHlwZSA9IEFWTUVESUFfVFlQRV9WSURFTywKKyAgICB9 LAorfTsKKworY29uc3QgQVZGaWx0ZXIgZmZfdmZfYmx1cmRldGVjdCA9IHsKKyAgICAubmFt ZSAgICAgICAgICA9ICJibHVyZGV0ZWN0IiwKKyAgICAuZGVzY3JpcHRpb24gICA9IE5VTExf SUZfQ09ORklHX1NNQUxMKCJCbHVyZGV0ZWN0IGZpbHRlci4iKSwKKyAgICAucHJpdl9zaXpl ICAgICA9IHNpemVvZihCTFJDb250ZXh0KSwKKyAgICAuaW5pdCAgICAgICAgICA9IGJsdXJk ZXRlY3RfaW5pdCwKKyAgICAudW5pbml0ICAgICAgICA9IGJsdXJkZXRlY3RfdW5pbml0LAor ICAgIEZJTFRFUl9QSVhGTVRTX0FSUkFZKHBpeF9mbXRzKSwKKyAgICBGSUxURVJfSU5QVVRT KGJsdXJkZXRlY3RfaW5wdXRzKSwKKyAgICBGSUxURVJfT1VUUFVUUyhibHVyZGV0ZWN0X291 dHB1dHMpLAorICAgIC5wcml2X2NsYXNzICAgID0gJmJsdXJkZXRlY3RfY2xhc3MsCisgICAg LmZsYWdzICAgICAgICAgPSBBVkZJTFRFUl9GTEFHX01FVEFEQVRBX09OTFksCit9OworCmRp ZmYgLS1naXQgYS90ZXN0cy9mYXRlL2ZpbHRlci12aWRlby5tYWsgYi90ZXN0cy9mYXRlL2Zp bHRlci12aWRlby5tYWsKaW5kZXggNmMwZDhkZjAzMi4uNjhmNGMwODRmOCAxMDA2NDQKLS0t IGEvdGVzdHMvZmF0ZS9maWx0ZXItdmlkZW8ubWFrCisrKyBiL3Rlc3RzL2ZhdGUvZmlsdGVy LXZpZGVvLm1hawpAQCAtODY3LDYgKzg2Nyw5IEBAIGZhdGUtZmlsdGVyLW1ldGEtNDU2MC1y b3RhdGUwOiBDTUQgPSBmcmFtZWNyYyAtYXV0b19jb252ZXJzaW9uX2ZpbHRlcnMgLWZsYWdz ICtiCiAKIFJFRkNNUF9ERVBTID0gRkZNUEVHIExBVkZJX0lOREVWIFRFU1RTUkMyX0ZJTFRF UiBBVkdCTFVSX0ZJTFRFUiBNRVRBREFUQV9GSUxURVIKIAorRkFURV9GSUxURVItJChjYWxs IEFMTFlFUywgJChSRUZDTVBfREVQUykgQkxVUkRFVEVDVF9GSUxURVIpICs9IGZhdGUtZmls dGVyLXJlZmNtcC1ibHVyZGV0ZWN0LXl1dgorZmF0ZS1maWx0ZXItcmVmY21wLWJsdXJkZXRl Y3QteXV2OiBDTUQgPSBjbXBfbWV0YWRhdGEgYmx1cmRldGVjdCB5dXY0MjBwIDAuMDE1CisK IEZBVEVfRklMVEVSLSQoY2FsbCBBTExZRVMsICQoUkVGQ01QX0RFUFMpIFBTTlJfRklMVEVS KSArPSBmYXRlLWZpbHRlci1yZWZjbXAtcHNuci1yZ2IKIGZhdGUtZmlsdGVyLXJlZmNtcC1w c25yLXJnYjogQ01EID0gcmVmY21wX21ldGFkYXRhIHBzbnIgcmdiMjQgMC4wMDIKIApkaWZm IC0tZ2l0IGEvdGVzdHMvcmVmL2ZhdGUvZmlsdGVyLXJlZmNtcC1ibHVyZGV0ZWN0LXl1diBi L3Rlc3RzL3JlZi9mYXRlL2ZpbHRlci1yZWZjbXAtYmx1cmRldGVjdC15dXYKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uYTY0YTlhMDdiYQotLS0gL2Rldi9udWxs CisrKyBiL3Rlc3RzL3JlZi9mYXRlL2ZpbHRlci1yZWZjbXAtYmx1cmRldGVjdC15dXYKQEAg LTAsMCArMSwxMCBAQAorZnJhbWU6MCAgICBwdHM6MCAgICAgICBwdHNfdGltZTowCitsYXZm aS5ibHVyPTQuNDgwNjQwCitmcmFtZToxICAgIHB0czoxICAgICAgIHB0c190aW1lOjEKK2xh dmZpLmJsdXI9NC41NjkzOTgKK2ZyYW1lOjIgICAgcHRzOjIgICAgICAgcHRzX3RpbWU6Mgor bGF2ZmkuYmx1cj00LjYwOTM4NgorZnJhbWU6MyAgICBwdHM6MyAgICAgICBwdHNfdGltZToz CitsYXZmaS5ibHVyPTQuMzU3MzQwCitmcmFtZTo0ICAgIHB0czo0ICAgICAgIHB0c190aW1l OjQKK2xhdmZpLmJsdXI9NC4zOTI4NzEKLS0gCjIuMjAuMSAoQXBwbGUgR2l0LTExNykKCg== --------------VF5EHi64MlDLxKC6Bf3osa36 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". --------------VF5EHi64MlDLxKC6Bf3osa36--