From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Ujfalusi Subject: Re: ASoC: TLV320AIC3x: Adding additional functionality for 3106 with [Patch] for discuss Date: Mon, 14 Mar 2016 18:38:57 +0200 Message-ID: <56E6E921.5030007@ti.com> References: <56E69B3F.8090306@mcsplus.ru> <56E6CEE9.5030802@ti.com> <56E6D177.5050108@mcsplus.ru> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from devils.ext.ti.com (devils.ext.ti.com [198.47.26.153]) by alsa0.perex.cz (Postfix) with ESMTP id B8346265D92 for ; Mon, 14 Mar 2016 17:41:38 +0100 (CET) In-Reply-To: <56E6D177.5050108@mcsplus.ru> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: Timur Karaldin Cc: "alsa-devel@alsa-project.org" , Mark Brown , Jyri Sarha , Jarkko Nikula , Lars-Peter Clausen List-Id: alsa-devel@alsa-project.org T24gMDMvMTQvMjAxNiAwNDo1NyBQTSwgVGltdXIgS2FyYWxkaW4gd3JvdGU6Cj4gSGksIFBldGVy IQo+IFdoYXQncyBhYm91dCBwbGFjaW5nIGNhcHR1cmUgY29udHJvbHMgaW4gdGhlIFBsYXliYWNr IHNlY3Rpb24gb2YgQWxzYW1peGVyCj4gdmlldz8KClllYWgsIGl0IGlzIGFubm95aW5nLiBUaGV5 IGNhbiBiZSBmaXhlZCBieToKIkxpbmUxTCBTd2l0Y2giIC0+ICJMaW5lMUwgQ2FwdHVyZSBTd2l0 Y2giIGFuZCBzbyBvbi4gT24gdGhlIG90aGVyIGhhbmQgd2UgaGFkCnRoZXNlIHVuZm9ydHVuYXRl IGNvbnRyb2wgbmFtZXMgSSB0aGluayBzaW5jZSB0aGUgYmVnaW5uaW5nIGFuZCBpdCBpcyBraW5k IG9mCmFuIEFCSSBmb3IgZXhpc3RpbmcgcHJvZHVjdHMuIEkgZG9uJ3QgaGF2ZSBpc3N1ZSBjaGFu Z2luZyB0aGVtLCBidXQgZXhpc3RpbmcKc2V0dXBzIHJlbHlpbmcgb24gdGhlIGNvbnRyb2wgbmFt ZXMgbWlnaHQgYnJlYWsuLi4KCj4gRG9lcyByZXNldHRpbmcgb2Ygc29tZSByZWdpc3RlcnMgZHVy aW5nIHN0YXJ0L3N0b3Agb2YgcmVjb3JkaW5nCj4gY29ubmVjdCB3aXRoIGl0PwoKTm90IHN1cmUg d2hhdCB5b3UgbWVhbi4KCi0tIApQw6l0ZXIKCj4gCj4gMTQuMDMuMjAxNiAxNzo0NywgUGV0ZXIg VWpmYWx1c2kg0L/QuNGI0LXRgjoKPj4gSGkgVGltdXIsCj4+Cj4+IE9uIDAzLzE0LzE2IDEzOjA2 LCBUaW11ciBLYXJhbGRpbiB3cm90ZToKPj4+IEhpLCBjb2xsZWFndWVzIQo+Pj4KPj4+IEknbSBu ZXdiaWUgd2l0aCBBTFNBIGRldmVsLiBJIG5lZWQgdG8gZ2V0IGV4dHJhIGZ1bmN0aW9uYWxpdHkg ZnJvbSBjb2RlYwo+Pj4gdGhyb3VnaCBBTFNBIG1peGVyLgo+Pj4gVGFzazogMS4gbWFraW5nIHBv c3NpYmlsaXR5IHRvIHNldC11cCBnYWluIGZvciBlYWNoIGlucHV0IChYWFhfMl9MQURDQ1RSTCBh bmQKPj4+IFhYWF8yX1JBRENDVFJMIHJlZ2lzdGVycykKPj4gVGhpcyBwYXJ0IGlzIGEgYml0IHRy aWNreSBhcyBpbiB0aGUgcmVnaXN0ZXJzOgo+PiB2YWx1ZSAwLi44IGlzIGdhaW4gZnJvbSAwZEIg dG8gLTEyZEIgaW4gc3RlcHMgb2YgLTEuNWRCIGFuZCB2YWx1ZSAweGYgbWVhbnMKPj4gYmFzaWNh bGx5IG11dGUvZGlzY29ubmVjdC4KPj4KPj4+IDIuIG1ha2luZyBwb3NzaWJpbGl0eSB0byBzZXQt dXAgZGVib3VuY2UgZm9yIGJ1dHRvbiBhbmQgaGVhZHNldCBkZXRlY3Rpb24gKAo+Pj4gSEVBRFNF VF9ERVRFQ1RfQ1RSTF9BIHJlZ2lzdGVyKQo+Pj4gMy4gbWFraW5nIHBvc3NpYmlsaXR5IHRvIGVu YWJsZSBoaWdoLXBvd2VyIEFDLWNvdXBsZWQgb3V0cHV0Cj4+PiAoSEVBRFNFVF9ERVRFQ1RfQ1RS TF9BIHJlZ2lzdGVyKQo+Pj4gNC4gbWFraW5nIHBvc3NpYmlsaXR5IHRvIGVuYWJsZSBzdGVyZW8g cHNldWRvIGRpZmZlcmVudGlhbCBvdXRwdXQKPj4+IChIRUFEU0VUX0RFVEVDVF9DVFJMX0IgcmVn aXN0ZXIpCj4+PiA1LiBlbmFibGUgaGVhZHNldCBkZXRlY3Rpb24gKEhFQURTRVRfREVURUNUX0NU UkxfQSkKPj4+IDYuIGdldHRpbmcgaGVhZHNldCBkZXRlY3Qgc3RhdHVzIChIRUFEU0VUX0RFVEVD VF9DVFJMX0EpCj4+Pgo+Pj4gV2VsbCwgbXkgcGF0Y2ggd29ya3MgaW4gZ2VuZXJhbGx5LCBidXQg SSBkb24ndCBsaWtlIGl0IHZlcnkgbXVjaCwgYmVjYXVzZToKPj4+IDEuIEFsbCBjb250cm9scyBm b3IgaW5wdXQgYW1wbGlmaWVycycgZ2FpbiBhcmUgc2hvd24gaW4gQWxzYW1peGVyLVBsYXliYWNr Cj4+PiBzZWN0aW9uLiBCdXQgbm90IG9ubHkgbWluZSwgY2FwdHVyZSBjb250cm9scyBmcm9tIGJh c2UgY29kZWMncyB2ZXJzaW9uIGFyZQo+Pj4gc2hvd24gaW4gcGxheWJhY2sgc2VjdGlvbiB0b28s IGZvciBleGFtcGxlIChSaWdodCBvciBMZWZ0KSBQR0EgTWl4ZXIgTGluZTEoTAo+Pj4gb3IgUikv MihMIG9yIFIpL01JQzMoTCBvciBSKSwgd2hpY2ggaXMgZGVmaW5pdGVseSBjYXB0dXJlIHNldHRp bmdzLiBTaG91bGQgSQo+Pj4gd29ycmllZCBhYm91dCBpdD8gYmVjYXVzZSwgYXMgSSB1bmRlcnN0 YW5kLCBpdCBjb3VsZCBub3QgYmUgc2V0dGVkIGNvcnJlY3RseQo+Pj4gZHVyaW5nIGNoYW5naW5n IHBsYXliYWNrL2NhcHR1cmUgbW9kZSBmb3IgcG93ZXItc2F2aW5nIHJlYXNvbi4KPj4+IDIuICAi UmlnaHQgUEdBIE1peGVyIExpbmUxUiIgY29udHJvbCAoYW5kIHNpbWlsYXIpIHVzaW5nIHRoZSBz YW1lIGJpdHMgaW4KPj4+IExJTkUxUl8yX1JBRENDVFJMIHJlZ2lzdGVyIGFzIG15ICJMaW5lMVIg UkFEQyBHYWluIiBjb250cm9sIChhbmQgc2ltaWxhcikgYW5kCj4+PiBwdXQgdGhlcmUgYiIxMTEx IiB3aGVuIHVzZXIgc3dpdGNoIGRpc2Nvbm5lY3QgaXQgZnJvbSBBREMuIFNvIG15IGNvbnRyb2wg aXMKPj4+IG5vdCBzaG93biB3aGVuIHVzZXIgZGlzY29ubmVjdCBpdCBmcm9tIEFEQy4KPj4+IDMu IFdoZW4gSSBzdGFydC9zdG9wIGFyZWNvcmQgc29tZSBvZiBteSBvcHRpb25zIHdlcmUgcmVzZXQg KGRlYm91bmNlcywgaGVhZHNldAo+Pj4gZW5hYmxlLCBoaWdoLXBvd2VyIEFDLWNvdXBsZWQsIHBz ZXVkbyBkaWZmZXJlbnRpYWwgb3V0cHV0KS4gV2hlbiBJIHNldCB1cCBpdAo+Pj4gaW4gc2hlbGwg YW5kIHRoZW4gc3RhcnQgYXJlY29yZCwgaXQncyByZXNldCBhZ2Fpbi4gSXMgaXQgdGhlIHJlYXNv biBiZWNhdXNlIG9mCj4+PiBkaXNwbGF5aW5nIGNvbnRyb2xzIGluIHBsYXliYWNrIG1peGVyIHNl Y3Rpb24/Cj4+Pgo+Pj4gSSB3aWxsIGJlIHZlcnkgcGxlYXNlZCBmb3IgYW55IGFkdmlzZSwgdGhh bmsgeW91IQo+Pj4KPj4+Cj4+PiBoZXJlIGlzIG15IHBhdGNoIGZvciB0bHYzMjBhaWMzeC5jCj4+ PiAtLS0KPj4+ICAgc291bmQvc29jL2NvZGVjcy90bHYzMjBhaWMzeC5jIHwgNTUKPj4+ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQo+Pj4gICAxIGZpbGUgY2hhbmdl ZCwgNTIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPj4+Cj4+PiBkaWZmIC0tZ2l0IGEv c291bmQvc29jL2NvZGVjcy90bHYzMjBhaWMzeC5jIGIvc291bmQvc29jL2NvZGVjcy90bHYzMjBh aWMzeC5jCj4+PiBpbmRleCBkNzM0OWJjLi4yN2QwMzFlIDEwMDY0NAo+Pj4gLS0tIGEvc291bmQv c29jL2NvZGVjcy90bHYzMjBhaWMzeC5jCj4+PiArKysgYi9zb3VuZC9zb2MvY29kZWNzL3RsdjMy MGFpYzN4LmMKPj4+IEBAIC0xMjIsMTEgKzEyMiwyNCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHJl Z19kZWZhdWx0IGFpYzN4X3JlZ1tdID0gewo+Pj4gICAgICAgICAgeyAxMDgsIDB4MDAgfSwgeyAx MDksIDB4MDAgfSwKPj4+ICAgfTsKPj4+Cj4+PiArc3RhdGljIGJvb2wgYWljMzEwNl92b2xhdGls ZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCByZWcpCj4+PiArewo+Pj4gKyAgICBz d2l0Y2gocmVnKQo+Pj4gKyAgICB7Cj4+PiArICAgICAgICBjYXNlIEFJQzNYX0hFQURTRVRfREVU RUNUX0NUUkxfQToKPj4+ICsgICAgICAgIGNhc2UgQUlDM1hfSEVBRFNFVF9ERVRFQ1RfQ1RSTF9C Ogo+Pj4gKyAgICAgICAgICAgIHJldHVybiB0cnVlOwo+Pj4gKyAgICAgICAgZGVmYXVsdDoKPj4+ ICsgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cj4+PiArICAgIH0KPj4+ICt9Cj4+PiArCj4+PiAg IHN0YXRpYyBjb25zdCBzdHJ1Y3QgcmVnbWFwX2NvbmZpZyBhaWMzeF9yZWdtYXAgPSB7Cj4+PiAg ICAgICAgICAucmVnX2JpdHMgPSA4LAo+Pj4gICAgICAgICAgLnZhbF9iaXRzID0gOCwKPj4+Cj4+ PiAgICAgICAgICAubWF4X3JlZ2lzdGVyID0gREFDX0lDQ19BREosCj4+PiArICAgIC52b2xhdGls ZV9yZWcgPSBhaWMzMTA2X3ZvbGF0aWxlLAo+Pj4gICAgICAgICAgLnJlZ19kZWZhdWx0cyA9IGFp YzN4X3JlZywKPj4+ICAgICAgICAgIC5udW1fcmVnX2RlZmF1bHRzID0gQVJSQVlfU0laRShhaWMz eF9yZWcpLAo+Pj4gICAgICAgICAgLmNhY2hlX3R5cGUgPSBSRUdDQUNIRV9SQlRSRUUsCj4+PiBA QCAtMTk2LDcgKzIwOSw3IEBAIHN0YXRpYyBpbnQgbWljX2JpYXNfZXZlbnQoc3RydWN0IHNuZF9z b2NfZGFwbV93aWRnZXQgKncsCj4+PiAgICAgICAgICBzdHJ1Y3Qgc25kX2tjb250cm9sICprY29u dHJvbCwgaW50IGV2ZW50KQo+Pj4gICB7Cj4+PiAgICAgICAgICBzdHJ1Y3Qgc25kX3NvY19jb2Rl YyAqY29kZWMgPSB3LT5jb2RlYzsKPj4+IC0gICAgICAgc3RydWN0IGFpYzN4X3ByaXYgKmFpYzN4 ID0gc25kX3NvY19jb2RlY19nZXRfZHJ2ZGF0YShjb2RlYyk7Cj4+PiArICAgIHN0cnVjdCBhaWMz eF9wcml2ICphaWMzeCA9IHNuZF9zb2NfY29kZWNfZ2V0X2RydmRhdGEoY29kZWMpOwo+PiBZb3Ug aGF2ZSBjb3VwbGUgb2YgdGhlc2Ugbm9wIGNoYW5nZXMgaW4gdGhlIHBhdGNoLi4uCj4+Cj4+PiAg ICAgICAgICBzd2l0Y2ggKGV2ZW50KSB7Cj4+PiAgICAgICAgICBjYXNlIFNORF9TT0NfREFQTV9Q T1NUX1BNVToKPj4+IEBAIC0yNzAsNiArMjgzLDI2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc29j X2VudW0gYWljM3hfYWdjX2RlY2F5X2VudW1bXSA9IHsKPj4+ICAgICAgICAgIFNPQ19FTlVNX1NJ TkdMRShSQUdDX0NUUkxfQSwgMCwgNCwgYWljM3hfYWdjX2RlY2F5KSwKPj4+ICAgfTsKPj4+Cj4+ PiArc3RhdGljIGNvbnN0IGNoYXIgKmFpYzN4X2FkY19nYWluW10gPSB7ICIwZEIiLCAiLTEuNWRC IiwgIi0zZEIiLCAiLTQuNWRCIiwKPj4+ICItNmRCIiwgIi03LjVkQiIsICItOWRCIiwgIi0xMC41 ZEIiLCAiLTEyZEIiIH07Cj4+PiArc3RhdGljIGNvbnN0IHN0cnVjdCBzb2NfZW51bSBhaWMzeF9h ZGNfZ2Fpbl9lbnVtW10gPSB7Cj4+PiArICAgICAgIFNPQ19FTlVNX1NJTkdMRShNSUMzTFJfMl9M QURDX0NUUkwsIDQsIDksIGFpYzN4X2FkY19nYWluKSwKPj4+ICsgICAgICAgU09DX0VOVU1fU0lO R0xFKE1JQzNMUl8yX1JBRENfQ1RSTCwgMCwgOSwgYWljM3hfYWRjX2dhaW4pLAo+Pj4gKyAgICAg ICBTT0NfRU5VTV9TSU5HTEUoTElORTFMXzJfTEFEQ19DVFJMLCAzLCA5LCBhaWMzeF9hZGNfZ2Fp biksCj4+PiArICAgICAgIFNPQ19FTlVNX1NJTkdMRShMSU5FMVJfMl9SQURDX0NUUkwsIDMsIDks IGFpYzN4X2FkY19nYWluKSwKPj4+ICsgICAgICAgU09DX0VOVU1fU0lOR0xFKExJTkUyTF8yX0xB RENfQ1RSTCwgMywgOSwgYWljM3hfYWRjX2dhaW4pLAo+Pj4gKyAgICAgICBTT0NfRU5VTV9TSU5H TEUoTElORTJSXzJfUkFEQ19DVFJMLCAzLCA5LCBhaWMzeF9hZGNfZ2FpbiksCj4+PiArfTsKPj4g U28gdGhlIGlzc3VlIGlzIHRoYXQgd2UgaGF2ZSB0aGUgREFQTSBzd2l0Y2hlcyBjb250cm9sbGlu ZyBleGFjdGx5IHRoZSBzYW1lCj4+IHJlZ2lzdGVycy4gSSBiZWxpZXZlIGlmIHlvdSB3b3VsZCBz ZXQgdGhlIGdhaW4gaW4gYSB3YXkgdGhhdCBiaXQwIGlzIDEsIHRoZW4KPj4gREFQTSB3aWxsIHRo aW5rIHRoYXQgdGhlIHBhdGggaXMgZGlzY29ubmVjdGVkLgo+PiBBbHNvIGlmIHlvdSB3b3VsZCBz ZXQgdGhlIGdhaW4gYW5kIHRoZW4gbXV0ZSBhbmQgdW5tdXRlIHRoZSBwYXRoIHlvdSB3b3VsZAo+ PiBoYXZlIGxvc3QgdGhlIGdhaW4geW91IHdhbnRlZCB0byBoYXZlLi4KPj4KPj4gVGhlIG9ubHkg d2F5IEkgY2FuIHRoaW5rIG9mIGltcGxlbWVudGluZyB0aGVzZSBtaXhlcnMgaXMgdG8gaGF2ZSB0 d28gc2V0cyBvZgo+PiBjdXN0b20gY2FsbGJhY2tzLiBvbmUgc2V0IGlzIHRvIHNldC9nZXQgdGhl IGdhaW4gYW5kIHRoZSBvdGhlciBpcyB0byBzZXQvZ2V0Cj4+IHRoZSBtdXRlL2Rpc2Nvbm5lY3Qg b24gdGhlc2UuCj4+IFdoZW4gdGhlIHBhdGggaXMgZGlzY29ubmVjdGVkIHlvdSBzaG91bGQgbm90 IHdyaXRlIHRoZSBnYWluIGNoYW5nZSB0byB0aGUKPj4gY2hpcCwgYnV0IGNhY2hlIGl0IGFuZCBp ZiB0aGUgcGF0aCBpcyB1bm11dGVkLCB5b3Ugd3JpdGUgdGhlIGNhY2hlZCBnYWluLiBXaGVuCj4+ IHlvdSBtdXRlIHRoZSBwYXRoIHlvdSBzaG91bGQgdGFrZSB0aGUgc2V0IGdhaW4gZmlyc3QsIGNh Y2hlIGl0LCB0aGVuCj4+IGRpc2Nvbm5lY3QgdGhlIHBhdGguCj4+Cj4+IEZvciB0aGVzZSBnYWlu cyB5b3Ugc2hvdWxkIGhhdmUgREVDTEFSRV9UTFZfREJfU0NBTEUoKSBhbmQgdXNlCj4+IFNPQ19T SU5HTEVfVExWKCkuIE1ha2Ugc3VyZSB0aGF0IHRoZSBjb250cm9sIG5hbWUgbWF0Y2hlcyB3aXRo IHRoZQo+PiBjb3JyZXNwb25kaW5nIERBUE0gd2lkZ2V0J3MgbmFtZSBzbyBBTFNBIGNhbiBtYXRj aCB0aGVtIGNvcnJlY3RseS4KPj4KPj4+ICtzdGF0aWMgY29uc3QgY2hhciAqYWljM3hfaGVhZHNl dF9kZWJvdW5jZVtdID0geyAiMTZtcyIsICIzMm1zIiwgIjY0bXMiLAo+Pj4gIjEyOG1zIiwgIjI1 Nm1zIiwgIjUxMm1zIiB9Owo+Pj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2VudW0gYWljM3hf aGVhZHNldF9kZWJvdW5jZV9lbnVtW10gPSB7Cj4+PiArICAgIFNPQ19FTlVNX1NJTkdMRShBSUMz WF9IRUFEU0VUX0RFVEVDVF9DVFJMX0EsIDIsIDYsCj4+PiBhaWMzeF9oZWFkc2V0X2RlYm91bmNl KSwKPj4+ICt9Owo+Pj4gK3N0YXRpYyBjb25zdCBjaGFyICphaWMzeF9idXR0b25fZGVib3VuY2Vb XSA9IHsgIjBtcyIsICI4bXMiLCAiMTZtcyIsCj4+PiAiMzJtcyIgfTsKPj4+ICtzdGF0aWMgY29u c3Qgc3RydWN0IHNvY19lbnVtIGFpYzN4X2J1dHRvbl9kZWJvdW5jZV9lbnVtW10gPSB7Cj4+PiAr ICAgIFNPQ19FTlVNX1NJTkdMRShBSUMzWF9IRUFEU0VUX0RFVEVDVF9DVFJMX0EsIDAsIDQsCj4+ PiBhaWMzeF9idXR0b25fZGVib3VuY2UpLAo+Pj4gK307Cj4+PiArCj4+PiArCj4+PiArCj4+PiAg IC8qCj4+PiAgICAqIERBQyBkaWdpdGFsIHZvbHVtZXMuIEZyb20gLTYzLjUgdG8gMCBkQiBpbiAw LjUgZEIgc3RlcHMKPj4+ICAgICovCj4+PiBAQCAtMzk5LDYgKzQzMiwxOSBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWljM3hfc25kX2NvbnRyb2xzW10KPj4+ID0gewo+ Pj4gICAgICAgICAgU09DX0RPVUJMRV9SKCJQR0EgQ2FwdHVyZSBTd2l0Y2giLCBMQURDX1ZPTCwg UkFEQ19WT0wsIDcsIDB4MDEsIDEpLAo+Pj4KPj4+ICAgICAgICAgIFNPQ19FTlVNKCJBREMgSFBG IEN1dC1vZmYiLCBhaWMzeF9lbnVtW0FEQ19IUEZfRU5VTV0pLAo+Pj4gKyAgICAvKiBBZGRpdGlv bmFsIGNvbnRyb2xzICovCj4+PiArICAgICAgIFNPQ19FTlVNKCJNaWMzTCBMQURDIEdhaW4iLCBh aWMzeF9hZGNfZ2Fpbl9lbnVtWzBdKSwKPj4+ICsgICAgICAgU09DX0VOVU0oIk1pYzNSIFJBREMg R2FpbiIsIGFpYzN4X2FkY19nYWluX2VudW1bMV0pLAo+Pj4gKyAgICAgICBTT0NfRU5VTSgiTGlu ZTFMIExBREMgR2FpbiIsIGFpYzN4X2FkY19nYWluX2VudW1bMl0pLAo+Pj4gKyAgICAgICBTT0Nf RU5VTSgiTGluZTFSIFJBREMgR2FpbiIsIGFpYzN4X2FkY19nYWluX2VudW1bM10pLAo+Pj4gKyAg ICAgICBTT0NfRU5VTSgiTGluZTJMIExBREMgR2FpbiIsIGFpYzN4X2FkY19nYWluX2VudW1bNF0p LAo+Pj4gKyAgICAgICBTT0NfRU5VTSgiTGluZTJSIFJBREMgR2FpbiIsIGFpYzN4X2FkY19nYWlu X2VudW1bNV0pLAo+PiBQbGVhc2UgYXZvaWQgdXNpbmcgYXJyYXlzIGFzIHRoZSBkcml2ZXIgbm8g bG9uZ2VyIHVzZSB0aGVzZSBhbnltb3JlLgo+Pgo+Pj4gKyAgICBTT0NfRU5VTSgiSGVhZHNldCBE ZWJvdW5jZSIsIGFpYzN4X2hlYWRzZXRfZGVib3VuY2VfZW51bSksCj4+PiArICAgIFNPQ19FTlVN KCJCdXR0b24gRGVib3VuY2UiLCBhaWMzeF9idXR0b25fZGVib3VuY2VfZW51bSksCj4+PiArICAg IFNPQ19TSU5HTEUoIkhlYWRzZXQgRGV0ZWN0ZWQiLCBBSUMzWF9IRUFEU0VUX0RFVEVDVF9DVFJM X0EsCj4+PiBBSUMzWF9IRUFEU0VUX0RFVEVDVF9TSElGVCwgQUlDM1hfSEVBRFNFVF9ERVRFQ1Rf TUFTSywgMCksCj4+PiArICAgIFNPQ19TSU5HTEUoIkhlYWRzZXQgRGV0ZWN0IEVuYWJsZSIsIEFJ QzNYX0hFQURTRVRfREVURUNUX0NUUkxfQSwgNywgMSwKPj4+IDApLAo+Pj4gKyAgICBTT0NfU0lO R0xFKCJIaWdoIHBvd2VyIG91dHB1dCBBYy1jb3VwbGVkIiwgQUlDM1hfSEVBRFNFVF9ERVRFQ1Rf Q1RSTF9CLAo+Pj4gNywgMSwgMCksCj4+PiArICAgIFNPQ19TSU5HTEUoIlN0ZXJlbyBwc2V1ZG9k aWZmZXJlbnRpYWwgb3V0cHV0IiwKPj4+IEFJQzNYX0hFQURTRVRfREVURUNUX0NUUkxfQiwgMywg MSwgMCksCj4+PiAgIH07Cj4+Pgo+Pj4gICBzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJv bF9uZXcgYWljM3hfbW9ub19jb250cm9sc1tdID0gewo+Pj4gQEAgLTYxNCw3ICs2NjAsNyBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQKPj4+IGFpYzN4X2RhcG1fd2lk Z2V0c1tdID0gewo+Pj4gICAgICAgICAgU05EX1NPQ19EQVBNX1JFRyhzbmRfc29jX2RhcG1fbWlj YmlhcywgIkRNaWMgUmF0ZSAzMiIsCj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgIEFJQzNY X0FTRF9JTlRGX0NUUkxBLCAwLCAzLCAzLCAwKSwKPj4+Cj4+PiAtICAgICAgIC8qIE1pYyBCaWFz ICovCj4+PiArICAgIC8qIE1pYyBCaWFzICovCj4+IG5vcCBjaGFuZ2UKPj4KPj4+ICAgICAgICAg IFNORF9TT0NfREFQTV9TVVBQTFkoIk1pYyBCaWFzIiwgTUlDQklBU19DVFJMLCA2LCAwLAo+Pj4g ICAgICAgICAgICAgICAgICAgICAgICAgICBtaWNfYmlhc19ldmVudCwKPj4+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgU05EX1NPQ19EQVBNX1BPU1RfUE1VIHwgU05EX1NPQ19EQVBNX1BSRV9Q TUQpLAo+Pj4gQEAgLTY5Miw3ICs3MzgsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2Nf ZGFwbV9yb3V0ZSBpbnRlcmNvbltdID0gewo+Pj4gICAgICAgICAgeyJMZWZ0IExpbmUyTCBNdXgi LCAic2luZ2xlLWVuZGVkIiwgIkxJTkUyTCJ9LAo+Pj4gICAgICAgICAgeyJMZWZ0IExpbmUyTCBN dXgiLCAiZGlmZmVyZW50aWFsIiwgIkxJTkUyTCJ9LAo+Pj4KPj4+IC0gICAgICAgeyJMZWZ0IFBH QSBNaXhlciIsICJMaW5lMUwgU3dpdGNoIiwgIkxlZnQgTGluZTFMIE11eCJ9LAo+Pj4gKyAgICB7 IkxlZnQgUEdBIE1peGVyIiwgIkxpbmUxTCBTd2l0Y2giLCAiTGVmdCBMaW5lMUwgTXV4In0sCj4+ IG5vcCBjaGFuZ2UKPj4KPj4+ICAgICAgICAgIHsiTGVmdCBQR0EgTWl4ZXIiLCAiTGluZTFSIFN3 aXRjaCIsICJMZWZ0IExpbmUxUiBNdXgifSwKPj4+ICAgICAgICAgIHsiTGVmdCBQR0EgTWl4ZXIi LCAiTGluZTJMIFN3aXRjaCIsICJMZWZ0IExpbmUyTCBNdXgifSwKPj4+ICAgICAgICAgIHsiTGVm dCBQR0EgTWl4ZXIiLCAiTWljM0wgU3dpdGNoIiwgIk1JQzNMIn0sCj4+PiBAQCAtODE0LDYgKzg2 MCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlIGludGVyY29uW10g PSB7Cj4+PiAgICAgICAgICB7IlJpZ2h0IEhQQ09NIE11eCIsICJleHRlcm5hbCBmZWVkYmFjayIs ICJSaWdodCBIUENPTSBNaXhlciJ9LAo+Pj4gICAgICAgICAgeyJSaWdodCBIUCBDb20iLCBOVUxM LCAiUmlnaHQgSFBDT00gTXV4In0sCj4+PiAgICAgICAgICB7IkhQUkNPTSIsIE5VTEwsICJSaWdo dCBIUCBDb20ifSwKPj4+ICsKPj4gd2h5Pwo+Pgo+Pj4gICB9Owo+Pj4KPj4+ICAgc3RhdGljIGNv bnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgaW50ZXJjb25fbW9ub1tdID0gewo+Pj4gQEAg LTkxOCw3ICs5NjUsOSBAQCBzdGF0aWMgaW50IGFpYzN4X2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3Bj bV9zdWJzdHJlYW0KPj4+ICpzdWJzdHJlYW0sCj4+PiAgICAgICAgICBkYXRhID0gKExEQUMyTENI IHwgUkRBQzJSQ0gpOwo+Pj4gICAgICAgICAgZGF0YSB8PSAoZnNyZWYgPT0gNDQxMDApID8gRlNS RUZfNDQxMDAgOiBGU1JFRl80ODAwMDsKPj4+ICAgICAgICAgIGlmIChwYXJhbXNfcmF0ZShwYXJh bXMpID49IDY0MDAwKQo+Pj4gKyAgICAgICB7Cj4+PiAgICAgICAgICAgICAgICAgIGRhdGEgfD0g RFVBTF9SQVRFX01PREU7Cj4+PiArICAgICAgIH0KPj4gd2h5Pwo+Pgo+Pj4gICAgICAgICAgc25k X3NvY193cml0ZShjb2RlYywgQUlDM1hfQ09ERUNfREFUQVBBVEhfUkVHLCBkYXRhKTsKPj4+Cj4+ PiAgICAgICAgICAvKiBjb2RlYyBzYW1wbGUgcmF0ZSBzZWxlY3QgKi8KPj4+IC0tIAo+Pj4gYW5k IHRsdjMyMGFpYzN4LmgKPj4+IC0tLQo+Pj4gICBzb3VuZC9zb2MvY29kZWNzL3RsdjMyMGFpYzN4 LmggfCA2ICsrKysrKwo+Pj4gICAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCj4+Pgo+ Pj4gZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvdGx2MzIwYWljM3guaCBiL3NvdW5kL3Nv Yy9jb2RlY3MvdGx2MzIwYWljM3guaAo+Pj4gaW5kZXggZTUyMWFjMy4uOGZmNDJkMiAxMDA2NDQK Pj4+IC0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvdGx2MzIwYWljM3guaAo+Pj4gKysrIGIvc291bmQv c29jL2NvZGVjcy90bHYzMjBhaWMzeC5oCj4+PiBAQCAtMjcxLDYgKzI3MSwxMiBAQCBlbnVtIHsK Pj4+ICAgICAgICAgIEFJQzNYX0JVVFRPTl9ERUJPVU5DRV8zMk1TICAgICAgPSAzCj4+PiAgIH07 Cj4+Pgo+Pj4gK3R5cGVkZWYgc3RydWN0IHsKPj4+ICsgICAgc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSogcGRldjsKPj4+ICsgICAgc3RydWN0IHByb2NfZGlyX2VudHJ5ICpwcm9jX3ZhbHVlOwo+Pj4g KyAgICBzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWM7Cj4+PiArfSBhaWMzMTA2X2RldGVjdF90 Owo+Pj4gKwo+Pj4gICAjZGVmaW5lIEFJQzNYX0hFQURTRVRfREVURUNUX0VOQUJMRUQgICAweDgw Cj4+PiAgICNkZWZpbmUgQUlDM1hfSEVBRFNFVF9ERVRFQ1RfU0hJRlQgICAgIDUKPj4+ICAgI2Rl ZmluZSBBSUMzWF9IRUFEU0VUX0RFVEVDVF9NQVNLICAgICAgMwo+Pj4gLS0gCj4+Cj4+IFdoZW4g c3VibWl0dGluZyBwbGVhc2Ugc2VwYXJhdGUgdGhlIHBhdGNoZXMgYnkgZnVuY3Rpb25hbGl0eS4g SXQgaXMgZWFzaWVyIHRvCj4+IHJldmlldyB0aGUgY2hhbmdlcy4KPj4KPiAKPiAKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFsc2EtZGV2ZWwgbWFpbGlu ZyBsaXN0CkFsc2EtZGV2ZWxAYWxzYS1wcm9qZWN0Lm9yZwpodHRwOi8vbWFpbG1hbi5hbHNhLXBy b2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vYWxzYS1kZXZlbAo=