[frameworks/kio] src/filewidgets: knewfilemenu: convert m_popupFiles into a single QUrl
Antti Savolainen <[email protected]> Tue, 4 Aug 2026 20:59:29 +0000 (UTC)
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
R2l0IGNvbW1pdCA4NmEwZDJmMTUwMDBhNGU1YjE2Zjc4MWI4YTg1ODIxODY5NzJmMDc5IGJ5IEFu dHRpIFNhdm9sYWluZW4uCkNvbW1pdHRlZCBvbiAwNC8wOC8yMDI2IGF0IDIwOjQ5LgpQdXNoZWQg YnkgYXNhdm9sYWluZW4gaW50byBicmFuY2ggJ21hc3RlcicuCgprbmV3ZmlsZW1lbnU6IGNvbnZl cnQgbV9wb3B1cEZpbGVzIGludG8gYSBzaW5nbGUgUVVybAoKTSAgKzc3ICAgLTgyICAgc3JjL2Zp bGV3aWRnZXRzL2tuZXdmaWxlbWVudS5jcHAKCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvZnJhbWV3 b3Jrcy9raW8vLS9jb21taXQvODZhMGQyZjE1MDAwYTRlNWIxNmY3ODFiOGE4NTgyMTg2OTcyZjA3 OQoKZGlmZiAtLWdpdCBhL3NyYy9maWxld2lkZ2V0cy9rbmV3ZmlsZW1lbnUuY3BwIGIvc3JjL2Zp bGV3aWRnZXRzL2tuZXdmaWxlbWVudS5jcHAKaW5kZXggYjBiMjJkOGRlYi4uZDYzYTk2MWE2ZiAx MDA2NDQKLS0tIGEvc3JjL2ZpbGV3aWRnZXRzL2tuZXdmaWxlbWVudS5jcHAKKysrIGIvc3JjL2Zp bGV3aWRnZXRzL2tuZXdmaWxlbWVudS5jcHAKQEAgLTQ1Myw5ICs0NTMsOCBAQCBwdWJsaWM6CiAg ICAgICogaXMgZGlzcGxheWVkLiBUaGUgVVJMIGJlbG9uZ2luZyB0byB0aGlzIHBvcHVwIG1lbnUg aXMgc3RvcmVkIGhlcmUuCiAgICAgICogRm9yIGFsbCBpbnRlbnRzIGFuZCBwdXJwb3NlcyB0aGlz IGlzIHRoZSBjdXJyZW50IGRpcmVjdG9yeSB3aGVyZSB0aGUgbWVudSBpcwogICAgICAqIG9wZW5l ZC4KLSAgICAgKiBUT0RPIEtGNiBtYWtlIGl0IGEgc2luZ2xlIFFVcmwuCiAgICAgICovCi0gICAg UUxpc3Q8UVVybD4gbV9wb3B1cEZpbGVzOworICAgIFFVcmwgbV9tZW51V29ya2luZ0RpcmVjdG9y eTsKIAogICAgIFFTdHJpbmdMaXN0IG1fc3VwcG9ydGVkTWltZVR5cGVzOwogICAgIFFTdHJpbmcg bV90ZW1wRmlsZVRvRGVsZXRlOyAvLyBzZXQgd2hlbiBhIHRlbXBmaWxlIHdhcyBjcmVhdGVkIGZv ciBhIFR5cGU9VVJMIGRlc2t0b3AgZmlsZQpAQCAtNTc4LDUyICs1NzcsNTAgQEAgdm9pZCBLTmV3 RmlsZU1lbnVQcml2YXRlOjpleGVjdXRlT3RoZXJEZXNrdG9wRmlsZShjb25zdCBLTmV3RmlsZU1l bnVTaW5nbGV0b246OkUKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGZvciAoY29uc3Qg YXV0byAmdXJsIDogc3RkOjphc19jb25zdChtX3BvcHVwRmlsZXMpKSB7Ci0gICAgICAgIFFTdHJp bmcgdGV4dCA9IGVudHJ5LnRleHQ7Ci0gICAgICAgIHRleHQucmVtb3ZlKFFTdHJpbmdMaXRlcmFs KCIuLi4iKSk7IC8vIHRoZSAuLi4gaXMgZmluZSBmb3IgdGhlIG1lbnUgaXRlbSBidXQgbm90IGZv ciB0aGUgZGVmYXVsdCBmaWxlbmFtZQotICAgICAgICB0ZXh0LnJlbW92ZShRU3RyaW5nTGl0ZXJh bCgi4oCmIikpOyAvLyBhY3R1YWwgZWxsaXBzaXMuCi0gICAgICAgIHRleHQgPSB0ZXh0LnRyaW1t ZWQoKTsgLy8gSW4gc29tZSBsYW5ndWFnZXMsIHRoZXJlIGlzIGEgc3BhY2UgaW4gZnJvbnQgb2Yg Ii4uLiIsIHNlZSBidWcgMjY4ODk1Ci0gICAgICAgIC8vIEtERTUgVE9ETzogcmVtb3ZlIHRoZSAi Li4uIiBmcm9tIGxpbmsqLmRlc2t0b3AgZmlsZXMgYW5kIHVzZSBpMThuKCIlMS4uLiIpIHdoZW4g bWFraW5nCi0gICAgICAgIC8vIHRoZSBhY3Rpb24uCi0gICAgICAgIFFTdHJpbmcgbmFtZSA9IHRl eHQ7Ci0gICAgICAgIHRleHQuYXBwZW5kKFFTdHJpbmdMaXRlcmFsKCIuZGVza3RvcCIpKTsKLQot ICAgICAgICBjb25zdCBRVXJsIGRpcmVjdG9yeSA9IG1vc3RMb2NhbFVybCh1cmwpOwotICAgICAg ICBjb25zdCBRVXJsIGRlZmF1bHRGaWxlID0gUVVybDo6ZnJvbUxvY2FsRmlsZShkaXJlY3Rvcnku dG9Mb2NhbEZpbGUoKSArIFFMYXRpbjFDaGFyKCcvJykgKyBLSU86OmVuY29kZUZpbGVOYW1lKHRl eHQpKTsKLSAgICAgICAgaWYgKGRlZmF1bHRGaWxlLmlzTG9jYWxGaWxlKCkgJiYgUUZpbGU6OmV4 aXN0cyhkZWZhdWx0RmlsZS50b0xvY2FsRmlsZSgpKSkgewotICAgICAgICAgICAgdGV4dCA9IEtG aWxlVXRpbHM6OnN1Z2dlc3ROYW1lKGRpcmVjdG9yeSwgdGV4dCk7Ci0gICAgICAgIH0KKyAgICBR U3RyaW5nIHRleHQgPSBlbnRyeS50ZXh0OworICAgIHRleHQucmVtb3ZlKFFTdHJpbmdMaXRlcmFs KCIuLi4iKSk7IC8vIHRoZSAuLi4gaXMgZmluZSBmb3IgdGhlIG1lbnUgaXRlbSBidXQgbm90IGZv ciB0aGUgZGVmYXVsdCBmaWxlbmFtZQorICAgIHRleHQucmVtb3ZlKFFTdHJpbmdMaXRlcmFsKCLi gKYiKSk7IC8vIGFjdHVhbCBlbGxpcHNpcy4KKyAgICB0ZXh0ID0gdGV4dC50cmltbWVkKCk7IC8v IEluIHNvbWUgbGFuZ3VhZ2VzLCB0aGVyZSBpcyBhIHNwYWNlIGluIGZyb250IG9mICIuLi4iLCBz ZWUgYnVnIDI2ODg5NQorICAgIC8vIEtERTUgVE9ETzogcmVtb3ZlIHRoZSAiLi4uIiBmcm9tIGxp bmsqLmRlc2t0b3AgZmlsZXMgYW5kIHVzZSBpMThuKCIlMS4uLiIpIHdoZW4gbWFraW5nCisgICAg Ly8gdGhlIGFjdGlvbi4KKyAgICBRU3RyaW5nIG5hbWUgPSB0ZXh0OworICAgIHRleHQuYXBwZW5k KFFTdHJpbmdMaXRlcmFsKCIuZGVza3RvcCIpKTsKIAotICAgICAgICBRVXJsIHRlbXBsYXRlVXJs OwotICAgICAgICBib29sIHVzaW5nVGVtcGxhdGUgPSBmYWxzZTsKLSAgICAgICAgaWYgKGVudHJ5 LnRlbXBsYXRlUGF0aC5zdGFydHNXaXRoKFFMYXRpbjFTdHJpbmcoIjovIikpKSB7Ci0gICAgICAg ICAgICBzdGQ6OnVuaXF1ZV9wdHI8UVRlbXBvcmFyeUZpbGU+IHRtcEZpbGUoUVRlbXBvcmFyeUZp bGU6OmNyZWF0ZU5hdGl2ZUZpbGUoZW50cnkudGVtcGxhdGVQYXRoKSk7Ci0gICAgICAgICAgICB0 bXBGaWxlLT5zZXRBdXRvUmVtb3ZlKGZhbHNlKTsKLSAgICAgICAgICAgIFFTdHJpbmcgdGVtcEZp bGVOYW1lID0gdG1wRmlsZS0+ZmlsZU5hbWUoKTsKLSAgICAgICAgICAgIHRtcEZpbGUtPmNsb3Nl KCk7Ci0KLSAgICAgICAgICAgIEtEZXNrdG9wRmlsZSBkZih0ZW1wRmlsZU5hbWUpOwotICAgICAg ICAgICAgS0NvbmZpZ0dyb3VwIGdyb3VwID0gZGYuZGVza3RvcEdyb3VwKCk7Ci0gICAgICAgICAg ICBncm91cC53cml0ZUVudHJ5KCJOYW1lIiwgbmFtZSk7Ci0gICAgICAgICAgICB0ZW1wbGF0ZVVy bCA9IFFVcmw6OmZyb21Mb2NhbEZpbGUodGVtcEZpbGVOYW1lKTsKLSAgICAgICAgICAgIG1fdGVt cEZpbGVUb0RlbGV0ZSA9IHRlbXBGaWxlTmFtZTsKLSAgICAgICAgICAgIHVzaW5nVGVtcGxhdGUg PSB0cnVlOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgdGVtcGxhdGVVcmwgPSBRVXJs Ojpmcm9tTG9jYWxGaWxlKGVudHJ5LnRlbXBsYXRlUGF0aCk7Ci0gICAgICAgIH0KLSAgICAgICAg S1Byb3BlcnRpZXNEaWFsb2cgKmRsZyA9IG5ldyBLUHJvcGVydGllc0RpYWxvZyh0ZW1wbGF0ZVVy bCwgZGlyZWN0b3J5LCB0ZXh0LCBtX3BhcmVudFdpZGdldCk7Ci0gICAgICAgIGRsZy0+c2V0TW9k YWwocS0+aXNNb2RhbCgpKTsKLSAgICAgICAgZGxnLT5zZXRBdHRyaWJ1dGUoUXQ6OldBX0RlbGV0 ZU9uQ2xvc2UpOwotICAgICAgICBRT2JqZWN0Ojpjb25uZWN0KGRsZywgJktQcm9wZXJ0aWVzRGlh bG9nOjphcHBsaWVkLCBxLCBbdGhpcywgZGxnXSgpIHsKLSAgICAgICAgICAgIF9rX3Nsb3RPdGhl ckRlc2t0b3BGaWxlKGRsZyk7CisgICAgY29uc3QgUVVybCBkaXJlY3RvcnkgPSBtb3N0TG9jYWxV cmwobV9tZW51V29ya2luZ0RpcmVjdG9yeSk7CisgICAgY29uc3QgUVVybCBkZWZhdWx0RmlsZSA9 IFFVcmw6OmZyb21Mb2NhbEZpbGUoZGlyZWN0b3J5LnRvTG9jYWxGaWxlKCkgKyBRTGF0aW4xQ2hh cignLycpICsgS0lPOjplbmNvZGVGaWxlTmFtZSh0ZXh0KSk7CisgICAgaWYgKGRlZmF1bHRGaWxl LmlzTG9jYWxGaWxlKCkgJiYgUUZpbGU6OmV4aXN0cyhkZWZhdWx0RmlsZS50b0xvY2FsRmlsZSgp KSkgeworICAgICAgICB0ZXh0ID0gS0ZpbGVVdGlsczo6c3VnZ2VzdE5hbWUoZGlyZWN0b3J5LCB0 ZXh0KTsKKyAgICB9CisKKyAgICBRVXJsIHRlbXBsYXRlVXJsOworICAgIGJvb2wgdXNpbmdUZW1w bGF0ZSA9IGZhbHNlOworICAgIGlmIChlbnRyeS50ZW1wbGF0ZVBhdGguc3RhcnRzV2l0aChRTGF0 aW4xU3RyaW5nKCI6LyIpKSkgeworICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UVRlbXBvcmFyeUZp bGU+IHRtcEZpbGUoUVRlbXBvcmFyeUZpbGU6OmNyZWF0ZU5hdGl2ZUZpbGUoZW50cnkudGVtcGxh dGVQYXRoKSk7CisgICAgICAgIHRtcEZpbGUtPnNldEF1dG9SZW1vdmUoZmFsc2UpOworICAgICAg ICBRU3RyaW5nIHRlbXBGaWxlTmFtZSA9IHRtcEZpbGUtPmZpbGVOYW1lKCk7CisgICAgICAgIHRt cEZpbGUtPmNsb3NlKCk7CisKKyAgICAgICAgS0Rlc2t0b3BGaWxlIGRmKHRlbXBGaWxlTmFtZSk7 CisgICAgICAgIEtDb25maWdHcm91cCBncm91cCA9IGRmLmRlc2t0b3BHcm91cCgpOworICAgICAg ICBncm91cC53cml0ZUVudHJ5KCJOYW1lIiwgbmFtZSk7CisgICAgICAgIHRlbXBsYXRlVXJsID0g UVVybDo6ZnJvbUxvY2FsRmlsZSh0ZW1wRmlsZU5hbWUpOworICAgICAgICBtX3RlbXBGaWxlVG9E ZWxldGUgPSB0ZW1wRmlsZU5hbWU7CisgICAgICAgIHVzaW5nVGVtcGxhdGUgPSB0cnVlOworICAg IH0gZWxzZSB7CisgICAgICAgIHRlbXBsYXRlVXJsID0gUVVybDo6ZnJvbUxvY2FsRmlsZShlbnRy eS50ZW1wbGF0ZVBhdGgpOworICAgIH0KKyAgICBLUHJvcGVydGllc0RpYWxvZyAqZGxnID0gbmV3 IEtQcm9wZXJ0aWVzRGlhbG9nKHRlbXBsYXRlVXJsLCBkaXJlY3RvcnksIHRleHQsIG1fcGFyZW50 V2lkZ2V0KTsKKyAgICBkbGctPnNldE1vZGFsKHEtPmlzTW9kYWwoKSk7CisgICAgZGxnLT5zZXRB dHRyaWJ1dGUoUXQ6OldBX0RlbGV0ZU9uQ2xvc2UpOworICAgIFFPYmplY3Q6OmNvbm5lY3QoZGxn LCAmS1Byb3BlcnRpZXNEaWFsb2c6OmFwcGxpZWQsIHEsIFt0aGlzLCBkbGddKCkgeworICAgICAg ICBfa19zbG90T3RoZXJEZXNrdG9wRmlsZShkbGcpOworICAgIH0pOworICAgIGlmICh1c2luZ1Rl bXBsYXRlKSB7CisgICAgICAgIFFPYmplY3Q6OmNvbm5lY3QoZGxnLCAmS1Byb3BlcnRpZXNEaWFs b2c6OnByb3BlcnRpZXNDbG9zZWQsIHEsIFt0aGlzXSgpIHsKKyAgICAgICAgICAgIHNsb3RPdGhl ckRlc2t0b3BGaWxlQ2xvc2VkKCk7CiAgICAgICAgIH0pOwotICAgICAgICBpZiAodXNpbmdUZW1w bGF0ZSkgewotICAgICAgICAgICAgUU9iamVjdDo6Y29ubmVjdChkbGcsICZLUHJvcGVydGllc0Rp YWxvZzo6cHJvcGVydGllc0Nsb3NlZCwgcSwgW3RoaXNdKCkgewotICAgICAgICAgICAgICAgIHNs b3RPdGhlckRlc2t0b3BGaWxlQ2xvc2VkKCk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQot ICAgICAgICBkbGctPnNob3coKTsKICAgICB9CisgICAgZGxnLT5zaG93KCk7CiAgICAgLy8gV2Ug ZG9uJ3Qgc2V0IG1fc3JjIGhlcmUgLT4gdGhlcmUgd2lsbCBiZSBubyBjb3B5LCB3ZSBhcmUgZG9u ZS4KIH0KIApAQCAtNjY3LDcgKzY2NCw3IEBAIHZvaWQgS05ld0ZpbGVNZW51UHJpdmF0ZTo6ZXhl Y3V0ZVJlYWxGaWxlT3JEaXIoY29uc3QgS05ld0ZpbGVNZW51U2luZ2xldG9uOjpFbnRyCiAKICAg ICBtX2NvcHlEYXRhLm1fc3JjID0gZW50cnkudGVtcGxhdGVQYXRoOwogCi0gICAgY29uc3QgUVVy bCBkaXJlY3RvcnkgPSBtb3N0TG9jYWxVcmwobV9wb3B1cEZpbGVzLmZpcnN0KCkpOworICAgIGNv bnN0IFFVcmwgZGlyZWN0b3J5ID0gbW9zdExvY2FsVXJsKG1fbWVudVdvcmtpbmdEaXJlY3Rvcnkp OwogICAgIG1fYmFzZVVybCA9IGRpcmVjdG9yeTsKICAgICBjb25zdCBRVXJsIGRlZmF1bHRGaWxl ID0gUVVybDo6ZnJvbUxvY2FsRmlsZShkaXJlY3RvcnkudG9Mb2NhbEZpbGUoKSArIFFMYXRpbjFD aGFyKCcvJykgKyBLSU86OmVuY29kZUZpbGVOYW1lKHRleHQpKTsKICAgICBpZiAoZGVmYXVsdEZp bGUuaXNMb2NhbEZpbGUoKSAmJiBRRmlsZTo6ZXhpc3RzKGRlZmF1bHRGaWxlLnRvTG9jYWxGaWxl KCkpKSB7CkBAIC03MDUsNyArNzAyLDcgQEAgdm9pZCBLTmV3RmlsZU1lbnVQcml2YXRlOjpleGVj dXRlUmVhbEZpbGVPckRpcihjb25zdCBLTmV3RmlsZU1lbnVTaW5nbGV0b246OkVudHIKIAogdm9p ZCBLTmV3RmlsZU1lbnVQcml2YXRlOjpleGVjdXRlU3ltTGluayhjb25zdCBLTmV3RmlsZU1lbnVT aW5nbGV0b246OkVudHJ5ICZlbnRyeSkKIHsKLSAgICBhdXRvIHRhcmdldFVybCA9IG1fcG9wdXBG aWxlcy5maXJzdCgpOworICAgIGF1dG8gdGFyZ2V0VXJsID0gbV9tZW51V29ya2luZ0RpcmVjdG9y eTsKICAgICBpZiAoIXRhcmdldFVybC5pc0xvY2FsRmlsZSgpKSB7CiAgICAgICAgIHRhcmdldFVy bCA9IG1vc3RMb2NhbFVybCh0YXJnZXRVcmwpOwogICAgIH0KQEAgLTc0MCw0MCArNzM3LDM4IEBA IHZvaWQgS05ld0ZpbGVNZW51UHJpdmF0ZTo6ZXhlY3V0ZVN0cmF0ZWd5KCkKICAgICB9CiAKICAg ICAvLyBUaGUgdGVtcGxhdGUgaXMgbm90IGEgZGVza3RvcCBmaWxlIFtvciBpdCdzIGEgVVJMIG9u ZV0gPj4+IENvcHkgaXQKLSAgICBmb3IgKGNvbnN0IGF1dG8gJnUgOiBzdGQ6OmFzX2NvbnN0KG1f cG9wdXBGaWxlcykpIHsKLSAgICAgICAgUVVybCBkZXN0ID0gdTsKLSAgICAgICAgZGVzdC5zZXRQ YXRoKFV0aWxzOjpjb25jYXRQYXRocyhkZXN0LnBhdGgoKSwgS0lPOjplbmNvZGVGaWxlTmFtZShj aG9zZW5GaWxlTmFtZSkpKTsKLQotICAgICAgICBLSU86OkpvYiAqa2pvYjsKLSAgICAgICAgaWYg KG1fY29weURhdGEubV9pc1N5bWxpbmspIHsKLSAgICAgICAgICAgIEtJTzo6Q29weUpvYiAqbGlu a0pvYiA9IEtJTzo6bGlua0FzKHVTcmMsIGRlc3QpOwotICAgICAgICAgICAga2pvYiA9IGxpbmtK b2I7Ci0gICAgICAgICAgICBLSU86OkZpbGVVbmRvTWFuYWdlcjo6c2VsZigpLT5yZWNvcmRDb3B5 Sm9iKGxpbmtKb2IpOwotICAgICAgICB9IGVsc2UgaWYgKHNyYy5zdGFydHNXaXRoKFFMYXRpbjFT dHJpbmcoIjovIikpKSB7Ci0gICAgICAgICAgICBRRmlsZSBzcmNGaWxlKHNyYyk7Ci0gICAgICAg ICAgICBpZiAoIXNyY0ZpbGUub3BlbihRSU9EZXZpY2U6OlJlYWRPbmx5KSkgewotICAgICAgICAg ICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC8vIFRoZSBRRmlsZSB3 b24ndCBsaXZlIGxvbmcgZW5vdWdoIGZvciB0aGUgam9iLCBzbyBsZXQncyBidWZmZXIgdGhlIGNv bnRlbnRzCi0gICAgICAgICAgICBjb25zdCBRQnl0ZUFycmF5IHNyY0J1ZihzcmNGaWxlLnJlYWRB bGwoKSk7Ci0gICAgICAgICAgICBLSU86OlN0b3JlZFRyYW5zZmVySm9iICpwdXRKb2IgPSBLSU86 OnN0b3JlZFB1dChzcmNCdWYsIGRlc3QsIC0xKTsKLSAgICAgICAgICAgIGtqb2IgPSBwdXRKb2I7 Ci0gICAgICAgICAgICBLSU86OkZpbGVVbmRvTWFuYWdlcjo6c2VsZigpLT5yZWNvcmRKb2IoS0lP OjpGaWxlVW5kb01hbmFnZXI6OlB1dCwgUUxpc3Q8UVVybD4oKSwgZGVzdCwgcHV0Sm9iKTsKLSAg ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8vIHFEZWJ1ZygpIDw8ICJLSU86OmNvcHlBcygi IDw8IHVTcmMudXJsKCkgPDwgIiwiIDw8IGRlc3QudXJsKCkgPDwgIikiOwotICAgICAgICAgICAg S0lPOjpDb3B5Sm9iICpqb2IgPSBLSU86OmNvcHlBcyh1U3JjLCBkZXN0KTsKLSAgICAgICAgICAg IGpvYi0+c2V0RGVmYXVsdFBlcm1pc3Npb25zKHRydWUpOwotICAgICAgICAgICAga2pvYiA9IGpv YjsKLSAgICAgICAgICAgIEtJTzo6RmlsZVVuZG9NYW5hZ2VyOjpzZWxmKCktPnJlY29yZENvcHlK b2Ioam9iKTsKKyAgICBRVXJsIGRlc3QgPSBtX21lbnVXb3JraW5nRGlyZWN0b3J5OworICAgIGRl c3Quc2V0UGF0aChVdGlsczo6Y29uY2F0UGF0aHMoZGVzdC5wYXRoKCksIEtJTzo6ZW5jb2RlRmls ZU5hbWUoY2hvc2VuRmlsZU5hbWUpKSk7CisKKyAgICBLSU86OkpvYiAqa2pvYjsKKyAgICBpZiAo bV9jb3B5RGF0YS5tX2lzU3ltbGluaykgeworICAgICAgICBLSU86OkNvcHlKb2IgKmxpbmtKb2Ig PSBLSU86OmxpbmtBcyh1U3JjLCBkZXN0KTsKKyAgICAgICAga2pvYiA9IGxpbmtKb2I7CisgICAg ICAgIEtJTzo6RmlsZVVuZG9NYW5hZ2VyOjpzZWxmKCktPnJlY29yZENvcHlKb2IobGlua0pvYik7 CisgICAgfSBlbHNlIGlmIChzcmMuc3RhcnRzV2l0aChRTGF0aW4xU3RyaW5nKCI6LyIpKSkgewor ICAgICAgICBRRmlsZSBzcmNGaWxlKHNyYyk7CisgICAgICAgIGlmICghc3JjRmlsZS5vcGVuKFFJ T0RldmljZTo6UmVhZE9ubHkpKSB7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAg ICAgICAgS0pvYldpZGdldHM6OnNldFdpbmRvdyhram9iLCBtX3BhcmVudFdpZGdldCk7Ci0gICAg ICAgIFFPYmplY3Q6OmNvbm5lY3Qoa2pvYiwgJktKb2I6OnJlc3VsdCwgcSwgJktOZXdGaWxlTWVu dTo6c2xvdFJlc3VsdCk7Ci0gICAgfQorICAgICAgICAvLyBUaGUgUUZpbGUgd29uJ3QgbGl2ZSBs b25nIGVub3VnaCBmb3IgdGhlIGpvYiwgc28gbGV0J3MgYnVmZmVyIHRoZSBjb250ZW50cworICAg ICAgICBjb25zdCBRQnl0ZUFycmF5IHNyY0J1ZihzcmNGaWxlLnJlYWRBbGwoKSk7CisgICAgICAg IEtJTzo6U3RvcmVkVHJhbnNmZXJKb2IgKnB1dEpvYiA9IEtJTzo6c3RvcmVkUHV0KHNyY0J1Ziwg ZGVzdCwgLTEpOworICAgICAgICBram9iID0gcHV0Sm9iOworICAgICAgICBLSU86OkZpbGVVbmRv TWFuYWdlcjo6c2VsZigpLT5yZWNvcmRKb2IoS0lPOjpGaWxlVW5kb01hbmFnZXI6OlB1dCwgUUxp c3Q8UVVybD4oKSwgZGVzdCwgcHV0Sm9iKTsKKyAgICB9IGVsc2UgeworICAgICAgICAvLyBxRGVi dWcoKSA8PCAiS0lPOjpjb3B5QXMoIiA8PCB1U3JjLnVybCgpIDw8ICIsIiA8PCBkZXN0LnVybCgp IDw8ICIpIjsKKyAgICAgICAgS0lPOjpDb3B5Sm9iICpqb2IgPSBLSU86OmNvcHlBcyh1U3JjLCBk ZXN0KTsKKyAgICAgICAgam9iLT5zZXREZWZhdWx0UGVybWlzc2lvbnModHJ1ZSk7CisgICAgICAg IGtqb2IgPSBqb2I7CisgICAgICAgIEtJTzo6RmlsZVVuZG9NYW5hZ2VyOjpzZWxmKCktPnJlY29y ZENvcHlKb2Ioam9iKTsKKyAgICB9CisgICAgS0pvYldpZGdldHM6OnNldFdpbmRvdyhram9iLCBt X3BhcmVudFdpZGdldCk7CisgICAgUU9iamVjdDo6Y29ubmVjdChram9iLCAmS0pvYjo6cmVzdWx0 LCBxLCAmS05ld0ZpbGVNZW51OjpzbG90UmVzdWx0KTsKIH0KIAogdm9pZCBLTmV3RmlsZU1lbnVQ cml2YXRlOjpleGVjdXRlVXJsRGVza3RvcEZpbGUoY29uc3QgS05ld0ZpbGVNZW51U2luZ2xldG9u OjpFbnRyeSAmZW50cnkpCiB7Ci0gICAgS05hbWVBbmRVcmxJbnB1dERpYWxvZyAqZGxnID0gbmV3 IEtOYW1lQW5kVXJsSW5wdXREaWFsb2coaTE4bigiTmFtZSBmb3IgbmV3IGxpbms6IiksIGVudHJ5 LmNvbW1lbnQsIG1fcG9wdXBGaWxlcy5maXJzdCgpLCBtX3BhcmVudFdpZGdldCk7CisgICAgS05h bWVBbmRVcmxJbnB1dERpYWxvZyAqZGxnID0gbmV3IEtOYW1lQW5kVXJsSW5wdXREaWFsb2coaTE4 bigiTmFtZSBmb3IgbmV3IGxpbms6IiksIGVudHJ5LmNvbW1lbnQsIG1fbWVudVdvcmtpbmdEaXJl Y3RvcnksIG1fcGFyZW50V2lkZ2V0KTsKICAgICBtX2NvcHlEYXRhLm1fdGVtcGxhdGVQYXRoID0g ZW50cnkudGVtcGxhdGVQYXRoOwogICAgIGRsZy0+c2V0TW9kYWwocS0+aXNNb2RhbCgpKTsKICAg ICBkbGctPnNldEF0dHJpYnV0ZShRdDo6V0FfRGVsZXRlT25DbG9zZSk7CkBAIC05MjYsNyArOTIx LDcgQEAgdm9pZCBLTmV3RmlsZU1lbnVQcml2YXRlOjpzbG90Q3JlYXRlRGlyZWN0b3J5KCkKICAg ICB9CiAKICAgICBRVXJsIHVybDsKLSAgICBRVXJsIGJhc2VVcmwgPSBtX3BvcHVwRmlsZXMuZmly c3QoKTsKKyAgICBRVXJsIGJhc2VVcmwgPSBtX21lbnVXb3JraW5nRGlyZWN0b3J5OwogCiAgICAg UVN0cmluZyBuYW1lID0gZXhwYW5kVGlsZGUobV90ZXh0KTsKIApAQCAtMTQ2MiwxMSArMTQ1Nywx MSBAQCB2b2lkIEtOZXdGaWxlTWVudTo6Y2hlY2tVcFRvRGF0ZSgpCiAKIHZvaWQgS05ld0ZpbGVN ZW51OjpjcmVhdGVEaXJlY3RvcnkoKQogewotICAgIGlmIChkLT5tX3BvcHVwRmlsZXMuaXNFbXB0 eSgpKSB7CisgICAgaWYgKGQtPm1fbWVudVdvcmtpbmdEaXJlY3RvcnkuaXNFbXB0eSgpKSB7CiAg ICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBkLT5tX2Jhc2VVcmwgPSBkLT5tX3BvcHVwRmls ZXMuZmlyc3QoKTsKKyAgICBkLT5tX2Jhc2VVcmwgPSBkLT5tX21lbnVXb3JraW5nRGlyZWN0b3J5 OwogCiAgICAgaWYgKGQtPm1faXNDcmVhdGVEaXJlY3RvcnlSdW5uaW5nKSB7CiAgICAgICAgIHFD V2FybmluZyhLRklMRVdJREdFVFNfTE9HKSA8PCAiRGlyZWN0b3J5IGNyZWF0aW9uIGlzIGFscmVh ZHkgcnVubmluZyBmb3IgIiA8PCBkLT5tX2Jhc2VVcmw7CkBAIC0xNjQ0LDcgKzE2MzksNyBAQCB2 b2lkIEtOZXdGaWxlTWVudVByaXZhdGU6OnNob3dOZXdEaXJOYW1lRGxnKGNvbnN0IFFTdHJpbmcg Jm5hbWUpCiAKIHZvaWQgS05ld0ZpbGVNZW51OjpjcmVhdGVGaWxlKCkKIHsKLSAgICBpZiAoZC0+ bV9wb3B1cEZpbGVzLmlzRW1wdHkoKSkgeworICAgIGlmIChkLT5tX21lbnVXb3JraW5nRGlyZWN0 b3J5LmlzRW1wdHkoKSkgewogICAgICAgICBRX0VNSVQgZmlsZUNyZWF0aW9uUmVqZWN0ZWQoUVVy bCgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTE3NDksNyArMTc0NCw3IEBAIFFTdHJp bmdMaXN0IEtOZXdGaWxlTWVudTo6c3VwcG9ydGVkTWltZVR5cGVzKCkgY29uc3QKIAogdm9pZCBL TmV3RmlsZU1lbnU6OnNldFdvcmtpbmdEaXJlY3RvcnkoY29uc3QgUVVybCAmZGlyZWN0b3J5KQog ewotICAgIGQtPm1fcG9wdXBGaWxlcyA9IHtkaXJlY3Rvcnl9OworICAgIGQtPm1fbWVudVdvcmtp bmdEaXJlY3RvcnkgPSBkaXJlY3Rvcnk7CiAKICAgICBpZiAoZGlyZWN0b3J5LmlzRW1wdHkoKSkg ewogICAgICAgICBkLT5tX25ld01lbnVHcm91cC0+c2V0RW5hYmxlZChmYWxzZSk7CkBAIC0xNzY3 LDcgKzE3NjIsNyBAQCB2b2lkIEtOZXdGaWxlTWVudTo6c2V0V29ya2luZ0RpcmVjdG9yeShjb25z dCBRVXJsICZkaXJlY3RvcnkpCiAKIFFVcmwgS05ld0ZpbGVNZW51Ojp3b3JraW5nRGlyZWN0b3J5 KCkgY29uc3QKIHsKLSAgICByZXR1cm4gZC0+bV9wb3B1cEZpbGVzLmlzRW1wdHkoKSA/IFFVcmwo KSA6IGQtPm1fcG9wdXBGaWxlcy5maXJzdCgpOworICAgIHJldHVybiBkLT5tX21lbnVXb3JraW5n RGlyZWN0b3J5OwogfQogCiB2b2lkIEtOZXdGaWxlTWVudTo6c2V0TmV3Rm9sZGVyU2hvcnRjdXRB Y3Rpb24oUUFjdGlvbiAqYWN0aW9uKQo=