From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 28676 invoked from network); 13 Feb 2022 20:22:06 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 13 Feb 2022 20:22:06 -0000 Content-Type: multipart/mixed; boundary="===============3064905437139424737==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_libopenal=3A_update_to_1=2E21=2E1_and_import_fixes_to_sndio_backend?= To: ml@inbox.vuxu.org From: mtboehlke Reply-to: ml@inbox.vuxu.org Message-ID: Date: Sun, 13 Feb 2022 21:22:06 +0100 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============3064905437139424737== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IG10Ym9laGxrZSBhZ2FpbnN0IG1hc3RlciBv biB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vbXRib2Vo bGtlL3ZvaWQtcGFja2FnZXMgbGlib3BlbmFsCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4 L3ZvaWQtcGFja2FnZXMvcHVsbC8zNTU5NAoKbGlib3BlbmFsOiB1cGRhdGUgdG8gMS4yMS4xIGFu ZCBpbXBvcnQgZml4ZXMgdG8gc25kaW8gYmFja2VuZApQYXRjaGVzIHRvIGZpeCB0aGUgaXNzdWUg cmVwb3J0ZWQgYXQgaHR0cHM6Ly9naXRodWIuY29tL2tjYXQvb3BlbmFsLXNvZnQvaXNzdWVzLzU5 MQ0KDQo8IS0tIFVuY29tbWVudCByZWxldmFudCBzZWN0aW9ucyBhbmQgZGVsZXRlIG9wdGlvbnMg d2hpY2ggYXJlIG5vdCBhcHBsaWNhYmxlIC0tPg0KDQojIyMjIFRlc3RpbmcgdGhlIGNoYW5nZXMN Ci0gSSB0ZXN0ZWQgdGhlIGNoYW5nZXMgaW4gdGhpcyBQUjogKipicmllZmx5KioNCg0KPCEtLQ0K IyMjIyBOZXcgcGFja2FnZQ0KLSBUaGlzIG5ldyBwYWNrYWdlIGNvbmZvcm1zIHRvIHRoZSBbcXVh bGl0eSByZXF1aXJlbWVudHNdKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFj a2FnZXMvYmxvYi9tYXN0ZXIvTWFudWFsLm1kI3F1YWxpdHktcmVxdWlyZW1lbnRzKTogKipZRVMq KnwqKk5PKioNCi0tPg0KDQo8IS0tIE5vdGU6IElmIHRoZSBidWlsZCBpcyBsaWtlbHkgdG8gdGFr ZSBtb3JlIHRoYW4gMiBob3VycywgcGxlYXNlIFtza2lwIENJXShodHRwczovL2dpdGh1Yi5jb20v dm9pZC1saW51eC92b2lkLXBhY2thZ2VzL2Jsb2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCNjb250 aW51b3VzLWludGVncmF0aW9uKQ0KYW5kIHRlc3QgYXQgbGVhc3Qgb25lIG5hdGl2ZSBidWlsZCBh bmQsIGlmIHN1cHBvcnRlZCwgYXQgbGVhc3Qgb25lIGNyb3NzIGJ1aWxkLg0KSWdub3JlIHRoaXMg c2VjdGlvbiBpZiB0aGlzIFBSIGlzIG5vdCBza2lwcGluZyBDSS4NCi0tPg0KPCEtLSANCiMjIyMg TG9jYWwgYnVpbGQgdGVzdGluZw0KLSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3IgbXkgbmF0 aXZlIGFyY2hpdGVjdHVyZSwgKEFSQ0gtTElCQykNCi0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkg Zm9yIHRoZXNlIGFyY2hpdGVjdHVyZXMgKGlmIHN1cHBvcnRlZC4gbWFyayBjcm9zc2J1aWxkcyk6 DQogIC0gYWFyY2g2NC1tdXNsDQogIC0gYXJtdjdsDQogIC0gYXJtdjZsLW11c2wNCi0tPg0KSSBl bmNvdW50ZXJlZCB0aGUgcHJvYmxlbSBkZXNjcmliZWQgaW4gdGhlIGxpbmtlZCBpc3N1ZSB3aGVu IHBsYXlpbmcgYXJvdW5kIHdpdGggd2lsZG1pZGkuICBJIHdhcyBob3BpbmcgdG8gaGF2ZSB3aWxk bWlkaSB1c2Ugc25kaW8gYnkgY29tcGlsaW5nIHdpdGhvdXQgZGlyZWN0IGFsc2Egc3VwcG9ydCwg YW5kIHRoZW4gcmVseSBvbiBsaWJvcGVuYWwgdG8gdXNlIHNuZGlvLiAgVGhpcyB3b3JrZWQgZmlu ZSB3aXRoIHRoZSBkZWZhdWx0IG9wZW5hbCBjb25maWd1cmF0aW9uLCBidXQgcGxheWJhY2sgc3Rv cHBlZCBpbW1lZGlhdGVseSwgd2l0aCB0aGUgZXJyb3IgbWVzc2FnZTogYFtBTFNPRlRdIChFRSkg RXJyb3Igc3RvcHBpbmcgZGV2aWNlYAoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIu Y29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzM1NTk0LnBhdGNoIGlzIGF0dGFjaGVk --===============3064905437139424737== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-libopenal-35594.patch" RnJvbSA2ZWVhYmE2MzM5MDQxMTE2NDAwZjdiZGFhNjM1MjkyNmRmN2JmY2YwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXQgQm9laGxrZSA8bXRib2VobGtlQGdtYWlsLmNvbT4KRGF0 ZTogU3VuLCAxMyBGZWIgMjAyMiAxMzo1OToxOSAtMDYwMApTdWJqZWN0OiBbUEFUQ0hdIGxpYm9w ZW5hbDogdXBkYXRlIHRvIDEuMjEuMSBhbmQgaW1wb3J0IGZpeGVzIHRvIHNuZGlvIGJhY2tlbmQK ClBhdGNoZXMgdG8gZml4IHRoZSBpc3N1ZSByZXBvcnRlZCBhdCBodHRwczovL2dpdGh1Yi5jb20v a2NhdC9vcGVuYWwtc29mdC9pc3N1ZXMvNTkxCi0tLQogLi4uL3NuZGlvLXNpbXBsaWZ5LWNoYW5u ZWwtaGFuZGxpbmcucGF0Y2ggICAgIHwgMjQyICsrKysrKysrKysrKysrKysrKwogLi4uL3VzZS1u b25ibG9jay1tb2RlLXNuZGlvLWNhcHR1cmUucGF0Y2ggICAgIHwgMjM5ICsrKysrKysrKysrKysr KysrCiBzcmNwa2dzL2xpYm9wZW5hbC90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgfCAgIDgg Ky0KIDMgZmlsZXMgY2hhbmdlZCwgNDg1IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiBj cmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9saWJvcGVuYWwvcGF0Y2hlcy9zbmRpby1zaW1wbGlm eS1jaGFubmVsLWhhbmRsaW5nLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9saWJv cGVuYWwvcGF0Y2hlcy91c2Utbm9uYmxvY2stbW9kZS1zbmRpby1jYXB0dXJlLnBhdGNoCgpkaWZm IC0tZ2l0IGEvc3JjcGtncy9saWJvcGVuYWwvcGF0Y2hlcy9zbmRpby1zaW1wbGlmeS1jaGFubmVs LWhhbmRsaW5nLnBhdGNoIGIvc3JjcGtncy9saWJvcGVuYWwvcGF0Y2hlcy9zbmRpby1zaW1wbGlm eS1jaGFubmVsLWhhbmRsaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMC4uOTA5OTQzZTRlMjJmCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9saWJvcGVu YWwvcGF0Y2hlcy9zbmRpby1zaW1wbGlmeS1jaGFubmVsLWhhbmRsaW5nLnBhdGNoCkBAIC0wLDAg KzEsMjQyIEBACitGcm9tIDYyMDgzNmYxNzNhZTZmYzQ1MDVkMDYzNDk4NGUwZjJjNDYxNjYzNjcg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaHJpcyBSb2JpbnNvbiA8Y2hyaXMua2Nh dEBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDI5IEp1bCAyMDIxIDIxOjA3OjIwIC0wNzAwCitTdWJq ZWN0OiBbUEFUQ0hdIFNpbXBsaWZ5IGNoYW5uZWwgaGFuZGxpbmcgaW4gdGhlIHNuZGlvIGJhY2tl bmQKKworLS0tCisgYWxjL2JhY2tlbmRzL3NuZGlvLmNwcCB8IDE1MiArKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA2MyBpbnNlcnRpb25z KCspLCA4OSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2FsYy9iYWNrZW5kcy9zbmRpby5j cHAgYi9hbGMvYmFja2VuZHMvc25kaW8uY3BwCitpbmRleCAyZDhiNDI0YzkuLmM0MWM2YzhiYyAx MDA2NDQKKy0tLSBhL2FsYy9iYWNrZW5kcy9zbmRpby5jcHAKKysrKyBiL2FsYy9iYWNrZW5kcy9z bmRpby5jcHAKK0BAIC00NCw2ICs0NCwxMSBAQCBuYW1lc3BhY2UgeworIAorIHN0YXRpYyBjb25z dCBjaGFyIHNuZGlvX2RldmljZVtdID0gIlNuZElPIERlZmF1bHQiOworIAorK3N0cnVjdCBTaW9Q YXIgOiBwdWJsaWMgc2lvX3BhciB7CisrICAgIFNpb1BhcigpIHsgc2lvX2luaXRwYXIodGhpcyk7 IH0KKysKKysgICAgdm9pZCBjbGVhcigpIHsgc2lvX2luaXRwYXIodGhpcyk7IH0KKyt9OworIAor IHN0cnVjdCBTbmRpb1BsYXliYWNrIGZpbmFsIDogcHVibGljIEJhY2tlbmRCYXNlIHsKKyAgICAg U25kaW9QbGF5YmFjayhEZXZpY2VCYXNlICpkZXZpY2UpIG5vZXhjZXB0IDogQmFja2VuZEJhc2V7 ZGV2aWNlfSB7IH0KK0BAIC01Nyw2ICs2Miw3IEBAIHN0cnVjdCBTbmRpb1BsYXliYWNrIGZpbmFs IDogcHVibGljIEJhY2tlbmRCYXNlIHsKKyAgICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7CisgCisg ICAgIHNpb19oZGwgKm1TbmRIYW5kbGV7bnVsbHB0cn07CisrICAgIHVpbnQgbUZyYW1lU3RlcHt9 OworIAorICAgICBhbDo6dmVjdG9yPGFsOjpieXRlPiBtQnVmZmVyOworIAorQEAgLTc1LDE2ICs4 MSw4IEBAIFNuZGlvUGxheWJhY2s6On5TbmRpb1BsYXliYWNrKCkKKyAKKyBpbnQgU25kaW9QbGF5 YmFjazo6bWl4ZXJQcm9jKCkKKyB7CistICAgIHNpb19wYXIgcGFyOworLSAgICBzaW9faW5pdHBh cigmcGFyKTsKKy0gICAgaWYoIXNpb19nZXRwYXIobVNuZEhhbmRsZSwgJnBhcikpCistICAgIHsK Ky0gICAgICAgIG1EZXZpY2UtPmhhbmRsZURpc2Nvbm5lY3QoIkZhaWxlZCB0byBnZXQgZGV2aWNl IHBhcmFtZXRlcnMiKTsKKy0gICAgICAgIHJldHVybiAxOworLSAgICB9CistCistICAgIGNvbnN0 IHNpemVfdCBmcmFtZVN0ZXB7cGFyLnBjaGFufTsKKy0gICAgY29uc3Qgc2l6ZV90IGZyYW1lU2l6 ZXtmcmFtZVN0ZXAgKiBwYXIuYnBzfTsKKysgICAgY29uc3Qgc2l6ZV90IGZyYW1lU3RlcHttRnJh bWVTdGVwfTsKKysgICAgY29uc3Qgc2l6ZV90IGZyYW1lU2l6ZXtmcmFtZVN0ZXAgKiBtRGV2aWNl LT5ieXRlc0Zyb21GbXQoKX07CisgCisgICAgIFNldFJUUHJpb3JpdHkoKTsKKyAgICAgYWx0aHJk X3NldG5hbWUoTUlYRVJfVEhSRUFEX05BTUUpOworQEAgLTkyLDIyICs5MCwyMCBAQCBpbnQgU25k aW9QbGF5YmFjazo6bWl4ZXJQcm9jKCkKKyAgICAgd2hpbGUoIW1LaWxsTm93LmxvYWQoc3RkOjpt ZW1vcnlfb3JkZXJfYWNxdWlyZSkKKyAgICAgICAgICYmIG1EZXZpY2UtPkNvbm5lY3RlZC5sb2Fk KHN0ZDo6bWVtb3J5X29yZGVyX2FjcXVpcmUpKQorICAgICB7CistICAgICAgICBhbDo6Ynl0ZSAq V3JpdGVQdHJ7bUJ1ZmZlci5kYXRhKCl9OworLSAgICAgICAgc2l6ZV90IGxlbnttQnVmZmVyLnNp emUoKX07CisrICAgICAgICBhbDo6c3BhbjxhbDo6Ynl0ZT4gYnVmZmVye21CdWZmZXJ9OworIAor LSAgICAgICAgbURldmljZS0+cmVuZGVyU2FtcGxlcyhXcml0ZVB0ciwgc3RhdGljX2Nhc3Q8dWlu dD4obGVuL2ZyYW1lU2l6ZSksIGZyYW1lU3RlcCk7CistICAgICAgICB3aGlsZShsZW4gPiAwICYm ICFtS2lsbE5vdy5sb2FkKHN0ZDo6bWVtb3J5X29yZGVyX2FjcXVpcmUpKQorKyAgICAgICAgbURl dmljZS0+cmVuZGVyU2FtcGxlcyhidWZmZXIuZGF0YSgpLCBzdGF0aWNfY2FzdDx1aW50PihidWZm ZXIuc2l6ZSgpIC8gZnJhbWVTaXplKSwKKysgICAgICAgICAgICBmcmFtZVN0ZXApOworKyAgICAg ICAgd2hpbGUoIWJ1ZmZlci5lbXB0eSgpICYmICFtS2lsbE5vdy5sb2FkKHN0ZDo6bWVtb3J5X29y ZGVyX2FjcXVpcmUpKQorICAgICAgICAgeworLSAgICAgICAgICAgIHNpemVfdCB3cm90ZXtzaW9f d3JpdGUobVNuZEhhbmRsZSwgV3JpdGVQdHIsIGxlbil9OworKyAgICAgICAgICAgIHNpemVfdCB3 cm90ZXtzaW9fd3JpdGUobVNuZEhhbmRsZSwgYnVmZmVyLmRhdGEoKSwgYnVmZmVyLnNpemUoKSl9 OworICAgICAgICAgICAgIGlmKHdyb3RlID09IDApCisgICAgICAgICAgICAgeworICAgICAgICAg ICAgICAgICBFUlIoInNpb193cml0ZSBmYWlsZWRcbiIpOworICAgICAgICAgICAgICAgICBtRGV2 aWNlLT5oYW5kbGVEaXNjb25uZWN0KCJGYWlsZWQgdG8gd3JpdGUgcGxheWJhY2sgc2FtcGxlcyIp OworICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICB9CistCistICAgICAgICAg ICAgbGVuIC09IHdyb3RlOworLSAgICAgICAgICAgIFdyaXRlUHRyICs9IHdyb3RlOworKyAgICAg ICAgICAgIGJ1ZmZlciA9IGJ1ZmZlci5zdWJzcGFuKHdyb3RlKTsKKyAgICAgICAgIH0KKyAgICAg fQorIAorQEAgLTEzNiwyNSArMTMyLDExIEBAIHZvaWQgU25kaW9QbGF5YmFjazo6b3Blbihjb25z dCBjaGFyICpuYW1lKQorIAorIGJvb2wgU25kaW9QbGF5YmFjazo6cmVzZXQoKQorIHsKKy0gICAg c2lvX3BhciBwYXI7CistICAgIHNpb19pbml0cGFyKCZwYXIpOworKyAgICBTaW9QYXIgcGFyOwor IAorLSAgICBwYXIucmF0ZSA9IG1EZXZpY2UtPkZyZXF1ZW5jeTsKKy0gICAgc3dpdGNoKG1EZXZp Y2UtPkZtdENoYW5zKQorLSAgICB7CistICAgIGNhc2UgRGV2Rm10TW9ubyAgIDogcGFyLnBjaGFu ID0gMTsgYnJlYWs7CistICAgIGNhc2UgRGV2Rm10UXVhZCAgIDogcGFyLnBjaGFuID0gNDsgYnJl YWs7CistICAgIGNhc2UgRGV2Rm10WDUxUmVhcjogLy8gZmFsbC10aHJvdWdoIC0gIlNpbWlsYXIg dG8gNS4xLCBleGNlcHQgdXNpbmcgcmVhciBjaGFubmVscyBpbnN0ZWFkIG9mIHNpZGVzIgorLSAg ICBjYXNlIERldkZtdFg1MSAgICA6IHBhci5wY2hhbiA9IDY7IGJyZWFrOworLSAgICBjYXNlIERl dkZtdFg2MSAgICA6IHBhci5wY2hhbiA9IDc7IGJyZWFrOworLSAgICBjYXNlIERldkZtdFg3MSAg ICA6IHBhci5wY2hhbiA9IDg7IGJyZWFrOworLQorLSAgICAvLyBmYWxsIGJhY2sgdG8gc3RlcmVv IGZvciBBbWJpM0QKKy0gICAgY2FzZSBEZXZGbXRBbWJpM0QgOiAvLyBmYWxsLXRocm91Z2gKKy0g ICAgY2FzZSBEZXZGbXRTdGVyZW8gOiBwYXIucGNoYW4gPSAyOyBicmVhazsKKy0gICAgfQorLQor LSAgICBzd2l0Y2gobURldmljZS0+Rm10VHlwZSkKKysgICAgYXV0byB0cnlmbXQgPSBtRGV2aWNl LT5GbXRUeXBlOworK3JldHJ5X3BhcmFtczoKKysgICAgc3dpdGNoKHRyeWZtdCkKKyAgICAgewor ICAgICBjYXNlIERldkZtdEJ5dGU6CisgICAgICAgICBwYXIuYml0cyA9IDg7CitAQCAtMTY0LDcg KzE0Niw2IEBAIGJvb2wgU25kaW9QbGF5YmFjazo6cmVzZXQoKQorICAgICAgICAgcGFyLmJpdHMg PSA4OworICAgICAgICAgcGFyLnNpZyA9IDA7CisgICAgICAgICBicmVhazsKKy0gICAgY2FzZSBE ZXZGbXRGbG9hdDoKKyAgICAgY2FzZSBEZXZGbXRTaG9ydDoKKyAgICAgICAgIHBhci5iaXRzID0g MTY7CisgICAgICAgICBwYXIuc2lnID0gMTsKK0BAIC0xNzMsNiArMTU0LDcgQEAgYm9vbCBTbmRp b1BsYXliYWNrOjpyZXNldCgpCisgICAgICAgICBwYXIuYml0cyA9IDE2OworICAgICAgICAgcGFy LnNpZyA9IDA7CisgICAgICAgICBicmVhazsKKysgICAgY2FzZSBEZXZGbXRGbG9hdDoKKyAgICAg Y2FzZSBEZXZGbXRJbnQ6CisgICAgICAgICBwYXIuYml0cyA9IDMyOworICAgICAgICAgcGFyLnNp ZyA9IDE7CitAQCAtMTgyLDcwICsxNjQsNjIgQEAgYm9vbCBTbmRpb1BsYXliYWNrOjpyZXNldCgp CisgICAgICAgICBwYXIuc2lnID0gMDsKKyAgICAgICAgIGJyZWFrOworICAgICB9CisrICAgIHBh ci5icHMgPSBTSU9fQlBTKHBhci5iaXRzKTsKKyAgICAgcGFyLmxlID0gU0lPX0xFX05BVElWRTsK KyAKKysgICAgcGFyLnJhdGUgPSBtRGV2aWNlLT5GcmVxdWVuY3k7CisrICAgIHBhci5wY2hhbiA9 IG1EZXZpY2UtPmNoYW5uZWxzRnJvbUZtdCgpOworKworICAgICBwYXIucm91bmQgPSBtRGV2aWNl LT5VcGRhdGVTaXplOworICAgICBwYXIuYXBwYnVmc3ogPSBtRGV2aWNlLT5CdWZmZXJTaXplIC0g bURldmljZS0+VXBkYXRlU2l6ZTsKKyAgICAgaWYoIXBhci5hcHBidWZzeikgcGFyLmFwcGJ1ZnN6 ID0gbURldmljZS0+VXBkYXRlU2l6ZTsKKyAKKy0gICAgaWYoIXNpb19zZXRwYXIobVNuZEhhbmRs ZSwgJnBhcikgfHwgIXNpb19nZXRwYXIobVNuZEhhbmRsZSwgJnBhcikpCistICAgIHsKKy0gICAg ICAgIEVSUigiRmFpbGVkIHRvIHNldCBkZXZpY2UgcGFyYW1ldGVyc1xuIik7CistICAgICAgICBy ZXR1cm4gZmFsc2U7CistICAgIH0KKy0KKy0gICAgaWYocGFyLmJpdHMgIT0gcGFyLmJwcyo4KQor LSAgICB7CistICAgICAgICBFUlIoIlBhZGRlZCBzYW1wbGVzIG5vdCBzdXBwb3J0ZWQgKCV1IG9m ICV1IGJpdHMpXG4iLCBwYXIuYml0cywgcGFyLmJwcyo4KTsKKy0gICAgICAgIHJldHVybiBmYWxz ZTsKKy0gICAgfQorLSAgICBpZihwYXIubGUgIT0gU0lPX0xFX05BVElWRSkKKy0gICAgeworLSAg ICAgICAgRVJSKCJOb24tbmF0aXZlLWVuZGlhbiBzYW1wbGVzIG5vdCBzdXBwb3J0ZWQgKGdvdCAl cy1lbmRpYW4pXG4iLAorLSAgICAgICAgICAgIHBhci5sZSA/ICJsaXR0bGUiIDogImJpZyIpOwor LSAgICAgICAgcmV0dXJuIGZhbHNlOworLSAgICB9CistCistICAgIG1EZXZpY2UtPkZyZXF1ZW5j eSA9IHBhci5yYXRlOworLQorLSAgICBpZihwYXIucGNoYW4gPCAyKQorLSAgICB7CistICAgICAg ICBpZihtRGV2aWNlLT5GbXRDaGFucyAhPSBEZXZGbXRNb25vKQorLSAgICAgICAgeworLSAgICAg ICAgICAgIFdBUk4oIkdvdCAldSBjaGFubmVsIGZvciAlc1xuIiwgcGFyLnBjaGFuLCBEZXZGbXRD aGFubmVsc1N0cmluZyhtRGV2aWNlLT5GbXRDaGFucykpOworLSAgICAgICAgICAgIG1EZXZpY2Ut PkZtdENoYW5zID0gRGV2Rm10TW9ubzsKKy0gICAgICAgIH0KKysgICAgdHJ5IHsKKysgICAgICAg IGlmKCFzaW9fc2V0cGFyKG1TbmRIYW5kbGUsICZwYXIpKQorKyAgICAgICAgICAgIHRocm93IGFs OjpiYWNrZW5kX2V4Y2VwdGlvbnthbDo6YmFja2VuZF9lcnJvcjo6RGV2aWNlRXJyb3IsCisrICAg ICAgICAgICAgICAgICJGYWlsZWQgdG8gc2V0IGRldmljZSBwYXJhbWV0ZXJzIn07CisrCisrICAg ICAgICBwYXIuY2xlYXIoKTsKKysgICAgICAgIGlmKCFzaW9fZ2V0cGFyKG1TbmRIYW5kbGUsICZw YXIpKQorKyAgICAgICAgICAgIHRocm93IGFsOjpiYWNrZW5kX2V4Y2VwdGlvbnthbDo6YmFja2Vu ZF9lcnJvcjo6RGV2aWNlRXJyb3IsCisrICAgICAgICAgICAgICAgICJGYWlsZWQgdG8gZ2V0IGRl dmljZSBwYXJhbWV0ZXJzIn07CisrCisrICAgICAgICBpZihwYXIuYnBzID4gMSAmJiBwYXIubGUg IT0gU0lPX0xFX05BVElWRSkKKysgICAgICAgICAgICB0aHJvdyBhbDo6YmFja2VuZF9leGNlcHRp b257YWw6OmJhY2tlbmRfZXJyb3I6OkRldmljZUVycm9yLAorKyAgICAgICAgICAgICAgICAiJXMt ZW5kaWFuIHNhbXBsZXMgbm90IHN1cHBvcnRlZCIsIHBhci5sZSA/ICJMaXR0bGUiIDogIkJpZyJ9 OworKyAgICAgICAgaWYocGFyLmJpdHMgPCBwYXIuYnBzKjggJiYgIXBhci5tc2IpCisrICAgICAg ICAgICAgdGhyb3cgYWw6OmJhY2tlbmRfZXhjZXB0aW9ue2FsOjpiYWNrZW5kX2Vycm9yOjpEZXZp Y2VFcnJvciwKKysgICAgICAgICAgICAgICAgIk1TQi1wYWRkZWQgc2FtcGxlcyBub3Qgc3VwcG9y dGVkICgldSBvZiAldSBiaXRzKSIsIHBhci5iaXRzLCBwYXIuYnBzKjh9OworKyAgICAgICAgaWYo cGFyLnBjaGFuIDwgMSkKKysgICAgICAgICAgICB0aHJvdyBhbDo6YmFja2VuZF9leGNlcHRpb257 YWw6OmJhY2tlbmRfZXJyb3I6OkRldmljZUVycm9yLAorKyAgICAgICAgICAgICAgICAiTm8gcGxh eWJhY2sgY2hhbm5lbHMgb24gZGV2aWNlIn07CisgICAgIH0KKy0gICAgZWxzZSBpZigocGFyLnBj aGFuID09IDIgJiYgbURldmljZS0+Rm10Q2hhbnMgIT0gRGV2Rm10U3RlcmVvKQorLSAgICAgICAg fHwgcGFyLnBjaGFuID09IDMKKy0gICAgICAgIHx8IChwYXIucGNoYW4gPT0gNCAmJiBtRGV2aWNl LT5GbXRDaGFucyAhPSBEZXZGbXRRdWFkKQorLSAgICAgICAgfHwgcGFyLnBjaGFuID09IDUKKy0g ICAgICAgIHx8IChwYXIucGNoYW4gPT0gNiAmJiBtRGV2aWNlLT5GbXRDaGFucyAhPSBEZXZGbXRY NTEgJiYgbURldmljZS0+Rm10Q2hhbnMgIT0gRGV2Rm10WDUxUmVhcikKKy0gICAgICAgIHx8IChw YXIucGNoYW4gPT0gNyAmJiBtRGV2aWNlLT5GbXRDaGFucyAhPSBEZXZGbXRYNjEpCistICAgICAg ICB8fCAocGFyLnBjaGFuID09IDggJiYgbURldmljZS0+Rm10Q2hhbnMgIT0gRGV2Rm10WDcxKQor LSAgICAgICAgfHwgcGFyLnBjaGFuID4gOCkKKy0gICAgeworLSAgICAgICAgV0FSTigiR290ICV1 IGNoYW5uZWxzIGZvciAlc1xuIiwgcGFyLnBjaGFuLCBEZXZGbXRDaGFubmVsc1N0cmluZyhtRGV2 aWNlLT5GbXRDaGFucykpOworLSAgICAgICAgbURldmljZS0+Rm10Q2hhbnMgPSBEZXZGbXRTdGVy ZW87CisrICAgIGNhdGNoKGFsOjpiYWNrZW5kX2V4Y2VwdGlvbiAmZSkgeworKyAgICAgICAgaWYo dHJ5Zm10ID09IERldkZtdFNob3J0KQorKyAgICAgICAgICAgIHRocm93OworKyAgICAgICAgdHJ5 Zm10ID0gRGV2Rm10U2hvcnQ7CisrICAgICAgICBnb3RvIHJldHJ5X3BhcmFtczsKKyAgICAgfQor IAorLSAgICBpZihwYXIuYml0cyA9PSA4ICYmIHBhci5zaWcgPT0gMSkKKy0gICAgICAgIG1EZXZp Y2UtPkZtdFR5cGUgPSBEZXZGbXRCeXRlOworLSAgICBlbHNlIGlmKHBhci5iaXRzID09IDggJiYg cGFyLnNpZyA9PSAwKQorLSAgICAgICAgbURldmljZS0+Rm10VHlwZSA9IERldkZtdFVCeXRlOwor LSAgICBlbHNlIGlmKHBhci5iaXRzID09IDE2ICYmIHBhci5zaWcgPT0gMSkKKy0gICAgICAgIG1E ZXZpY2UtPkZtdFR5cGUgPSBEZXZGbXRTaG9ydDsKKy0gICAgZWxzZSBpZihwYXIuYml0cyA9PSAx NiAmJiBwYXIuc2lnID09IDApCistICAgICAgICBtRGV2aWNlLT5GbXRUeXBlID0gRGV2Rm10VVNo b3J0OworLSAgICBlbHNlIGlmKHBhci5iaXRzID09IDMyICYmIHBhci5zaWcgPT0gMSkKKy0gICAg ICAgIG1EZXZpY2UtPkZtdFR5cGUgPSBEZXZGbXRJbnQ7CistICAgIGVsc2UgaWYocGFyLmJpdHMg PT0gMzIgJiYgcGFyLnNpZyA9PSAwKQorLSAgICAgICAgbURldmljZS0+Rm10VHlwZSA9IERldkZt dFVJbnQ7CisrICAgIGlmKHBhci5icHMgPT0gMSkKKysgICAgICAgIG1EZXZpY2UtPkZtdFR5cGUg PSAocGFyLnNpZz09MSkgPyBEZXZGbXRCeXRlIDogRGV2Rm10VUJ5dGU7CisrICAgIGVsc2UgaWYo cGFyLmJwcyA9PSAyKQorKyAgICAgICAgbURldmljZS0+Rm10VHlwZSA9IChwYXIuc2lnPT0xKSA/ IERldkZtdFNob3J0IDogRGV2Rm10VVNob3J0OworKyAgICBlbHNlIGlmKHBhci5icHMgPT0gNCkK KysgICAgICAgIG1EZXZpY2UtPkZtdFR5cGUgPSAocGFyLnNpZz09MSkgPyBEZXZGbXRJbnQgOiBE ZXZGbXRVSW50OworICAgICBlbHNlCisrICAgICAgICB0aHJvdyBhbDo6YmFja2VuZF9leGNlcHRp b257YWw6OmJhY2tlbmRfZXJyb3I6OkRldmljZUVycm9yLAorKyAgICAgICAgICAgICJVbmhhbmRs ZWQgc2FtcGxlIGZvcm1hdDogJXMgJXUtYml0IiwgKHBhci5zaWc/InNpZ25lZCI6InVuc2lnbmVk IiksIHBhci5icHMqOH07CisrCisrICAgIG1GcmFtZVN0ZXAgPSBwYXIucGNoYW47CisrICAgIGlm KHBhci5wY2hhbiAhPSBtRGV2aWNlLT5jaGFubmVsc0Zyb21GbXQoKSkKKyAgICAgeworLSAgICAg ICAgRVJSKCJVbmhhbmRsZWQgc2FtcGxlIGZvcm1hdDogJXMgJXUtYml0XG4iLCAocGFyLnNpZz8i c2lnbmVkIjoidW5zaWduZWQiKSwgcGFyLmJpdHMpOworLSAgICAgICAgcmV0dXJuIGZhbHNlOwor KyAgICAgICAgV0FSTigiR290ICV1IGNoYW5uZWwlcyBmb3IgJXNcbiIsIHBhci5wY2hhbiwgKHBh ci5wY2hhbj09MSk/IiI6InMiLAorKyAgICAgICAgICAgIERldkZtdENoYW5uZWxzU3RyaW5nKG1E ZXZpY2UtPkZtdENoYW5zKSk7CisrICAgICAgICBpZihwYXIucGNoYW4gPCAyKSBtRGV2aWNlLT5G bXRDaGFucyA9IERldkZtdE1vbm87CisrICAgICAgICBlbHNlIG1EZXZpY2UtPkZtdENoYW5zID0g RGV2Rm10U3RlcmVvOworICAgICB9CisrICAgIG1EZXZpY2UtPkZyZXF1ZW5jeSA9IHBhci5yYXRl OworIAorICAgICBzZXREZWZhdWx0Q2hhbm5lbE9yZGVyKCk7CisgCmRpZmYgLS1naXQgYS9zcmNw a2dzL2xpYm9wZW5hbC9wYXRjaGVzL3VzZS1ub25ibG9jay1tb2RlLXNuZGlvLWNhcHR1cmUucGF0 Y2ggYi9zcmNwa2dzL2xpYm9wZW5hbC9wYXRjaGVzL3VzZS1ub25ibG9jay1tb2RlLXNuZGlvLWNh cHR1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4zNDUy MGFkYTNhZDEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xpYm9wZW5hbC9wYXRjaGVzL3Vz ZS1ub25ibG9jay1tb2RlLXNuZGlvLWNhcHR1cmUucGF0Y2gKQEAgLTAsMCArMSwyMzkgQEAKK0Zy b20gMWZkNGM4NjVmYzA4NGYxMzQzNjNkYjUxNTUzNjFkNTQ4MzY3OTIzNSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IENocmlzIFJvYmluc29uIDxjaHJpcy5rY2F0QGdtYWlsLmNvbT4K K0RhdGU6IEZyaSwgMzAgSnVsIDIwMjEgMDQ6MTU6MDAgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0g VXNlIG5vbi1ibG9jayBtb2RlIGZvciBzbmRpbyBjYXB0dXJlCisKKy0tLQorIGFsYy9iYWNrZW5k cy9zbmRpby5jcHAgfCAxMjMgKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t LS0KKyAxIGZpbGUgY2hhbmdlZCwgNzYgaW5zZXJ0aW9ucygrKSwgNDcgZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS9hbGMvYmFja2VuZHMvc25kaW8uY3BwIGIvYWxjL2JhY2tlbmRzL3NuZGlv LmNwcAoraW5kZXggYzQxYzZjOGJjLi42ODUyZTAxYTIgMTAwNjQ0CistLS0gYS9hbGMvYmFja2Vu ZHMvc25kaW8uY3BwCisrKysgYi9hbGMvYmFja2VuZHMvc25kaW8uY3BwCitAQCAtMjIsNiArMjIs NyBAQAorIAorICNpbmNsdWRlICJzbmRpby5oIgorIAorKyNpbmNsdWRlIDxwb2xsLmg+CisgI2lu Y2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorICNpbmNsdWRlIDxzdHJpbmcu aD4KK0BAIC0xNjYsNiArMTY3LDcgQEAgYm9vbCBTbmRpb1BsYXliYWNrOjpyZXNldCgpCisgICAg IH0KKyAgICAgcGFyLmJwcyA9IFNJT19CUFMocGFyLmJpdHMpOworICAgICBwYXIubGUgPSBTSU9f TEVfTkFUSVZFOworKyAgICBwYXIubXNiID0gMTsKKyAKKyAgICAgcGFyLnJhdGUgPSBtRGV2aWNl LT5GcmVxdWVuY3k7CisgICAgIHBhci5wY2hhbiA9IG1EZXZpY2UtPmNoYW5uZWxzRnJvbUZtdCgp OworQEAgLTE5Nyw2ICsxOTksNyBAQCBib29sIFNuZGlvUGxheWJhY2s6OnJlc2V0KCkKKyAgICAg Y2F0Y2goYWw6OmJhY2tlbmRfZXhjZXB0aW9uICZlKSB7CisgICAgICAgICBpZih0cnlmbXQgPT0g RGV2Rm10U2hvcnQpCisgICAgICAgICAgICAgdGhyb3c7CisrICAgICAgICBwYXIuY2xlYXIoKTsK KyAgICAgICAgIHRyeWZtdCA9IERldkZtdFNob3J0OworICAgICAgICAgZ290byByZXRyeV9wYXJh bXM7CisgICAgIH0KK0BAIC0yNjYsNiArMjY5LDExIEBAIHZvaWQgU25kaW9QbGF5YmFjazo6c3Rv cCgpCisgfQorIAorIAorKy8qIFRPRE86IFRoaXMgY291bGQgYmUgaW1wcm92ZWQgYnkgYXZvaWRp bmcgdGhlIHJpbmcgYnVmZmVyIGFuZCByZWNvcmQgdGhyZWFkLAorKyAqIGNvdW50aW5nIHRoZSBh dmFpbGFibGUgc2FtcGxlcyB3aXRoIHRoZSBzaW9fb25tb3ZlIGNhbGxiYWNrIGFuZCByZWFkaW5n CisrICogZGlyZWN0bHkgZnJvbSB0aGUgZGV2aWNlLiBIb3dldmVyLCB0aGlzIGRlcGVuZHMgb24g cmVhc29uYWJsZSBzdXBwb3J0IGZvcgorKyAqIGNhcHR1cmUgYnVmZmVyIHNpemVzIGFwcHMgbWF5 IHJlcXVlc3QuCisrICovCisgc3RydWN0IFNuZGlvQ2FwdHVyZSBmaW5hbCA6IHB1YmxpYyBCYWNr ZW5kQmFzZSB7CisgICAgIFNuZGlvQ2FwdHVyZShEZXZpY2VCYXNlICpkZXZpY2UpIG5vZXhjZXB0 IDogQmFja2VuZEJhc2V7ZGV2aWNlfSB7IH0KKyAgICAgflNuZGlvQ2FwdHVyZSgpIG92ZXJyaWRl OworQEAgLTI4MCw2ICsyODgsNyBAQCBzdHJ1Y3QgU25kaW9DYXB0dXJlIGZpbmFsIDogcHVibGlj IEJhY2tlbmRCYXNlIHsKKyAKKyAgICAgc2lvX2hkbCAqbVNuZEhhbmRsZXtudWxscHRyfTsKKyAK KysgICAgYWw6OnZlY3RvcjxzdHJ1Y3QgcG9sbGZkPiBtRmRzOworICAgICBSaW5nQnVmZmVyUHRy IG1SaW5nOworIAorICAgICBzdGQ6OmF0b21pYzxib29sPiBtS2lsbE5vd3t0cnVlfTsKK0BAIC0z MDUsMzcgKzMxNCw1MyBAQCBpbnQgU25kaW9DYXB0dXJlOjpyZWNvcmRQcm9jKCkKKyAgICAgd2hp bGUoIW1LaWxsTm93LmxvYWQoc3RkOjptZW1vcnlfb3JkZXJfYWNxdWlyZSkKKyAgICAgICAgICYm IG1EZXZpY2UtPkNvbm5lY3RlZC5sb2FkKHN0ZDo6bWVtb3J5X29yZGVyX2FjcXVpcmUpKQorICAg ICB7CistICAgICAgICBhdXRvIGRhdGEgPSBtUmluZy0+Z2V0V3JpdGVWZWN0b3IoKTsKKy0gICAg ICAgIHNpemVfdCB0b2Rve2RhdGEuZmlyc3QubGVuICsgZGF0YS5zZWNvbmQubGVufTsKKy0gICAg ICAgIGlmKHRvZG8gPT0gMCkKKysgICAgICAgIC8qIFdhaXQgdW50aWwgdGhlcmUncyBzb21lIHNh bXBsZXMgdG8gcmVhZC4gKi8KKysgICAgICAgIGNvbnN0IGludCBuZmRze3Npb19wb2xsZmQobVNu ZEhhbmRsZSwgbUZkcy5kYXRhKCksIFBPTExJTil9OworKyAgICAgICAgaWYobmZkcyA8PSAwKQor ICAgICAgICAgeworLSAgICAgICAgICAgIHN0YXRpYyBjaGFyIGp1bmtbNDA5Nl07CistICAgICAg ICAgICAgc2lvX3JlYWQobVNuZEhhbmRsZSwganVuaywKKy0gICAgICAgICAgICAgICAgbWlueihz aXplb2YoanVuaykvZnJhbWVTaXplLCBtRGV2aWNlLT5VcGRhdGVTaXplKSpmcmFtZVNpemUpOwor KyAgICAgICAgICAgIG1EZXZpY2UtPmhhbmRsZURpc2Nvbm5lY3QoIkZhaWxlZCB0byBnZXQgcG9s bGluZyBmZHM6ICVkIiwgbmZkcyk7CisrICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICB9Cisr ICAgICAgICBpbnQgcG9sbHJlc3s6OnBvbGwobUZkcy5kYXRhKCksIHN0YXRpY19jYXN0PHVpbnQ+ KG5mZHMpLCAyMDAwKX07CisrICAgICAgICBpZihwb2xscmVzIDwgMCkKKysgICAgICAgIHsKKysg ICAgICAgICAgICBpZihlcnJubyA9PSBFSU5UUikgY29udGludWU7CisrICAgICAgICAgICAgbURl dmljZS0+aGFuZGxlRGlzY29ubmVjdCgiUG9sbCBlcnJvcjogJXMiLCBzdHJlcnJvcihlcnJubykp OworKyAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgfQorKyAgICAgICAgaWYocG9sbHJlcyA9 PSAwKQorICAgICAgICAgICAgIGNvbnRpbnVlOworKworKyAgICAgICAgY29uc3QgaW50IHJldmVu dHN7c2lvX3JldmVudHMobVNuZEhhbmRsZSwgbUZkcy5kYXRhKCkpfTsKKysgICAgICAgIGlmKChy ZXZlbnRzJlBPTExIVVApKQorKyAgICAgICAgeworKyAgICAgICAgICAgIG1EZXZpY2UtPmhhbmRs ZURpc2Nvbm5lY3QoIkdvdCBQT0xMSFVQIGZyb20gcG9sbCBldmVudHMiKTsKKysgICAgICAgICAg ICBicmVhazsKKyAgICAgICAgIH0KKysgICAgICAgIGlmKCEocmV2ZW50cyZQT0xMSU4pKQorKyAg ICAgICAgICAgIGNvbnRpbnVlOworIAorLSAgICAgICAgc2l6ZV90IHRvdGFsezB1fTsKKy0gICAg ICAgIGRhdGEuZmlyc3QubGVuICAqPSBmcmFtZVNpemU7CistICAgICAgICBkYXRhLnNlY29uZC5s ZW4gKj0gZnJhbWVTaXplOworLSAgICAgICAgdG9kbyA9IG1pbnoodG9kbywgbURldmljZS0+VXBk YXRlU2l6ZSkgKiBmcmFtZVNpemU7CistICAgICAgICB3aGlsZSh0b3RhbCA8IHRvZG8pCisrICAg ICAgICBhdXRvIGRhdGEgPSBtUmluZy0+Z2V0V3JpdGVWZWN0b3IoKTsKKysgICAgICAgIGFsOjpz cGFuPGFsOjpieXRlPiBidWZmZXJ7ZGF0YS5maXJzdC5idWYsIGRhdGEuZmlyc3QubGVuKmZyYW1l U2l6ZX07CisrICAgICAgICB3aGlsZSghYnVmZmVyLmVtcHR5KCkpCisgICAgICAgICB7CistICAg ICAgICAgICAgaWYoIWRhdGEuZmlyc3QubGVuKQorLSAgICAgICAgICAgICAgICBkYXRhLmZpcnN0 ID0gZGF0YS5zZWNvbmQ7CisrICAgICAgICAgICAgc2l6ZV90IGdvdHtzaW9fcmVhZChtU25kSGFu ZGxlLCBidWZmZXIuZGF0YSgpLCBidWZmZXIuc2l6ZSgpKX07CisrICAgICAgICAgICAgaWYoZ290 ID09IDApIGJyZWFrOworIAorLSAgICAgICAgICAgIHNpemVfdCBnb3R7c2lvX3JlYWQobVNuZEhh bmRsZSwgZGF0YS5maXJzdC5idWYsIG1pbnoodG9kby10b3RhbCwgZGF0YS5maXJzdC5sZW4pKX07 CistICAgICAgICAgICAgaWYoIWdvdCkKKysgICAgICAgICAgICBtUmluZy0+d3JpdGVBZHZhbmNl KGdvdCAvIGZyYW1lU2l6ZSk7CisrICAgICAgICAgICAgYnVmZmVyID0gYnVmZmVyLnN1YnNwYW4o Z290KTsKKysgICAgICAgICAgICBpZihidWZmZXIuZW1wdHkoKSkKKyAgICAgICAgICAgICB7Cist ICAgICAgICAgICAgICAgIG1EZXZpY2UtPmhhbmRsZURpc2Nvbm5lY3QoIkZhaWxlZCB0byByZWFk IGNhcHR1cmUgc2FtcGxlcyIpOworLSAgICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAg ICAgICAgZGF0YSA9IG1SaW5nLT5nZXRXcml0ZVZlY3RvcigpOworKyAgICAgICAgICAgICAgICBi dWZmZXIgPSB7ZGF0YS5maXJzdC5idWYsIGRhdGEuZmlyc3QubGVuKmZyYW1lU2l6ZX07CisgICAg ICAgICAgICAgfQorLQorLSAgICAgICAgICAgIGRhdGEuZmlyc3QuYnVmICs9IGdvdDsKKy0gICAg ICAgICAgICBkYXRhLmZpcnN0LmxlbiAtPSBnb3Q7CistICAgICAgICAgICAgdG90YWwgKz0gZ290 OworICAgICAgICAgfQorLSAgICAgICAgbVJpbmctPndyaXRlQWR2YW5jZSh0b3RhbCAvIGZyYW1l U2l6ZSk7CisrICAgICAgICBpZihidWZmZXIuZW1wdHkoKSkKKysgICAgICAgIHsKKysgICAgICAg ICAgICAvKiBHb3Qgc2FtcGxlcyB0byByZWFkLCBidXQgbm8gcGxhY2UgdG8gc3RvcmUgaXQuIERy b3AgaXQuICovCisrICAgICAgICAgICAgc3RhdGljIGNoYXIganVua1s0MDk2XTsKKysgICAgICAg ICAgICBzaW9fcmVhZChtU25kSGFuZGxlLCBqdW5rLCBzaXplb2YoanVuaykgLSAoc2l6ZW9mKGp1 bmspJWZyYW1lU2l6ZSkpOworKyAgICAgICAgfQorICAgICB9CisgCisgICAgIHJldHVybiAwOwor QEAgLTM1MCw3NiArMzc1LDgwIEBAIHZvaWQgU25kaW9DYXB0dXJlOjpvcGVuKGNvbnN0IGNoYXIg Km5hbWUpCisgICAgICAgICB0aHJvdyBhbDo6YmFja2VuZF9leGNlcHRpb257YWw6OmJhY2tlbmRf ZXJyb3I6Ok5vRGV2aWNlLCAiRGV2aWNlIG5hbWUgXCIlc1wiIG5vdCBmb3VuZCIsCisgICAgICAg ICAgICAgbmFtZX07CisgCistICAgIG1TbmRIYW5kbGUgPSBzaW9fb3BlbihudWxscHRyLCBTSU9f UkVDLCAwKTsKKysgICAgbVNuZEhhbmRsZSA9IHNpb19vcGVuKG51bGxwdHIsIFNJT19SRUMsIHRy dWUpOworICAgICBpZihtU25kSGFuZGxlID09IG51bGxwdHIpCisgICAgICAgICB0aHJvdyBhbDo6 YmFja2VuZF9leGNlcHRpb257YWw6OmJhY2tlbmRfZXJyb3I6Ok5vRGV2aWNlLCAiQ291bGQgbm90 IG9wZW4gYmFja2VuZCBkZXZpY2UifTsKKyAKKy0gICAgc2lvX3BhciBwYXI7CistICAgIHNpb19p bml0cGFyKCZwYXIpOworLQorKyAgICBTaW9QYXIgcGFyOworICAgICBzd2l0Y2gobURldmljZS0+ Rm10VHlwZSkKKyAgICAgeworICAgICBjYXNlIERldkZtdEJ5dGU6CistICAgICAgICBwYXIuYnBz ID0gMTsKKysgICAgICAgIHBhci5iaXRzID0gODsKKyAgICAgICAgIHBhci5zaWcgPSAxOworICAg ICAgICAgYnJlYWs7CisgICAgIGNhc2UgRGV2Rm10VUJ5dGU6CistICAgICAgICBwYXIuYnBzID0g MTsKKysgICAgICAgIHBhci5iaXRzID0gODsKKyAgICAgICAgIHBhci5zaWcgPSAwOworICAgICAg ICAgYnJlYWs7CisgICAgIGNhc2UgRGV2Rm10U2hvcnQ6CistICAgICAgICBwYXIuYnBzID0gMjsK KysgICAgICAgIHBhci5iaXRzID0gMTY7CisgICAgICAgICBwYXIuc2lnID0gMTsKKyAgICAgICAg IGJyZWFrOworICAgICBjYXNlIERldkZtdFVTaG9ydDoKKy0gICAgICAgIHBhci5icHMgPSAyOwor KyAgICAgICAgcGFyLmJpdHMgPSAxNjsKKyAgICAgICAgIHBhci5zaWcgPSAwOworICAgICAgICAg YnJlYWs7CisgICAgIGNhc2UgRGV2Rm10SW50OgorLSAgICAgICAgcGFyLmJwcyA9IDQ7CisrICAg ICAgICBwYXIuYml0cyA9IDMyOworICAgICAgICAgcGFyLnNpZyA9IDE7CisgICAgICAgICBicmVh azsKKyAgICAgY2FzZSBEZXZGbXRVSW50OgorLSAgICAgICAgcGFyLmJwcyA9IDQ7CisrICAgICAg ICBwYXIuYml0cyA9IDMyOworICAgICAgICAgcGFyLnNpZyA9IDA7CisgICAgICAgICBicmVhazsK KyAgICAgY2FzZSBEZXZGbXRGbG9hdDoKKyAgICAgICAgIHRocm93IGFsOjpiYWNrZW5kX2V4Y2Vw dGlvbnthbDo6YmFja2VuZF9lcnJvcjo6RGV2aWNlRXJyb3IsCisgICAgICAgICAgICAgIiVzIGNh cHR1cmUgc2FtcGxlcyBub3Qgc3VwcG9ydGVkIiwgRGV2Rm10VHlwZVN0cmluZyhtRGV2aWNlLT5G bXRUeXBlKX07CisgICAgIH0KKy0gICAgcGFyLmJpdHMgPSBwYXIuYnBzICogODsKKysgICAgcGFy LmJwcyA9IFNJT19CUFMocGFyLmJpdHMpOworICAgICBwYXIubGUgPSBTSU9fTEVfTkFUSVZFOwor LSAgICBwYXIubXNiID0gU0lPX0xFX05BVElWRSA/IDAgOiAxOworKyAgICBwYXIubXNiID0gMTsK KyAgICAgcGFyLnJjaGFuID0gbURldmljZS0+Y2hhbm5lbHNGcm9tRm10KCk7CisgICAgIHBhci5y YXRlID0gbURldmljZS0+RnJlcXVlbmN5OworIAorICAgICBwYXIuYXBwYnVmc3ogPSBtYXh1KG1E ZXZpY2UtPkJ1ZmZlclNpemUsIG1EZXZpY2UtPkZyZXF1ZW5jeS8xMCk7CistICAgIHBhci5yb3Vu ZCA9IG1pbnUocGFyLmFwcGJ1ZnN6LCBtRGV2aWNlLT5GcmVxdWVuY3kvNDApOworLQorLSAgICBt RGV2aWNlLT5VcGRhdGVTaXplID0gcGFyLnJvdW5kOworLSAgICBtRGV2aWNlLT5CdWZmZXJTaXpl ID0gcGFyLmFwcGJ1ZnN6OworKyAgICBwYXIucm91bmQgPSBtaW51KHBhci5hcHBidWZzei8yLCBt RGV2aWNlLT5GcmVxdWVuY3kvNDApOworIAorICAgICBpZighc2lvX3NldHBhcihtU25kSGFuZGxl LCAmcGFyKSB8fCAhc2lvX2dldHBhcihtU25kSGFuZGxlLCAmcGFyKSkKKyAgICAgICAgIHRocm93 IGFsOjpiYWNrZW5kX2V4Y2VwdGlvbnthbDo6YmFja2VuZF9lcnJvcjo6RGV2aWNlRXJyb3IsCisg ICAgICAgICAgICAgIkZhaWxlZCB0byBzZXQgZGV2aWNlIHByYWFtZXRlcnMifTsKKyAKKy0gICAg aWYocGFyLmJpdHMgIT0gcGFyLmJwcyo4KQorKyAgICBpZihwYXIuYnBzID4gMSAmJiBwYXIubGUg IT0gU0lPX0xFX05BVElWRSkKKysgICAgICAgIHRocm93IGFsOjpiYWNrZW5kX2V4Y2VwdGlvbnth bDo6YmFja2VuZF9lcnJvcjo6RGV2aWNlRXJyb3IsCisrICAgICAgICAgICAgIiVzLWVuZGlhbiBz YW1wbGVzIG5vdCBzdXBwb3J0ZWQiLCBwYXIubGUgPyAiTGl0dGxlIiA6ICJCaWcifTsKKysgICAg aWYocGFyLmJpdHMgPCBwYXIuYnBzKjggJiYgIXBhci5tc2IpCisgICAgICAgICB0aHJvdyBhbDo6 YmFja2VuZF9leGNlcHRpb257YWw6OmJhY2tlbmRfZXJyb3I6OkRldmljZUVycm9yLAorICAgICAg ICAgICAgICJQYWRkZWQgc2FtcGxlcyBub3Qgc3VwcG9ydGVkIChnb3QgJXUgb2YgJXUgYml0cyki LCBwYXIuYml0cywgcGFyLmJwcyo4fTsKKyAKKy0gICAgaWYoISgobURldmljZS0+Rm10VHlwZSA9 PSBEZXZGbXRCeXRlICYmIHBhci5iaXRzID09IDggJiYgcGFyLnNpZyAhPSAwKQorLSAgICAgICAg fHwgKG1EZXZpY2UtPkZtdFR5cGUgPT0gRGV2Rm10VUJ5dGUgJiYgcGFyLmJpdHMgPT0gOCAmJiBw YXIuc2lnID09IDApCistICAgICAgICB8fCAobURldmljZS0+Rm10VHlwZSA9PSBEZXZGbXRTaG9y dCAmJiBwYXIuYml0cyA9PSAxNiAmJiBwYXIuc2lnICE9IDApCistICAgICAgICB8fCAobURldmlj ZS0+Rm10VHlwZSA9PSBEZXZGbXRVU2hvcnQgJiYgcGFyLmJpdHMgPT0gMTYgJiYgcGFyLnNpZyA9 PSAwKQorLSAgICAgICAgfHwgKG1EZXZpY2UtPkZtdFR5cGUgPT0gRGV2Rm10SW50ICYmIHBhci5i aXRzID09IDMyICYmIHBhci5zaWcgIT0gMCkKKy0gICAgICAgIHx8IChtRGV2aWNlLT5GbXRUeXBl ID09IERldkZtdFVJbnQgJiYgcGFyLmJpdHMgPT0gMzIgJiYgcGFyLnNpZyA9PSAwKSkKKy0gICAg ICAgIHx8IG1EZXZpY2UtPmNoYW5uZWxzRnJvbUZtdCgpICE9IHBhci5yY2hhbiB8fCBtRGV2aWNl LT5GcmVxdWVuY3kgIT0gcGFyLnJhdGUpCisrICAgIGF1dG8gbWF0Y2hfZm10ID0gW10oRGV2Rm10 VHlwZSBmbXR0eXBlLCBjb25zdCBzaW9fcGFyICZwYXIpIC0+IGJvb2wKKysgICAgeworKyAgICAg ICAgcmV0dXJuIChmbXR0eXBlID09IERldkZtdEJ5dGUgJiYgcGFyLmJwcyA9PSAxICYmIHBhci5z aWcgIT0gMCkKKysgICAgICAgICAgICB8fCAoZm10dHlwZSA9PSBEZXZGbXRVQnl0ZSAmJiBwYXIu YnBzID09IDEgJiYgcGFyLnNpZyA9PSAwKQorKyAgICAgICAgICAgIHx8IChmbXR0eXBlID09IERl dkZtdFNob3J0ICYmIHBhci5icHMgPT0gMiAmJiBwYXIuc2lnICE9IDApCisrICAgICAgICAgICAg fHwgKGZtdHR5cGUgPT0gRGV2Rm10VVNob3J0ICYmIHBhci5icHMgPT0gMiAmJiBwYXIuc2lnID09 IDApCisrICAgICAgICAgICAgfHwgKGZtdHR5cGUgPT0gRGV2Rm10SW50ICYmIHBhci5icHMgPT0g NCAmJiBwYXIuc2lnICE9IDApCisrICAgICAgICAgICAgfHwgKGZtdHR5cGUgPT0gRGV2Rm10VUlu dCAmJiBwYXIuYnBzID09IDQgJiYgcGFyLnNpZyA9PSAwKTsKKysgICAgfTsKKysgICAgaWYoIW1h dGNoX2ZtdChtRGV2aWNlLT5GbXRUeXBlLCBwYXIpIHx8IG1EZXZpY2UtPmNoYW5uZWxzRnJvbUZt dCgpICE9IHBhci5yY2hhbgorKyAgICAgICAgfHwgbURldmljZS0+RnJlcXVlbmN5ICE9IHBhci5y YXRlKQorICAgICAgICAgdGhyb3cgYWw6OmJhY2tlbmRfZXhjZXB0aW9ue2FsOjpiYWNrZW5kX2Vy cm9yOjpEZXZpY2VFcnJvciwKKyAgICAgICAgICAgICAiRmFpbGVkIHRvIHNldCBmb3JtYXQgJXMg JXMgJXVoeiwgZ290ICVjJXUgJXUtY2hhbm5lbCAldWh6IGluc3RlYWQiLAorICAgICAgICAgICAg IERldkZtdFR5cGVTdHJpbmcobURldmljZS0+Rm10VHlwZSksIERldkZtdENoYW5uZWxzU3RyaW5n KG1EZXZpY2UtPkZtdENoYW5zKSwKKy0gICAgICAgICAgICBtRGV2aWNlLT5GcmVxdWVuY3ksIHBh ci5zaWc/J3MnOid1JywgcGFyLmJpdHMsIHBhci5yY2hhbiwgcGFyLnJhdGV9OworKyAgICAgICAg ICAgIG1EZXZpY2UtPkZyZXF1ZW5jeSwgcGFyLnNpZz8ncyc6J3UnLCBwYXIuYnBzKjgsIHBhci5y Y2hhbiwgcGFyLnJhdGV9OworIAorICAgICBtUmluZyA9IFJpbmdCdWZmZXI6OkNyZWF0ZShtRGV2 aWNlLT5CdWZmZXJTaXplLCBwYXIuYnBzKnBhci5yY2hhbiwgZmFsc2UpOworKyAgICBtRGV2aWNl LT5CdWZmZXJTaXplID0gc3RhdGljX2Nhc3Q8dWludD4obVJpbmctPndyaXRlU3BhY2UoKSk7Cisr ICAgIG1EZXZpY2UtPlVwZGF0ZVNpemUgPSBwYXIucm91bmQ7CisgCisgICAgIHNldERlZmF1bHRD aGFubmVsT3JkZXIoKTsKKyAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGlib3BlbmFsL3RlbXBsYXRl IGIvc3JjcGtncy9saWJvcGVuYWwvdGVtcGxhdGUKaW5kZXggYzg5MDE2YTM1ODRiLi40NDFlMTM4 ZDNjNjUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbGlib3BlbmFsL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvbGlib3BlbmFsL3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAnbGlib3BlbmFsJwogcGtnbmFtZT1saWJvcGVuYWwKLXZlcnNpb249MS4yMS4wCit2ZXJzaW9u PTEuMjEuMQogcmV2aXNpb249MQogd3Jrc3JjPSJvcGVuYWwtc29mdC0ke3ZlcnNpb259IgogYnVp bGRfc3R5bGU9Y21ha2UKQEAgLTExLDkgKzExLDkgQEAgbWFrZWRlcGVuZHM9InpsaWItZGV2ZWwg YWxzYS1saWItZGV2ZWwgcHVsc2VhdWRpby1kZXZlbCBTREwyLWRldmVsIGZmbXBlZy1kZXZlbAog c2hvcnRfZGVzYz0iQ3Jvc3MtcGxhdGZvcm0gM0QgYXVkaW8gbGlicmFyeSIKIG1haW50YWluZXI9 Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJMR1BMLTIuMS1vci1s YXRlciIKLWhvbWVwYWdlPSJodHRwOi8vb3BlbmFsLXNvZnQub3JnLyIKLWRpc3RmaWxlcz0iaHR0 cDovL29wZW5hbC1zb2Z0Lm9yZy9vcGVuYWwtcmVsZWFzZXMvb3BlbmFsLXNvZnQtJHt2ZXJzaW9u fS50YXIuYnoyIgotY2hlY2tzdW09MjkxNmI0ZmMyNGUyM2IwMjcxY2UwYjM0Njg4MzJhZDhiNmQ4 NDQxYjE4MzAyMTViMjhjYzRmZWU2Y2M4OTI5NworaG9tZXBhZ2U9Imh0dHBzOi8vb3BlbmFsLXNv ZnQub3JnLyIKK2Rpc3RmaWxlcz0iaHR0cHM6Ly9vcGVuYWwtc29mdC5vcmcvb3BlbmFsLXJlbGVh c2VzL29wZW5hbC1zb2Z0LSR7dmVyc2lvbn0udGFyLmJ6MiIKK2NoZWNrc3VtPWM4YWQ3NjdlOWEz MjMwZGY2Njc1NmEyMWNjOGViZjIxOGE5ZDQ3Mjg4ZjI1MTQwMTQ4MzIyMDRlNjY2YWY1ZDgKIAog YnVpbGRfb3B0aW9ucz0ic25kaW8iCiBidWlsZF9vcHRpb25zX2RlZmF1bHQ9InNuZGlvIgo= --===============3064905437139424737==--