vendor: 14,600 bytes, lines 1-401
1/*! WOW - v1.1.3 - 2016-05-06 2* Copyright (c) 2016 Matthieu Aussaguel;*/ 3(function() { 4 var a, b, c, d, e, f = function(a, b) { 5 return function() { 6 return a.apply(b, arguments) 7 } 8 }, g = [].indexOf || function(a) { 9 for (var b = 0, c = this.length; c > b; b++) 10 if (b in this && this[b] === a) 11 return b; 12 return -1 13 } 14 ; 15 b = function() { 16 function a() {} 17 return a.prototype.extend = function(a, b) { 18 var c, d; 19 for (c in b) 20 d = b[c], 21 null == a[c] && (a[c] = d); 22 return a 23 } 24 , 25 a.prototype.isMobile = function(a) { 26 return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(a) 27 } 28 , 29 a.prototype.createEvent = function(a, b, c, d) { 30 var e; 31 return null == b && (b = !1), 32 null == c && (c = !1), 33 null == d && (d = null), 34 null != document.createEvent ? (e = document.createEvent("CustomEvent"), 35 e.initCustomEvent(a, b, c, d)) : null != document.createEventObject ? (e = document.createEventObject(), 36 e.eventType = a) : e.eventName = a, 37 e 38 } 39 , 40 a.prototype.emitEvent = function(a, b) { 41 return null != a.dispatchEvent ? a.dispatchEvent(b) : b in (null != a) ? a[b]() : "on" + b in (null != a) ? a["on" + b]() : void 0 42 } 43 , 44 a.prototype.addEvent = function(a, b, c) { 45 return null != a.addEventListener ? a.addEventListener(b, c, !1) : null != a.attachEvent ? a.attachEvent("on" + b, c) : a[b] = c 46 } 47 , 48 a.prototype.removeEvent = function(a, b, c) { 49 return null != a.removeEventListener ? a.removeEventListener(b, c, !1) : null != a.detachEvent ? a.detachEvent("on" + b, c) : delete a[b] 50 } 51 , 52 a.prototype.innerHeight = function() { 53 return "innerHeight"in window ? window.innerHeight : document.documentElement.clientHeight 54 } 55 , 56 a 57 }(), 58 c = this.WeakMap || this.MozWeakMap || (c = function() { 59 function a() { 60 this.keys = [], 61 this.values = [] 62 } 63 return a.prototype.get = function(a) { 64 var b, c, d, e, f; 65 for (f = this.keys, 66 b = d = 0, 67 e = f.length; e > d; b = ++d) 68 if (c = f[b], 69 c === a) 70 return this.values[b] 71 } 72 , 73 a.prototype.set = function(a, b) { 74 var c, d, e, f, g; 75 for (g = this.keys, 76 c = e = 0, 77 f = g.length; f > e; c = ++e) 78 if (d = g[c], 79 d === a) 80 return void (this.values[c] = b); 81 return this.keys.push(a), 82 this.values.push(b) 83 } 84 , 85 a 86 }()), 87 a = this.MutationObserver || this.WebkitMutationObserver || this.MozMutationObserver || (a = function() { 88 function a() { 89 "undefined" != typeof console && null !== console && console.warn("MutationObserver is not supported by your browser."), 90 "undefined" != typeof console && null !== console && console.warn("WOW.js cannot detect dom mutations, please call .sync() after loading new content.") 91 } 92 return a.notSupported = !0, 93 a.prototype.observe = function() {} 94 , 95 a 96 }()), 97 d = this.getComputedStyle || function(a, b) { 98 return this.getPropertyValue = function(b) { 99 var c; 100 return "float" === b && (b = "styleFloat"), 101 e.test(b) && b.replace(e, function(a, b) { 102 return b.toUpperCase() 103 }), 104 (null != (c = a.currentStyle) ? c[b] : void 0) || null 105 } 106 , 107 this 108 } 109 , 110 e = /(\-([a-z]){1})/g, 111 this.WOW = function() { 112 function e(a) { 113 null == a && (a = {}), 114 this.scrollCallback = f(this.scrollCallback, this), 115 this.scrollHandler = f(this.scrollHandler, this), 116 this.resetAnimation = f(this.resetAnimation, this), 117 this.start = f(this.start, this), 118 this.scrolled = !0, 119 this.config = this.util().extend(a, this.defaults), 120 null != a.scrollContainer && (this.config.scrollContainer = document.querySelector(a.scrollContainer)), 121 this.animationNameCache = new c, 122 this.wowEvent = this.util().createEvent(this.config.boxClass) 123 } 124 return e.prototype.defaults = { 125 boxClass: "wow", 126 animateClass: "animated", 127 offset: 0, 128 mobile: !0, 129 live: !0, 130 callback: null, 131 scrollContainer: null 132 }, 133 e.prototype.init = function() { 134 var a; 135 return this.element = window.document.documentElement, 136 "interactive" === (a = document.readyState) || "complete" === a ? this.start() : this.util().addEvent(document, "DOMContentLoaded", this.start), 137 this.finished = [] 138 } 139 , 140 e.prototype.start = function() { 141 var b, c, d, e; 142 if (this.stopped = !1, 143 this.boxes = function() { 144 var a, c, d, e; 145 for (d = this.element.querySelectorAll("." + this.config.boxClass), 146 e = [], 147 a = 0, 148 c = d.length; c > a; a++) 149 b = d[a], 150 e.push(b); 151 return e 152 } 153 .call(this), 154 this.all = function() { 155 var a, c, d, e; 156 for (d = this.boxes, 157 e = [], 158 a = 0, 159 c = d.length; c > a; a++) 160 b = d[a], 161 e.push(b); 162 return e 163 } 164 .call(this), 165 this.boxes.length) 166 if (this.disabled()) 167 this.resetStyle(); 168 else 169 for (e = this.boxes, 170 c = 0, 171 d = e.length; d > c; c++) 172 b = e[c], 173 this.applyStyle(b, !0); 174 return this.disabled() || (this.util().addEvent(this.config.scrollContainer || window, "scroll", this.scrollHandler), 175 this.util().addEvent(window, "resize", this.scrollHandler), 176 this.interval = setInterval(this.scrollCallback, 50)), 177 this.config.live ? new a(function(a) { 178 return function(b) { 179 var c, d, e, f, g; 180 for (g = [], 181 c = 0, 182 d = b.length; d > c; c++) 183 f = b[c], 184 g.push(function() { 185 var a, b, c, d; 186 for (c = f.addedNodes || [], 187 d = [], 188 a = 0, 189 b = c.length; b > a; a++) 190 e = c[a], 191 d.push(this.doSync(e)); 192 return d 193 } 194 .call(a)); 195 return g 196 } 197 }(this)).observe(document.body, { 198 childList: !0, 199 subtree: !0 200 }) : void 0 201 } 202 , 203 e.prototype.stop = function() { 204 return this.stopped = !0, 205 this.util().removeEvent(this.config.scrollContainer || window, "scroll", this.scrollHandler), 206 this.util().removeEvent(window, "resize", this.scrollHandler), 207 null != this.interval ? clearInterval(this.interval) : void 0 208 } 209 , 210 e.prototype.sync = function(b) { 211 return a.notSupported ? this.doSync(this.element) : void 0 212 } 213 , 214 e.prototype.doSync = function(a) { 215 var b, c, d, e, f; 216 if (null == a && (a = this.element), 217 1 === a.nodeType) { 218 for (a = a.parentNode || a, 219 e = a.querySelectorAll("." + this.config.boxClass), 220 f = [], 221 c = 0, 222 d = e.length; d > c; c++) 223 b = e[c], 224 g.call(this.all, b) < 0 ? (this.boxes.push(b), 225 this.all.push(b), 226 this.stopped || this.disabled() ? this.resetStyle() : this.applyStyle(b, !0), 227 f.push(this.scrolled = !0)) : f.push(void 0); 228 return f 229 } 230 } 231 , 232 e.prototype.show = function(a) { 233 return this.applyStyle(a), 234 a.className = a.className + " " + this.config.animateClass, 235 null != this.config.callback && this.config.callback(a), 236 this.util().emitEvent(a, this.wowEvent), 237 this.util().addEvent(a, "animationend", this.resetAnimation), 238 this.util().addEvent(a, "oanimationend", this.resetAnimation), 239 this.util().addEvent(a, "webkitAnimationEnd", this.resetAnimation), 240 this.util().addEvent(a, "MSAnimationEnd", this.resetAnimation), 241 a 242 } 243 , 244 e.prototype.applyStyle = function(a, b) { 245 var c, d, e; 246 return d = a.getAttribute("data-wow-duration"), 247 c = a.getAttribute("data-wow-delay"), 248 e = a.getAttribute("data-wow-iteration"), 249 this.animate(function(f) { 250 return function() { 251 return f.customStyle(a, b, d, c, e) 252 } 253 }(this)) 254 } 255 , 256 e.prototype.animate = function() { 257 return "requestAnimationFrame"in window ? function(a) { 258 return window.requestAnimationFrame(a) 259 } 260 : function(a) { 261 return a() 262 } 263 }(), 264 e.prototype.resetStyle = function() { 265 var a, b, c, d, e; 266 for (d = this.boxes, 267 e = [], 268 b = 0, 269 c = d.length; c > b; b++) 270 a = d[b], 271 e.push(a.style.visibility = "visible"); 272 return e 273 } 274 , 275 e.prototype.resetAnimation = function(a) { 276 var b; 277 return a.type.toLowerCase().indexOf("animationend") >= 0 ? (b = a.target || a.srcElement, 278 b.className = b.className.replace(this.config.animateClass, "").trim()) : void 0 279 } 280 , 281 e.prototype.customStyle = function(a, b, c, d, e) { 282 return b && this.cacheAnimationName(a), 283 a.style.visibility = b ? "hidden" : "visible", 284 c && this.vendorSet(a.style, { 285 animationDuration: c 286 }), 287 d && this.vendorSet(a.style, { 288 animationDelay: d 289 }), 290 e && this.vendorSet(a.style, { 291 animationIterationCount: e 292 }), 293 this.vendorSet(a.style, { 294 animationName: b ? "none" : this.cachedAnimationName(a) 295 }), 296 a 297 } 298 , 299 e.prototype.vendors = ["moz", "webkit"], 300 e.prototype.vendorSet = function(a, b) { 301 var c, d, e, f; 302 d = []; 303 for (c in b) 304 e = b[c], 305 a["" + c] = e, 306 d.push(function() { 307 var b, d, g, h; 308 for (g = this.vendors, 309 h = [], 310 b = 0, 311 d = g.length; d > b; b++) 312 f = g[b], 313 h.push(a["" + f + c.charAt(0).toUpperCase() + c.substr(1)] = e); 314 return h 315 } 316 .call(this)); 317 return d 318 } 319 , 320 e.prototype.vendorCSS = function(a, b) { 321 var c, e, f, g, h, i; 322 for (h = d(a), 323 g = h.getPropertyCSSValue(b), 324 f = this.vendors, 325 c = 0, 326 e = f.length; e > c; c++) 327 i = f[c], 328 g = g || h.getPropertyCSSValue("-" + i + "-" + b); 329 return g 330 } 331 , 332 e.prototype.animationName = function(a) { 333 var b; 334 try { 335 b = this.vendorCSS(a, "animation-name").cssText 336 } catch (c) { 337 b = d(a).getPropertyValue("animation-name") 338 } 339 return "none" === b ? "" : b 340 } 341 , 342 e.prototype.cacheAnimationName = function(a) { 343 return this.animationNameCache.set(a, this.animationName(a)) 344 } 345 , 346 e.prototype.cachedAnimationName = function(a) { 347 return this.animationNameCache.get(a) 348 } 349 , 350 e.prototype.scrollHandler = function() { 351 return this.scrolled = !0 352 } 353 , 354 e.prototype.scrollCallback = function() { 355 var a; 356 return !this.scrolled || (this.scrolled = !1, 357 this.boxes = function() { 358 var b, c, d, e; 359 for (d = this.boxes, 360 e = [], 361 b = 0, 362 c = d.length; c > b; b++) 363 a = d[b], 364 a && (this.isVisible(a) ? this.show(a) : e.push(a)); 365 return e 366 } 367 .call(this), 368 this.boxes.length || this.config.live) ? void 0 : this.stop() 369 } 370 , 371 e.prototype.offsetTop = function(a) { 372 for (var b; void 0 === a.offsetTop; ) 373 a = a.parentNode; 374 for (b = a.offsetTop; a = a.offsetParent; ) 375 b += a.offsetTop; 376 return b 377 } 378 , 379 e.prototype.isVisible = function(a) { 380 var b, c, d, e, f; 381 return c = a.getAttribute("data-wow-offset") || this.config.offset, 382 f = this.config.scrollContainer && this.config.scrollContainer.scrollTop || window.pageYOffset, 383 e = f + Math.min(this.element.clientHeight, this.util().innerHeight()) - c, 384 d = this.offsetTop(a), 385 b = d + a.clientHeight, 386 e >= d && b >= f 387 } 388 , 389 e.prototype.util = function() { 390 return null != this._util ? this._util : this._util = new b 391 } 392 , 393 e.prototype.disabled = function() { 394 return !this.config.mobile && this.util().isMobile(navigator.userAgent) 395 } 396 , 397 e 398 }() 399} 400).call(this); 401
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.