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 9241849065 for ; Wed, 1 May 2024 23:19:32 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1E59B68CD5C; Thu, 2 May 2024 02:19:29 +0300 (EEST) Received: from a27-96.smtp-out.us-west-2.amazonses.com (a27-96.smtp-out.us-west-2.amazonses.com [54.240.27.96]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3B52F68D637 for ; Thu, 2 May 2024 02:19:22 +0300 (EEST) To: =?UTF-8?Q?FFmpeg_development_discussions_and_patches?= Date: Wed, 1 May 2024 23:19:18 +0000 Mime-Version: 1.0 In-Reply-To: References: <04B945DB-E2EB-4972-9B42-1775A967A349@cosmin.at> X-Priority: 3 (Normal) X-Mailer: Amazon WorkMail Thread-Index: AQHafpFyBaVbFnmkThSiv1mN9VqQrQdjIr3q Thread-Topic: [FFmpeg-devel] [PATCH] Added alpha layer support for smartblur X-Original-Mailer: Apple Mail (2.3774.500.171.1.1) X-Wm-Sent-Timestamp: 1714605557 Message-ID: <0101018f36748c3d-3064fcba-f21c-496e-a4a0-1f1605ddc92e-000000@us-west-2.amazonses.com> Feedback-ID: 1.us-west-2.An468LAV0jCjQDrDLvlZjeAthld7qrhZr+vow8irkvU=:AmazonSES X-SES-Outgoing: 2024.05.01-54.240.27.96 Subject: Re: [FFmpeg-devel] [PATCH] Added alpha layer support for smartblur 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: , From: Cosmin Stejerean via ffmpeg-devel Reply-To: FFmpeg development discussions and patches Cc: =?UTF-8?Q?Cosmin_Stejerean?= 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: DQoNCj4gT24gTWFyIDI1LCAyMDI0LCBhdCAxOjQ54oCvQU0sIEFuZHJlYSBNYXN0cm9iZXJ0aSB2 aWEgZmZtcGVnLWRldmVsIDxmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZz4gd3JvdGU6DQo+IA0KPiBT aWduZWQtb2ZmLWJ5OiBBbmRyZWEgTWFzdHJvYmVydGkgPDEwNzM2NTk1QHBvbGltaS5pdD4NCj4g LS0tDQo+IGRvYy9maWx0ZXJzLnRleGkgICAgICAgICAgIHwgMjAgKysrKysrKysrKysrKysrKy0N Cj4gbGliYXZmaWx0ZXIvdmVyc2lvbi5oICAgICAgfCAgMiArLQ0KPiBsaWJhdmZpbHRlci92Zl9z bWFydGJsdXIuYyB8IDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tDQo+ IDMgZmlsZXMgY2hhbmdlZCwgNTUgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pDQo+IA0K PiBkaWZmIC0tZ2l0IGEvZG9jL2ZpbHRlcnMudGV4aSBiL2RvYy9maWx0ZXJzLnRleGkNCj4gaW5k ZXggOTEzMzY1NjcxZC4uMzBiMzYyNzcyNCAxMDA2NDQNCj4gLS0tIGEvZG9jL2ZpbHRlcnMudGV4 aQ0KPiArKysgYi9kb2MvZmlsdGVycy50ZXhpDQo+IEBAIC0yMjY4OCw5ICsyMjY4OCwyNyBAQCB3 aGV0aGVyIGEgcGl4ZWwgc2hvdWxkIGJlIGJsdXJyZWQgb3Igbm90LiBUaGUgb3B0aW9uIHZhbHVl IG11c3QgYmUgYW4NCj4gaW50ZWdlciBpbiB0aGUgcmFuZ2UgWy0zMCwzMF0uIEEgdmFsdWUgb2Yg MCB3aWxsIGZpbHRlciBhbGwgdGhlIGltYWdlLA0KPiBhIHZhbHVlIGluY2x1ZGVkIGluIFswLDMw XSB3aWxsIGZpbHRlciBmbGF0IGFyZWFzIGFuZCBhIHZhbHVlIGluY2x1ZGVkDQo+IGluIFstMzAs MF0gd2lsbCBmaWx0ZXIgZWRnZXMuIERlZmF1bHQgdmFsdWUgaXMgQG9wdGlvbntsdW1hX3RocmVz aG9sZH0uDQo+ICsNCj4gK0BpdGVtIGFscGhhX3JhZGl1cywgYXINCj4gK1NldCB0aGUgYWxwaGEg cmFkaXVzLiBUaGUgb3B0aW9uIHZhbHVlIG11c3QgYmUgYSBmbG9hdCBudW1iZXIgaW4NCj4gK3Ro ZSByYW5nZSBbMC4xLDUuMF0gdGhhdCBzcGVjaWZpZXMgdGhlIHZhcmlhbmNlIG9mIHRoZSBnYXVz c2lhbiBmaWx0ZXINCj4gK3VzZWQgdG8gYmx1ciB0aGUgaW1hZ2UgKHNsb3dlciBpZiBsYXJnZXIp LiBEZWZhdWx0IHZhbHVlIGlzIDEuMC4NCg0KDQpEZWZhdWx0IHZhbHVlIHNob3VsZCBiZSBAb3B0 aW9ue2x1bWFfcmFkaXVzfS4NCg0KPiArDQo+ICtAaXRlbSBhbHBoYV9zdHJlbmd0aCwgYXMNCj4g K1NldCB0aGUgYWxwaGEgc3RyZW5ndGguIFRoZSBvcHRpb24gdmFsdWUgbXVzdCBiZSBhIGZsb2F0 IG51bWJlcg0KPiAraW4gdGhlIHJhbmdlIFstMS4wLDEuMF0gdGhhdCBjb25maWd1cmVzIHRoZSBi bHVycmluZy4gQSB2YWx1ZSBpbmNsdWRlZA0KPiAraW4gWzAuMCwxLjBdIHdpbGwgYmx1ciB0aGUg aW1hZ2Ugd2hlcmVhcyBhIHZhbHVlIGluY2x1ZGVkIGluDQo+ICtbLTEuMCwwLjBdIHdpbGwgc2hh cnBlbiB0aGUgaW1hZ2UuIERlZmF1bHQgdmFsdWUgaXMgMS4wLg0KDQpEZWZhdWx0IHZhbHVlIHNo b3VsZCBiZSBAb3B0aW9ue2x1bWFfc3RyZW5ndGh9Lg0KDQo+ICsNCj4gK0BpdGVtIGFscGhhX3Ro cmVzaG9sZCwgYXQNCj4gK1NldCB0aGUgYWxwaGEgdGhyZXNob2xkIHVzZWQgYXMgYSBjb2VmZmlj aWVudCB0byBkZXRlcm1pbmUNCj4gK3doZXRoZXIgYSBwaXhlbCBzaG91bGQgYmUgYmx1cnJlZCBv ciBub3QuIFRoZSBvcHRpb24gdmFsdWUgbXVzdCBiZSBhbg0KPiAraW50ZWdlciBpbiB0aGUgcmFu Z2UgWy0zMCwzMF0uIEEgdmFsdWUgb2YgMCB3aWxsIGZpbHRlciBhbGwgdGhlIGltYWdlLA0KPiAr YSB2YWx1ZSBpbmNsdWRlZCBpbiBbMCwzMF0gd2lsbCBmaWx0ZXIgZmxhdCBhcmVhcyBhbmQgYSB2 YWx1ZSBpbmNsdWRlZA0KPiAraW4gWy0zMCwwXSB3aWxsIGZpbHRlciBlZGdlcy4gRGVmYXVsdCB2 YWx1ZSBpcyAwLg0KDQpEZWZhdWx0IHZhbHVlIHNob3VsZCBiZSBAb3B0aW9ue2x1bWFfdGhyZXNo b2xkfS4NCg0KPiBAZW5kIHRhYmxlDQo+IC1JZiBhIGNocm9tYSBvcHRpb24gaXMgbm90IGV4cGxp Y2l0bHkgc2V0LCB0aGUgY29ycmVzcG9uZGluZyBsdW1hIHZhbHVlDQo+ICtJZiBhIGNocm9tYSBv ciBhbHBoYSBvcHRpb24gaXMgbm90IGV4cGxpY2l0bHkgc2V0LCB0aGUgY29ycmVzcG9uZGluZyBs dW1hIHZhbHVlDQo+IGlzIHNldC4NCj4gIEBzZWN0aW9uIHNvYmVsDQo+IGRpZmYgLS1naXQgYS9s aWJhdmZpbHRlci92ZXJzaW9uLmggYi9saWJhdmZpbHRlci92ZXJzaW9uLmgNCj4gaW5kZXggZDVh NmJjMTQzYS4uZjAxYjNmOGU5MSAxMDA2NDQNCj4gLS0tIGEvbGliYXZmaWx0ZXIvdmVyc2lvbi5o DQo+ICsrKyBiL2xpYmF2ZmlsdGVyL3ZlcnNpb24uaA0KPiBAQCAtMzIsNyArMzIsNyBAQA0KPiAj aW5jbHVkZSAidmVyc2lvbl9tYWpvci5oIg0KPiAgI2RlZmluZSBMSUJBVkZJTFRFUl9WRVJTSU9O X01JTk9SICAgMA0KPiAtI2RlZmluZSBMSUJBVkZJTFRFUl9WRVJTSU9OX01JQ1JPIDEwMA0KPiAr I2RlZmluZSBMSUJBVkZJTFRFUl9WRVJTSU9OX01JQ1JPIDEwMQ0KPiAgICNkZWZpbmUgTElCQVZG SUxURVJfVkVSU0lPTl9JTlQgQVZfVkVSU0lPTl9JTlQoTElCQVZGSUxURVJfVkVSU0lPTl9NQUpP UiwgXA0KPiBkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvdmZfc21hcnRibHVyLmMgYi9saWJhdmZp bHRlci92Zl9zbWFydGJsdXIuYw0KPiBpbmRleCBhZTBlYzA1YjJkLi5iYzM3N2QwYjkyIDEwMDY0 NA0KPiAtLS0gYS9saWJhdmZpbHRlci92Zl9zbWFydGJsdXIuYw0KPiArKysgYi9saWJhdmZpbHRl ci92Zl9zbWFydGJsdXIuYw0KPiBAQCAtNTQsNiArNTQsNyBAQCB0eXBlZGVmIHN0cnVjdCBTbWFy dGJsdXJDb250ZXh0IHsNCj4gICAgIGNvbnN0IEFWQ2xhc3MgKmNsYXNzOw0KPiAgICAgRmlsdGVy UGFyYW0gIGx1bWE7DQo+ICAgICBGaWx0ZXJQYXJhbSAgY2hyb21hOw0KPiArICAgIEZpbHRlclBh cmFtICBhbHBoYTsNCj4gICAgIGludCAgICAgICAgICBoc3ViOw0KPiAgICAgaW50ICAgICAgICAg IHZzdWI7DQo+ICAgICB1bnNpZ25lZCBpbnQgc3dzX2ZsYWdzOw0KPiBAQCAtNzcsNiArNzgsMTMg QEAgc3RhdGljIGNvbnN0IEFWT3B0aW9uIHNtYXJ0Ymx1cl9vcHRpb25zW10gPSB7DQo+ICAgICB7 ICJjaHJvbWFfdGhyZXNob2xkIiwgInNldCBjaHJvbWEgdGhyZXNob2xkIiwgT0ZGU0VUKGNocm9t YS50aHJlc2hvbGQpLCBBVl9PUFRfVFlQRV9JTlQsICAgey5pNjQ9VEhSRVNIT0xEX01JTi0xfSwg VEhSRVNIT0xEX01JTi0xLCBUSFJFU0hPTERfTUFYLCAuZmxhZ3M9RkxBR1MgfSwNCj4gICAgIHsg ImN0IiwgICAgICAgICAgICAgICAic2V0IGNocm9tYSB0aHJlc2hvbGQiLCBPRkZTRVQoY2hyb21h LnRocmVzaG9sZCksIEFWX09QVF9UWVBFX0lOVCwgICB7Lmk2ND1USFJFU0hPTERfTUlOLTF9LCBU SFJFU0hPTERfTUlOLTEsIFRIUkVTSE9MRF9NQVgsIC5mbGFncz1GTEFHUyB9LA0KDQpQcm9iYWJs eSBhZGQgYSBsaW5lIGJyZWFrIGluIGhlcmUgZm9yIHZpc3VhbCBzZXBhcmF0aW9uIGFzIHRoZXJl IGlzIGJldHdlZW4gY2hyb21hIGFuZCBsdW1hIHBhcmFtZXRlcnMuDQoNCj4gKyAgICB7ICJhbHBo YV9yYWRpdXMiLCAgICAic2V0IGFscGhhIHJhZGl1cyIsICAgIE9GRlNFVChhbHBoYS5yYWRpdXMp LCAgICBBVl9PUFRfVFlQRV9GTE9BVCwgey5kYmw9MS4wfSwgUkFESVVTX01JTiwgUkFESVVTX01B WCwgLmZsYWdzPUZMQUdTIH0sDQo+ICsgICAgeyAiYXIiICAgICAgICAgLCAgICAic2V0IGFscGhh IHJhZGl1cyIsICAgIE9GRlNFVChhbHBoYS5yYWRpdXMpLCBBVl9PUFRfVFlQRV9GTE9BVCwgey5k Ymw9MS4wfSwgUkFESVVTX01JTiwgUkFESVVTX01BWCwgLmZsYWdzPUZMQUdTIH0sDQoNClRoZSBk ZWZhdWx0IHZhbHVlIGZvciBib3RoIG9mIHRob3NlIHNob3VsZCBiZSBSQURJVVNfTUlOLTEgbm90 IDEuMCwgYW5kIHRoZSBtaW5pbXVtIHZhbHVlICBSQURJVVNfTUlOLTEuDQoNCj4gKyAgICB7ICJh bHBoYV9zdHJlbmd0aCIsICAic2V0IGFscGhhIHN0cmVuZ3RoIiwgIE9GRlNFVChhbHBoYS5zdHJl bmd0aCksICBBVl9PUFRfVFlQRV9GTE9BVCwgey5kYmw9MS4wfSwgU1RSRU5HVEhfTUlOLCBTVFJF TkdUSF9NQVgsIC5mbGFncz1GTEFHUyB9LA0KPiArICAgIHsgImFzIiwgICAgICAgICAgICAgInNl dCBhbHBoYSBzdHJlbmd0aCIsICBPRkZTRVQoYWxwaGEuc3RyZW5ndGgpLCBBVl9PUFRfVFlQRV9G TE9BVCwgey5kYmw9MS4wfSwgU1RSRU5HVEhfTUlOLCBTVFJFTkdUSF9NQVgsIC5mbGFncz1GTEFH UyB9LA0KDQoNClRoZSBkZWZhdWx0IHZhbHVlIHNob3VsZCBiZSBTVFJFTkdUSF9NSU4tMSwgbGlr ZXdpc2UgZm9yIHRoZSBtaW5pbXVtIHZhbHVlLg0KDQo+ICsgICAgeyAiYWxwaGFfdGhyZXNob2xk IiwgInNldCBhbHBoYSB0aHJlc2hvbGQiLCBPRkZTRVQoYWxwaGEudGhyZXNob2xkKSwgQVZfT1BU X1RZUEVfSU5ULCAgIHsuaTY0PTB9LCBUSFJFU0hPTERfTUlOLCBUSFJFU0hPTERfTUFYLCAuZmxh Z3M9RkxBR1MgfSwNCj4gKyAgICB7ICJhdCIsICAgICAgICAgICAgICJzZXQgYWxwaGEgdGhyZXNo b2xkIiwgT0ZGU0VUKGFscGhhLnRocmVzaG9sZCksIEFWX09QVF9UWVBFX0lOVCwgICB7Lmk2ND0w fSwgVEhSRVNIT0xEX01JTiwgVEhSRVNIT0xEX01BWCwgLmZsYWdzPUZMQUdTIH0sDQoNClRoZSBk ZWZhdWx0IHZhbHVlIHNob3VsZCBiZSBUSFJFU0hPTERfTUlOLTEsIGxpa2V3aXNlIGZvciB0aGUg bWluaW11bSB2YWx1ZS4NCg0KPiArDQo+ICAgICB7IE5VTEwgfQ0KPiB9Ow0KPiBAQCAtODYsNyAr OTQsNyBAQCBzdGF0aWMgYXZfY29sZCBpbnQgaW5pdChBVkZpbHRlckNvbnRleHQgKmN0eCkNCj4g ew0KPiAgICAgU21hcnRibHVyQ29udGV4dCAqcyA9IGN0eC0+cHJpdjsNCj4gLSAgICAvKiBtYWtl IGNocm9tYSBkZWZhdWx0IHRvIGx1bWEgdmFsdWVzLCBpZiBub3QgZXhwbGljaXRseSBzZXQgKi8N Cj4gKyAgICAvKiBtYWtlIGNocm9tYSBhbmQgYWxwaGEgZGVmYXVsdCB0byBsdW1hIHZhbHVlcywg aWYgbm90IGV4cGxpY2l0bHkgc2V0ICovDQoNCg0KUmF0aGVyIHRoYW4gY2hhbmdlIHRoaXMgY29t bWVudCBJIHRoaW5rIHlvdSBjYW4gYWRkIGEgc2ltaWxhciBjb21tZW50IGFib3ZlIHRoZSBhbHBo YSBkZWZhdWx0aW5nIGJlbG93DQoNCj4gICAgIGlmIChzLT5jaHJvbWEucmFkaXVzIDwgUkFESVVT X01JTikNCj4gICAgICAgICBzLT5jaHJvbWEucmFkaXVzID0gcy0+bHVtYS5yYWRpdXM7DQo+ICAg ICBpZiAocy0+Y2hyb21hLnN0cmVuZ3RoIDwgU1RSRU5HVEhfTUlOKQ0KPiBAQCAtOTQsMTUgKzEw MiwyMyBAQCBzdGF0aWMgYXZfY29sZCBpbnQgaW5pdChBVkZpbHRlckNvbnRleHQgKmN0eCkNCj4g ICAgIGlmIChzLT5jaHJvbWEudGhyZXNob2xkIDwgVEhSRVNIT0xEX01JTikNCj4gICAgICAgICBz LT5jaHJvbWEudGhyZXNob2xkID0gcy0+bHVtYS50aHJlc2hvbGQ7DQo+IC0gICAgcy0+bHVtYS5x dWFsaXR5ID0gcy0+Y2hyb21hLnF1YWxpdHkgPSAzLjA7DQo+ICsgICAgaWYgKHMtPmFscGhhLnJh ZGl1cyA8IFJBRElVU19NSU4pDQo+ICsgICAgICAgIHMtPmFscGhhLnJhZGl1cyA9IHMtPmFscGhh LnJhZGl1czsNCg0Kcy0+YWxwaGEucmFkaXVzID0gcy0+bHVtYS5yYWRpdXMNCg0KPiArICAgIGlm IChzLT5hbHBoYS5zdHJlbmd0aCA8IFNUUkVOR1RIX01JTikNCj4gKyAgICAgICAgcy0+YWxwaGEu c3RyZW5ndGggID0gcy0+YWxwaGEuc3RyZW5ndGg7DQoNCnNhbWUgaGVyZSwgZGVmYXVsdCBmcm9t IGx1bWENCg0KPiArICAgIGlmIChzLT5hbHBoYS50aHJlc2hvbGQgPCBUSFJFU0hPTERfTUlOKQ0K PiArICAgICAgICBzLT5hbHBoYS50aHJlc2hvbGQgPSBzLT5hbHBoYS50aHJlc2hvbGQ7DQoNCmFu ZCBhbHNvIGhlcmUNCg0KPiArDQo+ICsgICAgcy0+bHVtYS5xdWFsaXR5ID0gcy0+Y2hyb21hLnF1 YWxpdHkgPSBzLT5hbHBoYS5xdWFsaXR5ID0gMy4wOw0KPiAgICAgcy0+c3dzX2ZsYWdzID0gU1dT X0JJQ1VCSUM7DQo+ICAgICAgYXZfbG9nKGN0eCwgQVZfTE9HX1ZFUkJPU0UsDQo+ICAgICAgICAg ICAgImx1bWFfcmFkaXVzOiVmIGx1bWFfc3RyZW5ndGg6JWYgbHVtYV90aHJlc2hvbGQ6JWQgIg0K PiAtICAgICAgICAgICAiY2hyb21hX3JhZGl1czolZiBjaHJvbWFfc3RyZW5ndGg6JWYgY2hyb21h X3RocmVzaG9sZDolZFxuIiwNCj4gKyAgICAgICAgICAgImNocm9tYV9yYWRpdXM6JWYgY2hyb21h X3N0cmVuZ3RoOiVmIGNocm9tYV90aHJlc2hvbGQ6JWRcbiINCj4gKyAgICAgICAgICAgImFscGhh X3JhZGl1czolZiBhbHBoYV9zdHJlbmd0aDolZiBhbHBoYV90aHJlc2hvbGQ6JWQgIiwNCg0KTWlz c2luZyBhIFxuIG9uIHRoYXQgbGFzdCBsaW5lLCBhbHNvIGxvb2tzIGxpa2UgZm9ybWF0dGluZyBp cyBzbGlnaHRseSBvZmYgb24gdGhlIGNocm9tYV9yYWRpdXMgbGluZSwgdGhhdCBsaW5lIHNob3Vs ZCBiZSB1bmNoYW5nZWQgaGVyZQ0KDQo+ICAgICAgICAgICAgcy0+bHVtYS5yYWRpdXMsIHMtPmx1 bWEuc3RyZW5ndGgsIHMtPmx1bWEudGhyZXNob2xkLA0KPiAtICAgICAgICAgICBzLT5jaHJvbWEu cmFkaXVzLCBzLT5jaHJvbWEuc3RyZW5ndGgsIHMtPmNocm9tYS50aHJlc2hvbGQpOw0KPiAtDQo+ ICsgICAgICAgICAgIHMtPmNocm9tYS5yYWRpdXMsIHMtPmNocm9tYS5zdHJlbmd0aCwgcy0+Y2hy b21hLnRocmVzaG9sZCwNCj4gKyAgICAgICAgICAgcy0+YWxwaGEucmFkaXVzLCBzLT5hbHBoYS5z dHJlbmd0aCwgcy0+YWxwaGEudGhyZXNob2xkKTsNCj4gICAgIHJldHVybiAwOw0KPiB9DQo+IEBA IC0xMTIsMTMgKzEyOCwxNSBAQCBzdGF0aWMgYXZfY29sZCB2b2lkIHVuaW5pdChBVkZpbHRlckNv bnRleHQgKmN0eCkNCj4gICAgICBzd3NfZnJlZUNvbnRleHQocy0+bHVtYS5maWx0ZXJfY29udGV4 dCk7DQo+ICAgICBzd3NfZnJlZUNvbnRleHQocy0+Y2hyb21hLmZpbHRlcl9jb250ZXh0KTsNCj4g KyAgICBzd3NfZnJlZUNvbnRleHQocy0+YWxwaGEuZmlsdGVyX2NvbnRleHQpOw0KPiB9DQo+ICBz dGF0aWMgY29uc3QgZW51bSBBVlBpeGVsRm9ybWF0IHBpeF9mbXRzW10gPSB7DQo+IC0gICAgQVZf UElYX0ZNVF9ZVVY0NDRQLCAgICAgIEFWX1BJWF9GTVRfWVVWNDIyUCwNCj4gLSAgICBBVl9QSVhf Rk1UX1lVVjQyMFAsICAgICAgQVZfUElYX0ZNVF9ZVVY0MTFQLA0KPiAtICAgIEFWX1BJWF9GTVRf WVVWNDEwUCwgICAgICBBVl9QSVhfRk1UX1lVVjQ0MFAsDQo+IC0gICAgQVZfUElYX0ZNVF9HUkFZ OCwNCj4gKyAgICBBVl9QSVhfRk1UX1lVVjQ0NFAsIEFWX1BJWF9GTVRfWVVWQTQ0NFAsDQo+ICsg ICAgQVZfUElYX0ZNVF9ZVVY0MjJQLCBBVl9QSVhfRk1UX1lVVkE0MjJQLA0KPiArICAgIEFWX1BJ WF9GTVRfWVVWNDIwUCwgQVZfUElYX0ZNVF9ZVVZBNDIwUCwNCj4gKyAgICBBVl9QSVhfRk1UX1lV VjQxMVAsIEFWX1BJWF9GTVRfWVVWNDEwUCwNCj4gKyAgICBBVl9QSVhfRk1UX1lVVjQ0MFAsIEFW X1BJWF9GTVRfR1JBWTgsDQo+ICAgICBBVl9QSVhfRk1UX05PTkUNCj4gfTsNCj4gQEAgLTE2Miw2 ICsxODAsNyBAQCBzdGF0aWMgaW50IGNvbmZpZ19wcm9wcyhBVkZpbHRlckxpbmsgKmlubGluaykN Cj4gICAgICAgICAgICAgICAgICAgICAgIEFWX0NFSUxfUlNISUZUKGlubGluay0+dywgcy0+aHN1 YiksDQo+ICAgICAgICAgICAgICAgICAgICAgICBBVl9DRUlMX1JTSElGVChpbmxpbmstPmgsIHMt PnZzdWIpLA0KPiAgICAgICAgICAgICAgICAgICAgICAgcy0+c3dzX2ZsYWdzKTsNCj4gKyAgICBh bGxvY19zd3NfY29udGV4dCgmcy0+YWxwaGEsIGlubGluay0+dywgaW5saW5rLT5oLCBzLT5zd3Nf ZmxhZ3MpOw0KPiAgICAgIHJldHVybiAwOw0KPiB9DQo+IEBAIC0yNjEsNiArMjgwLDEzIEBAIHN0 YXRpYyBpbnQgZmlsdGVyX2ZyYW1lKEFWRmlsdGVyTGluayAqaW5saW5rLCBBVkZyYW1lICppbnBp YykNCj4gICAgICAgICAgICAgIHMtPmNocm9tYS5maWx0ZXJfY29udGV4dCk7DQo+ICAgICB9DQo+ ICsgICAgaWYgKGlucGljLT5kYXRhWzNdKSB7DQo+ICsgICAgICAgIGJsdXIob3V0cGljLT5kYXRh WzNdLCBvdXRwaWMtPmxpbmVzaXplWzNdLA0KPiArICAgICAgICAgICAgIGlucGljLT5kYXRhWzNd LCAgaW5waWMtPmxpbmVzaXplWzNdLA0KPiArICAgICAgICAgICAgIGlubGluay0+dywgaW5saW5r LT5oLCBzLT5hbHBoYS50aHJlc2hvbGQsDQo+ICsgICAgICAgICAgICAgcy0+YWxwaGEuZmlsdGVy X2NvbnRleHQpOw0KPiArICAgIH0NCj4gKw0KPiAgICAgYXZfZnJhbWVfZnJlZSgmaW5waWMpOw0K PiAgICAgcmV0dXJuIGZmX2ZpbHRlcl9mcmFtZShvdXRsaW5rLCBvdXRwaWMpOw0KPiB9DQo+IC0t IA0KPiAyLjQ0LjANCj4gDQoNCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcu b3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8g dW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1 ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==