Skip to content

Instantly share code, notes, and snippets.

@andymason
Created September 18, 2015 09:48
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andymason/2d0bfa5811b117eaa1b4 to your computer and use it in GitHub Desktop.
Save andymason/2d0bfa5811b117eaa1b4 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
(function e(b, g, d) {
function c(n, k) {
if (!g[n]) {
if (!b[n]) {
var j = typeof require == "function" && require;
if (!k && j) {
return j(n, !0)
}
if (a) {
return a(n, !0)
}
var m = new Error("Cannot find module '" + n + "'");
throw m.code = "MODULE_NOT_FOUND", m
}
var h = g[n] = {
exports: {}
};
b[n][0].call(h.exports, function(l) {
var o = b[n][1][l];
return c(o ? o : l)
}, h, h.exports, e, b, g, d)
}
return g[n].exports
}
var a = typeof require == "function" && require;
for (var f = 0; f < d.length; f++) {
c(d[f])
}
return c
})({
1: [function(d, f, b) {
var g = d("./ac-browser/BrowserData");
var a = /applewebkit/i;
var h = d("./ac-browser/IE");
var c = g.create();
c.isWebKit = function(j) {
var k = j || window.navigator.userAgent;
return k ? !!a.test(k) : false
};
c.lowerCaseUserAgent = navigator.userAgent.toLowerCase();
if (c.name === "IE") {
c.IE = {
documentMode: h.getDocumentMode()
}
}
f.exports = c
}, {
"./ac-browser/BrowserData": 2,
"./ac-browser/IE": 3
}],
2: [function(b, c, a) {
b("ac-polyfills/Array/prototype.filter");
b("ac-polyfills/Array/prototype.some");
var d = b("./data");
function f() {}
f.prototype = {
__getBrowserVersion: function(h, j) {
var g;
if (!h || !j) {
return
}
var k = d.browser.filter(function(l) {
return l.identity === j
});
k.some(function(n) {
var l = n.versionSearch || j;
var m = h.indexOf(l);
if (m > -1) {
g = parseFloat(h.substring(m + l.length + 1));
return true
}
});
return g
},
__getName: function(g) {
return this.__getIdentityStringFromArray(g)
},
__getIdentity: function(g) {
if (g.string) {
return this.__matchSubString(g)
} else {
if (g.prop) {
return g.identity
}
}
},
__getIdentityStringFromArray: function(g) {
for (var k = 0, h = g.length, j; k < h; k++) {
j = this.__getIdentity(g[k]);
if (j) {
return j
}
}
},
__getOS: function(g) {
return this.__getIdentityStringFromArray(g)
},
__getOSVersion: function(j, m) {
if (!j || !m) {
return
}
var l = d.os.filter(function(n) {
return n.identity === m
})[0];
var g = l.versionSearch || m;
var k = new RegExp(g + " ([\\d_\\.]+)", "i");
var h = j.match(k);
if (h !== null) {
return h[1].replace(/_/g, ".")
}
},
__matchSubString: function(h) {
var g = h.subString;
if (g) {
var j = g.test ? !!g.test(h.string) : h.string.indexOf(g) > -1;
if (j) {
return h.identity
}
}
}
};
f.create = function() {
var g = new f();
var h = {};
h.name = g.__getName(d.browser);
h.version = g.__getBrowserVersion(d.versionString, h.name);
h.os = g.__getOS(d.os);
h.osVersion = g.__getOSVersion(d.versionString, h.os);
return h
};
c.exports = f
}, {
"./data": 4,
"ac-polyfills/Array/prototype.filter": 387,
"ac-polyfills/Array/prototype.some": 391
}],
3: [function(b, c, a) {
c.exports = {
getDocumentMode: function() {
var d;
if (document.documentMode) {
d = parseInt(document.documentMode, 10)
} else {
d = 5;
if (document.compatMode) {
if (document.compatMode === "CSS1Compat") {
d = 7
}
}
}
return d
}
}
}, {}],
4: [function(b, c, a) {
c.exports = {
browser: [{
string: window.navigator.userAgent,
subString: "Edge",
identity: "Edge"
}, {
string: window.navigator.userAgent,
subString: "Chrome",
identity: "Chrome"
}, {
string: window.navigator.userAgent,
subString: /silk/i,
identity: "Silk"
}, {
string: window.navigator.userAgent,
subString: "OmniWeb",
versionSearch: "OmniWeb/",
identity: "OmniWeb"
}, {
string: window.navigator.userAgent,
subString: /mobile\/[^\s]*\ssafari\//i,
identity: "Safari Mobile",
versionSearch: "Version"
}, {
string: window.navigator.vendor,
subString: "Apple",
identity: "Safari",
versionSearch: "Version"
}, {
prop: window.opera,
identity: "Opera",
versionSearch: "Version"
}, {
string: window.navigator.vendor,
subString: "iCab",
identity: "iCab"
}, {
string: window.navigator.vendor,
subString: "KDE",
identity: "Konqueror"
}, {
string: window.navigator.userAgent,
subString: "Firefox",
identity: "Firefox"
}, {
string: window.navigator.vendor,
subString: "Camino",
identity: "Camino"
}, {
string: window.navigator.userAgent,
subString: "Netscape",
identity: "Netscape"
}, {
string: window.navigator.userAgent,
subString: "MSIE",
identity: "IE",
versionSearch: "MSIE"
}, {
string: window.navigator.userAgent,
subString: "Trident",
identity: "IE",
versionSearch: "rv"
}, {
string: window.navigator.userAgent,
subString: "Gecko",
identity: "Mozilla",
versionSearch: "rv"
}, {
string: window.navigator.userAgent,
subString: "Mozilla",
identity: "Netscape",
versionSearch: "Mozilla"
}],
os: [{
string: window.navigator.platform,
subString: "Win",
identity: "Windows",
versionSearch: "Windows NT"
}, {
string: window.navigator.platform,
subString: "Mac",
identity: "OS X"
}, {
string: window.navigator.userAgent,
subString: "iPhone",
identity: "iOS",
versionSearch: "iPhone OS"
}, {
string: window.navigator.userAgent,
subString: "iPad",
identity: "iOS",
versionSearch: "CPU OS"
}, {
string: window.navigator.userAgent,
subString: /android/i,
identity: "Android"
}, {
string: window.navigator.platform,
subString: "Linux",
identity: "Linux"
}],
versionString: window.navigator.userAgent || window.navigator.appVersion || undefined
}
}, {}],
5: [function(b, c, a) {
b("ac-polyfills/Array/prototype.slice");
b("ac-polyfills/Element/prototype.classList");
var d = b("./className/add");
c.exports = function f() {
var j = Array.prototype.slice.call(arguments);
var h = j.shift(j);
var g;
if (h.classList && h.classList.add) {
h.classList.add.apply(h.classList, j);
return
}
for (g = 0; g < j.length; g++) {
d(h, j[g])
}
}
}, {
"./className/add": 7,
"ac-polyfills/Array/prototype.slice": 390,
"ac-polyfills/Element/prototype.classList": 393
}],
6: [function(b, c, a) {
c.exports = {
add: b("./className/add"),
contains: b("./className/contains"),
remove: b("./className/remove")
}
}, {
"./className/add": 7,
"./className/contains": 8,
"./className/remove": 10
}],
7: [function(b, c, a) {
var d = b("./contains");
c.exports = function f(h, g) {
if (!d(h, g)) {
h.className += " " + g
}
}
}, {
"./contains": 8
}],
8: [function(b, c, a) {
var f = b("./getTokenRegExp");
c.exports = function d(h, g) {
return f(g).test(h.className)
}
}, {
"./getTokenRegExp": 9
}],
9: [function(b, c, a) {
c.exports = function d(f) {
return new RegExp("(\\s|^)" + f + "(\\s|$)")
}
}, {}],
10: [function(c, d, b) {
var f = c("./contains");
var g = c("./getTokenRegExp");
d.exports = function a(j, h) {
if (f(j, h)) {
j.className = j.className.replace(g(h), "$1").trim()
}
}
}, {
"./contains": 8,
"./getTokenRegExp": 9
}],
11: [function(b, d, a) {
b("ac-polyfills/Element/prototype.classList");
var f = b("./className/contains");
d.exports = function c(h, g) {
if (h.classList && h.classList.contains) {
return h.classList.contains(g)
}
return f(h, g)
}
}, {
"./className/contains": 8,
"ac-polyfills/Element/prototype.classList": 393
}],
12: [function(b, c, a) {
c.exports = {
add: b("./add"),
contains: b("./contains"),
remove: b("./remove"),
toggle: b("./toggle")
}
}, {
"./add": 5,
"./contains": 11,
"./remove": 13,
"./toggle": 14
}],
13: [function(d, f, c) {
d("ac-polyfills/Array/prototype.slice");
d("ac-polyfills/Element/prototype.classList");
var b = d("./className/remove");
f.exports = function a() {
var j = Array.prototype.slice.call(arguments);
var h = j.shift(j);
var g;
if (h.classList && h.classList.remove) {
h.classList.remove.apply(h.classList, j);
return
}
for (g = 0; g < j.length; g++) {
b(h, j[g])
}
}
}, {
"./className/remove": 10,
"ac-polyfills/Array/prototype.slice": 390,
"ac-polyfills/Element/prototype.classList": 393
}],
14: [function(c, d, b) {
c("ac-polyfills/Element/prototype.classList");
var f = c("./className");
d.exports = function a(k, j, l) {
var h = (typeof l !== "undefined");
var g;
if (k.classList && k.classList.toggle) {
if (h) {
return k.classList.toggle(j, l)
}
return k.classList.toggle(j)
}
if (h) {
g = !!l
} else {
g = !f.contains(k, j)
}
if (g) {
f.add(k, j)
} else {
f.remove(k, j)
}
return g
}
}, {
"./className": 6,
"ac-polyfills/Element/prototype.classList": 393
}],
15: [function(c, d, b) {
var g = c("./ac-clock/Clock"),
f = c("./ac-clock/ThrottledClock"),
a = c("./ac-clock/sharedClockInstance");
a.Clock = g;
a.ThrottledClock = f;
d.exports = a
}, {
"./ac-clock/Clock": 16,
"./ac-clock/ThrottledClock": 17,
"./ac-clock/sharedClockInstance": 18
}],
16: [function(c, d, b) {
var g;
var f = c("ac-event-emitter").EventEmitter;
var a = new Date().getTime();
function h() {
f.call(this);
this.lastFrameTime = null;
this._animationFrame = null;
this._active = false;
this._startTime = null;
this._boundOnAnimationFrame = this._onAnimationFrame.bind(this);
this._getTime = Date.now || function() {
return new Date().getTime()
}
}
g = h.prototype = new f(null);
g.start = function() {
if (this._active) {
return
}
this._tick()
};
g.stop = function() {
if (this._active) {
window.cancelAnimationFrame(this._animationFrame)
}
this._animationFrame = null;
this.lastFrameTime = null;
this._active = false
};
g.destroy = function() {
this.stop();
this.off();
var j;
for (j in this) {
if (this.hasOwnProperty(j)) {
this[j] = null
}
}
};
g.isRunning = function() {
return this._active
};
g._tick = function() {
if (!this._active) {
this._active = true
}
this._animationFrame = window.requestAnimationFrame(this._boundOnAnimationFrame)
};
g._onAnimationFrame = function(m) {
var n = 0;
var j = this._getTime();
if (this.lastFrameTime === null) {
this.lastFrameTime = j - a
} else {
n = m - this.lastFrameTime
}
var l = 0,
k;
if (n !== 0) {
l = 1000 / n
}
k = {
time: m,
delta: n,
fps: l,
naturalFps: l,
timeNow: j
};
this.trigger("update", k);
this.trigger("draw", k);
this._animationFrame = null;
this.lastFrameTime = m;
if (this._active !== false) {
this._tick()
} else {
this.lastFrameTime = null
}
};
d.exports = h
}, {
"ac-event-emitter": 19
}],
17: [function(c, d, b) {
var g;
var a = c("./sharedClockInstance"),
f = c("ac-event-emitter").EventEmitter;
function h(k, j) {
if (k === null) {
return
}
f.call(this);
j = j || {};
this._fps = k || null;
this._clock = j.clock || a;
this._lastThrottledTime = null;
this._clockEvent = null;
this._clock.on("update", this._onClockUpdate, this)
}
g = h.prototype = new f(null);
g.setFps = function(j) {
this._fps = j;
return this
};
g.getFps = function() {
return this._fps
};
g.start = function() {
this._clock.start();
return this
};
g.stop = function() {
this._clock.stop();
return this
};
g.isRunning = function() {
return this._clock.isRunning()
};
g.destroy = function() {
this._clock.off("update", this._onClockUpdate, this);
this._clock.destroy.call(this)
};
g._onClockUpdate = function(j) {
if (this._lastThrottledTime === null) {
this._lastThrottledTime = this._clock.lastFrameTime
}
var k = j.time - this._lastThrottledTime;
if (!this._fps) {
throw new TypeError("FPS is not defined.")
}
if (k < (1000 / this._fps)) {
return
}
this._clockEvent = j;
this._clockEvent.delta = k;
this._clockEvent.fps = 1000 / k;
this._lastThrottledTime = this._clockEvent.time;
this._clock.once("draw", this._onClockDraw, this);
this.trigger("update", this._clockEvent)
};
g._onClockDraw = function() {
this.trigger("draw", this._clockEvent)
};
d.exports = h
}, {
"./sharedClockInstance": 18,
"ac-event-emitter": 19
}],
18: [function(b, c, a) {
var d = b("./Clock");
c.exports = new d()
}, {
"./Clock": 16
}],
19: [function(b, c, a) {
c.exports.EventEmitter = b("./ac-event-emitter/EventEmitter")
}, {
"./ac-event-emitter/EventEmitter": 20
}],
20: [function(d, c, f) {
var h = "EventEmitter:propagation";
var l = function(m) {
if (m) {
this.context = m
}
};
var g = l.prototype;
var j = function() {
if (!this.hasOwnProperty("_events") && typeof this._events !== "object") {
this._events = {}
}
return this._events
};
var a = function(n, p) {
var q = n[0];
var r = n[1];
var o = n[2];
if ((typeof q !== "string" && typeof q !== "object") || q === null || Array.isArray(q)) {
throw new TypeError("Expecting event name to be a string or object.")
}
if ((typeof q === "string") && !r) {
throw new Error("Expecting a callback function to be provided.")
}
if (r && (typeof r !== "function")) {
if (typeof q === "object" && typeof r === "object") {
o = r
} else {
throw new TypeError("Expecting callback to be a function.")
}
}
if (typeof q === "object") {
for (var m in q) {
p.call(this, m, q[m], o)
}
}
if (typeof q === "string") {
q = q.split(" ");
q.forEach(function(s) {
p.call(this, s, r, o)
}, this)
}
};
var k = function(p, q) {
var m;
var n;
var o;
m = j.call(this)[p];
if (!m || m.length === 0) {
return
}
m = m.slice();
this._stoppedImmediatePropagation = false;
for (n = 0, o = m.length; n < o; n++) {
if (this._stoppedImmediatePropagation || q(m[n], n)) {
break
}
}
};
var b = function(n, o, p) {
var m = -1;
k.call(this, o, function(r, q) {
if (r.callback === p) {
m = q;
return true
}
});
if (m === -1) {
return
}
n[o].splice(m, 1)
};
g.on = function() {
var m = j.call(this);
a.call(this, arguments, function(o, p, n) {
m[o] = m[o] || (m[o] = []);
m[o].push({
callback: p,
context: n
})
});
return this
};
g.once = function() {
a.call(this, arguments, function(n, p, m) {
var o = function(q) {
p.call(m || this, q);
this.off(n, o)
};
this.on(n, o, this)
});
return this
};
g.off = function(o, q) {
var n = j.call(this);
if (arguments.length === 0) {
this._events = {}
} else {
if (!o || (typeof o !== "string" && typeof o !== "object") || Array.isArray(o)) {
throw new TypeError("Expecting event name to be a string or object.")
}
}
if (typeof o === "object") {
for (var p in o) {
b.call(this, n, p, o[p])
}
}
if (typeof o === "string") {
var m = o.split(" ");
if (m.length === 1) {
if (q) {
b.call(this, n, o, q)
} else {
n[o] = []
}
} else {
m.forEach(function(r) {
n[r] = []
})
}
}
return this
};
g.trigger = function(n, o, m) {
if (!n) {
throw new Error("trigger method requires an event name")
}
if (typeof n !== "string") {
throw new TypeError("Expecting event names to be a string.")
}
if (m && typeof m !== "boolean") {
throw new TypeError("Expecting doNotPropagate to be a boolean.")
}
n = n.split(" ");
n.forEach(function(p) {
k.call(this, p, function(q) {
q.callback.call(q.context || this.context || this, o)
}.bind(this));
if (!m) {
k.call(this, h, function(r) {
var q = p;
if (r.prefix) {
q = r.prefix + q
}
r.emitter.trigger(q, o)
})
}
}, this);
return this
};
g.propagateTo = function(n, o) {
var m = j.call(this);
if (!m[h]) {
this._events[h] = []
}
m[h].push({
emitter: n,
prefix: o
})
};
g.stopPropagatingTo = function(p) {
var n = j.call(this);
if (!p) {
n[h] = [];
return
}
var q = n[h];
var o = q.length;
var m;
for (m = 0; m < o; m++) {
if (q[m].emitter === p) {
q.splice(m, 1);
break
}
}
};
g.stopImmediatePropagation = function() {
this._stoppedImmediatePropagation = true
};
g.has = function(m, t, q) {
var p = j.call(this);
var n = p[m];
if (arguments.length === 0) {
return Object.keys(p)
}
if (!n) {
return false
}
if (!t) {
return (n.length > 0) ? true : false
}
for (var o = 0, r = n.length; o < r; o++) {
var s = n[o];
if (q && t && s.context === q && s.callback === t) {
return true
} else {
if (t && !q && s.callback === t) {
return true
}
}
}
return false
};
c.exports = l
}, {}],
21: [function(b, c, a) {
c.exports = {
Clip: b("./ac-clip/Clip")
}
}, {
"./ac-clip/Clip": 22
}],
22: [function(c, b, d) {
var g = c("ac-object/create");
var l = c("ac-easing").createPredefined;
var a = c("ac-clock");
var k = c("ac-easing").Ease;
var m = c("ac-event-emitter").EventEmitter;
var j = "ease";
function h(p, o, r, n) {
n = n || {};
this._options = n;
this._target = p;
this._duration = o * 1000;
this._delay = (n.delay || 0) * 1000;
this._remainingDelay = this._delay;
this._progress = 0;
this._clock = n.clock || a;
this._playing = false;
this._getTime = Date.now || function() {
return new Date().getTime()
};
this._isYoyo = n.yoyo;
this._direction = 1;
this._loop = n.loop || 0;
this._loopCount = 0;
this._propsTo = r || {};
this._propsFrom = n.propsFrom || {};
this._onStart = n.onStart || null;
this._onUpdate = n.onUpdate || null;
this._onDraw = n.onDraw || null;
this._onComplete = n.onComplete || null;
var q = n.ease || j;
this._ease = (typeof q === "function") ? new k(q) : l(q);
this._start = this._start.bind(this);
this._update = this._update.bind(this);
this._draw = this._draw.bind(this);
this._isPrepared = false;
h._add(this)
}
var f = h.prototype = g(m.prototype);
h.COMPLETE = "complete";
h.PAUSE = "pause";
h.PLAY = "play";
f.play = function() {
if (!this._playing) {
this._playing = true;
if (this._delay === 0 || this._remainingDelay === 0) {
this._start()
} else {
if (!this._isPrepared) {
this._setDiff();
this._updateProps()
}
this._startTimeout = setTimeout(this._start, this._remainingDelay);
this._delayStart = this._getTime()
}
}
return this
};
f.pause = function() {
if (this._playing) {
if (this._startTimeout) {
this._remainingDelay = this._getTime() - this._delayStart;
clearTimeout(this._startTimeout)
}
this._stop();
this.trigger(h.PAUSE, this._getDetails())
}
return this
};
f.destroy = function() {
this.pause();
this._options = null;
this._target = null;
this._storeTarget = null;
this._ease = null;
this._clock = null;
this._propsTo = null;
this._propsFrom = null;
this._storePropsTo = null;
this._storePropsFrom = null;
this._propsDiff = null;
this._propsEase = null;
this._onStart = null;
this._onUpdate = null;
this._onDraw = null;
this._onComplete = null;
h._remove(this);
return this
};
f.reset = function() {
if (!this._isPrepared) {
return
}
this._stop();
this._resetLoop(this._target, this._storeTarget);
this._direction = 1;
this._loop = this._options.loop || 0;
this._loopCount = 0;
this._propsFrom = this._storePropsFrom;
this._propsTo = this._storePropsTo;
this._progress = 0;
this._setStartTime();
if (this._onUpdate) {
this._onUpdate.call(this, this._getDetails())
}
if (this._onDraw) {
this._onDraw.call(this, this._getDetails())
}
return this
};
f.isPlaying = function() {
return this._playing
};
f.getTarget = function() {
return this._target
};
f.setCurrentTime = function(n) {
this.setProgress(n * 1000 / this._duration);
return this.getCurrentTime()
};
f.getCurrentTime = function() {
return (this.getProgress() * this._duration) / 1000
};
f.setProgress = function(n) {
this._progress = Math.min(1, Math.max(0, n));
this._setStartTime();
if (!this._isPrepared) {
this._setDiff()
}
if (this._playing && n === 1) {
this._completeProps();
if (this._onUpdate) {
this._onUpdate.call(this, this._getDetails())
}
if (this._onDraw) {
this._onDraw.call(this, this._getDetails())
}
this._complete()
} else {
this._updateProps();
if (this._onUpdate) {
this._onUpdate.call(this, this._getDetails())
}
if (this._onDraw) {
this._onDraw.call(this, this._getDetails())
}
}
return this.getProgress()
};
f.getProgress = function() {
return this._progress
};
f._resetLoop = function(o, n) {
var p;
for (p in n) {
if (n.hasOwnProperty(p)) {
if (n[p] !== null) {
if (typeof n[p] === "object") {
this._resetLoop(o[p], n[p])
} else {
o[p] = n[p]
}
}
}
}
};
f._addPropsFrom = function() {
var n;
for (n in this._propsFrom) {
if (this._propsFrom.hasOwnProperty(n) && this._propsTo[n] === undefined && this._target[n] !== undefined) {
this._propsTo[n] = this._target[n]
}
}
};
f._cloneTarget = function() {
var n = {};
this._cloneTargetLoop(this._propsTo, this._target, n);
return n
};
f._cloneTargetLoop = function(r, p, n) {
var o;
var q;
for (q in r) {
if (p.hasOwnProperty(q)) {
o = typeof p[q];
if (p[q] !== null && o === "object") {
n[q] = {};
this._cloneTargetLoop(r[q], p[q], n[q])
} else {
if (r[q] && o === "number") {
n[q] = p[q]
}
}
}
}
};
f._prepareProperties = function() {
if (!this._isPrepared) {
this._addPropsFrom();
this._storeTarget = this._cloneTarget();
this._storePropsTo = this._propsTo;
this._storePropsFrom = this._propsFrom;
this._isPrepared = true
}
};
f._setStartTime = function() {
this._startTime = this._getTime() - (this.getProgress() * this._duration)
};
f._setDiff = function() {
if (!this._isPrepared) {
this._prepareProperties()
}
this._propsDiff = {};
this._setDiffLoop(this._propsTo, this._propsFrom, this._target, this._propsDiff)
};
f._setDiffLoop = function(s, r, p, o) {
var n;
var q;
for (q in s) {
if (s.hasOwnProperty(q)) {
n = typeof s[q];
if (s[q] !== null && n === "object") {
r[q] = r[q] || {};
o[q] = o[q] || {};
this._setDiffLoop(s[q], r[q], p[q], o[q])
} else {
if (n === "number" && p[q] !== undefined) {
if (r[q] !== undefined) {
p[q] = r[q]
} else {
r[q] = p[q]
}
o[q] = s[q] - p[q]
} else {
s[q] = null;
r[q] = null
}
}
}
}
};
f._getDetails = function() {
return {
target: this.getTarget(),
progress: this.getProgress(),
clip: this
}
};
f._start = function() {
this._startTimeout = null;
this._remainingDelay = 0;
this._setStartTime();
this._clock.on("update", this._update);
this._clock.on("draw", this._draw);
if (!this._clock.isRunning()) {
this._clock.start()
}
this._setDiff();
this._playing = true;
this._running = true;
if (this._onStart) {
this._onStart.call(this, this._getDetails())
}
this.trigger(h.PLAY, this._getDetails())
};
f._stop = function() {
this._playing = false;
this._running = false;
this._clock.off("update", this._update);
this._clock.off("draw", this._draw)
};
f._updateProps = function() {
var n;
if (this._direction === 1) {
n = this._ease.getValue(this._progress)
} else {
n = 1 - this._ease.getValue(1 - this._progress)
}
this._updatePropsLoop(this._propsTo, this._propsFrom, this._target, this._propsDiff, n)
};
f._updatePropsLoop = function(s, r, p, o, n) {
var q;
for (q in s) {
if (s.hasOwnProperty(q) && s[q] !== null) {
if (typeof s[q] !== "number") {
this._updatePropsLoop(s[q], r[q], p[q], o[q], n)
} else {
p[q] = r[q] + (o[q] * n)
}
}
}
};
f._completeProps = function() {
this._completePropsLoop(this._propsTo, this._target)
};
f._completePropsLoop = function(p, n) {
var o;
for (o in p) {
if (p.hasOwnProperty(o) && p[o] !== null) {
if (typeof p[o] !== "number") {
this._completePropsLoop(p[o], n[o])
} else {
n[o] = p[o]
}
}
}
};
f._complete = function() {
if (this._isYoyo && ((this._loop > 0 && this._loopCount <= this._loop) || (this._loop === 0 && this._loopCount === 0))) {
this._propsFrom = (this._direction === 1) ? this._storePropsTo : this._storePropsFrom;
this._propsTo = (this._direction === 1) ? this._storePropsFrom : this._storePropsTo;
this._direction *= -1;
if (this._direction === -1) {
++this._loopCount
}
this.setProgress(0);
this._start()
} else {
if (this._loopCount < this._loop) {
++this._loopCount;
this.setProgress(0);
this._start()
} else {
if (this._onComplete) {
this._onComplete.call(this, this._getDetails())
}
this.trigger(h.COMPLETE, this._getDetails());
if (this._options && this._options.destroyOnComplete) {
this.destroy()
}
}
}
};
f._update = function(n) {
if (this._running) {
this._progress = (n.timeNow - this._startTime) / this._duration;
if (this._progress >= 1) {
this._progress = 1;
this._running = false;
this._completeProps()
} else {
this._updateProps()
}
if (this._onUpdate) {
this._onUpdate.call(this, this._getDetails())
}
}
};
f._draw = function(n) {
if (this._onDraw) {
this._onDraw.call(this, this._getDetails())
}
if (!this._running) {
this._stop();
if (this._progress === 1) {
this._complete()
}
}
};
h._instantiate = function() {
this._clips = [];
return this
};
h._add = function(n) {
this._clips.push(n)
};
h._remove = function(o) {
var n = this._clips.indexOf(o);
if (n > -1) {
this._clips.splice(n, 1)
}
};
h.getAll = function(p) {
if (p !== undefined) {
var n = [];
var o = this._clips.length;
while (o--) {
if (this._clips[o].getTarget() === p) {
n.push(this._clips[o])
}
}
return n
}
return Array.prototype.slice.call(this._clips)
};
h.destroyAll = function(p) {
var n = this.getAll(p);
if (this._clips.length === n.length) {
this._clips = []
}
var o = n.length;
while (o--) {
n[o].destroy()
}
return n
};
h.to = function(p, o, q, n) {
n = n || {};
if (n.destroyOnComplete === undefined) {
n.destroyOnComplete = true
}
return new h(p, o, q, n).play()
};
h.from = function(q, p, n, o) {
o = o || {};
o.propsFrom = n;
if (o.destroyOnComplete === undefined) {
o.destroyOnComplete = true
}
return new h(q, p, o.propsTo, o).play()
};
b.exports = h._instantiate()
}, {
"ac-clock": 15,
"ac-easing": 126,
"ac-event-emitter": 19,
"ac-object/create": 376
}],
23: [function(b, c, a) {
arguments[4][15][0].apply(a, arguments)
}, {
"./ac-clock/Clock": 24,
"./ac-clock/ThrottledClock": 25,
"./ac-clock/sharedClockInstance": 26,
dup: 15
}],
24: [function(c, d, b) {
var g;
var f = c("ac-event-emitter-micro").EventEmitterMicro;
var a = new Date().getTime();
function h() {
f.call(this);
this.lastFrameTime = null;
this._animationFrame = null;
this._active = false;
this._startTime = null;
this._boundOnAnimationFrame = this._onAnimationFrame.bind(this);
this._getTime = Date.now || function() {
return new Date().getTime()
}
}
g = h.prototype = new f(null);
g.start = function() {
if (this._active) {
return
}
this._tick()
};
g.stop = function() {
if (this._active) {
window.cancelAnimationFrame(this._animationFrame)
}
this._animationFrame = null;
this.lastFrameTime = null;
this._active = false
};
g.destroy = function() {
this.stop();
this.off();
var j;
for (j in this) {
if (this.hasOwnProperty(j)) {
this[j] = null
}
}
};
g.isRunning = function() {
return this._active
};
g._tick = function() {
if (!this._active) {
this._active = true
}
this._animationFrame = window.requestAnimationFrame(this._boundOnAnimationFrame)
};
g._onAnimationFrame = function(m) {
var n = 0;
var j = this._getTime();
if (this.lastFrameTime === null) {
this.lastFrameTime = j - a
} else {
n = m - this.lastFrameTime
}
var l = 0,
k;
if (n !== 0) {
l = 1000 / n
}
k = {
time: m,
delta: n,
fps: l,
naturalFps: l,
timeNow: j
};
this.trigger("update", k);
this.trigger("draw", k);
this._animationFrame = null;
this.lastFrameTime = m;
if (this._active !== false) {
this._tick()
} else {
this.lastFrameTime = null
}
};
d.exports = h
}, {
"ac-event-emitter-micro": 217
}],
25: [function(c, d, b) {
var g;
var a = c("./sharedClockInstance"),
f = c("ac-event-emitter-micro").EventEmitterMicro;
function h(k, j) {
if (k === null) {
return
}
f.call(this);
j = j || {};
this._fps = k || null;
this._clock = j.clock || a;
this._lastThrottledTime = null;
this._clockEvent = null;
this._boundOnClockDraw = this._onClockDraw.bind(this);
this._boundOnClockUpdate = this._onClockUpdate.bind(this);
this._clock.on("update", this._boundOnClockUpdate)
}
g = h.prototype = new f(null);
g.setFps = function(j) {
this._fps = j;
return this
};
g.getFps = function() {
return this._fps
};
g.start = function() {
this._clock.start();
return this
};
g.stop = function() {
this._clock.stop();
return this
};
g.isRunning = function() {
return this._clock.isRunning()
};
g.destroy = function() {
this._clock.off("update", this._boundOnClockUpdate);
this._clock.destroy.call(this)
};
g._onClockUpdate = function(j) {
if (this._lastThrottledTime === null) {
this._lastThrottledTime = this._clock.lastFrameTime
}
var k = j.time - this._lastThrottledTime;
if (!this._fps) {
throw new TypeError("FPS is not defined.")
}
if (k < (1000 / this._fps)) {
return
}
this._clockEvent = j;
this._clockEvent.delta = k;
this._clockEvent.fps = 1000 / k;
this._lastThrottledTime = this._clockEvent.time;
this._clock.once("draw", this._boundOnClockDraw);
this.trigger("update", this._clockEvent)
};
g._onClockDraw = function() {
this.trigger("draw", this._clockEvent)
};
d.exports = h
}, {
"./sharedClockInstance": 26,
"ac-event-emitter-micro": 217
}],
26: [function(b, c, a) {
arguments[4][18][0].apply(a, arguments)
}, {
"./Clock": 24,
dup: 18
}],
27: [function(b, c, a) {
c.exports = {
path: b("./ac-path/path")
}
}, {
"./ac-path/path": 28
}],
28: [function(b, c, a) {
function d(f) {
return d.parse(f)
}
d.basename = function(g, f) {
d._assertStr(g);
var j;
var h = g.match(/[^/]*$/)[0];
if (f) {
j = h.match(new RegExp("(.*)" + f + "$"));
if (j) {
h = j[1]
}
}
return h
};
d.dirname = function(g) {
d._assertStr(g);
var f = g.match(/^(.*)\b\/|.*/);
return f[1] || g
};
d.extname = function(f) {
d._assertStr(f);
var g = f.match(/\.[^.]*$/);
return g ? g[0] : ""
};
d.filename = function(f) {
d._assertStr(f);
return d.basename(f, d.extname(f))
};
d.format = function(g, h) {
d._assertObj(g);
var f = (g.dirname) ? g.dirname + "/" : "";
if (g.basename) {
f += g.basename
} else {
if (g.filename) {
f += g.filename;
if (g.extname) {
f += g.extname
}
}
}
if (h) {
if (typeof h === "string") {
f += "?" + h
} else {
if (Object.prototype.toString.call(h) === Object.prototype.toString.call([])) {
f += "?" + h.join("&")
}
}
}
return f
};
d.isAbsolute = function(f) {
d._assertStr(f);
return (!!f.match(/(^http(s?))/))
};
d.isRootRelative = function(f) {
d._assertStr(f);
return !!f.match(/^\/(?!\/)/)
};
d.parse = function(f) {
d._assertStr(f);
return {
dirname: d.dirname(f),
basename: d.basename(f),
filename: d.filename(f),
extname: d.extname(f)
}
};
d._assertStr = function(f) {
d._assertType(f, "string")
};
d._assertObj = function(f) {
d._assertType(f, "object")
};
d._assertType = function(h, f) {
var g = typeof h;
if (g === "undefined" || g !== f) {
throw new TypeError("path param must be of type " + f)
}
};
c.exports = d
}, {}],
29: [function(b, c, a) {
c.exports = {
cname: b("./ac-cname/cname")
}
}, {
"./ac-cname/cname": 30
}],
30: [function(c, d, a) {
var f = c("ac-path").path;
function b(g) {
return b.addPrefix(g)
}
b._prefix = (function() {
var g = "http://images.apple.com/global/elements/blank.gif";
return g.replace(/global\/.*/, "")
}());
b.addPrefix = function(g) {
if (f.isAbsolute(g)) {
return g
}
b._assertRootRelative(g);
g = b._prefix + g.replace(/^\//, "");
g = g.replace(/(^.+)(\/105\/)/, "$1/");
return g
};
b.formatUrl = function(k, g, m, l) {
var j = f.format({
dirname: k,
filename: g,
extname: m
}, l);
if (f.isAbsolute(j)) {
return j
}
b._assertRootRelative(k);
var h = b.addPrefix(j);
return h
};
b._assertRootRelative = function(g) {
if (!f.isRootRelative(g)) {
throw new URIError("Only root-relative paths are currently supported")
}
};
d.exports = b
}, {
"ac-path": 27
}],
31: [function(b, c, a) {
c.exports = {
log: b("./ac-console/log")
}
}, {
"./ac-console/log": 32
}],
32: [function(d, f, b) {
var a = "f7c9180f-5c45-47b4-8de4-428015f096c0";
var c = !!(function() {
try {
return window.localStorage.getItem(a)
} catch (h) {}
}());
f.exports = function g() {
if (window.console && typeof console.log !== "undefined" && c) {
console.log.apply(console, Array.prototype.slice.call(arguments, 0))
}
}
}, {}],
33: [function(b, c, a) {
arguments[4][19][0].apply(a, arguments)
}, {
"./ac-event-emitter/EventEmitter": 34,
dup: 19
}],
34: [function(b, c, a) {
arguments[4][20][0].apply(a, arguments)
}, {
dup: 20
}],
35: [function(b, c, a) {
c.exports.DOMEmitter = b("./ac-dom-emitter/DOMEmitter")
}, {
"./ac-dom-emitter/DOMEmitter": 36
}],
36: [function(b, c, a) {
var g;
var f = b("ac-event-emitter").EventEmitter;
var d = "dom-emitter";
function h(j) {
if (j === null) {
return
}
this.el = j;
this._bindings = {};
this._eventEmitter = new f()
}
g = h.prototype;
g._parseEventNames = function(j) {
if (!j) {
return [j]
}
return j.split(" ")
};
g._onListenerEvent = function(k, j) {
this.trigger(k, j, false)
};
g._setListener = function(j) {
this._bindings[j] = this._onListenerEvent.bind(this, j);
this._addEventListener(j, this._bindings[j])
};
g._removeListener = function(j) {
this._removeEventListener(j, this._bindings[j]);
delete this._bindings[j]
};
g._addEventListener = function(k, l, j) {
if (this.el.addEventListener) {
this.el.addEventListener(k, l, j)
} else {
if (this.el.attachEvent) {
this.el.attachEvent("on" + k, l)
} else {
target["on" + k] = l
}
}
return this
};
g._removeEventListener = function(k, l, j) {
if (this.el.removeEventListener) {
this.el.removeEventListener(k, l, j)
} else {
this.el.detachEvent("on" + k, l)
}
return this
};
g._triggerInternalEvent = function(j, k) {
this.trigger(d + ":" + j, k)
};
g.on = function(j, l, k) {
j = this._parseEventNames(j);
j.forEach(function(o, n, m) {
if (!this.has(m)) {
this._setListener(m)
}
this._triggerInternalEvent("willon", {
evt: m,
callback: o,
context: n
});
this._eventEmitter.on(m, o, n);
this._triggerInternalEvent("didon", {
evt: m,
callback: o,
context: n
})
}.bind(this, l, k));
return this
};
g.off = function(j, m, l) {
var k = Array.prototype.slice.call(arguments, 0);
j = this._parseEventNames(j);
j.forEach(function(r, q, o, n) {
if (o.length === 0) {
this._eventEmitter.off();
var p;
for (p in this._bindings) {
if (this._bindings.hasOwnProperty(p)) {
this._removeListener(p)
}
}
return
}
this._triggerInternalEvent("willoff", {
evt: n,
callback: r,
context: q
});
this._eventEmitter.off(n, r, q);
this._triggerInternalEvent("didoff", {
evt: n,
callback: r,
context: q
});
if (!this.has(n)) {
this._removeListener(n)
}
}.bind(this, m, l, k));
return this
};
g.once = function(j, l, k) {
j = this._parseEventNames(j);
j.forEach(function(o, n, m) {
if (!this.has(m)) {
this._setListener(m)
}
this._triggerInternalEvent("willonce", {
evt: m,
callback: o,
context: n
});
this._eventEmitter.once.call(this, m, o, n);
this._triggerInternalEvent("didonce", {
evt: m,
callback: o,
context: n
})
}.bind(this, l, k));
return this
};
g.has = function(j, l, k) {
if (this._eventEmitter && this._eventEmitter.has.apply(this._eventEmitter, arguments)) {
return true
}
return false
};
g.trigger = function(j, k, l) {
j = this._parseEventNames(j);
j.forEach(function(n, o, m) {
this._eventEmitter.trigger(m, n, o)
}.bind(this, k, l));
return this
};
g.destroy = function() {
this._triggerInternalEvent("willdestroy");
this.off();
this.el = this._eventEmitter = this._bindings = null
};
c.exports = h
}, {
"ac-event-emitter": 33
}],
37: [function(c, d, b) {
var g = c("./utils/addEventListener");
var a = c("./shared/getEventType");
d.exports = function f(l, j, k, h) {
j = a(l, j);
return g(l, j, k, h)
}
}, {
"./shared/getEventType": 46,
"./utils/addEventListener": 50
}],
38: [function(d, f, c) {
var a = d("./utils/dispatchEvent");
var b = d("./shared/getEventType");
f.exports = function g(k, j, h) {
j = b(k, j);
return a(k, j, h)
}
}, {
"./shared/getEventType": 46,
"./utils/dispatchEvent": 51
}],
39: [function(b, c, a) {
c.exports = {
addEventListener: b("./addEventListener"),
dispatchEvent: b("./dispatchEvent"),
preventDefault: b("./preventDefault"),
removeEventListener: b("./removeEventListener"),
stop: b("./stop"),
stopPropagation: b("./stopPropagation"),
target: b("./target")
}
}, {
"./addEventListener": 37,
"./dispatchEvent": 38,
"./preventDefault": 44,
"./removeEventListener": 45,
"./stop": 47,
"./stopPropagation": 48,
"./target": 49
}],
40: [function(g, j, d) {
var h = g("./utils/eventTypeAvailable");
var b = g("./shared/camelCasedEventTypes");
var f = g("./shared/prefixHelper");
var c = {};
j.exports = function a(m, l) {
var n;
var o;
var k;
l = l || "div";
m = m.toLowerCase();
if (!(l in c)) {
c[l] = {}
}
o = c[l];
if (m in o) {
return o[m]
}
if (h(m, l)) {
return o[m] = m
}
if (m in b) {
for (k = 0; k < b[m].length; k++) {
n = b[m][k];
if (h(n.toLowerCase(), l)) {
return o[m] = n
}
}
}
for (k = 0; k < f.evt.length; k++) {
n = f.evt[k] + m;
if (h(n, l)) {
f.reduce(k);
return o[m] = n
}
}
return o[m] = false
}
}, {
"./shared/camelCasedEventTypes": 41,
"./shared/prefixHelper": 42,
"./utils/eventTypeAvailable": 43
}],
41: [function(b, c, a) {
c.exports = {
transitionend: ["webkitTransitionEnd", "MSTransitionEnd"],
animationstart: ["webkitAnimationStart", "MSAnimationStart"],
animationend: ["webkitAnimationEnd", "MSAnimationEnd"],
animationiteration: ["webkitAnimationIteration", "MSAnimationIteration"],
fullscreenchange: ["MSFullscreenChange"],
fullscreenerror: ["MSFullscreenError"]
}
}, {}],
42: [function(b, d, a) {
var j = ["-webkit-", "-moz-", "-ms-"];
var f = ["Webkit", "Moz", "ms"];
var h = ["webkit", "moz", "ms"];
var c = function() {
this.initialize()
};
var g = c.prototype;
g.initialize = function() {
this.reduced = false;
this.css = j;
this.dom = f;
this.evt = h
};
g.reduce = function(k) {
if (!this.reduced) {
this.reduced = true;
this.css = [this.css[k]];
this.dom = [this.dom[k]];
this.evt = [this.evt[k]]
}
};
d.exports = new c()
}, {}],
43: [function(c, f, b) {
var a = {
window: window,
document: document
};
f.exports = function d(j, g) {
var h;
j = "on" + j;
if (!(g in a)) {
a[g] = document.createElement(g)
}
h = a[g];
if (j in h) {
return true
}
if ("setAttribute" in h) {
h.setAttribute(j, "return;");
return (typeof h[j] === "function")
}
return false
}
}, {}],
44: [function(c, d, a) {
d.exports = function b(f) {
f = f || window.event;
if (f.preventDefault) {
f.preventDefault()
} else {
f.returnValue = false
}
}
}, {}],
45: [function(d, f, c) {
var b = d("./utils/removeEventListener");
var a = d("./shared/getEventType");
f.exports = function g(l, j, k, h) {
j = a(l, j);
return b(l, j, k, h)
}
}, {
"./shared/getEventType": 46,
"./utils/removeEventListener": 52
}],
46: [function(c, f, b) {
var d = c("ac-prefixer/getEventType");
f.exports = function a(k, j) {
var h;
var g;
if ("tagName" in k) {
h = k.tagName
} else {
if (k === window) {
h = "window"
} else {
h = "document"
}
}
g = d(j, h);
if (g) {
return g
}
return j
}
}, {
"ac-prefixer/getEventType": 40
}],
47: [function(d, g, b) {
var a = d("./stopPropagation");
var c = d("./preventDefault");
g.exports = function f(h) {
h = h || window.event;
a(h);
c(h);
h.stopped = true;
h.returnValue = false
}
}, {
"./preventDefault": 44,
"./stopPropagation": 48
}],
48: [function(c, d, b) {
d.exports = function a(f) {
f = f || window.event;
if (f.stopPropagation) {
f.stopPropagation()
} else {
f.cancelBubble = true
}
}
}, {}],
49: [function(b, c, a) {
c.exports = function d(f) {
f = f || window.event;
return (typeof f.target !== "undefined") ? f.target : f.srcElement
}
}, {}],
50: [function(b, c, a) {
c.exports = function d(j, g, h, f) {
if (j.addEventListener) {
j.addEventListener(g, h, !!f)
} else {
j.attachEvent("on" + g, h)
}
return j
}
}, {}],
51: [function(b, c, a) {
b("ac-polyfills/CustomEvent");
c.exports = function d(j, h, g) {
var f;
if (j.dispatchEvent) {
if (g) {
f = new CustomEvent(h, g)
} else {
f = new CustomEvent(h)
}
j.dispatchEvent(f)
} else {
f = document.createEventObject();
if (g && "detail" in g) {
f.detail = g.detail
}
j.fireEvent("on" + h, f)
}
return j
}
}, {
"ac-polyfills/CustomEvent": 392
}],
52: [function(b, c, a) {
c.exports = function d(j, g, h, f) {
if (j.removeEventListener) {
j.removeEventListener(g, h, !!f)
} else {
j.detachEvent("on" + g, h)
}
return j
}
}, {}],
53: [function(d, f, c) {
var b = d("./utils/getBoundingClientRect");
f.exports = function a(g, j) {
var h = 1;
if (j) {
h = b(g).width / g.offsetWidth
}
return {
width: g.scrollWidth * h,
height: g.scrollHeight * h
}
}
}, {
"./utils/getBoundingClientRect": 64
}],
54: [function(d, f, c) {
var b = d("./utils/getBoundingClientRect");
f.exports = function a(g, j) {
var h;
if (j) {
h = b(g);
return {
width: h.width,
height: h.height
}
}
return {
width: g.offsetWidth,
height: g.offsetHeight
}
}
}, {
"./utils/getBoundingClientRect": 64
}],
55: [function(g, h, f) {
var c = g("./getDimensions");
var d = g("./utils/getBoundingClientRect");
var b = g("./getScrollX");
var a = g("./getScrollY");
h.exports = function j(k, q) {
var m;
var p;
var n;
var l;
var o;
if (q) {
m = d(k);
p = b();
n = a();
return {
top: m.top + n,
right: m.right + p,
bottom: m.bottom + n,
left: m.left + p
}
}
l = c(k, q);
m = {
top: k.offsetTop,
left: k.offsetLeft,
width: l.width,
height: l.height
};
while (k = k.offsetParent) {
m.top += k.offsetTop;
m.left += k.offsetLeft
}
return {
top: m.top,
right: m.left + m.width,
bottom: m.top + m.height,
left: m.left
}
}
}, {
"./getDimensions": 54,
"./getScrollX": 59,
"./getScrollY": 60,
"./utils/getBoundingClientRect": 64
}],
56: [function(c, f, b) {
var a = c("./getDimensions");
var g = c("./getPixelsInViewport");
f.exports = function d(k, l) {
var j = g(k, l);
var h = a(k, l).height;
return (j / h)
}
}, {
"./getDimensions": 54,
"./getPixelsInViewport": 57
}],
57: [function(c, d, b) {
var a = c("./getViewportPosition");
d.exports = function f(h, l) {
var k = document.documentElement.clientHeight;
var g = a(h, l);
var j;
if (g.top >= k || g.bottom <= 0) {
return 0
}
j = (g.bottom - g.top);
if (g.top < 0) {
j += g.top
}
if (g.bottom > k) {
j -= g.bottom - k
}
return j
}
}, {
"./getViewportPosition": 61
}],
58: [function(d, f, c) {
var a = d("./getDimensions");
var b = d("./utils/getBoundingClientRect");
f.exports = function g(j, m) {
var l;
var h;
var k;
if (m) {
l = b(j);
if (j.offsetParent) {
h = b(j.offsetParent);
l.top -= h.top;
l.left -= h.left
}
} else {
k = a(j, m);
l = {
top: j.offsetTop,
left: j.offsetLeft,
width: k.width,
height: k.height
}
}
return {
top: l.top,
right: l.left + l.width,
bottom: l.top + l.height,
left: l.left
}
}
}, {
"./getDimensions": 54,
"./utils/getBoundingClientRect": 64
}],
59: [function(c, d, b) {
d.exports = function a(f) {
var g;
f = f || window;
if (f === window) {
g = window.pageXOffset;
if (!g) {
f = document.documentElement || document.body.parentNode || document.body
} else {
return g
}
}
return f.scrollLeft
}
}, {}],
60: [function(c, d, b) {
d.exports = function a(f) {
var g;
f = f || window;
if (f === window) {
g = window.pageYOffset;
if (!g) {
f = document.documentElement || document.body.parentNode || document.body
} else {
return g
}
}
return f.scrollTop
}
}, {}],
61: [function(g, h, f) {
var j = g("./getPagePosition");
var d = g("./utils/getBoundingClientRect");
var c = g("./getScrollX");
var b = g("./getScrollY");
h.exports = function a(l, o) {
var k;
var n;
var m;
if (o) {
k = d(l);
return {
top: k.top,
right: k.right,
bottom: k.bottom,
left: k.left
}
}
k = j(l);
n = c();
m = b();
return {
top: k.top - m,
right: k.right - n,
bottom: k.bottom - m,
left: k.left - n
}
}
}, {
"./getPagePosition": 55,
"./getScrollX": 59,
"./getScrollY": 60,
"./utils/getBoundingClientRect": 64
}],
62: [function(b, c, a) {
c.exports = {
getContentDimensions: b("./getContentDimensions"),
getDimensions: b("./getDimensions"),
getPagePosition: b("./getPagePosition"),
getPercentInViewport: b("./getPercentInViewport"),
getPixelsInViewport: b("./getPixelsInViewport"),
getPosition: b("./getPosition"),
getScrollX: b("./getScrollX"),
getScrollY: b("./getScrollY"),
getViewportPosition: b("./getViewportPosition"),
isInViewport: b("./isInViewport")
}
}, {
"./getContentDimensions": 53,
"./getDimensions": 54,
"./getPagePosition": 55,
"./getPercentInViewport": 56,
"./getPixelsInViewport": 57,
"./getPosition": 58,
"./getScrollX": 59,
"./getScrollY": 60,
"./getViewportPosition": 61,
"./isInViewport": 63
}],
63: [function(b, d, a) {
var g = b("./getPixelsInViewport");
var c = b("./getPercentInViewport");
d.exports = function f(k, l, h) {
var j;
h = h || 0;
if (typeof h === "string" && h.slice(-2) === "px") {
h = parseInt(h, 10);
j = g(k, l)
} else {
j = c(k, l)
}
return (j > 0 && j >= h)
}
}, {
"./getPercentInViewport": 56,
"./getPixelsInViewport": 57
}],
64: [function(c, d, b) {
d.exports = function a(f) {
var g = f.getBoundingClientRect();
return {
top: g.top,
right: g.right,
bottom: g.bottom,
left: g.left,
width: g.width || g.right - g.left,
height: g.height || g.bottom - g.top
}
}
}, {}],
65: [function(b, c, a) {
c.exports = 8
}, {}],
66: [function(b, c, a) {
c.exports = 11
}, {}],
67: [function(b, c, a) {
c.exports = 9
}, {}],
68: [function(b, c, a) {
c.exports = 10
}, {}],
69: [function(b, c, a) {
c.exports = 1
}, {}],
70: [function(b, c, a) {
c.exports = 3
}, {}],
71: [function(c, d, b) {
d.exports = function a(g) {
var f = document.createDocumentFragment();
var h;
if (g) {
h = document.createElement("div");
h.innerHTML = g;
while (h.firstChild) {
f.appendChild(h.firstChild)
}
}
return f
}
}, {}],
72: [function(d, f, c) {
d("ac-polyfills/Array/prototype.slice");
d("ac-polyfills/Array/prototype.filter");
var g = d("./internal/isNodeType");
var a = d("./ELEMENT_NODE");
f.exports = function b(j, h) {
h = h || a;
j = Array.prototype.slice.call(j);
return j.filter(function(k) {
return g(k, h)
})
}
}, {
"./ELEMENT_NODE": 69,
"./internal/isNodeType": 80,
"ac-polyfills/Array/prototype.filter": 387,
"ac-polyfills/Array/prototype.slice": 390
}],
73: [function(c, d, a) {
d.exports = function b(g, f) {
if ("hasAttribute" in g) {
return g.hasAttribute(f)
}
return (g.attributes.getNamedItem(f) !== null)
}
}, {}],
74: [function(b, c, a) {
c.exports = {
createDocumentFragment: b("./createDocumentFragment"),
filterByNodeType: b("./filterByNodeType"),
hasAttribute: b("./hasAttribute"),
indexOf: b("./indexOf"),
insertAfter: b("./insertAfter"),
insertBefore: b("./insertBefore"),
insertFirstChild: b("./insertFirstChild"),
insertLastChild: b("./insertLastChild"),
isComment: b("./isComment"),
isDocument: b("./isDocument"),
isDocumentFragment: b("./isDocumentFragment"),
isDocumentType: b("./isDocumentType"),
isElement: b("./isElement"),
isNode: b("./isNode"),
isNodeList: b("./isNodeList"),
isTextNode: b("./isTextNode"),
remove: b("./remove"),
replace: b("./replace"),
COMMENT_NODE: b("./COMMENT_NODE"),
DOCUMENT_FRAGMENT_NODE: b("./DOCUMENT_FRAGMENT_NODE"),
DOCUMENT_NODE: b("./DOCUMENT_NODE"),
DOCUMENT_TYPE_NODE: b("./DOCUMENT_TYPE_NODE"),
ELEMENT_NODE: b("./ELEMENT_NODE"),
TEXT_NODE: b("./TEXT_NODE")
}
}, {
"./COMMENT_NODE": 65,
"./DOCUMENT_FRAGMENT_NODE": 66,
"./DOCUMENT_NODE": 67,
"./DOCUMENT_TYPE_NODE": 68,
"./ELEMENT_NODE": 69,
"./TEXT_NODE": 70,
"./createDocumentFragment": 71,
"./filterByNodeType": 72,
"./hasAttribute": 73,
"./indexOf": 75,
"./insertAfter": 76,
"./insertBefore": 77,
"./insertFirstChild": 78,
"./insertLastChild": 79,
"./isComment": 82,
"./isDocument": 83,
"./isDocumentFragment": 84,
"./isDocumentType": 85,
"./isElement": 86,
"./isNode": 87,
"./isNodeList": 88,
"./isTextNode": 89,
"./remove": 90,
"./replace": 91
}],
75: [function(c, d, b) {
c("ac-polyfills/Array/prototype.indexOf");
c("ac-polyfills/Array/prototype.slice");
var g = c("./internal/validate");
var a = c("./filterByNodeType");
d.exports = function f(l, j) {
var h = l.parentNode;
var k;
if (!h) {
return 0
}
k = h.childNodes;
if (j !== false) {
k = a(k, j)
} else {
k = Array.prototype.slice.call(k)
}
return k.indexOf(l)
}
}, {
"./filterByNodeType": 72,
"./internal/validate": 81,
"ac-polyfills/Array/prototype.indexOf": 389,
"ac-polyfills/Array/prototype.slice": 390
}],
76: [function(b, c, a) {
var f = b("./internal/validate");
c.exports = function d(g, h) {
f.insertNode(g, true, "insertAfter");
f.childNode(h, true, "insertAfter");
f.hasParentNode(h, "insertAfter");
if (!h.nextSibling) {
return h.parentNode.appendChild(g)
}
return h.parentNode.insertBefore(g, h.nextSibling)
}
}, {
"./internal/validate": 81
}],
77: [function(c, d, a) {
var f = c("./internal/validate");
d.exports = function b(g, h) {
f.insertNode(g, true, "insertBefore");
f.childNode(h, true, "insertBefore");
f.hasParentNode(h, "insertBefore");
return h.parentNode.insertBefore(g, h)
}
}, {
"./internal/validate": 81
}],
78: [function(c, d, b) {
var f = c("./internal/validate");
d.exports = function a(g, h) {
f.insertNode(g, true, "insertFirstChild");
f.parentNode(h, true, "insertFirstChild");
if (!h.firstChild) {
return h.appendChild(g)
}
return h.insertBefore(g, h.firstChild)
}
}, {
"./internal/validate": 81
}],
79: [function(b, c, a) {
var d = b("./internal/validate");
c.exports = function f(g, h) {
d.insertNode(g, true, "insertLastChild");
d.parentNode(h, true, "insertLastChild");
return h.appendChild(g)
}
}, {
"./internal/validate": 81
}],
80: [function(b, c, a) {
var d = b("../isNode");
c.exports = function f(h, g) {
if (!d(h)) {
return false
}
if (typeof g === "number") {
return (h.nodeType === g)
}
return (g.indexOf(h.nodeType) !== -1)
}
}, {
"../isNode": 87
}],
81: [function(g, d, k) {
var b = g("./isNodeType");
var c = g("../COMMENT_NODE");
var l = g("../DOCUMENT_FRAGMENT_NODE");
var j = g("../ELEMENT_NODE");
var h = g("../TEXT_NODE");
var n = [j, h, c, l];
var f = " must be an Element, TextNode, Comment, or Document Fragment";
var q = [j, h, c];
var m = " must be an Element, TextNode, or Comment";
var o = [j, l];
var p = " must be an Element, or Document Fragment";
var a = " must have a parentNode";
d.exports = {
parentNode: function(r, u, t, s) {
s = s || "target";
if ((r || u) && !b(r, o)) {
throw new TypeError(t + ": " + s + p)
}
},
childNode: function(r, u, t, s) {
s = s || "target";
if (!r && !u) {
return
}
if (!b(r, q)) {
throw new TypeError(t + ": " + s + m)
}
},
insertNode: function(r, u, t, s) {
s = s || "node";
if (!r && !u) {
return
}
if (!b(r, n)) {
throw new TypeError(t + ": " + s + f)
}
},
hasParentNode: function(r, t, s) {
s = s || "target";
if (!r.parentNode) {
throw new TypeError(t + ": " + s + a)
}
}
}
}, {
"../COMMENT_NODE": 65,
"../DOCUMENT_FRAGMENT_NODE": 66,
"../ELEMENT_NODE": 69,
"../TEXT_NODE": 70,
"./isNodeType": 80
}],
82: [function(c, d, a) {
var g = c("./internal/isNodeType");
var f = c("./COMMENT_NODE");
d.exports = function b(h) {
return g(h, f)
}
}, {
"./COMMENT_NODE": 65,
"./internal/isNodeType": 80
}],
83: [function(c, d, b) {
var g = c("./internal/isNodeType");
var a = c("./DOCUMENT_NODE");
d.exports = function f(h) {
return g(h, a)
}
}, {
"./DOCUMENT_NODE": 67,
"./internal/isNodeType": 80
}],
84: [function(c, d, b) {
var g = c("./internal/isNodeType");
var a = c("./DOCUMENT_FRAGMENT_NODE");
d.exports = function f(h) {
return g(h, a)
}
}, {
"./DOCUMENT_FRAGMENT_NODE": 66,
"./internal/isNodeType": 80
}],
85: [function(b, c, a) {
var g = b("./internal/isNodeType");
var f = b("./DOCUMENT_TYPE_NODE");
c.exports = function d(h) {
return g(h, f)
}
}, {
"./DOCUMENT_TYPE_NODE": 68,
"./internal/isNodeType": 80
}],
86: [function(c, d, b) {
var g = c("./internal/isNodeType");
var a = c("./ELEMENT_NODE");
d.exports = function f(h) {
return g(h, a)
}
}, {
"./ELEMENT_NODE": 69,
"./internal/isNodeType": 80
}],
87: [function(b, c, a) {
c.exports = function d(f) {
return !!(f && f.nodeType)
}
}, {}],
88: [function(c, d, b) {
var f = /^\[object (HTMLCollection|NodeList|Object)\]$/;
d.exports = function a(g) {
if (!g) {
return false
}
if (typeof g.length !== "number") {
return false
}
if (typeof g[0] === "object" && (!g[0] || !g[0].nodeType)) {
return false
}
return f.test(Object.prototype.toString.call(g))
}
}, {}],
89: [function(c, d, a) {
var g = c("./internal/isNodeType");
var b = c("./TEXT_NODE");
d.exports = function f(h) {
return g(h, b)
}
}, {
"./TEXT_NODE": 70,
"./internal/isNodeType": 80
}],
90: [function(c, d, b) {
var f = c("./internal/validate");
d.exports = function a(g) {
f.childNode(g, true, "remove");
if (!g.parentNode) {
return g
}
return g.parentNode.removeChild(g)
}
}, {
"./internal/validate": 81
}],
91: [function(b, d, a) {
var f = b("./internal/validate");
d.exports = function c(g, h) {
f.insertNode(g, true, "insertFirstChild", "newNode");
f.childNode(h, true, "insertFirstChild", "oldNode");
f.hasParentNode(h, "insertFirstChild", "oldNode");
return h.parentNode.replaceChild(g, h)
}
}, {
"./internal/validate": 81
}],
92: [function(c, d, b) {
var f = c("ac-prefixer/getStyleProperty");
var g = c("ac-prefixer/stripPrefixes");
d.exports = function a() {
var k = Array.prototype.slice.call(arguments);
var p = k.shift(k);
var m = window.getComputedStyle(p);
var l = {};
var o;
var h;
var n;
var j;
if (typeof k[0] !== "string") {
k = k[0]
}
for (j = 0; j < k.length; j++) {
o = k[j];
h = f(o);
if (h) {
o = g(h);
n = m[h];
if (!n || n === "auto") {
n = null
}
if (n) {
n = g(n)
}
} else {
n = null
}
l[o] = n
}
return l
}
}, {
"ac-prefixer/getStyleProperty": 96,
"ac-prefixer/stripPrefixes": 102
}],
93: [function(b, c, a) {
c.exports = {
getStyle: b("./getStyle"),
setStyle: b("./setStyle")
}
}, {
"./getStyle": 92,
"./setStyle": 105
}],
94: [function(c, d, b) {
d.exports = function a(j) {
var h;
var g;
var f;
if (!j && j !== 0) {
return ""
}
if (Array.isArray(j)) {
return j + ""
}
if (typeof j === "object") {
h = "";
g = Object.keys(j);
for (f = 0; f < g.length; f++) {
h += g[f] + "(" + j[g[f]] + ") "
}
return h.trim()
}
return j
}
}, {}],
95: [function(d, f, c) {
var b = d("./shared/stylePropertyCache");
var h = d("./getStyleProperty");
var g = d("./getStyleValue");
f.exports = function a(l, k) {
var j;
l = h(l);
if (!l) {
return false
}
j = b[l].css;
if (typeof k !== "undefined") {
k = g(l, k);
if (k === false) {
return false
}
j += ":" + k + ";"
}
return j
}
}, {
"./getStyleProperty": 96,
"./getStyleValue": 97,
"./shared/stylePropertyCache": 100
}],
96: [function(f, d, h) {
var a = f("./shared/stylePropertyCache");
var j = f("./shared/getStyleTestElement");
var b = f("./utils/toCSS");
var l = f("./utils/toDOM");
var k = f("./shared/prefixHelper");
var c = function(p, m) {
var n = b(p);
var o = (m === false) ? false : b(m);
a[p] = a[m] = a[n] = a[o] = {
dom: m,
css: o
};
return m
};
d.exports = function g(q) {
var o;
var m;
var p;
var n;
q += "";
if (q in a) {
return a[q].dom
}
p = j();
q = l(q);
m = q.charAt(0).toUpperCase() + q.substring(1);
if (q === "filter") {
o = ["WebkitFilter", "filter"]
} else {
o = (q + " " + k.dom.join(m + " ") + m).split(" ")
}
for (n = 0; n < o.length; n++) {
if (typeof p.style[o[n]] !== "undefined") {
if (n !== 0) {
k.reduce(n - 1)
}
return c(q, o[n])
}
}
return c(q, false)
}
}, {
"./shared/getStyleTestElement": 98,
"./shared/prefixHelper": 99,
"./shared/stylePropertyCache": 100,
"./utils/toCSS": 103,
"./utils/toDOM": 104
}],
97: [function(d, b, h) {
var f = d("./getStyleProperty");
var l = d("./shared/styleValueAvailable");
var k = d("./shared/prefixHelper");
var a = d("./shared/stylePropertyCache");
var j = {};
var m = /(\([^\)]+\))/gi;
var g = /([^ ,;\(]+(\([^\)]+\))?)/gi;
b.exports = function c(p, o) {
var n;
o += "";
p = f(p);
if (!p) {
return false
}
if (l(p, o)) {
return o
}
n = a[p].css;
o = o.replace(g, function(r) {
var q;
var u;
var t;
var s;
if (r[0] === "#" || !isNaN(r[0])) {
return r
}
u = r.replace(m, "");
t = n + ":" + u;
if (t in j) {
if (j[t] === false) {
return ""
}
return r.replace(u, j[t])
}
q = k.css.map(function(v) {
return v + r
});
q = [r].concat(q);
for (s = 0; s < q.length; s++) {
if (l(p, q[s])) {
if (s !== 0) {
k.reduce(s - 1)
}
j[t] = q[s].replace(m, "");
return q[s]
}
}
j[t] = false;
return ""
});
o = o.trim();
return (o === "") ? false : o
}
}, {
"./getStyleProperty": 96,
"./shared/prefixHelper": 99,
"./shared/stylePropertyCache": 100,
"./shared/styleValueAvailable": 101
}],
98: [function(c, d, b) {
var f;
d.exports = function a() {
if (!f) {
f = document.createElement("_")
} else {
f.style.cssText = "";
f.removeAttribute("style")
}
return f
};
d.exports.resetElement = function() {
f = null
}
}, {}],
99: [function(b, c, a) {
arguments[4][42][0].apply(a, arguments)
}, {
dup: 42
}],
100: [function(b, c, a) {
c.exports = {}
}, {}],
101: [function(c, b, d) {
var a = c("./stylePropertyCache");
var f = c("./getStyleTestElement");
var j = false;
var l;
var k;
var g = function() {
var m;
if (!j) {
j = true;
l = ("CSS" in window && "supports" in window.CSS);
k = false;
m = f();
try {
m.style.width = "invalid"
} catch (n) {
k = true
}
}
};
b.exports = function h(p, o) {
var n;
var m;
g();
if (l) {
p = a[p].css;
return CSS.supports(p, o)
}
m = f();
n = m.style[p];
if (k) {
try {
m.style[p] = o
} catch (q) {
return false
}
} else {
m.style[p] = o
}
return (m.style[p] && m.style[p] !== n)
};
b.exports.resetFlags = function() {
j = false
}
}, {
"./getStyleTestElement": 98,
"./stylePropertyCache": 100
}],
102: [function(c, d, a) {
var b = /(-webkit-|-moz-|-ms-)|^(webkit|moz|ms)/gi;
d.exports = function f(g) {
g = String.prototype.replace.call(g, b, "");
return g.charAt(0).toLowerCase() + g.substring(1)
}
}, {}],
103: [function(c, d, b) {
var f = /^(webkit|moz|ms)/gi;
d.exports = function a(h) {
var g;
if (h.toLowerCase() === "cssfloat") {
return "float"
}
if (f.test(h)) {
h = "-" + h
}
return h.replace(/([A-Z]+)([A-Z][a-z])/g, "$1-$2").replace(/([a-z\d])([A-Z])/g, "$1-$2").toLowerCase()
}
}, {}],
104: [function(b, c, a) {
var f = /-([a-z])/g;
c.exports = function d(h) {
var g;
if (h.toLowerCase() === "float") {
return "cssFloat"
}
h = h.replace(f, function(k, j) {
return j.toUpperCase()
});
if (h.substr(0, 2) === "Ms") {
h = "ms" + h.substring(2)
}
return h
}
}, {}],
105: [function(d, f, c) {
var a = d("ac-prefixer/getStyleCSS");
var g = d("ac-prefixer/getStyleProperty");
var b = d("./internal/normalizeValue");
f.exports = function h(p, m) {
var l = "";
var k;
var o;
var j;
var n;
var q;
if (typeof m !== "object") {
throw new TypeError("setStyle: styles must be an Object")
}
for (o in m) {
n = b(m[o]);
if (!n && n !== 0) {
j = g(o);
if ("removeAttribute" in p.style) {
p.style.removeAttribute(j)
} else {
p.style[j] = ""
}
} else {
k = a(o, n);
if (k !== false) {
l += " " + k
}
}
}
if (l.length) {
q = p.style.cssText;
if (q.charAt(q.length - 1) !== ";") {
q += ";"
}
q += l;
p.style.cssText = q
}
return p
}
}, {
"./internal/normalizeValue": 94,
"ac-prefixer/getStyleCSS": 95,
"ac-prefixer/getStyleProperty": 96
}],
106: [function(c, f, b) {
var g = c("ac-dom-nodes/isElement");
var a = c("./matchesSelector");
var h = c("./internal/validate");
f.exports = function d(l, k, j) {
h.childNode(l, true, "ancestors");
h.selector(k, false, "ancestors");
if (j && g(l) && (!k || a(l, k))) {
return l
}
if (l !== document.body) {
while ((l = l.parentNode) && g(l)) {
if (!k || a(l, k)) {
return l
}
if (l === document.body) {
break
}
}
}
return null
}
}, {
"./internal/validate": 113,
"./matchesSelector": 115,
"ac-dom-nodes/isElement": 86
}],
107: [function(c, d, b) {
var g = c("ac-dom-nodes/isElement");
var a = c("./matchesSelector");
var h = c("./internal/validate");
d.exports = function f(m, k, j) {
var l = [];
h.childNode(m, true, "ancestors");
h.selector(k, false, "ancestors");
if (j && g(m) && (!k || a(m, k))) {
l.push(m)
}
if (m !== document.body) {
while ((m = m.parentNode) && g(m)) {
if (!k || a(m, k)) {
l.push(m)
}
if (m === document.body) {
break
}
}
}
return l
}
}, {
"./internal/validate": 113,
"./matchesSelector": 115,
"ac-dom-nodes/isElement": 86
}],
108: [function(d, g, c) {
var b = d("ac-dom-nodes/filterByNodeType");
var a = d("./filterBySelector");
var h = d("./internal/validate");
g.exports = function f(l, j) {
var k;
h.parentNode(l, true, "children");
h.selector(j, false, "children");
k = l.children || l.childNodes;
k = b(k);
if (j) {
k = a(k, j)
}
return k
}
}, {
"./filterBySelector": 109,
"./internal/validate": 113,
"ac-dom-nodes/filterByNodeType": 72
}],
109: [function(d, f, c) {
d("ac-polyfills/Array/prototype.slice");
d("ac-polyfills/Array/prototype.filter");
var b = d("./matchesSelector");
var g = d("./internal/validate");
f.exports = function a(j, h) {
g.selector(h, true, "filterBySelector");
j = Array.prototype.slice.call(j);
return j.filter(function(k) {
return b(k, h)
})
}
}, {
"./internal/validate": 113,
"./matchesSelector": 115,
"ac-polyfills/Array/prototype.filter": 387,
"ac-polyfills/Array/prototype.slice": 390
}],
110: [function(b, d, a) {
var c = b("./children");
var g = b("./internal/validate");
d.exports = function f(k, h) {
var j;
g.parentNode(k, true, "firstChild");
g.selector(h, false, "firstChild");
if (k.firstElementChild && !h) {
return k.firstElementChild
}
j = c(k, h);
if (j.length) {
return j[0]
}
return null
}
}, {
"./children": 108,
"./internal/validate": 113
}],
111: [function(b, c, a) {
c.exports = {
ancestor: b("./ancestor"),
ancestors: b("./ancestors"),
children: b("./children"),
filterBySelector: b("./filterBySelector"),
firstChild: b("./firstChild"),
lastChild: b("./lastChild"),
matchesSelector: b("./matchesSelector"),
nextSibling: b("./nextSibling"),
nextSiblings: b("./nextSiblings"),
previousSibling: b("./previousSibling"),
previousSiblings: b("./previousSiblings"),
querySelector: b("./querySelector"),
querySelectorAll: b("./querySelectorAll"),
siblings: b("./siblings")
}
}, {
"./ancestor": 106,
"./ancestors": 107,
"./children": 108,
"./filterBySelector": 109,
"./firstChild": 110,
"./lastChild": 114,
"./matchesSelector": 115,
"./nextSibling": 116,
"./nextSiblings": 117,
"./previousSibling": 118,
"./previousSiblings": 119,
"./querySelector": 120,
"./querySelectorAll": 121,
"./siblings": 125
}],
112: [function(b, c, a) {
c.exports = window.Element ? (function(d) {
return d.matches || d.matchesSelector || d.webkitMatchesSelector || d.mozMatchesSelector || d.msMatchesSelector || d.oMatchesSelector
}(Element.prototype)) : null
}, {}],
113: [function(g, c, j) {
g("ac-polyfills/Array/prototype.indexOf");
var p = g("ac-dom-nodes/isNode");
var b = g("ac-dom-nodes/COMMENT_NODE");
var l = g("ac-dom-nodes/DOCUMENT_FRAGMENT_NODE");
var k = g("ac-dom-nodes/DOCUMENT_NODE");
var h = g("ac-dom-nodes/ELEMENT_NODE");
var f = g("ac-dom-nodes/TEXT_NODE");
var a = function(s, r) {
if (!p(s)) {
return false
}
if (typeof r === "number") {
return (s.nodeType === r)
}
return (r.indexOf(s.nodeType) !== -1)
};
var n = [h, k, l];
var o = " must be an Element, Document, or Document Fragment";
var q = [h, f, b];
var m = " must be an Element, TextNode, or Comment";
var d = " must be a string";
c.exports = {
parentNode: function(r, u, t, s) {
s = s || "node";
if ((r || u) && !a(r, n)) {
throw new TypeError(t + ": " + s + o)
}
},
childNode: function(r, u, t, s) {
s = s || "node";
if (!r && !u) {
return
}
if (!a(r, q)) {
throw new TypeError(t + ": " + s + m)
}
},
selector: function(r, u, t, s) {
s = s || "selector";
if ((r || u) && typeof r !== "string") {
throw new TypeError(t + ": " + s + d)
}
}
}
}, {
"ac-dom-nodes/COMMENT_NODE": 65,
"ac-dom-nodes/DOCUMENT_FRAGMENT_NODE": 66,
"ac-dom-nodes/DOCUMENT_NODE": 67,
"ac-dom-nodes/ELEMENT_NODE": 69,
"ac-dom-nodes/TEXT_NODE": 70,
"ac-dom-nodes/isNode": 87,
"ac-polyfills/Array/prototype.indexOf": 389
}],
114: [function(b, d, a) {
var c = b("./children");
var g = b("./internal/validate");
d.exports = function f(k, h) {
var j;
g.parentNode(k, true, "lastChild");
g.selector(h, false, "lastChild");
if (k.lastElementChild && !h) {
return k.lastElementChild
}
j = c(k, h);
if (j.length) {
return j[j.length - 1]
}
return null
}
}, {
"./children": 108,
"./internal/validate": 113
}],
115: [function(d, f, c) {
var g = d("ac-dom-nodes/isElement");
var j = d("./internal/validate");
var a = d("./internal/nativeMatches");
var h = d("./shims/matchesSelector");
f.exports = function b(l, k) {
j.selector(k, true, "matchesSelector");
if (!g(l)) {
return false
}
if (!a) {
return h(l, k)
}
return a.call(l, k)
}
}, {
"./internal/nativeMatches": 112,
"./internal/validate": 113,
"./shims/matchesSelector": 122,
"ac-dom-nodes/isElement": 86
}],
116: [function(c, d, b) {
var f = c("ac-dom-nodes/isElement");
var a = c("./matchesSelector");
var h = c("./internal/validate");
d.exports = function g(k, j) {
h.childNode(k, true, "nextSibling");
h.selector(j, false, "nextSibling");
if (k.nextElementSibling && !j) {
return k.nextElementSibling
}
while (k = k.nextSibling) {
if (f(k)) {
if (!j || a(k, j)) {
return k
}
}
}
return null
}
}, {
"./internal/validate": 113,
"./matchesSelector": 115,
"ac-dom-nodes/isElement": 86
}],
117: [function(d, f, b) {
var g = d("ac-dom-nodes/isElement");
var a = d("./matchesSelector");
var h = d("./internal/validate");
f.exports = function c(l, j) {
var k = [];
h.childNode(l, true, "nextSiblings");
h.selector(j, false, "nextSiblings");
while (l = l.nextSibling) {
if (g(l)) {
if (!j || a(l, j)) {
k.push(l)
}
}
}
return k
}
}, {
"./internal/validate": 113,
"./matchesSelector": 115,
"ac-dom-nodes/isElement": 86
}],
118: [function(c, d, b) {
var g = c("ac-dom-nodes/isElement");
var a = c("./matchesSelector");
var h = c("./internal/validate");
d.exports = function f(k, j) {
h.childNode(k, true, "previousSibling");
h.selector(j, false, "previousSibling");
if (k.previousElementSibling && !j) {
return k.previousElementSibling
}
while (k = k.previousSibling) {
if (g(k)) {
if (!j || a(k, j)) {
return k
}
}
}
return null
}
}, {
"./internal/validate": 113,
"./matchesSelector": 115,
"ac-dom-nodes/isElement": 86
}],
119: [function(c, d, b) {
var f = c("ac-dom-nodes/isElement");
var a = c("./matchesSelector");
var h = c("./internal/validate");
d.exports = function g(l, j) {
var k = [];
h.childNode(l, true, "previousSiblings");
h.selector(j, false, "previousSiblings");
while (l = l.previousSibling) {
if (f(l)) {
if (!j || a(l, j)) {
k.push(l)
}
}
}
return k.reverse()
}
}, {
"./internal/validate": 113,
"./matchesSelector": 115,
"ac-dom-nodes/isElement": 86
}],
120: [function(c, d, a) {
var h = c("./internal/validate");
var b = c("./shims/querySelector");
var g = ("querySelector" in document);
d.exports = function f(j, k) {
k = k || document;
h.parentNode(k, true, "querySelector", "context");
h.selector(j, true, "querySelector");
if (!g) {
return b(j, k)
}
return k.querySelector(j)
}
}, {
"./internal/validate": 113,
"./shims/querySelector": 123
}],
121: [function(b, c, a) {
b("ac-polyfills/Array/prototype.slice");
var h = b("./internal/validate");
var g = b("./shims/querySelectorAll");
var f = ("querySelectorAll" in document);
c.exports = function d(j, k) {
k = k || document;
h.parentNode(k, true, "querySelectorAll", "context");
h.selector(j, true, "querySelectorAll");
if (!f) {
return g(j, k)
}
return Array.prototype.slice.call(k.querySelectorAll(j))
}
}, {
"./internal/validate": 113,
"./shims/querySelectorAll": 124,
"ac-polyfills/Array/prototype.slice": 390
}],
122: [function(c, d, b) {
var f = c("../querySelectorAll");
d.exports = function a(l, g) {
var k = l.parentNode || document;
var h = f(g, k);
var j;
for (j = 0; j < h.length; j++) {
if (h[j] === l) {
return true
}
}
return false
}
}, {
"../querySelectorAll": 121
}],
123: [function(b, c, a) {
var d = b("./querySelectorAll");
c.exports = function f(h, j) {
var g = d(h, j);
return g.length ? g[0] : null
}
}, {
"./querySelectorAll": 124
}],
124: [function(c, b, f) {
c("ac-polyfills/Array/prototype.indexOf");
var k = c("ac-dom-nodes/isElement");
var h = c("ac-dom-nodes/isDocumentFragment");
var l = c("ac-dom-nodes/remove");
var d = "_ac_qsa_";
var j = function(o, m) {
var n;
if (m === document) {
return true
}
n = o;
while ((n = n.parentNode) && k(n)) {
if (n === m) {
return true
}
}
return false
};
var g = function(m) {
if ("recalc" in m) {
m.recalc(false)
} else {
document.recalc(false)
}
window.scrollBy(0, 0)
};
b.exports = function a(m, o) {
var q = document.createElement();
var r = d + (Math.random() + "").slice(-6);
var n = [];
var p;
o = o || document;
document[r] = [];
q.innerHTML = "x<style>*{display:recalc;}" + m + '{ac-qsa:expression(document["' + r + '"] && document["' + r + '"].push(this));}';
q = q.lastChild;
if (h(o)) {
o.appendChild(q)
} else {
document.documentElement.firstChild.appendChild(q)
}
g(o);
while (document[r].length) {
p = document[r].shift();
p.style.removeAttribute("ac-qsa");
if (n.indexOf(p) === -1 && j(p, o)) {
n.push(p)
}
}
document[r] = null;
l(q);
g(o);
return n
}
}, {
"ac-dom-nodes/isDocumentFragment": 84,
"ac-dom-nodes/isElement": 86,
"ac-dom-nodes/remove": 90,
"ac-polyfills/Array/prototype.indexOf": 389
}],
125: [function(b, d, a) {
var c = b("./children");
var g = b("./internal/validate");
d.exports = function f(k, h) {
var j = [];
g.childNode(k, true, "siblings");
g.selector(h, false, "siblings");
if (k.parentNode) {
j = c(k.parentNode, h);
j = j.filter(function(l) {
return (l !== k)
})
}
return j
}
}, {
"./children": 108,
"./internal/validate": 113
}],
126: [function(b, c, a) {
c.exports = {
createBezier: b("./ac-easing/createBezier"),
createPredefined: b("./ac-easing/createPredefined"),
createStep: b("./ac-easing/createStep"),
Ease: b("./ac-easing/Ease")
}
}, {
"./ac-easing/Ease": 127,
"./ac-easing/createBezier": 128,
"./ac-easing/createPredefined": 129,
"./ac-easing/createStep": 130
}],
127: [function(b, c, a) {
var g = "Ease expects an easing function.";
function f(j, h) {
if (typeof j !== "function") {
throw new TypeError(g)
}
this.easingFunction = j;
this.cssString = h || null
}
var d = f.prototype;
d.getValue = function(h) {
return this.easingFunction(h, 0, 1, 1)
};
c.exports = f
}, {}],
128: [function(b, c, a) {
var f = b("./Ease");
var h = b("./helpers/KeySpline");
var d = "Bezier curve expects exactly four (4) numbers. Given: ";
c.exports = function g(k, q, j, p) {
var r = Array.prototype.slice.call(arguments);
var n = r.every(function(s) {
return (typeof s === "number")
});
if (r.length !== 4 || !n) {
throw new TypeError(d + r)
}
var o = new h(k, q, j, p);
var l = function(u, s, v, t) {
return o.get(u / t) * v + s
};
var m = "cubic-bezier(" + r.join(", ") + ")";
return new f(l, m)
}
}, {
"./Ease": 127,
"./helpers/KeySpline": 131
}],
129: [function(c, a, d) {
var j = c("./createStep");
var f = c("./helpers/cssAliases");
var b = c("./helpers/easingFunctions");
var h = c("./Ease");
var g = 'Easing function "%TYPE%" not recognized among the following: ' + Object.keys(b).join(", ");
a.exports = function k(l) {
var m;
if (l === "step-start") {
return j(1, "start")
} else {
if (l === "step-end") {
return j(1, "end")
} else {
m = b[l]
}
}
if (!m) {
throw new Error(g.replace("%TYPE%", l))
}
return new h(m, f[l])
}
}, {
"./Ease": 127,
"./createStep": 130,
"./helpers/cssAliases": 132,
"./helpers/easingFunctions": 133
}],
130: [function(d, f, c) {
var g = d("./Ease");
var b = "Step function expects a numeric value greater than zero. Given: ";
var a = 'Step function direction must be either "start" or "end" (default). Given: ';
f.exports = function h(j, m) {
m = m || "end";
if (typeof j !== "number" || j < 1) {
throw new TypeError(b + j)
}
if (m !== "start" && m !== "end") {
throw new TypeError(a + m)
}
var l = function(r, n, s, q) {
var p = s / j;
var o = Math[(m === "start") ? "floor" : "ceil"](r / q * j);
return n + p * o
};
var k = "steps(" + j + ", " + m + ")";
return new g(l, k)
}
}, {
"./Ease": 127
}],
131: [function(b, c, a) {
/*! MIT License
*
* KeySpline - use bezier curve for transition easing function
* Copyright (c) 2012 Gaetan Renaudeau <renaudeau.gaetan@gmail.com>
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*/
;
function d(p, m, o, k) {
this.get = function(q) {
if (p === m && o === k) {
return q
}
return g(l(q), m, k)
};
function j(q, r) {
return 1 - 3 * r + 3 * q
}
function h(q, r) {
return 3 * r - 6 * q
}
function f(q) {
return 3 * q
}
function g(s, q, r) {
return ((j(q, r) * s + h(q, r)) * s + f(q)) * s
}
function n(s, q, r) {
return 3 * j(q, r) * s * s + 2 * h(q, r) * s + f(q)
}
function l(t) {
var r = t;
for (var s = 0; s < 4; ++s) {
var u = n(r, p, o);
if (u === 0) {
return r
}
var q = g(r, p, o) - t;
r -= q / u
}
return r
}
}
c.exports = d
}, {}],
132: [function(c, d, b) {
var a = {
linear: "cubic-bezier(0, 0, 1, 1)",
ease: "cubic-bezier(0.25, 0.1, 0.25, 1)",
"ease-in": "cubic-bezier(0.42, 0, 1, 1)",
"ease-out": "cubic-bezier(0, 0, 0.58, 1)",
"ease-in-out": "cubic-bezier(0.42, 0, 0.58, 1)",
"ease-in-cubic": "cubic-bezier(0.55, 0.055, 0.675, 0.19)",
"ease-out-cubic": "cubic-bezier(0.215, 0.61, 0.355, 1)",
"ease-in-out-cubic": "cubic-bezier(0.645, 0.045, 0.355, 1)",
"ease-in-quad": "cubic-bezier(0.55, 0.085, 0.68, 0.53)",
"ease-out-quad": "cubic-bezier(0.25, 0.46, 0.45, 0.94)",
"ease-in-out-quad": "cubic-bezier(0.455, 0.03, 0.515, 0.955)",
"ease-in-quart": "cubic-bezier(0.895, 0.03, 0.685, 0.22)",
"ease-out-quart": "cubic-bezier(0.165, 0.84, 0.44, 1)",
"ease-in-out-quart": "cubic-bezier(0.77, 0, 0.175, 1)",
"ease-in-quint": "cubic-bezier(0.755, 0.05, 0.855, 0.06)",
"ease-out-quint": "cubic-bezier(0.23, 1, 0.32, 1)",
"ease-in-out-quint": "cubic-bezier(0.86, 0, 0.07, 1)",
"ease-in-sine": "cubic-bezier(0.47, 0, 0.745, 0.715)",
"ease-out-sine": "cubic-bezier(0.39, 0.575, 0.565, 1)",
"ease-in-out-sine": "cubic-bezier(0.445, 0.05, 0.55, 0.95)",
"ease-in-expo": "cubic-bezier(0.95, 0.05, 0.795, 0.035)",
"ease-out-expo": "cubic-bezier(0.19, 1, 0.22, 1)",
"ease-in-out-expo": "cubic-bezier(1, 0, 0, 1)",
"ease-in-circ": "cubic-bezier(0.6, 0.04, 0.98, 0.335)",
"ease-out-circ": "cubic-bezier(0.075, 0.82, 0.165, 1)",
"ease-in-out-circ": "cubic-bezier(0.785, 0.135, 0.15, 0.86)",
"ease-in-back": "cubic-bezier(0.6, -0.28, 0.735, 0.045)",
"ease-out-back": "cubic-bezier(0.175, 0.885, 0.32, 1.275)",
"ease-in-out-back": "cubic-bezier(0.68, -0.55, 0.265, 1.55)"
};
a.easeIn = a["ease-in"];
a.easeOut = a["ease-out"];
a.easeInOut = a["ease-in-out"];
a.easeInCubic = a["ease-in-cubic"];
a.easeOutCubic = a["ease-out-cubic"];
a.easeInOutCubic = a["ease-in-out-cubic"];
a.easeInQuad = a["ease-in-quad"];
a.easeOutQuad = a["ease-out-quad"];
a.easeInOutQuad = a["ease-in-out-quad"];
a.easeInQuart = a["ease-in-quart"];
a.easeOutQuart = a["ease-out-quart"];
a.easeInOutQuart = a["ease-in-out-quart"];
a.easeInQuint = a["ease-in-quint"];
a.easeOutQuint = a["ease-out-quint"];
a.easeInOutQuint = a["ease-in-out-quint"];
a.easeInSine = a["ease-in-sine"];
a.easeOutSine = a["ease-out-sine"];
a.easeInOutSine = a["ease-in-out-sine"];
a.easeInExpo = a["ease-in-expo"];
a.easeOutExpo = a["ease-out-expo"];
a.easeInOutExpo = a["ease-in-out-expo"];
a.easeInCirc = a["ease-in-circ"];
a.easeOutCirc = a["ease-out-circ"];
a.easeInOutCirc = a["ease-in-out-circ"];
a.easeInBack = a["ease-in-back"];
a.easeOutBack = a["ease-out-back"];
a.easeInOutBack = a["ease-in-out-back"];
d.exports = a
}, {}],
133: [function(d, b, G) {
var K = d("../createBezier");
var x = K(0.25, 0.1, 0.25, 1).easingFunction;
var g = K(0.42, 0, 1, 1).easingFunction;
var D = K(0, 0, 0.58, 1).easingFunction;
var y = K(0.42, 0, 0.58, 1).easingFunction;
var v = function(R, P, S, Q) {
return S * R / Q + P
};
var h = function(R, P, S, Q) {
return S * (R /= Q) * R + P
};
var O = function(R, P, S, Q) {
return -S * (R /= Q) * (R - 2) + P
};
var E = function(R, P, S, Q) {
if ((R /= Q / 2) < 1) {
return S / 2 * R * R + P
}
return -S / 2 * ((--R) * (R - 2) - 1) + P
};
var j = function(R, P, S, Q) {
return S * (R /= Q) * R * R + P
};
var a = function(R, P, S, Q) {
return S * ((R = R / Q - 1) * R * R + 1) + P
};
var k = function(R, P, S, Q) {
if ((R /= Q / 2) < 1) {
return S / 2 * R * R * R + P
}
return S / 2 * ((R -= 2) * R * R + 2) + P
};
var p = function(R, P, S, Q) {
return S * (R /= Q) * R * R * R + P
};
var n = function(R, P, S, Q) {
return -S * ((R = R / Q - 1) * R * R * R - 1) + P
};
var q = function(R, P, S, Q) {
if ((R /= Q / 2) < 1) {
return S / 2 * R * R * R * R + P
}
return -S / 2 * ((R -= 2) * R * R * R - 2) + P
};
var z = function(R, P, S, Q) {
return S * (R /= Q) * R * R * R * R + P
};
var w = function(R, P, S, Q) {
return S * ((R = R / Q - 1) * R * R * R * R + 1) + P
};
var A = function(R, P, S, Q) {
if ((R /= Q / 2) < 1) {
return S / 2 * R * R * R * R * R + P
}
return S / 2 * ((R -= 2) * R * R * R * R + 2) + P
};
var c = function(R, P, S, Q) {
return -S * Math.cos(R / Q * (Math.PI / 2)) + S + P
};
var M = function(R, P, S, Q) {
return S * Math.sin(R / Q * (Math.PI / 2)) + P
};
var C = function(R, P, S, Q) {
return -S / 2 * (Math.cos(Math.PI * R / Q) - 1) + P
};
var H = function(R, P, S, Q) {
return (R === 0) ? P : S * Math.pow(2, 10 * (R / Q - 1)) + P
};
var B = function(R, P, S, Q) {
return (R === Q) ? P + S : S * (-Math.pow(2, -10 * R / Q) + 1) + P
};
var s = function(R, P, S, Q) {
if (R === 0) {
return P
} else {
if (R === Q) {
return P + S
} else {
if ((R /= Q / 2) < 1) {
return S / 2 * Math.pow(2, 10 * (R - 1)) + P
}
}
}
return S / 2 * (-Math.pow(2, -10 * --R) + 2) + P
};
var m = function(R, P, S, Q) {
return -S * (Math.sqrt(1 - (R /= Q) * R) - 1) + P
};
var f = function(R, P, S, Q) {
return S * Math.sqrt(1 - (R = R / Q - 1) * R) + P
};
var J = function(R, P, S, Q) {
if ((R /= Q / 2) < 1) {
return -S / 2 * (Math.sqrt(1 - R * R) - 1) + P
}
return S / 2 * (Math.sqrt(1 - (R -= 2) * R) + 1) + P
};
var F = function(T, R, V, S) {
var P = 1.70158;
var U = 0;
var Q = V;
if (T === 0) {
return R
} else {
if ((T /= S) === 1) {
return R + V
}
}
if (!U) {
U = S * 0.3
}
if (Q < Math.abs(V)) {
Q = V;
P = U / 4
} else {
P = U / (2 * Math.PI) * Math.asin(V / Q)
}
return -(Q * Math.pow(2, 10 * (T -= 1)) * Math.sin((T * S - P) * (2 * Math.PI) / U)) + R
};
var I = function(T, R, V, S) {
var P = 1.70158;
var U = 0;
var Q = V;
if (T === 0) {
return R
} else {
if ((T /= S) === 1) {
return R + V
}
}
if (!U) {
U = S * 0.3
}
if (Q < Math.abs(V)) {
Q = V;
P = U / 4
} else {
P = U / (2 * Math.PI) * Math.asin(V / Q)
}
return Q * Math.pow(2, -10 * T) * Math.sin((T * S - P) * (2 * Math.PI) / U) + V + R
};
var u = function(T, R, V, S) {
var P = 1.70158;
var U = 0;
var Q = V;
if (T === 0) {
return R
} else {
if ((T /= S / 2) === 2) {
return R + V
}
}
if (!U) {
U = S * (0.3 * 1.5)
}
if (Q < Math.abs(V)) {
Q = V;
P = U / 4
} else {
P = U / (2 * Math.PI) * Math.asin(V / Q)
}
if (T < 1) {
return -0.5 * (Q * Math.pow(2, 10 * (T -= 1)) * Math.sin((T * S - P) * (2 * Math.PI) / U)) + R
}
return Q * Math.pow(2, -10 * (T -= 1)) * Math.sin((T * S - P) * (2 * Math.PI) / U) * 0.5 + V + R
};
var t = function(S, Q, T, R, P) {
if (P === undefined) {
P = 1.70158
}
return T * (S /= R) * S * ((P + 1) * S - P) + Q
};
var r = function(S, Q, T, R, P) {
if (P === undefined) {
P = 1.70158
}
return T * ((S = S / R - 1) * S * ((P + 1) * S + P) + 1) + Q
};
var l = function(S, Q, T, R, P) {
if (P === undefined) {
P = 1.70158
}
if ((S /= R / 2) < 1) {
return T / 2 * (S * S * (((P *= (1.525)) + 1) * S - P)) + Q
}
return T / 2 * ((S -= 2) * S * (((P *= (1.525)) + 1) * S + P) + 2) + Q
};
var L = function(R, P, S, Q) {
if ((R /= Q) < (1 / 2.75)) {
return S * (7.5625 * R * R) + P
} else {
if (R < (2 / 2.75)) {
return S * (7.5625 * (R -= (1.5 / 2.75)) * R + 0.75) + P
} else {
if (R < (2.5 / 2.75)) {
return S * (7.5625 * (R -= (2.25 / 2.75)) * R + 0.9375) + P
}
}
}
return S * (7.5625 * (R -= (2.625 / 2.75)) * R + 0.984375) + P
};
var o = function(R, P, S, Q) {
return S - L(Q - R, 0, S, Q) + P
};
var N = function(R, P, S, Q) {
if (R < Q / 2) {
return o(R * 2, 0, S, Q) * 0.5 + P
}
return L(R * 2 - Q, 0, S, Q) * 0.5 + S * 0.5 + P
};
b.exports = {
linear: v,
ease: x,
easeIn: g,
"ease-in": g,
easeOut: D,
"ease-out": D,
easeInOut: y,
"ease-in-out": y,
easeInCubic: j,
"ease-in-cubic": j,
easeOutCubic: a,
"ease-out-cubic": a,
easeInOutCubic: k,
"ease-in-out-cubic": k,
easeInQuad: h,
"ease-in-quad": h,
easeOutQuad: O,
"ease-out-quad": O,
easeInOutQuad: E,
"ease-in-out-quad": E,
easeInQuart: p,
"ease-in-quart": p,
easeOutQuart: n,
"ease-out-quart": n,
easeInOutQuart: q,
"ease-in-out-quart": q,
easeInQuint: z,
"ease-in-quint": z,
easeOutQuint: w,
"ease-out-quint": w,
easeInOutQuint: A,
"ease-in-out-quint": A,
easeInSine: c,
"ease-in-sine": c,
easeOutSine: M,
"ease-out-sine": M,
easeInOutSine: C,
"ease-in-out-sine": C,
easeInExpo: H,
"ease-in-expo": H,
easeOutExpo: B,
"ease-out-expo": B,
easeInOutExpo: s,
"ease-in-out-expo": s,
easeInCirc: m,
"ease-in-circ": m,
easeOutCirc: f,
"ease-out-circ": f,
easeInOutCirc: J,
"ease-in-out-circ": J,
easeInBack: t,
"ease-in-back": t,
easeOutBack: r,
"ease-out-back": r,
easeInOutBack: l,
"ease-in-out-back": l,
easeInElastic: F,
"ease-in-elastic": F,
easeOutElastic: I,
"ease-out-elastic": I,
easeInOutElastic: u,
"ease-in-out-elastic": u,
easeInBounce: o,
"ease-in-bounce": o,
easeOutBounce: L,
"ease-out-bounce": L,
easeInOutBounce: N,
"ease-in-out-bounce": N
}
}, {
"../createBezier": 128
}],
134: [function(j, c, y) {
var t = Object.prototype.toString;
var m = Object.prototype.hasOwnProperty;
var b = typeof Array.prototype.indexOf === "function" ? function(A, B) {
return A.indexOf(B)
} : function(A, C) {
for (var B = 0; B < A.length; B++) {
if (A[B] === C) {
return B
}
}
return -1
};
var l = Array.isArray || function(A) {
return t.call(A) == "[object Array]"
};
var w = Object.keys || function(C) {
var A = [];
for (var B in C) {
if (C.hasOwnProperty(B)) {
A.push(B)
}
}
return A
};
var v = typeof Array.prototype.forEach === "function" ? function(A, B) {
return A.forEach(B)
} : function(A, C) {
for (var B = 0; B < A.length; B++) {
C(A[B])
}
};
var n = function(A, E, B) {
if (typeof A.reduce === "function") {
return A.reduce(E, B)
}
var D = B;
for (var C = 0; C < A.length; C++) {
D = E(D, A[C])
}
return D
};
var z = /^[0-9]+$/;
function d(D, C) {
if (D[C].length == 0) {
return D[C] = {}
}
var B = {};
for (var A in D[C]) {
if (m.call(D[C], A)) {
B[A] = D[C][A]
}
}
D[C] = B;
return B
}
function r(E, C, B, F) {
var A = E.shift();
if (m.call(Object.prototype, B)) {
return
}
if (!A) {
if (l(C[B])) {
C[B].push(F)
} else {
if ("object" == typeof C[B]) {
C[B] = F
} else {
if ("undefined" == typeof C[B]) {
C[B] = F
} else {
C[B] = [C[B], F]
}
}
}
} else {
var D = C[B] = C[B] || [];
if ("]" == A) {
if (l(D)) {
if ("" != F) {
D.push(F)
}
} else {
if ("object" == typeof D) {
D[w(D).length] = F
} else {
D = C[B] = [C[B], F]
}
}
} else {
if (~b(A, "]")) {
A = A.substr(0, A.length - 1);
if (!z.test(A) && l(D)) {
D = d(C, B)
}
r(E, D, A, F)
} else {
if (!z.test(A) && l(D)) {
D = d(C, B)
}
r(E, D, A, F)
}
}
}
}
function f(E, D, H) {
if (~b(D, "]")) {
var G = D.split("["),
A = G.length,
F = A - 1;
r(G, E, "base", H)
} else {
if (!z.test(D) && l(E.base)) {
var C = {};
for (var B in E.base) {
C[B] = E.base[B]
}
E.base = C
}
o(E.base, D, H)
}
return E
}
function p(D) {
if ("object" != typeof D) {
return D
}
if (l(D)) {
var A = [];
for (var C in D) {
if (m.call(D, C)) {
A.push(D[C])
}
}
return A
}
for (var B in D) {
D[B] = p(D[B])
}
return D
}
function g(B) {
var A = {
base: {}
};
v(w(B), function(C) {
f(A, C, B[C])
});
return p(A.base)
}
function h(B) {
var A = n(String(B).split("&"), function(C, G) {
var H = b(G, "="),
F = u(G),
D = G.substr(0, F || H),
E = G.substr(F || H, G.length),
E = E.substr(b(E, "=") + 1, E.length);
if ("" == D) {
D = G, E = ""
}
if ("" == D) {
return C
}
return f(C, q(D), q(E))
}, {
base: {}
}).base;
return p(A)
}
y.parse = function(A) {
if (null == A || "" == A) {
return {}
}
return "object" == typeof A ? g(A) : h(A)
};
var s = y.stringify = function(B, A) {
if (l(B)) {
return k(B, A)
} else {
if ("[object Object]" == t.call(B)) {
return x(B, A)
} else {
if ("string" == typeof B) {
return a(B, A)
} else {
return A + "=" + encodeURIComponent(String(B))
}
}
}
};
function a(B, A) {
if (!A) {
throw new TypeError("stringify expects an object")
}
return A + "=" + encodeURIComponent(B)
}
function k(A, D) {
var B = [];
if (!D) {
throw new TypeError("stringify expects an object")
}
for (var C = 0; C < A.length; C++) {
B.push(s(A[C], D + "[" + C + "]"))
}
return B.join("&")
}
function x(G, F) {
var B = [],
E = w(G),
D;
for (var C = 0, A = E.length; C < A; ++C) {
D = E[C];
if ("" == D) {
continue
}
if (null == G[D]) {
B.push(encodeURIComponent(D) + "=")
} else {
B.push(s(G[D], F ? F + "[" + encodeURIComponent(D) + "]" : encodeURIComponent(D)))
}
}
return B.join("&")
}
function o(C, B, D) {
var A = C[B];
if (m.call(Object.prototype, B)) {
return
}
if (undefined === A) {
C[B] = D
} else {
if (l(A)) {
A.push(D)
} else {
C[B] = [A, D]
}
}
}
function u(D) {
var A = D.length,
C, E;
for (var B = 0; B < A; ++B) {
E = D[B];
if ("]" == E) {
C = false
}
if ("[" == E) {
C = true
}
if ("=" == E && !C) {
return B
}
}
}
function q(B) {
try {
return decodeURIComponent(B.replace(/\+/g, " "))
} catch (A) {
return B
}
}
}, {}],
135: [function(b, c, a) {
c.exports = {
clone: b("./ac-object/clone"),
create: b("./ac-object/create"),
defaults: b("./ac-object/defaults"),
extend: b("./ac-object/extend"),
getPrototypeOf: b("./ac-object/getPrototypeOf"),
isDate: b("./ac-object/isDate"),
isEmpty: b("./ac-object/isEmpty"),
isRegExp: b("./ac-object/isRegExp"),
toQueryParameters: b("./ac-object/toQueryParameters")
}
}, {
"./ac-object/clone": 136,
"./ac-object/create": 137,
"./ac-object/defaults": 138,
"./ac-object/extend": 139,
"./ac-object/getPrototypeOf": 140,
"./ac-object/isDate": 141,
"./ac-object/isEmpty": 142,
"./ac-object/isRegExp": 143,
"./ac-object/toQueryParameters": 144
}],
136: [function(b, c, a) {
var f = b("./extend");
c.exports = function d(g) {
return f({}, g)
}
}, {
"./extend": 139
}],
137: [function(b, d, a) {
var f = function() {};
d.exports = function c(g) {
if (arguments.length > 1) {
throw new Error("Second argument not supported")
}
if (g === null || typeof g !== "object") {
throw new TypeError("Object prototype may only be an Object.")
}
if (typeof Object.create === "function") {
return Object.create(g)
} else {
f.prototype = g;
return new f()
}
}
}, {}],
138: [function(b, c, a) {
var f = b("./extend");
c.exports = function d(h, g) {
if (typeof h !== "object") {
throw new TypeError("defaults: must provide a defaults object")
}
g = g || {};
if (typeof g !== "object") {
throw new TypeError("defaults: options must be a typeof object")
}
return f({}, h, g)
}
}, {
"./extend": 139
}],
139: [function(c, d, b) {
var a = Object.prototype.hasOwnProperty;
d.exports = function f() {
var h;
var g;
if (arguments.length < 2) {
h = [{}, arguments[0]]
} else {
h = [].slice.call(arguments)
}
g = h.shift();
h.forEach(function(k) {
if (k != null) {
for (var j in k) {
if (a.call(k, j)) {
g[j] = k[j]
}
}
}
});
return g
}
}, {}],
140: [function(c, d, b) {
var a = Object.prototype.hasOwnProperty;
d.exports = function f(j) {
if (Object.getPrototypeOf) {
return Object.getPrototypeOf(j)
} else {
if (typeof j !== "object") {
throw new Error("Requested prototype of a value that is not an object.")
} else {
if (typeof this.__proto__ === "object") {
return j.__proto__
} else {
var g = j.constructor;
var h;
if (a.call(j, "constructor")) {
h = g;
if (!(delete j.constructor)) {
return null
}
g = j.constructor;
j.constructor = h
}
return g ? g.prototype : null
}
}
}
}
}, {}],
141: [function(b, d, a) {
d.exports = function c(f) {
return Object.prototype.toString.call(f) === "[object Date]"
}
}, {}],
142: [function(c, d, b) {
var a = Object.prototype.hasOwnProperty;
d.exports = function f(g) {
var h;
if (typeof g !== "object") {
throw new TypeError("ac-base.Object.isEmpty : Invalid parameter - expected object")
}
for (h in g) {
if (a.call(g, h)) {
return false
}
}
return true
}
}, {}],
143: [function(c, d, b) {
d.exports = function a(f) {
return window.RegExp ? f instanceof RegExp : false
}
}, {}],
144: [function(c, f, b) {
var a = c("qs");
f.exports = function d(g) {
if (typeof g !== "object") {
throw new TypeError("toQueryParameters error: argument is not an object")
}
return a.stringify(g)
}
}, {
qs: 134
}],
145: [function(b, d, a) {
var c = b("./ac-element-engagement/ElementEngagement");
d.exports = new c();
d.exports.ElementEngagement = c
}, {
"./ac-element-engagement/ElementEngagement": 146
}],
146: [function(c, b, f) {
var g;
var d = c("ac-object");
var h = c("ac-element-tracker").ElementTracker;
var k = {
timeToEngage: 500,
inViewThreshold: 0.75,
stopOnEngaged: true
};
var j = {
thresholdEnterTime: 0,
thresholdExitTime: 0,
inThreshold: false,
engaged: false,
tracking: true
};
var a = function() {
h.call(this)
};
g = a.prototype = d.create(h.prototype);
g._decorateTrackedElement = function(m, l) {
var n;
n = d.defaults(k, l || {});
d.extend(m, n);
d.extend(m, j)
};
g._attachElementListeners = function(l) {
l.on("thresholdenter", this._thresholdEnter, this);
l.on("thresholdexit", this._thresholdExit, this);
l.on("enterview", this._enterView, this);
l.on("exitview", this._exitView, this)
};
g._removeElementListeners = function(l) {
l.off("thresholdenter", this._thresholdEnter);
l.off("thresholdexit", this._thresholdExit);
l.off("enterview", this._enterView);
l.off("exitview", this._exitView)
};
g._attachAllElementListeners = function() {
this.elements.forEach(function(l) {
if (!l.stopOnEngaged) {
this._attachElementListeners(l)
} else {
if (!l.engaged) {
this._attachElementListeners(l)
}
}
}, this)
};
g._removeAllElementListeners = function() {
this.elements.forEach(function(l) {
this._removeElementListeners(l)
}, this)
};
g._elementInViewPastThreshold = function(n) {
var l = this.windowDelegate.innerHeight();
var m = false;
if (n.pixelsInView === l) {
m = true
} else {
m = (n.percentInView > n.inViewThreshold)
}
return m
};
g._ifInView = function(l, n) {
var m = l.inThreshold;
h.prototype._ifInView.apply(this, arguments);
if (!m && this._elementInViewPastThreshold(l)) {
l.inThreshold = true;
l.trigger("thresholdenter", l);
if (typeof l.timeToEngage === "number" && l.timeToEngage >= 0) {
l.engagedTimeout = window.setTimeout(this._engaged.bind(this, l), l.timeToEngage)
}
}
};
g._ifAlreadyInView = function(l) {
var m = l.inThreshold;
h.prototype._ifAlreadyInView.apply(this, arguments);
if (m && !this._elementInViewPastThreshold(l)) {
l.inThreshold = false;
l.trigger("thresholdexit", l);
if (l.engagedTimeout) {
window.clearTimeout(l.engagedTimeout);
l.engagedTimeout = null
}
}
};
g._engaged = function(l) {
l.engagedTimeout = null;
this._elementEngaged(l);
l.trigger("engaged", l);
this.trigger("engaged", l)
};
g._thresholdEnter = function(l) {
l.thresholdEnterTime = Date.now();
l.thresholdExitTime = 0;
this.trigger("thresholdenter", l)
};
g._thresholdExit = function(l) {
l.thresholdExitTime = Date.now();
this.trigger("thresholdexit", l)
};
g._enterView = function(l) {
this.trigger("enterview", l)
};
g._exitView = function(l) {
this.trigger("exitview", l)
};
g._elementEngaged = function(l) {
l.engaged = true;
if (l.stopOnEngaged) {
this.stop(l)
}
};
g.stop = function(l) {
if (this.tracking && !l) {
this._removeAllElementListeners();
h.prototype.stop.call(this)
}
if (l && l.tracking) {
l.tracking = false;
this._removeElementListeners(l)
}
};
g.start = function(l) {
if (!l) {
this._attachAllElementListeners()
}
if (l && !l.tracking) {
if (!l.stopOnEngaged) {
l.tracking = true;
this._attachElementListeners(l)
} else {
if (!l.engaged) {
l.tracking = true;
this._attachElementListeners(l)
}
}
}
if (!this.tracking) {
h.prototype.start.call(this)
} else {
this.refreshAllElementStates()
}
};
g.addElement = function(n, l) {
var m = h.prototype.addElement.call(this, n);
this._decorateTrackedElement(m, l);
return m
};
g.addElements = function(m, l) {
[].forEach.call(m, function(n) {
this.addElement(n, l)
}, this)
};
b.exports = a
}, {
"ac-element-tracker": 214,
"ac-object": 135
}],
147: [function(b, c, a) {
c.exports = {
flatten: b("./ac-array/flatten"),
intersection: b("./ac-array/intersection"),
toArray: b("./ac-array/toArray"),
union: b("./ac-array/union"),
unique: b("./ac-array/unique"),
without: b("./ac-array/without")
}
}, {
"./ac-array/flatten": 148,
"./ac-array/intersection": 149,
"./ac-array/toArray": 150,
"./ac-array/union": 151,
"./ac-array/unique": 152,
"./ac-array/without": 153
}],
148: [function(b, c, a) {
c.exports = function d(h) {
var f = [];
var g = function(j) {
if (Array.isArray(j)) {
j.forEach(g)
} else {
f.push(j)
}
};
h.forEach(g);
return f
}
}, {}],
149: [function(b, c, a) {
c.exports = function d(n) {
if (!n) {
return []
}
var m = arguments.length;
var k = 0;
var g = n.length;
var f = [];
var l;
for (k; k < g; k++) {
l = n[k];
if (f.indexOf(l) > -1) {
continue
}
for (var h = 1; h < m; h++) {
if (arguments[h].indexOf(l) < 0) {
break
}
}
if (h === m) {
f.push(l)
}
}
return f
}
}, {}],
150: [function(b, d, a) {
d.exports = function c(f) {
return Array.prototype.slice.call(f)
}
}, {}],
151: [function(b, c, a) {
var g = b("./flatten");
var f = b("./unique");
c.exports = function d(h) {
return f(g(Array.prototype.slice.call(arguments)))
}
}, {
"./flatten": 148,
"./unique": 152
}],
152: [function(b, c, a) {
c.exports = function d(g) {
var f = function(h, j) {
if (h.indexOf(j) < 0) {
h.push(j)
}
return h
};
return g.reduce(f, [])
}
}, {}],
153: [function(b, d, a) {
d.exports = function c(f, n, m) {
var k;
var h = f.indexOf(n);
var l = f.length;
if (h >= 0) {
if (m) {
k = f.slice(0, l);
var j, g = 0;
for (j = h; j < l; j++) {
if (f[j] === n) {
k.splice(j - g, 1);
g++
}
}
} else {
if (h === (l - 1)) {
k = f.slice(0, (l - 1))
} else {
if (h === 0) {
k = f.slice(1)
} else {
k = f.slice(0, h);
k = k.concat(f.slice(h + 1))
}
}
}
} else {
return f
}
return k
}
}, {}],
154: [function(c, d, b) {
var a = c("./ac-dom-styles/vendorTransformHelper");
var f = {};
f.setStyle = function(h, j) {
var g;
var k;
var l;
if ((typeof j !== "string" && typeof j !== "object") || Array.isArray(j)) {
throw new TypeError("styles argument must be either an object or a string")
}
g = f.setStyle.__explodeStyleStringToObject(j);
for (l in g) {
if (g.hasOwnProperty(l)) {
k = l.replace(/-(\w)/g, f.setStyle.__camelCaseReplace);
f.setStyle.__setStyle(h, k, g, g[l])
}
}
return h
};
f.setStyle.__explodeStyleStringToObject = function(l) {
var j = (typeof l === "object") ? l : {};
var m;
var k;
var g;
var h;
if (typeof l === "string") {
m = l.split(";");
g = m.length;
for (h = 0; h < g; h += 1) {
k = m[h].indexOf(":");
if (k > 0) {
j[m[h].substr(0, k).trim()] = m[h].substr(k + 1).trim()
}
}
}
return j
};
f.setStyle.__setStyle = function(j, k, h, g) {
if (typeof j.style[k] !== "undefined") {
j.style[k] = g
}
};
f.setStyle.__camelCaseReplace = function(h, j, k, g) {
return (k === 0) && (g.substr(1, 3) !== "moz") ? j : j.toUpperCase()
};
f.getStyle = function(h, k, g) {
var j;
k = k.replace(/-(\w)/g, f.setStyle.__camelCaseReplace);
k = (k === "float") ? "cssFloat" : k;
g = g || window.getComputedStyle(h, null);
j = g ? g[k] : null;
if (k === "opacity") {
return j ? parseFloat(j) : 1
}
return j === "auto" ? null : j
};
f.setVendorPrefixStyle = function(g, k, j) {
if (typeof k !== "string") {
throw new TypeError("ac-dom-styles.setVendorPrefixStyle: property must be a string")
}
if (typeof j !== "string" && typeof j !== "number") {
throw new TypeError("ac-dom-styles.setVendorPrefixStyle: value must be a string or a number")
}
var h = ["", "webkit", "Moz", "ms", "O"];
var m;
var l;
j += "";
k = k.replace(/-(webkit|moz|ms|o)-/i, "");
k = k.replace(/^(webkit|Moz|ms|O)/, "");
k = k.charAt(0).toLowerCase() + k.slice(1);
k = k.replace(/-(\w)/, function(n, o) {
return o.toUpperCase()
});
j = j.replace(/-(webkit|moz|ms|o)-/, "-vendor-");
h.forEach(function(n) {
m = (n === "") ? k : n + k.charAt(0).toUpperCase() + k.slice(1);
l = (n === "") ? j.replace("-vendor-", "") : j.replace("-vendor-", "-" + n.charAt(0).toLowerCase() + n.slice(1) + "-");
if (m in g.style) {
f.setStyle(g, m + ":" + l)
}
})
};
f.getVendorPrefixStyle = function(h, k) {
if (typeof k !== "string") {
throw new TypeError("ac-dom-styles.getVendorPrefixStyle: property must be a string")
}
var j = ["", "webkit", "Moz", "ms", "O"];
var g;
k = k.replace(/-(webkit|moz|ms|o)-/i, "");
k = k.replace(/^(webkit|Moz|ms|O)/, "").charAt(0).toLowerCase() + k.slice(1);
k = k.replace(/-(\w)/, function(l, m) {
return m.toUpperCase()
});
j.some(function(m, l) {
var n = (m === "") ? k : m + k.charAt(0).toUpperCase() + k.slice(1);
if (n in h.style) {
g = f.getStyle(h, n);
return true
}
});
return g
};
f.setVendorPrefixTransform = function(g, h) {
if ((typeof h !== "string" && typeof h !== "object") || Array.isArray(h) || h === null) {
throw new TypeError("ac-dom-styles.setVendorPrefixTransform: transformFunctions argument must be either an object or a string")
}
f.setVendorPrefixStyle(g, "transform", a.convert2dFunctions(h))
};
c("./ac-dom-styles/ie")(f);
d.exports = f
}, {
"./ac-dom-styles/ie": 155,
"./ac-dom-styles/vendorTransformHelper": 156
}],
155: [function(b, c, a) {
c.exports = function(d) {
if (typeof window.getComputedStyle !== "function") {
d.getStyle = function(j, h, g) {
var f;
var k;
g = g || j.currentStyle;
if (g) {
h = h.replace(/-(\w)/g, d.setStyle.__camelCaseReplace);
h = h === "float" ? "styleFloat" : h;
k = g[h] || null;
return k === "auto" ? null : k
}
}
}
}
}, {}],
156: [function(c, d, b) {
var a = {
__objectifiedFunctions: {},
__paramMaps: {
translate: "p1, p2, 0",
translateX: "p1, 0, 0",
translateY: "0, p1, 0",
scale: "p1, p2, 1",
scaleX: "p1, 1, 1",
scaleY: "1, p1, 1",
rotate: "0, 0, 1, p1",
matrix: "p1, p2, 0, 0, p3, p4, 0, 0, 0, 0, 1, 0, p5, p6, 0, 1"
},
convert2dFunctions: function(g) {
var f;
this.__init(g);
for (var h in this.__objectifiedFunctions) {
if (this.__objectifiedFunctions.hasOwnProperty(h)) {
f = this.__objectifiedFunctions[h].replace(" ", "").split(",");
if (h in this.__paramMaps) {
for (var j in this.__paramMaps) {
if (h === j) {
this.valuesToSet.push(this.__stripFunctionAxis(h) + "3d(" + this.__map2DTransformParams(f, this.__paramMaps[h]) + ")")
}
}
} else {
this.valuesToSet.push(h + "(" + this.__objectifiedFunctions[h] + ")")
}
}
}
return this.valuesToSet.join(" ")
},
__init: function(f) {
this.valuesToSet = [];
this.__objectifiedFunctions = (typeof f === "object") ? f : {};
if (typeof f === "string") {
this.__objectifiedFunctions = this.__objectifyFunctionString(f)
}
},
__map2DTransformParams: function(f, g) {
f.forEach(function(j, h) {
g = g.replace("p" + (h + 1), j)
});
return g
},
__splitFunctionStringToArray: function(f) {
return f.match(/[\w]+\(.+?\)/g)
},
__splitFunctionNameAndParams: function(f) {
return f.match(/(.*)\((.*)\)/)
},
__stripFunctionAxis: function(f) {
return f.match(/([a-z]+)(|X|Y)$/)[1]
},
__objectifyFunctionString: function(f) {
var g = this;
var h;
this.__splitFunctionStringToArray(f).forEach(function(j) {
h = g.__splitFunctionNameAndParams(j);
g.__objectifiedFunctions[h[1]] = h[2]
});
return this.__objectifiedFunctions
}
};
d.exports = a
}, {}],
157: [function(b, c, a) {
var g = b("ac-dom-styles");
var h = {};
var f = function() {
return {
x: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft,
y: window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
}
};
var d = function() {
return {
height: window.innerHeight || document.documentElement.clientHeight,
width: window.innerWidth || document.documentElement.clientWidth
}
};
h.cumulativeOffset = function(k) {
var l = h.getBoundingBox(k);
var j = f();
var m = [l.top + j.y, l.left + j.x];
m.top = m[0];
m.left = m[1];
return m
};
h.getBoundingBox = function(l) {
var m = l.getBoundingClientRect();
var k = m.width || m.right - m.left;
var j = m.height || m.bottom - m.top;
return {
top: m.top,
right: m.right,
bottom: m.bottom,
left: m.left,
width: k,
height: j
}
};
h.getInnerDimensions = function(o) {
var p = h.getBoundingBox(o);
var n = p.width;
var j = p.height;
var m;
var k;
var l = window.getComputedStyle ? window.getComputedStyle(o, null) : null;
["padding", "border"].forEach(function(q) {
["Top", "Right", "Bottom", "Left"].forEach(function(r) {
m = q === "border" ? q + r + "Width" : q + r;
k = parseFloat(g.getStyle(o, m, l));
k = isNaN(k) ? 0 : k;
if (r === "Right" || r === "Left") {
n -= k
}
if (r === "Top" || r === "Bottom") {
j -= k
}
})
});
return {
width: n,
height: j
}
};
h.getOuterDimensions = function(m) {
var o = h.getBoundingBox(m);
var l = o.width;
var j = o.height;
var n;
var k = window.getComputedStyle ? window.getComputedStyle(m, null) : null;
["margin"].forEach(function(p) {
["Top", "Right", "Bottom", "Left"].forEach(function(q) {
n = parseFloat(g.getStyle(m, p + q, k));
n = isNaN(n) ? 0 : n;
if (q === "Right" || q === "Left") {
l += n
}
if (q === "Top" || q === "Bottom") {
j += n
}
})
});
return {
width: l,
height: j
}
};
h.pixelsInViewport = function(l, k) {
var m;
var n = d();
k = k || h.getBoundingBox(l);
var j = k.top;
if (j >= 0) {
m = n.height - j;
if (m > k.height) {
m = k.height
}
} else {
m = k.height + j
}
if (m < 0) {
m = 0
}
if (m > n.height) {
m = n.height
}
return m
};
h.percentInViewport = function(k) {
var j = h.getBoundingBox(k);
var l = h.pixelsInViewport(k, j);
return l / j.height
};
h.isInViewport = function(l, k) {
var j = h.percentInViewport(l);
if (typeof k !== "number" || 1 < k || k < 0) {
k = 0
}
return (j > k || j === 1)
};
b("./ac-dom-metrics/ie")(h);
c.exports = h
}, {
"./ac-dom-metrics/ie": 158,
"ac-dom-styles": 154
}],
158: [function(b, c, a) {
c.exports = function(d) {
if (!("getBoundingClientRect" in document.createElement("_"))) {
d.getBoundingBox = function(h) {
var k = h.offsetLeft;
var j = h.offsetTop;
var g = h.offsetWidth;
var f = h.offsetHeight;
return {
top: j,
right: k + g,
bottom: j + f,
left: k,
width: g,
height: f
}
}
}
}
}, {}],
159: [function(b, c, a) {
arguments[4][19][0].apply(a, arguments)
}, {
"./ac-event-emitter/EventEmitter": 160,
dup: 19
}],
160: [function(b, c, a) {
arguments[4][20][0].apply(a, arguments)
}, {
dup: 20
}],
161: [function(b, c, a) {
arguments[4][134][0].apply(a, arguments)
}, {
dup: 134
}],
162: [function(b, c, a) {
arguments[4][135][0].apply(a, arguments)
}, {
"./ac-object/clone": 163,
"./ac-object/create": 164,
"./ac-object/defaults": 165,
"./ac-object/extend": 166,
"./ac-object/getPrototypeOf": 167,
"./ac-object/isDate": 168,
"./ac-object/isEmpty": 169,
"./ac-object/isRegExp": 170,
"./ac-object/toQueryParameters": 171,
dup: 135
}],
163: [function(b, c, a) {
arguments[4][136][0].apply(a, arguments)
}, {
"./extend": 166,
dup: 136
}],
164: [function(b, c, a) {
arguments[4][137][0].apply(a, arguments)
}, {
dup: 137
}],
165: [function(b, c, a) {
arguments[4][138][0].apply(a, arguments)
}, {
"./extend": 166,
dup: 138
}],
166: [function(b, c, a) {
arguments[4][139][0].apply(a, arguments)
}, {
dup: 139
}],
167: [function(b, c, a) {
arguments[4][140][0].apply(a, arguments)
}, {
dup: 140
}],
168: [function(b, c, a) {
arguments[4][141][0].apply(a, arguments)
}, {
dup: 141
}],
169: [function(b, c, a) {
arguments[4][142][0].apply(a, arguments)
}, {
dup: 142
}],
170: [function(b, c, a) {
arguments[4][143][0].apply(a, arguments)
}, {
dup: 143
}],
171: [function(b, c, a) {
arguments[4][144][0].apply(a, arguments)
}, {
dup: 144,
qs: 161
}],
172: [function(b, d, a) {
var c = {};
c.addEventListener = function(k, h, j, g) {
if (k.addEventListener) {
k.addEventListener(h, j, g)
} else {
if (k.attachEvent) {
k.attachEvent("on" + h, j)
} else {
k["on" + h] = j
}
}
return k
};
c.dispatchEvent = function(h, g) {
if (document.createEvent) {
h.dispatchEvent(new CustomEvent(g))
} else {
h.fireEvent("on" + g, document.createEventObject())
}
return h
};
c.removeEventListener = function(k, h, j, g) {
if (k.removeEventListener) {
k.removeEventListener(h, j, g)
} else {
k.detachEvent("on" + h, j)
}
return k
};
var f = /^(webkit|moz|ms|o)/i;
c.addVendorPrefixEventListener = function(k, h, j, g) {
if (f.test(h)) {
h = h.replace(f, "")
} else {
h = h.charAt(0).toUpperCase() + h.slice(1)
}
if (/WebKit/i.test(window.navigator.userAgent)) {
return c.addEventListener(k, "webkit" + h, j, g)
} else {
if (/Opera/i.test(window.navigator.userAgent)) {
return c.addEventListener(k, "O" + h, j, g)
} else {
if (/Gecko/i.test(window.navigator.userAgent)) {
return c.addEventListener(k, h.toLowerCase(), j, g)
} else {
h = h.charAt(0).toLowerCase() + h.slice(1);
return c.addEventListener(k, h, j, g)
}
}
}
};
c.removeVendorPrefixEventListener = function(k, h, j, g) {
if (f.test(h)) {
h = h.replace(f, "")
} else {
h = h.charAt(0).toUpperCase() + h.slice(1)
}
c.removeEventListener(k, "webkit" + h, j, g);
c.removeEventListener(k, "O" + h, j, g);
c.removeEventListener(k, h.toLowerCase(), j, g);
h = h.charAt(0).toLowerCase() + h.slice(1);
return c.removeEventListener(k, h, j, g)
};
c.stop = function(g) {
if (!g) {
g = window.event
}
if (g.stopPropagation) {
g.stopPropagation()
} else {
g.cancelBubble = true
}
if (g.preventDefault) {
g.preventDefault()
}
g.stopped = true;
g.returnValue = false
};
c.target = function(g) {
return (typeof g.target !== "undefined") ? g.target : g.srcElement
};
d.exports = c
}, {}],
173: [function(b, c, a) {
var d = {
querySelector: b("./ac-dom-traversal/querySelector"),
querySelectorAll: b("./ac-dom-traversal/querySelectorAll"),
ancestor: b("./ac-dom-traversal/ancestor"),
ancestors: b("./ac-dom-traversal/ancestors"),
children: b("./ac-dom-traversal/children"),
firstChild: b("./ac-dom-traversal/firstChild"),
lastChild: b("./ac-dom-traversal/lastChild"),
siblings: b("./ac-dom-traversal/siblings"),
nextSibling: b("./ac-dom-traversal/nextSibling"),
nextSiblings: b("./ac-dom-traversal/nextSiblings"),
previousSibling: b("./ac-dom-traversal/previousSibling"),
previousSiblings: b("./ac-dom-traversal/previousSiblings"),
filterBySelector: b("./ac-dom-traversal/filterBySelector"),
matchesSelector: b("./ac-dom-traversal/matchesSelector")
};
b("./ac-dom-traversal/shims/ie")(d);
c.exports = d
}, {
"./ac-dom-traversal/ancestor": 174,
"./ac-dom-traversal/ancestors": 175,
"./ac-dom-traversal/children": 176,
"./ac-dom-traversal/filterBySelector": 177,
"./ac-dom-traversal/firstChild": 178,
"./ac-dom-traversal/lastChild": 181,
"./ac-dom-traversal/matchesSelector": 182,
"./ac-dom-traversal/nextSibling": 183,
"./ac-dom-traversal/nextSiblings": 184,
"./ac-dom-traversal/previousSibling": 185,
"./ac-dom-traversal/previousSiblings": 186,
"./ac-dom-traversal/querySelector": 187,
"./ac-dom-traversal/querySelectorAll": 188,
"./ac-dom-traversal/shims/ie": 189,
"./ac-dom-traversal/siblings": 190
}],
174: [function(d, g, c) {
var a = d("ac-dom-nodes");
var b = d("./matchesSelector");
var h = d("./helpers/validate");
g.exports = function f(k, j) {
h.childNode(k, true, "ancestors");
h.selector(j, false, "ancestors");
if (k !== document.body) {
while ((k = k.parentNode) && a.isElement(k)) {
if (!j || b(k, j)) {
return k
}
if (k === document.body) {
break
}
}
}
return null
}
}, {
"./helpers/validate": 180,
"./matchesSelector": 182,
"ac-dom-nodes": 74
}],
175: [function(d, f, c) {
var a = d("ac-dom-nodes");
var b = d("./matchesSelector");
var h = d("./helpers/validate");
f.exports = function g(l, j) {
var k = [];
h.childNode(l, true, "ancestors");
h.selector(j, false, "ancestors");
if (l !== document.body) {
while ((l = l.parentNode) && a.isElement(l)) {
if (!j || b(l, j)) {
k.push(l)
}
if (l === document.body) {
break
}
}
}
return k
}
}, {
"./helpers/validate": 180,
"./matchesSelector": 182,
"ac-dom-nodes": 74
}],
176: [function(d, g, c) {
var a = d("ac-dom-nodes");
var b = d("./filterBySelector");
var h = d("./helpers/validate");
g.exports = function f(l, j) {
var k;
h.parentNode(l, true, "children");
h.selector(j, false, "children");
k = l.children || l.childNodes;
k = a.filterByNodeType(k);
if (j) {
k = b(k, j)
}
return k
}
}, {
"./filterBySelector": 177,
"./helpers/validate": 180,
"ac-dom-nodes": 74
}],
177: [function(d, f, c) {
var b = d("./matchesSelector");
var g = d("./helpers/validate");
f.exports = function a(j, h) {
g.selector(h, true, "filterBySelector");
j = Array.prototype.slice.call(j);
return j.filter(function(k) {
return b(k, h)
})
}
}, {
"./helpers/validate": 180,
"./matchesSelector": 182
}],
178: [function(b, d, a) {
var c = b("./children");
var g = b("./helpers/validate");
d.exports = function f(k, h) {
var j;
g.parentNode(k, true, "firstChild");
g.selector(h, false, "firstChild");
if (k.firstElementChild && !h) {
return k.firstElementChild
}
j = c(k, h);
if (j.length) {
return j[0]
}
return null
}
}, {
"./children": 176,
"./helpers/validate": 180
}],
179: [function(b, c, a) {
c.exports = window.Element ? (function(d) {
return d.matches || d.matchesSelector || d.webkitMatchesSelector || d.mozMatchesSelector || d.msMatchesSelector || d.oMatchesSelector
}(Element.prototype)) : null
}, {}],
180: [function(d, b, f) {
var k = d("ac-dom-nodes");
var a = function(n, m) {
if (!k.isNode(n)) {
return false
}
if (typeof m === "number") {
return (n.nodeType === m)
}
return (m.indexOf(n.nodeType) !== -1)
};
var h = [k.ELEMENT_NODE, k.DOCUMENT_NODE, k.DOCUMENT_FRAGMENT_NODE];
var j = " must be an Element, Document, or Document Fragment";
var l = [k.ELEMENT_NODE, k.TEXT_NODE, k.COMMENT_NODE];
var g = " must be an Element, TextNode, or Comment";
var c = " must be a string";
b.exports = {
parentNode: function(m, p, o, n) {
n = n || "node";
if ((m || p) && !a(m, h)) {
throw new TypeError(o + ": " + n + j)
}
},
childNode: function(m, p, o, n) {
n = n || "node";
if (!m && !p) {
return
}
if (!a(m, l)) {
throw new TypeError(o + ": " + n + g)
}
},
selector: function(m, p, o, n) {
n = n || "selector";
if ((m || p) && typeof m !== "string") {
throw new TypeError(o + ": " + n + c)
}
}
}
}, {
"ac-dom-nodes": 74
}],
181: [function(b, d, a) {
var c = b("./children");
var g = b("./helpers/validate");
d.exports = function f(k, h) {
var j;
g.parentNode(k, true, "lastChild");
g.selector(h, false, "lastChild");
if (k.lastElementChild && !h) {
return k.lastElementChild
}
j = c(k, h);
if (j.length) {
return j[j.length - 1]
}
return null
}
}, {
"./children": 176,
"./helpers/validate": 180
}],
182: [function(f, g, d) {
var b = f("ac-dom-nodes");
var a = f("./helpers/nativeMatches");
var h = f("./helpers/validate");
g.exports = function c(k, j) {
h.selector(j, true, "matchesSelector");
return b.isElement(k) ? a.call(k, j) : false
}
}, {
"./helpers/nativeMatches": 179,
"./helpers/validate": 180,
"ac-dom-nodes": 74
}],
183: [function(d, f, c) {
var a = d("ac-dom-nodes");
var b = d("./matchesSelector");
var h = d("./helpers/validate");
f.exports = function g(k, j) {
h.childNode(k, true, "nextSibling");
h.selector(j, false, "nextSibling");
if (k.nextElementSibling && !j) {
return k.nextElementSibling
}
while (k = k.nextSibling) {
if (a.isElement(k)) {
if (!j || b(k, j)) {
return k
}
}
}
return null
}
}, {
"./helpers/validate": 180,
"./matchesSelector": 182,
"ac-dom-nodes": 74
}],
184: [function(f, g, c) {
var a = f("ac-dom-nodes");
var b = f("./matchesSelector");
var h = f("./helpers/validate");
g.exports = function d(l, j) {
var k = [];
h.childNode(l, true, "nextSiblings");
h.selector(j, false, "nextSiblings");
while (l = l.nextSibling) {
if (a.isElement(l)) {
if (!j || b(l, j)) {
k.push(l)
}
}
}
return k
}
}, {
"./helpers/validate": 180,
"./matchesSelector": 182,
"ac-dom-nodes": 74
}],
185: [function(d, f, c) {
var a = d("ac-dom-nodes");
var b = d("./matchesSelector");
var h = d("./helpers/validate");
f.exports = function g(k, j) {
h.childNode(k, true, "previousSibling");
h.selector(j, false, "previousSibling");
if (k.previousElementSibling && !j) {
return k.previousElementSibling
}
while (k = k.previousSibling) {
if (a.isElement(k)) {
if (!j || b(k, j)) {
return k
}
}
}
return null
}
}, {
"./helpers/validate": 180,
"./matchesSelector": 182,
"ac-dom-nodes": 74
}],
186: [function(d, f, c) {
var a = d("ac-dom-nodes");
var b = d("./matchesSelector");
var h = d("./helpers/validate");
f.exports = function g(l, j) {
var k = [];
h.childNode(l, true, "previousSiblings");
h.selector(j, false, "previousSiblings");
while (l = l.previousSibling) {
if (a.isElement(l)) {
if (!j || b(l, j)) {
k.push(l)
}
}
}
return k.reverse()
}
}, {
"./helpers/validate": 180,
"./matchesSelector": 182,
"ac-dom-nodes": 74
}],
187: [function(b, c, a) {
var f = b("./helpers/validate");
c.exports = function d(g, h) {
h = h || document;
f.parentNode(h, true, "querySelector", "context");
f.selector(g, true, "querySelector");
return h.querySelector(g)
}
}, {
"./helpers/validate": 180
}],
188: [function(b, c, a) {
var f = b("./helpers/validate");
c.exports = function d(g, h) {
h = h || document;
f.parentNode(h, true, "querySelectorAll", "context");
f.selector(g, true, "querySelectorAll");
return Array.prototype.slice.call(h.querySelectorAll(g))
}
}, {
"./helpers/validate": 180
}],
189: [function(d, f, c) {
var g = d("../vendor/sizzle/sizzle");
var b = d("ac-dom-nodes");
var a = d("../helpers/nativeMatches");
var h = d("../helpers/validate");
f.exports = function(k, j) {
if (j || !("querySelectorAll" in document)) {
k.querySelectorAll = function(l, n) {
var m;
var o;
n = n || document;
h.parentNode(n, true, "querySelectorAll", "context");
h.selector(l, true, "querySelectorAll");
if (b.isDocumentFragment(n)) {
m = k.children(n);
o = [];
m.forEach(function(q) {
var p;
if (g.matchesSelector(q, l)) {
o.push(q)
}
p = g(l, q);
if (p.length) {
o = o.concat(p)
}
});
return o
}
return g(l, n)
};
k.querySelector = function(m, n) {
var l;
n = n || document;
h.parentNode(n, true, "querySelector", "context");
h.selector(m, true, "querySelector");
l = k.querySelectorAll(m, n);
return l.length ? l[0] : null
}
}
if (j || !a) {
k.matchesSelector = function(m, l) {
return g.matchesSelector(m, l)
}
}
}
}, {
"../helpers/nativeMatches": 179,
"../helpers/validate": 180,
"../vendor/sizzle/sizzle": 191,
"ac-dom-nodes": 74
}],
190: [function(b, d, a) {
var c = b("./children");
var g = b("./helpers/validate");
d.exports = function f(k, h) {
var j = [];
g.childNode(k, true, "siblings");
g.selector(h, false, "siblings");
if (k.parentNode) {
j = c(k.parentNode, h);
j = j.filter(function(l) {
return (l !== k)
})
}
return j
}
}, {
"./children": 176,
"./helpers/validate": 180
}],
191: [function(b, c, a) {
/*!
* Sizzle CSS Selector Engine
* Copyright 2012, The Dojo Foundation
* Released under the MIT, BSD, and GPL Licenses.
* More information: http://sizzlejs.com/
*/
(function(ae, w) {
var aj, E, v, h, o, m = ae.document,
p = m.documentElement,
M = "undefined",
q = false,
n = true,
u = 0,
z = [].slice,
ai = [].push,
am = ("sizcache" + Math.random()).replace(".", ""),
P = "[\\x20\\t\\r\\n\\f]",
y = "(?:\\\\.|[-\\w]|[^\\x00-\\xa0])",
x = "(?:[\\w#_-]|[^\\x00-\\xa0]|\\\\.)",
ar = "([*^$|!~]?=)",
ab = "\\[" + P + "*(" + y + "+)" + P + "*(?:" + ar + P + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + x + "+)|)|)" + P + "*\\]",
at = ":(" + y + "+)(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|(.*))\\)|)",
R = ":(nth|eq|gt|lt|first|last|even|odd)(?:\\((\\d*)\\)|)(?=[^-]|$)",
t = P + "*([\\x20\\t\\r\\n\\f>+~])" + P + "*",
s = "(?=[^\\x20\\t\\r\\n\\f])(?:\\\\.|" + ab + "|" + at.replace(2, 7) + "|[^\\\\(),])+",
ak = new RegExp("^" + P + "+|((?:^|[^\\\\])(?:\\\\.)*)" + P + "+$", "g"),
V = new RegExp("^" + t),
J = new RegExp(s + "?(?=" + P + "*,|$)", "g"),
Z = new RegExp("^(?:(?!,)(?:(?:^|,)" + P + "*" + s + ")*?|" + P + "*(.*?))(\\)|$)"),
ap = new RegExp(s.slice(19, -6) + "\\x20\\t\\r\\n\\f>+~])+|" + t, "g"),
aa = /^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,
af = /[\x20\t\r\n\f]*[+~]/,
an = /:not\($/,
F = /h\d/i,
ac = /input|select|textarea|button/i,
I = /\\(?!\\)/g,
U = {
ID: new RegExp("^#(" + y + "+)"),
CLASS: new RegExp("^\\.(" + y + "+)"),
NAME: new RegExp("^\\[name=['\"]?(" + y + "+)['\"]?\\]"),
TAG: new RegExp("^(" + y.replace("[-", "[-\\*") + "+)"),
ATTR: new RegExp("^" + ab),
PSEUDO: new RegExp("^" + at),
CHILD: new RegExp("^:(only|nth|last|first)-child(?:\\(" + P + "*(even|odd|(([+-]|)(\\d*)n|)" + P + "*(?:([+-]|)" + P + "*(\\d+)|))" + P + "*\\)|)", "i"),
POS: new RegExp(R, "ig"),
needsContext: new RegExp("^" + P + "*[>+~]|" + R, "i")
},
ah = {},
G = [],
B = {},
K = [],
ao = function(au) {
au.sizzleFilter = true;
return au
},
j = function(au) {
return function(av) {
return av.nodeName.toLowerCase() === "input" && av.type === au
}
},
H = function(au) {
return function(aw) {
var av = aw.nodeName.toLowerCase();
return (av === "input" || av === "button") && aw.type === au
}
},
X = function(au) {
var av = false,
ax = m.createElement("div");
try {
av = au(ax)
} catch (aw) {}
ax = null;
return av
},
D = X(function(av) {
av.innerHTML = "<select></select>";
var au = typeof av.lastChild.getAttribute("multiple");
return au !== "boolean" && au !== "string"
}),
f = X(function(av) {
av.id = am + 0;
av.innerHTML = "<a name='" + am + "'></a><div name='" + am + "'></div>";
p.insertBefore(av, p.firstChild);
var au = m.getElementsByName && m.getElementsByName(am).length === 2 + m.getElementsByName(am + 0).length;
o = !m.getElementById(am);
p.removeChild(av);
return au
}),
l = X(function(au) {
au.appendChild(m.createComment(""));
return au.getElementsByTagName("*").length === 0
}),
T = X(function(au) {
au.innerHTML = "<a href='#'></a>";
return au.firstChild && typeof au.firstChild.getAttribute !== M && au.firstChild.getAttribute("href") === "#"
}),
S = X(function(au) {
au.innerHTML = "<div class='hidden e'></div><div class='hidden'></div>";
if (!au.getElementsByClassName || au.getElementsByClassName("e").length === 0) {
return false
}
au.lastChild.className = "e";
return au.getElementsByClassName("e").length !== 1
});
var ad = function(ax, au, az, aC) {
az = az || [];
au = au || m;
var aA, av, aB, aw, ay = au.nodeType;
if (ay !== 1 && ay !== 9) {
return []
}
if (!ax || typeof ax !== "string") {
return az
}
aB = A(au);
if (!aB && !aC) {
if ((aA = aa.exec(ax))) {
if ((aw = aA[1])) {
if (ay === 9) {
av = au.getElementById(aw);
if (av && av.parentNode) {
if (av.id === aw) {
az.push(av);
return az
}
} else {
return az
}
} else {
if (au.ownerDocument && (av = au.ownerDocument.getElementById(aw)) && Q(au, av) && av.id === aw) {
az.push(av);
return az
}
}
} else {
if (aA[2]) {
ai.apply(az, z.call(au.getElementsByTagName(ax), 0));
return az
} else {
if ((aw = aA[3]) && S && au.getElementsByClassName) {
ai.apply(az, z.call(au.getElementsByClassName(aw), 0));
return az
}
}
}
}
}
return al(ax, au, az, aC, aB)
};
var W = ad.selectors = {
cacheLength: 50,
match: U,
order: ["ID", "TAG"],
attrHandle: {},
createPseudo: ao,
find: {
ID: o ? function(ax, aw, av) {
if (typeof aw.getElementById !== M && !av) {
var au = aw.getElementById(ax);
return au && au.parentNode ? [au] : []
}
} : function(ax, aw, av) {
if (typeof aw.getElementById !== M && !av) {
var au = aw.getElementById(ax);
return au ? au.id === ax || typeof au.getAttributeNode !== M && au.getAttributeNode("id").value === ax ? [au] : w : []
}
},
TAG: l ? function(au, av) {
if (typeof av.getElementsByTagName !== M) {
return av.getElementsByTagName(au)
}
} : function(au, ay) {
var ax = ay.getElementsByTagName(au);
if (au === "*") {
var az, aw = [],
av = 0;
for (;
(az = ax[av]); av++) {
if (az.nodeType === 1) {
aw.push(az)
}
}
return aw
}
return ax
}
},
relative: {
">": {
dir: "parentNode",
first: true
},
" ": {
dir: "parentNode"
},
"+": {
dir: "previousSibling",
first: true
},
"~": {
dir: "previousSibling"
}
},
preFilter: {
ATTR: function(au) {
au[1] = au[1].replace(I, "");
au[3] = (au[4] || au[5] || "").replace(I, "");
if (au[2] === "~=") {
au[3] = " " + au[3] + " "
}
return au.slice(0, 4)
},
CHILD: function(au) {
au[1] = au[1].toLowerCase();
if (au[1] === "nth") {
if (!au[2]) {
ad.error(au[0])
}
au[3] = +(au[3] ? au[4] + (au[5] || 1) : 2 * (au[2] === "even" || au[2] === "odd"));
au[4] = +((au[6] + au[7]) || au[2] === "odd")
} else {
if (au[2]) {
ad.error(au[0])
}
}
return au
},
PSEUDO: function(au) {
var av, aw = au[4];
if (U.CHILD.test(au[0])) {
return null
}
if (aw && (av = Z.exec(aw)) && av.pop()) {
au[0] = au[0].slice(0, av[0].length - aw.length - 1);
aw = av[0].slice(0, -1)
}
au.splice(2, 3, aw || au[3]);
return au
}
},
filter: {
ID: o ? function(au) {
au = au.replace(I, "");
return function(av) {
return av.getAttribute("id") === au
}
} : function(au) {
au = au.replace(I, "");
return function(aw) {
var av = typeof aw.getAttributeNode !== M && aw.getAttributeNode("id");
return av && av.value === au
}
},
TAG: function(au) {
if (au === "*") {
return function() {
return true
}
}
au = au.replace(I, "").toLowerCase();
return function(av) {
return av.nodeName && av.nodeName.toLowerCase() === au
}
},
CLASS: function(au) {
var av = ah[au];
if (!av) {
av = ah[au] = new RegExp("(^|" + P + ")" + au + "(" + P + "|$)");
G.push(au);
if (G.length > W.cacheLength) {
delete ah[G.shift()]
}
}
return function(aw) {
return av.test(aw.className || (typeof aw.getAttribute !== M && aw.getAttribute("class")) || "")
}
},
ATTR: function(aw, av, au) {
if (!av) {
return function(ax) {
return ad.attr(ax, aw) != null
}
}
return function(ay) {
var ax = ad.attr(ay, aw),
az = ax + "";
if (ax == null) {
return av === "!="
}
switch (av) {
case "=":
return az === au;
case "!=":
return az !== au;
case "^=":
return au && az.indexOf(au) === 0;
case "*=":
return au && az.indexOf(au) > -1;
case "$=":
return au && az.substr(az.length - au.length) === au;
case "~=":
return (" " + az + " ").indexOf(au) > -1;
case "|=":
return az === au || az.substr(0, au.length + 1) === au + "-"
}
}
},
CHILD: function(av, ax, ay, aw) {
if (av === "nth") {
var au = u++;
return function(aC) {
var az, aD, aB = 0,
aA = aC;
if (ay === 1 && aw === 0) {
return true
}
az = aC.parentNode;
if (az && (az[am] !== au || !aC.sizset)) {
for (aA = az.firstChild; aA; aA = aA.nextSibling) {
if (aA.nodeType === 1) {
aA.sizset = ++aB;
if (aA === aC) {
break
}
}
}
az[am] = au
}
aD = aC.sizset - aw;
if (ay === 0) {
return aD === 0
} else {
return (aD % ay === 0 && aD / ay >= 0)
}
}
}
return function(aA) {
var az = aA;
switch (av) {
case "only":
case "first":
while ((az = az.previousSibling)) {
if (az.nodeType === 1) {
return false
}
}
if (av === "first") {
return true
}
az = aA;
case "last":
while ((az = az.nextSibling)) {
if (az.nodeType === 1) {
return false
}
}
return true
}
}
},
PSEUDO: function(ay, ax, av, au) {
var aw = W.pseudos[ay] || W.pseudos[ay.toLowerCase()];
if (!aw) {
ad.error("unsupported pseudo: " + ay)
}
if (!aw.sizzleFilter) {
return aw
}
return aw(ax, av, au)
}
},
pseudos: {
not: ao(function(au, aw, av) {
var ax = r(au.replace(ak, "$1"), aw, av);
return function(ay) {
return !ax(ay)
}
}),
enabled: function(au) {
return au.disabled === false
},
disabled: function(au) {
return au.disabled === true
},
checked: function(au) {
var av = au.nodeName.toLowerCase();
return (av === "input" && !!au.checked) || (av === "option" && !!au.selected)
},
selected: function(au) {
if (au.parentNode) {
au.parentNode.selectedIndex
}
return au.selected === true
},
parent: function(au) {
return !!au.firstChild
},
empty: function(au) {
return !au.firstChild
},
contains: ao(function(au) {
return function(av) {
return (av.textContent || av.innerText || d(av)).indexOf(au) > -1
}
}),
has: ao(function(au) {
return function(av) {
return ad(au, av).length > 0
}
}),
header: function(au) {
return F.test(au.nodeName)
},
text: function(aw) {
var av, au;
return aw.nodeName.toLowerCase() === "input" && (av = aw.type) === "text" && ((au = aw.getAttribute("type")) == null || au.toLowerCase() === av)
},
radio: j("radio"),
checkbox: j("checkbox"),
file: j("file"),
password: j("password"),
image: j("image"),
submit: H("submit"),
reset: H("reset"),
button: function(av) {
var au = av.nodeName.toLowerCase();
return au === "input" && av.type === "button" || au === "button"
},
input: function(au) {
return ac.test(au.nodeName)
},
focus: function(au) {
var av = au.ownerDocument;
return au === av.activeElement && (!av.hasFocus || av.hasFocus()) && !!(au.type || au.href)
},
active: function(au) {
return au === au.ownerDocument.activeElement
}
},
setFilters: {
first: function(aw, av, au) {
return au ? aw.slice(1) : [aw[0]]
},
last: function(ax, aw, av) {
var au = ax.pop();
return av ? ax : [au]
},
even: function(az, ay, ax) {
var aw = [],
av = ax ? 1 : 0,
au = az.length;
for (; av < au; av = av + 2) {
aw.push(az[av])
}
return aw
},
odd: function(az, ay, ax) {
var aw = [],
av = ax ? 0 : 1,
au = az.length;
for (; av < au; av = av + 2) {
aw.push(az[av])
}
return aw
},
lt: function(aw, av, au) {
return au ? aw.slice(+av) : aw.slice(0, +av)
},
gt: function(aw, av, au) {
return au ? aw.slice(0, +av + 1) : aw.slice(+av + 1)
},
eq: function(ax, aw, av) {
var au = ax.splice(+aw, 1);
return av ? ax : au
}
}
};
W.setFilters.nth = W.setFilters.eq;
W.filters = W.pseudos;
if (!T) {
W.attrHandle = {
href: function(au) {
return au.getAttribute("href", 2)
},
type: function(au) {
return au.getAttribute("type")
}
}
}
if (f) {
W.order.push("NAME");
W.find.NAME = function(au, av) {
if (typeof av.getElementsByName !== M) {
return av.getElementsByName(au)
}
}
}
if (S) {
W.order.splice(1, 0, "CLASS");
W.find.CLASS = function(aw, av, au) {
if (typeof av.getElementsByClassName !== M && !au) {
return av.getElementsByClassName(aw)
}
}
}
try {
z.call(p.childNodes, 0)[0].nodeType
} catch (aq) {
z = function(av) {
var aw, au = [];
for (;
(aw = this[av]); av++) {
au.push(aw)
}
return au
}
}
var A = ad.isXML = function(au) {
var av = au && (au.ownerDocument || au).documentElement;
return av ? av.nodeName !== "HTML" : false
};
var Q = ad.contains = p.compareDocumentPosition ? function(av, au) {
return !!(av.compareDocumentPosition(au) & 16)
} : p.contains ? function(av, au) {
var ax = av.nodeType === 9 ? av.documentElement : av,
aw = au.parentNode;
return av === aw || !!(aw && aw.nodeType === 1 && ax.contains && ax.contains(aw))
} : function(av, au) {
while ((au = au.parentNode)) {
if (au === av) {
return true
}
}
return false
};
var d = ad.getText = function(ay) {
var ax, av = "",
aw = 0,
au = ay.nodeType;
if (au) {
if (au === 1 || au === 9 || au === 11) {
if (typeof ay.textContent === "string") {
return ay.textContent
} else {
for (ay = ay.firstChild; ay; ay = ay.nextSibling) {
av += d(ay)
}
}
} else {
if (au === 3 || au === 4) {
return ay.nodeValue
}
}
} else {
for (;
(ax = ay[aw]); aw++) {
av += d(ax)
}
}
return av
};
ad.attr = function(ax, aw) {
var au, av = A(ax);
if (!av) {
aw = aw.toLowerCase()
}
if (W.attrHandle[aw]) {
return W.attrHandle[aw](ax)
}
if (D || av) {
return ax.getAttribute(aw)
}
au = ax.getAttributeNode(aw);
return au ? typeof ax[aw] === "boolean" ? ax[aw] ? aw : null : au.specified ? au.value : null : null
};
ad.error = function(au) {
throw new Error("Syntax error, unrecognized expression: " + au)
};
[0, 0].sort(function() {
return (n = 0)
});
if (p.compareDocumentPosition) {
v = function(av, au) {
if (av === au) {
q = true;
return 0
}
return (!av.compareDocumentPosition || !au.compareDocumentPosition ? av.compareDocumentPosition : av.compareDocumentPosition(au) & 4) ? -1 : 1
}
} else {
v = function(aC, aB) {
if (aC === aB) {
q = true;
return 0
} else {
if (aC.sourceIndex && aB.sourceIndex) {
return aC.sourceIndex - aB.sourceIndex
}
}
var az, av, aw = [],
au = [],
ay = aC.parentNode,
aA = aB.parentNode,
aD = ay;
if (ay === aA) {
return h(aC, aB)
} else {
if (!ay) {
return -1
} else {
if (!aA) {
return 1
}
}
}
while (aD) {
aw.unshift(aD);
aD = aD.parentNode
}
aD = aA;
while (aD) {
au.unshift(aD);
aD = aD.parentNode
}
az = aw.length;
av = au.length;
for (var ax = 0; ax < az && ax < av; ax++) {
if (aw[ax] !== au[ax]) {
return h(aw[ax], au[ax])
}
}
return ax === az ? h(aC, au[ax], -1) : h(aw[ax], aB, 1)
};
h = function(av, au, aw) {
if (av === au) {
return aw
}
var ax = av.nextSibling;
while (ax) {
if (ax === au) {
return -1
}
ax = ax.nextSibling
}
return 1
}
}
ad.uniqueSort = function(av) {
var aw, au = 1;
if (v) {
q = n;
av.sort(v);
if (q) {
for (;
(aw = av[au]); au++) {
if (aw === av[au - 1]) {
av.splice(au--, 1)
}
}
}
}
return av
};
function C(av, az, ay, aw) {
var ax = 0,
au = az.length;
for (; ax < au; ax++) {
ad(av, az[ax], ay, aw)
}
}
function Y(au, aw, aA, aB, av, az) {
var ax, ay = W.setFilters[aw.toLowerCase()];
if (!ay) {
ad.error(aw)
}
if (au || !(ax = av)) {
C(au || "*", aB, (ax = []), av)
}
return ax.length > 0 ? ay(ax, aA, az) : []
}
function ag(aE, au, aC, aw, aI) {
var az, av, ay, aK, aB, aJ, aD, aH, aF = 0,
aG = aI.length,
ax = U.POS,
aA = new RegExp("^" + ax.source + "(?!" + P + ")", "i"),
aL = function() {
var aN = 1,
aM = arguments.length - 2;
for (; aN < aM; aN++) {
if (arguments[aN] === w) {
az[aN] = w
}
}
};
for (; aF < aG; aF++) {
ax.exec("");
aE = aI[aF];
aK = [];
ay = 0;
aB = aw;
while ((az = ax.exec(aE))) {
aH = ax.lastIndex = az.index + az[0].length;
if (aH > ay) {
aD = aE.slice(ay, az.index);
ay = aH;
aJ = [au];
if (V.test(aD)) {
if (aB) {
aJ = aB
}
aB = aw
}
if ((av = an.test(aD))) {
aD = aD.slice(0, -5).replace(V, "$&*")
}
if (az.length > 1) {
az[0].replace(aA, aL)
}
aB = Y(aD, az[1], az[2], aJ, aB, av)
}
}
if (aB) {
aK = aK.concat(aB);
if ((aD = aE.slice(ay)) && aD !== ")") {
C(aD, aK, aC, aw)
} else {
ai.apply(aC, aK)
}
} else {
ad(aE, au, aC, aw)
}
}
return aG === 1 ? aC : ad.uniqueSort(aC)
}
function g(aA, aw, aD) {
var aF, aE, aG, ay = [],
aB = 0,
aC = Z.exec(aA),
av = !aC.pop() && !aC.pop(),
aH = av && aA.match(J) || [""],
au = W.preFilter,
ax = W.filter,
az = !aD && aw !== m;
for (;
(aE = aH[aB]) != null && av; aB++) {
ay.push(aF = []);
if (az) {
aE = " " + aE
}
while (aE) {
av = false;
if ((aC = V.exec(aE))) {
aE = aE.slice(aC[0].length);
av = aF.push({
part: aC.pop().replace(ak, " "),
captures: aC
})
}
for (aG in ax) {
if ((aC = U[aG].exec(aE)) && (!au[aG] || (aC = au[aG](aC, aw, aD)))) {
aE = aE.slice(aC.shift().length);
av = aF.push({
part: aG,
captures: aC
})
}
}
if (!av) {
break
}
}
}
if (!av) {
ad.error(aA)
}
return ay
}
function N(ay, ax, aw) {
var au = ax.dir,
av = u++;
if (!ay) {
ay = function(az) {
return az === aw
}
}
return ax.first ? function(aA, az) {
while ((aA = aA[au])) {
if (aA.nodeType === 1) {
return ay(aA, az) && aA
}
}
} : function(aB, aA) {
var az, aC = av + "." + E,
aD = aC + "." + aj;
while ((aB = aB[au])) {
if (aB.nodeType === 1) {
if ((az = aB[am]) === aD) {
return false
} else {
if (typeof az === "string" && az.indexOf(aC) === 0) {
if (aB.sizset) {
return aB
}
} else {
aB[am] = aD;
if (ay(aB, aA)) {
aB.sizset = true;
return aB
}
aB.sizset = false
}
}
}
}
}
}
function L(au, av) {
return au ? function(ay, ax) {
var aw = av(ay, ax);
return aw && au(aw === true ? ay : aw, ax)
} : av
}
function O(az, ax, au) {
var aw, ay, av = 0;
for (;
(aw = az[av]); av++) {
if (W.relative[aw.part]) {
ay = N(ay, W.relative[aw.part], ax)
} else {
aw.captures.push(ax, au);
ay = L(ay, W.filter[aw.part].apply(null, aw.captures))
}
}
return ay
}
function k(au) {
return function(ax, aw) {
var ay, av = 0;
for (;
(ay = au[av]); av++) {
if (ay(ax, aw)) {
return true
}
}
return false
}
}
var r = ad.compile = function(au, ax, av) {
var aA, az, aw, ay = B[au];
if (ay && ay.context === ax) {
ay.dirruns++;
return ay
}
az = g(au, ax, av);
for (aw = 0;
(aA = az[aw]); aw++) {
az[aw] = O(aA, ax, av)
}
ay = B[au] = k(az);
ay.context = ax;
ay.runs = ay.dirruns = 0;
K.push(au);
if (K.length > W.cacheLength) {
delete B[K.shift()]
}
return ay
};
ad.matches = function(av, au) {
return ad(av, null, null, au)
};
ad.matchesSelector = function(au, av) {
return ad(av, null, null, [au]).length > 0
};
var al = function(ay, av, aA, aE, aD) {
ay = ay.replace(ak, "$1");
var au, aF, aB, aG, aw, ax, aI, aJ, az, aC = ay.match(J),
aH = ay.match(ap),
aK = av.nodeType;
if (U.POS.test(ay)) {
return ag(ay, av, aA, aE, aC)
}
if (aE) {
au = z.call(aE, 0)
} else {
if (aC && aC.length === 1) {
if (aH.length > 1 && aK === 9 && !aD && (aC = U.ID.exec(aH[0]))) {
av = W.find.ID(aC[1], av, aD)[0];
if (!av) {
return aA
}
ay = ay.slice(aH.shift().length)
}
aJ = ((aC = af.exec(aH[0])) && !aC.index && av.parentNode) || av;
az = aH.pop();
ax = az.split(":not")[0];
for (aB = 0, aG = W.order.length; aB < aG; aB++) {
aI = W.order[aB];
if ((aC = U[aI].exec(ax))) {
au = W.find[aI]((aC[1] || "").replace(I, ""), aJ, aD);
if (au == null) {
continue
}
if (ax === az) {
ay = ay.slice(0, ay.length - az.length) + ax.replace(U[aI], "");
if (!ay) {
ai.apply(aA, z.call(au, 0))
}
}
break
}
}
}
}
if (ay) {
aF = r(ay, av, aD);
E = aF.dirruns;
if (au == null) {
au = W.find.TAG("*", (af.test(ay) && av.parentNode) || av)
}
for (aB = 0;
(aw = au[aB]); aB++) {
aj = aF.runs++;
if (aF(aw, av)) {
aA.push(aw)
}
}
}
return aA
};
if (m.querySelectorAll) {
(function() {
var az, aA = al,
ay = /'|\\/g,
aw = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,
av = [],
au = [":active"],
ax = p.matchesSelector || p.mozMatchesSelector || p.webkitMatchesSelector || p.oMatchesSelector || p.msMatchesSelector;
X(function(aB) {
aB.innerHTML = "<select><option selected></option></select>";
if (!aB.querySelectorAll("[selected]").length) {
av.push("\\[" + P + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)")
}
if (!aB.querySelectorAll(":checked").length) {
av.push(":checked")
}
});
X(function(aB) {
aB.innerHTML = "<p test=''></p>";
if (aB.querySelectorAll("[test^='']").length) {
av.push("[*^$]=" + P + "*(?:\"\"|'')")
}
aB.innerHTML = "<input type='hidden'>";
if (!aB.querySelectorAll(":enabled").length) {
av.push(":enabled", ":disabled")
}
});
av = av.length && new RegExp(av.join("|"));
al = function(aG, aC, aH, aJ, aI) {
if (!aJ && !aI && (!av || !av.test(aG))) {
if (aC.nodeType === 9) {
try {
ai.apply(aH, z.call(aC.querySelectorAll(aG), 0));
return aH
} catch (aF) {}
} else {
if (aC.nodeType === 1 && aC.nodeName.toLowerCase() !== "object") {
var aE = aC.getAttribute("id"),
aB = aE || am,
aD = af.test(aG) && aC.parentNode || aC;
if (aE) {
aB = aB.replace(ay, "\\$&")
} else {
aC.setAttribute("id", aB)
}
try {
ai.apply(aH, z.call(aD.querySelectorAll(aG.replace(J, "[id='" + aB + "'] $&")), 0));
return aH
} catch (aF) {} finally {
if (!aE) {
aC.removeAttribute("id")
}
}
}
}
}
return aA(aG, aC, aH, aJ, aI)
};
if (ax) {
X(function(aC) {
az = ax.call(aC, "div");
try {
ax.call(aC, "[test!='']:sizzle");
au.push(W.match.PSEUDO)
} catch (aB) {}
});
au = new RegExp(au.join("|"));
ad.matchesSelector = function(aC, aE) {
aE = aE.replace(aw, "='$1']");
if (!A(aC) && !au.test(aE) && (!av || !av.test(aE))) {
try {
var aB = ax.call(aC, aE);
if (aB || az || aC.document && aC.document.nodeType !== 11) {
return aB
}
} catch (aD) {}
}
return ad(aE, null, null, [aC]).length > 0
}
}
})()
}
if (typeof c === "object" && c.exports) {
c.exports = ad
} else {
ae.Sizzle = ad
}
})(window)
}, {}],
192: [function(b, c, a) {
c.exports = {
DOMEmitter: b("./ac-dom-emitter/DOMEmitter")
}
}, {
"./ac-dom-emitter/DOMEmitter": 193
}],
193: [function(c, b, d) {
var f;
var k = c("ac-event-emitter").EventEmitter,
g = c("ac-dom-events"),
a = c("ac-dom-traversal");
var j = "dom-emitter";
function h(l) {
if (l === null) {
return
}
this.el = l;
this._bindings = {};
this._delegateFuncs = {};
this._eventEmitter = new k()
}
f = h.prototype;
f._parseEventNames = function(l) {
if (!l) {
return [l]
}
return l.split(" ")
};
f._onListenerEvent = function(m, l) {
this.trigger(m, l, false)
};
f._setListener = function(l) {
this._bindings[l] = this._onListenerEvent.bind(this, l);
g.addEventListener(this.el, l, this._bindings[l])
};
f._removeListener = function(l) {
g.removeEventListener(this.el, l, this._bindings[l]);
this._bindings[l] = null
};
f._triggerInternalEvent = function(l, m) {
this.trigger(j + ":" + l, m)
};
f._normalizeArgumentsAndCall = function(l, n) {
var r = {};
if (l.length === 0) {
n.call(this, r);
return
}
if (typeof l[0] === "string" || l[0] === null) {
l = this._cleanStringData(l);
r.events = l[0];
if (typeof l[1] === "string") {
r.delegateQuery = l[1];
r.callback = l[2];
r.context = l[3]
} else {
r.callback = l[1];
r.context = l[2]
}
n.call(this, r);
return
}
var m, p, q = ":",
o = l[0];
for (m in o) {
if (o.hasOwnProperty(m)) {
r = {};
p = this._cleanStringData(m.split(q));
r.events = p[0];
r.delegateQuery = p[1];
r.callback = o[m];
r.context = l[1];
n.call(this, r)
}
}
};
f._registerDelegateFunc = function(n, p, q, l, o) {
var m = this._delegateFunc.bind(this, n, p, q, o);
this._delegateFuncs[p] = this._delegateFuncs[p] || {};
this._delegateFuncs[p][n] = this._delegateFuncs[p][n] || [];
this._delegateFuncs[p][n].push({
func: l,
context: o,
delegateFunc: m
});
return m
};
f._cleanStringData = function(o) {
var n = false;
if (typeof o === "string") {
o = [o];
n = true
}
var m = [],
q, s, r, p, l = o.length;
for (q = 0; q < l; q++) {
s = o[q];
if (typeof s === "string") {
if (s === "" || s === " ") {
continue
}
r = s.length;
while (s[0] === " ") {
s = s.slice(1, r);
r--
}
while (s[r - 1] === " ") {
s = s.slice(0, r - 1);
r--
}
}
m.push(s)
}
if (n) {
return m[0]
}
return m
};
f._unregisterDelegateFunc = function(n, q, l, p) {
if (!this._delegateFuncs[q] || !this._delegateFuncs[q][n]) {
return
}
var o = this._getDelegateFuncBindingIdx(n, q, l, p),
m;
if (o > -1) {
m = this._delegateFuncs[q][n][o].delegateFunc;
this._delegateFuncs[q][n].splice(o, 1);
if (this._delegateFuncs[q][n].length === 0) {
this._delegateFuncs[q][n] = null
}
}
return m
};
f._unregisterDelegateFuncs = function(l, n) {
if (!this._delegateFuncs[n]) {
return
}
if (l !== null && !this._delegateFuncs[n][l]) {
return
}
if (l === null) {
var m;
for (m in this._delegateFuncs[n]) {
if (this._delegateFuncs[n].hasOwnProperty(m)) {
this._unbindDelegateFunc(m, n)
}
}
return
}
this._unbindDelegateFunc(l, n)
};
f._unbindDelegateFunc = function(l, n) {
var o, p, m = 0;
while (this._delegateFuncs[n][l] && this._delegateFuncs[n][l][m]) {
o = this._delegateFuncs[n][l][m];
p = this._delegateFuncs[n][l][m].length;
this._off({
events: l,
delegateQuery: n,
callback: o.func,
context: o.context
});
if (this._delegateFuncs[n][l] && p === this._delegateFuncs[n][l].length) {
m++
}
}
o = p = null
};
f._unregisterDelegateFuncsByEvent = function(l) {
var m;
for (m in this._delegateFuncs) {
if (this._delegateFuncs.hasOwnProperty(m)) {
this._unregisterDelegateFuncs(l, m)
}
}
};
f._delegateFunc = function(l, p, r, n, q) {
if (a.matchesSelector(g.target(q), p)) {
var m = Array.prototype.slice.call(arguments, 0),
o = m.slice(4, m.length);
n = n || window;
if (typeof q.detail === "object") {
o[0] = q.detail
}
r.call(n, o)
}
};
f.on = function() {
this._normalizeArgumentsAndCall(Array.prototype.slice.call(arguments, 0), this._on);
return this
};
f.once = function() {
this._normalizeArgumentsAndCall(Array.prototype.slice.call(arguments, 0), this._once);
return this
};
f.off = function() {
this._normalizeArgumentsAndCall(Array.prototype.slice.call(arguments, 0), this._off);
return this
};
f._on = function(p) {
var m = p.events,
q = p.callback,
o = p.delegateQuery,
n = p.context,
l = p.unboundCallback || q;
m = this._parseEventNames(m);
m.forEach(function(v, r, t, u, s) {
if (!this.has(s)) {
this._setListener(s)
}
if (typeof u === "string") {
v = this._registerDelegateFunc(s, u, v, r, t)
}
this._triggerInternalEvent("willon", {
evt: s,
callback: v,
context: t,
delegateQuery: u
});
this._eventEmitter.on(s, v, t);
this._triggerInternalEvent("didon", {
evt: s,
callback: v,
context: t,
delegateQuery: u
})
}.bind(this, q, l, n, o));
m = q = l = o = n = null
};
f._off = function(q) {
var m = q.events,
r = q.callback,
p = q.delegateQuery,
o = q.context,
l = q.unboundCallback || r;
if (typeof m === "undefined") {
this._eventEmitter.off();
var n;
for (n in this._bindings) {
if (this._bindings.hasOwnProperty(n)) {
this._removeListener(n)
}
}
for (n in this._delegateFuncs) {
if (this._delegateFuncs.hasOwnProperty(n)) {
this._delegateFuncs[n] = null
}
}
return
}
m = this._parseEventNames(m);
m.forEach(function(w, s, u, v, t) {
if (typeof v === "string" && typeof s === "function") {
w = this._unregisterDelegateFunc(t, v, s, u);
if (!w) {
return
}
}
if (typeof v === "string" && typeof w === "undefined") {
this._unregisterDelegateFuncs(t, v);
return
}
if (typeof t === "string" && typeof w === "undefined") {
this._unregisterDelegateFuncsByEvent(t);
if (typeof v === "string") {
return
}
}
this._triggerInternalEvent("willoff", {
evt: t,
callback: w,
context: u,
delegateQuery: v
});
this._eventEmitter.off(t, w, u);
this._triggerInternalEvent("didoff", {
evt: t,
callback: w,
context: u,
delegateQuery: v
});
if (!this.has(t)) {
this._removeListener(t)
}
}.bind(this, r, l, o, p));
m = r = l = p = o = null
};
f._once = function(o) {
var l = o.events,
p = o.callback,
n = o.delegateQuery,
m = o.context;
l = this._parseEventNames(l);
l.forEach(function(t, r, s, q) {
if (typeof s === "string") {
return this._handleDelegateOnce(q, t, r, s)
}
if (!this.has(q)) {
this._setListener(q)
}
this._triggerInternalEvent("willonce", {
evt: q,
callback: t,
context: r,
delegateQuery: s
});
this._eventEmitter.once.call(this, q, t, r);
this._triggerInternalEvent("didonce", {
evt: q,
callback: t,
context: r,
delegateQuery: s
})
}.bind(this, p, m, n));
l = p = n = m = null
};
f._handleDelegateOnce = function(l, o, m, n) {
this._triggerInternalEvent("willonce", {
evt: l,
callback: o,
context: m,
delegateQuery: n
});
this._on({
events: l,
context: m,
delegateQuery: n,
callback: this._getDelegateOnceCallback.bind(this, l, o, m, n),
unboundCallback: o
});
this._triggerInternalEvent("didonce", {
evt: l,
callback: o,
context: m,
delegateQuery: n
});
return this
};
f._getDelegateOnceCallback = function(l, q, n, p) {
var m = Array.prototype.slice.call(arguments, 0),
o = m.slice(4, m.length);
q.apply(n, o);
this._off({
events: l,
delegateQuery: p,
callback: q,
context: n
})
};
f._getDelegateFuncBindingIdx = function(s, p, n, l, t) {
var r = -1;
if (this._delegateFuncs[p] && this._delegateFuncs[p][s]) {
var o, m, q = this._delegateFuncs[p][s].length;
for (o = 0; o < q; o++) {
m = this._delegateFuncs[p][s][o];
if (t && typeof n === "undefined") {
n = m.func
}
if (m.func === n && m.context === l) {
r = o;
break
}
}
}
return r
};
f._triggerDelegateEvents = function(o, q, r) {
var n = a.querySelectorAll(q, this.el);
var p, s, l = n.length;
for (p = 0; p < l; p++) {
s = n[p];
if (document.createEvent) {
s.dispatchEvent(new CustomEvent(o, {
bubbles: true,
cancelable: false,
detail: r
}))
} else {
var m = document.createEventObject();
m.detail = r;
s.fireEvent("on" + o, m)
}
return s
}
};
f.has = function(l, q, p, n) {
var o, r;
if (typeof q === "string") {
o = q;
r = p
} else {
r = q;
n = p
}
if (o) {
var m = this._getDelegateFuncBindingIdx(l, o, r, n, true);
if (m > -1) {
return true
}
return false
}
if (this._eventEmitter && this._eventEmitter.has.apply(this._eventEmitter, arguments)) {
return true
}
return false
};
f.trigger = function(m, l, n, q) {
m = this._parseEventNames(m);
var o, p;
if (typeof l === "string") {
o = this._cleanStringData(l);
p = n
} else {
p = l;
q = n
}
m = this._cleanStringData(m);
m.forEach(function(s, t, u, r) {
if (s) {
this._triggerDelegateEvents(r, s, t);
return
}
this._eventEmitter.trigger(r, t, u)
}.bind(this, o, p, q));
return this
};
f.propagateTo = function(l, m) {
this._eventEmitter.propagateTo(l, m);
return this
};
f.stopPropagatingTo = function(l) {
this._eventEmitter.stopPropagatingTo(l);
return this
};
f.destroy = function() {
this._triggerInternalEvent("willdestroy");
this.off();
this.el = this._eventEmitter = this._bindings = this._delegateFuncs = null
};
b.exports = h
}, {
"ac-dom-events": 172,
"ac-dom-traversal": 173,
"ac-event-emitter": 159
}],
194: [function(b, c, a) {
c.exports = {
SharedInstance: b("./ac-shared-instance/SharedInstance")
}
}, {
"./ac-shared-instance/SharedInstance": 195
}],
195: [function(d, h, c) {
var j = window,
g = "AC",
a = "SharedInstance",
f = j[g];
var b = (function() {
var k = {};
return {
get: function(m, l) {
var n = null;
if (k[m] && k[m][l]) {
n = k[m][l]
}
return n
},
set: function(n, l, m) {
if (!k[n]) {
k[n] = {}
}
if (typeof m === "function") {
k[n][l] = new m()
} else {
k[n][l] = m
}
return k[n][l]
},
share: function(n, l, m) {
var o = this.get(n, l);
if (!o) {
o = this.set(n, l, m)
}
return o
},
remove: function(m, l) {
var n = typeof l;
if (n === "string" || n === "number") {
if (!k[m] || !k[m][l]) {
return
}
k[m][l] = null;
return
}
if (k[m]) {
k[m] = null
}
}
}
}());
if (!f) {
f = j[g] = {}
}
if (!f[a]) {
f[a] = b
}
h.exports = f[a]
}, {}],
196: [function(b, c, a) {
c.exports = {
WindowDelegate: b("./ac-window-delegate/WindowDelegate"),
WindowDelegateOptimizer: b("./ac-window-delegate/WindowDelegateOptimizer"),
WindowDelegateCustomEvent: b("./ac-window-delegate/WindowDelegateCustomEvent")
}
}, {
"./ac-window-delegate/WindowDelegate": 199,
"./ac-window-delegate/WindowDelegateCustomEvent": 200,
"./ac-window-delegate/WindowDelegateOptimizer": 201
}],
197: [function(b, c, a) {
var f = b("ac-event-emitter").EventEmitter;
var g = function() {
this._emitter = new f();
this._customEvents = {}
};
var d = g.prototype;
d.on = function(h, k, j) {
this._activateCustomEvents(h);
this._emitterOn.apply(this, arguments);
return this
};
d.once = function(h, k, j) {
this._emitterOnce.apply(this, arguments);
return this
};
d.off = function(h, k, j) {
this._emitterOff.apply(this, arguments);
this._deactivateCustomEvents(h);
return this
};
d.has = function(h, k, j) {
return this._emitter.has.apply(this._emitter, arguments)
};
d.trigger = function() {
this._emitter.trigger.apply(this._emitter, arguments);
return this
};
d.propagateTo = function() {
this._emitter.propagateTo.apply(this._emitter, arguments);
return this
};
d.stopPropagatingTo = function() {
this._emitter.stopPropagatingTo.apply(this._emitter, arguments);
return this
};
d.add = function(h) {
this._customEvents[h.name] = h
};
d.canHandleCustomEvent = function(h) {
return this._customEvents.hasOwnProperty(h)
};
d.isHandlingCustomEvent = function(h) {
if (this._customEvents[h] && this._customEvents[h].active) {
return true
}
return false
};
d._activateCustomEvents = function(l) {
var j = l.split(" "),
k, m, h = j.length;
for (m = 0; m < h; m++) {
k = j[m];
if (this._customEvents[k] && !this._customEvents[k].active) {
this._customEvents[k].initialize();
this._customEvents[k].active = true
}
}
};
d._deactivateCustomEvents = function(k) {
var l;
if (!k || k.length === 0) {
for (l in this._customEvents) {
if (this._customEvents.hasOwnProperty(l)) {
this._deactivateCustomEvent(l)
}
}
return
}
var j = k.split(" "),
h = j.length;
for (l = 0; l < h; l++) {
this._deactivateCustomEvent(j[l])
}
};
d._deactivateCustomEvent = function(h) {
if (!this.has(h) && this._customEvents[h] && this._customEvents[h].active) {
this._customEvents[h].deinitialize();
this._customEvents[h].active = false
}
};
d._emitterOn = function() {
this._emitter.on.apply(this._emitter, arguments)
};
d._emitterOnce = function() {
this._emitter.once.apply(this._emitter, arguments)
};
d._emitterOff = function() {
this._emitter.off.apply(this._emitter, arguments)
};
c.exports = g
}, {
"ac-event-emitter": 159
}],
198: [function(b, c, a) {
var g = b("ac-event-emitter").EventEmitter;
var f;
var d = function(h) {
g.call(this);
this.optimizers = h;
this._events = {};
this._properties = {};
this._initialize()
};
f = d.prototype = new g(null);
f.canOptimizeEvent = function(h) {
return this._events.hasOwnProperty(h)
};
f.canOptimizeProperty = function(h) {
return this._properties.hasOwnProperty(h)
};
f.isOptimizingEvent = function(h) {
if (this._events[h] && this._events[h].active) {
return true
}
return false
};
f.isOptimizingProperty = function(h) {
if (this._properties[h] && this._properties[h].active) {
return true
}
return false
};
f.add = function(h) {
this._setOptimizerEvents(h);
this._setOptimizerProperties(h);
h.on("update", this._onUpdate, this);
h.on("activate", this._onActivate, this);
h.on("deactivate", this._onDeactivate, this)
};
f.get = function(h) {
if (this.isOptimizingProperty(h)) {
return this._properties[h].value
}
return null
};
f.set = function(j, h) {
if (!this._properties[j]) {
return false
}
this._properties[j].value = h;
return this
};
f.getOptimizerByEvent = function(h) {
if (this._events[h]) {
return this._events[h]
}
return null
};
f._initialize = function() {
var j, h;
for (j in this.optimizers) {
if (this.optimizers.hasOwnProperty(j)) {
this.add(this.optimizers[j])
}
}
};
f._onUpdate = function(h) {
this.set(h.prop, h.val)
};
f._onActivate = function(j) {
var k = j.propertyNames,
l, h = k.length;
for (l = 0; l < h; l++) {
this._properties[k[l]].active = true
}
};
f._onDeactivate = function(j) {
var k = j.propertyNames,
l, h = k.length;
for (l = 0; l < h; l++) {
this._properties[k[l]].active = false
}
};
f._setOptimizerEvents = function(j) {
var l, k = j.eventNames,
h = k.length;
for (l = 0; l < h; l++) {
this._setOptimizerEvent(k[l], j)
}
};
f._setOptimizerEvent = function(j, h) {
if (this._events[j]) {
return
}
this._events[j] = h
};
f._setOptimizerProperties = function(k) {
var l, j = k.propertyNames,
h = j.length;
for (l = 0; l < h; l++) {
this._setOptimizerProperty(j[l])
}
};
f._setOptimizerProperty = function(h) {
if (this._properties.hasOwnProperty(h)) {
return
}
this._properties[h] = {};
this._properties[h].active = false;
this._properties[h].value = null
};
c.exports = d
}, {
"ac-event-emitter": 159
}],
199: [function(d, b, g) {
var j;
var c = d("ac-shared-instance").SharedInstance,
m = d("ac-dom-emitter").DOMEmitter,
k = d("./OptimizerController"),
f = d("./CustomEventController"),
h = d("./queries/queries"),
n = d("./optimizers/optimizers");
var l = "ac-window-delegate:WindowDelegate",
a = "2.0.1";
function o() {
this._emitter = new m(window);
this._controllers = {
optimizer: new k(n),
customEvent: new f()
};
var p;
for (p in h) {
if (h.hasOwnProperty(p)) {
this[p] = this._getProperty.bind(this, p);
h[p] = h[p].bind(this)
}
}
this._bindEvents()
}
j = o.prototype;
j.on = function(p, s, q) {
var r = this._seperateCustomEvents(p);
this._optimizeEvents(r.standardEvents);
this._customEventOn(r.customEvents, s, q);
this._emitterOn.apply(this, arguments);
return this
};
j.once = function(p, s, q) {
var r = this._seperateCustomEvents(p);
this._optimizeEvents(r.standardEvents);
this._customEventOnce(r.customEvents, s, q);
this._emitterOnce.apply(this, arguments);
return this
};
j.off = function(q, v, r) {
var u = this._seperateCustomEvents(q),
s = false;
if (!q) {
s = true
}
this._customEventOff(u.customEvents, v, r, s);
this._emitterOff.apply(this, arguments);
if (s) {
try {
var p;
for (p in this._controllers.optimizer._events) {
if (this._controllers.optimizer._events.hasOwnProperty(p) && this._shouldDeoptimizeEvent(p, true)) {
this._deoptimizeEvent(p)
}
}
this._bindEvents()
} catch (t) {}
}
return this
};
j.has = function(p, r, q) {
return this._emitter.has.apply(this._emitter, arguments)
};
j.trigger = function() {
this._emitter.trigger.apply(this._emitter, arguments);
return this
};
j.propagateTo = function() {
this._emitter.propagateTo.apply(this._emitter, arguments);
return this
};
j.stopPropagatingTo = function() {
this._emitter.stopPropagatingTo.apply(this._emitter, arguments);
return this
};
j.addOptimizer = function(p) {
this._controllers.optimizer.add(p);
return this
};
j.addCustomEvent = function(p) {
this._controllers.customEvent.add(p);
return this
};
j._emitterOn = function() {
this._emitter.on.apply(this._emitter, arguments)
};
j._emitterOnce = function() {
this._emitter.once.apply(this._emitter, arguments)
};
j._emitterOff = function() {
this._emitter.off.apply(this._emitter, arguments)
};
j._onEventUnbound = function(q) {
var p = q.evt;
if (this._shouldDeoptimizeEvent(p)) {
this._deoptimizeEvent(p)
}
};
j._customEventOn = function(p, r, q) {
if (p.length === 0) {
return
}
this._controllers.customEvent.on(p.join(" "), r, q)
};
j._customEventOnce = function(p, r, q) {
if (p.length === 0) {
return
}
this._controllers.customEvent.once(p.join(" "), r, q)
};
j._customEventOff = function(p, s, q, r) {
if (!r && p.length === 0) {
return
}
if (r && p.length === 0) {
this._controllers.customEvent.off();
return
}
this._controllers.customEvent.off(p.join(" "), s, q)
};
j._getProperty = function(r, p) {
var q = null;
if (!p) {
q = this._getOptimizedValue(r)
}
if (q === null) {
q = h[r].call(this, p)
}
return q
};
j._optimizeEvents = function(r) {
var q, s, p = r.length;
for (s = 0; s < p; s++) {
q = r[s];
if (this._shouldOptimizeEvent(q)) {
this._optimizeEvent(q)
}
}
};
j._shouldOptimizeEvent = function(p) {
if (this._controllers.optimizer.canOptimizeEvent(p) && !this._controllers.optimizer.isOptimizingEvent(p)) {
return true
}
return false
};
j._shouldDeoptimizeEvent = function(p, q) {
if (this._controllers.optimizer.isOptimizingEvent(p) && (q || this._emitter._eventEmitter._events[p].length <= 1)) {
return true
}
return false
};
j._optimizeEvent = function(q) {
var p = this._controllers.optimizer.getOptimizerByEvent(q);
p.activate();
this._emitterOn(q, p.callback, p)
};
j._deoptimizeEvent = function(q) {
var p = this._controllers.optimizer.getOptimizerByEvent(q);
p.deactivate();
this._emitterOff(q, p.callback, p)
};
j._getOptimizedValue = function(p) {
return this._controllers.optimizer.get(p)
};
j._seperateCustomEvents = function(t) {
var q = {
customEvents: [],
standardEvents: []
};
if (typeof t === "string") {
var u = t.split(" "),
r, s, p = u.length;
for (s = 0; s < p; s++) {
r = u[s];
if (this._controllers.customEvent.canHandleCustomEvent(r)) {
q.customEvents.push(r)
} else {
q.standardEvents.push(r)
}
}
}
return q
};
j._bindEvents = function() {
this._emitter.on("dom-emitter:didoff", this._onEventUnbound, this)
};
b.exports = c.share(l, a, o)
}, {
"./CustomEventController": 197,
"./OptimizerController": 198,
"./optimizers/optimizers": 204,
"./queries/queries": 213,
"ac-dom-emitter": 192,
"ac-shared-instance": 194
}],
200: [function(c, d, a) {
var g = c("ac-event-emitter").EventEmitter;
function b(h, k, j) {
g.call(this);
this.name = h;
this.active = false;
this._initializeFunc = k;
this._deinitializeFunc = j
}
var f = b.prototype = new g(null);
f.initialize = function() {
if (this._initializeFunc) {
this._initializeFunc()
}
return this
};
f.deinitialize = function() {
if (this._deinitializeFunc) {
this._deinitializeFunc()
}
return this
};
d.exports = b
}, {
"ac-event-emitter": 159
}],
201: [function(c, d, b) {
var g = c("ac-event-emitter").EventEmitter;
function a(h, j) {
g.call(this);
this.active = false;
this.eventNames = h.eventNames;
this.propertyNames = h.propertyNames;
this.options = h.options || {};
this.callback = j
}
var f = a.prototype = new g(null);
f.update = function(j, h) {
this.trigger("update", {
prop: j,
val: h
})
};
f.activate = function() {
this.active = true;
this.trigger("activate", this)
};
f.deactivate = function() {
this.active = false;
this.trigger("deactivate", this)
};
d.exports = a
}, {
"ac-event-emitter": 159
}],
202: [function(f, g, b) {
var a = f("../../WindowDelegateOptimizer"),
d = f("../../queries/queries");
var c = {
eventNames: ["resize"],
propertyNames: ["clientWidth", "clientHeight", "innerWidth", "innerHeight"]
};
var h = new a(c, function(m) {
var l, k = c.propertyNames,
j = k.length;
for (l = 0; l < j; l++) {
this.update(k[l], d[k[l]](true))
}
});
g.exports = h
}, {
"../../WindowDelegateOptimizer": 201,
"../../queries/queries": 213
}],
203: [function(g, h, b) {
var a = g("../../WindowDelegateOptimizer"),
f = g("../../queries/queries");
var d = {
eventNames: ["scroll"],
propertyNames: ["scrollX", "scrollY", "maxScrollX", "maxScrollY"]
};
var c = new a(d, function(m) {
var l, k = d.propertyNames,
j = k.length;
for (l = 0; l < j; l++) {
this.update(k[l], f[k[l]](true))
}
});
h.exports = c
}, {
"../../WindowDelegateOptimizer": 201,
"../../queries/queries": 213
}],
204: [function(d, f, b) {
var c = d("./events/resize"),
a = d("./events/scroll");
f.exports = [c, a]
}, {
"./events/resize": 202,
"./events/scroll": 203
}],
205: [function(b, c, a) {
var d = function(f) {
return document.documentElement.clientHeight
};
c.exports = d
}, {}],
206: [function(b, c, a) {
var d = function(f) {
return document.documentElement.clientWidth
};
c.exports = d
}, {}],
207: [function(b, d, a) {
var c = function(f) {
return window.innerHeight || this.clientHeight(f)
};
d.exports = c
}, {}],
208: [function(b, c, a) {
var d = function(f) {
return window.innerWidth || this.clientWidth(f)
};
c.exports = d
}, {}],
209: [function(c, d, a) {
var b = function(f) {
return document.body.scrollWidth - this.innerWidth()
};
d.exports = b
}, {}],
210: [function(c, d, b) {
var a = function(f) {
return document.body.scrollHeight - this.innerHeight()
};
d.exports = a
}, {}],
211: [function(b, c, a) {
var d = function(f) {
var h = window.pageXOffset;
if (!h) {
var g = document.documentElement || document.body.parentNode || document.body;
h = g.scrollLeft
}
return h
};
c.exports = d
}, {}],
212: [function(b, c, a) {
var d = function(f) {
var h = window.pageYOffset;
if (!h) {
var g = document.documentElement || document.body.parentNode || document.body;
h = g.scrollTop
}
return h
};
c.exports = d
}, {}],
213: [function(j, g, l) {
var b = j("./methods/innerWidth"),
k = j("./methods/innerHeight"),
d = j("./methods/clientWidth"),
m = j("./methods/clientHeight"),
c = j("./methods/scrollX"),
a = j("./methods/scrollY"),
h = j("./methods/maxScrollX"),
f = j("./methods/maxScrollY");
g.exports = {
innerWidth: b,
innerHeight: k,
clientWidth: d,
clientHeight: m,
scrollX: c,
scrollY: a,
maxScrollX: h,
maxScrollY: f
}
}, {
"./methods/clientHeight": 205,
"./methods/clientWidth": 206,
"./methods/innerHeight": 207,
"./methods/innerWidth": 208,
"./methods/maxScrollX": 209,
"./methods/maxScrollY": 210,
"./methods/scrollX": 211,
"./methods/scrollY": 212
}],
214: [function(b, c, a) {
var d = b("./ac-element-tracker/ElementTracker");
c.exports = new d();
c.exports.ElementTracker = d
}, {
"./ac-element-tracker/ElementTracker": 215
}],
215: [function(d, c, h) {
var j;
var g = d("ac-object");
var l = d("ac-dom-nodes");
var a = d("ac-dom-metrics");
var m = d("ac-array");
var o = d("ac-window-delegate").WindowDelegate;
var k = d("./TrackedElement");
var p = d("ac-event-emitter").EventEmitter;
var f = {
autoStart: false
};
function b(r, q) {
this.options = g.clone(f);
this.options = typeof q === "object" ? g.extend(this.options, q) : this.options;
this.windowDelegate = o;
this.tracking = false;
this.elements = [];
if (r && (Array.isArray(r) || l.isNodeList(r) || l.isElement(r))) {
this.addElements(r)
}
if (this.options.autoStart) {
this.start()
}
}
j = b.prototype = g.create(p.prototype);
var n = /^\[object (HTMLCollection|NodeList|Object)\]$/;
j._registerElements = function(q) {
q = [].concat(q);
q.forEach(function(s) {
if (this._elementInDOM(s)) {
var r = new k(s);
r.offsetTop = r.element.offsetTop;
this.elements.push(r)
}
}, this)
};
j._registerTrackedElements = function(q) {
var r = [].concat(q);
r.forEach(function(s) {
if (this._elementInDOM(s.element)) {
s.offsetTop = s.element.offsetTop;
this.elements.push(s)
}
}, this)
};
j._elementInDOM = function(s) {
var r = false;
var q = document.getElementsByTagName("body")[0];
if (l.isElement(s) && q.contains(s)) {
r = true
}
return r
};
j._onVPChange = function() {
this.elements.forEach(function(q) {
this.refreshElementState(q)
}, this)
};
j._elementPercentInView = function(q) {
return q.pixelsInView / q.height
};
j._elementPixelsInView = function(r) {
var u = 0;
var t = r.top;
var s = r.bottom;
var q = this.windowDelegate.innerHeight();
if (t <= 0 && s >= q) {
u = q
} else {
if (t >= 0 && t < q && s > q) {
u = q - t
} else {
if (t < 0 && (s < q && s >= 0)) {
u = r.bottom
} else {
if (t >= 0 && s <= q) {
u = r.height
}
}
}
}
return u
};
j._ifInView = function(q, r) {
if (!r) {
q.trigger("enterview", q)
}
};
j._ifAlreadyInView = function(q) {
if (!q.inView) {
q.trigger("exitview", q)
}
};
j.addElements = function(q) {
q = l.isNodeList(q) ? m.toArray(q) : [].concat(q);
q.forEach(function(r) {
this.addElement(r)
}, this)
};
j.addElement = function(r) {
var q;
if (l.isElement(r)) {
q = new k(r);
this._registerTrackedElements(q)
}
return q
};
j.removeElement = function(s) {
var r = [];
var q;
this.elements.forEach(function(t, u) {
if (t === s || t.element === s) {
r.push(u)
}
});
q = this.elements.filter(function(u, t) {
return r.indexOf(t) < 0 ? true : false
});
this.elements = q
};
j.stop = function() {
if (this.tracking === true) {
this.tracking = false;
this.windowDelegate.off("scroll resize orientationchange", this._onVPChange)
}
};
j.start = function() {
if (this.tracking === false) {
this.tracking = true;
this.windowDelegate.on("scroll resize orientationchange", this._onVPChange, this);
this.refreshAllElementStates()
}
};
j.refreshAllElementStates = function() {
this.elements.forEach(function(q) {
this.refreshElementState(q)
}, this)
};
j.refreshElementState = function(q) {
var r = a.getBoundingBox(q.element);
var s = q.inView;
q = g.extend(q, r);
q.pixelsInView = this._elementPixelsInView(q);
q.percentInView = this._elementPercentInView(q);
q.inView = q.pixelsInView > 0;
if (q.inView) {
this._ifInView(q, s)
}
if (s) {
this._ifAlreadyInView(q)
}
return q
};
c.exports = b
}, {
"./TrackedElement": 216,
"ac-array": 147,
"ac-dom-metrics": 157,
"ac-dom-nodes": 74,
"ac-event-emitter": 159,
"ac-object": 162,
"ac-window-delegate": 196
}],
216: [function(d, f, c) {
var g;
var j = d("ac-dom-emitter").DOMEmitter;
var a = d("ac-dom-nodes");
var b = d("ac-object");
function h(k) {
if (a.isElement(k)) {
this.element = k
} else {
throw new TypeError("TrackedElement: " + k + " is not a valid DOM element")
}
this.inView = false;
this.percentInView = 0;
this.pixelsInView = 0;
this.offsetTop = 0;
this.top = 0;
this.right = 0;
this.bottom = 0;
this.left = 0;
this.width = 0;
this.height = 0;
j.call(this, k)
}
g = h.prototype = b.create(j.prototype);
f.exports = h
}, {
"ac-dom-emitter": 35,
"ac-dom-nodes": 74,
"ac-object": 162
}],
217: [function(b, c, a) {
c.exports = {
EventEmitterMicro: b("./ac-event-emitter-micro/EventEmitterMicro")
}
}, {
"./ac-event-emitter-micro/EventEmitterMicro": 218
}],
218: [function(b, c, a) {
function f() {
this._events = {}
}
var d = f.prototype;
d.on = function(g, h) {
this._events[g] = this._events[g] || [];
this._events[g].unshift(h)
};
d.once = function(g, k) {
var j = this;
function h(l) {
j.off(g, h);
if (l !== undefined) {
k(l)
} else {
k()
}
}
this.on(g, h)
};
d.off = function(g, j) {
if (g in this._events === false) {
return
}
var h = this._events[g].indexOf(j);
if (h === -1) {
return
}
this._events[g].splice(h, 1)
};
d.trigger = function(g, j) {
if (g in this._events === false) {
return
}
for (var h = this._events[g].length - 1; h >= 0; h--) {
if (j !== undefined) {
this._events[g][h](j)
} else {
this._events[g][h]()
}
}
};
d.destroy = function() {
for (var g in this._events) {
this._events[g] = null
}
this._events = null
};
c.exports = f
}, {}],
219: [function(b, c, a) {
c.exports = {
EventEmitter: b("./ac-event-emitter/EventEmitter")
}
}, {
"./ac-event-emitter/EventEmitter": 220
}],
220: [function(d, c, f) {
var h = "EventEmitter:propagation";
var m = function(n) {
if (n) {
this.context = n
}
};
var g = m.prototype;
var j = function() {
if (!this.hasOwnProperty("_events") && typeof this._events !== "object") {
this._events = {}
}
return this._events
};
var k = function(n) {
if (typeof Array.isArray === "function") {
return Array.isArray(n)
}
return Object.prototype.toString.call(n) === "[object Array]"
};
var a = function(o, s) {
var r = o[0];
var u = o[1];
var q = o[2];
var n;
var t;
var p;
if ((typeof r !== "string" && typeof r !== "object") || r === null || k(r)) {
throw new TypeError("Expecting event name to be a string or object.")
}
if ((typeof r === "string") && !u) {
throw new Error("Expecting a callback function to be provided.")
}
if (u && (typeof u !== "function")) {
if (typeof r === "object" && typeof u === "object") {
q = u
} else {
throw new TypeError("Expecting callback to be a function.")
}
}
s.call(this, r, u, q)
};
var l = function(r, s, p) {
var n;
var o;
var q;
n = j.call(this)[r];
if (!n || n.length === 0) {
return
}
n = n.slice();
this._stoppedImmediatePropagation = false;
for (o = 0, q = n.length; o < q; o += 1) {
if (this._stoppedImmediatePropagation || s.call(p, n[o], o)) {
break
}
}
};
var b = function(o, p, q) {
var n = -1;
l.call(this, p, function(s, r) {
if (s.callback === q) {
n = r;
return true
}
});
if (n === -1) {
return
}
o[p].splice(n, 1)
};
g.on = function() {
var n = j.call(this);
a.call(this, arguments, function(p, q, o) {
n[p] = n[p] || (n[p] = []);
n[p].push({
callback: q,
context: o
})
});
return this
};
g.once = function() {
a.call(this, arguments, function(o, q, n) {
var p = function(r) {
q.call(n || this, r);
this.off(o, p)
};
this.on(o, p, this)
});
return this
};
g.off = function(s, t) {
var q = j.call(this);
var n;
var p;
var r;
var o;
if (arguments.length === 0) {
this._events = {}
} else {
if (!s || (typeof s !== "string" && typeof s !== "object") || Array.isArray(s)) {
throw new TypeError("Expecting event name to be a string or object.")
}
}
if (typeof s === "object") {
for (n in s) {
if (s.hasOwnProperty(n)) {
b.call(this, q, n, s[n])
}
}
}
if (typeof s === "string") {
p = s.split(" ");
if (p.length === 1) {
if (t) {
b.call(this, q, s, t)
} else {
q[s] = []
}
} else {
for (o = 0, r = p.length; o < r; o += 1) {
q[p[o]] = []
}
}
}
return this
};
g.trigger = function(s, t, o) {
var p;
var r;
var n;
var q;
if (!s) {
throw new Error("trigger method requires an event name")
}
if (typeof s !== "string") {
throw new TypeError("Expecting event names to be a string.")
}
if (o && typeof o !== "boolean") {
throw new TypeError("Expecting doNotPropagate to be a boolean.")
}
s = s.split(" ");
for (q = 0, r = s.length; q < r; q += 1) {
n = s[q];
l.call(this, n, function(u) {
u.callback.call(u.context || this.context || this, t)
}, this);
if (!o) {
p = n;
l.call(this, h, function(u) {
if (u.prefix) {
p = u.prefix + p
}
u.emitter.trigger(p, t)
})
}
}
return this
};
g.propagateTo = function(o, p) {
var n = j.call(this);
if (!n[h]) {
this._events[h] = []
}
n[h].push({
emitter: o,
prefix: p
})
};
g.stopPropagatingTo = function(q) {
var o = j.call(this);
if (!q) {
o[h] = [];
return
}
var r = o[h];
var p = r.length;
var n;
for (n = 0; n < p; n += 1) {
if (r[n].emitter === q) {
r.splice(n, 1);
break
}
}
};
g.stopImmediatePropagation = function() {
this._stoppedImmediatePropagation = true
};
g.has = function(u, v, n) {
var w = j.call(this);
var r = w[u];
var s;
var q;
var o;
var p;
var t;
if (arguments.length === 0) {
p = [];
for (t in w) {
if (w.hasOwnProperty(t)) {
p.push(t)
}
}
return p
}
if (!r) {
return false
}
if (!v) {
return (r.length > 0) ? true : false
}
for (q = 0, o = r.length; q < o; q += 1) {
s = r[q];
if ((n && v && s.context === n && s.callback === v) || (v && !n && s.callback === v)) {
return true
}
}
return false
};
c.exports = m
}, {}],
221: [function(b, c, a) {
var g = b("./helpers/globals");
var f = b("ac-function/once");
var d = function() {
var h = g.getDocument();
var j = h.createElement("canvas");
return !!(typeof j.getContext === "function" && j.getContext("2d"))
};
c.exports = f(d);
c.exports.original = d
}, {
"./helpers/globals": 229,
"ac-function/once": 243
}],
222: [function(c, d, b) {
var h = c("ac-browser");
var a = c("./touchAvailable").original;
var f = c("ac-function/once");
function g() {
return (!a() || (h.os === "iOS" && h.version >= 8) || h.name === "Chrome")
}
d.exports = f(g);
d.exports.original = g
}, {
"./touchAvailable": 258,
"ac-browser": 238,
"ac-function/once": 243
}],
223: [function(c, d, b) {
var g = c("./helpers/globals");
var f = c("ac-function/once");
function a() {
var l = false;
var h = g.getDocument();
var k = g.getNavigator();
try {
if ("cookie" in h && !!k.cookieEnabled) {
h.cookie = "ac_feature_cookie=1";
l = (h.cookie.indexOf("ac_feature_cookie") !== -1);
h.cookie = "ac_feature_cookie=; expires=Thu, 01 Jan 1970 00:00:01 GMT;"
}
} catch (j) {}
return l
}
d.exports = f(a);
d.exports.original = a
}, {
"./helpers/globals": 229,
"ac-function/once": 243
}],
224: [function(c, d, b) {
var g = c("ac-prefixer/getStyleValue");
var f = c("ac-function/once");
function a() {
var h = ["linear-gradient(to bottom right, #9f9, white)", "linear-gradient(top left, #9f9, white)", "gradient(linear, left top, right bottom, from(#9f9), to(white))"];
return h.some(function(j) {
return !!g("background-image", j)
})
}
d.exports = f(a);
d.exports.original = a
}, {
"ac-function/once": 243,
"ac-prefixer/getStyleValue": 246
}],
225: [function(c, d, b) {
var g = c("ac-prefixer/getStyleValue");
var f = c("ac-prefixer/getStyleProperty");
var h = c("ac-function/memoize");
function a(k, j) {
if (typeof j !== "undefined") {
return !!g(k, j)
} else {
return !!f(k)
}
}
d.exports = h(a);
d.exports.original = a
}, {
"ac-function/memoize": 242,
"ac-prefixer/getStyleProperty": 245,
"ac-prefixer/getStyleValue": 246
}],
226: [function(b, c, a) {
var f = b("ac-prefixer/getStyleValue");
var d = b("ac-function/once");
function g() {
return !!f("margin", "1vw 1vh")
}
c.exports = d(g);
c.exports.original = g
}, {
"ac-function/once": 243,
"ac-prefixer/getStyleValue": 246
}],
227: [function(b, d, a) {
var f = b("./helpers/globals");
var g = b("ac-function/memoize");
function c(h, k) {
var j = f.getDocument();
var l;
k = k || "div";
l = j.createElement(k);
return (h in l)
}
d.exports = g(c);
d.exports.original = c
}, {
"./helpers/globals": 229,
"ac-function/memoize": 242
}],
228: [function(c, f, b) {
var a = c("ac-prefixer/getEventType");
var g = c("ac-function/memoize");
function d(j, h) {
return !!a(j, h)
}
f.exports = g(d);
f.exports.original = d
}, {
"ac-function/memoize": 242,
"ac-prefixer/getEventType": 244
}],
229: [function(b, c, a) {
c.exports = {
getWindow: function() {
return window
},
getDocument: function() {
return document
},
getNavigator: function() {
return navigator
}
}
}, {}],
230: [function(b, c, a) {
c.exports = {
canvasAvailable: b("./canvasAvailable"),
continuousScrollEventsAvailable: b("./continuousScrollEventsAvailable"),
cookiesAvailable: b("./cookiesAvailable"),
cssLinearGradientAvailable: b("./cssLinearGradientAvailable"),
cssPropertyAvailable: b("./cssPropertyAvailable"),
cssViewportUnitsAvailable: b("./cssViewportUnitsAvailable"),
elementAttributeAvailable: b("./elementAttributeAvailable"),
eventTypeAvailable: b("./eventTypeAvailable"),
isDesktop: b("./isDesktop"),
isHandheld: b("./isHandheld"),
isRetina: b("./isRetina"),
isTablet: b("./isTablet"),
localStorageAvailable: b("./localStorageAvailable"),
mediaElementsAvailable: b("./mediaElementsAvailable"),
mediaQueriesAvailable: b("./mediaQueriesAvailable"),
sessionStorageAvailable: b("./sessionStorageAvailable"),
svgAvailable: b("./svgAvailable"),
threeDTransformsAvailable: b("./threeDTransformsAvailable"),
touchAvailable: b("./touchAvailable"),
webGLAvailable: b("./webGLAvailable")
}
}, {
"./canvasAvailable": 221,
"./continuousScrollEventsAvailable": 222,
"./cookiesAvailable": 223,
"./cssLinearGradientAvailable": 224,
"./cssPropertyAvailable": 225,
"./cssViewportUnitsAvailable": 226,
"./elementAttributeAvailable": 227,
"./eventTypeAvailable": 228,
"./isDesktop": 231,
"./isHandheld": 232,
"./isRetina": 233,
"./isTablet": 234,
"./localStorageAvailable": 235,
"./mediaElementsAvailable": 236,
"./mediaQueriesAvailable": 237,
"./sessionStorageAvailable": 255,
"./svgAvailable": 256,
"./threeDTransformsAvailable": 257,
"./touchAvailable": 258,
"./webGLAvailable": 259
}],
231: [function(d, f, b) {
var a = d("./touchAvailable").original;
var h = d("./helpers/globals");
var g = d("ac-function/once");
function c() {
var j = h.getWindow();
return (!a() && !j.orientation)
}
f.exports = g(c);
f.exports.original = c
}, {
"./helpers/globals": 229,
"./touchAvailable": 258,
"ac-function/once": 243
}],
232: [function(f, g, c) {
var d = f("./isDesktop").original;
var a = f("./isTablet").original;
var h = f("ac-function/once");
function b() {
return (!d() && !a())
}
g.exports = h(b);
g.exports.original = b
}, {
"./isDesktop": 231,
"./isTablet": 234,
"ac-function/once": 243
}],
233: [function(b, c, a) {
var d = b("./helpers/globals");
c.exports = function f() {
var g = d.getWindow();
return ("devicePixelRatio" in g && g.devicePixelRatio >= 1.5)
}
}, {
"./helpers/globals": 229
}],
234: [function(f, g, c) {
var d = f("./isDesktop").original;
var j = f("./helpers/globals");
var h = f("ac-function/once");
var b = 600;
function a() {
var l = j.getWindow();
var k = l.screen.width;
if (l.orientation && l.screen.height < k) {
k = l.screen.height
}
return (!d() && k >= b)
}
g.exports = h(a);
g.exports.original = a
}, {
"./helpers/globals": 229,
"./isDesktop": 231,
"ac-function/once": 243
}],
235: [function(c, d, a) {
var g = c("./helpers/globals");
var f = c("ac-function/once");
function b() {
var k = g.getWindow();
var j = false;
try {
j = !!(k.localStorage && k.localStorage.non_existent !== null)
} catch (h) {}
return j
}
d.exports = f(b);
d.exports.original = b
}, {
"./helpers/globals": 229,
"ac-function/once": 243
}],
236: [function(b, c, a) {
var g = b("./helpers/globals");
var d = b("ac-function/once");
function f() {
var h = g.getWindow();
return ("HTMLMediaElement" in h)
}
c.exports = d(f);
c.exports.original = f
}, {
"./helpers/globals": 229,
"ac-function/once": 243
}],
237: [function(c, d, b) {
c("ac-polyfills/matchMedia");
var g = c("./helpers/globals");
var f = c("ac-function/once");
function a() {
var j = g.getWindow();
var h = j.matchMedia("only all");
return !!(h && h.matches)
}
d.exports = f(a);
d.exports.original = a
}, {
"./helpers/globals": 229,
"ac-function/once": 243,
"ac-polyfills/matchMedia": 395
}],
238: [function(b, c, a) {
arguments[4][1][0].apply(a, arguments)
}, {
"./ac-browser/BrowserData": 239,
"./ac-browser/IE": 240,
dup: 1
}],
239: [function(b, c, a) {
var d = b("./data");
function f() {}
f.prototype = {
__getBrowserVersion: function(h, j) {
var g;
if (!h || !j) {
return
}
var k = d.browser.filter(function(l) {
return l.identity === j
});
k.some(function(n) {
var l = n.versionSearch || j;
var m = h.indexOf(l);
if (m > -1) {
g = parseFloat(h.substring(m + l.length + 1));
return true
}
});
return g
},
__getName: function(g) {
return this.__getIdentityStringFromArray(g)
},
__getIdentity: function(g) {
if (g.string) {
return this.__matchSubString(g)
} else {
if (g.prop) {
return g.identity
}
}
},
__getIdentityStringFromArray: function(g) {
for (var k = 0, h = g.length, j; k < h; k++) {
j = this.__getIdentity(g[k]);
if (j) {
return j
}
}
},
__getOS: function(g) {
return this.__getIdentityStringFromArray(g)
},
__getOSVersion: function(j, m) {
if (!j || !m) {
return
}
var l = d.os.filter(function(n) {
return n.identity === m
})[0];
var g = l.versionSearch || m;
var k = new RegExp(g + " ([\\d_\\.]+)", "i");
var h = j.match(k);
if (h !== null) {
return h[1].replace(/_/g, ".")
}
},
__matchSubString: function(h) {
var g = h.subString;
if (g) {
var j = g.test ? !!g.test(h.string) : h.string.indexOf(g) > -1;
if (j) {
return h.identity
}
}
}
};
f.create = function() {
var g = new f();
var h = {};
h.name = g.__getName(d.browser);
h.version = g.__getBrowserVersion(d.versionString, h.name);
h.os = g.__getOS(d.os);
h.osVersion = g.__getOSVersion(d.versionString, h.os);
return h
};
c.exports = f
}, {
"./data": 241
}],
240: [function(b, c, a) {
arguments[4][3][0].apply(a, arguments)
}, {
dup: 3
}],
241: [function(b, c, a) {
c.exports = {
browser: [{
string: window.navigator.userAgent,
subString: "Chrome",
identity: "Chrome"
}, {
string: window.navigator.userAgent,
subString: /silk/i,
identity: "Silk"
}, {
string: window.navigator.userAgent,
subString: "OmniWeb",
versionSearch: "OmniWeb/",
identity: "OmniWeb"
}, {
string: window.navigator.userAgent,
subString: /mobile\/[^\s]*\ssafari\//i,
identity: "Safari Mobile",
versionSearch: "Version"
}, {
string: window.navigator.vendor,
subString: "Apple",
identity: "Safari",
versionSearch: "Version"
}, {
prop: window.opera,
identity: "Opera",
versionSearch: "Version"
}, {
string: window.navigator.vendor,
subString: "iCab",
identity: "iCab"
}, {
string: window.navigator.vendor,
subString: "KDE",
identity: "Konqueror"
}, {
string: window.navigator.userAgent,
subString: "Firefox",
identity: "Firefox"
}, {
string: window.navigator.vendor,
subString: "Camino",
identity: "Camino"
}, {
string: window.navigator.userAgent,
subString: "Netscape",
identity: "Netscape"
}, {
string: window.navigator.userAgent,
subString: "MSIE",
identity: "IE",
versionSearch: "MSIE"
}, {
string: window.navigator.userAgent,
subString: "Trident",
identity: "IE",
versionSearch: "rv"
}, {
string: window.navigator.userAgent,
subString: "Gecko",
identity: "Mozilla",
versionSearch: "rv"
}, {
string: window.navigator.userAgent,
subString: "Mozilla",
identity: "Netscape",
versionSearch: "Mozilla"
}],
os: [{
string: window.navigator.platform,
subString: "Win",
identity: "Windows",
versionSearch: "Windows NT"
}, {
string: window.navigator.platform,
subString: "Mac",
identity: "OS X"
}, {
string: window.navigator.userAgent,
subString: "iPhone",
identity: "iOS",
versionSearch: "iPhone OS"
}, {
string: window.navigator.userAgent,
subString: "iPad",
identity: "iOS",
versionSearch: "CPU OS"
}, {
string: window.navigator.userAgent,
subString: /android/i,
identity: "Android"
}, {
string: window.navigator.platform,
subString: "Linux",
identity: "Linux"
}],
versionString: window.navigator.userAgent || window.navigator.appVersion || undefined
}
}, {}],
242: [function(c, d, b) {
var a = function() {
var h = "";
var g;
for (g = 0; g < arguments.length; g++) {
if (g > 0) {
h += ","
}
h += arguments[g]
}
return h
};
d.exports = function f(j, h) {
h = h || a;
var g = function() {
var k = arguments;
var l = h.apply(this, k);
if (!(l in g.cache)) {
g.cache[l] = j.apply(this, k)
}
return g.cache[l]
};
g.cache = {};
return g
}
}, {}],
243: [function(b, c, a) {
c.exports = function d(g) {
var f;
return function() {
if (typeof f === "undefined") {
f = g.apply(this, arguments)
}
return f
}
}
}, {}],
244: [function(b, c, a) {
arguments[4][40][0].apply(a, arguments)
}, {
"./shared/camelCasedEventTypes": 247,
"./shared/prefixHelper": 249,
"./utils/eventTypeAvailable": 252,
dup: 40
}],
245: [function(b, c, a) {
arguments[4][96][0].apply(a, arguments)
}, {
"./shared/getStyleTestElement": 248,
"./shared/prefixHelper": 249,
"./shared/stylePropertyCache": 250,
"./utils/toCSS": 253,
"./utils/toDOM": 254,
dup: 96
}],
246: [function(b, c, a) {
arguments[4][97][0].apply(a, arguments)
}, {
"./getStyleProperty": 245,
"./shared/prefixHelper": 249,
"./shared/stylePropertyCache": 250,
"./shared/styleValueAvailable": 251,
dup: 97
}],
247: [function(b, c, a) {
arguments[4][41][0].apply(a, arguments)
}, {
dup: 41
}],
248: [function(b, c, a) {
arguments[4][98][0].apply(a, arguments)
}, {
dup: 98
}],
249: [function(b, c, a) {
arguments[4][42][0].apply(a, arguments)
}, {
dup: 42
}],
250: [function(b, c, a) {
arguments[4][100][0].apply(a, arguments)
}, {
dup: 100
}],
251: [function(b, c, a) {
arguments[4][101][0].apply(a, arguments)
}, {
"./getStyleTestElement": 248,
"./stylePropertyCache": 250,
dup: 101
}],
252: [function(b, c, a) {
arguments[4][43][0].apply(a, arguments)
}, {
dup: 43
}],
253: [function(b, c, a) {
arguments[4][103][0].apply(a, arguments)
}, {
dup: 103
}],
254: [function(b, c, a) {
arguments[4][104][0].apply(a, arguments)
}, {
dup: 104
}],
255: [function(c, d, b) {
var g = c("./helpers/globals");
var f = c("ac-function/once");
function a() {
var k = g.getWindow();
var h = false;
try {
if ("sessionStorage" in k && typeof k.sessionStorage.setItem === "function") {
k.sessionStorage.setItem("ac_feature", "test");
h = true;
k.sessionStorage.removeItem("ac_feature", "test")
}
} catch (j) {}
return h
}
d.exports = f(a);
d.exports.original = a
}, {
"./helpers/globals": 229,
"ac-function/once": 243
}],
256: [function(c, d, b) {
var g = c("./helpers/globals");
var f = c("ac-function/once");
function a() {
var h = g.getDocument();
return !!h.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Image", "1.1")
}
d.exports = f(a);
d.exports.original = a
}, {
"./helpers/globals": 229,
"ac-function/once": 243
}],
257: [function(b, c, a) {
var g = b("ac-prefixer/getStyleValue");
var d = b("ac-function/once");
function f() {
return !!(g("perspective", "1px") && g("transform", "translateZ(0)"))
}
c.exports = d(f);
c.exports.original = f
}, {
"ac-function/once": 243,
"ac-prefixer/getStyleValue": 246
}],
258: [function(c, d, b) {
var g = c("./helpers/globals");
var f = c("ac-function/once");
function a() {
var k = g.getWindow();
var h = g.getDocument();
var j = g.getNavigator();
return !!(("ontouchstart" in k) || (k.DocumentTouch && h instanceof k.DocumentTouch) || (j.maxTouchPoints > 0) || (j.msMaxTouchPoints > 0))
}
d.exports = f(a);
d.exports.original = a
}, {
"./helpers/globals": 229,
"ac-function/once": 243
}],
259: [function(c, d, b) {
var g = c("./helpers/globals");
var f = c("ac-function/once");
function a() {
var h = g.getDocument();
var j = h.createElement("canvas");
if (typeof j.getContext === "function") {
return !!(j.getContext("webgl") || j.getContext("experimental-webgl"))
}
return false
}
d.exports = f(a);
d.exports.original = a
}, {
"./helpers/globals": 229,
"ac-function/once": 243
}],
260: [function(b, c, a) {
arguments[4][15][0].apply(a, arguments)
}, {
"./ac-clock/Clock": 261,
"./ac-clock/ThrottledClock": 262,
"./ac-clock/sharedClockInstance": 263,
dup: 15
}],
261: [function(b, c, a) {
arguments[4][16][0].apply(a, arguments)
}, {
"ac-event-emitter": 264,
dup: 16
}],
262: [function(b, c, a) {
arguments[4][17][0].apply(a, arguments)
}, {
"./sharedClockInstance": 263,
"ac-event-emitter": 264,
dup: 17
}],
263: [function(b, c, a) {
arguments[4][18][0].apply(a, arguments)
}, {
"./Clock": 261,
dup: 18
}],
264: [function(b, c, a) {
arguments[4][19][0].apply(a, arguments)
}, {
"./ac-event-emitter/EventEmitter": 265,
dup: 19
}],
265: [function(b, c, a) {
arguments[4][20][0].apply(a, arguments)
}, {
dup: 20
}],
266: [function(c, d, b) {
function a(f, h) {
var g;
return function() {
var k = arguments;
var l = this;
var j = function() {
g = null;
f.apply(l, k)
};
clearTimeout(g);
g = setTimeout(j, h)
}
}
d.exports = a
}, {}],
267: [function(d, f, b) {
var c = d("ac-dom-events/preventDefault");
var a = d("ac-dom-events/stopPropagation");
function h(k) {
if (k.touches && k.touches.length === 0) {
return false
}
if (typeof k.pageX !== "number") {
return false
}
return true
}
function g(k) {
this.originalEvent = k;
if (h(k)) {
this.pageX = k.touches ? k.touches[0].pageX : this.originalEvent.pageX;
this.pageY = k.touches ? k.touches[0].pageY : this.originalEvent.pageY
}
}
var j = g.prototype;
j.preventDefault = function() {
c(this.originalEvent)
};
j.stopPropagation = function() {
a(this.originalEvent)
};
f.exports = g
}, {
"ac-dom-events/preventDefault": 44,
"ac-dom-events/stopPropagation": 48
}],
268: [function(d, b, h) {
var m = d("ac-event-emitter").EventEmitter;
var f = d("ac-dom-events/addEventListener");
var c = d("ac-dom-events/removeEventListener");
var g = d("./PointerEvent");
var l = d("ac-object/create");
var k = d("./util/inputs");
function a(o, n) {
this.options = n || {};
this.element = o;
this._listeners = [];
if (n.mouse === true) {
this._listeners.push(k.MOUSE)
}
if (n.touch === true) {
this._listeners.push(k.TOUCH)
}
this._boundMove = this._move.bind(this);
this._boundEnd = this._end.bind(this);
this._boundCancel = this._cancel.bind(this);
this._boundStart = this._start.bind(this);
this._hasFiredStart = false;
this._startEvent = null
}
var j = a.prototype = l(m.prototype);
j._start = function(o) {
for (var n = 0; n < this._listeners.length; n += 1) {
f(this.element, this._listeners[n].MOVE_EVENT, this._boundMove);
f(this.element, this._listeners[n].END_EVENT, this._boundEnd);
f(this.element, this._listeners[n].CANCEL_EVENT, this._boundCancel)
}
this._startEvent = new g(o)
};
j._move = function(n) {
if (this._hasFiredStart === false) {
this._hasFiredStart = true;
this.trigger("start", this._startEvent)
}
this.trigger("move", new g(n))
};
j._end = function(n) {
this._removeAllListeners();
this.trigger("end", new g(n));
this._hasFiredStart = false;
this._startEvent = null
};
j._cancel = function(n) {
this._removeAllListeners();
this.trigger("cancel", new g(n));
this._hasFiredStart = false;
this._startEvent = null
};
j._removeAllListeners = function() {
for (var n = 0; n < this._listeners.length; n += 1) {
c(this.element, this._listeners[n].MOVE_EVENT, this._boundMove);
c(this.element, this._listeners[n].END_EVENT, this._boundEnd);
c(this.element, this._listeners[n].CANCEL_EVENT, this._boundCancel)
}
};
j.activate = function() {
for (var n = 0; n < this._listeners.length; n += 1) {
f(this.element, this._listeners[n].START_EVENT, this._boundStart)
}
};
j.destroy = function() {
this._boundStart = null;
this._boundEnd = null;
this._boundCancel = null
};
a.create = function(o, n) {
return new a(o, n)
};
b.exports = a
}, {
"./PointerEvent": 267,
"./util/inputs": 269,
"ac-dom-events/addEventListener": 37,
"ac-dom-events/removeEventListener": 45,
"ac-event-emitter": 264,
"ac-object/create": 376
}],
269: [function(c, d, b) {
var a = {
MOUSE: {
START_EVENT: "mousedown",
MOVE_EVENT: "mousemove",
END_EVENT: "mouseup",
CANCEL_EVENT: "mouseleave"
},
TOUCH: {
START_EVENT: "touchstart",
MOVE_EVENT: "touchmove",
END_EVENT: "touchend",
CANCEL_EVENT: "touchcancel"
}
};
d.exports = a
}, {}],
270: [function(b, c, a) {
arguments[4][147][0].apply(a, arguments)
}, {
"./ac-array/flatten": 271,
"./ac-array/intersection": 272,
"./ac-array/toArray": 273,
"./ac-array/union": 274,
"./ac-array/unique": 275,
"./ac-array/without": 276,
dup: 147
}],
271: [function(b, c, a) {
arguments[4][148][0].apply(a, arguments)
}, {
dup: 148
}],
272: [function(b, c, a) {
arguments[4][149][0].apply(a, arguments)
}, {
dup: 149
}],
273: [function(b, c, a) {
arguments[4][150][0].apply(a, arguments)
}, {
dup: 150
}],
274: [function(b, c, a) {
arguments[4][151][0].apply(a, arguments)
}, {
"./flatten": 271,
"./unique": 275,
dup: 151
}],
275: [function(b, c, a) {
arguments[4][152][0].apply(a, arguments)
}, {
dup: 152
}],
276: [function(b, c, a) {
arguments[4][153][0].apply(a, arguments)
}, {
dup: 153
}],
277: [function(b, c, a) {
arguments[4][194][0].apply(a, arguments)
}, {
"./ac-shared-instance/SharedInstance": 278,
dup: 194
}],
278: [function(b, c, a) {
arguments[4][195][0].apply(a, arguments)
}, {
dup: 195
}],
279: [function(b, c, a) {
c.exports = {
CID: b("./ac-mvc-cid/CID")
}
}, {
"./ac-mvc-cid/CID": 280
}],
280: [function(c, f, b) {
var a = c("ac-shared-instance").SharedInstance;
var g = "ac-mvc-cid:CID",
d = "1.0.0";
function j() {
this._idCount = 0
}
var h = j.prototype;
h._cidPrefix = "cid";
h.getNewCID = function() {
var k = this._cidPrefix + "-" + this._idCount;
this._idCount++;
return k
};
f.exports = a.share(g, d, j)
}, {
"ac-shared-instance": 277
}],
281: [function(b, c, a) {
arguments[4][134][0].apply(a, arguments)
}, {
dup: 134
}],
282: [function(b, c, a) {
arguments[4][135][0].apply(a, arguments)
}, {
"./ac-object/clone": 283,
"./ac-object/create": 284,
"./ac-object/defaults": 285,
"./ac-object/extend": 286,
"./ac-object/getPrototypeOf": 287,
"./ac-object/isDate": 288,
"./ac-object/isEmpty": 289,
"./ac-object/isRegExp": 290,
"./ac-object/toQueryParameters": 291,
dup: 135
}],
283: [function(b, c, a) {
arguments[4][136][0].apply(a, arguments)
}, {
"./extend": 286,
dup: 136
}],
284: [function(b, c, a) {
arguments[4][137][0].apply(a, arguments)
}, {
dup: 137
}],
285: [function(b, c, a) {
arguments[4][138][0].apply(a, arguments)
}, {
"./extend": 286,
dup: 138
}],
286: [function(b, c, a) {
arguments[4][139][0].apply(a, arguments)
}, {
dup: 139
}],
287: [function(b, c, a) {
arguments[4][140][0].apply(a, arguments)
}, {
dup: 140
}],
288: [function(b, c, a) {
arguments[4][141][0].apply(a, arguments)
}, {
dup: 141
}],
289: [function(b, c, a) {
arguments[4][142][0].apply(a, arguments)
}, {
dup: 142
}],
290: [function(b, c, a) {
arguments[4][143][0].apply(a, arguments)
}, {
dup: 143
}],
291: [function(b, c, a) {
arguments[4][144][0].apply(a, arguments)
}, {
dup: 144,
qs: 281
}],
292: [function(b, c, a) {
c.exports = {
Collection: b("./ac-mvc-collection/Collection")
}
}, {
"./ac-mvc-collection/Collection": 293
}],
293: [function(d, b, k) {
var g = d("ac-object"),
n = d("ac-array"),
c = d("ac-mvc-cid").CID,
o = d("ac-event-emitter").EventEmitter;
var j = ["every", "filter", "forEach", "map", "reduce", "reduceRight", "some", "slice", "sort", "reverse", "indexOf", "lastIndexOf"];
var m = ["intersection", "union", "unique", "without"];
var a = {
add: "add",
remove: "remove",
set: "set",
reset: "reset",
empty: "empty",
destroy: "destroy"
};
function f(s, p, q, r) {
if (typeof s[p] !== "undefined") {
return
}
s[p] = (function(t, u) {
return function() {
var w = n.toArray(arguments),
v = u.concat(w);
return t.apply(this, v)
}
}(q, r))
}
function h(p) {
o.call(this);
this.options = g.defaults(this.defaultOptions, p || {});
this.models = [];
this.cid = c.getNewCID();
if (this.options.ModelType) {
this.ModelType = this.options.ModelType
}
if (this.ModelType) {
this._modelsObject = {}
}
this.on(a.add, this._addToModelsObject, this);
this.on(a.remove, this._removeFromModelsObject, this);
if (this.options.models) {
this.add(this.options.models)
}
}
var l = h.prototype = g.create(o.prototype);
l.defaultOptions = {};
l.count = function() {
if (!this.models) {
return null
}
return this.models.length
};
l.add = function(q, p) {
p = p || {};
if (typeof q === "undefined") {
q = []
}
q = this._returnAsArray(q);
q = this._createModels(q);
if (this.models.length === 0) {
this.models = q
} else {
this.models = this.models.concat(q)
}
this._trigger(a.add, {
models: q
}, p);
return this
};
l.remove = function(u, s) {
s = s || {};
if (!u) {
return []
}
u = this._returnAsArray(u);
var r = [],
t, q, p = u.length;
for (t = 0; t < p; t++) {
q = this.indexOf(u[t]);
if (q > -1) {
r.push(u[t]);
this.spliceWithOptions([q, 1], {
silent: true
})
}
}
if (r.length > 0) {
this._trigger(a.remove, {
models: r
}, s)
}
return r
};
l.reset = function(q, p) {
p = p || {};
this.empty(p);
this.add(q, p);
this._trigger(a.reset, {
models: this.models
}, p);
return this
};
l.empty = function(q) {
q = q || {};
var p = this.slice(0);
this.models = [];
if (this._modelsObject) {
this._modelsObject = {}
}
if (p.length > 0) {
this._trigger(a.remove, {
models: p
}, q);
this._trigger(a.empty, {
models: p
}, q)
}
return p
};
l.destroy = function(p) {
p = p || {};
var r = this.empty(p);
this._trigger(a.destroy, {
models: r
}, p);
this.off();
var q;
for (q in this) {
if (this.hasOwnProperty(q)) {
this[q] = null
}
}
};
l.get = function(s) {
var q = this._getModelByID(s);
if (q) {
return q
}
var r, p = this.models.length;
for (r = 0; r < p; r++) {
if ((typeof this.models[r].id !== "undefined" && this.models[r].id === s) || (typeof this.models[r].cid !== "undefined" && this.models[r].cid === s)) {
q = this.models[r];
break
}
}
return q
};
l.set = function(t, B) {
B = B || {};
if (typeof t === "undefined") {
t = []
}
t = this._returnAsArray(t);
var u, p = "id",
y = t.length,
z = [],
C = [],
s = {},
A;
if (this.ModelType && this.ModelType.prototype.idAttribute) {
p = this.ModelType.prototype.idAttribute
}
if (B.matchParameter) {
p = B.matchParameter
}
for (u = 0; u < y; u++) {
A = null;
if (typeof t[u] === "object") {
A = this.get(t[u][p])
}
if (A) {
if (this.ModelType) {
A.set(t[u]);
s[A.cid] = true
} else {
A = t[u]
}
C.push(A);
continue
}
if (this.ModelType) {
t[u] = this._createModel(t[u])
}
if (this.ModelType || this.indexOf(t[u]) === -1) {
z.push(t[u])
}
C.push(t[u])
}
var r, w = C.length,
x = [],
q, v;
y = this.models.length;
for (u = 0; u < y; u++) {
v = this.models[u];
if (this.ModelType) {
q = true;
if (s[v.cid]) {
q = false
}
} else {
q = true;
for (r = 0; r < w; r++) {
if (v === C[r]) {
q = false;
break
}
}
}
if (q) {
x.push(v)
}
}
this.models = C;
if (z.length > 0) {
this._trigger(a.add, {
models: z
}, B)
}
if (x.length > 0) {
this._trigger(a.remove, {
models: x
}, B)
}
this._trigger(a.set, {
models: C
}, B);
return x
};
l.at = function(p) {
if (!this.models) {
return
}
return this.models[p]
};
l.find = function(w, y) {
if (typeof w !== "object") {
console.warn("Collection.protoype.find query needs to be an object");
return []
}
y = y || {};
var z = [],
v = false,
t = 0,
s, r, p = null,
x = 0,
u = this.models.length,
q = u;
if (y.reverse) {
x = u - 1;
q = -1;
v = true
}
if (y.limit) {
p = y.limit
}
for (r = x;
(v ? r > q : r < q);
(v ? r-- : r++)) {
s = this.models[r];
if (this._modelMatchesProperties(s, w)) {
if (v) {
z.unshift(s)
} else {
z.push(s)
}
t++;
if (p && t >= p) {
break
}
}
}
return z
};
l.push = function() {
return this.pushWithOptions(n.toArray(arguments))
};
l.pop = function() {
return this.popWithOptions(n.toArray(arguments))
};
l.shift = function() {
return this.shiftWithOptions(n.toArray(arguments))
};
l.unshift = function() {
return this.unshiftWithOptions(n.toArray(arguments))
};
l.splice = function() {
return this.spliceWithOptions(n.toArray(arguments))
};
l.pushWithOptions = function(r, q) {
q = q || {};
var s = this._createModels(r),
p = Array.prototype.push.apply(this.models, s);
if (s.length > 0) {
this._trigger(a.add, {
models: s
}, q)
}
return p
};
l.popWithOptions = function(q, p) {
p = p || {};
var r = Array.prototype.pop.call(this.models);
if (r) {
this._trigger(a.remove, {
models: [r]
}, p)
}
return r
};
l.shiftWithOptions = function(q, p) {
p = p || {};
var r = Array.prototype.shift.call(this.models);
if (r) {
this._trigger(a.remove, {
models: [r]
}, p)
}
return r
};
l.unshiftWithOptions = function(r, q) {
q = q || {};
var s = this._createModels(r),
p = Array.prototype.unshift.apply(this.models, s);
if (s.length > 0) {
this._trigger(a.add, {
models: s
}, q)
}
return p
};
l.spliceWithOptions = function(r, q) {
q = q || {};
var s = [r[0], r[1]],
p, u, t;
if (r.length > 2) {
p = r.slice(2, r.length);
u = this._createModels(p);
s = s.concat(u)
}
t = Array.prototype.splice.apply(this.models, s);
if (t.length > 0) {
this._trigger(a.remove, {
models: t
}, q)
}
if (u) {
this._trigger(a.add, {
models: u
}, q)
}
return t
};
l._trigger = function(p, r, q) {
q = q || {};
if (!q.silent) {
this.trigger(p, r)
}
};
l._getModelByID = function(p) {
if (this.ModelType && this._modelsObject && this._modelsObject[p]) {
return this._modelsObject[p]
}
return null
};
l._createModel = function(p) {
if (p instanceof this.ModelType || p instanceof h) {
return p
}
return new this.ModelType(p)
};
l._createModels = function(r) {
if (!this.ModelType) {
return Array.prototype.slice.call(r, 0)
}
var q = [],
s, t, p = r.length;
for (t = 0; t < p; t++) {
s = r[t];
if (!(s instanceof this.ModelType)) {
s = this._createModel(s)
}
q.push(s)
}
return q
};
l._modelMatchesProperties = function(p, r) {
var q;
for (q in r) {
if (r.hasOwnProperty(q)) {
if (this._getPropFromModel(p, q) !== r[q]) {
return false
}
}
}
return true
};
l._getPropFromModel = function(p, q) {
if (this.ModelType) {
return p.get(q)
}
return p[q]
};
l._addToModelsObject = function(p) {
if (!this._modelsObject || !p.models) {
this._modelsObject = {}
}
p.models.forEach(function(q) {
this._modelsObject[q.id] = q;
this._modelsObject[q.cid] = q
}, this)
};
l._removeFromModelsObject = function(p) {
if (!this._modelsObject || !p.models) {
this._modelsObject = {}
}
p.models.forEach(function(q) {
this._modelsObject[q.id] = null;
this._modelsObject[q.cid] = null
}, this)
};
l._returnAsArray = function(p) {
if (!Array.isArray(p)) {
p = [p]
}
return p
};
l._acArrayProxy = function(q) {
var p = n.toArray(arguments);
p[0] = this.models;
return n[q].apply(n, p)
};
l._arrayPrototypeProxy = function(q) {
var p = n.toArray(arguments);
p.shift();
return Array.prototype[q].apply(this.models, p)
};
j.forEach(function(p) {
if (typeof Array.prototype[p] === "function") {
f(this, p, this._arrayPrototypeProxy, [p])
}
}, l);
m.forEach(function(p) {
if (typeof n[p] === "function") {
f(this, p, this._acArrayProxy, [p])
}
}, l);
b.exports = h
}, {
"ac-array": 270,
"ac-event-emitter": 264,
"ac-mvc-cid": 279,
"ac-object": 282
}],
294: [function(b, c, a) {
arguments[4][194][0].apply(a, arguments)
}, {
"./ac-shared-instance/SharedInstance": 295,
dup: 194
}],
295: [function(b, c, a) {
arguments[4][195][0].apply(a, arguments)
}, {
dup: 195
}],
296: [function(b, c, a) {
arguments[4][279][0].apply(a, arguments)
}, {
"./ac-mvc-cid/CID": 297,
dup: 279
}],
297: [function(b, c, a) {
arguments[4][280][0].apply(a, arguments)
}, {
"ac-shared-instance": 294,
dup: 280
}],
298: [function(b, c, a) {
arguments[4][134][0].apply(a, arguments)
}, {
dup: 134
}],
299: [function(b, c, a) {
arguments[4][135][0].apply(a, arguments)
}, {
"./ac-object/clone": 300,
"./ac-object/create": 301,
"./ac-object/defaults": 302,
"./ac-object/extend": 303,
"./ac-object/getPrototypeOf": 304,
"./ac-object/isDate": 305,
"./ac-object/isEmpty": 306,
"./ac-object/isRegExp": 307,
"./ac-object/toQueryParameters": 308,
dup: 135
}],
300: [function(b, c, a) {
arguments[4][136][0].apply(a, arguments)
}, {
"./extend": 303,
dup: 136
}],
301: [function(b, c, a) {
arguments[4][137][0].apply(a, arguments)
}, {
dup: 137
}],
302: [function(b, c, a) {
arguments[4][138][0].apply(a, arguments)
}, {
"./extend": 303,
dup: 138
}],
303: [function(b, c, a) {
arguments[4][139][0].apply(a, arguments)
}, {
dup: 139
}],
304: [function(b, c, a) {
arguments[4][140][0].apply(a, arguments)
}, {
dup: 140
}],
305: [function(b, c, a) {
arguments[4][141][0].apply(a, arguments)
}, {
dup: 141
}],
306: [function(b, c, a) {
arguments[4][142][0].apply(a, arguments)
}, {
dup: 142
}],
307: [function(b, c, a) {
arguments[4][143][0].apply(a, arguments)
}, {
dup: 143
}],
308: [function(b, c, a) {
arguments[4][144][0].apply(a, arguments)
}, {
dup: 144,
qs: 298
}],
309: [function(b, c, a) {
c.exports = {
Model: b("./ac-mvc-model/Model")
}
}, {
"./ac-mvc-model/Model": 310
}],
310: [function(c, d, b) {
var g = c("ac-event-emitter").EventEmitter;
var a = c("ac-object");
var h = c("ac-mvc-cid").CID;
var j = function(k) {
this.attributes = a.defaults(this.defaultAttributes, k || {});
this.cid = h.getNewCID();
if (this.attributes[this.idAttribute]) {
this.id = this.attributes[this.idAttribute]
}
};
var f = j.prototype = a.create(g.prototype);
f.defaultAttributes = {};
f.idAttribute = "id";
f._trigger = function(m, l, k) {
k = k || {};
if (k.silent !== true) {
this.trigger(m, l)
}
};
f._triggerChange = function(m, l, k) {
return this._trigger("change:" + m, l, k)
};
f.get = function(k) {
if (!this.attributes) {
return
}
return this.attributes[k]
};
f.set = function(l, k) {
if (!this.attributes) {
return
}
var p;
var o;
var n;
var m = {};
var q = false;
for (p in l) {
if (l.hasOwnProperty(p)) {
n = this.get(p);
if ((typeof n === "object" && typeof l[p] === "object" && JSON.stringify(n) === JSON.stringify(l[p])) || (n === l[p])) {
continue
}
q = true;
this.attributes[p] = l[p];
o = {
value: l[p],
previous: n
};
m[p] = o;
this._triggerChange(p, o, k)
}
}
if (q) {
this._trigger("change", m, k)
}
};
f.has = function(k) {
if (!this.attributes) {
return false
}
return (this.attributes[k] !== undefined)
};
f.eachAttribute = function(l, k) {
if (!this.attributes) {
return
}
var m;
for (m in this.attributes) {
if (this.attributes.hasOwnProperty(m)) {
l.call(k, {
attribute: m,
value: this.attributes[m]
})
}
}
};
f.destroy = function() {
this.trigger("destroy");
this.off();
var k;
for (k in this) {
if (this.hasOwnProperty(k)) {
this[k] = null
}
}
};
d.exports = j
}, {
"ac-event-emitter": 264,
"ac-mvc-cid": 296,
"ac-object": 299
}],
311: [function(c, d, b) {
function a(h, g) {
h = h || {};
this.position = h.position || {
x: 0,
y: 0
};
this.velocity = h.velocity || {
x: 0,
y: 0
};
this.mass = h.mass || 1;
this.options = g || {}
}
var f = a.prototype;
f.draw = function() {};
d.exports = a
}, {}],
312: [function(b, c, a) {
c.exports = {
Particle: b("./Particle"),
spring: b("./spring")
}
}, {
"./Particle": 311,
"./spring": 313
}],
313: [function(b, d, a) {
function c(n, m) {
var o = n.mass;
var q = 0,
h = 10,
g = new Date().getTime(),
j = 0;
function k() {
var s = new Date().getTime();
var r = (s - g);
g = s;
if (r > 25) {
r = 25
}
j += r;
while (j >= h) {
j -= h;
l()
}
f()
}
function l() {
var s = 0.02;
var t = p.stiffness * ((n.position.x - 0) - p.equilibrium);
var u = p.damping * n.velocity.x;
var r = (t + u) / o;
n.velocity.x += r * s;
n.position.x += n.velocity.x * s
}
function f() {}
var p = {
equilibrium: m,
stiffness: -30,
damping: -8,
update: function(r) {
k()
}
};
return p
}
d.exports = {
create: c
}
}, {}],
314: [function(b, c, a) {
c.exports = {
Routes: b("./ac-routes/Routes"),
Route: b("./ac-routes/Route")
}
}, {
"./ac-routes/Route": 315,
"./ac-routes/Routes": 316
}],
315: [function(b, c, a) {
function f(j, l, h, k, g) {
this.path = j;
this.callback = l;
this.context = h;
this.greedy = k || false;
this.priority = g || 0;
if (typeof this.priority !== "number") {
throw new Error("Priority must be a Number.")
}
this.identifierPattern = "([a-zA-Z0-9\\-\\_]+)";
this.tokensRe = new RegExp(":" + this.identifierPattern, "g");
this.matcher = this._createRouteMatcher(j)
}
var d = f.prototype;
d._createRouteMatcher = function(h) {
if (h && h.exec) {
return {
pattern: h
}
} else {
if (h === "/") {
return {
pattern: /^\/$/
}
} else {
if (typeof h !== "string") {
throw new Error("path must be either a string or regex")
}
}
}
var g = this._extractRouteTokens(h);
var k = h.replace(this.tokensRe, this.identifierPattern);
var j = new RegExp(k, "g");
return {
pattern: j,
routeTokens: g
}
};
d._extractRouteTokens = function(k) {
var g = k.replace(this.tokensRe, ":" + this.identifierPattern);
var j = new RegExp(g, "g");
var h = j.exec(k);
if (h && h.length > 1) {
h = h.slice(1)
} else {
h = null
}
return h
};
d.match = function(h) {
this.matcher.pattern.lastIndex = 0;
var g = this.matcher.pattern.exec(h);
if (g) {
var j = (g.length) ? g.slice(1) : [];
var k = this.callback;
if (k && typeof k === "function") {
k.apply(this.context || this, j);
return true
}
}
return false
};
c.exports = f
}, {}],
316: [function(c, d, b) {
var g = c("./Route");
function a(h) {
this._routes = {};
if (h) {
this.addRoutes(h)
}
}
var f = a.prototype;
f._getIndex = function(k, l, j) {
if (this._routes[k] !== undefined) {
var h = this._routes[k].length;
while (--h > -1) {
if (this._routes[k][h].callback === l && this._routes[k][h].context === j) {
return h
}
}
}
return -1
};
f.match = function(k) {
var j, h;
for (j in this._routes) {
h = this._routes[j].length;
while (--h > -1) {
if (this._routes[j][h].match(k) && this._routes[j][h].greedy) {
break
}
}
}
};
f.add = function(j) {
if (this._routes[j.path] === undefined) {
this._routes[j.path] = [j]
} else {
if (!this.get(j.path, j.callback, j.context)) {
var k, h = this._routes[j.path].length;
if (h > 0) {
for (k = 0; k < h; ++k) {
if (this._routes[j.path][k].priority > j.priority) {
this._routes[j.path].splice(k, 0, j);
return j
}
}
}
this._routes[j.path].push(j)
}
}
return j
};
f.remove = function(h) {
var j = this._getIndex(h.path, h.callback, h.context);
if (j > -1) {
this._routes[h.path].splice(j, 1);
return h
}
return false
};
f.get = function(k, l, j) {
var h = this._getIndex(k, l, j);
if (h > -1) {
return this._routes[k][h]
}
return false
};
f.createRoute = function(l, n, k, m, j) {
var h = new g(l, n, k, m, j);
this.add(h);
return h
};
f.addRoutes = function(j) {
if (j instanceof Array) {
var l, k, h = j.length;
for (l = 0; l < h; ++l) {
k = j[l];
if (k && typeof k === "object") {
this.add(k)
}
}
} else {
throw new Error("routes must be an Array.")
}
};
f.removeRoutes = function(j) {
if (j instanceof Array) {
var l, k, h = j.length;
for (l = 0; l < h; ++l) {
k = j[l];
if (k && typeof k === "object") {
this.remove(k)
}
}
} else {
throw new Error("routes must be an Array.")
}
};
f.getRoutes = function(h) {
if (this._routes[h] === undefined) {
return []
}
return this._routes[h]
};
d.exports = a
}, {
"./Route": 315
}],
317: [function(c, d, b) {
function a(g) {
this.options = g || {}
}
var f = a.prototype;
f.onExit = function() {};
f.onEnter = function() {};
d.exports = a
}, {}],
318: [function(d, f, b) {
var c = d("ac-object");
var h = d("ac-event-emitter").EventEmitter;
function a(j) {
this.options = j || {};
this.previousState = null;
this.currentState = j.currentState || null
}
var g = a.prototype = c.create(h.prototype);
g.handleInput = function(k, l) {
var j = this.currentState[k];
if (typeof j === "function") {
return this.currentState[k](this, l)
}
};
g.gotoPreviousState = function(j) {
this.changeState(this.previousState, j)
};
g.changeState = function(l, k) {
this.previousState = this.currentState;
this.currentState = l;
var j = [this.previousState.onExit(this, k), this.currentState.onEnter(this, k)];
return Promise.all(j)
};
f.exports = a
}, {
"ac-event-emitter": 264,
"ac-object": 380
}],
319: [function(b, c, a) {
c.exports = {
StateMachine: b("./StateMachine"),
State: b("./State")
}
}, {
"./State": 317,
"./StateMachine": 318
}],
320: [function(b, c, a) {
var g = b("./ac-gallery/Gallery");
var f = b("./ac-gallery/SlideGallery");
var d = b("./ac-gallery/FadeGallery");
c.exports = {
Gallery: g,
SlideGallery: f,
FadeGallery: d
}
}, {
"./ac-gallery/FadeGallery": 321,
"./ac-gallery/Gallery": 322,
"./ac-gallery/SlideGallery": 323
}],
321: [function(c, d, a) {
var h = c("./Gallery");
var b = c("ac-eclipse").Clip;
var f = c("ac-dom-styles/setStyle");
var g = h.extend({
initialize: function() {
this._boundCreateClip = this._createClip.bind(this);
this.canSpring = false
},
_createClip: function(m, j, n, o, l) {
var k = new b(m, n, {
opacity: 1
}, {
onStart: function() {
f(j, {
zIndex: 1
});
f(m, {
zIndex: 2
})
},
onComplete: function() {
f(j, {
opacity: 0
});
window.requestAnimationFrame(l)
},
ease: o
});
return k
},
drawInitial: function(k) {
var j = k.get("element");
f(j, {
zIndex: 2,
opacity: 1
});
this.model.forEach(function(l) {
if (l.id !== k.id) {
f(l.get("element"), {
zIndex: 1,
opacity: 0
})
}
}, this)
},
draw: function(j, l, k) {
var n = j.get("element");
var m = l.get("element");
var p = k.easing || this.getEasing();
var o = k.duration || this.getDuration();
return new Promise(function(s, r) {
var q = this._createClip(n, m, o, p, s);
q.play()
}.bind(this))
},
destroy: function() {
this._boundCreateClip = null
}
});
d.exports = g
}, {
"./Gallery": 322,
"ac-dom-styles/setStyle": 105,
"ac-eclipse": "ac-eclipse"
}],
322: [function(c, b, h) {
var f = c("ac-object/defaults");
var n = c("ac-object/create");
var p = c("ac-object/extend");
var o = c("./model/GalleryCollection");
var r = c("ac-event-emitter").EventEmitter;
var a = c("ac-routes").Routes;
var q = c("ac-state-machine").StateMachine;
var g = c("./states/factory");
var l = 'Could not create gallery: "id" is missing';
var j = 'Could not create gallery: "el" was not specified';
var d = {
duration: 0.4,
easing: "linear",
endless: false,
initial: 0
};
function m(s) {
this.options = f(d, s || {});
this.id = this.options.id;
if (!this.id) {
throw new Error(l)
}
this.model = this.options.model || new o();
this.model.setSelected(this.options.initial);
this.stateMachine = new q({
currentState: g.create("initialize", this)
});
this.routes = s.routes || new a();
this.routes.add(this.routes.createRoute(this.id + "/show/:id", this.show, this));
this.routes.add(this.routes.createRoute(this.id + "/previous", this.showPrevious, this));
this.routes.add(this.routes.createRoute(this.id + "/next", this.showNext, this));
this.el = this.options.el;
if (!this.el) {
throw new Error(j)
}
this.easing = this.options.easing || this.easing;
this.duration = this.options.duration || this.duration;
this.initialize(s);
this.show(this.model.getSelected())
}
var k = m.prototype = n(r.prototype);
k.sendGalleryEvent = function(s) {
this.trigger(s.type, s.data)
};
k.easing = "linear";
k.duration = 0.4;
k.getSlideAt = function(s) {
return this.model.at(s)
};
k.setDuration = function(s) {
this.duration = s
};
k.getDuration = function() {
return this.duration
};
k.setEasing = function(s) {
this.easing = s
};
k.getEasing = function() {
return this.easing
};
k.cancelDraw = function() {};
k.initialize = function() {};
k.drawInitial = function() {};
k.beforeDraw = function() {};
k.draw = function() {};
k.afterDraw = function() {};
k.destroy = function() {};
k.drawBounceInProgress = function() {};
k.drawBounceOutProgress = function() {};
k.drawProgress = function() {};
k.drawSnap = function() {};
k.drawResize = function() {};
k.removeStyles = function() {};
k.resize = function() {};
k.setProgress = function(s) {
this.stateMachine.handleInput("seek", {
progress: s
})
};
k.snap = function(s) {
this.stateMachine.handleInput("pointerUp", {
progress: s
})
};
k.getSelected = function() {
return this.model.getSelected()
};
k.getItems = function() {
return this.model.models
};
k.setEngaged = function(s) {
this.stateMachine.handleInput("engagementChange", {
engaged: s
})
};
k.slideAt = function() {
var s = this.model.at.apply(this.model, arguments);
if (!s) {
return null
}
return s
};
k.getPreviousState = function() {
return this.stateMachine.previousState
};
k.getCurrentState = function() {
return this.stateMachine.currentState
};
k.isEndless = function() {
return this.model.isEndless()
};
k.indexOf = function(s) {
return this.model.indexOf(s)
};
k.count = function() {
return this.model.count()
};
k.getNext = function() {
return this.model.getNext()
};
k.getPrevious = function() {
return this.model.getPrevious()
};
k.getSelectedIndex = function() {
return this.model.indexOfSelected()
};
k.showNext = function(s) {
var t = this.model.getNext();
return this.show(t, s)
};
k.showPrevious = function(s) {
var t = this.model.getPrevious();
return this.show(t, s)
};
k.getLastIndex = function() {
return this.model.count() - 1
};
k.getLast = function() {
return this.model.getLast()
};
k.getFirst = function() {
return this.model.at(0)
};
k.show = function(t, s) {
this.stateMachine.handleInput("onDraw", {
query: t,
options: s
})
};
k.clear = function() {
this.stateMachine.handleInput("onClear")
};
k.dealloc = function() {
this.stateMachine.handleInput("onDealloc")
};
m.create = c("./factory/create");
m.extend = function(v) {
var u = this;
var t = function() {
u.apply(this, arguments)
};
var s = n(this.prototype);
t.prototype = p(s, v);
p(t, this);
return t
};
b.exports = m
}, {
"./factory/create": 325,
"./model/GalleryCollection": 331,
"./states/factory": 341,
"ac-event-emitter": 264,
"ac-object/create": 376,
"ac-object/defaults": 377,
"ac-object/extend": 378,
"ac-routes": 314,
"ac-state-machine": 319
}],
323: [function(c, a, f) {
var l = c("./Gallery");
var k = c("ac-eclipse").Clip;
var h = c("ac-dom-styles/setStyle");
var j = c("ac-dom-metrics/getDimensions");
var n = c("ac-dom-events/addEventListener");
var o = c("ac-dom-events/removeEventListener");
var g = c("./SlideGallery/feature-detect");
var d = c("./model/SlideGalleryTransformData");
var m = "Could not create SlideGallery: no `slideEl` option was specified";
var b = l.extend({
_bounceInClip: null,
_bounceOutClip: null,
_getBounceInClip: function() {
if (this._bounceInClip !== null) {
return this._bounceInClip
}
var q = this._getTransformStyles(this.getFirst(), this.getFirst(), {
addDistance: j(this.options.el).width
});
var p = this._getTransformStyles(this.getFirst(), this.getLast());
this._bounceInClip = new k(this.options.slideEl, this.getDuration() * this.count(), q, {
ease: "linear",
propsFrom: p
});
return this._bounceInClip
},
_getBounceOutClip: function() {
if (this._bounceOutClip !== null) {
return this._bounceOutClip
}
var q = this._getTransformStyles(this.getLast(), this.getFirst(), {
addDistance: -j(this.options.el).width
});
var p = this._getTransformStyles(this.getLast(), this.getFirst());
this._bounceOutClip = new k(this.options.slideEl, this.getDuration(), q, {
ease: "linear",
propsFrom: p
});
return this._bounceOutClip
},
_renderProgress: function(q, p) {
q.setProgress(p)
},
_clip: null,
_toClip: function() {
if (this._clip) {
return this._clip
}
var q = this._getTransformStyles(this.getLast(), this.getFirst());
var p = this._getTransformStyles(this.getFirst(), this.getLast());
this._clip = new k(this.options.slideEl, this.getDuration(), q, {
ease: "linear",
propsFrom: p
});
return this._clip
},
initialize: function(p) {
if (!p.slideEl) {
throw new Error(m)
}
},
drawBounceOutProgress: function(p) {
var q = this._getBounceOutClip();
this._renderProgress(q, p)
},
drawBounceInProgress: function(p) {
var q = this._getBounceInClip();
this._renderProgress(q, p)
},
drawProgress: function(p) {
var q = this._toClip();
return this._renderProgress(q, p)
},
drawInitial: function(p) {
this.drawSnap(p)
},
drawSnap: function(q, t, s) {
var u = this._toClip();
var p = this.indexOf(q);
var r = p / (this.count() - 1);
u.setProgress(r)
},
removeStyles: function() {
h(this.options.slideEl, {
transition: null,
transform: null
})
},
drawResize: function(p, r, q) {
this._clip = null;
this._bounceInClip = null;
this._bounceOutClip = null;
this.drawSnap(p, r, q)
},
_getTransitionProp: function() {
if (g.canUseTransform()) {
return "transform"
}
return "left"
},
_transitionEndString: "transitionend",
_drawCSSTransition: function(q, s, r) {
var p = this._getTransitionProp();
return new Promise(function(v, u) {
var t = function(w) {
if (w.target === this.options.slideEl) {
h(this.options.slideEl, {
transition: null
});
o(this.options.slideEl, this._transitionEndString, t);
v()
}
}.bind(this);
n(this.options.slideEl, this._transitionEndString, t);
q.transition = p + " " + r + "s " + s;
h(this.options.slideEl, q)
}.bind(this))
},
_drawRAFTransition: function(p, r, q) {
return new Promise(function(u, t) {
var s = new k(this.options.slideEl, q, p, {
easing: r,
onComplete: u,
inlineStyles: true
});
s.play()
}.bind(this))
},
_getTransformStyles: function(p, s, r) {
var q = new d(this, p, s, r);
q.calculate();
q.setStyles(this.didCalculateStyles(q.styles, p, s));
return q.renderStylesObject()
},
didCalculateStyles: function(r, p, q) {
return r
},
draw: function(p, r, q) {
var t = q.duration || this.getDuration();
var u = q.easing || this.getEasing();
var s = this._getTransformStyles(p, r);
if (g.canUseCSSTransitions()) {
return this._drawCSSTransition(s, u, t)
} else {
return this._drawRAFTransition(s, u, t)
}
},
destroy: function() {
this.removeStyles();
this._bounceInClip = null;
this._bounceOutClip = null;
this._clip = null
}
});
a.exports = b
}, {
"./Gallery": 322,
"./SlideGallery/feature-detect": 324,
"./model/SlideGalleryTransformData": 333,
"ac-dom-events/addEventListener": 37,
"ac-dom-events/removeEventListener": 45,
"ac-dom-metrics/getDimensions": 54,
"ac-dom-styles/setStyle": 105,
"ac-eclipse": "ac-eclipse"
}],
324: [function(c, d, b) {
var a = c("ac-feature/cssPropertyAvailable");
d.exports = {
canUseCSSTransitions: function() {
return a("transition")
},
canUseTransform: function() {
return a("transform")
}
}
}, {
"ac-feature/cssPropertyAvailable": 225
}],
325: [function(f, b, r) {
var d = f("./../model/GalleryCollection");
var g = f("ac-object/defaults");
var m = f("ac-dom-nodes/isElement");
var j = f("./../inputs/pointer");
var n = f("./../inputs/Trigger");
var s = f("./../inputs/Keyboard");
var t = f("./../inputs/Engagement");
var c = f("./../inputs/resize");
var q = f("./../observer/analytics");
var k = f("./../observer/trigger");
var p = "Could not create gallery: triggerSelector should be a string";
var h = 'Could not create gallery: no "model" was specified';
var o = {
keyboard: true,
trigger: {
events: ["click"]
}
};
function l(v, u) {
u = u || {};
u.models = v.map(function(w) {
if (m(w)) {
return {
id: w.id,
element: w
}
}
return w
});
return new d(u)
}
b.exports = function a(z) {
z = z || {};
z = g(o, z);
if (!z.model) {
throw new Error(h)
}
z.model = l(z.model, {
endless: z.endless
});
var y = new this(z);
var x = {};
var B = {};
x.resize = c(y, z.resize);
if (z.pointer) {
var w = z.pointer;
w.element = w.el || y.el;
x.pointer = j(y, w)
}
if (z.triggerSelector) {
if (typeof z.triggerSelector !== "string") {
throw new Error(p)
} else {
x.trigger = n(y, {
selector: z.triggerSelector,
events: z.trigger.events
});
B.trigger = k(y, {
selector: z.triggerSelector
})
}
}
if (z.keyboard === true) {
y.keyboard = s(y)
}
var v = z.engagementElement || y.el;
x.engagement = t(y, {
el: v
});
var A = y.id;
if (y.el && y.el.getAttribute("data-analytics-id")) {
A = y.el.getAttribute("data-analytics-id")
}
var u = {
galleryName: A
};
q(y, u);
y.inputs = x;
y.observers = B;
return y
}
}, {
"./../inputs/Engagement": 326,
"./../inputs/Keyboard": 327,
"./../inputs/Trigger": 328,
"./../inputs/pointer": 329,
"./../inputs/resize": 330,
"./../model/GalleryCollection": 331,
"./../observer/analytics": 335,
"./../observer/trigger": 336,
"ac-dom-nodes/isElement": 86,
"ac-object/defaults": 377
}],
326: [function(c, d, b) {
var h = c("ac-element-tracker").ElementTracker;
var f = c("ac-object/create");
var a = {
handleEngagementChange: function(j) {
this.stateMachine.handleInput("engagementChange", {
engaged: j
})
},
isNotEngaged: function() {
this.handleEngagementChange(false)
},
isEngaged: function() {
this.handleEngagementChange(true)
},
onEnterView: function() {
this.isEngaged()
},
onExitView: function() {
this.isNotEngaged()
}
};
d.exports = function g(j, k) {
k = k || {};
var m = new h();
var l = m.addElement(k.el);
var n = f(a);
n.stateMachine = j.stateMachine;
n.onEnterView = n.onEnterView.bind(n);
n.onExitView = n.onExitView.bind(n);
m.refreshElementState(l);
if (l.inView) {
n.onEnterView()
} else {
n.onExitView()
}
l.on("enterview", n.onEnterView);
l.on("exitview", n.onExitView);
m.start();
j.once("destroy", function() {
l.off("enterview", n.onEnterView);
l.off("exitview", n.onExitView);
m = null;
l = null
});
return n
}
}, {
"ac-element-tracker": 214,
"ac-object/create": 376
}],
327: [function(f, g, d) {
var j = f("ac-dom-events/addEventListener");
var b = f("ac-dom-events/removeEventListener");
var h = f("ac-object/create");
var c = {
keyDown: function(k) {
this.stateMachine.handleInput("keydown", {
interactionEvent: k
})
}
};
g.exports = function a(m, n) {
n = n || {};
var k = h(c);
k.stateMachine = m.stateMachine;
var l = function(o) {
k.keyDown(o)
};
j(document, "keydown", l);
m.once("destroy", function() {
b(document, "keydown", l);
l = null
});
return k
}
}, {
"ac-dom-events/addEventListener": 37,
"ac-dom-events/removeEventListener": 45,
"ac-object/create": 376
}],
328: [function(b, a, c) {
var k = b("ac-dom-events/addEventListener");
var m = b("ac-dom-events/removeEventListener");
var h = b("ac-dom-events");
var j = b("ac-object/create");
var l = b("ac-dom-traversal/matchesSelector");
var f = b("ac-dom-traversal/ancestor");
var g = {
triggerInteraction: function(o) {
var n = h.target(o);
var p = null;
if (l(n, this.selector)) {
p = n
} else {
if (l(n, this.selector + " *")) {
p = f(n, this.selector)
}
}
if (p) {
h.preventDefault(o);
this.stateMachine.handleInput("trigger", {
interactionEvent: o,
target: p
})
}
}
};
a.exports = function d(n, p) {
var o = j(g);
o.selector = p.selector;
o.stateMachine = n.stateMachine;
var q = function(r) {
o.triggerInteraction(r)
};
p.events.forEach(function(r) {
k(document, r, q)
});
n.once("destroy", function() {
p.events.forEach(function(r) {
m(document, r, q)
});
o = null
});
return o
}
}, {
"ac-dom-events": 39,
"ac-dom-events/addEventListener": 37,
"ac-dom-events/removeEventListener": 45,
"ac-dom-traversal/ancestor": 106,
"ac-dom-traversal/matchesSelector": 115,
"ac-object/create": 376
}],
329: [function(c, d, b) {
var h = c("ac-gesture/PointerMove");
var f = c("ac-object/create");
var j = {
onPointerMove: function(k) {
this.stateMachine.handleInput("pointerMove", {
interactionEvent: k
})
},
onPointerDown: function(l) {
var k = {
interactionEvent: l,
element: this.gesture.element
};
this.stateMachine.handleInput("pointerDown", k)
},
onPointerUp: function(k) {
this.stateMachine.handleInput("pointerUp", {
interactionEvent: k
})
}
};
var g = {
interactions: [],
handledDown: false,
isMovingHorizontal: function() {
if (this.interactions.length < 4) {
return null
}
var q = this.interactions[0];
var m = this.interactions[this.interactions.length - 1];
var r = m.pageX - q.pageX;
var p = m.pageY - q.pageY;
var l = Math.atan2(p, r);
var o = l * (180 / Math.PI);
var k = 75;
var n = Math.abs(o) < k || Math.abs(o) > (180 - k);
return n
},
onPointerMove: function(k) {
if (this.interactions.length < 4) {
this.interactions.push(k);
return
}
if (this.isMovingHorizontal()) {
if (!this.handledDown) {
this.handledDown = true;
this.parent.onPointerDown(this.interactions[0])
}
this.parent.onPointerMove(k)
}
},
onPointerDown: function(k) {
this.interactions.push(k)
},
onPointerUp: function(k) {
if (this.handledDown === true) {
this.parent.onPointerUp(k)
}
this.interactions = [];
this.handledDown = false
}
};
d.exports = function a(k, l) {
l = l || {};
var m = h.create(l.element, l);
var o = f(j);
o.stateMachine = k.stateMachine;
o.gesture = m;
var n = f(g);
n.parent = o;
m.on("start", function(p) {
n.onPointerDown(p)
});
m.on("move", function(p) {
n.onPointerMove(p)
});
m.on("end", function(p) {
n.onPointerUp(p)
});
m.on("cancel", function(p) {
n.onPointerUp(p)
});
m.activate();
k.once("destroy", function() {
m.off();
m._removeAllListeners();
m.destroy();
m = null
});
return n
}
}, {
"ac-gesture/PointerMove": 268,
"ac-object/create": 376
}],
330: [function(d, f, c) {
var b = d("ac-function/debounce");
var h = d("ac-dom-events/addEventListener");
var a = d("ac-dom-events/removeEventListener");
var g = d("ac-object/create");
var j = {
resize: function(k) {
this.stateMachine.handleInput("resize", k)
}
};
f.exports = function(l, n) {
n = n || {};
if (typeof n.debounceTimeout === "number") {
n.debounceTimeout = n.debounceTimeout
} else {
n.debounceTimeout = 300
}
var m = g(j);
m.stateMachine = l.stateMachine;
var o = b(function(p) {
m.resize(p)
}, n.debounceTimeout);
h(window, "resize", o);
function k() {
a(window, "resize", o);
o = null
}
l.once("destroy", k);
return m
}
}, {
"ac-dom-events/addEventListener": 37,
"ac-dom-events/removeEventListener": 45,
"ac-function/debounce": 266,
"ac-object/create": 376
}],
331: [function(c, d, b) {
var g = c("ac-mvc-collection").Collection;
var j = c("ac-mvc-model").Model;
var f = c("ac-object/create");
function a() {
g.apply(this, arguments);
this._selected = null
}
var h = a.prototype = f(g.prototype);
h.ModelType = j;
h.query = function(l) {
var k;
if (typeof l === "number") {
k = this.at(l)
} else {
if (typeof l === "string") {
k = this.get(l)
} else {
if (this.indexOf(l) !== -1) {
k = l
}
}
}
return k
};
h.isEndless = function() {
return !!this.options.endless
};
h.getPrevious = function() {
var k = this.indexOf(this._selected) - 1;
var l;
if (this.isEndless() === true && k < 0) {
k = this.models.length - 1
}
l = this.models[k];
if (l === undefined) {
l = null
}
return l
};
h.getNext = function() {
var k = this.indexOf(this._selected) + 1;
var l;
if (this.isEndless() === true && k === this.models.length) {
k = 0
}
l = this.at(k);
if (l === undefined) {
l = null
}
return l
};
h.getFirst = function() {
return this.at(0)
};
h.getLast = function() {
return this.at(this.models.length - 1)
};
h.count = function() {
return this.models.length
};
h.setSelected = function(k) {
this._selected = this.query(k)
};
h.getSelected = function() {
return this._selected
};
h.indexOfSelected = function() {
return this.indexOf(this._selected)
};
d.exports = a
}, {
"ac-mvc-collection": 292,
"ac-mvc-model": 309,
"ac-object/create": 376
}],
332: [function(c, d, b) {
var g = "Could not trigger event: Event data is invalid";
function f(h, j) {
j = j || {};
this.data = j || {};
this.type = h
}
function a(h) {
if (!h || !h.incoming || !h.outgoing) {
throw new TypeError(g)
}
}
f.create = function(h, j) {
return new f(h, j)
};
f.createWillShowEvent = function(h) {
a(h);
return new f("willShow", h)
};
f.createDidShowEvent = function(h) {
a(h);
return new f("didShow", h)
};
d.exports = f
}, {}],
333: [function(d, f, c) {
var h = d("./../SlideGallery/feature-detect");
var b = d("ac-dom-metrics/getDimensions");
function a(k, j, m, l) {
this.gallery = k;
this.incoming = j;
this.outgoing = m;
this.options = l || {};
this.styles = {}
}
var g = a.prototype;
g._getTranslateXDistance = function(j) {
var k = this.gallery.indexOf(j);
var m = 0;
for (var l = 0; l < k; l += 1) {
m += b(this.gallery.slideAt(l).get("element")).width
}
return -m
};
g._convertTranslateXToLeftIfNoTransformSupport = function() {
if (!h.canUseTransform()) {
this.styles.left = this.styles.transform.translateX;
this.styles.transform = undefined
}
};
g.calculate = function() {
var j = this._getTranslateXDistance(this.incoming);
this.styles = this._buildTransformObject(j)
};
g.setStyles = function(j) {
this.styles = j
};
g._buildTransformObject = function(j) {
return {
transform: {
translateX: j,
translateZ: 0
}
}
};
g._addUnits = function() {
if (!/px/.test(this.styles.transform.translateX)) {
this.styles.transform.translateX += "px"
}
};
g.renderStylesObject = function() {
if (typeof this.options.addDistance === "number") {
this.styles.transform.translateX = parseInt(this.styles.transform.translateX) + this.options.addDistance
}
if (this.options.invert === true) {
this.styles.transform.translateX = -(parseInt(this.styles.transform.translateX))
}
this._addUnits();
this._convertTranslateXToLeftIfNoTransformSupport();
return this.styles
};
f.exports = a
}, {
"./../SlideGallery/feature-detect": 324,
"ac-dom-metrics/getDimensions": 54
}],
334: [function(b, c, a) {
function f(g) {
this.options = g || {};
this._interactions = [];
this._particle = this.options.particle;
this.pixelDistance = this.options.pixelDistance;
this.distance = this.options.distance
}
var d = f.prototype;
d.destroy = function() {
this._particle = null
};
d._updateFromInteraction = function() {
if (this._interactions.length < 2) {
return
}
var m = this._interactions[0];
var l = this._interactions[1];
var n = -(l.pageX - m.pageX);
var h = this.pixelDistance;
var k = this.distance;
var g = n / h;
var j = (k * g);
this._particle.velocity = {
x: j,
y: j
};
this._particle.position.x += this._particle.velocity.x;
this._particle.position.y += this._particle.velocity.y;
this._removeInteraction()
};
d._onUpdate = function(g) {
this._updateFromInteraction()
};
d._removeInteraction = function() {
this._interactions.shift()
};
d.addInteraction = function(g) {
if (this._interactions.length === 2) {
this._removeInteraction()
}
this._interactions.push(g);
this._onUpdate()
};
d.onPointerDown = function(g) {
this.addInteraction(g)
};
d.onPointerMove = function(g) {
g.preventDefault();
this.addInteraction(g)
};
d.onPointerUp = function(g) {
this._interactions = []
};
d.isMovingHorizontally = function() {
if (this._interactions.length < 4) {
return null
}
var l = this._interactions[0];
var h = this._interactions[this._interactions.length - 1];
var m = h.x - l.x;
var k = h.y - l.y;
var g = Math.atan2(k, m);
var j = g * (180 / Math.PI);
return (j < 15)
};
c.exports = f
}, {}],
335: [function(c, d, b) {
var f;
try {
f = c("ac-analytics").observer.Gallery
} catch (g) {}
d.exports = function a(j, h) {
if (!f) {
return
}
var k = new f(j, h);
j.once("destroy", function() {
if (k.gallery) {
k.removeListener()
}
k = null
})
}
}, {
"ac-analytics": "ac-analytics"
}],
336: [function(d, c, f) {
var k = d("ac-object/create");
var b = d("ac-dom-traversal/querySelectorAll");
var j = d("ac-classlist/add");
var g = d("ac-classlist/remove");
var a = "current";
var l = "disabled";
var h = {
paintPaddleNavs: function(m, n) {
if (this.gallery.isEndless()) {
return
}
if (m === this.gallery.getFirst()) {
this.disablePreviousPaddles()
} else {
if (n && n === this.gallery.getFirst()) {
this.enablePreviousPaddles()
}
}
if (m === this.gallery.getLast()) {
this.disableNextPaddles()
} else {
if (n && n === this.gallery.getLast()) {
this.enableNextPaddles()
}
}
},
generateFullSelector: function(n, m) {
return this.selector + '[href="#' + n + "/show/" + m + '"]'
},
addClassNameToElements: function(n, m) {
n.forEach(function(o) {
j(o, m)
})
},
removeClassNameFromElements: function(n, m) {
n.forEach(function(o) {
g(o, m)
})
},
getElementsPointingToSlide: function(n) {
var m = this.generateFullSelector(this.gallery.id, n.id);
return b(m)
},
getNextPaddleNavs: function() {
var m = this.selector + '[href="#' + this.gallery.id + '/next"]';
return b(m)
},
getPreviousPaddleNavs: function() {
var m = this.selector + '[href="#' + this.gallery.id + '/previous"]';
return b(m)
},
disableNextPaddles: function() {
var m = this.getNextPaddleNavs();
this.addClassNameToElements(m, l)
},
enableNextPaddles: function() {
var m = this.getNextPaddleNavs();
this.removeClassNameFromElements(m, l)
},
disablePreviousPaddles: function() {
var m = this.getPreviousPaddleNavs();
this.addClassNameToElements(m, l)
},
enablePreviousPaddles: function() {
var m = this.getPreviousPaddleNavs();
this.removeClassNameFromElements(m, l)
},
onWillShow: function(m) {
var n = this.getElementsPointingToSlide(m.incoming);
this.addClassNameToElements(n, a);
var o = this.getElementsPointingToSlide(m.outgoing);
this.removeClassNameFromElements(o, a);
if (this.gallery.isEndless()) {
return
}
if (m.incoming === this.gallery.getFirst()) {
this.disablePreviousPaddles()
} else {
if (m.outgoing === this.gallery.getFirst()) {
this.enablePreviousPaddles()
}
}
if (m.incoming === this.gallery.getLast()) {
this.disableNextPaddles()
} else {
if (m.outgoing === this.gallery.getLast()) {
this.enableNextPaddles()
}
}
this.paintPaddleNavs(m.incoming, m.outgoing)
},
onReady: function() {
var n = this.gallery.getSelected();
var m = b(this.selector);
this.removeClassNameFromElements(m, a);
var o = this.getElementsPointingToSlide(n);
this.addClassNameToElements(o, a);
this.paintPaddleNavs(n)
}
};
c.exports = function(m, o) {
o = o || {};
var n = k(h);
n.selector = o.selector;
n.gallery = m;
n.onWillShow = n.onWillShow.bind(n);
n.onReady = n.onReady.bind(n);
m.on("willShow", n.onWillShow);
m.once("ready", n.onReady);
m.once("destroy", function() {
m.off("willShow", n.onWillShow);
m.off("ready", n.onReady);
var p = n.getElementsPointingToSlide(m.getSelected());
n.removeClassNameFromElements(p, a);
n = null
});
return n
}
}, {
"ac-classlist/add": 5,
"ac-classlist/remove": 13,
"ac-dom-traversal/querySelectorAll": 121,
"ac-object/create": 376
}],
337: [function(c, d, b) {
var a = c("ac-state-machine").State;
var f = c("ac-object/create");
var j = c("./factory");
var h = function(k, l) {
a.apply(this, arguments);
this.gallery = k;
this.options = l || {}
};
var g = h.prototype = f(a.prototype);
g.onDealloc = function(l, k) {
l.changeState(j.create("dealloc", this.gallery), k)
};
d.exports = h
}, {
"./factory": 341,
"ac-object/create": 376,
"ac-state-machine": 319
}],
338: [function(b, c, a) {
var g = b("./GalleryState");
var d = b("ac-object/create");
var h = function() {
g.apply(this, arguments)
};
var f = h.prototype = d(g.prototype);
f.name = "dealloc";
f.onEnter = function(k, j) {
this.gallery.destroy();
this.gallery.trigger("destroy");
this.gallery.off()
};
c.exports = h
}, {
"./GalleryState": 337,
"ac-object/create": 376
}],
339: [function(b, a, f) {
var d = b("./GalleryState");
var h = b("ac-object/create");
var k = b("./../model/UserDrag");
var c = b("./factory");
function j() {
d.apply(this, arguments);
this.index = (typeof this.options.startIndex === "number") ? this.options.startIndex : this.gallery.getSelectedIndex();
this.count = this.gallery.count();
this.stops = this._generateStops();
this.particle = this.options.particle || this._createParticle();
this.distance = this.stops[1]
}
var g = j.prototype = h(d.prototype);
g.name = "dragging";
g._createParticle = function() {
return {
position: {
x: this.stops[this.index],
y: this.stops[this.index]
},
mass: 0.5
}
};
g._generateStops = function() {
var n = this.count - 1;
var m = [];
var l = 0;
while (l <= n) {
m.push(l / n);
l += 1
}
return m
};
g.onEnter = function(m, l) {
if (m.previousState.name !== "seeking") {
this.userDragModel = new k({
pixelDistance: l.element.offsetWidth,
startIndex: this.startIndex,
count: this.count,
particle: this.particle,
distance: this.distance
});
this.userDragModel.onPointerDown(l.interactionEvent);
m.changeState(c.create("seeking", this.gallery), {
progress: this.particle.position.x
})
}
};
g.onExit = function(m, l) {
if (m.currentState.name !== "seeking") {
this.userDragModel.destroy();
this.userDragModel = null;
this.boundOnPointerComplete = null;
this.gallery = null
}
};
g.pointerMove = function(n, m) {
this.userDragModel.onPointerMove(m.interactionEvent);
var l = this.particle.position;
n.changeState(c.create("seeking", this.gallery), {
progress: l.x
})
};
g.getNextPosition = function() {
var l = this.index;
if (this.particle.velocity.x > 0) {
l += 1;
if (l >= this.stops.length) {
l = this.stops.length - 1
}
} else {
l -= 1;
if (l < 0) {
l = 0
}
}
return this.stops[l]
};
g.getNextIndex = function() {
return this.stops.indexOf(this.getNextPosition())
};
g.pointerUp = function(m, l) {
this.userDragModel.onPointerUp(l.interactionEvent);
if (this.gallery.canSpring !== false) {
m.changeState(c.create("springing", this.gallery, {
particle: this.particle,
equilibrium: this.getNextPosition(),
index: this.getNextIndex(),
interactionEvent: l.interactionEvent
}), l)
} else {
l = l || {};
l.incoming = this.gallery.slideAt(this.getNextIndex());
l.outgoing = this.gallery.getSelected();
m.changeState(c.create("drawing", this.gallery), l)
}
};
a.exports = j
}, {
"./../model/UserDrag": 334,
"./GalleryState": 337,
"./factory": 341,
"ac-object/create": 376
}],
340: [function(c, b, h) {
var a = c("ac-console");
var k = c("ac-object/create");
var f = c("./GalleryState");
var d = c("./factory");
var g = c("./../model/GalleryEvent");
var l = function() {
f.apply(this, arguments);
this._nextState = "idle"
};
var j = l.prototype = k(f.prototype);
j.name = "drawing";
j.engagementChange = function(n, m) {
this._nextState = "not_engaged"
};
j.pointerMove = function(n, m) {
m.interactionEvent.preventDefault()
};
j.onDealloc = function(n, m) {
this._nextState = "dealloc"
};
j.onEnter = function(o, p) {
var u = this.gallery;
var n = p.incoming;
var q = p.outgoing;
var t = p.options || {};
var m = t.interactionEvent || p.interactionEvent || u.interactionEvent;
var r = {
incoming: n,
outgoing: q,
interactionEvent: m,
options: t
};
var s = Promise.resolve();
if (n !== q) {
u.sendGalleryEvent(g.createWillShowEvent(r));
s = s.then(u.beforeDraw.bind(u, n, q, t)).then(u.draw.bind(u, n, q, t)).then(u.afterDraw.bind(u, n, q, t))
} else {
this._nextState = "idle"
}
return s.then(function() {
o.changeState(d.create(this._nextState, u), {
incoming: n,
outgoing: q,
event: r
})
}.bind(this))["catch"](function(v) {
a.log(v)
})
};
j.onExit = function(o, n) {
var m = this.gallery;
if (o.currentState.name !== "dealloc" && m.getSelected() !== n.incoming) {
m.model.setSelected(n.incoming);
m.sendGalleryEvent(g.createDidShowEvent(n.event))
}
this._nextState = null
};
b.exports = l
}, {
"./../model/GalleryEvent": 332,
"./GalleryState": 337,
"./factory": 341,
"ac-console": 31,
"ac-object/create": 376
}],
341: [function(c, d, b) {
var a;
d.exports = {
create: function f(j, g, h) {
var k = a[j];
if (!k) {
throw new Error('Could not create state: state "' + j + '" not found')
}
return new k(g, h)
}
};
a = {
initialize: c("./initialize"),
idle: c("./idle"),
not_engaged: c("./not_engaged"),
seeking: c("./seeking"),
resize: c("./resize"),
dealloc: c("./dealloc"),
drawing: c("./drawing"),
dragging: c("./dragging"),
springing: c("./springing")
}
}, {
"./dealloc": 338,
"./dragging": 339,
"./drawing": 340,
"./idle": 342,
"./initialize": 343,
"./not_engaged": 344,
"./resize": 345,
"./seeking": 346,
"./springing": 347
}],
342: [function(b, c, a) {
var g = b("./GalleryState");
var d = b("ac-object/create");
var h = b("./factory");
var j = function() {
g.apply(this, arguments)
};
var f = j.prototype = d(g.prototype);
f.name = "idle";
f.engagementChange = function(l, k) {
if (k.engaged === false) {
l.changeState(h.create("not_engaged", this.gallery), k)
}
};
f.seek = function(l, k) {
l.changeState(h.create("seeking", this.gallery), k)
};
f.trigger = function(m, k) {
var l = k.target;
this.gallery.interactionEvent = k.interactionEvent;
this.gallery.routes.match(l.getAttribute("href"))
};
f.keydown = function(n, m) {
var l = m.interactionEvent;
var k = ("which" in l) ? l.which : l.keyCode;
if (k === 37) {
this.gallery.showPrevious(m)
} else {
if (k === 39) {
this.gallery.showNext(m)
}
}
};
f.resize = function(l, k) {
l.changeState(h.create("resize", this.gallery), k)
};
f.onClear = function() {
this.gallery.removeStyles()
};
f.pointerDown = function(l, k) {
l.changeState(h.create("dragging", this.gallery), k)
};
f.seek = function(l, k) {
l.changeState(h.create("seeking", this.gallery), k)
};
f.onDraw = function(o, n) {
var k = this.gallery.model.query(n.query);
var m = this.gallery.model.getSelected();
var l = n.options || {};
if (!k || k === m) {
return
}
o.changeState(h.create("drawing", this.gallery), {
incoming: k,
outgoing: m,
options: l
})
};
c.exports = j
}, {
"./GalleryState": 337,
"./factory": 341,
"ac-object/create": 376
}],
343: [function(b, a, g) {
var d = b("./GalleryState");
var j = b("ac-object/create");
var f = b("./../model/GalleryEvent");
var c = b("./factory");
function k() {
d.apply(this, arguments);
this._engaged = true
}
var h = k.prototype = j(d.prototype);
h.name = "initialize";
h.engagementChange = function(m, l) {
this._engaged = l.engaged
};
h.onDraw = function(o, m) {
var l = this.gallery.model.query(m.query);
var n = this.gallery.drawInitial(l);
return Promise.resolve().then(n).then(function() {
var p = "idle";
if (this._engaged === false) {
p = "not_engaged"
}
o.changeState(c.create(p, this.gallery))
}.bind(this))
};
h.onExit = function(n, m) {
var l = f.create("ready", {
incoming: this.gallery.getSelected()
});
this.gallery.sendGalleryEvent(l);
this._engaged = null
};
a.exports = k
}, {
"./../model/GalleryEvent": 332,
"./GalleryState": 337,
"./factory": 341,
"ac-object/create": 376
}],
344: [function(c, d, b) {
var h = c("./GalleryState");
var f = c("ac-object/create");
var j = c("./factory");
function a() {
h.apply(this, arguments)
}
var g = a.prototype = f(h.prototype);
g.name = "not_engaged";
g.resize = function(l, k) {
l.changeState(j.create("resize", this.gallery), k)
};
g.engagementChange = function(l, k) {
if (k.engaged === true) {
l.changeState(j.create("idle", this.gallery))
}
};
d.exports = a
}, {
"./GalleryState": 337,
"./factory": 341,
"ac-object/create": 376
}],
345: [function(c, d, b) {
var j = c("./GalleryState");
var g = c("./../model/GalleryEvent");
var f = c("ac-object/create");
var a = function() {
j.apply(this, arguments)
};
var h = a.prototype = f(j.prototype);
h.name = "resize";
h.onEnter = function(m, l) {
this.gallery.sendGalleryEvent(g.create("resizing"));
var k = this.gallery.getSelected();
Promise.resolve().then(this.gallery.drawResize.bind(this.gallery, k)).then(function() {
m.changeState(m.previousState, l)
}.bind(this))
};
h.onExit = function(l, k) {
this.gallery.sendGalleryEvent(g.create("resized"))
};
d.exports = a
}, {
"./../model/GalleryEvent": 332,
"./GalleryState": 337,
"ac-object/create": 376
}],
346: [function(c, d, b) {
var j = c("./GalleryState");
var g = c("ac-object/create");
var f = c("./../model/GalleryEvent");
function a() {
j.apply(this, arguments)
}
var h = a.prototype = g(j.prototype);
h.name = "seeking";
h.drawProgress = function(k) {
if (k < 0) {
return this.gallery.drawBounceInProgress(Math.abs(k))
} else {
if (k > 1) {
return this.gallery.drawBounceOutProgress(k - 1)
} else {
return this.gallery.drawProgress(k)
}
}
};
h.onEnter = function(m, k) {
var l = {
progress: k.progress
};
this.gallery.sendGalleryEvent(f.create("willseek", l));
this.drawProgress(k.progress);
this.gallery.sendGalleryEvent(f.create("didseek", l));
m.changeState(m.previousState, k)
};
h.onExit = function(l, k) {
this.gallery = null
};
d.exports = a
}, {
"./../model/GalleryEvent": 332,
"./GalleryState": 337,
"ac-object/create": 376
}],
347: [function(d, b, h) {
var g = d("./GalleryState");
var k = d("ac-object/create");
var f = d("./factory");
var a = d("ac-clock").Clock;
var c = d("ac-physics").spring;
function l() {
g.apply(this, arguments);
this.particle = this.options.particle;
this.equilibrium = this.options.equilibrium;
this.index = this.options.index;
this.spring = c.create(this.particle, this.equilibrium);
this.spring.stiffness = -60;
this.spring.damping = -10;
this.interactionEvent = null;
this.clock = new a();
this.clock.start();
this._clockUpdate = this._clockUpdate.bind(this);
this._clockDraw = this._clockDraw.bind(this);
this.clock.on("update", this._clockUpdate);
this.clock.on("draw", this._clockDraw)
}
var j = l.prototype = k(g.prototype);
j.name = "springing";
j.onEnter = function(n, m) {
if (n.previousState.name !== "seeking") {
if (m.interactionEvent.originalEvent) {
this.interactionEvent = m.interactionEvent.originalEvent
} else {
this.interactionEvent = m.interactionEvent
}
this._setLastPosition();
this.fsm = n
}
};
j.onExit = function(n, m) {
if (n.currentState.name !== "seeking") {
this.clock.stop();
this.clock.off();
this.equilibrium = null;
this.index = null;
this.fsm = null;
this.particle = null;
this.spring = null;
this.clock = null;
this.lastPosition = null;
this.interactionEvent = null
}
};
j.pointerDown = function(n, m) {
n.changeState(f.create("dragging", this.gallery, {
particle: this.particle,
startIndex: this.index
}), m)
};
j._clockUpdate = function(m) {
var n = Math.abs(this.particle.position.x - this.spring.equilibrium);
if (m.fps === 0) {
return
}
if (n > 0.0005) {
this.spring.update(m)
} else {
this.particle.position.x = this.spring.equilibrium
}
};
j._clockDraw = function(m) {
var n;
if (this._shouldDraw()) {
n = Math.abs(this.particle.position.x - this.spring.equilibrium);
this._setLastPosition();
if (n !== 0) {
this.fsm.changeState(f.create("seeking", this.gallery), {
progress: this.particle.position.x
})
} else {
this.fsm.changeState(f.create("drawing", this.gallery), {
incoming: this.gallery.slideAt(this.index),
outgoing: this.gallery.getSelected(),
options: {
interactionEvent: this.interactionEvent
}
})
}
}
};
j._setLastPosition = function() {
this.lastPosition = {
x: this.particle.position.x,
y: this.particle.position.y
}
};
j._shouldDraw = function() {
if (this.lastPosition.x === this.particle.position.x && this.lastPosition.y === this.particle.position.y) {
return false
}
return true
};
b.exports = l
}, {
"./GalleryState": 337,
"./factory": 341,
"ac-clock": 260,
"ac-object/create": 376,
"ac-physics": 312
}],
348: [function(b, c, a) {
var d = b("./ac-color/Color");
d.decimalToHex = b("./ac-color/static/decimalToHex");
d.hexToDecimal = b("./ac-color/static/hexToDecimal");
d.hexToRgb = b("./ac-color/static/hexToRgb");
d.isColor = b("./ac-color/static/isColor");
d.isHex = b("./ac-color/static/isHex");
d.isRgb = b("./ac-color/static/isRgb");
d.isRgba = b("./ac-color/static/isRgba");
d.mixColors = b("./ac-color/static/mixColors");
d.rgbaToArray = b("./ac-color/static/rgbaToArray");
d.rgbToArray = b("./ac-color/static/rgbToArray");
d.rgbToDecimal = b("./ac-color/static/rgbToDecimal");
d.rgbToHex = b("./ac-color/static/rgbToHex");
d.rgbToHsl = b("./ac-color/static/rgbToHsl");
d.rgbToHsv = b("./ac-color/static/rgbToHsv");
d.rgbaToObject = b("./ac-color/static/rgbaToObject");
d.rgbToObject = b("./ac-color/static/rgbToObject");
d.shortToLongHex = b("./ac-color/static/shortToLongHex");
c.exports = {
Color: d
}
}, {
"./ac-color/Color": 349,
"./ac-color/static/decimalToHex": 351,
"./ac-color/static/hexToDecimal": 352,
"./ac-color/static/hexToRgb": 353,
"./ac-color/static/isColor": 354,
"./ac-color/static/isHex": 355,
"./ac-color/static/isRgb": 356,
"./ac-color/static/isRgba": 357,
"./ac-color/static/mixColors": 358,
"./ac-color/static/rgbToArray": 359,
"./ac-color/static/rgbToDecimal": 360,
"./ac-color/static/rgbToHex": 361,
"./ac-color/static/rgbToHsl": 362,
"./ac-color/static/rgbToHsv": 363,
"./ac-color/static/rgbToObject": 364,
"./ac-color/static/rgbaToArray": 365,
"./ac-color/static/rgbaToObject": 366,
"./ac-color/static/shortToLongHex": 367
}],
349: [function(d, a, r) {
var h = d("./helpers/cssColorNames");
var n = d("./static/hexToRgb");
var m = d("./static/isColor");
var f = d("./static/isHex");
var b = d("./static/isRgba");
var q = d("./static/mixColors");
var l = d("./static/rgbaToArray");
var o = d("./static/rgbToArray");
var t = d("./static/rgbToDecimal");
var j = d("./static/rgbToHex");
var c = d("./static/rgbaToObject");
var k = d("./static/rgbToObject");
var p = d("./static/shortToLongHex");
function s(u) {
if (!m(u) && !h.nameToRgbObject[u]) {
throw new Error(u + " is not a supported color.")
}
this._setColor(u)
}
var g = s.prototype;
g._setColor = function(u) {
this._color = {};
if (f(u)) {
this._color.hex = p(u);
this._color.rgb = {
color: n(u)
}
} else {
if (b(u)) {
this._color.rgba = {
color: u
};
var w = this.rgbaObject();
this._color.rgb = {
color: "rgb(" + w.r + ", " + w.g + ", " + w.b + ")"
}
} else {
if (h.nameToRgbObject[u]) {
var v = h.nameToRgbObject[u];
this._color.rgb = {
object: v,
color: "rgb(" + v.r + ", " + v.g + ", " + v.b + ")"
}
} else {
this._color.rgb = {
color: u
}
}
}
}
};
g.rgb = function() {
return this._color.rgb.color
};
g.rgba = function() {
if (this._color.rgba === undefined) {
var u = this.rgbObject();
this._color.rgba = {
color: "rgba(" + u.r + ", " + u.g + ", " + u.b + ", 1)"
}
}
return this._color.rgba.color
};
g.hex = function() {
if (this._color.hex === undefined) {
this._color.hex = j.apply(this, this.rgbArray())
}
return this._color.hex
};
g.decimal = function() {
if (this._color.decimal === undefined) {
this._color.decimal = t(this.rgb())
}
return this._color.decimal
};
g.cssName = function() {
return h.rgbToName[this.rgb()] || null
};
g.rgbArray = function() {
if (this._color.rgb.array === undefined) {
this._color.rgb.array = o(this.rgb())
}
return this._color.rgb.array
};
g.rgbaArray = function() {
if (this._color.rgba === undefined) {
this.rgba()
}
if (this._color.rgba.array === undefined) {
this._color.rgba.array = l(this.rgba())
}
return this._color.rgba.array
};
g.rgbObject = function() {
if (this._color.rgb.object === undefined) {
this._color.rgb.object = k(this.rgb())
}
return this._color.rgb.object
};
g.rgbaObject = function() {
if (this._color.rgba === undefined) {
this.rgba()
}
if (this._color.rgba.object === undefined) {
this._color.rgba.object = c(this.rgba())
}
return this._color.rgba.object
};
g.getRed = function() {
return this.rgbObject().r
};
g.getGreen = function() {
return this.rgbObject().g
};
g.getBlue = function() {
return this.rgbObject().b
};
g.getAlpha = function() {
if (this._color.rgba === undefined) {
return 1
}
return this.rgbaObject().a
};
g.setRed = function(u) {
if (u !== this.getRed()) {
this._setColor("rgba(" + u + ", " + this.getGreen() + ", " + this.getBlue() + ", " + this.getAlpha() + ")")
}
return this.rgbObject().r
};
g.setGreen = function(u) {
if (u !== this.getGreen()) {
this._setColor("rgba(" + this.getRed() + ", " + u + ", " + this.getBlue() + ", " + this.getAlpha() + ")")
}
return this.rgbObject().g
};
g.setBlue = function(u) {
if (u !== this.getBlue()) {
this._setColor("rgba(" + this.getRed() + ", " + this.getGreen() + ", " + u + ", " + this.getAlpha() + ")")
}
return this.rgbObject().b
};
g.setAlpha = function(u) {
if (u !== this.getAlpha()) {
this._setColor("rgba(" + this.getRed() + ", " + this.getGreen() + ", " + this.getBlue() + ", " + u + ")")
}
return this.rgbaObject().a
};
g.mix = function(u, v) {
var w = k(q(this.rgb(), u, v));
this._setColor("rgba(" + w.r + ", " + w.g + ", " + w.b + ", " + this.getAlpha() + ")");
return this.rgb()
};
g.clone = function() {
return new s(this.rgb())
};
a.exports = s
}, {
"./helpers/cssColorNames": 350,
"./static/hexToRgb": 353,
"./static/isColor": 354,
"./static/isHex": 355,
"./static/isRgba": 357,
"./static/mixColors": 358,
"./static/rgbToArray": 359,
"./static/rgbToDecimal": 360,
"./static/rgbToHex": 361,
"./static/rgbToObject": 364,
"./static/rgbaToArray": 365,
"./static/rgbaToObject": 366,
"./static/shortToLongHex": 367
}],
350: [function(b, c, a) {
var d = {
"rgb(240, 248, 255)": "aliceblue",
"rgb(250, 235, 215)": "antiquewhite",
"rgb(0, 0, 0)": "black",
"rgb(0, 0, 255)": "blue",
"rgb(0, 255, 255)": "cyan",
"rgb(0, 0, 139)": "darkblue",
"rgb(0, 139, 139)": "darkcyan",
"rgb(0, 100, 0)": "darkgreen",
"rgb(0, 206, 209)": "darkturquoise",
"rgb(0, 191, 255)": "deepskyblue",
"rgb(0, 128, 0)": "green",
"rgb(0, 255, 0)": "lime",
"rgb(0, 0, 205)": "mediumblue",
"rgb(0, 250, 154)": "mediumspringgreen",
"rgb(0, 0, 128)": "navy",
"rgb(0, 255, 127)": "springgreen",
"rgb(0, 128, 128)": "teal",
"rgb(25, 25, 112)": "midnightblue",
"rgb(30, 144, 255)": "dodgerblue",
"rgb(32, 178, 170)": "lightseagreen",
"rgb(34, 139, 34)": "forestgreen",
"rgb(46, 139, 87)": "seagreen",
"rgb(47, 79, 79)": "darkslategray",
"rgb(50, 205, 50)": "limegreen",
"rgb(60, 179, 113)": "mediumseagreen",
"rgb(64, 224, 208)": "turquoise",
"rgb(65, 105, 225)": "royalblue",
"rgb(70, 130, 180)": "steelblue",
"rgb(72, 61, 139)": "darkslateblue",
"rgb(72, 209, 204)": "mediumturquoise",
"rgb(75, 0, 130)": "indigo",
"rgb(85, 107, 47)": "darkolivegreen",
"rgb(95, 158, 160)": "cadetblue",
"rgb(100, 149, 237)": "cornflowerblue",
"rgb(102, 205, 170)": "mediumaquamarine",
"rgb(105, 105, 105)": "dimgray",
"rgb(106, 90, 205)": "slateblue",
"rgb(107, 142, 35)": "olivedrab",
"rgb(112, 128, 144)": "slategray",
"rgb(119, 136, 153)": "lightslategray",
"rgb(123, 104, 238)": "mediumslateblue",
"rgb(124, 252, 0)": "lawngreen",
"rgb(127, 255, 212)": "aquamarine",
"rgb(127, 255, 0)": "chartreuse",
"rgb(128, 128, 128)": "gray",
"rgb(128, 0, 0)": "maroon",
"rgb(128, 128, 0)": "olive",
"rgb(128, 0, 128)": "purple",
"rgb(135, 206, 250)": "lightskyblue",
"rgb(135, 206, 235)": "skyblue",
"rgb(138, 43, 226)": "blueviolet",
"rgb(139, 0, 139)": "darkmagenta",
"rgb(139, 0, 0)": "darkred",
"rgb(139, 69, 19)": "saddlebrown",
"rgb(143, 188, 143)": "darkseagreen",
"rgb(144, 238, 144)": "lightgreen",
"rgb(147, 112, 219)": "mediumpurple",
"rgb(148, 0, 211)": "darkviolet",
"rgb(152, 251, 152)": "palegreen",
"rgb(153, 50, 204)": "darkorchid",
"rgb(154, 205, 50)": "yellowgreen",
"rgb(160, 82, 45)": "sienna",
"rgb(165, 42, 42)": "brown",
"rgb(169, 169, 169)": "darkgray",
"rgb(173, 255, 47)": "greenyellow",
"rgb(173, 216, 230)": "lightblue",
"rgb(175, 238, 238)": "paleturquoise",
"rgb(176, 196, 222)": "lightsteelblue",
"rgb(176, 224, 230)": "powderblue",
"rgb(178, 34, 34)": "firebrick",
"rgb(184, 134, 11)": "darkgoldenrod",
"rgb(186, 85, 211)": "mediumorchid",
"rgb(188, 143, 143)": "rosybrown",
"rgb(189, 183, 107)": "darkkhaki",
"rgb(192, 192, 192)": "silver",
"rgb(199, 21, 133)": "mediumvioletred",
"rgb(205, 92, 92)": "indianred",
"rgb(205, 133, 63)": "peru",
"rgb(210, 105, 30)": "chocolate",
"rgb(210, 180, 140)": "tan",
"rgb(211, 211, 211)": "lightgray",
"rgb(216, 191, 216)": "thistle",
"rgb(218, 165, 32)": "goldenrod",
"rgb(218, 112, 214)": "orchid",
"rgb(219, 112, 147)": "palevioletred",
"rgb(220, 20, 60)": "crimson",
"rgb(220, 220, 220)": "gainsboro",
"rgb(221, 160, 221)": "plum",
"rgb(222, 184, 135)": "burlywood",
"rgb(224, 255, 255)": "lightcyan",
"rgb(230, 230, 250)": "lavender",
"rgb(233, 150, 122)": "darksalmon",
"rgb(238, 232, 170)": "palegoldenrod",
"rgb(238, 130, 238)": "violet",
"rgb(240, 255, 255)": "azure",
"rgb(240, 255, 240)": "honeydew",
"rgb(240, 230, 140)": "khaki",
"rgb(240, 128, 128)": "lightcoral",
"rgb(244, 164, 96)": "sandybrown",
"rgb(245, 245, 220)": "beige",
"rgb(245, 255, 250)": "mintcream",
"rgb(245, 222, 179)": "wheat",
"rgb(245, 245, 245)": "whitesmoke",
"rgb(248, 248, 255)": "ghostwhite",
"rgb(250, 250, 210)": "lightgoldenrodyellow",
"rgb(250, 240, 230)": "linen",
"rgb(250, 128, 114)": "salmon",
"rgb(253, 245, 230)": "oldlace",
"rgb(255, 228, 196)": "bisque",
"rgb(255, 235, 205)": "blanchedalmond",
"rgb(255, 127, 80)": "coral",
"rgb(255, 248, 220)": "cornsilk",
"rgb(255, 140, 0)": "darkorange",
"rgb(255, 20, 147)": "deeppink",
"rgb(255, 250, 240)": "floralwhite",
"rgb(255, 215, 0)": "gold",
"rgb(255, 105, 180)": "hotpink",
"rgb(255, 255, 240)": "ivory",
"rgb(255, 240, 245)": "lavenderblush",
"rgb(255, 250, 205)": "lemonchiffon",
"rgb(255, 182, 193)": "lightpink",
"rgb(255, 160, 122)": "lightsalmon",
"rgb(255, 255, 224)": "lightyellow",
"rgb(255, 0, 255)": "magenta",
"rgb(255, 228, 225)": "mistyrose",
"rgb(255, 228, 181)": "moccasin",
"rgb(255, 222, 173)": "navajowhite",
"rgb(255, 165, 0)": "orange",
"rgb(255, 69, 0)": "orangered",
"rgb(255, 239, 213)": "papayawhip",
"rgb(255, 218, 185)": "peachpuff",
"rgb(255, 192, 203)": "pink",
"rgb(255, 0, 0)": "red",
"rgb(255, 245, 238)": "seashell",
"rgb(255, 250, 250)": "snow",
"rgb(255, 99, 71)": "tomato",
"rgb(255, 255, 255)": "white",
"rgb(255, 255, 0)": "yellow",
"rgb(102, 51, 153)": "rebeccapurple"
};
var f = {
aqua: {
r: 0,
g: 255,
b: 255
},
aliceblue: {
r: 240,
g: 248,
b: 255
},
antiquewhite: {
r: 250,
g: 235,
b: 215
},
black: {
r: 0,
g: 0,
b: 0
},
blue: {
r: 0,
g: 0,
b: 255
},
cyan: {
r: 0,
g: 255,
b: 255
},
darkblue: {
r: 0,
g: 0,
b: 139
},
darkcyan: {
r: 0,
g: 139,
b: 139
},
darkgreen: {
r: 0,
g: 100,
b: 0
},
darkturquoise: {
r: 0,
g: 206,
b: 209
},
deepskyblue: {
r: 0,
g: 191,
b: 255
},
green: {
r: 0,
g: 128,
b: 0
},
lime: {
r: 0,
g: 255,
b: 0
},
mediumblue: {
r: 0,
g: 0,
b: 205
},
mediumspringgreen: {
r: 0,
g: 250,
b: 154
},
navy: {
r: 0,
g: 0,
b: 128
},
springgreen: {
r: 0,
g: 255,
b: 127
},
teal: {
r: 0,
g: 128,
b: 128
},
midnightblue: {
r: 25,
g: 25,
b: 112
},
dodgerblue: {
r: 30,
g: 144,
b: 255
},
lightseagreen: {
r: 32,
g: 178,
b: 170
},
forestgreen: {
r: 34,
g: 139,
b: 34
},
seagreen: {
r: 46,
g: 139,
b: 87
},
darkslategray: {
r: 47,
g: 79,
b: 79
},
darkslategrey: {
r: 47,
g: 79,
b: 79
},
limegreen: {
r: 50,
g: 205,
b: 50
},
mediumseagreen: {
r: 60,
g: 179,
b: 113
},
turquoise: {
r: 64,
g: 224,
b: 208
},
royalblue: {
r: 65,
g: 105,
b: 225
},
steelblue: {
r: 70,
g: 130,
b: 180
},
darkslateblue: {
r: 72,
g: 61,
b: 139
},
mediumturquoise: {
r: 72,
g: 209,
b: 204
},
indigo: {
r: 75,
g: 0,
b: 130
},
darkolivegreen: {
r: 85,
g: 107,
b: 47
},
cadetblue: {
r: 95,
g: 158,
b: 160
},
cornflowerblue: {
r: 100,
g: 149,
b: 237
},
mediumaquamarine: {
r: 102,
g: 205,
b: 170
},
dimgray: {
r: 105,
g: 105,
b: 105
},
dimgrey: {
r: 105,
g: 105,
b: 105
},
slateblue: {
r: 106,
g: 90,
b: 205
},
olivedrab: {
r: 107,
g: 142,
b: 35
},
slategray: {
r: 112,
g: 128,
b: 144
},
slategrey: {
r: 112,
g: 128,
b: 144
},
lightslategray: {
r: 119,
g: 136,
b: 153
},
lightslategrey: {
r: 119,
g: 136,
b: 153
},
mediumslateblue: {
r: 123,
g: 104,
b: 238
},
lawngreen: {
r: 124,
g: 252,
b: 0
},
aquamarine: {
r: 127,
g: 255,
b: 212
},
chartreuse: {
r: 127,
g: 255,
b: 0
},
gray: {
r: 128,
g: 128,
b: 128
},
grey: {
r: 128,
g: 128,
b: 128
},
maroon: {
r: 128,
g: 0,
b: 0
},
olive: {
r: 128,
g: 128,
b: 0
},
purple: {
r: 128,
g: 0,
b: 128
},
lightskyblue: {
r: 135,
g: 206,
b: 250
},
skyblue: {
r: 135,
g: 206,
b: 235
},
blueviolet: {
r: 138,
g: 43,
b: 226
},
darkmagenta: {
r: 139,
g: 0,
b: 139
},
darkred: {
r: 139,
g: 0,
b: 0
},
saddlebrown: {
r: 139,
g: 69,
b: 19
},
darkseagreen: {
r: 143,
g: 188,
b: 143
},
lightgreen: {
r: 144,
g: 238,
b: 144
},
mediumpurple: {
r: 147,
g: 112,
b: 219
},
darkviolet: {
r: 148,
g: 0,
b: 211
},
palegreen: {
r: 152,
g: 251,
b: 152
},
darkorchid: {
r: 153,
g: 50,
b: 204
},
yellowgreen: {
r: 154,
g: 205,
b: 50
},
sienna: {
r: 160,
g: 82,
b: 45
},
brown: {
r: 165,
g: 42,
b: 42
},
darkgray: {
r: 169,
g: 169,
b: 169
},
darkgrey: {
r: 169,
g: 169,
b: 169
},
greenyellow: {
r: 173,
g: 255,
b: 47
},
lightblue: {
r: 173,
g: 216,
b: 230
},
paleturquoise: {
r: 175,
g: 238,
b: 238
},
lightsteelblue: {
r: 176,
g: 196,
b: 222
},
powderblue: {
r: 176,
g: 224,
b: 230
},
firebrick: {
r: 178,
g: 34,
b: 34
},
darkgoldenrod: {
r: 184,
g: 134,
b: 11
},
mediumorchid: {
r: 186,
g: 85,
b: 211
},
rosybrown: {
r: 188,
g: 143,
b: 143
},
darkkhaki: {
r: 189,
g: 183,
b: 107
},
silver: {
r: 192,
g: 192,
b: 192
},
mediumvioletred: {
r: 199,
g: 21,
b: 133
},
indianred: {
r: 205,
g: 92,
b: 92
},
peru: {
r: 205,
g: 133,
b: 63
},
chocolate: {
r: 210,
g: 105,
b: 30
},
tan: {
r: 210,
g: 180,
b: 140
},
lightgray: {
r: 211,
g: 211,
b: 211
},
lightgrey: {
r: 211,
g: 211,
b: 211
},
thistle: {
r: 216,
g: 191,
b: 216
},
goldenrod: {
r: 218,
g: 165,
b: 32
},
orchid: {
r: 218,
g: 112,
b: 214
},
palevioletred: {
r: 219,
g: 112,
b: 147
},
crimson: {
r: 220,
g: 20,
b: 60
},
gainsboro: {
r: 220,
g: 220,
b: 220
},
plum: {
r: 221,
g: 160,
b: 221
},
burlywood: {
r: 222,
g: 184,
b: 135
},
lightcyan: {
r: 224,
g: 255,
b: 255
},
lavender: {
r: 230,
g: 230,
b: 250
},
darksalmon: {
r: 233,
g: 150,
b: 122
},
palegoldenrod: {
r: 238,
g: 232,
b: 170
},
violet: {
r: 238,
g: 130,
b: 238
},
azure: {
r: 240,
g: 255,
b: 255
},
honeydew: {
r: 240,
g: 255,
b: 240
},
khaki: {
r: 240,
g: 230,
b: 140
},
lightcoral: {
r: 240,
g: 128,
b: 128
},
sandybrown: {
r: 244,
g: 164,
b: 96
},
beige: {
r: 245,
g: 245,
b: 220
},
mintcream: {
r: 245,
g: 255,
b: 250
},
wheat: {
r: 245,
g: 222,
b: 179
},
whitesmoke: {
r: 245,
g: 245,
b: 245
},
ghostwhite: {
r: 248,
g: 248,
b: 255
},
lightgoldenrodyellow: {
r: 250,
g: 250,
b: 210
},
linen: {
r: 250,
g: 240,
b: 230
},
salmon: {
r: 250,
g: 128,
b: 114
},
oldlace: {
r: 253,
g: 245,
b: 230
},
bisque: {
r: 255,
g: 228,
b: 196
},
blanchedalmond: {
r: 255,
g: 235,
b: 205
},
coral: {
r: 255,
g: 127,
b: 80
},
cornsilk: {
r: 255,
g: 248,
b: 220
},
darkorange: {
r: 255,
g: 140,
b: 0
},
deeppink: {
r: 255,
g: 20,
b: 147
},
floralwhite: {
r: 255,
g: 250,
b: 240
},
fuchsia: {
r: 255,
g: 0,
b: 255
},
gold: {
r: 255,
g: 215,
b: 0
},
hotpink: {
r: 255,
g: 105,
b: 180
},
ivory: {
r: 255,
g: 255,
b: 240
},
lavenderblush: {
r: 255,
g: 240,
b: 245
},
lemonchiffon: {
r: 255,
g: 250,
b: 205
},
lightpink: {
r: 255,
g: 182,
b: 193
},
lightsalmon: {
r: 255,
g: 160,
b: 122
},
lightyellow: {
r: 255,
g: 255,
b: 224
},
magenta: {
r: 255,
g: 0,
b: 255
},
mistyrose: {
r: 255,
g: 228,
b: 225
},
moccasin: {
r: 255,
g: 228,
b: 181
},
navajowhite: {
r: 255,
g: 222,
b: 173
},
orange: {
r: 255,
g: 165,
b: 0
},
orangered: {
r: 255,
g: 69,
b: 0
},
papayawhip: {
r: 255,
g: 239,
b: 213
},
peachpuff: {
r: 255,
g: 218,
b: 185
},
pink: {
r: 255,
g: 192,
b: 203
},
red: {
r: 255,
g: 0,
b: 0
},
seashell: {
r: 255,
g: 245,
b: 238
},
snow: {
r: 255,
g: 250,
b: 250
},
tomato: {
r: 255,
g: 99,
b: 71
},
white: {
r: 255,
g: 255,
b: 255
},
yellow: {
r: 255,
g: 255,
b: 0
},
rebeccapurple: {
r: 102,
g: 51,
b: 153
}
};
c.exports = {
rgbToName: d,
nameToRgbObject: f
}
}, {}],
351: [function(c, d, b) {
d.exports = function a(f) {
return "#" + (f).toString(16)
}
}, {}],
352: [function(c, d, a) {
d.exports = function b(f) {
return parseInt(f.substr(1), 16)
}
}, {}],
353: [function(d, f, c) {
var a = d("./shortToLongHex");
f.exports = function b(h) {
h = a(h);
var g = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(h);
return g ? "rgb(" + parseInt(g[1], 16) + ", " + parseInt(g[2], 16) + ", " + parseInt(g[3], 16) + ")" : null
}
}, {
"./shortToLongHex": 367
}],
354: [function(c, f, b) {
var h = c("./isRgb");
var g = c("./isRgba");
var a = c("./isHex");
f.exports = function d(j) {
return a(j) || h(j) || g(j)
}
}, {
"./isHex": 355,
"./isRgb": 356,
"./isRgba": 357
}],
355: [function(c, d, b) {
d.exports = function a(g) {
var f = /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i;
return f.test(g)
}
}, {}],
356: [function(b, c, a) {
c.exports = function d(g) {
var f = /^rgb\(\s*([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5]),\s*([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5]),\s*([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\s*\)$/;
return f.exec(g) !== null
}
}, {}],
357: [function(b, c, a) {
c.exports = function d(g) {
var f = /^rgba\(\s*([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5]),\s*([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5]),\s*([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5]),\s*(0(\.\d+)?|1(\.0+)?)\s*\)$/;
return f.exec(g) !== null
}
}, {}],
358: [function(d, f, c) {
var b = d("./isHex");
var a = d("./hexToRgb");
var h = d("./rgbToObject");
f.exports = function g(o, n, m) {
o = b(o) ? a(o) : o;
n = b(n) ? a(n) : n;
o = h(o);
n = h(n);
var l = o.r + ((n.r - o.r) * m);
var k = o.g + ((n.g - o.g) * m);
var j = o.b + ((n.b - o.b) * m);
return "rgb(" + Math.round(l) + ", " + Math.round(k) + ", " + Math.round(j) + ")"
}
}, {
"./hexToRgb": 353,
"./isHex": 355,
"./rgbToObject": 364
}],
359: [function(b, c, a) {
var d = b("./rgbToObject");
c.exports = function f(g) {
var h = d(g);
return [h.r, h.g, h.b]
}
}, {
"./rgbToObject": 364
}],
360: [function(d, f, b) {
var c = d("./hexToDecimal");
var h = d("./rgbToArray");
var g = d("./rgbToHex");
f.exports = function a(j) {
var k = g.apply(this, h(j));
return c(k)
}
}, {
"./hexToDecimal": 352,
"./rgbToArray": 359,
"./rgbToHex": 361
}],
361: [function(b, c, a) {
c.exports = function d(j, h, f) {
return "#" + ((1 << 24) + (j << 16) + (h << 8) + f).toString(16).slice(1)
}
}, {}],
362: [function(c, d, b) {
d.exports = function a(f, n, p) {
if (arguments.length !== 3) {
return false
}
f /= 255;
n /= 255;
p /= 255;
var q = Math.max(f, n, p);
var k = Math.min(f, n, p);
var o = q + k;
var t = q - k;
var m;
var u;
var j = (o / 2);
if (q === k) {
m = u = 0
} else {
u = j > 0.5 ? t / (2 - q - k) : t / o;
switch (q) {
case f:
m = (n - p) / t;
break;
case n:
m = 2 + ((p - f) / t);
break;
case p:
m = 4 + ((f - n) / t);
break
}
m *= 60;
if (m < 0) {
m += 360
}
}
return ([m, Math.round(100 * u), Math.round(100 * j)])
}
}, {}],
363: [function(c, d, a) {
d.exports = function b(f, n, o) {
if (arguments.length !== 3) {
return false
}
var j = f / 255;
var k = n / 255;
var q = o / 255;
var p = Math.max(j, k, q);
var l = Math.min(j, k, q);
var m;
var w;
var u = p;
var t = p - l;
w = p === 0 ? 0 : t / p;
if (p === l) {
m = 0
} else {
switch (p) {
case j:
m = (k - q) / t + (k < q ? 6 : 0);
break;
case k:
m = (q - j) / t + 2;
break;
case q:
m = (j - k) / t + 4;
break
}
m /= 6
}
return [Math.round(360 * m), Math.round(100 * w), Math.round(100 * u)]
}
}, {}],
364: [function(b, c, a) {
c.exports = function d(g) {
var h = /rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)/;
var f = h.exec(g);
return {
r: Number(f[1]),
g: Number(f[2]),
b: Number(f[3])
}
}
}, {}],
365: [function(b, c, a) {
var f = b("./rgbaToObject");
c.exports = function d(g) {
var h = f(g);
return [h.r, h.g, h.b, h.a]
}
}, {
"./rgbaToObject": 366
}],
366: [function(b, c, a) {
c.exports = function d(g) {
var h = /rgba\(\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*(0(\.\d+)?|1(\.0+)?)\s*\)/;
var f = h.exec(g);
return {
r: Number(f[1]),
g: Number(f[2]),
b: Number(f[3]),
a: Number(f[4])
}
}
}, {}],
367: [function(c, d, b) {
d.exports = function a(g) {
var f = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
g = g.replace(f, function(j, l, k, h) {
return "#" + l + l + k + k + h + h
});
return g
}
}, {}],
368: [function(b, c, a) {
c.exports = {
Bar: b("./ac-graph/Bar"),
CurvedLine: b("./ac-graph/CurvedLine"),
Donut: b("./ac-graph/Donut")
}
}, {
"./ac-graph/Bar": 369,
"./ac-graph/CurvedLine": 370,
"./ac-graph/Donut": 371
}],
369: [function(d, f, b) {
var c = d("ac-clip").Clip;
var j = d("ac-clock");
var h = d("ac-color").Color;
function a(l, k) {
try {
this.resolutionFactor = (!!window.devicePixelRatio) ? Math.ceil(window.devicePixelRatio) : 1;
this.el = l;
this.set(k)
} catch (m) {
console.log("Bar graph failure: " + m);
return
}
}
var g = a.prototype;
g.play = function() {
if (this.clips && this.clips.length > 0) {
var n;
for (var m = 0, k = this.clips.length; m < k; m += 1) {
n = this.clips[m];
n.play()
}
}
};
g.set = function(m) {
this.options = m || {};
this.clock = this.options.clock || j;
if (!this.options.bars) {
throw "No graph data provided"
}
this.calcHeight = (this.options.bars.length * this.options.barHeight) + (this.options.bars.length * this.options.barMargin * 2);
this.width = this.options.width || this._getSizeFromEl().width;
this.height = this.options.height || this.calcHeight;
if (this.canvas) {
this.context.clearRect(0, 0, this.width, this.height)
} else {
this.canvas = this.options.canvas || this._createCanvas()
}
if (!!this.canvas.getContext("2d")) {
this.context = this.canvas.getContext("2d")
} else {
throw "Canvas not supported"
}
this.canvas.width = this.width * this.resolutionFactor;
this.canvas.height = this.height * this.resolutionFactor;
this.context.scale(this.resolutionFactor, this.resolutionFactor);
this.options.barHeight = this.options.barHeight || 10;
this.options.barMargin = this.options.barMargin || this.options.barHeight;
this.options.duration = this.options.duration || 1;
this.options.verticalRule = this.options.verticalRule || {};
this.options.verticalRule.lineWidth = this.options.verticalRule.lineWidth || 2;
this.options.verticalRule.color = this.options.verticalRule.color || "#ddd";
this.options.verticalRule.number = this.options.verticalRule.number || 5;
for (var n = 0, l = this.options.bars.length; n < l; n++) {
this.options.bars[n].percent = this.options.bars[n].percent || 0.5;
this.options.bars[n].colorStart = this.options.bars[n].colorStart || "#ccc";
this.options.bars[n].colorEnd = this.options.bars[n].colorEnd || "#777"
}
this.options.padding = this.options.padding || this.options.verticalRule.lineWidth / 2;
this.points = [];
var p = {
_progress: 0
};
var o = {
_progress: 1
};
var k = new c(p, this.options.duration, o, {
onDraw: this._onDraw.bind(this),
onStart: this.options.onStart,
onUpdate: this.options.onUpdate,
onComplete: this.options.onComplete
});
this.clips = [];
this.clips.push(k)
};
g._barWidth = function(k) {
return (this.width - (this.options.padding * 2)) * k
};
g._createCanvas = function() {
var k = document.createElement("canvas");
this.el.appendChild(k);
return k
};
g._getGradient = function(l) {
var n = this.context.createLinearGradient(this._x(0), 0, this._x(l.percent), 0);
var k = new h(l.colorStart);
var m = new h(l.colorEnd);
n.addColorStop(0, k.rgb());
n.addColorStop(1, m.rgb());
return n
};
g._getSizeFromEl = function() {
return {
height: this.el.offsetHeight,
width: this.el.offsetWidth
}
};
g._onDraw = function(r) {
var u = r.target;
var v = this.context;
v.clearRect(0, 0, this.canvas.width, this.canvas.height);
v.save();
for (var n = 0, k = this.options.verticalRule.number; n < k; n++) {
var s = this.options.verticalRule;
if (s.number > 0) {
var o = this._x(n / (k - 1));
v.beginPath();
v.strokeStyle = s.color;
v.lineWidth = s.lineWidth;
v.moveTo(o, this._y(0));
v.lineTo(o, this._y(1));
v.stroke()
}
}
for (var t = 0, p = this.options.bars.length; t < p; t++) {
var q = this.options.bars[t];
var m = ((t * 2 + 1) * this.options.barMargin) + (t * this.options.barHeight);
v.fillStyle = this._getGradient(q);
v.fillRect(this._x(0), m, this._barWidth(q.percent) * u._progress, this.options.barHeight)
}
v.restore()
};
g._x = function(k) {
return (this.width - (this.options.padding * 2)) * k + this.options.padding
};
g._y = function(k) {
return this.height * (1 - k)
};
f.exports = a
}, {
"ac-clip": 21,
"ac-clock": 23,
"ac-color": 348
}],
370: [function(d, c, f) {
var k = d("ac-clip").Clip;
var a = d("ac-clock");
var b = d("ac-color").Color;
var j = d("./curvedLine/spline");
function g(m, l) {
try {
this.resolutionFactor = (!!window.devicePixelRatio) ? Math.ceil(window.devicePixelRatio) : 1;
this.el = m;
this.set(l);
this._drawThesePieces(this.drawOnEvent.load, {
_progress: 1,
atPoint: this.points.length
})
} catch (n) {
console.log("Curved line graph failure: " + n);
return
}
}
var h = g.prototype;
h.play = function() {
if (this.clips && this.clips.length > 0) {
for (var n = 0, m = this.clips.length; n < m; n++) {
this.clips[n].play()
}
}
};
h.set = function(m) {
this.options = m || {};
this.clock = this.options.clock || a;
if (!this.options.graphData) {
throw "No graph data provided"
}
this.graphData = this.options.graphData;
this.duration = this.options.duration || 2;
this.drawOnEvent = {
none: [],
load: [],
play: []
};
this.width = this.options.width || this._getSizeFromEl().width;
this.height = this.options.height || this._getSizeFromEl().height;
if (this.canvas) {
this.context.clearRect(0, 0, this.width, this.height)
} else {
this.canvas = this.options.canvas || this._createCanvas()
}
if (!!this.canvas.getContext("2d")) {
this.context = this.canvas.getContext("2d")
} else {
throw "Canvas not supported"
}
this.canvas.width = this.width * this.resolutionFactor;
this.canvas.height = this.height * this.resolutionFactor;
this.context.scale(this.resolutionFactor, this.resolutionFactor);
this.options.spline = this.options.spline || {};
this.options.spline.draw = this.options.spline.draw || "play";
this.drawOnEvent[this.options.spline.draw].push("spline");
this.options.spline.tension = this.options.spline.tension || 0.4;
this.options.spline.lineWidth = this.options.spline.lineWidth || 2.5;
this.options.spline.colorStart = this.options.spline.colorStart ? this.options.spline.colorStart : "rgb(214,214,214)";
this.options.spline.colorEnd = this.options.spline.colorEnd ? this.options.spline.colorEnd : "rgb(0,0,0)";
this.options.splineDots = this.options.splineDots || {};
this.options.splineDots.draw = this.options.splineDots.draw || "play";
this.drawOnEvent[this.options.splineDots.draw].push("splineDots");
this.options.splineDots.show = this.options.splineDots.show || "all";
this.options.splineDots.size = this.options.splineDots.size || 8;
this.options.splineDots.fillColor = this.options.splineDots.fillColor || "matchSpline";
this.options.splineDots.strokeColor = this.options.splineDots.strokeColor || "transparent";
this.options.splineDots.strokeWidth = this.options.splineDots.strokeWidth || 0;
this.options.xAxis = this.options.xAxis || {};
this.options.xAxis.draw = this.options.xAxis.draw || "load";
this.drawOnEvent[this.options.xAxis.draw].push("xAxis");
this.options.xAxis.show = this.options.xAxis.show || "all";
this.options.xAxis.lineWidth = this.options.xAxis.lineWidth || 1.5;
this.options.xAxis.color = this.options.xAxis.color || "#d2d2d2";
this.options.verticalRule = this.options.verticalRule || {};
this.options.verticalRule.draw = this.options.verticalRule.draw || "play";
this.drawOnEvent[this.options.verticalRule.draw].push("verticalRule");
this.options.verticalRule.lineWidth = this.options.verticalRule.lineWidth || 1.5;
this.options.verticalRule.color = this.options.verticalRule.color || "#f7f7f7";
this.options.verticalRule.lineLength = this.options.verticalRule.lineLength || "toSpline";
this.options.xDots = this.options.xDots || {};
this.options.xDots.draw = this.options.xDots.draw || "play";
this.drawOnEvent[this.options.xDots.draw].push("xDots");
this.options.xDots.size = this.options.xDots.size || 4;
this.options.xDots.fillColor = this.options.xDots.fillColor || "#d2d2d2";
this.options.xDots.strokeColor = this.options.xDots.strokeColor || "transparent";
this.options.xDots.strokeWidth = this.options.xDots.strokeWidth || 0;
this.options.padding = this.options.padding || this.options.splineDots.size;
this.points = [];
this._calculateGraphData();
var o = {
_progress: 0,
atPoint: 0
};
var n = {
_progress: 1,
atPoint: this.points.length
};
var l = new k(o, this.duration, n, {
onDraw: this._onDraw.bind(this),
onStart: this.options.onStart,
onUpdate: this.options.onUpdate,
onComplete: this.options.onComplete
});
this.clips = [];
this.clips.push(l)
};
h._calculateGraphData = function() {
var n;
var m;
var p;
var o;
var l = this.graphData.length - 1;
this.lineData = [];
for (o = 0; o <= l; o += 1) {
n = this.graphData[o];
p = (o / l);
m = {
x: this._x(p),
y: this._y(n),
percent: n
};
this.points.push(m);
this.lineData.push(this.points[o].x);
this.lineData.push(this.points[o].y)
}
this.universalGradient = this._getGradient(this.options.spline.colorStart, this.options.spline.colorEnd, 1)
};
h._createCanvas = function() {
var l = document.createElement("canvas");
this.el.appendChild(l);
return l
};
h._drawThesePieces = function(n, o) {
for (var p = 0, m = n.length; p < m; p++) {
this[n[p]](o)
}
};
h._getColor = function(l) {
switch (l) {
case "matchSpline":
return this.universalGradient;
case "transparent":
return l;
default:
return new b(l).rgb()
}
};
h._getGradient = function(q, r, p) {
var s = this.context.createLinearGradient(this._x(0), this._y(0), this._x(1), this._y(1));
var n = new b(q);
var m = new b(r);
s.addColorStop(0, n.rgba());
s.addColorStop(p, m.rgba());
var l = p + 0.001;
if (l < 1) {
var o = new b(r);
o.setAlpha(0);
s.addColorStop(l, o.rgba())
}
return s
};
h._getSizeFromEl = function() {
return {
height: this.el.offsetHeight,
width: this.el.offsetWidth
}
};
h._onDraw = function(l) {
this.context.clearRect(0, 0, this.canvas.width, this.canvas.height);
this.context.save();
this._drawThesePieces(this.drawOnEvent.load, {
_progress: 1,
atPoint: this.points.length
});
this._drawThesePieces(this.drawOnEvent.play, l.target);
this.context.restore()
};
h._x = function(l) {
return (this.width - (this.options.padding * 2)) * l + this.options.padding
};
h._y = function(l) {
return (this.height - (this.options.padding * 2)) * (1 - l) + this.options.padding
};
h.spline = function(m) {
var n = (m._progress < 1) ? this._getGradient(this.options.spline.colorStart, this.options.spline.colorEnd, m._progress) : this.universalGradient;
this.context.globalCompositeOperation = "source-over";
this.context.beginPath();
var l = j.getCurvePoints(this.lineData, this.options.spline.tension, false, 32);
j.drawLines(this.context, l);
this.context.lineWidth = this.options.spline.lineWidth;
this.context.lineCap = "round";
this.context.strokeStyle = n;
this.context.stroke()
};
h.splineDots = function(o) {
var q = this.options.splineDots;
var n = (o.atPoint < this.points.length) ? Math.floor(o.atPoint) : this.points.length;
for (var p = 0; p < n; p++) {
var m = this.points[p];
if ((q.show === "all") || (q.show === "ends" && (p === 0 || p === this.points.length - 1))) {
this._drawCircle({
x: m.x,
y: m.y,
size: q.size,
fillColor: this._getColor(q.fillColor),
strokeColor: this._getColor(q.strokeColor),
strokeWidth: q.strokeWidth
})
}
}
};
h.xAxis = function(l) {
this.context.globalCompositeOperation = "destination-over";
this.context.beginPath();
this.context.strokeStyle = this._getColor(this.options.xAxis.color);
this.context.lineWidth = this.options.xAxis.lineWidth;
this.context.moveTo(this._x(0), this._y(0));
this.context.lineTo(this._x(1 * l._progress), this._y(0));
this.context.stroke()
};
h.xDots = function(p) {
var o = this.options.xDots;
var n = (p.atPoint < this.points.length) ? Math.floor(p.atPoint) + 1 : this.points.length;
for (var q = 0; q < n; q++) {
var m = this.points[q];
this.context.globalCompositeOperation = "source-over";
this._drawCircle({
x: m.x,
y: this._y(0),
size: o.size,
fillColor: this._getColor(o.fillColor),
strokeColor: this._getColor(o.strokeColor),
strokeWidth: o.strokeWidth
})
}
};
h.verticalRule = function(o) {
var q = this.options.verticalRule;
var n = (o.atPoint < this.points.length) ? Math.floor(o.atPoint) + 1 : this.points.length;
for (var p = 0; p < n; p++) {
var m = this.points[p];
var s = (Math.floor(o.atPoint) == p) ? o.atPoint - p : 1;
var r = (q.lineLength === "full") ? this._y(1 * s) : this._y(m.percent * s);
this.context.globalCompositeOperation = "destination-over";
this.context.beginPath();
this.context.strokeStyle = this._getColor(q.color);
this.context.lineWidth = q.lineWidth;
this.context.moveTo(m.x, this._y(0));
this.context.lineTo(m.x, r);
this.context.stroke()
}
};
h._drawCircle = function(m) {
var l = this.context;
l.beginPath();
l.arc(m.x, m.y, m.size / 2, 0, Math.PI * 2);
l.fillStyle = m.fillColor;
l.fill();
if (m.strokeWidth > 0) {
l.strokeStyle = m.strokeColor;
l.lineWidth = m.strokeWidth;
l.stroke()
}
};
c.exports = g
}, {
"./curvedLine/spline": 372,
"ac-clip": 21,
"ac-clock": 23,
"ac-color": 348
}],
371: [function(c, d, a) {
var b = c("ac-clip").Clip;
var j = c("ac-clock");
var h = c("ac-color").Color;
function f(l, k) {
try {
this.resolutionFactor = (!!window.devicePixelRatio) ? Math.ceil(window.devicePixelRatio) : 1;
this.el = l;
this.set(k)
} catch (m) {
console.log("Donut graph failure: " + m);
return
}
}
var g = f.prototype;
g.convert = {
_degreesToAngle: function(k) {
return k * (Math.PI / 180)
}
};
g.play = function() {
if (this.segments && this.segments.length > 0) {
this.clock.on("draw", this._onDraw);
if (!this.clock.isRunning()) {
this.clock.start()
}
var k = this.segments.length;
while (k--) {
this.segments[k].clip.play()
}
}
};
g.set = function(k) {
this.options = k || {};
this.clock = this.options.clock || j;
if (!this.options.segments) {
throw "No graph data provided"
}
this.size = this.options.size || this._getSizeFromEl();
this.centerPoint = this.size / 2;
if (this.canvas) {
this.context.clearRect(0, 0, this.size, this.size)
} else {
this.canvas = this.options.canvas || this._createCanvas()
}
if (!!this.canvas.getContext("2d")) {
this.context = this.canvas.getContext("2d")
} else {
throw "Canvas not supported"
}
this.canvas.setAttribute("class", "donut-graph-canvas");
this.segments = this.options.segments;
this.canvas.width = this.size * this.resolutionFactor;
this.canvas.height = this.size * this.resolutionFactor;
this.context.scale(this.resolutionFactor, this.resolutionFactor);
this._onDraw = this._onDraw.bind(this);
for (var l = 0; l < this.segments.length; l++) {
this.segments[l].color = this.segments[l].color || "#ccc";
this.segments[l].color = new h(this.segments[l].color).rgb();
this.segments[l].delay = this.segments[l].delay || 0;
this.segments[l].duration = this.segments[l].duration || 0.5;
this.segments[l].easing = this.segments[l].easing || "easeInOutQuint";
this.segments[l].label = this.segments[l].label || "";
this.segments[l].lineWidth = this.segments[l].lineWidth || 2;
this.segments[l].percent = this.segments[l].percent || 1;
this.segments[l].size = this.segments[l].size || this.size;
var o = (this.segments[l].startAngle || 0) - 90;
this.segments[l].startAngle = this.convert._degreesToAngle(o);
this.segments[l].endAngle = this.convert._degreesToAngle(o + (360 * (this.segments[l].percent)));
var n = {
_progress: 0,
_endAngle: this.segments[l].startAngle
};
var m = {
_progress: 1,
_endAngle: this.segments[l].endAngle
};
this.segments[l].clip = new b(n, this.segments[l].duration, m, {
ease: this.segments[l].easing,
delay: this.segments[l].delay,
clock: this.clock,
onStart: this.segments[l].onStart,
onUpdate: this.segments[l].onUpdate,
onComplete: this.segments[l].onComplete
})
}
};
g._createCanvas = function() {
var k = document.createElement("canvas");
this.el.appendChild(k);
return k
};
g._drawArc = function(l, o, n, k, m) {
this.context.lineWidth = k;
this.context.beginPath();
this.context.strokeStyle = m;
this.context.arc(this.centerPoint, this.centerPoint, (n * 0.5) - (k * 0.5), l, o);
this.context.stroke()
};
g._getSizeFromEl = function() {
return Math.min(this.el.offsetWidth, this.el.offsetHeight)
};
g._onDraw = function(n) {
this.context.clearRect(0, 0, this.size, this.size);
var l, m = false;
for (var k = 0; k < this.segments.length; k++) {
l = this.segments[k];
if (l.clip.isPlaying() && !m) {
m = true
}
if (l.label) {
l.label.innerHTML = Math.round(l.percent * l.clip._progress * 100)
}
this._drawArc(l.startAngle, l.clip._target._endAngle, l.size, l.lineWidth, l.color)
}
if (!m) {
this.clock.off("draw", this._onDraw)
}
};
d.exports = f
}, {
"ac-clip": 21,
"ac-clock": 23,
"ac-color": 348
}],
372: [function(b, c, a) {
/*!
* Smooth curves on canvas version 1.3
*
* By Ken Fyrstenberg Nilsen (c) 2013
* Abdias Software, http://abdiassoftware.com/
*
* MIT licensed.
*/
;
var f = function(L, p, B, z) {
p = typeof p === "number" ? p : 0.5;
z = typeof z === "number" ? z : 16;
var m, M = [],
s, r, o, E, n, C, G, F, D, A, H, w, J, u, v, I, q, l, k, j, h, K = L.length;
m = L.concat();
m.unshift(L[1]);
m.unshift(L[0]);
m.push(L[K - 2], L[K - 1]);
for (J = 2; J < K; J += 2) {
l = m[J];
k = m[J + 1];
j = m[J + 2];
h = m[J + 3];
o = (j - m[J - 2]) * p;
E = (m[J + 4] - l) * p;
n = (h - m[J - 1]) * p;
C = (m[J + 5] - k) * p;
for (w = 0; w <= z; w += 1) {
H = w / z;
v = Math.pow(H, 2);
u = v * H;
q = v * 3;
I = u * 2;
G = I - q + 1;
F = q - I;
D = u - 2 * v + H;
A = u - v;
s = G * l + F * j + D * o + A * E;
r = G * k + F * h + D * n + A * C;
M.push(s, r)
}
}
return M
};
var g = function(j, m) {
var k, h;
j.moveTo(m[0], m[1]);
for (k = 2, h = m.length - 1; k < h; k += 2) {
j.lineTo(m[k], m[k + 1])
}
};
var d = function(k, n, p, q, h, m) {
m = m || false;
var o, j;
k.beginPath();
g(k, f(n, p, q, h));
if (m) {
k.stroke();
k.beginPath();
for (o = 0, j = n.length; o < j; o += 2) {
k.rect(n[o] - 2, n[o + 1] - 2, 4, 4)
}
}
};
c.exports = {
drawCurve: d,
drawLines: g,
getCurvePoints: f
}
}, {}],
373: [function(b, c, a) {
c.exports = {
MotionEmitter: b("./ac-motion-emitter/MotionEmitter")
}
}, {
"./ac-motion-emitter/MotionEmitter": 374
}],
374: [function(d, f, b) {
var h = d("ac-event-emitter-micro").EventEmitterMicro,
a = d("ac-object"),
j = d("ac-clock");
function c(k) {
h.call(this);
this.options = k || {};
this.min = this.options.min || 0;
this.max = this.options.max || 1;
this._boundHandleClockUpdate = this._handleClockUpdate.bind(this);
this._boundHandleClockDraw = this._handleClockDraw.bind(this);
if (this.options.easingFunction) {
this.easingFunction = this.options.easingFunction
}
this.clock = this.options.clock || j;
this.usesSharedClock = (this.clock === j);
this._isRunning = false;
this.specificity = this.options.specificity || 4;
this.friction = this.options.friction || 10;
this._targetValue = null;
this._currentValue = null;
this._shouldUpdate = false;
this._shouldEmitChange = false
}
var g = c.prototype = a.create(h.prototype);
g.destroy = function() {
this.trigger("destroy");
this.stop();
this.off();
if (!this.usesSharedClock) {
this.clock.destroy()
}
var k;
for (k in this) {
if (this.hasOwnProperty(k)) {
this[k] = null
}
}
this._isRunning = false
};
g.start = function() {
if (!this.clock || this._isRunning) {
return
}
this._bindEvents();
this._isRunning = true;
this.clock.start()
};
g.stop = function() {
if (!this.clock || !this._isRunning) {
return
}
this._unbindEvents();
this._isRunning = false;
if (!this.usesSharedClock) {
this.clock.stop()
}
};
g.isRunning = function() {
return this._isRunning
};
g.setProgress = function(k) {
if (this._targetValue === k) {
return
}
this._targetValue = k;
this._shouldUpdate = true
};
g.updateValue = function(p) {
if (this._currentValue === null) {
this._currentValue = this._targetValue
}
var o = 1;
if (this.easingFunction) {
var t = this.max - this.min,
u = this.max - (this.max - this._targetValue) / t,
q = this.max - (this.max - this._currentValue) / t,
k = 1 - Math.abs(u - q),
r = this.easingFunction(k, 0, 1, 1);
o = 1 + (r - k)
}
var s = 1;
if (p && p.naturalFps !== p.fps) {
s = p.naturalFps / p.fps
}
var l = this._targetValue - this._currentValue,
m = l * o * s * (1 / this.friction),
n = parseFloat((this._currentValue + m).toFixed(this.specificity));
if (n === this._currentValue) {
this._currentValue = this._targetValue
} else {
this._currentValue = n
}
this._shouldEmitChange = true
};
g._bindEvents = function() {
this.clock.on("update", this._boundHandleClockUpdate);
this.clock.on("draw", this._boundHandleClockDraw)
};
g._unbindEvents = function() {
this.clock.off("update", this._boundHandleClockUpdate);
this.clock.off("draw", this._boundHandleClockDraw)
};
g._handleClockUpdate = function(k) {
if (this._shouldUpdate) {
this.updateValue(k)
}
if (!this._shouldEmitChange) {
return
}
k.progress = this._currentValue;
this.trigger("update", k)
};
g._handleClockDraw = function(k) {
if (!this._shouldEmitChange) {
return
}
k.progress = this._currentValue;
this.trigger("draw", k);
if (this._targetValue === this._currentValue) {
this._shouldUpdate = false;
this._shouldEmitChange = false;
return
}
this._shouldUpdate = true
};
f.exports = c
}, {
"ac-clock": 23,
"ac-event-emitter-micro": 217,
"ac-object": 380
}],
375: [function(c, d, b) {
c("ac-polyfills/Array/isArray");
var h = c("./extend");
var a = Object.prototype.hasOwnProperty;
var f = function(j, k) {
var l;
for (l in k) {
if (a.call(k, l)) {
if (k[l] === null) {
j[l] = null
} else {
if (typeof k[l] === "object") {
j[l] = Array.isArray(k[l]) ? [] : {};
f(j[l], k[l])
} else {
j[l] = k[l]
}
}
}
}
return j
};
d.exports = function g(k, j) {
if (j) {
return f({}, k)
}
return h({}, k)
}
}, {
"./extend": 378,
"ac-polyfills/Array/isArray": 386
}],
376: [function(b, c, a) {
arguments[4][137][0].apply(a, arguments)
}, {
dup: 137
}],
377: [function(b, c, a) {
arguments[4][138][0].apply(a, arguments)
}, {
"./extend": 378,
dup: 138
}],
378: [function(c, d, b) {
c("ac-polyfills/Array/prototype.forEach");
var a = Object.prototype.hasOwnProperty;
d.exports = function f() {
var h;
var g;
if (arguments.length < 2) {
h = [{}, arguments[0]]
} else {
h = [].slice.call(arguments)
}
g = h.shift();
h.forEach(function(k) {
if (k != null) {
for (var j in k) {
if (a.call(k, j)) {
g[j] = k[j]
}
}
}
});
return g
}
}, {
"ac-polyfills/Array/prototype.forEach": 388
}],
379: [function(b, c, a) {
arguments[4][140][0].apply(a, arguments)
}, {
dup: 140
}],
380: [function(b, c, a) {
c.exports = {
clone: b("./clone"),
create: b("./create"),
defaults: b("./defaults"),
extend: b("./extend"),
getPrototypeOf: b("./getPrototypeOf"),
isDate: b("./isDate"),
isEmpty: b("./isEmpty"),
isRegExp: b("./isRegExp"),
toQueryParameters: b("./toQueryParameters")
}
}, {
"./clone": 375,
"./create": 376,
"./defaults": 377,
"./extend": 378,
"./getPrototypeOf": 379,
"./isDate": 381,
"./isEmpty": 382,
"./isRegExp": 383,
"./toQueryParameters": 385
}],
381: [function(b, c, a) {
arguments[4][141][0].apply(a, arguments)
}, {
dup: 141
}],
382: [function(b, c, a) {
arguments[4][142][0].apply(a, arguments)
}, {
dup: 142
}],
383: [function(b, c, a) {
arguments[4][143][0].apply(a, arguments)
}, {
dup: 143
}],
384: [function(b, c, a) {
arguments[4][134][0].apply(a, arguments)
}, {
dup: 134
}],
385: [function(b, c, a) {
arguments[4][144][0].apply(a, arguments)
}, {
dup: 144,
qs: 384
}],
386: [function(b, c, a) {
if (!Array.isArray) {
Array.isArray = function(d) {
return Object.prototype.toString.call(d) === "[object Array]"
}
}
}, {}],
387: [function(b, c, a) {
if (!Array.prototype.filter) {
Array.prototype.filter = function d(l, k) {
var j = Object(this);
var f = j.length >>> 0;
var h;
var g = [];
if (typeof l !== "function") {
throw new TypeError(l + " is not a function")
}
for (h = 0; h < f; h += 1) {
if (h in j && l.call(k, j[h], h, j)) {
g.push(j[h])
}
}
return g
}
}
}, {}],
388: [function(b, c, a) {
if (!Array.prototype.forEach) {
Array.prototype.forEach = function d(k, j) {
var h = Object(this);
var f;
var g;
if (typeof k !== "function") {
throw new TypeError("No function object passed to forEach.")
}
for (f = 0; f < this.length; f += 1) {
g = h[f];
k.call(j, g, f, h)
}
}
}
}, {}],
389: [function(b, c, a) {
if (!Array.prototype.indexOf) {
Array.prototype.indexOf = function d(g, h) {
var j = h || 0;
var f = 0;
if (j < 0) {
j = this.length + h - 1;
if (j < 0) {
throw "Wrapped past beginning of array while looking up a negative start index."
}
}
for (f = 0; f < this.length; f++) {
if (this[f] === g) {
return f
}
}
return (-1)
}
}
}, {}],
390: [function(b, c, a) {
(function() {
var d = Array.prototype.slice;
try {
d.call(document.documentElement)
} catch (f) {
Array.prototype.slice = function(n, j) {
j = (typeof j !== "undefined") ? j : this.length;
if (Object.prototype.toString.call(this) === "[object Array]") {
return d.call(this, n, j)
}
var l, h = [],
k, g = this.length;
var o = n || 0;
o = (o >= 0) ? o : g + o;
var m = (j) ? j : g;
if (j < 0) {
m = g + j
}
k = m - o;
if (k > 0) {
h = new Array(k);
if (this.charAt) {
for (l = 0; l < k; l++) {
h[l] = this.charAt(o + l)
}
} else {
for (l = 0; l < k; l++) {
h[l] = this[o + l]
}
}
}
return h
}
}
}())
}, {}],
391: [function(b, c, a) {
if (!Array.prototype.some) {
Array.prototype.some = function d(k, j) {
var g = Object(this);
var f = g.length >>> 0;
var h;
if (typeof k !== "function") {
throw new TypeError(k + " is not a function")
}
for (h = 0; h < f; h += 1) {
if (h in g && k.call(j, g[h], h, g) === true) {
return true
}
}
return false
}
}
}, {}],
392: [function(b, c, a) {
if (document.createEvent) {
try {
new window.CustomEvent("click")
} catch (d) {
window.CustomEvent = (function() {
function f(h, j) {
j = j || {
bubbles: false,
cancelable: false,
detail: undefined
};
var g = document.createEvent("CustomEvent");
g.initCustomEvent(h, j.bubbles, j.cancelable, j.detail);
return g
}
f.prototype = window.Event.prototype;
return f
}())
}
}
}, {}],
393: [function(b, c, a) {
/*! @source http://purl.eligrey.com/github/classList.js/blob/master/classList.js*/
;
if ("document" in self) {
if (!("classList" in document.createElement("_"))) {
(function(o) {
if (!("Element" in o)) {
return
}
var d = "classList",
k = "prototype",
r = o.Element[k],
f = Object,
p = String[k].trim || function() {
return this.replace(/^\s+|\s+$/g, "")
},
g = Array[k].indexOf || function(v) {
var u = 0,
t = this.length;
for (; u < t; u++) {
if (u in this && this[u] === v) {
return u
}
}
return -1
},
s = function(t, u) {
this.name = t;
this.code = DOMException[t];
this.message = u
},
l = function(u, t) {
if (t === "") {
throw new s("SYNTAX_ERR", "An invalid or illegal string was specified")
}
if (/\s/.test(t)) {
throw new s("INVALID_CHARACTER_ERR", "String contains an invalid character")
}
return g.call(u, t)
},
h = function(x) {
var w = p.call(x.getAttribute("class") || ""),
v = w ? w.split(/\s+/) : [],
u = 0,
t = v.length;
for (; u < t; u++) {
this.push(v[u])
}
this._updateClassName = function() {
x.setAttribute("class", this.toString())
}
},
j = h[k] = [],
n = function() {
return new h(this)
};
s[k] = Error[k];
j.item = function(t) {
return this[t] || null
};
j.contains = function(t) {
t += "";
return l(this, t) !== -1
};
j.add = function() {
var x = arguments,
w = 0,
u = x.length,
v, t = false;
do {
v = x[w] + "";
if (l(this, v) === -1) {
this.push(v);
t = true
}
} while (++w < u);
if (t) {
this._updateClassName()
}
};
j.remove = function() {
var y = arguments,
x = 0,
u = y.length,
w, t = false,
v;
do {
w = y[x] + "";
v = l(this, w);
while (v !== -1) {
this.splice(v, 1);
t = true;
v = l(this, w)
}
} while (++x < u);
if (t) {
this._updateClassName()
}
};
j.toggle = function(u, v) {
u += "";
var t = this.contains(u),
w = t ? v !== true && "remove" : v !== false && "add";
if (w) {
this[w](u)
}
if (v === true || v === false) {
return v
} else {
return !t
}
};
j.toString = function() {
return this.join(" ")
};
if (f.defineProperty) {
var q = {
get: n,
enumerable: true,
configurable: true
};
try {
f.defineProperty(r, d, q)
} catch (m) {
if (m.number === -2146823252) {
q.enumerable = false;
f.defineProperty(r, d, q)
}
}
} else {
if (f[k].__defineGetter__) {
r.__defineGetter__(d, n)
}
}
}(self))
} else {
(function() {
var f = document.createElement("_");
f.classList.add("c1", "c2");
if (!f.classList.contains("c2")) {
var g = function(j) {
var h = DOMTokenList.prototype[j];
DOMTokenList.prototype[j] = function(m) {
var l, k = arguments.length;
for (l = 0; l < k; l++) {
m = arguments[l];
h.call(this, m)
}
}
};
g("add");
g("remove")
}
f.classList.toggle("c3", false);
if (f.classList.contains("c3")) {
var d = DOMTokenList.prototype.toggle;
DOMTokenList.prototype.toggle = function(h, j) {
if (1 in arguments && !this.contains(h) === !j) {
return j
} else {
return d.call(this, h)
}
}
}
f = null
}())
}
}
}, {}],
394: [function(b, c, a) {
if (!Object.create) {
var d = function() {};
Object.create = function(f) {
if (arguments.length > 1) {
throw new Error("Second argument not supported")
}
if (f === null || typeof f !== "object") {
throw new TypeError("Object prototype may only be an Object.")
}
d.prototype = f;
return new d()
}
}
}, {}],
395: [function(b, c, a) {
window.matchMedia = window.matchMedia || (function(j, k) {
var g, d = j.documentElement,
f = d.firstElementChild || d.firstChild,
h = j.createElement("body"),
l = j.createElement("div");
l.id = "mq-test-1";
l.style.cssText = "position:absolute;top:-100em";
h.style.background = "none";
h.appendChild(l);
return function(m) {
l.innerHTML = '&shy;<style media="' + m + '"> #mq-test-1 { width:42px; }</style>';
d.insertBefore(h, f);
g = l.offsetWidth === 42;
d.removeChild(h);
return {
matches: g,
media: m
}
}
}(document))
}, {}],
396: [function(b, c, a) {
arguments[4][19][0].apply(a, arguments)
}, {
"./ac-event-emitter/EventEmitter": 397,
dup: 19
}],
397: [function(b, c, a) {
arguments[4][20][0].apply(a, arguments)
}, {
dup: 20
}],
398: [function(b, c, a) {
arguments[4][134][0].apply(a, arguments)
}, {
dup: 134
}],
399: [function(b, c, a) {
arguments[4][135][0].apply(a, arguments)
}, {
"./ac-object/clone": 400,
"./ac-object/create": 401,
"./ac-object/defaults": 402,
"./ac-object/extend": 403,
"./ac-object/getPrototypeOf": 404,
"./ac-object/isDate": 405,
"./ac-object/isEmpty": 406,
"./ac-object/isRegExp": 407,
"./ac-object/toQueryParameters": 408,
dup: 135
}],
400: [function(b, c, a) {
arguments[4][136][0].apply(a, arguments)
}, {
"./extend": 403,
dup: 136
}],
401: [function(b, c, a) {
arguments[4][137][0].apply(a, arguments)
}, {
dup: 137
}],
402: [function(b, c, a) {
arguments[4][138][0].apply(a, arguments)
}, {
"./extend": 403,
dup: 138
}],
403: [function(b, c, a) {
arguments[4][139][0].apply(a, arguments)
}, {
dup: 139
}],
404: [function(b, c, a) {
arguments[4][140][0].apply(a, arguments)
}, {
dup: 140
}],
405: [function(b, c, a) {
arguments[4][141][0].apply(a, arguments)
}, {
dup: 141
}],
406: [function(b, c, a) {
arguments[4][142][0].apply(a, arguments)
}, {
dup: 142
}],
407: [function(b, c, a) {
arguments[4][143][0].apply(a, arguments)
}, {
dup: 143
}],
408: [function(b, c, a) {
arguments[4][144][0].apply(a, arguments)
}, {
dup: 144,
qs: 398
}],
409: [function(b, c, a) {
c.exports = {
BreakpointsDelegate: b("./ac-breakpoints-delegate/BreakpointsDelegate")
}
}, {
"./ac-breakpoints-delegate/BreakpointsDelegate": 410
}],
410: [function(f, b, k) {
var d = f("ac-shared-instance").SharedInstance,
g = f("ac-object"),
r = f("ac-window-delegate").WindowDelegate,
c = f("ac-window-delegate").WindowDelegateCustomEvent,
q = f("ac-event-emitter").EventEmitter;
var n = "ac-breakpoints-delegate:BreakpointsDelegate",
a = "2.0.0-2";
var o = "breakpoint",
p = "resize orientationchange";
var h = {
large: {
"min-width": 1069,
"max-width": 1441,
content: 980,
oldie: true
},
xlarge: {
"min-width": 1442,
content: 980
},
medium: {
"min-width": 736,
"max-width": 1068,
content: 692
},
small: {
"min-width": 320,
"max-width": 735,
content: 288,
"max-device-width": 768
}
};
var j = {
minWidth: "min-width",
maxWidth: "max-width",
maxDeviceWidth: "max-device-width",
content: "content",
oldIE: "oldie"
};
function m(s) {
this._customEvent = new c(o, this._onBreakpointListenerAdded.bind(this), this._onBreakpointListenerRemoved.bind(this));
this.setBreakpoints(h)
}
var l = m.prototype;
l.initialize = function() {
this._breakpoint = null;
this._lastBreakpoint = null;
this._handleOldIE();
this._handleDevices();
this._breakpointOrder = this._setBreakpointOrder();
if (!this._isOldIE) {
this._handleResize()
}
};
l.getCustomEvent = function() {
return this._customEvent
};
l.getBreakpoint = function() {
if (!this._customEvent.active) {
this._handleResize()
}
return this._breakpoint
};
l.setBreakpoints = function(s) {
this.breakpoints = g.clone(s);
this.initialize()
};
l._handleResize = function() {
var w = r.innerWidth(),
x;
var v, u, t, s = this._breakpointOrder.length;
for (v = 0; v < s; v++) {
u = this._breakpointOrder[v];
t = this.breakpoints[u];
if (t._breakPosition > w) {
break
}
}
if (v > 0) {
v = v - 1
}
x = this.breakpoints[this._breakpointOrder[v]];
if (!this._breakpoint) {
this._breakpoint = x;
return
}
if (x.name === this._breakpoint.name) {
return
}
this._lastBreakpoint = this._breakpoint;
this._breakpoint = x;
r.trigger(o, {
incoming: this._breakpoint,
outgoing: this._lastBreakpoint
})
};
l._setBreakpointOrder = function() {
var w = 0,
t = [],
s = [],
v = j.minWidth,
u;
for (u in this.breakpoints) {
if (this.breakpoints.hasOwnProperty(u)) {
this.breakpoints[u].name = u;
t.push(this.breakpoints[u][v])
}
}
t.sort(function(y, x) {
return y - x
});
t.forEach(function(y) {
var x;
for (x in this.breakpoints) {
if (this.breakpoints.hasOwnProperty(x)) {
if (this.breakpoints[x][v] === y) {
s.push(x)
}
}
}
}, this);
s.forEach(function(y, x) {
this.breakpoints[y]._breakPosition = w;
if (s[x + 1]) {
w = this.breakpoints[s[x + 1]][v]
}
}, this);
return s
};
l._handleOldIE = function() {
var s = document.documentElement,
u = j.oldIE;
if (s.className.indexOf("no-" + u) > -1 || s.className.indexOf(u) === -1) {
return
}
this._isOldIE = true;
this._replaceBreakpoints(function(v) {
return v[u] === true
});
var t;
for (t in this.breakpoints) {
if (this.breakpoints.hasOwnProperty(t)) {
this._breakpoint = this.breakpoints[t];
return
}
}
};
l._handleDevices = function() {
var s = j.maxDeviceWidth;
this._replaceBreakpoints(function(t) {
if (typeof t[s] !== "number") {
return true
}
if (window.screen && window.screen.width <= t[s]) {
return true
}
return false
})
};
l._replaceBreakpoints = function(v) {
var t, u = {},
s;
for (t in this.breakpoints) {
if (this.breakpoints.hasOwnProperty(t)) {
s = this.breakpoints[t];
if (v(s)) {
u[t] = g.clone(this.breakpoints[t])
}
}
}
this.breakpoints = u
};
l._onBreakpointListenerAdded = function() {
r.on(p, this._handleResize, this)
};
l._onBreakpointListenerRemoved = function() {
r.off(p, this._handleResize, this)
};
b.exports = d.share(n, a, m)
}, {
"ac-event-emitter": 396,
"ac-object": 399,
"ac-shared-instance": 411,
"ac-window-delegate": 448
}],
411: [function(b, c, a) {
arguments[4][194][0].apply(a, arguments)
}, {
"./ac-shared-instance/SharedInstance": 412,
dup: 194
}],
412: [function(b, c, a) {
arguments[4][195][0].apply(a, arguments)
}, {
dup: 195
}],
413: [function(b, c, a) {
var d = b("./ac-prefixer/Prefixer");
c.exports = new d();
c.exports.Prefixer = d
}, {
"./ac-prefixer/Prefixer": 414
}],
414: [function(d, b, g) {
var l = d("./Prefixer/camelCasedEvents");
var o = /(\([^\)]+\))/gi;
var h = /([^ ,;\(]+(\([^\)]+\))?)/gi;
var k = /(-webkit-|-moz-|-ms-)|^(webkit|moz|ms)/gi;
var a = /^(webkit|moz|ms)/gi;
var f = ["-webkit-", "-moz-", "-ms-"];
var m = ["Webkit", "Moz", "ms"];
var n = ["webkit", "moz", "ms"];
function c() {
this._supportsAvailable = ("CSS" in window && "supports" in window.CSS);
this._cssPrefixes = f;
this._domPrefixes = m;
this._evtPrefixes = n;
this._styleProperties = {};
this._styleValues = {};
this._eventTypes = {}
}
var j = c.prototype;
j.getEventType = function(q) {
var r;
var p;
q = q.toLowerCase();
if (q in this._eventTypes) {
return this._eventTypes[q]
}
if (this._checkEventType("on" + q)) {
return this._eventTypes[q] = q
}
if (l[q]) {
for (r in l[q]) {
if (this._checkEventType(r)) {
return this._eventTypes[q] = l[q][r]
}
}
}
for (p = 0; p < this._evtPrefixes.length; p++) {
if (this._checkEventType("on" + this._evtPrefixes[p] + q)) {
this._eventTypes[q] = this._evtPrefixes[p] + q;
this._reduceAvailablePrefixes(p);
return this._eventTypes[q]
}
}
return this._eventTypes[q] = q
};
j._checkEventType = function(p) {
return (p in window || p in document)
};
j.getStyleProperty = function(s) {
var r;
var p;
var q;
s += "";
if (s in this._styleProperties) {
return this._styleProperties[s].dom
}
s = this._toDOM(s);
this._prepareTestElement();
p = s.charAt(0).toUpperCase() + s.substr(1);
if (s === "filter") {
r = ["WebkitFilter", "filter"]
} else {
r = (s + " " + this._domPrefixes.join(p + " ") + p).split(" ")
}
for (q = 0; q < r.length; q++) {
if (this._el.style[r[q]] !== undefined) {
if (q !== 0) {
this._reduceAvailablePrefixes(q - 1)
}
this._memoizeStyleProperty(s, r[q]);
return r[q]
}
}
this._memoizeStyleProperty(s, false);
return false
};
j._memoizeStyleProperty = function(s, p) {
var q = this._toCSS(s);
var r = (p === false) ? false : this._toCSS(p);
this._styleProperties[s] = this._styleProperties[p] = this._styleProperties[q] = this._styleProperties[r] = {
dom: p,
css: r
}
};
j.getStyleCSS = function(r, q) {
var p;
r = this.getStyleProperty(r);
if (!r) {
return false
}
p = this._styleProperties[r].css;
if (typeof q !== "undefined") {
q = this.getStyleValue(r, q);
if (q === false) {
return false
}
p += ":" + q + ";"
}
return p
};
j.getStyleValue = function(r, q) {
var p;
q += "";
r = this.getStyleProperty(r);
if (!r) {
return false
}
if (this._testStyleValue(r, q)) {
return q
}
p = this._styleProperties[r].css;
q = q.replace(h, function(t) {
var s;
var w;
var v;
var u;
if (t[0] === "#" || !isNaN(t[0])) {
return t
}
w = t.replace(o, "");
v = p + ":" + w;
if (v in this._styleValues) {
if (this._styleValues[v] === false) {
return ""
}
return t.replace(w, this._styleValues[v])
}
s = this._cssPrefixes.map(function(x) {
return x + t
});
s = [t].concat(s);
for (u = 0; u < s.length; u++) {
if (this._testStyleValue(r, s[u])) {
if (u !== 0) {
this._reduceAvailablePrefixes(u - 1)
}
this._styleValues[v] = s[u].replace(o, "");
return s[u]
}
}
this._styleValues[v] = false;
return ""
}.bind(this));
q = q.trim();
return (q === "") ? false : q
};
j._testStyleValue = function(r, q) {
var p;
if (this._supportsAvailable) {
r = this._styleProperties[r].css;
return CSS.supports(r, q)
}
this._prepareTestElement();
p = this._el.style[r];
try {
this._el.style[r] = q
} catch (s) {
return false
}
return (this._el.style[r] && this._el.style[r] !== p)
};
j.stripPrefixes = function(p) {
p = String.prototype.replace.call(p, k, "");
return p.charAt(0).toLowerCase() + p.slice(1)
};
j._reduceAvailablePrefixes = function(p) {
if (this._cssPrefixes.length !== 1) {
this._cssPrefixes = [this._cssPrefixes[p]];
this._domPrefixes = [this._domPrefixes[p]];
this._evtPrefixes = [this._evtPrefixes[p]]
}
};
j._toDOM = function(q) {
var p;
if (q.toLowerCase() === "float") {
return "cssFloat"
}
q = q.replace(/-([a-z])/g, function(s, r) {
return r.toUpperCase()
});
if (q.substr(0, 2) === "Ms") {
q = "ms" + q.substr(2)
}
return q
};
j._toCSS = function(q) {
var p;
if (q.toLowerCase() === "cssfloat") {
return "float"
}
if (a.test(q)) {
q = "-" + q
}
return q.replace(/([A-Z]+)([A-Z][a-z])/g, "$1-$2").replace(/([a-z\d])([A-Z])/g, "$1-$2").toLowerCase()
};
j._prepareTestElement = function() {
if (!this._el) {
this._el = document.createElement("_")
} else {
this._el.style.cssText = "";
this._el.removeAttribute("style")
}
};
b.exports = c
}, {
"./Prefixer/camelCasedEvents": 415
}],
415: [function(b, c, a) {
c.exports = {
transitionend: {
onwebkittransitionend: "webkitTransitionEnd",
onmstransitionend: "MSTransitionEnd"
},
animationstart: {
onwebkitanimationstart: "webkitAnimationStart",
onmsanimationstart: "MSAnimationStart"
},
animationend: {
onwebkitanimationend: "webkitAnimationEnd",
onmsanimationend: "MSAnimationEnd"
},
animationiteration: {
onwebkitanimationiteration: "webkitAnimationIteration",
onmsanimationiteration: "MSAnimationIteration"
},
fullscreenchange: {
onmsfullscreenchange: "MSFullscreenChange"
},
fullscreenerror: {
onmsfullscreenerror: "MSFullscreenError"
}
}
}, {}],
416: [function(b, c, a) {
c.exports = {
addEventListener: b("./ac-dom-events/addEventListener"),
dispatchEvent: b("./ac-dom-events/dispatchEvent"),
preventDefault: b("./ac-dom-events/preventDefault"),
removeEventListener: b("./ac-dom-events/removeEventListener"),
stop: b("./ac-dom-events/stop"),
stopPropagation: b("./ac-dom-events/stopPropagation"),
target: b("./ac-dom-events/target")
}
}, {
"./ac-dom-events/addEventListener": 417,
"./ac-dom-events/dispatchEvent": 418,
"./ac-dom-events/preventDefault": 419,
"./ac-dom-events/removeEventListener": 420,
"./ac-dom-events/stop": 421,
"./ac-dom-events/stopPropagation": 422,
"./ac-dom-events/target": 423
}],
417: [function(b, c, a) {
var f = b("ac-prefixer");
c.exports = function d(k, h, j, g) {
h = f.getEventType(h);
if (k.addEventListener) {
k.addEventListener(h, j, g)
} else {
h = "on" + h.toLowerCase();
k.attachEvent(h, j)
}
return k
}
}, {
"ac-prefixer": 413
}],
418: [function(b, c, a) {
c.exports = function d(j, h, g) {
var f;
h = h.toLowerCase();
if (window.CustomEvent) {
if (g) {
f = new CustomEvent(h, g)
} else {
f = new CustomEvent(h)
}
j.dispatchEvent(f)
} else {
f = document.createEventObject();
if (g && "detail" in g) {
f.detail = g.detail
}
j.fireEvent("on" + h, f)
}
return j
}
}, {}],
419: [function(b, c, a) {
arguments[4][44][0].apply(a, arguments)
}, {
dup: 44
}],
420: [function(b, c, a) {
var f = b("ac-prefixer");
c.exports = function d(k, h, j, g) {
h = f.getEventType(h);
if (k.removeEventListener) {
k.removeEventListener(h, j, g)
} else {
h = "on" + h.toLowerCase();
k.detachEvent(h, j)
}
return k
}
}, {
"ac-prefixer": 413
}],
421: [function(b, c, a) {
arguments[4][47][0].apply(a, arguments)
}, {
"./preventDefault": 419,
"./stopPropagation": 422,
dup: 47
}],
422: [function(b, c, a) {
arguments[4][48][0].apply(a, arguments)
}, {
dup: 48
}],
423: [function(b, c, a) {
c.exports = function d(f) {
f = f || window.event;
return (typeof f.target !== "undefined") ? f.target : f.srcElement
}
}, {}],
424: [function(b, c, a) {
arguments[4][173][0].apply(a, arguments)
}, {
"./ac-dom-traversal/ancestor": 425,
"./ac-dom-traversal/ancestors": 426,
"./ac-dom-traversal/children": 427,
"./ac-dom-traversal/filterBySelector": 428,
"./ac-dom-traversal/firstChild": 429,
"./ac-dom-traversal/lastChild": 432,
"./ac-dom-traversal/matchesSelector": 433,
"./ac-dom-traversal/nextSibling": 434,
"./ac-dom-traversal/nextSiblings": 435,
"./ac-dom-traversal/previousSibling": 436,
"./ac-dom-traversal/previousSiblings": 437,
"./ac-dom-traversal/querySelector": 438,
"./ac-dom-traversal/querySelectorAll": 439,
"./ac-dom-traversal/shims/ie": 440,
"./ac-dom-traversal/siblings": 441,
dup: 173
}],
425: [function(b, c, a) {
arguments[4][174][0].apply(a, arguments)
}, {
"./helpers/validate": 431,
"./matchesSelector": 433,
"ac-dom-nodes": 74,
dup: 174
}],
426: [function(b, c, a) {
arguments[4][175][0].apply(a, arguments)
}, {
"./helpers/validate": 431,
"./matchesSelector": 433,
"ac-dom-nodes": 74,
dup: 175
}],
427: [function(b, c, a) {
arguments[4][176][0].apply(a, arguments)
}, {
"./filterBySelector": 428,
"./helpers/validate": 431,
"ac-dom-nodes": 74,
dup: 176
}],
428: [function(b, c, a) {
arguments[4][177][0].apply(a, arguments)
}, {
"./helpers/validate": 431,
"./matchesSelector": 433,
dup: 177
}],
429: [function(b, c, a) {
arguments[4][178][0].apply(a, arguments)
}, {
"./children": 427,
"./helpers/validate": 431,
dup: 178
}],
430: [function(b, c, a) {
arguments[4][179][0].apply(a, arguments)
}, {
dup: 179
}],
431: [function(b, c, a) {
arguments[4][180][0].apply(a, arguments)
}, {
"ac-dom-nodes": 74,
dup: 180
}],
432: [function(b, c, a) {
arguments[4][181][0].apply(a, arguments)
}, {
"./children": 427,
"./helpers/validate": 431,
dup: 181
}],
433: [function(b, c, a) {
arguments[4][182][0].apply(a, arguments)
}, {
"./helpers/nativeMatches": 430,
"./helpers/validate": 431,
"ac-dom-nodes": 74,
dup: 182
}],
434: [function(b, c, a) {
arguments[4][183][0].apply(a, arguments)
}, {
"./helpers/validate": 431,
"./matchesSelector": 433,
"ac-dom-nodes": 74,
dup: 183
}],
435: [function(b, c, a) {
arguments[4][184][0].apply(a, arguments)
}, {
"./helpers/validate": 431,
"./matchesSelector": 433,
"ac-dom-nodes": 74,
dup: 184
}],
436: [function(b, c, a) {
arguments[4][185][0].apply(a, arguments)
}, {
"./helpers/validate": 431,
"./matchesSelector": 433,
"ac-dom-nodes": 74,
dup: 185
}],
437: [function(b, c, a) {
arguments[4][186][0].apply(a, arguments)
}, {
"./helpers/validate": 431,
"./matchesSelector": 433,
"ac-dom-nodes": 74,
dup: 186
}],
438: [function(b, c, a) {
arguments[4][187][0].apply(a, arguments)
}, {
"./helpers/validate": 431,
dup: 187
}],
439: [function(b, c, a) {
arguments[4][188][0].apply(a, arguments)
}, {
"./helpers/validate": 431,
dup: 188
}],
440: [function(b, c, a) {
arguments[4][189][0].apply(a, arguments)
}, {
"../helpers/nativeMatches": 430,
"../helpers/validate": 431,
"../vendor/sizzle/sizzle": 442,
"ac-dom-nodes": 74,
dup: 189
}],
441: [function(b, c, a) {
arguments[4][190][0].apply(a, arguments)
}, {
"./children": 427,
"./helpers/validate": 431,
dup: 190
}],
442: [function(b, c, a) {
arguments[4][191][0].apply(a, arguments)
}, {
dup: 191
}],
443: [function(b, c, a) {
c.exports = {
DOMEmitter: b("./ac-dom-emitter/DOMEmitter")
}
}, {
"./ac-dom-emitter/DOMEmitter": 444
}],
444: [function(c, b, d) {
var f;
var l = c("ac-event-emitter").EventEmitter,
k = c("./DOMEmitterEvent"),
g = c("ac-dom-events"),
a = c("ac-dom-traversal");
var j = "dom-emitter";
function h(m) {
if (m === null) {
return
}
this.el = m;
this._bindings = {};
this._delegateFuncs = {};
this._eventEmitter = new l()
}
f = h.prototype;
f.on = function() {
this._normalizeArgumentsAndCall(Array.prototype.slice.call(arguments, 0), this._on);
return this
};
f.once = function() {
this._normalizeArgumentsAndCall(Array.prototype.slice.call(arguments, 0), this._once);
return this
};
f.off = function() {
this._normalizeArgumentsAndCall(Array.prototype.slice.call(arguments, 0), this._off);
return this
};
f.has = function(m, r, q, o) {
var p, s;
if (typeof r === "string") {
p = r;
s = q
} else {
s = r;
o = q
}
if (p) {
var n = this._getDelegateFuncBindingIdx(m, p, s, o, true);
if (n > -1) {
return true
}
return false
}
if (this._eventEmitter && this._eventEmitter.has.apply(this._eventEmitter, arguments)) {
return true
}
return false
};
f.trigger = function(o, n, p, t) {
o = this._parseEventNames(o);
o = this._cleanStringData(o);
var r, s, q, m = o.length;
if (typeof n === "string") {
r = this._cleanStringData(n);
s = p
} else {
s = n;
t = p
}
for (q = 0; q < m; q++) {
this._triggerDOMEvents(o[q], s, r)
}
return this
};
f.emitterTrigger = function(n, p, q) {
if (!this._eventEmitter) {
return this
}
n = this._parseEventNames(n);
n = this._cleanStringData(n);
p = new k(p, this);
var o, m = n.length;
for (o = 0; o < m; o++) {
this._eventEmitter.trigger(n[o], p, q)
}
return this
};
f.propagateTo = function(m, n) {
this._eventEmitter.propagateTo(m, n);
return this
};
f.stopPropagatingTo = function(m) {
this._eventEmitter.stopPropagatingTo(m);
return this
};
f.stopImmediatePropagation = function() {
this._eventEmitter.stopImmediatePropagation();
return this
};
f.destroy = function() {
this._triggerInternalEvent("willdestroy");
this.off();
var m;
for (m in this) {
if (this.hasOwnProperty(m)) {
this[m] = null
}
}
};
f._parseEventNames = function(m) {
if (!m) {
return [m]
}
return m.split(" ")
};
f._onListenerEvent = function(o, n) {
var m = new k(n, this);
this._eventEmitter.trigger(o, m, false)
};
f._setListener = function(m) {
this._bindings[m] = this._onListenerEvent.bind(this, m);
g.addEventListener(this.el, m, this._bindings[m])
};
f._removeListener = function(m) {
g.removeEventListener(this.el, m, this._bindings[m]);
this._bindings[m] = null
};
f._triggerInternalEvent = function(m, n) {
this.emitterTrigger(j + ":" + m, n)
};
f._normalizeArgumentsAndCall = function(m, o) {
var s = {};
if (m.length === 0) {
o.call(this, s);
return
}
if (typeof m[0] === "string" || m[0] === null) {
m = this._cleanStringData(m);
s.events = m[0];
if (typeof m[1] === "string") {
s.delegateQuery = m[1];
s.callback = m[2];
s.context = m[3]
} else {
s.callback = m[1];
s.context = m[2]
}
o.call(this, s);
return
}
var n, q, r = ":",
p = m[0];
for (n in p) {
if (p.hasOwnProperty(n)) {
s = {};
q = this._cleanStringData(n.split(r));
s.events = q[0];
s.delegateQuery = q[1];
s.callback = p[n];
s.context = m[1];
o.call(this, s)
}
}
};
f._registerDelegateFunc = function(o, q, r, m, p) {
var n = this._delegateFunc.bind(this, o, q, r, p);
this._delegateFuncs[q] = this._delegateFuncs[q] || {};
this._delegateFuncs[q][o] = this._delegateFuncs[q][o] || [];
this._delegateFuncs[q][o].push({
func: m,
context: p,
delegateFunc: n
});
return n
};
f._cleanStringData = function(p) {
var o = false;
if (typeof p === "string") {
p = [p];
o = true
}
var n = [],
r, t, s, q, m = p.length;
for (r = 0; r < m; r++) {
t = p[r];
if (typeof t === "string") {
if (t === "" || t === " ") {
continue
}
s = t.length;
while (t[0] === " ") {
t = t.slice(1, s);
s--
}
while (t[s - 1] === " ") {
t = t.slice(0, s - 1);
s--
}
}
n.push(t)
}
if (o) {
return n[0]
}
return n
};
f._unregisterDelegateFunc = function(o, r, m, q) {
if (!this._delegateFuncs[r] || !this._delegateFuncs[r][o]) {
return
}
var p = this._getDelegateFuncBindingIdx(o, r, m, q),
n;
if (p > -1) {
n = this._delegateFuncs[r][o][p].delegateFunc;
this._delegateFuncs[r][o].splice(p, 1);
if (this._delegateFuncs[r][o].length === 0) {
this._delegateFuncs[r][o] = null
}
}
return n
};
f._unregisterDelegateFuncs = function(m, o) {
if (!this._delegateFuncs[o]) {
return
}
if (m !== null && !this._delegateFuncs[o][m]) {
return
}
if (m === null) {
var n;
for (n in this._delegateFuncs[o]) {
if (this._delegateFuncs[o].hasOwnProperty(n)) {
this._unbindDelegateFunc(n, o)
}
}
return
}
this._unbindDelegateFunc(m, o)
};
f._unbindDelegateFunc = function(m, o) {
var p, q, n = 0;
while (this._delegateFuncs[o][m] && this._delegateFuncs[o][m][n]) {
p = this._delegateFuncs[o][m][n];
q = this._delegateFuncs[o][m][n].length;
this._off({
events: m,
delegateQuery: o,
callback: p.func,
context: p.context
});
if (this._delegateFuncs[o][m] && q === this._delegateFuncs[o][m].length) {
n++
}
}
p = q = null
};
f._unregisterDelegateFuncsByEvent = function(m) {
var n;
for (n in this._delegateFuncs) {
if (this._delegateFuncs.hasOwnProperty(n)) {
this._unregisterDelegateFuncs(m, n)
}
}
};
f._delegateFunc = function(m, q, s, o, r) {
if (this._targetHasDelegateAncestor(r.target, q)) {
var n = Array.prototype.slice.call(arguments, 0),
p = n.slice(4, n.length);
o = o || window;
if (typeof r.detail === "object") {
p[0] = r.detail
}
s.apply(o, p)
}
};
f._targetHasDelegateAncestor = function(o, n) {
var m = o;
while (m && m !== this.el && m !== document.documentElement) {
if (a.matchesSelector(m, n)) {
return true
}
m = m.parentNode
}
return false
};
f._on = function(q) {
var n = q.events,
r = q.callback,
p = q.delegateQuery,
o = q.context,
m = q.unboundCallback || r;
n = this._parseEventNames(n);
n.forEach(function(w, s, u, v, t) {
if (!this.has(t)) {
this._setListener(t)
}
if (typeof v === "string") {
w = this._registerDelegateFunc(t, v, w, s, u)
}
this._triggerInternalEvent("willon", {
evt: t,
callback: w,
context: u,
delegateQuery: v
});
this._eventEmitter.on(t, w, u);
this._triggerInternalEvent("didon", {
evt: t,
callback: w,
context: u,
delegateQuery: v
})
}.bind(this, r, m, o, p));
n = r = m = p = o = null
};
f._off = function(r) {
var n = r.events,
s = r.callback,
q = r.delegateQuery,
p = r.context,
m = r.unboundCallback || s;
if (typeof n === "undefined") {
this._eventEmitter.off();
var o;
for (o in this._bindings) {
if (this._bindings.hasOwnProperty(o)) {
this._removeListener(o)
}
}
for (o in this._delegateFuncs) {
if (this._delegateFuncs.hasOwnProperty(o)) {
this._delegateFuncs[o] = null
}
}
return
}
n = this._parseEventNames(n);
n.forEach(function(x, t, v, w, u) {
if (typeof w === "string" && typeof t === "function") {
x = this._unregisterDelegateFunc(u, w, t, v);
if (!x) {
return
}
}
if (typeof w === "string" && typeof x === "undefined") {
this._unregisterDelegateFuncs(u, w);
return
}
if (typeof u === "string" && typeof x === "undefined") {
this._unregisterDelegateFuncsByEvent(u);
if (typeof w === "string") {
return
}
}
this._triggerInternalEvent("willoff", {
evt: u,
callback: x,
context: v,
delegateQuery: w
});
this._eventEmitter.off(u, x, v);
this._triggerInternalEvent("didoff", {
evt: u,
callback: x,
context: v,
delegateQuery: w
});
if (!this.has(u)) {
this._removeListener(u)
}
}.bind(this, s, m, p, q));
n = s = m = q = p = null
};
f._once = function(p) {
var m = p.events,
q = p.callback,
o = p.delegateQuery,
n = p.context;
m = this._parseEventNames(m);
m.forEach(function(u, s, t, r) {
if (typeof t === "string") {
return this._handleDelegateOnce(r, u, s, t)
}
if (!this.has(r)) {
this._setListener(r)
}
this._triggerInternalEvent("willonce", {
evt: r,
callback: u,
context: s,
delegateQuery: t
});
this._eventEmitter.once.call(this, r, u, s);
this._triggerInternalEvent("didonce", {
evt: r,
callback: u,
context: s,
delegateQuery: t
})
}.bind(this, q, n, o));
m = q = o = n = null
};
f._handleDelegateOnce = function(m, p, n, o) {
this._triggerInternalEvent("willonce", {
evt: m,
callback: p,
context: n,
delegateQuery: o
});
this._on({
events: m,
context: n,
delegateQuery: o,
callback: this._getDelegateOnceCallback.bind(this, m, p, n, o),
unboundCallback: p
});
this._triggerInternalEvent("didonce", {
evt: m,
callback: p,
context: n,
delegateQuery: o
});
return this
};
f._getDelegateOnceCallback = function(m, r, o, q) {
var n = Array.prototype.slice.call(arguments, 0),
p = n.slice(4, n.length);
r.apply(o, p);
this._off({
events: m,
delegateQuery: q,
callback: r,
context: o
})
};
f._getDelegateFuncBindingIdx = function(t, q, o, m, u) {
var s = -1;
if (this._delegateFuncs[q] && this._delegateFuncs[q][t]) {
var p, n, r = this._delegateFuncs[q][t].length;
for (p = 0; p < r; p++) {
n = this._delegateFuncs[q][t][p];
if (u && typeof o === "undefined") {
o = n.func
}
if (n.func === o && n.context === m) {
s = p;
break
}
}
}
return s
};
f._triggerDOMEvents = function(o, r, q) {
var n = [this.el];
if (q) {
n = a.querySelectorAll(q, this.el)
}
var p, s, m = n.length;
for (p = 0; p < m; p++) {
g.dispatchEvent(n[p], o, {
bubbles: true,
cancelable: true,
detail: r
})
}
};
b.exports = h
}, {
"./DOMEmitterEvent": 445,
"ac-dom-events": 416,
"ac-dom-traversal": 424,
"ac-event-emitter": 446
}],
445: [function(b, c, a) {
var f = b("ac-dom-events");
var d;
var g = function(j, h) {
this._domEmitter = h;
this.originalEvent = j || {};
this._originalTarget = f.target(this.originalEvent);
this.target = this._originalTarget || this._domEmitter.el;
this.currentTarget = this._domEmitter.el;
this.timeStamp = this.originalEvent.timeStamp || Date.now();
if (this._isDOMEvent(this.originalEvent)) {
if (typeof this.originalEvent.detail === "object") {
this.data = this.originalEvent.detail
}
} else {
if (j) {
this.data = this.originalEvent;
this.originalEvent = {}
}
}
};
d = g.prototype;
d.preventDefault = function() {
f.preventDefault(this.originalEvent)
};
d.stopPropagation = function() {
f.stopPropagation(this.originalEvent)
};
d.stopImmediatePropagation = function() {
if (this.originalEvent.stopImmediatePropagation) {
this.originalEvent.stopImmediatePropagation()
}
this._domEmitter.stopImmediatePropagation()
};
d._isDOMEvent = function(h) {
if (this._originalTarget || (document.createEvent !== "undefined" && typeof CustomEvent !== "undefined" && h instanceof CustomEvent)) {
return true
}
return false
};
c.exports = g
}, {
"ac-dom-events": 416
}],
446: [function(b, c, a) {
arguments[4][19][0].apply(a, arguments)
}, {
"./ac-event-emitter/EventEmitter": 447,
dup: 19
}],
447: [function(b, c, a) {
arguments[4][20][0].apply(a, arguments)
}, {
dup: 20
}],
448: [function(b, c, a) {
arguments[4][196][0].apply(a, arguments)
}, {
"./ac-window-delegate/WindowDelegate": 451,
"./ac-window-delegate/WindowDelegateCustomEvent": 452,
"./ac-window-delegate/WindowDelegateOptimizer": 453,
dup: 196
}],
449: [function(b, c, a) {
arguments[4][197][0].apply(a, arguments)
}, {
"ac-event-emitter": 446,
dup: 197
}],
450: [function(b, c, a) {
arguments[4][198][0].apply(a, arguments)
}, {
"ac-event-emitter": 446,
dup: 198
}],
451: [function(d, b, g) {
var j;
var c = d("ac-shared-instance").SharedInstance,
m = d("ac-dom-emitter").DOMEmitter,
k = d("./OptimizerController"),
f = d("./CustomEventController"),
h = d("./queries/queries"),
n = d("./optimizers/optimizers");
var l = "ac-window-delegate:WindowDelegate",
a = "3.0.0-4";
function o() {
this._emitter = new m(window);
this._controllers = {
optimizer: new k(n),
customEvent: new f()
};
var p;
for (p in h) {
if (h.hasOwnProperty(p)) {
this[p] = this._getProperty.bind(this, p);
h[p] = h[p].bind(this)
}
}
this._bindEvents()
}
j = o.prototype;
j.on = function(p, s, q) {
var r = this._seperateCustomEvents(p);
this._optimizeEvents(r.standardEvents);
this._customEventOn(r.customEvents, s, q);
this._emitterOn.apply(this, arguments);
return this
};
j.once = function(p, s, q) {
var r = this._seperateCustomEvents(p);
this._optimizeEvents(r.standardEvents);
this._customEventOnce(r.customEvents, s, q);
this._emitterOnce.apply(this, arguments);
return this
};
j.off = function(q, v, r) {
var u = this._seperateCustomEvents(q),
s = false;
if (!q) {
s = true
}
this._customEventOff(u.customEvents, v, r, s);
this._emitterOff.apply(this, arguments);
if (s) {
try {
var p;
for (p in this._controllers.optimizer._events) {
if (this._controllers.optimizer._events.hasOwnProperty(p) && this._shouldDeoptimizeEvent(p, true)) {
this._deoptimizeEvent(p)
}
}
this._bindEvents()
} catch (t) {}
}
return this
};
j.has = function(p, r, q) {
return this._emitter.has.apply(this._emitter, arguments)
};
j.trigger = function() {
this._emitter.trigger.apply(this._emitter, arguments);
return this
};
j.emitterTrigger = function() {
this._emitter.emitterTrigger.apply(this._emitter, arguments);
return this
};
j.propagateTo = function() {
this._emitter.propagateTo.apply(this._emitter, arguments);
return this
};
j.stopPropagatingTo = function() {
this._emitter.stopPropagatingTo.apply(this._emitter, arguments);
return this
};
j.addOptimizer = function(p) {
this._controllers.optimizer.add(p);
return this
};
j.addCustomEvent = function(p) {
this._controllers.customEvent.add(p);
return this
};
j._emitterOn = function() {
this._emitter.on.apply(this._emitter, arguments)
};
j._emitterOnce = function() {
this._emitter.once.apply(this._emitter, arguments)
};
j._emitterOff = function() {
this._emitter.off.apply(this._emitter, arguments)
};
j._onEventUnbound = function(q) {
var p = q.data.evt;
if (this._shouldDeoptimizeEvent(p)) {
this._deoptimizeEvent(p)
}
};
j._customEventOn = function(p, r, q) {
if (p.length === 0) {
return
}
this._controllers.customEvent.on(p.join(" "), r, q)
};
j._customEventOnce = function(p, r, q) {
if (p.length === 0) {
return
}
this._controllers.customEvent.once(p.join(" "), r, q)
};
j._customEventOff = function(p, s, q, r) {
if (!r && p.length === 0) {
return
}
if (r && p.length === 0) {
this._controllers.customEvent.off();
return
}
this._controllers.customEvent.off(p.join(" "), s, q)
};
j._getProperty = function(r, p) {
var q = null;
if (!p) {
q = this._getOptimizedValue(r)
}
if (q === null) {
q = h[r].call(this, p)
}
return q
};
j._optimizeEvents = function(r) {
var q, s, p = r.length;
for (s = 0; s < p; s++) {
q = r[s];
if (this._shouldOptimizeEvent(q)) {
this._optimizeEvent(q)
}
}
};
j._shouldOptimizeEvent = function(p) {
if (this._controllers.optimizer.canOptimizeEvent(p) && !this._controllers.optimizer.isOptimizingEvent(p)) {
return true
}
return false
};
j._shouldDeoptimizeEvent = function(p, q) {
if (this._controllers.optimizer.isOptimizingEvent(p) && (q || this._emitter._eventEmitter._events[p].length <= 1)) {
return true
}
return false
};
j._optimizeEvent = function(q) {
var p = this._controllers.optimizer.getOptimizerByEvent(q);
p.activate();
this._emitterOn(q, p.callback, p)
};
j._deoptimizeEvent = function(q) {
var p = this._controllers.optimizer.getOptimizerByEvent(q);
p.deactivate();
this._emitterOff(q, p.callback, p)
};
j._getOptimizedValue = function(p) {
return this._controllers.optimizer.get(p)
};
j._seperateCustomEvents = function(t) {
var q = {
customEvents: [],
standardEvents: []
};
if (typeof t === "string") {
var u = t.split(" "),
r, s, p = u.length;
for (s = 0; s < p; s++) {
r = u[s];
if (this._controllers.customEvent.canHandleCustomEvent(r)) {
q.customEvents.push(r)
} else {
q.standardEvents.push(r)
}
}
}
return q
};
j._bindEvents = function() {
this._emitter.on("dom-emitter:didoff", this._onEventUnbound, this)
};
b.exports = c.share(l, a, o)
}, {
"./CustomEventController": 449,
"./OptimizerController": 450,
"./optimizers/optimizers": 456,
"./queries/queries": 465,
"ac-dom-emitter": 443,
"ac-shared-instance": 411
}],
452: [function(b, c, a) {
arguments[4][200][0].apply(a, arguments)
}, {
"ac-event-emitter": 446,
dup: 200
}],
453: [function(b, c, a) {
arguments[4][201][0].apply(a, arguments)
}, {
"ac-event-emitter": 446,
dup: 201
}],
454: [function(b, c, a) {
arguments[4][202][0].apply(a, arguments)
}, {
"../../WindowDelegateOptimizer": 453,
"../../queries/queries": 465,
dup: 202
}],
455: [function(b, c, a) {
arguments[4][203][0].apply(a, arguments)
}, {
"../../WindowDelegateOptimizer": 453,
"../../queries/queries": 465,
dup: 203
}],
456: [function(b, c, a) {
arguments[4][204][0].apply(a, arguments)
}, {
"./events/resize": 454,
"./events/scroll": 455,
dup: 204
}],
457: [function(b, c, a) {
arguments[4][205][0].apply(a, arguments)
}, {
dup: 205
}],
458: [function(b, c, a) {
arguments[4][206][0].apply(a, arguments)
}, {
dup: 206
}],
459: [function(b, c, a) {
arguments[4][207][0].apply(a, arguments)
}, {
dup: 207
}],
460: [function(b, c, a) {
arguments[4][208][0].apply(a, arguments)
}, {
dup: 208
}],
461: [function(b, c, a) {
arguments[4][209][0].apply(a, arguments)
}, {
dup: 209
}],
462: [function(b, c, a) {
arguments[4][210][0].apply(a, arguments)
}, {
dup: 210
}],
463: [function(b, c, a) {
arguments[4][211][0].apply(a, arguments)
}, {
dup: 211
}],
464: [function(b, c, a) {
arguments[4][212][0].apply(a, arguments)
}, {
dup: 212
}],
465: [function(b, c, a) {
arguments[4][213][0].apply(a, arguments)
}, {
"./methods/clientHeight": 457,
"./methods/clientWidth": 458,
"./methods/innerHeight": 459,
"./methods/innerWidth": 460,
"./methods/maxScrollX": 461,
"./methods/maxScrollY": 462,
"./methods/scrollX": 463,
"./methods/scrollY": 464,
dup: 213
}],
466: [function(b, c, a) {
c.exports = {
Viewport: b("./ac-viewport/Viewport")
}
}, {
"./ac-viewport/Viewport": 467
}],
467: [function(d, b, g) {
var c = d("ac-shared-instance").SharedInstance,
l = d("ac-window-delegate").WindowDelegate,
j = d("ac-breakpoints-delegate").BreakpointsDelegate;
var k = "ac-viewport:Viewport",
a = "3.0.0-1";
var h;
function f(n) {
var o, m = l;
for (o in m) {
if (m.hasOwnProperty(o)) {
this[o] = m[o]
} else {
h[o] = m[o]
}
}
this.addCustomEvent(j.getCustomEvent())
}
h = f.prototype;
h.getBreakpoint = function() {
return j.getBreakpoint()
};
h.setBreakpoints = function(m) {
return j.setBreakpoints(m)
};
b.exports = c.share(k, a, f)
}, {
"ac-breakpoints-delegate": 409,
"ac-shared-instance": 411,
"ac-window-delegate": 448
}],
468: [function(b, c, a) {
c.exports = {
ScrollMotionEmitter: b("./ac-scroll-motion-emitter/ScrollMotionEmitter"),
ElementScrollMotionEmitter: b("./ac-scroll-motion-emitter/ElementScrollMotionEmitter")
}
}, {
"./ac-scroll-motion-emitter/ElementScrollMotionEmitter": 469,
"./ac-scroll-motion-emitter/ScrollMotionEmitter": 470
}],
469: [function(d, f, c) {
var b = d("ac-object"),
j = d("ac-viewport").Viewport,
h = d("./ScrollMotionEmitter");
function a(l, k) {
k = k || {};
if (!(l instanceof HTMLElement)) {
return null
}
this.el = l;
this.options = k;
if (this.options.offsetTop) {
this.offsetTop = this.options.offsetTop
}
if (this.options.offsetBottom) {
this.offsetBottom = this.options.offsetBottom
}
this.setEmitterBounds();
this._boundHandleResize = this._handleResize.bind(this);
this._bindResizeEvents();
h.call(this, k)
}
var g = a.prototype = b.create(h.prototype);
g.setEmitterBounds = function() {
this._elementBounds = this.el.getBoundingClientRect();
var o = j.scrollY(),
l = this._elementBounds.top + o,
k = this._elementBounds.bottom + o,
n = this.offsetTop || 0,
m = this.offsetBottom || 0;
if (typeof this.offsetTop === "function") {
n = this.offsetTop()
}
if (typeof this.offsetBottom === "function") {
m = this.offsetBottom()
}
this.min = this.options.min = l + n;
this.max = this.options.max = k + m
};
g.destroy = function() {
j.off("resize orientationchange", this._boundHandleResize);
h.prototype.destroy.call(this)
};
g._bindResizeEvents = function() {
j.on("resize orientationchange", this._boundHandleResize)
};
g._handleClockUpdate = function(k) {
if (this._shouldUpdateOnResize) {
this.setEmitterBounds();
this.handleScroll();
this._shouldUpdateOnResize = false
}
h.prototype._handleClockUpdate.call(this, k)
};
g._handleResize = function() {
this._shouldUpdateOnResize = true
};
f.exports = a
}, {
"./ScrollMotionEmitter": 470,
"ac-object": 380,
"ac-viewport": 466
}],
470: [function(d, f, b) {
var a = d("ac-object"),
j = d("ac-viewport").Viewport,
c = d("ac-motion-emitter").MotionEmitter;
function h(k) {
k = k || {};
if (typeof k.min !== "number" || typeof k.max !== "number") {
return null
}
c.call(this, k);
this.smooth = this.options.smooth || false;
if (!this.options.overrideScroll) {
this._bindScrollEvents()
}
}
var g = h.prototype = a.create(c.prototype);
g.updateValue = function(k) {
if (this.smooth) {
return c.prototype.updateValue.call(this, k)
}
if (this._currentValue === this._targetValue) {
this._shouldEmitChange = false;
return
}
this._currentValue = this._targetValue;
this._shouldEmitChange = true
};
g.handleScroll = function(l) {
if (typeof l !== "number") {
l = j.scrollY()
}
var k;
if (l < this.min) {
k = this.min
} else {
if (l > this.max) {
k = this.max
} else {
k = l
}
}
k = (k - this.min) / (this.max - this.min);
this.setProgress(k)
};
g.destroy = function() {
if (this._boundHandleScroll) {
j.off("scroll", this._boundHandleScroll)
}
return c.prototype.destroy.call(this)
};
g._bindScrollEvents = function() {
this._boundHandleScroll = this.handleScroll.bind(this);
j.on("scroll", this._boundHandleScroll)
};
f.exports = h
}, {
"ac-motion-emitter": 373,
"ac-object": 380,
"ac-viewport": 466
}],
471: [function(b, c, a) {
arguments[4][221][0].apply(a, arguments)
}, {
"./helpers/globals": 479,
"ac-function/once": 492,
dup: 221
}],
472: [function(b, c, a) {
arguments[4][222][0].apply(a, arguments)
}, {
"./touchAvailable": 507,
"ac-browser": 487,
"ac-function/once": 492,
dup: 222
}],
473: [function(b, c, a) {
arguments[4][223][0].apply(a, arguments)
}, {
"./helpers/globals": 479,
"ac-function/once": 492,
dup: 223
}],
474: [function(b, c, a) {
arguments[4][224][0].apply(a, arguments)
}, {
"ac-function/once": 492,
"ac-prefixer/getStyleValue": 495,
dup: 224
}],
475: [function(b, c, a) {
arguments[4][225][0].apply(a, arguments)
}, {
"ac-function/memoize": 491,
"ac-prefixer/getStyleProperty": 494,
"ac-prefixer/getStyleValue": 495,
dup: 225
}],
476: [function(b, c, a) {
arguments[4][226][0].apply(a, arguments)
}, {
"ac-function/once": 492,
"ac-prefixer/getStyleValue": 495,
dup: 226
}],
477: [function(b, c, a) {
arguments[4][227][0].apply(a, arguments)
}, {
"./helpers/globals": 479,
"ac-function/memoize": 491,
dup: 227
}],
478: [function(b, c, a) {
arguments[4][228][0].apply(a, arguments)
}, {
"ac-function/memoize": 491,
"ac-prefixer/getEventType": 493,
dup: 228
}],
479: [function(b, c, a) {
arguments[4][229][0].apply(a, arguments)
}, {
dup: 229
}],
480: [function(b, c, a) {
c.exports = {
canvasAvailable: b("./canvasAvailable"),
continuousScrollEventsAvailable: b("./continuousScrollEventsAvailable"),
cookiesAvailable: b("./cookiesAvailable"),
cssLinearGradientAvailable: b("./cssLinearGradientAvailable"),
cssPropertyAvailable: b("./cssPropertyAvailable"),
cssViewportUnitsAvailable: b("./cssViewportUnitsAvailable"),
elementAttributeAvailable: b("./elementAttributeAvailable"),
eventTypeAvailable: b("./eventTypeAvailable"),
isDesktop: b("./isDesktop"),
isHandheld: b("./isHandheld"),
isRetina: b("./isRetina"),
isTablet: b("./isTablet"),
localStorageAvailable: b("./localStorageAvailable"),
mediaElementsAvailable: b("./mediaElementsAvailable"),
sessionStorageAvailable: b("./sessionStorageAvailable"),
svgAvailable: b("./svgAvailable"),
threeDTransformsAvailable: b("./threeDTransformsAvailable"),
touchAvailable: b("./touchAvailable"),
webGLAvailable: b("./webGLAvailable")
}
}, {
"./canvasAvailable": 471,
"./continuousScrollEventsAvailable": 472,
"./cookiesAvailable": 473,
"./cssLinearGradientAvailable": 474,
"./cssPropertyAvailable": 475,
"./cssViewportUnitsAvailable": 476,
"./elementAttributeAvailable": 477,
"./eventTypeAvailable": 478,
"./isDesktop": 481,
"./isHandheld": 482,
"./isRetina": 483,
"./isTablet": 484,
"./localStorageAvailable": 485,
"./mediaElementsAvailable": 486,
"./sessionStorageAvailable": 504,
"./svgAvailable": 505,
"./threeDTransformsAvailable": 506,
"./touchAvailable": 507,
"./webGLAvailable": 508
}],
481: [function(b, c, a) {
arguments[4][231][0].apply(a, arguments)
}, {
"./helpers/globals": 479,
"./touchAvailable": 507,
"ac-function/once": 492,
dup: 231
}],
482: [function(b, c, a) {
arguments[4][232][0].apply(a, arguments)
}, {
"./isDesktop": 481,
"./isTablet": 484,
"ac-function/once": 492,
dup: 232
}],
483: [function(b, c, a) {
arguments[4][233][0].apply(a, arguments)
}, {
"./helpers/globals": 479,
dup: 233
}],
484: [function(d, f, b) {
var c = d("./isDesktop").original;
var h = d("./helpers/globals");
var g = d("ac-function/once");
function a() {
var k = h.getWindow();
var j = k.screen.width;
if (k.orientation && k.screen.height < j) {
j = k.screen.height
}
return (!c() && j >= 600)
}
f.exports = g(a);
f.exports.original = a
}, {
"./helpers/globals": 479,
"./isDesktop": 481,
"ac-function/once": 492
}],
485: [function(b, c, a) {
arguments[4][235][0].apply(a, arguments)
}, {
"./helpers/globals": 479,
"ac-function/once": 492,
dup: 235
}],
486: [function(b, c, a) {
arguments[4][236][0].apply(a, arguments)
}, {
"./helpers/globals": 479,
"ac-function/once": 492,
dup: 236
}],
487: [function(b, c, a) {
arguments[4][1][0].apply(a, arguments)
}, {
"./ac-browser/BrowserData": 488,
"./ac-browser/IE": 489,
dup: 1
}],
488: [function(b, c, a) {
arguments[4][239][0].apply(a, arguments)
}, {
"./data": 490,
dup: 239
}],
489: [function(b, c, a) {
arguments[4][3][0].apply(a, arguments)
}, {
dup: 3
}],
490: [function(b, c, a) {
arguments[4][241][0].apply(a, arguments)
}, {
dup: 241
}],
491: [function(b, c, a) {
arguments[4][242][0].apply(a, arguments)
}, {
dup: 242
}],
492: [function(b, c, a) {
arguments[4][243][0].apply(a, arguments)
}, {
dup: 243
}],
493: [function(b, c, a) {
arguments[4][40][0].apply(a, arguments)
}, {
"./shared/camelCasedEventTypes": 496,
"./shared/prefixHelper": 498,
"./utils/eventTypeAvailable": 501,
dup: 40
}],
494: [function(b, c, a) {
arguments[4][96][0].apply(a, arguments)
}, {
"./shared/getStyleTestElement": 497,
"./shared/prefixHelper": 498,
"./shared/stylePropertyCache": 499,
"./utils/toCSS": 502,
"./utils/toDOM": 503,
dup: 96
}],
495: [function(b, c, a) {
arguments[4][97][0].apply(a, arguments)
}, {
"./getStyleProperty": 494,
"./shared/prefixHelper": 498,
"./shared/stylePropertyCache": 499,
"./shared/styleValueAvailable": 500,
dup: 97
}],
496: [function(b, c, a) {
arguments[4][41][0].apply(a, arguments)
}, {
dup: 41
}],
497: [function(b, c, a) {
arguments[4][98][0].apply(a, arguments)
}, {
dup: 98
}],
498: [function(b, c, a) {
arguments[4][42][0].apply(a, arguments)
}, {
dup: 42
}],
499: [function(b, c, a) {
arguments[4][100][0].apply(a, arguments)
}, {
dup: 100
}],
500: [function(b, c, a) {
arguments[4][101][0].apply(a, arguments)
}, {
"./getStyleTestElement": 497,
"./stylePropertyCache": 499,
dup: 101
}],
501: [function(b, c, a) {
arguments[4][43][0].apply(a, arguments)
}, {
dup: 43
}],
502: [function(b, c, a) {
arguments[4][103][0].apply(a, arguments)
}, {
dup: 103
}],
503: [function(b, c, a) {
arguments[4][104][0].apply(a, arguments)
}, {
dup: 104
}],
504: [function(b, c, a) {
arguments[4][255][0].apply(a, arguments)
}, {
"./helpers/globals": 479,
"ac-function/once": 492,
dup: 255
}],
505: [function(b, c, a) {
arguments[4][256][0].apply(a, arguments)
}, {
"./helpers/globals": 479,
"ac-function/once": 492,
dup: 256
}],
506: [function(b, c, a) {
arguments[4][257][0].apply(a, arguments)
}, {
"ac-function/once": 492,
"ac-prefixer/getStyleValue": 495,
dup: 257
}],
507: [function(b, c, a) {
arguments[4][258][0].apply(a, arguments)
}, {
"./helpers/globals": 479,
"ac-function/once": 492,
dup: 258
}],
508: [function(c, d, b) {
var g = c("./helpers/globals");
var f = c("ac-function/once");
function a() {
var h = g.getDocument();
var j = h.createElement("canvas");
return !!(typeof j.getContext === "function" && j.getContext("webgl"))
}
d.exports = f(a);
d.exports.original = a
}, {
"./helpers/globals": 479,
"ac-function/once": 492
}],
509: [function(b, c, a) {
c.exports = {
fade: b("./ac-solar/fade"),
fadeIn: b("./ac-solar/fadeIn"),
fadeOut: b("./ac-solar/fadeOut"),
move: b("./ac-solar/move"),
moveX: b("./ac-solar/moveX"),
moveY: b("./ac-solar/moveY"),
scroll: b("./ac-solar/scroll"),
scrollX: b("./ac-solar/scrollX"),
scrollY: b("./ac-solar/scrollY")
}
}, {
"./ac-solar/fade": 510,
"./ac-solar/fadeIn": 511,
"./ac-solar/fadeOut": 512,
"./ac-solar/move": 513,
"./ac-solar/moveX": 514,
"./ac-solar/moveY": 515,
"./ac-solar/scroll": 516,
"./ac-solar/scrollX": 517,
"./ac-solar/scrollY": 518
}],
510: [function(c, d, a) {
var b = c("ac-eclipse").Clip;
d.exports = function f(h, l, k, j, g) {
g = g || {};
g.propsFrom = g.propsFrom || {};
g.propsFrom.opacity = l;
return b.to(h, j, {
opacity: k
}, g)
}
}, {
"ac-eclipse": "ac-eclipse"
}],
511: [function(d, f, b) {
var c = d("ac-eclipse").Clip;
f.exports = function a(h, j, g) {
return c.to(h, j, {
opacity: 1
}, g)
}
}, {
"ac-eclipse": "ac-eclipse"
}],
512: [function(c, d, a) {
var b = c("ac-eclipse").Clip;
d.exports = function f(h, j, g) {
return b.to(h, j, {
opacity: 0
}, g)
}
}, {
"ac-eclipse": "ac-eclipse"
}],
513: [function(f, g, c) {
var b = f("ac-feature").cssPropertyAvailable;
var d = f("ac-eclipse").Clip;
g.exports = function a(k, h, n, l, j) {
var m;
if (b("transform")) {
m = {
transform: {
translateX: h,
translateY: n
}
}
} else {
m = {
left: h + "px",
top: n + "px"
}
}
return d.to(k, l, m, j)
}
}, {
"ac-eclipse": "ac-eclipse",
"ac-feature": 480
}],
514: [function(f, g, c) {
var b = f("ac-feature").cssPropertyAvailable;
var d = f("ac-eclipse").Clip;
var a = f("./move");
g.exports = function h(l, j, m, k) {
return a(l, j, 0, m, k)
}
}, {
"./move": 513,
"ac-eclipse": "ac-eclipse",
"ac-feature": 480
}],
515: [function(f, g, c) {
var b = f("ac-feature").cssPropertyAvailable;
var d = f("ac-eclipse").Clip;
var a = f("./move");
g.exports = function h(k, m, l, j) {
return a(k, 0, m, l, j)
}
}, {
"./move": 513,
"ac-eclipse": "ac-eclipse",
"ac-feature": 480
}],
516: [function(d, f, b) {
var c = d("ac-eclipse").Clip;
f.exports = function a(g, o, k, h, r) {
r = r || {};
var q = g.scrollLeft;
var m = g.scrollTop;
var n = {
x: q,
y: m
};
var p = {
x: o,
y: k
};
if (typeof r.onDraw === "function") {
var l = r.onDraw
}
var j = function(s) {
g.scrollLeft = n.x;
g.scrollTop = n.y;
if (l) {
l.call(this, s)
}
};
r.onDraw = j;
return c.to(n, h, p, r)
}
}, {
"ac-eclipse": "ac-eclipse"
}],
517: [function(d, f, b) {
var c = d("ac-eclipse").Clip;
var a = d("./scroll");
f.exports = function g(k, h, l, j) {
return this.scroll(k, h, 0, l, j)
}
}, {
"./scroll": 516,
"ac-eclipse": "ac-eclipse"
}],
518: [function(d, f, b) {
var c = d("ac-eclipse").Clip;
var a = d("./scroll");
f.exports = function g(j, l, k, h) {
return this.scroll(j, 0, l, k, h)
}
}, {
"./scroll": 516,
"ac-eclipse": "ac-eclipse"
}],
519: [function(b, c, a) {
c.exports = {
Swipe: b("./ac-swipe/Swipe")
}
}, {
"./ac-swipe/Swipe": 520
}],
520: [function(c, f, b) {
var d = c("ac-object").create;
var a = c("ac-feature/touchAvailable");
var h = c("ac-event-emitter").EventEmitter;
function j(k) {
if (!a()) {
return
}
this.el = k;
this.minSwipeInPixels = 72;
this.fingerCount = 0;
this.startX = 0;
this.startY = 0;
this.currentX = 0;
this.currentY = 0;
this.swipeLength = 0;
this.swipeAngle = 0;
this.swipeDirection = 0;
this.eventTriggered = false;
this._init()
}
j.TOUCH_START = "touchstart";
j.TOUCH_MOVE = "touchmove";
j.TOUCH_END = "touchend";
j.TOUCH_CANCEL = "touchcancel";
j.SWIPE_RIGHT = "swiperight";
j.SWIPE_LEFT = "swipeleft";
j.SWIPE_UP = "swipeup";
j.SWIPE_DOWN = "swipedown";
var g = j.prototype = d(h.prototype);
j.prototype.constructor = j;
g.destroy = function() {
removeEventListener(this.el, j.TOUCH_START, this._boundFunctions._touchStart);
removeEventListener(this.el, j.TOUCH_MOVE, this._boundFunctions._touchMove);
removeEventListener(this.el, j.TOUCH_END, this._boundFunctions._touchEnd);
removeEventListener(this.el, j.TOUCH_CANCEL, this._boundFunctions._touchCancel);
this.el = null;
this._boundFunctions = null;
this.off()
};
g._init = function() {
this._boundFunctions = {
_touchStart: this._touchStart.bind(this),
_touchMove: this._touchMove.bind(this),
_touchEnd: this._touchEnd.bind(this),
_touchCancel: this._touchCancel.bind(this)
};
this.el.addEventListener(j.TOUCH_START, this._boundFunctions._touchStart, false);
this.el.addEventListener(j.TOUCH_MOVE, this._boundFunctions._touchMove, false);
this.el.addEventListener(j.TOUCH_END, this._boundFunctions._touchEnd, false);
this.el.addEventListener(j.TOUCH_CANCEL, this._boundFunctions._touchCancel, false)
};
g._touchStart = function(k) {
this.fingerCount = k.touches.length;
if (this.fingerCount === 1) {
this.startX = k.touches[0].screenX;
this.startY = k.touches[0].screenY
} else {
this._touchCancel()
}
};
g._touchMove = function(k) {
if (k.touches.length === 1) {
this.currentX = k.touches[0].screenX;
this.currentY = k.touches[0].screenY;
this._setSwipeLength.call(this)
} else {
this._touchCancel()
}
};
g._touchEnd = function(m) {
if (this.fingerCount === 1 && this.currentX !== 0) {
this._setSwipeLength();
var l = Math.abs(this.startX - this.currentX);
var k = Math.abs(this.startY - this.currentY);
if (k > l) {
this._touchCancel();
return
}
if (this.swipeLength >= this.minSwipeInPixels && !this.eventTriggered) {
this._setSwipeAngle();
this._setSwipeDirection();
this._triggerSwipeEvent()
}
} else {
this._touchCancel()
}
};
g._touchCancel = function() {
this._reset()
};
g._setSwipeLength = function() {
this.swipeLength = Math.round(Math.sqrt(Math.pow(this.currentX - this.startX, 2) + Math.pow(this.currentY - this.startY, 2)))
};
g._setSwipeAngle = function() {
var m = this.startX - this.currentX;
var l = this.currentY - this.startY;
var k = Math.atan2(l, m);
this.swipeAngle = Math.round(k * 180 / Math.PI);
if (this.swipeAngle < 0) {
this.swipeAngle = 360 - Math.abs(this.swipeAngle)
}
};
g._setSwipeDirection = function() {
if ((this.swipeAngle <= 45) && (this.swipeAngle >= 0) || (this.swipeAngle <= 360) && (this.swipeAngle >= 315)) {
this.swipeDirection = j.SWIPE_LEFT
} else {
if ((this.swipeAngle >= 135) && (this.swipeAngle <= 225)) {
this.swipeDirection = j.SWIPE_RIGHT
} else {
if ((this.swipeAngle > 45) && (this.swipeAngle < 135)) {
this.swipeDirection = j.SWIPE_DOWN
} else {
this.swipeDirection = j.SWIPE_UP
}
}
}
};
g._triggerSwipeEvent = function() {
this.trigger(this.swipeDirection, {
cancelable: true
});
this.eventTriggered = true;
this._touchCancel()
};
g._reset = function() {
this.fingerCount = 0;
this.startX = 0;
this.startY = 0;
this.currentX = 0;
this.currentY = 0;
this.swipeLength = 0;
this.swipeAngle = 0;
this.swipeDirection = 0;
this.eventTriggered = false
};
f.exports = j
}, {
"ac-event-emitter": 219,
"ac-feature/touchAvailable": 258,
"ac-object": 380
}],
521: [function(b, c, a) {
c.exports = {
viewports: {
large: {
"min-width": 1069,
"max-width": 1441,
content: 980,
oldie: true
},
xlarge: {
"min-width": 1442,
content: 980
},
medium: {
"min-width": 736,
"max-width": 1068,
content: 692
},
small: {
"min-width": 320,
"max-width": 735,
content: 288,
"max-device-width": 768
}
},
"viewports-smallondesktop": {
large: {
"min-width": 1069,
"max-width": 1441,
content: 980,
oldie: true
},
xlarge: {
"min-width": 1442,
content: 980
},
medium: {
"min-width": 736,
"max-width": 1068,
content: 692
},
small: {
"min-width": 320,
"max-width": 735,
content: 288
}
},
"viewports-mobilefirst": {
small: {
"min-width": 320,
"max-width": 735,
content: 288,
oldie: true
},
medium: {
"min-width": 736,
"max-width": 1068,
content: 692
},
large: {
"min-width": 1069,
"max-width": 1441,
content: 980
},
xlarge: {
"min-width": 1442,
content: 980
}
}
}
}, {}],
522: [function(b, f, a) {
var d = b("./ac-ajax/Ajax");
var c = b("./ac-ajax/Request");
f.exports = new d();
f.exports.Ajax = d;
f.exports.Request = c
}, {
"./ac-ajax/Ajax": 523,
"./ac-ajax/Request": 524
}],
523: [function(c, g, b) {
var f = c("./Request");
var h = c("./XDomain-request");
var a = c("./URLParser");
var d = function() {};
d._Request = f;
d.prototype = {
_defaults: {
method: "get",
timeout: 5000
},
_extend: function() {
for (var k = 1; k < arguments.length; k++) {
for (var j in arguments[k]) {
if (arguments[k].hasOwnProperty(j)) {
arguments[0][j] = arguments[k][j]
}
}
}
return arguments[0]
},
_getOptions: function(j, k) {
return this._extend({}, this._defaults, k, j)
},
_isCrossDomainRequest: function(m) {
var l = new a();
var k = l.parse(window.location.href).origin;
var j = l.parse(m).origin;
l.destroy();
return (j !== k)
},
create: function(j) {
return new f(j)
},
cors: function(k) {
var j = (window.XDomainRequest && document.documentMode < 10) ? h : f;
return new j(k)
},
get: function(k) {
var j;
k = this._getOptions({
method: "get"
}, k);
if (this._isCrossDomainRequest(k.url)) {
j = this.cors(k)
} else {
j = this.create(k)
}
return j.send()
},
getJSON: function(j) {
return this.get(j).then(function(k) {
return JSON.parse(k.responseText)
})
},
head: function(j) {
j = this._getOptions({
method: "head"
}, j);
return this.create(j).send()
},
isCrossDomainRequest: function(j) {
return this._isCrossDomainRequest(j)
},
post: function(j) {
j = this._getOptions({
method: "post"
}, j);
return this.create(j).send()
}
};
g.exports = d
}, {
"./Request": 524,
"./URLParser": 525,
"./XDomain-request": 526
}],
524: [function(b, d, a) {
var c = function(f) {
this._initialize(f)
};
c.create = function() {
var f = function() {};
f.prototype = c.prototype;
return new f()
};
c.prototype = {
_addReadyStateChangeHandler: function() {
this.xhr.onreadystatechange = function(f) {
if (this.xhr.readyState === 4) {
clearTimeout(this._timeout);
if (this.xhr.status >= 200 && this.xhr.status < 300) {
this.resolve(this.xhr)
} else {
this.reject(this.xhr)
}
}
}.bind(this)
},
_getPromise: function() {
this.promise = new Promise(function(g, f) {
this.resolve = g;
this.reject = f
}.bind(this))
},
_getTransport: function() {
return new XMLHttpRequest()
},
_initialize: function(h) {
var g = this._validateConfiguration(h);
if (g) {
throw g
}
this._configuration = h;
var f = this._configuration.method.toUpperCase();
this.xhr = this._getTransport();
this._getPromise();
this.xhr.open(f, this._configuration.url);
this._setRequestHeaders(h.headers);
this._addReadyStateChangeHandler()
},
_sendXHR: function() {
if (this.xhr) {
if (this._configuration && this._configuration.data) {
this.xhr.send(this._configuration.data)
} else {
this.xhr.send()
}
}
},
_setRequestHeaders: function(f) {
if (f) {
f.forEach(function(g) {
this.xhr.setRequestHeader(g.name, g.value)
}, this)
}
},
_setTimeout: function(f) {
if (!f) {
if (this._configuration && this._configuration.timeout) {
f = this._configuration.timeout
} else {
clearTimeout(this._timeout);
this._timeout = null
}
}
if (this._timeout !== null) {
clearTimeout(this._timeout)
}
if (f > 0) {
this._timeout = setTimeout(function() {
this.xhr.abort();
this.reject()
}.bind(this), f)
}
},
_timeout: null,
_validateConfiguration: function(h) {
if (!h) {
return "Must provide a configuration object"
}
var g = [];
var f = h.headers;
if (!h.url) {
g.push("Must provide a url")
}
if (!h.method) {
g.push("Must provide a method")
}
if (f) {
if (!Array.isArray(f)) {
return "Must provide an array of headers"
}
this._validateHeaders(f, g)
}
return g.join(", ")
},
_validateHeaders: function(h, j) {
for (var g = 0, f = h.length; g < f; g++) {
if (!h[g].hasOwnProperty("name") || !h[g].hasOwnProperty("value")) {
j.push("Must provide a name and value key for all headers");
break
}
}
},
promise: null,
reject: null,
resolve: null,
send: function() {
this._setTimeout();
this._sendXHR();
return this.promise
},
xhr: null
};
d.exports = c
}, {}],
525: [function(c, d, b) {
var a = function() {
this.parser = null
};
var f = a.prototype;
f.parse = function(l) {
var j;
var m;
var h;
var g;
var k;
if (typeof l !== "string") {
throw new TypeError(l + " must be a string")
}
if (!this.parser) {
this.parser = document.createElement("a")
}
this._qualifyPath(l);
h = this.parser.hostname;
m = this.parser.protocol;
g = this._normalizePort(this.parser);
j = this.parser.origin || this._constructOriginString(this.parser, g);
k = this.parser.search;
return {
originalPath: l,
qualifiedPath: this.parser.href,
protocol: m,
hostname: h,
origin: j,
port: g,
search: k
}
};
f.destroy = function() {
this.parser = null
};
f._constructOriginString = function(j, g) {
var h = g ? ":" + g : "";
return j.protocol + "//" + j.hostname + h
};
f._normalizePort = function(g) {
return (g.port === "80" || g.port === "443" || g.port === "0") ? "" : g.port
};
f._qualifyPath = function(g) {
this.parser.href = g;
this.parser.href = this.parser.href
};
d.exports = a
}, {}],
526: [function(b, d, a) {
var c = b("./Request");
var f = function(g) {
c.apply(this, arguments)
};
f.prototype = c.create();
f.prototype._getTransport = function() {
return new XDomainRequest()
};
f.prototype._addReadyStateChangeHandler = function() {
this.xhr.ontimeout = function() {
this.reject(this.xhr)
}.bind(this);
this.xhr.onerror = function() {
this.reject(this.xhr)
}.bind(this);
this.xhr.onload = function() {
this.resolve(this.xhr)
}.bind(this)
};
f.prototype._setTimeout = function(g) {
if (!g) {
if (this._configuration && this._configuration.timeout) {
g = this._configuration.timeout
}
}
if (g > 0) {
this.xhr.timeout = g
}
};
f.prototype._sendXHR = function() {
setTimeout(function() {
c.prototype._sendXHR.call(this)
}.bind(this), 0)
};
d.exports = f
}, {
"./Request": 524
}],
527: [function(b, c, a) {
arguments[4][134][0].apply(a, arguments)
}, {
dup: 134
}],
528: [function(b, c, a) {
c.exports = {
isString: b("./ac-string/isString"),
toCamelCase: b("./ac-string/toCamelCase"),
queryStringToObject: b("./ac-string/queryStringToObject"),
toQueryPair: b("./ac-string/toQueryPair"),
queryParameters: b("./ac-string/queryParameters"),
supplant: b("./ac-string/supplant")
}
}, {
"./ac-string/isString": 529,
"./ac-string/queryParameters": 530,
"./ac-string/queryStringToObject": 531,
"./ac-string/supplant": 532,
"./ac-string/toCamelCase": 533,
"./ac-string/toQueryPair": 534
}],
529: [function(c, d, b) {
d.exports = function a(f) {
return (typeof f === "string")
}
}, {}],
530: [function(d, f, c) {
var a = d("./queryStringToObject");
f.exports = function b() {
var g = {};
var h = window.location.toString().split("?")[1];
if (typeof h === "string") {
g = a(h)
}
return g
}
}, {
"./queryStringToObject": 531
}],
531: [function(d, f, c) {
var a = d("qs");
f.exports = function b(g) {
if (typeof g !== "string") {
throw new TypeError("QueryStringToObject error: argument must be a string")
}
return a.parse(g)
}
}, {
qs: 527
}],
532: [function(b, c, a) {
c.exports = function d(h, g, f) {
if (!g) {
return h
}
f = f || /{([^{}]*)}/g;
return h.replace(f, function(k, j) {
var l = g[j];
return typeof l === "string" || typeof l === "number" ? l : k
})
}
}, {}],
533: [function(b, c, a) {
c.exports = function d(f) {
if (typeof f !== "string") {
throw new TypeError("Argument must be of type String.")
}
return f.replace(/-+(.)?/g, function(g, h) {
return h ? h.toUpperCase() : ""
})
}
}, {}],
534: [function(b, c, a) {
c.exports = function d(f, g) {
if (typeof f !== "string" || typeof g !== "string") {
throw new TypeError("toQueryPair error: argument must be a string")
}
return encodeURIComponent(f) + "=" + encodeURIComponent(g)
}
}, {}],
535: [function(c, d, b) {
var a = c("./ac-vatman/vat-client");
var f = c("./ac-vatman/vat-resource");
var g = {
createPlayer: c("./ac-vatman/factory/createPlayer"),
vatClient: a,
vatResource: f
};
d.exports = g
}, {
"./ac-vatman/factory/createPlayer": 536,
"./ac-vatman/vat-client": 543,
"./ac-vatman/vat-resource": 544
}],
536: [function(c, a, g) {
var n = c("./../featureDetection/canPlayType");
var d = c("./../featureDetection/canPlayTypeNatively");
var m = c("./../featureDetection/canPlayTypeQuicktime");
var l = c("./../featureDetection/featureDetect").shouldPlayQuicktime;
var j = c("./../featureDetection/featureDetect").textTrackDisablingNotAvailable;
function h(p, o) {
o.type = "quicktime";
return p.create(o)
}
function k(p, o) {
return p.create(o)
}
function f(o) {
var q = this.findTextTrackModelFromNativeTrack(o);
var p = this.getEnabledTextTracks();
p.forEach(function(r) {
if (q.cid !== r.cid) {
r.disable()
}
});
if (q.get("mode") === "disabled") {
q.hide()
}
}
function b(r, q) {
q = q || {};
var p = "video/quicktime";
var o = "video/mp4";
var s;
if (d(p) || d(o) && (!l())) {
s = k(r, q)
} else {
if (m(p)) {
q.type = "quicktime";
s = h(r, q)
}
}
if (s && !j()) {
s.on("addtrack", f, s)
}
return s
}
a.exports = b
}, {
"./../featureDetection/canPlayType": 537,
"./../featureDetection/canPlayTypeNatively": 538,
"./../featureDetection/canPlayTypeQuicktime": 539,
"./../featureDetection/featureDetect": 540
}],
537: [function(b, d, a) {
var f = b("./canPlayTypeNatively");
var c = b("./canPlayTypeQuicktime");
function g(j) {
var h = f(j);
if (!h) {
h = c(j)
}
return h
}
d.exports = g
}, {
"./canPlayTypeNatively": 538,
"./canPlayTypeQuicktime": 539
}],
538: [function(c, d, b) {
var f;
function a() {
return document.createElement("video")
}
d.exports = function g(j) {
var k = "";
var h = a();
if (typeof h.canPlayType === "function") {
k = h.canPlayType(j)
}
return k
}
}, {}],
539: [function(c, f, b) {
var a = c("./quicktime");
f.exports = function d(g) {
var h = "";
if (g === "video/quicktime" && a.getPluginVersion() !== undefined) {
h = "maybe"
}
return h
}
}, {
"./quicktime": 541
}],
540: [function(b, c, a) {
var f = b("ac-browser");
var d = f.name.toLowerCase();
c.exports = {
shouldPlayMOV: function() {
return (d === "safari" || d === "safari mobile")
},
shouldPlayQuicktime: function() {
return (d === "ie" && f.version < 9)
},
textTrackDisablingNotAvailable: function() {
return (d === "safari mobile" && f.version === 7)
}
}
}, {
"ac-browser": 1
}],
541: [function(b, c, a) {
c.exports = {
getPlugins: function() {
return navigator.plugins
},
getPluginVersion: function() {
var j;
var k = /(\d+\.){2}(\d+){1}$/;
var d = this.getPlugins();
if (d && d[0]) {
for (var h = 0; h < d.length; h++) {
var f = (/QuickTime/i.test(d[h].name) && typeof j === "undefined");
if (f) {
if (d[h].version) {
j = d[h].version
} else {
if (k.test(d[h].name)) {
j = d[h].name.match(k);
j = j[0] || undefined
}
}
}
}
} else {
var g = ["QuickTime.QuickTime", "QuickTimeCheckObject.QuickTimeCheck.1"];
g.forEach(function(m) {
var n;
var l;
try {
n = new ActiveXObject(m);
l = (typeof n === "object" && typeof n.QuickTimeVersion !== "undefined" && typeof j === "undefined");
if (l) {
j = n.QuickTimeVersion
}
} catch (o) {}
})
}
return j
}
}
}, {}],
542: [function(b, c, a) {
c.exports = {
bg: "български език",
cs: "Czech",
el: "Greek",
de: "German",
da: "Danish",
en: "English",
es: "Spanish",
et: "Estonian",
fi: "Finnish",
fr: "Français",
hr: "Croatian",
hu: "Hungarian",
it: "Italian",
ja: "Japanese",
ko: "Korean",
lt: "Lithuanian",
lv: "Latvian",
nl: "Dutch",
no: "Norsk",
pl: "Polish",
pt: "Portuguese",
ro: "Romanian",
ru: "Russian",
sk: "Slovak",
sv: "Swedish",
tr: "Turkish",
zh: "Chinese"
}
}, {}],
543: [function(d, b, g) {
var k = d("ac-ajax");
var h = d("ac-string");
var l = /(-[a-z]{2}-([a-z]{2}-){0,})[0-9]{8}_r[0-9].+\.mov$/;
var a = /_r[0-9].+\.mov$/;
var j = /((-([a-z]{2}))*)-[0-9]+/;
var o = /((-([a-z]{2}))*)-/;
var c = "m";
var f = "_{width}x{height}{suffix}." + c + "p4";
var n = [{
width: 416,
height: 234,
type: "baseline-high",
suffix: "h"
}, {
width: 416,
height: 234,
type: "small",
suffix: "h"
}, {
width: 416,
height: 234,
type: "baseline-low",
suffix: "l"
}, {
width: 416,
height: 234,
type: "baseline-medium",
suffix: "m"
}, {
width: 640,
height: 360,
type: "medium",
suffix: "h"
}, {
width: 848,
height: 480,
type: "large",
suffix: ""
}, {
width: 960,
height: 540,
type: "large",
suffix: ""
}, {
width: 1280,
height: 720,
type: "large",
suffix: "h"
}, {
width: 1280,
height: 720,
type: "large",
suffix: "l"
}];
var p = {
create: function() {
var m = function() {};
m.prototype = this;
return new m()
},
getSource: function(m, r, q) {
var t = n;
if (!m) {
throw "Must provide a vatRefMovie"
}
if (!r) {
throw "Must provide a width"
}
if (q) {
t = t.filter(function(u) {
return u.type === q
})
}
var s = t.reduce(function(u, v) {
return Math.abs(v.width - r) < Math.abs(u.width - r) ? v : u
});
return m.replace(a, h.supplant(f, s))
},
getConfigPath: function(m) {
return m.replace(l, "-current.json")
},
getConfig: function(m) {
return k.getJSON({
url: this.getConfigPath(m)
})
},
getVTTSource: function(m) {
return m.replace(a, "_cc.vtt")
}
};
b.exports = p
}, {
"ac-ajax": 522,
"ac-string": 528
}],
544: [function(c, d, b) {
var a = c("./vat-client");
var h = c("./localization/language");
var g = c("./featureDetection/featureDetect").shouldPlayMOV;
var f = {
create: function(k) {
if (!k) {
throw "Must provide a vatRefMovie."
}
var l = function() {};
l.prototype = this;
var j = new l();
j.vatRefMovie = k;
j.vatVTTSource = [];
return j
},
getSource: function(k, j) {
return a.getSource(this.vatRefMovie, k, j)
},
getConfig: function() {
return a.getConfig(this.vatRefMovie)
},
getVTTSource: function() {
return a.getVTTSource(this.vatRefMovie)
},
_getCaptionsSrcLang: function(k) {
var j = "";
if (typeof k === "string" && k.indexOf("-") !== -1) {
j = k.split("-")[0]
}
return j
},
_isNewVTTSrc: function(j) {
return (this.vatVTTSource.indexOf(j) === -1)
},
_handleCaptions: function(l) {
var m;
var j = "";
var k = {};
this.getConfig().then(function(n) {
if (!n.metadata.captions) {
return
}
m = this.getVTTSource();
if (m && (this._isNewVTTSrc(m) === true)) {
if (n.metadata.lang) {
j = this._getCaptionsSrcLang(n.metadata.lang)
}
k.kind = "caption";
k.src = m;
k.mode = "hidden";
if (j) {
k.srclang = j;
k.label = h[j] || null
}
l.addTextTrackFromRemoteVTT(k);
this.vatVTTSource.push(m)
}
}.bind(this))
},
setPlayerSrc: function(j, m, k) {
var l = this.vatRefMovie;
if (!g()) {
l = this.getSource(m, k)
}
j.setSrc(l);
this._handleCaptions(j)
}
};
d.exports = f
}, {
"./featureDetection/featureDetect": 540,
"./localization/language": 542,
"./vat-client": 543
}],
545: [function(b, c, a) {
arguments[4][19][0].apply(a, arguments)
}, {
"./ac-event-emitter/EventEmitter": 546,
dup: 19
}],
546: [function(b, c, a) {
arguments[4][20][0].apply(a, arguments)
}, {
dup: 20
}],
547: [function(b, c, a) {
arguments[4][134][0].apply(a, arguments)
}, {
dup: 134
}],
548: [function(b, c, a) {
arguments[4][135][0].apply(a, arguments)
}, {
"./ac-object/clone": 549,
"./ac-object/create": 550,
"./ac-object/defaults": 551,
"./ac-object/extend": 552,
"./ac-object/getPrototypeOf": 553,
"./ac-object/isDate": 554,
"./ac-object/isEmpty": 555,
"./ac-object/isRegExp": 556,
"./ac-object/toQueryParameters": 557,
dup: 135
}],
549: [function(b, c, a) {
arguments[4][136][0].apply(a, arguments)
}, {
"./extend": 552,
dup: 136
}],
550: [function(b, c, a) {
arguments[4][137][0].apply(a, arguments)
}, {
dup: 137
}],
551: [function(b, c, a) {
arguments[4][138][0].apply(a, arguments)
}, {
"./extend": 552,
dup: 138
}],
552: [function(b, c, a) {
arguments[4][139][0].apply(a, arguments)
}, {
dup: 139
}],
553: [function(b, c, a) {
arguments[4][140][0].apply(a, arguments)
}, {
dup: 140
}],
554: [function(b, c, a) {
arguments[4][141][0].apply(a, arguments)
}, {
dup: 141
}],
555: [function(b, c, a) {
arguments[4][142][0].apply(a, arguments)
}, {
dup: 142
}],
556: [function(b, c, a) {
arguments[4][143][0].apply(a, arguments)
}, {
dup: 143
}],
557: [function(b, c, a) {
arguments[4][144][0].apply(a, arguments)
}, {
dup: 144,
qs: 547
}],
558: [function(b, c, a) {
arguments[4][409][0].apply(a, arguments)
}, {
"./ac-breakpoints-delegate/BreakpointsDelegate": 559,
dup: 409
}],
559: [function(f, b, k) {
var d = f("ac-shared-instance").SharedInstance,
g = f("ac-object"),
r = f("ac-window-delegate").WindowDelegate,
c = f("ac-window-delegate").WindowDelegateCustomEvent,
q = f("ac-event-emitter").EventEmitter;
var n = "ac-breakpoints-delegate:BreakpointsDelegate",
a = "2.1.0-1";
var o = "breakpoint",
p = "resize orientationchange";
var h = {
large: {
"min-width": 1069,
"max-width": 1441,
content: 980,
oldie: true
},
xlarge: {
"min-width": 1442,
content: 980
},
medium: {
"min-width": 736,
"max-width": 1068,
content: 692
},
small: {
"min-width": 320,
"max-width": 735,
content: 288,
"max-device-width": 768
}
};
var j = {
minWidth: "min-width",
maxWidth: "max-width",
maxDeviceWidth: "max-device-width",
content: "content",
oldIE: "oldie"
};
function m(s) {
this._customEvent = new c(o, this._onBreakpointListenerAdded.bind(this), this._onBreakpointListenerRemoved.bind(this));
this.setBreakpoints(h)
}
var l = m.prototype;
l.initialize = function() {
this._breakpoint = null;
this._lastBreakpoint = null;
this._handleOldIE();
this._breakpointOrder = this._setBreakpointOrder();
if (!this._isOldIE) {
this._handleResize()
}
};
l.getCustomEvent = function() {
return this._customEvent
};
l.getBreakpoint = function() {
if (!this._customEvent.active) {
this._handleResize()
}
return this._breakpoint
};
l.setBreakpoints = function(s) {
this.breakpoints = g.clone(s);
this.initialize()
};
l._handleResize = function() {
var w = r.clientWidth(),
x;
var v, u, t, s = this._breakpointOrder.length;
for (v = 0; v < s; v++) {
u = this._breakpointOrder[v];
t = this.breakpoints[u];
if (t._breakPosition > w) {
break
}
}
if (v > 0) {
v = v - 1
}
x = this.breakpoints[this._breakpointOrder[v]];
if (!this._breakpoint) {
this._breakpoint = x;
return
}
if (x.name === this._breakpoint.name) {
return
}
this._lastBreakpoint = this._breakpoint;
this._breakpoint = x;
r.trigger(o, {
incoming: this._breakpoint,
outgoing: this._lastBreakpoint
})
};
l._setBreakpointOrder = function() {
var w = 0,
t = [],
s = [],
v = j.minWidth,
u;
for (u in this.breakpoints) {
if (this.breakpoints.hasOwnProperty(u)) {
this.breakpoints[u].name = u;
t.push(this.breakpoints[u][v])
}
}
t.sort(function(y, x) {
return y - x
});
t.forEach(function(y) {
var x;
for (x in this.breakpoints) {
if (this.breakpoints.hasOwnProperty(x)) {
if (this.breakpoints[x][v] === y) {
s.push(x)
}
}
}
}, this);
s.forEach(function(y, x) {
this.breakpoints[y]._breakPosition = w;
if (s[x + 1]) {
w = this.breakpoints[s[x + 1]][v]
}
}, this);
return s
};
l._handleOldIE = function() {
var s = document.documentElement,
u = j.oldIE;
if (s.className.indexOf("no-" + u) > -1 || s.className.indexOf(u) === -1) {
return
}
this._isOldIE = true;
this._replaceBreakpoints(function(v) {
return v[u] === true
});
var t;
for (t in this.breakpoints) {
if (this.breakpoints.hasOwnProperty(t)) {
this._breakpoint = this.breakpoints[t];
return
}
}
};
l._replaceBreakpoints = function(v) {
var t, u = {},
s;
for (t in this.breakpoints) {
if (this.breakpoints.hasOwnProperty(t)) {
s = this.breakpoints[t];
if (v(s)) {
u[t] = g.clone(this.breakpoints[t])
}
}
}
this.breakpoints = u
};
l._onBreakpointListenerAdded = function() {
r.on(p, this._handleResize, this)
};
l._onBreakpointListenerRemoved = function() {
r.off(p, this._handleResize, this)
};
b.exports = d.share(n, a, m)
}, {
"ac-event-emitter": 545,
"ac-object": 548,
"ac-shared-instance": 560,
"ac-window-delegate": 597
}],
560: [function(b, c, a) {
arguments[4][194][0].apply(a, arguments)
}, {
"./ac-shared-instance/SharedInstance": 561,
dup: 194
}],
561: [function(b, c, a) {
arguments[4][195][0].apply(a, arguments)
}, {
dup: 195
}],
562: [function(b, c, a) {
arguments[4][413][0].apply(a, arguments)
}, {
"./ac-prefixer/Prefixer": 563,
dup: 413
}],
563: [function(b, c, a) {
arguments[4][414][0].apply(a, arguments)
}, {
"./Prefixer/camelCasedEvents": 564,
dup: 414
}],
564: [function(b, c, a) {
arguments[4][415][0].apply(a, arguments)
}, {
dup: 415
}],
565: [function(b, c, a) {
arguments[4][416][0].apply(a, arguments)
}, {
"./ac-dom-events/addEventListener": 566,
"./ac-dom-events/dispatchEvent": 567,
"./ac-dom-events/preventDefault": 568,
"./ac-dom-events/removeEventListener": 569,
"./ac-dom-events/stop": 570,
"./ac-dom-events/stopPropagation": 571,
"./ac-dom-events/target": 572,
dup: 416
}],
566: [function(b, c, a) {
arguments[4][417][0].apply(a, arguments)
}, {
"ac-prefixer": 562,
dup: 417
}],
567: [function(b, c, a) {
arguments[4][418][0].apply(a, arguments)
}, {
dup: 418
}],
568: [function(b, c, a) {
arguments[4][44][0].apply(a, arguments)
}, {
dup: 44
}],
569: [function(b, c, a) {
arguments[4][420][0].apply(a, arguments)
}, {
"ac-prefixer": 562,
dup: 420
}],
570: [function(b, c, a) {
arguments[4][47][0].apply(a, arguments)
}, {
"./preventDefault": 568,
"./stopPropagation": 571,
dup: 47
}],
571: [function(b, c, a) {
arguments[4][48][0].apply(a, arguments)
}, {
dup: 48
}],
572: [function(b, c, a) {
arguments[4][423][0].apply(a, arguments)
}, {
dup: 423
}],
573: [function(b, c, a) {
arguments[4][173][0].apply(a, arguments)
}, {
"./ac-dom-traversal/ancestor": 574,
"./ac-dom-traversal/ancestors": 575,
"./ac-dom-traversal/children": 576,
"./ac-dom-traversal/filterBySelector": 577,
"./ac-dom-traversal/firstChild": 578,
"./ac-dom-traversal/lastChild": 581,
"./ac-dom-traversal/matchesSelector": 582,
"./ac-dom-traversal/nextSibling": 583,
"./ac-dom-traversal/nextSiblings": 584,
"./ac-dom-traversal/previousSibling": 585,
"./ac-dom-traversal/previousSiblings": 586,
"./ac-dom-traversal/querySelector": 587,
"./ac-dom-traversal/querySelectorAll": 588,
"./ac-dom-traversal/shims/ie": 589,
"./ac-dom-traversal/siblings": 590,
dup: 173
}],
574: [function(b, c, a) {
arguments[4][174][0].apply(a, arguments)
}, {
"./helpers/validate": 580,
"./matchesSelector": 582,
"ac-dom-nodes": 74,
dup: 174
}],
575: [function(b, c, a) {
arguments[4][175][0].apply(a, arguments)
}, {
"./helpers/validate": 580,
"./matchesSelector": 582,
"ac-dom-nodes": 74,
dup: 175
}],
576: [function(b, c, a) {
arguments[4][176][0].apply(a, arguments)
}, {
"./filterBySelector": 577,
"./helpers/validate": 580,
"ac-dom-nodes": 74,
dup: 176
}],
577: [function(b, c, a) {
arguments[4][177][0].apply(a, arguments)
}, {
"./helpers/validate": 580,
"./matchesSelector": 582,
dup: 177
}],
578: [function(b, c, a) {
arguments[4][178][0].apply(a, arguments)
}, {
"./children": 576,
"./helpers/validate": 580,
dup: 178
}],
579: [function(b, c, a) {
arguments[4][179][0].apply(a, arguments)
}, {
dup: 179
}],
580: [function(b, c, a) {
arguments[4][180][0].apply(a, arguments)
}, {
"ac-dom-nodes": 74,
dup: 180
}],
581: [function(b, c, a) {
arguments[4][181][0].apply(a, arguments)
}, {
"./children": 576,
"./helpers/validate": 580,
dup: 181
}],
582: [function(b, c, a) {
arguments[4][182][0].apply(a, arguments)
}, {
"./helpers/nativeMatches": 579,
"./helpers/validate": 580,
"ac-dom-nodes": 74,
dup: 182
}],
583: [function(b, c, a) {
arguments[4][183][0].apply(a, arguments)
}, {
"./helpers/validate": 580,
"./matchesSelector": 582,
"ac-dom-nodes": 74,
dup: 183
}],
584: [function(b, c, a) {
arguments[4][184][0].apply(a, arguments)
}, {
"./helpers/validate": 580,
"./matchesSelector": 582,
"ac-dom-nodes": 74,
dup: 184
}],
585: [function(b, c, a) {
arguments[4][185][0].apply(a, arguments)
}, {
"./helpers/validate": 580,
"./matchesSelector": 582,
"ac-dom-nodes": 74,
dup: 185
}],
586: [function(b, c, a) {
arguments[4][186][0].apply(a, arguments)
}, {
"./helpers/validate": 580,
"./matchesSelector": 582,
"ac-dom-nodes": 74,
dup: 186
}],
587: [function(b, c, a) {
arguments[4][187][0].apply(a, arguments)
}, {
"./helpers/validate": 580,
dup: 187
}],
588: [function(b, c, a) {
arguments[4][188][0].apply(a, arguments)
}, {
"./helpers/validate": 580,
dup: 188
}],
589: [function(b, c, a) {
arguments[4][189][0].apply(a, arguments)
}, {
"../helpers/nativeMatches": 579,
"../helpers/validate": 580,
"../vendor/sizzle/sizzle": 591,
"ac-dom-nodes": 74,
dup: 189
}],
590: [function(b, c, a) {
arguments[4][190][0].apply(a, arguments)
}, {
"./children": 576,
"./helpers/validate": 580,
dup: 190
}],
591: [function(b, c, a) {
arguments[4][191][0].apply(a, arguments)
}, {
dup: 191
}],
592: [function(b, c, a) {
arguments[4][443][0].apply(a, arguments)
}, {
"./ac-dom-emitter/DOMEmitter": 593,
dup: 443
}],
593: [function(b, c, a) {
arguments[4][444][0].apply(a, arguments)
}, {
"./DOMEmitterEvent": 594,
"ac-dom-events": 565,
"ac-dom-traversal": 573,
"ac-event-emitter": 595,
dup: 444
}],
594: [function(b, c, a) {
arguments[4][445][0].apply(a, arguments)
}, {
"ac-dom-events": 565,
dup: 445
}],
595: [function(b, c, a) {
arguments[4][19][0].apply(a, arguments)
}, {
"./ac-event-emitter/EventEmitter": 596,
dup: 19
}],
596: [function(b, c, a) {
arguments[4][20][0].apply(a, arguments)
}, {
dup: 20
}],
597: [function(b, c, a) {
arguments[4][196][0].apply(a, arguments)
}, {
"./ac-window-delegate/WindowDelegate": 600,
"./ac-window-delegate/WindowDelegateCustomEvent": 601,
"./ac-window-delegate/WindowDelegateOptimizer": 602,
dup: 196
}],
598: [function(b, c, a) {
arguments[4][197][0].apply(a, arguments)
}, {
"ac-event-emitter": 595,
dup: 197
}],
599: [function(b, c, a) {
arguments[4][198][0].apply(a, arguments)
}, {
"ac-event-emitter": 595,
dup: 198
}],
600: [function(b, c, a) {
arguments[4][451][0].apply(a, arguments)
}, {
"./CustomEventController": 598,
"./OptimizerController": 599,
"./optimizers/optimizers": 605,
"./queries/queries": 614,
"ac-dom-emitter": 592,
"ac-shared-instance": 560,
dup: 451
}],
601: [function(b, c, a) {
arguments[4][200][0].apply(a, arguments)
}, {
"ac-event-emitter": 595,
dup: 200
}],
602: [function(b, c, a) {
arguments[4][201][0].apply(a, arguments)
}, {
"ac-event-emitter": 595,
dup: 201
}],
603: [function(b, c, a) {
arguments[4][202][0].apply(a, arguments)
}, {
"../../WindowDelegateOptimizer": 602,
"../../queries/queries": 614,
dup: 202
}],
604: [function(b, c, a) {
arguments[4][203][0].apply(a, arguments)
}, {
"../../WindowDelegateOptimizer": 602,
"../../queries/queries": 614,
dup: 203
}],
605: [function(b, c, a) {
arguments[4][204][0].apply(a, arguments)
}, {
"./events/resize": 603,
"./events/scroll": 604,
dup: 204
}],
606: [function(b, c, a) {
arguments[4][205][0].apply(a, arguments)
}, {
dup: 205
}],
607: [function(b, c, a) {
arguments[4][206][0].apply(a, arguments)
}, {
dup: 206
}],
608: [function(b, c, a) {
arguments[4][207][0].apply(a, arguments)
}, {
dup: 207
}],
609: [function(b, c, a) {
arguments[4][208][0].apply(a, arguments)
}, {
dup: 208
}],
610: [function(b, c, a) {
arguments[4][209][0].apply(a, arguments)
}, {
dup: 209
}],
611: [function(b, c, a) {
arguments[4][210][0].apply(a, arguments)
}, {
dup: 210
}],
612: [function(b, c, a) {
arguments[4][211][0].apply(a, arguments)
}, {
dup: 211
}],
613: [function(b, c, a) {
arguments[4][212][0].apply(a, arguments)
}, {
dup: 212
}],
614: [function(b, c, a) {
arguments[4][213][0].apply(a, arguments)
}, {
"./methods/clientHeight": 606,
"./methods/clientWidth": 607,
"./methods/innerHeight": 608,
"./methods/innerWidth": 609,
"./methods/maxScrollX": 610,
"./methods/maxScrollY": 611,
"./methods/scrollX": 612,
"./methods/scrollY": 613,
dup: 213
}],
615: [function(b, c, a) {
arguments[4][466][0].apply(a, arguments)
}, {
"./ac-viewport/Viewport": 616,
dup: 466
}],
616: [function(b, c, a) {
arguments[4][467][0].apply(a, arguments)
}, {
"ac-breakpoints-delegate": 558,
"ac-shared-instance": 560,
"ac-window-delegate": 597,
dup: 467
}],
617: [function(b, c, a) {
var h = b("ac-analytics");
var g = b("ac-event-emitter").EventEmitter;
var j = b("ac-browser");
function d(k) {
this.player = k;
this.sources = {};
this.currentStubPlayer = null;
this.playerType = "";
this.videoType = ""
}
var f = d.prototype;
f.activate = function() {
this.player.on("play", function() {
this.setCurrentStubPlayer();
this._proxyEvent("play")
}, this);
this.player.on("ended", function() {
this._proxyEvent("ended")
}, this);
this.player.on("timeupdate", function() {
this._proxyEvent("timeupdate")
}, this, this);
this.player.on("texttrackshow", function() {
this._proxyEvent("captions-enabled")
}, this);
this.player.on("durationchange", this.setCurrentStubPlayer, this)
};
f.getEventData = function() {
return {
playerType: (this.playerType || null),
videoType: (this.videoType || null)
}
};
f._createObserver = function(l) {
var k;
if (h && h.observer && h.observer.Video) {
k = new h.observer.Video(l)
}
return k
};
f._proxyEvent = function(k) {
if (this.currentStubPlayer) {
this.currentStubPlayer.trigger(k, this.getEventData())
}
};
f.setCurrentStubPlayer = function() {
var l = this.player.getCurrentSrc();
var k = this.getCurrentSourceObject(l);
if (k && k.stubPlayer) {
this.currentStubPlayer = k.stubPlayer;
this.playerType = (j.name.toLowerCase() === "ie" && j.version < 9) ? "quicktime" : "html5";
if (l && l.attributes && l.attributes.src) {
this.videoType = l.attributes.src.split(".").pop()
}
}
};
f.getSourceObjectByCID = function(m) {
var k;
for (var l in this.sources) {
if (this.sources.hasOwnProperty(l)) {
if (this.sources[l].cid === m) {
k = this.sources[l];
break
}
}
}
return k
};
f.getCurrentSourceObject = function(k) {
var l;
if (k) {
l = this.getSourceObjectByCID(k.cid)
}
return l
};
f.addSourceObject = function(k, l, n) {
var m = this._createStubPlayer(k);
this.sources[l] = {
stubPlayer: m,
observer: this._createObserver(m),
cid: n
}
};
f._createStubPlayer = function(k) {
var l = new g();
l.el = k;
return l
};
c.exports = d
}, {
"ac-analytics": "ac-analytics",
"ac-browser": 1,
"ac-event-emitter": 219
}],
618: [function(h, c, u) {
h("ac-polyfills/Element/prototype.classList");
var g = h("ac-dom-traversal/querySelector");
var p = h("ac-dom-traversal/querySelectorAll");
var b = h("ac-element-tracker").ElementTracker;
var s = h("ac-viewport").Viewport;
var l = h("ac-feature");
var q = h("ac-browser");
var a = h("ac-films").create;
var j = h("./model/SectionMap");
var r = h("./model/DataAttributes");
var t = h("./sharedsections/BaseSection");
var f = h("./ClipRegistry");
var o = h("./TimeoutRegistry");
var d = h("./LocalNavStyleChanger");
var k = h("./FilmsEmitterProxy");
function n() {
this.name = this.name || "[NOT SET]";
this._mainEl = g(".main");
this._sections = [];
this._visibleSections = [];
this._elementTracker = new b(null, {
autoStart: true
});
this._currentSection = null;
this._sectionUnderLocalNav = null;
this.setupEventBindings();
this.setupSections();
this._updateSectionVisibility(this._getScrollY(), this._getVisibleBottomOfPage());
this.setupLocalNavStyleChanger();
this.setupFilmsController();
if (!document.body.classList.contains("js-ready")) {
document.body.classList.add("js-ready")
}
}
var m = n.prototype;
m.destroy = function() {
this.teardownEvents();
for (var w = 0, v = this._sections.length; w < v; w++) {
this._sections[w].destroy()
}
this._elementTracker.stop();
this._elementTracker = null;
this._sections = null;
this._currentSection = null;
this._sectionUnderLocalNav = null;
this._visibleSections = null;
this._boundFunctions = null;
this._mainEl = null;
if (this._scrollClip) {
this._scrollClip.destroy();
this._scrollClip = null
}
};
m.setupEventBindings = function() {
this._boundFunctions = {
onViewportChange: this._onViewportMetricsChange.bind(this),
onBreakpoint: this._onBreakpoint.bind(this),
onPageDidAppear: this._onPageDidAppear.bind(this),
onPageWillDisappear: this._onPageWillDisappear.bind(this)
};
s.on("scroll resize orientationchange", this._boundFunctions.onViewportChange);
s.on("breakpoint", this._boundFunctions.onBreakpoint)
};
m.teardownEvents = function() {
this._elementTracker.windowDelegate.off("scroll resize orientationchange", this._boundFunctions.onViewportChange);
this._elementTracker.off();
s.off("scroll resize orientationchange", this._boundFunctions.onViewportChange);
s.off("breakpoint", this._boundFunctions.onBreakpoint)
};
m.setupSections = function() {
var x = p(".section", this._mainEl);
for (var A = 0, v = x.length; A < v; A++) {
var z = x[A];
var y = this._elementTracker.addElement(z);
this._elementTracker.refreshElementState(y);
var B = z.hasAttribute(r.SECTION_TYPE) ? z.getAttribute(r.SECTION_TYPE) : "BaseSection";
if (!j.hasOwnProperty(B)) {
throw "BasePage::setupSections no section type '" + B + "'found!"
}
var w = j[B];
var C = new w(z, y, A);
C.setupEvents();
this._sections.push(C)
}
};
m.setupFilmsController = function() {
var v;
if (q.os.toLowerCase() === "ios" && l.isHandheld()) {
v = p(".ac-video:not([data-offscreen-modal])")
} else {
v = p(".ac-video")
}
var w;
if (v.length > 0) {
w = a(v, {
modal: true,
deep: true
});
k.hasFilms = true;
if (w && w.modalVideo) {
w.modalVideo.on("close", function() {
k.trigger("close")
})
}
}
};
m.setupLocalNavStyleChanger = function() {
var v = this._mainEl.getAttribute("data-page-type");
d.initialize(this._currentSection, v)
};
m._activateSection = function(v) {
if (this._currentSection == v) {
return
}
if (this._currentSection) {
this._currentSection.deactivate()
}
this._currentSection = v;
this._currentSection.activate()
};
m._updateSectionVisibility = function(y, w) {
var x = this._sections[0];
var z = [];
var B = 0;
for (var A = 0, v = this._sections.length; A < v; A++) {
var C = this._sections[A];
if (C.trackedElement.pixelsInView > 0.000001) {
z.push(C)
}
if (C.trackedElement.pixelsInView > B) {
x = C;
B = C.trackedElement.pixelsInView
}
}
for (A = 0, v = Math.max(this._visibleSections.length, z.length); A < v; A++) {
if (this._visibleSections[A] && z.indexOf(this._visibleSections[A]) === -1) {
this._visibleSections[A].onViewWillDisappear(y, w)
}
if (z[A] && this._visibleSections.indexOf(z[A]) === -1) {
z[A].onViewWillAppear(y, w)
}
}
this._visibleSections = z;
this._activateSection(x)
};
m._onPageDidAppear = function(v) {
var w = g(".section-hero .icon-paddledown", this._mainEl);
if (w) {
f.add(new Clip(w, 1.5, {
destroyOnComplete: true,
opacity: 1
}).play())
}
};
m._onPageWillDisappear = function(v) {
f.destroyClips();
o.clearTimeouts();
this.destroy()
};
m._onBreakpoint = function(y) {
var w = this._getScrollY();
var v = this._getVisibleBottomOfPage();
for (var x = 0; x < this._sections.length; x++) {
this._sections[x].onBreakpoint(y.data.incoming, y.data.outgoing, w, v)
}
};
m._onViewportMetricsChange = function(B) {
var x = this._getScrollY();
var w = this._getVisibleBottomOfPage();
var A = B.type || B.originalEvent.type;
if (A == "resize" || A == "orientation") {
for (z = 0, v = this._sections.length; z < v; z++) {
this._sections[z].onResize(B, x, w)
}
}
this._updateSectionVisibility(x, w);
var y = (A == "scroll");
this._sectionUnderLocalNav = this._visibleSections[0];
for (var z = 0, v = this._visibleSections.length; z < v; z++) {
if (y) {
this._visibleSections[z].onScroll(B, x, w)
}
if (x + d.height > this._visibleSections[z].scrollToPosition) {
this._sectionUnderLocalNav = this._visibleSections[z]
}
}
d.setCurrentSection(this._sectionUnderLocalNav)
};
m._getSectionForTracker = function(x) {
for (var w = 0, v = this._sections.length; w < v; w++) {
if (this._sections[w].trackedElement === x) {
return this._sections[w]
}
}
return null
};
m._getScrollY = function() {
return window.pageYOffset || document.body.scrollTop
};
m._getVisibleBottomOfPage = function() {
return (window.pageYOffset || document.body.scrollTop) + window.innerHeight
};
c.exports = n
}, {
"./ClipRegistry": 619,
"./FilmsEmitterProxy": 621,
"./LocalNavStyleChanger": 622,
"./TimeoutRegistry": 623,
"./model/DataAttributes": 633,
"./model/SectionMap": 636,
"./sharedsections/BaseSection": 676,
"ac-browser": 1,
"ac-dom-traversal/querySelector": 120,
"ac-dom-traversal/querySelectorAll": 121,
"ac-element-tracker": 214,
"ac-feature": 230,
"ac-films": "ac-films",
"ac-polyfills/Element/prototype.classList": 393,
"ac-viewport": 615
}],
619: [function(b, c, a) {
b("ac-polyfills/Object/create");
var g = 0;
var f = function() {
this.clips = {}
};
var d = f.prototype;
f.prototype.constructor = f;
d.add = function(j) {
var h = "registry-item-" + g;
g++;
this._destroyClip(h);
this.clips[h] = j;
return this.clips[h]
};
d.remove = function(h) {
this._destroyClip(h)
};
d.destroyClips = function() {
for (var h in this.clips) {
if (this.clips.hasOwnProperty(i)) {
this._destroyClip(i)
}
}
this.clips = {}
};
d.destroy = function() {
this.destroyClips();
this.clips = null
};
d._destroyClip = function(h) {
if (this.clips[h]) {
this.clips[h].destroy();
this.clips[h] = null
}
};
c.exports = new f()
}, {
"ac-polyfills/Object/create": 394
}],
620: [function(c, d, b) {
var g = c("ac-viewport").Viewport;
var f;
var a = function(h) {
h = h || {};
this.els = {};
this.worldSpace = {};
if (h.els) {
var j;
for (j in h.els) {
if (h.els.hasOwnProperty(j)) {
this.add(j, h.els[j])
}
}
}
this._boundOnBreakpoint = this._onBreakpoint.bind(this);
g.on("breakpoint", this._boundOnBreakpoint)
};
f = a.prototype;
f.add = function(h, j) {
this.els[h] = {
el: j
};
this.initializeElement(h)
};
f.initializeElements = function() {
var h;
for (h in this.els) {
if (this.els.hasOwnProperty(h)) {
this.initializeElement(h)
}
}
};
f.initializeElement = function(j) {
var h = this.els[j].el.getBoundingClientRect(),
k = g.scrollY();
this.els[j].position = {
width: h.width,
height: h.height,
top: h.top + k,
left: h.left,
centerX: (h.width / 2) + h.left,
centerY: (h.height / 2) + h.top + k
}
};
f.remove = function(h) {
this.els[h] = null
};
f.calculate = function() {
var h;
for (h in this.els) {
if (this.els.hasOwnProperty(h)) {
this.worldSpace[h] = this.getWorldSpace(h)
}
}
};
f.getDistance = function(n, m) {
var h = this.worldSpace[n],
o = this.worldSpace[m];
var k = h.x - o.x,
j = h.y - o.y,
l = Math.sqrt(Math.pow(k, 2) + Math.pow(j, 2));
return l
};
f.getWorldSpace = function(h) {
var j = this.els[h],
l = j.position,
k;
if (this.parallaxOffsets && this.parallaxOffsets[h]) {
k = this.parallaxOffsets[h]
} else {
k = {
x: 0,
y: 0,
r: 0
}
}
return {
x: l.centerX + k.x,
y: l.centerY + k.y,
r: k.r
}
};
f._onBreakpoint = function() {
window.requestAnimationFrame(this.initializeElements.bind(this))
};
d.exports = a
}, {
"ac-viewport": 615
}],
621: [function(d, f, b) {
var h = d("ac-event-emitter-micro").EventEmitterMicro,
a = d("ac-object");
var g;
var c = function() {
h.call(this);
this.didClose = false;
this.hasFilms = false;
this.hasAutoplay = false;
this.once("close", this._onClose.bind(this))
};
g = c.prototype = a.create(h.prototype);
g._onClose = function() {
this.didClose = true
};
f.exports = new c()
}, {
"ac-event-emitter-micro": 217,
"ac-object": 380
}],
622: [function(c, b, g) {
c("ac-polyfills/Element/prototype.classList");
var l = c("ac-console").log;
var f = c("./model/DataAttributes"),
h = c("ac-dom-traversal").querySelector;
var k = {
light: "ac-localnav-light",
dark: "ac-localnav-dark"
};
var a = {
"section-light": "light",
"section-lightgray": "light",
"section-dark": "dark",
"section-darkgray": "dark",
"section-darkergray": "dark",
"section-superdarkgray": "dark"
};
var d = "light";
var m = function() {
this._currentTheme = "";
this._lastTheme = "";
this._currentPageNavLink = null;
this._section = null;
this._localNav = null;
this.height = 0
};
var j = m.prototype;
j.initialize = function(o, n) {
this._getLocalNav();
this.setCurrentSection(o);
this.setCurrentPage(n)
};
j.setCurrentPage = function(n) {
var o = h(".localnav-link[" + f.JUMP_SECTION_NAME + "=" + n + "]");
if (o === this._currentPageNavLink) {
return
}
if (this._currentPageNavLink) {
this._currentPageNavLink.classList.remove("current")
}
if (o) {
o.classList.add("current");
this._currentPageNavLink = o
}
};
j.setCurrentSection = function(o) {
if (!o || this._section && this._section === o) {
return
}
this._section = o;
for (var n in a) {
if (this._section.element.classList.contains(n)) {
this.setTheme(a[n]);
return
}
}
this.setTheme(d)
};
j.setTheme = function(n) {
if (!k[n] || this._currentTheme === n) {
return
}
for (var o in k) {
if (o !== n) {
this._localNav.classList.remove(k[o])
} else {
this._localNav.classList.add(k[o])
}
}
};
j.removeThemes = function() {
this._currentTheme = null;
for (var n in k) {
this._localNav.classList.remove(k[n])
}
};
j._getLocalNav = function(n) {
if (!this._localNav || n) {
this._localNav = h("#ac-localnav");
this.height = this._localNav.clientHeight
}
return this._localNav
};
m.SECTION_THEME_NAMES = a;
b.exports = new m()
}, {
"./model/DataAttributes": 633,
"ac-console": 31,
"ac-dom-traversal": 111,
"ac-polyfills/Element/prototype.classList": 393
}],
623: [function(b, c, a) {
function f() {
this._timeouts = []
}
var d = f.prototype = {};
d.setTimeout = function(h, g) {
var j = setTimeout(h, g);
this._timeouts.push(j);
return j
};
d.clearTimeouts = function() {
for (var h = 0, g = this._timeouts.length; h < g; h++) {
clearTimeout(this._timeouts[h])
}
this._timeouts = []
};
c.exports = new f()
}, {}],
624: [function(d, c, f) {
var b = d("ac-dom-traversal/querySelectorAll");
var k = d("ac-solar");
var h = d("ac-dom-styles/setStyle");
var j = d("ac-viewport").Viewport;
var a = function(n, p, m) {
var l = this;
var m = m || {};
this.el = n;
this.ee = m.elementEngagement || d("./sharedElementEngagement").getInstance();
this.config = JSON.parse(this.el.getAttribute("data-animate-in"));
if (!this.config) {
this.config = {}
}
this.viewportMap = {
large: "l",
medium: "m",
small: "s"
};
this.currentViewport = this.viewportMap[p];
this.animations = [];
var o = b("[data-animate-child]", this.el);
if (o.length > 0) {
o.forEach(function(r, q) {
l.animations.push({
el: r,
data: JSON.parse(r.getAttribute("data-animate-child"))
})
})
} else {
this.animations.push({
el: this.el,
data: this.config
})
}
this.animations.forEach(this._configAnimations.bind(this));
this._configElementEngagment();
this._track();
this._initialize()
};
var g = a.prototype;
g._configAnimations = function(n) {
var l = this.currentViewport;
var m = n.data;
if (m[l]) {
n.offsetX = m[l].offsetX || 0;
n.offsetY = m[l].offsetY || 0;
n.fadeIn = m[l].fadeIn || false
} else {
n.offsetX = m.offsetX || 0;
n.offsetY = m.offsetY || 0;
n.fadeIn = m.fadeIn || false
}
n.initialized = n.initialized || false;
n.animated = n.animated || false;
n.inView = n.inView || false;
n.duration = m.duration || 500;
n.delay = m.delay || 500;
n.repeat = m.repeat || false
};
g._configElementEngagment = function() {
this.timeToEngage = this.config.timeToEngage || 500;
this.threshold = this.config.threshold || 0.75
};
g._track = function() {
this.trackedEl = this.ee.addElement(this.el, {
timeToEngage: this.timeToEngage,
inViewThreshold: this.threshold
});
this.trackedEl.on("engaged", this._onThresholdEnter.bind(this));
this.trackedEl.on("enterview", this._onEnterView.bind(this));
this.trackedEl.on("exitview", this._onExitView.bind(this))
};
g._initialize = function() {
this.animations.forEach(function(l) {
if (!l.inView) {
k.move(l.el, l.offsetX, l.offsetY, 0);
if (l.fadeIn) {
l.el.style.opacity = 0
}
l.initialized = true
}
})
};
g._onThresholdEnter = function() {
this.animations.forEach(function(l) {
if (!l.initialized || l.animated) {
return
}
if (l.fadeIn) {
k.fadeIn(l.el, l.duration / 1000, {
delay: l.delay / 1000,
ease: l.ease
})
}
k.move(l.el, 0, 0, l.duration / 1000, {
delay: l.delay / 1000,
ease: l.ease
});
l.animated = true
})
};
g._onEnterView = function() {
this.animations.forEach(function(l) {
l.inView = true
})
};
g._onExitView = function() {
this.animations.forEach(function(l) {
l.inView = false;
if (l.repeat || !l.initialized) {
l._initialize()
}
})
};
g.destroy = function() {
this.ee.stop(this.trackedEl);
this.trackedEl.off()
};
g.updateAnimationOnBreakpoint = function(m) {
this.currentViewport = this.viewportMap[m];
var l = this;
this.animations.forEach(function(n) {
l._configAnimations(n);
if (!n.animated) {
l._initialize()
}
})
};
c.exports = a
}, {
"./sharedElementEngagement": 625,
"ac-dom-styles/setStyle": 105,
"ac-dom-traversal/querySelectorAll": 121,
"ac-solar": 509,
"ac-viewport": 615
}],
625: [function(b, d, a) {
var c = b("ac-element-engagement").ElementEngagement;
d.exports = (function() {
var g;
function f() {
var h = new c();
return h
}
return {
getInstance: function() {
if (!g) {
g = f()
}
return g
}
}
})()
}, {
"ac-element-engagement": 145
}],
626: [function(c, b, g) {
var m = c("../../../../../node_modules/ac-toolkit/src/json/exports.json");
var j = c("ac-viewport").Viewport;
var k = c("ac-dom-metrics/getContentDimensions");
var l = c("ac-dom-metrics/utils/getBoundingClientRect");
var n = c("ac-dom-traversal/querySelector");
var a = c("ac-dom-traversal/querySelectorAll");
var o = c("ac-dom-styles/setStyle");
var f = c("ac-eclipse").Clip;
function d(p) {
this.togglenavEl = p.togglenavEl;
this.togglenavItemSelector = p.togglenavItemSelector || "li";
if (!this.togglenavEl) {
throw new Error("CenteredTogglenav must be given a togglenav element")
}
this.togglenavItems = a(this.togglenavItemSelector, this.togglenavEl);
this.firstTogglenavItem = this.togglenavItems[0];
this.lastTogglenavItem = this.togglenavItems[this.togglenavItems.length - 1];
j.setBreakpoints(m.viewports);
this._padTogglenavItems()
}
var h = d.prototype;
h.update = function() {
this._padTogglenavItems();
this._centerCurrentTogglenavItem()
};
h._padTogglenavItems = function() {
if (j.getBreakpoint().name !== "small") {
o(this.firstTogglenavItem.parentNode, {
paddingLeft: 0
});
o(this.lastTogglenavItem.parentNode, {
paddingRight: 0
});
return
}
var q = Math.round(this.togglenavEl.clientWidth / 2);
var p = k(this.togglenavEl).width / 2;
var t = q - p;
var s = k(this.firstTogglenavItem);
var r = k(this.lastTogglenavItem);
var v, u;
if (t > 0) {
v = Math.round(q - t - s.width / 2);
u = Math.round(q - t - r.width / 2)
} else {
v = Math.round(q - s.width / 2);
u = Math.round(q - r.width / 2)
}
o(this.firstTogglenavItem.parentNode, {
paddingLeft: v + "px"
});
o(this.lastTogglenavItem.parentNode, {
paddingRight: u + "px"
})
};
h._centerCurrentTogglenavItem = function() {
var t = Math.round(this.togglenavEl.clientWidth / 2);
var x = n(".current", this.togglenavEl);
var u = l(x);
var p = Math.round(x.offsetLeft + u.width / 2);
var s = Math.round(p - t);
var q = {
x: this.togglenavEl.scrollLeft
};
var w = {
x: s
};
var v = function() {
this.togglenavEl.scrollLeft = q.x
}.bind(this);
var r = new f(q, 0.6, w, {
ease: "cubic-bezier(.35,.01,.34,1)",
onDraw: v
});
r.play()
};
h.destroy = function() {};
b.exports = d
}, {
"../../../../../node_modules/ac-toolkit/src/json/exports.json": 521,
"ac-dom-metrics/getContentDimensions": 53,
"ac-dom-metrics/utils/getBoundingClientRect": 64,
"ac-dom-styles/setStyle": 105,
"ac-dom-traversal/querySelector": 120,
"ac-dom-traversal/querySelectorAll": 121,
"ac-eclipse": "ac-eclipse",
"ac-viewport": 615
}],
627: [function(d, b, g) {
var m = d("ac-dom-traversal/querySelector");
var a = d("ac-dom-traversal/querySelectorAll");
var f = d("ac-dom-nodes/insertFirstChild");
var j = d("ac-dom-nodes/insertAfter");
var o = d("ac-classlist");
var c = d("ac-gallery").SlideGallery;
var k = d("ac-gallery").Gallery;
var l = k.extend({
beforeDraw: function(p, r, q) {
o.remove(r.get("element"), "current")
},
afterDraw: function(p, r, q) {
setTimeout(function() {
o.add(p.get("element"), "current")
}, 400)
}
});
function n(p) {
this.galleryWrapper = p;
this.galleryType = (o.contains(this.galleryWrapper, "ac-gallery-fade")) ? "fade" : "slide";
this.galleryId = this.galleryWrapper.id;
this.viewfinder = document.getElementById(this.galleryId);
this.galleryContentElements = a(".ac-gallery-content", this.element);
this.triggerClass = this.galleryId + "-trigger";
this.dotnav = m(".dotnav", this.element);
this.dotnavExpected = o.contains(this.galleryWrapper, "ac-gallery-has-dotnav");
this.paddlenav = m(".paddlenav", this.element);
this.paddlenavExpected = o.contains(this.galleryWrapper, "ac-gallery-has-paddlenav");
this.togglenav = m(".togglenav", this.element);
this.togglenavExpected = o.contains(this.galleryWrapper, "ac-gallery-has-togglenav");
this._boundFunctions = {
_willShowSlide: this._willShowSlide.bind(this)
};
if (!this.dotnav && this.dotnavExpected) {
this._setupDotnav()
}
if (!this.paddlenav && this.paddlenavExpected) {
this._setupPaddlenav()
}
if (!this.togglenav && this.togglenavExpected) {
this._setupTogglenav()
}
this._createGallery()
}
var h = n.prototype;
h._setupDotnav = function() {
var r = document.createElement("nav"),
q = document.createElement("ul");
var p = this;
this.galleryContentElements.forEach(function(t, s) {
q.innerHTML += '<li><a href="#' + p.galleryId + "/show/" + t.id + '" class="dotnav-item ' + p.triggerClass + '">Item ' + (s + 1) + "</a></li>"
});
r.className = "dotnav";
f(q, r);
j(r, this.galleryWrapper)
};
h._setupPaddlenav = function() {
var p = document.createElement("nav");
p.innerHTML += '<a class="paddlenav-arrow paddlenav-arrow-left ' + this.triggerClass + '" href="#' + this.galleryId + '/previous"></a>';
p.innerHTML += '<a class="paddlenav-arrow paddlenav-arrow-right ' + this.triggerClass + '" href="#' + this.galleryId + '/next"></a>';
p.className = "paddlenav";
j(p, this.galleryWrapper)
};
h._setupTogglenav = function() {
var r = document.createElement("nav"),
q = document.createElement("ul");
var p = this;
this.galleryContentElements.forEach(function(t, s) {
var u = t.getAttribute("data-slide-title");
q.innerHTML += '<li><a href="#' + p.galleryId + "/show/" + t.id + '" class="togglenav-button ' + p.triggerClass + '">' + u + "</a></li>"
});
r.className = "togglenav";
f(q, r);
j(r, this.galleryWrapper)
};
h._willShowSlide = function(p) {
this.galleryContentElements.forEach(function(q) {
o.remove(q, "current")
});
o.add(m("#" + p.incoming.id), "current")
};
h._createGallery = function() {
switch (this.galleryType) {
case "fade":
var p = l.create({
id: this.galleryId,
el: this.viewfinder,
model: this.galleryContentElements,
triggerSelector: "." + this.triggerClass,
easing: "cubic-bezier(.35,.01,.34,1)",
pointer: {
touch: true
}
});
break;
default:
var p = c.create({
el: this.viewfinder,
id: this.galleryId,
slideEl: document.getElementById(this.galleryId + "-slides"),
easing: "cubic-bezier(.35,.01,.34,1)",
model: this.galleryContentElements,
triggerSelector: "." + this.triggerClass,
duration: 0,
pointer: {
mouse: true,
touch: true
}
});
break
}
this.gallery = p
};
h.setupEvents = function() {};
h.teardownEvents = function() {
this.gallery.off()
};
h.destroy = function() {
this.gallery.off();
this.gallery = null
};
b.exports = n
}, {
"ac-classlist": 12,
"ac-dom-nodes/insertAfter": 76,
"ac-dom-nodes/insertFirstChild": 78,
"ac-dom-traversal/querySelector": 120,
"ac-dom-traversal/querySelectorAll": 121,
"ac-gallery": 320
}],
628: [function(f, c, h) {
var q = f("../../../../../node_modules/ac-toolkit/src/json/exports.json");
var l = f("../AnalyticsTranslator");
var d = f("../model/EnabledFeatures");
var b = f("ac-dom-traversal").querySelectorAll;
var j = f("ac-dom-traversal").querySelector;
var g = f("ac-vatman");
var o = f("ac-event-emitter-micro").EventEmitterMicro;
var n = f("ac-viewport").Viewport;
var a = f("ac-video").Player;
var p = /object|embed/i;
function k(t, s) {
o.call(this, null);
d.init();
this.el = t;
this.triggerElement = s;
this.isReady = false;
this.isDimensionMeasured = false;
this.video = m(t);
var r;
if (this.video) {
this.analyticsTranslator = new l(this.video);
this.analyticsTranslator.activate();
s.id = r = t.id;
s.setAttribute("data-analytics-id", r);
this.analyticsTranslator.addSourceObject(s, r, this.video.getCurrentSrc().cid)
}
this.container = j("figure", this.el);
this.sectionCopy = j(".section-copy", this.el);
this.button = j(".icon-play", this.el);
n.setBreakpoints(q.viewports);
this.isReady = false;
this.bind()
}
k.prototype = new o(null);
k.prototype.aspectRatio = 1920 / 1080;
k.prototype.ieLimit = 3000;
k.prototype.videoHeightRatio = 0.75;
k.prototype.bind = function() {
var r = j("a", this.el);
if (!(d.IS_TABLET || d.IS_HANDHELD)) {
if (d.IS_IE) {
r.addEventListener("click", function(s) {
s.preventDefault();
this.onCalloutClicked();
this.onclick()
}.bind(this))
}
}
this.onViewReady();
this.video.on("canplay", this.onCanPlay.bind(this));
this.video.on("acv-no-support", this.onNoSupport.bind(this));
this.video.on("play", this.onplay.bind(this));
this.video.on("pause", this.onpause.bind(this));
this.video.on("loadedmetadata", this.onmetadata.bind(this));
this.video.on("ended", this.onended.bind(this))
};
k.prototype.onCanPlay = function() {
this.isReady = true
};
k.prototype.onViewReady = function() {
var t = getComputedStyle(this.container).backgroundImage,
s = t.replace("url(", "").replace(")", ""),
r, u;
if (d.IS_HANDHELD || d.IS_TABLET) {
r = this.container.clientHeight;
this.el.classList.add("acv-view-ready");
this.video.getMediaElement().id = "video-" + this.el.id
}
if (d.IS_ANDROID) {
this.el.classList.add("acv-android")
}
if (d.IS_HANDHELD || d.IS_TABLET) {
this.el.classList.add("acv-native");
this.video.setPoster(s)
}
if (d.IS_TABLET) {
this.el.classList.add("acv-inline-playback")
}
this.triggerElement.removeAttribute("style");
this.itemHeight = this.el.clientHeight;
u = this.onclick.bind(this);
this.video.el.removeEventListener("click", u);
this.video.el.addEventListener("click", u)
};
k.prototype.onclick = function(r) {
if (this.video.getPaused()) {
this.play()
} else {
this.pause()
}
};
k.prototype.onCalloutClicked = function() {
var r = this.onclick.bind(this);
this.isReady = true;
this.triggerElement.removeEventListener("click", r);
this.triggerElement.addEventListener("click", r)
};
k.prototype.onpause = function() {
if (d.IS_TABLET && !this.isReady) {
return
}
if (!d.IS_TABLET) {
this.button.style.display = "";
this.el.classList.remove("video-playing");
this.el.classList.add("video-paused")
}
};
k.prototype.onplay = function() {
if (!this.isDimensionMeasured) {
this.onmetadata()
}
this.el.classList.add("video-playing");
this.el.classList.remove("video-paused")
};
k.prototype.unbind = function() {
this.el.classList.remove("video-playing");
this.el.classList.remove("video-paused");
this.off()
};
k.prototype.onmetadata = function() {
this.aspectRatio = this.video.getMediaWidth() / this.video.getMediaHeight();
this.onDimensionMeasured = true
};
k.prototype.onended = function() {
if (d.IS_HANDHELD && d.IS_IOS) {
this.video.mediaController.playableObject.el.webkitExitFullScreen()
}
};
k.prototype.play = function() {
if (this.video) {
if (this.video.getPreload() === "none") {
this.video.setPreload("auto")
}
if (this.video.getReadyState() !== 4) {
this.video.on("readystatechange", function() {
if (this.video.getReadyState() === 4) {
this.video.play()
}
}, this);
if (d.IS_TABLET) {
this.video.mediaController.playableObject.el.load()
}
} else {
this.video.play();
if (d.IS_HANDHELD) {
this.onplay()
}
}
}
};
k.prototype.pause = function() {
if (this.video) {
if (this.video.getReadyState() !== 4) {} else {
this.video.pause()
}
this.onpause()
}
};
k.prototype.onNoSupport = function() {
this.el.classList.add("acv-no-support")
};
function m(u) {
var y = "target-" + u.id.replace("#", "");
var s = j(".icon-play", u);
var v = j(".ac-video", u);
var A = j("figure", u);
var z = getComputedStyle(A).backgroundImage;
var C = z.replace("url(", "").replace(")", "").replace('"', "").replace('"', "");
var B;
var r = v.getAttribute("href");
s.setAttribute("data-acv-target", y);
v.setAttribute("data-acv-controlbar", "controlBarDefault");
v.setAttribute("data-acv-poster", C);
var w = {
width: "1920",
height: "1080",
loop: false
};
r = g.vatClient.getSource(r, window.innerWidth);
var x = {};
if (!d.IS_TABLET) {
x.controls = false
}
if (d.IS_IE) {
r += "?" + new Date().getTime()
}
var t = {
autoplay: false,
src: r,
loop: false
};
if (d.IS_IE) {
t.preload = "none"
}
B = a.create(t, x);
B.appendTo(v.parentNode);
return B
}
c.exports = k
}, {
"../../../../../node_modules/ac-toolkit/src/json/exports.json": 521,
"../AnalyticsTranslator": 617,
"../model/EnabledFeatures": 634,
"ac-dom-traversal": 111,
"ac-event-emitter-micro": 217,
"ac-vatman": 535,
"ac-video": "ac-video",
"ac-viewport": 615
}],
629: [function(c, b, f) {
var a = c("./BasicDecorator");
var k = a.prototype;
var j = c("ac-viewport").Viewport;
var h = c("ac-dom-metrics").getDimensions;
var d = function(n, m, o) {
var l = {};
a.call(this, n, m, o, l);
this._boundOnTrackingScroll = this._onTrackingScroll.bind(this)
};
var g = d.prototype = Object.create(a.prototype);
d.prototype.constructor = d;
g._initMediaObject = function() {
k._initMediaObject.call(this);
this.alreadyPlayed = false;
var l = j.clientHeight();
var m = h(this.el).height;
this.threshold = l / m - 0.2;
if (this.threshold > 1) {
this.threshold = 1
}
};
g._onTrackingScroll = function() {
if (this.trackedElement && this.trackedElement.percentInView >= this.threshold && !this.mediaObj.isDestroyed) {
if (!this.mediaObj.getEnhanced()) {
return
}
this.mediaObj.play();
j.off("scroll", this._boundOnTrackingScroll);
this.trackedElement = null;
this.alreadyPlayed = true
}
};
g._onEnhanced = function() {
k._onEnhanced.call(this);
if (this.trackedElement.percentInView >= this.threshold) {
this.mediaObj.play();
this.alreadyPlayed = true
}
};
g.onMediaObjectEnterView = function(l) {
if (!this.alreadyPlayed && !this.mediaObj.isDestroyed) {
if (!this.mediaObj.getEnhanced()) {
return
}
if (this.trackedElement.percentInView < this.threshold) {
j.on("scroll", this._boundOnTrackingScroll)
} else {
this.mediaObj.play();
this.alreadyPlayed = true
}
} else {
if (this.alreadyPlayed && !this.mediaObj.isDestroyed) {
if (!this.mediaObj.getEnhanced()) {
return
}
this.mediaObj.play()
}
}
};
g.onMediaObjectExitView = function(l) {
k.onMediaObjectExitView.call(this);
if (!this.mediaObj.isDestroyed && this.alreadyPlayed) {
this.mediaObj.reset()
}
};
b.exports = d
}, {
"./BasicDecorator": 630,
"ac-dom-metrics": 62,
"ac-viewport": 615
}],
630: [function(f, b, h) {
var p = f("ac-dom-events");
var n = f("ac-viewport").Viewport;
var k = f("ac-media-object");
var m = f("ac-cname").cname;
var c = f("../../model/EnabledFeatures");
var j = f("ac-dom-traversal").querySelector;
var g = f("ac-dom-events").addEventListener;
var d = "/105/media/";
var o = "/iphone-6s/2015/dhs3b549_75f9_422a_9470_4a09e709b350/";
var a = function(s, r, t, q) {
c.init();
this.retina = "";
if (c.IS_RETINA) {
this.retina = "_2x"
}
this.el = s;
this.trackedElement = r;
this.data = t;
this.isLoaded = false;
this.shouldEnhance = true;
this.options = q || {
frameRate: 30
};
this.currentViewport = this.currentViewport || n.getBreakpoint().name;
if (this.currentViewport === "xlarge") {
this.currentViewport = "large"
}
this._boundOnLoad = this._onLoad.bind(this);
this._boundOnEnhanced = this._onEnhanced.bind(this);
this._boundOnShouldEnhance = this._onShouldEnhanced.bind(this);
this.boundOnMediaObjectEnterView = this.onMediaObjectEnterView.bind(this);
this.boundOnMediaObjectExitView = this.onMediaObjectExitView.bind(this);
this._initMediaObject();
this.addEvents()
};
var l = a.prototype;
l._initMediaObject = function() {
this.mediaSrc = this._createMediaSrc(this.data.name, this.data.locale, this.data.type);
this.mediaObj = this._createMediaObject();
if (!this.mediaObj.isDestroyed) {
this.mediaObj.on("loaded", this._boundOnLoad);
this.mediaObj.on("enhanced", this._boundOnEnhanced);
this.mediaObj.on("shouldenhance", this._boundOnShouldEnhance);
this.mediaObj.load()
}
this._setupMobileTrigger()
};
l._setupMobileTrigger = function() {
if (c.TOUCH) {
this.playTrigger = j(".mediaObject-play", this.el);
g(this.playTrigger, "click", this._playOnMobile.bind(this))
}
};
l._onLoad = function() {
this.isLoaded = true;
if (this.shouldEnhance) {
this.mediaObj.enhance()
}
};
l._onShouldEnhanced = function() {
this.shouldEnhance = true;
if (this.isLoaded) {
this.mediaObj.enhance()
}
};
l._onEnhanced = function() {};
l._createMediaSrc = function(s, q, t) {
var q = q || "us";
var r = m.addPrefix(d + q + o + s);
if (t === "flow") {
return {
basePath: r + "/" + this.currentViewport + "/" + t
}
} else {
if (t === "video") {
if (c.TOUCH || c.IS_IE) {
if (c.IS_IOS) {
return {
basePath: r,
filename: this.currentViewport,
fileFormat: "mp4"
}
} else {
return {
basePath: r,
filename: "android_" + this.currentViewport,
fileFormat: "mp4"
}
}
} else {
return {
basePath: r + "/split_files/" + this.currentViewport + this.retina,
splitFileLoading: true
}
}
} else {
return
}
}
};
l._createMediaObject = function() {
var q = {};
if (this.data.type === "flow") {
q = k.createFlow(this.el, this.mediaSrc, this.options)
} else {
if (this.data.type === "video" || this.data.type === "split_file") {
q = k.createVideo(this.el, this.mediaSrc, this.options)
} else {
q.isDestroyed = true
}
}
return q
};
l._playOnMobile = function(q) {
q.preventDefault();
this.mediaObj.play()
};
l.addEvents = function() {
if (this.trackedElement) {
this.trackedElement.on("enterview", this.boundOnMediaObjectEnterView);
this.trackedElement.on("exitview", this.boundOnMediaObjectExitView)
}
};
l.onMediaObjectEnterView = function(q) {
if (this.mediaObj.isDestroyed) {
return
}
};
l.onMediaObjectExitView = function(q) {
if (this.mediaObj.isDestroyed) {
return
}
};
b.exports = a
}, {
"../../model/EnabledFeatures": 634,
"ac-cname": 29,
"ac-dom-events": 39,
"ac-dom-traversal": 111,
"ac-media-object": "ac-media-object",
"ac-viewport": 615
}],
631: [function(c, d, b) {
var a = c("ac-viewport").Viewport;
var h = c("./BasicDecorator");
var j = h.prototype;
var g = function(m, n) {
var k = {};
var l = null;
h.call(this, m, l, n, k)
};
var f = g.prototype = Object.create(h.prototype);
g.prototype.constructor = g;
f._initMediaObject = function() {
this.mediaSrc = this._createMediaSrc(this.data.name, this.data.locale, this.data.type);
this.mediaObj = this._createMediaObject();
this._setupMobileTrigger()
};
d.exports = g
}, {
"./BasicDecorator": 630,
"ac-viewport": 615
}],
632: [function(d, b, g) {
var h = d("ac-dom-traversal").querySelector;
var f = d("ac-dom-events").addEventListener;
var o = d("ac-classlist");
var l = d("ac-viewport").Viewport;
var k = d("ac-dom-metrics").getDimensions;
var c = d("../../model/EnabledFeatures");
var a = d("./BasicDecorator");
var m = a.prototype;
var n = function(r, q, s) {
var p = {};
a.call(this, r, q, s, p);
this._boundOnTrackingScroll = this._onTrackingScroll.bind(this)
};
var j = n.prototype = Object.create(a.prototype);
n.prototype.constructor = n;
j._initMediaObject = function() {
m._initMediaObject.call(this);
this.alreadyPlayed = false;
var p = l.clientHeight();
var q = k(this.el).height;
this.threshold = p / q - 0.2;
if (this.threshold > 1) {
this.threshold = 1
}
this.replayTrigger = h(".mediaObject-replay", this.el.parentNode);
this.endframe = h(".mediaObject-endframe", this.el);
if (this.replayTrigger && !this.mediaObj.isDestroyed && !c.TOUCH) {
f(this.replayTrigger, "click", this._onClicked.bind(this));
f(this.endframe, "transitionend", this._playMediaObject.bind(this));
this.mediaObj.on("ended", this._onEnded.bind(this))
}
};
j._onTrackingScroll = function() {
if (this.trackedElement && this.trackedElement.percentInView >= this.threshold && !this.mediaObj.isDestroyed) {
if (!this.mediaObj.getEnhanced()) {
return
}
this.mediaObj.play();
l.off("scroll", this._boundOnTrackingScroll);
this.trackedElement = null;
this.alreadyPlayed = true
}
};
j._onClicked = function(p) {
this.triggerClicked = true;
if (!this.mediaObj.isDestroyed) {
o.remove(this.el, "mediaObject-ended");
this.mediaObj.reset();
p.preventDefault()
}
};
j._playMediaObject = function(p) {
if (this.triggerClicked) {
this.mediaObj.play()
}
this.triggerClicked = false
};
j._onEnded = function(p) {
o.add(this.replayTrigger, "active")
};
j._onEnhanced = function() {
m._onEnhanced.call(this);
if (this.trackedElement.percentInView >= this.threshold) {
this.mediaObj.play();
this.alreadyPlayed = true
}
};
j.onMediaObjectEnterView = function(p) {
if (!this.alreadyPlayed && !this.mediaObj.isDestroyed) {
if (!this.mediaObj.getEnhanced()) {
return
}
if (this.trackedElement.percentInView < this.threshold) {
l.on("scroll", this._boundOnTrackingScroll)
} else {
this.mediaObj.play();
this.alreadyPlayed = true
}
}
};
j.onMediaObjectExitView = function(p) {
m.onMediaObjectExitView.call(this);
if (!this.mediaObj.isDestroyed && this.alreadyPlayed) {
this.mediaObj.goToPercent(1)
}
};
b.exports = n
}, {
"../../model/EnabledFeatures": 634,
"./BasicDecorator": 630,
"ac-classlist": 12,
"ac-dom-events": 39,
"ac-dom-metrics": 62,
"ac-dom-traversal": 111,
"ac-viewport": 615
}],
633: [function(b, c, a) {
c.exports = {
PAGE_TYPE: "data-page-type",
SECTION_TYPE: "data-section-type",
JUMP_SECTION_NAME: "data-page-jump-name"
}
}, {}],
634: [function(c, d, b) {
var a = c("ac-feature");
var f = c("ac-browser");
d.exports = {
TOUCH: undefined,
CSS_FILTER: undefined,
CSS_ANIMATION: undefined,
SVG: undefined,
VIDEO: undefined,
CSS_OBJECT_FIT: undefined,
POSITION_FIXED: undefined,
PAGE_JUMP: undefined,
IS_IOS7: undefined,
WEB_GL: undefined,
IS_DESKTOP: undefined,
IS_HANDHELD: undefined,
IS_RETINA: undefined,
IS_TABLET: undefined,
IS_IE: undefined,
IS_FIREFOX: undefined,
IS_IOS: undefined,
IS_CHROME: undefined,
IS_ANDROID: undefined,
init: function() {
var g = document.getElementsByTagName("html")[0];
this.TOUCH = g.classList.contains("touch");
this.CSS_FILTER = g.classList.contains("cssFilter");
this.CSS_ANIMATION = g.classList.contains("cssAnimation");
this.SVG = g.classList.contains("svg");
this.VIDEO = g.classList.contains("video");
this.CSS_OBJECT_FIT = g.classList.contains("cssObjectFit");
this.POSITION_FIXED = g.classList.contains("positionFixed");
this.PAGE_JUMP = g.classList.contains("pageJump");
this.IS_IOS7 = g.classList.contains("ios7");
this.IS_IOS = g.classList.contains("ios");
this.WEB_GL = this.webGLAvailable();
this.IS_DESKTOP = a.isDesktop();
this.IS_HANDHELD = a.isHandheld();
this.IS_RETINA = a.isRetina();
this.IS_TABLET = a.isTablet();
this.IS_IE = f.name.toLowerCase() === "ie";
this.IS_FIREFOX = f.name.toLowerCase() === "firefox";
this.IS_CHROME = f.name.toLowerCase() === "chrome";
this.IS_ANDROID = f.os.toLowerCase() === "android"
},
webGLAvailable: function() {
var g = f.lowerCaseUserAgent,
k = f.os.toLowerCase(),
m = "8f191",
l = "9b176",
j = g.match(m),
h = g.match(l);
if (k === "ios" && (j && j.length > -1) || (h && h.length > -1)) {
return false
}
return a.webGLAvailable()
}
}
}, {
"ac-browser": 1,
"ac-feature": 230
}],
635: [function(b, c, a) {
c.exports = {
overview: b("../pages/overview/OverviewPage"),
threedtouch: b("../BasePage"),
design: b("../BasePage"),
cameras: b("../BasePage"),
photos: b("../BasePage"),
technology: b("../BasePage"),
ios: b("../BasePage"),
specs: b("../BasePage"),
accessories: b("../BasePage"),
films: b("../BasePage")
}
}, {
"../BasePage": 618,
"../pages/overview/OverviewPage": 650
}],
636: [function(b, c, a) {
c.exports = {
BaseSection: b("../sharedsections/BaseSection"),
ScrollAnimationSection: b("../sharedsections/ScrollAnimationSection"),
VideoGallerySection: b("../sharedsections/VideoGallerySection"),
BasicGallerySection: b("../sharedsections/BasicGallerySection"),
AnimatedGallerySection: b("../sharedsections/AnimatedGallerySection"),
MediaObjectSection: b("../sharedsections/MediaObjectSection"),
ColorPickerGallerySection: b("../sharedsections/ColorPickerGallerySection"),
EngagementAnimationSection: b("../sharedsections/EngagementAnimationSection"),
PanoramaSection: b("../sharedsections/PanoramaSection"),
FadeInHeroSection: b("../sharedsections/FadeInHeroSection"),
OverviewHeroSection: b("../pages/overview/OverviewHeroSection"),
GalleryOnSmallSection: b("../pages/3dTouch/GalleryOnSmallSection"),
DesignSeamlessSection: b("../pages/design/DesignSeamlessSection"),
PinAndScaleSection: b("../pages/technology/PinAndScaleSection"),
ThreeDTouchSection: b("../pages/technology/ThreeDTouchSection")
}
}, {
"../pages/3dTouch/GalleryOnSmallSection": 637,
"../pages/design/DesignSeamlessSection": 638,
"../pages/overview/OverviewHeroSection": 648,
"../pages/technology/PinAndScaleSection": 668,
"../pages/technology/ThreeDTouchSection": 669,
"../sharedsections/AnimatedGallerySection": 675,
"../sharedsections/BaseSection": 676,
"../sharedsections/BasicGallerySection": 677,
"../sharedsections/ColorPickerGallerySection": 678,
"../sharedsections/EngagementAnimationSection": 679,
"../sharedsections/FadeInHeroSection": 680,
"../sharedsections/MediaObjectSection": 681,
"../sharedsections/PanoramaSection": 682,
"../sharedsections/ScrollAnimationSection": 684,
"../sharedsections/VideoGallerySection": 685
}],
637: [function(f, c, j) {
f("ac-polyfills/Object/create");
var h = f("../../sharedsections/BasicGallerySection");
var a = f("ac-dom-metrics");
var n = f("ac-dom-nodes");
var b = f("ac-dom-traversal").querySelectorAll;
var k = f("ac-dom-traversal").querySelector;
var g = f("ac-dom-traversal").nextSibling;
var q = f("../../utils/BrowserPrefixed");
var s = f("ac-classlist");
var p = f("ac-viewport").Viewport;
var d = f("ac-gallery").SlideGallery;
var o = f("../../sharedsections/BaseSection");
var r = o.prototype;
function m(v, u, t) {
this.name = "GalleryOnSmallSection";
o.call(this, v, u, t);
this.currentBreakpoint = p.getBreakpoint().name;
if (this.currentBreakpoint === "small") {
this._initGalleries()
}
}
var l = m.prototype = Object.create(o.prototype);
m.prototype.constructor = m;
l._initGalleries = function() {
var t = b(".ac-gallery", this.element);
this._galleries = [];
t.forEach(function(u, v) {
this._galleries[v] = this._createGallery(u, v)
}.bind(this));
this.setupGalleryEvents()
};
l._createGallery = function(D, w) {
var C = D.id;
var y = document.getElementById(C);
var x = Array.prototype.slice.call(b(".ac-gallery-content", D));
var B = C + "-trigger";
var A = b(".dotnav", D);
var u = s.contains(D, "ac-gallery-has-dotnav");
var t = b(".paddlenav", D);
var z = s.contains(D, "ac-gallery-has-paddlenav");
if (!A[0] && u) {
this._setupDotnav(D, x, C, B)
}
if (!t[0] && z) {
this._setupPaddlenav(D, C, B)
}
x.forEach(function(E, F) {
if (F === 0) {
s.add(E, "current")
} else {
s.remove(E, "current")
}
});
var v = d.extend({
drawResize: function(E, G, F) {
this._clip = null;
if (!this.currentBreakpoint === "small") {
this.drawSnap(E, G, F)
}
},
destroy: function() {
this.trigger("destroy");
this.removeStyles();
this._bounceInClip = null;
this._bounceOutClip = null;
this._clip = null
}
});
return v.create({
el: y,
id: C,
slideEl: document.getElementById(C + "-slides"),
easing: "cubic-bezier(.35,.01,.34,1)",
model: x,
triggerSelector: "." + B,
duration: 0.6,
pointer: {
mouse: true,
touch: true
}
})
};
l._setupDotnav = function(t, x, w, z) {
var y = document.createElement("nav"),
v = document.createElement("ul");
var u = this;
x.forEach(function(B, A) {
v.innerHTML += '<li><a href="#' + w + "/show/" + B.id + '" class="dotnav-item ' + z + '">Item ' + (A + 1) + "</a></li>"
});
y.className = "dotnav";
y.setAttribute("aria-hidden", true);
n.insertFirstChild(v, y);
n.insertAfter(y, t)
};
l._setupPaddlenav = function(t, u, w) {
var v = document.createElement("nav");
v.innerHTML += '<a class="paddlenav-arrow paddlenav-arrow-left ' + w + '" href="#' + u + '/previous"></a>';
v.innerHTML += '<a class="paddlenav-arrow paddlenav-arrow-right ' + w + '" href="#' + u + '/next"></a>';
v.className = "paddlenav";
n.insertLastChild(v, t)
};
l._destroyGalleries = function() {
if (this._galleries) {
this._galleries.forEach(function(t, u) {
t.destroy();
var w = g(t.el, ".dotnav");
n.remove(w);
var v = Array.prototype.slice.call(b(".ac-gallery-content", t.el));
v.forEach(function(x, y) {
s.add(x, "current")
})
}.bind(this))
}
this.teardownGalleryEvents()
};
l._willShowSlide = function(t) {
if (t.outgoing) {
var v = t.outgoing.id,
x = k('[data-slide-link="' + v + '"]'),
u = t.incoming.id,
w = k('[data-slide-link="' + u + '"]');
s.remove(document.getElementById(v), "current");
s.add(document.getElementById(u), "current");
if (x && w) {
s.remove(x, "current");
s.add(k('[data-slide-link="' + u + '"]'), "current")
}
}
};
l._didShowSlide = function(t) {};
l.setupGalleryEvents = function() {
this._boundFunctions = {
_boundRaf: this.onRequestAnimationFrame.bind(this),
_willShowSlide: this._willShowSlide.bind(this),
_didShowSlide: this._didShowSlide.bind(this)
};
if (this._galleries) {
this._galleries.forEach(function(t, u) {
t.on("willShow", this._boundFunctions._willShowSlide);
t.on("didShow", this._boundFunctions._didShowSlide)
}.bind(this))
}
};
l.teardownGalleryEvents = function() {
if (this._galleries) {
this._galleries.forEach(function(t, u) {
t.off()
}.bind(this))
}
};
l.activate = function() {
r.activate.call(this)
};
l.deactivate = function() {
r.deactivate.call(this)
};
l.onBreakpoint = function(v, w, u, t) {
this.currentBreakpoint = v.name;
if (v.name === "xlarge" || w.name === "xlarge") {
return
}
if (this.currentBreakpoint === "small") {
this._initGalleries()
} else {
this._destroyGalleries()
}
};
l.destroy = function() {
r.destroy.call(this)
};
c.exports = m
}, {
"../../sharedsections/BaseSection": 676,
"../../sharedsections/BasicGallerySection": 677,
"../../utils/BrowserPrefixed": 686,
"ac-classlist": 12,
"ac-dom-metrics": 62,
"ac-dom-nodes": 74,
"ac-dom-traversal": 111,
"ac-gallery": 320,
"ac-polyfills/Object/create": 394,
"ac-viewport": 615
}],
638: [function(f, c, h) {
var l = f("../../sharedsections/ParallaxWebGLSection");
var n = l.prototype;
var o = f("./DesignWebGLEffects");
var j = f("ac-dom-traversal/querySelector");
var g = f("ac-object");
var d = f("../../model/EnabledFeatures");
var m = f("ac-viewport").Viewport;
var b = f("../../utils/animationCapable");
function a(r, q, p) {
this.name = "DesignSeamlessSection - " + (r.querySelector("h1") || r.querySelector("h2")).innerText;
l.call(this, r, q, p);
if (!b) {
return
}
this._webGLReady = false;
this._initializeTargets();
if (d.WEB_GL) {
this.initializeWebGL()
}
this.setAnimationKeys();
this.on("animation-reinit", this.setAnimationKeys.bind(this))
}
var k = a.prototype = g.create(l.prototype);
k._initializeTargets = function() {
this.animationContainers = {
silver: j(".medium-show .image-finish-silver .device-container", this.element),
spacegray: j(".medium-show .image-finish-spacegray .device-container", this.element),
gold: j(".medium-show .image-finish-gold .device-container", this.element),
rosegold: j(".medium-show .image-finish-rosegold .device-container", this.element)
};
this.animationContainersSmall = {
silver: j(".small-show .image-finish-silver .device-container", this.element),
spacegray: j(".small-show .image-finish-spacegray .device-container", this.element),
gold: j(".small-show .image-finish-gold .device-container", this.element),
rosegold: j(".small-show .image-finish-rosegold .device-container", this.element)
};
this.setAnimationKeys();
this.effectsObj = o
};
k.setAnimationKeys = function() {
var p, q = this.scrollAnimations[0];
if (this.scrollAnimations.length > 1) {
p = {
silver: this.scrollAnimations[1].animations[0],
spacegray: this.scrollAnimations[0].animations[1],
gold: this.scrollAnimations[1].animations[1],
rosegold: this.scrollAnimations[0].animations[0]
}
} else {
p = {
silver: this.scrollAnimations[0].animations[0],
spacegray: this.scrollAnimations[0].animations[1],
gold: this.scrollAnimations[0].animations[2],
rosegold: this.scrollAnimations[0].animations[3]
}
}
this.animationKeys = p
};
k.initializeWebGL = function() {
this.webGLEffects = [];
var p = document.querySelector("[data-webgl-location]");
var r = document.createElement("script");
r.src = p.getAttribute("data-webgl-location");
document.body.appendChild(r);
if (!!window.THREE || !!window.WAGNER) {
this._onWebGLReady();
return
}
var q = setInterval(function() {
if (!!window.THREE || !!window.WAGNER) {
clearInterval(q);
this._onWebGLReady()
}
}.bind(this), 200)
};
k._onWebGLReady = function() {
if (this._didCallThreeReady) {
return
}
this._didCallThreeReady = true;
this._initializeWebGLForDeviceGroup({
small: false
});
this._initializeWebGLForDeviceGroup({
small: true
});
this._webGLReady = true
};
k._initializeWebGLForDeviceGroup = function(t) {
t = t || {};
var q = this.animationContainers;
if (t.small) {
q = this.animationContainersSmall
}
var u, r, p, s, v;
for (u in this.effectsObj) {
if (this.effectsObj.hasOwnProperty(u)) {
r = this.effectsObj[u];
p = r.length;
for (s = 0; s < p; s++) {
if (!this.webGLEffects[u]) {
this.webGLEffects[u] = []
}
v = new r[s](this, {
subpath: "design",
small: t.small
});
v.initialize();
q[u].appendChild(v.el);
this.webGLEffects[u].push(v);
setTimeout(function(w) {
w.setSize()
}.bind(this, v), 0)
}
}
}
};
k.activate = function() {
n.activate.call(this)
};
k.deactivate = function() {
n.deactivate.call(this)
};
k.animateIn = function() {
n.animateIn.call(this)
};
k.onRequestAnimationFrame = function() {
n.onRequestAnimationFrame.call(this);
if (!b) {
return
}
if (this.distanceCalculator) {
this.distanceCalculator.calculate()
}
if (this._webGLReady) {
var r, q, p;
for (r in this.webGLEffects) {
if (this.webGLEffects.hasOwnProperty(r)) {
p = this.webGLEffects[r].length;
for (q = 0; q < p; q++) {
this.webGLEffects[r][q].drawScene()
}
}
}
}
};
k.onScroll = function(r, q, p) {
n.onScroll.call(this, r, q, p)
};
k.onResize = function(r, q, p) {
n.onResize.call(this, r, q, p)
};
k.onViewWillAppear = function(q, p) {
n.onViewWillAppear.call(this, q, p)
};
k.onViewWillDisappear = function(q, p) {
n.onViewWillDisappear.call(this, q, p)
};
k.destroy = function() {
n.destroy.call(this)
};
c.exports = a
}, {
"../../model/EnabledFeatures": 634,
"../../sharedsections/ParallaxWebGLSection": 683,
"../../utils/animationCapable": 687,
"./DesignWebGLEffects": 639,
"ac-dom-traversal/querySelector": 120,
"ac-object": 380,
"ac-viewport": 615
}],
639: [function(b, c, a) {
var g = b("./webgl/shadow-passes/RoseGoldShadowPass"),
d = b("./webgl/shadow-passes/SilverShadowPass"),
h = b("./webgl/shadow-passes/GoldShadowPass"),
f = b("./webgl/shadow-passes/SpaceGrayShadowPass");
c.exports = {
silver: [d],
spacegray: [f],
gold: [h],
rosegold: [g]
}
}, {
"./webgl/shadow-passes/GoldShadowPass": 640,
"./webgl/shadow-passes/RoseGoldShadowPass": 641,
"./webgl/shadow-passes/SilverShadowPass": 642,
"./webgl/shadow-passes/SpaceGrayShadowPass": 643
}],
640: [function(c, b, f) {
var j = c("../../../../webgl/types/ShadowPassPlayer"),
m = c("../../../../webgl/shaders/shaders.json"),
l = c("ac-viewport").Viewport,
d = c("ac-object");
var g;
var a = {
large: {
width: 271,
height: 1069
},
medium: {
width: 156,
height: 615
},
small: {
width: 357,
height: 331
}
};
var k = {};
var h = function(p, o) {
this.context = p;
this.renderSmall = o.small || false;
this.setBreakpointName();
this.setDimensions();
j.call(this, p, {
width: this.dimensions.width,
height: this.dimensions.height,
className: "gold-shadow-pass",
subpath: o.subpath
});
this.settings = {
scrollStart: 0.6,
scrollEnd: 1,
scrollXStart: 0.001,
scrollYStart: -1.3,
dropOffX: 0,
dropOffY: 0,
scrollDistanceX: -0.0101,
scrollDistanceY: 0.7,
distanceX: 1,
distanceY: 1,
rotate: 0,
bloom: 1,
feather: 1,
distanceBloom: 0,
distanceFeather: 0,
invert: false
};
this.settings.rotate = this.settings.rotate * Math.PI / 180;
this.updateSettings();
var n = this.getImageTextureUniforms();
n.maskCenter = {
type: "v3",
value: new THREE.Vector3()
};
n.showPasses = {
type: "f",
value: 0
};
n.bloom = {
type: "f",
value: this.settings.bloom
};
n.feather = {
type: "f",
value: this.settings.feather
};
n.distanceX = {
type: "f",
value: this.settings.distanceX
};
n.distanceY = {
type: "f",
value: this.settings.distanceY
};
n.dropOffX = {
type: "f",
value: this.settings.dropOffX
};
n.dropOffY = {
type: "f",
value: this.settings.dropOffY
};
n.rotate = {
type: "f",
value: this.settings.rotate
};
n.shadowMap.value.magFilter = n.shadowMap.value.minFilter = THREE.LinearFilter;
this.meshOptions = {
width: this.options.width,
height: this.options.height,
uniforms: n,
vertexShader: m.vertex,
fragmentShader: m["shadow-pass"]
};
l.on("breakpoint", this.onBreakpoint.bind(this))
};
g = h.prototype = d.create(j.prototype);
g.cameraOptions = {
nearClip: 1,
farClip: 5000,
fov: 45
};
g.getImageTextureUniforms = function() {
var n = {
extension: "jpg"
};
return this.getTextureUniforms({
shadowMap: this.getAssetURL("hero_gold_s", n)
})
};
g.setBreakpointName = function() {
this.breakpointName = l.getBreakpoint().name;
if (this.breakpointName === "xlarge") {
this.breakpointName = "large"
}
};
g.setDimensions = function() {
var n = this.breakpointName,
o = a[n];
this.dimensions = {
width: o.width,
height: o.height,
left: -o.width / 2,
top: -o.height / 2
}
};
g.updateSettings = function() {
this.setBreakpointName();
var n = this.breakpointName;
var o;
for (o in k[n]) {
if (k[n].hasOwnProperty(o)) {
this.settings[o] = k[n][o]
}
}
};
g.render = function() {
if (this.breakpointName === "small") {
if (this.renderSmall) {
this._shouldUpdate = true;
this._renderSmall();
return
}
this._shouldUpdate = false;
return
}
this._shouldUpdate = false
};
g._renderSmall = function() {
var p = this.context.animationKeys.gold.progress;
var q = this.settings.scrollStart,
o = this.settings.scrollEnd;
if (p < q) {
p = q
} else {
if (p > o) {
p = o
}
}
p = (p - q) / (o - q);
if (this.settings.invert) {
p = 1 - p
}
var n = this.settings.scrollXStart + (p * this.settings.scrollDistanceX);
var s = this.settings.scrollYStart + (p * this.settings.scrollDistanceY);
var r = this.settings.bloom + (p * this.settings.distanceBloom);
this.setMaskCenter(n, s);
this.setBloom(r)
};
g.onBreakpoint = function() {
this.setBreakpointName();
this.updateSettings();
this.setDimensions();
this.resizeTo(this.dimensions.width, this.dimensions.height)
};
g.setMaskCenter = function(n, o) {
this.material.uniforms.maskCenter.value.x = n;
this.material.uniforms.maskCenter.value.y = o
};
g.setBloom = function(n) {
this.material.uniforms.bloom.value = n
};
g.setFeather = function(n) {
this.material.uniforms.feather.value = n
};
b.exports = h
}, {
"../../../../webgl/shaders/shaders.json": 691,
"../../../../webgl/types/ShadowPassPlayer": 695,
"ac-object": 380,
"ac-viewport": 615
}],
641: [function(d, b, g) {
var j = d("../../../../webgl/types/ShadowPassPlayer"),
m = d("../../../../webgl/shaders/shaders.json"),
l = d("ac-viewport").Viewport,
f = d("ac-object");
var h;
var a = {
large: {
width: 825,
height: 741
},
medium: {
width: 474,
height: 425
},
small: {
width: 308,
height: 380
}
};
var k = {};
var c = function(p, o) {
this.context = p;
this.renderSmall = o.small || false;
this.setBreakpointName();
this.setDimensions();
j.call(this, p, {
width: this.dimensions.width,
height: this.dimensions.height,
className: "rosegold-shadow-pass",
subpath: o.subpath
});
this.settings = {
scrollStart: 0.7,
scrollEnd: 1,
scrollXStart: 0.001,
scrollYStart: -1.3,
dropOffX: 0,
dropOffY: 0,
scrollDistanceX: -0.0101,
scrollDistanceY: 0.7,
distanceX: 1,
distanceY: 1,
rotate: 0,
bloom: 1,
feather: 1,
distanceBloom: 0,
distanceFeather: 0,
invert: false
};
this.settings.rotate = this.settings.rotate * Math.PI / 180;
this.updateSettings();
var n = this.getImageTextureUniforms();
n.maskCenter = {
type: "v3",
value: new THREE.Vector3()
};
n.showPasses = {
type: "f",
value: 0
};
n.bloom = {
type: "f",
value: this.settings.bloom
};
n.feather = {
type: "f",
value: this.settings.feather
};
n.distanceX = {
type: "f",
value: this.settings.distanceX
};
n.distanceY = {
type: "f",
value: this.settings.distanceY
};
n.dropOffX = {
type: "f",
value: this.settings.dropOffX
};
n.dropOffY = {
type: "f",
value: this.settings.dropOffY
};
n.rotate = {
type: "f",
value: this.settings.rotate
};
n.shadowMap.value.magFilter = n.shadowMap.value.minFilter = THREE.LinearFilter;
this.meshOptions = {
width: this.options.width,
height: this.options.height,
uniforms: n,
vertexShader: m.vertex,
fragmentShader: m["shadow-pass"]
};
l.on("breakpoint", this.onBreakpoint.bind(this))
};
h = c.prototype = f.create(j.prototype);
h.cameraOptions = {
nearClip: 1,
farClip: 5000,
fov: 45
};
h.getImageTextureUniforms = function() {
var n = {
extension: "jpg"
};
return this.getTextureUniforms({
shadowMap: this.getAssetURL("hero_rosegold_s", n)
})
};
h.setBreakpointName = function() {
this.breakpointName = l.getBreakpoint().name;
if (this.breakpointName === "xlarge") {
this.breakpointName = "large"
}
};
h.setDimensions = function() {
var n = this.breakpointName,
o = a[n];
this.dimensions = {
width: o.width,
height: o.height,
left: -o.width / 2,
top: -o.height / 2
}
};
h.updateSettings = function() {
this.setBreakpointName();
var n = this.breakpointName;
var o;
for (o in k[n]) {
if (k[n].hasOwnProperty(o)) {
this.settings[o] = k[n][o]
}
}
};
h.render = function() {
if (this.breakpointName === "small") {
if (this.renderSmall) {
this._shouldUpdate = true;
this._renderSmall();
return
}
this._shouldUpdate = false;
return
}
if (this.renderSmall || typeof this.context.animationKeys.rosegold !== "object") {
this._shouldUpdate = false;
return
}
this._shouldUpdate = true;
var p = this.context.animationKeys.rosegold.progress;
var q = this.settings.scrollStart,
o = this.settings.scrollEnd;
if (p < q) {
p = q
} else {
if (p > o) {
p = o
}
}
p = (p - q) / (o - q);
if (this.settings.invert) {
p = 1 - p
}
var n = this.settings.scrollXStart + (p * this.settings.scrollDistanceX);
var s = this.settings.scrollYStart + (p * this.settings.scrollDistanceY);
var r = this.settings.bloom + (p * this.settings.distanceBloom);
this.setMaskCenter(n, s);
this.setBloom(r)
};
h._renderSmall = function() {
var p = this.context.animationKeys.rosegold.progress;
var q = this.settings.scrollStart,
o = this.settings.scrollEnd;
if (p < q) {
p = q
} else {
if (p > o) {
p = o
}
}
p = (p - q) / (o - q);
if (this.settings.invert) {
p = 1 - p
}
var n = this.settings.scrollXStart + (p * this.settings.scrollDistanceX);
var s = this.settings.scrollYStart + (p * this.settings.scrollDistanceY);
var r = this.settings.bloom + (p * this.settings.distanceBloom);
this.setMaskCenter(n, s);
this.setBloom(r)
};
h.onBreakpoint = function() {
this.setBreakpointName();
this.updateSettings();
this.setDimensions();
this.resizeTo(this.dimensions.width, this.dimensions.height)
};
h.setMaskCenter = function(n, o) {
this.material.uniforms.maskCenter.value.x = n;
this.material.uniforms.maskCenter.value.y = o
};
h.setBloom = function(n) {
this.material.uniforms.bloom.value = n
};
h.setFeather = function(n) {
this.material.uniforms.feather.value = n
};
b.exports = c
}, {
"../../../../webgl/shaders/shaders.json": 691,
"../../../../webgl/types/ShadowPassPlayer": 695,
"ac-object": 380,
"ac-viewport": 615
}],
642: [function(c, b, f) {
var h = c("../../../../webgl/types/ShadowPassPlayer"),
m = c("../../../../webgl/shaders/shaders.json"),
l = c("ac-viewport").Viewport,
d = c("ac-object");
var g;
var a = {
large: {
width: 933,
height: 554
},
medium: {
width: 536,
height: 319
},
small: {
width: 308,
height: 371
}
};
var k = {
large: {
scrollStart: 0,
scrollEnd: 0.33,
scrollMin: -17,
scrollMax: 53,
scrollXStart: 0.9,
scrollYStart: 0.1,
scrollDistanceX: -0.47,
scrollDistanceY: 0,
rotate: 5.7246799465414,
invert: false
},
medium: {
scrollStart: 0,
scrollEnd: 0.33,
scrollMin: -3,
scrollMax: 3,
invert: false,
scrollXStart: 0.98,
scrollYStart: 0,
scrollDistanceX: -0.62,
scrollDistanceY: 0,
rotate: 5.7246799465414
},
small: {
scrollStart: 0,
scrollEnd: 1,
scrollMin: 0,
scrollMax: 1,
scrollXStart: 0.67,
scrollYStart: 0.3,
scrollDistanceX: -0.47,
scrollDistanceY: -0.2,
rotate: 5.2743849995268635,
invert: true
}
};
var j = function(p, o) {
this.context = p;
this.renderSmall = o.small || false;
this.setBreakpointName();
this.setDimensions();
h.call(this, p, {
width: this.dimensions.width,
height: this.dimensions.height,
className: "silver-shadow-pass",
subpath: o.subpath
});
this.settings = {
scrollStart: 0,
scrollEnd: 0.33,
scrollXStart: 0.9,
scrollYStart: 0,
dropOffX: 0,
dropOffY: 0,
scrollDistanceX: -0.47,
scrollDistanceY: 0,
distanceX: 3.7,
distanceY: 0,
rotate: 328,
bloom: 1,
feather: 1,
distanceBloom: 0,
distanceFeather: 0,
invert: false
};
this.settings.rotate = this.settings.rotate * Math.PI / 180;
this.updateSettings();
var n = this.getImageTextureUniforms();
n.maskCenter = {
type: "v3",
value: new THREE.Vector3()
};
n.showPasses = {
type: "f",
value: 0
};
n.bloom = {
type: "f",
value: this.settings.bloom
};
n.feather = {
type: "f",
value: this.settings.feather
};
n.distanceX = {
type: "f",
value: this.settings.distanceX
};
n.distanceY = {
type: "f",
value: this.settings.distanceY
};
n.dropOffX = {
type: "f",
value: this.settings.dropOffX
};
n.dropOffY = {
type: "f",
value: this.settings.dropOffY
};
n.rotate = {
type: "f",
value: this.settings.rotate
};
n.shadowMap.value.magFilter = n.shadowMap.value.minFilter = THREE.LinearFilter;
this.meshOptions = {
width: this.options.width,
height: this.options.height,
uniforms: n,
vertexShader: m.vertex,
fragmentShader: m["shadow-pass"]
};
l.on("breakpoint", this.onBreakpoint.bind(this))
};
g = j.prototype = d.create(h.prototype);
g.cameraOptions = {
nearClip: 1,
farClip: 5000,
fov: 45
};
g.getImageTextureUniforms = function() {
var n = {
extension: "jpg"
};
return this.getTextureUniforms({
shadowMap: this.getAssetURL("hero_silver_s", n)
})
};
g.setBreakpointName = function() {
this.breakpointName = l.getBreakpoint().name;
if (this.breakpointName === "xlarge") {
this.breakpointName = "large"
}
};
g.setDimensions = function() {
var n = this.breakpointName,
o = a[n];
this.dimensions = {
width: o.width,
height: o.height,
left: -o.width / 2,
top: -o.height / 2
}
};
g.updateSettings = function() {
this.setBreakpointName();
var n = this.breakpointName;
var o;
for (o in k[n]) {
if (k[n].hasOwnProperty(o)) {
this.settings[o] = k[n][o]
}
}
};
g.render = function(q) {
if (this.breakpointName === "small") {
if (this.renderSmall) {
this._shouldUpdate = true;
this._renderSmall();
return
}
this._shouldUpdate = false;
return
}
if (this.renderSmall || typeof this.context.animationKeys.silver !== "object" || typeof this.context.animationKeys.gold !== "object") {
this._shouldUpdate = false;
return
}
this._shouldUpdate = true;
var r = this.settings;
var z = this.context.animationKeys.gold.transY,
u = this.context.animationKeys.silver.transY;
var p = z - u;
var s = r.scrollMin;
var v = r.scrollMax;
var n = (v - p) / (v - s);
if (n < 0) {
n = 0
} else {
if (n > 1) {
n = 1
}
}
if (r.invert) {
n = 1 - n
}
var w = r.scrollXStart + (n * r.scrollDistanceX);
var t = r.scrollYStart + (n * r.scrollDistanceY);
var o = r.bloom + (n * r.distanceBloom);
this.setMaskCenter(w, t);
this.setRotate(this.settings.rotate);
this.setBloom(o)
};
g._renderSmall = function() {
var r = this.settings;
if (typeof this.context.animationKeys.silver !== "object") {
return
}
var u = this.context.animationKeys.silver.progress;
var q = r.scrollMin;
var o = r.scrollMax;
var p = (o - u) / (o - q);
if (p < 0) {
p = 0
} else {
if (p > 1) {
p = 1
}
}
if (r.invert) {
p = 1 - p
}
var n = r.scrollXStart + (p * r.scrollDistanceX);
var t = r.scrollYStart + (p * r.scrollDistanceY);
var s = r.bloom + (p * r.distanceBloom);
this.setMaskCenter(n, t);
this.setRotate(this.settings.rotate);
this.setBloom(s)
};
g.onBreakpoint = function() {
this.setBreakpointName();
this.updateSettings();
this.setDimensions();
this.resizeTo(this.dimensions.width, this.dimensions.height)
};
g.setMaskCenter = function(n, o) {
this.material.uniforms.maskCenter.value.x = n;
this.material.uniforms.maskCenter.value.y = o
};
g.setRotate = function(n) {
this.material.uniforms.rotate.value = n
};
g.setBloom = function(n) {
this.material.uniforms.bloom.value = n
};
g.setFeather = function(n) {
this.material.uniforms.feather.value = n
};
b.exports = j
}, {
"../../../../webgl/shaders/shaders.json": 691,
"../../../../webgl/types/ShadowPassPlayer": 695,
"ac-object": 380,
"ac-viewport": 615
}],
643: [function(c, b, f) {
var h = c("../../../../webgl/types/ShadowPassPlayer"),
m = c("../../../../webgl/shaders/shaders.json"),
k = c("ac-viewport").Viewport,
d = c("ac-object");
var g;
var a = {
large: {
width: 572,
height: 1081
},
medium: {
width: 329,
height: 621
},
small: {
width: 356,
height: 403
}
};
var j = {
large: {
scrollMin: -20,
scrollMax: 42,
scrollXStart: 1.4,
scrollYStart: -1.7,
scrollDistanceX: -0.57,
scrollDistanceY: 1,
distanceX: 3.3
},
medium: {
scrollMin: -25,
scrollMax: 50,
scrollXStart: 1.4,
scrollYStart: -1.7,
scrollDistanceX: -0.83,
scrollDistanceY: 1.3,
distanceX: 3.3
},
small: {
scrollMin: 0,
scrollMax: 10,
scrollXStart: 0,
scrollYStart: 1.2,
scrollDistanceX: 0.29,
scrollDistanceY: -1.1
}
};
var l = function(p, o) {
this.context = p;
this.renderSmall = o.small || false;
this.setBreakpointName();
this.setDimensions();
h.call(this, p, {
width: this.dimensions.width,
height: this.dimensions.height,
className: "spacegray-shadow-pass",
subpath: o.subpath
});
this.settings = {
scrollStart: 0,
scrollEnd: 0.2,
scrollXStart: 1.2,
scrollYStart: 0.5,
dropOffX: 0,
dropOffY: 0,
scrollDistanceX: -1,
scrollDistanceY: -1.2,
distanceX: 3.3,
distanceY: 1,
rotate: 312.1,
bloom: 1.1,
feather: 1,
distanceBloom: 0,
distanceFeather: 0,
invert: false
};
this.settings.rotate = this.settings.rotate * Math.PI / 180;
this.updateSettings();
var n = this.getImageTextureUniforms();
n.maskCenter = {
type: "v3",
value: new THREE.Vector3()
};
n.showPasses = {
type: "f",
value: 0
};
n.bloom = {
type: "f",
value: this.settings.bloom
};
n.feather = {
type: "f",
value: this.settings.feather
};
n.distanceX = {
type: "f",
value: this.settings.distanceX
};
n.distanceY = {
type: "f",
value: this.settings.distanceY
};
n.dropOffX = {
type: "f",
value: this.settings.dropOffX
};
n.dropOffY = {
type: "f",
value: this.settings.dropOffY
};
n.rotate = {
type: "f",
value: this.settings.rotate
};
n.shadowMap.value.magFilter = n.shadowMap.value.minFilter = THREE.LinearFilter;
this.meshOptions = {
width: this.options.width,
height: this.options.height,
uniforms: n,
vertexShader: m.vertex,
fragmentShader: m["shadow-pass"]
};
k.on("breakpoint", this.onBreakpoint.bind(this))
};
g = l.prototype = d.create(h.prototype);
g.cameraOptions = {
nearClip: 1,
farClip: 5000,
fov: 45
};
g.getImageTextureUniforms = function() {
var n = {
extension: "jpg"
};
return this.getTextureUniforms({
shadowMap: this.getAssetURL("hero_spacegray_s", n)
})
};
g.setBreakpointName = function() {
this.breakpointName = k.getBreakpoint().name;
if (this.breakpointName === "xlarge") {
this.breakpointName = "large"
}
};
g.setDimensions = function() {
var n = this.breakpointName,
o = a[n];
this.dimensions = {
width: o.width,
height: o.height,
left: -o.width / 2,
top: -o.height / 2
}
};
g.updateSettings = function() {
this.setBreakpointName();
var n = this.breakpointName;
var o;
for (o in j[n]) {
if (j[n].hasOwnProperty(o)) {
this.settings[o] = j[n][o]
}
}
};
g.render = function() {
if (this.breakpointName === "small") {
if (this.renderSmall) {
this._shouldUpdate = true;
this._renderSmall();
return
}
this._shouldUpdate = false;
return
}
if (this.renderSmall || typeof this.context.animationKeys.gold !== "object" || typeof this.context.animationKeys.spacegray !== "object") {
this._shouldUpdate = false;
return
}
this._shouldUpdate = true;
var r = this.settings;
var w = this.context.animationKeys.gold.transY,
q = this.context.animationKeys.spacegray.transY;
var p = w - q;
var s = r.scrollMin;
var u = r.scrollMax;
var n = (u - p) / (u - s);
if (n < 0) {
n = 0
} else {
if (n > 1) {
n = 1
}
}
n = 1 - n;
if (r.invert) {
n = 1 - n
}
var v = r.scrollXStart + (n * r.scrollDistanceX);
var t = r.scrollYStart + (n * r.scrollDistanceY);
var o = r.bloom + (n * r.distanceBloom);
this.setMaskCenter(v, t);
this.setBloom(o)
};
g._renderSmall = function() {
var r = this.settings;
var v = this.context.animationKeys.rosegold.transY,
q = this.context.animationKeys.spacegray.transY;
var p = v - q;
var s = r.scrollMin;
var u = r.scrollMax;
var n = (u - p) / (u - s);
if (n < 0) {
n = 0
} else {
if (n > 1) {
n = 1
}
}
n = 1 - n;
if (r.invert) {
n = 1 - n
}
var w = r.scrollXStart + (n * r.scrollDistanceX);
var t = r.scrollYStart + (n * r.scrollDistanceY);
var o = r.bloom + (n * r.distanceBloom);
this.setMaskCenter(w, t);
this.setBloom(o)
};
g.onBreakpoint = function() {
this.setBreakpointName();
this.updateSettings();
this.setDimensions();
this.resizeTo(this.dimensions.width, this.dimensions.height)
};
g.setMaskCenter = function(n, o) {
this.material.uniforms.maskCenter.value.x = n;
this.material.uniforms.maskCenter.value.y = o
};
g.setBloom = function(n) {
this.material.uniforms.bloom.value = n
};
g.setFeather = function(n) {
this.material.uniforms.feather.value = n
};
b.exports = l
}, {
"../../../../webgl/shaders/shaders.json": 691,
"../../../../webgl/types/ShadowPassPlayer": 695,
"ac-object": 380,
"ac-viewport": 615
}],
644: [function(d, f, c) {
var j = d("ac-event-emitter-micro").EventEmitterMicro;
var b = d("../../ElementDistanceCalculator");
var a = d("ac-object");
var h;
var g = function(l) {
b.call(this, {
els: l.distanceElements
});
this.context = l;
this.parallaxOffsets = {};
var k;
for (k in this.els) {
if (this.els.hasOwnProperty(k)) {
this.parallaxOffsets[k] = {
x: 0,
y: 0,
r: 0
}
}
}
};
h = g.prototype = a.create(b.prototype);
h.calculate = function() {
this.calculateAdditionalOffsets();
b.prototype.calculate.call(this)
};
h.calculateAdditionalOffsets = function() {
var n = this.els,
k = this.context.parallaxHandler,
p = this.context.introPlayer,
l, o;
var m;
for (m in n) {
if (n.hasOwnProperty(m)) {
if (k && k.positions[m]) {
l = k.positions[m].transY || 0
} else {
l = 0
}
if (p && p.positions[m]) {
o = p.positions[m].transY || 0
} else {
o = 0
}
this.parallaxOffsets[m].y = (l + o) || 0
}
}
};
f.exports = g
}, {
"../../ElementDistanceCalculator": 620,
"ac-event-emitter-micro": 217,
"ac-object": 380
}],
645: [function(f, c, j) {
var k, p = f("ac-event-emitter-micro").EventEmitterMicro,
h = f("ac-object"),
o = f("./webgl/shadow-passes/SpaceGrayShadowPass"),
d = f("./webgl/shadow-passes/RoseGoldShadowPass"),
n = f("./webgl/shadow-passes/SilverShadowPass"),
q = f("./webgl/gradient-pass/RoseGoldLogoPass"),
m = f("./webgl/matcap/RoseGoldButtons"),
g = f("./webgl/gradient-pass/SpaceGrayLogoPass"),
a = f("./webgl/matcap/SpaceGrayCamera"),
l = f("ac-browser");
var b = function(s, r) {
p.call(this);
this.context = s;
this.effects = r.effects;
this._boundStart = this._start.bind(this);
if (l.name.toLowerCase() === "safari") {
this.poolSize = Infinity
}
};
k = b.prototype = h.create(p.prototype);
k.poolSize = 16;
k.timeoutDuration = 500;
k.delay = 0;
k._priority = [d, o, n, m, q, g];
k._order = ["spacegray", "gold", "rosegold", "silver"];
k.start = function() {
this._active = 0;
this._loaded = 0;
this._priorityLoaded = 0;
this._lastItem = 0;
this._total = 0;
this._items = [];
this._allowReady = false;
this._didTimeout = false;
this._didTriggerPriorityLoaded = false;
this._timeout = setTimeout(this._onTimeout.bind(this), this.timeoutDuration);
if (!this.context.webGLEffects) {
this.context.webGLEffects = {}
}
var s = this.effects,
v, u, z, A, x = this._order.length,
w;
for (v = 0; v < x; v++) {
z = this._order[v];
if (!this.context.webGLEffects[z]) {
this.context.webGLEffects[z] = []
}
w = s[z].length;
for (u = 0; u < w; u++) {
this._total++;
A = new s[z][u](this.context, {
subpath: "overview"
});
A.once("textures-loaded", this._handleTexturesLoaded.bind(this, s[z][u], z));
A.createScene();
this.context.animationContainers[z].appendChild(A.el);
this.context.webGLEffects[z].push(A);
this._items.push({
type: z,
effect: A
})
}
}
var r = this._priority.length,
t = this._items.length,
y = -1;
for (v = 0; v < r; v++) {
for (u = 0; u < t; u++) {
if (this._items[u].effect instanceof this._priority[v]) {
y = u;
break
}
}
if (y > -1) {
this._items = this._moveArrayIdx(this._items, y, 0)
}
y = -1
}
this._start();
this.context._webGLReady = true
};
k._moveArrayIdx = function(r, t, u) {
if (u >= r.length) {
var s = u - r.length;
while ((s--) + 1) {
r.push(undefined)
}
}
r.splice(u, 0, r.splice(t, 1)[0]);
return r
};
k._start = function() {
var r = this.getNextEffect();
if (!r) {
return
}
r = r.effect;
r.createMesh();
r.scene.add(r.mesh);
setTimeout(function(s) {
s.setSize();
this._start()
}.bind(this, r), 0)
};
k.getNextEffect = function() {
if (this._active >= this.poolSize) {
return null
}
this._active++;
var r = this._lastItem;
this._lastItem++;
return this._items[r]
};
k._handleTexturesLoaded = function(s, r) {
this._loaded++;
this._active--;
if (this._priority.indexOf(s) > -1) {
this._priorityLoaded++;
if (this._priorityLoaded >= this._priority.length) {
this._allowReady = true;
if (this._didTimeout && !this._didTriggerPriorityLoaded) {
this._didTriggerPriorityLoaded = true;
setTimeout(function() {
this.trigger("ready")
}.bind(this), 0);
return
}
}
}
if (this._loaded >= this._total) {
if (this._didTimeout || this._didTriggerPriorityLoaded) {
return
}
if (this._timeout) {
clearTimeout(this._timeout);
this._timeout = null
}
this.trigger("ready");
return
}
setTimeout(this._boundStart, this.delay)
};
k._onTimeout = function() {
if (this._didTimeout) {
return
}
this._didTimeout = true;
if (this._allowReady) {
this.trigger("ready")
}
};
c.exports = b
}, {
"./webgl/gradient-pass/RoseGoldLogoPass": 657,
"./webgl/gradient-pass/SpaceGrayLogoPass": 658,
"./webgl/matcap/RoseGoldButtons": 660,
"./webgl/matcap/SpaceGrayCamera": 664,
"./webgl/shadow-passes/RoseGoldShadowPass": 665,
"./webgl/shadow-passes/SilverShadowPass": 666,
"./webgl/shadow-passes/SpaceGrayShadowPass": 667,
"ac-browser": 1,
"ac-event-emitter-micro": 217,
"ac-object": 380
}],
646: [function(d, c, h) {
var n = d("ac-event-emitter-micro").EventEmitterMicro,
m = d("ac-dom-emitter").DOMEmitter,
g = d("ac-object"),
a = d("./OverviewEffectsQueue"),
b = d("ac-dom-traversal/querySelectorAll"),
l = d("ac-dom-styles/getStyle");
var k;
var j = 1200;
var f = function(o) {
n.call(this);
this.context = o;
this.loadedCount = 0;
this.requiredCount = 0;
this._imagesLoaded = false;
this._webGLLoaded = false;
this._didTimeout = false;
this._boundOnMaxTimeout = this._onMaxTimeout.bind(this);
this._timeout = null;
this.imageContainers = b(".image-hero-container .device-container")
};
k = f.prototype = g.create(n.prototype);
k.load = function() {
try {
var q = [];
if (this.context._shouldUseWebGL) {
this._loadWebGL()
} else {
this._webGLLoaded = true
}
if (this.context.supportsMasking) {
q = this.getCSSUrlsFromArr(this.imageContainers, "maskBoxImage").concat(q)
}
var p, r, o = q.length;
this.requiredCount = o;
for (r = 0; r < o; r++) {
p = new m(new Image());
p.once("load", this._onImageLoad.bind(this, p));
p.el.src = q[r]
}
this._timeout = setTimeout(this._boundOnMaxTimeout, j);
if (q.length === 0) {
this._onImageLoad()
}
} catch (s) {
this._onMaxTimeout()
}
};
k._onMaxTimeout = function() {
this._didTimeout = true;
this.trigger("complete")
};
k._loadWebGL = function() {
this.context.webGLEffects = [];
var o = document.querySelector("[data-webgl-location]");
var q = document.createElement("script");
q.src = o.getAttribute("data-webgl-location");
q.async = true;
document.body.appendChild(q);
if (!!window.THREE) {
this._onWebGLReady();
return
}
var p = setInterval(function() {
if (!!window.THREE) {
clearInterval(p);
this._onWebGLReady()
}
}.bind(this), 100)
};
k._onWebGLReady = function() {
this.context.effectsQueue = new a(this.context, {
effects: this.context.effectsObj
});
this.context.effectsQueue.once("ready", this._handleEffectsQueueReady.bind(this));
this.context.effectsQueue.start()
};
k._onImageLoad = function(o) {
this.loadedCount++;
if (this.loadedCount >= this.requiredCount) {
this._imagesLoaded = true;
if (this._webGLLoaded) {
if (this._timeout) {
clearTimeout(this._timeout);
this._timeout = null
}
if (!this._didTimeout) {
this.trigger("complete")
}
}
}
if (o) {
setTimeout(o.destroy.bind(o), 0)
}
};
k._handleEffectsQueueReady = function() {
this._webGLLoaded = true;
if (this._imagesLoaded) {
if (this._timeout) {
clearTimeout(this._timeout);
this._timeout = null
}
if (!this._didTimeout) {
this.trigger("complete")
}
}
};
k.getCSSUrlsFromArr = function(q, u) {
var p = [],
t, s, r, o = q.length;
for (s = 0; s < o; s++) {
t = l(q[s], u)[u];
r = t.match(/\((.*?)\)/);
if (r && r[1]) {
r = r[1];
r.replace(/('|")/g, "");
p.push(r)
}
}
return p
};
c.exports = f
}, {
"./OverviewEffectsQueue": 645,
"ac-dom-emitter": 35,
"ac-dom-styles/getStyle": 92,
"ac-dom-traversal/querySelectorAll": 121,
"ac-event-emitter-micro": 217,
"ac-object": 380
}],
647: [function(b, d, a) {
var j = b("ac-viewport").Viewport,
h = b("ac-dom-styles/setStyle"),
g = b("ac-dom-traversal/querySelector");
var f;
var c = function(k) {
this.context = k;
this.targets = {
shadow: this.context.distanceElements.shadow,
introContent: g(".section-intro-content"),
heroContentContainer: g(".hero-content-container"),
paddingContainer: g(".hero-section-padding")
};
j.on("resize orientationchange", this._handleResize.bind(this));
this._handleResize()
};
f = c.prototype;
f._handleResize = function() {
var k = j.clientHeight(),
l = k / 2;
h(this.targets.heroContentContainer, {
height: k + "px"
});
h(this.targets.paddingContainer, {
height: k + "px"
});
h(this.targets.introContent, {
marginTop: Math.round(-l) + "px"
})
};
d.exports = c
}, {
"ac-dom-styles/setStyle": 105,
"ac-dom-traversal/querySelector": 120,
"ac-viewport": 615
}],
648: [function(m, c, E) {
var n = m("ac-console").log;
var D = m("../../sharedsections/BaseSection");
var w = D.prototype;
var u = m("./OverviewWebGLEffects");
var A = m("./OverviewIntroAnimationPlayer");
var q = m("./OverviewSectionsLoadingQueue");
var x = m("../../model/EnabledFeatures");
var f = m("ac-dom-traversal/querySelector");
var o = m("./OverviewParallaxHandler");
var s = m("./OverviewDistancePlayer");
var z = m("./OverviewShadowStyleChanger");
var v = m("./OverviewVideoPlayer");
var l = m("./OverviewHeroPaddingHandler");
var B = m("./OverviewStatusProxy");
var C = m("ac-object");
var y = m("ac-viewport").Viewport;
var k = m("ac-browser");
var h = m("ac-classlist");
var j = m("ac-clock").Clock;
var b = m("ac-clock").ThrottledClock;
var a = m("ac-feature");
var g = m("../../utils/animationCapable");
var r = m("./OverviewFileLoader");
var p = m("../../FilmsEmitterProxy");
function d(H, G, F) {
try {
B.overviewSection = this;
this.name = "OverviewHeroSection - " + (H.querySelector("h1") || H.querySelector("h2")).innerText;
D.call(this, H, G, F);
this.scrollTop = y.scrollY();
this._uiIntroTimeoutDuration = 6000;
this.preventGLRender = false;
this.introPlaying = false;
this.introComplete = false;
this._playIntro = false;
this._webGLReady = false;
this._imagesReady = false;
this._videosReady = false;
this._shouldPlayIntroMotion = false;
this._videoReadyEvent = null;
this._shouldRenderGL = false;
this._videoPlayerStarted = false;
this._animationTimeout = null;
this._isSafari = k.name.toLowerCase().indexOf("safari") > -1;
this._isDesktop = a.isDesktop();
this._isIOS = k.os.toLowerCase() === "ios";
this._isIOSHandheld = this._isIOS && a.isHandheld();
this.initializeTargets();
window.requestAnimationFrame(function() {
this.initializePaddingHandler()
}.bind(this));
this._loadingInitialize()
} catch (I) {
this._onError(I)
}
}
var t = d.prototype = C.create(D.prototype);
t.introClassTarget = document.documentElement;
t.introClassName = "intro-active";
t.introFallbackClassName = "intro-fallback";
t.introUIHideClassName = "intro-ui-hide";
t.introLoadClassName = "intro-load";
t._isFilmAutoplay = function() {
if (h.contains(this.introClassTarget, "modal-open")) {
return true
}
return false
};
t._canSupportWebGLHero = function() {
if (x.WEB_GL) {
if (this._isIOS && this._getMaxAnisotropy() < 3) {
return false
}
return true
}
return false
};
t._loadingInitialize = function(F) {
F = F || {};
if (!F.filmsCallback) {
if (!this._sectionQueueLoader) {
this._sectionQueueLoader = new q(this)
}
this.supportsMasking = false;
if (h.contains(this.introClassTarget, "mask-box-image")) {
this.supportsMasking = true
}
this.clock = new j();
this.clock.on("draw", this.onClockDraw.bind(this));
if (this._canSupportWebGLHero()) {
if (!this.supportsMasking) {
u.silver.shift()
}
this.webGLClock = new b(80);
this._setWebGLFPS();
this.webGLClock.on("draw", this.onWebGLClockDraw.bind(this));
this._shouldUseWebGL = true;
y.on("breakpoint", this._setWebGLFPS.bind(this))
}
this._fileLoader = new r(this);
this._fileLoader.once("complete", this._handleFileLoaderReady.bind(this));
this._fileLoader.load()
}
if (!this._hiddenAutoplayVideoID) {
var G = f("[data-offscreen-modal]");
this._hiddenAutoplayVideoID = G.id
}
p.hasAutoplay = false;
if (!p.hasAddedAutoplay && !this._isIOSHandheld && window.location && window.location.hash && window.location.hash.indexOf(this._hiddenAutoplayVideoID) > -1) {
p.hasAutoplay = true;
p.hasAddedAutoplay = true
}
if (p.hasAutoplay) {
this.preventGLRender = true;
window.scroll(0, 0);
p.once("close", this._onFilmsClosed.bind(this));
return
}
if (this._isSafari) {
setTimeout(this._onInitializationDelayComplete.bind(this), 75);
return
}
this._onInitializationDelayComplete()
};
t._setWebGLFPS = function() {
if (!this.webGLClock) {
return
}
var F = y.getBreakpoint().name;
if ((this._isDesktop && !this._isSafari && this._getMaxAnisotropy() > 2) && (window.devicePixelRatio < 1.5 || F === "small" || F === "medium")) {
this.webGLClock.setFps(80);
return
}
this.webGLClock.setFps(45)
};
t._getMaxAnisotropy = function() {
if (typeof this._maxAnisotropy === "number") {
return this._maxAnisotropy
}
var F = 0;
try {
var G = document.createElement("canvas"),
J = G.getContext("experimental-webgl");
var H = (J.getExtension("EXT_texture_filter_anisotropic") || J.getExtension("MOZ_EXT_texture_filter_anisotropic") || J.getExtension("WEBKIT_EXT_texture_filter_anisotropic"));
if (H) {
F = J.getParameter(H.MAX_TEXTURE_MAX_ANISOTROPY_EXT)
}
} catch (I) {}
this._maxAnisotropy = F;
return this._maxAnisotropy
};
t._onInitializationDelayComplete = function(F) {
try {
if (h.contains(this.introClassTarget, this.introLoadClassName)) {
if (this.scrollTop < 20) {
this._playIntro = true
} else {
this.triggerAllClassNameFallback()
}
}
this.videoContainers = {
gold: f(".image-hero-gold .device-container"),
silver: f(".image-hero-silver .device-container")
};
this._boundHandleVideoPause = this._handleVideoPause.bind(this);
this.initializeDistancePlayer();
if (!this._playIntro) {
this._initializeAdditionalMotion()
}
if (a.isDesktop() && h.contains(this.introClassTarget, "mp4") && h.contains(this.introClassTarget, "no-ff")) {
this.initializeVideoPlayer()
}
if (this._playIntro) {
h.add(this.introClassTarget, this.introClassName);
h.add(this.introClassTarget, this.introUIHideClassName);
this.initializePlayer();
this.introPlayer.once("complete", this._handleIntroAnimationComplete.bind(this));
if (this.videoPlayer) {
this._videoStartLoadTime = Date.now();
this.videoPlayer.on("appended", this._onVideoPlayerStateChange.bind(this));
this.videoPlayer.on("timeout", this._onVideoPlayerStateChange.bind(this))
} else {
if (this._imagesReady) {
this._playIntroMotion()
} else {
this._shouldPlayIntroMotion = true
}
}
} else {}
if (this.isActive) {
this.clock.start();
if (this.webGLClock) {
this._shouldRenderGL = true;
this.webGLClock.start()
}
}
} catch (G) {
this._onError(G)
}
};
t._onFilmsClosed = function() {
h.add(this.introClassTarget, this.introClassName);
h.add(this.introClassTarget, this.introUIHideClassName);
h.add(this.introClassTarget, this.introLoadClassName);
h.remove(this.introClassTarget, this.introFallbackClassName);
if (window.introLoadTimeout) {
clearTimeout(window.introLoadTimeout);
window.introLoadTimeout = null
}
window.requestAnimationFrame(function() {
window.requestAnimationFrame(function() {
this._loadingInitialize({
filmsCallback: true
});
setTimeout(function() {
h.remove(this.introClassTarget, this.introUIHideClassName)
}.bind(this), 150)
}.bind(this))
}.bind(this), 0);
setTimeout(function() {
this.triggerAllClassNameFallback()
}.bind(this), 6000)
};
t.triggerAllClassNameFallback = function() {
this._removeIntroLoadClassName();
this._handleIntroUIHideComplete();
this._handleIntroComplete()
};
t._handleFileLoaderReady = function() {
this._imagesReady = true;
if (this.videoPlayer) {
if (this._videosReady) {
this._playVideoIntroMotion()
}
return
}
if (this._shouldPlayIntroMotion) {
this._playIntroMotion()
}
};
t._handleIntroAnimationComplete = function() {
this._handleIntroComplete();
this.introComplete = true
};
t._initializeAdditionalMotion = function() {
if (g) {
if (!this.parallaxHandler) {
this.initializeParallaxHandler()
}
if (!this.shadowStyleChanger) {
this.initializeShadowStyleChanger()
}
this.preventGLRender = false
}
};
t._onVideoPlayerStateChange = function(F) {
if (F.key === "gold") {
this._videoReadyEvent = F;
this._videosReady = true;
if (this._imagesReady) {
this._playVideoIntroMotion()
}
}
};
t._playIntroMotion = function() {
if (this.introPlaying) {
return
}
this.introPlaying = true;
this.introPlayer.once("play", function() {
this._removeIntroLoadClassName();
this._initializeAdditionalMotion()
}.bind(this));
setTimeout(this.introPlayer.play.bind(this.introPlayer), 0)
};
t._playVideoIntroMotion = function() {
if (this.introPlaying) {
return
}
var F = Date.now() - this._videoStartLoadTime;
this.introPlaying = true;
this.introPlayer.once("play", function() {
setTimeout(function() {
this._initializeAdditionalMotion();
if (this._videoReadyEvent.name === "appended" && this.videoPlayer.activeStatus.gold) {
window.requestAnimationFrame(function() {
this.videoPlayer.playVideo("gold");
this._videoReadyEvent = null
}.bind(this))
}
this.videoPlayer.on("pause", this._boundHandleVideoPause)
}.bind(this), 250);
window.requestAnimationFrame(function() {
this._removeIntroLoadClassName()
}.bind(this))
}.bind(this));
setTimeout(function(G) {
this.introPlayer.play(G)
}.bind(this, F), 0)
};
t._removeIntroLoadClassName = function() {
if (window.introLoadTimeout) {
clearTimeout(window.introLoadTimeout);
window.introLoadTimeout = null
}
this._animationTimeout = setTimeout(this._onUIAnimationTimeoutComplete.bind(this), this._uiIntroTimeoutDuration);
h.remove(this.introClassTarget, this.introLoadClassName)
};
t._onUIAnimationTimeoutComplete = function() {
this._handleIntroUIHideComplete();
this.introComplete = true
};
t.initializeTargets = function() {
this.parallaxContainers = {
silver: f(".image-hero-silver"),
spacegray: f(".image-hero-spacegray"),
gold: f(".image-hero-gold"),
rosegold: f(".image-hero-rosegold"),
headline: f(".hero-logo-motion-container"),
headline_links: f(".hero-logo-motion-container .more-links")
};
this.animationContainers = {
silver: f(".image-hero-silver .device-container"),
spacegray: f(".image-hero-spacegray .device-container"),
gold: f(".image-hero-gold .device-container"),
rosegold: f(".image-hero-rosegold .device-container"),
headline: f(".hero-logo-content-container")
};
this.distanceElements = {
silver: f(".image-hero-silver .device"),
spacegray: f(".image-hero-spacegray .device"),
gold: f(".image-hero-gold .device"),
rosegold: f(".image-hero-rosegold .device"),
shadow: f(".image-hero-shadow"),
sectiontop: f(".hero-section-top")
};
this.effectsObj = u
};
t.initializePaddingHandler = function() {
this.paddingHandler = new l(this)
};
t.initializeVideoPlayer = function() {
this.videoPlayer = new v(this)
};
t.initializeParallaxHandler = function() {
this.parallaxHandler = new o(this);
this.parallaxHandler.handleScroll()
};
t.initializeWebGL = function() {};
t.initializePlayer = function() {
this.introPlayer = new A(this)
};
t.initializeDistancePlayer = function() {
this.distanceCalculator = new s(this)
};
t.initializeShadowStyleChanger = function() {
this.shadowStyleChanger = new z(this)
};
t._handleIntroComplete = function() {
this._handleIntroUIHideComplete();
h.remove(this.introClassTarget, this.introClassName);
if (!B.ready) {
B.trigger("ready")
}
this.introPlaying = false
};
t._handleIntroUIHideComplete = function() {
if (this._sectionQueueLoader) {
this._sectionQueueLoader.start()
}
};
t._onWebGLReady = function() {};
t._onError = function(F) {
this._removeIntroLoadClassName();
this._handleIntroComplete();
this._handleIntroUIHideComplete()
};
t._handleVideoPause = function(F) {
if (F.key === "gold") {
this.videoPlayer.enableAutoplay[F.key] = true
}
};
t.onClockDraw = function() {
if (this.distanceCalculator) {
this.distanceCalculator.calculate();
if (!this.webGLClock && this.shadowStyleChanger) {
this.shadowStyleChanger.setProgress();
this.shadowStyleChanger.render()
}
}
};
t.onWebGLClockDraw = function() {
if (!this._shouldRenderGL || this.preventGLRender) {
return
}
if (this.distanceCalculator && this.shadowStyleChanger) {
this.shadowStyleChanger.setProgress();
this.shadowStyleChanger.render()
}
if (this._webGLReady) {
var H, G, F;
for (H in this.webGLEffects) {
if (this.webGLEffects.hasOwnProperty(H)) {
F = this.webGLEffects[H].length;
for (G = 0; G < F; G++) {
this.webGLEffects[H][G].drawScene()
}
}
}
}
};
t.activate = function() {
w.activate.call(this)
};
t.deactivate = function() {
w.deactivate.call(this)
};
t.animateIn = function() {
w.animateIn.call(this)
};
t.onRequestAnimationFrame = function() {
w.onRequestAnimationFrame.call(this)
};
t.onScroll = function(H, G, F) {
w.onScroll.call(this, H, G, F);
this.scrollTop = G;
if (this.parallaxHandler) {
this.parallaxHandler.handleScroll()
}
if (B.ready) {
return
}
if (!this._sectionScrollReadyTarget) {
this.setSectionScrollReadyTarget()
}
if (G >= this._sectionScrollReadyTarget) {
this.triggerAllClassNameFallback()
}
};
t.setSectionScrollReadyTarget = function() {
this._sectionScrollReadyTarget = this.element.getBoundingClientRect().height / 6
};
t.onResize = function(H, G, F) {
w.onResize.call(this, H, G, F);
if (B.ready) {
return
}
this.setSectionScrollReadyTarget()
};
t.onViewWillAppear = function(G, F) {
w.onViewWillAppear.call(this, G, F);
if (this.clock) {
this.clock.start()
}
if (this.webGLClock) {
this._shouldRenderGL = true;
this.webGLClock.start()
}
};
t.onViewWillDisappear = function(G, F) {
w.onViewWillDisappear.call(this, G, F);
if (this.clock) {
this.clock.stop()
}
if (this.webGLClock) {
this._shouldRenderGL = false
}
if (this._sectionQueueLoader) {
this._sectionQueueLoader.revealAll()
}
};
t.destroy = function() {
w.destroy.call(this)
};
c.exports = d
}, {
"../../FilmsEmitterProxy": 621,
"../../model/EnabledFeatures": 634,
"../../sharedsections/BaseSection": 676,
"../../utils/animationCapable": 687,
"./OverviewDistancePlayer": 644,
"./OverviewFileLoader": 646,
"./OverviewHeroPaddingHandler": 647,
"./OverviewIntroAnimationPlayer": 649,
"./OverviewParallaxHandler": 651,
"./OverviewSectionsLoadingQueue": 652,
"./OverviewShadowStyleChanger": 653,
"./OverviewStatusProxy": 654,
"./OverviewVideoPlayer": 655,
"./OverviewWebGLEffects": 656,
"ac-browser": 1,
"ac-classlist": 12,
"ac-clock": 23,
"ac-console": 31,
"ac-dom-traversal/querySelector": 120,
"ac-feature": 230,
"ac-object": 380,
"ac-viewport": 615
}],
649: [function(f, c, k) {
var r = f("ac-event-emitter-micro").EventEmitterMicro;
var o = f("ac-eclipse").Clip;
var j = f("ac-object");
var q = f("ac-viewport").Viewport;
var m = f("../../ClipRegistry");
var n = f("ac-browser");
var l;
var h = {
ease: "cubic-bezier(0.350, 0.990, 0.310, 1.000)",
duration: 4,
delay: 0
};
var d = 0;
var a = 0.6;
var p = {
gold: {
large: {
translateY: function() {
var t = 0,
s = this.context.animationContainers.gold.getBoundingClientRect().height / 3;
return -((q.innerHeight() * 1.2) + t) + "px"
},
translateX: function() {
return (q.innerWidth() * 0.2) + "px"
}
},
medium: {
translateY: function() {
var t = 0,
s = this.context.animationContainers.gold.getBoundingClientRect().height / 3;
return -((q.innerHeight() * 1.2) + t) + "px"
},
translateX: function() {
return (q.innerWidth() * 0.2) + "px"
}
},
small: {
translateY: function() {
var t = 0,
s = this.context.animationContainers.gold.getBoundingClientRect().height / 3;
return -((q.innerHeight() * 1.2) + t) + "px"
},
translateX: function() {
return (q.innerWidth() * 0.2) + "px"
}
}
},
headline: {
large: {
translateY: "10px"
},
medium: {
translateY: "10px"
},
small: {
translateY: "10px"
}
}
};
var g = {
els: {
silver: {
animation: {
transform: {
translateY: function() {
return q.innerHeight() + "px"
},
rotate: "-15deg"
}
}
},
gold: {
delay: 0,
duration: h.duration,
animation: {
transform: {
rotate: "-25deg"
}
}
},
rosegold: {
duration: h.duration + 0.1,
animation: {
transform: {
translateY: function() {
return q.innerHeight() + "px"
},
rotate: "-30deg"
}
}
},
spacegray: {
duration: h.duration,
animation: {
transform: {
translateY: function() {
return -q.innerHeight() / 1.2 + "px"
},
rotate: "-25deg"
}
}
},
headline: {
delay: 0,
duration: h.duration,
animation: {
opacity: 0,
transform: {}
}
}
}
};
var b = function(s) {
r.call(this);
this.context = s;
this.clock = this.context.clock;
this.animationOptions = j.clone(g);
this.useInlineStyles = false;
this.positions = {}
};
l = b.prototype = j.create(r.prototype);
l.play = function(t) {
if (this._didPlay) {
return
}
this._didPlay = true;
if (typeof t === "number") {
var s = t / 1000;
d -= s;
if (d < 0) {
d = 0
}
}
this._createClips();
this._clipsComplete = 0;
setTimeout(function() {
var u = this.context.animationContainers.headline;
u.style.display = "none";
u.offsetHeight;
u.style.display = "";
window.requestAnimationFrame(function() {
this.startTime = Date.now();
var w, v = this.clips.length;
for (w = 0; w < v; w++) {
this.clips[w].play()
}
this.trigger("play")
}.bind(this))
}.bind(this), d * 1000)
};
l.stop = function() {};
l._createClips = function() {
this.clips = [];
var v = this.context.animationContainers,
t = this.animationOptions,
y = q.getBreakpoint().name;
if (y === "xlarge") {
y = "large"
}
var x, w, z, u, A, s;
for (x in v) {
if (v.hasOwnProperty(x)) {
this.positions[x] = {};
if (p[x] && p[x][y]) {
for (w in p[x][y]) {
if (p[x][y].hasOwnProperty(w)) {
t.els[x].animation.transform[w] = p[x][y][w]
}
}
}
if (t.els[x].animation.transform) {
for (u in t.els[x].animation.transform) {
if (t.els[x].animation.transform.hasOwnProperty(u)) {
if (typeof t.els[x].animation.transform[u] === "function") {
t.els[x].animation.transform[u] = t.els[x].animation.transform[u].call(this)
}
}
}
}
if (x === "headline") {
z = false
} else {
z = this.useInlineStyles
}
A = {
ease: t.els[x].ease || h.ease,
delay: t.els[x].delay || h.delay,
propsFrom: t.els[x].animation,
inlineStyles: z,
clock: this.clock,
onUpdate: this._onClipUpdate.bind(this, x, t.els[x].animation),
onComplete: this._onClipComplete.bind(this, x),
removeStylesOnComplete: false
};
if (x === "headline") {
A.removeStylesOnComplete = false
}
s = new o(v[x], t.els[x].duration || h.duration, null, A);
this.clips.push(m.add(s))
}
}
};
l._onClipUpdate = function(v, t, w) {
var s = t.transform.translateY,
u = w.progress;
if (!s) {
return
}
if (!this._didTriggerUIComplete && u >= a) {
this._onClipUIComplete()
}
this.positions[v].progress = u;
this.positions[v].transY = (1 - u) * parseInt(s)
};
l._onClipUIComplete = function() {
if (this._didTriggerUIComplete) {
return
}
this._didTriggerUIComplete = true;
this.trigger("ui-complete")
};
l._onClipComplete = function(s, t) {
this._clipsComplete++;
if (this.clips.length === this._clipsComplete) {
this.trigger("complete")
}
};
c.exports = b
}, {
"../../ClipRegistry": 619,
"ac-browser": 1,
"ac-eclipse": "ac-eclipse",
"ac-event-emitter-micro": 217,
"ac-object": 380,
"ac-viewport": 615
}],
650: [function(c, d, b) {
var h = c("../../BasePage");
var a = c("ac-object");
var f;
var g = function() {
h.call(this)
};
f = g.prototype = a.create(h.prototype);
d.exports = g
}, {
"../../BasePage": 618,
"ac-object": 380
}],
651: [function(b, a, f) {
var l = b("ac-event-emitter-micro").EventEmitterMicro;
var d = b("ac-scroll-motion-emitter").ElementScrollMotionEmitter;
var c = b("ac-object");
var k = b("ac-viewport").Viewport;
var h = b("ac-dom-styles/setStyle");
var g;
var m = {
silver: {
translateY: {
large: 100,
medium: 100,
small: 50
},
offsetBottoms: {
large: -1000,
medium: -800,
small: -500
},
rotate: -10
},
gold: {
translateY: {
large: -200,
medium: -200,
small: -100
},
rotate: 0
},
rosegold: {
translateY: {
large: -120,
medium: -120,
small: -60
},
rotate: -14
},
spacegray: {
translateY: {
large: -400,
medium: -400,
small: -200
},
rotate: 0
},
headline: {
translateY: {
large: 100,
medium: 100,
small: 100
},
rotate: 0
},
headline_links: {
opacity: 0
}
};
var j = function(n) {
l.call(this);
this.context = n;
this.clock = this.context.clock;
this.setBreakpointName();
this.initializeScrollEmitters();
k.on("breakpoint", this._handleBreakpointChange.bind(this))
};
g = j.prototype = c.create(l.prototype);
g.initializeScrollEmitters = function() {
this.emitters = {};
this.positions = {};
var p = this.context.parallaxContainers;
var o, n;
for (o in p) {
if (p.hasOwnProperty(o)) {
if (o !== "headline_links") {
this.positions[o] = {};
n = {
smooth: true,
friction: 20,
clock: this.clock
};
if (o === "headline") {
n.smooth = false
}
if (m[o].offsetTops) {
n.offsetTop = function(q) {
return m[q].offsetTops[this.breakpointName]
}.bind(this, o)
}
if (m[o].offsetBottoms) {
n.offsetBottom = function(q) {
return m[q].offsetBottoms[this.breakpointName]
}.bind(this, o)
}
this.emitters[o] = new d(this.context.element, n);
this.emitters[o].on("update", this._handleScrollEmitterUpdate.bind(this, o));
this.emitters[o].start()
}
}
}
};
g.setBreakpointName = function() {
this.breakpointName = k.getBreakpoint().name;
if (this.breakpointName === "xlarge") {
this.breakpointName = "large"
}
};
g.handleScroll = function() {
var n;
for (n in this.emitters) {
if (this.emitters.hasOwnProperty(n)) {
this.emitters[n].handleScroll()
}
}
};
g._handleScrollEmitterUpdate = function(q, s) {
var p = s.progress;
if (q === "rosegold") {
var r = 5;
if (this.breakpointName === "small") {
r = r * 5
}
var o = (1 - p * r);
if (o < 0) {
o = 0
} else {
if (o > 1) {
o = 1
}
}
h(this.context.parallaxContainers.headline_links, {
opacity: o
})
}
var t = p * m[q].translateY[this.breakpointName],
n = p * m[q].rotate;
this.positions[q].transY = t;
this.positions[q].rotate = n;
this.positions[q].progress = p;
h(this.context.parallaxContainers[q], {
transform: "translate3d(0px," + this.positions[q].transY + "px,0px) rotate(" + this.positions[q].rotate + "deg)"
})
};
g._handleBreakpointChange = function() {
this.setBreakpointName()
};
a.exports = j
}, {
"ac-dom-styles/setStyle": 105,
"ac-event-emitter-micro": 217,
"ac-object": 380,
"ac-scroll-motion-emitter": 468,
"ac-viewport": 615
}],
652: [function(f, c, g) {
var b = f("ac-dom-traversal/querySelectorAll"),
j = f("ac-viewport").Viewport,
a = f("ac-classlist"),
d = f("../../model/EnabledFeatures");
var h;
var k = function(l) {
this.context = l;
this.imageFigures = b(".image-figure");
this._documentTarget = document.documentElement;
this._revealCount = 0;
this._activeCount = 0;
this._revealedAll = false;
this._boundOnRevealed = this._onRevealed.bind(this)
};
h = k.prototype;
h.revealDelay = 500;
h.poolSize = 2;
h.revealClassName = "intro-ui-hide";
h.start = function() {
if (this._revealedAll) {
return
}
if (!this.context._playIntro || d.IS_TABLET) {
this.revealAll();
return
}
var m, l = this.imageFigures.length;
for (m = 0; m < l; m++) {
a.add(this.imageFigures[m], this.revealClassName)
}
window.requestAnimationFrame(function() {
a.remove(this._documentTarget, this.revealClassName);
this._start()
}.bind(this))
};
h._start = function() {
var l = this.getNextImage();
if (!l) {
return
}
a.remove(l, this.revealClassName);
setTimeout(this._boundOnRevealed, this.revealDelay)
};
h._onRevealed = function() {
this._activeCount--;
if (this._revealCount >= this.imageFigures.length) {
this._revealedAll = true;
return
}
this._start()
};
h.getNextImage = function() {
if (this._activeCount >= this.poolSize) {
return null
}
this._activeCount++;
var l = this.imageFigures[this._revealCount];
this._revealCount++;
return l
};
h.revealAll = function() {
a.remove(this._documentTarget, this.revealClassName);
var m, l = this.imageFigures.length;
for (m = 0; m < l; m++) {
a.remove(this.imageFigures[m], this.revealClassName)
}
this._revealedAll = true
};
c.exports = k
}, {
"../../model/EnabledFeatures": 634,
"ac-classlist": 12,
"ac-dom-traversal/querySelectorAll": 121,
"ac-viewport": 615
}],
653: [function(b, c, a) {
var j = b("ac-viewport").Viewport;
var f = b("ac-dom-styles/setStyle");
var d;
var g = {
transform: {
scale: 1.1
},
opacity: 0.98
};
var h = function(k) {
this.context = k;
this.el = this.context.distanceElements.shadow;
this.settings = {
scrollStart: 0,
scrollEnd: 1,
invert: false
};
this.setBreakpointName();
j.on("breakpoint", this.setBreakpointName.bind(this))
};
d = h.prototype;
d.setProgress = function() {
var l = this.context.parallaxHandler.positions.silver.progress;
var m = this.settings.scrollStart,
k = this.settings.scrollEnd;
if (l < m) {
l = m
} else {
if (l > k) {
l = k
}
}
l = (l - m) / (k - m);
if (this.settings.invert) {
l = 1 - l
}
this.progress = l
};
d.render = function() {
var l = this.progress * g.transform.scale,
k = this.progress * k;
f(this.el, {
transform: "scale3d(" + l + "," + l + ", 1)",
opacity: k
})
};
d.setBreakpointName = function() {
this.breakpointName = j.getBreakpoint().name;
if (this.breakpointName === "xlarge") {
this.breakpointName = "large"
}
};
c.exports = h
}, {
"ac-dom-styles/setStyle": 105,
"ac-viewport": 615
}],
654: [function(c, d, b) {
var h = c("ac-event-emitter-micro").EventEmitterMicro,
a = c("ac-object");
var g;
var f = function() {
h.call(this);
this.ready = false;
this.once("ready", this._onReady.bind(this));
if (!window.AC) {
window.AC = {}
}
window.AC.OverviewStatusProxy = this
};
g = f.prototype = a.create(h.prototype);
g._onReady = function() {
this.ready = true
};
d.exports = new f()
}, {
"ac-event-emitter-micro": 217,
"ac-object": 380
}],
655: [function(h, c, l) {
var r = h("ac-event-emitter-micro").EventEmitterMicro;
var m = h("ac-dom-traversal/querySelector");
var f = h("../../model/EnabledFeatures");
var b = h("ac-classlist");
var k = h("ac-object");
var q = h("ac-dom-emitter").DOMEmitter;
var p = h("ac-viewport").Viewport;
var o = h("ac-cname").cname;
var a = h("ac-classlist");
var n;
var j = false;
var s = "/105/media/us/iphone-6s/2015/dhs3b549_75f9_422a_9470_4a09e709b350/overview/hero";
var g = {
gold: {
"1x": "gold_device_screen",
"2x": "gold_device_screen_2x"
},
silver: {
"1x": "silver_device_screen",
"2x": "silver_device_screen_2x"
}
};
var d = function(t) {
r.call(this);
this.context = t;
this.loaded = {};
this.playOnLoads = {};
this.loadingTimeouts = {
gold: null,
silver: null
};
this.activeStatus = {
gold: false,
silver: false
};
this.appendedStatus = {
gold: false,
silver: false
};
this.visibilityStatus = {
gold: false,
silver: false
};
this.timeoutTriggered = {
gold: false,
silver: false
};
this.enableAutoplay = {
gold: true,
silver: true
};
this.elementHeights = {
gold: this.getElementHeight("gold"),
silver: this.getElementHeight("silver")
};
this.setBreakpointName();
this.shouldPlay = {
gold: true,
silver: true
};
this.inView = {
gold: false,
silver: false
};
this.wasInView = {
gold: false,
silver: false
};
this.createVideos();
this.initialize();
this._bindEvents();
this.playVideosIfNeeded();
this.context.clock.on("draw", this.playVideosIfNeeded.bind(this))
};
n = d.prototype = k.create(r.prototype);
n.activeClass = "active";
n.hiddenClass = "hidden";
n.loadingTimeoutDuration = 2250;
n.initialize = function() {
var t;
for (t in this.videos) {
if (this.videos.hasOwnProperty(t)) {
this.activateVideo(t, this.videos[t])
}
}
};
n._onLoadingTimeout = function(u, v) {
this.timeoutTriggered[u] = true;
var t = "timeout";
this.trigger(t, {
key: u,
videoEmitter: v,
wrapperEl: this.wrappers[u],
name: t
})
};
n.appendVideoElement = function(u, v) {
if (!this.context.videoContainers[u]) {
return
}
this.context.videoContainers[u].appendChild(this.wrappers[u]);
this.appendedStatus[u] = true;
var t = "appended";
this.trigger(t, {
key: u,
videoEl: v.el,
wrapperEl: this.wrappers[u],
name: t
})
};
n.getElementHeight = function(t) {
return this.context.parallaxContainers[t].getBoundingClientRect().height
};
n._bindEvents = function() {
p.on("breakpoint", function() {
this.setBreakpointName();
this.elementHeights = {
gold: this.getElementHeight("gold"),
silver: this.getElementHeight("silver")
}
}.bind(this))
};
n.playVideosIfNeeded = function() {
this.handleAutoplay("silver");
this.handleAutoplay("gold")
};
n.isInView = function(v) {
var u = 20;
if (this.inView[v]) {
u = 4
}
var w = this.context.distanceCalculator.getWorldSpace(v).y,
z = this.context.scrollTop,
x = p.innerHeight() + z,
y = w - this.elementHeights[v] / u,
t = w + this.elementHeights[v] / u;
return (x >= y && z <= t)
};
n.addActiveClass = function(t) {
this.activeStatus[t] = true;
a.add(this.videos[t].el, this.activeClass)
};
n.removeActiveClass = function(t) {
this.activeStatus[t] = false;
a.remove(this.videos[t].el, this.activeClass)
};
n.handleAutoplay = function(u) {
if (!this.enableAutoplay[u] || !this.appendedStatus[u]) {
return
}
var t = this.inView[u] = this.isInView(u);
if (u === "gold" && this.context.introPlaying) {
t = true
}
if (this.shouldPlay[u] && t) {
this.shouldPlay[u] = false;
if (!this.loaded[u]) {
this.playOnLoads[u] = true;
return
} else {
this.playVideo(u)
}
} else {
if (!this.shouldPlay[u] && !t) {
this._handleViewReset(u)
}
}
if (!t && !this.activeStatus[u]) {
this.addActiveClass(u)
}
if (j) {
if (t) {
this.makeVisible(u);
return
}
this.makeInvisible(u)
}
};
n.resetAll = function() {
var t;
for (t in this.videos) {
if (this.videos.hasOwnProperty(t)) {
this._handleViewReset(t)
}
}
};
n.makeVisible = function(t) {
if (this.wasInView[t]) {
return
}
this.wasInView[t] = true;
a.remove(this.videos[t].el, this.hiddenClass)
};
n.makeInvisible = function(t) {
if (!this.wasInView[t]) {
return
}
this.wasInView[t] = false;
a.add(this.videos[t].el, this.hiddenClass)
};
n.createVideos = function() {
var t = "1x";
if (window.devicePixelRatio > 1.5) {
t = "2x"
}
this.videos = {};
this.wrappers = {};
var u, v, w;
for (u in g) {
if (g.hasOwnProperty(u)) {
v = document.createElement("video");
v.src = o.formatUrl(s, g[u][t], ".mp4");
v.className = "device-video";
this.videos[u] = new q(v);
w = document.createElement("div");
w.className = "device-video-mask";
w.appendChild(v);
this.wrappers[u] = w
}
}
};
n.activateVideo = function(u, v) {
var t = v.el;
v.once("canplaythrough", this._onCanPlayThrough.bind(this, u, v));
v.on("pause", this._onPause.bind(this, u, v));
this.loadingTimeouts[u] = setTimeout(this._onLoadingTimeout.bind(this, u, v), this.loadingTimeoutDuration);
t.load()
};
n.playVideo = function(u, t) {
if (this.videos[u]) {
if (!a.contains(this.videos[u].el, this.activeClass)) {
a.add(this.videos[u].el, this.activeClass);
window.requestAnimationFrame(function() {
if (this.videos[u].el.paused) {
this.videos[u].el.play()
}
}.bind(this))
} else {
this.videos[u].el.play()
}
}
};
n._onCanPlayThrough = function(t, u) {
this.loaded[t] = true;
if (!this.appendedStatus[t]) {
this.appendVideoElement(t, u)
}
if (this.timeoutTriggered[t]) {
return
}
if (this.loadingTimeouts[t]) {
clearTimeout(this.loadingTimeouts[t]);
this.loadingTimeouts[t] = null;
if (this.context.introPlaying && t === "gold") {
this.playVideo(t, true)
}
}
if (this.playOnLoads[t]) {
this.playVideo(t)
}
};
n._onPause = function(t, u) {
this.trigger("pause", {
key: t,
videoEl: u.el,
wrapperEl: this.wrappers[t]
})
};
n._handleViewReset = function(t) {
var u = this.videos[t];
if (u) {
this.shouldPlay[t] = true;
this.removeActiveClass(t);
u.el.pause();
u.el.currentTime = 0
}
};
n.setBreakpointName = function() {
this.breakpointName = p.getBreakpoint().name;
if (this.breakpointName === "xlarge") {
this.breakpointName = "large"
}
};
c.exports = d
}, {
"../../model/EnabledFeatures": 634,
"ac-classlist": 12,
"ac-cname": 29,
"ac-dom-emitter": 35,
"ac-dom-traversal/querySelector": 120,
"ac-event-emitter-micro": 217,
"ac-object": 380,
"ac-viewport": 615
}],
656: [function(d, b, h) {
var m = d("./webgl/shadow-passes/SpaceGrayShadowPass"),
c = d("./webgl/shadow-passes/RoseGoldShadowPass"),
l = d("./webgl/shadow-passes/SilverShadowPass");
var o = d("./webgl/gradient-pass/RoseGoldLogoPass"),
g = d("./webgl/gradient-pass/SpaceGrayLogoPass");
var p = d("./webgl/matcap/SilverTouchID"),
j = d("./webgl/matcap/GoldTouchID"),
a = d("./webgl/matcap/SpaceGrayCamera"),
n = d("./webgl/matcap/SpaceGrayButton"),
f = d("./webgl/matcap/RoseGoldCamera"),
k = d("./webgl/matcap/RoseGoldButtons");
b.exports = {
silver: [l, p],
spacegray: [m, a, g],
gold: [j],
rosegold: [c, f, k, o]
}
}, {
"./webgl/gradient-pass/RoseGoldLogoPass": 657,
"./webgl/gradient-pass/SpaceGrayLogoPass": 658,
"./webgl/matcap/GoldTouchID": 659,
"./webgl/matcap/RoseGoldButtons": 660,
"./webgl/matcap/RoseGoldCamera": 661,
"./webgl/matcap/SilverTouchID": 662,
"./webgl/matcap/SpaceGrayButton": 663,
"./webgl/matcap/SpaceGrayCamera": 664,
"./webgl/shadow-passes/RoseGoldShadowPass": 665,
"./webgl/shadow-passes/SilverShadowPass": 666,
"./webgl/shadow-passes/SpaceGrayShadowPass": 667
}],
657: [function(c, b, f) {
var l = c("../../../../webgl/types/MaterialCapturePlayer"),
k = c("../../../../webgl/shaders/shaders.json"),
d = c("ac-object"),
a = c("ac-motion-emitter").MotionEmitter,
h = c("ac-viewport").Viewport;
var g;
var j = function(o, m, p) {
this.context = o;
this.context = o;
this._lastScrollPos = null;
this._lastTimeInPxThreshold = null;
this._minFriction = 5;
this._maxFriction = 40;
this.settings = {
progressRangeMin: 0,
progressRangeMax: 1,
matcapRangeMin: -1,
matcapRangeMax: 1
};
this.animationRanges = {
xlarge: {
min: 0,
max: 0.2
},
large: {
min: 0,
max: 0.2
},
medium: {
min: 0,
max: 0.2
},
small: {
min: 0,
max: 0.2
}
};
this.introAnimationRanges = {
xlarge: {
min: 0,
max: 0.7
},
large: {
min: 0,
max: 0.7
},
medium: {
min: 0,
max: 0.7
},
small: {
min: 0,
max: 0.7
}
};
var n = this.getSizeForBreakpoint();
l.call(this, o, {
width: n,
height: n,
className: this.className,
subpath: m.subpath
});
if (p) {
return
}
this.meshOptions = {
width: this.options.width,
height: this.options.height,
uniforms: this.getImageTextureUniforms(),
vertexShader: k.vertex,
fragmentShader: k["gradient-pass"]
}
};
g = j.prototype = d.create(l.prototype);
g.sizes = {
small: 64,
defaults: 128
};
g.className = "rosegold-logo-matcap";
g.getImagePaths = function() {
var m = {
allowXLarge: true
};
return {
maskMap: this.getAssetURL("hero_rosegold_logo_alpha", m),
gradientMap: this.getAssetURL("rosegold_logo_gradient", {
retina: false,
extension: "jpg",
ignoreBreakpoint: true
})
}
};
g.renderIntroProgressOffset = function() {
if (!this.context.introPlayer.positions.spacegray) {
return
}
var p = this.context.introPlayer.positions.spacegray.progress;
var o = this.introAnimationRanges[this.breakpointName].min,
m = this.introAnimationRanges[this.breakpointName].max;
var n = p;
if (n < o) {
n = o
} else {
if (n > m) {
n = m
}
}
n = 1 - (m - n) / (m - o);
this._introOffsetProgress = n
};
g.render = function() {
if (this.context.introPlayer && !this.context.introComplete) {
this.renderIntroProgressOffset()
}
if (!this._introOffsetProgress) {
this._introOffsetProgress = 1
}
var o = 0,
q = this.settings.progressRangeMin,
n = this.settings.progressRangeMax;
if (this.context.parallaxHandler) {
var r = this.context.parallaxHandler.positions.spacegray.progress;
var p = this.settings.scrollMin,
m = this.settings.scrollMax;
o = (m - r) / (m - p);
if (o < 0) {
o = 0
} else {
if (o > 1) {
o = 1
}
}
if (o < q) {
o = q
} else {
if (o > n) {
o = n
}
}
}
o = (o * (-1 / n));
if (typeof this._introOffsetProgress === "number") {
o += this._introOffsetProgress
}
if (isNaN(o)) {
return
}
o = (o * (this.settings.matcapRangeMax - this.settings.matcapRangeMin)) + this.settings.matcapRangeMin;
o = (o + 1) / 2;
this.setProgress(o)
};
b.exports = j
}, {
"../../../../webgl/shaders/shaders.json": 691,
"../../../../webgl/types/MaterialCapturePlayer": 693,
"ac-motion-emitter": 373,
"ac-object": 380,
"ac-viewport": 615
}],
658: [function(c, b, f) {
var l = c("../../../../webgl/types/MaterialCapturePlayer"),
k = c("../../../../webgl/shaders/shaders.json"),
d = c("ac-object"),
a = c("ac-motion-emitter").MotionEmitter,
h = c("ac-viewport").Viewport;
var g;
var j = function(o, m, p) {
this.context = o;
this.context = o;
this._lastScrollPos = null;
this._lastTimeInPxThreshold = null;
this._minFriction = 5;
this._maxFriction = 40;
this.settings = {
progressRangeMin: 0,
progressRangeMax: 1,
matcapRangeMin: 0,
matcapRangeMax: 1
};
this.animationRanges = {
xlarge: {
min: 0,
max: 0.2
},
large: {
min: 0,
max: 0.2
},
medium: {
min: 0,
max: 0.2
},
small: {
min: 0,
max: 0.2
}
};
this.introAnimationRanges = {
xlarge: {
min: 0,
max: 0.7
},
large: {
min: 0,
max: 0.7
},
medium: {
min: 0,
max: 0.7
},
small: {
min: 0,
max: 0.7
}
};
var n = this.getSizeForBreakpoint();
l.call(this, o, {
width: n,
height: n,
className: this.className,
subpath: m.subpath
});
if (p) {
return
}
this.meshOptions = {
width: this.options.width,
height: this.options.height,
uniforms: this.getImageTextureUniforms(),
vertexShader: k.vertex,
fragmentShader: k["gradient-pass"]
}
};
g = j.prototype = d.create(l.prototype);
g.sizes = {
small: 64,
defaults: 128
};
g.className = "spacegray-logo-matcap";
g.getImagePaths = function() {
var m = {
allowXLarge: true
};
return {
maskMap: this.getAssetURL("hero_spacegray_logo_alpha", m),
gradientMap: this.getAssetURL("spacegray_logo_gradient", {
retina: false,
extension: "jpg",
ignoreBreakpoint: true
})
}
};
g.renderIntroProgressOffset = function() {
if (!this.context.introPlayer.positions.spacegray) {
return
}
var p = this.context.introPlayer.positions.spacegray.progress;
var o = this.introAnimationRanges[this.breakpointName].min,
m = this.introAnimationRanges[this.breakpointName].max;
var n = p;
if (n < o) {
n = o
} else {
if (n > m) {
n = m
}
}
n = 1 - (m - n) / (m - o);
this._introOffsetProgress = n
};
g.render = function() {
if (this.context.introPlayer && !this.context.introComplete) {
this.renderIntroProgressOffset()
}
if (!this._introOffsetProgress) {
this._introOffsetProgress = 1
}
var o = 0,
q = this.settings.progressRangeMin,
n = this.settings.progressRangeMax;
if (this.context.parallaxHandler) {
var r = this.context.parallaxHandler.positions.spacegray.progress;
var p = this.settings.scrollMin,
m = this.settings.scrollMax;
o = (m - r) / (m - p);
if (o < 0) {
o = 0
} else {
if (o > 1) {
o = 1
}
}
if (o < q) {
o = q
} else {
if (o > n) {
o = n
}
}
}
o = (o * (-1 / n));
if (typeof this._introOffsetProgress === "number") {
o += this._introOffsetProgress
}
if (isNaN(o)) {
return
}
o = (o * (this.settings.matcapRangeMax - this.settings.matcapRangeMin)) + this.settings.matcapRangeMin;
o = (o + 1) / 2;
this.setProgress(o)
};
b.exports = j
}, {
"../../../../webgl/shaders/shaders.json": 691,
"../../../../webgl/types/MaterialCapturePlayer": 693,
"ac-motion-emitter": 373,
"ac-object": 380,
"ac-viewport": 615
}],
659: [function(b, a, d) {
var k = b("../../../../webgl/types/MaterialCapturePlayer"),
j = b("../../../../webgl/shaders/shaders.json"),
c = b("ac-object"),
h = b("ac-viewport").Viewport;
var f;
var g = function(n, l, o) {
this.context = n;
this.animationRanges = {
xlarge: {
min: 0,
max: 0.2
},
large: {
min: 0,
max: 0.2
},
medium: {
min: 0,
max: 0.2
},
small: {
min: 0,
max: 0.2
}
};
this.introAnimationRanges = {
xlarge: {
min: 0,
max: 0.85
},
large: {
min: 0,
max: 0.85
},
medium: {
min: 0,
max: 0.85
},
small: {
min: 0,
max: 0.85
}
};
var m = this.getSizeForBreakpoint();
this.settings = {
progressRangeMin: 0,
progressRangeMax: 1,
matcapRangeMin: -1,
matcapRangeMax: 1
};
k.call(this, n, {
width: m,
height: m,
className: this.className,
subpath: l.subpath
});
if (o) {
return
}
this.meshOptions = {
width: this.options.width,
height: this.options.height,
uniforms: this.getImageTextureUniforms(),
vertexShader: j.vertex,
fragmentShader: j["material-capture"]
}
};
f = g.prototype = c.create(k.prototype);
f.composerPasses = 0;
f.className = "gold-touch-id-matcap";
f.sizes = {
small: 32,
defaults: 64
};
f.getImagePaths = function() {
var l = {
allowXLarge: true
};
return {
maskMap: this.getAssetURL("hero_gold_touch_id_alpha", l),
normalMap: this.getAssetURL("hero_gold_touch_id_normals", l),
matcapMap: this.getAssetURL("gold_touch_id_matcap", {
retina: false,
extension: "jpg",
ignoreBreakpoint: true
})
}
};
f.renderIntroProgressOffset = function() {
if (!this.context.introPlayer.positions.spacegray) {
return
}
var o = this.context.introPlayer.positions.gold.progress;
var n = this.introAnimationRanges[this.breakpointName].min,
l = this.introAnimationRanges[this.breakpointName].max;
var m = o;
if (m < n) {
m = n
} else {
if (m > l) {
m = l
}
}
m = 1 - (l - m) / (l - n);
this._introOffsetProgress = m
};
f.render = function() {
if (this.context.introPlayer && !this.context.introComplete) {
this.renderIntroProgressOffset()
}
if (!this._introOffsetProgress) {
this._introOffsetProgress = 1
}
var n = 0,
p = this.settings.progressRangeMin,
m = this.settings.progressRangeMax;
if (this.context.parallaxHandler) {
var q = this.context.parallaxHandler.positions.gold.progress;
var o = this.settings.scrollMin,
l = this.settings.scrollMax;
n = (l - q) / (l - o);
if (n < 0) {
n = 0
} else {
if (n > 1) {
n = 1
}
}
if (n < p) {
n = p
} else {
if (n > m) {
n = m
}
}
}
n = (n * (-1 / m));
if (typeof this._introOffsetProgress === "number") {
n += this._introOffsetProgress
}
if (isNaN(n)) {
return
}
n = (n * (this.settings.matcapRangeMax - this.settings.matcapRangeMin)) + this.settings.matcapRangeMin;
this.setProgress(n - 1)
};
a.exports = g
}, {
"../../../../webgl/shaders/shaders.json": 691,
"../../../../webgl/types/MaterialCapturePlayer": 693,
"ac-object": 380,
"ac-viewport": 615
}],
660: [function(c, b, f) {
var l = c("../../../../webgl/types/MaterialCapturePlayer"),
k = c("../../../../webgl/shaders/shaders.json"),
d = c("ac-object"),
a = c("ac-motion-emitter").MotionEmitter,
j = c("ac-viewport").Viewport;
var g;
var h = function(o, m, p) {
this.context = o;
var n = this.getSizeForBreakpoint();
this.settings = {
progressRangeMin: 0,
progressRangeMax: 1,
matcapRangeMin: -1,
matcapRangeMax: 1,
matcapOffset: 0
};
this.settings = {
progressRangeMin: 0,
progressRangeMax: 1,
matcapRangeMin: -1,
matcapRangeMax: 1
};
this.animationRanges = {
xlarge: {
min: 0,
max: 0.33
},
large: {
min: 0,
max: 0.33
},
medium: {
min: 0,
max: 0.33
},
small: {
min: 0,
max: 0.33
}
};
this.introAnimationRanges = {
xlarge: {
min: 0.2,
max: 0.6
},
large: {
min: 0.2,
max: 0.6
},
medium: {
min: 0.2,
max: 0.6
},
small: {
min: 0.2,
max: 0.6
}
};
l.call(this, o, {
width: n,
height: n,
className: this.className,
subpath: m.subpath
});
if (p) {
return
}
this.meshOptions = {
width: this.options.width,
height: this.options.height,
uniforms: this.getImageTextureUniforms(),
vertexShader: k.vertex,
fragmentShader: k["material-capture"]
};
this.motionEmitter = new a({
min: 0,
max: 1,
clock: this.context.clock,
friction: 5
});
this.motionEmitter.on("draw", function(q) {
this.setProgress(q.progress)
}.bind(this));
this.motionEmitter.start()
};
g = h.prototype = d.create(l.prototype);
g.sizes = {
small: 128,
defaults: 256
};
g.className = "rosegold-buttons-matcap";
g.getImagePaths = function() {
var m = {
allowXLarge: true
};
return {
maskMap: this.getAssetURL("hero_rosegold_buttons_alpha", m),
normalMap: this.getAssetURL("hero_rosegold_buttons_normals", m),
matcapMap: this.getAssetURL("rosegold_buttons_matcap", {
retina: false,
extension: "jpg",
ignoreBreakpoint: true
})
}
};
g.renderIntroProgressOffset = function() {
if (!this.context.introPlayer.positions.spacegray) {
return
}
var p = this.context.introPlayer.positions.spacegray.progress;
var o = this.introAnimationRanges[this.breakpointName].min,
m = this.introAnimationRanges[this.breakpointName].max;
var n = p;
if (n < o) {
n = o
} else {
if (n > m) {
n = m
}
}
n = 1 - (m - n) / (m - o);
this._introOffsetProgress = n
};
g.render = function() {
if (this.context.introPlayer && !this.context.introComplete) {
this.renderIntroProgressOffset()
}
if (!this._introOffsetProgress) {
this._introOffsetProgress = 1
}
var o = 0,
q = this.settings.progressRangeMin,
n = this.settings.progressRangeMax;
if (this.context.parallaxHandler) {
var r = this.context.parallaxHandler.positions.rosegold.progress;
var p = this.settings.scrollMin,
m = this.settings.scrollMax;
o = (m - r) / (m - p);
if (o < 0) {
o = 0
} else {
if (o > 1) {
o = 1
}
}
if (o < q) {
o = q
} else {
if (o > n) {
o = n
}
}
}
o = (o * (-1 / n));
if (typeof this._introOffsetProgress === "number") {
o += this._introOffsetProgress
}
if (isNaN(o)) {
return
}
o = (o * (this.settings.matcapRangeMax - this.settings.matcapRangeMin)) + this.settings.matcapRangeMin;
this.motionEmitter.setProgress(o - 1)
};
b.exports = h
}, {
"../../../../webgl/shaders/shaders.json": 691,
"../../../../webgl/types/MaterialCapturePlayer": 693,
"ac-motion-emitter": 373,
"ac-object": 380,
"ac-viewport": 615
}],
661: [function(b, a, f) {
var k = b("../../../../webgl/types/MaterialCapturePlayer"),
j = b("../../../../webgl/shaders/shaders.json"),
d = b("ac-object"),
h = b("ac-viewport").Viewport;
var g;
var c = function(n, l, o) {
this.context = n;
var m = this.getSizeForBreakpoint();
this.settings = {
progressRangeMin: 0,
progressRangeMax: 1,
matcapRangeMin: -1,
matcapRangeMax: 1,
matcapOffset: 0
};
this.animationRanges = {
xlarge: {
min: 0,
max: 62
},
large: {
min: 0,
max: 62
},
medium: {
min: 0,
max: 62
},
small: {
min: 0,
max: 62
}
};
this.introAnimationRanges = {
xlarge: {
min: 0,
max: 1000
},
large: {
min: 0,
max: 1800
},
medium: {
min: 0,
max: 1400
},
small: {
min: 0,
max: 1200
}
};
k.call(this, n, {
width: m,
height: m,
className: this.className,
subpath: l.subpath
});
if (o) {
return
}
this.meshOptions = {
width: this.options.width,
height: this.options.height,
uniforms: this.getImageTextureUniforms(),
vertexShader: j.vertex,
fragmentShader: j["material-capture"]
}
};
g = c.prototype = d.create(k.prototype);
g.composerPasses = 0;
g.sizes = {
xlarge: 64,
large: 64,
defaults: 32
};
g.className = "rosegold-camera-matcap";
g.getImagePaths = function() {
var l = {
allowXLarge: true
};
return {
maskMap: this.getAssetURL("hero_rosegold_camera_alpha", l),
normalMap: this.getAssetURL("hero_rosegold_camera_normals", l),
matcapMap: this.getAssetURL("rosegold_camera_matcap", {
retina: false,
extension: "jpg",
ignoreBreakpoint: true
})
}
};
g.renderIntroProgressOffset = function(q) {
var p = this.introAnimationRanges[this.breakpointName].min,
l = this.introAnimationRanges[this.breakpointName].max;
var n = (l - q) / (l - p);
if (n < 0) {
n = 0
} else {
if (n > 1) {
n = 1
}
}
var o = 0,
m = 1;
if (n < o) {
n = o
} else {
if (n > m) {
n = m
}
}
n = 1 - (n * (1 / m));
this._introOffsetProgress = n
};
g.render = function() {
var q = this.context.distanceCalculator.parallaxOffsets.rosegold.y || 0;
if (this.context.introPlayer && !this.context.introComplete) {
this.renderIntroProgressOffset(q)
}
q = -q;
var p = this.settings.scrollMin,
l = this.settings.scrollMax;
var n = (l - q) / (l - p);
if (n < 0) {
n = 0
} else {
if (n > 1) {
n = 1
}
}
var o = this.settings.progressRangeMin,
m = this.settings.progressRangeMax;
if (n < o) {
n = o
} else {
if (n > m) {
n = m
}
}
if (typeof this._introOffsetProgress === "number") {
n += this._introOffsetProgress
}
n = n * (1 / m);
n = (n * (this.settings.matcapRangeMax - this.settings.matcapRangeMin)) + this.settings.matcapRangeMin;
this.setProgress(n * 2 + this.settings.matcapOffset)
};
a.exports = c
}, {
"../../../../webgl/shaders/shaders.json": 691,
"../../../../webgl/types/MaterialCapturePlayer": 693,
"ac-object": 380,
"ac-viewport": 615
}],
662: [function(b, a, d) {
var k = b("../../../../webgl/types/MaterialCapturePlayer"),
h = b("../../../../webgl/shaders/shaders.json"),
c = b("ac-object"),
g = b("ac-viewport").Viewport;
var f;
var j = function(n, l, o) {
this.context = n;
this.useGLScale = false;
var m = this.getSizeForBreakpoint();
this.settings = {
progressRangeMin: 0,
progressRangeMax: 1,
matcapRangeMin: -1,
matcapRangeMax: 1,
matcapOffset: 0
};
this.animationRanges = {
xlarge: {
min: 0,
max: 100
},
large: {
min: 0,
max: 100
},
medium: {
min: 0,
max: 100
},
small: {
min: 0,
max: 100
}
};
this.introAnimationRanges = {
xlarge: {
min: 0,
max: 1000
},
large: {
min: 0,
max: 1800
},
medium: {
min: 0,
max: 1400
},
small: {
min: 0,
max: 1200
}
};
k.call(this, n, {
width: m,
height: m,
className: this.className,
subpath: l.subpath
});
if (o) {
return
}
this.meshOptions = {
width: this.options.width,
height: this.options.height,
uniforms: this.getImageTextureUniforms(),
vertexShader: h.vertex,
fragmentShader: h["material-capture"]
}
};
f = j.prototype = c.create(k.prototype);
f.sizes = {
xlarge: 128,
defaults: 64
};
f.className = "silver-touch-id-matcap";
f.composerPasses = 0;
f.getImagePaths = function() {
var l = {
allowXLarge: true
};
return {
maskMap: this.getAssetURL("hero_silver_touch_id_alpha", l),
normalMap: this.getAssetURL("hero_silver_touch_id_normals", l),
matcapMap: this.getAssetURL("silver_touch_id_matcap", {
retina: false,
extension: "jpg",
ignoreBreakpoint: true
})
}
};
f.renderIntroProgressOffset = function(q) {
var p = this.introAnimationRanges[this.breakpointName].min,
l = this.introAnimationRanges[this.breakpointName].max;
var n = (l - q) / (l - p);
if (n < 0) {
n = 0
} else {
if (n > 1) {
n = 1
}
}
var o = 0,
m = 1;
if (n < o) {
n = o
} else {
if (n > m) {
n = m
}
}
n = 1 - (n * (1 / m));
this._introOffsetProgress = n
};
f.render = function() {
var q = this.context.distanceCalculator.parallaxOffsets.silver.y || 0;
if (this.context.introPlayer && !this.context.introComplete) {
this.renderIntroProgressOffset(q)
}
var p = this.settings.scrollMin,
l = this.settings.scrollMax;
var n = (l - q) / (l - p);
if (n < 0) {
n = 0
} else {
if (n > 1) {
n = 1
}
}
var o = this.settings.progressRangeMin,
m = this.settings.progressRangeMax;
if (n < o) {
n = o
} else {
if (n > m) {
n = m
}
}
if (this._introOffsetProgress) {
n += this._introOffsetProgress
}
n = n * (1 / m);
n = (n * (this.settings.matcapRangeMax - this.settings.matcapRangeMin)) + this.settings.matcapRangeMin;
this.setProgress(n += this.settings.matcapOffset)
};
a.exports = j
}, {
"../../../../webgl/shaders/shaders.json": 691,
"../../../../webgl/types/MaterialCapturePlayer": 693,
"ac-object": 380,
"ac-viewport": 615
}],
663: [function(b, a, d) {
var k = b("../../../../webgl/types/MaterialCapturePlayer"),
j = b("../../../../webgl/shaders/shaders.json"),
c = b("ac-object"),
g = b("ac-viewport").Viewport;
var f;
var h = function(n, l, o) {
this.context = n;
this.settings = {
progressRangeMin: 0,
progressRangeMax: 1,
matcapRangeMin: 0.11,
matcapRangeMax: 1
};
this.animationRanges = {
xlarge: {
min: 0,
max: 0.2
},
large: {
min: 0,
max: 0.2
},
medium: {
min: 0,
max: 0.2
},
small: {
min: 0,
max: 0.2
}
};
this.introAnimationRanges = {
xlarge: {
min: 0,
max: 0.7
},
large: {
min: 0,
max: 0.85
},
medium: {
min: 0,
max: 0.7
},
small: {
min: 0,
max: 0.7
}
};
var m = this.getSizeForBreakpoint();
k.call(this, n, {
width: m,
height: m,
className: this.className,
subpath: l.subpath
});
if (o) {
return
}
this.meshOptions = {
width: this.options.width,
height: this.options.height,
uniforms: this.getImageTextureUniforms(),
vertexShader: j.vertex,
fragmentShader: j["material-capture"]
}
};
f = h.prototype = c.create(k.prototype);
f.sizes = {
xlarge: 128,
defaults: 64
};
f.className = "spacegray-button-matcap";
f.getImagePaths = function() {
var l = {
allowXLarge: true
};
return {
maskMap: this.getAssetURL("hero_spacegray_button_alpha", l),
normalMap: this.getAssetURL("hero_spacegray_button_normals", l),
matcapMap: this.getAssetURL("spacegray_buttons_matcap", {
retina: false,
extension: "jpg",
ignoreBreakpoint: true
})
}
};
f.renderIntroProgressOffset = function() {
if (!this.context.introPlayer.positions.spacegray) {
return
}
var o = this.context.introPlayer.positions.spacegray.progress;
var n = this.introAnimationRanges[this.breakpointName].min,
l = this.introAnimationRanges[this.breakpointName].max;
var m = o;
if (m < n) {
m = n
} else {
if (m > l) {
m = l
}
}
m = 1 - (l - m) / (l - n);
this._introOffsetProgress = m
};
f.render = function() {
if (this.context.introPlayer && !this.context.introComplete) {
this.renderIntroProgressOffset()
}
if (!this._introOffsetProgress) {
this._introOffsetProgress = 1
}
var n = 0,
p = this.settings.progressRangeMin,
m = this.settings.progressRangeMax;
if (this.context.parallaxHandler) {
var q = this.context.parallaxHandler.positions.spacegray.progress;
var o = this.settings.scrollMin,
l = this.settings.scrollMax;
n = (l - q) / (l - o);
if (n < 0) {
n = 0
} else {
if (n > 1) {
n = 1
}
}
if (n < p) {
n = p
} else {
if (n > m) {
n = m
}
}
}
n = (n * (-1 / m));
if (typeof this._introOffsetProgress === "number") {
n += this._introOffsetProgress
}
if (isNaN(n)) {
return
}
n = (n * (this.settings.matcapRangeMax - this.settings.matcapRangeMin)) + this.settings.matcapRangeMin;
this.setProgress(n - 1)
};
a.exports = h
}, {
"../../../../webgl/shaders/shaders.json": 691,
"../../../../webgl/types/MaterialCapturePlayer": 693,
"ac-object": 380,
"ac-viewport": 615
}],
664: [function(d, c, g) {
var l = d("../../../../webgl/types/MaterialCapturePlayer"),
k = d("../../../../webgl/shaders/shaders.json"),
f = d("ac-object"),
b = d("ac-motion-emitter").MotionEmitter,
j = d("ac-viewport").Viewport;
var h;
var a = function(o, m, p) {
this.context = o;
this._lastScrollPos = null;
this._lastTimeInPxThreshold = null;
this._minFriction = 5;
this._maxFriction = 40;
this.settings = {
progressRangeMin: 0,
progressRangeMax: 0.43,
matcapRangeMin: -1,
matcapRangeMax: 1
};
this.animationRanges = {
xlarge: {
min: 850,
max: 899
},
large: {
min: 612,
max: 651
},
medium: {
min: 490,
max: 519
},
small: {
min: 350,
max: 379
}
};
this.introAnimationRanges = {
xlarge: {
min: this.animationRanges.xlarge.max,
max: 1800
},
large: {
min: this.animationRanges.large.max,
max: 1800
},
medium: {
min: this.animationRanges.medium.max,
max: 1400
},
small: {
min: this.animationRanges.small.max,
max: 1200
}
};
var n = this.getSizeForBreakpoint();
l.call(this, o, {
width: n,
height: n,
className: this.className,
subpath: m.subpath
});
if (p) {
return
}
this.meshOptions = {
width: this.options.width,
height: this.options.height,
uniforms: this.getImageTextureUniforms(),
vertexShader: k.vertex,
fragmentShader: k["material-capture"]
};
this.frictionEaser = new b({
min: this._minFriction,
max: this._maxFriction,
clock: this.context.clock,
friction: 20
});
this.frictionEaser.on("update", function(q) {
this.motionEmitter.friction = Math.round(q.progress)
}.bind(this));
this.motionEmitter = new b({
min: 0,
max: 1,
clock: this.context.clock,
friction: 5
});
this.motionEmitter.on("draw", function(q) {
this.setProgress(q.progress)
}.bind(this));
this.frictionEaser.start();
this.motionEmitter.start();
j.on("scroll", this._handleScrollDirectionChange.bind(this))
};
h = a.prototype = f.create(l.prototype);
h.composerPasses = 0;
h.className = "spacegray-camera-matcap";
h.sizes = {
small: 32,
defaults: 64
};
h.getImagePaths = function() {
var m = {
allowXLarge: true
};
return {
maskMap: this.getAssetURL("hero_spacegray_camera_alpha", m),
normalMap: this.getAssetURL("hero_spacegray_camera_normals", m),
matcapMap: this.getAssetURL("spacegray_camera_matcap", {
retina: false,
extension: "jpg",
ignoreBreakpoint: true
})
}
};
h.renderIntroProgressOffset = function(r) {
var q = this.introAnimationRanges[this.breakpointName].min,
m = this.introAnimationRanges[this.breakpointName].max;
var o = (m - r) / (m - q);
if (o < 0) {
o = 0
} else {
if (o > 1) {
o = 1
}
}
var p = 0,
n = 1;
if (o < p) {
o = p
} else {
if (o > n) {
o = n
}
}
o = 1 - (o * (1 / n));
this._introOffsetProgress = o
};
h.render = function() {
var r = this.context.distanceCalculator.getDistance("spacegray", "gold");
if (this.context.introPlayer && !this.context.introComplete) {
this.renderIntroProgressOffset(r)
}
var q = this.settings.scrollMin,
m = this.settings.scrollMax;
var o = (m - r) / (m - q);
if (o < 0) {
o = 0
} else {
if (o > 1) {
o = 1
}
}
var p = this.settings.progressRangeMin,
n = this.settings.progressRangeMax;
if (o < p) {
o = p
} else {
if (o > n) {
o = n
}
}
if (this._introOffsetProgress) {
o -= this._introOffsetProgress
}
o = o * (1 / n);
o = (o * (this.settings.matcapRangeMax - this.settings.matcapRangeMin)) + this.settings.matcapRangeMin;
this.motionEmitter.setProgress(o)
};
h._handleScrollDirectionChange = function() {
var o = j.scrollY(),
n = 100,
m = Date.now();
if (!this._lastScrollPos) {
this._lastScrollPos = o
}
if (o > this._lastScrollPos && o < n) {
this._lastTimeInPxThreshold = m
}
if (o > this._lastScrollPos || m - this._lastTimeInPxThreshold < 700) {
this.frictionEaser.setProgress(this._minFriction)
} else {
this.frictionEaser.setProgress(this._maxFriction)
}
this._lastScrollPos = o
};
c.exports = a
}, {
"../../../../webgl/shaders/shaders.json": 691,
"../../../../webgl/types/MaterialCapturePlayer": 693,
"ac-motion-emitter": 373,
"ac-object": 380,
"ac-viewport": 615
}],
665: [function(d, b, g) {
var j = d("../../../../webgl/types/ShadowPassPlayer"),
l = d("../../../../webgl/shaders/shaders.json"),
k = d("ac-viewport").Viewport,
f = d("ac-object");
var h;
var a = {
xlarge: {
width: 1015,
height: 583
},
large: {
width: 738,
height: 424
},
medium: {
width: 587,
height: 337
},
small: {
width: 458,
height: 263
}
};
var c = function(o, n, p) {
this.context = o;
this.setBreakpointName();
this.setDimensions();
j.call(this, o, {
width: this.dimensions.width,
height: this.dimensions.height,
className: this.className,
subpath: n.subpath
});
if (p) {
return
}
this.settings = {
scrollStart: 0,
scrollEnd: 0.4,
scrollXStart: 0.4,
scrollYStart: 1.2,
scrollDistanceX: 0,
scrollDistanceY: -1.3,
distanceX: 1,
distanceY: 1,
dropOffX: 0,
dropOffY: 0,
rotate: 0,
bloom: 1,
feather: 1,
distanceBloom: 0,
distanceFeather: 0,
invert: true
};
this.settings.rotate = this.settings.rotate * Math.PI / 180;
this.updateSettings();
var m = this.getImageTextureUniforms();
m.maskCenter = {
type: "v3",
value: new THREE.Vector3()
};
m.showPasses = {
type: "f",
value: 0
};
m.bloom = {
type: "f",
value: this.settings.bloom
};
m.feather = {
type: "f",
value: this.settings.feather
};
m.distanceX = {
type: "f",
value: this.settings.distanceX
};
m.distanceY = {
type: "f",
value: this.settings.distanceY
};
m.dropOffX = {
type: "f",
value: this.settings.dropOffX
};
m.dropOffY = {
type: "f",
value: this.settings.dropOffY
};
m.rotate = {
type: "f",
value: this.settings.rotate
};
m.shadowMap.value.magFilter = m.shadowMap.value.minFilter = THREE.LinearFilter;
this.meshOptions = {
width: this.options.width,
height: this.options.height,
uniforms: m,
vertexShader: l.vertex,
fragmentShader: l["shadow-pass"]
};
k.on("breakpoint", this.onBreakpoint.bind(this))
};
h = c.prototype = f.create(j.prototype);
h.cameraOptions = {
nearClip: 1,
farClip: 5000,
fov: 45
};
h.className = "rosegold-shadow-pass";
h.getImagePaths = function() {
var m = {
extension: "jpg"
};
return {
shadowMap: this.getAssetURL("hero_rosegold_s", m)
}
};
h.setBreakpointName = function() {
this.breakpointName = k.getBreakpoint().name
};
h.setDimensions = function() {
var m = this.breakpointName,
n = a[m];
this.dimensions = {
width: n.width,
height: n.height,
left: -n.width / 2,
top: -n.height / 2
}
};
h.updateSettings = function() {
var m = this.breakpointName
};
h.render = function() {
var o = 0;
if (this.context.parallaxHandler) {
o = this.context.parallaxHandler.positions.rosegold.progress
}
var q = this.settings.scrollStart;
var n = this.settings.scrollEnd;
var p = (n - o) / (n - q);
if (p < 0) {
p = 0
} else {
if (p > 1) {
p = 1
}
}
if (this.settings.invert) {
p = 1 - p
}
var m = this.settings.scrollXStart + (p * this.settings.scrollDistanceX);
var s = this.settings.scrollYStart + (p * this.settings.scrollDistanceY);
var r = this.settings.bloom + (p * this.settings.distanceBloom);
this.setMaskCenter(m, s);
this.setBloom(r)
};
h.onBreakpoint = function() {
this.setBreakpointName();
this.updateSettings();
this.setDimensions();
this.resizeTo(this.dimensions.width, this.dimensions.height)
};
h.setMaskCenter = function(m, n) {
this.material.uniforms.maskCenter.value.x = m;
this.material.uniforms.maskCenter.value.y = n
};
h.setBloom = function(m) {
this.material.uniforms.bloom.value = m
};
b.exports = c
}, {
"../../../../webgl/shaders/shaders.json": 691,
"../../../../webgl/types/ShadowPassPlayer": 695,
"ac-object": 380,
"ac-viewport": 615
}],
666: [function(c, b, f) {
var h = c("../../../../webgl/types/ShadowPassPlayer"),
l = c("../../../../webgl/shaders/shaders.json"),
k = c("ac-viewport").Viewport,
d = c("ac-object");
var g;
var a = {
xlarge: {
width: 759,
height: 977
},
large: {
width: 552,
height: 711
},
medium: {
width: 440,
height: 566
},
small: {
width: 342,
height: 441
}
};
var j = function(o, n, p) {
this.context = o;
this.setBreakpointName();
this.setDimensions();
h.call(this, o, {
width: this.dimensions.width,
height: this.dimensions.height,
className: this.className,
subpath: n.subpath
});
if (p) {
return
}
this.settings = {
scrollStart: 0,
scrollEnd: 1,
scrollXStart: 0.4,
scrollYStart: 1,
scrollDistanceX: 0,
scrollDistanceY: -0.65,
distanceX: 0.1,
distanceY: 3.5,
dropOffX: 0,
dropOffY: 0,
rotate: 0,
bloom: 0.7,
feather: 1,
distanceBloom: 0,
distanceFeather: 0,
invert: true
};
this.settings.rotate = this.settings.rotate * Math.PI / 180;
this.updateSettings();
var m = this.getImageTextureUniforms();
m.maskCenter = {
type: "v3",
value: new THREE.Vector3()
};
m.showPasses = {
type: "f",
value: 0
};
m.bloom = {
type: "f",
value: this.settings.bloom
};
m.feather = {
type: "f",
value: this.settings.feather
};
m.distanceX = {
type: "f",
value: this.settings.distanceX
};
m.distanceY = {
type: "f",
value: this.settings.distanceY
};
m.dropOffX = {
type: "f",
value: this.settings.dropOffX
};
m.dropOffY = {
type: "f",
value: this.settings.dropOffY
};
m.rotate = {
type: "f",
value: this.settings.rotate
};
m.shadowMap.value.magFilter = m.shadowMap.value.minFilter = THREE.LinearFilter;
this.meshOptions = {
width: this.options.width,
height: this.options.height,
uniforms: m,
vertexShader: l.vertex,
fragmentShader: l["shadow-pass"]
};
k.on("breakpoint", this.onBreakpoint.bind(this))
};
g = j.prototype = d.create(h.prototype);
g.cameraOptions = {
nearClip: 1,
farClip: 5000,
fov: 45
};
g.className = "silver-shadow-pass";
g.getImagePaths = function() {
var m = {
extension: "jpg"
};
if (!this.context.supportsMasking) {
m.extension = "png"
}
return {
shadowMap: this.getAssetURL("hero_silver_s", m)
}
};
g.setBreakpointName = function() {
this.breakpointName = k.getBreakpoint().name
};
g.setDimensions = function() {
var m = this.breakpointName,
n = a[m];
this.dimensions = {
width: n.width,
height: n.height,
left: -n.width / 2,
top: -n.height / 2
}
};
g.updateSettings = function() {
var m = this.breakpointName
};
g.render = function() {
var o = 0;
if (this.context.parallaxHandler) {
o = this.context.parallaxHandler.positions.silver.progress
}
var q = this.settings.scrollStart;
var n = this.settings.scrollEnd;
var p = (n - o) / (n - q);
if (p < 0) {
p = 0
} else {
if (p > 1) {
p = 1
}
}
if (this.settings.invert) {
p = 1 - p
}
var m = this.settings.scrollXStart + (p * this.settings.scrollDistanceX);
var s = this.settings.scrollYStart + (p * this.settings.scrollDistanceY);
var r = this.settings.bloom + (p * this.settings.distanceBloom);
this.setMaskCenter(m, s);
this.setBloom(r)
};
g.onBreakpoint = function() {
this.setBreakpointName();
this.updateSettings();
this.setDimensions();
this.resizeTo(this.dimensions.width, this.dimensions.height)
};
g.setMaskCenter = function(m, n) {
this.material.uniforms.maskCenter.value.x = m;
this.material.uniforms.maskCenter.value.y = n
};
g.setBloom = function(m) {
this.material.uniforms.bloom.value = m
};
b.exports = j
}, {
"../../../../webgl/shaders/shaders.json": 691,
"../../../../webgl/types/ShadowPassPlayer": 695,
"ac-object": 380,
"ac-viewport": 615
}],
667: [function(c, b, g) {
var k = c("../../../../webgl/types/ShadowPassPlayer"),
n = c("../../../../webgl/shaders/shaders.json"),
l = c("ac-viewport").Viewport,
f = c("ac-easing"),
d = c("ac-object");
var a = {
xlarge: {
width: 1148,
height: 442
},
large: {
width: 835,
height: 322
},
medium: {
width: 665,
height: 256
},
small: {
width: 518,
height: 199
}
};
var j = {
xlarge: {
scrollMin: 895,
scrollMax: 899
},
large: {
scrollMin: 642,
scrollMax: 651
},
medium: {
scrollMin: 513,
scrollMax: 519
},
small: {
scrollMin: 393,
scrollMax: 405
}
};
var h;
var m = function(q, p, r) {
this.context = q;
this.setBreakpointName();
this.setDimensions();
k.call(this, q, {
width: this.dimensions.width,
height: this.dimensions.height,
className: this.className,
subpath: p.subpath
});
if (r) {
return
}
this.settings = {
introStart: 0,
introEnd: 1,
introXStart: -1.47,
introYStart: 0.67,
scrollStart: 0,
scrollEnd: 0.5,
scrollXStart: 0,
scrollYStart: 0,
dropOffX: 0,
dropOffY: 0,
introDistanceX: 1,
introDistanceY: -0.01,
scrollDistanceX: 0,
scrollDistanceY: 0,
distanceX: 2.6,
distanceY: 1,
rotate: 1.2,
bloom: 0.7,
distanceBloom: -1,
feather: 1,
distanceFeather: 1,
invert: true
};
this.settings.rotate = this.settings.rotate * Math.PI / 180;
this.easing = f.createBezier(0.1, 0.48, 0.475, 1);
this._lastIntroProgress = null;
this.updateSettings();
var o = this.getImageTextureUniforms();
o.maskCenter = {
type: "v3",
value: new THREE.Vector3()
};
o.showPasses = {
type: "f",
value: 0
};
o.bloom = {
type: "f",
value: this.settings.bloom
};
o.feather = {
type: "f",
value: this.settings.feather
};
o.distanceX = {
type: "f",
value: this.settings.distanceX
};
o.distanceY = {
type: "f",
value: this.settings.distanceY
};
o.dropOffX = {
type: "f",
value: this.settings.dropOffX
};
o.dropOffY = {
type: "f",
value: this.settings.dropOffY
};
o.rotate = {
type: "f",
value: this.settings.rotate
};
o.shadowMap.value.magFilter = o.shadowMap.value.minFilter = THREE.LinearFilter;
this.meshOptions = {
width: this.options.width,
height: this.options.height,
uniforms: o,
vertexShader: n.vertex,
fragmentShader: n["shadow-pass"]
};
l.on("breakpoint", this.onBreakpoint.bind(this))
};
h = m.prototype = d.create(k.prototype);
h.cameraOptions = {
nearClip: 1,
farClip: 5000,
fov: 45
};
h.className = "spacegray-shadow-pass";
h.setBreakpointName = function() {
this.breakpointName = l.getBreakpoint().name
};
h.setDimensions = function() {
var o = this.breakpointName,
p = a[o];
this.dimensions = {
width: p.width,
height: p.height,
left: -p.width / 2,
top: -p.height / 2
}
};
h.getImagePaths = function() {
var o = {
extension: "jpg"
};
return {
shadowMap: this.getAssetURL("hero_spacegray_s", o)
}
};
h.updateSettings = function() {
var o = this.breakpointName;
this.settings.scrollMin = j[o].scrollMin;
this.settings.scrollMax = j[o].scrollMax
};
h.render = function() {
if (this.context.introPlayer && !this.context.introComplete) {
this.handleIntroShadow()
} else {
var v = 1;
if (typeof this._lastIntroProgress === "number") {
v = this._lastIntroProgress
}
this.handleIntroShadow(v)
}
var r = this.settings.scrollStart,
p = this.settings.scrollEnd;
var u = 0;
if (this.context.parallaxHandler) {
u = this.context.parallaxHandler.positions.spacegray.progress
}
var q = (p - u) / (p - r);
if (q < 0) {
q = 0
} else {
if (q > 1) {
q = 1
}
}
if (this.settings.invert) {
q = 1 - q
}
var o = this.settings.scrollXStart + (q * this.settings.scrollDistanceX);
var t = this.settings.scrollYStart + (q * this.settings.scrollDistanceY);
var s = this.settings.bloom + (q * this.settings.distanceBloom);
if (this._introX) {
o += this._introX
}
if (this._introY) {
t += this._introY
}
this.setMaskCenter(o, t);
this.setBloom(s)
};
h.handleIntroShadow = function(u) {
var s = 0,
p = this.settings.introEnd,
r = this.settings.introStart;
if (this.context.introPlayer && this.context.introPlayer.positions && this.context.introPlayer.positions.spacegray) {
s = this.context.introPlayer.positions.spacegray.progress
}
if (typeof u === "number") {
s = u
}
var q = (p - s) / (p - r);
if (q < 0) {
q = 0
} else {
if (q > 1) {
q = 1
}
}
if (this.settings.invert) {
q = 1 - q
}
if (q < 1) {
q = this.easing.getValue(q)
}
var o = this.settings.introXStart + (q * this.settings.introDistanceX);
var t = this.settings.introYStart + (q * this.settings.introDistanceY);
this._introX = o;
this._introY = t;
this._lastIntroProgress = q
};
h.onBreakpoint = function() {
this.setBreakpointName();
this.updateSettings();
this.setDimensions();
this.resizeTo(this.dimensions.width, this.dimensions.height)
};
h.setMaskCenter = function(o, p) {
this.material.uniforms.maskCenter.value.x = o;
this.material.uniforms.maskCenter.value.y = p
};
h.setBloom = function(o) {
this.material.uniforms.bloom.value = o
};
b.exports = m
}, {
"../../../../webgl/shaders/shaders.json": 691,
"../../../../webgl/types/ShadowPassPlayer": 695,
"ac-easing": 126,
"ac-object": 380,
"ac-viewport": 615
}],
668: [function(j, a, w) {
j("ac-polyfills/Object/create");
var k = j("ac-console").log;
var b = j("ac-dom-metrics");
var m = j("ac-dom-styles");
var n = j("ac-dom-traversal");
var l = j("../../utils/BrowserPrefixed");
var s = j("ac-scroll-motion-emitter").ElementScrollMotionEmitter;
var r = j("ac-viewport").Viewport;
var p = j("ac-easing").createPredefined;
var v = j("ac-browser");
var c = (j("ac-feature").isTablet() || j("ac-feature").isHandheld());
var d = !c && j("../../utils/animationCapable");
var g = j("ac-motion-emitter").MotionEmitter;
var h = j("ac-graph");
var u = j("../../sharedsections/BaseSection");
var q = u.prototype;
var t = j("../../utils/mathutils");
function f(A, z, y) {
var x = this;
this.name = "PinAndScaleSection";
u.call(this, A, z, y);
this._initLineGraphs();
if (!d || this.breakpoint == "small") {
this.element.classList.add("static")
}
this.pinned = false;
this.swap = {
large: 350,
medium: 380
};
this.scaleMin = {
large: 0.75,
medium: 0.6
};
this.scaleMax = {
large: 1,
medium: 1
};
this.pinAndScaleWrapperEl = n.querySelector("#pin-and-scale-wrapper", this.element);
this.pinnedContentEl = n.querySelector(".pinned-content", this.element);
this.deviceEl = n.querySelector(".device-a9-m9", this.element);
this.a9 = n.querySelector(".image-a9-inside", this.element);
this.m9 = n.querySelector(".image-m9-inside", this.element);
this._initMetrics();
this._initMotionEmitter();
this._setStyle();
this.rafWhenVisible = true
}
var o = f.prototype = Object.create(u.prototype);
f.prototype.constructor = f;
o._initMotionEmitter = function() {
this.motionEmitter = new g({
min: 0,
max: 1
});
if (d && this.viewport != "small") {
this.motionEmitter.start()
}
};
o._initMetrics = function() {
this.windowHeight = r.clientHeight();
this.windowWidth = r.clientWidth();
this.pin = (this.windowHeight > 1000) ? 400 : 150;
this.sectionTop = b.getPagePosition(this.element).top;
this.sectionHeight = b.getDimensions(this.element).height;
this.deviceTop = b.getPagePosition(this.pinnedContentEl).top;
this.deviceRight = this.windowWidth - b.getPagePosition(this.deviceEl).right;
this.breakpoint = r.getBreakpoint().name;
if (this.breakpoint == "xlarge") {
this.breakpoint = "large"
}
this.pinStart = this.deviceTop - this.pin;
this.pinEnd = this.sectionTop + this.sectionHeight - this.windowHeight;
this.unPinnedTop = this.sectionHeight - (this.deviceTop - this.sectionTop) - this.windowHeight + this.pin;
this.cpuGraphScrollThreshold = b.getPagePosition(this.cpuGraphEl).top - this.windowHeight + b.getDimensions(this.cpuGraphEl).height;
this.gpuGraphScrollThreshold = b.getPagePosition(this.gpuGraphEl).top - this.windowHeight + b.getDimensions(this.gpuGraphEl).height
};
o._initLineGraphs = function() {
this.cpuGraphEl = document.getElementById("graph-cpu-performance");
this.gpuGraphEl = document.getElementById("graph-gpu-performance");
this.cpuGraph = new h.CurvedLine(this.cpuGraphEl, {
graphData: [0.088, 0.095, 0.1, 0.12, 0.18, 0.28, 0.5, 0.8, 1],
duration: 1.5,
spline: {
lineWidth: 4,
colorStart: "#96c951",
colorEnd: "#038aca",
tension: 0.7
},
splineDots: {
show: "all",
draw: "play",
fillColor: "matchSpline",
size: 7
},
verticalRule: {
color: "#f2f2f2",
lineWidth: 1,
lineLength: "toSpline"
},
xAxis: {
show: true,
draw: "play",
lineWidth: 1,
color: "#d6d6d6"
},
xDots: {
show: true
}
});
this.gpuGraph = new h.CurvedLine(this.gpuGraphEl, {
graphData: [0.088, 0.095, 0.1, 0.12, 0.18, 0.28, 0.44, 0.65, 1],
duration: 1.5,
spline: {
lineWidth: 4,
colorStart: "#fcde38",
colorEnd: "#ef582b",
tension: 0.7
},
splineDots: {
show: "all",
draw: "play",
fillColor: "matchSpline",
size: 7
},
verticalRule: {
color: "#f2f2f2",
lineWidth: 1,
lineLength: "toSpline"
},
xAxis: {
show: true,
draw: "play",
lineWidth: 1,
color: "#d6d6d6"
},
xDots: {
show: true
}
})
};
o.setupEvents = function() {
window.motionEmitter = this.motionEmitter;
this.motionEmitter.on("draw", this.scaleDevice.bind(this))
};
o.teardownEvents = function() {
q.teardownEvents.call(this)
};
o.activate = function() {
q.activate.call(this)
};
o.deactivate = function() {
q.deactivate.call(this)
};
o.animateIn = function() {
q.animateIn.call(this)
};
o._setStyle = function() {
if (!d || this.breakpoint == "small") {
return
}
var x = t.map(this.scroll, this.pinStart, this.pinEnd, 0, 1);
var B = Math.min(x * 2.5, 1);
var y = (x >= 0 && x <= 1);
var A = (x > 1);
var z = (x > 0.6);
if (y && !this.pinned) {
this.pinned = true;
this.deviceEl.classList.add("pinned");
this.deviceEl.style.top = this.pin + "px";
this.deviceEl.style.right = this.deviceRight + "px"
} else {
if (!y && this.pinned) {
this.pinned = false;
this.deviceEl.classList.remove("pinned");
this.deviceEl.style.top = "auto";
this.deviceEl.style.right = 0
}
}
if (z && !this.logoAnimated) {
this.logoAnimated = true;
this.deviceEl.classList.add("show-m9-logo")
} else {
if (!z) {
this.logoAnimated = false;
this.deviceEl.classList.remove("show-m9-logo")
}
}
var C = t.clamp(B, 0, 1);
if (isNaN(C)) {
C = 0
}
this.motionEmitter.setProgress(C);
if (A && !this.unpinned) {
this.motionEmitter.setProgress(1);
this.motionEmitter.trigger("draw", {
progress: 1
});
this.unpinned = true;
this.deviceEl.style.top = this.unPinnedTop + "px"
} else {
if (!A && this.unpinned) {
this.unpinned = false
}
}
};
o._checkToPlayGraphs = function() {
if (this.scroll > this.cpuGraphScrollThreshold && !this.cpuGraphHasPlayed) {
this.cpuGraphHasPlayed = true;
this.cpuGraph.play();
this.cpuGraphEl.classList.add("animate")
}
if (this.scroll > this.gpuGraphScrollThreshold && !this.gpuGraphHasPlayed) {
this.gpuGraphHasPlayed = true;
this.gpuGraph.play();
this.gpuGraphEl.classList.add("animate")
}
};
o._removeStyle = function() {
this.pinned = false;
this.unpinned = false;
this.logoAnimated = false;
this.deviceEl.classList.remove("pinned");
this.deviceEl.classList.remove("show-m9-logo");
this.deviceEl.style.top = "auto";
this.deviceEl.style.right = 0;
this.deviceEl.style[l.transform] = ""
};
o.scaleDevice = function(x) {
var y = t.map(x.progress, 0, 1, this.scaleMin[this.breakpoint], this.scaleMax[this.breakpoint]);
this.deviceEl.style[l.transform] = "scale(" + y + "," + y + ") translate3d(0,0,0)"
};
o.onRequestAnimationFrame = function() {
q.onRequestAnimationFrame.call(this);
this.scroll = r.scrollY();
this._checkToPlayGraphs();
if (!d || this.breakpoint == "small") {
return
}
this._setStyle()
};
o.onScroll = function(z, y, x) {
q.onScroll.call(this, z, y, x)
};
o.onResize = function(z, y, x) {
q.onResize.call(this, z, y, x);
this._removeStyle();
this._initMetrics();
this._setStyle()
};
o.onBreakpoint = function(z, A, y, x) {
this.breakpoint = r.getBreakpoint().name;
this.motionEmitter.stop();
if (this.breakpoint == "xlarge") {
this.breakpoint = "large"
}
if (this.breakpoint == "small" || !d) {
this._removeStyle()
} else {
this.motionEmitter.start()
}
this._initMetrics();
this._setStyle()
};
o.onViewWillAppear = function(y, x) {
q.onViewWillAppear.call(this, y, x)
};
o.onViewWillDisappear = function(y, x) {
this._removeStyle();
q.onViewWillDisappear.call(this, y, x)
};
o.destroy = function() {
q.destroy.call(this)
};
a.exports = f
}, {
"../../sharedsections/BaseSection": 676,
"../../utils/BrowserPrefixed": 686,
"../../utils/animationCapable": 687,
"../../utils/mathutils": 690,
"ac-browser": 1,
"ac-console": 31,
"ac-dom-metrics": 62,
"ac-dom-styles": 93,
"ac-dom-traversal": 111,
"ac-easing": 126,
"ac-feature": 230,
"ac-graph": 368,
"ac-motion-emitter": 373,
"ac-polyfills/Object/create": 394,
"ac-scroll-motion-emitter": 468,
"ac-viewport": 615
}],
669: [function(f, a, t) {
f("ac-polyfills/Object/create");
var q = f("ac-dom-metrics");
var r = f("../../engagementAnimation/EngagementAnimation");
var k = f("../../scrollAnimation/ScrollAnimation");
var l = f("ac-dom-traversal/querySelectorAll");
var b = f("ac-dom-traversal/querySelector");
var d = f("../../gallery/TextFadeGallery");
var m = f("ac-element-engagement").ElementEngagement;
var h = f("ac-gallery").FadeGallery;
var p = f("ac-classlist");
var o = f("ac-viewport").Viewport;
var c = f("../../utils/animationCapable");
var s = f("../../sharedsections/BaseSection");
var n = s.prototype;
function g(x, w, v) {
var u = this;
this.name = "ThreeDTouchSection";
s.call(this, x, w, v);
if (!c) {
x.classList.add("static")
}
this.breakpoint = o.getBreakpoint().name;
if (this.beakpoint === "xlarge") {
this.beakpoint = "large"
}
this.emitterEls = l("[data-scroll-emitter]", this.element);
this.scrollAnimationEls = l("[data-scroll-animation]", this.element);
this.animationEls = l("[data-animate-in]", this.element);
this.galleryEl = b(".ac-gallery");
this._initialize();
this.rafWhenVisible = true
}
var j = g.prototype = Object.create(s.prototype);
g.prototype.constructor = g;
j._initialize = function() {
var u = this;
this.scrollAnimations = [];
this.engagementAnimations = [];
if (this.scrollAnimations.length == 0 && c) {
this.emitterEls.forEach(function(v) {
u.scrollAnimations.push(new k(v))
})
} else {
if (!c) {
this.scrollAnimationEls.forEach(function(v) {
v.classList.add("show")
})
}
}
if (this.breakpoint == "small") {
this.gallery = new d(this.galleryEl);
return
}
if (!this._animationElementTracker) {
this._animationElementTracker = new m()
}
this.animationEls.forEach(function(w, v) {
u.engagementAnimations[v] = new r(w, u.breakpoint, {
elementEngagement: u._animationElementTracker
})
})
};
j.setupEvents = function() {
this.scrollAnimations.forEach(function(u) {
u.setupEvents()
})
};
j.teardownEvents = function() {
this.scrollAnimations.forEach(function(u) {
u.teardownEvents()
});
n.teardownEvents.call(this)
};
j.activate = function() {
n.activate.call(this)
};
j.deactivate = function() {
n.deactivate.call(this)
};
j.animateIn = function() {
n.animateIn.call(this)
};
j.onRequestAnimationFrame = function() {
n.onRequestAnimationFrame.call(this)
};
j.onScroll = function(w, v, u) {
n.onScroll.call(this, w, v, u);
if (!c) {
return
}
this.scrollAnimations.forEach(function(x) {
x.handleScroll()
})
};
j.onResize = function(w, v, u) {
n.onResize.call(this, w, v, u)
};
j.onBreakpoint = function(w, x, v, u) {
this.breakpoint = w.name;
if (w.name == "xlarge" || x.name == "xlarge") {
return
}
if (w.name == "small" || x.name == "small") {
this._destroy();
this._initialize();
return
}
this.scrollAnimations.forEach(function(y) {
y.setScale(w.name)
});
this.engagementAnimations.forEach(function(z, y) {
z.updateAnimationOnBreakpoint(w.name)
})
};
j.onViewWillAppear = function(v, u) {
n.onViewWillAppear.call(this, v, u);
if (this._animationElementTracker) {
this._animationElementTracker.start()
}
};
j.onViewWillDisappear = function(v, u) {
n.onViewWillDisappear.call(this, v, u)
};
j._destroy = function() {
if (this.gallery) {
this.gallery.teardownEvents()
}
this.gallery = null;
if (this.engagementAnimations) {
this.engagementAnimations.forEach(function(v, u) {
if (typeof v.destroy === "function") {
v.destroy()
}
v.trackedEl.el.removeAttribute("style")
});
this.engagementAnimations = null
}
};
j.destroy = function() {
n.destroy.call(this);
this._destroy()
};
a.exports = g
}, {
"../../engagementAnimation/EngagementAnimation": 624,
"../../gallery/TextFadeGallery": 627,
"../../scrollAnimation/ScrollAnimation": 674,
"../../sharedsections/BaseSection": 676,
"../../utils/animationCapable": 687,
"ac-classlist": 12,
"ac-dom-metrics": 62,
"ac-dom-traversal/querySelector": 120,
"ac-dom-traversal/querySelectorAll": 121,
"ac-element-engagement": 145,
"ac-gallery": 320,
"ac-polyfills/Object/create": 394,
"ac-viewport": 615
}],
670: [function(b, c, a) {
var d = b("ac-dom-traversal");
var j = b("ac-dom-metrics");
var h = b("ac-viewport").Viewport;
var g = function(k) {
this.element = k;
this._imageContainerEl = d.querySelector(".panorama-image", this.element);
this._wrapperEl = d.querySelector(".panorama-image-wrapper", this.element);
this.centerScrollPosition()
};
var f = g.prototype;
f.centerScrollPosition = function() {
this._wrapperEl.scrollLeft = (this._wrapperEl.scrollWidth - h.innerWidth()) / 2
};
c.exports = g
}, {
"ac-dom-metrics": 62,
"ac-dom-traversal": 111,
"ac-viewport": 615
}],
671: [function(c, a, d) {
var h = c("ac-dom-events");
var g = c("ac-dom-traversal");
var l = c("ac-classlist");
var j = c("ac-viewport").Viewport;
var b = c("../utils/BrowserPrefixed");
function k(m) {
this.cursorEl = g.querySelector(".cursor");
this._controller = m;
this.offset = {
x: Math.round(this.cursorEl.offsetLeft + this.cursorEl.clientWidth / 2),
y: Math.round(this.cursorEl.offsetTop + this.cursorEl.clientHeight / 2)
};
this.mouse = {
x: 0,
y: 0
};
this.mousePanorama = {
x: 0,
y: 0
};
this.isOverPanorama = false;
this._boundOnMouseMove = this.onMouseMoveDocument.bind(this);
h.addEventListener(document.body, "mousemove", this._boundOnMouseMove, false)
}
var f = k.prototype;
f.onMouseMoveDocument = function(m) {
m.preventDefault();
this.mouse.x = m.pageX + this.offset.x;
this.mouse.y = m.pageY - this.offset.y;
this.cursorEl.style[b.transform] = "translate(" + this.mouse.x + "px, " + this.mouse.y + "px)"
};
f.onMouseMovePanorama = function(m) {
if (m) {
m.preventDefault()
}
this.mousePanorama.x = this.map(m.clientX, 0, j.innerWidth(), 1, -1);
this.mousePanorama.y = m.clientY
};
f.onMouseOverPanorama = function(m) {
if (m) {
m.preventDefault()
}
if (!this.isOverPanorama) {
this.isOverPanorama = true;
l.add(this.cursorEl, "active")
}
};
f.onMouseOutPanorama = function(m) {
if (m) {
m.preventDefault()
}
if (this.isOverPanorama) {
this.isOverPanorama = false;
l.remove(this.cursorEl, "active")
}
};
f.lerp = function(n, o, m) {
return o + (m - o) * n
};
f.map = function(q, p, n, o, m) {
return this.lerp(this.norm(q, p, n), o, m)
};
f.norm = function(o, n, m) {
return (o - n) / (m - n)
};
f.setZoomIn = function() {
l.remove(this.cursorEl, "out")
};
f.setZoomOut = function() {
l.add(this.cursorEl, "out")
};
f.hideZoom = function() {
l.add(this.cursorEl, "hidden")
};
f.showZoom = function() {
l.remove(this.cursorEl, "hidden")
};
f.applyIECompatability = function() {
h.removeEventListener(document.body, "mousemove", this._boundOnMouseMove);
this.cursorEl.style.visibility = "hidden";
this.onMouseMoveDocument = this._boundOnMouseMove = this.setZoomIn = this.setZoomOut = this.hideZoom = this.showZoom = function() {}
};
a.exports = k
}, {
"../utils/BrowserPrefixed": 686,
"ac-classlist": 12,
"ac-dom-events": 39,
"ac-dom-traversal": 111,
"ac-viewport": 615
}],
672: [function(c, b, d) {
var l = c("ac-dom-traversal");
var r = c("ac-classlist");
var m = c("ac-dom-events");
var j = c("ac-browser");
var o = c("ac-dom-styles");
var n = c("ac-viewport").Viewport;
var a = (c("ac-feature").isTablet() || c("ac-feature").isHandheld());
var k = c("ac-clip").Clip;
var g = c("./SinglePanorama");
var p = c("./InlinePanorama");
var q = c("./PanoramaCursor");
function h(s) {
this._options = s;
this._zoomPanoramas = [];
this._inlinePanoramas = [];
this._containerEl = document.getElementById("main");
this._containerChildrenEl = l.children(this._containerEl);
this._currentPanorama = null;
this.cursor = null;
this.scrollBarWidth = c("../utils/getScrollBarWidth")();
this.setBreakpoint();
this._createSinglePanoramas();
if (!a && !j.IE) {
this._initCursor();
this._setupEvents()
}
}
var f = h.prototype;
f._createSinglePanoramas = function() {
var v = l.querySelectorAll(".panorama");
var w = this._containerChildrenEl;
for (var t = 0; t < v.length; t++) {
var u = v[t];
if (!a && !j.IE) {
var x = new g(u, this);
x.setupSiblings(w);
this._zoomPanoramas.push(x)
} else {
var s = new p(u);
this._inlinePanoramas.push(s)
}
}
};
f._initCursor = function() {
this.cursor = new q(this)
};
f._setupEvents = function() {
var s = this;
this.boundOnResize = this.onResize.bind(this);
this._boundOnPanoramaZoomed = this.onPanoramaZoomed.bind(this);
window.addEventListener("keydown", function(t) {
if (t.keyCode === 27) {
t.preventDefault();
t.stopPropagation();
if (s._currentPanorama) {
s._currentPanorama.close()
}
}
})
};
f.setBreakpoint = function(s) {
if (s) {
this.breakpoint = s
} else {
this.breakpoint = n.getBreakpoint().name
}
};
f.onPanoramaScroll = function(v) {
var s = this;
if (v != this._currentPanorama && this._currentPanorama != null) {
this._currentPanorama.close();
return
}
this._currentPanorama = v;
for (var t = 0; t < this._containerChildrenEl.length; t++) {
var u = this._containerChildrenEl[t];
if (u == v.element) {
continue
}
u.classList.add("fade-out")
}
r.add(v.siblingElPrev, "slide-up");
r.add(v.siblingElNext, "slide-down");
document.body.classList.add("no-scroll");
l.querySelector("#main").style.overflow = "visible";
document.body.style["padding-right"] = this.scrollBarWidth + "px";
this.showCloseButton();
this.cursor.setZoomOut();
this.animateScrollTo(this._currentPanorama.getScrollOffset(), this._boundOnPanoramaZoomed)
};
f.onPanoramaZoomed = function() {
this._currentPanorama.boundBeginZoom();
this.cursor.showZoom()
};
f.showCloseButton = function() {
if (!a && !j.IE) {
return
}
};
f.onPanoramaClosed = function(u) {
for (var s = 0; s < this._containerChildrenEl.length; s++) {
var t = this._containerChildrenEl[s];
if (t == this.element) {
continue
}
r.remove(t, "fade-out")
}
r.remove(u.siblingElPrev, "slide-up");
r.remove(u.siblingElNext, "slide-down");
r.remove(document.body, "no-scroll");
document.body.style["padding-right"] = 0;
this._currentPanorama = null;
this.cursor.setZoomIn()
};
f.onResize = function(s) {
if (this._currentPanorama != null && this._currentPanorama.state === g.STATE.ZOOMED) {
this._currentPanorama.close()
}
this._zoomPanoramas.forEach(function(t) {
t.initMetrics()
})
};
f.animateScrollTo = function(w, s) {
var v = n.scrollY();
var u = (Math.abs(w - v) / 600) * 1.2;
this.cursor.hideZoom();
var t = {
x: n.scrollX(),
y: v
};
new k(t, u, {
y: w
}, {
ease: "easeInOutCubic",
onUpdate: function() {
window.scrollTo(t.x, t.y)
},
onComplete: s
}).play()
};
b.exports = h
}, {
"../utils/getScrollBarWidth": 688,
"./InlinePanorama": 670,
"./PanoramaCursor": 671,
"./SinglePanorama": 673,
"ac-browser": 1,
"ac-classlist": 12,
"ac-clip": 21,
"ac-dom-events": 39,
"ac-dom-styles": 93,
"ac-dom-traversal": 111,
"ac-feature": 230,
"ac-viewport": 615
}],
673: [function(d, b, f) {
var m = d("ac-dom-events");
var l = d("ac-dom-traversal");
var o = d("ac-dom-styles");
var n = d("ac-viewport").Viewport;
var c = d("../utils/BrowserPrefixed");
var a = d("ac-dom-metrics");
var j = d("ac-eclipse").Clip;
var k = 0.07;
function h(q, p) {
this.element = q;
this._controller = p;
this._aspectRatio = 958 / 3200;
this._imageContainerEl = l.querySelector(".panorama-image", this.element);
this._wrapperEl = l.querySelector(".panorama-image-wrapper", this.element);
this._imageContainerEl.style.cursor = "none";
this._image = null;
this.siblingElPrev = null;
this.siblingElNext = null;
this.state = h.STATE.CLOSED;
this._scale = 1;
this._tx = 0;
this._zoomClipProgress = 0;
this._imageDimensions = a.getDimensions(this._imageContainerEl);
this._hasLoadedZoomedImage = false;
this._doNotLoadZoomedImage = false;
this.initMetrics();
this._setupZoomImageURLs();
this._bindEvents();
this._setupEvents()
}
h.STATE = {
ZOOMED: 1,
CLOSED: 2
};
var g = h.prototype;
g.setupSiblings = function(p) {
var q = p.indexOf(this.element);
if (q === -1) {
throw new Error("SinglePanorama - Section not in sibling collection.")
}
if (q != 0) {
this.siblingElPrev = p[q - 1]
}
if (q !== p.length - 1) {
this.siblingElNext = p[q + 1]
}
};
g.destroy = function() {
this._controller = null;
this.teardownEvents()
};
g._bindEvents = function() {
this._boundOnMouseOver = this.onMouseOver.bind(this);
this._boundOnMouseMove = this.onMouseMove.bind(this);
this._boundOnMouseMoveAfterZoomOut = this.onMouseMoveAfterZoomOut.bind(this);
this._boundOnClick = this.onMouseClick.bind(this);
this._boundOnMouseOut = this.onMouseOut.bind(this);
this._boundOnTouchMove = this.onTouchMove.bind(this);
this._boundOnTouchStart = this.onTouchStart.bind(this);
this._boundOnImageLoaded = this.onImageLoaded.bind(this);
this._boundRaf = this.onRequestAnimationFrame.bind(this);
this.boundBeginZoom = this.beginZoom.bind(this)
};
g.initMetrics = function() {
this.windowWidth = n.clientWidth();
this.windowHeight = n.clientHeight();
this.imgContainerWidth = a.getDimensions(this._imageContainerEl).width;
this.imageContainerHeight = this.imgContainerWidth * this._aspectRatio;
this.scaleTarget = this.windowHeight * 1.05 / this.imageContainerHeight
};
g._setupZoomImageURLs = function() {
var p = o.getStyle(this._imageContainerEl, ["backgroundImage"]).backgroundImage;
this._imageSrcRegular = p.match(/\((.*?)\)/)[1].replace(/('|")/g, "");
this._imageSrcZoom = this._imageSrcRegular.replace(/_small|_medium|_large/g, "_zoom");
if (this._imageSrcZoom.indexOf("_2x") > -1) {
this._imageSrcZoom = this._imageSrcZoom.replace("_2x", "")
}
};
g._loadZoomImage = function() {
if (this._doNotLoadZoomedImage) {
return
}
if (this._image != null) {
if (this._image.parentNode !== null) {
this._image.parentNode.removeChild(this._image);
this._image.removeEventListener("load", this._boundOnImageLoaded)
}
this._image = null
}
this._image = new Image();
this._image.addEventListener("load", this._boundOnImageLoaded);
this._image.src = this._imageSrcZoom;
this._image.classList.add("zoom")
};
g.onImageLoaded = function(p) {
this._image.removeEventListener("load", this._boundOnImageLoaded);
if (this.state == h.STATE.ZOOMED) {
this._imageContainerEl.appendChild(this._image);
o.setStyle(this._imageContainerEl, {
backgroundImage: "none"
});
this._hasLoadedZoomedImage = true
}
};
g._setupEvents = function() {
m.addEventListener(this._imageContainerEl, "mouseover", this._boundOnMouseOver);
m.addEventListener(this.element, "click", this._boundOnClick);
m.addEventListener(this.element, "mousemove", this._boundOnMouseMove);
m.addEventListener(this._imageContainerEl, "mouseout", this._boundOnMouseOut)
};
g.teardownEvents = function() {
m.removeEventListener(this._imageContainerEl, "mouseover", this._boundOnMouseOver);
m.removeEventListener(this.element, "click", this._boundOnClick);
m.removeEventListener(this.element, "mousemove", this._boundOnMouseMove);
m.removeEventListener(this._imageContainerEl, "mouseout", this._boundOnMouseOut)
};
g.onMouseOver = function(p) {
this._controller.cursor.onMouseOverPanorama(p)
};
g.onMouseMove = function(p) {
this._controller.cursor.onMouseMovePanorama(p)
};
g.onMouseMoveAfterZoomOut = function(p) {
this._imageContainerEl.style.cursor = "none";
m.removeEventListener(this.element, "mousemove", this._boundOnMouseMoveAfterZoomOut)
};
g.onTouchStart = function(p) {
this.touchStartCoor = [p.touches[0].clientX, p.touches[0].clientY]
};
g.onTouchMove = function(q) {
var r = this._calcDistance(this.touchStartCoor, [q.touches[0].clientX, q.touches[0].clientY]);
var p = this;
if (r > 30) {
window.clearTimeout(this.touchTimeout);
m.removeEventListener(this.element, this.clickEvent, this._boundOnClick);
this.touchTimeout = setTimeout(function() {
m.addEventListener(p.element, p.clickEvent, p._boundOnClick)
}, 200)
}
};
g.onMouseClick = function(p) {
m.stop(p);
p.stopImmediatePropagation();
if (this.state == h.STATE.CLOSED) {
this.beginScroll()
} else {
if (this.state == h.STATE.ZOOMED && this._zoomClipProgress == 1) {
this.close(null)
}
}
};
g.onMouseOut = function(p) {
this._controller.cursor.onMouseOutPanorama(p)
};
g.beginScroll = function() {
this.state = h.STATE.ZOOMED;
this._controller.onPanoramaScroll(this)
};
g.beginZoom = function() {
var p = this;
this._imageContainerEl.style[c.transition] = "none";
this._wrapperEl.style[c.transition] = "none";
this.element.classList.add("zoom");
var q = {
transform: {
scale: this.scaleTarget
}
};
this.zoomClip = new j(this._imageContainerEl, 1.3, q, {
ease: "easeOutCubic",
onUpdate: function(r) {
p._zoomClipProgress = r.progress
},
onComplete: function() {
p._loadZoomImage()
},
destroyOnComplete: true
}).play();
requestAnimationFrame(this._boundRaf)
};
g.close = function(p) {
this.state = h.STATE.CLOSED;
this._controller.onPanoramaClosed(this);
this.element.classList.remove("zoom");
this._imageContainerEl.style[c.transition] = "opacity 1s, " + c.transform + " 0.8s";
this._imageContainerEl.style[c.transform] = "scale(1,1) translate3d(0,0,0)";
this._wrapperEl.style[c.transition] = c.transform + " 0.8s";
this._wrapperEl.style[c.transform] = "none";
o.setStyle(this._imageContainerEl, {
backgroundImage: "url(" + this._imageSrcRegular + ")"
});
if (this._image !== null) {
this._imageContainerEl.removeChild(this._image);
this._image = null
}
this._zoomClipProgress = 0;
this._tx = 0;
this._hasLoadedZoomedImage = false;
this.onMouseOut();
this._imageContainerEl.style.cursor = "auto";
m.addEventListener(this.element, "mousemove", this._boundOnMouseMoveAfterZoomOut)
};
g._getTranslateX = function() {
if (this.state != h.STATE.ZOOMED) {
return this._tx = 0
}
var r = this._controller.cursor.mousePanorama.x;
var p = (this.imgContainerWidth * this.scaleTarget * this._zoomClipProgress - this.windowWidth) / 2;
var q = r * p;
if (this._zoomClipProgress == 1) {
q = Math.max(q, -p + (this._controller.scrollBarWidth * this.scaleTarget))
}
this._tx += (q - this._tx) * k;
this._tx = Math.round(this._tx * 10000) / 10000;
return this._tx
};
g.getScrollOffset = function() {
var p = Math.round(this.element.offsetTop - (n.innerHeight() * 0.5) + (this._imageContainerEl.offsetHeight * 0.5));
return p
};
g._panImage = function() {
var p = this._getTranslateX();
this._wrapperEl.style[c.transform] = "translate3d(" + p + "px, 0, 0)"
};
g.onRequestAnimationFrame = function() {
if (this.state === h.STATE.ZOOMED && !this._transformRemoved) {
this._panImage();
requestAnimationFrame(this._boundRaf)
}
};
g.applyIECompatability = function() {
this.element.style.cursor = "pointer"
};
g._calcDistance = function(q, p) {
return Math.sqrt(Math.pow(q[0] - p[0], 2) + Math.pow(q[1] - p[1], 2))
};
b.exports = h
}, {
"../utils/BrowserPrefixed": 686,
"ac-dom-events": 39,
"ac-dom-metrics": 62,
"ac-dom-styles": 93,
"ac-dom-traversal": 111,
"ac-eclipse": "ac-eclipse",
"ac-viewport": 615
}],
674: [function(d, c, h) {
var b = d("ac-dom-traversal/querySelectorAll");
var p = d("ac-dom-styles/setStyle");
var m = d("ac-viewport").Viewport;
var a = d("ac-dom-metrics");
var n = d("ac-console").log;
var g = d("ac-scroll-motion-emitter").ElementScrollMotionEmitter;
var l = d("../utils/BrowserPrefixed");
var f = d("ac-dom-events/addEventListener");
var o = AC.images;
var j = function(q) {
this.el = q;
this.boundFunctions = {
_setElementStyle: this._setElementStyle.bind(this),
_initTransformOrigin: this._initTransformOrigin.bind(this)
};
this._initAnimations();
this._initElementScrollMotionEmitter();
this.elementScrollMotionEmitter.start();
this.handleScroll()
};
var k = j.prototype;
k._initAnimations = function() {
var q = this;
this.animations = [];
this.animationEls = b("[data-scroll-animation]", this.el);
this.animationEls.forEach(function(u, t) {
if (u.hasAttribute("data-scroll-emitter")) {
q.animationEls.splice(t, 1)
}
});
var s = this.el.getAttribute("data-scroll-emitter");
var r = s ? JSON.parse(s) : {};
this.resolve = r.resolve || 0.5;
this.begin = r.begin || 1;
if (this.el.hasAttribute("data-scroll-animation")) {
this.animationEls.push(this.el)
}
this.el.classList.add("show");
f(this.el, "transitionend", function() {
q.el.style[l.transition] = "none"
});
this.animationEls.forEach(function(v, u) {
q.animations[u] = {};
q.animations[u].el = v;
var w = JSON.parse(v.getAttribute("data-scroll-animation"));
if (!w) {
w = {}
}
if (w.offsetX && !w.offsetXStart) {
w.offsetXStart = -0.5 * w.offsetX
}
if (w.offsetY && !w.offsetXStart) {
w.offsetYStart = -0.5 * w.offsetY
}
if (typeof w.offsetY == "string" && w.offsetY.match(/%/)) {
var t = parseInt(w.offsetY.replace("%", "")) / 100;
w.offsetY = t * a.getDimensions(v).height
}
q.animations[u].data = w;
q.animations[u].key = q._getImageMapKey(v)
});
this.animations.forEach(this.boundFunctions._initTransformOrigin);
this.setScale(m.getBreakpoint().name)
};
k._initElementScrollMotionEmitter = function() {
var s = m.clientHeight();
var r = (typeof this.begin == "string" && this.begin.match(/px/)) ? parseInt(this.begin.replace("px", "")) : -s * this.begin;
var q = (typeof this.resolve == "string" && this.resolve.match(/px/)) ? parseInt(this.resolve.replace("px", "")) : -s * this.resolve;
this.elementScrollMotionEmitter = new g(this.el, {
smooth: true,
overrideScroll: true,
offsetTop: r,
offsetBottom: q,
friction: 12
})
};
k._initTransformOrigin = function(r) {
if (r.data.origin == "false") {
return
}
var q = m.clientWidth() / 2 - r.el.getBoundingClientRect().left;
p(r.el, {
"transform-origin": q + "px 50%"
})
};
k._getImageMapKey = function(v) {
var u = v.classList;
var t;
if (!this.page) {
var w = window.location.pathname.split("/");
this.page = w[w.length - 2];
if (this.page == "iphone-6s") {
this.page = "overview"
}
}
for (var s = 0, r = u.length; s < r; s++) {
var q = u[s];
if (q.match(/image-/)) {
t = q;
break
}
}
if (t) {
return this.page + "_" + t.replace("image-", "").replace("-", "_")
}
};
k._lerp = function(r, q) {
return r * (1 - this._progress) + q * this._progress
};
k.handleScroll = function() {
this.elementScrollMotionEmitter.handleScroll()
};
k.setScale = function(q) {
var t, r, s;
this.animations.forEach(function(u) {
if (u.data[q + "Scale"]) {
u.scaleMultiplier = u.data[q + "Scale"]
} else {
u.scaleMultiplier = 1
}
if (u.data[q]) {
u.translationMultiplier = u.data[q];
return
}
t = o[u.key];
if (!t || !t[q]) {
u.translationMultiplier = 1;
if (!t) {
n(u.key)
}
} else {
r = parseInt(t[q].width.replace("px", ""));
s = parseInt(t.large.width.replace("px", ""));
u.translationMultiplier = r / s
}
})
};
k.setupEvents = function() {
this.elementScrollMotionEmitter.on("draw", this.update.bind(this))
};
k.teardownEvents = function() {
this.elementScrollMotionEmitter.off()
};
k._setElementStyle = function(t, B) {
var z = t.data.offsetY * t.translationMultiplier;
var C = t.data.offsetX * t.translationMultiplier;
this.animations[B].progress = this._progress;
this.animations[B].transY = t.data.offsetY ? this._lerp(-0.5 * z, 0.5 * z) : 0;
this.animations[B].transX = t.data.offsetX ? this._lerp(t.data.offsetXStart, t.data.offsetXStart + C) : 0;
this.animations[B].rotate = t.data.rotate ? this._lerp(0, t.data.rotate) : 0;
var v = this.animations[B].transY;
var x = this.animations[B].transX;
var u = this.animations[B].rotate;
var q = t.data.scaleStart || 1;
var w = t.data.scale || 1;
var r = (q + w) / 2;
q = (q - r) * t.scaleMultiplier + r;
w = (w - r) * t.scaleMultiplier + r;
var A = t.data.opacityStart ? t.data.opacityStart : 1;
var s = t.data.scale ? this._lerp(q, w) : 1;
var y = t.data.opacity ? this._lerp(A, t.data.opacity) : 1;
t.el.style[l.transform] = "scale(" + s + "," + s + ") translate3d(" + x + "px," + v + "px,0) rotate(" + u + "deg)";
t.el.style.opacity = y
};
k.update = function(r) {
var q = this;
this._progress = r.progress;
this.animations.forEach(this.boundFunctions._setElementStyle)
};
k.destroy = function() {
this.teardownEvents();
this.elementScrollMotionEmitter.destroy();
this.elementScrollMotionEmitter = null
};
c.exports = j
}, {
"../utils/BrowserPrefixed": 686,
"ac-console": 31,
"ac-dom-events/addEventListener": 37,
"ac-dom-metrics": 62,
"ac-dom-styles/setStyle": 105,
"ac-dom-traversal/querySelectorAll": 121,
"ac-scroll-motion-emitter": 468,
"ac-viewport": 615
}],
675: [function(d, b, g) {
d("ac-polyfills/Object/create");
var m = d("../mediaObject/decorators/GalleryDecorator");
var l = d("ac-dom-emitter").DOMEmitter;
var a = d("ac-dom-traversal/querySelectorAll");
var o = d("ac-dom-traversal/querySelector");
var c = d("../model/EnabledFeatures");
var f = d("./BasicGallerySection");
var n = f.prototype;
var p = d("ac-classlist");
var k = d("ac-solar");
function j(t, s, r) {
f.call(this, t, s, r);
this.outgoingIndex = 0;
this.incomingIndex = 1;
this.animatedIn = false;
this.initialLoad = false;
var u = a("[data-mediaobject]", t);
this._mediaObjects = [];
var q = this;
u.forEach(function(x, w) {
var x = x || "[NO ELEMENT]";
var z = x.getAttribute("data-mediaobject");
z = JSON.parse(z);
var y, v;
v = new m(x, z);
y = v.mediaObj;
q._mediaObjects.push(y)
})
}
var h = j.prototype = Object.create(f.prototype);
j.prototype.constructor = j;
h.load = function(q) {
if (!q.isDestroyed) {
q.on("loaded", this._onLoad.bind(q));
q.load()
}
};
h._onLoad = function() {
this.enhance()
};
h._willShowSlide = function(q) {
if (q.outgoing) {
this.animatedIn = true;
var s = q.outgoing.id,
u = o('[data-slide-link="' + s + '"]'),
r = q.incoming.id,
t = o('[data-slide-link="' + r + '"]');
this.outgoingIndex = s.substr(s.length - 1) - 1, this.incomingIndex = r.substr(r.length - 1) - 1;
p.remove(document.getElementById(s), "current");
p.add(document.getElementById(r), "current");
if (!this._mediaObjects[this.incomingIndex].isDestroyed) {
if (!c.IS_HANDHELD) {
this._fadeToBeginning(this._mediaObjects[this.outgoingIndex]);
this._mediaObjects[this.incomingIndex].play();
this._hideStartframe(this._mediaObjects[this.incomingIndex])
}
if (this._mediaObjects[this.incomingIndex + 1] && !this._mediaObjects[this.incomingIndex + 1].getLoaded()) {
this.load(this._mediaObjects[this.incomingIndex + 1])
}
}
if (u && t) {
p.remove(u, "current");
p.add(o('[data-slide-link="' + r + '"]'), "current")
}
}
};
h._fadeToBeginning = function(r) {
r.pause();
var s = o(".mediaObject-startframe", r.el);
var q = {};
q.onComplete = function(t) {
r.reset()
};
k.fadeIn(s, 0.7, q)
};
h._hideStartframe = function(q) {
var r = o(".mediaObject-startframe", q.el);
r.style.opacity = 0
};
h._didShowSlide = function(r) {
this.animatedIn = true;
var t = r.outgoing.id,
s = r.incoming.id;
var u = t.substr(t.length - 1) - 1,
q = s.substr(s.length - 1) - 1
};
h.activate = function() {
n.activate.call(this);
if (!this._mediaObjects[this.incomingIndex].isDestroyed) {
if (this.animatedIn && !c.IS_HANDHELD) {
this._mediaObjects[this.incomingIndex].play()
} else {
if (this.initialLoad && !c.IS_HANDHELD) {
this._mediaObjects[this.outgoingIndex].play()
} else {
this.load(this._mediaObjects[this.incomingIndex]);
this.load(this._mediaObjects[this.outgoingIndex]);
this._mediaObjects[this.outgoingIndex].on("enhanced", function() {
this.play()
}.bind(this._mediaObjects[this.outgoingIndex]));
this.initialLoad = true
}
}
}
};
h.deactivate = function() {
n.deactivate.call(this);
if (!this._mediaObjects[this.incomingIndex].isDestroyed) {
this._mediaObjects[this.incomingIndex].reset()
}
};
h.onBreakpoint = function(t, w, s, r) {
if (t.name === "xlarge" || w.name === "xlarge") {
return
}
for (var u = 0, q = this._mediaObjects.length; u < q; u++) {
var v = this._mediaObjects[u];
if (v.isDestroyed) {
return
}
if (!v.getDestroyed() && t.name !== w.name) {
v.destroy();
v.isDestroyed = true
}
}
};
b.exports = j
}, {
"../mediaObject/decorators/GalleryDecorator": 631,
"../model/EnabledFeatures": 634,
"./BasicGallerySection": 677,
"ac-classlist": 12,
"ac-dom-emitter": 35,
"ac-dom-traversal/querySelector": 120,
"ac-dom-traversal/querySelectorAll": 121,
"ac-polyfills/Object/create": 394,
"ac-solar": 509
}],
676: [function(c, b, f) {
c("ac-polyfills/Object/create");
c("ac-polyfills/Element/prototype.classList");
var j = c("ac-console").log;
var a = c("ac-dom-metrics");
var d = c("./../model/DataAttributes"),
k = c("ac-event-emitter-micro").EventEmitterMicro,
l = k.prototype;
function h(o, n, m) {
k.call(this);
this.element = o;
this.trackedElement = n;
this.rafWhenVisible = this.rafWhenVisible || false;
this._index = m;
this._hasAnimatedIn = false;
this.isActive = false;
this.name = this.name || this.element.className;
this._rafId = -1;
this.scrollToPosition = 0;
this.updateScrollToPosition();
this._boundFunctions = {
_boundRaf: this.onRequestAnimationFrame.bind(this)
};
if (this.element.hasAttribute(d.JUMP_SECTION_NAME)) {
var p = this.element.getElementsByTagName("a")[0];
p.addEventListener("click", this._boundFunctions._onClick, false)
}
}
var g = h.prototype = Object.create(k.prototype);
h.prototype.constructor = h;
g.destroy = function() {
this.teardownEvents();
cancelAnimationFrame(this._rafId);
this.trackedElement = null;
this.element = null;
this._boundFunctions = null;
l.destroy.call(this)
};
g.activate = function() {
j("BaseSection::activate " + this.name);
this.element.classList.add("animated");
this.element.classList.add("active");
if (!this._hasAnimatedIn) {
this.animateIn();
this._hasAnimatedIn = true
}
this.isActive = true;
if (!this.rafWhenVisible) {
this._rafId = requestAnimationFrame(this._boundFunctions._boundRaf)
}
};
g.deactivate = function() {
this.element.classList.remove("active");
this.isActive = false;
if (!this.rafWhenVisible) {
cancelAnimationFrame(this._rafId)
}
};
g.animateIn = function() {};
g.onRequestAnimationFrame = function() {
this._rafId = requestAnimationFrame(this._boundFunctions._boundRaf)
};
g.onResize = function(o, n, m) {
this.updateScrollToPosition()
};
g.onBreakpoint = function(o, p, n, m) {};
g.onScroll = function(o, n, m) {};
g.onViewWillAppear = function(n, m) {
if (this.rafWhenVisible) {
this._rafId = requestAnimationFrame(this._boundFunctions._boundRaf)
}
};
g.onViewWillDisappear = function(n, m) {
if (this.rafWhenVisible) {
cancelAnimationFrame(this._rafId)
}
};
g.updateScrollToPosition = function() {
return this.scrollToPosition = a.getPagePosition(this.element).top
};
g.setupEvents = function() {};
g.teardownEvents = function() {};
g.getURL = function() {
return this.element.getAttribute(d.JUMP_SECTION_NAME)
};
g.getName = function() {
if (!this.element.hasAttribute(d.JUMP_SECTION_NAME)) {
return this.element.className.split("")
}
var m = this.getURL();
return m.replace(/-/g, "")
};
b.exports = h
}, {
"./../model/DataAttributes": 633,
"ac-console": 31,
"ac-dom-metrics": 62,
"ac-event-emitter-micro": 217,
"ac-polyfills/Element/prototype.classList": 393,
"ac-polyfills/Object/create": 394
}],
677: [function(c, a, t) {
c("ac-polyfills/Object/create");
var o = c("../model/EnabledFeatures");
var d = c("../utils/BrowserPrefixed");
var r = c("./BaseSection");
var n = r.prototype;
var b = c("ac-dom-traversal/querySelector");
var s = c("ac-dom-traversal/querySelectorAll");
var g = c("ac-dom-nodes/insertFirstChild");
var q = c("ac-dom-nodes/insertAfter");
var m = c("ac-browser");
var p = c("ac-classlist");
var u = c("ac-swipe").Swipe;
var l = c("ac-gallery").SlideGallery;
var f = c("ac-gallery").FadeGallery;
var k = c("../gallery/CenteredTogglenav");
function j(x, w, v) {
r.call(this, x, w, v);
this.init()
}
var h = j.prototype = Object.create(r.prototype);
j.prototype.constructor = j;
h.init = function() {
this.galleryWrapper = b(".ac-gallery", this.element);
this.galleryId = this.galleryWrapper.id;
this.viewfinder = document.getElementById(this.galleryId);
this.galleryContentElements = Array.prototype.slice.call(s(".ac-gallery-content", this.element));
this.triggerClass = this.galleryId + "-trigger";
this.dotnav = b(".dotnav", this.element);
this.dotnavExpected = p.contains(this.galleryWrapper, "ac-gallery-has-dotnav");
this.paddlenav = b(".paddlenav", this.element);
this.paddlenavExpected = p.contains(this.galleryWrapper, "ac-gallery-has-paddlenav");
this.togglenav = b(".togglenav", this.element);
this.togglenavExpected = p.contains(this.galleryWrapper, "ac-gallery-has-togglenav");
this._setGalleryType();
this._boundFunctions = {
_boundRaf: this.onRequestAnimationFrame.bind(this),
_willShowSlide: this._willShowSlide.bind(this),
_didShowSlide: this._didShowSlide.bind(this),
_showNextSlide: function() {
this.gallery.showNext()
}.bind(this),
_showPreviousSlide: function() {
this.gallery.showPrevious()
}.bind(this)
};
if (!this.dotnav && this.dotnavExpected) {
this.dotnav = this._setupDotnav()
}
if (!this.paddlenav && this.paddlenavExpected) {
this.paddlenav = this._setupPaddlenav()
}
if (!this.togglenav && this.togglenavExpected) {
this.togglenav = this._setupTogglenav()
}
this._createGallery();
if (this.togglenav) {
this.centeredTogglenav = new k({
togglenavEl: this.togglenav,
togglenavItemSelector: "." + this.triggerClass
})
}
if (o.IS_HANDHELD && this.galleryType === "slide") {
this.swipeEl = new u(this.galleryWrapper);
this.swipeEl.on(u.SWIPE_LEFT, this._boundFunctions._showNextSlide, false);
this.swipeEl.on(u.SWIPE_RIGHT, this._boundFunctions._showPreviousSlide, false)
}
};
h._setGalleryType = function() {
var v = (m.name === "IE" && m.version <= 8);
if (v) {
p.replace(this.galleryWrapper, "ac-gallery-slide", "ac-gallery-fade")
}
this.galleryType = (p.contains(this.galleryWrapper, "ac-gallery-fade")) ? "fade" : "slide"
};
h._setupDotnav = function() {
var x = document.createElement("nav"),
w = document.createElement("ul");
var v = this;
this.galleryContentElements.forEach(function(z, y) {
w.innerHTML += '<li><a href="#' + v.galleryId + "/show/" + z.id + '" class="dotnav-item ' + v.triggerClass + '">Item ' + (y + 1) + "</a></li>"
});
x.className = "dotnav";
x.setAttribute("aria-hidden", true);
g(w, x);
q(x, this.galleryWrapper);
return x
};
h._setupPaddlenav = function() {
var v = document.createElement("nav");
v.innerHTML += '<a class="paddlenav-arrow paddlenav-arrow-left ' + this.triggerClass + '" href="#' + this.galleryId + '/previous"></a>';
v.innerHTML += '<a class="paddlenav-arrow paddlenav-arrow-right ' + this.triggerClass + '" href="#' + this.galleryId + '/next"></a>';
v.className = "paddlenav";
ac_dom.insertLastChild(v, this.galleryWrapper);
return v
};
h._setupTogglenav = function() {
var x = document.createElement("nav"),
w = document.createElement("ul");
var v = this;
this.galleryContentElements.forEach(function(z, y) {
var A = z.getAttribute("data-slide-title");
w.innerHTML += '<li><a href="#' + v.galleryId + "/show/" + z.id + '" class="togglenav-button ' + v.triggerClass + '">' + A + "</a></li>"
});
x.className = "togglenav gallery-togglenav";
g(w, x);
q(x, this.galleryWrapper);
return x
};
h._willShowSlide = function(v) {
if (v.incoming) {
if (v.outgoing) {
p.add(this.galleryWrapper, "ac-gallery-is-transitioning");
var x = v.outgoing.id,
z = b('[data-slide-link="' + x + '"]');
p.add(document.getElementById(x), "transitioning");
p.remove(document.getElementById(x), "current");
if (z) {
p.add(z, "transitioning");
p.remove(z, "current")
}
}
var w = v.incoming.id,
y = b('[data-slide-link="' + w + '"]');
p.add(document.getElementById(w), "current");
if (y) {
p.add(y, "current")
}
}
if (this.centeredTogglenav) {
this.centeredTogglenav.update()
}
};
h._didShowSlide = function(v) {
p.remove(this.galleryWrapper, "ac-gallery-is-transitioning");
if (v.outgoing) {
var x = v.outgoing.id;
p.remove(document.getElementById(x), "transitioning")
}
var y = v.incoming.attributes.element.getAttribute("data-buylink");
var w = b(".buylink-target", this.element);
if (y && w) {
w.href = y
}
};
h._createGallery = function() {
switch (this.galleryType) {
case "fade":
var v = f.create({
id: this.galleryId,
el: this.viewfinder,
model: this.galleryContentElements,
triggerSelector: "." + this.triggerClass,
easing: "cubic-bezier(.35,.01,.34,1)",
duration: 0.6,
pointer: {
touch: true
}
});
break;
default:
var v = l.create({
el: this.viewfinder,
id: this.galleryId,
slideEl: document.getElementById(this.galleryId + "-slides"),
easing: "cubic-bezier(.35,.01,.34,1)",
model: this.galleryContentElements,
triggerSelector: "." + this.triggerClass,
duration: 0.6,
pointer: {
mouse: true,
touch: (!o.IS_HANDHELD)
}
});
break
}
this.gallery = v
};
h.setupEvents = function() {
this.gallery.on("willShow", this._boundFunctions._willShowSlide);
this.gallery.on("didShow", this._boundFunctions._didShowSlide);
this.gallery.once("ready", this._boundFunctions._willShowSlide)
};
h.teardownEvents = function() {
n.teardownEvents.call(this)
};
h.activate = function() {
n.activate.call(this)
};
h.deactivate = function() {
n.deactivate.call(this)
};
h.animateIn = function() {
n.animateIn.call(this)
};
h.onRequestAnimationFrame = function() {
n.onRequestAnimationFrame.call(this)
};
h.onScroll = function(x, w, v) {
n.onScroll.call(this, x, w, v)
};
h.onResize = function(x, w, v) {
n.onResize.call(this, x, w, v);
if (this.centeredTogglenav) {
this.centeredTogglenav.update()
}
};
h.onBreakpoint = function(x, y, w, v) {
if (this.centeredTogglenav) {
this.centeredTogglenav.update()
}
};
h.onViewWillAppear = function(w, v) {
n.onViewWillAppear.call(this, w, v)
};
h.onViewWillDisappear = function(w, v) {
n.onViewWillDisappear.call(this, w, v)
};
h.destroy = function() {
n.destroy.call(this)
};
a.exports = j
}, {
"../gallery/CenteredTogglenav": 626,
"../model/EnabledFeatures": 634,
"../utils/BrowserPrefixed": 686,
"./BaseSection": 676,
"ac-browser": 1,
"ac-classlist": 12,
"ac-dom-nodes/insertAfter": 76,
"ac-dom-nodes/insertFirstChild": 78,
"ac-dom-traversal/querySelector": 120,
"ac-dom-traversal/querySelectorAll": 121,
"ac-gallery": 320,
"ac-polyfills/Object/create": 394,
"ac-swipe": 519
}],
678: [function(f, d, g) {
f("ac-polyfills/Object/create");
var c = f("ac-dom-metrics");
var p = f("../utils/BrowserPrefixed");
var o = f("./BaseSection");
var q = o.prototype;
var r = f("ac-dom-traversal/querySelector");
var b = f("ac-dom-traversal/querySelectorAll");
var m = f("ac-dom-events/addEventListener");
var a = f("ac-dom-events/removeEventListener");
var s = f("ac-classlist");
var k = f("ac-gallery").FadeGallery;
var l = f("ac-analytics");
var j = l.createBasicObserverSuite();
function n(v, u, t) {
this.name = "ColorPickerGallerySection";
o.call(this, v, u, t);
this.rafWhenVisible = false;
this.galleryWrapper = r(".ac-gallery", this.element);
this.galleryId = this.galleryWrapper.id;
this.galleryShortName = this.galleryWrapper.id.split("-")[2];
this.gallerySlideWrapper = document.getElementById(this.galleryId + "-slides");
this.deviceLinksEle = r("[data-target-type=device]", this.element);
this.deviceLinksAll = Array.prototype.slice.call(b("a.colorselector-link", this.deviceLinksEle));
this.caseLinksEle = r("[data-target-type=case]", this.element);
this.caseLinksAll = Array.prototype.slice.call(b("a.colorselector-link", this.caseLinksEle));
this.prodLink6s = r(".buynow-6s", this.element);
this.prodLink6sPlus = r(".buynow-6s-plus", this.element);
this._textLocalizationFn = this._createTextLocalizationFn();
this._prepGalleryMarkup();
this.gallGalleryElements = Array.prototype.slice.call(b(".ac-gallery-content", this.element));
this.fadeGallery = k.create({
id: this.galleryId,
el: this.galleryWrapper,
model: this.gallGalleryElements,
easing: "ease",
pointer: {
touch: false
}
});
this._boundFunctions._handleDidShow = function(w) {
this._updateSelectorLinks(this._getColorGalleryData(w));
this._setSlideVisibilityClassification(w, "didShow")
}.bind(this);
this._boundFunctions._handleWillShow = function(w) {
this._updateSelectorLinks(this._getColorGalleryData(w));
this._setSlideVisibilityClassification(w, "willShow")
}.bind(this);
this.fadeGallery.on("didShow", this._boundFunctions._handleDidShow);
this.fadeGallery.on("willShow", this._boundFunctions._handleWillShow);
this.fadeGallery.once("ready", this._boundFunctions._handleWillShow)
}
var h = n.prototype = Object.create(o.prototype);
n.prototype.constructor = n;
h._setSlideVisibilityClassification = function(t, u) {
switch (u) {
case "didShow":
s.remove(document.getElementById(t.outgoing.id), "current");
break;
case "willShow":
s.add(document.getElementById(t.incoming.id), "current");
break
}
};
h._getLinkToggleElement = function(u, v) {
var t = null;
Array.prototype.slice.call(b("[data-target-type=" + u + "] a[data-color-name] ", this.element)).forEach(function(w) {
if (r(".colorselector-caption", w).getAttribute("data-color-name") === v) {
t = w
}
});
return t
};
h._updateSelectorLinks = function(v) {
var t = r("a.current", this.deviceLinksEle),
u = r("a.current", this.caseLinksEle);
if (t && t.getAttribute("data-color-name") !== v.deviceColor) {
s.remove(t, "current")
}
if (u && u.getAttribute("data-color-name") !== v.caseColor) {
s.remove(u, "current");
this._updateProdLinks(v)
}
s.add(this._getLinkToggleElement("device", v.deviceColor), "current");
s.add(this._getLinkToggleElement("case", v.caseColor), "current")
};
h._getColorClickData = function(u) {
var F = r(".colorselector-caption", u).getAttribute("data-color-name"),
y = u.getAttribute("data-color-name"),
t = u.parentNode.parentNode.getAttribute("data-target-type"),
v = (t == "case") ? "device" : "case",
D = r("[data-target-type=" + v + "] a.current .colorselector-caption", this.element).getAttribute("data-color-name"),
C = r("[data-target-type=" + v + "] a.current", this.element).getAttribute("data-color-name"),
E = (t == "case") ? F : D,
B = (t == "case") ? y : C,
x = (t == "device") ? F : D,
z = (t == "device") ? y : C,
w = (u.href && u.href.indexOf("/shop/goto/product/") != -1) ? u.href : undefined,
A = (w && u.getAttribute("data-url-plus")) ? w.substring(0, w.lastIndexOf("/") + 1) + u.getAttribute("data-url-plus") : undefined;
return {
caseLinkUrl6s: w,
caseLinkUrl6sPlus: A,
isCurrent: s.contains(u, "current"),
thisColorTarget: u,
targetType: t,
caseColor: E,
caseColorLocal: B,
deviceColor: x,
deviceColorLocal: z,
galleryTarget: [this.galleryId, "view", x.split(/\s+/).join(""), E.split(/\s+/).join("")].join("-").toLowerCase()
}
};
h._getColorGalleryData = function(u) {
var v = this._getLinkToggleElement("case", r(".case-color-name", document.getElementById(u.incoming.id)).getAttribute("data-color-name-case"));
if (v) {
var w = v.href;
var t = (w && v.getAttribute("data-url-plus")) ? w.substring(0, w.lastIndexOf("/") + 1) + v.getAttribute("data-url-plus") : null
}
return {
caseLinkUrl6s: w,
caseLinkUrl6sPlus: t,
isCurrent: false,
thisColorTarget: null,
targetType: null,
caseColor: document.getElementById(u.incoming.id).getAttribute("data-color-name-case"),
caseColorLocal: r(".case-color-name", document.getElementById(u.incoming.id)).innerHTML,
deviceColor: document.getElementById(u.incoming.id).getAttribute("data-color-name-device"),
deviceColorLocal: r(".device-color-name", document.getElementById(u.incoming.id)).innerHTML,
galleryTarget: u.incoming.id
}
};
h._updateProdLinks = function(t) {
if (this.prodLink6s && t.caseLinkUrl6s) {
this.prodLink6s.href = t.caseLinkUrl6s
}
if (this.prodLink6sPlus && t.caseLinkUrl6sPlus) {
this.prodLink6sPlus.href = t.caseLinkUrl6sPlus
}
};
h._handleColorClick = function(t) {
t.preventDefault();
var v = t.currentTarget;
var u = this._getColorClickData(v);
if (!u.isCurrent) {
j.click.track(t, (v || null));
this._updateSelectorLinks(u);
this.fadeGallery.show(u.galleryTarget);
this._updateProdLinks(u)
}
};
h._colorLinkDataAttribute = function(w, u) {
var v = r(".colorselector-caption", w);
if (v) {
var t = (u || !v.getAttribute("data-color-name")) ? v.innerHTML.toString() : v.getAttribute("data-color-name");
w.setAttribute("data-color-name", t);
return w.getAttribute("data-color-name")
}
return ""
};
h._prepGalleryMarkup = function() {
var t = this;
t.deviceLinksAll.forEach(function(w) {
var v = t._colorLinkDataAttribute(w),
u = t._colorLinkDataAttribute(w, true);
t.caseLinksAll.forEach(function(D) {
var B = t._colorLinkDataAttribute(D),
x = t._colorLinkDataAttribute(D, true),
C = [t.galleryId, "view", v, B].join("-").split(/\s+/).join("").toLowerCase();
if (!document.getElementById(C)) {
var y = document.createElement("figure");
y.setAttribute("data-color-name-device", v);
y.setAttribute("data-color-name-case", B);
y.id = C;
var E = '<div class="small-text-right caption caption-text">' + t._textLocalizationFn(u, x) + "</div>";
var F = v.split(/\s+/).join("").toLowerCase(),
z = B.split(/\s+/).join("").toLowerCase(),
A = [t.galleryShortName, F, z].join("_");
y.className = "image-device-and-case ac-gallery-content " + A;
y.innerHTML = E;
t.gallerySlideWrapper.appendChild(y)
} else {
var y = document.getElementById(C);
y.setAttribute("data-color-name-device", v);
y.setAttribute("data-color-name-case", B)
}
})
})
};
h._createTextLocalizationFn = function() {
var u = r(".product-name", this.element),
v = u.innerHTML;
var w = r(".color-description", this.element),
x = w.innerHTML.split(/>[^<]+<\//).join("><!--COLORNAME--></"),
t = x.split("<!--COLORNAME-->");
return function(y, A) {
var z = '<p class="product-name">' + v + "</p>";
z += '<p class="product-name">' + t[0] + y + t[1] + A + t[2] + "</p>";
return z
}
};
h.setupEvents = function() {
var t = this;
this.colorTargets = Array.prototype.slice.call(b("a.colorselector-link", this.element));
this._boundFunctions._handleColorClick = this._handleColorClick.bind(this);
this.colorTargets.forEach(function(u) {
m(u, "click", t._boundFunctions._handleColorClick, false)
});
this.fadeGallery.on("didShow", this._boundFunctions._handleDidShow)
};
h.teardownEvents = function() {
var t = this;
this.colorTargets.forEach(function(u) {
a(u, "click", t._boundFunctions._handleColorClick)
});
q.teardownEvents.call(this)
};
h.activate = function() {
q.activate.call(this)
};
h.deactivate = function() {
q.deactivate.call(this)
};
h.animateIn = function() {
q.animateIn.call(this)
};
h.onRequestAnimationFrame = function() {
q.onRequestAnimationFrame.call(this)
};
h.onScroll = function(v, u, t) {
q.onScroll.call(this, v, u, t)
};
h.onResize = function(v, u, t) {
q.onResize.call(this, v, u, t)
};
h.onBreakpoint = function(v, w, u, t) {};
h.onViewWillAppear = function(u, t) {
q.onViewWillAppear.call(this, u, t)
};
h.onViewWillDisappear = function(u, t) {
q.onViewWillDisappear.call(this, u, t)
};
h.destroy = function() {
q.destroy.call(this)
};
d.exports = n
}, {
"../utils/BrowserPrefixed": 686,
"./BaseSection": 676,
"ac-analytics": "ac-analytics",
"ac-classlist": 12,
"ac-dom-events/addEventListener": 37,
"ac-dom-events/removeEventListener": 45,
"ac-dom-metrics": 62,
"ac-dom-traversal/querySelector": 120,
"ac-dom-traversal/querySelectorAll": 121,
"ac-gallery": 320,
"ac-polyfills/Object/create": 394
}],
679: [function(h, g, l) {
h("ac-polyfills/Object/create");
var c = h("ac-dom-metrics");
var o = h("../utils/BrowserPrefixed");
var a = h("../engagementAnimation/EngagementAnimation");
var f = h("ac-dom-traversal/querySelectorAll");
var b = h("ac-element-engagement").ElementEngagement;
var k = h("ac-viewport").Viewport;
var d = h("../utils/animationCapable");
var n = h("./BaseSection");
var p = n.prototype;
function j(u, t, s) {
this.name = "EngagementAnimationSection";
n.call(this, u, t, s);
var v = k.getBreakpoint().name;
if (v === "xlarge") {
v = "large"
}
this.animations = [];
var r = f("[data-animate-in]");
var q = this;
if (d) {
this._animationElementTracker = new b();
r.forEach(function(x, w) {
q.animations[w] = new a(x, v, {
elementEngagement: q._animationElementTracker
})
})
}
}
var m = j.prototype = Object.create(n.prototype);
j.prototype.constructor = j;
m.setupEvents = function() {};
m.teardownEvents = function() {
p.teardownEvents.call(this)
};
m.activate = function() {
p.activate.call(this);
this._animationElementTracker.start()
};
m.deactivate = function() {
p.deactivate.call(this)
};
m.animateIn = function() {
p.animateIn.call(this)
};
m.onRequestAnimationFrame = function() {
p.onRequestAnimationFrame.call(this)
};
m.onScroll = function(s, r, q) {
p.onScroll.call(this, s, r, q)
};
m.onResize = function(s, r, q) {
p.onResize.call(this, s, r, q)
};
m.onBreakpoint = function(t, u, s, q) {
var r = this;
if (t.name === "xlarge" || u.name === "xlarge") {
return
}
this.animations.forEach(function(w, v) {
w.updateAnimationOnBreakpoint(t.name)
})
};
m.onViewWillAppear = function(r, q) {
p.onViewWillAppear.call(this, r, q)
};
m.onViewWillDisappear = function(r, q) {
p.onViewWillDisappear.call(this, r, q)
};
m.destroy = function() {
p.destroy.call(this)
};
g.exports = j
}, {
"../engagementAnimation/EngagementAnimation": 624,
"../utils/BrowserPrefixed": 686,
"../utils/animationCapable": 687,
"./BaseSection": 676,
"ac-dom-metrics": 62,
"ac-dom-traversal/querySelectorAll": 121,
"ac-element-engagement": 145,
"ac-polyfills/Object/create": 394,
"ac-viewport": 615
}],
680: [function(c, b, d) {
c("ac-polyfills/Object/create");
var a = c("ac-dom-metrics");
var h = c("../utils/BrowserPrefixed");
var g = c("./BaseSection");
var j = g.prototype;
function k(n, m, l) {
this.name = "FadeInHeroSection";
g.call(this, n, m, l);
this.rafWhenVisible = false;
this.element.classList.add("reveal")
}
var f = k.prototype = Object.create(g.prototype);
k.prototype.constructor = k;
f.setupEvents = function() {};
f.teardownEvents = function() {
j.teardownEvents.call(this)
};
f.activate = function() {
j.activate.call(this)
};
f.deactivate = function() {
j.deactivate.call(this)
};
f.animateIn = function() {
j.animateIn.call(this)
};
f.onRequestAnimationFrame = function() {
j.onRequestAnimationFrame.call(this)
};
f.onScroll = function(n, m, l) {
j.onScroll.call(this, n, m, l)
};
f.onResize = function(n, m, l) {
j.onResize.call(this, n, m, l)
};
f.onBreakpoint = function(n, o, m, l) {};
f.onViewWillAppear = function(m, l) {
j.onViewWillAppear.call(this, m, l)
};
f.onViewWillDisappear = function(m, l) {
j.onViewWillDisappear.call(this, m, l)
};
f.destroy = function() {
j.destroy.call(this)
};
b.exports = k
}, {
"../utils/BrowserPrefixed": 686,
"./BaseSection": 676,
"ac-dom-metrics": 62,
"ac-polyfills/Object/create": 394
}],
681: [function(h, c, t) {
h("ac-polyfills/Object/create");
var j = h("../mediaObject/decorators/BasicDecorator");
var r = h("../mediaObject/decorators/AutoplayDecorator");
var f = h("../mediaObject/decorators/ReplayDecorator");
var o = h("../model/EnabledFeatures");
var p = h("../pages/overview/OverviewStatusProxy");
var b = h("ac-dom-events");
var g = h("ac-dom-emitter").DOMEmitter;
var m = h("ac-dom-traversal").querySelectorAll;
var d = h("ac-dom-traversal").querySelector;
var q = h("ac-viewport").Viewport;
var a = h("ac-element-tracker").ElementTracker;
var u = h("ac-classlist");
var s = h("./BaseSection");
var n = s.prototype;
function k(x, w, v) {
s.call(this, x, w, v);
var z = m("[data-mediaobject]", x);
this.mediaObjectContainers = z;
this._mediaObjectElementTracker = new a(null, {
autoStart: false
});
this._mediaObjects = [];
this._boundOnInit = this._init.bind(this);
var y = d(".page-overview", document.documentElement);
if (this.mediaObjectContainers) {
if (y) {
if (p.ready) {
this._boundOnInit()
} else {
p.on("ready", this._boundOnInit)
}
} else {
this._boundOnInit()
}
}
}
var l = k.prototype = Object.create(s.prototype);
k.prototype.constructor = k;
l.mediaObjectsVisibleClass = "mediaObjects-visible";
l._init = function() {
this.mediaObjectContainers.forEach(function(y, x) {
var y = y || "[NO ELEMENT]";
var A = y.getAttribute("data-mediaobject");
A = JSON.parse(A);
if (!this.shouldBeStatic(A)) {
var w = this._mediaObjectElementTracker.addElement(y);
var z, v;
if (A.decorator === "replay") {
v = new f(y, w, A);
z = v.mediaObj;
z.decorator = A.decorator
} else {
if (A.decorator === "autoplay") {
v = new r(y, w, A);
z = v.mediaObj;
z.decorator = A.decorator
} else {
v = new j(y, w, A);
z = v.mediaObj;
z.decorator = "basic"
}
}
if (A.name === "overview/3dtouch") {
v.shouldEnhance = false
}
this._mediaObjects.push(z);
this._mediaObjectElementTracker.refreshElementState(w)
}
}.bind(this))
};
l.onBreakpoint = function(y, B, x, w) {
if (y.name === "xlarge" || B.name === "xlarge") {
return
}
if (this.mediaObjectContainers) {
for (var z = 0, v = this._mediaObjects.length; z < v; z++) {
var A = this._mediaObjects[z];
if (A.isDestroyed) {
return
}
if (!A.getDestroyed() && y.name !== B.name) {
A.destroy();
A.isDestroyed = true
}
}
}
};
l.shouldBeStatic = function(v) {
if (v["static"] === q.getBreakpoint().name) {
return true
} else {
if (v["static"] === "touch" && o.TOUCH) {
return true
} else {
return false
}
}
};
l.activate = function() {
n.activate.call(this)
};
l.deactivate = function() {
n.activate.call(this)
};
l.teardownEvents = function() {
n.teardownEvents.call(this)
};
l.onScroll = function(x, w, v) {
n.onScroll.call(this, x, w, v)
};
l.onResize = function(x, w, v) {
n.onResize.call(this, x, w, v)
};
l.animateIn = function() {
n.animateIn.call(this)
};
l.onViewWillAppear = function(w, v) {
n.onViewWillAppear.call(this, w, v);
this._mediaObjects.forEach(function(x) {
if (!x.isDestroyed && !x.getEnhanced()) {
x.trigger("shouldenhance")
}
});
if (!p.ready && p.overviewSection) {
p.overviewSection.triggerAllClassNameFallback()
}
if (this.mediaObjectContainers) {
this._mediaObjectElementTracker.start()
}
if (this.mediaObjectContainers) {
u.add(this.element, this.mediaObjectsVisibleClass)
}
};
l.onViewWillDisappear = function(w, v) {
n.onViewWillDisappear.call(this, w, v);
if (this.mediaObjectContainers) {
u.remove(this.element, this.mediaObjectsVisibleClass)
}
};
l.destroy = function() {
n.destroy.call(this)
};
c.exports = k
}, {
"../mediaObject/decorators/AutoplayDecorator": 629,
"../mediaObject/decorators/BasicDecorator": 630,
"../mediaObject/decorators/ReplayDecorator": 632,
"../model/EnabledFeatures": 634,
"../pages/overview/OverviewStatusProxy": 654,
"./BaseSection": 676,
"ac-classlist": 12,
"ac-dom-emitter": 35,
"ac-dom-events": 39,
"ac-dom-traversal": 111,
"ac-element-tracker": 214,
"ac-polyfills/Object/create": 394,
"ac-viewport": 615
}],
682: [function(c, b, f) {
c("ac-polyfills/Object/create");
var a = c("ac-dom-metrics");
var l = c("../utils/BrowserPrefixed");
var h = c("../panorama/PanoramasController");
var d = c("ac-feature");
var j = c("ac-browser");
var k = c("./BaseSection");
var n = k.prototype;
function m(q, p, o) {
this.name = "PanoramaSection";
k.call(this, q, p, o);
if ((j.IE && j.IE.documentMode < 9)) {
return
}
this.panoramasController = new h();
this.rafWhenVisible = false
}
var g = m.prototype = Object.create(k.prototype);
m.prototype.constructor = m;
g.setupEvents = function() {};
g.teardownEvents = function() {
n.teardownEvents.call(this)
};
g.activate = function() {
n.activate.call(this)
};
g.deactivate = function() {
n.deactivate.call(this)
};
g.animateIn = function() {
n.animateIn.call(this)
};
g.onRequestAnimationFrame = function() {
n.onRequestAnimationFrame.call(this)
};
g.onScroll = function(q, p, o) {
n.onScroll.call(this, q, p, o)
};
g.onResize = function(q, p, o) {
n.onResize.call(this, q, p, o);
this.panoramasController.boundOnResize()
};
g.onBreakpoint = function(q, r, p, o) {
this.panoramasController.setBreakpoint(q)
};
g.onViewWillAppear = function(p, o) {
n.onViewWillAppear.call(this, p, o)
};
g.onViewWillDisappear = function(p, o) {
n.onViewWillDisappear.call(this, p, o)
};
g.destroy = function() {
n.destroy.call(this)
};
b.exports = m
}, {
"../panorama/PanoramasController": 672,
"../utils/BrowserPrefixed": 686,
"./BaseSection": 676,
"ac-browser": 1,
"ac-dom-metrics": 62,
"ac-feature": 230,
"ac-polyfills/Object/create": 394
}],
683: [function(c, a, g) {
var l = c("./ScrollAnimationSection");
var n = l.prototype;
var b = c("../model/EnabledFeatures");
var d = c("../ElementDistanceCalculator");
var h = c("ac-dom-traversal/querySelector");
var f = c("ac-object");
var m = c("ac-viewport").Viewport;
function k(q, p, o) {
this.name = "ParallaxWebGLSection - " + (q.querySelector("h1") || q.querySelector("h2")).innerText;
l.call(this, q, p, o);
this._didInit = false;
this._hasThree = false;
if (!b.WEB_GL) {
return
}
this.initializeTargets();
this._initializeWebGLEffects();
m.on("breakpoint", this._handleBreakpoint.bind(this))
}
var j = k.prototype = f.create(l.prototype);
j.initializeTargets = function() {};
j._initializeWebGLEffects = function() {
this.distanceCalculator = new d({
els: this.devices
});
this.effects = {};
if (!!window.THREE) {
this._onThreeReady();
return
}
var o = setInterval(function() {
if (!!window.THREE) {
clearInterval(o);
this._onThreeReady()
}
}.bind(this), 200)
};
j._getScrollAnimationByKey = function(o) {
return this.scrollAnimations[0].animations[this.animationKeys[o]]
};
j._onThreeReady = function() {
var p, o;
for (p in this.devices) {
if (this.devices.hasOwnProperty(p)) {
o = this.effectsObj[p];
if (o.length > 0) {
this.effects[p] = [];
o.forEach(function(r, q) {
var s = new q(this, r);
s.initialize();
this.effects[r].push(s);
this.devices[r].appendChild(s.el);
s.setSize()
}.bind(this, p))
}
}
}
this._didInit = true
};
j._handleBreakpoint = function() {
if (this.distanceCalculator) {
this.distanceCalculator.initializeElements()
}
};
j.activate = function() {
n.activate.call(this)
};
j.deactivate = function() {
n.deactivate.call(this)
};
j.animateIn = function() {
n.animateIn.call(this)
};
j.onRequestAnimationFrame = function() {
n.onRequestAnimationFrame.call(this);
return;
if (!this._didInit) {
return
}
return;
this.distanceCalculator.parallaxOffsets = {};
var q;
for (q in this.animationKeys) {
if (this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment