From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH libdrm 05/11] tests: Move name tables to libutil Date: Fri, 23 Jan 2015 17:08:18 +0100 Message-ID: <1422029304-1926-6-git-send-email-thierry.reding@gmail.com> References: <1422029304-1926-1-git-send-email-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pa0-f52.google.com (mail-pa0-f52.google.com [209.85.220.52]) by gabe.freedesktop.org (Postfix) with ESMTP id 1D0616E949 for ; Fri, 23 Jan 2015 08:08:52 -0800 (PST) Received: by mail-pa0-f52.google.com with SMTP id kx10so9370078pab.11 for ; Fri, 23 Jan 2015 08:08:51 -0800 (PST) In-Reply-To: <1422029304-1926-1-git-send-email-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: dri-devel@lists.freedesktop.org Cc: Laurent Pinchart List-Id: dri-devel@lists.freedesktop.org RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KClRoZXNlIHRhYmxlcyBh cmUgZHVwbGljYXRlZCBpbiBzZXZlcmFsIHBsYWNlcywgc28gbW92ZSB0aGVtIGludG8gbGlidXRp bApzbyB0aGF0IHRoZXkgY2FuIGJlIHNoYXJlZC4KClNpZ25lZC1vZmYtYnk6IFRoaWVycnkgUmVk aW5nIDx0cmVkaW5nQG52aWRpYS5jb20+Ci0tLQogdGVzdHMvbW9kZXRlc3QvbW9kZXRlc3QuYyAg fCAgNTAgKystLS0tLS0tLS0tLS0tLS0tLQogdGVzdHMvcHJvcHRlc3QvTWFrZWZpbGUuYW0gfCAg IDQgKy0KIHRlc3RzL3Byb3B0ZXN0L3Byb3B0ZXN0LmMgIHwgIDQwICstLS0tLS0tLS0tLS0tLQog dGVzdHMvdXRpbC9NYWtlZmlsZS5hbSAgICAgfCAgIDIgKwogdGVzdHMvdXRpbC9rbXMuYyAgICAg ICAgICAgfCAxMjIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr CiB0ZXN0cy91dGlsL2ttcy5oICAgICAgICAgICB8ICAzMyArKysrKysrKysrKysKIDYgZmlsZXMg Y2hhbmdlZCwgMTY1IGluc2VydGlvbnMoKyksIDg2IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUg MTAwNjQ0IHRlc3RzL3V0aWwva21zLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy91dGlsL2tt cy5oCgpkaWZmIC0tZ2l0IGEvdGVzdHMvbW9kZXRlc3QvbW9kZXRlc3QuYyBiL3Rlc3RzL21vZGV0 ZXN0L21vZGV0ZXN0LmMKaW5kZXggYjYxMDk1NmFkZmNiLi5kNWZkOTllYmUxZmQgMTAwNjQ0Ci0t LSBhL3Rlc3RzL21vZGV0ZXN0L21vZGV0ZXN0LmMKKysrIGIvdGVzdHMvbW9kZXRlc3QvbW9kZXRl c3QuYwpAQCAtNjEsNiArNjEsNyBAQAogCiAjaW5jbHVkZSAidXRpbC9jb21tb24uaCIKICNpbmNs dWRlICJ1dGlsL2Zvcm1hdC5oIgorI2luY2x1ZGUgInV0aWwva21zLmgiCiAjaW5jbHVkZSAidXRp bC9wYXR0ZXJuLmgiCiAKICNpbmNsdWRlICJidWZmZXJzLmgiCkBAIC0xMjMsMTEgKzEyNCw2IEBA IHN0YXRpYyBpbmxpbmUgaW50NjRfdCBVNjQySTY0KHVpbnQ2NF90IHZhbCkKIAlyZXR1cm4gKGlu dDY0X3QpKigoaW50NjRfdCAqKSZ2YWwpOwogfQogCi1zdHJ1Y3QgdHlwZV9uYW1lIHsKLQlpbnQg dHlwZTsKLQljb25zdCBjaGFyICpuYW1lOwotfTsKLQogI2RlZmluZSB0eXBlX25hbWVfZm4ocmVz KSBcCiBjb25zdCBjaGFyICogcmVzIyNfc3RyKGludCB0eXBlKSB7CQkJXAogCXVuc2lnbmVkIGlu dCBpOwkJCQkJXApAQCAtMTM4LDQ0ICsxMzQsNiBAQCBjb25zdCBjaGFyICogcmVzIyNfc3RyKGlu dCB0eXBlKSB7CQkJXAogCXJldHVybiAiKGludmFsaWQpIjsJCQkJXAogfQogCi1zdHJ1Y3QgdHlw ZV9uYW1lIGVuY29kZXJfdHlwZV9uYW1lc1tdID0gewotCXsgRFJNX01PREVfRU5DT0RFUl9OT05F LCAibm9uZSIgfSwKLQl7IERSTV9NT0RFX0VOQ09ERVJfREFDLCAiREFDIiB9LAotCXsgRFJNX01P REVfRU5DT0RFUl9UTURTLCAiVE1EUyIgfSwKLQl7IERSTV9NT0RFX0VOQ09ERVJfTFZEUywgIkxW RFMiIH0sCi0JeyBEUk1fTU9ERV9FTkNPREVSX1RWREFDLCAiVFZEQUMiIH0sCi19OwotCi1zdGF0 aWMgdHlwZV9uYW1lX2ZuKGVuY29kZXJfdHlwZSkKLQotc3RydWN0IHR5cGVfbmFtZSBjb25uZWN0 b3Jfc3RhdHVzX25hbWVzW10gPSB7Ci0JeyBEUk1fTU9ERV9DT05ORUNURUQsICJjb25uZWN0ZWQi IH0sCi0JeyBEUk1fTU9ERV9ESVNDT05ORUNURUQsICJkaXNjb25uZWN0ZWQiIH0sCi0JeyBEUk1f TU9ERV9VTktOT1dOQ09OTkVDVElPTiwgInVua25vd24iIH0sCi19OwotCi1zdGF0aWMgdHlwZV9u YW1lX2ZuKGNvbm5lY3Rvcl9zdGF0dXMpCi0KLXN0cnVjdCB0eXBlX25hbWUgY29ubmVjdG9yX3R5 cGVfbmFtZXNbXSA9IHsKLQl7IERSTV9NT0RFX0NPTk5FQ1RPUl9Vbmtub3duLCAidW5rbm93biIg fSwKLQl7IERSTV9NT0RFX0NPTk5FQ1RPUl9WR0EsICJWR0EiIH0sCi0JeyBEUk1fTU9ERV9DT05O RUNUT1JfRFZJSSwgIkRWSS1JIiB9LAotCXsgRFJNX01PREVfQ09OTkVDVE9SX0RWSUQsICJEVkkt RCIgfSwKLQl7IERSTV9NT0RFX0NPTk5FQ1RPUl9EVklBLCAiRFZJLUEiIH0sCi0JeyBEUk1fTU9E RV9DT05ORUNUT1JfQ29tcG9zaXRlLCAiY29tcG9zaXRlIiB9LAotCXsgRFJNX01PREVfQ09OTkVD VE9SX1NWSURFTywgInMtdmlkZW8iIH0sCi0JeyBEUk1fTU9ERV9DT05ORUNUT1JfTFZEUywgIkxW RFMiIH0sCi0JeyBEUk1fTU9ERV9DT05ORUNUT1JfQ29tcG9uZW50LCAiY29tcG9uZW50IiB9LAot CXsgRFJNX01PREVfQ09OTkVDVE9SXzlQaW5ESU4sICI5LXBpbiBESU4iIH0sCi0JeyBEUk1fTU9E RV9DT05ORUNUT1JfRGlzcGxheVBvcnQsICJEUCIgfSwKLQl7IERSTV9NT0RFX0NPTk5FQ1RPUl9I RE1JQSwgIkhETUktQSIgfSwKLQl7IERSTV9NT0RFX0NPTk5FQ1RPUl9IRE1JQiwgIkhETUktQiIg fSwKLQl7IERSTV9NT0RFX0NPTk5FQ1RPUl9UViwgIlRWIiB9LAotCXsgRFJNX01PREVfQ09OTkVD VE9SX2VEUCwgImVEUCIgfSwKLX07Ci0KLXN0YXRpYyB0eXBlX25hbWVfZm4oY29ubmVjdG9yX3R5 cGUpCi0KICNkZWZpbmUgYml0X25hbWVfZm4ocmVzKQkJCQkJXAogY29uc3QgY2hhciAqIHJlcyMj X3N0cihpbnQgdHlwZSkgewkJCQlcCiAJdW5zaWduZWQgaW50IGk7CQkJCQkJXApAQCAtMjM1LDcg KzE5Myw3IEBAIHN0YXRpYyB2b2lkIGR1bXBfZW5jb2RlcnMoc3RydWN0IGRldmljZSAqZGV2KQog CQlwcmludGYoIiVkXHQlZFx0JXNcdDB4JTA4eFx0MHglMDh4XG4iLAogCQkgICAgICAgZW5jb2Rl ci0+ZW5jb2Rlcl9pZCwKIAkJICAgICAgIGVuY29kZXItPmNydGNfaWQsCi0JCSAgICAgICBlbmNv ZGVyX3R5cGVfc3RyKGVuY29kZXItPmVuY29kZXJfdHlwZSksCisJCSAgICAgICB1dGlsX2xvb2t1 cF9lbmNvZGVyX3R5cGVfbmFtZShlbmNvZGVyLT5lbmNvZGVyX3R5cGUpLAogCQkgICAgICAgZW5j b2Rlci0+cG9zc2libGVfY3J0Y3MsCiAJCSAgICAgICBlbmNvZGVyLT5wb3NzaWJsZV9jbG9uZXMp OwogCX0KQEAgLTM3OSw4ICszMzcsOCBAQCBzdGF0aWMgdm9pZCBkdW1wX2Nvbm5lY3RvcnMoc3Ry dWN0IGRldmljZSAqZGV2KQogCQlwcmludGYoIiVkXHQlZFx0JXNcdCVzXHQlZHglZFx0XHQlZFx0 IiwKIAkJICAgICAgIGNvbm5lY3Rvci0+Y29ubmVjdG9yX2lkLAogCQkgICAgICAgY29ubmVjdG9y LT5lbmNvZGVyX2lkLAotCQkgICAgICAgY29ubmVjdG9yX3N0YXR1c19zdHIoY29ubmVjdG9yLT5j b25uZWN0aW9uKSwKLQkJICAgICAgIGNvbm5lY3Rvcl90eXBlX3N0cihjb25uZWN0b3ItPmNvbm5l Y3Rvcl90eXBlKSwKKwkJICAgICAgIHV0aWxfbG9va3VwX2Nvbm5lY3Rvcl9zdGF0dXNfbmFtZShj b25uZWN0b3ItPmNvbm5lY3Rpb24pLAorCQkgICAgICAgdXRpbF9sb29rdXBfY29ubmVjdG9yX3R5 cGVfbmFtZShjb25uZWN0b3ItPmNvbm5lY3Rvcl90eXBlKSwKIAkJICAgICAgIGNvbm5lY3Rvci0+ bW1XaWR0aCwgY29ubmVjdG9yLT5tbUhlaWdodCwKIAkJICAgICAgIGNvbm5lY3Rvci0+Y291bnRf bW9kZXMpOwogCmRpZmYgLS1naXQgYS90ZXN0cy9wcm9wdGVzdC9NYWtlZmlsZS5hbSBiL3Rlc3Rz L3Byb3B0ZXN0L01ha2VmaWxlLmFtCmluZGV4IGY4MWEzYzAwODQ2Yi4uYzYxNTQ4OWI5YTkyIDEw MDY0NAotLS0gYS90ZXN0cy9wcm9wdGVzdC9NYWtlZmlsZS5hbQorKysgYi90ZXN0cy9wcm9wdGVz dC9NYWtlZmlsZS5hbQpAQCAtMSw1ICsxLDYgQEAKIEFNX0NGTEFHUyA9IFwKIAktSSQodG9wX3Ny Y2RpcikvaW5jbHVkZS9kcm0gXAorCS1JJCh0b3Bfc3JjZGlyKS90ZXN0cyBcCiAJLUkkKHRvcF9z cmNkaXIpCiAKIG5vaW5zdF9QUk9HUkFNUyA9IFwKQEAgLTgsNCArOSw1IEBAIG5vaW5zdF9QUk9H UkFNUyA9IFwKIHByb3B0ZXN0X1NPVVJDRVMgPSBcCiAJcHJvcHRlc3QuYwogcHJvcHRlc3RfTERB REQgPSBcCi0JJCh0b3BfYnVpbGRkaXIpL2xpYmRybS5sYQorCSQodG9wX2J1aWxkZGlyKS9saWJk cm0ubGEgXAorCSQodG9wX2J1aWxkZGlyKS90ZXN0cy91dGlsL2xpYnV0aWwubGEKZGlmZiAtLWdp dCBhL3Rlc3RzL3Byb3B0ZXN0L3Byb3B0ZXN0LmMgYi90ZXN0cy9wcm9wdGVzdC9wcm9wdGVzdC5j CmluZGV4IGVlM2ZhNDA4YTMxMC4uYjQ0MmQ1ODNkNTI4IDEwMDY0NAotLS0gYS90ZXN0cy9wcm9w dGVzdC9wcm9wdGVzdC5jCisrKyBiL3Rlc3RzL3Byb3B0ZXN0L3Byb3B0ZXN0LmMKQEAgLTQ1LDQ0 ICs0NSw2IEBAIHN0YXRpYyBpbmxpbmUgaW50NjRfdCBVNjQySTY0KHVpbnQ2NF90IHZhbCkKIGlu dCBmZDsKIGRybU1vZGVSZXNQdHIgcmVzID0gTlVMTDsKIAotY29uc3QgY2hhciAqY29ubmVjdG9y X3R5cGVfc3RyKHVpbnQzMl90IHR5cGUpCi17Ci0Jc3dpdGNoICh0eXBlKSB7Ci0JY2FzZSBEUk1f TU9ERV9DT05ORUNUT1JfVW5rbm93bjoKLQkJcmV0dXJuICJVbmtub3duIjsKLQljYXNlIERSTV9N T0RFX0NPTk5FQ1RPUl9WR0E6Ci0JCXJldHVybiAiVkdBIjsKLQljYXNlIERSTV9NT0RFX0NPTk5F Q1RPUl9EVklJOgotCQlyZXR1cm4gIkRWSS1JIjsKLQljYXNlIERSTV9NT0RFX0NPTk5FQ1RPUl9E VklEOgotCQlyZXR1cm4gIkRWSS1EIjsKLQljYXNlIERSTV9NT0RFX0NPTk5FQ1RPUl9EVklBOgot CQlyZXR1cm4gIkRWSS1BIjsKLQljYXNlIERSTV9NT0RFX0NPTk5FQ1RPUl9Db21wb3NpdGU6Ci0J CXJldHVybiAiQ29tcG9zaXRlIjsKLQljYXNlIERSTV9NT0RFX0NPTk5FQ1RPUl9TVklERU86Ci0J CXJldHVybiAiU1ZJREVPIjsKLQljYXNlIERSTV9NT0RFX0NPTk5FQ1RPUl9MVkRTOgotCQlyZXR1 cm4gIkxWRFMiOwotCWNhc2UgRFJNX01PREVfQ09OTkVDVE9SX0NvbXBvbmVudDoKLQkJcmV0dXJu ICJDb21wb25lbnQiOwotCWNhc2UgRFJNX01PREVfQ09OTkVDVE9SXzlQaW5ESU46Ci0JCXJldHVy biAiOVBpbkRpbiI7Ci0JY2FzZSBEUk1fTU9ERV9DT05ORUNUT1JfRGlzcGxheVBvcnQ6Ci0JCXJl dHVybiAiRGlzcGxheVBvcnQiOwotCWNhc2UgRFJNX01PREVfQ09OTkVDVE9SX0hETUlBOgotCQly ZXR1cm4gIkhETUktQSI7Ci0JY2FzZSBEUk1fTU9ERV9DT05ORUNUT1JfSERNSUI6Ci0JCXJldHVy biAiSERNSS1CIjsKLQljYXNlIERSTV9NT0RFX0NPTk5FQ1RPUl9UVjoKLQkJcmV0dXJuICJUViI7 Ci0JY2FzZSBEUk1fTU9ERV9DT05ORUNUT1JfZURQOgotCQlyZXR1cm4gImVEUCI7Ci0JZGVmYXVs dDoKLQkJcmV0dXJuICJJbnZhbGlkIjsKLQl9Ci19Ci0KIC8qIGR1bXBfYmxvYiBhbmQgZHVtcF9w cm9wIHNoYW1lbGVzc2x5IGNvcGllZCBmcm9tIC4uL21vZGV0ZXN0L21vZGV0ZXN0LmMgKi8KIHN0 YXRpYyB2b2lkCiBkdW1wX2Jsb2IodWludDMyX3QgYmxvYl9pZCkKQEAgLTIyNiw3ICsxODgsNyBA QCBzdGF0aWMgdm9pZCBsaXN0Q29ubmVjdG9yUHJvcGVydGllcyh2b2lkKQogCQl9CiAKIAkJcHJp bnRmKCJDb25uZWN0b3IgJXUgKCVzLSV1KVxuIiwgYy0+Y29ubmVjdG9yX2lkLAotCQkgICAgICAg Y29ubmVjdG9yX3R5cGVfc3RyKGMtPmNvbm5lY3Rvcl90eXBlKSwKKwkJICAgICAgIHV0aWxfbG9v a3VwX2Nvbm5lY3Rvcl90eXBlX25hbWUoYy0+Y29ubmVjdG9yX3R5cGUpLAogCQkgICAgICAgYy0+ Y29ubmVjdG9yX3R5cGVfaWQpOwogCiAJCWxpc3RPYmplY3RQcm9wZXJ0aWVzKGMtPmNvbm5lY3Rv cl9pZCwKZGlmZiAtLWdpdCBhL3Rlc3RzL3V0aWwvTWFrZWZpbGUuYW0gYi90ZXN0cy91dGlsL01h a2VmaWxlLmFtCmluZGV4IDFhMjUxOWZiZWE4OS4uYzAwNTc0NDg0ODY3IDEwMDY0NAotLS0gYS90 ZXN0cy91dGlsL01ha2VmaWxlLmFtCisrKyBiL3Rlc3RzL3V0aWwvTWFrZWZpbGUuYW0KQEAgLTEy LDYgKzEyLDggQEAgbGlidXRpbF9sYV9TT1VSQ0VTID0gXAogCWNvbW1vbi5oIFwKIAlmb3JtYXQu YyBcCiAJZm9ybWF0LmggXAorCWttcy5jIFwKKwlrbXMuaCBcCiAJcGF0dGVybi5jIFwKIAlwYXR0 ZXJuLmgKIApkaWZmIC0tZ2l0IGEvdGVzdHMvdXRpbC9rbXMuYyBiL3Rlc3RzL3V0aWwva21zLmMK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5hMjcxY2EwNDdjNGUKLS0t IC9kZXYvbnVsbAorKysgYi90ZXN0cy91dGlsL2ttcy5jCkBAIC0wLDAgKzEsMTIyIEBACisvKgor ICogQ29weXJpZ2h0IDIwMDggVHVuZ3N0ZW4gR3JhcGhpY3MKKyAqICAgSmFrb2IgQm9ybmVjcmFu dHogPGpha29iQHR1bmdzdGVuZ3JhcGhpY3MuY29tPgorICogQ29weXJpZ2h0IDIwMDggSW50ZWwg Q29ycG9yYXRpb24KKyAqICAgSmVzc2UgQmFybmVzIDxqZXNzZS5iYXJuZXNAaW50ZWwuY29tPgor ICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh bnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29j aWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVhbCBp biB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGlt aXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxp c2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhl IFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKKyAqIFNvZnR3YXJl IGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlv bnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lv biBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KKyAqIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRp YWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9W SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisg KiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9G IE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO RCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQVVUSE9SUyBPUiBD T1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhF UgorICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBP UiBPVEhFUldJU0UsIEFSSVNJTkcKKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJ VEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MKKyAqIElOIFRIRSBT T0ZUV0FSRS4KKyAqLworCisvKgorICogVGhpcyBmYWlybHkgc2ltcGxlIHRlc3QgcHJvZ3JhbSBk dW1wcyBvdXRwdXQgaW4gYSBzaW1pbGFyIGZvcm1hdCB0byB0aGUKKyAqICJ4cmFuZHIiIHRvb2wg ZXZlcnlvbmUga25vd3MgJiBsb3Zlcy4gIEl0J3MgbmVjZXNzYXJpbHkgc2xpZ2h0bHkgZGlmZmVy ZW50CisgKiBzaW5jZSB0aGUga2VybmVsIHNlcGFyYXRlcyBvdXRwdXRzIGludG8gZW5jb2RlciBh bmQgY29ubmVjdG9yIHN0cnVjdHVyZXMsCisgKiBlYWNoIHdpdGggdGhlaXIgb3duIHVuaXF1ZSBJ RC4gIFRoZSBwcm9ncmFtIGFsc28gYWxsb3dzIHRlc3QgdGVzdGluZyBvZiB0aGUKKyAqIG1lbW9y eSBtYW5hZ2VtZW50IGFuZCBtb2RlIHNldHRpbmcgQVBJcyBieSBhbGxvd2luZyB0aGUgdXNlciB0 byBzcGVjaWZ5IGEKKyAqIGNvbm5lY3RvciBhbmQgbW9kZSB0byB1c2UgZm9yIG1vZGUgc2V0dGlu Zy4gIElmIGFsbCB3b3JrcyBhcyBleHBlY3RlZCwgYQorICogYmx1ZSBiYWNrZ3JvdW5kIHNob3Vs ZCBiZSBwYWludGVkIG9uIHRoZSBtb25pdG9yIGF0dGFjaGVkIHRvIHRoZSBzcGVjaWZpZWQKKyAq IGNvbm5lY3RvciBhZnRlciB0aGUgc2VsZWN0ZWQgbW9kZSBpcyBzZXQuCisgKgorICogVE9ETzog dXNlIGNhaXJvIHRvIHdyaXRlIHRoZSBtb2RlIGluZm8gb24gdGhlIHNlbGVjdGVkIG91dHB1dCBv bmNlCisgKiAgICAgICB0aGUgbW9kZSBoYXMgYmVlbiBwcm9ncmFtbWVkLCBhbG9uZyB3aXRoIHBv c3NpYmxlIHRlc3QgcGF0dGVybnMuCisgKi8KKworI2lmZGVmIEhBVkVfQ09ORklHX0gKKyNpbmNs dWRlICJjb25maWcuaCIKKyNlbmRpZgorCisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8 c3RkbGliLmg+CisKKyNpbmNsdWRlICJ4Zjg2ZHJtTW9kZS5oIgorCisjaW5jbHVkZSAiY29tbW9u LmgiCisKK3N0cnVjdCB0eXBlX25hbWUgeworCXVuc2lnbmVkIGludCB0eXBlOworCWNvbnN0IGNo YXIgKm5hbWU7Cit9OworCitzdGF0aWMgY29uc3QgY2hhciAqdXRpbF9sb29rdXBfdHlwZV9uYW1l KHVuc2lnbmVkIGludCB0eXBlLAorCQkJCQkgY29uc3Qgc3RydWN0IHR5cGVfbmFtZSAqdGFibGUs CisJCQkJCSB1bnNpZ25lZCBpbnQgY291bnQpCit7CisJdW5zaWduZWQgaW50IGk7CisKKwlmb3Ig KGkgPSAwOyBpIDwgY291bnQ7IGkrKykKKwkJaWYgKHRhYmxlW2ldLnR5cGUgPT0gdHlwZSkKKwkJ CXJldHVybiB0YWJsZVtpXS5uYW1lOworCisJcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyBjb25z dCBzdHJ1Y3QgdHlwZV9uYW1lIGVuY29kZXJfdHlwZV9uYW1lc1tdID0geworCXsgRFJNX01PREVf RU5DT0RFUl9OT05FLCAibm9uZSIgfSwKKwl7IERSTV9NT0RFX0VOQ09ERVJfREFDLCAiREFDIiB9 LAorCXsgRFJNX01PREVfRU5DT0RFUl9UTURTLCAiVE1EUyIgfSwKKwl7IERSTV9NT0RFX0VOQ09E RVJfTFZEUywgIkxWRFMiIH0sCisJeyBEUk1fTU9ERV9FTkNPREVSX1RWREFDLCAiVFZEQUMiIH0s CisJeyBEUk1fTU9ERV9FTkNPREVSX1ZJUlRVQUwsICJWaXJ0dWFsIiB9LAorCXsgRFJNX01PREVf RU5DT0RFUl9EU0ksICJEU0kiIH0sCisJeyBEUk1fTU9ERV9FTkNPREVSX0RQTVNULCAiRGlzcGxh eVBvcnQgTVNUIiB9LAorfTsKKworY29uc3QgY2hhciAqdXRpbF9sb29rdXBfZW5jb2Rlcl90eXBl X25hbWUodW5zaWduZWQgaW50IHR5cGUpCit7CisJcmV0dXJuIHV0aWxfbG9va3VwX3R5cGVfbmFt ZSh0eXBlLCBlbmNvZGVyX3R5cGVfbmFtZXMsCisJCQkJICAgICBBUlJBWV9TSVpFKGVuY29kZXJf dHlwZV9uYW1lcykpOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IHR5cGVfbmFtZSBjb25uZWN0 b3Jfc3RhdHVzX25hbWVzW10gPSB7CisJeyBEUk1fTU9ERV9DT05ORUNURUQsICJjb25uZWN0ZWQi IH0sCisJeyBEUk1fTU9ERV9ESVNDT05ORUNURUQsICJkaXNjb25uZWN0ZWQiIH0sCisJeyBEUk1f TU9ERV9VTktOT1dOQ09OTkVDVElPTiwgInVua25vd24iIH0sCit9OworCitjb25zdCBjaGFyICp1 dGlsX2xvb2t1cF9jb25uZWN0b3Jfc3RhdHVzX25hbWUodW5zaWduZWQgaW50IHN0YXR1cykKK3sK KwlyZXR1cm4gdXRpbF9sb29rdXBfdHlwZV9uYW1lKHN0YXR1cywgY29ubmVjdG9yX3N0YXR1c19u YW1lcywKKwkJCQkgICAgIEFSUkFZX1NJWkUoY29ubmVjdG9yX3N0YXR1c19uYW1lcykpOworfQor CitzdGF0aWMgY29uc3Qgc3RydWN0IHR5cGVfbmFtZSBjb25uZWN0b3JfdHlwZV9uYW1lc1tdID0g eworCXsgRFJNX01PREVfQ09OTkVDVE9SX1Vua25vd24sICJ1bmtub3duIiB9LAorCXsgRFJNX01P REVfQ09OTkVDVE9SX1ZHQSwgIlZHQSIgfSwKKwl7IERSTV9NT0RFX0NPTk5FQ1RPUl9EVklJLCAi RFZJLUkiIH0sCisJeyBEUk1fTU9ERV9DT05ORUNUT1JfRFZJRCwgIkRWSS1EIiB9LAorCXsgRFJN X01PREVfQ09OTkVDVE9SX0RWSUEsICJEVkktQSIgfSwKKwl7IERSTV9NT0RFX0NPTk5FQ1RPUl9D b21wb3NpdGUsICJjb21wb3NpdGUiIH0sCisJeyBEUk1fTU9ERV9DT05ORUNUT1JfU1ZJREVPLCAi cy12aWRlbyIgfSwKKwl7IERSTV9NT0RFX0NPTk5FQ1RPUl9MVkRTLCAiTFZEUyIgfSwKKwl7IERS TV9NT0RFX0NPTk5FQ1RPUl9Db21wb25lbnQsICJjb21wb25lbnQiIH0sCisJeyBEUk1fTU9ERV9D T05ORUNUT1JfOVBpbkRJTiwgIjktcGluIERJTiIgfSwKKwl7IERSTV9NT0RFX0NPTk5FQ1RPUl9E aXNwbGF5UG9ydCwgIkRQIiB9LAorCXsgRFJNX01PREVfQ09OTkVDVE9SX0hETUlBLCAiSERNSS1B IiB9LAorCXsgRFJNX01PREVfQ09OTkVDVE9SX0hETUlCLCAiSERNSS1CIiB9LAorCXsgRFJNX01P REVfQ09OTkVDVE9SX1RWLCAiVFYiIH0sCisJeyBEUk1fTU9ERV9DT05ORUNUT1JfZURQLCAiZURQ IiB9LAorCXsgRFJNX01PREVfQ09OTkVDVE9SX1ZJUlRVQUwsICJWaXJ0dWFsIiB9LAorCXsgRFJN X01PREVfQ09OTkVDVE9SX0RTSSwgIkRTSSIgfSwKK307CisKK2NvbnN0IGNoYXIgKnV0aWxfbG9v a3VwX2Nvbm5lY3Rvcl90eXBlX25hbWUodW5zaWduZWQgaW50IHR5cGUpCit7CisJcmV0dXJuIHV0 aWxfbG9va3VwX3R5cGVfbmFtZSh0eXBlLCBjb25uZWN0b3JfdHlwZV9uYW1lcywKKwkJCQkgICAg IEFSUkFZX1NJWkUoY29ubmVjdG9yX3R5cGVfbmFtZXMpKTsKK30KZGlmZiAtLWdpdCBhL3Rlc3Rz L3V0aWwva21zLmggYi90ZXN0cy91dGlsL2ttcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwMC4uZmE5YWI2OTk4M2FjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdXRp bC9rbXMuaApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IDIwMDggVHVuZ3N0ZW4g R3JhcGhpY3MKKyAqICAgSmFrb2IgQm9ybmVjcmFudHogPGpha29iQHR1bmdzdGVuZ3JhcGhpY3Mu Y29tPgorICogQ29weXJpZ2h0IDIwMDggSW50ZWwgQ29ycG9yYXRpb24KKyAqICAgSmVzc2UgQmFy bmVzIDxqZXNzZS5iYXJuZXNAaW50ZWwuY29tPgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5 IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBj b3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAo dGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0 cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1 c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us CisgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBl cnNvbnMgdG8gd2hvbSB0aGUKKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3Vi amVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHly aWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQg aW4KKyAqIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJl LgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJB TlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5P VCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVW RU5UIFNIQUxMIFRIRQorICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUg Rk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorICogTElBQklMSVRZLCBXSEVUSEVSIElO IEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKKyAqIEZS T00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0Ug T1IgT1RIRVIgREVBTElOR1MKKyAqIElOIFRIRSBTT0ZUV0FSRS4KKyAqLworCisjaWZuZGVmIFVU SUxfS01TX0gKKyNkZWZpbmUgVVRJTF9LTVNfSAorCitjb25zdCBjaGFyICp1dGlsX2xvb2t1cF9l bmNvZGVyX3R5cGVfbmFtZSh1bnNpZ25lZCBpbnQgdHlwZSk7Citjb25zdCBjaGFyICp1dGlsX2xv b2t1cF9jb25uZWN0b3Jfc3RhdHVzX25hbWUodW5zaWduZWQgaW50IHR5cGUpOworY29uc3QgY2hh ciAqdXRpbF9sb29rdXBfY29ubmVjdG9yX3R5cGVfbmFtZSh1bnNpZ25lZCBpbnQgdHlwZSk7CisK KyNlbmRpZiAvKiBVVElMX0tNU19IICovCi0tIAoyLjEuMwoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9kcmktZGV2ZWwK