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: Kevin Wright To: git-commits@fedoraproject.org Subject: [rpms/jss] pqc: Bugzilla Bug #737122 - DRM: during archiving and recovering, wrapping Date: Tue, 28 Jul 2026 16:48:18 GMT Message-ID: <178525729833.1.1819821903094821757.rpms-jss-5718fa337d91@fedoraproject.org> List-ID: X-Git-Repo: rpms/jss X-Git-Branch: pqc X-Git-Rev: 5718fa337d91ad635b47219943fe71ddfb96abd1 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvanNzCiAgICAgICAgICAgIEJyYW5jaCA6IHBxYwogICAgICAgICAgICBDb21t aXQgOiA1NzE4ZmEzMzdkOTFhZDYzNWI0NzIxOTk0M2ZlNzFkZGZiOTZhYmQxCiAgICAgICAgICAg IEF1dGhvciA6IEtldmluIFdyaWdodCA8a3dyaWdodEByZWRoYXQuY29tPgogICAgICAgICAgICBE YXRlICAgOiAyMDExLTEwLTIwVDIzOjEyOjM2LTA3OjAwCiAgICAgICAgICAgIFN0YXRzICA6ICs1 MDMvLTIgaW4gNCBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9y YXByb2plY3Qub3JnL3JwbXMvanNzL2MvNTcxOGZhMzM3ZDkxYWQ2MzViNDcyMTk5NDNmZTcxZGRm Yjk2YWJkMT9icmFuY2g9cHFjCgogICAgICAgICAgICBMb2c6CiAgICAgICAgICAgIEJ1Z3ppbGxh IEJ1ZyAjNzM3MTIyIC0gRFJNOiBkdXJpbmcgYXJjaGl2aW5nIGFuZCByZWNvdmVyaW5nLCB3cmFw cGluZwp1bndyYXBwaW5nIGtleXMgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIHRva2VuCnN1cHBvcnQg Zm9yIFBLQ1M1djI7IHN1cHBvcnQgZm9yIHNlY3VyZSBQS0NTMTIKQnVnemlsbGEgQnVnICM3NDQ3 OTcgLSBLUkEga2V5IHJlY292ZXJ5IChyZXRyaWV2ZSBwa2NzIzEyKSBmYWlscyBhZnRlciB0aGUK aW4tcGxhY2UgdXBncmFkZSggQ1MgOC4wLT44LjEpCgotLS0KZGlmZiAtLWdpdCBhL2Nsb2cgYi9j bG9nCmluZGV4IGQyZGNhYzcuLjZhNDE0ODAgMTAwNjQ0Ci0tLSBhL2Nsb2cKKysrIGIvY2xvZwpA QCAtMSArMSw1IEBACi1CdWd6aWxsYSBCdWcgIzcxNTYyMSAtIERlZmVjdHMgcmV2ZWFsZWQgYnkg Q292ZXJpdHkgc2NhbgorQnVnemlsbGEgQnVnICM3MzcxMjIgLSBEUk06IGR1cmluZyBhcmNoaXZp bmcgYW5kIHJlY292ZXJpbmcsIHdyYXBwaW5nCit1bndyYXBwaW5nIGtleXMgc2hvdWxkIGJlIGRv bmUgaW4gdGhlIHRva2VuCitzdXBwb3J0IGZvciBQS0NTNXYyOyBzdXBwb3J0IGZvciBzZWN1cmUg UEtDUzEyCitCdWd6aWxsYSBCdWcgIzc0NDc5NyAtIEtSQSBrZXkgcmVjb3ZlcnkgKHJldHJpZXZl IHBrY3MjMTIpIGZhaWxzIGFmdGVyIHRoZQoraW4tcGxhY2UgdXBncmFkZSggQ1MgOC4wLT44LjEp CgpkaWZmIC0tZ2l0IGEvanNzLVBCRS1QS0NTNS1WMi1zZWN1cmUtUDEyLnBhdGNoIGIvanNzLVBC RS1QS0NTNS1WMi1zZWN1cmUtUDEyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLjA2OGU0ZDcKLS0tIC9kZXYvbnVsbAorKysgYi9qc3MtUEJFLVBLQ1M1LVYyLXNlY3Vy ZS1QMTIucGF0Y2gKQEAgLTAsMCArMSwzMjggQEAKK2RpZmYgLXVwIC4vbW96aWxsYS9zZWN1cml0 eS9qc3Mvb3JnL21vemlsbGEvanNzL2NyeXB0by9BbGdvcml0aG0uYy5vbGQgLi9tb3ppbGxhL3Nl Y3VyaXR5L2pzcy9vcmcvbW96aWxsYS9qc3MvY3J5cHRvL0FsZ29yaXRobS5jCistLS0gLi9tb3pp bGxhL3NlY3VyaXR5L2pzcy9vcmcvbW96aWxsYS9qc3MvY3J5cHRvL0FsZ29yaXRobS5jLm9sZAky MDExLTA5LTIzIDEwOjE0OjI0LjAwMDAwMDAwMCAtMDcwMAorKysrIC4vbW96aWxsYS9zZWN1cml0 eS9qc3Mvb3JnL21vemlsbGEvanNzL2NyeXB0by9BbGdvcml0aG0uYwkyMDExLTA5LTIyIDE4OjM5 OjE1LjAwMDAwMDAwMCAtMDcwMAorQEAgLTExMSw2ICsxMTEsOSBAQCBKU1NfQWxnSW5mbyBKU1Nf QWxnVGFibGVbTlVNX0FMR1NdID0geworIC8qIDQ4ICovICAgIHtTRUNfT0lEX0FOU0lYOTYyX0VD RFNBX1NIQTM4NF9TSUdOQVRVUkUsIFNFQ19PSURfVEFHfSwKKyAvKiA0OSAqLyAgICB7U0VDX09J RF9BTlNJWDk2Ml9FQ0RTQV9TSEE1MTJfU0lHTkFUVVJFLCBTRUNfT0lEX1RBR30sCisgLyogNTAg Ki8gICAge1NFQ19PSURfQU5TSVg5NjJfRUNEU0FfU0lHTkFUVVJFX1NQRUNJRklFRF9ESUdFU1Qs IFNFQ19PSURfVEFHfSwKKysvKiA1MSAqLyAgICB7U0VDX09JRF9QS0NTNV9QQktERjIsIFNFQ19P SURfVEFHfSwKKysvKiA1MiAqLyAgICB7U0VDX09JRF9QS0NTNV9QQkVTMiwgU0VDX09JRF9UQUd9 LAorKy8qIDUzICovICAgIHtTRUNfT0lEX1BLQ1M1X1BCTUFDMSwgU0VDX09JRF9UQUd9LAorIC8q IFJFTUVNQkVSIFRPIFVQREFURSBOVU1fQUxHUyEhISAqLworIH07CisgCitkaWZmIC11cCAuL21v emlsbGEvc2VjdXJpdHkvanNzL29yZy9tb3ppbGxhL2pzcy9jcnlwdG8vQWxnb3JpdGhtLmgub2xk IC4vbW96aWxsYS9zZWN1cml0eS9qc3Mvb3JnL21vemlsbGEvanNzL2NyeXB0by9BbGdvcml0aG0u aAorLS0tIC4vbW96aWxsYS9zZWN1cml0eS9qc3Mvb3JnL21vemlsbGEvanNzL2NyeXB0by9BbGdv cml0aG0uaC5vbGQJMjAxMS0wOS0yMyAxMDoxNDowOC4wMDAwMDAwMDAgLTA3MDAKKysrKyAuL21v emlsbGEvc2VjdXJpdHkvanNzL29yZy9tb3ppbGxhL2pzcy9jcnlwdG8vQWxnb3JpdGhtLmgJMjAx MS0wOS0yMiAyMDozMToxMi4wMDAwMDAwMDAgLTA3MDAKK0BAIC01Niw3ICs1Niw3IEBAIHR5cGVk ZWYgc3RydWN0IEpTU19BbGdJbmZvU3RyIHsKKyAgICAgSlNTX0FsZ1R5cGUgdHlwZTsKKyB9IEpT U19BbGdJbmZvOworIAorLSNkZWZpbmUgTlVNX0FMR1MgNTEKKysjZGVmaW5lIE5VTV9BTEdTIDU0 CisgCisgZXh0ZXJuIEpTU19BbGdJbmZvIEpTU19BbGdUYWJsZVtdOworIGV4dGVybiBDS19VTE9O RyBKU1Nfc3lta2V5VXNhZ2VbXTsKK2RpZmYgLXVwIC4vbW96aWxsYS9zZWN1cml0eS9qc3Mvb3Jn L21vemlsbGEvanNzL2NyeXB0by9BbGdvcml0aG0uamF2YS5vbGQgLi9tb3ppbGxhL3NlY3VyaXR5 L2pzcy9vcmcvbW96aWxsYS9qc3MvY3J5cHRvL0FsZ29yaXRobS5qYXZhCistLS0gLi9tb3ppbGxh L3NlY3VyaXR5L2pzcy9vcmcvbW96aWxsYS9qc3MvY3J5cHRvL0FsZ29yaXRobS5qYXZhLm9sZAky MDExLTA5LTIzIDEwOjE0OjQyLjAwMDAwMDAwMCAtMDcwMAorKysrIC4vbW96aWxsYS9zZWN1cml0 eS9qc3Mvb3JnL21vemlsbGEvanNzL2NyeXB0by9BbGdvcml0aG0uamF2YQkyMDExLTA5LTIyIDE4 OjM5OjE1LjAwMDAwMDAwMCAtMDcwMAorQEAgLTIzMyw1ICsyMzMsOSBAQCBwdWJsaWMgY2xhc3Mg QWxnb3JpdGhtIHsKKyAgICAgcHJvdGVjdGVkIHN0YXRpYyBmaW5hbCBzaG9ydCBTRUNfT0lEX0FO U0lYOTYyX0VDRFNBX1NIQTM4NF9TSUdOQVRVUkU9NDg7CisgICAgIHByb3RlY3RlZCBzdGF0aWMg ZmluYWwgc2hvcnQgU0VDX09JRF9BTlNJWDk2Ml9FQ0RTQV9TSEE1MTJfU0lHTkFUVVJFPTQ5Owor ICAgICBwcm90ZWN0ZWQgc3RhdGljIGZpbmFsIHNob3J0IFNFQ19PSURfQU5TSVg5NjJfRUNEU0Ff U0lHTkFUVVJFX1NQRUNJRklFRF9ESUdFU1Q9NTA7CisrICAgIC8vUEtDUzUgVjIKKysgICAgcHJv dGVjdGVkIHN0YXRpYyBmaW5hbCBzaG9ydCBTRUNfT0lEX1BLQ1M1X1BCS0RGMj01MTsKKysgICAg cHJvdGVjdGVkIHN0YXRpYyBmaW5hbCBzaG9ydCBTRUNfT0lEX1BLQ1M1X1BCRVMyPTUyOworKyAg ICBwcm90ZWN0ZWQgc3RhdGljIGZpbmFsIHNob3J0IFNFQ19PSURfUEtDUzVfUEJNQUMxPTUzOwor IAorIH0KK2RpZmYgLXVwIC4vbW96aWxsYS9zZWN1cml0eS9qc3Mvb3JnL21vemlsbGEvanNzL2Ny eXB0by9QQkVBbGdvcml0aG0uamF2YS5vbGQgLi9tb3ppbGxhL3NlY3VyaXR5L2pzcy9vcmcvbW96 aWxsYS9qc3MvY3J5cHRvL1BCRUFsZ29yaXRobS5qYXZhCistLS0gLi9tb3ppbGxhL3NlY3VyaXR5 L2pzcy9vcmcvbW96aWxsYS9qc3MvY3J5cHRvL1BCRUFsZ29yaXRobS5qYXZhLm9sZAkyMDExLTA5 LTIzIDEwOjE1OjA0LjAwMDAwMDAwMCAtMDcwMAorKysrIC4vbW96aWxsYS9zZWN1cml0eS9qc3Mv b3JnL21vemlsbGEvanNzL2NyeXB0by9QQkVBbGdvcml0aG0uamF2YQkyMDExLTA5LTIyIDE4OjM5 OjE1LjAwMDAwMDAwMCAtMDcwMAorQEAgLTkzLDYgKzkzLDI3IEBAIHB1YmxpYyBjbGFzcyBQQkVB bGdvcml0aG0gZXh0ZW5kcyBLZXlHZW4KKyAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAKKyAgICAgLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8KKysgICAgLy8gUEtDUyA1IHYyCisrICAgIHB1YmxpYyBzdGF0aWMgZmluYWwgUEJFQWxnb3Jp dGhtCisrICAgIFBCRV9QS0NTNV9QQktERjIgPSBuZXcgUEJFQWxnb3JpdGhtKAorKyAgICAgICAg U0VDX09JRF9QS0NTNV9QQktERjIsICJQQktERjIiLCAxMjgsCisrICAgICAgICAgICAgUEtDUzUu c3ViQnJhbmNoKDEyKSwgRW5jcnlwdGlvbkFsZ29yaXRobS5BRVNfMTI4X0NCQywgOCApOworKwor KyAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLworKyAgICAvLyBQS0NTIDUgdjIKKysgICAgcHVibGljIHN0YXRpYyBmaW5hbCBQ QkVBbGdvcml0aG0KKysgICAgUEJFX1BLQ1M1X1BCRVMyID0gbmV3IFBCRUFsZ29yaXRobSgKKysg ICAgICAgIFNFQ19PSURfUEtDUzVfUEJFUzIsICJQQkVTMiIsIDEyOCwKKysgICAgICAgICAgICBQ S0NTNS5zdWJCcmFuY2goMTMpLCBFbmNyeXB0aW9uQWxnb3JpdGhtLkFFU18xMjhfQ0JDLCA4ICk7 CisrCisrICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vCisrICAgIC8vIFBLQ1MgNSB2MgorKyAgICBwdWJsaWMgc3RhdGljIGZp bmFsIFBCRUFsZ29yaXRobQorKyAgICBQQkVfUEtDUzVfUEJNQUMxID0gbmV3IFBCRUFsZ29yaXRo bSgKKysgICAgICAgIFNFQ19PSURfUEtDUzVfUEJNQUMxLCAiUEJNQUMxIiwgMTI4LAorKyAgICAg ICAgICAgIFBLQ1M1LnN1YkJyYW5jaCgxNCksIEVuY3J5cHRpb25BbGdvcml0aG0uQUVTXzEyOF9D QkMsIDggKTsKKysKKysgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAgICAgcHVibGljIHN0YXRpYyBmaW5hbCBQQkVBbGdv cml0aG0KKyAgICAgUEJFX01EMl9ERVNfQ0JDID0gbmV3IFBCRUFsZ29yaXRobSgKKyAgICAgICAg IFNFQ19PSURfUEtDUzVfUEJFX1dJVEhfTUQyX0FORF9ERVNfQ0JDLCAiUEJFL01EMi9ERVMvQ0JD IiwgNTYsCitkaWZmIC11cCAuL21vemlsbGEvc2VjdXJpdHkvanNzL29yZy9tb3ppbGxhL2pzcy9w a2NzMTEvUEsxMUtleUdlbmVyYXRvci5jLm9sZCAuL21vemlsbGEvc2VjdXJpdHkvanNzL29yZy9t b3ppbGxhL2pzcy9wa2NzMTEvUEsxMUtleUdlbmVyYXRvci5jCistLS0gLi9tb3ppbGxhL3NlY3Vy aXR5L2pzcy9vcmcvbW96aWxsYS9qc3MvcGtjczExL1BLMTFLZXlHZW5lcmF0b3IuYy5vbGQJMjAx MS0wOS0yMyAxMDoxMjowOS4wMDAwMDAwMDAgLTA3MDAKKysrKyAuL21vemlsbGEvc2VjdXJpdHkv anNzL29yZy9tb3ppbGxhL2pzcy9wa2NzMTEvUEsxMUtleUdlbmVyYXRvci5jCTIwMTEtMDktMjcg MTA6MzU6MTkuMDAwMDAwMDAwIC0wNzAwCitAQCAtMzI0LDcgKzMyNCw2IEBAIEphdmFfb3JnX21v emlsbGFfanNzX3BrY3MxMV9QSzExS2V5R2VuZXIKKyAgICAgfQorICAgICAvKiBwcmludF9zZWNp dGVtKHB3aXRlbSk7ICovCisgCistCisgICAgIG1lY2ggPSBKU1NfZ2V0UEsxMU1lY2hGcm9tQWxn KGVudiwgYWxnKTsKKyAKKyAgICAgaWYoIG1lY2ggPT0gQ0tNX1BCQV9TSEExX1dJVEhfU0hBMV9I TUFDICkgeworQEAgLTM0NCw3ICszNDMsMTQgQEAgSmF2YV9vcmdfbW96aWxsYV9qc3NfcGtjczEx X1BLMTFLZXlHZW5lcgorICAgICAgICAgUFJfQVNTRVJUKG9pZFRhZyAhPSBTRUNfT0lEX1VOS05P V04pOworIAorICAgICAgICAgLyogY3JlYXRlIGFsZ2lkICovCistICAgICAgICBhbGdpZCA9IFBL MTFfQ3JlYXRlUEJFQWxnb3JpdGhtSUQob2lkVGFnLCBpdGVyYXRpb25Db3VudCwgc2FsdCk7Cisr ICAgICAgICBhbGdpZCA9IFBLMTFfQ3JlYXRlUEJFVjJBbGdvcml0aG1JRCgKKysgICAgICAgICAg ICBvaWRUYWcsCisrICAgICAgICAgICAgU0VDX09JRF9ERVNfRURFM19DQkMsCisrICAgICAgICAg ICAgU0VDX09JRF9ITUFDX1NIQTEsCisrICAgICAgICAgICAgMTY4LzgsCisrICAgICAgICAgICAg aXRlcmF0aW9uQ291bnQsCisrICAgICAgICAgICAgc2FsdCk7CisrCisgICAgICAgICBpZiggYWxn aWQgPT0gTlVMTCApIHsKKyAgICAgICAgICAgICBKU1NfdGhyb3dNc2coZW52LCBUT0tFTl9FWENF UFRJT04sCisgICAgICAgICAgICAgICAgICAgICAiVW5hYmxlIHRvIHByb2Nlc3MgUEJFIHBhcmFt ZXRlcnMiKTsKK2RpZmYgLXVwIC4vbW96aWxsYS9zZWN1cml0eS9qc3Mvb3JnL21vemlsbGEvanNz L3BrY3MxMS9QSzExS2V5V3JhcHBlci5jLm9sZCAuL21vemlsbGEvc2VjdXJpdHkvanNzL29yZy9t b3ppbGxhL2pzcy9wa2NzMTEvUEsxMUtleVdyYXBwZXIuYworLS0tIC4vbW96aWxsYS9zZWN1cml0 eS9qc3Mvb3JnL21vemlsbGEvanNzL3BrY3MxMS9QSzExS2V5V3JhcHBlci5jLm9sZAkyMDExLTA5 LTI1IDE1OjQzOjUyLjAwMDAwMDAwMCAtMDcwMAorKysrIC4vbW96aWxsYS9zZWN1cml0eS9qc3Mv b3JnL21vemlsbGEvanNzL3BrY3MxMS9QSzExS2V5V3JhcHBlci5jCTIwMTEtMDktMjcgMjE6MTY6 MDYuMDAwMDAwMDAwIC0wNzAwCitAQCAtMzI0LDE0ICszMjQsMzQgQEAgSmF2YV9vcmdfbW96aWxs YV9qc3NfcGtjczExX1BLMTFLZXlXcmFwcAorICAgICBTRUNJdGVtICp3cmFwcGVkPU5VTEwsICpp dj1OVUxMLCAqcGFyYW09TlVMTCwgKnB1YlZhbHVlPU5VTEw7CisgICAgIFNFQ0l0ZW0gbGFiZWw7 IC8qIGVtcHR5IHNlY2l0ZW0sIGRvZXNuJ3QgbmVlZCB0byBiZSBmcmVlZCAqLworICAgICBQUkJv b2wgdG9rZW47CistICAgIENLX0FUVFJJQlVURV9UWVBFIGF0dHJpYnNbNF07CistICAgIGludCBu dW1BdHRyaWJzOworKyAgICBDS19BVFRSSUJVVEVfVFlQRSBhdHRyaWJzWzRdID0gezAsIDAsIDAs IDB9OworKyAgICBpbnQgbnVtQXR0cmlicyA9IDA7CisrICAgIENLX1RPS0VOX0lORk8gdG9rZW5J bmZvOworKworKyAgICBQUkJvb2wgaXNTZW5zaXRpdmUgPSBQUl9UUlVFOworKyAgICBQUkJvb2wg aXNFeHRyYWN0YWJsZSA9IFBSX0ZBTFNFOworKyAgICAvKiBzcGVjaWFsIGNhc2UgbmV0aHNtKi8K KysgICAgQ0tfVVRGOENIQVIgbmV0aHNtTGFiZWxbNF0gPSB7J04nLCdIJywnUycsJ00nfTsKKysg ICAgUFJCb29sIGlzTmV0aHNtID0gUFJfVFJVRTsKKyAKKyAgICAgaWYoIEpTU19QSzExX2dldFRv a2VuU2xvdFB0cihlbnYsIHRva2VuT2JqLCAmc2xvdCkgIT0gUFJfU1VDQ0VTUykgeworICAgICAg ICAgLyogZXhjZXB0aW9uIHdhcyB0aHJvd24gKi8KKyAgICAgICAgIGdvdG8gZmluaXNoOworICAg ICB9CisgCisrICAgIGlmICggUEsxMV9HZXRUb2tlbkluZm8oc2xvdCwgJnRva2VuSW5mbykgPT0g UFJfU1VDQ0VTUykgeworKyAgICAgICAgaW50IGl4ID0gMDsKKysgICAgICAgIGZvcihpeD0wOyBp eCA8IDQ7IGl4KyspIHsKKysgICAgICAgICAgICBpZiAodG9rZW5JbmZvLmxhYmVsW2l4XSAhPSBu ZXRoc21MYWJlbFtpeF0pIHsKKysgICAgICAgICAgICAgICBpc05ldGhzbSA9IFBSX0ZBTFNFOwor KyAgICAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICAgIH0KKysgICAgICAgIH0KKysKKysg ICAgfSBlbHNlIHsKKysgICAgICAgIGlzTmV0aHNtID0gUFJfRkFMU0U7CisrICAgIH0KKysKKyAg ICAgLyogZ2V0IHVud3JhcHBpbmcga2V5ICovCisgICAgIGlmKCBKU1NfUEsxMV9nZXRTeW1LZXlQ dHIoZW52LCB1bndyYXBwZXJPYmosICZ1bndyYXBwaW5nS2V5KQorICAgICAgICAgICAgICE9IFBS X1NVQ0NFU1MpIHsKK0BAIC0zOTIsMTQgKzQxMiwyNCBAQCBKYXZhX29yZ19tb3ppbGxhX2pzc19w a2NzMTFfUEsxMUtleVdyYXBwCisgICAgIH0KKyAgICAga2V5VHlwZSA9IFBLMTFfR2V0S2V5VHlw ZShrZXlUeXBlTWVjaCwgMCk7CisgCisrICAgIGlmKCBpc05ldGhzbSApIHsKKysgICAgICAgIGlz U2Vuc2l0aXZlID0gUFJfRkFMU0U7CisrICAgICAgICBpc0V4dHJhY3RhYmxlID0gUFJfRkFMU0U7 CisrICAgIH0KKysKKytzZXRBdHRyczoKKyAgICAgLyogZmlndXJlIG91dCB3aGljaCBvcGVyYXRp b25zIHRvIGVuYWJsZSBmb3IgdGhpcyBrZXkgKi8KKyAgICAgc3dpdGNoIChrZXlUeXBlKSB7Cisg ICAgIGNhc2UgQ0tLX1JTQToKKyAgICAgICAgIGF0dHJpYnNbMF0gPSBDS0FfU0lHTjsKKy0gICAg ICAgIGF0dHJpYnNbMV0gPSBDS0FfREVDUllQVDsKKy0gICAgICAgIGF0dHJpYnNbMl0gPSBDS0Ff U0lHTl9SRUNPVkVSOworLSAgICAgICAgYXR0cmlic1szXSA9IENLQV9VTldSQVA7CistICAgICAg ICBudW1BdHRyaWJzID0gNDsKKysgICAgICAgIGF0dHJpYnNbMV0gPSBDS0FfU0lHTl9SRUNPVkVS OworKyAgICAgICAgYXR0cmlic1syXSA9IENLQV9VTldSQVA7CisrICAgICAgICBpZiAoaXNFeHRy YWN0YWJsZSkgeworKyAgICAgICAgICAgIGF0dHJpYnNbM10gPSBDS0FfRVhUUkFDVEFCTEU7Cisr ICAgICAgICAgICAgbnVtQXR0cmlicyA9IDQ7CisrICAgICAgICB9IGVsc2UgeworKyAgICAgICAg ICAgIG51bUF0dHJpYnMgPSAzOworKyAgICAgICAgfQorIAlicmVhazsKKyAgICAgY2FzZSBDS0tf RFNBOgorICAgICAgICAgYXR0cmlic1swXSA9IENLQV9TSUdOOworQEAgLTQyNiw3ICs0NTYsNyBA QCBKYXZhX29yZ19tb3ppbGxhX2pzc19wa2NzMTFfUEsxMUtleVdyYXBwCisgCisgICAgIC8qIHBl cmZvcm0gdGhlIHVud3JhcCAqLworICAgICBwcml2ayA9IFBLMTFfVW53cmFwUHJpdktleShzbG90 LCB1bndyYXBwaW5nS2V5LCB3cmFwVHlwZSwgcGFyYW0sIHdyYXBwZWQsCistICAgICAgICAgICAg ICAgICZsYWJlbCwgcHViVmFsdWUsIHRva2VuLCBQUl9UUlVFIC8qc2Vuc2l0aXZlKi8sIGtleVR5 cGUsCisrICAgICAgICAgICAgICAgICZsYWJlbCwgcHViVmFsdWUsIHRva2VuLCBpc1NlbnNpdGl2 ZSAvKnNlbnNpdGl2ZSovLCBrZXlUeXBlLAorICAgICAgICAgICAgICAgICBhdHRyaWJzLCBudW1B dHRyaWJzLCBOVUxMIC8qd2luY3gqLyk7CisgICAgIGlmKCBwcml2ayA9PSBOVUxMICkgeworICAg ICAgICAgSlNTX3Rocm93TXNnKGVudiwgVE9LRU5fRVhDRVBUSU9OLCAiS2V5IFVud3JhcCBmYWls ZWQgb24gdG9rZW4iKTsKK2RpZmYgLXVwIC4vbW96aWxsYS9zZWN1cml0eS9qc3Mvb3JnL21vemls bGEvanNzL3BrY3MxMS9QSzExS2V5V3JhcHBlci5qYXZhLm9sZCAuL21vemlsbGEvc2VjdXJpdHkv anNzL29yZy9tb3ppbGxhL2pzcy9wa2NzMTEvUEsxMUtleVdyYXBwZXIuamF2YQorLS0tIC4vbW96 aWxsYS9zZWN1cml0eS9qc3Mvb3JnL21vemlsbGEvanNzL3BrY3MxMS9QSzExS2V5V3JhcHBlci5q YXZhLm9sZAkyMDExLTA5LTI3IDE1OjE2OjUyLjAwMDAwMDAwMCAtMDcwMAorKysrIC4vbW96aWxs YS9zZWN1cml0eS9qc3Mvb3JnL21vemlsbGEvanNzL3BrY3MxMS9QSzExS2V5V3JhcHBlci5qYXZh CTIwMTEtMDktMjcgMTc6MDE6MTguMDAwMDAwMDAwIC0wNzAwCitAQCAtMTkwLDIxICsxOTAsMjMg QEAgZmluYWwgY2xhc3MgUEsxMUtleVdyYXBwZXIgaW1wbGVtZW50cyBLZQorICAgICAgICAgaWYo IGtleT09bnVsbCApIHsKKyAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEtleUV4Y2VwdGlv bigiS2V5IGlzIG51bGwiKTsKKyAgICAgICAgIH0KKy0gICAgICAgIGlmKCAhIGtleS5nZXRPd25p bmdUb2tlbigpLmVxdWFscyh0b2tlbikgKSB7CistICAgICAgICAgICAgdGhyb3cgbmV3IEludmFs aWRLZXlFeGNlcHRpb24oIktleSBkb2VzIG5vdCByZXNpZGUgb24gdGhlICIrCistICAgICAgICAg ICAgICAgICJjdXJyZW50IHRva2VuIik7CistICAgICAgICB9CistICAgICAgICBpZiggISAoa2V5 IGluc3RhbmNlb2YgUEsxMVN5bUtleSkgKSB7CistICAgICAgICAgICAgdGhyb3cgbmV3IEludmFs aWRLZXlFeGNlcHRpb24oIktleSBpcyBub3QgYSBQS0NTICMxMSBrZXkiKTsKKy0gICAgICAgIH0K KyAgICAgICAgIHRyeSB7CisrICAgICAgICAgICAgaWYoICEga2V5LmdldE93bmluZ1Rva2VuKCku ZXF1YWxzKHRva2VuKSApIHsKKysgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRLZXlF eGNlcHRpb24oIktleSBkb2VzIG5vdCByZXNpZGUgb24gdGhlIGN1cnJlbnQgdG9rZW46IGtleSBv d25pbmcgdG9rZW49IisKKysgICAgICAgICAgICAgICAgICAgIGtleS5nZXRPd25pbmdUb2tlbigp LmdldE5hbWUoKSk7CisrICAgICAgICAgICAgfQorKyAgICAgICAgICAgIGlmKCAhIChrZXkgaW5z dGFuY2VvZiBQSzExU3ltS2V5KSApIHsKKysgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEludmFs aWRLZXlFeGNlcHRpb24oIktleSBpcyBub3QgYSBQS0NTICMxMSBrZXkiKTsKKysgICAgICAgICAg ICB9CisgICAgICAgICAgICAgaWYoICgoUEsxMVN5bUtleSlrZXkpLmdldEtleVR5cGUoKSAhPQor LSAgICAgICAgICAgICAgICAgICAgS2V5VHlwZS5nZXRLZXlUeXBlRnJvbUFsZ29yaXRobShhbGdv cml0aG0pICkgeworLSAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEtleUV4Y2VwdGlv bigiS2V5IGlzIG5vdCB0aGUgcmlnaHQgdHlwZSBmb3IiKworKyAgICAgICAgICAgICAgICBLZXlU eXBlLmdldEtleVR5cGVGcm9tQWxnb3JpdGhtKGFsZ29yaXRobSkgKSB7CisrICAgICAgICAgICAg ICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEtleUV4Y2VwdGlvbigiS2V5IGlzIG5vdCB0aGUgcmln aHQgdHlwZSBmb3IiKworICAgICAgICAgICAgICAgICAgICAgIiB0aGlzIGFsZ29yaXRobSIpOwor ICAgICAgICAgICAgIH0KKyAgICAgICAgIH0gY2F0Y2goIE5vU3VjaEFsZ29yaXRobUV4Y2VwdGlv biBlICkgeworICAgICAgICAgICAgIEFzc2VydC5ub3RSZWFjaGVkKCJVbmtub3duIGFsZ29yaXRo bSIpOworKyAgICAgICAgfSBjYXRjaCAoRXhjZXB0aW9uIGUpIHsKKysgICAgICAgICAgICBBc3Nl cnQubm90UmVhY2hlZCgiRXhjZXB0aW9uOiIrIGUudG9TdHJpbmcoKSk7CisgICAgICAgICB9Cisg ICAgIH0KKyAKK2RpZmYgLXVwIC4vbW96aWxsYS9zZWN1cml0eS9qc3Mvb3JnL21vemlsbGEvanNz L3BrY3MxMS9QSzExVG9rZW4uamF2YS5vbGQgLi9tb3ppbGxhL3NlY3VyaXR5L2pzcy9vcmcvbW96 aWxsYS9qc3MvcGtjczExL1BLMTFUb2tlbi5qYXZhCistLS0gLi9tb3ppbGxhL3NlY3VyaXR5L2pz cy9vcmcvbW96aWxsYS9qc3MvcGtjczExL1BLMTFUb2tlbi5qYXZhLm9sZAkyMDExLTA5LTIzIDEw OjEyOjI5LjAwMDAwMDAwMCAtMDcwMAorKysrIC4vbW96aWxsYS9zZWN1cml0eS9qc3Mvb3JnL21v emlsbGEvanNzL3BrY3MxMS9QSzExVG9rZW4uamF2YQkyMDExLTA5LTIzIDA4OjU0OjE5LjAwMDAw MDAwMCAtMDcwMAorQEAgLTEwNiwxMCArMTA2LDEzIEBAIHB1YmxpYyBmaW5hbCBjbGFzcyBQSzEx VG9rZW4gaW1wbGVtZW50cyAKKyAgICAgZ2V0S2V5R2VuZXJhdG9yKEtleUdlbkFsZ29yaXRobSBh bGdvcml0aG0pCisgICAgICAgICB0aHJvd3MgTm9TdWNoQWxnb3JpdGhtRXhjZXB0aW9uLCBUb2tl bkV4Y2VwdGlvbgorICAgICB7CisrLyogTlNTIGlzIGNhcGFibGUgb2YgZmluZGluZyB0aGUgcmln aHQgdG9rZW4gdG8gZG8gYWxnb3JpdGhtLAorKyAgIHNvIHRoaXMgY2FsbCBpcyBwcmVtYXR1cmVs eSBiYWlsaW5nCisgICAgICAgICBpZiggISBkb2VzQWxnb3JpdGhtKGFsZ29yaXRobSkgKSB7Cisg ICAgICAgICAgICAgdGhyb3cgbmV3IE5vU3VjaEFsZ29yaXRobUV4Y2VwdGlvbigKKyAgICAgICAg ICAgICAgICAgYWxnb3JpdGhtKyIgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIHRva2VuIik7Cisg ICAgICAgICB9CisrKi8KKyAgICAgICAgIHJldHVybiBuZXcgUEsxMUtleUdlbmVyYXRvcih0aGlz LCBhbGdvcml0aG0pOworICAgICB9CisgCitkaWZmIC11cCAuL21vemlsbGEvc2VjdXJpdHkvanNz L29yZy9tb3ppbGxhL2pzcy9wa2l4L3ByaW1pdGl2ZS9FbmNyeXB0ZWRQcml2YXRlS2V5SW5mby5q YXZhLm9sZCAuL21vemlsbGEvc2VjdXJpdHkvanNzL29yZy9tb3ppbGxhL2pzcy9wa2l4L3ByaW1p dGl2ZS9FbmNyeXB0ZWRQcml2YXRlS2V5SW5mby5qYXZhCistLS0gLi9tb3ppbGxhL3NlY3VyaXR5 L2pzcy9vcmcvbW96aWxsYS9qc3MvcGtpeC9wcmltaXRpdmUvRW5jcnlwdGVkUHJpdmF0ZUtleUlu Zm8uamF2YS5vbGQJMjAxMS0wOS0yMyAxMDo0MjowNi4wMDAwMDAwMDAgLTA3MDAKKysrKyAuL21v emlsbGEvc2VjdXJpdHkvanNzL29yZy9tb3ppbGxhL2pzcy9wa2l4L3ByaW1pdGl2ZS9FbmNyeXB0 ZWRQcml2YXRlS2V5SW5mby5qYXZhCTIwMTEtMDktMjcgMTQ6MzE6NDEuMDAwMDAwMDAwIC0wNzAw CitAQCAtNDMsNiArNDMsNyBAQCBpbXBvcnQgb3JnLm1vemlsbGEuanNzLnV0aWwuQXNzZXJ0Owor IGltcG9ydCBqYXZhLnNlY3VyaXR5Lio7CisgaW1wb3J0IG9yZy5tb3ppbGxhLmpzcy5DcnlwdG9N YW5hZ2VyOworIGltcG9ydCBvcmcubW96aWxsYS5qc3MudXRpbC5QYXNzd29yZDsKKytpbXBvcnQg b3JnLm1vemlsbGEuanNzLmNyeXB0by5Qcml2YXRlS2V5OworIGltcG9ydCBqYXZhLnNlY3VyaXR5 LnNwZWMuQWxnb3JpdGhtUGFyYW1ldGVyU3BlYzsKKyAKKyAvKioKK0BAIC0xODQsNiArMTg1LDg5 IEBAIHB1YmxpYyBjbGFzcyBFbmNyeXB0ZWRQcml2YXRlS2V5SW5mbyBpbXAKKyAgICAgICByZXR1 cm4gbnVsbDsKKyAgICAgfQorIAorKworKyAgICAvKioKKysgICAgICogQ3JlYXRlcyBhIG5ldyBF bmNyeXB0ZWRQcml2YXRlS2V5SW5mbywgd2hlcmUgdGhlIGRhdGEgaXMgZW5jcnlwdGVkCisrICAg ICAqIHdpdGggYSBwYXNzd29yZC1iYXNlZCBrZXktIAorKyAgICAgKiAgICAgICB3aXRoIHdyYXBw aW5nL3Vud3JhcHBpbmcgaGFwcGVuaW5nIG9uIHRva2VuLgorKyAgICAgKgorKyAgICAgKiBAcGFy YW0ga2V5R2VuQWxnIFRoZSBhbGdvcml0aG0gZm9yIGdlbmVyYXRpbmcgYSBzeW1tZXRyaWMga2V5 IGZyb20KKysgICAgICogICAgICBhIHBhc3N3b3JkLCBzYWx0LCBhbmQgaXRlcmF0aW9uIGNvdW50 LgorKyAgICAgKiBAcGFyYW0gcGFzc3dvcmQgVGhlIHBhc3N3b3JkIHRvIHVzZSBpbiBnZW5lcmF0 aW5nIHRoZSBrZXkuCisrICAgICAqIEBwYXJhbSBzYWx0IFRoZSBzYWx0IHRvIHVzZSBpbiBnZW5l cmF0aW5nIHRoZSBrZXkuCisrICAgICAqIEBwYXJhbSBpdGVyYXRpb25Db3VudCBUaGUgbnVtYmVy IG9mIGhhc2hpbmcgaXRlcmF0aW9ucyB0byBwZXJmb3JtCisrICAgICAqICAgICAgd2hpbGUgZ2Vu ZXJhdGluZyB0aGUga2V5LgorKyAgICAgKiBAcGFyYW0gY2hhclRvQnl0ZUNvbnZlcnRlciBUaGUg bWVjaGFuaXNtIGZvciBjb252ZXJ0aW5nIHRoZSBjaGFyYWN0ZXJzCisrICAgICAqICAgICAgaW4g dGhlIHBhc3N3b3JkIGludG8gYnl0ZXMuICBJZiBudWxsLCB0aGUgZGVmYXVsdCBtZWNoYW5pc20K KysgICAgICogICAgICB3aWxsIGJlIHVzZWQsIHdoaWNoIGlzIFVURjguCisrICAgICAqIEBwYXJh bSBwcmkgVGhlIFByaXZhdGVLZXkgdG8gYmUgZW5jcnlwdGVkIGFuZCBzdG9yZWQgaW4gdGhlCisr ICAgICAqICAgICAgRW5jcnlwdGVkQ29udGVudEluZm8uCisrICAgICAqLworKyAgICBwdWJsaWMg c3RhdGljIEVuY3J5cHRlZFByaXZhdGVLZXlJbmZvCisrICAgIGNyZWF0ZVBCRShQQkVBbGdvcml0 aG0ga2V5R2VuQWxnLCBQYXNzd29yZCBwYXNzd29yZCwgYnl0ZVtdIHNhbHQsCisrICAgICAgICAg ICAgaW50IGl0ZXJhdGlvbkNvdW50LAorKyAgICAgICAgICAgIEtleUdlbmVyYXRvci5DaGFyVG9C eXRlQ29udmVydGVyIGNoYXJUb0J5dGVDb252ZXJ0ZXIsCisrICAgICAgICAgICAgUHJpdmF0ZUtl eSBwcmksIENyeXB0b1Rva2VuIHRva2VuKQorKyAgICAgICAgdGhyb3dzIENyeXB0b01hbmFnZXIu Tm90SW5pdGlhbGl6ZWRFeGNlcHRpb24sIE5vU3VjaEFsZ29yaXRobUV4Y2VwdGlvbiwKKysgICAg ICAgIEludmFsaWRLZXlFeGNlcHRpb24sIEludmFsaWRBbGdvcml0aG1QYXJhbWV0ZXJFeGNlcHRp b24sIFRva2VuRXhjZXB0aW9uLAorKyAgICAgICAgQ2hhckNvbnZlcnNpb25FeGNlcHRpb24KKysg ICAgeworKyAgICAgIHRyeSB7CisrCisrICAgICAgICAvLyBjaGVjayBrZXkgZ2VuIGFsZ29yaXRo bQorKworKyAgICAgICAgaWYoICEgKGtleUdlbkFsZyBpbnN0YW5jZW9mIFBCRUFsZ29yaXRobSkg KSB7CisrICAgICAgICAgICAgdGhyb3cgbmV3IE5vU3VjaEFsZ29yaXRobUV4Y2VwdGlvbigiS2V5 IGdlbmVyYXRpb24gYWxnb3JpdGhtIisKKysgICAgICAgICAgICAgICAgIiBpcyBub3QgYSBQQkUg YWxnb3JpdGhtIik7CisrICAgICAgICB9CisrCisrICAgICAgICBQQkVBbGdvcml0aG0gcGJlQWxn ID0gKFBCRUFsZ29yaXRobSkga2V5R2VuQWxnOworKworKyAgICAgICAgLy8gZ2VuZXJhdGUga2V5 CisrCisrICAgICAgICBLZXlHZW5lcmF0b3Iga2cgPSB0b2tlbi5nZXRLZXlHZW5lcmF0b3IoIGtl eUdlbkFsZyApOworKyAgICAgICAgUEJFS2V5R2VuUGFyYW1zIHBiZWtnUGFyYW1zID0gbmV3IFBC RUtleUdlblBhcmFtcygKKysgICAgICAgICAgICBwYXNzd29yZCwgc2FsdCwgaXRlcmF0aW9uQ291 bnQpOworKyAgICAgICAgaWYoIGNoYXJUb0J5dGVDb252ZXJ0ZXIgIT0gbnVsbCApIHsKKysgICAg ICAgICAgICBrZy5zZXRDaGFyVG9CeXRlQ29udmVydGVyKCBjaGFyVG9CeXRlQ29udmVydGVyICk7 CisrICAgICAgICB9CisrICAgICAgICBrZy5pbml0aWFsaXplKHBiZWtnUGFyYW1zKTsKKysgICAg ICAgIGtnLnRlbXBvcmFyeUtleXModHJ1ZSk7CisrICAgICAgICBTeW1tZXRyaWNLZXkga2V5ID0g a2cuZ2VuZXJhdGUoKTsKKysKKysgICAgICAgIC8vIGdlbmVyYXRlIElWCisrICAgICAgICBFbmNy eXB0aW9uQWxnb3JpdGhtIGVuY0FsZyA9IHBiZUFsZy5nZXRFbmNyeXB0aW9uQWxnKCk7CisrICAg ICAgICBBbGdvcml0aG1QYXJhbWV0ZXJTcGVjIHBhcmFtcz1udWxsOworKyAgICAgICAgaWYoIGVu Y0FsZy5nZXRQYXJhbWV0ZXJDbGFzcygpLmVxdWFscyggSVZQYXJhbWV0ZXJTcGVjLmNsYXNzICkg KSB7CisrICAgICAgICAgICAgcGFyYW1zID0gbmV3IElWUGFyYW1ldGVyU3BlYygga2cuZ2VuZXJh dGVQQkVfSVYoKSApOworKyAgICAgICAgfQorKworKyAgICAgICAgS2V5V3JhcHBlciB3cmFwcGVy ID0gdG9rZW4uZ2V0S2V5V3JhcHBlcigKKysgICAgICAgICAgICAgICAgS2V5V3JhcEFsZ29yaXRo bS5ERVMzX0NCQyk7CisrICAgICAgICB3cmFwcGVyLmluaXRXcmFwKGtleSwgcGFyYW1zKTsKKysg ICAgICAgIGJ5dGUgZW5jcnlwdGVkW10gPSB3cmFwcGVyLndyYXAocHJpKTsKKysKKysgICAgICAg IC8vIG1ha2UgZW5jcnlwdGlvbiBhbGdvcml0aG0gaWRlbnRpZmllcgorKyAgICAgICAgUEJFUGFy YW1ldGVyIHBiZVBhcmFtID0gbmV3IFBCRVBhcmFtZXRlciggc2FsdCwgaXRlcmF0aW9uQ291bnQg KTsKKysgICAgICAgIEFsZ29yaXRobUlkZW50aWZpZXIgZW5jQWxnSUQgPSBuZXcgQWxnb3JpdGht SWRlbnRpZmllcigKKysgICAgICAgICAgICAgICAga2V5R2VuQWxnLnRvT0lEKCksIHBiZVBhcmFt KTsKKysKKysgICAgICAgIC8vIGNyZWF0ZSBFbmNyeXB0ZWRQcml2YXRlS2V5SW5mbworKyAgICAg ICAgRW5jcnlwdGVkUHJpdmF0ZUtleUluZm8gZXBraSA9IG5ldyBFbmNyeXB0ZWRQcml2YXRlS2V5 SW5mbyAoCisrICAgICAgICAgICAgICAgIGVuY0FsZ0lELAorKyAgICAgICAgICAgICAgICBuZXcg T0NURVRfU1RSSU5HKGVuY3J5cHRlZCkgKTsKKysKKysgICAgICAgIHJldHVybiBlcGtpOworKwor KyAgICAgIH0gY2F0Y2ggKEV4Y2VwdGlvbiBlKSB7CisrICAgICAgICBBc3NlcnQubm90UmVhY2hl ZCgiRW5jcnlwdGVkUHJpdmF0ZUtleUluZm8gZXhjZXB0aW9uOiIKKysgICAgICAgICAgICArIi5j cmVhdGVQQkUiKTsKKysgICAgICB9CisrCisrICAgICAgcmV0dXJuIG51bGw7CisrICAgIH0KKysK KysKKyAgICAgLyoqCisgICAgICAqIERlY3J5cHRzIGFuIEVuY3J5cHRlZFByaXZhdGVLZXlJbmZv IHRoYXQgd2FzIGVuY3J5cHRlZCB3aXRoIGEgUEJFCisgICAgICAqICBhbGdvcml0aG0uICBUaGUg YWxnb3JpdGhtIGFuZCBpdHMgcGFyYW1ldGVycyBhcmUgZXh0cmFjdGVkIGZyb20KCmRpZmYgLS1n aXQgYS9qc3Mtd3JhcEluVG9rZW4ucGF0Y2ggYi9qc3Mtd3JhcEluVG9rZW4ucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjk3ODk1ZgotLS0gL2Rldi9udWxsCisrKyBi L2pzcy13cmFwSW5Ub2tlbi5wYXRjaApAQCAtMCwwICsxLDE1OCBAQAorZGlmZiAtdXAganNzLTQu Mi42L21vemlsbGEvc2VjdXJpdHkvanNzL29yZy9tb3ppbGxhL2pzcy9wa2NzMTEvUEsxMUtleVdy YXBwZXIuYy5jZnUganNzLTQuMi42L21vemlsbGEvc2VjdXJpdHkvanNzL29yZy9tb3ppbGxhL2pz cy9wa2NzMTEvUEsxMUtleVdyYXBwZXIuYworLS0tIGpzcy00LjIuNi9tb3ppbGxhL3NlY3VyaXR5 L2pzcy9vcmcvbW96aWxsYS9qc3MvcGtjczExL1BLMTFLZXlXcmFwcGVyLmMuY2Z1CTIwMTEtMTAt MTggMDk6MTY6MDguMzYyMDAwMDAwIC0wNzAwCisrKysganNzLTQuMi42L21vemlsbGEvc2VjdXJp dHkvanNzL29yZy9tb3ppbGxhL2pzcy9wa2NzMTEvUEsxMUtleVdyYXBwZXIuYwkyMDExLTEwLTE5 IDE3OjU1OjAxLjE2MjAwMDAwMCAtMDcwMAorQEAgLTI4Myw4ICsyODMsOSBAQCBKYXZhX29yZ19t b3ppbGxhX2pzc19wa2NzMTFfUEsxMUtleVdyYXBwCisgICAgIHN0YXR1cyA9IFBLMTFfV3JhcFBy aXZLZXkoc2xvdCwgd3JhcHBpbmcsIHRvQmVXcmFwcGVkLCBtZWNoLCBwYXJhbSwKKyAgICAgICAg ICAgICAgICAgJndyYXBwZWQsIE5VTEwgLyogd2luY3ggKi8gKTsKKyAgICAgaWYoc3RhdHVzICE9 IFNFQ1N1Y2Nlc3MpIHsKKy0gICAgICAgIEpTU190aHJvd01zZyhlbnYsIFRPS0VOX0VYQ0VQVElP TiwKKy0gICAgICAgICAgICAgICAgIldyYXBwaW5nIG9wZXJhdGlvbiBmYWlsZWQgb24gdG9rZW4i KTsKKysgICAgICAgIGNoYXIgZXJyWzI1Nl0gPSB7MH07CisrICAgICAgICBQUl9zbnByaW50Zihl cnIsIDI1NiwgIldyYXBwaW5nIG9wZXJhdGlvbiBmYWlsZWQgb24gdG9rZW46JWQiLCBQUl9HZXRF cnJvcigpKTsKKysgICAgICAgIEpTU190aHJvd01zZyhlbnYsIFRPS0VOX0VYQ0VQVElPTiwgZXJy KTsKKyAgICAgICAgIGdvdG8gZmluaXNoOworICAgICB9CisgICAgIFBSX0FTU0VSVCh3cmFwcGVk Lmxlbj4wICYmIHdyYXBwZWQuZGF0YSE9TlVMTCk7CitAQCAtMzI4LDExICszMjksMTUgQEAgSmF2 YV9vcmdfbW96aWxsYV9qc3NfcGtjczExX1BLMTFLZXlXcmFwcAorICAgICBpbnQgbnVtQXR0cmli cyA9IDA7CisgICAgIENLX1RPS0VOX0lORk8gdG9rZW5JbmZvOworIAorKyAgICAvKiBpZGVhbCBk ZWZhdWx0cyAqLworICAgICBQUkJvb2wgaXNTZW5zaXRpdmUgPSBQUl9UUlVFOworICAgICBQUkJv b2wgaXNFeHRyYWN0YWJsZSA9IFBSX0ZBTFNFOworLSAgICAvKiBzcGVjaWFsIGNhc2UgbmV0aHNt Ki8KKysKKysgICAgLyogc3BlY2lhbCBjYXNlIG5ldGhzbSBhbmQgbHVuYXNhKi8KKyAgICAgQ0tf VVRGOENIQVIgbmV0aHNtTGFiZWxbNF0gPSB7J04nLCdIJywnUycsJ00nfTsKKysgICAgQ0tfVVRG OENIQVIgbHVuYXNhTGFiZWxbNF0gPSB7J2wnLCd1JywnbicsJ2EnfTsKKyAgICAgUFJCb29sIGlz TmV0aHNtID0gUFJfVFJVRTsKKysgICAgUFJCb29sIGlzTHVuYXNhID0gUFJfVFJVRTsKKyAKKyAg ICAgaWYoIEpTU19QSzExX2dldFRva2VuU2xvdFB0cihlbnYsIHRva2VuT2JqLCAmc2xvdCkgIT0g UFJfU1VDQ0VTUykgeworICAgICAgICAgLyogZXhjZXB0aW9uIHdhcyB0aHJvd24gKi8KK0BAIC0z NDcsOSArMzUyLDE3IEBAIEphdmFfb3JnX21vemlsbGFfanNzX3BrY3MxMV9QSzExS2V5V3JhcHAK KyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICB9CisgICAgICAgICB9CisrICAg ICAgICBpeCA9IDA7CisrICAgICAgICBmb3IoaXg9MDsgaXggPCA0OyBpeCsrKSB7CisrICAgICAg ICAgICAgaWYgKHRva2VuSW5mby5sYWJlbFtpeF0gIT0gbHVuYXNhTGFiZWxbaXhdKSB7CisrICAg ICAgICAgICAgICAgaXNMdW5hc2EgPSBQUl9GQUxTRTsKKysgICAgICAgICAgICAgICBicmVhazsK KysgICAgICAgICAgICB9CisrICAgICAgICB9CisgCisgICAgIH0gZWxzZSB7CisgICAgICAgICBp c05ldGhzbSA9IFBSX0ZBTFNFOworKyAgICAgICAgaXNMdW5hc2EgPSBQUl9GQUxTRTsKKyAgICAg fQorIAorICAgICAvKiBnZXQgdW53cmFwcGluZyBrZXkgKi8KK0BAIC00MTIsMjMgKzQyNSwyNSBA QCBKYXZhX29yZ19tb3ppbGxhX2pzc19wa2NzMTFfUEsxMUtleVdyYXBwCisgICAgIH0KKyAgICAg a2V5VHlwZSA9IFBLMTFfR2V0S2V5VHlwZShrZXlUeXBlTWVjaCwgMCk7CisgCisrICAgIC8qIHNw ZWNpYWwgY2FzZSBuZXRoc20gYW5kIGx1bmFzYSovCisgICAgIGlmKCBpc05ldGhzbSApIHsKKyAg ICAgICAgIGlzU2Vuc2l0aXZlID0gUFJfRkFMU0U7CisgICAgICAgICBpc0V4dHJhY3RhYmxlID0g UFJfRkFMU0U7CisrICAgIH0gZWxzZSBpZiAoIGlzTHVuYXNhKSB7CisrICAgICAgICBpc1NlbnNp dGl2ZSA9IFBSX0ZBTFNFOworKyAgICAgICAgaXNFeHRyYWN0YWJsZSA9IFBSX1RSVUU7CisgICAg IH0KKyAKKy1zZXRBdHRyczoKKyAgICAgLyogZmlndXJlIG91dCB3aGljaCBvcGVyYXRpb25zIHRv IGVuYWJsZSBmb3IgdGhpcyBrZXkgKi8KKyAgICAgc3dpdGNoIChrZXlUeXBlKSB7CisgICAgIGNh c2UgQ0tLX1JTQToKKysgICAgICAgIG51bUF0dHJpYnMgPSAzOworICAgICAgICAgYXR0cmlic1sw XSA9IENLQV9TSUdOOworICAgICAgICAgYXR0cmlic1sxXSA9IENLQV9TSUdOX1JFQ09WRVI7Cisg ICAgICAgICBhdHRyaWJzWzJdID0gQ0tBX1VOV1JBUDsKKyAgICAgICAgIGlmIChpc0V4dHJhY3Rh YmxlKSB7CisgICAgICAgICAgICAgYXR0cmlic1szXSA9IENLQV9FWFRSQUNUQUJMRTsKKyAgICAg ICAgICAgICBudW1BdHRyaWJzID0gNDsKKy0gICAgICAgIH0gZWxzZSB7CistICAgICAgICAgICAg bnVtQXR0cmlicyA9IDM7CisgICAgICAgICB9CisgCWJyZWFrOworICAgICBjYXNlIENLS19EU0E6 CitAQCAtNDU5LDcgKzQ3NCw5IEBAIHNldEF0dHJzOgorICAgICAgICAgICAgICAgICAmbGFiZWws IHB1YlZhbHVlLCB0b2tlbiwgaXNTZW5zaXRpdmUgLypzZW5zaXRpdmUqLywga2V5VHlwZSwKKyAg ICAgICAgICAgICAgICAgYXR0cmlicywgbnVtQXR0cmlicywgTlVMTCAvKndpbmN4Ki8pOworICAg ICBpZiggcHJpdmsgPT0gTlVMTCApIHsKKy0gICAgICAgIEpTU190aHJvd01zZyhlbnYsIFRPS0VO X0VYQ0VQVElPTiwgIktleSBVbndyYXAgZmFpbGVkIG9uIHRva2VuIik7CisrICAgICAgICBjaGFy IGVyclsyNTZdID0gezB9OworKyAgICAgICAgUFJfc25wcmludGYoZXJyLCAyNTYsICJLZXkgVW53 cmFwIGZhaWxlZCBvbiB0b2tlbjolZCIsIFBSX0dldEVycm9yKCkpOworKyAgICAgICAgSlNTX3Ro cm93TXNnKGVudiwgVE9LRU5fRVhDRVBUSU9OLCBlcnIpOworICAgICAgICAgZ290byBmaW5pc2g7 CisgICAgIH0KKyAgICAgICAgICAgICAgICAgCitkaWZmIC11cCBqc3MtNC4yLjYvbW96aWxsYS9z ZWN1cml0eS9qc3Mvb3JnL21vemlsbGEvanNzL3BrY3MxMS9QSzExS2V5V3JhcHBlci5qYXZhLmNm dSBqc3MtNC4yLjYvbW96aWxsYS9zZWN1cml0eS9qc3Mvb3JnL21vemlsbGEvanNzL3BrY3MxMS9Q SzExS2V5V3JhcHBlci5qYXZhCistLS0ganNzLTQuMi42L21vemlsbGEvc2VjdXJpdHkvanNzL29y Zy9tb3ppbGxhL2pzcy9wa2NzMTEvUEsxMUtleVdyYXBwZXIuamF2YS5jZnUJMjAxMS0xMC0xOCAx NToyOTo1MC41OTcwMDAwMDAgLTA3MDAKKysrKyBqc3MtNC4yLjYvbW96aWxsYS9zZWN1cml0eS9q c3Mvb3JnL21vemlsbGEvanNzL3BrY3MxMS9QSzExS2V5V3JhcHBlci5qYXZhCTIwMTEtMTAtMTgg MTU6NDk6NDAuMDczMDAwMDAwIC0wNzAwCitAQCAtMzIyLDEwICszMjIsMTMgQEAgZmluYWwgY2xh c3MgUEsxMUtleVdyYXBwZXIgaW1wbGVtZW50cyBLZQorICAgICAgICAgICAgIHRocm93IG5ldyBJ bnZhbGlkS2V5RXhjZXB0aW9uKCJrZXkgdG8gYmUgd3JhcHBlZCBpcyBub3QgYSAiKworICAgICAg ICAgICAgICAgICAiUEtDUyAjMTEga2V5Iik7CisgICAgICAgICB9CisrLyogTlNTIGlzIGNhcGFi bGUgb2YgbW92aW5nIGtleXMgYXBwcm9wcmlhdGVseSwKKysgICBzbyB0aGlzIGNhbGwgaXMgcHJl bWF0dXJlbHkgYmFpbGluZworICAgICAgICAgaWYoICEgc3ltS2V5LmdldE93bmluZ1Rva2VuKCku ZXF1YWxzKHRva2VuKSApIHsKKyAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEtleUV4Y2Vw dGlvbigia2V5IHRvIGJlIHdyYXBwZWQgZG9lcyBub3QgbGl2ZSIrCisgICAgICAgICAgICAgICAg ICIgb24gdGhlIHNhbWUgdG9rZW4gYXMgdGhlIHdyYXBwaW5nIGtleSIpOworICAgICAgICAgfQor KyovCisgICAgIH0KKyAKKyAgICAgLyoqCitAQCAtMzQwLDEwICszNDMsMTMgQEAgZmluYWwgY2xh c3MgUEsxMUtleVdyYXBwZXIgaW1wbGVtZW50cyBLZQorICAgICAgICAgICAgIHRocm93IG5ldyBJ bnZhbGlkS2V5RXhjZXB0aW9uKCJrZXkgdG8gYmUgd3JhcHBlZCBpcyBub3QgYSAiKworICAgICAg ICAgICAgICAgICAiUEtDUyAjMTEga2V5Iik7CisgICAgICAgICB9CisrLyogTlNTIGlzIGNhcGFi bGUgb2YgbW92aW5nIGtleXMgYXBwcm9wcmlhdGVseSwKKysgICBzbyB0aGlzIGNhbGwgaXMgcHJl bWF0dXJlbHkgYmFpbGluZworICAgICAgICAgaWYoICEgcHJpdktleS5nZXRPd25pbmdUb2tlbigp LmVxdWFscyh0b2tlbikgKSB7CisgICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRLZXlFeGNl cHRpb24oImtleSB0byBiZSB3cmFwcGVkIGRvZXMgbm90IGxpdmUiKworICAgICAgICAgICAgICAg ICAiIG9uIHRoZSBzYW1lIHRva2VuIGFzIHRoZSB3cmFwcGluZyBrZXkiKTsKKyAgICAgICAgIH0K KysqLworICAgICB9CisgCisgICAgIC8qKgorZGlmZiAtdXAganNzLTQuMi42L21vemlsbGEvc2Vj dXJpdHkvanNzL29yZy9tb3ppbGxhL2pzcy9wa2NzMTEvUEsxMVRva2VuLmphdmEuY2Z1IGpzcy00 LjIuNi9tb3ppbGxhL3NlY3VyaXR5L2pzcy9vcmcvbW96aWxsYS9qc3MvcGtjczExL1BLMTFUb2tl bi5qYXZhCistLS0ganNzLTQuMi42L21vemlsbGEvc2VjdXJpdHkvanNzL29yZy9tb3ppbGxhL2pz cy9wa2NzMTEvUEsxMVRva2VuLmphdmEuY2Z1CTIwMTEtMTAtMTggMTQ6MzQ6MzIuMTQ4MDAwMDAw IC0wNzAwCisrKysganNzLTQuMi42L21vemlsbGEvc2VjdXJpdHkvanNzL29yZy9tb3ppbGxhL2pz cy9wa2NzMTEvUEsxMVRva2VuLmphdmEJMjAxMS0xMC0xOCAxNDozNToyMC40MDIwMDAwMDAgLTA3 MDAKK0BAIC0xMzUsMTAgKzEzNSwxMyBAQCBwdWJsaWMgZmluYWwgY2xhc3MgUEsxMVRva2VuIGlt cGxlbWVudHMgCisgICAgIGdldEtleVdyYXBwZXIoS2V5V3JhcEFsZ29yaXRobSBhbGdvcml0aG0p CisgICAgICAgICB0aHJvd3MgTm9TdWNoQWxnb3JpdGhtRXhjZXB0aW9uLCBUb2tlbkV4Y2VwdGlv bgorICAgICB7CisrLyogTlNTIGlzIGNhcGFibGUgb2YgZmluZGluZyB0aGUgcmlnaHQgdG9rZW4g dG8gZG8gYWxnb3JpdGhtLAorKyAgIHNvIHRoaXMgY2FsbCBpcyBwcmVtYXR1cmVseSBiYWlsaW5n CisgICAgICAgICBpZiggISBkb2VzQWxnb3JpdGhtKGFsZ29yaXRobSkgKSB7CisgICAgICAgICAg ICAgdGhyb3cgbmV3IE5vU3VjaEFsZ29yaXRobUV4Y2VwdGlvbigKKyAgICAgICAgICAgICAgICAg YWxnb3JpdGhtKyIgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIHRva2VuIik7CisgICAgICAgICB9 CisrKi8KKyAgICAgICAgIHJldHVybiBuZXcgUEsxMUtleVdyYXBwZXIodGhpcywgYWxnb3JpdGht KTsKKyAgICAgfQorIAorZGlmZiAtdXAganNzLTQuMi42L21vemlsbGEvc2VjdXJpdHkvanNzL29y Zy9tb3ppbGxhL2pzcy9wa2l4L3ByaW1pdGl2ZS9FbmNyeXB0ZWRQcml2YXRlS2V5SW5mby5qYXZh LmNmdSBqc3MtNC4yLjYvbW96aWxsYS9zZWN1cml0eS9qc3Mvb3JnL21vemlsbGEvanNzL3BraXgv cHJpbWl0aXZlL0VuY3J5cHRlZFByaXZhdGVLZXlJbmZvLmphdmEKKy0tLSBqc3MtNC4yLjYvbW96 aWxsYS9zZWN1cml0eS9qc3Mvb3JnL21vemlsbGEvanNzL3BraXgvcHJpbWl0aXZlL0VuY3J5cHRl ZFByaXZhdGVLZXlJbmZvLmphdmEuY2Z1CTIwMTEtMTAtMTggMDk6MjQ6MTMuNzk2MDAxMDAwIC0w NzAwCisrKysganNzLTQuMi42L21vemlsbGEvc2VjdXJpdHkvanNzL29yZy9tb3ppbGxhL2pzcy9w a2l4L3ByaW1pdGl2ZS9FbmNyeXB0ZWRQcml2YXRlS2V5SW5mby5qYXZhCTIwMTEtMTAtMTggMTU6 NDE6MjQuNjg3MDAwMDAwIC0wNzAwCitAQCAtMjQzLDcgKzI0Myw3IEBAIHB1YmxpYyBjbGFzcyBF bmNyeXB0ZWRQcml2YXRlS2V5SW5mbyBpbXAKKyAgICAgICAgIH0KKyAKKyAgICAgICAgIEtleVdy YXBwZXIgd3JhcHBlciA9IHRva2VuLmdldEtleVdyYXBwZXIoCistICAgICAgICAgICAgICAgIEtl eVdyYXBBbGdvcml0aG0uREVTM19DQkMpOworKyAgICAgICAgICAgICAgICBLZXlXcmFwQWxnb3Jp dGhtLkRFUzNfQ0JDX1BBRCk7CisgICAgICAgICB3cmFwcGVyLmluaXRXcmFwKGtleSwgcGFyYW1z KTsKKyAgICAgICAgIGJ5dGUgZW5jcnlwdGVkW10gPSB3cmFwcGVyLndyYXAocHJpKTsKKyAKK0BA IC0yNjAsNiArMjYwLDcgQEAgcHVibGljIGNsYXNzIEVuY3J5cHRlZFByaXZhdGVLZXlJbmZvIGlt cAorICAgICAgICAgcmV0dXJuIGVwa2k7CisgCisgICAgICAgfSBjYXRjaCAoRXhjZXB0aW9uIGUp IHsKKysgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiY3JlYXRlUEJFOiBleGNlcHRpb246Iitl LnRvU3RyaW5nKCkpOworICAgICAgICAgQXNzZXJ0Lm5vdFJlYWNoZWQoIkVuY3J5cHRlZFByaXZh dGVLZXlJbmZvIGV4Y2VwdGlvbjoiCisgICAgICAgICAgICAgKyIuY3JlYXRlUEJFIik7CisgICAg ICAgfQoKZGlmZiAtLWdpdCBhL2pzcy5zcGVjIGIvanNzLnNwZWMKaW5kZXggNWM0OTgxNC4uYTRj NDNhZiAxMDA2NDQKLS0tIGEvanNzLnNwZWMKKysrIGIvanNzLnNwZWMKQEAgLTEsNiArMSw2IEBA CiBOYW1lOiAgICAgICAgICAganNzCiBWZXJzaW9uOiAgICAgICAgNC4yLjYKLVJlbGVhc2U6ICAg ICAgICAyMCV7P2Rpc3R9CitSZWxlYXNlOiAgICAgICAgMjElez9kaXN0fQogU3VtbWFyeTogICAg ICAgIEphdmEgU2VjdXJpdHkgU2VydmljZXMgKEpTUykKIAogR3JvdXA6ICAgICAgICAgIFN5c3Rl bSBFbnZpcm9ubWVudC9MaWJyYXJpZXMKQEAgLTM4LDYgKzM4LDggQEAgUGF0Y2gxMzogICAgICAg IGpzcy1lbGltaW5hdGUtbmF0aXZlLWNvbXBpbGVyLXdhcm5pbmdzLnBhdGNoCiBQYXRjaDE0OiAg ICAgICAganNzLWVsaW1pbmF0ZS1qYXZhLWNvbXBpbGVyLXdhcm5pbmdzLnBhdGNoCiBQYXRjaDE1 OiAgICAgICAganNzLVBLQ1MxMi1GSVBTLnBhdGNoCiBQYXRjaDE2OiAgICAgICAganNzLWVsaW1p bmF0ZS1uYXRpdmUtY292ZXJpdHktZGVmZWN0cy5wYXRjaAorUGF0Y2gxNzogICAgICAgIGpzcy1Q QkUtUEtDUzUtVjItc2VjdXJlLVAxMi5wYXRjaAorUGF0Y2gxODogICAgICAgIGpzcy13cmFwSW5U b2tlbi5wYXRjaAogCiAKICVkZXNjcmlwdGlvbgpAQCAtNzEsNiArNzMsOCBAQCBUaGlzIHBhY2th Z2UgY29udGFpbnMgdGhlIEFQSSBkb2N1bWVudGF0aW9uIGZvciBKU1MuCiAlcGF0Y2gxNCAtcDEK ICVwYXRjaDE1IC1wMQogJXBhdGNoMTYgLXAxCislcGF0Y2gxNyAtcDEKKyVwYXRjaDE4IC1wMQog CiAlYnVpbGQKIFsgLXogIiRKQVZBX0hPTUUiIF0gJiYgZXhwb3J0IEpBVkFfSE9NRT0le19qdm1k aXJ9L2phdmEKQEAgLTE2NCw2ICsxNjgsMTMgQEAgcm0gLXJmICRSUE1fQlVJTERfUk9PVAogCiAK ICVjaGFuZ2Vsb2cKKyogV2VkIE9jdCAxOSAyMDExIENocmlzdGluYSBGdSA8Y2Z1QHJlZGhhdC5j b20+IC0gNC4yLjYtMjEKKy0gQnVnemlsbGEgQnVnICM3MzcxMjIgLSBEUk06IGR1cmluZyBhcmNo aXZpbmcgYW5kIHJlY292ZXJpbmcsIHdyYXBwaW5nCisgIHVud3JhcHBpbmcga2V5cyBzaG91bGQg YmUgZG9uZSBpbiB0aGUgdG9rZW4KKy0gc3VwcG9ydCBmb3IgUEtDUzV2Mjsgc3VwcG9ydCBmb3Ig c2VjdXJlIFBLQ1MxMgorLSBCdWd6aWxsYSBCdWcgIzc0NDc5NyAtIEtSQSBrZXkgcmVjb3Zlcnkg KHJldHJpZXZlIHBrY3MjMTIpIGZhaWxzIGFmdGVyIHRoZQorICBpbi1wbGFjZSB1cGdyYWRlKCBD UyA4LjAtPjguMSkKKwogKiBNb24gU2VwIDE5IDIwMTEgTWF0dGhldyBIYXJtc2VuIDxtaGFybXNl bkByZWRoYXQuY29tPiAtIDQuMi42LTIwCiAtIEJ1Z3ppbGxhIEJ1ZyAjNzE1NjIxIC0gRGVmZWN0 cyByZXZlYWxlZCBieSBDb3Zlcml0eSBzY2FuCiAK