Skip to content

Instantly share code, notes, and snippets.

@cxspxr
Created November 12, 2018 13:51
Show Gist options
  • Save cxspxr/cb6e57007064b4388e721b3b3880ea27 to your computer and use it in GitHub Desktop.
Save cxspxr/cb6e57007064b4388e721b3b3880ea27 to your computer and use it in GitHub Desktop.
unminified lipscore
Picked up JAVA_TOOL_OPTIONS: -Xmx671m - XX: CICompilerCount = 2 - Dfile.encoding = UTF - 8
/*
jQuery JavaScript Library v2.1.0-pre -ajax/script,-ajax/jsonp,-css,-css/addGetHookIf,-css/curCSS,-css/defaultDisplay,-css/hiddenVisibleSelectors,-css/support,-css/swap,-css/var/cssExpand,-css/var/getStyles,-css/var/isHidden,-css/var/rmargin,-css/var/rnumnonpx,-effects,-effects/Tween,-effects/animatedSelector,-dimensions,-offset,-deprecated,-event/alias,-event,-event/support,-wrap,-exports/amd,-core/ready
http://jquery.com/
Includes Sizzle.js
http://sizzlejs.com/
Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors
Released under the MIT license
http://jquery.org/license
Date: 2013-12-05T03:19Z
*/
var O, aa, S;
S = document.createElement("link");
S.href = "https://static.lipscore.com/assets/lipscore-v1.css";
S.rel = "stylesheet";
O = document.getElementsByTagName("head")[0];
(aa = O.getElementsByTagName("link")[0]) ? O.insertBefore(S, aa): O.appendChild(S);
this.LipscoreVanillaEvent = function() {
function a() {}
a.addListener = function(a, b, c) {
return a.addEventListener ? a.addEventListener(b, c) : a.attachEvent("on" + b, function() {
return c.call(a)
})
};
a.trigger = function(a, b, c) {
null == c && (c = {});
if ("function" === typeof window.CustomEvent) var e = new CustomEvent(b, c);
else e = document.createEvent("CustomEvent"), e.initCustomEvent(b, !0, !0, c);
return a.dispatchEvent(e)
};
return a
}();
(function() {
var a = [].indexOf || function(b) {
for (var c = 0, a = this.length; c < a; c++)
if (c in this && this[c] === b) return c;
return -1
};
var d = function() {
function b() {
this.xg();
this.Ce = this.oa = !1;
this.callbacks = {}
}
b.prototype.init = function(c) {
this.appId = c.apiKey;
this.Og = c["autoPurchase?"] ? c.autoPurchase : !0;
this.jh = c["expandable?"] ? c.expandable : !0;
return this.De = c.autoAuth ? c.autoAuth : !1
};
b.prototype.apiKey = function() {
return this.appId
};
b.prototype.isAutoPurchase = function() {
return this.Og
};
b.prototype.isExpandable =
function() {
return this.jh
};
b.prototype.isInitialized = function() {
return this.oa
};
b.prototype.isInitializationStarted = function() {
return this.Ce
};
b.prototype.initWidgets = function() {
return this.isInitialized() ? lipscore.xd.get() : lipscore.yd.init()
};
b.prototype.on = function(c, b) {
return this.callbacks[c] = b
};
b.prototype.off = function(c) {
return this.on(c, null)
};
b.prototype.isLoggedIn = function() {
return this.isInitialized() && lipscore.ba.get().sa
};
b.prototype.getLoginPopoverBlock = function() {
var c;
if (c = lipscore.ka.get()) return c.f()
};
b.prototype.xg = function() {
this.gb = 5;
this.Ze = "brand";
this.dd = "#e92631";
this.af = "compact";
this.Ye = "1-star";
this.ke = {};
this.ie = this.xe = this.Ec = !1;
this.Yc = this.Le = ""
};
b.prototype.vc = function(c) {
var b;
this.gb = "10-stars" === c.rating_type ? 10 : 5;
this.Ze = c.rating_star_type;
this.dd = c.rating_star_color;
this.af = c.rating_widget_type;
this.Ye = c.rating_small_type;
this.Ec = c.cancelled;
this.xe = c.hide_widgets;
this.ie = c.enable_heatmap;
this.Le = parseInt(c.min_visible_votes || 0, 10);
this.hh = c.enable_review_modal;
this.Yc = c.name ||
"";
var a = c.features;
var d = [];
var h = 0;
for (b = a.length; h < b; h++) c = a[h], d.push(this.ke[c] = 1)
};
b.prototype.vg = function() {
this.oa = !0;
return this.Ce = !1
};
b.prototype.wg = function() {
window.LipscoreVanillaEvent.trigger(document, "lipscore-created")
};
b.prototype.na = function(c, b) {
if (c = this.callbacks[c]) return c(b)
};
b.prototype.rb = function() {
return 10 === this.gb
};
b.prototype.yg = function() {
return "1-star" === this.Ye
};
b.prototype.wc = function() {
return "compact" === this.af
};
b.prototype.Pd = function(c) {
return null != this.ke[c]
};
b.prototype.qb = function() {
var c;
return c = this.appId, 0 <= a.call(lipscore.j.ni(), c)
};
b.prototype.Od = function() {
return 0 <= lipscore.Pg.indexOf(this.appId.toLowerCase())
};
b.prototype.Nd = function() {
if (null != window.lipscoreIframeResizeHandler) return window.lipscoreIframeResizeHandler()
};
return b
}();
window.lipscore = new d
}).call(this);
(function(a) {
function d(k, b) {
if (k === b) return V = !0, 0;
var a = b.compareDocumentPosition && k.compareDocumentPosition && k.compareDocumentPosition(b);
return a ? a & 1 ? k === w || c.contains(w, k) ? -1 : b === w || c.contains(w, b) ? 1 : 0 : a & 4 ? -1 : 1 : k.compareDocumentPosition ? -1 : 1
}
function b(c, b) {
return b.toUpperCase()
}
function c(k, b) {
return new c.fn.init(k, b)
}
function e(k) {
var b = k.length,
a = c.type(k);
return "function" === a || c.isWindow(k) ? !1 : 1 === k.nodeType && b ? !0 : "array" === a || 0 === b || "number" === typeof b && 0 < b && b - 1 in k
}
function f(k, b, a) {
if (c.isFunction(b)) return c.grep(k,
function(c, k) {
return !!b.call(c, k, c) !== a
});
if (b.nodeType) return c.grep(k, function(c) {
return c === b !== a
});
if ("string" === typeof b) {
if (ua.test(b)) return c.filter(b, k, a);
b = c.filter(b, k)
}
return c.grep(k, function(c) {
return 0 <= T.call(b, c) !== a
})
}
function g(c, b) {
for (;
(c = c[b]) && 1 !== c.nodeType;);
return c
}
function h(k) {
var b = ca[k] = {};
c.each(k.match(K) || [], function(c, k) {
b[k] = !0
});
return b
}
function l() {
Object.defineProperty(this.cache = {}, 0, {
get: function() {
return {}
}
});
this.expando = c.expando + Math.random()
}
function m(k,
b, a) {
if (void 0 === a && 1 === k.nodeType)
if (a = "data-" + b.replace(va, "-$1").toLowerCase(), a = k.getAttribute(a), "string" === typeof a) {
try {
a = "true" === a ? !0 : "false" === a ? !1 : "null" === a ? null : +a + "" === a ? +a : wa.test(a) ? c.parseJSON(a) : a
} catch (L) {}
B.set(k, b, a)
} else a = void 0;
return a
}
function p(k, b) {
return c.nodeName(k, "table") && c.nodeName(11 !== b.nodeType ? b : b.firstChild, "tr") ? k.getElementsByTagName("tbody")[0] || k.appendChild(k.ownerDocument.createElement("tbody")) : k
}
function q(c) {
c.type = (null !== c.getAttribute("type")) + "/" +
c.type;
return c
}
function D(c) {
var k = xa.exec(c.type);
k ? c.type = k[1] : c.removeAttribute("type");
return c
}
function t(c, b) {
for (var k = 0, a = c.length; k < a; k++) x.set(c[k], "globalEval", !b || x.get(b[k], "globalEval"))
}
function z(k, b) {
var a, e;
if (1 === b.nodeType) {
if (x.hasData(k)) {
var d = x.ra(k);
var r = x.set(b, d);
if (d = d.je)
for (e in delete r.handle, r.je = {}, d)
for (r = 0, a = d[e].length; r < a; r++) c.event.add(b, e, d[e][r])
}
B.hasData(k) && (k = B.ra(k), k = c.extend({}, k), B.set(b, k))
}
}
function n(k, b) {
var a = k.getElementsByTagName ? k.getElementsByTagName(b ||
"*") : k.querySelectorAll ? k.querySelectorAll(b || "*") : [];
return void 0 === b || b && c.nodeName(k, b) ? c.merge([k], a) : a
}
function v(b) {
return function(k, a) {
"string" !== typeof k && (a = k, k = "*");
var e = 0,
d = k.toLowerCase().match(K) || [];
if (c.isFunction(a))
for (; k = d[e++];) "+" === k[0] ? (k = k.slice(1) || "*", (b[k] = b[k] || []).unshift(a)) : (b[k] = b[k] || []).push(a)
}
}
function y(k, b, a, e) {
function d(g) {
var E;
r[g] = !0;
c.each(k[g] || [], function(c, k) {
c = k(b, a, e);
if ("string" === typeof c && !f && !r[c]) return b.ya.unshift(c), d(c), !1;
if (f) return !(E =
c)
});
return E
}
var r = {},
f = k === W;
return d(b.ya[0]) || !r["*"] && d("*")
}
function u(b, a) {
var k, e, d = c.ajaxSettings.flatOptions || {};
for (k in a) void 0 !== a[k] && ((d[k] ? b : e || (e = {}))[k] = a[k]);
e && c.extend(!0, b, e);
return b
}
function C(b, a, e, d) {
var k;
if (c.isArray(a)) c.each(a, function(c, k) {
e || ya.test(b) ? d(b, k) : C(b + "[" + ("object" === typeof k ? c : "") + "]", k, e, d)
});
else if (e || "object" !== c.type(a)) d(b, a);
else
for (k in a) C(b + "[" + k + "]", a[k], e, d)
}
var A = [],
F = A.slice,
da = A.concat,
X = A.push,
T = A.indexOf,
U = {},
za = U.toString,
Aa = U.hasOwnProperty,
Ba = "".trim,
G = {},
w = a.document,
Ca = a.jQuery,
Da = a.$,
Ea = /^-ms-/,
Fa = /-([\da-z])/gi;
c.fn = c.prototype = {
jquery: "2.1.0-pre -ajax/script,-ajax/jsonp,-css,-css/addGetHookIf,-css/curCSS,-css/defaultDisplay,-css/hiddenVisibleSelectors,-css/support,-css/swap,-css/var/cssExpand,-css/var/getStyles,-css/var/isHidden,-css/var/rmargin,-css/var/rnumnonpx,-effects,-effects/Tween,-effects/animatedSelector,-dimensions,-offset,-deprecated,-event/alias,-event,-event/support,-wrap,-exports/amd,-core/ready",
constructor: c,
La: "",
length: 0,
toArray: function() {
return F.call(this)
},
get: function(c) {
return null != c ? 0 > c ? this[c + this.length] : this[c] : F.call(this)
},
pushStack: function(b) {
b = c.merge(this.constructor(), b);
b.$c = this;
b.context = this.context;
return b
},
each: function(b, a) {
return c.each(this, b, a)
},
map: function(b) {
return this.pushStack(c.map(this, function(c, k) {
return b.call(c, k, c)
}))
},
slice: function() {
return this.pushStack(F.apply(this, arguments))
},
first: function() {
return this.eq(0)
},
last: function() {
return this.eq(-1)
},
eq: function(c) {
var b =
this.length;
c = +c + (0 > c ? b : 0);
return this.pushStack(0 <= c && c < b ? [this[c]] : [])
},
end: function() {
return this.$c || this.constructor(null)
},
push: X,
sort: A.sort,
splice: A.splice
};
c.extend = c.fn.extend = function() {
var b, a, e, d = arguments[0] || {},
f = 1,
g = arguments.length,
h = !1;
"boolean" === typeof d && (h = d, d = arguments[f] || {}, f++);
"object" === typeof d || c.isFunction(d) || (d = {});
f === g && (d = this, f--);
for (; f < g; f++)
if (null != (b = arguments[f]))
for (a in b) {
var l = d[a];
var n = b[a];
d !== n && (h && n && (c.isPlainObject(n) || (e = c.isArray(n))) ? (e ? (e = !1, l = l && c.isArray(l) ? l : []) : l = l && c.isPlainObject(l) ? l : {}, d[a] = c.extend(h, l, n)) : void 0 !== n && (d[a] = n))
}
return d
};
c.extend({
expando: "jQuery" + ("2.1.0-pre -ajax/script,-ajax/jsonp,-css,-css/addGetHookIf,-css/curCSS,-css/defaultDisplay,-css/hiddenVisibleSelectors,-css/support,-css/swap,-css/var/cssExpand,-css/var/getStyles,-css/var/isHidden,-css/var/rmargin,-css/var/rnumnonpx,-effects,-effects/Tween,-effects/animatedSelector,-dimensions,-offset,-deprecated,-event/alias,-event,-event/support,-wrap,-exports/amd,-core/ready" +
Math.random()).replace(/\D/g, ""),
Vk: !0,
error: function(c) {
throw Error(c);
},
noop: function() {},
noConflict: function(b) {
a.$ === c && (a.$ = Da);
b && a.jQuery === c && (a.jQuery = Ca);
return c
},
isFunction: function(b) {
return "function" === c.type(b)
},
isArray: Array.isArray,
isWindow: function(c) {
return null != c && c === c.window
},
isNumeric: function(c) {
return 0 <= c - parseFloat(c)
},
isPlainObject: function(b) {
if ("object" !== c.type(b) || b.nodeType || c.isWindow(b)) return !1;
try {
if (b.constructor && !Aa.call(b.constructor.prototype, "isPrototypeOf")) return !1
} catch (r) {
return !1
}
return !0
},
isEmptyObject: function(c) {
for (var b in c) return !1;
return !0
},
type: function(c) {
return null == c ? c + "" : "object" === typeof c || "function" === typeof c ? U[za.call(c)] || "object" : typeof c
},
globalEval: function(b) {
var a = eval;
if (b = c.trim(b)) 1 === b.indexOf("use strict") ? (a = w.createElement("script"), a.text = b, w.head.appendChild(a).parentNode.removeChild(a)) : a(b)
},
sb: function(c) {
return c.replace(Ea, "ms-").replace(Fa, b)
},
nodeName: function(c, b) {
return c.nodeName && c.nodeName.toLowerCase() === b.toLowerCase()
},
each: function(c,
b, a) {
var k = 0,
d = c.length;
var f = e(c);
if (a)
if (f)
for (; k < d && (f = b.apply(c[k], a), !1 !== f); k++);
else
for (k in c) {
if (f = b.apply(c[k], a), !1 === f) break
} else if (f)
for (; k < d && (f = b.call(c[k], k, c[k]), !1 !== f); k++);
else
for (k in c)
if (f = b.call(c[k], k, c[k]), !1 === f) break;
return c
},
trim: function(c) {
return null == c ? "" : Ba.call(c)
},
makeArray: function(b, a) {
a = a || [];
null != b && (e(Object(b)) ? c.merge(a, "string" === typeof b ? [b] : b) : X.call(a, b));
return a
},
inArray: function(c, b, a) {
return null == b ? -1 : T.call(b, c, a)
},
merge: function(c, b) {
for (var a = +b.length, k = 0, d = c.length; k < a; k++) c[d++] = b[k];
c.length = d;
return c
},
grep: function(c, b, a) {
for (var k = [], d = 0, e = c.length, f = !a; d < e; d++) a = !b(c[d], d), a !== f && k.push(c[d]);
return k
},
map: function(c, b, a) {
var k = 0,
d = c.length,
f = [];
if (e(c))
for (; k < d; k++) {
var r = b(c[k], k, a);
null != r && f.push(r)
} else
for (k in c) r = b(c[k], k, a), null != r && f.push(r);
return da.apply([], f)
},
Mb: 1,
proxy: function(b, a) {
if ("string" === typeof a) {
var k = b[a];
a = b;
b = k
}
if (c.isFunction(b)) {
var d = F.call(arguments, 2);
k = function() {
return b.apply(a || this, d.concat(F.call(arguments)))
};
k.Mb = b.Mb = b.Mb || c.Mb++;
return k
}
},
now: Date.now,
support: G
});
c.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(c, b) {
U["[object " + b + "]"] = b.toLowerCase()
});
A = a.document.documentElement;
var V, Ga = A.webkitMatchesSelector || A.mozMatchesSelector || A.oMatchesSelector || A.msMatchesSelector;
c.extend({
find: function(b, a, d, e) {
var k, f = 0;
d = d || [];
a = a || w;
if (!b || "string" !== typeof b) return d;
if (1 !== (k = a.nodeType) && 9 !== k) return [];
if (e)
for (; a = e[f++];) c.find.matchesSelector(a, b) && d.push(a);
else c.merge(d, a.querySelectorAll(b));
return d
},
unique: function(c) {
var b, a = [],
k = 0,
e = 0;
V = !1;
c.sort(d);
if (V) {
for (; b = c[k++];) b === c[k] && (e = a.push(k));
for (; e--;) c.splice(a[e], 1)
}
return c
},
text: function(b) {
var a, k = "",
d = 0;
if (a = b.nodeType) {
if (1 === a || 9 === a || 11 === a) return b.textContent;
if (3 === a || 4 === a) return b.nodeValue
} else
for (; a = b[d++];) k += c.text(a);
return k
},
contains: function(c, b) {
var a = 9 === c.nodeType ? c.documentElement : c;
b = b && b.parentNode;
return c === b || !(!b || 1 !== b.nodeType || !a.contains(b))
},
isXMLDoc: function(c) {
return "HTML" !==
(c.ownerDocument || c).documentElement.nodeName
},
ub: {
Mg: {},
match: {
Dc: /^(?:checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped)$/i,
xi: /^[\x20\t\r\n\f]*[>+~]/
}
}
});
c.extend(c.find, {
matches: function(b, a) {
return c.find(b, null, null, a)
},
matchesSelector: function(c, b) {
return Ga.call(c, b)
},
attr: function(c, b) {
return c.getAttribute(b)
}
});
var ea = c.ub.match.xi,
fa = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
ua = /^.[^:#\[\.,]*$/;
c.filter = function(b, a, d) {
var e =
a[0];
d && (b = ":not(" + b + ")");
return 1 === a.length && 1 === e.nodeType ? c.find.matchesSelector(e, b) ? [e] : [] : c.find.matches(b, c.grep(a, function(c) {
return 1 === c.nodeType
}))
};
c.fn.extend({
find: function(b) {
var a, d = [],
e = this,
k = e.length;
if ("string" !== typeof b) return this.pushStack(c(b).filter(function() {
for (a = 0; a < k; a++)
if (c.contains(e[a], this)) return !0
}));
for (a = 0; a < k; a++) c.find(b, e[a], d);
d = this.pushStack(1 < k ? c.unique(d) : d);
d.La = this.La ? this.La + " " + b : b;
return d
},
filter: function(c) {
return this.pushStack(f(this, c || [], !1))
},
not: function(c) {
return this.pushStack(f(this, c || [], !0))
},
is: function(b) {
return !!f(this, "string" === typeof b && ea.test(b) ? c(b) : b || [], !1).length
}
});
var Ha = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/;
(c.fn.init = function(b, a) {
if (!b) return this;
if ("string" === typeof b) {
var d = "<" === b[0] && ">" === b[b.length - 1] && 3 <= b.length ? [null, b, null] : Ha.exec(b);
if (!d || !d[1] && a) return !a || a.jquery ? (a || Y).find(b) : this.constructor(a).find(b);
if (d[1]) {
if (a = a instanceof c ? a[0] : a, c.merge(this, c.parseHTML(d[1], a && a.nodeType ? a.ownerDocument ||
a : w, !0)), fa.test(d[1]) && c.isPlainObject(a))
for (d in a)
if (c.isFunction(this[d])) this[d](a[d]);
else this.attr(d, a[d])
} else(a = w.getElementById(d[2])) && a.parentNode && (this.length = 1, this[0] = a), this.context = w, this.La = b;
return this
}
if (b.nodeType) return this.context = this[0] = b, this.length = 1, this;
if (c.isFunction(b)) return "undefined" !== typeof Y.ready ? Y.ready(b) : b(c);
void 0 !== b.La && (this.La = b.La, this.context = b.context);
return c.makeArray(b, this)
}).prototype = c.fn;
var Y = c(w);
var Ia = /^(?:parents|prev(?:Until|All))/,
Ja = {
children: !0,
contents: !0,
next: !0,
prev: !0
};
c.extend({
dir: function(b, a, d) {
for (var e = [], k = void 0 !== d;
(b = b[a]) && 9 !== b.nodeType;)
if (1 === b.nodeType) {
if (k && c(b).is(d)) break;
e.push(b)
}
return e
},
tf: function(c, b) {
for (var a = []; c; c = c.nextSibling) 1 === c.nodeType && c !== b && a.push(c);
return a
}
});
c.fn.extend({
has: function(b) {
var a = c(b, this),
d = a.length;
return this.filter(function() {
for (var b = 0; b < d; b++)
if (c.contains(this, a[b])) return !0
})
},
closest: function(b, a) {
for (var d, e = 0, k = this.length, f = [], g = ea.test(b) || "string" !==
typeof b ? c(b, a || this.context) : 0; e < k; e++)
for (d = this[e]; d && d !== a; d = d.parentNode)
if (11 > d.nodeType && (g ? -1 < g.index(d) : 1 === d.nodeType && c.find.matchesSelector(d, b))) {
f.push(d);
break
}
return this.pushStack(1 < f.length ? c.unique(f) : f)
},
index: function(b) {
return b ? "string" === typeof b ? T.call(c(b), this[0]) : T.call(this, b.jquery ? b[0] : b) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
},
add: function(b, a) {
b = "string" === typeof b ? c(b, a) : c.makeArray(b && b.nodeType ? [b] : b);
b = c.merge(this.get(), b);
return this.pushStack(c.unique(b))
},
addBack: function(c) {
return this.add(null == c ? this.$c : this.$c.filter(c))
}
});
c.each({
parent: function(c) {
return (c = c.parentNode) && 11 !== c.nodeType ? c : null
},
parents: function(b) {
return c.dir(b, "parentNode")
},
parentsUntil: function(b, a, d) {
return c.dir(b, "parentNode", d)
},
next: function(c) {
return g(c, "nextSibling")
},
prev: function(c) {
return g(c, "previousSibling")
},
nextAll: function(b) {
return c.dir(b, "nextSibling")
},
prevAll: function(b) {
return c.dir(b, "previousSibling")
},
nextUntil: function(b, a, d) {
return c.dir(b, "nextSibling",
d)
},
prevUntil: function(b, a, d) {
return c.dir(b, "previousSibling", d)
},
siblings: function(b) {
return c.tf((b.parentNode || {}).firstChild, b)
},
children: function(b) {
return c.tf(b.firstChild)
},
contents: function(b) {
return b.contentDocument || c.merge([], b.childNodes)
}
}, function(b, a) {
c.fn[b] = function(d, e) {
var k = c.map(this, a, d);
"Until" !== b.slice(-5) && (e = d);
e && "string" === typeof e && (k = c.filter(e, k));
1 < this.length && (Ja[b] || c.unique(k), Ia.test(b) && k.reverse());
return this.pushStack(k)
}
});
var K = /\S+/g,
ca = {};
c.Callbacks =
function(b) {
function a(c) {
d = b.memory && c;
e = !0;
l = f || 0;
f = 0;
g = n.length;
for (k = !0; n && l < g; l++)
if (!1 === n[l].apply(c[0], c[1]) && b.dm) {
d = !1;
break
}
k = !1;
n && (t ? t.length && a(t.shift()) : d ? n = [] : m.disable())
}
b = "string" === typeof b ? ca[b] || h(b) : c.extend({}, b);
var d, e, k, f, g, l, n = [],
t = !b.once && [],
m = {
add: function() {
if (n) {
var e = n.length;
(function Ka(a) {
c.each(a, function(a, d) {
a = c.type(d);
"function" === a ? b.unique && m.has(d) || n.push(d) : d && d.length && "string" !== a && Ka(d)
})
})(arguments);
k ? g = n.length : d && (f = e, a(d))
}
return this
},
remove: function() {
n &&
c.each(arguments, function(b, a) {
for (var d; - 1 < (d = c.inArray(a, n, d));) n.splice(d, 1), k && (d <= g && g--, d <= l && l--)
});
return this
},
has: function(b) {
return b ? -1 < c.inArray(b, n) : !(!n || !n.length)
},
empty: function() {
n = [];
g = 0;
return this
},
disable: function() {
n = t = d = void 0;
return this
},
disabled: function() {
return !n
},
lock: function() {
t = void 0;
d || m.disable();
return this
},
locked: function() {
return !t
},
fireWith: function(c, b) {
!n || e && !t || (b = b || [], b = [c, b.slice ? b.slice() : b], k ? t.push(b) : a(b));
return this
},
fire: function() {
m.fireWith(this,
arguments);
return this
},
fired: function() {
return !!e
}
};
return m
};
c.extend({
Deferred: function(b) {
var a = [
["resolve", "done", c.Callbacks("once memory"), "resolved"],
["reject", "fail", c.Callbacks("once memory"), "rejected"],
["notify", "progress", c.Callbacks("memory")]
],
d = "pending",
e = {
state: function() {
return d
},
always: function() {
k.done(arguments).fail(arguments);
return this
},
then: function() {
var b = arguments;
return c.Deferred(function(d) {
c.each(a, function(a, f) {
var g = c.isFunction(b[a]) && b[a];
k[f[1]](function() {
var b =
g && g.apply(this, arguments);
if (b && c.isFunction(b.promise)) b.promise().done(d.resolve).fail(d.reject).progress(d.notify);
else d[f[0] + "With"](this === e ? d.promise() : this, g ? [b] : arguments)
})
});
b = null
}).promise()
},
promise: function(b) {
return null != b ? c.extend(b, e) : e
}
},
k = {};
e.pipe = e.then;
c.each(a, function(c, b) {
var f = b[2],
g = b[3];
e[b[1]] = f.add;
g && f.add(function() {
d = g
}, a[c ^ 1][2].disable, a[2][2].lock);
k[b[0]] = function() {
k[b[0] + "With"](this === k ? e : this, arguments);
return this
};
k[b[0] + "With"] = f.fireWith
});
e.promise(k);
b && b.call(k, k);
return k
},
when: function(b) {
function a(c, b, a) {
return function(d) {
b[c] = this;
a[c] = 1 < arguments.length ? F.call(arguments) : d;
a === l ? g.notifyWith(b, a) : --f || g.resolveWith(b, a)
}
}
var d = 0,
e = F.call(arguments),
k = e.length,
f = 1 !== k || b && c.isFunction(b.promise) ? k : 0,
g = 1 === f ? b : c.Deferred(),
h;
if (1 < k) {
var l = Array(k);
var n = Array(k);
for (h = Array(k); d < k; d++) e[d] && c.isFunction(e[d].promise) ? e[d].promise().done(a(d, h, e)).fail(g.reject).progress(a(d, n, l)) : --f
}
f || g.resolveWith(h, e);
return g.promise()
}
});
var P = c.ra =
function(b, a, d, e, f, g, h) {
var k = 0,
r = b.length,
l = null == d;
if ("object" === c.type(d))
for (k in f = !0, d) c.ra(b, a, k, d[k], !0, g, h);
else if (void 0 !== e && (f = !0, c.isFunction(e) || (h = !0), l && (h ? (a.call(b, e), a = null) : (l = a, a = function(b, a, d) {
return l.call(c(b), d)
})), a))
for (; k < r; k++) a(b[k], d, h ? e : e.call(b[k], k, a(b[k], d)));
return f ? b : l ? a.call(b) : r ? a(b[0], d) : g
};
c.Rd = function(c) {
return 1 === c.nodeType || 9 === c.nodeType || !+c.nodeType
};
l.uid = 1;
l.accepts = c.Rd;
l.prototype = {
key: function(b) {
if (!l.accepts(b)) return 0;
var a = {},
d = b[this.expando];
if (!d) {
d = l.uid++;
try {
a[this.expando] = {
value: d
}, Object.defineProperties(b, a)
} catch (L) {
a[this.expando] = d, c.extend(b, a)
}
}
this.cache[d] || (this.cache[d] = {});
return d
},
set: function(b, a, d) {
var e;
b = this.key(b);
var k = this.cache[b];
if ("string" === typeof a) k[a] = d;
else if (c.isEmptyObject(k)) c.extend(this.cache[b], a);
else
for (e in a) k[e] = a[e];
return k
},
get: function(c, b) {
c = this.cache[this.key(c)];
return void 0 === b ? c : c[b]
},
ra: function(b, a, d) {
if (void 0 === a || a && "string" === typeof a && void 0 === d) return d = this.get(b, a),
void 0 !== d ? d : this.get(b, c.sb(a));
this.set(b, a, d);
return void 0 !== d ? d : a
},
remove: function(b, a) {
var d = this.key(b);
b = this.cache[d];
if (void 0 === a) this.cache[d] = {};
else
for (c.isArray(a) ? d = a.concat(a.map(c.sb)) : (d = c.sb(a), d = a in b ? [a, d] : d in b ? [d] : d.match(K) || []), a = d.length; a--;) delete b[d[a]]
},
hasData: function(b) {
return !c.isEmptyObject(this.cache[b[this.expando]] || {})
}
};
var x = new l,
B = new l,
wa = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
va = /([A-Z])/g;
c.extend({
hasData: function(c) {
return B.hasData(c) || x.hasData(c)
},
data: function(c, b, a) {
return B.ra(c, b, a)
},
removeData: function(c, b) {
B.remove(c, b)
},
Jk: function(c, b, a) {
return x.ra(c, b, a)
},
Kk: function(c, b) {
x.remove(c, b)
}
});
c.fn.extend({
data: function(b, a) {
var d, e = this[0],
k = e && e.attributes;
if (void 0 === b) {
if (this.length) {
var f = B.get(e);
if (1 === e.nodeType && !x.get(e, "hasDataAttrs")) {
for (d = k.length; d--;) {
var g = k[d].name;
0 === g.indexOf("data-") && (g = c.sb(g.slice(5)), m(e, g, f[g]))
}
x.set(e, "hasDataAttrs", !0)
}
}
return f
}
return "object" === typeof b ? this.each(function() {
B.set(this, b)
}) :
P(this, function(a) {
var d = c.sb(b);
if (e && void 0 === a) {
var k = B.get(e, b);
if (void 0 !== k) return k;
k = B.get(e, d);
if (void 0 !== k) return k;
k = m(e, d, void 0);
if (void 0 !== k) return k
} else this.each(function() {
var c = B.get(this, d);
B.set(this, d, a); - 1 !== b.indexOf("-") && void 0 !== c && B.set(this, b, a)
})
}, null, a, 1 < arguments.length, null, !0)
},
removeData: function(c) {
return this.each(function() {
B.remove(this, c)
})
}
});
c.extend({
queue: function(b, a, d) {
if (b) {
a = (a || "fx") + "queue";
var e = x.get(b, a);
d && (!e || c.isArray(d) ? e = x.ra(b, a, c.makeArray(d)) :
e.push(d));
return e || []
}
},
dequeue: function(b, a) {
function d() {
c.dequeue(b, a)
}
a = a || "fx";
var e = c.queue(b, a),
k = e.length,
f = e.shift(),
g = c.Qd(b, a);
"inprogress" === f && (f = e.shift(), k--);
f && ("fx" === a && e.unshift("inprogress"), delete g.stop, f.call(b, d, g));
!k && g && g.empty.fire()
},
Qd: function(b, a) {
var d = a + "queueHooks";
return x.get(b, d) || x.ra(b, d, {
empty: c.Callbacks("once memory").add(function() {
x.remove(b, [a + "queue", d])
})
})
}
});
c.fn.extend({
queue: function(b, a) {
var d = 2;
"string" !== typeof b && (a = b, b = "fx", d--);
return arguments.length <
d ? c.queue(this[0], b) : void 0 === a ? this : this.each(function() {
var d = c.queue(this, b, a);
c.Qd(this, b);
"fx" === b && "inprogress" !== d[0] && c.dequeue(this, b)
})
},
dequeue: function(b) {
return this.each(function() {
c.dequeue(this, b)
})
},
clearQueue: function(c) {
return this.queue(c || "fx", [])
},
promise: function(b, a) {
function d() {
--k || f.resolveWith(g, [g])
}
var e, k = 1,
f = c.Deferred(),
g = this,
h = this.length;
"string" !== typeof b && (a = b, b = void 0);
for (b = b || "fx"; h--;)(e = x.get(g[h], b + "queueHooks")) && e.empty && (k++, e.empty.add(d));
d();
return f.promise(a)
}
});
var ha = /^(?:checkbox|radio)$/i;
(function() {
var c = w.createDocumentFragment().appendChild(w.createElement("div"));
c.innerHTML = "<input type='radio' checked='checked' name='t'/>";
G.Tg = c.cloneNode(!0).cloneNode(!0).lastChild.checked;
c = w.createElement("input");
c.type = "checkbox";
c.checked = !0;
G.Ai = c.cloneNode(!0).checked
})();
var ia = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
ja = /<([\w:]+)/,
La = /<|&#?\w+;/,
Ma = /<(?:script|style|link)/i,
Na = /checked\s*(?:[^=]|=\s*.checked.)/i,
ka =
/^$|\/(?:java|ecma)script/i,
xa = /^true\/(.*)/,
Oa = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,
H = {
Ne: [1, "<select multiple='multiple'>", "</select>"],
fk: [1, "<table>", "</table>"],
Ok: [2, "<table><colgroup>", "</colgroup></table>"],
im: [2, "<table><tbody>", "</tbody></table>"],
ck: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
ug: [0, "", ""]
};
H.al = H.Ne;
H.tbody = H.fm = H.Pk = H.caption = H.fk;
H.gm = H.ck;
c.extend({
clone: function(b, a, d) {
var e, f = b.cloneNode(!0),
k = c.contains(b.ownerDocument, b);
if (!(G.Ai || 1 !== b.nodeType && 11 !==
b.nodeType || c.isXMLDoc(b))) {
var g = n(f);
var h = n(b);
var l = 0;
for (e = h.length; l < e; l++) {
var r = h[l],
m = g[l],
v = m.nodeName.toLowerCase();
if ("input" === v && ha.test(r.type)) m.checked = r.checked;
else if ("input" === v || "textarea" === v) m.defaultValue = r.defaultValue
}
}
if (a)
if (d)
for (h = h || n(b), g = g || n(f), l = 0, e = h.length; l < e; l++) z(h[l], g[l]);
else z(b, f);
g = n(f, "script");
0 < g.length && t(g, !k && n(b, "script"));
return f
},
be: function(b, a, d, e) {
for (var f, k, g, h = a.createDocumentFragment(), l = [], r = 0, m = b.length; r < m; r++)
if ((f = b[r]) || 0 === f)
if ("object" ===
c.type(f)) c.merge(l, f.nodeType ? [f] : f);
else if (La.test(f)) {
k = k || h.appendChild(a.createElement("div"));
g = (ja.exec(f) || ["", ""])[1].toLowerCase();
g = H[g] || H.ug;
k.innerHTML = g[1] + f.replace(ia, "<$1></$2>") + g[2];
for (g = g[0]; g--;) k = k.lastChild;
c.merge(l, k.childNodes);
k = h.firstChild;
k.textContent = ""
} else l.push(a.createTextNode(f));
h.textContent = "";
for (r = 0; f = l[r++];)
if (!e || -1 === c.inArray(f, e))
if (b = c.contains(f.ownerDocument, f), k = n(h.appendChild(f), "script"), b && t(k), d)
for (g = 0; f = k[g++];) ka.test(f.type || "") && d.push(f);
return h
},
Ib: function(b) {
for (var a, d, e, f, k, g, h = c.event.special, l = 0; void 0 !== (d = b[l]); l++) {
if (c.Rd(d) && (k = d[x.expando]) && (a = x.cache[k])) {
e = Object.keys(a.je || {});
if (e.length)
for (g = 0; void 0 !== (f = e[g]); g++) h[f] ? c.event.remove(d, f) : c.Jl(d, f, a.handle);
x.cache[k] && delete x.cache[k]
}
delete B.cache[d[B.expando]]
}
}
});
c.fn.extend({
text: function(b) {
return P(this, function(b) {
return void 0 === b ? c.text(this) : this.empty().each(function() {
if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) this.textContent =
b
})
}, null, b, arguments.length)
},
append: function() {
return this.Ta(arguments, function(c) {
1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || p(this, c).appendChild(c)
})
},
prepend: function() {
return this.Ta(arguments, function(c) {
if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
var b = p(this, c);
b.insertBefore(c, b.firstChild)
}
})
},
before: function() {
return this.Ta(arguments, function(c) {
this.parentNode && this.parentNode.insertBefore(c, this)
})
},
after: function() {
return this.Ta(arguments, function(c) {
this.parentNode &&
this.parentNode.insertBefore(c, this.nextSibling)
})
},
remove: function(b, a) {
for (var d = b ? c.filter(b, this) : this, e = 0; null != (b = d[e]); e++) a || 1 !== b.nodeType || c.Ib(n(b)), b.parentNode && (a && c.contains(b.ownerDocument, b) && t(n(b, "script")), b.parentNode.removeChild(b));
return this
},
empty: function() {
for (var b, a = 0; null != (b = this[a]); a++) 1 === b.nodeType && (c.Ib(n(b, !1)), b.textContent = "");
return this
},
clone: function(b, a) {
b = null == b ? !1 : b;
a = null == a ? b : a;
return this.map(function() {
return c.clone(this, b, a)
})
},
html: function(b) {
return P(this,
function(b) {
var a = this[0] || {},
d = 0,
e = this.length;
if (void 0 === b && 1 === a.nodeType) return a.innerHTML;
if ("string" === typeof b && !Ma.test(b) && !H[(ja.exec(b) || ["", ""])[1].toLowerCase()]) {
b = b.replace(ia, "<$1></$2>");
try {
for (; d < e; d++) a = this[d] || {}, 1 === a.nodeType && (c.Ib(n(a, !1)), a.innerHTML = b);
a = 0
} catch (J) {}
}
a && this.empty().append(b)
}, null, b, arguments.length)
},
replaceWith: function() {
var b = arguments[0];
this.Ta(arguments, function(a) {
b = this.parentNode;
c.Ib(n(this));
b && b.replaceChild(a, this)
});
return b && (b.length ||
b.nodeType) ? this : this.remove()
},
detach: function(b) {
return this.remove(b, !0)
},
Ta: function(b, a) {
b = da.apply([], b);
var d, e = 0,
f = this.length,
k = this,
g = f - 1,
h = b[0],
l = c.isFunction(h);
if (l || 1 < f && "string" === typeof h && !G.Tg && Na.test(h)) return this.each(function(c) {
var d = k.eq(c);
l && (b[0] = h.call(this, c, d.html()));
d.Ta(b, a)
});
if (f) {
var t = c.be(b, this[0].ownerDocument, !1, this);
var r = t.firstChild;
1 === t.childNodes.length && (t = r);
if (r) {
r = c.map(n(t, "script"), q);
for (d = r.length; e < f; e++) {
var m = t;
e !== g && (m = c.clone(m, !0, !0),
d && c.merge(r, n(m, "script")));
a.call(this[e], m, e)
}
if (d)
for (t = r[r.length - 1].ownerDocument, c.map(r, D), e = 0; e < d; e++) m = r[e], ka.test(m.type || "") && !x.ra(m, "globalEval") && c.contains(t, m) && (m.src ? c.Md && c.Md(m.src) : c.globalEval(m.textContent.replace(Oa, "")))
}
}
return this
}
});
c.each({
appendTo: "append",
prependTo: "prepend",
insertBefore: "before",
insertAfter: "after",
replaceAll: "replaceWith"
}, function(b, a) {
c.fn[b] = function(b) {
for (var d = [], e = c(b), f = e.length - 1, k = 0; k <= f; k++) b = k === f ? this : this.clone(!0), c(e[k])[a](b), X.apply(d,
b.get());
return this.pushStack(d)
}
});
c.fn.delay = function(b, a) {
b = c.fx ? c.fx.bm[b] || b : b;
return this.queue(a || "fx", function(c, a) {
var d = setTimeout(c, b);
a.stop = function() {
clearTimeout(d)
}
})
};
(function() {
var b = w.createElement("input"),
c = w.createElement("select"),
a = c.appendChild(w.createElement("option"));
b.type = "checkbox";
G.Ug = "" !== b.value;
G.Ei = a.selected;
c.disabled = !0;
G.Di = !a.disabled;
b = w.createElement("input");
b.value = "t";
b.type = "radio";
G.Si = "t" === b.value
})();
var Q = c.ub.Mg;
c.fn.extend({
attr: function(b,
a) {
return P(this, c.attr, b, a, 1 < arguments.length)
},
removeAttr: function(b) {
return this.each(function() {
c.removeAttr(this, b)
})
}
});
c.extend({
attr: function(b, a, d) {
var e, f = b.nodeType;
if (b && 3 !== f && 8 !== f && 2 !== f) {
if ("undefined" === typeof b.getAttribute) return c.prop(b, a, d);
if (1 !== f || !c.isXMLDoc(b)) {
a = a.toLowerCase();
var k = c.Ng[a] || (c.ub.match.Dc.test(a) ? Pa : void 0)
}
if (void 0 !== d)
if (null === d) c.removeAttr(b, a);
else {
if (k && "set" in k && void 0 !== (e = k.set(b, d, a))) return e;
b.setAttribute(a, d + "");
return d
} else {
if (k && "get" in
k && null !== (e = k.get(b, a))) return e;
e = c.find.attr(b, a);
return null == e ? void 0 : e
}
}
},
removeAttr: function(b, a) {
var d = 0,
e = a && a.match(K);
if (e && 1 === b.nodeType)
for (; a = e[d++];) {
var f = c.Vb[a] || a;
c.ub.match.Dc.test(a) && (b[f] = !1);
b.removeAttribute(a)
}
},
Ng: {
type: {
set: function(b, a) {
if (!G.Si && "radio" === a && c.nodeName(b, "input")) {
var d = b.value;
b.setAttribute("type", a);
d && (b.value = d);
return a
}
}
}
}
});
var Pa = {
set: function(b, a, d) {
!1 === a ? c.removeAttr(b, d) : b.setAttribute(d, d);
return d
}
};
c.each(c.ub.match.Dc.source.match(/\w+/g),
function(b, a) {
var d = Q[a] || c.find.attr;
Q[a] = function(b, c, a) {
if (!a) {
var e = Q[c];
Q[c] = f;
var f = null != d(b, c, a) ? c.toLowerCase() : null;
Q[c] = e
}
return f
}
});
var Qa = /^(?:input|select|textarea|button)$/i;
c.fn.extend({
prop: function(b, a) {
return P(this, c.prop, b, a, 1 < arguments.length)
},
removeProp: function(b) {
return this.each(function() {
delete this[c.Vb[b] || b]
})
}
});
c.extend({
Vb: {
"for": "htmlFor",
"class": "className"
},
prop: function(b, a, d) {
var e, f = b.nodeType;
if (b && 3 !== f && 8 !== f && 2 !== f) {
if (1 !== f || !c.isXMLDoc(b)) {
a = c.Vb[a] ||
a;
var g = c.We[a]
}
return void 0 !== d ? g && "set" in g && void 0 !== (e = g.set(b, d, a)) ? e : b[a] = d : g && "get" in g && null !== (e = g.get(b, a)) ? e : b[a]
}
},
We: {
tabIndex: {
get: function(b) {
return b.hasAttribute("tabindex") || Qa.test(b.nodeName) || b.href ? b.tabIndex : -1
}
}
}
});
G.Ei || (c.We.selected = {
get: function(b) {
(b = b.parentNode) && b.parentNode && b.parentNode.selectedIndex;
return null
}
});
c.each("tabIndex readOnly maxLength cellSpacing cellPadding rowSpan colSpan useMap frameBorder contentEditable".split(" "), function() {
c.Vb[this.toLowerCase()] =
this
});
var Z = /[\t\r\n\f]/g;
c.fn.extend({
addClass: function(b) {
var a, d, e, f = 0,
g = this.length;
var k = "string" === typeof b && b;
if (c.isFunction(b)) return this.each(function(a) {
c(this).addClass(b.call(this, a, this.className))
});
if (k)
for (k = (b || "").match(K) || []; f < g; f++) {
var h = this[f];
if (a = 1 === h.nodeType && (h.className ? (" " + h.className + " ").replace(Z, " ") : " ")) {
for (e = 0; d = k[e++];) 0 > a.indexOf(" " + d + " ") && (a += d + " ");
a = c.trim(a);
h.className !== a && (h.className = a)
}
}
return this
},
removeClass: function(b) {
var a, d, e, f = 0,
g = this.length;
var k = 0 === arguments.length || "string" === typeof b && b;
if (c.isFunction(b)) return this.each(function(a) {
c(this).removeClass(b.call(this, a, this.className))
});
if (k)
for (k = (b || "").match(K) || []; f < g; f++) {
var h = this[f];
if (a = 1 === h.nodeType && (h.className ? (" " + h.className + " ").replace(Z, " ") : "")) {
for (e = 0; d = k[e++];)
for (; 0 <= a.indexOf(" " + d + " ");) a = a.replace(" " + d + " ", " ");
a = b ? c.trim(a) : "";
h.className !== a && (h.className = a)
}
}
return this
},
toggleClass: function(b, a) {
var d = typeof b;
return "boolean" === typeof a && "string" ===
d ? a ? this.addClass(b) : this.removeClass(b) : c.isFunction(b) ? this.each(function(d) {
c(this).toggleClass(b.call(this, d, this.className, a), a)
}) : this.each(function() {
if ("string" === d)
for (var a, e = 0, f = c(this), g = b.match(K) || []; a = g[e++];) f.hasClass(a) ? f.removeClass(a) : f.addClass(a);
else if ("undefined" === d || "boolean" === d) this.className && x.set(this, "__className__", this.className), this.className = this.className || !1 === b ? "" : x.get(this, "__className__") || ""
})
},
hasClass: function(b) {
b = " " + b + " ";
for (var c = 0, a = this.length; c <
a; c++)
if (1 === this[c].nodeType && 0 <= (" " + this[c].className + " ").replace(Z, " ").indexOf(b)) return !0;
return !1
}
});
var Ra = /\r/g;
c.fn.extend({
val: function(b) {
var a, d, e = this[0];
if (arguments.length) {
var f = c.isFunction(b);
return this.each(function(d) {
1 === this.nodeType && (d = f ? b.call(this, d, c(this).val()) : b, null == d ? d = "" : "number" === typeof d ? d += "" : c.isArray(d) && (d = c.map(d, function(b) {
return null == b ? "" : b + ""
})), a = c.kb[this.type] || c.kb[this.nodeName.toLowerCase()], a && "set" in a && void 0 !== a.set(this, d, "value") || (this.value =
d))
})
}
if (e) {
if ((a = c.kb[e.type] || c.kb[e.nodeName.toLowerCase()]) && "get" in a && void 0 !== (d = a.get(e, "value"))) return d;
d = e.value;
return "string" === typeof d ? d.replace(Ra, "") : null == d ? "" : d
}
}
});
c.extend({
kb: {
Ne: {
get: function(b) {
var c = b.attributes.value;
return !c || c.specified ? b.value : b.text
}
},
select: {
get: function(b) {
for (var a, d = b.options, e = b.selectedIndex, f = (b = "select-one" === b.type || 0 > e) ? null : [], g = b ? e + 1 : d.length, k = 0 > e ? g : b ? e : 0; k < g; k++)
if (a = d[k], !(!a.selected && k !== e || (G.Di ? a.disabled : null !== a.getAttribute("disabled")) ||
a.parentNode.disabled && c.nodeName(a.parentNode, "optgroup"))) {
a = c(a).val();
if (b) return a;
f.push(a)
}
return f
},
set: function(b, a) {
for (var d, e = b.options, f = c.makeArray(a), g = e.length; g--;)
if (a = e[g], a.selected = 0 <= c.inArray(c(a).val(), f)) d = !0;
d || (b.selectedIndex = -1);
return f
}
}
}
});
c.each(["radio", "checkbox"], function() {
c.kb[this] = {
set: function(b, a) {
if (c.isArray(a)) return b.checked = 0 <= c.inArray(c(b).val(), a)
}
};
G.Ug || (c.kb[this].get = function(b) {
return null === b.getAttribute("value") ? "on" : b.value
})
});
var la = c.now(),
ma = /\?/;
c.parseJSON = function(b) {
return JSON.parse(b + "")
};
c.parseXML = function(b) {
if (!b || "string" !== typeof b) return null;
try {
var a = new DOMParser;
var d = a.parseFromString(b, "text/xml")
} catch (L) {
d = void 0
}
d && !d.getElementsByTagName("parsererror").length || c.error("Invalid XML: " + b);
return d
};
var Sa = /#.*$/,
na = /([?&])_=[^&]*/,
Ta = /^(.*?):[ \t]*([^\r\n]*)$/mg,
Ua = /^(?:GET|HEAD)$/,
Va = /^\/\//,
oa = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,
pa = {},
W = {},
qa = "*/".concat("*");
try {
var M = location.href
} catch (k) {
M =
w.createElement("a"), M.href = "", M = M.href
}
var N = oa.exec(M.toLowerCase()) || [];
c.extend({
active: 0,
lastModified: {},
Ic: {},
ajaxSettings: {
url: M,
type: "GET",
isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(N[1]),
global: !0,
processData: !0,
async: !0,
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
accepts: {
"*": qa,
text: "text/plain",
html: "text/html",
xml: "application/xml, text/xml",
json: "application/json, text/javascript"
},
contents: {
xml: /xml/,
html: /html/,
json: /json/
},
responseFields: {
xml: "responseXML",
text: "responseText",
json: "responseJSON"
},
converters: {
"* text": String,
"text html": !0,
"text json": c.parseJSON,
"text xml": c.parseXML
},
flatOptions: {
url: !0,
context: !0
}
},
ajaxSetup: function(b, a) {
return a ? u(u(b, c.ajaxSettings), a) : u(c.ajaxSettings, b)
},
ajaxPrefilter: v(pa),
Kg: v(W),
ajax: function(b, a) {
function d(b, a, d, g) {
var l = a;
if (2 !== r) {
r = 2;
h && clearTimeout(h);
e = void 0;
f = g || "";
u.readyState = 0 < b ? 4 : 0;
g = 200 <= b && 300 > b || 304 === b;
if (d) {
var p = n;
for (var y = u, q, C, F, E, J = p.contents, x = p.ya;
"*" === x[0];) x.shift(), void 0 === q &&
(q = p.mimeType || y.getResponseHeader("Content-Type"));
if (q)
for (C in J)
if (J[C] && J[C].test(q)) {
x.unshift(C);
break
}
if (x[0] in d) F = x[0];
else {
for (C in d) {
if (!x[0] || p.converters[C + " " + x[0]]) {
F = C;
break
}
E || (E = C)
}
F = F || E
}
F ? (F !== x[0] && x.unshift(F), p = d[F]) : p = void 0
}
a: {
d = n;
q = p;
C = u;
F = g;
var L;
y = {};
J = d.ya.slice();
if (J[1])
for (w in d.converters) y[w.toLowerCase()] = d.converters[w];
for (E = J.shift(); E;) {
d.responseFields[E] && (C[d.responseFields[E]] = q);
!I && F && d.dataFilter && (q = d.dataFilter(q, d.dataType));
var I = E;
if (E = J.shift())
if ("*" ===
E) E = I;
else if ("*" !== I && I !== E) {
var w = y[I + " " + E] || y["* " + E];
if (!w)
for (L in y)
if (p = L.split(" "), p[1] === E && (w = y[I + " " + p[0]] || y["* " + p[0]])) {
!0 === w ? w = y[L] : !0 !== y[L] && (E = p[0], J.unshift(p[1]));
break
}
if (!0 !== w)
if (w && d["throws"]) q = w(q);
else try {
q = w(q)
} catch (Wa) {
p = {
state: "parsererror",
error: w ? Wa : "No conversion from " + I + " to " + E
};
break a
}
}
}
p = {
state: "success",
data: q
}
}
if (g)
if (n.ifModified && ((l = u.getResponseHeader("Last-Modified")) && (c.lastModified[A] = l), (l = u.getResponseHeader("etag")) && (c.Ic[A] = l)), 204 === b || "HEAD" ===
n.type) l = "nocontent";
else if (304 === b) l = "notmodified";
else {
l = p.state;
var ba = p.data;
var B = p.error;
g = !B
} else if (B = l, b || !l) l = "error", 0 > b && (b = 0);
u.status = b;
u.statusText = (a || l) + "";
g ? v.resolveWith(t, [ba, l, u]) : v.rejectWith(t, [u, l, B]);
u.statusCode(D);
D = void 0;
k && m.trigger(g ? "ajaxSuccess" : "ajaxError", [u, n, g ? ba : B]);
z.fireWith(t, [u, l]);
k && (m.trigger("ajaxComplete", [u, n]), --c.active || c.event.trigger("ajaxStop"))
}
}
"object" === typeof b && (a = b, b = void 0);
a = a || {};
var e, f, g, h, k, l, n = c.ajaxSetup({}, a),
t = n.context || n,
m =
n.context && (t.nodeType || t.jquery) ? c(t) : c.event,
v = c.Deferred(),
z = c.Callbacks("once memory"),
D = n.statusCode || {},
p = {},
q = {},
r = 0,
C = "canceled",
u = {
readyState: 0,
getResponseHeader: function(b) {
var c;
if (2 === r) {
if (!g)
for (g = {}; c = Ta.exec(f);) g[c[1].toLowerCase()] = c[2];
c = g[b.toLowerCase()]
}
return null == c ? null : c
},
getAllResponseHeaders: function() {
return 2 === r ? f : null
},
setRequestHeader: function(b, c) {
var a = b.toLowerCase();
r || (b = q[a] = q[a] || b, p[b] = c);
return this
},
overrideMimeType: function(b) {
r || (n.mimeType = b);
return this
},
statusCode: function(b) {
var c;
if (b)
if (2 > r)
for (c in b) D[c] = [D[c], b[c]];
else u.always(b[u.status]);
return this
},
abort: function(b) {
b = b || C;
e && e.abort(b);
d(0, b);
return this
}
};
v.promise(u).complete = z.add;
u.success = u.done;
u.error = u.fail;
n.url = ((b || n.url || M) + "").replace(Sa, "").replace(Va, N[1] + "//");
n.type = a.method || a.type || n.method || n.type;
n.ya = c.trim(n.dataType || "*").toLowerCase().match(K) || [""];
null == n.crossDomain && (b = oa.exec(n.url.toLowerCase()), n.crossDomain = !(!b || b[1] === N[1] && b[2] === N[2] && (b[3] || ("http:" ===
b[1] ? "80" : "443")) === (N[3] || ("http:" === N[1] ? "80" : "443"))));
n.data && n.processData && "string" !== typeof n.data && (n.data = c.param(n.data, n.traditional));
y(pa, n, a, u);
if (2 === r) return u;
(k = n.global) && 0 === c.active++ && c.event.trigger("ajaxStart");
n.type = n.type.toUpperCase();
n.Pc = !Ua.test(n.type);
var A = n.url;
n.Pc || (n.data && (A = n.url += (ma.test(A) ? "&" : "?") + n.data, delete n.data), !1 === n.cache && (n.url = na.test(A) ? A.replace(na, "$1_=" + la++) : A + (ma.test(A) ? "&" : "?") + "_=" + la++));
n.ifModified && (c.lastModified[A] && u.setRequestHeader("If-Modified-Since",
c.lastModified[A]), c.Ic[A] && u.setRequestHeader("If-None-Match", c.Ic[A]));
(n.data && n.Pc && !1 !== n.contentType || a.contentType) && u.setRequestHeader("Content-Type", n.contentType);
u.setRequestHeader("Accept", n.ya[0] && n.accepts[n.ya[0]] ? n.accepts[n.ya[0]] + ("*" !== n.ya[0] ? ", " + qa + "; q=0.01" : "") : n.accepts["*"]);
for (l in n.headers) u.setRequestHeader(l, n.headers[l]);
if (n.beforeSend && (!1 === n.beforeSend.call(t, u, n) || 2 === r)) return u.abort();
C = "abort";
for (l in {
success: 1,
error: 1,
complete: 1
}) u[l](n[l]);
if (e = y(W, n, a,
u)) {
u.readyState = 1;
k && m.trigger("ajaxSend", [u, n]);
n.async && 0 < n.timeout && (h = setTimeout(function() {
u.abort("timeout")
}, n.timeout));
try {
r = 1, e.send(p, d)
} catch (I) {
if (2 > r) d(-1, I);
else throw I;
}
} else d(-1, "No Transport");
return u
},
getJSON: function(b, a, d) {
return c.get(b, a, d, "json")
},
getScript: function(b, a) {
return c.get(b, void 0, a, "script")
}
});
c.each(["get", "post"], function(b, a) {
c[a] = function(b, d, e, f) {
c.isFunction(d) && (f = f || e, e = d, d = void 0);
return c.ajax({
url: b,
type: a,
dataType: f,
data: d,
success: e
})
}
});
c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
function(b, a) {
c.fn[a] = function(b) {
return this.on(a, b)
}
});
c.Md = function(b) {
return c.ajax({
url: b,
type: "GET",
dataType: "script",
async: !1,
global: !1,
"throws": !0
})
};
var Xa = /%20/g,
ya = /\[\]$/,
ra = /\r?\n/g,
Ya = /^(?:submit|button|image|reset|file)$/i,
Za = /^(?:input|select|textarea|keygen)/i;
c.param = function(b, a) {
function d(b, a) {
a = c.isFunction(a) ? a() : null == a ? "" : a;
f[f.length] = encodeURIComponent(b) + "=" + encodeURIComponent(a)
}
var e, f = [];
void 0 === a && (a = c.ajaxSettings && c.ajaxSettings.traditional);
if (c.isArray(b) || b.jquery &&
!c.isPlainObject(b)) c.each(b, function() {
d(this.name, this.value)
});
else
for (e in b) C(e, b[e], a, d);
return f.join("&").replace(Xa, "+")
};
c.fn.extend({
serialize: function() {
return c.param(this.serializeArray())
},
serializeArray: function() {
return this.map(function() {
var b = c.prop(this, "elements");
return b ? c.makeArray(b) : this
}).filter(function() {
var b = this.type;
return this.name && !c(this).is(":disabled") && Za.test(this.nodeName) && !Ya.test(b) && (this.checked || !ha.test(b))
}).map(function(b, a) {
b = c(this).val();
return null ==
b ? null : c.isArray(b) ? c.map(b, function(b) {
return {
name: a.name,
value: b.replace(ra, "\r\n")
}
}) : {
name: a.name,
value: b.replace(ra, "\r\n")
}
}).get()
}
});
c.ajaxSettings.xhr = function() {
if (this.isLocal) try {
return new ActiveXObject("Microsoft.XMLHTTP")
} catch (k) {}
try {
return new XMLHttpRequest
} catch (k) {}
};
var $a = 0,
sa = {},
ab = {
0: 200,
1223: 204
},
R = c.ajaxSettings.xhr();
G.cors = !!R && "withCredentials" in R;
G.ajax = R = !!R;
c.Kg(function(b) {
var c;
if (G.cors || R && !b.crossDomain) return {
send: function(a, d) {
var e, f = b.xhr(),
g = ++$a;
f.open(b.type,
b.url, b.async, b.username, b.password);
if (b.xhrFields)
for (e in b.xhrFields) f[e] = b.xhrFields[e];
b.mimeType && f.overrideMimeType && f.overrideMimeType(b.mimeType);
b.crossDomain || a["X-Requested-With"] || (a["X-Requested-With"] = "XMLHttpRequest");
for (e in a) f.setRequestHeader(e, a[e]);
c = function(b) {
return function() {
c && (delete sa[g], c = f.onload = f.onerror = null, "abort" === b ? f.abort() : "error" === b ? d(f.status, f.statusText) : d(ab[f.status] || f.status, f.statusText, "string" === typeof f.responseText ? {
text: f.responseText
} : void 0,
f.getAllResponseHeaders()))
}
};
f.onload = c();
f.onerror = c("error");
c = sa[g] = c("abort");
f.send(b.Pc && b.data || null)
},
abort: function() {
c && c()
}
}
});
c.parseHTML = function(b, a, d) {
if (!b || "string" !== typeof b) return null;
"boolean" === typeof a && (d = a, a = !1);
a = a || w;
var e = fa.exec(b);
d = !d && [];
if (e) return [a.createElement(e[1])];
e = c.be([b], a, d);
d && d.length && c(d).remove();
return c.merge([], e.childNodes)
};
var ta = c.fn.load;
c.fn.load = function(b, a, d) {
if ("string" !== typeof b && ta) return ta.apply(this, arguments);
var e, f, g = this,
h =
b.indexOf(" ");
if (0 <= h) {
var l = b.slice(h);
b = b.slice(0, h)
}
c.isFunction(a) ? (d = a, a = void 0) : a && "object" === typeof a && (e = "POST");
0 < g.length && c.ajax({
url: b,
type: e,
dataType: "html",
data: a
}).done(function(b) {
f = arguments;
g.html(l ? c("<div>").append(c.parseHTML(b)).find(l) : b)
}).complete(d && function(b, c) {
g.each(d, f || [b.responseText, c, b])
});
return this
};
return a.jQuery = a.$ = c
})(this);
(function() {
function a(b) {
var c = require("crypto"),
a = require("buffer").Gk;
return function(d) {
if ("string" === typeof d) return c.ah("sha1").update(d, "utf8").digest("hex");
if (d.constructor === ArrayBuffer) d = new Uint8Array(d);
else if (void 0 === d.length) return b(d);
return c.ah("sha1").update(new a(d)).digest("hex")
}
}
function d(c) {
return function(a) {
return (new b(!0)).update(a)[c]()
}
}
function b(b) {
b ? (q[0] = q[16] = q[1] = q[2] = q[3] = q[4] = q[5] = q[6] = q[7] = q[8] = q[9] = q[10] = q[11] = q[12] = q[13] = q[14] = q[15] = 0, this.ta = q) : this.ta = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
this.Xa = 1732584193;
this.Ya = 4023233417;
this.Za = 2562383102;
this.$a = 271733878;
this.bb = 3285377520;
this.block = this.start = this.xa = this.Oc = 0;
this.Jc = this.Ob = !1;
this.first = !0
}
var c = "object" === typeof window ? window : {},
e = !c.Ik && "object" === typeof process && process.uk && process.uk.node;
e && (c = global);
var f = !c.Hk && "object" === typeof module && module.kh,
g = "function" === typeof define && define.Lk,
h = "0123456789abcdef".split(""),
l = [-2147483648, 8388608, 32768, 128],
m = [24, 16, 8, 0],
p = ["hex", "array",
"digest", "arrayBuffer"
],
q = [];
b.prototype.update = function(b) {
if (!this.Jc) {
var a = "string" !== typeof b;
a && b.constructor === c.ArrayBuffer && (b = new Uint8Array(b));
for (var d, e = 0, f, g = b.length || 0, h = this.ta; e < g;) {
this.Ob && (this.Ob = !1, h[0] = this.block, h[16] = h[1] = h[2] = h[3] = h[4] = h[5] = h[6] = h[7] = h[8] = h[9] = h[10] = h[11] = h[12] = h[13] = h[14] = h[15] = 0);
if (a)
for (f = this.start; e < g && 64 > f; ++e) h[f >> 2] |= b[e] << m[f++ & 3];
else
for (f = this.start; e < g && 64 > f; ++e) d = b.charCodeAt(e), 128 > d ? h[f >> 2] |= d << m[f++ & 3] : (2048 > d ? h[f >> 2] |= (192 | d >> 6) << m[f++ &
3] : (55296 > d || 57344 <= d ? h[f >> 2] |= (224 | d >> 12) << m[f++ & 3] : (d = 65536 + ((d & 1023) << 10 | b.charCodeAt(++e) & 1023), h[f >> 2] |= (240 | d >> 18) << m[f++ & 3], h[f >> 2] |= (128 | d >> 12 & 63) << m[f++ & 3]), h[f >> 2] |= (128 | d >> 6 & 63) << m[f++ & 3]), h[f >> 2] |= (128 | d & 63) << m[f++ & 3]);
this.mi = f;
this.xa += f - this.start;
64 <= f ? (this.block = h[16], this.start = f - 64, this.hash(), this.Ob = !0) : this.start = f
}
4294967295 < this.xa && (this.Oc += this.xa / 4294967296 << 0, this.xa %= 4294967296);
return this
}
};
b.prototype.finalize = function() {
if (!this.Jc) {
this.Jc = !0;
var b = this.ta,
c = this.mi;
b[16] = this.block;
b[c >> 2] |= l[c & 3];
this.block = b[16];
56 <= c && (this.Ob || this.hash(), b[0] = this.block, b[16] = b[1] = b[2] = b[3] = b[4] = b[5] = b[6] = b[7] = b[8] = b[9] = b[10] = b[11] = b[12] = b[13] = b[14] = b[15] = 0);
b[14] = this.Oc << 3 | this.xa >> 29;
b[15] = this.xa << 3;
this.hash()
}
};
b.prototype.hash = function() {
var b = this.Xa,
c = this.Ya,
a = this.Za,
d = this.$a,
e = this.bb,
f, g = this.ta;
for (f = 16; 80 > f; ++f) {
var h = g[f - 3] ^ g[f - 8] ^ g[f - 14] ^ g[f - 16];
g[f] = h << 1 | h >>> 31
}
for (f = 0; 20 > f; f += 5) {
var l = c & a | ~c & d;
h = b << 5 | b >>> 27;
e = h + l + e + 1518500249 + g[f] << 0;
c = c << 30 | c >>> 2;
l =
b & c | ~b & a;
h = e << 5 | e >>> 27;
d = h + l + d + 1518500249 + g[f + 1] << 0;
b = b << 30 | b >>> 2;
l = e & b | ~e & c;
h = d << 5 | d >>> 27;
a = h + l + a + 1518500249 + g[f + 2] << 0;
e = e << 30 | e >>> 2;
l = d & e | ~d & b;
h = a << 5 | a >>> 27;
c = h + l + c + 1518500249 + g[f + 3] << 0;
d = d << 30 | d >>> 2;
l = a & d | ~a & e;
h = c << 5 | c >>> 27;
b = h + l + b + 1518500249 + g[f + 4] << 0;
a = a << 30 | a >>> 2
}
for (; 40 > f; f += 5) l = c ^ a ^ d, h = b << 5 | b >>> 27, e = h + l + e + 1859775393 + g[f] << 0, c = c << 30 | c >>> 2, l = b ^ c ^ a, h = e << 5 | e >>> 27, d = h + l + d + 1859775393 + g[f + 1] << 0, b = b << 30 | b >>> 2, l = e ^ b ^ c, h = d << 5 | d >>> 27, a = h + l + a + 1859775393 + g[f + 2] << 0, e = e << 30 | e >>> 2, l = d ^ e ^ b, h = a << 5 | a >>> 27, c =
h + l + c + 1859775393 + g[f + 3] << 0, d = d << 30 | d >>> 2, l = a ^ d ^ e, h = c << 5 | c >>> 27, b = h + l + b + 1859775393 + g[f + 4] << 0, a = a << 30 | a >>> 2;
for (; 60 > f; f += 5) l = c & a | c & d | a & d, h = b << 5 | b >>> 27, e = h + l + e - 1894007588 + g[f] << 0, c = c << 30 | c >>> 2, l = b & c | b & a | c & a, h = e << 5 | e >>> 27, d = h + l + d - 1894007588 + g[f + 1] << 0, b = b << 30 | b >>> 2, l = e & b | e & c | b & c, h = d << 5 | d >>> 27, a = h + l + a - 1894007588 + g[f + 2] << 0, e = e << 30 | e >>> 2, l = d & e | d & b | e & b, h = a << 5 | a >>> 27, c = h + l + c - 1894007588 + g[f + 3] << 0, d = d << 30 | d >>> 2, l = a & d | a & e | d & e, h = c << 5 | c >>> 27, b = h + l + b - 1894007588 + g[f + 4] << 0, a = a << 30 | a >>> 2;
for (; 80 > f; f += 5) l = c ^ a ^ d, h = b <<
5 | b >>> 27, e = h + l + e - 899497514 + g[f] << 0, c = c << 30 | c >>> 2, l = b ^ c ^ a, h = e << 5 | e >>> 27, d = h + l + d - 899497514 + g[f + 1] << 0, b = b << 30 | b >>> 2, l = e ^ b ^ c, h = d << 5 | d >>> 27, a = h + l + a - 899497514 + g[f + 2] << 0, e = e << 30 | e >>> 2, l = d ^ e ^ b, h = a << 5 | a >>> 27, c = h + l + c - 899497514 + g[f + 3] << 0, d = d << 30 | d >>> 2, l = a ^ d ^ e, h = c << 5 | c >>> 27, b = h + l + b - 899497514 + g[f + 4] << 0, a = a << 30 | a >>> 2;
this.Xa = this.Xa + b << 0;
this.Ya = this.Ya + c << 0;
this.Za = this.Za + a << 0;
this.$a = this.$a + d << 0;
this.bb = this.bb + e << 0
};
b.prototype.hex = function() {
this.finalize();
var b = this.Xa,
c = this.Ya,
a = this.Za,
d = this.$a,
e = this.bb;
return h[b >> 28 & 15] + h[b >> 24 & 15] + h[b >> 20 & 15] + h[b >> 16 & 15] + h[b >> 12 & 15] + h[b >> 8 & 15] + h[b >> 4 & 15] + h[b & 15] + h[c >> 28 & 15] + h[c >> 24 & 15] + h[c >> 20 & 15] + h[c >> 16 & 15] + h[c >> 12 & 15] + h[c >> 8 & 15] + h[c >> 4 & 15] + h[c & 15] + h[a >> 28 & 15] + h[a >> 24 & 15] + h[a >> 20 & 15] + h[a >> 16 & 15] + h[a >> 12 & 15] + h[a >> 8 & 15] + h[a >> 4 & 15] + h[a & 15] + h[d >> 28 & 15] + h[d >> 24 & 15] + h[d >> 20 & 15] + h[d >> 16 & 15] + h[d >> 12 & 15] + h[d >> 8 & 15] + h[d >> 4 & 15] + h[d & 15] + h[e >> 28 & 15] + h[e >> 24 & 15] + h[e >> 20 & 15] + h[e >> 16 & 15] + h[e >> 12 & 15] + h[e >> 8 & 15] + h[e >> 4 & 15] + h[e & 15]
};
b.prototype.toString = b.prototype.hex;
b.prototype.digest =
function() {
this.finalize();
var b = this.Xa,
c = this.Ya,
a = this.Za,
d = this.$a,
e = this.bb;
return [b >> 24 & 255, b >> 16 & 255, b >> 8 & 255, b & 255, c >> 24 & 255, c >> 16 & 255, c >> 8 & 255, c & 255, a >> 24 & 255, a >> 16 & 255, a >> 8 & 255, a & 255, d >> 24 & 255, d >> 16 & 255, d >> 8 & 255, d & 255, e >> 24 & 255, e >> 16 & 255, e >> 8 & 255, e & 255]
};
b.prototype.array = b.prototype.digest;
b.prototype.arrayBuffer = function() {
this.finalize();
var b = new ArrayBuffer(20),
c = new DataView(b);
c.setUint32(0, this.Xa);
c.setUint32(4, this.Ya);
c.setUint32(8, this.Za);
c.setUint32(12, this.$a);
c.setUint32(16,
this.bb);
return b
};
var D = function() {
var c = d("hex");
e && (c = a(c));
c.create = function() {
return new b
};
c.update = function(b) {
return c.create().update(b)
};
for (var f = 0; f < p.length; ++f) {
var g = p[f];
c[g] = d(g)
}
return c
}();
f ? module.kh = D : (c.sha1 = D, g && define(function() {
return D
}))
})();
lipscore.jQuery = window.jQuery.noConflict(!0);
(function(a) {
function d(b) {
var c = b.length,
a = c % 4;
b = (0 < c ? e[b.charAt(0)] << 18 : 0) | (1 < c ? e[b.charAt(1)] << 12 : 0) | (2 < c ? e[b.charAt(2)] << 6 : 0) | (3 < c ? e[b.charAt(3)] : 0);
b = [f(b >>> 16), f(b >>> 8 & 255), f(b & 255)];
b.length -= [0, 0, 2, 1][a];
return b.join("")
}
function b(b) {
switch (b.length) {
case 4:
return b = ((7 & b.charCodeAt(0)) << 18 | (63 & b.charCodeAt(1)) << 12 | (63 & b.charCodeAt(2)) << 6 | 63 & b.charCodeAt(3)) - 65536, f((b >>> 10) + 55296) + f((b & 1023) + 56320);
case 3:
return f((15 & b.charCodeAt(0)) << 12 | (63 & b.charCodeAt(1)) << 6 | 63 & b.charCodeAt(2));
default:
return f((31 &
b.charCodeAt(0)) << 6 | 63 & b.charCodeAt(1))
}
}
var c = a.Base64Decoder,
e = function(b) {
for (var c = {}, a = 0, d = b.length; a < d; a++) c[b.charAt(a)] = a;
return c
}("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),
f = String.fromCharCode,
g = /[\u00c0-\u00df][\u0080-\u00bf]|[\u00e0-\u00ef][\u0080-\u00bf]{2}|[\u00f0-\u00f7][\u0080-\u00bf]{3}/g,
h = a.atob ? function(b) {
return a.atob(b)
} : function(b) {
return b.replace(/[\s\S]{1,4}/g, d)
};
a.Base64Decoder = {
decode: function(c) {
return h(String(c).replace(/[-_]/g, function(b) {
return "-" ==
b ? "+" : "/"
}).replace(/[^A-Za-z0-9\+\/]/g, "")).replace(g, b)
},
noConflict: function() {
var b = a.Base64Decoder;
a.Base64Decoder = c;
return b
}
}
})(this);
(function() {
function a(c, a) {
if (!a) {
c = d(c);
a = "";
for (var e = c.length, f = 0, l, m, p; f < e;)
if (m = c[f++], 127 >= m) a += String.fromCharCode(m);
else {
if (191 < m && 223 >= m) p = m & 31, l = 1;
else if (239 >= m) p = m & 15, l = 2;
else if (247 >= m) p = m & 7, l = 3;
else throw "not a UTF-8 string";
for (var q = 0; q < l; ++q) {
m = c[f++];
if (128 > m || 191 < m) throw "not a UTF-8 string";
p <<= 6;
p += m & 63
}
if (55296 <= p && 57343 >= p) throw "not a UTF-8 string";
if (1114111 < p) throw "not a UTF-8 string";
65535 >= p ? a += String.fromCharCode(p) : (p -= 65536, a += String.fromCharCode((p >> 10) + 55296), a += String.fromCharCode((p &
1023) + 56320))
}
return a
}
a = "";
var D = c.indexOf("="); - 1 === D && (D = c.length);
e = 0;
for (var t = D >> 3 << 3; e < t;) {
f = b[c.charAt(e++)];
l = b[c.charAt(e++)];
m = b[c.charAt(e++)];
p = b[c.charAt(e++)];
q = b[c.charAt(e++)];
var z = b[c.charAt(e++)];
var n = b[c.charAt(e++)];
var v = b[c.charAt(e++)];
a += String.fromCharCode((f << 3 | l >>> 2) & 255) + String.fromCharCode((l << 6 | m << 1 | p >>> 4) & 255) + String.fromCharCode((p << 4 | q >>> 1) & 255) + String.fromCharCode((q << 7 | z << 2 | n >>> 3) & 255) + String.fromCharCode((n << 5 | v) & 255)
}
f = D - t;
2 === f ? (f = b[c.charAt(e++)], l = b[c.charAt(e++)],
a += String.fromCharCode((f << 3 | l >>> 2) & 255)) : 4 === f ? (f = b[c.charAt(e++)], l = b[c.charAt(e++)], m = b[c.charAt(e++)], p = b[c.charAt(e++)], a += String.fromCharCode((f << 3 | l >>> 2) & 255) + String.fromCharCode((l << 6 | m << 1 | p >>> 4) & 255)) : 5 === f ? (f = b[c.charAt(e++)], l = b[c.charAt(e++)], m = b[c.charAt(e++)], p = b[c.charAt(e++)], q = b[c.charAt(e++)], a += String.fromCharCode((f << 3 | l >>> 2) & 255) + String.fromCharCode((l << 6 | m << 1 | p >>> 4) & 255) + String.fromCharCode((p << 4 | q >>> 1) & 255)) : 7 === f && (f = b[c.charAt(e++)], l = b[c.charAt(e++)], m = b[c.charAt(e++)], p =
b[c.charAt(e++)], q = b[c.charAt(e++)], z = b[c.charAt(e++)], n = b[c.charAt(e++)], a += String.fromCharCode((f << 3 | l >>> 2) & 255) + String.fromCharCode((l << 6 | m << 1 | p >>> 4) & 255) + String.fromCharCode((p << 4 | q >>> 1) & 255) + String.fromCharCode((q << 7 | z << 2 | n >>> 3) & 255));
return a
}
function d(c) {
c = c.replace(/=/g, "");
for (var a, d, e, l, m, p, q, D, t = [], z = 0, n = c.length, v = 0, y = n >> 3 << 3; v < y;) a = b[c.charAt(v++)], d = b[c.charAt(v++)], e = b[c.charAt(v++)], l = b[c.charAt(v++)], m = b[c.charAt(v++)], p = b[c.charAt(v++)], q = b[c.charAt(v++)], D = b[c.charAt(v++)], t[z++] =
(a << 3 | d >>> 2) & 255, t[z++] = (d << 6 | e << 1 | l >>> 4) & 255, t[z++] = (l << 4 | m >>> 1) & 255, t[z++] = (m << 7 | p << 2 | q >>> 3) & 255, t[z++] = (q << 5 | D) & 255;
a = n - y;
2 === a ? (a = b[c.charAt(v++)], d = b[c.charAt(v++)], t[z++] = (a << 3 | d >>> 2) & 255) : 4 === a ? (a = b[c.charAt(v++)], d = b[c.charAt(v++)], e = b[c.charAt(v++)], l = b[c.charAt(v++)], t[z++] = (a << 3 | d >>> 2) & 255, t[z++] = (d << 6 | e << 1 | l >>> 4) & 255) : 5 === a ? (a = b[c.charAt(v++)], d = b[c.charAt(v++)], e = b[c.charAt(v++)], l = b[c.charAt(v++)], m = b[c.charAt(v++)], t[z++] = (a << 3 | d >>> 2) & 255, t[z++] = (d << 6 | e << 1 | l >>> 4) & 255, t[z++] = (l << 4 | m >>>
1) & 255) : 7 === a && (a = b[c.charAt(v++)], d = b[c.charAt(v++)], e = b[c.charAt(v++)], l = b[c.charAt(v++)], m = b[c.charAt(v++)], p = b[c.charAt(v++)], q = b[c.charAt(v++)], t[z++] = (a << 3 | d >>> 2) & 255, t[z++] = (d << 6 | e << 1 | l >>> 4) & 255, t[z++] = (l << 4 | m >>> 1) & 255, t[z++] = (m << 7 | p << 2 | q >>> 3) & 255);
return t
}
var b = {
A: 0,
B: 1,
C: 2,
D: 3,
E: 4,
F: 5,
G: 6,
H: 7,
I: 8,
J: 9,
K: 10,
L: 11,
M: 12,
N: 13,
O: 14,
P: 15,
Q: 16,
R: 17,
S: 18,
T: 19,
U: 20,
V: 21,
W: 22,
X: 23,
Y: 24,
Z: 25,
2: 26,
3: 27,
4: 28,
5: 29,
6: 30,
7: 31
},
c = {
decode: a
};
a.Mk = d;
("object" === typeof window ? window : {}).base32 = c
})();
lipscore.j = function() {
function a() {}
var d = JSON.parse('["7179f974019fc82923a8bd14", "889c3f3e4b6ac67269261324", "12f7f5deb7c21c5576ea43b1"]');
var b = "lipscore-rating-slider lipscore-rating-small lipscore-review-post lipscore-review-count lipscore-testimonial lipscore-service-review-testimonial lipscore-service-review-badge-starred lipscore-service-review-badge".split(" ");
var c = ["lipscore-rating", "lipscore-rating-slider", "lipscore-review-post", "lipscore-purchase"];
var e = "lipscore-rating-slider lipscore-rating-small lipscore-review-post lipscore-review-count lipscore-service-review-badge lipscore-service-review-badge-starred lipscore-service-review-testimonial lipscore-testimonial".split(" ");
var f = "lipscore-rating lipscore-rating-slider lipscore-review-post lipscore-purchase lipscore-review-list lipscore-service-review-list".split(" ");
a.Wk = function() {
return "https://wapi.lipscore.com"
};
a.Zk = function() {
return "https://users.lipscore.com"
};
a.Xk = function() {
return "https://static.lipscore.com/assets"
};
a.Uc = function(b) {
null == b && (b = "en");
return "no" === b ? "https://www.lipscore.no/" : "https://www.lipscore.com/"
};
a.ni = function() {
return d
};
a.nm = function() {
return "//img.youtube.com/vi"
};
a.Bl = function() {
return "lipscore-rating"
};
a.El = function() {
return "lipscore-rating-slider"
};
a.Fl = function() {
return "lipscore-rating-slider"
};
a.Gl = function() {
return "lipscore-embeded-slider"
};
a.Hl = function() {
return "lipscore-rating-small"
};
a.Il = function() {
return "ls-stars-value"
};
a.Dl = function() {
return "ls-selected-value"
};
a.Cl = function() {
return "ls-review-modal"
};
a.Rl = function() {
return "lipscore-review-post"
};
a.Sl = function() {
return "lipscore-review-post"
};
a.Nl = function() {
return "lipscore-review-list"
};
a.Ll = function() {
return "ls-review-flag-value"
};
a.Ka =
function() {
return "ls-review-id"
};
a.Tl = function() {
return "ls-review-vote-score"
};
a.Pl = function() {
return "ls-media-type"
};
a.Ol = function() {
return "ls-media-id"
};
a.Kl = function() {
return "lipscore-review-count"
};
a.Ml = function() {
return '["inappropriate", "fake", "spam"]'
};
a.Ql = function() {
return "ls-review-paging"
};
a.em = function() {
return "lipscore-testimonial"
};
a.Wl = function() {
return "lipscore-service-review-list"
};
a.Ul = function() {
return "lipscore-service-review-badge"
};
a.Vl = function() {
return "lipscore-service-review-badge-starred"
};
a.$l = function() {
return "lipscore-service-review-testimonial"
};
a.Zl = function() {
return "service_review"
};
a.Xl = function() {
return "lipscore-service-review-modal-list"
};
a.Yl = function() {
return "lipscore-service-review-modal-toggle"
};
a.Yk = function() {
return "ls-lipscore-product-id"
};
a.ml = function() {
return "ls-product-rating"
};
a.tl = function() {
return "ls-product-votes"
};
a.jl = function() {
return "ls-product-name"
};
a.el = function() {
return "ls-brand"
};
a.hl = function() {
return "ls-product-id"
};
a.pl = function() {
return "ls-sku"
};
a.ql = function() {
return ["ls-sku", "ls-id"]
};
a.sl = function() {
return "ls-product-url"
};
a.nl = function() {
return "ls-product-review-count"
};
a.gl = function() {
return "ls-description"
};
a.il = function() {
return "ls-image-url"
};
a.kl = function() {
return "ls-price"
};
a.ll = function() {
return "ls-price-currency"
};
a.dl = function() {
return "ls-availability"
};
a.fl = function() {
return "ls-category"
};
a.rl = function() {
return "ls-testimonial"
};
a.u = function() {
return "ls-product-type"
};
a.ol = function() {
return "ls-product-reviews"
};
a.ul = function() {
return "lipscore-purchase"
};
a.vl = function() {
return "ls-email"
};
a.wl = function() {
return "ls-name"
};
a.xl = function() {
return "ls-voucher-descr"
};
a.yl = function() {
return "ls-voucher-code"
};
a.zl = function() {
return "ls-template"
};
a.Dk = function() {
return "ls-widget-id"
};
a.mm = function() {
return "ls-widget-width"
};
a.jm = function() {
return "ls-widget-height"
};
a.km = function() {
return "ls-readonly"
};
a.$k = function() {
return 767
};
a.Rg = function() {
return b
};
a.Sg = function() {
return c
};
a.Th = function() {
return e
};
a.Uh = function() {
return f
};
return a
}();
lipscore.locale = {
common: {
image: "Bilde",
login: "Login",
logout: "Logg ut",
remove: "Slett",
powered_by: "Levert av Lipscore.no"
},
rating: {
login_to_rate: "Logg inn for \u00e5 gi en rating",
votes: "Stemmer"
},
review: {
confirm_flag: "Er du sikker p\u00e5 at du vil flagge denne anmeldelsen?",
login_to_flag: "Logg inn for \u00e5 flagge omtalen",
login_to_vote: "Vennligst logg inn",
overwrite: "Du har allerede anmeldt dette produktet, vil du overskrive den?",
publish: "Publiser",
purchased: "Kj\u00f8pt",
buyer: "kj\u00f8per",
read_more: "Les&nbsp;mer",
read_less: "Les&nbsp;mindre",
youtube_link: "YouTube video link",
write_review: "Skriv en anmeldelse...",
reviews: "Anmeldelser",
agree: "Jeg gir %{member_site_name} mitt samtykke til \u00e5 publisere denne omtalen",
product_review_instructions: " ",
service_review_instructions: "Her kan du skrive din omtale. Den kan v\u00e6re s\u00e5 kort eller lang du vil (min 10 tegn), men en god omtale forteller andre om akkurat din opplevelse. Beskriv gjerne aspekter som kanskje ikke er s\u00e5 \u00e5penbare. ",
flags: {
fake: "Falsk",
inappropriate: "Upassende",
spam: "Spam"
},
messages: {
auth: "Du m\u00e5 v\u00e6re innlogget for \u00e5 skrive en anmeldelse, trykk p\u00e5 Facebook/Twitter/Google-knappen for \u00e5 logge inn",
few_chars: "Anmeldelsen er for kort, 10 tegn er minimum",
many_chars: "Anmeldelsen er for lang, 4000 tegn er maksimum",
media: "Din anmeldelse er lagret men fordi den inneholder bilde/video/link m\u00e5 den kontrolleres. Du vil f\u00e5 en epost n\u00e5r kontrollen er utf\u00f8rt.",
regular: "Din anmeldelse er lagret og publisert! Du vil finne den igjen ved \u00e5 oppdatere siden",
delayed_publishing: "Din anmeldelse har blitt lagret! Du vil f\u00e5 en epost n\u00e5r den blir publisert.",
agree_required: "Du m\u00e5 gi %{member_site_name} samtykke til \u00e5 publisere denne omtalen"
},
statuses: {
edited: "Endret",
moderated: "Kontrollert",
"new": "Ny"
}
},
service_review: {
badge: {
based_on_votes: "Basert p\u00e5 %{votes} stemmer"
},
modal: {
title: "Omtaler",
rating_distribution: "Fordeling"
}
},
regret_modal: {
dear: "Kj\u00e6re",
message: "Vi beklager at du ikke har mottatt alle produktene fra oss enda. <br/>Dersom dette er uventet og du tror at noe er galt s\u00e5 ta kontakt med oss umiddelbart."
},
reviews_modal: {
email1_header: "Takk!",
email1_text: "Vi h\u00e5per alt gikk som forventet med forsendelsen",
email2_header: "Takk!",
email2_text: "Din rating er n\u00e5 lagret",
service_header: "Takk!",
service_text: "Din stjernerating er lagret",
question: "Gi din tilbakemelding n\u00e5",
reward: "Gi din anmeldelse n\u00e5<br/>(du vil f\u00e5 en p\u00e5skj\u00f8nnelse p\u00e5 epost for \u00e5 gi din mening)"
},
edit_review_modal: {
title: "Rediger din omtale"
},
review_modal: {
title: "Supert! Skriv gjerne ogs\u00e5 en omtale:"
},
lang: "no"
};
lipscore.c = function() {
function a() {}
a.placeholder = /(?:\{\{|%\{)(.*?)(?:\}\}?)/gm;
a.t = function(a, b) {
var c;
null == b && (b = {});
var d = lipscore.locale;
var f = a.split(".");
var g = 0;
for (c = f.length; g < c; g++) {
var h = f[g];
d = d[h];
if (!d) return a
}
return "string" !== typeof d ? a : this.fi(d, b)
};
a.lang = function() {
return lipscore.locale.lang
};
a.fi = function(a, b) {
null == b && (b = {});
var c = a.match(this.placeholder);
if (!c) return a;
for (; c.length;) {
var d = c.shift();
var f = d.replace(this.placeholder, "$1");
f = null != b[f] ? b[f].toString().replace(/\$/gm, "_#$#_") :
"";
d = new RegExp(d.replace(/\{/gm, "\\{").replace(/\}/gm, "\\}"));
a = a.replace(d, f)
}
return a.replace(/_#\$#_/g, "$")
};
return a
}();
this.LipscoreRatingStarsSvg = function() {
function a() {}
var d = {
brand: {
gc: "0 0 20 20",
html: '<g transform="matrix(0.921855,0,0,1,-0.245974,0)">\n <path d="M11.765,17.88L10.572,17L3.521,20L5.148,18.5L2.436,17L4.606,13L0.267,7L1.352,8C1.387,7.92 3.521,6 3.521,6L6.775,6L11.115,0L10.603,1.509L11.765,1.722L11.765,5.075L10.589,1.55L8.403,8L1.352,8L6.775,12L5.148,18.5L10.572,14L11.765,15L11.765,17.88Z"/>\n</g>\n<g class="lipscore-star-last-half" transform="matrix(1,0,0,1.01905,0,-0.381027)">\n <path d="M10,1.947L12,2.337L13,6.262L20,8.224L18,8.224L19,10.187L15,13.131L16,20L14.75,19.019L12,19.019L10,17.449L10,14.558L14.676,18.73L13,12.15L18,8.224L11.5,8.224L10,3.44L10,1.947Z"/>\n</g>'
},
sharp: {
gc: "0 0 19 18.1",
html: '<g transform="matrix(0.925652,0,0,1,-0.420427,0)">\n <path d="M11.365,1.998L11.365,14.023L10.729,13.57L4.379,18.09L7.06,11.103L0.454,6.91L8.462,7.112L10.729,0L11.365,1.998Z"/>\n</g>\n<g class="lipscore-star-last-half">\n <path d="M9.511,0C9.511,0 11.609,7.112 11.609,7.112L19,6.91L19,6.924L12.906,11.103L15.388,18.09L9.511,13.57C9.511,13.57 9.511,0 9.511,0Z"/>\n</g>'
},
smooth: {
gc: "0 0 19 18.1",
html: '<g transform="matrix(0.858427,0,0,1.03642,0,-0.349508)">\n <path d="M11.766,1.714L11.766,14.658L11.079,14.308L4.232,17.792L6.116,11.322L0,7.004L8.012,6.489L11.079,0.337L11.766,1.714Z"/>\n</g>\n<g class="lipscore-star-last-half" transform="matrix(1,0,0,1,-183.489,-464)">\n <path d="M195.633,470.376L202.511,470.91L197.261,475.384L198.878,482.09L193,478.48L193,464L195.633,470.376Z"/>\n</g>'
},
thick: {
gc: "0 0 19 18.1",
html: '<g transform="matrix(0.896868,0,0,0.983811,-0.279534,0)">\n <path d="M11.573,1.193L11.573,15.61L10.916,15.3L4.362,18.388L5.558,11.752L0.312,7.024L7.605,6.01L10.916,0L11.573,1.193Z"/>\n</g>\n<g class="lipscore-star-last-half" transform="matrix(1,0,0,1,-133.489,-464)">\n <path d="M142.989,464.021L143,464L145.97,469.912L152.511,470.91L147.805,475.561L148.878,482.09L143,479.052L142.989,479.058L142.989,464.021Z"/>\n</g>'
}
};
a.html = function(b) {
null == b && (b = {});
var c = null !=
b.size ? ' width="' + b.size + '" height="' + b.size + '" ' : "";
var a = d[b.type];
return '<svg viewBox="' + a.gc + '" class="' + b.Wj + ' lipscore-svg-rating-star" fill="' + b.color + '" ' + c + " " + b.Vi + ' style="fill-rule:evenodd;">\n' + a.html + "\n</svg>"
};
return a
}();
lipscore.Pg = "c94a2a7fc3ad9e5d1a141515,df7eab74ccc1cb0fc584b888,ca6ca12fb74a44dd3cc1f801,e0b22d9000dc0f32da604f7c,1f45ee06ed55515b9d72560a,54c3e9a0f694ebe394f6f922,2616dc198530c6b46aa05d24,b9c966607c05fddcfe7f55a6,18c9cf0a6c96ef59d7fb4a89,7e8e95291bcaf8223f6be152,5ed5ed7ddb98be23fd0f98df";
lipscore.Jf = function() {
var a = document.createElement("script");
a.type = "text/javascript";
a.innerHTML = "window.__lo_site_id = 82039;\n(function() {\n var wa = document.createElement('script'); wa.type = 'text/javascript'; wa.async = true;\n wa.src = 'https://d10lpsik1i8c69.cloudfront.net/w.js';\n var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(wa, s);\n})();";
document.getElementsByTagName("head")[0].appendChild(a)
};
lipscore.Ld = function() {
function a() {
this.items = [];
this.ee()
}
a.prototype.ee = function() {
var a;
var b = lipscore.a.Mc(this.Df(), this.Ef());
var c = [];
var e = 0;
for (a = b.length; e < a; e++) {
var f = b[e];
this.vb(f) ? c.push(void 0) : c.push(this.items.push(this.de(f)))
}
};
a.prototype.init = function() {
var a;
this.ee();
var b = this.items;
var c = [];
var e = 0;
for (a = b.length; e < a; e++) {
var f = b[e];
c.push(f.init())
}
return c
};
a.prototype.vb = function(a) {
var b;
var c = this.items;
var d = 0;
for (b = c.length; d < b; d++) {
var f = c[d];
if (a === f.f()) return f
}
};
a.prototype.oh = function(a) {
var b;
var c = this.items;
var d = 0;
for (b = c.length; d < b; d++) {
var f = c[d];
var g = f.f().getAttribute("ls-lipscore-product-id");
if (g === a) return f
}
};
return a
}();
lipscore.dg = function() {
function a(a, b) {
var c;
this.g = lipscore.qa.get();
this.type = b;
this.u = b.Rc() ? lipscore.mc.fg : lipscore.mc.Of;
this.g.ib(this.html(a.has_discount));
this.b = this.g.b;
this.Ve = lipscore.a.getElementsByClassName(this.Ad, this.b)[0];
var d = a.products;
var f = 0;
for (c = d.length; f < c; f++) b = d[f], this.Eg(b);
this.Wb = a.reminder_token
}
a.prototype.nb = "lipscore-reviews-modal";
a.prototype.Ad = "lipscore-reviews-products-wrapper";
a.prototype.Qf = "div";
a.prototype.Pf = "lipscore-product-row";
a.prototype.Ed = "lipscore-reviews-modal-review-wrapper";
a.prototype.Hf = "lipscore-reviews-modal-discount";
a.prototype.html = function(a) {
a = a ? lipscore.c.t("reviews_modal.reward") : lipscore.c.t("reviews_modal.question");
return '<div class="lipscore-delivered-box"></div>\n<div class="lipscore-reviews-modal-confirm">\n <div class="lipscore-reviews-modal-thank">' + lipscore.c.t("reviews_modal." + this.type.getName() + "_header") + '</div>\n <div class="lipscore-reviews-modal-hope">' + lipscore.c.t("reviews_modal." + this.type.getName() + "_text") + '</div>\n</div>\n<div class="lipscore-reviews-modal-items">\n <div class="lipscore-reviews-modal-inner-title">' +
a + ':</div>\n <div class="' + this.Ad + '"></div>\n</div>'
};
a.prototype.Li = function(a) {
return '<div class="lipscore-reviews-modal-rating-wrapper">\n ' + this.Ni(a) + '\n <div class="lipscore-reviews-modal-rating-slider lipscore-rating-slider" ls-lipscore-product-id="' + a.id + '" ls-review-modal="false"></div>\n</div>\n<div class="' + this.Ed + ' lipscore-hidden">\n <div class="' + this.Hf + '"></div>\n <div class="lipscore-review-post" ls-lipscore-product-id="' + a.id + '" ' + lipscore.j.u() + '="' + this.u + '"></div>\n<div>'
};
a.prototype.Ni = function(a) {
return this.type.Rc() ? "" : '<div class="lipscore-reviews-modal-product-name">' + a.name + "</div>"
};
a.prototype.hj = function() {
return lipscore.a.getElementsByClassName("lipscore-review-post", this.b)
};
a.prototype.show = function() {
return this.g.show(this.nb)
};
a.prototype.Tc = function() {
return !lipscore.a.Fe(this.b)
};
a.prototype.Eg = function(a) {
var b = document.createElement(this.Qf);
lipscore.a.addClass(b, this.Pf);
b.innerHTML = this.Li(a);
this.Ve.appendChild(b)
};
a.prototype.Qj = function(a) {
if (a =
lipscore.a.getElementsByClassName(this.Ed, a.parentNode.parentNode)[0]) lipscore.a.show(a), a = lipscore.a.getElementsByClassName("lipscore-review-textarea", a)[0], a.focus()
};
a.prototype.vj = function(a) {
var b;
if (a.has_discount && a.discount_descr && 0 < a.discount_descr.length) {
var c = lipscore.a.getElementsByClassName("lipscore-reviews-modal-discount", this.b);
var d = [];
var f = 0;
for (b = c.length; f < b; f++) {
var g = c[f];
g.textContent = a.discount_descr;
d.push(lipscore.a.show(g))
}
return d
}
};
return a
}();
lipscore.sd = function() {
function a() {}
a.Zb = function(a) {
return lipscore.i.request({
url: "https://users.lipscore.com/current",
type: "GET",
statusCode: {
200: function(b) {
if (0 < b.id && (lipscore.ba.get().Zb(b), a)) return a()
}
}
})
};
a.eb = function(d, b) {
var c;
var e = window.open("https://users.lipscore.com/sign_in/" + d, "_blank", "width=640,height=480,top=" + (screen.height - 480) / 2 + ",left=" + (screen.width - 640) / 2 + ",location=no,menubar=no,resizable=no,scrollbars=no,status=yes,titlebar=no,toolbar=no");
e.focus();
return c = setInterval(function() {
if (e.closed) return clearInterval(c),
a.Zb(b)
}, 500)
};
a.Wc = function() {
return lipscore.i.request({
url: "https://users.lipscore.com/sign_out",
type: "GET"
})
};
return a
}();
lipscore.Lf = function() {
function a() {}
a.get = function(a, b, c) {
return lipscore.i.request({
url: "https://wapi.lipscore.com/initial_data/products/show",
data: {
sku: a.w,
internal_id: a.ua,
widgets: a.types.sort().join(",")
},
type: "GET",
success: function(c, d, g) {
return b(a, c, g)
},
error: function() {
return c(a)
}
})
};
return a
}();
lipscore.Mf = function() {
function a() {}
a.get = function(a) {
return lipscore.i.request({
url: "https://wapi.lipscore.com/initial_data/settings/show",
type: "GET",
success: function(b) {
return a(b)
}
})
};
return a
}();
lipscore.Tf = function() {
function a() {}
a.post = function(a) {
if (0 < a.length) return a = lipscore.a.nk(a), lipscore.i.request({
url: "https://wapi.lipscore.com/products",
data: {
products: a
},
type: "POST"
})
};
return a
}();
lipscore.Dd = function() {
function a() {}
a.get = function(a, b) {
return lipscore.i.request({
url: "https://wapi.lipscore.com/invitations/" + a,
type: "GET",
statusCode: {
200: function(c) {
return b(c)
}
}
})
};
a.nj = function() {
var a;
var b = lipscore.Cd.get().Ue;
var c = [];
var e = b[0].getAttribute("ls-email");
var f = b[0].getAttribute("ls-name");
var g = b[0].getAttribute("ls-voucher-code");
var h = b[0].getAttribute("ls-voucher-descr");
var l = b[0].getAttribute("ls-template");
var m = 0;
for (a = b.length; m < a; m++) {
var p = b[m];
c.push(lipscore.fa.Ub(p))
}
return lipscore.i.request({
url: "https://wapi.lipscore.com/invitations",
data: {
invitation: {
buyer_email: e,
buyer_name: f,
discount_descr: h,
discount_voucher: g,
lang: lipscore.c.lang(),
template: l
},
products: c
},
type: "POST"
})
};
return a
}();
lipscore.Vf = function() {
function a() {}
a.get = function(a, b) {
return lipscore.i.request({
url: "https://wapi.lipscore.com/products/" + b + "/rating_distribution",
type: "GET",
success: function(b) {
return a(b)
}
})
};
return a
}();
lipscore.Fd = function() {
function a() {}
a.post = function(a, b, c, e, f) {
var d = f.Hh();
d = null != d ? lipscore.fa.Ub(d) : null;
return lipscore.i.request({
url: "https://wapi.lipscore.com/products/" + b + "/ratings",
data: {
lipscore: c,
ab: lipscore.zb.get().za(),
reminder_token: e,
lang: lipscore.c.lang(),
product: d
},
type: "POST",
statusCode: {
201: function(b) {
return a(b)
}
},
beforeSend: function() {
f.disable();
return !0
},
complete: function() {
return f.enable()
}
})
};
a.get = function(a, b) {
return lipscore.i.request({
url: "https://wapi.lipscore.com/ratings/" +
b,
type: "GET",
statusCode: {
200: function(b) {
return a(b)
}
}
})
};
return a
}();
lipscore.Gd = function() {
function a() {}
a.post = function(a, b) {
return lipscore.i.request({
url: "https://wapi.lipscore.com/review_images",
data: b,
processData: !1,
contentType: !1,
type: "POST",
statusCode: {
201: function(b) {
return a(b.id, b.thumb_url)
}
}
})
};
a["delete"] = function(a) {
return lipscore.i.request({
url: "https://wapi.lipscore.com/review_images/" + a + "/destroy",
type: "POST"
})
};
return a
}();
lipscore.ob = function() {
function a() {}
a.index = function(a, b, c) {
return lipscore.i.request({
url: "https://wapi.lipscore.com/products/" + b + "/reviews",
data: {
page: c
},
type: "GET",
success: function(b, c, d) {
a(b, c, d);
return lipscore.na("widgets-loaded")
}
})
};
a.get = function(a, b) {
return lipscore.i.request({
url: "https://wapi.lipscore.com/reviews/" + b,
type: "GET",
statusCode: {
200: function(b) {
return a(b)
}
}
})
};
a.Kb = function(a, b, c) {
return lipscore.i.request({
url: "https://wapi.lipscore.com/reviews/" + b + "/flags",
data: {
flag: c
},
type: "POST",
statusCode: {
201: function() {
return a()
}
}
})
};
a.hc = function(a, b, c) {
return lipscore.i.request({
url: "https://wapi.lipscore.com/reviews/" + b + "/votes",
data: {
points: c
},
type: "POST",
statusCode: {
201: function() {
return a()
}
}
})
};
a.post = function(d, b, c, e, f, g, h) {
var l = b.f();
var m = l.getAttribute("ls-lipscore-product-id");
l = lipscore.fa.Ub(l);
return lipscore.i.request({
url: "https://wapi.lipscore.com/products/" + m + "/reviews",
data: {
force: h,
text: c,
video: e,
images: f,
lang: lipscore.c.lang(),
reminder_token: g,
ab: lipscore.zb.get().za(),
product: l,
agreement: lipscore.Ea.Xd()
},
type: "POST",
statusCode: {
201: function(b) {
return d(b)
},
409: function() {
if (confirm(lipscore.c.t("review.overwrite"))) return a.post(d, b, c, e, f, g, !0)
}
},
beforeSend: function() {
return b.eh()
},
complete: function() {
return b.gh()
}
})
};
return a
}();
lipscore.lb = function() {
function a() {}
a.wa = function(a) {
this.set(a, !0);
this.yf(!0)
};
a.set = function(a, b) {
null == b && (b = !1);
if (b || !1 === lipscore.ba.get().sa) return lipscore.ba.get().Zb(a)
};
a.yf = function(a) {
if (a || !1 === lipscore.ba.get().sa) 0 < lipscore.ba.get().za() ? lipscore.na("logged-in") : lipscore.na("logged-out")
};
return a
}();
lipscore.xd = function() {
function a() {}
a.get = function() {
var a;
if (!lipscore.Od()) {
var b = lipscore.ga.Nh();
if (0 < b.length) {
lipscore.ga.nh(b);
lipscore.ga.Lg(b);
var c = lipscore.Kf.Fk(b);
var e = c.length;
var f = [];
var g = [];
var h = 0;
for (a = c.length; h < a; h++) b = c[h], g.push(lipscore.Lf.get(b, function(b, a, c) {
var d;
e--;
a.paging = lipscore.Bd.Oe(c);
a.id || (lipscore.ga.zi(b.types) && f.push(lipscore.fa.Ub(b.ta[0])), a = lipscore.fa.fe());
var g = b.ta;
c = 0;
for (d = g.length; c < d; c++) b = g[c], lipscore.ga.kd(b, a);
if (0 === e) return lipscore.pg.set(function() {
lipscore.na("widgets-loaded");
lipscore.pb.show();
lipscore.ie && new lipscore.Jf;
if (!lipscore.Ec) return lipscore.Tf.post(f)
})
}, function(b) {
var a;
var c = lipscore.fa.fe();
var d = b.ta;
var e = [];
var f = 0;
for (a = d.length; f < a; f++) b = d[f], e.push(lipscore.ga.kd(b, c));
return e
}));
return g
}
}
};
return a
}();
lipscore.yd = function() {
function a() {}
a.init = function() {
var a;
if (!lipscore.isInitialized() && !lipscore.isInitializationStarted() && null != window.lipscoreInit && (window.lipscoreInit(), !lipscore.Od())) return lipscore.wg(), (a = lipscore.ca.Aa(location.href, "lipscore_token")) && lipscore.nc.init(a), a = lipscore.ca.Aa(location.href, "lipscore_review_data"), null == a && (a = lipscore.ca.Aa(location.href, "lipscore_rating_data")), a && lipscore.Eb.init(a), lipscore.xd.get(), lipscore.isAutoPurchase() && lipscore.Uf.create(), document.onclick =
function() {
lipscore.jc.ve();
lipscore.la.get().Qb();
lipscore.h.get().Pb();
return lipscore.h.get().Rb()
}, lipscore.vg()
};
return a
}();
lipscore.mb = function() {
function a() {}
a.eb = function(a) {
return lipscore.sd.eb(a, function() {
lipscore.pb.wa();
return lipscore.na("logged-in")
})
};
a.Wc = function() {
lipscore.sd.Wc();
lipscore.ba.get().sh();
lipscore.Da.get().ac();
return lipscore.na("logged-out")
};
return a
}();
window.onload = function() {
return lipscore.yd.init()
};
lipscore.nc = function() {
function a() {}
a.init = function(b) {
var a;
var c = lipscore.ud.zf(b);
(a = null != c && null != c.invitation) && d(c);
return lipscore.Dd.get(a ? c.invitation.invitation_token : b, function(b) {
a || d(b);
var c = lipscore.ha.get();
if (null != c) return c.vj(b.invitation)
})
};
var d = function(b) {
return 0 < parseInt(lipscore.ca.Aa(location.href, "lipscore_received"), 10) ? (lipscore.vc(b.settings), lipscore.zb.get().oj(b.invitation.ab_test), lipscore.nc.Rj(b.invitation)) : lipscore.Zf.get().show(b.invitation.user)
};
a.Pj =
function(b) {
var a;
(a = lipscore.ha.get()) && a.Tc() && a.Qj(b.f())
};
a.Rj = function(a) {
var d;
lipscore.ha.create(a, c());
lipscore.la.get().init();
lipscore.Da.get().init();
a = lipscore.ha.get().hj();
var e = 0;
for (d = a.length; e < d; e++) {
var h = a[e];
h = lipscore.Da.get().vb(h);
h.wj();
h.Ra()
}
b();
return lipscore.ha.get().show()
};
var b = function() {
var b = lipscore.ca.Aa(location.href, "ls_pre_rate_p");
var a = lipscore.la.get().oh(b);
if (null != a) return b = lipscore.ca.Aa(location.href, "ls_pre_rate_v"), a.qf(b), a.$b(b), lipscore.Ab.post(a)
};
var c = function() {
var b = lipscore.ca.Aa(location.href, "ls_type");
return new lipscore.$f(b)
};
return a
}();
lipscore.Uf = function() {
function a() {}
a.create = function() {
if (0 < lipscore.Cd.get().Ue.length) return lipscore.Dd.nj()
};
return a
}();
lipscore.Ab = function() {
function a() {}
a.set = function(a) {
var b;
if (b = lipscore.Ca.get().f()) {
var c = Math.round(10 * a.lipscore) / 10;
b.setAttribute("ls-product-rating", c);
return b.setAttribute("ls-product-votes", a.votes)
}
};
a.show = function() {
var a, b;
lipscore.Ca.get().init();
lipscore.la.get().init();
if (a = lipscore.Ca.get().f()) {
var c = parseInt(a.getAttribute("ls-product-votes"), 10);
if (lipscore.o.He(c)) {
var e = lipscore.o.fc(a);
a = a.getAttribute("ls-product-review-count");
lipscore.Ca.get().ld(e);
lipscore.Ca.get().Kj(c);
lipscore.Ca.get().Aj(a)
} else lipscore.Ca.get().reset()
}
var f = lipscore.a.getElementsByClassName("lipscore-rating-small");
var g = [];
var h = 0;
for (b = f.length; h < b; h++) a = f[h], e = lipscore.o.fc(a), e = null != e ? parseFloat(e) : 0, c = parseInt(a.getAttribute("ls-product-votes"), 10), 0 < e && lipscore.o.He(c) ? g.push(new lipscore.Yf(a, e)) : g.push(void 0);
return g
};
a.post = function(d) {
var b;
var c = lipscore.la.get().items;
var e = [];
var f = 0;
for (b = c.length; f < b; f++) {
var g = c[f];
if (g === d || g.wb()) {
var h = g.Lh();
var l = g.f();
var m = l.getAttribute("ls-lipscore-product-id");
var p = g;
e.push(lipscore.Fd.post(function(b) {
null == b.user || null == lipscore.ha.get() && !lipscore.De || (lipscore.lb.wa(b.user), lipscore.pb.wa());
a.set(b);
a.show();
p.Xe(h);
lipscore.ga.kd(l, b);
lipscore.nc.Pj(p);
lipscore.na("rating-posted", b);
if (p.Ha) return lipscore.ma.showModal(p, h)
}, m, h, lipscore.ha.Wb(), g))
}
}
return e
};
return a
}();
lipscore.Jd = function() {
function a() {}
a.show = function(a, b, c) {
var d = lipscore.la.get();
d.init();
if (b) {
var f = a.Ti;
f = d.vb(f);
f.Xe(b)
}
b = lipscore.Da.get();
b.init();
b = b.vb(a.gj);
b.Ra();
c && b.nd(c);
a.show();
return b.focus()
};
return a
}();
lipscore.Eb = function() {
function a() {}
a.init = function(a) {
a = lipscore.ud.zf(a);
if (a.review) {
var b = a.review;
lipscore.ob.get(function(b) {
return lipscore.Eb.Be(b)
}, b.edit_token)
}
if (a.rating && !a.review) return a = a.rating, lipscore.Fd.get(function(b) {
return lipscore.Eb.Be(b)
}, a.edit_token)
};
a.Be = function(a) {
if (null != a.user) return lipscore.vc(a.settings), lipscore.lb.wa(a.user), lipscore.pb.wa(), lipscore.Eb.showModal(a)
};
a.showModal = function(a) {
var b, c;
lipscore.Db.init(a.product);
var d = lipscore.Db.get();
a.review &&
(c = a.review.text);
a.rating && (b = a.rating.lipscore);
return lipscore.Jd.show(d, b, c)
};
return a
}();
lipscore.ma = function() {
function a() {}
var d = ["flagged", "fix_requested", "removed"];
a.Bg = function(b) {
var a = b.Qc;
var d = new FormData;
d.append("image", a.files[0]);
var f = new Image;
f.src = window.URL.createObjectURL(a.files[0]);
return f.onload = function() {
var a = b.Dg(this.width, this.height);
return lipscore.Gd.post(function(c, d) {
if (c = b.Td(a, "image", c, d)) {
var e = c.cf;
e.onclick = function(a) {
return lipscore.aa.Ke(a, e, b)
};
return c.image.onclick = lipscore.aa.Je
}
}, d)
}
};
a.Fg = function(b) {
var a, d, f;
if ((a = prompt(lipscore.c.t("review.youtube_link"),
"")) && 0 < a.length && (d = lipscore.ca.Aa(a, "v"))) {
a = b.Ia;
var g = 0;
for (f = a.length; g < f; g++) {
var h = a[g];
h = h.hb;
"video" === h.getAttribute("ls-media-type") && b.df(h)
}
if (a = b.Cg(d, "//img.youtube.com/vi/" + d + "/2.jpg")) {
var l = a.cf;
l.onclick = function(a) {
return lipscore.aa.Ke(a, l, b)
};
return a.image.onclick = lipscore.aa.Je
}
}
};
a.Yi = function(b, a) {
var c = a.getAttribute("ls-media-type");
var d = a.getAttribute("ls-media-id");
b.df(a);
if ("image" === c) return lipscore.Gd["delete"](d)
};
a.Kb = function(b, a) {
b = lipscore.h.get().oe;
a = lipscore.h.get().lf;
if (confirm(lipscore.c.t("review.confirm_flag"))) return lipscore.ob.Kb(function() {
return lipscore.h.get().fh(b)
}, b, a)
};
a.post = function(b, a) {
null == a && (a = !1);
if (lipscore.Ea.ki(b)) {
var c = b.ja.innerHTML;
var f = b.Mh();
var g = b.zh();
return lipscore.ob.post(function(a) {
null != a.user && null != lipscore.ha.get() && (lipscore.lb.wa(a.user), lipscore.pb.wa());
b.Pi("media_content" === a.flag, "low" === a.rating_status, 0 <= d.indexOf(a.status));
return lipscore.na("review-published", a)
}, b, c, f, g, lipscore.ha.Wb(), a)
}
};
a.show = function(b,
a) {
var c, d = this;
var g = lipscore.h.get();
lipscore.Ea.cb(g, b, a, function(b) {
return lipscore.rc.get().bi(b)
}, function(b) {
return d.show(b, !0)
});
g = lipscore.a.getElementsByClassName("lipscore-review-count");
var h = [];
var l = 0;
for (c = g.length; l < c; l++) b = g[l], a = b.getAttribute("ls-product-review-count"), h.push(new lipscore.bg(b, a));
return h
};
a.hc = function() {
var b = lipscore.h.get().mf;
var a = lipscore.h.get().Cf;
var d = lipscore.h.get().hd;
return lipscore.ob.hc(function() {
return b.innerHTML = (parseInt(b.innerHTML, 10) +
d).toString()
}, a, d)
};
a.showModal = function(b, a) {
b = b.f();
b = {
id: b.getAttribute("ls-lipscore-product-id"),
type: b.getAttribute(lipscore.j.u())
};
lipscore.Id.init(b);
return lipscore.Jd.show(lipscore.Id.get(), a, "")
};
return a
}();
lipscore.eg = function() {
function a() {}
a.init = function() {
lipscore.rc.get().ci();
return lipscore.rc.get().ai()
};
return a
}();
lipscore.hg = function() {
function a() {}
a.show = function() {
var a;
var b = lipscore.a.getElementsByClassName("lipscore-service-review-badge");
var c = 0;
for (a = b.length; c < a; c++) {
var e = b[c];
new lipscore.gg(e)
}
b = lipscore.a.getElementsByClassName("lipscore-service-review-badge-starred");
var f = [];
c = 0;
for (a = b.length; c < a; c++) e = b[c], f.push(new lipscore.Kd(e));
return f
};
return a
}();
lipscore.jg = function() {
function a() {}
a.show = function(a, b) {
var c = this;
var d = lipscore.ig.get();
return lipscore.Ea.cb(d, a, b, null, function(b) {
return c.show(b, !0)
})
};
return a
}();
lipscore.mg = function() {
function a() {}
a.show = function(a) {
var b = new lipscore.lg(a);
a = a.getAttribute("ls-lipscore-product-id");
lipscore.Vf.get(function(a) {
a = new lipscore.Wf(a.distribution);
return b.Ag(a)
}, a);
return this.cb(b)
};
a.cb = function(a, b, c) {
var d = this;
return lipscore.Ea.cb(a.Bh(), b, c, function() {
return a.show()
}, function(b) {
return d.cb(a, b, !0)
})
};
return a
}();
lipscore.og = function() {
function a() {}
a.show = function() {
var a;
var b = lipscore.a.getElementsByClassName("lipscore-service-review-testimonial");
var c = [];
var e = 0;
for (a = b.length; e < a; e++) {
var f = b[e];
c.push(new lipscore.ng(f))
}
return c
};
return a
}();
lipscore.pg = function() {
function a() {}
a.set = function(b) {
var a;
return (a = lipscore.tc.getSettings()) ? d(a, b) : lipscore.Mf.get(function(a) {
return d(a, b)
})
};
a.get = function() {
return lipscore.tc.getSettings()
};
var d = function(b, a) {
lipscore.tc.md(b);
b.settings && lipscore.vc(b.settings);
lipscore.ga.Qh();
lipscore.ga.Rh();
lipscore.lb.set(b.user);
return a()
};
return a
}();
lipscore.tg = function() {
function a() {}
a.show = function() {
var a;
var b = lipscore.a.getElementsByClassName("lipscore-testimonial");
var c = [];
var e = 0;
for (a = b.length; e < a; e++) {
var f = b[e];
c.push(new lipscore.sg(f))
}
return c
};
return a
}();
lipscore.pb = function() {
function a() {}
a.wa = function() {
var a = lipscore.ba.get();
lipscore.Da.get().pa(a.pe(), a.getName());
lipscore.la.get().pa();
lipscore.la.get().wb() && lipscore.Ab.post(null);
lipscore.h.get().Bf && lipscore.ma.hc();
lipscore.h.get().me && lipscore.ma.Kb();
lipscore.h.get().pa()
};
a.show = function() {
lipscore.eg.init();
lipscore.Ab.show();
lipscore.ma.show();
lipscore.tg.show();
lipscore.jg.show();
lipscore.hg.show();
lipscore.og.show();
lipscore.lb.yf();
lipscore.Da.get();
if (!lipscore.isExpandable()) return lipscore.Da.get().Ra()
};
return a
}();
lipscore.zb = function() {
function a() {}
var d = null;
a.get = function() {
return null != d ? d : d = new b
};
var b = function() {
function b() {}
b.prototype.za = function() {
if (null != this.Gb) return this.Gb.id
};
b.prototype.Ah = function() {
if (null != this.Gb) return this.Gb.landing_template
};
b.prototype.oj = function(b) {
this.Gb = b
};
return b
}();
return a
}();
lipscore.Gf = function() {
function a(a, b) {
this.url = a;
this.data = b;
this.value = "";
this.wh()
}
a.prototype.value = function() {
return this.value
};
a.prototype.wh = function() {
try {
this.value = this.pk()
} catch (b) {
var a = b;
console.log("Lipscore bearer generation error: " + a)
}
};
a.prototype.pk = function() {
return window.btoa(this.kk())
};
a.prototype.kk = function() {
return this.kj() + "_" + this.ih()
};
a.prototype.kj = function() {
return Date.now()
};
a.prototype.ih = function() {
return sha1(this.vh())
};
a.prototype.vh = function() {
return this.qk() +
this.Ji()
};
a.prototype.Ji = function() {
return this.data instanceof FormData ? "" : decodeURIComponent(lipscore.ca.dh(this.data))
};
a.prototype.qk = function() {
var a = this.url.replace("https://wapi.lipscore.com", "");
return lipscore.ca.Wi(a)
};
return a
}();
lipscore.ba = function() {
function a() {}
var d = null;
a.get = function() {
return null != d ? d : d = new b
};
var b = function() {
function b() {
this.sa = !1;
this.tb = {}
}
b.prototype.pe = function() {
return this.tb.avatar_thumb_url
};
b.prototype.getName = function() {
return this.tb.name
};
b.prototype.za = function() {
return this.tb.id
};
b.prototype.Zb = function(b) {
if ((this.tb = b) && 0 < b.id) return this.sa = !0
};
b.prototype.sh = function() {
this.tb = null;
this.sa = !1
};
return b
}();
return a
}();
lipscore.mc = function() {
function a(a) {
this.name = function() {
switch (a) {
case "product":
return d;
case "service":
return b;
default:
return d
}
}()
}
var d = "product";
var b = "service";
a.Of = d;
a.fg = b;
a.prototype.getName = function() {
return this.name
};
a.prototype.ii = function() {
return this.name === d
};
a.prototype.Rc = function() {
return this.name === b
};
return a
}();
lipscore.$f = function() {
function a(a) {
this.name = function() {
switch (a) {
case "email1":
return d;
case "email2":
return b;
case "service":
return c;
default:
return d
}
}()
}
var d = "email1";
var b = "email2";
var c = "service";
a.prototype.getName = function() {
return this.name
};
a.prototype.Rc = function() {
return this.name === c
};
return a
}();
lipscore.qc = function() {
function a(b) {
this.bf = b;
this.ye = this.ea("ls-image-url");
this.ae = this.ea("ls-brand");
this.name = this.ea("ls-product-name");
this.ce = this.ea("ls-category");
this.cd = this.ea("ls-product-votes");
this.Xb = this.ea("ls-product-review-count");
this.$d = lipscore.gb;
this.Se = this.ea("ls-price-currency");
this.Re = this.ea("ls-price");
this.url = this.ea("ls-product-url");
this.kf = this.xh();
this.w = this.ea("ls-sku").split(";")[0];
b = this.ea("ls-description");
b = lipscore.a.lj(b);
this.description = b.trim().substr(0,
d);
b = this.ea("ls-product-rating");
b = lipscore.o.xf(b);
this.Ui = lipscore.o.va(b);
this.Zd = "1" === this.ea("ls-availability") ? "http://schema.org/InStock" : "http://schema.org/OutOfStock"
}
var d = 200;
a.prototype.Mi = function() {
return this.stringify(this.ad())
};
a.prototype.Fi = function() {
var b = window.location.protocol + "//" + window.location.host;
b = {
"@context": "http://schema.org",
"@type": "Organization",
"@id": "" + b + "/#organization",
url: b,
aggregateRating: this.Wd(),
review: this.jf()
};
return this.stringify(b)
};
a.prototype.Oi =
function(b) {
b = b ? this.Te() : this.ad();
b.review = this.jf();
return this.stringify(b)
};
a.prototype.Te = function() {
return {
"@context": "http://schema.org",
"@type": "Product",
"@id": "" + this.url + "#this",
name: this.name
}
};
a.prototype.ad = function() {
var b = this.Te();
b.url = this.url;
b.aggregateRating = this.Wd();
this.Ba(this.description) && (b.description = this.description);
this.Ba(this.ye) && (b.image = this.ye);
this.Ba(this.w) && (b.productID = "sku:" + this.w);
this.Ba(this.ae) && (b.brand = {
"@type": "Brand",
name: this.ae
});
this.Ba(this.ce) &&
(b.category = this.ce);
this.Ba(this.Re) && this.Ba(this.Se) && (b.offers = {
"@type": "Offer",
price: this.Re,
priceCurrency: this.Se
}, this.Ba(this.Zd) && (b.offers.availability = this.Zd));
return b
};
a.prototype.Wd = function() {
if (0 < this.Xb || 0 < this.cd) {
var b = {
"@type": "AggregateRating",
ratingValue: this.Ui,
bestRating: this.$d,
worstRating: 0
};
0 < this.Xb && (b.reviewCount = this.Xb);
0 < this.cd && (b.ratingCount = this.cd);
return b
}
};
a.prototype.jf = function() {
var b;
var a = this.kf;
var d = [];
var f = 0;
for (b = a.length; f < b; f++) {
var g = a[f];
d.push({
"@type": "Review",
author: {
"@type": "Person",
name: g.user.name || g.user
},
datePublished: g.created_at,
reviewBody: g.text,
reviewRating: {
"@type": "Rating",
ratingValue: lipscore.o.va(g.lipscore),
bestRating: this.$d,
worstRating: 0
}
})
}
return d
};
a.prototype.ea = function(b) {
return this.bf[b] || ""
};
a.prototype.xh = function() {
return this.bf.reviews || []
};
a.prototype.Ba = function(b) {
return null != b && 0 < b.toString().length
};
a.prototype.stringify = function(b) {
return JSON.stringify(b, "", 2)
};
return a
}();
lipscore.jc = function() {
function a() {}
a.hk = function(a, b) {
a.preventDefault();
a.stopPropagation();
lipscore.a.toggleClass(b, "lipscore-dropdown-menu-active");
lipscore.la.get().Qb();
lipscore.h.get().Pb();
return lipscore.h.get().Rb()
};
a.ve = function() {
var a;
var b = lipscore.a.getElementsByClassName("lipscore-dropdown-menu");
var c = [];
var e = 0;
for (a = b.length; e < a; e++) {
var f = b[e];
c.push(lipscore.a.removeClass(f, "lipscore-dropdown-menu-active"))
}
};
return a
}();
lipscore.kc = function() {
function a() {}
a.lh = function(a) {
a.stopPropagation();
return lipscore.mb.eb("facebook")
};
a.Oh = function(a) {
a.stopPropagation();
return lipscore.mb.eb("gplus")
};
a.lk = function(a) {
a.stopPropagation();
return lipscore.mb.eb("twitter")
};
a.Qk = function(a) {
a.stopPropagation();
return lipscore.mb.eb("custom")
};
return a
}();
lipscore.lc = function() {
function a() {}
a.Wg = function() {
return lipscore.qa.get().hide()
};
a.ui = function(a) {
if (a.target === a.currentTarget) return lipscore.qa.get().hide()
};
a.Xg = function(a) {
if (27 === a.which) return lipscore.qa.get().hide()
};
return a
}();
lipscore.Rf = function() {
function a() {}
a.Zc = function(a) {
a.preventDefault();
if (lipscore.a.hasClass(this, "active")) return !1;
a = this.getAttribute("pageNum");
return this.Zc(a)
};
return a
}();
lipscore.Bb = function() {
function a() {}
a.Xj = function(a, b, c) {
a.stopPropagation();
if (c.isEnabled()) return a = c.re(b), c.qf(a), c.$b(a), lipscore.ba.get().sa || lipscore.ha.get() || lipscore.De ? lipscore.Ab.post(c) : c.Mj()
};
a.Yj = function(a, b) {
if (b.isEnabled()) return a = b.re(a), b.$b(a)
};
a.Zj = function(a, b, c) {
if (c.isEnabled() && (a = a.toElement || a.relatedTarget) && a.parentNode !== b && a !== b) return c.ff(), c.le(), c.Kc()
};
a.fj = function(a) {
a.preventDefault();
lipscore.na("review-count-link-clicked");
if (a = lipscore.h.get().f()) return lipscore.a.mj(a)
};
return a
}();
lipscore.aa = function() {
function a() {}
a.Zh = function(a) {
return a.Qc.click()
};
a.Yh = function(a) {
return lipscore.ma.Bg(a)
};
a.vk = function(a) {
return lipscore.ma.Fg(a)
};
a.qh = function(a) {
a.preventDefault();
a.stopPropagation();
lipscore.jc.ve();
lipscore.h.get().Cj(this);
return lipscore.ba.get().sa ? lipscore.ma.Kb() : lipscore.h.get().ik(this)
};
a.ri = function(a) {
a.preventDefault();
return lipscore.mb.Wc()
};
a.Je = function(a) {
a.preventDefault();
return lipscore.a.toggleClass(this.parentNode, "lipscore-review-media-frame-active")
};
a.Ke =
function(a, b, c) {
a.preventDefault();
return lipscore.ma.Yi(c, b.parentNode.parentNode)
};
a.Ii = function(a, b) {
a.preventDefault();
a = lipscore.Db.get() && lipscore.Db.get().Tc();
return lipscore.ma.post(b, a)
};
a.Af = function(a) {
a.stopPropagation();
lipscore.h.get().Dj(this);
return lipscore.ba.get().sa ? lipscore.ma.hc() : lipscore.h.get().jk(this)
};
a.Ci = function(a) {
a.preventDefault();
var b = lipscore.oc.Dh(this);
a = lipscore.oc.Ch(this);
return lipscore.Nf.get().Nj(b, a)
};
a.Ki = function(a, b) {
a.onfocus = null;
if (!b.active) return b.Ra()
};
return a
}();
lipscore.sc = function() {
function a() {}
a.Fc = function(a) {
a.stopPropagation();
return lipscore.mg.show(this)
};
return a
}();
lipscore.qg = function() {
function a() {}
a.gk = function(a, b, c) {
a.stopPropagation();
return b.Sj(c)
};
return a
}();
lipscore.i = function() {
function a() {}
a.request = function(a) {
var b = lipscore.jQuery.extend(!0, {}, {
global: !1,
dataType: "json",
xhrFields: {
withCredentials: !0
}
}, a);
b.url = lipscore.ca.Vd(b.url, {
api_key: lipscore.appId
});
"POST" === b.type && (a = (new lipscore.Gf(b.url, b.data)).value, b.url = lipscore.ca.Vd(b.url, {
bearer: a
}));
return lipscore.jQuery.ajax(b)
};
return a
}();
lipscore.ud = function() {
function a() {}
a.zf = function(a) {
a = decodeURIComponent(a);
try {
var b = a.replace(/a/g, "=");
var c = JSON.parse(base32.decode(b))
} catch (e) {
try {
c = JSON.parse(Base64Decoder.decode(a))
} catch (f) {
c = null
}
}
return c
};
return a
}();
lipscore.wd = function() {
function a() {}
a.rh = function(a) {
return "review.flags." + a
};
a.cm = function(a) {
return "review.statuses." + a
};
a.Uc = function() {
return lipscore.j.Uc(lipscore.c.lang())
};
return a
}();
lipscore.Kf = function() {
function a() {}
var d = [];
a.ad = function() {
var b = lipscore.fa.bd((void 0).block);
var a = function(b) {
if (null != b) return {
Dk: null,
lm: (void 0).type,
id: b,
block: (void 0).block
}
};
if (lipscore.fa.Ge(b.ua)) return a(b.ua);
if (lipscore.fa.Ge(b.w)) return a(b.w)
};
a.Fk = function(a) {
var c, f;
var g = 0;
for (c = a.length; g < c; g++) {
var h = a[g];
var l = lipscore.fa.bd(h.block);
if (0 === d.length) b(l.ua, l.w, h.type, h.block);
else {
var m = null;
var p = 0;
for (f = d.length; p < f; p++) {
var q = d[p];
if (q.ua === l.ua && q.w === l.w) {
m = q;
break
}
}
m ?
(m.ta.push(h.block), -1 === m.types.indexOf(h.type) && m.types.push(h.type)) : b(l.ua, l.w, h.type, h.block)
}
}
return d
};
var b = function(b, a, f, g) {
return d.push({
ua: b,
w: a,
types: [f],
ta: [g]
})
};
return a
}();
lipscore.Bd = function() {
function a() {}
a.Oe = function(a) {
this.xhr = a;
return JSON.parse(this.xhr.getResponseHeader("X-Pagination"))
};
return a
}();
lipscore.fa = function() {
function a() {}
var d = {
id: 0,
votes: 0,
lipscore: 0,
review_count: 0
};
a.bd = function(b) {
return {
ua: this.ei(b),
w: this.w(b)
}
};
a.Ub = function(b) {
var a = this.bd(b);
return {
name: b.getAttribute("ls-product-name"),
brand: b.getAttribute("ls-brand"),
url: b.getAttribute("ls-product-url"),
image_url: b.getAttribute("ls-image-url"),
price: b.getAttribute("ls-price"),
currency: b.getAttribute("ls-price-currency"),
category: b.getAttribute("ls-category"),
internal_id: a.ua,
sku_values: a.w
}
};
a.w = function(b) {
var a;
var d = ["ls-sku", "ls-id"];
var f = 0;
for (a = d.length; f < a; f++) {
var g = d[f];
g = b.getAttribute(g);
if (null != g) break
}
if (null != g) return g
};
a.ei = function(b) {
var a = b.getAttribute("ls-product-id");
!a && lipscore.ga.ji(b) && (a = "service_review");
return a
};
a.fe = function() {
return d
};
a.Ge = function(b) {
return null != b && 0 < b.toString().length
};
a.$g = function(b, a) {
var c = function(c) {
var d = b.getAttribute(c);
if (null != d) return a.setAttribute(c, d)
};
c("ls-product-name");
c("ls-brand");
c("ls-product-url");
c("ls-description");
c("ls-image-url");
c("ls-price");
c("ls-price-currency");
c("ls-category");
c("ls-product-id");
return c("ls-sku")
};
return a
}();
lipscore.o = function() {
function a() {}
a.va = function(a) {
return lipscore.rb() ? Math.round(10 * a) / 10 : Math.round(a / 2 * 10) / 10
};
a.fc = function(a) {
a = a.getAttribute("ls-product-rating");
return this.xf(a)
};
a.xf = function(a) {
return null != a ? parseFloat(a) : 0
};
a.He = function(a) {
return a >= lipscore.Le
};
return a
}();
lipscore.ag = function() {
function a() {}
var d = {
xs: {
height: 0,
width: 480
},
s: {
height: 0,
width: 750
},
m: {
height: 0,
width: 970
}
};
a.Gg = function(b, a) {
var c;
null == a && (a = d);
var f = lipscore.a.Wa(b, "width");
var g = lipscore.a.Wa(b, "height");
var h = [];
for (c in a) {
var l = a[c];
if (null != l.width && f <= l.width || null != l.height && g <= l.height) {
lipscore.a.addClass(b, "lipscore-view-" + c);
break
} else h.push(void 0)
}
};
return a
}();
lipscore.Ea = function() {
function a() {}
a.cb = function(a, b, c, e, f) {
var d, h;
var l = function(b, c) {
var d = JSON.parse('["inappropriate", "fake", "spam"]');
c.callback = f;
lipscore.Ea.Zi(a, b, d, c);
if (e) return e(b)
};
if ((d = a.f()) && (!a.ij() || c)) {
c = d.getAttribute("ls-lipscore-product-id");
d.getAttribute("ls-product-review-count");
if (h = JSON.parse(d.getAttribute("ls-product-reviews"))) {
d.removeAttribute("ls-product-reviews");
var m = JSON.parse(d.getAttribute("ls-review-paging"));
return l(h, m)
}
if (null != c && 0 < parseInt(c, 10)) return lipscore.ob.index(function(a,
b, c) {
m = lipscore.Bd.Oe(c);
return l(a, m)
}, c, b)
}
};
a.ki = function(a) {
var b = a.Jh();
var c = !lipscore.ba.get().sa && !lipscore.ha.get();
var d = a.Ig.checked;
var f = null;
c && (f = lipscore.c.t("review.messages.auth"));
d || (f = lipscore.c.t("review.messages.agree_required", {
member_site_name: lipscore.Yc
}));
!f && 10 > b.length && (f = lipscore.c.t("review.messages.few_chars"));
!f && 4E3 < b.length && (f = lipscore.c.t("review.messages.many_chars"));
f && a.error(f);
return !f
};
a.Zi = function(a, b, c, e) {
var d, g, h;
a.di(b.length, c);
var l = d = 0;
for (h =
b.length; 0 <= h ? d < h : d > h; l = 0 <= h ? ++d : --d) {
c = b[l];
l = a.Kh(l);
l.nd(c.text);
l.qj(c.user.name, c.user.avatar_thumb_url);
l.uj(c.created_at);
l.Jj(c.votes_up, c.votes_down);
c.purchase_date && l.yj(c.purchase_date);
c.lipscore && l.ld(c.lipscore);
l.Bj(c.id);
l.zj(c.review_reply);
c.video && l.Ij(c.video);
var m = c.images;
var p = 0;
for (g = m.length; p < g; p++) {
var q = m[p];
l.xj(q.thumb_url, q.image_url)
}
p = l.Ak;
q = l.zk;
p.setAttribute(lipscore.j.Ka(), c.id);
q.setAttribute(lipscore.j.Ka(), c.id);
p.onclick = lipscore.aa.Af;
q.onclick = lipscore.aa.Af;
g = l.flags;
q = 0;
for (p = g.length; q < p; q++) l = g[q], l.setAttribute(lipscore.j.Ka(), c.id), l.onclick = lipscore.aa.qh
}
e && new lipscore.Sf(a.f(), e.callback, e.page, e.total_pages)
};
a.Xd = function() {
return lipscore.c.t("review.agree", {
member_site_name: lipscore.Yc
})
};
return a
}();
lipscore.tc = function() {
function a() {}
a.md = function(a) {
return sessionStorage.setItem("settings", JSON.stringify(a))
};
a.getSettings = function() {
return JSON.parse(sessionStorage.getItem("settings"))
};
a.Al = function() {
var a = this.getSettings();
a.rk = {
id: -1
};
return this.md(a)
};
a.am = function(a) {
var b = this.getSettings();
b.rk = a;
return this.md(b)
};
return a
}();
lipscore.Fb = function() {
function a() {}
a.select = function(a) {
if (!(0 < a.length)) return null;
var b = this.Uj(a);
return 4 >= a.length ? b : b.slice(0, 4)
};
a.Uj = function(a) {
var b;
for (b = a.length; 0 < --b;) {
var c = ~~(Math.random() * (b + 1));
var d = a[c];
a[c] = a[b];
a[b] = d
}
return a
};
a.ed = function(a) {
return JSON.parse(a.getAttribute("ls-testimonial"))
};
return a
}();
lipscore.ca = function() {
function a() {}
var d = ["lipscore_user_token", "lipscore_review_data", "lipscore_token", "lipscore_rating_data"];
a.Aa = function(a, c) {
var b;
if (a = this.getQuery(a)) {
var d = a.split("&");
a = 0;
for (b = d.length; a < b; a++) {
var g = d[a];
g = g.split("=");
if (g[0] === c) return decodeURI(g[1])
}
}
return null
};
a.Vd = function(a, c) {
c = lipscore.jQuery.param(c);
a = a.split("#");
a[0] += (-1 !== a[0].indexOf("?") ? "&" : "?") + c;
return a.join("#")
};
a.getQuery = function(a) {
var b = this.Yd(a);
return a.substring(a.indexOf("?") + 1, -1 !==
b ? b : a.length)
};
a.Wi = function(a) {
var b = this.Yd(a);
return -1 !== b ? a.substr(0, b - 1) : a
};
a.Yd = function(a) {
return a.indexOf("#")
};
a.dh = function(a) {
a = lipscore.a.Hc(a);
return lipscore.jQuery.param(a)
};
a.bh = function() {
var a;
var c = document.URL;
var e = function(a) {
var b = c.indexOf("?" + a); - 1 === b && (b = c.indexOf("&" + a));
return c = 0 < b ? c.substring(0, b) : c
};
var f = 0;
for (a = d.length; f < a; f++) {
var g = d[f];
e(g)
}
return c
};
return a
}();
(function() {
var a = [].indexOf || function(a) {
for (var b = 0, c = this.length; b < c; b++)
if (b in this && this[b] === a) return b;
return -1
};
lipscore.a = function() {
function d() {}
var b = "Jan Feb Mar Apr May June July Aug Sept Oct Nov Dec".split(" ");
d.addClass = function(a, b) {
this.block = a;
this["class"] = b;
if (a = a.getAttribute("class")) {
if (0 > a.indexOf(this["class"])) return this.block.setAttribute("class", a + (" " + this["class"]))
} else return this.block.setAttribute("class", this["class"])
};
d.Nk = function(a) {
this.bc = a;
return this.bc.charAt(0).toUpperCase() +
this.bc.slice(1)
};
d.Qg = function(a) {
this.bc = a;
return this.bc.replace(/(?:^|[-_])(\w)/g, function(a, b) {
return b ? b.toUpperCase() : ""
})
};
d.Rk = function(a) {
this.ia = a;
a = 10 < this.ia.getDate() ? this.ia.getDate().toString() : "0" + this.ia.getDate();
return "" + b[this.ia.getMonth()] + " " + a + " " + this.ia.getFullYear()
};
d.Ua = function(a) {
this.ia = a;
a = 10 <= this.ia.getDate() ? this.ia.getDate().toString() : "0" + this.ia.getDate();
var b = this.ia.getMonth() + 1;
return "" + this.ia.getFullYear() + "-" + (10 <= b ? b.toString() : "0" + b) + "-" + a
};
d.hasClass =
function(a, b) {
this.block = a;
this["class"] = b;
return void 0 === a.className ? !1 : (a = a.getAttribute("class")) && 0 <= a.indexOf(this["class"])
};
d.se = function(a, b) {
return a.id === b
};
d.removeClass = function(a, b) {
this.block = a;
this["class"] = b;
if (a = a.getAttribute("class")) return this.block.setAttribute("class", a.replace(this["class"], "").trim())
};
d.$i = function(a, b, d) {
this.block = a;
this.Bi = b;
this.yi = d;
this.removeClass(this.block, this.Bi);
return this.addClass(this.block, this.yi)
};
d.toggleClass = function(a, b) {
this.block =
a;
this["class"] = b;
return this.hasClass(this.block, this["class"]) ? this.removeClass(this.block, this["class"]) : this.addClass(this.block, this["class"])
};
d.hide = function(a) {
this.block = a;
return this.addClass(this.block, "lipscore-hidden")
};
d.show = function(a) {
this.block = a;
return this.removeClass(this.block, "lipscore-hidden")
};
d.hm = function(a) {
this.block = a;
return this.toggleClass(this.block, "lipscore-hidden")
};
d.Fe = function(a) {
this.block = a;
return this.hasClass(this.block, "lipscore-hidden")
};
d.jd = function(a,
b) {
this.block = a;
null !== b.top && (this.block.style.top = b.top + "px");
null !== b.left && (this.block.style.left = b.left + "px")
};
d.Mc = function(a, b) {
a = Array.prototype.slice.call(lipscore.a.getElementsByClassName(a));
null != b && (b = document.getElementById(b)) && a.push(b);
return a
};
d.mj = function(a) {
var b = function() {
return null != window.pageYOffset ? window.pageYOffset : document.documentElement.clientHeight ? document.documentElement.scrollTop : document.body.scrollTop
};
var c = function(a, d) {
if (!(0 >= d)) {
var e = (a - b()) / d;
return setTimeout(function() {
top.window.scroll(0,
b() + e);
return c(a, d - 1)
}, 0)
}
};
var d = document.documentElement.clientTop || document.body.clientTop || 0;
a = a.getBoundingClientRect().top + b() - d;
return c(a, 50)
};
d.Lc = function(a) {
var b;
this.block = a;
var c = {};
if (this.block.hasAttributes()) {
var d = this.block.attributes;
var h = 0;
for (b = d.length; h < b; h++) a = d[h], c[a.name] = a.value
}
return c
};
d.lj = function(a) {
this.text = a;
return this.text.replace(/(<([^>]+)>)/ig, "").replace(/(\r\n|\n|\r)/gm, " ")
};
d.Uk = function() {
var b = window;
var d = "inner";
0 <= a.call(window, "innerWidth") ||
(d = "client", b = document.documentElement || document.body);
return 767 >= b[d + "Width"]
};
d.te = function(a, b) {
return a.parentNode && (this.hasClass(a.parentNode, b) || this.te(a.parentNode, b))
};
d.nk = function(a) {
var b = {};
return a.filter(function(a) {
a = JSON.stringify(a);
return b.hasOwnProperty(a) ? !1 : b[a] = !0
})
};
d.getElementsByClassName = function(a, b) {
null == b && (b = document);
return b.getElementsByClassName(a) || []
};
d.Wa = function(a, b) {
var c;
null == c && (c = "px");
a = window.getComputedStyle(a).getPropertyValue(b);
return null != c ?
parseInt(a.replace(c, ""), 10) : a
};
d.Hc = function(a, b) {
var c;
var d = null;
if (Array.isArray(a)) {
var e = [];
var l = 0;
for (d = a.length; l < d; l++) {
var m = a[l];
e.push(this.Hc(m, b))
}
d = e
}
if (lipscore.jQuery.isPlainObject(a))
for (d = {}, l = Object.keys(a).sort(b), e = 0, c = l.length; e < c; e++) m = l[e], d[m] = this.Hc(a[m], b);
return d || a
};
return d
}()
}).call(this);
lipscore.ga = function() {
function a() {}
var d = ["r", "r_sl", "rw_p", "rw_l"];
var b = ["r", "r_sl"];
var c = ["rw_p", "rw_l", "rw_c"];
a.Nh = function() {
var a;
var b = [];
var c = document.getElementById("lipscore-rating");
var d = document.getElementById("lipscore-review-list");
var e = document.getElementById("lipscore-service-review-list");
c && b.push({
type: "r",
block: c
});
d && b.push({
type: "rw_l",
block: d
});
e && b.push({
type: "srw_l",
block: e
});
d = lipscore.a.Mc("lipscore-review-post", "lipscore-review-post");
e = 0;
for (a = d.length; e < a; e++) c =
d[e], b.push({
type: "rw_p",
block: c
});
d = lipscore.a.Mc("lipscore-rating-slider", "lipscore-rating-slider");
e = 0;
for (a = d.length; e < a; e++) c = d[e], b.push({
type: "r_sl",
block: c
});
d = lipscore.a.getElementsByClassName("lipscore-rating-small");
e = 0;
for (a = d.length; e < a; e++) c = d[e], b.push({
type: "r_sm",
block: c
});
d = lipscore.a.getElementsByClassName("lipscore-review-count");
e = 0;
for (a = d.length; e < a; e++) c = d[e], b.push({
type: "rw_c",
block: c
});
d = lipscore.a.getElementsByClassName("lipscore-testimonial");
a = 0;
for (e = d.length; a < e; a++) c =
d[a], b.push({
type: "t",
block: c
});
d = lipscore.a.getElementsByClassName("lipscore-service-review-badge");
a = 0;
for (e = d.length; a < e; a++) c = d[a], b.push({
type: "srw_b",
block: c
});
d = lipscore.a.getElementsByClassName("lipscore-service-review-badge-starred");
a = 0;
for (e = d.length; a < e; a++) c = d[a], b.push({
type: "srw_bs",
block: c
});
d = lipscore.a.getElementsByClassName("lipscore-service-review-testimonial");
a = 0;
for (e = d.length; a < e; a++) c = d[a], b.push({
type: "srw_t",
block: c
});
a = [];
e = 0;
for (d = b.length; e < d; e++) c = b[e], null === c.block.getAttribute("ls-lipscore-product-id") &&
a.push(c);
return a
};
a.kd = function(a, b) {
this.block = a;
this.data = b;
null != this.data.id && this.block.setAttribute("ls-lipscore-product-id", this.data.id);
null != this.data.votes && this.block.setAttribute("ls-product-votes", this.data.votes);
null != this.data.lipscore && this.block.setAttribute("ls-product-rating", Math.round(10 * this.data.lipscore) / 10);
null != this.data.review_count && this.block.setAttribute("ls-product-review-count", this.data.review_count);
null != this.data.testimonials && g(this.block) && this.block.setAttribute("ls-testimonial",
JSON.stringify(lipscore.Fb.select(this.data.testimonials)));
if (null != this.data.reviews && m(this.block) && (this.block.setAttribute("ls-product-reviews", JSON.stringify(this.data.reviews)), this.data.paging)) return this.block.setAttribute("ls-review-paging", JSON.stringify(this.data.paging))
};
a.Lg = function(a) {
var b;
var c = this.Ek = a;
var d = [];
var e = 0;
for (b = c.length; e < b; e++) a = c[e], a.block.getAttribute("ls-product-url") ? d.push(void 0) : d.push(a.block.setAttribute("ls-product-url", lipscore.ca.bh()))
};
a.nh = function(a) {
var b;
var c = null;
var d = [];
var e = 0;
for (b = a.length; e < b; e++) {
var f = a[e];
this.gi(f) ? c = f : this.hi(f) && d.push(f)
}
if (null != c)
for (b = [], a = 0, e = d.length; a < e; a++) f = d[a], b.push(lipscore.fa.$g(c.block, f.block))
};
a.gi = function(a) {
var c = a.block;
c = c.getAttribute("ls-product-id") || lipscore.fa.w(c);
return 0 <= b.indexOf(a.type) && c
};
a.hi = function(a) {
return 0 <= c.indexOf(a.type)
};
a.ph = function(a) {
for (a = a.parentElement; null != a && null == a.getAttribute("ls-product-id");) a = a.parentElement;
return a
};
a.Qh = function() {
var a;
if (lipscore.Ec) {
var b =
lipscore.j.Sg();
var c = 0;
for (a = b.length; c < a; c++) {
var d = b[c];
f(d, "cancelled")
}
b = lipscore.j.Rg();
var g = [];
c = 0;
for (a = b.length; c < a; c++) d = b[c], g.push(e(d, "cancelled"))
}
};
a.Rh = function() {
var a;
if (lipscore.xe) {
var b = lipscore.qa.get().yh();
var c = lipscore.j.Uh();
var d = 0;
for (a = c.length; d < a; d++) {
var g = c[d];
f(g, "hidden")
}
c = lipscore.j.Th();
var h = [];
d = 0;
for (a = c.length; d < a; d++) g = c[d], h.push(e(g, "hidden", b))
}
};
a.zi = function(a) {
var b;
for (b = a.length; 0 < b;) return a = a[0], 0 <= d.indexOf(a) ? !0 : !1
};
var e = function(a, b, c) {
var d;
null == c && (c = null);
var e = Array.from(lipscore.a.getElementsByClassName(a));
var f = [];
var g = 0;
for (d = e.length; g < d; g++) {
var h = e[g];
c && lipscore.a.te(h, c) ? f.push(void 0) : f.push(lipscore.a.$i(h, a, "" + b + "-" + a))
}
return f
};
var f = function(a, b) {
var c;
if (c = document.getElementById(a)) return c.setAttribute("id", "" + b + "-" + a)
};
a.ji = function(a) {
return "lipscore-service-review-list" === a.getAttribute("id") || lipscore.a.hasClass(a, "lipscore-service-review-badge") || lipscore.a.hasClass(a, "lipscore-service-review-testimonial")
};
a.Ej = function(a) {
var b = a.getAttribute("ls-widget-width");
var c = a.getAttribute("ls-widget-height");
var d = "";
null != b && (d += "width:" + b + ";");
null != c && (d += "height:" + c + ";");
0 < d.length && a.setAttribute("style", d)
};
var g = function(a) {
return h(a) || l(a)
};
var h = function(a) {
return lipscore.a.hasClass(a, "lipscore-testimonial")
};
var l = function(a) {
return lipscore.a.hasClass(a, "lipscore-service-review-testimonial")
};
var m = function(a) {
return q(a) || p(a)
};
var p = function(a) {
return lipscore.a.se(a, "lipscore-service-review-list")
};
var q = function(a) {
return lipscore.a.se(a, "lipscore-review-list")
};
return a
}();
lipscore.Ff = function() {
function a(a) {
this.v = document.createElement(d);
lipscore.a.addClass(this.v, b);
this.v.innerHTML = e;
lipscore.a.hide(this.v);
a.appendChild(this.v);
this.cc = lipscore.a.getElementsByClassName(c, this.v)[0]
}
var d = "div";
var b = "lipscore-alert";
var c = "lipscore-alert-text";
var e = '<div class="lipscore-alert-icon"></div>\n<div class="' + c + '"></div>';
a.prototype.reset = function() {
lipscore.a.hide(this.v);
lipscore.a.removeClass(this.v, this.li);
return this.cc.textContent = ""
};
a.prototype.error = function(a) {
return this.show("lipscore-alert-error",
a)
};
a.prototype.success = function(a) {
return this.show("lipscore-alert-success", a)
};
a.prototype.rd = function(a) {
this.show("lipscore-alert-warning", a)
};
a.prototype.show = function(a, b) {
this.reset();
this.li = a;
this.cc.textContent = b;
lipscore.a.addClass(this.v, a);
return lipscore.a.show(this.v)
};
return a
}();
lipscore.Pa = function() {
function a() {}
a.Ae = function() {
var a = document.createElement("span");
lipscore.a.addClass(a, "lipscore-demo-mode-label");
a.textContent = "Demo-mode";
return a
};
a.append = function(a) {
return a.appendChild(this.Ae())
};
a.prepend = function(a) {
return a.insertBefore(this.Ae(), a.firstChild)
};
return a
}();
lipscore.vd = function() {
function a(a) {
var e = document.createElement(d);
lipscore.a.addClass(e, b);
a.appendChild(e);
lipscore.a.getElementsByClassName(c, a)[0].onclick = function(a) {
return lipscore.jc.hk(a, e)
};
this.v = e
}
var d = "div";
var b = "lipscore-dropdown-menu";
var c = "lipscore-dropdown-toggle";
a.prototype.Hb = function(a, b) {
var c;
var d = document.createElement("div");
d.innerHTML = '<span class="lipscore-dropdown-menu-item">\n <span class="lipscore-dropdown-menu-item-text"></span>\n</span>';
var e = lipscore.a.getElementsByClassName("lipscore-dropdown-menu-item",
d)[0];
lipscore.a.getElementsByClassName("lipscore-dropdown-menu-item-text", d)[0].textContent = a;
this.v.appendChild(d);
if (b)
for (c in b) a = b[c], e.setAttribute(c, a);
return e
};
return a
}();
lipscore.If = function() {
function a(a) {
var g = document.createElement(d);
lipscore.a.addClass(g, "lipscore-dropdown");
lipscore.a.addClass(g, b);
var l = document.createElement(c);
l.innerHTML = f;
lipscore.a.addClass(l, e);
g.appendChild(l);
this.ti = new lipscore.vd(g);
a.appendChild(g)
}
var d = "div";
var b = "lipscore-flags-dropdown";
var c = "div";
var e = "lipscore-flags-toggle";
var f = '<span class="lipscore-dropdown-toggle lipscore-flags-tick"></span>';
a.prototype.Hb = function(a, b) {
return this.ti.Hb(a, b)
};
a.Sk = function() {
return "lipscore-flags-tick"
};
return a
}();
lipscore.ka = function() {
function a() {}
var d = null;
a.get = function() {
return d
};
a.show = function(a, e) {
null == d && (d = new b(e));
d.Hi(a);
return lipscore.Nd()
};
a.hide = function() {
if (d) return d.f().parentNode.removeChild(d.f()), d = null, lipscore.Nd()
};
var b = function() {
function a(a) {
this.b = document.createElement(b);
this.b.innerHTML = l;
lipscore.a.addClass(this.b, d);
a && (lipscore.a.getElementsByClassName(h, this.b)[0].textContent = a);
this.Vc = new lipscore.zd;
lipscore.a.getElementsByClassName(g, this.b)[0].appendChild(this.Vc.f());
lipscore.a.addClass(this.b,
d)
}
var b = "div";
var d = "lipscore-login-popover";
var g = "lipscore-login-popover-content";
var h = "lipscore-login-popover-title";
var l = '<div class="lipscore-login-popover-arrow"></div>\n<div class="' + h + '"></div>\n<div class="' + g + '">\n</div>';
a.prototype.f = function() {
return this.b
};
a.prototype["in"] = function(a) {
return 0 < lipscore.a.getElementsByClassName(d, a).length
};
a.prototype.Hi = function(a) {
document.body.appendChild(this.b);
var b = this.b.offsetHeight;
var c = parseInt(this.b.style.marginTop, 10);
var d = parseInt(this.b.style.marginLeft,
10);
isNaN(c) && (c = 0);
isNaN(d) && (d = 0);
var e = this.Eh(a);
a = {
top: e.top + a.offsetHeight + c,
left: e.left + a.offsetWidth / 2 - this.b.offsetWidth / 2 + d
};
lipscore.a.jd(this.b, a);
d = this.b.offsetHeight;
d !== b && (a.top = a.top + b - d, lipscore.a.jd(this.b, a));
0 > a.left && (b = -2 * a.left, a.left = 0, lipscore.a.jd(this.b, a), a = this.b.offsetWidth, d = lipscore.a.getElementsByClassName("lipscore-login-popover-arrow", this.b)[0], d.style.left = b ? 50 * (1 - b / a) + "%" : "")
};
a.prototype.Eh = function(a) {
var b = a.getBoundingClientRect();
if (b.width || b.height) {
var c =
a.ownerDocument;
a = c.defaultView || c.parentWindow;
c = c.documentElement;
return {
top: b.top + a.pageYOffset - c.clientTop,
left: b.left + a.pageXOffset - c.clientLeft
}
}
return {
top: b.top,
left: b.left
}
};
return a
}();
return a
}();
lipscore.zd = function() {
function a() {
this.b = document.createElement(d);
this.b.innerHTML = g;
lipscore.a.addClass(this.b, b);
this.mh = lipscore.a.getElementsByClassName(c, this.b)[0];
this.mk = lipscore.a.getElementsByClassName(f, this.b)[0];
this.Ph = lipscore.a.getElementsByClassName(e, this.b)[0];
this.l()
}
var d = "div";
var b = "lipscore-login-box";
var c = "lipscore-login-link-facebook";
var e = "lipscore-login-link-gplus";
var f = "lipscore-login-link-twitter";
var g = '<div class="lipscore-review-link-box-item"><span class="' +
c + '" title="Facebook"></span></div>\n<div class="lipscore-review-link-box-item"><span class="' + e + '" title="Google+"></span></div>\n<div class="lipscore-review-link-box-item"><span class="' + f + '" title="Twitter"></span></div>';
a.prototype.f = function() {
return this.b
};
a.prototype.l = function() {
this.mh.onclick = lipscore.kc.lh;
this.mk.onclick = lipscore.kc.lk;
this.Ph.onclick = lipscore.kc.Oh
};
return a
}();
lipscore.Nf = function() {
function a() {}
var d = null;
a.get = function() {
return null != d ? d : d = new b
};
var b = function() {
function a() {
this.g = lipscore.qa.get()
}
a.prototype.Nj = function(a, b) {
if ("image" === a) return this.Lj(b);
if ("video" === a) return this.Tj(b)
};
a.prototype.Lj = function(a) {
var b = document.createElement("img");
var c = this.g;
b.onload = function() {
var a = document.createElement("img");
a.src = b.src;
c.ib(a.outerHTML);
return c.show("lipscore-media-modal")
};
return b.src = a
};
a.prototype.Tj = function(a) {
var b = 560;
var c =
315;
768 > screen.width && (b = 280, c = 220);
this.g.ib('<iframe width="' + b + '" height="' + c + '" src="//www.youtube.com/embed/' + a + '?badge=0&html5=1" frameborder="0" allowfullscreen>\n</iframe>');
return this.g.show("lipscore-media-modal")
};
return a
}();
return a
}();
lipscore.qa = function() {
function a() {}
var d = null;
a.get = function() {
return null != d ? d : d = new b
};
var b = function() {
function a() {
this.b = document.createElement(b);
this.b.setAttribute("tabindex", -1);
this.b.setAttribute("id", d);
this.b.innerHTML = p;
document.body.appendChild(this.b);
lipscore.a.hide(this.b);
this.Me = lipscore.a.getElementsByClassName(l, this.b)[0];
this.Vg = lipscore.a.getElementsByClassName(g, this.b)[0];
this.title = lipscore.a.getElementsByClassName(h, this.b)[0];
this.vi = document.getElementById(m);
this.l()
}
var b = "div";
var d = "lipscore-modal";
var g = "lipscore-close";
var h = "lipscore-modal-title";
var l = "lipscore-modal-body";
var m = "lipscore-modal-content";
var p = '<div class="lipscore-modal-dialog">\n <div id="' + m + '">\n <div class="lipscore-modal-header">\n <span class="' + h + '"></span>\n <button type="button" class="' + g + '" />\n </div>\n <div class="' + l + '"></div>\n </div>\n</div>';
a.prototype.show = function(a) {
if (!this.Sc) return this.Sc = !0, this.vi.setAttribute("class", a), this.b.onkeyup = lipscore.lc.Xg,
this.zg(), this.Hg(), lipscore.a.show(this.b), this.b.focus(), lipscore.a.addClass(document.body, "lipscore-modal-open")
};
a.prototype.hide = function() {
if (this.Sc) return this.Sc = !1, this.b.onkeyup = null, this.Me.innerHTML = "", lipscore.a.hide(this.b), this.Xi(), this.aj(), lipscore.a.removeClass(document.body, "lipscore-modal-open")
};
a.prototype.zg = function() {
this.Sa = document.createElement("div");
lipscore.a.addClass(this.Sa, "lipscore-modal-backdrop");
document.body.appendChild(this.Sa)
};
a.prototype.Xi = function() {
this.Sa &&
(this.Sa.parentNode.removeChild(this.Sa), this.Sa = null)
};
a.prototype.ib = function(a) {
this.Me.innerHTML = a
};
a.prototype.Gj = function() {
var a = lipscore.c.t("service_review.modal.title");
this.title.innerHTML = a
};
a.prototype.l = function() {
this.Vg.onclick = lipscore.lc.Wg;
this.b.onclick = lipscore.lc.ui
};
a.prototype.Hg = function() {
if (document.body.scrollHeight > document.documentElement.clientHeight) {
var a = this.si();
var b = parseInt(document.body.paddingRight || 0, 10);
document.body.style.paddingRight = b + a + "px"
}
};
a.prototype.aj =
function() {
document.body.style.paddingRight = ""
};
a.prototype.si = function() {
var a = document.createElement("div");
a.className = "lipscore-modal-scrollbar-measure";
document.body.appendChild(a);
var b = a.offsetWidth - a.clientWidth;
document.body.removeChild(a);
return b
};
a.prototype.yh = function() {
return "lipscore-modal-dialog"
};
a.prototype.f = function() {
return this.b
};
return a
}();
return a
}();
lipscore.Sf = function() {
function a(a, m, p, q) {
this.root = a;
this.Gi = m;
this.page = p;
this.ec = q;
this.v = document.createElement(d);
lipscore.a.addClass(this.v, b);
if (1 < this.ec) {
a = Math.floor((this.page - 1) / h);
p = a * h + 1;
a = p + h - 1;
a > this.ec && (a = this.ec);
1 < p && this.Sd(p - 1, c, e);
for (m = q = p; p <= a ? q <= a : q >= a; m = p <= a ? ++q : --q) this.Ud(m);
a < this.ec && this.Sd(a + 1, f, g)
}
this.root.appendChild(this.v)
}
var d = "ul";
var b = "lipscore-paginator";
var c = "prev";
var e = "&laquo;";
var f = "next";
var g = "&raquo;";
var h = 5;
a.prototype.Ud = function(a) {
var b =
document.createElement("li");
b.setAttribute("pageNum", a);
b.innerHTML = '<a href="#">' + a + "</a>";
a === this.page && lipscore.a.addClass(b, "active");
b.Zc = this.Gi;
b.onclick = lipscore.Rf.Zc;
this.v.appendChild(b);
return b
};
a.prototype.Sd = function(a, b, c) {
a = this.Ud(a);
lipscore.a.addClass(a, b);
a.getElementsByTagName("a")[0].innerHTML = c
};
a.bl = function() {
return "active"
};
a.cl = function() {
return "pageNum"
};
return a
}();
lipscore.Cd = function() {
function a() {}
var d = null;
a.get = function() {
return null != d ? d : d = new b
};
var b = function() {
return function() {
this.Ue = lipscore.a.getElementsByClassName("lipscore-purchase")
}
}();
return a
}();
lipscore.Wf = function() {
function a(a) {
this.b = document.createElement("div");
lipscore.a.addClass(this.b, "lipscore-rating-distribution");
this.ge = a;
this.$j = new lipscore.Qa;
null != this.ge && (this.b.innerHTML = this.html())
}
a.prototype.html = function() {
var a;
var b = "";
var c = this.ge;
for (a in c) {
var e = c[a];
b += this.jj(a, e)
}
return '<div class="lipscore-rating-distribution-content">\n ' + b + "\n</div>"
};
a.prototype.jj = function(a, b) {
return "<div class='lipscore-rating-distribution-row'>\n <div class='lipscore-rating-distribution-stars'>\n " +
this.$j.Va(a) + '\n </div>\n <div class="lipscore-rating-distribution-count"><span>' + b + "</span></div>\n</div>"
};
a.prototype.f = function() {
return this.b
};
return a
}();
(function() {
function a(a, c) {
function b() {
this.constructor = a
}
for (var f in c) d.call(c, f) && (a[f] = c[f]);
b.prototype = c.prototype;
a.prototype = new b;
a.da = c.prototype;
return a
}
var d = {}.hasOwnProperty;
lipscore.la = function() {
function b() {}
var c;
var d = null;
b.get = function() {
return null != d ? d : d = new f
};
var f = function(b) {
function d() {
return c = d.da.constructor.apply(this, arguments)
}
a(d, b);
d.prototype.Df = function() {
return "lipscore-rating-slider"
};
d.prototype.Ef = function() {
return "lipscore-rating-slider"
};
d.prototype.de =
function(a) {
return new lipscore.Xf(a)
};
d.prototype.wb = function() {
var a;
var b = this.items;
var c = 0;
for (a = b.length; c < a; c++) {
var d = b[c];
if (d.wb()) return !0
}
};
d.prototype.pa = function() {
return lipscore.ka.hide()
};
d.prototype.Qb = function() {
var a;
var b = this.items;
var c = [];
var d = 0;
for (a = b.length; d < a; d++) {
var e = b[d];
e.wb() ? c.push(e.Qb()) : c.push(void 0)
}
return c
};
return d
}(lipscore.Ld);
return b
}()
}).call(this);
lipscore.Xf = function() {
function a(a) {
this.b = a;
this.enabled = !0;
this.Ha = this.b.getAttribute("ls-review-modal");
this.Ha = null != this.Ha ? "true" === this.Ha : lipscore.hh
}
a.prototype.html = function() {
return '<div class="lipscore-rating-slider-stars-wrapper">\n ' + this.od() + "\n</div>"
};
a.prototype.od = function() {
var a;
var b = lipscore.rb() ? 10 : 5;
var c = lipscore.rb() ? 1 : 2;
var e = lipscore.Fa.get().Nc(this.b);
var f;
var g = [];
for (a = f = 1; 1 <= b ? f <= b : f >= b; a = 1 <= b ? ++f : --f) g.push(lipscore.Fa.get().Lb("lipscore-rating-star lipscore-rating-star-inactive",
e, a * c));
return g.join("")
};
a.prototype.init = function() {
if (!this.oa) return lipscore.a.addClass(this.b, "lipscore-rating-slider"), this.b.innerHTML = this.html(), this.tk = lipscore.rb() ? 1 : 2, this.jb = lipscore.a.getElementsByClassName("lipscore-rating-slider-stars-wrapper", this.b)[0], this.Oa = lipscore.a.getElementsByClassName("lipscore-rating-star", this.jb), lipscore.qb() && !this.Ee() && lipscore.Pa.append(this.b), this.l(), this.oa = !0
};
a.prototype.f = function() {
return this.b
};
a.prototype.Lh = function() {
return parseInt(this.jb.getAttribute("ls-selected-value"),
10)
};
a.prototype.re = function(a) {
return parseInt(a.getAttribute("ls-stars-value"), 10)
};
a.prototype.Xe = function(a) {
this.dc ? this.Kc() : (this.fb = a, this.le())
};
a.prototype.qf = function(a) {
this.jb.setAttribute("ls-selected-value", a)
};
a.prototype.ff = function() {
var a;
if (this.b) {
this.gd();
var b = this.Oa;
var c = [];
var e = 0;
for (a = b.length; e < a; e++) {
var f = b[e];
c.push(lipscore.a.addClass(f, "lipscore-rating-star-inactive"))
}
return c
}
};
a.prototype.gd = function() {
this.Nb && lipscore.a.removeClass(this.Nb, "lipscore-star-incomplete")
};
a.prototype.$b = function(a) {
var b;
this.gd();
var c = 0;
var d = this.Oa;
var f = [];
var g = 0;
for (b = d.length; g < b; g++) {
var h = d[g];
c < a ? lipscore.a.removeClass(h, "lipscore-rating-star-inactive") : lipscore.a.addClass(h, "lipscore-rating-star-inactive");
f.push(c += this.tk)
}
return f
};
a.prototype.le = function() {
this.fb && this.$b(this.fb)
};
a.prototype.Mj = function() {
this.Qe = !0;
return lipscore.ka.show(this.jb, lipscore.c.t("rating.login_to_rate"))
};
a.prototype.Qb = function() {
this.Qe = !1;
return lipscore.ka.hide()
};
a.prototype.wb =
function() {
return this.Qe
};
a.prototype.Hj = function(a) {
this.dc = a;
this.Kc()
};
a.prototype.Kc = function() {
var a, b;
if (this.b && 0 < this.dc) {
this.gd();
var c = Math.floor(this.dc);
var e = a = 0;
for (b = this.Oa.length - 1; 0 <= b ? a <= b : a >= b; e = 0 <= b ? ++a : --a) e < c ? lipscore.a.removeClass(this.Oa[e], "lipscore-rating-star-inactive") : lipscore.a.addClass(this.Oa[e], "lipscore-rating-star-inactive");
if (this.dc - c) return this.Nb = this.Oa[c], lipscore.a.removeClass(this.Nb, "lipscore-rating-star-inactive"), lipscore.a.addClass(this.Nb, "lipscore-star-incomplete")
}
};
a.prototype.Ee = function() {
return lipscore.a.hasClass(this.b, "lipscore-embeded-slider")
};
a.prototype.disable = function() {
return this.enabled = !1
};
a.prototype.enable = function() {
return this.enabled = !0
};
a.prototype.isEnabled = function() {
return this.enabled
};
a.prototype.Hh = function() {
return this.Ee() ? lipscore.ga.ph(this.f()) : this.f()
};
a.prototype.l = function() {
var a;
var b = this;
var c = this.Oa;
var e = 0;
for (a = c.length; e < a; e++) {
var f = c[e];
f.onmouseover = function() {
return lipscore.Bb.Yj(this, b)
};
f.onclick = function(a) {
return lipscore.Bb.Xj(a,
this, b)
}
}
this.jb.onmouseout = function(a) {
return lipscore.Bb.Zj(a, this, b)
};
window.LipscoreVanillaEvent.addListener(this.b, "lipscore-slider-reset", function() {
return b.ff()
});
lipscore.a.removeClass(this.jb, "lipscore-rating-stars-inactive")
};
return a
}();
(function() {
function a(a, b) {
return function() {
return a.apply(b, arguments)
}
}
lipscore.Yf = function() {
function d(b, c) {
this.html = a(this.html, this);
var d = lipscore.Fa.get().Nc(b);
c = lipscore.o.va(c);
b.innerHTML = this.html(d, c);
lipscore.qb() && 0 < c && lipscore.Pa.append(b)
}
d.prototype.html = function(a, c) {
a = new lipscore.Qa({
xb: a,
Xc: 5
});
if (lipscore.yg()) return "" + a.Yg() + '&nbsp;<span class="lipscore-rating-selected-value">' + c + "</span>";
lipscore.rb() && (c /= 2);
return a.Va(c)
};
return d
}()
}).call(this);
lipscore.Qa = function() {
function a(a) {
a || (a = {});
this.Xc = a.Xc || lipscore.gb;
this.xb = a.xb || null
}
a.prototype.Va = function(a) {
var b = Math.floor(a);
b = a - b ? b + 1 : 0;
var c, d;
var f = [];
var g = c = 1;
for (d = this.Xc; 1 <= d ? c <= d : c >= d; g = 1 <= d ? ++c : --c) {
var h = "lipscore-rating-star";
g === b ? h += " lipscore-star-incomplete" : g > a && (h += " lipscore-rating-star-inactive");
f.push(lipscore.Fa.get().Lb(h, this.xb))
}
return f.join("")
};
a.prototype.Yg = function() {
return lipscore.Fa.get().Lb("lipscore-rating-star", this.xb)
};
return a
}();
lipscore.Ca = function() {
function a() {}
var d = null;
a.get = function() {
return null != d ? d : d = new b
};
var b = function() {
function a() {
if (this.b = document.getElementById("lipscore-rating")) this.fd = null != this.b.getAttribute("ls-readonly"), lipscore.a.addClass(this.b, "lipscore-rating")
}
a.prototype.Wh = function() {
return "" + this.vf() + '\n<span class="lipscore-compact-rating-wrapper">\n <span class="lipscore-rating-value lipscore-compact-rating-value"></span>&nbsp;<span class="lipscore-rating-votes lipscore-compact-rating-votes">/&nbsp;<span></span></span>\n</span>\n' +
this.gf(!0)
};
a.prototype.Xh = function() {
var a = "#000000" === lipscore.dd ? "lipscore-light-rating-value" : "";
return '<div class="lipscore-big-rating-star-wrapper">\n ' + lipscore.Fa.get().Lb("lipscore-big-rating-current") + '\n <div class="lipscore-big-rating-value-wrapper">\n <span class="lipscore-rating-value lipscore-big-rating-value ' + a + '"></span>\n </div>\n</div>\n<div class="lipscore-big-rating-wrapper">\n <div class="lipscore-big-rating-wrapper-inner">\n <div class="lipscore-big-rating-info-wrapper">\n <span class="lipscore-rating-votes lipscore-big-rating-votes">' +
lipscore.c.t("rating.votes") + ":&nbsp;<span></span></span>&nbsp;" + this.gf(!1) + "\n </div>\n " + this.vf() + "\n </div>\n</div>"
};
a.prototype.vf = function() {
return this.fd ? '<div class="lipscore-rating-slider-readonly"></div>' : '<div class="lipscore-rating-slider lipscore-embeded-slider"></div>'
};
a.prototype.gf = function(a) {
a = a ? '&nbsp;(<span class="lipscore-rating-review-count"></span>)' : ':&nbsp;<span class="lipscore-rating-review-count"></span>';
return '<a href="#lipscore-review-list" class="lipscore-rating-review-link lipscore-hidden">' +
lipscore.c.t("review.reviews") + a + "</a>"
};
a.prototype.init = function() {
if (!this.oa && this.b) return this.b.innerHTML = lipscore.wc() ? this.Wh() : this.Xh(), this.Ma = this.fd ? lipscore.a.getElementsByClassName("lipscore-rating-slider-readonly", this.b)[0] : lipscore.a.getElementsByClassName("lipscore-rating-slider", this.b)[0], this.sk = lipscore.a.getElementsByClassName("lipscore-rating-value")[0], this.Bk = lipscore.a.getElementsByClassName("lipscore-rating-votes")[0].getElementsByTagName("span")[0], this.hf = lipscore.a.getElementsByClassName("lipscore-rating-review-link",
this.b)[0], this.dj = lipscore.a.getElementsByClassName("lipscore-rating-review-count", this.b)[0], this.Ha = this.b.getAttribute("ls-review-modal"), this.u = this.b.getAttribute(lipscore.j.u()), this.Fj(), lipscore.qb() && (lipscore.wc() ? lipscore.Pa.append(this.b) : lipscore.Pa.append(this.Ma.parentNode)), this.l(), this.oa = !0
};
a.prototype.f = function() {
return this.b
};
a.prototype.Kj = function(a) {
this.Bk.textContent = a
};
a.prototype.ld = function(a) {
a = lipscore.o.va(a);
this.sk.textContent = a;
if (this.fd) {
var b = lipscore.Fa.get().Nc(this.Ma);
b = new lipscore.Qa({
xb: b
});
this.Ma.innerHTML = b.Va(a)
} else lipscore.wc() && lipscore.la.get().vb(this.Ma).Hj(a)
};
a.prototype.Aj = function(a) {
null != a && 0 < a && (this.dj.textContent = a, lipscore.a.show(this.hf))
};
a.prototype.Fj = function() {
var a = this.b.getAttribute("ls-lipscore-product-id");
this.Ma.setAttribute("ls-lipscore-product-id", a);
this.Ha && this.Ma.setAttribute("ls-review-modal", this.Ha);
this.u && this.Ma.setAttribute(lipscore.j.u(), this.u)
};
a.prototype.l = function() {
this.hf.onclick = lipscore.Bb.fj
};
a.prototype.reset =
function() {
if (this.b) return this.b.innerHTML = ""
};
return a
}();
return a
}();
lipscore.Zf = function() {
function a() {}
var d = null;
a.get = function() {
return null != d ? d : d = new b
};
var b = function() {
function a() {
this.g = lipscore.qa.get();
this.g.ib(this.html());
this.b = this.g.b
}
a.prototype.html = function() {
return '<div class="lipscore-support-box"></div>\n<div class="lipscore-regret-modal-title lipscore-hidden"></div>\n<div class="lipscore-regret-modal-message">' + lipscore.c.t("regret_modal.message") + "</div>"
};
a.prototype.show = function(a) {
this.pa(a.name);
return this.g.show("lipscore-regret-modal")
};
a.prototype.pa = function(a) {
var b = lipscore.a.getElementsByClassName("lipscore-regret-modal-title", this.b)[0];
b.textContent = "" + lipscore.c.t("regret_modal.dear") + " " + a + ",";
return lipscore.a.show(b)
};
return a
}();
return a
}();
lipscore.Cb = function() {
function a(a) {
this.b = lipscore.a.getElementsByClassName(d, a)[0];
this.ze = this.b.getElementsByTagName("img")[0]
}
var d = "lipscore-review-avatar";
a.html = function() {
return '<div class="' + d + '">\n <img src="">\n</div>'
};
a.prototype.nf = function(a) {
null != a ? (this.ze.setAttribute("src", a), lipscore.a.show(this.b)) : (this.ze.setAttribute("src", ""), lipscore.a.hide(this.b))
};
return a
}();
lipscore.bg = function() {
function a(a, b) {
this.b = a;
this.tj(b)
}
a.prototype.tj = function(a) {
a = null != a ? parseInt(a, 10) : 0;
this.b.textContent = a;
lipscore.na("review-count-set", {
target: this.b,
value: a
})
};
return a
}();
lipscore.pc = function() {
function a() {
this.b = this.Jb()
}
var d = '<a href="' + lipscore.wd.Uc() + '" target="_blank">' + lipscore.c.t("common.powered_by") + "</a>";
a.prototype.Jb = function() {
return null
};
a.prototype.Kh = function(a) {
return this.Yb[a]
};
a.prototype.f = function() {
return this.b
};
a.prototype.di = function(a, c) {
var b;
if (this.b) {
lipscore.a.addClass(this.b, "lipscore-review-list-container");
this.b.innerHTML = "";
this.Yb = [];
for (b = 0; 0 <= a ? b < a : b > a; 0 <= a ? ++b : --b) {
var f = new lipscore.oc(c);
this.b.appendChild(f.f());
this.Yb.push(f)
}
0 <
a && (a = document.createElement("div"), lipscore.a.addClass(a, "lipscore-review-list-footer"), lipscore.Pd("remove_branding") || (a.innerHTML = d), lipscore.qb() && lipscore.Pa.append(a), this.b.appendChild(a))
}
};
a.prototype.fh = function(a) {
var b;
var d = this.Yb;
var f = 0;
for (b = d.length; f < b; f++) {
var g = d[f];
if (a === g.Ka.toString()) {
g.disable();
break
}
}
};
a.prototype.ik = function(a) {
var b;
a = lipscore.a.getElementsByClassName("lipscore-flags-tick", a.parentNode.parentNode.parentNode)[0];
return (b = lipscore.ka.get()) && b["in"](a.parentNode) ?
this.Pb() : lipscore.ka.show(a, lipscore.c.t("review.login_to_flag"))
};
a.prototype.Pb = function() {
this.bj();
return lipscore.ka.hide()
};
a.prototype.jk = function(a) {
var b;
return (b = lipscore.ka.get()) && b["in"](a.parentNode) ? this.Rb() : lipscore.ka.show(a, lipscore.c.t("review.login_to_vote"))
};
a.prototype.Rb = function() {
this.cj();
return lipscore.ka.hide()
};
a.prototype.Dj = function(a) {
this.Bf = !0;
this.Cf = a.getAttribute(lipscore.j.Ka());
this.hd = parseInt(a.getAttribute("ls-review-vote-score"), 10);
a = lipscore.a.getElementsByClassName("lipscore-review-vote-score",
a.parentNode);
this.mf = 0 > this.hd ? a[1] : a[0]
};
a.prototype.cj = function() {
this.Bf = !1;
this.mf = this.hd = this.Cf = null
};
a.prototype.Cj = function(a) {
this.me = !0;
this.oe = a.getAttribute(lipscore.j.Ka());
this.lf = a.getAttribute("ls-review-flag-value")
};
a.prototype.bj = function() {
this.me = !1;
this.lf = this.oe = null
};
a.prototype.pa = function() {
this.Rb();
return this.Pb()
};
a.prototype.ij = function() {
return null != this.Yb
};
return a
}();
lipscore.oc = function() {
function a(a) {
var n;
var y = document.createElement(d);
y.innerHTML = z;
lipscore.a.addClass(y, b);
this.hb = y;
this.cc = lipscore.a.getElementsByClassName(c, y)[0];
this.Ie = lipscore.a.getElementsByClassName(e, y)[0];
this.Ac = lipscore.a.getElementsByClassName(f, y)[0];
this.Gc = lipscore.a.getElementsByClassName(g, y)[0];
var u = lipscore.a.getElementsByClassName(l, y);
this.Ak = u[0];
this.zk = u[1];
u = lipscore.a.getElementsByClassName(h, y);
this.yk = u[0];
this.xk = u[1];
this.Qi = lipscore.a.getElementsByClassName(m,
y)[0];
this.Ri = lipscore.a.getElementsByClassName(p, y)[0];
this.ne = lipscore.a.getElementsByClassName(q, y)[0];
this.ef = lipscore.a.getElementsByClassName(D, y)[0];
this.$e = lipscore.a.getElementsByClassName(t, y)[0];
this.Bc = new lipscore.Cb(this.hb);
y = new lipscore.If(this.ne);
this.flags = [];
u = 0;
for (n = a.length; u < n; u++) {
var C = a[u];
var A = {};
A["ls-review-flag-value"] = C;
C = y.Hb(lipscore.c.t(lipscore.wd.rh(C)), A);
this.flags.push(C)
}
}
var d = "div";
var b = "lipscore-review-box";
var c = "lipscore-review-text";
var e = "lipscore-review-media";
var f = "lipscore-review-author";
var g = "lipscore-review-created-at";
var h = "lipscore-review-vote-score";
var l = "lipscore-review-vote-thumb";
var m = "lipscore-review-purchase";
var p = "lipscore-review-purchase-info";
var q = "lipscore-review-flag-wrapper";
var D = "lipscore-review-reply";
var t = "lipscore-review-rating-stars-wrapper";
var z = '<div class="lipscore-review-header">\n <div class="lipscore-review-info">\n ' + lipscore.Cb.html() + '\n <div class="lipscore-review-info-wrapper">\n <div>\n <span class="lipscore-strong ' +
f + '"></span>&nbsp;\n <span class="lipscore-text-muted lipscore-review-info-delim">\u2022</span>&nbsp;\n <span class="' + g + ' lipscore-review-date"></span>\n </div>\n <div>\n <div class="' + t + ' lipscore-hidden">\n </div>\n </div>\n </div>\n </div>\n <div class="' + m + ' lipscore-hidden">\n <div class="lipscore-review-purchase-icon">\n <img src="https://static.lipscore.com/assets/verified_buyer_new.png" />\n <span>\n &nbsp;' + lipscore.c.t("review.buyer") +
'\n </span>\n </div>\n <div class="' + p + '">\n </div>\n </div>\n</div>\n<div class="lipscore-review-content">\n <div class="' + c + '"></div>\n <div class="' + e + ' lipscore-hidden"></div>\n <div class="' + D + ' lipscore-hidden"></div>\n</div>\n<div class="lipscore-review-footer">\n <div class="lipscore-review-vote-wrapper">\n <span ls-review-vote-score="1" class="' + l + ' lipscore-review-vote-thumb-up"></span>\n <span class="' + h + '"></span>&nbsp;\n <span ls-review-vote-score="-1" class="' +
l + ' lipscore-review-vote-thumb-down"></span>\n <span class="' + h + '"></span>\n </div>\n <div class="' + q + '">\n </div>\n</div>';
a.prototype.disable = function() {
var a = document.createElement("div");
a.innerHTML = "<span>reported</span>";
lipscore.a.addClass(a, "lipscore-review-box-muted");
this.hb.appendChild(a);
return lipscore.a.addClass(this.ne, "lipscore-review-flag-wrapper-muted")
};
a.prototype.f = function() {
return this.hb
};
a.prototype.qj = function(a, b) {
this.Ac.textContent = a;
this.Bc.nf(b)
};
a.prototype.xj =
function(a, b) {
this.pf("image", b, a)
};
a.prototype.yj = function(a) {
lipscore.a.removeClass(this.Qi, "lipscore-hidden");
this.Ri.textContent = lipscore.a.Ua(new Date(a))
};
a.prototype.ld = function(a) {
var b = new lipscore.Qa;
a = lipscore.o.va(a);
this.$e.innerHTML = b.Va(a);
lipscore.a.removeClass(this.$e, "lipscore-hidden")
};
a.prototype.uj = function(a) {
this.Gc.textContent = lipscore.a.Ua(new Date(a))
};
a.prototype.nd = function(a) {
this.cc.textContent = a
};
a.prototype.Ij = function(a) {
this.pf("video", a, "//img.youtube.com/vi/" + a +
"/2.jpg")
};
a.prototype.Jj = function(a, b) {
this.yk.textContent = a;
this.xk.textContent = b
};
a.prototype.pf = function(a, b, c) {
var d = document.createElement("div");
lipscore.a.addClass(d, "lipscore-review-media-item");
d.innerHTML = '<a href="#open-media" data-media-type="' + a + '" data-media-id="' + b + '">\n <img class="lipscore-review-media-image" src="' + c + '">\n ' + ("video" === a ? '<div class="lipscore-video-play-icon"></div>' : "") + "\n</a>";
d.getElementsByTagName("a")[0].onclick = lipscore.aa.Ci;
this.Ie.appendChild(d);
lipscore.a.removeClass(this.Ie,
"lipscore-hidden")
};
a.prototype.Bj = function(a) {
this.Ka = a
};
a.prototype.zj = function(a) {
if (null != a) {
var b = lipscore.a.Ua(new Date(a.created_at));
this.ef.innerHTML = '<span class="lipscore-review-reply-header">\n <span class="lipscore-strong">' + a.member_site + '</span>\n <span class="lipscore-review-date">(' + b + ')</span>:&nbsp;\n</span>\n<span class="lipscore-review-reply-text">' + a.text + "</span>";
lipscore.a.show(this.ef)
}
};
a.Dh = function(a) {
return a.getAttribute("data-media-type")
};
a.Ch = function(a) {
return a.getAttribute("data-media-id")
};
return a
}();
(function() {
function a(a, c) {
function b() {
this.constructor = a
}
for (var f in c) d.call(c, f) && (a[f] = c[f]);
b.prototype = c.prototype;
a.prototype = new b;
a.da = c.prototype;
return a
}
var d = {}.hasOwnProperty;
lipscore.h = function() {
function b() {}
var c;
var d = null;
b.get = function() {
return null != d ? d : d = new f
};
var f = function(b) {
function d() {
return c = d.da.constructor.apply(this, arguments)
}
a(d, b);
d.prototype.Jb = function() {
return document.getElementById("lipscore-review-list")
};
return d
}(lipscore.pc);
return b
}()
}).call(this);
lipscore.Hd = function() {
function a(a) {
this.product = a;
this.g = lipscore.qa.get();
this.u = new lipscore.mc(this.product.type);
this.g.ib(this.html(a));
this.b = this.g.b;
this.Ve = lipscore.a.getElementsByClassName(d, this.b)[0];
this.gj = lipscore.a.getElementsByClassName("lipscore-review-post", this.b)[0];
this.Ti = lipscore.a.getElementsByClassName("lipscore-rating-slider", this.b)[0]
}
a.prototype.nb = "";
a.prototype.uc = "";
var d = "lipscore-reviews-products-wrapper";
a.prototype.html = function() {
return '<div class="lipscore-reviews-modal-items">\n <div class="lipscore-reviews-modal-inner-title">' +
this.uc + "</div>\n <div class='lipscore-reviews-products-wrapper'>\n <div class=\"lipscore-reviews-modal-rating-wrapper\">\n " + this.wi() + '\n <div class="lipscore-reviews-modal-rating-slider lipscore-rating-slider" ls-lipscore-product-id="' + this.product.id + '" ls-review-modal="false"></div>\n </div>\n <div class="lipscore-review-modal-review-wrapper">\n <div class="lipscore-review-post" ls-lipscore-product-id="' + this.product.id + '" ' + lipscore.j.u() + '="' + this.u.getName() + '"></div>\n <div>\n </div>\n<div>'
};
a.prototype.wi = function() {
return this.product.name && this.u.ii() ? ' <div class="lipscore-reviews-modal-product-name">' + this.product.name + "</div> " : ""
};
a.prototype.show = function() {
return this.g.show(this.nb)
};
a.prototype.Tc = function() {
return !lipscore.a.Fe(this.b)
};
return a
}();
(function() {
function a(a, c) {
function b() {
this.constructor = a
}
for (var f in c) d.call(c, f) && (a[f] = c[f]);
b.prototype = c.prototype;
a.prototype = new b;
a.da = c.prototype;
return a
}
var d = {}.hasOwnProperty;
lipscore.Db = function() {
function b() {}
var c;
var d = null;
b.get = function() {
return d
};
b.init = function(a) {
return d = new f(a)
};
var f = function(b) {
function d() {
return c = d.da.constructor.apply(this, arguments)
}
a(d, b);
d.prototype.nb = "lipscore-review-edit-modal";
d.prototype.uc = lipscore.c.t("edit_review_modal.title");
return d
}(lipscore.Hd);
return b
}()
}).call(this);
(function() {
function a(a, c) {
function b() {
this.constructor = a
}
for (var f in c) d.call(c, f) && (a[f] = c[f]);
b.prototype = c.prototype;
a.prototype = new b;
a.da = c.prototype;
return a
}
var d = {}.hasOwnProperty;
lipscore.Id = function() {
function b() {}
var c;
var d = null;
b.get = function() {
return d
};
b.init = function(a) {
return d = new f(a)
};
var f = function(b) {
function d() {
return c = d.da.constructor.apply(this, arguments)
}
a(d, b);
d.prototype.nb = "lipscore-review-modal";
d.prototype.uc = lipscore.c.t("review_modal.title");
return d
}(lipscore.Hd);
return b
}()
}).call(this);
(function() {
function a(a, c) {
function b() {
this.constructor = a
}
for (var f in c) d.call(c, f) && (a[f] = c[f]);
b.prototype = c.prototype;
a.prototype = new b;
a.da = c.prototype;
return a
}
var d = {}.hasOwnProperty;
lipscore.Da = function() {
function b() {}
var c;
var d = null;
b.get = function() {
return null != d ? d : d = new f
};
var f = function(b) {
function d() {
return c = d.da.constructor.apply(this, arguments)
}
a(d, b);
d.prototype.Df = function() {
return "lipscore-review-post"
};
d.prototype.Ef = function() {
return "lipscore-review-post"
};
d.prototype.de =
function(a) {
return new lipscore.cg(a)
};
d.prototype.pa = function(a, b) {
var c;
var d = this.items;
var e = [];
var f = 0;
for (c = d.length; f < c; f++) {
var g = d[f];
e.push(g.pa(a, b))
}
return e
};
d.prototype.ac = function() {
var a;
var b = this.items;
var c = [];
var d = 0;
for (a = b.length; d < a; d++) {
var e = b[d];
c.push(e.ac())
}
return c
};
d.prototype.Ra = function() {
var a;
var b = this.items;
var c = [];
var d = 0;
for (a = b.length; d < a; d++) {
var e = b[d];
c.push(e.Ra())
}
return c
};
return d
}(lipscore.Ld);
return b
}()
}).call(this);
lipscore.cg = function() {
function a(a) {
this.b = a;
this.oa = !1;
this.init()
}
var d = '<div class="lipscore-review-media-frame">\n <span class="lipscore-review-media-remove" title="' + lipscore.c.t("common.remove") + '"></span>\n <img class="lipscore-review-media-image" alt="Media Attachment" src="">\n</div>';
var b = function() {
function a(a, b, c, d) {
this.hb = a;
this.type = b;
this.id = c;
this.cf = lipscore.a.getElementsByClassName("lipscore-review-media-remove", a)[0];
this.image = lipscore.a.getElementsByClassName("lipscore-review-media-image",
a)[0];
a.getElementsByTagName("img")[0].setAttribute("src", d)
}
a.prototype.za = function() {
return this.id
};
return a
}();
var c = '<div class="lipscore-review-form-wrapper">\n <div class="lipscore-review-alert-wrapper lipscore-review-alert-wrapper-stretched">\n </div>\n <div class="lipscore-review-form">\n <div class="lipscore-review-auth-box-wrapper lipscore-hidden">\n <div class="lipscore-review-auth-header">' + lipscore.c.t("common.login") + '</div>\n </div>\n <div class="lipscore-review-postbox lipscore-review-postbox-stretched">\n <button class="lipscore-btn lipscore-btn-dark lipscore-review-dummy-button">\n ' +
lipscore.c.t("review.publish") + '\n </button>\n <div class="lipscore-review-header lipscore-hidden">\n <div class="lipscore-review-info">\n ' + lipscore.Cb.html() + '\n <div class="lipscore-review-info-wrapper">\n <div>\n <div class="lipscore-dropdown lipscore-user-dropdown">\n <span class="lipscore-dropdown-toggle">\n <span class="lipscore-strong lipscore-review-author"></span>\n <span class="lipscore-caret"></span>&nbsp;\n </span>\n </div>\n <span class="lipscore-text-muted lipscore-review-info-delim">\u2022</span>&nbsp;\n <span class="lipscore-review-created-at lipscore-review-date"></span>\n </div>\n </div>\n </div>\n <div class="lipscore-review-media-box-wrapper">\n <div class="lipscore-review-link-box">\n <div class="lipscore-review-link-box-item">\n <span class="lipscore-review-link-image" title="' +
lipscore.c.t("common.image") + '"></span>\n <input class="lipscore-hidden" type="file" name="lipscore-review-image" accept="image/*">\n </div>\n <div class="lipscore-review-link-box-item">\n <span class="lipscore-review-link-video" title="Youtube"></span>\n </div>\n </div>\n </div>\n </div>\n <div class="lipscore-review-content-wrapper">\n <div class="lipscore-review-textarea lipscore-review-text" contenteditable="true" placeholder="' +
lipscore.c.t("review.write_review") + '"></div>\n <div class="lipscore-review-media-wrapper lipscore-hidden">\n <div class="lipscore-review-media-list"></div>\n </div>\n </div>\n </div>\n <div class="lipscore-review-form-footer lipscore-hidden">\n <div class="lipscore-review-form-footer-content">\n <div class="lipscore-review-form-footer-item">\n <label class="lipscore-review-form-agree-label">\n <input type="checkbox" value="1" class="lipscore-review-form-agree-button">\n <span class="lipscore-review-form-agree-text"></span>\n </label>\n </div>\n <div class="lipscore-review-form-footer-item">\n <button class="lipscore-review-post-button lipscore-btn lipscore-btn-dark">\n ' +
lipscore.c.t("review.publish") + "\n </button>\n </div>\n </div>\n </div>\n </div>\n</div>";
a.prototype.init = function() {
if (!this.oa) {
this.b.innerHTML = c;
this.ja = lipscore.a.getElementsByClassName("lipscore-review-textarea", this.b)[0];
this.Tb = lipscore.a.getElementsByClassName("lipscore-review-post-button", this.b)[0];
this.$h = lipscore.a.getElementsByClassName("lipscore-review-link-image", this.b)[0];
this.wk = lipscore.a.getElementsByClassName("lipscore-review-link-video", this.b)[0];
this.Sb = lipscore.a.getElementsByClassName("lipscore-review-media-wrapper", this.b)[0];
this.Ja = lipscore.a.getElementsByClassName("lipscore-review-media-list", this.b)[0];
this.zc = lipscore.a.getElementsByClassName("lipscore-review-auth-box-wrapper", this.b)[0];
this.Qc = this.b.getElementsByTagName("input")[0];
this.Ia = [];
this.Pe = lipscore.a.getElementsByClassName("lipscore-review-postbox", this.b)[0];
this.Gc = lipscore.a.getElementsByClassName("lipscore-review-created-at", this.b)[0];
this.Ac = lipscore.a.getElementsByClassName("lipscore-review-author",
this.b)[0];
this.ue = lipscore.a.getElementsByClassName("lipscore-review-header", this.b)[0];
this.uh = lipscore.a.getElementsByClassName("lipscore-review-form", this.b)[0];
var a = lipscore.a.getElementsByClassName("lipscore-user-dropdown", this.b)[0];
this.yc = lipscore.a.getElementsByClassName("lipscore-review-alert-wrapper", this.b)[0];
this.th = lipscore.a.getElementsByClassName("lipscore-review-form-footer", this.b)[0];
this.Zg = lipscore.a.getElementsByClassName("lipscore-review-content-wrapper", this.b)[0];
this.he =
lipscore.a.getElementsByClassName("lipscore-review-dummy-button", this.b)[0];
this.Ig = lipscore.a.getElementsByClassName("lipscore-review-form-agree-button", this.b)[0];
this.Jg = lipscore.a.getElementsByClassName("lipscore-review-form-agree-text", this.b)[0];
this.Bc = new lipscore.Cb(this.b);
this.Vc = new lipscore.zd;
lipscore.a.getElementsByClassName("lipscore-review-auth-box-wrapper", this.b)[0].appendChild(this.Vc.f());
this.Ga = new lipscore.Ff(this.yc);
this.pi = (new lipscore.vd(a)).Hb(lipscore.c.t("common.logout"));
this.l();
this.rj();
this.pj();
lipscore.qb() && lipscore.Pa.prepend(this.b);
this.active = !1;
this.u = this.b.getAttribute(lipscore.j.u());
return this.oa = this.b
}
};
a.prototype.f = function() {
return this.b
};
a.prototype.Jh = function() {
return this.ja.textContent.replace(/\s+/g, "")
};
a.prototype.isInitialized = function() {
return this.oa
};
a.Tk = function() {
return "lipscore-review-textarea"
};
a.prototype.nd = function(a) {
this.ja.innerHTML = a
};
a.prototype.l = function() {
var a = this;
this.Tb.onclick = function(b) {
return lipscore.aa.Ii(b,
a)
};
this.$h.onclick = function() {
return lipscore.aa.Zh(a)
};
this.wk.onclick = function() {
return lipscore.aa.vk(a)
};
this.Qc.onchange = function() {
return lipscore.aa.Yh(a)
};
this.pi.onclick = lipscore.aa.ri;
lipscore.isExpandable() && (this.ja.onfocus = function() {
return lipscore.aa.Ki(this, a)
})
};
a.prototype.clear = function() {
this.ja.innerHTML = "";
this.Ja.innerHTML = "";
this.Ia = [];
this.Ga.reset();
lipscore.a.addClass(this.Sb, "lipscore-hidden");
return lipscore.a.removeClass(this.ja, "lipscore-review-textarea-media")
};
a.prototype.rj =
function() {
var a = lipscore.c.t("review.publish");
this.b && (this.Tb.textContent = a, this.he.textContent = a)
};
a.prototype.Ra = function() {
if (this.b) {
this.active = !0;
this.sf();
lipscore.a.hide(this.he);
lipscore.a.show(this.zc);
lipscore.a.show(this.th);
lipscore.a.addClass(this.Zg, "lipscore-review-content-wrapper-active");
this.ja.setAttribute("placeholder", this.ej());
var a = lipscore.ba.get();
0 < a.za() ? this.pa(a.pe(), a.getName()) : this.ac();
return this.focus()
}
};
a.prototype.pa = function(a, b) {
if (this.b && this.active) return lipscore.a.hide(this.zc),
this.stretch(), lipscore.a.show(this.ue), this.Bc.nf(a), this.Gc.textContent = lipscore.a.Ua(new Date), this.Ac.textContent = b, this.Ga.reset()
};
a.prototype.ac = function() {
if (this.active) return lipscore.a.show(this.zc), lipscore.a.hide(this.ue), this.sf()
};
a.prototype.stretch = function() {
lipscore.a.addClass(this.Pe, "lipscore-review-postbox-stretched");
return lipscore.a.addClass(this.yc, "lipscore-review-alert-wrapper-stretched")
};
a.prototype.sf = function() {
lipscore.a.removeClass(this.Pe, "lipscore-review-postbox-stretched");
return lipscore.a.removeClass(this.yc, "lipscore-review-alert-wrapper-stretched")
};
a.prototype.Cg = function(a, b) {
var c = document.createElement("div");
this.Ja.appendChild(c);
return this.Td(c, "video", a, b)
};
a.prototype.Td = function(a, c, g, h) {
a.setAttribute("class", "lipscore-review-media-list-item");
a.innerHTML = d;
a.setAttribute("ls-media-type", c);
a.setAttribute("ls-media-id", g);
1 === this.Ja.childNodes.length && (lipscore.a.removeClass(this.Sb, "lipscore-hidden"), lipscore.a.addClass(this.ja, "lipscore-review-textarea-media"));
a = new b(a, c, g, h);
this.Ia.push(a);
return a
};
a.prototype.Dg = function(a, b) {
var c = document.createElement("div");
c.setAttribute("class", "lipscore-review-media-list-item");
c.innerHTML = '<div class="lipscore-review-media-frame-uploading">\n <div></div>\n</div>';
c.getElementsByTagName("div")[1].setAttribute("style", "width: " + 75 / b * a + "px");
0 === this.Ja.childNodes.length && (lipscore.a.removeClass(this.Sb, "lipscore-hidden"), lipscore.a.addClass(this.ja, "lipscore-review-textarea-media"));
this.Ja.appendChild(c);
return c
};
a.prototype.df = function(a) {
var b;
var c = [];
var d = this.Ia;
var e = 0;
for (b = d.length; e < b; e++) {
var m = d[e];
a !== m.hb && c.push(m)
}
this.Ia = c;
this.Ja.removeChild(a);
0 === this.Ja.childNodes.length && (lipscore.a.addClass(this.Sb, "lipscore-hidden"), lipscore.a.removeClass(this.ja, "lipscore-review-textarea-media"))
};
a.prototype.Mh = function() {
var a;
var b = this.Ia;
var c = 0;
for (a = b.length; c < a; c++) {
var d = b[c];
if ("video" === d.type) return d.za()
}
return null
};
a.prototype.zh = function() {
var a;
var b = [];
var c = this.Ia;
var d = 0;
for (a =
c.length; d < a; d++) {
var l = c[d];
"image" === l.type && b.push(l.za())
}
return b
};
a.prototype.error = function(a) {
return this.Ga.error(a)
};
a.prototype.Pi = function(a, b, c) {
this.clear();
this.Sh && this.Vh();
b ? (a = lipscore.c.t("review.messages.delayed_publishing"), this.Ga.rd(a)) : a ? (a = lipscore.c.t("review.messages.media"), this.Ga.rd(a)) : c ? (a = lipscore.c.t("review.messages.delayed_publishing"), this.Ga.rd(a)) : (a = lipscore.c.t("review.messages.regular"), this.Ga.success(a))
};
a.prototype.Vh = function() {
lipscore.a.addClass(this.uh,
"hidden")
};
a.prototype.wj = function() {
this.Sh = !0
};
a.prototype.gh = function() {
return this.Tb.disabled = !1
};
a.prototype.eh = function() {
return this.Tb.disabled = !0
};
a.prototype.pj = function() {
this.Jg.innerHTML = lipscore.Ea.Xd()
};
a.prototype.ej = function() {
return lipscore.c.t("review." + (this.u || "product") + "_review_instructions")
};
a.prototype.focus = function() {
return this.ja.focus()
};
return a
}();
lipscore.ha = function() {
function a() {}
var d = null;
a.create = function(a, e) {
var c = b();
return null != c ? d = new c(a, e) : d = new lipscore.dg(a, e)
};
a.get = function() {
return d
};
a.Wb = function() {
return null != d ? d.Wb : null
};
var b = function() {
var a;
(a = lipscore.zb.get().Ah()) && (a = lipscore.a.Qg(a));
return lipscore["ReviewsModalInner" + a + "View"]
};
return a
}();
lipscore.rc = function() {
function a() {}
var d = null;
a.get = function() {
return null != d ? d : d = new b
};
var b = function() {
function a() {}
a.prototype.ci = function() {
var a;
this.isEnabled() && !this.qe() && (a = document.getElementById("lipscore-rating")) && (a = new lipscore.qc(lipscore.a.Lc(a)), this.xc(a.Mi(), "lipscore-richsnippet-product"))
};
a.prototype.bi = function(a) {
var b;
if (this.isEnabled() && !this.Ih() && (b = document.getElementById("lipscore-review-list"))) return b = lipscore.a.Lc(b), b.reviews = a, b = new lipscore.qc(b), a = null !=
this.qe(), this.xc(b.Oi(a), "lipscore-richsnippet-product-reviews")
};
a.prototype.ai = function() {
var a, b;
if (this.isEnabled() && !this.Fh() && (a = this.Gh())) {
a = lipscore.a.Lc(a);
if (b = lipscore.a.getElementsByClassName("lipscore-service-review-testimonial")[0]) a.kf = lipscore.Fb.ed(b);
a = new lipscore.qc(a);
return this.xc(a.Fi(), "lipscore-richsnippet-organization")
}
};
a.prototype.xc = function(a, b) {
var c = document.createElement("script");
c.type = "application/ld+json";
c.innerHTML = a;
c.setAttribute("id", b);
a = document.getElementsByTagName("head")[0];
return a.insertBefore(c, a.getElementsByTagName("script")[0])
};
a.prototype.isEnabled = function() {
return lipscore.Pd("richsnippets")
};
a.prototype.Fh = function() {
return document.getElementById("lipscore-richsnippet-organization")
};
a.prototype.qe = function() {
return document.getElementById("lipscore-richsnippet-product")
};
a.prototype.Ih = function() {
return document.getElementById("lipscore-richsnippet-product-reviews")
};
a.prototype.Gh = function() {
var a;
var b = ["lipscore-service-review-badge-starred", "lipscore-service-review-badge",
"lipscore-service-review-testimonial"
];
d;
var c = 0;
for (a = b.length; c < a; c++) {
var d = b[c];
if (d = lipscore.a.getElementsByClassName(d)[0]) break
}
return d
};
return a
}();
return a
}();
lipscore.td = function() {
function a(a) {
this.ic = document.createElement("div");
this.ic.innerHTML = this.Ck(a);
this.b = this.ic.childNodes[0];
new lipscore.Kd(this.b)
}
a.prototype.Ck = function(a) {
return '<div\n class=lipscore-service-review-badge-starred\n ls-product-votes="' + a.getAttribute("ls-product-votes") + '"\n ls-product-rating="' + a.getAttribute("ls-product-rating") + '"\n ls-lipscore-product-id="' + a.getAttribute("ls-lipscore-product-id") + '"\n ls-widget-height="100%"\n ls-widget-width=""\n></div>'
};
return a
}();
lipscore.Kd = function() {
function a(a) {
if (this.b = a) a = lipscore.o.fc(this.b), this.fb = lipscore.o.va(a), this.qd = this.b.getAttribute("ls-product-votes"), this.width = this.b.getAttribute("ls-widget-width"), this.height = this.b.getAttribute("ls-widget-height"), this.b.innerHTML = this.html(), lipscore.a.addClass(this.b, "lipscore-service-review-modal-toggle"), this.l()
}
a.prototype.ak = function(a, b, c, e) {
return '<svg class="lipscore-service-review-badge-svg" viewbox="0 0 2362 1974" ' + (c ? "width='" + c + "'" : "") + " " + (e ? "height='" +
e + "'" : "") + '>\n <g class="lipscore-service-review-badge-arc" fill="none" fill-rule="evenodd">\n <path class="lipscore-service-review-badge-arc-base" fill="#429521" d="M1180,1C528.6,1,0,533.1,0,1180.5H387v0.1h0c0.5-437.5,355.4-793,793-793c437.9,0,793,355,793,793h387.5C2359.5,533.1,1831.4,1,1180,1z"/>\n <g class="lipscore-service-review-badge-stars" fill="none" fill-rule="evenodd">\n <polygon fill="#FFFFFF" points="245 939.5 163.298 982.453 178.902 891.477 112.803 827.047 204.149 813.773 245 731 285.851 813.773 377.197 827.047 311.098 891.477 326.702 982.453"/>\n <polygon fill="#FFFFFF" points="563 467.5 481.298 510.453 496.902 419.477 430.803 355.047 522.149 341.773 563 259 603.851 341.773 695.197 355.047 629.098 419.477 644.702 510.453"/>\n <polygon fill="#FFFFFF" points="1180 268.5 1098.298 311.453 1113.902 220.477 1047.803 156.047 1139.149 142.773 1180 60 1220.851 142.773 1312.197 156.047 1246.098 220.477 1261.702 311.453"/>\n <polygon fill="#FFFFFF" points="1790 477.343 1708.298 520.453 1724.051 429.428 1657.803 365.047 1749.241 351.9 1790 269 1830.759 351.9 1922.197 365.047 1855.949 429.428 1871.702 520.453"/>\n <polygon fill="#FFFFFF" points="2105 939.343 2023.298 982.453 2039.051 891.428 1972.803 827.047 2064.241 813.9 2105 731 2145.759 813.9 2237.197 827.047 2170.949 891.428 2186.702 982.453"/>\n </g>\n </g>\n <text class="lipscore-service-review-badge-rating-text" x="50%" y="1030" font-family="\'Open Sans\', sans-serif" fill="#000000" font-size="500px">\n <tspan class="lipscore-service-review-badge-rating-value" dx="75" text-anchor="middle" font-weight="800" font-size="530px">' +
a + '</tspan><tspan font-size="200px" text-anchor="end">/' + lipscore.gb + '</tspan>\n </text>\n <text class="lipscore-service-review-badge-votes-text" x="50%" y="1394" font-family="\'Open Sans\', sans-serif" fill="#000000" font-size="180px" font-weight="800">\n <tspan text-anchor="middle">' + b + '</tspan>\n </text>\n <g class="lipscore-service-review-logo" fill-rule="nonzero" transform="translate(419.406 1571.636)">\n <path fill="#E92631" d="M373.43675,160.867237 L417.554735,160.867237 L281.142318,106.55299 L260.553332,42.6004116 C260.553332,42.6004116 248.725049,39.3038567 235.65668,37.3925564 C220.570946,35.1860857 203.960321,34.3268773 203.960321,34.3268773 L246.529682,160.867237 L370.283135,160.867237 L268.062082,243.26065 L329.016161,401.416372 L329.016161,256.88524 L384.499622,215.584786 C384.499622,215.584786 383.861779,206.18902 380.455993,189.536743 C379.290075,183.808687 374.920107,166.680045 373.43675,160.867237 Z M86.306429,365.651091 L133.236857,242.658619 L28.6365013,159.552122 L162.174173,159.552122 L214.38535,0.262477826 L122.532958,110.530482 L53.7437908,110.530482 C53.7437908,110.530482 46.4456776,122.147331 40.1058125,134.269768 C34.0685523,145.80771 28.9242724,157.655434 28.2419285,159.239417 L0.535798681,137.224393 L72.8939212,261.298182 L48.5045762,324.204513 C48.5045762,324.204513 57.6064508,336.943593 63.9997166,344.165036 C73.9026036,355.363969 83.6749549,364.45872 85.5647515,366.191749 L64.521858,381.610741 L206.689697,342.344332 L262.55883,381.800702 C262.55883,381.800702 277.37756,376.093104 289.544049,370.140016 C301.956775,364.061263 311.71726,357.737021 311.71726,357.737021 L203.147442,280.078023 L86.306429,365.651091 Z"/>\n <path fill="#C8141E" d="M303.580079,158.474213 L281.928678,149.681804 L261.396919,84.6019879 C261.396919,84.6019879 250.66204,82.0403733 240.064138,80.0266185 C230.154103,78.1431655 220.32149,76.8046109 220.32149,76.8046109 L247.454977,158.474213 L303.580079,158.474213 Z M215.947139,41.3802951 L210.548433,47.35937 L212.177275,52.3641428 L215.947139,41.3802951 Z M384.807827,203.671163 C384.807827,203.671163 383.622672,196.510487 382.854406,192.453363 C382.553651,190.880858 382.309473,189.711104 382.309473,189.711104 L349.601592,176.491395 L316.283268,203.671163 L374.287347,203.671163 L282.640366,277.102138 L330.377077,402.203692 L330.377077,255.756337 L379.507387,218.815783 L374.382636,203.671163 L384.807827,203.671163 Z M298.339195,366.548388 C298.339195,366.548388 302.683769,364.232569 306.513188,361.984864 C309.943585,359.968147 312.903493,357.992891 312.903493,357.992891 L289.191471,340.665716 L298.339195,366.548388 Z M166.408874,353.769929 L207.40688,342.380368 L263.582606,382.377092 C263.582606,382.377092 267.144025,380.934889 270.467221,379.557835 C273.61473,378.245934 276.538905,376.996221 276.538905,376.996221 L204.110483,325.781698 L166.408874,353.769929 Z M44.0878319,169.348489 L33.3589085,191.339875 L40.8807682,204.367092 L87.7241467,204.367092 L44.0878319,169.348489 Z M50.6627592,221.155292 L73.216427,260.228058 L62.588748,287.902379 L73.1955826,306.425961 L60.3435057,339.481154 C60.3435057,339.481154 65.4980342,345.981436 70.595985,351.350462 C77.1054012,358.214996 84.2609948,364.972921 85.9553485,366.548388 L64.5838573,382.314903 L101.222401,372.018101 L110.87337,348.166952 L86.6551259,366.039026 L120.461806,276.672735 L50.6627592,221.155292 Z M123.460425,154.055798 L54.3105335,154.055798 L52.7174239,157.043854 L162.85341,157.043854 L190.499074,72.0456345 L123.460425,154.055798 Z"/>\n <polyline fill="#3F3334" points="476.127 108.485 527.735 108.485 527.735 270.833 618.351 270.833 618.351 310.136 476.127 310.136 476.127 108.485"/>\n <path fill="#3F3334" d="M635.08301 100.082624L685.279788 100.082624 685.279788 139.500895 635.08301 139.500895 635.08301 100.082624zM635.08301 158.939734L685.279788 158.939734 685.279788 310.135705 635.08301 310.135705 635.08301 158.939734zM749.354523 290.431328L749.354523 368.950568 702.012048 368.950568 702.012048 162.502104 749.354523 162.502104 749.354523 184.402129C755.880969 175.680244 763.108603 169.245905 771.044781 165.106538 778.978506 160.96717 788.103763 158.897487 798.418096 158.897487 816.668609 158.897487 831.655898 166.223077 843.382416 180.864356 855.104033 195.508111 860.968514 214.360551 860.968514 237.416728 860.968514 260.47538 855.104033 279.327821 843.382416 293.969099 831.655898 308.61533 816.668609 315.935969 798.418096 315.935969 788.103763 315.935969 778.978506 313.866285 771.044781 309.726918 763.108603 305.587551 755.880969 299.155687 749.354523 290.431328L749.354523 290.431328zM780.829546 193.619153C770.691735 193.619153 762.910015 197.379738 757.489289 204.900909 752.066111 212.424556 749.354523 223.263162 749.354523 237.416728 749.354523 251.57277 752.066111 262.411376 757.489289 269.932547 762.910015 277.458669 770.691735 281.216779 780.829546 281.216779 790.967357 281.216779 798.702495 277.478475 804.037411 270.001866 809.372326 262.522783 812.039785 251.661895 812.039785 237.416728 812.039785 223.176513 809.372326 212.310674 804.037411 204.834065 798.702495 197.354982 790.967357 193.619153 780.829546 193.619153L780.829546 193.619153zM999.378594 118.789922L999.378594 145.506946C989.004685 140.536629 979.217835 136.825861 970.015536 134.384699 960.813237 131.943537 951.927043 130.724213 943.356964 130.724213 928.472214 130.724213 916.991917 133.617908 908.918585 139.400269 900.840225 145.187659 896.806069 153.416211 896.806069 164.08341 896.806069 173.033501 899.487983 179.791322 904.856829 184.356873 910.223166 188.922424 920.396372 192.608052 935.371434 195.408725L951.881883 198.797692C972.268443 202.686959 987.313748 209.532772 997.012794 219.342674 1006.70933 229.152576 1011.55885 242.283565 1011.55885 258.73564 1011.55885 278.355445 1004.99581 293.226169 991.869741 303.352844 978.743668 313.477006 959.503636 318.537829 934.154665 318.537829 924.591091 318.537829 914.417885 317.454265 903.63755 315.282108 892.857206 313.114979 881.693024 309.907026 870.144987 305.655733L870.144987 277.450379C881.243947 283.687788 892.114603 288.391613 902.761976 291.551799 913.404329 294.719528 923.868558 296.300878 934.154665 296.300878 949.759438 296.300878 961.804213 293.226169 970.286482 287.079268 978.763739 280.929852 983.006128 272.160775 983.006128 260.772037 983.006128 250.826375 979.960438 243.050356 973.871569 237.44398 967.7827 231.842631 957.790119 227.639106 943.898863 224.833404L927.250424 221.580197C906.861362 217.512431 892.114603 211.139263 883.002616 202.458178 873.890637 193.782122 869.334644 181.712071 869.334644 166.253053 869.334644 148.352873 875.626726 134.248939 888.2109 123.941252 900.797575 113.636078 918.138445 108.484748 940.243534 108.484748 949.719297 108.484748 959.370673 109.34456 969.202683 111.059156 979.034693 112.77878 989.095005 115.353188 999.378594 118.789922M1137.0508 168.400608L1137.0508 191.745667C1130.17618 187.859857 1123.27705 184.940466 1116.36077 182.992528 1109.43959 181.047106 1102.45714 180.073137 1095.40851 180.073137 1079.63243 180.073137 1067.38311 185.212272 1058.65566 195.48299 1049.93066 205.756226 1045.57061 220.166943 1045.57061 238.717658 1045.57061 257.273407 1049.93066 271.68664 1058.65566 281.954842 1067.38311 292.225561 1079.63243 297.362178 1095.40851 297.362178 1102.45714 297.362178 1109.43959 296.390726 1116.36077 294.442788 1123.27705 292.499883 1130.17618 289.580492 1137.0508 285.689649L1137.0508 308.76542C1130.26196 312.02205 1123.23539 314.465782 1115.96374 316.096614 1108.69209 317.722413 1100.95967 318.537829 1092.7616 318.537829 1070.46628 318.537829 1052.75403 311.345054 1039.61996 296.95447 1026.48834 282.566404 1019.92498 263.152456 1019.92498 238.717658 1019.92498 213.920453 1026.55451 194.418419 1039.81847 180.20904 1053.0849 166.004694 1071.26035 158.897487 1094.3522 158.897487 1101.83953 158.897487 1109.15774 159.690253 1116.2946 161.273267 1123.43391 162.856282 1130.35264 165.232062 1137.0508 168.400608M1220.71089 158.897487C1241.54678 158.897487 1257.90696 165.954359 1269.80111 180.073137 1281.69527 194.194432 1287.64113 213.73925 1287.64113 238.717658 1287.64113 263.607981 1281.69527 283.130149 1269.80111 297.294227 1257.90696 311.458306 1241.54678 318.537829 1220.71089 318.537829 1199.79292 318.537829 1183.40618 311.458306 1171.55548 297.294227 1159.7072 283.130149 1153.78306 263.607981 1153.78306 238.717658 1153.78306 213.73925 1159.7072 194.194432 1171.55548 180.073137 1183.40618 165.954359 1199.79292 158.897487 1220.71089 158.897487L1220.71089 158.897487zM1220.71089 180.073137C1207.86318 180.073137 1197.70716 185.300357 1190.24284 195.754795 1182.77611 206.204201 1179.04394 220.526833 1179.04394 238.717658 1179.04394 256.910999 1182.75438 271.231115 1190.17766 281.683037 1197.60095 292.137476 1207.77627 297.362178 1220.71089 297.362178 1233.47169 297.362178 1243.58426 292.117342 1251.05099 281.615085 1258.51772 271.117863 1262.2523 256.820397 1262.2523 238.717658 1262.2523 220.710553 1258.51772 206.433223 1251.05099 195.888182 1243.58426 185.345658 1233.47169 180.073137 1220.71089 180.073137L1220.71089 180.073137zM1388.03469 186.594833C1385.39841 184.925355 1382.52805 183.697114 1379.42598 182.907531 1376.32154 182.120528 1372.90028 181.723156 1369.16219 181.723156 1355.89564 181.723156 1345.71462 186.434853 1338.61674 195.850506 1331.51414 205.268738 1327.96756 218.792289 1327.96756 236.421157L1327.96756 318.537829 1304.37339 318.537829 1304.37339 162.654459 1327.96756 162.654459 1327.96756 186.87351C1332.8973 177.408831 1339.3166 170.379991 1347.22545 165.78699 1355.12958 161.193988 1364.73843 158.897487 1376.04727 158.897487 1377.66215 158.897487 1379.44725 159.013602 1381.4026 159.245832 1383.36031 159.478063 1385.52371 159.826409 1387.90702 160.288289L1388.03469 186.594833M1521.89277 232.337782L1521.89277 244.55644 1412.79613 244.55644C1413.82417 261.750645 1418.74681 274.850152 1427.56166 283.854963 1436.37412 292.86229 1448.64606 297.362178 1464.37987 297.362178 1473.49118 297.362178 1482.32516 296.186872 1490.87941 293.831226 1499.43367 291.480613 1507.92098 287.952177 1516.34613 283.243401L1516.34613 306.865299C1507.8373 310.665541 1499.11091 313.562281 1490.16934 315.553003 1481.22539 317.541209 1472.15951 318.537829 1462.95973 318.537829 1439.91967 318.537829 1421.67075 311.480957 1408.21776 297.362178 1394.75999 283.243401 1388.03469 264.149075 1388.03469 240.076685 1388.03469 215.191395 1394.4205 195.437689 1407.18494 180.820602 1419.95416 166.206031 1437.16787 158.897487 1458.83322 158.897487 1478.26081 158.897487 1493.62882 165.481217 1504.93487 178.648676 1516.24094 191.816135 1521.89277 209.715021 1521.89277 232.337782L1521.89277 232.337782zM1498.16416 225.009105C1497.99201 211.343336 1494.3604 200.438404 1487.26931 192.291794 1480.17344 184.147701 1470.78241 180.073137 1459.09144 180.073137 1445.85122 180.073137 1435.25284 184.011798 1427.30346 191.884086 1419.34929 199.758891 1414.77331 210.845026 1413.56835 225.142491L1498.16416 225.009105 1498.16416 225.009105z"/>\n </g>\n</svg>'
};
a.prototype.html = function() {
var a = lipscore.c.t("service_review.badge.based_on_votes", {
votes: this.qd
});
return this.ak(this.fb, a, null != this.width ? this.width : "100px", null != this.height ? this.height : "100px")
};
a.prototype.l = function() {
this.b.onclick = lipscore.sc.Fc
};
return a
}();
lipscore.gg = function() {
function a(a) {
if (this.b = a) a = lipscore.o.fc(this.b), this.fb = lipscore.o.va(a), this.qd = this.b.getAttribute("ls-product-votes"), this.Xb = this.b.getAttribute("ls-product-review-count"), this.b.innerHTML = this.html(), lipscore.a.addClass(this.b, "lipscore-service-review-modal-toggle"), this.l()
}
a.prototype.html = function() {
return "" + this.fb + "&nbsp;/&nbsp;" + lipscore.gb + '\n<br/>\n<span class="lipscore-service-review-badge-review-count">BASED ON ' + this.qd + " REVIEWS</span>"
};
a.prototype.l = function() {
this.b.onclick =
lipscore.sc.Fc
};
return a
}();
(function() {
function a(a, c) {
function b() {
this.constructor = a
}
for (var f in c) d.call(c, f) && (a[f] = c[f]);
b.prototype = c.prototype;
a.prototype = new b;
a.da = c.prototype;
return a
}
var d = {}.hasOwnProperty;
lipscore.ig = function() {
function b() {}
var c;
var d = null;
b.get = function() {
return null != d ? d : d = new f
};
var f = function(b) {
function d() {
return c = d.da.constructor.apply(this, arguments)
}
a(d, b);
d.prototype.Jb = function() {
return document.getElementById("lipscore-service-review-list")
};
return d
}(lipscore.pc);
return b
}()
}).call(this);
(function() {
function a(a, d) {
function c() {
this.constructor = a
}
for (var e in d) b.call(d, e) && (a[e] = d[e]);
c.prototype = d.prototype;
a.prototype = new c;
a.da = d.prototype;
return a
}
var d, b = {}.hasOwnProperty;
lipscore.kg = function(b) {
function c() {
return d = c.da.constructor.apply(this, arguments)
}
a(c, b);
c.prototype.Jb = function() {
return document.getElementById("lipscore-service-review-modal-list")
};
return c
}(lipscore.pc)
}).call(this);
lipscore.lg = function() {
function a(a) {
this.g = lipscore.qa.get();
this.g.Gj();
this.g.ib(this.html(a))
}
a.prototype.html = function(a) {
var b = a.getAttribute("ls-lipscore-product-id");
return '<div class="lipscore-service-review-modal-info">\n <div class="lipscore-service-review-modal-badge">\n ' + this.Cc(a) + '\n </div>\n <div class="lipscore-service-review-modal-distribution">\n <div class="lipscore-service-review-modal-distribution-title">\n ' + lipscore.c.t("service_review.modal.rating_distribution") +
'\n </div>\n </div>\n</div>\n<div id="lipscore-service-review-modal-list" ls-lipscore-product-id=' + b + "></div>"
};
a.prototype.Cc = function(a) {
return (new lipscore.td(a)).ic.innerHTML
};
a.prototype.show = function() {
return this.g.show("lipscore-service-review-modal")
};
a.prototype.Bh = function() {
return this.oi || (this.oi = new lipscore.kg)
};
a.prototype.Ag = function(a) {
return lipscore.a.getElementsByClassName("lipscore-service-review-modal-distribution", this.g.f())[0].appendChild(a.f())
};
return a
}();
lipscore.ng = function() {
function a(a) {
if (this.b = a) a = lipscore.Fb.ed(this.b), null != a && 0 < a.length ? (lipscore.ga.Ej(this.b), lipscore.a.addClass(this.b, "lipscore-service-review-modal-toggle"), this.b.innerHTML = this.html(), this.Vj = lipscore.a.getElementsByClassName(d, this.b)[0], this.uf = new lipscore.rg(a), this.Vj.appendChild(this.uf.f()), lipscore.ag.Gg(this.b, b), this.uf.resize(), this.l()) : lipscore.a.addClass(this.b, "lipscore-hidden")
}
var d = "lipscore-service-review-testimonial-text-wrapper";
var b = {
xs: {
height: 100,
width: 480
},
s: {
height: 140,
width: 520
},
m: {
height: 180,
width: 750
}
};
a.prototype.html = function() {
return '<div class="lipscore-service-review-testimonial-content">\n <div class="lipscore-service-review-testimonial-badge-wrapper">\n ' + this.Cc() + '\n </div>\n <div class="' + d + '">\n </div>\n</div>'
};
a.prototype.Cc = function() {
return (new lipscore.td(this.b)).ic.innerHTML
};
a.prototype.l = function() {
this.b.onclick = lipscore.sc.Fc
};
return a
}();
lipscore.Fa = function() {
function a() {}
var d = null;
a.get = function() {
return null != d ? d : d = new b
};
var b = function() {
function a() {}
a.prototype.Lb = function(a, b, c) {
return window.LipscoreRatingStarsSvg.html({
size: b,
type: lipscore.Ze,
Wj: a,
color: lipscore.dd,
Vi: null != c ? ' ls-stars-value="' + c + '" ' : ""
})
};
a.prototype.Nc = function(a) {
a = lipscore.a.Wa(a, "font-size");
return 1.5 * parseInt(a, 10) + "px"
};
return a
}();
return a
}();
lipscore.rg = function() {
function a(a) {
this.pd = a;
this.b = document.createElement("div");
lipscore.a.addClass(this.b, d);
this.b.innerHTML = this.html();
this.Na = lipscore.a.getElementsByClassName(b, this.b);
this.yb = lipscore.a.getElementsByClassName(c, this.b);
this.l()
}
var d = "lipscore-testimonial-slider";
var b = "lipscore-testimonial-slider-slide";
var c = "lipscore-testimonial-slider-tick";
a.prototype.resize = function() {
return this.sj()
};
a.prototype.html = function() {
return "" + this.ek() + "\n" + this.bk()
};
a.prototype.ek =
function() {
var a, b;
var c = this.pd;
var d = [];
var l = a = 0;
for (b = c.length; a < b; l = ++a) {
var m = c[l];
d.push(this.dk(m, 0 === l))
}
return d.join("")
};
a.prototype.dk = function(a, c) {
var d = new lipscore.Qa;
c = c ? "lipscore-slide-active" : "";
var e = lipscore.o.va(a.lipscore || 0);
d = 0 < e ? d.Va(e) : "";
return '<div class="' + b + " " + c + ' lipscore-icon-quote-left">\n <div class="lipscore-testimonial-slider-slide-content">\n <div class="lipscore-testimonial-slider-header">\n <div class="lipscore-testimonial-slider-info">\n <span class="lipscore-testimonial-slider-user">\n ' +
a.user + "\n </span>\n " + d + '\n </div>\n <span class="lipscore-testimonial-slider-date">\n ' + lipscore.a.Ua(new Date(a.created_at)) + '\n </span>\n </div>\n <div class="lipscore-testimonial-slider-text">\n ' + a.text + "\n </div>\n </div>\n</div>"
};
a.prototype.bk = function() {
var a, b;
var d = [];
var h = a = 0;
for (b = this.pd.length - 1; 0 <= b ? a <= b : a >= b; h = 0 <= b ? ++a : --a) h = 0 === h ? "lipscore-tick-active" : "", d.push('<span class="' + c + " " + h + ' lipscore-icon-circle"></span>');
h = 1 < this.pd.length ?
"" : "lipscore-hidden";
return '<div class="lipscore-testimonial-slider-switcher ' + h + '">\n ' + d.join("") + "\n</div>"
};
a.prototype.f = function() {
return this.b
};
a.prototype.sj = function() {
var a;
var b = this.Na[0];
var c = lipscore.a.getElementsByClassName("lipscore-testimonial-slider-header", b)[0];
var d = lipscore.a.getElementsByClassName("lipscore-testimonial-slider-text", b)[0];
b = lipscore.a.Wa(b, "height");
c = lipscore.a.Wa(c, "height");
d = lipscore.a.Wa(d, "line-height");
c = Math.floor((b - c) / d) * d + c + "px";
var l = lipscore.a.getElementsByClassName("lipscore-testimonial-slider-slide-content",
this.b);
var m = 0;
for (a = l.length; m < a; m++) d = l[m], d.style.maxHeight = c;
m = this.Na;
a = [];
c = 0;
for (l = m.length; c < l; c++) d = m[c], a.push(d.style.fontSize = b + "px");
return a
};
a.prototype.l = function() {
var a, b, c = this;
this.wf();
var d = function(a) {
return c.yb[a].onclick = function(b) {
return lipscore.qg.gk(b, c, a)
}
};
var l = [];
var m = a = 0;
for (b = this.yb.length - 1; 0 <= b ? a <= b : a >= b; m = 0 <= b ? ++a : --a) l.push(d(m))
};
a.prototype.Oj = function() {
var a, b;
var c = this.Na;
var d = [];
var l = a = 0;
for (b = c.length; a < b; l = ++a) {
var m = c[l];
if (lipscore.a.hasClass(m,
"lipscore-slide-active")) {
this.we();
l = null != this.Na[l + 1] ? l + 1 : 0;
this.rf(this.Na[l], this.yb[l]);
break
} else d.push(void 0)
}
return d
};
a.prototype.Sj = function(a) {
this.we();
this.rf(this.Na[a], this.yb[a]);
return this.wf()
};
a.prototype.rf = function(a, b) {
lipscore.a.addClass(a, "lipscore-slide-active");
lipscore.a.addClass(b, "lipscore-tick-active")
};
a.prototype.we = function() {
var a;
var b = this.Na;
var c = 0;
for (a = b.length; c < a; c++) {
var d = b[c];
lipscore.a.removeClass(d, "lipscore-slide-active")
}
b = this.yb;
var l = [];
c = 0;
for (a = b.length; c < a; c++) d = b[c], l.push(lipscore.a.removeClass(d, "lipscore-tick-active"))
};
a.prototype.wf = function() {
var a = this;
clearInterval(this.interval);
return this.interval = window.setInterval(function() {
return a.Oj()
}, 1E4)
};
return a
}();
lipscore.sg = function() {
function a(a) {
if (this.b = a) a = lipscore.Fb.ed(this.b), null != a && 0 < a.length && (this.b.innerHTML = this.html(a[0]), this.resize())
}
a.prototype.html = function(a) {
return '<div class="lipscore-testimonial-content">\n <span class="lipscore-icon-quote-left"></span>\n <div class="lipscore-testimonial-header">\n <div class="lipscore-testimonial-info">\n <span class="lipscore-testimonial-user">\n ' + a.user + "\n </span>\n " + this.od(a) + '\n </div>\n <span class="lipscore-testimonial-date">\n ' +
lipscore.a.Ua(new Date(a.created_at)) + '\n </span>\n </div>\n <div class="lipscore-testimonial-text">\n ' + a.text + "\n </div>\n</div>"
};
a.prototype.od = function(a) {
var b = new lipscore.Qa;
a = lipscore.o.va(a.lipscore || 0);
return 0 < a ? b.Va(a) : ""
};
a.prototype.resize = function() {
return lipscore.a.getElementsByClassName("lipscore-icon-quote-left", this.b)[0].style.fontSize = Math.min(lipscore.a.getElementsByClassName("lipscore-testimonial-content", this.b)[0].offsetHeight, 150) + "px"
};
return a
}();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment