From: Thierry Reding Subject: [PATCH 04/13] drm/tegra: sor: Move register definitions into a table Date: Mon, 27 Nov 2017 11:07:49 +0100 Message-ID: <20171127100758.22149-5-thierry.reding@gmail.com> References: <20171127100758.22149-1-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171127100758.22149-1-thierry.reding@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thierry Reding Cc: linux-tegra@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: linux-tegra@vger.kernel.org RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KCkFmdGVyIGNvbW1pdCA5 MzJmNjUyOTEzOWUgKCJkcm0vdGVncmE6IHNvcjogVHJhY2UgcmVnaXN0ZXIgYWNjZXNzZXMiKSwK dGhlIGRlYnVnZnMgcmVnaXN0ZXIgZHVtcCBpbXBsZW1lbnRhdGlvbiBjYXVzZXMgZXhjZXNzaXZl IHN0YWNrIHVzYWdlCmFuZCBjYW4gcmVzdWx0IGluIGJ1aWxkIHdhcm5pbmdzLiBUbyBmaXggdGhp cywgbW92ZSB0aGUgcmVnaXN0ZXIKZGVmaW5pdGlvbnMgaW50byBhIHRhYmxlIGFuZCBpdGVyYXRl IG92ZXIgdGhlIHRhYmxlIHdoaWxlIGR1bXBpbmcgdGhlCnJlZ2lzdGVycyB0byBkZWJ1Z2ZzLgoK U2lnbmVkLW9mZi1ieTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KLS0tCiBk cml2ZXJzL2dwdS9kcm0vdGVncmEvc29yLmMgfCAyNDYgKysrKysrKysrKysrKysrKysrKysrKyst LS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMjYgaW5zZXJ0aW9ucygrKSwg MTIwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9zb3Iu YyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9zb3IuYwppbmRleCBiMGExZGVkYWM4MDIuLjc1YjIx ZGJhYThmMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL3Nvci5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS90ZWdyYS9zb3IuYwpAQCAtMTEwNSwxMiArMTEwNSwxMzIgQEAgc3RhdGlj IGludCB0ZWdyYV9zb3Jfc2hvd19jcmMoc3RydWN0IHNlcV9maWxlICpzLCB2b2lkICpkYXRhKQog CXJldHVybiBlcnI7CiB9CiAKKyNkZWZpbmUgREVCVUdGU19SRUczMihfbmFtZSkgeyAubmFtZSA9 ICNfbmFtZSwgLm9mZnNldCA9IF9uYW1lIH0KKworc3RhdGljIGNvbnN0IHN0cnVjdCBkZWJ1Z2Zz X3JlZzMyIHRlZ3JhX3Nvcl9yZWdzW10gPSB7CisJREVCVUdGU19SRUczMihTT1JfQ1RYU1cpLAor CURFQlVHRlNfUkVHMzIoU09SX1NVUEVSX1NUQVRFMCksCisJREVCVUdGU19SRUczMihTT1JfU1VQ RVJfU1RBVEUxKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9TVEFURTApLAorCURFQlVHRlNfUkVHMzIo U09SX1NUQVRFMSksCisJREVCVUdGU19SRUczMihTT1JfSEVBRF9TVEFURTAoMCkpLAorCURFQlVH RlNfUkVHMzIoU09SX0hFQURfU1RBVEUwKDEpKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9IRUFEX1NU QVRFMSgwKSksCisJREVCVUdGU19SRUczMihTT1JfSEVBRF9TVEFURTEoMSkpLAorCURFQlVHRlNf UkVHMzIoU09SX0hFQURfU1RBVEUyKDApKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9IRUFEX1NUQVRF MigxKSksCisJREVCVUdGU19SRUczMihTT1JfSEVBRF9TVEFURTMoMCkpLAorCURFQlVHRlNfUkVH MzIoU09SX0hFQURfU1RBVEUzKDEpKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9IRUFEX1NUQVRFNCgw KSksCisJREVCVUdGU19SRUczMihTT1JfSEVBRF9TVEFURTQoMSkpLAorCURFQlVHRlNfUkVHMzIo U09SX0hFQURfU1RBVEU1KDApKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9IRUFEX1NUQVRFNSgxKSks CisJREVCVUdGU19SRUczMihTT1JfQ1JDX0NOVFJMKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9EUF9E RUJVR19NVklEKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9DTEtfQ05UUkwpLAorCURFQlVHRlNfUkVH MzIoU09SX0NBUCksCisJREVCVUdGU19SRUczMihTT1JfUFdSKSwKKwlERUJVR0ZTX1JFRzMyKFNP Ul9URVNUKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9QTEwwKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9Q TEwxKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9QTEwyKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9QTEwz KSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9DU1RNKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9MVkRTKSwK KwlERUJVR0ZTX1JFRzMyKFNPUl9DUkNBKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9DUkNCKSwKKwlE RUJVR0ZTX1JFRzMyKFNPUl9CTEFOSyksCisJREVCVUdGU19SRUczMihTT1JfU0VRX0NUTCksCisJ REVCVUdGU19SRUczMihTT1JfTEFORV9TRVFfQ1RMKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9TRVFf SU5TVCgwKSksCisJREVCVUdGU19SRUczMihTT1JfU0VRX0lOU1QoMSkpLAorCURFQlVHRlNfUkVH MzIoU09SX1NFUV9JTlNUKDIpKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9TRVFfSU5TVCgzKSksCisJ REVCVUdGU19SRUczMihTT1JfU0VRX0lOU1QoNCkpLAorCURFQlVHRlNfUkVHMzIoU09SX1NFUV9J TlNUKDUpKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9TRVFfSU5TVCg2KSksCisJREVCVUdGU19SRUcz MihTT1JfU0VRX0lOU1QoNykpLAorCURFQlVHRlNfUkVHMzIoU09SX1NFUV9JTlNUKDgpKSwKKwlE RUJVR0ZTX1JFRzMyKFNPUl9TRVFfSU5TVCg5KSksCisJREVCVUdGU19SRUczMihTT1JfU0VRX0lO U1QoMTApKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9TRVFfSU5TVCgxMSkpLAorCURFQlVHRlNfUkVH MzIoU09SX1NFUV9JTlNUKDEyKSksCisJREVCVUdGU19SRUczMihTT1JfU0VRX0lOU1QoMTMpKSwK KwlERUJVR0ZTX1JFRzMyKFNPUl9TRVFfSU5TVCgxNCkpLAorCURFQlVHRlNfUkVHMzIoU09SX1NF UV9JTlNUKDE1KSksCisJREVCVUdGU19SRUczMihTT1JfUFdNX0RJViksCisJREVCVUdGU19SRUcz MihTT1JfUFdNX0NUTCksCisJREVCVUdGU19SRUczMihTT1JfVkNSQ19BMCksCisJREVCVUdGU19S RUczMihTT1JfVkNSQ19BMSksCisJREVCVUdGU19SRUczMihTT1JfVkNSQ19CMCksCisJREVCVUdG U19SRUczMihTT1JfVkNSQ19CMSksCisJREVCVUdGU19SRUczMihTT1JfQ0NSQ19BMCksCisJREVC VUdGU19SRUczMihTT1JfQ0NSQ19BMSksCisJREVCVUdGU19SRUczMihTT1JfQ0NSQ19CMCksCisJ REVCVUdGU19SRUczMihTT1JfQ0NSQ19CMSksCisJREVCVUdGU19SRUczMihTT1JfRURBVEFfQTAp LAorCURFQlVHRlNfUkVHMzIoU09SX0VEQVRBX0ExKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9FREFU QV9CMCksCisJREVCVUdGU19SRUczMihTT1JfRURBVEFfQjEpLAorCURFQlVHRlNfUkVHMzIoU09S X0NPVU5UX0EwKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9DT1VOVF9BMSksCisJREVCVUdGU19SRUcz MihTT1JfQ09VTlRfQjApLAorCURFQlVHRlNfUkVHMzIoU09SX0NPVU5UX0IxKSwKKwlERUJVR0ZT X1JFRzMyKFNPUl9ERUJVR19BMCksCisJREVCVUdGU19SRUczMihTT1JfREVCVUdfQTEpLAorCURF QlVHRlNfUkVHMzIoU09SX0RFQlVHX0IwKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9ERUJVR19CMSks CisJREVCVUdGU19SRUczMihTT1JfVFJJRyksCisJREVCVUdGU19SRUczMihTT1JfTVNDSEVDSyks CisJREVCVUdGU19SRUczMihTT1JfWEJBUl9DVFJMKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9YQkFS X1BPTCksCisJREVCVUdGU19SRUczMihTT1JfRFBfTElOS0NUTDApLAorCURFQlVHRlNfUkVHMzIo U09SX0RQX0xJTktDVEwxKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9MQU5FX0RSSVZFX0NVUlJFTlQw KSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9MQU5FX0RSSVZFX0NVUlJFTlQxKSwKKwlERUJVR0ZTX1JF RzMyKFNPUl9MQU5FNF9EUklWRV9DVVJSRU5UMCksCisJREVCVUdGU19SRUczMihTT1JfTEFORTRf RFJJVkVfQ1VSUkVOVDEpLAorCURFQlVHRlNfUkVHMzIoU09SX0xBTkVfUFJFRU1QSEFTSVMwKSwK KwlERUJVR0ZTX1JFRzMyKFNPUl9MQU5FX1BSRUVNUEhBU0lTMSksCisJREVCVUdGU19SRUczMihT T1JfTEFORTRfUFJFRU1QSEFTSVMwKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9MQU5FNF9QUkVFTVBI QVNJUzEpLAorCURFQlVHRlNfUkVHMzIoU09SX0xBTkVfUE9TVENVUlNPUjApLAorCURFQlVHRlNf UkVHMzIoU09SX0xBTkVfUE9TVENVUlNPUjEpLAorCURFQlVHRlNfUkVHMzIoU09SX0RQX0NPTkZJ RzApLAorCURFQlVHRlNfUkVHMzIoU09SX0RQX0NPTkZJRzEpLAorCURFQlVHRlNfUkVHMzIoU09S X0RQX01OMCksCisJREVCVUdGU19SRUczMihTT1JfRFBfTU4xKSwKKwlERUJVR0ZTX1JFRzMyKFNP Ul9EUF9QQURDVEwwKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9EUF9QQURDVEwxKSwKKwlERUJVR0ZT X1JFRzMyKFNPUl9EUF9ERUJVRzApLAorCURFQlVHRlNfUkVHMzIoU09SX0RQX0RFQlVHMSksCisJ REVCVUdGU19SRUczMihTT1JfRFBfU1BBUkUwKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9EUF9TUEFS RTEpLAorCURFQlVHRlNfUkVHMzIoU09SX0RQX0FVRElPX0NUUkwpLAorCURFQlVHRlNfUkVHMzIo U09SX0RQX0FVRElPX0hCTEFOS19TWU1CT0xTKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9EUF9BVURJ T19WQkxBTktfU1lNQk9MUyksCisJREVCVUdGU19SRUczMihTT1JfRFBfR0VORVJJQ19JTkZPRlJB TUVfSEVBREVSKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9EUF9HRU5FUklDX0lORk9GUkFNRV9TVUJQ QUNLMCksCisJREVCVUdGU19SRUczMihTT1JfRFBfR0VORVJJQ19JTkZPRlJBTUVfU1VCUEFDSzEp LAorCURFQlVHRlNfUkVHMzIoU09SX0RQX0dFTkVSSUNfSU5GT0ZSQU1FX1NVQlBBQ0syKSwKKwlE RUJVR0ZTX1JFRzMyKFNPUl9EUF9HRU5FUklDX0lORk9GUkFNRV9TVUJQQUNLMyksCisJREVCVUdG U19SRUczMihTT1JfRFBfR0VORVJJQ19JTkZPRlJBTUVfU1VCUEFDSzQpLAorCURFQlVHRlNfUkVH MzIoU09SX0RQX0dFTkVSSUNfSU5GT0ZSQU1FX1NVQlBBQ0s1KSwKKwlERUJVR0ZTX1JFRzMyKFNP Ul9EUF9HRU5FUklDX0lORk9GUkFNRV9TVUJQQUNLNiksCisJREVCVUdGU19SRUczMihTT1JfRFBf VFBHKSwKKwlERUJVR0ZTX1JFRzMyKFNPUl9EUF9UUEdfQ09ORklHKSwKKwlERUJVR0ZTX1JFRzMy KFNPUl9EUF9MUV9DU1RNMCksCisJREVCVUdGU19SRUczMihTT1JfRFBfTFFfQ1NUTTEpLAorCURF QlVHRlNfUkVHMzIoU09SX0RQX0xRX0NTVE0yKSwKK307CisKIHN0YXRpYyBpbnQgdGVncmFfc29y X3Nob3dfcmVncyhzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHZvaWQgKmRhdGEpCiB7CiAJc3RydWN0IGRy bV9pbmZvX25vZGUgKm5vZGUgPSBzLT5wcml2YXRlOwogCXN0cnVjdCB0ZWdyYV9zb3IgKnNvciA9 IG5vZGUtPmluZm9fZW50LT5kYXRhOwogCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IHNvci0+b3V0 cHV0LmVuY29kZXIuY3J0YzsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZHJtID0gbm9kZS0+bWlub3It PmRldjsKKwl1bnNpZ25lZCBpbnQgaTsKIAlpbnQgZXJyID0gMDsKIAogCWRybV9tb2Rlc2V0X2xv Y2tfYWxsKGRybSk7CkBAIC0xMTIwLDEyNiArMTI0MCwxMiBAQCBzdGF0aWMgaW50IHRlZ3JhX3Nv cl9zaG93X3JlZ3Moc3RydWN0IHNlcV9maWxlICpzLCB2b2lkICpkYXRhKQogCQlnb3RvIHVubG9j azsKIAl9CiAKLSNkZWZpbmUgRFVNUF9SRUcobmFtZSkJCQkJCQlcCi0Jc2VxX3ByaW50ZihzLCAi JS0zOHMgJSMwNXggJTA4eFxuIiwgI25hbWUsIG5hbWUsCVwKLQkJICAgdGVncmFfc29yX3JlYWRs KHNvciwgbmFtZSkpCi0KLQlEVU1QX1JFRyhTT1JfQ1RYU1cpOwotCURVTVBfUkVHKFNPUl9TVVBF Ul9TVEFURTApOwotCURVTVBfUkVHKFNPUl9TVVBFUl9TVEFURTEpOwotCURVTVBfUkVHKFNPUl9T VEFURTApOwotCURVTVBfUkVHKFNPUl9TVEFURTEpOwotCURVTVBfUkVHKFNPUl9IRUFEX1NUQVRF MCgwKSk7Ci0JRFVNUF9SRUcoU09SX0hFQURfU1RBVEUwKDEpKTsKLQlEVU1QX1JFRyhTT1JfSEVB RF9TVEFURTEoMCkpOwotCURVTVBfUkVHKFNPUl9IRUFEX1NUQVRFMSgxKSk7Ci0JRFVNUF9SRUco U09SX0hFQURfU1RBVEUyKDApKTsKLQlEVU1QX1JFRyhTT1JfSEVBRF9TVEFURTIoMSkpOwotCURV TVBfUkVHKFNPUl9IRUFEX1NUQVRFMygwKSk7Ci0JRFVNUF9SRUcoU09SX0hFQURfU1RBVEUzKDEp KTsKLQlEVU1QX1JFRyhTT1JfSEVBRF9TVEFURTQoMCkpOwotCURVTVBfUkVHKFNPUl9IRUFEX1NU QVRFNCgxKSk7Ci0JRFVNUF9SRUcoU09SX0hFQURfU1RBVEU1KDApKTsKLQlEVU1QX1JFRyhTT1Jf SEVBRF9TVEFURTUoMSkpOwotCURVTVBfUkVHKFNPUl9DUkNfQ05UUkwpOwotCURVTVBfUkVHKFNP Ul9EUF9ERUJVR19NVklEKTsKLQlEVU1QX1JFRyhTT1JfQ0xLX0NOVFJMKTsKLQlEVU1QX1JFRyhT T1JfQ0FQKTsKLQlEVU1QX1JFRyhTT1JfUFdSKTsKLQlEVU1QX1JFRyhTT1JfVEVTVCk7Ci0JRFVN UF9SRUcoU09SX1BMTDApOwotCURVTVBfUkVHKFNPUl9QTEwxKTsKLQlEVU1QX1JFRyhTT1JfUExM Mik7Ci0JRFVNUF9SRUcoU09SX1BMTDMpOwotCURVTVBfUkVHKFNPUl9DU1RNKTsKLQlEVU1QX1JF RyhTT1JfTFZEUyk7Ci0JRFVNUF9SRUcoU09SX0NSQ0EpOwotCURVTVBfUkVHKFNPUl9DUkNCKTsK LQlEVU1QX1JFRyhTT1JfQkxBTkspOwotCURVTVBfUkVHKFNPUl9TRVFfQ1RMKTsKLQlEVU1QX1JF RyhTT1JfTEFORV9TRVFfQ1RMKTsKLQlEVU1QX1JFRyhTT1JfU0VRX0lOU1QoMCkpOwotCURVTVBf UkVHKFNPUl9TRVFfSU5TVCgxKSk7Ci0JRFVNUF9SRUcoU09SX1NFUV9JTlNUKDIpKTsKLQlEVU1Q X1JFRyhTT1JfU0VRX0lOU1QoMykpOwotCURVTVBfUkVHKFNPUl9TRVFfSU5TVCg0KSk7Ci0JRFVN UF9SRUcoU09SX1NFUV9JTlNUKDUpKTsKLQlEVU1QX1JFRyhTT1JfU0VRX0lOU1QoNikpOwotCURV TVBfUkVHKFNPUl9TRVFfSU5TVCg3KSk7Ci0JRFVNUF9SRUcoU09SX1NFUV9JTlNUKDgpKTsKLQlE VU1QX1JFRyhTT1JfU0VRX0lOU1QoOSkpOwotCURVTVBfUkVHKFNPUl9TRVFfSU5TVCgxMCkpOwot CURVTVBfUkVHKFNPUl9TRVFfSU5TVCgxMSkpOwotCURVTVBfUkVHKFNPUl9TRVFfSU5TVCgxMikp OwotCURVTVBfUkVHKFNPUl9TRVFfSU5TVCgxMykpOwotCURVTVBfUkVHKFNPUl9TRVFfSU5TVCgx NCkpOwotCURVTVBfUkVHKFNPUl9TRVFfSU5TVCgxNSkpOwotCURVTVBfUkVHKFNPUl9QV01fRElW KTsKLQlEVU1QX1JFRyhTT1JfUFdNX0NUTCk7Ci0JRFVNUF9SRUcoU09SX1ZDUkNfQTApOwotCURV TVBfUkVHKFNPUl9WQ1JDX0ExKTsKLQlEVU1QX1JFRyhTT1JfVkNSQ19CMCk7Ci0JRFVNUF9SRUco U09SX1ZDUkNfQjEpOwotCURVTVBfUkVHKFNPUl9DQ1JDX0EwKTsKLQlEVU1QX1JFRyhTT1JfQ0NS Q19BMSk7Ci0JRFVNUF9SRUcoU09SX0NDUkNfQjApOwotCURVTVBfUkVHKFNPUl9DQ1JDX0IxKTsK LQlEVU1QX1JFRyhTT1JfRURBVEFfQTApOwotCURVTVBfUkVHKFNPUl9FREFUQV9BMSk7Ci0JRFVN UF9SRUcoU09SX0VEQVRBX0IwKTsKLQlEVU1QX1JFRyhTT1JfRURBVEFfQjEpOwotCURVTVBfUkVH KFNPUl9DT1VOVF9BMCk7Ci0JRFVNUF9SRUcoU09SX0NPVU5UX0ExKTsKLQlEVU1QX1JFRyhTT1Jf Q09VTlRfQjApOwotCURVTVBfUkVHKFNPUl9DT1VOVF9CMSk7Ci0JRFVNUF9SRUcoU09SX0RFQlVH X0EwKTsKLQlEVU1QX1JFRyhTT1JfREVCVUdfQTEpOwotCURVTVBfUkVHKFNPUl9ERUJVR19CMCk7 Ci0JRFVNUF9SRUcoU09SX0RFQlVHX0IxKTsKLQlEVU1QX1JFRyhTT1JfVFJJRyk7Ci0JRFVNUF9S RUcoU09SX01TQ0hFQ0spOwotCURVTVBfUkVHKFNPUl9YQkFSX0NUUkwpOwotCURVTVBfUkVHKFNP Ul9YQkFSX1BPTCk7Ci0JRFVNUF9SRUcoU09SX0RQX0xJTktDVEwwKTsKLQlEVU1QX1JFRyhTT1Jf RFBfTElOS0NUTDEpOwotCURVTVBfUkVHKFNPUl9MQU5FX0RSSVZFX0NVUlJFTlQwKTsKLQlEVU1Q X1JFRyhTT1JfTEFORV9EUklWRV9DVVJSRU5UMSk7Ci0JRFVNUF9SRUcoU09SX0xBTkU0X0RSSVZF X0NVUlJFTlQwKTsKLQlEVU1QX1JFRyhTT1JfTEFORTRfRFJJVkVfQ1VSUkVOVDEpOwotCURVTVBf UkVHKFNPUl9MQU5FX1BSRUVNUEhBU0lTMCk7Ci0JRFVNUF9SRUcoU09SX0xBTkVfUFJFRU1QSEFT SVMxKTsKLQlEVU1QX1JFRyhTT1JfTEFORTRfUFJFRU1QSEFTSVMwKTsKLQlEVU1QX1JFRyhTT1Jf TEFORTRfUFJFRU1QSEFTSVMxKTsKLQlEVU1QX1JFRyhTT1JfTEFORV9QT1NUQ1VSU09SMCk7Ci0J RFVNUF9SRUcoU09SX0xBTkVfUE9TVENVUlNPUjEpOwotCURVTVBfUkVHKFNPUl9EUF9DT05GSUcw KTsKLQlEVU1QX1JFRyhTT1JfRFBfQ09ORklHMSk7Ci0JRFVNUF9SRUcoU09SX0RQX01OMCk7Ci0J RFVNUF9SRUcoU09SX0RQX01OMSk7Ci0JRFVNUF9SRUcoU09SX0RQX1BBRENUTDApOwotCURVTVBf UkVHKFNPUl9EUF9QQURDVEwxKTsKLQlEVU1QX1JFRyhTT1JfRFBfREVCVUcwKTsKLQlEVU1QX1JF RyhTT1JfRFBfREVCVUcxKTsKLQlEVU1QX1JFRyhTT1JfRFBfU1BBUkUwKTsKLQlEVU1QX1JFRyhT T1JfRFBfU1BBUkUxKTsKLQlEVU1QX1JFRyhTT1JfRFBfQVVESU9fQ1RSTCk7Ci0JRFVNUF9SRUco U09SX0RQX0FVRElPX0hCTEFOS19TWU1CT0xTKTsKLQlEVU1QX1JFRyhTT1JfRFBfQVVESU9fVkJM QU5LX1NZTUJPTFMpOwotCURVTVBfUkVHKFNPUl9EUF9HRU5FUklDX0lORk9GUkFNRV9IRUFERVIp OwotCURVTVBfUkVHKFNPUl9EUF9HRU5FUklDX0lORk9GUkFNRV9TVUJQQUNLMCk7Ci0JRFVNUF9S RUcoU09SX0RQX0dFTkVSSUNfSU5GT0ZSQU1FX1NVQlBBQ0sxKTsKLQlEVU1QX1JFRyhTT1JfRFBf R0VORVJJQ19JTkZPRlJBTUVfU1VCUEFDSzIpOwotCURVTVBfUkVHKFNPUl9EUF9HRU5FUklDX0lO Rk9GUkFNRV9TVUJQQUNLMyk7Ci0JRFVNUF9SRUcoU09SX0RQX0dFTkVSSUNfSU5GT0ZSQU1FX1NV QlBBQ0s0KTsKLQlEVU1QX1JFRyhTT1JfRFBfR0VORVJJQ19JTkZPRlJBTUVfU1VCUEFDSzUpOwot CURVTVBfUkVHKFNPUl9EUF9HRU5FUklDX0lORk9GUkFNRV9TVUJQQUNLNik7Ci0JRFVNUF9SRUco U09SX0RQX1RQRyk7Ci0JRFVNUF9SRUcoU09SX0RQX1RQR19DT05GSUcpOwotCURVTVBfUkVHKFNP Ul9EUF9MUV9DU1RNMCk7Ci0JRFVNUF9SRUcoU09SX0RQX0xRX0NTVE0xKTsKLQlEVU1QX1JFRyhT T1JfRFBfTFFfQ1NUTTIpOwotCi0jdW5kZWYgRFVNUF9SRUcKKwlmb3IgKGkgPSAwOyBpIDwgQVJS QVlfU0laRSh0ZWdyYV9zb3JfcmVncyk7IGkrKykgeworCQl1bnNpZ25lZCBpbnQgb2Zmc2V0ID0g dGVncmFfc29yX3JlZ3NbaV0ub2Zmc2V0OworCisJCXNlcV9wcmludGYocywgIiUtMzhzICUjMDV4 ICUwOHhcbiIsIHRlZ3JhX3Nvcl9yZWdzW2ldLm5hbWUsCisJCQkgICBvZmZzZXQsIHRlZ3JhX3Nv cl9yZWFkbChzb3IsIG9mZnNldCkpOworCX0KIAogdW5sb2NrOgogCWRybV9tb2Rlc2V0X3VubG9j a19hbGwoZHJtKTsKLS0gCjIuMTUuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vZHJpLWRldmVsCg==