From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?B?V3UtQ2hlbmcgTGkgKOadjuWLmeiqoCk=?= Subject: Re: [PATCH 1/2] ASoC: nau8825: disable crosstalk by default Date: Tue, 28 Nov 2017 11:21:26 +0800 Message-ID: References: <1511518107-7488-1-git-send-email-KCHSU0@nuvoton.com> <5A1CCC8E.6030603@nuvoton.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-io0-f196.google.com (mail-io0-f196.google.com [209.85.223.196]) by alsa0.perex.cz (Postfix) with ESMTP id CAB82266F03 for ; Tue, 28 Nov 2017 04:21:49 +0100 (CET) Received: by mail-io0-f196.google.com with SMTP id s37so27856542ioe.10 for ; Mon, 27 Nov 2017 19:21:49 -0800 (PST) In-Reply-To: <5A1CCC8E.6030603@nuvoton.com> 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: John Hsu Cc: AP MS30 Linux ALSA , Cheng-yi Chiang , Anatol Pomozov , AC30 WTLi , Liam Girdwood , AC30 YHChuang , Mac Chiang , "broonie@kernel.org" , AC30 CTLin0 , MS40 MHKuo List-Id: alsa-devel@alsa-project.org T24gVHVlLCBOb3YgMjgsIDIwMTcgYXQgMTA6NDAgQU0sIEpvaG4gSHN1IDxLQ0hTVTBAbnV2b3Rv bi5jb20+IHdyb3RlOgo+IE9uIDExLzI3LzIwMTcgMjoxMiBQTSwgV3UtQ2hlbmcgTGkgKOadjuWL meiqoCkgd3JvdGU6Cj4+Cj4+IE9uIEZyaSwgTm92IDI0LCAyMDE3IGF0IDY6MDggUE0sIEpvaG4g SHN1IDxLQ0hTVTBAbnV2b3Rvbi5jb20+IHdyb3RlOgo+Pj4KPj4+IFRoZSBkcml2ZXIgbWFrZXMg dGhlIGNyb3NzdGFsayBmdW5jaXRvbiBkaXNhYmxlZCBieSBkZWZhdWx0Cj4+PiB3aGljaCBjYW4g c2ltcGxpZnkgdGhlIGNvZGVjIGZ1bmN0aW9uLiBUaGUgcGxhdGZvcm0gbWF5IG5vdAo+Pj4gbmVl ZCB0aGlzIGZ1bmNpdG9uIGFuZCByZWR1Y2UgdGhlIHBvdGVudGlhbCByaXNrLiBUaGVyZWZvcmUs Cj4+PiBXZSBjaGFuZ2UgdGhlIHByb3BlcnR5ICJudXZvdG9uLGNyb3NzdGFsay1ieXBhc3MiIHRv Cj4+PiAibnV2b3Rvbixjcm9zc3RhbGstZW5hYmxlIi4gVGhlIGNyb3NzdGFsayBtZWFzdXJlbWVu dCBpcyBlbmFibGVkCj4+PiBpZiB0aGUgcHJvcGVydHkgaXMgc2V0LiBPdGhlcndpc2UsIGl0IGlz IGRpc2FibGVkLiBCZXNpZGVzLAo+Pj4gYWRkIG1vcmUgY29uZGl0aW9uIGluIHRoZSBlbnRyeSBw b2ludCBvZiB0aGUgY3Jvc3N0YWxrIHNlcXVlbmNlCj4+PiB0byBkaXNhYmxlIHRoZSBmdW5jdGlv biBjb21wbGV0ZWx5Lgo+Pj4KPj4+IFNpZ25lZC1vZmYtYnk6IEpvaG4gSHN1IDxLQ0hTVTBAbnV2 b3Rvbi5jb20+Cj4+PiAtLS0KPj4+ICAuLi4vZGV2aWNldHJlZS9iaW5kaW5ncy9zb3VuZC9uYXU4 ODI1LnR4dCAgICAgICAgICB8ICA0ICsrLS0KPj4+ICBzb3VuZC9zb2MvY29kZWNzL25hdTg4MjUu YyAgICAgICAgICAgICAgICAgICAgICAgICB8IDIzCj4+PiArKysrKysrKysrKystLS0tLS0tLS0t Cj4+PiAgc291bmQvc29jL2NvZGVjcy9uYXU4ODI1LmggICAgICAgICAgICAgICAgICAgICAgICAg fCAgMiArLQo+Pj4gIDMgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRp b25zKC0pCj4+Pgo+Pj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5k aW5ncy9zb3VuZC9uYXU4ODI1LnR4dAo+Pj4gYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmlu ZGluZ3Mvc291bmQvbmF1ODgyNS50eHQKPj4+IGluZGV4IDJmNWU5NzMuLmQxNmQ5NjggMTAwNjQ0 Cj4+PiAtLS0gYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvc291bmQvbmF1ODgy NS50eHQKPj4+ICsrKyBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9zb3VuZC9u YXU4ODI1LnR4dAo+Pj4gQEAgLTY5LDcgKzY5LDcgQEAgT3B0aW9uYWwgcHJvcGVydGllczoKPj4+ ICAgIC0gbnV2b3RvbixqYWNrLWluc2VydC1kZWJvdW5jZTogbnVtYmVyIGZyb20gMCB0byA3IHRo YXQgc2V0cyBkZWJvdW5jZQo+Pj4gdGltZSB0byAyXihuKzIpIG1zCj4+PiAgICAtIG51dm90b24s amFjay1lamVjdC1kZWJvdW5jZTogbnVtYmVyIGZyb20gMCB0byA3IHRoYXQgc2V0cyBkZWJvdW5j ZQo+Pj4gdGltZSB0byAyXihuKzIpIG1zCj4+Pgo+Pj4gLSAgLSBudXZvdG9uLGNyb3NzdGFsay1i eXBhc3M6IG1ha2UgY3Jvc3N0YWxrIGZ1bmN0aW9uIGJ5cGFzcyBpZiBzZXQuCj4+PiArICAtIG51 dm90b24sY3Jvc3N0YWxrLWVuYWJsZTogbWFrZSBjcm9zc3RhbGsgZnVuY3Rpb24gZW5hYmxlIGlm IHNldC4KPj4+Cj4+PiAgICAtIGNsb2NrczogbGlzdCBvZiBwaGFuZGxlIGFuZCBjbG9jayBzcGVj aWZpZXIgcGFpcnMgYWNjb3JkaW5nIHRvCj4+PiBjb21tb24gY2xvY2sgYmluZGluZ3MgZm9yIHRo ZQo+Pj4gICAgICAgIGNsb2NrcyBkZXNjcmliZWQgaW4gY2xvY2stbmFtZXMKPj4+IEBAIC05OCw3 ICs5OCw3IEBAIEV4YW1wbGU6Cj4+PiAgICAgICAgbnV2b3RvbixzaG9ydC1rZXktZGVib3VuY2Ug PSA8Mj47Cj4+PiAgICAgICAgbnV2b3RvbixqYWNrLWluc2VydC1kZWJvdW5jZSA9IDw3PjsKPj4+ ICAgICAgICBudXZvdG9uLGphY2stZWplY3QtZGVib3VuY2UgPSA8Nz47Cj4+PiAtICAgICAgbnV2 b3Rvbixjcm9zc3RhbGstYnlwYXNzOwo+Pj4gKyAgICAgIG51dm90b24sY3Jvc3N0YWxrLWVuYWJs ZTsKPj4+Cj4+PiAgICAgICAgY2xvY2stbmFtZXMgPSAibWNsayI7Cj4+PiAgICAgICAgY2xvY2tz ID0gPCZ0ZWdyYV9jYXIgVEVHUkEyMTBfQ0xLX0NMS19PVVRfMj47Cj4+PiBkaWZmIC0tZ2l0IGEv c291bmQvc29jL2NvZGVjcy9uYXU4ODI1LmMgYi9zb3VuZC9zb2MvY29kZWNzL25hdTg4MjUuYwo+ Pj4gaW5kZXggNzE0Y2UxNy4uZDNjMWEwMiAxMDA2NDQKPj4+IC0tLSBhL3NvdW5kL3NvYy9jb2Rl Y3MvbmF1ODgyNS5jCj4+PiArKysgYi9zb3VuZC9zb2MvY29kZWNzL25hdTg4MjUuYwo+Pj4gQEAg LTgxNSwxMSArODE1LDEyIEBAIHN0YXRpYyB2b2lkIG5hdTg4MjVfeHRhbGtfd29yayhzdHJ1Y3Qg d29ya19zdHJ1Y3QKPj4+ICp3b3JrKQo+Pj4KPj4+ICBzdGF0aWMgdm9pZCBuYXU4ODI1X3h0YWxr X2NhbmNlbChzdHJ1Y3QgbmF1ODgyNSAqbmF1ODgyNSkKPj4+ICB7Cj4+PiAtICAgICAgIC8qIElm IHRoZSB4dGFsa19wcm90ZWN0IGlzIHRydWUsIHRoYXQgbWVhbnMgdGhlIHByb2Nlc3MgaXMgc3Rp bGwKPj4+IC0gICAgICAgICogb24gZ29pbmcuIFRoZSBkcml2ZXIgZm9yY2VzIHRvIGNhbmNlbCB0 aGUgY3Jvc3MgdGFsayB0YXNrIGFuZAo+Pj4gKyAgICAgICAvKiBJZiB0aGUgY3Jvc3N0YWxrIGlz IGVhbmJsZWQgYW5kIHRoZSBwcm9jZXNzIGlzIG9uIGdvaW5nLAo+Pgo+Pgo+PiBzL2VhbmJsZWQv ZW5hYmxlZC8KPj4KPj4+ICsgICAgICAgICogdGhlIGRyaXZlciBmb3JjZXMgdG8gY2FuY2VsIHRo ZSBjcm9zc3RhbGsgdGFzayBhbmQKPj4+ICAgICAgICAgICogcmVzdG9yZXMgdGhlIGNvbmZpZ3Vy YXRpb24gdG8gb3JpZ2luYWwgc3RhdHVzLgo+Pj4gICAgICAgICAgKi8KPj4+IC0gICAgICAgaWYg KG5hdTg4MjUtPnh0YWxrX3Byb3RlY3QpIHsKPj4+ICsgICAgICAgaWYgKG5hdTg4MjUtPnh0YWxr X2VuYWJsZSAmJiBuYXU4ODI1LT54dGFsa19zdGF0ZSAhPQo+Pj4gKyAgICAgICAgICAgICAgIE5B VTg4MjVfWFRBTEtfRE9ORSkgewo+Pj4gICAgICAgICAgICAgICAgIGNhbmNlbF93b3JrX3N5bmMo Jm5hdTg4MjUtPnh0YWxrX3dvcmspOwo+Pj4gICAgICAgICAgICAgICAgIG5hdTg4MjVfeHRhbGtf Y2xlYW4obmF1ODgyNSk7Cj4+PiAgICAgICAgIH0KPj4+IEBAIC0xNjg2LDcgKzE2ODcsNyBAQCBz dGF0aWMgaXJxcmV0dXJuX3QgbmF1ODgyNV9pbnRlcnJ1cHQoaW50IGlycSwgdm9pZAo+Pj4gKmRh dGEpCj4+PiAgICAgICAgIH0gZWxzZSBpZiAoYWN0aXZlX2lycSAmIE5BVTg4MjVfSEVBRFNFVF9D T01QTEVUSU9OX0lSUSkgewo+Pj4gICAgICAgICAgICAgICAgIGlmIChuYXU4ODI1X2lzX2phY2tf aW5zZXJ0ZWQocmVnbWFwKSkgewo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQgfD0g bmF1ODgyNV9qYWNrX2luc2VydChuYXU4ODI1KTsKPj4+IC0gICAgICAgICAgICAgICAgICAgICAg IGlmICghbmF1ODgyNS0+eHRhbGtfYnlwYXNzICYmCj4+PiAhbmF1ODgyNS0+aGlnaF9pbXBlZCkg ewo+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5hdTg4MjUtPnh0YWxrX2VuYWJsZSAm Jgo+Pj4gIW5hdTg4MjUtPmhpZ2hfaW1wZWQpIHsKPj4+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLyogQXBwbHkgdGhlIGNyb3NzIHRhbGsgc3VwcHJlc3Npb24gaW4KPj4+IHRoZQo+ Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBoZWFkc2V0IHdpdGhvdXQgaGln aCBpbXBlZGFuY2UuCj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwo+Pj4g QEAgLTE3MzIsOCArMTczMywxMCBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgbmF1ODgyNV9pbnRlcnJ1 cHQoaW50IGlycSwgdm9pZAo+Pj4gKmRhdGEpCj4+PiAgICAgICAgICAgICAgICAgICAgICAgICBu YXU4ODI1LT54dGFsa19ldmVudF9tYXNrID0gZXZlbnRfbWFzazsKPj4+ICAgICAgICAgICAgICAg ICB9Cj4+PiAgICAgICAgIH0gZWxzZSBpZiAoYWN0aXZlX2lycSAmIE5BVTg4MjVfSU1QRURBTkNF X01FQVNfSVJRKSB7Cj4+PiAtICAgICAgICAgICAgICAgc2NoZWR1bGVfd29yaygmbmF1ODgyNS0+ eHRhbGtfd29yayk7Cj4+PiAtICAgICAgICAgICAgICAgY2xlYXJfaXJxID0gTkFVODgyNV9JTVBF REFOQ0VfTUVBU19JUlE7Cj4+PiArICAgICAgICAgICAgICAgaWYgKG5hdTg4MjUtPnh0YWxrX2Vu YWJsZSkgewo+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgc2NoZWR1bGVfd29yaygmbmF1ODgy NS0+eHRhbGtfd29yayk7Cj4+PiArICAgICAgICAgICAgICAgICAgICAgICBjbGVhcl9pcnEgPSBO QVU4ODI1X0lNUEVEQU5DRV9NRUFTX0lSUTsKPj4+ICsgICAgICAgICAgICAgICB9Cj4+Cj4+Cj4+ IFNob3VsZG4ndCB3ZSBzdGlsbCBzZXQgY2xlYXJfaXJxID0gTkFVODgyNV9JTVBFREFOQ0VfTUVB U19JUlEgaWYKPj4gY3Jvc3N0YWxrIGlzIGRpc2FibGVkPwo+PiBPdGhlcndpc2UsIGFsbCBhY3Rp dmVfaXJxIHdpbGwgYmUgZGlzYWJsZWQgbGF0ZXIgaW4gdGhpcyBmdW5jdGlvbi4KPj4KPgo+IEFj dHVhbGx5LCB0aGVyZSBpcyBhc3NpZ25tZW50IGFib3V0IGNsZWFyX2lycSBiZWZvcmUgdGhlIGVu ZCBvZiBJU1IKPiBhcyBmb2xsb3dzOgo+IGlmICghY2xlYXJfaXJxKSBjbGVhcl9pcnEgPSBhY3Rp dmVfaXJxOwpSaWdodC4gQnV0IHRoYXQgd2lsbCBkaXNhYmxlIGFsbCBvdGhlciBhY3RpdmUgSVJR cy4gTm8/IEkgdGhvdWdodCB5b3Ugd2FudGVkIHRvCm9ubHkgZGlzYWJsZSB0aGUgSVJRIHRoYXQg d2FzIGhhbmRsZWQuCj4gVGhlIElSUSB3aWxsIHN0aWxsIGJlIGNsZWFyZWQuIFlvdXIgY29tbWVu dCBpcyBjb3JyZWN0IGZvciB0aGUgY2xlYXIKPiBzZW1hbnRpYy4gQnV0IHRoZSBJUlEgd2lsbCBu ZXZlciBoYXBwZW4gaWYgdGhlIGNyb3NzdGFsayBkaXNhYmxlZCwKPiBiZWNhdXNlIHRoZSBJUlEg aXMgdHJpZ2dlcmVkIGluIHRoZSBjcm9zc3RhbGsgc2VxdWVuY2UuClRoZW9yZXRpY2FsbHkgSVJR IHNob3VsZCBub3QgaGFwcGVuIGlmIGNyb3NzdGFsayBpcyBkaXNhYmxlZC4gSSB0aGluayB0aGlz IGNoZWNrCmNhbiBiZSB1c2VkIHRvIHByZXZlbnQgZnJvbSBhIGhhcmR3YXJlIGJ1Zy4KPgo+Cj4+ PiAgICAgICAgIH0gZWxzZSBpZiAoKGFjdGl2ZV9pcnEgJiBOQVU4ODI1X0pBQ0tfSU5TRVJUSU9O X0lSUV9NQVNLKSA9PQo+Pj4gICAgICAgICAgICAgICAgIE5BVTg4MjVfSkFDS19JTlNFUlRJT05f REVURUNURUQpIHsKPj4+ICAgICAgICAgICAgICAgICAvKiBPbmUgbW9yZSBzdGVwIHRvIGNoZWNr IEdQSU8gc3RhdHVzIGRpcmVjdGx5LiBUaHVzLCB0aGUKPj4+IEBAIC0yNDQwLDggKzI0NDMsOCBA QCBzdGF0aWMgdm9pZCBuYXU4ODI1X3ByaW50X2RldmljZV9wcm9wZXJ0aWVzKHN0cnVjdAo+Pj4g bmF1ODgyNSAqbmF1ODgyNSkKPj4+ICAgICAgICAgICAgICAgICAgICAgICAgIG5hdTg4MjUtPmph Y2tfaW5zZXJ0X2RlYm91bmNlKTsKPj4+ICAgICAgICAgZGV2X2RiZyhkZXYsICJqYWNrLWVqZWN0 LWRlYm91bmNlOiAgJWRcbiIsCj4+PiAgICAgICAgICAgICAgICAgICAgICAgICBuYXU4ODI1LT5q YWNrX2VqZWN0X2RlYm91bmNlKTsKPj4+IC0gICAgICAgZGV2X2RiZyhkZXYsICJjcm9zc3RhbGst YnlwYXNzOiAgICAgJWRcbiIsCj4+PiAtICAgICAgICAgICAgICAgICAgICAgICBuYXU4ODI1LT54 dGFsa19ieXBhc3MpOwo+Pj4gKyAgICAgICBkZXZfZGJnKGRldiwgImNyb3NzdGFsay1lbmFibGU6 ICAgICAlZFxuIiwKPj4+ICsgICAgICAgICAgICAgICAgICAgICAgIG5hdTg4MjUtPnh0YWxrX2Vu YWJsZSk7Cj4+PiAgfQo+Pj4KPj4+ICBzdGF0aWMgaW50IG5hdTg4MjVfcmVhZF9kZXZpY2VfcHJv cGVydGllcyhzdHJ1Y3QgZGV2aWNlICpkZXYsCj4+PiBAQCAtMjUwNiw4ICsyNTA5LDggQEAgc3Rh dGljIGludCBuYXU4ODI1X3JlYWRfZGV2aWNlX3Byb3BlcnRpZXMoc3RydWN0Cj4+PiBkZXZpY2Ug KmRldiwKPj4+ICAgICAgICAgICAgICAgICAmbmF1ODgyNS0+amFja19lamVjdF9kZWJvdW5jZSk7 Cj4+PiAgICAgICAgIGlmIChyZXQpCj4+PiAgICAgICAgICAgICAgICAgbmF1ODgyNS0+amFja19l amVjdF9kZWJvdW5jZSA9IDA7Cj4+PiAtICAgICAgIG5hdTg4MjUtPnh0YWxrX2J5cGFzcyA9IGRl dmljZV9wcm9wZXJ0eV9yZWFkX2Jvb2woZGV2LAo+Pj4gLSAgICAgICAgICAgICAgICJudXZvdG9u LGNyb3NzdGFsay1ieXBhc3MiKTsKPj4+ICsgICAgICAgbmF1ODgyNS0+eHRhbGtfZW5hYmxlID0g ZGV2aWNlX3Byb3BlcnR5X3JlYWRfYm9vbChkZXYsCj4+PiArICAgICAgICAgICAgICAgIm51dm90 b24sY3Jvc3N0YWxrLWVuYWJsZSIpOwo+Pj4KPj4+ICAgICAgICAgbmF1ODgyNS0+bWNsayA9IGRl dm1fY2xrX2dldChkZXYsICJtY2xrIik7Cj4+PiAgICAgICAgIGlmIChQVFJfRVJSKG5hdTg4MjUt Pm1jbGspID09IC1FUFJPQkVfREVGRVIpIHsKPj4+IGRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29k ZWNzL25hdTg4MjUuaCBiL3NvdW5kL3NvYy9jb2RlY3MvbmF1ODgyNS5oCj4+PiBpbmRleCA4YWVl NWM4Ni4uMTk5ZDZlYSAxMDA2NDQKPj4+IC0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvbmF1ODgyNS5o Cj4+PiArKysgYi9zb3VuZC9zb2MvY29kZWNzL25hdTg4MjUuaAo+Pj4gQEAgLTQ3Niw3ICs0NzYs NyBAQCBzdHJ1Y3QgbmF1ODgyNSB7Cj4+PiAgICAgICAgIGludCB4dGFsa19ldmVudF9tYXNrOwo+ Pj4gICAgICAgICBib29sIHh0YWxrX3Byb3RlY3Q7Cj4+PiAgICAgICAgIGludCBpbXBfcm1zW05B VTg4MjVfWFRBTEtfSU1NXTsKPj4+IC0gICAgICAgaW50IHh0YWxrX2J5cGFzczsKPj4+ICsgICAg ICAgaW50IHh0YWxrX2VuYWJsZTsKPj4+ICB9Owo+Pj4KPj4+ICBpbnQgbmF1ODgyNV9lbmFibGVf amFja19kZXRlY3Qoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAo+Pj4gLS0KPj4+IDIuNi40 Cj4+Pgo+Cj4KPgo+ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPiBUaGUgcHJp dmlsZWdlZCBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gY29udGFpbmVkIGluIHRoaXMgZW1haWwg aXMgaW50ZW5kZWQKPiBmb3IgdXNlIG9ubHkgYnkgdGhlIGFkZHJlc3NlZXMgYXMgaW5kaWNhdGVk IGJ5IHRoZSBvcmlnaW5hbCBzZW5kZXIgb2YgdGhpcwo+IGVtYWlsLiBJZiB5b3UgYXJlIG5vdCB0 aGUgYWRkcmVzc2VlIGluZGljYXRlZCBpbiB0aGlzIGVtYWlsIG9yIGFyZSBub3QKPiByZXNwb25z aWJsZSBmb3IgZGVsaXZlcnkgb2YgdGhlIGVtYWlsIHRvIHN1Y2ggYSBwZXJzb24sIHBsZWFzZSBr aW5kbHkgcmVwbHkKPiB0byB0aGUgc2VuZGVyIGluZGljYXRpbmcgdGhpcyBmYWN0IGFuZCBkZWxl dGUgYWxsIGNvcGllcyBvZiBpdCBmcm9tIHlvdXIKPiBjb21wdXRlciBhbmQgbmV0d29yayBzZXJ2 ZXIgaW1tZWRpYXRlbHkuIFlvdXIgY29vcGVyYXRpb24gaXMgaGlnaGx5Cj4gYXBwcmVjaWF0ZWQu IEl0IGlzIGFkdmlzZWQgdGhhdCBhbnkgdW5hdXRob3JpemVkIHVzZSBvZiBjb25maWRlbnRpYWwK PiBpbmZvcm1hdGlvbiBvZiBOdXZvdG9uIGlzIHN0cmljdGx5IHByb2hpYml0ZWQ7IGFuZCBhbnkg aW5mb3JtYXRpb24gaW4gdGhpcwo+IGVtYWlsIGlycmVsZXZhbnQgdG8gdGhlIG9mZmljaWFsIGJ1 c2luZXNzIG9mIE51dm90b24gc2hhbGwgYmUgZGVlbWVkIGFzCj4gbmVpdGhlciBnaXZlbiBub3Ig ZW5kb3JzZWQgYnkgTnV2b3Rvbi4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KQWxzYS1kZXZlbCBtYWlsaW5nIGxpc3QKQWxzYS1kZXZlbEBhbHNhLXByb2pl Y3Qub3JnCmh0dHA6Ly9tYWlsbWFuLmFsc2EtcHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9h bHNhLWRldmVsCg==