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 114534601B for ; Sun, 30 Apr 2023 23:01:41 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 00BE768BE6F; Mon, 1 May 2023 02:01:38 +0300 (EEST) Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 961AD68BE6F for ; Mon, 1 May 2023 02:01:31 +0300 (EEST) Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-1a5197f00e9so14281815ad.1 for ; Sun, 30 Apr 2023 16:01:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682895690; x=1685487690; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=/wtUOUtjyp+cvmFLZ+KM18EDdTHYsmYyxUcblQalOlM=; b=ab/eGVVv2edj31HmlNik88ALcOwLzJUFQDfWrIOl7O8n/y4L6mPH4cGRkGWWbnSvgh zjnJV9Zyo+g2lC+de8o4MlJPfPk2BKZyi9ZQ40EXv1LTtGHRrCuPhyF8OYX2VnX9z8HD 9IZ72Fls4VjmSijVPIg9owdBEvm20T2fdcbBTWLuF0R58JalU9e1GUa4hmjGC/qx42wt SRyT/vGDmVDhS6Q+1GQz624xHKduhv5NdejOp5Sq3prkMtgGHwrbxB6HWlzT4Gi6Rh0H EDdGkPMT8qKM49lzALljsHDj9ulB0eCRBO47AncO3ic3axPGt7KBxafY+HSjmY7ge9tS Q2nQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682895690; x=1685487690; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=/wtUOUtjyp+cvmFLZ+KM18EDdTHYsmYyxUcblQalOlM=; b=ZvMGnRBhZWudWsloS2zimR+yXzddEdecYANMzjdKSxHsp/xjiZM3Jb0caIHHv9aoIl KTKZ5TQQjFXDOJiUAF950QWB9pkIAX0/6/HwiUblhD2gLtWmnDZBkSn92DZN1CN/V9lI rG5VwmWInDRjDPqXbqJ+Rawdkn6g1rMlOoFx4WGBekAB+2EPN16gFcev9E2YVIvAO8iF LSrFWynSpnRnpPwYJzwPH9N/4JBZ9FnYDGDRuL6ikWFD2z7RQaK3/D1Q7kslZMJ0ZhVR rH5ggWmzszeR3rvitkKCuEpgfYiwKEHyjhyOsyur2Zk37N+Atm6rJtba6ehafuYAVkZh srWA== X-Gm-Message-State: AC+VfDwZMAsp+ekQYZyPFZxKSzB933t+us4MZF23gm1YJkGREoEZPex4 TD5+NysFNfibqR7D+agpG5qRP7qf639BKi8pLPm1u6TnlDXm4w== X-Google-Smtp-Source: ACHHUZ65K9KjkVTQ2Lcd9aVZmrUhAx+yU9U/lu2mN4QD17KfYKmANDRf0d+OjCHfNCuUvhdoyXWVJgS9XF8hgJI1Q6k= X-Received: by 2002:a17:902:d482:b0:1a6:ee5a:7208 with SMTP id c2-20020a170902d48200b001a6ee5a7208mr13317381plg.18.1682895689394; Sun, 30 Apr 2023 16:01:29 -0700 (PDT) MIME-Version: 1.0 References: <1682699871-22331-1-git-send-email-dheitmueller@ltnglobal.com> <1682699871-22331-7-git-send-email-dheitmueller@ltnglobal.com> In-Reply-To: <1682699871-22331-7-git-send-email-dheitmueller@ltnglobal.com> From: Lance Wang Date: Mon, 1 May 2023 07:01:18 +0800 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH v4 6/6] decklink_enc: add support for playout of 608 captions in MOV files 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: T24gRnJpLCBBcHIgMjgsIDIwMjMgYXQgMTE6NDPigK9QTSBEZXZpbiBIZWl0bXVlbGxlciA8CmRl dmluLmhlaXRtdWVsbGVyQGx0bmdsb2JhbC5jb20+IHdyb3RlOgoKPiBVbmxpa2Ugb3RoZXIgY2Fz ZXMgd2hlcmUgdGhlIGNsb3NlZCBjYXB0aW9ucyBhcmUgZW1iZWRkZWQgaW4gdGhlCj4gdmlkZW8g c3RyZWFtIGFzIE1QRUctMiB1c2VyZGF0YSBvciBILjI2NCBTRUkgZGF0YSwgd2l0aCBNT1YgZmls ZXMKPiB0aGUgY2FwdGlvbnMgYXJlIG9mdGVuIGZvdW5kIG9uIGEgc2VwYXJhdGUgImU2MDgiIHN1 YnRpdGxlIHRyYWNrLgo+Cj4gQWRkIHN1cHBvcnQgZm9yIHBsYXlvdXQgb2Ygc3VjaCBmaWxlcywg bGV2ZXJhZ2luZyB0aGUgbmV3IGNjZmlmbwo+IG1lY2hhbmlzbSB0byBlbnN1cmUgdGhhdCB0aGV5 IGFyZSBlbWJlZGRlZCBpbnRvIFZBTkMgYXQgdGhlIGNvcnJlY3QKPiByYXRlIChzaW5jZSBlNjA4 IHBhY2tldHMgb2Z0ZW4gY29udGFpbiBiYXRjaGVzIG9mIG11bHRpcGxlIDYwOCBwYWlycykuCj4K PiBOb3RlIHRoaXMgcGF0Y2ggaW5jbHVkZXMgYSBuZXcgZmlsZSBuYW1lZCBsaWJhdmRldmljZS9j Y2ZpZm8uYywgd2hpY2gKPiBhbGxvd3MgdGhlIGNjZmlmbyBmdW5jdGlvbmFsaXR5IGluIGxpYmF2 ZmlsdGVyIHRvIGJlIHJldXNlZCBldmVuIGlmCj4gZG9pbmcgc2hhcmVkIGJ1aWxkcy4gIFRoaXMg aXMgdGhlIHNhbWUgYXBwcm9hY2ggdXNlZCBmb3IgbG9nMl90YWIuYy4KPgo+ClRoaXMgaW1wbGVt ZW50YXRpb24gIGlzIGxpbWl0ZWQgdG8gZGVja2xpbmsgU0RJIG91dHB1dCBvbmx5LCAgSWYgcG9z c2libGUsCmNhbiB3ZSBpbXBsZW1lbnQgdGhlIGZ1bmN0aW9uIGZyb20gZGVtdXhlciBsYXllciwg IGFuZCB0aGVuIHBhc3N0aHJvdWdoCmJ5IFNFSSBzaWRlIGRhdGE/IEJ5IHRoaXMgd2F5LCAgd2Ug Y2FuIGNvbnZlcnQgIHN1Y2ggc3RyZWFtIGluIHN0cmVhbWluZwp0byAgZW1iZWRkZWQgQ0MgdG8g dmlkZW8gc3RyZWFtIGVhc2lseSBhbHNvLgoKClNpZ25lZC1vZmYtYnk6IERldmluIEhlaXRtdWVs bGVyIDxkaGVpdG11ZWxsZXJAbHRuZ2xvYmFsLmNvbT4KPiAtLS0KPiAgbGliYXZkZXZpY2UvTWFr ZWZpbGUgICAgICAgICAgfCAgMSArCj4gIGxpYmF2ZGV2aWNlL2NjZmlmby5jICAgICAgICAgIHwg MjQgKysrKysrKysrKysrKysrKwo+ICBsaWJhdmRldmljZS9kZWNrbGlua19jb21tb24uaCB8ICAz ICsrCj4gIGxpYmF2ZGV2aWNlL2RlY2tsaW5rX2VuYy5jcHAgIHwgNjYKPiArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIGxpYmF2ZGV2aWNlL2RlY2tsaW5rX2Vu Y19jLmMgIHwgIDIgKy0KPiAgNSBmaWxlcyBjaGFuZ2VkLCA5NSBpbnNlcnRpb25zKCspLCAxIGRl bGV0aW9uKC0pCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJhdmRldmljZS9jY2ZpZm8uYwo+Cj4g ZGlmZiAtLWdpdCBhL2xpYmF2ZGV2aWNlL01ha2VmaWxlIGIvbGliYXZkZXZpY2UvTWFrZWZpbGUK PiBpbmRleCA4YTYyODIyLi5jMzA0NDkyIDEwMDY0NAo+IC0tLSBhL2xpYmF2ZGV2aWNlL01ha2Vm aWxlCj4gKysrIGIvbGliYXZkZXZpY2UvTWFrZWZpbGUKPiBAQCAtNTcsNiArNTcsNyBAQCBPQkpT LSQoQ09ORklHX0xJQkRDMTM5NF9JTkRFVikgICAgICAgICAgICs9IGxpYmRjMTM5NC5vCj4KPiAg IyBPYmplY3RzIGR1cGxpY2F0ZWQgZnJvbSBvdGhlciBsaWJyYXJpZXMgZm9yIHNoYXJlZCBidWls ZHMKPiAgU0hMSUJPQkpTLSQoQ09ORklHX0RFQ0tMSU5LX0lOREVWKSAgICAgICArPSByZXZlcnNl Lm8KPiArU0hMSUJPQkpTLSQoQ09ORklHX0RFQ0tMSU5LX09VVERFVikgICAgICArPSBjY2ZpZm8u bwo+Cj4gICMgV2luZG93cyByZXNvdXJjZSBmaWxlCj4gIFNITElCT0JKUy0kKEhBVkVfR05VX1dJ TkRSRVMpICAgICAgICAgICAgKz0gYXZkZXZpY2VyZXMubwo+IGRpZmYgLS1naXQgYS9saWJhdmRl dmljZS9jY2ZpZm8uYyBiL2xpYmF2ZGV2aWNlL2NjZmlmby5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2 NDQKPiBpbmRleCAwMDAwMDAwLi45MDA3MDk0Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2xpYmF2 ZGV2aWNlL2NjZmlmby5jCj4gQEAgLTAsMCArMSwyNCBAQAo+ICsvKgo+ICsgKiBDRUEtNzA4IENs b3NlZCBDYXB0aW9uaW5nIEZJRk8KPiArICogQ29weXJpZ2h0IChjKSAyMDIzIExUTiBHbG9iYWwg Q29tbXVuaWNhdGlvbnMKPiArICoKPiArICogQXV0aG9yOiBEZXZpbiBIZWl0bXVlbGxlciA8ZGhl aXRtdWVsbGVyQGx0bmdsb2JhbC5jb20+Cj4gKyAqCj4gKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9m IEZGbXBlZy4KPiArICoKPiArICogRkZtcGVnIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vcgo+ICsgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCj4gKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5 IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgo+ICsgKiB2ZXJzaW9uIDIuMSBv ZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAr ICoKPiArICogRkZtcGVnIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCj4gKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCj4gKyAqIExlc3NlciBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gKyAqCj4gKyAqIFlvdSBzaG91bGQg aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKPiAr ICogTGljZW5zZSBhbG9uZyB3aXRoIEZGbXBlZzsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBT b2Z0d2FyZQo+ICsgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRo IEZsb29yLCBCb3N0b24sIE1BCj4gMDIxMTAtMTMwMSBVU0EKPiArICovCj4gKwo+ICsjaW5jbHVk ZSAibGliYXZmaWx0ZXIvY2NmaWZvLmMiCj4gZGlmZiAtLWdpdCBhL2xpYmF2ZGV2aWNlL2RlY2ts aW5rX2NvbW1vbi5oIGIvbGliYXZkZXZpY2UvZGVja2xpbmtfY29tbW9uLmgKPiBpbmRleCAwODhl MTY1Li4wZDMzZjk0IDEwMDY0NAo+IC0tLSBhL2xpYmF2ZGV2aWNlL2RlY2tsaW5rX2NvbW1vbi5o Cj4gKysrIGIvbGliYXZkZXZpY2UvZGVja2xpbmtfY29tbW9uLmgKPiBAQCAtMzEsNiArMzEsNyBA QAo+Cj4gIGV4dGVybiAiQyIgewo+ICAjaW5jbHVkZSAibGliYXZjb2RlYy9wYWNrZXRfaW50ZXJu YWwuaCIKPiArI2luY2x1ZGUgImxpYmF2ZmlsdGVyL2NjZmlmby5oIgo+ICB9Cj4gICNpbmNsdWRl ICJsaWJhdnV0aWwvdGhyZWFkLmgiCj4gICNpbmNsdWRlICJkZWNrbGlua19jb21tb25fYy5oIgo+ IEBAIC0xMTIsNiArMTEzLDggQEAgc3RydWN0IGRlY2tsaW5rX2N0eCB7Cj4gICAgICAvKiBDYXB0 dXJlIGJ1ZmZlciBxdWV1ZSAqLwo+ICAgICAgQVZQYWNrZXRRdWV1ZSBxdWV1ZTsKPgo+ICsgICAg QVZDQ0ZpZm8gKmNjX2ZpZm87ICAgICAgLy8vPCBjbG9zZWQgY2FwdGlvbnMKPiArCj4gICAgICAv KiBTdHJlYW1zIHByZXNlbnQgKi8KPiAgICAgIGludCBhdWRpbzsKPiAgICAgIGludCB2aWRlbzsK PiBkaWZmIC0tZ2l0IGEvbGliYXZkZXZpY2UvZGVja2xpbmtfZW5jLmNwcCBiL2xpYmF2ZGV2aWNl L2RlY2tsaW5rX2VuYy5jcHAKPiBpbmRleCA5ZjFhOGRmLi42MTZlOWM3IDEwMDY0NAo+IC0tLSBh L2xpYmF2ZGV2aWNlL2RlY2tsaW5rX2VuYy5jcHAKPiArKysgYi9saWJhdmRldmljZS9kZWNrbGlu a19lbmMuY3BwCj4gQEAgLTMyNiw2ICszMjYsMjUgQEAgc3RhdGljIGludCBjcmVhdGVfczMzN19w YXlsb2FkKEFWUGFja2V0ICpwa3QsIHVpbnQ4X3QKPiAqKm91dGJ1ZiwgaW50ICpvdXRzaXplKQo+ ICAgICAgcmV0dXJuIDA7Cj4gIH0KPgo+ICtzdGF0aWMgaW50IGRlY2tsaW5rX3NldHVwX3N1YnRp dGxlKEFWRm9ybWF0Q29udGV4dCAqYXZjdHgsIEFWU3RyZWFtICpzdCkKPiArewo+ICsgICAgaW50 IHJldCA9IC0xOwo+ICsKPiArICAgIHN3aXRjaChzdC0+Y29kZWNwYXItPmNvZGVjX2lkKSB7Cj4g KyNpZiBDT05GSUdfTElCS0xWQU5DCj4gKyAgICBjYXNlIEFWX0NPREVDX0lEX0VJQV82MDg6Cj4g KyAgICAgICAgLyogTm8gc3BlY2lhbCBzZXR1cCByZXF1aXJlZCAqLwo+ICsgICAgICAgIHJldCA9 IDA7Cj4gKyAgICAgICAgYnJlYWs7Cj4gKyNlbmRpZgo+ICsgICAgZGVmYXVsdDoKPiArICAgICAg ICBhdl9sb2coYXZjdHgsIEFWX0xPR19FUlJPUiwgIlVuc3VwcG9ydGVkIHN1YnRpdGxlIGNvZGVj Cj4gc3BlY2lmaWVkXG4iKTsKPiArICAgICAgICBicmVhazsKPiArICAgIH0KPiArCj4gKyAgICBy ZXR1cm4gcmV0Owo+ICt9Cj4gKwo+ICBhdl9jb2xkIGludCBmZl9kZWNrbGlua193cml0ZV90cmFp bGVyKEFWRm9ybWF0Q29udGV4dCAqYXZjdHgpCj4gIHsKPiAgICAgIHN0cnVjdCBkZWNrbGlua19j Y3R4ICpjY3R4ID0gKHN0cnVjdCBkZWNrbGlua19jY3R4ICopYXZjdHgtPnByaXZfZGF0YTsKPiBA QCAtMzUyLDYgKzM3MSw3IEBAIGF2X2NvbGQgaW50IGZmX2RlY2tsaW5rX3dyaXRlX3RyYWlsZXIo QVZGb3JtYXRDb250ZXh0Cj4gKmF2Y3R4KQo+ICAgICAga2x2YW5jX2NvbnRleHRfZGVzdHJveShj dHgtPnZhbmNfY3R4KTsKPiAgI2VuZGlmCj4KPiArICAgIGZmX2NjZmlmb19mcmVlcCgmY3R4LT5j Y19maWZvKTsKPiAgICAgIGF2X2ZyZWVwKCZjY3R4LT5jdHgpOwo+Cj4gICAgICByZXR1cm4gMDsK PiBAQCAtNTAzLDYgKzUyMywyMyBAQCBvdXQ6Cj4gICAgICAgICAgZnJlZShhZmRfd29yZHMpOwo+ ICB9Cj4KPiArLyogUGFyc2UgYW55IEVJQS02MDggc3VidGl0bGVzIHNpdHRpbmcgb24gdGhlIHF1 ZXVlLCBhbmQgd3JpdGUgcGFja2V0Cj4gc2lkZSBkYXRhCj4gKyAgIHRoYXQgd2lsbCBsYXRlciBi ZSBoYW5kbGVkIGJ5IGNvbnN0cnVjdF9jYy4uLiAqLwo+ICtzdGF0aWMgdm9pZCBwYXJzZV82MDhz dWJzKEFWRm9ybWF0Q29udGV4dCAqYXZjdHgsIHN0cnVjdCBkZWNrbGlua19jdHgKPiAqY3R4LCBB VlBhY2tldCAqcGt0KQo+ICt7Cj4gKyAgICB1aW50OF90ICpjY19kYXRhOwo+ICsgICAgc2l6ZV90 IGNjX3NpemU7Cj4gKyAgICBpbnQgcmV0Owo+ICsKPiArICAgIHJldCA9IGZmX2NjZmlmb19pbmpl Y3RieXRlcyhjdHgtPmNjX2ZpZm8sICZjY19kYXRhLCAmY2Nfc2l6ZSk7Cj4gKyAgICBpZiAocmV0 ID09IDApIHsKPiArICAgICAgICB1aW50OF90ICpjY19idWYgPSBhdl9wYWNrZXRfbmV3X3NpZGVf ZGF0YShwa3QsCj4gQVZfUEtUX0RBVEFfQTUzX0NDLCBjY19zaXplKTsKPiArICAgICAgICBpZiAo Y2NfYnVmKQo+ICsgICAgICAgICAgICBtZW1jcHkoY2NfYnVmLCBjY19kYXRhLCBjY19zaXplKTsK PiArICAgICAgICBhdl9mcmVlcCgmY2NfZGF0YSk7Cj4gKyAgICB9Cj4gK30KPiArCj4gIHN0YXRp YyBpbnQgZGVja2xpbmtfY29uc3RydWN0X3ZhbmMoQVZGb3JtYXRDb250ZXh0ICphdmN0eCwgc3Ry dWN0Cj4gZGVja2xpbmtfY3R4ICpjdHgsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgQVZQYWNrZXQgKnBrdCwgZGVja2xpbmtfZnJhbWUgKmZyYW1lLAo+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEFWU3RyZWFtICpzdCkKPiBAQCAtNTEzLDYgKzU1MCw3 IEBAIHN0YXRpYyBpbnQgZGVja2xpbmtfY29uc3RydWN0X3ZhbmMoQVZGb3JtYXRDb250ZXh0Cj4g KmF2Y3R4LCBzdHJ1Y3QgZGVja2xpbmtfY3R4ICoKPiAgICAgIGlmICghY3R4LT5zdXBwb3J0c192 YW5jKQo+ICAgICAgICAgIHJldHVybiAwOwo+Cj4gKyAgICBwYXJzZV82MDhzdWJzKGF2Y3R4LCBj dHgsIHBrdCk7Cj4gICAgICBjb25zdHJ1Y3RfY2MoYXZjdHgsIGN0eCwgcGt0LCAmdmFuY19saW5l cyk7Cj4gICAgICBjb25zdHJ1Y3RfYWZkKGF2Y3R4LCBjdHgsIHBrdCwgJnZhbmNfbGluZXMsIHN0 KTsKPgo+IEBAIC03MDQsMTIgKzc0MiwyMyBAQCBzdGF0aWMgaW50Cj4gZGVja2xpbmtfd3JpdGVf YXVkaW9fcGFja2V0KEFWRm9ybWF0Q29udGV4dCAqYXZjdHgsIEFWUGFja2V0ICpwa3QpCj4gICAg ICByZXR1cm4gcmV0Owo+ICB9Cj4KPiArc3RhdGljIGludCBkZWNrbGlua193cml0ZV9zdWJ0aXRs ZV9wYWNrZXQoQVZGb3JtYXRDb250ZXh0ICphdmN0eCwKPiBBVlBhY2tldCAqcGt0KQo+ICt7Cj4g KyAgICBzdHJ1Y3QgZGVja2xpbmtfY2N0eCAqY2N0eCA9IChzdHJ1Y3QgZGVja2xpbmtfY2N0eCAq KWF2Y3R4LT5wcml2X2RhdGE7Cj4gKyAgICBzdHJ1Y3QgZGVja2xpbmtfY3R4ICpjdHggPSAoc3Ry dWN0IGRlY2tsaW5rX2N0eCAqKWNjdHgtPmN0eDsKPiArCj4gKyAgICBmZl9jY2ZpZm9fZXh0cmFj dGJ5dGVzKGN0eC0+Y2NfZmlmbywgcGt0LT5kYXRhLCBwa3QtPnNpemUpOwo+ICsKPiArICAgIHJl dHVybiAwOwo+ICt9Cj4gKwo+ICBleHRlcm4gIkMiIHsKPgo+ICBhdl9jb2xkIGludCBmZl9kZWNr bGlua193cml0ZV9oZWFkZXIoQVZGb3JtYXRDb250ZXh0ICphdmN0eCkKPiAgewo+ICAgICAgc3Ry dWN0IGRlY2tsaW5rX2NjdHggKmNjdHggPSAoc3RydWN0IGRlY2tsaW5rX2NjdHggKilhdmN0eC0+ cHJpdl9kYXRhOwo+ICAgICAgc3RydWN0IGRlY2tsaW5rX2N0eCAqY3R4Owo+ICsgICAgQVZSYXRp b25hbCBmcmFtZV9yYXRlOwo+ICAgICAgdW5zaWduZWQgaW50IG47Cj4gICAgICBpbnQgcmV0Owo+ Cj4gQEAgLTc2OCwxMiArODE3LDI3IEBAIGF2X2NvbGQgaW50IGZmX2RlY2tsaW5rX3dyaXRlX2hl YWRlcihBVkZvcm1hdENvbnRleHQKPiAqYXZjdHgpCj4gICAgICAgICAgfSBlbHNlIGlmIChjLT5j b2RlY190eXBlID09IEFWTUVESUFfVFlQRV9WSURFTykgewo+ICAgICAgICAgICAgICBpZiAoZGVj a2xpbmtfc2V0dXBfdmlkZW8oYXZjdHgsIHN0KSkKPiAgICAgICAgICAgICAgICAgIGdvdG8gZXJy b3I7Cj4gKyAgICAgICAgfSBlbHNlIGlmIChjLT5jb2RlY190eXBlID09IEFWTUVESUFfVFlQRV9T VUJUSVRMRSkgewo+ICsgICAgICAgICAgICBpZiAoZGVja2xpbmtfc2V0dXBfc3VidGl0bGUoYXZj dHgsIHN0KSkKPiArICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7Cj4gICAgICAgICAgfSBlbHNl IHsKPiAgICAgICAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfRVJST1IsICJVbnN1cHBvcnRl ZCBzdHJlYW0gdHlwZS5cbiIpOwo+ICAgICAgICAgICAgICBnb3RvIGVycm9yOwo+ICAgICAgICAg IH0KPiAgICAgIH0KPgo+ICsgICAgZm9yIChuID0gMDsgbiA8IGF2Y3R4LT5uYl9zdHJlYW1zOyBu KyspIHsKPiArICAgICAgICBBVlN0cmVhbSAqc3QgPSBhdmN0eC0+c3RyZWFtc1tuXTsKPiArICAg ICAgICBBVkNvZGVjUGFyYW1ldGVycyAqYyA9IHN0LT5jb2RlY3BhcjsKPiArCj4gKyAgICAgICAg aWYoYy0+Y29kZWNfdHlwZSA9PSBBVk1FRElBX1RZUEVfU1VCVElUTEUpCj4gKyAgICAgICAgICAg IGF2cHJpdl9zZXRfcHRzX2luZm8oc3QsIDY0LCBjdHgtPmJtZF90Yl9udW0sIGN0eC0+Ym1kX3Ri X2Rlbik7Cj4gKyAgICB9Cj4gKwo+ICsgICAgZnJhbWVfcmF0ZSA9IGF2X21ha2VfcShjdHgtPmJt ZF90Yl9kZW4sIGN0eC0+Ym1kX3RiX251bSk7Cj4gKyAgICBpZiAoIShjdHgtPmNjX2ZpZm8gPSBm Zl9jY2ZpZm9fYWxsb2MoJmZyYW1lX3JhdGUsIGN0eCkpKQo+ICsgICAgICAgIGF2X2xvZyhjdHgs IEFWX0xPR19WRVJCT1NFLCAiRmFpbHVyZSB0byBzZXR1cCBDQyBGSUZPIHF1ZXVlXG4iKTsKPiAr Cj4gICAgICByZXR1cm4gMDsKPgo+ICBlcnJvcjoKPiBAQCAtNzg5LDYgKzg1Myw4IEBAIGludCBm Zl9kZWNrbGlua193cml0ZV9wYWNrZXQoQVZGb3JtYXRDb250ZXh0ICphdmN0eCwKPiBBVlBhY2tl dCAqcGt0KQo+ICAgICAgICAgIHJldHVybiBkZWNrbGlua193cml0ZV92aWRlb19wYWNrZXQoYXZj dHgsIHBrdCk7Cj4gICAgICBlbHNlIGlmIChzdC0+Y29kZWNwYXItPmNvZGVjX3R5cGUgPT0gQVZN RURJQV9UWVBFX0FVRElPKQo+ICAgICAgICAgIHJldHVybiBkZWNrbGlua193cml0ZV9hdWRpb19w YWNrZXQoYXZjdHgsIHBrdCk7Cj4gKyAgICBlbHNlIGlmIChzdC0+Y29kZWNwYXItPmNvZGVjX3R5 cGUgPT0gQVZNRURJQV9UWVBFX1NVQlRJVExFKQo+ICsgICAgICAgIHJldHVybiBkZWNrbGlua193 cml0ZV9zdWJ0aXRsZV9wYWNrZXQoYXZjdHgsIHBrdCk7Cj4KPiAgICAgIHJldHVybiBBVkVSUk9S KEVJTyk7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvbGliYXZkZXZpY2UvZGVja2xpbmtfZW5jX2MuYyBi L2xpYmF2ZGV2aWNlL2RlY2tsaW5rX2VuY19jLmMKPiBpbmRleCBmN2UzMTUwLi4wYTM5ODRiIDEw MDY0NAo+IC0tLSBhL2xpYmF2ZGV2aWNlL2RlY2tsaW5rX2VuY19jLmMKPiArKysgYi9saWJhdmRl dmljZS9kZWNrbGlua19lbmNfYy5jCj4gQEAgLTc3LDcgKzc3LDcgQEAgY29uc3QgRkZPdXRwdXRG b3JtYXQgZmZfZGVja2xpbmtfbXV4ZXIgPSB7Cj4gICAgICAucC5sb25nX25hbWUgICAgICA9IE5V TExfSUZfQ09ORklHX1NNQUxMKCJCbGFja21hZ2ljIERlY2tMaW5rCj4gb3V0cHV0IiksCj4gICAg ICAucC5hdWRpb19jb2RlYyAgICA9IEFWX0NPREVDX0lEX1BDTV9TMTZMRSwKPiAgICAgIC5wLnZp ZGVvX2NvZGVjICAgID0gQVZfQ09ERUNfSURfV1JBUFBFRF9BVkZSQU1FLAo+IC0gICAgLnAuc3Vi dGl0bGVfY29kZWMgPSBBVl9DT0RFQ19JRF9OT05FLAo+ICsgICAgLnAuc3VidGl0bGVfY29kZWMg PSBBVl9DT0RFQ19JRF9FSUFfNjA4LAo+ICAgICAgLnAuZmxhZ3MgICAgICAgICAgPSBBVkZNVF9O T0ZJTEUsCj4gICAgICAucC5wcml2X2NsYXNzICAgICA9ICZkZWNrbGlua19tdXhlcl9jbGFzcywK PiAgICAgIC5nZXRfZGV2aWNlX2xpc3QgPSBmZl9kZWNrbGlua19saXN0X291dHB1dF9kZXZpY2Vz LAo+IC0tCj4gMS44LjMuMQo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KPiBmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZmZtcGVnLWRldmVsQGZm bXBlZy5vcmcKPiBodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2 ZWwKPgo+IFRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbAo+IGZmbXBl Zy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCj4K X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRl dmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5v cmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBs aW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGgg c3ViamVjdCAidW5zdWJzY3JpYmUiLgo=