1! function (a) { 2 a.fn.fitText = function (b, c) { 3 var d = b || 1, 4 e = a.extend({ 5 minFontSize: Number.NEGATIVE_INFINITY, 6 maxFontSize: Number.POSITIVE_INFINITY 7 }, c); 8 return this.each(function () { 9 var b = a(this), 10 c = function () { 11 b.css("font-size", Math.max(Math.min(b.width() / (10 * d), parseFloat(e.maxFontSize)), parseFloat(e.minFontSize))) 12 }; 13 c(), a(window).on("resize.fittext orientationchange.fittext", c) 14 }) 15 } 16}(jQuery), 17function (a) { 18 "use strict"; 19 a.fn.fitVids = function (b) { 20 var c = { 21 customSelector: null, 22 ignore: null 23 }; 24 if (!document.getElementById("fit-vids-style")) { 25 var d = document.head || document.getElementsByTagName("head")[0], 26 f = document.createElement("div"); 27 f.innerHTML = '<p>x</p><style id="fit-vids-style">' + ".fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}" + "</style>", d.appendChild(f.childNodes[1]) 28 } 29 return b && a.extend(c, b), this.each(function () { 30 var b = ["iframe[src*='player.vimeo.com']", "iframe[src*='youtube.com']", "iframe[src*='youtube-nocookie.com']", "iframe[src*='kickstarter.com'][src*='video.html']", "object", "embed"]; 31 c.customSelector && b.push(c.customSelector); 32 var d = ".fitvidsignore"; 33 c.ignore && (d = d + ", " + c.ignore); 34 var e = a(this).find(b.join(",")); 35 e = e.not("object object"), e = e.not(d), e.each(function () { 36 var b = a(this); 37 if (!(b.parents(d).length > 0 || "embed" === this.tagName.toLowerCase() && b.parent("object").length || b.parent(".fluid-width-video-wrapper").length)) { 38 b.css("height") || b.css("width") || !isNaN(b.attr("height")) && !isNaN(b.attr("width")) || (b.attr("height", 9), b.attr("width", 16)); 39 var c = "object" === this.tagName.toLowerCase() || b.attr("height") && !isNaN(parseInt(b.attr("height"), 10)) ? parseInt(b.attr("height"), 10) : b.height(), 40 e = isNaN(parseInt(b.attr("width"), 10)) ? b.width() : parseInt(b.attr("width"), 10), 41 f = c / e; 42 if (!b.attr("id")) { 43 var g = "fitvid" + Math.floor(999999 * Math.random()); 44 b.attr("id", g) 45 } 46 b.wrap('<div class="fluid-width-video-wrapper"></div>').parent(".fluid-width-video-wrapper").css("padding-top", 100 * f + "%"), b.removeAttr("height").removeAttr("width") 47 } 48 }) 49 }) 50 } 51}(window.jQuery || window.Zepto), 52function (a) { 53 var b = a.fn.cover = function (c) { 54 var d, e; 55 if ("object" != typeof c && c) { 56 if (!b[c]) throw 'Error: The method "' + c + "\" doesn't exist in jQuery Cover"; 57 e = Array.prototype.slice.call(arguments, 1), d = c 58 } else e = arguments, d = "_init"; 59 return a(this).each(function () { 60 var f = a(this).is("img") ? a(this) : a("img", this), 61 g = f.data("data"); 62 if ("_init" == d && g) return void b._opts(g, c, !0); 63 if (g = g || { 64 self: a(this), 65 callbacks: [] 66 }, "_init" == d ? (g.opts = "_init" == c ? Array.prototype.slice.call(arguments, 1) : c, e = [g]) : e = [g].concat(e), f.data("data", g), "_triggerCallback" == d) return b[d].apply(f, e); 67 try { 68 b[d].apply(f, e) 69 } catch (a) { 70 if ("callbackReturnedFalse" != a) throw a 71 } 72 }) 73 }; 74 a.extend(b, { 75 interval: !1, 76 _init: function (c) { 77 var d = b._opts(c, c.opts, !0); 78 c.img = new Image; 79 for (var e in d.callbacks) b.bindCallback(c, e, d.callbacks[e]); 80 c.img.src = c.self.attr("src"), c.self.wrap(a('<div class="greenishCover height"><div>')), c.wrapper = c.self.parent().parent(), d.backgroundPosition && (d.backgroundPosition.search(/top/i) >= 0 ? c.wrapper.addClass("top") : d.backgroundPosition.search(/bottom/i) >= 0 && c.wrapper.addClass("bottom"), d.backgroundPosition.search(/left/i) >= 0 ? c.wrapper.addClass("left") : d.backgroundPosition.search(/right/i) >= 0 && c.wrapper.addClass("right")), d.loadHidden && c.self.css({ 81 visibility: "hidden" 82 }), c.self.cover("_triggerCallback", "preLoading"), b.interval || (b.interval = setInterval(b._loading, 100)), c.opts.checkWindowResize && a(window).unbind("resize.cover").bind("resize.cover", function () { 83 a(".greenishCover").cover("update") 84 }) 85 }, 86 update: function () { 87 var b = a(this), 88 c = b.is("img") ? b : b.find("img"), 89 d = c.data("data"), 90 e = d.wrapper,
91 f = e.hasClass("height") ? "height" : "width", 92 g = e.height() / e.width() >= d.ratio ? "height" : "width"; 93 f !== g && (e.addClass(g).removeClass(f), c.cover("_triggerCallback", "ratioSwitch")) 94 }, 95 _loading: function () { 96 b.complete = !0, a(".greenishCover").each(function () { 97 var c = a("img", this).data("data"), 98 d = c.img; 99 if (!d || !d.complete || d.height <= 0 || d.width <= 0) return void(b.complete = !1); 100 c.ratio = d.height / d.width; 101 var e = 50 / d.width * d.height; 102 c.self.css({ 103 marginTop: -e + "%" 104 }), c.opts.loadHidden && c.self.css({ 105 visibility: "visible" 106 }), c.self.cover("_triggerCallback", "postLoading"), c.wrapper.cover("update") 107 }), b.complete && (clearInterval(b.interval), b.interval = !1) 108 }, 109 bindCallback: function (a, b, c) { 110 c = "function" == typeof c ? [c] : c, a.callbacks[b] = a.callbacks[b] || []; 111 for (var d in c) a.callbacks[b].push(c[d]) 112 }, 113 _triggerCallback: function (a, b, c) { 114 if (!a.callbacks[b] || a.callbacks[b].length <= 0) return c; 115 for (var d in a.callbacks[b]) { 116 if (!1 !== (c = a.callbacks[b][d].apply(this, [a, c]))) continue; 117 throw "callbackReturnedFalse" 118 } 119 return c 120 }, 121 _opts: function (b, c, d) { 122 return c = a.extend(!0, {}, this.defaults, b.opts || {}, c || {}), d && (b.opts = c), c 123 }, 124 defaults: { 125 backgroundPosition: !1, 126 callbacks: {}, 127 checkWindowResize: !0, 128 loadHidden: !0 129 } 130 }) 131}(jQuery); 132// var __resetLayout = Packery.prototype._resetLayout; 133// Packery.prototype._resetLayout = function () { 134// __resetLayout.call(this); 135// var a = getSize(this.element.parentNode), 136// b = this.columnWidth + this.gutter; 137// this.fitWidth = Math.floor((a.innerWidth + this.gutter) / b) * b, this.packer.width = this.fitWidth, this.packer.height = Number.POSITIVE_INFINITY, this.packer.reset() 138// }, Packery.prototype._getContainerSize = function () { 139// for (var a = 0, b = 0, c = this.packer.spaces.length; b < c; b++) { 140// var d = this.packer.spaces[b]; 141// 0 === d.y && d.height === Number.POSITIVE_INFINITY && (a += d.width) 142// } 143// return { 144// width: this.fitWidth - this.gutter, 145// height: this.maxY - this.gutter 146// } 147// }, Packery.prototype.resize = function () { 148// this.layout() 149// };
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.