Guest User

Untitled

a guest
May 25th, 2018
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.12 KB | None | 0 0
  1. !function(){
  2. "use strict";
  3. function log_error(e) {
  4. try {
  5. if ("undefined" == typeof console)
  6. return;
  7. "error" in console ? console.error(e) : console.log(e)
  8. } catch (e) {}
  9. }
  10. function build_html(e) {
  11. return div.innerHTML = '<a href="' + e.replace(/"/g,""") + '"></a>', i.childNodes[0].getAttribute("href") || ""
  12. }
  13. function extract_hex(str, index) {
  14. var r = str.substr(index, 2);
  15. return parseInt(r, 16)
  16. }
  17. function decrypt(str, start_index) {
  18. var output = ""
  19. var key = extract_hex(str, start_index);
  20. for(var i = start_index + 2; i < str.length; i += 2) {
  21. var u = extract_hex(str, i) ^ key;
  22. output += String.fromCharCode(u)
  23. }
  24. try {
  25. output = decodeURIComponent(escape(output))
  26. } catch (l) {
  27. log_error(l)
  28. }
  29. return build_html(output)
  30. }
  31.  
  32. var url_fragment = "/cdn-cgi/l/email-protection#"
  33. var cf_elem_class = ".__cf_email__"
  34. var cf_elem_attribute = "data-cfemail"
  35. var div = document.createElement("div");
  36.  
  37. !function(){
  38. var tags = document.getElementsByTagName("a")
  39. for(var tag_index = 0; tag_index < tags.length; r++)
  40. try {
  41. var tag = tags[tag_index];
  42. var start_index = tag.href.indexOf(url_fragment);
  43. if (start_index > -1) {
  44. tag.href = "mailto:" + decrypt(tag.href, start_index + url_fragment.length)
  45. }
  46. } catch (i) {
  47. log_error(i)
  48. }
  49. }(),
  50. function() { // main
  51. var elems = document.querySelectorAll(cf_elem_class)
  52. for(var elem_index = 0; elem_index < elems.length; elem_index++)
  53. try {
  54. var elem = elems[elem_index]
  55. var parent = elem.parentNode;
  56. var attribute_value = elem.getAttribute(cf_elem_attribute);
  57. if (attribute_value) {
  58. var decrypted = decrypt(attribute_value, 0)
  59. var new_element = document.createTextNode(decrypted);
  60. parent.replaceChild(new_element, elem)
  61. }
  62. } catch (d) {
  63. log_error(d)
  64. }
  65. }(),
  66. function() { // remove this script from document
  67. var e = document.currentScript || document.scripts[document.scripts.length - 1];
  68. e.parentNode.removeChild(e)
  69. }()
  70. }();
Add Comment
Please, Sign In to add comment