1if(typeof docReady !== "undefined"){ 2 docReady(init); 3} else { 4 window.addEventListener("load",init); 5} 6 7function init(){if (!Date.now) { 8 Date.now = function now() { 9 return new Date().getTime(); 10 }; 11} 12 13(function(funcName, baseObj) { 14 "use strict"; 15 16 // The public function name defaults to window.docReady 17 // but you can modify the last line of this function to pass in a different object or method name 18 // if you want to put them in a different namespace and those will be used instead of 19 // window.docReady(...) 20 funcName = funcName || "docReady"; 21 baseObj = baseObj || window; 22 var readyList = []; 23 var readyFired = false; 24 var readyEventHandlersInstalled = false; 25 26 // call this when the document is ready 27 // this function protects itself against being called more than once 28 function ready() { 29 if (!readyFired) { 30 31 // this must be set to true before we start calling callbacks 32 readyFired = true; 33 for (var i = 0; i < readyList.length; i++) { 34 35 // if a callback here happens to add new ready handlers, 36 // the docReady() function will see that it already fired 37 // and will schedule the callback to run right after 38 // this event loop finishes so all handlers will still execute 39 // in order and no new ones will be added to the readyList 40 // while we are processing the list 41 readyList[i].fn.call(window, readyList[i].ctx); 42 } 43 44 // allow any closures held by these functions to free 45 readyList = []; 46 } 47 } 48 49 function readyStateChange() { 50 if ( document.readyState === "complete" ) { 51 ready(); 52 } 53 } 54 55 // This is the one public interface 56 // docReady(fn, context); 57 // the context argument is optional - if present, it will be passed 58 // as an argument to the callback 59 baseObj[funcName] = function(callback, context) { 60 if (typeof callback !== "function") { 61 throw new TypeError("callback for docReady(fn) must be a function"); 62 } 63 64 // if ready has already fired, then just schedule the callback 65 // to fire asynchronously, but right away 66 if (readyFired) { 67 setTimeout(function() {callback(context);}, 1); 68 return; 69 } else { 70 71 // add the function and context to the list 72 readyList.push({fn: callback, ctx: context}); 73 } 74 75 // if document already ready to go, schedule the ready function to run 76 // IE only safe when readyState is "complete", others safe when readyState is "interactive" 77 if (document.readyState === "complete" || (!document.attachEvent && document.readyState === "interactive")) { 78 setTimeout(ready, 1); 79 } else if (!readyEventHandlersInstalled) { 80 81 // otherwise if we don't have event handlers installed, install them 82 if (document.addEventListener) { 83 84 // first choice is DOMContentLoaded event 85 document.addEventListener("DOMContentLoaded", ready, false); 86 87 // backup is window load event 88 window.addEventListener("load", ready, false); 89 } else { 90 91 // must be IE 92 document.attachEvent("onreadystatechange", readyStateChange); 93 window.attachEvent("onload", ready); 94 } 95 readyEventHandlersInstalled = true; 96 } 97 } 98})("__sharethis__docReady", window); 99 100// Document.querySelectorAll method 101// http://ajaxian.com/archives/creating-a-queryselector-for-ie-that-runs-at-native-speed 102// Needed for: IE7- 103if (!document.querySelectorAll) { 104 document.querySelectorAll = function(selectors) { 105 var style = document.createElement('style'), elements = [], element; 106 document.documentElement.firstChild.appendChild(style); 107 document._qsa = []; 108 109 style.styleSheet.cssText = selectors + '{x-qsa:expression(document._qsa && document._qsa.push(this))}'; 110 window.scrollBy(0, 0); 111 style.parentNode.removeChild(style); 112 113 while (document._qsa.length) { 114 element = document._qsa.shift(); 115 element.style.removeAttribute('x-qsa'); 116 elements.push(element); 117 } 118 document._qsa = null; 119 return elements; 120 }; 121} 122 123// Document.querySelector method 124// Needed for: IE7- 125if (!document.querySelector) { 126 document.querySelector = function(selectors) { 127 var elements = document.querySelectorAll(selectors); 128 return (elements.length) ? elements[0] : null; 129 }; 130} 131 132if (!Array.isArray) { 133 Array.isArray = function(arg) { 134 return Object.prototype.toString.call(arg) === '[object Array]'; 135 }; 136} 137 138Array.prototype.indexOf || (Array.prototype.indexOf = function(d, e) { 139 var a; 140 if (null == this) throw new TypeError('"this" is null or not defined'); 141 var c = Object(this); 142 var b = c.length >>> 0; 143 if (0 === b) return -1; 144 a = +e || 0; 145 Infinity === Math.abs(a) && (a = 0); 146 if (a >= b) return -1; 147 for (a = Math.max(0 <= a ? a : b - Math.abs(a), 0); a < b;) { 148 if (a in c && c[a] === d) return a; 149 a++; 150 } 151 return -1 152}); 153 154(function() { 155 var st, 156 indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; 157 158 if (window.__sharethis__ == null) { 159 window.__sharethis__ = { 160 v: '6.0.0' 161 }; 162 } 163 164 st = window.__sharethis__; 165 166 st.METRICS = "https://platform-metrics-api.sharethis.com"; 167 168 st.API = "https://platform-api.sharethis.com"; 169 170 st.SECOND = 1000; 171 172 st.MINUTE = 60 * st.SECOND; 173 174 st.HOUR = 60 * st.MINUTE; 175 176 st.DAY = 24 * st.HOUR; 177 178 st.WEEK = 7 * st.DAY; 179 180 st.BORDER_BOX = "-moz-box-sizing: border-box;\n-webkit-box-sizing: border-box;\nbox-sizing: border-box;"; 181 182 st.BORDER_RADIUS = function(radius) { 183 return "-moz-border-radius: " + (st.px(radius)) + ";\n-webkit-border-radius: " + (st.px(radius)) + ";\nborder-radius: " + (st.px(radius)) + ";"; 184 }; 185 186 st.BOX_SHADOW = function(value) { 187 return "-moz-box-shadow: " + value + ";\n-webkit-box-shadow: " + value + ";\nbox-shadow: " + value + ";"; 188 }; 189 190 st.FLEX = "-moz-flex: 1;\n-ms-flex: 1;\n-webkit-flex: 1;\nflex: 1;"; 191 192 st.FONT_FAMILY = "font-family: \"Helvetica Neue\", Verdana, Helvetica, Arial, sans-serif;"; 193 194 st.TRANSFORM = function(value) { 195 return "-ms-transform: " + value + ";\n-webkit-transform: " + value + ";\ntransform: " + value + ";"; 196 }; 197 198 st.TRANSITION = function(properties, duration) { 199 var i, len, property, value; 200 if (properties == null) { 201 properties = ['all']; 202 } 203 if (duration == null) { 204 duration = '0.2s'; 205 } 206 value = []; 207 for (i = 0, len = properties.length; i < len; i++) { 208 property = properties[i]; 209 value.push(property + " " + duration + " ease-in"); 210 } 211 value = value.join(', '); 212 return "-moz-transition: " + value + "; -ms-transition: " + value + "; -o-transition: " + value + "; -webkit-transition: " + value + "; transition: " + value + ";"; 213 }; 214 215 st._uid = 0; 216 217 st.uid = function() { 218 return ++st._uid; 219 }; 220 221 st.cache = {}; 222 223 st.get = function(key) { 224 return st.cache[key]; 225 }; 226 227 st.set = function(key, val) { 228 return st.cache[key] = val; 229 }; 230 231 st.has = function(key) { 232 return st.cache[key] != null; 233 }; 234 235 st.addClass = function($el, names) { 236 var current, i, len, name; 237 current = ($el.className || '').split(' '); 238 if (typeof names === 'string') { 239 names = [names]; 240 } 241 for (i = 0, len = names.length; i < len; i++) { 242 name = names[i]; 243 if ((name != null) && indexOf.call(current, name) < 0) { 244 current.push(name); 245 } 246 } 247 return $el.className = current.join(' '); 248 }; 249 250 st.addEventListener = function($el, event, callback) { 251 if (!($el && event && callback)) { 252 return; 253 } 254 if ($el.addEventListener) { 255 return $el.addEventListener(event, callback, false); 256 } else if ($el.attachEvent) { 257 return $el.attachEvent("on" + event, callback); 258 } else { 259 return $el["on" + event] = callback; 260 } 261 }; 262 263 st.capitalize = function(str) { 264 return "" + (str.charAt(0).toUpperCase()) + (str.substring(1).toLowerCase()); 265 }; 266 267 st.copy = function() { 268 var selection; 269 selection = typeof window.getSelection === "function" ? window.getSelection() : void 0; 270 if (!selection || selection.isCollapsed) { 271 return; 272 } 273 selection = selection.toString(); 274 if (selection.length > 500) { 275 selection = selection.slice(0, 497) + "..."; 276 } 277 if (selection.length > 0) { 278 return st.log({ 279 copy_text: selection, 280 destinations: "copy", 281 event: 'share', 282 url: st.href 283 }); 284 } 285 }; 286 287 st.close = function($el) { 288 st.removeClass(document.body, 'st-body-no-scroll'); 289 if (!$el) { 290 return; 291 } 292 st.addClass($el, 'st-hidden'); 293 return setTimeout((function() { 294 return st.remove($el); 295 }), 200); 296 }; 297 298 st.css = function(css) { 299 var head, s; 300 head = document.getElementsByTagName('head')[0]; 301 s = document.createElement('style'); 302 s.setAttribute('type', 'text/css'); 303 if (s.styleSheet) { 304 s.styleSheet.cssText = css; 305 } else { 306 s.appendChild(document.createTextNode(css)); 307 } 308 return head.appendChild(s); 309 }; 310 311 st.ecommerce = function() { 312 var ecommerce, has_ldjson, has_og, has_price; 313 has_ldjson = st.meta["@type"] === "Product"; 314 has_og = st.meta["og:type"] === "product"; 315 has_price = st.getMeta(['og:price:amount', 'price', 'product:price:amount']); 316 if (has_ldjson || has_og || has_price) { 317 ecommerce = JSON.stringify(st.omit({ 318 availability: st.getMeta(["og:availability", "product:availability", "availability"]), 319 brand: st.getMeta(["brand", "og:site_name"]), 320 category: st.getMeta(["category"]), 321 currency: st.getMeta(["og:price:currency", "product:price:currency", "priceCurrency"]), 322 description: st.getMeta(["og:description", "twitter:description", "description"]), 323 image: st.getMeta(["og:image:secure_url", "og:image", "twitter:image"]), 324 mpn: st.getMeta(["mpn"]),
325 name: st.getMeta(["og:title", "twitter:title", "name"]), 326 price: st.getMeta(["og:price:amount", "product:price:amount", "price"]), 327 rating: st.getMeta(["og:rating", "ratingValue"]), 328 reviews: st.getMeta(["reviewCount", "ratingCount"]), 329 sku: st.getMeta(["sku"]) 330 })); 331 st.log({ 332 event: 'ecommerce_pview', 333 ecommerce: ecommerce 334 }); 335 st.addEventListener(document, "click", function(e) { 336 var classes, cls, config, event, href, i, len; 337 if (!(e != null ? e.target : void 0)) { 338 return true; 339 } 340 if (e.target.tagName === "A") { 341 href = e.target.getAttribute('href') || ''; 342 if (new RegExp("/cart$").test(href)) { 343 st.log({ 344 event: "view_cart", 345 ecommerce: ecommerce 346 }); 347 return true; 348 } 349 } 350 config = { 351 add_to_cart: ["add_to_cart", "add-to-cart", "addtocart"], 352 add_to_wishlist: ["save-for-later", "wishlist"], 353 buy: ["payment-button"] 354 }; 355 for (event in config) { 356 classes = config[event]; 357 for (i = 0, len = classes.length; i < len; i++) { 358 cls = classes[i]; 359 if (st.hasClassOrId(e.target, cls)) { 360 st.log({ 361 event: event, 362 ecommerce: ecommerce 363 }); 364 return true; 365 } 366 } 367 } 368 return true; 369 }); 370 } 371 return true; 372 }; 373 374 st.emit = function(event, data) { 375 var handler, i, len, ref, ref1, results; 376 ref1 = ((ref = st.handlers) != null ? ref[event] : void 0) || []; 377 results = []; 378 for (i = 0, len = ref1.length; i < len; i++) { 379 handler = ref1[i]; 380 results.push(handler(data)); 381 } 382 return results; 383 }; 384 385 st.formatNumber = function(value) { 386 if (value > 1000000) { 387 return (Math.round(10 * (value / 1000000)) / 10) + "m"; 388 } 389 if (value > 100000) { 390 return (Math.round(value / 1000)) + "k"; 391 } 392 if (value > 1000) { 393 return (Math.round(10 * (value / 1000)) / 10) + "k"; 394 } 395 return "" + value; 396 }; 397 398 st.getCookie = function(name) { 399 var values; 400 values = document.cookie.match("(^|;)\\s*" + name + "\\s*=\\s*([^;]+)"); 401 if (values) { 402 return values.pop(); 403 } 404 return null; 405 }; 406 407 st.getDescription = function() { 408 return st.getMeta(['og:description', 'twitter:description', 'description', 'Description']); 409 }; 410 411 st.getImage = function() { 412 return st.getMeta(['og:image:secure_url', 'og:image', 'twitter:image']); 413 }; 414 415 st.getMeta = function(types) { 416 var i, len, type; 417 for (i = 0, len = types.length; i < len; i++) { 418 type = types[i]; 419 if ((st.meta[type] != null) && typeof st.meta[type] !== 'object') { 420 return "" + st.meta[type]; 421 } 422 } 423 return ''; 424 }; 425 426 st.getScrollbarWidth = function() { 427 var inner, outer, scrollbar_width; 428 outer = document.createElement('div'); 429 outer.style.visibility = 'hidden'; 430 outer.style.width = '100px'; 431 outer.style.msOverflowStyle = 'scrollbar'; 432 outer.style.overflow = 'scroll'; 433 document.body.appendChild(outer); 434 inner = document.createElement('div'); 435 inner.style.width = '100%'; 436 outer.appendChild(inner); 437 scrollbar_width = outer.offsetWidth - inner.offsetWidth; 438 outer.parentNode.removeChild(outer); 439 return scrollbar_width; 440 }; 441 442 st.getScrollDepth = function() { 443 var body, body_height, de, depth, percentage, window_height; 444 de = document.documentElement; 445 body = document.body; 446 body_height = Math.max.apply(Math, [body.scrollHeight || 0, body.offsetHeight || 0, de.clientHeight || 0, de.scrollHeight || 0, de.offsetHeight || 0]); 447 window_height = st.getWindowSize().height; 448 depth = window.pageYOffset || (de || body.parentNode || body).scrollTop; 449 percentage = Math.floor(100 * (window_height + depth) / body_height); 450 return percentage; 451 }; 452 453 st.getShareLabel = function(network, language) { 454 var value; 455 if (language == null) { 456 language = 'en'; 457 } 458 value = ''; 459 switch (network) { 460 case 'blm':
461 value = st.i18n['Support BLM'][language]; 462 break; 463 case 'email': 464 value = st.i18n['email'][language]; 465 break; 466 case 'gmail': 467 value = st.i18n['gmail'][language]; 468 break; 469 case 'flipboard': 470 value = st.i18n['flip'][language]; 471 break; 472 case 'googlebookmarks': 473 value = st.i18n['bookmark'][language]; 474 break; 475 case 'pinterest': 476 value = st.i18n['pin'][language]; 477 break; 478 case 'print': 479 value = st.i18n['print'][language]; 480 break; 481 case 'snapchat': 482 value = st.i18n['snapchat'][language]; 483 break; 484 case 'twitter': 485 value = st.i18n['tweet'][language]; 486 break; 487 case 'yahoomail': 488 value = st.i18n['email'][language]; 489 break; 490 default: 491 value = st.i18n['share'][language]; 492 } 493 if (network === 'blm') { 494 return value; 495 } 496 return st.capitalize(value); 497 }; 498 499 st.getTitle = function() { 500 return st.getMeta(['og:title', 'twitter:title']) || document.title; 501 }; 502 503 st.getQuerystring = function(url) { 504 var a; 505 a = document.createElement('a'); 506 a.setAttribute('href', url); 507 return a.search; 508 }; 509 510 st.getWindowSize = function() { 511 var body, documentElement, innerHeight, innerWidth; 512 body = document.body, documentElement = document.documentElement; 513 innerHeight = window.innerHeight, innerWidth = window.innerWidth; 514 return { 515 height: innerHeight || documentElement.clientHeight || body.clientHeight, 516 width: innerWidth || documentElement.clientWidth || body.clientWidth 517 }; 518 }; 519 520 st.hasClass = function($el, name) { 521 var re; 522 re = new RegExp(name); 523 return re.test(($el.className || '').toLowerCase()); 524 }; 525 526 st.hasClassOrId = function($el, name) { 527 var i, len, re, ref, str; 528 re = new RegExp(name); 529 ref = [$el.className, $el.id]; 530 for (i = 0, len = ref.length; i < len; i++) { 531 str = ref[i]; 532 if (typeof str !== 'string') { 533 continue; 534 } 535 if (re.test((str || '').toLowerCase())) { 536 return true; 537 } 538 } 539 return false; 540 }; 541 542 st.hasCookies = (function() { 543 var has_cookies, key; 544 key = '__sharethis_cookie_test__'; 545 document.cookie = key + "=1;"; 546 has_cookies = document.cookie.indexOf(key) > -1; 547 document.cookie = key + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;'; 548 return has_cookies; 549 })(); 550 551 st.hasLocalStorage = (function() { 552 var key; 553 key = '__sharethis_local_storage_test__'; 554 try { 555 localStorage.setItem(key, 'hello world'); 556 localStorage.removeItem(key); 557 return true; 558 } catch (error1) { 559 return false; 560 } 561 })(); 562 563 st.hem = function(data) { 564 var params; 565 st._hem = data; 566 if ((data == null) || (data.sha1 == null) || (data.sha256 == null) || (data.md5 == null)) { 567 return 'Not valid data input'; 568 } 569 params = { 570 hem_sha1: data.sha1, 571 hem_sha256: data.sha256, 572 hem_md5: data.md5 573 }; 574 st.send("https://sync.sharethis.com/powr/hem?" + st.qs(params)); 575 }; 576 577 st.hostname = function(url) { 578 var a; 579 if (url == null) { 580 url = st.href; 581 } 582 a = document.createElement('a'); 583 a.setAttribute('href', url); 584 return a.hostname; 585 }; 586 587 st.ibl = function() { 588 var blacklist, domain, hostname, href, i, len, protocol; 589 href = document.referrer; 590 if (href) { 591 hostname = st.hostname(href) || ''; 592 protocol = st.protocol(href) || ''; 593 if (protocol === 'android-app:') { 594 return true; 595 } 596 blacklist = ['aol', 'bing', 'bs.to', 'facebook', 'google', 'yahoo', 'yandex', document.location.hostname]; 597 for (i = 0, len = blacklist.length; i < len; i++) { 598 domain = blacklist[i]; 599 if (hostname.indexOf(domain) > -1) { 600 return true; 601 } 602 } 603 st.log({ 604 event: 'ibl', 605 title: "", 606 url: href 607 }); 608 } 609 return true; 610 }; 611 612 st.img = function(name) { 613 var alt; 614 if (!name) { 615 return; 616 } 617 alt = (name.replace('.svg', '').replace('.png', '')) + " sharing button"; 618 return "<img alt='" + alt + "' src='https://platform-cdn.sharethis.com/img/" + name + "' />"; 619 }; 620 621 st.incLocalStorageShares = function(network, count_url) { 622 var all_counts, network_count, ref, ref1, ref2, ref3, ref4, ref5, total; 623 all_counts = st.storage.get("st_shares_" + count_url); 624 if (all_counts) { 625 network_count = (((ref = all_counts[network]) != null ? ref.value : void 0) + 1) || 0;
626 total = (((ref1 = all_counts["total"]) != null ? ref1.value : void 0) + 1) || 0; 627 if ((ref2 = all_counts[network]) != null) { 628 ref2.value = network_count; 629 } 630 if ((ref3 = all_counts[network]) != null) { 631 ref3.label = st.formatNumber(network_count); 632 } 633 if ((ref4 = all_counts["total"]) != null) { 634 ref4.value = total; 635 } 636 if ((ref5 = all_counts["total"]) != null) { 637 ref5.label = st.formatNumber(total); 638 } 639 all_counts["update_time"] = Math.round(new Date() / 1000); 640 return st.storage.set("st_shares_" + count_url, all_counts); 641 } 642 }; 643 644 st.inc = function($el) { 645 var value; 646 value = st.parseNumber($el.innerText); 647 $el.innerText = st.formatNumber(value + 1); 648 st.addClass($el, 'st-grow'); 649 return setTimeout((function() { 650 return st.removeClass($el, 'st-grow'); 651 }), 400); 652 }; 653 654 st.isEnter = function(e) { 655 return e.which === 13 || e.keyCode === 13; 656 }; 657 658 st.isEsc = function(e) { 659 var ref; 660 return ((ref = e.key) === 'Escape' || ref === 'Esc') || e.keyCode === 27; 661 }; 662 663 st.isValidEmail = function(email) { 664 var re; 665 re = /[^\.\s@][^\s@]*(?!\.)@[^\.\s@]+(?:\.[^\.\s@]+)*/; 666 return re.test(email); 667 }; 668 669 st.js = function(url, id) { 670 var $el, first; 671 $el = document.createElement('script'); 672 $el.async = 1; 673 $el.src = url; 674 if (id) { 675 $el.id = id; 676 } 677 first = document.getElementsByTagName('script')[0]; 678 return first.parentNode.insertBefore($el, first); 679 }; 680 681 st.ldjson = (function() { 682 var el, i, item, len, raw; 683 el = document.querySelector('script[type="application/ld+json"]'); 684 if (el) { 685 try { 686 raw = JSON.parse(el.innerText); 687 if (!Array.isArray(raw)) { 688 raw = [raw]; 689 } 690 for (i = 0, len = raw.length; i < len; i++) { 691 item = raw[i]; 692 if (item["@type"] === "Product") { 693 if (item.offers && !Array.isArray(item.offers)) { 694 item.offers = [item.offers]; 695 } 696 if (item.brand) { 697 item.brand = item.brand.name || item.brand; 698 } 699 if (item.category && Array.isArray(item.category)) { 700 item.category = item.category.join(";"); 701 } 702 return item; 703 } 704 } 705 return null; 706 } catch (error1) { 707 708 } 709 } 710 return null; 711 })(); 712 713 st.loadPixel = function() { 714 var domain, rnd, src; 715 domain = window.location.hostname; 716 rnd = (new Date()).getTime(); 717 src = "https://t.sharethis.com/1/d/t.dhj?" + st.qs({ 718 cid: 'c010', 719 cls: 'B', 720 dmn: domain, 721 gdpr_consent: st.gdpr_consent, 722 gdpr_domain: st.gdpr_consent && st.gdpr_domain, 723 rnd: rnd 724 }); 725 return st.js(src, 'pxscrpt'); 726 }; 727 728 if (st.loader == null) { 729 st.loader = {}; 730 } 731 732 st.load = function(product, config) { 733 var base; 734 return typeof (base = st.loader)[product] === "function" ? base[product](config) : void 0; 735 }; 736 737 if (st.load_counts_cache == null) { 738 st.load_counts_cache = {}; 739 } 740 741 st.loadCounts = function(options, next) { 742 var base, ourl, ref, ref1, ref2; 743 if (!next) { 744 ref = [{}, options], options = ref[0], next = ref[1]; 745 } 746 if (options.url == null) { 747 options.url = st.href; 748 } 749 ourl = options.url; 750 if ((base = st.load_counts_cache)[ourl] == null) { 751 base[ourl] = { 752 callbacks: [next], 753 response: null, 754 status: 'init' 755 }; 756 } 757 if (((ref1 = st.load_counts_cache[ourl]) != null ? ref1.status : void 0) === 'complete') { 758 return next(st.load_counts_cache[ourl].response); 759 } 760 if (((ref2 = st.load_counts_cache[ourl]) != null ? ref2.status : void 0) === 'in-progress') { 761 return st.load_counts_cache[ourl].callbacks.push(next); 762 } 763 st.load_counts_cache[ourl].status = 'in-progress'; 764 return st.js("https://count-server.sharethis.com/v2.0/get_counts?" + st.qs({ 765 cb: "window.__sharethis__.cb", 766 url: ourl 767 })); 768 }; 769 770 st.cb = function(resp) { 771 var callback, clicks, counts, i, j, len, len1, local_count, network, ourl, reaction, reactions, ref, ref1, shares, total, update_time, value; 772 if (resp == null) { 773 resp = {}; 774 } 775 clicks = resp.clicks, ourl = resp.ourl, reactions = resp.reactions, shares = resp.shares, total = resp.total, update_time = resp.update_time; 776 counts = {}; 777 for (reaction in st.REACTIONS || {}) { 778 value = (reactions != null ? reactions[reaction] : void 0) || 0; 779 counts[reaction] = { 780 value: value, 781 label: st.formatNumber(value) 782 }; 783 } 784 ref = st.networks || []; 785 for (i = 0, len = ref.length; i < len; i++) { 786 network = ref[i]; 787 value = ((clicks != null ? clicks[network] : void 0) || 0) + ((shares != null ? shares[network] : void 0) || 0); 788 counts[network] = { 789 value: value, 790 label: st.formatNumber(value) 791 }; 792 } 793 counts['total'] = { 794 value: total, 795 label: st.formatNumber(total) 796 }; 797 counts["update_time"] = update_time; 798 local_count = st.storage.get("st_shares_" + ourl); 799 if (update_time < (local_count != null ? local_count.update_time : void 0)) { 800 counts = local_count; 801 } 802 st.load_counts_cache[ourl].response = counts; 803 st.load_counts_cache[ourl].status = 'complete'; 804 st.storage.set("st_shares_" + ourl, counts); 805 ref1 = st.load_counts_cache[ourl].callbacks; 806 for (j = 0, len1 = ref1.length; j < len1; j++) { 807 callback = ref1[j]; 808 callback(counts); 809 } 810 return st.load_counts_cache[ourl].callbacks = []; 811 }; 812 813 st.log = function(data, url) { 814 var log, ref; 815 if (url == null) { 816 url = "https://l.sharethis.com/log"; 817 } 818 log = function() { 819 var page_info, ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7; 820 data.fcmp = typeof window.__cmp === 'function'; 821 data.fcmpv2 = typeof window.__tcfapi === 'function'; 822 data.has_segmentio = typeof (window.analytics && window.analytics.identify) === 'function'; 823 data.product = st.product; 824 data.publisher = st.property; 825 data.refDomain = st.hostname(window.document.referrer); 826 data.refQuery = st.getQuerystring(window.document.referrer); 827 data.source = 'sharethis.js'; 828 if (data.title == null) { 829 data.title = st.getTitle(); 830 } 831 data.ts = Date.now(); 832 data.sop = true; 833 data.cms = st.cms; 834 data.gdpr_consent = st.gdpr_consent; 835 data.gdpr_domain = st.gdpr_domain; 836 data.gdpr_method = st.gdpr_method; 837 data.usprivacy = st.usprivacy; 838 data.fpestid = st.getCookie("fpestid"); 839 if (data.description == null) { 840 data.description = st.getDescription(); 841 } 842 data.ua = (ref = st.ua_fields) != null ? ref.ua : void 0; 843 data.ua_full_version_list = (ref1 = st.ua_fields) != null ? ref1.ua_full_version_list : void 0; 844 data.ua_mobile = (ref2 = st.ua_fields) != null ? ref2.ua_mobile : void 0; 845 data.ua_model = (ref3 = st.ua_fields) != null ? ref3.ua_model : void 0; 846 data.ua_platform = (ref4 = st.ua_fields) != null ? ref4.ua_platform : void 0; 847 data.ua_platform_version = (ref5 = st.ua_fields) != null ? ref5.ua_platform_version : void 0; 848 page_info = ((ref6 = window.__stdos__) != null ? (ref7 = ref6.data) != null ? ref7.pageInfo : void 0 : void 0) || {}; 849 if (page_info.override) { 850 data.override = page_info.override; 851 } 852 return st.send(url + "?" + st.qs(data)); 853 }; 854 if (st != null ? (ref = st.consent_queue) != null ? ref.initialized : void 0 : void 0) { 855 log(); 856 return; 857 } 858 if (st.consent_queue == null) { 859 st.consent_queue = { 860 functions: [] 861 }; 862 } 863 return st.consent_queue.functions.push(log); 864 }; 865 866 st.logGoogleAnalyticsEvent = function(category, action, label) { 867 var _gaq, ga; 868 ga = window.ga, _gaq = window._gaq; 869 if (ga) { 870 return ga('send', 'event', category, action, label); 871 } else if (_gaq) { 872 return _gaq.push(['_trackEvent', category, action, label]); 873 } 874 }; 875 876 st.meta = (function() { 877 var el, i, item, j, k, key, len, len1, offer, ref, ref1, ref2, v; 878 item = {}; 879 ref = document.querySelectorAll("meta,[itemprop]"); 880 for (i = 0, len = ref.length; i < len; i++) { 881 el = ref[i]; 882 key = el.getAttribute('property') || el.getAttribute('name') || el.getAttribute('itemprop'); 883 if (key) { 884 if (item[key] == null) { 885 item[key] = el.getAttribute('content') || el.getAttribute("href") || el.innerText; 886 } 887 } 888 } 889 try { 890 if (st.ldjson) { 891 ref1 = st.ldjson; 892 for (k in ref1) { 893 v = ref1[k]; 894 if (item[k] == null) { 895 item[k] = v; 896 } 897 } 898 if (st.ldjson.offers) { 899 ref2 = st.ldjson.offers; 900 for (j = 0, len1 = ref2.length; j < len1; j++) { 901 offer = ref2[j]; 902 for (k in offer) { 903 v = offer[k]; 904 if (item[k] == null) { 905 item[k] = v; 906 } 907 } 908 } 909 } 910 } 911 } catch (error1) { 912 913 } 914 return item; 915 })(); 916 917 st.newElement = function(parent) { 918 var $el, id; 919 if (parent === void 0) { 920 parent = document.body; 921 } 922 $el = document.createElement('div'); 923 id = "st-el-" + (st.uid()); 924 $el.setAttribute('id', id); 925 if (parent) { 926 parent.appendChild($el); 927 } 928 return { 929 $el: $el, 930 id: id 931 }; 932 }; 933 934 st.obl = function(e) { 935 var href, prefix, ref; 936 if ((e != null ? (ref = e.target) != null ? ref.tagName : void 0 : void 0) === 'A') { 937 href = e.target.getAttribute('href') || ''; 938 prefix = href.slice(0, href.indexOf(':')); 939 if (href.slice(0, 4) === 'http' && e.target.hostname !== document.location.hostname) { 940 st.log({ 941 event: 'obl', 942 title: "", 943 url: href 944 }); 945 } 946 } 947 return true; 948 }; 949 950 st.omit = function(obj) { 951 var k, res, v; 952 res = {}; 953 for (k in obj) { 954 v = obj[k]; 955 if (v) { 956 res[k] = v; 957 } 958 } 959 return res; 960 }; 961 962 st.on = function(event, callback) { 963 var base; 964 if (st.handlers == null) { 965 st.handlers = []; 966 } 967 if ((base = st.handlers)[event] == null) { 968 base[event] = []; 969 } 970 return st.handlers[event].push(callback); 971 }; 972 973 st.open = function(url) { 974 var h, w, wh, ww; 975 if (!url) { 976 return; 977 } 978 if (st.mobile) { 979 return window.open(url, '_blank'); 980 } else if (url.indexOf('mailto:') > -1 || url.indexOf('viber') > -1) { 981 return document.location = url; 982 } else {
983 wh = st.getWindowSize().height; 984 ww = st.getWindowSize().width; 985 h = Math.min(600, .6 * wh); 986 w = Math.min(800, .8 * ww); 987 return window.open(url, '', ["height=" + h, "left=" + ((ww - w) / 2), "top=" + ((wh - h) / 2), "width=" + w, 'status=1', 'toolbar=0'].join(',')); 988 } 989 }; 990 991 st.parseNumber = function(value) { 992 var multiplier; 993 multiplier = 1; 994 if (value.indexOf('k') > -1) { 995 multiplier = 1000; 996 } 997 if (value.indexOf('m') > -1) { 998 multiplier = 1000000; 999 } 1000 value = value.replace(/[km,]/g, ''); 1001 return multiplier * parseInt(value, 10) || 0; 1002 }; 1003 1004 st.position = function($el, container) { 1005 var _container, _el; 1006 if (container == null) { 1007 container = window; 1008 } 1009 _el = $el.getBoundingClientRect(); 1010 if (container === window) { 1011 return { 1012 left: _el.left + window.scrollX, 1013 top: _el.top + window.scrollY 1014 }; 1015 } else { 1016 _container = container.getBoundingClientRect(); 1017 return { 1018 left: _el.left - _container.left + container.scrollLeft, 1019 top: _el.top - _container.top + container.scrollTop 1020 }; 1021 } 1022 }; 1023 1024 st.protocol = function(url) { 1025 var a; 1026 if (url == null) { 1027 url = st.href; 1028 } 1029 a = document.createElement('a'); 1030 a.setAttribute('href', url); 1031 return a.protocol; 1032 }; 1033 1034 st.px = function(value) { 1035 if (typeof value === 'string') { 1036 return value; 1037 } 1038 return (Math.floor(value)) + "px"; 1039 }; 1040 1041 st.qs = function(params) { 1042 var k, v; 1043 return ((function() { 1044 var results; 1045 results = []; 1046 for (k in params) { 1047 v = params[k]; 1048 if (v != null) { 1049 results.push(k + "=" + (encodeURIComponent(v))); 1050 } 1051 } 1052 return results; 1053 })()).join('&'); 1054 }; 1055 1056 st.react = function(arg) { 1057 var reaction, url; 1058 reaction = arg.reaction, url = arg.url; 1059 if (url == null) { 1060 url = st.href; 1061 } 1062 st.logGoogleAnalyticsEvent('ShareThis', reaction, url); 1063 return st.log({ 1064 event: 'reaction', 1065 reactionType: reaction, 1066 url: url 1067 }); 1068 }; 1069 1070 st.remove = function($el) { 1071 if (!($el != null ? $el.parentNode : void 0)) { 1072 return; 1073 } 1074 return $el.parentNode.removeChild($el); 1075 }; 1076 1077 st.removeClass = function($el, name) { 1078 return $el.className = $el.className.replace(name, ''); 1079 }; 1080 1081 st.removeEventListener = function($el, event, callback) { 1082 if (!($el && event && callback)) { 1083 return; 1084 } 1085 if ($el.removeEventListener) { 1086 return $el.removeEventListener(event, callback, false); 1087 } else if ($el.detachEvent) { 1088 return $el.detachEvent("on" + event, callback); 1089 } else { 1090 return $el["on" + event] = null; 1091 } 1092 }; 1093 1094 st.send = function(resource, params, next) { 1095 var img; 1096 if (params) { 1097 resource = resource + "?" + (st.qs(params)); 1098 } 1099 img = new Image(1, 1); 1100 img.src = resource; 1101 img.onload = function() { 1102 return typeof next === "function" ? next(true) : void 0; 1103 }; 1104 return img.onerror = function() { 1105 return typeof next === "function" ? next(false) : void 0; 1106 }; 1107 }; 1108 1109 st.setCookie = function(name, value, days) { 1110 var date, expires; 1111 if (days) { 1112 date = new Date(); 1113 date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); 1114 expires = "; expires=" + (date.toGMTString()); 1115 } else { 1116 expires = ""; 1117 } 1118 return document.cookie = name + "=" + value + expires + "; path=/"; 1119 }; 1120 1121 st.share = function(config) { 1122 var channel_is_ssb, channels_displayed, copybutton, copymessage, count_url, description, hostname, image, is_android, is_ios, message, network, product, redirects, run, share_url, short_url, subject, title, url, username, wechat; 1123 if (config == null) { 1124 config = {}; 1125 } 1126 channel_is_ssb = config.channel_is_ssb, channels_displayed = config.channels_displayed, count_url = config.count_url, subject = config.subject, share_url = config.share_url, short_url = config.short_url, url = config.url, description = config.description, image = config.image, message = config.message, network = config.network, title = config.title, username = config.username; 1127 channel_is_ssb = false;
1128 if (channels_displayed == null) { 1129 channels_displayed = JSON.stringify([]); 1130 } 1131 count_url = count_url || url || st.href; 1132 if (description == null) { 1133 description = st.getDescription(); 1134 } 1135 if (image == null) { 1136 image = st.getImage(); 1137 } 1138 share_url = share_url || short_url || url || st.href; 1139 if (title == null) { 1140 title = st.getTitle(); 1141 } 1142 if (url == null) { 1143 url = count_url; 1144 } 1145 if (network === 'sharethis') { 1146 return st.load('share-all', { 1147 count_url: count_url, 1148 description: description, 1149 image: image, 1150 share_url: share_url, 1151 short_url: short_url, 1152 title: title, 1153 url: url, 1154 username: username 1155 }); 1156 } 1157 st.incLocalStorageShares(network, count_url); 1158 st.logGoogleAnalyticsEvent('ShareThis', network, count_url); 1159 st.log({ 1160 channel_is_ssb: channel_is_ssb, 1161 channels_displayed: channels_displayed, 1162 destinations: network, 1163 event: 'share', 1164 title: title, 1165 url: count_url 1166 }); 1167 st.emit('share', { 1168 count_url: count_url, 1169 description: description, 1170 image: image, 1171 message: message, 1172 share_url: share_url, 1173 title: title, 1174 url: url, 1175 username: username 1176 }); 1177 if (network === 'wechat') { 1178 if (st.mobile) { 1179 return st.load('share-wechat-mobile', { 1180 url: share_url 1181 }); 1182 } else { 1183 wechat = "https://api.qrserver.com/v1/create-qr-code/?" + st.qs({ 1184 size: "154x154", 1185 data: share_url 1186 }); 1187 st.open(wechat); 1188 } 1189 } 1190 if (network === 'print') { 1191 st.emit('print', { 1192 count_url: count_url, 1193 description: description, 1194 image: image, 1195 message: message, 1196 share_url: share_url, 1197 title: title, 1198 url: url, 1199 username: username 1200 }); 1201 return window.print(); 1202 } 1203 if (network === 'copy') { 1204 navigator.clipboard.writeText(window.location.href); 1205 copybutton = document.querySelector('div[data-network="copy"]'); 1206 if (copybutton) { 1207 copymessage = document.createElement('span'); 1208 copymessage.innerText = 'URL Copied!'; 1209 copymessage.className = 'copy-notify'; 1210 copymessage.style.opacity = '1'; 1211 copymessage.style.width = '100px'; 1212 copymessage.style.transition = 'all .6s'; 1213 copybutton.append(copymessage); 1214 run = function() { 1215 copymessage.style.opacity = '0'; 1216 copymessage.style.minWidth = '0'; 1217 copymessage.style.width = '0'; 1218 copymessage.style.padding = '0'; 1219 copymessage.style.overflow = 'hidden'; 1220 run = function() { 1221 return copymessage.remove(); 1222 }; 1223 return setTimeout(run, 1000); 1224 }; 1225 setTimeout(run, 1500); 1226 } 1227 } 1228 hostname = document.location.hostname; 1229 product = st.product; 1230 is_ios = /iPad|iPhone|iPod/.test(navigator.userAgent); 1231 is_android = /Android/i.test(navigator.userAgent); 1232 redirects = { 1233 blm: "https://secure.actblue.com/donate/ms_blm_homepage_2019", 1234 blogger: "https://www.blogger.com/blog-this.g?" + st.qs({ 1235 n: title, 1236 t: description, 1237 u: share_url 1238 }), 1239 buffer: "https://buffer.com/add?" + st.qs({ 1240 text: title, 1241 url: share_url 1242 }), 1243 diaspora: "https://share.diasporafoundation.org/?" + st.qs({ 1244 title: title, 1245 url: share_url 1246 }), 1247 delicious: "https://del.icio.us/save?" + st.qs({ 1248 provider: 'sharethis', 1249 title: title, 1250 url: share_url, 1251 v: 5 1252 }), 1253 digg: "https://digg.com/submit?" + st.qs({ 1254 url: share_url 1255 }), 1256 douban: "http://www.douban.com/recommend/?" + st.qs({ 1257 title: title, 1258 url: share_url 1259 }), 1260 email: "mailto:?" + st.qs({ 1261 subject: subject || window.document.title || "I'd like to share a link with you", 1262 body: message || ("" + url) 1263 }), 1264 evernote: "http://www.evernote.com/clip.action?" + st.qs({ 1265 title: title, 1266 url: share_url 1267 }), 1268 facebook: "https://www.facebook.com/sharer.php?" + st.qs({ 1269 t: title, 1270 u: share_url 1271 }), 1272 flipboard: "https://share.flipboard.com/bookmarklet/popout?" + st.qs({ 1273 ext: 'sharethis', 1274 title: title, 1275 url: share_url, 1276 utm_campaign: 'widgets',
1277 utm_content: hostname, 1278 utm_source: 'sharethis', 1279 v: 2 1280 }), 1281 getpocket: "https://getpocket.com/edit?" + st.qs({ 1282 url: share_url 1283 }), 1284 gmail: "https://mail.google.com/mail/?view=cm&" + st.qs({ 1285 to: '', 1286 su: title, 1287 body: share_url, 1288 bcc: '', 1289 cc: '' 1290 }), 1291 googlebookmarks: "https://www.google.com/bookmarks/mark?" + st.qs({ 1292 op: 'edit', 1293 bkmk: share_url, 1294 title: title, 1295 annotation: description 1296 }), 1297 hackernews: "https://news.ycombinator.com/submitlink?" + st.qs({ 1298 u: share_url, 1299 t: title 1300 }), 1301 instapaper: "http://www.instapaper.com/edit?" + st.qs({ 1302 url: share_url, 1303 title: title, 1304 description: description 1305 }), 1306 iorbix: "https://iorbix.com/m-share?" + st.qs({ 1307 url: share_url, 1308 title: title 1309 }), 1310 kakao: "https://story.kakao.com/share?" + st.qs({ 1311 url: share_url 1312 }), 1313 kindleit: "https://pushtokindle.fivefilters.org/send.php?" + st.qs({ 1314 url: share_url 1315 }), 1316 kooapp: "https://www.kooapp.com/create?" + st.qs({ 1317 title: title, 1318 link: share_url 1319 }), 1320 line: "https://lineit.line.me/share/ui?" + st.qs({ 1321 url: share_url, 1322 text: title || description 1323 }), 1324 linkedin: "https://www.linkedin.com/shareArticle?" + st.qs({ 1325 title: title, 1326 url: share_url 1327 }), 1328 livejournal: "https://www.livejournal.com/update.bml?" + st.qs({ 1329 event: share_url, 1330 subject: title 1331 }), 1332 mailru: "https://connect.mail.ru/share?" + st.qs({ 1333 share_url: share_url 1334 }), 1335 mailru: "https://connect.mail.ru/share?" + st.qs({ 1336 share_url: share_url 1337 }), 1338 meneame: "https://meneame.net/submit.php?" + st.qs({ 1339 url: share_url 1340 }), 1341 messenger: { 1342 "true": "fb-messenger://share/?" + st.qs({ 1343 link: share_url, 1344 app_id: 291494419107518 1345 }), 1346 "false": "https://www.facebook.com/dialog/send?" + st.qs({ 1347 link: share_url, 1348 app_id: 291494419107518, 1349 redirect_uri: "https://www.sharethis.com" 1350 }) 1351 }[st.mobile], 1352 odnoklassniki: "https://connect.ok.ru/dk?" + st.qs({ 1353 'st.cmd': 'WidgetSharePreview', 1354 'st.shareUrl': share_url 1355 }), 1356 outlook: "https://outlook.live.com/mail/deeplink/compose?" + st.qs({ 1357 path: 'mail inbox', 1358 subject:subject || window.document.title || "I'd like to share a link with you", 1359 body: message || ("" + url) 1360 }), 1361 pinterest: "https://pinterest.com/pin/create/button/?" + st.qs({ 1362 description: title, 1363 media: image, 1364 url: share_url 1365 }), 1366 qzone: "http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?" + st.qs({ 1367 url: share_url 1368 }), 1369 reddit: "https://reddit.com/submit?" + st.qs({ 1370 title: title, 1371 url: share_url 1372 }), 1373 refind: "https://refind.com?" + st.qs({ 1374 url: share_url 1375 }), 1376 renren: "http://widget.renren.com/dialog/share?" + st.qs({ 1377 resourceUrl: share_url, 1378 srcUrl: share_url, 1379 title: title, 1380 description: description || title 1381 }), 1382 skype: "https://web.skype.com/share?" + st.qs({ 1383 url: share_url, 1384 text: title 1385 }), 1386 sms: "sms:" + (is_ios ? '&' : '?') + "body=" + (encodeURIComponent(share_url)), 1387 snapchat: "https://snapchat.com/scan?" + st.qs({ 1388 attachmentUrl: share_url, 1389 utm_source: 'sharethis' 1390 }), 1391 surfingbird: "http://surfingbird.ru/share?" + st.qs({ 1392 url: share_url, 1393 description: description || title, 1394 title: title 1395 }), 1396 telegram: "https://t.me/share/url?" + st.qs({ 1397 url: share_url, 1398 text: title, 1399 to: '' 1400 }), 1401 tencentqq: "https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?" + st.qs({ 1402 url: share_url, 1403 title: title, 1404 summary: share_url, 1405 desc: description, 1406 pics: image 1407 }), 1408 threema: "threema://compose?" + st.qs({ 1409 text: share_url, 1410 id: '' 1411 }), 1412 trello: "https://trello.com/add-card?" + st.qs({ 1413 mode: 'popup', 1414 url: share_url, 1415 desc: description || title 1416 }), 1417 tumblr: "https://www.tumblr.com/share?" + st.qs({ 1418 t: title, 1419 u: share_url, 1420 v: 3 1421 }), 1422 twitter: "https://twitter.com/intent/tweet?" + st.qs({ 1423 text: title || description, 1424 url: share_url, 1425 via: username 1426 }), 1427 vk: "https://vk.com/share.php?" + st.qs({ 1428 url: share_url 1429 }), 1430 viber: "viber://forward?" + st.qs({ 1431 text: share_url, 1432 url: 'viber' 1433 }), 1434 weibo: "http://service.weibo.com/share/share.php?" + st.qs({ 1435 title: title, 1436 url: share_url, 1437 pic: image 1438 }),
1439 whatsapp: (!st.mobile ? "https://web.whatsapp.com/send?" : "whatsapp://send?") + st.qs({ 1440 text: share_url 1441 }), 1442 wordpress: "http://wordpress.com/wp-admin/press-this.php?" + st.qs({ 1443 u: share_url, 1444 t: title, 1445 s: description || title, 1446 i: '' 1447 }), 1448 yahoomail: "http://compose.mail.yahoo.com/?" + st.qs({ 1449 to: '', 1450 subject: title, 1451 body: share_url 1452 }), 1453 yummly: "https://www.yummly.com/urb/verify?" + st.qs({ 1454 url: share_url, 1455 title: title, 1456 urbtype: 'bookmarklet', 1457 type: 'agg', 1458 vendor: 'sharethis', 1459 image: image 1460 }), 1461 xing: "https://www.xing.com/app/user?" + st.qs({ 1462 op: 'share', 1463 title: title, 1464 url: share_url 1465 }) 1466 }; 1467 return st.open(redirects[network]); 1468 }; 1469 1470 st.follow = (function(_this) { 1471 return function(config) { 1472 var follow_url, network, url; 1473 if (config == null) { 1474 config = {}; 1475 } 1476 follow_url = config.follow_url, network = config.network, url = config.url; 1477 if (url == null) { 1478 url = st.href; 1479 } 1480 st.log({ 1481 destinations: network, 1482 event: 'follow', 1483 followUrl: follow_url, 1484 url: url 1485 }); 1486 return window.open(follow_url, '_blank'); 1487 }; 1488 })(this); 1489 1490 st.storage = { 1491 get: function(key) { 1492 if (st.hasLocalStorage) { 1493 try { 1494 return JSON.parse(localStorage.getItem(key)); 1495 } catch (error1) {} 1496 } 1497 if (st.hasCookies) { 1498 return st.getCookie(key); 1499 } 1500 return st.get(key); 1501 }, 1502 set: function(key, value) { 1503 if (st.hasLocalStorage) { 1504 return localStorage.setItem(key, JSON.stringify(value)); 1505 } 1506 if (st.hasCookies) { 1507 return st.setCookie(key, value); 1508 } 1509 return st.set(key, value); 1510 } 1511 }; 1512 1513 st.svg = function(paths, size) { 1514 var d; 1515 if (size == null) { 1516 size = 40; 1517 } 1518 if (typeof paths === 'string') { 1519 paths = [paths]; 1520 } 1521 return "<svg fill=\"#fff\" preserveAspectRatio=\"xMidYMid meet\" height=\"1em\" width=\"1em\" viewBox=\"0 0 " + size + " " + size + "\">\n <g>\n " + (((function() { 1522 var i, len, results; 1523 results = []; 1524 for (i = 0, len = paths.length; i < len; i++) { 1525 d = paths[i]; 1526 results.push("<path d='" + d + "'></path>"); 1527 } 1528 return results; 1529 })()).join('')) + "\n </g>\n</svg>"; 1530 }; 1531 1532 st.toggleClass = function($el, name) { 1533 if (st.hasClass($el, name)) { 1534 return st.removeClass($el, name); 1535 } else { 1536 return st.addClass($el, name); 1537 } 1538 }; 1539 1540 st.filterInvalidNetworks = function(networks, valid) { 1541 var n; 1542 if (valid == null) { 1543 valid = st.networks; 1544 } 1545 return (function() { 1546 var i, len, results; 1547 results = []; 1548 for (i = 0, len = networks.length; i < len; i++) { 1549 n = networks[i]; 1550 if (valid.indexOf(n) !== -1) { 1551 results.push(n); 1552 } 1553 } 1554 return results; 1555 })(); 1556 }; 1557 1558 st.tcfapi_listener = (function() { 1559 var interval, start; 1560 start = Date.now(); 1561 return interval = setInterval((function() { 1562 var e; 1563 if (window.__tcfapi) { 1564 try { 1565 window.__tcfapi("addEventListener", 2, function(data) { 1566 if ((data != null ? data.eventStatus : void 0) === "useractioncomplete") { 1567 st.gdpr_consent = data.tcString; 1568 st.gdpr_domain = data.isServiceSpecific ? document.location.hostname : ".consensu.org"; 1569 st.gdpr_method = "api"; 1570 return st.log({ 1571 event: "updated_consent", 1572 pview_had_consent: st.pview_had_consent 1573 }); 1574 } 1575 }); 1576 } catch (error1) { 1577 e = error1; 1578 } 1579 clearInterval(interval); 1580 } 1581 if (Date.now() - start > 10000) { 1582 return clearInterval(interval); 1583 } 1584 }), 1000); 1585 })(); 1586 1587 st.floc = function() { 1588 var error; 1589 try { 1590 if (document.interestCohort) { 1591 return document.interestCohort().then(function(cohort) { 1592 if (cohort) { 1593 return st.log({ 1594 event: 'floc', 1595 floc: JSON.stringify(cohort) 1596 }); 1597 } 1598 }); 1599 } 1600 } catch (error1) { 1601 error = error1; 1602 } 1603 }; 1604 1605 1606 /* 1607 * Add Listeners 1608 */ 1609 1610 st.addEventListener(document, "click", st.obl); 1611 1612 st.addEventListener(document, "copy", st.copy); 1613 1614}).call(this); 1615 1616(function(){ 1617 st = window.__sharethis__ 1618 1619 st.CustomColor = class CustomColor {
1620 constructor(r, g, b) { 1621 this.set(r, g, b); 1622 } 1623 1624 toString() { 1625 return `rgb(${Math.round(this.r)}, ${Math.round(this.g)}, ${Math.round(this.b)})`; 1626 } 1627 1628 set(r, g, b) { 1629 this.r = this.clamp(r); 1630 this.g = this.clamp(g); 1631 this.b = this.clamp(b); 1632 } 1633 1634 hueRotate(angle = 0) { 1635 angle = angle / 180 * Math.PI; 1636 const sin = Math.sin(angle); 1637 const cos = Math.cos(angle); 1638 1639 this.multiply([ 1640 0.213 + cos * 0.787 - sin * 0.213, 1641 0.715 - cos * 0.715 - sin * 0.715, 1642 0.072 - cos * 0.072 + sin * 0.928, 1643 0.213 - cos * 0.213 + sin * 0.143, 1644 0.715 + cos * 0.285 + sin * 0.140, 1645 0.072 - cos * 0.072 - sin * 0.283, 1646 0.213 - cos * 0.213 - sin * 0.787, 1647 0.715 - cos * 0.715 + sin * 0.715, 1648 0.072 + cos * 0.928 + sin * 0.072, 1649 ]); 1650 } 1651 1652 grayscale(value = 1) { 1653 this.multiply([ 1654 0.2126 + 0.7874 * (1 - value), 1655 0.7152 - 0.7152 * (1 - value), 1656 0.0722 - 0.0722 * (1 - value), 1657 0.2126 - 0.2126 * (1 - value), 1658 0.7152 + 0.2848 * (1 - value), 1659 0.0722 - 0.0722 * (1 - value), 1660 0.2126 - 0.2126 * (1 - value), 1661 0.7152 - 0.7152 * (1 - value), 1662 0.0722 + 0.9278 * (1 - value), 1663 ]); 1664 } 1665 1666 sepia(value = 1) { 1667 this.multiply([ 1668 0.393 + 0.607 * (1 - value), 1669 0.769 - 0.769 * (1 - value), 1670 0.189 - 0.189 * (1 - value), 1671 0.349 - 0.349 * (1 - value), 1672 0.686 + 0.314 * (1 - value), 1673 0.168 - 0.168 * (1 - value), 1674 0.272 - 0.272 * (1 - value), 1675 0.534 - 0.534 * (1 - value), 1676 0.131 + 0.869 * (1 - value), 1677 ]); 1678 } 1679 1680 saturate(value = 1) { 1681 this.multiply([ 1682 0.213 + 0.787 * value, 1683 0.715 - 0.715 * value, 1684 0.072 - 0.072 * value, 1685 0.213 - 0.213 * value, 1686 0.715 + 0.285 * value, 1687 0.072 - 0.072 * value, 1688 0.213 - 0.213 * value, 1689 0.715 - 0.715 * value, 1690 0.072 + 0.928 * value, 1691 ]); 1692 } 1693 1694 multiply(matrix) { 1695 const newR = this.clamp(this.r * matrix[0] + this.g * matrix[1] + this.b * matrix[2]); 1696 const newG = this.clamp(this.r * matrix[3] + this.g * matrix[4] + this.b * matrix[5]); 1697 const newB = this.clamp(this.r * matrix[6] + this.g * matrix[7] + this.b * matrix[8]); 1698 this.r = newR; 1699 this.g = newG; 1700 this.b = newB; 1701 } 1702 1703 brightness(value = 1) { 1704 this.linear(value); 1705 } 1706 contrast(value = 1) { 1707 this.linear(value, -(0.5 * value) + 0.5); 1708 } 1709 1710 linear(slope = 1, intercept = 0) { 1711 this.r = this.clamp(this.r * slope + intercept * 255); 1712 this.g = this.clamp(this.g * slope + intercept * 255); 1713 this.b = this.clamp(this.b * slope + intercept * 255); 1714 } 1715 1716 invert(value = 1) { 1717 this.r = this.clamp((value + this.r / 255 * (1 - 2 * value)) * 255); 1718 this.g = this.clamp((value + this.g / 255 * (1 - 2 * value)) * 255); 1719 this.b = this.clamp((value + this.b / 255 * (1 - 2 * value)) * 255); 1720 } 1721 1722 hsl() { 1723 // Code taken from https://stackoverflow.com/a/9493060/2688027, licensed under CC BY-SA. 1724 const r = this.r / 255; 1725 const g = this.g / 255; 1726 const b = this.b / 255; 1727 const max = Math.max(r, g, b); 1728 const min = Math.min(r, g, b); 1729 let h, s, l = (max + min) / 2; 1730 1731 if (max === min) { 1732 h = s = 0; 1733 } else { 1734 const d = max - min; 1735 s = l > 0.5 ? d / (2 - max - min) : d / (max + min); 1736 switch (max) { 1737 case r: 1738 h = (g - b) / d + (g < b ? 6 : 0); 1739 break; 1740 1741 case g: 1742 h = (b - r) / d + 2; 1743 break; 1744 1745 case b: 1746 h = (r - g) / d + 4; 1747 break; 1748 } 1749 h /= 6; 1750 } 1751 1752 return { 1753 h: h * 100, 1754 s: s * 100, 1755 l: l * 100, 1756 }; 1757 } 1758 1759 clamp(value) { 1760 if (value > 255) { 1761 value = 255; 1762 } else if (value < 0) { 1763 value = 0; 1764 } 1765 return value; 1766 } 1767 } 1768 1769 st.Solver = class Solver { 1770 constructor(target, baseColor) { 1771 this.target = target; 1772 this.targetHSL = target.hsl(); 1773 this.reusedColor = new st.CustomColor(0, 0, 0); 1774 } 1775 1776 solve() { 1777 const result = this.solveNarrow(this.solveWide()); 1778 return { 1779 values: result.values, 1780 loss: result.loss, 1781 filter: this.css(result.values), 1782 }; 1783 } 1784 1785 solveWide() { 1786 const A = 5; 1787 const c = 15; 1788 const a = [60, 180, 18000, 600, 1.2, 1.2]; 1789 1790 let best = { loss: Infinity }; 1791 for (let i = 0; best.loss > 25 && i < 3; i++) { 1792 const initial = [50, 20, 3750, 50, 100, 100]; 1793 const result = this.spsa(A, a, c, initial, 1000); 1794 if (result.loss < best.loss) { 1795 best = result; 1796 } 1797 } 1798 return best; 1799 } 1800 1801 solveNarrow(wide) { 1802 const A = wide.loss; 1803 const c = 2; 1804 const A1 = A + 1; 1805 const a = [0.25 * A1, 0.25 * A1, A1, 0.25 * A1, 0.2 * A1, 0.2 * A1]; 1806 return this.spsa(A, a, c, wide.values, 500); 1807 } 1808 1809 spsa(A, a, c, values, iters) {
1810 const alpha = 1; 1811 const gamma = 0.16666666666666666; 1812 1813 let best = null; 1814 let bestLoss = Infinity; 1815 const deltas = new Array(6); 1816 const highArgs = new Array(6); 1817 const lowArgs = new Array(6); 1818 1819 for (let k = 0; k < iters; k++) { 1820 const ck = c / Math.pow(k + 1, gamma); 1821 for (let i = 0; i < 6; i++) { 1822 deltas[i] = Math.random() > 0.5 ? 1 : -1; 1823 highArgs[i] = values[i] + ck * deltas[i]; 1824 lowArgs[i] = values[i] - ck * deltas[i]; 1825 } 1826 1827 const lossDiff = this.loss(highArgs) - this.loss(lowArgs); 1828 for (let i = 0; i < 6; i++) { 1829 const g = lossDiff / (2 * ck) * deltas[i]; 1830 const ak = a[i] / Math.pow(A + k + 1, alpha); 1831 values[i] = fix(values[i] - ak * g, i); 1832 } 1833 1834 const loss = this.loss(values); 1835 if (loss < bestLoss) { 1836 best = values.slice(0); 1837 bestLoss = loss; 1838 } 1839 } 1840 return { values: best, loss: bestLoss }; 1841 1842 function fix(value, idx) { 1843 let max = 100; 1844 if (idx === 2 /* saturate */) { 1845 max = 7500; 1846 } else if (idx === 4 /* brightness */ || idx === 5 /* contrast */) { 1847 max = 200; 1848 } 1849 1850 if (idx === 3 /* hue-rotate */) { 1851 if (value > max) { 1852 value %= max; 1853 } else if (value < 0) { 1854 value = max + value % max; 1855 } 1856 } else if (value < 0) { 1857 value = 0; 1858 } else if (value > max) { 1859 value = max; 1860 } 1861 return value; 1862 } 1863 } 1864 1865 loss(filters) { 1866 // Argument is array of percentages. 1867 const color = this.reusedColor; 1868 color.set(0, 0, 0); 1869 1870 color.invert(filters[0] / 100); 1871 color.sepia(filters[1] / 100); 1872 color.saturate(filters[2] / 100); 1873 color.hueRotate(filters[3] * 3.6); 1874 color.brightness(filters[4] / 100); 1875 color.contrast(filters[5] / 100); 1876 1877 const colorHSL = color.hsl(); 1878 return ( 1879 Math.abs(color.r - this.target.r) + 1880 Math.abs(color.g - this.target.g) + 1881 Math.abs(color.b - this.target.b) + 1882 Math.abs(colorHSL.h - this.targetHSL.h) + 1883 Math.abs(colorHSL.s - this.targetHSL.s) + 1884 Math.abs(colorHSL.l - this.targetHSL.l) 1885 ); 1886 } 1887 1888 css(filters) { 1889 function fmt(idx, multiplier = 1) { 1890 if (idx == 0) { 1891 return Math.round(100 - (filters[idx] * multiplier)) 1892 } 1893 return Math.round(filters[idx] * multiplier); 1894 } 1895 return `filter: invert(${fmt(0)}%) sepia(${fmt(1)}%) saturate(${fmt(2)}%) hue-rotate(${fmt(3, 3.6)}deg) brightness(${fmt(4)}%) contrast(${fmt(5)}%);`; 1896 } 1897 } 1898 1899})(); 1900 1901(function() { 1902 var st; 1903 1904 st = window.__sharethis__; 1905 1906 st.hexToRgb = function(hex) { 1907 var result, shorthandRegex; 1908 if (!hex) { 1909 return; 1910 } 1911 if (typeof hex !== 'string') { 1912 return 'Wrong type input'; 1913 } 1914 shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i; 1915 hex = hex.replace(shorthandRegex, (function(_this) { 1916 return function(m, r, g, b) { 1917 return r + r + g + g + b + b; 1918 }; 1919 })(this)); 1920 result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); 1921 if (result) { 1922 return [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16)]; 1923 } 1924 }; 1925 1926 st.getFilter = function(rgb_hex) { 1927 var color, result, rgb, solver; 1928 rgb = st.hexToRgb(rgb_hex); 1929 if (!rgb) { 1930 return 'Invalid hex'; 1931 } 1932 if (rgb.length !== 3) { 1933 return 'Invalid hex format!'; 1934 } 1935 color = new st.CustomColor(rgb[0], rgb[1], rgb[2]); 1936 solver = new st.Solver(color); 1937 result = solver.solve(); 1938 return result.filter.split(': ')[1]; 1939 }; 1940 1941}).call(this); 1942 1943(function(a,b){window.__sharethis__.mobile = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|
1943sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4))})(navigator.userAgent||navigator.vendor||window.opera); 1944 1945(function(){ 1946 window.__sharethis__.is_ie = /(MSIE|Trident|Edge)/i.test(navigator.userAgent); 1947 window.__sharethis__.is_ie8 = /MSIE 8/i.test(navigator.userAgent); 1948})(); 1949 1950/** 1951 * none: https://goop.com/wellness/ 1952 * anchor.fm: https://www.podcastinsights.com/podcast-embed-players/ 1953 * consensu.org: 1954 * embed.ly: https://embed.ly/code?url=http%3A%2F%2Fgoogle.com 1955 * gfycat: https://developers.gfycat.com/iframe/#gfycat-iframe 1956 * giphy: https://giphy.com/posts/how-to-embed-giphy-gifs-on-your-website 1957 * imgur: https://help.imgur.com/hc/en-us/articles/211273743-Embed-Unit 1958 * instagram: https://www.bbc.com/news/uk-wales-51311320 1959 * megaphone: https://www.podcastinsights.com/podcast-embed-players/ 1960 * reddit: https://redditblog.com/2017/06/14/why-publishers-should-use-reddit-embeds/ 1961 * redditmedia: https://redditblog.com/2017/06/14/why-publishers-should-use-reddit-embeds/ 1962 * soundcloud: https://en.support.wordpress.com/soundcloud-audio-player/ 1963 * spotify: https://www.usmagazine.com/entertainment/news/kim-kardashian-north-asks-if-she-can-visit-prisons-with-me/ 1964 * tiktok: https://jezebel.com/15-tiktoks-that-deserve-academy-awards-1838371668 1965 * twitch: https://www.dexerto.com/entertainment/top-10-most-viewed-twitch-clips-of-all-time-2-310900 1966 * twitter: https://time.com/4128887/kobe-bryant-retirement-celebrities-reaction/ 1967 * vimeo: https://vimeo.zendesk.com/hc/en-us/articles/224969968-Embedding-videos-overview 1968 * youtube: https://electricbikereview.com/gocycle/gs/ 1969 */ 1970 1971/** 1972 * anchor.fm 1973 * tags: iframe 1974 * format: anchor.fm/{content}/embed 1975 * suggestions: add requirement for iframe 1976 */ 1977 1978/** 1979 * facebook.com 1980 * tags: iframe 1981 * format: facebook.com/plugins/{plugin_type} 1982 * exclude: /plugins/like, /plugins/page, /plugins/comment, /plugins/group, /plugins/follow, /plugins/customerchat, /plugins/messenger_checkbox, /plugins/send_to_messenger 1983 * require: /plugins/post, /plugins/video, /plugins/share_button 1984 * even though rhombus collects plugins/share_button i'm not sold we should, doesn't seem to embed to any outside content 1985 * suggestions: add requirement for iframe and update exclude/require statements 1986 */ 1987 1988/** 1989 * gfycat.com 1990 * tags: iframe 1991 * format: gfycat.com/ifr 1992 * suggestions: add requirement for iframe 1993 */ 1994 1995/** 1996 * giphy.com 1997 * tags: iframe 1998 * format: giphy.com/embed 1999 * questions: what happens when we remove the requirement for /embed and introduce a requirement for iframe? 2000 * suggestions: add requirement for iframe 2001 */ 2002 2003/** 2004 * imgur.com 2005 * tags: iframe 2006 * format: imgur.com/{hash}/embed 2007 * suggestions: add requirement for iframe 2008 */ 2009 2010/** 2011 * instagram.com 2012 * tags: iframe, blockquote 2013 * format: www.instagram.com/p 2014 * questions: what happens when we remove the requirement for /p and introduce a requirement for iframe and blockquote? 2015 * suggestions: add requirement for either iframe or blockquote 2016 */ 2017 2018/** 2019 * megaphone.fm 2020 * tags: iframe 2021 * format: player.megaphone.fm 2022 * questions: what happens when we remove the requirement for player and introduce a requirement for iframe? 2023 * suggestions: add requirement for iframe 2024 */ 2025 2026/** 2027 * redditmedia.com 2028 * it's difficult to find any records with redditmedia.com embeds 2029 * we may want to remove the requirment for /r and also look for reddit.com 2030 * suggestions: add requirement for iframe, remove requirement for /r 2031 */ 2032 2033/** 2034 * soundcloud.com 2035 * tags: iframe 2036 * format: w.soundcloud.com/player 2037 * questions: whats happens when we remove the requirement for /player and introduce a requirement for iframe? 2038 * suggestions: add requirement for iframe 2039 */ 2040 2041/** 2042 * spotify.com 2043 * tags: iframe 2044 * format: open.spotify.com/{endpoint} 2045 * exlude: /follow 2046 * require: /embed 2047 * suggestions: add requirement for iframe and update exclude/require statements 2048 */ 2049 2050/** 2051 * tiktok.com 2052 * tags: iframe 2053 * format: tiktok.com/embed/ 2054 * questions: what happens when we remove the requirement for /embed and introduce a requirement for iframe? 2055 * suggestions: add requirement for iframe 2056 */ 2057 2058/** 2059 * twitch.tv 2060 * tags: iframe 2061 * format: clips.twitch.tv/embed 2062 * questions: what happens when we remove the requirement for clips and introduce a requirement for iframe? 2063 * suggestions: add requirement for iframe 2064 */ 2065 2066/** 2067 * twitter.com 2068 * tags: div, blockquote 2069 * format: twitter.com/{user}/status 2070 * questions: this one is difficult because twitter doesn't use iframes (at least in the data we collected) 2071 * questions: it looks like for every embed we pull identical srcs from a div and blockquote 2072 * questions: we probably only need to pull just div 2073 * questions: what happens when we remove the /status requirement? 2074 * suggestions: add requirement for div 2075 */ 2076 2077/** 2078 * vimeo.com 2079 * tags: iframe 2080 * format: player.vimeo.com/video 2081 * questions: what happens when we remove the player requirement and introduce a requirement for iframe? 2082 * suggestions: add requirement for iframe 2083 */ 2084 2085/** 2086 * youtube.com 2087 * tags: iframe 2088 * format: youtube.com/embed 2089 * questions: what happens when we remove the requirement for /embed and introduce a requirement for iframe? 2090 * suggestions: add requirement for iframe 2091 */ 2092 2093// service list 2094var st = window.__sharethis__ || {}; 2095st.getEmbeds = function (next) { 2096 2097 var selectors = [ 2098 '.embed-twitter', 2099 '.embedly-card', 2100 '.fb-post', 2101 '.fb-video', 2102 '.instagram-media', 2103 '.reddit', 2104 '.reddit-card', 2105 '.rm-shortcode', 2106 '.spotify', 2107 '.tumblr-embed', 2108 '.twitter-embed', 2109 '.twitter-follow', 2110 '.twitter-tweet', 2111 '.twitter-video', 2112 '.twitter-widget', 2113 'embed', 2114 'iframe', 2115 '[class^="PIN"]' 2116 ]; 2117 2118 var config = [ 2119 { type: "audio", url: "anchor.fm" }, 2120 { type: "audio", url: "open.spotify.com/embed" }, 2121 { type: "audio", url: "player.megaphone.fm" }, 2122 { type: "audio", url: "playlist.megaphone.fm" }, 2123 { type: "audio", url: "w.soundcloud.com" }, 2124 { type: "image", url: "gfycat.com" }, 2125 { type: "image", url: "giphy.com/embed" }, 2126 { type: "image", url: "imgur.com" }, 2127 { type: "image", url: /(pinterest.com\/pin\/\d+\/)(?!.\S)/, span: true }, 2128 { type: "post", url: "facebook.com/plugins/post" }, 2129 { type: "post", url: "instagram.com/p", blockquote: true }, 2130 { type: "post", url: "linkedin.com/embed" }, 2131 { type: "post", url: "embed.tumblr.com/embed/post" }, 2132 { type: "post", url: /twitter.com\/.*\/status\/[0-9]+$/, blockquote: true }, 2133 { type: "video", url: /facebook.com\/.[^\/]*\/plugins\/video/ }, 2134 { type: "video", url: "facebook.com/plugins/video" }, 2135 { type: "video", url: /tiktok.com\/.[^\/]*\/video/, blockquote: true }, 2136 { type: "video", url: "player.vimeo.com" }, 2137 { type: "video", url: "youtube.com/embed" }, 2138 { type: "video", url: "clips.twitch.tv" }, 2139 { type: "video", url: "player.twitch.tv" } 2140 ]; 2141 2142 var sources = [ 2143 'cite', 2144 'data-click-to-open-target', 2145 'data-href', 2146 'data-instgrm-permalink', 2147 'data-lazy-src', 2148 'data-permalink', 2149 'data-pin-href', 2150 'data-src', 2151 'data-src-2x', 2152 'href', 2153 'src' 2154 ]; 2155 2156 // returns false if element is not an embed 2157 function getEmbedRule(tag, url) { 2158 // ensure the url has a proper prefix 2159 if (url.indexOf('http') != 0 && url.indexOf('//') != 0) { 2160 return false;
2161 } 2162 for (var i in config) { 2163 var rule = config[i]; 2164 var match = url.match(rule.url); 2165 if (match && match.length) { 2166 if (tag == 'iframe' || rule[tag]) { 2167 return rule; 2168 } 2169 return false; 2170 } 2171 } 2172 return false; 2173 } 2174 2175 // find elements 2176 var embeds = {}; 2177 var embed_els = document.querySelectorAll(selectors.join(',')); 2178 for (var i = 0; i < embed_els.length; i++) { 2179 var embed_el = embed_els[i]; 2180 try { 2181 var container = embed_el.shadowRoot || embed_el.parentElement; 2182 // find a valid url 2183 for (var j = 0; j < sources.length; j++) { 2184 var source = sources[j]; 2185 var source_els = container.querySelectorAll("[" + source + "]"); 2186 for (var k = 0; k < source_els.length; k++) { 2187 var source_el = source_els[k]; 2188 var tag = source_el.tagName.toLowerCase(); 2189 if (tag == 'iframe' || tag == 'blockquote' || tag == 'span') { 2190 var url = source_el.getAttribute(source); 2191 var rule = getEmbedRule(tag, url); 2192 if (rule) { 2193 if (url[url.length - 1] == '/') { 2194 url = url.substring(0, url.length - 1); 2195 } 2196 embeds[url] = { el: source_el, type: rule.type }; 2197 } 2198 } 2199 } 2200 } 2201 } 2202 catch (err) { 2203 } 2204 } 2205 2206 // gather output 2207 var result = []; 2208 for (var url in embeds) { 2209 if (next) { 2210 next(embeds[url].el, embeds[url].type, url); 2211 } 2212 result.push(url); 2213 } 2214 2215 return result; 2216} 2217st.embeds = st.getEmbeds(); 2218 2219(function() { 2220 window.__sharethis__.COLORS = { 2221 airbnb: '#FF5A5F', 2222 amazon: '#FFB300', 2223 blogger: '#ff8000', 2224 blm: '#000000', 2225 buffer: '#323B43', 2226 copy: '#14682B', 2227 delicious: '#205cc0', 2228 diaspora: '#000000', 2229 discord: "#8c9eff", 2230 digg: '#262626', 2231 douban: '#2E963D', 2232 email: '#7d7d7d', 2233 evernote: '#5BA525', 2234 etsy: '#E67E22', 2235 facebook: '#4267B2', 2236 flickr: '#ff0084', 2237 flipboard: '#e12828', 2238 getpocket: '#ef4056', 2239 gmail: '#D44638', 2240 googlebookmarks: '#4285F4', 2241 github: '#333333', 2242 hackernews: '#ff4000', 2243 houzz: '#4DBC15', 2244 instagram: '#bc2a8d', 2245 instapaper: '#000000', 2246 iorbix: '#364447', 2247 kakao: '#F9DD4A', 2248 kindleit: '#363C3D', 2249 kooapp: '#FACD00', 2250 line: '#00c300', 2251 linkedin: '#0077b5', 2252 livejournal: '#00b0ea', 2253 mailru: '#168de2', 2254 medium: '#333333', 2255 meneame: '#ff6400', 2256 messenger: '#448AFF', 2257 odnoklassniki: '#d7772d', 2258 outlook: '#3070CB', 2259 patreon: '#F96854', 2260 pinterest: '#CB2027', 2261 print: '#222222', 2262 qzone: '#F1C40F', 2263 quora: '#a62100', 2264 refind: '#4286f4', 2265 reddit: '#ff4500', 2266 renren: '#005baa', 2267 sharethis: '#95D03A', 2268 skype: '#00aff0', 2269 sms: '#ffbd00', 2270 snapchat: '#fffc00', 2271 soundcloud: '#ff8800', 2272 spotify: '#1ED760', 2273 surfingbird: '#6dd3ff', 2274 telegram: '#0088cc', 2275 tencentqq: '#5790F7', 2276 threema: '#000000', 2277 trello: '#0D63DE', 2278 tiktok: '#4c4c4c', 2279 tripadvisor: '#1ABC9C', 2280 tumblr: '#32506d', 2281 twitch: '#6441A4', 2282 twitter: '#55acee', 2283 vk: '#4c6c91', 2284 viber: '#645EA4', 2285 vimeo: '#29B6F6', 2286 wechat: '#4EC034', 2287 weibo: '#ff9933', 2288 whatsapp: '#25d366', 2289 wordpress: '#21759b', 2290 xing: '#1a7576', 2291 yelp: '#d32323', 2292 youtube: '#FF0000', 2293 yahoomail: '#720e9e', 2294 yummly: '#E16120', 2295 zillow: '#006aff' 2296 }; 2297 2298}).call(this); 2299 2300(function() { 2301 window.__sharethis__.PRODUCTS = ['custom-share-buttons', 'ecommerce', 'email-list-builder', 'ga', 'gdpr-compliance-tool', 'gdpr-compliance-tool-v2', 'image-share-buttons', 'image-share-buttons-wp', 'inline-follow-buttons', 'inline-reaction-buttons', 'inline-share-buttons', 'inline-share-buttons-wp', 'powr-form-builder', 'powr-popup', 'powr-social-feed', 'privacy-policy-generator', 'privy-share-buttons', 'reviews', 'sop', 'sop-wordpress-plugin', 'sticky-share-buttons', 'sticky-share-buttons-wp', 'top-content', 'unknown', 'video-share-buttons', 'viral-notifications']; 2302 2303}).call(this); 2304 2305(function() { 2306 var st; 2307 2308 st = window.__sharethis__; 2309 2310 st.i18n = { 2311 'angry': { 2312 de: 'wütend', 2313 en: 'angry', 2314 es: 'me enoja', 2315 fr: 'grrr', 2316 it: 'grrr', 2317 ja: 'ã²ã©ãã', 2318 ko: 'íëì', 2319 pt: 'ira', 2320 ru: 'bозмÑÑиÑелÑно', 2321 zh: 'æ' 2322 }, 2323 'Support BLM': { 2324 de: 'Steun BLM', 2325 en: 'Support BLM', 2326 es: 'Subtenu BLM', 2327 fr: 'Soutenir BLM', 2328 it: 'Supporta BLM', 2329 ja: 'BLMããµãã¼ã', 2330 ko: 'BLM ì§ì', 2331 pt: 'Suporte BLM', 2332 ru: 'ÐоддеÑжка BLM', 2333 zh: 'æ¯æBLM', 2334 nl: 'Steun BLM', 2335 ar: 'تبرع ÙØµØ§ÙØ BLM', 2336 bn: 'BLM à¦à§ সাপà§à¦°à§à¦ à¦à¦°à§à¦¨', 2337 hi: 'बà¥à¤à¤²à¤à¤® à¤à¥ सहयà¥à¤', 2338 tr: 'BLM yi Destekle', 2339 vi: 'Ủng há» BLM' 2340 }, 2341 'bookmark': { 2342 de: 'lesezeichen', 2343 en: 'mark', 2344 es: 'marcador',
2345 fr: 'signet', 2346 it: 'segnalibro', 2347 ja: 'ããã', 2348 ko: 'ìí', 2349 pt: 'marca páginas', 2350 ru: 'закладка', 2351 zh: '书ç¾', 2352 nl: 'Markeer', 2353 ar: 'ØªØ«Ø¨ÙØª', 2354 bn: 'মারà§à¦', 2355 hi: 'मारà¥à¤', 2356 tr: 'İÅaretle', 2357 vi: 'Äánh dấu' 2358 }, 2359 'email': { 2360 de: 'emailen', 2361 en: 'email', 2362 es: 'correo electrónico', 2363 fr: 'email', 2364 it: 'e-mail', 2365 ja: 'Eã¡ã¼ã«', 2366 ko: 'ì´ë©ì¼', 2367 pt: 'o email', 2368 ru: 'Ðл. адÑеÑ', 2369 zh: 'çµåé®ä»¶', 2370 nl: 'E-mail', 2371 ar: 'إرساÙ', 2372 bn: 'à¦à¦®à§à¦²', 2373 hi: 'à¤à¤®à¥à¤²', 2374 tr: 'E-posta', 2375 vi: 'Email' 2376 }, 2377 'flip': { 2378 de: 'flip', 2379 en: 'flip', 2380 es: 'Flipear', 2381 fr: 'Ajouter', 2382 it: 'Flip', 2383 ja: 'ããªãã', 2384 ko: 'ê³µì í기', 2385 pt: 'partilhar', 2386 ru: 'ФлипнÑÑÑ', 2387 zh: '翻转', 2388 nl: 'Flip', 2389 ar: 'تغÙÙØ±', 2390 bn: 'à¦à¦²à§à¦à¦¾à¦¨', 2391 hi: 'फ़à¥à¤²à¤¿à¤ª', 2392 tr: 'Döndür', 2393 vi: 'Láºt' 2394 }, 2395 'gmail': { 2396 de: 'emailen', 2397 en: 'email', 2398 es: 'correo electrónico', 2399 fr: 'email', 2400 it: 'e-mail', 2401 ja: 'Eã¡ã¼ã«', 2402 ko: 'ì´ë©ì¼', 2403 pt: 'o email', 2404 ru: 'Ðл. адÑеÑ', 2405 zh: 'çµåé®ä»¶' 2406 }, 2407 'like': { 2408 de: 'mögen', 2409 en: 'like', 2410 es: 'me gusta', 2411 fr: "j'aime", 2412 it: 'mi piace', 2413 ja: 'ãããï¼', 2414 ko: 'ì¢ìì', 2415 pt: 'gosto', 2416 ru: 'hÑавиÑÑÑ', 2417 zh: 'èµ' 2418 }, 2419 'lol': { 2420 de: 'lol', 2421 en: 'lol', 2422 es: 'me divierte', 2423 fr: 'haha', 2424 it: 'ahah', 2425 ja: 'ãããã', 2426 ko: 'ì겨ì', 2427 pt: 'riso', 2428 ru: 'xа-Ñ Ð°', 2429 zh: 'ç¬è¶´' 2430 }, 2431 'love': { 2432 de: 'lieben', 2433 en: 'love', 2434 es: 'me encanta', 2435 fr: "jâadore", 2436 it: 'love', 2437 ja: 'è¶ ãããï¼', 2438 ko: 'ìµê³ ìì', 2439 pt: 'adoro', 2440 ru: 'cÑпеÑ', 2441 zh: '大ç±' 2442 }, 2443 'pin': { 2444 de: 'pin', 2445 en: 'pin', 2446 es: 'pin', 2447 fr: 'épingle', 2448 it: 'pin', 2449 ja: 'ãã³', 2450 ko: 'í', 2451 pt: 'pin', 2452 ru: 'Ðин', 2453 zh: 'é', 2454 nl: 'Pin', 2455 ar: 'Ø¨ÙØªØ±Ø³Øª', 2456 bn: 'পিন', 2457 hi: 'पिन', 2458 tr: 'Pinle', 2459 vi: 'Ghim' 2460 }, 2461 'print': { 2462 de: 'drucken', 2463 en: 'print', 2464 es: 'impresión', 2465 fr: 'mpression', 2466 it: 'stampa', 2467 ja: 'ããªã³ã', 2468 ko: 'ì¸ì', 2469 pt: 'impressão', 2470 ru: 'РаÑпеÑаÑаÑÑ', 2471 zh: 'æå°', 2472 nl: 'Print', 2473 ar: 'طباعة', 2474 bn: 'পà§à¦°à¦¿à¦¨à§à¦ à¦à¦°à§à¦¨', 2475 hi: 'पà¥à¤°à¤¿à¤à¤', 2476 tr: 'Yazdır', 2477 vi: 'In' 2478 }, 2479 'sad': { 2480 de: 'traurig', 2481 en: 'sad', 2482 es: 'me entristece', 2483 fr: 'triste', 2484 it: 'sigh', 2485 ja: 'æ²ããã', 2486 ko: 'ì¬í¼ì', 2487 pt: 'tristeza', 2488 ru: 'cоÑÑвÑÑвÑÑ', 2489 zh: 'å¿ç¢' 2490 }, 2491 'send message': { 2492 zh: 'åä¿¡æ¯' 2493 }, 2494 'share': { 2495 de: 'teilen', 2496 en: 'share', 2497 es: 'compartir', 2498 fr: 'partager', 2499 it: 'condividi', 2500 ja: 'ã·ã§ã¢ãã', 2501 ko: 'ê³µì í기', 2502 pt: 'partilhar', 2503 ru: 'ÐоделиÑÑÑÑ', 2504 zh: 'å享', 2505 nl: 'Deel', 2506 ar: 'Ù Ø´Ø§Ø±ÙØ©', 2507 bn: 'শà§à§à¦¾à¦°', 2508 hi: 'शà¥à¤¯à¤°', 2509 tr: 'PaylaÅ', 2510 vi: 'Chia sẻ' 2511 }, 2512 'shares': { 2513 de: 'teilen', 2514 en: 'shares', 2515 es: 'veces compartido', 2516 fr: 'partages', 2517 it: 'condivisioni', 2518 ja: 'ã·ã§ã¢æ°', 2519 ko: 'ì¬ìí', 2520 pt: 'partilhas', 2521 ru: 'ÐеÑепоÑÑÑ', 2522 zh: '次转å', 2523 nl: 'Deel', 2524 ar: 'Ù Ø´Ø§Ø±ÙØ©', 2525 bn: 'শà§à§à¦¾à¦°', 2526 hi: 'शà¥à¤¯à¤°', 2527 tr: 'PaylaÅ', 2528 vi: 'Chia sẻ' 2529 }, 2530 'snapchat': { 2531 de: 'schnappen', 2532 en: 'snap', 2533 es: 'quebrar',
2534 fr: 'se casser', 2535 it: 'affrettato', 2536 ja: 'ã¹ããã', 2537 ko: 'ì¤ë ', 2538 pt: 'foto', 2539 ru: 'ÑелÑок', 2540 zh: 'å¿«ç §', 2541 nl: 'snap', 2542 ar: 'ÙÙØ±ÙØ¹Ø ÙÙÙØ¬Ø±', 2543 bn: 'аÑнаÑÑка', 2544 hi: 'à¤à¤à¤à¤¾à¤¨à¤¾', 2545 tr: 'patlatmak', 2546 vi: 'búng tay' 2547 }, 2548 'sticky-width': { 2549 de: 120, 2550 en: 120, 2551 es: 140, 2552 fr: 130, 2553 it: 140, 2554 ja: 160, 2555 ko: 120, 2556 pt: 130, 2557 ru: 160, 2558 zh: 120 2559 }, 2560 'subjects': { 2561 'en': "I'd like to share a link with you", 2562 'es': "Me gustarÃa compartir este enlace contigo", 2563 'ru': "Я Ñ Ð¾Ñел Ð±Ñ Ð¿Ð¾Ð´ÐµÐ»Ð¸ÑÑÑÑ Ñ Ð²Ð°Ð¼Ð¸ ÑÑÑлкой", 2564 'zh': "ææ³åä½ å享ä¸ä¸ªä¿¡æ¯" 2565 }, 2566 'tweet': { 2567 de: 'tweeten', 2568 en: 'tweet', 2569 es: 'twittear', 2570 fr: 'tweeter', 2571 it: 'twittare', 2572 ja: 'ãã¤ã¼ããã', 2573 ko: 'í¸ìí기', 2574 pt: 'tweetar', 2575 ru: 'tвиÑнÑÑÑ', 2576 zh: '忍', 2577 nl: 'Tweet', 2578 ar: 'تÙÙØªØ±', 2579 bn: 'à¦à§à¦à¦', 2580 hi: 'à¤à¥à¤µà¥à¤', 2581 tr: 'Tweet', 2582 vi: 'Tweet' 2583 }, 2584 'wow': { 2585 de: 'wow', 2586 en: 'wow', 2587 es: 'me asombra', 2588 fr: 'wouah', 2589 it: 'wow', 2590 ja: 'ãããã', 2591 ko: 'ë©ì ¸ì', 2592 pt: 'surpresa', 2593 ru: 'yÑ ÑÑ!', 2594 zh: 'å' 2595 }, 2596 'yahoomail': { 2597 de: 'emailen', 2598 en: 'email', 2599 es: 'correo electrónico', 2600 fr: 'email', 2601 it: 'e-mail', 2602 ja: 'Eã¡ã¼ã«', 2603 ko: 'ì´ë©ì¼', 2604 pt: 'o email', 2605 ru: 'Ðл. адÑеÑ', 2606 zh: 'çµåé®ä»¶' 2607 } 2608 }; 2609 2610}).call(this); 2611 2612(function() { 2613 var img, is_ie8; 2614 2615 img = window.__sharethis__.img; 2616 2617 is_ie8 = /MSIE 8.0/.test(navigator.userAgent); 2618 2619 window.__sharethis__.cdn = 'https://platform-cdn.sharethis.com'; 2620 2621 window.__sharethis__.ICONS = { 2622 airbnb: img('airbnb.svg'), 2623 amazon: img('amazon.svg'), 2624 arrow_left: img('arrow_left.svg'), 2625 arrow_right: img('arrow_right.svg'), 2626 blogger: img('blogger.svg'), 2627 blm: img('blm.svg'), 2628 buffer: img('buffer.svg'), 2629 close: img('close.svg'), 2630 copy: img('copy.svg'), 2631 delicious: img('delicious.svg'), 2632 diaspora: img('diaspora.svg'), 2633 digg: img('digg.svg'), 2634 discord: img('discord.svg'), 2635 douban: img('douban.svg'), 2636 email: img('email.svg'), 2637 evernote: img('evernote.svg'), 2638 etsy: img('etsy.svg'), 2639 facebook: img('facebook.svg'), 2640 flipboard: img('flipboard.svg'), 2641 getpocket: img('pocket.svg'), 2642 github: img('github.svg'), 2643 gmail: img('gmail.svg'), 2644 googlebookmarks: img('googlebookmarks.svg'), 2645 hackernews: img('hackernews.svg'), 2646 houzz: img('houzz.svg'), 2647 instagram: img('instagram.svg'), 2648 instapaper: img('instapaper.svg'), 2649 iorbix: img('iorbix.svg'), 2650 kakao: img('kakao.svg'), 2651 kindleit: img('kindleit.svg'), 2652 kooapp: img('kooapp.svg'), 2653 line: img('line.svg'), 2654 linkedin: img('linkedin.svg'), 2655 livejournal: img('livejournal.svg'), 2656 mailru: img('mailru.svg'), 2657 medium: img('medium.svg'), 2658 meneame: img('meneame.svg'), 2659 messenger: img('messenger.svg'), 2660 odnoklassniki: img('odnoklassniki.svg'), 2661 outlook: img('outlook.svg'), 2662 patreon: img('patreon.svg'), 2663 pinterest: img('pinterest.svg'), 2664 print: img('print.svg'), 2665 quora: img('quora.svg'), 2666 qzone: img('qzone.svg'), 2667 reddit: img('reddit.svg'), 2668 refind: img('refind.svg'), 2669 renren: img('renren.svg'), 2670 sharethis: img('sharethis.svg'), 2671 skype: img('skype.svg'), 2672 sms: img('sms.svg'), 2673 snapchat: img('snapchat.svg'), 2674 soundcloud: img('soundcloud.svg'), 2675 spotify: img('spotify.svg'), 2676 surfingbird: img('surfingbird.svg'), 2677 telegram: img('telegram.svg'), 2678 tencentqq: img('tencentqq.svg'), 2679 threema: img('threema.svg'), 2680 trello: img('trello.svg'), 2681 tiktok: img('tiktok.svg'), 2682 tripadvisor: img('tripadvisor.svg'), 2683 tumblr: img('tumblr.svg'), 2684 twitch: img('twitch.svg'), 2685 twitter: img('twitter.svg'), 2686 vk: img('vk.svg'), 2687 viber: img('viber.svg'), 2688 vimeo: img('vimeo.svg'), 2689 wechat: img('wechat.svg'), 2690 weibo: img('weibo.svg'), 2691 whatsapp: img('whatsapp.svg'), 2692 wordpress: img('wordpress.svg'), 2693 xing: img('xing.svg'), 2694 yahoomail: img('yahoomail.svg'), 2695 yelp: img('yelp.svg'), 2696 youtube: img('youtube.svg'), 2697 yummly: img('yummly.svg'), 2698 zillow: img('zillow.svg') 2699 }; 2700 2701 window.__sharethis__.ICONS_WHITE = { 2702 airbnb: img('airbnb-white.svg'), 2703 amazon: img('amazon-white.svg'), 2704 blogger: img('blogger-white.svg'), 2705 blm: img('blm-white.svg'), 2706 buffer: img('buffer-white.svg'), 2707 copy: img('copy-white.svg'), 2708 delicious: img('delicious-white.svg'), 2709 diaspora: img('diaspora-white.svg'), 2710 digg: img('digg-white.svg'), 2711 discord: img('discord-white.svg'), 2712 douban: img('douban-white.svg'), 2713 email: img('email-white.svg'), 2714 etsy: img('etsy-white.svg'), 2715 evernote: img('evernote-white.svg'), 2716 facebook: img('facebook-white.svg'), 2717 flipboard: img('flipboard-white.svg'), 2718 getpocket: img('pocket-white.svg'), 2719 github: img('github-white.svg'), 2720 gmail: img('gmail-white.svg'), 2721 googlebookmarks: img('googlebookmarks-white.svg'), 2722 hackernews: img('hackernews-white.svg'), 2723 houzz: img('houzz-white.svg'), 2724 instagram: img('instagram-white.svg'), 2725 instapaper: img('instapaper-white.svg'), 2726 iorbix: img('iorbix-white.svg'), 2727 kakao: img('kakao-white.svg'), 2728 kindleit: img('kindleit-white.svg'), 2729 kooapp: img('kooapp-white.svg'), 2730 line: img('line-white.svg'), 2731 linkedin: img('linkedin-white.svg'), 2732 livejournal: img('livejournal-white.svg'), 2733 mailru: img('mailru-white.svg'), 2734 medium: img('medium-white.svg'), 2735 meneame: img('meneame-white.svg'), 2736 messenger: img('messenger-white.svg'),
2737 odnoklassniki: img('odnoklassniki-white.svg'), 2738 outlook: img('outlook-white.svg'), 2739 patreon: img('patreon-white.svg'), 2740 pinterest: img('pinterest-white.svg'), 2741 print: img('print-white.svg'), 2742 quora: img('quora-white.svg'), 2743 qzone: img('qzone-white.svg'), 2744 reddit: img('reddit-white.svg'), 2745 refind: img('refind-white.svg'), 2746 renren: img('renren-white.svg'), 2747 sharethis: img('sharethis-white.svg'), 2748 skype: img('skype-white.svg'), 2749 sms: img('sms-white.svg'), 2750 snapchat: img('snapchat-white.svg'), 2751 soundcloud: img('soundcloud-white.svg'), 2752 spotify: img('spotify-white.svg'), 2753 surfingbird: img('surfingbird-white.svg'), 2754 telegram: img('telegram-white.svg'), 2755 telegram: img('telegram-white.svg'), 2756 tencentqq: img('tencentqq-white.svg'), 2757 threema: img('threema-white.svg'), 2758 trello: img('trello-white.svg'), 2759 tiktok: img('tiktok-white.svg'), 2760 tripadvisor: img('tripadvisor-white.svg'), 2761 tumblr: img('tumblr-white.svg'), 2762 twitch: img('twitch-white.svg'), 2763 twitter: img('twitter-white.svg'), 2764 vk: img('vk-white.svg'), 2765 viber: img('viber-white.svg'), 2766 vimeo: img('vimeo-white.svg'), 2767 wechat: img('wechat-white.svg'), 2768 weibo: img('weibo-white.svg'), 2769 whatsapp: img('whatsapp-white.svg'), 2770 wordpress: img('wordpress-white.svg'), 2771 xing: img('xing-white.svg'), 2772 yahoomail: img('yahoomail-white.svg'), 2773 ycombinator: img('ycombinator-white.svg'), 2774 yelp: img('yelp-white.svg'), 2775 youtube: img('youtube-white.svg'), 2776 yummly: img('yummly-white.svg'), 2777 zillow: img('zillow-white.svg') 2778 }; 2779 2780 if (is_ie8) { 2781 window.__sharethis__.ICONS = { 2782 arrow_left: img('left-arrow.png'), 2783 arrow_right: img('right-arrow.png'), 2784 blogger: img('blogger.png'), 2785 delicious: img('delicious.png'), 2786 digg: img('digg.png'), 2787 email: img('email.png'), 2788 facebook: img('facebook.png'), 2789 flipboard: img('flipboard.png'), 2790 linkedin: img('linkedin.png'), 2791 livejournal: img('livejournal.png'), 2792 mailru: img('mailru.png'), 2793 meneame: img('mename.png'), 2794 odnoklassniki: img('odnoklassniki.png'), 2795 pinterest: img('pinterest.png'), 2796 print: img('print.png'), 2797 reddit: img('reddit.png'), 2798 sharethis: img('sharethis.png'), 2799 sms: img('sms.png'), 2800 tumblr: img('tumblr.png'), 2801 twitter: img('twitter.png'), 2802 vk: img('vk.png'), 2803 weibo: img('weibo.png'), 2804 whatsapp: img('whatsapp.png'), 2805 xing: img('xing.png'), 2806 wechat: img('wechat.png') 2807 }; 2808 } 2809 2810}).call(this); 2811 2812(function() { 2813 var st; 2814 2815 st = window.__sharethis__; 2816 2817 st.networks = ['airbnb', 'amazon', 'blogger', 'blm', 'buffer', 'copy', 'diaspora', 'digg', 'discord', 'douban', 'email', 'evernote', 'etsy', 'facebook', 'flipboard', 'getpocket', 'github', 'gmail', 'hackernews', 'houzz', 'instapaper', 'iorbix', 'kakao', 'kindleit', 'kooapp', 'line', 'linkedin', 'livejournal', 'mailru', 'meneame', 'messenger', 'odnoklassniki', 'outlook', 'pinterest', 'print', 'qzone', 'reddit', 'refind', 'sharethis', 'skype', 'sms', 'snapchat', 'surfingbird', 'telegram', 'tencentqq', 'tiktok', 'trello', 'tripadvisor', 'tumblr', 'twitter', 'vk', 'viber', 'vimeo', 'wechat', 'weibo', 'whatsapp', 'wordpress', 'xing', 'yahoomail', 'yummly', 'zillow']; 2818 2819 st.shareNetworks = ['blm', 'blogger', 'buffer', 'copy', 'diaspora', 'digg', 'douban', 'email', 'evernote', 'facebook', 'flipboard', 'getpocket', 'gmail', 'hackernews', 'instapaper', 'iorbix', 'kakao', 'kindleit', 'kooapp', 'line', 'linkedin', 'livejournal', 'mailru', 'meneame', 'messenger', 'odnoklassniki', 'outlook', 'pinterest', 'print', 'qzone', 'reddit', 'refind', 'sharethis', 'skype', 'sms', 'surfingbird', 'telegram', 'tencentqq', 'trello', 'tumblr', 'twitter', 'vk', 'viber', 'wechat', 'weibo', 'whatsapp', 'wordpress', 'xing', 'yahoomail', 'yummly']; 2820 2821 st.followNetworks = ['airbnb', 'amazon', 'blogger', 'digg', 'discord', 'etsy', 'facebook', 'flipboard', 'github', 'houzz', 'instagram', 'linkedin', 'medium', 'messenger', 'odnoklassniki', 'patreon', 'pinterest', 'quora', 'reddit', 'snapchat', 'soundcloud', 'spotify', 'telegram', 'tiktok', 'tripadvisor', 'tumblr', 'twitch', 'twitter', 'vimeo', 'vk', 'wechat', 'weibo', 'yelp', 'youtube', 'zillow']; 2822 2823}).call(this); 2824 2825(function() { 2826 var st; 2827 2828 st = window.__sharethis__; 2829 2830 st.loader['share-all'] = function(config) { 2831 var $backdrop, $button, $buttons, $close, $el, common_css, count_url, css, description, html, i, id, image, j, len, len1, logo_link, message, network, network_css, ref, ref1, share_url, src, title, url, username; 2832 if (config == null) { 2833 config = {}; 2834 } 2835 count_url = config.count_url, share_url = config.share_url, url = config.url, description = config.description, image = config.image, message = config.message, network = config.network, title = config.title, username = config.username; 2836 ref = st.newElement(), $el = ref.$el, id = ref.id; 2837 st.addClass($el, 'st-hidden'); 2838 common_css = "body.st-body-no-scroll {\n bottom: 0;\n left: 0;\n overflow: hidden;\n position: fixed;\n right: 0;\n top: 0;\n}\n#" + id + " {\n " + st.FONT_FAMILY + "\n " + (st.TRANSITION()) + "\n height: 100%;\n left: 0;\n opacity: 1;\n position: fixed;\n top: 0;\n width: 100%;\n z-index: 99999;\n}\n#" + id + ".st-hidden {\n opacity: 0;\n top: 100%;\n}\n#" + id + " .st-backdrop {\n background: rgba(0, 0, 0, 0.8);\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n z-index: 10;\n}\n#" + id + " .st-btns {\n bottom: 56px;\n left: 0;\n margin: 100px auto 0;\n max-width: 90%;\n position: absolute;\n right: 0;\n text-align: center;\n top: 10px;\n z-index: 20;\n overflow-y: auto;\n}\n#" + id + " .st-logo {\n background: #4c4c4c;\n bottom: 0;\n cursor: pointer;\n padding: 20px;\n position: absolute;\n text-align: center;\n width: 100%;\n z-index: 30;\n}\n#" + id + " .st-close {\n " + (st.BORDER_RADIUS(28)) + "\n " + st.BORDER_BOX + "\n background: #999;\n bottom: 28px;\n color: #fff;
2838\n cursor: pointer;\n font-size: 36px;\n height: 56px;\n line-height: 28px;\n padding: 10px;\n position: absolute;\n right: 14px;\n width: 56px;\n z-index: 40;\n}\n#" + id + " .st-disclaimer {\n bottom: 72px;\n color: white;\n font-size: 12px;\n left: 50%;\n position: absolute;\n transform: translate(-50%, 0);\n z-index: 30;\n}\n#" + id + " .st-close > img {\n height: 40px;\n width: 40px;\n}\n#" + id + " .st-btn {\n " + (st.BORDER_RADIUS(4)) + "\n " + st.BORDER_BOX + "\n " + (st.TRANSITION()) + "\n color: white;\n cursor: pointer;\n display: inline-block;\n font-size: 12px;\n font-weight: 400;\n height: 48px;\n line-height: 30px;\n margin: 4px;\n opacity: 1;\n overflow: hidden;\n padding: 8px 12px;\n position: relative;\n text-align: left;\n top: 0;\n vertical-align: top;\n width: 148px;\n}\n#" + id + " .st-btn::before {\n " + (st.BORDER_RADIUS(4)) + "\n " + (st.TRANSITION()) + "\n background: #fff;\n content: '';\n height: 100%;\n left: 0;\n opacity: 0;\n position: absolute;\n top: 0;\n width: 100%;\n}\n#" + id + " .st-btn:hover::before {\n opacity: .2;\n}\n#" + id + " .st-btn > svg {\n display: inline-block;\n height: 20px;\n margin-top: 6px;\n vertical-align: top;\n width: 20px;\n}\n#" + id + " .st-btn > img {\n display: inline-block;\n height: 20px;\n margin-top: 6px;\n vertical-align: top;\n width: 20px;\n}\n#" + id + " .st-btn > span {\n display: inline-block;\n letter-spacing: 0.5px;\n text-align: center;\n vertical-align: top;\n width: 96px;\n}\n@media(max-width: 1200px) {\n #" + id + " .st-btns {\n margin-top: 50px;\n }\n}\n@media(max-width: 800px) {\n #" + id + " .st-btns {\n margin: 0 auto;\n max-width: 100%;\n padding: 32px 10px 50px;\n }\n #" + id + " .st-btn {\n width: 130px;\n }\n #" + id + " .st-btn > span {\n width: 74px;\n }\n #" + id + " .st-disclaimer {\n background: #000;\n bottom: 44px;\n font-size: 10px;\n padding: 8px;\n text-align: center;\n width: 100%\n }\n}"; 2839 network_css = ((function() { 2840 var i, len, ref1, results; 2841 ref1 = st.shareNetworks; 2842 results = []; 2843 for (i = 0, len = ref1.length; i < len; i++) { 2844 network = ref1[i]; 2845 results.push("#" + id + " .st-btn[data-network='" + network + "'] {\n background-color: " + st.COLORS[network] + ";\n}"); 2846 } 2847 return results; 2848 })()).join('\n'); 2849 css = common_css; 2850 css += network_css; 2851 st.css(css); 2852 html = "<div class='st-backdrop'></div>"; 2853 html += "<div class='st-btns'>"; 2854 ref1 = st.shareNetworks; 2855 for (i = 0, len = ref1.length; i < len; i++) { 2856 network = ref1[i]; 2857 if (network === 'sharethis') { 2858 continue; 2859 } 2860 if (!st.mobile && (network === 'sms')) { 2861 continue; 2862 } 2863 html += "<div class='st-btn' data-network='" + network + "'>\n " + st.ICONS[network] + "\n <span>" + network + "</span>\n</div>"; 2864 } 2865 html += "</div>"; 2866 src = 'https://platform-cdn.sharethis.com/img/share-this-logo%402x.png'; 2867 logo_link = "https://sharethis.com/platform/share-buttons?" + st.qs({ 2868 utm_source: "share-buttons", 2869 utm_medium: "referral", 2870 utm_campaign: "sharethis-button-referral" 2871 }); 2872 html += "<div class=\"st-logo\">\n <a href=\"" + logo_link + "\" target=\"_blank\">\n <img height=\"16\" width=\"96\" src=\"" + src + "\">\n </a>\n</div>"; 2873 html += "<div class=\"st-close\">\n " + st.ICONS['close'] + "\n</div>"; 2874 html += "<div class=\"st-disclaimer\">\n Third-party platform trademarks and logos appearing here are owned by the\n respective third parties, link to those referenced platforms, and are not\n affiliated with ShareThis.\n</div>"; 2875 $el.innerHTML = html; 2876 $backdrop = $el.querySelector('.st-backdrop'); 2877 $buttons = $el.querySelectorAll('.st-btn'); 2878 $close = $el.querySelector('.st-close'); 2879 st.addEventListener($backdrop, 'click', function() { 2880 return st.close($el); 2881 }); 2882 st.addEventListener($close, 'click', function() { 2883 return st.close($el); 2884 }); 2885 st.addEventListener(document, 'keydown', function(e) { 2886 if (st.isEsc(e)) { 2887 return st.close($el); 2888 } 2889 }); 2890 for (j = 0, len1 = $buttons.length; j < len1; j++) { 2891 $button = $buttons[j]; 2892 st.addEventListener($button, 'click', function() { 2893 st.close($el); 2894 return st.share({ 2895 description: description, 2896 image: image, 2897 network: this.getAttribute('data-network'), 2898 share_url: share_url, 2899 title: title, 2900 url: url, 2901 username: username 2902 }); 2903 }); 2904 } 2905 return setTimeout((function() { 2906 st.removeClass($el, 'st-hidden'); 2907 return st.addClass(document.body, 'st-body-no-scroll'); 2908 }), 10); 2909 }; 2910 2911}).call(this); 2912 2913(function() { 2914 var st; 2915 2916 st = window.__sharethis__; 2917 2918 st.loader['share-wechat-mobile'] = function(config) { 2919 var $backdrop, $close, $copy, $el, $form_input, $open, html, id, mobile_css, ref, src, url; 2920 if (config == null) { 2921 config = {}; 2922 } 2923 url = config.url; 2924 ref = st.newElement(), $el = ref.$el, id = ref.id; 2925 st.addClass($el, 'st-hidden'); 2926 mobile_css = "body.st-body-no-scroll {\n bottom: 0;\n left: 0;\n overflow: hidden;\n position: fixed;\n right: 0;\n top: 0;\n}\n#" + id + " {\n " + (st.TRANSITION()) + "\n " + st.FONT_FAMILY + "\n bottom: 0;\n left: 0;\n opacity: 1;\n overflow-y: auto;\n padding-bottom: 100px;\n position: fixed;\n right: 0;\n text-align: center;\n top: 0;\n width: 100%;\n z-index: 99999;\n}\n\n#" + id + ".st-hidden {\n opacity: 0;\n top: 100%;\n}\n#" + id + " .st-backdrop {\n background: rgba(0, 0, 0, 0.8);\n bottom: 0;\n left: 0;\n position: fixed;\n right: 0;\n top: 0;\n z-index: 10;\n}\n#" + id + " .st-wechat {\n margin-top: 120px;\n height: 64px;\n width: 220px;\n display: inline-block;\n position: relative;\n z-index: 10;\n}\n#" + id + " .st-form {\n margin: 20px auto;\n max-width: 80%;\n position: relative;\n width: 320px;\n z-index: 20;\n}\n#" + id + " .st-form > input {\n " + st.BORDER_BOX + "\n " + (st.BORDER_RADIUS(4)) + "\n background-color: #fff;\n border: 0;\n color: #333;\n display: block;\n font-size: 16px;\n height: 48px;\n margin-bottom: 15px;\n padding: 12px;\n width: 100%;\n}\n#" + id + " .st-form > textarea {\n " + st.BORDER_BOX + "\n " + (st.BORDER_RADIUS(4)) + "\n background-color: #fff;\n border: 0;\n color: #333;\n display: block;\n font-size: 16px;\n height: 96px;\n margin-bottom: 15px;\n padding: 12px;\n width: 100%;\n}\n#" + id + " .st-copy {\n " + (st.BORDER_RADIUS(2)) + "\n background: #4EC034;\n color: #fff;
2926\n cursor: pointer;\n display: inline-block;\n height: 36px;\n letter-spacing: .5px;\n line-height: 36px;\n margin: 15px auto 0 auto;\n padding: 0 10px;\n position: relative;\n text-align: center;\n min-width: 120px;\n z-index: 20;\n}\n#" + id + " .st-open {\n " + (st.BORDER_RADIUS(2)) + "\n background: #4EC034;\n color: #fff;\n cursor: pointer;\n display: inline-block;\n height: 36px;\n letter-spacing: .5px;\n line-height: 36px;\n margin: 15px auto 0 auto;\n padding: 0 10px;\n position: relative;\n text-align: center;\n min-width: 120px;\n z-index: 20;\n}\n#" + id + " .st-logo {\n background: #4c4c4c;\n bottom: 0;\n padding: 20px;\n position: fixed;\n text-align: center;\n width: 100%;\n z-index: 30;\n}\n#" + id + " .st-close {\n " + (st.BORDER_RADIUS(28)) + "\n " + st.BORDER_BOX + "\n background: #999;\n bottom: 28px;\n color: #fff;\n cursor: pointer;\n font-size: 36px;\n height: 56px;\n line-height: 28px;\n padding: 10px;\n position: fixed;\n right: 14px;\n width: 56px;\n z-index: 40;\n}"; 2927 st.css(mobile_css); 2928 html = "<div class='st-backdrop'></div>"; 2929 html += "<div class='st-wechat'>" + st.ICONS['wechatIcon'] + "</div>"; 2930 html += "<div class='st-form'>\n <input class=\"st-url\" type=\"text\" value=\"\" />\n</div>"; 2931 html += "<div class=\"st-copy\">Copy URL</div>\n<div class=\"st-open\" style=\"display: none\">Open WeChat</div>"; 2932 src = 'https://platform-cdn.sharethis.com/img/share-this-logo%402x.png'; 2933 html += "<div class=\"st-logo\">\n <img height=\"16\" width=\"96\" src=\"" + src + "\">\n</div>"; 2934 html += "<div class=\"st-close\">\n " + st.ICONS['close'] + "\n</div>"; 2935 $el.innerHTML = html; 2936 $form_input = $el.querySelector('.st-form > input'); 2937 $backdrop = $el.querySelector('.st-backdrop'); 2938 $close = $el.querySelector('.st-close'); 2939 $copy = $el.querySelector('.st-copy'); 2940 $open = $el.querySelector('.st-open'); 2941 $form_input.value = url; 2942 st.addEventListener($backdrop, 'click', function() { 2943 return st.close($el); 2944 }); 2945 st.addEventListener($close, 'click', function() { 2946 return st.close($el); 2947 }); 2948 st.addEventListener($copy, 'click', function() { 2949 var succeed; 2950 $form_input.setSelectionRange(0, $form_input.value.length); 2951 succeed = document.execCommand('copy'); 2952 if (succeed) { 2953 $copy.innerText = 'Copied!'; 2954 $copy.style.background = '#f9a825'; 2955 return $open.style.display = 'inline-block'; 2956 } 2957 }); 2958 st.addEventListener($open, 'click', function() { 2959 var onError; 2960 onError = function(err) { 2961 $open.innerText = err; 2962 $open.style.background = '#c62828'; 2963 if (st.__share_email_timeout) { 2964 clearTimeout(st.__share_email_timeout); 2965 } 2966 return st.__share_email_timeout = setTimeout((function() { 2967 $open.innerText = 'Open'; 2968 return $open.style.background = '#00c853'; 2969 }), 2000); 2970 }; 2971 $open.innerText = 'Opening...'; 2972 $open.style.background = '#f9a825'; 2973 url = 'weixin://'; 2974 return st.open(url); 2975 }); 2976 st.addEventListener(document, 'keydown', function(e) { 2977 if (st.isEsc(e)) { 2978 return st.close($el); 2979 } 2980 }); 2981 return setTimeout((function() { 2982 st.removeClass($el, 'st-hidden'); 2983 return st.addClass(document.body, 'st-body-no-scroll'); 2984 }), 10); 2985 }; 2986 2987}).call(this); 2988 2989(function() { 2990 var st; 2991 2992 st = window.__sharethis__; 2993 2994 st.REACTIONS = { 2995 slight_smile: { 2996 icon: "<circle cx=\"32\" cy=\"32\" r=\"30\" fill=\"#ffdd67\"/><g fill=\"#664e27\"><circle cx=\"20.5\" cy=\"26.6\" r=\"5\"/><circle cx=\"43.5\" cy=\"26.6\" r=\"5\"/><path d=\"m44.6 40.3c-8.1 5.7-17.1 5.6-25.2 0-1-.7-1.8.5-1.2 1.6 2.5 4 7.4 7.7 13.8 7.7s11.3-3.6 13.8-7.7c.6-1.1-.2-2.3-1.2-1.6\"/></g>", 2997 label: 'like' 2998 }, 2999 heart_eyes: { 3000 icon: "<path d=\"M62,32c0,16.6-13.4,30-30,30C15.4,62,2,48.6,2,32C2,15.4,15.4,2,32,2C48.6,2,62,15.4,62,32z\" fill=\"#ffdd67\"/><g fill=\"#f46767\"><path d=\"m61.8 13.2c-.5-2.7-2-4.9-4.5-5.6-2.7-.7-5.1.3-7.4 2.7-1.3-3.6-3.3-6.3-6.5-7.7-3.2-1.4-6.4-.4-8.4 2.1-2.1 2.6-2.9 6.7-.7 12 2.1 5 11.4 15 11.7 15.3.4-.2 10.8-6.7 13.3-9.9 2.5-3.1 3-6.2 2.5-8.9\"/><path d=\"m29 4.7c-2-2.5-5.2-3.5-8.4-2.1-3.2 1.4-5.2 4.1-6.5 7.7-2.4-2.3-4.8-3.4-7.5-2.6-2.4.7-4 2.9-4.5 5.6-.5 2.6.1 5.8 2.5 8.9 2.6 3.1 13 9.6 13.4 9.8.3-.3 9.6-10.3 11.7-15.3 2.2-5.3 1.4-9.3-.7-12\"/></g><path d=\"m49 38.1c0-.8-.5-1.8-1.8-2.1-3.5-.7-8.6-1.3-15.2-1.3-6.6 0-11.7.7-1
30005.2 1.3-1.4.3-1.8 1.3-1.8 2.1 0 7.3 5.6 14.6 17 14.6 11.4-.1 17-7.4 17-14.6\" fill=\"#664e27\"/><path d=\"m44.7 38.3c-2.2-.4-6.8-1-12.7-1-5.9 0-10.5.6-12.7 1-1.3.2-1.4.7-1.3 1.5.1.4.1 1 .3 1.6.1.6.3.9 1.3.8 1.9-.2 23-.2 24.9 0 1 .1 1.1-.2 1.3-.8.1-.6.2-1.1.3-1.6 0-.8-.1-1.3-1.4-1.5\" fill=\"#fff\"/>", 3001 label: 'love' 3002 }, 3003 laughing: { 3004 icon: "<circle cx=\"32\" cy=\"32\" r=\"30\" fill=\"#ffdd67\"/><g fill=\"#664e27\"><path d=\"m51.7 19.4c.6.3.3 1-.2 1.1-2.7.4-5.5.9-8.3 2.4 4 .7 7.2 2.7 9 4.8.4.5-.1 1.1-.5 1-4.8-1.7-9.7-2.7-15.8-2-.5 0-.9-.2-.8-.7 1.6-7.3 10.9-10 16.6-6.6\"/><path d=\"m12.3 19.4c-.6.3-.3 1 .2 1.1 2.7.4 5.5.9 8.3 2.4-4 .7-7.2 2.7-9 4.8-.4.5.1 1.1.5 1 4.8-1.7 9.7-2.7 15.8-2 .5 0 .9-.2.8-.7-1.6-7.3-10.9-10-16.6-6.6\"/><path d=\"m49.7 34.4c-.4-.5-1.1-.4-1.9-.4-15.8 0-15.8 0-31.6 0-.8 0-1.5-.1-1.9.4-3.9 5 .7 19.6 17.7 19.6 17 0 21.6-14.6 17.7-19.6\"/></g><path d=\"m33.8 41.7c-.6 0-1.5.5-1.1 2 .2.7 1.2 1.6 1.2 2.8 0 2.4-3.8 2.4-3.8 0 0-1.2 1-2 1.2-2.8.3-1.4-.6-2-1.1-2-1.6 0-4.1 1.7-4.1 4.6 0 3.2 2.7 5.8 6 5.8s6-2.6 6-5.8c-.1-2.8-2.7-4.5-4.3-4.6\" fill=\"#4c3526\"/><path d=\"m24.3 50.7c2.2 1 4.8 1.5 7.7 1.5s5.5-.6 7.7-1.5c-2.1-1.1-4.7-1.7-7.7-1.7s-5.6.6-7.7 1.7\" fill=\"#ff717f\"/><path d=\"m47 36c-15 0-15 0-29.9 0-2.1 0-2.1 4-.1 4 10.4 0 19.6 0 30 0 2 0 2-4 0-4\" fill=\"#fff\"/>", 3005 label: 'lol' 3006 }, 3007 astonished: { 3008 icon: "<circle cx=\"32\" cy=\"32\" r=\"30\" fill=\"#ffdd67\"/><circle cx=\"19\" cy=\"29\" r=\"11\" fill=\"#fff\"/><path d=\"m24 29c0 2.8-2.2 5-5 5-2.8 0-5-2.2-5-5s2.2-5 5-5c2.8 0 5 2.2 5 5\" fill=\"#664e27\"/><path d=\"m56 29c0 6.1-4.9 11-11 11-6.1 0-11-4.9-11-11 0-6.1 4.9-11 11-11 6.1 0 11 4.9 11 11\" fill=\"#fff\"/><path d=\"m50 29c0 2.8-2.2 5-5 5-2.8 0-5-2.2-5-5s2.2-5 5-5c2.8 0 5 2.2 5 5\" fill=\"#664e27\"/><g fill=\"#917524\"><path d=\"m50.2 15.8c-3.2-2.7-7.5-3.9-11.7-3.1-.6.1-1.1-2-.4-2.2 4.8-.9 9.8.5 13.5 3.6.6.5-1 2.1-1.4 1.7\"/><path d=\"m25.5 12.5c-4.2-.7-8.5.4-11.7 3.1-.4.4-2-1.2-1.4-1.7 3.7-3.2 8.7-4.5 13.5-3.6.7.2.2 2.3-.4 2.2\"/></g><circle cx=\"32\" cy=\"49\" r=\"9\" fill=\"#664e27\"/><path d=\"m26 46c1.2-2.4 3.4-4 6-4 2.6 0 4.8 1.6 6 4h-12\" fill=\"#fff\"/>", 3009 label: 'wow' 3010 }, 3011 sob: { 3012 icon: "<g fill=\"#65b1ef\"><ellipse cx=\"17.5\" cy=\"59.9\" rx=\"12.5\" ry=\"1.5\"/><ellipse cx=\"44\" cy=\"60.2\" rx=\"18\" ry=\"1.8\"/></g><circle cx=\"32\" cy=\"32\" r=\"30\" fill=\"#ffdd67\"/><path d=\"m44.7 46c-1.4-3.6-4.8-6-12.7-6-8 0-11.3 2.4-12.7 6-.7 1.9.3 5 .3 5 1.3 3.9 1.1 5 12.4 5 11.3 0 11.1-1.1 12.4-5 0 0 1.1-3.1.3-5\" fill=\"#664e27\"/><path d=\"m41 45c.1-.3 0-.6-.2-.8 0 0-2-2.2-8.8-2.2-6.8 0-8.8 2.2-8.8 2.2-.2.1-.2.5-.2.8l.2.6c.1.3.3.5.5.5h16.6c.2 0 .5-.2.5-.5l.2-.6\" fill=\"#fff\"/><g fill=\"#65b1ef\"><path d=\"m44.5 60.5c2.3 0 4.6 0 6.8 0 8.2-9.9-1.5-20 .9-29.8-2.3 0-4.6 2.5-6.8 2.5-3.2 9.5 7.3 17.4-.9 27.3\"/><path d=\"m19.5 60.5c-2.3 0-4.6 0-6.8 0-8.2-9.9 1.5-20-.9-29.8 2.3 0 4.6 2.5 6.8 2.5 3.2 9.5-7.3 17.4.9 27.3\"/></g><g fill=\"#917524\"><path d=\"m40.7 18.3c3 3 7.2 4.5 11.4 4.1.6-.1.9 2.1.2 2.2-4.9.4-9.7-1.3-13.1-4.8-.6-.5 1.1-1.9 1.5-1.5\"/><path d=\"m12 22.4c4.2.4 8.4-1.1 11.4-4.1.4-.4 2.1 1 1.6 1.5-3.4 3.5-8.3 5.2-13.1 4.8-.9 0-.5-2.2.1-2.2\"/></g><g fill=\"#664e27\"><path d=\"m35.9 30.3c4.2 8 12.7 8 16.9 0 .2-.4-.3-.6-1-1-4.2 3.3-11.1 3-14.9 0-.6.4-1.2.6-1 1\"/><path d=\"m11.2 30.3c4.2 8 12.7 8 16.9 0 .2-.4-.3-.6-1-1-4.2 3.3-11.1 3-14.9 0-.7.4-1.2.6-1 1\"/></g>", 3013 label: 'sad' 3014 }, 3015 rage: { 3016 icon: "<circle cx=\"32\" cy=\"32\" r=\"30\" fill=\"#ef5350\"/><path d=\"m41 49.7c-5.8-4.8-12.2-4.8-18 0-.7.6-1.3-.4-.8-1.3 1.8-3.4 5.3-6.5 9.8-6.5s8.1 3.1 9.8 6.5c.5.8-.1 1.8-.8 1.3\" fill=\"#302424\"/><path d=\"m10.2 24.9c-1.5 4.7.6 10 5.3 12.1 4.6 2.2 10 .5 12.7-3.7l-6.9-7.7-11.1-.7\" fill=\"#fff\"/><g fill=\"#302424\"><path d=\"m14.2 25.8c-1.4 2.9-.1 6.4 2.8 7.7 2.9 1.4 6.4.1 7.7-2.8 1-1.9-9.6-6.8-10.5-4.9\"/><path d=\"m10.2 24.9c1.6-1 3.5-1.5 5.4-1.5 1.9 0 3.8.5 5.6 1.3 1.7.8 3.3 2 4.6 3.4 1.2 1.5 2.2 3.2 2.4 5.1-1.3-1.3-2.6-2.4-4-3.4-1.4-1-2.8-1.8-4.2-2.4-1.5-.7-3-1.2-4.6-1.7-1.8-.3-3.4-.6-5.2-.8\"/></g><path d=\"m53.8 24.9c1.5 4.7-.6 10-5.3 12.1-4.6 2.2-10 .5-12.7-3.7l6.9-7.7 11.1-.7\" fill=\"#fff\"/><g fill=\"#302424\"><path d=\"m49.8 25.8c1.4 2.9.1 6.4-2.8 7.7-2.9 1.4-6.4.1-7.7-2.8-1-1.9 9.6-6.8 10.5-4.9\"/><path d=\"m53.8 24.9c-1.6-1-3.5-1.5-5.4-1.5-1.9 0-3.8.5-5.6 1.3-1.7.8-3.3 2-4.6 3.4-1.2 1.5-2.2 3.2-2.4 5.1 1.3-1.3 2.6-2.4 4-3.4 1.4-1 2.8-1.8 4.2-2.4 1.5-.7 3-1.2 4.6-1.7 1.8-.3 3.4-.6 5.2-.8\"/></g>", 3017 label: 'angry'
3018 } 3019 }; 3020 3021}).call(this); 3022 3023(function() { 3024 var i, len, ref, ref1, ref2, ref3, ref4, script, scripts, src, st, 3025 indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; 3026 3027 st = window.__sharethis__; 3028 3029 if (st.loaded) { 3030 return; 3031 } 3032 3033 st.loaded = true; 3034 3035 scripts = document.getElementsByTagName('script') || []; 3036 3037 for (i = 0, len = scripts.length; i < len; i++) { 3038 script = scripts[i]; 3039 src = script.getAttribute('src'); 3040 if (/\/js\/sharethis.js/.test(src)) { 3041 st.src = src; 3042 st.cms = (ref = /cms=([a-zA-Z0-9]+)/.exec(src)) != null ? ref[1] : void 0; 3043 st.product = (ref1 = /product=([a-zA-Z0-9-]+)/.exec(src)) != null ? ref1[1] : void 0; 3044 st.property = (ref2 = /property=([a-zA-Z0-9]+)/.exec(src)) != null ? ref2[1] : void 0; 3045 st.source = (ref3 = /source=([a-zA-Z0-9-]+)/.exec(src)) != null ? ref3[1] : void 0; 3046 } 3047 } 3048 3049 if (st.cms == null) { 3050 st.cms = 'unknown'; 3051 } 3052 3053 st.href = document.location.href; 3054 3055 if (st.source == null) { 3056 st.source = 'sharethis.js'; 3057 } 3058 3059 if (st.property == null) { 3060 st.property = 'anonymous'; 3061 } 3062 3063 if (st.product == null) { 3064 st.product = 'unknown'; 3065 } 3066 3067 if (ref4 = st.product, indexOf.call(st.PRODUCTS, ref4) < 0) { 3068 st.product = 'unknown'; 3069 } 3070 3071 st.initialize = function(options) { 3072 st.init = function(config) { 3073 st.config = config; 3074 return window.__sharethis__docReady(function() { 3075 var j, len1, product, ref5, results; 3076 if (typeof window.onShareThisLoaded === "function") { 3077 window.onShareThisLoaded(); 3078 } 3079 ref5 = st.PRODUCTS; 3080 results = []; 3081 for (j = 0, len1 = ref5.length; j < len1; j++) { 3082 product = ref5[j]; 3083 results.push(st.load(product, config[product])); 3084 } 3085 return results; 3086 }); 3087 }; 3088 if (st.config) { 3089 return st.init(st.config); 3090 } 3091 if (st.property !== 'anonymous') { 3092 return st.js("https://buttons-config.sharethis.com/js/" + st.property + ".js"); 3093 } else { 3094 return setTimeout((function() { 3095 return st.init({}); 3096 }), 10); 3097 } 3098 }; 3099 3100 st.initialize(); 3101 3102 st.ibl(); 3103 3104 st.ecommerce(); 3105 3106 st.floc(); 3107 3108}).call(this); 3109 3110var __stdos__ = __stdos__ || {}; 3111 3112var tpcCookiesEnableCheckingDone = false; 3113var tpcCookiesEnabledStatus = true; 3114 3115if (typeof(__stdos__.data) == "undefined") { 3116 __stdos__.data = { 3117 bInit: false, 3118 pageInfo: {}, 3119 resetPageData: function() { 3120 __stdos__.data.pageInfo.hostname = ""; 3121 __stdos__.data.pageInfo.location = ""; 3122 __stdos__.data.pageInfo.product = "DOS2" 3123 __stdos__.data.pageInfo.url = ""; 3124 __stdos__.data.pageInfo.source = "" 3125 3126 }, 3127 init: function() { 3128 if (!__stdos__.data.bInit) { 3129 __stdos__.data.bInit = true; 3130 __stdos__.data.resetPageData(); 3131 var b = document.location.href; 3132 var a = "", 3133 c = ""; 3134 __stdos__.data.set("fcmp", typeof(window.__cmp) == 'function', "pageInfo"); 3135 __stdos__.data.set("fcmpv2", typeof(window.__tcfapi) == 'function', "pageInfo"); 3136 __stdos__.data.set("has_segmentio", typeof(window.analytics && window.analytics.identify) == 'function', "pageInfo"); 3137 __stdos__.data.set("url", b, "pageInfo"); 3138 __stdos__.data.set("title", document.title, "pageInfo"); 3139 a = (new Date()).getTime().toString(); 3140 c = Number(Math.random().toPrecision(5).toString().substr(2)).toString(); 3141 __stdos__.data.validateRefDomain(); 3142 __stdos__.data.set("hostname", document.location.hostname, "pageInfo"); 3143 __stdos__.data.set("location", document.location.pathname, "pageInfo") 3144 } 3145 }, 3146 validateRefDomain: function() { 3147 var a = __stdos__.data.get("refDomain", "pageInfo"); 3148 if (!a) { 3149 this.setRefDomain(window.document.referrer) 3150 } 3151 }, 3152 setRefDomain: function(a) { 3153 if (a.length == 0) { 3154 return 3155 } 3156 var b = a.replace("http://", "").replace("https://", "").split("/"); 3157 if (b.length > 0) { 3158 a = (typeof(b[0]) != "undefined") ? b[0] : a; 3159 var refQuery = (typeof(b[1]) != "undefined") ? b[1] : ""; 3160 __stdos__.data.set("refQuery", refQuery, "pageInfo"); 3161 __stdos__.data.set("refDomain", a, "pageInfo") 3162 } 3163 }, 3164 set: function(a, c, b) { 3165 if (typeof(c) == "number" || typeof(c) == "boolean") { 3166 __stdos__.data[b][a] = c 3167 } else { 3168 if (typeof(c) == "undefined" || c == null) {} else { 3169 __stdos__.data[b][a] = encodeURIComponent(decodeURIComponent(unescape(c.replace(/<[^<>]*>/gi, " ")).replace(/%/gi, "%25"))); 3170 if (a == "url" || a == "location" || a == "image") { 3171 try { 3172 __stdos__.data[b][a] = encodeURIComponent(decodeURIComponent(decodeURI(c.replace(/<[^<>]*>/gi, " ")).replace(/%/gi, "%25"))) 3173 } catch (d) { 3174 __stdos__.data[b][a] = encodeURIComponent(decodeURIComponent(unescape(c.replace(/<[^<>]*>/gi, " ")).replace(/%/gi, "%25"))) 3175 } 3176 } 3177 } 3178 } 3179 }, 3180 get: function(a, b) { 3181 try { 3182 if (__stdos__.data[b] && __stdos__.data[b][a]) { 3183 return decodeURIComponent(__stdos__.data[b][a]) 3184 } else { 3185 return false 3186 } 3187 } catch (c) { 3188 return false 3189 } 3190 }, 3191 unset: function(a, b) { 3192 if (__stdos__.data[b] && typeof(__stdos__.data[b][a]) != "undefined") { 3193 delete __stdos__.data[b][a] 3194 } 3195 }, 3196 bindEvent: function(element, eventName, eventHandler) { 3197 if (element.addEventListener) { 3198 element.addEventListener(eventName, eventHandler, false); 3199 } else if (element.attachEvent) { 3200 element.attachEvent('on' + eventName, eventHandler); 3201 } 3202 },
3203 debug: function(endpoint, event) { 3204 __stdos__.data.init(); 3205 var a = __stdos__.data.pageInfo; 3206 var c = ""; 3207 var b; 3208 for (b in a) { 3209 c += b + "=" + a[b] + "&" 3210 } 3211 c = c.substring(0, c.length - 1); 3212 3213 var loggerUrl = "https://l.sharethis.com/"; 3214 loggerUrl += endpoint; 3215 loggerUrl += "?event=" + event; 3216 loggerUrl += "&" + c; 3217 3218 var e = new Image(1, 1); 3219 e.src = loggerUrl; 3220 e.onload = function() { 3221 return 3222 }; 3223 }, 3224 parseCookie: function(name, cookie) { 3225 cookie = "; " + cookie 3226 var parts = cookie.split("; "+name+"="); 3227 if(parts.length === 2) { 3228 return parts.pop().split(';').shift(); 3229 }else { 3230 return null; 3231 } 3232 }, 3233 writeCookie: function(name, value, max_age) { 3234 if (!max_age) { 3235 max_age = 33696000 3236 } 3237 var host = (window && window.location && window.location.hostname) || ''; 3238 var parts = host.split('.'); 3239 var domain = ""; 3240 if (parts.length > 1) { 3241 domain = "domain=." + parts.slice(-2).join('.'); 3242 } 3243 var samesite_secure = ""; 3244 try { 3245 document.cookie = "st_samesite=1;SameSite=None;Secure"; 3246 if (__stdos__.data.parseCookie("st_samesite", document.cookie)) { 3247 samesite_secure = "SameSite=None;Secure" 3248 document.cookie = "st_samesite=1;max-age=0;SameSite=None;Secure"; 3249 } 3250 } catch (e) {} 3251 document.cookie = name + "=" + value + ";" + domain + ";path=/;max-age=" + max_age + ";" + samesite_secure; 3252 }, 3253 setConsent: function(consent) { 3254 for(var consent_key in consent) { 3255 __stdos__.data.set(consent_key,consent[consent_key],"pageInfo"); 3256 window.__sharethis__[consent_key] = consent[consent_key]; 3257 } 3258 }, 3259 getEUConsent: function(c) { 3260 3261 function once(fn, context) { 3262 var result; 3263 return function() { 3264 if(fn) { 3265 result = fn.apply(context || this, arguments); 3266 fn = null; 3267 } 3268 return result; 3269 }; 3270 } 3271 3272 var done = once(c); 3273 3274 // set usprivacy first if we have it 3275 var usprivacy = __stdos__.data.parseCookie("usprivacy", document.cookie); 3276 if (usprivacy) __stdos__.data.setConsent({ 3277 usprivacy: usprivacy 3278 }); 3279 3280 // keep track of how long it takes to get consent 3281 var start = Date.now(); 3282 3283 var useCookie = once(function() { 3284 3285 // check for first party cookies 3286 var euconsent_v2 = __stdos__.data.parseCookie("euconsent-v2", document.cookie); 3287 if (euconsent_v2 !== null) { 3288 3289 // use the first party cookie if it exists 3290 __stdos__.data.setConsent({ 3291 gdpr_consent: euconsent_v2, 3292 gdpr_domain: document.location.hostname, 3293 gdpr_method: "cookie" 3294 }); 3295 } 3296 done(); 3297 }); 3298 3299 if (typeof window.__tcfapi == "function") { 3300 3301 // fallback to cookie in case the tcf api is too slow or unavailable 3302 var timeout = setTimeout(useCookie, 5000); 3303 3304 // first we try to get the data from the cmp 3305 // wrap in a try catch since we don't control the tcfapi code on page 3306 try { 3307 window.__tcfapi("getTCData", 2, function (data) { 3308 if (data && data.tcString) { 3309 var gdpr_domain = (data.isServiceSpecific) 3310 ? document.location.hostname : ".consensu.org"; 3311 __stdos__.data.setConsent({ 3312 consent_duration: Date.now() - start, 3313 gdpr_consent: data.tcString, 3314 gdpr_domain: gdpr_domain, 3315 gdpr_method: "api" 3316 }); 3317 clearTimeout(timeout); 3318 done(); 3319 } else { 3320 3321 // fallback to cookie if there is no data 3322 useCookie(); 3323 } 3324 }); 3325 } catch (e) { 3326 3327 // fallback to cookie if there is an error 3328 useCookie(); 3329 } 3330 } else { 3331 3332 // fallback to cookie if the tcfapi doesn't exist 3333 useCookie(); 3334 } 3335 } 3336 }; 3337 __stdos__.data.resetPageData() 3338} 3339__stdos__.logger = { 3340 loggerUrl: "https://l.sharethis.com/", 3341 version: "st_sop.js", 3342 lang: "en", 3343 constructParamString: function() { 3344 var a = __stdos__.data.pageInfo; 3345 var c = ""; 3346 var b; 3347 for (b in a) { 3348 if (a[b] == null || a[b] === "") continue; 3349 c += b + "=" + a[b] + "&" 3350 } 3351 return c.substring(0, c.length - 1) 3352 }, 3353 log: function(a, h, j) { 3354 __stdos__.data.set("ts" + new Date().getTime(), "", "pageInfo") 3355 h = __stdos__.logger.loggerUrl 3356 3357 __stdos__.data.getEUConsent(function(consent){ 3358 if (!window.__sharethis__.consent_queue) { 3359 window.__sharethis__.consent_queue = {} 3360 } 3361 window.__sharethis__.consent_queue.initialized = true; 3362 if (window.__sharethis__.consent_queue.functions) { 3363 for (var i = 0; i < window.__sharethis__.consent_queue.functions.length; i++) { 3364 window.__sharethis__.consent_queue.functions[i](); 3365 } 3366 window.__sharethis__.consent_queue.functions = null; 3367 } 3368 var g = [ 3369 h, 3370 a, 3371 "?event=" + a, 3372 "&" + __stdos__.logger.constructParamString(), 3373 "&version=" + __stdos__.logger.version, 3374 "&lang=" + __stdos__.logger.lang 3375 ].join(''); 3376 var fpestid = __stdos__.data.parseCookie("fpestid", document.cookie); 3377 if (fpestid) { 3378 g += "&fpestid=" + fpestid; 3379 } 3380 var description = window.__sharethis__.getDescription(); 3381 if (description) { 3382 g += "&description=" + encodeURIComponent(description); 3383 } 3384 var gdpr_consent = __stdos__.data.get("gdpr_consent", "pageInfo"); 3385 __stdos__.data.setConsent({ 3386 pview_had_consent: (gdpr_consent) ? true : false 3387 }); 3388 3389 ua_fields = {} 3390 var user_agent_data = {} 3391 window.__sharethis__.ua_fields = ua_fields 3392 try { 3393 if (navigator.userAgentData) { 3394 user_agent_data = navigator.userAgentData; 3395 } 3396 3397 if (Array.isArray(user_agent_data.brands)) { 3398 var ua = "" 3399 user_agent_data.brands.forEach((brand) => { 3400 if (ua) { 3401 ua += ", " 3402 } 3403 ua += `"${brand.brand}";v="${brand.version}"` 3404 }); 3405 g += "&ua=" + encodeURIComponent(ua); 3406 ua_fields.ua = ua 3407 } 3408 3409 if (user_agent_data.mobile !== undefined) { 3410 var ua_mobile = (user_agent_data.mobile) ? "true" : "false"; 3411 g += "&ua_mobile=" + encodeURIComponent(ua_mobile); 3412 ua_fields.ua_mobile = ua_mobile 3413 } 3414 3415 if (user_agent_data.platform) { 3416 var ua_platform = user_agent_data.platform 3417 g += "&ua_platform=" + encodeURIComponent(ua_platform); 3418 ua_fields.ua_platform = ua_platform 3419 } 3420 3421 } catch (e) { 3422 // do nothing for now if it fails 3423 } 3424 3425 // if there is no getHighEntropyValues function create a shell function 3426 // in order to keep the workflow unified 3427 if (!user_agent_data.getHighEntropyValues) { 3428 user_agent_data.getHighEntropyValues = () => { 3429 return new Promise((resolve) => { 3430 resolve({}); 3431 }); 3432 } 3433 } 3434 3435 function once(fn, context) { 3436 var result; 3437 return function() { 3438 if(fn) { 3439 result = fn.apply(context || this, arguments); 3440 fn = null; 3441 } 3442 return result; 3443 }; 3444 } 3445 3446 var sendPageView = once(function() { 3447 3448 try { 3449 var c = new XMLHttpRequest(); 3450 c.open("GET", g, true); 3451 c.withCredentials = true; 3452 c.onreadystatechange = function() { 3453 if (this.readyState == this.DONE) { 3454 try { 3455 var res = JSON.parse(c.responseText); 3456 if (typeof(res) !== "undefined") { 3457 __stdos__.data.set("stid", res.stid, "pageInfo"); 3458 if(res.fpestid) { 3459 __stdos__.data.writeCookie("fpestid", res.fpestid, res.fpestid_maxage); 3460 } 3461 if(res.status === "true") { 3462 var product = __stdos__.data.get("product", "pageInfo") 3463 3464 if ((product === "ecommerce") || 3465 (product === "privy-share-buttons") || 3466 (product === "ga")) { 3467 return; 3468 } 3469 window.__sharethis__.loadPixel(); 3470 3471 var st_debug = false;
3472 3473 try { 3474 3475 if (window && window.location && window.location.href && window.location.href.endsWith("st_debug=true")) { 3476 st_debug = true 3477 } 3478 3479 // run lotame's panorama id code if indicated by the content rule 3480 if(res.lotame === "true") { 3481 !function() { 3482 3483 if (st_debug) { 3484 console.log("lotame firing 1"); 3485 } 3486 3487 // Callback that will be triggered after each call to sync() 3488 // and let you have access to the profile and/or panorama ids 3489 var syncCallback = function (profile) { 3490 3491 if (st_debug) { 3492 console.log("lotame firing 2"); 3493 } 3494 3495 // sync the panorama id 3496 var panorama_id = profile.getPanoramaId(); 3497 if (st_debug) { 3498 console.log(panorama_id); 3499 console.log(res.stid); 3500 } 3501 if (panorama_id && res.stid) { 3502 var url = "https://sync.sharethis.com/panorama" 3503 url += "?uid=" + encodeURIComponent(panorama_id) 3504 url += "&stid=" + encodeURIComponent(res.stid) 3505 st.send(url) 3506 } 3507 3508 }; 3509 3510 var lotame_client_id = '16621'; 3511 var lotame_tag_input = { 3512 config: { 3513 onProfileReady: syncCallback 3514 } 3515 }; 3516 3517 // Lotame initialization 3518 var lotame_config = lotame_tag_input.config || {}; 3519 var namespace = window['lotame_sync_' + lotame_client_id] = {}; 3520 namespace.config = lotame_config; 3521 namespace.data = {}; 3522 namespace.cmd = namespace.cmd || []; 3523 } (); 3524 3525 window.lotame_sync_16621.cmd.push(function() { 3526 window.lotame_sync_16621.sync(); 3527 }); 3528 3529 window.__sharethis__.js("https://platform-api.sharethis.com/panorama.js") 3530 } 3531 } catch (e) { 3532 if (st_debug) { 3533 console.log(e) 3534 } 3535 } 3536 3537 } 3538 3539 if(res.dmd === "true") { 3540 window.__sharethis__.js("https://platform-api.sharethis.com/dmd.js") 3541 } 3542 3543 if(res.atlas) { 3544 window.__sharethis__.js("https://platform-api.sharethis.com/atlas-exp.js") 3545 } 3546 3547 } 3548 j ? j() : null 3549 } catch(e) { 3550 } 3551 } 3552 }; 3553 c.send() 3554 } catch (d) { 3555 var e = new Image(1, 1); 3556 e.src = g; 3557 e.onload = function() { 3558 return 3559 }; 3560 j ? j() : null 3561 } 3562 3563 }) 3564 3565 var getOverride = function() { 3566 var is_safari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent); 3567 if (is_safari) { 3568 var req = new XMLHttpRequest(); 3569 req.open("GET", "https://data.stbuttons.click/data", true); 3570 req.onreadystatechange = function() { 3571 try { 3572 if (this.readyState == this.DONE) { 3573 var res = JSON.parse(req.responseText) 3574 if (res.data) { 3575 __stdos__.data.set("override", res.data,"pageInfo"); 3576 g += "&override=" + encodeURIComponent(res.data); 3577 } 3578 sendPageView() 3579 } 3580 } catch(e) { 3581 sendPageView() 3582 } 3583 } 3584 req.send() 3585 3586 // send page view if request doesn't complete in 2 seconds 3587 setTimeout(sendPageView, 2000) 3588 } else { 3589 sendPageView() 3590 } 3591 } 3592 3593 var high_entropy_fields = [ 3594 "model", 3595 "platformVersion", 3596 "fullVersionList" 3597 ] 3598 3599 user_agent_data.getHighEntropyValues(high_entropy_fields).then((high_entropy_values) => { 3600 3601 try { 3602 3603 if (Array.isArray(high_entropy_values.fullVersionList)) { 3604 var ua_full_version_list = "" 3605 high_entropy_values.fullVersionList.forEach((brand) => { 3606 if (ua_full_version_list) { 3607 ua_full_version_list += ", " 3608 } 3609 ua_full_version_list += `"${brand.brand}";v="${brand.version}"` 3610 }); 3611 g += "&ua_full_version_list=" + encodeURIComponent(ua_full_version_list); 3612 ua_fields.ua_full_version_list = ua_full_version_list 3613 } 3614 3615 if (high_entropy_values.model) { 3616 var ua_model = high_entropy_values.model 3617 g += "&ua_model=" + encodeURIComponent(ua_model); 3618 ua_fields.ua_model = ua_model 3619 } 3620 3621 if (high_entropy_values.platformVersion) { 3622 var ua_platform_version = high_entropy_values.platformVersion 3623 g += "&ua_platform_version=" + encodeURIComponent(ua_platform_version); 3624 ua_fields.ua_platform_version = ua_platform_version 3625 } 3626 3627 } catch (e) { 3628 // do nothing for now 3629 } 3630 3631 getOverride() 3632 3633 }); 3634 3635 }) 3636 } 3637}; 3638 3639(function(){ 3640 var _st = window.__sharethis__; 3641 var st_pview_logged = typeof stlib !== 'undefined' && stlib !== null && stlib.onscriptload; 3642 3643 if (!st_pview_logged && !__stdos__.onscriptload && document.URL.indexOf("edge.sharethis.com") == -1) { 3644 __stdos__.data.init(); 3645 __stdos__.data.set("cms", _st.cms, "pageInfo"); 3646 __stdos__.data.set("publisher", _st.property, "pageInfo") 3647 __stdos__.data.set("product", _st.product, "pageInfo") 3648 __stdos__.data.set("source", _st.source, "pageInfo") 3649 if (_st.embeds && st.embeds.length > 0 && !_st.is_ie) { 3650 __stdos__.data.set("embeds_csv", _st.embeds.join(','), "pageInfo") 3651 /* 3652 setTimeout(function(){ 3653 //_st.js("https://platform-api.sharethis.com/rhombus.js") 3654 }, 3000) 3655 */ 3656 } 3657 __stdos__.data.set("sop", true, "pageInfo") 3658 __stdos__.onscriptload = true; 3659 __stdos__.logger.log("pview"); 3660 } 3661})(); 3662 3663 3664 3665(function() { 3666 var st; 3667 3668 st = window.__sharethis__; 3669 3670 st.loadSsb = function($el, config, load) { 3671 var _xhr, is_preview, num_ssb_networks; 3672 num_ssb_networks = config.num_ssb_networks, is_preview = config.is_preview; 3673 if (num_ssb_networks == null) { 3674 num_ssb_networks = 6; 3675 } 3676 if (is_preview == null) { 3677 is_preview = false;
3678 } 3679 if (is_preview) { 3680 load($el, config); 3681 return; 3682 } 3683 _xhr = new XMLHttpRequest(); 3684 _xhr.open("GET", "https://datasphere-sbsvc.sharethis.com?n=" + num_ssb_networks + "&debug"); 3685 _xhr.responseType = "json"; 3686 _xhr.onload = function() { 3687 var ref, ref1; 3688 if ((ref = _xhr.response) != null ? ref.buttons : void 0) { 3689 config.networks = (ref1 = _xhr.response) != null ? ref1.buttons : void 0; 3690 } 3691 return load($el, config); 3692 }; 3693 return _xhr.send(); 3694 }; 3695 3696}).call(this); 3697 3698(function() { 3699 var st; 3700 3701 st = window.__sharethis__; 3702 3703 st.loader['custom-share-buttons'] = function() { 3704 var $button, $buttons, i, j, len, len1, results; 3705 $buttons = document.querySelectorAll('.st-custom-button'); 3706 if ($buttons.length === 0) { 3707 return; 3708 } 3709 for (i = 0, len = $buttons.length; i < len; i++) { 3710 $button = $buttons[i]; 3711 st.addEventListener($button, 'click', function() { 3712 return st.share({ 3713 count_url: this.getAttribute('data-count-url'), 3714 description: this.getAttribute('data-description'), 3715 image: this.getAttribute('data-image'), 3716 message: this.getAttribute('data-message'), 3717 network: this.getAttribute('data-network'), 3718 share_url: this.getAttribute('data-share-url'), 3719 short_url: this.getAttribute('data-short-url'), 3720 subject: this.getAttribute('data-email-subject'), 3721 title: this.getAttribute('data-title'), 3722 url: this.getAttribute('data-url'), 3723 username: this.getAttribute('data-username') 3724 }); 3725 }); 3726 } 3727 results = []; 3728 for (j = 0, len1 = $buttons.length; j < len1; j++) { 3729 $button = $buttons[j]; 3730 results.push((function($button) { 3731 var $count, data_count_url, data_url, network, url; 3732 network = $button.getAttribute('data-network'); 3733 data_url = $button.getAttribute('data-url'); 3734 data_count_url = $button.getAttribute('data-count-url'); 3735 url = data_count_url || data_url || st.href; 3736 $count = $button.querySelector('.count'); 3737 if ($count) { 3738 return st.loadCounts({ 3739 url: url 3740 }, function(counts) { 3741 var label, ref, value; 3742 ref = counts[network] || {}, label = ref.label, value = ref.value; 3743 if (label && value > 0) { 3744 if ($count != null) { 3745 $count.innerHTML = label; 3746 } 3747 return st.removeClass($button, 'st-hide-label'); 3748 } else { 3749 return st.addClass($button, 'st-hide-label'); 3750 } 3751 }); 3752 } 3753 })($button)); 3754 } 3755 return results; 3756 }; 3757 3758}).call(this); 3759 3760(function() { 3761 var st; 3762 3763 st = window.__sharethis__; 3764 3765 st.loader['email-list-builder'] = function(config) { 3766 var $backdrop, $button, $close, $el, $error, $input, $modal, behavior, button_label, color, common_css, container, css, fade_in, headline, hover_css, html, id, message, onClose, onScroll, onSubmit, property, ref, scroll_down, scroll_timeout, send, show, thanks; 3767 if (config == null) { 3768 config = {}; 3769 } 3770 if (!config.enabled) { 3771 return; 3772 } 3773 color = config.color, button_label = config.button_label, headline = config.headline, message = config.message, property = config.property, thanks = config.thanks, scroll_down = config.scroll_down; 3774 behavior = config.behavior, container = config.container, fade_in = config.fade_in, onClose = config.onClose, onSubmit = config.onSubmit; 3775 if (behavior !== 'show') { 3776 if (st.storage.get('st_email_list_builder_email_collected')) { 3777 return; 3778 } 3779 } 3780 if (color == null) { 3781 color = st.COLORS['sharethis']; 3782 } 3783 if (behavior == null) { 3784 behavior = 'smart'; 3785 } 3786 if (button_label == null) { 3787 button_label = 'Join'; 3788 } 3789 if (fade_in == null) { 3790 fade_in = true; 3791 } 3792 if (headline == null) { 3793 headline = 'SUBSCRIBE VIA EMAIL'; 3794 } 3795 if (message == null) { 3796 message = 'Subscribe to out mailing list to get updates!'; 3797 } 3798 if (property == null) { 3799 property = st.property; 3800 } 3801 if (scroll_down == null) { 3802 scroll_down = 0; 3803 } 3804 if (thanks == null) { 3805 thanks = 'Thank you for subscribing!'; 3806 } 3807 if (container == null) { 3808 container = document.body; 3809 } 3810 if (typeof container === 'string') { 3811 container = document.getElementById(container); 3812 } 3813 ref = st.newElement(null), $el = ref.$el, id = ref.id; 3814 st.addClass($el, 'st-email-list-builder'); 3815 if (fade_in) { 3816 st.addClass($el, 'st-hidden'); 3817 } 3818 common_css = "#" + id + " {\n " + st.BORDER_BOX + "\n " + (st.TRANSITION('opacity')) + "\n bottom: 0;\n display: block;\n left: 0;\n opacity: 1;\n position: fixed;\n right: 0;\n text-align: center;\n top: 0;\n z-index: 9999;\n}\n#" + id + ".st-hidden {\n opacity: 0;\n}\n#" + id + " .st-backdrop {\n background: rgba(0, 0, 0, 0.8);\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n z-index: 10;\n}\n#" + id + " .st-modal {\n " + (st.BORDER_RADIUS(6)) + "\n " + st.BORDER_BOX + "\n " + (st.TRANSITION('opacity')) + "\n background: #fff;\n border-top: 10px solid " + color + ";\n bottom: 0;\n color: #333;\n margin: 100px auto 0;\n max-width: 90%;\n opacity: 1;\n padding: 20px 40px;\n position: relative;\n width: 600px;\n z-index: 20;\n}\n#" + id + " .st-modal.st-hidden {\n opacity: 0;\n}\n#" + id + " .st-headline {\n margin-bottom: 5px;\n font-size: 32px;\n line-height: 38px;\n}\n#" + id + " .st-message {\n margin-bottom: 25px;\n font-size: 18px;\n line-height: 24px;\n}\n#" + id + " .st-error {\n color: red;\n font-size: 14px;
3818\n line-height: 26px;\n}\n#" + id + " input {\n " + st.BORDER_BOX + "\n " + (st.BORDER_RADIUS(4)) + "\n background-color: #fff;\n border: 1px solid #aeaeae;\n color: #333;\n display: block;\n font-size: 15px;\n height: 48px;\n margin-bottom: 25px;\n padding: 12px;\n text-align: center;\n width: 100%;\n}\n#" + id + " .st-btn {\n " + st.BORDER_BOX + "\n " + (st.BORDER_RADIUS(4)) + "\n " + (st.TRANSITION()) + "\n background-color: #fff;\n border: 0;\n background: " + color + ";\n color: #fff;\n cursor: pointer;\n display: inline-block;\n font-size: 18px;\n height: 48px;\n line-height: 48px;\n min-width: 120px;\n padding: 0 20px;\n}\n#" + id + " .st-close {\n " + (st.BOX_SHADOW('0 0 20px black')) + "\n " + (st.BORDER_RADIUS(18)) + "\n background: #555;\n border: 3px solid white;\n cursor: pointer;\n font-size: 24px;\n height: 36px;\n padding-top: 1px;\n position: absolute;\n right: -15px;\n top: -23px;\n width: 36px;\n}"; 3819 hover_css = "#" + id + " .st-btn:hover {\n}"; 3820 css = common_css; 3821 if (!st.mobile) { 3822 css += hover_css; 3823 } 3824 st.css(css); 3825 html = "<div class=\"st-backdrop\"></div>\n<div class=\"st-modal\">\n <div class=\"st-headline\">" + headline + "</div>\n <div class=\"st-message\">" + message + "</div>\n <div class=\"st-error\"></div>\n <input class=\"st-email\" type=\"text\" placeholder=\"[email protected]\" />\n <div class=\"st-btn\">" + button_label + "</div>\n <div class=\"st-close\">\n " + st.ICONS['close'] + "\n </div>\n</div>"; 3826 $el.innerHTML = html; 3827 $backdrop = $el.querySelector('.st-backdrop'); 3828 $button = $el.querySelector('.st-btn'); 3829 $close = $el.querySelector('.st-close'); 3830 $error = $el.querySelector('.st-error'); 3831 $input = $el.querySelector('input'); 3832 $modal = $el.querySelector('.st-modal'); 3833 show = function() { 3834 var onScroll, seen_at; 3835 if (behavior !== 'show') { 3836 seen_at = st.storage.get('st_email_list_builder_seen_at'); 3837 if (Date.now() - seen_at < st.WEEK) { 3838 return; 3839 } 3840 st.storage.set('st_email_list_builder_seen_at', Date.now()); 3841 } 3842 if (container != null) { 3843 container.appendChild($el); 3844 } 3845 if (0 === scroll_down) { 3846 return setTimeout((function() { 3847 return st.removeClass($el, 'st-hidden'); 3848 }), 10); 3849 } else { 3850 onScroll = function(e) {}; 3851 st.addEventListener(document, 'scroll', function(e) { 3852 var scroll_timeout; 3853 if (scroll_timeout) { 3854 clearTimeout(scroll_timeout); 3855 } 3856 return scroll_timeout = setTimeout((function() { 3857 if (st.getScrollDepth() > scroll_down) { 3858 st.removeEventListener(document, 'scroll', onScroll); 3859 return st.removeClass($el, 'st-hidden'); 3860 } 3861 }), 1000); 3862 }); 3863 return st.addEventListener(document, 'scroll', onScroll); 3864 } 3865 }; 3866 st.addEventListener($backdrop, 'click', function() { 3867 st.close($el); 3868 return typeof onClose === "function" ? onClose() : void 0; 3869 }); 3870 st.addEventListener($close, 'click', function() { 3871 st.close($el); 3872 return typeof onClose === "function" ? onClose() : void 0; 3873 }); 3874 st.addEventListener($input, 'keydown', function(e) { 3875 if (st.isEnter(e)) { 3876 send(); 3877 } 3878 return $error.innerHTML = ''; 3879 }); 3880 st.addEventListener($button, 'click', function() { 3881 return send(); 3882 }); 3883 st.addEventListener(document, 'keydown', function(e) { 3884 if (st.isEsc(e)) { 3885 st.close($el); 3886 return typeof onClose === "function" ? onClose() : void 0; 3887 } 3888 }); 3889 send = function() { 3890 var email, url; 3891 email = $el.querySelector('.st-email').value; 3892 url = st.href; 3893 if (!st.isValidEmail(email)) { 3894 $error.innerHTML = 'Please enter a valid email'; 3895 return; 3896 } 3897 st.send(st.API + "/v1.0/email-list-builder/collect", { 3898 email: email, 3899 property: property 3900 }); 3901 st.log({ 3902 event: 'elb-submit', 3903 url: url 3904 }); 3905 st.emit('email-submitted', { 3906 email: email, 3907 property: property, 3908 url: url 3909 }); 3910 st.storage.set('st_email_list_builder_collected', true); 3911 st.addClass($modal, 'st-hidden'); 3912 return setTimeout((function() { 3913 html = "<div class=\"st-headline\">" + thanks + "</div>"; 3914 $modal.innerHTML = html; 3915 st.removeClass($modal, 'st-hidden'); 3916 return setTimeout((function() { 3917 st.close($el); 3918 return typeof onSubmit === "function" ? onSubmit(email) : void 0; 3919 }), 2500); 3920 }), 500); 3921 }; 3922 if (behavior === 'show' || 0 !== scroll_down) { 3923 return show(); 3924 } else { 3925 setTimeout((function() { 3926 return show(); 3927 }), 60 * 1000); 3928 scroll_timeout = null; 3929 onScroll = function(e) { 3930 return st.addEventListener(document, 'scroll', function(e) { 3931 if (scroll_timeout) { 3932 clearTimeout(scroll_timeout); 3933 } 3934 return scroll_timeout = setTimeout((function() { 3935 if (st.getScrollDepth() > 60) { 3936 st.removeEventListener(document, 'scroll', onScroll); 3937 return show(); 3938 } 3939 }), 1000); 3940 }); 3941 }; 3942 return st.addEventListener(document, 'scroll', onScroll); 3943 } 3944 }; 3945 3946}).call(this); 3947 3948(function() { 3949 var st; 3950 3951 st = window.__sharethis__; 3952
3953 st.loader['gdpr-compliance-tool'] = function(config) { 3954 var _xhr, color, commandQueue, display, publisher_name, publisher_purposes, scope; 3955 if (config == null) { 3956 config = {}; 3957 } 3958 if (!config.enabled) { 3959 return; 3960 } 3961 if (window.__cmp) { 3962 return; 3963 } 3964 color = config.color, display = config.display, publisher_name = config.publisher_name, publisher_purposes = config.publisher_purposes, scope = config.scope; 3965 if (color == null) { 3966 color = '#2e7d32'; 3967 } 3968 if (publisher_name == null) { 3969 publisher_name = ''; 3970 } 3971 if (publisher_purposes == null) { 3972 publisher_purposes = []; 3973 } 3974 commandQueue = []; 3975 st.addEventListener('message', function(event) { 3976 return window.__cmp.receiveMessage(event); 3977 }); 3978 window.__cmp = function(command, parameter, callback) { 3979 return commandQueue.push({ 3980 command: command, 3981 paramter: parameter, 3982 callback: callback 3983 }); 3984 }; 3985 window.__cmp.commandQueue = commandQueue; 3986 window.__cmp.receiveMessage = function(event) { 3987 var data; 3988 data = event && event.data && event.data.__cmpCall; 3989 if (data) { 3990 return commandQueue.push({ 3991 callId: data.callId, 3992 command: data.command, 3993 parameter: data.parameter, 3994 event: event 3995 }); 3996 } 3997 }; 3998 window.__cmp.config = { 3999 storeConsentGlobally: scope === 'global', 4000 publisherName: publisher_name, 4001 publisherPurposeList: publisher_purposes, 4002 color: color 4003 }; 4004 if (display === "always") { 4005 __cmp('showConsentTool'); 4006 return st.js("https://c.sharethis.mgr.consensu.org/cmp.js"); 4007 } else if (display === "eu") { 4008 _xhr = new XMLHttpRequest(); 4009 _xhr.open("GET", "https://c.sharethis.mgr.consensu.org/is_eu"); 4010 _xhr.responseType = "json"; 4011 _xhr.onload = (function(_this) { 4012 return function() { 4013 var ref; 4014 if ((ref = _xhr.response) != null ? ref.is_eu : void 0) { 4015 __cmp('showConsentTool'); 4016 return st.js("https://c.sharethis.mgr.consensu.org/cmp.js"); 4017 } 4018 }; 4019 })(this); 4020 return _xhr.send(); 4021 } 4022 }; 4023 4024}).call(this); 4025 4026(function() { 4027 var st; 4028 4029 st = window.__sharethis__; 4030 4031 st.loader['gdpr-compliance-tool-v2'] = function(config) { 4032 var _xhr, background_color, color, display, gear_color, gear_position, language, publisher_name, publisher_purposes, publisher_restrictions, scope, text_color; 4033 if (config == null) { 4034 config = {}; 4035 } 4036 4037 /* 4038 config = { 4039 background_color: '#000000' 4040 color: '#9900ef' 4041 display: 'always' 4042 enabled: true 4043 gear_color: '' 4044 gear_position: 'bottom_left' 4045 language: 'en' 4046 publisher_name: 'ShareThis' 4047 scope: 'global' 4048 text_color: '#ffffff' 4049 } 4050 */ 4051 if (!config.enabled) { 4052 return; 4053 } 4054 background_color = config.background_color, color = config.color, display = config.display, gear_color = config.gear_color, gear_position = config.gear_position, language = config.language, publisher_name = config.publisher_name, publisher_purposes = config.publisher_purposes, publisher_restrictions = config.publisher_restrictions, scope = config.scope, text_color = config.text_color; 4055 if (language == null) { 4056 language = 'en'; 4057 } 4058 if (publisher_name == null) { 4059 publisher_name = ''; 4060 } 4061 if (publisher_purposes == null) { 4062 publisher_purposes = []; 4063 } 4064 if (publisher_restrictions == null) { 4065 publisher_restrictions = {}; 4066 } 4067 window.__cmpconfig = { 4068 background_color: background_color, 4069 color: color, 4070 gear_color: gear_color, 4071 gear_position: gear_position, 4072 global: scope !== 'publisher', 4073 language: language, 4074 publisher_name: publisher_name, 4075 publisher_restrictions: publisher_restrictions, 4076 purposes: publisher_purposes, 4077 text_color: text_color 4078 }; 4079 if (display === "always") { 4080 return st.js("https://c.sharethis.mgr.consensu.org/cmp-v2.js"); 4081 } else if (display === "eu") { 4082 _xhr = new XMLHttpRequest(); 4083 _xhr.open("GET", "https://c.sharethis.mgr.consensu.org/is_eu"); 4084 _xhr.responseType = "json"; 4085 _xhr.onload = (function(_this) { 4086 return function() { 4087 var ref; 4088 if ((ref = _xhr.response) != null ? ref.is_eu : void 0) { 4089 return st.js("https://c.sharethis.mgr.consensu.org/cmp-v2.js"); 4090 } 4091 }; 4092 })(this); 4093 return _xhr.send(); 4094 } 4095 }; 4096 4097}).call(this); 4098 4099(function() { 4100 var st; 4101 4102 st = window.__sharethis__; 4103 4104 st.loader['image-share-buttons'] = function(config) { 4105 var $el, $image, $images, alignment, container, enter, exit, i, id, inline_buttons, len, networks, omit_class, onLoad, over_buttons, over_image, padding, radius, ref, size, spacing, src, timeout; 4106 if (config == null) { 4107 config = {}; 4108 } 4109 if (!config.enabled) { 4110 return; 4111 } 4112 alignment = config.alignment, container = config.container, omit_class = config.omit_class, onLoad = config.onLoad, padding = config.padding, networks = config.networks, radius = config.radius, size = config.size, spacing = config.spacing; 4113 if (networks == null) { 4114 networks = ['facebook', 'twitter', 'pinterest', 'email']; 4115 } 4116 if (omit_class == null) { 4117 omit_class = ''; 4118 } 4119 if (padding == null) { 4120 padding = 10; 4121 } 4122 if (radius == null) { 4123 radius = 0; 4124 } 4125 if (size == null) { 4126 size = 40; 4127 } 4128 if (spacing == null) { 4129 spacing = 8; 4130 } 4131 if (typeof container === 'string') { 4132 container = document.getElementById(container); 4133 } 4134 ref = st.newElement(container), $el = ref.$el, id = ref.id; 4135 st.addClass($el, 'st-image-share-buttons'); 4136 $el.style.position = 'absolute'; 4137 inline_buttons = st.load('inline-share-buttons', { 4138 alignment: alignment, 4139 id: id, 4140 enabled: true, 4141 networks: networks, 4142 padding: padding, 4143 radius: radius, 4144 size: size, 4145 spacing: spacing, 4146 onLoad: function() { 4147 st.addClass($el, 'st-hidden'); 4148 return typeof onLoad === "function" ? onLoad() : void 0; 4149 } 4150 }); 4151 timeout = null; 4152 over_buttons = false;
4153 over_image = false; 4154 enter = function($img) { 4155 var left, ref1, src, top; 4156 if (omit_class) { 4157 if (st.hasClass($img, omit_class)) { 4158 return; 4159 } 4160 if (st.hasClass($img.parentNode.parentNode, omit_class)) { 4161 return; 4162 } 4163 if (st.hasClass($img.parentNode, omit_class)) { 4164 return; 4165 } 4166 } 4167 ref1 = st.position($img, container), left = ref1.left, top = ref1.top; 4168 src = $img.getAttribute('src'); 4169 $el.style.width = $img.width + 'px'; 4170 if ($img.height < 200 || $img.width < 200) { 4171 return; 4172 } 4173 if (timeout) { 4174 clearTimeout(timeout); 4175 } 4176 return timeout = setTimeout((function() { 4177 if (inline_buttons != null) { 4178 inline_buttons.modify('image', src); 4179 } 4180 $el.style.left = st.px(left); 4181 $el.style.top = st.px(top); 4182 $el.style.padding = st.px(spacing); 4183 $el.style.boxSizing = 'border-box'; 4184 st.removeClass($el, 'st-hide'); 4185 st.removeClass($el, 'st-hidden'); 4186 return inline_buttons != null ? inline_buttons.resize() : void 0; 4187 }), 10); 4188 }; 4189 exit = function(next) { 4190 if (timeout) { 4191 clearTimeout(timeout); 4192 } 4193 return timeout = setTimeout((function() { 4194 if (over_image || over_buttons) { 4195 return; 4196 } 4197 st.addClass($el, 'st-hide'); 4198 return typeof next === "function" ? next() : void 0; 4199 }), 10); 4200 }; 4201 $images = document.querySelectorAll('img'); 4202 for (i = 0, len = $images.length; i < len; i++) { 4203 $image = $images[i]; 4204 src = $image.getAttribute('src'); 4205 if (/\.(gif|jpg|jpeg|png)$/i.test(src)) { 4206 st.addEventListener($image, 'mouseenter', function() { 4207 over_image = true; 4208 return enter(this); 4209 }); 4210 st.addEventListener($image, 'mouseleave', function() { 4211 over_image = false; 4212 return exit(); 4213 }); 4214 } 4215 } 4216 st.addEventListener($el, 'mouseenter', function() { 4217 return over_buttons = true; 4218 }); 4219 return st.addEventListener($el, 'mouseleave', function() { 4220 over_buttons = false; 4221 return exit(); 4222 }); 4223 }; 4224 4225}).call(this); 4226 4227(function() { 4228 var DOMAINS, load, st; 4229 4230 st = window.__sharethis__; 4231 4232 DOMAINS = { 4233 airbnb: 'https://www.airbnb.com/rooms/', 4234 amazon: 'https://www.amazon.com/gp/profile/', 4235 blogger: 'https://www.blogger.com/', 4236 digg: 'https://www.digg.com/', 4237 discord: ' https://discord.gg/', 4238 etsy: 'https://www.etsy.com/shop/', 4239 facebook: 'https://www.facebook.com/', 4240 flipboard: 'https://flipboard.com/', 4241 houzz: 'https://www.houzz.com/user/', 4242 github: 'https://www.github.com/', 4243 instagram: 'https://www.instagram.com/', 4244 medium: 'https://www.medium.com/', 4245 messenger: 'https://www.messenger.com/', 4246 linkedin: 'https://www.linkedin.com/', 4247 odnoklassniki: 'https://ok.ru/', 4248 patreon: 'https://www.patreon.com/', 4249 pinterest: 'https://www.pinterest.com/', 4250 quora: 'https://www.quora.com/', 4251 reddit: 'https://www.reddit.com/', 4252 snapchat: 'https://www.snapchat.com/', 4253 soundcloud: 'https://soundcloud.com/', 4254 spotify: 'https://open.spotify.com/', 4255 telegram: 'https://t.me/', 4256 tiktok: 'https://www.tiktok.com/@', 4257 tripadvisor: 'https://www.tripadvisor.com/Profile/', 4258 tumblr: 'https://www.tumblr.com/', 4259 twitch: 'https://www.twitch.tv/', 4260 twitter: 'https://www.twitter.com/', 4261 vk: 'https://www.vk.com/', 4262 vimeo: 'https://vimeo.com/', 4263 wechat: 'https://web.wechat.com/', 4264 weibo: 'https://www.weibo.com/', 4265 yelp: 'https://www.yelp.com/', 4266 youtube: 'https://www.youtube.com/', 4267 zillow: 'https://www.zillow.com/profile/' 4268 }; 4269 4270 st.loader['inline-follow-buttons'] = function(config) { 4271 var $el, $els, i, len, results; 4272 if (config == null) { 4273 config = {}; 4274 } 4275 if (!config.enabled) { 4276 return; 4277 } 4278 if (config.id) { 4279 $el = document.getElementById(config.id); 4280 if ($el) { 4281 return load($el, config); 4282 } 4283 } else { 4284 $els = document.querySelectorAll('.sharethis-inline-follow-buttons'); 4285 results = []; 4286 for (i = 0, len = $els.length; i < len; i++) { 4287 $el = $els[i]; 4288 results.push(load($el, config)); 4289 } 4290 return results; 4291 } 4292 }; 4293 4294 load = function($el, config) { 4295 var $button, $buttons, action, action_enable, action_pos, alignment, alignment_opposite, background_color, class_names, color, common_css, css, fade_in, fn, hover_css, html, i, id, index, j, language, len, len1, network, network_css, networks, onLoad, padding, profiles, radius, resize, size, spacing, text_color, text_color_filter, url; 4296 action = config.action, action_enable = config.action_enable, action_pos = config.action_pos, alignment = config.alignment, color = config.color, fade_in = config.fade_in, id = config.id, language = config.language, networks = config.networks, onLoad = config.onLoad, padding = config.padding, profiles = config.profiles, radius = config.radius, size = config.size, spacing = config.spacing, url = config.url, text_color = config.text_color, background_color = config.background_color;
4297 alignment_opposite = alignment === 'left' ? 'right' : 'left'; 4298 if (action == null) { 4299 action = 'Follow us:'; 4300 } 4301 if (action_enable == null) { 4302 action_enable = true; 4303 } 4304 if (action_pos == null) { 4305 action_pos = 'top'; 4306 } 4307 if (alignment == null) { 4308 alignment = 'left'; 4309 } 4310 if (color == null) { 4311 color = 'social'; 4312 } 4313 if (fade_in == null) { 4314 fade_in = true; 4315 } 4316 if (language == null) { 4317 language = 'en'; 4318 } 4319 if (networks == null) { 4320 networks = ['facebook', 'twitter', 'pinterest']; 4321 } 4322 if (padding == null) { 4323 padding = 10; 4324 } 4325 if (profiles == null) { 4326 profiles = {}; 4327 } 4328 if (radius == null) { 4329 radius = 0; 4330 } 4331 if (size == null) { 4332 size = 40; 4333 } 4334 if (spacing == null) { 4335 spacing = 8; 4336 } 4337 if (id == null) { 4338 id = "st-" + (st.uid()); 4339 } 4340 $el.setAttribute('id', id); 4341 st.addClass($el, 'st-inline-follow-buttons'); 4342 st.addClass($el, 'st-#{action_pos}'); 4343 if (fade_in) { 4344 st.addClass($el, 'st-hidden'); 4345 } 4346 common_css = "#" + id + " {\n " + st.FONT_FAMILY + ";\n direction: ltr;\n display: block;\n opacity: 1;\n text-align: " + alignment + ";\n z-index: 94034;\n}\n#" + id + ".st-animated {\n " + (st.TRANSITION('opacity')) + "\n}\n#" + id + " .st-left {\n display: inline-block;\n padding-top: " + (st.px(size / 4)) + ";\n padding-right: 6px;\n}\n#" + id + " .st-top {\n padding-bottom: " + (st.px(size / 8)) + ";\n}\n#" + id + " .st-right {\n display: inline-block;\n padding-top: " + (st.px(size / 4)) + ";\n padding-left: 4px;\n}\n#" + id + ".st-hidden {\n opacity: " + (fade_in ? 0 : 1) + ";\n}\n#" + id + " .st-btn {\n " + st.BORDER_BOX + "\n " + (st.TRANSITION(['opacity', 'top'])) + "\n " + (st.BORDER_RADIUS(radius)) + "\n border: " + (color === 'white' ? 'solid 0.5px #ccc' : 'none') + ";\n cursor: pointer;\n display: inline-block;\n height: " + (st.px(size)) + ";\n line-height: " + (st.px(size)) + ";\n margin-right: " + (spacing ? st.px(spacing) : 0) + ";\n padding: 0 " + (st.px(padding)) + ";\n position: relative;\n text-align: center;\n top: 0;\n vertical-align: top;\n white-space: nowrap;\n}\n#" + id + " .st-btn:last-child {\n margin-right: 0;\n}\n#" + id + " .st-btn > svg {\n height: " + (st.px(size / 2)) + ";\n width: " + (st.px(size / 2)) + ";\n position: relative;\n top: " + (st.px(size / 4)) + ";\n vertical-align: top;\n}\n#" + id + " .st-btn > img {\n height: " + (st.px(size / 2)) + ";\n width: " + (st.px(size / 2)) + ";\n position: relative;\n top: " + (st.px(size / 4)) + ";\n vertical-align: top;\n}\n#" + id + " .st-btn > span {\n " + (st.TRANSITION()) + "\n color: #fff;\n display: inline-block;\n font-weight: 500;\n letter-spacing: 0.5px;\n min-width: " + (st.px(30 + Math.floor(size * 15 / 16))) + ";\n opacity: 1;\n padding: 0 6px;\n position: relative;\n vertical-align: top;\n}\n#" + id + ".st-justified {\n display: flex;\n text-align: center;\n}\n#" + id + ".st-justified .st-btn {\n " + st.FLEX + "\n}"; 4347 hover_css = "#" + id + " .st-btn:hover {\n opacity: .8;\n top: -4px;\n}"; 4348 text_color_filter = st.getFilter(text_color); 4349 network_css = ((function() { 4350 var i, len, results; 4351 results = []; 4352 for (i = 0, len = networks.length; i < len; i++) { 4353 network = networks[i]; 4354 results.push("#" + id + " .st-btn[data-network='" + network + "'] {\n background-color: " + ((function() { 4355 switch (color) { 4356 case 'social': 4357 return st.COLORS[network]; 4358 case 'black': 4359 return '#000'; 4360 case 'gray': 4361 return '#eee'; 4362 case 'custom': 4363 return background_color; 4364 case 'white': 4365 return '#fff'; 4366 default: 4367 return '#fff'; 4368 } 4369 })()) + "\n}\n#" + id + " .st-btn[data-network='" + network + "'] img {\n filter: " + ((function() { 4370 switch (color) { 4371 case 'black': 4372 return 'invert(0%) sepia(100%) saturate(22%) hue-rotate(45deg) brightness(107%) contrast(105%)'; 4373 case 'gray': 4374 return 'invert(100%) sepia(100%) saturate(22%) hue-rotate(45deg) brightness(107%) contrast(105%)'; 4375 case 'custom': 4376 return text_color_filter; 4377 default: 4378 return ''; 4379 } 4380 })()) + "\n}\n#" + id + " .st-btn[data-network='" + network + "'] > span {\n color: " + ((function() { 4381 switch (color) { 4382 case 'white': 4383 return st.COLORS[network]; 4384 case 'black': 4385 return '#fff'; 4386 case 'gray': 4387 return '#000'; 4388 case 'custom': 4389 return '#fff'; 4390 case 'social': 4391 return '#fff'; 4392 default: 4393 return '#fff'; 4394 } 4395 })()) + "\n}"); 4396 } 4397 return results; 4398 })()).join('\n'); 4399 css = common_css; 4400 css += hover_css; 4401 css += network_css; 4402 st.css(css); 4403 html = ''; 4404 networks = st.filterInvalidNetworks(networks, Object.keys(DOMAINS)); 4405 if (action_enable && (action != null ? action.length : void 0) > 0 && action_pos !== 'right') { 4406 html += "<div class='st-" + action_pos + "'>\n <span>" + action + "</span>\n</div>"; 4407 } 4408 for (index = i = 0, len = networks.length; i < len; index = ++i) { 4409 network = networks[index]; 4410 class_names = ['st-btn']; 4411 if (index === 0) { 4412 class_names.push('st-first'); 4413 } 4414 if (index === networks.length - 1) { 4415 class_names.push('st-last'); 4416 } 4417 html += "<div class='" + (class_names.join(' ')) + "' data-network='" + network + "'>\n " + (color === 'white' ? st.ICONS_WHITE[network] : st.ICONS[network]) + "\n</div>"; 4418 } 4419 if (action_enable && (action != null ? action.length : void 0) > 0 && action_pos === 'right') { 4420 html += "<div class='st-" + action_pos + "'>\n <span>" + (st.capitalize(action)) + "</span>\n</div>"; 4421 } 4422 $el.innerHTML = html; 4423 $buttons = $el.querySelectorAll('.st-btn'); 4424 resize = function() { 4425 var $button, actual, available, j, k, len1, results; 4426 available = $el.offsetWidth; 4427 actual = function() { 4428 var $button, j, len1, width; 4429 width = action_enable ? 70 : 0; 4430 for (j = 0, len1 = $buttons.length; j < len1; j++) { 4431 $button = $buttons[j]; 4432 if ($button.style.display === 'none') { 4433 continue; 4434 } 4435 if (alignment === 'justified') { 4436 width += 160; 4437 } else { 4438 width += $button.offsetWidth + spacing; 4439 } 4440 } 4441 return width; 4442 }; 4443 for (j = 0, len1 = $buttons.length; j < len1; j++) { 4444 $button = $buttons[j]; 4445 $button.style.display = 'inline-block'; 4446 } 4447 results = []; 4448 for (index = k = $buttons.length - 1; k >= 0; index = k += -1) { 4449 $button = $buttons[index]; 4450 if (actual() > available) { 4451 results.push($button.style.display = 'none'); 4452 } else { 4453 results.push(void 0); 4454 } 4455 } 4456 return results; 4457 }; 4458 st.addEventListener(window, 'resize', resize); 4459 fn = function($button) { 4460 return st.addEventListener($button, 'click', function() { 4461 var follow_url; 4462 network = $button.getAttribute('data-network'); 4463 follow_url = DOMAINS[network] + (profiles[network] || ''); 4464 if (network === 'youtube' && profiles[network]) { 4465 follow_url += '?sub_confirmation=1'; 4466 } 4467 if (network === 'tumblr' && profiles[network]) { 4468 follow_url = DOMAINS[network].replace('www', profiles[network]); 4469 } 4470 st.follow({ 4471 follow_url: follow_url, 4472 network: network, 4473 url: url || $el.getAttribute('data-url') 4474 }); 4475 return typeof onLoad === "function" ? onLoad() : void 0; 4476 }); 4477 }; 4478 for (j = 0, len1 = $buttons.length; j < len1; j++) { 4479 $button = $buttons[j]; 4480 fn($button); 4481 } 4482 resize(); 4483 if (fade_in) { 4484 st.addClass($el, 'st-animated'); 4485 } 4486 if (fade_in) { 4487 st.removeClass($el, 'st-hidden'); 4488 } 4489 if (typeof onLoad === "function") { 4490 onLoad(); 4491 } 4492 return { 4493 $buttons: $buttons, 4494 $el: $el, 4495 id: id, 4496 resize: resize 4497 }; 4498 }; 4499 4500}).call(this); 4501 4502(function() { 4503 var load, st; 4504 4505 st = window.__sharethis__; 4506 4507 st.loader['inline-reaction-buttons'] = function(config) { 4508 var $el, $els, i, len, results; 4509 if (config == null) { 4510 config = {}; 4511 } 4512 if (!config.enabled) { 4513 return; 4514 } 4515 if (config.id) { 4516 $el = document.getElementById(config.id); 4517 return load($el, config); 4518 } else { 4519 $els = document.querySelectorAll('.sharethis-inline-reaction-buttons'); 4520 results = []; 4521 for (i = 0, len = $els.length; i < len; i++) { 4522 $el = $els[i]; 4523 results.push(load($el, config)); 4524 } 4525 return results; 4526 } 4527 }; 4528 4529 load = function($el, config) { 4530 var $buttons, alignment, class_names, common_css, css, data_url, fade_in, hover_css, html, i, id, index, item, k, label_span, language, len, min_count, onLoad, onReact, padding, reaction, reactions, ref, ref1, resize, selected_reaction, size, url;
4531 alignment = config.alignment, id = config.id, language = config.language, min_count = config.min_count, padding = config.padding, reactions = config.reactions, size = config.size, url = config.url; 4532 fade_in = config.fade_in, onLoad = config.onLoad, onReact = config.onReact; 4533 data_url = $el.getAttribute('data-url'); 4534 if (fade_in == null) { 4535 fade_in = true; 4536 } 4537 if (min_count == null) { 4538 min_count = 0; 4539 } 4540 if (reactions == null) { 4541 reactions = (function() { 4542 var results; 4543 results = []; 4544 for (k in st.REACTIONS) { 4545 results.push(k); 4546 } 4547 return results; 4548 })(); 4549 } 4550 if (padding == null) { 4551 padding = 10; 4552 } 4553 if (language == null) { 4554 language = 'en'; 4555 } 4556 if (size == null) { 4557 size = 48; 4558 } 4559 if (url == null) { 4560 url = data_url || st.href; 4561 } 4562 selected_reaction = st.storage.get("st_reaction_" + url); 4563 if (id == null) { 4564 id = "st-" + (st.uid()); 4565 } 4566 $el.setAttribute('id', id); 4567 st.addClass($el, ["st-inline-reaction-buttons", "st-" + alignment, selected_reaction ? "st-reacted" : void 0, fade_in ? 'st-hidden' : void 0, language ? 'st-has-labels' : void 0, language !== 'en' ? "st-lang-" + language : void 0]); 4568 common_css = "#" + id + " {\n " + st.FONT_FAMILY + "\n " + (st.TRANSITION('opacity')) + "\n direction: ltr;\n display: block;\n opacity: 1;\n text-align: " + alignment + ";\n}\n#" + id + ".st-hidden {\n opacity: " + (fade_in ? 0 : 1) + ";\n}\n#" + id + " .st-btn {\n " + st.BORDER_BOX + "\n " + (st.TRANSITION()) + "\n display: inline-block;\n font-size: " + (st.px(size / 2)) + ";\n line-height: " + (st.px(size / 2)) + ";\n opacity: 1;\n padding: " + (st.px(padding)) + ";\n position: relative;\n text-align: center;\n vertical-align: top;\n white-space: nowrap;\n width: " + (st.px(size + 2 * padding)) + ";\n}\n#" + id + " .st-btn > svg {\n display: block;\n height: " + (st.px(size)) + ";\n margin: auto;\n width: " + (st.px(size)) + ";\n vertical-align: top;\n}\n#" + id + " .st-btn > span {\n " + (st.TRANSITION('font-size')) + ";\n color: #555;\n font-size: 14px;\n font-weight: 400;\n letter-spacing: 0.5px;\n vertical-align: top;\n}\n#" + id + " .st-btn .st-count.st-grow {\n font-size: 18px;\n}\n#" + id + " .st-btn.st-hide-count .st-count {\n opacity: 0;\n}\n#" + id + " .st-btn .st-text {\n display: none;\n font-weight: bold;\n line-height: 12px;\n white-space: normal;\n word-break: break-all;\n}\n#" + id + ".st-justified {\n display: flex;\n text-align: center;\n}\n#" + id + ".st-justified .st-btn {\n " + st.FLEX + "\n}\n#" + id + " .st-btn.st-selected {\n " + (st.TRANSFORM("scale(1.2)")) + "\n}\n#" + id + ".st-reacted .st-btn:not(.st-selected) {\n filter: grayscale(100%);\n}"; 4569 hover_css = "#" + id + ":not(.st-reacted) .st-btn:hover {\n " + (st.TRANSFORM("scale(1.2)")) + "\n cursor: pointer;\n}\n#" + id + ":not(.st-reacted) .st-btn:active {\n " + (st.TRANSFORM("scale(1.4)")) + "\n}\n#" + id + ".st-has-labels:not(.st-reacted) .st-btn:hover .st-count {\n display: none;\n}\n#" + id + ".st-has-labels:not(.st-reacted) .st-btn:hover .st-text {\n display: block;\n}\n#" + id + ".st-has-labels:not(.st-reacted) .st-btn:hover span {\n font-size: 10px;\n}"; 4570 css = common_css; 4571 if (!st.mobile) { 4572 css += hover_css; 4573 } 4574 st.css(css); 4575 html = ''; 4576 for (index = i = 0, len = reactions.length; i < len; index = ++i) { 4577 reaction = reactions[index]; 4578 if (!st.REACTIONS[reaction]) { 4579 continue; 4580 } 4581 item = st.REACTIONS[reaction]; 4582 class_names = ['st-btn']; 4583 if (reaction === selected_reaction) { 4584 class_names.push('st-selected'); 4585 } 4586 if (index === 0) { 4587 class_names.push('st-first'); 4588 } 4589 if (index === reactions.length - 1) { 4590 class_names.push('st-last'); 4591 } 4592 if (language) { 4593 label_span = "<span class=\"st-text\">\n " + ((ref = st.i18n[item.label]) != null ? (ref1 = ref[language]) != null ? ref1.toUpperCase() : void 0 : void 0) + "\n</span>"; 4594 } else { 4595 label_span = ''; 4596 } 4597 html += "<div class='" + (class_names.join(' ')) + "' data-reaction='" + reaction + "'>
4597\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 64 64\"\n enable-background=\"new 0 0 64 64\"\n >\n " + item.icon + "\n </svg>\n <span class=\"st-count\"></span>\n " + label_span + "\n</div>"; 4598 } 4599 $el.innerHTML = html; 4600 $buttons = $el.querySelectorAll('.st-btn'); 4601 resize = function() { 4602 var $button, actual, available, j, len1, results, shrink_by; 4603 available = $el.offsetWidth; 4604 actual = function() { 4605 var $button, j, len1, width; 4606 width = 0; 4607 for (j = 0, len1 = $buttons.length; j < len1; j++) { 4608 $button = $buttons[j]; 4609 width += size + 2 * padding; 4610 } 4611 return width; 4612 }; 4613 if (actual() > available) { 4614 shrink_by = available / actual(); 4615 results = []; 4616 for (j = 0, len1 = $buttons.length; j < len1; j++) { 4617 $button = $buttons[j]; 4618 $button.style.padding = st.px(padding * shrink_by); 4619 $button.style.width = st.px((size + 2 * padding) * shrink_by); 4620 $button.querySelector('svg').style.width = st.px(size * shrink_by); 4621 results.push($button.querySelector('svg').style.height = st.px(size * shrink_by)); 4622 } 4623 return results; 4624 } 4625 }; 4626 return st.loadCounts({ 4627 url: url 4628 }, function(counts) { 4629 var $button, fn, j, l, label, len1, len2, ref2, ref3, value; 4630 for (j = 0, len1 = $buttons.length; j < len1; j++) { 4631 $button = $buttons[j]; 4632 reaction = $button.getAttribute('data-reaction'); 4633 ref2 = counts[reaction] || {}, label = ref2.label, value = ref2.value; 4634 if ((ref3 = $button.querySelector('.st-count')) != null) { 4635 ref3.innerHTML = label; 4636 } 4637 if (label && value >= min_count) { 4638 st.removeClass($button, 'st-hide-count'); 4639 } else { 4640 st.addClass($button, 'st-hide-count'); 4641 } 4642 } 4643 resize(); 4644 if (fade_in) { 4645 st.removeClass($el, 'st-hidden'); 4646 } 4647 st.addEventListener(window, 'resize', resize); 4648 fn = function($button) { 4649 return st.addEventListener($button, 'click', function() { 4650 if (st.hasClass($el, 'st-reacted')) { 4651 return; 4652 } 4653 reaction = $button.getAttribute('data-reaction'); 4654 st.addClass($el, 'st-reacted'); 4655 st.addClass($button, 'st-selected'); 4656 st.react({ 4657 reaction: reaction, 4658 url: url 4659 }); 4660 st.inc($button.querySelector('.st-count')); 4661 st.storage.set("st_reaction_" + url, reaction); 4662 return typeof onReact === "function" ? onReact(reaction) : void 0; 4663 }); 4664 }; 4665 for (l = 0, len2 = $buttons.length; l < len2; l++) { 4666 $button = $buttons[l]; 4667 fn($button); 4668 } 4669 return typeof onLoad === "function" ? onLoad() : void 0; 4670 }); 4671 }; 4672 4673}).call(this); 4674 4675(function() { 4676 var load, st; 4677 4678 st = window.__sharethis__; 4679 4680 st.loader['inline-share-buttons'] = function(config) { 4681 var $el, $els, i, id, len, loadFn, ref, results; 4682 if (config == null) { 4683 config = {}; 4684 } 4685 if (!config.enabled) { 4686 return; 4687 } 4688 loadFn = load; 4689 if (config.is_ssb) { 4690 loadFn = st.loadSsb; 4691 } 4692 if (config.id) { 4693 $el = document.getElementById(config.id); 4694 if ($el) { 4695 return loadFn($el, config, load); 4696 } 4697 } else if (config.container) { 4698 if (typeof config.container === 'string') { 4699 config.container = document.getElementById(config.container); 4700 } 4701 ref = st.newElement(config.container), $el = ref.$el, id = ref.id; 4702 config.id = id; 4703 if ($el) { 4704 return loadFn($el, config, load); 4705 } 4706 } else { 4707 $els = document.querySelectorAll('.sharethis-inline-share-buttons'); 4708 results = []; 4709 for (i = 0, len = $els.length; i < len; i++) { 4710 $el = $els[i]; 4711 results.push(loadFn($el, config, load)); 4712 } 4713 return results; 4714 } 4715 }; 4716 4717 load = function($el, config) { 4718 var $button, $buttons, $total, $total_label, alignment, alignment_opposite, background_color, class_names, color, common_css, css, description, fade_in, fn, font_size, hover_css, html, i, id, image, index, j, k, label, label_span, labels, language, len, len1, len2, message, min_count, mobile_css, modify, network, network_css, networks, onLoad, padding, radius, ref, resize, show_mobile_buttons, show_total, size, spacing, subject, text_color, text_color_filter, title, url, use_native_counts, username; 4719 color = config.color, fade_in = config.fade_in, onLoad = config.onLoad, alignment = config.alignment, font_size = config.font_size, language = config.language, padding = config.padding, radius = config.radius, size = config.size, spacing = config.spacing, id = config.id, labels = config.labels, min_count = config.min_count, networks = config.networks, show_total = config.show_total, use_native_counts = config.use_native_counts, show_mobile_buttons = config.show_mobile_buttons, url = config.url, title = config.title, image = config.image, description = config.description, username = config.username, message = config.message, subject = config.subject, text_color = config.text_color, background_color = config.background_color;
4720 alignment_opposite = alignment === 'left' ? 'right' : 'left'; 4721 if (alignment == null) { 4722 alignment = 'left'; 4723 } 4724 if (background_color == null) { 4725 background_color = '#B581A3'; 4726 } 4727 if (color == null) { 4728 color = 'social'; 4729 } 4730 if (fade_in == null) { 4731 fade_in = true; 4732 } 4733 if (font_size == null) { 4734 font_size = 12; 4735 } 4736 if (text_color == null) { 4737 text_color = '#fff'; 4738 } 4739 if (language == null) { 4740 language = 'en'; 4741 } 4742 if (min_count == null) { 4743 min_count = 0; 4744 } 4745 if (networks == null) { 4746 networks = ['facebook', 'twitter', 'pinterest', 'email', 'sharethis']; 4747 } 4748 if (padding == null) { 4749 padding = 10; 4750 } 4751 if (radius == null) { 4752 radius = 0; 4753 } 4754 if (show_mobile_buttons == null) { 4755 show_mobile_buttons = st.mobile; 4756 } 4757 if (size == null) { 4758 size = 40; 4759 } 4760 if (spacing == null) { 4761 spacing = 8; 4762 } 4763 if (subject == null) { 4764 subject = st.i18n['subjects'][language]; 4765 } 4766 if (use_native_counts == null) { 4767 use_native_counts = true; 4768 } 4769 if (id == null) { 4770 id = "st-" + (st.uid()); 4771 } 4772 $el.setAttribute('id', id); 4773 st.addClass($el, ["st-" + alignment, language !== 'en' ? "st-lang-" + language : void 0, labels === 'counts' || labels === 'cta' ? 'st-has-labels' : void 0, fade_in ? 'st-hidden' : void 0, 'st-inline-share-buttons']); 4774 common_css = "#" + id + " {\n " + st.FONT_FAMILY + ";\n direction: ltr;\n display: block;\n opacity: 1;\n text-align: " + alignment + ";\n z-index: 94034;\n}\n#" + id + ".st-animated {\n " + (st.TRANSITION('opacity')) + "\n}\n#" + id + ".st-hidden {\n opacity: " + (fade_in ? 0 : 1) + ";\n}\n#" + id + ".st-hide {\n display: none;\n}\n#" + id + " .st-btn {\n " + st.BORDER_BOX + "\n " + (st.TRANSITION(['opacity', 'top'])) + "\n " + (st.BORDER_RADIUS(radius)) + "\n border: " + (color === 'white' ? 'solid 1px #ccc' : 'none') + ";\n cursor: pointer;\n display: inline-block;\n font-size: " + (st.px(font_size)) + ";\n height: " + (st.px(size)) + ";\n line-height: " + (st.px(size)) + ";\n margin-right: " + (spacing ? st.px(spacing) : 0) + ";\n padding: 0 " + (st.px(padding)) + ";\n position: relative;\n text-align: center;\n top: 0;\n vertical-align: top;\n white-space: nowrap;\n}\n#" + id + " .st-btn:last-child {\n margin-right: 0;\n}\n#" + id + " .st-btn > svg {\n height: " + (st.px(size / 2)) + ";\n width: " + (st.px(size / 2)) + ";\n position: relative;\n top: " + (st.px(size / 4)) + ";\n vertical-align: top;\n}\n#" + id + " .st-btn > img {\n display: inline-block;\n height: " + (st.px(size / 2)) + ";\n width: " + (st.px(size / 2)) + ";\n position: relative;\n top: " + (st.px(size / 4)) + ";\n vertical-align: top;\n}\n#" + id + " .st-btn > span {\n " + (st.TRANSITION()) + "\n color: #fff;\n display: inline-block;\n font-weight: 500;\n letter-spacing: 0.5px;\n min-width: " + (st.px(30 + Math.floor(size * 15 / 16))) + ";\n opacity: 1;\n padding: 0 6px;\n position: relative;\n vertical-align: top;\n}\n#" + id + ".st-has-labels .st-btn {\n min-width: " + (st.px(60 + Math.floor(size * 15 / 8))) + ";\n}\n#" + id + ".st-has-labels .st-btn.st-remove-label {\n min-width: 50px;\n}\n#" + id + ".st-has-labels .st-btn.st-remove-label > span {\n display: none;\n}\n#" + id + ".st-has-labels .st-btn.st-hide-label > span {\n display: none;\n}\n#" + id + " .st-total {\n color: #555;\n display: inline-block;\n font-weight: 500;\n line-height: " + (st.px(.375 * size)) + ";\n margin-right: 0;\n max-width: 80px;\n padding: 4px 8px;\n text-align: center;\n}\n#" + id + " .st-total.st-hidden {\n display: none;\n}\n#" + id + " .st-total > span {\n font-size: " + (st.px(.5 * size)) + ";\n line-height: " + (st.px(.55 * size)) + ";\n display: block;\n padding: 0;\n}\n#" + id + " .st-total > span.st-shares {\n font-size: " + (st.px(.3 * size)) + ";\n line-height: " + (st.px(.3 * size)) + ";\n}\n#" + id + ".st-justified {\n display: flex;\n text-align: center;\n}\n#" + id + ".st-justified .st-btn {\n " + st.FLEX + "\n}"; 4775 hover_css = "#" + id + " .st-btn:hover {\n opacity: .8;\n top: -4px;\n}"; 4776 mobile_css = "#" + id + " {\n bottom: 0;"; 4777 text_color_filter = st.getFilter(text_color); 4778 network_css = ((function() { 4779 var i, len, results; 4780 results = []; 4781 for (i = 0, len = networks.length; i < len; i++) { 4782 network = networks[i]; 4783 results.push("#" + id + " .st-btn[data-network='" + network + "'] {\n background-color: " + ((function() { 4784 switch (color) { 4785 case 'social': 4786 return st.COLORS[network]; 4787 case 'black': 4788 return '#000'; 4789 case 'gray': 4790 return '#eee'; 4791 case 'custom': 4792 return background_color; 4793 case 'white': 4794 return '#fff'; 4795 default: 4796 return '#fff'; 4797 } 4798 })()) + "\n}\n#" + id + " .st-btn[data-network='" + network + "'] img {\n filter: " + ((function() { 4799 switch (color) { 4800 case 'black': 4801 return 'invert(0%) sepia(100%) saturate(22%) hue-rotate(45deg) brightness(107%) contrast(105%)'; 4802 case 'gray': 4803 return 'invert(100%) sepia(100%) saturate(22%) hue-rotate(45deg) brightness(107%) contrast(105%)'; 4804 case 'custom': 4805 return text_color_filter; 4806 default: 4807 return ''; 4808 } 4809 })()) + "\n}\n#" + id + " .st-btn[data-network='" + network + "'] > span {\n color: " + ((function() { 4810 switch (color) { 4811 case 'white': 4812 return st.COLORS[network]; 4813 case 'black': 4814 return '#fff'; 4815 case 'gray': 4816 return '#000'; 4817 case 'custom': 4818 return text_color; 4819 case 'social': 4820 return '#fff'; 4821 default: 4822 return '#fff'; 4823 } 4824 })()) + "\n}"); 4825 } 4826 return results; 4827 })()).join('\n'); 4828 network_css += "#" + id + " .st-btn[data-network='snapchat'] > span {\n color: " + (color === 'black' ? '#fff' : '#333') + "};\n}"; 4829 css = common_css; 4830 if (!st.mobile) { 4831 css += hover_css; 4832 } 4833 css += network_css; 4834 st.css(css); 4835 html = ''; 4836 networks = st.filterInvalidNetworks(networks); 4837 if (!show_mobile_buttons) { 4838 ref = ['sms']; 4839 for (i = 0, len = ref.length; i < len; i++) { 4840 network = ref[i]; 4841 index = networks.indexOf(network); 4842 if (index > -1) { 4843 networks.splice(index, 1); 4844 } 4845 } 4846 } 4847 if (show_total) { 4848 html += "<div class='st-total st-hidden'>\n <span class='st-label'></span>\n <span class='st-shares'>\n " + (st.capitalize(st.i18n['shares'][language])) + "\n </span>\n</div>"; 4849 } 4850 for (index = j = 0, len1 = networks.length; j < len1; index = ++j) { 4851 network = networks[index]; 4852 class_names = ['st-btn']; 4853 if (index === 0) { 4854 class_names.push('st-first'); 4855 } 4856 if (index === networks.length - 1) { 4857 class_names.push('st-last'); 4858 } 4859 label = st.getShareLabel(network, language); 4860 if (labels !== 'cta') { 4861 label = ''; 4862 } 4863 label_span = "<span class='st-label'>" + label + "</span>"; 4864 html += "<div class='" + (class_names.join(' ')) + "' data-network='" + network + "'>\n " + (color === 'white' ? st.ICONS_WHITE[network] : st.ICONS[network]) + "\n " + (labels === 'counts' || labels === 'cta' ? label_span : '') + "\n</div>"; 4865 } 4866 $el.innerHTML = html; 4867 $buttons = $el.querySelectorAll('.st-btn'); 4868 $total = $el.querySelector('.st-total'); 4869 $total_label = $el.querySelector('.st-total .st-label'); 4870 modify = function(key, value) { 4871 if (key === 'url') { 4872 url = value; 4873 } 4874 if (key === 'image') { 4875 return image = value; 4876 } 4877 }; 4878 resize = function() { 4879 var $button, actual, available, k, l, len2, m, results; 4880 available = $el.offsetWidth; 4881 actual = function() { 4882 var $button, k, len2, width; 4883 width = 0; 4884 if (show_total) { 4885 width += $total.offsetWidth; 4886 } 4887 for (k = 0, len2 = $buttons.length; k < len2; k++) { 4888 $button = $buttons[k]; 4889 if ($button.style.display === 'none') { 4890 continue; 4891 } 4892 if (alignment === 'justified') { 4893 if (st.hasClass($button, 'st-remove-label')) { 4894 width += 65; 4895 } else { 4896 width += 160; 4897 } 4898 } else { 4899 width += $button.offsetWidth + spacing; 4900 } 4901 } 4902 return width; 4903 }; 4904 for (k = 0, len2 = $buttons.length; k < len2; k++) { 4905 $button = $buttons[k]; 4906 $button.style.display = 'inline-block'; 4907 st.removeClass($button, 'st-remove-label'); 4908 } 4909 for (index = l = $buttons.length - 1; l >= 0; index = l += -1) { 4910 $button = $buttons[index]; 4911 if (actual() > available) { 4912 st.addClass($button, 'st-remove-label'); 4913 } 4914 } 4915 results = []; 4916 for (index = m = $buttons.length - 1; m >= 0; index = m += -1) { 4917 $button = $buttons[index]; 4918 if ($button.getAttribute('data-network') === 'sharethis') { 4919 continue; 4920 } 4921 if (actual() > available) { 4922 results.push($button.style.display = 'none'); 4923 } else { 4924 results.push(void 0); 4925 } 4926 } 4927 return results; 4928 }; 4929 st.addEventListener(window, 'resize', resize); 4930 fn = function($button) { 4931 return st.addEventListener($button, 'click', function() { 4932 return st.share({ 4933 channel_is_ssb: config.is_ssb, 4934 channels_displayed: JSON.stringify(config.networks), 4935 count_url: $el.getAttribute('data-count-url'), 4936 description: description || $el.getAttribute('data-description'), 4937 image: image || $el.getAttribute('data-image'), 4938 message: message || ($el != null ? $el.getAttribute('data-message') : void 0), 4939 network: $button.getAttribute('data-network'), 4940 share_url: $el.getAttribute('data-share-url'), 4941 short_url: $el.getAttribute('data-short-url'), 4942 subject: subject || $el.getAttribute('data-email-subject'), 4943 title: title || ($el != null ? $el.getAttribute('data-title') : void 0), 4944 url: url || $el.getAttribute('data-url'), 4945 username: username || $el.getAttribute('data-username') 4946 }); 4947 }); 4948 }; 4949 for (k = 0, len2 = $buttons.length; k < len2; k++) { 4950 $button = $buttons[k]; 4951 fn($button); 4952 } 4953 if (show_total || labels === 'counts') { 4954 st.loadCounts({ 4955 url: url || ($el.getAttribute('data-count-url')) || ($el.getAttribute('data-url')) || st.href 4956 }, function(counts) { 4957 var l, len3, ref1, ref2, ref3, ref4, value; 4958 if (show_total) { 4959 if (((ref1 = counts['total']) != null ? ref1.value : void 0) > min_count) { 4960 $total_label.innerHTML = ((ref2 = counts['total']) != null ? ref2.label : void 0) || ''; 4961 st.removeClass($total, 'st-hidden'); 4962 } else { 4963 st.addClass($total, 'st-hidden'); 4964 } 4965 } 4966 if (labels === 'counts') { 4967 for (l = 0, len3 = $buttons.length; l < len3; l++) { 4968 $button = $buttons[l]; 4969 network = $button.getAttribute('data-network'); 4970 ref3 = counts[network] || {}, label = ref3.label, value = ref3.value; 4971 if (label && value > min_count) { 4972 if ((ref4 = $button.querySelector('.st-label')) != null) { 4973 ref4.innerHTML = label; 4974 } 4975 st.removeClass($button, 'st-hide-label'); 4976 } else { 4977 st.addClass($button, 'st-hide-label'); 4978 } 4979 } 4980 } 4981 resize(); 4982 if (fade_in) { 4983 st.addClass($el, 'st-animated'); 4984 } 4985 if (fade_in) { 4986 st.removeClass($el, 'st-hidden'); 4987 } 4988 return typeof onLoad === "function" ? onLoad() : void 0; 4989 }); 4990 } else { 4991 resize(); 4992 if (fade_in) { 4993 st.addClass($el, 'st-animated'); 4994 } 4995 if (fade_in) { 4996 st.removeClass($el, 'st-hidden'); 4997 } 4998 if (typeof onLoad === "function") { 4999 onLoad(); 5000 } 5001 } 5002 return { 5003 $buttons: $buttons, 5004 $el: $el, 5005 id: id, 5006 modify: modify, 5007 resize: resize 5008 }; 5009 }; 5010 5011}).call(this); 5012 5013 5014(function() { 5015 var st; 5016 5017 st = window.__sharethis__; 5018
5019 st.loader['powr-social-feed'] = function(config) { 5020 if (config == null) { 5021 config = {}; 5022 } 5023 if (!config.enabled) { 5024 return; 5025 } 5026 return st.js("https://platform-api.sharethis.com/powr.js?platform=sharethis"); 5027 }; 5028 5029}).call(this); 5030 5031(function() { 5032 var st; 5033 5034 st = window.__sharethis__; 5035 5036 st.loader['powr-form-builder'] = function(config) { 5037 if (config == null) { 5038 config = {}; 5039 } 5040 if (!config.enabled) { 5041 return; 5042 } 5043 return st.js("https://platform-api.sharethis.com/powr.js?platform=sharethis"); 5044 }; 5045 5046}).call(this); 5047 5048(function() { 5049 var st; 5050 5051 st = window.__sharethis__; 5052 5053 st.loader['powr-popup'] = function(config) { 5054 if (config == null) { 5055 config = {}; 5056 } 5057 if (!config.enabled) { 5058 return; 5059 } 5060 return st.js("https://platform-api.sharethis.com/powr.js?platform=sharethis"); 5061 }; 5062 5063}).call(this); 5064 5065 5066/* 5067 * Loader for privacy-policy-generator 5068 * To update, please refer to `src/functions/privacy-policy-generator/README.md` 5069 */ 5070 5071(function() { 5072 var st; 5073 5074 st = window.__sharethis__; 5075 5076 st.loader['privacy-policy-generator'] = function(config) { 5077 if (config == null) { 5078 config = {}; 5079 } 5080 if (!config.enabled) { 5081 return; 5082 } 5083 return st.js("https://platform-api.sharethis.com/ppg.js"); 5084 }; 5085 5086}).call(this); 5087 5088 5089(function() { 5090 var load, st, 5091 indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; 5092 5093 st = window.__sharethis__; 5094 5095 st.loader['sticky-share-buttons'] = function(config) { 5096 var $el, $els, i, id, len, loadFn, ref, ref1, results; 5097 if (config == null) { 5098 config = {}; 5099 } 5100 if (!config.enabled) { 5101 return; 5102 } 5103 loadFn = load; 5104 if (config.is_ssb) { 5105 loadFn = st.loadSsb; 5106 } 5107 if (config.id) { 5108 $el = document.getElementById(config.id); 5109 if ($el) { 5110 return loadFn($el, config, load); 5111 } 5112 } else if (config.container) { 5113 if (typeof config.container === 'string') { 5114 config.container = document.getElementById(config.container); 5115 } 5116 ref = st.newElement(config.container), $el = ref.$el, id = ref.id; 5117 config.id = id; 5118 if ($el) { 5119 return loadFn($el, config, load); 5120 } 5121 } else { 5122 $els = document.querySelectorAll('.sharethis-sticky-share-buttons'); 5123 if ($els.length === 0) { 5124 ref1 = st.newElement(), $el = ref1.$el, id = ref1.id; 5125 return loadFn($el, config, load); 5126 } else { 5127 results = []; 5128 for (i = 0, len = $els.length; i < len; i++) { 5129 $el = $els[i]; 5130 results.push(loadFn($el, config, load)); 5131 } 5132 return results; 5133 } 5134 } 5135 }; 5136 5137 load = function($el, config) { 5138 var $button, $buttons, $toggle, $total, $total_label, alignment, alignment_opposite, background_color, class_names, color, common_css, container, css, description, fn, font_size, hide_desktop, hover_css, html, i, id, image, index, j, k, label, label_span, labels, language, len, len1, len2, message, min_count, mobile_breakpoint, mobile_css, network, network_css, networks, onLoad, padding, radius, ref, resize, responsive_css, scrollbar_width, show_mobile, show_mobile_buttons, show_toggle, show_total, size, slide_in, spacing, subject, text_color, text_color_filter, title, top, url, use_native_counts, username; 5139 onLoad = config.onLoad, alignment = config.alignment, color = config.color, container = config.container, font_size = config.font_size, hide_desktop = config.hide_desktop, padding = config.padding, radius = config.radius, size = config.size, spacing = config.spacing, id = config.id, labels = config.labels, language = config.language, min_count = config.min_count, networks = config.networks, show_toggle = config.show_toggle, show_total = config.show_total, mobile_breakpoint = config.mobile_breakpoint, show_mobile = config.show_mobile, slide_in = config.slide_in, top = config.top, use_native_counts = config.use_native_counts, show_mobile_buttons = config.show_mobile_buttons, url = config.url, title = config.title, image = config.image, description = config.description, username = config.username, message = config.message, subject = config.subject, text_color = config.text_color, background_color = config.background_color;
5140 alignment_opposite = alignment === 'left' ? 'right' : 'left'; 5141 if (alignment == null) { 5142 alignment = 'left'; 5143 } 5144 if (background_color == null) { 5145 background_color = '#B581A3'; 5146 } 5147 if (color == null) { 5148 color = 'social'; 5149 } 5150 if (hide_desktop == null) { 5151 hide_desktop = false; 5152 } 5153 if (text_color == null) { 5154 text_color = '#fff'; 5155 } 5156 if (labels == null) { 5157 labels = 'counts'; 5158 } 5159 if (language == null) { 5160 language = 'en'; 5161 } 5162 if (min_count == null) { 5163 min_count = 0; 5164 } 5165 if (mobile_breakpoint == null) { 5166 mobile_breakpoint = 0; 5167 } 5168 if (networks == null) { 5169 networks = ['facebook', 'twitter', 'pinterest', 'email', 'sharethis', 'sms']; 5170 } 5171 if (padding == null) { 5172 padding = 12; 5173 } 5174 if (radius == null) { 5175 radius = 0; 5176 } 5177 if (show_mobile == null) { 5178 show_mobile = false; 5179 } 5180 if (show_mobile_buttons == null) { 5181 show_mobile_buttons = st.mobile; 5182 } 5183 if (show_toggle == null) { 5184 show_toggle = true; 5185 } 5186 if (show_total == null) { 5187 show_total = false; 5188 } 5189 if (size == null) { 5190 size = 48; 5191 } 5192 if (slide_in == null) { 5193 slide_in = true; 5194 } 5195 if (subject == null) { 5196 subject = st.i18n['subjects'][language]; 5197 } 5198 if (top == null) { 5199 top = 100; 5200 } 5201 if (use_native_counts == null) { 5202 use_native_counts = true; 5203 } 5204 if (id == null) { 5205 id = "st-" + (st.uid()); 5206 } 5207 $el.setAttribute('id', id); 5208 scrollbar_width = alignment === 'right' ? st.getScrollbarWidth() : 0; 5209 scrollbar_width = 0; 5210 st.addClass($el, ['st-sticky-share-buttons', "st-" + alignment, show_toggle ? 'st-toggleable' : void 0, labels === 'counts' || labels === 'cta' ? 'st-has-labels' : void 0, show_total ? 'st-show-total' : void 0, slide_in ? 'st-hidden' : void 0, language !== 'en' ? "st-lang-" + language : void 0]); 5211 common_css = "#" + id + " {\n " + st.FONT_FAMILY + ";\n " + (st.TRANSITION()) + "\n backface-visibility: hidden;\n display: " + (!hide_desktop ? 'block' : 'none') + ";\n position: fixed;\n opacity: 1;\n text-align: left;\n top: " + (st.px(top)) + ";\n z-index: 94034;\n}\n#" + id + ".st-" + alignment + " {\n " + alignment + ": " + (st.px(scrollbar_width)) + ";\n}\n#" + id + ".st-hidden.st-" + alignment + " {\n " + alignment + ": -" + (st.px(size)) + ";\n}\n#" + id + ".st-hidden {\n width: " + (st.px(2 * size)) + ";\n}\n#" + id + " > div {\n clear: " + alignment + ";\n float: " + alignment + ";\n}\n#" + id + " .st-btn {\n " + st.BORDER_BOX + "\n " + (st.TRANSITION()) + "\n border: " + (color === 'white' ? 'solid 0.5px #ccc' : 'none') + ";\n cursor: pointer;\n display: inline-block;\n font-size: " + (st.px(font_size)) + ";\n height: " + (st.px(size)) + ";\n line-height: " + (st.px(size / 2)) + ";\n margin-bottom: " + (spacing ? st.px(spacing) : 0) + ";\n opacity: 1;\n overflow: hidden;\n padding: " + (st.px(padding)) + ";\n position: relative;\n text-align: left;\n top: 0;\n vertical-align: top;\n white-space: nowrap;\n width: " + (st.px(size)) + ";\n}\n#" + id + " .st-btn.st-first {\n border-top: " + (color === 'white' ? 'solid 1px #ccc' : 'none') + ";\n border-top-" + alignment_opposite + "-radius: " + (st.px(radius)) + ";\n}\n#" + id + " .st-btn.st-last {\n border-bottom: " + (color === 'white' ? 'solid 1px #ccc' : 'none') + ";\n border-bottom-" + alignment_opposite + "-radius: " + (st.px(radius)) + ";\n}\n#" + id + " .st-btn > svg {\n " + (st.TRANSITION()) + "\n height: " + (st.px(size / 2)) + ";\n margin-left: 0;\n vertical-align: top;\n width: " + (st.px(size / 2)) + ";\n}\n#" + id + " .st-btn > img {\n " + (st.TRANSITION()) + "\n height: " + (st.px(size / 2)) + ";\n margin-left: 0;\n vertical-align: top;\n width: " + (st.px(size / 2)) + ";\n}\n#" + id + " .st-btn > span {\n " + (st.TRANSITION()) + "\n color: #fff;\n display: inline-block;\n font-weight: 500;\n left: -35px;\n letter-spacing: 0.5px;\n opacity: 0;\n padding: 0 6px;\n position: relative;\n vertical-align: top;\n filter: alpha(opacity=0);\n}\n#" + id + " .st-btn.st-hide-label > span {\n display: none !important;\n}\n#" + id + " .st-total {\n " + (st.TRANSITION()) + "\n background: #fff;
5211\n color: #555;\n display: inline-block;\n font-weight: 500;\n line-height: " + (st.px(.375 * size)) + ";\n margin-right: 0;\n min-height: 34px;\n max-width: 80px;\n opacity: 1;\n padding: 4px 0;\n text-align: center;\n width: " + (st.px(size)) + ";\n}\n#" + id + " .st-total.st-hidden {\n display: none;\n}\n#" + id + " .st-total > span {\n display: block;\n font-size: " + (st.px(.38 * size)) + ";\n line-height: " + (st.px(.45 * size)) + ";\n padding: 0;\n}\n#" + id + " .st-total > span.st-shares {\n font-size: " + (st.px(.23 * size)) + ";\n line-height: " + (st.px(.23 * size)) + ";\n}\n#" + id + " .st-toggle {\n " + alignment + ": -" + (st.px(size + scrollbar_width)) + ";\n " + (st.TRANSITION()) + "\n background: #ccc;\n border-bottom-" + alignment_opposite + "-radius: " + (st.px(radius)) + ";\n color: white;\n cursor: pointer;\n font-size: " + (st.px(.5 * size)) + ";\n line-height: " + (st.px(.5 * size)) + ";\n position: relative;\n text-align: center;\n width: " + (st.px(size)) + ";\n}\n#" + id + ".st-hidden .st-toggle {\n border-top-" + alignment_opposite + "-radius: " + (st.px(radius)) + ";\n}\n#" + id + ".st-" + alignment + " .st-toggle .st-" + alignment + " {\n display: inline-block;\n}\n#" + id + ".st-" + alignment + ".st-hidden .st-toggle .st-" + alignment + " {\n display: none;\n}\n#" + id + ".st-" + alignment + " .st-toggle .st-" + alignment_opposite + " {\n display: none;\n}\n#" + id + ".st-" + alignment + ".st-hidden .st-toggle .st-" + alignment_opposite + " {\n display: inline-block;\n}"; 5212 mobile_css = "#" + id + " {\n bottom: 0;\n display: " + (show_mobile ? 'flex' : 'none') + ";\n left: 0;\n right: 0;\n top: auto;\n width: 100%;\n}\n#" + id + ".st-hidden {\n bottom: -" + (st.px(size)) + ";\n width: 100%;\n}\n#" + id + ".st-hidden.st-left {\n left: 0;\n}\n#" + id + ".st-hidden.st-right {\n right: 0;\n}\n#" + id + " > div {\n -moz-flex: 1;\n -ms-flex: 1;\n -webkit-flex: 1;\n clear: none;\n flex: 1;\n float: none;\n}\n#" + id + " .st-total {\n background: #fff;\n padding: 6px 8px;\n}\n#" + id + " .st-btn {\n " + (st.BORDER_RADIUS('0 !important')) + "\n text-align: center;\n width: auto;\n}\n#" + id + " .st-btn > span {\n display: none;\n}\n#" + id + " .st-toggle {\n display: none;\n}"; 5213 if (show_mobile && !document.body.style.paddingBottom) { 5214 mobile_css += "body { padding-bottom: 48px; }"; 5215 } 5216 responsive_css = "@media (max-width: " + (st.px(mobile_breakpoint)) + ") {\n " + mobile_css + "\n}";
5217 hover_css = "#" + id + ":hover .st-toggle {\n " + alignment + ": 0;\n}\n#" + id + ".st-hidden:hover .st-toggle {\n " + alignment + ": " + (st.px(size)) + ";\n}\n#" + id + ".st-toggleable:hover .st-btn.st-last {\n border-bottom-" + alignment_opposite + "-radius: 0;\n}\n#" + id + ".st-toggleable:hover .st-btn.st-last:hover {\n border-bottom-" + alignment_opposite + "-radius: " + (st.px(radius)) + ";\n}\n#" + id + " .st-btn:hover {\n border-bottom-" + alignment_opposite + "-radius: " + (st.px(radius)) + ";\n border-top-" + alignment_opposite + "-radius: " + (st.px(radius)) + ";\n}\n#" + id + ".st-has-labels .st-btn:hover {\n width: " + (st.px(st.i18n['sticky-width'][language])) + ";\n}\n#" + id + ":not(.st-has-labels) .st-btn:hover {\n width: " + (st.px(1.3 * size)) + ";\n}\n#" + id + " .st-btn.st-hide-label:hover {\n width: " + (st.px(1.3 * size)) + ";\n}\n#" + id + " .st-btn:hover > svg {\n margin-left: 5px;\n}\n#" + id + " .st-btn:hover > img {\n margin-left: 5px;\n}\n#" + id + " .st-btn:hover > span {\n opacity: 1;\n display: inline-block;\n left: 0;\n filter: alpha(opacity=100);\n}\n@media (max-width: " + (st.px(mobile_breakpoint)) + ") {\n #" + id + " .st-btn:hover > svg {\n margin-left: 0;\n }\n #" + id + " .st-btn:hover > span {\n display: none;\n }\n}"; 5218 text_color_filter = st.getFilter(text_color); 5219 network_css = ((function() { 5220 var i, len, results; 5221 results = []; 5222 for (i = 0, len = networks.length; i < len; i++) { 5223 network = networks[i]; 5224 results.push("#" + id + " .st-btn[data-network='" + network + "'] {\n background-color: " + ((function() { 5225 switch (color) { 5226 case 'social': 5227 return st.COLORS[network]; 5228 case 'black': 5229 return '#000'; 5230 case 'gray': 5231 return '#eee'; 5232 case 'custom': 5233 return background_color; 5234 case 'white': 5235 return '#fff'; 5236 default: 5237 return '#fff'; 5238 } 5239 })()) + "\n}\n#" + id + " .st-btn[data-network='" + network + "'] img {\n filter: " + ((function() { 5240 switch (color) { 5241 case 'black': 5242 return 'invert(0%) sepia(100%) saturate(22%) hue-rotate(45deg) brightness(107%) contrast(105%)'; 5243 case 'gray': 5244 return 'invert(100%) sepia(100%) saturate(22%) hue-rotate(45deg) brightness(107%) contrast(105%)'; 5245 case 'custom': 5246 return text_color_filter; 5247 default: 5248 return ''; 5249 } 5250 })()) + "\n}\n#" + id + " .st-btn[data-network='" + network + "'] > span {\n color: " + ((function() { 5251 switch (color) { 5252 case 'white': 5253 return st.COLORS[network]; 5254 case 'black': 5255 return '#fff'; 5256 case 'gray': 5257 return '#000'; 5258 case 'custom': 5259 return text_color; 5260 case 'social': 5261 return '#fff'; 5262 default: 5263 return '#fff'; 5264 } 5265 })()) + "\n}"); 5266 } 5267 return results; 5268 })()).join('\n'); 5269 network_css += "#" + id + " .st-btn[data-network='snapchat'] > span {\n color: " + (color === 'black' ? '#fff' : '#333') + "};\n}"; 5270 network_css += "#" + id + " .st-btn[data-network='copy']:hover {\n width: max-content;\n}"; 5271 if (network === 'blm') { 5272 network_css += "#" + id + " .st-btn[data-network='blm']:hover {\n width: 165px;\n}"; 5273 } 5274 css = common_css; 5275 if (!st.mobile) { 5276 css += hover_css; 5277 } 5278 if (!st.mobile) { 5279 css += responsive_css; 5280 } 5281 if (st.mobile) { 5282 css += mobile_css; 5283 } 5284 css += network_css; 5285 st.css(css); 5286 if (!show_mobile_buttons) { 5287 ref = ['sms']; 5288 for (i = 0, len = ref.length; i < len; i++) { 5289 network = ref[i]; 5290 index = networks.indexOf(network); 5291 if (index > -1) { 5292 networks.splice(index, 1); 5293 } 5294 } 5295 } 5296 html = ''; 5297 networks = st.filterInvalidNetworks(networks); 5298 if (show_total) { 5299 html += "<div class='st-total st-hidden'>\n <span class='st-label'></span>\n <span class='st-shares'>\n " + (st.capitalize(st.i18n['shares'][language])) + "\n </span>\n</div>"; 5300 } 5301 for (index = j = 0, len1 = networks.length; j < len1; index = ++j) { 5302 network = networks[index]; 5303 class_names = ['st-btn']; 5304 if (index === 0) { 5305 class_names.push('st-first'); 5306 } 5307 if (index === networks.length - 1) { 5308 class_names.push('st-last'); 5309 } 5310 label = st.getShareLabel(network, language); 5311 if (labels !== 'cta') { 5312 label = ''; 5313 } 5314 label_span = "<span class='st-label'>" + label + "</span>"; 5315 html += "<div class='" + (class_names.join(' ')) + "' data-network='" + network + "'>\n " + (color === 'white' ? st.ICONS_WHITE[network] : st.ICONS[network]) + "\n " + (labels === 'counts' || labels === 'cta' ? label_span : '') + "\n</div>"; 5316 } 5317 if (show_toggle) { 5318 html += "<div class=\"st-toggle\">\n <div class=\"st-left\">\n " + st.ICONS['arrow_left'] + "\n </div>\n <div class=\"st-right\">\n " + st.ICONS['arrow_right'] + "\n </div>\n</div>"; 5319 } 5320 $el.innerHTML = html; 5321 $buttons = $el.querySelectorAll('.st-btn'); 5322 $toggle = $el.querySelector('.st-toggle'); 5323 $total = $el.querySelector('.st-total'); 5324 $total_label = $el.querySelector('.st-total .st-label'); 5325 st.addEventListener($toggle, 'click', function() { 5326 return st.toggleClass($el, 'st-hidden'); 5327 }); 5328 resize = function() { 5329 var $button, k, l, len2, len3, max, ref1, results; 5330 max = 100; 5331 if (st.mobile || window.innerWidth < mobile_breakpoint) { 5332 max = 6; 5333 } 5334 if (show_total) { 5335 max--; 5336 } 5337 if (indexOf.call(networks, 'sharethis') >= 0) { 5338 max--; 5339 } 5340 if (indexOf.call(networks, 'sms') >= 0) { 5341 max--; 5342 } 5343 if (indexOf.call(networks, 'whatsapp') >= 0) { 5344 max--; 5345 } 5346 if (indexOf.call(networks, 'messenger') >= 0) { 5347 max--; 5348 } 5349 if (indexOf.call(networks, 'wechat') >= 0) { 5350 max--; 5351 } 5352 for (k = 0, len2 = $buttons.length; k < len2; k++) { 5353 $button = $buttons[k]; 5354 $button.style.display = 'inline-block'; 5355 } 5356 results = []; 5357 for (index = l = 0, len3 = $buttons.length; l < len3; index = ++l) { 5358 $button = $buttons[index]; 5359 if ((ref1 = $button.getAttribute('data-network')) === 'sharethis' || ref1 === 'sms' || ref1 === 'messenger' || ref1 === 'whatsapp' || ref1 === 'wechat') { 5360 continue; 5361 } 5362 if (max-- > 0) { 5363 continue; 5364 } 5365 results.push($button.style.display = 'none'); 5366 } 5367 return results; 5368 }; 5369 st.addEventListener(window, 'resize', resize); 5370 fn = function($button) { 5371 return st.addEventListener($button, 'click', function() { 5372 return st.share({ 5373 channel_is_ssb: config.is_ssb, 5374 channels_displayed: JSON.stringify(config.networks), 5375 count_url: $el != null ? $el.getAttribute('data-count-url') : void 0, 5376 description: description || ($el != null ? $el.getAttribute('data-description') : void 0), 5377 image: image || ($el != null ? $el.getAttribute('data-image') : void 0), 5378 message: message || ($el != null ? $el.getAttribute('data-message') : void 0), 5379 network: $button.getAttribute('data-network'), 5380 share_url: $el != null ? $el.getAttribute('data-short-url') : void 0, 5381 subject: subject || $el.getAttribute('data-email-subject'), 5382 title: title || ($el != null ? $el.getAttribute('data-title') : void 0), 5383 url: url || ($el != null ? $el.getAttribute('data-url') : void 0), 5384 username: username || ($el != null ? $el.getAttribute('data-username') : void 0) 5385 }); 5386 }); 5387 }; 5388 for (k = 0, len2 = $buttons.length; k < len2; k++) { 5389 $button = $buttons[k]; 5390 fn($button); 5391 } 5392 if (show_total || labels === 'counts') { 5393 return st.loadCounts({ 5394 url: url || ($el != null ? $el.getAttribute('data-url') : void 0) 5395 }, function(counts) { 5396 var l, len3, ref1, ref2, ref3, value; 5397 if (show_total) { 5398 if (((ref1 = counts['total']) != null ? ref1.value : void 0) > min_count) { 5399 $total_label.innerHTML = counts['total'].label; 5400 st.removeClass($total, 'st-hidden'); 5401 } else { 5402 st.addClass($total, 'st-hidden'); 5403 } 5404 } 5405 if (labels === 'counts') { 5406 for (l = 0, len3 = $buttons.length; l < len3; l++) { 5407 $button = $buttons[l]; 5408 network = $button.getAttribute('data-network'); 5409 ref2 = counts[network] || {}, label = ref2.label, value = ref2.value; 5410 if (label && value > min_count) { 5411 if ((ref3 = $button.querySelector('.st-label')) != null) { 5412 ref3.innerHTML = label; 5413 } 5414 st.removeClass($button, 'st-hide-label'); 5415 } else { 5416 st.addClass($button, 'st-hide-label'); 5417 } 5418 } 5419 } 5420 resize(); 5421 setTimeout((function() { 5422 return st.removeClass($el, 'st-hidden'); 5423 }), 10); 5424 return typeof onLoad === "function" ? onLoad() : void 0; 5425 }); 5426 } else { 5427 resize(); 5428 setTimeout((function() { 5429 return st.removeClass($el, 'st-hidden'); 5430 }), 10); 5431 return typeof onLoad === "function" ? onLoad() : void 0; 5432 } 5433 }; 5434 5435}).call(this); 5436 5437(function() { 5438 var st; 5439 5440 st = window.__sharethis__; 5441 5442 st.loader['video-share-buttons'] = function(config) { 5443 var alignment, container, networks, omit_class, onLoad, padding, radius, size, spacing; 5444 if (config == null) { 5445 config = {}; 5446 } 5447 if (!config.enabled) { 5448 return; 5449 } 5450 alignment = config.alignment, container = config.container, omit_class = config.omit_class, onLoad = config.onLoad, padding = config.padding, networks = config.networks, radius = config.radius, size = config.size, spacing = config.spacing; 5451 if (networks == null) { 5452 networks = ['facebook', 'twitter', 'pinterest', 'email']; 5453 } 5454 if (omit_class == null) { 5455 omit_class = ''; 5456 } 5457 if (padding == null) { 5458 padding = 10; 5459 } 5460 if (radius == null) { 5461 radius = 0; 5462 } 5463 if (size == null) { 5464 size = 40; 5465 } 5466 if (spacing == null) { 5467 spacing = 8; 5468 } 5469 st.checkClass = function(checkClass, el) {}; 5470 return st.getEmbeds(function(el, type, url) { 5471 var $el, contAlign, id, inline_buttons, ref; 5472 if (type !== 'video') { 5473 return; 5474 } 5475 ref = st.newElement(el), $el = ref.$el, id = ref.id; 5476 if (omit_class) { 5477 if (st.hasClass(el.parentNode.parentNode, omit_class)) { 5478 return; 5479 } 5480 if (st.hasClass(el.parentNode, omit_class)) { 5481 return; 5482 } 5483 } 5484 st.addClass($el, 'st-video-share-buttons'); 5485 $el.style.width = el.offsetWidth.toString() + 'px'; 5486 $el.style.margin = '0'; 5487 $el.style.padding = '0'; 5488 if (el.tagName.toLowerCase() === 'blockquote') { 5489 $el.style.margin = 'auto'; 5490 } 5491 $el.setAttribute('data-url', el.src); 5492 if (!st.is_ie) { 5493 contAlign = getComputedStyle(el.parentElement).textAlign;
5494 if ('center' === contAlign) { 5495 $el.style.margin = 'auto'; 5496 } 5497 } 5498 el.parentNode.insertBefore($el, el.nextSibling); 5499 return inline_buttons = st.load('inline-share-buttons', { 5500 alignment: alignment, 5501 id: id, 5502 enabled: true, 5503 networks: networks, 5504 padding: padding, 5505 radius: radius, 5506 size: size, 5507 spacing: spacing, 5508 onLoad: function() { 5509 st.addClass($el, ''); 5510 return typeof onLoad === "function" ? onLoad() : void 0; 5511 } 5512 }); 5513 }); 5514 }; 5515 5516}).call(this); 5517 5518(function(){window.__sharethis__.md5="74cb71988b19287ff04a040ec94d58eb";})() 5519};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.