1/*! nouislider - 8.5.1 - 2016-04-24 16:00:29 */ 2 3! function(a) { "function" == typeof define && define.amd ? define([], a) : "object" == typeof exports ? module.exports = a() : window.noUiSlider = a() }(function() { 4 "use strict"; 5 6 function a(a) { return a.filter(function(a) { return this[a] ? !1 : this[a] = !0 }, {}) } 7 8 function b(a, b) { return Math.round(a / b) * b } 9 10 function c(a) { 11 var b = a.getBoundingClientRect(), 12 c = a.ownerDocument, 13 d = c.documentElement, 14 e = l(); 15 return /webkit.*Chrome.*Mobile/i.test(navigator.userAgent) && (e.x = 0), { top: b.top + e.y - d.clientTop, left: b.left + e.x - d.clientLeft } 16 } 17 18 function d(a) { return "number" == typeof a && !isNaN(a) && isFinite(a) } 19 20 function e(a, b, c) { i(a, b), setTimeout(function() { j(a, b) }, c) } 21 22 function f(a) { return Math.max(Math.min(a, 100), 0) } 23 24 function g(a) { return Array.isArray(a) ? a : [a] } 25 26 function h(a) { var b = a.split("."); return b.length > 1 ? b[1].length : 0 } 27 28 function i(a, b) { a.classList ? a.classList.add(b) : a.className += " " + b } 29 30 function j(a, b) { a.classList ? a.classList.remove(b) : a.className = a.className.replace(new RegExp("(^|\\b)" + b.split(" ").join("|") + "(\\b|$)", "gi"), " ") } 31 32 function k(a, b) { return a.classList ? a.classList.contains(b) : new RegExp("\\b" + b + "\\b").test(a.className) } 33 34 function l() { 35 var a = void 0 !== window.pageXOffset, 36 b = "CSS1Compat" === (document.compatMode || ""), 37 c = a ? window.pageXOffset : b ? document.documentElement.scrollLeft : document.body.scrollLeft, 38 d = a ? window.pageYOffset : b ? document.documentElement.scrollTop : document.body.scrollTop; 39 return { x: c, y: d } 40 } 41 42 function m() { return window.navigator.pointerEnabled ? { start: "pointerdown", move: "pointermove", end: "pointerup" } : window.navigator.msPointerEnabled ? { start: "MSPointerDown", move: "MSPointerMove", end: "MSPointerUp" } : { start: "mousedown touchstart", move: "mousemove touchmove", end: "mouseup touchend" } } 43 44 function n(a, b) { return 100 / (b - a) } 45 46 function o(a, b) { return 100 * b / (a[1] - a[0]) } 47 48 function p(a, b) { return o(a, a[0] < 0 ? b + Math.abs(a[0]) : b - a[0]) } 49 50 function q(a, b) { return b * (a[1] - a[0]) / 100 + a[0] } 51 52 function r(a, b) { for (var c = 1; a >= b[c];) c += 1; return c } 53 54 function s(a, b, c) { if (c >= a.slice(-1)[0]) return 100; var d, e, f, g, h = r(c, a); return d = a[h - 1], e = a[h], f = b[h - 1], g = b[h], f + p([d, e], c) / n(f, g) } 55 56 function t(a, b, c) { if (c >= 100) return a.slice(-1)[0]; var d, e, f, g, h = r(c, b); return d = a[h - 1], e = a[h], f = b[h - 1], g = b[h], q([d, e], (c - f) * n(f, g)) } 57 58 function u(a, c, d, e) { if (100 === e) return e; var f, g, h = r(e, a); return d ? (f = a[h - 1], g = a[h], e - f > (g - f) / 2 ? g : f) : c[h - 1] ? a[h - 1] + b(e - a[h - 1], c[h - 1]) : e } 59 60 function v(a, b, c) { 61 var e; 62 if ("number" == typeof b && (b = [b]), "[object Array]" !== Object.prototype.toString.call(b)) throw new Error("noUiSlider: 'range' contains invalid value."); 63 if (e = "min" === a ? 0 : "max" === a ? 100 : parseFloat(a), !d(e) || !d(b[0])) throw new Error("noUiSlider: 'range' value isn't numeric."); 64 c.xPct.push(e), c.xVal.push(b[0]), e ? c.xSteps.push(isNaN(b[1]) ? !1 : b[1]) : isNaN(b[1]) || (c.xSteps[0] = b[1]) 65 } 66 67 function w(a, b, c) { return b ? void(c.xSteps[a] = o([c.xVal[a], c.xVal[a + 1]], b) / n(c.xPct[a], c.xPct[a + 1])) : !0 } 68 69 function x(a, b, c, d) { this.xPct = [], this.xVal = [], this.xSteps = [d || !1], this.xNumSteps = [!1], this.snap = b, this.direction = c; var e, f = []; for (e in a) a.hasOwnProperty(e) && f.push([a[e], e]); for (f.length && "object" == typeof f[0][0] ? f.sort(function(a, b) { return a[0][0] - b[0][0] }) : f.sort(function(a, b) { return a[0] - b[0] }), e = 0; e < f.length; e++) v(f[e][1], f[e][0], this); for (this.xNumSteps = this.xSteps.slice(0), e = 0; e < this.xNumSteps.length; e++) w(e, this.xNumSteps[e], this) } 70 71 function y(a, b) { 72 if (!d(b)) throw new Error("noUiSlider: 'step' is not numeric."); 73 a.singleStep = b 74 } 75 76 function z(a, b) { 77 if ("object" != typeof b || Array.isArray(b)) throw new Error("noUiSlider: 'range' is not an object."); 78 if (void 0 === b.min || void 0 === b.max) throw new Error("noUiSlider: Missing 'min' or 'max' in 'range'."); 79 if (b.min === b.max) throw new Error("noUiSlider: 'range' 'min' and 'max' cannot be equal."); 80 a.spectrum = new x(b, a.snap, a.dir, a.singleStep) 81 } 82 83 function A(a, b) { 84 if (b = g(b), !Array.isArray(b) || !b.length || b.length > 2) throw new Error("noUiSlider: 'start' option is incorrect."); 85 a.handles = b.length, a.start = b 86 } 87 88 function B(a, b) { if (a.snap = b, "boolean" != typeof b) throw new Error("noUiSlider: 'snap' option must be a boolean.") } 89 90 function C(a, b) { if (a.animate = b, "boolean" != typeof b) throw new Error("noUiSlider: 'animate' option must be a boolean.") } 91 92 function D(a, b) { if (a.animationDuration = b, "number" != typeof b) throw new Error("noUiSlider: 'animationDuration' option must be a number.") } 93 94 function E(a, b) { 95 if ("lower" === b && 1 === a.handles) a.connect = 1; 96 else if ("upper" === b && 1 === a.handles) a.connect = 2; 97 else if (b === !0 && 2 === a.handles) a.connect = 3; 98 else { 99 if (b !== !1) throw new Error("noUiSlider: 'connect' option doesn't match handle count."); 100 a.connect = 0 101 } 102 } 103 104 function F(a, b) { 105 switch (b) { 106 case "horizontal": 107 a.ort = 0; 108 break; 109 case "vertical": 110 a.ort = 1; 111 break; 112 default: 113 throw new Error("noUiSlider: 'orientation' option is invali
113d.") 114 } 115 } 116 117 function G(a, b) { if (!d(b)) throw new Error("noUiSlider: 'margin' option must be numeric."); if (0 !== b && (a.margin = a.spectrum.getMargin(b), !a.margin)) throw new Error("noUiSlider: 'margin' option is only supported on linear sliders.") } 118 119 function H(a, b) { if (!d(b)) throw new Error("noUiSlider: 'limit' option must be numeric."); if (a.limit = a.spectrum.getMargin(b), !a.limit) throw new Error("noUiSlider: 'limit' option is only supported on linear sliders.") } 120 121 function I(a, b) { 122 switch (b) { 123 case "ltr": 124 a.dir = 0; 125 break; 126 case "rtl": 127 a.dir = 1, a.connect = [0, 2, 1, 3][a.connect]; 128 break; 129 default: 130 throw new Error("noUiSlider: 'direction' option was not recognized.") 131 } 132 } 133 134 function J(a, b) { 135 if ("string" != typeof b) throw new Error("noUiSlider: 'behaviour' must be a string containing options."); 136 var c = b.indexOf("tap") >= 0, 137 d = b.indexOf("drag") >= 0, 138 e = b.indexOf("fixed") >= 0, 139 f = b.indexOf("snap") >= 0, 140 g = b.indexOf("hover") >= 0; 141 if (d && !a.connect) throw new Error("noUiSlider: 'drag' behaviour must be used with 'connect': true."); 142 a.events = { tap: c || f, drag: d, fixed: e, snap: f, hover: g } 143 } 144 145 function K(a, b) { 146 var c; 147 if (b !== !1) 148 if (b === !0) 149 for (a.tooltips = [], c = 0; c < a.handles; c++) a.tooltips.push(!0); 150 else { 151 if (a.tooltips = g(b), a.tooltips.length !== a.handles) throw new Error("noUiSlider: must pass a formatter for all handles."); 152 a.tooltips.forEach(function(a) { if ("boolean" != typeof a && ("object" != typeof a || "function" != typeof a.to)) throw new Error("noUiSlider: 'tooltips' must be passed a formatter or 'false'.") }) 153 } 154 } 155 156 function L(a, b) { if (a.format = b, "function" == typeof b.to && "function" == typeof b.from) return !0; throw new Error("noUiSlider: 'format' requires 'to' and 'from' methods.") } 157 158 function M(a, b) { 159 if (void 0 !== b && "string" != typeof b && b !== !1) throw new Error("noUiSlider: 'cssPrefix' must be a string or `false`."); 160 a.cssPrefix = b 161 } 162 163 function N(a, b) { if (void 0 !== b && "object" != typeof b) throw new Error("noUiSlider: 'cssClasses' must be an object."); if ("string" == typeof a.cssPrefix) { a.cssClasses = {}; for (var c in b) b.hasOwnProperty(c) && (a.cssClasses[c] = a.cssPrefix + b[c]) } else a.cssClasses = b } 164 165 function O(a) { 166 var b, c = { margin: 0, limit: 0, animate: !0, animationDuration: 300, format: R }; 167 b = { step: { r: !1, t: y }, start: { r: !0, t: A }, connect: { r: !0, t: E }, direction: { r: !0, t: I }, snap: { r: !1, t: B }, animate: { r: !1, t: C }, animationDuration: { r: !1, t: D }, range: { r: !0, t: z }, orientation: { r: !1, t: F }, margin: { r: !1, t: G }, limit: { r: !1, t: H }, behaviour: { r: !0, t: J }, format: { r: !1, t: L }, tooltips: { r: !1, t: K }, cssPrefix: { r: !1, t: M }
167, cssClasses: { r: !1, t: N } }; 168 var d = { connect: !1, direction: "ltr", behaviour: "tap", orientation: "horizontal", cssPrefix: "noUi-", cssClasses: { target: "target", base: "base", origin: "origin", handle: "handle", handleLower: "handle-lower", handleUpper: "handle-upper", horizontal: "horizontal", vertical: "vertical", background: "background", connect: "connect", ltr: "ltr", rtl: "rtl", draggable: "draggable", drag: "state-drag", tap: "state-tap", active: "active", stacking: "stacking", tooltip: "tooltip", pips: "pips", pipsHorizontal: "pips-horizontal", pipsVertical: "pips-vertical", marker: "marker", markerHorizontal: "marker-horizontal", markerVertical: "marker-vertical", markerNormal: "marker-normal", markerLarge: "marker-large", markerSub: "marker-sub", value: "value", valueHorizontal: "value-horizontal", valueVertical: "value-vertical", valueNormal: "value-normal", valueLarge: "value-large", valueSub: "value-sub" } }; 169 return Object.keys(b).forEach(function(e) { 170 if (void 0 === a[e] && void 0 === d[e]) { if (b[e].r) throw new Error("noUiSlider: '" + e + "' is required."); return !0 } 171 b[e].t(c, void 0 === a[e] ? d[e] : a[e]) 172 }), c.pips = a.pips, c.style = c.ort ? "top" : "left", c 173 } 174 175 function P(b, d, n) { 176 function o(a, b, c) { 177 var d = a + b[0], 178 e = a + b[1]; 179 return c ? (0 > d && (e += Math.abs(d)), e > 100 && (d -= e - 100), [f(d), f(e)]) : [d, e] 180 } 181 182 function p(a, b) { 183 a.preventDefault(); 184 var c, d, e = 0 === a.type.indexOf("touch"), 185 f = 0 === a.type.indexOf("mouse"), 186 g = 0 === a.type.indexOf("pointer"), 187 h = a; 188 return 0 === a.type.indexOf("MSPointer") && (g = !0), e && (c = a.changedTouches[0].pageX, d = a.changedTouches[0].pageY), b = b || l(), (f || g) && (c = a.clientX + b.x, d = a.clientY + b.y), h.pageOffset = b, h.points = [c, d], h.cursor = f || g, h 189 } 190 191 function q(a, b) { 192 var c = document.createElement("div"), 193 e = document.createElement("div"), 194 f = [d.cssClasses.handleLower, d.cssClasses.handleUpper]; 195 return a && f.reverse(), i(e, d.cssClasses.handle), i(e, f[b]), i(c, d.cssClasses.origin), c.appendChild(e), c 196 } 197 198 function r(a, b, c) { 199 switch (a) { 200 case 1: 201 i(b, d.cssClasses.connect), i(c[0], d.cssClasses.background); 202 break; 203 case 3: 204 i(c[1], d.cssClasses.background); 205 case 2: 206 i(c[0], d.cssClasses.connect); 207 case 0: 208 i(b, d.cssClasses.background) 209 } 210 } 211 212 function s(a, b, c) { var d, e = []; for (d = 0; a > d; d += 1) e.push(c.appendChild(q(b, d))); return e } 213 214 function t(a, b, c) { i(c, d.cssClasses.target), 0 === a ? i(c, d.cssClasses.ltr) : i(c, d.cssClasses.rtl), 0 === b ? i(c, d.cssClasses.horizontal) : i(c, d.cssClasses.vertical); var e = document.createElement("div"); return i(e, d.cssClasses.base), c.appendChild(e), e } 215 216 function u(a, b) { if (!d.tooltips[b]) return !1; var c = document.createElement("div"); return c.className = d.cssClasses.tooltip, a.firstChild.appendChild(c) } 217 218 function v() { 219 d.dir && d.tooltips.reverse(); 220 var a = W.map(u); 221 d.dir && (a.reverse(), d.tooltips.reverse()), S("update", function(b, c, e) { a[c] && (a[c].innerHTML = d.tooltips[c] === !0 ? b[c] : d.tooltips[c].to(e[c])) }) 222 } 223 224 function w(a, b, c) { 225 if ("range" === a || "steps" === a) return _.xVal; 226 if ("count" === a) { 227 var d, e = 100 / (b - 1), 228 f = 0; 229 for (b = []; 230 (d = f++ * e) <= 100;) b.push(d); 231 a = "positions" 232 } 233 return "positions" === a ? b.map(function(a) { return _.fromStepping(c ? _.getStep(a) : a) }) : "values" === a ? c ? b.map(function(a) { return _.fromStepping(_.getStep(_.toStepping(a))) }) : b : void 0 234 } 235 236 function x(b, c, d) { 237 function e(a, b) { return (a + b).toFixed(7) / 1 } 238 var f = _.direction, 239 g = {}, 240 h = _.xVal[0], 241 i = _.xVal[_.xVal.length - 1], 242 j = !1, 243 k = !1, 244 l = 0; 245 return _.direction = 0, d = a(d.slice().sort(function(a, b) { return a - b })), d[0] !== h && (d.unshift(h), j = !0), d[d.length - 1] !== i && (d.push(i), k = !0), d.forEach(function(a, f) { 246 var h, i, m, n, o, p, q, r, s, t, u = a, 247 v = d[f + 1]; 248 if ("steps" === c && (h = _.xNumSteps[f]), h || (h = v - u), u !== !1 && void 0 !== v) 249 for (i = u; v >= i; i = e(i, h)) { 250 for (n = _.toStepping(i), o = n - l, r = o / b, s = Math.round(r), t = o / s, m = 1; s >= m; m += 1) p = l + m * t, g[p.toFixed(5)] = ["x", 0]; 251 q = d.indexOf(i) > -1 ? 1 : "steps" === c ? 2 : 0, !f && j && (q = 0), i === v &&
251k || (g[n.toFixed(5)] = [i, q]), l = n 252 } 253 }), _.direction = f, g 254 } 255 256 function y(a, b, c) { 257 function e(a, b) { 258 var c = b === d.cssClasses.value, 259 e = c ? m : n, 260 f = c ? k : l; 261 return b + " " + e[d.ort] + " " + f[a] 262 } 263 264 function f(a, b, c) { return 'class="' + e(c[1], b) + '" style="' + d.style + ": " + a + '%"' } 265 266 function g(a, e) { _.direction && (a = 100 - a), e[1] = e[1] && b ? b(e[0], e[1]) : e[1], j += "<div " + f(a, d.cssClasses.marker, e) + "></div>", e[1] && (j += "<div " + f(a, d.cssClasses.value, e) + ">" + c.to(e[0]) + "</div>") } 267 var h = document.createElement("div"), 268 j = "", 269 k = [d.cssClasses.valueNormal, d.cssClasses.valueLarge, d.cssClasses.valueSub], 270 l = [d.cssClasses.markerNormal, d.cssClasses.markerLarge, d.cssClasses.markerSub], 271 m = [d.cssClasses.valueHorizontal, d.cssClasses.valueVertical], 272 n = [d.cssClasses.markerHorizontal, d.cssClasses.markerVertical]; 273 return i(h, d.cssClasses.pips), i(h, 0 === d.ort ? d.cssClasses.pipsHorizontal : d.cssClasses.pipsVertical), Object.keys(a).forEach(function(b) { g(b, a[b]) }), h.innerHTML = j, h 274 } 275 276 function z(a) { 277 var b = a.mode, 278 c = a.density || 1, 279 d = a.filter || !1, 280 e = a.values || !1, 281 f = a.stepped || !1, 282 g = w(b, e, f), 283 h = x(c, b, g), 284 i = a.format || { to: Math.round }; 285 return Z.appendChild(y(h, d, i)) 286 } 287 288 function A() { 289 var a = V.getBoundingClientRect(), 290 b = "offset" + ["Width", "Height"][d.ort]; 291 return 0 === d.ort ? a.width || V[b] : a.height || V[b] 292 } 293 294 function B(a, b, c) { 295 var e; 296 for (e = 0; e < d.handles; e++) 297 if (-1 === $[e]) return; 298 void 0 !== b && 1 !== d.handles && (b = Math.abs(b - d.dir)), Object.keys(ba).forEach(function(d) { 299 var e = d.split(".")[0]; 300 a === e && ba[d].forEach(function(a) { a.call(X, g(P()), b, g(C(Array.prototype.slice.call(aa))), c || !1, $) }) 301 }) 302 } 303 304 function C(a) { return 1 === a.length ? a[0] : d.dir ? a.reverse() : a } 305 306 function D(a, b, c, e) { 307 var f = function(b) { return Z.hasAttribute("disabled") ? !1 : k(Z, d.cssClasses.tap) ? !1 : (b = p(b, e.pageOffset), a === Y.start && void 0 !== b.buttons && b.buttons > 1 ? !1 : e.hover && b.buttons ? !1 : (b.calcPoint = b.points[d.ort], void c(b, e))) }, 308 g = []; 309 return a.split(" ").forEach(function(a) { b.addEventListener(a, f, !1), g.push([a, f]) }), g 310 } 311 312 function E(a, b) { 313 if (-1 === navigator.appVersion.indexOf("MSIE 9") && 0 === a.buttons && 0 !== b.buttonsProperty) return F(a, b); 314 var c, d, e = b.handles || W, 315 f = !1, 316 g = 100 * (a.calcPoint - b.start) / b.baseSize, 317 h = e[0] === W[0] ? 0 : 1; 318 if (c = o(g, b.positions, e.length > 1), f = L(e[0], c[h], 1 === e.length), e.length > 1) { 319 if (f = L(e[1], c[h ? 0 : 1], !1) || f) 320 for (d = 0; d < b.handles.length; d++) B("slide", d) 321 } else f && B("slide", h) 322 } 323 324 function F(a, b) { 325 var c = V.querySelector("." + d.cssClasses.active), 326 e = b.handles[0] === W[0] ? 0 : 1; 327 null !== c && j(c, d.cssClasses.active), a.cursor && (document.body.style.cursor = "", document.body.removeEventListener("selectstart", document.body.noUiListener)); 328 var f = document.documentElement; 329 f.noUiListeners.forEach(function(a) { f.removeEventListener(a[0], a[1]) }), j(Z, d.cssClasses.drag), B("set", e), B("change", e), void 0 !== b.handleNumber && B("end", b.handleNumber) 330 } 331 332 function G(a, b) { "mouseout" === a.type && "HTML" === a.target.nodeName && null === a.relatedTarget && F(a, b) } 333 334 function H(a, b) { 335 var c = document.documentElement; 336 if (1 === b.handles.length) { 337 if (b.handles[0].hasAttribute("disabled")) return !1;
338 i(b.handles[0].children[0], d.cssClasses.active) 339 } 340 a.preventDefault(), a.stopPropagation(); 341 var e = D(Y.move, c, E, { start: a.calcPoint, baseSize: A(), pageOffset: a.pageOffset, handles: b.handles, handleNumber: b.handleNumber, buttonsProperty: a.buttons, positions: [$[0], $[W.length - 1]] }), 342 f = D(Y.end, c, F, { handles: b.handles, handleNumber: b.handleNumber }), 343 g = D("mouseout", c, G, { handles: b.handles, handleNumber: b.handleNumber }); 344 if (c.noUiListeners = e.concat(f, g), a.cursor) { 345 document.body.style.cursor = getComputedStyle(a.target).cursor, W.length > 1 && i(Z, d.cssClasses.drag); 346 var h = function() { return !1 }; 347 document.body.noUiListener = h, document.body.addEventListener("selectstart", h, !1) 348 } 349 void 0 !== b.handleNumber && B("start", b.handleNumber) 350 } 351 352 function I(a) { 353 var b, f, g = a.calcPoint, 354 h = 0; 355 return a.stopPropagation(), W.forEach(function(a) { h += c(a)[d.style] }), b = h / 2 > g || 1 === W.length ? 0 : 1, W[b].hasAttribute("disabled") && (b = b ? 0 : 1), g -= c(V)[d.style], f = 100 * g / A(), d.events.snap || e(Z, d.cssClasses.tap, d.animationDuration), W[b].hasAttribute("disabled") ? !1 : (L(W[b], f), B("slide", b, !0), B("set", b, !0), B("change", b, !0), void(d.events.snap && H(a, { handles: [W[b]] }))) 356 } 357 358 function J(a) { 359 var b = a.calcPoint - c(V)[d.style], 360 e = _.getStep(100 * b / A()), 361 f = _.fromStepping(e); 362 Object.keys(ba).forEach(function(a) { "hover" === a.split(".")[0] && ba[a].forEach(function(a) { a.call(X, f) }) }) 363 } 364 365 function K(a) { 366 if (a.fixed || W.forEach(function(a, b) { D(Y.start, a.children[0], H, { handles: [a], handleNumber: b }) }), a.tap && D(Y.start, V, I, { handles: W }), a.hover && D(Y.move, V, J, { hover: !0 }), a.drag) { 367 var b = [V.querySelector("." + d.cssClasses.connect)]; 368 i(b[0], d.cssClasses.draggable), a.fixed && b.push(W[b[0] === W[0] ? 1 : 0].children[0]), b.forEach(function(a) { D(Y.start, a, H, { handles: W }) }) 369 } 370 } 371 372 function L(a, b, c) { 373 var e = a !== W[0] ? 1 : 0, 374 g = $[0] + d.margin, 375 h = $[1] - d.margin, 376 k = $[0] + d.limit, 377 l = $[1] - d.limit; 378 return W.length > 1 && (b = e ? Math.max(b, g) : Math.min(b, h)), c !== !1 && d.limit && W.length > 1 && (b = e ? Math.min(b, k) : Math.max(b, l)), b = _.getStep(b), b = f(b), b === $[e] ? !1 : (window.requestAnimationFrame ? window.requestAnimationFrame(function() { a.style[d.style] = b + "%" }) : a.style[d.style] = b + "%", a.previousSibling || (j(a, d.cssClasses.stacking), b > 50 && i(a, d.cssClasses.stacking)), $[e] = b, aa[e] = _.fromStepping(b), B("update", e), !0) 379 } 380 381 function M(a, b) { var c, e, f; for (d.limit && (a += 1), c = 0; a > c; c += 1) e = c % 2, f = b[e], null !== f && f !== !1 && ("number" == typeof f && (f = String(f)), f = d.format.from(f), (f === !1 || isNaN(f) || L(W[e], _.toStepping(f), c === 3 - d.dir) === !1) && B("update", e)) } 382 383 function N(a, b) { var c, f, h = g(a); for (b = void 0 === b ? !0 : !!b, d.dir && d.handles > 1 && h.reverse(), d.animate && -1 !== $[0] && e(Z, d.cssClasses.tap, d.animationDuration), c = W.length > 1 ? 3 : 1, 1 === h.length && (c = 1), M(c, h), f = 0; f < W.length; f++) null !== h[f] && b && B("set", f) } 384 385 function P() { var a, b = []; for (a = 0; a < d.handles; a += 1) b[a] = d.format.to(aa[a]); return C(b) } 386 387 function Q() { 388 for (var a in d.cssClasses) d.cssClasses.hasOwnProperty(a) && j(Z, d.cssClasses[a]); 389 for (; Z.firstChild;) Z.removeChild(Z.firstChild); 390 delete Z.noUiSlider 391 } 392 393 function R() { 394 var a = $.map(function(a, b) { 395 var c = _.getApplicableStep(a), 396 d = h(String(c[2])), 397 e = aa[b], 398 f = 100 === a ? null : c[2], 399 g = Number((e - c[2]).toFixed(d)), 400 i = 0 === a ? null : g >= c[1] ? c[2] : c[0] || !1; 401 return [i, f] 402 }); 403 return C(a) 404 } 405 406 function S(a, b) { ba[a] = ba[a] || [], ba[a].push(b), "update" === a.split(".")[0] && W.forEach(function(a, b) { B("update", b) }) } 407 408 function T(a) { 409 var b = a && a.split(".")[0], 410 c = b && a.substring(b.length);
411 Object.keys(ba).forEach(function(a) { 412 var d = a.split(".")[0], 413 e = a.substring(d.length); 414 b && b !== d || c && c !== e || delete ba[a] 415 }) 416 } 417 418 function U(a, b) { 419 var c = P(), 420 e = O({ start: [0, 0], margin: a.margin, limit: a.limit, step: void 0 === a.step ? d.singleStep : a.step, range: a.range, animate: a.animate, snap: void 0 === a.snap ? d.snap : a.snap }); 421 ["margin", "limit", "range", "animate"].forEach(function(b) { void 0 !== a[b] && (d[b] = a[b]) }), e.spectrum.direction = _.direction, _ = e.spectrum, $ = [-1, -1], N(a.start || c, b) 422 } 423 var V, W, X, Y = m(), 424 Z = b, 425 $ = [-1, -1], 426 _ = d.spectrum, 427 aa = [], 428 ba = {}; 429 if (Z.noUiSlider) throw new Error("Slider was already initialized."); 430 return V = t(d.dir, d.ort, Z), W = s(d.handles, d.dir, V), r(d.connect, Z, W), d.pips && z(d.pips), d.tooltips && v(), X = { destroy: Q, steps: R, on: S, off: T, get: P, set: N, updateOptions: U, options: n, target: Z, pips: z }, K(d.events), X 431 } 432 433 function Q(a, b) { 434 if (!a.nodeName) throw new Error("noUiSlider.create requires a single element."); 435 var c = O(b, a), 436 d = P(a, c, b); 437 return d.set(c.start), a.noUiSlider = d, d 438 } 439 x.prototype.getMargin = function(a) { return 2 === this.xPct.length ? o(this.xVal, a) : !1 }, x.prototype.toStepping = function(a) { return a = s(this.xVal, this.xPct, a), this.direction && (a = 100 - a), a }, x.prototype.fromStepping = function(a) { return this.direction && (a = 100 - a), t(this.xVal, this.xPct, a) }, x.prototype.getStep = function(a) { return this.direction && (a = 100 - a), a = u(this.xPct, this.xSteps, this.snap, a), this.direction && (a = 100 - a), a }, x.prototype.getApplicableStep = function(a) { 440 var b = r(a, this.xPct), 441 c = 100 === a ? 2 : 1; 442 return [this.xNumSteps[b - 2], this.xVal[b - c], this.xNumSteps[b - c]] 443 }, x.prototype.convert = function(a) { return this.getStep(this.toStepping(a)) }; 444 var R = { to: function(a) { return void 0 !== a && a.toFixed(2) }, from: Number }; 445 return { create: Q } 446});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.