Open Selected Key / Attachment in Browser

artur <[email protected]> Wed, 07 Apr 2010 16:04:01 +0200
Newsgroups gmane.network.freenet.frost.devel
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------090300070506010907010009
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

here is another small patch.
It allows to open a link or attachment in the system default browser.
This only works when the URL prefix under the options/misc menu is 
configured. If this option is empty, no URL will be opened (for safety / 
information leak).

Cheers

artur

--------------090300070506010907010009
Content-Type: text/plain;
 name="OpenKeyInBrowser.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="OpenKeyInBrowser.patch"

SW5kZXg6IHNvdXJjZS9mcm9zdC9ndWkvcHJlZmVyZW5jZXMvTWlzY1BhbmVsLmphdmENCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0NCi0tLSBzb3VyY2UvZnJvc3QvZ3VpL3ByZWZlcmVuY2VzL01pc2NQYW5l
bC5qYXZhCShyZXZpc2lvbiAzMTk2KQ0KKysrIHNvdXJjZS9mcm9zdC9ndWkvcHJlZmVyZW5j
ZXMvTWlzY1BhbmVsLmphdmEJKHdvcmtpbmcgY29weSkNCkBAIC00Nyw2ICs0Nyw5IEBADQog
ICAgIHByaXZhdGUgZmluYWwgSkxhYmVsIGZyZWVuZXROb2RlTGFiZWwgPSBuZXcgSkxhYmVs
KCk7CiAgICAgcHJpdmF0ZSBmaW5hbCBKVGV4dEZpZWxkIGZyZWVuZXROb2RlVGV4dEZpZWxk
ID0gbmV3IEpUZXh0RmllbGQoKTsKIAorICAgIHByaXZhdGUgZmluYWwgSkxhYmVsIGJyb3dz
ZXJBZGRyZXNzTGFiZWwgPSBuZXcgSkxhYmVsKCk7CisgICAgcHJpdmF0ZSBmaW5hbCBKVGV4
dEZpZWxkIGJyb3dzZXJBZGRyZXNzVGV4dEZpZWxkID0gbmV3IEpUZXh0RmllbGQoKTsKKwog
ICAgIHByaXZhdGUgZmluYWwgSkNoZWNrQm94IHVzZUREQUNoZWNrQm94ID0gbmV3IEpDaGVj
a0JveCgpOwogICAgIHByaXZhdGUgZmluYWwgSkNoZWNrQm94IHVzZVBlcnNpc3RlbmNlQ2hl
Y2tCb3ggPSBuZXcgSkNoZWNrQm94KCk7CiAgICAgcHJpdmF0ZSBmaW5hbCBKQ2hlY2tCb3gg
ZW5hYmxlTG9nZ2luZ0NoZWNrQm94ID0gbmV3IEpDaGVja0JveCgpOwpAQCAtMTI2LDYgKzEy
OSw3IEBADQogICAgICAgICBuZXcgVGV4dENvbXBvbmVudENsaXBib2FyZE1lbnUoYXV0b1Nh
dmVJbnRlcnZhbFRleHRGaWVsZCwgbGFuZ3VhZ2UpOwogICAgICAgICBuZXcgVGV4dENvbXBv
bmVudENsaXBib2FyZE1lbnUoZnJlZW5ldE5vZGVUZXh0RmllbGQsIGxhbmd1YWdlKTsKICAg
ICAgICAgbmV3IFRleHRDb21wb25lbnRDbGlwYm9hcmRNZW51KGxvZ0ZpbGVTaXplVGV4dEZp
ZWxkLCBsYW5ndWFnZSk7CisgICAgICAgIG5ldyBUZXh0Q29tcG9uZW50Q2xpcGJvYXJkTWVu
dShicm93c2VyQWRkcmVzc1RleHRGaWVsZCwgbGFuZ3VhZ2UpOwogCiAgICAgICAgIC8vIEFk
ZHMgYWxsIG9mIHRoZSBjb21wb25lbnRzCiAgICAgICAgIGZpbmFsIEdyaWRCYWdDb25zdHJh
aW50cyBjb25zdHJhaW50cyA9IG5ldyBHcmlkQmFnQ29uc3RyYWludHMoKTsKQEAgLTE5MCw2
ICsxOTQsMTkgQEANCiAgICAgICAgIGNvbnN0cmFpbnRzLmdyaWR3aWR0aCA9IDM7CiAgICAg
ICAgIGFkZChnZXRMb2dnaW5nUGFuZWwoKSwgY29uc3RyYWludHMpOwogCisgICAgICAgIGNv
bnN0cmFpbnRzLmluc2V0cyA9IGluc2V0czA1NTU7CisKKyAgICAgICAgLy8gYnJvd3NlckFk
ZHJlc3MKKyAgICAgICAgY29uc3RyYWludHMuZ3JpZHkrKzsKKyAgICAgICAgY29uc3RyYWlu
dHMuZ3JpZHdpZHRoID0gMjsKKyAgICAgICAgYWRkKGJyb3dzZXJBZGRyZXNzTGFiZWwsIGNv
bnN0cmFpbnRzKTsKKyAgICAgICAgY29uc3RyYWludHMuZ3JpZHkrKzsKKyAgICAgICAgY29u
c3RyYWludHMud2VpZ2h0eCA9IDM7CisgICAgICAgIGNvbnN0cmFpbnRzLmFuY2hvciA9IEdy
aWRCYWdDb25zdHJhaW50cy5XRVNUOworICAgICAgICBjb25zdHJhaW50cy5maWxsID0gR3Jp
ZEJhZ0NvbnN0cmFpbnRzLkhPUklaT05UQUw7CisgICAgICAgIGFkZChicm93c2VyQWRkcmVz
c1RleHRGaWVsZCwgY29uc3RyYWludHMpOworICAgICAgICBjb25zdHJhaW50cy53ZWlnaHR4
ID0gMDsKKwogICAgICAgICAvLyBnbHVlCiAgICAgICAgIGNvbnN0cmFpbnRzLmdyaWR5Kys7
CiAgICAgICAgIGNvbnN0cmFpbnRzLmdyaWR4ID0gMDsKQEAgLTE5OCw2ICsyMTUsNyBAQA0K
ICAgICAgICAgY29uc3RyYWludHMud2VpZ2h0eCA9IDE7CiAgICAgICAgIGNvbnN0cmFpbnRz
LndlaWdodHkgPSAxOwogICAgICAgICBhZGQobmV3IEpMYWJlbCgiIiksIGNvbnN0cmFpbnRz
KTsKKyAgICAgICAgCiAKICAgICAgICAgLy8gQWRkIGxpc3RlbmVycwogICAgICAgICBlbmFi
bGVMb2dnaW5nQ2hlY2tCb3guYWRkQWN0aW9uTGlzdGVuZXIobGlzdGVuZXIpOwpAQCAtMjIy
LDYgKzI0MCw4IEBADQogICAgICAgICBzcGxhc2hTY3JlZW5DaGVja0JveC5zZXRTZWxlY3Rl
ZChzZXR0aW5ncy5nZXRCb29sVmFsdWUoU2V0dGluZ3NDbGFzcy5ESVNBQkxFX1NQTEFTSFND
UkVFTikpOwogICAgICAgICB1c2VEREFDaGVja0JveC5zZXRTZWxlY3RlZChzZXR0aW5ncy5n
ZXRCb29sVmFsdWUoU2V0dGluZ3NDbGFzcy5GQ1AyX1VTRV9EREEpKTsKICAgICAgICAgdXNl
UGVyc2lzdGVuY2VDaGVja0JveC5zZXRTZWxlY3RlZChzZXR0aW5ncy5nZXRCb29sVmFsdWUo
U2V0dGluZ3NDbGFzcy5GQ1AyX1VTRV9QRVJTSVNURU5DRSkpOworICAgICAgICAKKyAgICAg
ICAgYnJvd3NlckFkZHJlc3NUZXh0RmllbGQuc2V0VGV4dChzZXR0aW5ncy5nZXRWYWx1ZShT
ZXR0aW5nc0NsYXNzLkJST1dTRVJfQUREUkVTUykpOwogCiAgICAgICAgIHJlZnJlc2hMb2dn
aW5nU3RhdGUoKTsKICAgICB9CkBAIC0yMzgsNiArMjU4LDE2IEBADQogICAgICAgICAgICAg
ICAgIHVzZVBlcnNpc3RlbmNlQ2hlY2tCb3guc2V0U2VsZWN0ZWQoZmFsc2UpOwogICAgICAg
ICAgICAgfQogICAgICAgICB9CisgICAgICAgIAorICAgICAgICBmaW5hbCBTdHJpbmcgYnJv
c2VyQWRkcmVzcyA9IGJyb3dzZXJBZGRyZXNzVGV4dEZpZWxkLmdldFRleHQoKTsKKyAgICAg
ICAgaWYoIGJyb3NlckFkZHJlc3MubGVuZ3RoKCkgPiAwKSB7CisgICAgICAgIAlpZiggISBi
cm9zZXJBZGRyZXNzLm1hdGNoZXMoICJeaHR0cHM/Oi8vLisiKSkgeworICAgICAgICAJCVN5
c3RlbS5vdXQucHJpbnRsbigiIyMjIElORk8gLSBVbnJlY29nbml6ZWQgVVJJIGZvcm1hdDog
IisgYnJvc2VyQWRkcmVzcyk7CisgICAgICAgIAkJYnJvd3NlckFkZHJlc3NUZXh0RmllbGQu
c2V0VGV4dCgiIik7CisgICAgICAgIAl9IGVsc2UgaWYoICEgYnJvc2VyQWRkcmVzcy5lbmRz
V2l0aCgiLyIpICl7CisgICAgICAgIAkJYnJvd3NlckFkZHJlc3NUZXh0RmllbGQuc2V0VGV4
dChicm9zZXJBZGRyZXNzICsgIi8iKTsKKyAgICAgICAgCX0KKyAgICAgICAgfQogCiAgICAg
ICAgIHNhdmVTZXR0aW5ncygpOwogICAgIH0KQEAgLTI2MCw2ICsyOTAsOCBAQA0KICAgICAg
ICAgbG9nTGV2ZWxMYWJlbC5zZXRUZXh0KGxhbmd1YWdlLmdldFN0cmluZygiT3B0aW9ucy5t
aXNjZWxsYW5lb3VzLmxvZ2dpbmdMZXZlbCIpICsKICAgICAgICAgICAgICAgICAgICAgIiAo
IiArIGxhbmd1YWdlLmdldFN0cmluZygiT3B0aW9ucy5taXNjZWxsYW5lb3VzLmxvZ0xldmVs
LmxvdyIpICsgIikgIik7CiAgICAgICAgIGxvZ0ZpbGVTaXplTGFiZWwuc2V0VGV4dChsYW5n
dWFnZS5nZXRTdHJpbmcoIk9wdGlvbnMubWlzY2VsbGFuZW91cy5sb2dGaWxlU2l6ZUxpbWl0
IikpOworCisgICAgICAgIGJyb3dzZXJBZGRyZXNzTGFiZWwuc2V0VGV4dChsYW5ndWFnZS5n
ZXRTdHJpbmcoIk9wdGlvbnMubWlzY2VsbGFuZW91cy5icm93c2VyQWRkcmVzcyIpKTsKICAg
ICB9CiAKICAgICBwcml2YXRlIHZvaWQgcmVmcmVzaExvZ2dpbmdTdGF0ZSgpIHsKQEAgLTI4
Niw1ICszMTgsNiBAQA0KICAgICAgICAgc2V0dGluZ3Muc2V0VmFsdWUoU2V0dGluZ3NDbGFz
cy5ESVNBQkxFX1NQTEFTSFNDUkVFTiwgc3BsYXNoU2NyZWVuQ2hlY2tCb3guaXNTZWxlY3Rl
ZCgpKTsKICAgICAgICAgc2V0dGluZ3Muc2V0VmFsdWUoU2V0dGluZ3NDbGFzcy5GQ1AyX1VT
RV9EREEsIHVzZUREQUNoZWNrQm94LmlzU2VsZWN0ZWQoKSk7CiAgICAgICAgIHNldHRpbmdz
LnNldFZhbHVlKFNldHRpbmdzQ2xhc3MuRkNQMl9VU0VfUEVSU0lTVEVOQ0UsIHVzZVBlcnNp
c3RlbmNlQ2hlY2tCb3guaXNTZWxlY3RlZCgpKTsKKyAgICAgICAgc2V0dGluZ3Muc2V0VmFs
dWUoU2V0dGluZ3NDbGFzcy5CUk9XU0VSX0FERFJFU1MsIGJyb3dzZXJBZGRyZXNzVGV4dEZp
ZWxkLmdldFRleHQoKSk7CiAgICAgfQogfQpJbmRleDogc291cmNlL2Zyb3N0L21lc3NhZ2lu
Zy9mcm9zdC9ndWkvTWVzc2FnZVRleHRQYW5lLmphdmENCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBz
b3VyY2UvZnJvc3QvbWVzc2FnaW5nL2Zyb3N0L2d1aS9NZXNzYWdlVGV4dFBhbmUuamF2YQko
cmV2aXNpb24gMzE5NikNCisrKyBzb3VyY2UvZnJvc3QvbWVzc2FnaW5nL2Zyb3N0L2d1aS9N
ZXNzYWdlVGV4dFBhbmUuamF2YQkod29ya2luZyBjb3B5KQ0KQEAgLTIyLDExICsyMiwxNCBA
QA0KIAogaW1wb3J0IGphdmEuYXd0Lio7CiBpbXBvcnQgamF2YS5hd3QuZXZlbnQuKjsKK2lt
cG9ydCBqYXZhLmF3dC5EZXNrdG9wOwogaW1wb3J0IGphdmEuYmVhbnMuKjsKIGltcG9ydCBq
YXZhLnV0aWwuKjsKIGltcG9ydCBqYXZhLnV0aWwuTGlzdDsKIGltcG9ydCBqYXZhLnV0aWwu
bG9nZ2luZy4qOwogaW1wb3J0IGphdmEuaW8uKjsKK2ltcG9ydCBqYXZhLm5ldC5VUkk7Citp
bXBvcnQgamF2YS5uZXQuVVJJU3ludGF4RXhjZXB0aW9uOwogCiBpbXBvcnQgamF2YXguc3dp
bmcuKjsKIGltcG9ydCBqYXZheC5zd2luZy5ldmVudC4qOwpAQCAtNjY5LDYgKzY3Miw5IEBA
DQogICAgICAgICBwcml2YXRlIGZpbmFsIEpNZW51SXRlbSBjb3B5S2V5c0FuZE5hbWVzSXRl
bSA9IG5ldyBKTWVudUl0ZW0oKTsKICAgICAgICAgcHJpdmF0ZSBmaW5hbCBKTWVudUl0ZW0g
Y29weUV4dGVuZGVkSW5mb0l0ZW0gPSBuZXcgSk1lbnVJdGVtKCk7CiAKKyAgICAgICAgcHJp
dmF0ZSBmaW5hbCBKTWVudUl0ZW0gb3BlbkZpbGVJbkJyb3dzZXJJdGVtID0gbmV3IEpNZW51
SXRlbSgpOworICAgICAgICBwcml2YXRlIGZpbmFsIEpNZW51SXRlbSBvcGVuQWxsRmlsZXNJ
bkJyb3dzZXJJdGVtID0gbmV3IEpNZW51SXRlbSgpOworCiAgICAgICAgIHB1YmxpYyBQb3B1
cE1lbnVBdHRhY2htZW50RmlsZSgpIHRocm93cyBIZWFkbGVzc0V4Y2VwdGlvbiB7CiAgICAg
ICAgICAgICBzdXBlcigpOwogICAgICAgICAgICAgaW5pdGlhbGl6ZSgpOwpAQCAtNjgxLDkg
KzY4NywxMyBAQA0KICAgICAgICAgICAgICAgICBDb3B5VG9DbGlwYm9hcmQuY29weUtleXNB
bmRGaWxlbmFtZXMoIGdldEl0ZW1zKCkudG9BcnJheSgpICk7CiAgICAgICAgICAgICB9IGVs
c2UgaWYgKGUuZ2V0U291cmNlKCkgPT0gY29weUV4dGVuZGVkSW5mb0l0ZW0pIHsKICAgICAg
ICAgICAgICAgICBDb3B5VG9DbGlwYm9hcmQuY29weUV4dGVuZGVkSW5mbyggZ2V0SXRlbXMo
KS50b0FycmF5KCkgKTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoZS5nZXRTb3VyY2UoKSA9
PSBvcGVuRmlsZUluQnJvd3Nlckl0ZW0pIHsKKyAgICAgICAgICAgIAlvcGVuRmlsZUluQnJv
d3Nlcl9hY3Rpb25XcmFwcGVyKCBnZXRJdGVtcygpICk7CisgICAgICAgICAgICB9IGVsc2Ug
aWYgKGUuZ2V0U291cmNlKCkgPT0gb3BlbkFsbEZpbGVzSW5Ccm93c2VySXRlbSkgeworICAg
ICAgICAgICAgCW9wZW5GaWxlSW5Ccm93c2VyX2FjdGlvbldyYXBwZXIoIGdldEl0ZW1zKCkg
KTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotCisgICAgICAgIAogICAgICAgICBwcml2
YXRlIHZvaWQgaW5pdGlhbGl6ZSgpIHsKICAgICAgICAgICAgIGxhbmd1YWdlQ2hhbmdlZChu
dWxsKTsKIApAQCAtNjk1LDYgKzcwNSw5IEBADQogCiAgICAgICAgICAgICBzYXZlQXR0YWNo
bWVudHNJdGVtLmFkZEFjdGlvbkxpc3RlbmVyKHRoaXMpOwogICAgICAgICAgICAgc2F2ZUF0
dGFjaG1lbnRJdGVtLmFkZEFjdGlvbkxpc3RlbmVyKHRoaXMpOworICAgICAgICAgICAgCisg
ICAgICAgICAgICBvcGVuRmlsZUluQnJvd3Nlckl0ZW0uYWRkQWN0aW9uTGlzdGVuZXIodGhp
cyk7CisgICAgICAgICAgICBvcGVuQWxsRmlsZXNJbkJyb3dzZXJJdGVtLmFkZEFjdGlvbkxp
c3RlbmVyKHRoaXMpOwogICAgICAgICB9CiAKICAgICAgICAgcHVibGljIHZvaWQgbGFuZ3Vh
Z2VDaGFuZ2VkKGZpbmFsIExhbmd1YWdlRXZlbnQgZXZlbnQpIHsKQEAgLTcwNCw2ICs3MTcs
OSBAQA0KIAogICAgICAgICAgICAgc2F2ZUF0dGFjaG1lbnRzSXRlbS5zZXRUZXh0KGxhbmd1
YWdlLmdldFN0cmluZygiTWVzc2FnZVBhbmUuZmlsZUF0dGFjaG1lbnRUYWJsZS5wb3B1cG1l
bnUuZG93bmxvYWRBdHRhY2htZW50cyIpKTsKICAgICAgICAgICAgIHNhdmVBdHRhY2htZW50
SXRlbS5zZXRUZXh0KGxhbmd1YWdlLmdldFN0cmluZygiTWVzc2FnZVBhbmUuZmlsZUF0dGFj
aG1lbnRUYWJsZS5wb3B1cG1lbnUuZG93bmxvYWRTZWxlY3RlZEF0dGFjaG1lbnQiKSk7CisK
KyAgICAgICAgICAgIG9wZW5GaWxlSW5Ccm93c2VySXRlbS5zZXRUZXh0KGxhbmd1YWdlLmdl
dFN0cmluZygiTWVzc2FnZVBhbmUuZmlsZUF0dGFjaG1lbnRUYWJsZS5wb3B1cG1lbnUub3Bl
bkF0dGFjaG1lbnRJbkJyb3dzZXIiKSk7CisgICAgICAgICAgICBvcGVuQWxsRmlsZXNJbkJy
b3dzZXJJdGVtLnNldFRleHQobGFuZ3VhZ2UuZ2V0U3RyaW5nKCJNZXNzYWdlUGFuZS5maWxl
QXR0YWNobWVudFRhYmxlLnBvcHVwbWVudS5vcGVuQWxsQXR0YWNoZW1lbnRzSW5Ccm93c2Vy
IikpOwogICAgICAgICB9CiAKICAgICAgICAgQE92ZXJyaWRlCkBAIC03MTgsOSArNzM0LDE1
IEBADQogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBhZGQoc2F2ZUF0
dGFjaG1lbnRJdGVtKTsKICAgICAgICAgICAgIH0KLS8vICAgICAgICAgICAgYWRkU2VwYXJh
dG9yKCk7Ci0vLyAgICAgICAgICAgIGFkZChjYW5jZWxJdGVtKTsKKyAgICAgICAgICAgIAor
ICAgICAgICAgICAgYWRkU2VwYXJhdG9yKCk7CiAKKyAgICAgICAgICAgIGlmIChmaWxlc1Rh
YmxlLmdldFNlbGVjdGVkUm93KCkgPT0gLTEpIHsKKyAgICAgICAgICAgICAgICBhZGQob3Bl
bkFsbEZpbGVzSW5Ccm93c2VySXRlbSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgICAgIGFkZChvcGVuRmlsZUluQnJvd3Nlckl0ZW0pOworICAgICAgICAgICAgfQor
CiAgICAgICAgICAgICBzdXBlci5zaG93KGludm9rZXIsIHgsIHkpOwogICAgICAgICB9CiAK
QEAgLTc5OSw2ICs4MjEsMTQgQEANCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXR1
cm4gaXRlbXM7CiAgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHByaXZhdGUgdm9pZCBv
cGVuRmlsZUluQnJvd3Nlcl9hY3Rpb25XcmFwcGVyKGZpbmFsIExpc3Q8RmlsZUF0dGFjaG1l
bnQ+IGZpbGVBdHRhY2hlbWVudExpc3QpIHsKKyAgICAgICAgCUxpc3Q8U3RyaW5nPiBrZXlz
ID0gbmV3IExpbmtlZExpc3Q8U3RyaW5nPigpOworICAgICAgICAJZm9yKGZpbmFsIEZpbGVB
dHRhY2htZW50IGZpbGVBdHRhY2hlbWVudCA6IGZpbGVBdHRhY2hlbWVudExpc3QpIHsKKyAg
ICAgICAgCQlrZXlzLmFkZChmaWxlQXR0YWNoZW1lbnQuZ2V0S2V5KCkpOworICAgICAgICAJ
fQorICAgICAgICAJb3BlbkZpbGVJbkJyb3dzZXJfYWN0aW9uKGtleXMpOworICAgICAgICB9
CiAgICAgfQogCiAgICAgcHJpdmF0ZSBjbGFzcyBQb3B1cE1lbnVIeXBlckxpbmsKQEAgLTgx
Niw2ICs4NDYsOSBAQA0KIAogICAgICAgICBwcml2YXRlIGZpbmFsIEpNZW51SXRlbSBkb3du
bG9hZEZpbGUgPSBuZXcgSk1lbnVJdGVtKCk7CiAgICAgICAgIHByaXZhdGUgZmluYWwgSk1l
bnVJdGVtIGRvd25sb2FkQWxsRmlsZXMgPSBuZXcgSk1lbnVJdGVtKCk7CisgICAgICAgIAor
ICAgICAgICBwcml2YXRlIGZpbmFsIEpNZW51SXRlbSBvcGVuRmlsZUluQnJvd3NlciA9IG5l
dyBKTWVudUl0ZW0oKTsKKyAgICAgICAgcHJpdmF0ZSBmaW5hbCBKTWVudUl0ZW0gb3BlbkFs
bEZpbGVzSW5Ccm93c2VyID0gbmV3IEpNZW51SXRlbSgpOwogCiAgICAgICAgIHByaXZhdGUg
U3RyaW5nIGNsaWNrZWRLZXkgPSBudWxsOwogICAgICAgICBwcml2YXRlIExpc3Q8U3RyaW5n
PiBhbGxLZXlzID0gbnVsbDsKQEAgLTg0NSw2ICs4NzgsMTAgQEANCiAgICAgICAgICAgICAg
ICAgZG93bmxvYWRJdGVtcyhmYWxzZSk7CiAgICAgICAgICAgICB9IGVsc2UgaWYoIGUuZ2V0
U291cmNlKCkgPT0gZG93bmxvYWRBbGxGaWxlcyApIHsKICAgICAgICAgICAgICAgICBkb3du
bG9hZEl0ZW1zKHRydWUpOworICAgICAgICAgICAgfSBlbHNlIGlmKCBlLmdldFNvdXJjZSgp
ID09IG9wZW5GaWxlSW5Ccm93c2VyICkgeworICAgICAgICAgICAgCW9wZW5GaWxlSW5Ccm93
c2VyX2FjdGlvbihnZXRJdGVtcyhmYWxzZSkpOworICAgICAgICAgICAgfSBlbHNlIGlmKCBl
LmdldFNvdXJjZSgpID09IG9wZW5BbGxGaWxlc0luQnJvd3NlciApIHsKKyAgICAgICAgICAg
IAlvcGVuRmlsZUluQnJvd3Nlcl9hY3Rpb24oZ2V0SXRlbXModHJ1ZSkpOwogICAgICAgICAg
ICAgfQogICAgICAgICB9CiAKQEAgLTg1Nyw2ICs4OTQsOCBAQA0KICAgICAgICAgICAgIGNv
cHlBbGxGaWxlTGlua3NUb0NsaXBib2FyZC5hZGRBY3Rpb25MaXN0ZW5lcih0aGlzKTsKICAg
ICAgICAgICAgIGRvd25sb2FkRmlsZS5hZGRBY3Rpb25MaXN0ZW5lcih0aGlzKTsKICAgICAg
ICAgICAgIGRvd25sb2FkQWxsRmlsZXMuYWRkQWN0aW9uTGlzdGVuZXIodGhpcyk7CisgICAg
ICAgICAgICBvcGVuRmlsZUluQnJvd3Nlci5hZGRBY3Rpb25MaXN0ZW5lcih0aGlzKTsKKyAg
ICAgICAgICAgIG9wZW5BbGxGaWxlc0luQnJvd3Nlci5hZGRBY3Rpb25MaXN0ZW5lcih0aGlz
KTsKICAgICAgICAgfQogCiAgICAgICAgIHB1YmxpYyB2b2lkIGxhbmd1YWdlQ2hhbmdlZChm
aW5hbCBMYW5ndWFnZUV2ZW50IGV2ZW50KSB7CkBAIC04NjYsNiArOTA1LDggQEANCiAgICAg
ICAgICAgICBjb3B5QWxsRmlsZUxpbmtzVG9DbGlwYm9hcmQuc2V0VGV4dChsYW5ndWFnZS5n
ZXRTdHJpbmcoIk1lc3NhZ2VQYW5lLmh5cGVybGluay5wb3B1cG1lbnUuY29weUFsbEZpbGVL
ZXlzVG9DbGlwYm9hcmQiKSk7CiAgICAgICAgICAgICBkb3dubG9hZEZpbGUuc2V0VGV4dChs
YW5ndWFnZS5nZXRTdHJpbmcoIk1lc3NhZ2VQYW5lLmh5cGVybGluay5wb3B1cG1lbnUuZG93
bmxvYWRGaWxlS2V5IikpOwogICAgICAgICAgICAgZG93bmxvYWRBbGxGaWxlcy5zZXRUZXh0
KGxhbmd1YWdlLmdldFN0cmluZygiTWVzc2FnZVBhbmUuaHlwZXJsaW5rLnBvcHVwbWVudS5k
b3dubG9hZEFsbEZpbGVLZXlzIikpOworICAgICAgICAgICAgb3BlbkZpbGVJbkJyb3dzZXIu
c2V0VGV4dChsYW5ndWFnZS5nZXRTdHJpbmcoIk1lc3NhZ2VQYW5lLmh5cGVybGluay5wb3B1
cG1lbnUub3BlbkZpbGVJbkJyb3dzZXIiKSk7CisgICAgICAgICAgICBvcGVuQWxsRmlsZXNJ
bkJyb3dzZXIuc2V0VGV4dChsYW5ndWFnZS5nZXRTdHJpbmcoIk1lc3NhZ2VQYW5lLmh5cGVy
bGluay5wb3B1cG1lbnUub3BlbkFsbEZsZXNJbkJyb3dzZXIiKSk7CiAKICAgICAgICAgICAg
IGNhbmNlbEl0ZW0uc2V0VGV4dChsYW5ndWFnZS5nZXRTdHJpbmcoIkNvbW1vbi5jYW5jZWwi
KSk7CiAgICAgICAgIH0KQEAgLTg3OCwyNyArOTE5LDM2IEBADQogICAgICAgICAgICAgLy8g
aWYgY2xpY2tlZExpbmsgZW5kcyB3aXRoIGEgJy8nIGl0cyBhIGZyZWVzaXRlIGxpbmssIGFs
bG93IHRvIGNvcHkgdGhpcyB0byBjbGlwYm9hcmQgb25seQogICAgICAgICAgICAgLy8gZWxz
ZSB0aGUgY2xpY2tlZExpbmsgaXMgYSBmaWxlbGluaywgYWxsb3cgdG8gY29weS9kb3dubG9h
ZCB0aGlzIGxpbmsgb3IgQUxMIGZpbGVsaW5rcwogCi0gICAgICAgICAgICBpZiggY2xpY2tl
ZEtleS5pbmRleE9mKCIvIikgPCAwIHx8Ci0gICAgICAgICAgICAgICAgIUNoYXJhY3Rlci5p
c0xldHRlck9yRGlnaXQoY2xpY2tlZEtleS5jaGFyQXQoY2xpY2tlZEtleS5sZW5ndGgoKS0x
KSkgKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIC8vIGtleSBvbmx5Ci0gICAg
ICAgICAgICAgICAgYWRkKGNvcHlLZXlPbmx5VG9DbGlwYm9hcmQpOwotICAgICAgICAgICAg
fSBlbHNlIGlmKCBjbGlja2VkS2V5LmVuZHNXaXRoKCIvIikgKSB7Ci0gICAgICAgICAgICAg
ICAgLy8gZnJlZXNpdGUgbGluawotICAgICAgICAgICAgICAgIGFkZChjb3B5RnJlZXNpdGVM
aW5rVG9DbGlwYm9hcmQpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAg
ICAvLyBmaWxlIGtleQotICAgICAgICAgICAgICAgIGFkZChjb3B5RmlsZUxpbmtUb0NsaXBi
b2FyZCk7Ci0gICAgICAgICAgICAgICAgaWYoIGFsbEtleXMuc2l6ZSgpID4gMSApIHsKLSAg
ICAgICAgICAgICAgICAgICAgYWRkKGNvcHlBbGxGaWxlTGlua3NUb0NsaXBib2FyZCk7Ci0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGFkZFNlcGFyYXRvcigpOwotICAg
ICAgICAgICAgICAgIGFkZChkb3dubG9hZEZpbGUpOwotICAgICAgICAgICAgICAgIGlmKCBh
bGxLZXlzLnNpemUoKSA+IDEgKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFkZChkb3dubG9h
ZEFsbEZpbGVzKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9CisJCQlpZiAo
Y2xpY2tlZEtleS5pbmRleE9mKCIvIikgPCAwKSB7CisJCQkJLy8ga2V5IG9ubHkKKwkJCQlh
ZGQoY29weUtleU9ubHlUb0NsaXBib2FyZCk7CisJCQl9IGVsc2UgaWYgKGNsaWNrZWRLZXku
ZW5kc1dpdGgoIi8iKSkgeworCQkJCS8vIGZyZWVzaXRlIGxpbmsKKwkJCQlhZGQoY29weUZy
ZWVzaXRlTGlua1RvQ2xpcGJvYXJkKTsKIAorCQkJCWFkZFNlcGFyYXRvcigpOworCQkJCWFk
ZChvcGVuRmlsZUluQnJvd3Nlcik7CisJCQkJaWYgKGFsbEtleXMuc2l6ZSgpID4gMSkgewor
CQkJCQlhZGQob3BlbkFsbEZpbGVzSW5Ccm93c2VyKTsKKwkJCQl9CisJCQl9IGVsc2Ugewor
CQkJCS8vIGZpbGUga2V5CisJCQkJYWRkKGNvcHlGaWxlTGlua1RvQ2xpcGJvYXJkKTsKKwkJ
CQlpZiAoYWxsS2V5cy5zaXplKCkgPiAxKSB7CisJCQkJCWFkZChjb3B5QWxsRmlsZUxpbmtz
VG9DbGlwYm9hcmQpOworCQkJCX0KKwkJCQlhZGRTZXBhcmF0b3IoKTsKKwkJCQlhZGQoZG93
bmxvYWRGaWxlKTsKKwkJCQlpZiAoYWxsS2V5cy5zaXplKCkgPiAxKSB7CisJCQkJCWFkZChk
b3dubG9hZEFsbEZpbGVzKTsKKwkJCQl9CisJCQkJYWRkU2VwYXJhdG9yKCk7CisJCQkJYWRk
KG9wZW5GaWxlSW5Ccm93c2VyKTsKKwkJCQlpZiAoYWxsS2V5cy5zaXplKCkgPiAxKSB7CisJ
CQkJCWFkZChvcGVuQWxsRmlsZXNJbkJyb3dzZXIpOworCQkJCX0KKwkJCX0KKwogICAgICAg
ICAgICAgYWRkU2VwYXJhdG9yKCk7CiAgICAgICAgICAgICBhZGQoY2FuY2VsSXRlbSk7CiAK
QEAgLTkyNCw4ICs5NzQsNiBAQA0KICAgICAgICAgICAgIAkJY29udGludWU7CiAgICAgICAg
ICAgICAJfQogICAgICAgICAgICAgCQotCi0gICAgICAgICAgICAJCiAgICAgICAgICAgICAg
ICAgU3RyaW5nIG5hbWUgPSBrZXkuc3Vic3RyaW5nKGtleS5sYXN0SW5kZXhPZigiLyIpKzEp
OwogICAgICAgICAgICAgICAgIC8vIG1heWJlIGNvbnZlcnQgaHRtbCBjb2RlcyAoZS5nLiAl
MmMgLT4gLCApCiAgICAgICAgICAgICAgICAgaWYoIG5hbWUuaW5kZXhPZigiJSIpID4gMCAp
IHsKQEAgLTk5Niw4ICsxMDQ0LDQyIEBADQogICAgICAgICAgICAgfQogICAgICAgICAgICAg
Q29weVRvQ2xpcGJvYXJkLmNvcHlUZXh0KHRleHQpOwogICAgICAgICB9CisgICAgICAgIAog
ICAgIH0KKyAgICAKKyAgICBwcml2YXRlIHZvaWQgb3BlbkZpbGVJbkJyb3dzZXJfYWN0aW9u
KGZpbmFsIExpc3Q8U3RyaW5nPiBpdGVtcykgeworCQlpZiAoIWphdmEuYXd0LkRlc2t0b3Au
aXNEZXNrdG9wU3VwcG9ydGVkKCkpIHsKKwkJCXJldHVybjsKKwkJfQorCQlpZiAoIURlc2t0
b3AuZ2V0RGVza3RvcCgpLmlzU3VwcG9ydGVkKGphdmEuYXd0LkRlc2t0b3AuQWN0aW9uLkJS
T1dTRSkpIHsKKwkJCXJldHVybjsKKwkJfQogCisJCWZpbmFsIFN0cmluZyBicm93c2VyQWRk
cmVzcyA9IENvcmUuZnJvc3RTZXR0aW5ncworCQkJCS5nZXRWYWx1ZShTZXR0aW5nc0NsYXNz
LkJST1dTRVJfQUREUkVTUyk7CisJCWlmIChicm93c2VyQWRkcmVzcy5sZW5ndGgoKSA9PSAw
KSB7CisJCQlTeXN0ZW0ub3V0LnByaW50bG4oIkRFQlVHIC0gQm9yc2VyIGFkZHJlc3Mgbm90
IGNvbmZpZ3VyZWQiKTsKKwkJCXJldHVybjsKKwkJfQorCQlpZiAoaXRlbXMgPT0gbnVsbCB8
fCBpdGVtcy5zaXplKCkgPCAxKSB7CisJCQlyZXR1cm47CisJCX0KKworCQlmb3IgKGZpbmFs
IFN0cmluZyBrZXkgOiBpdGVtcykgeworCQkJdHJ5IHsKKwkJCQlmaW5hbCBVUkkgYnJvd3Nl
clVSSSA9IG5ldyBVUkkoYnJvd3NlckFkZHJlc3MpOworCQkJCWZpbmFsIFVSSSB1cmkgPSBu
ZXcgVVJJKGJyb3dzZXJVUkkuZ2V0U2NoZW1lKCksIGJyb3dzZXJVUkkKKwkJCQkJCS5nZXRT
Y2hlbWVTcGVjaWZpY1BhcnQoKQorCQkJCQkJKyBrZXksIG51bGwpOworCQkJCURlc2t0b3Au
Z2V0RGVza3RvcCgpLmJyb3dzZSh1cmkpOworCQkJfSBjYXRjaCAoSU9FeGNlcHRpb24gZXgp
IHsKKwkJCQlleC5wcmludFN0YWNrVHJhY2UoKTsKKwkJCX0gY2F0Y2ggKFVSSVN5bnRheEV4
Y2VwdGlvbiBlKSB7CisJCQkJZS5wcmludFN0YWNrVHJhY2UoKTsKKwkJCX0KKwkJfQorCX0K
KwogICAgIHByaXZhdGUgU3RyaW5nIGFza0ZvclByZWZpeCgpIHsKICAgICAJIHJldHVybiBK
T3B0aW9uUGFuZS5zaG93SW5wdXREaWFsb2coCiAgICAgCQl0aGlzLApJbmRleDogc291cmNl
L2Zyb3N0L1NldHRpbmdzQ2xhc3MuamF2YQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIHNvdXJjZS9m
cm9zdC9TZXR0aW5nc0NsYXNzLmphdmEJKHJldmlzaW9uIDMxOTYpDQorKysgc291cmNlL2Zy
b3N0L1NldHRpbmdzQ2xhc3MuamF2YQkod29ya2luZyBjb3B5KQ0KQEAgLTI3Nyw2ICsyNzcs
OCBAQA0KICAgICBwdWJsaWMgc3RhdGljIGZpbmFsIFN0cmluZyBUUkFDS19ET1dOTE9BRFNf
RU5BQkxFRCA9ICJ0cmFja0Rvd25sb2FkcyI7CiAKICAgICBwdWJsaWMgc3RhdGljIGZpbmFs
IFN0cmluZyBVU0VfQk9BUkROQU1FX0RPV05MT0FEX1NVQkZPTERFUl9FTkFCTEVEID0gInVz
ZUJvYXJkbmFtZURvd25sb2FkU3ViZm9sZGVyIjsKKyAgICAKKyAgICBwdWJsaWMgc3RhdGlj
IGZpbmFsIFN0cmluZyBCUk9XU0VSX0FERFJFU1MgPSAiYnJvd3NlckFkZHJlc3MiOwogCiAg
ICAgcHVibGljIFNldHRpbmdzQ2xhc3MoKSB7CiAgICAgICAgIHNldHRpbmdzSGFzaCA9IG5l
dyBIYXNodGFibGU8U3RyaW5nLE9iamVjdD4oKTsKSW5kZXg6IHNvdXJjZS9pMThuL2xhbmdy
ZXMucHJvcGVydGllcw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIHNvdXJjZS9pMThuL2xhbmdyZXMu
cHJvcGVydGllcwkocmV2aXNpb24gMzE5NikNCisrKyBzb3VyY2UvaTE4bi9sYW5ncmVzLnBy
b3BlcnRpZXMJKHdvcmtpbmcgY29weSkNCkBAIC00NTYsNiArNDU2LDggQEANCiBNZXNzYWdl
UGFuZS5maWxlQXR0YWNobWVudFRhYmxlLmtleT1LZXkKIE1lc3NhZ2VQYW5lLmZpbGVBdHRh
Y2htZW50VGFibGUucG9wdXBtZW51LmRvd25sb2FkQXR0YWNobWVudHM9RG93bmxvYWQgYXR0
YWNobWVudChzKQogTWVzc2FnZVBhbmUuZmlsZUF0dGFjaG1lbnRUYWJsZS5wb3B1cG1lbnUu
ZG93bmxvYWRTZWxlY3RlZEF0dGFjaG1lbnQ9RG93bmxvYWQgc2VsZWN0ZWQgYXR0YWNobWVu
dAorTWVzc2FnZVBhbmUuZmlsZUF0dGFjaG1lbnRUYWJsZS5wb3B1cG1lbnUub3BlbkF0dGFj
aG1lbnRJbkJyb3dzZXI9T3BlbiBhdHRhY2htZW50IGluIGJyb3dzZXIKK01lc3NhZ2VQYW5l
LmZpbGVBdHRhY2htZW50VGFibGUucG9wdXBtZW51Lm9wZW5BbGxBdHRhY2hlbWVudHNJbkJy
b3dzZXI9T3BlbiBzZWxlY3RlZCBhdHRhY2htZW50cyBpbiBicm93c2VyCiBNZXNzYWdlUGFu
ZS5maWxlQXR0YWNobWVudFRhYmxlLnNpemU9U2l6ZQogTWVzc2FnZVBhbmUuaHlwZXJsaW5r
LnBvcHVwbWVudS5jb3B5QWxsRmlsZUtleXNUb0NsaXBib2FyZD1Db3B5IGFsbCBmaWxlIGtl
eXMgdG8gY2xpcGJvYXJkCiBNZXNzYWdlUGFuZS5oeXBlcmxpbmsucG9wdXBtZW51LmNvcHlG
aWxlS2V5VG9DbGlwYm9hcmQ9Q29weSBmaWxlIGtleSB0byBjbGlwYm9hcmQKQEAgLTQ2Myw2
ICs0NjUsOCBAQA0KIE1lc3NhZ2VQYW5lLmh5cGVybGluay5wb3B1cG1lbnUuY29weUtleVRv
Q2xpcGJvYXJkPUNvcHkga2V5IHRvIGNsaXBib2FyZAogTWVzc2FnZVBhbmUuaHlwZXJsaW5r
LnBvcHVwbWVudS5kb3dubG9hZEFsbEZpbGVLZXlzPURvd25sb2FkIGFsbCBmaWxlIGtleXMK
IE1lc3NhZ2VQYW5lLmh5cGVybGluay5wb3B1cG1lbnUuZG93bmxvYWRGaWxlS2V5PURvd25s
b2FkIGZpbGUga2V5CitNZXNzYWdlUGFuZS5oeXBlcmxpbmsucG9wdXBtZW51Lm9wZW5GaWxl
SW5Ccm93c2VyPU9wZW4gc2VsZWN0ZWQgS2V5IGluIEJyb3dzZXIKK01lc3NhZ2VQYW5lLmh5
cGVybGluay5wb3B1cG1lbnUub3BlbkFsbEZsZXNJbkJyb3dzZXI9T3BlbiBhbGwgS2V5cyBp
biBCcm93c2VyCiBNZXNzYWdlUGFuZS5tZXNzYWdlVGFibGUuZGF0ZT1EYXRlCiBNZXNzYWdl
UGFuZS5tZXNzYWdlVGFibGUuZnJvbT1Gcm9tCiBNZXNzYWdlUGFuZS5tZXNzYWdlVGFibGUu
aW5kZXg9SW5kZXgKQEAgLTYyMCw2ICs2MjQsNyBAQA0KIE9wdGlvbnMubWlzY2VsbGFuZW91
cy51c2VFZGl0b3JGb3JXcml0aW5nTWVzc2FnZXM9VXNlIGVkaXRvciBmb3Igd3JpdGluZyBt
ZXNzYWdlcwogT3B0aW9ucy5taXNjZWxsYW5lb3VzLnVzZVBlcnNpc3RlbmNlPVVzZSBwZXJz
aXN0ZW5jZSBhbmQgZ2xvYmFsIHF1ZXVlIGZvciB1cGxvYWRzIGFuZCBkb3dubG9hZHMKIE9w
dGlvbnMubWlzY2VsbGFuZW91cz1NaXNjZWxsYW5lb3VzCitPcHRpb25zLm1pc2NlbGxhbmVv
dXMuYnJvd3NlckFkZHJlc3M9VVJJIHByZWZpeCBmb3Igb3BlbmluZyBLZXlzIGluIEJyb3dz
ZXIgKGUuZy4gaHR0cDovLzEyNy4wLjAuMTo4ODg4LykKIE9wdGlvbnMubmV3cy4xLmFsd2F5
c0Rvd25sb2FkQmFja2xvYWQudG9vbHRpcD08aHRtbD5FbmFibGVkOiBlYWNoIGJvYXJkIHVw
ZGF0ZSBkb3dubG9hZHMgdGhlIGNvbmZpZ3VyZWQgZGF5cyBiYWNrd2FyZHM8YnI+RGlzYWJs
ZWQ6IHRoZSBmdWxsIGJhY2t3YXJkIGRvd25sb2FkIG9mIFggZGF5cyBpcyBvbmx5IGRvbmUg
ZXZlcnkgMTIgaG91cnM8L2h0bWw+CiBPcHRpb25zLm5ld3MuMS5hbHdheXNEb3dubG9hZEJh
Y2tsb2FkPUFsd2F5cyBkb3dubG9hZCBhbGwgZGF5cyBiYWNrd2FyZAogT3B0aW9ucy5uZXdz
LjEubWVzc2FnZUJhc2U9TWVzc2FnZSBiYXNlCg==
--------------090300070506010907010009
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
--------------090300070506010907010009
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Jtcfrost-devl mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jtcfrost-devl

--------------090300070506010907010009--