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 31DC04B957 for ; Tue, 2 Jul 2024 05:52:07 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2458368D8BE; Tue, 2 Jul 2024 08:52:04 +0300 (EEST) Received: from 6.mo584.mail-out.ovh.net (6.mo584.mail-out.ovh.net [188.165.36.253]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D8AE168D663 for ; Tue, 2 Jul 2024 08:51:57 +0300 (EEST) Received: from director10.ghost.mail-out.ovh.net (unknown [10.109.148.22]) by mo584.mail-out.ovh.net (Postfix) with ESMTP id 4WCsVh48nCz1FD8 for ; Tue, 2 Jul 2024 05:51:56 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-2mndp (unknown [10.110.113.80]) by director10.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 21FEC1FE95 for ; Tue, 2 Jul 2024 05:51:55 +0000 (UTC) Received: from courmont.net ([37.59.142.107]) by ghost-submission-6684bf9d7b-2mndp with ESMTPSA id xAa6OnuVg2aJehcAIrhEnQ (envelope-from ) for ; Tue, 02 Jul 2024 05:51:55 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-107S001975d129b-f34e-4815-a52e-8852a0f4bd7d, B989F31B8FFFE1012D8B9601EF97B969512E36E7) smtp.auth=postmaster@courmont.net X-OVh-ClientIp: 87.95.0.83 Date: Tue, 02 Jul 2024 08:51:50 +0300 From: =?ISO-8859-1?Q?R=E9mi_Denis-Courmont?= To: FFmpeg development discussions and patches User-Agent: K-9 Mail for Android In-Reply-To: <20240702013354.14942-3-yigithanyigitdevel@gmail.com> References: <20240702013354.14942-1-yigithanyigitdevel@gmail.com> <20240702013354.14942-3-yigithanyigitdevel@gmail.com> Message-ID: MIME-Version: 1.0 X-Ovh-Tracer-Id: 10771484410239588857 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: -100 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgeeftddrudeggdelkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfqggfjpdevjffgvefmvefgnecuuegrihhlohhuthemucehtddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpeffhffvufgfjghfkfggtgfgsehtqhhmtddtreejnecuhfhrohhmpeftrohmihcuffgvnhhishdqvehouhhrmhhonhhtuceorhgvmhhisehrvghmlhgrsgdrnhgvtheqnecuggftrfgrthhtvghrnhepgfeulefhfeffgeevgeetgeeuheeguddvffeltdejgeetuddvtdejhffhgeetvdejnecukfhppeduvdejrddtrddtrddupdekjedrleehrddtrdekfedpfeejrdehledrudegvddruddtjeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomheprhgvmhhisehrvghmlhgrsgdrnhgvthdpnhgspghrtghpthhtohepuddprhgtphhtthhopehffhhmphgvghdquggvvhgvlhesfhhfmhhpvghgrdhorhhgpdfovfetjfhoshhtpehmohehkeegpdhmohguvgepshhmthhpohhuth Subject: Re: [FFmpeg-devel] [PATCH v3 2/5] avfilter/af_volumedetect.c: Add 32bit float audio support 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: CgpMZSAyIGp1aWxsZXQgMjAyNCAwNDozMzo1MSBHTVQrMDM6MDAsIFlpZ2l0aGFuIFlpZ2l0IDx5 aWdpdGhhbnlpZ2l0ZGV2ZWxAZ21haWwuY29tPiBhIMOpY3JpdMKgOgo+LS0tCj4gbGliYXZmaWx0 ZXIvYWZfdm9sdW1lZGV0ZWN0LmMgfCAxMzkgKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t LS0tLQo+IDEgZmlsZSBjaGFuZ2VkLCAxMDcgaW5zZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25zKC0p Cj4KPmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9hZl92b2x1bWVkZXRlY3QuYyBiL2xpYmF2Zmls dGVyL2FmX3ZvbHVtZWRldGVjdC5jCj5pbmRleCAzMjc4MDFhN2Y5Li5lZGQyZDU2ZjdhIDEwMDY0 NAo+LS0tIGEvbGliYXZmaWx0ZXIvYWZfdm9sdW1lZGV0ZWN0LmMKPisrKyBiL2xpYmF2ZmlsdGVy L2FmX3ZvbHVtZWRldGVjdC5jCj5AQCAtMSw1ICsxLDYgQEAKPiAvKgo+ICAqIENvcHlyaWdodCAo YykgMjAxMiBOaWNvbGFzIEdlb3JnZQo+KyAqIENvcHlyaWdodCAoYykgMjAyNCBZaWdpdGhhbiBZ aWdpdCAtIDMyIEJpdCBGbG9hdCBBdWRpbyBTdXBwb3J0Cj4gICoKPiAgKiBUaGlzIGZpbGUgaXMg cGFydCBvZiBGRm1wZWcuCj4gICoKPkBAIC0yMCw0OCArMjEsNjIgQEAKPiAKPiAjaW5jbHVkZSAi bGliYXZ1dGlsL2NoYW5uZWxfbGF5b3V0LmgiCj4gI2luY2x1ZGUgImxpYmF2dXRpbC9hdmFzc2Vy dC5oIgo+KyNpbmNsdWRlICJsaWJhdnV0aWwvbWVtLmgiCj4gI2luY2x1ZGUgImF1ZGlvLmgiCj4g I2luY2x1ZGUgImF2ZmlsdGVyLmgiCj4gI2luY2x1ZGUgImludGVybmFsLmgiCj4gCj4rI2RlZmlu ZSBNQVhfREJfRkxUIDEwMjQKPiAjZGVmaW5lIE1BWF9EQiA5MQo+KyNkZWZpbmUgSElTVE9HUkFN X1NJWkUgMHgxMDAwMAo+KyNkZWZpbmUgSElTVE9HUkFNX1NJWkVfRkxUIChNQVhfREJfRkxUKjIp Cj4rCj4rdHlwZWRlZiBzdHJ1Y3QgVm9sRGV0ZWN0Q29udGV4dCBWb2xEZXRlY3RDb250ZXh0Owo+ IAo+IHR5cGVkZWYgc3RydWN0IFZvbERldGVjdENvbnRleHQgewo+LSAgICAvKioKPi0gICAgICog TnVtYmVyIG9mIHNhbXBsZXMgYXQgZWFjaCBQQ00gdmFsdWUuCj4tICAgICAqIGhpc3RvZ3JhbVsw eDgwMDAgKyBpXSBpcyB0aGUgbnVtYmVyIG9mIHNhbXBsZXMgYXQgdmFsdWUgaS4KPi0gICAgICog VGhlIGV4dHJhIGVsZW1lbnQgaXMgdGhlcmUgZm9yIHN5bW1ldHJ5Lgo+LSAgICAgKi8KPi0gICAg dWludDY0X3QgaGlzdG9ncmFtWzB4MTAwMDFdOwo+KyAgICB1aW50NjRfdCogaGlzdG9ncmFtOyAv Ly88IGZvciBpbnRlZ2VyIG51bWJlciBvZiBzYW1wbGVzIGF0IGVhY2ggUENNIHZhbHVlLCBmb3Ig ZmxvYXQgbnVtYmVyIG9mIHNhbXBsZXMgYXQgZWFjaCBkQgo+KyAgICB1aW50NjRfdCBuYl9zYW1w bGVzOyAvLy88IG51bWJlciBvZiBzYW1wbGVzCj4rICAgIGRvdWJsZSBzdW0yOyAgICAgICAgIC8v Lzwgc3VtIG9mIHRoZSBzcXVhcmVzIG9mIHRoZSBzYW1wbGVzCj4rICAgIGRvdWJsZSBtYXg7ICAg ICAgICAgIC8vLzwgbWF4aW11bSBzYW1wbGUgdmFsdWUKPisgICAgaW50IGlzX2Zsb2F0OyAgICAg ICAgLy8vPCB0cnVlIGlmIHRoZSBpbnB1dCBpcyBpbiBmbG9hdGluZyBwb2ludAo+KyAgICB2b2lk ICgqcHJvY2Vzc19zYW1wbGVzKShWb2xEZXRlY3RDb250ZXh0ICp2ZCwgQVZGcmFtZSAqc2FtcGxl cyk7Cj4gfSBWb2xEZXRlY3RDb250ZXh0Owo+IAo+LXN0YXRpYyBpbmxpbmUgZG91YmxlIGxvZ2Ri KHVpbnQ2NF90IHYpCj4rc3RhdGljIGlubGluZSBkb3VibGUgbG9nZGIoZG91YmxlIHYsIGVudW0g QVZTYW1wbGVGb3JtYXQgc2FtcGxlX2ZtdCkKPiB7Cj4tICAgIGRvdWJsZSBkID0gdiAvIChkb3Vi bGUpKDB4ODAwMCAqIDB4ODAwMCk7Cj4tICAgIGlmICghdikKPi0gICAgICAgIHJldHVybiBNQVhf REI7Cj4tICAgIHJldHVybiAtbG9nMTAoZCkgKiAxMDsKPisgICAgaWYgKHNhbXBsZV9mbXQgPT0g QVZfU0FNUExFX0ZNVF9GTFQpIHsKClRoZXJlJ3Mgbm8gcG9pbnQgaW4gZG9pbmcgdGhpcy4gWW91 J3ZlIGFscmVhZHkgdXAtY29udmVydGVkIHRvIGRvdWJsZSBwcmVjaXNpb24gYW5kIGRvIGFsbCB0 aGUgY2FsY3VsYXRpb25zIGluIGRvdWJsZSBwcmVjaXNpb24uIE1heWJlIHRoYXQncyBmaW5lIG9y IG1heWJlIG5vdCwgYnV0IGVpdGhlciB3YXksIHRoaXMgZG9lc24ndCBsb29rIHNlbnNpYmxlLgoK PisgICAgICAgIGlmICghdikKPisgICAgICAgICAgICByZXR1cm4gTUFYX0RCX0ZMVDsKPisgICAg ICAgIHJldHVybiAtbG9nMTAodikgKiAxMDsKPisgICAgfSBlbHNlIHsKPisgICAgICAgIGRvdWJs ZSBkID0gdiAvIChkb3VibGUpKDB4ODAwMCAqIDB4ODAwMCk7Cj4rICAgICAgICBpZiAoIXYpCj4r ICAgICAgICAgICAgcmV0dXJuIE1BWF9EQjsKPisgICAgICAgIHJldHVybiAtbG9nMTAoZCkgKiAx MDsKPisgICAgfQo+K30KPisKPitzdGF0aWMgdm9pZCB1cGRhdGVfZmxvYXRfc3RhdHMoVm9sRGV0 ZWN0Q29udGV4dCAqdmQsIGZsb2F0ICphdWRpb19kYXRhKQo+K3sKPisgICAgZG91YmxlIHNhbXBs ZTsKPisgICAgaW50IGlkeDsKPisgICAgaWYoIWlzZmluaXRlKCphdWRpb19kYXRhKSB8fCBpc25h bigqYXVkaW9fZGF0YSkpCj4rICAgICAgICByZXR1cm47Cj4rICAgIHNhbXBsZSA9IGZhYnNmKCph dWRpb19kYXRhKTsKPisgICAgaWYgKHNhbXBsZSA+IHZkLT5tYXgpCj4rICAgICAgICB2ZC0+bWF4 ID0gc2FtcGxlOwo+KyAgICB2ZC0+c3VtMiArPSBzYW1wbGUgKiBzYW1wbGU7Cj4rICAgIGlkeCA9 IChpbnQpZmxvb3JmKGxvZ2RiKHNhbXBsZSAqIHNhbXBsZSwgQVZfU0FNUExFX0ZNVF9GTFQpKSAr IE1BWF9EQl9GTFQ7Cj4rICAgIHZkLT5oaXN0b2dyYW1baWR4XSsrOwo+KyAgICB2ZC0+bmJfc2Ft cGxlcysrOwo+IH0KPiAKPiBzdGF0aWMgaW50IGZpbHRlcl9mcmFtZShBVkZpbHRlckxpbmsgKmlu bGluaywgQVZGcmFtZSAqc2FtcGxlcykKPiB7Cj4gICAgIEFWRmlsdGVyQ29udGV4dCAqY3R4ID0g aW5saW5rLT5kc3Q7Cj4gICAgIFZvbERldGVjdENvbnRleHQgKnZkID0gY3R4LT5wcml2Owo+LSAg ICBpbnQgbmJfc2FtcGxlcyAgPSBzYW1wbGVzLT5uYl9zYW1wbGVzOwo+LSAgICBpbnQgbmJfY2hh bm5lbHMgPSBzYW1wbGVzLT5jaF9sYXlvdXQubmJfY2hhbm5lbHM7Cj4tICAgIGludCBuYl9wbGFu ZXMgICA9IG5iX2NoYW5uZWxzOwo+LSAgICBpbnQgcGxhbmUsIGk7Cj4tICAgIGludDE2X3QgKnBj bTsKPi0KPi0gICAgaWYgKCFhdl9zYW1wbGVfZm10X2lzX3BsYW5hcihzYW1wbGVzLT5mb3JtYXQp KSB7Cj4tICAgICAgICBuYl9zYW1wbGVzICo9IG5iX2NoYW5uZWxzOwo+LSAgICAgICAgbmJfcGxh bmVzID0gMTsKPi0gICAgfQo+LSAgICBmb3IgKHBsYW5lID0gMDsgcGxhbmUgPCBuYl9wbGFuZXM7 IHBsYW5lKyspIHsKPi0gICAgICAgIHBjbSA9IChpbnQxNl90ICopc2FtcGxlcy0+ZXh0ZW5kZWRf ZGF0YVtwbGFuZV07Cj4tICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbmJfc2FtcGxlczsgaSsrKQo+ LSAgICAgICAgICAgIHZkLT5oaXN0b2dyYW1bcGNtW2ldICsgMHg4MDAwXSsrOwo+LSAgICB9Cj4r Cj4rICAgIHZkLT5wcm9jZXNzX3NhbXBsZXModmQsIHNhbXBsZXMpOwo+IAo+ICAgICByZXR1cm4g ZmZfZmlsdGVyX2ZyYW1lKGlubGluay0+ZHN0LT5vdXRwdXRzWzBdLCBzYW1wbGVzKTsKPiB9Cj5A QCAtNzMsNiArODgsMjAgQEAgc3RhdGljIHZvaWQgcHJpbnRfc3RhdHMoQVZGaWx0ZXJDb250ZXh0 ICpjdHgpCj4gICAgIHVpbnQ2NF90IG5iX3NhbXBsZXMgPSAwLCBwb3dlciA9IDAsIG5iX3NhbXBs ZXNfc2hpZnQgPSAwLCBzdW0gPSAwOwo+ICAgICB1aW50NjRfdCBoaXN0ZGJbTUFYX0RCICsgMV0g PSB7IDAgfTsKPiAKPisgICAgaWYgKCF2ZC0+bmJfc2FtcGxlcykKPisgICAgICAgIHJldHVybjsK PisgICAgaWYgKHZkLT5pc19mbG9hdCkgewo+KyAgICAgICAgYXZfbG9nKGN0eCwgQVZfTE9HX0lO Rk8sICJuX3NhbXBsZXM6ICUiIFBSSWQ2NCAiXG4iLCB2ZC0+bmJfc2FtcGxlcyk7Cj4rICAgICAg ICBhdl9sb2coY3R4LCBBVl9MT0dfSU5GTywgIm1lYW5fdm9sdW1lOiAlLjFmIGRCXG4iLCAtbG9n ZGIodmQtPnN1bTIgLyB2ZC0+bmJfc2FtcGxlcywgQVZfU0FNUExFX0ZNVF9GTFQpKTsKPisgICAg ICAgIGF2X2xvZyhjdHgsIEFWX0xPR19JTkZPLCAibWF4X3ZvbHVtZTogJS4xZiBkQlxuIiwgLTIu MCpsb2dkYih2ZC0+bWF4LCBBVl9TQU1QTEVfRk1UX0ZMVCkpOwo+KyAgICAgICAgZm9yIChpID0g MDsgaSA8IEhJU1RPR1JBTV9TSVpFX0ZMVCAmJiAhdmQtPmhpc3RvZ3JhbVtpXTsgaSsrKTsKPisg ICAgICAgIGZvciAoOyBpID49IDAgJiYgc3VtIDwgdmQtPm5iX3NhbXBsZXMgLyAxMDAwOyBpKysp IHsKPisgICAgICAgICAgICBpZiAoIXZkLT5oaXN0b2dyYW1baV0pCj4rICAgICAgICAgICAgICAg IGNvbnRpbnVlOwo+KyAgICAgICAgICAgIGF2X2xvZyhjdHgsIEFWX0xPR19JTkZPLCAiaGlzdG9n cmFtXyVkZGI6ICUiIFBSSWQ2NCAiXG4iLCBNQVhfREJfRkxUIC0gaSwgdmQtPmhpc3RvZ3JhbVtp XSk7Cj4rICAgICAgICAgICAgc3VtICs9IHZkLT5oaXN0b2dyYW1baV07Cj4rICAgICAgICB9Cj4r ICAgIH0gZWxzZSB7Cj4gICAgIGZvciAoaSA9IDA7IGkgPCAweDEwMDAwOyBpKyspCj4gICAgICAg ICBuYl9zYW1wbGVzICs9IHZkLT5oaXN0b2dyYW1baV07Cj4gICAgIGF2X2xvZyhjdHgsIEFWX0xP R19JTkZPLCAibl9zYW1wbGVzOiAlIlBSSWQ2NCJcbiIsIG5iX3NhbXBsZXMpOwo+QEAgLTkyLDI2 ICsxMjEsNjEgQEAgc3RhdGljIHZvaWQgcHJpbnRfc3RhdHMoQVZGaWx0ZXJDb250ZXh0ICpjdHgp Cj4gICAgICAgICByZXR1cm47Cj4gICAgIHBvd2VyID0gKHBvd2VyICsgbmJfc2FtcGxlc19zaGlm dCAvIDIpIC8gbmJfc2FtcGxlc19zaGlmdDsKPiAgICAgYXZfYXNzZXJ0MChwb3dlciA8PSAweDgw MDAgKiAweDgwMDApOwo+LSAgICBhdl9sb2coY3R4LCBBVl9MT0dfSU5GTywgIm1lYW5fdm9sdW1l OiAlLjFmIGRCXG4iLCAtbG9nZGIocG93ZXIpKTsKPisgICAgYXZfbG9nKGN0eCwgQVZfTE9HX0lO Rk8sICJtZWFuX3ZvbHVtZTogJS4xZiBkQlxuIiwgLWxvZ2RiKChkb3VibGUpcG93ZXIsIEFWX1NB TVBMRV9GTVRfUzE2KSk7Cj4gCj4gICAgIG1heF92b2x1bWUgPSAweDgwMDA7Cj4gICAgIHdoaWxl IChtYXhfdm9sdW1lID4gMCAmJiAhdmQtPmhpc3RvZ3JhbVsweDgwMDAgKyBtYXhfdm9sdW1lXSAm Jgo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXZkLT5oaXN0b2dyYW1bMHg4MDAwIC0g bWF4X3ZvbHVtZV0pCj4gICAgICAgICBtYXhfdm9sdW1lLS07Cj4tICAgIGF2X2xvZyhjdHgsIEFW X0xPR19JTkZPLCAibWF4X3ZvbHVtZTogJS4xZiBkQlxuIiwgLWxvZ2RiKG1heF92b2x1bWUgKiBt YXhfdm9sdW1lKSk7Cj4rICAgIGF2X2xvZyhjdHgsIEFWX0xPR19JTkZPLCAibWF4X3ZvbHVtZTog JS4xZiBkQlxuIiwgLWxvZ2RiKChkb3VibGUpKG1heF92b2x1bWUgKiBtYXhfdm9sdW1lKSwgQVZf U0FNUExFX0ZNVF9TMTYpKTsKPiAKPiAgICAgZm9yIChpID0gMDsgaSA8IDB4MTAwMDA7IGkrKykK Pi0gICAgICAgIGhpc3RkYlsoaW50KWxvZ2RiKChpIC0gMHg4MDAwKSAqIChpIC0gMHg4MDAwKSld ICs9IHZkLT5oaXN0b2dyYW1baV07Cj4rICAgICAgICBoaXN0ZGJbKGludClsb2dkYigoZG91Ymxl KShpIC0gMHg4MDAwKSAqIChpIC0gMHg4MDAwKSwgQVZfU0FNUExFX0ZNVF9TMTYpXSArPSB2ZC0+ aGlzdG9ncmFtW2ldOwo+ICAgICBmb3IgKGkgPSAwOyBpIDw9IE1BWF9EQiAmJiAhaGlzdGRiW2ld OyBpKyspOwo+ICAgICBmb3IgKDsgaSA8PSBNQVhfREIgJiYgc3VtIDwgbmJfc2FtcGxlcyAvIDEw MDA7IGkrKykgewo+LSAgICAgICAgYXZfbG9nKGN0eCwgQVZfTE9HX0lORk8sICJoaXN0b2dyYW1f JWRkYjogJSJQUklkNjQiXG4iLCBpLCBoaXN0ZGJbaV0pOwo+KyAgICAgICAgYXZfbG9nKGN0eCwg QVZfTE9HX0lORk8sICJoaXN0b2dyYW1fJWRkYjogJSJQUklkNjQiXG4iLCAtaSwgaGlzdGRiW2ld KTsKPiAgICAgICAgIHN1bSArPSBoaXN0ZGJbaV07Cj4gICAgIH0KPisgICAgfQo+K30KPisKPitz dGF0aWMgaW50IGNvbmZpZ19vdXRwdXQoQVZGaWx0ZXJMaW5rICpvdXRsaW5rKQo+K3sKPisgICAg QVZGaWx0ZXJDb250ZXh0ICpjdHggPSBvdXRsaW5rLT5zcmM7Cj4rICAgIFZvbERldGVjdENvbnRl eHQgKnZkID0gY3R4LT5wcml2Owo+KyAgICBzaXplX3QgaGlzdG9ncmFtX3NpemU7Cj4rCj4rICAg IHZkLT5pc19mbG9hdCA9IG91dGxpbmstPmZvcm1hdCA9PSBBVl9TQU1QTEVfRk1UX0ZMVCB8fAo+ KyAgICAgICAgICAgICAgICAgICBvdXRsaW5rLT5mb3JtYXQgPT0gQVZfU0FNUExFX0ZNVF9GTFRQ Owo+Kwo+KyAgICBpZiAoIXZkLT5pc19mbG9hdCkgewo+KyAgICAgICAgLyoKPisgICAgICAgICog TnVtYmVyIG9mIHNhbXBsZXMgYXQgZWFjaCBQQ00gdmFsdWUuCj4rICAgICAgICAqIE9ubHkgdXNl ZCBmb3IgaW50ZWdlciBmb3JtYXRzLgo+KyAgICAgICAgKiBGb3IgMTYgYml0IHNpZ25lZCBQQ00g dGhlcmUgYXJlIDY1NTM2Lgo+KyAgICAgICAgKiBoaXN0b2dyYW1bMHg4MDAwICsgaV0gaXMgdGhl IG51bWJlciBvZiBzYW1wbGVzIGF0IHZhbHVlIGkuCj4rICAgICAgICAqIFRoZSBleHRyYSBlbGVt ZW50IGlzIHRoZXJlIGZvciBzeW1tZXRyeS4KPisgICAgICAgICovCj4rICAgICAgICBoaXN0b2dy YW1fc2l6ZSA9IEhJU1RPR1JBTV9TSVpFICsgMTsKPisgICAgfSBlbHNlIHsKPisgICAgICAgIC8q Cj4rICAgICAgICAqIFRoZSBoaXN0b2dyYW0gaXMgdXNlZCB0byBzdG9yZSB0aGUgbnVtYmVyIG9m IHNhbXBsZXMgYXQgZWFjaCBkQgo+KyAgICAgICAgKiBpbnN0ZWFkIG9mIHRoZSBudW1iZXIgb2Yg c2FtcGxlcyBhdCBlYWNoIFBDTSB2YWx1ZS4KPisgICAgICAgICovCj4rICAgICAgICBoaXN0b2dy YW1fc2l6ZSA9IEhJU1RPR1JBTV9TSVpFX0ZMVCArIDE7Cj4rICAgIH0KPisgICAgdmQtPmhpc3Rv Z3JhbSA9IGF2X2NhbGxvYyhoaXN0b2dyYW1fc2l6ZSwgc2l6ZW9mKHVpbnQ2NF90KSk7Cj4rICAg IGlmICghdmQtPmhpc3RvZ3JhbSkKPisgICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7Cj4r ICAgIHJldHVybiAwOwo+IH0KPiAKPiBzdGF0aWMgYXZfY29sZCB2b2lkIHVuaW5pdChBVkZpbHRl ckNvbnRleHQgKmN0eCkKPiB7Cj4rICAgIFZvbERldGVjdENvbnRleHQgKnZkID0gY3R4LT5wcml2 Owo+ICAgICBwcmludF9zdGF0cyhjdHgpOwo+KyAgICBpZiAodmQtPmhpc3RvZ3JhbSkKPisgICAg ICAgIGF2X2ZyZWVwKCZ2ZC0+aGlzdG9ncmFtKTsKPiB9Cj4gCj4gc3RhdGljIGNvbnN0IEFWRmls dGVyUGFkIHZvbHVtZWRldGVjdF9pbnB1dHNbXSA9IHsKPkBAIC0xMjIsNiArMTg2LDE0IEBAIHN0 YXRpYyBjb25zdCBBVkZpbHRlclBhZCB2b2x1bWVkZXRlY3RfaW5wdXRzW10gPSB7Cj4gICAgIH0s Cj4gfTsKPiAKPitzdGF0aWMgY29uc3QgQVZGaWx0ZXJQYWQgdm9sdW1lZGV0ZWN0X291dHB1dHNb XSA9IHsKPisgICAgewo+KyAgICAgICAgLm5hbWUgICAgICAgICA9ICJkZWZhdWx0IiwKPisgICAg ICAgIC50eXBlICAgICAgICAgPSBBVk1FRElBX1RZUEVfQVVESU8sCj4rICAgICAgICAuY29uZmln X3Byb3BzID0gY29uZmlnX291dHB1dCwKPisgICAgfSwKPit9Owo+Kwo+IGNvbnN0IEFWRmlsdGVy IGZmX2FmX3ZvbHVtZWRldGVjdCA9IHsKPiAgICAgLm5hbWUgICAgICAgICAgPSAidm9sdW1lZGV0 ZWN0IiwKPiAgICAgLmRlc2NyaXB0aW9uICAgPSBOVUxMX0lGX0NPTkZJR19TTUFMTCgiRGV0ZWN0 IGF1ZGlvIHZvbHVtZS4iKSwKPkBAIC0xMjksNiArMjAxLDkgQEAgY29uc3QgQVZGaWx0ZXIgZmZf YWZfdm9sdW1lZGV0ZWN0ID0gewo+ICAgICAudW5pbml0ICAgICAgICA9IHVuaW5pdCwKPiAgICAg LmZsYWdzICAgICAgICAgPSBBVkZJTFRFUl9GTEFHX01FVEFEQVRBX09OTFksCj4gICAgIEZJTFRF Ul9JTlBVVFModm9sdW1lZGV0ZWN0X2lucHV0cyksCj4tICAgIEZJTFRFUl9PVVRQVVRTKGZmX2F1 ZGlvX2RlZmF1bHRfZmlsdGVycGFkKSwKPi0gICAgRklMVEVSX1NBTVBMRUZNVFMoQVZfU0FNUExF X0ZNVF9TMTYsIEFWX1NBTVBMRV9GTVRfUzE2UCksCj4rICAgIEZJTFRFUl9PVVRQVVRTKHZvbHVt ZWRldGVjdF9vdXRwdXRzKSwKPisgICAgRklMVEVSX1NBTVBMRUZNVFMoQVZfU0FNUExFX0ZNVF9T MTYsCj4rICAgICAgICAgICAgICAgICAgICAgIEFWX1NBTVBMRV9GTVRfUzE2UCwKPisgICAgICAg ICAgICAgICAgICAgICAgQVZfU0FNUExFX0ZNVF9GTFQsCj4rICAgICAgICAgICAgICAgICAgICAg IEFWX1NBTVBMRV9GTVRfRkxUUCksCj4gfTsKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxA ZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2 ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2 ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=