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 2FAA844D09 for ; Mon, 19 Dec 2022 03:35:17 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E19CF68B2C3; Mon, 19 Dec 2022 05:35:13 +0200 (EET) Received: from out162-62-57-137.mail.qq.com (out162-62-57-137.mail.qq.com [162.62.57.137]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C993768A0BF for ; Mon, 19 Dec 2022 05:35:02 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1671420894; bh=JLrGelBegjxHRHS3WNbkzK8Je8fnzZ48TEtB8CqBycs=; h=Subject:From:In-Reply-To:Date:Cc:References:To; b=CYnUg0FoHCpNkSezJ1SQjdPb65fGtaGiuNuBb92tKrZcXqPtRGEYfcED/wnoFlkYS NERLHxKiAswr90AGOC/qboCBrFXvFrp2aPHkdWHHZGSJpmRntEMq/deoO9RFYBFfjo kj4nxJbWRLBgJq2+2nGsP1pNNJI57zzAGdKQ3T+U= Received: from smtpclient.apple ([113.118.115.165]) by newxmesmtplogicsvrszb1-0.qq.com (NewEsmtp) with SMTP id 8B4BA0D5; Mon, 19 Dec 2022 11:34:52 +0800 X-QQ-mid: xmsmtpt1671420892tgvmdk16w Message-ID: X-QQ-XMAILINFO: Mg/0DM1Zd+nHpmNCU5du+FuqfFvSNMx5Fc3x44fTNnth0Dsvdt/NNPrQel9+mx Hd29C8vrFfbL8Bv79jl7cvdpgMGqUjrQlMKkQ5d2lBfMfbRcpzcgsCXZcw7yeOoj5SJytEd4FVDP 3zmjohPpR7H16741ajovUPiQx+9DDqSLm7lgZl/DSz37nKvdvaL2N5xXfHAMkmm8kXp4dH2Zh2CO 9uQDlvKSd/Z0biB5LcaHnFOXgQS7XQjS8LadSLPaBXPiVclp0PbFZCZHAspwalbxjzxdsYgHCot4 8nY0b1pcmba7Z5NOFrgWdM6Fe38k4CFAUccjWqcj5voUWgXoWsQ1M13GHcSf6/IUgFAWbgy7AK8i TCaZwasTvkXWCFezJVXZlyqwAKHCTHiaPJCYkPr79AQYqAOmAF6hOMkSdfXk4S9FjBZ5YvB/1feY AnxSd8r1RoYhj0qb1eRBz+r6JZAVSFSkNNQypHAgwiTqcNGUDCxeDaYn3OocSJIj8OkJM/s1PcRU MZ/kpwKLRRawImPU85WuXKuYU4R4YVa4uBs0MzjFQz7Qigdi0vgEVWLfqYE1mWAIrwekIL63YXBo ah4nzbuJxuwn/xQh3FBOqOxqxtadQmF5wmGxi50c0pRUBy8Ay6QY9V1cP/9XxkPqYK0+aUgICTqc KRfla/iCkxluUAH8IRisKUFZ2Cw4uow+Mt0TYYcqx5d/ylQ6jb4Dftf8qLb15feVYsGfhcSukM6W T7XZleM+0FGGM8ZeyncrHkKUQJ0TlmxwoGIq475l8L0wlwQNvSLNHywriEoMKOVit9ndiXzqtRUO uqNFVwasqqrcbpUchzjNXg25HvvT/m1k11cjS90/0isz5qgZkLycVO+8uK/BbWU5CMOl6S2wIAgk /nkFYPcKZjRzLvHH78HL43Qrg8qOphYxGbrJP8OTXX8On+y0tfWvaHRq7mMnvJnxkyU3OrDzUbmO QLMJT2WKzJvik5CsCzPsER5IZxv8IA7hKLoJPelSqeexrtKwiaJaztzfRwbE9PtLWutdJbdVFa4b EROAbVxJEyHx/pc671 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) From: =?utf-8?B?InpoaWxpemhhbyjotbXlv5fnq4spIg==?= In-Reply-To: <1f01a2a041ba4e809ec8d9175fde8d8e@huawei.com> Date: Mon, 19 Dec 2022 11:34:52 +0800 X-OQ-MSGID: <5CB5B692-D27B-4B03-8081-828336C913FD@foxmail.com> References: <1f01a2a041ba4e809ec8d9175fde8d8e@huawei.com> To: FFmpeg development discussions and patches X-Mailer: Apple Mail (2.3696.120.41.1.1) Subject: Re: [FFmpeg-devel] [PATCH] fftools/ffmpeg_ffplay_ffprobe_cmdutils: add -safe to replace the user name and password in the protocol address 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 Cc: "zhangxiong \(A\)" , "wangqinghua \(I\)" 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: Cgo+IE9uIERlYyAxNywgMjAyMiwgYXQgMTU6MzYsIFd1amlhbihDaGluKSA8d3VqaWFuMkBodWF3 ZWkuY29tPiB3cm90ZToKPiAKPiBUaGUgUHJvdG9jb2wgYWRkcmVzcyBtYXkgY29udGFpbiB0aGUg dXNlciBuYW1lIGFuZCBwYXNzd29yZC4gVGhlIHBzIC1lZiBjb21tYW5kIG1heSBleHBvc2UgdGhl IHBsYWludGV4dC4KPiBUaGUgLXNhZmUgcGFyYW1ldGVyIG9wdGlvbiBpcyBhZGRlZCB0byByZXBs YWNlIHRoZSB1c2VyIG5hbWUgYW5kIHBhc3N3b3JkIGluIHRoZSBjb21tYW5kIGxpbmUgd2l0aCB0 aGUgYXN0ZXJpc2sgKCopLgoKVGhlIHBhdGNoIHJlZHVjZWQgdGhlIHJpc2sgdG8gYSBsb3cgbGV2 ZWwsIGJ1dCBJIGRvbuKAmXQgdGhpbmsgaXQKZml4ZWQgdGhlIHNlY3VyaXR5IGlzc3VlIHRvdGFs bHkuIEl04oCZcyBzdGlsbCB0aGVyZSB3aXRoIGEgc21hbGwKdGltZSB3aW5kb3cuIFRoZSB1c2Vj YXNlIGl0c2VsZiBpcyB1bnNhZmUuCgpUaGVyZSBpcyBhbiAtc2FmZSBvcHRpb24gaW4gY29uY2F0 IGRlbXV4ZXIsIHBsZWFzZSBtYWtlIHN1cmUgdGhlcmUKaXMgbm8gY29uZmxpY3QuCgpjb25jYXQg ZGVtdXhlciBBVk9wdGlvbnM6CiAgLXNhZmUgICAgICAgICAgICAgIDxib29sZWFuPiAgICAuRC4u Li4uLi4uLiBlbmFibGUgc2FmZSBtb2RlIChkZWZhdWx0IHRydWUpCgo+IAo+IFNpZ25lZC1vZmYt Ynk6IHd1amlhbl9uYW5qaW5nIDx3dWppYW4yQGh1YXdlaS5jb20+Cj4gLS0tCj4gZG9jL2ZmbXBl Zy50ZXhpICAgIHwgIDcgKysrKysrKwo+IGRvYy9mZnBsYXkudGV4aSAgICB8ICA4ICsrKysrKysr Cj4gZG9jL2ZmcHJvYmUudGV4aSAgIHwgIDcgKysrKysrKwo+IGZmdG9vbHMvY21kdXRpbHMuYyB8 IDQ3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCj4gZmZ0 b29scy9jbWR1dGlscy5oIHwgMTUgKysrKysrKysrKysrKysrCj4gZmZ0b29scy9mZm1wZWcuYyAg IHwgMTYgKysrKysrKysrKysrKy0tLQo+IGZmdG9vbHMvZmZwbGF5LmMgICB8IDE1ICsrKysrKysr KysrKystLQo+IGZmdG9vbHMvZmZwcm9iZS5jICB8IDE4ICsrKysrKysrKysrKysrLS0tLQo+IDgg ZmlsZXMgY2hhbmdlZCwgMTIwIGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQo+IAo+IGRp ZmYgLS1naXQgYS9kb2MvZmZtcGVnLnRleGkgYi9kb2MvZmZtcGVnLnRleGkKPiBpbmRleCAwMzY3 OTMwLi5lOTA1NTQyIDEwMDY0NAo+IC0tLSBhL2RvYy9mZm1wZWcudGV4aQo+ICsrKyBiL2RvYy9m Zm1wZWcudGV4aQo+IEBAIC01MCw2ICs1MCwxMyBAQCBvdXRwdXQgZmlsZXMuIEFsc28gZG8gbm90 IG1peCBvcHRpb25zIHdoaWNoIGJlbG9uZyB0byBkaWZmZXJlbnQgZmlsZXMuIEFsbAo+IG9wdGlv bnMgYXBwbHkgT05MWSB0byB0aGUgbmV4dCBpbnB1dCBvciBvdXRwdXQgZmlsZSBhbmQgYXJlIHJl c2V0IGJldHdlZW4gZmlsZXMuCj4gCj4gQGl0ZW1pemUKPiArQGl0ZW0gLXNhZmUKPiArVGhlIFBy b3RvY29sIGFkZHJlc3MgbWF5IGNvbnRhaW4gdGhlIHVzZXIgbmFtZSBhbmQgcGFzc3dvcmQuIFRo ZSBwcyAtZWYgY29tbWFuZCBtYXkgZXhwb3NlIHRoZSBwbGFpbnRleHQuCj4gK1RoZSAtc2FmZSBw YXJhbWV0ZXIgb3B0aW9uIGlzIGFkZGVkIHRvIHJlcGxhY2UgdGhlIHVzZXIgbmFtZSBhbmQgcGFz c3dvcmQgaW4gdGhlIGNvbW1hbmQgbGluZSB3aXRoIHRoZSBhc3RlcmlzayAoKikuCj4gK0BleGFt cGxlCj4gK2ZmbXBlZyAtc2FmZSAtaSBydHNwOi8vdXNlcm5hbWVAcGFzc3dvcmQueHh4eC5jb20K PiArQGVuZCBleGFtcGxlCj4gKwo+IEBpdGVtCj4gVG8gc2V0IHRoZSB2aWRlbyBiaXRyYXRlIG9m IHRoZSBvdXRwdXQgZmlsZSB0byA2NCBrYml0L3M6Cj4gQGV4YW1wbGUKPiBkaWZmIC0tZ2l0IGEv ZG9jL2ZmcGxheS50ZXhpIGIvZG9jL2ZmcGxheS50ZXhpCj4gaW5kZXggNWRkODYwYi4uZjQ2Y2E5 MSAxMDA2NDQKPiAtLS0gYS9kb2MvZmZwbGF5LnRleGkKPiArKysgYi9kb2MvZmZwbGF5LnRleGkK PiBAQCAtMTIyLDYgKzEyMiwxNCBAQCBSZWFkIEB2YXJ7aW5wdXRfdXJsfS4KPiAKPiBAc2VjdGlv biBBZHZhbmNlZCBvcHRpb25zCj4gQHRhYmxlIEBvcHRpb24KPiArCj4gK0BpdGVtIC1zYWZlCj4g K1RoZSBQcm90b2NvbCBhZGRyZXNzIG1heSBjb250YWluIHRoZSB1c2VyIG5hbWUgYW5kIHBhc3N3 b3JkLiBUaGUgcHMgLWVmIGNvbW1hbmQgbWF5IGV4cG9zZSB0aGUgcGxhaW50ZXh0Lgo+ICtUaGUg LXNhZmUgcGFyYW1ldGVyIG9wdGlvbiBpcyBhZGRlZCB0byByZXBsYWNlIHRoZSB1c2VyIG5hbWUg YW5kIHBhc3N3b3JkIGluIHRoZSBjb21tYW5kIGxpbmUgd2l0aCB0aGUgYXN0ZXJpc2sgKCopLgo+ ICtAZXhhbXBsZQo+ICtmZnBsYXkgLXNhZmUgLWkgcnRzcDovL3VzZXJuYW1lQHBhc3N3b3JkLnh4 eHguY29tCj4gK0BlbmQgZXhhbXBsZQo+ICsKPiBAaXRlbSAtc3RhdHMKPiBQcmludCBzZXZlcmFs IHBsYXliYWNrIHN0YXRpc3RpY3MsIGluIHBhcnRpY3VsYXIgc2hvdyB0aGUgc3RyZWFtCj4gZHVy YXRpb24sIHRoZSBjb2RlYyBwYXJhbWV0ZXJzLCB0aGUgY3VycmVudCBwb3NpdGlvbiBpbiB0aGUg c3RyZWFtIGFuZAo+IGRpZmYgLS1naXQgYS9kb2MvZmZwcm9iZS50ZXhpIGIvZG9jL2ZmcHJvYmUu dGV4aQo+IGluZGV4IDRkYzlmNTcuLjkyYjEzY2YgMTAwNjQ0Cj4gLS0tIGEvZG9jL2ZmcHJvYmUu dGV4aQo+ICsrKyBiL2RvYy9mZnByb2JlLnRleGkKPiBAQCAtODksNiArODksMTMgQEAgU2V0IHRo ZSBvdXRwdXQgcHJpbnRpbmcgZm9ybWF0Lgo+IEB2YXJ7d3JpdGVyX25hbWV9IHNwZWNpZmllcyB0 aGUgbmFtZSBvZiB0aGUgd3JpdGVyLCBhbmQKPiBAdmFye3dyaXRlcl9vcHRpb25zfSBzcGVjaWZp ZXMgdGhlIG9wdGlvbnMgdG8gYmUgcGFzc2VkIHRvIHRoZSB3cml0ZXIuCj4gCj4gK0BpdGVtIC1z YWZlCj4gK1RoZSBQcm90b2NvbCBhZGRyZXNzIG1heSBjb250YWluIHRoZSB1c2VyIG5hbWUgYW5k IHBhc3N3b3JkLiBUaGUgcHMgLWVmIGNvbW1hbmQgbWF5IGV4cG9zZSB0aGUgcGxhaW50ZXh0Lgo+ ICtUaGUgLXNhZmUgcGFyYW1ldGVyIG9wdGlvbiBpcyBhZGRlZCB0byByZXBsYWNlIHRoZSB1c2Vy IG5hbWUgYW5kIHBhc3N3b3JkIGluIHRoZSBjb21tYW5kIGxpbmUgd2l0aCB0aGUgYXN0ZXJpc2sg KCopLgo+ICtAZXhhbXBsZQo+ICtmZnByb2JlIC1zYWZlIC1pIHJ0c3A6Ly91c2VybmFtZUBwYXNz d29yZC54eHh4LmNvbQo+ICtAZW5kIGV4YW1wbGUKPiArCj4gRm9yIGV4YW1wbGUgZm9yIHByaW50 aW5nIHRoZSBvdXRwdXQgaW4gSlNPTiBmb3JtYXQsIHNwZWNpZnk6Cj4gQGV4YW1wbGUKPiAtcHJp bnRfZm9ybWF0IGpzb24KPiBkaWZmIC0tZ2l0IGEvZmZ0b29scy9jbWR1dGlscy5jIGIvZmZ0b29s cy9jbWR1dGlscy5jCj4gaW5kZXggYTFkZTYyMS4uMjI0MDdmOCAxMDA2NDQKPiAtLS0gYS9mZnRv b2xzL2NtZHV0aWxzLmMKPiArKysgYi9mZnRvb2xzL2NtZHV0aWxzLmMKPiBAQCAtNjEsNiArNjEs NDAgQEAgQVZEaWN0aW9uYXJ5ICpmb3JtYXRfb3B0cywgKmNvZGVjX29wdHM7Cj4gCj4gaW50IGhp ZGVfYmFubmVyID0gMDsKPiAKPiArdm9pZCBwYXJhbV9tYXNraW5nKGludCBhcmdjLCBjaGFyICoq YXJndikgewo+ICsgICAgaW50IGksIGo7Cj4gKyAgICBmb3IgKGkgPSAxOyBpIDwgYXJnYzsgaSsr KSB7Cj4gKyAgICAgICAgY2hhciAqbWF0Y2ggPSBzdHJzdHIoYXJndltpXSwgIjovLyIpOwo+ICsg ICAgICAgIGlmIChtYXRjaCkgewo+ICsgICAgICAgICAgICBpbnQgdG90YWwgPSBzdHJsZW4oYXJn dltpXSk7Cj4gKyAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCB0b3RhbDsgaisrKSB7Cj4gKyAg ICAgICAgICAgICAgICBhcmd2W2ldW2pdID0gJyonOwo+ICsgICAgICAgICAgICB9Cj4gKyAgICAg ICAgfQo+ICsgICAgfQo+ICt9Cj4gKwo+ICtjaGFyICoqY29weV9hcmd2KGludCBhcmdjLCBjaGFy ICoqYXJndikgewo+ICsgICAgY2hhciAqKmFyZ3YyOwo+ICsgICAgYXJndjIgPSBhdl9tYWxsb2N6 KGFyZ2MgKiBzaXplb2YoY2hhciAqKSk7Cj4gKyAgICBpZiAoIWFyZ3YyKQo+ICsgICAgICAgIGV4 aXRfcHJvZ3JhbSgxKTsKPiArCj4gKyAgICBmb3IgKGludCBpID0gMDsgaSA8IGFyZ2M7IGkrKykg ewo+ICsgICAgICAgIGludCBsZW5ndGggPSBzdHJsZW4oYXJndltpXSkgKyAxOwo+ICsgICAgICAg IGFyZ3YyW2ldID0gYXZfbWFsbG9jeihsZW5ndGggKiBzaXplb2YoY2hhciAqKSk7Cj4gKyAgICAg ICAgaWYgKCFhcmd2MltpXSkKPiArICAgICAgICAgICAgZXhpdF9wcm9ncmFtKDEpOwo+ICsgICAg ICAgIG1lbWNweShhcmd2MltpXSwgYXJndltpXSwgbGVuZ3RoIC0gMSk7Cj4gKyAgICB9Cj4gKyAg ICByZXR1cm4gYXJndjI7Cj4gK30KPiArCj4gK3ZvaWQgZnJlZV9wcChpbnQgYXJnYywgY2hhciAq KmFyZ3YpIHsKPiArICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYXJnYzsgaSsrKQo+ICsgICAgICAg IGF2X2ZyZWUoYXJndltpXSk7Cj4gKyAgICBhdl9mcmVlKGFyZ3YpOwo+ICt9Cj4gdm9pZCB1bmlu aXRfb3B0cyh2b2lkKQo+IHsKPiAgICAgYXZfZGljdF9mcmVlKCZzd3Jfb3B0cyk7Cj4gQEAgLTIx NSwxMyArMjQ5LDEzIEBAIHN0YXRpYyB2b2lkIHByZXBhcmVfYXBwX2FyZ3VtZW50cyhpbnQgKmFy Z2NfcHRyLCBjaGFyICoqKmFyZ3ZfcHRyKQo+ICAgICBpZiAod2luMzJfYXJndl91dGY4KSB7Cj4g ICAgICAgICAqYXJnY19wdHIgPSB3aW4zMl9hcmdjOwo+ICAgICAgICAgKmFyZ3ZfcHRyID0gd2lu MzJfYXJndl91dGY4Owo+IC0gICAgICAgIHJldHVybjsKPiArICAgICAgICBnb3RvIGVuZDsKPiAg ICAgfQo+IAo+ICAgICB3aW4zMl9hcmdjID0gMDsKPiAgICAgYXJndl93ID0gQ29tbWFuZExpbmVU b0FyZ3ZXKEdldENvbW1hbmRMaW5lVygpLCAmd2luMzJfYXJnYyk7Cj4gICAgIGlmICh3aW4zMl9h cmdjIDw9IDAgfHwgIWFyZ3ZfdykKPiAtICAgICAgICByZXR1cm47Cj4gKyAgICAgICAgZ290byBl bmQ7Cj4gCj4gICAgIC8qIGRldGVybWluZSB0aGUgVVRGLTggYnVmZmVyIHNpemUgKGluY2x1ZGlu ZyBOVUxMLXRlcm1pbmF0aW9uIHN5bWJvbHMpICovCj4gICAgIGZvciAoaSA9IDA7IGkgPCB3aW4z Ml9hcmdjOyBpKyspCj4gQEAgLTIzMiw3ICsyNjYsNyBAQCBzdGF0aWMgdm9pZCBwcmVwYXJlX2Fw cF9hcmd1bWVudHMoaW50ICphcmdjX3B0ciwgY2hhciAqKiphcmd2X3B0cikKPiAgICAgYXJnc3Ry X2ZsYXQgICAgID0gKGNoYXIgKil3aW4zMl9hcmd2X3V0ZjggKyBzaXplb2YoY2hhciAqKSAqICh3 aW4zMl9hcmdjICsgMSk7Cj4gICAgIGlmICghd2luMzJfYXJndl91dGY4KSB7Cj4gICAgICAgICBM b2NhbEZyZWUoYXJndl93KTsKPiAtICAgICAgICByZXR1cm47Cj4gKyAgICAgICAgZ290byBlbmQ7 Cj4gICAgIH0KPiAKPiAgICAgZm9yIChpID0gMDsgaSA8IHdpbjMyX2FyZ2M7IGkrKykgewo+IEBA IC0yNDMsOSArMjc3LDE0IEBAIHN0YXRpYyB2b2lkIHByZXBhcmVfYXBwX2FyZ3VtZW50cyhpbnQg KmFyZ2NfcHRyLCBjaGFyICoqKmFyZ3ZfcHRyKQo+ICAgICB9Cj4gICAgIHdpbjMyX2FyZ3ZfdXRm OFtpXSA9IE5VTEw7Cj4gICAgIExvY2FsRnJlZShhcmd2X3cpOwo+IC0KPiAgICAgKmFyZ2NfcHRy ID0gd2luMzJfYXJnYzsKPiAgICAgKmFyZ3ZfcHRyID0gd2luMzJfYXJndl91dGY4Owo+ICtlbmQ6 Cj4gKyAgICBpZiAoKmFyZ2NfcHRyID4gMSAmJiAhc3RyY21wKCgqYXJndl9wdHIpWzFdLCAiLXNh ZmUiKSkgewo+ICsgICAgICAgICgqYXJndl9wdHIpWzFdID0gKCphcmd2X3B0cilbMF07Cj4gKyAg ICAgICAgKCphcmdjX3B0ciktLTsKPiArICAgICAgICAoKmFyZ3ZfcHRyKSsrOwo+ICsgICAgfQo+ IH0KPiAjZWxzZQo+IHN0YXRpYyBpbmxpbmUgdm9pZCBwcmVwYXJlX2FwcF9hcmd1bWVudHMoaW50 ICphcmdjX3B0ciwgY2hhciAqKiphcmd2X3B0cikKPiBkaWZmIC0tZ2l0IGEvZmZ0b29scy9jbWR1 dGlscy5oIGIvZmZ0b29scy9jbWR1dGlscy5oCj4gaW5kZXggNDQ5NjIyMS4uY2U0YzFkYiAxMDA2 NDQKPiAtLS0gYS9mZnRvb2xzL2NtZHV0aWxzLmgKPiArKysgYi9mZnRvb2xzL2NtZHV0aWxzLmgK PiBAQCAtNTAsNiArNTAsMjEgQEAgZXh0ZXJuIEFWRGljdGlvbmFyeSAqZm9ybWF0X29wdHMsICpj b2RlY19vcHRzOwo+IGV4dGVybiBpbnQgaGlkZV9iYW5uZXI7Cj4gCj4gLyoqCj4gKyAqIFVzaW5n IHRvIG1hc2tpbmcgc2Vuc2l0aXZlIGluZm8uCj4gKyAqLwo+ICt2b2lkIHBhcmFtX21hc2tpbmco aW50IGFyZ2MsIGNoYXIgKiphcmd2KTsKPiArCj4gKy8qKgo+ICsgKiBVc2luZyB0byBjb3B5IG9y aSBhcmd2Lgo+ICsgKi8KPiArY2hhciAqKmNvcHlfYXJndihpbnQgYXJnYywgY2hhciAqKmFyZ3Yp Owo+ICsKPiArLyoqCj4gKyAqIEZyZWUgKioKPiArICovCj4gK3ZvaWQgZnJlZV9wcChpbnQgYXJn YywgY2hhciAqKmFyZ3YpOwo+ICsKPiArLyoqCj4gICogUmVnaXN0ZXIgYSBwcm9ncmFtLXNwZWNp ZmljIGNsZWFudXAgcm91dGluZS4KPiAgKi8KPiB2b2lkIHJlZ2lzdGVyX2V4aXQodm9pZCAoKmNi KShpbnQgcmV0KSk7Cj4gZGlmZiAtLWdpdCBhL2ZmdG9vbHMvZmZtcGVnLmMgYi9mZnRvb2xzL2Zm bXBlZy5jCj4gaW5kZXggODgxZDZmMC4uZjc3ZTg1MCAxMDA2NDQKPiAtLS0gYS9mZnRvb2xzL2Zm bXBlZy5jCj4gKysrIGIvZmZ0b29scy9mZm1wZWcuYwo+IEBAIC0zODY1LDkgKzM4NjUsOSBAQCBz dGF0aWMgaW50NjRfdCBnZXRtYXhyc3Modm9pZCkKPiAKPiBpbnQgbWFpbihpbnQgYXJnYywgY2hh ciAqKmFyZ3YpCj4gewo+IC0gICAgaW50IHJldDsKPiArICAgIGludCByZXQsIHNhZmVGbGFnOwo+ ICAgICBCZW5jaG1hcmtUaW1lU3RhbXBzIHRpOwo+IC0KPiArICAgIGNoYXIgKiphcmd2MjsKPiAg ICAgaW5pdF9keW5sb2FkKCk7Cj4gCj4gICAgIHJlZ2lzdGVyX2V4aXQoZmZtcGVnX2NsZWFudXAp Owo+IEBAIC0zODc3LDE1ICszODc3LDI1IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJn dikKPiAgICAgYXZfbG9nX3NldF9mbGFncyhBVl9MT0dfU0tJUF9SRVBFQVRFRCk7Cj4gICAgIHBh cnNlX2xvZ2xldmVsKGFyZ2MsIGFyZ3YsIG9wdGlvbnMpOwo+IAo+ICsgICAgc2FmZUZsYWcgPSAw Owo+ICsgICAgaWYgKGFyZ2MgPiAxICYmICFzdHJjbXAoYXJndlsxXSwgIi1zYWZlIikpIHsKPiAr ICAgICAgICBhcmd2WzFdID0gYXJndlswXTsKPiArICAgICAgICBzYWZlRmxhZyA9IDE7Cj4gKyAg ICAgICAgYXJnYy0tOwo+ICsgICAgICAgIGFyZ3YrKzsKPiArICAgIH0KPiAjaWYgQ09ORklHX0FW REVWSUNFCj4gICAgIGF2ZGV2aWNlX3JlZ2lzdGVyX2FsbCgpOwo+ICNlbmRpZgo+ICAgICBhdmZv cm1hdF9uZXR3b3JrX2luaXQoKTsKPiAKPiAgICAgc2hvd19iYW5uZXIoYXJnYywgYXJndiwgb3B0 aW9ucyk7Cj4gKyAgICBhcmd2MiA9IGNvcHlfYXJndihhcmdjLCBhcmd2KTsKPiArICAgIGlmIChz YWZlRmxhZykKPiArICAgICAgICBwYXJhbV9tYXNraW5nKGFyZ2MsIGFyZ3YpOwo+IAo+ICAgICAv KiBwYXJzZSBvcHRpb25zIGFuZCBvcGVuIGFsbCBpbnB1dC9vdXRwdXQgZmlsZXMgKi8KPiAtICAg IHJldCA9IGZmbXBlZ19wYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YpOwo+ICsgICAgcmV0ID0gZmZt cGVnX3BhcnNlX29wdGlvbnMoYXJnYywgYXJndjIpOwo+ICAgICBpZiAocmV0IDwgMCkKPiAgICAg ICAgIGV4aXRfcHJvZ3JhbSgxKTsKPiAKPiBkaWZmIC0tZ2l0IGEvZmZ0b29scy9mZnBsYXkuYyBi L2ZmdG9vbHMvZmZwbGF5LmMKPiBpbmRleCBmYzdlMWMyLi5mOWU2YzkxIDEwMDY0NAo+IC0tLSBh L2ZmdG9vbHMvZmZwbGF5LmMKPiArKysgYi9mZnRvb2xzL2ZmcGxheS5jCj4gQEAgLTM2NjMsMTAg KzM2NjMsMTggQEAgdm9pZCBzaG93X2hlbHBfZGVmYXVsdChjb25zdCBjaGFyICpvcHQsIGNvbnN0 IGNoYXIgKmFyZykKPiAvKiBDYWxsZWQgZnJvbSB0aGUgbWFpbiAqLwo+IGludCBtYWluKGludCBh cmdjLCBjaGFyICoqYXJndikKPiB7Cj4gLSAgICBpbnQgZmxhZ3M7Cj4gKyAgICBpbnQgZmxhZ3Ms IHNhZmVGbGFnOwo+ICsgICAgY2hhciAqKmFyZ3YyOwo+ICAgICBWaWRlb1N0YXRlICppczsKPiAK PiAgICAgaW5pdF9keW5sb2FkKCk7Cj4gKyAgICBzYWZlRmxhZyA9IDA7Cj4gKyAgICBpZiAoYXJn YyA+IDEgJiYgIXN0cmNtcChhcmd2WzFdLCAiLXNhZmUiKSkgewo+ICsgICAgICAgIGFyZ3ZbMV0g PSBhcmd2WzBdOwo+ICsgICAgICAgIHNhZmVGbGFnID0gMTsKPiArICAgICAgICBhcmdjLS07Cj4g KyAgICAgICAgYXJndisrOwo+ICsgICAgfQo+IAo+ICAgICBhdl9sb2dfc2V0X2ZsYWdzKEFWX0xP R19TS0lQX1JFUEVBVEVEKTsKPiAgICAgcGFyc2VfbG9nbGV2ZWwoYXJnYywgYXJndiwgb3B0aW9u cyk7Cj4gQEAgLTM2ODIsNyArMzY5MCwxMCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFy Z3YpCj4gCj4gICAgIHNob3dfYmFubmVyKGFyZ2MsIGFyZ3YsIG9wdGlvbnMpOwo+IAo+IC0gICAg cGFyc2Vfb3B0aW9ucyhOVUxMLCBhcmdjLCBhcmd2LCBvcHRpb25zLCBvcHRfaW5wdXRfZmlsZSk7 Cj4gKyAgICBhcmd2MiA9IGNvcHlfYXJndihhcmdjLCBhcmd2KTsKPiArICAgIHBhcnNlX29wdGlv bnMoTlVMTCwgYXJnYywgYXJndjIsIG9wdGlvbnMsIG9wdF9pbnB1dF9maWxlKTsKPiArICAgIGlm IChzYWZlRmxhZykKPiArICAgICAgICBwYXJhbV9tYXNraW5nKGFyZ2MsIGFyZ3YpOwo+IAo+ICAg ICBpZiAoIWlucHV0X2ZpbGVuYW1lKSB7Cj4gICAgICAgICBzaG93X3VzYWdlKCk7Cj4gZGlmZiAt LWdpdCBhL2ZmdG9vbHMvZmZwcm9iZS5jIGIvZmZ0b29scy9mZnByb2JlLmMKPiBpbmRleCBkMmYx MjZkLi44ZDRkMWU5IDEwMDY0NAo+IC0tLSBhL2ZmdG9vbHMvZmZwcm9iZS5jCj4gKysrIGIvZmZ0 b29scy9mZnByb2JlLmMKPiBAQCAtNDAzNSw5ICs0MDM1LDE2IEBAIGludCBtYWluKGludCBhcmdj LCBjaGFyICoqYXJndikKPiAgICAgV3JpdGVyQ29udGV4dCAqd2N0eDsKPiAgICAgY2hhciAqYnVm Owo+ICAgICBjaGFyICp3X25hbWUgPSBOVUxMLCAqd19hcmdzID0gTlVMTDsKPiAtICAgIGludCBy ZXQsIGlucHV0X3JldCwgaTsKPiAtCj4gKyAgICBpbnQgcmV0LCBpbnB1dF9yZXQsIGksIHNhZmVG bGFnOwo+ICsgICAgY2hhciAqKmFyZ3YyOwo+ICAgICBpbml0X2R5bmxvYWQoKTsKPiArICAgIHNh ZmVGbGFnID0gMDsKPiArICAgIGlmIChhcmdjID4gMSAmJiAhc3RyY21wKGFyZ3ZbMV0sICItc2Fm ZSIpKSB7Cj4gKyAgICAgICAgYXJndlsxXSA9IGFyZ3ZbMF07Cj4gKyAgICAgICAgc2FmZUZsYWcg PSAxOwo+ICsgICAgICAgIGFyZ2MtLTsKPiArICAgICAgICBhcmd2Kys7Cj4gKyAgICB9Cj4gCj4g I2lmIEhBVkVfVEhSRUFEUwo+ICAgICByZXQgPSBwdGhyZWFkX211dGV4X2luaXQoJmxvZ19tdXRl eCwgTlVMTCk7Cj4gQEAgLTQwNTYsOCArNDA2MywxMCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hh ciAqKmFyZ3YpCj4gI2VuZGlmCj4gCj4gICAgIHNob3dfYmFubmVyKGFyZ2MsIGFyZ3YsIG9wdGlv bnMpOwo+IC0gICAgcGFyc2Vfb3B0aW9ucyhOVUxMLCBhcmdjLCBhcmd2LCBvcHRpb25zLCBvcHRf aW5wdXRfZmlsZSk7Cj4gLQo+ICsgICAgYXJndjIgPSBjb3B5X2FyZ3YoYXJnYywgYXJndik7Cj4g KyAgICBwYXJzZV9vcHRpb25zKE5VTEwsIGFyZ2MsIGFyZ3YyLCBvcHRpb25zLCBvcHRfaW5wdXRf ZmlsZSk7Cj4gKyAgICBpZiAoc2FmZUZsYWcpCj4gKyAgICAgICAgcGFyYW1fbWFza2luZyhhcmdj LCBhcmd2KTsKPiAgICAgaWYgKGRvX3Nob3dfbG9nKQo+ICAgICAgICAgYXZfbG9nX3NldF9jYWxs YmFjayhsb2dfY2FsbGJhY2spOwo+IAo+IEBAIC00MTczLDYgKzQxODIsNyBAQCBlbmQ6Cj4gICAg IGF2X2ZyZWVwKCZwcmludF9mb3JtYXQpOwo+ICAgICBhdl9mcmVlcCgmcmVhZF9pbnRlcnZhbHMp Owo+ICAgICBhdl9oYXNoX2ZyZWVwKCZoYXNoKTsKPiArICAgIGZyZWVfcHAoYXJnYywgYXJndjIp Owo+IAo+ICAgICB1bmluaXRfb3B0cygpOwo+ICAgICBmb3IgKGkgPSAwOyBpIDwgRkZfQVJSQVlf RUxFTVMoc2VjdGlvbnMpOyBpKyspCj4gLS0gCj4gMi43LjQKPiAKPiBfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGZmbXBlZy1kZXZlbCBtYWlsaW5nIGxp c3QKPiBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwo+IGh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAo+IAo+IFRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFi b3ZlLCBvciBlbWFpbAo+IGZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJq ZWN0ICJ1bnN1YnNjcmliZSIuCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcu b3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8g dW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1 ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==