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 1644D4DCD6 for ; Sun, 2 Mar 2025 17:57:08 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 09D1B68E3D8; Sun, 2 Mar 2025 19:57:06 +0200 (EET) Received: from btbn.de (btbn.de [144.76.60.213]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C3E7668E0BD for ; Sun, 2 Mar 2025 19:56:59 +0200 (EET) Received: from [authenticated] by btbn.de (Postfix) with ESMTPSA id 11A842819FD45 for ; Sun, 02 Mar 2025 18:56:59 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rothenpieler.org; s=mail; t=1740938219; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=6QbJS49+w2TqiHdDuNf5JPTbbwGA17ymm9dwqJ6pxPY=; b=eh8jTKQw71k1i3wDlsGNnB8NZ17pdfLRrf4C/FDNCr5BC7/ty9djjy4BeCXO8QVJszuKY+ SidMInWLe3uyXogLO1WqPvOydMA9j5U1KQ2ke64X7SNK74AoIeJcj0cr5z+X7wIBTS05sI jSBz2y1cRrrNfV6ph7GmICwNA5ga/g3mZ9oBmGWYFNgSZN1MoQdcPisj3FrF3EdDY1TK6B 8Bz0Q8KlhY9glugWcFEGndIWRaXPCldJdith0ysfRbE0aMoG5Dm9KLPeD7WhqdOzFAY+YJ asQ1ZYEd9Pj1Ce9l6gH01LIfzjdrzygejc8tmA0L7O5avot+XM5aQljhHsh9Mg== Message-ID: <358f7ae5-e7d9-4538-9b18-9c83eb5e762d@rothenpieler.org> Date: Sun, 2 Mar 2025 18:56:59 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20250228224640.30747-1-timo@rothenpieler.org> Content-Language: en-US From: Timo Rothenpieler In-Reply-To: Subject: Re: [FFmpeg-devel] [PATCH v2 1/3] avutil/timecode: add ff_timecode_set_smpte X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: T24gMDIuMDMuMjAyNSAxMzozMiwgVGltbyBSb3RoZW5waWVsZXIgd3JvdGU6Cj4gT24gMjguMDIu MjAyNSAyMzo0NiwgVGltbyBSb3RoZW5waWVsZXIgd3JvdGU6Cj4+IC0tLQo+PiDCoCBsaWJhdnV0 aWwvdGltZWNvZGUuY8KgwqDCoMKgwqDCoMKgwqDCoCB8IDI3ICsrKy0tLS0tLS0tLS0tLS0tLS0K Pj4gwqAgbGliYXZ1dGlsL3RpbWVjb2RlX2ludGVybmFsLmMgfCA1MSArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKwo+PiDCoCBsaWJhdnV0aWwvdGltZWNvZGVfaW50ZXJuYWwuaCB8 IDUxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4+IMKgIDMgZmlsZXMgY2hh bmdlZCwgMTA1IGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQo+PiDCoCBjcmVhdGUgbW9k ZSAxMDA2NDQgbGliYXZ1dGlsL3RpbWVjb2RlX2ludGVybmFsLmMKPj4gwqAgY3JlYXRlIG1vZGUg MTAwNjQ0IGxpYmF2dXRpbC90aW1lY29kZV9pbnRlcm5hbC5oCj4+Cj4+IGRpZmYgLS1naXQgYS9s aWJhdnV0aWwvdGltZWNvZGUuYyBiL2xpYmF2dXRpbC90aW1lY29kZS5jCj4+IGluZGV4IGY0NTQ0 NjZmOTcuLmJjYTE2YjZhYzIgMTAwNjQ0Cj4+IC0tLSBhL2xpYmF2dXRpbC90aW1lY29kZS5jCj4+ ICsrKyBiL2xpYmF2dXRpbC90aW1lY29kZS5jCj4+IEBAIC0yOSw2ICsyOSw3IEBACj4+IMKgICNp bmNsdWRlIDxzdGRpby5oPgo+PiDCoCAjaW5jbHVkZSAiY29tbW9uLmgiCj4+IMKgICNpbmNsdWRl ICJ0aW1lY29kZS5oIgo+PiArI2luY2x1ZGUgInRpbWVjb2RlX2ludGVybmFsLmgiCj4+IMKgICNp bmNsdWRlICJsb2cuaCIKPj4gwqAgI2luY2x1ZGUgImVycm9yLmgiCj4+IEBAIC0xMjcsMzIgKzEy OCwxMCBAQCBjaGFyICphdl90aW1lY29kZV9tYWtlX3N0cmluZyhjb25zdCBBVlRpbWVjb2RlIAo+ PiAqdGMsIGNoYXIgKmJ1ZiwgaW50IGZyYW1lbnVtX2FyZykKPj4gwqDCoMKgwqDCoCByZXR1cm4g YnVmOwo+PiDCoCB9Cj4+IC1zdGF0aWMgdW5zaWduZWQgYmNkMnVpbnQodWludDhfdCBiY2QpCj4+ IC17Cj4+IC3CoMKgIHVuc2lnbmVkIGxvd8KgID0gYmNkICYgMHhmOwo+PiAtwqDCoCB1bnNpZ25l ZCBoaWdoID0gYmNkID4+IDQ7Cj4+IC3CoMKgIGlmIChsb3cgPiA5IHx8IGhpZ2ggPiA5KQo+PiAt wqDCoMKgwqDCoMKgIHJldHVybiAwOwo+PiAtwqDCoCByZXR1cm4gbG93ICsgMTAqaGlnaDsKPj4g LX0KPj4gLQo+PiDCoCBjaGFyICphdl90aW1lY29kZV9tYWtlX3NtcHRlX3RjX3N0cmluZzIoY2hh ciAqYnVmLCBBVlJhdGlvbmFsIHJhdGUsIAo+PiB1aW50MzJfdCB0Y3NtcHRlLCBpbnQgcHJldmVu dF9kZiwgaW50IHNraXBfZmllbGQpCj4+IMKgIHsKPj4gLcKgwqDCoCB1bnNpZ25lZCBoaMKgwqAg PSBiY2QydWludCh0Y3NtcHRlwqDCoMKgwqAgJiAweDNmKTvCoMKgwqAgLy8gNi1iaXQgaG91cnMK Pj4gLcKgwqDCoCB1bnNpZ25lZCBtbcKgwqAgPSBiY2QydWludCh0Y3NtcHRlPj44wqAgJiAweDdm KTvCoMKgwqAgLy8gNy1iaXQgbWludXRlcwo+PiAtwqDCoMKgIHVuc2lnbmVkIHNzwqDCoCA9IGJj ZDJ1aW50KHRjc21wdGU+PjE2ICYgMHg3Zik7wqDCoMKgIC8vIDctYml0IHNlY29uZHMKPj4gLcKg wqDCoCB1bnNpZ25lZCBmZsKgwqAgPSBiY2QydWludCh0Y3NtcHRlPj4yNCAmIDB4M2YpO8KgwqDC oCAvLyA2LWJpdCBmcmFtZXMKPj4gLcKgwqDCoCB1bnNpZ25lZCBkcm9wID0gdGNzbXB0ZSAmIDE8 PDMwICYmICFwcmV2ZW50X2RmO8KgIC8vIDEtYml0IGRyb3AgaWYgCj4+IG5vdCBhcmJpdHJhcnkg Yml0Cj4+IC0KPj4gLcKgwqDCoCBpZiAoYXZfY21wX3EocmF0ZSwgKEFWUmF0aW9uYWwpIHszMCwg MX0pID09IDEpIHsKPj4gLcKgwqDCoMKgwqDCoMKgIGZmIDw8PSAxOwo+PiAtwqDCoMKgwqDCoMKg wqAgaWYgKCFza2lwX2ZpZWxkKSB7Cj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChhdl9j bXBfcShyYXRlLCAoQVZSYXRpb25hbCkgezUwLCAxfSkgPT0gMCkKPj4gLcKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBmZiArPSAhISh0Y3NtcHRlICYgMSA8PCA3KTsKPj4gLcKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgZWxzZQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZm ICs9ICEhKHRjc21wdGUgJiAxIDw8IDIzKTsKPj4gLcKgwqDCoMKgwqDCoMKgIH0KPj4gLcKgwqDC oCB9Cj4+ICvCoMKgwqAgdW5zaWduZWQgaGgsIG1tLCBzcywgZmYsIGRyb3A7Cj4+ICvCoMKgwqAg ZmZfdGltZWNvZGVfc2V0X3NtcHRlKCZkcm9wLCAmaGgsICZtbSwgJnNzLCAmZmYsIHJhdGUsIHRj c21wdGUsIAo+PiBwcmV2ZW50X2RmLCBza2lwX2ZpZWxkKTsKPj4gwqDCoMKgwqDCoCBzbnByaW50 ZihidWYsIEFWX1RJTUVDT0RFX1NUUl9TSVpFLCAiJTAydTolMDJ1OiUwMnUlYyUwMnUiLAo+PiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGhoLCBtbSwgc3MsIGRyb3AgPyAnOycgOiAnOics IGZmKTsKPj4gZGlmZiAtLWdpdCBhL2xpYmF2dXRpbC90aW1lY29kZV9pbnRlcm5hbC5jIGIvbGli YXZ1dGlsLyAKPj4gdGltZWNvZGVfaW50ZXJuYWwuYwo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ PiBpbmRleCAwMDAwMDAwMDAwLi4yNTllYmYxNjY0Cj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIv bGliYXZ1dGlsL3RpbWVjb2RlX2ludGVybmFsLmMKPj4gQEAgLTAsMCArMSw1MSBAQAo+PiArLyoK Pj4gKyAqIENvcHlyaWdodCAoYykgMjAwNiBTbWFydGpvZyBTLkEuUywgQmFwdGlzdGUgQ291ZHVy aWVyIAo+PiA8YmFwdGlzdGUuY291ZHVyaWVyQGdtYWlsLmNvbT4KPj4gKyAqIENvcHlyaWdodCAo YykgMjAxMS0yMDEyIFNtYXJ0am9nIFMuQS5TLCBDbMOpbWVudCBCxZNzY2ggCj4+IDxjbGVtZW50 LmJvZXNjaEBzbWFydGpvZy5jb20+Cj4+ICsgKgo+PiArICogVGhpcyBmaWxlIGlzIHBhcnQgb2Yg RkZtcGVnLgo+PiArICoKPj4gKyAqIEZGbXBlZyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPj4gKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKPj4gKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVk IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgo+PiArICogdmVyc2lvbiAy LjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u Cj4+ICsgKgo+PiArICogRkZtcGVnIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCj4+ICsgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+PiArICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLsKgIFNlZSB0aGUgR05VCj4+ICsgKiBMZXNz ZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+PiArICoKPj4gKyAq IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJh bCBQdWJsaWMKPj4gKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCBGRm1wZWc7IGlmIG5vdCwgd3JpdGUg dG8gdGhlIEZyZWUgU29mdHdhcmUKPj4gKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu IFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgCj4+IDAyMTEwLTEzMDEgVVNBCj4+ICsg Ki8KPj4gKwo+PiArI2luY2x1ZGUgInRpbWVjb2RlX2ludGVybmFsLmgiCj4+ICsKPj4gK3N0YXRp YyB1bnNpZ25lZCBiY2QydWludCh1aW50OF90IGJjZCkKPj4gK3sKPj4gK8KgwqAgdW5zaWduZWQg bG93wqAgPSBiY2QgJiAweGY7Cj4+ICvCoMKgIHVuc2lnbmVkIGhpZ2ggPSBiY2QgPj4gNDsKPj4g K8KgwqAgaWYgKGxvdyA+IDkgfHwgaGlnaCA+IDkpCj4+ICvCoMKgwqDCoMKgwqAgcmV0dXJuIDA7 Cj4+ICvCoMKgIHJldHVybiBsb3cgKyAxMCpoaWdoOwo+PiArfQo+PiArCj4+ICt2b2lkIGZmX3Rp bWVjb2RlX3NldF9zbXB0ZSh1bnNpZ25lZCAqZHJvcCwgdW5zaWduZWQgKmhoLCB1bnNpZ25lZCAK Pj4gKm1tLCB1bnNpZ25lZCAqc3MsIHVuc2lnbmVkICpmZiwKPj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQVZSYXRpb25hbCByYXRlLCB1aW50 MzJfdCB0Y3NtcHRlLCBpbnQgCj4+IHByZXZlbnRfZGYsIGludCBza2lwX2ZpZWxkKQo+PiArewo+ PiArwqDCoMKgICpoaMKgwqAgPSBiY2QydWludCh0Y3NtcHRlwqDCoMKgwqAgJiAweDNmKTvCoMKg wqAgLy8gNi1iaXQgaG91cnMKPj4gK8KgwqDCoCAqbW3CoMKgID0gYmNkMnVpbnQodGNzbXB0ZT4+ OMKgICYgMHg3Zik7wqDCoMKgIC8vIDctYml0IG1pbnV0ZXMKPj4gK8KgwqDCoCAqc3PCoMKgID0g YmNkMnVpbnQodGNzbXB0ZT4+MTYgJiAweDdmKTvCoMKgwqAgLy8gNy1iaXQgc2Vjb25kcwo+PiAr wqDCoMKgICpmZsKgwqAgPSBiY2QydWludCh0Y3NtcHRlPj4yNCAmIDB4M2YpO8KgwqDCoCAvLyA2 LWJpdCBmcmFtZXMKPj4gK8KgwqDCoCAqZHJvcCA9IHRjc21wdGUgJiAxPDwzMCAmJiAhcHJldmVu dF9kZjvCoCAvLyAxLWJpdCBkcm9wIGlmIG5vdCAKPj4gYXJiaXRyYXJ5IGJpdAo+PiArCj4+ICvC oMKgwqAgaWYgKGF2X2NtcF9xKHJhdGUsIChBVlJhdGlvbmFsKSB7MzAsIDF9KSA9PSAxKSB7Cj4+ ICvCoMKgwqDCoMKgwqDCoCAqZmYgPDw9IDE7Cj4+ICvCoMKgwqDCoMKgwqDCoCBpZiAoIXNraXBf ZmllbGQpIHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKGF2X2NtcF9xKHJhdGUsIChB VlJhdGlvbmFsKSB7NTAsIDF9KSA9PSAwKQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgICpmZiArPSAhISh0Y3NtcHRlICYgMSA8PCA3KTsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqAgZWxzZQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICpmZiArPSAhISh0Y3Nt cHRlICYgMSA8PCAyMyk7Cj4+ICvCoMKgwqDCoMKgwqDCoCB9Cj4+ICvCoMKgwqAgfQo+PiArfQo+ PiBkaWZmIC0tZ2l0IGEvbGliYXZ1dGlsL3RpbWVjb2RlX2ludGVybmFsLmggYi9saWJhdnV0aWwv IAo+PiB0aW1lY29kZV9pbnRlcm5hbC5oCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4 IDAwMDAwMDAwMDAuLjhlZjQzZDFmOTgKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9saWJhdnV0 aWwvdGltZWNvZGVfaW50ZXJuYWwuaAo+PiBAQCAtMCwwICsxLDUxIEBACj4+ICsvKgo+PiArICog Q29weXJpZ2h0IChjKSAyMDA2IFNtYXJ0am9nIFMuQS5TLCBCYXB0aXN0ZSBDb3VkdXJpZXIgCj4+ IDxiYXB0aXN0ZS5jb3VkdXJpZXJAZ21haWwuY29tPgo+PiArICogQ29weXJpZ2h0IChjKSAyMDEx LTIwMTIgU21hcnRqb2cgUy5BLlMsIENsw6ltZW50IELFk3NjaCAKPj4gPGNsZW1lbnQuYm9lc2No QHNtYXJ0am9nLmNvbT4KPj4gKyAqCj4+ICsgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBGRm1wZWcu Cj4+ICsgKgo+PiArICogRkZtcGVnIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vcgo+PiArICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IExlc3NlciBHZW5lcmFsIFB1YmxpYwo+PiArICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCj4+ICsgKiB2ZXJzaW9uIDIuMSBvZiB0 aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPj4gKyAq Cj4+ICsgKiBGRm1wZWcgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKPj4gKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4+ICsgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuwqAgU2VlIHRoZSBHTlUKPj4gKyAqIExlc3NlciBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4+ICsgKgo+PiArICogWW91IHNo b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1Ymxp Ywo+PiArICogTGljZW5zZSBhbG9uZyB3aXRoIEZGbXBlZzsgaWYgbm90LCB3cml0ZSB0byB0aGUg RnJlZSBTb2Z0d2FyZQo+PiArICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0 LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAKPj4gMDIxMTAtMTMwMSBVU0EKPj4gKyAqLwo+PiAr Cj4+ICsvKioKPj4gKyAqIEBmaWxlCj4+ICsgKiBUaW1lY29kZSBoZWxwZXJzIGhlYWRlcgo+PiAr ICovCj4+ICsKPj4gKyNpZm5kZWYgQVZVVElMX1RJTUVDT0RFX0lOVEVSTkFMX0gKPj4gKyNkZWZp bmUgQVZVVElMX1RJTUVDT0RFX0lOVEVSTkFMX0gKPj4gKwo+PiArI2luY2x1ZGUgPHN0ZGludC5o Pgo+PiArI2luY2x1ZGUgInJhdGlvbmFsLmgiCj4+ICsKPj4gKy8qKgo+PiArICogQ29udmVydCBT TVBURSAxMk0gYmluYXJ5IHJlcHJlc2VudGF0aW9uIHRvIHNlaSBpbmZvLgo+PiArICoKPj4gKyAq IEBwYXJhbSBkcm9wwqDCoMKgwqDCoMKgIGRyb3AgZmxhZyBvdXRwdXQKPj4gKyAqIEBwYXJhbSBo aMKgwqDCoMKgwqDCoMKgwqAgaG91ciBvdXRwdXQKPj4gKyAqIEBwYXJhbSBtbcKgwqDCoMKgwqDC oMKgwqAgbWludXRlIG91dHB1dAo+PiArICogQHBhcmFtIHNzwqDCoMKgwqDCoMKgwqDCoCBzZWNv bmQgb3V0cHV0Cj4+ICsgKiBAcGFyYW0gZmbCoMKgwqDCoMKgwqDCoMKgIGZyYW1lIG51bWJlciBv dXRwdXQKPj4gKyAqIEBwYXJhbSByYXRlwqDCoMKgwqDCoMKgIGZyYW1lIHJhdGUgb2YgdGhlIHRp bWVjb2RlCj4+ICsgKiBAcGFyYW0gdGNzbXB0ZcKgwqDCoCB0aGUgMzItYml0IFNNUFRFIHRpbWVj b2RlCj4+ICsgKiBAcGFyYW0gcHJldmVudF9kZiBwcmV2ZW50IHRoZSB1c2Ugb2YgYSBkcm9wIGZs YWcgd2hlbiBpdCBpcyBrbm93biAKPj4gdGhlIERGIGJpdAo+PiArICrCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgaXMgYXJiaXRyYXJ5Cj4+ICsgKiBAcGFyYW0gc2tpcF9maWVs ZCBwcmV2ZW50IHRoZSB1c2Ugb2YgYSBmaWVsZCBmbGFnIHdoZW4gaXQgaXMga25vd24gCj4+IHRo ZSBmaWVsZAo+PiArICrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYml0IGlz IGFyYml0cmFyeSAoZS5nLiBiZWNhdXNlIGl0IGlzIHVzZWQgYXMgUEMgCj4+IGZsYWcpCj4+ICsg Ki8KPj4gK3ZvaWQgZmZfdGltZWNvZGVfc2V0X3NtcHRlKHVuc2lnbmVkICpkcm9wLCB1bnNpZ25l ZCAqaGgsIHVuc2lnbmVkIAo+PiAqbW0sIHVuc2lnbmVkICpzcywgdW5zaWduZWQgKmZmLAo+PiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBBVlJh dGlvbmFsIHJhdGUsIHVpbnQzMl90IHRjc21wdGUsIGludCAKPj4gcHJldmVudF9kZiwgaW50IHNr aXBfZmllbGQpOwo+PiArCj4+ICsjZW5kaWYgLyogQVZVVElMX1RJTUVDT0RFX0lOVEVSTkFMX0gg Ki8KPiAKPiB3aWxsIGFwcGx5IHRoZSBzZXJpZXMgc29vbiBpZiBub2JvZHkgb2JqZWN0cwo+IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gZmZtcGVnLWRl dmVsIG1haWxpbmcgbGlzdAo+IGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCj4gaHR0cHM6Ly9mZm1w ZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCj4gCj4gVG8gdW5zdWJzY3JpYmUs IHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCj4gZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVn Lm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4KCmFwcGxpZWQKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlz dApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0 aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBl bWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJz Y3JpYmUiLgo=