From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail.phycard.co.uk ([217.6.246.34] helo=root.phytec.de) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1VClMW-0002Vr-My for barebox@lists.infradead.org; Fri, 23 Aug 2013 07:00:53 +0000 Received: from idefix.phytec.de (idefix.phytec.de [172.16.0.10]) by root.phytec.de (Postfix) with ESMTP id 899DCBF0F5 for ; Fri, 23 Aug 2013 08:52:04 +0200 (CEST) From: =?UTF-8?q?Teresa=20G=C3=A1mez?= Date: Fri, 23 Aug 2013 09:00:21 +0200 Message-Id: <1377241222-6908-2-git-send-email-t.gamez@phytec.de> In-Reply-To: <1377241222-6908-1-git-send-email-t.gamez@phytec.de> References: <1377241222-6908-1-git-send-email-t.gamez@phytec.de> MIME-Version: 1.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "barebox" Errors-To: barebox-bounces+u.kleine-koenig=pengutronix.de@lists.infradead.org Subject: [PATCH 2/3 for next] PCM051: Clean up lowlevel code To: barebox@lists.infradead.org VXNlIG5vdyB0aGUgaW5pdGlhbGlzYXRpb24gZnVuY3Rpb25zIGZyb20gYW0zM3h4X2dlbmVyaWMu CgpTaWduZWQtb2ZmLWJ5OiBUZXJlc2EgR8OhbWV6IDx0LmdhbWV6QHBoeXRlYy5kZT4KLS0tCiBh cmNoL2FybS9ib2FyZHMvcGNtMDUxL2xvd2xldmVsLmMgfCAgMjA2ICsrKysrKystLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZXMgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwg MTcwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9wY20wNTEvbG93 bGV2ZWwuYyBiL2FyY2gvYXJtL2JvYXJkcy9wY20wNTEvbG93bGV2ZWwuYwppbmRleCBkZDA2YzZh Li5mYWYyM2ZjIDEwMDY0NAotLS0gYS9hcmNoL2FybS9ib2FyZHMvcGNtMDUxL2xvd2xldmVsLmMK KysrIGIvYXJjaC9hcm0vYm9hcmRzL3BjbTA1MS9sb3dsZXZlbC5jCkBAIC0xMywxNzEgKzEzLDM2 IEBACiAjaW5jbHVkZSA8bWFjaC9hbTMzeHgtbXV4Lmg+CiAjaW5jbHVkZSA8bWFjaC93ZHQuaD4K IAotLyogVUFSVCBEZWZpbmVzICovCi0jZGVmaW5lIFVBUlRfU1lTQ0ZHX09GRlNFVCAgKDB4NTQp Ci0jZGVmaW5lIFVBUlRfU1lTU1RTX09GRlNFVCAgKDB4NTgpCi0KLSNkZWZpbmUgVUFSVF9SRVNF VCAgICAgICgweDEgPDwgMSkKLSNkZWZpbmUgVUFSVF9DTEtfUlVOTklOR19NQVNLICAgMHgxCi0j ZGVmaW5lIFVBUlRfU01BUlRfSURMRV9FTiAgKDB4MSA8PCAweDMpCi0KLS8qIEFNMzM1WCBFTUlG IFJlZ2lzdGVyIHZhbHVlcyAqLwotI2RlZmluZSBWVFBfQ1RSTF9SRUFEWSAgICAgICAgICAoMHgx IDw8IDUpCi0jZGVmaW5lIFZUUF9DVFJMX0VOQUJMRSAgICAgICAgICgweDEgPDwgNikKLSNkZWZp bmUgVlRQX0NUUkxfU1RBUlRfRU4gICAgICAgKDB4MSkKLSNkZWZpbmUgQ01EX0ZPUkNFICAgICAg ICAgICAgICAweDAwICAgIC8qIGNvbW1vbiAjZGVmICovCi0jZGVmaW5lIENNRF9ERUxBWSAgICAg ICAgICAgICAgMHgwMAotCi0jZGVmaW5lIEVNSUZfUkVBRF9MQVRFTkNZICAgICAgIDB4MDYKLSNk ZWZpbmUgRU1JRl9TRENGRyAgICAgICAgICAgICAgMHg2MUMwNDgzMiAvKiBDTCA1LCBDV0wgNSAq LwotI2RlZmluZSBFTUlGX1NEUkVGICAgICAgICAgICAgICAweDAwMDAwOTNCCi0KLSNkZWZpbmUg RU1JRl9USU0xICAgICAgICAgICAgICAgMHgwNjY4QTM5QgotI2RlZmluZSBFTUlGX1RJTTIgICAg ICAgICAgICAgICAweDI2MzM3RkRBCi0jZGVmaW5lIEVNSUZfVElNMyAgICAgICAgICAgICAgIDB4 NTAxRjgzMEYKLQotI2RlZmluZSBETExfTE9DS19ESUZGICAgICAgICAgICAweDAKLSNkZWZpbmUg UEhZX1dSX0RBVEEgICAgICAgICAgICAgMHhDMQotI2RlZmluZSBSRF9EUVMgICAgICAgICAgICAg ICAgICAweDNCCi0jZGVmaW5lIFdSX0RRUyAgICAgICAgICAgICAgICAgIDB4ODUKLSNkZWZpbmUg UEhZX0ZJRk9fV0UgICAgICAgICAgICAgMHgxMDAKLSNkZWZpbmUgSU5WRVJUX0NMS09VVCAgICAg ICAgICAgMHgxCi0jZGVmaW5lIFBIWV9SQU5LMF9ERUxBWSAgICAgICAgIDB4MDEKLSNkZWZpbmUg RERSX0lPQ1RSTF9WQUxVRSAgICAgICAgMHgxOEIKLSNkZWZpbmUgQ1RSTF9TTEFWRV9SQVRJTyAg ICAgICAgMHg0MAotI2RlZmluZSBQSFlfTFZMX01PREUgICAgICAgICAgICAweDEKLSNkZWZpbmUg RERSX1pRX0NGRyAgICAgICAgICAgICAgMHg1MDA3NEJFNAotCi1zdGF0aWMgdm9pZCBDbWRfTWFj cm9fQ29uZmlnKHZvaWQpCi17Ci0Jd3JpdGVsKENUUkxfU0xBVkVfUkFUSU8sIEFNMzNYWF9DTUQw X0NUUkxfU0xBVkVfUkFUSU9fMCk7Ci0Jd3JpdGVsKENNRF9GT1JDRSwgQU0zM1hYX0NNRDBfQ1RS TF9TTEFWRV9GT1JDRV8wKTsKLQl3cml0ZWwoQ01EX0RFTEFZLCBBTTMzWFhfQ01EMF9DVFJMX1NM QVZFX0RFTEFZXzApOwotCXdyaXRlbChETExfTE9DS19ESUZGLCBBTTMzWFhfQ01EMF9ETExfTE9D S19ESUZGXzApOwotCXdyaXRlbChJTlZFUlRfQ0xLT1VULCBBTTMzWFhfQ01EMF9JTlZFUlRfQ0xL T1VUXzApOwotCi0Jd3JpdGVsKENUUkxfU0xBVkVfUkFUSU8sIEFNMzNYWF9DTUQxX0NUUkxfU0xB VkVfUkFUSU9fMCk7Ci0Jd3JpdGVsKENNRF9GT1JDRSwgQU0zM1hYX0NNRDFfQ1RSTF9TTEFWRV9G T1JDRV8wKTsKLQl3cml0ZWwoQ01EX0RFTEFZLCBBTTMzWFhfQ01EMV9DVFJMX1NMQVZFX0RFTEFZ XzApOwotCXdyaXRlbChETExfTE9DS19ESUZGLCBBTTMzWFhfQ01EMV9ETExfTE9DS19ESUZGXzAp OwotCXdyaXRlbChJTlZFUlRfQ0xLT1VULCBBTTMzWFhfQ01EMV9JTlZFUlRfQ0xLT1VUXzApOwot Ci0Jd3JpdGVsKENUUkxfU0xBVkVfUkFUSU8sIEFNMzNYWF9DTUQyX0NUUkxfU0xBVkVfUkFUSU9f MCk7Ci0Jd3JpdGVsKENNRF9GT1JDRSwgQU0zM1hYX0NNRDJfQ1RSTF9TTEFWRV9GT1JDRV8wKTsK LQl3cml0ZWwoQ01EX0RFTEFZLCBBTTMzWFhfQ01EMl9DVFJMX1NMQVZFX0RFTEFZXzApOwotCXdy aXRlbChETExfTE9DS19ESUZGLCBBTTMzWFhfQ01EMl9ETExfTE9DS19ESUZGXzApOwotCXdyaXRl bChJTlZFUlRfQ0xLT1VULCBBTTMzWFhfQ01EMl9JTlZFUlRfQ0xLT1VUXzApOwotfQotCi1zdGF0 aWMgdm9pZCBjb25maWdfdnRwKHZvaWQpCi17Ci0Jd3JpdGVsKHJlYWRsKEFNMzNYWF9WVFAwX0NU UkxfUkVHKSB8IFZUUF9DVFJMX0VOQUJMRSwKLQkJCUFNMzNYWF9WVFAwX0NUUkxfUkVHKTsKLQl3 cml0ZWwocmVhZGwoQU0zM1hYX1ZUUDBfQ1RSTF9SRUcpICYgKH5WVFBfQ1RSTF9TVEFSVF9FTiks Ci0JCQlBTTMzWFhfVlRQMF9DVFJMX1JFRyk7Ci0Jd3JpdGVsKHJlYWRsKEFNMzNYWF9WVFAwX0NU UkxfUkVHKSB8IFZUUF9DVFJMX1NUQVJUX0VOLAotCQkJQU0zM1hYX1ZUUDBfQ1RSTF9SRUcpOwot Ci0JLyogUG9sbCBmb3IgUkVBRFkgKi8KLQl3aGlsZSAoKHJlYWRsKEFNMzNYWF9WVFAwX0NUUkxf UkVHKSAmCi0JCQlWVFBfQ1RSTF9SRUFEWSkgIT0gVlRQX0NUUkxfUkVBRFkpOwotfQotCi1zdGF0 aWMgdm9pZCBwaHlfY29uZmlnX2RhdGEodm9pZCkKLXsKLQl3cml0ZWwoUkRfRFFTLCBBTTMzWFhf REFUQTBfUkRfRFFTX1NMQVZFX1JBVElPXzApOwotCXdyaXRlbChXUl9EUVMsIEFNMzNYWF9EQVRB MF9XUl9EUVNfU0xBVkVfUkFUSU9fMCk7Ci0Jd3JpdGVsKFBIWV9GSUZPX1dFLCBBTTMzWFhfREFU QTBfRklGT19XRV9TTEFWRV9SQVRJT18wKTsKLQl3cml0ZWwoUEhZX1dSX0RBVEEsIEFNMzNYWF9E QVRBMF9XUl9EQVRBX1NMQVZFX1JBVElPXzApOwotCi0Jd3JpdGVsKFJEX0RRUywgQU0zM1hYX0RB VEExX1JEX0RRU19TTEFWRV9SQVRJT18wKTsKLQl3cml0ZWwoV1JfRFFTLCBBTTMzWFhfREFUQTFf V1JfRFFTX1NMQVZFX1JBVElPXzApOwotCXdyaXRlbChQSFlfRklGT19XRSwgQU0zM1hYX0RBVEEx X0ZJRk9fV0VfU0xBVkVfUkFUSU9fMCk7Ci0Jd3JpdGVsKFBIWV9XUl9EQVRBLCBBTTMzWFhfREFU QTFfV1JfREFUQV9TTEFWRV9SQVRJT18wKTsKLX0KLQotc3RhdGljIHZvaWQgY29uZmlnX2VtaWYo dm9pZCkKLXsKLQkvKlByb2dyYW0gRU1JRjAgQ0ZHIFJlZ2lzdGVycyovCi0Jd3JpdGVsKEVNSUZf UkVBRF9MQVRFTkNZLCBBTTMzWFhfRU1JRjRfMF9SRUcoRERSX1BIWV9DVFJMXzEpKTsKLQl3cml0 ZWwoRU1JRl9SRUFEX0xBVEVOQ1ksCi0JCQkJQU0zM1hYX0VNSUY0XzBfUkVHKEREUl9QSFlfQ1RS TF8xX1NIQURPVykpOwotCXdyaXRlbChFTUlGX1JFQURfTEFURU5DWSwgQU0zM1hYX0VNSUY0XzBf UkVHKEREUl9QSFlfQ1RSTF8yKSk7Ci0Jd3JpdGVsKEVNSUZfVElNMSwgQU0zM1hYX0VNSUY0XzBf UkVHKFNEUkFNX1RJTV8xKSk7Ci0Jd3JpdGVsKEVNSUZfVElNMSwgQU0zM1hYX0VNSUY0XzBfUkVH KFNEUkFNX1RJTV8xX1NIQURPVykpOwotCXdyaXRlbChFTUlGX1RJTTIsIEFNMzNYWF9FTUlGNF8w X1JFRyhTRFJBTV9USU1fMikpOwotCXdyaXRlbChFTUlGX1RJTTIsIEFNMzNYWF9FTUlGNF8wX1JF RyhTRFJBTV9USU1fMl9TSEFET1cpKTsKLQl3cml0ZWwoRU1JRl9USU0zLCBBTTMzWFhfRU1JRjRf MF9SRUcoU0RSQU1fVElNXzMpKTsKLQl3cml0ZWwoRU1JRl9USU0zLCBBTTMzWFhfRU1JRjRfMF9S RUcoU0RSQU1fVElNXzNfU0hBRE9XKSk7Ci0KLQl3cml0ZWwoRU1JRl9TRFJFRiwgQU0zM1hYX0VN SUY0XzBfUkVHKFNEUkFNX1JFRl9DVFJMKSk7Ci0Jd3JpdGVsKEVNSUZfU0RSRUYsIEFNMzNYWF9F TUlGNF8wX1JFRyhTRFJBTV9SRUZfQ1RSTF9TSEFET1cpKTsKLQotCXdyaXRlbChFTUlGX1NEQ0ZH LCBBTTMzWFhfRU1JRjRfMF9SRUcoU0RSQU1fQ09ORklHKSk7Ci0Jd3JpdGVsKEREUl9aUV9DRkcs IEFNMzNYWF9FTUlGNF8wX1JFRyhaUV9DT05GSUcpKTsKLQotCXdoaWxlICgocmVhZGwoQU0zM1hY X0VNSUY0XzBfUkVHKFNEUkFNX1NUQVRVUykpICYgMHg0KSAhPSAweDQpOwotfQotCi1zdGF0aWMg dm9pZCBwY20wNTFfY29uZmlnX2Rkcih2b2lkKQotewotCWVuYWJsZV9kZHJfY2xvY2tzKCk7Ci0K LQljb25maWdfdnRwKCk7Ci0KLQkvKiBpbml0IG1vZGUgKi8KLQl3cml0ZWwoUEhZX0xWTF9NT0RF LCBBTTMzWFhfREFUQTBfV1JMVkxfSU5JVF9NT0RFXzApOwotCXdyaXRlbChQSFlfTFZMX01PREUs IEFNMzNYWF9EQVRBMF9HQVRFTFZMX0lOSVRfTU9ERV8wKTsKLQl3cml0ZWwoUEhZX0xWTF9NT0RF LCBBTTMzWFhfREFUQTFfV1JMVkxfSU5JVF9NT0RFXzApOwotCXdyaXRlbChQSFlfTFZMX01PREUs IEFNMzNYWF9EQVRBMV9HQVRFTFZMX0lOSVRfTU9ERV8wKTsKLQotCUNtZF9NYWNyb19Db25maWco KTsKLQlwaHlfY29uZmlnX2RhdGEoKTsKLQotCXdyaXRlbChQSFlfUkFOSzBfREVMQVksIEFNMzNY WF9EQVRBMF9SQU5LMF9ERUxBWVNfMCk7Ci0Jd3JpdGVsKFBIWV9SQU5LMF9ERUxBWSwgQU0zM1hY X0RBVEExX1JBTkswX0RFTEFZU18wKTsKLQotCXdyaXRlbChERFJfSU9DVFJMX1ZBTFVFLCBBTTMz WFhfRERSX0NNRDBfSU9DVFJMKTsKLQl3cml0ZWwoRERSX0lPQ1RSTF9WQUxVRSwgQU0zM1hYX0RE Ul9DTUQxX0lPQ1RSTCk7Ci0Jd3JpdGVsKEREUl9JT0NUUkxfVkFMVUUsIEFNMzNYWF9ERFJfQ01E Ml9JT0NUUkwpOwotCXdyaXRlbChERFJfSU9DVFJMX1ZBTFVFLCBBTTMzWFhfRERSX0RBVEEwX0lP Q1RSTCk7Ci0Jd3JpdGVsKEREUl9JT0NUUkxfVkFMVUUsIEFNMzNYWF9ERFJfREFUQTFfSU9DVFJM KTsKLQotCXdyaXRlbChyZWFkbChBTTMzWFhfRERSX0lPX0NUUkwpICYKLQkJCQkweGVmZmZmZmZm LCBBTTMzWFhfRERSX0lPX0NUUkwpOwotCXdyaXRlbChyZWFkbChBTTMzWFhfRERSX0NLRV9DVFJM KSB8Ci0JCQkJMHgwMDAwMDAwMSwgQU0zM1hYX0REUl9DS0VfQ1RSTCk7Ci0KLQljb25maWdfZW1p ZigpOwotfQotCi0vKgotICogZWFybHkgc3lzdGVtIGluaXQgb2YgbXV4aW5nIGFuZCBjbG9ja3Mu Ci0gKi8KLXZvaWQgcGNtMDUxX3NyYW1faW5pdCh2b2lkKQotewotCXUzMiByZWdWYWwsIHVhcnRf YmFzZTsKLQotCS8qIFNldHVwIHRoZSBQTExzIGFuZCB0aGUgY2xvY2tzIGZvciB0aGUgcGVyaXBo ZXJhbHMgKi8KLQlwbGxfaW5pdChNUFVQTExfTV82MDAsIDI1KTsKLQotCXBjbTA1MV9jb25maWdf ZGRyKCk7Ci0KLQkvKiBVQVJUIHNvZnRyZXNldCAqLwotCWFtMzN4eF9lbmFibGVfdWFydDBfcGlu X211eCgpOwotCXVhcnRfYmFzZSA9IEFNMzNYWF9VQVJUMF9CQVNFOwotCi0JcmVnVmFsID0gcmVh ZGwodWFydF9iYXNlICsgVUFSVF9TWVNDRkdfT0ZGU0VUKTsKLQlyZWdWYWwgfD0gVUFSVF9SRVNF VDsKLQl3cml0ZWwocmVnVmFsLCAodWFydF9iYXNlICsgVUFSVF9TWVNDRkdfT0ZGU0VUKSk7Ci0J d2hpbGUgKChyZWFkbCh1YXJ0X2Jhc2UgKyBVQVJUX1NZU1NUU19PRkZTRVQpICYKLQkJVUFSVF9D TEtfUlVOTklOR19NQVNLKSAhPSBVQVJUX0NMS19SVU5OSU5HX01BU0spOwotCi0JLyogRGlzYWJs ZSBzbWFydCBpZGxlICovCi0JcmVnVmFsID0gcmVhZGwoKHVhcnRfYmFzZSArIFVBUlRfU1lTQ0ZH X09GRlNFVCkpOwotCXJlZ1ZhbCB8PSBVQVJUX1NNQVJUX0lETEVfRU47Ci0Jd3JpdGVsKHJlZ1Zh bCwgKHVhcnRfYmFzZSArIFVBUlRfU1lTQ0ZHX09GRlNFVCkpOwotfQorc3RhdGljIGNvbnN0IHN0 cnVjdCBhbTMzeHhfY21kX2NvbnRyb2wgTVQ0MUoyNTZNOEhYMTVFXzJ4MjU2TThfY21kID0gewor CS5zbGF2ZV9yYXRpbzAgPSAweDQwLAorCS5kbGxfbG9ja19kaWZmMCA9IDB4MCwKKwkuaW52ZXJ0 X2Nsa291dDAgPSAweDEsCisJLnNsYXZlX3JhdGlvMSA9IDB4NDAsCisJLmRsbF9sb2NrX2RpZmYx ID0gMHgwLAorCS5pbnZlcnRfY2xrb3V0MSA9IDB4MSwKKwkuc2xhdmVfcmF0aW8yID0gMHg0MCwK KwkuZGxsX2xvY2tfZGlmZjIgPSAweDAsCisJLmludmVydF9jbGtvdXQyID0gMHgxLAorfTsKKwor c3RhdGljIGNvbnN0IHN0cnVjdCBhbTMzeHhfZW1pZl9yZWdzIE1UNDFKMjU2TThIWDE1RV8yeDI1 Nk04X3JlZ3MgPSB7CisJLmVtaWZfcmVhZF9sYXRlbmN5CT0gMHg2LAorCS5lbWlmX3RpbTEJCT0g MHgwNjY4QTM5QiwKKwkuZW1pZl90aW0yCQk9IDB4MjYzMzdGREEsCisJLmVtaWZfdGltMwkJPSAw eDUwMUY4MzBGLAorCS5zZHJhbV9jb25maWcJCT0gMHg2MUMwNDgzMiwKKwkuenFfY29uZmlnCQk9 IDB4NTAwNzRCRTQsCisJLnNkcmFtX3JlZl9jdHJsCQk9IDB4MDAwMDA5M0IsCit9OworCitzdGF0 aWMgY29uc3Qgc3RydWN0IGFtMzN4eF9kZHJfZGF0YSBNVDQxSjI1Nk04SFgxNUVfMngyNTZNOF9k YXRhID0geworCS5yZF9zbGF2ZV9yYXRpbzAJPSAweDNCLAorCS53cl9kcXNfc2xhdmVfcmF0aW8w CT0gMHg4NSwKKwkuZmlmb193ZV9zbGF2ZV9yYXRpbzAJPSAweDEwMCwKKwkud3Jfc2xhdmVfcmF0 aW8wCT0gMHhDMSwKKwkudXNlX3JhbmswX2RlbGF5CT0gMHgwMSwKKwkuZGxsX2xvY2tfZGlmZjAJ CT0gMHgwLAorfTsKIAogLyoqCiAgKiBAYnJpZWYgVGhlIGJhc2ljIGVudHJ5IHBvaW50IGZvciBi b2FyZCBpbml0aWFsaXphdGlvbi4KQEAgLTE5MCw4ICs1NSw2IEBAIHZvaWQgcGNtMDUxX3NyYW1f aW5pdCh2b2lkKQogICovCiBzdGF0aWMgaW50IHBjbTA1MV9ib2FyZF9pbml0KHZvaWQpCiB7Ci0J aW50IGluX3NkcmFtID0gcnVubmluZ19pbl9zZHJhbSgpOwotCiAJLyogV0RUMSBpcyBhbHJlYWR5 IHJ1bm5pbmcgd2hlbiB0aGUgYm9vdGxvYWRlciBnZXRzIGNvbnRyb2wKIAkgKiBEaXNhYmxlIGl0 IHRvIGF2b2lkICJyYW5kb20iIHJlc2V0cwogCSAqLwpAQCAtMjAxLDkgKzY0LDEyIEBAIHN0YXRp YyBpbnQgcGNtMDUxX2JvYXJkX2luaXQodm9pZCkKIAl3cml0ZWwoV0RUX0RJU0FCTEVfQ09ERTIs IEFNMzNYWF9XRFRfUkVHKFdTUFIpKTsKIAl3aGlsZSAocmVhZGwoQU0zM1hYX1dEVF9SRUcoV1dQ UykpICE9IDB4MCk7CiAKLQkvKiBEb250IHJlY29uZmlndXJlIFNEUkFNIHdoaWxlIHJ1bm5pbmcg aW4gU0RSQU0hICovCi0JaWYgKCFpbl9zZHJhbSkKLQkJcGNtMDUxX3NyYW1faW5pdCgpOworCWFt MzM1eF9zZHJhbV9pbml0KE1QVVBMTF9NXzYwMCwgMjUsIDB4MThCLAorCQkJJk1UNDFKMjU2TThI WDE1RV8yeDI1Nk04X2NtZCwKKwkJCSZNVDQxSjI1Nk04SFgxNUVfMngyNTZNOF9yZWdzLAorCQkJ Jk1UNDFKMjU2TThIWDE1RV8yeDI1Nk04X2RhdGEpOworCisJYW0zM3h4X2VuYWJsZV91YXJ0MF9w aW5fbXV4KCk7CiAKIAlyZXR1cm4gMDsKIH0KLS0gCjEuNy4wLjQKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpiYXJlYm94IG1haWxpbmcgbGlzdApiYXJl Ym94QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1h bi9saXN0aW5mby9iYXJlYm94Cg==