From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Kate Hsuan To: git-commits@fedoraproject.org Subject: [rpms/libfprint] rawhide: Add EGIS readers (rhbz#2480599) Date: Fri, 26 Jun 2026 07:03:48 GMT Message-ID: <178245742850.1.1183272860139519403.rpms-libfprint-f99efa9929b2@fedoraproject.org> List-ID: X-Git-Repo: rpms/libfprint X-Git-Branch: rawhide X-Git-Rev: f99efa9929b2fd0a4cd0d165d8d76d75c66e8501 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvbGliZnByaW50CiAgICAgICAgICAgIEJyYW5jaCA6IHJhd2hpZGUKICAgICAg ICAgICAgQ29tbWl0IDogZjk5ZWZhOTkyOWIyZmQwYTRjZDBkMTY1ZDhkNzZkNzVjNjZlODUwMQog ICAgICAgICAgICBBdXRob3IgOiBLYXRlIEhzdWFuIDxocGFAcmVkaGF0LmNvbT4KICAgICAgICAg ICAgRGF0ZSAgIDogMjAyNi0wNi0yNlQxNDo1MTowMSswODowMAogICAgICAgICAgICBTdGF0cyAg OiArNDAzNy8tMCBpbiA4IGZpbGUocykKICAgICAgICAgICAgVVJMICAgIDogaHR0cHM6Ly9zcmMu ZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9saWJmcHJpbnQvYy9mOTllZmE5OTI5YjJmZDBhNGNkMGQx NjVkOGQ3NmQ3NWM2NmU4NTAxP2JyYW5jaD1yYXdoaWRlCgogICAgICAgICAgICBMb2c6CiAgICAg ICAgICAgIEFkZCBFR0lTIHJlYWRlcnMgKHJoYnojMjQ4MDU5OSkKCkFkZCBFR0lTIHN1cHBvcnQu IFRoZSBNUiBjYW4gYmUgZm91bmQgYXQKaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL2xp YmZwcmludC9saWJmcHJpbnQvLS9tZXJnZV9yZXF1ZXN0cy81NjEKClNpZ25lZC1vZmYtYnk6IEth dGUgSHN1YW4gPGhwYUByZWRoYXQuY29tPgoKLS0tCmRpZmYgLS1naXQgYS8wMDAxLWRvYy1JbmNs dWRlLUJpbmFyeS1idWZmZXItSS1PLXNlY3Rpb24tZm9yLXRoZS1ieXRlLXIucGF0Y2ggYi8wMDAx LWRvYy1JbmNsdWRlLUJpbmFyeS1idWZmZXItSS1PLXNlY3Rpb24tZm9yLXRoZS1ieXRlLXIucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGRmMDU2NQotLS0gL2Rldi9u dWxsCisrKyBiLzAwMDEtZG9jLUluY2x1ZGUtQmluYXJ5LWJ1ZmZlci1JLU8tc2VjdGlvbi1mb3It dGhlLWJ5dGUtci5wYXRjaApAQCAtMCwwICsxLDE2MiBAQAorRnJvbSA5YzE0MDAzNmU5YzRkMTcz YTE5YjhlM2Q2MTg3NTI2ZDY4ZmJkOTdjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTog PT9VVEYtOD9xP01hcmNvPTIwVHJldmlzYW49MjA9MjhUcmV2aT1DMz1CMW89Mjk/PSA8bWFpbEAz djFuMC5uZXQ+CitEYXRlOiBTYXQsIDIxIEZlYiAyMDI2IDA1OjQwOjU2ICswMTAwCitTdWJqZWN0 OiBbUEFUQ0ggMS82XSBkb2M6IEluY2x1ZGUgQmluYXJ5IGJ1ZmZlciBJL08gc2VjdGlvbiBmb3Ig dGhlIGJ5dGUKKyByZWFkZXIvd3JpdGVyCisKKy0tLQorIGRvYy9saWJmcHJpbnQtMi1zZWN0aW9u cy50eHQgfCAxMjAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBkb2MvbGli ZnByaW50LWRvY3MueG1sICAgICAgIHwgICA2ICsrCisgMiBmaWxlcyBjaGFuZ2VkLCAxMjYgaW5z ZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvZG9jL2xpYmZwcmludC0yLXNlY3Rpb25zLnR4dCBi L2RvYy9saWJmcHJpbnQtMi1zZWN0aW9ucy50eHQKK2luZGV4IDBmYjBjZmEuLjlmMzgwNGYgMTAw NjQ0CistLS0gYS9kb2MvbGliZnByaW50LTItc2VjdGlvbnMudHh0CisrKysgYi9kb2MvbGliZnBy aW50LTItc2VjdGlvbnMudHh0CitAQCAtMTM0LDYgKzEzNCwxMjYgQEAgZnBpX2xpbmVfYXNtYmxf Y3R4CisgZnBpX2Fzc2VtYmxlX2xpbmVzCisgPC9TRUNUSU9OPgorIAorKzxTRUNUSU9OPgorKzxG SUxFPmZwaS1ieXRlLXJlYWRlcjwvRklMRT4KKys8VElUTEU+RnBpQnl0ZVJlYWRlcjwvVElUTEU+ CisrRnBpQnl0ZVJlYWRlcgorK2ZwaV9ieXRlX3JlYWRlcl9uZXcKKytmcGlfYnl0ZV9yZWFkZXJf ZnJlZQorK2ZwaV9ieXRlX3JlYWRlcl9pbml0CisrZnBpX2J5dGVfcmVhZGVyX3BlZWtfc3ViX3Jl YWRlcgorK2ZwaV9ieXRlX3JlYWRlcl9nZXRfc3ViX3JlYWRlcgorK2ZwaV9ieXRlX3JlYWRlcl9z ZXRfcG9zCisrZnBpX2J5dGVfcmVhZGVyX2dldF9wb3MKKytmcGlfYnl0ZV9yZWFkZXJfZ2V0X3Jl bWFpbmluZworK2ZwaV9ieXRlX3JlYWRlcl9nZXRfc2l6ZQorK2ZwaV9ieXRlX3JlYWRlcl9za2lw CisrZnBpX2J5dGVfcmVhZGVyX2dldF91aW50OAorK2ZwaV9ieXRlX3JlYWRlcl9nZXRfaW50OAor K2ZwaV9ieXRlX3JlYWRlcl9wZWVrX3VpbnQ4CisrZnBpX2J5dGVfcmVhZGVyX3BlZWtfaW50OAor K2ZwaV9ieXRlX3JlYWRlcl9nZXRfdWludDE2X2xlCisrZnBpX2J5dGVfcmVhZGVyX2dldF9pbnQx Nl9sZQorK2ZwaV9ieXRlX3JlYWRlcl9wZWVrX3VpbnQxNl9sZQorK2ZwaV9ieXRlX3JlYWRlcl9w ZWVrX2ludDE2X2xlCisrZnBpX2J5dGVfcmVhZGVyX2dldF91aW50MTZfYmUKKytmcGlfYnl0ZV9y ZWFkZXJfZ2V0X2ludDE2X2JlCisrZnBpX2J5dGVfcmVhZGVyX3BlZWtfdWludDE2X2JlCisrZnBp X2J5dGVfcmVhZGVyX3BlZWtfaW50MTZfYmUKKytmcGlfYnl0ZV9yZWFkZXJfZ2V0X3VpbnQyNF9s ZQorK2ZwaV9ieXRlX3JlYWRlcl9nZXRfaW50MjRfbGUKKytmcGlfYnl0ZV9yZWFkZXJfcGVla191 aW50MjRfbGUKKytmcGlfYnl0ZV9yZWFkZXJfcGVla19pbnQyNF9sZQorK2ZwaV9ieXRlX3JlYWRl cl9nZXRfdWludDI0X2JlCisrZnBpX2J5dGVfcmVhZGVyX2dldF9pbnQyNF9iZQorK2ZwaV9ieXRl X3JlYWRlcl9wZWVrX3VpbnQyNF9iZQorK2ZwaV9ieXRlX3JlYWRlcl9wZWVrX2ludDI0X2JlCisr ZnBpX2J5dGVfcmVhZGVyX2dldF91aW50MzJfbGUKKytmcGlfYnl0ZV9yZWFkZXJfZ2V0X2ludDMy X2xlCisrZnBpX2J5dGVfcmVhZGVyX3BlZWtfdWludDMyX2xlCisrZnBpX2J5dGVfcmVhZGVyX3Bl ZWtfaW50MzJfbGUKKytmcGlfYnl0ZV9yZWFkZXJfZ2V0X3VpbnQzMl9iZQorK2ZwaV9ieXRlX3Jl YWRlcl9nZXRfaW50MzJfYmUKKytmcGlfYnl0ZV9yZWFkZXJfcGVla191aW50MzJfYmUKKytmcGlf Ynl0ZV9yZWFkZXJfcGVla19pbnQzMl9iZQorK2ZwaV9ieXRlX3JlYWRlcl9nZXRfdWludDY0X2xl CisrZnBpX2J5dGVfcmVhZGVyX2dldF9pbnQ2NF9sZQorK2ZwaV9ieXRlX3JlYWRlcl9wZWVrX3Vp bnQ2NF9sZQorK2ZwaV9ieXRlX3JlYWRlcl9wZWVrX2ludDY0X2xlCisrZnBpX2J5dGVfcmVhZGVy X2dldF91aW50NjRfYmUKKytmcGlfYnl0ZV9yZWFkZXJfZ2V0X2ludDY0X2JlCisrZnBpX2J5dGVf cmVhZGVyX3BlZWtfdWludDY0X2JlCisrZnBpX2J5dGVfcmVhZGVyX3BlZWtfaW50NjRfYmUKKytm cGlfYnl0ZV9yZWFkZXJfZ2V0X2Zsb2F0MzJfbGUKKytmcGlfYnl0ZV9yZWFkZXJfcGVla19mbG9h dDMyX2xlCisrZnBpX2J5dGVfcmVhZGVyX2dldF9mbG9hdDMyX2JlCisrZnBpX2J5dGVfcmVhZGVy X3BlZWtfZmxvYXQzMl9iZQorK2ZwaV9ieXRlX3JlYWRlcl9nZXRfZmxvYXQ2NF9sZQorK2ZwaV9i eXRlX3JlYWRlcl9wZWVrX2Zsb2F0NjRfbGUKKytmcGlfYnl0ZV9yZWFkZXJfZ2V0X2Zsb2F0NjRf YmUKKytmcGlfYnl0ZV9yZWFkZXJfcGVla19mbG9hdDY0X2JlCisrZnBpX2J5dGVfcmVhZGVyX2dl dF9kYXRhCisrZnBpX2J5dGVfcmVhZGVyX3BlZWtfZGF0YQorK2ZwaV9ieXRlX3JlYWRlcl9kdXBf ZGF0YQorK2ZwaV9ieXRlX3JlYWRlcl9tYXNrZWRfc2Nhbl91aW50MzIKKytmcGlfYnl0ZV9yZWFk ZXJfbWFza2VkX3NjYW5fdWludDMyX3BlZWsKKytmcGlfYnl0ZV9yZWFkZXJfc2tpcF9zdHJpbmcK KytmcGlfYnl0ZV9yZWFkZXJfc2tpcF9zdHJpbmdfdXRmOAorK2ZwaV9ieXRlX3JlYWRlcl9za2lw X3N0cmluZ191dGYxNgorK2ZwaV9ieXRlX3JlYWRlcl9za2lwX3N0cmluZ191dGYzMgorK2ZwaV9i eXRlX3JlYWRlcl9wZWVrX3N0cmluZworK2ZwaV9ieXRlX3JlYWRlcl9wZWVrX3N0cmluZ191dGY4 CisrZnBpX2J5dGVfcmVhZGVyX2dldF9zdHJpbmdfdXRmOAorK2ZwaV9ieXRlX3JlYWRlcl9kdXBf c3RyaW5nX3V0ZjgKKytmcGlfYnl0ZV9yZWFkZXJfZHVwX3N0cmluZ191dGYxNgorK2ZwaV9ieXRl X3JlYWRlcl9kdXBfc3RyaW5nX3V0ZjMyCisrPC9TRUNUSU9OPgorKworKzxTRUNUSU9OPgorKzxG SUxFPmZwaS1ieXRlLXdyaXRlcjwvRklMRT4KKys8VElUTEU+RnBpQnl0ZVdyaXRlcjwvVElUTEU+ CisrRnBpQnl0ZVdyaXRlcgorK2ZwaV9ieXRlX3dyaXRlcl9uZXcKKytmcGlfYnl0ZV93cml0ZXJf bmV3X3dpdGhfc2l6ZQorK2ZwaV9ieXRlX3dyaXRlcl9uZXdfd2l0aF9kYXRhCisrZnBpX2J5dGVf d3JpdGVyX2luaXQKKytmcGlfYnl0ZV93cml0ZXJfaW5pdF93aXRoX3NpemUKKytmcGlfYnl0ZV93 cml0ZXJfaW5pdF93aXRoX2RhdGEKKytmcGlfYnl0ZV93cml0ZXJfcmVzZXQKKytmcGlfYnl0ZV93 cml0ZXJfcmVzZXRfYW5kX2dldF9kYXRhCisrZnBpX2J5dGVfd3JpdGVyX2ZyZWUKKytmcGlfYnl0 ZV93cml0ZXJfZnJlZV9hbmRfZ2V0X2RhdGEKKytmcGlfYnl0ZV93cml0ZXJfZ2V0X3JlbWFpbmlu ZworK2ZwaV9ieXRlX3dyaXRlcl9lbnN1cmVfZnJlZV9zcGFjZQorK2ZwaV9ieXRlX3dyaXRlcl9w dXRfdWludDgKKytmcGlfYnl0ZV93cml0ZXJfcHV0X3VpbnQxNl9iZQorK2ZwaV9ieXRlX3dyaXRl cl9wdXRfdWludDI0X2JlCisrZnBpX2J5dGVfd3JpdGVyX3B1dF91aW50MzJfYmUKKytmcGlfYnl0 ZV93cml0ZXJfcHV0X3VpbnQ2NF9iZQorK2ZwaV9ieXRlX3dyaXRlcl9wdXRfdWludDE2X2xlCisr ZnBpX2J5dGVfd3JpdGVyX3B1dF91aW50MjRfbGUKKytmcGlfYnl0ZV93cml0ZXJfcHV0X3VpbnQz Ml9sZQorK2ZwaV9ieXRlX3dyaXRlcl9wdXRfdWludDY0X2xlCisrZnBpX2J5dGVfd3JpdGVyX3B1 dF9pbnQ4CisrZnBpX2J5dGVfd3JpdGVyX3B1dF9pbnQxNl9iZQorK2ZwaV9ieXRlX3dyaXRlcl9w dXRfaW50MjRfYmUKKytmcGlfYnl0ZV93cml0ZXJfcHV0X2ludDMyX2JlCisrZnBpX2J5dGVfd3Jp dGVyX3B1dF9pbnQ2NF9iZQorK2ZwaV9ieXRlX3dyaXRlcl9wdXRfaW50MTZfbGUKKytmcGlfYnl0 ZV93cml0ZXJfcHV0X2ludDI0X2xlCisrZnBpX2J5dGVfd3JpdGVyX3B1dF9pbnQzMl9sZQorK2Zw aV9ieXRlX3dyaXRlcl9wdXRfaW50NjRfbGUKKytmcGlfYnl0ZV93cml0ZXJfcHV0X2Zsb2F0MzJf YmUKKytmcGlfYnl0ZV93cml0ZXJfcHV0X2Zsb2F0NjRfYmUKKytmcGlfYnl0ZV93cml0ZXJfcHV0 X2Zsb2F0MzJfbGUKKytmcGlfYnl0ZV93cml0ZXJfcHV0X2Zsb2F0NjRfbGUKKytmcGlfYnl0ZV93 cml0ZXJfcHV0X3N0cmluZ191dGY4CisrZnBpX2J5dGVfd3JpdGVyX3B1dF9zdHJpbmdfdXRmMTYK KytmcGlfYnl0ZV93cml0ZXJfcHV0X3N0cmluZ191dGYzMgorK2ZwaV9ieXRlX3dyaXRlcl9wdXRf ZGF0YQorK2ZwaV9ieXRlX3dyaXRlcl9maWxsCisrPC9TRUNUSU9OPgorKworIDxTRUNUSU9OPgor IDxGSUxFPmZwaS1jb250ZXh0PC9GSUxFPgorIGZwaV9nZXRfZHJpdmVyX3R5cGVzCitkaWZmIC0t Z2l0IGEvZG9jL2xpYmZwcmludC1kb2NzLnhtbCBiL2RvYy9saWJmcHJpbnQtZG9jcy54bWwKK2lu ZGV4IDBhNTdlZmIuLjA5YmI4MjYgMTAwNjQ0CistLS0gYS9kb2MvbGliZnByaW50LWRvY3MueG1s CisrKysgYi9kb2MvbGliZnByaW50LWRvY3MueG1sCitAQCAtNDgsNiArNDgsMTIgQEAKKyAgICAg ICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvZnBpLWxvZy54bWwiLz4KKyAgICAgPC9jaGFwdGVyPgor IAorKyAgICA8Y2hhcHRlciBpZD0iZHJpdmVyLWRhdGEiPgorKyAgICAgIDx0aXRsZT5CaW5hcnkg YnVmZmVyIEkvTzwvdGl0bGU+CisrICAgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2ZwaS1ieXRl LXJlYWRlci54bWwiLz4KKysgICAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvZnBpLWJ5dGUtd3Jp dGVyLnhtbCIvPgorKyAgICA8L2NoYXB0ZXI+CisrCisgICAgIDxjaGFwdGVyIGlkPSJkcml2ZXIt aW1nIj4KKyAgICAgICA8dGl0bGU+SW1hZ2UgbWFuaXB1bGF0aW9uPC90aXRsZT4KKyAgICAgICA8 eGk6aW5jbHVkZSBocmVmPSJ4bWwvZnBpLWltYWdlLnhtbCIvPgorLS0gCisyLjU0LjAKKwoKZGlm ZiAtLWdpdCBhLzAwMDItZnBpLWJ5dGUtd3JpdGVyLUFkZC1BUElzLXRvLXdyaXRlLWFuZC1nZXQt R0J5dGVzLnBhdGNoIGIvMDAwMi1mcGktYnl0ZS13cml0ZXItQWRkLUFQSXMtdG8td3JpdGUtYW5k LWdldC1HQnl0ZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg4 M2NjOQotLS0gL2Rldi9udWxsCisrKyBiLzAwMDItZnBpLWJ5dGUtd3JpdGVyLUFkZC1BUElzLXRv LXdyaXRlLWFuZC1nZXQtR0J5dGVzLnBhdGNoCkBAIC0wLDAgKzEsMTQ1IEBACitGcm9tIDE0NzYz ZDI5Y2YxZTVlYzk2MjhmZDYzOTAzNDY3NWU5YjIyYWZmMWUgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiA9P1VURi04P3E/TWFyY289MjBUcmV2aXNhbj0yMD0yOFRyZXZpPUMzPUIxbz0y OT89IDxtYWlsQDN2MW4wLm5ldD4KK0RhdGU6IE1vbiwgOCBKdW4gMjAyNiAxNDoxMTowOSArMDIw MAorU3ViamVjdDogW1BBVENIIDIvNl0gZnBpLWJ5dGUtd3JpdGVyOiBBZGQgQVBJcyB0byB3cml0 ZSBhbmQgZ2V0IEdCeXRlcworCitJdCBtYWtlcyBpdCBoYW5kaWVyIHRvIGhhbmRsZSBkYXRhIGVs ZW1lbnRzIHdpdGhvdXQgaGF2aW5nIHRvIGtlZXAgc2l6ZQorYW5kIGRhdGEgc2VwYXJhdGVkCist LS0KKyBkb2MvbGliZnByaW50LTItc2VjdGlvbnMudHh0IHwgIDIgKysKKyBsaWJmcHJpbnQvZnBp LWJ5dGUtd3JpdGVyLmMgIHwgMzkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr CisgbGliZnByaW50L2ZwaS1ieXRlLXdyaXRlci5oICB8IDIyICsrKysrKysrKysrKysrKysrKysr CisgMyBmaWxlcyBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9kb2Mv bGliZnByaW50LTItc2VjdGlvbnMudHh0IGIvZG9jL2xpYmZwcmludC0yLXNlY3Rpb25zLnR4dAor aW5kZXggOWYzODA0Zi4uOTk1YWQ1MCAxMDA2NDQKKy0tLSBhL2RvYy9saWJmcHJpbnQtMi1zZWN0 aW9ucy50eHQKKysrKyBiL2RvYy9saWJmcHJpbnQtMi1zZWN0aW9ucy50eHQKK0BAIC0yMjAsMTEg KzIyMCwxMyBAQCBmcGlfYnl0ZV93cml0ZXJfaW5pdAorIGZwaV9ieXRlX3dyaXRlcl9pbml0X3dp dGhfc2l6ZQorIGZwaV9ieXRlX3dyaXRlcl9pbml0X3dpdGhfZGF0YQorIGZwaV9ieXRlX3dyaXRl cl9yZXNldAorK2ZwaV9ieXRlX3dyaXRlcl9yZXNldF9hbmRfZ2V0X2J5dGVzCisgZnBpX2J5dGVf d3JpdGVyX3Jlc2V0X2FuZF9nZXRfZGF0YQorIGZwaV9ieXRlX3dyaXRlcl9mcmVlCisgZnBpX2J5 dGVfd3JpdGVyX2ZyZWVfYW5kX2dldF9kYXRhCisgZnBpX2J5dGVfd3JpdGVyX2dldF9yZW1haW5p bmcKKyBmcGlfYnl0ZV93cml0ZXJfZW5zdXJlX2ZyZWVfc3BhY2UKKytmcGlfYnl0ZV93cml0ZXJf cHV0X2J5dGVzCisgZnBpX2J5dGVfd3JpdGVyX3B1dF91aW50OAorIGZwaV9ieXRlX3dyaXRlcl9w dXRfdWludDE2X2JlCisgZnBpX2J5dGVfd3JpdGVyX3B1dF91aW50MjRfYmUKK2RpZmYgLS1naXQg YS9saWJmcHJpbnQvZnBpLWJ5dGUtd3JpdGVyLmMgYi9saWJmcHJpbnQvZnBpLWJ5dGUtd3JpdGVy LmMKK2luZGV4IGNiMzUxNGEuLjAwZmY0NDcgMTAwNjQ0CistLS0gYS9saWJmcHJpbnQvZnBpLWJ5 dGUtd3JpdGVyLmMKKysrKyBiL2xpYmZwcmludC9mcGktYnl0ZS13cml0ZXIuYworQEAgLTIxOSw2 ICsyMTksMzYgQEAgZnBpX2J5dGVfd3JpdGVyX3Jlc2V0X2FuZF9nZXRfZGF0YSAoRnBpQnl0ZVdy aXRlciAqIHdyaXRlcikKKyAgIHJldHVybiBkYXRhOworIH0KKyAKKysvKioKKysgKiBmcGlfYnl0 ZV93cml0ZXJfcmVzZXRfYW5kX2dldF9ieXRlczoKKysgKiBAd3JpdGVyOiAjRnBpQnl0ZVdyaXRl ciBpbnN0YW5jZQorKyAqCisrICogUmVzZXRzIEB3cml0ZXIgYW5kIHJldHVybnMgdGhlIGN1cnJl bnQgZGF0YSBhcyBhICNHQnl0ZXMuCisrICoKKysgKiBSZXR1cm5zOiAodHJhbnNmZXIgZnVsbCk6 IHRoZSBjdXJyZW50IGRhdGEgYXMgYSAjR0J5dGVzLgorKyAqLworK0dCeXRlcyAqCisrZnBpX2J5 dGVfd3JpdGVyX3Jlc2V0X2FuZF9nZXRfYnl0ZXMgKEZwaUJ5dGVXcml0ZXIgKiB3cml0ZXIpCisr eworKyAgR0J5dGVzICpieXRlczsKKysKKysgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsICh3cml0ZXIg IT0gTlVMTCwgTlVMTCk7CisrCisrICBpZiAoIXdyaXRlci0+b3duZWQpCisrICAgIHsKKysgICAg ICBieXRlcyA9IGdfYnl0ZXNfbmV3IChnX3N0ZWFsX3BvaW50ZXIgKCZ3cml0ZXItPnBhcmVudC5k YXRhKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZXItPnBhcmVudC5zaXplKTsK KysgICAgfQorKyAgZWxzZQorKyAgICB7CisrICAgICAgYnl0ZXMgPSBnX2J5dGVzX25ld190YWtl ICgoZ3BvaW50ZXIpIGdfc3RlYWxfcG9pbnRlciAoJndyaXRlci0+cGFyZW50LmRhdGEpLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGVyLT5wYXJlbnQuc2l6ZSk7CisrICAg IH0KKysKKysgIGZwaV9ieXRlX3dyaXRlcl9yZXNldCAod3JpdGVyKTsKKysgIHJldHVybiBnX3N0 ZWFsX3BvaW50ZXIgKCZieXRlcyk7CisrfQorKworIC8qKgorICAqIGZwaV9ieXRlX3dyaXRlcl9m cmVlOgorICAqIEB3cml0ZXI6IChpbikgKHRyYW5zZmVyIGZ1bGwpOiAjRnBpQnl0ZVdyaXRlciBp bnN0YW5jZQorQEAgLTYwMiw2ICs2MzIsMTUgQEAgQ1JFQVRFX1dSSVRFX1NUUklOR19GVU5DICgz MiwgZ3VpbnQzMik7CisgICoKKyAgKiBSZXR1cm5zOiAlVFJVRSBpZiB0aGUgdmFsdWUgY291bGQg YmUgd3JpdHRlbgorICAqLworKy8qKgorKyAqIGZwaV9ieXRlX3dyaXRlcl9wdXRfYnl0ZXM6Cisr ICogQHdyaXRlcjogI0ZwaUJ5dGVXcml0ZXIgaW5zdGFuY2UKKysgKiBAYnl0ZXM6ICh0cmFuc2Zl ciBub25lKTogRGF0YSB0byB3cml0ZQorKyAqCisrICogV3JpdGVzIHRoZSBjb250ZW50cyBvZiBA Ynl0ZXMgdG8gQHdyaXRlci4KKysgKgorKyAqIFJldHVybnM6ICVUUlVFIGlmIHRoZSB2YWx1ZSBj b3VsZCBiZSB3cml0dGVuCisrICovCisgLyoqCisgICogZnBpX2J5dGVfd3JpdGVyX2ZpbGw6Cisg ICogQHdyaXRlcjogI0ZwaUJ5dGVXcml0ZXIgaW5zdGFuY2UKK2RpZmYgLS1naXQgYS9saWJmcHJp bnQvZnBpLWJ5dGUtd3JpdGVyLmggYi9saWJmcHJpbnQvZnBpLWJ5dGUtd3JpdGVyLmgKK2luZGV4 IDliMjFiNWYuLjY5OWU4NWUgMTAwNjQ0CistLS0gYS9saWJmcHJpbnQvZnBpLWJ5dGUtd3JpdGVy LmgKKysrKyBiL2xpYmZwcmludC9mcGktYnl0ZS13cml0ZXIuaAorQEAgLTc3LDYgKzc3LDkgQEAg dm9pZCAgICAgICAgICAgIGZwaV9ieXRlX3dyaXRlcl9yZXNldCAgICAgICAgICAgICAgICAgICAo RnBpQnl0ZVdyaXRlciAqd3JpdGVyKTsKKyAKKyBndWludDggKiAgICAgICAgZnBpX2J5dGVfd3Jp dGVyX3Jlc2V0X2FuZF9nZXRfZGF0YSAgICAgIChGcGlCeXRlV3JpdGVyICp3cml0ZXIpOworIAor KworK0dCeXRlcyAqICAgICAgICBmcGlfYnl0ZV93cml0ZXJfcmVzZXRfYW5kX2dldF9ieXRlcyAg ICAgKEZwaUJ5dGVXcml0ZXIgKndyaXRlcik7CisrCisgLyoqCisgICogZnBpX2J5dGVfd3JpdGVy X2dldF9wb3M6CisgICogQHdyaXRlcjogI0ZwaUJ5dGVXcml0ZXIgaW5zdGFuY2UKK0BAIC0yMDQs NiArMjA3LDkgQEAgZ2Jvb2xlYW4gICAgICAgIGZwaV9ieXRlX3dyaXRlcl9wdXRfZmxvYXQ2NF9s ZSAgICAoRnBpQnl0ZVdyaXRlciAqd3JpdGVyLCBnZG91YmwKKyBnYm9vbGVhbiAgICAgICAgZnBp X2J5dGVfd3JpdGVyX3B1dF9kYXRhICAgICAgICAgIChGcGlCeXRlV3JpdGVyICp3cml0ZXIsIGNv bnN0IGd1aW50OCAqZGF0YSwgZ3VpbnQgc2l6ZSk7CisgCisgCisrZ2Jvb2xlYW4gICAgICAgIGZw aV9ieXRlX3dyaXRlcl9wdXRfYnl0ZXMgICAgICAgICAoRnBpQnl0ZVdyaXRlciAqd3JpdGVyLCBj b25zdCBHQnl0ZXMgKmJ5dGVzKTsKKysKKysKKyBnYm9vbGVhbiAgICAgICAgZnBpX2J5dGVfd3Jp dGVyX2ZpbGwgICAgICAgICAgICAgIChGcGlCeXRlV3JpdGVyICp3cml0ZXIsIGd1aW50OCB2YWx1 ZSwgZ3VpbnQgc2l6ZSk7CisgCisgCitAQCAtMzM4LDYgKzM0NCwxOCBAQCBmcGlfYnl0ZV93cml0 ZXJfcHV0X2RhdGFfaW5saW5lIChGcGlCeXRlV3JpdGVyICogd3JpdGVyLCBjb25zdCBndWludDgg KiBkYXRhLAorICAgcmV0dXJuIFRSVUU7CisgfQorIAorK3N0YXRpYyBpbmxpbmUgZ2Jvb2xlYW4K KytmcGlfYnl0ZV93cml0ZXJfcHV0X2J5dGVzX2lubGluZSAoRnBpQnl0ZVdyaXRlciAqIHdyaXRl ciwgY29uc3QgR0J5dGVzICogYnl0ZXMpCisreworKyAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKHdy aXRlciAhPSBOVUxMLCBGQUxTRSk7CisrICBnX3JldHVybl92YWxfaWZfZmFpbCAoYnl0ZXMgIT0g TlVMTCwgRkFMU0UpOworKyAgY29uc3QgZ3VpbnQ4ICpkYXRhOworKyAgZ3NpemUgc2l6ZTsKKysK KysgIGRhdGEgPSBnX2J5dGVzX2dldF9kYXRhICgoR0J5dGVzICopIGJ5dGVzLCAmc2l6ZSk7Cisr ICByZXR1cm4gZnBpX2J5dGVfd3JpdGVyX3B1dF9kYXRhX2lubGluZSAod3JpdGVyLCBkYXRhLCBz aXplKTsKKyt9CisrCisgc3RhdGljIGlubGluZSB2b2lkCisgZnBpX2J5dGVfd3JpdGVyX2ZpbGxf dW5jaGVja2VkIChGcGlCeXRlV3JpdGVyICogd3JpdGVyLCBndWludDggdmFsdWUsIGd1aW50IHNp emUpCisgeworQEAgLTQxMyw2ICs0MzEsMTAgQEAgZnBpX2J5dGVfd3JpdGVyX2ZpbGxfaW5saW5l IChGcGlCeXRlV3JpdGVyICogd3JpdGVyLCBndWludDggdmFsdWUsIGd1aW50IHNpemUpCisgCisg I2RlZmluZSBmcGlfYnl0ZV93cml0ZXJfcHV0X2RhdGEod3JpdGVyLCBkYXRhLCBzaXplKSBcCisg ICAgIEdfTElLRUxZIChmcGlfYnl0ZV93cml0ZXJfcHV0X2RhdGFfaW5saW5lICh3cml0ZXIsIGRh dGEsIHNpemUpKQorKyNkZWZpbmUgZnBpX2J5dGVfd3JpdGVyX3B1dF9kYXRhX3N0YXRpYyh3cml0 ZXIsIGRhdGEpIFwKKysgICAgR19MSUtFTFkgKGZwaV9ieXRlX3dyaXRlcl9wdXRfZGF0YV9pbmxp bmUgKHdyaXRlciwgZGF0YSwgc2l6ZW9mIChkYXRhKSkpCisrI2RlZmluZSBmcGlfYnl0ZV93cml0 ZXJfcHV0X2J5dGVzKHdyaXRlciwgYnl0ZXMpIFwKKysgICAgR19MSUtFTFkgKGZwaV9ieXRlX3dy aXRlcl9wdXRfYnl0ZXNfaW5saW5lICh3cml0ZXIsIGJ5dGVzKSkKKyAjZGVmaW5lIGZwaV9ieXRl X3dyaXRlcl9maWxsKHdyaXRlciwgdmFsLCBzaXplKSBcCisgICAgIEdfTElLRUxZIChmcGlfYnl0 ZV93cml0ZXJfZmlsbF9pbmxpbmUgKHdyaXRlciwgdmFsLCBzaXplKSkKKyAKKy0tIAorMi41NC4w CisKCmRpZmYgLS1naXQgYS8wMDAzLWZwaS1ieXRlLXJlYWRlci1BZGQtc3VwcG9ydC10by1yZWFk LWFuZC1nZXQtcGVlay1HQnkucGF0Y2ggYi8wMDAzLWZwaS1ieXRlLXJlYWRlci1BZGQtc3VwcG9y dC10by1yZWFkLWFuZC1nZXQtcGVlay1HQnkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uMzUyN2JhYwotLS0gL2Rldi9udWxsCisrKyBiLzAwMDMtZnBpLWJ5dGUtcmVh ZGVyLUFkZC1zdXBwb3J0LXRvLXJlYWQtYW5kLWdldC1wZWVrLUdCeS5wYXRjaApAQCAtMCwwICsx LDE4NyBAQAorRnJvbSBkYzQ4YWI4YjQwMThkMWMxY2M0NWNhZmFhZmJkYWMwZTNkNzcyNmZkIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP01hcmNvPTIwVHJldmlzYW49 MjA9MjhUcmV2aT1DMz1CMW89Mjk/PSA8bWFpbEAzdjFuMC5uZXQ+CitEYXRlOiBNb24sIDggSnVu IDIwMjYgMTQ6MTU6MjggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAzLzZdIGZwaS1ieXRlLXJlYWRl cjogQWRkIHN1cHBvcnQgdG8gcmVhZCBhbmQgZ2V0L3BlZWsgR0J5dGVzCisKKy0tLQorIGRvYy9s aWJmcHJpbnQtMi1zZWN0aW9ucy50eHQgfCAgNCArKysKKyBsaWJmcHJpbnQvZnBpLWJ5dGUtcmVh ZGVyLmMgIHwgNDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgbGliZnBy aW50L2ZwaS1ieXRlLXJlYWRlci5oICB8IDQzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKKyAzIGZpbGVzIGNoYW5nZWQsIDk2IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2Rv Yy9saWJmcHJpbnQtMi1zZWN0aW9ucy50eHQgYi9kb2MvbGliZnByaW50LTItc2VjdGlvbnMudHh0 CitpbmRleCA5OTVhZDUwLi41MmRkYjQyIDEwMDY0NAorLS0tIGEvZG9jL2xpYmZwcmludC0yLXNl Y3Rpb25zLnR4dAorKysrIGIvZG9jL2xpYmZwcmludC0yLXNlY3Rpb25zLnR4dAorQEAgLTEzOSw4 ICsxMzksMTAgQEAgZnBpX2Fzc2VtYmxlX2xpbmVzCisgPFRJVExFPkZwaUJ5dGVSZWFkZXI8L1RJ VExFPgorIEZwaUJ5dGVSZWFkZXIKKyBmcGlfYnl0ZV9yZWFkZXJfbmV3CisrZnBpX2J5dGVfcmVh ZGVyX25ld19ieXRlcworIGZwaV9ieXRlX3JlYWRlcl9mcmVlCisgZnBpX2J5dGVfcmVhZGVyX2lu aXQKKytmcGlfYnl0ZV9yZWFkZXJfaW5pdF9ieXRlcworIGZwaV9ieXRlX3JlYWRlcl9wZWVrX3N1 Yl9yZWFkZXIKKyBmcGlfYnl0ZV9yZWFkZXJfZ2V0X3N1Yl9yZWFkZXIKKyBmcGlfYnl0ZV9yZWFk ZXJfc2V0X3BvcworQEAgLTE0OCw2ICsxNTAsOCBAQCBmcGlfYnl0ZV9yZWFkZXJfZ2V0X3Bvcwor IGZwaV9ieXRlX3JlYWRlcl9nZXRfcmVtYWluaW5nCisgZnBpX2J5dGVfcmVhZGVyX2dldF9zaXpl CisgZnBpX2J5dGVfcmVhZGVyX3NraXAKKytmcGlfYnl0ZV9yZWFkZXJfZ2V0X2J5dGVzCisrZnBp X2J5dGVfcmVhZGVyX3BlZWtfYnl0ZXMKKyBmcGlfYnl0ZV9yZWFkZXJfZ2V0X3VpbnQ4CisgZnBp X2J5dGVfcmVhZGVyX2dldF9pbnQ4CisgZnBpX2J5dGVfcmVhZGVyX3BlZWtfdWludDgKK2RpZmYg LS1naXQgYS9saWJmcHJpbnQvZnBpLWJ5dGUtcmVhZGVyLmMgYi9saWJmcHJpbnQvZnBpLWJ5dGUt cmVhZGVyLmMKK2luZGV4IDIzYmM1ZTcuLjE1OTE4MjUgMTAwNjQ0CistLS0gYS9saWJmcHJpbnQv ZnBpLWJ5dGUtcmVhZGVyLmMKKysrKyBiL2xpYmZwcmludC9mcGktYnl0ZS1yZWFkZXIuYworQEAg LTY1LDYgKzY1LDMxIEBAIGZwaV9ieXRlX3JlYWRlcl9uZXcgKGNvbnN0IGd1aW50OCAqIGRhdGEs IGd1aW50IHNpemUpCisgICByZXR1cm4gcmV0OworIH0KKyAKKysvKioKKysgKiBmcGlfYnl0ZV9y ZWFkZXJfbmV3X2J5dGVzOiAoc2tpcCkKKysgKiBAYnl0ZXM6IChpbikgKHRyYW5zZmVyIG5vbmUp OiBhICNHQnl0ZXMgaW5zdGFuY2UgZnJvbSB3aGljaCB0aGUKKysgKiAgICAgI0ZwaUJ5dGVSZWFk ZXIgc2hvdWxkIHJlYWQKKysgKgorKyAqIENyZWF0ZSBhIG5ldyAjRnBpQnl0ZVJlYWRlciBpbnN0 YW5jZSwgd2hpY2ggd2lsbCByZWFkIGZyb20gQGJ5dGVzLgorKyAqCisrICogRnJlZS1mdW5jdGlv bjogZnBpX2J5dGVfcmVhZGVyX2ZyZWUKKysgKgorKyAqIFJldHVybnM6ICh0cmFuc2ZlciBmdWxs KTogYSBuZXcgI0ZwaUJ5dGVSZWFkZXIgaW5zdGFuY2UKKysgKi8KKytGcGlCeXRlUmVhZGVyICoK KytmcGlfYnl0ZV9yZWFkZXJfbmV3X2J5dGVzIChHQnl0ZXMgKiBieXRlcykKKyt7CisrICBjb25z dCBndWludDggKmRhdGE7CisrICBnc2l6ZSBzaXplID0gMDsKKysKKysgIGdfcmV0dXJuX3ZhbF9p Zl9mYWlsIChieXRlcyAhPSBOVUxMLCBOVUxMKTsKKysKKysgIGRhdGEgPSBnX2J5dGVzX2dldF9k YXRhIChieXRlcywgJnNpemUpOworKyAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKHNpemUgPD0gR19N QVhVSU5ULCBOVUxMKTsKKysKKysgIHJldHVybiBmcGlfYnl0ZV9yZWFkZXJfbmV3IChkYXRhLCAo Z3VpbnQpIHNpemUpOworK30KKysKKyAvKioKKyAgKiBmcGlfYnl0ZV9yZWFkZXJfZnJlZToKKyAg KiBAcmVhZGVyOiAoaW4pICh0cmFuc2ZlciBmdWxsKTogYSAjRnBpQnl0ZVJlYWRlciBpbnN0YW5j ZQorQEAgLTEwMCw2ICsxMjUsMzAgQEAgZnBpX2J5dGVfcmVhZGVyX2luaXQgKEZwaUJ5dGVSZWFk ZXIgKiByZWFkZXIsIGNvbnN0IGd1aW50OCAqIGRhdGEsIGd1aW50IHNpemUpCisgICByZWFkZXIt PmJ5dGUgPSAwOworIH0KKyAKKysvKioKKysgKiBmcGlfYnl0ZV9yZWFkZXJfaW5pdF9ieXRlczoK KysgKiBAcmVhZGVyOiBhICNGcGlCeXRlUmVhZGVyIGluc3RhbmNlCisrICogQGJ5dGVzOiAoaW4p ICh0cmFuc2ZlciBub25lKTogYSAjR0J5dGVzIGluc3RhbmNlIGZyb20gd2hpY2gKKysgKiAgICAg dGhlICNGcGlCeXRlUmVhZGVyIHNob3VsZCByZWFkCisrICoKKysgKiBJbml0aWFsaXplcyBhICNG cGlCeXRlUmVhZGVyIGluc3RhbmNlIHRvIHJlYWQgZnJvbSBAYnl0ZXMuIFRoaXMgZnVuY3Rpb24K KysgKiBjYW4gYmUgY2FsbGVkIG9uIGFscmVhZHkgaW5pdGlhbGl6ZWQgaW5zdGFuY2VzLgorKyAq LworK0ZwaUJ5dGVSZWFkZXIgKgorK2ZwaV9ieXRlX3JlYWRlcl9pbml0X2J5dGVzIChGcGlCeXRl UmVhZGVyICogcmVhZGVyLCBHQnl0ZXMgKiBieXRlcykKKyt7CisrICBnX3JldHVybl92YWxfaWZf ZmFpbCAocmVhZGVyICE9IE5VTEwsIE5VTEwpOworKyAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKGJ5 dGVzICE9IE5VTEwsIE5VTEwpOworKworKyAgZ3NpemUgc2l6ZSA9IDA7CisrICBjb25zdCBndWlu dDggKmRhdGEgPSBnX2J5dGVzX2dldF9kYXRhIChieXRlcywgJnNpemUpOworKworKyAgZ19yZXR1 cm5fdmFsX2lmX2ZhaWwgKHNpemUgPD0gR19NQVhVSU5ULCBOVUxMKTsKKysgIGZwaV9ieXRlX3Jl YWRlcl9pbml0IChyZWFkZXIsIGRhdGEsIChndWludCkgc2l6ZSk7CisrCisrICByZXR1cm4gcmVh ZGVyOworK30KKysKKyAvKioKKyAgKiBmcGlfYnl0ZV9yZWFkZXJfcGVla19zdWJfcmVhZGVyOiAo c2tpcCkKKyAgKiBAcmVhZGVyOiBhbiBleGlzdGluZyBhbmQgaW5pdGlhbGl6ZWQgI0ZwaUJ5dGVS ZWFkZXIgaW5zdGFuY2UKK2RpZmYgLS1naXQgYS9saWJmcHJpbnQvZnBpLWJ5dGUtcmVhZGVyLmgg Yi9saWJmcHJpbnQvZnBpLWJ5dGUtcmVhZGVyLmgKK2luZGV4IGM0ZTY0ZDIuLjA1YTM5ODkgMTAw NjQ0CistLS0gYS9saWJmcHJpbnQvZnBpLWJ5dGUtcmVhZGVyLmgKKysrKyBiL2xpYmZwcmludC9m cGktYnl0ZS1yZWFkZXIuaAorQEAgLTUwLDYgKzUwLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgeworIAor IEZwaUJ5dGVSZWFkZXIgKiBmcGlfYnl0ZV9yZWFkZXJfbmV3ICAgICAgICAgICAgIChjb25zdCBn dWludDggKmRhdGEsIGd1aW50IHNpemUpIEdfR05VQ19NQUxMT0M7CisgCisrRnBpQnl0ZVJlYWRl ciAqIGZwaV9ieXRlX3JlYWRlcl9uZXdfYnl0ZXMgICAgICAgKEdCeXRlcyAqYnl0ZXMpIEdfR05V Q19NQUxMT0M7CisgCisgdm9pZCAgICAgICAgICAgIGZwaV9ieXRlX3JlYWRlcl9mcmVlICAgICAg ICAgICAgKEZwaUJ5dGVSZWFkZXIgKnJlYWRlcik7CisgCitAQCAtNTcsNiArNTgsOSBAQCB2b2lk ICAgICAgICAgICAgZnBpX2J5dGVfcmVhZGVyX2ZyZWUgICAgICAgICAgICAoRnBpQnl0ZVJlYWRl ciAqcmVhZGVyKTsKKyB2b2lkICAgICAgICAgICAgZnBpX2J5dGVfcmVhZGVyX2luaXQgICAgICAg ICAgICAoRnBpQnl0ZVJlYWRlciAqcmVhZGVyLCBjb25zdCBndWludDggKmRhdGEsIGd1aW50IHNp emUpOworIAorIAorK0ZwaUJ5dGVSZWFkZXIgKiBmcGlfYnl0ZV9yZWFkZXJfaW5pdF9ieXRlcyAg ICAgIChGcGlCeXRlUmVhZGVyICpyZWFkZXIsIEdCeXRlcyAqYnl0ZXMpOworKworKworIGdib29s ZWFuICAgICAgICBmcGlfYnl0ZV9yZWFkZXJfcGVla19zdWJfcmVhZGVyIChGcGlCeXRlUmVhZGVy ICogcmVhZGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBGcGlCeXRlUmVhZGVyICogc3ViX3JlYWRlciwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3VpbnQgICAgICAgICAgIHNpemUpOworQEAgLTIy MCw2ICsyMjQsMTMgQEAgZ2Jvb2xlYW4gICAgICAgIGZwaV9ieXRlX3JlYWRlcl9nZXRfZGF0YSAg ICAgICAgKEZwaUJ5dGVSZWFkZXIgKiByZWFkZXIsIGd1aW50IHMKKyAKKyBnYm9vbGVhbiAgICAg ICAgZnBpX2J5dGVfcmVhZGVyX3BlZWtfZGF0YSAgICAgICAoY29uc3QgRnBpQnl0ZVJlYWRlciAq IHJlYWRlciwgZ3VpbnQgc2l6ZSwgY29uc3QgZ3VpbnQ4ICoqIHZhbCk7CisgCisrCisrR0J5dGVz ICogICAgICAgIGZwaV9ieXRlX3JlYWRlcl9nZXRfYnl0ZXMgICAgICAgKEZwaUJ5dGVSZWFkZXIg KnJlYWRlciwgZ3VpbnQgc2l6ZSk7CisrCisrCisrR0J5dGVzICogICAgICAgIGZwaV9ieXRlX3Jl YWRlcl9wZWVrX2J5dGVzICAgICAgKGNvbnN0IEZwaUJ5dGVSZWFkZXIgKnJlYWRlciwgZ3VpbnQg c2l6ZSk7CisrCisrCisgI2RlZmluZSBmcGlfYnl0ZV9yZWFkZXJfZHVwX3N0cmluZyhyZWFkZXIs c3RyKSBcCisgICAgIGZwaV9ieXRlX3JlYWRlcl9kdXBfc3RyaW5nX3V0ZjgocmVhZGVyLHN0cikK KyAKK0BAIC02NDIsNiArNjUzLDM0IEBAIGZwaV9ieXRlX3JlYWRlcl9wZWVrX2RhdGFfaW5saW5l IChjb25zdCBGcGlCeXRlUmVhZGVyICogcmVhZGVyLCBndWludCBzaXplLCBjb25zCisgICByZXR1 cm4gVFJVRTsKKyB9CisgCisrc3RhdGljIGlubGluZSBHQnl0ZXMgKgorK2ZwaV9ieXRlX3JlYWRl cl9wZWVrX2J5dGVzX2lubGluZSAoY29uc3QgRnBpQnl0ZVJlYWRlciAqcmVhZGVyLCBndWludCBz aXplKQorK3sKKysgIGNvbnN0IGd1aW50OCAqZGF0YTsKKysKKysgIGdfcmV0dXJuX3ZhbF9pZl9m YWlsIChyZWFkZXIgIT0gTlVMTCwgTlVMTCk7CisrCisrICBpZiAoR19VTkxJS0VMWSAoc2l6ZSA+ IHJlYWRlci0+c2l6ZSB8fCBmcGlfYnl0ZV9yZWFkZXJfZ2V0X3JlbWFpbmluZ191bmNoZWNrZWQg KHJlYWRlcikgPCBzaXplKSkKKysgICAgcmV0dXJuIE5VTEw7CisrCisrICBkYXRhID0gZnBpX2J5 dGVfcmVhZGVyX3BlZWtfZGF0YV91bmNoZWNrZWQgKHJlYWRlcik7CisrICByZXR1cm4gZ19ieXRl c19uZXdfc3RhdGljIChkYXRhLCBzaXplKTsKKyt9CisrCisrc3RhdGljIGlubGluZSBHQnl0ZXMg KgorK2ZwaV9ieXRlX3JlYWRlcl9nZXRfYnl0ZXNfaW5saW5lIChGcGlCeXRlUmVhZGVyICpyZWFk ZXIsIGd1aW50IHNpemUpCisreworKyAgY29uc3QgZ3VpbnQ4ICpkYXRhOworKworKyAgZ19yZXR1 cm5fdmFsX2lmX2ZhaWwgKHJlYWRlciAhPSBOVUxMLCBOVUxMKTsKKysKKysgIGlmIChHX1VOTElL RUxZIChzaXplID4gcmVhZGVyLT5zaXplIHx8IGZwaV9ieXRlX3JlYWRlcl9nZXRfcmVtYWluaW5n X3VuY2hlY2tlZCAocmVhZGVyKSA8IHNpemUpKQorKyAgICByZXR1cm4gTlVMTDsKKysKKysgIGRh dGEgPSBmcGlfYnl0ZV9yZWFkZXJfZ2V0X2RhdGFfdW5jaGVja2VkIChyZWFkZXIsIHNpemUpOwor KyAgcmV0dXJuIGdfYnl0ZXNfbmV3X3N0YXRpYyAoZGF0YSwgc2l6ZSk7CisrfQorKworIHN0YXRp YyBpbmxpbmUgZ3VpbnQKKyBmcGlfYnl0ZV9yZWFkZXJfZ2V0X3Bvc19pbmxpbmUgKGNvbnN0IEZw aUJ5dGVSZWFkZXIgKiByZWFkZXIpCisgeworQEAgLTY3Miw2ICs3MTEsMTAgQEAgZnBpX2J5dGVf cmVhZGVyX3NraXBfaW5saW5lIChGcGlCeXRlUmVhZGVyICogcmVhZGVyLCBndWludCBuYnl0ZXMp CisgICAgIEdfTElLRUxZKGZwaV9ieXRlX3JlYWRlcl9wZWVrX2RhdGFfaW5saW5lKHJlYWRlcixz aXplLHZhbCkpCisgI2RlZmluZSBmcGlfYnl0ZV9yZWFkZXJfc2tpcChyZWFkZXIsbmJ5dGVzKSBc CisgICAgIEdfTElLRUxZKGZwaV9ieXRlX3JlYWRlcl9za2lwX2lubGluZShyZWFkZXIsbmJ5dGVz KSkKKysjZGVmaW5lIGZwaV9ieXRlX3JlYWRlcl9nZXRfYnl0ZXMocmVhZGVyLHNpemUpIFwKKysg ICAgZnBpX2J5dGVfcmVhZGVyX2dldF9ieXRlc19pbmxpbmUocmVhZGVyLHNpemUpCisrI2RlZmlu ZSBmcGlfYnl0ZV9yZWFkZXJfcGVla19ieXRlcyhyZWFkZXIsc2l6ZSkgXAorKyAgICBmcGlfYnl0 ZV9yZWFkZXJfcGVla19ieXRlc19pbmxpbmUocmVhZGVyLHNpemUpCisgCisgI2VuZGlmIC8qIEZQ SV9CWVRFX1JFQURFUl9ESVNBQkxFX0lOTElORVMgKi8KKyAKKy0tIAorMi41NC4wCisKCmRpZmYg LS1naXQgYS8wMDA0LWZwaS1ieXRlLXJlYWRlci1BZGQtc3VwcG9ydC10by1yZWFkLXRvLWEtc3Rh dGljLWJ1ZmYucGF0Y2ggYi8wMDA0LWZwaS1ieXRlLXJlYWRlci1BZGQtc3VwcG9ydC10by1yZWFk LXRvLWEtc3RhdGljLWJ1ZmYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uN2ZlM2MyMgotLS0gL2Rldi9udWxsCisrKyBiLzAwMDQtZnBpLWJ5dGUtcmVhZGVyLUFkZC1z dXBwb3J0LXRvLXJlYWQtdG8tYS1zdGF0aWMtYnVmZi5wYXRjaApAQCAtMCwwICsxLDE2MCBAQAor RnJvbSBmNmE4Y2FlNWI0ZjE1NTU3Njk3MDZmN2U1YjIyMjE0NWZkM2JlOGVlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP01hcmNvPTIwVHJldmlzYW49MjA9MjhUcmV2 aT1DMz1CMW89Mjk/PSA8bWFpbEAzdjFuMC5uZXQ+CitEYXRlOiBNb24sIDggSnVuIDIwMjYgMTQ6 MTY6MzYgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCA0LzZdIGZwaS1ieXRlLXJlYWRlcjogQWRkIHN1 cHBvcnQgdG8gcmVhZCB0byBhIHN0YXRpYyBidWZmZXIKKworVGhpcyB3b3JrcyB0aHJvdWdoIG1h Y3JvcyB3aGVuIHRoZSBzaXplIG9mIGEgYnVmZmVyIGlzIHN0YXRpY2FsbHkKK2RlZmluZWQKKy0t LQorIGRvYy9saWJmcHJpbnQtMi1zZWN0aW9ucy50eHQgfCAgMiArKworIGxpYmZwcmludC9mcGkt Ynl0ZS1yZWFkZXIuYyAgfCAzNSArKysrKysrKysrKysrKysrKysrKysrCisgbGliZnByaW50L2Zw aS1ieXRlLXJlYWRlci5oICB8IDU3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KworIDMgZmlsZXMgY2hhbmdlZCwgOTQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvZG9j L2xpYmZwcmludC0yLXNlY3Rpb25zLnR4dCBiL2RvYy9saWJmcHJpbnQtMi1zZWN0aW9ucy50eHQK K2luZGV4IDUyZGRiNDIuLjM5MWYxZjQgMTAwNjQ0CistLS0gYS9kb2MvbGliZnByaW50LTItc2Vj dGlvbnMudHh0CisrKysgYi9kb2MvbGliZnByaW50LTItc2VjdGlvbnMudHh0CitAQCAtMTk4LDYg KzE5OCw4IEBAIGZwaV9ieXRlX3JlYWRlcl9nZXRfZmxvYXQ2NF9iZQorIGZwaV9ieXRlX3JlYWRl cl9wZWVrX2Zsb2F0NjRfYmUKKyBmcGlfYnl0ZV9yZWFkZXJfZ2V0X2RhdGEKKyBmcGlfYnl0ZV9y ZWFkZXJfcGVla19kYXRhCisrZnBpX2J5dGVfcmVhZGVyX2dldF9kYXRhX3N0YXRpYworK2ZwaV9i eXRlX3JlYWRlcl9wZWVrX2RhdGFfc3RhdGljCisgZnBpX2J5dGVfcmVhZGVyX2R1cF9kYXRhCisg ZnBpX2J5dGVfcmVhZGVyX21hc2tlZF9zY2FuX3VpbnQzMgorIGZwaV9ieXRlX3JlYWRlcl9tYXNr ZWRfc2Nhbl91aW50MzJfcGVlaworZGlmZiAtLWdpdCBhL2xpYmZwcmludC9mcGktYnl0ZS1yZWFk ZXIuYyBiL2xpYmZwcmludC9mcGktYnl0ZS1yZWFkZXIuYworaW5kZXggMTU5MTgyNS4uOTcwOWE0 MSAxMDA2NDQKKy0tLSBhL2xpYmZwcmludC9mcGktYnl0ZS1yZWFkZXIuYworKysrIGIvbGliZnBy aW50L2ZwaS1ieXRlLXJlYWRlci5jCitAQCAtODQ4LDYgKzg0OCw0MSBAQCBmcGlfYnl0ZV9yZWFk ZXJfcGVla19kYXRhIChjb25zdCBGcGlCeXRlUmVhZGVyICogcmVhZGVyLCBndWludCBzaXplLAor ICAgcmV0dXJuIGZwaV9ieXRlX3JlYWRlcl9wZWVrX2RhdGFfaW5saW5lIChyZWFkZXIsIHNpemUs IHZhbCk7CisgfQorIAorKy8qKgorKyAqIGZwaV9ieXRlX3JlYWRlcl9nZXRfZGF0YV9maXhlZDoK KysgKiBAcmVhZGVyOiBhICNGcGlCeXRlUmVhZGVyIGluc3RhbmNlCisrICogQHNpemU6IFNpemUg aW4gYnl0ZXMKKysgKiBAdmFsOiAob3V0KSAoYXJyYXkgbGVuZ3RoPXNpemUpOiBhZGRyZXNzIG9m IGEgYnVmZmVyIHRvIGNvcHkgZGF0YSBpbnRvCisrICoKKysgKiBDb3BpZXMgQHNpemUgYnl0ZXMg ZnJvbSB0aGUgY3VycmVudCBkYXRhIHBvc2l0aW9uIGludG8gQHZhbCBpZiBhdAorKyAqIGxlYXN0 IEBzaXplIGJ5dGVzIGFyZSBsZWZ0LCBhbmQgdXBkYXRlcyB0aGUgY3VycmVudCBwb3NpdGlvbi4K KysgKgorKyAqIFJldHVybnM6ICVUUlVFIGlmIHN1Y2Nlc3NmdWwsICVGQUxTRSBvdGhlcndpc2Uu CisrICovCisrZ2Jvb2xlYW4KKysoZnBpX2J5dGVfcmVhZGVyX2dldF9kYXRhX3N0YXRpYykgKEZw aUJ5dGVSZWFkZXIgKiByZWFkZXIsIGd1aW50IHNpemUsCisrICAgIGNvbnN0IGd1aW50OCAqIHZh bCkKKyt7CisrICByZXR1cm4gKGZwaV9ieXRlX3JlYWRlcl9nZXRfZGF0YV9pbmxpbmVfc3RhdGlj KSAocmVhZGVyLCBzaXplLCB2YWwpOworK30KKysKKysvKioKKysgKiBmcGlfYnl0ZV9yZWFkZXJf cGVla19kYXRhX2ZpeGVkOgorKyAqIEByZWFkZXI6IGEgI0ZwaUJ5dGVSZWFkZXIgaW5zdGFuY2UK KysgKiBAc2l6ZTogU2l6ZSBpbiBieXRlcworKyAqIEB2YWw6IChvdXQpIChhcnJheSBsZW5ndGg9 c2l6ZSk6IGFkZHJlc3Mgb2YgYSBidWZmZXIgdG8gY29weSBkYXRhIGludG8KKysgKgorKyAqIExp a2UgZnBpX2J5dGVfcmVhZGVyX2dldF9kYXRhX2ZpeGVkKCkgYnV0IGRvZXMgbm90IGFkdmFuY2Ug dGhlIHBvc2l0aW9uLgorKyAqCisrICogUmV0dXJuczogJVRSVUUgaWYgc3VjY2Vzc2Z1bCwgJUZB TFNFIG90aGVyd2lzZS4KKysgKi8KKytnYm9vbGVhbgorKyhmcGlfYnl0ZV9yZWFkZXJfcGVla19k YXRhX3N0YXRpYykgKGNvbnN0IEZwaUJ5dGVSZWFkZXIgKiByZWFkZXIsIGd1aW50IHNpemUsCisr ICAgIGd1aW50OCAqIHZhbCkKKyt7CisrICByZXR1cm4gKGZwaV9ieXRlX3JlYWRlcl9wZWVrX2Rh dGFfaW5saW5lX3N0YXRpYykgKHJlYWRlciwgc2l6ZSwgdmFsKTsKKyt9CisrCisgLyoqCisgICog ZnBpX2J5dGVfcmVhZGVyX2R1cF9kYXRhOgorICAqIEByZWFkZXI6IGEgI0ZwaUJ5dGVSZWFkZXIg aW5zdGFuY2UKK2RpZmYgLS1naXQgYS9saWJmcHJpbnQvZnBpLWJ5dGUtcmVhZGVyLmggYi9saWJm cHJpbnQvZnBpLWJ5dGUtcmVhZGVyLmgKK2luZGV4IDA1YTM5ODkuLjI3ODk1OWYgMTAwNjQ0Cist LS0gYS9saWJmcHJpbnQvZnBpLWJ5dGUtcmVhZGVyLmgKKysrKyBiL2xpYmZwcmludC9mcGktYnl0 ZS1yZWFkZXIuaAorQEAgLTIyMiw5ICsyMjIsMTUgQEAgZ2Jvb2xlYW4gICAgICAgIGZwaV9ieXRl X3JlYWRlcl9kdXBfZGF0YSAgICAgICAgKEZwaUJ5dGVSZWFkZXIgKiByZWFkZXIsIGd1aW50IHMK KyBnYm9vbGVhbiAgICAgICAgZnBpX2J5dGVfcmVhZGVyX2dldF9kYXRhICAgICAgICAoRnBpQnl0 ZVJlYWRlciAqIHJlYWRlciwgZ3VpbnQgc2l6ZSwgY29uc3QgZ3VpbnQ4ICoqIHZhbCk7CisgCisg CisrZ2Jvb2xlYW4gICAgICAgIGZwaV9ieXRlX3JlYWRlcl9nZXRfZGF0YV9zdGF0aWMgKEZwaUJ5 dGVSZWFkZXIgKiByZWFkZXIsIGd1aW50IHNpemUsIGNvbnN0IGd1aW50OCAgKiB2YWwpOworKwor KworIGdib29sZWFuICAgICAgICBmcGlfYnl0ZV9yZWFkZXJfcGVla19kYXRhICAgICAgIChjb25z dCBGcGlCeXRlUmVhZGVyICogcmVhZGVyLCBndWludCBzaXplLCBjb25zdCBndWludDggKiogdmFs KTsKKyAKKyAKKytnYm9vbGVhbiAgICAgICAgZnBpX2J5dGVfcmVhZGVyX3BlZWtfZGF0YV9zdGF0 aWMgKGNvbnN0IEZwaUJ5dGVSZWFkZXIgKiByZWFkZXIsIGd1aW50IHNpemUsIGd1aW50OCAgICog dmFsKTsKKysKKysKKyBHQnl0ZXMgKiAgICAgICAgZnBpX2J5dGVfcmVhZGVyX2dldF9ieXRlcyAg ICAgICAoRnBpQnl0ZVJlYWRlciAqcmVhZGVyLCBndWludCBzaXplKTsKKyAKKyAKK0BAIC02ODEs NiArNjg3LDMyIEBAIGZwaV9ieXRlX3JlYWRlcl9nZXRfYnl0ZXNfaW5saW5lIChGcGlCeXRlUmVh ZGVyICpyZWFkZXIsIGd1aW50IHNpemUpCisgICByZXR1cm4gZ19ieXRlc19uZXdfc3RhdGljIChk YXRhLCBzaXplKTsKKyB9CisgCisrc3RhdGljIGlubGluZSBnYm9vbGVhbgorKyhmcGlfYnl0ZV9y ZWFkZXJfZ2V0X2RhdGFfaW5saW5lX3N0YXRpYykgKEZwaUJ5dGVSZWFkZXIgKiByZWFkZXIsIGd1 aW50IHNpemUsIGNvbnN0IGd1aW50OCAqIHZhbCkKKyt7CisrICBnX3JldHVybl92YWxfaWZfZmFp bCAocmVhZGVyICE9IE5VTEwsIEZBTFNFKTsKKysgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsICh2YWwg IT0gTlVMTCwgRkFMU0UpOworKworKyAgaWYgKEdfVU5MSUtFTFkgKHNpemUgPiByZWFkZXItPnNp emUgfHwgZnBpX2J5dGVfcmVhZGVyX2dldF9yZW1haW5pbmdfdW5jaGVja2VkIChyZWFkZXIpIDwg c2l6ZSkpCisrICAgIHJldHVybiBGQUxTRTsKKysKKysgIG1lbWNweSAoKHZvaWQgKikgdmFsLCBm cGlfYnl0ZV9yZWFkZXJfZ2V0X2RhdGFfdW5jaGVja2VkIChyZWFkZXIsIHNpemUpLCBzaXplKTsK KysgIHJldHVybiBUUlVFOworK30KKysKKytzdGF0aWMgaW5saW5lIGdib29sZWFuCisrKGZwaV9i eXRlX3JlYWRlcl9wZWVrX2RhdGFfaW5saW5lX3N0YXRpYykgKGNvbnN0IEZwaUJ5dGVSZWFkZXIg KiByZWFkZXIsIGd1aW50IHNpemUsIGd1aW50OCAqIHZhbCkKKyt7CisrICBnX3JldHVybl92YWxf aWZfZmFpbCAocmVhZGVyICE9IE5VTEwsIEZBTFNFKTsKKysgIGdfcmV0dXJuX3ZhbF9pZl9mYWls ICh2YWwgIT0gTlVMTCwgRkFMU0UpOworKworKyAgaWYgKEdfVU5MSUtFTFkgKHNpemUgPiByZWFk ZXItPnNpemUgfHwgZnBpX2J5dGVfcmVhZGVyX2dldF9yZW1haW5pbmdfdW5jaGVja2VkIChyZWFk ZXIpIDwgc2l6ZSkpCisrICAgIHJldHVybiBGQUxTRTsKKysKKysgIG1lbWNweSAodmFsLCBmcGlf Ynl0ZV9yZWFkZXJfcGVla19kYXRhX3VuY2hlY2tlZCAocmVhZGVyKSwgc2l6ZSk7CisrICByZXR1 cm4gVFJVRTsKKyt9CisrCisgc3RhdGljIGlubGluZSBndWludAorIGZwaV9ieXRlX3JlYWRlcl9n ZXRfcG9zX2lubGluZSAoY29uc3QgRnBpQnl0ZVJlYWRlciAqIHJlYWRlcikKKyB7CitAQCAtNzE2 LDYgKzc0OCwzMSBAQCBmcGlfYnl0ZV9yZWFkZXJfc2tpcF9pbmxpbmUgKEZwaUJ5dGVSZWFkZXIg KiByZWFkZXIsIGd1aW50IG5ieXRlcykKKyAjZGVmaW5lIGZwaV9ieXRlX3JlYWRlcl9wZWVrX2J5 dGVzKHJlYWRlcixzaXplKSBcCisgICAgIGZwaV9ieXRlX3JlYWRlcl9wZWVrX2J5dGVzX2lubGlu ZShyZWFkZXIsc2l6ZSkKKyAKKysvKioKKysgKiBmcGlfYnl0ZV9yZWFkZXJfZ2V0X2RhdGFfc3Rh dGljOgorKyAqIEByZWFkZXI6IGEgI0ZwaUJ5dGVSZWFkZXIKKysgKiBAdmFsOiBmaXhlZC1zaXpl IGFycmF5IChlLmcuIGB1aW50OF90IGJ1ZlszMl1gKQorKyAqCisrICogUmVhZHMgQHNpemUgYnl0 ZXMgZnJvbSBAcmVhZGVyIGRpcmVjdGx5IGludG8gQHZhbCwgd2hlcmUgQHNpemUgaXMKKysgKiBk ZWR1Y2VkIHZpYSBgc2l6ZW9mKClgIC0gb25seSBzYWZlIHdpdGggdHJ1ZSBDIGFycmF5cy4KKysg KgorKyAqIFJldHVybnM6ICVUUlVFIG9uIHN1Y2Nlc3MsICVGQUxTRSBvdGhlcndpc2UuCisrICov CisrI2RlZmluZSBmcGlfYnl0ZV9yZWFkZXJfZ2V0X2RhdGFfc3RhdGljKHJlYWRlcix2YWwpIFwK KysgICAgKGZwaV9ieXRlX3JlYWRlcl9nZXRfZGF0YV9zdGF0aWMpIChyZWFkZXIsc2l6ZW9mKHZh bCksdmFsKQorKworKy8qKgorKyAqIGZwaV9ieXRlX3JlYWRlcl9wZWVrX2RhdGFfc3RhdGljOgor KyAqIEByZWFkZXI6IGEgI0ZwaUJ5dGVSZWFkZXIKKysgKiBAdmFsOiBmaXhlZC1zaXplIGFycmF5 IChlLmcuIGB1aW50OF90IGJ1ZlszMl1gKQorKyAqCisrICogTGlrZSBmcGlfYnl0ZV9yZWFkZXJf Z2V0X2RhdGFfc3RhdGljKCkgYnV0IGRvZXMgbm90IGFkdmFuY2UgdGhlIHBvc2l0aW9uLgorKyAq CisrICogUmV0dXJuczogJVRSVUUgb24gc3VjY2VzcywgJUZBTFNFIG90aGVyd2lzZS4KKysgKi8K KysjZGVmaW5lIGZwaV9ieXRlX3JlYWRlcl9wZWVrX2RhdGFfc3RhdGljKHJlYWRlcix2YWwpIFwK KysgICAgKGZwaV9ieXRlX3JlYWRlcl9wZWVrX2RhdGFfc3RhdGljKSAocmVhZGVyLHNpemVvZih2 YWwpLHZhbCkKKysKKyAjZW5kaWYgLyogRlBJX0JZVEVfUkVBREVSX0RJU0FCTEVfSU5MSU5FUyAq LworIAorIEdfREVGSU5FX0FVVE9QVFJfQ0xFQU5VUF9GVU5DIChGcGlCeXRlUmVhZGVyLCBmcGlf Ynl0ZV9yZWFkZXJfZnJlZSk7CistLSAKKzIuNTQuMAorCgpkaWZmIC0tZ2l0IGEvMDAwNS1mcGkt dXNiLXRyYW5zZmVyLUFkZC1taXNzaW5nLWRlZmluaXRpb24tb2Ytc2V0X3Nob3J0LnBhdGNoIGIv MDAwNS1mcGktdXNiLXRyYW5zZmVyLUFkZC1taXNzaW5nLWRlZmluaXRpb24tb2Ytc2V0X3Nob3J0 LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5NjdkY2UKLS0tIC9k ZXYvbnVsbAorKysgYi8wMDA1LWZwaS11c2ItdHJhbnNmZXItQWRkLW1pc3NpbmctZGVmaW5pdGlv bi1vZi1zZXRfc2hvcnQucGF0Y2gKQEAgLTAsMCArMSw0MiBAQAorRnJvbSBlN2M4MGU3NDhlZDNi MDBjNDMyZjNjMDBmMmVjN2I3MjYyNTI3ZGIzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bTogPT9VVEYtOD9xP01hcmNvPTIwVHJldmlzYW49MjA9MjhUcmV2aT1DMz1CMW89Mjk/PSA8bWFp bEAzdjFuMC5uZXQ+CitEYXRlOiBNb24sIDggSnVuIDIwMjYgMTM6Mjc6MzYgKzAyMDAKK1N1Ympl Y3Q6IFtQQVRDSCA1LzZdIGZwaS11c2ItdHJhbnNmZXI6IEFkZCBtaXNzaW5nIGRlZmluaXRpb24g b2YKKyBzZXRfc2hvcnRfZXJyb3IoKQorCitJdCB3YXMgaW4gdGhlIGhlYWRlciBidXQgbm90IGlt cGxlbWVudGVkCistLS0KKyBsaWJmcHJpbnQvZnBpLXVzYi10cmFuc2Zlci5jIHwgMjAgKysrKysr KysrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKQorCitkaWZm IC0tZ2l0IGEvbGliZnByaW50L2ZwaS11c2ItdHJhbnNmZXIuYyBiL2xpYmZwcmludC9mcGktdXNi LXRyYW5zZmVyLmMKK2luZGV4IGFjNGY2MGMuLjA2N2FlMTggMTAwNjQ0CistLS0gYS9saWJmcHJp bnQvZnBpLXVzYi10cmFuc2Zlci5jCisrKysgYi9saWJmcHJpbnQvZnBpLXVzYi10cmFuc2Zlci5j CitAQCAtNTQ4LDMgKzU0OCwyMyBAQCBmcGlfdXNiX3RyYW5zZmVyX3N1Ym1pdF9zeW5jIChGcGlV c2JUcmFuc2ZlciAqdHJhbnNmZXIsCisgCisgICByZXR1cm4gcmVzOworIH0KKysKKysvKioKKysg KiBmcGlfdXNiX3RyYW5zZmVyX3NldF9zaG9ydF9lcnJvcjoKKysgKiBAdHJhbnNmZXI6IFRoZSB0 cmFuc2ZlciB0byBzdWJtaXQsIG11c3QgaGF2ZSBiZWVuIGZpbGxlZC4KKysgKiBAc2hvcnRfaXNf ZXJyb3I6IFdoZXRoZXIgYSBzaG9ydCB0cmFuc2ZlciBzaG91bGQgYmUgY29uc2lkZXJlZCBhbiBl cnJvcgorKyAqCisrICogU2V0cyB3aGV0aGVyIGEgc2hvcnQgdHJhbnNmZXIgKGEgdHJhbnNmZXIg aW4gd2hpY2ggdGhlIHRyYW5zZmVycmVkIGxlbmd0aAorKyAqIGRvZXMgbm90IG1hdGNoIHRoZSBl eHBlY3RlZCBsZW5ndGgpIHNob3VsZCBiZSBjb25zaWRlcmVkIGFuIGVycm9yCisrICoKKysgKiBC eSBkZWZhdWx0LCBzaG9ydCB0cmFuc2ZlcnMgYXJlIG5vdCBjb25zaWRlcmVkIGFuIGVycm9yLCBi dXQKKysgKiBkcml2ZXJzIGNhbiBlbmZvcmNlIGEgZnVydGhlciBjaGVjayBieSBzZXR0aW5nIHRo aXMgZmxhZy4KKysgKi8KKyt2b2lkCisrZnBpX3VzYl90cmFuc2Zlcl9zZXRfc2hvcnRfZXJyb3Ig KEZwaVVzYlRyYW5zZmVyICp0cmFuc2ZlciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZ2Jvb2xlYW4gICAgICAgIHNob3J0X2lzX2Vycm9yKQorK3sKKysgIGdfcmV0dXJuX2lm X2ZhaWwgKHRyYW5zZmVyKTsKKysKKysgIHRyYW5zZmVyLT5zaG9ydF9pc19lcnJvciA9IHNob3J0 X2lzX2Vycm9yOworK30KKy0tIAorMi41NC4wCisKCmRpZmYgLS1naXQgYS8wMDA2LWZwaS11c2It dHJhbnNmZXItV3JhcC1nX2Vycm9yX25ldy1hcmd1bWVudHMucGF0Y2ggYi8wMDA2LWZwaS11c2It dHJhbnNmZXItV3JhcC1nX2Vycm9yX25ldy1hcmd1bWVudHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uMDY3MTY4MgotLS0gL2Rldi9udWxsCisrKyBiLzAwMDYtZnBp LXVzYi10cmFuc2Zlci1XcmFwLWdfZXJyb3JfbmV3LWFyZ3VtZW50cy5wYXRjaApAQCAtMCwwICsx LDI2IEBACitGcm9tIDlkNGU3ZmM4N2I3NjgxOWMwNDlmYzIzZjkyYjNkY2NkYWYzNjVlNzUgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/TWFyY289MjBUcmV2aXNhbj0y MD0yOFRyZXZpPUMzPUIxbz0yOT89IDxtYWlsQDN2MW4wLm5ldD4KK0RhdGU6IE1vbiwgOCBKdW4g MjAyNiAxNDozNjoxMCArMDIwMAorU3ViamVjdDogW1BBVENIIDYvNl0gZnBpLXVzYi10cmFuc2Zl cjogV3JhcCBnX2Vycm9yX25ldyBhcmd1bWVudHMKKworLS0tCisgbGliZnByaW50L2ZwaS11c2It dHJhbnNmZXIuYyB8IDMgKystCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbGliZnByaW50L2ZwaS11c2ItdHJhbnNmZXIuYyBi L2xpYmZwcmludC9mcGktdXNiLXRyYW5zZmVyLmMKK2luZGV4IDA2N2FlMTguLjQ0OGM1NjYgMTAw NjQ0CistLS0gYS9saWJmcHJpbnQvZnBpLXVzYi10cmFuc2Zlci5jCisrKysgYi9saWJmcHJpbnQv ZnBpLXVzYi10cmFuc2Zlci5jCitAQCAtMzQ0LDcgKzM0NCw4IEBAIHRyYW5zZmVyX2ZpbmlzaF9j YiAoR09iamVjdCAqc291cmNlX29iamVjdCwgR0FzeW5jUmVzdWx0ICpyZXMsIGdwb2ludGVyIHVz ZXJfZGF0CisgICAgIHsKKyAgICAgICBlcnJvciA9IGdfZXJyb3JfbmV3IChHX1VTQl9ERVZJQ0Vf RVJST1IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19VU0JfREVWSUNFX0VSUk9SX0lP LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmV4cGVjdGVkIHNob3J0IGVycm9yIG9m ICV6ZCBzaXplIChleHBlY3RlZCAlemQpIiwgdHJhbnNmZXItPmFjdHVhbF9sZW5ndGgsIHRyYW5z ZmVyLT5sZW5ndGgpOworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmV4cGVjdGVkIHNo b3J0IGVycm9yIG9mICV6ZCBzaXplIChleHBlY3RlZCAlemQpIiwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICB0cmFuc2Zlci0+YWN0dWFsX2xlbmd0aCwgdHJhbnNmZXItPmxlbmd0aCk7Cisg ICAgIH0KKyAKKyAgIGNhbGxiYWNrID0gdHJhbnNmZXItPmNhbGxiYWNrOworLS0gCisyLjU0LjAK KwoKZGlmZiAtLWdpdCBhL2VnaXNfcmVhZGVyLnBhdGNoIGIvZWdpc19yZWFkZXIucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTdlODNlNQotLS0gL2Rldi9udWxsCisr KyBiL2VnaXNfcmVhZGVyLnBhdGNoCkBAIC0wLDAgKzEsMzMwNCBAQAorRnJvbSA5YmRkZDkwZjA2 ZjRkOTk5NzM4OTc0MGI0ODBlNzFkMzJiYmM4NTlmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQor RnJvbTogSmFzb24gSHVhbmcgPGphc29uLmh1YW5nQGVnaXN0ZWMuY29tPgorRGF0ZTogV2VkLCAy OCBKYW4gMjAyNiAyMTowNjo0OCArMDgwMAorU3ViamVjdDogW1BBVENIIDAxLzEzXSBlZ2lzX2V0 dTkwNTogQWRkIDFjN2E6MDVhZSBhbmQgMWM3YTo5MjAxIGZpbmdlcnByaW50CisgcmVhZGVycwor CistLS0KKyBkYXRhL2F1dG9zdXNwZW5kLmh3ZGIgICAgICAgICAgICAgICAgICAgfCAgICA2ICsK KyBsaWJmcHJpbnQvZHJpdmVycy9lZ2lzbW9jL2VnaXNfZXR1OTA1LmMgfCAxNjM1ICsrKysrKysr KysrKysrKysrKysrKysrCisgbGliZnByaW50L2RyaXZlcnMvZWdpc21vYy9lZ2lzX2V0dTkwNS5o IHwgIDIxNCArKysKKyBsaWJmcHJpbnQvbWVzb24uYnVpbGQgICAgICAgICAgICAgICAgICAgfCAg ICAyICsKKyBtZXNvbi5idWlsZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAyICsK KyB0ZXN0cy9lZ2lzX2V0dTkwNS9jdXN0b20ucGNhcG5nICAgICAgICAgfCAgQmluIDAgLT4gMzM2 NDQgYnl0ZXMKKyB0ZXN0cy9lZ2lzX2V0dTkwNS9jdXN0b20ucHkgICAgICAgICAgICAgfCAgMTA5 ICsrCisgdGVzdHMvZWdpc19ldHU5MDUvZGV2aWNlICAgICAgICAgICAgICAgIHwgIDM0OCArKysr KworIHRlc3RzL21lc29uLmJ1aWxkICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKworIDkg ZmlsZXMgY2hhbmdlZCwgMjMxNyBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGxp YmZwcmludC9kcml2ZXJzL2VnaXNtb2MvZWdpc19ldHU5MDUuYworIGNyZWF0ZSBtb2RlIDEwMDY0 NCBsaWJmcHJpbnQvZHJpdmVycy9lZ2lzbW9jL2VnaXNfZXR1OTA1LmgKKyBjcmVhdGUgbW9kZSAx MDA2NDQgdGVzdHMvZWdpc19ldHU5MDUvY3VzdG9tLnBjYXBuZworIGNyZWF0ZSBtb2RlIDEwMDY0 NCB0ZXN0cy9lZ2lzX2V0dTkwNS9jdXN0b20ucHkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMv ZWdpc19ldHU5MDUvZGV2aWNlCisKK2RpZmYgLS1naXQgYS9kYXRhL2F1dG9zdXNwZW5kLmh3ZGIg Yi9kYXRhL2F1dG9zdXNwZW5kLmh3ZGIKK2luZGV4IDU1YjVjYjRjLi5hM2ZmMDBhZiAxMDA2NDQK Ky0tLSBhL2RhdGEvYXV0b3N1c3BlbmQuaHdkYgorKysrIGIvZGF0YS9hdXRvc3VzcGVuZC5od2Ri CitAQCAtNzcsNiArNzcsMTIgQEAgdXNiOnYxQzdBcDA1NzEqCisgIElEX0FVVE9TVVNQRU5EPTEK KyAgSURfUEVSU0lTVD0wCisgCisrIyBTdXBwb3J0ZWQgYnkgbGliZnByaW50IGRyaXZlciBlZ2lz X2V0dTkwNQorK3VzYjp2MUM3QXAwNUFFKgorK3VzYjp2MUM3QXA5MjAxKgorKyBJRF9BVVRPU1VT UEVORD0xCisrIElEX1BFUlNJU1Q9MAorKworICMgU3VwcG9ydGVkIGJ5IGxpYmZwcmludCBkcml2 ZXIgZWdpc21vYworIHVzYjp2MUM3QXAwNTgyKgorIHVzYjp2MUM3QXAwNTgzKgorZGlmZiAtLWdp dCBhL2xpYmZwcmludC9kcml2ZXJzL2VnaXNtb2MvZWdpc19ldHU5MDUuYyBiL2xpYmZwcmludC9k cml2ZXJzL2VnaXNtb2MvZWdpc19ldHU5MDUuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4 IDAwMDAwMDAwLi5iZTBjNmUwNQorLS0tIC9kZXYvbnVsbAorKysrIGIvbGliZnByaW50L2RyaXZl cnMvZWdpc21vYy9lZ2lzX2V0dTkwNS5jCitAQCAtMCwwICsxLDE2MzUgQEAKKysvKgorKyAqIERy aXZlciBmb3IgRWdpcyBUZWNobm9sb2d5IChMaWdoVHVuaW5nKSBNYXRjaC1Pbi1DaGlwIHNlbnNv cnMKKysgKgorKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IKKysgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisrICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisrICogdmVyc2lvbiAyLjEgb2YgdGhl IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrICoKKysg KiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKKysgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgorKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisrICogTGVzc2VyIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysgKgorKyAqIFlvdSBzaG91bGQgaGF2ZSBy ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKysgKiBMaWNl bnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNv ZnR3YXJlCisrICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG bG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQQorKyAqLworKworKyNkZWZpbmUgRlBfQ09N UE9ORU5UICJlZ2lzX2V0dTkwNSIKKysKKysjaW5jbHVkZSA8c3RkaW8uaD4KKysjaW5jbHVkZSA8 Z2xpYi5oPgorKyNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KKysKKysjaW5jbHVkZSAiZHJpdmVyc19h cGkuaCIKKysjaW5jbHVkZSAiZnBpLWJ5dGUtd3JpdGVyLmgiCisrCisrI2luY2x1ZGUgImVnaXNf ZXR1OTA1LmgiCisrCisrc3RydWN0IF9GcGlEZXZpY2VFZ2lzRXR1OTA1CisreworKyAgRnBEZXZp Y2UgICAgICAgIHBhcmVudDsKKysgIEZwaVNzbSAgICAgICAgICp0YXNrX3NzbTsKKysgIEZwaVNz bSAgICAgICAgICpjbWRfc3NtOworKyAgRnBpVXNiVHJhbnNmZXIgKmNtZF90cmFuc2ZlcjsKKysg IEdDYW5jZWxsYWJsZSAgICppbnRlcnJ1cHRfY2FuY2VsbGFibGU7CisrICBHUHRyQXJyYXkgICAg ICAqZW5yb2xsZWRfaWRzOworKyAgZ2ludCAgICAgICAgICAgIG1heF9lbnJvbGxfc3RhZ2VzOwor KyAgZ3VpbnQ4ICAgICAgICAgIHNpZFtFR0lTX0VUVTkwNV9GSU5HRVJQUklOVF9EQVRBX1NJWkVd OworK307CisrCisrR19ERUZJTkVfVFlQRSAoRnBpRGV2aWNlRWdpc0V0dTkwNSwgZnBpX2Rldmlj ZV9lZ2lzX2V0dTkwNSwgRlBfVFlQRV9ERVZJQ0UpOworKworK3N0YXRpYyBjb25zdCBGcElkRW50 cnkgZWdpc19ldHU5MDVfaWRfdGFibGVbXSA9IHsKKysgIHsgLnZpZCA9IDB4MWM3YSwgLnBpZCA9 IDB4MDVhZSwgLmRyaXZlcl9kYXRhID0gRUdJU19FVFU5MDVfRFJJVkVSX0NIRUNLX1BSRUZJWF9U WVBFMSB9LAorKyAgeyAudmlkID0gMHgxYzdhLCAucGlkID0gMHg5MjAxLCAuZHJpdmVyX2RhdGEg PSBFR0lTX0VUVTkwNV9EUklWRVJfQ0hFQ0tfUFJFRklYX1RZUEUxIH0sCisrICB7IC52aWQgPSAw LCAgICAgIC5waWQgPSAwLCAgICAgIC5kcml2ZXJfZGF0YSA9IDAgfQorK307CisrCisrdHlwZWRl ZiB2b2lkICgqU3luQ21kTXNnQ2FsbGJhY2spIChGcERldmljZSAqZGV2aWNlLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3VjaGFyICAgKmJ1ZmZlcl9pbiwKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzaXplICAgICBsZW5ndGhfaW4sCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRXJyb3IgICAqZXJyb3IpOworKworK3R5cGVk ZWYgc3RydWN0IGVnaXNfZXR1OTA1X2NvbW1hbmRfZGF0YQorK3sKKysgIFN5bkNtZE1zZ0NhbGxi YWNrIGNhbGxiYWNrOworKyAgZ3VjaGFyICAgICAgICAgICAqYnVmZmVyX2luOworKyAgZ3NpemUg ICAgICAgICAgICAgbGVuZ3RoX2luOworK30gQ29tbWFuZERhdGE7CisrCisrc3RhdGljIHZvaWQK KytlZ2lzX2V0dTkwNV9jb21tYW5kX2RhdGFfZnJlZSAoQ29tbWFuZERhdGEgKmRhdGEpCisrewor KyAgZ19mcmVlIChkYXRhLT5idWZmZXJfaW4pOworKyAgZ19mcmVlIChkYXRhKTsKKyt9CisrCisr dHlwZWRlZiBzdHJ1Y3QgZWdpc19ldHU5MDVfZW5yb2xsX3ByaW50CisreworKyAgRnBQcmludCAq cHJpbnQ7CisrICBpbnQgICAgICBzdGFnZTsKKyt9IEVucm9sbFByaW50OworKworK3N0YXRpYyB2 b2lkCisrZWdpc19ldHU5MDVfZmluZ2VyX29uX3NlbnNvcl9jYiAoRnBpVXNiVHJhbnNmZXIgKnRy YW5zZmVyLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZwRGV2aWNlICAgICAg ICpkZXZpY2UsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3BvaW50ZXIgICAg ICAgIHVzZXJkYXRhLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdFcnJvciAg ICAgICAgICplcnJvcikKKyt7CisrICBmcF9kYmcgKCJGaW5nZXIgb24gc2Vuc29yIGNhbGxiYWNr Iik7CisrICBmcGlfZGV2aWNlX3JlcG9ydF9maW5nZXJfc3RhdHVzIChkZXZpY2UsIEZQX0ZJTkdF Ul9TVEFUVVNfUFJFU0VOVCk7CisrCisrICBmcGlfc3NtX3VzYl90cmFuc2Zlcl9jYiAodHJhbnNm ZXIsIGRldmljZSwgdXNlcmRhdGEsIGVycm9yKTsKKyt9CisrCisrc3RhdGljIHZvaWQKKytlZ2lz X2V0dTkwNV93YWl0X2Zpbmdlcl9vbl9zZW5zb3IgKEZwaVNzbSAgICpzc20sCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBGcERldmljZSAqZGV2aWNlKQorK3sKKysgIGZwX2Ri ZyAoIldhaXQgZm9yIGZpbmdlciBvbiBzZW5zb3IiKTsKKysgIEZwaURldmljZUVnaXNFdHU5MDUg KnNlbGYgPSBGUElfREVWSUNFX0VHSVNfRVRVOTA1IChkZXZpY2UpOworKworKyAgZ19hdXRvcHRy KEZwaVVzYlRyYW5zZmVyKSB0cmFuc2ZlciA9IGZwaV91c2JfdHJhbnNmZXJfbmV3IChkZXZpY2Up OworKworKyAgZnBpX3VzYl90cmFuc2Zlcl9maWxsX2ludGVycnVwdCAodHJhbnNmZXIsIEVHSVNf RVRVOTA1X0VQX0NNRF9JTlRFUlJVUFRfSU4sCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBFR0lTX0VUVTkwNV9VU0JfSU5URVJSVVBUX0lOX1JFQ1ZfTEVOR1RIKTsKKysgIHRy YW5zZmVyLT5zc20gPSBzc207CisrICAvKiBJbnRlcnJ1cHQgb24gdGhpcyBkZXZpY2UgYWx3YXlz IHJldHVybnMgMSBieXRlIHNob3J0OyB0aGlzIGlzIGV4cGVjdGVkICovCisrICB0cmFuc2Zlci0+ c2hvcnRfaXNfZXJyb3IgPSBGQUxTRTsKKysKKysgIGZwaV9kZXZpY2VfcmVwb3J0X2Zpbmdlcl9z dGF0dXMgKGRldmljZSwgRlBfRklOR0VSX1NUQVRVU19ORUVERUQpOworKworKyAgZnBpX3VzYl90 cmFuc2Zlcl9zdWJtaXQgKGdfc3RlYWxfcG9pbnRlciAoJnRyYW5zZmVyKSwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICBFR0lTX0VUVTkwNV9VU0JfSU5URVJSVVBUX1RJTUVPVVQsCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi0+aW50ZXJydXB0X2NhbmNlbGxhYmxlLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIGVnaXNfZXR1OTA1X2Zpbmdlcl9vbl9zZW5zb3JfY2Is CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisrfQorKworK3N0YXRpYyBnYm9v bGVhbgorK2VnaXNfZXR1OTA1X3ZhbGlkYXRlX3Jlc3BvbnNlX3ByZWZpeCAoY29uc3QgZ3VjaGFy ICpidWZmZXJfaW4sCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCBnc2l6ZSAgIGJ1ZmZlcl9pbl9sZW4sCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCBndWNoYXIgKnZhbGlkX3ByZWZpeCwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IGdzaXplICAgdmFsaWRfcHJlZml4X2xlbikKKyt7Cisr ICBjb25zdCBnYm9vbGVhbiByZXN1bHQgPSBtZW1jbXAgKGJ1ZmZlcl9pbiArCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChlZ2lzX2V0dTkwNV9yZWFkX3ByZWZpeF9sZW4gKwor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdJU19FVFU5MDVfQ0hFQ0tfQllU RVNfTEVOR1RIKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRfcHJl Zml4LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZF9wcmVmaXhfbGVu KSA9PSAwOworKworKyAgZnBfZGJnICgiUmVzcG9uc2UgcHJlZml4IHZhbGlkOiAlcyIsIHJlc3Vs dCA/ICJ5ZXMiIDogIk5PIik7CisrICByZXR1cm4gcmVzdWx0OworK30KKysKKytzdGF0aWMgZ2Jv b2xlYW4KKytlZ2lzX2V0dTkwNV92YWxpZGF0ZV9yZXNwb25zZV9zdWZmaXggKGNvbnN0IGd1Y2hh ciAqYnVmZmVyX2luLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u c3QgZ3NpemUgICBidWZmZXJfaW5fbGVuLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3QgZ3VjaGFyICp2YWxpZF9zdWZmaXgsCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCBnc2l6ZSAgIHZhbGlkX3N1ZmZpeF9sZW4pCisrewor KyAgY29uc3QgZ2Jvb2xlYW4gcmVzdWx0ID0gbWVtY21wIChidWZmZXJfaW4gKyAoYnVmZmVyX2lu X2xlbiAtIHZhbGlkX3N1ZmZpeF9sZW4pLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB2YWxpZF9zdWZmaXgsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZh bGlkX3N1ZmZpeF9sZW4pID09IDA7CisrCisrICBmcF9kYmcgKCJSZXNwb25zZSBzdWZmaXggdmFs aWQ6ICVzIiwgcmVzdWx0ID8gInllcyIgOiAiTk8iKTsKKysgIHJldHVybiByZXN1bHQ7CisrfQor KworK3N0YXRpYyB2b2lkCisrZWdpc19ldHU5MDVfdGFza19zc21fZG9uZSAoRnBpU3NtICAgKnNz bSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBGcERldmljZSAqZGV2aWNlLAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgIEdFcnJvciAgICplcnJvcikKKyt7CisrICBGcGlEZXZpY2VF Z2lzRXR1OTA1ICpzZWxmID0gRlBJX0RFVklDRV9FR0lTX0VUVTkwNSAoZGV2aWNlKTsKKysKKysg IGZwX2RiZyAoIlRhc2sgU1NNIGRvbmUiKTsKKysKKysgIC8qIHRhc2tfc3NtIGlzIGdvaW5nIHRv IGJlIGZyZWVkIGJ5IGNvbXBsZXRpb24gb2YgU1NNICovCisrICBnX2Fzc2VydCAoIXNlbGYtPnRh c2tfc3NtIHx8IHNlbGYtPnRhc2tfc3NtID09IHNzbSk7CisrICBzZWxmLT50YXNrX3NzbSA9IE5V TEw7CisrCisrICBnX2NsZWFyX3BvaW50ZXIgKCZzZWxmLT5lbnJvbGxlZF9pZHMsIGdfcHRyX2Fy cmF5X3VucmVmKTsKKysKKysgIGlmIChlcnJvcikKKysgICAgZnBpX2RldmljZV9hY3Rpb25fZXJy b3IgKGRldmljZSwgZXJyb3IpOworK30KKysKKytzdGF0aWMgdm9pZAorK2VnaXNfZXR1OTA1X2Nv bW1pdF9zdGFydF9jYiAoRnBEZXZpY2UgKmRldmljZSwKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGd1Y2hhciAgICpidWZmZXJfaW4sCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBnc2l6ZSAgICAgbGVuZ3RoX2luLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0Vy cm9yICAgKmVycm9yKQorK3sKKysgIGZwX2RiZyAoIlRhc2sgU1NNIGNvbW1pdCBzdGFydCBjYWxs YmFjayIpOworKyAgRnBpRGV2aWNlRWdpc0V0dTkwNSAqc2VsZiA9IEZQSV9ERVZJQ0VfRUdJU19F VFU5MDUgKGRldmljZSk7CisrCisrICBpZiAoZXJyb3IpCisrICAgIGZwaV9zc21fbWFya19mYWls ZWQgKHNlbGYtPnRhc2tfc3NtLCBlcnJvcik7CisrICBlbHNlCisrICAgIGZwaV9zc21fanVtcF90 b19zdGF0ZSAoc2VsZi0+dGFza19zc20sIEVOUk9MTF9DT01NSVQpOworK30KKysKKysvKgorKyAq IEdlbmVyaWMgY2FsbGJhY2sgZm9yIGNvbW1hbmRzIHRoYXQgZG9uJ3QgbmVlZCBzcGVjaWFsIGhh bmRsaW5nIG9uIHN1Y2Nlc3MuCisrICogQWR2YW5jZXMgdGhlIHRhc2sgU1NNIHRvIHRoZSBuZXh0 IHN0YXRlIG9uIHN1Y2Nlc3MsIG9yIG1hcmtzIGl0IGZhaWxlZCBvbiBlcnJvci4KKysgKi8KKytz dGF0aWMgdm9pZAorK2VnaXNfZXR1OTA1X3Rhc2tfc3NtX25leHRfc3RhdGVfY2IgKEZwRGV2aWNl ICpkZXZpY2UsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3VjaGFyICAg KmJ1ZmZlcl9pbiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnc2l6ZSAg ICAgbGVuZ3RoX2luLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdFcnJv ciAgICplcnJvcikKKyt7CisrICBGcGlEZXZpY2VFZ2lzRXR1OTA1ICpzZWxmID0gRlBJX0RFVklD RV9FR0lTX0VUVTkwNSAoZGV2aWNlKTsKKysKKysgIGZwX2RiZyAoIlRhc2sgU1NNIG5leHQgc3Rh dGUgY2FsbGJhY2siKTsKKysKKysgIGlmIChlcnJvcikKKysgICAgZnBpX3NzbV9tYXJrX2ZhaWxl ZCAoc2VsZi0+dGFza19zc20sIGVycm9yKTsKKysgIGVsc2UKKysgICAgZnBpX3NzbV9uZXh0X3N0 YXRlIChzZWxmLT50YXNrX3NzbSk7CisrfQorKworK3N0YXRpYyB2b2lkCisrZWdpc19ldHU5MDVf Y21kX3JlY2VpdmVfY2IgKEZwaVVzYlRyYW5zZmVyICp0cmFuc2ZlciwKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgRnBEZXZpY2UgICAgICAgKmRldmljZSwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZ3BvaW50ZXIgICAgICAgIHVzZXJkYXRhLAorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICBHRXJyb3IgICAgICAgICAqZXJyb3IpCisreworKyAgQ29tbWFuZERhdGEgKmRh dGEgPSB1c2VyZGF0YTsKKysKKysgIGZwX2RiZyAoIkNvbW1hbmQgcmVjZWl2ZSBjYWxsYmFjayIp OworKworKyAgaWYgKGVycm9yKQorKyAgICB7CisrICAgICAgZnBpX3NzbV9tYXJrX2ZhaWxlZCAo dHJhbnNmZXItPnNzbSwgZXJyb3IpOworKyAgICAgIHJldHVybjsKKysgICAgfQorKyAgaWYgKGRh dGEgPT0gTlVMTCB8fCB0cmFuc2Zlci0+YWN0dWFsX2xlbmd0aCA8IGVnaXNfZXR1OTA1X3JlYWRf cHJlZml4X2xlbikKKysgICAgeworKyAgICAgIGZwaV9zc21fbWFya19mYWlsZWQgKHRyYW5zZmVy LT5zc20sCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgZnBpX2RldmljZV9lcnJvcl9uZXcg KEZQX0RFVklDRV9FUlJPUl9HRU5FUkFMKSk7CisrICAgICAgcmV0dXJuOworKyAgICB9CisrCisr ICAvKiBTdG9yZSB0aGUgcmVzcG9uc2UgZGF0YSBhbmQgbGV0IHRoZSBjbWRfc3NtX2RvbmUgY2Fs bGJhY2sgaW52b2tlCisrICAgKiB0aGUgYWN0dWFsIGNhbGxiYWNrIHdpdGggdGhlIHN0b3JlZCBk YXRhICovCisrICBkYXRhLT5idWZmZXJfaW4gPSBnX3N0ZWFsX3BvaW50ZXIgKCZ0cmFuc2Zlci0+ YnVmZmVyKTsKKysgIGRhdGEtPmxlbmd0aF9pbiA9IHRyYW5zZmVyLT5hY3R1YWxfbGVuZ3RoOwor KworKyAgZnBpX3NzbV9tYXJrX2NvbXBsZXRlZCAodHJhbnNmZXItPnNzbSk7CisrfQorKworK3N0 YXRpYyB2b2lkCisrZWdpc19ldHU5MDVfY21kX3J1bl9zdGF0ZSAoRnBpU3NtICAgKnNzbSwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICBGcERldmljZSAqZGV2aWNlKQorK3sKKysgIGdfYXV0 b3B0cihGcGlVc2JUcmFuc2ZlcikgdHJhbnNmZXIgPSBOVUxMOworKyAgRnBpRGV2aWNlRWdpc0V0 dTkwNSAqc2VsZiA9IEZQSV9ERVZJQ0VfRUdJU19FVFU5MDUgKGRldmljZSk7CisrCisrICBzd2l0 Y2ggKGZwaV9zc21fZ2V0X2N1cl9zdGF0ZSAoc3NtKSkKKysgICAgeworKyAgICBjYXNlIENNRF9T RU5EOgorKyAgICAgIGlmIChzZWxmLT5jbWRfdHJhbnNmZXIpCisrICAgICAgICB7CisrICAgICAg ICAgIHNlbGYtPmNtZF90cmFuc2Zlci0+c3NtID0gc3NtOworKyAgICAgICAgICBmcGlfdXNiX3Ry YW5zZmVyX3N1Ym1pdCAoZ19zdGVhbF9wb2ludGVyICgmc2VsZi0+Y21kX3RyYW5zZmVyKSwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVHSVNfRVRVOTA1X1VTQl9TRU5EX1RJ TUVPVVQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcGlfZGV2aWNlX2dl dF9jYW5jZWxsYWJsZSAoZGV2aWNlKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGZwaV9zc21fdXNiX3RyYW5zZmVyX2NiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTlVMTCk7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgfQorKworKyAgICAg IGZwaV9zc21fbmV4dF9zdGF0ZSAoc3NtKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBD TURfR0VUOgorKyAgICAgIHRyYW5zZmVyID0gZnBpX3VzYl90cmFuc2Zlcl9uZXcgKGRldmljZSk7 CisrICAgICAgdHJhbnNmZXItPnNzbSA9IHNzbTsKKysgICAgICBmcGlfdXNiX3RyYW5zZmVyX2Zp bGxfYnVsayAodHJhbnNmZXIsIEVHSVNfRVRVOTA1X0VQX0NNRF9JTiwKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgRUdJU19FVFU5MDVfVVNCX0lOX1JFQ1ZfTEVOR1RIKTsKKysg ICAgICBmcGlfdXNiX3RyYW5zZmVyX3N1Ym1pdCAoZ19zdGVhbF9wb2ludGVyICgmdHJhbnNmZXIp LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFR0lTX0VUVTkwNV9VU0JfUkVDVl9U SU1FT1VULAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcGlfZGV2aWNlX2dldF9j YW5jZWxsYWJsZSAoZGV2aWNlKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWdp c19ldHU5MDVfY21kX3JlY2VpdmVfY2IsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGZwaV9zc21fZ2V0X2RhdGEgKHNzbSkpOworKyAgICAgIGJyZWFrOworKyAgICB9CisrfQorKwor Ky8qCisrICogQ29tbWFuZCBTU00gZG9uZSBjYWxsYmFjay4KKysgKiBBbHdheXMgaW52b2tlcyB0 aGUgY2FsbGJhY2sgd2l0aCBzdG9yZWQgZGF0YSBvbiBzdWNjZXNzIG9yIGVycm9yLgorKyAqLwor K3N0YXRpYyB2b2lkCisrZWdpc19ldHU5MDVfY21kX3NzbV9kb25lIChGcGlTc20gICAqc3NtLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgRnBEZXZpY2UgKmRldmljZSwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgIEdFcnJvciAgICplcnJvcikKKyt7CisrICBnX2F1dG9wdHIoR0Vycm9y KSBsb2NhbF9lcnJvciA9IGVycm9yOworKyAgRnBpRGV2aWNlRWdpc0V0dTkwNSAqc2VsZiA9IEZQ SV9ERVZJQ0VfRUdJU19FVFU5MDUgKGRldmljZSk7CisrICBDb21tYW5kRGF0YSAqZGF0YSA9IGZw aV9zc21fZ2V0X2RhdGEgKHNzbSk7CisrCisrICBnX2Fzc2VydCAoc2VsZi0+Y21kX3NzbSA9PSBz c20pOworKyAgZ19hc3NlcnQgKCFzZWxmLT5jbWRfdHJhbnNmZXIgfHwgc2VsZi0+Y21kX3RyYW5z ZmVyLT5zc20gPT0gc3NtKTsKKysKKysgIHNlbGYtPmNtZF9zc20gPSBOVUxMOworKyAgc2VsZi0+ Y21kX3RyYW5zZmVyID0gTlVMTDsKKysKKysgIGlmIChkYXRhICYmIGRhdGEtPmNhbGxiYWNrKQor KyAgICB7CisrICAgICAgZGF0YS0+Y2FsbGJhY2sgKGRldmljZSwKKysgICAgICAgICAgICAgICAg ICAgICAgZ19zdGVhbF9wb2ludGVyICgmZGF0YS0+YnVmZmVyX2luKSwKKysgICAgICAgICAgICAg ICAgICAgICAgZGF0YS0+bGVuZ3RoX2luLAorKyAgICAgICAgICAgICAgICAgICAgICBnX3N0ZWFs X3BvaW50ZXIgKCZsb2NhbF9lcnJvcikpOworKyAgICB9CisrfQorKworKy8qCisrICogRGVyaXZl IHRoZSAyICJjaGVjayBieXRlcyIgZm9yIHdyaXRlIHBheWxvYWRzCisrICogMzItYml0IGJpZy1l bmRpYW4gc3VtIG9mIGFsbCAxNi1iaXQgd29yZHMgKGluY2x1ZGluZyBjaGVjayBieXRlcykgTU9E IDB4RkZGRgorKyAqIHNob3VsZCBiZSAwLCBvdGhlcndpc2UgdGhlIGRldmljZSB3aWxsIHJlamVj dCB0aGUgcGF5bG9hZAorKyAqLworK3N0YXRpYyBndWludDE2CisrZWdpc19ldHU5MDVfZ2V0X2No ZWNrX2J5dGVzIChGcGlCeXRlUmVhZGVyICpyZWFkZXIpCisreworKyAgZnBfZGJnICgiR2V0IGNo ZWNrIGJ5dGVzIik7CisrICBzaXplX3Qgc3VtX3ZhbHVlcyA9IDA7CisrICBndWludDE2IHZhbDsK KysKKysgIGZwaV9ieXRlX3JlYWRlcl9zZXRfcG9zIChyZWFkZXIsIDApOworKworKyAgd2hpbGUg KGZwaV9ieXRlX3JlYWRlcl9nZXRfdWludDE2X2JlIChyZWFkZXIsICZ2YWwpKQorKyAgICBzdW1f dmFsdWVzICs9IHZhbDsKKysKKysgIHJldHVybiBHX01BWFVJTlQxNiAtIChzdW1fdmFsdWVzICUg R19NQVhVSU5UMTYpOworK30KKysKKytzdGF0aWMgdm9pZAorK2VnaXNfZXR1OTA1X2V4ZWNfY21k IChGcERldmljZSAgICAgICAgICpkZXZpY2UsCisrICAgICAgICAgICAgICAgICAgICAgIGd1Y2hh ciAgICAgICAgICAgKmNtZCwKKysgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3NpemUgICAg ICAgY21kX2xlbmd0aCwKKysgICAgICAgICAgICAgICAgICAgICAgR0Rlc3Ryb3lOb3RpZnkgICAg Y21kX2Rlc3Ryb3ksCisrICAgICAgICAgICAgICAgICAgICAgIFN5bkNtZE1zZ0NhbGxiYWNrIGNh bGxiYWNrKQorK3sKKysgIGdfYXV0byhGcGlCeXRlV3JpdGVyKSB3cml0ZXIgPSB7MH07CisrICBn X2F1dG9wdHIoRnBpVXNiVHJhbnNmZXIpIHRyYW5zZmVyID0gTlVMTDsKKysgIEZwaURldmljZUVn aXNFdHU5MDUgKnNlbGYgPSBGUElfREVWSUNFX0VHSVNfRVRVOTA1IChkZXZpY2UpOworKyAgZ19h dXRvZnJlZSBDb21tYW5kRGF0YSAqZGF0YSA9IE5VTEw7CisrICBnc2l6ZSBidWZmZXJfb3V0X2xl bmd0aCA9IDA7CisrICBnYm9vbGVhbiB3cml0dGVuID0gVFJVRTsKKysgIGd1aW50MTYgY2hlY2tf dmFsdWU7CisrCisrICBmcF9kYmcgKCJFeGVjdXRlIGNvbW1hbmQgYW5kIGdldCByZXNwb25zZSIp OworKworKyAgLyoKKysgICAqIGJ1ZmZlcl9vdXQgc2hvdWxkIGJlIGEgZnVsbHkgY29tcG9zZWQg Y29tbWFuZCAod2l0aCBwcmVmaXgsIGNoZWNrIGJ5dGVzLCBldGMpCisrICAgKiB3aGljaCBsb29r cyBsaWtlIHRoaXM6CisrICAgKiAgIEUgRyBJIFMgMDAgMDAgMDAgMDEge2NiMX0ge2NiMn0ge3Bh eWxvYWR9CisrICAgKiB3aGVyZSBjYjEgYW5kIGNiMiBhcmUgc29tZSBjaGVjayBieXRlcyBnZW5l cmF0ZWQgYnkgdGhlCisrICAgKiBlZ2lzX2V0dTkwNV9nZXRfY2hlY2tfYnl0ZXMoKSBtZXRob2Qg YW5kIHBheWxvYWQgaXMgd2hhdCBpcyBwYXNzZWQgdmlhIHRoZSBjbWQKKysgICAqIHBhcmFtZXRl cgorKyAgICovCisrICBidWZmZXJfb3V0X2xlbmd0aCA9IGVnaXNfZXR1OTA1X3dyaXRlX3ByZWZp eF9sZW4KKysgICAgICAgICAgICAgICAgICAgICAgKyBFR0lTX0VUVTkwNV9DSEVDS19CWVRFU19M RU5HVEgKKysgICAgICAgICAgICAgICAgICAgICAgKyBjbWRfbGVuZ3RoOworKworKyAgZnBpX2J5 dGVfd3JpdGVyX2luaXRfd2l0aF9zaXplICgmd3JpdGVyLCBidWZmZXJfb3V0X2xlbmd0aCArCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChidWZmZXJfb3V0X2xlbmd0aCAlIDIg PyAxIDogMCksIFRSVUUpOworKworKyAgLyogUHJlZml4ICovCisrICB3cml0dGVuICY9IGZwaV9i eXRlX3dyaXRlcl9wdXRfZGF0YSAoJndyaXRlciwgZWdpc19ldHU5MDVfd3JpdGVfcHJlZml4LAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVnaXNfZXR1OTA1X3dyaXRl X3ByZWZpeF9sZW4pOworKworKyAgLyogQ2hlY2sgQnl0ZXMgLSBsZWF2ZSB0aGVtIGFzIDAwIGZv ciBub3cgdGhlbiBsYXRlciBnZW5lcmF0ZSBhbmQgY29weSBvdmVyCisrICAgKiB0aGUgcmVhbCBv bmVzICovCisrICB3cml0dGVuICY9IGZwaV9ieXRlX3dyaXRlcl9jaGFuZ2VfcG9zICgmd3JpdGVy LCBFR0lTX0VUVTkwNV9DSEVDS19CWVRFU19MRU5HVEgpOworKworKyAgLyogQ29tbWFuZCBQYXls b2FkICovCisrICB3cml0dGVuICY9IGZwaV9ieXRlX3dyaXRlcl9wdXRfZGF0YSAoJndyaXRlciwg Y21kLCBjbWRfbGVuZ3RoKTsKKysKKysgIC8qIE5vdyBmZXRjaCBhbmQgc2V0IHRoZSAicmVhbCIg Y2hlY2sgYnl0ZXMgYmFzZWQgb24gdGhlIGN1cnJlbnRseQorKyAgICogYXNzZW1ibGVkIHBheWxv YWQgKi8KKysgIGNoZWNrX3ZhbHVlID0gZWdpc19ldHU5MDVfZ2V0X2NoZWNrX2J5dGVzIChGUElf QllURV9SRUFERVIgKCZ3cml0ZXIpKTsKKysgIGZwaV9ieXRlX3dyaXRlcl9zZXRfcG9zICgmd3Jp dGVyLCBlZ2lzX2V0dTkwNV93cml0ZV9wcmVmaXhfbGVuKTsKKysgIHdyaXR0ZW4gJj0gZnBpX2J5 dGVfd3JpdGVyX3B1dF91aW50MTZfYmUgKCZ3cml0ZXIsIGNoZWNrX3ZhbHVlKTsKKysKKysgIC8q IGRlc3Ryb3kgY21kIGlmIHJlcXVlc3RlZCAqLworKyAgaWYgKGNtZF9kZXN0cm95KQorKyAgICBn X2NsZWFyX3BvaW50ZXIgKCZjbWQsIGNtZF9kZXN0cm95KTsKKysKKysgIGdfYXNzZXJ0IChzZWxm LT5jbWRfc3NtID09IE5VTEwpOworKyAgc2VsZi0+Y21kX3NzbSA9IGZwaV9zc21fbmV3IChkZXZp Y2UsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVnaXNfZXR1OTA1X2NtZF9ydW5f c3RhdGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENNRF9TVEFURVMpOworKwor KyAgZGF0YSA9IGdfbmV3MCAoQ29tbWFuZERhdGEsIDEpOworKyAgZGF0YS0+Y2FsbGJhY2sgPSBj YWxsYmFjazsKKysgIGZwaV9zc21fc2V0X2RhdGEgKHNlbGYtPmNtZF9zc20sIGdfc3RlYWxfcG9p bnRlciAoJmRhdGEpLAorKyAgICAgICAgICAgICAgICAgICAgKEdEZXN0cm95Tm90aWZ5KSBlZ2lz X2V0dTkwNV9jb21tYW5kX2RhdGFfZnJlZSk7CisrCisrICBpZiAoIXdyaXR0ZW4pCisrICAgIHsK KysgICAgICBmcGlfc3NtX3N0YXJ0IChzZWxmLT5jbWRfc3NtLCBlZ2lzX2V0dTkwNV9jbWRfc3Nt X2RvbmUpOworKyAgICAgIGZwaV9zc21fbWFya19mYWlsZWQgKHNlbGYtPmNtZF9zc20sCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgZnBpX2RldmljZV9lcnJvcl9uZXcgKEZQX0RFVklDRV9F UlJPUl9QUk9UTykpOworKyAgICAgIHJldHVybjsKKysgICAgfQorKworKyAgdHJhbnNmZXIgPSBm cGlfdXNiX3RyYW5zZmVyX25ldyAoZGV2aWNlKTsKKysgIHRyYW5zZmVyLT5zaG9ydF9pc19lcnJv ciA9IFRSVUU7CisrICB0cmFuc2Zlci0+c3NtID0gc2VsZi0+Y21kX3NzbTsKKysKKysgIGZwaV91 c2JfdHJhbnNmZXJfZmlsbF9idWxrX2Z1bGwgKHRyYW5zZmVyLAorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRUdJU19FVFU5MDVfRVBfQ01EX09VVCwKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGZwaV9ieXRlX3dyaXRlcl9yZXNldF9hbmRfZ2V0X2RhdGEg KCZ3cml0ZXIpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyX291 dF9sZW5ndGgsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX2ZyZWUpOwor KworKyAgZ19hc3NlcnQgKHNlbGYtPmNtZF90cmFuc2ZlciA9PSBOVUxMKTsKKysgIHNlbGYtPmNt ZF90cmFuc2ZlciA9IGdfc3RlYWxfcG9pbnRlciAoJnRyYW5zZmVyKTsKKysgIGZwaV9zc21fc3Rh cnQgKHNlbGYtPmNtZF9zc20sIGVnaXNfZXR1OTA1X2NtZF9zc21fZG9uZSk7CisrfQorKworK3N0 YXRpYyB2b2lkCisrZWdpc19ldHU5MDVfc2V0X3ByaW50X2RhdGEgKEZwUHJpbnQgICAgICpwcmlu dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgKmRldmljZV9wcmlu dF9pZCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgKnVzZXJfaWQp CisreworKyAgR1ZhcmlhbnQgKnByaW50X2lkX3ZhciA9IE5VTEw7CisrICBHVmFyaWFudCAqZnBp X2RhdGEgPSBOVUxMOworKyAgZ19hdXRvZnJlZSBnY2hhciAqZmlsbF91c2VyX2lkID0gTlVMTDsK KysKKysgIGlmICh1c2VyX2lkKQorKyAgICBmaWxsX3VzZXJfaWQgPSBnX3N0cmR1cCAodXNlcl9p ZCk7CisrICBlbHNlCisrICAgIGZpbGxfdXNlcl9pZCA9IGdfc3RybmR1cCAoZGV2aWNlX3ByaW50 X2lkLCBFR0lTX0VUVTkwNV9GSU5HRVJQUklOVF9EQVRBX1NJWkUpOworKworKyAgZnBpX3ByaW50 X2ZpbGxfZnJvbV91c2VyX2lkIChwcmludCwgZmlsbF91c2VyX2lkKTsKKysKKysgIGZwaV9wcmlu dF9zZXRfdHlwZSAocHJpbnQsIEZQSV9QUklOVF9SQVcpOworKyAgZnBpX3ByaW50X3NldF9kZXZp Y2Vfc3RvcmVkIChwcmludCwgVFJVRSk7CisrCisrICBnX29iamVjdF9zZXQgKHByaW50LCAiZGVz Y3JpcHRpb24iLCBmaWxsX3VzZXJfaWQsIE5VTEwpOworKworKyAgcHJpbnRfaWRfdmFyID0gZ192 YXJpYW50X25ld19maXhlZF9hcnJheSAoR19WQVJJQU5UX1RZUEVfQllURSwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldmljZV9wcmludF9pZCwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVHSVNfRVRVOTA1X0ZJTkdF UlBSSU5UX0RBVEFfU0laRSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNpemVvZiAoZ3VjaGFyKSk7CisrICBmcGlfZGF0YSA9IGdfdmFyaWFudF9uZXcgKCIo QGF5KSIsIHByaW50X2lkX3Zhcik7CisrICBnX29iamVjdF9zZXQgKHByaW50LCAiZnBpLWRhdGEi LCBmcGlfZGF0YSwgTlVMTCk7CisrfQorKworK3N0YXRpYyBHUHRyQXJyYXkgKgorK2VnaXNfZXR1 OTA1X2dldF9lbnJvbGxlZF9wcmludHMgKEZwRGV2aWNlICpkZXZpY2UpCisreworKyAgZ19hdXRv cHRyKEdQdHJBcnJheSkgcmVzdWx0ID0gZ19wdHJfYXJyYXlfbmV3X3dpdGhfZnJlZV9mdW5jIChn X29iamVjdF91bnJlZik7CisrICBGcGlEZXZpY2VFZ2lzRXR1OTA1ICpzZWxmID0gRlBJX0RFVklD RV9FR0lTX0VUVTkwNSAoZGV2aWNlKTsKKysKKysgIGlmICghc2VsZi0+ZW5yb2xsZWRfaWRzKQor KyAgICByZXR1cm4gZ19zdGVhbF9wb2ludGVyICgmcmVzdWx0KTsKKysKKysgIGZvciAoZ3VpbnQg aSA9IDA7IGkgPCBzZWxmLT5lbnJvbGxlZF9pZHMtPmxlbjsgaSsrKQorKyAgICB7CisrICAgICAg RnBQcmludCAqcHJpbnQgPSBmcF9wcmludF9uZXcgKGRldmljZSk7CisrICAgICAgZWdpc19ldHU5 MDVfc2V0X3ByaW50X2RhdGEgKHByaW50LCBnX3B0cl9hcnJheV9pbmRleCAoc2VsZi0+ZW5yb2xs ZWRfaWRzLCBpKSwgTlVMTCk7CisrICAgICAgZ19wdHJfYXJyYXlfYWRkIChyZXN1bHQsIGdfb2Jq ZWN0X3JlZl9zaW5rIChwcmludCkpOworKyAgICB9CisrCisrICByZXR1cm4gZ19zdGVhbF9wb2lu dGVyICgmcmVzdWx0KTsKKyt9CisrCisrc3RhdGljIHZvaWQKKytlZ2lzX2V0dTkwNV9saXN0X2Zp bGxfZW5yb2xsZWRfaWRzX2NiIChGcERldmljZSAqZGV2aWNlLAorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGd1Y2hhciAgICpidWZmZXJfaW4sCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3NpemUgICAgIGxlbmd0aF9pbiwKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRXJyb3IgICAqZXJyb3IpCisreworKyAg RnBpRGV2aWNlRWdpc0V0dTkwNSAqc2VsZiA9IEZQSV9ERVZJQ0VfRUdJU19FVFU5MDUgKGRldmlj ZSk7CisrCisrICBmcF9kYmcgKCJMaXN0IGNhbGxiYWNrIik7CisrCisrICBpZiAoZXJyb3IpCisr ICAgIHsKKysgICAgICBmcGlfc3NtX21hcmtfZmFpbGVkIChzZWxmLT50YXNrX3NzbSwgZXJyb3Ip OworKyAgICAgIHJldHVybjsKKysgICAgfQorKworKyAgZ19jbGVhcl9wb2ludGVyICgmc2VsZi0+ ZW5yb2xsZWRfaWRzLCBnX3B0cl9hcnJheV91bnJlZik7CisrICBzZWxmLT5lbnJvbGxlZF9pZHMg PSBnX3B0cl9hcnJheV9uZXdfd2l0aF9mcmVlX2Z1bmMgKGdfZnJlZSk7CisrCisrICBGcGlCeXRl UmVhZGVyIHJlYWRlcjsKKysgIGdib29sZWFuIHJlYWQgPSBUUlVFOworKworKyAgZnBpX2J5dGVf cmVhZGVyX2luaXQgKCZyZWFkZXIsIGJ1ZmZlcl9pbiwgbGVuZ3RoX2luKTsKKysKKysgIHJlYWQg Jj0gZnBpX2J5dGVfcmVhZGVyX3NldF9wb3MgKCZyZWFkZXIsIEVHSVNfRVRVOTA1X0xJU1RfUkVT UE9OU0VfUFJFRklYX1NJWkUpOworKworKyAgLyoKKysgICAqIEVhY2ggZmluZ2VycHJpbnQgSUQg d2lsbCBiZSByZXR1cm5lZCBpbiB0aGlzIHJlc3BvbnNlIGFzIGEgMzIgYnl0ZSBhcnJheQorKyAg ICogVGhlIG90aGVyIHN0dWZmIGluIHRoZSBwYXlsb2FkIGlzIDE2IGJ5dGVzIGxvbmcsIHNvIGlm IHRoZXJlIGlzIGF0IGxlYXN0IDEKKysgICAqIHByaW50IHRoZW4gdGhlIGxlbmd0aCBzaG91bGQg YmUgYXQgbGVhc3QgMTYrMzI9NDggYnl0ZXMgbG9uZworKyAgICovCisrICB3aGlsZSAocmVhZCkK KysgICAgeworKyAgICAgIGNvbnN0IGd1aW50OCAqZGF0YTsKKysgICAgICBnX2F1dG9mcmVlIGdj aGFyICpwcmludF9pZCA9IE5VTEw7CisrCisrICAgICAgcmVhZCAmPSBmcGlfYnl0ZV9yZWFkZXJf Z2V0X2RhdGEgKCZyZWFkZXIsIEVHSVNfRVRVOTA1X0ZJTkdFUlBSSU5UX0RBVEFfU0laRSwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRhdGEpOworKyAgICAgIGlm ICghcmVhZCkKKysgICAgICAgIGJyZWFrOworKworKyAgICAgIHByaW50X2lkID0gZ19tZW1kdXAy IChkYXRhLCBFR0lTX0VUVTkwNV9GSU5HRVJQUklOVF9EQVRBX1NJWkUpOworKyAgICAgIGdfcHRy X2FycmF5X2FkZCAoc2VsZi0+ZW5yb2xsZWRfaWRzLCBnX3N0ZWFsX3BvaW50ZXIgKCZwcmludF9p ZCkpOworKyAgICB9CisrCisrICBmcF9pbmZvICgiTnVtYmVyIG9mIGN1cnJlbnRseSBlbnJvbGxl ZCBmaW5nZXJwcmludHMgb24gdGhlIGRldmljZSBpcyAlZCIsCisrICAgICAgICAgICBzZWxmLT5l bnJvbGxlZF9pZHMtPmxlbik7CisrCisrICBpZiAoc2VsZi0+dGFza19zc20pCisrICAgIGZwaV9z c21fbmV4dF9zdGF0ZSAoc2VsZi0+dGFza19zc20pOworK30KKysKKytzdGF0aWMgdm9pZAorK2Vn aXNfZXR1OTA1X2xpc3RfcnVuX3N0YXRlIChGcGlTc20gICAqc3NtLAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICBGcERldmljZSAqZGV2aWNlKQorK3sKKysgIGdfYXV0b3B0cihHUHRyQXJy YXkpIGVucm9sbGVkX3ByaW50cyA9IE5VTEw7CisrCisrICBzd2l0Y2ggKGZwaV9zc21fZ2V0X2N1 cl9zdGF0ZSAoc3NtKSkKKysgICAgeworKyAgICBjYXNlIExJU1RfR0VUX0VOUk9MTEVEX0lEUzoK KysgICAgICBlZ2lzX2V0dTkwNV9leGVjX2NtZCAoZGV2aWNlLCBjbWRfbGlzdCwgY21kX2xpc3Rf bGVuLCBOVUxMLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZ2lzX2V0dTkwNV9saXN0 X2ZpbGxfZW5yb2xsZWRfaWRzX2NiKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBMSVNU X1JFVFVSTl9FTlJPTExFRF9QUklOVFM6CisrICAgICAgZW5yb2xsZWRfcHJpbnRzID0gZWdpc19l dHU5MDVfZ2V0X2Vucm9sbGVkX3ByaW50cyAoZGV2aWNlKTsKKysgICAgICBmcGlfZGV2aWNlX2xp c3RfY29tcGxldGUgKGRldmljZSwgZ19zdGVhbF9wb2ludGVyICgmZW5yb2xsZWRfcHJpbnRzKSwg TlVMTCk7CisrICAgICAgZnBpX3NzbV9uZXh0X3N0YXRlIChzc20pOworKyAgICAgIGJyZWFrOwor KyAgICB9CisrfQorKworK3N0YXRpYyB2b2lkCisrZWdpc19ldHU5MDVfbGlzdCAoRnBEZXZpY2Ug KmRldmljZSkKKyt7CisrICBmcF9kYmcgKCJMaXN0Iik7CisrICBGcGlEZXZpY2VFZ2lzRXR1OTA1 ICpzZWxmID0gRlBJX0RFVklDRV9FR0lTX0VUVTkwNSAoZGV2aWNlKTsKKysKKysgIGdfYXNzZXJ0 IChzZWxmLT50YXNrX3NzbSA9PSBOVUxMKTsKKysgIHNlbGYtPnRhc2tfc3NtID0gZnBpX3NzbV9u ZXcgKGRldmljZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVnaXNfZXR1OTA1 X2xpc3RfcnVuX3N0YXRlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElTVF9T VEFURVMpOworKyAgZnBpX3NzbV9zdGFydCAoc2VsZi0+dGFza19zc20sIGVnaXNfZXR1OTA1X3Rh c2tfc3NtX2RvbmUpOworK30KKysKKytzdGF0aWMgZ3VjaGFyICoKKytlZ2lzX2V0dTkwNV9nZXRf ZGVsZXRlX2NtZCAoRnBEZXZpY2UgKmRldmljZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgRnBQcmludCAgKmRlbGV0ZV9wcmludCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg Z3NpemUgICAgKmxlbmd0aF9vdXQpCisreworKyAgZnBfZGJnICgiR2V0IGRlbGV0ZSBjb21tYW5k Iik7CisrICBGcGlEZXZpY2VFZ2lzRXR1OTA1ICpzZWxmID0gRlBJX0RFVklDRV9FR0lTX0VUVTkw NSAoZGV2aWNlKTsKKysgIGdfYXV0byhGcGlCeXRlV3JpdGVyKSB3cml0ZXIgPSB7MH07CisrICBn X2F1dG9wdHIoR1ZhcmlhbnQpIHByaW50X2RhdGEgPSBOVUxMOworKyAgZ19hdXRvcHRyKEdWYXJp YW50KSBwcmludF9kYXRhX2lkX3ZhciA9IE5VTEw7CisrICBjb25zdCBndWNoYXIgKnByaW50X2Rh dGFfaWQgPSBOVUxMOworKyAgZ3NpemUgcHJpbnRfZGF0YV9pZF9sZW4gPSAwOworKyAgZ19hdXRv ZnJlZSBnY2hhciAqcHJpbnRfZGVzY3JpcHRpb24gPSBOVUxMOworKyAgZ19hdXRvZnJlZSBndWNo YXIgKmVucm9sbGVkX3ByaW50X2lkID0gTlVMTDsKKysgIGdfYXV0b2ZyZWUgZ3VjaGFyICpyZXN1 bHQgPSBOVUxMOworKyAgZ2Jvb2xlYW4gd3JpdHRlbiA9IFRSVUU7CisrCisrICAvKgorKyAgICog VGhlIGZpbmFsIGNvbW1hbmQgYm9keSBzaG91bGQgY29udGFpbjoKKysgICAqIDEpIGhhcmQtY29k ZWQgMDAgMDAKKysgICAqIDIpIDItYnl0ZSBzaXplIGluZGljaWF0b3IsIDIwKk51bWJlciBkZWxl dGVkIGlkZW50aWZpZXJzIHBsdXMgNyBpbiBmb3JtIG9mOgorKyAgICogICAgbnVtX3RvX2RlbGV0 ZSAqIDB4MjAgKyAweDA3CisrICAgKiAgICBTaW5jZSBtYXggcHJpbnRzIGNhbiBiZSBoaWdoZXIg dGhhbiA3IHRoZW4gdGhpcyBnb2VzIHVwIHRvIDIgYnl0ZXMKKysgICAqICAgIChlOSArIDkgPSAx MDkpCisrICAgKiAzKSBIYXJkLWNvZGVkIHByZWZpeCAoY21kX2RlbGV0ZV9wcmVmaXgpCisrICAg KiA0KSAyLWJ5dGUgc2l6ZSBpbmRpY2lhdG9yLCAyMCpOdW1iZXIgb2YgZW5yb2xsZWQgaWRlbnRp ZmllcnMgd2l0aG91dCBwbHVzIDcKKysgICAqICAgIChudW1fdG9fZGVsZXRlICogMHgyMCkKKysg ICAqIDUpIEFsbCBvZiB0aGUgY3VycmVudGx5IHJlZ2lzdGVyZWQgcHJpbnRzIHRvIGRlbGV0ZSBp biB0aGVpciAzMi1ieXRlIGRldmljZQorKyAgICogICAgaWRlbnRpZmllcnMgKGVucm9sbGVkX2xp c3QpCisrICAgKi8KKysKKysgIGludCBudW1fdG9fZGVsZXRlID0gMDsKKysgIGlmIChkZWxldGVf cHJpbnQpCisrICAgIG51bV90b19kZWxldGUgPSAxOworKyAgZWxzZSBpZiAoc2VsZi0+ZW5yb2xs ZWRfaWRzKQorKyAgICBudW1fdG9fZGVsZXRlID0gc2VsZi0+ZW5yb2xsZWRfaWRzLT5sZW47Cisr CisrICBjb25zdCBnc2l6ZSBib2R5X2xlbmd0aCA9IHNpemVvZiAoZ3VjaGFyKSAqIEVHSVNfRVRV OTA1X0ZJTkdFUlBSSU5UX0RBVEFfU0laRSAqCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg IG51bV90b19kZWxldGU7CisrICAvKiB0b3RhbF9sZW5ndGggaXMgdGhlIDYgdmFyaW91cyBieXRl cyBwbHVzIHByZWZpeCBhbmQgYm9keSBwYXlsb2FkICovCisrICBjb25zdCBnc2l6ZSB0b3RhbF9s ZW5ndGggPSAoc2l6ZW9mIChndWNoYXIpICogNikgKyBjbWRfZGVsZXRlX3ByZWZpeF9sZW4gKwor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keV9sZW5ndGg7CisrCisrICAvKiBwcmUt ZmlsbCBlbnRpcmUgcGF5bG9hZCB3aXRoIDAwcyAqLworKyAgZnBpX2J5dGVfd3JpdGVyX2luaXRf d2l0aF9zaXplICgmd3JpdGVyLCB0b3RhbF9sZW5ndGgsIFRSVUUpOworKworKyAgLyogc3RhcnQg d2l0aCAwMCAwMCAoanVzdCBtb3ZlIHN0YXJ0aW5nIG9mZnNldCB1cCBieSAyKSAqLworKyAgd3Jp dHRlbiAmPSBmcGlfYnl0ZV93cml0ZXJfc2V0X3BvcyAoJndyaXRlciwgMik7CisrCisrICAvKiBT aXplIENvdW50ZXIgYnl0ZXMgKi8KKysgIC8qICJlYXNpZXN0IiB3YXkgdG8gaGFuZGxlIDItYnl0 ZXMgc2l6ZSBmb3IgY291bnRlciBpcyB0byBoYXJkLWNvZGUgbG9naWMgZm9yCisrICAgKiB3aGVu IHdlIGdvIHRvIHRoZSAybmQgYnl0ZQorKyAgICogbm90ZSB0aGlzIHdpbGwgbm90IHdvcmsgaW4g Y2FzZSBhbnkgbW9kZWwgZXZlciBzdXBwb3J0cyBtb3JlIHRoYW4gMTQgcHJpbnRzCisrICAgKiAo YXNzdW1lZCBtYXggaXMgMTApICovCisrICBpZiAobnVtX3RvX2RlbGV0ZSA+IDcpCisrICAgIHsK KysgICAgICB3cml0dGVuICY9IGZwaV9ieXRlX3dyaXRlcl9wdXRfdWludDggKCZ3cml0ZXIsIDB4 MDEpOworKyAgICAgIHdyaXR0ZW4gJj0gZnBpX2J5dGVfd3JpdGVyX3B1dF91aW50OCAoJndyaXRl ciwgKChudW1fdG9fZGVsZXRlIC0gOCkgKiAweDIwKSArIDB4MDcpOworKyAgICB9CisrICBlbHNl CisrICAgIHsKKysgICAgICAvKiBmaXJzdCBieXRlIGlzIDB4MDAsIGp1c3Qgc2tpcCBpdCAqLwor KyAgICAgIHdyaXR0ZW4gJj0gZnBpX2J5dGVfd3JpdGVyX2NoYW5nZV9wb3MgKCZ3cml0ZXIsIDEp OworKyAgICAgIHdyaXR0ZW4gJj0gZnBpX2J5dGVfd3JpdGVyX3B1dF91aW50OCAoJndyaXRlciwg KG51bV90b19kZWxldGUgKiAweDIwKSArIDB4MDcpOworKyAgICB9CisrCisrICAvKiBjb21tYW5k IHByZWZpeCAqLworKyAgd3JpdHRlbiAmPSBmcGlfYnl0ZV93cml0ZXJfcHV0X2RhdGEgKCZ3cml0 ZXIsIGNtZF9kZWxldGVfcHJlZml4LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNtZF9kZWxldGVfcHJlZml4X2xlbik7CisrCisrICAvKiAyLWJ5dGVzIHNpemUgbG9n aWMgZm9yIGNvdW50ZXIgYWdhaW4gKi8KKysgIGlmIChudW1fdG9fZGVsZXRlID4gNykKKysgICAg eworKyAgICAgIHdyaXR0ZW4gJj0gZnBpX2J5dGVfd3JpdGVyX3B1dF91aW50OCAoJndyaXRlciwg MHgwMSk7CisrICAgICAgd3JpdHRlbiAmPSBmcGlfYnl0ZV93cml0ZXJfcHV0X3VpbnQ4ICgmd3Jp dGVyLCAobnVtX3RvX2RlbGV0ZSAtIDgpICogMHgyMCk7CisrICAgIH0KKysgIGVsc2UKKysgICAg eworKyAgICAgIC8qIGZpcnN0IGJ5dGUgaXMgMHgwMCwganVzdCBza2lwIGl0ICovCisrICAgICAg d3JpdHRlbiAmPSBmcGlfYnl0ZV93cml0ZXJfY2hhbmdlX3BvcyAoJndyaXRlciwgMSk7CisrICAg ICAgd3JpdHRlbiAmPSBmcGlfYnl0ZV93cml0ZXJfcHV0X3VpbnQ4ICgmd3JpdGVyLCBudW1fdG9f ZGVsZXRlICogMHgyMCk7CisrICAgIH0KKysKKysgIC8qIGFwcGVuZCBkZXNpcmVkIDMyLWJ5dGUg ZmluZ2VycHJpbnQgSURzICovCisrICAvKiBpZiBwYXNzZWQgYSBkZWxldGVfcHJpbnQgdGhlbiBm ZXRjaCBpdHMgZGF0YSBmcm9tIHRoZSBGcFByaW50ICovCisrICBpZiAoZGVsZXRlX3ByaW50KQor KyAgICB7CisrICAgICAgZ19vYmplY3RfZ2V0IChkZWxldGVfcHJpbnQsICJkZXNjcmlwdGlvbiIs ICZwcmludF9kZXNjcmlwdGlvbiwgTlVMTCk7CisrICAgICAgZ19vYmplY3RfZ2V0IChkZWxldGVf cHJpbnQsICJmcGktZGF0YSIsICZwcmludF9kYXRhLCBOVUxMKTsKKysKKysgICAgICBpZiAoIWdf dmFyaWFudF9jaGVja19mb3JtYXRfc3RyaW5nIChwcmludF9kYXRhLCAiKEBheSkiLCBGQUxTRSkp CisrICAgICAgICB7CisrICAgICAgICAgIGZwaV9zc21fbWFya19mYWlsZWQgKHNlbGYtPnRhc2tf c3NtLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcGlfZGV2aWNlX2Vycm9yX25l dyAoRlBfREVWSUNFX0VSUk9SX0RBVEFfSU5WQUxJRCkpOworKyAgICAgICAgICByZXR1cm4gTlVM TDsKKysgICAgICAgIH0KKysKKysgICAgICBnX3ZhcmlhbnRfZ2V0IChwcmludF9kYXRhLCAiKEBh eSkiLCAmcHJpbnRfZGF0YV9pZF92YXIpOworKyAgICAgIHByaW50X2RhdGFfaWQgPSBnX3Zhcmlh bnRfZ2V0X2ZpeGVkX2FycmF5IChwcmludF9kYXRhX2lkX3ZhciwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnByaW50X2RhdGFfaWRfbGVuLCBzaXpl b2YgKGd1Y2hhcikpOworKworKyAgICAgIGlmICghZ19zdHJfaGFzX3ByZWZpeCAocHJpbnRfZGVz Y3JpcHRpb24sICJGUCIpKQorKyAgICAgICAgZnBfZGJnICgiRmluZ2VycHJpbnQgJyVzJyB3YXMg bm90IGNyZWF0ZWQgYnkgbGliZnByaW50OyBkZWxldGluZyBhbnl3YXkuIiwKKysgICAgICAgICAg ICAgICAgcHJpbnRfZGVzY3JpcHRpb24pOworKworKyAgICAgIGZwX2luZm8gKCJEZWxldGUgZmlu Z2VycHJpbnQgJXMiLCBwcmludF9kZXNjcmlwdGlvbik7CisrCisrICAgICAgd3JpdHRlbiAmPSBm cGlfYnl0ZV93cml0ZXJfcHV0X2RhdGEgKCZ3cml0ZXIsIHByaW50X2RhdGFfaWQsCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVHSVNfRVRVOTA1X0ZJTkdFUlBS SU5UX0RBVEFfU0laRSk7CisrICAgIH0KKysgIC8qIE90aGVyd2lzZSBhc3N1bWUgdGhpcyBpcyBh ICJjbGVhciIgLSBqdXN0IGxvb3AgdGhyb3VnaCBhbmQgYXBwZW5kIGFsbCBlbnJvbGxlZCBJRHMg Ki8KKysgIGVsc2UgaWYgKHNlbGYtPmVucm9sbGVkX2lkcykKKysgICAgeworKyAgICAgIGZvciAo Z3VpbnQgaSA9IDA7IGkgPCBzZWxmLT5lbnJvbGxlZF9pZHMtPmxlbiAmJiB3cml0dGVuOyBpKysp CisrICAgICAgICB7CisrICAgICAgICAgIHdyaXR0ZW4gJj0gZnBpX2J5dGVfd3JpdGVyX3B1dF9k YXRhICgmd3JpdGVyLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZ19wdHJfYXJyYXlfaW5kZXggKHNlbGYtPmVucm9sbGVkX2lkcywgaSksCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFR0lTX0VUVTkwNV9GSU5H RVJQUklOVF9EQVRBX1NJWkUpOworKyAgICAgICAgfQorKyAgICB9CisrCisrICBnX2Fzc2VydCAo d3JpdHRlbik7CisrCisrICBpZiAobGVuZ3RoX291dCkKKysgICAgKmxlbmd0aF9vdXQgPSB0b3Rh bF9sZW5ndGg7CisrCisrICByZXR1cm4gZnBpX2J5dGVfd3JpdGVyX3Jlc2V0X2FuZF9nZXRfZGF0 YSAoJndyaXRlcik7CisrfQorKworK3N0YXRpYyB2b2lkCisrZWdpc19ldHU5MDVfZGVsZXRlX2Ni IChGcERldmljZSAqZGV2aWNlLAorKyAgICAgICAgICAgICAgICAgICAgICAgZ3VjaGFyICAgKmJ1 ZmZlcl9pbiwKKysgICAgICAgICAgICAgICAgICAgICAgIGdzaXplICAgICBsZW5ndGhfaW4sCisr ICAgICAgICAgICAgICAgICAgICAgICBHRXJyb3IgICAqZXJyb3IpCisreworKyAgZnBfZGJnICgi RGVsZXRlIGNhbGxiYWNrIik7CisrICBGcGlEZXZpY2VFZ2lzRXR1OTA1ICpzZWxmID0gRlBJX0RF VklDRV9FR0lTX0VUVTkwNSAoZGV2aWNlKTsKKysKKysgIGlmIChlcnJvcikKKysgICAgeworKyAg ICAgIGZwaV9zc21fbWFya19mYWlsZWQgKHNlbGYtPnRhc2tfc3NtLCBlcnJvcik7CisrICAgICAg cmV0dXJuOworKyAgICB9CisrCisrICAvKiBDaGVjayB0aGF0IHRoZSByZWFkIHBheWxvYWQgaW5k aWNhdGVzICJzdWNjZXNzIiB3aXRoIHRoZSBkZWxldGUgKi8KKysgIGlmIChlZ2lzX2V0dTkwNV92 YWxpZGF0ZV9yZXNwb25zZV9wcmVmaXggKGJ1ZmZlcl9pbiwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aF9pbiwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHJzcF9kZWxldGVfc3VjY2Vzc19wcmVmaXgsCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByc3BfZGVsZXRlX3N1Y2Nl c3NfcHJlZml4X2xlbikpCisrICAgIHsKKysgICAgICBpZiAoZnBpX2RldmljZV9nZXRfY3VycmVu dF9hY3Rpb24gKGRldmljZSkgPT0gRlBJX0RFVklDRV9BQ1RJT05fQ0xFQVJfU1RPUkFHRSkKKysg ICAgICAgIHsKKysgICAgICAgICAgZnBpX2RldmljZV9jbGVhcl9zdG9yYWdlX2NvbXBsZXRlIChk ZXZpY2UsIE5VTEwpOworKyAgICAgICAgICBmcGlfc3NtX25leHRfc3RhdGUgKHNlbGYtPnRhc2tf c3NtKTsKKysgICAgICAgIH0KKysgICAgICBlbHNlIGlmIChmcGlfZGV2aWNlX2dldF9jdXJyZW50 X2FjdGlvbiAoZGV2aWNlKSA9PSBGUElfREVWSUNFX0FDVElPTl9ERUxFVEUpCisrICAgICAgICB7 CisrICAgICAgICAgIGZwaV9kZXZpY2VfZGVsZXRlX2NvbXBsZXRlIChkZXZpY2UsIE5VTEwpOwor KyAgICAgICAgICBmcGlfc3NtX25leHRfc3RhdGUgKHNlbGYtPnRhc2tfc3NtKTsKKysgICAgICAg IH0KKysgICAgICBlbHNlCisrICAgICAgICB7CisrICAgICAgICAgIGZwaV9zc21fbWFya19mYWls ZWQgKHNlbGYtPnRhc2tfc3NtLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcGlf ZGV2aWNlX2Vycm9yX25ld19tc2cgKEZQX0RFVklDRV9FUlJPUl9QUk9UTywKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5zdXBwb3J0 ZWQgZGVsZXRlIGFjdGlvbi4iKSk7CisrICAgICAgICB9CisrICAgIH0KKysgIGVsc2UKKysgICAg eworKyAgICAgIGZwaV9zc21fbWFya19mYWlsZWQgKHNlbGYtPnRhc2tfc3NtLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIGZwaV9kZXZpY2VfZXJyb3JfbmV3X21zZyAoRlBfREVWSUNFX0VS Uk9SX1BST1RPLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIkRlbGV0ZSBwcmludCB3YXMgbm90IHN1Y2Nlc3NmdWwiKSk7CisrICAgIH0KKyt9 CisrCisrc3RhdGljIHZvaWQKKytlZ2lzX2V0dTkwNV9kZWxldGVfcnVuX3N0YXRlIChGcGlTc20g ICAqc3NtLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZwRGV2aWNlICpkZXZpY2Up CisreworKyAgZ19hdXRvZnJlZSBndWNoYXIgKnBheWxvYWQgPSBOVUxMOworKyAgZ3NpemUgcGF5 bG9hZF9sZW5ndGggPSAwOworKworKyAgc3dpdGNoIChmcGlfc3NtX2dldF9jdXJfc3RhdGUgKHNz bSkpCisrICAgIHsKKysgICAgY2FzZSBERUxFVEVfR0VUX0VOUk9MTEVEX0lEUzoKKysgICAgICAv KiBnZXQgZW5yb2xsZWRfaWRzIGZyb20gZGV2aWNlIGZvciB1c2UgYnVpbGRpbmcgZGVsZXRlIHBh eWxvYWQgYmVsb3cgKi8KKysgICAgICBlZ2lzX2V0dTkwNV9leGVjX2NtZCAoZGV2aWNlLCBjbWRf bGlzdCwgY21kX2xpc3RfbGVuLCBOVUxMLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBl Z2lzX2V0dTkwNV9saXN0X2ZpbGxfZW5yb2xsZWRfaWRzX2NiKTsKKysgICAgICBicmVhazsKKysK KysgICAgY2FzZSBERUxFVEVfREVMRVRFOgorKyAgICAgIGlmIChmcGlfZGV2aWNlX2dldF9jdXJy ZW50X2FjdGlvbiAoZGV2aWNlKSA9PSBGUElfREVWSUNFX0FDVElPTl9ERUxFVEUpCisrICAgICAg ICBwYXlsb2FkID0gZWdpc19ldHU5MDVfZ2V0X2RlbGV0ZV9jbWQgKGRldmljZSwgZnBpX3NzbV9n ZXRfZGF0YSAoc3NtKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJnBheWxvYWRfbGVuZ3RoKTsKKysgICAgICBlbHNlCisrICAgICAgICBwYXlsb2FkID0g ZWdpc19ldHU5MDVfZ2V0X2RlbGV0ZV9jbWQgKGRldmljZSwgTlVMTCwgJnBheWxvYWRfbGVuZ3Ro KTsKKysKKysgICAgICBlZ2lzX2V0dTkwNV9leGVjX2NtZCAoZGV2aWNlLCBnX3N0ZWFsX3BvaW50 ZXIgKCZwYXlsb2FkKSwgcGF5bG9hZF9sZW5ndGgsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGdfZnJlZSwgZWdpc19ldHU5MDVfZGVsZXRlX2NiKTsKKysgICAgICBicmVhazsKKysgICAg fQorK30KKysKKytzdGF0aWMgdm9pZAorK2VnaXNfZXR1OTA1X2NsZWFyX3N0b3JhZ2UgKEZwRGV2 aWNlICpkZXZpY2UpCisreworKyAgZnBfZGJnICgiQ2xlYXIgc3RvcmFnZSIpOworKyAgRnBpRGV2 aWNlRWdpc0V0dTkwNSAqc2VsZiA9IEZQSV9ERVZJQ0VfRUdJU19FVFU5MDUgKGRldmljZSk7Cisr CisrICBnX2Fzc2VydCAoc2VsZi0+dGFza19zc20gPT0gTlVMTCk7CisrICBzZWxmLT50YXNrX3Nz bSA9IGZwaV9zc21fbmV3IChkZXZpY2UsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBlZ2lzX2V0dTkwNV9kZWxldGVfcnVuX3N0YXRlLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgREVMRVRFX1NUQVRFUyk7CisrICBmcGlfc3NtX3N0YXJ0IChzZWxmLT50YXNrX3Nz bSwgZWdpc19ldHU5MDVfdGFza19zc21fZG9uZSk7CisrfQorKworK3N0YXRpYyB2b2lkCisrZWdp c19ldHU5MDVfZGVsZXRlIChGcERldmljZSAqZGV2aWNlKQorK3sKKysgIGZwX2RiZyAoIkRlbGV0 ZSIpOworKyAgRnBpRGV2aWNlRWdpc0V0dTkwNSAqc2VsZiA9IEZQSV9ERVZJQ0VfRUdJU19FVFU5 MDUgKGRldmljZSk7CisrICBGcFByaW50ICpkZWxldGVfcHJpbnQgPSBOVUxMOworKworKyAgZnBp X2RldmljZV9nZXRfZGVsZXRlX2RhdGEgKGRldmljZSwgJmRlbGV0ZV9wcmludCk7CisrCisrICBn X2Fzc2VydCAoc2VsZi0+dGFza19zc20gPT0gTlVMTCk7CisrICBzZWxmLT50YXNrX3NzbSA9IGZw aV9zc21fbmV3IChkZXZpY2UsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZ2lz X2V0dTkwNV9kZWxldGVfcnVuX3N0YXRlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgREVMRVRFX1NUQVRFUyk7CisrICAvKiB0aGUgcHJpbnQgaXMgb3duZWQgYnkgbGliZnByaW50 IGR1cmluZyBkZWxldGlvbiB0YXNrICovCisrICBmcGlfc3NtX3NldF9kYXRhIChzZWxmLT50YXNr X3NzbSwgZGVsZXRlX3ByaW50LCBOVUxMKTsKKysgIGZwaV9zc21fc3RhcnQgKHNlbGYtPnRhc2tf c3NtLCBlZ2lzX2V0dTkwNV90YXNrX3NzbV9kb25lKTsKKyt9CisrCisrc3RhdGljIHZvaWQKKytl Z2lzX2V0dTkwNV9lbnJvbGxfc3RhdHVzX3JlcG9ydCAoRnBEZXZpY2UgICAgKmRldmljZSwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5yb2xsUHJpbnQgKmVucm9sbF9wcmlu dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5yb2xsU3RhdHVzIHN0YXR1 cywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0Vycm9yICAgICAgKmVycm9y KQorK3sKKysgIEZwaURldmljZUVnaXNFdHU5MDUgKnNlbGYgPSBGUElfREVWSUNFX0VHSVNfRVRV OTA1IChkZXZpY2UpOworKworKyAgc3dpdGNoIChzdGF0dXMpCisrICAgIHsKKysgICAgY2FzZSBF TlJPTExfU1RBVFVTX0RFVklDRV9GVUxMOgorKyAgICBjYXNlIEVOUk9MTF9TVEFUVVNfRFVQTElD QVRFOgorKyAgICAgIGZwaV9zc21fbWFya19mYWlsZWQgKHNlbGYtPnRhc2tfc3NtLCBlcnJvcik7 CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgRU5ST0xMX1NUQVRVU19SRVRSWToKKysgICAg ICBmcGlfZGV2aWNlX2Vucm9sbF9wcm9ncmVzcyAoZGV2aWNlLCBlbnJvbGxfcHJpbnQtPnN0YWdl LCBOVUxMLCBlcnJvcik7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgRU5ST0xMX1NUQVRV U19QQVJUSUFMX09LOgorKyAgICAgIGVucm9sbF9wcmludC0+c3RhZ2UrKzsKKysgICAgICBmcF9p bmZvICgiUGFydGlhbCBjYXB0dXJlIHN1Y2Nlc3NmdWwuIFBsZWFzZSB0b3VjaCB0aGUgc2Vuc29y IGFnYWluICglZC8lZCkiLAorKyAgICAgICAgICAgICAgIGVucm9sbF9wcmludC0+c3RhZ2UsCisr ICAgICAgICAgICAgICAgc2VsZi0+bWF4X2Vucm9sbF9zdGFnZXMpOworKyAgICAgIGZwaV9kZXZp Y2VfZW5yb2xsX3Byb2dyZXNzIChkZXZpY2UsIGVucm9sbF9wcmludC0+c3RhZ2UsIGVucm9sbF9w cmludC0+cHJpbnQsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIEVOUk9MTF9T VEFUVVNfQ09NUExFVEU6CisrICAgICAgZnBfaW5mbyAoIkVucm9sbG1lbnQgd2FzIHN1Y2Nlc3Nm dWwhIik7CisrICAgICAgZnBpX2RldmljZV9lbnJvbGxfY29tcGxldGUgKGRldmljZSwgZ19vYmpl Y3RfcmVmIChlbnJvbGxfcHJpbnQtPnByaW50KSwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisr ICAgIGRlZmF1bHQ6CisrICAgICAgaWYgKGVycm9yKQorKyAgICAgICAgZnBpX3NzbV9tYXJrX2Zh aWxlZCAoc2VsZi0+dGFza19zc20sIGVycm9yKTsKKysgICAgICBlbHNlCisrICAgICAgICBmcGlf c3NtX21hcmtfZmFpbGVkIChzZWxmLT50YXNrX3NzbSwKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGZwaV9kZXZpY2VfZXJyb3JfbmV3X21zZyAoRlBfREVWSUNFX0VSUk9SX0dFTkVSQUws CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJVbmtub3duIGVycm9yIikpOworKyAgICB9CisrfQorKworK3N0YXRpYyB2b2lkCisrZWdpc19l dHU5MDVfcmVhZF9jYXB0dXJlX2NiIChGcERldmljZSAqZGV2aWNlLAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZ3VjaGFyICAgKmJ1ZmZlcl9pbiwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGdzaXplICAgICBsZW5ndGhfaW4sCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBHRXJyb3IgICAqZXJyb3IpCisreworKyAgZnBfZGJnICgiUmVhZCBjYXB0dXJlIGNhbGxi YWNrIik7CisrICBGcGlEZXZpY2VFZ2lzRXR1OTA1ICpzZWxmID0gRlBJX0RFVklDRV9FR0lTX0VU VTkwNSAoZGV2aWNlKTsKKysgIEVucm9sbFByaW50ICplbnJvbGxfcHJpbnQgPSBmcGlfc3NtX2dl dF9kYXRhIChzZWxmLT50YXNrX3NzbSk7CisrCisrICBpZiAoZXJyb3IpCisrICAgIHsKKysgICAg ICBmcGlfc3NtX21hcmtfZmFpbGVkIChzZWxmLT50YXNrX3NzbSwgZXJyb3IpOworKyAgICAgIHJl dHVybjsKKysgICAgfQorKworKyAgLyogQ2hlY2sgdGhhdCB0aGUgcmVhZCBwYXlsb2FkIGluZGlj YXRlcyAic3VjY2VzcyIgKi8KKysgIGlmIChlZ2lzX2V0dTkwNV92YWxpZGF0ZV9yZXNwb25zZV9w cmVmaXggKGJ1ZmZlcl9pbiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGxlbmd0aF9pbiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHJzcF9yZWFkX3N1Y2Nlc3NfcHJlZml4LAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcnNwX3JlYWRfc3VjY2Vzc19wcmVmaXhfbGVuKSAmJgorKyAg ICAgIGVnaXNfZXR1OTA1X3ZhbGlkYXRlX3Jlc3BvbnNlX3N1ZmZpeCAoYnVmZmVyX2luLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoX2luLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnNwX3JlYWRfc3VjY2Vz c19zdWZmaXgsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy c3BfcmVhZF9zdWNjZXNzX3N1ZmZpeF9sZW4pKQorKyAgICB7CisrICAgICAgZWdpc19ldHU5MDVf ZW5yb2xsX3N0YXR1c19yZXBvcnQgKGRldmljZSwgZW5yb2xsX3ByaW50LAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFTlJPTExfU1RBVFVTX1BBUlRJQUxfT0ssIE5V TEwpOworKyAgICB9CisrICBlbHNlCisrICAgIHsKKysgICAgICAvKiBJZiBub3Qgc3VjY2VzcyB0 aGVuIHRoZSBzZW5zb3IgY2FuIGVpdGhlciByZXBvcnQgIm9mZiBjZW50ZXIiIG9yICJzZW5zb3Ig aXMgZGlydHkiICovCisrCisrICAgICAgLyogIk9mZiBjZW50ZXIiICovCisrICAgICAgaWYgKGVn aXNfZXR1OTA1X3ZhbGlkYXRlX3Jlc3BvbnNlX3ByZWZpeCAoYnVmZmVyX2luLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aF9pbiwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByc3BfcmVhZF9vZmZj ZW50ZXJfcHJlZml4LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHJzcF9yZWFkX29mZmNlbnRlcl9wcmVmaXhfbGVuKSAmJgorKyAgICAgICAgICBlZ2lz X2V0dTkwNV92YWxpZGF0ZV9yZXNwb25zZV9zdWZmaXggKGJ1ZmZlcl9pbiwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhfaW4sCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnNwX3JlYWRfb2ZmY2Vu dGVyX3N1ZmZpeCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICByc3BfcmVhZF9vZmZjZW50ZXJfc3VmZml4X2xlbikpCisrICAgICAgICBlcnJvciA9IGZw aV9kZXZpY2VfcmV0cnlfbmV3IChGUF9ERVZJQ0VfUkVUUllfQ0VOVEVSX0ZJTkdFUik7CisrCisr ICAgICAgLyogIlNlbnNvciBpcyBkaXJ0eSIgKi8KKysgICAgICBlbHNlIGlmIChlZ2lzX2V0dTkw NV92YWxpZGF0ZV9yZXNwb25zZV9wcmVmaXggKGJ1ZmZlcl9pbiwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aF9pbiwKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJzcF9yZWFkX2Rp cnR5X3ByZWZpeCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHJzcF9yZWFkX2RpcnR5X3ByZWZpeF9sZW4pKQorKyAgICAgICAgZXJyb3IgPSBm cGlfZGV2aWNlX3JldHJ5X25ld19tc2cgKEZQX0RFVklDRV9SRVRSWV9SRU1PVkVfRklOR0VSLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJZb3VyIGRldmljZSBp cyBoYXZpbmcgdHJvdWJsZSByZWNvZ25pemluZyB5b3UuICIKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiTWFrZSBzdXJlIHlvdXIgc2Vuc29yIGlzIGNsZWFuLiIp OworKworKyAgICAgIGVsc2UKKysgICAgICAgIGVycm9yID0gZnBpX2RldmljZV9yZXRyeV9uZXdf bXNnIChGUF9ERVZJQ0VfUkVUUllfUkVNT1ZFX0ZJTkdFUiwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biBmYWlsdXJlIHRyeWluZyB0byByZWFkIHlv dXIgZmluZ2VyLiAiCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IlBsZWFzZSB0cnkgYWdhaW4uIik7CisrCisrICAgICAgZWdpc19ldHU5MDVfZW5yb2xsX3N0YXR1 c19yZXBvcnQgKGRldmljZSwgZW5yb2xsX3ByaW50LCBFTlJPTExfU1RBVFVTX1JFVFJZLCBlcnJv cik7CisrICAgIH0KKysKKysgIGlmIChlbnJvbGxfcHJpbnQtPnN0YWdlID09IHNlbGYtPm1heF9l bnJvbGxfc3RhZ2VzKQorKyAgICBmcGlfc3NtX25leHRfc3RhdGUgKHNlbGYtPnRhc2tfc3NtKTsK KysgIGVsc2UKKysgICAgZnBpX3NzbV9qdW1wX3RvX3N0YXRlIChzZWxmLT50YXNrX3NzbSwgRU5S T0xMX0NBUFRVUkVfU0VOU09SX1JFU0VUKTsKKyt9CisrCisrc3RhdGljIHZvaWQKKytlZ2lzX2V0 dTkwNV9lbnJvbGxfZHVwbGljYXRlX2NoZWNrX2NiIChGcERldmljZSAqZGV2aWNlLAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1Y2hhciAgICpidWZmZXJfaW4sCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3NpemUgICAgIGxlbmd0aF9p biwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRXJyb3IgICAqZXJy b3IpCisreworKyAgZnBfZGJnICgiVGFzayBTU00gZW5yb2xsIGR1cGxpY2F0ZSBjaGVjayBjYWxs YmFjayIpOworKyAgRnBpRGV2aWNlRWdpc0V0dTkwNSAqc2VsZiA9IEZQSV9ERVZJQ0VfRUdJU19F VFU5MDUgKGRldmljZSk7CisrCisrICBpZiAoZXJyb3IpCisrICAgIHsKKysgICAgICBmcGlfc3Nt X21hcmtfZmFpbGVkIChzZWxmLT50YXNrX3NzbSwgZXJyb3IpOworKyAgICAgIHJldHVybjsKKysg ICAgfQorKworKyAgLyogQ2hlY2sgdGhhdCB0aGUgcmVhZCBwYXlsb2FkIHJlcG9ydHMgIm5vdCB5 ZXQgZW5yb2xsZWQiICovCisrICBpZiAoZWdpc19ldHU5MDVfdmFsaWRhdGVfcmVzcG9uc2Vfc3Vm Zml4IChidWZmZXJfaW4sCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBsZW5ndGhfaW4sCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICByc3BfY2hlY2tfbm90X3lldF9lbnJvbGxlZF9zdWZmaXgsCisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByc3BfY2hlY2tfbm90X3lldF9lbnJvbGxlZF9z dWZmaXhfbGVuKSkKKysgICAgZnBpX3NzbV9qdW1wX3RvX3N0YXRlIChzZWxmLT50YXNrX3NzbSwg RU5ST0xMX0NPTU1JVF9TVEFSVCk7CisrICBlbHNlCisrICAgIGVnaXNfZXR1OTA1X2Vucm9sbF9z dGF0dXNfcmVwb3J0IChkZXZpY2UsIE5VTEwsIEVOUk9MTF9TVEFUVVNfRFVQTElDQVRFLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnBpX2RldmljZV9lcnJvcl9uZXcg KEZQX0RFVklDRV9FUlJPUl9EQVRBX0RVUExJQ0FURSkpOworK30KKysKKytzdGF0aWMgdm9pZAor K2VnaXNfZXR1OTA1X2Vucm9sbF9iZWdpbl9jYiAoRnBEZXZpY2UgKmRldmljZSwKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGd1Y2hhciAgICpidWZmZXJfaW4sCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBnc2l6ZSAgICAgbGVuZ3RoX2luLAorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgR0Vycm9yICAgKmVycm9yKQorK3sKKysgIGZwX2RiZyAoIkVucm9sbCBiZWdp biBjYWxsYmFjayIpOworKyAgRnBpRGV2aWNlRWdpc0V0dTkwNSAqc2VsZiA9IEZQSV9ERVZJQ0Vf RUdJU19FVFU5MDUgKGRldmljZSk7CisrCisrICBpZiAoZXJyb3IpCisrICAgIHsKKysgICAgICBm cGlfc3NtX21hcmtfZmFpbGVkIChzZWxmLT50YXNrX3NzbSwgZXJyb3IpOworKyAgICAgIHJldHVy bjsKKysgICAgfQorKworKyAgRnBpQnl0ZVJlYWRlciByZWFkZXI7CisrCisrICBmcGlfYnl0ZV9y ZWFkZXJfaW5pdCAoJnJlYWRlciwgYnVmZmVyX2luLCBsZW5ndGhfaW4pOworKworKyAgZnBpX2J5 dGVfcmVhZGVyX3NldF9wb3MgKCZyZWFkZXIsIEVHSVNfRVRVOTA1X0xJU1RfUkVTUE9OU0VfUFJF RklYX1NJWkUpOworKworKyAgY29uc3QgZ3VpbnQ4ICpkYXRhID0gTlVMTDsKKysKKysgIGZwaV9i eXRlX3JlYWRlcl9nZXRfZGF0YSAoJnJlYWRlciwgRUdJU19FVFU5MDVfRklOR0VSUFJJTlRfREFU QV9TSVpFLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZGF0YSk7CisrCisrICBpZiAo ZGF0YSkKKysgICAgbWVtY3B5IChzZWxmLT5zaWQsIGRhdGEsIEVHSVNfRVRVOTA1X0ZJTkdFUlBS SU5UX0RBVEFfU0laRSk7CisrCisrICBmcGlfc3NtX25leHRfc3RhdGUgKHNlbGYtPnRhc2tfc3Nt KTsKKyt9CisrCisrLyoKKysgKiBCdWlsZHMgdGhlIGZ1bGwgImNoZWNrIiBwYXlsb2FkIHdoaWNo IGluY2x1ZGVzIGlkZW50aWZpZXJzIGZvciBhbGwKKysgKiBmaW5nZXJwcmludHMgd2hpY2ggY3Vy cmVudGx5IHNob3VsZCBleGlzdCBvbiB0aGUgc3RvcmFnZS4gVGhpcyBwYXlsb2FkIGlzCisrICog dXNlZCBkdXJpbmcgYm90aCBlbnJvbGxtZW50IGFuZCB2ZXJpZnkgYWN0aW9ucy4KKysgKi8KKytz dGF0aWMgZ3VjaGFyICoKKytlZ2lzX2V0dTkwNV9nZXRfY2hlY2tfY21kIChGcERldmljZSAqZGV2 aWNlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzaXplICAgICpsZW5ndGhfb3V0KQor K3sKKysgIGZwX2RiZyAoIkdldCBjaGVjayBjb21tYW5kIik7CisrICBGcGlEZXZpY2VFZ2lzRXR1 OTA1ICpzZWxmID0gRlBJX0RFVklDRV9FR0lTX0VUVTkwNSAoZGV2aWNlKTsKKysgIGdfYXV0byhG cGlCeXRlV3JpdGVyKSB3cml0ZXIgPSB7MH07CisrICBnX2F1dG9mcmVlIGd1Y2hhciAqcmVzdWx0 ID0gTlVMTDsKKysgIGdib29sZWFuIHdyaXR0ZW4gPSBUUlVFOworKworKyAgLyoKKysgICAqIFRo ZSBmaW5hbCBjb21tYW5kIGJvZHkgc2hvdWxkIGNvbnRhaW46CisrICAgKiAxKSBoYXJkLWNvZGVk IDAwIDAwCisrICAgKiAyKSAyLWJ5dGUgc2l6ZSBpbmRpY2lhdG9yLCAyMCpOdW1iZXIgZW5yb2xs ZWQgaWRlbnRpZmllcnMgcGx1cyA5IGluIGZvcm0gb2Y6CisrICAgKiAgICAoZW5yb2xsZWRfaWRz LT5sZW4gKyAxKSAqIDB4MjAgKyAweDA5CisrICAgKiAgICBTaW5jZSBtYXggcHJpbnRzIGNhbiBi ZSBoaWdoZXIgdGhhbiA3IHRoZW4gdGhpcyBnb2VzIHVwIHRvIDIgYnl0ZXMKKysgICAqICAgIChl OSArIDkgPSAxMDkpCisrICAgKiAzKSBIYXJkLWNvZGVkIHByZWZpeCAoY21kX2NoZWNrX3ByZWZp eCkKKysgICAqIDQpIDItYnl0ZSBzaXplIGluZGljaWF0b3IsIDIwKk51bWJlciBvZiBlbnJvbGxl ZCBpZGVudGlmaWVycyB3aXRob3V0IHBsdXMgOQorKyAgICogICAgKChlbnJvbGxlZF9pZHMtPmxl biArIDEpICogMHgyMCkKKysgICAqIDUpIEhhcmQtY29kZWQgMzIgKiAweDAwIGJ5dGVzCisrICAg KiA2KSBBbGwgb2YgdGhlIGN1cnJlbnRseSByZWdpc3RlcmVkIHByaW50cyBpbiB0aGVpciAzMi1i eXRlIGRldmljZSBpZGVudGlmaWVycworKyAgICogICAgKGVucm9sbGVkX2xpc3QpCisrICAgKiA3 KSBIYXJkLWNvZGVkIHN1ZmZpeCAoY21kX2NoZWNrX3N1ZmZpeCkKKysgICAqLworKworKyAgZ19h c3NlcnQgKHNlbGYtPmVucm9sbGVkX2lkcyk7CisrICBjb25zdCBnc2l6ZSBib2R5X2xlbmd0aCA9 IHNpemVvZiAoZ3VjaGFyKSAqIHNlbGYtPmVucm9sbGVkX2lkcy0+bGVuICoKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRUdJU19FVFU5MDVfRklOR0VSUFJJTlRfREFUQV9TSVpFOworKwor KyAgLyogcHJlZml4IGxlbmd0aCBjYW4gZGVwZW5kIG9uIHRoZSB0eXBlICovCisrICBjb25zdCBn c2l6ZSBjaGVja19wcmVmaXhfbGVuZ3RoID0gKGZwaV9kZXZpY2VfZ2V0X2RyaXZlcl9kYXRhIChk ZXZpY2UpICYKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdJU19FVFU5 MDVfRFJJVkVSX0NIRUNLX1BSRUZJWF9UWVBFMikgPworKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNtZF9jaGVja19wcmVmaXhfdHlwZTJfbGVuIDoKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjbWRfY2hlY2tfcHJlZml4X3R5cGUxX2xlbjsKKysKKysg IC8qIHRvdGFsX2xlbmd0aCBpcyB0aGUgNiB2YXJpb3VzIGJ5dGVzIHBsdXMgYWxsIG90aGVyIHBy ZWZpeGVzL3N1ZmZpeGVzIGFuZAorKyAgICogdGhlIGJvZHkgcGF5bG9hZCAqLworKyAgY29uc3Qg Z3NpemUgdG90YWxfbGVuZ3RoID0gKHNpemVvZiAoZ3VjaGFyKSAqIDYpCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICArIGNoZWNrX3ByZWZpeF9sZW5ndGgKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICsgRUdJU19FVFU5MDVfQ01EX0NIRUNLX1NFUEFSQVRPUl9MRU5HVEgKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgYm9keV9sZW5ndGgKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICsgY21kX2NoZWNrX3N1ZmZpeF9sZW47CisrCisrICAvKiBwcmUtZmls bCBlbnRpcmUgcGF5bG9hZCB3aXRoIDAwcyAqLworKyAgZnBpX2J5dGVfd3JpdGVyX2luaXRfd2l0 aF9zaXplICgmd3JpdGVyLCB0b3RhbF9sZW5ndGgsIFRSVUUpOworKworKyAgLyogc3RhcnQgd2l0 aCAwMCAwMCAoanVzdCBtb3ZlIHN0YXJ0aW5nIG9mZnNldCB1cCBieSAyKSAqLworKyAgd3JpdHRl biAmPSBmcGlfYnl0ZV93cml0ZXJfc2V0X3BvcyAoJndyaXRlciwgMik7CisrCisrICAvKiBTaXpl IENvdW50ZXIgYnl0ZXMgKi8KKysgIC8qICJlYXNpZXN0IiB3YXkgdG8gaGFuZGxlIDItYnl0ZXMg c2l6ZSBmb3IgY291bnRlciBpcyB0byBoYXJkLWNvZGUgbG9naWMgZm9yCisrICAgKiB3aGVuIHdl IGdvIHRvIHRoZSAybmQgYnl0ZQorKyAgICogbm90ZSB0aGlzIHdpbGwgbm90IHdvcmsgaW4gY2Fz ZSBhbnkgbW9kZWwgZXZlciBzdXBwb3J0cyBtb3JlIHRoYW4gMTQgcHJpbnRzCisrICAgKiAoYXNz dW1lZCBtYXggaXMgMTApICovCisrICBpZiAoc2VsZi0+ZW5yb2xsZWRfaWRzLT5sZW4gPiA2KQor KyAgICB7CisrICAgICAgd3JpdHRlbiAmPSBmcGlfYnl0ZV93cml0ZXJfcHV0X3VpbnQ4ICgmd3Jp dGVyLCAweDAxKTsKKysgICAgICB3cml0dGVuICY9IGZwaV9ieXRlX3dyaXRlcl9wdXRfdWludDgg KCZ3cml0ZXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo KHNlbGYtPmVucm9sbGVkX2lkcy0+bGVuIC0gNykgKiAweDIwKQorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAweDA5KTsKKysgICAgfQorKyAgZWxzZQorKyAg ICB7CisrICAgICAgLyogZmlyc3QgYnl0ZSBpcyAweDAwLCBqdXN0IHNraXAgaXQgKi8KKysgICAg ICB3cml0dGVuICY9IGZwaV9ieXRlX3dyaXRlcl9jaGFuZ2VfcG9zICgmd3JpdGVyLCAxKTsKKysg ICAgICB3cml0dGVuICY9IGZwaV9ieXRlX3dyaXRlcl9wdXRfdWludDggKCZ3cml0ZXIsCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHNlbGYtPmVucm9sbGVk X2lkcy0+bGVuICsgMSkgKiAweDIwKSArCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDA5KTsKKysgICAgfQorKworKyAgLyogY29tbWFuZCBwcmVmaXggKi8K KysgIGlmIChmcGlfZGV2aWNlX2dldF9kcml2ZXJfZGF0YSAoZGV2aWNlKSAmIEVHSVNfRVRVOTA1 X0RSSVZFUl9DSEVDS19QUkVGSVhfVFlQRTIpCisrICAgIHdyaXR0ZW4gJj0gZnBpX2J5dGVfd3Jp dGVyX3B1dF9kYXRhICgmd3JpdGVyLCBjbWRfY2hlY2tfcHJlZml4X3R5cGUyLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY21kX2NoZWNrX3ByZWZpeF90eXBlMl9s ZW4pOworKyAgZWxzZQorKyAgICB3cml0dGVuICY9IGZwaV9ieXRlX3dyaXRlcl9wdXRfZGF0YSAo JndyaXRlciwgY21kX2NoZWNrX3ByZWZpeF90eXBlMSwKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNtZF9jaGVja19wcmVmaXhfdHlwZTFfbGVuKTsKKysKKysgIC8q IDItYnl0ZXMgc2l6ZSBsb2dpYyBmb3IgY291bnRlciBhZ2FpbiAqLworKyAgaWYgKHNlbGYtPmVu cm9sbGVkX2lkcy0+bGVuID4gNikKKysgICAgeworKyAgICAgIHdyaXR0ZW4gJj0gZnBpX2J5dGVf d3JpdGVyX3B1dF91aW50OCAoJndyaXRlciwgMHgwMSk7CisrICAgICAgd3JpdHRlbiAmPSBmcGlf Ynl0ZV93cml0ZXJfcHV0X3VpbnQ4ICgmd3JpdGVyLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHNlbGYtPmVucm9sbGVkX2lkcy0+bGVuIC0gNykgKiAweDIw KTsKKysgICAgfQorKyAgZWxzZQorKyAgICB7CisrICAgICAgLyogZmlyc3QgYnl0ZSBpcyAweDAw LCBqdXN0IHNraXAgaXQgKi8KKysgICAgICB3cml0dGVuICY9IGZwaV9ieXRlX3dyaXRlcl9jaGFu Z2VfcG9zICgmd3JpdGVyLCAxKTsKKysgICAgICB3cml0dGVuICY9IGZwaV9ieXRlX3dyaXRlcl9w dXRfdWludDggKCZ3cml0ZXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoc2VsZi0+ZW5yb2xsZWRfaWRzLT5sZW4gKyAxKSAqIDB4MjApOworKyAgICB9Cisr CisrICAvKiBhZGQgMDBzICJzZXBhcmF0b3IiIHRvIG9mZnNldCBwb3NpdGlvbiAqLworKyAgd3Jp dHRlbiAmPSBmcGlfYnl0ZV93cml0ZXJfY2hhbmdlX3BvcyAoJndyaXRlciwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVHSVNfRVRVOTA1X0NNRF9DSEVDS19TRVBB UkFUT1JfTEVOR1RIKTsKKysKKysgIGZvciAoZ3VpbnQgaSA9IDA7IGkgPCBzZWxmLT5lbnJvbGxl ZF9pZHMtPmxlbiAmJiB3cml0dGVuOyBpKyspCisrICAgIHsKKysgICAgICB3cml0dGVuICY9IGZw aV9ieXRlX3dyaXRlcl9wdXRfZGF0YSAoJndyaXRlciwKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZ19wdHJfYXJyYXlfaW5kZXggKHNlbGYtPmVucm9sbGVkX2lk cywgaSksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVHSVNf RVRVOTA1X0ZJTkdFUlBSSU5UX0RBVEFfU0laRSk7CisrICAgIH0KKysKKysgIC8qIGNvbW1hbmQg c3VmZml4ICovCisrICB3cml0dGVuICY9IGZwaV9ieXRlX3dyaXRlcl9wdXRfZGF0YSAoJndyaXRl ciwgY21kX2NoZWNrX3N1ZmZpeCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjbWRfY2hlY2tfc3VmZml4X2xlbik7CisrICBnX2Fzc2VydCAod3JpdHRlbik7CisrCisr ICBpZiAobGVuZ3RoX291dCkKKysgICAgKmxlbmd0aF9vdXQgPSB0b3RhbF9sZW5ndGg7CisrCisr ICByZXR1cm4gZnBpX2J5dGVfd3JpdGVyX3Jlc2V0X2FuZF9nZXRfZGF0YSAoJndyaXRlcik7Cisr fQorKworK3N0YXRpYyB2b2lkCisrZWdpc19ldHU5MDVfZW5yb2xsX3J1bl9zdGF0ZSAoRnBpU3Nt ICAgKnNzbSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGcERldmljZSAqZGV2aWNl KQorK3sKKysgIGdfYXV0byhGcGlCeXRlV3JpdGVyKSB3cml0ZXIgPSB7MH07CisrICBFZ2lzbW9j U2lkRGF0YSBzaWRfZGF0YSA9IHswfTsKKysgIEVucm9sbFByaW50ICplbnJvbGxfcHJpbnQgPSBm cGlfc3NtX2dldF9kYXRhIChzc20pOworKyAgZ19hdXRvZnJlZSBndWNoYXIgKnBheWxvYWQgPSBO VUxMOworKyAgZ3NpemUgcGF5bG9hZF9sZW5ndGggPSAwOworKyAgZ19hdXRvZnJlZSBnY2hhciAq ZGV2aWNlX3ByaW50X2lkID0gTlVMTDsKKysgIGdfYXV0b2ZyZWUgZ2NoYXIgKnVzZXJfaWQgPSBO VUxMOworKworKyAgc3dpdGNoIChmcGlfc3NtX2dldF9jdXJfc3RhdGUgKHNzbSkpCisrICAgIHsK KysgICAgY2FzZSBFTlJPTExfU1RBUlQ6CisrICAgICAgZWdpc19ldHU5MDVfZXhlY19jbWQgKGRl dmljZSwgY21kX2Vucm9sbF9zdGFydGluZywgY21kX2Vucm9sbF9zdGFydGluZ19sZW4sCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIGVnaXNfZXR1OTA1X2Vucm9sbF9iZWdpbl9j Yik7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgRU5ST0xMX0NBUFRVUkVfU0VOU09SX1JF U0VUOgorKyAgICAgIGVnaXNfZXR1OTA1X2V4ZWNfY21kIChkZXZpY2UsIGNtZF9zZW5zb3JfcmVz ZXQsIGNtZF9zZW5zb3JfcmVzZXRfbGVuLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBO VUxMLCBlZ2lzX2V0dTkwNV90YXNrX3NzbV9uZXh0X3N0YXRlX2NiKTsKKysgICAgICBicmVhazsK KysKKysgICAgY2FzZSBFTlJPTExfQ0FQVFVSRV9TRU5TT1JfU1RBUlRfQ0FQVFVSRToKKysgICAg ICBlZ2lzX2V0dTkwNV9leGVjX2NtZCAoZGV2aWNlLCBjbWRfc2Vuc29yX3N0YXJ0X2NhcHR1cmUs IGNtZF9zZW5zb3Jfc3RhcnRfY2FwdHVyZV9sZW4sCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE5VTEwsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVnaXNfZXR1OTA1X3Rhc2tf c3NtX25leHRfc3RhdGVfY2IpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIEVOUk9MTF9D QVBUVVJFX1dBSVRfRklOR0VSOgorKyAgICAgIGVnaXNfZXR1OTA1X3dhaXRfZmluZ2VyX29uX3Nl bnNvciAoc3NtLCBkZXZpY2UpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIEVOUk9MTF9D QVBUVVJFX1JFQURfUkVTUE9OU0U6CisrICAgICAgZWdpc19ldHU5MDVfZXhlY19jbWQgKGRldmlj ZSwgY21kX3JlYWRfY2FwdHVyZSwgY21kX3JlYWRfY2FwdHVyZV9sZW4sCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE5VTEwsIGVnaXNfZXR1OTA1X3JlYWRfY2FwdHVyZV9jYik7CisrICAg ICAgYnJlYWs7CisrCisrICAgIGNhc2UgRU5ST0xMX0RVUExJQ0FURV9DSEVDSzoKKysgICAgICBl Z2lzX2V0dTkwNV9leGVjX2NtZCAoZGV2aWNlLCBjbWRfZHVwbGljYXRlX2NoZWNrLCBjbWRfZHVw bGljYXRlX2NoZWNrX2xlbiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgZWdp c19ldHU5MDVfZW5yb2xsX2R1cGxpY2F0ZV9jaGVja19jYik7CisrICAgICAgYnJlYWs7CisrCisr ICAgIGNhc2UgRU5ST0xMX0NPTU1JVF9TVEFSVDoKKysgICAgICBlZ2lzX2V0dTkwNV9leGVjX2Nt ZCAoZGV2aWNlLCBjbWRfY29tbWl0X3N0YXJ0aW5nLCBjbWRfY29tbWl0X3N0YXJ0aW5nX2xlbiwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgZWdpc19ldHU5MDVfY29tbWl0X3N0 YXJ0X2NiKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBFTlJPTExfQ09NTUlUOgorKyAg ICAgIHVzZXJfaWQgPSBmcGlfcHJpbnRfZ2VuZXJhdGVfdXNlcl9pZCAoZW5yb2xsX3ByaW50LT5w cmludCk7CisrICAgICAgZnBfZGJnICgiTmV3IGZpbmdlcnByaW50IElEOiAlcyIsIHVzZXJfaWQp OworKworKyAgICAgIHNpZF9kYXRhLnJlc2VydmVfcGFyYV8xID0gRUdJU19FVFU5MDVfUEFSQV8x X1ZBTFVFOworKyAgICAgIHNpZF9kYXRhLnJlc2VydmVfcGFyYV8yID0gRUdJU19FVFU5MDVfUEFS QV8yX1ZBTFVFOworKyAgICAgIHNpZF9kYXRhLnJlc2VydmVfcGFyYV8zID0gRUdJU19FVFU5MDVf UEFSQV8zX1ZBTFVFOworKyAgICAgIG1lbWNweSAoc2lkX2RhdGEucmVzZXJ2ZV9wYXJhXzQsIHVz ZXJfaWQsIE1JTiAoRUdJU19FVFU5MDVfRklOR0VSUFJJTlRfREFUQV9TSVpFLCBzdHJsZW4gKHVz ZXJfaWQpKSk7CisrICAgICAgZWdpc19ldHU5MDVfc2V0X3ByaW50X2RhdGEgKGVucm9sbF9wcmlu dC0+cHJpbnQsIChjb25zdCBnY2hhciAqKSAmc2lkX2RhdGEucmVzZXJ2ZV9wYXJhXzQsIHVzZXJf aWQpOworKyAgICAgIGZwaV9ieXRlX3dyaXRlcl9pbml0ICgmd3JpdGVyKTsKKysgICAgICBpZiAo IWZwaV9ieXRlX3dyaXRlcl9wdXRfZGF0YSAoJndyaXRlciwgY21kX25ld19wcmludF9wcmVmaXhf dHlwZTIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtZF9uZXdfcHJp bnRfcHJlZml4X3R5cGUyX2xlbikpCisrICAgICAgICB7CisrICAgICAgICAgIGZwaV9zc21fbWFy a19mYWlsZWQgKHNzbSwgZnBpX2RldmljZV9lcnJvcl9uZXcgKEZQX0RFVklDRV9FUlJPUl9QUk9U TykpOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIH0KKysgICAgICBpZiAoIWZwaV9ieXRl X3dyaXRlcl9wdXRfZGF0YSAoJndyaXRlciwgKGd1aW50OCAqKSAmc2lkX2RhdGEsCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZiAoRWdpc21vY1NpZERhdGEpKSkK KysgICAgICAgIHsKKysgICAgICAgICAgZnBpX3NzbV9tYXJrX2ZhaWxlZCAoc3NtLCBmcGlfZGV2 aWNlX2Vycm9yX25ldyAoRlBfREVWSUNFX0VSUk9SX1BST1RPKSk7CisrICAgICAgICAgIGJyZWFr OworKyAgICAgICAgfQorKworKyAgICAgIHBheWxvYWRfbGVuZ3RoID0gZnBpX2J5dGVfd3JpdGVy X2dldF9zaXplICgmd3JpdGVyKTsKKysgICAgICBlZ2lzX2V0dTkwNV9leGVjX2NtZCAoZGV2aWNl LCBmcGlfYnl0ZV93cml0ZXJfcmVzZXRfYW5kX2dldF9kYXRhICgmd3JpdGVyKSwKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcGF5bG9hZF9sZW5ndGgsCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGdfZnJlZSwgZWdpc19ldHU5MDVfdGFza19zc21fbmV4dF9zdGF0ZV9jYik7Cisr ICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgRU5ST0xMX0NPTU1JVF9TRU5TT1JfUkVTRVQ6Cisr ICAgICAgZWdpc19ldHU5MDVfZXhlY19jbWQgKGRldmljZSwgY21kX3NlbnNvcl9yZXNldCwgY21k X3NlbnNvcl9yZXNldF9sZW4sCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIGVn aXNfZXR1OTA1X3Rhc2tfc3NtX25leHRfc3RhdGVfY2IpOworKyAgICAgIGJyZWFrOworKworKyAg ICBjYXNlIEVOUk9MTF9DT01QTEVURToKKysgICAgICBlZ2lzX2V0dTkwNV9lbnJvbGxfc3RhdHVz X3JlcG9ydCAoZGV2aWNlLCBlbnJvbGxfcHJpbnQsIEVOUk9MTF9TVEFUVVNfQ09NUExFVEUsIE5V TEwpOworKyAgICAgIGZwaV9zc21fbmV4dF9zdGF0ZSAoc3NtKTsKKysgICAgICBicmVhazsKKysg ICAgfQorK30KKysKKytzdGF0aWMgdm9pZAorK2VnaXNfZXR1OTA1X2Vucm9sbCAoRnBEZXZpY2Ug KmRldmljZSkKKyt7CisrICBGcGlEZXZpY2VFZ2lzRXR1OTA1ICpzZWxmID0gRlBJX0RFVklDRV9F R0lTX0VUVTkwNSAoZGV2aWNlKTsKKysgIEVucm9sbFByaW50ICplbnJvbGxfcHJpbnQgPSBnX25l dzAgKEVucm9sbFByaW50LCAxKTsKKysKKysgIGZwX2RiZyAoIkVucm9sbCIpOworKworKyAgZnBp X2RldmljZV9nZXRfZW5yb2xsX2RhdGEgKGRldmljZSwgJmVucm9sbF9wcmludC0+cHJpbnQpOwor KyAgZW5yb2xsX3ByaW50LT5zdGFnZSA9IDA7CisrCisrICBnX2Fzc2VydCAoc2VsZi0+dGFza19z c20gPT0gTlVMTCk7CisrICBzZWxmLT50YXNrX3NzbSA9IGZwaV9zc21fbmV3IChkZXZpY2UsIGVn aXNfZXR1OTA1X2Vucm9sbF9ydW5fc3RhdGUsIEVOUk9MTF9TVEFURVMpOworKyAgZnBpX3NzbV9z ZXRfZGF0YSAoc2VsZi0+dGFza19zc20sIGdfc3RlYWxfcG9pbnRlciAoJmVucm9sbF9wcmludCks IGdfZnJlZSk7CisrICBmcGlfc3NtX3N0YXJ0IChzZWxmLT50YXNrX3NzbSwgZWdpc19ldHU5MDVf dGFza19zc21fZG9uZSk7CisrfQorKworK3N0YXRpYyB2b2lkCisrZWdpc19ldHU5MDVfaWRlbnRp ZnlfY2hlY2tfY2IgKEZwRGV2aWNlICpkZXZpY2UsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGd1Y2hhciAgICpidWZmZXJfaW4sCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGdzaXplICAgICBsZW5ndGhfaW4sCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEdFcnJvciAgICplcnJvcikKKyt7CisrICBmcF9kYmcgKCJJZGVudGlmeSBjaGVjayBjYWxsYmFj ayIpOworKyAgRnBpRGV2aWNlRWdpc0V0dTkwNSAqc2VsZiA9IEZQSV9ERVZJQ0VfRUdJU19FVFU5 MDUgKGRldmljZSk7CisrICBnY2hhciBkZXZpY2VfcHJpbnRfaWRbRUdJU19FVFU5MDVfRklOR0VS UFJJTlRfREFUQV9TSVpFXTsKKysgIEZwUHJpbnQgKnByaW50ID0gTlVMTDsKKysgIEZwUHJpbnQg KnZlcmlmeV9wcmludCA9IE5VTEw7CisrICBHUHRyQXJyYXkgKnByaW50czsKKysgIGdib29sZWFu IGZvdW5kID0gRkFMU0U7CisrICBndWludCBpbmRleDsKKysKKysgIGlmIChlcnJvcikKKysgICAg eworKyAgICAgIGZwaV9zc21fbWFya19mYWlsZWQgKHNlbGYtPnRhc2tfc3NtLCBlcnJvcik7Cisr ICAgICAgcmV0dXJuOworKyAgICB9CisrCisrICAvKiBDaGVjayB0aGF0IHRoZSByZWFkIHBheWxv YWQgaW5kaWNhdGVzICJtYXRjaCIgKi8KKysgIGlmIChlZ2lzX2V0dTkwNV92YWxpZGF0ZV9yZXNw b25zZV9zdWZmaXggKGJ1ZmZlcl9pbiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGxlbmd0aF9pbiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJzcF9pZGVudGlmeV9tYXRjaF9zdWZmaXgsCisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByc3BfaWRlbnRpZnlfbWF0Y2hfc3VmZml4X2xl bikpCisrICAgIHsKKysgICAgICAvKgorKyAgICAgICAgIE9uIHN1Y2Nlc3MsIHRoZXJlIGlzIGEg MzIgYnl0ZSBhcnJheSBvZiAic29tZXRoaW5nIig/KSBpbiBjaGFycyAxNC00NQorKyAgICAgICAg IGFuZCB0aGVuIHRoZSAzMiBieXRlIGFycmF5IElEIG9mIHRoZSBtYXRjaGVkIHByaW50IGNvbWVz IGFzIGNoYXJzIDQ2LTc3CisrICAgICAgICovCisrICAgICAgbWVtY3B5IChkZXZpY2VfcHJpbnRf aWQsCisrICAgICAgICAgICAgICBidWZmZXJfaW4gKyBFR0lTX0VUVTkwNV9JREVOVElGWV9SRVNQ T05TRV9QUklOVF9JRF9PRkZTRVQsCisrICAgICAgICAgICAgICBFR0lTX0VUVTkwNV9GSU5HRVJQ UklOVF9EQVRBX1NJWkUpOworKworKyAgICAgIC8qIENyZWF0ZSBhIG5ldyBwcmludCBmcm9tIHRo aXMgZGV2aWNlX3ByaW50X2lkIGFuZCB0aGVuIHNlZSBpZiBpdCBtYXRjaGVzCisrICAgICAgICog dGhlIG9uZSBpbmRpY2F0ZWQKKysgICAgICAgKi8KKysgICAgICBwcmludCA9IGZwX3ByaW50X25l dyAoZGV2aWNlKTsKKysgICAgICBlZ2lzX2V0dTkwNV9zZXRfcHJpbnRfZGF0YSAocHJpbnQsIGRl dmljZV9wcmludF9pZCwgTlVMTCk7CisrCisrICAgICAgaWYgKCFwcmludCkKKysgICAgICAgIHsK KysgICAgICAgICAgZnBpX3NzbV9tYXJrX2ZhaWxlZCAoc2VsZi0+dGFza19zc20sCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGZwaV9kZXZpY2VfZXJyb3JfbmV3X21zZyAoRlBfREVW SUNFX0VSUk9SX0RBVEFfSU5WQUxJRCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIGJ1aWxkIGEgcHJpbnQgZnJvbSAi CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgImRldmljZSByZXNwb25zZS4iKSk7CisrICAgICAgICAgIHJldHVybjsKKysgICAgICAgIH0K KysKKysgICAgICBmcF9pbmZvICgiSWRlbnRpZnkgc3VjY2Vzc2Z1bCBmb3I6ICVzIiwgZnBfcHJp bnRfZ2V0X2Rlc2NyaXB0aW9uIChwcmludCkpOworKworKyAgICAgIGlmIChmcGlfZGV2aWNlX2dl dF9jdXJyZW50X2FjdGlvbiAoZGV2aWNlKSA9PSBGUElfREVWSUNFX0FDVElPTl9JREVOVElGWSkK KysgICAgICAgIHsKKysgICAgICAgICAgZnBpX2RldmljZV9nZXRfaWRlbnRpZnlfZGF0YSAoZGV2 aWNlLCAmcHJpbnRzKTsKKysgICAgICAgICAgZm91bmQgPSBnX3B0cl9hcnJheV9maW5kX3dpdGhf ZXF1YWxfZnVuYyAocHJpbnRzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBwcmludCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKEdFcXVhbEZ1bmMpIGZwX3ByaW50X2VxdWFsLAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaW5kZXgpOwor KworKyAgICAgICAgICBpZiAoZm91bmQpCisrICAgICAgICAgICAgZnBpX2RldmljZV9pZGVudGlm eV9yZXBvcnQgKGRldmljZSwgZ19wdHJfYXJyYXlfaW5kZXggKHByaW50cywgaW5kZXgpLCBwcmlu dCwgTlVMTCk7CisrICAgICAgICAgIGVsc2UKKysgICAgICAgICAgICBmcGlfZGV2aWNlX2lkZW50 aWZ5X3JlcG9ydCAoZGV2aWNlLCBOVUxMLCBwcmludCwgTlVMTCk7CisrICAgICAgICB9CisrICAg ICAgZWxzZQorKyAgICAgICAgeworKyAgICAgICAgICBmcGlfZGV2aWNlX2dldF92ZXJpZnlfZGF0 YSAoZGV2aWNlLCAmdmVyaWZ5X3ByaW50KTsKKysgICAgICAgICAgZnBfaW5mbyAoIlZlcmlmeWlu ZyBhZ2FpbnN0OiAlcyIsIGZwX3ByaW50X2dldF9kZXNjcmlwdGlvbiAodmVyaWZ5X3ByaW50KSk7 CisrCisrICAgICAgICAgIGlmIChmcF9wcmludF9lcXVhbCAodmVyaWZ5X3ByaW50LCBwcmludCkp CisrICAgICAgICAgICAgZnBpX2RldmljZV92ZXJpZnlfcmVwb3J0IChkZXZpY2UsIEZQSV9NQVRD SF9TVUNDRVNTLCBwcmludCwgTlVMTCk7CisrICAgICAgICAgIGVsc2UKKysgICAgICAgICAgICBm cGlfZGV2aWNlX3ZlcmlmeV9yZXBvcnQgKGRldmljZSwgRlBJX01BVENIX0ZBSUwsIHByaW50LCBO VUxMKTsKKysgICAgICAgIH0KKysgICAgfQorKyAgLyogSWYgZGV2aWNlIHdhcyBzdWNjZXNzZnVs bHkgcmVhZCBidXQgaXQgd2FzIGEgIm5vdCBtYXRjaGVkIiAqLworKyAgZWxzZSBpZiAoZWdpc19l dHU5MDVfdmFsaWRhdGVfcmVzcG9uc2Vfc3VmZml4IChidWZmZXJfaW4sCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aF9pbiwKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnNwX2lkZW50aWZ5X25v dG1hdGNoX3N1ZmZpeCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcnNwX2lkZW50aWZ5X25vdG1hdGNoX3N1ZmZpeF9sZW4pKQorKyAgICB7CisrICAg ICAgZnBfaW5mbyAoIlByaW50IHdhcyBub3QgaWRlbnRpZmllZCBieSB0aGUgZGV2aWNlIik7Cisr CisrICAgICAgaWYgKGZwaV9kZXZpY2VfZ2V0X2N1cnJlbnRfYWN0aW9uIChkZXZpY2UpID09IEZQ SV9ERVZJQ0VfQUNUSU9OX1ZFUklGWSkKKysgICAgICAgIGZwaV9kZXZpY2VfdmVyaWZ5X3JlcG9y dCAoZGV2aWNlLCBGUElfTUFUQ0hfRkFJTCwgTlVMTCwgTlVMTCk7CisrICAgICAgZWxzZQorKyAg ICAgICAgZnBpX2RldmljZV9pZGVudGlmeV9yZXBvcnQgKGRldmljZSwgTlVMTCwgTlVMTCwgTlVM TCk7CisrICAgIH0KKysgIGVsc2UKKysgICAgeworKyAgICAgIGZwaV9zc21fbWFya19mYWlsZWQg KHNlbGYtPnRhc2tfc3NtLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZwaV9kZXZpY2Vf ZXJyb3JfbmV3X21zZyAoRlBfREVWSUNFX0VSUk9SX1BST1RPLAorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVucmVjb2duaXplZCByZXNwb25z ZSBmcm9tIGRldmljZS4iKSk7CisrICAgICAgcmV0dXJuOworKyAgICB9CisrCisrICBmcGlfc3Nt X25leHRfc3RhdGUgKHNlbGYtPnRhc2tfc3NtKTsKKyt9CisrCisrc3RhdGljIHZvaWQKKytlZ2lz X2V0dTkwNV9pZGVudGlmeV9ydW5fc3RhdGUgKEZwaVNzbSAgICpzc20sCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBGcERldmljZSAqZGV2aWNlKQorK3sKKysgIEZwaURldmljZUVn aXNFdHU5MDUgKnNlbGYgPSBGUElfREVWSUNFX0VHSVNfRVRVOTA1IChkZXZpY2UpOworKyAgZ19h dXRvZnJlZSBndWNoYXIgKnBheWxvYWQgPSBOVUxMOworKyAgZ3NpemUgcGF5bG9hZF9sZW5ndGgg PSAwOworKworKyAgc3dpdGNoIChmcGlfc3NtX2dldF9jdXJfc3RhdGUgKHNzbSkpCisrICAgIHsK KysgICAgY2FzZSBJREVOVElGWV9HRVRfRU5ST0xMRURfSURTOgorKyAgICAgIC8qIGdldCBlbnJv bGxlZF9pZHMgZnJvbSBkZXZpY2UgZm9yIHVzZSBpbiBjaGVjayBzdGFnZXMgYmVsb3cgKi8KKysg ICAgICBlZ2lzX2V0dTkwNV9leGVjX2NtZCAoZGV2aWNlLCBjbWRfbGlzdCwgY21kX2xpc3RfbGVu LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBlZ2lzX2V0dTkwNV9saXN0X2Zp bGxfZW5yb2xsZWRfaWRzX2NiKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBJREVOVElG WV9DSEVDS19FTlJPTExFRF9OVU06CisrICAgICAgaWYgKHNlbGYtPmVucm9sbGVkX2lkcy0+bGVu ID09IDApCisrICAgICAgICB7CisrICAgICAgICAgIGZwaV9zc21fbWFya19mYWlsZWQgKGdfc3Rl YWxfcG9pbnRlciAoJnNlbGYtPnRhc2tfc3NtKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZnBpX2RldmljZV9lcnJvcl9uZXcgKEZQX0RFVklDRV9FUlJPUl9EQVRBX05PVF9GT1VO RCkpOworKyAgICAgICAgICByZXR1cm47CisrICAgICAgICB9CisrICAgICAgZnBpX3NzbV9uZXh0 X3N0YXRlIChzc20pOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIElERU5USUZZX1NFTlNP Ul9SRVNFVDoKKysgICAgICBlZ2lzX2V0dTkwNV9leGVjX2NtZCAoZGV2aWNlLCBjbWRfc2Vuc29y X3Jlc2V0LCBjbWRfc2Vuc29yX3Jlc2V0X2xlbiwKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTlVMTCwgZWdpc19ldHU5MDVfdGFza19zc21fbmV4dF9zdGF0ZV9jYik7CisrICAgICAgYnJl YWs7CisrCisrICAgIGNhc2UgSURFTlRJRllfU0VOU09SX0lERU5USUZZOgorKyAgICAgIGVnaXNf ZXR1OTA1X2V4ZWNfY21kIChkZXZpY2UsIGNtZF9zZW5zb3JfaWRlbnRpZnksIGNtZF9zZW5zb3Jf aWRlbnRpZnlfbGVuLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBlZ2lzX2V0 dTkwNV90YXNrX3NzbV9uZXh0X3N0YXRlX2NiKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2Fz ZSBJREVOVElGWV9XQUlUX0ZJTkdFUjoKKysgICAgICBlZ2lzX2V0dTkwNV93YWl0X2Zpbmdlcl9v bl9zZW5zb3IgKHNzbSwgZGV2aWNlKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBJREVO VElGWV9TRU5TT1JfQ0hFQ0s6CisrICAgICAgZWdpc19ldHU5MDVfZXhlY19jbWQgKGRldmljZSwg Y21kX3NlbnNvcl9jaGVjaywgY21kX3NlbnNvcl9jaGVja19sZW4sCisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgIE5VTEwsIGVnaXNfZXR1OTA1X3Rhc2tfc3NtX25leHRfc3RhdGVfY2IpOwor KyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIElERU5USUZZX0NIRUNLOgorKyAgICAgIHBheWxv YWQgPSBlZ2lzX2V0dTkwNV9nZXRfY2hlY2tfY21kIChkZXZpY2UsICZwYXlsb2FkX2xlbmd0aCk7 CisrICAgICAgZWdpc19ldHU5MDVfZXhlY19jbWQgKGRldmljZSwgZ19zdGVhbF9wb2ludGVyICgm cGF5bG9hZCksIHBheWxvYWRfbGVuZ3RoLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBn X2ZyZWUsIGVnaXNfZXR1OTA1X2lkZW50aWZ5X2NoZWNrX2NiKTsKKysgICAgICBicmVhazsKKysK KysgICAgY2FzZSBJREVOVElGWV9DT01QTEVURV9TRU5TT1JfUkVTRVQ6CisrICAgICAgZWdpc19l dHU5MDVfZXhlY19jbWQgKGRldmljZSwgY21kX3NlbnNvcl9yZXNldCwgY21kX3NlbnNvcl9yZXNl dF9sZW4sCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIGVnaXNfZXR1OTA1X3Rh c2tfc3NtX25leHRfc3RhdGVfY2IpOworKyAgICAgIGJyZWFrOworKworKyAgICAvKgorKyAgICAg KiBJbiBXaW5kb3dzLCB0aGUgZHJpdmVyIHNlZW1zIGF0IHRoaXMgcG9pbnQgdG8gdGhlbiBpbW1l ZGlhdGVseSB0YWtlCisrICAgICAqIGFub3RoZXIgcmVhZCBmcm9tIHRoZSBzZW5zb3I7IHRoaXMg aXMgc3VzcGVjdGVkIHRvIGJlIGFuIG9uLWNoaXAKKysgICAgICogInZlcmlmeSIuIEhvd2V2ZXIs IGJlY2F1c2UgdGhlIHVzZXIncyBmaW5nZXIgaXMgc3RpbGwgb24gdGhlIHNlbnNvciBmcm9tCisr ICAgICAqIHRoZSBpZGVudGlmeSwgdGhlbiBpdCBzZWVtcyB0byBhbHdheXMgcmV0dXJuIHBvc2l0 aXZlLiBXZSB3aWxsIGNvbnNpZGVyCisrICAgICAqIHRoaXMgZXh0cmEgc3RlcCB1bm5lY2Vzc2Fy eSBhbmQganVzdCBza2lwIGl0IGluIHRoaXMgZHJpdmVyLiBUaGlzIGRyaXZlcgorKyAgICAgKiB3 aWxsIGluc3RlYWQgaGFuZGxlIG1hdGNoaW5nIG9mIHRoZSBGcFByaW50IGZyb20gdGhlIGdhbGxl cnkgaW4gdGhlCisrICAgICAqICJ2ZXJpZnkiIGNhc2Ugb2YgdGhlIGNhbGxiYWNrIGVnaXNfZXR1 OTA1X2lkZW50aWZ5X2NoZWNrX2NiLgorKyAgICAgKi8KKysgICAgY2FzZSBJREVOVElGWV9DT01Q TEVURToKKysgICAgICBpZiAoZnBpX2RldmljZV9nZXRfY3VycmVudF9hY3Rpb24gKGRldmljZSkg PT0gRlBJX0RFVklDRV9BQ1RJT05fSURFTlRJRlkpCisrICAgICAgICBmcGlfZGV2aWNlX2lkZW50 aWZ5X2NvbXBsZXRlIChkZXZpY2UsIE5VTEwpOworKyAgICAgIGVsc2UKKysgICAgICAgIGZwaV9k ZXZpY2VfdmVyaWZ5X2NvbXBsZXRlIChkZXZpY2UsIE5VTEwpOworKworKyAgICAgIGZwaV9zc21f bWFya19jb21wbGV0ZWQgKHNzbSk7CisrICAgICAgYnJlYWs7CisrICAgIH0KKyt9CisrCisrc3Rh dGljIHZvaWQKKytlZ2lzX2V0dTkwNV9pZGVudGlmeV92ZXJpZnkgKEZwRGV2aWNlICpkZXZpY2Up CisreworKyAgZnBfZGJnICgiSWRlbnRpZnkgb3IgVmVyaWZ5Iik7CisrICBGcGlEZXZpY2VFZ2lz RXR1OTA1ICpzZWxmID0gRlBJX0RFVklDRV9FR0lTX0VUVTkwNSAoZGV2aWNlKTsKKysKKysgIGdf YXNzZXJ0IChzZWxmLT50YXNrX3NzbSA9PSBOVUxMKTsKKysgIHNlbGYtPnRhc2tfc3NtID0gZnBp X3NzbV9uZXcgKGRldmljZSwgZWdpc19ldHU5MDVfaWRlbnRpZnlfcnVuX3N0YXRlLCBJREVOVElG WV9TVEFURVMpOworKyAgZnBpX3NzbV9zdGFydCAoc2VsZi0+dGFza19zc20sIGVnaXNfZXR1OTA1 X3Rhc2tfc3NtX2RvbmUpOworK30KKysKKytzdGF0aWMgdm9pZAorK2VnaXNfZXR1OTA1X2Z3X3Zl cnNpb25fY2IgKEZwRGV2aWNlICpkZXZpY2UsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg Z3VjaGFyICAgKmJ1ZmZlcl9pbiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBnc2l6ZSAg ICAgbGVuZ3RoX2luLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEdFcnJvciAgICplcnJv cikKKyt7CisrICBmcF9kYmcgKCJGaXJtd2FyZSB2ZXJzaW9uIGNhbGxiYWNrIik7CisrICBGcGlE ZXZpY2VFZ2lzRXR1OTA1ICpzZWxmID0gRlBJX0RFVklDRV9FR0lTX0VUVTkwNSAoZGV2aWNlKTsK KysgIGdfYXV0b2ZyZWUgZ2NoYXIgKmZ3X3ZlcnNpb24gPSBOVUxMOworKyAgZ3NpemUgcHJlZml4 X2xlbmd0aDsKKysgIGd1Y2hhciAqZndfdmVyc2lvbl9zdGFydDsKKysgIGdzaXplIGZ3X3ZlcnNp b25fbGVuZ3RoOworKworKyAgaWYgKGVycm9yKQorKyAgICB7CisrICAgICAgZnBpX3NzbV9tYXJr X2ZhaWxlZCAoc2VsZi0+dGFza19zc20sIGVycm9yKTsKKysgICAgICByZXR1cm47CisrICAgIH0K KysKKysgIC8qIENoZWNrIHRoYXQgdGhlIHJlYWQgcGF5bG9hZCBpbmRpY2F0ZXMgInN1Y2Nlc3Mi ICovCisrICBpZiAoIWVnaXNfZXR1OTA1X3ZhbGlkYXRlX3Jlc3BvbnNlX3N1ZmZpeCAoYnVmZmVy X2luLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0 aF9pbiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByc3Bf ZndfdmVyc2lvbl9zdWZmaXgsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcnNwX2Z3X3ZlcnNpb25fc3VmZml4X2xlbikpCisrICAgIHsKKysgICAgICBmcGlf c3NtX21hcmtfZmFpbGVkIChzZWxmLT50YXNrX3NzbSwKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICBmcGlfZGV2aWNlX2Vycm9yX25ld19tc2cgKEZQX0RFVklDRV9FUlJPUl9QUk9UTywKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJEZXZp Y2UgZmlybXdhcmUgcmVzcG9uc2UgIgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIndhcyBub3QgdmFsaWQuIikpOworKyAgICAgIHJldHVybjsK KysgICAgfQorKworKyAgLyoKKysgICAqIEZXIFZlcnNpb24gaXMgMTIgYnl0ZXM6IGEgY2Fycmlh Z2UgcmV0dXJuICgweDBkKSBwbHVzIHRoZSB2ZXJzaW9uIHN0cmluZworKyAgICogaXRzZWxmLiBB bHdheXMgc2tpcCBbdGhlIHJlYWQgcHJlZml4XSArIFsyICogY2hlY2sgYnl0ZXNdICsgWzMgKiAw eDAwXSB0aGF0CisrICAgKiBjb21lIHdpdGggZXZlcnkgcGF5bG9hZCBUaGVuIHdlIHdpbGwgYWxz byBza2lwIHRoZSBjYXJyaWFnZSByZXR1cm4gYW5kIHRha2UKKysgICAqIGFsbCBidXQgdGhlIGxh c3QgMiBieXRlcyBhcyB0aGUgRlcgVmVyc2lvbgorKyAgICovCisrICBwcmVmaXhfbGVuZ3RoID0g ZWdpc19ldHU5MDVfcmVhZF9wcmVmaXhfbGVuICsgMiArIDMgKyAxOworKyAgZndfdmVyc2lvbl9z dGFydCA9IGJ1ZmZlcl9pbiArIHByZWZpeF9sZW5ndGg7CisrICBmd192ZXJzaW9uX2xlbmd0aCA9 IGxlbmd0aF9pbiAtIHByZWZpeF9sZW5ndGggLSByc3BfZndfdmVyc2lvbl9zdWZmaXhfbGVuOwor KyAgZndfdmVyc2lvbiA9IGdfc3RybmR1cCAoKGdjaGFyICopIGZ3X3ZlcnNpb25fc3RhcnQsIGZ3 X3ZlcnNpb25fbGVuZ3RoKTsKKysKKysgIGZwX2luZm8gKCJEZXZpY2UgZmlybXdhcmUgdmVyc2lv biBpcyAlcyIsIGZ3X3ZlcnNpb24pOworKworKyAgZnBpX3NzbV9uZXh0X3N0YXRlIChzZWxmLT50 YXNrX3NzbSk7CisrfQorKworK3N0YXRpYyB2b2lkCisrZWdpc19ldHU5MDVfY21kX2luaXRfY2Ig KEZwRGV2aWNlICpkZXZpY2UsCisrICAgICAgICAgICAgICAgICAgICAgICAgIGd1Y2hhciAgICpi dWZmZXJfaW4sCisrICAgICAgICAgICAgICAgICAgICAgICAgIGdzaXplICAgICBsZW5ndGhfaW4s CisrICAgICAgICAgICAgICAgICAgICAgICAgIEdFcnJvciAgICplcnJvcikKKyt7CisrICBmcF9k YmcgKCJjbWQgaW5pdCBjYWxsYmFjayIpOworKyAgRnBpRGV2aWNlRWdpc0V0dTkwNSAqc2VsZiA9 IEZQSV9ERVZJQ0VfRUdJU19FVFU5MDUgKGRldmljZSk7CisrCisrICBpZiAoZXJyb3IpCisrICAg IHsKKysgICAgICBmcGlfc3NtX21hcmtfZmFpbGVkIChzZWxmLT50YXNrX3NzbSwgZXJyb3IpOwor KyAgICAgIHJldHVybjsKKysgICAgfQorKworKyAgLyogQ2hlY2sgdGhhdCB0aGUgcmVhZCBwYXls b2FkIGluZGljYXRlcyAic3VjY2VzcyIgKi8KKysgIGlmICghZWdpc19ldHU5MDVfdmFsaWRhdGVf cmVzcG9uc2Vfc3VmZml4IChidWZmZXJfaW4sCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbGVuZ3RoX2luLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHJzcF9md192ZXJzaW9uX3N1ZmZpeCwKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByc3BfZndfdmVyc2lvbl9zdWZmaXhfbGVu KSkKKysgICAgeworKyAgICAgIGZwaV9zc21fbWFya19mYWlsZWQgKHNlbGYtPnRhc2tfc3NtLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZwaV9kZXZpY2VfZXJyb3JfbmV3X21zZyAoRlBf REVWSUNFX0VSUk9SX1BST1RPLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgImNtZCBpbml0IHJlc3BvbnNlICIKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3YXMgbm90IHZhbGlkLiIpKTsK KysgICAgICByZXR1cm47CisrICAgIH0KKysgIGZwaV9zc21fbmV4dF9zdGF0ZSAoc2VsZi0+dGFz a19zc20pOworK30KKysKKytzdGF0aWMgdm9pZAorK2VnaXNfZXR1OTA1X2Rldl9pbml0X2RvbmUg KEZwaVNzbSAgICpzc20sCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgRnBEZXZpY2UgKmRl dmljZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBHRXJyb3IgICAqZXJyb3IpCisrewor KyAgaWYgKGVycm9yKQorKyAgICB7CisrICAgICAgZ191c2JfZGV2aWNlX3JlbGVhc2VfaW50ZXJm YWNlICgKKysgICAgICAgIGZwaV9kZXZpY2VfZ2V0X3VzYl9kZXZpY2UgKGRldmljZSksIDAsIDAs IE5VTEwpOworKyAgICAgIGVnaXNfZXR1OTA1X3Rhc2tfc3NtX2RvbmUgKHNzbSwgZGV2aWNlLCBl cnJvcik7CisrICAgICAgcmV0dXJuOworKyAgICB9CisrCisrICBlZ2lzX2V0dTkwNV90YXNrX3Nz bV9kb25lIChzc20sIGRldmljZSwgTlVMTCk7CisrICBmcGlfZGV2aWNlX29wZW5fY29tcGxldGUg KGRldmljZSwgTlVMTCk7CisrfQorKworK3N0YXRpYyB2b2lkCisrZWdpc19ldHU5MDVfZGV2X2lu aXRfaGFuZGxlciAoRnBpU3NtICAgKnNzbSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBGcERldmljZSAqZGV2aWNlKQorK3sKKysgIGdfYXV0b3B0cihGcGlVc2JUcmFuc2ZlcikgdHJh bnNmZXIgPSBOVUxMOworKworKyAgc3dpdGNoIChmcGlfc3NtX2dldF9jdXJfc3RhdGUgKHNzbSkp CisrICAgIHsKKysgICAgY2FzZSBERVZfR0VUX0ZXX1ZFUlNJT046CisrICAgICAgZWdpc19ldHU5 MDVfZXhlY19jbWQgKGRldmljZSwgY21kX2Z3X3ZlcnNpb24sIGNtZF9md192ZXJzaW9uX2xlbiwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgZWdpc19ldHU5MDVfZndfdmVyc2lv bl9jYik7CisrICAgICAgcmV0dXJuOworKworKyAgICBjYXNlIERFVl9JTklUX0NPTlRST0w6Cisr ICAgICAgZWdpc19ldHU5MDVfZXhlY19jbWQgKGRldmljZSwgY21kX2luaXQsIGNtZF9pbml0X2xl biwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgZWdpc19ldHU5MDVfY21kX2lu aXRfY2IpOworKyAgICAgIHJldHVybjsKKysKKysgICAgZGVmYXVsdDoKKysgICAgICBnX2Fzc2Vy dF9ub3RfcmVhY2hlZCAoKTsKKysgICAgfQorKworKyAgdHJhbnNmZXIgPSBmcGlfdXNiX3RyYW5z ZmVyX25ldyAoZGV2aWNlKTsKKysgIHRyYW5zZmVyLT5zc20gPSBzc207CisrICB0cmFuc2Zlci0+ c2hvcnRfaXNfZXJyb3IgPSBUUlVFOworKyAgZnBpX3VzYl90cmFuc2Zlcl9zdWJtaXQgKGdfc3Rl YWxfcG9pbnRlciAoJnRyYW5zZmVyKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBFR0lT X0VUVTkwNV9VU0JfQ09OVFJPTF9USU1FT1VULAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg IGZwaV9kZXZpY2VfZ2V0X2NhbmNlbGxhYmxlIChkZXZpY2UpLAorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgIGZwaV9zc21fdXNiX3RyYW5zZmVyX2NiLAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIE5VTEwpOworK30KKysKKytzdGF0aWMgdm9pZAorK2VnaXNfZXR1OTA1X3Byb2JlIChG cERldmljZSAqZGV2aWNlKQorK3sKKysgIEdVc2JEZXZpY2UgKnVzYl9kZXY7CisrICBHRXJyb3Ig KmVycm9yID0gTlVMTDsKKysgIGdfYXV0b2ZyZWUgZ2NoYXIgKnNlcmlhbCA9IE5VTEw7CisrICBG cGlEZXZpY2VFZ2lzRXR1OTA1ICpzZWxmID0gRlBJX0RFVklDRV9FR0lTX0VUVTkwNSAoZGV2aWNl KTsKKysKKysgIGZwX2RiZyAoIiVzIGVudGVyIC0tPiAiLCBHX1NUUkZVTkMpOworKworKyAgLyog Q2xhaW0gdXNiIGludGVyZmFjZSAqLworKyAgdXNiX2RldiA9IGZwaV9kZXZpY2VfZ2V0X3VzYl9k ZXZpY2UgKGRldmljZSk7CisrICBpZiAoIWdfdXNiX2RldmljZV9vcGVuICh1c2JfZGV2LCAmZXJy b3IpKQorKyAgICB7CisrICAgICAgZnBfZGJnICgiJXMgZ191c2JfZGV2aWNlX29wZW4gZmFpbGVk ICVzIiwgR19TVFJGVU5DLCBlcnJvci0+bWVzc2FnZSk7CisrICAgICAgZnBpX2RldmljZV9wcm9i ZV9jb21wbGV0ZSAoZGV2aWNlLCBOVUxMLCBOVUxMLCBlcnJvcik7CisrICAgICAgcmV0dXJuOwor KyAgICB9CisrCisrICBpZiAoIWdfdXNiX2RldmljZV9yZXNldCAodXNiX2RldiwgJmVycm9yKSkK KysgICAgeworKyAgICAgIGZwX2RiZyAoIiVzIGdfdXNiX2RldmljZV9yZXNldCBmYWlsZWQgJXMi LCBHX1NUUkZVTkMsIGVycm9yLT5tZXNzYWdlKTsKKysgICAgICBnX3VzYl9kZXZpY2VfY2xvc2Ug KHVzYl9kZXYsIE5VTEwpOworKyAgICAgIGZwaV9kZXZpY2VfcHJvYmVfY29tcGxldGUgKGRldmlj ZSwgTlVMTCwgTlVMTCwgZXJyb3IpOworKyAgICAgIHJldHVybjsKKysgICAgfQorKworKyAgaWYg KCFnX3VzYl9kZXZpY2VfY2xhaW1faW50ZXJmYWNlICh1c2JfZGV2LCAwLCAwLCAmZXJyb3IpKQor KyAgICB7CisrICAgICAgZnBfZGJnICgiJXMgZ191c2JfZGV2aWNlX2NsYWltX2ludGVyZmFjZSBm YWlsZWQgJXMiLCBHX1NUUkZVTkMsIGVycm9yLT5tZXNzYWdlKTsKKysgICAgICBnX3VzYl9kZXZp Y2VfY2xvc2UgKHVzYl9kZXYsIE5VTEwpOworKyAgICAgIGZwaV9kZXZpY2VfcHJvYmVfY29tcGxl dGUgKGRldmljZSwgTlVMTCwgTlVMTCwgZXJyb3IpOworKyAgICAgIHJldHVybjsKKysgICAgfQor KworKyAgaWYgKGdfc3RyY21wMCAoZ19nZXRlbnYgKCJGUF9ERVZJQ0VfRU1VTEFUSU9OIiksICIx IikgPT0gMCkKKysgICAgc2VyaWFsID0gZ19zdHJkdXAgKCJlbXVsYXRlZC1kZXZpY2UiKTsKKysg IGVsc2UKKysgICAgc2VyaWFsID0gZ191c2JfZGV2aWNlX2dldF9zdHJpbmdfZGVzY3JpcHRvciAo dXNiX2RldiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZ191c2JfZGV2aWNlX2dldF9zZXJpYWxfbnVtYmVyX2luZGV4ICh1c2JfZGV2KSwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmVycm9yKTsKKysK KysgIGlmIChlcnJvcikKKysgICAgeworKyAgICAgIGZwX2RiZyAoIiVzIGdfdXNiX2RldmljZV9n ZXRfc3RyaW5nX2Rlc2NyaXB0b3IgZmFpbGVkICVzIiwgR19TVFJGVU5DLCBlcnJvci0+bWVzc2Fn ZSk7CisrICAgICAgZ191c2JfZGV2aWNlX3JlbGVhc2VfaW50ZXJmYWNlIChmcGlfZGV2aWNlX2dl dF91c2JfZGV2aWNlIChGUF9ERVZJQ0UgKGRldmljZSkpLAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMCwgMCwgTlVMTCk7CisrICAgICAgZ191c2JfZGV2aWNlX2Nsb3Nl ICh1c2JfZGV2LCBOVUxMKTsKKysgICAgICBmcGlfZGV2aWNlX3Byb2JlX2NvbXBsZXRlIChkZXZp Y2UsIE5VTEwsIE5VTEwsIGVycm9yKTsKKysgICAgICByZXR1cm47CisrICAgIH0KKysKKysgIGlm IChmcGlfZGV2aWNlX2dldF9kcml2ZXJfZGF0YSAoZGV2aWNlKSAmIEVHSVNfRVRVOTA1X0RSSVZF Ul9NQVhfRU5ST0xMX1NUQUdFU18yMCkKKysgICAgc2VsZi0+bWF4X2Vucm9sbF9zdGFnZXMgPSAy MDsKKysgIGVsc2UKKysgICAgc2VsZi0+bWF4X2Vucm9sbF9zdGFnZXMgPSBFR0lTX0VUVTkwNV9N QVhfRU5ST0xMX1NUQUdFU19ERUZBVUxUOworKworKyAgZnBpX2RldmljZV9zZXRfbnJfZW5yb2xs X3N0YWdlcyAoZGV2aWNlLCBzZWxmLT5tYXhfZW5yb2xsX3N0YWdlcyk7CisrCisrICBnX3VzYl9k ZXZpY2VfcmVsZWFzZV9pbnRlcmZhY2UgKGZwaV9kZXZpY2VfZ2V0X3VzYl9kZXZpY2UgKEZQX0RF VklDRSAoZGV2aWNlKSksIDAsIDAsIE5VTEwpOworKyAgZ191c2JfZGV2aWNlX2Nsb3NlICh1c2Jf ZGV2LCBOVUxMKTsKKysKKysgIGZwaV9kZXZpY2VfcHJvYmVfY29tcGxldGUgKGRldmljZSwgc2Vy aWFsLCBOVUxMLCBlcnJvcik7CisrfQorKworK3N0YXRpYyB2b2lkCisrZWdpc19ldHU5MDVfb3Bl biAoRnBEZXZpY2UgKmRldmljZSkKKyt7CisrICBmcF9kYmcgKCJPcGVuaW5nIGRldmljZSIpOwor KyAgRnBpRGV2aWNlRWdpc0V0dTkwNSAqc2VsZiA9IEZQSV9ERVZJQ0VfRUdJU19FVFU5MDUgKGRl dmljZSk7CisrICBnX2F1dG9wdHIoR0Vycm9yKSBlcnJvciA9IE5VTEw7CisrCisrICBpZiAoIWdf dXNiX2RldmljZV9yZXNldCAoZnBpX2RldmljZV9nZXRfdXNiX2RldmljZSAoZGV2aWNlKSwgJmVy cm9yKSkKKysgICAgeworKyAgICAgIGZwaV9kZXZpY2Vfb3Blbl9jb21wbGV0ZSAoZGV2aWNlLCBn X3N0ZWFsX3BvaW50ZXIgKCZlcnJvcikpOworKyAgICAgIHJldHVybjsKKysgICAgfQorKworKyAg aWYgKCFnX3VzYl9kZXZpY2VfY2xhaW1faW50ZXJmYWNlIChmcGlfZGV2aWNlX2dldF91c2JfZGV2 aWNlIChkZXZpY2UpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAw LCAmZXJyb3IpKQorKyAgICB7CisrICAgICAgZnBpX2RldmljZV9vcGVuX2NvbXBsZXRlIChkZXZp Y2UsIGdfc3RlYWxfcG9pbnRlciAoJmVycm9yKSk7CisrICAgICAgcmV0dXJuOworKyAgICB9Cisr CisrICBnX2Fzc2VydCAoc2VsZi0+dGFza19zc20gPT0gTlVMTCk7CisrICBzZWxmLT50YXNrX3Nz bSA9IGZwaV9zc21fbmV3IChkZXZpY2UsIGVnaXNfZXR1OTA1X2Rldl9pbml0X2hhbmRsZXIsIERF Vl9JTklUX1NUQVRFUyk7CisrICBmcGlfc3NtX3N0YXJ0IChzZWxmLT50YXNrX3NzbSwgZWdpc19l dHU5MDVfZGV2X2luaXRfZG9uZSk7CisrfQorKworK3N0YXRpYyB2b2lkCisrZWdpc19ldHU5MDVf Y2FuY2VsIChGcERldmljZSAqZGV2aWNlKQorK3sKKysgIGZwX2RiZyAoIkNhbmNlbCIpOworKyAg RnBpRGV2aWNlRWdpc0V0dTkwNSAqc2VsZiA9IEZQSV9ERVZJQ0VfRUdJU19FVFU5MDUgKGRldmlj ZSk7CisrCisrICBnX2NhbmNlbGxhYmxlX2NhbmNlbCAoc2VsZi0+aW50ZXJydXB0X2NhbmNlbGxh YmxlKTsKKysgIGdfY2xlYXJfb2JqZWN0ICgmc2VsZi0+aW50ZXJydXB0X2NhbmNlbGxhYmxlKTsK KysgIHNlbGYtPmludGVycnVwdF9jYW5jZWxsYWJsZSA9IGdfY2FuY2VsbGFibGVfbmV3ICgpOwor K30KKysKKytzdGF0aWMgdm9pZAorK2VnaXNfZXR1OTA1X3N1c3BlbmQgKEZwRGV2aWNlICpkZXZp Y2UpCisreworKyAgZnBfZGJnICgiU3VzcGVuZCIpOworKworKyAgZWdpc19ldHU5MDVfY2FuY2Vs IChkZXZpY2UpOworKyAgZ19jYW5jZWxsYWJsZV9jYW5jZWwgKGZwaV9kZXZpY2VfZ2V0X2NhbmNl bGxhYmxlIChkZXZpY2UpKTsKKysgIGZwaV9kZXZpY2Vfc3VzcGVuZF9jb21wbGV0ZSAoZGV2aWNl LCBOVUxMKTsKKyt9CisrCisrc3RhdGljIHZvaWQKKytlZ2lzX2V0dTkwNV9jbG9zZSAoRnBEZXZp Y2UgKmRldmljZSkKKyt7CisrICBnX2F1dG9wdHIoR0Vycm9yKSBlcnJvciA9IE5VTEw7CisrICBm cF9kYmcgKCJDbG9zaW5nIGRldmljZSIpOworKyAgRnBpRGV2aWNlRWdpc0V0dTkwNSAqc2VsZiA9 IEZQSV9ERVZJQ0VfRUdJU19FVFU5MDUgKGRldmljZSk7CisrICBHRXJyb3IgKmVycm9yID0gTlVM TDsKKysKKysgIGVnaXNfZXR1OTA1X2NhbmNlbCAoZGV2aWNlKTsKKysgIGdfY2xlYXJfb2JqZWN0 ICgmc2VsZi0+aW50ZXJydXB0X2NhbmNlbGxhYmxlKTsKKysKKysgIGdfdXNiX2RldmljZV9yZWxl YXNlX2ludGVyZmFjZSAoZnBpX2RldmljZV9nZXRfdXNiX2RldmljZSAoZGV2aWNlKSwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMCwgJmVycm9yKTsKKysgIGZwaV9kZXZp Y2VfY2xvc2VfY29tcGxldGUgKGRldmljZSwgZ19zdGVhbF9wb2ludGVyICgmZXJyb3IpKTsKKyt9 CisrCisrc3RhdGljIHZvaWQKKytmcGlfZGV2aWNlX2VnaXNfZXR1OTA1X2luaXQgKEZwaURldmlj ZUVnaXNFdHU5MDUgKnNlbGYpCisreworKyAgR19ERUJVR19IRVJFICgpOworK30KKysKKytzdGF0 aWMgdm9pZAorK2ZwaV9kZXZpY2VfZWdpc19ldHU5MDVfY2xhc3NfaW5pdCAoRnBpRGV2aWNlRWdp c0V0dTkwNUNsYXNzICprbGFzcykKKyt7CisrICBGcERldmljZUNsYXNzICpkZXZfY2xhc3MgPSBG UF9ERVZJQ0VfQ0xBU1MgKGtsYXNzKTsKKysKKysgIGRldl9jbGFzcy0+aWQgPSBGUF9DT01QT05F TlQ7CisrICBkZXZfY2xhc3MtPmZ1bGxfbmFtZSA9IEVHSVNfRVRVOTA1X0RSSVZFUl9GVUxMTkFN RTsKKysKKysgIGRldl9jbGFzcy0+dHlwZSA9IEZQX0RFVklDRV9UWVBFX1VTQjsKKysgIGRldl9j bGFzcy0+c2Nhbl90eXBlID0gRlBfU0NBTl9UWVBFX1BSRVNTOworKyAgZGV2X2NsYXNzLT5pZF90 YWJsZSA9IGVnaXNfZXR1OTA1X2lkX3RhYmxlOworKyAgZGV2X2NsYXNzLT5ucl9lbnJvbGxfc3Rh Z2VzID0gRUdJU19FVFU5MDVfTUFYX0VOUk9MTF9TVEFHRVNfREVGQVVMVDsKKysgIGRldl9jbGFz cy0+dGVtcF9ob3Rfc2Vjb25kcyA9IC0xOworKworKyAgZGV2X2NsYXNzLT5wcm9iZSA9IGVnaXNf ZXR1OTA1X3Byb2JlOworKyAgZGV2X2NsYXNzLT5vcGVuID0gZWdpc19ldHU5MDVfb3BlbjsKKysg IGRldl9jbGFzcy0+Y2FuY2VsID0gZWdpc19ldHU5MDVfY2FuY2VsOworKyAgZGV2X2NsYXNzLT5z dXNwZW5kID0gZWdpc19ldHU5MDVfc3VzcGVuZDsKKysgIGRldl9jbGFzcy0+Y2xvc2UgPSBlZ2lz X2V0dTkwNV9jbG9zZTsKKysgIGRldl9jbGFzcy0+aWRlbnRpZnkgPSBlZ2lzX2V0dTkwNV9pZGVu dGlmeV92ZXJpZnk7CisrICBkZXZfY2xhc3MtPnZlcmlmeSA9IGVnaXNfZXR1OTA1X2lkZW50aWZ5 X3ZlcmlmeTsKKysgIGRldl9jbGFzcy0+ZW5yb2xsID0gZWdpc19ldHU5MDVfZW5yb2xsOworKyAg ZGV2X2NsYXNzLT5kZWxldGUgPSBlZ2lzX2V0dTkwNV9kZWxldGU7CisrICBkZXZfY2xhc3MtPmNs ZWFyX3N0b3JhZ2UgPSBlZ2lzX2V0dTkwNV9jbGVhcl9zdG9yYWdlOworKyAgZGV2X2NsYXNzLT5s aXN0ID0gZWdpc19ldHU5MDVfbGlzdDsKKysKKysgIGZwaV9kZXZpY2VfY2xhc3NfYXV0b19pbml0 aWFsaXplX2ZlYXR1cmVzIChkZXZfY2xhc3MpOworKyAgZGV2X2NsYXNzLT5mZWF0dXJlcyB8PSBG UF9ERVZJQ0VfRkVBVFVSRV9EVVBMSUNBVEVTX0NIRUNLOworK30KK2RpZmYgLS1naXQgYS9saWJm cHJpbnQvZHJpdmVycy9lZ2lzbW9jL2VnaXNfZXR1OTA1LmggYi9saWJmcHJpbnQvZHJpdmVycy9l Z2lzbW9jL2VnaXNfZXR1OTA1LmgKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAw MC4uZTkzMWRlY2EKKy0tLSAvZGV2L251bGwKKysrKyBiL2xpYmZwcmludC9kcml2ZXJzL2VnaXNt b2MvZWdpc19ldHU5MDUuaAorQEAgLTAsMCArMSwyMTQgQEAKKysvKgorKyAqIERyaXZlciBmb3Ig RWdpcyBUZWNobm9sb2d5IChMaWdoVHVuaW5nKSBNYXRjaC1Pbi1DaGlwIHNlbnNvcnMKKysgKgor KyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IKKysgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2Vy IEdlbmVyYWwgUHVibGljCisrICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisrICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2Us IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrICoKKysgKiBUaGlzIGxp YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK KysgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgorKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisrICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KKysgKgorKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh IGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKysgKiBMaWNlbnNlIGFsb25n IHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisr ICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9z dG9uLCBNQSAwMjExMC0xMzAxIFVTQQorKyAqLworKworKyNwcmFnbWEgb25jZQorKworKyNpbmNs dWRlICJmcGktZGV2aWNlLmgiCisrI2luY2x1ZGUgImZwaS1zc20uaCIKKysKKytHX0RFQ0xBUkVf RklOQUxfVFlQRSAoRnBpRGV2aWNlRWdpc0V0dTkwNSwgZnBpX2RldmljZV9lZ2lzX2V0dTkwNSwg RlBJLCBERVZJQ0VfRUdJU19FVFU5MDUsIEZwRGV2aWNlKQorKworKyNkZWZpbmUgRUdJU19FVFU5 MDVfRFJJVkVSX0ZVTExOQU1FICJFZ2lzIFRlY2hub2xvZ3kgKExpZ2hUdW5pbmcpIE1hdGNoLW9u LUNoaXAiCisrCisrI2RlZmluZSBFR0lTX0VUVTkwNV9EUklWRVJfQ0hFQ0tfUFJFRklYX1RZUEUx ICgxIDw8IDApCisrI2RlZmluZSBFR0lTX0VUVTkwNV9EUklWRVJfQ0hFQ0tfUFJFRklYX1RZUEUy ICgxIDw8IDEpCisrI2RlZmluZSBFR0lTX0VUVTkwNV9EUklWRVJfTUFYX0VOUk9MTF9TVEFHRVNf MjAgKDEgPDwgMikKKysKKysjZGVmaW5lIEVHSVNfRVRVOTA1X0VQX0NNRF9PVVQgKDB4MDIgfCBG UElfVVNCX0VORFBPSU5UX09VVCkKKysjZGVmaW5lIEVHSVNfRVRVOTA1X0VQX0NNRF9JTiAoMHg4 MSB8IEZQSV9VU0JfRU5EUE9JTlRfSU4pCisrI2RlZmluZSBFR0lTX0VUVTkwNV9FUF9DTURfSU5U RVJSVVBUX0lOIDB4ODMKKysKKysjZGVmaW5lIEVHSVNfRVRVOTA1X1VTQl9DT05UUk9MX1RJTUVP VVQgNTAwMAorKyNkZWZpbmUgRUdJU19FVFU5MDVfVVNCX1NFTkRfVElNRU9VVCA1MDAwCisrI2Rl ZmluZSBFR0lTX0VUVTkwNV9VU0JfUkVDVl9USU1FT1VUIDUwMDAKKysjZGVmaW5lIEVHSVNfRVRV OTA1X1VTQl9JTlRFUlJVUFRfVElNRU9VVCAwIC8qIE5vIHRpbWVvdXQgZm9yIHdhaXRpbmcgZm9y IGZpbmdlciBkb3duICovCisrCisrI2RlZmluZSBFR0lTX0VUVTkwNV9VU0JfSU5fUkVDVl9MRU5H VEggNDA5NgorKyNkZWZpbmUgRUdJU19FVFU5MDVfVVNCX0lOVEVSUlVQVF9JTl9SRUNWX0xFTkdU SCA2NAorKworKyNkZWZpbmUgRUdJU19FVFU5MDVfTUFYX0VOUk9MTF9TVEFHRVNfREVGQVVMVCAx MgorKyNkZWZpbmUgRUdJU19FVFU5MDVfTUFYX0VOUk9MTF9OVU0gMTIKKysjZGVmaW5lIEVHSVNf RVRVOTA1X0ZJTkdFUlBSSU5UX0RBVEFfU0laRSAzMgorKyNkZWZpbmUgRUdJU19FVFU5MDVfTElT VF9SRVNQT05TRV9QUkVGSVhfU0laRSAxNAorKyNkZWZpbmUgRUdJU19FVFU5MDVfTElTVF9SRVNQ T05TRV9TVUZGSVhfU0laRSAyCisrCisrI2RlZmluZSBFR0lTX0VUVTkwNV9QQVJBXzRfU0laRSA2 OAorKworKyNkZWZpbmUgRUdJU19FVFU5MDVfUEFSQV8xX1ZBTFVFIDAKKysjZGVmaW5lIEVHSVNf RVRVOTA1X1BBUkFfMl9WQUxVRSAwCisrI2RlZmluZSBFR0lTX0VUVTkwNV9QQVJBXzNfVkFMVUUg MzIKKysKKysjcHJhZ21hIHBhY2socHVzaCwgMSkKKyt0eXBlZGVmIHN0cnVjdAorK3sKKysgIGd1 Y2hhciAgcmVzZXJ2ZV9wYXJhXzE7CisrICBndXNob3J0IHJlc2VydmVfcGFyYV8yOworKyAgZ3Vz aG9ydCByZXNlcnZlX3BhcmFfMzsKKysgIGd1Y2hhciAgcmVzZXJ2ZV9wYXJhXzRbRUdJU19FVFU5 MDVfUEFSQV80X1NJWkVdOworK30gRWdpc21vY1NpZERhdGE7CisrI3ByYWdtYSBwYWNrKHBvcCkK KysKKysvKiBzdGFuZGFyZCBwcmVmaXhlcyBmb3IgYWxsIHJlYWQvd3JpdGVzICovCisrCisrc3Rh dGljIGd1Y2hhciBlZ2lzX2V0dTkwNV93cml0ZV9wcmVmaXhbXSA9IHsnRScsICdHJywgJ0knLCAn UycsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDF9OworK3N0YXRpYyBnc2l6ZSBlZ2lzX2V0dTkwNV93 cml0ZV9wcmVmaXhfbGVuID0gc2l6ZW9mIChlZ2lzX2V0dTkwNV93cml0ZV9wcmVmaXgpIC8gc2l6 ZW9mIChlZ2lzX2V0dTkwNV93cml0ZV9wcmVmaXhbMF0pOworKworK3N0YXRpYyBndWNoYXIgZWdp c19ldHU5MDVfcmVhZF9wcmVmaXhbXSA9IHsnUycsICdJJywgJ0cnLCAnRScsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDF9OworK3N0YXRpYyBnc2l6ZSBlZ2lzX2V0dTkwNV9yZWFkX3ByZWZpeF9sZW4g PSBzaXplb2YgKGVnaXNfZXR1OTA1X3JlYWRfcHJlZml4KSAvIHNpemVvZiAoZWdpc19ldHU5MDVf cmVhZF9wcmVmaXhbMF0pOworKworKworKy8qIGhhcmQtY29kZWQgY29tbWFuZCBwYXlsb2FkcyAq LworKworK3N0YXRpYyBndWNoYXIgY21kX2Z3X3ZlcnNpb25bXSA9IHsweDAwLCAweDAwLCAweDAw LCAweDA3LCAweDUwLCAweDdmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDBjfTsKKytzdGF0 aWMgZ3NpemUgY21kX2Z3X3ZlcnNpb25fbGVuID0gc2l6ZW9mIChjbWRfZndfdmVyc2lvbikgLyBz aXplb2YgKGNtZF9md192ZXJzaW9uWzBdKTsKKytzdGF0aWMgZ3VjaGFyIHJzcF9md192ZXJzaW9u X3N1ZmZpeFtdID0gezB4OTAsIDB4MDB9OworK3N0YXRpYyBnc2l6ZSByc3BfZndfdmVyc2lvbl9z dWZmaXhfbGVuID0gc2l6ZW9mIChyc3BfZndfdmVyc2lvbl9zdWZmaXgpIC8gc2l6ZW9mIChyc3Bf ZndfdmVyc2lvbl9zdWZmaXhbMF0pOworKworK3N0YXRpYyBndWNoYXIgY21kX2luaXRbXSA9IHsw eDAwLCAweDAwLCAweDAwLCAweDI5LCAweDUwLCAweDgxLCAweDgwLCAweDAwLCAweDAwLCAweDAw LCAweDIyLCAweDAwLCAweDAwLCAweDAwLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAwLCAweDAwLCAweDIwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDEw LCAweDAwLCAweDEyLCAweDAwLCAweDQ1LCAweDY3LCAweDY5LCAweDczLAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDQ2LCAweDUwLCAweDUzLCAweDY1LCAweDczLCAweDczLCAweDY5 LCAweDZmLCAweDZlLCAweDAwLCAweDUxLCAweGM2LCAweGJkLCAweDcxfTsKKytzdGF0aWMgZ3Np emUgY21kX2luaXRfbGVuID0gc2l6ZW9mIChjbWRfaW5pdCkgLyBzaXplb2YgKGNtZF9pbml0WzBd KTsKKysKKytzdGF0aWMgZ3VjaGFyIGNtZF9saXN0W10gPSB7MHgwMCwgMHgwMCwgMHgwMCwgMHgw NywgMHg1MCwgMHgxOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwMSwgMHg0MH07Cisrc3RhdGljIGdz aXplIGNtZF9saXN0X2xlbiA9IHNpemVvZiAoY21kX2xpc3QpIC8gc2l6ZW9mIChjbWRfbGlzdFsw XSk7CisrCisrc3RhdGljIGd1Y2hhciBjbWRfc2Vuc29yX3Jlc2V0W10gPSB7MHgwMCwgMHgwMCwg MHgwMCwgMHgwNCwgMHg1MCwgMHgxYSwgMHgwMCwgMHgwMH07Cisrc3RhdGljIGdzaXplIGNtZF9z ZW5zb3JfcmVzZXRfbGVuID0gc2l6ZW9mIChjbWRfc2Vuc29yX3Jlc2V0KSAvIHNpemVvZiAoY21k X3NlbnNvcl9yZXNldFswXSk7CisrCisrc3RhdGljIGd1Y2hhciBjbWRfc2Vuc29yX2NoZWNrW10g PSB7MHgwMCwgMHgwMCwgMHgwMCwgMHgwNCwgMHg1MCwgMHgxNywgMHgwMiwgMHgwMH07Cisrc3Rh dGljIGdzaXplIGNtZF9zZW5zb3JfY2hlY2tfbGVuID0gc2l6ZW9mIChjbWRfc2Vuc29yX2NoZWNr KSAvIHNpemVvZiAoY21kX3NlbnNvcl9jaGVja1swXSk7CisrCisrc3RhdGljIGd1Y2hhciBjbWRf c2Vuc29yX2lkZW50aWZ5W10gPSB7MHgwMCwgMHgwMCwgMHgwMCwgMHgwNCwgMHg1MCwgMHgxNywg MHgwMSwgMHgwMX07Cisrc3RhdGljIGdzaXplIGNtZF9zZW5zb3JfaWRlbnRpZnlfbGVuID0gc2l6 ZW9mIChjbWRfc2Vuc29yX2lkZW50aWZ5KSAvIHNpemVvZiAoY21kX3NlbnNvcl9pZGVudGlmeVsw XSk7CisrCisrc3RhdGljIGd1Y2hhciByc3BfaWRlbnRpZnlfbWF0Y2hfc3VmZml4W10gPSB7MHg5 MCwgMHgwMH07Cisrc3RhdGljIGdzaXplIHJzcF9pZGVudGlmeV9tYXRjaF9zdWZmaXhfbGVuID0g c2l6ZW9mIChyc3BfaWRlbnRpZnlfbWF0Y2hfc3VmZml4KSAvIHNpemVvZiAocnNwX2lkZW50aWZ5 X21hdGNoX3N1ZmZpeFswXSk7CisrCisrc3RhdGljIGd1Y2hhciByc3BfaWRlbnRpZnlfbm90bWF0 Y2hfc3VmZml4W10gPSB7MHg5MCwgMHgwNH07Cisrc3RhdGljIGdzaXplIHJzcF9pZGVudGlmeV9u b3RtYXRjaF9zdWZmaXhfbGVuID0gc2l6ZW9mIChyc3BfaWRlbnRpZnlfbm90bWF0Y2hfc3VmZml4 KSAvIHNpemVvZiAocnNwX2lkZW50aWZ5X25vdG1hdGNoX3N1ZmZpeFswXSk7CisrCisrc3RhdGlj IGd1Y2hhciBjbWRfZW5yb2xsX3N0YXJ0aW5nW10gPSB7MHgwMCwgMHgwMCwgMHgwMCwgMHgwNywg MHg1MCwgMHgxNiwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMH07Cisrc3RhdGljIGdzaXpl IGNtZF9lbnJvbGxfc3RhcnRpbmdfbGVuID0gc2l6ZW9mIChjbWRfZW5yb2xsX3N0YXJ0aW5nKSAv IHNpemVvZiAoY21kX2Vucm9sbF9zdGFydGluZ1swXSk7CisrCisrc3RhdGljIGd1Y2hhciBjbWRf c2Vuc29yX3N0YXJ0X2NhcHR1cmVbXSA9IHsweDAwLCAweDAwLCAweDAwLCAweDA0LCAweDUwLCAw eDE2LCAweDAyLCAweDAxfTsKKytzdGF0aWMgZ3NpemUgY21kX3NlbnNvcl9zdGFydF9jYXB0dXJl X2xlbiA9IHNpemVvZiAoY21kX3NlbnNvcl9zdGFydF9jYXB0dXJlKSAvIHNpemVvZiAoY21kX3Nl bnNvcl9zdGFydF9jYXB0dXJlWzBdKTsKKysKKytzdGF0aWMgZ3VjaGFyIGNtZF9yZWFkX2NhcHR1 cmVbXSA9IHsweDAwLCAweDAwLCAweDAwLCAweDA3LCAweDUwLCAweDE2LCAweDAyLCAweDAyLCAw eDAwLCAweDAwLCAweDAyfTsKKytzdGF0aWMgZ3NpemUgY21kX3JlYWRfY2FwdHVyZV9sZW4gPSBz aXplb2YgKGNtZF9yZWFkX2NhcHR1cmUpIC8gc2l6ZW9mIChjbWRfcmVhZF9jYXB0dXJlWzBdKTsK KysKKytzdGF0aWMgZ3VjaGFyIGNtZF9kdXBsaWNhdGVfY2hlY2tbXSA9IHsweDAwLCAweDAwLCAw eDAwLCAweDA0LCAweDUwLCAweDE2LCAweDA1LCAweDAwfTsKKytzdGF0aWMgZ3NpemUgY21kX2R1 cGxpY2F0ZV9jaGVja19sZW4gPSBzaXplb2YgKGNtZF9kdXBsaWNhdGVfY2hlY2spIC8gc2l6ZW9m IChjbWRfZHVwbGljYXRlX2NoZWNrWzBdKTsKKysKKytzdGF0aWMgZ3VjaGFyIHJzcF9yZWFkX3N1 Y2Nlc3NfcHJlZml4W10gPSB7MHgwMCwgMHgwMCwgMHgwMCwgMHgwNH07Cisrc3RhdGljIGdzaXpl IHJzcF9yZWFkX3N1Y2Nlc3NfcHJlZml4X2xlbiA9IHNpemVvZiAocnNwX3JlYWRfc3VjY2Vzc19w cmVmaXgpIC8gc2l6ZW9mIChyc3BfcmVhZF9zdWNjZXNzX3ByZWZpeFswXSk7Cisrc3RhdGljIGd1 Y2hhciByc3BfcmVhZF9zdWNjZXNzX3N1ZmZpeFtdID0gezB4OTAsIDB4MDB9OworK3N0YXRpYyBn c2l6ZSByc3BfcmVhZF9zdWNjZXNzX3N1ZmZpeF9sZW4gPSBzaXplb2YgKHJzcF9yZWFkX3N1Y2Nl c3Nfc3VmZml4KSAvIHNpemVvZiAocnNwX3JlYWRfc3VjY2Vzc19zdWZmaXhbMF0pOworK3N0YXRp YyBndWNoYXIgcnNwX3JlYWRfb2ZmY2VudGVyX3ByZWZpeFtdID0gezB4MDAsIDB4MDAsIDB4MDAs IDB4MDR9OworK3N0YXRpYyBnc2l6ZSByc3BfcmVhZF9vZmZjZW50ZXJfcHJlZml4X2xlbiA9IHNp emVvZiAocnNwX3JlYWRfb2ZmY2VudGVyX3ByZWZpeCkgLyBzaXplb2YgKHJzcF9yZWFkX29mZmNl bnRlcl9wcmVmaXhbMF0pOworK3N0YXRpYyBndWNoYXIgcnNwX3JlYWRfb2ZmY2VudGVyX3N1ZmZp eFtdID0gezB4NjQsIDB4OTF9OworK3N0YXRpYyBnc2l6ZSByc3BfcmVhZF9vZmZjZW50ZXJfc3Vm Zml4X2xlbiA9IHNpemVvZiAocnNwX3JlYWRfb2ZmY2VudGVyX3N1ZmZpeCkgLyBzaXplb2YgKHJz cF9yZWFkX29mZmNlbnRlcl9zdWZmaXhbMF0pOworK3N0YXRpYyBndWNoYXIgcnNwX3JlYWRfZGly dHlfcHJlZml4W10gPSB7MHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHg2NH07Cisrc3RhdGljIGdz aXplIHJzcF9yZWFkX2RpcnR5X3ByZWZpeF9sZW4gPSBzaXplb2YgKHJzcF9yZWFkX2RpcnR5X3By ZWZpeCkgLyBzaXplb2YgKHJzcF9yZWFkX2RpcnR5X3ByZWZpeFswXSk7CisrCisrc3RhdGljIGd1 Y2hhciBjbWRfY29tbWl0X3N0YXJ0aW5nW10gPSB7MHgwMCwgMHgwMCwgMHgwMCwgMHgwNywgMHg1 MCwgMHgxNiwgMHgwNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMH07Cisrc3RhdGljIGdzaXplIGNt ZF9jb21taXRfc3RhcnRpbmdfbGVuID0gc2l6ZW9mIChjbWRfY29tbWl0X3N0YXJ0aW5nKSAvIHNp emVvZiAoY21kX2NvbW1pdF9zdGFydGluZ1swXSk7CisrCisrLyogcHJlZml4ZXMvc3VmZml4ZXMg YW5kIG90aGVyIHRoaW5ncyBmb3IgZHluYW1pY2FsbHkgY3JlYXRlZCBjb21tYW5kIHBheWxvYWRz ICovCisrCisrI2RlZmluZSBFR0lTX0VUVTkwNV9DSEVDS19CWVRFU19MRU5HVEggMgorKyNkZWZp bmUgRUdJU19FVFU5MDVfSURFTlRJRllfUkVTUE9OU0VfUFJJTlRfSURfT0ZGU0VUIDQ2CisrI2Rl ZmluZSBFR0lTX0VUVTkwNV9DTURfQ0hFQ0tfU0VQQVJBVE9SX0xFTkdUSCAzMgorKworK3N0YXRp YyBndWNoYXIgY21kX25ld19wcmludF9wcmVmaXhfdHlwZTJbXSA9IHsweDAwLCAweDAwLCAweDAw LCAweDUwLCAweDUwLCAweDE2LCAweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDQ5fTsKKytzdGF0 aWMgZ3NpemUgY21kX25ld19wcmludF9wcmVmaXhfdHlwZTJfbGVuID0gc2l6ZW9mIChjbWRfbmV3 X3ByaW50X3ByZWZpeF90eXBlMikgLyBzaXplb2YgKGNtZF9uZXdfcHJpbnRfcHJlZml4X3R5cGUy WzBdKTsKKysKKytzdGF0aWMgZ3VjaGFyIGNtZF9kZWxldGVfcHJlZml4W10gPSB7MHg1MCwgMHgx OCwgMHgwNCwgMHgwMCwgMHgwMH07Cisrc3RhdGljIGdzaXplIGNtZF9kZWxldGVfcHJlZml4X2xl biA9IHNpemVvZiAoY21kX2RlbGV0ZV9wcmVmaXgpIC8gc2l6ZW9mIChjbWRfZGVsZXRlX3ByZWZp eFswXSk7Cisrc3RhdGljIGd1Y2hhciByc3BfZGVsZXRlX3N1Y2Nlc3NfcHJlZml4W10gPSB7MHgw MCwgMHgwMCwgMHgwMCwgMHgwMiwgMHg5MCwgMHgwMH07Cisrc3RhdGljIGdzaXplIHJzcF9kZWxl dGVfc3VjY2Vzc19wcmVmaXhfbGVuID0gc2l6ZW9mIChyc3BfZGVsZXRlX3N1Y2Nlc3NfcHJlZml4 KSAvIHNpemVvZiAocnNwX2RlbGV0ZV9zdWNjZXNzX3ByZWZpeFswXSk7CisrCisrc3RhdGljIGd1 Y2hhciBjbWRfY2hlY2tfcHJlZml4X3R5cGUxW10gPSB7MHg1MCwgMHgxNywgMHgwMywgMHgwMCwg MHgwMH07Cisrc3RhdGljIGdzaXplIGNtZF9jaGVja19wcmVmaXhfdHlwZTFfbGVuID0gc2l6ZW9m IChjbWRfY2hlY2tfcHJlZml4X3R5cGUxKSAvIHNpemVvZiAoY21kX2NoZWNrX3ByZWZpeF90eXBl MVswXSk7Cisrc3RhdGljIGd1Y2hhciBjbWRfY2hlY2tfcHJlZml4X3R5cGUyW10gPSB7MHg1MCwg MHgxNywgMHgwMywgMHg4MCwgMHgwMH07Cisrc3RhdGljIGdzaXplIGNtZF9jaGVja19wcmVmaXhf dHlwZTJfbGVuID0gc2l6ZW9mIChjbWRfY2hlY2tfcHJlZml4X3R5cGUyKSAvIHNpemVvZiAoY21k X2NoZWNrX3ByZWZpeF90eXBlMlswXSk7Cisrc3RhdGljIGd1Y2hhciBjbWRfY2hlY2tfc3VmZml4 W10gPSB7MHgwMCwgMHg0MH07Cisrc3RhdGljIGdzaXplIGNtZF9jaGVja19zdWZmaXhfbGVuID0g c2l6ZW9mIChjbWRfY2hlY2tfc3VmZml4KSAvIHNpemVvZiAoY21kX2NoZWNrX3N1ZmZpeFswXSk7 Cisrc3RhdGljIGd1Y2hhciByc3BfY2hlY2tfbm90X3lldF9lbnJvbGxlZF9zdWZmaXhbXSA9IHsw eDkwLCAweDA0fTsKKytzdGF0aWMgZ3NpemUgcnNwX2NoZWNrX25vdF95ZXRfZW5yb2xsZWRfc3Vm Zml4X2xlbiA9IHNpemVvZiAocnNwX2NoZWNrX25vdF95ZXRfZW5yb2xsZWRfc3VmZml4KSAvIHNp emVvZiAocnNwX2NoZWNrX25vdF95ZXRfZW5yb2xsZWRfc3VmZml4WzBdKTsKKysKKysKKysvKiBT U00gdGFzayBzdGF0ZXMgYW5kIHZhcmlvdXMgc3RhdHVzIGVudW1zICovCisrCisrdHlwZWRlZiBl bnVtIHsKKysgIENNRF9TRU5ELAorKyAgQ01EX0dFVCwKKysgIENNRF9TVEFURVMsCisrfSBDb21t YW5kU3RhdGVzOworKworK3R5cGVkZWYgZW51bSB7CisrICBERVZfR0VUX0ZXX1ZFUlNJT04sCisr ICBERVZfSU5JVF9DT05UUk9MLAorKyAgREVWX0lOSVRfU1RBVEVTLAorK30gRGV2aWNlSW5pdFN0 YXRlczsKKysKKyt0eXBlZGVmIGVudW0geworKyAgSURFTlRJRllfR0VUX0VOUk9MTEVEX0lEUywK KysgIElERU5USUZZX0NIRUNLX0VOUk9MTEVEX05VTSwKKysgIElERU5USUZZX1NFTlNPUl9SRVNF VCwKKysgIElERU5USUZZX1NFTlNPUl9JREVOVElGWSwKKysgIElERU5USUZZX1dBSVRfRklOR0VS LAorKyAgSURFTlRJRllfU0VOU09SX0NIRUNLLAorKyAgSURFTlRJRllfQ0hFQ0ssCisrICBJREVO VElGWV9DT01QTEVURV9TRU5TT1JfUkVTRVQsCisrICBJREVOVElGWV9DT01QTEVURSwKKysgIElE RU5USUZZX1NUQVRFUywKKyt9IElkZW50aWZ5U3RhdGVzOworKworK3R5cGVkZWYgZW51bSB7Cisr ICBFTlJPTExfU1RBUlQsCisrICBFTlJPTExfQ0FQVFVSRV9TRU5TT1JfUkVTRVQsCisrICBFTlJP TExfQ0FQVFVSRV9TRU5TT1JfU1RBUlRfQ0FQVFVSRSwKKysgIEVOUk9MTF9DQVBUVVJFX1dBSVRf RklOR0VSLAorKyAgRU5ST0xMX0NBUFRVUkVfUkVBRF9SRVNQT05TRSwKKysgIEVOUk9MTF9EVVBM SUNBVEVfQ0hFQ0ssCisrICBFTlJPTExfQ09NTUlUX1NUQVJULAorKyAgRU5ST0xMX0NPTU1JVCwK KysgIEVOUk9MTF9DT01NSVRfU0VOU09SX1JFU0VULAorKyAgRU5ST0xMX0NPTVBMRVRFLAorKyAg RU5ST0xMX1NUQVRFUywKKyt9IEVucm9sbFN0YXRlczsKKysKKyt0eXBlZGVmIGVudW0geworKyAg RU5ST0xMX1NUQVRVU19ERVZJQ0VfRlVMTCwKKysgIEVOUk9MTF9TVEFUVVNfRFVQTElDQVRFLAor KyAgRU5ST0xMX1NUQVRVU19QQVJUSUFMX09LLAorKyAgRU5ST0xMX1NUQVRVU19SRVRSWSwKKysg IEVOUk9MTF9TVEFUVVNfQ09NUExFVEUsCisrfSBFbnJvbGxTdGF0dXM7CisrCisrdHlwZWRlZiBl bnVtIHsKKysgIExJU1RfR0VUX0VOUk9MTEVEX0lEUywKKysgIExJU1RfUkVUVVJOX0VOUk9MTEVE X1BSSU5UUywKKysgIExJU1RfU1RBVEVTLAorK30gTGlzdFN0YXRlczsKKysKKyt0eXBlZGVmIGVu dW0geworKyAgREVMRVRFX0dFVF9FTlJPTExFRF9JRFMsCisrICBERUxFVEVfREVMRVRFLAorKyAg REVMRVRFX1NUQVRFUywKKyt9IERlbGV0ZVN0YXRlczsKK2RpZmYgLS1naXQgYS9saWJmcHJpbnQv bWVzb24uYnVpbGQgYi9saWJmcHJpbnQvbWVzb24uYnVpbGQKK2luZGV4IGFlMGY2ZTI0Li4wODFi MThkZSAxMDA2NDQKKy0tLSBhL2xpYmZwcmludC9tZXNvbi5idWlsZAorKysrIGIvbGliZnByaW50 L21lc29uLmJ1aWxkCitAQCAtMTI3LDYgKzEyNyw4IEBAIGRyaXZlcl9zb3VyY2VzID0geworICAg ICAgICAgWyAnZHJpdmVycy9lZ2lzMDU3MC5jJyBdLAorICAgICAnZWdpc21vYycgOgorICAgICAg ICAgWyAnZHJpdmVycy9lZ2lzbW9jL2VnaXNtb2MuYycgXSwKKysgICAgJ2VnaXNfZXR1OTA1JyA6 CisrICAgICAgICBbICdkcml2ZXJzL2VnaXNtb2MvZWdpc19ldHU5MDUuYycgXSwKKyAgICAgJ3Zm czAwNTAnIDoKKyAgICAgICAgIFsgJ2RyaXZlcnMvdmZzMDA1MC5jJyBdLAorICAgICAnZWxhbicg OgorZGlmZiAtLWdpdCBhL21lc29uLmJ1aWxkIGIvbWVzb24uYnVpbGQKK2luZGV4IDE0ZmIxMWYy Li4wMmI0M2U0ZiAxMDA2NDQKKy0tLSBhL21lc29uLmJ1aWxkCisrKysgYi9tZXNvbi5idWlsZAor QEAgLTEzMSw2ICsxMzEsNyBAQCBkZWZhdWx0X2RyaXZlcnMgPSBbCisgICAgICdldGVzNjAzJywK KyAgICAgJ2VnaXMwNTcwJywKKyAgICAgJ2VnaXNtb2MnLAorKyAgICAnZWdpc19ldHU5MDUnLAor ICAgICAndmNvbTVzJywKKyAgICAgJ3N5bmFwdGljcycsCisgICAgICdlbGFuJywKK0BAIC0xNjUs NiArMTY2LDcgQEAgZW5kaWFuX2luZGVwZW5kZW50X2RyaXZlcnMgPSB2aXJ0dWFsX2RyaXZlcnMg KyBbCisgICAgICdhZXM0MDAwJywKKyAgICAgJ2VnaXMwNTcwJywKKyAgICAgJ2VnaXNtb2MnLAor KyAgICAnZWdpc19ldHU5MDUnLAorICAgICAnZWxhbm1vYycsCisgICAgICdldGVzNjAzJywKKyAg ICAgJ2ZvY2FsdGVjaF9tb2MnLAorZGlmZiAtLWdpdCBhL3Rlc3RzL2VnaXNfZXR1OTA1L2N1c3Rv bS5wY2FwbmcgYi90ZXN0cy9lZ2lzX2V0dTkwNS9jdXN0b20ucGNhcG5nCituZXcgZmlsZSBtb2Rl IDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u YjIxYzQ2MjJhMWI1YjQ0ZjI1MDY1ODgyY2ZmM2QzZTI2ODdkNzZkMQorR0lUIGJpbmFyeSBwYXRj aAorbGl0ZXJhbCAzMzY0NAoremNtZDVfM3dUdTN4am1UI0xWekczZip8T3FSRDJ+UVY0ekNHZ05P KSVqWChAcXY9ZSFtcyg/SCFxT0FqbnB4I0luCit6NVdOTmcxXm44QVRCPTwyVDglX313MkgreTdX R25GdDgmIyhLJl85O3tyfEp+K1dYOShkN2FibzxMPllLWEVKbG4KK3p0aE44V19GaVk3Sik1Q3ph ZEYheDlMRWA1Y35YeCZkT25+XyM1dShvR1d4OU9tfX0tdW8pKWMkUiNjUmdSWSFrTworekh+WF5h bkElQmByJSNJeHBJSk5PdmJ1QDBxUWBzaGp2WUpmbCt1MUQ8VThHKlFGWVZpJSM5OHhFa0M4U3Rm Yz9JCit6bEJ0dVlPYGNnZChKNjR3YmszU3s8JjI1N0dvcmBXKVhraGM+JDJMSm0hQS0mJnoxSXo5 elZRcGNKeWxYX2woKyEKK3ptKUIwNkpTa2NgT0MycEtGRDxgeFBUZHVnYGt6M1JxezRPUGBrcTZ2 aV42VG5jT3ApcUdpVFBOUzVCWVMtemxQXworenQ/Qip0WTNmNlZ6MGRQYEZAOGElQDJKKkomcWMh O1VIWTNOcDclbEolUXFpNUZnNm04PFUzQWZAJVEpRihjOHxoCit6YH0zVzhZT0J1dGY9YXdLUnxs YD9qZm5UUWhzKmYwKWtfYjU7bkhEXlc5VCZwQFB+VCVCQFhiMVpZRE09ak9hdTQKK3otdCEoYmUm OytWYSk3RWp1amQxOyZLI1E7JCl7UXttJnxEK2FrfShBMlJMTztSfWQlWFI3QkArcGAzXlh1am1i dAoreigtcSFYcz9GQX45TSg5M1VVTDluPH1+P25sQGxaU1AmRW9ZWTVieHtBMTUhKlM8e2MrVmgp KjBAdHY3LWQ1TzM8Cit6bXAmUkA8JF9uMUUyaTw2PTxgX3JrKmtMX1BObWx6c2Q4eiVScHI4bksy KGlEUGNvT0gwPntheDNPUitYPTB7d0kKK3pvKzlkTFZaS1hVaHh1aW1wR19LUEhFV3lMND9GMDdJ REpfN2VwcjlTSU5KfDNKflJWPEAjeCg0IV9TRzZ2VWZQKgorekRSUjFzSUt5aFVadGdnJVU1Y0R+ VS0tam9tdyEjPkpRcT91SThQZUNVV3ZFUCZvMyYjRHwkPSFwJjAkaWVkOVVgCit6RjVFfCMkSHo1 Wk0xT09qOWk/XyVZRV87Kz1wMnB+TWRTQyNGTFE9Q0tYd0s8V2ZXRDtkR3hCa1F7ZkR4ND18X2YK K3ptdXI/SiVndGViYmtKfDJidCpUKlN3ek5ecXtRZXdpOWh8OG1pUio+ajkpU3NfQDc7X2EhVWY0 QEshU1gmNlZSYgorel9ROEk9M08jTSR6M35BNHpJb1hBak5fYGBhZk16emJMSD5kJmQhfEVPNXpN VnVGZUBmS0k2RTB6Q2A4cEx3ZSRFCit6UjFjUzBqPjghLV9pWD5ROEdXTnVzbWM+MERhZzJMUzNU YTBFOHhwPGJ4VmNIR3VQdjQ7ZT0kbEM2MjU3KF5ZUHEKK3p6RT1XX3QyY2h1NT9fdzEzdFd7Tzs4 USl2PW0zd354JXZlNXF6IWZCOD57SXgyaWs2SWV1VCVaQHJDMD9zYD8qQgorenIqTmJ5IS1rSS1P VUxyTXlpMVJUUm9DLSo/SjFafmBvK0o5KlFOSjR6JmxqJjhvJjRAQHA0SlckO1Y/OTY5NHw2Cit6 VGxeO1V4JX5OQFMwKHlmcEw0WT85VF9EX04jb15fOF48XlBscz5gJXtHa2Zwd0ErRnlze1RqTklV RnNEI3ZlT2sKK3pfJUokX2NqX0RUU2JTPChNT2tTQFk1JnF3YFpaV0R6ZipzaEhNQCtzZT9oTX4r PSFsSTIrY2t1WnVTa245Jm5eOAoreiZ9e1I1SV4lP0BgRWh6VyN5ZEljSnZ0cH1EbSFkeS1LP3sj IyFqOSF0OFYlPD1sb34/YUZ4VUxrIX03Mil5dCojCit6ejBtY05ucFJGI1pJWjR8MWQmd0plTG5v QWVCXzt8PWA2ek15czYmRmlfbW4ySzh4RlI/KnJvLXRMUVpjQFRJMFIKK3ptI1g/UkpWJVFuRz0y Ul9Jd1I4SCUlQ1NaX01GWGo/NzZMd1B2WTIlLXlVcjJ5PmxpSjY7XmVwblFOWCllPG1BeQorelhB dihTXkZzNFZvdGAwSEVAOCZyaSQ0Nk8qMnBWU3IlfXRvPnZaMitLQWtrYSlhbHNBZzZWVyVJd2Mj S3tDelQ9Cit6OSh1Pj48ZH1SQ2J0LSFAbWA9YGM7dyFBYCR9X0FlTUtZYmZCd20rfWFlIUNxYlQj cEUzOFBjcmNVJDYqNigwR1oKK3omTVNGbUN0fV4tV0FyRVk/KjxBa0pmNSFZYllVYTZDeEAtUypB SStHZSozd3FlO0oqXihWfVI0Y3gzJU5JXiZxQgorekU1MiY9O2ZSZy1KeH1fbz8kUkE2eklePXlg KEN8I1pxd2MrN3lRQCNjZjRIcmIlUiRBdTg7cDdlb15OTyVeYzc2Cit6JVMwVnA/TmQ2WW9hNTtW IVooalRvOEJtPkB9fXlePyYxR1BvR3pXaDBaeXNtTmFFeXpkOF92IyR3UTNaPERCQEoKK3ozJUJ1 VWhneTg9QSZGenthaCs0UDhoVXpae0pFIUlYZ21ANGE7KktjZG1GRGw5cUV5eU1HK2NHUHhOY19K QEpocAorejAxa010b1I5cGZNO2tOR1B1Rko5PXFPJmBENSZaaHB+MDMrcXRpfmFaM3NATyhje0Yp Ql5ANmhrNU5kQ0Y4MU51Cit6PnZmXz1AOTNQOEh6MHdFYXB1P1AoXntXSz1ETTNXJlplQ2lPcnpK bD4oKmBOeTJXe007WFhISXFIUW5TJEJ4WmcKK3ptQHYyY1Y1cmlfXiomYEUlcElsM1hOXjlFQGZS K2UrUV5lZjQmVjx9X3w3NEU0VytxVWpoUXAoOTFhd1Q1OG8qNQorek1RNDxFallScTBKLWd6VyRR dD8+PiZnRGloM2p8TUB+TExkOTNRRmdYWX45Rl8xb0RtKiE3P24majlJcTVUU1BBCit6cmIlYF4q aUYxSDlwZUJtYFlDdmk/alFib0ZuQCYpZStjcVl7U14zNTZNbTVTbTQ5cHhEeSViT0pGZkJKQ0JW T1MKK3p5JlkjcyRDfmFwKERrKCNIQVg+Unk5Um9+KiFGWC1ZMilLTzNwcHZ6Mmp+QjYyPDlpNUpi dz55eD5PJkl4YU8yUAorem9waXM9bFRKJW5Wc3UzTSQkdTdFezNhSlVDRj1BeDtSbiZsPzxkMTl1 UVEkeGU1dW8tQkRFVUtlJFVhTzIlWFktCit6ZShARG5CZXhDYWkte1ZJWmQ7VUYmbkhmb0QoIXts bHA0KD1QQSpDTnA/NT8qI09PKENiZSN8MTUlKChTY1RlYj8KK3prfmJpTT5OVyh2VSEka0NUYUFE KEg5QnhiRnBiaUF7KFVkb19LRnYzamtNPEBwWkJqKzhvNSs7ZjAzUlhxbDRVRAorelliZHl8cn1t biV6PFIjTWh2Iz9GcDh3QUVgUUdebCF9RSkjRjBoYERAMFlhYXFrYj5NKSVxI1YjbmE4bEYpenUr Cit6Xkc2YnxPTCFkU2Rrd3UjMF5ZWHNSbEI2KXE+bT9eb0JZdi0tJkJPTHJAUkZDSHhxc2tGWSl7 RCExNWM2PUt+LTgKK3o2IT4zX1l7a3t7IyN6I19DY05hOzdAYkBZTiRMNDdefFBHcmw3e3glYE1X QCZSc0U8fGYmMyhzPVhkSVZnVjcwYAorekBEdD5AZ0UrWSkmQ3hyZTklQSQpe2JhS3JlLVV5QClN QDV1bH5XaSRkMjdXRCNgOWZgRkxrPX1Lfj9gO2M+Y3NZCit6dFZZZ18kVllpVCtVd1lkZkB6ZCNv X3stV3k0MUVEO0ZLRFRBeDx0fkd9YFVNa0tjQCg1O2E8QGF8KXg7eTxjMDYKK3pmRzsoPV5pYnxP PllBTCpidmQycXVsVUJjU0pPPjhBTU4/anNKY3NRWnlkUUV0OXs3RV5CLUhaJXk+VFY7clg0bAor ej1idzc5KCZKIXd7c1Q4SXZ6fFg2ZGE2RShganVYeWBlLWdhZT1xVEpkdmU0ekZad0JYWEEmPSRG ckdobnZCaGBkCit6JFY+SDg7NkpKSiVDP3tTSl4jZnNSdjZDKktLZCF9TXxIRG45IWJaVkBjZFV8 bHgjdE1PMyZ7LXEkTVhqQURydEIKK3omK1hkSXdaIVJDd0shfl5Vakc7aiZUb202T1ZTKkBCa0Ni V1B0eD1FYHwhflp1cyNSOysxLVFQa05NfTJrIyNHSworej1MMjhyd0JUQSp8NkYrZnJeR2pnXjVu cEhtbHtwR0V8XkF7SmlwKDFzfVZUbVNsVWRTVCo3RnkoVDVMRG1LdlM+Cit6JWtVYWFGVEJIUXFe fkpicXREKEFyY3BaMnVXZlVPP2JFbX1ZdEtpWSt4PyEoJE1zc3hLNGp6aGU/NCl2QHFCWCkKK3op QHdWNVlSXkJXTmcqOCEmKTwye1lVQkJzMmNlSW1lJSt0V15SOVdoXiEoX190NCtJdTd5VDV4RzIt UEMjYEQrdAorekB5KG9BY3xQI31ydD1FcGBNKyt6KXtKZEN8TWw9NDtENUFNLUtYJDRPRkd0cz1r SktvaTNKNUlKLUAhI2F5c3BDCit6QDFtfkg7QyQmYGI/PWdybFBJfDBvLUVUbXw5UnFjPjNqfXdO fWJ4PVhZPUlLUWs1N1RrZT1eIXU9cV9UciRuN3gKK3ohVmh2az1KKSlYaiUkc2QwM1V2V0hlMHp+ KWp0PVd7fE5Eb3AqJVVfMTw1dH5nN2BSfVkmRld7YDV6T2ZPTUQjUQoremxwM0E1QS1xT3xJJDM8 QDVhZzdvKFkxc2hSLT43LXR3ejk/OGcxc2lpQnopSEQ0cGt6bmA4NUZKTHI3MD1jNys3Cit6WihI RXk8OWUrMkFzZiV7dip0SSheTVF8ZktKY2VqNm5tZnQhfUhzKHtmK1ZiY3JvLSRecFF+bWlvTmBF PkdATkwKK3ptKW55QXl0MUVlQVlMd0VKcFV+cHpUK1VUI0QwNENLJFRZKiYra3thKFRyezIlWUhp WmB3bXxIUTt1IW5gRzFibAorej0+QEcpZGo3KG5gIzg7ZFJpYWtTMlJhMXVsVDRvZjd2Z2xPU3sj biVsc1g7WjlLdUpGVSlRYE4+TEVyPygoX2tjCit6WnQ+bEEkI3JeJUBXY0FhbHN8MVdvKTNLSilK NHlecld+cDJtI3Y/cVRoQVojcVNkSSReZ0U+eV95ISYyMWt4eXoKK3o9UHg1cG1yfiNXQ299QCpH VURYSWVLQjIkKEx0JXY7Vi1xcyQyPWVTaGV1VVQqXlZYdWIkTGsxQ1ptejl6blZWKgoremVATDd2 TWtRTn4oc19RTChvTHFsJj9vUjZGOEtQKVNOWFVldDl7N0VeV1Q0WGl9aWZucntWZClmNHtKOzJZ TjYoCit6enYrPUojYDdfekcwI1crbiVjQ0B4I3U2VFdzN05kQFhDSUFNM0hLakZySSg2QUsjMlU8 QHcwI1pvJmBaQ0h9UlkKK3p2UEYta15uQm8jejE3YXNIQ3hZcklZeUAhdmAqPnlyOGlubVRxbVZn cjkwYU5Aez4lU2UtJn1NUjRvcDBOfWFBRQorelBBKn5tcX1oaiRJZyN7fVd9UTxRS2wlTWZqfllK I3pWIVV4U011KU0/RU5JMj1Rbj9CSE51PSNZU2Vzc2AjPjZICit6Xjg2JEFTZEc5Ykg5QklqJH14 O2FeKigmdU1AV3Q4Mnx2aEtAX1lWIXFhSElGMGJncUwtcylmKXJTdHNlKFR8eHYKK3pqZTlAb2BP UnhvS0NhZ0A+X2F4NVU7Vn5iPE4zZ2M9TzNvJDhIZkZZdWRIZyU0Kk5jZSNLLT1RVDwrVCReeVhJ VQoremBSM2tRJX1ZP2ZaPmZIKVhEO1hZSHhhSyhpRT1vYTd5VDV4QlIqOF42MnxsUWB8JEF7RUJZ eiRBMTNARHtuWVJJCit6dClGfHdjc31zYVBsNW1Kbnw0MS0oeTxvZDxRKWdQWmphSDZnMkklWktr aitVaVNORFBDKmJVfEdxP004SFc4O3cKK3opIzNvQilhZ3AlPGRRVDs/fSZQYyhVWTcqOXtxdzNB QTJiRGVwfT9VVGp2elVeTEwpSyZINCVVUTBSWT8wUXxjdQoremdZNX1QPWxPcClkN0o0TSpuPVc5 YHNMfWwtTTc9YldTaHxsb0ttQnw1aHNeMDhhNFh4P09yNGBlP2w4aDdfNCMlCit6cXRTVntUOCk0 JiQ1TXlZIThBKGVgVGRzS19RR0NEY3N9eWtPTUw3TnVHZWJ6TDMobkc0c29BZUwmMWdqP0hzdnYK K3p5WVlQQiF9R2dwJiVkV1p0K2dHRGRII14qP1opJSUtZHBBUXNOZDdLc2tPUlhkajlSaT5yeHdl VmZOJkR5bzE1cAoremBGN1BWVkxaUzBHWnchfD5ATmZVST5IYUBgQ1Q2U3ZsLWpLTT9WR3JeMk8+ cVhkWSl0JEN+aWBtdHU1Y0w3U0FHCit6ZjYzI1A2TU4wIUMqWFd7Tnc3VTNuZGJTTWlQT2BGc3M+ S0Aye2AtUldiPnJjUWtFRFVrKUQ2dGVfTVIpfEhyaSUKK3pfIXxnNmgpKGBGPGtYJSFqT1BQaT5o ekN+UnNGTUZIJVJDQ2dMfn5Ue2xYRmQ3NiRufHhoSSVMbmRiUytpUE5SRgorejxwOEpEc0xUSWAq UW17ckUlQnZCTzkoJSNNclR9YUhMfj9yWWRkSk9yJCgjIVUkej5oXlpYeWhaOWVEfEBPPCNDCit6 S1FIe2dvbVh6JVgqP2hKKCh9aCR0ayEpR2hVYWZzeTM9flRfOys+NHxGfSFrOGdWVz9LaG0oJV53 VSZjdlZlSEcKK3pnekB+Zks3NHF4PzU5V25PeSFtQit7OGM2QU83SDklLTlBI3lyaTRIbU08UXBX KEM9THspO2g2d3hCNGI9ZFhPbworemE/MHk3SU56KlAtP3lqYTxPWmRaP1JVNnU1VHtHJGRtKm1Q O091KDMmNjc/fFN6PmZWZGo3ZTt2LXBAM0tffXFmCit6TGlsMCo8ZWtwRGpPUFBpPmVPcXNzKC1l QWxGc3gwY0lZbkNGRUQ0dGJzNzJlVUszMkNPckMjeW10OXNQdXxGVDIKK3pta31xSXE7bjdOaDxi PzhsaG8qV0FIRX56UHJ6QHBIb1FocCUoZlo8VXV5SzdxYjVrJVlMdzNObzlFY31pc1JsPQoremV9 e3tGWGJaSTA9VW1rKz0yNWpHejB+dXk4MiFvWndUNk5WJi0yU35lQlhGSkBadEh1enBBc2taI2Z2 QVUkT1hvCit6PE4zSUVtd2p+M3EzUyotbSEzYkRjd0s1RTQpOWBiZl84YjdjKTVofXtPQSZra0Ze KStDOXk4Uz9ubktlVSVVTTgKK3pXXjRtcl9TM2FkeVV2fC10bSVHKHdWZ2wzREF8SXhETHNHTjNk QFEwRnNXNm1WeypIbWY3bCY9SCMmaCs+UXFnZgorelQkMU1LOVo/VDRkWGojISpvVGpgUHBRKiRJ O1UpfSVgLUc3a0g2RXR7PTR5Zjs3Z3Q2RW1ITiopPSQhVGUpJV82Cit6QmRrcUpqanA7ZW1gMGdB fDd6bE5EUTZDRk57ek08Q3ptaTlKP0YjNl9YU2Q7IW9AMTVGZEEqMUBQV3w/Xyk/PzIKK3o5fHFH WG8jIXZWX3lmfmtfPktxamUwYX1tQUV8cz91aHJ+QkhsODFPPnI+PFR6PSE3X3VJR2MxVzdLYHUh U01WJgorelJLSUZVaTM4dSFwXnVffGQjSFhxJiZzOWVwUyR4QCk5JkMhS0x6aSgkRXRQLTxONGor dylvZ3JnTUpHOT8hQU5FCit6a05RM1R5QXdZKm8pM0tWUXthQyQrd09AQElAV35lfDFtfSk2dHFq fWA5JnhESUt7cGxhMjghMVowfm9id1ZoR0sKK3o9fkFeZzlJPFopb1RHQDdPVlMqQEJrQ2JXUHR4 O1dfdS1wODZuWkAkX148MW4hdVpMVT5kJWR6MEFLMWZXXzdUPQorei18ME5SWE59YmVkcjsoZj5i VytVTXd2VyswJiUrM3dqQUo7VmAmMCRhdFdpK0E+JikoJWR2Rkd6MlchZ2NmRy1DCit6V2IzY2lj RitnOVpWI3FXST93K25Ad3dDJVVTT303cDY3JF9wVHgoVyRMSUo8SGxEdzBAam1QTVYmNHclY2tN V00KK3peWmV+Z184SEh8bjNqRVhgenlKaD1YYndwcEp7alMlNns3WSkkc0hEV3F5M0lad0t3WmpQ UWYzOFRkV190YDdTJQoremRqNEpHKXhJTWhYR3pESkBjYmBjcGNCZFNDI184VytZNFBnVDI1Umly Qis9cFFoU2s3YV9TRDg/Yl47bjsma2FWCit6OU4/NVhPKGFlKE5wdGokc0R+SW13ZVdsJktJVE55 UGhRdEtoNEs4fDFOS3xiKkwkKDA9a0pjSWBzWlN2emlGVj0KK3oyeTw0YyhXZCNxR3xKQHBgOUhR QWZtM1JmemFZRnVQeHxuMkEwYWgqbEpKOSFDSTd3SEMkJn4xOzdnNEBgRTQrYgoreihzfS1LbSlp RWl5JnZaSkBQXzkkcyhmNzRiPEpab3A4eFhBVW1NUXtLSVp3fF4qbiMrP0YjWj4lPTBoMjwha0h0 Cit6ViY0d3gqTHw3VnRENEpze0B1ak8/YUFTWWVMTFgmRGUtYSVHdFluNWhtVy12XmkkeTlxd350 dk9aPVhILWJZXj4KK3omaiZ2R0RleWFkdUlpdUNlfSg1fm4mKz9oKm03YiQ0MU5PNj5iPTRDZSlr K25iKT9fIzt5V3ROUGtRb2EjT2MhZQorejlOPmhYZmImNyg8aWRIVEQ9fDdLQHUlJFo7YlUhOCYr fnpRK2BqTzh6bjcyeCMmfntRPDRjeyFSalpNbHdkZERTCit6QjlWcHlfQVNvR3xOQipRJmlscldD JHNqZ19DejNgaVZNYCpjZWRse3lSKFVlZSFxJH1pZlRVRGpAeWFYckRHZysKK3pPPGU3WDBQbjVE JU8lV3M4dlBUQ1pAO0hkZHZ9MGVUb1pteGY2Z15sQypWdCtEKDMldEl5SElPdDJPc2QqTThHQAor ejU1NEJWX2RJZWU/TzM0bHhyRU4pTkw0VUBJKFk9MFFCfkVJY2JAUXtRUm5RY0B7JSVMTzNMaD8p MjNmS2ViUDBsCit6QFp8ZVZeb0c+Pzk7Jn1mP3tsRjNhJEhgclBfPFhPeTNAeTw3PV5eJjxITlYj OVZZN2lUZnpAfW9zYSRLZkVreS0KK3ptd0hEX3hLX0VATHB8YGcxSjx1b2pMV1p4a01sfEMqSXNT MXwxUHdGSTk+Vi1oeUJoc2FaRlp+c3ZOXzM9amM4YgorekFLIV9+WWd9PlBWMCU7amIxfHBOcjsr KEJUWHB9OUcyY300P2BoPXMmZzslVVY3d0UxQUxOKjx5aW56bnQjQFlnCit6bzR0cFF2RiErNklo SX19VU1edzBiRGE8MEc1ZE5GJElfJldnNlkpWSlrYjtRS2hfPmRgQ0c4aT5IYzQ8YGpecT8KK3pJ OWltNWRJI1Mjams9M29BQ3QreT5+RiNQYl5PSVR0RTBefkBmdFhBV0ExZilsWHpYS0hWMWc2ande fG1PQmZ3NQorelQ1c3t1UHZtJih1Xz9UY3RAbTNVZmlGR3IqPjhWWDlzUDZNRlI0Q2JzSTU0eHph OzlvPHZXI2N0fn5TMUZLaW93Cit6USkoRmJtdWlEQnA4MlFgQUQlMlZvSjtzJnVXUzJ6STsqT3Z5 KlBqYEhHSF50dXI8cWM+JmtPX0lqZjlEZGNUZUkKK3olIShmY1RVVTtyTHpPUzY+WHR7LWhoK0J6 NC1sdElyKzZYdV9gcStiNWhzXjA4Ynl3QF8/WCpCamtmQlh2Yn1laworejtuaGFAPHglVWNNIT1V RXl8KiEjTShOZlZJJlpNflV+WT53MkRIfkpvNUhVdnVYdzYtKSVCRGcya14xUiZ7TUI1Cit6dFo+ eDd0O2x3YnEyeCNjRUFOJlVfQlZhfktHTTZYKWJ2ckBvMWwtUGUhY1U4e2QqST00JVVxP1RnbSFw RXBmV3MKK3o5dShrJmtBU241SUp0IUJxeEMtZ3hWVWN4ZSFiMnFPZHFYcEU7VCpeZURxTytVIWR5 V2sjZ1dAUU1ocmE7Rj5PZAorejxXWTZsK2s+PT9fLUx1dztsTz5xKU15Kj11YGt4cElVSzE5P3VT MCYtOypDdilzNjNtKypCdnl7WStDMExnNHpjCit6XlQrZ09jPDt2R1hST1lzeDcyeFhFN2Vadj5k Y1VnRUFlT2dAVWhNVkZNPHY7Mnx2ajc7dnB1WiF1NmxATiM5aXMKK3peZnczYXJPdU58aX0tWiFu b3tOY0JfNCMlcXhqRDlPbVIrJm16ZiY4IVFweXhkLSV1bFBkQEV5JEZmKjJNMEA8QworenVsZz45 JDVwenFnP15JaHlYTT03KDxMa3B4bUYweStsWjQoSXpCIWdxbVVZWj5CR2t3dDw/QlNvbTI5R014 YV4pCit6O0xvNzl4VWswMEA5a15HR1ZyQ3cmLVlqTD8/fDhGWGk8ZDVheERBai17b0tRVH4kcDA5 OVRuX1c0VX1sdTwhQSoKK3p4c1FxeXVTPVg5O0ZWKUJQUHw7ZyUpaHQhQGJUUy0pTT1afUR8c1Vs dkN5Zih0QnVtPmdtfkYxKXtPKUJRbH1IMQorelJgb0JWUSNlYF9wO09UTkRGMFlIZX0wKTZZZmJw UUlRPzZAPT1iTXUmRnhzYmxRPjtVaVVYV2QhI2p6U09QSTBOCit6VlMmWVdAVmxwYXklI3hrWGIk I1d0ZnY+JWhzV0Jpem19UD8yN0lhRXRZZD9IZTxhNzZVISZzcGVIIzQtZSh6Sj0KK3pCTyN5Uy1v ZGAoJVFYTFhpUE5RZ0locik1KVd7YEhFQDNxS2xASCVCSWpRdnU8biR8QFE/fSNHdVRsTHU8eUlx OAoremYzPmF6e1E4QE1YX1JqTXttNilOKF9ZVFAjTlhObC15PTdOfEJrUWI7YzdHZzIwckhCTjlw PFolMktyIWRqQEkzCit6ZnVpMX1TSGRAUElzWUV9TlZWfTFfbTsjeWl1eF88dEpaUzR6b2hGa3hN cFhYZjhTMT1FQDY0MEluaFZLYDNpQXoKK3pOeW8+PlYtKWg1LUQhKShaLVM9VU19VThSU0Bgd293 T3VZU2VIOGZjNSNhQj5SbkA7RSlzTGVeNXQ+UkxAejF+UworektJe1RCfDg2cUI4PzFaO2UxQlEw Xjc7UVh8QmlPTyEwMyM2T1B5bTRzLTQyanpufThxSjQ/fWJsXjNDMTRpSjlXCit6YFM7dTlIRD4r fGU1ckdmallgTlc1fTJiITVqeXtuXlkyc28qTzsqIVV5U3hoPj9nQX5zZWctLT9PNHQ8fERII2oK K3pFK3gkWVBPMChaI0t8U2hTcEZtbEtJVjFNeGEwd3FRfVRnRSM5RChHe21FVzJnTXRnczNGLSZk bjZZZkB1ZFgtMQoremY5WkQkZlg2WE1pPXkjVS1BbnVELX1RclAlPXthRDNpRUhuX2xVfWU9ZlVh YiF0bVF7PUhHdUpVWUdEVnokPGxYCit6dz8hcUFqKn53Z3FtWjdQUzg0R3YpfT5CRTJ0VVlKWSt5 MWZ0a1p5fVlzfnhgXztNXj5KdCpIaHpsPEleU2A/dkUKK3ooRTBiQjhqJE89YzVCVjVJck4kWCo4 cipHP24/REwwMk9vJk4yJnJIJnVPR0hgY3hneHpjM29qYlBHPUJhREFpPgorekE1eShzZFk9Ukpr fiR4TXhAeEMlYil0X2EpJW56QmkqTSUoaUpwNTY7Um4lcTI5cl9ZY0FZblRmKkZzJW1wVldHCit6 Ymc9YlRkMlJLTiQxbCZCVjheNEdEPHBkNmZNJkorZEtsR19CVU9RcCpeSX4yTW9jZ3xJaHQ0TUc+ Pj8+cX5xa3sKK3ZGJCZvYV9XQUx9SlJMc017fjQ4NmEjSkh2Snpqd0MqUXYqN3N9dEA2cSlyei03 ZmRKcnt7e01nenZfTnEKKworbGl0ZXJhbCAwCitIY21WP2QwMDAwMQorCitkaWZmIC0tZ2l0IGEv dGVzdHMvZWdpc19ldHU5MDUvY3VzdG9tLnB5IGIvdGVzdHMvZWdpc19ldHU5MDUvY3VzdG9tLnB5 CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAuLmE4NDJmMjZlCistLS0gL2Rl di9udWxsCisrKysgYi90ZXN0cy9lZ2lzX2V0dTkwNS9jdXN0b20ucHkKK0BAIC0wLDAgKzEsMTA5 IEBACisrIyEvdXNyL2Jpbi9weXRob24zCisraW1wb3J0IHRyYWNlYmFjaworKworK2ltcG9ydCBz eXMKKytpbXBvcnQgZ2kKKysKKytnaS5yZXF1aXJlX3ZlcnNpb24oJ0ZQcmludCcsICcyLjAnKQor K2Zyb20gZ2kucmVwb3NpdG9yeSBpbXBvcnQgRlByaW50LCBHTGliCisrCisrIyBFeGl0IHdpdGgg ZXJyb3Igb24gYW55IGV4Y2VwdGlvbiwgaW5jbHVkZWQgdGhvc2UgaGFwcGVuaW5nIGluIGFzeW5j IGNhbGxiYWNrcworK3N5cy5leGNlcHRob29rID0gbGFtYmRhICphcmdzOiAodHJhY2ViYWNrLnBy aW50X2V4Y2VwdGlvbigqYXJncyksIHN5cy5leGl0KDEpKQorKworK2N0eCA9IEdMaWIubWFpbl9j b250ZXh0X2RlZmF1bHQoKQorKworK2MgPSBGUHJpbnQuQ29udGV4dCgpCisrYy5lbnVtZXJhdGUo KQorK2RldmljZXMgPSBjLmdldF9kZXZpY2VzKCkKKysKKytkID0gZGV2aWNlc1swXQorK2RlbCBk ZXZpY2VzCisrCisrYXNzZXJ0IGQuZ2V0X2RyaXZlcigpID09ICJlZ2lzX2V0dTkwNSIKKythc3Nl cnQgbm90IGQuaGFzX2ZlYXR1cmUoRlByaW50LkRldmljZUZlYXR1cmUuQ0FQVFVSRSkKKythc3Nl cnQgZC5oYXNfZmVhdHVyZShGUHJpbnQuRGV2aWNlRmVhdHVyZS5JREVOVElGWSkKKythc3NlcnQg ZC5oYXNfZmVhdHVyZShGUHJpbnQuRGV2aWNlRmVhdHVyZS5WRVJJRlkpCisrYXNzZXJ0IGQuaGFz X2ZlYXR1cmUoRlByaW50LkRldmljZUZlYXR1cmUuU1RPUkFHRSkKKythc3NlcnQgZC5oYXNfZmVh dHVyZShGUHJpbnQuRGV2aWNlRmVhdHVyZS5TVE9SQUdFX0xJU1QpCisrYXNzZXJ0IGQuaGFzX2Zl YXR1cmUoRlByaW50LkRldmljZUZlYXR1cmUuU1RPUkFHRV9ERUxFVEUpCisrYXNzZXJ0IGQuaGFz X2ZlYXR1cmUoRlByaW50LkRldmljZUZlYXR1cmUuU1RPUkFHRV9DTEVBUikKKysKKytkLm9wZW5f c3luYygpCisrCisrZGVmIGVucm9sbF9wcm9ncmVzcygqYXJncyk6CisrICAgIGFzc2VydCBkLmdl dF9maW5nZXJfc3RhdHVzKCkgPT0gRlByaW50LkZpbmdlclN0YXR1c0ZsYWdzLlBSRVNFTlQKKysg ICAgcHJpbnQoImVucm9sbCBwcm9ncmVzcyBzdGFnZTogIiArICBzdHIoYXJnc1sxXSkpCisrCisr ZGVmIGlkZW50aWZ5X2RvbmUoZGV2LCByZXMpOgorKyAgICBnbG9iYWwgaWRlbnRpZmllZAorKyAg ICBpZGVudGlmaWVkID0gVHJ1ZQorKyAgICBpZGVudGlmeV9tYXRjaCwgaWRlbnRpZnlfcHJpbnQg PSBkZXYuaWRlbnRpZnlfZmluaXNoKHJlcykKKysgICAgcHJpbnQoIk1BVENIIEZPVU5EISIgaWYg aWRlbnRpZnlfbWF0Y2ggZWxzZSAiTk8gTUFUQ0ggRk9VTkQiKQorKyAgICBhc3NlcnQgaWRlbnRp ZnlfbWF0Y2guZXF1YWwoaWRlbnRpZnlfcHJpbnQpCisrCisrIyBMaXN0CisrcHJpbnQoIi0tLSBM SVNUSU5HIC0tLSIpCisrc3RvcmVkID0gZC5saXN0X3ByaW50c19zeW5jKCkKKytwcmludHMxID0g bGVuKHN0b3JlZCkKKytwcmludChmIi0tLSBMSVNUIERPTkU6IEZvdW5kIHtwcmludHMxfSBwcmlu dHMgYmVmb3JlIGVucm9sbC0tLSIpCisrCisrIyBFbnJvbGwKKytwcmludCgiLS0tIEVOUk9MTElO RyAtLS0iKQorK3RlbXBsYXRlID0gRlByaW50LlByaW50Lm5ldyhkKQorKworK2Fzc2VydCBkLmdl dF9maW5nZXJfc3RhdHVzKCkgPT0gRlByaW50LkZpbmdlclN0YXR1c0ZsYWdzLk5PTkUKKytwID0g ZC5lbnJvbGxfc3luYyh0ZW1wbGF0ZSwgTm9uZSwgZW5yb2xsX3Byb2dyZXNzLCBOb25lKQorK2Fz c2VydCBkLmdldF9maW5nZXJfc3RhdHVzKCkgPT0gRlByaW50LkZpbmdlclN0YXR1c0ZsYWdzLk5P TkUKKytwcmludCgiLS0tIEVOUk9MTCBET05FIC0tLSIpCisrZGVsIHRlbXBsYXRlCisrCisrIyBM aXN0CisrcHJpbnQoIi0tLSBMSVNUSU5HIC0tLSIpCisrc3RvcmVkID0gZC5saXN0X3ByaW50c19z eW5jKCkKKytwcmludHMyID0gbGVuKHN0b3JlZCkKKytwcmludChmIi0tLSBMSVNUIERPTkU6IEZv dW5kIHtwcmludHMyfSBwcmludHMgYWZ0ZXIgZW5yb2xsLS0tIikKKythc3NlcnQgKHByaW50czIg LSBwcmludHMxKSA9PSAxCisrCisrIyBWZXJpZnkKKytwcmludCgiLS0tIFZFUklGWUlORyAtLS0i KQorK2Fzc2VydCBkLmdldF9maW5nZXJfc3RhdHVzKCkgPT0gRlByaW50LkZpbmdlclN0YXR1c0Zs YWdzLk5PTkUKKyt2ZXJpZnlfcmVzLCB2ZXJpZnlfcHJpbnQgPSBkLnZlcmlmeV9zeW5jKHApCisr YXNzZXJ0IGQuZ2V0X2Zpbmdlcl9zdGF0dXMoKSA9PSBGUHJpbnQuRmluZ2VyU3RhdHVzRmxhZ3Mu Tk9ORQorK3ByaW50KGYiLS0tIFZFUklGWSBET05FOiBSZXN1bHQge3ZlcmlmeV9yZXN9IC0tLSIp CisrCisrIyBJZGVudGlmeQorK3ByaW50KCItLS0gQVNZTkMgSURFTlRJRllJTkcgLS0tIikKKytp ZGVudGlmaWVkID0gRmFsc2UKKytkZXNlcmlhbGl6ZWRfcHJpbnRzID0gW10KKytmb3IgcCBpbiBz dG9yZWQ6CisrICAgIGRlc2VyaWFsaXplZF9wcmludHMuYXBwZW5kKEZQcmludC5QcmludC5kZXNl cmlhbGl6ZShwLnNlcmlhbGl6ZSgpKSkKKysgICAgYXNzZXJ0IGRlc2VyaWFsaXplZF9wcmludHNb LTFdLmVxdWFsKHApCisrCisrZC5pZGVudGlmeShkZXNlcmlhbGl6ZWRfcHJpbnRzLCBjYWxsYmFj az1pZGVudGlmeV9kb25lKQorK2RlbCBkZXNlcmlhbGl6ZWRfcHJpbnRzCisrCisrd2hpbGUgbm90 IGlkZW50aWZpZWQ6CisrICAgIGN0eC5pdGVyYXRpb24oVHJ1ZSkKKytwcmludCgiLS0tIElERU5U SUZZIERPTkUgLS0tIikKKysKKysjIERlbGV0ZQorK3ByaW50KCItLS0gREVMRVRJTkcgLS0tIikK KytwX3RvX2RlbGV0ZSA9IG5leHQoKHNwIGZvciBzcCBpbiBzdG9yZWQgaWYgc3AuZXF1YWwocCkp LCBOb25lKQorK2lmIHBfdG9fZGVsZXRlOgorKyAgICBkLmRlbGV0ZV9wcmludF9zeW5jKHBfdG9f ZGVsZXRlKQorKyAgICBwcmludCgiLS0tIERFTEVURSBET05FIC0tLSIpCisrZGVsIHBfdG9fZGVs ZXRlCisrZGVsIHAKKysKKysjIExpc3QKKytwcmludCgiLS0tIExJU1RJTkcgLS0tIikKKytzdG9y ZWQgPSBkLmxpc3RfcHJpbnRzX3N5bmMoKQorK3ByaW50czMgPSBsZW4oc3RvcmVkKQorK3ByaW50 KGYiLS0tIExJU1QgRE9ORTogRm91bmQge3ByaW50czN9IHByaW50cyBhZnRlciBkZWxldGluZy0t LSIpCisrYXNzZXJ0IChwcmludHMyIC0gcHJpbnRzMykgPT0gMQorK2RlbCBzdG9yZWQKKysKKytk LmNsb3NlX3N5bmMoKQorKworK2RlbCBkCisrZGVsIGMKK2RpZmYgLS1naXQgYS90ZXN0cy9lZ2lz X2V0dTkwNS9kZXZpY2UgYi90ZXN0cy9lZ2lzX2V0dTkwNS9kZXZpY2UKK25ldyBmaWxlIG1vZGUg MTAwNjQ0CitpbmRleCAwMDAwMDAwMC4uNGI3NTBhNzkKKy0tLSAvZGV2L251bGwKKysrKyBiL3Rl c3RzL2VnaXNfZXR1OTA1L2RldmljZQorQEAgLTAsMCArMSwzNDggQEAKKytQOiAvZGV2aWNlcy9w Y2kwMDAwOjAwLzAwMDA6MDA6MDguMS8wMDAwOjA1OjAwLjQvdXNiMy8zLTMKKytOOiBidXMvdXNi LzAwMy8wMDI9MTIwMTAwMDJGRjAwMDA0MDdBMUNBRTA1NDI1MzAxMDIwMzAxMDkwMjI3MDAwMTAx MDBBMDMyMDkwNDAwMDAwM0ZGRkZGRjAwMDcwNTgxMDI0MDAwMDAwNzA1MDIwMjQwMDAwMDA3MDU4 MzAzNDAwMDAxCisrRTogQlVTTlVNPTAwMworK0U6IERFVk5BTUU9L2Rldi9idXMvdXNiLzAwMy8w MDIKKytFOiBERVZOVU09MDAyCisrRTogREVWVFlQRT11c2JfZGV2aWNlCisrRTogRFJJVkVSPXVz YgorK0U6IElEX0JVUz11c2IKKytFOiBJRF9NT0RFTD1FVFU5MDVBeHgtRQorK0U6IElEX01PREVM X0VOQz1FVFU5MDVBeHgtRQorK0U6IElEX01PREVMX0lEPTA1YWUKKytFOiBJRF9QQVRIPXBjaS0w MDAwOjA1OjAwLjQtdXNiLTA6MworK0U6IElEX1BBVEhfVEFHPXBjaS0wMDAwXzA1XzAwXzQtdXNi LTBfMworK0U6IElEX1BBVEhfV0lUSF9VU0JfUkVWSVNJT049cGNpLTAwMDA6MDU6MDAuNC11c2J2 Mi0wOjMKKytFOiBJRF9SRVZJU0lPTj01MzQyCisrRTogSURfU0VSSUFMPUVHSVNfRVRVOTA1QXh4 LUVfMEE4NjA2UE5BMzU3CisrRTogSURfU0VSSUFMX1NIT1JUPTBBODYwNlBOQTM1NworK0U6IElE X1VTQl9JTlRFUkZBQ0VTPTpmZmZmZmY6CisrRTogSURfVVNCX01PREVMPUVUVTkwNUF4eC1FCisr RTogSURfVVNCX01PREVMX0VOQz1FVFU5MDVBeHgtRQorK0U6IElEX1VTQl9NT0RFTF9JRD0wNWFl CisrRTogSURfVVNCX1JFVklTSU9OPTUzNDIKKytFOiBJRF9VU0JfU0VSSUFMPUVHSVNfRVRVOTA1 QXh4LUVfMEE4NjA2UE5BMzU3CisrRTogSURfVVNCX1NFUklBTF9TSE9SVD0wQTg2MDZQTkEzNTcK KytFOiBJRF9VU0JfVkVORE9SPUVHSVMKKytFOiBJRF9VU0JfVkVORE9SX0VOQz1FR0lTCisrRTog SURfVVNCX1ZFTkRPUl9JRD0xYzdhCisrRTogSURfVkVORE9SPUVHSVMKKytFOiBJRF9WRU5ET1Jf RU5DPUVHSVMKKytFOiBJRF9WRU5ET1JfRlJPTV9EQVRBQkFTRT1MaWdoVHVuaW5nIFRlY2hub2xv Z3kgSW5jLgorK0U6IElEX1ZFTkRPUl9JRD0xYzdhCisrRTogTUFKT1I9MTg5CisrRTogTUlOT1I9 MjU3CisrRTogUFJPRFVDVD0xYzdhLzVhZS81MzQyCisrRTogU1VCU1lTVEVNPXVzYgorK0U6IFRZ UEU9MjU1LzAvMAorK0E6IGF1dGhvcml6ZWQ9MVxuCisrQTogYXZvaWRfcmVzZXRfcXVpcms9MFxu CisrQTogYkNvbmZpZ3VyYXRpb25WYWx1ZT0xXG4KKytBOiBiRGV2aWNlQ2xhc3M9ZmZcbgorK0E6 IGJEZXZpY2VQcm90b2NvbD0wMFxuCisrQTogYkRldmljZVN1YkNsYXNzPTAwXG4KKytBOiBiTWF4 UGFja2V0U2l6ZTA9NjRcbgorK0E6IGJNYXhQb3dlcj0xMDBtQVxuCisrQTogYk51bUNvbmZpZ3Vy YXRpb25zPTFcbgorK0E6IGJOdW1JbnRlcmZhY2VzPSAxXG4KKytBOiBiY2REZXZpY2U9NTM0Mlxu CisrQTogYm1BdHRyaWJ1dGVzPWEwXG4KKytBOiBidXNudW09M1xuCisrQTogY29uZmlndXJhdGlv bj0KKytIOiBkZXNjcmlwdG9ycz0xMjAxMDAwMkZGMDAwMDQwN0ExQ0FFMDU0MjUzMDEwMjAzMDEw OTAyMjcwMDAxMDEwMEEwMzIwOTA0MDAwMDAzRkZGRkZGMDAwNzA1ODEwMjQwMDAwMDA3MDUwMjAy NDAwMDAwMDcwNTgzMDM0MDAwMDEKKytBOiBkZXY9MTg5OjI1N1xuCisrQTogZGV2bnVtPTJcbgor K0E6IGRldnBhdGg9M1xuCisrTDogZHJpdmVyPS4uLy4uLy4uLy4uLy4uLy4uL2J1cy91c2IvZHJp dmVycy91c2IKKytMOiBmaXJtd2FyZV9ub2RlPS4uLy4uLy4uLy4uLy4uL0xOWFNZU1RNOjAwL0xO WFNZQlVTOjAwL1BOUDBBMDg6MDAvZGV2aWNlOjBjL2RldmljZToxYi9kZXZpY2U6MWMvZGV2aWNl OjFmCisrQTogaWRQcm9kdWN0PTA1YWVcbgorK0E6IGlkVmVuZG9yPTFjN2FcbgorK0E6IGx0bV9j YXBhYmxlPW5vXG4KKytBOiBtYW51ZmFjdHVyZXI9RUdJU1xuCisrQTogbWF4Y2hpbGQ9MFxuCisr QTogcGh5c2ljYWxfbG9jYXRpb24vZG9jaz1ub1xuCisrQTogcGh5c2ljYWxfbG9jYXRpb24vaG9y aXpvbnRhbF9wb3NpdGlvbj1sZWZ0XG4KKytBOiBwaHlzaWNhbF9sb2NhdGlvbi9saWQ9bm9cbgor K0E6IHBoeXNpY2FsX2xvY2F0aW9uL3BhbmVsPXRvcFxuCisrQTogcGh5c2ljYWxfbG9jYXRpb24v dmVydGljYWxfcG9zaXRpb249dXBwZXJcbgorK0w6IHBvcnQ9Li4vMy0wOjEuMC91c2IzLXBvcnQz CisrQTogcG93ZXIvYWN0aXZlX2R1cmF0aW9uPTkzMTM2NzU4XG4KKytBOiBwb3dlci9hc3luYz1l bmFibGVkXG4KKytBOiBwb3dlci9hdXRvc3VzcGVuZD0yXG4KKytBOiBwb3dlci9hdXRvc3VzcGVu ZF9kZWxheV9tcz0yMDAwXG4KKytBOiBwb3dlci9jb25uZWN0ZWRfZHVyYXRpb249OTMxMzk2MjFc bgorK0E6IHBvd2VyL2NvbnRyb2w9b25cbgorK0E6IHBvd2VyL2xldmVsPW9uXG4KKytBOiBwb3dl ci9wZXJzaXN0PTFcbgorK0E6IHBvd2VyL3J1bnRpbWVfYWN0aXZlX2tpZHM9MFxuCisrQTogcG93 ZXIvcnVudGltZV9hY3RpdmVfdGltZT05MzEzODgyNlxuCisrQTogcG93ZXIvcnVudGltZV9lbmFi bGVkPWZvcmJpZGRlblxuCisrQTogcG93ZXIvcnVudGltZV9zdGF0dXM9YWN0aXZlXG4KKytBOiBw b3dlci9ydW50aW1lX3N1c3BlbmRlZF90aW1lPTBcbgorK0E6IHBvd2VyL3J1bnRpbWVfdXNhZ2U9 MVxuCisrQTogcG93ZXIvd2FrZXVwPWRpc2FibGVkXG4KKytBOiBwb3dlci93YWtldXBfYWJvcnRf Y291bnQ9XG4KKytBOiBwb3dlci93YWtldXBfYWN0aXZlPVxuCisrQTogcG93ZXIvd2FrZXVwX2Fj dGl2ZV9jb3VudD1cbgorK0E6IHBvd2VyL3dha2V1cF9jb3VudD1cbgorK0E6IHBvd2VyL3dha2V1 cF9leHBpcmVfY291bnQ9XG4KKytBOiBwb3dlci93YWtldXBfbGFzdF90aW1lX21zPVxuCisrQTog cG93ZXIvd2FrZXVwX21heF90aW1lX21zPVxuCisrQTogcG93ZXIvd2FrZXVwX3RvdGFsX3RpbWVf bXM9XG4KKytBOiBwcm9kdWN0PUVUVTkwNUF4eC1FXG4KKytBOiBxdWlya3M9MHgwXG4KKytBOiBy ZW1vdmFibGU9Zml4ZWRcbgorK0E6IHJ4X2xhbmVzPTFcbgorK0E6IHNlcmlhbD0wQTg2MDZQTkEz NTdcbgorK0E6IHNwZWVkPTEyXG4KKytBOiB0eF9sYW5lcz0xXG4KKytBOiB1cmJudW09NTg1NVxu CisrQTogdmVyc2lvbj0gMi4wMFxuCisrCisrUDogL2RldmljZXMvcGNpMDAwMDowMC8wMDAwOjAw OjA4LjEvMDAwMDowNTowMC40L3VzYjMKKytOOiBidXMvdXNiLzAwMy8wMDE9MTIwMTAwMDIwOTAw MDE0MDZCMUQwMjAwMTQwNjAzMDIwMTAxMDkwMjE5MDAwMTAxMDBFMDAwMDkwNDAwMDAwMTA5MDAw MDAwMDcwNTgxMDMwNDAwMEMKKytFOiBCVVNOVU09MDAzCisrRTogQ1VSUkVOVF9UQUdTPTpzZWF0 OgorK0U6IERFVk5BTUU9L2Rldi9idXMvdXNiLzAwMy8wMDEKKytFOiBERVZOVU09MDAxCisrRTog REVWVFlQRT11c2JfZGV2aWNlCisrRTogRFJJVkVSPXVzYgorK0U6IElEX0FVVE9TVVNQRU5EPTEK KytFOiBJRF9CVVM9dXNiCisrRTogSURfRk9SX1NFQVQ9dXNiLXBjaS0wMDAwXzA1XzAwXzQKKytF OiBJRF9NT0RFTD14SENJX0hvc3RfQ29udHJvbGxlcgorK0U6IElEX01PREVMX0VOQz14SENJXHgy MEhvc3RceDIwQ29udHJvbGxlcgorK0U6IElEX01PREVMX0ZST01fREFUQUJBU0U9Mi4wIHJvb3Qg aHViCisrRTogSURfTU9ERUxfSUQ9MDAwMgorK0U6IElEX1BBVEg9cGNpLTAwMDA6MDU6MDAuNAor K0U6IElEX1BBVEhfVEFHPXBjaS0wMDAwXzA1XzAwXzQKKytFOiBJRF9SRVZJU0lPTj0wNjE0Cisr RTogSURfU0VSSUFMPUxpbnV4XzYuMTQuMC0zNy1nZW5lcmljX3hoY2ktaGNkX3hIQ0lfSG9zdF9D b250cm9sbGVyXzAwMDA6MDU6MDAuNAorK0U6IElEX1NFUklBTF9TSE9SVD0wMDAwOjA1OjAwLjQK KytFOiBJRF9VU0JfSU5URVJGQUNFUz06MDkwMDAwOgorK0U6IElEX1VTQl9NT0RFTD14SENJX0hv c3RfQ29udHJvbGxlcgorK0U6IElEX1VTQl9NT0RFTF9FTkM9eEhDSVx4MjBIb3N0XHgyMENvbnRy b2xsZXIKKytFOiBJRF9VU0JfTU9ERUxfSUQ9MDAwMgorK0U6IElEX1VTQl9SRVZJU0lPTj0wNjE0 CisrRTogSURfVVNCX1NFUklBTD1MaW51eF82LjE0LjAtMzctZ2VuZXJpY194aGNpLWhjZF94SENJ X0hvc3RfQ29udHJvbGxlcl8wMDAwOjA1OjAwLjQKKytFOiBJRF9VU0JfU0VSSUFMX1NIT1JUPTAw MDA6MDU6MDAuNAorK0U6IElEX1VTQl9WRU5ET1I9TGludXhfNi4xNC4wLTM3LWdlbmVyaWNfeGhj aS1oY2QKKytFOiBJRF9VU0JfVkVORE9SX0VOQz1MaW51eFx4MjA2LjE0LjAtMzctZ2VuZXJpY1x4 MjB4aGNpLWhjZAorK0U6IElEX1VTQl9WRU5ET1JfSUQ9MWQ2YgorK0U6IElEX1ZFTkRPUj1MaW51 eF82LjE0LjAtMzctZ2VuZXJpY194aGNpLWhjZAorK0U6IElEX1ZFTkRPUl9FTkM9TGludXhceDIw Ni4xNC4wLTM3LWdlbmVyaWNceDIweGhjaS1oY2QKKytFOiBJRF9WRU5ET1JfRlJPTV9EQVRBQkFT RT1MaW51eCBGb3VuZGF0aW9uCisrRTogSURfVkVORE9SX0lEPTFkNmIKKytFOiBNQUpPUj0xODkK KytFOiBNSU5PUj0yNTYKKytFOiBQUk9EVUNUPTFkNmIvMi82MTQKKytFOiBTVUJTWVNURU09dXNi CisrRTogVEFHUz06c2VhdDoKKytFOiBUWVBFPTkvMC8xCisrQTogYXV0aG9yaXplZD0xXG4KKytB OiBhdXRob3JpemVkX2RlZmF1bHQ9MVxuCisrQTogYXZvaWRfcmVzZXRfcXVpcms9MFxuCisrQTog YkNvbmZpZ3VyYXRpb25WYWx1ZT0xXG4KKytBOiBiRGV2aWNlQ2xhc3M9MDlcbgorK0E6IGJEZXZp Y2VQcm90b2NvbD0wMVxuCisrQTogYkRldmljZVN1YkNsYXNzPTAwXG4KKytBOiBiTWF4UGFja2V0 U2l6ZTA9NjRcbgorK0E6IGJNYXhQb3dlcj0wbUFcbgorK0E6IGJOdW1Db25maWd1cmF0aW9ucz0x XG4KKytBOiBiTnVtSW50ZXJmYWNlcz0gMVxuCisrQTogYmNkRGV2aWNlPTA2MTRcbgorK0E6IGJt QXR0cmlidXRlcz1lMFxuCisrQTogYnVzbnVtPTNcbgorK0E6IGNvbmZpZ3VyYXRpb249CisrSDog ZGVzY3JpcHRvcnM9MTIwMTAwMDIwOTAwMDE0MDZCMUQwMjAwMTQwNjAzMDIwMTAxMDkwMjE5MDAw MTAxMDBFMDAwMDkwNDAwMDAwMTA5MDAwMDAwMDcwNTgxMDMwNDAwMEMKKytBOiBkZXY9MTg5OjI1 NlxuCisrQTogZGV2bnVtPTFcbgorK0E6IGRldnBhdGg9MFxuCisrTDogZHJpdmVyPS4uLy4uLy4u Ly4uLy4uL2J1cy91c2IvZHJpdmVycy91c2IKKytMOiBmaXJtd2FyZV9ub2RlPS4uLy4uLy4uLy4u L0xOWFNZU1RNOjAwL0xOWFNZQlVTOjAwL1BOUDBBMDg6MDAvZGV2aWNlOjBjL2RldmljZToxYi9k ZXZpY2U6MWMKKytBOiBpZFByb2R1Y3Q9MDAwMlxuCisrQTogaWRWZW5kb3I9MWQ2YlxuCisrQTog aW50ZXJmYWNlX2F1dGhvcml6ZWRfZGVmYXVsdD0xXG4KKytBOiBsdG1fY2FwYWJsZT1ub1xuCisr QTogbWFudWZhY3R1cmVyPUxpbnV4IDYuMTQuMC0zNy1nZW5lcmljIHhoY2ktaGNkXG4KKytBOiBt YXhjaGlsZD00XG4KKytBOiBwb3dlci9hY3RpdmVfZHVyYXRpb249OTMxMzc5OTNcbgorK0E6IHBv d2VyL2FzeW5jPWVuYWJsZWRcbgorK0E6IHBvd2VyL2F1dG9zdXNwZW5kPTBcbgorK0E6IHBvd2Vy L2F1dG9zdXNwZW5kX2RlbGF5X21zPTBcbgorK0E6IHBvd2VyL2Nvbm5lY3RlZF9kdXJhdGlvbj05 MzEzOTc1OFxuCisrQTogcG93ZXIvY29udHJvbD1hdXRvXG4KKytBOiBwb3dlci9sZXZlbD1hdXRv XG4KKytBOiBwb3dlci9ydW50aW1lX2FjdGl2ZV9raWRzPTFcbgorK0E6IHBvd2VyL3J1bnRpbWVf YWN0aXZlX3RpbWU9OTMxMzkyMDZcbgorK0E6IHBvd2VyL3J1bnRpbWVfZW5hYmxlZD1lbmFibGVk XG4KKytBOiBwb3dlci9ydW50aW1lX3N0YXR1cz1hY3RpdmVcbgorK0E6IHBvd2VyL3J1bnRpbWVf c3VzcGVuZGVkX3RpbWU9MFxuCisrQTogcG93ZXIvcnVudGltZV91c2FnZT0wXG4KKytBOiBwb3dl ci93YWtldXA9ZGlzYWJsZWRcbgorK0E6IHBvd2VyL3dha2V1cF9hYm9ydF9jb3VudD1cbgorK0E6 IHBvd2VyL3dha2V1cF9hY3RpdmU9XG4KKytBOiBwb3dlci93YWtldXBfYWN0aXZlX2NvdW50PVxu CisrQTogcG93ZXIvd2FrZXVwX2NvdW50PVxuCisrQTogcG93ZXIvd2FrZXVwX2V4cGlyZV9jb3Vu dD1cbgorK0E6IHBvd2VyL3dha2V1cF9sYXN0X3RpbWVfbXM9XG4KKytBOiBwb3dlci93YWtldXBf bWF4X3RpbWVfbXM9XG4KKytBOiBwb3dlci93YWtldXBfdG90YWxfdGltZV9tcz1cbgorK0E6IHBy b2R1Y3Q9eEhDSSBIb3N0IENvbnRyb2xsZXJcbgorK0E6IHF1aXJrcz0weDBcbgorK0E6IHJlbW92 YWJsZT11bmtub3duXG4KKytBOiByeF9sYW5lcz0xXG4KKytBOiBzZXJpYWw9MDAwMDowNTowMC40 XG4KKytBOiBzcGVlZD00ODBcbgorK0E6IHR4X2xhbmVzPTFcbgorK0E6IHVyYm51bT05ODlcbgor K0E6IHZlcnNpb249IDIuMDBcbgorKworK1A6IC9kZXZpY2VzL3BjaTAwMDA6MDAvMDAwMDowMDow OC4xLzAwMDA6MDU6MDAuNAorK0U6IERSSVZFUj14aGNpX2hjZAorK0U6IElEX01PREVMX0ZST01f REFUQUJBU0U9UmVub2lyL0NlemFubmUgVVNCIDMuMQorK0U6IElEX1BBVEg9cGNpLTAwMDA6MDU6 MDAuNAorK0U6IElEX1BBVEhfVEFHPXBjaS0wMDAwXzA1XzAwXzQKKytFOiBJRF9QQ0lfQ0xBU1Nf RlJPTV9EQVRBQkFTRT1TZXJpYWwgYnVzIGNvbnRyb2xsZXIKKytFOiBJRF9QQ0lfSU5URVJGQUNF X0ZST01fREFUQUJBU0U9WEhDSQorK0U6IElEX1BDSV9TVUJDTEFTU19GUk9NX0RBVEFCQVNFPVVT QiBjb250cm9sbGVyCisrRTogSURfVkVORE9SX0ZST01fREFUQUJBU0U9QWR2YW5jZWQgTWljcm8g RGV2aWNlcywgSW5jLiBbQU1EXQorK0U6IE1PREFMSUFTPXBjaTp2MDAwMDEwMjJkMDAwMDE2Mzlz djAwMDAxN0FBc2QwMDAwMzgyRmJjMENzYzAzaTMwCisrRTogUENJX0NMQVNTPUMwMzMwCisrRTog UENJX0lEPTEwMjI6MTYzOQorK0U6IFBDSV9TTE9UX05BTUU9MDAwMDowNTowMC40CisrRTogUENJ X1NVQlNZU19JRD0xN0FBOjM4MkYKKytFOiBTVUJTWVNURU09cGNpCisrQTogYXJpX2VuYWJsZWQ9 MFxuCisrQTogYnJva2VuX3Bhcml0eV9zdGF0dXM9MFxuCisrQTogY2xhc3M9MHgwYzAzMzBcbgor K0g6IGNvbmZpZz0yMjEwMzkxNjA3MDQxMDAwMDAzMDAzMEMxMDAwODAwMDA0MDA0MEQwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUExNzJGMzgwMDAwMDAw MDQ4MDAwMDAwMDAwMDAwMDBGRjAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTUwMDgwMEFBMTcyRjM4 MDE2NDAzQzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMTIwMDAwMDEwQTAwMjAwQTE4RjAwMDAx MDI5MDAwMDAzMEQ0MDAwNDAwMDAzMTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFG MDA3MTAwMDAwMDAwMDAxRTAwODAwMTAwMDAwMTAwMDAwMDAwMDAwMDAwMDAwMDA1QzA4NjAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMTAw MDc4MDAwRTAwRjAwMDBGMDBGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDBCMDAwMTJBMDEwMDAxMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDAwMDEwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAorK0E6 IGNvbnNpc3RlbnRfZG1hX21hc2tfYml0cz02NFxuCisrQTogY3VycmVudF9saW5rX3NwZWVkPTgu MCBHVC9zIFBDSWVcbgorK0E6IGN1cnJlbnRfbGlua193aWR0aD0xNlxuCisrQTogZDNjb2xkX2Fs bG93ZWQ9MVxuCisrQTogZGJjPWRpc2FibGVkXG4KKytBOiBkYmNfYkludGVyZmFjZVByb3RvY29s PTAxXG4KKytBOiBkYmNfYmNkRGV2aWNlPTAwMTBcbgorK0E6IGRiY19pZFByb2R1Y3Q9MDAxMFxu CisrQTogZGJjX2lkVmVuZG9yPTFkNmJcbgorK0E6IGRiY19wb2xsX2ludGVydmFsX21zPTY0XG4K KytBOiBkZXZpY2U9MHgxNjM5XG4KKytBOiBkbWFfbWFza19iaXRzPTY0XG4KKytMOiBkcml2ZXI9 Li4vLi4vLi4vLi4vYnVzL3BjaS9kcml2ZXJzL3hoY2lfaGNkCisrQTogZHJpdmVyX292ZXJyaWRl PShudWxsKVxuCisrQTogZW5hYmxlPTFcbgorK0w6IGZpcm13YXJlX25vZGU9Li4vLi4vLi4vTE5Y U1lTVE06MDAvTE5YU1lCVVM6MDAvUE5QMEEwODowMC9kZXZpY2U6MGMvZGV2aWNlOjFiCisrTDog aW9tbXU9Li4vLi4vMDAwMDowMDowMC4yL2lvbW11L2l2aGQwCisrTDogaW9tbXVfZ3JvdXA9Li4v Li4vLi4vLi4va2VybmVsL2lvbW11X2dyb3Vwcy8yMAorK0E6IGlycT00NFxuCisrQTogbGluay9s MHNfYXNwbT0wXG4KKytBOiBsaW5rL2wxX2FzcG09MFxuCisrQTogbG9jYWxfY3B1bGlzdD0wLTEx XG4KKytBOiBsb2NhbF9jcHVzPWZmZlxuCisrQTogbWF4X2xpbmtfc3BlZWQ9OC4wIEdUL3MgUENJ ZVxuCisrQTogbWF4X2xpbmtfd2lkdGg9MTZcbgorK0E6IG1vZGFsaWFzPXBjaTp2MDAwMDEwMjJk MDAwMDE2MzlzdjAwMDAxN0FBc2QwMDAwMzgyRmJjMENzYzAzaTMwXG4KKytBOiBtc2lfYnVzPTFc bgorK0E6IG1zaV9pcnFzLzQ1PW1zaXhcbgorK0E6IG1zaV9pcnFzLzQ2PW1zaXhcbgorK0E6IG1z aV9pcnFzLzQ3PW1zaXhcbgorK0E6IG1zaV9pcnFzLzQ4PW1zaXhcbgorK0E6IG1zaV9pcnFzLzQ5 PW1zaXhcbgorK0E6IG1zaV9pcnFzLzUwPW1zaXhcbgorK0E6IG1zaV9pcnFzLzUxPW1zaXhcbgor K0E6IG1zaV9pcnFzLzUyPW1zaXhcbgorK0E6IG51bWFfbm9kZT0tMVxuCisrQTogcG9vbHM9cG9v bGluZm8gLSAwLjFcbmJ1ZmZlci0yMDQ4ICAgICAgICAgMCAgICAwIDIwNDggIDBcbmJ1ZmZlci01 MTIgICAgICAgICAgMCAgICAwICA1MTIgIDBcbmJ1ZmZlci0xMjggICAgICAgICAgMCAgICAwICAx MjggIDBcbmJ1ZmZlci0zMiAgICAgICAgICAgMCAgICAwICAgMzIgIDBcbnhIQ0kgMUtCIHN0cmVh bSBjdHggYXJyYXlzICAgIDAgICAgMCAxMDI0ICAwXG54SENJIDI1NiBieXRlIHN0cmVhbSBjdHgg YXJyYXlzICAgIDAgICAgMCAgMjU2ICAwXG54SENJIGlucHV0L291dHB1dCBjb250ZXh0cyAgICA0 ICAgIDUgMjExMiAgNVxueEhDSSByaW5nIHNlZ21lbnRzICAgMjMgICAyMyA0MDk2IDIzXG5idWZm ZXItMjA0OCAgICAgICAgIDAgICAgMCAyMDQ4ICAwXG5idWZmZXItNTEyICAgICAgICAgIDAgICAg MCAgNTEyICAwXG5idWZmZXItMTI4ICAgICAgICAgIDAgICAgMCAgMTI4ICAwXG5idWZmZXItMzIg ICAgICAgICAgIDAgICAgMCAgIDMyICAwXG4KKytBOiBwb3dlci9hc3luYz1lbmFibGVkXG4KKytB OiBwb3dlci9jb250cm9sPW9uXG4KKytBOiBwb3dlci9ydW50aW1lX2FjdGl2ZV9raWRzPTFcbgor K0E6IHBvd2VyL3J1bnRpbWVfYWN0aXZlX3RpbWU9OTMxMzk1MjNcbgorK0E6IHBvd2VyL3J1bnRp bWVfZW5hYmxlZD1mb3JiaWRkZW5cbgorK0E6IHBvd2VyL3J1bnRpbWVfc3RhdHVzPWFjdGl2ZVxu CisrQTogcG93ZXIvcnVudGltZV9zdXNwZW5kZWRfdGltZT0wXG4KKytBOiBwb3dlci9ydW50aW1l X3VzYWdlPTFcbgorK0E6IHBvd2VyL3dha2V1cD1lbmFibGVkXG4KKytBOiBwb3dlci93YWtldXBf YWJvcnRfY291bnQ9MFxuCisrQTogcG93ZXIvd2FrZXVwX2FjdGl2ZT0wXG4KKytBOiBwb3dlci93 YWtldXBfYWN0aXZlX2NvdW50PTBcbgorK0E6IHBvd2VyL3dha2V1cF9jb3VudD0wXG4KKytBOiBw b3dlci93YWtldXBfZXhwaXJlX2NvdW50PTBcbgorK0E6IHBvd2VyL3dha2V1cF9sYXN0X3RpbWVf bXM9MFxuCisrQTogcG93ZXIvd2FrZXVwX21heF90aW1lX21zPTBcbgorK0E6IHBvd2VyL3dha2V1 cF90b3RhbF90aW1lX21zPTBcbgorK0E6IHBvd2VyX3N0YXRlPUQwXG4KKytBOiByZXNldF9tZXRo b2Q9cG1cbgorK0E6IHJlc291cmNlPTB4MDAwMDAwMDBkMDQwMDAwMCAweDAwMDAwMDAwZDA0ZmZm ZmYgMHgwMDAwMDAwMDAwMTQwMjA0XG4weDAwMDAwMDAwMDAwMDAwMDAgMHgwMDAwMDAwMDAwMDAw MDAwIDB4MDAwMDAwMDAwMDAwMDAwMFxuMHgwMDAwMDAwMDAwMDAwMDAwIDB4MDAwMDAwMDAwMDAw MDAwMCAweDAwMDAwMDAwMDAwMDAwMDBcbjB4MDAwMDAwMDAwMDAwMDAwMCAweDAwMDAwMDAwMDAw MDAwMDAgMHgwMDAwMDAwMDAwMDAwMDAwXG4weDAwMDAwMDAwMDAwMDAwMDAgMHgwMDAwMDAwMDAw MDAwMDAwIDB4MDAwMDAwMDAwMDAwMDAwMFxuMHgwMDAwMDAwMDAwMDAwMDAwIDB4MDAwMDAwMDAw MDAwMDAwMCAweDAwMDAwMDAwMDAwMDAwMDBcbjB4MDAwMDAwMDAwMDAwMDAwMCAweDAwMDAwMDAw MDAwMDAwMDAgMHgwMDAwMDAwMDAwMDAwMDAwXG4weDAwMDAwMDAwMDAwMDAwMDAgMHgwMDAwMDAw MDAwMDAwMDAwIDB4MDAwMDAwMDAwMDAwMDAwMFxuMHgwMDAwMDAwMDAwMDAwMDAwIDB4MDAwMDAw MDAwMDAwMDAwMCAweDAwMDAwMDAwMDAwMDAwMDBcbjB4MDAwMDAwMDAwMDAwMDAwMCAweDAwMDAw MDAwMDAwMDAwMDAgMHgwMDAwMDAwMDAwMDAwMDAwXG4weDAwMDAwMDAwMDAwMDAwMDAgMHgwMDAw MDAwMDAwMDAwMDAwIDB4MDAwMDAwMDAwMDAwMDAwMFxuMHgwMDAwMDAwMDAwMDAwMDAwIDB4MDAw MDAwMDAwMDAwMDAwMCAweDAwMDAwMDAwMDAwMDAwMDBcbjB4MDAwMDAwMDAwMDAwMDAwMCAweDAw MDAwMDAwMDAwMDAwMDAgMHgwMDAwMDAwMDAwMDAwMDAwXG4KKytBOiByZXZpc2lvbj0weDAwXG4K KytBOiBzdWJzeXN0ZW1fZGV2aWNlPTB4MzgyZlxuCisrQTogc3Vic3lzdGVtX3ZlbmRvcj0weDE3 YWFcbgorK0E6IHZlbmRvcj0weDEwMjJcbgorKworK1A6IC9kZXZpY2VzL3BjaTAwMDA6MDAvMDAw MDowMDowOC4xCisrRTogRFJJVkVSPXBjaWVwb3J0CisrRTogSURfTU9ERUxfRlJPTV9EQVRBQkFT RT1SZW5vaXIgSW50ZXJuYWwgUENJZSBHUFAgQnJpZGdlIHRvIEJ1cworK0U6IElEX1BBVEg9cGNp LTAwMDA6MDA6MDguMQorK0U6IElEX1BBVEhfVEFHPXBjaS0wMDAwXzAwXzA4XzEKKytFOiBJRF9Q Q0lfQ0xBU1NfRlJPTV9EQVRBQkFTRT1CcmlkZ2UKKytFOiBJRF9QQ0lfSU5URVJGQUNFX0ZST01f REFUQUJBU0U9Tm9ybWFsIGRlY29kZQorK0U6IElEX1BDSV9TVUJDTEFTU19GUk9NX0RBVEFCQVNF PVBDSSBicmlkZ2UKKytFOiBJRF9WRU5ET1JfRlJPTV9EQVRBQkFTRT1BZHZhbmNlZCBNaWNybyBE ZXZpY2VzLCBJbmMuIFtBTURdCisrRTogTU9EQUxJQVM9cGNpOnYwMDAwMTAyMmQwMDAwMTYzNXN2 MDAwMDEwMjJzZDAwMDAxNjM1YmMwNnNjMDRpMDAKKytFOiBQQ0lfQ0xBU1M9NjA0MDAKKytFOiBQ Q0lfSUQ9MTAyMjoxNjM1CisrRTogUENJX1NMT1RfTkFNRT0wMDAwOjAwOjA4LjEKKytFOiBQQ0lf U1VCU1lTX0lEPTEwMjI6MTYzNQorK0U6IFNVQlNZU1RFTT1wY2kKKytBOiBhcmlfZW5hYmxlZD0w XG4KKytBOiBicm9rZW5fcGFyaXR5X3N0YXR1cz0wXG4KKytBOiBjbGFzcz0weDA2MDQwMFxuCisr SDogY29uZmlnPTIyMTAzNTE2MDcwNDEwMDAwMDAwMDQwNjEwMDA4MTAwMDAwMDAwMDAwMDAwMDAw MDAwMDUwNTAwMTExMTAwMDAzMEQwNjBEMDAxRTAxMUYwRkMwMDAwMDBGQzAwMDAwMDAwMDAwMDAw NTAwMDAwMDAwMDAwMDAwMEZGMDEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MTU4MDNDODAwMDAwMDAwMTBBMDQyMDAyMjgwMDAwMDEwMjkwMDAwMDMwRDcwMDA0MDBDMDMzMTAw MDAwMDAwMDAwMDQwMDAxODAwMDEwMDAwMDAwMDAwMDAwMDMxMDAwMDAwMDAwMDFFMDA4MDAxNDMw MDFGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVDMDgxMDAwMDAw RTBGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMDAw MDAwMjIxMDM1MTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDdDQTAwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMEIwMDAxMjcwMTAwMDEwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDE5MDAwMTJBMDAwMDAwMDAwMDAwMDAwMDdGN0Y3RjdGN0Y3RjdGN0Y3RjdGN0Y3RjdGN0Y3 RjdGN0Y3RjdGN0Y3RjdGN0Y3RjdGN0Y3RjdGN0Y3RjdGN0YwMDAwMDAwMDBEMDAwMTQwNUYwMDFE MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMjUwMDAxNDEwMTAwMDA4MDAxMDAwMDgwMDAwMDAwMDAyNjAwMDE0NDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkZGRkZGRkZGRkZG RkZGRkZGRkZGRkZGRkZGRkZGRkYyNzAwMDEwMDAwMDAwMDAwMzg5QzAwMDAzODlDMDAwMDM4OUMw MDAwMzg5QzAwMDAzODlDMDAwMDM4OUMwMDAwMzg5QzAwMDAzODlDMDAwMDM4OUMwMDAwMzg5QzAw MDAzODlDMDAwMDM4OUMwMDAwMzg5QzAwMDAzODlDMDAwMDM4OUMwMDAwMzg5QzAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCisrQTog Y29uc2lzdGVudF9kbWFfbWFza19iaXRzPTMyXG4KKytBOiBjdXJyZW50X2xpbmtfc3BlZWQ9OC4w IEdUL3MgUENJZVxuCisrQTogY3VycmVudF9saW5rX3dpZHRoPTE2XG4KKytBOiBkM2NvbGRfYWxs b3dlZD0xXG4KKytBOiBkZXZpY2U9MHgxNjM1XG4KKytBOiBkbWFfbWFza19iaXRzPTMyXG4KKytM OiBkcml2ZXI9Li4vLi4vLi4vYnVzL3BjaS9kcml2ZXJzL3BjaWVwb3J0CisrQTogZHJpdmVyX292 ZXJyaWRlPShudWxsKVxuCisrQTogZW5hYmxlPTJcbgorK0w6IGZpcm13YXJlX25vZGU9Li4vLi4v TE5YU1lTVE06MDAvTE5YU1lCVVM6MDAvUE5QMEEwODowMC9kZXZpY2U6MGMKKytMOiBpb21tdT0u Li8wMDAwOjAwOjAwLjIvaW9tbXUvaXZoZDAKKytMOiBpb21tdV9ncm91cD0uLi8uLi8uLi9rZXJu ZWwvaW9tbXVfZ3JvdXBzLzgKKytBOiBpcnE9MzNcbgorK0E6IGxvY2FsX2NwdWxpc3Q9MC0xMVxu CisrQTogbG9jYWxfY3B1cz1mZmZcbgorK0E6IG1heF9saW5rX3NwZWVkPTguMCBHVC9zIFBDSWVc bgorK0E6IG1heF9saW5rX3dpZHRoPTE2XG4KKytBOiBtb2RhbGlhcz1wY2k6djAwMDAxMDIyZDAw MDAxNjM1c3YwMDAwMTAyMnNkMDAwMDE2MzViYzA2c2MwNGkwMFxuCisrQTogbXNpX2J1cz0xXG4K KytBOiBtc2lfaXJxcy8zMz1tc2lcbgorK0E6IG51bWFfbm9kZT0tMVxuCisrQTogcG93ZXIvYXN5 bmM9ZW5hYmxlZFxuCisrQTogcG93ZXIvYXV0b3N1c3BlbmRfZGVsYXlfbXM9MTAwXG4KKytBOiBw b3dlci9jb250cm9sPWF1dG9cbgorK0E6IHBvd2VyL3J1bnRpbWVfYWN0aXZlX2tpZHM9NVxuCisr QTogcG93ZXIvcnVudGltZV9hY3RpdmVfdGltZT05MzEzOTUzN1xuCisrQTogcG93ZXIvcnVudGlt ZV9lbmFibGVkPWVuYWJsZWRcbgorK0E6IHBvd2VyL3J1bnRpbWVfc3RhdHVzPWFjdGl2ZVxuCisr QTogcG93ZXIvcnVudGltZV9zdXNwZW5kZWRfdGltZT0wXG4KKytBOiBwb3dlci9ydW50aW1lX3Vz YWdlPTBcbgorK0E6IHBvd2VyL3dha2V1cD1kaXNhYmxlZFxuCisrQTogcG93ZXIvd2FrZXVwX2Fi b3J0X2NvdW50PVxuCisrQTogcG93ZXIvd2FrZXVwX2FjdGl2ZT1cbgorK0E6IHBvd2VyL3dha2V1 cF9hY3RpdmVfY291bnQ9XG4KKytBOiBwb3dlci93YWtldXBfY291bnQ9XG4KKytBOiBwb3dlci93 YWtldXBfZXhwaXJlX2NvdW50PVxuCisrQTogcG93ZXIvd2FrZXVwX2xhc3RfdGltZV9tcz1cbgor K0E6IHBvd2VyL3dha2V1cF9tYXhfdGltZV9tcz1cbgorK0E6IHBvd2VyL3dha2V1cF90b3RhbF90 aW1lX21zPVxuCisrQTogcG93ZXJfc3RhdGU9RDBcbgorK0E6IHJlc2V0X21ldGhvZD1wbVxuCisr QTogcmVzb3VyY2U9MHgwMDAwMDAwMDAwMDAwMDAwIDB4MDAwMDAwMDAwMDAwMDAwMCAweDAwMDAw MDAwMDAwMDAwMDBcbjB4MDAwMDAwMDAwMDAwMDAwMCAweDAwMDAwMDAwMDAwMDAwMDAgMHgwMDAw MDAwMDAwMDAwMDAwXG4weDAwMDAwMDAwMDAwMDAwMDAgMHgwMDAwMDAwMDAwMDAwMDAwIDB4MDAw MDAwMDAwMDAwMDAwMFxuMHgwMDAwMDAwMDAwMDAwMDAwIDB4MDAwMDAwMDAwMDAwMDAwMCAweDAw MDAwMDAwMDAwMDAwMDBcbjB4MDAwMDAwMDAwMDAwMDAwMCAweDAwMDAwMDAwMDAwMDAwMDAgMHgw MDAwMDAwMDAwMDAwMDAwXG4weDAwMDAwMDAwMDAwMDAwMDAgMHgwMDAwMDAwMDAwMDAwMDAwIDB4 MDAwMDAwMDAwMDAwMDAwMFxuMHgwMDAwMDAwMDAwMDAwMDAwIDB4MDAwMDAwMDAwMDAwMDAwMCAw eDAwMDAwMDAwMDAwMDAwMDBcbjB4MDAwMDAwMDAwMDAwMDAwMCAweDAwMDAwMDAwMDAwMDAwMDAg MHgwMDAwMDAwMDAwMDAwMDAwXG4weDAwMDAwMDAwMDAwMDAwMDAgMHgwMDAwMDAwMDAwMDAwMDAw IDB4MDAwMDAwMDAwMDAwMDAwMFxuMHgwMDAwMDAwMDAwMDAwMDAwIDB4MDAwMDAwMDAwMDAwMDAw MCAweDAwMDAwMDAwMDAwMDAwMDBcbjB4MDAwMDAwMDAwMDAwMDAwMCAweDAwMDAwMDAwMDAwMDAw MDAgMHgwMDAwMDAwMDAwMDAwMDAwXG4weDAwMDAwMDAwMDAwMDAwMDAgMHgwMDAwMDAwMDAwMDAw MDAwIDB4MDAwMDAwMDAwMDAwMDAwMFxuMHgwMDAwMDAwMDAwMDAwMDAwIDB4MDAwMDAwMDAwMDAw MDAwMCAweDAwMDAwMDAwMDAwMDAwMDBcbjB4MDAwMDAwMDAwMDAwMTAwMCAweDAwMDAwMDAwMDAw MDFmZmYgMHgwMDAwMDAwMDAwMDAwMTAxXG4weDAwMDAwMDAwZDAzMDAwMDAgMHgwMDAwMDAwMGQw NmZmZmZmIDB4MDAwMDAwMDAwMDAwMDIwMFxuMHgwMDAwMDBmY2UwMDAwMDAwIDB4MDAwMDAwZmNm MDFmZmZmZiAweDAwMDAwMDAwMDAxMDIyMDFcbjB4MDAwMDAwMDAwMDAwMDAwMCAweDAwMDAwMDAw MDAwMDAwMDAgMHgwMDAwMDAwMDAwMDAwMDAwXG4KKytBOiByZXZpc2lvbj0weDAwXG4KKytBOiBz ZWNvbmRhcnlfYnVzX251bWJlcj01XG4KKytBOiBzdWJvcmRpbmF0ZV9idXNfbnVtYmVyPTVcbgor K0E6IHN1YnN5c3RlbV9kZXZpY2U9MHgxNjM1XG4KKytBOiBzdWJzeXN0ZW1fdmVuZG9yPTB4MTAy MlxuCisrQTogdmVuZG9yPTB4MTAyMlxuCisrCitkaWZmIC0tZ2l0IGEvdGVzdHMvbWVzb24uYnVp bGQgYi90ZXN0cy9tZXNvbi5idWlsZAoraW5kZXggMDdjOTI0YmUuLmI2ZThiZjk1IDEwMDY0NAor LS0tIGEvdGVzdHMvbWVzb24uYnVpbGQKKysrKyBiL3Rlc3RzL21lc29uLmJ1aWxkCitAQCAtNTIs NiArNTIsNyBAQCBkcml2ZXJzX3Rlc3RzID0gWworICAgICAnbmIxMDEwJywKKyAgICAgJ2VnaXMw NTcwJywKKyAgICAgJ2VnaXNtb2MnLAorKyAgICAnZWdpc19ldHU5MDUnLAorICAgICAnZWdpc21v Yy0wNWExJywKKyAgICAgJ2VnaXNtb2MtMDU4NicsCisgICAgICdlZ2lzbW9jLTA1ODcnLAorLS0g CitHaXRMYWIKKworCitGcm9tIGMyMTZmMDRkZDFmZDFjZmUyMWE3MWQyNmJmNmUxN2ZjMWEzNzk4 M2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/TWFyY289MjBUcmV2 aXNhbj0yMD0yOFRyZXZpPUMzPUIxbz0yOT89IDxtYWlsQDN2MW4wLm5ldD4KK0RhdGU6IFR1ZSwg OSBKdW4gMjAyNiAxNDoxOToxNyArMDIwMAorU3ViamVjdDogW1BBVENIIDAyLzEzXSBlZ2lzX2V0 dTkwNTogRG8gbm90IGxlYWsgdGhlIHRyYW5zZmVyIGJ1ZmZlcgorCitUaGUgYnVmZmVyIGlzIG5v dyBvd25lZCBieSB0aGUgZGF0YSwgc28gd2Ugc2hvdWxkIG5vdCBzdGVhbCBpdCB3aGVuCitwYXNz aW5nIGl0IGFyb3VuZCBvciB3ZSdsbCBsZWFrLgorLS0tCisgbGliZnByaW50L2RyaXZlcnMvZWdp c21vYy9lZ2lzX2V0dTkwNS5jIHwgNiArKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRp b25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliZnByaW50L2RyaXZlcnMv ZWdpc21vYy9lZ2lzX2V0dTkwNS5jIGIvbGliZnByaW50L2RyaXZlcnMvZWdpc21vYy9lZ2lzX2V0 dTkwNS5jCitpbmRleCBiZTBjNmUwNS4uZjkxZjA0NzIgMTAwNjQ0CistLS0gYS9saWJmcHJpbnQv ZHJpdmVycy9lZ2lzbW9jL2VnaXNfZXR1OTA1LmMKKysrKyBiL2xpYmZwcmludC9kcml2ZXJzL2Vn aXNtb2MvZWdpc19ldHU5MDUuYworQEAgLTIwNyw3ICsyMDcsOCBAQCBlZ2lzX2V0dTkwNV9jbWRf cmVjZWl2ZV9jYiAoRnBpVXNiVHJhbnNmZXIgKnRyYW5zZmVyLAorICAgICAgIGZwaV9zc21fbWFy a19mYWlsZWQgKHRyYW5zZmVyLT5zc20sIGVycm9yKTsKKyAgICAgICByZXR1cm47CisgICAgIH0K Ky0gIGlmIChkYXRhID09IE5VTEwgfHwgdHJhbnNmZXItPmFjdHVhbF9sZW5ndGggPCBlZ2lzX2V0 dTkwNV9yZWFkX3ByZWZpeF9sZW4pCisrCisrICBpZiAodHJhbnNmZXItPmFjdHVhbF9sZW5ndGgg PCBlZ2lzX2V0dTkwNV9yZWFkX3ByZWZpeF9sZW4pCisgICAgIHsKKyAgICAgICBmcGlfc3NtX21h cmtfZmFpbGVkICh0cmFuc2Zlci0+c3NtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZw aV9kZXZpY2VfZXJyb3JfbmV3IChGUF9ERVZJQ0VfRVJST1JfR0VORVJBTCkpOworQEAgLTIxNiw2 ICsyMTcsNyBAQCBlZ2lzX2V0dTkwNV9jbWRfcmVjZWl2ZV9jYiAoRnBpVXNiVHJhbnNmZXIgKnRy YW5zZmVyLAorIAorICAgLyogU3RvcmUgdGhlIHJlc3BvbnNlIGRhdGEgYW5kIGxldCB0aGUgY21k X3NzbV9kb25lIGNhbGxiYWNrIGludm9rZQorICAgICogdGhlIGFjdHVhbCBjYWxsYmFjayB3aXRo IHRoZSBzdG9yZWQgZGF0YSAqLworKyAgZ19hc3NlcnQgKGRhdGEgIT0gTlVMTCk7CisgICBkYXRh LT5idWZmZXJfaW4gPSBnX3N0ZWFsX3BvaW50ZXIgKCZ0cmFuc2Zlci0+YnVmZmVyKTsKKyAgIGRh dGEtPmxlbmd0aF9pbiA9IHRyYW5zZmVyLT5hY3R1YWxfbGVuZ3RoOworIAorQEAgLTI4Miw3ICsy ODQsNyBAQCBlZ2lzX2V0dTkwNV9jbWRfc3NtX2RvbmUgKEZwaVNzbSAgICpzc20sCisgICBpZiAo ZGF0YSAmJiBkYXRhLT5jYWxsYmFjaykKKyAgICAgeworICAgICAgIGRhdGEtPmNhbGxiYWNrIChk ZXZpY2UsCistICAgICAgICAgICAgICAgICAgICAgIGdfc3RlYWxfcG9pbnRlciAoJmRhdGEtPmJ1 ZmZlcl9pbiksCisrICAgICAgICAgICAgICAgICAgICAgIGRhdGEtPmJ1ZmZlcl9pbiwKKyAgICAg ICAgICAgICAgICAgICAgICAgZGF0YS0+bGVuZ3RoX2luLAorICAgICAgICAgICAgICAgICAgICAg ICBnX3N0ZWFsX3BvaW50ZXIgKCZsb2NhbF9lcnJvcikpOworICAgICB9CistLSAKK0dpdExhYgor CisKK0Zyb20gZmRiYzllZTY1NThhNTRkYzM5M2E1ZGZhMDRmNjI2YmU4MzkzMTE2YyBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9NYXJjbz0yMFRyZXZpc2FuPTIwPTI4 VHJldmk9QzM9QjFvPTI5Pz0gPG1haWxAM3YxbjAubmV0PgorRGF0ZTogVHVlLCA5IEp1biAyMDI2 IDEzOjUxOjI4ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMDMvMTNdIGVnaXNfZXR1OTA1OiBSZW1v dmUgdW51c2VkIHRyYW5zZmVyCisKKy0tLQorIGxpYmZwcmludC9kcml2ZXJzL2VnaXNtb2MvZWdp c19ldHU5MDUuYyB8IDExIC0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDExIGRlbGV0aW9u cygtKQorCitkaWZmIC0tZ2l0IGEvbGliZnByaW50L2RyaXZlcnMvZWdpc21vYy9lZ2lzX2V0dTkw NS5jIGIvbGliZnByaW50L2RyaXZlcnMvZWdpc21vYy9lZ2lzX2V0dTkwNS5jCitpbmRleCBmOTFm MDQ3Mi4uMGJiOWE2YmEgMTAwNjQ0CistLS0gYS9saWJmcHJpbnQvZHJpdmVycy9lZ2lzbW9jL2Vn aXNfZXR1OTA1LmMKKysrKyBiL2xpYmZwcmludC9kcml2ZXJzL2VnaXNtb2MvZWdpc19ldHU5MDUu YworQEAgLTE0NDUsOCArMTQ0NSw2IEBAIHN0YXRpYyB2b2lkCisgZWdpc19ldHU5MDVfZGV2X2lu aXRfaGFuZGxlciAoRnBpU3NtICAgKnNzbSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBGcERldmljZSAqZGV2aWNlKQorIHsKKy0gIGdfYXV0b3B0cihGcGlVc2JUcmFuc2ZlcikgdHJh bnNmZXIgPSBOVUxMOworLQorICAgc3dpdGNoIChmcGlfc3NtX2dldF9jdXJfc3RhdGUgKHNzbSkp CisgICAgIHsKKyAgICAgY2FzZSBERVZfR0VUX0ZXX1ZFUlNJT046CitAQCAtMTQ2MiwxNSArMTQ2 MCw2IEBAIGVnaXNfZXR1OTA1X2Rldl9pbml0X2hhbmRsZXIgKEZwaVNzbSAgICpzc20sCisgICAg IGRlZmF1bHQ6CisgICAgICAgZ19hc3NlcnRfbm90X3JlYWNoZWQgKCk7CisgICAgIH0KKy0KKy0g IHRyYW5zZmVyID0gZnBpX3VzYl90cmFuc2Zlcl9uZXcgKGRldmljZSk7CistICB0cmFuc2Zlci0+ c3NtID0gc3NtOworLSAgdHJhbnNmZXItPnNob3J0X2lzX2Vycm9yID0gVFJVRTsKKy0gIGZwaV91 c2JfdHJhbnNmZXJfc3VibWl0IChnX3N0ZWFsX3BvaW50ZXIgKCZ0cmFuc2ZlciksCistICAgICAg ICAgICAgICAgICAgICAgICAgICAgRUdJU19FVFU5MDVfVVNCX0NPTlRST0xfVElNRU9VVCwKKy0g ICAgICAgICAgICAgICAgICAgICAgICAgICBmcGlfZGV2aWNlX2dldF9jYW5jZWxsYWJsZSAoZGV2 aWNlKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICBmcGlfc3NtX3VzYl90cmFuc2Zlcl9j YiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyB9CisgCisgc3RhdGljIHZv aWQKKy0tIAorR2l0TGFiCisKKworRnJvbSBmNTgwNjgyNWRlODAzYTdiZWNkMDJiNDlhM2Y0YTZh OGUzMjU3OWZmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP01hcmNv PTIwVHJldmlzYW49MjA9MjhUcmV2aT1DMz1CMW89Mjk/PSA8bWFpbEAzdjFuMC5uZXQ+CitEYXRl OiBUdWUsIDkgSnVuIDIwMjYgMTM6NTY6MDIgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAwNC8xM10g ZWdpc19ldHU5MDU6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKKworLS0tCisgbGliZnByaW50L2Ry aXZlcnMvZWdpc21vYy9lZ2lzX2V0dTkwNS5jIHwgMSAtCisgMSBmaWxlIGNoYW5nZWQsIDEgZGVs ZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2xpYmZwcmludC9kcml2ZXJzL2VnaXNtb2MvZWdpc19l dHU5MDUuYyBiL2xpYmZwcmludC9kcml2ZXJzL2VnaXNtb2MvZWdpc19ldHU5MDUuYworaW5kZXgg MGJiOWE2YmEuLjNkNTJiZjg5IDEwMDY0NAorLS0tIGEvbGliZnByaW50L2RyaXZlcnMvZWdpc21v Yy9lZ2lzX2V0dTkwNS5jCisrKysgYi9saWJmcHJpbnQvZHJpdmVycy9lZ2lzbW9jL2VnaXNfZXR1 OTA1LmMKK0BAIC05NDMsNyArOTQzLDYgQEAgZWdpc19ldHU5MDVfZ2V0X2NoZWNrX2NtZCAoRnBE ZXZpY2UgKmRldmljZSwKKyAgIGZwX2RiZyAoIkdldCBjaGVjayBjb21tYW5kIik7CisgICBGcGlE ZXZpY2VFZ2lzRXR1OTA1ICpzZWxmID0gRlBJX0RFVklDRV9FR0lTX0VUVTkwNSAoZGV2aWNlKTsK KyAgIGdfYXV0byhGcGlCeXRlV3JpdGVyKSB3cml0ZXIgPSB7MH07CistICBnX2F1dG9mcmVlIGd1 Y2hhciAqcmVzdWx0ID0gTlVMTDsKKyAgIGdib29sZWFuIHdyaXR0ZW4gPSBUUlVFOworIAorICAg LyoKKy0tIAorR2l0TGFiCisKKworRnJvbSAxMmFmMjVkNDNiODkwMDc3Y2MxM2EwNTk3Yjc3MmM5 NDAxY2E2MjczIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP01hcmNv PTIwVHJldmlzYW49MjA9MjhUcmV2aT1DMz1CMW89Mjk/PSA8bWFpbEAzdjFuMC5uZXQ+CitEYXRl OiBNb24sIDggSnVuIDIwMjYgMTM6Mjg6NTAgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAwNS8xM10g ZWdpc19ldHU5MDU6IFNldCBzaG9ydCBlcnJvciB1c2luZyBmdW5jdGlvbgorCistLS0KKyBsaWJm cHJpbnQvZHJpdmVycy9lZ2lzbW9jL2VnaXNfZXR1OTA1LmMgfCA0ICsrLS0KKyAxIGZpbGUgY2hh bmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGli ZnByaW50L2RyaXZlcnMvZWdpc21vYy9lZ2lzX2V0dTkwNS5jIGIvbGliZnByaW50L2RyaXZlcnMv ZWdpc21vYy9lZ2lzX2V0dTkwNS5jCitpbmRleCAzZDUyYmY4OS4uNGU1ODUxNWMgMTAwNjQ0Cist LS0gYS9saWJmcHJpbnQvZHJpdmVycy9lZ2lzbW9jL2VnaXNfZXR1OTA1LmMKKysrKyBiL2xpYmZw cmludC9kcml2ZXJzL2VnaXNtb2MvZWdpc19ldHU5MDUuYworQEAgLTk3LDcgKzk3LDcgQEAgZWdp c19ldHU5MDVfd2FpdF9maW5nZXJfb25fc2Vuc29yIChGcGlTc20gICAqc3NtLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdJU19FVFU5MDVfVVNCX0lOVEVSUlVQVF9JTl9S RUNWX0xFTkdUSCk7CisgICB0cmFuc2Zlci0+c3NtID0gc3NtOworICAgLyogSW50ZXJydXB0IG9u IHRoaXMgZGV2aWNlIGFsd2F5cyByZXR1cm5zIDEgYnl0ZSBzaG9ydDsgdGhpcyBpcyBleHBlY3Rl ZCAqLworLSAgdHJhbnNmZXItPnNob3J0X2lzX2Vycm9yID0gRkFMU0U7CisrICBmcGlfdXNiX3Ry YW5zZmVyX3NldF9zaG9ydF9lcnJvciAodHJhbnNmZXIsIEZBTFNFKTsKKyAKKyAgIGZwaV9kZXZp Y2VfcmVwb3J0X2Zpbmdlcl9zdGF0dXMgKGRldmljZSwgRlBfRklOR0VSX1NUQVRVU19ORUVERUQp OworIAorQEAgLTM4Miw3ICszODIsNyBAQCBlZ2lzX2V0dTkwNV9leGVjX2NtZCAoRnBEZXZpY2Ug ICAgICAgICAqZGV2aWNlLAorICAgICB9CisgCisgICB0cmFuc2ZlciA9IGZwaV91c2JfdHJhbnNm ZXJfbmV3IChkZXZpY2UpOworLSAgdHJhbnNmZXItPnNob3J0X2lzX2Vycm9yID0gVFJVRTsKKysg IGZwaV91c2JfdHJhbnNmZXJfc2V0X3Nob3J0X2Vycm9yICh0cmFuc2ZlciwgVFJVRSk7CisgICB0 cmFuc2Zlci0+c3NtID0gc2VsZi0+Y21kX3NzbTsKKyAKKyAgIGZwaV91c2JfdHJhbnNmZXJfZmls bF9idWxrX2Z1bGwgKHRyYW5zZmVyLAorLS0gCitHaXRMYWIKKworCitGcm9tIDQyZjBiOTZjMTAz MTk1YTZhN2ZhNmI0NTI1OGI3MmUzOTNjOTA3OTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitG cm9tOiA9P1VURi04P3E/TWFyY289MjBUcmV2aXNhbj0yMD0yOFRyZXZpPUMzPUIxbz0yOT89IDxt YWlsQDN2MW4wLm5ldD4KK0RhdGU6IE1vbiwgOCBKdW4gMjAyNiAxMzozMTo1OCArMDIwMAorU3Vi amVjdDogW1BBVENIIDA2LzEzXSBlZ2lzX2V0dTkwNTogUmVseSBvbiBkZWZhdWx0IGRldmljZSBj YW5jZWxsYWJsZSBmb3IgYWxsCisgdGhlIGFjdGlvbnMKKworSSBkb24ndCBzZWUgYSByZWFzb24g d2h5IHdlIHNob3VsZCByZWx5IG9uIGEgZGlmZmVyZW50IGNhbmNlbGxhYmxlIGZvcgoraW50ZXJy dXB0cywgYnV0IGhhcHB5IHRvIGxlYXJuIG1vcmUgYWJvdXQgdGhpcworLS0tCisgbGliZnByaW50 L2RyaXZlcnMvZWdpc21vYy9lZ2lzX2V0dTkwNS5jIHwgMzMgKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMzIgZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS9saWJmcHJpbnQvZHJpdmVycy9lZ2lzbW9jL2VnaXNfZXR1OTA1LmMgYi9s aWJmcHJpbnQvZHJpdmVycy9lZ2lzbW9jL2VnaXNfZXR1OTA1LmMKK2luZGV4IDRlNTg1MTVjLi4z YzFkY2Y3MyAxMDA2NDQKKy0tLSBhL2xpYmZwcmludC9kcml2ZXJzL2VnaXNtb2MvZWdpc19ldHU5 MDUuYworKysrIGIvbGliZnByaW50L2RyaXZlcnMvZWdpc21vYy9lZ2lzX2V0dTkwNS5jCitAQCAt MzMsNyArMzMsNiBAQCBzdHJ1Y3QgX0ZwaURldmljZUVnaXNFdHU5MDUKKyAgIEZwaVNzbSAgICAg ICAgICp0YXNrX3NzbTsKKyAgIEZwaVNzbSAgICAgICAgICpjbWRfc3NtOworICAgRnBpVXNiVHJh bnNmZXIgKmNtZF90cmFuc2ZlcjsKKy0gIEdDYW5jZWxsYWJsZSAgICppbnRlcnJ1cHRfY2FuY2Vs bGFibGU7CisgICBHUHRyQXJyYXkgICAgICAqZW5yb2xsZWRfaWRzOworICAgZ2ludCAgICAgICAg ICAgIG1heF9lbnJvbGxfc3RhZ2VzOworICAgZ3VpbnQ4ICAgICAgICAgIHNpZFtFR0lTX0VUVTkw NV9GSU5HRVJQUklOVF9EQVRBX1NJWkVdOworQEAgLTg5LDggKzg4LDYgQEAgZWdpc19ldHU5MDVf d2FpdF9maW5nZXJfb25fc2Vuc29yIChGcGlTc20gICAqc3NtLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRnBEZXZpY2UgKmRldmljZSkKKyB7CisgICBmcF9kYmcgKCJXYWl0 IGZvciBmaW5nZXIgb24gc2Vuc29yIik7CistICBGcGlEZXZpY2VFZ2lzRXR1OTA1ICpzZWxmID0g RlBJX0RFVklDRV9FR0lTX0VUVTkwNSAoZGV2aWNlKTsKKy0KKyAgIGdfYXV0b3B0cihGcGlVc2JU cmFuc2ZlcikgdHJhbnNmZXIgPSBmcGlfdXNiX3RyYW5zZmVyX25ldyAoZGV2aWNlKTsKKyAKKyAg IGZwaV91c2JfdHJhbnNmZXJfZmlsbF9pbnRlcnJ1cHQgKHRyYW5zZmVyLCBFR0lTX0VUVTkwNV9F UF9DTURfSU5URVJSVVBUX0lOLAorQEAgLTEwMyw3ICsxMDAsNyBAQCBlZ2lzX2V0dTkwNV93YWl0 X2Zpbmdlcl9vbl9zZW5zb3IgKEZwaVNzbSAgICpzc20sCisgCisgICBmcGlfdXNiX3RyYW5zZmVy X3N1Ym1pdCAoZ19zdGVhbF9wb2ludGVyICgmdHJhbnNmZXIpLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVHSVNfRVRVOTA1X1VTQl9JTlRFUlJVUFRfVElNRU9VVCwKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICBzZWxmLT5pbnRlcnJ1cHRfY2FuY2VsbGFibGUsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgZnBpX2RldmljZV9nZXRfY2FuY2VsbGFibGUgKGRldmljZSksCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZWdpc19ldHU5MDVfZmluZ2VyX29uX3NlbnNvcl9j YiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyB9CitAQCAtMTU1MSwzNyAr MTU0OCwxMSBAQCBlZ2lzX2V0dTkwNV9vcGVuIChGcERldmljZSAqZGV2aWNlKQorICAgZnBpX3Nz bV9zdGFydCAoc2VsZi0+dGFza19zc20sIGVnaXNfZXR1OTA1X2Rldl9pbml0X2RvbmUpOworIH0K KyAKKy1zdGF0aWMgdm9pZAorLWVnaXNfZXR1OTA1X2NhbmNlbCAoRnBEZXZpY2UgKmRldmljZSkK Ky17CistICBmcF9kYmcgKCJDYW5jZWwiKTsKKy0gIEZwaURldmljZUVnaXNFdHU5MDUgKnNlbGYg PSBGUElfREVWSUNFX0VHSVNfRVRVOTA1IChkZXZpY2UpOworLQorLSAgZ19jYW5jZWxsYWJsZV9j YW5jZWwgKHNlbGYtPmludGVycnVwdF9jYW5jZWxsYWJsZSk7CistICBnX2NsZWFyX29iamVjdCAo JnNlbGYtPmludGVycnVwdF9jYW5jZWxsYWJsZSk7CistICBzZWxmLT5pbnRlcnJ1cHRfY2FuY2Vs bGFibGUgPSBnX2NhbmNlbGxhYmxlX25ldyAoKTsKKy19CistCistc3RhdGljIHZvaWQKKy1lZ2lz X2V0dTkwNV9zdXNwZW5kIChGcERldmljZSAqZGV2aWNlKQorLXsKKy0gIGZwX2RiZyAoIlN1c3Bl bmQiKTsKKy0KKy0gIGVnaXNfZXR1OTA1X2NhbmNlbCAoZGV2aWNlKTsKKy0gIGdfY2FuY2VsbGFi bGVfY2FuY2VsIChmcGlfZGV2aWNlX2dldF9jYW5jZWxsYWJsZSAoZGV2aWNlKSk7CistICBmcGlf ZGV2aWNlX3N1c3BlbmRfY29tcGxldGUgKGRldmljZSwgTlVMTCk7CistfQorLQorIHN0YXRpYyB2 b2lkCisgZWdpc19ldHU5MDVfY2xvc2UgKEZwRGV2aWNlICpkZXZpY2UpCisgeworICAgZ19hdXRv cHRyKEdFcnJvcikgZXJyb3IgPSBOVUxMOworICAgZnBfZGJnICgiQ2xvc2luZyBkZXZpY2UiKTsK Ky0gIEZwaURldmljZUVnaXNFdHU5MDUgKnNlbGYgPSBGUElfREVWSUNFX0VHSVNfRVRVOTA1IChk ZXZpY2UpOworLSAgR0Vycm9yICplcnJvciA9IE5VTEw7CistCistICBlZ2lzX2V0dTkwNV9jYW5j ZWwgKGRldmljZSk7CistICBnX2NsZWFyX29iamVjdCAoJnNlbGYtPmludGVycnVwdF9jYW5jZWxs YWJsZSk7CisgCisgICBnX3VzYl9kZXZpY2VfcmVsZWFzZV9pbnRlcmZhY2UgKGZwaV9kZXZpY2Vf Z2V0X3VzYl9kZXZpY2UgKGRldmljZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDAsIDAsICZlcnJvcik7CitAQCAtMTYxMCw4ICsxNTgxLDYgQEAgZnBpX2RldmljZV9lZ2lz X2V0dTkwNV9jbGFzc19pbml0IChGcGlEZXZpY2VFZ2lzRXR1OTA1Q2xhc3MgKmtsYXNzKQorIAor ICAgZGV2X2NsYXNzLT5wcm9iZSA9IGVnaXNfZXR1OTA1X3Byb2JlOworICAgZGV2X2NsYXNzLT5v cGVuID0gZWdpc19ldHU5MDVfb3BlbjsKKy0gIGRldl9jbGFzcy0+Y2FuY2VsID0gZWdpc19ldHU5 MDVfY2FuY2VsOworLSAgZGV2X2NsYXNzLT5zdXNwZW5kID0gZWdpc19ldHU5MDVfc3VzcGVuZDsK KyAgIGRldl9jbGFzcy0+Y2xvc2UgPSBlZ2lzX2V0dTkwNV9jbG9zZTsKKyAgIGRldl9jbGFzcy0+ aWRlbnRpZnkgPSBlZ2lzX2V0dTkwNV9pZGVudGlmeV92ZXJpZnk7CisgICBkZXZfY2xhc3MtPnZl cmlmeSA9IGVnaXNfZXR1OTA1X2lkZW50aWZ5X3ZlcmlmeTsKKy0tIAorR2l0TGFiCisKKworRnJv bSA0YjhmNDZmMWY5Y2UzZDJiMmNlOTZkMGI4N2ZkYjQ2NGY5ZTY3YWJlIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP01hcmNvPTIwVHJldmlzYW49MjA9MjhUcmV2aT1D Mz1CMW89Mjk/PSA8bWFpbEAzdjFuMC5uZXQ+CitEYXRlOiBNb24sIDggSnVuIDIwMjYgMTM6MzI6 NTEgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAwNy8xM10gZWdpc19ldHU5MDU6IFVzZSBmcGktYnl0 ZXMtcmVhZGVyIHRvIGdldCB0aGUgZmlybXdhcmUKKyBzdHJpbmcKKworLS0tCisgbGliZnByaW50 L2RyaXZlcnMvZWdpc21vYy9lZ2lzX2V0dTkwNS5jIHwgMzcgKysrKysrKysrKysrKysrKysrKy0t LS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQor CitkaWZmIC0tZ2l0IGEvbGliZnByaW50L2RyaXZlcnMvZWdpc21vYy9lZ2lzX2V0dTkwNS5jIGIv bGliZnByaW50L2RyaXZlcnMvZWdpc21vYy9lZ2lzX2V0dTkwNS5jCitpbmRleCAzYzFkY2Y3My4u YzRkNDA5M2QgMTAwNjQ0CistLS0gYS9saWJmcHJpbnQvZHJpdmVycy9lZ2lzbW9jL2VnaXNfZXR1 OTA1LmMKKysrKyBiL2xpYmZwcmludC9kcml2ZXJzL2VnaXNtb2MvZWdpc19ldHU5MDUuYworQEAg LTEzNDgsMTIgKzEzNDgsMTQgQEAgZWdpc19ldHU5MDVfZndfdmVyc2lvbl9jYiAoRnBEZXZpY2Ug KmRldmljZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBnc2l6ZSAgICAgbGVuZ3RoX2lu LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdFcnJvciAgICplcnJvcikKKyB7CistICBm cF9kYmcgKCJGaXJtd2FyZSB2ZXJzaW9uIGNhbGxiYWNrIik7CisgICBGcGlEZXZpY2VFZ2lzRXR1 OTA1ICpzZWxmID0gRlBJX0RFVklDRV9FR0lTX0VUVTkwNSAoZGV2aWNlKTsKKy0gIGdfYXV0b2Zy ZWUgZ2NoYXIgKmZ3X3ZlcnNpb24gPSBOVUxMOworLSAgZ3NpemUgcHJlZml4X2xlbmd0aDsKKy0g IGd1Y2hhciAqZndfdmVyc2lvbl9zdGFydDsKKysgIEZwaUJ5dGVSZWFkZXIgcmVhZGVyOworKyAg Y29uc3QgZ3VpbnQ4ICpmd192ZXJzaW9uX2RhdGEgPSBOVUxMOworKyAgY29uc3QgZ3VpbnQgcHJl Zml4X2xlbmd0aCA9IGVnaXNfZXR1OTA1X3JlYWRfcHJlZml4X2xlbiArIDIgKyAzICsgMTsKKyAg IGdzaXplIGZ3X3ZlcnNpb25fbGVuZ3RoOworKyAgZ19hdXRvZnJlZSBnY2hhciAqZndfdmVyc2lv biA9IE5VTEw7CisrCisrICBmcF9kYmcgKCJGaXJtd2FyZSB2ZXJzaW9uIGNhbGxiYWNrIik7Cisg CisgICBpZiAoZXJyb3IpCisgICAgIHsKK0BAIC0xMzgwLDEwICsxMzgyLDI5IEBAIGVnaXNfZXR1 OTA1X2Z3X3ZlcnNpb25fY2IgKEZwRGV2aWNlICpkZXZpY2UsCisgICAgKiBjb21lIHdpdGggZXZl cnkgcGF5bG9hZCBUaGVuIHdlIHdpbGwgYWxzbyBza2lwIHRoZSBjYXJyaWFnZSByZXR1cm4gYW5k IHRha2UKKyAgICAqIGFsbCBidXQgdGhlIGxhc3QgMiBieXRlcyBhcyB0aGUgRlcgVmVyc2lvbgor ICAgICovCistICBwcmVmaXhfbGVuZ3RoID0gZWdpc19ldHU5MDVfcmVhZF9wcmVmaXhfbGVuICsg MiArIDMgKyAxOworLSAgZndfdmVyc2lvbl9zdGFydCA9IGJ1ZmZlcl9pbiArIHByZWZpeF9sZW5n dGg7CistICBmd192ZXJzaW9uX2xlbmd0aCA9IGxlbmd0aF9pbiAtIHByZWZpeF9sZW5ndGggLSBy c3BfZndfdmVyc2lvbl9zdWZmaXhfbGVuOworLSAgZndfdmVyc2lvbiA9IGdfc3RybmR1cCAoKGdj aGFyICopIGZ3X3ZlcnNpb25fc3RhcnQsIGZ3X3ZlcnNpb25fbGVuZ3RoKTsKKysgIGZwaV9ieXRl X3JlYWRlcl9pbml0ICgmcmVhZGVyLCBidWZmZXJfaW4sIGxlbmd0aF9pbik7CisrCisrICBpZiAo IWZwaV9ieXRlX3JlYWRlcl9zZXRfcG9zICgmcmVhZGVyLCBwcmVmaXhfbGVuZ3RoKSkKKysgICAg eworKyAgICAgIGZwaV9zc21fbWFya19mYWlsZWQgKHNlbGYtPnRhc2tfc3NtLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIGZwaV9kZXZpY2VfZXJyb3JfbmV3X21zZyAoRlBfREVWSUNFX0VS Uk9SX1BST1RPLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIkRldmljZSBmaXJtd2FyZSByZXNwb25zZSAiCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9vIHNob3J0IGZvciBwcmVmaXgu IikpOworKyAgICAgIHJldHVybjsKKysgICAgfQorKworKyAgZndfdmVyc2lvbl9sZW5ndGggPSBm cGlfYnl0ZV9yZWFkZXJfZ2V0X3JlbWFpbmluZyAoJnJlYWRlcikgLSByc3BfZndfdmVyc2lvbl9z dWZmaXhfbGVuOworKworKyAgaWYgKCFmcGlfYnl0ZV9yZWFkZXJfZ2V0X2RhdGEgKCZyZWFkZXIs IGZ3X3ZlcnNpb25fbGVuZ3RoLCAmZndfdmVyc2lvbl9kYXRhKSkKKysgICAgeworKyAgICAgIGZw aV9zc21fbWFya19mYWlsZWQgKHNlbGYtPnRhc2tfc3NtLAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIGZwaV9kZXZpY2VfZXJyb3JfbmV3X21zZyAoRlBfREVWSUNFX0VSUk9SX1BST1RPLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkRl dmljZSBmaXJtd2FyZSByZXNwb25zZSAiCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAidG9vIHNob3J0IGZvciB2ZXJzaW9uIHN0cmluZy4iKSk7 CisrICAgICAgcmV0dXJuOworKyAgICB9CisrCisrICBmd192ZXJzaW9uID0gZ19zdHJuZHVwICgo Z2NoYXIgKikgZndfdmVyc2lvbl9kYXRhLCBmd192ZXJzaW9uX2xlbmd0aCk7CisgCisgICBmcF9p bmZvICgiRGV2aWNlIGZpcm13YXJlIHZlcnNpb24gaXMgJXMiLCBmd192ZXJzaW9uKTsKKyAKKy0t IAorR2l0TGFiCisKKworRnJvbSBjNmY5ZjA5NGFmZWMyYTFiZjUzZTZhNjEzMmRiZGUxMzA2NTBi OWVlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP01hcmNvPTIwVHJl dmlzYW49MjA9MjhUcmV2aT1DMz1CMW89Mjk/PSA8bWFpbEAzdjFuMC5uZXQ+CitEYXRlOiBNb24s IDggSnVuIDIwMjYgMTM6Mzk6MzQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAwOC8xM10gZWdpc19l dHU5MDU6IGRyb3AgdW51c2VkIHNpZCBmaWVsZAorCitXZSByZWFkIGl0IGJ1dCB3ZSBuZXZlciB1 c2UgaXQKKy0tLQorIGxpYmZwcmludC9kcml2ZXJzL2VnaXNtb2MvZWdpc19ldHU5MDUuYyB8IDE1 IC0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxNSBkZWxldGlvbnMoLSkKKworZGlm ZiAtLWdpdCBhL2xpYmZwcmludC9kcml2ZXJzL2VnaXNtb2MvZWdpc19ldHU5MDUuYyBiL2xpYmZw cmludC9kcml2ZXJzL2VnaXNtb2MvZWdpc19ldHU5MDUuYworaW5kZXggYzRkNDA5M2QuLjQxOGI0 M2EzIDEwMDY0NAorLS0tIGEvbGliZnByaW50L2RyaXZlcnMvZWdpc21vYy9lZ2lzX2V0dTkwNS5j CisrKysgYi9saWJmcHJpbnQvZHJpdmVycy9lZ2lzbW9jL2VnaXNfZXR1OTA1LmMKK0BAIC0zNSw3 ICszNSw2IEBAIHN0cnVjdCBfRnBpRGV2aWNlRWdpc0V0dTkwNQorICAgRnBpVXNiVHJhbnNmZXIg KmNtZF90cmFuc2ZlcjsKKyAgIEdQdHJBcnJheSAgICAgICplbnJvbGxlZF9pZHM7CisgICBnaW50 ICAgICAgICAgICAgbWF4X2Vucm9sbF9zdGFnZXM7CistICBndWludDggICAgICAgICAgc2lkW0VH SVNfRVRVOTA1X0ZJTkdFUlBSSU5UX0RBVEFfU0laRV07CisgfTsKKyAKKyBHX0RFRklORV9UWVBF IChGcGlEZXZpY2VFZ2lzRXR1OTA1LCBmcGlfZGV2aWNlX2VnaXNfZXR1OTA1LCBGUF9UWVBFX0RF VklDRSk7CitAQCAtOTExLDIwICs5MTAsNiBAQCBlZ2lzX2V0dTkwNV9lbnJvbGxfYmVnaW5fY2Ig KEZwRGV2aWNlICpkZXZpY2UsCisgICAgICAgcmV0dXJuOworICAgICB9CisgCistICBGcGlCeXRl UmVhZGVyIHJlYWRlcjsKKy0KKy0gIGZwaV9ieXRlX3JlYWRlcl9pbml0ICgmcmVhZGVyLCBidWZm ZXJfaW4sIGxlbmd0aF9pbik7CistCistICBmcGlfYnl0ZV9yZWFkZXJfc2V0X3BvcyAoJnJlYWRl ciwgRUdJU19FVFU5MDVfTElTVF9SRVNQT05TRV9QUkVGSVhfU0laRSk7CistCistICBjb25zdCBn dWludDggKmRhdGEgPSBOVUxMOworLQorLSAgZnBpX2J5dGVfcmVhZGVyX2dldF9kYXRhICgmcmVh ZGVyLCBFR0lTX0VUVTkwNV9GSU5HRVJQUklOVF9EQVRBX1NJWkUsCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgICZkYXRhKTsKKy0KKy0gIGlmIChkYXRhKQorLSAgICBtZW1jcHkgKHNlbGYt PnNpZCwgZGF0YSwgRUdJU19FVFU5MDVfRklOR0VSUFJJTlRfREFUQV9TSVpFKTsKKy0KKyAgIGZw aV9zc21fbmV4dF9zdGF0ZSAoc2VsZi0+dGFza19zc20pOworIH0KKyAKKy0tIAorR2l0TGFiCisK KworRnJvbSA2NWMzZGNiMWViMzVlYzBiZDE0YjE3YmVkZjMzZGU2YzYyMWY5ZWYzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP01hcmNvPTIwVHJldmlzYW49MjA9MjhU cmV2aT1DMz1CMW89Mjk/PSA8bWFpbEAzdjFuMC5uZXQ+CitEYXRlOiBNb24sIDggSnVuIDIwMjYg MTM6NDQ6MTMgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAwOS8xM10gZWdpc19ldHU5MDU6IEF2b2lk IHBvdGVudGlhbCB3cm9uZyBtZW1vcnkgYWNjZXNzZXMKKworLS0tCisgbGliZnByaW50L2RyaXZl cnMvZWdpc21vYy9lZ2lzX2V0dTkwNS5jIHwgNTMgKysrKysrKysrKysrKysrKysrLS0tLS0tLQor IDEgZmlsZSBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKKworZGlm ZiAtLWdpdCBhL2xpYmZwcmludC9kcml2ZXJzL2VnaXNtb2MvZWdpc19ldHU5MDUuYyBiL2xpYmZw cmludC9kcml2ZXJzL2VnaXNtb2MvZWdpc19ldHU5MDUuYworaW5kZXggNDE4YjQzYTMuLmM5Yjlh YjNhIDEwMDY0NAorLS0tIGEvbGliZnByaW50L2RyaXZlcnMvZWdpc21vYy9lZ2lzX2V0dTkwNS5j CisrKysgYi9saWJmcHJpbnQvZHJpdmVycy9lZ2lzbW9jL2VnaXNfZXR1OTA1LmMKK0BAIC0xMTAs MTEgKzExMCwyMSBAQCBlZ2lzX2V0dTkwNV92YWxpZGF0ZV9yZXNwb25zZV9wcmVmaXggKGNvbnN0 IGd1Y2hhciAqYnVmZmVyX2luLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3QgZ3VjaGFyICp2YWxpZF9wcmVmaXgsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb25zdCBnc2l6ZSAgIHZhbGlkX3ByZWZpeF9sZW4pCisgeworLSAgY29u c3QgZ2Jvb2xlYW4gcmVzdWx0ID0gbWVtY21wIChidWZmZXJfaW4gKworLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoZWdpc19ldHU5MDVfcmVhZF9wcmVmaXhfbGVuICsKKy0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVHSVNfRVRVOTA1X0NIRUNLX0JZVEVTX0xF TkdUSCksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkX3ByZWZpeCwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRfcHJlZml4X2xlbikgPT0g MDsKKysgIEZwaUJ5dGVSZWFkZXIgcmVhZGVyOworKyAgY29uc3QgZ3VpbnQ4ICpkYXRhID0gTlVM TDsKKysgIGdib29sZWFuIHJlc3VsdDsKKysKKysgIGZwaV9ieXRlX3JlYWRlcl9pbml0ICgmcmVh ZGVyLCBidWZmZXJfaW4sIGJ1ZmZlcl9pbl9sZW4pOworKworKyAgaWYgKCFmcGlfYnl0ZV9yZWFk ZXJfc2V0X3BvcyAoJnJlYWRlciwgZWdpc19ldHU5MDVfcmVhZF9wcmVmaXhfbGVuICsKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVHSVNfRVRVOTA1X0NIRUNLX0JZVEVTX0xFTkdU SCkgfHwKKysgICAgICAhZnBpX2J5dGVfcmVhZGVyX2dldF9kYXRhICgmcmVhZGVyLCB2YWxpZF9w cmVmaXhfbGVuLCAmZGF0YSkpCisrICAgIHsKKysgICAgICBmcF9kYmcgKCJSZXNwb25zZSB0b28g c2hvcnQgZm9yIHByZWZpeCB2YWxpZGF0aW9uIik7CisrICAgICAgcmV0dXJuIEZBTFNFOworKyAg ICB9CisrCisrICByZXN1bHQgPSBtZW1jbXAgKGRhdGEsIHZhbGlkX3ByZWZpeCwgdmFsaWRfcHJl Zml4X2xlbikgPT0gMDsKKyAKKyAgIGZwX2RiZyAoIlJlc3BvbnNlIHByZWZpeCB2YWxpZDogJXMi LCByZXN1bHQgPyAieWVzIiA6ICJOTyIpOworICAgcmV0dXJuIHJlc3VsdDsKK0BAIC0xMjYsOSAr MTM2LDIyIEBAIGVnaXNfZXR1OTA1X3ZhbGlkYXRlX3Jlc3BvbnNlX3N1ZmZpeCAoY29uc3QgZ3Vj aGFyICpidWZmZXJfaW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCBndWNoYXIgKnZhbGlkX3N1ZmZpeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IGdzaXplICAgdmFsaWRfc3VmZml4X2xlbikKKyB7CistICBjb25zdCBn Ym9vbGVhbiByZXN1bHQgPSBtZW1jbXAgKGJ1ZmZlcl9pbiArIChidWZmZXJfaW5fbGVuIC0gdmFs aWRfc3VmZml4X2xlbiksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlk X3N1ZmZpeCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRfc3VmZml4 X2xlbikgPT0gMDsKKysgIEZwaUJ5dGVSZWFkZXIgcmVhZGVyOworKyAgY29uc3QgZ3VpbnQ4ICpk YXRhID0gTlVMTDsKKysgIGdib29sZWFuIHJlc3VsdDsKKysKKysgIGZwaV9ieXRlX3JlYWRlcl9p bml0ICgmcmVhZGVyLCBidWZmZXJfaW4sIGJ1ZmZlcl9pbl9sZW4pOworKworKyAgLyogR3VhcmQg YWdhaW5zdCB1bnNpZ25lZCB1bmRlcmZsb3cgYmVmb3JlIGNvbXB1dGluZyB0aGUgc3VmZml4IHBv c2l0aW9uLiAqLworKyAgaWYgKHZhbGlkX3N1ZmZpeF9sZW4gPiBidWZmZXJfaW5fbGVuIHx8Cisr ICAgICAgIWZwaV9ieXRlX3JlYWRlcl9zZXRfcG9zICgmcmVhZGVyLCBidWZmZXJfaW5fbGVuIC0g dmFsaWRfc3VmZml4X2xlbikgfHwKKysgICAgICAhZnBpX2J5dGVfcmVhZGVyX2dldF9kYXRhICgm cmVhZGVyLCB2YWxpZF9zdWZmaXhfbGVuLCAmZGF0YSkpCisrICAgIHsKKysgICAgICBmcF9kYmcg KCJSZXNwb25zZSB0b28gc2hvcnQgZm9yIHN1ZmZpeCB2YWxpZGF0aW9uIik7CisrICAgICAgcmV0 dXJuIEZBTFNFOworKyAgICB9CisrCisrICByZXN1bHQgPSBtZW1jbXAgKGRhdGEsIHZhbGlkX3N1 ZmZpeCwgdmFsaWRfc3VmZml4X2xlbikgPT0gMDsKKyAKKyAgIGZwX2RiZyAoIlJlc3BvbnNlIHN1 ZmZpeCB2YWxpZDogJXMiLCByZXN1bHQgPyAieWVzIiA6ICJOTyIpOworICAgcmV0dXJuIHJlc3Vs dDsKK0BAIC0xNDY3LDEwICsxNDkwLDEwIEBAIGVnaXNfZXR1OTA1X2Rldl9pbml0X2hhbmRsZXIg KEZwaVNzbSAgICpzc20sCisgc3RhdGljIHZvaWQKKyBlZ2lzX2V0dTkwNV9wcm9iZSAoRnBEZXZp Y2UgKmRldmljZSkKKyB7CistICBHVXNiRGV2aWNlICp1c2JfZGV2OworLSAgR0Vycm9yICplcnJv ciA9IE5VTEw7CisrICBnX2F1dG9wdHIoR0Vycm9yKSBlcnJvciA9IE5VTEw7CisgICBnX2F1dG9m cmVlIGdjaGFyICpzZXJpYWwgPSBOVUxMOworICAgRnBpRGV2aWNlRWdpc0V0dTkwNSAqc2VsZiA9 IEZQSV9ERVZJQ0VfRUdJU19FVFU5MDUgKGRldmljZSk7CisrICBHVXNiRGV2aWNlICp1c2JfZGV2 OworIAorICAgZnBfZGJnICgiJXMgZW50ZXIgLS0+ICIsIEdfU1RSRlVOQyk7CisgCitAQCAtMTQ3 OSw3ICsxNTAyLDcgQEAgZWdpc19ldHU5MDVfcHJvYmUgKEZwRGV2aWNlICpkZXZpY2UpCisgICBp ZiAoIWdfdXNiX2RldmljZV9vcGVuICh1c2JfZGV2LCAmZXJyb3IpKQorICAgICB7CisgICAgICAg ZnBfZGJnICgiJXMgZ191c2JfZGV2aWNlX29wZW4gZmFpbGVkICVzIiwgR19TVFJGVU5DLCBlcnJv ci0+bWVzc2FnZSk7CistICAgICAgZnBpX2RldmljZV9wcm9iZV9jb21wbGV0ZSAoZGV2aWNlLCBO VUxMLCBOVUxMLCBlcnJvcik7CisrICAgICAgZnBpX2RldmljZV9wcm9iZV9jb21wbGV0ZSAoZGV2 aWNlLCBOVUxMLCBOVUxMLCBnX3N0ZWFsX3BvaW50ZXIgKCZlcnJvcikpOworICAgICAgIHJldHVy bjsKKyAgICAgfQorIAorQEAgLTE0ODcsNyArMTUxMCw3IEBAIGVnaXNfZXR1OTA1X3Byb2JlIChG cERldmljZSAqZGV2aWNlKQorICAgICB7CisgICAgICAgZnBfZGJnICgiJXMgZ191c2JfZGV2aWNl X3Jlc2V0IGZhaWxlZCAlcyIsIEdfU1RSRlVOQywgZXJyb3ItPm1lc3NhZ2UpOworICAgICAgIGdf dXNiX2RldmljZV9jbG9zZSAodXNiX2RldiwgTlVMTCk7CistICAgICAgZnBpX2RldmljZV9wcm9i ZV9jb21wbGV0ZSAoZGV2aWNlLCBOVUxMLCBOVUxMLCBlcnJvcik7CisrICAgICAgZnBpX2Rldmlj ZV9wcm9iZV9jb21wbGV0ZSAoZGV2aWNlLCBOVUxMLCBOVUxMLCBnX3N0ZWFsX3BvaW50ZXIgKCZl cnJvcikpOworICAgICAgIHJldHVybjsKKyAgICAgfQorIAorQEAgLTE0OTUsNyArMTUxOCw3IEBA IGVnaXNfZXR1OTA1X3Byb2JlIChGcERldmljZSAqZGV2aWNlKQorICAgICB7CisgICAgICAgZnBf ZGJnICgiJXMgZ191c2JfZGV2aWNlX2NsYWltX2ludGVyZmFjZSBmYWlsZWQgJXMiLCBHX1NUUkZV TkMsIGVycm9yLT5tZXNzYWdlKTsKKyAgICAgICBnX3VzYl9kZXZpY2VfY2xvc2UgKHVzYl9kZXYs IE5VTEwpOworLSAgICAgIGZwaV9kZXZpY2VfcHJvYmVfY29tcGxldGUgKGRldmljZSwgTlVMTCwg TlVMTCwgZXJyb3IpOworKyAgICAgIGZwaV9kZXZpY2VfcHJvYmVfY29tcGxldGUgKGRldmljZSwg TlVMTCwgTlVMTCwgZ19zdGVhbF9wb2ludGVyICgmZXJyb3IpKTsKKyAgICAgICByZXR1cm47Cisg ICAgIH0KKyAKK0BAIC0xNTEyLDcgKzE1MzUsNyBAQCBlZ2lzX2V0dTkwNV9wcm9iZSAoRnBEZXZp Y2UgKmRldmljZSkKKyAgICAgICBnX3VzYl9kZXZpY2VfcmVsZWFzZV9pbnRlcmZhY2UgKGZwaV9k ZXZpY2VfZ2V0X3VzYl9kZXZpY2UgKEZQX0RFVklDRSAoZGV2aWNlKSksCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwLCBOVUxMKTsKKyAgICAgICBnX3VzYl9kZXZp Y2VfY2xvc2UgKHVzYl9kZXYsIE5VTEwpOworLSAgICAgIGZwaV9kZXZpY2VfcHJvYmVfY29tcGxl dGUgKGRldmljZSwgTlVMTCwgTlVMTCwgZXJyb3IpOworKyAgICAgIGZwaV9kZXZpY2VfcHJvYmVf Y29tcGxldGUgKGRldmljZSwgTlVMTCwgTlVMTCwgZ19zdGVhbF9wb2ludGVyICgmZXJyb3IpKTsK KyAgICAgICByZXR1cm47CisgICAgIH0KKyAKK0BAIC0xNTI2LDcgKzE1NDksNyBAQCBlZ2lzX2V0 dTkwNV9wcm9iZSAoRnBEZXZpY2UgKmRldmljZSkKKyAgIGdfdXNiX2RldmljZV9yZWxlYXNlX2lu dGVyZmFjZSAoZnBpX2RldmljZV9nZXRfdXNiX2RldmljZSAoRlBfREVWSUNFIChkZXZpY2UpKSwg MCwgMCwgTlVMTCk7CisgICBnX3VzYl9kZXZpY2VfY2xvc2UgKHVzYl9kZXYsIE5VTEwpOworIAor LSAgZnBpX2RldmljZV9wcm9iZV9jb21wbGV0ZSAoZGV2aWNlLCBzZXJpYWwsIE5VTEwsIGVycm9y KTsKKysgIGZwaV9kZXZpY2VfcHJvYmVfY29tcGxldGUgKGRldmljZSwgc2VyaWFsLCBOVUxMLCBO VUxMKTsKKyB9CisgCisgc3RhdGljIHZvaWQKKy0tIAorR2l0TGFiCisKKworRnJvbSA1YjUxZjlj OGNjZjMzNDI0NjM2ZTRlMzJjYjYyMDUyMDRlODE2OTQwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogPT9VVEYtOD9xP01hcmNvPTIwVHJldmlzYW49MjA9MjhUcmV2aT1DMz1CMW89Mjk/ PSA8bWFpbEAzdjFuMC5uZXQ+CitEYXRlOiBNb24sIDggSnVuIDIwMjYgMTM6NDc6NDEgKzAyMDAK K1N1YmplY3Q6IFtQQVRDSCAxMC8xM10gZWdpc19ldHU5MDU6IFNhbml0aXplIHByaW50IGRhdGEg cGFyc2luZworCistLS0KKyBsaWJmcHJpbnQvZHJpdmVycy9lZ2lzbW9jL2VnaXNfZXR1OTA1LmMg fCAyMyArKysrKysrKysrKysrKysrLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNlcnRp b25zKCspLCA3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliZnByaW50L2RyaXZlcnMv ZWdpc21vYy9lZ2lzX2V0dTkwNS5jIGIvbGliZnByaW50L2RyaXZlcnMvZWdpc21vYy9lZ2lzX2V0 dTkwNS5jCitpbmRleCBjOWI5YWIzYS4uMGE1NjU1ZjEgMTAwNjQ0CistLS0gYS9saWJmcHJpbnQv ZHJpdmVycy9lZ2lzbW9jL2VnaXNfZXR1OTA1LmMKKysrKyBiL2xpYmZwcmludC9kcml2ZXJzL2Vn aXNtb2MvZWdpc19ldHU5MDUuYworQEAgLTMxOCw3ICszMTgsNyBAQCBzdGF0aWMgZ3VpbnQxNgor IGVnaXNfZXR1OTA1X2dldF9jaGVja19ieXRlcyAoRnBpQnl0ZVJlYWRlciAqcmVhZGVyKQorIHsK KyAgIGZwX2RiZyAoIkdldCBjaGVjayBieXRlcyIpOworLSAgc2l6ZV90IHN1bV92YWx1ZXMgPSAw OworKyAgZ3VpbnQ2NCBzdW1fdmFsdWVzID0gMDsKKyAgIGd1aW50MTYgdmFsOworIAorICAgZnBp X2J5dGVfcmVhZGVyX3NldF9wb3MgKHJlYWRlciwgMCk7CitAQCAtNTYyLDggKzU2Miw2IEBAIGVn aXNfZXR1OTA1X2dldF9kZWxldGVfY21kIChGcERldmljZSAqZGV2aWNlLAorICAgY29uc3QgZ3Vj aGFyICpwcmludF9kYXRhX2lkID0gTlVMTDsKKyAgIGdzaXplIHByaW50X2RhdGFfaWRfbGVuID0g MDsKKyAgIGdfYXV0b2ZyZWUgZ2NoYXIgKnByaW50X2Rlc2NyaXB0aW9uID0gTlVMTDsKKy0gIGdf YXV0b2ZyZWUgZ3VjaGFyICplbnJvbGxlZF9wcmludF9pZCA9IE5VTEw7CistICBnX2F1dG9mcmVl IGd1Y2hhciAqcmVzdWx0ID0gTlVMTDsKKyAgIGdib29sZWFuIHdyaXR0ZW4gPSBUUlVFOworIAor ICAgLyoKK0BAIC02MzksNyArNjM3LDggQEAgZWdpc19ldHU5MDVfZ2V0X2RlbGV0ZV9jbWQgKEZw RGV2aWNlICpkZXZpY2UsCisgICAgICAgZ19vYmplY3RfZ2V0IChkZWxldGVfcHJpbnQsICJkZXNj cmlwdGlvbiIsICZwcmludF9kZXNjcmlwdGlvbiwgTlVMTCk7CisgICAgICAgZ19vYmplY3RfZ2V0 IChkZWxldGVfcHJpbnQsICJmcGktZGF0YSIsICZwcmludF9kYXRhLCBOVUxMKTsKKyAKKy0gICAg ICBpZiAoIWdfdmFyaWFudF9jaGVja19mb3JtYXRfc3RyaW5nIChwcmludF9kYXRhLCAiKEBheSki LCBGQUxTRSkpCisrICAgICAgaWYgKCFwcmludF9kYXRhIHx8CisrICAgICAgICAgICFnX3Zhcmlh bnRfY2hlY2tfZm9ybWF0X3N0cmluZyAocHJpbnRfZGF0YSwgIihAYXkpIiwgRkFMU0UpKQorICAg ICAgICAgeworICAgICAgICAgICBmcGlfc3NtX21hcmtfZmFpbGVkIChzZWxmLT50YXNrX3NzbSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnBpX2RldmljZV9lcnJvcl9uZXcgKEZQ X0RFVklDRV9FUlJPUl9EQVRBX0lOVkFMSUQpKTsKK0BAIC02NTAsMTEgKzY0OSwyMSBAQCBlZ2lz X2V0dTkwNV9nZXRfZGVsZXRlX2NtZCAoRnBEZXZpY2UgKmRldmljZSwKKyAgICAgICBwcmludF9k YXRhX2lkID0gZ192YXJpYW50X2dldF9maXhlZF9hcnJheSAocHJpbnRfZGF0YV9pZF92YXIsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZwcmludF9k YXRhX2lkX2xlbiwgc2l6ZW9mIChndWNoYXIpKTsKKyAKKy0gICAgICBpZiAoIWdfc3RyX2hhc19w cmVmaXggKHByaW50X2Rlc2NyaXB0aW9uLCAiRlAiKSkKKysgICAgICBpZiAocHJpbnRfZGF0YV9p ZF9sZW4gIT0gRUdJU19FVFU5MDVfRklOR0VSUFJJTlRfREFUQV9TSVpFKQorKyAgICAgICAgewor KyAgICAgICAgICBmcGlfc3NtX21hcmtfZmFpbGVkIChzZWxmLT50YXNrX3NzbSwKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZnBpX2RldmljZV9lcnJvcl9uZXdfbXNnIChGUF9ERVZJ Q0VfRVJST1JfREFUQV9JTlZBTElELAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJTdG9yZWQgcHJpbnQgaWQgaGFzICIKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5leHBl Y3RlZCBsZW5ndGggJXp1IiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBwcmludF9kYXRhX2lkX2xlbikpOworKyAgICAgICAgICByZXR1 cm4gTlVMTDsKKysgICAgICAgIH0KKysKKysgICAgICBpZiAoIXByaW50X2Rlc2NyaXB0aW9uIHx8 ICFnX3N0cl9oYXNfcHJlZml4IChwcmludF9kZXNjcmlwdGlvbiwgIkZQIikpCisgICAgICAgICBm cF9kYmcgKCJGaW5nZXJwcmludCAnJXMnIHdhcyBub3QgY3JlYXRlZCBieSBsaWJmcHJpbnQ7IGRl bGV0aW5nIGFueXdheS4iLAorLSAgICAgICAgICAgICAgICBwcmludF9kZXNjcmlwdGlvbik7Cisr ICAgICAgICAgICAgICAgIHByaW50X2Rlc2NyaXB0aW9uID8gcHJpbnRfZGVzY3JpcHRpb24gOiAi KG51bGwpIik7CisgCistICAgICAgZnBfaW5mbyAoIkRlbGV0ZSBmaW5nZXJwcmludCAlcyIsIHBy aW50X2Rlc2NyaXB0aW9uKTsKKysgICAgICBmcF9pbmZvICgiRGVsZXRlIGZpbmdlcnByaW50ICVz IiwgcHJpbnRfZGVzY3JpcHRpb24gPyBwcmludF9kZXNjcmlwdGlvbiA6ICIobnVsbCkiKTsKKyAK KyAgICAgICB3cml0dGVuICY9IGZwaV9ieXRlX3dyaXRlcl9wdXRfZGF0YSAoJndyaXRlciwgcHJp bnRfZGF0YV9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg RUdJU19FVFU5MDVfRklOR0VSUFJJTlRfREFUQV9TSVpFKTsKKy0tIAorR2l0TGFiCisKKworRnJv bSBjMGE5ODExMDUzMWU3NGJlYjU4NzZlZjA4NGRhM2VkODkwMTEyOGMyIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP01hcmNvPTIwVHJldmlzYW49MjA9MjhUcmV2aT1D Mz1CMW89Mjk/PSA8bWFpbEAzdjFuMC5uZXQ+CitEYXRlOiBNb24sIDggSnVuIDIwMjYgMTM6NDg6 MDAgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxMS8xM10gZWdpc19ldHU5MDU6IERvIG5vdCB0cnkg dG8gY29udGludWUgYSBmYWlsZWQgU1NNCisKKy0tLQorIGxpYmZwcmludC9kcml2ZXJzL2VnaXNt b2MvZWdpc19ldHU5MDUuYyB8IDQgKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMo KykKKworZGlmZiAtLWdpdCBhL2xpYmZwcmludC9kcml2ZXJzL2VnaXNtb2MvZWdpc19ldHU5MDUu YyBiL2xpYmZwcmludC9kcml2ZXJzL2VnaXNtb2MvZWdpc19ldHU5MDUuYworaW5kZXggMGE1NjU1 ZjEuLmQ0NWI0NmUyIDEwMDY0NAorLS0tIGEvbGliZnByaW50L2RyaXZlcnMvZWdpc21vYy9lZ2lz X2V0dTkwNS5jCisrKysgYi9saWJmcHJpbnQvZHJpdmVycy9lZ2lzbW9jL2VnaXNfZXR1OTA1LmMK K0BAIC03NTUsNiArNzU1LDEwIEBAIGVnaXNfZXR1OTA1X2RlbGV0ZV9ydW5fc3RhdGUgKEZwaVNz bSAgICpzc20sCisgICAgICAgZWxzZQorICAgICAgICAgcGF5bG9hZCA9IGVnaXNfZXR1OTA1X2dl dF9kZWxldGVfY21kIChkZXZpY2UsIE5VTEwsICZwYXlsb2FkX2xlbmd0aCk7CisgCisrICAgICAg LyogZ2V0X2RlbGV0ZV9jbWQgYWxyZWFkeSBtYXJrZWQgdGFza19zc20gYXMgZmFpbGVkICovCisr ICAgICAgaWYgKCFwYXlsb2FkKQorKyAgICAgICAgcmV0dXJuOworKworICAgICAgIGVnaXNfZXR1 OTA1X2V4ZWNfY21kIChkZXZpY2UsIGdfc3RlYWxfcG9pbnRlciAoJnBheWxvYWQpLCBwYXlsb2Fk X2xlbmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19mcmVlLCBlZ2lzX2V0dTkw NV9kZWxldGVfY2IpOworICAgICAgIGJyZWFrOworLS0gCitHaXRMYWIKKworCitGcm9tIDA2YWQ0 NGJjMWRhNzMyNTk4ZjgyYTdjMTFlYjBiYmMyOTg1MGFjMTMgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiA9P1VURi04P3E/TWFyY289MjBUcmV2aXNhbj0yMD0yOFRyZXZpPUMzPUIxbz0y OT89IDxtYWlsQDN2MW4wLm5ldD4KK0RhdGU6IE1vbiwgOCBKdW4gMjAyNiAxNToxOTo1NCArMDIw MAorU3ViamVjdDogW1BBVENIIDEyLzEzXSBlZ2lzX2V0dTkwNTogSW1wcm92ZSB0aGUgaWRlbnRp ZnkgY2FsbGJhY2sgZGF0YSByZWFkaW5nCisKKy0tLQorIGxpYmZwcmludC9kcml2ZXJzL2VnaXNt b2MvZWdpc19ldHU5MDUuYyB8IDQxICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0KKyAxIGZpbGUg Y2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQg YS9saWJmcHJpbnQvZHJpdmVycy9lZ2lzbW9jL2VnaXNfZXR1OTA1LmMgYi9saWJmcHJpbnQvZHJp dmVycy9lZ2lzbW9jL2VnaXNfZXR1OTA1LmMKK2luZGV4IGQ0NWI0NmUyLi43ZGUzMDZiNCAxMDA2 NDQKKy0tLSBhL2xpYmZwcmludC9kcml2ZXJzL2VnaXNtb2MvZWdpc19ldHU5MDUuYworKysrIGIv bGliZnByaW50L2RyaXZlcnMvZWdpc21vYy9lZ2lzX2V0dTkwNS5jCitAQCAtNDk2LDExICs0OTYs MTAgQEAgZWdpc19ldHU5MDVfbGlzdF9maWxsX2Vucm9sbGVkX2lkc19jYiAoRnBEZXZpY2UgKmRl dmljZSwKKyAgICAqLworICAgd2hpbGUgKHJlYWQpCisgICAgIHsKKy0gICAgICBjb25zdCBndWlu dDggKmRhdGE7CisrICAgICAgY29uc3QgZ3VpbnQ4IGRhdGFbRUdJU19FVFU5MDVfRklOR0VSUFJJ TlRfREFUQV9TSVpFXTsKKyAgICAgICBnX2F1dG9mcmVlIGdjaGFyICpwcmludF9pZCA9IE5VTEw7 CisgCistICAgICAgcmVhZCAmPSBmcGlfYnl0ZV9yZWFkZXJfZ2V0X2RhdGEgKCZyZWFkZXIsIEVH SVNfRVRVOTA1X0ZJTkdFUlBSSU5UX0RBVEFfU0laRSwKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJmRhdGEpOworKyAgICAgIHJlYWQgJj0gZnBpX2J5dGVfcmVhZGVy X2dldF9kYXRhX3N0YXRpYyAoJnJlYWRlciwgZGF0YSk7CisgICAgICAgaWYgKCFyZWFkKQorICAg ICAgICAgYnJlYWs7CisgCitAQCAtMTE4MiwxNSArMTE4MSwxNiBAQCBlZ2lzX2V0dTkwNV9pZGVu dGlmeV9jaGVja19jYiAoRnBEZXZpY2UgKmRldmljZSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZ3NpemUgICAgIGxlbmd0aF9pbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgR0Vycm9yICAgKmVycm9yKQorIHsKKy0gIGZwX2RiZyAoIklkZW50aWZ5IGNoZWNrIGNh bGxiYWNrIik7CisgICBGcGlEZXZpY2VFZ2lzRXR1OTA1ICpzZWxmID0gRlBJX0RFVklDRV9FR0lT X0VUVTkwNSAoZGV2aWNlKTsKKy0gIGdjaGFyIGRldmljZV9wcmludF9pZFtFR0lTX0VUVTkwNV9G SU5HRVJQUklOVF9EQVRBX1NJWkVdOworKyAgZ3VpbnQ4IGRldmljZV9wcmludF9pZFtFR0lTX0VU VTkwNV9GSU5HRVJQUklOVF9EQVRBX1NJWkVdOworICAgRnBQcmludCAqcHJpbnQgPSBOVUxMOwor ICAgRnBQcmludCAqdmVyaWZ5X3ByaW50ID0gTlVMTDsKKyAgIEdQdHJBcnJheSAqcHJpbnRzOwor ICAgZ2Jvb2xlYW4gZm91bmQgPSBGQUxTRTsKKyAgIGd1aW50IGluZGV4OworIAorKyAgZnBfZGJn ICgiSWRlbnRpZnkgY2hlY2sgY2FsbGJhY2siKTsKKysKKyAgIGlmIChlcnJvcikKKyAgICAgewor ICAgICAgIGZwaV9zc21fbWFya19mYWlsZWQgKHNlbGYtPnRhc2tfc3NtLCBlcnJvcik7CitAQCAt MTIwMywyOSArMTIwMywzNCBAQCBlZ2lzX2V0dTkwNV9pZGVudGlmeV9jaGVja19jYiAoRnBEZXZp Y2UgKmRldmljZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHJzcF9pZGVudGlmeV9tYXRjaF9zdWZmaXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICByc3BfaWRlbnRpZnlfbWF0Y2hfc3VmZml4X2xlbikpCisgICAgIHsK KysgICAgICBGcGlCeXRlUmVhZGVyIHJlYWRlcjsKKysKKyAgICAgICAvKgorICAgICAgICAgIE9u IHN1Y2Nlc3MsIHRoZXJlIGlzIGEgMzIgYnl0ZSBhcnJheSBvZiAic29tZXRoaW5nIig/KSBpbiBj aGFycyAxNC00NQorICAgICAgICAgIGFuZCB0aGVuIHRoZSAzMiBieXRlIGFycmF5IElEIG9mIHRo ZSBtYXRjaGVkIHByaW50IGNvbWVzIGFzIGNoYXJzIDQ2LTc3CisgICAgICAgICovCistICAgICAg bWVtY3B5IChkZXZpY2VfcHJpbnRfaWQsCistICAgICAgICAgICAgICBidWZmZXJfaW4gKyBFR0lT X0VUVTkwNV9JREVOVElGWV9SRVNQT05TRV9QUklOVF9JRF9PRkZTRVQsCistICAgICAgICAgICAg ICBFR0lTX0VUVTkwNV9GSU5HRVJQUklOVF9EQVRBX1NJWkUpOworLQorLSAgICAgIC8qIENyZWF0 ZSBhIG5ldyBwcmludCBmcm9tIHRoaXMgZGV2aWNlX3ByaW50X2lkIGFuZCB0aGVuIHNlZSBpZiBp dCBtYXRjaGVzCistICAgICAgICogdGhlIG9uZSBpbmRpY2F0ZWQKKy0gICAgICAgKi8KKy0gICAg ICBwcmludCA9IGZwX3ByaW50X25ldyAoZGV2aWNlKTsKKy0gICAgICBlZ2lzX2V0dTkwNV9zZXRf cHJpbnRfZGF0YSAocHJpbnQsIGRldmljZV9wcmludF9pZCwgTlVMTCk7CisrICAgICAgZnBpX2J5 dGVfcmVhZGVyX2luaXQgKCZyZWFkZXIsIGJ1ZmZlcl9pbiwgbGVuZ3RoX2luKTsKKyAKKy0gICAg ICBpZiAoIXByaW50KQorKyAgICAgIGlmICghZnBpX2J5dGVfcmVhZGVyX3NldF9wb3MgKCZyZWFk ZXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUdJU19FVFU5MDVfSURF TlRJRllfUkVTUE9OU0VfUFJJTlRfSURfT0ZGU0VUKSB8fAorKyAgICAgICAgICAhZnBpX2J5dGVf cmVhZGVyX2dldF9kYXRhX3N0YXRpYyAoJnJlYWRlciwgZGV2aWNlX3ByaW50X2lkKSkKKyAgICAg ICAgIHsKKyAgICAgICAgICAgZnBpX3NzbV9tYXJrX2ZhaWxlZCAoc2VsZi0+dGFza19zc20sCist ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZwaV9kZXZpY2VfZXJyb3JfbmV3X21zZyAo RlBfREVWSUNFX0VSUk9SX0RBVEFfSU5WQUxJRCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIGJ1aWxkIGEgcHJpbnQg ZnJvbSAiCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgImRldmljZSByZXNwb25zZS4iKSk7CisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGZwaV9kZXZpY2VfZXJyb3JfbmV3X21zZyAoRlBfREVWSUNFX0VSUk9SX1BST1RPLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJJZGVudGlmeSByZXNwb25zZSB0b28gIgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaG9ydCBmb3IgbWF0Y2hlZCBwcmludCAiCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ImlkLiIpKTsKKyAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgfQorIAorKyAgICAgIGZwX2Ri ZyAoIkRldmljZS1yZXBvcnRlZCBtYXRjaGVkIHByaW50IGlkOiAlcyIsIGRldmljZV9wcmludF9p ZCk7CisrCisrICAgICAgLyogQ3JlYXRlIGEgbmV3IHByaW50IGZyb20gdGhpcyBkZXZpY2VfcHJp bnRfaWQgYW5kIHRoZW4gc2VlIGlmIGl0IG1hdGNoZXMKKysgICAgICAgKiB0aGUgb25lIGluZGlj YXRlZAorKyAgICAgICAqLworKyAgICAgIHByaW50ID0gZnBfcHJpbnRfbmV3IChkZXZpY2UpOwor KyAgICAgIGVnaXNfZXR1OTA1X3NldF9wcmludF9kYXRhIChwcmludCwgKGNvbnN0IGNoYXIgKikg ZGV2aWNlX3ByaW50X2lkLCBOVUxMKTsKKysKKyAgICAgICBmcF9pbmZvICgiSWRlbnRpZnkgc3Vj Y2Vzc2Z1bCBmb3I6ICVzIiwgZnBfcHJpbnRfZ2V0X2Rlc2NyaXB0aW9uIChwcmludCkpOworIAor ICAgICAgIGlmIChmcGlfZGV2aWNlX2dldF9jdXJyZW50X2FjdGlvbiAoZGV2aWNlKSA9PSBGUElf REVWSUNFX0FDVElPTl9JREVOVElGWSkKKy0tIAorR2l0TGFiCisKKworRnJvbSA2YTcxZTAzOWEx MmVhZDJiMzEyMGFkNDc4OWI5M2E0NDE5MzA0NWVjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQor RnJvbTogPT9VVEYtOD9xP01hcmNvPTIwVHJldmlzYW49MjA9MjhUcmV2aT1DMz1CMW89Mjk/PSA8 bWFpbEAzdjFuMC5uZXQ+CitEYXRlOiBUdWUsIDkgSnVuIDIwMjYgMTM6NTY6MjQgKzAyMDAKK1N1 YmplY3Q6IFtQQVRDSCAxMy8xM10gZWdpc19ldHU5MDU6IERvdWJsZS1jaGVjayB0aGF0IHRoZSBp ZGVudGlmaWVkIElEIGlzCisgcGFydCBvZiB0aGUgZW5yb2xsZWQgbGlzdAorCistLS0KKyBsaWJm cHJpbnQvZHJpdmVycy9lZ2lzbW9jL2VnaXNfZXR1OTA1LmMgfCAyNyArKysrKysrKysrKysrKysr KysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdp dCBhL2xpYmZwcmludC9kcml2ZXJzL2VnaXNtb2MvZWdpc19ldHU5MDUuYyBiL2xpYmZwcmludC9k cml2ZXJzL2VnaXNtb2MvZWdpc19ldHU5MDUuYworaW5kZXggN2RlMzA2YjQuLmRjZDcxZmY2IDEw MDY0NAorLS0tIGEvbGliZnByaW50L2RyaXZlcnMvZWdpc21vYy9lZ2lzX2V0dTkwNS5jCisrKysg Yi9saWJmcHJpbnQvZHJpdmVycy9lZ2lzbW9jL2VnaXNfZXR1OTA1LmMKK0BAIC0xMjAzLDYgKzEy MDMsNyBAQCBlZ2lzX2V0dTkwNV9pZGVudGlmeV9jaGVja19jYiAoRnBEZXZpY2UgKmRldmljZSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJzcF9pZGVudGlm eV9tYXRjaF9zdWZmaXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICByc3BfaWRlbnRpZnlfbWF0Y2hfc3VmZml4X2xlbikpCisgICAgIHsKKysgICAgICBnYm9v bGVhbiBpZF9rbm93biA9IEZBTFNFOworICAgICAgIEZwaUJ5dGVSZWFkZXIgcmVhZGVyOworIAor ICAgICAgIC8qCitAQCAtMTIyNSw2ICsxMjI2LDMyIEBAIGVnaXNfZXR1OTA1X2lkZW50aWZ5X2No ZWNrX2NiIChGcERldmljZSAqZGV2aWNlLAorIAorICAgICAgIGZwX2RiZyAoIkRldmljZS1yZXBv cnRlZCBtYXRjaGVkIHByaW50IGlkOiAlcyIsIGRldmljZV9wcmludF9pZCk7CisgCisrICAgICAg LyogV2hpbGUgdGhlIHJldHVybmVkIElEIHNob3VsZCBpbmRlZWQgYmUgcGFydCBvZiB0aGUgZW5y b2xsZWQgbGlzdCwgc2luY2UKKysgICAgICAgKiB3ZSBnb3QgaXQsIGxldCdzIGRvdWJsZSBjaGVj ayB0aGF0IHRoaXMgaXMgcmVhbGx5IHRoZSBjYXNlLgorKyAgICAgICAqLworKyAgICAgIGlmIChz ZWxmLT5lbnJvbGxlZF9pZHMpCisrICAgICAgICB7CisrICAgICAgICAgIGZvciAoZ3VpbnQgaSA9 IDA7IGkgPCBzZWxmLT5lbnJvbGxlZF9pZHMtPmxlbjsgaSsrKQorKyAgICAgICAgICAgIHsKKysg ICAgICAgICAgICAgIGlmIChtZW1jbXAgKGdfcHRyX2FycmF5X2luZGV4IChzZWxmLT5lbnJvbGxl ZF9pZHMsIGkpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlX3ByaW50X2lkLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgRUdJU19FVFU5MDVfRklOR0VSUFJJTlRfREFUQV9T SVpFKSA9PSAwKQorKyAgICAgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgICAgaWRfa25v d24gPSBUUlVFOworKyAgICAgICAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICAgICAgICB9 CisrICAgICAgICAgICAgfQorKyAgICAgICAgfQorKworKyAgICAgIGlmICghaWRfa25vd24pCisr ICAgICAgICB7CisrICAgICAgICAgIGZwaV9zc21fbWFya19mYWlsZWQgKHNlbGYtPnRhc2tfc3Nt LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcGlfZGV2aWNlX2Vycm9yX25ld19t c2cgKEZQX0RFVklDRV9FUlJPUl9QUk9UTywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRGV2aWNlIHJlcG9ydGVkIGEgbWF0Y2ggIgor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJmb3IgYW4gdW5rbm93biBwcmludCBpZC4iKSk7CisrICAgICAgICAgIHJldHVybjsKKysgICAg ICAgIH0KKysKKyAgICAgICAvKiBDcmVhdGUgYSBuZXcgcHJpbnQgZnJvbSB0aGlzIGRldmljZV9w cmludF9pZCBhbmQgdGhlbiBzZWUgaWYgaXQgbWF0Y2hlcworICAgICAgICAqIHRoZSBvbmUgaW5k aWNhdGVkCisgICAgICAgICovCistLSAKK0dpdExhYgorCgpkaWZmIC0tZ2l0IGEvbGliZnByaW50 LnNwZWMgYi9saWJmcHJpbnQuc3BlYwppbmRleCBmYmZmZWE3Li45NmE5Y2IyIDEwMDY0NAotLS0g YS9saWJmcHJpbnQuc3BlYworKysgYi9saWJmcHJpbnQuc3BlYwpAQCAtMTQsNiArMTQsMTcgQEAg U291cmNlMDogICAgICAgIGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9saWJmcHJpbnQv bGliZnByaW50Ly0vYXJjaGl2ZS92JXsKICMgQmFja3BvcnQgZnJvbSB1cHN0cmVhbQogUGF0Y2gw MDAwMTogICAgIGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9saWJmcHJpbnQvbGliZnBy aW50Ly0vY29tbWl0LzJjNzg0MmM5MDUxNDdhMmQxMjdjMWIxNjhiMmU5ZDQzLnBhdGNoCiAKKyMg dGhlIHVwZGF0ZXMgZm9yIHRoZSBmcGkKK1BhdGNoMTAwMDE6ICAgICAwMDAxLWRvYy1JbmNsdWRl LUJpbmFyeS1idWZmZXItSS1PLXNlY3Rpb24tZm9yLXRoZS1ieXRlLXIucGF0Y2gKK1BhdGNoMTAw MDI6ICAgICAwMDAyLWZwaS1ieXRlLXdyaXRlci1BZGQtQVBJcy10by13cml0ZS1hbmQtZ2V0LUdC eXRlcy5wYXRjaAorUGF0Y2gxMDAwMzogICAgIDAwMDMtZnBpLWJ5dGUtcmVhZGVyLUFkZC1zdXBw b3J0LXRvLXJlYWQtYW5kLWdldC1wZWVrLUdCeS5wYXRjaAorUGF0Y2gxMDAwNDogICAgIDAwMDQt ZnBpLWJ5dGUtcmVhZGVyLUFkZC1zdXBwb3J0LXRvLXJlYWQtdG8tYS1zdGF0aWMtYnVmZi5wYXRj aAorUGF0Y2gxMDAwNTogICAgIDAwMDUtZnBpLXVzYi10cmFuc2Zlci1BZGQtbWlzc2luZy1kZWZp bml0aW9uLW9mLXNldF9zaG9ydC5wYXRjaAorUGF0Y2gxMDAwNjogICAgIDAwMDYtZnBpLXVzYi10 cmFuc2Zlci1XcmFwLWdfZXJyb3JfbmV3LWFyZ3VtZW50cy5wYXRjaAorIyBBZGQgRUdJUyByZWFk ZXJzCisjIGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9saWJmcHJpbnQvbGliZnByaW50 Ly0vbWVyZ2VfcmVxdWVzdHMvNTYxCitQYXRjaDEwMDA3OiAgICAgZWdpc19yZWFkZXIucGF0Y2gK KwogQnVpbGRSZXF1aXJlczogIG1lc29uCiBCdWlsZFJlcXVpcmVzOiAgZ2NjCiBCdWlsZFJlcXVp cmVzOiAgZ2NjLWMrKwo=