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: rcritten To: git-commits@fedoraproject.org Subject: [rpms/jss] pqc: - Support ECC POP on the server (#224688) Date: Tue, 28 Jul 2026 16:48:10 GMT Message-ID: <178525729072.1.11891244765349110764.rpms-jss-4a26fbad6cb1@fedoraproject.org> List-ID: X-Git-Repo: rpms/jss X-Git-Branch: pqc X-Git-Rev: 4a26fbad6cb191a570d44dce03dd92b3155c78f6 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvanNzCiAgICAgICAgICAgIEJyYW5jaCA6IHBxYwogICAgICAgICAgICBDb21t aXQgOiA0YTI2ZmJhZDZjYjE5MWE1NzBkNDRkY2UwM2RkOTJiMzE1NWM3OGY2CiAgICAgICAgICAg IEF1dGhvciA6IHJjcml0dGVuIDxyY3JpdHRlbkBmZWRvcmFwcm9qZWN0Lm9yZz4KICAgICAgICAg ICAgRGF0ZSAgIDogMjAwOS0wNy0zMVQxNDowMzoxNCswMDowMAogICAgICAgICAgICBTdGF0cyAg OiArNjY0Ly0yIGluIDMgZmlsZShzKQogICAgICAgICAgICBVUkwgICAgOiBodHRwczovL3NyYy5m ZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2pzcy9jLzRhMjZmYmFkNmNiMTkxYTU3MGQ0NGRjZTAzZGQ5 MmIzMTU1Yzc4ZjY/YnJhbmNoPXBxYwoKICAgICAgICAgICAgTG9nOgogICAgICAgICAgICAtIFN1 cHBvcnQgRUNDIFBPUCBvbiB0aGUgc2VydmVyICgjMjI0Njg4KQotIFNlcnZlciBTb2NrZXRzIGFy ZSBoYXJkIGNvZGVkIHRvIElQVjQgKCM0Njk0NTYpCi0gU2V0IE5TUyBkZXBlbmRlbmN5ID49IDMu MTIuMy45OQoKLS0tCmRpZmYgLS1naXQgYS9qc3MtRUNDLXBvcC5wYXRjaCBiL2pzcy1FQ0MtcG9w LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4ZGE4OWQKLS0tIC9k ZXYvbnVsbAorKysgYi9qc3MtRUNDLXBvcC5wYXRjaApAQCAtMCwwICsxLDI5IEBACitkaWZmIC1y dXBOIGpzcy00LjIuNi9tb3ppbGxhL3NlY3VyaXR5L2pzcy9vcmcvbW96aWxsYS9qc3MvcGtpeC9j cm1mL0NlcnRSZXFNc2cuamF2YSBqc3MtNC4yLjYuY2Z1L21vemlsbGEvc2VjdXJpdHkvanNzL29y Zy9tb3ppbGxhL2pzcy9wa2l4L2NybWYvQ2VydFJlcU1zZy5qYXZhCistLS0ganNzLTQuMi42L21v emlsbGEvc2VjdXJpdHkvanNzL29yZy9tb3ppbGxhL2pzcy9wa2l4L2NybWYvQ2VydFJlcU1zZy5q YXZhCTIwMDQtMDQtMjUgMDg6MDI6MjYuMDAwMDAwMDAwIC0wNzAwCisrKysganNzLTQuMi42LmNm dS9tb3ppbGxhL3NlY3VyaXR5L2pzcy9vcmcvbW96aWxsYS9qc3MvcGtpeC9jcm1mL0NlcnRSZXFN c2cuamF2YQkyMDA5LTA3LTI3IDEzOjM4OjM4LjE5NzQyMjAwMCAtMDcwMAorQEAgLTEzMCw2ICsx MzAsMTYgQEAgcHVibGljIGNsYXNzIENlcnRSZXFNc2cgaW1wbGVtZW50cyBBU04xVgorICAgICAv Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLworIAorIAlwdWJsaWMgdm9pZCB2ZXJpZnkoKSB0aHJvd3MgU2lnbmF0dXJl RXhjZXB0aW9uLAorKyAgICAgICAgSW52YWxpZEtleUZvcm1hdEV4Y2VwdGlvbiwgTm9TdWNoQWxn b3JpdGhtRXhjZXB0aW9uLAorKyAgICAgICAgb3JnLm1vemlsbGEuanNzLkNyeXB0b01hbmFnZXIu Tm90SW5pdGlhbGl6ZWRFeGNlcHRpb24sCisrICAgICAgICBUb2tlbkV4Y2VwdGlvbiwgamF2YS5z ZWN1cml0eS5JbnZhbGlkS2V5RXhjZXB0aW9uLCBJT0V4Y2VwdGlvbnsKKysKKysgICAgICAgIENy eXB0b1Rva2VuIHRva2VuID0gQ3J5cHRvTWFuYWdlci5nZXRJbnN0YW5jZSgpCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAuZ2V0SW50ZXJuYWxDcnlwdG9Ub2tlbigpOworKyAgICAg ICAgdmVyaWZ5KHRva2VuKTsKKysgICAgfQorKworKyAgICBwdWJsaWMgdm9pZCB2ZXJpZnkoQ3J5 cHRvVG9rZW4gdG9rZW4pIHRocm93cyBTaWduYXR1cmVFeGNlcHRpb24sCisgCQlJbnZhbGlkS2V5 Rm9ybWF0RXhjZXB0aW9uLCBOb1N1Y2hBbGdvcml0aG1FeGNlcHRpb24sCisgCQlvcmcubW96aWxs YS5qc3MuQ3J5cHRvTWFuYWdlci5Ob3RJbml0aWFsaXplZEV4Y2VwdGlvbiwKKyAJCVRva2VuRXhj ZXB0aW9uLCBqYXZhLnNlY3VyaXR5LkludmFsaWRLZXlFeGNlcHRpb24sIElPRXhjZXB0aW9uewor QEAgLTE0OSw4ICsxNTksNiBAQCBwdWJsaWMgY2xhc3MgQ2VydFJlcU1zZyBpbXBsZW1lbnRzIEFT TjFWCisgCQkJCXB1YmtleSA9IChQdWJsaWNLZXkpIHNwaS50b1B1YmxpY0tleSgpOworIAkJCX0K KyAKKy0JCQlDcnlwdG9Ub2tlbiB0b2tlbiA9IENyeXB0b01hbmFnZXIuZ2V0SW5zdGFuY2UoKQor LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldEludGVybmFsQ3J5cHRvVG9rZW4o KTsKKyAJCQlTaWduYXR1cmVBbGdvcml0aG0gc2lnQWxnID0KKyAJCQkJU2lnbmF0dXJlQWxnb3Jp dGhtLmZyb21PSUQoYWxnLmdldE9JRCgpKTsKKyAJCQlTaWduYXR1cmUgc2lnID0gdG9rZW4uZ2V0 U2lnbmF0dXJlQ29udGV4dChzaWdBbGcpOwoKZGlmZiAtLWdpdCBhL2pzcy1pcHY2LnBhdGNoIGIv anNzLWlwdjYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWZkNWZi OQotLS0gL2Rldi9udWxsCisrKyBiL2pzcy1pcHY2LnBhdGNoCkBAIC0wLDAgKzEsNjIzIEBACitk aWZmIC1ydXBOIGpzcy00LjIuNi5wcmUtSVB2Ni9tb3ppbGxhL3NlY3VyaXR5L2pzcy9saWIvanNz LmRlZiBqc3MtNC4yLjYvbW96aWxsYS9zZWN1cml0eS9qc3MvbGliL2pzcy5kZWYKKy0tLSBqc3Mt NC4yLjYucHJlLUlQdjYvbW96aWxsYS9zZWN1cml0eS9qc3MvbGliL2pzcy5kZWYJMjAwOS0wNi0y NCAxNzowODo1OS43ODQzNzEwMDAgLTA3MDAKKysrKyBqc3MtNC4yLjYvbW96aWxsYS9zZWN1cml0 eS9qc3MvbGliL2pzcy5kZWYJMjAwOS0wNi0xOSAxNzo1NjowMC4wMDAwMDAwMDAgLTA3MDAKK0BA IC0xNzUsNiArMTc1LDcgQEAgSmF2YV9vcmdfbW96aWxsYV9qc3Nfc3NsX1NTTFNlcnZlclNvY2tl dAorIEphdmFfb3JnX21vemlsbGFfanNzX3NzbF9TU0xTb2NrZXRfZm9yY2VIYW5kc2hha2U7Cisg SmF2YV9vcmdfbW96aWxsYV9qc3Nfc3NsX1NTTFNvY2tldF9nZXRLZWVwQWxpdmU7CisgSmF2YV9v cmdfbW96aWxsYV9qc3Nfc3NsX1NTTFNvY2tldF9nZXRMb2NhbEFkZHJlc3NOYXRpdmU7CisrSmF2 YV9vcmdfbW96aWxsYV9qc3Nfc3NsX1NvY2tldEJhc2VfZ2V0TG9jYWxBZGRyZXNzQnl0ZUFycmF5 TmF0aXZlOworIEphdmFfb3JnX21vemlsbGFfanNzX3NzbF9TU0xTb2NrZXRfZ2V0UG9ydDsKKyBK YXZhX29yZ19tb3ppbGxhX2pzc19zc2xfU1NMU29ja2V0X2dldFJlY2VpdmVCdWZmZXJTaXplOwor IEphdmFfb3JnX21vemlsbGFfanNzX3NzbF9TU0xTb2NrZXRfZ2V0U2VuZEJ1ZmZlclNpemU7CitA QCAtMTk5LDYgKzIwMCw3IEBAIEphdmFfb3JnX21vemlsbGFfanNzX3NzbF9TU0xTb2NrZXRfc29j a2UKKyBKYXZhX29yZ19tb3ppbGxhX2pzc19zc2xfU1NMU29ja2V0X3NvY2tldFdyaXRlOworIEph dmFfb3JnX21vemlsbGFfanNzX3NzbF9Tb2NrZXRCYXNlX2dldExvY2FsUG9ydE5hdGl2ZTsKKyBK YXZhX29yZ19tb3ppbGxhX2pzc19zc2xfU29ja2V0QmFzZV9nZXRQZWVyQWRkcmVzc05hdGl2ZTsK KytKYXZhX29yZ19tb3ppbGxhX2pzc19zc2xfU29ja2V0QmFzZV9nZXRQZWVyQWRkcmVzc0J5dGVB cnJheU5hdGl2ZTsKKyBKYXZhX29yZ19tb3ppbGxhX2pzc19zc2xfU29ja2V0QmFzZV9zZXRDbGll bnRDZXJ0Tmlja25hbWVOYXRpdmU7CisgSmF2YV9vcmdfbW96aWxsYV9qc3Nfc3NsX1NvY2tldEJh c2VfcmVxdWVzdENsaWVudEF1dGhOb0V4cGlyeUNoZWNrTmF0aXZlOworIEphdmFfb3JnX21vemls bGFfanNzX3NzbF9Tb2NrZXRCYXNlX3NldFNTTE9wdGlvbjsKK2RpZmYgLXJ1cE4ganNzLTQuMi42 LnByZS1JUHY2L21vemlsbGEvc2VjdXJpdHkvanNzL29yZy9tb3ppbGxhL2pzcy9zc2wvU1NMU2Vy dmVyU29ja2V0LmphdmEganNzLTQuMi42L21vemlsbGEvc2VjdXJpdHkvanNzL29yZy9tb3ppbGxh L2pzcy9zc2wvU1NMU2VydmVyU29ja2V0LmphdmEKKy0tLSBqc3MtNC4yLjYucHJlLUlQdjYvbW96 aWxsYS9zZWN1cml0eS9qc3Mvb3JnL21vemlsbGEvanNzL3NzbC9TU0xTZXJ2ZXJTb2NrZXQuamF2 YQkyMDA3LTAzLTIwIDE1OjM5OjI4LjAwMDAwMDAwMCAtMDcwMAorKysrIGpzcy00LjIuNi9tb3pp bGxhL3NlY3VyaXR5L2pzcy9vcmcvbW96aWxsYS9qc3Mvc3NsL1NTTFNlcnZlclNvY2tldC5qYXZh CTIwMDktMDYtMjQgMTM6NDY6NDkuMDAwMDAwMDAwIC0wNzAwCitAQCAtMzYsNyArMzYsOCBAQAor IAorIHBhY2thZ2Ugb3JnLm1vemlsbGEuanNzLnNzbDsKKyAKKy1pbXBvcnQgamF2YS5uZXQuSW5l dEFkZHJlc3M7CisraW1wb3J0IGphdmEudXRpbC4qOworK2ltcG9ydCBqYXZhLm5ldC4qOworIGlt cG9ydCBqYXZhLmlvLklPRXhjZXB0aW9uOworIGltcG9ydCBqYXZhLm5ldC5Tb2NrZXQ7CisgaW1w b3J0IGphdmEubmV0LlNvY2tldEV4Y2VwdGlvbjsKK0BAIC0xMzgsMzQgKzEzOSwzNCBAQCBwdWJs aWMgY2xhc3MgU1NMU2VydmVyU29ja2V0IGV4dGVuZHMgamF2CisgICAgICAgICBzdXBlci5jbG9z ZSgpOworIAorICAgICAgICAgLy8gY3JlYXRlIHRoZSBzb2NrZXQKKysKKysgICAgICAgIGludCBz b2NrZXRGYW1pbHkgPSBTb2NrZXRCYXNlLlNTTF9BRl9JTkVUOworKyAgICAgICAgaWYoU29ja2V0 QmFzZS5zdXBwb3J0c0lQVjYoKSkgeworKyAgICAgICAgICAgIHNvY2tldEZhbWlseSA9IFNvY2tl dEJhc2UuU1NMX0FGX0lORVQ2OworKyAgICAgICAgfQorKworICAgICAgICAgc29ja1Byb3h5ID0g bmV3IFNvY2tldFByb3h5KAorLSAgICAgICAgICAgIGJhc2Uuc29ja2V0Q3JlYXRlKHRoaXMsIGNl cnRBcHByb3ZhbENhbGxiYWNrLCBudWxsKSApOworKyAgICAgICAgICAgIGJhc2Uuc29ja2V0Q3Jl YXRlKHRoaXMsIGNlcnRBcHByb3ZhbENhbGxiYWNrLCBudWxsLHNvY2tldEZhbWlseSkgKTsKKyAK KyAgICAgICAgIGJhc2Uuc2V0UHJveHkoc29ja1Byb3h5KTsKKyAKKyAgICAgICAgIHNldFJldXNl QWRkcmVzcyhyZXVzZUFkZHIpOworIAorLSAgICAgICAgLy8gYmluZCBpdCB0byB0aGUgbG9jYWwg YWRkcmVzcyBhbmQgcG9ydAorLSAgICAgICAgaWYoIGJpbmRBZGRyID09IG51bGwgKSB7CistICAg ICAgICAgICAgYmluZEFkZHIgPSBhbnlMb2NhbEFkZHI7CistICAgICAgICB9CisgICAgICAgICBi eXRlW10gYmluZEFkZHJCQSA9IG51bGw7CisgICAgICAgICBpZiggYmluZEFkZHIgIT0gbnVsbCAp IHsKKyAgICAgICAgICAgICBiaW5kQWRkckJBID0gYmluZEFkZHIuZ2V0QWRkcmVzcygpOworICAg ICAgICAgfQorICAgICAgICAgYmFzZS5zb2NrZXRCaW5kKGJpbmRBZGRyQkEsIHBvcnQpOworKwor KyAgICAgICAgU3RyaW5nIGhvc3ROYW1lID0gbnVsbDsKKysgICAgICAgIGlmKGJpbmRBZGRyICE9 IG51bGwpICB7CisrICAgICAgICAgICAgaG9zdE5hbWUgPSBiaW5kQWRkci5nZXRDYW5vbmljYWxI b3N0TmFtZSgpOworKyAgICAgICAgfQorICAgICAgICAgc29ja2V0TGlzdGVuKGJhY2tsb2cpOwor ICAgICB9CisgCisgICAgIHByaXZhdGUgbmF0aXZlIHZvaWQgc29ja2V0TGlzdGVuKGludCBiYWNr bG9nKSB0aHJvd3MgU29ja2V0RXhjZXB0aW9uOworIAorLSAgICBwcml2YXRlIHN0YXRpYyBJbmV0 QWRkcmVzcyBhbnlMb2NhbEFkZHI7CistICAgIHN0YXRpYyB7CistICAgICAgICB0cnkgeworLSAg ICAgICAgICAgIGFueUxvY2FsQWRkciA9IEluZXRBZGRyZXNzLmdldEJ5TmFtZSgiMC4wLjAuMCIp OworLSAgICAgICAgfSBjYXRjaCAoamF2YS5uZXQuVW5rbm93bkhvc3RFeGNlcHRpb24gZSkgeyB9 CistICAgIH0KKy0KKyAgICAgLyoqCisgICAgICAqIEFjY2VwdHMgYSBjb25uZWN0aW9uLiBUaGlz IGNhbGwgd2lsbCBibG9jayB1bnRpbCBhIGNvbm5lY3Rpb24gaXMgbWFkZQorICAgICAgKiBvciB0 aGUgdGltZW91dCBpcyByZWFjaGVkLgorZGlmZiAtcnVwTiBqc3MtNC4yLjYucHJlLUlQdjYvbW96 aWxsYS9zZWN1cml0eS9qc3Mvb3JnL21vemlsbGEvanNzL3NzbC9TU0xTb2NrZXQuYyBqc3MtNC4y LjYvbW96aWxsYS9zZWN1cml0eS9qc3Mvb3JnL21vemlsbGEvanNzL3NzbC9TU0xTb2NrZXQuYwor LS0tIGpzcy00LjIuNi5wcmUtSVB2Ni9tb3ppbGxhL3NlY3VyaXR5L2pzcy9vcmcvbW96aWxsYS9q c3Mvc3NsL1NTTFNvY2tldC5jCTIwMDctMDUtMDggMTg6NDA6MTQuMDAwMDAwMDAwIC0wNzAwCisr KysganNzLTQuMi42L21vemlsbGEvc2VjdXJpdHkvanNzL29yZy9tb3ppbGxhL2pzcy9zc2wvU1NM U29ja2V0LmMJMjAwOS0wNi0yNCAxMzoyNzoxNS4wMDAwMDAwMDAgLTA3MDAKK0BAIC00NjAsMTAg KzQ2MCwxNSBAQCBKYXZhX29yZ19tb3ppbGxhX2pzc19zc2xfU1NMU29ja2V0X3NvY2tlCisgICAg IEpTU0xfU29ja2V0RGF0YSAqc29jazsKKyAgICAgUFJOZXRBZGRyIGFkZHI7CisgICAgIGpieXRl ICphZGRyQkFlbGVtcyA9IE5VTEw7CisrICAgIGludCBhZGRyQkFMZW4gPSAwOyAKKyAgICAgUFJT dGF0dXMgc3RhdHVzOworICAgICBpbnQgc3RhdDsKKyAgICAgY29uc3QgY2hhciAqaG9zdG5hbWVT dHI9TlVMTDsKKyAKKysgICAgam1ldGhvZElEIHN1cHBvcnRzSVBWNklEOworKyAgICBqY2xhc3Mg c29ja2V0QmFzZUNsYXNzOworKyAgICBqYm9vbGVhbiBzdXBwb3J0c0lQVjYgPSAwOworKworICAg ICBpZiggSlNTTF9nZXRTb2NrRGF0YShlbnYsIHNlbGYsICZzb2NrKSAhPSBQUl9TVUNDRVNTKSB7 CisgICAgICAgICAvKiBleGNlcHRpb24gd2FzIHRocm93biAqLworICAgICAgICAgZ290byBmaW5p c2g7CitAQCAtNDcyLDE2ICs0NzcsMzIgQEAgSmF2YV9vcmdfbW96aWxsYV9qc3Nfc3NsX1NTTFNv Y2tldF9zb2NrZQorICAgICAvKgorICAgICAgKiBzZXR1cCB0aGUgUFJOZXRBZGRyIHN0cnVjdHVy ZQorICAgICAgKi8KKy0gICAgYWRkci5pbmV0LmZhbWlseSA9IEFGX0lORVQ7CistICAgIGFkZHIu aW5ldC5wb3J0ID0gaHRvbnMocG9ydCk7CistICAgIFBSX0FTU0VSVChzaXplb2YoYWRkci5pbmV0 LmlwKSA9PSA0KTsKKy0gICAgUFJfQVNTRVJUKCAoKmVudiktPkdldEFycmF5TGVuZ3RoKGVudiwg YWRkckJBKSA9PSA0KTsKKysKKysgICAgc29ja2V0QmFzZUNsYXNzID0gKCplbnYpLT5GaW5kQ2xh c3MoZW52LCBTT0NLRVRfQkFTRV9OQU1FKTsKKysgICAgaWYoIHNvY2tldEJhc2VDbGFzcyA9PSBO VUxMICkgeworKyAgICAgICAgQVNTRVJUX09VVE9GTUVNKGVudik7CisrICAgICAgICBnb3RvIGZp bmlzaDsKKysgICAgfQorKyAgICBzdXBwb3J0c0lQVjZJRCA9ICgqZW52KS0+R2V0U3RhdGljTWV0 aG9kSUQoZW52LCBzb2NrZXRCYXNlQ2xhc3MsCisrICAgICAgICBTVVBQT1JUU19JUFY2X05BTUUs IFNVUFBPUlRTX0lQVjZfU0lHKTsKKysKKysgICAgaWYoIHN1cHBvcnRzSVBWNklEID09IE5VTEwg KSB7CisrICAgICAgICBBU1NFUlRfT1VUT0ZNRU0oZW52KTsKKysgICAgICAgIGdvdG8gZmluaXNo OworKyAgICB9CisrCisrICAgIHN1cHBvcnRzSVBWNiA9ICgqZW52KS0+Q2FsbFN0YXRpY0Jvb2xl YW5NZXRob2QoZW52LCBzb2NrZXRCYXNlQ2xhc3MsCisrICAgICAgICAgc3VwcG9ydHNJUFY2SUQp OworKworICAgICBhZGRyQkFlbGVtcyA9ICgqZW52KS0+R2V0Qnl0ZUFycmF5RWxlbWVudHMoZW52 LCBhZGRyQkEsIE5VTEwpOworKyAgICBhZGRyQkFMZW4gPSAoKmVudiktPkdldEFycmF5TGVuZ3Ro KGVudiwgYWRkckJBKTsKKysKKysgICAgUFJfQVNTRVJUKGFkZHJCQUxlbiAhPSAwKTsKKysKKyAg ICAgaWYoIGFkZHJCQWVsZW1zID09IE5VTEwgKSB7CisgICAgICAgICBBU1NFUlRfT1VUT0ZNRU0o ZW52KTsKKyAgICAgICAgIGdvdG8gZmluaXNoOworICAgICB9CistICAgIG1lbWNweSgmYWRkci5p bmV0LmlwLCBhZGRyQkFlbGVtcywgNCk7CisgCisgICAgIC8qCisgICAgICAqIFRlbGwgU1NMIHRo ZSBVUkwgd2UgdGhpbmsgd2Ugd2FudCB0byBjb25uZWN0IHRvLgorQEAgLTQ5NSw2ICs1MTYsMzgg QEAgSmF2YV9vcmdfbW96aWxsYV9qc3Nfc3NsX1NTTFNvY2tldF9zb2NrZQorICAgICAgICAgZ290 byBmaW5pc2g7CisgICAgIH0KKyAKKysgICAgaWYoIGFkZHJCQWVsZW1zID09IE5VTEwgKSB7Cisr ICAgICAgICBBU1NFUlRfT1VUT0ZNRU0oZW52KTsKKysgICAgICAgIGdvdG8gZmluaXNoOworKyAg ICB9CisrCisrICAgIGlmKGFkZHJCQUxlbiAhPSA0ICYmIGFkZHJCQUxlbiAhPSAxNikgeworKyAg ICAgICAgSlNTTF90aHJvd1NTTFNvY2tldEV4Y2VwdGlvbihlbnYsICJJbnZhbGlkIGFkZHJlc3Mg aW4gY29ubmVjdCEiKTsKKysgICAgICAgIGdvdG8gZmluaXNoOworKyAgICB9CisrCisrICAgIGlm KCBhZGRyQkFMZW4gPT0gNCkgeworKyAgICAgICAgYWRkci5pbmV0LmZhbWlseSA9IEFGX0lORVQ7 CisrICAgICAgICBhZGRyLmluZXQucG9ydCA9IFBSX2h0b25zKHBvcnQpOworKyAgICAgICAgbWVt Y3B5KCZhZGRyLmluZXQuaXAsIGFkZHJCQWVsZW1zLCA0KTsKKysKKysgICAgICAgIGlmKHN1cHBv cnRzSVBWNikgeworKyAgICAgICAgICAgIGFkZHIuaXB2Ni5mYW1pbHkgPSBBRl9JTkVUNjsKKysg ICAgICAgICAgICBhZGRyLmlwdjYucG9ydCA9IFBSX2h0b25zKHBvcnQpOworKyAgICAgICAgICAg IFBSX0NvbnZlcnRJUHY0QWRkclRvSVB2NihhZGRyLmluZXQuaXAsJmFkZHIuaXB2Ni5pcCk7Cisr ICAgICAgICB9CisrCisrICAgIH0gIGVsc2UgeyAgIC8qIE11c3QgYmUgMTYgYW5kIGlwdjYgKi8K KysgICAgICAgIGlmKHN1cHBvcnRzSVBWNikgeworKyAgICAgICAgICAgIGFkZHIuaXB2Ni5mYW1p bHkgPSBBRl9JTkVUNjsKKysgICAgICAgICAgICBhZGRyLmlwdjYucG9ydCA9IFBSX2h0b25zKHBv cnQpOworKyAgICAgICAgICAgIG1lbWNweSgmYWRkci5pcHY2LmlwLGFkZHJCQWVsZW1zLCAxNik7 CisrICAgICAgICB9ICBlbHNlIHsKKysgICAgICAgICAgICAgICAgSlNTTF90aHJvd1NTTFNvY2tl dEV4Y2VwdGlvbihlbnYsICJJbnZhbGlkIGFkZHJlc3MgaW4gY29ubmVjdCEiKTsKKysgICAgICAg ICAgICAgICAgZ290byBmaW5pc2g7CisrICAgICAgICB9CisrICAgIH0KKysKKyAgICAgLyoKKyAg ICAgICogbWFrZSB0aGUgY29ubmVjdCBjYWxsCisgICAgICAqLworZGlmZiAtcnVwTiBqc3MtNC4y LjYucHJlLUlQdjYvbW96aWxsYS9zZWN1cml0eS9qc3Mvb3JnL21vemlsbGEvanNzL3NzbC9TU0xT b2NrZXQuamF2YSBqc3MtNC4yLjYvbW96aWxsYS9zZWN1cml0eS9qc3Mvb3JnL21vemlsbGEvanNz L3NzbC9TU0xTb2NrZXQuamF2YQorLS0tIGpzcy00LjIuNi5wcmUtSVB2Ni9tb3ppbGxhL3NlY3Vy aXR5L2pzcy9vcmcvbW96aWxsYS9qc3Mvc3NsL1NTTFNvY2tldC5qYXZhCTIwMDctMDUtMDggMTg6 NDA6MTQuMDAwMDAwMDAwIC0wNzAwCisrKysganNzLTQuMi42L21vemlsbGEvc2VjdXJpdHkvanNz L29yZy9tb3ppbGxhL2pzcy9zc2wvU1NMU29ja2V0LmphdmEJMjAwOS0wNi0yNCAxMzo0NTo1OS4w MDAwMDAwMDAgLTA3MDAKK0BAIC0yNDMsMTEgKzI0MywxNiBAQCBwdWJsaWMgY2xhc3MgU1NMU29j a2V0IGV4dGVuZHMgamF2YS5uZXQuCisgICAgICAgICBTU0xDbGllbnRDZXJ0aWZpY2F0ZVNlbGVj dGlvbkNhbGxiYWNrIGNsaWVudENlcnRTZWxlY3Rpb25DYWxsYmFjaykKKyAgICAgICAgICAgICB0 aHJvd3MgSU9FeGNlcHRpb24KKyAgICAgeworKworKyAgICAgICAgaW50IHNvY2tldEZhbWlseSA9 IFNvY2tldEJhc2UuU1NMX0FGX0lORVQ7CisrICAgICAgICBpZihTb2NrZXRCYXNlLnN1cHBvcnRz SVBWNigpKSB7CisrICAgICAgICAgICAgc29ja2V0RmFtaWx5ID0gU29ja2V0QmFzZS5TU0xfQUZf SU5FVDY7CisrICAgICAgICB9CisgICAgICAgICAvLyBjcmVhdGUgdGhlIHNvY2tldAorICAgICAg ICAgc29ja1Byb3h5ID0KKyAgICAgICAgICAgICBuZXcgU29ja2V0UHJveHkoCisgICAgICAgICAg ICAgICAgIGJhc2Uuc29ja2V0Q3JlYXRlKAorLSAgICAgICAgICAgICAgICAgICAgdGhpcywgY2Vy dEFwcHJvdmFsQ2FsbGJhY2ssIGNsaWVudENlcnRTZWxlY3Rpb25DYWxsYmFjaykgKTsKKysgICAg ICAgICAgICAgICAgICAgIHRoaXMsIGNlcnRBcHByb3ZhbENhbGxiYWNrLCBjbGllbnRDZXJ0U2Vs ZWN0aW9uQ2FsbGJhY2ssc29ja2V0RmFtaWx5KSApOworIAorICAgICAgICAgYmFzZS5zZXRQcm94 eShzb2NrUHJveHkpOworIAorQEAgLTI4OCw3ICsyOTMsNyBAQCBwdWJsaWMgY2xhc3MgU1NMU29j a2V0IGV4dGVuZHMgamF2YS5uZXQuCisgICAgICAgICAgICAgbmV3IFNvY2tldFByb3h5KAorICAg ICAgICAgICAgICAgICBiYXNlLnNvY2tldENyZWF0ZSgKKyAgICAgICAgICAgICAgICAgICAgIHRo aXMsIGNlcnRBcHByb3ZhbENhbGxiYWNrLCBjbGllbnRDZXJ0U2VsZWN0aW9uQ2FsbGJhY2ssCist ICAgICAgICAgICAgICAgICAgICBzLCBob3N0ICkgKTsKKysgICAgICAgICAgICAgICAgICAgIHMs IGhvc3QsU29ja2V0QmFzZS5TU0xfQUZfSU5FVCApICk7CisgCisgICAgICAgICBiYXNlLnNldFBy b3h5KHNvY2tQcm94eSk7CisgICAgICAgICByZXNldEhhbmRzaGFrZSgpOworZGlmZiAtcnVwTiBq c3MtNC4yLjYucHJlLUlQdjYvbW96aWxsYS9zZWN1cml0eS9qc3Mvb3JnL21vemlsbGEvanNzL3Nz bC9Tb2NrZXRCYXNlLmphdmEganNzLTQuMi42L21vemlsbGEvc2VjdXJpdHkvanNzL29yZy9tb3pp bGxhL2pzcy9zc2wvU29ja2V0QmFzZS5qYXZhCistLS0ganNzLTQuMi42LnByZS1JUHY2L21vemls bGEvc2VjdXJpdHkvanNzL29yZy9tb3ppbGxhL2pzcy9zc2wvU29ja2V0QmFzZS5qYXZhCTIwMDct MDMtMjAgMTU6Mzk6MjguMDAwMDAwMDAwIC0wNzAwCisrKysganNzLTQuMi42L21vemlsbGEvc2Vj dXJpdHkvanNzL29yZy9tb3ppbGxhL2pzcy9zc2wvU29ja2V0QmFzZS5qYXZhCTIwMDktMDYtMjQg MTM6NTA6MzIuMDAwMDAwMDAwIC0wNzAwCitAQCAtNzAsMTYgKzcwLDE2IEBAIGNsYXNzIFNvY2tl dEJhc2UgeworICAgICBuYXRpdmUgYnl0ZVtdIHNvY2tldENyZWF0ZShPYmplY3Qgc29ja2V0T2Jq ZWN0LAorICAgICAgICAgU1NMQ2VydGlmaWNhdGVBcHByb3ZhbENhbGxiYWNrIGNlcnRBcHByb3Zh bENhbGxiYWNrLAorICAgICAgICAgU1NMQ2xpZW50Q2VydGlmaWNhdGVTZWxlY3Rpb25DYWxsYmFj ayBjbGllbnRDZXJ0U2VsZWN0aW9uQ2FsbGJhY2ssCistICAgICAgICBqYXZhLm5ldC5Tb2NrZXQg amF2YVNvY2ssIFN0cmluZyBob3N0KQorKyAgICAgICAgamF2YS5uZXQuU29ja2V0IGphdmFTb2Nr LCBTdHJpbmcgaG9zdCxpbnQgZmFtaWx5KQorICAgICAgICAgICAgIHRocm93cyBTb2NrZXRFeGNl cHRpb247CisgCisgICAgIGJ5dGVbXSBzb2NrZXRDcmVhdGUoT2JqZWN0IHNvY2tldE9iamVjdCwK KyAgICAgICAgIFNTTENlcnRpZmljYXRlQXBwcm92YWxDYWxsYmFjayBjZXJ0QXBwcm92YWxDYWxs YmFjaywKKy0gICAgICAgIFNTTENsaWVudENlcnRpZmljYXRlU2VsZWN0aW9uQ2FsbGJhY2sgY2xp ZW50Q2VydFNlbGVjdGlvbkNhbGxiYWNrKQorKyAgICAgICAgU1NMQ2xpZW50Q2VydGlmaWNhdGVT ZWxlY3Rpb25DYWxsYmFjayBjbGllbnRDZXJ0U2VsZWN0aW9uQ2FsbGJhY2ssaW50IGZhbWlseSkK KyAgICAgICAgICAgICB0aHJvd3MgU29ja2V0RXhjZXB0aW9uCisgICAgIHsKKyAgICAgICAgIHJl dHVybiBzb2NrZXRDcmVhdGUoc29ja2V0T2JqZWN0LCBjZXJ0QXBwcm92YWxDYWxsYmFjaywKKy0g ICAgICAgICAgICBjbGllbnRDZXJ0U2VsZWN0aW9uQ2FsbGJhY2ssIG51bGwsIG51bGwpOworKyAg ICAgICAgICAgIGNsaWVudENlcnRTZWxlY3Rpb25DYWxsYmFjaywgbnVsbCwgbnVsbCxmYW1pbHkp OworICAgICB9CisgCisgICAgIG5hdGl2ZSB2b2lkIHNvY2tldEJpbmQoYnl0ZVtdIGFkZHJCQSwg aW50IHBvcnQpIHRocm93cyBTb2NrZXRFeGNlcHRpb247CitAQCAtMTE1LDYgKzExNSwxMCBAQCBj bGFzcyBTb2NrZXRCYXNlIHsKKyAgICAgc3RhdGljIGZpbmFsIGludCBTU0xfUkVRVUlSRV9GSVJT VF9IQU5EU0hBS0UgPSAyMDsKKyAgICAgc3RhdGljIGZpbmFsIGludCBTU0xfUkVRVUlSRV9OT19F UlJPUiA9IDIxOworIAorKworKyAgICBzdGF0aWMgZmluYWwgaW50IFNTTF9BRl9JTkVUICA9IDUw OworKyAgICBzdGF0aWMgZmluYWwgaW50IFNTTF9BRl9JTkVUNiA9IDUxOworKworICAgICB2b2lk IGNsb3NlKCkgdGhyb3dzIElPRXhjZXB0aW9uIHsKKyAgICAgICAgIHNvY2tldENsb3NlKCk7Cisg ICAgIH0KK0BAIC0yODEsMTMgKzI4NSwyNSBAQCBjbGFzcyBTb2NrZXRCYXNlIHsKKyAgICAgICAg IHJldHVybiBpbjsKKyAgICAgfQorIAorKyAgICBwcml2YXRlIG5hdGl2ZSBieXRlW10gZ2V0TG9j YWxBZGRyZXNzQnl0ZUFycmF5TmF0aXZlKCkgdGhyb3dzIFNvY2tldEV4Y2VwdGlvbjsKKysgICAg cHJpdmF0ZSBuYXRpdmUgYnl0ZVtdIGdldFBlZXJBZGRyZXNzQnl0ZUFycmF5TmF0aXZlKCkgdGhy b3dzIFNvY2tldEV4Y2VwdGlvbjsKKyAgICAgLyoqCisgICAgICAqIEByZXR1cm4gdGhlIEluZXRB ZGRyZXNzIG9mIHRoZSBwZWVyIGVuZCBvZiB0aGUgc29ja2V0LgorICAgICAgKi8KKyAgICAgSW5l dEFkZHJlc3MgZ2V0SW5ldEFkZHJlc3MoKQorICAgICB7CisgICAgICAgICB0cnkgeworLSAgICAg ICAgICAgIHJldHVybiBjb252ZXJ0SW50VG9JbmV0QWRkcmVzcyggZ2V0UGVlckFkZHJlc3NOYXRp dmUoKSApOworKyAgICAgICAgICAgIGJ5dGVbXSBhZGRyZXNzID0gZ2V0UGVlckFkZHJlc3NCeXRl QXJyYXlOYXRpdmUoKTsgCisrCisrICAgICAgICAgICAgSW5ldEFkZHJlc3MgaUFkZHIgPSBudWxs OworKworKyAgICAgICAgICAgIHRyeSB7CisrCisrICAgICAgICAgICAgICAgIGlBZGRyID0gSW5l dEFkZHJlc3MuZ2V0QnlBZGRyZXNzKGFkZHJlc3MpOworKyAgICAgICAgICAgIH0gICBjYXRjaChV bmtub3duSG9zdEV4Y2VwdGlvbiBlKSB7CisrICAgICAgICAgICAgfQorKworKyAgICAgICAgICAg IHJldHVybiBpQWRkcjsKKyAgICAgICAgIH0gY2F0Y2goU29ja2V0RXhjZXB0aW9uIGUpIHsKKyAg ICAgICAgICAgICByZXR1cm4gbnVsbDsKKyAgICAgICAgIH0KK0BAIC0yOTksNyArMzE1LDE3IEBA IGNsYXNzIFNvY2tldEJhc2UgeworICAgICAgKi8KKyAgICAgSW5ldEFkZHJlc3MgZ2V0TG9jYWxB ZGRyZXNzKCkgeworICAgICAgICAgdHJ5IHsKKy0gICAgICAgICAgICByZXR1cm4gY29udmVydElu dFRvSW5ldEFkZHJlc3MoIGdldExvY2FsQWRkcmVzc05hdGl2ZSgpICk7CisrICAgICAgICAgICAg Ynl0ZVtdIGFkZHJlc3MgPSBnZXRMb2NhbEFkZHJlc3NCeXRlQXJyYXlOYXRpdmUoKTsKKysKKysg ICAgICAgICAgICBJbmV0QWRkcmVzcyBsQWRkciA9IG51bGw7CisrCisrICAgICAgICAgICAgdHJ5 IHsKKysKKysgICAgICAgICAgICAgICAgbEFkZHIgPSBJbmV0QWRkcmVzcy5nZXRCeUFkZHJlc3Mo YWRkcmVzcyk7CisrICAgICAgICAgICAgfSAgIGNhdGNoKFVua25vd25Ib3N0RXhjZXB0aW9uIGUp IHsKKysgICAgICAgICAgICB9CisrCisrICAgICAgICAgICAgcmV0dXJuIGxBZGRyOworICAgICAg ICAgfSBjYXRjaChTb2NrZXRFeGNlcHRpb24gZSkgeworICAgICAgICAgICAgIHJldHVybiBudWxs OworICAgICAgICAgfQorQEAgLTM3OCw0ICs0MDQsNDUgQEAgY2xhc3MgU29ja2V0QmFzZSB7Cisg ICAgICAgICByZXR1cm4gdG9wRXhjZXB0aW9uOworICAgICAgIH0KKyAgICAgfQorKyAgIAorKyAg ICBzdGF0aWMgcHJpdmF0ZSBpbnQgc3VwcG9ydHNJUFY2ID0gLTE7CisrICAgIHN0YXRpYyBib29s ZWFuIHN1cHBvcnRzSVBWNigpIHsKKysKKysgICAgICAgIGlmKHN1cHBvcnRzSVBWNiA+PSAwKSB7 CisrICAgICAgICAgICAgaWYoc3VwcG9ydHNJUFY2ID4gMCkgeworKyAgICAgICAgICAgICAgICBy ZXR1cm4gdHJ1ZTsKKysgICAgICAgICAgICB9IGVsc2UgeworKyAgICAgICAgICAgICAgICByZXR1 cm4gZmFsc2U7CisrICAgICAgICAgICAgfSAKKysgICAgICAgIH0KKysKKysgICAgICAgIEVudW1l cmF0aW9uIG5ldEludGVyOworKyAgICAgICAgdHJ5IHsKKysgICAgICAgICAgICAgICAgIG5ldElu dGVyID0gTmV0d29ya0ludGVyZmFjZS5nZXROZXR3b3JrSW50ZXJmYWNlcygpOworKyAgICAgICAg fSAgY2F0Y2ggKFNvY2tldEV4Y2VwdGlvbiBlKSB7CisrCisrICAgICAgICAgICAgICAgICByZXR1 cm4gZmFsc2U7CisrICAgICAgICB9CisrICAgICAgICB3aGlsZSAoIG5ldEludGVyLmhhc01vcmVF bGVtZW50cygpICkKKysgICAgICAgIHsKKysgICAgICAgICAgICBOZXR3b3JrSW50ZXJmYWNlIG5p ID0gKE5ldHdvcmtJbnRlcmZhY2UpbmV0SW50ZXIubmV4dEVsZW1lbnQoKTsKKysgICAgICAgICAg ICBFbnVtZXJhdGlvbiBhZGRycyA9IG5pLmdldEluZXRBZGRyZXNzZXMoKTsKKysgICAgICAgICAg ICB3aGlsZSAoIGFkZHJzLmhhc01vcmVFbGVtZW50cygpICkKKysgICAgICAgICAgICB7CisrICAg ICAgICAgICAgICAgICBPYmplY3QgbyA9IGFkZHJzLm5leHRFbGVtZW50KCk7CisrICAgICAgICAg ICAgICAgICBpZiAoIG8uZ2V0Q2xhc3MoKSA9PSBJbmV0QWRkcmVzcy5jbGFzcyB8fAorKyAgICAg ICAgICAgICAgICAgICAgIG8uZ2V0Q2xhc3MoKSA9PSBJbmV0NEFkZHJlc3MuY2xhc3MgfHwKKysg ICAgICAgICAgICAgICAgICAgICBvLmdldENsYXNzKCkgPT0gSW5ldDZBZGRyZXNzLmNsYXNzICkK KysgICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgICAgSW5ldEFkZHJlc3Mg aWFkZHIgPSAoSW5ldEFkZHJlc3MpIG87CisrICAgICAgICAgICAgICAgICAgICAgIGlmKG8uZ2V0 Q2xhc3MoKSA9PSBJbmV0NkFkZHJlc3MuY2xhc3MpIHsKKysgICAgICAgICAgICAgICAgICAgICAg ICAgIHN1cHBvcnRzSVBWNiA9IDE7CisrICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g dHJ1ZTsKKysgICAgICAgICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAgICAgfQorKyAg ICAgICAgICAgIH0KKysgICAgICAgIH0KKysgICAgICAgIHN1cHBvcnRzSVBWNiA9IDA7CisrICAg ICAgICByZXR1cm4gZmFsc2U7CisrICAgIH0KKyB9CitkaWZmIC1ydXBOIGpzcy00LjIuNi5wcmUt SVB2Ni9tb3ppbGxhL3NlY3VyaXR5L2pzcy9vcmcvbW96aWxsYS9qc3Mvc3NsL2NvbW1vbi5jIGpz cy00LjIuNi9tb3ppbGxhL3NlY3VyaXR5L2pzcy9vcmcvbW96aWxsYS9qc3Mvc3NsL2NvbW1vbi5j CistLS0ganNzLTQuMi42LnByZS1JUHY2L21vemlsbGEvc2VjdXJpdHkvanNzL29yZy9tb3ppbGxh L2pzcy9zc2wvY29tbW9uLmMJMjAwNy0wNC0yNCAxMTozNDo1OC4wMDAwMDAwMDAgLTA3MDAKKysr KyBqc3MtNC4yLjYvbW96aWxsYS9zZWN1cml0eS9qc3Mvb3JnL21vemlsbGEvanNzL3NzbC9jb21t b24uYwkyMDA5LTA2LTI0IDE0OjIyOjAyLjAwMDAwMDAwMCAtMDcwMAorQEAgLTMzLDcgKzMzLDYg QEAKKyAgKiB0aGUgdGVybXMgb2YgYW55IG9uZSBvZiB0aGUgTVBMLCB0aGUgR1BMIG9yIHRoZSBM R1BMLgorICAqCisgICogKioqKiogRU5EIExJQ0VOU0UgQkxPQ0sgKioqKiogKi8KKy0KKyAjaW5j bHVkZSA8bnNwci5oPgorICNpbmNsdWRlIDxqbmkuaD4KKyAjaW5jbHVkZSA8cGsxMWZ1bmMuaD4K K0BAIC01MSw2ICs1MCw5IEBACisgI2luY2x1ZGUgPHdpbnNvY2suaD4KKyAjZW5kaWYKKyAKKysj ZGVmaW5lIFNTTF9BRl9JTkVUICA1MAorKyNkZWZpbmUgU1NMX0FGX0lORVQ2IDUxCisrCisgdm9p ZAorIEpTU0xfdGhyb3dTU0xTb2NrZXRFeGNlcHRpb24oSk5JRW52ICplbnYsIGNoYXIgKm1lc3Nh Z2UpCisgeworQEAgLTE0Miw3ICsxNDQsNyBAQCBmaW5pc2g6CisgSk5JRVhQT1JUIGpieXRlQXJy YXkgSk5JQ0FMTAorIEphdmFfb3JnX21vemlsbGFfanNzX3NzbF9Tb2NrZXRCYXNlX3NvY2tldENy ZWF0ZShKTklFbnYgKmVudiwgam9iamVjdCBzZWxmLAorICAgICBqb2JqZWN0IHNvY2tPYmosIGpv YmplY3QgY2VydEFwcHJvdmFsQ2FsbGJhY2ssCistICAgIGpvYmplY3QgY2xpZW50Q2VydFNlbGVj dGlvbkNhbGxiYWNrLCBqb2JqZWN0IGphdmFTb2NrLCBqc3RyaW5nIGhvc3QpCisrICAgIGpvYmpl Y3QgY2xpZW50Q2VydFNlbGVjdGlvbkNhbGxiYWNrLCBqb2JqZWN0IGphdmFTb2NrLCBqc3RyaW5n IGhvc3QsamludCBmYW1pbHkpCisgeworICAgICBqYnl0ZUFycmF5IHNkQXJyYXkgPSBOVUxMOwor ICAgICBKU1NMX1NvY2tldERhdGEgKnNvY2tkYXRhID0gTlVMTDsKK0BAIC0xNTAsMTAgKzE1Miwy MSBAQCBKYXZhX29yZ19tb3ppbGxhX2pzc19zc2xfU29ja2V0QmFzZV9zb2NrCisgICAgIFBSRmls ZURlc2MgKm5ld0ZEOworICAgICBQUkZpbGVEZXNjICp0bXBGRDsKKyAgICAgUFJGaWxlUHJpdmF0 ZSAqcHJpdiA9IE5VTEw7CisrICAgIGludCBzb2NrZXRGYW1pbHkgPSAwOworKworKyAgICBpZiAo ZmFtaWx5ICE9IFNTTF9BRl9JTkVUNiAmJiBmYW1pbHkgICE9IFNTTF9BRl9JTkVUKSB7CisrICAg ICAgIEpTU0xfdGhyb3dTU0xTb2NrZXRFeGNlcHRpb24oZW52LAorKyAgICAgICAgICAgICAgICAi c29ja2V0Q3JlYXRlKCkgSW52YWxpZCBmYW1pbHkhIik7CisrICAgICAgICAgICAgZ290byBmaW5p c2g7CisrICAgIH0KKysgICAgaWYoIGZhbWlseSA9PSBTU0xfQUZfSU5FVCkgCisrICAgICAgIHNv Y2tldEZhbWlseSA9IFBSX0FGX0lORVQ7CisrICAgIGVsc2UKKysgICAgICAgc29ja2V0RmFtaWx5 ID0gUFJfQUZfSU5FVDY7CisgCisgICAgIGlmKCBqYXZhU29jayA9PSBOVUxMICkgeworICAgICAg ICAgLyogY3JlYXRlIGEgVENQIHNvY2tldCAqLworLSAgICAgICAgbmV3RkQgPSBQUl9OZXdUQ1BT b2NrZXQoKTsKKysgICAgICAgIG5ld0ZEID0gUFJfT3BlblRDUFNvY2tldChzb2NrZXRGYW1pbHkp OworICAgICAgICAgaWYoIG5ld0ZEID09IE5VTEwgKSB7CisgICAgICAgICAgICAgSlNTTF90aHJv d1NTTFNvY2tldEV4Y2VwdGlvbihlbnYsCisgICAgICAgICAgICAgICAgICJQUl9OZXdUQ1BTb2Nr ZXQoKSByZXR1cm5lZCBOVUxMIik7CitAQCAtMzk0LDEwICs0MDcsMTAgQEAgUFJJbnQzMiBKU1NM X2VudW1zW10gPSB7CisgICAgIFNTTF9SRVFVSVJFX0FMV0FZUywgICAgICAgICAvKiAxOSAqLyAg ICAgICAgLyogc3NsLmggKi8KKyAgICAgU1NMX1JFUVVJUkVfRklSU1RfSEFORFNIQUtFLC8qIDIw ICovICAgICAgICAvKiBzc2wuaCAqLworICAgICBTU0xfUkVRVUlSRV9OT19FUlJPUiwgICAgICAg LyogMjEgKi8gICAgICAgIC8qIHNzbC5oICovCistCisgICAgIDAKKyB9OworIAorKworIEpOSUVY UE9SVCB2b2lkIEpOSUNBTEwKKyBKYXZhX29yZ19tb3ppbGxhX2pzc19zc2xfU29ja2V0QmFzZV9z b2NrZXRCaW5kCisgICAgIChKTklFbnYgKmVudiwgam9iamVjdCBzZWxmLCBqYnl0ZUFycmF5IGFk ZHJCQSwgamludCBwb3J0KQorQEAgLTQwNSw4ICs0MTgsMTMgQEAgSmF2YV9vcmdfbW96aWxsYV9q c3Nfc3NsX1NvY2tldEJhc2Vfc29jaworICAgICBKU1NMX1NvY2tldERhdGEgKnNvY2s7CisgICAg IFBSTmV0QWRkciBhZGRyOworICAgICBqYnl0ZSAqYWRkckJBZWxlbXMgPSBOVUxMOworKyAgICBp bnQgYWRkckJBTGVuID0gMDsKKyAgICAgUFJTdGF0dXMgc3RhdHVzOworIAorKyAgICBqbWV0aG9k SUQgc3VwcG9ydHNJUFY2SUQ7CisrICAgIGpjbGFzcyBzb2NrZXRCYXNlQ2xhc3M7CisrICAgIGpi b29sZWFuIHN1cHBvcnRzSVBWNiA9IDA7CisrCisgICAgIGlmKCBKU1NMX2dldFNvY2tEYXRhKGVu diwgc2VsZiwgJnNvY2spICE9IFBSX1NVQ0NFU1MpIHsKKyAgICAgICAgIC8qIGV4Y2VwdGlvbiB3 YXMgdGhyb3duICovCisgICAgICAgICBnb3RvIGZpbmlzaDsKK0BAIC00MTUsMTkgKzQzMyw3MiBA QCBKYXZhX29yZ19tb3ppbGxhX2pzc19zc2xfU29ja2V0QmFzZV9zb2NrCisgICAgIC8qCisgICAg ICAqIHNldHVwIHRoZSBQUk5ldEFkZHIgc3RydWN0dXJlCisgICAgICAqLworLSAgICBhZGRyLmlu ZXQuZmFtaWx5ID0gQUZfSU5FVDsKKy0gICAgYWRkci5pbmV0LnBvcnQgPSBodG9ucyhwb3J0KTsK KysKKysgICAgLyogCisrICAgICAqIERvIHdlIHN1cHBvcnQgSVBWNj8gCisrICAgICAqLworKwor KyAgICBzb2NrZXRCYXNlQ2xhc3MgPSAoKmVudiktPkZpbmRDbGFzcyhlbnYsIFNPQ0tFVF9CQVNF X05BTUUpOworKyAgICBpZiggc29ja2V0QmFzZUNsYXNzID09IE5VTEwgKSB7CisrICAgICAgICBB U1NFUlRfT1VUT0ZNRU0oZW52KTsKKysgICAgICAgIGdvdG8gZmluaXNoOworKyAgICB9CisrICAg IHN1cHBvcnRzSVBWNklEID0gKCplbnYpLT5HZXRTdGF0aWNNZXRob2RJRChlbnYsIHNvY2tldEJh c2VDbGFzcywKKysgICAgICAgIFNVUFBPUlRTX0lQVjZfTkFNRSwgU1VQUE9SVFNfSVBWNl9TSUcp OworKworKyAgICBpZiggc3VwcG9ydHNJUFY2SUQgPT0gTlVMTCApIHsKKysgICAgICAgIEFTU0VS VF9PVVRPRk1FTShlbnYpOworKyAgICAgICAgZ290byBmaW5pc2g7CisrICAgIH0KKysKKysgICAg c3VwcG9ydHNJUFY2ID0gKCplbnYpLT5DYWxsU3RhdGljQm9vbGVhbk1ldGhvZChlbnYsIHNvY2tl dEJhc2VDbGFzcywKKysgICAgICAgICBzdXBwb3J0c0lQVjZJRCk7CisrCisrICAgIG1lbXNldCgg JmFkZHIsIDAsIHNpemVvZiggUFJOZXRBZGRyICkpOworKworICAgICBpZiggYWRkckJBICE9IE5V TEwgKSB7CistICAgICAgICBQUl9BU1NFUlQoc2l6ZW9mKGFkZHIuaW5ldC5pcCkgPT0gNCk7Cist ICAgICAgICBQUl9BU1NFUlQoICgqZW52KS0+R2V0QXJyYXlMZW5ndGgoZW52LCBhZGRyQkEpID09 IDQpOworICAgICAgICAgYWRkckJBZWxlbXMgPSAoKmVudiktPkdldEJ5dGVBcnJheUVsZW1lbnRz KGVudiwgYWRkckJBLCBOVUxMKTsKKysgICAgICAgIGFkZHJCQUxlbiA9ICgqZW52KS0+R2V0QXJy YXlMZW5ndGgoZW52LCBhZGRyQkEpOworKworICAgICAgICAgaWYoIGFkZHJCQWVsZW1zID09IE5V TEwgKSB7CisgICAgICAgICAgICAgQVNTRVJUX09VVE9GTUVNKGVudik7CisgICAgICAgICAgICAg Z290byBmaW5pc2g7CisgICAgICAgICB9CistICAgICAgICBtZW1jcHkoJmFkZHIuaW5ldC5pcCwg YWRkckJBZWxlbXMsIDQpOworKworKyAgICAgICAgaWYoYWRkckJBTGVuICE9IDQgJiYgYWRkckJB TGVuICE9IDE2KSB7CisrICAgICAgICAgICAgSlNTX3Rocm93TXNnUHJFcnIoZW52LCBCSU5EX0VY Q0VQVElPTiwKKysgICAgICAgICAgICAiSW52YWxpZCBhZGRyZXNzIGluIGJpbmQhIik7CisrICAg ICAgICAgICAgIGdvdG8gZmluaXNoOworKyAgICAgICAgfQorKworKyAgICAgICAgaWYoIGFkZHJC QUxlbiA9PSA0KSB7CisrICAgICAgICAgICAgYWRkci5pbmV0LmZhbWlseSA9IFBSX0FGX0lORVQ7 CisrICAgICAgICAgICAgYWRkci5pbmV0LnBvcnQgPSBQUl9odG9ucyhwb3J0KTsKKysgICAgICAg ICAgICBtZW1jcHkoJmFkZHIuaW5ldC5pcCwgYWRkckJBZWxlbXMsIDQpOworKworKyAgICAgICAg ICAgIGlmKHN1cHBvcnRzSVBWNikgeworKyAgICAgICAgICAgICAgICBhZGRyLmluZXQuZmFtaWx5 ID0gUFJfQUZfSU5FVDY7CisrICAgICAgICAgICAgICAgIGFkZHIuaXB2Ni5wb3J0ID0gUFJfaHRv bnMocG9ydCk7CisrICAgICAgICAgICAgICAgIFBSX0NvbnZlcnRJUHY0QWRkclRvSVB2NihhZGRy LmluZXQuaXAsJmFkZHIuaXB2Ni5pcCk7CisrICAgICAgICAgICAgfSAKKysKKysgICAgICAgIH0g IGVsc2UgeyAgIC8qIE11c3QgYmUgMTYgYW5kIGlwdjYgKi8KKysgICAgICAgICAgICBpZihzdXBw b3J0c0lQVjYpIHsKKysgICAgICAgICAgICAgICAgYWRkci5pcHY2LmZhbWlseSA9IFBSX0FGX0lO RVQ2OworKyAgICAgICAgICAgICAgICBhZGRyLmlwdjYucG9ydCA9IFBSX2h0b25zKHBvcnQpOwor KyAgICAgICAgICAgICAgICBtZW1jcHkoJmFkZHIuaXB2Ni5pcCxhZGRyQkFlbGVtcywgMTYpOwor KyAgICAgICAgICAgIH0gIGVsc2UgeworKyAgICAgICAgICAgICAgICBKU1NfdGhyb3dNc2dQckVy cihlbnYsIEJJTkRfRVhDRVBUSU9OLAorKyAgICAgICAgICAgICAgICAgICAgIkludmFsaWQgYWRk cmVzcyBpbiBiaW5kISIpOworKyAgICAgICAgICAgICAgICBnb3RvIGZpbmlzaDsKKysgICAgICAg ICAgICB9CisrICAgICAgICB9CisgICAgIH0gZWxzZSB7CistICAgICAgICBhZGRyLmluZXQuaXAg PSBQUl9odG9ubChJTkFERFJfQU5ZKTsKKysgICAgICAgIGlmKHN1cHBvcnRzSVBWNikgeworKyAg ICAgICAgICAgIHN0YXR1cyA9IFBSX1NldE5ldEFkZHIoUFJfSXBBZGRyQW55LCBQUl9BRl9JTkVU NiwgcG9ydCwgJmFkZHIpOworKyAgICAgICAgfSBlbHNlIHsKKysgICAgICAgICAgICBzdGF0dXMg PSBQUl9TZXROZXRBZGRyKFBSX0lwQWRkckFueSwgUFJfQUZfSU5FVCwgcG9ydCwgJmFkZHIpOwor KyAgICAgICAgfQorICAgICB9CisgCisgICAgIC8qIGRvIHRoZSBiaW5kKCkgY2FsbCAqLworQEAg LTYwMSw2ICs2NzIsNzggQEAgZmluaXNoOgorICAgICByZXR1cm4gc3RhdHVzOworIH0KKyAKKytK TklFWFBPUlQgamJ5dGVBcnJheSBKTklDQUxMCisrSmF2YV9vcmdfbW96aWxsYV9qc3Nfc3NsX1Nv Y2tldEJhc2VfZ2V0UGVlckFkZHJlc3NCeXRlQXJyYXlOYXRpdmUKKysgICAgKEpOSUVudiAqZW52 LCBqb2JqZWN0IHNlbGYpCisreworKyAgICBqYnl0ZUFycmF5IGJ5dGVBcnJheT1OVUxMOworKyAg ICBQUk5ldEFkZHIgYWRkcjsKKysgICAgamJ5dGUgKmFkZHJlc3M9TlVMTDsKKysgICAgaW50IHNp emU9NDsKKysKKysgICAgaWYoIEpTU0xfZ2V0U29ja0FkZHIoZW52LCBzZWxmLCAmYWRkciwgUEVF Ul9TT0NLKSAhPSBQUl9TVUNDRVNTKSB7IAorKyAgICAgICAgZ290byBmaW5pc2g7CisrICAgIH0K KysKKysgICAgaWYoIFBSX05ldEFkZHJGYW1pbHkoJmFkZHIpID09ICBQUl9BRl9JTkVUNikgewor KyAgICAgICAgc2l6ZSA9IDE2OworKyAgICAgICAgYWRkcmVzcyA9IChqYnl0ZSAqKSAmYWRkci5p cHY2LmlwOworKyAgICB9IGVsc2UgeworKyAgICAgICAgYWRkcmVzcyA9IChqYnl0ZSAqKSAmYWRk ci5pbmV0LmlwOworKyAgICB9CisrCisrICAgIGJ5dGVBcnJheSA9ICgqZW52KS0+TmV3Qnl0ZUFy cmF5KGVudixzaXplKTsKKysgICAgaWYoYnl0ZUFycmF5ID09IE5VTEwpIHsKKysgICAgICAgIEFT U0VSVF9PVVRPRk1FTShlbnYpOworKyAgICAgICAgZ290byBmaW5pc2g7CisrICAgIH0KKysgICAg KCplbnYpLT5TZXRCeXRlQXJyYXlSZWdpb24oZW52LCBieXRlQXJyYXksIDAsc2l6ZSAsYWRkcmVz cyk7CisrICAgIGlmKCAoKmVudiktPkV4Y2VwdGlvbk9jY3VycmVkKGVudikgIT0gTlVMTCkgewor KyAgICAgICAgUFJfQVNTRVJUKFBSX0ZBTFNFKTsKKysgICAgICAgIGdvdG8gZmluaXNoOworKyAg ICB9CisrCisrZmluaXNoOgorKyAgICByZXR1cm4gYnl0ZUFycmF5OworK30KKysKKytKTklFWFBP UlQgamJ5dGVBcnJheSBKTklDQUxMCisrSmF2YV9vcmdfbW96aWxsYV9qc3Nfc3NsX1NvY2tldEJh c2VfZ2V0TG9jYWxBZGRyZXNzQnl0ZUFycmF5TmF0aXZlCisrICAgIChKTklFbnYgKmVudiwgam9i amVjdCBzZWxmKQorK3sKKysgICAgamJ5dGVBcnJheSBieXRlQXJyYXk9TlVMTDsKKysgICAgUFJO ZXRBZGRyIGFkZHI7CisrICAgIGpieXRlICphZGRyZXNzPU5VTEw7CisrICAgIGludCBzaXplPTQ7 CisrCisrICAgIGlmKCBKU1NMX2dldFNvY2tBZGRyKGVudiwgc2VsZiwgJmFkZHIsIExPQ0FMX1NP Q0spICE9IFBSX1NVQ0NFU1MpIHsKKysgICAgICAgIGdvdG8gZmluaXNoOworKyAgICB9CisrCisr ICAgIGlmKCBQUl9OZXRBZGRyRmFtaWx5KCZhZGRyKSA9PSAgUFJfQUZfSU5FVDYpIHsKKysgICAg ICAgIHNpemUgPSAxNjsKKysgICAgICAgIGFkZHJlc3MgPSAoamJ5dGUgKikgJmFkZHIuaXB2Ni5p cDsgCisrICAgIH0gZWxzZSB7CisrICAgICAgICBhZGRyZXNzID0gKGpieXRlICopICZhZGRyLmlu ZXQuaXA7CisrICAgIH0KKysgICAKKysgICAgYnl0ZUFycmF5ID0gKCplbnYpLT5OZXdCeXRlQXJy YXkoZW52LHNpemUpOworKyAgICBpZihieXRlQXJyYXkgPT0gTlVMTCkgeworKyAgICAgICAgQVNT RVJUX09VVE9GTUVNKGVudik7CisrICAgICAgICBnb3RvIGZpbmlzaDsKKysgICAgfQorKyAgICAo KmVudiktPlNldEJ5dGVBcnJheVJlZ2lvbihlbnYsIGJ5dGVBcnJheSwgMCxzaXplLGFkZHJlc3Mp OworKyAgICBpZiggKCplbnYpLT5FeGNlcHRpb25PY2N1cnJlZChlbnYpICE9IE5VTEwpIHsKKysg ICAgICAgIFBSX0FTU0VSVChQUl9GQUxTRSk7CisrICAgICAgICBnb3RvIGZpbmlzaDsKKysgICAg fQorKworK2ZpbmlzaDoKKysgICAgcmV0dXJuIGJ5dGVBcnJheTsKKyt9CisrCisrLyogTGVhdmUg dGhlIG9yaWdpbmFsIHZlcnNpb25zIG9mIHRoZXNlIGZ1bmN0aW9ucyBmb3IgY29tcGF0aWJpbGl0 eSAqLworKworIEpOSUVYUE9SVCBqaW50IEpOSUNBTEwKKyBKYXZhX29yZ19tb3ppbGxhX2pzc19z c2xfU29ja2V0QmFzZV9nZXRQZWVyQWRkcmVzc05hdGl2ZQorICAgICAoSk5JRW52ICplbnYsIGpv YmplY3Qgc2VsZikKK2RpZmYgLXJ1cE4ganNzLTQuMi42LnByZS1JUHY2L21vemlsbGEvc2VjdXJp dHkvanNzL29yZy9tb3ppbGxhL2pzcy9zc2wvamF2YXNvY2suYyBqc3MtNC4yLjYvbW96aWxsYS9z ZWN1cml0eS9qc3Mvb3JnL21vemlsbGEvanNzL3NzbC9qYXZhc29jay5jCistLS0ganNzLTQuMi42 LnByZS1JUHY2L21vemlsbGEvc2VjdXJpdHkvanNzL29yZy9tb3ppbGxhL2pzcy9zc2wvamF2YXNv Y2suYwkyMDA3LTA0LTI0IDExOjM0OjU4LjAwMDAwMDAwMCAtMDcwMAorKysrIGpzcy00LjIuNi9t b3ppbGxhL3NlY3VyaXR5L2pzcy9vcmcvbW96aWxsYS9qc3Mvc3NsL2phdmFzb2NrLmMJMjAwOS0w Ni0yNCAxMzo0MzoxMy4wMDAwMDAwMDAgLTA3MDAKK0BAIC0yOTAsNiArMjkwLDcgQEAgZ2V0SW5l dEFkZHJlc3MoUFJGaWxlRGVzYyAqZmQsIFBSTmV0QWRkcgorICAgICBqb2JqZWN0IGluZXRBZGRy ZXNzOworICAgICBqYnl0ZUFycmF5IGFkZHJCeXRlQXJyYXk7CisgICAgIGppbnQgcG9ydDsKKysg ICAgaW50IGFkZHJCQUxlbiA9IDA7CisgCisgICAgIGlmKCBHRVRfRU5WKGZkLT5zZWNyZXQtPmph dmFWTSwgZW52KSApIGdvdG8gZmluaXNoOworIAorQEAgLTM3Nyw4ICszNzgsOSBAQCBnZXRJbmV0 QWRkcmVzcyhQUkZpbGVEZXNjICpmZCwgUFJOZXRBZGRyCisgCisgICAgICAgICBtZW1zZXQoYWRk ciwgMCwgc2l6ZW9mKFBSTmV0QWRkcikpOworIAorLSAgICAgICAgLyogd2Ugb25seSBoYW5kbGUg SVBWNCAqLworLSAgICAgICAgUFJfQVNTRVJUKCAoKmVudiktPkdldEFycmF5TGVuZ3RoKGVudiwg YWRkckJ5dGVBcnJheSkgPT0gNCApOworKyAgICAgICAgYWRkckJBTGVuID0gKCplbnYpLT5HZXRB cnJheUxlbmd0aChlbnYsIGFkZHJCeXRlQXJyYXkpOworKworKyAgICAgICAgUFJfQVNTRVJUKCAo YWRkckJBTGVuID09IDQpIHx8IChhZGRyQkFMZW4gPT0gMTYgKSApOworIAorICAgICAgICAgLyog bWFrZSBzdXJlIHlvdSByZWxlYXNlIHRoZW0gbGF0ZXIgKi8KKyAgICAgICAgIGFkZHJCeXRlcyA9 ICgqZW52KS0+R2V0Qnl0ZUFycmF5RWxlbWVudHMoZW52LCBhZGRyQnl0ZUFycmF5LCBOVUxMKTsK K0BAIC0zODgsOSArMzkwLDE2IEBAIGdldEluZXRBZGRyZXNzKFBSRmlsZURlc2MgKmZkLCBQUk5l dEFkZHIKKyAgICAgICAgIH0KKyAKKyAgICAgICAgIC8qIGlwIGZpZWxkIGlzIGluIG5ldHdvcmsg Ynl0ZSBvcmRlciAqLworLSAgICAgICAgbWVtY3B5KCAodm9pZCopICZhZGRyLT5pbmV0LmlwLCBh ZGRyQnl0ZXMsIDQpOworLSAgICAgICAgYWRkci0+aW5ldC5mYW1pbHkgPSBQUl9BRl9JTkVUOwor LSAgICAgICAgYWRkci0+aW5ldC5wb3J0ID0gcG9ydDsKKysKKysgICAgICAgIGlmIChhZGRyQkFM ZW4gPT0gNCkgeworKyAgICAgICAgICAgIG1lbWNweSggKHZvaWQqKSAmYWRkci0+aW5ldC5pcCwg YWRkckJ5dGVzLCA0KTsKKysgICAgICAgICAgICBhZGRyLT5pbmV0LmZhbWlseSA9IFBSX0FGX0lO RVQ7CisrICAgICAgICAgICAgYWRkci0+aW5ldC5wb3J0ID0gcG9ydDsKKysgICAgICAgIH0gZWxz ZSB7CisrICAgICAgICAgICAgbWVtY3B5KCAodm9pZCopICZhZGRyLT5pcHY2LmlwLGFkZHJCeXRl cywgMTYpOworKyAgICAgICAgICAgIGFkZHItPmluZXQuZmFtaWx5ID0gUFJfQUZfSU5FVDY7Cisr ICAgICAgICAgICAgYWRkci0+aW5ldC5wb3J0ID0gcG9ydDsKKysgICAgICAgIH0KKyAKKyAgICAg ICAgICgqZW52KS0+UmVsZWFzZUJ5dGVBcnJheUVsZW1lbnRzKGVudiwgYWRkckJ5dGVBcnJheSwg YWRkckJ5dGVzLAorICAgICAgICAgICAgIEpOSV9BQk9SVCk7CitkaWZmIC1ydXBOIGpzcy00LjIu Ni5wcmUtSVB2Ni9tb3ppbGxhL3NlY3VyaXR5L2pzcy9vcmcvbW96aWxsYS9qc3MvdXRpbC9qYXZh X2lkcy5oIGpzcy00LjIuNi9tb3ppbGxhL3NlY3VyaXR5L2pzcy9vcmcvbW96aWxsYS9qc3MvdXRp bC9qYXZhX2lkcy5oCistLS0ganNzLTQuMi42LnByZS1JUHY2L21vemlsbGEvc2VjdXJpdHkvanNz L29yZy9tb3ppbGxhL2pzcy91dGlsL2phdmFfaWRzLmgJMjAwNi0wMi0yMiAxNzoyMTo1Mi4wMDAw MDAwMDAgLTA4MDAKKysrKyBqc3MtNC4yLjYvbW96aWxsYS9zZWN1cml0eS9qc3Mvb3JnL21vemls bGEvanNzL3V0aWwvamF2YV9pZHMuaAkyMDA5LTA2LTE5IDE3OjU2OjAwLjAwMDAwMDAwMCAtMDcw MAorQEAgLTMxMiw2ICszMTIsOCBAQCBQUl9CRUdJTl9FWFRFUk5fQworICNkZWZpbmUgU09DS0VU X0JBU0VfTkFNRSAib3JnL21vemlsbGEvanNzL3NzbC9Tb2NrZXRCYXNlIgorICNkZWZpbmUgUFJP Q0VTU19FWENFUFRJT05TX05BTUUgInByb2Nlc3NFeGNlcHRpb25zIgorICNkZWZpbmUgUFJPQ0VT U19FWENFUFRJT05TX1NJRyAiKExqYXZhL2xhbmcvVGhyb3dhYmxlO0xqYXZhL2xhbmcvVGhyb3dh YmxlOylMamF2YS9sYW5nL1Rocm93YWJsZTsiCisrI2RlZmluZSBTVVBQT1JUU19JUFY2X05BTUUg InN1cHBvcnRzSVBWNiIKKysjZGVmaW5lIFNVUFBPUlRTX0lQVjZfU0lHICIoKVoiCisgCisgLyoK KyAgKiBTU0xDZXJ0aWZpY2F0ZUFwcHJvdmFsQ2FsbGJhY2sKCmRpZmYgLS1naXQgYS9qc3Muc3Bl YyBiL2pzcy5zcGVjCmluZGV4IDgwMzEyOGIuLjVlM2YwOGUgMTAwNjQ0Ci0tLSBhL2pzcy5zcGVj CisrKyBiL2pzcy5zcGVjCkBAIC0xLDYgKzEsNiBAQAogTmFtZTogICAgICAgICAgIGpzcwogVmVy c2lvbjogICAgICAgIDQuMi42Ci1SZWxlYXNlOiAgICAgICAgMyV7P2Rpc3R9CitSZWxlYXNlOiAg ICAgICAgNCV7P2Rpc3R9CiBTdW1tYXJ5OiAgICAgICAgSmF2YSBTZWN1cml0eSBTZXJ2aWNlcyAo SlNTKQogCiBHcm91cDogICAgICAgICAgU3lzdGVtIEVudmlyb25tZW50L0xpYnJhcmllcwpAQCAt MTYsMTMgKzE2LDE2IEBAIFNvdXJjZTI6ICAgICAgICBncGwudHh0CiBTb3VyY2UzOiAgICAgICAg bGdwbC50eHQKIEJ1aWxkUm9vdDogICAgICAle190bXBwYXRofS8le25hbWV9LSV7dmVyc2lvbn0t JXtyZWxlYXNlfS1yb290LSUoJXtfX2lkX3V9IC1uKQogCi1CdWlsZFJlcXVpcmVzOiAgbnNzLWRl dmVsID49IDMuMTIuMAorQnVpbGRSZXF1aXJlczogIG5zcy1kZXZlbCA+PSAzLjEyLjMuOTkKIEJ1 aWxkUmVxdWlyZXM6ICBuc3ByLWRldmVsID49IDQuNi45OQogQnVpbGRSZXF1aXJlczogIGphdmEt ZGV2ZWwKIFJlcXVpcmVzOiAgICAgICBqYXZhCitSZXF1aXJlczogICAgICAgbnNzID49IDMuMTIu My45OQogCiBQYXRjaDE6ICAgICAgICAganNzLWtleV9wYWlyX3VzYWdlX3dpdGhfb3BfZmxhZ3Mu cGF0Y2gKIFBhdGNoMjogICAgICAgICBqc3MtamF2YWRvY3MtcGFyYW0ucGF0Y2gKK1BhdGNoMzog ICAgICAgICBqc3MtaXB2Ni5wYXRjaAorUGF0Y2g0OiAgICAgICAgIGpzcy1FQ0MtcG9wLnBhdGNo CiAKICVkZXNjcmlwdGlvbgogSmF2YSBTZWN1cml0eSBTZXJ2aWNlcyAoSlNTKSBpcyBhIGphdmEg bmF0aXZlIGludGVyZmFjZSB3aGljaCBwcm92aWRlcyBhIGJyaWRnZQpAQCAtNDEsNiArNDQsOCBA QCBUaGlzIHBhY2thZ2UgY29udGFpbnMgdGhlIEFQSSBkb2N1bWVudGF0aW9uIGZvciBKU1MuCiAl c2V0dXAgLXEKICVwYXRjaDEgLXAxCiAlcGF0Y2gyIC1wMQorJXBhdGNoMyAtcDEKKyVwYXRjaDQg LXAxCiAKICVidWlsZAogWyAteiAiJEpBVkFfSE9NRSIgXSAmJiBleHBvcnQgSkFWQV9IT01FPSV7 X2p2bWRpcn0vamF2YQpAQCAtMTM2LDYgKzE0MSwxMSBAQCBybSAtcmYgJFJQTV9CVUlMRF9ST09U CiAKIAogJWNoYW5nZWxvZworKiBGcmkgSnVsIDMxIDIwMDkgUm9iIENyaXR0ZW5kZW4gPHJjcml0 dGVuQHJlZGhhdC5jb20+IDQuMi42LTQKKy0gU3VwcG9ydCBFQ0MgUE9QIG9uIHRoZSBzZXJ2ZXIg KCMyMjQ2ODgpCistIFNlcnZlciBTb2NrZXRzIGFyZSBoYXJkIGNvZGVkIHRvIElQVjQgKCM0Njk0 NTYpCistIFNldCBOU1MgZGVwZW5kZW5jeSA+PSAzLjEyLjMuOTkKKwogKiBGcmkgSnVsIDI0IDIw MDkgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbC1lbmdAbGlzdHMuZmVkb3JhcHJvamVj dC5vcmc+IC0gNC4yLjYtMwogLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3Jn L3dpa2kvRmVkb3JhXzEyX01hc3NfUmVidWlsZAogCg==