From owner-freebsd-current@FreeBSD.ORG Thu Jan 5 05:19:17 2012 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E05B81065672 for ; Thu, 5 Jan 2012 05:19:17 +0000 (UTC) (envelope-from jacques.fourie@gmail.com) Received: from mail-qw0-f47.google.com (mail-qw0-f47.google.com [209.85.216.47]) by mx1.freebsd.org (Postfix) with ESMTP id 963998FC18 for ; Thu, 5 Jan 2012 05:19:17 +0000 (UTC) Received: by qadb17 with SMTP id b17so197773qad.13 for ; Wed, 04 Jan 2012 21:19:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=kg5I0mJm4+jaYUEHnd1qMQRu20xeCsb4q2M0qvx4wq8=; b=VRZH9x8ZLccRWj6r2Fz/R0dPkn0kVnGgEQJCWk0/FQZZhbrUI5H6dGdvqlMKaJ56Z5 Bew6bohK+7IIcCdjZkBQwwNhZMvcT1/Hf6X1ujfyY45xiaa/bNgpo6lzZE7wDjNWxRDe 6NoLQEB4/qUxUdZolE5wICTZBCFZMQ5QhG2Hw= MIME-Version: 1.0 Received: by 10.224.216.74 with SMTP id hh10mr1230281qab.45.1325739239160; Wed, 04 Jan 2012 20:53:59 -0800 (PST) Received: by 10.229.120.207 with HTTP; Wed, 4 Jan 2012 20:53:58 -0800 (PST) In-Reply-To: <4EF5915E.1030202@gmail.com> References: <20111219224545.GA22631@onelab2.iet.unipi.it> <4EF5915E.1030202@gmail.com> Date: Thu, 5 Jan 2012 06:53:58 +0200 Message-ID: From: Jacques Fourie To: current@freebsd.org Content-Type: multipart/mixed; boundary=20cf300514a26a3d3e04b5c0b8e6 Cc: rizzo@iet.unipi.it Subject: Re: cross-arch building picobsd/nanobsd images ? X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jan 2012 05:19:18 -0000 --20cf300514a26a3d3e04b5c0b8e6 Content-Type: text/plain; charset=ISO-8859-1 I've posted a diff to -arm about 2 years ago that I used to cross-build arm picobsd images for a gumstix platform on a i386 host. I don't know if the diff will apply cleanly anymore but here it is in anyway. --20cf300514a26a3d3e04b5c0b8e6 Content-Type: text/plain; charset=US-ASCII; name="diffs.txt" Content-Disposition: attachment; filename="diffs.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gx1av2c70 LS0tIGEvcmVsZWFzZS9waWNvYnNkL2J1aWxkL01ha2VmaWxlLmNvbmYKKysrIGIvcmVsZWFzZS9w aWNvYnNkL2J1aWxkL01ha2VmaWxlLmNvbmYKQEAgLTIxLDcgKzIxLDggQEAgTU9EVUxFUz89LURO T19NT0RVTEVTCSMgZG8gbm90IGJ1aWxkIHRoZW0gYXMgYSBkZWZhdWx0CiAjIElmIGNvbmZpZyB3 ZXJlIHNtYXJ0IGVub3VnaCwgd2UgY291bGQgcGxhY2UgdGhlIGNvbmZpZwogIyBmaWxlIGluIHNv bWUgb3RoZXIgcGxhY2UgdGhhbiAke1NSQ30vc3lzL2kzODYvY29uZiwgYnV0CiAjIGF0IHRoZSBt b21lbnQgKE9jdC4yMDAxKSB0aGlzIGlzIG5vdCBwb3NzaWJsZSB5ZXQuCi1DT05GPSR7U1JDfS9z eXMvaTM4Ni9jb25mCisjQ09ORj0ke1NSQ30vc3lzL2kzODYvY29uZgorQ09ORj0ke1NSQ30vc3lz LyR7VEFSR0VUX0FSQ0h9L2NvbmYKICNDT05GPSR7QlVJTERESVJ9L2NvbmYgICAgICAgICAjIFhY WCBkb2VzIG5vdCB3b3JrIHlldAogQ09ORkZJTEU9UElDT0JTRC0ke25hbWV9CiAKQEAgLTM5LDEw ICs0MCwxOSBAQCAke0JVSUxERElSfS9rZXJuZWw6ICR7S0VSTkZJTEV9CiAke0tFUk5GSUxFfTog JHtDT01QSUxFfSBkb19hX21ha2VfaW5fdGhlX2tlcm5lbF9kaXJlY3RvcnlfYW55d2F5cwogCiBk b19hX21ha2VfaW5fdGhlX2tlcm5lbF9kaXJlY3RvcnlfYW55d2F5czoKKwl1bnNldCBUQVJHRVRf Q1BVVFlQRQorCXVuc2V0IFRBUkdFVF9CSUdfRU5ESUFOCiAJKGNkICR7Q09NUElMRX07ICR7QklO TUFLRX0gS0VSTkVMPWtlcm5lbCAke01PRFVMRVN9ICkKIAordHJhbXBvbGluZToKKwl1bnNldCBU QVJHRVRfQ1BVVFlQRQorCXVuc2V0IFRBUkdFVF9CSUdfRU5ESUFOCisJKGNkICR7Q09NUElMRX07 ICR7QklOTUFLRX0gS0VSTkVMPWtlcm5lbCAke01PRFVMRVN9IHRyYW1wb2xpbmUgKQorCiAke0NP TVBJTEV9OiAke0NPTkZ9LyR7Q09ORkZJTEV9Ci0JKGNkICR7Q09ORn07ICR7Q09ORklHfSAtZCAk e0NPTVBJTEV9ICR7Q09ORkZJTEV9OyBcCisJdW5zZXQgVEFSR0VUX0NQVVRZUEUKKwl1bnNldCBU QVJHRVRfQklHX0VORElBTgorCShjZCAke0NPTkZ9OyBQQVRIPSR7VE1QUEFUSH0gJHtDT05GSUd9 IC1kICR7Q09NUElMRX0gJHtDT05GRklMRX07IFwKIAljZCAke0NPTVBJTEV9OyAke0JJTk1BS0V9 IEtFUk5FTD1rZXJuZWwgJHtNT0RVTEVTfSBkZXBlbmQgKQogCiAke0NPTkZ9LyR7Q09ORkZJTEV9 OiBQSUNPQlNECi0tLSAvZGV2L251bGwKKysrIGIvcmVsZWFzZS9waWNvYnNkL2J1aWxkL2J1aWxk LnNoCkBAIC0wLDAgKzEgQEAKKy4vcGljb2JzZCAtLXRhcmdldF9hcmNoIGFybSAtLXRhcmdldF9j cHV0eXBlIHhzY2FsZSAtLXNyYyAvaG9tZS9qYWNxdWVzL2d1bXN0aXggLW4gLXYgZ3Vtc3RpeCAK ZGlmZiAtLWdpdCBhL3JlbGVhc2UvcGljb2JzZC9idWlsZC9waWNvYnNkIGIvcmVsZWFzZS9waWNv YnNkL2J1aWxkL3BpY29ic2QKaW5kZXggYTNiM2NmNS4uMTQyMzVmZiAxMDA3NTUKLS0tIGEvcmVs ZWFzZS9waWNvYnNkL2J1aWxkL3BpY29ic2QKKysrIGIvcmVsZWFzZS9waWNvYnNkL2J1aWxkL3Bp Y29ic2QKQEAgLTIxLDYgKzIxLDcgQEAKICMgICBNYWtlZmlsZS5jb25mCU1ha2VmaWxlIHVzZWQg dG8gYnVpbGQgdGhlIGtlcm5lbAogIyAgIGNvbmZpZwkJc2hlbGwgdmFyaWFibGVzLCBzb3VyY2Vk IGhlcmUuCiAjICAgbWZzLm10cmVlCQltdHJlZSBjb25maWcgZmlsZQorIwogIyAgIGZsb3BweS50 cmVlLwlmaWxlcyB3aGljaCBnbyBvbiB0aGUgZmxvcHB5CiAjICAgbWZzX3RyZWUvCQlmaWxlcyB3 aGljaCBnbyBvbnRvIHRoZSBtZnMKICMKQEAgLTI4LDEzICsyOSwxMCBAQAogIyAgIFBJQ09CU0QJ CWtlcm5lbCBjb25maWcgZmlsZQogIyAgIGNvbmZpZwkJc2hlbGwgdmFyaWFibGVzLCBzb3VyY2Vk IGhlcmUuCiAjICAgY3J1bmNoLmNvbmYJCWNydW5jaGdlbiBjb25maWd1cmF0aW9uCi0jICAgbWZz Lm10cmVlCQlvdmVycmlkZXMgJHtQSUNPX1RSRUV9L21mcy5tdHJlZQogIyAgIGZsb3BweS50cmVl LmV4Y2x1ZGUJZmlsZXMgZnJvbSBmbG9wcHkudHJlZS8gd2hpY2ggd2UgZG8gbm90IG5lZWQgaGVy ZS4KLSMgICBmbG9wcHkudHJlZS8JbG9jYWwgYWRkaXRpb25zIHRvICR7UElDT19UUkVFfS9tZnNf ZnJlZQorIyAgIGZsb3BweS50cmVlLwlsb2NhbCBhZGRpdGlvbnMgdG8gdGhlIGZsb3BweS50cmVl CiAjICAgZmxvcHB5LnRyZWUuJHtzaXRlfS8gc2FtZSBhcyBhYm92ZSwgc2l0ZSBzcGVjaWZpYy4K ICMgICBtZnNfdHJlZS8JCWxvY2FsIGFkZGl0aW9ucyB0byB0aGUgbWZzX2ZyZWUKLSMgICBidWls ZHRyZWUubWsJb3B0aW9uYWwgbWFrZWZpbGUgdG8gYnVpbGQgYW4gZXh0ZW5zaW9uIGZvciBmbG9w cHkgdHJlZQotIwkJCShnZW5lcmF0ZWQgaW4gYnVpbGR0cmVlLyApCiAKICMKICMtLS0gVGhlIG1h aW4gZW50cnkgcG9pbnQgaXMgYXQgdGhlIGVuZC4KQEAgLTEwMCw3ICs5OCw3IEBAIHNldF9kZWZh dWx0cygpIHsKICAgICBFRElUT1I9JHtFRElUT1I6LXZpfQogICAgIGZkX3NpemU9JHtmZF9zaXpl Oi0xNDQwfQogCi0gICAgb191c2VfbG9hZGVyPSJ5ZXMiCQkjIHVzZSAvYm9vdC9sb2FkZXIKKyAg ICBvX3RhcmdldF9hcmNoPSJpMzg2IgogICAgIG9fYWxsX2luX21mcz0ieWVzIgkJIyBwdXQgYWxs IGZpbGVzIGluIG1mcyBzbyB5b3UgY2FuIGJvb3QgYW5kIHJ1bgogCQkJCSMgdGhlIGltYWdlIHZp YSBkaXNrbGVzcyBib290LgogICAgIG9fY2xlYW49IiIJCQkjIGRvIG5vdCBjbGVhbgpAQCAtMTA5 LDcgKzEwNyw3IEBAIHNldF9kZWZhdWx0cygpIHsKICAgICBvX3RhcnY9IiIJCQkjIHRhciB2ZXJi b3NlIGZsYWcsICIiIG9yICJ2IgogICAgIG9faW5pdF9zcmM9IiIJCSMgbm9uICIiIGlmIHdlIG5l ZWQgdG8gaW5pdCBsaWJzIGFuZCBpbmNsdWRlcy4KICAgICBvX21ha2VvcHRzPSR7TUFLRU9QVFM6 LS1zfQkjIG1ha2Ugb3B0aW9ucywgYmUgc2lsZW50IGJ5IGRlZmF1bHQKLSAgICBvX25vX2RldmZz PXllcwkJIyB3ZSBkbyBub3Qgd2FudCBkZXZmcworICAgIG9fbm9fZGV2ZnM9IiIJCSMgd2UgZG8g bm90IHdhbnQgZGV2ZnMKICAgICBvX2RvX21vZHVsZXM9IiIJCSMgZG8gbm90IGJ1aWxkIG1vZHVs ZXMKIAogICAgIFNSQz0iL3Vzci9zcmMiCQkjIGRlZmF1bHQgbG9jYXRpb24gZm9yIHNvdXJjZXMK QEAgLTEzMCw3ICsxMjgsNiBAQCBzZXRfZGVmYXVsdHMoKSB7CiAgICAgCQkJCSMgbW91bnRwb2lu dCB1c2VkIHRvIGJ1aWxkIG1lbW9yeSBmaWxlc3lzdGVtcwogICAgIGNfZnM9ZnMuUElDT0JTRAkJ IyBmaWxlbmFtZSB1c2VkIGZvciB0aGUgbWVtb3J5IGZpbGVzeXN0ZW0KICAgICBjX2ltZz1waWNv YnNkLmJpbgkJIyBmaWxlbmFtZSB1c2VkIGZvciB0aGUgcGljb2JzZCBpbWFnZQotICAgIGdlbmVy YXRlX2lzbz0iTk8iCQkjIGRvbid0IGdlbmVyYXRlIHRoZSBpc28gaW1hZ2UKIAogICAgICMgc2Vs ZWN0IHRoZSByaWdodCBtZW1vcnkgZGlzayBuYW1lCiAgICAgY2FzZSBgdW5hbWUgLXJgIGluCkBA IC0xNTAsNyArMTQ3LDYgQEAgc2V0X2RlZmF1bHRzKCkgewogICAgIHRyYXAgZmFpbCAxNQogfQog Ci0jIHVzZSB0aGUgbmV3IGJ1aWxkIGluZnJhc3RydWN0dXJlCiBjcmVhdGVfaW5jbHVkZXNfYW5k X2xpYnJhcmllczIoKSB7CiAgICAgbG9jYWwgbm8KICAgICBsb2cgImNyZWF0ZV9pbmNsdWRlc19h bmRfbGlicmFyaWVzMigpIGZvciAke1NSQ30iCkBAIC0xNjMsNyArMTU5LDcgQEAgY3JlYXRlX2lu Y2x1ZGVzX2FuZF9saWJyYXJpZXMyKCkgewogICAgIGV4cG9ydCBNQUtFT0JKRElSUFJFRklYCiAg ICAgKCBjZCAke1NSQ307CiAgICAgIyBtYWtlIC1ETk9DTEVBTiAtRE5PUFJPRklMRSAtRE5PR0FN RVMgLUROT0xJQkNfUiAtRFBJQ09CU0QgYnVpbGR3b3JsZAotICAgIG1ha2UgXytfPSAkbm8gdG9v bGNoYWluIF9pbmNsdWRlcyBfbGlicmFyaWVzCisgICAgbWFrZSBfK189ICRubyB0b29sY2hhaW4K ICAgICApCiB9CiAKQEAgLTIxMiw3ICsyMDgsNyBAQCBjcmVhdGVfaW5jbHVkZXNfYW5kX2xpYnJh cmllcygpIHsKIAogIyBzZXRfdHlwZSA8dHlwZT4gbG9va3MgaW4gdXNlciBvciBzeXN0ZW0gZGly ZWN0b3JpZXMgZm9yIHRoZSBmbG9wcHkgdHlwZQogIyBzcGVjaWZpZWQgYXMgZmlyc3QgYXJndW1l bnQsIGFuZCBzZXRzIHZhcmlhYmxlcyBhY2NvcmRpbmcgdG8gdGhlIGNvbmZpZy4KLSMgZmlsZS4g QWxzbyBzZXRzIE1ZX1RSRUUgYW5kIEJVSUxERElSIGFuZCBTSVRFCisjIGZpbGUuIFNldHMgVEhF VFlQRSwgU0lURSwgbmFtZSwgTVlfVFJFRSBhbmQgQlVJTERESVIKIAogc2V0X3R5cGUoKSB7CiAg ICAgbG9jYWwgYSBpCkBAIC0yNjAsMTMgKzI1Niw2IEBAIHNldF9tc2dzKCkgewkJIyBPSwogXHQz LiAgU2l0ZS1pbmZvOiAke1NJVEV9XG5cdDQuICBGdWxsLXBhdGg6ICR7TVlfVFJFRX1cbiIKIH0K IAotIyBidWlsZCB0aGUgaXNvIGltYWdlCi1idWlsZF9pc29faW1hZ2UoKSB7Ci0gICAgbG9nICJi dWlsZF9pc29faW1hZ2UoKSIKLSAgICBjbGVhcgotICAgIHNldF9tc2dzCi0gICAgcHJpbnRmICIk e01TR30tLS0+IEJ1aWxkIHRoZSBpc28gaW1hZ2Ugbm90IHJlYWR5IHlldFxuXG4iCi19CiAKICMg TWFpbiBidWlsZCBwcm9jZWR1cmUuCiBidWlsZF9pbWFnZSgpIHsKQEAgLTI5MiwxNCArMjgxLDE4 IEBAIGJ1aWxkX2ltYWdlKCkgewogICAgIGlmIFsgJHtPU1ZFUlNJT059IC1nZSA1MDAwMzUgXSA7 IHRoZW4KIAlleHBvcnQgTUFLRU9CSkRJUlBSRUZJWD0ke2xfb2JqdHJlZX0KIAlldmFsICJleHBv cnQgQklOTUFLRT1cImBjZCAke1NSQ307IG1ha2UgLWYgTWFrZWZpbGUgLVYgQklOTUFLRWBcIiIK KwlldmFsICJleHBvcnQgVE1QUEFUSD1cImBjZCAke1NSQ307IG1ha2UgLWYgTWFrZWZpbGUuaW5j MSAtViBUTVBQQVRIYFwiIgogCWV2YWwgZXhwb3J0IGBjZCAke1NSQ307ICR7QklOTUFLRX0gLWYg TWFrZWZpbGUuaW5jMSAtViBXTUFLRUVOVmAKICAgICBmaQorICAgIGVjaG8gJHtQQVRIfQogICAg ICMgY3JlYXRlIGJ1aWxkIGRpcmVjdG9yeSBhbmQgc3VidHJlZQogICAgIG1rZGlyIC1wICR7QlVJ TERESVJ9L2NydW5jaAogICAgICMgcmVtb3ZlIGFueSBvbGQgc3R1ZmYKICAgICBybSAtZiAke0JV SUxERElSfS9rZXJuZWwuZ3ogJHtCVUlMRERJUn0vJHtjX2ZzfQogICAgICMgaW52b2tlIGNvbW1h bmRzIHRvIGJ1aWxkIGEga2VybmVsCiAgICAgZG9fa2VybmVsCisKKyAgICBleHBvcnQgVEFSR0VU X0NQVVRZUEUJCQogICAgICMgZmlsbCBhIHN1YmRpcmVjdG9yeSB3aXRoIHRoaW5ncyB0aGF0IGdv IGludG8gdGhlIGZsb3BweQogICAgICMgKG1vc3RseSAvZXRjIGFuZCBzaW1pbGFyIHN0dWZmKQog ICAgIHBvcHVsYXRlX2Zsb3BweV9mcwpAQCAtMzE5LDYgKzMxMiwxMCBAQCBidWlsZF9wYWNrYWdl KCkgewogICAgIGVjaG8gIiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMiID4+YnVpbGQuc3RhdHVzCiAgICAgZm9yIHogaW4gYnJpZGdlIGRpYWwgcm91dGVyIG5l dCBpc3AgOyBkbwogCXNldF90eXBlICR7en0KKyAgICAgICAgaWYgWyAiJHtuYW1lfSIgPSAiIiBd IDsgdGhlbgorCSAgICBlY2hvICIqKiogVFlQRT0ke3p9IG5vdCBmb3VuZCIgPj5idWlsZC5zdGF0 dXMKKwkgICAgY29udGludWUKKwlmaQogCWVjaG8gIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSI+PmJ1aWxkLnN0YXR1cwogCWVjaG8gIkJ1aWxkaW5nIFRZUEU9 JHt6fSwgU0laRT0ke01GU19TSVpFfSIgPj5idWlsZC5zdGF0dXMKIAltc2c9IihvaykiCSMgZXJy b3IgbWVzc2FnZQpAQCAtNDM1LDkgKzQzMiwxNCBAQCB0aGlzIGFzIHNtYWxsIGFzIHBvc3NpYmxl LiAiIDEwIDcwIDI+ICR7Y19yZXBseX0gXAogZG9faW5zdGFsbCgpIHsKICAgICBsb2cgImRvX2lu c3RhbGwoKSIKIAorICAgIGlmIFsgIiR7b190YXJnZXRfYXJjaH0iID0gImFybSIgXSA7IHRoZW4K KwllY2hvICJCb290YWJsZSBBUk0gdHJhbXBvbGluZSBpcyBpbgorCSR7QlVJTERESVJ9L1BJQ09C U0QtJHtuYW1lfS9rZXJuZWwuZ3oudHJhbXAiCisgICAgZmkKKwogICAgIGlmIFsgIiR7b19pbnRl cmFjdGl2ZX0iID0gIk5PIiBdIDsgdGhlbgogCWVjaG8gIisrKyBCdWlsZCBjb21wbGV0ZWQgKysr IgotCWNhdCAuYnVpbGQucmVwbHkgfHwgdHJ1ZQorI2NhdCAuYnVpbGQucmVwbHkgfHwgdHJ1ZQog CXJldHVybgogICAgIGZpCiAgICAgZGlhbG9nIC0tdGl0bGUgIkJ1aWxkICR7VEhFVFlQRX0gY29t cGxldGVkIiAtLWlucHV0Ym94IFwKQEAgLTQ3NCw2ICs0NzYsMTMgQEAgZG9fa2VybmVsKCkgewkJ IyBPSwogCWZhaWwgJD8gbWlzc2luZ19rZXJuZWwKIH0KIAorcmVidWlsZF90cmFtcG9saW5lKCkg eworICAgIGxvZyAicmVidWlsZF90cmFtcG9saW5lKCkgUmUtYnVpbGRpbmcga2VybmVsIHRyYW1w b2xpbmUgXCIkbmFtZVwiIGluICRNWV9UUkVFIgorICAgIChjZCAkTVlfVFJFRTsgZXhwb3J0IG5h bWUgU1JDIEJVSUxERElSICMgdXNlZCBpbiB0aGlzIG1ha2VmaWxlIDsKKyAgICAJJHtCSU5NQUtF fSAtdiAtZiAke1BJQ09fVFJFRX0vYnVpbGQvTWFrZWZpbGUuY29uZiB0cmFtcG9saW5lICkgfHwg XAorCWZhaWwgJD8gbWlzc2luZ19rZXJuZWwKK30KKwogIyBQb3B1bGF0ZSB0aGUgdmFyaWFibGUg cGFydCBvZiB0aGUgZmxvcHB5IGZpbGVzeXN0ZW0uIE11c3QgYmUgZG9uZSBiZWZvcmUKICMgdGhl IE1GUyBiZWNhdXNlIGl0cyBjb250ZW50IG1pZ2h0IG5lZWQgdG8gYmUgY29waWVkIHRoZXJlIGFz IHdlbGwuCiAjCkBAIC00OTIsMTAgKzUwMSwxMCBAQCBwb3B1bGF0ZV9mbG9wcHlfZnMoKSB7CQkj IE9LCiAgICAgZHN0PSR7QlVJTERESVJ9L2Zsb3BweS50cmVlCiAgICAgbG9nICJwd2Q9YHB3ZGAg UG9wdWxhdGluZyBmbG9wcHkgZmlsZXN5c3RlbS4uLiIKIAotICAgIHJtIC1yZiAke2RzdH0gfHwg dHJ1ZQkjIGNsZWFuIHJlbGljcyBmcm9tIG9sZCBjb21waWxhdGlvbnMuCi0gICAgbWtkaXIgJHtk c3R9CQkjIGNyZWF0ZSBhIGNsZWFuIHRyZWUKKyAgICAjIGNsZWFuIHJlbGljcyBmcm9tIG9sZCBj b21waWxhdGlvbnMuCisgICAgcm0gLXJmICR7ZHN0fSB8fCB0cnVlCisgICAgbWtkaXIgJHtkc3R9 CiAKLSAgICAjIGNvbXB1dGUgZXhjbHVkZSBsaXN0IGZvciBnZW5lcmljIHRyZWUKICAgICBleGNs PSR7TVlfVFJFRX0vZmxvcHB5LnRyZWUuZXhjbHVkZQogICAgIGlmIFsgLWYgJHtleGNsfSBdIDsg dGhlbgogCWxvZyAiRmlsZXMgZXhjbHVkZWQgZnJvbSBnZW5lcmljIHRyZWU6IGBlY2hvO2NhdCAk e2V4Y2x9YCIKQEAgLTUwMywyNiArNTEyLDI5IEBAIHBvcHVsYXRlX2Zsb3BweV9mcygpIHsJCSMg T0sKICAgICBlbHNlCiAJZXhjbD0iIgogICAgIGZpCi0gICAgIyBjb3B5IGZyb20gdGhlIGZsb3Bw eSB0cmVlcyBpbnRvIHRoZSBkZXN0aW5hdGlvbgotICAgIGZvciBGTE9QUFlfVFJFRSBpbiAke1BJ Q09fVFJFRX0vZmxvcHB5LnRyZWUgJHtNWV9UUkVFfS9mbG9wcHkudHJlZSBcCi0JCSR7TVlfVFJF RX0vZmxvcHB5LnRyZWUuJHtTSVRFfSA7IGRvCi0JaWYgWyAtZCAke0ZMT1BQWV9UUkVFfSBdIDsg dGhlbgotCSAgICAoY2QgJHtGTE9QUFlfVFJFRX0gOyB0YXIgLWNmIC0gLS1leGNsdWRlIENWUyBc Ci0JCSAgICAtLWV4Y2x1ZGUgLnN2biAke2V4Y2x9IC4gKSB8IFwKKyAgICAoY2QgJHtQSUNPX1RS RUV9L2Zsb3BweS50cmVlIDsgdGFyIC1jZiAtIC0tZXhjbHVkZSBDVlMgLS1leGNsdWRlIC5zdm4g XAorICAgIAkJJHtleGNsfSAuICkgfCBcCiAJCShjZCAke2RzdH0gOyB0YXIgeCR7b190YXJ2fWYg LSApCi0JICAgIGxvZyAiQ29waWVkIGZyb20gJHtGTE9QUFlfVFJFRX0iCi0JZmkKLQlleGNsPSIi ICMgcmVzZXQgdGhlIGV4Y2x1ZGUgbGlzdC4KLSAgICBkb25lCi0KLSAgICAjIGFkZCBsb2NhbCBt YW5pcHVsYXRpb24KLSAgICBpZiBbIC1mICR7TVlfVFJFRX0vYnVpbGR0cmVlLm1rIF0gOyB0aGVu Ci0JbG9nICJidWlsZGluZyBsb2NhbCBmbG9wcHkgdHJlZSIKLQkke0JJTk1BS0V9IC1DICR7ZHN0 fSAtZiAke01ZX1RSRUV9L2J1aWxkdHJlZS5tayBmbG9wcHkudHJlZQorICAgIGxvZyAiQ29waWVk IGZyb20gZ2VuZXJpYyBmbG9wcHktdHJlZSBgZWNobzsgbHMgLWxhUiAke2RzdH1gIgorCisgICAg c3JjZGlyPSR7TVlfVFJFRX0vZmxvcHB5LnRyZWUKKyAgICBpZiBbIC1kICR7c3JjZGlyfSBdIDsg dGhlbgorCWxvZyAidXBkYXRlIHdpdGggdHlwZS1zcGVjaWZpYyBmaWxlczoiCisJKGNkICR7c3Jj ZGlyfSA7IHRhciAtY2YgLSAtLWV4Y2x1ZGUgQ1ZTIC0tZXhjbHVkZSAuc3ZuIC4gKSB8IFwKKwkg ICAgKGNkICR7ZHN0fSA7IHRhciB4JHtvX3RhcnZ9ZiAtICkKKwlsb2cgIkNvcGllZCBmcm9tIHR5 cGUgZmxvcHB5LXRyZWUgYGVjaG87IGxzIC1sYVIgJHtkc3R9YCIKKyAgICBlbHNlCisJbG9nICJO byB0eXBlLXNwZWNpZmljIGZsb3BweS10cmVlIgogICAgIGZpCi0gCi0gICAgIyBjb21wcmVzcyB0 aGUgZmlsZXMgaW4gZXRjLywganVzdCBpbiBjYXNlCi0gICAgIyBYWFggdGhpcyBzaG91bGQgYmUg ZG9uZSBpbiB0aGUgbWFrZWZpbGUuCisgICAgaWYgWyAtZCAke3NyY2Rpcn0uJHtTSVRFfSBdIDsg dGhlbgorCWxvZyAiVXBkYXRlIHdpdGggc2l0ZS1zcGVjaWZpYyAoJHtTSVRFfSkgZmlsZXM6Igor CShjZCAke3NyY2Rpcn0uJHtTSVRFfSA7IHRhciAtY2YgLSAtLWV4Y2x1ZGUgQ1ZTIC0tZXhjbHVk ZSAuc3ZuIC4gKSB8IFwKKwkgICAgKGNkICR7ZHN0fSA7IHRhciB4JHtvX3RhcnZ9ZiAtICkKKwls b2cgIkNvcGllZCBmcm9tIHNpdGUgZmxvcHB5LXRyZWUgYGVjaG87IGxzIC1sYVIgJHtkc3R9YCIK KyAgICBlbHNlCisJbG9nICJObyBzaXRlLXNwZWNpZmljIGZsb3BweS10cmVlIgorICAgIGZpCisK ICAgICAjIGd6aXAgcmV0dXJucyBhbiBlcnJvciBpZiBpdCBmYWlscyB0byBjb21wcmVzcyBzb21l IGZpbGUKICAgICAoY2QgJGRzdCA7IGd6aXAgLTkgZXRjLyoKIAkgICAgbG9nICJDb21wcmVzc2Vk IGZpbGVzIGluIGV0Yy8gYGVjaG87IGxzIC1sIGV0Y2AiCkBAIC01MzcsMTIgKzU0OSwxMyBAQCBw b3B1bGF0ZV9mbG9wcHlfZnMoKSB7CQkjIE9LCiAjIEZpbmFsbHksIGlmIHJlcXVpcmVkLCBtYWtl IGEgY29weSBvZiB0aGUgZmxvcHB5LnRyZWUgb250byAvZmQKIAogcG9wdWxhdGVfbWZzX3RyZWUo KSB7Ci0gICAgbG9jYWwgYSBkc3QgTUZTX1RSRUUKKyAgICBsb2NhbCBhIGRzdAogCiAgICAgbG9n ICJwb3B1bGF0ZV9tZnNfdHJlZSgpIgogICAgIGRzdD0ke0JVSUxERElSfS9tZnMudHJlZQotICAg IHJtIC1yZiAke2RzdH0gfHwgdHJ1ZQkjIGNsZWFuIHJlbGljcyBmcm9tIG9sZCBjb21waWxhdGlv bnMuCi0gICAgbWtkaXIgJHtkc3R9CQkjIGNyZWF0ZSBhIGZyZXNoIHRyZWUKKyAgICAjIGNsZWFu IHJlbGljcyBmcm9tIG9sZCBjb21waWxhdGlvbnMuCisgICAgcm0gLXJmICR7ZHN0fSB8fCB0cnVl CisgICAgbWtkaXIgJHtkc3R9CiAKICAgICBsb2cgInB3ZD1gcHdkYCwgUG9wdWxhdGluZyBNRlMg dHJlZS4uLiIKIApAQCAtNTU5LDcgKzU3Miw3IEBAIHBvcHVsYXRlX21mc190cmVlKCkgewogICAg IGxuIC1zIC9kZXYvbnVsbCAke2RzdH0vdmFyL3J1bi9sb2cKICAgICBsbiAtcyAvZXRjL3Rlcm1j YXAgJHtkc3R9L3Vzci9zaGFyZS9taXNjL3Rlcm1jYXAKIAotICAgICMjIyBub3cgYnVpbGQgdGhl IGNydW5jaGVkIGJpbmFyaWVzICMjIworCiAgICAgKAogICAgIGNkICR7QlVJTERESVJ9L2NydW5j aAogICAgIGxvZyAiTWFraW5nIGFuZCBpbnN0YWxsaW5nIGNydW5jaDEgZnJvbSBgcHdkYCBzcmMg JHtTUkN9Li4uIgpAQCAtNjAzLDE4ICs2MTYsMTIgQEAgcG9wdWxhdGVfbWZzX3RyZWUoKSB7CiAJ ZmkKICAgICBkb25lCiAKLSAgICBpZiBbIC1mICR7TVlfVFJFRX0vYnVpbGR0cmVlLm1rIF0gOyB0 aGVuCi0JbG9nICJidWlsZGluZyBsb2NhbCBmbG9wcHkgdHJlZSIKLQkke0JJTk1BS0V9IC1DICR7 ZHN0fSAtZiAke01ZX1RSRUV9L2J1aWxkdHJlZS5tayBtZnMudHJlZQotICAgIGZpCi0KICAgICBp ZiBbICIke29fYWxsX2luX21mc30iID0gInllcyIgXTsgdGhlbgogCWxvZyAiQ29weSBnZW5lcmlj IGZsb3BweV90cmVlIGludG8gTUZTLi4uIgotCSMgaWdub3JlIGZhaWx1cmUgaW4gY2FzZSB0aGUg ZmxvcHB5IGlzIGVtcHR5CisJIyB0aGlzIG1heSBmYWlsIGluIGNhc2UgdGhlIGZsb3BweSBpcyBl bXB0eQogCWNwIC1ScCAke0JVSUxERElSfS9mbG9wcHkudHJlZS8qICR7ZHN0fS9mZCB8fCB0cnVl CiAgICAgZmkKIAotICAgICMgNC54IGNvbXBhdGliaWxpdHkgLSBjcmVhdGUgZGV2aWNlIG5vZGVz CiAgICAgaWYgWyAiJHtvX25vX2RldmZzfSIgIT0gIiIgXSA7IHRoZW4KIAkjIGNyZWF0ZSBkZXZp Y2UgZW50cmllcyB1c2luZyBNQUtFREVWCiAJKGNkICR7ZHN0fS9kZXYKQEAgLTYzMywyMSArNjQw LDE5IEBAIHBvcHVsYXRlX21mc190cmVlKCkgewogCWxvZyAiaW1wb3J0aW5nICR7aW1wb3J0X2Zp bGVzfSBpbnRvIG1mcyIKIAkjIFdlIGRvIGl0IGluIGEgY2hyb290IGVudmlyb25tZW50IG9uIHRo ZSB0YXJnZXQgc28KIAkjIHN5bWxpbmtzIGFyZSBmb2xsb3dlZCBjb3JyZWN0bHkuCi0JIyBNYWtl IHN1cmUgd2UgaGF2ZSBhIHN0YXRpY2FsbHkgbGlua2VkIHRhciB0aGVyZS4KLQlta2RpciAtcCAk e2RzdH0vcmVzY3VlCi0JY3AgL3Jlc2N1ZS90YXIgJHtkc3R9L3Jlc2N1ZQorCWNwIGB3aGljaCB0 YXJgICR7ZHN0fS9teV9jb3B5X29mX3RhcgogCShjZCAke2xfdXNydHJlZX0vLi4gOyB0YXIgY2Yg LSAke2ltcG9ydF9maWxlc30gKSB8IFwKLQkgICAgKGNocm9vdCAke2RzdH0gL3Jlc2N1ZS90YXIg eFBmIC0gKQotCXJtIC1yZiAke2RzdH0vcmVzY3VlCisJICAgIChjaHJvb3QgJHtkc3R9IC9teV9j b3B5X29mX3RhciB4ZiAtICkKKwlybSAke2RzdH0vbXlfY29weV9vZl90YXIKICAgICBmaQogCiAg ICAgKGNkICR7QlVJTERESVJ9CiAJIyBvdmVycmlkZSB0aGUgb3duZXIKIAllY2hvICIvc2V0IHVp ZD0wIGdpZD0wIiA+IG10cmVlLm91dAotCW10cmVlIC1pYyAtcCAke2RzdH0gLWsgIiIgPj4gbXRy ZWUub3V0CisJbXRyZWUgLWMgLXAgJHtkc3R9IC1rICIiID4+IG10cmVlLm91dAogCWxvZyAibXRy ZS5vdXQgYXQgJHtCVUlMRERJUn0vbXRyZWUub3V0IgogCW1ha2VmcyAtdCBmZnMgLW8gYnNpemU9 NDA5NiAtbyBmc2l6ZT01MTIgXAotCQktcyAke01GU19TSVpFfWsgLWYgMTAwMCAtRiBtdHJlZS5v dXQgJHtjX2ZzfSAke2RzdH0KKwkJLXMgJHtNRlNfU0laRX1rIC1mIDEwMCAtRiBtdHJlZS5vdXQg JHtjX2ZzfSAke2RzdH0KIAlscyAtbCAke2NfZnN9ICkKICAgICBsb2cgImRvbmUgbWZzIGltYWdl IgogfQpAQCAtNzIzLDEwNyArNzI4LDEwNyBAQCBmaWxsX2Zsb3BweV9pbWFnZSgpIHsKIAlibG9j a3M9MTQ3NgogICAgIGZpCiAKLSAgICBsb2cgIkxhYmVsaW5nIGZsb3BweSBpbWFnZSIKLSAgICBi Mj0ke0JVSUxERElSfS9ib290MiAjIG1vZGlmaWVkIGJvb3QyCi0gICAgY3AgLWYgJHtjX2Jvb3Qy fSAke2IyfQotICAgIGNobW9kIDA2NDQgJHtiMn0KKyAgICBpZiBbICIke29fdGFyZ2V0X2FyY2h9 IiAhPSAiYXJtIiBdOyB0aGVuCisJICAgIGxvZyAiTGFiZWxpbmcgZmxvcHB5IGltYWdlIgorCSAg ICBsb2cgInBhdGNoICR7Y19ib290Mn0gdG8gYm9vdCAva2VybmVsIHJpZ2h0IGF3YXkiCisJICAg IGIyPSR7QlVJTERESVJ9L2Jvb3QyICMgbW9kaWZpZWQgYm9vdDIKKwkgICAgY3AgLWYgJHtjX2Jv b3QyfSAke2IyfQorCSAgICBjaG1vZCAwNjQ0ICR7YjJ9CiAKLSAgICBpZiBbICR7b191c2VfbG9h ZGVyfSA9ICJubyIgXSA7IHRoZW4KLQlsb2cgInBhdGNoICR7Y19ib290Mn0gdG8gYm9vdCAva2Vy bmVsIHJpZ2h0IGF3YXkiCi0Jc2V0IGBzdHJpbmdzIC1hdCBkICR7YjJ9IHwgZ3JlcCAiL2Jvb3Qv bG9hZGVyImAKLQllY2hvIC1lICIva2VybmVsXDBcMFwwXDBcMCIgfCBcCisJICAgIHNldCBgc3Ry aW5ncyAtYXQgZCAke2IyfSB8IGdyZXAgIi9ib290L2xvYWRlciJgCisJICAgIGVjaG8gLWUgIi9r ZXJuZWxcMFwwXDBcMFwwIiB8IFwKIAkgICAgZGQgb2Y9JHtiMn0gb2JzPSQxIG9zZWVrPTEgY29u dj1ub3RydW5jIDI+L2Rldi9udWxsCisJICAgIGNobW9kIDA0NDQgJHtiMn0KICAgICBmaQotICAg IGNobW9kIDA0NDQgJHtiMn0KIAogICAgIGRzdD0ke0JVSUxERElSfS9pbWFnZS50cmVlCiAgICAg cm0gLXJmICR7ZHN0fQogICAgIG1rZGlyIC1wICR7ZHN0fQotICAgICgKLSAgICBjZCAke0JVSUxE RElSfQotICAgIHNldCAwIDAgIyByZXNldCB2YXJpYWJsZXMKLSAgICAjICQxIHRha2VzIHRoZSBv ZmZzZXQgb2YgdGhlIE1GUyBmaWxlc3lzdGVtCi0gICAgc2V0IGBzdHJpbmdzIC1hdCBkIGtlcm5l bCB8IGdyZXAgIk1GUyBGaWxlc3lzdGVtIGdvZXMgaGVyZSJgCi0gICAgbWZzX3N0YXJ0PSQxCi0g ICAgc2V0IDAgMCAjIHJlc2V0IHZhcmlhYmxlcwotICAgIHNldCBgc3RyaW5ncyAtYXQgZCBrZXJu ZWwgfCBncmVwICJNRlMgRmlsZXN5c3RlbSBoYWQgYmV0dGVyImAKLSAgICBtZnNfZW5kPSQxCi0g ICAgbWZzX3NpemU9IiQoKCR7bWZzX2VuZH0gLSAke21mc19zdGFydH0pKSIKLSAgICBzZXQgLS0g YGxzIC1sICR7Y19mc31gOyBpbWdzaXplPSIkNSIKLSAgICBpZiBbICR7bWZzX3N0YXJ0fSAtZ3Qg MCAtYSAke21mc19zaXplfSAtZ2UgJHtpbWdzaXplfSBdIDsgdGhlbgotCW1mc19vZnM9JCgoJHtt ZnNfc3RhcnR9ICsgODE5MikpCi0JbG9nICJQcmVsb2FkIGtlcm5lbCB3aXRoIGZpbGUgJHtjX2Zz fSBhdCAke21mc19vZnN9IgotCWxvZ3ZlcmJvc2UgImBscyAtbCAke2NfZnN9YCB0byBmaXQgaW4g JHttZnNfc2l6ZX0iCi0JZGQgaWY9JHtjX2ZzfSBpYnM9ODE5MiBpc2Vlaz0xIG9mPWtlcm5lbCBv YnM9JHttZnNfb2ZzfSBcCi0JICAgIG9zZWVrPTEgY29udj1ub3RydW5jICMgMj4gL2Rldi9udWxs Ci0gICAgZWxzZQotICAgIAlsb2cgIm5vdCBsb2FkaW5nIG1mcywgc2l6ZSAke21mc19zaXplfSBp bWcgJHtpbWdzaXplfSIKLSAgICBmaQotICAgIGxvZyAiQ29tcHJlc3Mgd2l0aCBrZ3ppcCBhbmQg Y29weSB0byBmbG9wcHkgaW1hZ2UiCi0gICAgaWYgWyAke29fdXNlX2xvYWRlcn0gPSAibm8iIF0g OyB0aGVuCi0Ja2d6aXAgLW8ga2VybmVsLmd6IGtlcm5lbAotCWNwIC1wIGtlcm5lbC5neiAke2Rz dH0va2VybmVsIHx8IGZhaWwgJD8gbm9fc3BhY2UgImNvcHlpbmcga2VybmVsIgorICAgIG15a2Vy bj0ke0JVSUxERElSfS9QSUNPQlNELSR7bmFtZX0va2VybmVsLmRlYnVnCisgICAgaWYgWyAiJHtv X3RhcmdldF9hcmNofSIgPSAiYXJtIiBdIDsgdGhlbgorCSAgICAoCisgICAgCSAgICBjZCAke0JV SUxERElSfQorCSAgICBzZXQgMCAwICMgcmVzZXQgdmFyaWFibGVzCisJICAgICMgJDEgdGFrZXMg dGhlIG9mZnNldCBvZiB0aGUgTUZTIGZpbGVzeXN0ZW0KKwkgICAgc2V0IGBzdHJpbmdzIC1hdCBk ICR7bXlrZXJufSB8IGdyZXAgIk1GUyBGaWxlc3lzdGVtIGdvZXMgaGVyZSJgCisJICAgIG1mc19z dGFydD0kMQorCSAgICBzZXQgMCAwICMgcmVzZXQgdmFyaWFibGVzCisJICAgIHNldCBgc3RyaW5n cyAtYXQgZCAke215a2Vybn0gfCBncmVwICJNRlMgRmlsZXN5c3RlbSBoYWQgYmV0dGVyImAKKwkg ICAgbWZzX2VuZD0kMQorCSAgICBtZnNfc2l6ZT0iJCgoJHttZnNfZW5kfSAtICR7bWZzX3N0YXJ0 fSkpIgorCSAgICBzZXQgLS0gYGxzIC1sICR7Y19mc31gOyBpbWdzaXplPSIkNSIKKwkgICAgaWYg WyAke21mc19zdGFydH0gLWd0IDAgLWEgJHttZnNfc2l6ZX0gLWdlICR7aW1nc2l6ZX0gXSA7IHRo ZW4KKwkJbG9nICJQcmVsb2FkIGtlcm5lbCB3aXRoIGZpbGUgJHtjX2ZzfSBhdCAke21mc19zdGFy dH0iCisJCW1mc19vZnM9JCgoJHttZnNfc3RhcnR9ICsgODE5MikpCisJCWRkIGlmPSR7Y19mc30g aWJzPTgxOTIgaXNlZWs9MSBvZj0ke215a2Vybn0gb2JzPSR7bWZzX29mc30gXAorCQkgICAgb3Nl ZWs9MSBjb252PW5vdHJ1bmMgMj4gL2Rldi9udWxsCisJICAgIGVsc2UKKwkJbG9nICJub3QgbG9h ZGluZyBtZnMsIHNpemUgJHttZnNfc2l6ZX0gaW1nICR7aW1nc2l6ZX0iCisJICAgIGZpCisJICAg ICkKKwkgICAgcmVidWlsZF90cmFtcG9saW5lCiAgICAgZWxzZQotICAgICAgICBnemlwIGtlcm5l bAotCW1rZGlyIC1wICAke2RzdH0vYm9vdC9rZXJuZWwKLQllY2hvICJoaW50LmFjcGkuMC5kaXNh YmxlZD1cIjFcIiIgPiAke2RzdH0vYm9vdC9sb2FkZXIuY29uZgotCWVjaG8gImNvbnNvbGU9XCJj b21jb25zb2xlXCIiID4+ICR7ZHN0fS9ib290L2xvYWRlci5jb25mCi0JY3AgLXAgL2Jvb3QvbG9h ZGVyICR7ZHN0fS9ib290L2xvYWRlciB8fCBmYWlsICQ/IG5vX3NwYWNlICJjb3B5aW5nIGJvb3Rs b2FkZXIiCi0JY3AgLXAga2VybmVsLmd6ICR7ZHN0fS9ib290L2tlcm5lbC9rZXJuZWwuZ3ogfHwg ZmFpbCAkPyBub19zcGFjZSAiY29weWluZyBrZXJuZWwiCi0gICAgZmkKLQotICAgICMgbm93IHRy YW5zZmVyIHRoZSBmbG9wcHkgdHJlZS4gSWYgaXQgaXMgYWxyZWFkeSBpbiBtZnMsIGRvbnQgYm90 aGVyLgotICAgIGlmIFsgIiR7b19hbGxfaW5fbWZzfSIgIT0gInllcyIgXSA7IHRoZW4KLQlsb2cg Ik5vdyB0cmFuc2ZlciBmbG9wcHkgdHJlZSBpZiBub3QgYWxyZWFkeSBpbiBNRlMgaW1hZ2UiCi0J Y3AgLVJwIGZsb3BweS50cmVlLyogJHtkc3R9IHx8IFwKLQkJZmFpbCAkPyBub19zcGFjZSAiY29w eWluZyBmbG9wcHkgdHJlZSIKLSAgICBmaQotICAgICkKLQotICAgICMgYWRkIGxvY2FsIG1hbmlw dWxhdGlvbiB0byB0aGUgaW1hZ2UKLSAgICBpZiBbIC1mICR7TVlfVFJFRX0vYnVpbGR0cmVlLm1r IF0gOyB0aGVuCi0JJHtCSU5NQUtFfSAtQyAke2RzdH0gLWYgJHtNWV9UUkVFfS9idWlsZHRyZWUu bWsgaW1hZ2UudHJlZQotICAgIGZpCi0KLSAgICBsb2cgImltYWdlIHVzZWQgYGR1IC1zICR7ZHN0 fWAgb2YgJHtibG9ja3N9ayIKLSAgICAoY2QgJHtCVUlMRERJUn0KLSAgICBtYWtlZnMgLXQgZmZz IC1vIGJzaXplPTQwOTYgLW8gZnNpemU9NTEyIFwKLQktcyAke2Jsb2Nrc31rIC1mIDUwICR7Y19p bWd9ICR7ZHN0fQotICAgICMgJHtsX2xhYmVsfSAtZiBgcHdkYC8ke2NfaW1nfQotICAgICR7bF9s YWJlbH0gLXcgLWYgYHB3ZGAvJHtjX2ltZ30gYXV0byAjIHdyaXRlIGluIGEgbGFiZWwKLSAgICAj IGNvcHkgcGFydGl0aW9uIGM6IGludG8gYTogd2l0aCBzb21lIHNlZCBtYWdpYwotICAgICR7bF9s YWJlbH0gLWYgYHB3ZGAvJHtjX2ltZ30gfCBzZWQgLWUgJy8gIGM6L3twO3MvYzovYTovO30nIHwg XAotCSR7bF9sYWJlbH0gLVIgLWYgYHB3ZGAvJHtjX2ltZ30gL2Rldi9zdGRpbgotICAgICR7bF9s YWJlbH0gLWYgYHB3ZGAvJHtjX2ltZ30KLQotICAgIGxzIC1sICR7Y19pbWd9Ci0gICAgJHtsX2xh YmVsfSAtZiBgcHdkYC8ke2NfaW1nfQotICAgIGxvZ3ZlcmJvc2UgImFmdGVyIGRpc2tsYWJlbCIK LSAgICApCi0KLSAgICBlY2hvICJCVUlMRERJUiAke0JVSUxERElSfSIKLSAgICBpZiBbICIke2dl bmVyYXRlX2lzb30iID0gIllFUyIgXTsgdGhlbgotCWVjaG8gImdlbmVyYXRlX2lzbyAke2dlbmVy YXRlX2lzb30iCi0JI2J1aWxkX2lzb19pbWFnZSgpCi0JZXhpdCAxCisJICAgICgKKwkgICAgY2Qg JHtCVUlMRERJUn0KKwkgICAgc2V0IDAgMCAjIHJlc2V0IHZhcmlhYmxlcworCSAgICAjICQxIHRh a2VzIHRoZSBvZmZzZXQgb2YgdGhlIE1GUyBmaWxlc3lzdGVtCisJICAgIHNldCBgc3RyaW5ncyAt YXQgZCBrZXJuZWwgfCBncmVwICJNRlMgRmlsZXN5c3RlbSBnb2VzIGhlcmUiYAorCSAgICBtZnNf c3RhcnQ9JDEKKwkgICAgc2V0IDAgMCAjIHJlc2V0IHZhcmlhYmxlcworCSAgICBzZXQgYHN0cmlu Z3MgLWF0IGQga2VybmVsIHwgZ3JlcCAiTUZTIEZpbGVzeXN0ZW0gaGFkIGJldHRlciJgCisJICAg IG1mc19lbmQ9JDEKKwkgICAgbWZzX3NpemU9IiQoKCR7bWZzX2VuZH0gLSAke21mc19zdGFydH0p KSIKKwkgICAgc2V0IC0tIGBscyAtbCAke2NfZnN9YDsgaW1nc2l6ZT0iJDUiCisJICAgIGlmIFsg JHttZnNfc3RhcnR9IC1ndCAwIC1hICR7bWZzX3NpemV9IC1nZSAke2ltZ3NpemV9IF0gOyB0aGVu CisJCW1mc19vZnM9JCgoJHttZnNfc3RhcnR9ICsgODE5MikpCisJCWxvZyAiUHJlbG9hZCBrZXJu ZWwgd2l0aCBmaWxlICR7Y19mc30gYXQgJHttZnNfb2ZzfSIKKwkJZGQgaWY9JHtjX2ZzfSBpYnM9 ODE5MiBpc2Vlaz0xIG9mPWtlcm5lbCBvYnM9JHttZnNfb2ZzfSBcCisJCSAgICBvc2Vlaz0xIGNv bnY9bm90cnVuYyAyPiAvZGV2L251bGwKKwkgICAgZWxzZQorCQlsb2cgIm5vdCBsb2FkaW5nIG1m cywgc2l6ZSAke21mc19zaXplfSBpbWcgJHtpbWdzaXplfSIKKwkgICAgZmkKKwkgICAgbG9nICJD b21wcmVzcyB3aXRoIGtnemlwIGFuZCBjb3B5IHRvIGZsb3BweSBpbWFnZSIKKwkgICAga2d6aXAg LW8ga2VybmVsLmd6IGtlcm5lbAorCSAgICBjcCAtcCBrZXJuZWwuZ3ogJHtkc3R9L2tlcm5lbCB8 fCBmYWlsICQ/IG5vX3NwYWNlICJjb3B5aW5nIGtlcm5lbCIKKworCSAgICBsb2cgIk5vdyB0cmFu c2ZlciBmbG9wcHkgdHJlZSBpZiBub3QgYWxyZWFkeSBpbiBNRlMgaW1hZ2UiCisJICAgICMgbm93 IHRyYW5zZmVyIHRoZSBmbG9wcHkgdHJlZS4gSWYgaXQgaXMgYWxyZWFkeSBpbiBtZnMsIGRvbnQg Ym90aGVyLgorCSAgICBpZiBbICIke29fYWxsX2luX21mc30iICE9ICJ5ZXMiIF0gOyB0aGVuCisJ CWNwIC1ScCBmbG9wcHkudHJlZS8qICR7ZHN0fSB8fCBcCisJCQlmYWlsICQ/IG5vX3NwYWNlICJj b3B5aW5nIGZsb3BweSB0cmVlIgorCSAgICBmaQorCSAgICApCisgICAgZmkJCSAgICAKKworICAg IGlmIFsgIiR7b190YXJnZXRfYXJjaH0iICE9ICJhcm0iIF0gOyB0aGVuCisJICAgIChjZCAke0JV SUxERElSfQorCSAgICBtYWtlZnMgLXQgZmZzIC1vIGJzaXplPTQwOTYgLW8gZnNpemU9NTEyIFwK KwkJLXMgJHtibG9ja3N9ayAtZiA1MCAke2NfaW1nfSAke2RzdH0KKwkgICAgIyAke2xfbGFiZWx9 IC1mIGBwd2RgLyR7Y19pbWd9CisJICAgICR7bF9sYWJlbH0gLXcgLWYgYHB3ZGAvJHtjX2ltZ30g YXV0byAjIHdyaXRlIGluIGEgbGFiZWwKKwkgICAgIyBjb3B5IHBhcnRpdGlvbiBjOiBpbnRvIGE6 IHdpdGggc29tZSBzZWQgbWFnaWMKKwkgICAgJHtsX2xhYmVsfSAtZiBgcHdkYC8ke2NfaW1nfSB8 IHNlZCAtZSAnLyAgYzove3A7cy9jOi9hOi87fScgfCBcCisJCSR7bF9sYWJlbH0gLVIgLWYgYHB3 ZGAvJHtjX2ltZ30gL2Rldi9zdGRpbgorCSAgICAke2xfbGFiZWx9IC1mIGBwd2RgLyR7Y19pbWd9 CisJICAgIGxzIC1sICR7Y19pbWd9CisJCWxvZ3ZlcmJvc2UgImFmdGVyIGRpc2tsYWJlbCIKKwkJ ICkKKwkgICAgIyBkdW1wIHRoZSBwcmltYXJ5IGFuZCBzZWNvbmRhcnkgYm9vdAorCSAgICAjIFhY WCBwcmltYXJ5IGlzIDUxMiBieXRlcworCSAgICBkZCBpZj0ke2NfYm9vdDF9IG9mPSR7QlVJTERE SVJ9LyR7Y19pbWd9IGNvbnY9bm90cnVuYyAyPi9kZXYvbnVsbAorCSAgICAjIFhYWCBzZWNvbmRh cnkgc3RhcnRzIGFmdGVyIHRoZSAweDExNCA9IGRlYyAyNzYgYnl0ZXMgb2YgdGhlIGxhYmVsCisJ ICAgICMgc28gd2Ugc2tpcCAyNzYgZnJvbSB0aGUgc291cmNlLCBhbmQgMjc2KzUxMj03ODggZnJv bSBkc3QKKwkgICAgIyB0aGUgb2xkIHN0eWxlIGJsb2NrcyB1c2VkIDUxMiBhbmQgMTAyNCByZXNw ZWN0aXZlbHkKKworCSAgICBkZCBpZj0ke2IyfSBpc2Vlaz0xIGlicz0yNzYgMj4gL2Rldi9udWxs IHwgXAorCQlkZCBvZj0ke0JVSUxERElSfS8ke2NfaW1nfSBvc2Vlaz0xIG9icz03ODggY29udj1u b3RydW5jIDI+L2Rldi9udWxsCisJICAgIGxvZ3ZlcmJvc2UgImRvbmUgZmxvcHB5IGltYWdlIgog ICAgIGZpCi0KLSAgICAjIGR1bXAgdGhlIHByaW1hcnkgYW5kIHNlY29uZGFyeSBib290Ci0gICAg IyBYWFggcHJpbWFyeSBpcyA1MTIgYnl0ZXMKLSAgICBkZCBpZj0ke2NfYm9vdDF9IG9mPSR7QlVJ TERESVJ9LyR7Y19pbWd9IGNvbnY9bm90cnVuYyAyPi9kZXYvbnVsbAotICAgICMgWFhYIHNlY29u ZGFyeSBzdGFydHMgYWZ0ZXIgdGhlIDB4MTE0ID0gZGVjIDI3NiBieXRlcyBvZiB0aGUgbGFiZWwK LSAgICAjIHNvIHdlIHNraXAgMjc2IGZyb20gdGhlIHNvdXJjZSwgYW5kIDI3Nis1MTI9Nzg4IGZy b20gZHN0Ci0gICAgIyB0aGUgb2xkIHN0eWxlIGJsb2NrcyB1c2VkIDUxMiBhbmQgMTAyNCByZXNw ZWN0aXZlbHkKLQotICAgIGRkIGlmPSR7YjJ9IGlzZWVrPTEgaWJzPTI3NiAyPiAvZGV2L251bGwg fCBcCi0JZGQgb2Y9JHtCVUlMRERJUn0vJHtjX2ltZ30gb3NlZWs9MSBvYnM9Nzg4IGNvbnY9bm90 cnVuYyAyPi9kZXYvbnVsbAotICAgIGxvZ3ZlcmJvc2UgImRvbmUgZmxvcHB5IGltYWdlIgogICAg ICMgWFhYIChsb2cgIkZpeGluZyBwZXJtaXNzaW9ucyI7IGNkICR7ZHN0fTsgY2hvd24gLVIgcm9v dCAqKQogICAgIHJtIC1yZiAke0JVSUxERElSfS9mbG9wcHkudHJlZSB8fCB0cnVlICMgY2xlYW51 cAogICAgICMgZGYgLWlrICR7ZHN0fSB8IGNvbHJtIDcwID4gLmJ1aWxkLnJlcGx5CiAgICAgcm0g LXJmICR7ZHN0fQotICAgIHJtICR7QlVJTERESVJ9LyR7Y19mc30KLSAgICAjIHJtICR7QlVJTERE SVJ9L2tlcm5lbC5negorICAgIHJtIC1mICR7QlVJTERESVJ9L2tlcm5lbC5neiAke0JVSUxERElS fS8ke2NfZnN9CiB9CiAKICMgVGhpcyBmdW5jdGlvbiBjcmVhdGVzIHZhcmlhYmxlcyB3aGljaCBk ZXBlbmQgb24gdGhlIHNvdXJjZSB0cmVlIGluIHVzZToKQEAgLTg2Niw4ICs4NzEsMTkgQEAgc2V0 X2J1aWxkX3BhcmFtZXRlcnMoKSB7CiAjIGFyZ3VtZW50cy4KIAogc2V0X2RlZmF1bHRzCi13aGls ZSBbIHRydWUgXTsgZG8KK2FyZ3M9IiIKK3doaWxlIFsgeCIkMSIgIT0geCBdOyBkbwogICAgIGNh c2UgJDEgaW4KKyAgICAtLXRhcmdldF9hcmNoKQorICAgIAlvX3RhcmdldF9hcmNoPSQyCisgICAg CVRBUkdFVF9BUkNIPSQyCisJZXhwb3J0IFRBUkdFVF9BUkNICisJc2hpZnQKKwk7OworICAgIC0t dGFyZ2V0X2NwdXR5cGUpCisJVEFSR0VUX0NQVVRZUEU9JDIKKyAgICAJc2hpZnQKKwk7OwkKICAg ICAtLXNyYykJIyBzZXQgdGhlIHNvdXJjZSBwYXRoIGluc3RlYWQgb2YgL3Vzci9zcmMKIAlTUkM9 YChjZCAkMjsgcHdkKWAKIAlzaGlmdApAQCAtODgxLDE3ICs4OTcsMTIgQEAgd2hpbGUgWyB0cnVl IF07IGRvCiAJc2hpZnQKIAk7OwogCi0gICAgLS1ub19sb2FkZXIpCSMgb21pdCAvYm9vdC9sb2Fk ZXIsIGp1c3QgcmVseSBvbiBib290MgotCQkJIyAoaXQgbWF5IGhhdmUgcHJvYmxlbXMgd2l0aCBr ZXJuZWxzID4gNE1CKQotCW9fdXNlX2xvYWRlcj0ibm8iCi0JOzsKLQogICAgIC0tYWxsX2luX21m cykKIAlvX2FsbF9pbl9tZnM9InllcyIKIAk7OwogCiAgICAgLS1ub19hbGxfaW5fbWZzKQotCW9f YWxsX2luX21mcz0ibm8iCisJb19hbGxfaW5fbWZzPSIiCiAJOzsKIAogICAgIC0tbW9kdWxlcykJ IyBhbHNvIGJ1aWxkIGtlcm5lbCBtb2R1bGVzCkBAIC05MTEsMjQgKzkyMiwyMSBAQCB3aGlsZSBb IHRydWUgXTsgZG8KIAlvX3RhcnY9InYiCQkJIyB0YXIgdmVyYm9zZSBmbGFnCiAJb19tYWtlb3B0 cz0iLWQgbCIgIyBiZSB2ZXJib3NlCiAJOzsKLQotICAgIC0taXNvKSAjIGdlbmVyYXRlIGlzbyBp bWFnZQotCWdlbmVyYXRlX2lzbz0iWUVTIgotCTs7Ci0KICAgICAqKQotCWJyZWFrCisJYXJncz0i JGFyZ3MgJDEiCQkJIyBhY2N1bXVsYXRlIGFyZ3MKIAk7OwogCiAgICAgZXNhYwogICAgIHNoaWZ0 CiBkb25lCiBzZXRfYnVpbGRfcGFyYW1ldGVycwkjIHRoaW5ncyB0aGF0IGRlcGVuZCBvbiAke1NS Q30KLXNldF90eXBlICQxICQyCQkjIHR5cGUgYW5kIHNpdGUsIHJlc3BlY3RpdmVseQogCiAjIElm ICQxPSJwYWNrYWdlIiwgaXQgY3JlYXRlcyBhIG5lYXQgc2V0IG9mIGZsb3BwaWVzCitzZXQgLS0g JHthcmdzfQogWyAiJDEiID0gInBhY2thZ2UiIF0gJiYgYnVpbGRfcGFja2FnZQogCitzZXRfdHlw ZSAkYXJncwkJIyB0eXBlIGFuZCBzaXRlLCByZXNwZWN0aXZlbHkKKwogWyAiJHtvX2ludGVyYWN0 aXZlfSIgIT0gIk5PIiBdICYmIG1haW5fZGlhbG9nCiAKIGlmIFsgIiR7b19jbGVhbn0iID0gIllF UyIgXSA7IHRoZW4KLS0tIC9kZXYvbnVsbAorKysgYi9yZWxlYXNlL3BpY29ic2QvYnVpbGQvcmVh ZG1lLmFybQpAQCAtMCwwICsxLDE0IEBACitCdWlsZGluZyBQSUNPQlNEIEFSTSBpbWFnZXMKKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorPHNyY2Rpcj4gaXMgdGhlIGRpcmVjdG9yeSB3aGVy ZSB0aGUgRnJlZUJTRCBzb3VyY2UgdHJlZSBsaXZlcy4KKworQ3JlYXRlIHN1aXRhYmxlIGNyb3Nz LWNvbXBpbGluZyBlbnZpcm9ubWVudDoKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCitjZCA8c3JjZGlyPgorbWFrZSBUQVJHRVRfQVJDSD1hcm0gVEFSR0VUX0NQ VVRZUEU9eHNjYWxlIGJ1aWxkd29ybGQKK21rZGlyIC1wIC4uL3VzcgorbG4gLXMgL3Vzci9vYmov IC4uL3Vzci9vYmotcGljbworCitCdWlsZCBQSUNPQlNECistLS0tLS0tLS0tLS0tCisuL3BpY29i c2QgLS10YXJnZXRfYXJjaCBhcm0gLS10YXJnZXRfY3B1dHlwZSB4c2NhbGUgLS1zcmMgPHNyY2Rp cj4gLW4gLXYgZ3Vtc3RpeCAK --20cf300514a26a3d3e04b5c0b8e6--