conflict-detection.min.js 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370
  1. /*!
  2. * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
  3. * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
  4. */
  5. var e, t;
  6. e = this, t = function(e) {
  7. "use strict";
  8. function t(e) {
  9. return (t = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
  10. return typeof e;
  11. } : function(e) {
  12. return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
  13. })(e);
  14. }
  15. function a(r) {
  16. for (var e = 1; e < arguments.length; e++) {
  17. var i = null != arguments[e] ? arguments[e] : {}, t = Object.keys(i);
  18. "function" == typeof Object.getOwnPropertySymbols && (t = t.concat(Object.getOwnPropertySymbols(i).filter(function(e) {
  19. return Object.getOwnPropertyDescriptor(i, e).enumerable;
  20. }))), t.forEach(function(e) {
  21. var t, n, o;
  22. t = r, o = i[n = e], n in t ? Object.defineProperty(t, n, {
  23. value: o,
  24. enumerable: !0,
  25. configurable: !0,
  26. writable: !0
  27. }) : t[n] = o;
  28. });
  29. }
  30. return r;
  31. }
  32. var n = {}, o = {};
  33. try {
  34. "undefined" != typeof window && (n = window), "undefined" != typeof document && (o = document);
  35. } catch (e) {}
  36. var r = (n.navigator || {}).userAgent, i = void 0 === r ? "" : r, l = n, u = o, c = !!l.document, s = !!u.documentElement && !!u.head && "function" == typeof u.addEventListener && "function" == typeof u.createElement, f = (~i.indexOf("MSIE") || i.indexOf("Trident/"),
  37. []), d = !1;
  38. function m(e) {
  39. s && (d ? setTimeout(e, 0) : f.push(e));
  40. }
  41. s && ((d = (u.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(u.readyState)) || u.addEventListener("DOMContentLoaded", function e() {
  42. u.removeEventListener("DOMContentLoaded", e), d = 1, f.map(function(e) {
  43. return e();
  44. });
  45. }));
  46. var g = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : {};
  47. var h, p = (function(c) {
  48. !function(e) {
  49. function u(e, t) {
  50. var n = (65535 & e) + (65535 & t);
  51. return (e >> 16) + (t >> 16) + (n >> 16) << 16 | 65535 & n;
  52. }
  53. function a(e, t, n, o, r, i) {
  54. return u((c = u(u(t, e), u(o, i))) << (a = r) | c >>> 32 - a, n);
  55. var c, a;
  56. }
  57. function d(e, t, n, o, r, i, c) {
  58. return a(t & n | ~t & o, e, t, r, i, c);
  59. }
  60. function m(e, t, n, o, r, i, c) {
  61. return a(t & o | n & ~o, e, t, r, i, c);
  62. }
  63. function g(e, t, n, o, r, i, c) {
  64. return a(t ^ n ^ o, e, t, r, i, c);
  65. }
  66. function h(e, t, n, o, r, i, c) {
  67. return a(n ^ (t | ~o), e, t, r, i, c);
  68. }
  69. function s(e, t) {
  70. var n, o, r, i, c;
  71. e[t >> 5] |= 128 << t % 32, e[14 + (t + 64 >>> 9 << 4)] = t;
  72. var a = 1732584193, s = -271733879, f = -1732584194, l = 271733878;
  73. for (n = 0; n < e.length; n += 16) s = h(s = h(s = h(s = h(s = g(s = g(s = g(s = g(s = m(s = m(s = m(s = m(s = d(s = d(s = d(s = d(r = s, f = d(i = f, l = d(c = l, a = d(o = a, s, f, l, e[n], 7, -680876936), s, f, e[n + 1], 12, -389564586), a, s, e[n + 2], 17, 606105819), l, a, e[n + 3], 22, -1044525330), f = d(f, l = d(l, a = d(a, s, f, l, e[n + 4], 7, -176418897), s, f, e[n + 5], 12, 1200080426), a, s, e[n + 6], 17, -1473231341), l, a, e[n + 7], 22, -45705983), f = d(f, l = d(l, a = d(a, s, f, l, e[n + 8], 7, 1770035416), s, f, e[n + 9], 12, -1958414417), a, s, e[n + 10], 17, -42063), l, a, e[n + 11], 22, -1990404162), f = d(f, l = d(l, a = d(a, s, f, l, e[n + 12], 7, 1804603682), s, f, e[n + 13], 12, -40341101), a, s, e[n + 14], 17, -1502002290), l, a, e[n + 15], 22, 1236535329), f = m(f, l = m(l, a = m(a, s, f, l, e[n + 1], 5, -165796510), s, f, e[n + 6], 9, -1069501632), a, s, e[n + 11], 14, 643717713), l, a, e[n], 20, -373897302), f = m(f, l = m(l, a = m(a, s, f, l, e[n + 5], 5, -701558691), s, f, e[n + 10], 9, 38016083), a, s, e[n + 15], 14, -660478335), l, a, e[n + 4], 20, -405537848), f = m(f, l = m(l, a = m(a, s, f, l, e[n + 9], 5, 568446438), s, f, e[n + 14], 9, -1019803690), a, s, e[n + 3], 14, -187363961), l, a, e[n + 8], 20, 1163531501), f = m(f, l = m(l, a = m(a, s, f, l, e[n + 13], 5, -1444681467), s, f, e[n + 2], 9, -51403784), a, s, e[n + 7], 14, 1735328473), l, a, e[n + 12], 20, -1926607734), f = g(f, l = g(l, a = g(a, s, f, l, e[n + 5], 4, -378558), s, f, e[n + 8], 11, -2022574463), a, s, e[n + 11], 16, 1839030562), l, a, e[n + 14], 23, -35309556), f = g(f, l = g(l, a = g(a, s, f, l, e[n + 1], 4, -1530992060), s, f, e[n + 4], 11, 1272893353), a, s, e[n + 7], 16, -155497632), l, a, e[n + 10], 23, -1094730640), f = g(f, l = g(l, a = g(a, s, f, l, e[n + 13], 4, 681279174), s, f, e[n], 11, -358537222), a, s, e[n + 3], 16, -722521979), l, a, e[n + 6], 23, 76029189), f = g(f, l = g(l, a = g(a, s, f, l, e[n + 9], 4, -640364487), s, f, e[n + 12], 11, -421815835), a, s, e[n + 15], 16, 530742520), l, a, e[n + 2], 23, -995338651), f = h(f, l = h(l, a = h(a, s, f, l, e[n], 6, -198630844), s, f, e[n + 7], 10, 1126891415), a, s, e[n + 14], 15, -1416354905), l, a, e[n + 5], 21, -57434055), f = h(f, l = h(l, a = h(a, s, f, l, e[n + 12], 6, 1700485571), s, f, e[n + 3], 10, -1894986606), a, s, e[n + 10], 15, -1051523), l, a, e[n + 1], 21, -2054922799), f = h(f, l = h(l, a = h(a, s, f, l, e[n + 8], 6, 1873313359), s, f, e[n + 15], 10, -30611744), a, s, e[n + 6], 15, -1560198380), l, a, e[n + 13], 21, 1309151649), f = h(f, l = h(l, a = h(a, s, f, l, e[n + 4], 6, -145523070), s, f, e[n + 11], 10, -1120210379), a, s, e[n + 2], 15, 718787259), l, a, e[n + 9], 21, -343485551),
  74. a = u(a, o), s = u(s, r), f = u(f, i), l = u(l, c);
  75. return [ a, s, f, l ];
  76. }
  77. function f(e) {
  78. var t, n = "", o = 32 * e.length;
  79. for (t = 0; t < o; t += 8) n += String.fromCharCode(e[t >> 5] >>> t % 32 & 255);
  80. return n;
  81. }
  82. function l(e) {
  83. var t, n = [];
  84. for (n[(e.length >> 2) - 1] = void 0, t = 0; t < n.length; t += 1) n[t] = 0;
  85. var o = 8 * e.length;
  86. for (t = 0; t < o; t += 8) n[t >> 5] |= (255 & e.charCodeAt(t / 8)) << t % 32;
  87. return n;
  88. }
  89. function o(e) {
  90. var t, n, o = "0123456789abcdef", r = "";
  91. for (n = 0; n < e.length; n += 1) t = e.charCodeAt(n), r += o.charAt(t >>> 4 & 15) + o.charAt(15 & t);
  92. return r;
  93. }
  94. function n(e) {
  95. return unescape(encodeURIComponent(e));
  96. }
  97. function r(e) {
  98. return f(s(l(t = n(e)), 8 * t.length));
  99. var t;
  100. }
  101. function i(e, t) {
  102. return function(e, t) {
  103. var n, o, r = l(e), i = [], c = [];
  104. for (i[15] = c[15] = void 0, 16 < r.length && (r = s(r, 8 * e.length)), n = 0; n < 16; n += 1) i[n] = 909522486 ^ r[n],
  105. c[n] = 1549556828 ^ r[n];
  106. return o = s(i.concat(l(t)), 512 + 8 * t.length), f(s(c.concat(o), 640));
  107. }(n(e), n(t));
  108. }
  109. function t(e, t, n) {
  110. return t ? n ? i(t, e) : o(i(t, e)) : n ? r(e) : o(r(e));
  111. }
  112. c.exports ? c.exports = t : e.md5 = t;
  113. }(g);
  114. }(h = {
  115. exports: {}
  116. }, h.exports), h.exports);
  117. function v(e) {
  118. if (null !== e && "object" === t(e)) return e.src ? p(e.src) : e.href ? p(e.href) : e.innerText && "" !== e.innerText ? p(e.innerText) : void 0;
  119. }
  120. var y = "fa-kits-diag", w = "fa-kits-node-under-test", b = "data-md5", x = "data-fa-detection-ignore", A = "data-fa-detection-timeout", T = "data-fa-detection-results-collection-max-wait", D = function(e) {
  121. e.preventDefault(), e.stopPropagation();
  122. };
  123. function E(e) {
  124. var t = e.fn, c = void 0 === t ? function() {
  125. return !0;
  126. } : t, n = e.initialDuration, o = void 0 === n ? 1 : n, r = e.maxDuration, a = void 0 === r ? l.FontAwesomeDetection.timeout : r, i = e.showProgress, s = void 0 !== i && i, f = e.progressIndicator;
  127. return new Promise(function(r, i) {
  128. !function n(e, o) {
  129. setTimeout(function() {
  130. var e = c();
  131. if (s && console.info(f), e) r(e); else {
  132. var t = 250 + o;
  133. t <= a ? n(250, t) : i("timeout");
  134. }
  135. }, e);
  136. }(o, 0);
  137. });
  138. }
  139. function C(e) {
  140. var t = e.nodesTested, n = e.nodesFound;
  141. l.FontAwesomeDetection = l.FontAwesomeDetection || {}, l.FontAwesomeDetection.nodesTested = t,
  142. l.FontAwesomeDetection.nodesFound = n, l.FontAwesomeDetection.detectionDone = !0;
  143. }
  144. function F() {
  145. var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : function() {}, n = {
  146. conflict: {},
  147. noConflict: {}
  148. };
  149. l.onmessage = function(e) {
  150. "file://" !== l.location.origin && e.origin !== l.location.origin || e && e.data && ("fontawesome-conflict" === e.data.type ? n.conflict[e.data.md5] = e.data : "no-conflict" === e.data.type && (n.noConflict[e.data.md5] = e.data));
  151. };
  152. var e = function(t) {
  153. for (var c = Array.from(u.scripts).filter(function(e) {
  154. return !e.hasAttribute(x) && e !== t;
  155. }), a = {}, e = function(e) {
  156. var t = u.createElement("iframe");
  157. t.setAttribute("style", "display:none;");
  158. var n = u.createElement("script");
  159. n.setAttribute("id", w);
  160. var o = v(c[e]);
  161. n.setAttribute(b, o), a[o] = c[e], "" !== c[e].src && (n.src = c[e].src), "" !== c[e].innerText && (n.innerText = c[e].innerText),
  162. n.async = !0;
  163. var r = u.createElement("script");
  164. r.setAttribute("id", y);
  165. var i = "file://" === l.location.origin ? "*" : l.location.origin;
  166. r.innerText = "(".concat(function(n, o, r) {
  167. parent.FontAwesomeDetection.__pollUntil({
  168. fn: function() {
  169. return !!window.FontAwesomeConfig || !!window.FontAwesomeKitConfig;
  170. }
  171. }).then(function() {
  172. var e = document.getElementById(n);
  173. parent.postMessage({
  174. type: "fontawesome-conflict",
  175. technology: "js",
  176. src: e.src,
  177. innerText: e.innerText,
  178. tagName: e.tagName,
  179. md5: o
  180. }, r);
  181. }).catch(function(e) {
  182. var t = document.getElementById(n);
  183. "timeout" === e ? parent.postMessage({
  184. type: "no-conflict",
  185. src: t.src,
  186. innerText: t.innerText,
  187. tagName: t.tagName,
  188. md5: o
  189. }, r) : console.error(e);
  190. });
  191. }.toString(), ")('").concat(w, "', '").concat(o, "', '").concat(i, "');"), t.onload = function() {
  192. t.contentWindow.addEventListener("error", D, !0), t.contentDocument.head.appendChild(r),
  193. t.contentDocument.head.appendChild(n);
  194. }, m(function() {
  195. return u.body.appendChild(t);
  196. });
  197. }, n = 0; n < c.length; n++) e(n);
  198. return a;
  199. }(u.currentScript), o = function() {
  200. var e = Array.from(u.getElementsByTagName("link")).filter(function(e) {
  201. return !e.hasAttribute(x);
  202. }), t = Array.from(u.getElementsByTagName("style")).filter(function(e) {
  203. return !(e.hasAttribute(x) || l.FontAwesomeConfig && e.innerText.match(new RegExp("svg:not\\(:root\\)\\.".concat(l.FontAwesomeConfig.replacementClass))));
  204. });
  205. function n(e, t) {
  206. var n = u.createElement("iframe");
  207. n.setAttribute("style", "visibility: hidden; position: absolute; height: 0; width: 0;");
  208. var o = "fa-test-icon-" + t, r = u.createElement("i");
  209. r.setAttribute("class", "fa fa-coffee"), r.setAttribute("id", o);
  210. var i = u.createElement("script");
  211. i.setAttribute("id", y);
  212. var c = "file://" === l.location.origin ? "*" : l.location.origin;
  213. i.innerText = "(".concat(function(n, o, r, i) {
  214. parent.FontAwesomeDetection.__pollUntil({
  215. fn: function() {
  216. var e = document.getElementById(o), t = window.getComputedStyle(e).getPropertyValue("font-family");
  217. return !(!t.match(/FontAwesome/) && !t.match(/Font Awesome 5/));
  218. }
  219. }).then(function() {
  220. var e = document.getElementById(n);
  221. parent.postMessage({
  222. type: "fontawesome-conflict",
  223. technology: "webfont",
  224. href: e.href,
  225. innerText: e.innerText,
  226. tagName: e.tagName,
  227. md5: r
  228. }, i);
  229. }).catch(function(e) {
  230. var t = document.getElementById(n);
  231. "timeout" === e ? parent.postMessage({
  232. type: "no-conflict",
  233. technology: "webfont",
  234. href: t.src,
  235. innerText: t.innerText,
  236. tagName: t.tagName,
  237. md5: r
  238. }, i) : console.error(e);
  239. });
  240. }.toString(), ")('").concat(w, "', '").concat(o || "foo", "', '").concat(t, "', '").concat(c, "');"),
  241. n.onload = function() {
  242. n.contentWindow.addEventListener("error", D, !0), n.contentDocument.head.appendChild(i),
  243. n.contentDocument.head.appendChild(e), n.contentDocument.body.appendChild(r);
  244. }, m(function() {
  245. return u.body.appendChild(n);
  246. });
  247. }
  248. for (var o = {}, r = 0; r < e.length; r++) {
  249. var i = u.createElement("link");
  250. i.setAttribute("id", w), i.setAttribute("href", e[r].href), i.setAttribute("rel", e[r].rel);
  251. var c = v(e[r]);
  252. i.setAttribute(b, c), o[c] = e[r], n(i, c);
  253. }
  254. for (var a = 0; a < t.length; a++) {
  255. var s = u.createElement("style");
  256. s.setAttribute("id", w);
  257. var f = v(t[a]);
  258. s.setAttribute(b, f), s.innerText = t[a].innerText, o[f] = t[a], n(s, f);
  259. }
  260. return o;
  261. }(), r = a({}, e, o), i = Object.keys(e).length + Object.keys(o).length, c = l.FontAwesomeDetection.timeout + l.FontAwesomeDetection.resultsCollectionMaxWait;
  262. console.group("Font Awesome Detector"), 0 === i ? (console.info("%cAll Good!", "color: green; font-size: large"),
  263. console.info("We didn't find anything that needs testing for conflicts. Ergo, no conflicts.")) : (console.info("Testing ".concat(i, " possible conflicts.")),
  264. console.info("We'll wait about ".concat(Math.round(l.FontAwesomeDetection.timeout / 10) / 100, " seconds while testing these and\n") + "then up to another ".concat(Math.round(l.FontAwesomeDetection.resultsCollectionMaxWait / 10) / 100, " to allow the browser time\n") + "to accumulate the results. But we'll probably be outta here way before then.\n\n"),
  265. console.info("You can adjust those durations by assigning values to these attributes on the <script> element that loads this detection:"),
  266. console.info("\t%c".concat(A, "%c: milliseconds to wait for each test before deciding whether it's a conflict."), "font-weight: bold;", "font-size: normal;"),
  267. console.info("\t%c".concat(T, "%c: milliseconds to wait for the browser to accumulate test results before giving up."), "font-weight: bold;", "font-size: normal;"),
  268. E({
  269. maxDuration: c,
  270. showProgress: !0,
  271. progressIndicator: "waiting...",
  272. fn: function() {
  273. return Object.keys(n.conflict).length + Object.keys(n.noConflict).length >= i;
  274. }
  275. }).then(function() {
  276. console.info("DONE!"), C({
  277. nodesTested: n,
  278. nodesFound: r
  279. }), t({
  280. nodesTested: n,
  281. nodesFound: r
  282. }), console.groupEnd();
  283. }).catch(function(e) {
  284. "timeout" === e ? console.info("TIME OUT! We waited until we got tired. Here's what we found:") : (console.info("Whoops! We hit an error:", e),
  285. console.info("Here's what we'd found up until that error:")), C({
  286. nodesTested: n,
  287. nodesFound: r
  288. }), t({
  289. nodesTested: n,
  290. nodesFound: r
  291. }), console.groupEnd();
  292. }));
  293. }
  294. var O = l.FontAwesomeDetection || {}, N = a({}, {
  295. report: function(e) {
  296. var t = e.nodesTested, n = e.nodesFound, o = {};
  297. for (var r in n) t.conflict[r] || t.noConflict[r] || (o[r] = n[r]);
  298. var i = Object.keys(t.conflict).length;
  299. if (0 < i) {
  300. console.info("%cConflict".concat(1 < i ? "s" : "", " found:"), "color: darkred; font-size: large");
  301. var c = {};
  302. for (var a in t.conflict) {
  303. var s = t.conflict[a];
  304. c[a] = {
  305. tagName: s.tagName,
  306. "src/href": s.src || s.href || "n/a",
  307. "innerText excerpt": s.innerText && "" !== s.innerText ? s.innerText.slice(0, 200) + "..." : "(empty)"
  308. };
  309. }
  310. console.table(c);
  311. }
  312. var f = Object.keys(t.noConflict).length;
  313. if (0 < f) {
  314. console.info("%cNo conflict".concat(1 < f ? "s" : "", " found with ").concat(1 == f ? "this" : "these", ":"), "color: green; font-size: large");
  315. var l = {};
  316. for (var u in t.noConflict) {
  317. var d = t.noConflict[u];
  318. l[u] = {
  319. tagName: d.tagName,
  320. "src/href": d.src || d.href || "n/a",
  321. "innerText excerpt": d.innerText && "" !== d.innerText ? d.innerText.slice(0, 200) + "..." : "(empty)"
  322. };
  323. }
  324. console.table(l);
  325. }
  326. var m = Object.keys(o).length;
  327. if (0 < m) {
  328. console.info("%cLeftovers--we timed out before collecting test results for ".concat(1 == m ? "this" : "these", ":"), "color: blue; font-size: large");
  329. var g = {};
  330. for (var h in o) {
  331. var p = o[h];
  332. g[h] = {
  333. tagName: p.tagName,
  334. "src/href": p.src || p.href || "n/a",
  335. "innerText excerpt": p.innerText && "" !== p.innerText ? p.innerText.slice(0, 200) + "..." : "(empty)"
  336. };
  337. }
  338. console.table(g);
  339. }
  340. },
  341. timeout: +(u.currentScript.getAttribute(A) || "2000"),
  342. resultsCollectionMaxWait: +(u.currentScript.getAttribute(T) || "5000")
  343. }, O, {
  344. __pollUntil: E,
  345. md5ForNode: v,
  346. detectionDone: !1,
  347. nodesTested: null,
  348. nodesFound: null
  349. });
  350. l.FontAwesomeDetection = N;
  351. var j = function() {
  352. try {
  353. return "production" === process.env.NODE_ENV;
  354. } catch (e) {
  355. return !1;
  356. }
  357. }();
  358. !function(e) {
  359. try {
  360. e();
  361. } catch (e) {
  362. if (!j) throw e;
  363. }
  364. }(function() {
  365. c && s && F(window.FontAwesomeDetection.report);
  366. }), e.conflictDetection = F, Object.defineProperty(e, "__esModule", {
  367. value: !0
  368. });
  369. }, "object" == typeof exports && "undefined" != typeof module ? t(exports) : "function" == typeof define && define.amd ? define([ "exports" ], t) : t(e["fontawesome-free-conflict-detection"] = {});