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 E04684E264 for ; Mon, 10 Mar 2025 13:27:58 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CEB2068E409; Mon, 10 Mar 2025 15:27:54 +0200 (EET) Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8BBEC68E33D for ; Mon, 10 Mar 2025 15:27:48 +0200 (EET) Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-38f403edb4eso2284358f8f.3 for ; Mon, 10 Mar 2025 06:27:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741613268; x=1742218068; darn=ffmpeg.org; h=content-transfer-encoding:subject:from:to:content-language :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=CD9maWysVb3G8V89rTH271Xdf5ys9F6v+E7iNO60Ozk=; b=k9hZhc7galbjcYzNO1WPxzDqzxVVugJ/44K9npwo/fbdne4T8SQf/IoQe2vMqR9PiY zkZIbCXJs3OzbXjzDxcENhJlYC04yBE6rqndxsgGH0kDnk/8tWUieO9rczMoEEnokt9h 3RL98stDTnUwHrlw3FnPQ68gkZEdTRhH8D6dIeMkyodrI5MM4xax3Hc/ZSmVaaQlLlnd O5mWkIm048B3gr8ypSjzHeC2jvh+0s3VxzISB9nC3XKTwiK90/q6b1hC8sXoTwO6c8A8 zy/Xt4Tyk4wj9o1ojRk1w0PFb03QcqkfIVSga8RepFD5k7KvF3X8j8sBV/NYw93bB6LY HOfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741613268; x=1742218068; h=content-transfer-encoding:subject:from:to:content-language :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=CD9maWysVb3G8V89rTH271Xdf5ys9F6v+E7iNO60Ozk=; b=ADG6zo5S339o9Xtl7za0V4fm+BqnrNtte2ZIRNz5MckZKcx9KbA6wiRJI0pWKi8Dx+ 9Sdnn6cGrM2EOOzIwZ2Honlml3d/55FY5uV20/FjjAbQ3mWVMm22bnmdingnhH8c5gy1 mx8ITIosmdp42q5D5d7xT3i8HYmNEPJIjwQ4Z6/5ZpWfCAS3dhnFiI9sYfRl/VuJ247c HUJp9MZAHnSla5MvKvHLlJTLFI/Rufx1y7D0pppvbA+NWW8G5bTs+dkgCbvkIulq9nWX g4nxaTL1uBCSjbUUbu6+SAYka3gqqlVYEW5b31l70c3GGT2a4KdD4LZ6EXSPI2dlO8a7 AK8Q== X-Gm-Message-State: AOJu0YzqBa5nKTKB+nbex7VU+Ca9PcVLL1rf7PabxBf8zHJrz3rPwx/i dd8s5UuxkOpN8IDK/i82wMHBRM0Lx5q1jhGiFSz1pFt3uIclmwP47h1r1w== X-Gm-Gg: ASbGncvxkbUlSR2sn1BGHU/f5iYKohoDwfSgcuU4EIOd5cO6RVdEaspZhfiSjM9+K+e jrUg/gNNthyka6/RxPP6yq0V7Jb5m9lf9vvG3/GdIBgsBuABmHys9h/rakr+2bPiLtTq0pob9UG XVmdQdJ4DpTDD5ZusPvTGRdUV3ZA/UA9TfHXKxVKCk+le/aQ3+GYufUziXv0VhCcSO/8YCWGYYd MDZ/sd3hzA6D21QnSrMihl1FBUGtuhjoDMfsKcoPwZxrh9Il3JPpdROiN5dOycV0vvWdHHdDWA0 CruOjdK7ABng9aIIDrQZL/ac2yblX6xMPCpgne2gBthZ1xoyr25c3SAcKbulxhGC8N42uaiNn83 imjdxUefI61qpJ01/dk11FBNrkF3WR0FD/Q== X-Google-Smtp-Source: AGHT+IGChV7Jks6XUBXC91COxUQf/5u+y/9gZqKAInpESCb1Wy0+9eUMJslOVCjk99wBDlS6ZyxQWg== X-Received: by 2002:adf:9b9d:0:b0:391:3b11:d604 with SMTP id ffacd0b85a97d-3913b11d767mr4128173f8f.54.1741613267579; Mon, 10 Mar 2025 06:27:47 -0700 (PDT) Received: from ?IPV6:2001:9e8:1d92:d700:e519:8bb2:4ccf:d26b? ([2001:9e8:1d92:d700:e519:8bb2:4ccf:d26b]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912c0e1476sm14912541f8f.70.2025.03.10.06.27.46 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 10 Mar 2025 06:27:47 -0700 (PDT) Message-ID: <245c1617-feef-42af-8550-470855bbc14e@gmail.com> Date: Mon, 10 Mar 2025 14:27:46 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: FFmpeg development discussions and patches From: Leandro Santiago Subject: [FFmpeg-devel] Brainstorming out of tree filters 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: SSd2ZSBub3RpY2VkIHRoYXQgdGhlcmUgaXMgc29tZSBraW5kIG9mIGRpc2NvbnRlbnRtZW50IHdp dGggY3VycmVudCBzdGF0ZSBvZiB0aGUgbGliYXZmaWx0ZXIgZGlyZWN0b3J5IGFuZCBhIHdpc2gg dG8gcmVkdWNlIHRoZSBudW1iZXIgb2YgbWFpbnN0cmVhbWVkIGZpbHRlcnMgdGhlcmUsIHJlbHlp bmcgb24gc29tZSBraW5kIG9mIGludGVyZmFjZSBmb3Iga2VlcGluZyBub24gZXNzZW50aWFsIHBs dWdpbnMgb3V0IG9mIHRyZWUuCgpBbCBub3RpY2VkIHdhcyB0aGUgZGVzaXJlIHRvIG1ha2UgaXQg ZWFzaWVyIGZvciAzcmQgcGFydGllcyB0byBpbnRlZ3JhdGUgdG8gZmZtcGVnIHdpdGhvdXQgcmVx dWlyaW5nIG1haW5zdHJlYW0gY2hhbmdlcy4KCkkndmUgYmVlbiB3b3JraW5nIG9uIGEgUnVzdCBb MV0gYmFzZWQgZmlsdGVyIHdoaWNoIEkgZG8gbm90IGV4cGVjdCB0byBiZSBtYWlubGluZWQgaW4g ZmZtcGVnIGFueSB0aW1lIHNvb24sIHNvIGhhdmluZyBzdWNoIG91ZiBvZiB0cmVlIHN1cHBvcnQg d291bGQgYmVuZWZpdCBtZSBhIGxvdCBhcyB3ZWxsLgoKVGhlIGFwcHJvYWNoZXMgSSd2ZSBzZWVu IHNvIGZhciBhcmUgKHRoZXJlIGFyZSBwcm9iYWJseSBvdGhlciBhcHByb2FjaGVzLCBwbGVhc2Ug c3VnZ2VzdCB0aGVtIGhlcmUpOgoKLSBydW50aW1lIGxvYWRhYmxlIGZpbHRlcnM6IHRoaXMgd291 bGQgcmVxdWlyZSB0aGUgY3VycmVudCBwcml2YXRlIGZpbHRlciBBUEkgdG8gYmUgcmVmYWN0b3Jl ZCBhcyBhIHB1YmxpYyBBUEksIGFuZCB3b3VsZCBuZWVkIHRvIGd1YXJhbnRlZSBzb21lIEFCSSBz dGFiaWxpdHkgdG8gbWFrZSBpdCB1c2FibGUgaW4gcmVhbCBsaWZlIGJ5IHJlYWwgZmlsdGVycy4g VGhpcyBzZWVtcyB0byBiZSBhIGxvdCBvZiB3b3JrLCB3aXRoIHF1ZXN0aW9uYWJsZSBiZW5lZml0 cyBhbmQgYSBodWdlIGJ1cmRlbiB0byBrZWVwIEFQSSBhbmQgQUJJIHN0YWJpbGl0eS4KCi0gZmls dGVycyBpbXBsZW1lbnRlZCBpbiBhIERTTCwgYXQgcnVudGltZTogdGhpbmsgb24gb2ZmZXJpbmcg Zm9yIGluc3RhbmNlIGEgTHVhIEFQSSBmb3IgdGhlIGZpbHRlcnMuIFRoaXMgd291bGQgYWxsb3cg YmV0dGVyIGNvbnRyb2wgb2YgdGhlIEFQSSwgYnV0IHJlcXVpcmUgd3JpdGluZywgcG9zc2libHkg bWFudWFsbHksIHN1Y2ggYmluZGluZ3MgZnJvbSBDIHRvIEx1YSAob3Igd2hpY2hldmVyIGNob3Nl biBsYW5ndWFnZSkuIER1ZSB0byB0aGUgbmF0dXJlIG9mIHRoZSBmaWx0ZXJzLCB0aGlzIGFwcHJv YWNoIHdvdWxkIGxpa2VseSBoYXZlIGJpZyBwZXJmb3JtYW5jZSBvdmVyaGVhZCBvbiB0aGUgZmls dGVycyBpbXBsZW1lbnRhdGlvbnMsIG9uIHRoZSBDPC0+THVhIHRyYW5zbGF0aW9uIGxheWVyLiBU aGVyZSBpcyBleHRyYSBidXJkZW4gb24ga2VlcGluZyB0aGUgYmluZGluZ3MgdG9vLgoKLSBzYW5k Ym94ZWQgZmlsdGVycywgdXNpbmcgd2ViYXNzZW1ibHkuIFRoaXMgc2hhcmVzIHNpbWlsYXIgaXNz dWVzIHdpdGggdGhlIERTTCBhcHByb2FjaCBhYm92ZSwgYnV0IGF0IGxlYXN0IHdvdWxkIGFsbG93 IGZpbHRlcnMgdG8gYmUgd3JpdHRlbiBpbiBhbnkgbGFuZ3VhZ2UgdGhhdCBjb21waWxlcyB0byBX QVNNLiBJdCB3b3VsZCBhbHNvIHNoYXJlIHRoZSBkaXNhZHZhbnRhZ2VzIG9mIHRoZSBydW50aW1l IGxvYWRhYmxlIGZpbHRlcnMsIGFzIGl0J2QgcmVxdWlyZSBzb21lIHN0YWJsZSBBQkkgdG8gYmUg dXNlZnVsLiBJdCBzZWVtcyAoSSBhbSBwcm9iYWJseSB3cm9uZzsgaGF2ZSBubyBleHBlcmllbmNl IHVzaW5nIFdBU00pIHRoYXQgaW4gV0FTTSBzaGFyaW5nIG1lbW9yeSBiZXR3ZWVuIGhvc3QgYW5k IHZpcnR1YWwgbWFjaGluZSBpcyBub3QgYW4gZWFzeSB0YXNrIHlldCwgcmVxdWlyaW5nIGVpdGhl ciBmcmVxdWVudCBtZW1vcnkgY29weWluZyBiZXR3ZWVuIGhvc3QgYW5kIGd1ZXN0LCB3aGljaCB3 b3VsZCBraWxsIHBlcmZvcm1hbmNlLiBXQVNNIHNwZWNzIHNlZW0gdG8gYmUgY2hhbmdpbmcgdG8g YWRkcmVzcyBzaW1pbGFyIGlzc3VlcyAodGhlIEdDIHByb3Bvc2FsKSwgYnV0IHRoZXJlIHNlZW1z IG5vdCB0byBiZSBhbnl0aGluZyByZWFkeSwgc3RhYmxlIGFuZCB0aGF0IGRpcmVjdGx5IGFkZHJl c3NlcyB0aGUgYWZvcmVtZW50aW9uZWQgaXNzdWVzLgoKLSBvdXQgb2YgdHJlZSBmaWx0ZXJzLCBp bnRlZ3JhdGVkIGF0IGJ1aWxkIHRpbWU6IHNvbWUgcHJvamVjdHMgc3VjaCBhcyBMTFZNIHVzZSBp dC4gVGhpcyBhcHByb2FjaCBkb2VzIG5vdCByZXF1aXJlIG9mZmVyaW5nIGFueSBBUEkgb3IgQUJJ IHN0YWJpbGl0eSwgYmVpbmcgdXAgdG8gdGhlIDNyZCBwYXJ0eSBkZXZlbG9wZXIgdG8gZ3VhcmFu dGVlIGl0IGNvbXBpbGVzIHdpdGggYSBjZXJ0YWluIHZlcnNpb24gb2YgRkZtcGVnLiBJdCBzZWVt cyB0aGF0IHRoaXMgYXBwcm9hY2ggd291bGQgYWxzbyBwcm92aWRlIHRoZSBzaG9ydGVzdCBwYXRo IGZvciBleHRyYWN0aW5nIGN1cnJlbnRseSBmaWx0ZXJzIHRoYXQgYXJlIG5vdCBhcmUgdXNlZCBi eSBtb3N0IHVzZXJzIG9yIHJlcXVpcmUgQysrIChkbm4sIGRlY2tsbmspIHRvIGV4dGVybmFsIHJl cG9zIGFuZCBkZXZlbG9wZWQgaW5kZXBlbmRlbnRseSBmcm9tIHRoZSBtYWluIEZGbXBlZyByZXBv LgoKVGhpcyBpcyBub3QgYW4gUkZDLCBqdXN0IHNvbWUgYnJhaW5zdG9ybWluZy4gSSBiZWxpZXZl IHRoYXQgdGhlIG91dCBvZiB0cmVlIGFwcHJvYWNoIGlzIHRoZSBiZXN0IGZpdCBmb3IgdGhlIGN1 cnJlbnQgY29kZWJhc2UsIGJ1dCBpdCBjb21lcyB3aXRoIGNoYWxsZW5nZXMvaXNzdWVzOgoKLSBi dWlsZCBzeXN0ZW0gaW50ZWdyYXRpb24KCkZyb20gc29tZW9uZSBjb21waWxpbmcgRkZtcGVnLCBJ J2QgbGlrZSBzb21ldGhpbmcgYXMgc2ltcGxlwqAgYXMgYC4vY29uZmlndXJlIC0tZXh0cmEtZmls dGVyPS9wYXRoL3RvL2ZvbyAtLWV4dHJhLWZpbHRlcj0vcGF0aC90by9iYXJgLiBUaGlzIHdvdWxk IHRoZW4gbG9vayBhdCBzdWNoIGRpcmVjdG9yaWVzIGFuZCByZXBvcnQgYW4gZXJyb3IgaW4gY2Fz ZSBkZXBlbmRlbmNpZXMgYXJlIG5vdCBtZXQsIGV0Yy4gVGhlIGV4dHJhIGZpbHRlcnMgd291bGQg dGhlbiBiZSBidWlsdCBkaXJlY3RseSBpbnRvIGxpYmF2ZmlsdGVyLnNvL2xpYmF2ZmlsdGVyLmEu CgpPbiB0aGUgZmlsdGVyIHBlcnNwZWN0aXZlLCB3ZSdkIG5lZWQgc3VwcG9ydCBmb3IgZGVzY3Jp YmluZyB0aGUgZmlsdGVyIHByb3BlcnRpZXMsIGRlcGVuZGVuY2llcywgZXRjLiBJIGFtIHRoaW5r aW5nIHJpZ2h0IG5vdyBvbiBzb21ldGhpbmcgd2UgY2FuIGVhc2lseSBpbnRlZ3JhdGUgaW50byB0 aGUgY3VycmVudCBidWlsZCBzeXN0ZW0sIGxpa2UgYSBgZmlsdGVyLW1hbmlmZXN0Lmpzb25gIGZp bGUsIGluIHRoaXMgZXhhbXBsZSBkZWNsYXJpbmcgdHdvIGZpbHRlcnM6CgpgYGAKClsKwqAgewrC oMKgwqAgIm5hbWUiOiAiZXhhbXBsZSIsCsKgwqDCoCAiZGVzY3JpcHRpb24iOiAiQW4gZXhhbXBs ZSBmaWx0ZXIiLArCoMKgwqAgImxpY2Vuc2UiOiAiTEdQTDMiLArCoMKgwqAgInN5bWJvbCI6ICJm Zl92Zl9leGFtcGxlIiwKwqDCoMKgICJsZGZsYWdzIjogIi1sc29tZV9leHRlcm5hbF9saWIgLWxi bGFoIiwKwqDCoMKgICJjZmxhZ3MiOiAiLURGT089MTIzIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2Js YWgiLArCoMKgwqAgImNoZWNrX2NvbW1hbmQiOiAiaXNfZm9vX2luc3RhbGxlZC5zaCIKwqDCoMKg ICJwcmUtbWFrZSI6ICJjb21tYW5kLXRvLXJ1bi1iZWZvcmUtbWFrZSIKwqAgfSwKwqAgewrCoMKg wqAgIm5hbWUiOiAiYmxhaCIsCsKgwqDCoCAiZGVzY3JpcHRpb24iOiAiYmF6IiwKwqDCoMKgICJs aWNlbnNlIjogIkxHUEwzIiwKwqDCoMKgICJzeW1ib2wiOiAiZmZfYWZfYmxhaCIsCsKgwqDCoCAi cGtnLWNvbmZpZyI6IFsKwqDCoMKgwqDCoCAiZm9vIiwKwqDCoMKgwqDCoCAiYmFyIgrCoMKgwqAg XQrCoCB9Cl0KCmBgYAoKSXQgd291bGQgcmVxdWlyZSBganFgIHRvIGJlIGluc3RhbGxlZCwgZm9y IHF1ZXJ5aW5nIEpTT04gZGlyZWN0bHkgZnJvbSBgc2hgLgoKQWRkaXRpb25hbGx5LCB0aGVyZSB0 aGVyZSBzaG91bGQgYmUgYSBNYWtlZmlsZSBpbiB0aGUgZGlyZWN0b3J5LCBmb3IgdGhlIGJ1aWxk IHByb2Nlc3MgaXRzZWxmLCBidXQgSSBhbSBub3Qgd2VsbCB2ZXJzZWQgb24gbWFrZSBhbmQgdGhl IEZGbXBlZyBidWlsZCBzeXN0ZW0gdG8gc3VnZ2VzdCBob3cgaXQnZCBsb29rIGxpa2UgcmlnaHQg bm93LgoKSSBrbm93IGl0IHN1Y2tzIHRvIGNyZWF0ZSBhIG5ldyBmb3JtYXQsIGJ1dCBpdCBzZWVt cyBmb3IgbWUgYSBnb29kIGJhbGFuY2UgYmV0d2VlbiBhIGJ1bmNoIG9mIGZpbGVzIHNwcmVhZCBp biBhIGRpcmVjdG9yeSArIGF3ay9zZWQvbWFrZSB2cyByZXF1aXJpbmcgRkZtcGVnIHRvIHVzZSBh IGRpZmZlcmVudCBidWlsZCBzeXN0ZW0gc3VjaCBhcyBtZXNvbiBvbiBjbWFrZS4KCkkgaGF2ZW4n dCBwdXQgbXVjaCB0aG91Z2h0IGludG8gdGhlIGZpbHRlciBkZXNjcmlwdGlvbiB0aG91Z2gsIHNv IEkgbWlnaHQgYmUgdmVyeSBtaXN0YWtlbiBhbmQgdGhlcmUgYXJlIGVhc2llciB3YXlzIHdpdGhp biB0aGUgY3VycmVudCBGRm1wZWcgY29kZWJhc2UuCgotIExpY2Vuc2luZwoKU29tZSBwZW9wbGUg d2lsbCBiZSBpbnRlcmVzdGVkIGluIGJ1aWxkaW5nIHByb3ByaWV0YXJ5IGZpbHRlcnMsIHNvIEkg ZG9uJ3Qga25vdyBob3cgbXVjaCBidWlsZGluZyB0aGVtIGRpcmVjdGx5IGludG8gbGliYXZmaWx0 ZXIgbGlicmFyeSB3b3VsZCBiZSBjb21wYXRpYmxlIHdpdGggRkZtcGVnIGxpY2Vuc2VzLiBNYW55 IGNvbXBhbmllcyBhbHJlYWR5IGxpbmsgRkZtcGVnIGludG8gcHJvcHJpZXRhcnkgcHJvZHVjdHMs IGJ5IGJ1aWxkaW5nIG9ubHkgTEdQTCBjb2RlIGFuZCBsaW5raW5nIHRvIEZGTXBlZyBkeW5hbWlj YWxseSwgc28gbWF5YmUgbm90IG11Y2ggd291bGQgY2hhbmdlIGJ5IHB1dHRpbmcgdGhlaXIgY29k ZSBkaXJlY3RseSBpbnRvIGxpYmF2ZmlsdGVyLnNvCgotIFN0YWJpbGl0eSBhbmQgc3VwcG9ydAoK QnVpbGRpbmcgM3JkIHBhcnR5IGNvZGUgZGlyZWN0bHkgaW50byBsaWJhdmZpbHRlci4oc298YSkg Y291bGQgY2F1c2UgdXNlcnMgb2Ygc3VjaCBGRm1wZWcgYnVpbGRzIHRvIHJlcG9ydCBpc3N1ZXMg Y2F1c2VkIGJ5IHRoZSAzcmQgcGFydHkgY29kZSB0byBGRm1wZWcgZGV2ZWxvcGVycywgaW5jcmVh c2luZyB0aGUgYnVyZGVuIG9uIHRoZW0uIEkgdGhpbmsgdGhpcyBpcyBtb3N0bHkgYSBzb2NpYWwg aXNzdWUgYW5kIGRvbid0IGhhdmUgYSBwb3NzaWJsZSBzb2x1dGlvbiBmb3IgaXQuIEJ1dCBJIHdv bmRlciBob3cgbXVjaCBkaWZmZXJlbnQgdGhpcyBpcyBmcm9tIHRoZSBjdXJyZW50IHN0YXR1cyBv ZiBMaW51eCBkaXN0cmlidXRpb25zIGJ1aWxkaW5nLCBzaGlwcGluZyBhbmQgc3VwcG9ydGluZyBG Rm1wZWcuCgotIERvY3VtZW50YXRpb24KCkl0IHdvdWxkIGJlIGdyZWF0IHRvIGJlIGFibGUgdG8g YWxzbyBnZW5lcmF0ZSBkb2N1bWVudGF0aW9uIGZyb20gc3VjaCBleHRyYSBmaWx0ZXJzIGluIHRo ZSBzYW1lIGZhc2hpb24gYXMgdGhlIG1haW5zdHJlYW0gZmlsdGVycy4KCkkgd291bGQgbGlrZSB0 byBrbm93IGlmIGFueSBvZiB0aGlzIHNvdW5kcyBpbnRlcmVzdGluZyB0byB5b3UgZm9sa3MgYW5k IHdoZXRoZXIgYW55b25lIGlzIGFscmVhZHkgd29ya2luZyBpbiBzb2x2aW5nIHRoZSBvcmlnaW5h bCBwcm9ibGVtLiBBZHZpY2UgZnJvbSBtb3JlIGV4cGVyaWVuY2VkIGRldnMgaXMgYWxzbyBhcHBy ZWNpYXRlZC4KCkluIGNhc2Ugb2Ygbm8gb2JqZWN0aW9ucywgSSdkIGxpa2UgdG8gc3RhcnQgZXhw ZXJpbWVudGluZyB3aXRoIGl0LCB3b3JraW5nIG9uIGEgcHJvdG90eXBlL1BPQy4KCkkgYW0gYWxz byBpbnRlcmVzdGVkIGluIGtub3dpbmcgaWYgb3RoZXIgYW55b25lIGVsc2UgaW50ZXJlc3RlZCBp biB3b3JraW5nIG9uIGl0IHRvby4KClJlZ2FyZHMsCgpMZWFuZHJvCgpbMV0gaHR0cHM6Ly9jb2Rl LmZmbXBlZy5vcmcvRkZtcGVnL0ZGbXBlZy9wdWxscy8xMQoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1w ZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9m Zm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApm Zm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUi Lgo=