From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Kiper Subject: =?utf-8?q?=5BPATCH_v3_14/16=5D_x86/boot=3A_implement_?= =?utf-8?q?early_command_line_parser_in_C?= Date: Fri, 15 Apr 2016 14:33:14 +0200 Message-ID: <1460723596-13261-15-git-send-email-daniel.kiper@oracle.com> References: <1460723596-13261-1-git-send-email-daniel.kiper@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([85.158.143.247]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ar2xB-0005TH-0E for xen-devel@lists.xenproject.org; Fri, 15 Apr 2016 12:34:29 +0000 In-Reply-To: <1460723596-13261-1-git-send-email-daniel.kiper@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: jgross@suse.com, andrew.cooper3@citrix.com, stefano.stabellini@eu.citrix.com, cardoe@cardoe.com, pgnet.dev@gmail.com, ning.sun@intel.com, david.vrabel@citrix.com, jbeulich@suse.com, qiaowei.ren@intel.com, richard.l.maliszewski@intel.com, gang.wei@intel.com, fu.wei@linaro.org List-Id: xen-devel@lists.xenproject.org Q3VycmVudCBlYXJseSBjb21tYW5kIGxpbmUgcGFyc2VyIGltcGxlbWVudGF0aW9uIGluIGFzc2Vt YmxlcgppcyB2ZXJ5IGRpZmZpY3VsdCB0byBjaGFuZ2UgdG8gcmVsb2NhdGFibGUgc3R1ZmYgdXNp bmcgc2VnbWVudApyZWdpc3RlcnMuIFRoaXMgcmVxdWlyZXMgYSBsb3Qgb2YgY2hhbmdlcyBpbiB2 ZXJ5IHdlaXJkIGFuZApmcmFnaWxlIGNvZGUuIFNvLCByZWltcGxlbWVudCB0aGlzIGZ1bmN0aW9u YWxpdHkgaW4gQy4gVGhpcwp3YXkgY29kZSB3aWxsIGJlIHJlbG9jYXRhYmxlIG91dCBvZiB0aGUg Ym94ICh3aXRob3V0IHBsYXlpbmcKd2l0aCBzZWdtZW50IHJlZ2lzdGVycykgYW5kIG11Y2ggZWFz aWVyIHRvIG1haW50YWluLgoKU3VnZ2VzdGVkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29v cGVyM0BjaXRyaXguY29tPgpTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgS2lwZXIgPGRhbmllbC5raXBl ckBvcmFjbGUuY29tPgotLS0KdjMgLSBzdWdnZXN0aW9ucy9maXhlczoKICAgLSBvcHRpbWl6ZSBz b21lIGNvZGUKICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKSwKICAgLSBwdXQgVkVTQSBk YXRhIGludG8gZWFybHlfYm9vdF9vcHRzX3QgbWVtYmVycwogICAgIChzdWdnZXN0ZWQgYnkgSmFu IEJldWxpY2gpLAogICAtIHJlbmFtZSBzb21lIGZ1bmN0aW9ucyBhbmQgdmFyaWFibGVzCiAgICAg KHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCksCiAgIC0gbW92ZSBhcm91bmQgdmlkZW8uaCBpbmNs dWRlIGluIHhlbi9hcmNoL3g4Ni9ib290L3RyYW1wb2xpbmUuUwogICAgIChzdWdnZXN0ZWQgYnkg SmFuIEJldWxpY2gpLAogICAtIGZpeCBjb2Rpbmcgc3R5bGUKICAgICAoc3VnZ2VzdGVkIGJ5IEph biBCZXVsaWNoKSwKICAgLSBmaXggYnVpbGQgd2l0aCBvbGRlciBHQ0MKICAgICAoc3VnZ2VzdGVk IGJ5IEtvbnJhZCBSemVzenV0ZWsgV2lsayksCiAgIC0gcmVtb3ZlIHJlZHVuZGFudCBjb21tZW50 cwogICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpLAogICAtIGFkZCBzb21lIGNvbW1lbnRz CiAgIC0gaW1wcm92ZSBjb21taXQgbWVzc2FnZQogICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxp Y2gpLgotLS0KIC5naXRpZ25vcmUgICAgICAgICAgICAgICAgICAgICB8ICAgIDUgKy0KIHhlbi9h cmNoL3g4Ni9NYWtlZmlsZSAgICAgICAgICB8ICAgIDIgKy0KIHhlbi9hcmNoL3g4Ni9ib290L01h a2VmaWxlICAgICB8ICAgIDcgKy0KIHhlbi9hcmNoL3g4Ni9ib290L2J1aWxkMzIubGRzICB8ICAg IDEgKwogeGVuL2FyY2gveDg2L2Jvb3QvYnVpbGQzMi5tayAgIHwgICAgNCArLQogeGVuL2FyY2gv eDg2L2Jvb3QvY21kbGluZS5TICAgIHwgIDM2NyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCiB4ZW4vYXJjaC94ODYvYm9vdC9jbWRsaW5lLmMgICAgfCAgMzU3ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB4ZW4vYXJjaC94ODYvYm9vdC9lZGQu UyAgICAgICAgfCAgICAzIC0KIHhlbi9hcmNoL3g4Ni9ib290L2hlYWQuUyAgICAgICB8ICAgMTcg KysKIHhlbi9hcmNoL3g4Ni9ib290L3RyYW1wb2xpbmUuUyB8ICAgMTIgKysKIHhlbi9hcmNoL3g4 Ni9ib290L3ZpZGVvLlMgICAgICB8ICAgIDYgLQogMTEgZmlsZXMgY2hhbmdlZCwgNDAwIGluc2Vy dGlvbnMoKyksIDM4MSBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCB4ZW4vYXJjaC94 ODYvYm9vdC9jbWRsaW5lLlMKIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vYXJjaC94ODYvYm9vdC9j bWRsaW5lLmMKCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQppbmRleCA5MWY2 OTBjLi42OTE5NTQ2IDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5naXRpZ25vcmUKQEAg LTIzNyw5ICsyMzcsMTAgQEAgeGVuL2FyY2gvYXJtL3hlbi5sZHMKIHhlbi9hcmNoL3g4Ni9hc20t b2Zmc2V0cy5zCiB4ZW4vYXJjaC94ODYvYm9vdC9ta2VsZjMyCiB4ZW4vYXJjaC94ODYveGVuLmxk cworeGVuL2FyY2gveDg2L2Jvb3QvY21kbGluZS5TCiB4ZW4vYXJjaC94ODYvYm9vdC9yZWxvYy5T Ci14ZW4vYXJjaC94ODYvYm9vdC9yZWxvYy5iaW4KLXhlbi9hcmNoL3g4Ni9ib290L3JlbG9jLmxu aworeGVuL2FyY2gveDg2L2Jvb3QvKi5iaW4KK3hlbi9hcmNoL3g4Ni9ib290LyoubG5rCiB4ZW4v YXJjaC94ODYvZWZpLmxkcwogeGVuL2FyY2gveDg2L2VmaS9jaGVjay5lZmkKIHhlbi9hcmNoL3g4 Ni9lZmkvZGlzYWJsZWQKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9NYWtlZmlsZSBiL3hlbi9h cmNoL3g4Ni9NYWtlZmlsZQppbmRleCAxYmNiMDhiLi4zMmQyNDA3IDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvTWFrZWZpbGUKKysrIGIveGVuL2FyY2gveDg2L01ha2VmaWxlCkBAIC0xNzYsNCAr MTc2LDQgQEAgY2xlYW46OgogCXJtIC1mIGFzbS1vZmZzZXRzLnMgKi5sZHMgYm9vdC8qLm8gYm9v dC8qfiBib290L2NvcmUgYm9vdC9ta2VsZjMyCiAJcm0gLWYgJChCQVNFRElSKS8ueGVuLXN5bXMu WzAtOV0qIGJvb3QvLiouZAogCXJtIC1mICQoQkFTRURJUikvLnhlbi5lZmkuWzAtOV0qIGVmaS8q Lm8gZWZpLy4qLmQgZWZpLyouZWZpIGVmaS9kaXNhYmxlZCBlZmkvbWtyZWxvYwotCXJtIC1mIGJv b3QvcmVsb2MuUyBib290L3JlbG9jLmxuayBib290L3JlbG9jLmJpbgorCXJtIC1mIGJvb3QvY21k bGluZS5TIGJvb3QvcmVsb2MuUyBib290LyoubG5rIGJvb3QvKi5iaW4KZGlmZiAtLWdpdCBhL3hl bi9hcmNoL3g4Ni9ib290L01ha2VmaWxlIGIveGVuL2FyY2gveDg2L2Jvb3QvTWFrZWZpbGUKaW5k ZXggMDY4OTNkOC4uZDczY2M3NiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2Jvb3QvTWFrZWZp bGUKKysrIGIveGVuL2FyY2gveDg2L2Jvb3QvTWFrZWZpbGUKQEAgLTEsOSArMSwxNCBAQAogb2Jq LWJpbi15ICs9IGhlYWQubwogCitDTURMSU5FX0RFUFMgPSB2aWRlby5oCisKIFJFTE9DX0RFUFMg PSAkKEJBU0VESVIpL2luY2x1ZGUvYXNtLXg4Ni9jb25maWcuaCAkKEJBU0VESVIpL2luY2x1ZGUv eGVuL211bHRpYm9vdC5oIFwKIAkgICAgICQoQkFTRURJUikvaW5jbHVkZS94ZW4vbXVsdGlib290 Mi5oCiAKLWhlYWQubzogcmVsb2MuUworaGVhZC5vOiBjbWRsaW5lLlMgcmVsb2MuUworCitjbWRs aW5lLlM6IGNtZGxpbmUuYyAkKENNRExJTkVfREVQUykKKwkkKE1BS0UpIC1mIGJ1aWxkMzIubWsg JEAgQ01ETElORV9ERVBTPSIkKENNRExJTkVfREVQUykiCiAKIHJlbG9jLlM6IHJlbG9jLmMgJChS RUxPQ19ERVBTKQogCSQoTUFLRSkgLWYgYnVpbGQzMi5tayAkQCBSRUxPQ19ERVBTPSIkKFJFTE9D X0RFUFMpIgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2Jvb3QvYnVpbGQzMi5sZHMgYi94ZW4v YXJjaC94ODYvYm9vdC9idWlsZDMyLmxkcwppbmRleCA0N2RiOWM0Li42YTIzNGVhIDEwMDY0NAot LS0gYS94ZW4vYXJjaC94ODYvYm9vdC9idWlsZDMyLmxkcworKysgYi94ZW4vYXJjaC94ODYvYm9v dC9idWlsZDMyLmxkcwpAQCAtMjUsNiArMjUsNyBAQCBTRUNUSU9OUwogICAgICAgICAqKC50ZXh0 KQogICAgICAgICAqKC50ZXh0LiopCiAgICAgICAgICooLnJvZGF0YSkKKyAgICAgICAgKigucm9k YXRhLiopCiAgIH0KIAogICAvRElTQ0FSRC8gOiB7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYv Ym9vdC9idWlsZDMyLm1rIGIveGVuL2FyY2gveDg2L2Jvb3QvYnVpbGQzMi5tawppbmRleCBlYjAy YjRiLi41OGUyN2UxIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvYm9vdC9idWlsZDMyLm1rCisr KyBiL3hlbi9hcmNoL3g4Ni9ib290L2J1aWxkMzIubWsKQEAgLTIzLDcgKzIzLDcgQEAgQ0ZMQUdT IDo9ICQoZmlsdGVyLW91dCAtZmx0bywkKENGTEFHUykpCiAJJChPQkpEVU1QKSAtaCAkPCB8IHNl ZCAtbiAnL1swLTldL3tzLDAwKiwwLGc7cDt9JyB8XAogCQl3aGlsZSByZWFkIGlkeCBuYW1lIHN6 IHJlc3Q7IGRvIFwKIAkJCWNhc2UgIiQkbmFtZSIgaW4gXAotCQkJLmRhdGF8LmRhdGEuKnwucm9k YXRhLip8LmJzc3wuYnNzLiopIFwKKwkJCS5kYXRhfC5kYXRhLip8LmJzc3wuYnNzLiopIFwKIAkJ CQl0ZXN0ICQkc3ogIT0gMCB8fCBjb250aW51ZTsgXAogCQkJCWVjaG8gIkVycm9yOiBub24tZW1w dHkgJCRuYW1lOiAweCQkc3oiID4mMjsgXAogCQkJCWV4aXQgJCQoZXhwciAkJGlkeCArIDEpOzsg XApAQCAtMzQsNiArMzQsOCBAQCBDRkxBR1MgOj0gJChmaWx0ZXItb3V0IC1mbHRvLCQoQ0ZMQUdT KSkKICUubzogJS5jCiAJJChDQykgJChDRkxBR1MpIC1jIC1mcGljICQ8IC1vICRACiAKK2NtZGxp bmUubzogY21kbGluZS5jICQoQ01ETElORV9ERVBTKQorCiByZWxvYy5vOiByZWxvYy5jICQoUkVM T0NfREVQUykKIAogLlBSRUNJT1VTOiAlLmJpbiAlLmxuawpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv eDg2L2Jvb3QvY21kbGluZS5TIGIveGVuL2FyY2gveDg2L2Jvb3QvY21kbGluZS5TCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDY4N2ViLi4wMDAwMDAwCi0tLSBhL3hlbi9hcmNoL3g4 Ni9ib290L2NtZGxpbmUuUworKysgL2Rldi9udWxsCkBAIC0xLDM2NyArMCwwIEBACi0vKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqCi0gKiBjbWRsaW5lLlMKLSAqCi0gKiBFYXJseSBjb21tYW5kLWxpbmUg cGFyc2luZy4KLSAqLwotCi0gICAgICAgIC5jb2RlMzIKLQotI2luY2x1ZGUgInZpZGVvLmgiCi0K LSMgTkIuIFN0cmluZyBwb2ludGVyIG9uIHN0YWNrIGlzIG1vZGlmaWVkIHRvIHBvaW50IHBhc3Qg cGFyc2VkIGRpZ2l0cy4KLS5MYXRvaToKLSAgICAgICAgcHVzaCAgICAlZWJ4Ci0gICAgICAgIHB1 c2ggICAgJWVjeAotICAgICAgICBwdXNoICAgICVlZHgKLSAgICAgICAgcHVzaCAgICAlZXNpCi0g ICAgICAgIHhvciAgICAgJWVieCwlZWJ4ICAgICAgIC8qICVlYnggPSBhY2N1bXVsYXRvciAqLwot ICAgICAgICBtb3YgICAgICQxMCwlZWN4ICAgICAgICAvKiAlZWN4ID0gYmFzZSAoZGVmYXVsdCBi YXNlIDEwKSAqLwotICAgICAgICBtb3YgICAgIDE2KzQoJWVzcCksJWVzaSAvKiAlZXNpID0gcG9p bnRlciBpbnRvIGFzY2lpIHN0cmluZy4gKi8KLSAgICAgICAgbG9kc2IKLSAgICAgICAgY21wYiAg ICAkJzAnLCVhbAotICAgICAgICBqbmUgICAgIDJmCi0gICAgICAgIG1vdiAgICAgJDgsJWVjeCAg ICAgICAgIC8qIFByZWZpeCAnMCcgPT4gb2N0YWwgKGJhc2UgOCkgKi8KLSAgICAgICAgbG9kc2IK LSAgICAgICAgY21wYiAgICAkJ3gnLCVhbAotICAgICAgICBqbmUgICAgIDJmCi0gICAgICAgIG1v diAgICAgJDE2LCVlY3ggICAgICAgIC8qIFByZWZpeCAnMHgnID0+IGhleCAoYmFzZSAxNikgKi8K LTE6ICAgICAgbG9kc2IKLTI6ICAgICAgc3ViICAgICAkJzAnLCVhbAotICAgICAgICBqYiAgICAg IDRmCi0gICAgICAgIGNtcCAgICAgJDksJWFsCi0gICAgICAgIGpiZSAgICAgM2YKLSAgICAgICAg c3ViICAgICAkJ0EnLScwJy0xMCwlYWwKLSAgICAgICAgamIgICAgICA0ZgotICAgICAgICBjbXAg ICAgICQxNSwlYWwKLSAgICAgICAgamJlICAgICAzZgotICAgICAgICBzdWIgICAgICQnYSctJ0En LCVhbAotICAgICAgICBqYiAgICAgIDRmCi0zOiAgICAgIGNtcCAgICAgJWNsLCVhbAotICAgICAg ICBqYWUgICAgIDRmCi0gICAgICAgIG1vdnpibCAgJWFsLCVlYXgKLSAgICAgICAgeGNoZyAgICAl ZWF4LCVlYngKLSAgICAgICAgbXVsICAgICAlZWN4Ci0gICAgICAgIHhjaGcgICAgJWVheCwlZWJ4 Ci0gICAgICAgIGFkZCAgICAgJWVheCwlZWJ4Ci0gICAgICAgIGptcCAgICAgMWIKLTQ6ICAgICAg bW92ICAgICAlZWJ4LCVlYXgKLSAgICAgICAgZGVjICAgICAlZXNpCi0gICAgICAgIG1vdiAgICAg JWVzaSwxNis0KCVlc3ApCi0gICAgICAgIHBvcCAgICAgJWVzaQotICAgICAgICBwb3AgICAgICVl ZHgKLSAgICAgICAgcG9wICAgICAlZWN4Ci0gICAgICAgIHBvcCAgICAgJWVieAotICAgICAgICBy ZXQKLQotLkxzdHJzdHI6Ci0gICAgICAgIHB1c2ggICAgJWVjeAotICAgICAgICBwdXNoICAgICVl ZHgKLSAgICAgICAgcHVzaCAgICAlZXNpCi0gICAgICAgIHB1c2ggICAgJWVkaQotICAgICAgICB4 b3IgICAgICVlYXgsJWVheAotICAgICAgICB4b3IgICAgICVlY3gsJWVjeAotICAgICAgICBub3Qg ICAgICVlY3gKLSAgICAgICAgbW92ICAgICAxNis0KCVlc3ApLCVlc2kKLSAgICAgICAgbW92ICAg ICAxNis4KCVlc3ApLCVlZGkKLSAgICAgICAgcmVwbmUgICBzY2FzYgotICAgICAgICBub3QgICAg ICVlY3gKLSAgICAgICAgZGVjICAgICAlZWN4Ci0gICAgICAgIG1vdiAgICAgJWVjeCwlZWR4Ci0x OiAgICAgIG1vdiAgICAgMTYrOCglZXNwKSwlZWRpCi0gICAgICAgIG1vdiAgICAgJWVzaSwlZWF4 Ci0gICAgICAgIG1vdiAgICAgJWVkeCwlZWN4Ci0gICAgICAgIHJlcGUgICAgY21wc2IKLSAgICAg ICAgamUgICAgICAyZgotICAgICAgICB4Y2hnICAgICVlYXgsJWVzaQotICAgICAgICBpbmMgICAg ICVlc2kKLSAgICAgICAgY21wYiAgICAkMCwtMSglZWF4KQotICAgICAgICBqbmUgICAgIDFiCi0g ICAgICAgIHhvciAgICAgJWVheCwlZWF4Ci0yOiAgICAgIHBvcCAgICAgJWVkaQotICAgICAgICBw b3AgICAgICVlc2kKLSAgICAgICAgcG9wICAgICAlZWR4Ci0gICAgICAgIHBvcCAgICAgJWVjeAot ICAgICAgICByZXQKLQotLkxzdHJfcHJlZml4OgotICAgICAgICBwdXNoICAgICVlc2kKLSAgICAg ICAgcHVzaCAgICAlZWRpCi0gICAgICAgIG1vdiAgICAgOCs0KCVlc3ApLCVlc2kgLyogMXN0IGFy ZyBpcyBwcmVmaXggc3RyaW5nICovCi0gICAgICAgIG1vdiAgICAgOCs4KCVlc3ApLCVlZGkgLyog Mm5kIGFyZyBpcyBtYWluIHN0cmluZyAqLwotMTogICAgICBsb2RzYgotICAgICAgICB0ZXN0ICAg ICVhbCwlYWwKLSAgICAgICAganogICAgICAyZgotICAgICAgICBzY2FzYgotICAgICAgICBqZSAg ICAgIDFiCi0gICAgICAgIHNiYiAgICAgJWVheCwlZWF4Ci0gICAgICAgIG9yICAgICAgJDEsJWFs Ci0gICAgICAgIGptcCAgICAgM2YKLTI6ICAgICAgeG9yICAgICAlZWF4LCVlYXgKLTM6ICAgICAg cG9wICAgICAlZWRpCi0gICAgICAgIHBvcCAgICAgJWVzaQotICAgICAgICByZXQKLQotLkxzdHJs ZW46Ci0gICAgICAgIHB1c2ggICAgJWVjeAotICAgICAgICBwdXNoICAgICVlc2kKLSAgICAgICAg cHVzaCAgICAlZWRpCi0gICAgICAgIHhvciAgICAgJWVheCwlZWF4Ci0gICAgICAgIHhvciAgICAg JWVjeCwlZWN4Ci0gICAgICAgIG5vdCAgICAgJWVjeAotICAgICAgICBtb3YgICAgIDEyKzQoJWVz cCksJWVkaQotICAgICAgICByZXBuZSAgIHNjYXNiCi0gICAgICAgIG5vdCAgICAgJWVjeAotICAg ICAgICBkZWMgICAgICVlY3gKLSAgICAgICAgbW92ICAgICAlZWN4LCVlYXgKLSAgICAgICAgcG9w ICAgICAlZWRpCi0gICAgICAgIHBvcCAgICAgJWVzaQotICAgICAgICBwb3AgICAgICVlY3gKLSAg ICAgICAgcmV0Ci0KLS5MZmluZF9vcHRpb246Ci0gICAgICAgIG1vdiAgICAgNCglZXNwKSwlZWF4 Ci0gICAgICAgIGRlYyAgICAgJWVheAotICAgICAgICBwdXNoICAgICVlYngKLTE6ICAgICAgcHVz aGwgICA0KzgoJWVzcCkKLSAgICAgICAgaW5jICAgICAlZWF4Ci0gICAgICAgIHB1c2ggICAgJWVh eAotICAgICAgICBjYWxsICAgIC5Mc3Ryc3RyCi0gICAgICAgIGFkZCAgICAgJDgsJWVzcAotICAg ICAgICB0ZXN0ICAgICVlYXgsJWVheAotICAgICAgICBqeiAgICAgIDNmCi0gICAgICAgIGNtcCAg ICAgJWVheCw0KzQoJWVzcCkKLSAgICAgICAgamUgICAgICAyZgotICAgICAgICBjbXBiICAgICQn ICcsLTEoJWVheCkKLSAgICAgICAgam5lICAgICAxYgotMjogICAgICBtb3YgICAgICVlYXgsJWVi eAotICAgICAgICBwdXNobCAgIDQrOCglZXNwKQotICAgICAgICBjYWxsICAgIC5Mc3RybGVuCi0g ICAgICAgIGFkZCAgICAgJDQsJWVzcAotICAgICAgICB4YWRkICAgICVlYXgsJWVieAotICAgICAg ICAvKiBOVUwgY2hlY2sgKGFzICQnXDAnID09IDB4MzAgaW4gR0FTKSAqLwotICAgICAgICBjbXBi ICAgICQwLCglZWJ4KQotICAgICAgICBqZSAgICAgIDNmCi0gICAgICAgIGNtcGIgICAgJCcgJywo JWVieCkKLSAgICAgICAgamUgICAgICAzZgotICAgICAgICBjbXBiICAgICQnPScsKCVlYngpCi0g ICAgICAgIGpuZSAgICAgMWIKLTM6ICAgICAgcG9wICAgICAlZWJ4Ci0gICAgICAgIHJldAotCi1j bWRsaW5lX3BhcnNlX2Vhcmx5OgotICAgICAgICBwdXNoYQotCi0gICAgICAgIC8qIEJhaWwgaWYg dGhlcmUgaXMgbm8gY29tbWFuZCBsaW5lIHRvIHBhcnNlLiAqLwotICAgICAgICBtb3YgICAgIHN5 bV9waHlzKG11bHRpYm9vdF9wdHIpLCVlYngKLSAgICAgICAgbW92ICAgICBNQl9mbGFncyglZWJ4 KSwlZWF4Ci0gICAgICAgIHRlc3QgICAgJDQsJWFsCi0gICAgICAgIGp6ICAgICAgLkxjbWRsaW5l X2V4aXQKLSAgICAgICAgbW92ICAgICBNQl9jbWRsaW5lKCVlYngpLCVlYXgKLSAgICAgICAgdGVz dCAgICAlZWF4LCVlYXgKLSAgICAgICAganogICAgICAuTGNtZGxpbmVfZXhpdAotCi0gICAgICAg IC8qIENoZWNrIGZvciAnbm8tcmVhbC1tb2RlJyBjb21tYW5kLWxpbmUgb3B0aW9uLiAqLwotICAg ICAgICBwdXNobCAgICRzeW1fcGh5cyguTG5vX3JtX29wdCkKLSAgICAgICAgcHVzaGwgICBNQl9j bWRsaW5lKCVlYngpCi0gICAgICAgIGNhbGwgICAgLkxmaW5kX29wdGlvbgotICAgICAgICB0ZXN0 ICAgICVlYXgsJWVheAotICAgICAgICBzZXRueiAgICVhbAotICAgICAgICBvciAgICAgICVhbCxz eW1fcGh5cyhza2lwX3JlYWxtb2RlKQotCi0gICAgICAgIC8qIENoZWNrIGZvciAndGJvb3Q9JyBj b21tYW5kLWxpbmUgb3B0aW9uLiAqLwotICAgICAgICBtb3ZsICAgICRzeW1fcGh5cyguTHRib290 X29wdCksNCglZXNwKQotICAgICAgICBjYWxsICAgIC5MZmluZF9vcHRpb24KLSAgICAgICAgdGVz dCAgICAlZWF4LCVlYXgKLSAgICAgICAgc2V0bnogICAlYWwKLSAgICAgICAgb3IgICAgICAlYWws c3ltX3BoeXMoc2tpcF9yZWFsbW9kZSkgLyogdGJvb3Q9IGltcGxpZXMgbm8tcmVhbC1tb2RlICov Ci0KLS5McGFyc2VfZWRkOgotICAgICAgICAvKiBDaGVjayBmb3IgJ2VkZD0nIGNvbW1hbmQtbGlu ZSBvcHRpb24uICovCi0gICAgICAgIG1vdmwgICAgJHN5bV9waHlzKC5MZWRkX29wdCksNCglZXNw KQotICAgICAgICBjYWxsICAgIC5MZmluZF9vcHRpb24KLSAgICAgICAgdGVzdCAgICAlZWF4LCVl YXgKLSAgICAgICAganogICAgICAuTHBhcnNlX2VkaWQKLSAgICAgICAgY21wYiAgICAkJz0nLDMo JWVheCkKLSAgICAgICAgam5lICAgICAuTHBhcnNlX2VkaWQKLSAgICAgICAgYWRkICAgICAkNCwl ZWF4Ci0gICAgICAgIG1vdmIgICAgJDIsc3ltX3BoeXMob3B0X2VkZCkgIC8qIG9wdF9lZGQ9Mjog ZWRkPW9mZiAqLwotICAgICAgICBjbXB3ICAgICQweDY2NmYsKCVlYXgpICAgICAgICAgICAgLyog MHg2NjZmID09ICJvZiIgKi8KLSAgICAgICAgamUgICAgICAuTHBhcnNlX2VkaWQKLSAgICAgICAg ZGVjYiAgICBzeW1fcGh5cyhvcHRfZWRkKSAgICAgLyogb3B0X2VkZD0xOiBlZGQ9c2tpcG1iciAq LwotICAgICAgICBjbXB3ICAgICQweDZiNzMsKCVlYXgpICAgICAgICAgICAgLyogMHg2YjczID09 ICJzayIgKi8KLSAgICAgICAgamUgICAgICAuTHBhcnNlX2VkaWQKLSAgICAgICAgZGVjYiAgICBz eW1fcGh5cyhvcHRfZWRkKSAgICAgLyogb3B0X2VkZD0wOiBlZGQ9b24gKGRlZmF1bHQpICovCi0K LS5McGFyc2VfZWRpZDoKLSAgICAgICAgLyogQ2hlY2sgZm9yICdlZGlkPScgY29tbWFuZC1saW5l IG9wdGlvbi4gKi8KLSAgICAgICAgbW92bCAgICAkc3ltX3BoeXMoLkxlZGlkX29wdCksNCglZXNw KQotICAgICAgICBjYWxsICAgIC5MZmluZF9vcHRpb24KLSAgICAgICAgdGVzdCAgICAlZWF4LCVl YXgKLSAgICAgICAganogICAgICAuTHBhcnNlX3ZnYQotICAgICAgICBjbXBiICAgICQnPScsNCgl ZWF4KQotICAgICAgICBqbmUgICAgIC5McGFyc2VfdmdhCi0gICAgICAgIGFkZCAgICAgJDUsJWVh eAotICAgICAgICBtb3YgICAgICVlYXgsJWVieAotICAgICAgICBwdXNoICAgICVlYngKLSAgICAg ICAgcHVzaGwgICAkc3ltX3BoeXMoLkxlZGlkX2ZvcmNlKQotICAgICAgICBjYWxsICAgIC5Mc3Ry X3ByZWZpeAotICAgICAgICBhZGQgICAgICQ4LCVlc3AKLSAgICAgICAgbW92YiAgICAkMixzeW1f cGh5cyhvcHRfZWRpZCkgLyogb3B0X2VkaWQ9MjogZWRpZD1mb3JjZSAqLwotICAgICAgICB0ZXN0 ICAgICVlYXgsJWVheAotICAgICAgICBqeiAgICAgIC5McGFyc2VfdmdhCi0gICAgICAgIHB1c2gg ICAgJWVieAotICAgICAgICBwdXNobCAgICRzeW1fcGh5cyguTGVkaWRfbm8pCi0gICAgICAgIGNh bGwgICAgLkxzdHJfcHJlZml4Ci0gICAgICAgIGFkZCAgICAgJDgsJWVzcAotICAgICAgICBkZWNi ICAgIHN5bV9waHlzKG9wdF9lZGlkKSAgICAvKiBvcHRfZWRpZD0xOiBlZGlkPW5vICovCi0gICAg ICAgIHRlc3QgICAgJWVheCwlZWF4Ci0gICAgICAgIGp6ICAgICAgLkxwYXJzZV92Z2EKLSAgICAg ICAgZGVjYiAgICBzeW1fcGh5cyhvcHRfZWRpZCkgICAgLyogb3B0X2VkaWQ9MDogZGVmYXVsdCAq LwotCi0uTHBhcnNlX3ZnYToKLSAgICAgICAgLyogQ2hlY2sgZm9yICd2Z2E9JyBjb21tYW5kLWxp bmUgb3B0aW9uLiAqLwotICAgICAgICBtb3ZsICAgICRzeW1fcGh5cyguTHZnYV9vcHQpLDQoJWVz cCkKLSAgICAgICAgY2FsbCAgICAuTGZpbmRfb3B0aW9uCi0gICAgICAgIGFkZCAgICAgJDgsJWVz cAotICAgICAgICB0ZXN0ICAgICVlYXgsJWVheAotICAgICAgICBqeiAgICAgIC5MY21kbGluZV9l eGl0Ci0gICAgICAgIGNtcGIgICAgJCc9JywzKCVlYXgpCi0gICAgICAgIGpuZSAgICAgLkxjbWRs aW5lX2V4aXQKLSAgICAgICAgYWRkICAgICAkNCwlZWF4Ci0KLSAgICAgICAgLyogRm91bmQgdGhl ICd2Z2E9JyBvcHRpb24uIERlZmF1bHQgb3B0aW9uIGlzIHRvIGRpc3BsYXkgdmdhIG1lbnUuICov Ci0gICAgICAgIG1vdncgICAgJEFTS19WR0Esc3ltX3BoeXMoYm9vdF92aWRfbW9kZSkKLQotICAg ICAgICAvKiBDaGVjayBmb3IgJ3ZnYT10ZXh0LTgweDxyb3dzPi4gKi8KLSAgICAgICAgbW92ICAg ICAlZWF4LCVlYngKLSAgICAgICAgcHVzaCAgICAlZWJ4Ci0gICAgICAgIHB1c2hsICAgJHN5bV9w aHlzKC5MdmdhX3RleHQ4MCkKLSAgICAgICAgY2FsbCAgICAuTHN0cl9wcmVmaXgKLSAgICAgICAg YWRkICAgICAkOCwlZXNwCi0gICAgICAgIHRlc3QgICAgJWVheCwlZWF4Ci0gICAgICAgIGpueiAg ICAgLkxwYXJzZV92Z2FfZ2Z4Ci0KLSAgICAgICAgLyogV2UgaGF2ZSAndmdhPXRleHQtODB4PHJv d3M+Jy4gKi8KLSAgICAgICAgYWRkICAgICAkOCwlZWJ4Ci0gICAgICAgIHB1c2ggICAgJWVieAot ICAgICAgICBjYWxsICAgIC5MYXRvaQotICAgICAgICBhZGQgICAgICQ0LCVlc3AKLSAgICAgICAg bW92ICAgICAlYXgsJWJ4Ci0gICAgICAgIGxlYSAgICAgc3ltX3BoeXMoLkx2Z2FfdGV4dF9tb2Rl cyksJWVzaQotMTogICAgICBsb2RzdwotICAgICAgICB0ZXN0ICAgICVheCwlYXgKLSAgICAgICAg anogICAgICAuTGNtZGxpbmVfZXhpdAotICAgICAgICBjbXAgICAgICVheCwlYngKLSAgICAgICAg bG9kc3cKLSAgICAgICAgam5lICAgICAxYgotICAgICAgICBtb3YgICAgICVheCxzeW1fcGh5cyhi b290X3ZpZF9tb2RlKQotICAgICAgICBqbXAgICAgIC5MY21kbGluZV9leGl0Ci0KLS5McGFyc2Vf dmdhX2dmeDoKLSAgICAgICAgLyogQ2hlY2sgZm9yICd2Z2E9Z2Z4LTx3aWR0aD54PGhlaWdodD54 PGRlcHRoPicuICovCi0gICAgICAgIHB1c2ggICAgJWVieAotICAgICAgICBwdXNobCAgICRzeW1f cGh5cyguTHZnYV9nZngpCi0gICAgICAgIGNhbGwgICAgLkxzdHJfcHJlZml4Ci0gICAgICAgIGFk ZCAgICAgJDgsJWVzcAotICAgICAgICB0ZXN0ICAgICVlYXgsJWVheAotICAgICAgICBqbnogICAg IC5McGFyc2VfdmdhX21vZGUKLQotICAgICAgICAvKiBXZSBoYXZlICd2Z2E9Z2Z4LTx3aWR0aD54 PGhlaWdodD54PGRlcHRoPicuICovCi0gICAgICAgIC8qIHNraXAgJ2dmeC0nICovCi0gICAgICAg IGFkZCAgICAgJDQsJWVieAotICAgICAgICAvKiBwYXJzZSA8d2lkdGg+ICovCi0gICAgICAgIHB1 c2ggICAgJWVieAotICAgICAgICBjYWxsICAgIC5MYXRvaQotICAgICAgICBwb3AgICAgICVlc2kK LSAgICAgICAgbW92ICAgICAlYXgsc3ltX3BoeXModmVzYV9zaXplKSswCi0gICAgICAgIC8qIHNr aXAgJ3gnICovCi0gICAgICAgIGxvZHNiCi0gICAgICAgIGNtcGIgICAgJCd4JywlYWwKLSAgICAg ICAgam5lICAgICAuTGNtZGxpbmVfZXhpdAotICAgICAgICAvKiBwYXJzZSA8aGVpZ2h0PiAqLwot ICAgICAgICBwdXNoICAgICVlc2kKLSAgICAgICAgY2FsbCAgICAuTGF0b2kKLSAgICAgICAgcG9w ICAgICAlZXNpCi0gICAgICAgIG1vdiAgICAgJWF4LHN5bV9waHlzKHZlc2Ffc2l6ZSkrMgotICAg ICAgICAvKiBza2lwICd4JyAqLwotICAgICAgICBsb2RzYgotICAgICAgICBjbXBiICAgICQneCcs JWFsCi0gICAgICAgIGpuZSAgICAgLkxjbWRsaW5lX2V4aXQKLSAgICAgICAgLyogcGFyc2UgPGRl cHRoPiAqLwotICAgICAgICBwdXNoICAgICVlc2kKLSAgICAgICAgY2FsbCAgICAuTGF0b2kKLSAg ICAgICAgcG9wICAgICAlZXNpCi0gICAgICAgIG1vdiAgICAgJWF4LHN5bV9waHlzKHZlc2Ffc2l6 ZSkrNAotICAgICAgICAvKiBjb21taXQgdG8gdmVzYSBtb2RlICovCi0gICAgICAgIG1vdncgICAg JFZJREVPX1ZFU0FfQllfU0laRSxzeW1fcGh5cyhib290X3ZpZF9tb2RlKQotICAgICAgICBqbXAg ICAgIC5MY21kbGluZV9leGl0Ci0KLS5McGFyc2VfdmdhX21vZGU6Ci0gICAgICAgIC8qIENoZWNr IGZvciAndmdhPW1vZGUtPG1vZGU+Jy4gKi8KLSAgICAgICAgcHVzaCAgICAlZWJ4Ci0gICAgICAg IHB1c2hsICAgJHN5bV9waHlzKC5MdmdhX21vZGUpCi0gICAgICAgIGNhbGwgICAgLkxzdHJfcHJl Zml4Ci0gICAgICAgIGFkZCAgICAgJDgsJWVzcAotICAgICAgICB0ZXN0ICAgICVlYXgsJWVheAot ICAgICAgICBqbnogICAgIC5McGFyc2VfdmdhX2N1cnJlbnQKLQotICAgICAgICAvKiBXZSBoYXZl ICd2Z2E9bW9kZS08bW9kZT4nLiAqLwotICAgICAgICBhZGQgICAgICQ1LCVlYngKLSAgICAgICAg cHVzaCAgICAlZWJ4Ci0gICAgICAgIGNhbGwgICAgLkxhdG9pCi0gICAgICAgIGFkZCAgICAgJDQs JWVzcAotICAgICAgICBtb3YgICAgICVheCxzeW1fcGh5cyhib290X3ZpZF9tb2RlKQotICAgICAg ICBqbXAgICAgIC5MY21kbGluZV9leGl0Ci0KLS5McGFyc2VfdmdhX2N1cnJlbnQ6Ci0gICAgICAg IC8qIENoZWNrIGZvciAndmdhPWN1cnJlbnQnLiAqLwotICAgICAgICBwdXNoICAgICVlYngKLSAg ICAgICAgcHVzaGwgICAkc3ltX3BoeXMoLkx2Z2FfY3VycmVudCkKLSAgICAgICAgY2FsbCAgICAu THN0cl9wcmVmaXgKLSAgICAgICAgYWRkICAgICAkOCwlZXNwCi0gICAgICAgIHRlc3QgICAgJWVh eCwlZWF4Ci0gICAgICAgIGpueiAgICAgLkxjbWRsaW5lX2V4aXQKLQotICAgICAgICAvKiBXZSBo YXZlICd2Z2E9Y3VycmVudCcuICovCi0gICAgICAgIG1vdncgICAgJFZJREVPX0NVUlJFTlRfTU9E RSxzeW1fcGh5cyhib290X3ZpZF9tb2RlKQotCi0uTGNtZGxpbmVfZXhpdDoKLSAgICAgICAgcG9w YQotICAgICAgICByZXQKLQotICAgICAgICAucHVzaHNlY3Rpb24gLmluaXQucm9kYXRhLCAiYSIs IEBwcm9nYml0cwotCi0uTHZnYV90ZXh0X21vZGVzOiAvKiByb3dzLCBtb2RlX251bWJlciAqLwot ICAgICAgICAud29yZCAgIDI1LFZJREVPXzgweDI1Ci0gICAgICAgIC53b3JkICAgNTAsVklERU9f ODB4NTAKLSAgICAgICAgLndvcmQgICA0MyxWSURFT184MHg0MwotICAgICAgICAud29yZCAgIDI4 LFZJREVPXzgweDI4Ci0gICAgICAgIC53b3JkICAgMzAsVklERU9fODB4MzAKLSAgICAgICAgLndv cmQgICAzNCxWSURFT184MHgzNAotICAgICAgICAud29yZCAgIDYwLFZJREVPXzgweDYwCi0gICAg ICAgIC53b3JkICAgMAotCi0uTHZnYV9vcHQ6Ci0gICAgICAgIC5hc2NpeiAgInZnYSIKLS5Mdmdh X3RleHQ4MDoKLSAgICAgICAgLmFzY2l6ICAidGV4dC04MHgiCi0uTHZnYV9nZng6Ci0gICAgICAg IC5hc2NpeiAgImdmeC0iCi0uTHZnYV9tb2RlOgotICAgICAgICAuYXNjaXogICJtb2RlLSIKLS5M dmdhX2N1cnJlbnQ6Ci0gICAgICAgIC5hc2NpeiAgImN1cnJlbnQiCi0uTG5vX3JtX29wdDoKLSAg ICAgICAgLmFzY2l6ICAibm8tcmVhbC1tb2RlIgotLkx0Ym9vdF9vcHQ6Ci0gICAgICAgIC5hc2Np eiAgInRib290IgotLkxlZGlkX29wdDoKLSAgICAgICAgLmFzY2l6ICAiZWRpZCIKLS5MZWRpZF9m b3JjZToKLSAgICAgICAgLmFzY2l6ICAiZm9yY2UiCi0uTGVkaWRfbm86Ci0gICAgICAgIC5hc2Np eiAgIm5vIgotLkxlZGRfb3B0OgotICAgICAgICAuYXNjaXogICJlZGQiCi0KLSAgICAgICAgLnBv cHNlY3Rpb24KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9ib290L2NtZGxpbmUuYyBiL3hlbi9h cmNoL3g4Ni9ib290L2NtZGxpbmUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li5hNjI0ZmE5Ci0tLSAvZGV2L251bGwKKysrIGIveGVuL2FyY2gveDg2L2Jvb3QvY21kbGluZS5j CkBAIC0wLDAgKzEsMzU3IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE1LCAyMDE2IE9yYWNs ZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAgICAgIERh bmllbCBLaXBlciA8ZGFuaWVsLmtpcGVyQG9yYWNsZS5jb20+CisgKgorICogVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK KyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIg dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQg aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFs b25nCisgKiB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5v cmcvbGljZW5zZXMvPi4KKyAqCisgKiBzdHJsZW4oKSwgc3RybmNtcCgpLCBzdHJzcG4oKSBhbmQg c3RyY3NwbigpIHdlcmUgY29waWVkIGZyb20KKyAqIExpbnV4IGtlcm5lbCBzb3VyY2UgKGxpbnV4 L2xpYi9zdHJpbmcuYykuCisgKgorICogbWF4KCkgd2FzIGNvcGllZCBmcm9tIHhlbi94ZW4vaW5j bHVkZS94ZW4va2VybmVsLmguCisgKi8KKworLyoKKyAqIFRoaXMgZW50cnkgcG9pbnQgaXMgZW50 ZXJlZCBmcm9tIHhlbi9hcmNoL3g4Ni9ib290L2hlYWQuUyB3aXRoOgorICogICAtIDB4NCglZXNw KSA9ICZjbWRsaW5lLAorICogICAtIDB4OCglZXNwKSA9ICZlYXJseV9ib290X29wdHMuCisgKi8K K2FzbSAoCisgICAgIiAgICAudGV4dCAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAi ICAgIC5nbG9ibCBfc3RhcnQgICAgICAgICAgICAgICAgIFxuIgorICAgICJfc3RhcnQ6ICAgICAg ICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgIiAgICBqbXAgIGNtZGxpbmVfcGFyc2VfZWFy bHkgICAgICBcbiIKKyAgICApOworCisjaW5jbHVkZSAidmlkZW8uaCIKKworI2RlZmluZSBOVUxM CSgodm9pZCAqKTApCisKKy8qCisgKiBTcGFjZSBhbmQgVEFCIGFyZSBvYnZpb3VzIGRlbGltaXRl cnMuIEhvd2V2ZXIsIEkgYW0KKyAqIGFkZGluZyAiXG4iIGFuZCAiXHIiIGhlcmUgdG9vLiBKdXN0 IGluIGNhc2Ugd2hlbgorICogY3JhenkgYm9vdGxvYWRlci91c2VyIHB1dCB0aGVtIHNvbWV3aGVy ZS4KKyAqLworI2RlZmluZSBERUxJTV9DSEFSUwkJIiBcblxyXHQiCisjZGVmaW5lIERFTElNX0NI QVJTX0NPTU1BCURFTElNX0NIQVJTICIsIgorCisjZGVmaW5lIF9fcGFja2VkCV9fYXR0cmlidXRl X18oKF9fcGFja2VkX18pKQorCisjZGVmaW5lIG1heCh4LHkpICh7IFwKKyAgICAgICAgY29uc3Qg dHlwZW9mKHgpIF94ID0gKHgpOyAgICAgICBcCisgICAgICAgIGNvbnN0IHR5cGVvZih5KSBfeSA9 ICh5KTsgICAgICAgXAorICAgICAgICAodm9pZCkgKCZfeCA9PSAmX3kpOyAgICAgICAgICAgIFwK KyAgICAgICAgX3ggPiBfeSA/IF94IDogX3k7IH0pCisKKyNkZWZpbmUgdG9sb3dlcihjKSAoKGMp IHwgMHgyMCkKKworLyoKKyAqIENvbXBpbGVyIGlzIG5vdCBhYmxlIHRvIG9wdGltaXplIHJlZ3Vs YXIgc3RybGVuKCkKKyAqIGlmIGFyZ3VtZW50IGlzIHdlbGwga25vd24gc3RyaW5nIGR1cmluZyBi dWlsZC4KKyAqIEhlbmNlLCBpbnRyb2R1Y2Ugb3B0aW1pemVkIHN0cmxlbl9vcHQoKS4KKyAqLwor I2RlZmluZSBzdHJsZW5fb3B0KHMpIChzaXplb2YocykgLSAxKQorCit0eXBlZGVmIHVuc2lnbmVk IGNoYXIgdTg7Cit0eXBlZGVmIHVuc2lnbmVkIHNob3J0IHUxNjsKK3R5cGVkZWYgdW5zaWduZWQg aW50IHNpemVfdDsKKworI2RlZmluZSBVMTZfTUFYCSgodTE2KSh+MFUpKQorCisvKiBLZWVwIGlu IHN5bmMgd2l0aCB0cmFtcG9saW5lLlM6ZWFybHlfYm9vdF9vcHRzIGxhYmVsISAqLwordHlwZWRl ZiBzdHJ1Y3QgX19wYWNrZWQgeworICAgIHU4IHNraXBfcmVhbG1vZGU7CisgICAgdTggb3B0X2Vk ZDsKKyAgICB1OCBvcHRfZWRpZDsKKyAgICB1MTYgYm9vdF92aWRfbW9kZTsKKyAgICB1MTYgdmVz YV93aWR0aDsKKyAgICB1MTYgdmVzYV9oZWlnaHQ7CisgICAgdTE2IHZlc2FfZGVwdGg7Cit9IGVh cmx5X2Jvb3Rfb3B0c190OworCitzdGF0aWMgc2l6ZV90IHN0cmxlbihjb25zdCBjaGFyICpzKQor eworICAgIGNvbnN0IGNoYXIgKnNjOworCisgICAgZm9yICggc2MgPSBzOyAqc2MgIT0gJ1wwJzsg KytzYyApCisgICAgICAgIC8qIG5vdGhpbmcgKi87CisgICAgcmV0dXJuIHNjIC0gczsKK30KKwor c3RhdGljIGludCBzdHJuY21wKGNvbnN0IGNoYXIgKmNzLCBjb25zdCBjaGFyICpjdCwgc2l6ZV90 IGNvdW50KQoreworICAgIHVuc2lnbmVkIGNoYXIgYzEsIGMyOworCisgICAgd2hpbGUgKCBjb3Vu dCApCisgICAgeworICAgICAgICBjMSA9ICpjcysrOworICAgICAgICBjMiA9ICpjdCsrOworICAg ICAgICBpZiAoIGMxICE9IGMyICkKKyAgICAgICAgICAgIHJldHVybiBjMSA8IGMyID8gLTEgOiAx OworICAgICAgICBpZiAoICFjMSApCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY291bnQt LTsKKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzaXplX3Qgc3Ryc3BuKGNvbnN0 IGNoYXIgKnMsIGNvbnN0IGNoYXIgKmFjY2VwdCkKK3sKKyAgICBjb25zdCBjaGFyICpwOworICAg IGNvbnN0IGNoYXIgKmE7CisgICAgc2l6ZV90IGNvdW50ID0gMDsKKworICAgIGZvciAoIHAgPSBz OyAqcCAhPSAnXDAnOyArK3AgKQorICAgIHsKKyAgICAgICAgZm9yICggYSA9IGFjY2VwdDsgKmEg IT0gJ1wwJzsgKythICkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCAqcCA9PSAqYSApCisg ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgaWYgKCAqYSA9PSAnXDAn ICkKKyAgICAgICAgICAgIHJldHVybiBjb3VudDsKKyAgICAgICAgKytjb3VudDsKKyAgICB9Cisg ICAgcmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgc2l6ZV90IHN0cmNzcG4oY29uc3QgY2hhciAq cywgY29uc3QgY2hhciAqcmVqZWN0KQoreworICAgIGNvbnN0IGNoYXIgKnA7CisgICAgY29uc3Qg Y2hhciAqcjsKKyAgICBzaXplX3QgY291bnQgPSAwOworCisgICAgZm9yICggcCA9IHM7ICpwICE9 ICdcMCc7ICsrcCApCisgICAgeworICAgICAgICBmb3IgKCByID0gcmVqZWN0OyAqciAhPSAnXDAn OyArK3IgKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoICpwID09ICpyICkKKyAgICAgICAg ICAgICAgICByZXR1cm4gY291bnQ7CisgICAgICAgIH0KKyAgICAgICAgKytjb3VudDsKKyAgICB9 CisgICAgcmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgaW50IHN0cnRvaShjb25zdCBjaGFyICpz LCBjb25zdCBjaGFyICpzdG9wLCBjb25zdCBjaGFyICoqbmV4dCkKK3sKKyAgICBpbnQgYmFzZSA9 IDEwLCBpLCBvcmVzID0gMCwgcmVzID0gMDsKKworICAgIGlmICggKnMgPT0gJzAnICkKKyAgICAg IGJhc2UgPSAodG9sb3dlcigqKytzKSA9PSAneCcpID8gKCsrcywgMTYpIDogODsKKworICAgIGZv ciAoIDsgKnMgIT0gJ1wwJzsgKytzICkKKyAgICB7CisgICAgICAgIGZvciAoIGkgPSAwOyBzdG9w ICYmIHN0b3BbaV0gIT0gJ1wwJzsgKytpICkKKyAgICAgICAgICAgIGlmICggKnMgPT0gc3RvcFtp XSApCisgICAgICAgICAgICAgICAgZ290byBvdXQ7CisKKyAgICAgICAgaWYgKCAqcyA8ICcwJyB8 fCAoKnMgPiAnNycgJiYgYmFzZSA9PSA4KSApCisgICAgICAgIHsKKyAgICAgICAgICAgIHJlcyA9 IC0xOworICAgICAgICAgICAgZ290byBvdXQ7CisgICAgICAgIH0KKworICAgICAgICBpZiAoICpz ID4gJzknICYmIChiYXNlICE9IDE2IHx8IHRvbG93ZXIoKnMpIDwgJ2EnIHx8IHRvbG93ZXIoKnMp ID4gJ2YnKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIHJlcyA9IC0xOworICAgICAgICAgICAg Z290byBvdXQ7CisgICAgICAgIH0KKworICAgICAgICByZXMgKj0gYmFzZTsKKyAgICAgICAgcmVz ICs9ICh0b2xvd2VyKCpzKSA+PSAnYScpID8gKHRvbG93ZXIoKnMpIC0gJ2EnICsgMTApIDogKCpz IC0gJzAnKTsKKworICAgICAgICBpZiAoIG9yZXMgPiByZXMgKQorICAgICAgICB7CisgICAgICAg ICAgICByZXMgPSAtMTsKKyAgICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICB9CisKKyAgICAg ICAgb3JlcyA9IHJlczsKKyAgICB9CisKKyBvdXQ6CisgICAgaWYgKCBuZXh0ICkKKyAgICAgICpu ZXh0ID0gczsKKworICAgIHJldHVybiByZXM7Cit9CisKK3N0YXRpYyBpbnQgc3RybWF4Y21wKGNv bnN0IGNoYXIgKmNzLCBjb25zdCBjaGFyICpjdCwgY29uc3QgY2hhciAqZGVsaW1fY2hhcnMpCit7 CisgICAgcmV0dXJuIHN0cm5jbXAoY3MsIGN0LCBtYXgoc3RyY3NwbihjcywgZGVsaW1fY2hhcnMp LCBzdHJsZW4oY3QpKSk7Cit9CisKK3N0YXRpYyBpbnQgc3Ryc3ViY21wKGNvbnN0IGNoYXIgKmNz LCBjb25zdCBjaGFyICpjdCkKK3sKKyAgICByZXR1cm4gc3RybmNtcChjcywgY3QsIHN0cmxlbihj dCkpOworfQorCitzdGF0aWMgY29uc3QgY2hhciAqZmluZF9vcHQoY29uc3QgY2hhciAqY21kbGlu ZSwgY29uc3QgY2hhciAqb3B0LCBpbnQgYXJnKQoreworICAgIHNpemVfdCBsYywgbG87CisKKyAg ICBsbyA9IHN0cmxlbihvcHQpOworCisgICAgZm9yICggOyA7ICkKKyAgICB7CisgICAgICAgIGNt ZGxpbmUgKz0gc3Ryc3BuKGNtZGxpbmUsIERFTElNX0NIQVJTKTsKKworICAgICAgICBpZiAoICpj bWRsaW5lID09ICdcMCcgKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICAgICAgaWYg KCAhc3RybWF4Y21wKGNtZGxpbmUsICItLSIsIERFTElNX0NIQVJTKSApCisgICAgICAgICAgICBy ZXR1cm4gTlVMTDsKKworICAgICAgICBsYyA9IHN0cmNzcG4oY21kbGluZSwgREVMSU1fQ0hBUlMp OworCisgICAgICAgIGlmICggIXN0cm5jbXAoY21kbGluZSwgb3B0LCBhcmcgPyBsbyA6IG1heChs YywgbG8pKSApCisgICAgICAgICAgICByZXR1cm4gY21kbGluZSArIGxvOworCisgICAgICAgIGNt ZGxpbmUgKz0gbGM7CisgICAgfQorfQorCitzdGF0aWMgdTggc2tpcF9yZWFsbW9kZShjb25zdCBj aGFyICpjbWRsaW5lKQoreworICAgIHJldHVybiAhIWZpbmRfb3B0KGNtZGxpbmUsICJuby1yZWFs LW1vZGUiLCAwKSB8fCAhIWZpbmRfb3B0KGNtZGxpbmUsICJ0Ym9vdD0iLCAxKTsKK30KKworc3Rh dGljIHU4IGVkZF9wYXJzZShjb25zdCBjaGFyICpjbWRsaW5lKQoreworICAgIGNvbnN0IGNoYXIg KmM7CisKKyAgICBjID0gZmluZF9vcHQoY21kbGluZSwgImVkZD0iLCAxKTsKKworICAgIGlmICgg IWMgKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGlmICggIXN0cm1heGNtcChjLCAib2ZmIiwg REVMSU1fQ0hBUlMpICkKKyAgICAgICAgcmV0dXJuIDI7CisKKyAgICByZXR1cm4gIXN0cm1heGNt cChjLCAic2tpcG1iciIsIERFTElNX0NIQVJTKTsKK30KKworc3RhdGljIHU4IGVkaWRfcGFyc2Uo Y29uc3QgY2hhciAqY21kbGluZSkKK3sKKyAgICBjb25zdCBjaGFyICpjOworCisgICAgYyA9IGZp bmRfb3B0KGNtZGxpbmUsICJlZGlkPSIsIDEpOworCisgICAgaWYgKCAhYyApCisgICAgICAgIHJl dHVybiAwOworCisgICAgaWYgKCAhc3RybWF4Y21wKGMsICJmb3JjZSIsIERFTElNX0NIQVJTKSAp CisgICAgICAgIHJldHVybiAyOworCisgICAgcmV0dXJuICFzdHJtYXhjbXAoYywgIm5vIiwgREVM SU1fQ0hBUlMpOworfQorCitzdGF0aWMgdTE2IHJvd3Mydm1vZGUoaW50IHJvd3MpCit7CisgICAg c3dpdGNoICggcm93cyApCisgICAgeworICAgIGNhc2UgMjU6CisgICAgICAgIHJldHVybiBWSURF T184MHgyNTsKKworICAgIGNhc2UgMjg6CisgICAgICAgIHJldHVybiBWSURFT184MHgyODsKKwor ICAgIGNhc2UgMzA6CisgICAgICAgIHJldHVybiBWSURFT184MHgzMDsKKworICAgIGNhc2UgMzQ6 CisgICAgICAgIHJldHVybiBWSURFT184MHgzNDsKKworICAgIGNhc2UgNDM6CisgICAgICAgIHJl dHVybiBWSURFT184MHg0MzsKKworICAgIGNhc2UgNTA6CisgICAgICAgIHJldHVybiBWSURFT184 MHg1MDsKKworICAgIGNhc2UgNjA6CisgICAgICAgIHJldHVybiBWSURFT184MHg2MDsKKworICAg IGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBBU0tfVkdBOworICAgIH0KK30KKworc3RhdGljIHZv aWQgdmdhX3BhcnNlKGNvbnN0IGNoYXIgKmNtZGxpbmUsIGVhcmx5X2Jvb3Rfb3B0c190ICplYm8p Cit7CisgICAgY29uc3QgY2hhciAqYzsKKyAgICBpbnQgdG1wOworCisgICAgYyA9IGZpbmRfb3B0 KGNtZGxpbmUsICJ2Z2E9IiwgMSk7CisKKyAgICBpZiAoICFjICkKKyAgICAgICAgcmV0dXJuOwor CisgICAgZWJvLT5ib290X3ZpZF9tb2RlID0gQVNLX1ZHQTsKKworICAgIGlmICggIXN0cm1heGNt cChjLCAiY3VycmVudCIsIERFTElNX0NIQVJTX0NPTU1BKSApCisgICAgICAgIGViby0+Ym9vdF92 aWRfbW9kZSA9IFZJREVPX0NVUlJFTlRfTU9ERTsKKyAgICBlbHNlIGlmICggIXN0cnN1YmNtcChj LCAidGV4dC04MHgiKSApCisgICAgeworICAgICAgICBjICs9IHN0cmxlbl9vcHQoInRleHQtODB4 Iik7CisgICAgICAgIGViby0+Ym9vdF92aWRfbW9kZSA9IHJvd3Mydm1vZGUoc3RydG9pKGMsIERF TElNX0NIQVJTX0NPTU1BLCBOVUxMKSk7CisgICAgfQorICAgIGVsc2UgaWYgKCAhc3Ryc3ViY21w KGMsICJnZngtIikgKQorICAgIHsKKyAgICAgICAgdG1wID0gc3RydG9pKGMgKyBzdHJsZW5fb3B0 KCJnZngtIiksICJ4IiwgJmMpOworCisgICAgICAgIGlmICggdG1wIDwgMCB8fCB0bXAgPiBVMTZf TUFYICkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBlYm8tPnZlc2Ffd2lkdGggPSB0 bXA7CisKKyAgICAgICAgLyoKKyAgICAgICAgICogSW5jcmVtZW50IGMgb3V0c2lkZSBvZiBzdHJ0 b2koKSBiZWNhdXNlIG90aGVyd2lzZSBzb21lCisgICAgICAgICAqIGNvbXBpbGVyIG1heSBjb21w bGFpbiB3aXRoIGZvbGxvd2luZyBtZXNzYWdlOgorICAgICAgICAgKiB3YXJuaW5nOiBvcGVyYXRp b24gb24g4oCYY+KAmSBtYXkgYmUgdW5kZWZpbmVkLgorICAgICAgICAgKi8KKyAgICAgICAgKytj OworICAgICAgICB0bXAgPSBzdHJ0b2koYywgIngiLCAmYyk7CisKKyAgICAgICAgaWYgKCB0bXAg PCAwIHx8IHRtcCA+IFUxNl9NQVggKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGVi by0+dmVzYV9oZWlnaHQgPSB0bXA7CisKKyAgICAgICAgdG1wID0gc3RydG9pKCsrYywgREVMSU1f Q0hBUlNfQ09NTUEsIE5VTEwpOworCisgICAgICAgIGlmICggdG1wIDwgMCB8fCB0bXAgPiBVMTZf TUFYICkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBlYm8tPnZlc2FfZGVwdGggPSB0 bXA7CisKKyAgICAgICAgZWJvLT5ib290X3ZpZF9tb2RlID0gVklERU9fVkVTQV9CWV9TSVpFOwor ICAgIH0KKyAgICBlbHNlIGlmICggIXN0cnN1YmNtcChjLCAibW9kZS0iKSApCisgICAgeworICAg ICAgICB0bXAgPSBzdHJ0b2koYyArIHN0cmxlbl9vcHQoIm1vZGUtIiksIERFTElNX0NIQVJTX0NP TU1BLCBOVUxMKTsKKworICAgICAgICBpZiAoIHRtcCA8IDAgfHwgdG1wID4gVTE2X01BWCApCisg ICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgZWJvLT5ib290X3ZpZF9tb2RlID0gdG1wOwor ICAgIH0KK30KKwordm9pZCBjbWRsaW5lX3BhcnNlX2Vhcmx5KGNvbnN0IGNoYXIgKmNtZGxpbmUs IGVhcmx5X2Jvb3Rfb3B0c190ICplYm8pCit7CisgICAgZWJvLT5za2lwX3JlYWxtb2RlID0gc2tp cF9yZWFsbW9kZShjbWRsaW5lKTsKKyAgICBlYm8tPm9wdF9lZGQgPSBlZGRfcGFyc2UoY21kbGlu ZSk7CisgICAgZWJvLT5vcHRfZWRpZCA9IGVkaWRfcGFyc2UoY21kbGluZSk7CisgICAgdmdhX3Bh cnNlKGNtZGxpbmUsIGVibyk7Cit9CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvYm9vdC9lZGQu UyBiL3hlbi9hcmNoL3g4Ni9ib290L2VkZC5TCmluZGV4IDVjODBkYTYuLjczMzcxZjkgMTAwNjQ0 Ci0tLSBhL3hlbi9hcmNoL3g4Ni9ib290L2VkZC5TCisrKyBiL3hlbi9hcmNoL3g4Ni9ib290L2Vk ZC5TCkBAIC0xNDIsOSArMTQyLDYgQEAgZWRkX25leHQ6CiBlZGRfZG9uZToKICAgICAgICAgcmV0 CiAKLW9wdF9lZGQ6Ci0gICAgICAgIC5ieXRlICAgMCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAjIGVkZD1vbi9vZmYvc2tpcG1icgotCiBHTE9CQUwoYm9vdF9lZGRfaW5mb19ucikKICAg ICAgICAgLmJ5dGUgICAwCiBHTE9CQUwoYm9vdF9tYnJfc2lnbmF0dXJlX25yKQpkaWZmIC0tZ2l0 IGEveGVuL2FyY2gveDg2L2Jvb3QvaGVhZC5TIGIveGVuL2FyY2gveDg2L2Jvb3QvaGVhZC5TCmlu ZGV4IGVmYjA2MTQuLjk2NDg1MWIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9ib290L2hlYWQu UworKysgYi94ZW4vYXJjaC94ODYvYm9vdC9oZWFkLlMKQEAgLTQzNiw4ICs0MzYsMjQgQEAgdHJh bXBvbGluZV9zZXR1cDoKICAgICAgICAgY21wICAgICAkc3ltX3BoeXMoX190cmFtcG9saW5lX3Nl Z19zdG9wKSwlZWRpCiAgICAgICAgIGpiICAgICAgMWIKIAorICAgICAgICAvKiBEbyBub3QgcGFy c2UgY29tbWFuZCBsaW5lIG9uIEVGSSBwbGF0Zm9ybSBoZXJlLiAqLworICAgICAgICBjbXBiICAg ICQxLHN5bV9waHlzKHNraXBfcmVhbG1vZGUpCisgICAgICAgIGplICAgICAgMWYKKworICAgICAg ICAvKiBCYWlsIGlmIHRoZXJlIGlzIG5vIGNvbW1hbmQgbGluZSB0byBwYXJzZS4gKi8KKyAgICAg ICAgbW92ICAgICBzeW1fcGh5cyhtdWx0aWJvb3RfcHRyKSwlZWJ4CisgICAgICAgIHRlc3RsICAg JE1CSV9DTURMSU5FLE1CX2ZsYWdzKCVlYngpCisgICAgICAgIGp6ICAgICAgMWYKKworICAgICAg ICBjbXBsICAgICQwLE1CX2NtZGxpbmUoJWVieCkKKyAgICAgICAganogICAgICAxZgorCisgICAg ICAgIHB1c2hsICAgJHN5bV9waHlzKGVhcmx5X2Jvb3Rfb3B0cykKKyAgICAgICAgcHVzaGwgICBN Ql9jbWRsaW5lKCVlYngpCiAgICAgICAgIGNhbGwgICAgY21kbGluZV9wYXJzZV9lYXJseQorICAg ICAgICBhZGQgICAgICQ4LCVlc3AgICAgICAgICAgICAgLyogUmVtb3ZlIGNtZGxpbmVfcGFyc2Vf ZWFybHkoKSBhcmdzIGZyb20gc3RhY2suICovCiAKKzE6CiAgICAgICAgIC8qIFN3aXRjaCB0byBs b3ctbWVtb3J5IHN0YWNrLiAgKi8KICAgICAgICAgbW92ICAgICBzeW1fcGh5cyh0cmFtcG9saW5l X3BoeXMpLCVlZGkKICAgICAgICAgbGVhICAgICAweDEwMDAwKCVlZGkpLCVlc3AKQEAgLTQ1Myw2 ICs0NjksNyBAQCB0cmFtcG9saW5lX3NldHVwOgogICAgICAgICAvKiBKdW1wIGludG8gdGhlIHJl bG9jYXRlZCB0cmFtcG9saW5lLiAqLwogICAgICAgICBscmV0CiAKK2NtZGxpbmVfcGFyc2VfZWFy bHk6CiAjaW5jbHVkZSAiY21kbGluZS5TIgogCiByZWxvYzoKZGlmZiAtLWdpdCBhL3hlbi9hcmNo L3g4Ni9ib290L3RyYW1wb2xpbmUuUyBiL3hlbi9hcmNoL3g4Ni9ib290L3RyYW1wb2xpbmUuUwpp bmRleCBiMDEzNjE0Li44YTMyNzI4IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvYm9vdC90cmFt cG9saW5lLlMKKysrIGIveGVuL2FyY2gveDg2L2Jvb3QvdHJhbXBvbGluZS5TCkBAIC0yMjAsOCAr MjIwLDIwIEBAIHRyYW1wb2xpbmVfYm9vdF9jcHVfZW50cnk6CiAgICAgICAgIC8qIEp1bXAgdG8g dGhlIGNvbW1vbiBib290c3RyYXAgZW50cnkgcG9pbnQuICovCiAgICAgICAgIGptcCAgICAgdHJh bXBvbGluZV9wcm90bW9kZV9lbnRyeQogCisjaW5jbHVkZSAidmlkZW8uaCIKKworLyogS2VlcCBp biBzeW5jIHdpdGggY21kbGluZS5jOmVhcmx5X2Jvb3Rfb3B0c190IHR5cGUhICovCitlYXJseV9i b290X29wdHM6CiBza2lwX3JlYWxtb2RlOgogICAgICAgICAuYnl0ZSAgIDAKK29wdF9lZGQ6Cisg ICAgICAgIC5ieXRlICAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBlZGQ9b24v b2ZmL3NraXBtYnIgKi8KK29wdF9lZGlkOgorICAgICAgICAuYnl0ZSAgIDAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLyogRURJRCBwYXJzaW5nIG9wdGlvbiAoZm9yY2Uvbm8vZGVmYXVs dCkuICovCitHTE9CQUwoYm9vdF92aWRfbW9kZSkKKyAgICAgICAgLndvcmQgICBWSURFT184MHgy NSAgICAgICAgICAgICAgICAgICAgIC8qIElmIHdlIGRvbid0IHJ1biBhdCBhbGwsIGFzc3VtZSBi YXNpYyB2aWRlbyBtb2RlIDMgYXQgODB4MjUuICovCit2ZXNhX3NpemU6CisgICAgICAgIC53b3Jk ICAgMCwwLDAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB3aWR0aCB4IGRlcHRoIHggaGVp Z2h0ICovCiAKIEdMT0JBTChrYmRfc2hpZnRfZmxhZ3MpCiAgICAgICAgIC5ieXRlICAgMApkaWZm IC0tZ2l0IGEveGVuL2FyY2gveDg2L2Jvb3QvdmlkZW8uUyBiL3hlbi9hcmNoL3g4Ni9ib290L3Zp ZGVvLlMKaW5kZXggYjIzOGJmMy4uMzM1YTUxYyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2Jv b3QvdmlkZW8uUworKysgYi94ZW4vYXJjaC94ODYvYm9vdC92aWRlby5TCkBAIC05NDUsNyArOTQ1 LDYgQEAgc3RvcmVfZWRpZDoKICNlbmRpZgogICAgICAgICByZXQKIAotb3B0X2VkaWQ6ICAgICAg IC5ieXRlICAgMCAgICAgICAjIEVESUQgcGFyc2luZyBvcHRpb24gKGZvcmNlL25vL2RlZmF1bHQp CiBtdF9lbmQ6ICAgICAgICAgLndvcmQgICAwICAgICAgICMgRW5kIG9mIHZpZGVvIG1vZGUgdGFi bGUgaWYgYnVpbHQKIGVkaXRfYnVmOiAgICAgICAuc3BhY2UgIDYgICAgICAgIyBMaW5lIGVkaXRv ciBidWZmZXIKIGNhcmRfbmFtZTogICAgICAud29yZCAgIDAgICAgICAgIyBQb2ludGVyIHRvIGFk YXB0ZXIgbmFtZQpAQCAtOTkxLDExICs5OTAsNiBAQCBuYW1lX2Jhbm46ICAgICAgLmFzY2l6ICAi VmlkZW8gYWRhcHRlcjogIgogCiBmb3JjZV9zaXplOiAgICAgLndvcmQgICAwICAgICAgICMgVXNl IHRoaXMgc2l6ZSBpbnN0ZWFkIG9mIHRoZSBvbmUgaW4gQklPUyB2YXJzCiAKLXZlc2Ffc2l6ZTog ICAgICAud29yZCAgIDAsMCwwICAgIyB3aWR0aCB4IGRlcHRoIHggaGVpZ2h0Ci0KLS8qIElmIHdl IGRvbid0IHJ1biBhdCBhbGwsIGFzc3VtZSBiYXNpYyB2aWRlbyBtb2RlIDMgYXQgODB4MjUuICov Ci1HTE9CQUwoYm9vdF92aWRfbW9kZSkKLSAgICAgICAgLndvcmQgICBWSURFT184MHgyNQogR0xP QkFMKGJvb3RfdmlkX2luZm8pCiAgICAgICAgIC5ieXRlICAgMCwgMCAgICAvKiBvcmlnX3gsIG9y aWdfeSAqLwogICAgICAgICAuYnl0ZSAgIDMgICAgICAgLyogdGV4dCBtb2RlIDMgICAgKi8KLS0g CjEuNy4xMC40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8v bGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK