From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 6C80B1B6A6 for ; Thu, 10 May 2018 10:15:30 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 May 2018 01:15:30 -0700 Message-Id: <0590c7$1k5cco@orsmga001.jf.intel.com> Date: 10 May 2018 01:15:28 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,384,1520924400"; d="scan'208";a="54702494" Received: from unknown (HELO [127.0.1.1]) ([10.240.176.154]) by orsmga001.jf.intel.com with ESMTP; 10 May 2018 01:15:28 -0700 Content-Type: multipart/alternative; boundary="===============4969871624536918792==" MIME-Version: 1.0 From: sys_stv@intel.com To: test-report@dpdk.org Cc: xinfengx.zhao@intel.com, zhaoyan.chen@intel.com, peipeix.lu@intel.com Subject: [dpdk-test-report] |FAILURE| pw37593[dpdk-dev, v4, 50/70] eal: replace memzone array with fbarray X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 May 2018 08:15:31 -0000 --===============4969871624536918792== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogSW50ZWwtY29tcGlsYXRpb24KVGVzdC1TdGF0dXM6IEZBSUxVUkUKaHR0cDov L2RwZGsub3JnL3BhdGNoLzM3NTkzCgpfYXBwbHkgaXNzdWVzXwoKU3VibWl0dGVyOiBBbmF0b2x5 IEJ1cmFrb3YgPGFuYXRvbHkuYnVyYWtvdkBpbnRlbC5jb20+CkRhdGU6IDIwMTgtMDQtMDggMjA6 MTg6MjMKRFBESyBnaXQgYmFzZWxpbmU6CglSZXBvOmRwZGstbWFzdGVyLCBDb21taXRJRDogOGVh NDE0Mzg4MzJhMzYwYWVkMmI3YmE0OWZiNzVlMzEwYTJmZjFkYwoJUmVwbzpkcGRrLW5leHQtZXZl bnRkZXYsIENvbW1pdElEOiA2NDBiMGQxZTUxMGUxMTE2OTRjMjUxNDU0NjZmMzc4Njc0NTM4Mzdm CglSZXBvOmRwZGstbmV4dC1uZXQsIENvbW1pdElEOiA3NzRjMTg5MmM0MzRkYmEwOTk5OGNjYzc2 Yjk1NmZlYjcyMjI0NTcxCglSZXBvOmRwZGstbmV4dC1jcnlwdG8sIENvbW1pdElEOiA3MjhjYTli MGQ1YWJlYTgyY2QwMWRlZTY2NDU0NTZhOWQ1NjIxNWY3CglSZXBvOmRwZGstbmV4dC12aXJ0aW8s IENvbW1pdElEOiAwMzdjMDk5NmJjOTI3MzQyZjE1NzQyNjczOWUwY2I2M2YyZGI4Njg5CgoqUmVw bzogZHBkay1tYXN0ZXIKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvZW5hL01ha2VmaWxlLi4u CmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgpFWFBPUlRfTUFQIDo9IHJ0ZV9wbWRfZW5hX3Zl cnNpb24ubWFwCkxJQkFCSVZFUiA6PSAxCgpWUEFUSCArPSAkKFNSQ0RJUikvYmFzZQojCiMgYWxs IHNvdXJjZSBhcmUgc3RvcmVkIGluIFNSQ1MteQoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVy cy9uZXQvZW5hL01ha2VmaWxlOjQzCmVycm9yOiBkcml2ZXJzL25ldC9lbmEvTWFrZWZpbGU6IHBh dGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L2VuYS9lbmFfZXRo ZGV2LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CnN0YXRpYyBpbmxpbmUgaW50IGVu YV9jcHVfdG9fbm9kZShpbnQgY3B1KQp7CglzdHJ1Y3QgcnRlX2NvbmZpZyAqY29uZmlnID0gcnRl X2VhbF9nZXRfY29uZmlndXJhdGlvbigpOwoKCWlmIChsaWtlbHkoY3B1IDwgUlRFX01BWF9NRU1a T05FKSkKLS0KCXJldHVybiBOVU1BX05PX05PREU7Cn0KCnN0YXRpYyBpbmxpbmUgdm9pZCBlbmFf cnhfbWJ1Zl9wcmVwYXJlKHN0cnVjdCBydGVfbWJ1ZiAqbWJ1ZiwKCmVycm9yOiBwYXRjaCBmYWls ZWQ6IGRyaXZlcnMvbmV0L2VuYS9lbmFfZXRoZGV2LmM6MjY0CmVycm9yOiBkcml2ZXJzL25ldC9l bmEvZW5hX2V0aGRldi5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBsaWIv bGlicnRlX2VhbC9ic2RhcHAvZWFsL2VhbC5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9y OgoJCX0KCX0KCglpZiAocnRlX2VhbF9tZW1vcnlfaW5pdCgpIDwgMCkgewoJCXJ0ZV9lYWxfaW5p dF9hbGVydCgiQ2Fubm90IGluaXQgbWVtb3J5XG4iKTsKLS0KCQlydGVfZWFsX2luaXRfYWxlcnQo IkNhbm5vdCBpbml0IG1lbXpvbmVcbiIpOwoJCXJ0ZV9lcnJubyA9IEVOT0RFVjsKCQlyZXR1cm4g LTE7Cgl9CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBsaWIvbGlicnRlX2VhbC9ic2RhcHAvZWFsL2Vh bC5jOjU5OQplcnJvcjogbGliL2xpYnJ0ZV9lYWwvYnNkYXBwL2VhbC9lYWwuYzogcGF0Y2ggZG9l cyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21t b25fbWVtem9uZS5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgpzdGF0aWMgaW5saW5l IGNvbnN0IHN0cnVjdCBydGVfbWVtem9uZSAqCm1lbXpvbmVfbG9va3VwX3RocmVhZF91bnNhZmUo Y29uc3QgY2hhciAqbmFtZSkKewoJY29uc3Qgc3RydWN0IHJ0ZV9tZW1fY29uZmlnICptY2ZnOwoJ Y29uc3Qgc3RydWN0IHJ0ZV9tZW16b25lICptejsKLS0KfQoKLyogVGhpcyBmdW5jdGlvbiB3aWxs IHJldHVybiB0aGUgZ3JlYXRlc3QgZnJlZSBibG9jayBpZiBhIGhlYXAgaGFzIGJlZW4KICogc3Bl Y2lmaWVkLiBJZiBubyBoZWFwIGhhcyBiZWVuIHNwZWNpZmllZCwgaXQgd2lsbCByZXR1cm4gdGhl IGhlYXAgYW5kCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBsaWIvbGlicnRlX2VhbC9jb21tb24vZWFs X2NvbW1vbl9tZW16b25lLmM6MjgKZXJyb3I6IGxpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29t bW9uX21lbXpvbmUuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggbGliL2xp YnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvcnRlX2VhbF9tZW1jb25maWcuaC4uLgplcnJvcjogd2hp bGUgc2VhcmNoaW5nIGZvcjoKCXJ0ZV9yd2xvY2tfdCBxbG9jazsgICAvKio8IHVzZWQgZm9yIHRh aWxxIG9wZXJhdGlvbiBmb3IgdGhyZWFkIHNhZmUuICovCglydGVfcndsb2NrX3QgbXBsb2NrOyAg LyoqPCBvbmx5IHVzZWQgYnkgbWVtcG9vbCBMSUIgZm9yIHRocmVhZC1zYWZlLiAqLwoKCXVpbnQz Ml90IG1lbXpvbmVfY250OyAvKio8IE51bWJlciBvZiBhbGxvY2F0ZWQgbWVtem9uZXMgKi8KCi0t CglzdHJ1Y3QgcnRlX21lbXpvbmUgbWVtem9uZVtSVEVfTUFYX01FTVpPTkVdOyAvKio8IE1lbXpv bmUgZGVzY3JpcHRvcnMuICovCgoJc3RydWN0IHJ0ZV9tZW1zZWdfbGlzdCBtZW1zZWdzW1JURV9N QVhfTUVNU0VHX0xJU1RTXTsKCS8qKjwgbGlzdCBvZiBkeW5hbWljIGFycmF5cyBob2xkaW5nIG1l bXNlZ3MgKi8KCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGxpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNs dWRlL3J0ZV9lYWxfbWVtY29uZmlnLmg6NTgKZXJyb3I6IGxpYi9saWJydGVfZWFsL2NvbW1vbi9p bmNsdWRlL3J0ZV9lYWxfbWVtY29uZmlnLmg6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5n IHBhdGNoIGxpYi9saWJydGVfZWFsL2NvbW1vbi9tYWxsb2NfaGVhcC5jLi4uCmVycm9yOiB3aGls ZSBzZWFyY2hpbmcgZm9yOgoJaWYgKG1jZmcgPT0gTlVMTCkKCQlyZXR1cm4gLTE7CgoJLyogYWRk IGFsbCBJT1ZBLWNvbnRpZ3VvdXMgYXJlYXMgdG8gdGhlIGhlYXAgKi8KCXJldHVybiBydGVfbWVt c2VnX2NvbnRpZ193YWxrKG1hbGxvY19hZGRfc2VnLCBOVUxMKTsKfQoKZXJyb3I6IHBhdGNoIGZh aWxlZDogbGliL2xpYnJ0ZV9lYWwvY29tbW9uL21hbGxvY19oZWFwLmM6Mjc4CmVycm9yOiBsaWIv bGlicnRlX2VhbC9jb21tb24vbWFsbG9jX2hlYXAuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hl Y2tpbmcgcGF0Y2ggbGliL2xpYnJ0ZV9lYWwvbGludXhhcHAvZWFsL2VhbC5jLi4uCmVycm9yOiB3 aGlsZSBzZWFyY2hpbmcgZm9yOgoJCXJldHVybiAtMTsKCX0KI2VuZGlmCgoJaWYgKHJ0ZV9lYWxf bWVtb3J5X2luaXQoKSA8IDApIHsKCQlydGVfZWFsX2luaXRfYWxlcnQoIkNhbm5vdCBpbml0IG1l bW9yeVxuIik7CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBsaWIvbGlicnRlX2VhbC9saW51eGFwcC9l YWwvZWFsLmM6ODU4CmVycm9yOiBsaWIvbGlicnRlX2VhbC9saW51eGFwcC9lYWwvZWFsLmM6IHBh dGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIHRlc3QvdGVzdC90ZXN0X21lbXpvbmUu Yy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCWNvbnN0IHN0cnVjdCBydGVfbWVtem9u ZSAqbXo7CglpbnQgbWVtem9uZV9jbnRfYWZ0ZXIsIG1lbXpvbmVfY250X2V4cGVjdGVkOwoJaW50 IG1lbXpvbmVfY250X2JlZm9yZSA9CgkJCXJ0ZV9lYWxfZ2V0X2NvbmZpZ3VyYXRpb24oKS0+bWVt X2NvbmZpZy0+bWVtem9uZV9jbnQ7CgoJbWVtem9uZTEgPSBydGVfbWVtem9uZV9yZXNlcnZlKFRF U1RfTUVNWk9ORV9OQU1FKCJ0ZXN0em9uZTEiKSwgMTAwLAoJCQkJU09DS0VUX0lEX0FOWSwgMCk7 CgplcnJvcjogcGF0Y2ggZmFpbGVkOiB0ZXN0L3Rlc3QvdGVzdF9tZW16b25lLmM6OTA5CmVycm9y OiB0ZXN0L3Rlc3QvdGVzdF9tZW16b25lLmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CipSZXBvOiBk cGRrLW5leHQtZXZlbnRkZXYKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvZW5hL01ha2VmaWxl Li4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgpFWFBPUlRfTUFQIDo9IHJ0ZV9wbWRfZW5h X3ZlcnNpb24ubWFwCkxJQkFCSVZFUiA6PSAxCgpWUEFUSCArPSAkKFNSQ0RJUikvYmFzZQojCiMg YWxsIHNvdXJjZSBhcmUgc3RvcmVkIGluIFNSQ1MteQoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJp dmVycy9uZXQvZW5hL01ha2VmaWxlOjQzCmVycm9yOiBkcml2ZXJzL25ldC9lbmEvTWFrZWZpbGU6 IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L2VuYS9lbmFf ZXRoZGV2LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CnN0YXRpYyBpbmxpbmUgaW50 IGVuYV9jcHVfdG9fbm9kZShpbnQgY3B1KQp7CglzdHJ1Y3QgcnRlX2NvbmZpZyAqY29uZmlnID0g cnRlX2VhbF9nZXRfY29uZmlndXJhdGlvbigpOwoKCWlmIChsaWtlbHkoY3B1IDwgUlRFX01BWF9N RU1aT05FKSkKLS0KCXJldHVybiBOVU1BX05PX05PREU7Cn0KCnN0YXRpYyBpbmxpbmUgdm9pZCBl bmFfcnhfbWJ1Zl9wcmVwYXJlKHN0cnVjdCBydGVfbWJ1ZiAqbWJ1ZiwKCmVycm9yOiBwYXRjaCBm YWlsZWQ6IGRyaXZlcnMvbmV0L2VuYS9lbmFfZXRoZGV2LmM6MjY0CmVycm9yOiBkcml2ZXJzL25l dC9lbmEvZW5hX2V0aGRldi5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBs aWIvbGlicnRlX2VhbC9ic2RhcHAvZWFsL2VhbC5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcg Zm9yOgoJCX0KCX0KCglpZiAocnRlX2VhbF9tZW1vcnlfaW5pdCgpIDwgMCkgewoJCXJ0ZV9lYWxf aW5pdF9hbGVydCgiQ2Fubm90IGluaXQgbWVtb3J5XG4iKTsKLS0KCQlydGVfZWFsX2luaXRfYWxl cnQoIkNhbm5vdCBpbml0IG1lbXpvbmVcbiIpOwoJCXJ0ZV9lcnJubyA9IEVOT0RFVjsKCQlyZXR1 cm4gLTE7Cgl9CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBsaWIvbGlicnRlX2VhbC9ic2RhcHAvZWFs L2VhbC5jOjU5OQplcnJvcjogbGliL2xpYnJ0ZV9lYWwvYnNkYXBwL2VhbC9lYWwuYzogcGF0Y2gg ZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9j b21tb25fbWVtem9uZS5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgpzdGF0aWMgaW5s aW5lIGNvbnN0IHN0cnVjdCBydGVfbWVtem9uZSAqCm1lbXpvbmVfbG9va3VwX3RocmVhZF91bnNh ZmUoY29uc3QgY2hhciAqbmFtZSkKewoJY29uc3Qgc3RydWN0IHJ0ZV9tZW1fY29uZmlnICptY2Zn OwoJY29uc3Qgc3RydWN0IHJ0ZV9tZW16b25lICptejsKLS0KfQoKLyogVGhpcyBmdW5jdGlvbiB3 aWxsIHJldHVybiB0aGUgZ3JlYXRlc3QgZnJlZSBibG9jayBpZiBhIGhlYXAgaGFzIGJlZW4KICog c3BlY2lmaWVkLiBJZiBubyBoZWFwIGhhcyBiZWVuIHNwZWNpZmllZCwgaXQgd2lsbCByZXR1cm4g dGhlIGhlYXAgYW5kCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBsaWIvbGlicnRlX2VhbC9jb21tb24v ZWFsX2NvbW1vbl9tZW16b25lLmM6MjgKZXJyb3I6IGxpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxf Y29tbW9uX21lbXpvbmUuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggbGli L2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvcnRlX2VhbF9tZW1jb25maWcuaC4uLgplcnJvcjog d2hpbGUgc2VhcmNoaW5nIGZvcjoKCXJ0ZV9yd2xvY2tfdCBxbG9jazsgICAvKio8IHVzZWQgZm9y IHRhaWxxIG9wZXJhdGlvbiBmb3IgdGhyZWFkIHNhZmUuICovCglydGVfcndsb2NrX3QgbXBsb2Nr OyAgLyoqPCBvbmx5IHVzZWQgYnkgbWVtcG9vbCBMSUIgZm9yIHRocmVhZC1zYWZlLiAqLwoKCXVp bnQzMl90IG1lbXpvbmVfY250OyAvKio8IE51bWJlciBvZiBhbGxvY2F0ZWQgbWVtem9uZXMgKi8K Ci0tCglzdHJ1Y3QgcnRlX21lbXpvbmUgbWVtem9uZVtSVEVfTUFYX01FTVpPTkVdOyAvKio8IE1l bXpvbmUgZGVzY3JpcHRvcnMuICovCgoJc3RydWN0IHJ0ZV9tZW1zZWdfbGlzdCBtZW1zZWdzW1JU RV9NQVhfTUVNU0VHX0xJU1RTXTsKCS8qKjwgbGlzdCBvZiBkeW5hbWljIGFycmF5cyBob2xkaW5n IG1lbXNlZ3MgKi8KCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGxpYi9saWJydGVfZWFsL2NvbW1vbi9p bmNsdWRlL3J0ZV9lYWxfbWVtY29uZmlnLmg6NTgKZXJyb3I6IGxpYi9saWJydGVfZWFsL2NvbW1v bi9pbmNsdWRlL3J0ZV9lYWxfbWVtY29uZmlnLmg6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNr aW5nIHBhdGNoIGxpYi9saWJydGVfZWFsL2NvbW1vbi9tYWxsb2NfaGVhcC5jLi4uCmVycm9yOiB3 aGlsZSBzZWFyY2hpbmcgZm9yOgoJaWYgKG1jZmcgPT0gTlVMTCkKCQlyZXR1cm4gLTE7CgoJLyog YWRkIGFsbCBJT1ZBLWNvbnRpZ3VvdXMgYXJlYXMgdG8gdGhlIGhlYXAgKi8KCXJldHVybiBydGVf bWVtc2VnX2NvbnRpZ193YWxrKG1hbGxvY19hZGRfc2VnLCBOVUxMKTsKfQoKZXJyb3I6IHBhdGNo IGZhaWxlZDogbGliL2xpYnJ0ZV9lYWwvY29tbW9uL21hbGxvY19oZWFwLmM6Mjc4CmVycm9yOiBs aWIvbGlicnRlX2VhbC9jb21tb24vbWFsbG9jX2hlYXAuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkK Q2hlY2tpbmcgcGF0Y2ggbGliL2xpYnJ0ZV9lYWwvbGludXhhcHAvZWFsL2VhbC5jLi4uCmVycm9y OiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJCXJldHVybiAtMTsKCX0KI2VuZGlmCgoJaWYgKHJ0ZV9l YWxfbWVtb3J5X2luaXQoKSA8IDApIHsKCQlydGVfZWFsX2luaXRfYWxlcnQoIkNhbm5vdCBpbml0 IG1lbW9yeVxuIik7CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBsaWIvbGlicnRlX2VhbC9saW51eGFw cC9lYWwvZWFsLmM6ODU4CmVycm9yOiBsaWIvbGlicnRlX2VhbC9saW51eGFwcC9lYWwvZWFsLmM6 IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIHRlc3QvdGVzdC90ZXN0X21lbXpv bmUuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCWNvbnN0IHN0cnVjdCBydGVfbWVt em9uZSAqbXo7CglpbnQgbWVtem9uZV9jbnRfYWZ0ZXIsIG1lbXpvbmVfY250X2V4cGVjdGVkOwoJ aW50IG1lbXpvbmVfY250X2JlZm9yZSA9CgkJCXJ0ZV9lYWxfZ2V0X2NvbmZpZ3VyYXRpb24oKS0+ bWVtX2NvbmZpZy0+bWVtem9uZV9jbnQ7CgoJbWVtem9uZTEgPSBydGVfbWVtem9uZV9yZXNlcnZl KFRFU1RfTUVNWk9ORV9OQU1FKCJ0ZXN0em9uZTEiKSwgMTAwLAoJCQkJU09DS0VUX0lEX0FOWSwg MCk7CgplcnJvcjogcGF0Y2ggZmFpbGVkOiB0ZXN0L3Rlc3QvdGVzdF9tZW16b25lLmM6OTA5CmVy cm9yOiB0ZXN0L3Rlc3QvdGVzdF9tZW16b25lLmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CipSZXBv OiBkcGRrLW5leHQtbmV0CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L2VuYS9NYWtlZmlsZS4u LgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKRVhQT1JUX01BUCA6PSBydGVfcG1kX2VuYV92 ZXJzaW9uLm1hcApMSUJBQklWRVIgOj0gMQoKVlBBVEggKz0gJChTUkNESVIpL2Jhc2UKIwojIGFs bCBzb3VyY2UgYXJlIHN0b3JlZCBpbiBTUkNTLXkKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZl cnMvbmV0L2VuYS9NYWtlZmlsZTo0MwplcnJvcjogZHJpdmVycy9uZXQvZW5hL01ha2VmaWxlOiBw YXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9lbmEvZW5hX2V0 aGRldi5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgpzdGF0aWMgaW5saW5lIGludCBl bmFfY3B1X3RvX25vZGUoaW50IGNwdSkKewoJc3RydWN0IHJ0ZV9jb25maWcgKmNvbmZpZyA9IHJ0 ZV9lYWxfZ2V0X2NvbmZpZ3VyYXRpb24oKTsKCglpZiAobGlrZWx5KGNwdSA8IFJURV9NQVhfTUVN Wk9ORSkpCi0tCglyZXR1cm4gTlVNQV9OT19OT0RFOwp9CgpzdGF0aWMgaW5saW5lIHZvaWQgZW5h X3J4X21idWZfcHJlcGFyZShzdHJ1Y3QgcnRlX21idWYgKm1idWYsCgplcnJvcjogcGF0Y2ggZmFp bGVkOiBkcml2ZXJzL25ldC9lbmEvZW5hX2V0aGRldi5jOjI2NAplcnJvcjogZHJpdmVycy9uZXQv ZW5hL2VuYV9ldGhkZXYuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggbGli L2xpYnJ0ZV9lYWwvYnNkYXBwL2VhbC9lYWwuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZv cjoKCQl9Cgl9CgoJaWYgKHJ0ZV9lYWxfbWVtb3J5X2luaXQoKSA8IDApIHsKCQlydGVfZWFsX2lu aXRfYWxlcnQoIkNhbm5vdCBpbml0IG1lbW9yeVxuIik7Ci0tCgkJcnRlX2VhbF9pbml0X2FsZXJ0 KCJDYW5ub3QgaW5pdCBtZW16b25lXG4iKTsKCQlydGVfZXJybm8gPSBFTk9ERVY7CgkJcmV0dXJu IC0xOwoJfQoKZXJyb3I6IHBhdGNoIGZhaWxlZDogbGliL2xpYnJ0ZV9lYWwvYnNkYXBwL2VhbC9l YWwuYzo1OTkKZXJyb3I6IGxpYi9saWJydGVfZWFsL2JzZGFwcC9lYWwvZWFsLmM6IHBhdGNoIGRv ZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGxpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29t bW9uX21lbXpvbmUuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKc3RhdGljIGlubGlu ZSBjb25zdCBzdHJ1Y3QgcnRlX21lbXpvbmUgKgptZW16b25lX2xvb2t1cF90aHJlYWRfdW5zYWZl KGNvbnN0IGNoYXIgKm5hbWUpCnsKCWNvbnN0IHN0cnVjdCBydGVfbWVtX2NvbmZpZyAqbWNmZzsK CWNvbnN0IHN0cnVjdCBydGVfbWVtem9uZSAqbXo7Ci0tCn0KCi8qIFRoaXMgZnVuY3Rpb24gd2ls bCByZXR1cm4gdGhlIGdyZWF0ZXN0IGZyZWUgYmxvY2sgaWYgYSBoZWFwIGhhcyBiZWVuCiAqIHNw ZWNpZmllZC4gSWYgbm8gaGVhcCBoYXMgYmVlbiBzcGVjaWZpZWQsIGl0IHdpbGwgcmV0dXJuIHRo ZSBoZWFwIGFuZAoKZXJyb3I6IHBhdGNoIGZhaWxlZDogbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2Vh bF9jb21tb25fbWVtem9uZS5jOjI4CmVycm9yOiBsaWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2Nv bW1vbl9tZW16b25lLmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGxpYi9s aWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL3J0ZV9lYWxfbWVtY29uZmlnLmguLi4KZXJyb3I6IHdo aWxlIHNlYXJjaGluZyBmb3I6CglydGVfcndsb2NrX3QgcWxvY2s7ICAgLyoqPCB1c2VkIGZvciB0 YWlscSBvcGVyYXRpb24gZm9yIHRocmVhZCBzYWZlLiAqLwoJcnRlX3J3bG9ja190IG1wbG9jazsg IC8qKjwgb25seSB1c2VkIGJ5IG1lbXBvb2wgTElCIGZvciB0aHJlYWQtc2FmZS4gKi8KCgl1aW50 MzJfdCBtZW16b25lX2NudDsgLyoqPCBOdW1iZXIgb2YgYWxsb2NhdGVkIG1lbXpvbmVzICovCgot LQoJc3RydWN0IHJ0ZV9tZW16b25lIG1lbXpvbmVbUlRFX01BWF9NRU1aT05FXTsgLyoqPCBNZW16 b25lIGRlc2NyaXB0b3JzLiAqLwoKCXN0cnVjdCBydGVfbWVtc2VnX2xpc3QgbWVtc2Vnc1tSVEVf TUFYX01FTVNFR19MSVNUU107CgkvKio8IGxpc3Qgb2YgZHluYW1pYyBhcnJheXMgaG9sZGluZyBt ZW1zZWdzICovCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBsaWIvbGlicnRlX2VhbC9jb21tb24vaW5j bHVkZS9ydGVfZWFsX21lbWNvbmZpZy5oOjU4CmVycm9yOiBsaWIvbGlicnRlX2VhbC9jb21tb24v aW5jbHVkZS9ydGVfZWFsX21lbWNvbmZpZy5oOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2lu ZyBwYXRjaCBsaWIvbGlicnRlX2VhbC9jb21tb24vbWFsbG9jX2hlYXAuYy4uLgplcnJvcjogd2hp bGUgc2VhcmNoaW5nIGZvcjoKCWlmIChtY2ZnID09IE5VTEwpCgkJcmV0dXJuIC0xOwoKCS8qIGFk ZCBhbGwgSU9WQS1jb250aWd1b3VzIGFyZWFzIHRvIHRoZSBoZWFwICovCglyZXR1cm4gcnRlX21l bXNlZ19jb250aWdfd2FsayhtYWxsb2NfYWRkX3NlZywgTlVMTCk7Cn0KCmVycm9yOiBwYXRjaCBm YWlsZWQ6IGxpYi9saWJydGVfZWFsL2NvbW1vbi9tYWxsb2NfaGVhcC5jOjI3OAplcnJvcjogbGli L2xpYnJ0ZV9lYWwvY29tbW9uL21hbGxvY19oZWFwLmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNo ZWNraW5nIHBhdGNoIGxpYi9saWJydGVfZWFsL2xpbnV4YXBwL2VhbC9lYWwuYy4uLgplcnJvcjog d2hpbGUgc2VhcmNoaW5nIGZvcjoKCQlyZXR1cm4gLTE7Cgl9CiNlbmRpZgoKCWlmIChydGVfZWFs X21lbW9yeV9pbml0KCkgPCAwKSB7CgkJcnRlX2VhbF9pbml0X2FsZXJ0KCJDYW5ub3QgaW5pdCBt ZW1vcnlcbiIpOwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogbGliL2xpYnJ0ZV9lYWwvbGludXhhcHAv ZWFsL2VhbC5jOjg1OAplcnJvcjogbGliL2xpYnJ0ZV9lYWwvbGludXhhcHAvZWFsL2VhbC5jOiBw YXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCB0ZXN0L3Rlc3QvdGVzdF9tZW16b25l LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6Cgljb25zdCBzdHJ1Y3QgcnRlX21lbXpv bmUgKm16OwoJaW50IG1lbXpvbmVfY250X2FmdGVyLCBtZW16b25lX2NudF9leHBlY3RlZDsKCWlu dCBtZW16b25lX2NudF9iZWZvcmUgPQoJCQlydGVfZWFsX2dldF9jb25maWd1cmF0aW9uKCktPm1l bV9jb25maWctPm1lbXpvbmVfY250OwoKCW1lbXpvbmUxID0gcnRlX21lbXpvbmVfcmVzZXJ2ZShU RVNUX01FTVpPTkVfTkFNRSgidGVzdHpvbmUxIiksIDEwMCwKCQkJCVNPQ0tFVF9JRF9BTlksIDAp OwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogdGVzdC90ZXN0L3Rlc3RfbWVtem9uZS5jOjkwOQplcnJv cjogdGVzdC90ZXN0L3Rlc3RfbWVtem9uZS5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQoqUmVwbzog ZHBkay1uZXh0LWNyeXB0bwpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9lbmEvTWFrZWZpbGUu Li4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CkVYUE9SVF9NQVAgOj0gcnRlX3BtZF9lbmFf dmVyc2lvbi5tYXAKTElCQUJJVkVSIDo9IDEKClZQQVRIICs9ICQoU1JDRElSKS9iYXNlCiMKIyBh bGwgc291cmNlIGFyZSBzdG9yZWQgaW4gU1JDUy15CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2 ZXJzL25ldC9lbmEvTWFrZWZpbGU6NDMKZXJyb3I6IGRyaXZlcnMvbmV0L2VuYS9NYWtlZmlsZTog cGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvZW5hL2VuYV9l dGhkZXYuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKc3RhdGljIGlubGluZSBpbnQg ZW5hX2NwdV90b19ub2RlKGludCBjcHUpCnsKCXN0cnVjdCBydGVfY29uZmlnICpjb25maWcgPSBy dGVfZWFsX2dldF9jb25maWd1cmF0aW9uKCk7CgoJaWYgKGxpa2VseShjcHUgPCBSVEVfTUFYX01F TVpPTkUpKQotLQoJcmV0dXJuIE5VTUFfTk9fTk9ERTsKfQoKc3RhdGljIGlubGluZSB2b2lkIGVu YV9yeF9tYnVmX3ByZXBhcmUoc3RydWN0IHJ0ZV9tYnVmICptYnVmLAoKZXJyb3I6IHBhdGNoIGZh aWxlZDogZHJpdmVycy9uZXQvZW5hL2VuYV9ldGhkZXYuYzoyNjQKZXJyb3I6IGRyaXZlcnMvbmV0 L2VuYS9lbmFfZXRoZGV2LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGxp Yi9saWJydGVfZWFsL2JzZGFwcC9lYWwvZWFsLmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBm b3I6CgkJfQoJfQoKCWlmIChydGVfZWFsX21lbW9yeV9pbml0KCkgPCAwKSB7CgkJcnRlX2VhbF9p bml0X2FsZXJ0KCJDYW5ub3QgaW5pdCBtZW1vcnlcbiIpOwotLQoJCXJ0ZV9lYWxfaW5pdF9hbGVy dCgiQ2Fubm90IGluaXQgbWVtem9uZVxuIik7CgkJcnRlX2Vycm5vID0gRU5PREVWOwoJCXJldHVy biAtMTsKCX0KCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGxpYi9saWJydGVfZWFsL2JzZGFwcC9lYWwv ZWFsLmM6NTk5CmVycm9yOiBsaWIvbGlicnRlX2VhbC9ic2RhcHAvZWFsL2VhbC5jOiBwYXRjaCBk b2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBsaWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2Nv bW1vbl9tZW16b25lLmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CnN0YXRpYyBpbmxp bmUgY29uc3Qgc3RydWN0IHJ0ZV9tZW16b25lICoKbWVtem9uZV9sb29rdXBfdGhyZWFkX3Vuc2Fm ZShjb25zdCBjaGFyICpuYW1lKQp7Cgljb25zdCBzdHJ1Y3QgcnRlX21lbV9jb25maWcgKm1jZmc7 Cgljb25zdCBzdHJ1Y3QgcnRlX21lbXpvbmUgKm16OwotLQp9CgovKiBUaGlzIGZ1bmN0aW9uIHdp bGwgcmV0dXJuIHRoZSBncmVhdGVzdCBmcmVlIGJsb2NrIGlmIGEgaGVhcCBoYXMgYmVlbgogKiBz cGVjaWZpZWQuIElmIG5vIGhlYXAgaGFzIGJlZW4gc3BlY2lmaWVkLCBpdCB3aWxsIHJldHVybiB0 aGUgaGVhcCBhbmQKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGxpYi9saWJydGVfZWFsL2NvbW1vbi9l YWxfY29tbW9uX21lbXpvbmUuYzoyOAplcnJvcjogbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9j b21tb25fbWVtem9uZS5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBsaWIv bGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9ydGVfZWFsX21lbWNvbmZpZy5oLi4uCmVycm9yOiB3 aGlsZSBzZWFyY2hpbmcgZm9yOgoJcnRlX3J3bG9ja190IHFsb2NrOyAgIC8qKjwgdXNlZCBmb3Ig dGFpbHEgb3BlcmF0aW9uIGZvciB0aHJlYWQgc2FmZS4gKi8KCXJ0ZV9yd2xvY2tfdCBtcGxvY2s7 ICAvKio8IG9ubHkgdXNlZCBieSBtZW1wb29sIExJQiBmb3IgdGhyZWFkLXNhZmUuICovCgoJdWlu dDMyX3QgbWVtem9uZV9jbnQ7IC8qKjwgTnVtYmVyIG9mIGFsbG9jYXRlZCBtZW16b25lcyAqLwoK LS0KCXN0cnVjdCBydGVfbWVtem9uZSBtZW16b25lW1JURV9NQVhfTUVNWk9ORV07IC8qKjwgTWVt em9uZSBkZXNjcmlwdG9ycy4gKi8KCglzdHJ1Y3QgcnRlX21lbXNlZ19saXN0IG1lbXNlZ3NbUlRF X01BWF9NRU1TRUdfTElTVFNdOwoJLyoqPCBsaXN0IG9mIGR5bmFtaWMgYXJyYXlzIGhvbGRpbmcg bWVtc2VncyAqLwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2lu Y2x1ZGUvcnRlX2VhbF9tZW1jb25maWcuaDo1OAplcnJvcjogbGliL2xpYnJ0ZV9lYWwvY29tbW9u L2luY2x1ZGUvcnRlX2VhbF9tZW1jb25maWcuaDogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tp bmcgcGF0Y2ggbGliL2xpYnJ0ZV9lYWwvY29tbW9uL21hbGxvY19oZWFwLmMuLi4KZXJyb3I6IHdo aWxlIHNlYXJjaGluZyBmb3I6CglpZiAobWNmZyA9PSBOVUxMKQoJCXJldHVybiAtMTsKCgkvKiBh ZGQgYWxsIElPVkEtY29udGlndW91cyBhcmVhcyB0byB0aGUgaGVhcCAqLwoJcmV0dXJuIHJ0ZV9t ZW1zZWdfY29udGlnX3dhbGsobWFsbG9jX2FkZF9zZWcsIE5VTEwpOwp9CgplcnJvcjogcGF0Y2gg ZmFpbGVkOiBsaWIvbGlicnRlX2VhbC9jb21tb24vbWFsbG9jX2hlYXAuYzoyNzgKZXJyb3I6IGxp Yi9saWJydGVfZWFsL2NvbW1vbi9tYWxsb2NfaGVhcC5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpD aGVja2luZyBwYXRjaCBsaWIvbGlicnRlX2VhbC9saW51eGFwcC9lYWwvZWFsLmMuLi4KZXJyb3I6 IHdoaWxlIHNlYXJjaGluZyBmb3I6CgkJcmV0dXJuIC0xOwoJfQojZW5kaWYKCglpZiAocnRlX2Vh bF9tZW1vcnlfaW5pdCgpIDwgMCkgewoJCXJ0ZV9lYWxfaW5pdF9hbGVydCgiQ2Fubm90IGluaXQg bWVtb3J5XG4iKTsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGxpYi9saWJydGVfZWFsL2xpbnV4YXBw L2VhbC9lYWwuYzo4NTgKZXJyb3I6IGxpYi9saWJydGVfZWFsL2xpbnV4YXBwL2VhbC9lYWwuYzog cGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggdGVzdC90ZXN0L3Rlc3RfbWVtem9u ZS5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJY29uc3Qgc3RydWN0IHJ0ZV9tZW16 b25lICptejsKCWludCBtZW16b25lX2NudF9hZnRlciwgbWVtem9uZV9jbnRfZXhwZWN0ZWQ7Cglp bnQgbWVtem9uZV9jbnRfYmVmb3JlID0KCQkJcnRlX2VhbF9nZXRfY29uZmlndXJhdGlvbigpLT5t ZW1fY29uZmlnLT5tZW16b25lX2NudDsKCgltZW16b25lMSA9IHJ0ZV9tZW16b25lX3Jlc2VydmUo VEVTVF9NRU1aT05FX05BTUUoInRlc3R6b25lMSIpLCAxMDAsCgkJCQlTT0NLRVRfSURfQU5ZLCAw KTsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IHRlc3QvdGVzdC90ZXN0X21lbXpvbmUuYzo5MDkKZXJy b3I6IHRlc3QvdGVzdC90ZXN0X21lbXpvbmUuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKKlJlcG86 IGRwZGstbmV4dC12aXJ0aW8KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvZW5hL01ha2VmaWxl Li4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgpFWFBPUlRfTUFQIDo9IHJ0ZV9wbWRfZW5h X3ZlcnNpb24ubWFwCkxJQkFCSVZFUiA6PSAxCgpWUEFUSCArPSAkKFNSQ0RJUikvYmFzZQojCiMg YWxsIHNvdXJjZSBhcmUgc3RvcmVkIGluIFNSQ1MteQoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJp dmVycy9uZXQvZW5hL01ha2VmaWxlOjQzCmVycm9yOiBkcml2ZXJzL25ldC9lbmEvTWFrZWZpbGU6 IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L2VuYS9lbmFf ZXRoZGV2LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CnN0YXRpYyBpbmxpbmUgaW50 IGVuYV9jcHVfdG9fbm9kZShpbnQgY3B1KQp7CglzdHJ1Y3QgcnRlX2NvbmZpZyAqY29uZmlnID0g cnRlX2VhbF9nZXRfY29uZmlndXJhdGlvbigpOwoKCWlmIChsaWtlbHkoY3B1IDwgUlRFX01BWF9N RU1aT05FKSkKLS0KCXJldHVybiBOVU1BX05PX05PREU7Cn0KCnN0YXRpYyBpbmxpbmUgdm9pZCBl bmFfcnhfbWJ1Zl9wcmVwYXJlKHN0cnVjdCBydGVfbWJ1ZiAqbWJ1ZiwKCmVycm9yOiBwYXRjaCBm YWlsZWQ6IGRyaXZlcnMvbmV0L2VuYS9lbmFfZXRoZGV2LmM6MjY0CmVycm9yOiBkcml2ZXJzL25l dC9lbmEvZW5hX2V0aGRldi5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBs aWIvbGlicnRlX2VhbC9ic2RhcHAvZWFsL2VhbC5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcg Zm9yOgoJCX0KCX0KCglpZiAocnRlX2VhbF9tZW1vcnlfaW5pdCgpIDwgMCkgewoJCXJ0ZV9lYWxf aW5pdF9hbGVydCgiQ2Fubm90IGluaXQgbWVtb3J5XG4iKTsKLS0KCQlydGVfZWFsX2luaXRfYWxl cnQoIkNhbm5vdCBpbml0IG1lbXpvbmVcbiIpOwoJCXJ0ZV9lcnJubyA9IEVOT0RFVjsKCQlyZXR1 cm4gLTE7Cgl9CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBsaWIvbGlicnRlX2VhbC9ic2RhcHAvZWFs L2VhbC5jOjU5OQplcnJvcjogbGliL2xpYnJ0ZV9lYWwvYnNkYXBwL2VhbC9lYWwuYzogcGF0Y2gg ZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9j b21tb25fbWVtem9uZS5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgpzdGF0aWMgaW5s aW5lIGNvbnN0IHN0cnVjdCBydGVfbWVtem9uZSAqCm1lbXpvbmVfbG9va3VwX3RocmVhZF91bnNh ZmUoY29uc3QgY2hhciAqbmFtZSkKewoJY29uc3Qgc3RydWN0IHJ0ZV9tZW1fY29uZmlnICptY2Zn OwoJY29uc3Qgc3RydWN0IHJ0ZV9tZW16b25lICptejsKLS0KfQoKLyogVGhpcyBmdW5jdGlvbiB3 aWxsIHJldHVybiB0aGUgZ3JlYXRlc3QgZnJlZSBibG9jayBpZiBhIGhlYXAgaGFzIGJlZW4KICog c3BlY2lmaWVkLiBJZiBubyBoZWFwIGhhcyBiZWVuIHNwZWNpZmllZCwgaXQgd2lsbCByZXR1cm4g dGhlIGhlYXAgYW5kCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBsaWIvbGlicnRlX2VhbC9jb21tb24v ZWFsX2NvbW1vbl9tZW16b25lLmM6MjgKZXJyb3I6IGxpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxf Y29tbW9uX21lbXpvbmUuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggbGli L2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvcnRlX2VhbF9tZW1jb25maWcuaC4uLgplcnJvcjog d2hpbGUgc2VhcmNoaW5nIGZvcjoKCXJ0ZV9yd2xvY2tfdCBxbG9jazsgICAvKio8IHVzZWQgZm9y IHRhaWxxIG9wZXJhdGlvbiBmb3IgdGhyZWFkIHNhZmUuICovCglydGVfcndsb2NrX3QgbXBsb2Nr OyAgLyoqPCBvbmx5IHVzZWQgYnkgbWVtcG9vbCBMSUIgZm9yIHRocmVhZC1zYWZlLiAqLwoKCXVp bnQzMl90IG1lbXpvbmVfY250OyAvKio8IE51bWJlciBvZiBhbGxvY2F0ZWQgbWVtem9uZXMgKi8K Ci0tCglzdHJ1Y3QgcnRlX21lbXpvbmUgbWVtem9uZVtSVEVfTUFYX01FTVpPTkVdOyAvKio8IE1l bXpvbmUgZGVzY3JpcHRvcnMuICovCgoJc3RydWN0IHJ0ZV9tZW1zZWdfbGlzdCBtZW1zZWdzW1JU RV9NQVhfTUVNU0VHX0xJU1RTXTsKCS8qKjwgbGlzdCBvZiBkeW5hbWljIGFycmF5cyBob2xkaW5n IG1lbXNlZ3MgKi8KCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGxpYi9saWJydGVfZWFsL2NvbW1vbi9p bmNsdWRlL3J0ZV9lYWxfbWVtY29uZmlnLmg6NTgKZXJyb3I6IGxpYi9saWJydGVfZWFsL2NvbW1v bi9pbmNsdWRlL3J0ZV9lYWxfbWVtY29uZmlnLmg6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNr aW5nIHBhdGNoIGxpYi9saWJydGVfZWFsL2NvbW1vbi9tYWxsb2NfaGVhcC5jLi4uCmVycm9yOiB3 aGlsZSBzZWFyY2hpbmcgZm9yOgoJaWYgKG1jZmcgPT0gTlVMTCkKCQlyZXR1cm4gLTE7CgoJLyog YWRkIGFsbCBJT1ZBLWNvbnRpZ3VvdXMgYXJlYXMgdG8gdGhlIGhlYXAgKi8KCXJldHVybiBydGVf bWVtc2VnX2NvbnRpZ193YWxrKG1hbGxvY19hZGRfc2VnLCBOVUxMKTsKfQoKZXJyb3I6IHBhdGNo IGZhaWxlZDogbGliL2xpYnJ0ZV9lYWwvY29tbW9uL21hbGxvY19oZWFwLmM6Mjc4CmVycm9yOiBs aWIvbGlicnRlX2VhbC9jb21tb24vbWFsbG9jX2hlYXAuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkK Q2hlY2tpbmcgcGF0Y2ggbGliL2xpYnJ0ZV9lYWwvbGludXhhcHAvZWFsL2VhbC5jLi4uCmVycm9y OiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJCXJldHVybiAtMTsKCX0KI2VuZGlmCgoJaWYgKHJ0ZV9l YWxfbWVtb3J5X2luaXQoKSA8IDApIHsKCQlydGVfZWFsX2luaXRfYWxlcnQoIkNhbm5vdCBpbml0 IG1lbW9yeVxuIik7CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBsaWIvbGlicnRlX2VhbC9saW51eGFw cC9lYWwvZWFsLmM6ODU4CmVycm9yOiBsaWIvbGlicnRlX2VhbC9saW51eGFwcC9lYWwvZWFsLmM6 IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIHRlc3QvdGVzdC90ZXN0X21lbXpv bmUuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCWNvbnN0IHN0cnVjdCBydGVfbWVt em9uZSAqbXo7CglpbnQgbWVtem9uZV9jbnRfYWZ0ZXIsIG1lbXpvbmVfY250X2V4cGVjdGVkOwoJ aW50IG1lbXpvbmVfY250X2JlZm9yZSA9CgkJCXJ0ZV9lYWxfZ2V0X2NvbmZpZ3VyYXRpb24oKS0+ bWVtX2NvbmZpZy0+bWVtem9uZV9jbnQ7CgoJbWVtem9uZTEgPSBydGVfbWVtem9uZV9yZXNlcnZl KFRFU1RfTUVNWk9ORV9OQU1FKCJ0ZXN0em9uZTEiKSwgMTAwLAoJCQkJU09DS0VUX0lEX0FOWSwg MCk7CgplcnJvcjogcGF0Y2ggZmFpbGVkOiB0ZXN0L3Rlc3QvdGVzdF9tZW16b25lLmM6OTA5CmVy cm9yOiB0ZXN0L3Rlc3QvdGVzdF9tZW16b25lLmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CgpEUERL IFNUViB0ZWFt --===============4969871624536918792==--