Skip to content

Instantly share code, notes, and snippets.

@bluetwin
Created February 3, 2017 22:19
Show Gist options
  • Save bluetwin/03adcc116ed6d66a47db49bbd476d744 to your computer and use it in GitHub Desktop.
Save bluetwin/03adcc116ed6d66a47db49bbd476d744 to your computer and use it in GitHub Desktop.
application_foot.js deminified
This file has been truncated, but you can view the full file.
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function _inherits(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = Object.create(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}! function(e, t) {
e.rails !== t && e.error("jquery-ujs has already been loaded!");
var n, r = e(document);
e.rails = n = {
linkClickSelector: "a[data-confirm], a[data-method], a[data-remote], a[data-disable-with], a[data-disable]",
buttonClickSelector: "button[data-remote]:not(form button), button[data-confirm]:not(form button)",
inputChangeSelector: "select[data-remote], input[data-remote], textarea[data-remote]",
formSubmitSelector: "form",
formInputClickSelector: "form input[type=submit], form input[type=image], form button[type=submit], form button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])",
disableSelector: "input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled",
enableSelector: "input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled",
requiredInputSelector: "input[name][required]:not([disabled]),textarea[name][required]:not([disabled])",
fileInputSelector: "input[type=file]",
linkDisableSelector: "a[data-disable-with], a[data-disable]",
buttonDisableSelector: "button[data-remote][data-disable-with], button[data-remote][data-disable]",
CSRFProtection: function(t) {
var n = e('meta[name="csrf-token"]').attr("content");
n && t.setRequestHeader("X-CSRF-Token", n)
},
refreshCSRFTokens: function() {
var t = e("meta[name=csrf-token]").attr("content"),
n = e("meta[name=csrf-param]").attr("content");
e('form input[name="' + n + '"]').val(t)
},
fire: function(t, n, r) {
var o = e.Event(n);
return t.trigger(o, r), o.result !== !1
},
confirm: function(e) {
return confirm(e)
},
ajax: function(t) {
return e.ajax(t)
},
href: function(e) {
return e.attr("href")
},
handleRemote: function(r) {
var o, i, a, s, u, l, c, d;
if (n.fire(r, "ajax:before")) {
if (s = r.data("cross-domain"), u = s === t ? null : s, l = r.data("with-credentials") || null, c = r.data("type") || e.ajaxSettings && e.ajaxSettings.dataType, r.is("form")) {
o = r.attr("method"), i = r.attr("action"), a = r.serializeArray();
var p = r.data("ujs:submit-button");
p && (a.push(p), r.data("ujs:submit-button", null))
} else r.is(n.inputChangeSelector) ? (o = r.data("method"), i = r.data("url"), a = r.serialize(), r.data("params") && (a = a + "&" + r.data("params"))) : r.is(n.buttonClickSelector) ? (o = r.data("method") || "get", i = r.data("url"), a = r.serialize(), r.data("params") && (a = a + "&" + r.data("params"))) : (o = r.data("method"), i = n.href(r), a = r.data("params") || null);
return d = {
type: o || "GET",
data: a,
dataType: c,
beforeSend: function(e, o) {
return o.dataType === t && e.setRequestHeader("accept", "*/*;q=0.5, " + o.accepts.script), n.fire(r, "ajax:beforeSend", [e, o]) ? void r.trigger("ajax:send", e) : !1
},
success: function(e, t, n) {
r.trigger("ajax:success", [e, t, n])
},
complete: function(e, t) {
r.trigger("ajax:complete", [e, t])
},
error: function(e, t, n) {
r.trigger("ajax:error", [e, t, n])
},
crossDomain: u
}, l && (d.xhrFields = {
withCredentials: l
}), i && (d.url = i), n.ajax(d)
}
return !1
},
handleMethod: function(r) {
var o = n.href(r),
i = r.data("method"),
a = r.attr("target"),
s = e("meta[name=csrf-token]").attr("content"),
u = e("meta[name=csrf-param]").attr("content"),
l = e('<form method="post" action="' + o + '"></form>'),
c = '<input name="_method" value="' + i + '" type="hidden" />';
u !== t && s !== t && (c += '<input name="' + u + '" value="' + s + '" type="hidden" />'), a && l.attr("target", a), l.hide().append(c).appendTo("body"), l.submit()
},
formElements: function(t, n) {
return t.is("form") ? e(t[0].elements).filter(n) : t.find(n)
},
disableFormElements: function(t) {
n.formElements(t, n.disableSelector).each(function() {
n.disableFormElement(e(this))
})
},
disableFormElement: function(e) {
var n, r;
n = e.is("button") ? "html" : "val", r = e.data("disable-with"), e.data("ujs:enable-with", e[n]()), r !== t && e[n](r), e.prop("disabled", !0)
},
enableFormElements: function(t) {
n.formElements(t, n.enableSelector).each(function() {
n.enableFormElement(e(this))
})
},
enableFormElement: function(e) {
var t = e.is("button") ? "html" : "val";
e.data("ujs:enable-with") && e[t](e.data("ujs:enable-with")), e.prop("disabled", !1)
},
allowAction: function(e) {
var t, r = e.data("confirm"),
o = !1;
return r ? (n.fire(e, "confirm") && (o = n.confirm(r), t = n.fire(e, "confirm:complete", [o])), o && t) : !0
},
blankInputs: function(t, n, r) {
var o, i, a = e(),
s = n || "input,textarea",
u = t.find(s);
return u.each(function() {
if (o = e(this), i = o.is("input[type=checkbox],input[type=radio]") ? o.is(":checked") : o.val(), !i == !r) {
if (o.is("input[type=radio]") && u.filter('input[type=radio]:checked[name="' + o.attr("name") + '"]').length) return !0;
a = a.add(o)
}
}), a.length ? a : !1
},
nonBlankInputs: function(e, t) {
return n.blankInputs(e, t, !0)
},
stopEverything: function(t) {
return e(t.target).trigger("ujs:everythingStopped"), t.stopImmediatePropagation(), !1
},
disableElement: function(e) {
var r = e.data("disable-with");
e.data("ujs:enable-with", e.html()), r !== t && e.html(r), e.bind("click.railsDisable", function(e) {
return n.stopEverything(e)
})
},
enableElement: function(e) {
e.data("ujs:enable-with") !== t && (e.html(e.data("ujs:enable-with")), e.removeData("ujs:enable-with")), e.unbind("click.railsDisable")
}
}, n.fire(r, "rails:attachBindings") && (e.ajaxPrefilter(function(e, t, r) {
e.crossDomain || n.CSRFProtection(r)
}), e(window).on("pageshow.rails", function() {
e(e.rails.enableSelector).each(function() {
var t = e(this);
t.data("ujs:enable-with") && e.rails.enableFormElement(t)
}), e(e.rails.linkDisableSelector).each(function() {
var t = e(this);
t.data("ujs:enable-with") && e.rails.enableElement(t)
})
}), r.delegate(n.linkDisableSelector, "ajax:complete", function() {
n.enableElement(e(this))
}), r.delegate(n.buttonDisableSelector, "ajax:complete", function() {
n.enableFormElement(e(this))
}), r.delegate(n.linkClickSelector, "click.rails", function(r) {
var o = e(this),
i = o.data("method"),
a = o.data("params"),
s = r.metaKey || r.ctrlKey;
if (!n.allowAction(o)) return n.stopEverything(r);
if (!s && o.is(n.linkDisableSelector) && n.disableElement(o), o.data("remote") !== t) {
if (s && (!i || "GET" === i) && !a) return !0;
var u = n.handleRemote(o);
return u === !1 ? n.enableElement(o) : u.fail(function() {
n.enableElement(o)
}), !1
}
return i ? (n.handleMethod(o), !1) : void 0
}), r.delegate(n.buttonClickSelector, "click.rails", function(t) {
var r = e(this);
if (!n.allowAction(r)) return n.stopEverything(t);
r.is(n.buttonDisableSelector) && n.disableFormElement(r);
var o = n.handleRemote(r);
return o === !1 ? n.enableFormElement(r) : o.fail(function() {
n.enableFormElement(r)
}), !1
}), r.delegate(n.inputChangeSelector, "change.rails", function(t) {
var r = e(this);
return n.allowAction(r) ? (n.handleRemote(r), !1) : n.stopEverything(t)
}), r.delegate(n.formSubmitSelector, "submit.rails", function(r) {
var o, i, a = e(this),
s = a.data("remote") !== t;
if (!n.allowAction(a)) return n.stopEverything(r);
if (a.attr("novalidate") == t && (o = n.blankInputs(a, n.requiredInputSelector), o && n.fire(a, "ajax:aborted:required", [o]))) return n.stopEverything(r);
if (s) {
if (i = n.nonBlankInputs(a, n.fileInputSelector)) {
setTimeout(function() {
n.disableFormElements(a)
}, 13);
var u = n.fire(a, "ajax:aborted:file", [i]);
return u || setTimeout(function() {
n.enableFormElements(a)
}, 13), u
}
return n.handleRemote(a), !1
}
setTimeout(function() {
n.disableFormElements(a)
}, 13)
}), r.delegate(n.formInputClickSelector, "click.rails", function(t) {
var r = e(this);
if (!n.allowAction(r)) return n.stopEverything(t);
var o = r.attr("name"),
i = o ? {
name: o,
value: r.val()
} : null;
r.closest("form").data("ujs:submit-button", i)
}), r.delegate(n.formSubmitSelector, "ajax:send.rails", function(t) {
this == t.target && n.disableFormElements(e(this))
}), r.delegate(n.formSubmitSelector, "ajax:complete.rails", function(t) {
this == t.target && n.enableFormElements(e(this))
}), e(function() {
n.refreshCSRFTokens()
}))
}(jQuery),
function() {
function e(e) {
function t(t, n, r, o, i, a) {
for (; i >= 0 && a > i; i += e) {
var s = o ? o[i] : i;
r = n(r, t[s], s, t)
}
return r
}
return function(n, r, o, i) {
r = b(r, i, 4);
var a = !S(n) && y.keys(n),
s = (a || n).length,
u = e > 0 ? 0 : s - 1;
return arguments.length < 3 && (o = n[a ? a[u] : u], u += e), t(n, r, o, a, u, s)
}
}
function t(e) {
return function(t, n, r) {
n = _(n, r);
for (var o = k(t), i = e > 0 ? 0 : o - 1; i >= 0 && o > i; i += e)
if (n(t[i], i, t)) return i;
return -1
}
}
function n(e, t, n) {
return function(r, o, i) {
var a = 0,
s = k(r);
if ("number" == typeof i) e > 0 ? a = i >= 0 ? i : Math.max(i + s, a) : s = i >= 0 ? Math.min(i + 1, s) : i + s + 1;
else if (n && i && s) return i = n(r, o), r[i] === o ? i : -1;
if (o !== o) return i = t(c.call(r, a, s), y.isNaN), i >= 0 ? i + a : -1;
for (i = e > 0 ? a : s - 1; i >= 0 && s > i; i += e)
if (r[i] === o) return i;
return -1
}
}
function r(e, t) {
var n = R.length,
r = e.constructor,
o = y.isFunction(r) && r.prototype || s,
i = "constructor";
for (y.has(e, i) && !y.contains(t, i) && t.push(i); n--;) i = R[n], i in e && e[i] !== o[i] && !y.contains(t, i) && t.push(i)
}
var o = this,
i = o._,
a = Array.prototype,
s = Object.prototype,
u = Function.prototype,
l = a.push,
c = a.slice,
d = s.toString,
p = s.hasOwnProperty,
f = Array.isArray,
h = Object.keys,
m = u.bind,
g = Object.create,
v = function() {},
y = function(e) {
return e instanceof y ? e : this instanceof y ? void(this._wrapped = e) : new y(e)
};
"undefined" != typeof exports ? ("undefined" != typeof module && module.exports && (exports = module.exports = y), exports._ = y) : o._ = y, y.VERSION = "1.8.3";
var b = function(e, t, n) {
if (void 0 === t) return e;
switch (null == n ? 3 : n) {
case 1:
return function(n) {
return e.call(t, n)
};
case 2:
return function(n, r) {
return e.call(t, n, r)
};
case 3:
return function(n, r, o) {
return e.call(t, n, r, o)
};
case 4:
return function(n, r, o, i) {
return e.call(t, n, r, o, i)
}
}
return function() {
return e.apply(t, arguments)
}
},
_ = function(e, t, n) {
return null == e ? y.identity : y.isFunction(e) ? b(e, t, n) : y.isObject(e) ? y.matcher(e) : y.property(e)
};
y.iteratee = function(e, t) {
return _(e, t, 1 / 0)
};
var w = function(e, t) {
return function(n) {
var r = arguments.length;
if (2 > r || null == n) return n;
for (var o = 1; r > o; o++)
for (var i = arguments[o], a = e(i), s = a.length, u = 0; s > u; u++) {
var l = a[u];
t && void 0 !== n[l] || (n[l] = i[l])
}
return n
}
},
C = function(e) {
if (!y.isObject(e)) return {};
if (g) return g(e);
v.prototype = e;
var t = new v;
return v.prototype = null, t
},
E = function(e) {
return function(t) {
return null == t ? void 0 : t[e]
}
},
x = Math.pow(2, 53) - 1,
k = E("length"),
S = function(e) {
var t = k(e);
return "number" == typeof t && t >= 0 && x >= t
};
y.each = y.forEach = function(e, t, n) {
t = b(t, n);
var r, o;
if (S(e))
for (r = 0, o = e.length; o > r; r++) t(e[r], r, e);
else {
var i = y.keys(e);
for (r = 0, o = i.length; o > r; r++) t(e[i[r]], i[r], e)
}
return e
}, y.map = y.collect = function(e, t, n) {
t = _(t, n);
for (var r = !S(e) && y.keys(e), o = (r || e).length, i = Array(o), a = 0; o > a; a++) {
var s = r ? r[a] : a;
i[a] = t(e[s], s, e)
}
return i
}, y.reduce = y.foldl = y.inject = e(1), y.reduceRight = y.foldr = e(-1), y.find = y.detect = function(e, t, n) {
var r;
return r = S(e) ? y.findIndex(e, t, n) : y.findKey(e, t, n), void 0 !== r && -1 !== r ? e[r] : void 0
}, y.filter = y.select = function(e, t, n) {
var r = [];
return t = _(t, n), y.each(e, function(e, n, o) {
t(e, n, o) && r.push(e)
}), r
}, y.reject = function(e, t, n) {
return y.filter(e, y.negate(_(t)), n)
}, y.every = y.all = function(e, t, n) {
t = _(t, n);
for (var r = !S(e) && y.keys(e), o = (r || e).length, i = 0; o > i; i++) {
var a = r ? r[i] : i;
if (!t(e[a], a, e)) return !1
}
return !0
}, y.some = y.any = function(e, t, n) {
t = _(t, n);
for (var r = !S(e) && y.keys(e), o = (r || e).length, i = 0; o > i; i++) {
var a = r ? r[i] : i;
if (t(e[a], a, e)) return !0
}
return !1
}, y.contains = y.includes = y.include = function(e, t, n, r) {
return S(e) || (e = y.values(e)), ("number" != typeof n || r) && (n = 0), y.indexOf(e, t, n) >= 0
}, y.invoke = function(e, t) {
var n = c.call(arguments, 2),
r = y.isFunction(t);
return y.map(e, function(e) {
var o = r ? t : e[t];
return null == o ? o : o.apply(e, n)
})
}, y.pluck = function(e, t) {
return y.map(e, y.property(t))
}, y.where = function(e, t) {
return y.filter(e, y.matcher(t))
}, y.findWhere = function(e, t) {
return y.find(e, y.matcher(t))
}, y.max = function(e, t, n) {
var r, o, i = -1 / 0,
a = -1 / 0;
if (null == t && null != e) {
e = S(e) ? e : y.values(e);
for (var s = 0, u = e.length; u > s; s++) r = e[s], r > i && (i = r)
} else t = _(t, n), y.each(e, function(e, n, r) {
o = t(e, n, r), (o > a || o === -1 / 0 && i === -1 / 0) && (i = e, a = o)
});
return i
}, y.min = function(e, t, n) {
var r, o, i = 1 / 0,
a = 1 / 0;
if (null == t && null != e) {
e = S(e) ? e : y.values(e);
for (var s = 0, u = e.length; u > s; s++) r = e[s], i > r && (i = r)
} else t = _(t, n), y.each(e, function(e, n, r) {
o = t(e, n, r), (a > o || 1 / 0 === o && 1 / 0 === i) && (i = e, a = o)
});
return i
}, y.shuffle = function(e) {
for (var t, n = S(e) ? e : y.values(e), r = n.length, o = Array(r), i = 0; r > i; i++) t = y.random(0, i), t !== i && (o[i] = o[t]), o[t] = n[i];
return o
}, y.sample = function(e, t, n) {
return null == t || n ? (S(e) || (e = y.values(e)), e[y.random(e.length - 1)]) : y.shuffle(e).slice(0, Math.max(0, t))
}, y.sortBy = function(e, t, n) {
return t = _(t, n), y.pluck(y.map(e, function(e, n, r) {
return {
value: e,
index: n,
criteria: t(e, n, r)
}
}).sort(function(e, t) {
var n = e.criteria,
r = t.criteria;
if (n !== r) {
if (n > r || void 0 === n) return 1;
if (r > n || void 0 === r) return -1
}
return e.index - t.index
}), "value")
};
var T = function(e) {
return function(t, n, r) {
var o = {};
return n = _(n, r), y.each(t, function(r, i) {
var a = n(r, i, t);
e(o, r, a)
}), o
}
};
y.groupBy = T(function(e, t, n) {
y.has(e, n) ? e[n].push(t) : e[n] = [t]
}), y.indexBy = T(function(e, t, n) {
e[n] = t
}), y.countBy = T(function(e, t, n) {
y.has(e, n) ? e[n]++ : e[n] = 1
}), y.toArray = function(e) {
return e ? y.isArray(e) ? c.call(e) : S(e) ? y.map(e, y.identity) : y.values(e) : []
}, y.size = function(e) {
return null == e ? 0 : S(e) ? e.length : y.keys(e).length
}, y.partition = function(e, t, n) {
t = _(t, n);
var r = [],
o = [];
return y.each(e, function(e, n, i) {
(t(e, n, i) ? r : o).push(e)
}), [r, o]
}, y.first = y.head = y.take = function(e, t, n) {
return null == e ? void 0 : null == t || n ? e[0] : y.initial(e, e.length - t)
}, y.initial = function(e, t, n) {
return c.call(e, 0, Math.max(0, e.length - (null == t || n ? 1 : t)))
}, y.last = function(e, t, n) {
return null == e ? void 0 : null == t || n ? e[e.length - 1] : y.rest(e, Math.max(0, e.length - t))
}, y.rest = y.tail = y.drop = function(e, t, n) {
return c.call(e, null == t || n ? 1 : t)
}, y.compact = function(e) {
return y.filter(e, y.identity)
};
var D = function(e, t, n, r) {
for (var o = [], i = 0, a = r || 0, s = k(e); s > a; a++) {
var u = e[a];
if (S(u) && (y.isArray(u) || y.isArguments(u))) {
t || (u = D(u, t, n));
var l = 0,
c = u.length;
for (o.length += c; c > l;) o[i++] = u[l++]
} else n || (o[i++] = u)
}
return o
};
y.flatten = function(e, t) {
return D(e, t, !1)
}, y.without = function(e) {
return y.difference(e, c.call(arguments, 1))
}, y.uniq = y.unique = function(e, t, n, r) {
y.isBoolean(t) || (r = n, n = t, t = !1), null != n && (n = _(n, r));
for (var o = [], i = [], a = 0, s = k(e); s > a; a++) {
var u = e[a],
l = n ? n(u, a, e) : u;
t ? (a && i === l || o.push(u), i = l) : n ? y.contains(i, l) || (i.push(l), o.push(u)) : y.contains(o, u) || o.push(u)
}
return o
}, y.union = function() {
return y.uniq(D(arguments, !0, !0))
}, y.intersection = function(e) {
for (var t = [], n = arguments.length, r = 0, o = k(e); o > r; r++) {
var i = e[r];
if (!y.contains(t, i)) {
for (var a = 1; n > a && y.contains(arguments[a], i); a++);
a === n && t.push(i)
}
}
return t
}, y.difference = function(e) {
var t = D(arguments, !0, !0, 1);
return y.filter(e, function(e) {
return !y.contains(t, e)
})
}, y.zip = function() {
return y.unzip(arguments)
}, y.unzip = function(e) {
for (var t = e && y.max(e, k).length || 0, n = Array(t), r = 0; t > r; r++) n[r] = y.pluck(e, r);
return n
}, y.object = function(e, t) {
for (var n = {}, r = 0, o = k(e); o > r; r++) t ? n[e[r]] = t[r] : n[e[r][0]] = e[r][1];
return n
}, y.findIndex = t(1), y.findLastIndex = t(-1), y.sortedIndex = function(e, t, n, r) {
n = _(n, r, 1);
for (var o = n(t), i = 0, a = k(e); a > i;) {
var s = Math.floor((i + a) / 2);
n(e[s]) < o ? i = s + 1 : a = s
}
return i
}, y.indexOf = n(1, y.findIndex, y.sortedIndex), y.lastIndexOf = n(-1, y.findLastIndex), y.range = function(e, t, n) {
null == t && (t = e || 0, e = 0), n = n || 1;
for (var r = Math.max(Math.ceil((t - e) / n), 0), o = Array(r), i = 0; r > i; i++, e += n) o[i] = e;
return o
};
var N = function(e, t, n, r, o) {
if (!(r instanceof t)) return e.apply(n, o);
var i = C(e.prototype),
a = e.apply(i, o);
return y.isObject(a) ? a : i
};
y.bind = function(e, t) {
if (m && e.bind === m) return m.apply(e, c.call(arguments, 1));
if (!y.isFunction(e)) throw new TypeError("Bind must be called on a function");
var n = c.call(arguments, 2),
r = function() {
return N(e, r, t, this, n.concat(c.call(arguments)))
};
return r
}, y.partial = function(e) {
var t = c.call(arguments, 1),
n = function() {
for (var r = 0, o = t.length, i = Array(o), a = 0; o > a; a++) i[a] = t[a] === y ? arguments[r++] : t[a];
for (; r < arguments.length;) i.push(arguments[r++]);
return N(e, n, this, this, i)
};
return n
}, y.bindAll = function(e) {
var t, n, r = arguments.length;
if (1 >= r) throw new Error("bindAll must be passed function names");
for (t = 1; r > t; t++) n = arguments[t], e[n] = y.bind(e[n], e);
return e
}, y.memoize = function(e, t) {
var n = function(r) {
var o = n.cache,
i = "" + (t ? t.apply(this, arguments) : r);
return y.has(o, i) || (o[i] = e.apply(this, arguments)), o[i]
};
return n.cache = {}, n
}, y.delay = function(e, t) {
var n = c.call(arguments, 2);
return setTimeout(function() {
return e.apply(null, n)
}, t)
}, y.defer = y.partial(y.delay, y, 1), y.throttle = function(e, t, n) {
var r, o, i, a = null,
s = 0;
n || (n = {});
var u = function() {
s = n.leading === !1 ? 0 : y.now(), a = null, i = e.apply(r, o), a || (r = o = null)
};
return function() {
var l = y.now();
s || n.leading !== !1 || (s = l);
var c = t - (l - s);
return r = this, o = arguments, 0 >= c || c > t ? (a && (clearTimeout(a), a = null), s = l, i = e.apply(r, o), a || (r = o = null)) : a || n.trailing === !1 || (a = setTimeout(u, c)), i
}
}, y.debounce = function(e, t, n) {
var r, o, i, a, s, u = function() {
var l = y.now() - a;
t > l && l >= 0 ? r = setTimeout(u, t - l) : (r = null, n || (s = e.apply(i, o), r || (i = o = null)))
};
return function() {
i = this, o = arguments, a = y.now();
var l = n && !r;
return r || (r = setTimeout(u, t)), l && (s = e.apply(i, o), i = o = null), s
}
}, y.wrap = function(e, t) {
return y.partial(t, e)
}, y.negate = function(e) {
return function() {
return !e.apply(this, arguments)
}
}, y.compose = function() {
var e = arguments,
t = e.length - 1;
return function() {
for (var n = t, r = e[t].apply(this, arguments); n--;) r = e[n].call(this, r);
return r
}
}, y.after = function(e, t) {
return function() {
return --e < 1 ? t.apply(this, arguments) : void 0
}
}, y.before = function(e, t) {
var n;
return function() {
return --e > 0 && (n = t.apply(this, arguments)), 1 >= e && (t = null), n
}
}, y.once = y.partial(y.before, 2);
var O = !{
toString: null
}.propertyIsEnumerable("toString"),
R = ["valueOf", "isPrototypeOf", "toString", "propertyIsEnumerable", "hasOwnProperty", "toLocaleString"];
y.keys = function(e) {
if (!y.isObject(e)) return [];
if (h) return h(e);
var t = [];
for (var n in e) y.has(e, n) && t.push(n);
return O && r(e, t), t
}, y.allKeys = function(e) {
if (!y.isObject(e)) return [];
var t = [];
for (var n in e) t.push(n);
return O && r(e, t), t
}, y.values = function(e) {
for (var t = y.keys(e), n = t.length, r = Array(n), o = 0; n > o; o++) r[o] = e[t[o]];
return r
}, y.mapObject = function(e, t, n) {
t = _(t, n);
for (var r, o = y.keys(e), i = o.length, a = {}, s = 0; i > s; s++) r = o[s], a[r] = t(e[r], r, e);
return a
}, y.pairs = function(e) {
for (var t = y.keys(e), n = t.length, r = Array(n), o = 0; n > o; o++) r[o] = [t[o], e[t[o]]];
return r
}, y.invert = function(e) {
for (var t = {}, n = y.keys(e), r = 0, o = n.length; o > r; r++) t[e[n[r]]] = n[r];
return t
}, y.functions = y.methods = function(e) {
var t = [];
for (var n in e) y.isFunction(e[n]) && t.push(n);
return t.sort()
}, y.extend = w(y.allKeys), y.extendOwn = y.assign = w(y.keys), y.findKey = function(e, t, n) {
t = _(t, n);
for (var r, o = y.keys(e), i = 0, a = o.length; a > i; i++)
if (r = o[i], t(e[r], r, e)) return r
}, y.pick = function(e, t, n) {
var r, o, i = {},
a = e;
if (null == a) return i;
y.isFunction(t) ? (o = y.allKeys(a), r = b(t, n)) : (o = D(arguments, !1, !1, 1), r = function(e, t, n) {
return t in n
}, a = Object(a));
for (var s = 0, u = o.length; u > s; s++) {
var l = o[s],
c = a[l];
r(c, l, a) && (i[l] = c)
}
return i
}, y.omit = function(e, t, n) {
if (y.isFunction(t)) t = y.negate(t);
else {
var r = y.map(D(arguments, !1, !1, 1), String);
t = function(e, t) {
return !y.contains(r, t)
}
}
return y.pick(e, t, n)
}, y.defaults = w(y.allKeys, !0), y.create = function(e, t) {
var n = C(e);
return t && y.extendOwn(n, t), n
}, y.clone = function(e) {
return y.isObject(e) ? y.isArray(e) ? e.slice() : y.extend({}, e) : e
}, y.tap = function(e, t) {
return t(e), e
}, y.isMatch = function(e, t) {
var n = y.keys(t),
r = n.length;
if (null == e) return !r;
for (var o = Object(e), i = 0; r > i; i++) {
var a = n[i];
if (t[a] !== o[a] || !(a in o)) return !1
}
return !0
};
var P = function(e, t, n, r) {
if (e === t) return 0 !== e || 1 / e === 1 / t;
if (null == e || null == t) return e === t;
e instanceof y && (e = e._wrapped), t instanceof y && (t = t._wrapped);
var o = d.call(e);
if (o !== d.call(t)) return !1;
switch (o) {
case "[object RegExp]":
case "[object String]":
return "" + e == "" + t;
case "[object Number]":
return +e !== +e ? +t !== +t : 0 === +e ? 1 / +e === 1 / t : +e === +t;
case "[object Date]":
case "[object Boolean]":
return +e === +t
}
var i = "[object Array]" === o;
if (!i) {
if ("object" != typeof e || "object" != typeof t) return !1;
var a = e.constructor,
s = t.constructor;
if (a !== s && !(y.isFunction(a) && a instanceof a && y.isFunction(s) && s instanceof s) && "constructor" in e && "constructor" in t) return !1
}
n = n || [], r = r || [];
for (var u = n.length; u--;)
if (n[u] === e) return r[u] === t;
if (n.push(e), r.push(t), i) {
if (u = e.length, u !== t.length) return !1;
for (; u--;)
if (!P(e[u], t[u], n, r)) return !1
} else {
var l, c = y.keys(e);
if (u = c.length, y.keys(t).length !== u) return !1;
for (; u--;)
if (l = c[u], !y.has(t, l) || !P(e[l], t[l], n, r)) return !1
}
return n.pop(), r.pop(), !0
};
y.isEqual = function(e, t) {
return P(e, t)
}, y.isEmpty = function(e) {
return null == e ? !0 : S(e) && (y.isArray(e) || y.isString(e) || y.isArguments(e)) ? 0 === e.length : 0 === y.keys(e).length
}, y.isElement = function(e) {
return !(!e || 1 !== e.nodeType)
}, y.isArray = f || function(e) {
return "[object Array]" === d.call(e)
}, y.isObject = function(e) {
var t = typeof e;
return "function" === t || "object" === t && !!e
}, y.each(["Arguments", "Function", "String", "Number", "Date", "RegExp", "Error"], function(e) {
y["is" + e] = function(t) {
return d.call(t) === "[object " + e + "]"
}
}), y.isArguments(arguments) || (y.isArguments = function(e) {
return y.has(e, "callee")
}), "function" != typeof /./ && "object" != typeof Int8Array && (y.isFunction = function(e) {
return "function" == typeof e || !1
}), y.isFinite = function(e) {
return isFinite(e) && !isNaN(parseFloat(e))
}, y.isNaN = function(e) {
return y.isNumber(e) && e !== +e
}, y.isBoolean = function(e) {
return e === !0 || e === !1 || "[object Boolean]" === d.call(e)
}, y.isNull = function(e) {
return null === e
}, y.isUndefined = function(e) {
return void 0 === e
}, y.has = function(e, t) {
return null != e && p.call(e, t)
}, y.noConflict = function() {
return o._ = i, this
}, y.identity = function(e) {
return e
}, y.constant = function(e) {
return function() {
return e
}
}, y.noop = function() {}, y.property = E, y.propertyOf = function(e) {
return null == e ? function() {} : function(t) {
return e[t]
}
}, y.matcher = y.matches = function(e) {
return e = y.extendOwn({}, e),
function(t) {
return y.isMatch(t, e)
}
}, y.times = function(e, t, n) {
var r = Array(Math.max(0, e));
t = b(t, n, 1);
for (var o = 0; e > o; o++) r[o] = t(o);
return r
}, y.random = function(e, t) {
return null == t && (t = e, e = 0), e + Math.floor(Math.random() * (t - e + 1))
}, y.now = Date.now || function() {
return (new Date).getTime()
};
var M = {
"&": "&amp;",
"<": "&lt;",
">": "&gt;",
'"': "&quot;",
"'": "&#x27;",
"`": "&#x60;"
},
I = y.invert(M),
A = function(e) {
var t = function(t) {
return e[t]
},
n = "(?:" + y.keys(e).join("|") + ")",
r = RegExp(n),
o = RegExp(n, "g");
return function(e) {
return e = null == e ? "" : "" + e, r.test(e) ? e.replace(o, t) : e
}
};
y.escape = A(M), y.unescape = A(I), y.result = function(e, t, n) {
var r = null == e ? void 0 : e[t];
return void 0 === r && (r = n), y.isFunction(r) ? r.call(e) : r
};
var j = 0;
y.uniqueId = function(e) {
var t = ++j + "";
return e ? e + t : t
}, y.templateSettings = {
evaluate: /<%([\s\S]+?)%>/g,
interpolate: /<%=([\s\S]+?)%>/g,
escape: /<%-([\s\S]+?)%>/g
};
var L = /(.)^/,
U = {
"'": "'",
"\\": "\\",
"\r": "r",
"\n": "n",
"\u2028": "u2028",
"\u2029": "u2029"
},
F = /\\|'|\r|\n|\u2028|\u2029/g,
B = function(e) {
return "\\" + U[e]
};
y.template = function(e, t, n) {
!t && n && (t = n), t = y.defaults({}, t, y.templateSettings);
var r = RegExp([(t.escape || L).source, (t.interpolate || L).source, (t.evaluate || L).source].join("|") + "|$", "g"),
o = 0,
i = "__p+='";
e.replace(r, function(t, n, r, a, s) {
return i += e.slice(o, s).replace(F, B), o = s + t.length, n ? i += "'+\n((__t=(" + n + "))==null?'':_.escape(__t))+\n'" : r ? i += "'+\n((__t=(" + r + "))==null?'':__t)+\n'" : a && (i += "';\n" + a + "\n__p+='"), t
}), i += "';\n", t.variable || (i = "with(obj||{}){\n" + i + "}\n"), i = "var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n" + i + "return __p;\n";
try {
var a = new Function(t.variable || "obj", "_", i)
} catch (s) {
throw s.source = i, s
}
var u = function(e) {
return a.call(this, e, y)
},
l = t.variable || "obj";
return u.source = "function(" + l + "){\n" + i + "}", u
}, y.chain = function(e) {
var t = y(e);
return t._chain = !0, t
};
var V = function(e, t) {
return e._chain ? y(t).chain() : t
};
y.mixin = function(e) {
y.each(y.functions(e), function(t) {
var n = y[t] = e[t];
y.prototype[t] = function() {
var e = [this._wrapped];
return l.apply(e, arguments), V(this, n.apply(y, e))
}
})
}, y.mixin(y), y.each(["pop", "push", "reverse", "shift", "sort", "splice", "unshift"], function(e) {
var t = a[e];
y.prototype[e] = function() {
var n = this._wrapped;
return t.apply(n, arguments), "shift" !== e && "splice" !== e || 0 !== n.length || delete n[0], V(this, n)
}
}), y.each(["concat", "join", "slice"], function(e) {
var t = a[e];
y.prototype[e] = function() {
return V(this, t.apply(this._wrapped, arguments))
}
}), y.prototype.value = function() {
return this._wrapped
}, y.prototype.valueOf = y.prototype.toJSON = y.prototype.value, y.prototype.toString = function() {
return "" + this._wrapped
}, "function" == typeof define && define.amd && define("underscore", [], function() {
return y
})
}.call(this),
function() {
var e, t, n, r, o, i, a, s, u, l, c, d, p, f, h, m, g, v;
n = function() {
return document.querySelectorAll && document.addEventListener
}, n() && (isNaN(Date.parse("2011-01-01T12:00:00-05:00")) && (s = Date.parse, o = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(Z|[-+]?[\d:]+)$/, Date.parse = function(e) {
var t, n, r, i, a, u, l, c, d, p;
return e = e.toString(), (i = e.match(o)) && (t = i[0], d = i[1], u = i[2], n = i[3], r = i[4], a = i[5], c = i[6], p = i[7], "Z" !== p && (l = p.replace(":", "")), e = d + "/" + u + "/" + n + " " + r + ":" + a + ":" + c + " GMT" + [l]), s(e)
}), v = "Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "), i = "January February March April May June July August September October November December".split(" "), a = function(e) {
return ("0" + e).slice(-2)
}, u = function(e) {
var t, n, r, o, i;
return i = e.toString(), (t = null != (n = i.match(/\(([\w\s]+)\)$/)) ? n[1] : void 0) ? /\s/.test(t) ? t.match(/\b(\w)/g).join("") : t : (t = null != (r = i.match(/(\w{3,4})\s\d{4}$/)) ? r[1] : void 0) ? t : (t = null != (o = i.match(/(UTC[\+\-]\d+)/)) ? o[1] : void 0) ? t : ""
}, m = function(e, t) {
var n, r, o, s, l, c, d;
return r = e.getDay(), n = e.getDate(), l = e.getMonth(), d = e.getFullYear(), o = e.getHours(), s = e.getMinutes(), c = e.getSeconds(), t.replace(/%([%aAbBcdeHIlmMpPSwyYZ])/g, function(t) {
var p, f;
switch (p = t[0], f = t[1]) {
case "%":
return "%";
case "a":
return v[r].slice(0, 3);
case "A":
return v[r];
case "b":
return i[l].slice(0, 3);
case "B":
return i[l];
case "c":
return e.toString();
case "d":
return a(n);
case "e":
return n;
case "H":
return a(o);
case "I":
return a(m(e, "%l"));
case "l":
return 0 === o || 12 === o ? 12 : (o + 12) % 12;
case "m":
return a(l + 1);
case "M":
return a(s);
case "p":
return o > 11 ? "PM" : "AM";
case "P":
return o > 11 ? "pm" : "am";
case "S":
return a(c);
case "w":
return r;
case "y":
return a(d % 100);
case "Y":
return d;
case "Z":
return u(e)
}
})
}, e = function() {
function e(e, t, n) {
this.date = new Date(Date.UTC(e, t - 1)), this.date.setUTCDate(n), this.year = this.date.getUTCFullYear(), this.month = this.date.getUTCMonth() + 1, this.day = this.date.getUTCDate(), this.value = this.date.getTime()
}
return e.fromDate = function(e) {
return new this(e.getFullYear(), e.getMonth() + 1, e.getDate())
}, e.today = function() {
return this.fromDate(new Date)
}, e.prototype.equals = function(e) {
return (null != e ? e.value : void 0) === this.value
}, e.prototype.is = function(e) {
return this.equals(e)
}, e.prototype.isToday = function() {
return this.is(this.constructor.today())
}, e.prototype.occursOnSameYearAs = function(e) {
return this.year === (null != e ? e.year : void 0)
}, e.prototype.occursThisYear = function() {
return this.occursOnSameYearAs(this.constructor.today())
}, e.prototype.daysSince = function(e) {
return e ? (this.date - e.date) / 864e5 : void 0
}, e.prototype.daysPassed = function() {
return this.constructor.today().daysSince(this)
}, e
}(), t = function() {
function t(t) {
this.date = t, this.calendarDate = e.fromDate(this.date)
}
return t.prototype.toString = function() {
var e, t;
return (e = this.timeElapsed()) ? e + " ago" : (t = this.relativeWeekday()) ? t + " at " + this.formatTime() : "on " + this.formatDate()
}, t.prototype.toTimeOrDateString = function() {
return this.calendarDate.isToday() ? this.formatTime() : this.formatDate()
}, t.prototype.timeElapsed = function() {
var e, t, n, r;
return n = (new Date).getTime() - this.date.getTime(), r = Math.round(n / 1e3), t = Math.round(r / 60), e = Math.round(t / 60), 0 > n ? null : 10 > r ? "a second" : 45 > r ? r + " seconds" : 90 > r ? "a minute" : 45 > t ? t + " minutes" : 90 > t ? "an hour" : 24 > e ? e + " hours" : null
}, t.prototype.relativeWeekday = function() {
switch (this.calendarDate.daysPassed()) {
case 0:
return "today";
case 1:
return "yesterday";
case 2:
case 3:
case 4:
case 5:
case 6:
return m(this.date, "%A")
}
}, t.prototype.formatDate = function() {
var e;
return e = "%b %e", this.calendarDate.occursThisYear() || (e += ", %Y"), m(this.date, e)
}, t.prototype.formatTime = function() {
return m(this.date, "%l:%M%P")
}, t
}(), c = function(e) {
return new t(e).formatDate()
}, d = function(e) {
return new t(e).toString()
}, p = function(e) {
return new t(e).toTimeOrDateString()
}, f = function(e) {
var n;
return (n = new t(e).relativeWeekday()) ? n.charAt(0).toUpperCase() + n.substring(1) : void 0
}, r = !1, g = function(e) {
return r && e(), document.addEventListener("time:elapse", e), ("undefined" != typeof Turbolinks && null !== Turbolinks ? Turbolinks.supported : void 0) ? document.addEventListener("page:update", e) : "function" == typeof jQuery ? jQuery(document).on("ajaxSuccess", function(t, n) {
return jQuery.trim(n.responseText) ? e() : void 0
}) : void 0
}, l = function(e, t) {
return g(function() {
var n, r, o, i, a;
for (i = document.querySelectorAll(e), a = [], r = 0, o = i.length; o > r; r++) n = i[r], a.push(t(n));
return a
})
}, document.addEventListener("DOMContentLoaded", function() {
var e;
return r = !0, e = "textContent" in document.body ? "textContent" : "innerText", l("time[data-local]:not([data-localized])", function(t) {
var n, r, o, i;
return n = t.getAttribute("datetime"), r = t.getAttribute("data-format"), o = t.getAttribute("data-local"), i = new Date(Date.parse(n)), isNaN(i) ? void 0 : (t.hasAttribute("title") || t.setAttribute("title", m(i, "%B %e, %Y at %l:%M%P %Z")), t[e] = function() {
var e, n;
switch (o) {
case "date":
return t.setAttribute("data-localized", !0), c(i);
case "time":
return t.setAttribute("data-localized", !0), m(i, r);
case "time-ago":
return d(i);
case "time-or-date":
return p(i);
case "weekday":
return null != (e = f(i)) ? e : "";
case "weekday-or-date":
return null != (n = f(i)) ? n : c(i)
}
}())
})
}), h = function() {
var e;
return e = document.createEvent("Events"), e.initEvent("time:elapse", !0, !0), document.dispatchEvent(e)
}, setInterval(h, 6e4), this.LocalTime = {
relativeDate: c,
relativeTimeAgo: d,
relativeTimeOrDate: p,
relativeWeekday: f,
run: h,
strftime: m
})
}.call(this),
function(e) {
function t(r) {
if (n[r]) return n[r].exports;
var o = n[r] = {
exports: {},
id: r,
loaded: !1
};
return e[r].call(o.exports, o, o.exports, t), o.loaded = !0, o.exports
}
var n = {};
return t.m = e, t.c = n, t.p = "/assets", t(0)
}([function(e, t, n) {
"use strict";
function r(e) {
if (e && e.__esModule) return e;
var t = {};
if (null != e)
for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);
return t["default"] = e, t
}
var o = n(1),
i = r(o);
i.init()
}, function(e, t, n) {
(function(e) {
"use strict";
function r(e) {
if (e && e.__esModule) return e;
var t = {};
if (null != e)
for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);
return t["default"] = e, t
}
function o() {
var t = e.jQuery;
u.init(), a.init(), c.init(), y.init(), C.init(), g.init(), x.init(), S.init(), t(function() {
p.init(), _.init(), h.init(), D.init()
})
}
Object.defineProperty(t, "__esModule", {
value: !0
});
var i = n(2),
a = r(i),
s = n(4),
u = r(s),
l = n(10),
c = r(l),
d = n(11),
p = r(d),
f = n(24),
h = r(f),
m = n(26),
g = r(m),
v = n(27),
y = r(v),
b = n(28),
_ = r(b),
w = n(49),
C = r(w),
E = n(50),
x = r(E),
k = n(51),
S = r(k),
T = n(53),
D = r(T);
t.init = o
}).call(t, function() {
return this
}())
}, function(e, t, n) {
(function(e) {
"use strict";
function r() {
o.attach(e.document.body)
}
Object.defineProperty(t, "__esModule", {
value: !0
}), t.init = r;
var o = n(3)
}).call(t, function() {
return this
}())
}, function(e, t, n) {
var r;
! function() {
"use strict";
/**
* @preserve FastClick: polyfill to remove click delays on browsers with touch UIs.
*
* @codingstandard ftlabs-jsv2
* @copyright The Financial Times Limited [All Rights Reserved]
* @license MIT License (see LICENSE.txt)
*/
function o(e, t) {
function n(e, t) {
return function() {
return e.apply(t, arguments)
}
}
var r;
if (t = t || {}, this.trackingClick = !1, this.trackingClickStart = 0, this.targetElement = null, this.touchStartX = 0, this.touchStartY = 0, this.lastTouchIdentifier = 0, this.touchBoundary = t.touchBoundary || 10, this.layer = e, this.tapDelay = t.tapDelay || 200, this.tapTimeout = t.tapTimeout || 700, !o.notNeeded(e)) {
for (var i = ["onMouse", "onClick", "onTouchStart", "onTouchMove", "onTouchEnd", "onTouchCancel"], s = this, u = 0, l = i.length; l > u; u++) s[i[u]] = n(s[i[u]], s);
a && (e.addEventListener("mouseover", this.onMouse, !0), e.addEventListener("mousedown", this.onMouse, !0), e.addEventListener("mouseup", this.onMouse, !0)), e.addEventListener("click", this.onClick, !0), e.addEventListener("touchstart", this.onTouchStart, !1), e.addEventListener("touchmove", this.onTouchMove, !1), e.addEventListener("touchend", this.onTouchEnd, !1), e.addEventListener("touchcancel", this.onTouchCancel, !1), Event.prototype.stopImmediatePropagation || (e.removeEventListener = function(t, n, r) {
var o = Node.prototype.removeEventListener;
"click" === t ? o.call(e, t, n.hijacked || n, r) : o.call(e, t, n, r)
}, e.addEventListener = function(t, n, r) {
var o = Node.prototype.addEventListener;
"click" === t ? o.call(e, t, n.hijacked || (n.hijacked = function(e) {
e.propagationStopped || n(e)
}), r) : o.call(e, t, n, r)
}), "function" == typeof e.onclick && (r = e.onclick, e.addEventListener("click", function(e) {
r(e)
}, !1), e.onclick = null)
}
}
var i = navigator.userAgent.indexOf("Windows Phone") >= 0,
a = navigator.userAgent.indexOf("Android") > 0 && !i,
s = /iP(ad|hone|od)/.test(navigator.userAgent) && !i,
u = s && /OS 4_\d(_\d)?/.test(navigator.userAgent),
l = s && /OS [6-7]_\d/.test(navigator.userAgent),
c = navigator.userAgent.indexOf("BB10") > 0;
o.prototype.needsClick = function(e) {
switch (e.nodeName.toLowerCase()) {
case "button":
case "select":
case "textarea":
if (e.disabled) return !0;
break;
case "input":
if (s && "file" === e.type || e.disabled) return !0;
break;
case "label":
case "iframe":
case "video":
return !0
}
return /\bneedsclick\b/.test(e.className)
}, o.prototype.needsFocus = function(e) {
switch (e.nodeName.toLowerCase()) {
case "textarea":
return !0;
case "select":
return !a;
case "input":
switch (e.type) {
case "button":
case "checkbox":
case "file":
case "image":
case "radio":
case "submit":
return !1
}
return !e.disabled && !e.readOnly;
default:
return /\bneedsfocus\b/.test(e.className)
}
}, o.prototype.sendClick = function(e, t) {
var n, r;
document.activeElement && document.activeElement !== e && document.activeElement.blur(), r = t.changedTouches[0], n = document.createEvent("MouseEvents"), n.initMouseEvent(this.determineEventType(e), !0, !0, window, 1, r.screenX, r.screenY, r.clientX, r.clientY, !1, !1, !1, !1, 0, null), n.forwardedTouchEvent = !0, e.dispatchEvent(n)
}, o.prototype.determineEventType = function(e) {
return a && "select" === e.tagName.toLowerCase() ? "mousedown" : "click"
}, o.prototype.focus = function(e) {
var t;
s && e.setSelectionRange && 0 !== e.type.indexOf("date") && "time" !== e.type && "month" !== e.type ? (t = e.value.length, e.setSelectionRange(t, t)) : e.focus()
}, o.prototype.updateScrollParent = function(e) {
var t, n;
if (t = e.fastClickScrollParent, !t || !t.contains(e)) {
n = e;
do {
if (n.scrollHeight > n.offsetHeight) {
t = n, e.fastClickScrollParent = n;
break
}
n = n.parentElement
} while (n)
}
t && (t.fastClickLastScrollTop = t.scrollTop)
}, o.prototype.getTargetElementFromEventTarget = function(e) {
return e.nodeType === Node.TEXT_NODE ? e.parentNode : e
}, o.prototype.onTouchStart = function(e) {
var t, n, r;
if (e.targetTouches.length > 1) return !0;
if (t = this.getTargetElementFromEventTarget(e.target), n = e.targetTouches[0], s) {
if (r = window.getSelection(), r.rangeCount && !r.isCollapsed) return !0;
if (!u) {
if (n.identifier && n.identifier === this.lastTouchIdentifier) return e.preventDefault(), !1;
this.lastTouchIdentifier = n.identifier, this.updateScrollParent(t)
}
}
return this.trackingClick = !0, this.trackingClickStart = e.timeStamp, this.targetElement = t, this.touchStartX = n.pageX, this.touchStartY = n.pageY, e.timeStamp - this.lastClickTime < this.tapDelay && e.preventDefault(), !0
}, o.prototype.touchHasMoved = function(e) {
var t = e.changedTouches[0],
n = this.touchBoundary;
return Math.abs(t.pageX - this.touchStartX) > n || Math.abs(t.pageY - this.touchStartY) > n ? !0 : !1
}, o.prototype.onTouchMove = function(e) {
return this.trackingClick ? ((this.targetElement !== this.getTargetElementFromEventTarget(e.target) || this.touchHasMoved(e)) && (this.trackingClick = !1, this.targetElement = null), !0) : !0
}, o.prototype.findControl = function(e) {
return void 0 !== e.control ? e.control : e.htmlFor ? document.getElementById(e.htmlFor) : e.querySelector("button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea")
}, o.prototype.onTouchEnd = function(e) {
var t, n, r, o, i, c = this.targetElement;
if (!this.trackingClick) return !0;
if (e.timeStamp - this.lastClickTime < this.tapDelay) return this.cancelNextClick = !0, !0;
if (e.timeStamp - this.trackingClickStart > this.tapTimeout) return !0;
if (this.cancelNextClick = !1, this.lastClickTime = e.timeStamp, n = this.trackingClickStart, this.trackingClick = !1, this.trackingClickStart = 0, l && (i = e.changedTouches[0], c = document.elementFromPoint(i.pageX - window.pageXOffset, i.pageY - window.pageYOffset) || c, c.fastClickScrollParent = this.targetElement.fastClickScrollParent), r = c.tagName.toLowerCase(), "label" === r) {
if (t = this.findControl(c)) {
if (this.focus(c), a) return !1;
c = t
}
} else if (this.needsFocus(c)) return e.timeStamp - n > 100 || s && window.top !== window && "input" === r ? (this.targetElement = null, !1) : (this.focus(c), this.sendClick(c, e), s && "select" === r || (this.targetElement = null, e.preventDefault()), !1);
return s && !u && (o = c.fastClickScrollParent, o && o.fastClickLastScrollTop !== o.scrollTop) ? !0 : (this.needsClick(c) || (e.preventDefault(), this.sendClick(c, e)), !1)
}, o.prototype.onTouchCancel = function() {
this.trackingClick = !1, this.targetElement = null
}, o.prototype.onMouse = function(e) {
return this.targetElement ? e.forwardedTouchEvent ? !0 : e.cancelable && (!this.needsClick(this.targetElement) || this.cancelNextClick) ? (e.stopImmediatePropagation ? e.stopImmediatePropagation() : e.propagationStopped = !0, e.stopPropagation(), e.preventDefault(), !1) : !0 : !0
}, o.prototype.onClick = function(e) {
var t;
return this.trackingClick ? (this.targetElement = null, this.trackingClick = !1, !0) : "submit" === e.target.type && 0 === e.detail ? !0 : (t = this.onMouse(e), t || (this.targetElement = null), t)
}, o.prototype.destroy = function() {
var e = this.layer;
a && (e.removeEventListener("mouseover", this.onMouse, !0), e.removeEventListener("mousedown", this.onMouse, !0), e.removeEventListener("mouseup", this.onMouse, !0)), e.removeEventListener("click", this.onClick, !0), e.removeEventListener("touchstart", this.onTouchStart, !1), e.removeEventListener("touchmove", this.onTouchMove, !1), e.removeEventListener("touchend", this.onTouchEnd, !1), e.removeEventListener("touchcancel", this.onTouchCancel, !1)
}, o.notNeeded = function(e) {
var t, n, r, o;
if ("undefined" == typeof window.ontouchstart) return !0;
if (n = +(/Chrome\/([0-9]+)/.exec(navigator.userAgent) || [, 0])[1]) {
if (!a) return !0;
if (t = document.querySelector("meta[name=viewport]")) {
if (-1 !== t.content.indexOf("user-scalable=no")) return !0;
if (n > 31 && document.documentElement.scrollWidth <= window.outerWidth) return !0
}
}
if (c && (r = navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/), r[1] >= 10 && r[2] >= 3 && (t = document.querySelector("meta[name=viewport]")))) {
if (-1 !== t.content.indexOf("user-scalable=no")) return !0;
if (document.documentElement.scrollWidth <= window.outerWidth) return !0
}
return "none" === e.style.msTouchAction || "manipulation" === e.style.touchAction ? !0 : (o = +(/Firefox\/([0-9]+)/.exec(navigator.userAgent) || [, 0])[1], o >= 27 && (t = document.querySelector("meta[name=viewport]"), t && (-1 !== t.content.indexOf("user-scalable=no") || document.documentElement.scrollWidth <= window.outerWidth)) ? !0 : "none" === e.style.touchAction || "manipulation" === e.style.touchAction ? !0 : !1)
}, o.attach = function(e, t) {
return new o(e, t)
}, r = function() {
return o
}.call(t, n, t, e), !(void 0 !== r && (e.exports = r))
}()
}, function(e, t, n) {
(function(e) {
"use strict";
function r() {
e.Modernizr.csspositionsticky || e.$(o.SELECTOR).each(function() {
e.$(this).data("positionSticky", i.create(this))
})
}
Object.defineProperty(t, "__esModule", {
value: !0
}), t.init = r;
var o = n(5),
i = n(6)
}).call(t, function() {
return this
}())
}, function(e) {
"use strict";
e.exports = {
SELECTOR: ".sticky-top",
PLACEHOLDER_CLASS: "sticky-placeholder"
}
}, function(e, t, n) {
(function(t) {
"use strict";
var r = n(7),
o = n(8),
i = n(9),
a = 100,
s = 200,
u = 300,
l = {};
l.create = function(e) {
return Object.create(l).init(e)
}, l.init = function(e) {
return this.constructor = l, this.placeholder = o.create(e), this.sticky = i.create(e, this), this.container = r.create(e.parentNode), this.posScheme = a, this.isTicking = !1, this.threshold = null, this.leftPositionWhenAbsolute = null, this.leftPositionWhenFixed = null, this.latestKnownScrollY = t.pageYOffset, this.setOffsetTop(), this.setOffsetBottom(), this.setLeftPositionWhenAbsolute(), this.setLeftPositionWhenFixed(), this.calcThreshold(), this.subscribeToWindowScroll(), this.subscribeToWindowResize(), this.update(), this
}, l.setOffsetTop = function() {
this.offsetTop = this.container.borderTopWidth + this.container.paddingTop
}, l.setOffsetBottom = function() {
this.offsetBottom = this.container.borderBottomWidth + this.container.paddingBottom
}, l.calcThreshold = function() {
this.threshold = this.getStickyDistanceFromDocumentTop() - this.offsetTop
}, l.setLeftPositionWhenAbsolute = function() {
var e = parseFloat(this.sticky.$element.css("margin-left"));
this.leftPositionWhenAbsolute = this.sticky.$element.position().left - e
}, l.setLeftPositionWhenFixed = function() {
var e = parseFloat(this.sticky.$element.css("margin-left"));
this.leftPositionWhenFixed = t.pageXOffset + this.sticky.$element.offset().left - e
}, l.subscribeToWindowScroll = function() {
t.addEventListener("scroll", this.onScroll.bind(this))
}, l.onScroll = function() {
this.isTicking || (this.latestKnownScrollY = t.pageYOffset, this.isTicking = !0, t.requestAnimationFrame(this.update.bind(this)))
}, l.subscribeToWindowResize = function() {
t.addEventListener("resize", this.onResize.bind(this))
}, l.onResize = function() {
this.isTicking || (t.requestAnimationFrame(this.refresh.bind(this)), this.isTicking = !0)
}, l.isStatic = function() {
return this.posScheme === a
}, l.makeStatic = function() {
this.sticky.$element.css("position", "static"), this.placeholder.$element.hide(), this.posScheme = a
}, l.isFixed = function() {
return this.posScheme === s
}, l.makeFixed = function() {
this.sticky.$element.css({
position: "fixed",
top: this.offsetTop + "px",
bottom: "",
left: this.leftPositionWhenFixed + "px"
}), this.placeholder.$element.show(), this.posScheme = s
}, l.isAbsolute = function() {
return this.posScheme === u
}, l.makeAbsolute = function() {
this.sticky.$element.css({
position: "absolute",
top: "auto",
bottom: this.container.paddingBottom + "px",
left: this.leftPositionWhenAbsolute + "px"
}), this.placeholder.$element.show(), this.posScheme = u
}, l.update = function() {
this.isTicking = !1, this.isBelowThreshold() ? this.isStatic() || this.makeStatic() : this.canStickyFitInContainer() ? this.isFixed() || this.makeFixed() : this.isAbsolute() || this.makeAbsolute()
}, l.isBelowThreshold = function() {
return this.latestKnownScrollY < this.threshold ? !0 : !1
}, l.canStickyFitInContainer = function() {
return this.getAvailableSpaceInContainer() >= this.sticky.boundingBoxHeight
}, l.getAvailableSpaceInContainer = function() {
return this.container.$element[0].getBoundingClientRect().bottom - this.offsetBottom - this.offsetTop
}, l.getStickyDistanceFromDocumentTop = function() {
var e = this.isStatic() ? this.sticky.$element : this.placeholder.$element;
return e.offset().top
}, l.refresh = function() {
this.sticky.refresh(), this.placeholder.refresh(), this.calcThreshold(), this.update()
}, e.exports = l
}).call(t, function() {
return this
}())
}, function(e, t) {
(function(t) {
"use strict";
var n = {};
n.create = function(e) {
return Object.create(n).init(e)
}, n.init = function(e) {
return this.constructor = n, this.$element = t.$(e), this.paddingTop = null, this.paddingBottom = null, this.borderTopWidth = null, this.borderBottomWidth = null, this.validatePosScheme(), this.setLayoutProperties(), this
}, n.validatePosScheme = function() {
"static" === this.$element.css("position") && this.$element.css("position", "relative")
}, n.setLayoutProperties = function() {
this.paddingTop = parseFloat(this.$element.css("paddingTop")), this.paddingBottom = parseFloat(this.$element.css("paddingBottom")), this.borderTopWidth = parseFloat(this.$element.css("borderTopWidth")), this.borderBottomWidth = parseFloat(this.$element.css("borderBottomWidth"))
}, e.exports = n
}).call(t, function() {
return this
}())
}, function(e, t, n) {
(function(t) {
"use strict";
var r = n(5),
o = {};
o.create = function(e) {
return Object.create(o).init(e)
}, o.init = function(e) {
return this.constructor = o, this.$source = t.$(e), this.$element = null, this.createElement(), this
}, o.createElement = function() {
this.$element = t.$("<div>").addClass(r.PLACEHOLDER_CLASS), this.$element.attr("aria-hidden", "true").css("visibility", "hidden").hide(), this.refresh(), this.$element.insertAfter(this.$source)
}, o.refresh = function() {
this.$element.css({
height: this.$source.height(),
margin: this.$source.css("margin"),
"float": this.$source.css("float")
})
}, e.exports = o
}).call(t, function() {
return this
}())
}, function(e, t) {
(function(t) {
"use strict";
var n = {};
n.create = function(e, t) {
return Object.create(n).init(e, t)
}, n.init = function(e, r) {
return this.constructor = n, this.$element = t.$(e), this.positionSticky = r, this.boundingBoxHeight = null, this.setElementWidth(), this.setBoundingBoxHeight(), this
}, n.setElementWidth = function(e) {
this.$element.css("width", ""), this.$element.width(e || this.$element.width())
}, n.setBoundingBoxHeight = function() {
this.boundingBoxHeight = this.$element.outerHeight(!0)
}, n.refresh = function() {
var e = void 0;
this.positionSticky.isStatic() || (e = this.positionSticky.placeholder.$element.width()), this.setElementWidth(e), this.setBoundingBoxHeight()
}, e.exports = n
}).call(t, function() {
return this
}())
}, function(e, t) {
(function(e) {
/* ========================================================================
* Avvo UI - transition.js
* Confused? Read http://blog.alexmaccaw.com/css-transitions
* ========================================================================
* Forked from Bootstrap transition.js v3.2.0
* http://getbootstrap.com/javascript/#transitions
* ========================================================================
* Copyright 2011-2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
"use strict";
function n() {
var e = document.createElement("div"),
t = {
WebkitTransition: "webkitTransitionEnd",
MozTransition: "transitionend",
OTransition: "oTransitionEnd otransitionend",
transition: "transitionend"
};
for (var n in t)
if (void 0 !== e.style[n]) return {
end: t[n]
};
return !1
}
function r() {
o.fn.emulateTransitionEnd = function(e) {
var t = !1,
n = o(this);
n.one("uiTransitionEnd", function() {
t = !0
});
var r = function() {
t || n.trigger(o.support.transition.end)
};
return 0 === e ? r() : setTimeout(r, e), this
}, o.support.transition = n(), o.support.transition && (o.event.special.uiTransitionEnd = {
bindType: o.support.transition.end,
delegateType: o.support.transition.end,
handle: function(e) {
return o(e.target).is(this) ? e.handleObj.handler.apply(this, arguments) : void 0
}
})
}
Object.defineProperty(t, "__esModule", {
value: !0
}), t.init = r;
var o = e.jQuery
}).call(t, function() {
return this
}())
}, function(e, t, n) {
(function(e) {
"use strict";
function r(e) {
return e && e.__esModule ? e : {
"default": e
}
}
function o(t) {
return "function" != typeof e.getComputedStyle ? "" : e.getComputedStyle(t, ":after").content
}
function i(e, t) {
var n = $(t),
r = new d(n.data("target")).$element;
r.find(".nav-section").each(function(e, t) {
c["default"](t)
}), r.on("mouseout", function() {
-1 === o(r[0]).indexOf("off-canvas") && a(r)
}), r.on("hide.ui.offcanvas", a.bind(null, r)), r.on("hide.ui.collapse", ".collapse", s.bind(null, r))
}
function a(e) {
e.find('[data-toggle="collapse"][aria-expanded="true"]').trigger("click.ui.collapse.data-api")
}
function s(t) {
var n = t.scrollTop();
0 !== n && (e.requestAnimationFrame(s.bind(null, t)), t.scrollTop(n - n / 6))
}
function u() {
$('[data-toggle="off-canvas"]').each(i)
}
Object.defineProperty(t, "__esModule", {
value: !0
});
var l = n(12),
c = r(l),
d = n(23);
t.init = u
}).call(t, function() {
return this
}())
}, function(e, t, n) {
(function(e) {
"use strict";
function r(e) {
return e && e.__esModule ? e : {
"default": e
}
}
function o(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
Object.defineProperty(t, "__esModule", {
value: !0
});
var i = function() {
function e(e, t) {
for (var n = 0; n < t.length; n++) {
var r = t[n];
r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
}
}
return function(t, n, r) {
return n && e(t.prototype, n), r && e(t, r), t
}
}(),
a = n(13),
s = r(a),
u = n(21),
l = r(u),
c = "is-active",
d = 5,
p = 250,
f = e.jQuery,
h = function() {
function e(t) {
o(this, e), this.$el = f(t), this.enterId = null, this.exitId = null, this.coordinates = [], this.bindEvents(t)
}
return i(e, [{
key: "bindEvents",
value: function(e) {
var t = this;
this.$el.on("mouseenter", function() {
t.exitId = null, t.enterId = setTimeout(t.makeActive.bind(t), p), t.$el.on("mousemove", s["default"](t.handleMove.bind(t), p / 4))
}), this.$el.on("mouseleave", function() {
clearTimeout(t.enterId), clearTimeout(t.exitId), t.enterId = null, t.exitId = setTimeout(t.makeInactive.bind(t), p / 2)
}), this.$el.on("click", function(n) {
n.target === e && t.makeActiveNow()
})
}
}, {
key: "makeActiveNow",
value: function() {
this.resetCoordinates(), this.$el.addClass(c)
}
}, {
key: "makeActive",
value: function() {
this.exitId || this.makeActiveNow.call(this), this.enterId = null
}
}, {
key: "makeInactive",
value: function() {
this.$el.removeClass(c), this.$el.off("mousemove"), this.exitId = null
}
}, {
key: "addCoordinate",
value: function(e, t) {
this.coordinates.push({
x: e,
y: t
}), this.coordinates.length > d && this.coordinates.shift()
}
}, {
key: "resetCoordinates",
value: function() {
this.coordinates = []
}
}, {
key: "handleMove",
value: function(e) {
this.addCoordinate(e.pageX, e.pageY), this.exitId || l["default"](this.coordinates) || this.makeActiveNow()
}
}]), e
}();
t.SmarterHover = h, t["default"] = function(e) {
return new h(e)
}
}).call(t, function() {
return this
}())
}, function(e, t, n) {
function r(e, t, n) {
var r = !0,
s = !0;
if ("function" != typeof e) throw new TypeError(a);
return n === !1 ? r = !1 : i(n) && (r = "leading" in n ? !!n.leading : r, s = "trailing" in n ? !!n.trailing : s), o(e, t, {
leading: r,
maxWait: +t,
trailing: s
})
}
var o = n(14),
i = n(15),
a = "Expected a function";
e.exports = r
}, function(e, t, n) {
function r(e, t, n) {
function r() {
v && clearTimeout(v), f && clearTimeout(f), b = 0, f = v = y = void 0
}
function u(t, n) {
n && clearTimeout(n), f = v = y = void 0, t && (b = i(), h = e.apply(g, p), v || f || (p = g = void 0))
}
function l() {
var e = t - (i() - m);
0 >= e || e > t ? u(y, f) : v = setTimeout(l, e)
}
function c() {
u(w, v)
}
function d() {
if (p = arguments, m = i(), g = this, y = w && (v || !C), _ === !1) var n = C && !v;
else {
f || C || (b = m);
var r = _ - (m - b),
o = 0 >= r || r > _;
o ? (f && (f = clearTimeout(f)), b = m, h = e.apply(g, p)) : f || (f = setTimeout(c, r))
}
return o && v ? v = clearTimeout(v) : v || t === _ || (v = setTimeout(l, t)), n && (o = !0, h = e.apply(g, p)), !o || v || f || (p = g = void 0), h
}
var p, f, h, m, g, v, y, b = 0,
_ = !1,
w = !0;
if ("function" != typeof e) throw new TypeError(a);
if (t = 0 > t ? 0 : +t || 0, n === !0) {
var C = !0;
w = !1
} else o(n) && (C = !!n.leading, _ = "maxWait" in n && s(+n.maxWait || 0, t), w = "trailing" in n ? !!n.trailing : w);
return d.cancel = r, d
}
var o = n(15),
i = n(16),
a = "Expected a function",
s = Math.max;
e.exports = r
}, function(e) {
function t(e) {
var t = typeof e;
return !!e && ("object" == t || "function" == t)
}
e.exports = t
}, function(e, t, n) {
var r = n(17),
o = r(Date, "now"),
i = o || function() {
return (new Date).getTime()
};
e.exports = i
}, function(e, t, n) {
function r(e, t) {
var n = null == e ? void 0 : e[t];
return o(n) ? n : void 0
}
var o = n(18);
e.exports = r
}, function(e, t, n) {
function r(e) {
return null == e ? !1 : o(e) ? c.test(u.call(e)) : i(e) && a.test(e)
}
var o = n(19),
i = n(20),
a = /^\[object .+?Constructor\]$/,
s = Object.prototype,
u = Function.prototype.toString,
l = s.hasOwnProperty,
c = RegExp("^" + u.call(l).replace(/[\\^$.*+?()[\]{}|]/g, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
e.exports = r
}, function(e, t, n) {
function r(e) {
return o(e) && s.call(e) == i
}
var o = n(15),
i = "[object Function]",
a = Object.prototype,
s = a.toString;
e.exports = r
}, function(e) {
function t(e) {
return !!e && "object" == typeof e
}
e.exports = t
}, function(e, t, n) {
"use strict";
function r(e) {
return e && e.__esModule ? e : {
"default": e
}
}
Object.defineProperty(t, "__esModule", {
value: !0
});
var o = n(22),
i = r(o);
t["default"] = function(e) {
var t = e.length;
if (3 > t) return !0;
var n = e[t - 3],
r = e[t - 2],
o = e[t - 1];
return i["default"](r, o) > i["default"](n, r)
}, e.exports = t["default"]
}, function(e, t) {
"use strict";
Object.defineProperty(t, "__esModule", {
value: !0
}), t["default"] = function(e, t) {
var n = t.x - e.x,
r = t.y - e.y;
return Math.sqrt(Math.pow(n, 2) + Math.pow(r, 2))
}, e.exports = t["default"]
}, function(e) {
"use strict";
function t(e) {
e.$button.on(s.click, function(t) {
t.preventDefault(), e.$container.hasClass(i.active) ? e.hide() : e.show()
}), e.$exit.on(s.click, function(t) {
t.preventDefault(), e.hide()
})
}
function n(e) {
var t = e.find(".icon").attr("class"),
n = u.ICON.exec(t);
return n && n.length ? n[0] : ""
}
function r(e, t) {
return $("[data-toggle=" + o + "][data-" + e + "=" + t + "]")
}
var o = "off-canvas",
i = {
active: "in",
close: "icon-x",
container: o + "-container",
exit: o + "-exit",
wrapper: o + "-wrapper"
},
a = {
icon: "icon",
target: "target"
},
s = {
click: "click.ui.offcanvas",
hide: "hide.ui.offcanvas",
show: "show.ui.offcanvas"
},
u = {
ICON: /(icon-[a-zA-Z]+)/g
},
l = function(e) {
return this.$element = $(e), this.$wrapper = this.$element.closest("." + i.wrapper), this.$container = this.$element.closest("." + i.container), this.$button = r(a.target, e), this.$button.data(a.icon, n(this.$button)), this.$exit = $('<a href="#" role="button" class="' + i.exit + '" />'), this.$exit.appendTo(this.$wrapper), t(this), this
};
l.prototype.toggle = function(e) {
var t = this.$button.data(a.icon);
return this.$container.toggleClass(i.active, e), this.$button.attr("aria-expanded", e), this.$button.find(".icon").toggleClass(t, !e).toggleClass(i.close, e), this
}, l.prototype.show = function() {
return this.$element.trigger(s.show), this.toggle(!0)
}, l.prototype.hide = function() {
return this.$element.trigger(s.hide), this.toggle(!1)
}, e.exports = l
}, function(e, t, n) {
(function(e) {
"use strict";
function r(e) {
return e && e.__esModule ? e : {
"default": e
}
}
function o(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}
function i() {
return u["default"].ui.smoothScroller ? void(window.console && console.warn("Avvo.ui.smoothScroller already defined; canceling smoothScroller.init()")) : void(u["default"].ui.smoothScroller = new c(document))
}
Object.defineProperty(t, "__esModule", {
value: !0
});
var a = function() {
function e(e, t) {
for (var n = 0; n < t.length; n++) {
var r = t[n];
r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
}
}
return function(t, n, r) {
return n && e(t.prototype, n), r && e(t, r), t
}
}();
t.init = i;
var s = n(25),
u = r(s),
l = e.jQuery,
c = function() {
function t(e, n) {
var r = this;
o(this, t), this.$element = l(e), this.$element.data("ui.smoothScroller", this), this.settings = l.extend({}, t.DEFAULTS, this.$element.data(), n), this.$element.on("click.ui.smoothScroller", this.settings.anchorSelector, function(e) {
return r.onClick(e)
})
}
return a(t, null, [{
key: "VERSION",
get: function() {
return "1.0.0"
}
}, {
key: "DEFAULTS",
get: function() {
return Object.freeze({
anchorSelector: 'a[href^="#"]',
fastSpeed: 400,
slowSpeed: 600,
adjustScrollCoordinate: void 0
})
}
}]), a(t, [{
key: "destroy",
value: function() {
this.$element.off("click.ui.smoothScroller"), this.$element.removeData("ui.smoothScroller"), u["default"].ui.smoothScroller = void 0
}
}, {
key: "onClick",
value: function(e) {
this.eventShouldTriggerScroll(e) && (e.preventDefault(), this.scrollTo(e.currentTarget.getAttribute("href")))
}
}, {
key: "scrollTo",
value: function(t, n) {
var r = this,
o = this.getScrollTarget(t),
i = this.getScrollCoordinate(o),
a = Math.abs(l(window).scrollTop() - i);
"undefined" == typeof n && (n = a < window.screen.availHeight ? this.settings.slowSpeed : this.settings.fastSpeed);
var s = {
target: o[0],
targetY: i,
distance: a,
speed: n
};
return this.$element.trigger("scrollstart.ui.smoothScroller", s), l("html,body").stop().animate({
scrollTop: i
}, {
duration: n,
easing: "swing"
}).promise().done(function() {
0 == t.indexOf("#") && e.history.replaceState(null, null, t), r.$element.trigger("scrollend.ui.smoothScroller", s)
})
}
}, {
key: "getScrollCoordinate",
value: function(e) {
var t = l(e),
n = t.offset().top - parseInt(t.css("margin-top"));
return this.settings.adjustScrollCoordinate && (n = this.settings.adjustScrollCoordinate(n, t[0])), n
}
}, {
key: "getScrollTarget",
value: function(e) {
if ("#" === e) return l("body");
var t = l(e);
return t.length || 0 !== e.indexOf("#") || (t = l("a[name='" + e.slice(1) + "']")), t
}
}, {
key: "eventShouldTriggerScroll",
value: function(e) {
var t = e.currentTarget.getAttribute("href");
return e.isDefaultPrevented() ? !1 : "#" == t ? !0 : document.querySelector("[id='" + t.slice(1) + "'], a[name='" + t.slice(1) + "']") ? !0 : !1
}
}]), t
}();
t.SmoothScroller = c
}).call(t, function() {
return this
}())
}, function(e, t) {
(function(n) {
"use strict";
Object.defineProperty(t, "__esModule", {
value: !0
}), n.Avvo = n.Avvo || {}, n.Avvo.ui = n.Avvo.ui || {}, t["default"] = Avvo, e.exports = t["default"]
}).call(t, function() {
return this
}())
}, function(e, t) {
(function(e) {
/* ========================================================================
* Avvo UI - alert.js
* ========================================================================
* Forked from Bootstrap alert.js v3.2.0
* http://getbootstrap.com/javascript/#alerts
* ========================================================================
* Copyright 2011-2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
"use strict";
function n(e) {
return this.each(function() {
var t = o(this),
n = t.data("ui.alert");
n || (n = new a(this), t.data("ui.alert", n)), "string" == typeof e && n[e].call(t)
})
}
function r() {
var e = o.fn.alert;
o.fn.alert = n, o.fn.alert.Constructor = a, o.fn.alert.noConflict = function() {
return o.fn.alert = e, this
}, o(document).on("click.ui.alert.data-api", i, a.prototype.close)
}
Object.defineProperty(t, "__esModule", {
value: !0
}), t.init = r;
var o = e.jQuery,
i = '[data-dismiss="alert"]',
a = function(e) {
o(e).on("click", i, this.close)
};
a.VERSION = "4.0.0", a.prototype.close = function(e) {
function t() {
i.detach().trigger("closed.ui.alert").remove()
}
var n = o(this),
r = n.attr("data-target");
r || (r = n.attr("href"));
var i = o(r);
e && e.preventDefault(), i.length || (i = n.hasClass("alert") ? n : n.closest(".alert"));
var a = o.Event("close.ui.alert");
i.trigger(a), a.isDefaultPrevented() || (i.removeClass("in"), o.support.transition ? i.hasClass("fade") ? i.one("uiTransitionEnd", t).emulateTransitionEnd(150) : i.slideUp(200, t) : t())
}
}).call(t, function() {
return this
}())
}, function(e, t) {
(function(e) {
/* ========================================================================
* Avvo UI - collapse.js
* ========================================================================
* Forked from Bootstrap collapse.js v3.3.1
* http://getbootstrap.com/javascript/#collapse
* ========================================================================
* Copyright 2011-2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
"use strict";
function n(e) {
var t = e.attr("data-target") || e.attr("href");
return s(t)
}
function r(e) {
return e.hasClass("in")
}
function o(e) {
return e.offsetHeight
}
function i(e) {
return this.each(function() {
var t = s(this),
n = t.data("ui.collapse"),
r = s.extend({}, u.DEFAULTS, t.data(), "object" == typeof e && e);
!n && r.toggle && "show" === e && (r.toggle = !1), n || (n = new u(this, r), t.data("ui.collapse", n)), "string" == typeof e && n[e]()
})
}
function a() {
var e = s.fn.collapse;
s.fn.collapse = i, s.fn.collapse.Constructor = u, s.fn.collapse.noConflict = function() {
return s.fn.collapse = e, this
}, s(document).on("click.ui.collapse.data-api", '[data-toggle="collapse"]', function(e) {
var t = s(this);
t.attr("data-target") || e.preventDefault();
var r = n(t),
o = r.data("ui.collapse"),
a = o ? "toggle" : s.extend({}, t.data(), {
toggler: this
});
i.call(r, a)
})
}
Object.defineProperty(t, "__esModule", {
value: !0
}), t.init = a;
var s = e.jQuery,
u = function l(e, t) {
this.$element = s(e), this.options = s.extend({}, l.DEFAULTS, t), this.$toggler = s(this.options.toggler).filter('[href="#' + e.id + '"], [data-target="#' + e.id + '"]'), this.transitioning = null, this.togglerContentCollapsed = null, this.togglerContentExpanded = null, this.setTogglerStates(), this.options.parent ? this.$parent = this.getParent() : this.addAriaAndCollapsedClass(this.$element, this.$toggler), this.options.toggle && this.toggle()
};
u.VERSION = "4.0.0", u.TRANSITION_DURATION = 350, u.DEFAULTS = {
parent: null,
toggle: !0,
toggler: '[data-toggle="collapse"]',
toggledText: null
}, u.prototype.dimension = function() {
var e = this.$element.hasClass("width");
return e ? "width" : "height"
}, u.prototype.show = function() {
if (!this.transitioning && !r(this.$element)) {
var e = void 0,
t = this.$parent && this.$parent.find(".in, .collapsing");
if (!(t && t.length && (e = t.data("ui.collapse"), e && e.transitioning))) {
var n = s.Event("show.ui.collapse");
if (this.$element.trigger(n), !n.isDefaultPrevented()) {
t && t.length && (i.call(t, "hide"), e || t.data("ui.collapse", null));
var o = this.dimension();
this.$element.removeClass("collapse").addClass("collapsing")[o](0).attr("aria-expanded", !0), this.$toggler.html(this.togglerContentExpanded).removeClass("collapsed").attr("aria-expanded", !0), this.transitioning = 1;
var a = function() {
this.$element.removeClass("collapsing").addClass("collapse in")[o](""), this.transitioning = 0, this.$element.trigger("shown.ui.collapse")
};
if (!s.support.transition) return a.call(this);
var l = s.camelCase(["scroll", o].join("-"));
this.$element.one("uiTransitionEnd", s.proxy(a, this)).emulateTransitionEnd(u.TRANSITION_DURATION)[o](this.$element[0][l])
}
}
}
}, u.prototype.hide = function() {
if (!this.transitioning && r(this.$element)) {
var e = s.Event("hide.ui.collapse");
if (this.$element.trigger(e), !e.isDefaultPrevented()) {
var t = this.dimension();
this.$element[t](this.$element[t]()), o(this.$element[0]), this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded", !1), this.$toggler.html(this.togglerContentCollapsed).addClass("collapsed").attr("aria-expanded", !1), this.transitioning = 1;
var n = function() {
this.transitioning = 0, this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.ui.collapse")
};
return s.support.transition ? void this.$element[t](0).one("uiTransitionEnd", s.proxy(n, this)).emulateTransitionEnd(u.TRANSITION_DURATION) : n.call(this)
}
}
}, u.prototype.toggle = function() {
var e = r(this.$element) ? "hide" : "show";
this[e]()
}, u.prototype.getParent = function() {
return s(this.options.parent).find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]').each(s.proxy(function(e, t) {
var r = s(t);
this.addAriaAndCollapsedClass(n(r), r)
}, this)).end()
}, u.prototype.addAriaAndCollapsedClass = function(e, t) {
var n = r(e);
e.attr("aria-expanded", n), t.toggleClass("collapsed", !n).attr("aria-expanded", n)
}, u.prototype.setTogglerStates = function() {
var e = !r(this.$element),
t = e ? "togglerContentCollapsed" : "togglerContentExpanded",
n = e ? "togglerContentExpanded" : "togglerContentCollapsed";
this[t] = this.$toggler.html(), this[n] = this.getToggledTogglerContent()
}, u.prototype.getToggledTogglerContent = function() {
return this.$toggler.html() ? this.options.toggledText ? this.options.toggledText : r(this.$element) ? this.$toggler.html().replace("Less", "More").replace("less", "more").replace("icon-chevron-up", "icon-chevron-down") : this.$toggler.html().replace("More", "Less").replace("more", "less").replace("icon-chevron-down", "icon-chevron-up") : ""
}
}).call(t, function() {
return this
}())
}, function(e, t, n) {
"use strict";
function r(e) {
return e && e.__esModule ? e : {
"default": e
}
}
function o(e) {
var t = e.value.length,
n = parseInt(e.attributes.maxlength.value, 10);
return n - t
}
function i(e) {
var t = c["default"]({
id: e.id,
content: o(e)
}),
n = document.createElement("div");
return n.innerHTML = t, n.childNodes[0]
}
function a(e, t) {
e.innerHTML = t
}
function s(e) {
var t = e.parentElement,
n = i(e);
t.insertBefore(n, e.nextSibling), e.addEventListener("input", function(e) {
var t = o(e.target);
a(n, t)
}, !1)
}
function u() {
var e = arguments.length <= 0 || void 0 === arguments[0] ? "[data-character-counter]" : arguments[0],
t = Array.prototype.slice.call(document.querySelectorAll(e));
t.forEach(s)
}
Object.defineProperty(t, "__esModule", {
value: !0
}), t.init = u;
var l = n(29),
c = r(l)
}, function(e, t, n) {
var r = n(30);
e.exports = (r["default"] || r).template({
compiler: [7, ">= 4.0.0"],
main: function(e, t, n, r, o) {
var i, a, s = null != t ? t : {},
u = n.helperMissing,
l = "function";
return '<label class="control-label character-counter" for="' + e.escapeExpression((a = null != (a = n.id || (null != t ? t.id : t)) ? a : u, typeof a === l ? a.call(s, {
name: "id",
hash: {},
data: o
}) : a)) + '">' + (null != (a = null != (a = n.content || (null != t ? t.content : t)) ? a : u, i = typeof a === l ? a.call(s, {
name: "content",
hash: {},
data: o
}) : a) ? i : "") + "</label>"
},
useData: !0
})
}, function(e, t, n) {
e.exports = n(31)["default"]
}, function(e, t, n) {
"use strict";
function r(e) {
return e && e.__esModule ? e : {
"default": e
}
}
function o(e) {
if (e && e.__esModule) return e;
var t = {};
if (null != e)
for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);
return t["default"] = e, t
}
function i() {
var e = new s.HandlebarsEnvironment;
return f.extend(e, s), e.SafeString = l["default"], e.Exception = d["default"], e.Utils = f, e.escapeExpression = f.escapeExpression, e.VM = m, e.template = function(t) {
return m.template(t, e)
}, e
}
t.__esModule = !0;
var a = n(32),
s = o(a),
u = n(46),
l = r(u),
c = n(34),
d = r(c),
p = n(33),
f = o(p),
h = n(47),
m = o(h),
g = n(48),
v = r(g),
y = i();
y.create = i, v["default"](y), y["default"] = y, t["default"] = y, e.exports = t["default"]
}, function(e, t, n) {
"use strict";
function r(e) {
return e && e.__esModule ? e : {
"default": e
}
}
function o(e, t, n) {
this.helpers = e || {}, this.partials = t || {}, this.decorators = n || {}, u.registerDefaultHelpers(this), l.registerDefaultDecorators(this)
}
t.__esModule = !0, t.HandlebarsEnvironment = o;
var i = n(33),
a = n(34),
s = r(a),
u = n(35),
l = n(43),
c = n(45),
d = r(c),
p = "4.0.5";
t.VERSION = p;
var f = 7;
t.COMPILER_REVISION = f;
var h = {
1: "<= 1.0.rc.2",
2: "== 1.0.0-rc.3",
3: "== 1.0.0-rc.4",
4: "== 1.x.x",
5: "== 2.0.0-alpha.x",
6: ">= 2.0.0-beta.1",
7: ">= 4.0.0"
};
t.REVISION_CHANGES = h;
var m = "[object Object]";
o.prototype = {
constructor: o,
logger: d["default"],
log: d["default"].log,
registerHelper: function(e, t) {
if (i.toString.call(e) === m) {
if (t) throw new s["default"]("Arg not supported with multiple helpers");
i.extend(this.helpers, e)
} else this.helpers[e] = t
},
unregisterHelper: function(e) {
delete this.helpers[e]
},
registerPartial: function(e, t) {
if (i.toString.call(e) === m) i.extend(this.partials, e);
else {
if ("undefined" == typeof t) throw new s["default"]('Attempting to register a partial called "' + e + '" as undefined');
this.partials[e] = t
}
},
unregisterPartial: function(e) {
delete this.partials[e]
},
registerDecorator: function(e, t) {
if (i.toString.call(e) === m) {
if (t) throw new s["default"]("Arg not supported with multiple decorators");
i.extend(this.decorators, e)
} else this.decorators[e] = t
},
unregisterDecorator: function(e) {
delete this.decorators[e]
}
};
var g = d["default"].log;
t.log = g, t.createFrame = i.createFrame, t.logger = d["default"]
}, function(e, t) {
"use strict";
function n(e) {
return c[e]
}
function r(e) {
for (var t = 1; t < arguments.length; t++)
for (var n in arguments[t]) Object.prototype.hasOwnProperty.call(arguments[t], n) && (e[n] = arguments[t][n]);
return e
}
function o(e, t) {
for (var n = 0, r = e.length; r > n; n++)
if (e[n] === t) return n;
return -1
}
function i(e) {
if ("string" != typeof e) {
if (e && e.toHTML) return e.toHTML();
if (null == e) return "";
if (!e) return e + "";
e = "" + e
}
return p.test(e) ? e.replace(d, n) : e
}
function a(e) {
return e || 0 === e ? m(e) && 0 === e.length ? !0 : !1 : !0
}
function s(e) {
var t = r({}, e);
return t._parent = e, t
}
function u(e, t) {
return e.path = t, e
}
function l(e, t) {
return (e ? e + "." : "") + t
}
t.__esModule = !0, t.extend = r, t.indexOf = o, t.escapeExpression = i, t.isEmpty = a, t.createFrame = s, t.blockParams = u, t.appendContextPath = l;
var c = {
"&": "&amp;",
"<": "&lt;",
">": "&gt;",
'"': "&quot;",
"'": "&#x27;",
"`": "&#x60;",
"=": "&#x3D;"
},
d = /[&<>"'`=]/g,
p = /[&<>"'`=]/,
f = Object.prototype.toString;
t.toString = f;
var h = function(e) {
return "function" == typeof e
};
h(/x/) && (t.isFunction = h = function(e) {
return "function" == typeof e && "[object Function]" === f.call(e)
}), t.isFunction = h;
var m = Array.isArray || function(e) {
return e && "object" == typeof e ? "[object Array]" === f.call(e) : !1
};
t.isArray = m
}, function(e, t) {
"use strict";
function n(e, t) {
var o = t && t.loc,
i = void 0,
a = void 0;
o && (i = o.start.line, a = o.start.column, e += " - " + i + ":" + a);
for (var s = Error.prototype.constructor.call(this, e), u = 0; u < r.length; u++) this[r[u]] = s[r[u]];
Error.captureStackTrace && Error.captureStackTrace(this, n), o && (this.lineNumber = i, this.column = a)
}
t.__esModule = !0;
var r = ["description", "fileName", "lineNumber", "message", "name", "number", "stack"];
n.prototype = new Error, t["default"] = n, e.exports = t["default"]
}, function(e, t, n) {
"use strict";
function r(e) {
return e && e.__esModule ? e : {
"default": e
}
}
function o(e) {
a["default"](e), u["default"](e), c["default"](e), p["default"](e), h["default"](e), g["default"](e), y["default"](e)
}
t.__esModule = !0, t.registerDefaultHelpers = o;
var i = n(36),
a = r(i),
s = n(37),
u = r(s),
l = n(38),
c = r(l),
d = n(39),
p = r(d),
f = n(40),
h = r(f),
m = n(41),
g = r(m),
v = n(42),
y = r(v)
}, function(e, t, n) {
"use strict";
t.__esModule = !0;
var r = n(33);
t["default"] = function(e) {
e.registerHelper("blockHelperMissing", function(t, n) {
var o = n.inverse,
i = n.fn;
if (t === !0) return i(this);
if (t === !1 || null == t) return o(this);
if (r.isArray(t)) return t.length > 0 ? (n.ids && (n.ids = [n.name]), e.helpers.each(t, n)) : o(this);
if (n.data && n.ids) {
var a = r.createFrame(n.data);
a.contextPath = r.appendContextPath(n.data.contextPath, n.name), n = {
data: a
}
}
return i(t, n)
})
}, e.exports = t["default"]
}, function(e, t, n) {
"use strict";
function r(e) {
return e && e.__esModule ? e : {
"default": e
}
}
t.__esModule = !0;
var o = n(33),
i = n(34),
a = r(i);
t["default"] = function(e) {
e.registerHelper("each", function(e, t) {
function n(t, n, i) {
l && (l.key = t, l.index = n, l.first = 0 === n, l.last = !!i, c && (l.contextPath = c + t)), u += r(e[t], {
data: l,
blockParams: o.blockParams([e[t], t], [c + t, null])
})
}
if (!t) throw new a["default"]("Must pass iterator to #each");
var r = t.fn,
i = t.inverse,
s = 0,
u = "",
l = void 0,
c = void 0;
if (t.data && t.ids && (c = o.appendContextPath(t.data.contextPath, t.ids[0]) + "."), o.isFunction(e) && (e = e.call(this)), t.data && (l = o.createFrame(t.data)), e && "object" == typeof e)
if (o.isArray(e))
for (var d = e.length; d > s; s++) s in e && n(s, s, s === e.length - 1);
else {
var p = void 0;
for (var f in e) e.hasOwnProperty(f) && (void 0 !== p && n(p, s - 1), p = f, s++);
void 0 !== p && n(p, s - 1, !0)
}
return 0 === s && (u = i(this)), u
})
}, e.exports = t["default"]
}, function(e, t, n) {
"use strict";
function r(e) {
return e && e.__esModule ? e : {
"default": e
}
}
t.__esModule = !0;
var o = n(34),
i = r(o);
t["default"] = function(e) {
e.registerHelper("helperMissing", function() {
if (1 === arguments.length) return void 0;
throw new i["default"]('Missing helper: "' + arguments[arguments.length - 1].name + '"')
})
}, e.exports = t["default"]
}, function(e, t, n) {
"use strict";
t.__esModule = !0;
var r = n(33);
t["default"] = function(e) {
e.registerHelper("if", function(e, t) {
return r.isFunction(e) && (e = e.call(this)), !t.hash.includeZero && !e || r.isEmpty(e) ? t.inverse(this) : t.fn(this)
}), e.registerHelper("unless", function(t, n) {
return e.helpers["if"].call(this, t, {
fn: n.inverse,
inverse: n.fn,
hash: n.hash
})
})
}, e.exports = t["default"]
}, function(e, t) {
"use strict";
t.__esModule = !0, t["default"] = function(e) {
e.registerHelper("log", function() {
for (var t = [void 0], n = arguments[arguments.length - 1], r = 0; r < arguments.length - 1; r++) t.push(arguments[r]);
var o = 1;
null != n.hash.level ? o = n.hash.level : n.data && null != n.data.level && (o = n.data.level), t[0] = o, e.log.apply(e, t)
})
}, e.exports = t["default"]
}, function(e, t) {
"use strict";
t.__esModule = !0, t["default"] = function(e) {
e.registerHelper("lookup", function(e, t) {
return e && e[t]
})
}, e.exports = t["default"]
}, function(e, t, n) {
"use strict";
t.__esModule = !0;
var r = n(33);
t["default"] = function(e) {
e.registerHelper("with", function(e, t) {
r.isFunction(e) && (e = e.call(this));
var n = t.fn;
if (r.isEmpty(e)) return t.inverse(this);
var o = t.data;
return t.data && t.ids && (o = r.createFrame(t.data), o.contextPath = r.appendContextPath(t.data.contextPath, t.ids[0])), n(e, {
data: o,
blockParams: r.blockParams([e], [o && o.contextPath])
})
})
}, e.exports = t["default"]
}, function(e, t, n) {
"use strict";
function r(e) {
return e && e.__esModule ? e : {
"default": e
}
}
function o(e) {
a["default"](e)
}
t.__esModule = !0, t.registerDefaultDecorators = o;
var i = n(44),
a = r(i)
}, function(e, t, n) {
"use strict";
t.__esModule = !0;
var r = n(33);
t["default"] = function(e) {
e.registerDecorator("inline", function(e, t, n, o) {
var i = e;
return t.partials || (t.partials = {}, i = function(o, i) {
var a = n.partials;
n.partials = r.extend({}, a, t.partials);
var s = e(o, i);
return n.partials = a, s
}), t.partials[o.args[0]] = o.fn, i
})
}, e.exports = t["default"]
}, function(e, t, n) {
"use strict";
t.__esModule = !0;
var r = n(33),
o = {
methodMap: ["debug", "info", "warn", "error"],
level: "info",
lookupLevel: function(e) {
if ("string" == typeof e) {
var t = r.indexOf(o.methodMap, e.toLowerCase());
e = t >= 0 ? t : parseInt(e, 10)
}
return e
},
log: function(e) {
if (e = o.lookupLevel(e), "undefined" != typeof console && o.lookupLevel(o.level) <= e) {
var t = o.methodMap[e];
console[t] || (t = "log");
for (var n = arguments.length, r = Array(n > 1 ? n - 1 : 0), i = 1; n > i; i++) r[i - 1] = arguments[i];
console[t].apply(console, r)
}
}
};
t["default"] = o, e.exports = t["default"]
}, function(e, t) {
"use strict";
function n(e) {
this.string = e
}
t.__esModule = !0, n.prototype.toString = n.prototype.toHTML = function() {
return "" + this.string
}, t["default"] = n, e.exports = t["default"]
}, function(e, t, n) {
"use strict";
function r(e) {
return e && e.__esModule ? e : {
"default": e
}
}
function o(e) {
if (e && e.__esModule) return e;
var t = {};
if (null != e)
for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);
return t["default"] = e, t
}
function i(e) {
var t = e && e[0] || 1,
n = v.COMPILER_REVISION;
if (t !== n) {
if (n > t) {
var r = v.REVISION_CHANGES[n],
o = v.REVISION_CHANGES[t];
throw new g["default"]("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version (" + r + ") or downgrade your runtime to an older version (" + o + ").")
}
throw new g["default"]("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version (" + e[1] + ").")
}
}
function a(e, t) {
function n(n, r, o) {
o.hash && (r = h.extend({}, r, o.hash), o.ids && (o.ids[0] = !0)), n = t.VM.resolvePartial.call(this, n, r, o);
var i = t.VM.invokePartial.call(this, n, r, o);
if (null == i && t.compile && (o.partials[o.name] = t.compile(n, e.compilerOptions, t), i = o.partials[o.name](r, o)), null != i) {
if (o.indent) {
for (var a = i.split("\n"), s = 0, u = a.length; u > s && (a[s] || s + 1 !== u); s++) a[s] = o.indent + a[s];
i = a.join("\n")
}
return i
}
throw new g["default"]("The partial " + o.name + " could not be compiled when running in runtime-only mode")
}
function r(t) {
function n(t) {
return "" + e.main(o, t, o.helpers, o.partials, a, u, s)
}
var i = arguments.length <= 1 || void 0 === arguments[1] ? {} : arguments[1],
a = i.data;
r._setup(i), !i.partial && e.useData && (a = d(t, a));
var s = void 0,
u = e.useBlockParams ? [] : void 0;
return e.useDepths && (s = i.depths ? t !== i.depths[0] ? [t].concat(i.depths) : i.depths : [t]), (n = p(e.main, n, o, i.depths || [], a, u))(t, i)
}
if (!t) throw new g["default"]("No environment passed to template");
if (!e || !e.main) throw new g["default"]("Unknown template object: " + typeof e);
e.main.decorator = e.main_d, t.VM.checkRevision(e.compiler);
var o = {
strict: function(e, t) {
if (!(t in e)) throw new g["default"]('"' + t + '" not defined in ' + e);
return e[t]
},
lookup: function(e, t) {
for (var n = e.length, r = 0; n > r; r++)
if (e[r] && null != e[r][t]) return e[r][t]
},
lambda: function(e, t) {
return "function" == typeof e ? e.call(t) : e
},
escapeExpression: h.escapeExpression,
invokePartial: n,
fn: function(t) {
var n = e[t];
return n.decorator = e[t + "_d"], n
},
programs: [],
program: function(e, t, n, r, o) {
var i = this.programs[e],
a = this.fn(e);
return t || o || r || n ? i = s(this, e, a, t, n, r, o) : i || (i = this.programs[e] = s(this, e, a)), i
},
data: function(e, t) {
for (; e && t--;) e = e._parent;
return e
},
merge: function(e, t) {
var n = e || t;
return e && t && e !== t && (n = h.extend({}, t, e)), n
},
noop: t.VM.noop,
compilerInfo: e.compiler
};
return r.isTop = !0, r._setup = function(n) {
n.partial ? (o.helpers = n.helpers, o.partials = n.partials, o.decorators = n.decorators) : (o.helpers = o.merge(n.helpers, t.helpers), e.usePartial && (o.partials = o.merge(n.partials, t.partials)), (e.usePartial || e.useDecorators) && (o.decorators = o.merge(n.decorators, t.decorators)))
}, r._child = function(t, n, r, i) {
if (e.useBlockParams && !r) throw new g["default"]("must pass block params");
if (e.useDepths && !i) throw new g["default"]("must pass parent depths");
return s(o, t, e[t], n, 0, r, i)
}, r
}
function s(e, t, n, r, o, i, a) {
function s(t) {
var o = arguments.length <= 1 || void 0 === arguments[1] ? {} : arguments[1],
s = a;
return a && t !== a[0] && (s = [t].concat(a)), n(e, t, e.helpers, e.partials, o.data || r, i && [o.blockParams].concat(i), s)
}
return s = p(n, s, e, a, r, i), s.program = t, s.depth = a ? a.length : 0, s.blockParams = o || 0, s
}
function u(e, t, n) {
return e ? e.call || n.name || (n.name = e, e = n.partials[e]) : e = "@partial-block" === n.name ? n.data["partial-block"] : n.partials[n.name], e
}
function l(e, t, n) {
n.partial = !0, n.ids && (n.data.contextPath = n.ids[0] || n.data.contextPath);
var r = void 0;
if (n.fn && n.fn !== c && (n.data = v.createFrame(n.data), r = n.data["partial-block"] = n.fn, r.partials && (n.partials = h.extend({}, n.partials, r.partials))), void 0 === e && r && (e = r), void 0 === e) throw new g["default"]("The partial " + n.name + " could not be found");
return e instanceof Function ? e(t, n) : void 0
}
function c() {
return ""
}
function d(e, t) {
return t && "root" in t || (t = t ? v.createFrame(t) : {}, t.root = e), t
}
function p(e, t, n, r, o, i) {
if (e.decorator) {
var a = {};
t = e.decorator(t, a, n, r && r[0], o, i, r), h.extend(t, a)
}
return t
}
t.__esModule = !0, t.checkRevision = i, t.template = a, t.wrapProgram = s, t.resolvePartial = u, t.invokePartial = l, t.noop = c;
var f = n(33),
h = o(f),
m = n(34),
g = r(m),
v = n(32)
}, function(e, t) {
(function(n) {
"use strict";
t.__esModule = !0, t["default"] = function(e) {
var t = "undefined" != typeof n ? n : window,
r = t.Handlebars;
e.noConflict = function() {
return t.Handlebars === e && (t.Handlebars = r), e
}
}, e.exports = t["default"]
}).call(t, function() {
return this
}())
}, function(e, t) {
(function(e) {
/* ========================================================================
* Avvo UI - dropdown.js
* ========================================================================
* Forked from Bootstrap dropdown.js v3.3.1
* http://getbootstrap.com/javascript/#dropdowns
* ========================================================================
* Copyright 2011-2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
"use strict";
function n(e) {
e && 3 === e.which || (a(s).remove(), a(u).each(function() {
var e = a(this),
t = r(e),
n = {
relatedTarget: this
};
if (t.hasClass("open")) {
var o = a.Event("hide.ui.dropdown", n);
t.trigger(o), o.isDefaultPrevented() || (e.attr("aria-expanded", "false"), t.removeClass("open").trigger("hidden.ui.dropdown", n))
}
}))
}
function r(e) {
var t = e.attr("data-target"),
n = e.attr("href");
!t && /#[A-Za-z]/.test(n) && (t = n.replace(/.*(?=#[^\s]*$)/, ""));
var r = t && a(t);
return r && r.length ? r : e.parent()
}
function o(e) {
return this.each(function() {
var t = a(this),
n = t.data("ui.dropdown");
n || (n = new l(this), t.data("ui.dropdown", n)), "string" == typeof e && n[e].call(t)
})
}
function i() {
var e = a.fn.dropdown;
a.fn.dropdown = o, a.fn.dropdown.Constructor = l, a.fn.dropdown.noConflict = function() {
return a.fn.dropdown = e, this
}, a(document).on("click.ui.dropdown.data-api", n).on("click.ui.dropdown.data-api", ".dropdown form", function(e) {
e.stopPropagation()
}).on("click.ui.dropdown.data-api", u, l.prototype.toggle).on("keydown.ui.dropdown.data-api", u, l.prototype.keydown).on("keydown.ui.dropdown.data-api", '[role="menu"]', l.prototype.keydown).on("keydown.ui.dropdown.data-api", '[role="listbox"]', l.prototype.keydown)
}
Object.defineProperty(t, "__esModule", {
value: !0
}), t.init = i;
var a = e.jQuery,
s = ".dropdown-backdrop",
u = '[data-toggle="dropdown"]',
l = function(e) {
a(e).on("click.ui.dropdown", this.toggle)
};
l.VERSION = "4.0.0", l.prototype.toggle = function() {
var e = a(this);
if (!e.is(".disabled, :disabled")) {
var t = r(e),
o = t.hasClass("open");
if (n(), !o) {
"ontouchstart" in document.documentElement && a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click", n);
var i = {
relatedTarget: this
},
s = a.Event("show.ui.dropdown", i);
if (t.trigger(s), s.isDefaultPrevented()) return;
e.trigger("focus").attr("aria-expanded", "true"), t.toggleClass("open").trigger("shown.ui.dropdown", i)
}
return !1
}
}, l.prototype.keydown = function(e) {
if (/(38|40|27|32)/.test(e.which) && !/input|textarea/i.test(e.target.tagName)) {
var t = a(this);
if (e.preventDefault(), e.stopPropagation(), !t.is(".disabled, :disabled")) {
var n = r(t),
o = n.hasClass("open");
if (!o && 27 !== e.which || o && 27 === e.which) return 27 === e.which && n.find(u).trigger("focus"), t.trigger("click");
var i = " li:not(.divider):visible a",
s = n.find('[role="menu"]' + i + ', [role="listbox"]' + i);
if (s.length) {
var l = s.index(e.target);
38 === e.which && l > 0 && l--, 40 === e.which && l < s.length - 1 && l++, ~l || (l = 0), s.eq(l).trigger("focus")
}
}
}
}
}).call(t, function() {
return this
}())
}, function(e, t) {
(function(e) {
"use strict";
function n() {
r(document).on("ready.ui.responsive-overflow-table, init.ui.responsive-overflow-table", function() {
r(".table-responsive-overflow").each(function() {
var e = r(this),
t = e.data("ui.responsive-overflow-table");
t || e.data("ui.responsive-overflow-table", new o(this))
})
})
}
Object.defineProperty(t, "__esModule", {
value: !0
}), t.init = n;
var r = e.jQuery,
o = function(e) {
this.$element = r(e), this.$table = this.$element.find(".table").clone(), this.$caption = this.getCaption(), this.$footer = this.getFooter(), this.$fixedColumn = this.getFixedColumn(), this.render()
};
o.prototype.getCaption = function() {
if (this.$table.find("caption").length) {
var e = r("<div>"),
t = this.$table.clone();
return t.children(":not(caption)").remove(), e.append(t).addClass("table-responsive-overflow-caption").attr("aria-hidden", !0), e
}
}, o.prototype.getFooter = function() {
if (this.$table.find("tfoot").length) {
var e = r("<div>"),
t = this.$table.clone();
return t.children(":not(tfoot)").remove(), e.append(t).addClass("table-responsive-overflow-tfoot").attr("aria-hidden", !0), e
}
}, o.prototype.getFixedColumn = function() {
if (this.$table.find("tbody tr th:first-child").length) {
var e = this.$element.closest('[class*="u-bg-"], body').css("background-color"),
t = r("<div>").addClass("table-responsive-overflow-fixed-column").attr("aria-hidden", !0).css("background-color", e),
n = this.$table.clone();
return n.children("caption, tfoot").remove(), n.find("th:not(:first-child),td:not(:first-child)").remove(), t.append(n), t
}
}, o.prototype.render = function() {
var e = r("<div>").addClass("table-responsive-overflow-wrapper"),
t = r("<div>").addClass("table-responsive-overflow-scrollable");
t.append(this.$table), t.find("tbody tr").first().append("<td class=table-responsive-overflow-spacer>&nbsp;</td>"), e.append(t).append(this.$fixedColumn), this.$element.html([this.$caption, e, this.$footer]), this.$fixedColumn && this.$element.addClass("has-fixed-column")
}
}).call(t, function() {
return this
}())
}, function(e, t, n) {
(function(e) {
"use strict";
function r(e) {
var t = e.css("line-height"),
n = parseFloat(t),
r = /^\d*\.?\d*$/.test(t);
return r && (n *= parseFloat(e.css("font-size"))), Math.ceil(n)
}
function o(e) {
return e.offsetHeight
}
function i(e) {
return this.each(function() {
var t = s(this),
n = t.data("ui.truncate"),
r = s.extend({}, p.DEFAULTS, t.data(), "object" == typeof e && e);
"" === r.truncateLines && (r.truncateLines = p.DEFAULTS.truncateLines), n || t.data("ui.truncate", n = new p(this, r)), "string" == typeof e && n[e]()
})
}
function a() {
var e = s.fn.truncate;
s.fn.truncate = i, s.fn.truncate.Constructor = p, s.fn.truncate.noConflict = function() {
return s.fn.truncate = e, this
}, u.on("load.ui.truncate.data-api, init.ui.truncate.data-api", function() {
i.call(s(p.TRUNCATE_SELECTOR))
}), l.on("click.ui.truncate.data-api", p.TOGGLE_SELECTOR, function(e) {
e.preventDefault();
var t = s(this),
n = s(t.data("target"));
i.call(n, "toggle")
}), u.on("resize.ui.truncate.data-api", function() {
clearTimeout(c), c = setTimeout(function() {
u.width() !== d && (d = u.width(), i.call(s(p.TRUNCATE_SELECTOR), "render"))
}, p.WINDOW_RESIZE_DELAY)
})
}
Object.defineProperty(t, "__esModule", {
value: !0
}), t.init = a, n(52);
var s = e.jQuery,
u = s(window),
l = s(document),
c = void 0,
d = u.width(),
p = function f(e, t) {
this.$element = s(e), this.options = s.extend({}, f.DEFAULTS, t), this.$toggler = s(f.TOGGLE_SELECTOR).filter('[data-target="#' + e.id + '"]'), this.$toggler.attr("aria-controls", e.id), this.options.expandLabel = this.options.expandLabel || this.$toggler.html(), this.transitioning = null, this.render()
};
p.VERSION = "1.1.0", p.TRUNCATE_SELECTOR = "[data-truncate-lines]", p.TOGGLE_SELECTOR = '[data-toggle="truncate"]', p.TRANSITION_DURATION = 350, p.WINDOW_RESIZE_DELAY = 100, p.DEFAULTS = {
toleranceLines: 2,
truncateLines: 3,
truncateLabel: "Less",
expandLabel: void 0
}, p.prototype.render = function() {
this.calculateHeights(), this.needsTruncation ? (this.$toggler.show(), this.$element.hasClass("is-truncated") ? this.truncate({
animate: !1
}) : this.expand({
animate: !1
})) : (this.$toggler.hide(), this.$element.css("height", ""))
}, p.prototype.calculateHeights = function() {
var e = r(this.$element);
this.$element.hasClass("is-truncated") && this.$element.trigger("destroy.dot"), this.expandedHeight = this.$element[0].scrollHeight, this.truncatedHeight = this.options.truncateLines * e, this.needsTruncation = this.truncatedHeight < this.expandedHeight - this.options.toleranceLines * e
}, p.prototype.truncate = function(e) {
if (!this.transitioning) {
e = s.extend({
animate: !0
}, e);
var t = s.Event("truncate.ui.truncate");
if (this.$element.trigger(t), !t.isDefaultPrevented()) {
e.animate && (this.$element.height(this.$element.height()), o(this.$element[0]), this.$element.addClass("truncating")), this.$element.attr("aria-expanded", !1), this.$toggler.attr("aria-expanded", !1).trigger("blur"), this.transitioning = !0;
var n = function() {
this.$element.addClass("is-truncated").dotdotdot().height("").removeClass("truncating"), this.$toggler.html(this.options.expandLabel), this.transitioning = !1, this.$element.trigger("truncated.ui.truncate")
};
return this.$element.height(this.truncatedHeight), s.support.transition ? void this.$element.one("uiTransitionEnd", s.proxy(n, this)).emulateTransitionEnd(e.animate ? p.TRANSITION_DURATION : 0) : n.call(this)
}
}
}, p.prototype.expand = function(e) {
if (!this.transitioning) {
e = s.extend({
animate: !0
}, e);
var t = s.Event("expand.ui.truncate");
if (this.$element.trigger(t), !t.isDefaultPrevented()) {
e.animate && (this.truncatedHeight = this.$element.css("overflow", "auto").outerHeight(!0), this.$element.height(this.truncatedHeight), o(this.$element[0]), this.$element.addClass("truncating")), this.$element.removeClass("is-truncated").trigger("destroy.dot"), this.$toggler.trigger("blur"), this.transitioning = !0;
var n = function() {
this.$element.height("").removeClass("truncating").attr("aria-expanded", !0), this.$toggler.html(this.options.truncateLabel).attr("aria-expanded", !0), this.transitioning = !1, this.$element.trigger("expanded.ui.truncate")
};
return this.$element.height(this.expandedHeight), s.support.transition ? void this.$element.one("uiTransitionEnd", s.proxy(n, this)).emulateTransitionEnd(e.animate ? p.TRANSITION_DURATION : 0) : n.call(this)
}
}
}, p.prototype.toggle = function() {
var e = this.$element.hasClass("is-truncated") ? "expand" : "truncate";
this[e]()
}
}).call(t, function() {
return this
}())
}, function() {
/*
* jQuery dotdotdot 1.7.0
*
* Copyright (c) Fred Heusschen
* www.frebsite.nl
*
* Plugin website:
* dotdotdot.frebsite.nl
*
* Licensed under the MIT license.
* http://en.wikipedia.org/wiki/MIT_License
*/
! function(e, t) {
function n(e, t, n) {
var r = e.children(),
o = !1;
e.empty();
for (var a = 0, s = r.length; s > a; a++) {
var u = r.eq(a);
if (e.append(u), n && e.append(n), i(e, t)) {
u.remove(), o = !0;
break
}
n && n.detach()
}
return o
}
function r(t, n, a, s, u) {
var l = !1,
c = "table, thead, tbody, tfoot, tr, col, colgroup, object, embed, param, ol, ul, dl, blockquote, select, optgroup, option, textarea, script, style",
d = "script, .dotdotdot-keep";
return t.contents().detach().each(function() {
var p = this,
f = e(p);
if ("undefined" == typeof p || 3 == p.nodeType && 0 == e.trim(p.data).length) return !0;
if (f.is(d)) t.append(f);
else {
if (l) return !0;
t.append(f), u && t[t.is(c) ? "after" : "append"](u), i(a, s) && (l = 3 == p.nodeType ? o(f, n, a, s, u) : r(f, n, a, s, u), l || (f.detach(), l = !0)), l || u && u.detach()
}
}), l
}
function o(t, n, r, o, s) {
var c = t[0];
if (!c) return !1;
var p = l(c),
f = -1 !== p.indexOf(" ") ? " " : "\u3000",
h = "letter" == o.wrap ? "" : f,
m = p.split(h),
g = -1,
v = -1,
y = 0,
b = m.length - 1;
for (o.fallbackToLetter && 0 == y && 0 == b && (h = "", m = p.split(h), b = m.length - 1); b >= y && (0 != y || 0 != b);) {
var _ = Math.floor((y + b) / 2);
if (_ == v) break;
v = _, u(c, m.slice(0, v + 1).join(h) + o.ellipsis), i(r, o) ? (b = v, o.fallbackToLetter && 0 == y && 0 == b && (h = "", m = m[0].split(h), g = -1, v = -1, y = 0, b = m.length - 1)) : (g = v, y = v)
}
if (-1 == g || 1 == m.length && 0 == m[0].length) {
var w = t.parent();
t.detach();
var C = s && s.closest(w).length ? s.length : 0;
w.contents().length > C ? c = d(w.contents().eq(-1 - C), n) : (c = d(w, n, !0), C || w.detach()), c && (p = a(l(c), o), u(c, p), C && s && e(c).parent().append(s))
} else p = a(m.slice(0, g + 1).join(h), o), u(c, p);
return !0
}
function i(e, t) {
return e.innerHeight() > t.maxHeight
}
function a(t, n) {
for (; e.inArray(t.slice(-1), n.lastCharacter.remove) > -1;) t = t.slice(0, -1);
return e.inArray(t.slice(-1), n.lastCharacter.noEllipsis) < 0 && (t += n.ellipsis), t
}
function s(e) {
return {
width: e.innerWidth(),
height: e.innerHeight()
}
}
function u(e, t) {
e.innerText ? e.innerText = t : e.nodeValue ? e.nodeValue = t : e.textContent && (e.textContent = t)
}
function l(e) {
return e.innerText ? e.innerText : e.nodeValue ? e.nodeValue : e.textContent ? e.textContent : ""
}
function c(e) {
do e = e.previousSibling; while (e && 1 !== e.nodeType && 3 !== e.nodeType);
return e
}
function d(t, n, r) {
var o, i = t && t[0];
if (i) {
if (!r) {
if (3 === i.nodeType) return i;
if (e.trim(t.text())) return d(t.contents().last(), n)
}
for (o = c(i); !o;) {
if (t = t.parent(), t.is(n) || !t.length) return !1;
o = c(t[0])
}
if (o) return d(e(o), n)
}
return !1
}
function p(t, n) {
return t ? "string" == typeof t ? (t = e(t, n), t.length ? t : !1) : t.jquery ? t : !1 : !1
}
function f(e) {
for (var t = e.innerHeight(), n = ["paddingTop", "paddingBottom"], r = 0, o = n.length; o > r; r++) {
var i = parseInt(e.css(n[r]), 10);
isNaN(i) && (i = 0), t -= i
}
return t
}
if (!e.fn.dotdotdot) {
e.fn.dotdotdot = function(t) {
if (0 == this.length) return e.fn.dotdotdot.debug('No element found for "' + this.selector + '".'), this;
if (this.length > 1) return this.each(function() {
e(this).dotdotdot(t)
});
var o = this;
o.data("dotdotdot") && o.trigger("destroy.dot"), o.data("dotdotdot-style", o.attr("style") || ""), o.css("word-wrap", "break-word"), "nowrap" === o.css("white-space") && o.css("white-space", "normal"), o.bind_events = function() {
return o.bind("update.dot", function(t, s) {
t.preventDefault(), t.stopPropagation(), u.maxHeight = "number" == typeof u.height ? u.height : f(o), u.maxHeight += u.tolerance, "undefined" != typeof s && (("string" == typeof s || s instanceof HTMLElement) && (s = e("<div />").append(s).contents()), s instanceof e && (a = s)), m = o.wrapInner('<div class="dotdotdot" />').children(), m.contents().detach().end().append(a.clone(!0)).find("br").replaceWith(" <br /> ").end().css({
height: "auto",
width: "auto",
border: "none",
padding: 0,
margin: 0
});
var c = !1,
d = !1;
return l.afterElement && (c = l.afterElement.clone(!0), c.show(), l.afterElement.detach()), i(m, u) && (d = "children" == u.wrap ? n(m, u, c) : r(m, o, m, u, c)), m.replaceWith(m.contents()), m = null, e.isFunction(u.callback) && u.callback.call(o[0], d, a), l.isTruncated = d, d
}).bind("isTruncated.dot", function(e, t) {
return e.preventDefault(), e.stopPropagation(), "function" == typeof t && t.call(o[0], l.isTruncated), l.isTruncated
}).bind("originalContent.dot", function(e, t) {
return e.preventDefault(), e.stopPropagation(), "function" == typeof t && t.call(o[0], a), a
}).bind("destroy.dot", function(e) {
e.preventDefault(), e.stopPropagation(), o.unwatch().unbind_events().contents().detach().end().append(a).attr("style", o.data("dotdotdot-style") || "").data("dotdotdot", !1)
}), o
}, o.unbind_events = function() {
return o.unbind(".dot"), o
}, o.watch = function() {
if (o.unwatch(), "window" == u.watch) {
var t = e(window),
n = t.width(),
r = t.height();
t.bind("resize.dot" + l.dotId, function() {
n == t.width() && r == t.height() && u.windowResizeFix || (n = t.width(), r = t.height(), d && clearInterval(d), d = setTimeout(function() {
o.trigger("update.dot")
}, 100))
})
} else c = s(o), d = setInterval(function() {
if (o.is(":visible")) {
var e = s(o);
(c.width != e.width || c.height != e.height) && (o.trigger("update.dot"), c = e)
}
}, 500);
return o
}, o.unwatch = function() {
return e(window).unbind("resize.dot" + l.dotId), d && clearInterval(d), o
};
var a = o.contents(),
u = e.extend(!0, {}, e.fn.dotdotdot.defaults, t),
l = {},
c = {},
d = null,
m = null;
return u.lastCharacter.remove instanceof Array || (u.lastCharacter.remove = e.fn.dotdotdot.defaultArrays.lastCharacter.remove), u.lastCharacter.noEllipsis instanceof Array || (u.lastCharacter.noEllipsis = e.fn.dotdotdot.defaultArrays.lastCharacter.noEllipsis), l.afterElement = p(u.after, o), l.isTruncated = !1, l.dotId = h++, o.data("dotdotdot", !0).bind_events().trigger("update.dot"), u.watch && o.watch(), o
}, e.fn.dotdotdot.defaults = {
ellipsis: "... ",
wrap: "word",
fallbackToLetter: !0,
lastCharacter: {},
tolerance: 0,
callback: null,
after: null,
height: null,
watch: !1,
windowResizeFix: !0
}, e.fn.dotdotdot.defaultArrays = {
lastCharacter: {
remove: [" ", "\u3000", ",", ";", ".", "!", "?"],
noEllipsis: []
}
}, e.fn.dotdotdot.debug = function() {};
var h = 1,
m = e.fn.html;
e.fn.html = function(n) {
return n != t && !e.isFunction(n) && this.data("dotdotdot") ? this.trigger("update", [n]) : m.apply(this, arguments)
};
var g = e.fn.text;
e.fn.text = function(n) {
return n != t && !e.isFunction(n) && this.data("dotdotdot") ? (n = e("<div />").text(n).html(), this.trigger("update", [n])) : g.apply(this, arguments)
}
}
}(jQuery)
}, function(e, t, n) {
(function(e) {
"use strict";
function r(e) {
return e && e.__esModule ? e : {
"default": e
}
}
function o(e) {
function t(e) {
var t = m("[" + d["default"].comment + '="' + n + '"]').eq(0);
t.on("click", function() {
o.className = o.className.replace(/\s?hidden/gi, ""), e()
})
}
var n = e.getAttribute(d["default"].answer),
r = e.querySelectorAll("[" + d["default"].form + '="' + n + '"]')[0],
o = e.querySelectorAll("[" + d["default"].list + '="' + n + '"]')[0],
i = e.querySelectorAll("[" + d["default"].count + '="' + n + '"]')[0];
n && l["default"].render(l["default"].createElement(f["default"], {
answerId: n,
url: "/answers/" + n + "/comments",
commentCount: i,
commentList: o,
onMount: t
}), r)
}
function i(e) {
for (var t = 0, n = e.length; n > t; ++t) o(e[t])
}
function a(e) {
for (var t = 0, n = e.length; n > t; ++t) {
var r = m("[" + d["default"].helpful + '="' + e[t] + '"]');
if (r.length) {
var o = r.attr("href");
r.addClass("btn-secondary"), r.attr("href", o.replace(/vote$/, "undo_vote"))
}
}
}
function s() {
var e = Array.prototype.slice.call(document.querySelectorAll("[" + d["default"].question + "]"));
if (e.length) {
var t = e[0].getAttribute(d["default"].question),
n = Array.prototype.slice.call(document.querySelectorAll("[" + d["default"].answer + "]"));
m.ajax({
url: "/questions/" + t + "/user_action_permissions",
dataType: "json",
type: "GET",
success: function(e) {
var t = m("[" + d["default"].comment + "]"),
r = m("[" + d["default"].form + "]"),
o = m("[" + d["default"].best + "]"),
s = m("[" + d["default"].edit + "]");
a(e.voted_on_answers), e.add_comment ? (r.removeClass("hidden"), i(n)) : t.remove(), e.mark_as_best ? o.removeClass("hidden") : o.remove(), e.edit_in_shed ? (s.attr("href", e.shed_edit_path), s.text("Edit in shed"), s.removeClass("hidden")) : s.remove()
},
error: function() {}
})
}
}
Object.defineProperty(t, "__esModule", {
value: !0
}), t.init = s;
var u = n(54),
l = r(u),
c = n(210),
d = r(c),
p = n(211),
f = r(p),
h = n(218),
m = (r(h), e.jQuery)
}).call(t, function() {
return this
}())
}, function(e, t, n) {
e.exports = n(55)
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule React
*/
"use strict";
var r = n(57),
o = n(61),
i = n(75),
a = n(90),
s = n(65),
u = n(70),
l = n(64),
c = n(85),
d = n(93),
p = n(95),
f = n(144),
h = n(72),
m = n(120),
g = n(81),
v = n(175),
y = n(82),
b = n(207),
_ = n(66),
w = n(164),
C = n(209);
f.inject();
var E = l.createElement,
x = l.createFactory,
k = l.cloneElement;
"production" !== t.env.NODE_ENV && (E = c.createElement, x = c.createFactory, k = c.cloneElement);
var S = g.measure("React", "render", m.render),
T = {
Children: {
map: o.map,
forEach: o.forEach,
count: o.count,
only: C
},
Component: i,
DOM: d,
PropTypes: v,
initializeTouchEvents: function(e) {
r.useTouchEvents = e
},
createClass: a.createClass,
createElement: E,
cloneElement: k,
createFactory: x,
createMixin: function(e) {
return e
},
constructAndRenderComponent: m.constructAndRenderComponent,
constructAndRenderComponentByID: m.constructAndRenderComponentByID,
findDOMNode: w,
render: S,
renderToString: b.renderToString,
renderToStaticMarkup: b.renderToStaticMarkup,
unmountComponentAtNode: m.unmountComponentAtNode,
isValidElement: l.isValidElement,
withContext: s.withContext,
__spread: _
};
if ("undefined" != typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" == typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject && __REACT_DEVTOOLS_GLOBAL_HOOK__.inject({
CurrentOwner: u,
InstanceHandles: h,
Mount: m,
Reconciler: y,
TextComponent: p
}), "production" !== t.env.NODE_ENV) {
var D = n(104);
if (D.canUseDOM && window.top === window.self) {
navigator.userAgent.indexOf("Chrome") > -1 && "undefined" == typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && console.debug("Download the React DevTools for a better development experience: https://fb.me/react-devtools");
for (var N = [Array.isArray, Array.prototype.every, Array.prototype.forEach, Array.prototype.indexOf, Array.prototype.map, Date.now, Function.prototype.bind, Object.keys, String.prototype.split, String.prototype.trim, Object.create, Object.freeze], O = 0; O < N.length; O++)
if (!N[O]) {
console.error("One or more ES5 shim/shams expected by React are not available: https://fb.me/react-warning-polyfills");
break
}
}
}
T.version = "0.13.3", e.exports = T
}).call(t, n(56))
}, function(e) {
function t() {
c && u && (c = !1, u.length ? l = u.concat(l) : d = -1, l.length && n())
}
function n() {
if (!c) {
var e = i(t);
c = !0;
for (var n = l.length; n;) {
for (u = l, l = []; ++d < n;) u && u[d].run();
d = -1, n = l.length
}
u = null, c = !1, a(e)
}
}
function r(e, t) {
this.fun = e, this.array = t
}
function o() {}
var i, a, s = e.exports = {};
! function() {
try {
i = setTimeout
} catch (e) {
i = function() {
throw new Error("setTimeout is not defined")
}
}
try {
a = clearTimeout
} catch (e) {
a = function() {
throw new Error("clearTimeout is not defined")
}
}
}();
var u, l = [],
c = !1,
d = -1;
s.nextTick = function(e) {
var t = new Array(arguments.length - 1);
if (arguments.length > 1)
for (var o = 1; o < arguments.length; o++) t[o - 1] = arguments[o];
l.push(new r(e, t)), 1 !== l.length || c || i(n, 0)
}, r.prototype.run = function() {
this.fun.apply(null, this.array)
}, s.title = "browser", s.browser = !0, s.env = {}, s.argv = [], s.version = "", s.versions = {}, s.on = o, s.addListener = o, s.once = o, s.off = o, s.removeListener = o, s.removeAllListeners = o, s.emit = o, s.binding = function() {
throw new Error("process.binding is not supported")
}, s.cwd = function() {
return "/"
}, s.chdir = function() {
throw new Error("process.chdir is not supported")
}, s.umask = function() {
return 0
}
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule EventPluginUtils
*/
"use strict";
function r(e) {
return e === v.topMouseUp || e === v.topTouchEnd || e === v.topTouchCancel
}
function o(e) {
return e === v.topMouseMove || e === v.topTouchMove
}
function i(e) {
return e === v.topMouseDown || e === v.topTouchStart
}
function a(e, n) {
var r = e._dispatchListeners,
o = e._dispatchIDs;
if ("production" !== t.env.NODE_ENV && f(e), Array.isArray(r))
for (var i = 0; i < r.length && !e.isPropagationStopped(); i++) n(e, r[i], o[i]);
else r && n(e, r, o)
}
function s(e, t, n) {
e.currentTarget = g.Mount.getNode(n);
var r = t(e, n);
return e.currentTarget = null, r
}
function u(e, t) {
a(e, t), e._dispatchListeners = null, e._dispatchIDs = null
}
function l(e) {
var n = e._dispatchListeners,
r = e._dispatchIDs;
if ("production" !== t.env.NODE_ENV && f(e), Array.isArray(n)) {
for (var o = 0; o < n.length && !e.isPropagationStopped(); o++)
if (n[o](e, r[o])) return r[o]
} else if (n && n(e, r)) return r;
return null
}
function c(e) {
var t = l(e);
return e._dispatchIDs = null, e._dispatchListeners = null, t
}
function d(e) {
"production" !== t.env.NODE_ENV && f(e);
var n = e._dispatchListeners,
r = e._dispatchIDs;
"production" !== t.env.NODE_ENV ? m(!Array.isArray(n), "executeDirectDispatch(...): Invalid `event`.") : m(!Array.isArray(n));
var o = n ? n(e, r) : null;
return e._dispatchListeners = null, e._dispatchIDs = null, o
}
function p(e) {
return !!e._dispatchListeners
}
var f, h = n(58),
m = n(60),
g = {
Mount: null,
injectMount: function(e) {
g.Mount = e, "production" !== t.env.NODE_ENV && ("production" !== t.env.NODE_ENV ? m(e && e.getNode, "EventPluginUtils.injection.injectMount(...): Injected Mount module is missing getNode.") : m(e && e.getNode))
}
},
v = h.topLevelTypes;
"production" !== t.env.NODE_ENV && (f = function(e) {
var n = e._dispatchListeners,
r = e._dispatchIDs,
o = Array.isArray(n),
i = Array.isArray(r),
a = i ? r.length : r ? 1 : 0,
s = o ? n.length : n ? 1 : 0;
"production" !== t.env.NODE_ENV ? m(i === o && a === s, "EventPluginUtils: Invalid `event`.") : m(i === o && a === s)
});
var y = {
isEndish: r,
isMoveish: o,
isStartish: i,
executeDirectDispatch: d,
executeDispatch: s,
executeDispatchesInOrder: u,
executeDispatchesInOrderStopAtTrue: c,
hasDispatches: p,
injection: g,
useTouchEvents: !1
};
e.exports = y
}).call(t, n(56))
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule EventConstants
*/
"use strict";
var r = n(59),
o = r({
bubbled: null,
captured: null
}),
i = r({
topBlur: null,
topChange: null,
topClick: null,
topCompositionEnd: null,
topCompositionStart: null,
topCompositionUpdate: null,
topContextMenu: null,
topCopy: null,
topCut: null,
topDoubleClick: null,
topDrag: null,
topDragEnd: null,
topDragEnter: null,
topDragExit: null,
topDragLeave: null,
topDragOver: null,
topDragStart: null,
topDrop: null,
topError: null,
topFocus: null,
topInput: null,
topKeyDown: null,
topKeyPress: null,
topKeyUp: null,
topLoad: null,
topMouseDown: null,
topMouseMove: null,
topMouseOut: null,
topMouseOver: null,
topMouseUp: null,
topPaste: null,
topReset: null,
topScroll: null,
topSelectionChange: null,
topSubmit: null,
topTextInput: null,
topTouchCancel: null,
topTouchEnd: null,
topTouchMove: null,
topTouchStart: null,
topWheel: null
}),
a = {
topLevelTypes: i,
PropagationPhases: o
};
e.exports = a
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule keyMirror
* @typechecks static-only
*/
"use strict";
var r = n(60),
o = function(e) {
var n, o = {};
"production" !== t.env.NODE_ENV ? r(e instanceof Object && !Array.isArray(e), "keyMirror(...): Argument must be an object.") : r(e instanceof Object && !Array.isArray(e));
for (n in e) e.hasOwnProperty(n) && (o[n] = n);
return o
};
e.exports = o
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule invariant
*/
"use strict";
var n = function(e, n, r, o, i, a, s, u) {
if ("production" !== t.env.NODE_ENV && void 0 === n) throw new Error("invariant requires an error message argument");
if (!e) {
var l;
if (void 0 === n) l = new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");
else {
var c = [r, o, i, a, s, u],
d = 0;
l = new Error("Invariant Violation: " + n.replace(/%s/g, function() {
return c[d++]
}))
}
throw l.framesToPop = 1, l
}
};
e.exports = n
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactChildren
*/
"use strict";
function r(e, t) {
this.forEachFunction = e, this.forEachContext = t
}
function o(e, t, n, r) {
var o = e;
o.forEachFunction.call(o.forEachContext, t, r)
}
function i(e, t, n) {
if (null == e) return e;
var i = r.getPooled(t, n);
f(e, o, i), r.release(i)
}
function a(e, t, n) {
this.mapResult = e, this.mapFunction = t, this.mapContext = n
}
function s(e, n, r, o) {
var i = e,
a = i.mapResult,
s = !a.hasOwnProperty(r);
if ("production" !== t.env.NODE_ENV && ("production" !== t.env.NODE_ENV ? h(s, "ReactChildren.map(...): Encountered two children with the same key, `%s`. Child keys must be unique; when two children share a key, only the first child will be used.", r) : null), s) {
var u = i.mapFunction.call(i.mapContext, n, o);
a[r] = u
}
}
function u(e, t, n) {
if (null == e) return e;
var r = {},
o = a.getPooled(r, t, n);
return f(e, s, o), a.release(o), p.create(r)
}
function l() {
return null
}
function c(e) {
return f(e, l, null)
}
var d = n(62),
p = n(63),
f = n(71),
h = n(68),
m = d.twoArgumentPooler,
g = d.threeArgumentPooler;
d.addPoolingTo(r, m), d.addPoolingTo(a, g);
var v = {
forEach: i,
map: u,
count: c
};
e.exports = v
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule PooledClass
*/
"use strict";
var r = n(60),
o = function(e) {
var t = this;
if (t.instancePool.length) {
var n = t.instancePool.pop();
return t.call(n, e), n
}
return new t(e)
},
i = function(e, t) {
var n = this;
if (n.instancePool.length) {
var r = n.instancePool.pop();
return n.call(r, e, t), r
}
return new n(e, t)
},
a = function(e, t, n) {
var r = this;
if (r.instancePool.length) {
var o = r.instancePool.pop();
return r.call(o, e, t, n), o
}
return new r(e, t, n)
},
s = function(e, t, n, r, o) {
var i = this;
if (i.instancePool.length) {
var a = i.instancePool.pop();
return i.call(a, e, t, n, r, o), a
}
return new i(e, t, n, r, o)
},
u = function(e) {
var n = this;
"production" !== t.env.NODE_ENV ? r(e instanceof n, "Trying to release an instance into a pool of a different type.") : r(e instanceof n), e.destructor && e.destructor(), n.instancePool.length < n.poolSize && n.instancePool.push(e)
},
l = 10,
c = o,
d = function(e, t) {
var n = e;
return n.instancePool = [], n.getPooled = t || c, n.poolSize || (n.poolSize = l), n.release = u, n
},
p = {
addPoolingTo: d,
oneArgumentPooler: o,
twoArgumentPooler: i,
threeArgumentPooler: a,
fiveArgumentPooler: s
};
e.exports = p
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactFragment
*/
"use strict";
var r = n(64),
o = n(68);
if ("production" !== t.env.NODE_ENV) {
var i = "_reactFragment",
a = "_reactDidWarn",
s = !1;
try {
var u = function() {
return 1
};
Object.defineProperty({}, i, {
enumerable: !1,
value: !0
}), Object.defineProperty({}, "key", {
enumerable: !0,
get: u
}), s = !0
} catch (l) {}
var c = function(e, n) {
Object.defineProperty(e, n, {
enumerable: !0,
get: function() {
return "production" !== t.env.NODE_ENV ? o(this[a], "A ReactFragment is an opaque type. Accessing any of its properties is deprecated. Pass it to one of the React.Children helpers.") : null, this[a] = !0, this[i][n]
},
set: function(e) {
"production" !== t.env.NODE_ENV ? o(this[a], "A ReactFragment is an immutable opaque type. Mutating its properties is deprecated.") : null, this[a] = !0, this[i][n] = e
}
})
},
d = {},
p = function(e) {
var t = "";
for (var n in e) t += n + ":" + typeof e[n] + ",";
var r = !!d[t];
return d[t] = !0, r
}
}
var f = {
create: function(e) {
if ("production" !== t.env.NODE_ENV) {
if ("object" != typeof e || !e || Array.isArray(e)) return "production" !== t.env.NODE_ENV ? o(!1, "React.addons.createFragment only accepts a single object.", e) : null, e;
if (r.isValidElement(e)) return "production" !== t.env.NODE_ENV ? o(!1, "React.addons.createFragment does not accept a ReactElement without a wrapper object.") : null, e;
if (s) {
var n = {};
Object.defineProperty(n, i, {
enumerable: !1,
value: e
}), Object.defineProperty(n, a, {
writable: !0,
enumerable: !1,
value: !1
});
for (var u in e) c(n, u);
return Object.preventExtensions(n), n
}
}
return e
},
extract: function(e) {
return "production" !== t.env.NODE_ENV && s ? e[i] ? e[i] : ("production" !== t.env.NODE_ENV ? o(p(e), "Any use of a keyed object should be wrapped in React.addons.createFragment(object) before being passed as a child.") : null, e) : e
},
extractIfFragment: function(e) {
if ("production" !== t.env.NODE_ENV && s) {
if (e[i]) return e[i];
for (var n in e)
if (e.hasOwnProperty(n) && r.isValidElement(e[n])) return f.extract(e)
}
return e
}
};
e.exports = f
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2014-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactElement
*/
"use strict";
function r(e, n) {
Object.defineProperty(e, n, {
configurable: !1,
enumerable: !0,
get: function() {
return this._store ? this._store[n] : null
},
set: function(e) {
"production" !== t.env.NODE_ENV ? u(!1, "Don't set the %s property of the React element. Instead, specify the correct value when initially creating the element.", n) : null, this._store[n] = e
}
})
}
function o(e) {
try {
var t = {
props: !0
};
for (var n in t) r(e, n);
c = !0
} catch (o) {}
}
var i = n(65),
a = n(70),
s = n(66),
u = n(68),
l = {
key: !0,
ref: !0
},
c = !1,
d = function(e, n, r, o, i, a) {
if (this.type = e, this.key = n, this.ref = r, this._owner = o, this._context = i, "production" !== t.env.NODE_ENV) {
this._store = {
props: a,
originalProps: s({}, a)
};
try {
Object.defineProperty(this._store, "validated", {
configurable: !1,
enumerable: !1,
writable: !0
})
} catch (u) {}
if (this._store.validated = !1, c) return void Object.freeze(this)
}
this.props = a
};
d.prototype = {
_isReactElement: !0
}, "production" !== t.env.NODE_ENV && o(d.prototype), d.createElement = function(e, t, n) {
var r, o = {},
s = null,
u = null;
if (null != t) {
u = void 0 === t.ref ? null : t.ref, s = void 0 === t.key ? null : "" + t.key;
for (r in t) t.hasOwnProperty(r) && !l.hasOwnProperty(r) && (o[r] = t[r])
}
var c = arguments.length - 2;
if (1 === c) o.children = n;
else if (c > 1) {
for (var p = Array(c), f = 0; c > f; f++) p[f] = arguments[f + 2];
o.children = p
}
if (e && e.defaultProps) {
var h = e.defaultProps;
for (r in h) "undefined" == typeof o[r] && (o[r] = h[r])
}
return new d(e, s, u, a.current, i.current, o)
}, d.createFactory = function(e) {
var t = d.createElement.bind(null, e);
return t.type = e, t
}, d.cloneAndReplaceProps = function(e, n) {
var r = new d(e.type, e.key, e.ref, e._owner, e._context, n);
return "production" !== t.env.NODE_ENV && (r._store.validated = e._store.validated), r
}, d.cloneElement = function(e, t, n) {
var r, o = s({}, e.props),
i = e.key,
u = e.ref,
c = e._owner;
if (null != t) {
void 0 !== t.ref && (u = t.ref, c = a.current), void 0 !== t.key && (i = "" + t.key);
for (r in t) t.hasOwnProperty(r) && !l.hasOwnProperty(r) && (o[r] = t[r])
}
var p = arguments.length - 2;
if (1 === p) o.children = n;
else if (p > 1) {
for (var f = Array(p), h = 0; p > h; h++) f[h] = arguments[h + 2];
o.children = f
}
return new d(e.type, i, u, c, e._context, o)
}, d.isValidElement = function(e) {
var t = !(!e || !e._isReactElement);
return t
}, e.exports = d
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactContext
*/
"use strict";
var r = n(66),
o = n(67),
i = n(68),
a = !1,
s = {
current: o,
withContext: function(e, n) {
"production" !== t.env.NODE_ENV && ("production" !== t.env.NODE_ENV ? i(a, "withContext is deprecated and will be removed in a future version. Use a wrapper component with getChildContext instead.") : null, a = !0);
var o, u = s.current;
s.current = r({}, u, e);
try {
o = n()
} finally {
s.current = u
}
return o
}
};
e.exports = s
}).call(t, n(56))
}, function(e) {
/**
* Copyright 2014-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule Object.assign
*/
"use strict";
function t(e) {
if (null == e) throw new TypeError("Object.assign target cannot be null or undefined");
for (var t = Object(e), n = Object.prototype.hasOwnProperty, r = 1; r < arguments.length; r++) {
var o = arguments[r];
if (null != o) {
var i = Object(o);
for (var a in i) n.call(i, a) && (t[a] = i[a])
}
}
return t
}
e.exports = t
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule emptyObject
*/
"use strict";
var n = {};
"production" !== t.env.NODE_ENV && Object.freeze(n), e.exports = n
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2014-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule warning
*/
"use strict";
var r = n(69),
o = r;
"production" !== t.env.NODE_ENV && (o = function(e, t) {
for (var n = [], r = 2, o = arguments.length; o > r; r++) n.push(arguments[r]);
if (void 0 === t) throw new Error("`warning(condition, format, ...args)` requires a warning message argument");
if (t.length < 10 || /^[s\W]*$/.test(t)) throw new Error("The warning format should be able to uniquely identify this warning. Please, use a more descriptive format than: " + t);
if (0 !== t.indexOf("Failed Composite propType: ") && !e) {
var i = 0,
a = "Warning: " + t.replace(/%s/g, function() {
return n[i++]
});
console.warn(a);
try {
throw new Error(a)
} catch (s) {}
}
}), e.exports = o
}).call(t, n(56))
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule emptyFunction
*/
function t(e) {
return function() {
return e
}
}
function n() {}
n.thatReturns = t, n.thatReturnsFalse = t(!1), n.thatReturnsTrue = t(!0), n.thatReturnsNull = t(null), n.thatReturnsThis = function() {
return this
}, n.thatReturnsArgument = function(e) {
return e
}, e.exports = n
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactCurrentOwner
*/
"use strict";
var t = {
current: null
};
e.exports = t
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule traverseAllChildren
*/
"use strict";
function r(e) {
return v[e]
}
function o(e, t) {
return e && null != e.key ? a(e.key) : t.toString(36)
}
function i(e) {
return ("" + e).replace(y, r)
}
function a(e) {
return "$" + i(e)
}
function s(e, n, r, i, u) {
var d = typeof e;
if (("undefined" === d || "boolean" === d) && (e = null), null === e || "string" === d || "number" === d || l.isValidElement(e)) return i(u, e, "" === n ? m + o(e, 0) : n, r), 1;
var v, y, _, w = 0;
if (Array.isArray(e))
for (var C = 0; C < e.length; C++) v = e[C], y = ("" !== n ? n + g : m) + o(v, C), _ = r + w, w += s(v, y, _, i, u);
else {
var E = p(e);
if (E) {
var x, k = E.call(e);
if (E !== e.entries)
for (var S = 0; !(x = k.next()).done;) v = x.value, y = ("" !== n ? n + g : m) + o(v, S++), _ = r + w, w += s(v, y, _, i, u);
else
for ("production" !== t.env.NODE_ENV && ("production" !== t.env.NODE_ENV ? h(b, "Using Maps as children is not yet fully supported. It is an experimental feature that might be removed. Convert it to a sequence / iterable of keyed ReactElements instead.") : null, b = !0); !(x = k.next()).done;) {
var T = x.value;
T && (v = T[1], y = ("" !== n ? n + g : m) + a(T[0]) + g + o(v, 0), _ = r + w, w += s(v, y, _, i, u))
}
} else if ("object" === d) {
"production" !== t.env.NODE_ENV ? f(1 !== e.nodeType, "traverseAllChildren(...): Encountered an invalid child; DOM elements are not valid children of React components.") : f(1 !== e.nodeType);
var D = c.extract(e);
for (var N in D) D.hasOwnProperty(N) && (v = D[N], y = ("" !== n ? n + g : m) + a(N) + g + o(v, 0), _ = r + w, w += s(v, y, _, i, u))
}
}
return w
}
function u(e, t, n) {
return null == e ? 0 : s(e, "", 0, t, n)
}
var l = n(64),
c = n(63),
d = n(72),
p = n(74),
f = n(60),
h = n(68),
m = d.SEPARATOR,
g = ":",
v = {
"=": "=0",
".": "=1",
":": "=2"
},
y = /[=.:]/g,
b = !1;
e.exports = u
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactInstanceHandles
* @typechecks static-only
*/
"use strict";
function r(e) {
return f + e.toString(36)
}
function o(e, t) {
return e.charAt(t) === f || t === e.length
}
function i(e) {
return "" === e || e.charAt(0) === f && e.charAt(e.length - 1) !== f
}
function a(e, t) {
return 0 === t.indexOf(e) && o(t, e.length)
}
function s(e) {
return e ? e.substr(0, e.lastIndexOf(f)) : ""
}
function u(e, n) {
if ("production" !== t.env.NODE_ENV ? p(i(e) && i(n), "getNextDescendantID(%s, %s): Received an invalid React DOM ID.", e, n) : p(i(e) && i(n)), "production" !== t.env.NODE_ENV ? p(a(e, n), "getNextDescendantID(...): React has made an invalid assumption about the DOM hierarchy. Expected `%s` to be an ancestor of `%s`.", e, n) : p(a(e, n)), e === n) return e;
var r, s = e.length + h;
for (r = s; r < n.length && !o(n, r); r++);
return n.substr(0, r)
}
function l(e, n) {
var r = Math.min(e.length, n.length);
if (0 === r) return "";
for (var a = 0, s = 0; r >= s; s++)
if (o(e, s) && o(n, s)) a = s;
else if (e.charAt(s) !== n.charAt(s)) break;
var u = e.substr(0, a);
return "production" !== t.env.NODE_ENV ? p(i(u), "getFirstCommonAncestorID(%s, %s): Expected a valid React DOM ID: %s", e, n, u) : p(i(u)), u
}
function c(e, n, r, o, i, l) {
e = e || "", n = n || "", "production" !== t.env.NODE_ENV ? p(e !== n, "traverseParentPath(...): Cannot traverse from and to the same ID, `%s`.", e) : p(e !== n);
var c = a(n, e);
"production" !== t.env.NODE_ENV ? p(c || a(e, n), "traverseParentPath(%s, %s, ...): Cannot traverse from two IDs that do not have a parent path.", e, n) : p(c || a(e, n));
for (var d = 0, f = c ? s : u, h = e;; h = f(h, n)) {
var g;
if (i && h === e || l && h === n || (g = r(h, c, o)), g === !1 || h === n) break;
"production" !== t.env.NODE_ENV ? p(d++ < m, "traverseParentPath(%s, %s, ...): Detected an infinite loop while traversing the React DOM ID tree. This may be due to malformed IDs: %s", e, n) : p(d++ < m)
}
}
var d = n(73),
p = n(60),
f = ".",
h = f.length,
m = 100,
g = {
createReactRootID: function() {
return r(d.createReactRootIndex())
},
createReactID: function(e, t) {
return e + t
},
getReactRootIDFromNodeID: function(e) {
if (e && e.charAt(0) === f && e.length > 1) {
var t = e.indexOf(f, 1);
return t > -1 ? e.substr(0, t) : e
}
return null
},
traverseEnterLeave: function(e, t, n, r, o) {
var i = l(e, t);
i !== e && c(e, i, n, r, !1, !0), i !== t && c(i, t, n, o, !0, !1)
},
traverseTwoPhase: function(e, t, n) {
e && (c("", e, t, n, !0, !1), c(e, "", t, n, !1, !0))
},
traverseAncestors: function(e, t, n) {
c("", e, t, n, !0, !1)
},
_getFirstCommonAncestorID: l,
_getNextDescendantID: u,
isAncestorIDOf: a,
SEPARATOR: f
};
e.exports = g
}).call(t, n(56))
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactRootIndex
* @typechecks
*/
"use strict";
var t = {
injectCreateReactRootIndex: function(e) {
n.createReactRootIndex = e
}
},
n = {
createReactRootIndex: null,
injection: t
};
e.exports = n
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule getIteratorFn
* @typechecks static-only
*/
"use strict";
function t(e) {
var t = e && (n && e[n] || e[r]);
return "function" == typeof t ? t : void 0
}
var n = "function" == typeof Symbol && Symbol.iterator,
r = "@@iterator";
e.exports = t
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactComponent
*/
"use strict";
function r(e, t) {
this.props = e, this.context = t
}
var o = n(76),
i = n(60),
a = n(68);
if (r.prototype.setState = function(e, n) {
"production" !== t.env.NODE_ENV ? i("object" == typeof e || "function" == typeof e || null == e, "setState(...): takes an object of state variables to update or a function which returns an object of state variables.") : i("object" == typeof e || "function" == typeof e || null == e), "production" !== t.env.NODE_ENV && ("production" !== t.env.NODE_ENV ? a(null != e, "setState(...): You passed an undefined or null state object; instead, use forceUpdate().") : null), o.enqueueSetState(this, e), n && o.enqueueCallback(this, n)
}, r.prototype.forceUpdate = function(e) {
o.enqueueForceUpdate(this), e && o.enqueueCallback(this, e)
}, "production" !== t.env.NODE_ENV) {
var s = {
getDOMNode: ["getDOMNode", "Use React.findDOMNode(component) instead."],
isMounted: ["isMounted", "Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],
replaceProps: ["replaceProps", "Instead, call React.render again at the top level."],
replaceState: ["replaceState", "Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."],
setProps: ["setProps", "Instead, call React.render again at the top level."]
},
u = function(e, n) {
try {
Object.defineProperty(r.prototype, e, {
get: function() {
return void("production" !== t.env.NODE_ENV ? a(!1, "%s(...) is deprecated in plain JavaScript React classes. %s", n[0], n[1]) : null)
}
})
} catch (o) {}
};
for (var l in s) s.hasOwnProperty(l) && u(l, s[l])
}
e.exports = r
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactUpdateQueue
*/
"use strict";
function r(e) {
e !== i.currentlyMountingInstance && l.enqueueUpdate(e)
}
function o(e, n) {
"production" !== t.env.NODE_ENV ? d(null == a.current, "%s(...): Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state.", n) : d(null == a.current);
var r = u.get(e);
return r ? r === i.currentlyUnmountingInstance ? null : r : ("production" !== t.env.NODE_ENV && ("production" !== t.env.NODE_ENV ? p(!n, "%s(...): Can only update a mounted or mounting component. This usually means you called %s() on an unmounted component. This is a no-op.", n, n) : null), null)
}
var i = n(77),
a = n(70),
s = n(64),
u = n(78),
l = n(79),
c = n(66),
d = n(60),
p = n(68),
f = {
enqueueCallback: function(e, n) {
"production" !== t.env.NODE_ENV ? d("function" == typeof n, "enqueueCallback(...): You called `setProps`, `replaceProps`, `setState`, `replaceState`, or `forceUpdate` with a callback that isn't callable.") : d("function" == typeof n);
var a = o(e);
return a && a !== i.currentlyMountingInstance ? (a._pendingCallbacks ? a._pendingCallbacks.push(n) : a._pendingCallbacks = [n], void r(a)) : null
},
enqueueCallbackInternal: function(e, n) {
"production" !== t.env.NODE_ENV ? d("function" == typeof n, "enqueueCallback(...): You called `setProps`, `replaceProps`, `setState`, `replaceState`, or `forceUpdate` with a callback that isn't callable.") : d("function" == typeof n), e._pendingCallbacks ? e._pendingCallbacks.push(n) : e._pendingCallbacks = [n], r(e)
},
enqueueForceUpdate: function(e) {
var t = o(e, "forceUpdate");
t && (t._pendingForceUpdate = !0, r(t))
},
enqueueReplaceState: function(e, t) {
var n = o(e, "replaceState");
n && (n._pendingStateQueue = [t], n._pendingReplaceState = !0, r(n))
},
enqueueSetState: function(e, t) {
var n = o(e, "setState");
if (n) {
var i = n._pendingStateQueue || (n._pendingStateQueue = []);
i.push(t), r(n)
}
},
enqueueSetProps: function(e, n) {
var i = o(e, "setProps");
if (i) {
"production" !== t.env.NODE_ENV ? d(i._isTopLevel, "setProps(...): You called `setProps` on a component with a parent. This is an anti-pattern since props will get reactively updated when rendered. Instead, change the owner's `render` method to pass the correct value as props to the component where it is created.") : d(i._isTopLevel);
var a = i._pendingElement || i._currentElement,
u = c({}, a.props, n);
i._pendingElement = s.cloneAndReplaceProps(a, u), r(i)
}
},
enqueueReplaceProps: function(e, n) {
var i = o(e, "replaceProps");
if (i) {
"production" !== t.env.NODE_ENV ? d(i._isTopLevel, "replaceProps(...): You called `replaceProps` on a component with a parent. This is an anti-pattern since props will get reactively updated when rendered. Instead, change the owner's `render` method to pass the correct value as props to the component where it is created.") : d(i._isTopLevel);
var a = i._pendingElement || i._currentElement;
i._pendingElement = s.cloneAndReplaceProps(a, n), r(i)
}
},
enqueueElementInternal: function(e, t) {
e._pendingElement = t, r(e)
}
};
e.exports = f
}).call(t, n(56))
}, function(e) {
/**
* Copyright 2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactLifeCycle
*/
"use strict";
var t = {
currentlyMountingInstance: null,
currentlyUnmountingInstance: null
};
e.exports = t
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactInstanceMap
*/
"use strict";
var t = {
remove: function(e) {
e._reactInternalInstance = void 0
},
get: function(e) {
return e._reactInternalInstance
},
has: function(e) {
return void 0 !== e._reactInternalInstance
},
set: function(e, t) {
e._reactInternalInstance = t
}
};
e.exports = t
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactUpdates
*/
"use strict";
function r() {
"production" !== t.env.NODE_ENV ? v(D.ReactReconcileTransaction && C, "ReactUpdates: must inject a reconcile transaction class and batching strategy") : v(D.ReactReconcileTransaction && C)
}
function o() {
this.reinitializeTransaction(), this.dirtyComponentsLength = null, this.callbackQueue = c.getPooled(), this.reconcileTransaction = D.ReactReconcileTransaction.getPooled()
}
function i(e, t, n, o, i) {
r(), C.batchedUpdates(e, t, n, o, i)
}
function a(e, t) {
return e._mountOrder - t._mountOrder
}
function s(e) {
var n = e.dirtyComponentsLength;
"production" !== t.env.NODE_ENV ? v(n === b.length, "Expected flush transaction's stored dirty-components length (%s) to match dirty-components array length (%s).", n, b.length) : v(n === b.length), b.sort(a);
for (var r = 0; n > r; r++) {
var o = b[r],
i = o._pendingCallbacks;
if (o._pendingCallbacks = null, h.performUpdateIfNecessary(o, e.reconcileTransaction), i)
for (var s = 0; s < i.length; s++) e.callbackQueue.enqueue(i[s], o.getPublicInstance())
}
}
function u(e) {
return r(), "production" !== t.env.NODE_ENV ? y(null == p.current, "enqueueUpdate(): Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate.") : null, C.isBatchingUpdates ? void b.push(e) : void C.batchedUpdates(u, e)
}
function l(e, n) {
"production" !== t.env.NODE_ENV ? v(C.isBatchingUpdates, "ReactUpdates.asap: Can't enqueue an asap callback in a context whereupdates are not being batched.") : v(C.isBatchingUpdates), _.enqueue(e, n), w = !0
}
var c = n(80),
d = n(62),
p = n(70),
f = n(81),
h = n(82),
m = n(89),
g = n(66),
v = n(60),
y = n(68),
b = [],
_ = c.getPooled(),
w = !1,
C = null,
E = {
initialize: function() {
this.dirtyComponentsLength = b.length
},
close: function() {
this.dirtyComponentsLength !== b.length ? (b.splice(0, this.dirtyComponentsLength), S()) : b.length = 0
}
},
x = {
initialize: function() {
this.callbackQueue.reset()
},
close: function() {
this.callbackQueue.notifyAll()
}
},
k = [E, x];
g(o.prototype, m.Mixin, {
getTransactionWrappers: function() {
return k
},
destructor: function() {
this.dirtyComponentsLength = null, c.release(this.callbackQueue), this.callbackQueue = null, D.ReactReconcileTransaction.release(this.reconcileTransaction), this.reconcileTransaction = null
},
perform: function(e, t, n) {
return m.Mixin.perform.call(this, this.reconcileTransaction.perform, this.reconcileTransaction, e, t, n)
}
}), d.addPoolingTo(o);
var S = function() {
for (; b.length || w;) {
if (b.length) {
var e = o.getPooled();
e.perform(s, null, e), o.release(e)
}
if (w) {
w = !1;
var t = _;
_ = c.getPooled(), t.notifyAll(), c.release(t)
}
}
};
S = f.measure("ReactUpdates", "flushBatchedUpdates", S);
var T = {
injectReconcileTransaction: function(e) {
"production" !== t.env.NODE_ENV ? v(e, "ReactUpdates: must provide a reconcile transaction class") : v(e), D.ReactReconcileTransaction = e
},
injectBatchingStrategy: function(e) {
"production" !== t.env.NODE_ENV ? v(e, "ReactUpdates: must provide a batching strategy") : v(e), "production" !== t.env.NODE_ENV ? v("function" == typeof e.batchedUpdates, "ReactUpdates: must provide a batchedUpdates() function") : v("function" == typeof e.batchedUpdates), "production" !== t.env.NODE_ENV ? v("boolean" == typeof e.isBatchingUpdates, "ReactUpdates: must provide an isBatchingUpdates boolean attribute") : v("boolean" == typeof e.isBatchingUpdates), C = e
}
},
D = {
ReactReconcileTransaction: null,
batchedUpdates: i,
enqueueUpdate: u,
flushBatchedUpdates: S,
injection: T,
asap: l
};
e.exports = D
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule CallbackQueue
*/
"use strict";
function r() {
this._callbacks = null, this._contexts = null
}
var o = n(62),
i = n(66),
a = n(60);
i(r.prototype, {
enqueue: function(e, t) {
this._callbacks = this._callbacks || [], this._contexts = this._contexts || [], this._callbacks.push(e), this._contexts.push(t)
},
notifyAll: function() {
var e = this._callbacks,
n = this._contexts;
if (e) {
"production" !== t.env.NODE_ENV ? a(e.length === n.length, "Mismatched list of contexts in callback queue") : a(e.length === n.length), this._callbacks = null, this._contexts = null;
for (var r = 0, o = e.length; o > r; r++) e[r].call(n[r]);
e.length = 0, n.length = 0
}
},
reset: function() {
this._callbacks = null, this._contexts = null
},
destructor: function() {
this.reset()
}
}), o.addPoolingTo(r), e.exports = r
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactPerf
* @typechecks static-only
*/
"use strict";
function n(e, t, n) {
return n
}
var r = {
enableMeasure: !1,
storedMeasure: n,
measureMethods: function(e, n, o) {
if ("production" !== t.env.NODE_ENV)
for (var i in o) o.hasOwnProperty(i) && (e[i] = r.measure(n, o[i], e[i]))
},
measure: function(e, n, o) {
if ("production" !== t.env.NODE_ENV) {
var i = null,
a = function() {
return r.enableMeasure ? (i || (i = r.storedMeasure(e, n, o)), i.apply(this, arguments)) : o.apply(this, arguments)
};
return a.displayName = e + "_" + n, a
}
return o
},
injection: {
injectMeasure: function(e) {
r.storedMeasure = e
}
}
};
e.exports = r
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactReconciler
*/
"use strict";
function r() {
o.attachRefs(this, this._currentElement)
}
var o = n(83),
i = n(85),
a = {
mountComponent: function(e, n, o, a) {
var s = e.mountComponent(n, o, a);
return "production" !== t.env.NODE_ENV && i.checkAndWarnForMutatedProps(e._currentElement), o.getReactMountReady().enqueue(r, e), s
},
unmountComponent: function(e) {
o.detachRefs(e, e._currentElement), e.unmountComponent()
},
receiveComponent: function(e, n, a, s) {
var u = e._currentElement;
if (n !== u || null == n._owner) {
"production" !== t.env.NODE_ENV && i.checkAndWarnForMutatedProps(n);
var l = o.shouldUpdateRefs(u, n);
l && o.detachRefs(e, u), e.receiveComponent(n, a, s), l && a.getReactMountReady().enqueue(r, e)
}
},
performUpdateIfNecessary: function(e, t) {
e.performUpdateIfNecessary(t)
}
};
e.exports = a
}).call(t, n(56))
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactRef
*/
"use strict";
function r(e, t, n) {
"function" == typeof e ? e(t.getPublicInstance()) : i.addComponentAsRefTo(t, e, n)
}
function o(e, t, n) {
"function" == typeof e ? e(null) : i.removeComponentAsRefFrom(t, e, n)
}
var i = n(84),
a = {};
a.attachRefs = function(e, t) {
var n = t.ref;
null != n && r(n, e, t._owner)
}, a.shouldUpdateRefs = function(e, t) {
return t._owner !== e._owner || t.ref !== e.ref
}, a.detachRefs = function(e, t) {
var n = t.ref;
null != n && o(n, e, t._owner)
}, e.exports = a
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactOwner
*/
"use strict";
var r = n(60),
o = {
isValidOwner: function(e) {
return !(!e || "function" != typeof e.attachRef || "function" != typeof e.detachRef)
},
addComponentAsRefTo: function(e, n, i) {
"production" !== t.env.NODE_ENV ? r(o.isValidOwner(i), "addComponentAsRefTo(...): Only a ReactOwner can have refs. This usually means that you're trying to add a ref to a component that doesn't have an owner (that is, was not created inside of another component's `render` method). Try rendering this component inside of a new top-level component which will hold the ref.") : r(o.isValidOwner(i)), i.attachRef(n, e)
},
removeComponentAsRefFrom: function(e, n, i) {
"production" !== t.env.NODE_ENV ? r(o.isValidOwner(i), "removeComponentAsRefFrom(...): Only a ReactOwner can have refs. This usually means that you're trying to remove a ref to a component that doesn't have an owner (that is, was not created inside of another component's `render` method). Try rendering this component inside of a new top-level component which will hold the ref.") : r(o.isValidOwner(i)), i.getPublicInstance().refs[n] === e.getPublicInstance() && i.detachRef(n)
}
};
e.exports = o
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2014-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactElementValidator
*/
"use strict";
function r() {
if (b.current) {
var e = b.current.getName();
if (e) return " Check the render method of `" + e + "`."
}
return ""
}
function o(e) {
var t = e && e.getPublicInstance();
if (!t) return void 0;
var n = t.constructor;
return n ? n.displayName || n.name || void 0 : void 0
}
function i() {
var e = b.current;
return e && o(e) || void 0
}
function a(e, t) {
e._store.validated || null != e.key || (e._store.validated = !0, u('Each child in an array or iterator should have a unique "key" prop.', e, t))
}
function s(e, t, n) {
S.test(e) && u("Child objects should have non-numeric keys so ordering is preserved.", t, n)
}
function u(e, n, r) {
var a = i(),
s = "string" == typeof r ? r : r.displayName || r.name,
u = a || s,
l = x[e] || (x[e] = {});
if (!l.hasOwnProperty(u)) {
l[u] = !0;
var c = a ? " Check the render method of " + a + "." : s ? " Check the React.render call using <" + s + ">." : "",
d = "";
if (n && n._owner && n._owner !== b.current) {
var p = o(n._owner);
d = " It was passed a child from " + p + "."
}
"production" !== t.env.NODE_ENV ? E(!1, e + "%s%s See https://fb.me/react-warning-keys for more information.", c, d) : null
}
}
function l(e, t) {
if (Array.isArray(e))
for (var n = 0; n < e.length; n++) {
var r = e[n];
m.isValidElement(r) && a(r, t)
} else if (m.isValidElement(e)) e._store.validated = !0;
else if (e) {
var o = w(e);
if (o) {
if (o !== e.entries)
for (var i, u = o.call(e); !(i = u.next()).done;) m.isValidElement(i.value) && a(i.value, t)
} else if ("object" == typeof e) {
var l = g.extractIfFragment(e);
for (var c in l) l.hasOwnProperty(c) && s(c, l[c], t)
}
}
}
function c(e, n, o, i) {
for (var a in n)
if (n.hasOwnProperty(a)) {
var s;
try {
"production" !== t.env.NODE_ENV ? C("function" == typeof n[a], "%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.", e || "React class", y[i], a) : C("function" == typeof n[a]), s = n[a](o, a, e, i)
} catch (u) {
s = u
}
if (s instanceof Error && !(s.message in k)) {
k[s.message] = !0;
var l = r(this);
"production" !== t.env.NODE_ENV ? E(!1, "Failed propType: %s%s", s.message, l) : null
}
}
}
function d(e, n) {
var r = n.type,
o = "string" == typeof r ? r : r.displayName,
i = n._owner ? n._owner.getPublicInstance().constructor.displayName : null,
a = e + "|" + o + "|" + i;
if (!T.hasOwnProperty(a)) {
T[a] = !0;
var s = "";
o && (s = " <" + o + " />");
var u = "";
i && (u = " The element was created by " + i + "."), "production" !== t.env.NODE_ENV ? E(!1, "Don't set .props.%s of the React component%s. Instead, specify the correct value when initially creating the element or use React.cloneElement to make a new element with updated props.%s", e, s, u) : null
}
}
function p(e, t) {
return e !== e ? t !== t : 0 === e && 0 === t ? 1 / e === 1 / t : e === t
}
function f(e) {
if (e._store) {
var t = e._store.originalProps,
n = e.props;
for (var r in n) n.hasOwnProperty(r) && (t.hasOwnProperty(r) && p(t[r], n[r]) || (d(r, e), t[r] = n[r]))
}
}
function h(e) {
if (null != e.type) {
var n = _.getComponentClassForElement(e),
r = n.displayName || n.name;
n.propTypes && c(r, n.propTypes, e.props, v.prop), "function" == typeof n.getDefaultProps && ("production" !== t.env.NODE_ENV ? E(n.getDefaultProps.isReactClassApproved, "getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.") : null)
}
}
var m = n(64),
g = n(63),
v = n(86),
y = n(87),
b = n(70),
_ = n(88),
w = n(74),
C = n(60),
E = n(68),
x = {},
k = {},
S = /^\d+$/,
T = {},
D = {
checkAndWarnForMutatedProps: f,
createElement: function(e) {
"production" !== t.env.NODE_ENV ? E(null != e, "React.createElement: type should not be null or undefined. It should be a string (for DOM elements) or a ReactClass (for composite components).") : null;
var n = m.createElement.apply(this, arguments);
if (null == n) return n;
for (var r = 2; r < arguments.length; r++) l(arguments[r], e);
return h(n), n
},
createFactory: function(e) {
var n = D.createElement.bind(null, e);
if (n.type = e, "production" !== t.env.NODE_ENV) try {
Object.defineProperty(n, "type", {
enumerable: !1,
get: function() {
return "production" !== t.env.NODE_ENV ? E(!1, "Factory.type is deprecated. Access the class directly before passing it to createFactory.") : null, Object.defineProperty(this, "type", {
value: e
}), e
}
})
} catch (r) {}
return n
},
cloneElement: function() {
for (var e = m.cloneElement.apply(this, arguments), t = 2; t < arguments.length; t++) l(arguments[t], e.type);
return h(e), e
}
};
e.exports = D
}).call(t, n(56))
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactPropTypeLocations
*/
"use strict";
var r = n(59),
o = r({
prop: null,
context: null,
childContext: null
});
e.exports = o
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactPropTypeLocationNames
*/
"use strict";
var n = {};
"production" !== t.env.NODE_ENV && (n = {
prop: "prop",
context: "context",
childContext: "child context"
}), e.exports = n
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2014-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactNativeComponent
*/
"use strict";
function r(e) {
if ("function" == typeof e.type) return e.type;
var t = e.type,
n = d[t];
return null == n && (d[t] = n = l(t)), n
}
function o(e) {
return "production" !== t.env.NODE_ENV ? u(c, "There is no registered component for the tag %s", e.type) : u(c), new c(e.type, e.props)
}
function i(e) {
return new p(e)
}
function a(e) {
return e instanceof p
}
var s = n(66),
u = n(60),
l = null,
c = null,
d = {},
p = null,
f = {
injectGenericComponentClass: function(e) {
c = e
},
injectTextComponentClass: function(e) {
p = e
},
injectComponentClasses: function(e) {
s(d, e)
},
injectAutoWrapper: function(e) {
l = e
}
},
h = {
getComponentClassForElement: r,
createInternalComponent: o,
createInstanceForText: i,
isTextComponent: a,
injection: f
};
e.exports = h
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule Transaction
*/
"use strict";
var r = n(60),
o = {
reinitializeTransaction: function() {
this.transactionWrappers = this.getTransactionWrappers(), this.wrapperInitData ? this.wrapperInitData.length = 0 : this.wrapperInitData = [], this._isInTransaction = !1
},
_isInTransaction: !1,
getTransactionWrappers: null,
isInTransaction: function() {
return !!this._isInTransaction
},
perform: function(e, n, o, i, a, s, u, l) {
"production" !== t.env.NODE_ENV ? r(!this.isInTransaction(), "Transaction.perform(...): Cannot initialize a transaction when there is already an outstanding transaction.") : r(!this.isInTransaction());
var c, d;
try {
this._isInTransaction = !0, c = !0, this.initializeAll(0), d = e.call(n, o, i, a, s, u, l), c = !1
} finally {
try {
if (c) try {
this.closeAll(0)
} catch (p) {} else this.closeAll(0)
} finally {
this._isInTransaction = !1
}
}
return d
},
initializeAll: function(e) {
for (var t = this.transactionWrappers, n = e; n < t.length; n++) {
var r = t[n];
try {
this.wrapperInitData[n] = i.OBSERVED_ERROR, this.wrapperInitData[n] = r.initialize ? r.initialize.call(this) : null
} finally {
if (this.wrapperInitData[n] === i.OBSERVED_ERROR) try {
this.initializeAll(n + 1)
} catch (o) {}
}
}
},
closeAll: function(e) {
"production" !== t.env.NODE_ENV ? r(this.isInTransaction(), "Transaction.closeAll(): Cannot close transaction when none are open.") : r(this.isInTransaction());
for (var n = this.transactionWrappers, o = e; o < n.length; o++) {
var a, s = n[o],
u = this.wrapperInitData[o];
try {
a = !0, u !== i.OBSERVED_ERROR && s.close && s.close.call(this, u), a = !1
} finally {
if (a) try {
this.closeAll(o + 1)
} catch (l) {}
}
}
this.wrapperInitData.length = 0
}
},
i = {
Mixin: o,
OBSERVED_ERROR: {}
};
e.exports = i
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactClass
*/
"use strict";
function r(e, n, r) {
for (var o in n) n.hasOwnProperty(o) && ("production" !== t.env.NODE_ENV ? k("function" == typeof n[o], "%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.", e.displayName || "ReactClass", b[r], o) : null)
}
function o(e, n) {
var r = N.hasOwnProperty(n) ? N[n] : null;
P.hasOwnProperty(n) && ("production" !== t.env.NODE_ENV ? C(r === T.OVERRIDE_BASE, "ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.", n) : C(r === T.OVERRIDE_BASE)), e.hasOwnProperty(n) && ("production" !== t.env.NODE_ENV ? C(r === T.DEFINE_MANY || r === T.DEFINE_MANY_MERGED, "ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.", n) : C(r === T.DEFINE_MANY || r === T.DEFINE_MANY_MERGED))
}
function i(e, n) {
if (n) {
"production" !== t.env.NODE_ENV ? C("function" != typeof n, "ReactClass: You're attempting to use a component class as a mixin. Instead, just use a regular object.") : C("function" != typeof n), "production" !== t.env.NODE_ENV ? C(!h.isValidElement(n), "ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object.") : C(!h.isValidElement(n));
var r = e.prototype;
n.hasOwnProperty(S) && O.mixins(e, n.mixins);
for (var i in n)
if (n.hasOwnProperty(i) && i !== S) {
var a = n[i];
if (o(r, i), O.hasOwnProperty(i)) O[i](e, a);
else {
var s = N.hasOwnProperty(i),
c = r.hasOwnProperty(i),
d = a && a.__reactDontBind,
p = "function" == typeof a,
f = p && !s && !c && !d;
if (f) r.__reactAutoBindMap || (r.__reactAutoBindMap = {}), r.__reactAutoBindMap[i] = a, r[i] = a;
else if (c) {
var m = N[i];
"production" !== t.env.NODE_ENV ? C(s && (m === T.DEFINE_MANY_MERGED || m === T.DEFINE_MANY), "ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.", m, i) : C(s && (m === T.DEFINE_MANY_MERGED || m === T.DEFINE_MANY)), m === T.DEFINE_MANY_MERGED ? r[i] = u(r[i], a) : m === T.DEFINE_MANY && (r[i] = l(r[i], a))
} else r[i] = a, "production" !== t.env.NODE_ENV && "function" == typeof a && n.displayName && (r[i].displayName = n.displayName + "_" + i)
}
}
}
}
function a(e, n) {
if (n)
for (var r in n) {
var o = n[r];
if (n.hasOwnProperty(r)) {
var i = r in O;
"production" !== t.env.NODE_ENV ? C(!i, 'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.', r) : C(!i);
var a = r in e;
"production" !== t.env.NODE_ENV ? C(!a, "ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.", r) : C(!a), e[r] = o
}
}
}
function s(e, n) {
"production" !== t.env.NODE_ENV ? C(e && n && "object" == typeof e && "object" == typeof n, "mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.") : C(e && n && "object" == typeof e && "object" == typeof n);
for (var r in n) n.hasOwnProperty(r) && ("production" !== t.env.NODE_ENV ? C(void 0 === e[r], "mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.", r) : C(void 0 === e[r]), e[r] = n[r]);
return e
}
function u(e, t) {
return function() {
var n = e.apply(this, arguments),
r = t.apply(this, arguments);
if (null == n) return r;
if (null == r) return n;
var o = {};
return s(o, n), s(o, r), o
}
}
function l(e, t) {
return function() {
e.apply(this, arguments), t.apply(this, arguments)
}
}
function c(e, n) {
var r = n.bind(e);
if ("production" !== t.env.NODE_ENV) {
r.__reactBoundContext = e, r.__reactBoundMethod = n, r.__reactBoundArguments = null;
var o = e.constructor.displayName,
i = r.bind;
r.bind = function(a) {
for (var s = [], u = 1, l = arguments.length; l > u; u++) s.push(arguments[u]);
if (a !== e && null !== a) "production" !== t.env.NODE_ENV ? k(!1, "bind(): React component methods may only be bound to the component instance. See %s", o) : null;
else if (!s.length) return "production" !== t.env.NODE_ENV ? k(!1, "bind(): You are binding a component method to the component. React does this for you automatically in a high-performance way, so you can safely remove this call. See %s", o) : null, r;
var c = i.apply(r, arguments);
return c.__reactBoundContext = e, c.__reactBoundMethod = n, c.__reactBoundArguments = s, c
}
}
return r
}
function d(e) {
for (var t in e.__reactAutoBindMap)
if (e.__reactAutoBindMap.hasOwnProperty(t)) {
var n = e.__reactAutoBindMap[t];
e[t] = c(e, m.guard(n, e.constructor.displayName + "." + t))
}
}
var p = n(75),
f = n(70),
h = n(64),
m = n(91),
g = n(78),
v = n(77),
y = n(86),
b = n(87),
_ = n(76),
w = n(66),
C = n(60),
E = n(59),
x = n(92),
k = n(68),
S = x({
mixins: null
}),
T = E({
DEFINE_ONCE: null,
DEFINE_MANY: null,
OVERRIDE_BASE: null,
DEFINE_MANY_MERGED: null
}),
D = [],
N = {
mixins: T.DEFINE_MANY,
statics: T.DEFINE_MANY,
propTypes: T.DEFINE_MANY,
contextTypes: T.DEFINE_MANY,
childContextTypes: T.DEFINE_MANY,
getDefaultProps: T.DEFINE_MANY_MERGED,
getInitialState: T.DEFINE_MANY_MERGED,
getChildContext: T.DEFINE_MANY_MERGED,
render: T.DEFINE_ONCE,
componentWillMount: T.DEFINE_MANY,
componentDidMount: T.DEFINE_MANY,
componentWillReceiveProps: T.DEFINE_MANY,
shouldComponentUpdate: T.DEFINE_ONCE,
componentWillUpdate: T.DEFINE_MANY,
componentDidUpdate: T.DEFINE_MANY,
componentWillUnmount: T.DEFINE_MANY,
updateComponent: T.OVERRIDE_BASE
},
O = {
displayName: function(e, t) {
e.displayName = t
},
mixins: function(e, t) {
if (t)
for (var n = 0; n < t.length; n++) i(e, t[n])
},
childContextTypes: function(e, n) {
"production" !== t.env.NODE_ENV && r(e, n, y.childContext), e.childContextTypes = w({}, e.childContextTypes, n)
},
contextTypes: function(e, n) {
"production" !== t.env.NODE_ENV && r(e, n, y.context), e.contextTypes = w({}, e.contextTypes, n)
},
getDefaultProps: function(e, t) {
e.getDefaultProps = e.getDefaultProps ? u(e.getDefaultProps, t) : t
},
propTypes: function(e, n) {
"production" !== t.env.NODE_ENV && r(e, n, y.prop), e.propTypes = w({}, e.propTypes, n)
},
statics: function(e, t) {
a(e, t)
}
},
R = {
enumerable: !1,
get: function() {
var e = this.displayName || this.name || "Component";
return "production" !== t.env.NODE_ENV ? k(!1, "%s.type is deprecated. Use %s directly to access the class.", e, e) : null, Object.defineProperty(this, "type", {
value: this
}), this
}
},
P = {
replaceState: function(e, t) {
_.enqueueReplaceState(this, e), t && _.enqueueCallback(this, t)
},
isMounted: function() {
if ("production" !== t.env.NODE_ENV) {
var e = f.current;
null !== e && ("production" !== t.env.NODE_ENV ? k(e._warnedAboutRefsInRender, "%s is accessing isMounted inside its render() function. render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.", e.getName() || "A component") : null, e._warnedAboutRefsInRender = !0)
}
var n = g.get(this);
return n && n !== v.currentlyMountingInstance
},
setProps: function(e, t) {
_.enqueueSetProps(this, e), t && _.enqueueCallback(this, t)
},
replaceProps: function(e, t) {
_.enqueueReplaceProps(this, e), t && _.enqueueCallback(this, t)
}
},
M = function() {};
w(M.prototype, p.prototype, P);
var I = {
createClass: function(e) {
var n = function(e, r) {
"production" !== t.env.NODE_ENV && ("production" !== t.env.NODE_ENV ? k(this instanceof n, "Something is calling a React component directly. Use a factory or JSX instead. See: https://fb.me/react-legacyfactory") : null), this.__reactAutoBindMap && d(this), this.props = e, this.context = r, this.state = null;
var o = this.getInitialState ? this.getInitialState() : null;
"production" !== t.env.NODE_ENV && "undefined" == typeof o && this.getInitialState._isMockFunction && (o = null), "production" !== t.env.NODE_ENV ? C("object" == typeof o && !Array.isArray(o), "%s.getInitialState(): must return an object or null", n.displayName || "ReactCompositeComponent") : C("object" == typeof o && !Array.isArray(o)), this.state = o
};
n.prototype = new M, n.prototype.constructor = n, D.forEach(i.bind(null, n)), i(n, e), n.getDefaultProps && (n.defaultProps = n.getDefaultProps()), "production" !== t.env.NODE_ENV && (n.getDefaultProps && (n.getDefaultProps.isReactClassApproved = {}), n.prototype.getInitialState && (n.prototype.getInitialState.isReactClassApproved = {})), "production" !== t.env.NODE_ENV ? C(n.prototype.render, "createClass(...): Class specification must implement a `render` method.") : C(n.prototype.render), "production" !== t.env.NODE_ENV && ("production" !== t.env.NODE_ENV ? k(!n.prototype.componentShouldUpdate, "%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.", e.displayName || "A component") : null);
for (var r in N) n.prototype[r] || (n.prototype[r] = null);
if (n.type = n, "production" !== t.env.NODE_ENV) try {
Object.defineProperty(n, "type", R)
} catch (o) {}
return n
},
injection: {
injectMixin: function(e) {
D.push(e)
}
}
};
e.exports = I
}).call(t, n(56))
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactErrorUtils
* @typechecks
*/
"use strict";
var t = {
guard: function(e) {
return e
}
};
e.exports = t
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule keyOf
*/
var t = function(e) {
var t;
for (t in e)
if (e.hasOwnProperty(t)) return t;
return null
};
e.exports = t
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactDOM
* @typechecks static-only
*/
"use strict";
function r(e) {
return "production" !== t.env.NODE_ENV ? i.createFactory(e) : o.createFactory(e)
}
var o = n(64),
i = n(85),
a = n(94),
s = a({
a: "a",
abbr: "abbr",
address: "address",
area: "area",
article: "article",
aside: "aside",
audio: "audio",
b: "b",
base: "base",
bdi: "bdi",
bdo: "bdo",
big: "big",
blockquote: "blockquote",
body: "body",
br: "br",
button: "button",
canvas: "canvas",
caption: "caption",
cite: "cite",
code: "code",
col: "col",
colgroup: "colgroup",
data: "data",
datalist: "datalist",
dd: "dd",
del: "del",
details: "details",
dfn: "dfn",
dialog: "dialog",
div: "div",
dl: "dl",
dt: "dt",
em: "em",
embed: "embed",
fieldset: "fieldset",
figcaption: "figcaption",
figure: "figure",
footer: "footer",
form: "form",
h1: "h1",
h2: "h2",
h3: "h3",
h4: "h4",
h5: "h5",
h6: "h6",
head: "head",
header: "header",
hr: "hr",
html: "html",
i: "i",
iframe: "iframe",
img: "img",
input: "input",
ins: "ins",
kbd: "kbd",
keygen: "keygen",
label: "label",
legend: "legend",
li: "li",
link: "link",
main: "main",
map: "map",
mark: "mark",
menu: "menu",
menuitem: "menuitem",
meta: "meta",
meter: "meter",
nav: "nav",
noscript: "noscript",
object: "object",
ol: "ol",
optgroup: "optgroup",
option: "option",
output: "output",
p: "p",
param: "param",
picture: "picture",
pre: "pre",
progress: "progress",
q: "q",
rp: "rp",
rt: "rt",
ruby: "ruby",
s: "s",
samp: "samp",
script: "script",
section: "section",
select: "select",
small: "small",
source: "source",
span: "span",
strong: "strong",
style: "style",
sub: "sub",
summary: "summary",
sup: "sup",
table: "table",
tbody: "tbody",
td: "td",
textarea: "textarea",
tfoot: "tfoot",
th: "th",
thead: "thead",
time: "time",
title: "title",
tr: "tr",
track: "track",
u: "u",
ul: "ul",
"var": "var",
video: "video",
wbr: "wbr",
circle: "circle",
clipPath: "clipPath",
defs: "defs",
ellipse: "ellipse",
g: "g",
line: "line",
linearGradient: "linearGradient",
mask: "mask",
path: "path",
pattern: "pattern",
polygon: "polygon",
polyline: "polyline",
radialGradient: "radialGradient",
rect: "rect",
stop: "stop",
svg: "svg",
text: "text",
tspan: "tspan"
}, r);
e.exports = s
}).call(t, n(56))
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule mapObject
*/
"use strict";
function t(e, t, r) {
if (!e) return null;
var o = {};
for (var i in e) n.call(e, i) && (o[i] = t.call(r, e[i], i, e));
return o
}
var n = Object.prototype.hasOwnProperty;
e.exports = t
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactDOMTextComponent
* @typechecks static-only
*/
"use strict";
var r = n(96),
o = n(100),
i = n(140),
a = n(66),
s = n(99),
u = function() {};
a(u.prototype, {
construct: function(e) {
this._currentElement = e, this._stringText = "" + e, this._rootNodeID = null, this._mountIndex = 0
},
mountComponent: function(e, t) {
this._rootNodeID = e;
var n = s(this._stringText);
return t.renderToStaticMarkup ? n : "<span " + r.createMarkupForID(e) + ">" + n + "</span>"
},
receiveComponent: function(e) {
if (e !== this._currentElement) {
this._currentElement = e;
var t = "" + e;
t !== this._stringText && (this._stringText = t, i.BackendIDOperations.updateTextContentByID(this._rootNodeID, t))
}
},
unmountComponent: function() {
o.unmountIDFromEnvironment(this._rootNodeID)
}
}), e.exports = u
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule DOMPropertyOperations
* @typechecks static-only
*/
"use strict";
function r(e, t) {
return null == t || o.hasBooleanValue[e] && !t || o.hasNumericValue[e] && isNaN(t) || o.hasPositiveNumericValue[e] && 1 > t || o.hasOverloadedBooleanValue[e] && t === !1
}
var o = n(97),
i = n(98),
a = n(68);
if ("production" !== t.env.NODE_ENV) var s = {
children: !0,
dangerouslySetInnerHTML: !0,
key: !0,
ref: !0
},
u = {},
l = function(e) {
if (!(s.hasOwnProperty(e) && s[e] || u.hasOwnProperty(e) && u[e])) {
u[e] = !0;
var n = e.toLowerCase(),
r = o.isCustomAttribute(n) ? n : o.getPossibleStandardName.hasOwnProperty(n) ? o.getPossibleStandardName[n] : null;
"production" !== t.env.NODE_ENV ? a(null == r, "Unknown DOM property %s. Did you mean %s?", e, r) : null
}
};
var c = {
createMarkupForID: function(e) {
return o.ID_ATTRIBUTE_NAME + "=" + i(e)
},
createMarkupForProperty: function(e, n) {
if (o.isStandardName.hasOwnProperty(e) && o.isStandardName[e]) {
if (r(e, n)) return "";
var a = o.getAttributeName[e];
return o.hasBooleanValue[e] || o.hasOverloadedBooleanValue[e] && n === !0 ? a : a + "=" + i(n)
}
return o.isCustomAttribute(e) ? null == n ? "" : e + "=" + i(n) : ("production" !== t.env.NODE_ENV && l(e), null)
},
setValueForProperty: function(e, n, i) {
if (o.isStandardName.hasOwnProperty(n) && o.isStandardName[n]) {
var a = o.getMutationMethod[n];
if (a) a(e, i);
else if (r(n, i)) this.deleteValueForProperty(e, n);
else if (o.mustUseAttribute[n]) e.setAttribute(o.getAttributeName[n], "" + i);
else {
var s = o.getPropertyName[n];
o.hasSideEffects[n] && "" + e[s] == "" + i || (e[s] = i)
}
} else o.isCustomAttribute(n) ? null == i ? e.removeAttribute(n) : e.setAttribute(n, "" + i) : "production" !== t.env.NODE_ENV && l(n)
},
deleteValueForProperty: function(e, n) {
if (o.isStandardName.hasOwnProperty(n) && o.isStandardName[n]) {
var r = o.getMutationMethod[n];
if (r) r(e, void 0);
else if (o.mustUseAttribute[n]) e.removeAttribute(o.getAttributeName[n]);
else {
var i = o.getPropertyName[n],
a = o.getDefaultValueForProperty(e.nodeName, i);
o.hasSideEffects[n] && "" + e[i] === a || (e[i] = a)
}
} else o.isCustomAttribute(n) ? e.removeAttribute(n) : "production" !== t.env.NODE_ENV && l(n)
}
};
e.exports = c
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule DOMProperty
* @typechecks static-only
*/
"use strict";
function r(e, t) {
return (e & t) === t
}
var o = n(60),
i = {
MUST_USE_ATTRIBUTE: 1,
MUST_USE_PROPERTY: 2,
HAS_SIDE_EFFECTS: 4,
HAS_BOOLEAN_VALUE: 8,
HAS_NUMERIC_VALUE: 16,
HAS_POSITIVE_NUMERIC_VALUE: 48,
HAS_OVERLOADED_BOOLEAN_VALUE: 64,
injectDOMPropertyConfig: function(e) {
var n = e.Properties || {},
a = e.DOMAttributeNames || {},
u = e.DOMPropertyNames || {},
l = e.DOMMutationMethods || {};
e.isCustomAttribute && s._isCustomAttributeFunctions.push(e.isCustomAttribute);
for (var c in n) {
"production" !== t.env.NODE_ENV ? o(!s.isStandardName.hasOwnProperty(c), "injectDOMPropertyConfig(...): You're trying to inject DOM property '%s' which has already been injected. You may be accidentally injecting the same DOM property config twice, or you may be injecting two configs that have conflicting property names.", c) : o(!s.isStandardName.hasOwnProperty(c)), s.isStandardName[c] = !0;
var d = c.toLowerCase();
if (s.getPossibleStandardName[d] = c, a.hasOwnProperty(c)) {
var p = a[c];
s.getPossibleStandardName[p] = c, s.getAttributeName[c] = p
} else s.getAttributeName[c] = d;
s.getPropertyName[c] = u.hasOwnProperty(c) ? u[c] : c, s.getMutationMethod[c] = l.hasOwnProperty(c) ? l[c] : null;
var f = n[c];
s.mustUseAttribute[c] = r(f, i.MUST_USE_ATTRIBUTE), s.mustUseProperty[c] = r(f, i.MUST_USE_PROPERTY), s.hasSideEffects[c] = r(f, i.HAS_SIDE_EFFECTS), s.hasBooleanValue[c] = r(f, i.HAS_BOOLEAN_VALUE), s.hasNumericValue[c] = r(f, i.HAS_NUMERIC_VALUE), s.hasPositiveNumericValue[c] = r(f, i.HAS_POSITIVE_NUMERIC_VALUE), s.hasOverloadedBooleanValue[c] = r(f, i.HAS_OVERLOADED_BOOLEAN_VALUE), "production" !== t.env.NODE_ENV ? o(!s.mustUseAttribute[c] || !s.mustUseProperty[c], "DOMProperty: Cannot require using both attribute and property: %s", c) : o(!s.mustUseAttribute[c] || !s.mustUseProperty[c]), "production" !== t.env.NODE_ENV ? o(s.mustUseProperty[c] || !s.hasSideEffects[c], "DOMProperty: Properties that have side effects must use property: %s", c) : o(s.mustUseProperty[c] || !s.hasSideEffects[c]), "production" !== t.env.NODE_ENV ? o(!!s.hasBooleanValue[c] + !!s.hasNumericValue[c] + !!s.hasOverloadedBooleanValue[c] <= 1, "DOMProperty: Value can be one of boolean, overloaded boolean, or numeric value, but not a combination: %s", c) : o(!!s.hasBooleanValue[c] + !!s.hasNumericValue[c] + !!s.hasOverloadedBooleanValue[c] <= 1)
}
}
},
a = {},
s = {
ID_ATTRIBUTE_NAME: "data-reactid",
isStandardName: {},
getPossibleStandardName: {},
getAttributeName: {},
getPropertyName: {},
getMutationMethod: {},
mustUseAttribute: {},
mustUseProperty: {},
hasSideEffects: {},
hasBooleanValue: {},
hasNumericValue: {},
hasPositiveNumericValue: {},
hasOverloadedBooleanValue: {},
_isCustomAttributeFunctions: [],
isCustomAttribute: function(e) {
for (var t = 0; t < s._isCustomAttributeFunctions.length; t++) {
var n = s._isCustomAttributeFunctions[t];
if (n(e)) return !0
}
return !1
},
getDefaultValueForProperty: function(e, t) {
var n, r = a[e];
return r || (a[e] = r = {}), t in r || (n = document.createElement(e), r[t] = n[t]), r[t]
},
injection: i
};
e.exports = s
}).call(t, n(56))
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule quoteAttributeValueForBrowser
*/
"use strict";
function r(e) {
return '"' + o(e) + '"'
}
var o = n(99);
e.exports = r
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule escapeTextContentForBrowser
*/
"use strict";
function t(e) {
return r[e]
}
function n(e) {
return ("" + e).replace(o, t)
}
var r = {
"&": "&amp;",
">": "&gt;",
"<": "&lt;",
'"': "&quot;",
"'": "&#x27;"
},
o = /[&><"']/g;
e.exports = n
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactComponentBrowserEnvironment
*/
"use strict";
var r = n(101),
o = n(120),
i = {
processChildrenUpdates: r.dangerouslyProcessChildrenUpdates,
replaceNodeWithMarkupByID: r.dangerouslyReplaceNodeWithMarkupByID,
unmountIDFromEnvironment: function(e) {
o.purgeID(e)
}
};
e.exports = i
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactDOMIDOperations
* @typechecks static-only
*/
"use strict";
var r = n(102),
o = n(111),
i = n(96),
a = n(120),
s = n(81),
u = n(60),
l = n(119),
c = {
dangerouslySetInnerHTML: "`dangerouslySetInnerHTML` must be set using `updateInnerHTMLByID()`.",
style: "`style` must be set using `updateStylesByID()`."
},
d = {
updatePropertyByID: function(e, n, r) {
var o = a.getNode(e);
"production" !== t.env.NODE_ENV ? u(!c.hasOwnProperty(n), "updatePropertyByID(...): %s", c[n]) : u(!c.hasOwnProperty(n)), null != r ? i.setValueForProperty(o, n, r) : i.deleteValueForProperty(o, n)
},
deletePropertyByID: function(e, n, r) {
var o = a.getNode(e);
"production" !== t.env.NODE_ENV ? u(!c.hasOwnProperty(n), "updatePropertyByID(...): %s", c[n]) : u(!c.hasOwnProperty(n)), i.deleteValueForProperty(o, n, r)
},
updateStylesByID: function(e, t) {
var n = a.getNode(e);
r.setValueForStyles(n, t)
},
updateInnerHTMLByID: function(e, t) {
var n = a.getNode(e);
l(n, t)
},
updateTextContentByID: function(e, t) {
var n = a.getNode(e);
o.updateTextContent(n, t)
},
dangerouslyReplaceNodeWithMarkupByID: function(e, t) {
var n = a.getNode(e);
o.dangerouslyReplaceNodeWithMarkup(n, t)
},
dangerouslyProcessChildrenUpdates: function(e, t) {
for (var n = 0; n < e.length; n++) e[n].parentNode = a.getNode(e[n].parentID);
o.processUpdates(e, t)
}
};
s.measureMethods(d, "ReactDOMIDOperations", {
updatePropertyByID: "updatePropertyByID",
deletePropertyByID: "deletePropertyByID",
updateStylesByID: "updateStylesByID",
updateInnerHTMLByID: "updateInnerHTMLByID",
updateTextContentByID: "updateTextContentByID",
dangerouslyReplaceNodeWithMarkupByID: "dangerouslyReplaceNodeWithMarkupByID",
dangerouslyProcessChildrenUpdates: "dangerouslyProcessChildrenUpdates"
}), e.exports = d
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule CSSPropertyOperations
* @typechecks static-only
*/
"use strict";
var r = n(103),
o = n(104),
i = n(105),
a = n(107),
s = n(108),
u = n(110),
l = n(68),
c = u(function(e) {
return s(e)
}),
d = "cssFloat";
if (o.canUseDOM && void 0 === document.documentElement.style.cssFloat && (d = "styleFloat"), "production" !== t.env.NODE_ENV) var p = /^(?:webkit|moz|o)[A-Z]/,
f = /;\s*$/,
h = {},
m = {},
g = function(e) {
h.hasOwnProperty(e) && h[e] || (h[e] = !0, "production" !== t.env.NODE_ENV ? l(!1, "Unsupported style property %s. Did you mean %s?", e, i(e)) : null)
},
v = function(e) {
h.hasOwnProperty(e) && h[e] || (h[e] = !0, "production" !== t.env.NODE_ENV ? l(!1, "Unsupported vendor-prefixed style property %s. Did you mean %s?", e, e.charAt(0).toUpperCase() + e.slice(1)) : null)
},
y = function(e, n) {
m.hasOwnProperty(n) && m[n] || (m[n] = !0, "production" !== t.env.NODE_ENV ? l(!1, 'Style property values shouldn\'t contain a semicolon. Try "%s: %s" instead.', e, n.replace(f, "")) : null)
},
b = function(e, t) {
e.indexOf("-") > -1 ? g(e) : p.test(e) ? v(e) : f.test(t) && y(e, t)
};
var _ = {
createMarkupForStyles: function(e) {
var n = "";
for (var r in e)
if (e.hasOwnProperty(r)) {
var o = e[r];
"production" !== t.env.NODE_ENV && b(r, o), null != o && (n += c(r) + ":", n += a(r, o) + ";")
}
return n || null
},
setValueForStyles: function(e, n) {
var o = e.style;
for (var i in n)
if (n.hasOwnProperty(i)) {
"production" !== t.env.NODE_ENV && b(i, n[i]);
var s = a(i, n[i]);
if ("float" === i && (i = d), s) o[i] = s;
else {
var u = r.shorthandPropertyExpansions[i];
if (u)
for (var l in u) o[l] = "";
else o[i] = ""
}
}
}
};
e.exports = _
}).call(t, n(56))
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule CSSProperty
*/
"use strict";
function t(e, t) {
return e + t.charAt(0).toUpperCase() + t.substring(1)
}
var n = {
boxFlex: !0,
boxFlexGroup: !0,
columnCount: !0,
flex: !0,
flexGrow: !0,
flexPositive: !0,
flexShrink: !0,
flexNegative: !0,
fontWeight: !0,
lineClamp: !0,
lineHeight: !0,
opacity: !0,
order: !0,
orphans: !0,
widows: !0,
zIndex: !0,
zoom: !0,
fillOpacity: !0,
strokeDashoffset: !0,
strokeOpacity: !0,
strokeWidth: !0
},
r = ["Webkit", "ms", "Moz", "O"];
Object.keys(n).forEach(function(e) {
r.forEach(function(r) {
n[t(r, e)] = n[e]
})
});
var o = {
background: {
backgroundImage: !0,
backgroundPosition: !0,
backgroundRepeat: !0,
backgroundColor: !0
},
border: {
borderWidth: !0,
borderStyle: !0,
borderColor: !0
},
borderBottom: {
borderBottomWidth: !0,
borderBottomStyle: !0,
borderBottomColor: !0
},
borderLeft: {
borderLeftWidth: !0,
borderLeftStyle: !0,
borderLeftColor: !0
},
borderRight: {
borderRightWidth: !0,
borderRightStyle: !0,
borderRightColor: !0
},
borderTop: {
borderTopWidth: !0,
borderTopStyle: !0,
borderTopColor: !0
},
font: {
fontStyle: !0,
fontVariant: !0,
fontWeight: !0,
fontSize: !0,
lineHeight: !0,
fontFamily: !0
}
},
i = {
isUnitlessNumber: n,
shorthandPropertyExpansions: o
};
e.exports = i
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ExecutionEnvironment
*/
"use strict";
var t = !("undefined" == typeof window || !window.document || !window.document.createElement),
n = {
canUseDOM: t,
canUseWorkers: "undefined" != typeof Worker,
canUseEventListeners: t && !(!window.addEventListener && !window.attachEvent),
canUseViewport: t && !!window.screen,
isInWorker: !t
};
e.exports = n
}, function(e, t, n) {
/**
* Copyright 2014-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule camelizeStyleName
* @typechecks
*/
"use strict";
function r(e) {
return o(e.replace(i, "ms-"))
}
var o = n(106),
i = /^-ms-/;
e.exports = r
}, function(e) {
function t(e) {
return e.replace(n, function(e, t) {
return t.toUpperCase()
})
}
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule camelize
* @typechecks
*/
var n = /-(.)/g;
e.exports = t
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule dangerousStyleValue
* @typechecks static-only
*/
"use strict";
function r(e, t) {
var n = null == t || "boolean" == typeof t || "" === t;
if (n) return "";
var r = isNaN(t);
return r || 0 === t || i.hasOwnProperty(e) && i[e] ? "" + t : ("string" == typeof t && (t = t.trim()), t + "px")
}
var o = n(103),
i = o.isUnitlessNumber;
e.exports = r
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule hyphenateStyleName
* @typechecks
*/
"use strict";
function r(e) {
return o(e).replace(i, "-ms-")
}
var o = n(109),
i = /^ms-/;
e.exports = r
}, function(e) {
function t(e) {
return e.replace(n, "-$1").toLowerCase()
}
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule hyphenate
* @typechecks
*/
var n = /([A-Z])/g;
e.exports = t
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule memoizeStringOnly
* @typechecks static-only
*/
"use strict";
function t(e) {
var t = {};
return function(n) {
return t.hasOwnProperty(n) || (t[n] = e.call(this, n)), t[n]
}
}
e.exports = t
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule DOMChildrenOperations
* @typechecks static-only
*/
"use strict";
function r(e, t, n) {
e.insertBefore(t, e.childNodes[n] || null)
}
var o = n(112),
i = n(117),
a = n(118),
s = n(60),
u = {
dangerouslyReplaceNodeWithMarkup: o.dangerouslyReplaceNodeWithMarkup,
updateTextContent: a,
processUpdates: function(e, n) {
for (var u, l = null, c = null, d = 0; d < e.length; d++)
if (u = e[d], u.type === i.MOVE_EXISTING || u.type === i.REMOVE_NODE) {
var p = u.fromIndex,
f = u.parentNode.childNodes[p],
h = u.parentID;
"production" !== t.env.NODE_ENV ? s(f, "processUpdates(): Unable to find child %s of element. This probably means the DOM was unexpectedly mutated (e.g., by the browser), usually due to forgetting a <tbody> when using tables, nesting tags like <form>, <p>, or <a>, or using non-SVG elements in an <svg> parent. Try inspecting the child nodes of the element with React ID `%s`.", p, h) : s(f), l = l || {}, l[h] = l[h] || [], l[h][p] = f, c = c || [], c.push(f)
}
var m = o.dangerouslyRenderMarkup(n);
if (c)
for (var g = 0; g < c.length; g++) c[g].parentNode.removeChild(c[g]);
for (var v = 0; v < e.length; v++) switch (u = e[v], u.type) {
case i.INSERT_MARKUP:
r(u.parentNode, m[u.markupIndex], u.toIndex);
break;
case i.MOVE_EXISTING:
r(u.parentNode, l[u.parentID][u.fromIndex], u.toIndex);
break;
case i.TEXT_CONTENT:
a(u.parentNode, u.textContent);
break;
case i.REMOVE_NODE:
}
}
};
e.exports = u
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule Danger
* @typechecks static-only
*/
"use strict";
function r(e) {
return e.substring(1, e.indexOf(" "))
}
var o = n(104),
i = n(113),
a = n(69),
s = n(116),
u = n(60),
l = /^(<[^ \/>]+)/,
c = "data-danger-index",
d = {
dangerouslyRenderMarkup: function(e) {
"production" !== t.env.NODE_ENV ? u(o.canUseDOM, "dangerouslyRenderMarkup(...): Cannot render markup in a worker thread. Make sure `window` and `document` are available globally before requiring React when unit testing or use React.renderToString for server rendering.") : u(o.canUseDOM);
for (var n, d = {}, p = 0; p < e.length; p++) "production" !== t.env.NODE_ENV ? u(e[p], "dangerouslyRenderMarkup(...): Missing markup.") : u(e[p]), n = r(e[p]), n = s(n) ? n : "*", d[n] = d[n] || [], d[n][p] = e[p];
var f = [],
h = 0;
for (n in d)
if (d.hasOwnProperty(n)) {
var m, g = d[n];
for (m in g)
if (g.hasOwnProperty(m)) {
var v = g[m];
g[m] = v.replace(l, "$1 " + c + '="' + m + '" ')
}
for (var y = i(g.join(""), a), b = 0; b < y.length; ++b) {
var _ = y[b];
_.hasAttribute && _.hasAttribute(c) ? (m = +_.getAttribute(c), _.removeAttribute(c), "production" !== t.env.NODE_ENV ? u(!f.hasOwnProperty(m), "Danger: Assigning to an already-occupied result index.") : u(!f.hasOwnProperty(m)), f[m] = _, h += 1) : "production" !== t.env.NODE_ENV && console.error("Danger: Discarding unexpected node:", _)
}
}
return "production" !== t.env.NODE_ENV ? u(h === f.length, "Danger: Did not assign to every index of resultList.") : u(h === f.length), "production" !== t.env.NODE_ENV ? u(f.length === e.length, "Danger: Expected markup to render %s nodes, but rendered %s.", e.length, f.length) : u(f.length === e.length), f
},
dangerouslyReplaceNodeWithMarkup: function(e, n) {
"production" !== t.env.NODE_ENV ? u(o.canUseDOM, "dangerouslyReplaceNodeWithMarkup(...): Cannot render markup in a worker thread. Make sure `window` and `document` are available globally before requiring React when unit testing or use React.renderToString for server rendering.") : u(o.canUseDOM), "production" !== t.env.NODE_ENV ? u(n, "dangerouslyReplaceNodeWithMarkup(...): Missing markup.") : u(n), "production" !== t.env.NODE_ENV ? u("html" !== e.tagName.toLowerCase(), "dangerouslyReplaceNodeWithMarkup(...): Cannot replace markup of the <html> node. This is because browser quirks make this unreliable and/or slow. If you want to render to the root you must use server rendering. See React.renderToString().") : u("html" !== e.tagName.toLowerCase());
var r = i(n, a)[0];
e.parentNode.replaceChild(r, e)
}
};
e.exports = d
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
function r(e) {
var t = e.match(c);
return t && t[1].toLowerCase()
}
function o(e, n) {
var o = l;
"production" !== t.env.NODE_ENV ? u(!!l, "createNodesFromMarkup dummy not initialized") : u(!!l);
var i = r(e),
c = i && s(i);
if (c) {
o.innerHTML = c[1] + e + c[2];
for (var d = c[0]; d--;) o = o.lastChild
} else o.innerHTML = e;
var p = o.getElementsByTagName("script");
p.length && ("production" !== t.env.NODE_ENV ? u(n, "createNodesFromMarkup(...): Unexpected <script> element rendered.") : u(n), a(p).forEach(n));
for (var f = a(o.childNodes); o.lastChild;) o.removeChild(o.lastChild);
return f
}
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule createNodesFromMarkup
* @typechecks
*/
var i = n(104),
a = n(114),
s = n(116),
u = n(60),
l = i.canUseDOM ? document.createElement("div") : null,
c = /^\s*<(\w+)/;
e.exports = o
}).call(t, n(56))
}, function(e, t, n) {
function r(e) {
return !!e && ("object" == typeof e || "function" == typeof e) && "length" in e && !("setInterval" in e) && "number" != typeof e.nodeType && (Array.isArray(e) || "callee" in e || "item" in e)
}
function o(e) {
return r(e) ? Array.isArray(e) ? e.slice() : i(e) : [e]
}
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule createArrayFromMixed
* @typechecks
*/
var i = n(115);
e.exports = o
}, function(e, t, n) {
(function(t) {
function r(e) {
var n = e.length;
if ("production" !== t.env.NODE_ENV ? o(!Array.isArray(e) && ("object" == typeof e || "function" == typeof e), "toArray: Array-like object expected") : o(!Array.isArray(e) && ("object" == typeof e || "function" == typeof e)), "production" !== t.env.NODE_ENV ? o("number" == typeof n, "toArray: Object needs a length property") : o("number" == typeof n), "production" !== t.env.NODE_ENV ? o(0 === n || n - 1 in e, "toArray: Object should have keys for indices") : o(0 === n || n - 1 in e), e.hasOwnProperty) try {
return Array.prototype.slice.call(e)
} catch (r) {}
for (var i = Array(n), a = 0; n > a; a++) i[a] = e[a];
return i
}
/**
* Copyright 2014-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule toArray
* @typechecks
*/
var o = n(60);
e.exports = r
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
function r(e) {
return "production" !== t.env.NODE_ENV ? i(!!a, "Markup wrapping node not initialized") : i(!!a), p.hasOwnProperty(e) || (e = "*"), s.hasOwnProperty(e) || (a.innerHTML = "*" === e ? "<link />" : "<" + e + "></" + e + ">", s[e] = !a.firstChild), s[e] ? p[e] : null
}
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule getMarkupWrap
*/
var o = n(104),
i = n(60),
a = o.canUseDOM ? document.createElement("div") : null,
s = {
circle: !0,
clipPath: !0,
defs: !0,
ellipse: !0,
g: !0,
line: !0,
linearGradient: !0,
path: !0,
polygon: !0,
polyline: !0,
radialGradient: !0,
rect: !0,
stop: !0,
text: !0
},
u = [1, '<select multiple="true">', "</select>"],
l = [1, "<table>", "</table>"],
c = [3, "<table><tbody><tr>", "</tr></tbody></table>"],
d = [1, "<svg>", "</svg>"],
p = {
"*": [1, "?<div>", "</div>"],
area: [1, "<map>", "</map>"],
col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"],
legend: [1, "<fieldset>", "</fieldset>"],
param: [1, "<object>", "</object>"],
tr: [2, "<table><tbody>", "</tbody></table>"],
optgroup: u,
option: u,
caption: l,
colgroup: l,
tbody: l,
tfoot: l,
thead: l,
td: c,
th: c,
circle: d,
clipPath: d,
defs: d,
ellipse: d,
g: d,
line: d,
linearGradient: d,
path: d,
polygon: d,
polyline: d,
radialGradient: d,
rect: d,
stop: d,
text: d
};
e.exports = r
}).call(t, n(56))
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactMultiChildUpdateTypes
*/
"use strict";
var r = n(59),
o = r({
INSERT_MARKUP: null,
MOVE_EXISTING: null,
REMOVE_NODE: null,
TEXT_CONTENT: null
});
e.exports = o
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule setTextContent
*/
"use strict";
var r = n(104),
o = n(99),
i = n(119),
a = function(e, t) {
e.textContent = t
};
r.canUseDOM && ("textContent" in document.documentElement || (a = function(e, t) {
i(e, o(t))
})), e.exports = a
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule setInnerHTML
*/
"use strict";
var r = n(104),
o = /^[ \r\n\t\f]/,
i = /<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/,
a = function(e, t) {
e.innerHTML = t
};
if ("undefined" != typeof MSApp && MSApp.execUnsafeLocalFunction && (a = function(e, t) {
MSApp.execUnsafeLocalFunction(function() {
e.innerHTML = t
})
}), r.canUseDOM) {
var s = document.createElement("div");
s.innerHTML = " ", "" === s.innerHTML && (a = function(e, t) {
if (e.parentNode && e.parentNode.replaceChild(e, e), o.test(t) || "<" === t[0] && i.test(t)) {
e.innerHTML = "\ufeff" + t;
var n = e.firstChild;
1 === n.data.length ? e.removeChild(n) : n.deleteData(0, 1)
} else e.innerHTML = t
})
}
e.exports = a
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactMount
*/
"use strict";
function r(e, t) {
for (var n = Math.min(e.length, t.length), r = 0; n > r; r++)
if (e.charAt(r) !== t.charAt(r)) return r;
return e.length === t.length ? -1 : n
}
function o(e) {
var t = R(e);
return t && Y.getID(t)
}
function i(e) {
var n = a(e);
if (n)
if (F.hasOwnProperty(n)) {
var r = F[n];
r !== e && ("production" !== t.env.NODE_ENV ? M(!c(r, n), "ReactMount: Two valid but unequal nodes with the same `%s`: %s", U, n) : M(!c(r, n)), F[n] = e)
} else F[n] = e;
return n
}
function a(e) {
return e && e.getAttribute && e.getAttribute(U) || ""
}
function s(e, t) {
var n = a(e);
n !== t && delete F[n], e.setAttribute(U, t), F[t] = e
}
function u(e) {
return F.hasOwnProperty(e) && c(F[e], e) || (F[e] = Y.findReactNodeByID(e)), F[e]
}
function l(e) {
var t = E.get(e)._rootNodeID;
return w.isNullComponentID(t) ? null : (F.hasOwnProperty(t) && c(F[t], t) || (F[t] = Y.findReactNodeByID(t)), F[t])
}
function c(e, n) {
if (e) {
"production" !== t.env.NODE_ENV ? M(a(e) === n, "ReactMount: Unexpected modification of `%s`", U) : M(a(e) === n);
var r = Y.findReactContainerForID(n);
if (r && O(r, e)) return !0
}
return !1
}
function d(e) {
delete F[e]
}
function p(e) {
var t = F[e];
return t && c(t, e) ? void(z = t) : !1
}
function f(e) {
z = null, C.traverseAncestors(e, p);
var t = z;
return z = null, t
}
function h(e, t, n, r, o) {
var i = S.mountComponent(e, t, r, N);
e._isTopLevel = !0, Y._mountImageIntoNode(i, n, o)
}
function m(e, t, n, r) {
var o = D.ReactReconcileTransaction.getPooled();
o.perform(h, null, e, t, n, o, r), D.ReactReconcileTransaction.release(o)
}
var g = n(97),
v = n(121),
y = n(70),
b = n(64),
_ = n(85),
w = n(129),
C = n(72),
E = n(78),
x = n(130),
k = n(81),
S = n(82),
T = n(76),
D = n(79),
N = n(67),
O = n(132),
R = n(135),
P = n(136),
M = n(60),
I = n(119),
A = n(139),
j = n(68),
L = C.SEPARATOR,
U = g.ID_ATTRIBUTE_NAME,
F = {},
B = 1,
V = 9,
H = {},
W = {};
if ("production" !== t.env.NODE_ENV) var q = {};
var $ = [],
z = null,
Y = {
_instancesByReactRootID: H,
scrollMonitor: function(e, t) {
t()
},
_updateRootComponent: function(e, n, r, i) {
return "production" !== t.env.NODE_ENV && _.checkAndWarnForMutatedProps(n), Y.scrollMonitor(r, function() {
T.enqueueElementInternal(e, n), i && T.enqueueCallbackInternal(e, i)
}), "production" !== t.env.NODE_ENV && (q[o(r)] = R(r)), e
},
_registerComponent: function(e, n) {
"production" !== t.env.NODE_ENV ? M(n && (n.nodeType === B || n.nodeType === V), "_registerComponent(...): Target container is not a DOM element.") : M(n && (n.nodeType === B || n.nodeType === V)), v.ensureScrollValueMonitoring();
var r = Y.registerContainer(n);
return H[r] = e, r
},
_renderNewRootComponent: function(e, n, r) {
"production" !== t.env.NODE_ENV ? j(null == y.current, "_renderNewRootComponent(): Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate.") : null;
var o = P(e, null),
i = Y._registerComponent(o, n);
return D.batchedUpdates(m, o, i, n, r), "production" !== t.env.NODE_ENV && (q[i] = R(n)), o
},
render: function(e, n, r) {
"production" !== t.env.NODE_ENV ? M(b.isValidElement(e), "React.render(): Invalid component element.%s", "string" == typeof e ? " Instead of passing an element string, make sure to instantiate it by passing it to React.createElement." : "function" == typeof e ? " Instead of passing a component class, make sure to instantiate it by passing it to React.createElement." : null != e && void 0 !== e.props ? " This may be caused by unintentionally loading two independent copies of React." : "") : M(b.isValidElement(e));
var i = H[o(n)];
if (i) {
var a = i._currentElement;
if (A(a, e)) return Y._updateRootComponent(i, e, n, r).getPublicInstance();
Y.unmountComponentAtNode(n)
}
var s = R(n),
u = s && Y.isRenderedByReact(s);
if ("production" !== t.env.NODE_ENV && (!u || s.nextSibling))
for (var l = s; l;) {
if (Y.isRenderedByReact(l)) {
"production" !== t.env.NODE_ENV ? j(!1, "render(): Target node has markup rendered by React, but there are unrelated nodes as well. This is most commonly caused by white-space inserted around server-rendered markup.") : null;
break
}
l = l.nextSibling
}
var c = u && !i,
d = Y._renderNewRootComponent(e, n, c).getPublicInstance();
return r && r.call(d), d
},
constructAndRenderComponent: function(e, t, n) {
var r = b.createElement(e, t);
return Y.render(r, n)
},
constructAndRenderComponentByID: function(e, n, r) {
var o = document.getElementById(r);
return "production" !== t.env.NODE_ENV ? M(o, 'Tried to get element with id of "%s" but it is not present on the page.', r) : M(o), Y.constructAndRenderComponent(e, n, o)
},
registerContainer: function(e) {
var t = o(e);
return t && (t = C.getReactRootIDFromNodeID(t)), t || (t = C.createReactRootID()), W[t] = e, t
},
unmountComponentAtNode: function(e) {
"production" !== t.env.NODE_ENV ? j(null == y.current, "unmountComponentAtNode(): Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate.") : null, "production" !== t.env.NODE_ENV ? M(e && (e.nodeType === B || e.nodeType === V), "unmountComponentAtNode(...): Target container is not a DOM element.") : M(e && (e.nodeType === B || e.nodeType === V));
var n = o(e),
r = H[n];
return r ? (Y.unmountComponentFromNode(r, e), delete H[n], delete W[n], "production" !== t.env.NODE_ENV && delete q[n], !0) : !1
},
unmountComponentFromNode: function(e, t) {
for (S.unmountComponent(e), t.nodeType === V && (t = t.documentElement); t.lastChild;) t.removeChild(t.lastChild)
},
findReactContainerForID: function(e) {
var n = C.getReactRootIDFromNodeID(e),
r = W[n];
if ("production" !== t.env.NODE_ENV) {
var o = q[n];
if (o && o.parentNode !== r) {
"production" !== t.env.NODE_ENV ? M(a(o) === n, "ReactMount: Root element ID differed from reactRootID.") : M(a(o) === n);
var i = r.firstChild;
i && n === a(i) ? q[n] = i : "production" !== t.env.NODE_ENV ? j(!1, "ReactMount: Root element has been removed from its original container. New container:", o.parentNode) : null
}
}
return r
},
findReactNodeByID: function(e) {
var t = Y.findReactContainerForID(e);
return Y.findComponentRoot(t, e)
},
isRenderedByReact: function(e) {
if (1 !== e.nodeType) return !1;
var t = Y.getID(e);
return t ? t.charAt(0) === L : !1
},
getFirstReactDOM: function(e) {
for (var t = e; t && t.parentNode !== t;) {
if (Y.isRenderedByReact(t)) return t;
t = t.parentNode
}
return null
},
findComponentRoot: function(e, n) {
var r = $,
o = 0,
i = f(n) || e;
for (r[0] = i.firstChild, r.length = 1; o < r.length;) {
for (var a, s = r[o++]; s;) {
var u = Y.getID(s);
u ? n === u ? a = s : C.isAncestorIDOf(u, n) && (r.length = o = 0, r.push(s.firstChild)) : r.push(s.firstChild), s = s.nextSibling
}
if (a) return r.length = 0, a
}
r.length = 0, "production" !== t.env.NODE_ENV ? M(!1, "findComponentRoot(..., %s): Unable to find element. This probably means the DOM was unexpectedly mutated (e.g., by the browser), usually due to forgetting a <tbody> when using tables, nesting tags like <form>, <p>, or <a>, or using non-SVG elements in an <svg> parent. Try inspecting the child nodes of the element with React ID `%s`.", n, Y.getID(e)) : M(!1)
},
_mountImageIntoNode: function(e, n, o) {
if ("production" !== t.env.NODE_ENV ? M(n && (n.nodeType === B || n.nodeType === V), "mountComponentIntoNode(...): Target container is not valid.") : M(n && (n.nodeType === B || n.nodeType === V)), o) {
var i = R(n);
if (x.canReuseMarkup(e, i)) return;
var a = i.getAttribute(x.CHECKSUM_ATTR_NAME);
i.removeAttribute(x.CHECKSUM_ATTR_NAME);
var s = i.outerHTML;
i.setAttribute(x.CHECKSUM_ATTR_NAME, a);
var u = r(e, s),
l = " (client) " + e.substring(u - 20, u + 20) + "\n (server) " + s.substring(u - 20, u + 20);
"production" !== t.env.NODE_ENV ? M(n.nodeType !== V, "You're trying to render a component to the document using server rendering but the checksum was invalid. This usually means you rendered a different component type or props on the client from the one on the server, or your render() methods are impure. React cannot handle this case due to cross-browser quirks by rendering at the document root. You should look for environment dependent code in your components and ensure the props are the same client and server side:\n%s", l) : M(n.nodeType !== V), "production" !== t.env.NODE_ENV && ("production" !== t.env.NODE_ENV ? j(!1, "React attempted to reuse markup in a container but the checksum was invalid. This generally means that you are using server rendering and the markup generated on the server was not what the client was expecting. React injected new markup to compensate which works but you have lost many of the benefits of server rendering. Instead, figure out why the markup being generated is different on the client or server:\n%s", l) : null)
}
"production" !== t.env.NODE_ENV ? M(n.nodeType !== V, "You're trying to render a component to the document but you didn't use server rendering. We can't do this without using server rendering due to cross-browser quirks. See React.renderToString() for server rendering.") : M(n.nodeType !== V), I(n, e)
},
getReactRootID: o,
getID: i,
setID: s,
getNode: u,
getNodeFromInstance: l,
purgeID: d
};
k.measureMethods(Y, "ReactMount", {
_renderNewRootComponent: "_renderNewRootComponent",
_mountImageIntoNode: "_mountImageIntoNode"
}), e.exports = Y
}).call(t, n(56))
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactBrowserEventEmitter
* @typechecks static-only
*/
"use strict";
function r(e) {
return Object.prototype.hasOwnProperty.call(e, m) || (e[m] = f++, d[e[m]] = {}), d[e[m]]
}
var o = n(58),
i = n(122),
a = n(123),
s = n(126),
u = n(127),
l = n(66),
c = n(128),
d = {},
p = !1,
f = 0,
h = {
topBlur: "blur",
topChange: "change",
topClick: "click",
topCompositionEnd: "compositionend",
topCompositionStart: "compositionstart",
topCompositionUpdate: "compositionupdate",
topContextMenu: "contextmenu",
topCopy: "copy",
topCut: "cut",
topDoubleClick: "dblclick",
topDrag: "drag",
topDragEnd: "dragend",
topDragEnter: "dragenter",
topDragExit: "dragexit",
topDragLeave: "dragleave",
topDragOver: "dragover",
topDragStart: "dragstart",
topDrop: "drop",
topFocus: "focus",
topInput: "input",
topKeyDown: "keydown",
topKeyPress: "keypress",
topKeyUp: "keyup",
topMouseDown: "mousedown",
topMouseMove: "mousemove",
topMouseOut: "mouseout",
topMouseOver: "mouseover",
topMouseUp: "mouseup",
topPaste: "paste",
topScroll: "scroll",
topSelectionChange: "selectionchange",
topTextInput: "textInput",
topTouchCancel: "touchcancel",
topTouchEnd: "touchend",
topTouchMove: "touchmove",
topTouchStart: "touchstart",
topWheel: "wheel"
},
m = "_reactListenersID" + String(Math.random()).slice(2),
g = l({}, s, {
ReactEventListener: null,
injection: {
injectReactEventListener: function(e) {
e.setHandleTopLevel(g.handleTopLevel), g.ReactEventListener = e
}
},
setEnabled: function(e) {
g.ReactEventListener && g.ReactEventListener.setEnabled(e)
},
isEnabled: function() {
return !(!g.ReactEventListener || !g.ReactEventListener.isEnabled())
},
listenTo: function(e, t) {
for (var n = t, i = r(n), s = a.registrationNameDependencies[e], u = o.topLevelTypes, l = 0, d = s.length; d > l; l++) {
var p = s[l];
i.hasOwnProperty(p) && i[p] || (p === u.topWheel ? c("wheel") ? g.ReactEventListener.trapBubbledEvent(u.topWheel, "wheel", n) : c("mousewheel") ? g.ReactEventListener.trapBubbledEvent(u.topWheel, "mousewheel", n) : g.ReactEventListener.trapBubbledEvent(u.topWheel, "DOMMouseScroll", n) : p === u.topScroll ? c("scroll", !0) ? g.ReactEventListener.trapCapturedEvent(u.topScroll, "scroll", n) : g.ReactEventListener.trapBubbledEvent(u.topScroll, "scroll", g.ReactEventListener.WINDOW_HANDLE) : p === u.topFocus || p === u.topBlur ? (c("focus", !0) ? (g.ReactEventListener.trapCapturedEvent(u.topFocus, "focus", n), g.ReactEventListener.trapCapturedEvent(u.topBlur, "blur", n)) : c("focusin") && (g.ReactEventListener.trapBubbledEvent(u.topFocus, "focusin", n), g.ReactEventListener.trapBubbledEvent(u.topBlur, "focusout", n)), i[u.topBlur] = !0, i[u.topFocus] = !0) : h.hasOwnProperty(p) && g.ReactEventListener.trapBubbledEvent(p, h[p], n), i[p] = !0)
}
},
trapBubbledEvent: function(e, t, n) {
return g.ReactEventListener.trapBubbledEvent(e, t, n)
},
trapCapturedEvent: function(e, t, n) {
return g.ReactEventListener.trapCapturedEvent(e, t, n)
},
ensureScrollValueMonitoring: function() {
if (!p) {
var e = u.refreshScrollValues;
g.ReactEventListener.monitorScrollValue(e), p = !0
}
},
eventNameDispatchConfigs: i.eventNameDispatchConfigs,
registrationNameModules: i.registrationNameModules,
putListener: i.putListener,
getListener: i.getListener,
deleteListener: i.deleteListener,
deleteAllListeners: i.deleteAllListeners
});
e.exports = g
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule EventPluginHub
*/
"use strict";
function r() {
var e = p && p.traverseTwoPhase && p.traverseEnterLeave;
"production" !== t.env.NODE_ENV ? u(e, "InstanceHandle not injected before use!") : u(e)
}
var o = n(123),
i = n(57),
a = n(124),
s = n(125),
u = n(60),
l = {},
c = null,
d = function(e) {
if (e) {
var t = i.executeDispatch,
n = o.getPluginModuleForEvent(e);
n && n.executeDispatch && (t = n.executeDispatch), i.executeDispatchesInOrder(e, t), e.isPersistent() || e.constructor.release(e)
}
},
p = null,
f = {
injection: {
injectMount: i.injection.injectMount,
injectInstanceHandle: function(e) {
p = e, "production" !== t.env.NODE_ENV && r()
},
getInstanceHandle: function() {
return "production" !== t.env.NODE_ENV && r(), p
},
injectEventPluginOrder: o.injectEventPluginOrder,
injectEventPluginsByName: o.injectEventPluginsByName
},
eventNameDispatchConfigs: o.eventNameDispatchConfigs,
registrationNameModules: o.registrationNameModules,
putListener: function(e, n, r) {
"production" !== t.env.NODE_ENV ? u(!r || "function" == typeof r, "Expected %s listener to be a function, instead got type %s", n, typeof r) : u(!r || "function" == typeof r);
var o = l[n] || (l[n] = {});
o[e] = r
},
getListener: function(e, t) {
var n = l[t];
return n && n[e]
},
deleteListener: function(e, t) {
var n = l[t];
n && delete n[e]
},
deleteAllListeners: function(e) {
for (var t in l) delete l[t][e]
},
extractEvents: function(e, t, n, r) {
for (var i, s = o.plugins, u = 0, l = s.length; l > u; u++) {
var c = s[u];
if (c) {
var d = c.extractEvents(e, t, n, r);
d && (i = a(i, d))
}
}
return i
},
enqueueEvents: function(e) {
e && (c = a(c, e))
},
processEventQueue: function() {
var e = c;
c = null, s(e, d), "production" !== t.env.NODE_ENV ? u(!c, "processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented.") : u(!c)
},
__purge: function() {
l = {}
},
__getListenerBank: function() {
return l
}
};
e.exports = f
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule EventPluginRegistry
* @typechecks static-only
*/
"use strict";
function r() {
if (s)
for (var e in u) {
var n = u[e],
r = s.indexOf(e);
if ("production" !== t.env.NODE_ENV ? a(r > -1, "EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `%s`.", e) : a(r > -1), !l.plugins[r]) {
"production" !== t.env.NODE_ENV ? a(n.extractEvents, "EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `%s` does not.", e) : a(n.extractEvents), l.plugins[r] = n;
var i = n.eventTypes;
for (var c in i) "production" !== t.env.NODE_ENV ? a(o(i[c], n, c), "EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.", c, e) : a(o(i[c], n, c))
}
}
}
function o(e, n, r) {
"production" !== t.env.NODE_ENV ? a(!l.eventNameDispatchConfigs.hasOwnProperty(r), "EventPluginHub: More than one plugin attempted to publish the same event name, `%s`.", r) : a(!l.eventNameDispatchConfigs.hasOwnProperty(r)), l.eventNameDispatchConfigs[r] = e;
var o = e.phasedRegistrationNames;
if (o) {
for (var s in o)
if (o.hasOwnProperty(s)) {
var u = o[s];
i(u, n, r)
}
return !0
}
return e.registrationName ? (i(e.registrationName, n, r), !0) : !1
}
function i(e, n, r) {
"production" !== t.env.NODE_ENV ? a(!l.registrationNameModules[e], "EventPluginHub: More than one plugin attempted to publish the same registration name, `%s`.", e) : a(!l.registrationNameModules[e]), l.registrationNameModules[e] = n, l.registrationNameDependencies[e] = n.eventTypes[r].dependencies
}
var a = n(60),
s = null,
u = {},
l = {
plugins: [],
eventNameDispatchConfigs: {},
registrationNameModules: {},
registrationNameDependencies: {},
injectEventPluginOrder: function(e) {
"production" !== t.env.NODE_ENV ? a(!s, "EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React.") : a(!s), s = Array.prototype.slice.call(e), r()
},
injectEventPluginsByName: function(e) {
var n = !1;
for (var o in e)
if (e.hasOwnProperty(o)) {
var i = e[o];
u.hasOwnProperty(o) && u[o] === i || ("production" !== t.env.NODE_ENV ? a(!u[o], "EventPluginRegistry: Cannot inject two different event plugins using the same name, `%s`.", o) : a(!u[o]), u[o] = i, n = !0)
}
n && r()
},
getPluginModuleForEvent: function(e) {
var t = e.dispatchConfig;
if (t.registrationName) return l.registrationNameModules[t.registrationName] || null;
for (var n in t.phasedRegistrationNames)
if (t.phasedRegistrationNames.hasOwnProperty(n)) {
var r = l.registrationNameModules[t.phasedRegistrationNames[n]];
if (r) return r
}
return null
},
_resetEventPlugins: function() {
s = null;
for (var e in u) u.hasOwnProperty(e) && delete u[e];
l.plugins.length = 0;
var t = l.eventNameDispatchConfigs;
for (var n in t) t.hasOwnProperty(n) && delete t[n];
var r = l.registrationNameModules;
for (var o in r) r.hasOwnProperty(o) && delete r[o]
}
};
e.exports = l
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2014-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule accumulateInto
*/
"use strict";
function r(e, n) {
if ("production" !== t.env.NODE_ENV ? o(null != n, "accumulateInto(...): Accumulated items must not be null or undefined.") : o(null != n), null == e) return n;
var r = Array.isArray(e),
i = Array.isArray(n);
return r && i ? (e.push.apply(e, n), e) : r ? (e.push(n), e) : i ? [e].concat(n) : [e, n]
}
var o = n(60);
e.exports = r
}).call(t, n(56))
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule forEachAccumulated
*/
"use strict";
var t = function(e, t, n) {
Array.isArray(e) ? e.forEach(t, n) : e && t.call(n, e)
};
e.exports = t
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactEventEmitterMixin
*/
"use strict";
function r(e) {
o.enqueueEvents(e), o.processEventQueue()
}
var o = n(122),
i = {
handleTopLevel: function(e, t, n, i) {
var a = o.extractEvents(e, t, n, i);
r(a)
}
};
e.exports = i
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ViewportMetrics
*/
"use strict";
var t = {
currentScrollLeft: 0,
currentScrollTop: 0,
refreshScrollValues: function(e) {
t.currentScrollLeft = e.x, t.currentScrollTop = e.y
}
};
e.exports = t
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule isEventSupported
*/
"use strict";
function r(e, t) {
if (!i.canUseDOM || t && !("addEventListener" in document)) return !1;
var n = "on" + e,
r = n in document;
if (!r) {
var a = document.createElement("div");
a.setAttribute(n, "return;"), r = "function" == typeof a[n]
}
return !r && o && "wheel" === e && (r = document.implementation.hasFeature("Events.wheel", "3.0")), r
}
var o, i = n(104);
i.canUseDOM && (o = document.implementation && document.implementation.hasFeature && document.implementation.hasFeature("", "") !== !0), e.exports = r
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2014-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactEmptyComponent
*/
"use strict";
function r(e) {
c[e] = !0
}
function o(e) {
delete c[e]
}
function i(e) {
return !!c[e]
}
var a, s = n(64),
u = n(78),
l = n(60),
c = {},
d = {
injectEmptyComponent: function(e) {
a = s.createFactory(e)
}
},
p = function() {};
p.prototype.componentDidMount = function() {
var e = u.get(this);
e && r(e._rootNodeID)
}, p.prototype.componentWillUnmount = function() {
var e = u.get(this);
e && o(e._rootNodeID)
}, p.prototype.render = function() {
return "production" !== t.env.NODE_ENV ? l(a, "Trying to return null from a render, but no null placeholder component was injected.") : l(a), a()
};
var f = s.createElement(p),
h = {
emptyElement: f,
injection: d,
isNullComponentID: i
};
e.exports = h
}).call(t, n(56))
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactMarkupChecksum
*/
"use strict";
var r = n(131),
o = {
CHECKSUM_ATTR_NAME: "data-react-checksum",
addChecksumToMarkup: function(e) {
var t = r(e);
return e.replace(">", " " + o.CHECKSUM_ATTR_NAME + '="' + t + '">')
},
canReuseMarkup: function(e, t) {
var n = t.getAttribute(o.CHECKSUM_ATTR_NAME);
n = n && parseInt(n, 10);
var i = r(e);
return i === n
}
};
e.exports = o
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule adler32
*/
"use strict";
function t(e) {
for (var t = 1, r = 0, o = 0; o < e.length; o++) t = (t + e.charCodeAt(o)) % n, r = (r + t) % n;
return t | r << 16
}
var n = 65521;
e.exports = t
}, function(e, t, n) {
function r(e, t) {
return e && t ? e === t ? !0 : o(e) ? !1 : o(t) ? r(e, t.parentNode) : e.contains ? e.contains(t) : e.compareDocumentPosition ? !!(16 & e.compareDocumentPosition(t)) : !1 : !1
}
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule containsNode
* @typechecks
*/
var o = n(133);
e.exports = r
}, function(e, t, n) {
function r(e) {
return o(e) && 3 == e.nodeType
}
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule isTextNode
* @typechecks
*/
var o = n(134);
e.exports = r
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule isNode
* @typechecks
*/
function t(e) {
return !(!e || !("function" == typeof Node ? e instanceof Node : "object" == typeof e && "number" == typeof e.nodeType && "string" == typeof e.nodeName))
}
e.exports = t
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule getReactRootElementInContainer
*/
"use strict";
function t(e) {
return e ? e.nodeType === n ? e.documentElement : e.firstChild : null
}
var n = 9;
e.exports = t
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule instantiateReactComponent
* @typechecks static-only
*/
"use strict";
function r(e) {
return "function" == typeof e && "undefined" != typeof e.prototype && "function" == typeof e.prototype.mountComponent && "function" == typeof e.prototype.receiveComponent
}
function o(e, n) {
var o;
if ((null === e || e === !1) && (e = a.emptyElement), "object" == typeof e) {
var i = e;
"production" !== t.env.NODE_ENV && ("production" !== t.env.NODE_ENV ? c(i && ("function" == typeof i.type || "string" == typeof i.type), "Only functions or strings can be mounted as React components.") : null), o = n === i.type && "string" == typeof i.type ? s.createInternalComponent(i) : r(i.type) ? new i.type(i) : new d
} else "string" == typeof e || "number" == typeof e ? o = s.createInstanceForText(e) : "production" !== t.env.NODE_ENV ? l(!1, "Encountered invalid React node of type %s", typeof e) : l(!1);
return "production" !== t.env.NODE_ENV && ("production" !== t.env.NODE_ENV ? c("function" == typeof o.construct && "function" == typeof o.mountComponent && "function" == typeof o.receiveComponent && "function" == typeof o.unmountComponent, "Only React Components can be mounted.") : null), o.construct(e), o._mountIndex = 0, o._mountImage = null, "production" !== t.env.NODE_ENV && (o._isOwnerNecessary = !1, o._warnedAboutRefsInRender = !1), "production" !== t.env.NODE_ENV && Object.preventExtensions && Object.preventExtensions(o), o
}
var i = n(137),
a = n(129),
s = n(88),
u = n(66),
l = n(60),
c = n(68),
d = function() {};
u(d.prototype, i.Mixin, {
_instantiateReactComponent: o
}), e.exports = o
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactCompositeComponent
*/
"use strict";
function r(e) {
var t = e._currentElement._owner || null;
if (t) {
var n = t.getName();
if (n) return " Check the render method of `" + n + "`."
}
return ""
}
var o = n(138),
i = n(65),
a = n(70),
s = n(64),
u = n(85),
l = n(78),
c = n(77),
d = n(88),
p = n(81),
f = n(86),
h = n(87),
m = n(82),
g = n(79),
v = n(66),
y = n(67),
b = n(60),
_ = n(139),
w = n(68),
C = 1,
E = {
construct: function(e) {
this._currentElement = e, this._rootNodeID = null, this._instance = null, this._pendingElement = null, this._pendingStateQueue = null, this._pendingReplaceState = !1, this._pendingForceUpdate = !1, this._renderedComponent = null, this._context = null, this._mountOrder = 0, this._isTopLevel = !1, this._pendingCallbacks = null
},
mountComponent: function(e, n, r) {
this._context = r, this._mountOrder = C++, this._rootNodeID = e;
var o = this._processProps(this._currentElement.props),
i = this._processContext(this._currentElement._context),
a = d.getComponentClassForElement(this._currentElement),
s = new a(o, i);
"production" !== t.env.NODE_ENV && ("production" !== t.env.NODE_ENV ? w(null != s.render, "%s(...): No `render` method found on the returned component instance: you may have forgotten to define `render` in your component or you may have accidentally tried to render an element whose type is a function that isn't a React component.", a.displayName || a.name || "Component") : null), s.props = o, s.context = i, s.refs = y, this._instance = s, l.set(s, this), "production" !== t.env.NODE_ENV && this._warnIfContextsDiffer(this._currentElement._context, r), "production" !== t.env.NODE_ENV && ("production" !== t.env.NODE_ENV ? w(!s.getInitialState || s.getInitialState.isReactClassApproved, "getInitialState was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Did you mean to define a state property instead?", this.getName() || "a component") : null, "production" !== t.env.NODE_ENV ? w(!s.getDefaultProps || s.getDefaultProps.isReactClassApproved, "getDefaultProps was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Use a static property to define defaultProps instead.", this.getName() || "a component") : null, "production" !== t.env.NODE_ENV ? w(!s.propTypes, "propTypes was defined as an instance property on %s. Use a static property to define propTypes instead.", this.getName() || "a component") : null, "production" !== t.env.NODE_ENV ? w(!s.contextTypes, "contextTypes was defined as an instance property on %s. Use a static property to define contextTypes instead.", this.getName() || "a component") : null, "production" !== t.env.NODE_ENV ? w("function" != typeof s.componentShouldUpdate, "%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.", this.getName() || "A component") : null);
var u = s.state;
void 0 === u && (s.state = u = null), "production" !== t.env.NODE_ENV ? b("object" == typeof u && !Array.isArray(u), "%s.state: must be set to an object or null", this.getName() || "ReactCompositeComponent") : b("object" == typeof u && !Array.isArray(u)), this._pendingStateQueue = null, this._pendingReplaceState = !1, this._pendingForceUpdate = !1;
var p, f, h = c.currentlyMountingInstance;
c.currentlyMountingInstance = this;
try {
s.componentWillMount && (s.componentWillMount(), this._pendingStateQueue && (s.state = this._processPendingState(s.props, s.context))), p = this._getValidatedChildContext(r), f = this._renderValidatedComponent(p)
} finally {
c.currentlyMountingInstance = h
}
this._renderedComponent = this._instantiateReactComponent(f, this._currentElement.type);
var g = m.mountComponent(this._renderedComponent, e, n, this._mergeChildContext(r, p));
return s.componentDidMount && n.getReactMountReady().enqueue(s.componentDidMount, s), g
},
unmountComponent: function() {
var e = this._instance;
if (e.componentWillUnmount) {
var t = c.currentlyUnmountingInstance;
c.currentlyUnmountingInstance = this;
try {
e.componentWillUnmount()
} finally {
c.currentlyUnmountingInstance = t
}
}
m.unmountComponent(this._renderedComponent), this._renderedComponent = null, this._pendingStateQueue = null, this._pendingReplaceState = !1, this._pendingForceUpdate = !1, this._pendingCallbacks = null, this._pendingElement = null, this._context = null, this._rootNodeID = null, l.remove(e)
},
_setPropsInternal: function(e, t) {
var n = this._pendingElement || this._currentElement;
this._pendingElement = s.cloneAndReplaceProps(n, v({}, n.props, e)), g.enqueueUpdate(this, t)
},
_maskContext: function(e) {
var t = null;
if ("string" == typeof this._currentElement.type) return y;
var n = this._currentElement.type.contextTypes;
if (!n) return y;
t = {};
for (var r in n) t[r] = e[r];
return t
},
_processContext: function(e) {
var n = this._maskContext(e);
if ("production" !== t.env.NODE_ENV) {
var r = d.getComponentClassForElement(this._currentElement);
r.contextTypes && this._checkPropTypes(r.contextTypes, n, f.context)
}
return n
},
_getValidatedChildContext: function() {
var e = this._instance,
n = e.getChildContext && e.getChildContext();
if (n) {
"production" !== t.env.NODE_ENV ? b("object" == typeof e.constructor.childContextTypes, "%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().", this.getName() || "ReactCompositeComponent") : b("object" == typeof e.constructor.childContextTypes), "production" !== t.env.NODE_ENV && this._checkPropTypes(e.constructor.childContextTypes, n, f.childContext);
for (var r in n) "production" !== t.env.NODE_ENV ? b(r in e.constructor.childContextTypes, '%s.getChildContext(): key "%s" is not defined in childContextTypes.', this.getName() || "ReactCompositeComponent", r) : b(r in e.constructor.childContextTypes);
return n
}
return null
},
_mergeChildContext: function(e, t) {
return t ? v({}, e, t) : e
},
_processProps: function(e) {
if ("production" !== t.env.NODE_ENV) {
var n = d.getComponentClassForElement(this._currentElement);
n.propTypes && this._checkPropTypes(n.propTypes, e, f.prop)
}
return e
},
_checkPropTypes: function(e, n, o) {
var i = this.getName();
for (var a in e)
if (e.hasOwnProperty(a)) {
var s;
try {
"production" !== t.env.NODE_ENV ? b("function" == typeof e[a], "%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.", i || "React class", h[o], a) : b("function" == typeof e[a]), s = e[a](n, a, i, o)
} catch (u) {
s = u
}
if (s instanceof Error) {
var l = r(this);
o === f.prop ? "production" !== t.env.NODE_ENV ? w(!1, "Failed Composite propType: %s%s", s.message, l) : null : "production" !== t.env.NODE_ENV ? w(!1, "Failed Context Types: %s%s", s.message, l) : null
}
}
},
receiveComponent: function(e, t, n) {
var r = this._currentElement,
o = this._context;
this._pendingElement = null, this.updateComponent(t, r, e, o, n)
},
performUpdateIfNecessary: function(e) {
null != this._pendingElement && m.receiveComponent(this, this._pendingElement || this._currentElement, e, this._context), (null !== this._pendingStateQueue || this._pendingForceUpdate) && ("production" !== t.env.NODE_ENV && u.checkAndWarnForMutatedProps(this._currentElement), this.updateComponent(e, this._currentElement, this._currentElement, this._context, this._context))
},
_warnIfContextsDiffer: function(e, n) {
e = this._maskContext(e), n = this._maskContext(n);
for (var r = Object.keys(n).sort(), o = this.getName() || "ReactCompositeComponent", i = 0; i < r.length; i++) {
var a = r[i];
"production" !== t.env.NODE_ENV ? w(e[a] === n[a], "owner-based and parent-based contexts differ (values: `%s` vs `%s`) for key (%s) while mounting %s (see: http://fb.me/react-context-by-parent)", e[a], n[a], a, o) : null
}
},
updateComponent: function(e, n, r, o, i) {
var a = this._instance,
s = a.context,
u = a.props;
n !== r && (s = this._processContext(r._context), u = this._processProps(r.props), "production" !== t.env.NODE_ENV && null != i && this._warnIfContextsDiffer(r._context, i), a.componentWillReceiveProps && a.componentWillReceiveProps(u, s));
var l = this._processPendingState(u, s),
c = this._pendingForceUpdate || !a.shouldComponentUpdate || a.shouldComponentUpdate(u, l, s);
"production" !== t.env.NODE_ENV && ("production" !== t.env.NODE_ENV ? w("undefined" != typeof c, "%s.shouldComponentUpdate(): Returned undefined instead of a boolean value. Make sure to return true or false.", this.getName() || "ReactCompositeComponent") : null), c ? (this._pendingForceUpdate = !1, this._performComponentUpdate(r, u, l, s, e, i)) : (this._currentElement = r, this._context = i, a.props = u, a.state = l, a.context = s)
},
_processPendingState: function(e, t) {
var n = this._instance,
r = this._pendingStateQueue,
o = this._pendingReplaceState;
if (this._pendingReplaceState = !1, this._pendingStateQueue = null, !r) return n.state;
if (o && 1 === r.length) return r[0];
for (var i = v({}, o ? r[0] : n.state), a = o ? 1 : 0; a < r.length; a++) {
var s = r[a];
v(i, "function" == typeof s ? s.call(n, i, e, t) : s)
}
return i
},
_performComponentUpdate: function(e, t, n, r, o, i) {
var a = this._instance,
s = a.props,
u = a.state,
l = a.context;
a.componentWillUpdate && a.componentWillUpdate(t, n, r), this._currentElement = e, this._context = i, a.props = t, a.state = n, a.context = r, this._updateRenderedComponent(o, i), a.componentDidUpdate && o.getReactMountReady().enqueue(a.componentDidUpdate.bind(a, s, u, l), a)
},
_updateRenderedComponent: function(e, t) {
var n = this._renderedComponent,
r = n._currentElement,
o = this._getValidatedChildContext(),
i = this._renderValidatedComponent(o);
if (_(r, i)) m.receiveComponent(n, i, e, this._mergeChildContext(t, o));
else {
var a = this._rootNodeID,
s = n._rootNodeID;
m.unmountComponent(n), this._renderedComponent = this._instantiateReactComponent(i, this._currentElement.type);
var u = m.mountComponent(this._renderedComponent, a, e, this._mergeChildContext(t, o));
this._replaceNodeWithMarkupByID(s, u)
}
},
_replaceNodeWithMarkupByID: function(e, t) {
o.replaceNodeWithMarkupByID(e, t)
},
_renderValidatedComponentWithoutOwnerOrContext: function() {
var e = this._instance,
n = e.render();
return "production" !== t.env.NODE_ENV && "undefined" == typeof n && e.render._isMockFunction && (n = null), n
},
_renderValidatedComponent: function(e) {
var n, r = i.current;
i.current = this._mergeChildContext(this._currentElement._context, e), a.current = this;
try {
n = this._renderValidatedComponentWithoutOwnerOrContext()
} finally {
i.current = r, a.current = null
}
return "production" !== t.env.NODE_ENV ? b(null === n || n === !1 || s.isValidElement(n), "%s.render(): A valid ReactComponent must be returned. You may have returned undefined, an array or some other invalid object.", this.getName() || "ReactCompositeComponent") : b(null === n || n === !1 || s.isValidElement(n)), n
},
attachRef: function(e, t) {
var n = this.getPublicInstance(),
r = n.refs === y ? n.refs = {} : n.refs;
r[e] = t.getPublicInstance()
},
detachRef: function(e) {
var t = this.getPublicInstance().refs;
delete t[e]
},
getName: function() {
var e = this._currentElement.type,
t = this._instance && this._instance.constructor;
return e.displayName || t && t.displayName || e.name || t && t.name || null
},
getPublicInstance: function() {
return this._instance
},
_instantiateReactComponent: null
};
p.measureMethods(E, "ReactCompositeComponent", {
mountComponent: "mountComponent",
updateComponent: "updateComponent",
_renderValidatedComponent: "_renderValidatedComponent"
});
var x = {
Mixin: E
};
e.exports = x
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2014-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactComponentEnvironment
*/
"use strict";
var r = n(60),
o = !1,
i = {
unmountIDFromEnvironment: null,
replaceNodeWithMarkupByID: null,
processChildrenUpdates: null,
injection: {
injectEnvironment: function(e) {
"production" !== t.env.NODE_ENV ? r(!o, "ReactCompositeComponent: injectEnvironment() can only be called once.") : r(!o), i.unmountIDFromEnvironment = e.unmountIDFromEnvironment, i.replaceNodeWithMarkupByID = e.replaceNodeWithMarkupByID, i.processChildrenUpdates = e.processChildrenUpdates, o = !0
}
}
};
e.exports = i
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule shouldUpdateReactComponent
* @typechecks static-only
*/
"use strict";
function r(e, n) {
if (null != e && null != n) {
var r = typeof e,
i = typeof n;
if ("string" === r || "number" === r) return "string" === i || "number" === i;
if ("object" === i && e.type === n.type && e.key === n.key) {
var a = e._owner === n._owner,
s = null,
u = null,
l = null;
return "production" !== t.env.NODE_ENV && (a || (null != e._owner && null != e._owner.getPublicInstance() && null != e._owner.getPublicInstance().constructor && (s = e._owner.getPublicInstance().constructor.displayName), null != n._owner && null != n._owner.getPublicInstance() && null != n._owner.getPublicInstance().constructor && (u = n._owner.getPublicInstance().constructor.displayName), null != n.type && null != n.type.displayName && (l = n.type.displayName), null != n.type && "string" == typeof n.type && (l = n.type), ("string" != typeof n.type || "input" === n.type || "textarea" === n.type) && (null != e._owner && e._owner._isOwnerNecessary === !1 || null != n._owner && n._owner._isOwnerNecessary === !1) && (null != e._owner && (e._owner._isOwnerNecessary = !0), null != n._owner && (n._owner._isOwnerNecessary = !0), "production" !== t.env.NODE_ENV ? o(!1, "<%s /> is being rendered by both %s and %s using the same key (%s) in the same place. Currently, this means that they don't preserve state. This behavior should be very rare so we're considering deprecating it. Please contact the React team and explain your use case so that we can take that into consideration.", l || "Unknown Component", s || "[Unknown]", u || "[Unknown]", e.key) : null))), a
}
}
return !1
}
var o = n(68);
e.exports = r
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactDOMComponent
* @typechecks static-only
*/
"use strict";
function r(e) {
e && (null != e.dangerouslySetInnerHTML && ("production" !== t.env.NODE_ENV ? v(null == e.children, "Can only set one of `children` or `props.dangerouslySetInnerHTML`.") : v(null == e.children), "production" !== t.env.NODE_ENV ? v("object" == typeof e.dangerouslySetInnerHTML && "__html" in e.dangerouslySetInnerHTML, "`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://fb.me/react-invariant-dangerously-set-inner-html for more information.") : v("object" == typeof e.dangerouslySetInnerHTML && "__html" in e.dangerouslySetInnerHTML)), "production" !== t.env.NODE_ENV && ("production" !== t.env.NODE_ENV ? _(null == e.innerHTML, "Directly setting property `innerHTML` is not permitted. For more information, lookup documentation on `dangerouslySetInnerHTML`.") : null, "production" !== t.env.NODE_ENV ? _(!e.contentEditable || null == e.children, "A component is `contentEditable` and contains `children` managed by React. It is now your responsibility to guarantee that none of those nodes are unexpectedly modified or duplicated. This is probably not intentional.") : null), "production" !== t.env.NODE_ENV ? v(null == e.style || "object" == typeof e.style, "The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.") : v(null == e.style || "object" == typeof e.style))
}
function o(e, n, r, o) {
"production" !== t.env.NODE_ENV && ("production" !== t.env.NODE_ENV ? _("onScroll" !== n || y("scroll", !0), "This browser doesn't support the `onScroll` event") : null);
var i = p.findReactContainerForID(e);
if (i) {
var a = i.nodeType === S ? i.ownerDocument : i;
C(n, a)
}
o.getPutListenerQueue().enqueuePutListener(e, n, r)
}
function i(e) {
R.call(O, e) || ("production" !== t.env.NODE_ENV ? v(N.test(e), "Invalid tag: %s", e) : v(N.test(e)), O[e] = !0)
}
function a(e) {
i(e), this._tag = e, this._renderedChildren = null, this._previousStyleCopy = null, this._rootNodeID = null
}
var s = n(102),
u = n(97),
l = n(96),
c = n(121),
d = n(100),
p = n(120),
f = n(141),
h = n(81),
m = n(66),
g = n(99),
v = n(60),
y = n(128),
b = n(92),
_ = n(68),
w = c.deleteListener,
C = c.listenTo,
E = c.registrationNameModules,
x = {
string: !0,
number: !0
},
k = b({
style: null
}),
S = 1,
T = null,
D = {
area: !0,
base: !0,
br: !0,
col: !0,
embed: !0,
hr: !0,
img: !0,
input: !0,
keygen: !0,
link: !0,
meta: !0,
param: !0,
source: !0,
track: !0,
wbr: !0
},
N = /^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,
O = {},
R = {}.hasOwnProperty;
a.displayName = "ReactDOMComponent", a.Mixin = {
construct: function(e) {
this._currentElement = e
},
mountComponent: function(e, t, n) {
this._rootNodeID = e, r(this._currentElement.props);
var o = D[this._tag] ? "" : "</" + this._tag + ">";
return this._createOpenTagMarkupAndPutListeners(t) + this._createContentMarkup(t, n) + o
},
_createOpenTagMarkupAndPutListeners: function(e) {
var t = this._currentElement.props,
n = "<" + this._tag;
for (var r in t)
if (t.hasOwnProperty(r)) {
var i = t[r];
if (null != i)
if (E.hasOwnProperty(r)) o(this._rootNodeID, r, i, e);
else {
r === k && (i && (i = this._previousStyleCopy = m({}, t.style)), i = s.createMarkupForStyles(i));
var a = l.createMarkupForProperty(r, i);
a && (n += " " + a)
}
}
if (e.renderToStaticMarkup) return n + ">";
var u = l.createMarkupForID(this._rootNodeID);
return n + " " + u + ">"
},
_createContentMarkup: function(e, t) {
var n = "";
("listing" === this._tag || "pre" === this._tag || "textarea" === this._tag) && (n = "\n");
var r = this._currentElement.props,
o = r.dangerouslySetInnerHTML;
if (null != o) {
if (null != o.__html) return n + o.__html
} else {
var i = x[typeof r.children] ? r.children : null,
a = null != i ? null : r.children;
if (null != i) return n + g(i);
if (null != a) {
var s = this.mountChildren(a, e, t);
return n + s.join("")
}
}
return n
},
receiveComponent: function(e, t, n) {
var r = this._currentElement;
this._currentElement = e, this.updateComponent(t, r, e, n)
},
updateComponent: function(e, t, n, o) {
r(this._currentElement.props), this._updateDOMProperties(t.props, e), this._updateDOMChildren(t.props, e, o)
},
_updateDOMProperties: function(e, t) {
var n, r, i, a = this._currentElement.props;
for (n in e)
if (!a.hasOwnProperty(n) && e.hasOwnProperty(n))
if (n === k) {
var s = this._previousStyleCopy;
for (r in s) s.hasOwnProperty(r) && (i = i || {}, i[r] = "");
this._previousStyleCopy = null
} else E.hasOwnProperty(n) ? w(this._rootNodeID, n) : (u.isStandardName[n] || u.isCustomAttribute(n)) && T.deletePropertyByID(this._rootNodeID, n);
for (n in a) {
var l = a[n],
c = n === k ? this._previousStyleCopy : e[n];
if (a.hasOwnProperty(n) && l !== c)
if (n === k)
if (l ? l = this._previousStyleCopy = m({}, l) : this._previousStyleCopy = null, c) {
for (r in c) !c.hasOwnProperty(r) || l && l.hasOwnProperty(r) || (i = i || {}, i[r] = "");
for (r in l) l.hasOwnProperty(r) && c[r] !== l[r] && (i = i || {}, i[r] = l[r])
} else i = l;
else E.hasOwnProperty(n) ? o(this._rootNodeID, n, l, t) : (u.isStandardName[n] || u.isCustomAttribute(n)) && T.updatePropertyByID(this._rootNodeID, n, l)
}
i && T.updateStylesByID(this._rootNodeID, i)
},
_updateDOMChildren: function(e, t, n) {
var r = this._currentElement.props,
o = x[typeof e.children] ? e.children : null,
i = x[typeof r.children] ? r.children : null,
a = e.dangerouslySetInnerHTML && e.dangerouslySetInnerHTML.__html,
s = r.dangerouslySetInnerHTML && r.dangerouslySetInnerHTML.__html,
u = null != o ? null : e.children,
l = null != i ? null : r.children,
c = null != o || null != a,
d = null != i || null != s;
null != u && null == l ? this.updateChildren(null, t, n) : c && !d && this.updateTextContent(""), null != i ? o !== i && this.updateTextContent("" + i) : null != s ? a !== s && T.updateInnerHTMLByID(this._rootNodeID, s) : null != l && this.updateChildren(l, t, n)
},
unmountComponent: function() {
this.unmountChildren(), c.deleteAllListeners(this._rootNodeID), d.unmountIDFromEnvironment(this._rootNodeID), this._rootNodeID = null
}
}, h.measureMethods(a, "ReactDOMComponent", {
mountComponent: "mountComponent",
updateComponent: "updateComponent"
}), m(a.prototype, a.Mixin, f.Mixin), a.injection = {
injectIDOperations: function(e) {
a.BackendIDOperations = T = e
}
}, e.exports = a
}).call(t, n(56))
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactMultiChild
* @typechecks static-only
*/
"use strict";
function r(e, t, n) {
h.push({
parentID: e,
parentNode: null,
type: c.INSERT_MARKUP,
markupIndex: m.push(t) - 1,
textContent: null,
fromIndex: null,
toIndex: n
})
}
function o(e, t, n) {
h.push({
parentID: e,
parentNode: null,
type: c.MOVE_EXISTING,
markupIndex: null,
textContent: null,
fromIndex: t,
toIndex: n
})
}
function i(e, t) {
h.push({
parentID: e,
parentNode: null,
type: c.REMOVE_NODE,
markupIndex: null,
textContent: null,
fromIndex: t,
toIndex: null
})
}
function a(e, t) {
h.push({
parentID: e,
parentNode: null,
type: c.TEXT_CONTENT,
markupIndex: null,
textContent: t,
fromIndex: null,
toIndex: null
})
}
function s() {
h.length && (l.processChildrenUpdates(h, m), u())
}
function u() {
h.length = 0, m.length = 0
}
var l = n(138),
c = n(117),
d = n(82),
p = n(142),
f = 0,
h = [],
m = [],
g = {
Mixin: {
mountChildren: function(e, t, n) {
var r = p.instantiateChildren(e, t, n);
this._renderedChildren = r;
var o = [],
i = 0;
for (var a in r)
if (r.hasOwnProperty(a)) {
var s = r[a],
u = this._rootNodeID + a,
l = d.mountComponent(s, u, t, n);
s._mountIndex = i, o.push(l), i++
}
return o
},
updateTextContent: function(e) {
f++;
var t = !0;
try {
var n = this._renderedChildren;
p.unmountChildren(n);
for (var r in n) n.hasOwnProperty(r) && this._unmountChildByName(n[r], r);
this.setTextContent(e), t = !1
} finally {
f--, f || (t ? u() : s())
}
},
updateChildren: function(e, t, n) {
f++;
var r = !0;
try {
this._updateChildren(e, t, n), r = !1
} finally {
f--, f || (r ? u() : s())
}
},
_updateChildren: function(e, t, n) {
var r = this._renderedChildren,
o = p.updateChildren(r, e, t, n);
if (this._renderedChildren = o, o || r) {
var i, a = 0,
s = 0;
for (i in o)
if (o.hasOwnProperty(i)) {
var u = r && r[i],
l = o[i];
u === l ? (this.moveChild(u, s, a), a = Math.max(u._mountIndex, a), u._mountIndex = s) : (u && (a = Math.max(u._mountIndex, a), this._unmountChildByName(u, i)), this._mountChildByNameAtIndex(l, i, s, t, n)), s++
}
for (i in r) !r.hasOwnProperty(i) || o && o.hasOwnProperty(i) || this._unmountChildByName(r[i], i)
}
},
unmountChildren: function() {
var e = this._renderedChildren;
p.unmountChildren(e), this._renderedChildren = null
},
moveChild: function(e, t, n) {
e._mountIndex < n && o(this._rootNodeID, e._mountIndex, t)
},
createChild: function(e, t) {
r(this._rootNodeID, t, e._mountIndex)
},
removeChild: function(e) {
i(this._rootNodeID, e._mountIndex)
},
setTextContent: function(e) {
a(this._rootNodeID, e)
},
_mountChildByNameAtIndex: function(e, t, n, r, o) {
var i = this._rootNodeID + t,
a = d.mountComponent(e, i, r, o);
e._mountIndex = n, this.createChild(e, a)
},
_unmountChildByName: function(e) {
this.removeChild(e), e._mountIndex = null
}
}
};
e.exports = g
}, function(e, t, n) {
/**
* Copyright 2014-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactChildReconciler
* @typechecks static-only
*/
"use strict";
var r = n(82),
o = n(143),
i = n(136),
a = n(139),
s = {
instantiateChildren: function(e) {
var t = o(e);
for (var n in t)
if (t.hasOwnProperty(n)) {
var r = t[n],
a = i(r, null);
t[n] = a
}
return t
},
updateChildren: function(e, t, n, s) {
var u = o(t);
if (!u && !e) return null;
var l;
for (l in u)
if (u.hasOwnProperty(l)) {
var c = e && e[l],
d = c && c._currentElement,
p = u[l];
if (a(d, p)) r.receiveComponent(c, p, n, s), u[l] = c;
else {
c && r.unmountComponent(c, l);
var f = i(p, null);
u[l] = f
}
}
for (l in e) !e.hasOwnProperty(l) || u && u.hasOwnProperty(l) || r.unmountComponent(e[l]);
return u
},
unmountChildren: function(e) {
for (var t in e) {
var n = e[t];
r.unmountComponent(n)
}
}
};
e.exports = s
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule flattenChildren
*/
"use strict";
function r(e, n, r) {
var o = e,
i = !o.hasOwnProperty(r);
"production" !== t.env.NODE_ENV && ("production" !== t.env.NODE_ENV ? a(i, "flattenChildren(...): Encountered two children with the same key, `%s`. Child keys must be unique; when two children share a key, only the first child will be used.", r) : null), i && null != n && (o[r] = n)
}
function o(e) {
if (null == e) return e;
var t = {};
return i(e, r, t), t
}
var i = n(71),
a = n(68);
e.exports = o
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactDefaultInjection
*/
"use strict";
function r(e) {
return h.createClass({
tagName: e.toUpperCase(),
render: function() {
return new D(e, null, null, null, null, this.props)
}
})
}
function o() {
if (O.EventEmitter.injectReactEventListener(N), O.EventPluginHub.injectEventPluginOrder(u), O.EventPluginHub.injectInstanceHandle(R), O.EventPluginHub.injectMount(P), O.EventPluginHub.injectEventPluginsByName({
SimpleEventPlugin: j,
EnterLeaveEventPlugin: l,
ChangeEventPlugin: a,
MobileSafariClickEventPlugin: p,
SelectEventPlugin: I,
BeforeInputEventPlugin: i
}), O.NativeComponent.injectGenericComponentClass(v), O.NativeComponent.injectTextComponentClass(T), O.NativeComponent.injectAutoWrapper(r), O.Class.injectMixin(f), O.NativeComponent.injectComponentClasses({
button: y,
form: b,
iframe: C,
img: _,
input: E,
option: x,
select: k,
textarea: S,
html: U("html"),
head: U("head"),
body: U("body")
}), O.DOMProperty.injectDOMPropertyConfig(d), O.DOMProperty.injectDOMPropertyConfig(L), O.EmptyComponent.injectEmptyComponent("noscript"), O.Updates.injectReconcileTransaction(M), O.Updates.injectBatchingStrategy(g), O.RootIndex.injectCreateReactRootIndex(c.canUseDOM ? s.createReactRootIndex : A.createReactRootIndex), O.Component.injectEnvironment(m), O.DOMComponent.injectIDOperations(w), "production" !== t.env.NODE_ENV) {
var e = c.canUseDOM && window.location.href || "";
if (/[?&]react_perf\b/.test(e)) {
var o = n(203);
o.start()
}
}
}
var i = n(145),
a = n(153),
s = n(155),
u = n(156),
l = n(157),
c = n(104),
d = n(161),
p = n(162),
f = n(163),
h = n(90),
m = n(100),
g = n(165),
v = n(140),
y = n(166),
b = n(169),
_ = n(171),
w = n(101),
C = n(172),
E = n(173),
x = n(176),
k = n(177),
S = n(178),
T = n(95),
D = n(64),
N = n(179),
O = n(182),
R = n(72),
P = n(120),
M = n(183),
I = n(189),
A = n(191),
j = n(192),
L = n(201),
U = n(202);
e.exports = {
inject: o
}
}).call(t, n(56))
}, function(e, t, n) {
/**
* Copyright 2013-2015 Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule BeforeInputEventPlugin
* @typechecks static-only
*/
"use strict";
function r() {
var e = window.opera;
return "object" == typeof e && "function" == typeof e.version && parseInt(e.version(), 10) <= 12
}
function o(e) {
return (e.ctrlKey || e.altKey || e.metaKey) && !(e.ctrlKey && e.altKey)
}
function i(e) {
switch (e) {
case D.topCompositionStart:
return N.compositionStart;
case D.topCompositionEnd:
return N.compositionEnd;
case D.topCompositionUpdate:
return N.compositionUpdate
}
}
function a(e, t) {
return e === D.topKeyDown && t.keyCode === w
}
function s(e, t) {
switch (e) {
case D.topKeyUp:
return -1 !== _.indexOf(t.keyCode);
case D.topKeyDown:
return t.keyCode !== w;
case D.topKeyPress:
case D.topMouseDown:
case D.topBlur:
return !0;
default:
return !1
}
}
function u(e) {
var t = e.detail;
return "object" == typeof t && "data" in t ? t.data : null
}
function l(e, t, n, r) {
var o, l;
if (C ? o = i(e) : R ? s(e, r) && (o = N.compositionEnd) : a(e, r) && (o = N.compositionStart), !o) return null;
k && (R || o !== N.compositionStart ? o === N.compositionEnd && R && (l = R.getData()) : R = g.getPooled(t));
var c = v.getPooled(o, n, r);
if (l) c.data = l;
else {
var d = u(r);
null !== d && (c.data = d)
}
return h.accumulateTwoPhaseDispatches(c), c
}
function c(e, t) {
switch (e) {
case D.topCompositionEnd:
return u(t);
case D.topKeyPress:
var n = t.which;
return n !== S ? null : (O = !0, T);
case D.topTextInput:
var r = t.data;
return r === T && O ? null : r;
default:
return null
}
}
function d(e, t) {
if (R) {
if (e === D.topCompositionEnd || s(e, t)) {
var n = R.getData();
return g.release(R), R = null, n
}
return null
}
switch (e) {
case D.topPaste:
return null;
case D.topKeyPress:
return t.which && !o(t) ? String.fromCharCode(t.which) : null;
case D.topCompositionEnd:
return k ? null : t.data;
default:
return null
}
}
function p(e, t, n, r) {
var o;
if (o = x ? c(e, r) : d(e, r), !o) return null;
var i = y.getPooled(N.beforeInput, n, r);
return i.data = o, h.accumulateTwoPhaseDispatches(i), i
}
var f = n(58),
h = n(146),
m = n(104),
g = n(147),
v = n(149),
y = n(152),
b = n(92),
_ = [9, 13, 27, 32],
w = 229,
C = m.canUseDOM && "CompositionEvent" in window,
E = null;
m.canUseDOM && "documentMode" in document && (E = document.documentMode);
var x = m.canUseDOM && "TextEvent" in window && !E && !r(),
k = m.canUseDOM && (!C || E && E > 8 && 11 >= E),
S = 32,
T = String.fromCharCode(S),
D = f.topLevelTypes,
N = {
beforeInput: {
phasedRegistrationNames: {
bubbled: b({
onBeforeInput: null
}),
captured: b({
onBeforeInputCapture: null
})
},
dependencies: [D.topCompositionEnd, D.topKeyPress, D.topTextInput, D.topPaste]
},
compositionEnd: {
phasedRegistrationNames: {
bubbled: b({
onCompositionEnd: null
}),
captured: b({
onCompositionEndCapture: null
})
},
dependencies: [D.topBlur, D.topCompositionEnd, D.topKeyDown, D.topKeyPress, D.topKeyUp, D.topMouseDown]
},
compositionStart: {
phasedRegistrationNames: {
bubbled: b({
onCompositionStart: null
}),
captured: b({
onCompositionStartCapture: null
})
},
dependencies: [D.topBlur, D.topCompositionStart, D.topKeyDown, D.topKeyPress, D.topKeyUp, D.topMouseDown]
},
compositionUpdate: {
phasedRegistrationNames: {
bubbled: b({
onCompositionUpdate: null
}),
captured: b({
onCompositionUpdateCapture: null
})
},
dependencies: [D.topBlur, D.topCompositionUpdate, D.topKeyDown, D.topKeyPress, D.topKeyUp, D.topMouseDown]
}
},
O = !1,
R = null,
P = {
eventTypes: N,
extractEvents: function(e, t, n, r) {
return [l(e, t, n, r), p(e, t, n, r)]
}
};
e.exports = P
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule EventPropagators
*/
"use strict";
function r(e, t, n) {
var r = t.dispatchConfig.phasedRegistrationNames[n];
return g(e, r)
}
function o(e, n, o) {
if ("production" !== t.env.NODE_ENV && !e) throw new Error("Dispatching id must not be null");
var i = n ? m.bubbled : m.captured,
a = r(e, o, i);
a && (o._dispatchListeners = f(o._dispatchListeners, a), o._dispatchIDs = f(o._dispatchIDs, e))
}
function i(e) {
e && e.dispatchConfig.phasedRegistrationNames && p.injection.getInstanceHandle().traverseTwoPhase(e.dispatchMarker, o, e)
}
function a(e, t, n) {
if (n && n.dispatchConfig.registrationName) {
var r = n.dispatchConfig.registrationName,
o = g(e, r);
o && (n._dispatchListeners = f(n._dispatchListeners, o), n._dispatchIDs = f(n._dispatchIDs, e))
}
}
function s(e) {
e && e.dispatchConfig.registrationName && a(e.dispatchMarker, null, e)
}
function u(e) {
h(e, i)
}
function l(e, t, n, r) {
p.injection.getInstanceHandle().traverseEnterLeave(n, r, a, e, t)
}
function c(e) {
h(e, s)
}
var d = n(58),
p = n(122),
f = n(124),
h = n(125),
m = d.PropagationPhases,
g = p.getListener,
v = {
accumulateTwoPhaseDispatches: u,
accumulateDirectDispatches: c,
accumulateEnterLeaveDispatches: l
};
e.exports = v
}).call(t, n(56))
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule FallbackCompositionState
* @typechecks static-only
*/
"use strict";
function r(e) {
this._root = e, this._startText = this.getText(), this._fallbackText = null
}
var o = n(62),
i = n(66),
a = n(148);
i(r.prototype, {
getText: function() {
return "value" in this._root ? this._root.value : this._root[a()]
},
getData: function() {
if (this._fallbackText) return this._fallbackText;
var e, t, n = this._startText,
r = n.length,
o = this.getText(),
i = o.length;
for (e = 0; r > e && n[e] === o[e]; e++);
var a = r - e;
for (t = 1; a >= t && n[r - t] === o[i - t]; t++);
var s = t > 1 ? 1 - t : void 0;
return this._fallbackText = o.slice(e, s), this._fallbackText
}
}), o.addPoolingTo(r), e.exports = r
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule getTextContentAccessor
*/
"use strict";
function r() {
return !i && o.canUseDOM && (i = "textContent" in document.documentElement ? "textContent" : "innerText"), i
}
var o = n(104),
i = null;
e.exports = r
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule SyntheticCompositionEvent
* @typechecks static-only
*/
"use strict";
function r(e, t, n) {
o.call(this, e, t, n)
}
var o = n(150),
i = {
data: null
};
o.augmentClass(r, i), e.exports = r
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule SyntheticEvent
* @typechecks static-only
*/
"use strict";
function r(e, t, n) {
this.dispatchConfig = e, this.dispatchMarker = t, this.nativeEvent = n;
var r = this.constructor.Interface;
for (var o in r)
if (r.hasOwnProperty(o)) {
var i = r[o];
this[o] = i ? i(n) : n[o]
}
var s = null != n.defaultPrevented ? n.defaultPrevented : n.returnValue === !1;
this.isDefaultPrevented = s ? a.thatReturnsTrue : a.thatReturnsFalse, this.isPropagationStopped = a.thatReturnsFalse
}
var o = n(62),
i = n(66),
a = n(69),
s = n(151),
u = {
type: null,
target: s,
currentTarget: a.thatReturnsNull,
eventPhase: null,
bubbles: null,
cancelable: null,
timeStamp: function(e) {
return e.timeStamp || Date.now()
},
defaultPrevented: null,
isTrusted: null
};
i(r.prototype, {
preventDefault: function() {
this.defaultPrevented = !0;
var e = this.nativeEvent;
e.preventDefault ? e.preventDefault() : e.returnValue = !1, this.isDefaultPrevented = a.thatReturnsTrue
},
stopPropagation: function() {
var e = this.nativeEvent;
e.stopPropagation ? e.stopPropagation() : e.cancelBubble = !0, this.isPropagationStopped = a.thatReturnsTrue
},
persist: function() {
this.isPersistent = a.thatReturnsTrue
},
isPersistent: a.thatReturnsFalse,
destructor: function() {
var e = this.constructor.Interface;
for (var t in e) this[t] = null;
this.dispatchConfig = null, this.dispatchMarker = null, this.nativeEvent = null
}
}), r.Interface = u, r.augmentClass = function(e, t) {
var n = this,
r = Object.create(n.prototype);
i(r, e.prototype), e.prototype = r, e.prototype.constructor = e, e.Interface = i({}, n.Interface, t), e.augmentClass = n.augmentClass, o.addPoolingTo(e, o.threeArgumentPooler)
}, o.addPoolingTo(r, o.threeArgumentPooler), e.exports = r
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule getEventTarget
* @typechecks static-only
*/
"use strict";
function t(e) {
var t = e.target || e.srcElement || window;
return 3 === t.nodeType ? t.parentNode : t
}
e.exports = t
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule SyntheticInputEvent
* @typechecks static-only
*/
"use strict";
function r(e, t, n) {
o.call(this, e, t, n)
}
var o = n(150),
i = {
data: null
};
o.augmentClass(r, i), e.exports = r
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ChangeEventPlugin
*/
"use strict";
function r(e) {
return "SELECT" === e.nodeName || "INPUT" === e.nodeName && "file" === e.type
}
function o(e) {
var t = E.getPooled(D.change, O, e);
_.accumulateTwoPhaseDispatches(t), C.batchedUpdates(i, t)
}
function i(e) {
b.enqueueEvents(e), b.processEventQueue()
}
function a(e, t) {
N = e, O = t, N.attachEvent("onchange", o)
}
function s() {
N && (N.detachEvent("onchange", o), N = null, O = null)
}
function u(e, t, n) {
return e === T.topChange ? n : void 0
}
function l(e, t, n) {
e === T.topFocus ? (s(), a(t, n)) : e === T.topBlur && s()
}
function c(e, t) {
N = e, O = t, R = e.value, P = Object.getOwnPropertyDescriptor(e.constructor.prototype, "value"), Object.defineProperty(N, "value", A), N.attachEvent("onpropertychange", p)
}
function d() {
N && (delete N.value, N.detachEvent("onpropertychange", p), N = null, O = null, R = null, P = null)
}
function p(e) {
if ("value" === e.propertyName) {
var t = e.srcElement.value;
t !== R && (R = t, o(e))
}
}
function f(e, t, n) {
return e === T.topInput ? n : void 0
}
function h(e, t, n) {
e === T.topFocus ? (d(), c(t, n)) : e === T.topBlur && d()
}
function m(e) {
return e !== T.topSelectionChange && e !== T.topKeyUp && e !== T.topKeyDown || !N || N.value === R ? void 0 : (R = N.value, O)
}
function g(e) {
return "INPUT" === e.nodeName && ("checkbox" === e.type || "radio" === e.type)
}
function v(e, t, n) {
return e === T.topClick ? n : void 0
}
var y = n(58),
b = n(122),
_ = n(146),
w = n(104),
C = n(79),
E = n(150),
x = n(128),
k = n(154),
S = n(92),
T = y.topLevelTypes,
D = {
change: {
phasedRegistrationNames: {
bubbled: S({
onChange: null
}),
captured: S({
onChangeCapture: null
})
},
dependencies: [T.topBlur, T.topChange, T.topClick, T.topFocus, T.topInput, T.topKeyDown, T.topKeyUp, T.topSelectionChange]
}
},
N = null,
O = null,
R = null,
P = null,
M = !1;
w.canUseDOM && (M = x("change") && (!("documentMode" in document) || document.documentMode > 8));
var I = !1;
w.canUseDOM && (I = x("input") && (!("documentMode" in document) || document.documentMode > 9));
var A = {
get: function() {
return P.get.call(this)
},
set: function(e) {
R = "" + e, P.set.call(this, e)
}
},
j = {
eventTypes: D,
extractEvents: function(e, t, n, o) {
var i, a;
if (r(t) ? M ? i = u : a = l : k(t) ? I ? i = f : (i = m, a = h) : g(t) && (i = v), i) {
var s = i(e, t, n);
if (s) {
var c = E.getPooled(D.change, s, o);
return _.accumulateTwoPhaseDispatches(c), c
}
}
a && a(e, t, n)
}
};
e.exports = j
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule isTextInputElement
*/
"use strict";
function t(e) {
return e && ("INPUT" === e.nodeName && n[e.type] || "TEXTAREA" === e.nodeName)
}
var n = {
color: !0,
date: !0,
datetime: !0,
"datetime-local": !0,
email: !0,
month: !0,
number: !0,
password: !0,
range: !0,
search: !0,
tel: !0,
text: !0,
time: !0,
url: !0,
week: !0
};
e.exports = t
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ClientReactRootIndex
* @typechecks
*/
"use strict";
var t = 0,
n = {
createReactRootIndex: function() {
return t++
}
};
e.exports = n
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule DefaultEventPluginOrder
*/
"use strict";
var r = n(92),
o = [r({
ResponderEventPlugin: null
}), r({
SimpleEventPlugin: null
}), r({
TapEventPlugin: null
}), r({
EnterLeaveEventPlugin: null
}), r({
ChangeEventPlugin: null
}), r({
SelectEventPlugin: null
}), r({
BeforeInputEventPlugin: null
}), r({
AnalyticsEventPlugin: null
}), r({
MobileSafariClickEventPlugin: null
})];
e.exports = o
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule EnterLeaveEventPlugin
* @typechecks static-only
*/
"use strict";
var r = n(58),
o = n(146),
i = n(158),
a = n(120),
s = n(92),
u = r.topLevelTypes,
l = a.getFirstReactDOM,
c = {
mouseEnter: {
registrationName: s({
onMouseEnter: null
}),
dependencies: [u.topMouseOut, u.topMouseOver]
},
mouseLeave: {
registrationName: s({
onMouseLeave: null
}),
dependencies: [u.topMouseOut, u.topMouseOver]
}
},
d = [null, null],
p = {
eventTypes: c,
extractEvents: function(e, t, n, r) {
if (e === u.topMouseOver && (r.relatedTarget || r.fromElement)) return null;
if (e !== u.topMouseOut && e !== u.topMouseOver) return null;
var s;
if (t.window === t) s = t;
else {
var p = t.ownerDocument;
s = p ? p.defaultView || p.parentWindow : window
}
var f, h;
if (e === u.topMouseOut ? (f = t, h = l(r.relatedTarget || r.toElement) || s) : (f = s, h = t), f === h) return null;
var m = f ? a.getID(f) : "",
g = h ? a.getID(h) : "",
v = i.getPooled(c.mouseLeave, m, r);
v.type = "mouseleave", v.target = f, v.relatedTarget = h;
var y = i.getPooled(c.mouseEnter, g, r);
return y.type = "mouseenter", y.target = h, y.relatedTarget = f, o.accumulateEnterLeaveDispatches(v, y, m, g), d[0] = v, d[1] = y, d
}
};
e.exports = p
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule SyntheticMouseEvent
* @typechecks static-only
*/
"use strict";
function r(e, t, n) {
o.call(this, e, t, n)
}
var o = n(159),
i = n(127),
a = n(160),
s = {
screenX: null,
screenY: null,
clientX: null,
clientY: null,
ctrlKey: null,
shiftKey: null,
altKey: null,
metaKey: null,
getModifierState: a,
button: function(e) {
var t = e.button;
return "which" in e ? t : 2 === t ? 2 : 4 === t ? 1 : 0
},
buttons: null,
relatedTarget: function(e) {
return e.relatedTarget || (e.fromElement === e.srcElement ? e.toElement : e.fromElement)
},
pageX: function(e) {
return "pageX" in e ? e.pageX : e.clientX + i.currentScrollLeft
},
pageY: function(e) {
return "pageY" in e ? e.pageY : e.clientY + i.currentScrollTop
}
};
o.augmentClass(r, s), e.exports = r
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule SyntheticUIEvent
* @typechecks static-only
*/
"use strict";
function r(e, t, n) {
o.call(this, e, t, n)
}
var o = n(150),
i = n(151),
a = {
view: function(e) {
if (e.view) return e.view;
var t = i(e);
if (null != t && t.window === t) return t;
var n = t.ownerDocument;
return n ? n.defaultView || n.parentWindow : window
},
detail: function(e) {
return e.detail || 0
}
};
o.augmentClass(r, a), e.exports = r
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule getEventModifierState
* @typechecks static-only
*/
"use strict";
function t(e) {
var t = this,
n = t.nativeEvent;
if (n.getModifierState) return n.getModifierState(e);
var o = r[e];
return o ? !!n[o] : !1
}
function n() {
return t
}
var r = {
Alt: "altKey",
Control: "ctrlKey",
Meta: "metaKey",
Shift: "shiftKey"
};
e.exports = n
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule HTMLDOMPropertyConfig
*/
"use strict";
var r, o = n(97),
i = n(104),
a = o.injection.MUST_USE_ATTRIBUTE,
s = o.injection.MUST_USE_PROPERTY,
u = o.injection.HAS_BOOLEAN_VALUE,
l = o.injection.HAS_SIDE_EFFECTS,
c = o.injection.HAS_NUMERIC_VALUE,
d = o.injection.HAS_POSITIVE_NUMERIC_VALUE,
p = o.injection.HAS_OVERLOADED_BOOLEAN_VALUE;
if (i.canUseDOM) {
var f = document.implementation;
r = f && f.hasFeature && f.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1")
}
var h = {
isCustomAttribute: RegExp.prototype.test.bind(/^(data|aria)-[a-z_][a-z\d_.\-]*$/),
Properties: {
accept: null,
acceptCharset: null,
accessKey: null,
action: null,
allowFullScreen: a | u,
allowTransparency: a,
alt: null,
async: u,
autoComplete: null,
autoPlay: u,
cellPadding: null,
cellSpacing: null,
charSet: a,
checked: s | u,
classID: a,
className: r ? a : s,
cols: a | d,
colSpan: null,
content: null,
contentEditable: null,
contextMenu: a,
controls: s | u,
coords: null,
crossOrigin: null,
data: null,
dateTime: a,
defer: u,
dir: null,
disabled: a | u,
download: p,
draggable: null,
encType: null,
form: a,
formAction: a,
formEncType: a,
formMethod: a,
formNoValidate: u,
formTarget: a,
frameBorder: a,
headers: null,
height: a,
hidden: a | u,
high: null,
href: null,
hrefLang: null,
htmlFor: null,
httpEquiv: null,
icon: null,
id: s,
label: null,
lang: null,
list: a,
loop: s | u,
low: null,
manifest: a,
marginHeight: null,
marginWidth: null,
max: null,
maxLength: a,
media: a,
mediaGroup: null,
method: null,
min: null,
multiple: s | u,
muted: s | u,
name: null,
noValidate: u,
open: u,
optimum: null,
pattern: null,
placeholder: null,
poster: null,
preload: null,
radioGroup: null,
readOnly: s | u,
rel: null,
required: u,
role: a,
rows: a | d,
rowSpan: null,
sandbox: null,
scope: null,
scoped: u,
scrolling: null,
seamless: a | u,
selected: s | u,
shape: null,
size: a | d,
sizes: a,
span: d,
spellCheck: null,
src: null,
srcDoc: s,
srcSet: a,
start: c,
step: null,
style: null,
tabIndex: null,
target: null,
title: null,
type: null,
useMap: null,
value: s | l,
width: a,
wmode: a,
autoCapitalize: null,
autoCorrect: null,
itemProp: a,
itemScope: a | u,
itemType: a,
itemID: a,
itemRef: a,
property: null,
unselectable: a
},
DOMAttributeNames: {
acceptCharset: "accept-charset",
className: "class",
htmlFor: "for",
httpEquiv: "http-equiv"
},
DOMPropertyNames: {
autoCapitalize: "autocapitalize",
autoComplete: "autocomplete",
autoCorrect: "autocorrect",
autoFocus: "autofocus",
autoPlay: "autoplay",
encType: "encoding",
hrefLang: "hreflang",
radioGroup: "radiogroup",
spellCheck: "spellcheck",
srcDoc: "srcdoc",
srcSet: "srcset"
}
};
e.exports = h
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule MobileSafariClickEventPlugin
* @typechecks static-only
*/
"use strict";
var r = n(58),
o = n(69),
i = r.topLevelTypes,
a = {
eventTypes: null,
extractEvents: function(e, t, n, r) {
if (e === i.topTouchStart) {
var a = r.target;
a && !a.onclick && (a.onclick = o)
}
}
};
e.exports = a
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactBrowserComponentMixin
*/
"use strict";
var r = n(164),
o = {
getDOMNode: function() {
return r(this)
}
};
e.exports = o
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule findDOMNode
* @typechecks static-only
*/
"use strict";
function r(e) {
if ("production" !== t.env.NODE_ENV) {
var n = o.current;
null !== n && ("production" !== t.env.NODE_ENV ? l(n._warnedAboutRefsInRender, "%s is accessing getDOMNode or findDOMNode inside its render(). render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.", n.getName() || "A component") : null, n._warnedAboutRefsInRender = !0)
}
return null == e ? null : u(e) ? e : i.has(e) ? a.getNodeFromInstance(e) : ("production" !== t.env.NODE_ENV ? s(null == e.render || "function" != typeof e.render, "Component (with keys: %s) contains `render` method but is not mounted in the DOM", Object.keys(e)) : s(null == e.render || "function" != typeof e.render), void("production" !== t.env.NODE_ENV ? s(!1, "Element appears to be neither ReactComponent nor DOMNode (keys: %s)", Object.keys(e)) : s(!1)))
}
var o = n(70),
i = n(78),
a = n(120),
s = n(60),
u = n(134),
l = n(68);
e.exports = r
}).call(t, n(56))
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactDefaultBatchingStrategy
*/
"use strict";
function r() {
this.reinitializeTransaction()
}
var o = n(79),
i = n(89),
a = n(66),
s = n(69),
u = {
initialize: s,
close: function() {
p.isBatchingUpdates = !1
}
},
l = {
initialize: s,
close: o.flushBatchedUpdates.bind(o)
},
c = [l, u];
a(r.prototype, i.Mixin, {
getTransactionWrappers: function() {
return c
}
});
var d = new r,
p = {
isBatchingUpdates: !1,
batchedUpdates: function(e, t, n, r, o) {
var i = p.isBatchingUpdates;
p.isBatchingUpdates = !0, i ? e(t, n, r, o) : d.perform(e, null, t, n, r, o)
}
};
e.exports = p
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactDOMButton
*/
"use strict";
var r = n(167),
o = n(163),
i = n(90),
a = n(64),
s = n(59),
u = a.createFactory("button"),
l = s({
onClick: !0,
onDoubleClick: !0,
onMouseDown: !0,
onMouseMove: !0,
onMouseUp: !0,
onClickCapture: !0,
onDoubleClickCapture: !0,
onMouseDownCapture: !0,
onMouseMoveCapture: !0,
onMouseUpCapture: !0
}),
c = i.createClass({
displayName: "ReactDOMButton",
tagName: "BUTTON",
mixins: [r, o],
render: function() {
var e = {};
for (var t in this.props) !this.props.hasOwnProperty(t) || this.props.disabled && l[t] || (e[t] = this.props[t]);
return u(e, this.props.children)
}
});
e.exports = c
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule AutoFocusMixin
* @typechecks static-only
*/
"use strict";
var r = n(168),
o = {
componentDidMount: function() {
this.props.autoFocus && r(this.getDOMNode())
}
};
e.exports = o
}, function(e) {
/**
* Copyright 2014-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule focusNode
*/
"use strict";
function t(e) {
try {
e.focus()
} catch (t) {}
}
e.exports = t
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactDOMForm
*/
"use strict";
var r = n(58),
o = n(170),
i = n(163),
a = n(90),
s = n(64),
u = s.createFactory("form"),
l = a.createClass({
displayName: "ReactDOMForm",
tagName: "FORM",
mixins: [i, o],
render: function() {
return u(this.props)
},
componentDidMount: function() {
this.trapBubbledEvent(r.topLevelTypes.topReset, "reset"), this.trapBubbledEvent(r.topLevelTypes.topSubmit, "submit")
}
});
e.exports = l
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2014-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule LocalEventTrapMixin
*/
"use strict";
function r(e) {
e.remove()
}
var o = n(121),
i = n(124),
a = n(125),
s = n(60),
u = {
trapBubbledEvent: function(e, n) {
"production" !== t.env.NODE_ENV ? s(this.isMounted(), "Must be mounted to trap events") : s(this.isMounted());
var r = this.getDOMNode();
"production" !== t.env.NODE_ENV ? s(r, "LocalEventTrapMixin.trapBubbledEvent(...): Requires node to be rendered.") : s(r);
var a = o.trapBubbledEvent(e, n, r);
this._localEventListeners = i(this._localEventListeners, a)
},
componentWillUnmount: function() {
this._localEventListeners && a(this._localEventListeners, r)
}
};
e.exports = u
}).call(t, n(56))
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactDOMImg
*/
"use strict";
var r = n(58),
o = n(170),
i = n(163),
a = n(90),
s = n(64),
u = s.createFactory("img"),
l = a.createClass({
displayName: "ReactDOMImg",
tagName: "IMG",
mixins: [i, o],
render: function() {
return u(this.props)
},
componentDidMount: function() {
this.trapBubbledEvent(r.topLevelTypes.topLoad, "load"), this.trapBubbledEvent(r.topLevelTypes.topError, "error")
}
});
e.exports = l
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactDOMIframe
*/
"use strict";
var r = n(58),
o = n(170),
i = n(163),
a = n(90),
s = n(64),
u = s.createFactory("iframe"),
l = a.createClass({
displayName: "ReactDOMIframe",
tagName: "IFRAME",
mixins: [i, o],
render: function() {
return u(this.props)
},
componentDidMount: function() {
this.trapBubbledEvent(r.topLevelTypes.topLoad, "load")
}
});
e.exports = l
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactDOMInput
*/
"use strict";
function r() {
this.isMounted() && this.forceUpdate()
}
var o = n(167),
i = n(96),
a = n(174),
s = n(163),
u = n(90),
l = n(64),
c = n(120),
d = n(79),
p = n(66),
f = n(60),
h = l.createFactory("input"),
m = {},
g = u.createClass({
displayName: "ReactDOMInput",
tagName: "INPUT",
mixins: [o, a.Mixin, s],
getInitialState: function() {
var e = this.props.defaultValue;
return {
initialChecked: this.props.defaultChecked || !1,
initialValue: null != e ? e : null
}
},
render: function() {
var e = p({}, this.props);
e.defaultChecked = null, e.defaultValue = null;
var t = a.getValue(this);
e.value = null != t ? t : this.state.initialValue;
var n = a.getChecked(this);
return e.checked = null != n ? n : this.state.initialChecked, e.onChange = this._handleChange, h(e, this.props.children)
},
componentDidMount: function() {
var e = c.getID(this.getDOMNode());
m[e] = this
},
componentWillUnmount: function() {
var e = this.getDOMNode(),
t = c.getID(e);
delete m[t]
},
componentDidUpdate: function() {
var e = this.getDOMNode();
null != this.props.checked && i.setValueForProperty(e, "checked", this.props.checked || !1);
var t = a.getValue(this);
null != t && i.setValueForProperty(e, "value", "" + t)
},
_handleChange: function(e) {
var n, o = a.getOnChange(this);
o && (n = o.call(this, e)), d.asap(r, this);
var i = this.props.name;
if ("radio" === this.props.type && null != i) {
for (var s = this.getDOMNode(), u = s; u.parentNode;) u = u.parentNode;
for (var l = u.querySelectorAll("input[name=" + JSON.stringify("" + i) + '][type="radio"]'), p = 0, h = l.length; h > p; p++) {
var g = l[p];
if (g !== s && g.form === s.form) {
var v = c.getID(g);
"production" !== t.env.NODE_ENV ? f(v, "ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported.") : f(v);
var y = m[v];
"production" !== t.env.NODE_ENV ? f(y, "ReactDOMInput: Unknown radio button ID %s.", v) : f(y), d.asap(r, y)
}
}
}
return n
}
});
e.exports = g
}).call(t, n(56))
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule LinkedValueUtils
* @typechecks static-only
*/
"use strict";
function r(e) {
"production" !== t.env.NODE_ENV ? l(null == e.props.checkedLink || null == e.props.valueLink, "Cannot provide a checkedLink and a valueLink. If you want to use checkedLink, you probably don't want to use valueLink and vice versa.") : l(null == e.props.checkedLink || null == e.props.valueLink)
}
function o(e) {
r(e), "production" !== t.env.NODE_ENV ? l(null == e.props.value && null == e.props.onChange, "Cannot provide a valueLink and a value or onChange event. If you want to use value or onChange, you probably don't want to use valueLink.") : l(null == e.props.value && null == e.props.onChange)
}
function i(e) {
r(e), "production" !== t.env.NODE_ENV ? l(null == e.props.checked && null == e.props.onChange, "Cannot provide a checkedLink and a checked property or onChange event. If you want to use checked or onChange, you probably don't want to use checkedLink") : l(null == e.props.checked && null == e.props.onChange)
}
function a(e) {
this.props.valueLink.requestChange(e.target.value)
}
function s(e) {
this.props.checkedLink.requestChange(e.target.checked)
}
var u = n(175),
l = n(60),
c = {
button: !0,
checkbox: !0,
image: !0,
hidden: !0,
radio: !0,
reset: !0,
submit: !0
},
d = {
Mixin: {
propTypes: {
value: function(e, t) {
return !e[t] || c[e.type] || e.onChange || e.readOnly || e.disabled ? null : new Error("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.")
},
checked: function(e, t) {
return !e[t] || e.onChange || e.readOnly || e.disabled ? null : new Error("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.")
},
onChange: u.func
}
},
getValue: function(e) {
return e.props.valueLink ? (o(e), e.props.valueLink.value) : e.props.value
},
getChecked: function(e) {
return e.props.checkedLink ? (i(e), e.props.checkedLink.value) : e.props.checked
},
getOnChange: function(e) {
return e.props.valueLink ? (o(e), a) : e.props.checkedLink ? (i(e), s) : e.props.onChange
}
};
e.exports = d
}).call(t, n(56))
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactPropTypes
*/
"use strict";
function r(e) {
function t(t, n, r, o, i) {
if (o = o || w, null == n[r]) {
var a = b[i];
return t ? new Error("Required " + a + " `" + r + "` was not specified in " + ("`" + o + "`.")) : null
}
return e(n, r, o, i)
}
var n = t.bind(null, !1);
return n.isRequired = t.bind(null, !0), n
}
function o(e) {
function t(t, n, r, o) {
var i = t[n],
a = m(i);
if (a !== e) {
var s = b[o],
u = g(i);
return new Error("Invalid " + s + " `" + n + "` of type `" + u + "` " + ("supplied to `" + r + "`, expected `" + e + "`."))
}
return null
}
return r(t)
}
function i() {
return r(_.thatReturns(null))
}
function a(e) {
function t(t, n, r, o) {
var i = t[n];
if (!Array.isArray(i)) {
var a = b[o],
s = m(i);
return new Error("Invalid " + a + " `" + n + "` of type " + ("`" + s + "` supplied to `" + r + "`, expected an array."))
}
for (var u = 0; u < i.length; u++) {
var l = e(i, u, r, o);
if (l instanceof Error) return l
}
return null
}
return r(t)
}
function s() {
function e(e, t, n, r) {
if (!v.isValidElement(e[t])) {
var o = b[r];
return new Error("Invalid " + o + " `" + t + "` supplied to " + ("`" + n + "`, expected a ReactElement."))
}
return null
}
return r(e)
}
function u(e) {
function t(t, n, r, o) {
if (!(t[n] instanceof e)) {
var i = b[o],
a = e.name || w;
return new Error("Invalid " + i + " `" + n + "` supplied to " + ("`" + r + "`, expected instance of `" + a + "`."))
}
return null
}
return r(t)
}
function l(e) {
function t(t, n, r, o) {
for (var i = t[n], a = 0; a < e.length; a++)
if (i === e[a]) return null;
var s = b[o],
u = JSON.stringify(e);
return new Error("Invalid " + s + " `" + n + "` of value `" + i + "` " + ("supplied to `" + r + "`, expected one of " + u + "."))
}
return r(t)
}
function c(e) {
function t(t, n, r, o) {
var i = t[n],
a = m(i);
if ("object" !== a) {
var s = b[o];
return new Error("Invalid " + s + " `" + n + "` of type " + ("`" + a + "` supplied to `" + r + "`, expected an object."))
}
for (var u in i)
if (i.hasOwnProperty(u)) {
var l = e(i, u, r, o);
if (l instanceof Error) return l
}
return null
}
return r(t)
}
function d(e) {
function t(t, n, r, o) {
for (var i = 0; i < e.length; i++) {
var a = e[i];
if (null == a(t, n, r, o)) return null
}
var s = b[o];
return new Error("Invalid " + s + " `" + n + "` supplied to " + ("`" + r + "`."))
}
return r(t)
}
function p() {
function e(e, t, n, r) {
if (!h(e[t])) {
var o = b[r];
return new Error("Invalid " + o + " `" + t + "` supplied to " + ("`" + n + "`, expected a ReactNode."))
}
return null
}
return r(e)
}
function f(e) {
function t(t, n, r, o) {
var i = t[n],
a = m(i);
if ("object" !== a) {
var s = b[o];
return new Error("Invalid " + s + " `" + n + "` of type `" + a + "` " + ("supplied to `" + r + "`, expected `object`."))
}
for (var u in e) {
var l = e[u];
if (l) {
var c = l(i, u, r, o);
if (c) return c
}
}
return null
}
return r(t)
}
function h(e) {
switch (typeof e) {
case "number":
case "string":
case "undefined":
return !0;
case "boolean":
return !e;
case "object":
if (Array.isArray(e)) return e.every(h);
if (null === e || v.isValidElement(e)) return !0;
e = y.extractIfFragment(e);
for (var t in e)
if (!h(e[t])) return !1;
return !0;
default:
return !1
}
}
function m(e) {
var t = typeof e;
return Array.isArray(e) ? "array" : e instanceof RegExp ? "object" : t
}
function g(e) {
var t = m(e);
if ("object" === t) {
if (e instanceof Date) return "date";
if (e instanceof RegExp) return "regexp"
}
return t
}
var v = n(64),
y = n(63),
b = n(87),
_ = n(69),
w = "<<anonymous>>",
C = s(),
E = p(),
x = {
array: o("array"),
bool: o("boolean"),
func: o("function"),
number: o("number"),
object: o("object"),
string: o("string"),
any: i(),
arrayOf: a,
element: C,
instanceOf: u,
node: E,
objectOf: c,
oneOf: l,
oneOfType: d,
shape: f
};
e.exports = x
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactDOMOption
*/
"use strict";
var r = n(163),
o = n(90),
i = n(64),
a = n(68),
s = i.createFactory("option"),
u = o.createClass({
displayName: "ReactDOMOption",
tagName: "OPTION",
mixins: [r],
componentWillMount: function() {
"production" !== t.env.NODE_ENV && ("production" !== t.env.NODE_ENV ? a(null == this.props.selected, "Use the `defaultValue` or `value` props on <select> instead of setting `selected` on <option>.") : null)
},
render: function() {
return s(this.props, this.props.children)
}
});
e.exports = u
}).call(t, n(56))
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactDOMSelect
*/
"use strict";
function r() {
if (this._pendingUpdate) {
this._pendingUpdate = !1;
var e = s.getValue(this);
null != e && this.isMounted() && i(this, e)
}
}
function o(e, t) {
if (null == e[t]) return null;
if (e.multiple) {
if (!Array.isArray(e[t])) return new Error("The `" + t + "` prop supplied to <select> must be an array if `multiple` is true.")
} else if (Array.isArray(e[t])) return new Error("The `" + t + "` prop supplied to <select> must be a scalar value if `multiple` is false.")
}
function i(e, t) {
var n, r, o, i = e.getDOMNode().options;
if (e.props.multiple) {
for (n = {}, r = 0, o = t.length; o > r; r++) n["" + t[r]] = !0;
for (r = 0, o = i.length; o > r; r++) {
var a = n.hasOwnProperty(i[r].value);
i[r].selected !== a && (i[r].selected = a)
}
} else {
for (n = "" + t, r = 0, o = i.length; o > r; r++)
if (i[r].value === n) return void(i[r].selected = !0);
i.length && (i[0].selected = !0)
}
}
var a = n(167),
s = n(174),
u = n(163),
l = n(90),
c = n(64),
d = n(79),
p = n(66),
f = c.createFactory("select"),
h = l.createClass({
displayName: "ReactDOMSelect",
tagName: "SELECT",
mixins: [a, s.Mixin, u],
propTypes: {
defaultValue: o,
value: o
},
render: function() {
var e = p({}, this.props);
return e.onChange = this._handleChange, e.value = null, f(e, this.props.children)
},
componentWillMount: function() {
this._pendingUpdate = !1
},
componentDidMount: function() {
var e = s.getValue(this);
null != e ? i(this, e) : null != this.props.defaultValue && i(this, this.props.defaultValue)
},
componentDidUpdate: function(e) {
var t = s.getValue(this);
null != t ? (this._pendingUpdate = !1, i(this, t)) : !e.multiple != !this.props.multiple && (null != this.props.defaultValue ? i(this, this.props.defaultValue) : i(this, this.props.multiple ? [] : ""))
},
_handleChange: function(e) {
var t, n = s.getOnChange(this);
return n && (t = n.call(this, e)), this._pendingUpdate = !0, d.asap(r, this), t
}
});
e.exports = h
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactDOMTextarea
*/
"use strict";
function r() {
this.isMounted() && this.forceUpdate()
}
var o = n(167),
i = n(96),
a = n(174),
s = n(163),
u = n(90),
l = n(64),
c = n(79),
d = n(66),
p = n(60),
f = n(68),
h = l.createFactory("textarea"),
m = u.createClass({
displayName: "ReactDOMTextarea",
tagName: "TEXTAREA",
mixins: [o, a.Mixin, s],
getInitialState: function() {
var e = this.props.defaultValue,
n = this.props.children;
null != n && ("production" !== t.env.NODE_ENV && ("production" !== t.env.NODE_ENV ? f(!1, "Use the `defaultValue` or `value` props instead of setting children on <textarea>.") : null), "production" !== t.env.NODE_ENV ? p(null == e, "If you supply `defaultValue` on a <textarea>, do not pass children.") : p(null == e), Array.isArray(n) && ("production" !== t.env.NODE_ENV ? p(n.length <= 1, "<textarea> can only have at most one child.") : p(n.length <= 1), n = n[0]), e = "" + n), null == e && (e = "");
var r = a.getValue(this);
return {
initialValue: "" + (null != r ? r : e)
}
},
render: function() {
var e = d({}, this.props);
return "production" !== t.env.NODE_ENV ? p(null == e.dangerouslySetInnerHTML, "`dangerouslySetInnerHTML` does not make sense on <textarea>.") : p(null == e.dangerouslySetInnerHTML), e.defaultValue = null, e.value = null, e.onChange = this._handleChange, h(e, this.state.initialValue)
},
componentDidUpdate: function() {
var e = a.getValue(this);
if (null != e) {
var t = this.getDOMNode();
i.setValueForProperty(t, "value", "" + e)
}
},
_handleChange: function(e) {
var t, n = a.getOnChange(this);
return n && (t = n.call(this, e)), c.asap(r, this), t
}
});
e.exports = m
}).call(t, n(56))
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactEventListener
* @typechecks static-only
*/
"use strict";
function r(e) {
var t = d.getID(e),
n = c.getReactRootIDFromNodeID(t),
r = d.findReactContainerForID(n),
o = d.getFirstReactDOM(r);
return o
}
function o(e, t) {
this.topLevelType = e, this.nativeEvent = t, this.ancestors = []
}
function i(e) {
for (var t = d.getFirstReactDOM(h(e.nativeEvent)) || window, n = t; n;) e.ancestors.push(n), n = r(n);
for (var o = 0, i = e.ancestors.length; i > o; o++) {
t = e.ancestors[o];
var a = d.getID(t) || "";
g._handleTopLevel(e.topLevelType, t, a, e.nativeEvent)
}
}
function a(e) {
var t = m(window);
e(t)
}
var s = n(180),
u = n(104),
l = n(62),
c = n(72),
d = n(120),
p = n(79),
f = n(66),
h = n(151),
m = n(181);
f(o.prototype, {
destructor: function() {
this.topLevelType = null, this.nativeEvent = null, this.ancestors.length = 0
}
}), l.addPoolingTo(o, l.twoArgumentPooler);
var g = {
_enabled: !0,
_handleTopLevel: null,
WINDOW_HANDLE: u.canUseDOM ? window : null,
setHandleTopLevel: function(e) {
g._handleTopLevel = e
},
setEnabled: function(e) {
g._enabled = !!e
},
isEnabled: function() {
return g._enabled
},
trapBubbledEvent: function(e, t, n) {
var r = n;
return r ? s.listen(r, t, g.dispatchEvent.bind(null, e)) : null
},
trapCapturedEvent: function(e, t, n) {
var r = n;
return r ? s.capture(r, t, g.dispatchEvent.bind(null, e)) : null
},
monitorScrollValue: function(e) {
var t = a.bind(null, e);
s.listen(window, "scroll", t)
},
dispatchEvent: function(e, t) {
if (g._enabled) {
var n = o.getPooled(e, t);
try {
p.batchedUpdates(i, n)
} finally {
o.release(n)
}
}
}
};
e.exports = g
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* @providesModule EventListener
* @typechecks
*/
var r = n(69),
o = {
listen: function(e, t, n) {
return e.addEventListener ? (e.addEventListener(t, n, !1), {
remove: function() {
e.removeEventListener(t, n, !1)
}
}) : e.attachEvent ? (e.attachEvent("on" + t, n), {
remove: function() {
e.detachEvent("on" + t, n)
}
}) : void 0
},
capture: function(e, n, o) {
return e.addEventListener ? (e.addEventListener(n, o, !0), {
remove: function() {
e.removeEventListener(n, o, !0)
}
}) : ("production" !== t.env.NODE_ENV && console.error("Attempted to listen to events during the capture phase on a browser that does not support the capture phase. Your application will not receive some events."), {
remove: r
})
},
registerDefault: function() {}
};
e.exports = o
}).call(t, n(56))
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule getUnboundedScrollPosition
* @typechecks
*/
"use strict";
function t(e) {
return e === window ? {
x: window.pageXOffset || document.documentElement.scrollLeft,
y: window.pageYOffset || document.documentElement.scrollTop
} : {
x: e.scrollLeft,
y: e.scrollTop
}
}
e.exports = t
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactInjection
*/
"use strict";
var r = n(97),
o = n(122),
i = n(138),
a = n(90),
s = n(129),
u = n(121),
l = n(88),
c = n(140),
d = n(81),
p = n(73),
f = n(79),
h = {
Component: i.injection,
Class: a.injection,
DOMComponent: c.injection,
DOMProperty: r.injection,
EmptyComponent: s.injection,
EventPluginHub: o.injection,
EventEmitter: u.injection,
NativeComponent: l.injection,
Perf: d.injection,
RootIndex: p.injection,
Updates: f.injection
};
e.exports = h
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactReconcileTransaction
* @typechecks static-only
*/
"use strict";
function r() {
this.reinitializeTransaction(), this.renderToStaticMarkup = !1, this.reactMountReady = o.getPooled(null), this.putListenerQueue = u.getPooled()
}
var o = n(80),
i = n(62),
a = n(121),
s = n(184),
u = n(188),
l = n(89),
c = n(66),
d = {
initialize: s.getSelectionInformation,
close: s.restoreSelection
},
p = {
initialize: function() {
var e = a.isEnabled();
return a.setEnabled(!1), e
},
close: function(e) {
a.setEnabled(e)
}
},
f = {
initialize: function() {
this.reactMountReady.reset()
},
close: function() {
this.reactMountReady.notifyAll()
}
},
h = {
initialize: function() {
this.putListenerQueue.reset()
},
close: function() {
this.putListenerQueue.putListeners()
}
},
m = [h, d, p, f],
g = {
getTransactionWrappers: function() {
return m
},
getReactMountReady: function() {
return this.reactMountReady
},
getPutListenerQueue: function() {
return this.putListenerQueue
},
destructor: function() {
o.release(this.reactMountReady), this.reactMountReady = null, u.release(this.putListenerQueue), this.putListenerQueue = null
}
};
c(r.prototype, l.Mixin, g), i.addPoolingTo(r), e.exports = r
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactInputSelection
*/
"use strict";
function r(e) {
return i(document.documentElement, e)
}
var o = n(185),
i = n(132),
a = n(168),
s = n(187),
u = {
hasSelectionCapabilities: function(e) {
return e && ("INPUT" === e.nodeName && "text" === e.type || "TEXTAREA" === e.nodeName || "true" === e.contentEditable)
},
getSelectionInformation: function() {
var e = s();
return {
focusedElem: e,
selectionRange: u.hasSelectionCapabilities(e) ? u.getSelection(e) : null
}
},
restoreSelection: function(e) {
var t = s(),
n = e.focusedElem,
o = e.selectionRange;
t !== n && r(n) && (u.hasSelectionCapabilities(n) && u.setSelection(n, o), a(n))
},
getSelection: function(e) {
var t;
if ("selectionStart" in e) t = {
start: e.selectionStart,
end: e.selectionEnd
};
else if (document.selection && "INPUT" === e.nodeName) {
var n = document.selection.createRange();
n.parentElement() === e && (t = {
start: -n.moveStart("character", -e.value.length),
end: -n.moveEnd("character", -e.value.length)
})
} else t = o.getOffsets(e);
return t || {
start: 0,
end: 0
}
},
setSelection: function(e, t) {
var n = t.start,
r = t.end;
if ("undefined" == typeof r && (r = n), "selectionStart" in e) e.selectionStart = n, e.selectionEnd = Math.min(r, e.value.length);
else if (document.selection && "INPUT" === e.nodeName) {
var i = e.createTextRange();
i.collapse(!0), i.moveStart("character", n), i.moveEnd("character", r - n), i.select()
} else o.setOffsets(e, t)
}
};
e.exports = u
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactDOMSelection
*/
"use strict";
function r(e, t, n, r) {
return e === n && t === r
}
function o(e) {
var t = document.selection,
n = t.createRange(),
r = n.text.length,
o = n.duplicate();
o.moveToElementText(e), o.setEndPoint("EndToStart", n);
var i = o.text.length,
a = i + r;
return {
start: i,
end: a
}
}
function i(e) {
var t = window.getSelection && window.getSelection();
if (!t || 0 === t.rangeCount) return null;
var n = t.anchorNode,
o = t.anchorOffset,
i = t.focusNode,
a = t.focusOffset,
s = t.getRangeAt(0),
u = r(t.anchorNode, t.anchorOffset, t.focusNode, t.focusOffset),
l = u ? 0 : s.toString().length,
c = s.cloneRange();
c.selectNodeContents(e), c.setEnd(s.startContainer, s.startOffset);
var d = r(c.startContainer, c.startOffset, c.endContainer, c.endOffset),
p = d ? 0 : c.toString().length,
f = p + l,
h = document.createRange();
h.setStart(n, o), h.setEnd(i, a);
var m = h.collapsed;
return {
start: m ? f : p,
end: m ? p : f
}
}
function a(e, t) {
var n, r, o = document.selection.createRange().duplicate();
"undefined" == typeof t.end ? (n = t.start, r = n) : t.start > t.end ? (n = t.end, r = t.start) : (n = t.start, r = t.end), o.moveToElementText(e), o.moveStart("character", n), o.setEndPoint("EndToStart", o), o.moveEnd("character", r - n), o.select()
}
function s(e, t) {
if (window.getSelection) {
var n = window.getSelection(),
r = e[c()].length,
o = Math.min(t.start, r),
i = "undefined" == typeof t.end ? o : Math.min(t.end, r);
if (!n.extend && o > i) {
var a = i;
i = o, o = a
}
var s = l(e, o),
u = l(e, i);
if (s && u) {
var d = document.createRange();
d.setStart(s.node, s.offset), n.removeAllRanges(), o > i ? (n.addRange(d), n.extend(u.node, u.offset)) : (d.setEnd(u.node, u.offset), n.addRange(d))
}
}
}
var u = n(104),
l = n(186),
c = n(148),
d = u.canUseDOM && "selection" in document && !("getSelection" in window),
p = {
getOffsets: d ? o : i,
setOffsets: d ? a : s
};
e.exports = p
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule getNodeForCharacterOffset
*/
"use strict";
function t(e) {
for (; e && e.firstChild;) e = e.firstChild;
return e
}
function n(e) {
for (; e;) {
if (e.nextSibling) return e.nextSibling;
e = e.parentNode
}
}
function r(e, r) {
for (var o = t(e), i = 0, a = 0; o;) {
if (3 === o.nodeType) {
if (a = i + o.textContent.length, r >= i && a >= r) return {
node: o,
offset: r - i
};
i = a
}
o = t(n(o))
}
}
e.exports = r
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule getActiveElement
* @typechecks
*/
function t() {
try {
return document.activeElement || document.body
} catch (e) {
return document.body
}
}
e.exports = t
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactPutListenerQueue
*/
"use strict";
function r() {
this.listenersToPut = []
}
var o = n(62),
i = n(121),
a = n(66);
a(r.prototype, {
enqueuePutListener: function(e, t, n) {
this.listenersToPut.push({
rootNodeID: e,
propKey: t,
propValue: n
})
},
putListeners: function() {
for (var e = 0; e < this.listenersToPut.length; e++) {
var t = this.listenersToPut[e];
i.putListener(t.rootNodeID, t.propKey, t.propValue)
}
},
reset: function() {
this.listenersToPut.length = 0
},
destructor: function() {
this.reset()
}
}), o.addPoolingTo(r), e.exports = r
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule SelectEventPlugin
*/
"use strict";
function r(e) {
if ("selectionStart" in e && s.hasSelectionCapabilities(e)) return {
start: e.selectionStart,
end: e.selectionEnd
};
if (window.getSelection) {
var t = window.getSelection();
return {
anchorNode: t.anchorNode,
anchorOffset: t.anchorOffset,
focusNode: t.focusNode,
focusOffset: t.focusOffset
}
}
if (document.selection) {
var n = document.selection.createRange();
return {
parentElement: n.parentElement(),
text: n.text,
top: n.boundingTop,
left: n.boundingLeft
}
}
}
function o(e) {
if (y || null == m || m !== l()) return null;
var t = r(m);
if (!v || !p(v, t)) {
v = t;
var n = u.getPooled(h.select, g, e);
return n.type = "select", n.target = m, a.accumulateTwoPhaseDispatches(n), n
}
}
var i = n(58),
a = n(146),
s = n(184),
u = n(150),
l = n(187),
c = n(154),
d = n(92),
p = n(190),
f = i.topLevelTypes,
h = {
select: {
phasedRegistrationNames: {
bubbled: d({
onSelect: null
}),
captured: d({
onSelectCapture: null
})
},
dependencies: [f.topBlur, f.topContextMenu, f.topFocus, f.topKeyDown, f.topMouseDown, f.topMouseUp, f.topSelectionChange]
}
},
m = null,
g = null,
v = null,
y = !1,
b = {
eventTypes: h,
extractEvents: function(e, t, n, r) {
switch (e) {
case f.topFocus:
(c(t) || "true" === t.contentEditable) && (m = t, g = n, v = null);
break;
case f.topBlur:
m = null, g = null, v = null;
break;
case f.topMouseDown:
y = !0;
break;
case f.topContextMenu:
case f.topMouseUp:
return y = !1, o(r);
case f.topSelectionChange:
case f.topKeyDown:
case f.topKeyUp:
return o(r)
}
}
};
e.exports = b
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule shallowEqual
*/
"use strict";
function t(e, t) {
if (e === t) return !0;
var n;
for (n in e)
if (e.hasOwnProperty(n) && (!t.hasOwnProperty(n) || e[n] !== t[n])) return !1;
for (n in t)
if (t.hasOwnProperty(n) && !e.hasOwnProperty(n)) return !1;
return !0
}
e.exports = t
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ServerReactRootIndex
* @typechecks
*/
"use strict";
var t = Math.pow(2, 53),
n = {
createReactRootIndex: function() {
return Math.ceil(Math.random() * t)
}
};
e.exports = n
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule SimpleEventPlugin
*/
"use strict";
var r = n(58),
o = n(57),
i = n(146),
a = n(193),
s = n(150),
u = n(194),
l = n(195),
c = n(158),
d = n(198),
p = n(199),
f = n(159),
h = n(200),
m = n(196),
g = n(60),
v = n(92),
y = n(68),
b = r.topLevelTypes,
_ = {
blur: {
phasedRegistrationNames: {
bubbled: v({
onBlur: !0
}),
captured: v({
onBlurCapture: !0
})
}
},
click: {
phasedRegistrationNames: {
bubbled: v({
onClick: !0
}),
captured: v({
onClickCapture: !0
})
}
},
contextMenu: {
phasedRegistrationNames: {
bubbled: v({
onContextMenu: !0
}),
captured: v({
onContextMenuCapture: !0
})
}
},
copy: {
phasedRegistrationNames: {
bubbled: v({
onCopy: !0
}),
captured: v({
onCopyCapture: !0
})
}
},
cut: {
phasedRegistrationNames: {
bubbled: v({
onCut: !0
}),
captured: v({
onCutCapture: !0
})
}
},
doubleClick: {
phasedRegistrationNames: {
bubbled: v({
onDoubleClick: !0
}),
captured: v({
onDoubleClickCapture: !0
})
}
},
drag: {
phasedRegistrationNames: {
bubbled: v({
onDrag: !0
}),
captured: v({
onDragCapture: !0
})
}
},
dragEnd: {
phasedRegistrationNames: {
bubbled: v({
onDragEnd: !0
}),
captured: v({
onDragEndCapture: !0
})
}
},
dragEnter: {
phasedRegistrationNames: {
bubbled: v({
onDragEnter: !0
}),
captured: v({
onDragEnterCapture: !0
})
}
},
dragExit: {
phasedRegistrationNames: {
bubbled: v({
onDragExit: !0
}),
captured: v({
onDragExitCapture: !0
})
}
},
dragLeave: {
phasedRegistrationNames: {
bubbled: v({
onDragLeave: !0
}),
captured: v({
onDragLeaveCapture: !0
})
}
},
dragOver: {
phasedRegistrationNames: {
bubbled: v({
onDragOver: !0
}),
captured: v({
onDragOverCapture: !0
})
}
},
dragStart: {
phasedRegistrationNames: {
bubbled: v({
onDragStart: !0
}),
captured: v({
onDragStartCapture: !0
})
}
},
drop: {
phasedRegistrationNames: {
bubbled: v({
onDrop: !0
}),
captured: v({
onDropCapture: !0
})
}
},
focus: {
phasedRegistrationNames: {
bubbled: v({
onFocus: !0
}),
captured: v({
onFocusCapture: !0
})
}
},
input: {
phasedRegistrationNames: {
bubbled: v({
onInput: !0
}),
captured: v({
onInputCapture: !0
})
}
},
keyDown: {
phasedRegistrationNames: {
bubbled: v({
onKeyDown: !0
}),
captured: v({
onKeyDownCapture: !0
})
}
},
keyPress: {
phasedRegistrationNames: {
bubbled: v({
onKeyPress: !0
}),
captured: v({
onKeyPressCapture: !0
})
}
},
keyUp: {
phasedRegistrationNames: {
bubbled: v({
onKeyUp: !0
}),
captured: v({
onKeyUpCapture: !0
})
}
},
load: {
phasedRegistrationNames: {
bubbled: v({
onLoad: !0
}),
captured: v({
onLoadCapture: !0
})
}
},
error: {
phasedRegistrationNames: {
bubbled: v({
onError: !0
}),
captured: v({
onErrorCapture: !0
})
}
},
mouseDown: {
phasedRegistrationNames: {
bubbled: v({
onMouseDown: !0
}),
captured: v({
onMouseDownCapture: !0
})
}
},
mouseMove: {
phasedRegistrationNames: {
bubbled: v({
onMouseMove: !0
}),
captured: v({
onMouseMoveCapture: !0
})
}
},
mouseOut: {
phasedRegistrationNames: {
bubbled: v({
onMouseOut: !0
}),
captured: v({
onMouseOutCapture: !0
})
}
},
mouseOver: {
phasedRegistrationNames: {
bubbled: v({
onMouseOver: !0
}),
captured: v({
onMouseOverCapture: !0
})
}
},
mouseUp: {
phasedRegistrationNames: {
bubbled: v({
onMouseUp: !0
}),
captured: v({
onMouseUpCapture: !0
})
}
},
paste: {
phasedRegistrationNames: {
bubbled: v({
onPaste: !0
}),
captured: v({
onPasteCapture: !0
})
}
},
reset: {
phasedRegistrationNames: {
bubbled: v({
onReset: !0
}),
captured: v({
onResetCapture: !0
})
}
},
scroll: {
phasedRegistrationNames: {
bubbled: v({
onScroll: !0
}),
captured: v({
onScrollCapture: !0
})
}
},
submit: {
phasedRegistrationNames: {
bubbled: v({
onSubmit: !0
}),
captured: v({
onSubmitCapture: !0
})
}
},
touchCancel: {
phasedRegistrationNames: {
bubbled: v({
onTouchCancel: !0
}),
captured: v({
onTouchCancelCapture: !0
})
}
},
touchEnd: {
phasedRegistrationNames: {
bubbled: v({
onTouchEnd: !0
}),
captured: v({
onTouchEndCapture: !0
})
}
},
touchMove: {
phasedRegistrationNames: {
bubbled: v({
onTouchMove: !0
}),
captured: v({
onTouchMoveCapture: !0
})
}
},
touchStart: {
phasedRegistrationNames: {
bubbled: v({
onTouchStart: !0
}),
captured: v({
onTouchStartCapture: !0
})
}
},
wheel: {
phasedRegistrationNames: {
bubbled: v({
onWheel: !0
}),
captured: v({
onWheelCapture: !0
})
}
}
},
w = {
topBlur: _.blur,
topClick: _.click,
topContextMenu: _.contextMenu,
topCopy: _.copy,
topCut: _.cut,
topDoubleClick: _.doubleClick,
topDrag: _.drag,
topDragEnd: _.dragEnd,
topDragEnter: _.dragEnter,
topDragExit: _.dragExit,
topDragLeave: _.dragLeave,
topDragOver: _.dragOver,
topDragStart: _.dragStart,
topDrop: _.drop,
topError: _.error,
topFocus: _.focus,
topInput: _.input,
topKeyDown: _.keyDown,
topKeyPress: _.keyPress,
topKeyUp: _.keyUp,
topLoad: _.load,
topMouseDown: _.mouseDown,
topMouseMove: _.mouseMove,
topMouseOut: _.mouseOut,
topMouseOver: _.mouseOver,
topMouseUp: _.mouseUp,
topPaste: _.paste,
topReset: _.reset,
topScroll: _.scroll,
topSubmit: _.submit,
topTouchCancel: _.touchCancel,
topTouchEnd: _.touchEnd,
topTouchMove: _.touchMove,
topTouchStart: _.touchStart,
topWheel: _.wheel
};
for (var C in w) w[C].dependencies = [C];
var E = {
eventTypes: _,
executeDispatch: function(e, n, r) {
var i = o.executeDispatch(e, n, r);
"production" !== t.env.NODE_ENV ? y("boolean" != typeof i, "Returning `false` from an event handler is deprecated and will be ignored in a future release. Instead, manually call e.stopPropagation() or e.preventDefault(), as appropriate.") : null, i === !1 && (e.stopPropagation(), e.preventDefault())
},
extractEvents: function(e, n, r, o) {
var v = w[e];
if (!v) return null;
var y;
switch (e) {
case b.topInput:
case b.topLoad:
case b.topError:
case b.topReset:
case b.topSubmit:
y = s;
break;
case b.topKeyPress:
if (0 === m(o)) return null;
case b.topKeyDown:
case b.topKeyUp:
y = l;
break;
case b.topBlur:
case b.topFocus:
y = u;
break;
case b.topClick:
if (2 === o.button) return null;
case b.topContextMenu:
case b.topDoubleClick:
case b.topMouseDown:
case b.topMouseMove:
case b.topMouseOut:
case b.topMouseOver:
case b.topMouseUp:
y = c;
break;
case b.topDrag:
case b.topDragEnd:
case b.topDragEnter:
case b.topDragExit:
case b.topDragLeave:
case b.topDragOver:
case b.topDragStart:
case b.topDrop:
y = d;
break;
case b.topTouchCancel:
case b.topTouchEnd:
case b.topTouchMove:
case b.topTouchStart:
y = p;
break;
case b.topScroll:
y = f;
break;
case b.topWheel:
y = h;
break;
case b.topCopy:
case b.topCut:
case b.topPaste:
y = a
}
"production" !== t.env.NODE_ENV ? g(y, "SimpleEventPlugin: Unhandled event type, `%s`.", e) : g(y);
var _ = y.getPooled(v, r, o);
return i.accumulateTwoPhaseDispatches(_), _
}
};
e.exports = E
}).call(t, n(56))
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule SyntheticClipboardEvent
* @typechecks static-only
*/
"use strict";
function r(e, t, n) {
o.call(this, e, t, n)
}
var o = n(150),
i = {
clipboardData: function(e) {
return "clipboardData" in e ? e.clipboardData : window.clipboardData
}
};
o.augmentClass(r, i), e.exports = r
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule SyntheticFocusEvent
* @typechecks static-only
*/
"use strict";
function r(e, t, n) {
o.call(this, e, t, n)
}
var o = n(159),
i = {
relatedTarget: null
};
o.augmentClass(r, i), e.exports = r
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule SyntheticKeyboardEvent
* @typechecks static-only
*/
"use strict";
function r(e, t, n) {
o.call(this, e, t, n)
}
var o = n(159),
i = n(196),
a = n(197),
s = n(160),
u = {
key: a,
location: null,
ctrlKey: null,
shiftKey: null,
altKey: null,
metaKey: null,
repeat: null,
locale: null,
getModifierState: s,
charCode: function(e) {
return "keypress" === e.type ? i(e) : 0
},
keyCode: function(e) {
return "keydown" === e.type || "keyup" === e.type ? e.keyCode : 0
},
which: function(e) {
return "keypress" === e.type ? i(e) : "keydown" === e.type || "keyup" === e.type ? e.keyCode : 0
}
};
o.augmentClass(r, u), e.exports = r
}, function(e) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule getEventCharCode
* @typechecks static-only
*/
"use strict";
function t(e) {
var t, n = e.keyCode;
return "charCode" in e ? (t = e.charCode, 0 === t && 13 === n && (t = 13)) : t = n, t >= 32 || 13 === t ? t : 0
}
e.exports = t
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule getEventKey
* @typechecks static-only
*/
"use strict";
function r(e) {
if (e.key) {
var t = i[e.key] || e.key;
if ("Unidentified" !== t) return t
}
if ("keypress" === e.type) {
var n = o(e);
return 13 === n ? "Enter" : String.fromCharCode(n)
}
return "keydown" === e.type || "keyup" === e.type ? a[e.keyCode] || "Unidentified" : ""
}
var o = n(196),
i = {
Esc: "Escape",
Spacebar: " ",
Left: "ArrowLeft",
Up: "ArrowUp",
Right: "ArrowRight",
Down: "ArrowDown",
Del: "Delete",
Win: "OS",
Menu: "ContextMenu",
Apps: "ContextMenu",
Scroll: "ScrollLock",
MozPrintableKey: "Unidentified"
},
a = {
8: "Backspace",
9: "Tab",
12: "Clear",
13: "Enter",
16: "Shift",
17: "Control",
18: "Alt",
19: "Pause",
20: "CapsLock",
27: "Escape",
32: " ",
33: "PageUp",
34: "PageDown",
35: "End",
36: "Home",
37: "ArrowLeft",
38: "ArrowUp",
39: "ArrowRight",
40: "ArrowDown",
45: "Insert",
46: "Delete",
112: "F1",
113: "F2",
114: "F3",
115: "F4",
116: "F5",
117: "F6",
118: "F7",
119: "F8",
120: "F9",
121: "F10",
122: "F11",
123: "F12",
144: "NumLock",
145: "ScrollLock",
224: "Meta"
};
e.exports = r
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule SyntheticDragEvent
* @typechecks static-only
*/
"use strict";
function r(e, t, n) {
o.call(this, e, t, n)
}
var o = n(158),
i = {
dataTransfer: null
};
o.augmentClass(r, i), e.exports = r
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule SyntheticTouchEvent
* @typechecks static-only
*/
"use strict";
function r(e, t, n) {
o.call(this, e, t, n)
}
var o = n(159),
i = n(160),
a = {
touches: null,
targetTouches: null,
changedTouches: null,
altKey: null,
metaKey: null,
ctrlKey: null,
shiftKey: null,
getModifierState: i
};
o.augmentClass(r, a), e.exports = r
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule SyntheticWheelEvent
* @typechecks static-only
*/
"use strict";
function r(e, t, n) {
o.call(this, e, t, n)
}
var o = n(158),
i = {
deltaX: function(e) {
return "deltaX" in e ? e.deltaX : "wheelDeltaX" in e ? -e.wheelDeltaX : 0
},
deltaY: function(e) {
return "deltaY" in e ? e.deltaY : "wheelDeltaY" in e ? -e.wheelDeltaY : "wheelDelta" in e ? -e.wheelDelta : 0
},
deltaZ: null,
deltaMode: null
};
o.augmentClass(r, i), e.exports = r
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule SVGDOMPropertyConfig
*/
"use strict";
var r = n(97),
o = r.injection.MUST_USE_ATTRIBUTE,
i = {
Properties: {
clipPath: o,
cx: o,
cy: o,
d: o,
dx: o,
dy: o,
fill: o,
fillOpacity: o,
fontFamily: o,
fontSize: o,
fx: o,
fy: o,
gradientTransform: o,
gradientUnits: o,
markerEnd: o,
markerMid: o,
markerStart: o,
offset: o,
opacity: o,
patternContentUnits: o,
patternUnits: o,
points: o,
preserveAspectRatio: o,
r: o,
rx: o,
ry: o,
spreadMethod: o,
stopColor: o,
stopOpacity: o,
stroke: o,
strokeDasharray: o,
strokeLinecap: o,
strokeOpacity: o,
strokeWidth: o,
textAnchor: o,
transform: o,
version: o,
viewBox: o,
x1: o,
x2: o,
x: o,
y1: o,
y2: o,
y: o
},
DOMAttributeNames: {
clipPath: "clip-path",
fillOpacity: "fill-opacity",
fontFamily: "font-family",
fontSize: "font-size",
gradientTransform: "gradientTransform",
gradientUnits: "gradientUnits",
markerEnd: "marker-end",
markerMid: "marker-mid",
markerStart: "marker-start",
patternContentUnits: "patternContentUnits",
patternUnits: "patternUnits",
preserveAspectRatio: "preserveAspectRatio",
spreadMethod: "spreadMethod",
stopColor: "stop-color",
stopOpacity: "stop-opacity",
strokeDasharray: "stroke-dasharray",
strokeLinecap: "stroke-linecap",
strokeOpacity: "stroke-opacity",
strokeWidth: "stroke-width",
textAnchor: "text-anchor",
viewBox: "viewBox"
}
};
e.exports = i
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule createFullPageComponent
* @typechecks
*/
"use strict";
function r(e) {
var n = i.createFactory(e),
r = o.createClass({
tagName: e.toUpperCase(),
displayName: "ReactFullPageComponent" + e,
componentWillUnmount: function() {
"production" !== t.env.NODE_ENV ? a(!1, "%s tried to unmount. Because of cross-browser quirks it is impossible to unmount some top-level components (eg <html>, <head>, and <body>) reliably and efficiently. To fix this, have a single top-level component that never unmounts render these elements.", this.constructor.displayName) : a(!1)
},
render: function() {
return n(this.props)
}
});
return r
}
var o = n(90),
i = n(64),
a = n(60);
e.exports = r
}).call(t, n(56))
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactDefaultPerf
* @typechecks static-only
*/
"use strict";
function r(e) {
return Math.floor(100 * e) / 100
}
function o(e, t, n) {
e[t] = (e[t] || 0) + n
}
var i = n(97),
a = n(204),
s = n(120),
u = n(81),
l = n(205),
c = {
_allMeasurements: [],
_mountStack: [0],
_injected: !1,
start: function() {
c._injected || u.injection.injectMeasure(c.measure), c._allMeasurements.length = 0, u.enableMeasure = !0
},
stop: function() {
u.enableMeasure = !1
},
getLastMeasurements: function() {
return c._allMeasurements
},
printExclusive: function(e) {
e = e || c._allMeasurements;
var t = a.getExclusiveSummary(e);
console.table(t.map(function(e) {
return {
"Component class name": e.componentName,
"Total inclusive time (ms)": r(e.inclusive),
"Exclusive mount time (ms)": r(e.exclusive),
"Exclusive render time (ms)": r(e.render),
"Mount time per instance (ms)": r(e.exclusive / e.count),
"Render time per instance (ms)": r(e.render / e.count),
Instances: e.count
}
}))
},
printInclusive: function(e) {
e = e || c._allMeasurements;
var t = a.getInclusiveSummary(e);
console.table(t.map(function(e) {
return {
"Owner > component": e.componentName,
"Inclusive time (ms)": r(e.time),
Instances: e.count
}
})), console.log("Total time:", a.getTotalTime(e).toFixed(2) + " ms")
},
getMeasurementsSummaryMap: function(e) {
var t = a.getInclusiveSummary(e, !0);
return t.map(function(e) {
return {
"Owner > component": e.componentName,
"Wasted time (ms)": e.time,
Instances: e.count
}
})
},
printWasted: function(e) {
e = e || c._allMeasurements, console.table(c.getMeasurementsSummaryMap(e)), console.log("Total time:", a.getTotalTime(e).toFixed(2) + " ms")
},
printDOM: function(e) {
e = e || c._allMeasurements;
var t = a.getDOMSummary(e);
console.table(t.map(function(e) {
var t = {};
return t[i.ID_ATTRIBUTE_NAME] = e.id, t.type = e.type, t.args = JSON.stringify(e.args), t
})), console.log("Total time:", a.getTotalTime(e).toFixed(2) + " ms")
},
_recordWrite: function(e, t, n, r) {
var o = c._allMeasurements[c._allMeasurements.length - 1].writes;
o[e] = o[e] || [], o[e].push({
type: t,
time: n,
args: r
})
},
measure: function(e, t, n) {
return function() {
for (var r = [], i = 0, a = arguments.length; a > i; i++) r.push(arguments[i]);
var u, d, p;
if ("_renderNewRootComponent" === t || "flushBatchedUpdates" === t) return c._allMeasurements.push({
exclusive: {},
inclusive: {},
render: {},
counts: {},
writes: {},
displayNames: {},
totalTime: 0
}), p = l(), d = n.apply(this, r), c._allMeasurements[c._allMeasurements.length - 1].totalTime = l() - p, d;
if ("_mountImageIntoNode" === t || "ReactDOMIDOperations" === e) {
if (p = l(), d = n.apply(this, r), u = l() - p, "_mountImageIntoNode" === t) {
var f = s.getID(r[1]);
c._recordWrite(f, t, u, r[0])
} else "dangerouslyProcessChildrenUpdates" === t ? r[0].forEach(function(e) {
var t = {};
null !== e.fromIndex && (t.fromIndex = e.fromIndex), null !== e.toIndex && (t.toIndex = e.toIndex), null !== e.textContent && (t.textContent = e.textContent), null !== e.markupIndex && (t.markup = r[1][e.markupIndex]), c._recordWrite(e.parentID, e.type, u, t)
}) : c._recordWrite(r[0], t, u, Array.prototype.slice.call(r, 1));
return d
}
if ("ReactCompositeComponent" !== e || "mountComponent" !== t && "updateComponent" !== t && "_renderValidatedComponent" !== t) return n.apply(this, r);
if ("string" == typeof this._currentElement.type) return n.apply(this, r);
var h = "mountComponent" === t ? r[0] : this._rootNodeID,
m = "_renderValidatedComponent" === t,
g = "mountComponent" === t,
v = c._mountStack,
y = c._allMeasurements[c._allMeasurements.length - 1];
if (m ? o(y.counts, h, 1) : g && v.push(0), p = l(), d = n.apply(this, r), u = l() - p, m) o(y.render, h, u);
else if (g) {
var b = v.pop();
v[v.length - 1] += u, o(y.exclusive, h, u - b), o(y.inclusive, h, u)
} else o(y.inclusive, h, u);
return y.displayNames[h] = {
current: this.getName(),
owner: this._currentElement._owner ? this._currentElement._owner.getName() : "<root>"
}, d
}
}
};
e.exports = c
}, function(e, t, n) {
function r(e) {
for (var t = 0, n = 0; n < e.length; n++) {
var r = e[n];
t += r.totalTime
}
return t
}
function o(e) {
for (var t = [], n = 0; n < e.length; n++) {
var r, o = e[n];
for (r in o.writes) o.writes[r].forEach(function(e) {
t.push({
id: r,
type: c[e.type] || e.type,
args: e.args
})
})
}
return t
}
function i(e) {
for (var t, n = {}, r = 0; r < e.length; r++) {
var o = e[r],
i = u({}, o.exclusive, o.inclusive);
for (var a in i) t = o.displayNames[a].current, n[t] = n[t] || {
componentName: t,
inclusive: 0,
exclusive: 0,
render: 0,
count: 0
}, o.render[a] && (n[t].render += o.render[a]), o.exclusive[a] && (n[t].exclusive += o.exclusive[a]), o.inclusive[a] && (n[t].inclusive += o.inclusive[a]), o.counts[a] && (n[t].count += o.counts[a])
}
var s = [];
for (t in n) n[t].exclusive >= l && s.push(n[t]);
return s.sort(function(e, t) {
return t.exclusive - e.exclusive
}), s
}
function a(e, t) {
for (var n, r = {}, o = 0; o < e.length; o++) {
var i, a = e[o],
c = u({}, a.exclusive, a.inclusive);
t && (i = s(a));
for (var d in c)
if (!t || i[d]) {
var p = a.displayNames[d];
n = p.owner + " > " + p.current, r[n] = r[n] || {
componentName: n,
time: 0,
count: 0
}, a.inclusive[d] && (r[n].time += a.inclusive[d]), a.counts[d] && (r[n].count += a.counts[d])
}
}
var f = [];
for (n in r) r[n].time >= l && f.push(r[n]);
return f.sort(function(e, t) {
return t.time - e.time
}), f
}
function s(e) {
var t = {},
n = Object.keys(e.writes),
r = u({}, e.exclusive, e.inclusive);
for (var o in r) {
for (var i = !1, a = 0; a < n.length; a++)
if (0 === n[a].indexOf(o)) {
i = !0;
break
}!i && e.counts[o] > 0 && (t[o] = !0)
}
return t
}
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactDefaultPerfAnalysis
*/
var u = n(66),
l = 1.2,
c = {
_mountImageIntoNode: "set innerHTML",
INSERT_MARKUP: "set innerHTML",
MOVE_EXISTING: "move",
REMOVE_NODE: "remove",
TEXT_CONTENT: "set textContent",
updatePropertyByID: "update attribute",
deletePropertyByID: "delete attribute",
updateStylesByID: "update styles",
updateInnerHTMLByID: "set innerHTML",
dangerouslyReplaceNodeWithMarkupByID: "replace"
},
d = {
getExclusiveSummary: i,
getInclusiveSummary: a,
getDOMSummary: o,
getTotalTime: r
};
e.exports = d
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule performanceNow
* @typechecks
*/
var r = n(206);
r && r.now || (r = Date);
var o = r.now.bind(r);
e.exports = o
}, function(e, t, n) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule performance
* @typechecks
*/
"use strict";
var r, o = n(104);
o.canUseDOM && (r = window.performance || window.msPerformance || window.webkitPerformance), e.exports = r || {}
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @typechecks static-only
* @providesModule ReactServerRendering
*/
"use strict";
function r(e) {
"production" !== t.env.NODE_ENV ? d(i.isValidElement(e), "renderToString(): You must pass a valid ReactElement.") : d(i.isValidElement(e));
var n;
try {
var r = a.createReactRootID();
return n = u.getPooled(!1), n.perform(function() {
var t = c(e, null),
o = t.mountComponent(r, n, l);
return s.addChecksumToMarkup(o)
}, null)
} finally {
u.release(n)
}
}
function o(e) {
"production" !== t.env.NODE_ENV ? d(i.isValidElement(e), "renderToStaticMarkup(): You must pass a valid ReactElement.") : d(i.isValidElement(e));
var n;
try {
var r = a.createReactRootID();
return n = u.getPooled(!0), n.perform(function() {
var t = c(e, null);
return t.mountComponent(r, n, l)
}, null)
} finally {
u.release(n)
}
}
var i = n(64),
a = n(72),
s = n(130),
u = n(208),
l = n(67),
c = n(136),
d = n(60);
e.exports = {
renderToString: r,
renderToStaticMarkup: o
}
}).call(t, n(56))
}, function(e, t, n) {
/**
* Copyright 2014-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule ReactServerRenderingTransaction
* @typechecks
*/
"use strict";
function r(e) {
this.reinitializeTransaction(), this.renderToStaticMarkup = e, this.reactMountReady = i.getPooled(null), this.putListenerQueue = a.getPooled()
}
var o = n(62),
i = n(80),
a = n(188),
s = n(89),
u = n(66),
l = n(69),
c = {
initialize: function() {
this.reactMountReady.reset()
},
close: l
},
d = {
initialize: function() {
this.putListenerQueue.reset()
},
close: l
},
p = [d, c],
f = {
getTransactionWrappers: function() {
return p
},
getReactMountReady: function() {
return this.reactMountReady
},
getPutListenerQueue: function() {
return this.putListenerQueue
},
destructor: function() {
i.release(this.reactMountReady), this.reactMountReady = null, a.release(this.putListenerQueue), this.putListenerQueue = null
}
};
u(r.prototype, s.Mixin, f), o.addPoolingTo(r), e.exports = r
}, function(e, t, n) {
(function(t) {
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule onlyChild
*/
"use strict";
function r(e) {
return "production" !== t.env.NODE_ENV ? i(o.isValidElement(e), "onlyChild must be passed a children with exactly one child.") : i(o.isValidElement(e)), e
}
var o = n(64),
i = n(60);
e.exports = r
}).call(t, n(56))
}, function(e, t) {
"use strict";
Object.defineProperty(t, "__esModule", {
value: !0
});
var n = {
comment: "data-add-comment-button",
count: "data-comment-count",
form: "data-add-comment-form",
edit: "data-edit-link",
answer: "data-answer-id",
question: "data-question-id",
list: "data-comments-list",
best: "data-best-answer",
helpful: "data-mark-helpful"
};
t["default"] = n, e.exports = t["default"]
}, function(e, t, n) {
(function(r) {
"use strict";
function o(e) {
return e && e.__esModule ? e : {
"default": e
}
}
Object.defineProperty(t, "__esModule", {
value: !0
});
var i = n(54),
a = o(i),
s = n(212),
u = o(s),
l = n(217),
c = o(l),
d = n(210),
p = o(d),
f = r.jQuery;
t["default"] = a["default"].createClass({
displayName: "comment-box",
getInitialState: function() {
return {
showButton: !1,
showForm: !0,
hasError: !1,
errorMsg: ""
}
},
componentDidMount: function() {
var e = this;
this.props.onMount(function() {
e.setState({
showButton: !1,
showForm: !0
})
})
},
handleCommentSubmit: function(e) {
var t = this;
return f.ajax({
url: this.props.url,
dataType: "json",
type: "POST",
data: {
"comment[body]": e,
"comment[validateCaptcha]": !1,
commit: "Comment",
utf8: "\u2713"
},
success: function(n) {
return n.success ? (t.addNewComment(n.id, e), void t.setState({
showButton: !1,
showForm: !0,
hasError: !1,
errorMsg: ""
})) : void t.setError()
},
error: function() {
t.setError()
}
})
},
getComments: function() {
return this.props.commentList.querySelectorAll(".comment[data-comment-id]")
},
handleAddCommentClick: function() {
this.setState({
showButton: !1,
showForm: !0
})
},
addNewComment: function(e, t) {
var n = document.createElement("div");
n.className = "comment", a["default"].render(a["default"].createElement(c["default"], {
createdAt: (new Date).toISOString(),
text: t,
id: e
}), n), this.props.commentList.insertBefore(n, this.props.commentList.lastElementChild), f("[" + p["default"].count + '="' + this.props.answerId + '"]').text("" + this.getComments().length)
},
setError: function(e) {
this.setState({
hasError: !0,
errorMsg: e || "We had issues saving your comment"
})
},
render: function() {
return a["default"].createElement("div", null, a["default"].createElement(u["default"], {
answerId: this.props.answerId,
onCommentSubmit: this.handleCommentSubmit,
shouldShow: this.state.showForm,
hasError: this.state.hasError,
errorMsg: this.state.errorMsg,
action: this.props.url,
ref: "form"
}))
}
}), e.exports = t["default"]
}).call(t, function() {
return this
}())
}, function(e, t, n) {
"use strict";
function r(e) {
return e && e.__esModule ? e : {
"default": e
}
}
Object.defineProperty(t, "__esModule", {
value: !0
});
var o = n(54),
i = r(o),
a = n(213),
s = (r(a), n(214)),
u = r(s),
l = n(215),
c = r(l),
d = n(216),
p = r(d);
t["default"] = i["default"].createClass({
displayName: "comment-form",
getInitialState: function() {
return {
text: ""
}
},
handleSubmit: function(e) {
e.preventDefault();
var t = i["default"].findDOMNode(this.refs.text).value.trim();
t && (this.props.onCommentSubmit(t), this.setState({
text: ""
}))
},
render: function() {
var e = "comment-box-" + this.props.answerId,
t = ["comment-form"];
return this.props.shouldShow || t.push("hidden"), this.props.hasError && t.push("has-error"), i["default"].createElement("form", {
className: t.join(" "),
onSubmit: this.handleSubmit,
acceptCharset: "UTF-8",
method: "post",
action: this.props.action
}, i["default"].createElement("div", {
className: "form-group text"
}, i["default"].createElement(c["default"], {
htmlFor: e,
text: "Add a comment"
}), i["default"].createElement(p["default"], {
id: e,
value: this.state.text,
name: "body",
ref: "text"
}), i["default"].createElement(u["default"], {
htmlFor: e,
errorMsg: this.props.errorMsg
})), i["default"].createElement("button", {
name: "comment-submit",
type: "submit",
className: "btn btn-default btn-sm btn-primary"
}, "Comment"))
}
}), e.exports = t["default"]
}, function(e, t, n) {
"use strict";
function r(e) {
return e && e.__esModule ? e : {
"default": e
}
}
Object.defineProperty(t, "__esModule", {
value: !0
});
var o = n(54),
i = r(o);
t["default"] = i["default"].createClass({
displayName: "hidden-input",
render: function() {
return i["default"].createElement("input", {
type: "hidden",
name: this.props.name,
value: this.props.value
})
}
}), e.exports = t["default"]
}, function(e, t, n) {
"use strict";
function r(e) {
return e && e.__esModule ? e : {
"default": e
}
}
Object.defineProperty(t, "__esModule", {
value: !0
});
var o = n(54),
i = r(o);
t["default"] = i["default"].createClass({
displayName: "error-label",
render: function() {
var e = ["help-block"];
return "" === this.props.errorMsg && e.push("hidden"), i["default"].createElement("label", {
htmlFor: this.props.htmlFor,
className: e.join(" ")
}, this.props.errorMsg)
}
}), e.exports = t["default"]
}, function(e, t, n) {
"use strict";
function r(e) {
return e && e.__esModule ? e : {
"default": e
}
}
Object.defineProperty(t, "__esModule", {
value: !0
});
var o = n(54),
i = r(o);
t["default"] = i["default"].createClass({
displayName: "label",
render: function() {
return i["default"].createElement("label", {
className: "control-label",
htmlFor: this.props.htmlFor
}, this.props.text)
}
}), e.exports = t["default"]
}, function(e, t, n) {
"use strict";
function r(e) {
return e && e.__esModule ? e : {
"default": e
}
}
Object.defineProperty(t, "__esModule", {
value: !0
});
var o = n(54),
i = r(o);
t["default"] = i["default"].createClass({
displayName: "textarea",
getInitialState: function() {
return {
rows: 3,
value: ""
}
},
componentWillMount: function() {
this.setState({
value: this.props.value
})
},
componentWillReceiveProps: function(e) {
this.setState({
value: e.value
})
},
handleChange: function(e) {
this.setState({
value: e.target.value
})
},
render: function() {
return i["default"].createElement("textarea", {
id: this.props.id,
className: "form-control",
name: this.props.name,
value: this.state.value,
onChange: this.handleChange,
rows: this.state.rows,
ref: "input"
})
}
}), e.exports = t["default"]
}, function(e, t, n) {
"use strict";
function r(e) {
return e && e.__esModule ? e : {
"default": e
}
}
Object.defineProperty(t, "__esModule", {
value: !0
});
var o = n(54),
i = r(o);
t["default"] = i["default"].createClass({
displayName: "comment",
render: function() {
return i["default"].createElement("div", {
itemScope: "itemscope",
itemType: "http://schema.org/Comment",
className: "comment",
"data-comment-id": this.props.id
}, i["default"].createElement("div", {
className: "comment-header"
}, i["default"].createElement("h3", {
className: "comment-author"
}, "Asker"), i["default"].createElement("div", {
className: "comment-time"
}, "Posted ", i["default"].createElement("time", {
dateTime: this.props.createdAt,
"data-local": "time-ago"
}))), i["default"].createElement("p", {
className: "comment-body"
}, this.props.text))
}
}), e.exports = t["default"]
}, function(e, t, n) {
(function(r) {
"use strict";
function o(e) {
return e && e.__esModule ? e : {
"default": e
}
}
Object.defineProperty(t, "__esModule", {
value: !0
});
var i = n(54),
a = o(i),
s = n(219),
u = o(s),
l = r.jQuery;
t["default"] = a["default"].createClass({
displayName: "vote-link",
handleClick: function(e) {
var t = this;
e.preventDefault(), l.ajax({
url: this.props.url,
dataType: "json",
type: "GET",
success: function(n) {
n.success && t.props.onVote(e)
},
error: function() {}
})
},
render: function() {
return a["default"].createElement("a", {
className: "u-text-color-reset",
onClick: this.handleClick,
href: this.props.url
}, a["default"].createElement(u["default"], {
iconName: this.props.iconName,
color: this.props.iconColor
}), " ", this.props.text)
}
}), e.exports = t["default"]
}).call(t, function() {
return this
}())
}, function(e, t, n) {
"use strict";
function r(e) {
return e && e.__esModule ? e : {
"default": e
}
}
Object.defineProperty(t, "__esModule", {
value: !0
});
var o = n(54),
i = r(o);
t["default"] = i["default"].createClass({
displayName: "icon",
render: function() {
return i["default"].createElement("span", {
"aria-hidden": "true",
className: "icon icon-" + this.props.iconName + " u-text-color-" + this.props.color
})
}
}), e.exports = t["default"]
}]);
var loadingNotifications = !1;
jQuery(function() {
function e() {
return loadingNotifications ? void 0 : ($.ajax("/notifications.js"), loadingNotifications = !0, !0)
}
$(".js-notifications-dropdown").on("show.bs.dropdown", e), $(".js-notifications-dropdown").on("show.ui.dropdown", e)
}),
function(e) {
e && (e.NotificationReader = function() {
this.listenToNotifications = function() {
$("a[data-readable='true']").click(function(e) {
e.preventDefault();
var t = $(e.target).parents(".js-notification-section");
return t[0] ? (this.readNotification(t, e), !1) : location = $(e.target).attr("href")
}.bind(this))
}, this.readNotification = function(e, t) {
var n = e.data("update-path");
$.ajax({
url: n,
type: "PATCH",
success: function() {
location = $(t.target).closest("a").attr("href")
},
error: function() {
location = $(t.target).attr("href")
}
})
}
})
}(window), $(function() {
function e(e, t) {
var n = $(t),
r = n.data("professional-id"),
o = $("[data-professional-id=" + r + "]"),
i = n.data("state-licensed"),
a = n.data("display-location"),
s = n.data("display-specialty"),
u = n.data("display-license");
if (o.find(".js-display-location").text(a), o.find(".js-display-specialty").text(s), i) {
var l = o.find(".js-state-license");
l.find(".js-display-license").text(u), l.removeClass("hidden")
}
}
$(document).ready(function() {
$(".js-professional-meta").each(e)
})
}), $(function() {
var e = function(e, t) {
$el = $(e);
var n = this;
this.data = t[$el.data("gn-section-key")], this.handleNode = function(e, t, n) {
$element = $(t), n($element, this.data[$element.data(e)])
}, data.feature_box && $el.find("[data-gn-feature-box]").html(data.feature_box), $.each($el.find("*[data-gn-img-src]"), function(e, t) {
n.handleNode("gn-img-src", t, function(e, t) {
e.attr("src", t)
})
}), $.each($el.find("*[data-gn-text-attribute]"), function(e, t) {
n.handleNode("gn-text-attribute", t, function(e, t) {
e.text(t)
})
}), $.each($el.find("*[data-gn-html-attribute]"), function(e, t) {
n.handleNode("gn-html-attribute", t, function(e, t) {
e.html(t)
})
}), $.each($el.find("*[data-gn-visible]"), function(e, t) {
n.handleNode("gn-visible", t, function(e, t) {
t && e.removeClass("hidden")
})
}), $.each($el.find("*[data-gn-hidden]"), function(e, t) {
n.handleNode("gn-hidden", t, function(e, t) {
t && e.addClass("hidden")
})
}), data.specialty.id && $element.attr("data-specialty-id", data.specialty.id), data.location.id && $element.attr("data-location-id", data.location.id)
},
t = function() {
$("a.nav-section-action").click(function(e) {
function t() {
o && i && a.removeAttr("data-toggle")
}
function n() {
r || o && !i ? (e.preventDefault(), a.attr("data-gtm-skip-tracking", "once")) : t()
}
var r = $(e.target).hasClass("icon"),
o = $(this).next().hasClass("nav-section-content"),
i = $(this).next().is(":visible"),
a = $(this);
n()
})
};
$(document).ready(function() {
var n = function(e, n) {
var n = n || function() {};
e.user.professional_id && $.ajax({
method: "GET",
url: "/giganav/lawyer_links",
dataType: "html"
}).done(function(e) {
$(".js-giganav-professional-hide").addClass("hidden");
var r = $(".nav-container .js-giganav-links");
r.before(e), t(), n()
})
},
r = function(e) {
e.user && ($(".v-avvo-chat-nav-section").removeClass("hidden"), $.ajax({
method: "GET",
url: "/giganav/notifications",
dataType: "json"
}).done(function(e) {
e.unread_notification_count > 0 && $(".js-user-notifications-count").data("pinned_badge", e.unread_notification_count)
}), $.ajax({
method: "GET",
url: "/giganav/user_tools",
dataType: "html"
}).done(function(e) {
var n = $(".js-giganav-user-tools");
n.html(e), n.addClass("logged-in"), t(), (new NotificationReader).listenToNotifications()
}))
},
o = function(n) {
var r = r || function() {},
o = {},
i = n.navigation_location_id,
a = n.navigation_specialty_id;
return a || i ? (i && (o.location_id = i), a && (o.specialty_id = a), $.ajax({
method: "GET",
url: "/giganav",
data: o,
dataType: "json"
}).done(function(n) {
$.each($("*[data-gn-section-key]"), function(t, r) {
e(r, n)
}), t(), r()
})) : t()
},
i = function(e, t) {
e.user && e.user.professional_id ? (n(e, t), $('[data-moduletype="advisor_giganav"]').addClass("hidden")) : o(e, t)
};
Avvo.withContext(function(e) {
e.reload_user ? Avvo.context._updateUserFromServer().then(function() {
r(e), i(e, function() {
Avvo.context.remove("reload_user")
})
}) : (r(e), i(e))
})
})
}), $(function() {
function e(e, t) {
var n = $(t).data("question-id");
$.ajax({
url: "/questions/" + n + "/asker_tips",
dataType: "json",
type: "GET",
success: function(e) {
if (e.show_mark_as_best_tip) {
var t = $("#mark-as-best-answer-modal");
t.removeClass("hidden"), t.modal({})
}
if (e.show_mark_as_helpful_tip) {
var t = $("#mark-as-helpful-modal");
t.removeClass("hidden"), t.modal({})
}
},
error: function() {}
})
}
$(document).ready(function() {
$(".js-answer-tips[data-question-id]").each(e)
})
});
var Mailcheck = {
domainThreshold: 4,
topLevelThreshold: 3,
defaultDomains: ["yahoo.com", "google.com", "hotmail.com", "gmail.com", "me.com", "aol.com", "mac.com", "live.com", "comcast.net", "googlemail.com", "msn.com", "hotmail.co.uk", "yahoo.co.uk", "facebook.com", "verizon.net", "sbcglobal.net", "att.net", "gmx.com", "mail.com", "outlook.com", "icloud.com"],
defaultTopLevelDomains: ["co.jp", "co.uk", "com", "net", "org", "info", "edu", "gov", "mil", "ca"],
run: function(e) {
e.domains = e.domains || Mailcheck.defaultDomains, e.topLevelDomains = e.topLevelDomains || Mailcheck.defaultTopLevelDomains, e.distanceFunction = e.distanceFunction || Mailcheck.sift3Distance;
var t = function(e) {
return e
},
n = e.suggested || t,
r = e.empty || t,
o = Mailcheck.suggest(Mailcheck.encodeEmail(e.email), e.domains, e.topLevelDomains, e.distanceFunction);
return o ? n(o) : r()
},
suggest: function(e, t, n, r) {
e = e.toLowerCase();
var o = this.splitEmail(e),
i = this.findClosestDomain(o.domain, t, r, this.domainThreshold);
if (i) {
if (i != o.domain) return {
address: o.address,
domain: i,
full: o.address + "@" + i
}
} else {
var a = this.findClosestDomain(o.topLevelDomain, n, r, this.topLevelThreshold);
if (o.domain && a && a != o.topLevelDomain) {
var s = o.domain;
return i = s.substring(0, s.lastIndexOf(o.topLevelDomain)) + a, {
address: o.address,
domain: i,
full: o.address + "@" + i
}
}
}
return !1
},
findClosestDomain: function(e, t, n, r) {
r = r || this.topLevelThreshold;
var o, i = 99,
a = null;
if (!e || !t) return !1;
n || (n = this.sift3Distance);
for (var s = 0; s < t.length; s++) {
if (e === t[s]) return e;
o = n(e, t[s]), i > o && (i = o, a = t[s])
}
return r >= i && null !== a ? a : !1
},
sift3Distance: function(e, t) {
if (null == e || 0 === e.length) return null == t || 0 === t.length ? 0 : t.length;
if (null == t || 0 === t.length) return e.length;
for (var n = 0, r = 0, o = 0, i = 0, a = 5; n + r < e.length && n + o < t.length;) {
if (e.charAt(n + r) == t.charAt(n + o)) i++;
else {
r = 0, o = 0;
for (var s = 0; a > s; s++) {
if (n + s < e.length && e.charAt(n + s) == t.charAt(n)) {
r = s;
break
}
if (n + s < t.length && e.charAt(n) == t.charAt(n + s)) {
o = s;
break
}
}
}
n++
}
return (e.length + t.length) / 2 - i
},
splitEmail: function(e) {
var t = e.trim().split("@");
if (t.length < 2) return !1;
for (var n = 0; n < t.length; n++)
if ("" === t[n]) return !1;
var r = t.pop(),
o = r.split("."),
i = "";
if (0 == o.length) return !1;
if (1 == o.length) i = o[0];
else {
for (var n = 1; n < o.length; n++) i += o[n] + ".";
o.length >= 2 && (i = i.substring(0, i.length - 1))
}
return {
topLevelDomain: i,
domain: r,
address: t.join("@")
}
},
encodeEmail: function(e) {
var t = encodeURI(e);
return t = t.replace("%20", " ").replace("%25", "%").replace("%5E", "^").replace("%60", "`").replace("%7B", "{").replace("%7C", "|").replace("%7D", "}")
}
};
if ("undefined" != typeof module && module.exports && (module.exports = Mailcheck), "undefined" != typeof window && window.jQuery && ! function(e) {
e.fn.mailcheck = function(e) {
var t = this;
if (e.suggested) {
var n = e.suggested;
e.suggested = function(e) {
n(t, e)
}
}
if (e.empty) {
var r = e.empty;
e.empty = function() {
r.call(null, t)
}
}
e.email = this.val(), Mailcheck.run(e)
}
}(jQuery), $(function() {
function e() {
$(this).mailcheck({
domains: t,
topLevelDomains: n,
suggested: function(e, t) {
$(e).val() != t.full && $(e).next(".email-suggestion").show().find(".expected-email").html(t.full)
},
empty: function(e) {
$(e).next(".email-suggestion").hide()
}
})
}
var t = ["hotmail.com", "gmail.com", "aol.com", "avvo.com"],
n = ["com", "net", "org"],
r = "#sign_in_email, #register_email, input[type=email], subscribe_form[email_address]",
o = "#js_subscribe_form_email";
$(r + ", " + o).after("<div class='email-suggestion margin4 help-block' style='display:none'>Did you mean <a class='expected-email' href='#!'> </a>? </div>"), $(r).on("blur", function() {
e.call(this)
}), $(o).on("keyup", function() {
e.call(this)
}), $(".expected-email").click(function() {
$(this).parent().hide().prev().val(this.innerHTML)
})
}), function(e) {
e.FancyCrumbs = function(t) {
function n() {
$lastCrumb = u.find("li:last"), $lastCrumb.is(":visible") ? $lastCrumb.addClass("hidden") : u.find("li:visible:first").addClass("hidden"), o() || n()
}
function r() {
var e = u.find("li.hidden:last:not(:last-of-type)")[0];
e ? $(e).removeClass("hidden") : u.find("li.hidden").removeClass("hidden"), o() || n()
}
function o() {
return l.scrollHeight == l.clientHeight
}
function i() {
o() ? r() : n()
}
var a = this,
s = {
element: "#js-breadcrumbs"
};
$.extend(s, t);
var u = $(s.element),
l = u[0];
a.resizeCrumbs = function() {
e.requestAnimationFrame(i)
}, l && ($(e).resize(_.throttle(a.resizeCrumbs, 50)), setTimeout(a.resizeCrumbs, 300))
}
}(window), $(document).ready(function() {
window.defaultFancyCrumbs = new FancyCrumbs
}), function(e) {
"use strict";
"function" == typeof define && define.amd ? define(["jquery"], e) : "undefined" != typeof exports ? module.exports = e(require("jquery")) : e(jQuery)
}(function(e) {
"use strict";
var t = window.Slick || {};
t = function() {
function t(t, r) {
var o, i = this;
i.defaults = {
accessibility: !0,
adaptiveHeight: !1,
appendArrows: e(t),
appendDots: e(t),
arrows: !0,
asNavFor: null,
prevArrow: '<button type="button" data-role="none" class="slick-prev" aria-label="Previous" tabindex="0" role="button">Previous</button>',
nextArrow: '<button type="button" data-role="none" class="slick-next" aria-label="Next" tabindex="0" role="button">Next</button>',
autoplay: !1,
autoplaySpeed: 3e3,
centerMode: !1,
centerPadding: "50px",
cssEase: "ease",
customPaging: function(e, t) {
return '<button type="button" data-role="none" role="button" aria-required="false" tabindex="0">' + (t + 1) + "</button>"
},
dots: !1,
dotsClass: "slick-dots",
draggable: !0,
easing: "linear",
edgeFriction: .35,
fade: !1,
focusOnSelect: !1,
infinite: !0,
initialSlide: 0,
lazyLoad: "ondemand",
mobileFirst: !1,
pauseOnHover: !0,
pauseOnDotsHover: !1,
respondTo: "window",
responsive: null,
rows: 1,
rtl: !1,
slide: "",
slidesPerRow: 1,
slidesToShow: 1,
slidesToScroll: 1,
speed: 500,
swipe: !0,
swipeToSlide: !1,
touchMove: !0,
touchThreshold: 5,
useCSS: !0,
variableWidth: !1,
vertical: !1,
verticalSwiping: !1,
waitForAnimate: !0,
zIndex: 1e3
}, i.initials = {
animating: !1,
dragging: !1,
autoPlayTimer: null,
currentDirection: 0,
currentLeft: null,
currentSlide: 0,
direction: 1,
$dots: null,
listWidth: null,
listHeight: null,
loadIndex: 0,
$nextArrow: null,
$prevArrow: null,
slideCount: null,
slideWidth: null,
$slideTrack: null,
$slides: null,
sliding: !1,
slideOffset: 0,
swipeLeft: null,
$list: null,
touchObject: {},
transformsEnabled: !1,
unslicked: !1
}, e.extend(i, i.initials), i.activeBreakpoint = null, i.animType = null, i.animProp = null, i.breakpoints = [], i.breakpointSettings = [], i.cssTransitions = !1, i.hidden = "hidden", i.paused = !1, i.positionProp = null, i.respondTo = null, i.rowCount = 1, i.shouldClick = !0, i.$slider = e(t), i.$slidesCache = null, i.transformType = null, i.transitionType = null, i.visibilityChange = "visibilitychange", i.windowWidth = 0, i.windowTimer = null, o = e(t).data("slick") || {}, i.options = e.extend({}, i.defaults, o, r), i.currentSlide = i.options.initialSlide, i.originalSettings = i.options, "undefined" != typeof document.mozHidden ? (i.hidden = "mozHidden", i.visibilityChange = "mozvisibilitychange") : "undefined" != typeof document.webkitHidden && (i.hidden = "webkitHidden", i.visibilityChange = "webkitvisibilitychange"), i.autoPlay = e.proxy(i.autoPlay, i), i.autoPlayClear = e.proxy(i.autoPlayClear, i), i.changeSlide = e.proxy(i.changeSlide, i), i.clickHandler = e.proxy(i.clickHandler, i), i.selectHandler = e.proxy(i.selectHandler, i), i.setPosition = e.proxy(i.setPosition, i), i.swipeHandler = e.proxy(i.swipeHandler, i), i.dragHandler = e.proxy(i.dragHandler, i), i.keyHandler = e.proxy(i.keyHandler, i), i.autoPlayIterator = e.proxy(i.autoPlayIterator, i), i.instanceUid = n++, i.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/, i.registerBreakpoints(), i.init(!0), i.checkResponsive(!0)
}
var n = 0;
return t
}(), t.prototype.addSlide = t.prototype.slickAdd = function(t, n, r) {
var o = this;
if ("boolean" == typeof n) r = n, n = null;
else if (0 > n || n >= o.slideCount) return !1;
o.unload(), "number" == typeof n ? 0 === n && 0 === o.$slides.length ? e(t).appendTo(o.$slideTrack) : r ? e(t).insertBefore(o.$slides.eq(n)) : e(t).insertAfter(o.$slides.eq(n)) : r === !0 ? e(t).prependTo(o.$slideTrack) : e(t).appendTo(o.$slideTrack), o.$slides = o.$slideTrack.children(this.options.slide), o.$slideTrack.children(this.options.slide).detach(), o.$slideTrack.append(o.$slides), o.$slides.each(function(t, n) {
e(n).attr("data-slick-index", t)
}), o.$slidesCache = o.$slides, o.reinit()
}, t.prototype.animateHeight = function() {
var e = this;
if (1 === e.options.slidesToShow && e.options.adaptiveHeight === !0 && e.options.vertical === !1) {
var t = e.$slides.eq(e.currentSlide).outerHeight(!0);
e.$list.animate({
height: t
}, e.options.speed)
}
}, t.prototype.animateSlide = function(t, n) {
var r = {},
o = this;
o.animateHeight(), o.options.rtl === !0 && o.options.vertical === !1 && (t = -t), o.transformsEnabled === !1 ? o.options.vertical === !1 ? o.$slideTrack.animate({
left: t
}, o.options.speed, o.options.easing, n) : o.$slideTrack.animate({
top: t
}, o.options.speed, o.options.easing, n) : o.cssTransitions === !1 ? (o.options.rtl === !0 && (o.currentLeft = -o.currentLeft), e({
animStart: o.currentLeft
}).animate({
animStart: t
}, {
duration: o.options.speed,
easing: o.options.easing,
step: function(e) {
e = Math.ceil(e), o.options.vertical === !1 ? (r[o.animType] = "translate(" + e + "px, 0px)", o.$slideTrack.css(r)) : (r[o.animType] = "translate(0px," + e + "px)", o.$slideTrack.css(r))
},
complete: function() {
n && n.call()
}
})) : (o.applyTransition(), t = Math.ceil(t), r[o.animType] = o.options.vertical === !1 ? "translate3d(" + t + "px, 0px, 0px)" : "translate3d(0px," + t + "px, 0px)", o.$slideTrack.css(r), n && setTimeout(function() {
o.disableTransition(), n.call()
}, o.options.speed))
}, t.prototype.asNavFor = function(t) {
var n = this,
r = n.options.asNavFor;
r && null !== r && (r = e(r).not(n.$slider)), null !== r && "object" == typeof r && r.each(function() {
var n = e(this).slick("getSlick");
n.unslicked || n.slideHandler(t, !0)
})
}, t.prototype.applyTransition = function(e) {
var t = this,
n = {};
n[t.transitionType] = t.options.fade === !1 ? t.transformType + " " + t.options.speed + "ms " + t.options.cssEase : "opacity " + t.options.speed + "ms " + t.options.cssEase, t.options.fade === !1 ? t.$slideTrack.css(n) : t.$slides.eq(e).css(n)
}, t.prototype.autoPlay = function() {
var e = this;
e.autoPlayTimer && clearInterval(e.autoPlayTimer), e.slideCount > e.options.slidesToShow && e.paused !== !0 && (e.autoPlayTimer = setInterval(e.autoPlayIterator, e.options.autoplaySpeed))
}, t.prototype.autoPlayClear = function() {
var e = this;
e.autoPlayTimer && clearInterval(e.autoPlayTimer)
}, t.prototype.autoPlayIterator = function() {
var e = this;
e.options.infinite === !1 ? 1 === e.direction ? (e.currentSlide + 1 === e.slideCount - 1 && (e.direction = 0), e.slideHandler(e.currentSlide + e.options.slidesToScroll)) : (e.currentSlide - 1 === 0 && (e.direction = 1), e.slideHandler(e.currentSlide - e.options.slidesToScroll)) : e.slideHandler(e.currentSlide + e.options.slidesToScroll)
}, t.prototype.buildArrows = function() {
var t = this;
t.options.arrows === !0 && (t.$prevArrow = e(t.options.prevArrow).addClass("slick-arrow"), t.$nextArrow = e(t.options.nextArrow).addClass("slick-arrow"), t.slideCount > t.options.slidesToShow ? (t.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"), t.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"), t.htmlExpr.test(t.options.prevArrow) && t.$prevArrow.prependTo(t.options.appendArrows), t.htmlExpr.test(t.options.nextArrow) && t.$nextArrow.appendTo(t.options.appendArrows), t.options.infinite !== !0 && t.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true")) : t.$prevArrow.add(t.$nextArrow).addClass("slick-hidden").attr({
"aria-disabled": "true",
tabindex: "-1"
}))
}, t.prototype.buildDots = function() {
var t, n, r = this;
if (r.options.dots === !0 && r.slideCount > r.options.slidesToShow) {
for (n = '<ul class="' + r.options.dotsClass + '">', t = 0; t <= r.getDotCount(); t += 1) n += "<li>" + r.options.customPaging.call(this, r, t) + "</li>";
n += "</ul>", r.$dots = e(n).appendTo(r.options.appendDots), r.$dots.find("li").first().addClass("slick-active").attr("aria-hidden", "false")
}
}, t.prototype.buildOut = function() {
var t = this;
t.$slides = t.$slider.children(t.options.slide + ":not(.slick-cloned)").addClass("slick-slide"), t.slideCount = t.$slides.length, t.$slides.each(function(t, n) {
e(n).attr("data-slick-index", t).data("originalStyling", e(n).attr("style") || "")
}), t.$slidesCache = t.$slides, t.$slider.addClass("slick-slider"), t.$slideTrack = 0 === t.slideCount ? e('<div class="slick-track"/>').appendTo(t.$slider) : t.$slides.wrapAll('<div class="slick-track"/>').parent(), t.$list = t.$slideTrack.wrap('<div aria-live="polite" class="slick-list"/>').parent(), t.$slideTrack.css("opacity", 0), (t.options.centerMode === !0 || t.options.swipeToSlide === !0) && (t.options.slidesToScroll = 1), e("img[data-lazy]", t.$slider).not("[src]").addClass("slick-loading"), t.setupInfinite(), t.buildArrows(), t.buildDots(), t.updateDots(), t.setSlideClasses("number" == typeof t.currentSlide ? t.currentSlide : 0), t.options.draggable === !0 && t.$list.addClass("draggable")
}, t.prototype.buildRows = function() {
var e, t, n, r, o, i, a, s = this;
if (r = document.createDocumentFragment(), i = s.$slider.children(), s.options.rows > 1) {
for (a = s.options.slidesPerRow * s.options.rows, o = Math.ceil(i.length / a), e = 0; o > e; e++) {
var u = document.createElement("div");
for (t = 0; t < s.options.rows; t++) {
var l = document.createElement("div");
for (n = 0; n < s.options.slidesPerRow; n++) {
var c = e * a + (t * s.options.slidesPerRow + n);
i.get(c) && l.appendChild(i.get(c))
}
u.appendChild(l)
}
r.appendChild(u)
}
s.$slider.html(r), s.$slider.children().children().children().css({
width: 100 / s.options.slidesPerRow + "%",
display: "inline-block"
})
}
}, t.prototype.checkResponsive = function(t, n) {
var r, o, i, a = this,
s = !1,
u = a.$slider.width(),
l = window.innerWidth || e(window).width();
if ("window" === a.respondTo ? i = l : "slider" === a.respondTo ? i = u : "min" === a.respondTo && (i = Math.min(l, u)), a.options.responsive && a.options.responsive.length && null !== a.options.responsive) {
o = null;
for (r in a.breakpoints) a.breakpoints.hasOwnProperty(r) && (a.originalSettings.mobileFirst === !1 ? i < a.breakpoints[r] && (o = a.breakpoints[r]) : i > a.breakpoints[r] && (o = a.breakpoints[r]));
null !== o ? null !== a.activeBreakpoint ? (o !== a.activeBreakpoint || n) && (a.activeBreakpoint = o, "unslick" === a.breakpointSettings[o] ? a.unslick(o) : (a.options = e.extend({}, a.originalSettings, a.breakpointSettings[o]), t === !0 && (a.currentSlide = a.options.initialSlide), a.refresh(t)), s = o) : (a.activeBreakpoint = o, "unslick" === a.breakpointSettings[o] ? a.unslick(o) : (a.options = e.extend({}, a.originalSettings, a.breakpointSettings[o]), t === !0 && (a.currentSlide = a.options.initialSlide), a.refresh(t)), s = o) : null !== a.activeBreakpoint && (a.activeBreakpoint = null, a.options = a.originalSettings, t === !0 && (a.currentSlide = a.options.initialSlide), a.refresh(t), s = o), t || s === !1 || a.$slider.trigger("breakpoint", [a, s])
}
}, t.prototype.changeSlide = function(t, n) {
var r, o, i, a = this,
s = e(t.target);
switch (s.is("a") && t.preventDefault(), s.is("li") || (s = s.closest("li")), i = a.slideCount % a.options.slidesToScroll !== 0, r = i ? 0 : (a.slideCount - a.currentSlide) % a.options.slidesToScroll, t.data.message) {
case "previous":
o = 0 === r ? a.options.slidesToScroll : a.options.slidesToShow - r, a.slideCount > a.options.slidesToShow && a.slideHandler(a.currentSlide - o, !1, n);
break;
case "next":
o = 0 === r ? a.options.slidesToScroll : r, a.slideCount > a.options.slidesToShow && a.slideHandler(a.currentSlide + o, !1, n);
break;
case "index":
var u = 0 === t.data.index ? 0 : t.data.index || s.index() * a.options.slidesToScroll;
a.slideHandler(a.checkNavigable(u), !1, n), s.children().trigger("focus");
break;
default:
return
}
}, t.prototype.checkNavigable = function(e) {
var t, n, r = this;
if (t = r.getNavigableIndexes(), n = 0, e > t[t.length - 1]) e = t[t.length - 1];
else
for (var o in t) {
if (e < t[o]) {
e = n;
break
}
n = t[o]
}
return e
}, t.prototype.cleanUpEvents = function() {
var t = this;
t.options.dots && null !== t.$dots && (e("li", t.$dots).off("click.slick", t.changeSlide), t.options.pauseOnDotsHover === !0 && t.options.autoplay === !0 && e("li", t.$dots).off("mouseenter.slick", e.proxy(t.setPaused, t, !0)).off("mouseleave.slick", e.proxy(t.setPaused, t, !1))), t.options.arrows === !0 && t.slideCount > t.options.slidesToShow && (t.$prevArrow && t.$prevArrow.off("click.slick", t.changeSlide), t.$nextArrow && t.$nextArrow.off("click.slick", t.changeSlide)), t.$list.off("touchstart.slick mousedown.slick", t.swipeHandler), t.$list.off("touchmove.slick mousemove.slick", t.swipeHandler), t.$list.off("touchend.slick mouseup.slick", t.swipeHandler), t.$list.off("touchcancel.slick mouseleave.slick", t.swipeHandler), t.$list.off("click.slick", t.clickHandler), e(document).off(t.visibilityChange, t.visibility), t.$list.off("mouseenter.slick", e.proxy(t.setPaused, t, !0)), t.$list.off("mouseleave.slick", e.proxy(t.setPaused, t, !1)), t.options.accessibility === !0 && t.$list.off("keydown.slick", t.keyHandler), t.options.focusOnSelect === !0 && e(t.$slideTrack).children().off("click.slick", t.selectHandler), e(window).off("orientationchange.slick.slick-" + t.instanceUid, t.orientationChange), e(window).off("resize.slick.slick-" + t.instanceUid, t.resize), e("[draggable!=true]", t.$slideTrack).off("dragstart", t.preventDefault), e(window).off("load.slick.slick-" + t.instanceUid, t.setPosition), e(document).off("ready.slick.slick-" + t.instanceUid, t.setPosition)
}, t.prototype.cleanUpRows = function() {
var e, t = this;
t.options.rows > 1 && (e = t.$slides.children().children(), e.removeAttr("style"), t.$slider.html(e))
}, t.prototype.clickHandler = function(e) {
var t = this;
t.shouldClick === !1 && (e.stopImmediatePropagation(), e.stopPropagation(), e.preventDefault())
}, t.prototype.destroy = function(t) {
var n = this;
n.autoPlayClear(), n.touchObject = {}, n.cleanUpEvents(), e(".slick-cloned", n.$slider).detach(), n.$dots && n.$dots.remove(), n.$prevArrow && n.$prevArrow.length && (n.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), n.htmlExpr.test(n.options.prevArrow) && n.$prevArrow.remove()), n.$nextArrow && n.$nextArrow.length && (n.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), n.htmlExpr.test(n.options.nextArrow) && n.$nextArrow.remove()), n.$slides && (n.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function() {
e(this).attr("style", e(this).data("originalStyling"))
}), n.$slideTrack.children(this.options.slide).detach(), n.$slideTrack.detach(), n.$list.detach(), n.$slider.append(n.$slides)), n.cleanUpRows(), n.$slider.removeClass("slick-slider"), n.$slider.removeClass("slick-initialized"), n.unslicked = !0, t || n.$slider.trigger("destroy", [n])
}, t.prototype.disableTransition = function(e) {
var t = this,
n = {};
n[t.transitionType] = "", t.options.fade === !1 ? t.$slideTrack.css(n) : t.$slides.eq(e).css(n)
}, t.prototype.fadeSlide = function(e, t) {
var n = this;
n.cssTransitions === !1 ? (n.$slides.eq(e).css({
zIndex: n.options.zIndex
}), n.$slides.eq(e).animate({
opacity: 1
}, n.options.speed, n.options.easing, t)) : (n.applyTransition(e), n.$slides.eq(e).css({
opacity: 1,
zIndex: n.options.zIndex
}), t && setTimeout(function() {
n.disableTransition(e), t.call()
}, n.options.speed))
}, t.prototype.fadeSlideOut = function(e) {
var t = this;
t.cssTransitions === !1 ? t.$slides.eq(e).animate({
opacity: 0,
zIndex: t.options.zIndex - 2
}, t.options.speed, t.options.easing) : (t.applyTransition(e), t.$slides.eq(e).css({
opacity: 0,
zIndex: t.options.zIndex - 2
}))
}, t.prototype.filterSlides = t.prototype.slickFilter = function(e) {
var t = this;
null !== e && (t.unload(), t.$slideTrack.children(this.options.slide).detach(), t.$slidesCache.filter(e).appendTo(t.$slideTrack), t.reinit())
}, t.prototype.getCurrent = t.prototype.slickCurrentSlide = function() {
var e = this;
return e.currentSlide
}, t.prototype.getDotCount = function() {
var e = this,
t = 0,
n = 0,
r = 0;
if (e.options.infinite === !0)
for (; t < e.slideCount;) ++r, t = n + e.options.slidesToShow, n += e.options.slidesToScroll <= e.options.slidesToShow ? e.options.slidesToScroll : e.options.slidesToShow;
else if (e.options.centerMode === !0) r = e.slideCount;
else
for (; t < e.slideCount;) ++r, t = n + e.options.slidesToShow, n += e.options.slidesToScroll <= e.options.slidesToShow ? e.options.slidesToScroll : e.options.slidesToShow;
return r - 1
}, t.prototype.getLeft = function(e) {
var t, n, r, o = this,
i = 0;
return o.slideOffset = 0, n = o.$slides.first().outerHeight(!0), o.options.infinite === !0 ? (o.slideCount > o.options.slidesToShow && (o.slideOffset = o.slideWidth * o.options.slidesToShow * -1, i = n * o.options.slidesToShow * -1), o.slideCount % o.options.slidesToScroll !== 0 && e + o.options.slidesToScroll > o.slideCount && o.slideCount > o.options.slidesToShow && (e > o.slideCount ? (o.slideOffset = (o.options.slidesToShow - (e - o.slideCount)) * o.slideWidth * -1, i = (o.options.slidesToShow - (e - o.slideCount)) * n * -1) : (o.slideOffset = o.slideCount % o.options.slidesToScroll * o.slideWidth * -1, i = o.slideCount % o.options.slidesToScroll * n * -1))) : e + o.options.slidesToShow > o.slideCount && (o.slideOffset = (e + o.options.slidesToShow - o.slideCount) * o.slideWidth, i = (e + o.options.slidesToShow - o.slideCount) * n), o.slideCount <= o.options.slidesToShow && (o.slideOffset = 0, i = 0), o.options.centerMode === !0 && o.options.infinite === !0 ? o.slideOffset += o.slideWidth * Math.floor(o.options.slidesToShow / 2) - o.slideWidth : o.options.centerMode === !0 && (o.slideOffset = 0, o.slideOffset += o.slideWidth * Math.floor(o.options.slidesToShow / 2)), t = o.options.vertical === !1 ? e * o.slideWidth * -1 + o.slideOffset : e * n * -1 + i, o.options.variableWidth === !0 && (r = o.$slideTrack.children(".slick-slide").eq(o.slideCount <= o.options.slidesToShow || o.options.infinite === !1 ? e : e + o.options.slidesToShow), t = r[0] ? -1 * r[0].offsetLeft : 0, o.options.centerMode === !0 && (r = o.$slideTrack.children(".slick-slide").eq(o.options.infinite === !1 ? e : e + o.options.slidesToShow + 1), t = r[0] ? -1 * r[0].offsetLeft : 0, t += (o.$list.width() - r.outerWidth()) / 2)), t
}, t.prototype.getOption = t.prototype.slickGetOption = function(e) {
var t = this;
return t.options[e]
}, t.prototype.getNavigableIndexes = function() {
var e, t = this,
n = 0,
r = 0,
o = [];
for (t.options.infinite === !1 ? e = t.slideCount : (n = -1 * t.options.slidesToScroll, r = -1 * t.options.slidesToScroll, e = 2 * t.slideCount); e > n;) o.push(n), n = r + t.options.slidesToScroll, r += t.options.slidesToScroll <= t.options.slidesToShow ? t.options.slidesToScroll : t.options.slidesToShow;
return o
}, t.prototype.getSlick = function() {
return this
}, t.prototype.getSlideCount = function() {
var t, n, r, o = this;
return r = o.options.centerMode === !0 ? o.slideWidth * Math.floor(o.options.slidesToShow / 2) : 0, o.options.swipeToSlide === !0 ? (o.$slideTrack.find(".slick-slide").each(function(t, i) {
return i.offsetLeft - r + e(i).outerWidth() / 2 > -1 * o.swipeLeft ? (n = i, !1) : void 0
}), t = Math.abs(e(n).attr("data-slick-index") - o.currentSlide) || 1) : o.options.slidesToScroll
}, t.prototype.goTo = t.prototype.slickGoTo = function(e, t) {
var n = this;
n.changeSlide({
data: {
message: "index",
index: parseInt(e)
}
}, t)
}, t.prototype.init = function(t) {
var n = this;
e(n.$slider).hasClass("slick-initialized") || (e(n.$slider).addClass("slick-initialized"), n.buildRows(), n.buildOut(), n.setProps(), n.startLoad(), n.loadSlider(), n.initializeEvents(), n.updateArrows(), n.updateDots()), t && n.$slider.trigger("init", [n]), n.options.accessibility === !0 && n.initADA()
}, t.prototype.initArrowEvents = function() {
var e = this;
e.options.arrows === !0 && e.slideCount > e.options.slidesToShow && (e.$prevArrow.on("click.slick", {
message: "previous"
}, e.changeSlide), e.$nextArrow.on("click.slick", {
message: "next"
}, e.changeSlide))
}, t.prototype.initDotEvents = function() {
var t = this;
t.options.dots === !0 && t.slideCount > t.options.slidesToShow && e("li", t.$dots).on("click.slick", {
message: "index"
}, t.changeSlide), t.options.dots === !0 && t.options.pauseOnDotsHover === !0 && t.options.autoplay === !0 && e("li", t.$dots).on("mouseenter.slick", e.proxy(t.setPaused, t, !0)).on("mouseleave.slick", e.proxy(t.setPaused, t, !1))
}, t.prototype.initializeEvents = function() {
var t = this;
t.initArrowEvents(), t.initDotEvents(), t.$list.on("touchstart.slick mousedown.slick", {
action: "start"
}, t.swipeHandler), t.$list.on("touchmove.slick mousemove.slick", {
action: "move"
}, t.swipeHandler), t.$list.on("touchend.slick mouseup.slick", {
action: "end"
}, t.swipeHandler), t.$list.on("touchcancel.slick mouseleave.slick", {
action: "end"
}, t.swipeHandler), t.$list.on("click.slick", t.clickHandler), e(document).on(t.visibilityChange, e.proxy(t.visibility, t)), t.$list.on("mouseenter.slick", e.proxy(t.setPaused, t, !0)), t.$list.on("mouseleave.slick", e.proxy(t.setPaused, t, !1)), t.options.accessibility === !0 && t.$list.on("keydown.slick", t.keyHandler), t.options.focusOnSelect === !0 && e(t.$slideTrack).children().on("click.slick", t.selectHandler), e(window).on("orientationchange.slick.slick-" + t.instanceUid, e.proxy(t.orientationChange, t)), e(window).on("resize.slick.slick-" + t.instanceUid, e.proxy(t.resize, t)), e("[draggable!=true]", t.$slideTrack).on("dragstart", t.preventDefault), e(window).on("load.slick.slick-" + t.instanceUid, t.setPosition), e(document).on("ready.slick.slick-" + t.instanceUid, t.setPosition)
}, t.prototype.initUI = function() {
var e = this;
e.options.arrows === !0 && e.slideCount > e.options.slidesToShow && (e.$prevArrow.show(), e.$nextArrow.show()), e.options.dots === !0 && e.slideCount > e.options.slidesToShow && e.$dots.show(), e.options.autoplay === !0 && e.autoPlay()
}, t.prototype.keyHandler = function(e) {
var t = this;
e.target.tagName.match("TEXTAREA|INPUT|SELECT") || (37 === e.keyCode && t.options.accessibility === !0 ? t.changeSlide({
data: {
message: "previous"
}
}) : 39 === e.keyCode && t.options.accessibility === !0 && t.changeSlide({
data: {
message: "next"
}
}))
}, t.prototype.lazyLoad = function() {
function t(t) {
e("img[data-lazy]", t).each(function() {
var t = e(this),
n = e(this).attr("data-lazy"),
r = document.createElement("img");
r.onload = function() {
t.animate({
opacity: 0
}, 100, function() {
t.attr("src", n).animate({
opacity: 1
}, 200, function() {
t.removeAttr("data-lazy").removeClass("slick-loading")
})
})
}, r.src = n
})
}
var n, r, o, i, a = this;
a.options.centerMode === !0 ? a.options.infinite === !0 ? (o = a.currentSlide + (a.options.slidesToShow / 2 + 1), i = o + a.options.slidesToShow + 2) : (o = Math.max(0, a.currentSlide - (a.options.slidesToShow / 2 + 1)), i = 2 + (a.options.slidesToShow / 2 + 1) + a.currentSlide) : (o = a.options.infinite ? a.options.slidesToShow + a.currentSlide : a.currentSlide, i = o + a.options.slidesToShow, a.options.fade === !0 && (o > 0 && o--, i <= a.slideCount && i++)), n = a.$slider.find(".slick-slide").slice(o, i), t(n), a.slideCount <= a.options.slidesToShow ? (r = a.$slider.find(".slick-slide"), t(r)) : a.currentSlide >= a.slideCount - a.options.slidesToShow ? (r = a.$slider.find(".slick-cloned").slice(0, a.options.slidesToShow), t(r)) : 0 === a.currentSlide && (r = a.$slider.find(".slick-cloned").slice(-1 * a.options.slidesToShow), t(r))
}, t.prototype.loadSlider = function() {
var e = this;
e.setPosition(), e.$slideTrack.css({
opacity: 1
}), e.$slider.removeClass("slick-loading"), e.initUI(), "progressive" === e.options.lazyLoad && e.progressiveLazyLoad()
}, t.prototype.next = t.prototype.slickNext = function() {
var e = this;
e.changeSlide({
data: {
message: "next"
}
})
}, t.prototype.orientationChange = function() {
var e = this;
e.checkResponsive(), e.setPosition()
}, t.prototype.pause = t.prototype.slickPause = function() {
var e = this;
e.autoPlayClear(), e.paused = !0
}, t.prototype.play = t.prototype.slickPlay = function() {
var e = this;
e.paused = !1, e.autoPlay()
}, t.prototype.postSlide = function(e) {
var t = this;
t.$slider.trigger("afterChange", [t, e]), t.animating = !1, t.setPosition(), t.swipeLeft = null, t.options.autoplay === !0 && t.paused === !1 && t.autoPlay(), t.options.accessibility === !0 && t.initADA()
}, t.prototype.prev = t.prototype.slickPrev = function() {
var e = this;
e.changeSlide({
data: {
message: "previous"
}
})
}, t.prototype.preventDefault = function(e) {
e.preventDefault()
}, t.prototype.progressiveLazyLoad = function() {
var t, n, r = this;
t = e("img[data-lazy]", r.$slider).length, t > 0 && (n = e("img[data-lazy]", r.$slider).first(), n.attr("src", n.attr("data-lazy")).removeClass("slick-loading").load(function() {
n.removeAttr("data-lazy"), r.progressiveLazyLoad(), r.options.adaptiveHeight === !0 && r.setPosition()
}).error(function() {
n.removeAttr("data-lazy"), r.progressiveLazyLoad()
}))
}, t.prototype.refresh = function(t) {
var n = this,
r = n.currentSlide;
n.destroy(!0), e.extend(n, n.initials, {
currentSlide: r
}), n.init(), t || n.changeSlide({
data: {
message: "index",
index: r
}
}, !1)
}, t.prototype.registerBreakpoints = function() {
var t, n, r, o = this,
i = o.options.responsive || null;
if ("array" === e.type(i) && i.length) {
o.respondTo = o.options.respondTo || "window";
for (t in i)
if (r = o.breakpoints.length - 1, n = i[t].breakpoint, i.hasOwnProperty(t)) {
for (; r >= 0;) o.breakpoints[r] && o.breakpoints[r] === n && o.breakpoints.splice(r, 1), r--;
o.breakpoints.push(n), o.breakpointSettings[n] = i[t].settings
}
o.breakpoints.sort(function(e, t) {
return o.options.mobileFirst ? e - t : t - e
})
}
}, t.prototype.reinit = function() {
var t = this;
t.$slides = t.$slideTrack.children(t.options.slide).addClass("slick-slide"), t.slideCount = t.$slides.length, t.currentSlide >= t.slideCount && 0 !== t.currentSlide && (t.currentSlide = t.currentSlide - t.options.slidesToScroll), t.slideCount <= t.options.slidesToShow && (t.currentSlide = 0), t.registerBreakpoints(), t.setProps(), t.setupInfinite(), t.buildArrows(), t.updateArrows(), t.initArrowEvents(), t.buildDots(), t.updateDots(), t.initDotEvents(), t.checkResponsive(!1, !0), t.options.focusOnSelect === !0 && e(t.$slideTrack).children().on("click.slick", t.selectHandler), t.setSlideClasses(0), t.setPosition(), t.$slider.trigger("reInit", [t]), t.options.autoplay === !0 && t.focusHandler()
}, t.prototype.resize = function() {
var t = this;
e(window).width() !== t.windowWidth && (clearTimeout(t.windowDelay), t.windowDelay = window.setTimeout(function() {
t.windowWidth = e(window).width(), t.checkResponsive(), t.unslicked || t.setPosition()
}, 50))
}, t.prototype.removeSlide = t.prototype.slickRemove = function(e, t, n) {
var r = this;
return "boolean" == typeof e ? (t = e, e = t === !0 ? 0 : r.slideCount - 1) : e = t === !0 ? --e : e, r.slideCount < 1 || 0 > e || e > r.slideCount - 1 ? !1 : (r.unload(), n === !0 ? r.$slideTrack.children().remove() : r.$slideTrack.children(this.options.slide).eq(e).remove(), r.$slides = r.$slideTrack.children(this.options.slide), r.$slideTrack.children(this.options.slide).detach(), r.$slideTrack.append(r.$slides), r.$slidesCache = r.$slides, void r.reinit())
}, t.prototype.setCSS = function(e) {
var t, n, r = this,
o = {};
r.options.rtl === !0 && (e = -e), t = "left" == r.positionProp ? Math.ceil(e) + "px" : "0px", n = "top" == r.positionProp ? Math.ceil(e) + "px" : "0px", o[r.positionProp] = e, r.transformsEnabled === !1 ? r.$slideTrack.css(o) : (o = {}, r.cssTransitions === !1 ? (o[r.animType] = "translate(" + t + ", " + n + ")", r.$slideTrack.css(o)) : (o[r.animType] = "translate3d(" + t + ", " + n + ", 0px)", r.$slideTrack.css(o)))
}, t.prototype.setDimensions = function() {
var e = this;
e.options.vertical === !1 ? e.options.centerMode === !0 && e.$list.css({
padding: "0px " + e.options.centerPadding
}) : (e.$list.height(e.$slides.first().outerHeight(!0) * e.options.slidesToShow), e.options.centerMode === !0 && e.$list.css({
padding: e.options.centerPadding + " 0px"
})), e.listWidth = e.$list.width(), e.listHeight = e.$list.height(), e.options.vertical === !1 && e.options.variableWidth === !1 ? (e.slideWidth = Math.ceil(e.listWidth / e.options.slidesToShow), e.$slideTrack.width(Math.ceil(e.slideWidth * e.$slideTrack.children(".slick-slide").length))) : e.options.variableWidth === !0 ? e.$slideTrack.width(5e3 * e.slideCount) : (e.slideWidth = Math.ceil(e.listWidth), e.$slideTrack.height(Math.ceil(e.$slides.first().outerHeight(!0) * e.$slideTrack.children(".slick-slide").length)));
var t = e.$slides.first().outerWidth(!0) - e.$slides.first().width();
e.options.variableWidth === !1 && e.$slideTrack.children(".slick-slide").width(e.slideWidth - t)
}, t.prototype.setFade = function() {
var t, n = this;
n.$slides.each(function(r, o) {
t = n.slideWidth * r * -1, e(o).css(n.options.rtl === !0 ? {
position: "relative",
right: t,
top: 0,
zIndex: n.options.zIndex - 2,
opacity: 0
} : {
position: "relative",
left: t,
top: 0,
zIndex: n.options.zIndex - 2,
opacity: 0
})
}), n.$slides.eq(n.currentSlide).css({
zIndex: n.options.zIndex - 1,
opacity: 1
})
}, t.prototype.setHeight = function() {
var e = this;
if (1 === e.options.slidesToShow && e.options.adaptiveHeight === !0 && e.options.vertical === !1) {
var t = e.$slides.eq(e.currentSlide).outerHeight(!0);
e.$list.css("height", t)
}
}, t.prototype.setOption = t.prototype.slickSetOption = function(t, n, r) {
var o, i, a = this;
if ("responsive" === t && "array" === e.type(n))
for (i in n)
if ("array" !== e.type(a.options.responsive)) a.options.responsive = [n[i]];
else {
for (o = a.options.responsive.length - 1; o >= 0;) a.options.responsive[o].breakpoint === n[i].breakpoint && a.options.responsive.splice(o, 1), o--;
a.options.responsive.push(n[i])
}
else a.options[t] = n;
r === !0 && (a.unload(), a.reinit())
}, t.prototype.setPosition = function() {
var e = this;
e.setDimensions(), e.setHeight(), e.options.fade === !1 ? e.setCSS(e.getLeft(e.currentSlide)) : e.setFade(), e.$slider.trigger("setPosition", [e])
}, t.prototype.setProps = function() {
var e = this,
t = document.body.style;
e.positionProp = e.options.vertical === !0 ? "top" : "left", "top" === e.positionProp ? e.$slider.addClass("slick-vertical") : e.$slider.removeClass("slick-vertical"), (void 0 !== t.WebkitTransition || void 0 !== t.MozTransition || void 0 !== t.msTransition) && e.options.useCSS === !0 && (e.cssTransitions = !0), e.options.fade && ("number" == typeof e.options.zIndex ? e.options.zIndex < 3 && (e.options.zIndex = 3) : e.options.zIndex = e.defaults.zIndex), void 0 !== t.OTransform && (e.animType = "OTransform", e.transformType = "-o-transform", e.transitionType = "OTransition", void 0 === t.perspectiveProperty && void 0 === t.webkitPerspective && (e.animType = !1)), void 0 !== t.MozTransform && (e.animType = "MozTransform", e.transformType = "-moz-transform", e.transitionType = "MozTransition", void 0 === t.perspectiveProperty && void 0 === t.MozPerspective && (e.animType = !1)), void 0 !== t.webkitTransform && (e.animType = "webkitTransform", e.transformType = "-webkit-transform", e.transitionType = "webkitTransition", void 0 === t.perspectiveProperty && void 0 === t.webkitPerspective && (e.animType = !1)), void 0 !== t.msTransform && (e.animType = "msTransform", e.transformType = "-ms-transform", e.transitionType = "msTransition", void 0 === t.msTransform && (e.animType = !1)), void 0 !== t.transform && e.animType !== !1 && (e.animType = "transform", e.transformType = "transform", e.transitionType = "transition"), e.transformsEnabled = null !== e.animType && e.animType !== !1
}, t.prototype.setSlideClasses = function(e) {
var t, n, r, o, i = this;
n = i.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden", "true"), i.$slides.eq(e).addClass("slick-current"), i.options.centerMode === !0 ? (t = Math.floor(i.options.slidesToShow / 2), i.options.infinite === !0 && (e >= t && e <= i.slideCount - 1 - t ? i.$slides.slice(e - t, e + t + 1).addClass("slick-active").attr("aria-hidden", "false") : (r = i.options.slidesToShow + e, n.slice(r - t + 1, r + t + 2).addClass("slick-active").attr("aria-hidden", "false")), 0 === e ? n.eq(n.length - 1 - i.options.slidesToShow).addClass("slick-center") : e === i.slideCount - 1 && n.eq(i.options.slidesToShow).addClass("slick-center")), i.$slides.eq(e).addClass("slick-center")) : e >= 0 && e <= i.slideCount - i.options.slidesToShow ? i.$slides.slice(e, e + i.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false") : n.length <= i.options.slidesToShow ? n.addClass("slick-active").attr("aria-hidden", "false") : (o = i.slideCount % i.options.slidesToShow, r = i.options.infinite === !0 ? i.options.slidesToShow + e : e, i.options.slidesToShow == i.options.slidesToScroll && i.slideCount - e < i.options.slidesToShow ? n.slice(r - (i.options.slidesToShow - o), r + o).addClass("slick-active").attr("aria-hidden", "false") : n.slice(r, r + i.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false")), "ondemand" === i.options.lazyLoad && i.lazyLoad()
}, t.prototype.setupInfinite = function() {
var t, n, r, o = this;
if (o.options.fade === !0 && (o.options.centerMode = !1), o.options.infinite === !0 && o.options.fade === !1 && (n = null, o.slideCount > o.options.slidesToShow)) {
for (r = o.options.centerMode === !0 ? o.options.slidesToShow + 1 : o.options.slidesToShow, t = o.slideCount; t > o.slideCount - r; t -= 1) n = t - 1, e(o.$slides[n]).clone(!0).attr("id", "").attr("data-slick-index", n - o.slideCount).prependTo(o.$slideTrack).addClass("slick-cloned");
for (t = 0; r > t; t += 1) n = t, e(o.$slides[n]).clone(!0).attr("id", "").attr("data-slick-index", n + o.slideCount).appendTo(o.$slideTrack).addClass("slick-cloned");
o.$slideTrack.find(".slick-cloned").find("[id]").each(function() {
e(this).attr("id", "")
})
}
}, t.prototype.setPaused = function(e) {
var t = this;
t.options.autoplay === !0 && t.options.pauseOnHover === !0 && (t.paused = e, e ? t.autoPlayClear() : t.autoPlay())
}, t.prototype.selectHandler = function(t) {
var n = this,
r = e(t.target).is(".slick-slide") ? e(t.target) : e(t.target).parents(".slick-slide"),
o = parseInt(r.attr("data-slick-index"));
return o || (o = 0), n.slideCount <= n.options.slidesToShow ? (n.setSlideClasses(o), void n.asNavFor(o)) : void n.slideHandler(o)
}, t.prototype.slideHandler = function(e, t, n) {
var r, o, i, a, s = null,
u = this;
return t = t || !1, u.animating === !0 && u.options.waitForAnimate === !0 || u.options.fade === !0 && u.currentSlide === e || u.slideCount <= u.options.slidesToShow ? void 0 : (t === !1 && u.asNavFor(e), r = e, s = u.getLeft(r), a = u.getLeft(u.currentSlide), u.currentLeft = null === u.swipeLeft ? a : u.swipeLeft, u.options.infinite === !1 && u.options.centerMode === !1 && (0 > e || e > u.getDotCount() * u.options.slidesToScroll) ? void(u.options.fade === !1 && (r = u.currentSlide, n !== !0 ? u.animateSlide(a, function() {
u.postSlide(r)
}) : u.postSlide(r))) : u.options.infinite === !1 && u.options.centerMode === !0 && (0 > e || e > u.slideCount - u.options.slidesToScroll) ? void(u.options.fade === !1 && (r = u.currentSlide, n !== !0 ? u.animateSlide(a, function() {
u.postSlide(r)
}) : u.postSlide(r))) : (u.options.autoplay === !0 && clearInterval(u.autoPlayTimer), o = 0 > r ? u.slideCount % u.options.slidesToScroll !== 0 ? u.slideCount - u.slideCount % u.options.slidesToScroll : u.slideCount + r : r >= u.slideCount ? u.slideCount % u.options.slidesToScroll !== 0 ? 0 : r - u.slideCount : r, u.animating = !0, u.$slider.trigger("beforeChange", [u, u.currentSlide, o]), i = u.currentSlide, u.currentSlide = o, u.setSlideClasses(u.currentSlide), u.updateDots(), u.updateArrows(), u.options.fade === !0 ? (n !== !0 ? (u.fadeSlideOut(i), u.fadeSlide(o, function() {
u.postSlide(o)
})) : u.postSlide(o), void u.animateHeight()) : void(n !== !0 ? u.animateSlide(s, function() {
u.postSlide(o)
}) : u.postSlide(o))))
}, t.prototype.startLoad = function() {
var e = this;
e.options.arrows === !0 && e.slideCount > e.options.slidesToShow && (e.$prevArrow.hide(), e.$nextArrow.hide()), e.options.dots === !0 && e.slideCount > e.options.slidesToShow && e.$dots.hide(), e.$slider.addClass("slick-loading")
}, t.prototype.swipeDirection = function() {
var e, t, n, r, o = this;
return e = o.touchObject.startX - o.touchObject.curX, t = o.touchObject.startY - o.touchObject.curY, n = Math.atan2(t, e), r = Math.round(180 * n / Math.PI), 0 > r && (r = 360 - Math.abs(r)), 45 >= r && r >= 0 ? o.options.rtl === !1 ? "left" : "right" : 360 >= r && r >= 315 ? o.options.rtl === !1 ? "left" : "right" : r >= 135 && 225 >= r ? o.options.rtl === !1 ? "right" : "left" : o.options.verticalSwiping === !0 ? r >= 35 && 135 >= r ? "left" : "right" : "vertical"
}, t.prototype.swipeEnd = function() {
var e, t = this;
if (t.dragging = !1, t.shouldClick = t.touchObject.swipeLength > 10 ? !1 : !0, void 0 === t.touchObject.curX) return !1;
if (t.touchObject.edgeHit === !0 && t.$slider.trigger("edge", [t, t.swipeDirection()]), t.touchObject.swipeLength >= t.touchObject.minSwipe) switch (t.swipeDirection()) {
case "left":
e = t.options.swipeToSlide ? t.checkNavigable(t.currentSlide + t.getSlideCount()) : t.currentSlide + t.getSlideCount(), t.slideHandler(e), t.currentDirection = 0, t.touchObject = {}, t.$slider.trigger("swipe", [t, "left"]);
break;
case "right":
e = t.options.swipeToSlide ? t.checkNavigable(t.currentSlide - t.getSlideCount()) : t.currentSlide - t.getSlideCount(), t.slideHandler(e), t.currentDirection = 1, t.touchObject = {}, t.$slider.trigger("swipe", [t, "right"])
} else t.touchObject.startX !== t.touchObject.curX && (t.slideHandler(t.currentSlide), t.touchObject = {})
}, t.prototype.swipeHandler = function(e) {
var t = this;
if (!(t.options.swipe === !1 || "ontouchend" in document && t.options.swipe === !1 || t.options.draggable === !1 && -1 !== e.type.indexOf("mouse"))) switch (t.touchObject.fingerCount = e.originalEvent && void 0 !== e.originalEvent.touches ? e.originalEvent.touches.length : 1, t.touchObject.minSwipe = t.listWidth / t.options.touchThreshold, t.options.verticalSwiping === !0 && (t.touchObject.minSwipe = t.listHeight / t.options.touchThreshold), e.data.action) {
case "start":
t.swipeStart(e);
break;
case "move":
t.swipeMove(e);
break;
case "end":
t.swipeEnd(e)
}
}, t.prototype.swipeMove = function(e) {
var t, n, r, o, i, a = this;
return i = void 0 !== e.originalEvent ? e.originalEvent.touches : null, !a.dragging || i && 1 !== i.length ? !1 : (t = a.getLeft(a.currentSlide), a.touchObject.curX = void 0 !== i ? i[0].pageX : e.clientX, a.touchObject.curY = void 0 !== i ? i[0].pageY : e.clientY, a.touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(a.touchObject.curX - a.touchObject.startX, 2))), a.options.verticalSwiping === !0 && (a.touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(a.touchObject.curY - a.touchObject.startY, 2)))), n = a.swipeDirection(), "vertical" !== n ? (void 0 !== e.originalEvent && a.touchObject.swipeLength > 4 && e.preventDefault(), o = (a.options.rtl === !1 ? 1 : -1) * (a.touchObject.curX > a.touchObject.startX ? 1 : -1), a.options.verticalSwiping === !0 && (o = a.touchObject.curY > a.touchObject.startY ? 1 : -1), r = a.touchObject.swipeLength, a.touchObject.edgeHit = !1, a.options.infinite === !1 && (0 === a.currentSlide && "right" === n || a.currentSlide >= a.getDotCount() && "left" === n) && (r = a.touchObject.swipeLength * a.options.edgeFriction, a.touchObject.edgeHit = !0), a.swipeLeft = a.options.vertical === !1 ? t + r * o : t + r * (a.$list.height() / a.listWidth) * o, a.options.verticalSwiping === !0 && (a.swipeLeft = t + r * o), a.options.fade === !0 || a.options.touchMove === !1 ? !1 : a.animating === !0 ? (a.swipeLeft = null, !1) : void a.setCSS(a.swipeLeft)) : void 0)
}, t.prototype.swipeStart = function(e) {
var t, n = this;
return 1 !== n.touchObject.fingerCount || n.slideCount <= n.options.slidesToShow ? (n.touchObject = {}, !1) : (void 0 !== e.originalEvent && void 0 !== e.originalEvent.touches && (t = e.originalEvent.touches[0]), n.touchObject.startX = n.touchObject.curX = void 0 !== t ? t.pageX : e.clientX, n.touchObject.startY = n.touchObject.curY = void 0 !== t ? t.pageY : e.clientY, void(n.dragging = !0))
}, t.prototype.unfilterSlides = t.prototype.slickUnfilter = function() {
var e = this;
null !== e.$slidesCache && (e.unload(), e.$slideTrack.children(this.options.slide).detach(), e.$slidesCache.appendTo(e.$slideTrack), e.reinit())
}, t.prototype.unload = function() {
var t = this;
e(".slick-cloned", t.$slider).remove(), t.$dots && t.$dots.remove(), t.$prevArrow && t.htmlExpr.test(t.options.prevArrow) && t.$prevArrow.remove(), t.$nextArrow && t.htmlExpr.test(t.options.nextArrow) && t.$nextArrow.remove(), t.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden", "true").css("width", "")
}, t.prototype.unslick = function(e) {
var t = this;
t.$slider.trigger("unslick", [t, e]), t.destroy()
}, t.prototype.updateArrows = function() {
var e, t = this;
e = Math.floor(t.options.slidesToShow / 2), t.options.arrows === !0 && t.slideCount > t.options.slidesToShow && !t.options.infinite && (t.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false"), t.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false"), 0 === t.currentSlide ? (t.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true"), t.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : t.currentSlide >= t.slideCount - t.options.slidesToShow && t.options.centerMode === !1 ? (t.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), t.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : t.currentSlide >= t.slideCount - 1 && t.options.centerMode === !0 && (t.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), t.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")))
}, t.prototype.updateDots = function() {
var e = this;
null !== e.$dots && (e.$dots.find("li").removeClass("slick-active").attr("aria-hidden", "true"), e.$dots.find("li").eq(Math.floor(e.currentSlide / e.options.slidesToScroll)).addClass("slick-active").attr("aria-hidden", "false"))
}, t.prototype.visibility = function() {
var e = this;
document[e.hidden] ? (e.paused = !0, e.autoPlayClear()) : e.options.autoplay === !0 && (e.paused = !1, e.autoPlay())
}, t.prototype.initADA = function() {
var t = this;
t.$slides.add(t.$slideTrack.find(".slick-cloned")).attr({
"aria-hidden": "true",
tabindex: "-1"
}).find("a, input, button, select").attr({
tabindex: "-1"
}), t.$slideTrack.attr("role", "listbox"), t.$slides.not(t.$slideTrack.find(".slick-cloned")).each(function(n) {
e(this).attr({
role: "option",
"aria-describedby": "slick-slide" + t.instanceUid + n
})
}), null !== t.$dots && t.$dots.attr("role", "tablist").find("li").each(function(n) {
e(this).attr({
role: "presentation",
"aria-selected": "false",
"aria-controls": "navigation" + t.instanceUid + n,
id: "slick-slide" + t.instanceUid + n
})
}).first().attr("aria-selected", "true").end().find("button").attr("role", "button").end().closest("div").attr("role", "toolbar"), t.activateADA()
}, t.prototype.activateADA = function() {
var e = this,
t = e.$slider.find("*").is(":focus");
e.$slideTrack.find(".slick-active").attr({
"aria-hidden": "false",
tabindex: "0"
}).find("a, input, button, select").attr({
tabindex: "0"
}), t && e.$slideTrack.find(".slick-active").focus()
}, t.prototype.focusHandler = function() {
var t = this;
t.$slider.on("focus.slick blur.slick", "*", function(n) {
n.stopImmediatePropagation();
var r = e(this);
setTimeout(function() {
t.isPlay && (r.is(":focus") ? (t.autoPlayClear(), t.paused = !0) : (t.paused = !1, t.autoPlay()))
}, 0)
})
}, e.fn.slick = function() {
var e, n = this,
r = arguments[0],
o = Array.prototype.slice.call(arguments, 1),
i = n.length,
a = 0;
for (a; i > a; a++)
if ("object" == typeof r || "undefined" == typeof r ? n[a].slick = new t(n[a], r) : e = n[a].slick[r].apply(n[a].slick, o), "undefined" != typeof e) return e;
return n
}
}), $(document).ready(function() {
var e = {
autoplay: !1,
arrows: !0,
dots: !0,
infinite: !1,
speed: 500,
slidesToShow: 3,
responsive: [{
breakpoint: 768,
settings: {
slidesToShow: 1
}
}]
};
$.fn.carousel = function() {
return this.each(function() {
var t = $(this);
if (t.attr("data-carouselized")) return !0;
var n = $.extend({}, e, t.data("carousel"));
t.slick(n), t.attr("data-carouselized", !0)
})
}, $(document).ready(function() {
var e = $(".amos-js-carousel");
e && $(".amos-js-carousel").carousel()
})
}),
/* ========================================================================
* Avvo UI - modal.js
* ========================================================================
* Forked from Bootstrap modal.js v3.2.0
* http://getbootstrap.com/javascript/#modals
* ========================================================================
* Copyright 2011-2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
+ function(e) {
"use strict";
function t(t, r) {
return this.each(function() {
var o = e(this),
i = o.data("ui.modal"),
a = e.extend({}, n.DEFAULTS, o.data(), "object" == typeof t && t);
i || o.data("ui.modal", i = new n(this, a)), "string" == typeof t ? i[t](r) : a.show && i.show(r)
})
}
var n = function(t, n) {
this.options = n, this.$body = e(document.body), this.$element = e(t), this.$backdrop = this.isShown = null, this.scrollbarWidth = 0, this.options.remote && this.$element.find(".modal-content").load(this.options.remote, e.proxy(function() {
this.$element.trigger("loaded.ui.modal")
}, this))
};
n.VERSION = "4.0.0", n.DEFAULTS = {
backdrop: !0,
keyboard: !0,
show: !0
}, n.prototype.toggle = function(e) {
return this.isShown ? this.hide() : this.show(e)
}, n.prototype.show = function(t) {
var n = this,
r = e.Event("show.ui.modal", {
relatedTarget: t
});
this.$element.trigger(r), this.isShown || r.isDefaultPrevented() || (this.isShown = !0, this.checkScrollbar(), this.$body.addClass("modal-open"), this.setScrollbar(), this.escape(), this.$element.on("click.dismiss.ui.modal", '[data-dismiss="modal"]', e.proxy(this.hide, this)), this.backdrop(function() {
var r = e.support.transition && n.$element.hasClass("fade");
n.$element.parent().length || n.$element.appendTo(n.$body), n.$element.show().scrollTop(0), r && n.$element[0].offsetWidth, n.$element.addClass("in").attr("aria-hidden", !1), n.enforceFocus();
var o = e.Event("shown.ui.modal", {
relatedTarget: t
});
r ? n.$element.find(".modal-dialog").one("uiTransitionEnd", function() {
n.$element.trigger("focus").trigger(o)
}).emulateTransitionEnd(300) : n.$element.trigger("focus").trigger(o)
}))
}, n.prototype.hide = function(t) {
t && t.preventDefault(), t = e.Event("hide.ui.modal"), this.$element.trigger(t), this.isShown && !t.isDefaultPrevented() && (this.isShown = !1, this.$body.removeClass("modal-open"), this.resetScrollbar(), this.escape(), e(document).off("focusin.ui.modal"), this.$element.removeClass("in").attr("aria-hidden", !0).off("click.dismiss.ui.modal"), e.support.transition && this.$element.hasClass("fade") ? this.$element.one("uiTransitionEnd", e.proxy(this.hideModal, this)).emulateTransitionEnd(300) : this.hideModal())
}, n.prototype.enforceFocus = function() {
e(document).off("focusin.ui.modal").on("focusin.ui.modal", e.proxy(function(e) {
this.$element[0] === e.target || this.$element.has(e.target).length || this.$element.trigger("focus")
}, this))
}, n.prototype.escape = function() {
this.isShown && this.options.keyboard ? this.$element.on("keyup.dismiss.ui.modal", e.proxy(function(e) {
27 == e.which && this.hide()
}, this)) : this.isShown || this.$element.off("keyup.dismiss.ui.modal")
}, n.prototype.hideModal = function() {
var e = this;
this.$element.hide(), this.backdrop(function() {
e.$element.trigger("hidden.ui.modal")
})
}, n.prototype.removeBackdrop = function() {
this.$backdrop && this.$backdrop.remove(), this.$backdrop = null
}, n.prototype.backdrop = function(t) {
var n = this,
r = this.$element.hasClass("fade") ? "fade" : "";
if (this.isShown && this.options.backdrop) {
var o = e.support.transition && r;
if (this.$backdrop = e('<div class="modal-backdrop ' + r + '" />').appendTo(this.$body), this.$element.on("click.dismiss.ui.modal", e.proxy(function(e) {
e.target === e.currentTarget && ("static" == this.options.backdrop ? this.$element[0].focus.call(this.$element[0]) : this.hide.call(this))
}, this)), o && this.$backdrop[0].offsetWidth, this.$backdrop.addClass("in"), !t) return;
o ? this.$backdrop.one("uiTransitionEnd", t).emulateTransitionEnd(150) : t()
} else if (!this.isShown && this.$backdrop) {
this.$backdrop.removeClass("in");
var i = function() {
n.removeBackdrop(), t && t()
};
e.support.transition && this.$element.hasClass("fade") ? this.$backdrop.one("uiTransitionEnd", i).emulateTransitionEnd(150) : i()
} else t && t()
}, n.prototype.checkScrollbar = function() {
document.body.clientWidth >= window.innerWidth || (this.scrollbarWidth = this.scrollbarWidth || this.measureScrollbar())
}, n.prototype.setScrollbar = function() {
var e = parseInt(this.$body.css("padding-right") || 0, 10);
this.scrollbarWidth && this.$body.css("padding-right", e + this.scrollbarWidth)
}, n.prototype.resetScrollbar = function() {
this.$body.css("padding-right", "")
}, n.prototype.measureScrollbar = function() {
var e = document.createElement("div");
e.className = "modal-scrollbar-measure", this.$body.append(e);
var t = e.offsetWidth - e.clientWidth;
return this.$body[0].removeChild(e), t
};
var r = e.fn.modal;
e.fn.modal = t, e.fn.modal.Constructor = n, e.fn.modal.noConflict = function() {
return e.fn.modal = r, this
}, e(document).on("click.ui.modal.data-api", '[data-toggle="modal"]', function(n) {
var r = e(this),
o = r.attr("href"),
i = e(r.attr("data-target") || o && o.replace(/.*(?=#[^\s]+$)/, "")),
a = i.data("ui.modal") ? "toggle" : e.extend({
remote: !/#/.test(o) && o
}, i.data(), r.data());
r.is("a") && n.preventDefault(), i.one("show.ui.modal", function(e) {
e.isDefaultPrevented() || i.one("hidden.ui.modal", function() {
r.is(":visible") && r.trigger("focus")
})
}), t.call(i, a, this)
})
}(jQuery),
/* ========================================================================
* Avvo UI - tab.js
* ========================================================================
* Forked from Bootstrap tab.js v3.2.0
* http://getbootstrap.com/javascript/#tabs
* ========================================================================
* Copyright 2011-2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
+ function(e) {
"use strict";
function t(t) {
return this.each(function() {
var r = e(this),
o = r.data("ui.tab");
o || r.data("ui.tab", o = new n(this)), "string" == typeof t && o[t]()
})
}
var n = function(t) {
this.element = e(t)
};
n.VERSION = "4.0.0", n.prototype.show = function() {
var t = this.element,
n = t.closest("ul:not(.dropdown-menu)"),
r = t.data("target");
if (r || (r = t.attr("href"), r = r && r.replace(/.*(?=#[^\s]*$)/, "")), !t.parent("li").hasClass("active")) {
var o = n.find(".active:last a")[0],
i = e.Event("show.ui.tab", {
relatedTarget: o
});
if (t.trigger(i), !i.isDefaultPrevented()) {
var a = e(r);
this.activate(t.closest("li"), n), this.activate(a, a.parent(), function() {
t.trigger({
type: "shown.ui.tab",
relatedTarget: o
})
})
}
}
}, n.prototype.activate = function(t, n, r) {
function o() {
i.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"), t.addClass("active"), a ? (t[0].offsetWidth, t.addClass("in")) : t.removeClass("fade"), t.parent(".dropdown-menu") && t.closest("li.dropdown").addClass("active"), r && r()
}
var i = n.find("> .active"),
a = r && e.support.transition && i.hasClass("fade");
a ? i.one("uiTransitionEnd", o).emulateTransitionEnd(150) : o(), i.removeClass("in")
};
var r = e.fn.tab;
e.fn.tab = t, e.fn.tab.Constructor = n, e.fn.tab.noConflict = function() {
return e.fn.tab = r, this
}, e(document).on("click.ui.tab.data-api", '[data-toggle="tab"], [data-toggle="pill"]', function(n) {
n.preventDefault(), t.call(e(this), "show")
})
}(jQuery),
function(e) {
"use strict";
function t(e) {
var t = o - e.getFullYear(),
n = e.getMonth() - i,
r = n > 0 || 0 === n && e.getDate() > a;
return r && t--, t
}
function n(e) {
var n = t(e);
return n > 1 ? "for " + n + " years" : 1 === n ? "for 1 year" : "less than a year"
}
var r = new Date,
o = r.getFullYear(),
i = r.getMonth(),
a = r.getDate();
e(document).ready(function() {
e('time[data-timestamp="years-active"]').each(function(e, t) {
var r = t.getAttribute("datetime"),
o = new Date(Date.parse(r));
isNaN(o) || (t.textContent = n(o))
})
})
}(window.jQuery), //! Copyright 2012 Eric Wendelin - MIT License
function(e) {
function t(e) {
var t = [],
n = [],
r = [],
i = Object.is || function(e, t) {
return e === t ? 0 !== e || 1 / e == 1 / t : e != e && t != t
},
a = function(e) {
if (e != e || 0 === e)
for (var t = this.length; t-- && !i(this[t], e););
else t = [].indexOf.call(this, e);
return t
},
s = function(e, t) {
var n = 0;
return Object.create({}, {
next: {
value: function() {
if (n < e.items().length) switch (t) {
case "keys":
return e.keys()[n++];
case "values":
return e.values()[n++];
case "keys+values":
return [].slice.call(e.items()[n++]);
default:
throw new TypeError("Invalid iterator type")
}
throw new Error("Stop Iteration")
}
},
iterator: {
value: function() {
return this
}
},
toString: {
value: function() {
return "[object Map Iterator]"
}
}
})
},
u = function(e, o) {
var i = a.call(n, e);
i > -1 ? (t[i] = o, r[i] = o) : (t.push([e, o]), n.push(e), r.push(o))
},
l = function(e) {
if (2 !== e.length) throw new TypeError("Invalid iterable passed to Map constructor");
u(e[0], e[1])
};
if (Array.isArray(e)) e.forEach(l);
else if (void 0 !== e) throw new TypeError("Invalid Map");
return Object.create(o, {
items: {
value: function() {
return [].slice.call(t)
}
},
keys: {
value: function() {
return [].slice.call(n)
}
},
values: {
value: function() {
return [].slice.call(r)
}
},
has: {
value: function(e) {
var t = a.call(n, e);
return t > -1
}
},
get: {
value: function(e) {
var t = a.call(n, e);
return t > -1 ? r[t] : void 0
}
},
set: {
value: u
},
size: {
get: function() {
return t.length
}
},
clear: {
value: function() {
n.length = r.length = t.length = 0
}
},
"delete": {
value: function(e) {
var o = a.call(n, e);
return o > -1 ? (n.splice(o, 1), r.splice(o, 1), t.splice(o, 1), !0) : !1
}
},
forEach: {
value: function(e) {
function t() {
try {
return n.next()
} catch (e) {
return void 0
}
}
if ("function" != typeof e) throw new TypeError("Invalid callback function given to forEach");
for (var n = this.iterator(), r = t(), o = t(); void 0 !== r;) e.apply(arguments[1], [r[1], r[0], this]), r = o, o = t()
}
},
iterator: {
value: function() {
return new s(this, "keys+values")
}
},
toString: {
value: function() {
return "[Object Map]"
}
}
})
}
if (!this.Map) {
var n = "undefined" == e,
r = n ? this : global,
e = n ? {} : exports,
o = t.prototype;
t.prototype = o = t(), r.Map = e.Map = r.Map || t
}
}.call(this, typeof exports), //! Copyright 2012 Eric Wendelin - MIT License
function() {
"use strict";
Map.prototype.filter = function(e) {
if ("function" != typeof e) throw new TypeError("Expected a function argument");
var t = new Map;
return this.forEach(function(n, r, o) {
e(r, n, o) && t.set(r, n)
}), t
}, Map.prototype.merge = function(e) {
function t(e, t) {
n.set(t, e)
}
if (!(e instanceof Map)) throw new TypeError("Cannot merge with objects that are not Maps");
var n = new Map;
return this.forEach(t), e.forEach(t), n
}, Map.prototype.fetch = function(e, t) {
return this.has(e) ? this.get(e) : t
}, Map.prototype.invert = function() {
var e = new Map;
return this.forEach(e.set), e
}, Map.prototype.reject = function(e) {
if ("function" != typeof e) throw new TypeError("Expected a function argument");
this.forEach(function(t, n, r) {
e(n, t, r) && r["delete"](n)
}.bind(this))
}, Map.prototype.isEmpty = function() {
return 0 === this.keys().length
}
}(), "undefined" == typeof Set || "function" != typeof Set.prototype.keys) var Set = function() {
"use strict";
function e(e, t) {
return l.call(e, t)
}
function t(e) {
var t;
return "object" == typeof e ? (t = c.call(e), u[t] === !0 || "number" == typeof e.length && e.length >= 0 && (0 === e.length || "object" == typeof e[0] && e[0].nodeType > 0)) : !1
}
function n(e, t, n, r, o) {
d ? Object.defineProperty(e, t, {
enumerable: r,
configurable: !1,
writable: o,
value: n
}) : e[t] = n
}
function r(e, t) {
p = !0, e.size = t, p = !1
}
function o(e) {
var r = 0;
if (n(this, "baseType", "Set", !1, !1), n(this, "_data", {}, !1, !0), d ? Object.defineProperty(this, "size", {
enumerable: !0,
configurable: !1,
get: function() {
return r
},
set: function(e) {
if (!p) throw new Error("Can't set size property on Set object.");
r = e
}
}) : this.size = 0, void 0 !== e && null !== e)
if (t(e))
for (var o = 0; o < e.length; o++) this.add(e[o]);
else(e instanceof Set || "Set" === e.baseType) && e.forEach(function(e) {
this.add(e)
}, this)
}
function i(e, t) {
var n, r = typeof e;
if (g[r]) return r.substr(0, 3) + "_" + e;
if (null === e) return "nul_null";
if ("object" === r || "function" === r) return e[m] ? e[m] : t ? (n = h + f++, "[object Object]" === c.call(e) && d ? Object.defineProperty(e, m, {
enumerable: !1,
configurable: !1,
writable: !1,
value: n
}) : e[m] = n, n) : null;
throw new Error("Unsupported type for Set.add()")
}
function a(t, n, r) {
var o = 0,
i = t.length;
this.next = function() {
for (var a, s, u = {};;) {
if (i > o) {
if (u.done = !1, s = t[o++], a = n[s], void 0 === a && !e(n, s)) continue;
"keys" === r ? u.value = a : "entries" === r && (u.value = [a, a])
} else t = null, n = null, u.done = !0;
return u
}
}
}
function s(t) {
var n = [];
for (var r in t) e(t, r) && n.push(r);
return n
}
var u = {
"[object Array]": !0,
"[object Arguments]": !0,
"[object HTMLCollection]": !0,
"[object NodeList]": !0
},
l = Object.prototype.hasOwnProperty,
c = Object.prototype.toString,
d = Object.defineProperty && Object.defineProperties,
p = !1,
f = 0,
h = "obj_",
m = "__objectPolyFillID",
g = {
string: !0,
"boolean": !0,
number: !0,
undefined: !0
};
return o.prototype = {
add: function(t) {
var n = i(t, !0);
return e(this._data, n) || (this._data[n] = t, r(this, this.size + 1)), this
},
clear: function() {
this._data = {}, r(this, 0)
},
"delete": function(t) {
var n = i(t, !1);
return null !== n && e(this._data, n) ? (delete this._data[n], r(this, this.size - 1), !0) : !1
},
remove: function(e) {
return this["delete"](e)
},
forEach: function(e) {
if ("function" == typeof e)
for (var t, n, r = arguments[1], o = this.keys();
(t = o.next()) && !t.done;) n = t.value, e.call(r, n, n, this)
},
has: function(e) {
var t = i(e, !1);
return null === t ? !1 : l.call(this._data, t)
},
values: function() {
return this.keys()
},
keys: function() {
return new a(s(this._data), this._data, "keys")
},
entries: function() {
return new a(s(this._data), this._data, "entries")
}
}, o.prototype.constructor = o, o
}();
"function" != typeof Promise &&
/*!
* @overview es6-promise - a tiny implementation of Promises/A+.
* @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
* @license Licensed under MIT license
* See https://raw.githubusercontent.com/jakearchibald/es6-promise/master/LICENSE
* @version 3.2.1
*/
function() {
"use strict";
function e(e) {
return "function" == typeof e || "object" == typeof e && null !== e
}
function t(e) {
return "function" == typeof e
}
function n(e) {
q = e
}
function r(e) {
K = e
}
function o() {
return function() {
process.nextTick(l)
}
}
function i() {
return function() {
W(l)
}
}
function a() {
var e = 0,
t = new J(l),
n = document.createTextNode("");
return t.observe(n, {
characterData: !0
}),
function() {
n.data = e = ++e % 2
}
}
function s() {
var e = new MessageChannel;
return e.port1.onmessage = l,
function() {
e.port2.postMessage(0)
}
}
function u() {
return function() {
setTimeout(l, 1)
}
}
function l() {
for (var e = 0; Y > e; e += 2) {
var t = et[e],
n = et[e + 1];
t(n), et[e] = void 0, et[e + 1] = void 0
}
Y = 0
}
function c() {
try {
var e = require,
t = e("vertx");
return W = t.runOnLoop || t.runOnContext, i()
} catch (n) {
return u()
}
}
function d(e, t) {
var n = this,
r = new this.constructor(f);
void 0 === r[rt] && P(r);
var o = n._state;
if (o) {
var i = arguments[o - 1];
K(function() {
N(o, r, i, n._result)
})
} else k(n, r, e, t);
return r
}
function p(e) {
var t = this;
if (e && "object" == typeof e && e.constructor === t) return e;
var n = new t(f);
return w(n, e), n
}
function f() {}
function h() {
return new TypeError("You cannot resolve a promise with itself")
}
function m() {
return new TypeError("A promises callback cannot return that same promise.")
}
function g(e) {
try {
return e.then
} catch (t) {
return st.error = t, st
}
}
function v(e, t, n, r) {
try {
e.call(t, n, r)
} catch (o) {
return o
}
}
function y(e, t, n) {
K(function(e) {
var r = !1,
o = v(n, t, function(n) {
r || (r = !0, t !== n ? w(e, n) : E(e, n))
}, function(t) {
r || (r = !0, x(e, t))
}, "Settle: " + (e._label || " unknown promise"));
!r && o && (r = !0, x(e, o))
}, e)
}
function b(e, t) {
t._state === it ? E(e, t._result) : t._state === at ? x(e, t._result) : k(t, void 0, function(t) {
w(e, t)
}, function(t) {
x(e, t)
})
}
function _(e, n, r) {
n.constructor === e.constructor && r === tt && constructor.resolve === nt ? b(e, n) : r === st ? x(e, st.error) : void 0 === r ? E(e, n) : t(r) ? y(e, n, r) : E(e, n)
}
function w(t, n) {
t === n ? x(t, h()) : e(n) ? _(t, n, g(n)) : E(t, n)
}
function C(e) {
e._onerror && e._onerror(e._result), S(e)
}
function E(e, t) {
e._state === ot && (e._result = t, e._state = it, 0 !== e._subscribers.length && K(S, e))
}
function x(e, t) {
e._state === ot && (e._state = at, e._result = t, K(C, e))
}
function k(e, t, n, r) {
var o = e._subscribers,
i = o.length;
e._onerror = null, o[i] = t, o[i + it] = n, o[i + at] = r, 0 === i && e._state && K(S, e)
}
function S(e) {
var t = e._subscribers,
n = e._state;
if (0 !== t.length) {
for (var r, o, i = e._result, a = 0; a < t.length; a += 3) r = t[a], o = t[a + n], r ? N(n, r, o, i) : o(i);
e._subscribers.length = 0
}
}
function T() {
this.error = null
}
function D(e, t) {
try {
return e(t)
} catch (n) {
return ut.error = n, ut
}
}
function N(e, n, r, o) {
var i, a, s, u, l = t(r);
if (l) {
if (i = D(r, o), i === ut ? (u = !0, a = i.error, i = null) : s = !0, n === i) return void x(n, m())
} else i = o, s = !0;
n._state !== ot || (l && s ? w(n, i) : u ? x(n, a) : e === it ? E(n, i) : e === at && x(n, i))
}
function O(e, t) {
try {
t(function(t) {
w(e, t)
}, function(t) {
x(e, t)
})
} catch (n) {
x(e, n)
}
}
function R() {
return lt++
}
function P(e) {
e[rt] = lt++, e._state = void 0, e._result = void 0, e._subscribers = []
}
function M(e) {
return new ht(this, e).promise
}
function I(e) {
var t = this;
return new t(z(e) ? function(n, r) {
for (var o = e.length, i = 0; o > i; i++) t.resolve(e[i]).then(n, r)
} : function(e, t) {
t(new TypeError("You must pass an array to race."))
})
}
function A(e) {
var t = this,
n = new t(f);
return x(n, e), n
}
function j() {
throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")
}
function L() {
throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")
}
function U(e) {
this[rt] = R(), this._result = this._state = void 0, this._subscribers = [], f !== e && ("function" != typeof e && j(), this instanceof U ? O(this, e) : L())
}
function F(e, t) {
this._instanceConstructor = e, this.promise = new e(f), this.promise[rt] || P(this.promise), Array.isArray(t) ? (this._input = t, this.length = t.length, this._remaining = t.length, this._result = new Array(this.length), 0 === this.length ? E(this.promise, this._result) : (this.length = this.length || 0, this._enumerate(), 0 === this._remaining && E(this.promise, this._result))) : x(this.promise, B())
}
function B() {
return new Error("Array Methods must be provided an Array")
}
function V() {
var e;
if ("undefined" != typeof global) e = global;
else if ("undefined" != typeof self) e = self;
else try {
e = Function("return this")()
} catch (t) {
throw new Error("polyfill failed because global object is unavailable in this environment")
}
var n = e.Promise;
(!n || "[object Promise]" !== Object.prototype.toString.call(n.resolve()) || n.cast) && (e.Promise = ft)
}
var H;
H = Array.isArray ? Array.isArray : function(e) {
return "[object Array]" === Object.prototype.toString.call(e)
};
var W, q, $, z = H,
Y = 0,
K = function(e, t) {
et[Y] = e, et[Y + 1] = t, Y += 2, 2 === Y && (q ? q(l) : $())
},
G = "undefined" != typeof window ? window : void 0,
Q = G || {},
J = Q.MutationObserver || Q.WebKitMutationObserver,
X = "undefined" == typeof self && "undefined" != typeof process && "[object process]" === {}.toString.call(process),
Z = "undefined" != typeof Uint8ClampedArray && "undefined" != typeof importScripts && "undefined" != typeof MessageChannel,
et = new Array(1e3);
$ = X ? o() : J ? a() : Z ? s() : void 0 === G && "function" == typeof require ? c() : u();
var tt = d,
nt = p,
rt = Math.random().toString(36).substring(16),
ot = void 0,
it = 1,
at = 2,
st = new T,
ut = new T,
lt = 0,
ct = M,
dt = I,
pt = A,
ft = U;
U.all = ct, U.race = dt, U.resolve = nt, U.reject = pt, U._setScheduler = n, U._setAsap = r, U._asap = K, U.prototype = {
constructor: U,
then: tt,
"catch": function(e) {
return this.then(null, e)
}
};
var ht = F;
F.prototype._enumerate = function() {
for (var e = this.length, t = this._input, n = 0; this._state === ot && e > n; n++) this._eachEntry(t[n], n)
}, F.prototype._eachEntry = function(e, t) {
var n = this._instanceConstructor,
r = n.resolve;
if (r === nt) {
var o = g(e);
if (o === tt && e._state !== ot) this._settledAt(e._state, t, e._result);
else if ("function" != typeof o) this._remaining--, this._result[t] = e;
else if (n === ft) {
var i = new n(f);
_(i, e, o), this._willSettleAt(i, t)
} else this._willSettleAt(new n(function(t) {
t(e)
}), t)
} else this._willSettleAt(r(e), t)
}, F.prototype._settledAt = function(e, t, n) {
var r = this.promise;
r._state === ot && (this._remaining--, e === at ? x(r, n) : this._result[t] = n), 0 === this._remaining && E(r, this._result)
}, F.prototype._willSettleAt = function(e, t) {
var n = this;
k(e, void 0, function(e) {
n._settledAt(it, t, e)
}, function(e) {
n._settledAt(at, t, e)
})
};
var mt = V,
gt = {
Promise: ft,
polyfill: mt
};
"function" == typeof define && define.amd ? define(function() {
return gt
}) : "undefined" != typeof module && module.exports ? module.exports = gt : "undefined" != typeof this && (this.ES6Promise = gt), mt()
}.call(this),
/*! twilio-common.js 0.1.5
The following license applies to all parts of this software except as
documented below.
Copyright (c) 2015, Twilio, inc.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. Neither the name of Twilio nor the names of its contributors may
be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This software includes buffer under the following license.
The MIT License (MIT)
Copyright (c) Feross Aboukhadijeh, and other contributors.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
This software includes code under the following license.
Copyright Joyent, Inc. and other Node contributors.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
This software includes es6-promise under the following license:
Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
! function(e) {
var t = function() {
var e = 2,
t = function n(e, t, r) {
function o(a, s) {
if (!t[a]) {
if (!e[a]) {
var u = "function" == typeof require && require;
if (!s && u) return u(a, !0);
if (i) return i(a, !0);
var l = new Error("Cannot find module '" + a + "'");
throw l.code = "MODULE_NOT_FOUND", l
}
var c = t[a] = {
exports: {}
};
e[a][0].call(c.exports, function(t) {
var n = e[a][1][t];
return o(n ? n : t)
}, c, c.exports, n, e, t, r)
}
return t[a].exports
}
for (var i = "function" == typeof require && require, a = 0; a < r.length; a++) o(r[a]);
return o
}({
1: [function(e, t) {
(function(n, r) {
"use strict";
function o(e) {
if (!(this instanceof o)) return new o(e);
p.call(this);
var t = null,
n = null,
r = !1,
i = null,
a = e,
s = null,
u = null,
l = null;
Object.defineProperties(this, {
_expires: {
get: function() {
return t
},
set: function(e) {
t = e
}
},
_identity: {
get: function() {
return n
},
set: function(e) {
n = e
}
},
_isExpired: {
get: function() {
return r
},
set: function(e) {
r = e
}
},
_pendingUpdate: {
get: function() {
return i
},
set: function(e) {
i = e
}
},
_token: {
get: function() {
return a
},
set: function(e) {
a = e
}
},
_tokenExpiredTimer: {
get: function() {
return s
},
set: function(e) {
s = e
}
},
_tokenUpdatedTimer: {
get: function() {
return u
},
set: function(e) {
u = e
}
},
_tokenPayload: {
get: function() {
return l
},
set: function(e) {
l = e
}
},
expires: {
enumerable: !0,
get: function() {
return t
}
},
identity: {
enumerable: !0,
get: function() {
return n
}
},
isExpired: {
enumerable: !0,
get: function() {
return r
}
},
token: {
enumerable: !0,
get: function() {
return a
}
}
});
var c = this.updateToken(e);
c["catch"](function(e) {
this._pendingUpdate === c && this.emit("error", e)
}.bind(this))
}
function i(e) {
var t = e.split(".");
if (3 !== t.length) throw new Error("Token is invalid or malformed");
var n = t[1],
r = a(n),
o = JSON.parse(r);
return o
}
function a(e) {
var t = e.length % 4;
if (t > 0) {
var n = 4 - t;
e += new Array(n + 1).join("=")
}
return e = e.replace(/-/g, "+").replace(/_/g, "/"), s(e)
}
function s(e) {
return new r(e, "base64").toString()
}
function u(e) {
var t = null;
return !e.grants && e.scope ? t = l(e.scope) : e.grants instanceof Array ? t = c(e.grants) : "object" == typeof e.grants && (t = d(e.grants)), t
}
function l(e) {
var t = decodeURIComponent(e).match(/identity=(.*?)(&|$)/i);
return t && decodeURIComponent(t[1])
}
function c(e) {
for (var t = null, n = 0; n < e.length; n++) {
var r = e[n];
if (r && "string" == typeof r.res) {
var o = r.res.match(/^sip:(.*)@/);
if (o) {
t = decodeURIComponent(o[1]);
break
}
}
}
return t
}
function d(e) {
return e.identity || null
}
var p = e("events").EventEmitter,
f = e("util").inherits,
h = n.Promise || e("es6-promise").Promise;
f(o, p), o.prototype.updateToken = function(e) {
var t = this,
n = new h(function(n) {
var r = i(e);
t._identity = u(r), clearTimeout(t._tokenUpdatedTimer), t._tokenUpdatedTimer = setTimeout(function() {
t._tokenUpdatedTimer = null, t.emit("tokenUpdated", t)
}), t._expires = new Date(1e3 * r.exp), t._isExpired = Date.now() >= t.expires, clearTimeout(t._tokenExpiredTimer), t._tokenExpiredTimer = setTimeout(function() {
t._isExpired = !0, t._tokenExpiredTimer = null, t.emit("tokenExpired", t)
}, t.expires - Date.now()), t._token = e, t._tokenPayload = r, n(t)
});
return this._pendingUpdate = n, n
}, t.exports = o
}).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, e("buffer").Buffer)
}, {
buffer: 3,
"es6-promise": 12,
events: 7,
util: 11
}],
2: [function(e, t) {
"use strict";
t.exports.AccessManager = e("./accessmanager")
}, {
"./accessmanager": 1
}],
3: [function(e, t, n) {
(function(t) {
"use strict";
function r() {
function e() {}
try {
var t = new Uint8Array(1);
return t.foo = function() {
return 42
}, t.constructor = e, 42 === t.foo() && t.constructor === e && "function" == typeof t.subarray && 0 === t.subarray(1, 1).byteLength
} catch (n) {
return !1
}
}
function o() {
return i.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823
}
function i(e) {
return this instanceof i ? (i.TYPED_ARRAY_SUPPORT || (this.length = 0, this.parent = void 0), "number" == typeof e ? a(this, e) : "string" == typeof e ? s(this, e, arguments.length > 1 ? arguments[1] : "utf8") : u(this, e)) : arguments.length > 1 ? new i(e, arguments[1]) : new i(e)
}
function a(e, t) {
if (e = m(e, 0 > t ? 0 : 0 | g(t)), !i.TYPED_ARRAY_SUPPORT)
for (var n = 0; t > n; n++) e[n] = 0;
return e
}
function s(e, t, n) {
"string" == typeof n && "" !== n || (n = "utf8");
var r = 0 | y(t, n);
return e = m(e, r), e.write(t, n), e
}
function u(e, t) {
if (i.isBuffer(t)) return l(e, t);
if (Q(t)) return c(e, t);
if (null == t) throw new TypeError("must start with number, buffer, array or string");
if ("undefined" != typeof ArrayBuffer) {
if (t.buffer instanceof ArrayBuffer) return d(e, t);
if (t instanceof ArrayBuffer) return p(e, t)
}
return t.length ? f(e, t) : h(e, t)
}
function l(e, t) {
var n = 0 | g(t.length);
return e = m(e, n), t.copy(e, 0, 0, n), e
}
function c(e, t) {
var n = 0 | g(t.length);
e = m(e, n);
for (var r = 0; n > r; r += 1) e[r] = 255 & t[r];
return e
}
function d(e, t) {
var n = 0 | g(t.length);
e = m(e, n);
for (var r = 0; n > r; r += 1) e[r] = 255 & t[r];
return e
}
function p(e, t) {
return i.TYPED_ARRAY_SUPPORT ? (t.byteLength, e = i._augment(new Uint8Array(t))) : e = d(e, new Uint8Array(t)), e
}
function f(e, t) {
var n = 0 | g(t.length);
e = m(e, n);
for (var r = 0; n > r; r += 1) e[r] = 255 & t[r];
return e
}
function h(e, t) {
var n, r = 0;
"Buffer" === t.type && Q(t.data) && (n = t.data, r = 0 | g(n.length)), e = m(e, r);
for (var o = 0; r > o; o += 1) e[o] = 255 & n[o];
return e
}
function m(e, t) {
i.TYPED_ARRAY_SUPPORT ? (e = i._augment(new Uint8Array(t)), e.__proto__ = i.prototype) : (e.length = t, e._isBuffer = !0);
var n = 0 !== t && t <= i.poolSize >>> 1;
return n && (e.parent = J), e
}
function g(e) {
if (e >= o()) throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + o().toString(16) + " bytes");
return 0 | e
}
function v(e, t) {
if (!(this instanceof v)) return new v(e, t);
var n = new i(e, t);
return delete n.parent, n
}
function y(e, t) {
"string" != typeof e && (e = "" + e);
var n = e.length;
if (0 === n) return 0;
for (var r = !1;;) switch (t) {
case "ascii":
case "binary":
case "raw":
case "raws":
return n;
case "utf8":
case "utf-8":
return W(e).length;
case "ucs2":
case "ucs-2":
case "utf16le":
case "utf-16le":
return 2 * n;
case "hex":
return n >>> 1;
case "base64":
return z(e).length;
default:
if (r) return W(e).length;
t = ("" + t).toLowerCase(), r = !0
}
}
function b(e, t, n) {
var r = !1;
if (t = 0 | t, n = void 0 === n || n === 1 / 0 ? this.length : 0 | n, e || (e = "utf8"), 0 > t && (t = 0), n > this.length && (n = this.length), t >= n) return "";
for (;;) switch (e) {
case "hex":
return R(this, t, n);
case "utf8":
case "utf-8":
return T(this, t, n);
case "ascii":
return N(this, t, n);
case "binary":
return O(this, t, n);
case "base64":
return S(this, t, n);
case "ucs2":
case "ucs-2":
case "utf16le":
case "utf-16le":
return P(this, t, n);
default:
if (r) throw new TypeError("Unknown encoding: " + e);
e = (e + "").toLowerCase(), r = !0
}
}
function _(e, t, n, r) {
n = Number(n) || 0;
var o = e.length - n;
r ? (r = Number(r), r > o && (r = o)) : r = o;
var i = t.length;
if (i % 2 !== 0) throw new Error("Invalid hex string");
r > i / 2 && (r = i / 2);
for (var a = 0; r > a; a++) {
var s = parseInt(t.substr(2 * a, 2), 16);
if (isNaN(s)) throw new Error("Invalid hex string");
e[n + a] = s
}
return a
}
function w(e, t, n, r) {
return Y(W(t, e.length - n), e, n, r)
}
function C(e, t, n, r) {
return Y(q(t), e, n, r)
}
function E(e, t, n, r) {
return C(e, t, n, r)
}
function x(e, t, n, r) {
return Y(z(t), e, n, r)
}
function k(e, t, n, r) {
return Y($(t, e.length - n), e, n, r)
}
function S(e, t, n) {
return K.fromByteArray(0 === t && n === e.length ? e : e.slice(t, n))
}
function T(e, t, n) {
n = Math.min(e.length, n);
for (var r = [], o = t; n > o;) {
var i = e[o],
a = null,
s = i > 239 ? 4 : i > 223 ? 3 : i > 191 ? 2 : 1;
if (n >= o + s) {
var u, l, c, d;
switch (s) {
case 1:
128 > i && (a = i);
break;
case 2:
u = e[o + 1], 128 === (192 & u) && (d = (31 & i) << 6 | 63 & u, d > 127 && (a = d));
break;
case 3:
u = e[o + 1], l = e[o + 2], 128 === (192 & u) && 128 === (192 & l) && (d = (15 & i) << 12 | (63 & u) << 6 | 63 & l, d > 2047 && (55296 > d || d > 57343) && (a = d));
break;
case 4:
u = e[o + 1], l = e[o + 2], c = e[o + 3], 128 === (192 & u) && 128 === (192 & l) && 128 === (192 & c) && (d = (15 & i) << 18 | (63 & u) << 12 | (63 & l) << 6 | 63 & c, d > 65535 && 1114112 > d && (a = d))
}
}
null === a ? (a = 65533, s = 1) : a > 65535 && (a -= 65536, r.push(a >>> 10 & 1023 | 55296), a = 56320 | 1023 & a), r.push(a), o += s
}
return D(r)
}
function D(e) {
var t = e.length;
if (X >= t) return String.fromCharCode.apply(String, e);
for (var n = "", r = 0; t > r;) n += String.fromCharCode.apply(String, e.slice(r, r += X));
return n
}
function N(e, t, n) {
var r = "";
n = Math.min(e.length, n);
for (var o = t; n > o; o++) r += String.fromCharCode(127 & e[o]);
return r
}
function O(e, t, n) {
var r = "";
n = Math.min(e.length, n);
for (var o = t; n > o; o++) r += String.fromCharCode(e[o]);
return r
}
function R(e, t, n) {
var r = e.length;
(!t || 0 > t) && (t = 0), (!n || 0 > n || n > r) && (n = r);
for (var o = "", i = t; n > i; i++) o += H(e[i]);
return o
}
function P(e, t, n) {
for (var r = e.slice(t, n), o = "", i = 0; i < r.length; i += 2) o += String.fromCharCode(r[i] + 256 * r[i + 1]);
return o
}
function M(e, t, n) {
if (e % 1 !== 0 || 0 > e) throw new RangeError("offset is not uint");
if (e + t > n) throw new RangeError("Trying to access beyond buffer length")
}
function I(e, t, n, r, o, a) {
if (!i.isBuffer(e)) throw new TypeError("buffer must be a Buffer instance");
if (t > o || a > t) throw new RangeError("value is out of bounds");
if (n + r > e.length) throw new RangeError("index out of range")
}
function A(e, t, n, r) {
0 > t && (t = 65535 + t + 1);
for (var o = 0, i = Math.min(e.length - n, 2); i > o; o++) e[n + o] = (t & 255 << 8 * (r ? o : 1 - o)) >>> 8 * (r ? o : 1 - o)
}
function j(e, t, n, r) {
0 > t && (t = 4294967295 + t + 1);
for (var o = 0, i = Math.min(e.length - n, 4); i > o; o++) e[n + o] = t >>> 8 * (r ? o : 3 - o) & 255
}
function L(e, t, n, r, o, i) {
if (t > o || i > t) throw new RangeError("value is out of bounds");
if (n + r > e.length) throw new RangeError("index out of range");
if (0 > n) throw new RangeError("index out of range")
}
function U(e, t, n, r, o) {
return o || L(e, t, n, 4, 3.4028234663852886e38, -3.4028234663852886e38), G.write(e, t, n, r, 23, 4), n + 4
}
function F(e, t, n, r, o) {
return o || L(e, t, n, 8, 1.7976931348623157e308, -1.7976931348623157e308), G.write(e, t, n, r, 52, 8), n + 8
}
function B(e) {
if (e = V(e).replace(et, ""), e.length < 2) return "";
for (; e.length % 4 !== 0;) e += "=";
return e
}
function V(e) {
return e.trim ? e.trim() : e.replace(/^\s+|\s+$/g, "")
}
function H(e) {
return 16 > e ? "0" + e.toString(16) : e.toString(16)
}
function W(e, t) {
t = t || 1 / 0;
for (var n, r = e.length, o = null, i = [], a = 0; r > a; a++) {
if (n = e.charCodeAt(a), n > 55295 && 57344 > n) {
if (!o) {
if (n > 56319) {
(t -= 3) > -1 && i.push(239, 191, 189);
continue
}
if (a + 1 === r) {
(t -= 3) > -1 && i.push(239, 191, 189);
continue
}
o = n;
continue
}
if (56320 > n) {
(t -= 3) > -1 && i.push(239, 191, 189), o = n;
continue
}
n = (o - 55296 << 10 | n - 56320) + 65536
} else o && (t -= 3) > -1 && i.push(239, 191, 189);
if (o = null, 128 > n) {
if ((t -= 1) < 0) break;
i.push(n)
} else if (2048 > n) {
if ((t -= 2) < 0) break;
i.push(n >> 6 | 192, 63 & n | 128)
} else if (65536 > n) {
if ((t -= 3) < 0) break;
i.push(n >> 12 | 224, n >> 6 & 63 | 128, 63 & n | 128)
} else {
if (!(1114112 > n)) throw new Error("Invalid code point");
if ((t -= 4) < 0) break;
i.push(n >> 18 | 240, n >> 12 & 63 | 128, n >> 6 & 63 | 128, 63 & n | 128)
}
}
return i
}
function q(e) {
for (var t = [], n = 0; n < e.length; n++) t.push(255 & e.charCodeAt(n));
return t
}
function $(e, t) {
for (var n, r, o, i = [], a = 0; a < e.length && !((t -= 2) < 0); a++) n = e.charCodeAt(a), r = n >> 8, o = n % 256, i.push(o), i.push(r);
return i
}
function z(e) {
return K.toByteArray(B(e))
}
function Y(e, t, n, r) {
for (var o = 0; r > o && !(o + n >= t.length || o >= e.length); o++) t[o + n] = e[o];
return o
}
var K = e("base64-js"),
G = e("ieee754"),
Q = e("isarray");
n.Buffer = i, n.SlowBuffer = v, n.INSPECT_MAX_BYTES = 50, i.poolSize = 8192;
var J = {};
i.TYPED_ARRAY_SUPPORT = void 0 !== t.TYPED_ARRAY_SUPPORT ? t.TYPED_ARRAY_SUPPORT : r(), i.TYPED_ARRAY_SUPPORT ? (i.prototype.__proto__ = Uint8Array.prototype, i.__proto__ = Uint8Array) : (i.prototype.length = void 0, i.prototype.parent = void 0), i.isBuffer = function(e) {
return !(null == e || !e._isBuffer)
}, i.compare = function(e, t) {
if (!i.isBuffer(e) || !i.isBuffer(t)) throw new TypeError("Arguments must be Buffers");
if (e === t) return 0;
for (var n = e.length, r = t.length, o = 0, a = Math.min(n, r); a > o && e[o] === t[o];) ++o;
return o !== a && (n = e[o], r = t[o]), r > n ? -1 : n > r ? 1 : 0
}, i.isEncoding = function(e) {
switch (String(e).toLowerCase()) {
case "hex":
case "utf8":
case "utf-8":
case "ascii":
case "binary":
case "base64":
case "raw":
case "ucs2":
case "ucs-2":
case "utf16le":
case "utf-16le":
return !0;
default:
return !1
}
}, i.concat = function(e, t) {
if (!Q(e)) throw new TypeError("list argument must be an Array of Buffers.");
if (0 === e.length) return new i(0);
var n;
if (void 0 === t)
for (t = 0, n = 0; n < e.length; n++) t += e[n].length;
var r = new i(t),
o = 0;
for (n = 0; n < e.length; n++) {
var a = e[n];
a.copy(r, o), o += a.length
}
return r
}, i.byteLength = y, i.prototype.toString = function() {
var e = 0 | this.length;
return 0 === e ? "" : 0 === arguments.length ? T(this, 0, e) : b.apply(this, arguments)
}, i.prototype.equals = function(e) {
if (!i.isBuffer(e)) throw new TypeError("Argument must be a Buffer");
return this === e ? !0 : 0 === i.compare(this, e)
}, i.prototype.inspect = function() {
var e = "",
t = n.INSPECT_MAX_BYTES;
return this.length > 0 && (e = this.toString("hex", 0, t).match(/.{2}/g).join(" "), this.length > t && (e += " ... ")), "<Buffer " + e + ">"
}, i.prototype.compare = function(e) {
if (!i.isBuffer(e)) throw new TypeError("Argument must be a Buffer");
return this === e ? 0 : i.compare(this, e)
}, i.prototype.indexOf = function(e, t) {
function n(e, t, n) {
for (var r = -1, o = 0; n + o < e.length; o++)
if (e[n + o] === t[-1 === r ? 0 : o - r]) {
if (-1 === r && (r = o), o - r + 1 === t.length) return n + r
} else r = -1;
return -1
}
if (t > 2147483647 ? t = 2147483647 : -2147483648 > t && (t = -2147483648), t >>= 0, 0 === this.length) return -1;
if (t >= this.length) return -1;
if (0 > t && (t = Math.max(this.length + t, 0)), "string" == typeof e) return 0 === e.length ? -1 : String.prototype.indexOf.call(this, e, t);
if (i.isBuffer(e)) return n(this, e, t);
if ("number" == typeof e) return i.TYPED_ARRAY_SUPPORT && "function" === Uint8Array.prototype.indexOf ? Uint8Array.prototype.indexOf.call(this, e, t) : n(this, [e], t);
throw new TypeError("val must be string, number or Buffer")
}, i.prototype.get = function(e) {
return console.log(".get() is deprecated. Access using array indexes instead."), this.readUInt8(e)
}, i.prototype.set = function(e, t) {
return console.log(".set() is deprecated. Access using array indexes instead."), this.writeUInt8(e, t)
}, i.prototype.write = function(e, t, n, r) {
if (void 0 === t) r = "utf8", n = this.length, t = 0;
else if (void 0 === n && "string" == typeof t) r = t, n = this.length, t = 0;
else if (isFinite(t)) t = 0 | t, isFinite(n) ? (n = 0 | n, void 0 === r && (r = "utf8")) : (r = n, n = void 0);
else {
var o = r;
r = t, t = 0 | n, n = o
}
var i = this.length - t;
if ((void 0 === n || n > i) && (n = i), e.length > 0 && (0 > n || 0 > t) || t > this.length) throw new RangeError("attempt to write outside buffer bounds");
r || (r = "utf8");
for (var a = !1;;) switch (r) {
case "hex":
return _(this, e, t, n);
case "utf8":
case "utf-8":
return w(this, e, t, n);
case "ascii":
return C(this, e, t, n);
case "binary":
return E(this, e, t, n);
case "base64":
return x(this, e, t, n);
case "ucs2":
case "ucs-2":
case "utf16le":
case "utf-16le":
return k(this, e, t, n);
default:
if (a) throw new TypeError("Unknown encoding: " + r);
r = ("" + r).toLowerCase(), a = !0
}
}, i.prototype.toJSON = function() {
return {
type: "Buffer",
data: Array.prototype.slice.call(this._arr || this, 0)
}
};
var X = 4096;
i.prototype.slice = function(e, t) {
var n = this.length;
e = ~~e, t = void 0 === t ? n : ~~t, 0 > e ? (e += n, 0 > e && (e = 0)) : e > n && (e = n), 0 > t ? (t += n, 0 > t && (t = 0)) : t > n && (t = n), e > t && (t = e);
var r;
if (i.TYPED_ARRAY_SUPPORT) r = i._augment(this.subarray(e, t));
else {
var o = t - e;
r = new i(o, void 0);
for (var a = 0; o > a; a++) r[a] = this[a + e]
}
return r.length && (r.parent = this.parent || this), r
}, i.prototype.readUIntLE = function(e, t, n) {
e = 0 | e, t = 0 | t, n || M(e, t, this.length);
for (var r = this[e], o = 1, i = 0; ++i < t && (o *= 256);) r += this[e + i] * o;
return r
}, i.prototype.readUIntBE = function(e, t, n) {
e = 0 | e, t = 0 | t, n || M(e, t, this.length);
for (var r = this[e + --t], o = 1; t > 0 && (o *= 256);) r += this[e + --t] * o;
return r
}, i.prototype.readUInt8 = function(e, t) {
return t || M(e, 1, this.length), this[e]
}, i.prototype.readUInt16LE = function(e, t) {
return t || M(e, 2, this.length), this[e] | this[e + 1] << 8
}, i.prototype.readUInt16BE = function(e, t) {
return t || M(e, 2, this.length), this[e] << 8 | this[e + 1]
}, i.prototype.readUInt32LE = function(e, t) {
return t || M(e, 4, this.length), (this[e] | this[e + 1] << 8 | this[e + 2] << 16) + 16777216 * this[e + 3]
}, i.prototype.readUInt32BE = function(e, t) {
return t || M(e, 4, this.length), 16777216 * this[e] + (this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3])
}, i.prototype.readIntLE = function(e, t, n) {
e = 0 | e, t = 0 | t, n || M(e, t, this.length);
for (var r = this[e], o = 1, i = 0; ++i < t && (o *= 256);) r += this[e + i] * o;
return o *= 128, r >= o && (r -= Math.pow(2, 8 * t)), r
}, i.prototype.readIntBE = function(e, t, n) {
e = 0 | e, t = 0 | t, n || M(e, t, this.length);
for (var r = t, o = 1, i = this[e + --r]; r > 0 && (o *= 256);) i += this[e + --r] * o;
return o *= 128, i >= o && (i -= Math.pow(2, 8 * t)), i
}, i.prototype.readInt8 = function(e, t) {
return t || M(e, 1, this.length), 128 & this[e] ? -1 * (255 - this[e] + 1) : this[e]
}, i.prototype.readInt16LE = function(e, t) {
t || M(e, 2, this.length);
var n = this[e] | this[e + 1] << 8;
return 32768 & n ? 4294901760 | n : n
}, i.prototype.readInt16BE = function(e, t) {
t || M(e, 2, this.length);
var n = this[e + 1] | this[e] << 8;
return 32768 & n ? 4294901760 | n : n
}, i.prototype.readInt32LE = function(e, t) {
return t || M(e, 4, this.length), this[e] | this[e + 1] << 8 | this[e + 2] << 16 | this[e + 3] << 24
}, i.prototype.readInt32BE = function(e, t) {
return t || M(e, 4, this.length), this[e] << 24 | this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3]
}, i.prototype.readFloatLE = function(e, t) {
return t || M(e, 4, this.length), G.read(this, e, !0, 23, 4)
}, i.prototype.readFloatBE = function(e, t) {
return t || M(e, 4, this.length), G.read(this, e, !1, 23, 4)
}, i.prototype.readDoubleLE = function(e, t) {
return t || M(e, 8, this.length), G.read(this, e, !0, 52, 8)
}, i.prototype.readDoubleBE = function(e, t) {
return t || M(e, 8, this.length), G.read(this, e, !1, 52, 8)
}, i.prototype.writeUIntLE = function(e, t, n, r) {
e = +e, t = 0 | t, n = 0 | n, r || I(this, e, t, n, Math.pow(2, 8 * n), 0);
var o = 1,
i = 0;
for (this[t] = 255 & e; ++i < n && (o *= 256);) this[t + i] = e / o & 255;
return t + n
}, i.prototype.writeUIntBE = function(e, t, n, r) {
e = +e, t = 0 | t, n = 0 | n, r || I(this, e, t, n, Math.pow(2, 8 * n), 0);
var o = n - 1,
i = 1;
for (this[t + o] = 255 & e; --o >= 0 && (i *= 256);) this[t + o] = e / i & 255;
return t + n
}, i.prototype.writeUInt8 = function(e, t, n) {
return e = +e, t = 0 | t, n || I(this, e, t, 1, 255, 0), i.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), this[t] = 255 & e, t + 1
}, i.prototype.writeUInt16LE = function(e, t, n) {
return e = +e, t = 0 | t, n || I(this, e, t, 2, 65535, 0), i.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8) : A(this, e, t, !0), t + 2
}, i.prototype.writeUInt16BE = function(e, t, n) {
return e = +e, t = 0 | t, n || I(this, e, t, 2, 65535, 0), i.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8, this[t + 1] = 255 & e) : A(this, e, t, !1), t + 2
}, i.prototype.writeUInt32LE = function(e, t, n) {
return e = +e, t = 0 | t, n || I(this, e, t, 4, 4294967295, 0), i.TYPED_ARRAY_SUPPORT ? (this[t + 3] = e >>> 24, this[t + 2] = e >>> 16, this[t + 1] = e >>> 8, this[t] = 255 & e) : j(this, e, t, !0), t + 4
}, i.prototype.writeUInt32BE = function(e, t, n) {
return e = +e, t = 0 | t, n || I(this, e, t, 4, 4294967295, 0), i.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e) : j(this, e, t, !1), t + 4
}, i.prototype.writeIntLE = function(e, t, n, r) {
if (e = +e, t = 0 | t, !r) {
var o = Math.pow(2, 8 * n - 1);
I(this, e, t, n, o - 1, -o)
}
var i = 0,
a = 1,
s = 0 > e ? 1 : 0;
for (this[t] = 255 & e; ++i < n && (a *= 256);) this[t + i] = (e / a >> 0) - s & 255;
return t + n
}, i.prototype.writeIntBE = function(e, t, n, r) {
if (e = +e, t = 0 | t, !r) {
var o = Math.pow(2, 8 * n - 1);
I(this, e, t, n, o - 1, -o)
}
var i = n - 1,
a = 1,
s = 0 > e ? 1 : 0;
for (this[t + i] = 255 & e; --i >= 0 && (a *= 256);) this[t + i] = (e / a >> 0) - s & 255;
return t + n
}, i.prototype.writeInt8 = function(e, t, n) {
return e = +e, t = 0 | t, n || I(this, e, t, 1, 127, -128), i.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), 0 > e && (e = 255 + e + 1), this[t] = 255 & e, t + 1
}, i.prototype.writeInt16LE = function(e, t, n) {
return e = +e, t = 0 | t, n || I(this, e, t, 2, 32767, -32768), i.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8) : A(this, e, t, !0), t + 2
}, i.prototype.writeInt16BE = function(e, t, n) {
return e = +e, t = 0 | t, n || I(this, e, t, 2, 32767, -32768), i.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8, this[t + 1] = 255 & e) : A(this, e, t, !1), t + 2
}, i.prototype.writeInt32LE = function(e, t, n) {
return e = +e, t = 0 | t, n || I(this, e, t, 4, 2147483647, -2147483648), i.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8, this[t + 2] = e >>> 16, this[t + 3] = e >>> 24) : j(this, e, t, !0), t + 4
}, i.prototype.writeInt32BE = function(e, t, n) {
return e = +e, t = 0 | t, n || I(this, e, t, 4, 2147483647, -2147483648), 0 > e && (e = 4294967295 + e + 1), i.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e) : j(this, e, t, !1), t + 4
}, i.prototype.writeFloatLE = function(e, t, n) {
return U(this, e, t, !0, n)
}, i.prototype.writeFloatBE = function(e, t, n) {
return U(this, e, t, !1, n)
}, i.prototype.writeDoubleLE = function(e, t, n) {
return F(this, e, t, !0, n)
}, i.prototype.writeDoubleBE = function(e, t, n) {
return F(this, e, t, !1, n)
}, i.prototype.copy = function(e, t, n, r) {
if (n || (n = 0), r || 0 === r || (r = this.length), t >= e.length && (t = e.length), t || (t = 0), r > 0 && n > r && (r = n), r === n) return 0;
if (0 === e.length || 0 === this.length) return 0;
if (0 > t) throw new RangeError("targetStart out of bounds");
if (0 > n || n >= this.length) throw new RangeError("sourceStart out of bounds");
if (0 > r) throw new RangeError("sourceEnd out of bounds");
r > this.length && (r = this.length), e.length - t < r - n && (r = e.length - t + n);
var o, a = r - n;
if (this === e && t > n && r > t)
for (o = a - 1; o >= 0; o--) e[o + t] = this[o + n];
else if (1e3 > a || !i.TYPED_ARRAY_SUPPORT)
for (o = 0; a > o; o++) e[o + t] = this[o + n];
else e._set(this.subarray(n, n + a), t);
return a
}, i.prototype.fill = function(e, t, n) {
if (e || (e = 0), t || (t = 0), n || (n = this.length), t > n) throw new RangeError("end < start");
if (n !== t && 0 !== this.length) {
if (0 > t || t >= this.length) throw new RangeError("start out of bounds");
if (0 > n || n > this.length) throw new RangeError("end out of bounds");
var r;
if ("number" == typeof e)
for (r = t; n > r; r++) this[r] = e;
else {
var o = W(e.toString()),
i = o.length;
for (r = t; n > r; r++) this[r] = o[r % i]
}
return this
}
}, i.prototype.toArrayBuffer = function() {
if ("undefined" != typeof Uint8Array) {
if (i.TYPED_ARRAY_SUPPORT) return new i(this).buffer;
for (var e = new Uint8Array(this.length), t = 0, n = e.length; n > t; t += 1) e[t] = this[t];
return e.buffer
}
throw new TypeError("Buffer.toArrayBuffer not supported in this browser")
};
var Z = i.prototype;
i._augment = function(e) {
return e.constructor = i, e._isBuffer = !0, e._set = e.set, e.get = Z.get, e.set = Z.set, e.write = Z.write, e.toString = Z.toString, e.toLocaleString = Z.toString, e.toJSON = Z.toJSON, e.equals = Z.equals, e.compare = Z.compare, e.indexOf = Z.indexOf, e.copy = Z.copy, e.slice = Z.slice, e.readUIntLE = Z.readUIntLE, e.readUIntBE = Z.readUIntBE, e.readUInt8 = Z.readUInt8, e.readUInt16LE = Z.readUInt16LE, e.readUInt16BE = Z.readUInt16BE, e.readUInt32LE = Z.readUInt32LE, e.readUInt32BE = Z.readUInt32BE, e.readIntLE = Z.readIntLE, e.readIntBE = Z.readIntBE, e.readInt8 = Z.readInt8, e.readInt16LE = Z.readInt16LE, e.readInt16BE = Z.readInt16BE, e.readInt32LE = Z.readInt32LE, e.readInt32BE = Z.readInt32BE, e.readFloatLE = Z.readFloatLE, e.readFloatBE = Z.readFloatBE, e.readDoubleLE = Z.readDoubleLE, e.readDoubleBE = Z.readDoubleBE, e.writeUInt8 = Z.writeUInt8, e.writeUIntLE = Z.writeUIntLE, e.writeUIntBE = Z.writeUIntBE, e.writeUInt16LE = Z.writeUInt16LE, e.writeUInt16BE = Z.writeUInt16BE, e.writeUInt32LE = Z.writeUInt32LE, e.writeUInt32BE = Z.writeUInt32BE, e.writeIntLE = Z.writeIntLE, e.writeIntBE = Z.writeIntBE, e.writeInt8 = Z.writeInt8, e.writeInt16LE = Z.writeInt16LE, e.writeInt16BE = Z.writeInt16BE, e.writeInt32LE = Z.writeInt32LE, e.writeInt32BE = Z.writeInt32BE, e.writeFloatLE = Z.writeFloatLE, e.writeFloatBE = Z.writeFloatBE, e.writeDoubleLE = Z.writeDoubleLE, e.writeDoubleBE = Z.writeDoubleBE, e.fill = Z.fill, e.inspect = Z.inspect, e.toArrayBuffer = Z.toArrayBuffer, e
};
var et = /[^+\/0-9A-Za-z-_]/g
}).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {})
}, {
"base64-js": 4,
ieee754: 5,
isarray: 6
}],
4: [function(e, t, n) {
var r = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
! function(e) {
"use strict";
function t(e) {
var t = e.charCodeAt(0);
return t === a || t === d ? 62 : t === s || t === p ? 63 : u > t ? -1 : u + 10 > t ? t - u + 26 + 26 : c + 26 > t ? t - c : l + 26 > t ? t - l + 26 : void 0
}
function n(e) {
function n(e) {
l[d++] = e
}
var r, o, a, s, u, l;
if (e.length % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4");
var c = e.length;
u = "=" === e.charAt(c - 2) ? 2 : "=" === e.charAt(c - 1) ? 1 : 0, l = new i(3 * e.length / 4 - u), a = u > 0 ? e.length - 4 : e.length;
var d = 0;
for (r = 0, o = 0; a > r; r += 4, o += 3) s = t(e.charAt(r)) << 18 | t(e.charAt(r + 1)) << 12 | t(e.charAt(r + 2)) << 6 | t(e.charAt(r + 3)), n((16711680 & s) >> 16), n((65280 & s) >> 8), n(255 & s);
return 2 === u ? (s = t(e.charAt(r)) << 2 | t(e.charAt(r + 1)) >> 4, n(255 & s)) : 1 === u && (s = t(e.charAt(r)) << 10 | t(e.charAt(r + 1)) << 4 | t(e.charAt(r + 2)) >> 2, n(s >> 8 & 255), n(255 & s)), l
}
function o(e) {
function t(e) {
return r.charAt(e)
}
function n(e) {
return t(e >> 18 & 63) + t(e >> 12 & 63) + t(e >> 6 & 63) + t(63 & e)
}
var o, i, a, s = e.length % 3,
u = "";
for (o = 0, a = e.length - s; a > o; o += 3) i = (e[o] << 16) + (e[o + 1] << 8) + e[o + 2], u += n(i);
switch (s) {
case 1:
i = e[e.length - 1], u += t(i >> 2), u += t(i << 4 & 63), u += "==";
break;
case 2:
i = (e[e.length - 2] << 8) + e[e.length - 1], u += t(i >> 10), u += t(i >> 4 & 63), u += t(i << 2 & 63), u += "="
}
return u
}
var i = "undefined" != typeof Uint8Array ? Uint8Array : Array,
a = "+".charCodeAt(0),
s = "/".charCodeAt(0),
u = "0".charCodeAt(0),
l = "a".charCodeAt(0),
c = "A".charCodeAt(0),
d = "-".charCodeAt(0),
p = "_".charCodeAt(0);
e.toByteArray = n, e.fromByteArray = o
}("undefined" == typeof n ? this.base64js = {} : n)
}, {}],
5: [function(e, t, n) {
n.read = function(e, t, n, r, o) {
var i, a, s = 8 * o - r - 1,
u = (1 << s) - 1,
l = u >> 1,
c = -7,
d = n ? o - 1 : 0,
p = n ? -1 : 1,
f = e[t + d];
for (d += p, i = f & (1 << -c) - 1, f >>= -c, c += s; c > 0; i = 256 * i + e[t + d], d += p, c -= 8);
for (a = i & (1 << -c) - 1, i >>= -c, c += r; c > 0; a = 256 * a + e[t + d], d += p, c -= 8);
if (0 === i) i = 1 - l;
else {
if (i === u) return a ? 0 / 0 : (f ? -1 : 1) * (1 / 0);
a += Math.pow(2, r), i -= l
}
return (f ? -1 : 1) * a * Math.pow(2, i - r)
}, n.write = function(e, t, n, r, o, i) {
var a, s, u, l = 8 * i - o - 1,
c = (1 << l) - 1,
d = c >> 1,
p = 23 === o ? Math.pow(2, -24) - Math.pow(2, -77) : 0,
f = r ? 0 : i - 1,
h = r ? 1 : -1,
m = 0 > t || 0 === t && 0 > 1 / t ? 1 : 0;
for (t = Math.abs(t), isNaN(t) || t === 1 / 0 ? (s = isNaN(t) ? 1 : 0, a = c) : (a = Math.floor(Math.log(t) / Math.LN2), t * (u = Math.pow(2, -a)) < 1 && (a--, u *= 2), t += a + d >= 1 ? p / u : p * Math.pow(2, 1 - d), t * u >= 2 && (a++, u /= 2), a + d >= c ? (s = 0, a = c) : a + d >= 1 ? (s = (t * u - 1) * Math.pow(2, o), a += d) : (s = t * Math.pow(2, d - 1) * Math.pow(2, o), a = 0)); o >= 8; e[n + f] = 255 & s, f += h, s /= 256, o -= 8);
for (a = a << o | s, l += o; l > 0; e[n + f] = 255 & a, f += h, a /= 256, l -= 8);
e[n + f - h] |= 128 * m
}
}, {}],
6: [function(e, t) {
var n = {}.toString;
t.exports = Array.isArray || function(e) {
return "[object Array]" == n.call(e)
}
}, {}],
7: [function(e, t) {
function n() {
this._events = this._events || {}, this._maxListeners = this._maxListeners || void 0
}
function r(e) {
return "function" == typeof e
}
function o(e) {
return "number" == typeof e
}
function i(e) {
return "object" == typeof e && null !== e
}
function a(e) {
return void 0 === e
}
t.exports = n, n.EventEmitter = n, n.prototype._events = void 0, n.prototype._maxListeners = void 0, n.defaultMaxListeners = 10, n.prototype.setMaxListeners = function(e) {
if (!o(e) || 0 > e || isNaN(e)) throw TypeError("n must be a positive number");
return this._maxListeners = e, this
}, n.prototype.emit = function(e) {
var t, n, o, s, u, l;
if (this._events || (this._events = {}), "error" === e && (!this._events.error || i(this._events.error) && !this._events.error.length)) {
if (t = arguments[1], t instanceof Error) throw t;
throw TypeError('Uncaught, unspecified "error" event.')
}
if (n = this._events[e], a(n)) return !1;
if (r(n)) switch (arguments.length) {
case 1:
n.call(this);
break;
case 2:
n.call(this, arguments[1]);
break;
case 3:
n.call(this, arguments[1], arguments[2]);
break;
default:
s = Array.prototype.slice.call(arguments, 1), n.apply(this, s)
} else if (i(n))
for (s = Array.prototype.slice.call(arguments, 1), l = n.slice(), o = l.length, u = 0; o > u; u++) l[u].apply(this, s);
return !0
}, n.prototype.addListener = function(e, t) {
var o;
if (!r(t)) throw TypeError("listener must be a function");
return this._events || (this._events = {}), this._events.newListener && this.emit("newListener", e, r(t.listener) ? t.listener : t), this._events[e] ? i(this._events[e]) ? this._events[e].push(t) : this._events[e] = [this._events[e], t] : this._events[e] = t, i(this._events[e]) && !this._events[e].warned && (o = a(this._maxListeners) ? n.defaultMaxListeners : this._maxListeners, o && o > 0 && this._events[e].length > o && (this._events[e].warned = !0, console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.", this._events[e].length), "function" == typeof console.trace && console.trace())), this
}, n.prototype.on = n.prototype.addListener, n.prototype.once = function(e, t) {
function n() {
this.removeListener(e, n), o || (o = !0, t.apply(this, arguments))
}
if (!r(t)) throw TypeError("listener must be a function");
var o = !1;
return n.listener = t, this.on(e, n), this
}, n.prototype.removeListener = function(e, t) {
var n, o, a, s;
if (!r(t)) throw TypeError("listener must be a function");
if (!this._events || !this._events[e]) return this;
if (n = this._events[e], a = n.length, o = -1, n === t || r(n.listener) && n.listener === t) delete this._events[e], this._events.removeListener && this.emit("removeListener", e, t);
else if (i(n)) {
for (s = a; s-- > 0;)
if (n[s] === t || n[s].listener && n[s].listener === t) {
o = s;
break
}
if (0 > o) return this;
1 === n.length ? (n.length = 0, delete this._events[e]) : n.splice(o, 1), this._events.removeListener && this.emit("removeListener", e, t)
}
return this
}, n.prototype.removeAllListeners = function(e) {
var t, n;
if (!this._events) return this;
if (!this._events.removeListener) return 0 === arguments.length ? this._events = {} : this._events[e] && delete this._events[e], this;
if (0 === arguments.length) {
for (t in this._events) "removeListener" !== t && this.removeAllListeners(t);
return this.removeAllListeners("removeListener"), this._events = {}, this
}
if (n = this._events[e], r(n)) this.removeListener(e, n);
else if (n)
for (; n.length;) this.removeListener(e, n[n.length - 1]);
return delete this._events[e], this
}, n.prototype.listeners = function(e) {
var t;
return t = this._events && this._events[e] ? r(this._events[e]) ? [this._events[e]] : this._events[e].slice() : []
}, n.prototype.listenerCount = function(e) {
if (this._events) {
var t = this._events[e];
if (r(t)) return 1;
if (t) return t.length
}
return 0
}, n.listenerCount = function(e, t) {
return e.listenerCount(t)
}
}, {}],
8: [function(e, t) {
t.exports = "function" == typeof Object.create ? function(e, t) {
e.super_ = t, e.prototype = Object.create(t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
})
} : function(e, t) {
e.super_ = t;
var n = function() {};
n.prototype = t.prototype, e.prototype = new n, e.prototype.constructor = e
}
}, {}],
9: [function(e, t) {
function n() {
l = !1, a.length ? u = a.concat(u) : c = -1, u.length && r()
}
function r() {
if (!l) {
var e = setTimeout(n);
l = !0;
for (var t = u.length; t;) {
for (a = u, u = []; ++c < t;) a && a[c].run();
c = -1, t = u.length
}
a = null, l = !1, clearTimeout(e)
}
}
function o(e, t) {
this.fun = e, this.array = t
}
function i() {}
var a, s = t.exports = {},
u = [],
l = !1,
c = -1;
s.nextTick = function(e) {
var t = new Array(arguments.length - 1);
if (arguments.length > 1)
for (var n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
u.push(new o(e, t)), 1 !== u.length || l || setTimeout(r, 0)
}, o.prototype.run = function() {
this.fun.apply(null, this.array)
}, s.title = "browser", s.browser = !0, s.env = {}, s.argv = [], s.version = "", s.versions = {}, s.on = i, s.addListener = i, s.once = i, s.off = i, s.removeListener = i, s.removeAllListeners = i, s.emit = i, s.binding = function() {
throw new Error("process.binding is not supported")
}, s.cwd = function() {
return "/"
}, s.chdir = function() {
throw new Error("process.chdir is not supported")
}, s.umask = function() {
return 0
}
}, {}],
10: [function(e, t) {
t.exports = function(e) {
return e && "object" == typeof e && "function" == typeof e.copy && "function" == typeof e.fill && "function" == typeof e.readUInt8
}
}, {}],
11: [function(e, t, n) {
(function(t, r) {
function o(e, t) {
var r = {
seen: [],
stylize: a
};
return arguments.length >= 3 && (r.depth = arguments[2]), arguments.length >= 4 && (r.colors = arguments[3]), m(t) ? r.showHidden = t : t && n._extend(r, t), w(r.showHidden) && (r.showHidden = !1), w(r.depth) && (r.depth = 2), w(r.colors) && (r.colors = !1), w(r.customInspect) && (r.customInspect = !0), r.colors && (r.stylize = i), u(r, e, r.depth)
}
function i(e, t) {
var n = o.styles[t];
return n ? "[" + o.colors[n][0] + "m" + e + "[" + o.colors[n][1] + "m" : e
}
function a(e) {
return e
}
function s(e) {
var t = {};
return e.forEach(function(e) {
t[e] = !0
}), t
}
function u(e, t, r) {
if (e.customInspect && t && S(t.inspect) && t.inspect !== n.inspect && (!t.constructor || t.constructor.prototype !== t)) {
var o = t.inspect(r, e);
return b(o) || (o = u(e, o, r)), o
}
var i = l(e, t);
if (i) return i;
var a = Object.keys(t),
m = s(a);
if (e.showHidden && (a = Object.getOwnPropertyNames(t)), k(t) && (a.indexOf("message") >= 0 || a.indexOf("description") >= 0)) return c(t);
if (0 === a.length) {
if (S(t)) {
var g = t.name ? ": " + t.name : "";
return e.stylize("[Function" + g + "]", "special")
}
if (C(t)) return e.stylize(RegExp.prototype.toString.call(t), "regexp");
if (x(t)) return e.stylize(Date.prototype.toString.call(t), "date");
if (k(t)) return c(t)
}
var v = "",
y = !1,
_ = ["{", "}"];
if (h(t) && (y = !0, _ = ["[", "]"]), S(t)) {
var w = t.name ? ": " + t.name : "";
v = " [Function" + w + "]"
}
if (C(t) && (v = " " + RegExp.prototype.toString.call(t)), x(t) && (v = " " + Date.prototype.toUTCString.call(t)), k(t) && (v = " " + c(t)), 0 === a.length && (!y || 0 == t.length)) return _[0] + v + _[1];
if (0 > r) return C(t) ? e.stylize(RegExp.prototype.toString.call(t), "regexp") : e.stylize("[Object]", "special");
e.seen.push(t);
var E;
return E = y ? d(e, t, r, m, a) : a.map(function(n) {
return p(e, t, r, m, n, y)
}), e.seen.pop(), f(E, v, _)
}
function l(e, t) {
if (w(t)) return e.stylize("undefined", "undefined");
if (b(t)) {
var n = "'" + JSON.stringify(t).replace(/^"|"$/g, "").replace(/'/g, "\\'").replace(/\\"/g, '"') + "'";
return e.stylize(n, "string")
}
return y(t) ? e.stylize("" + t, "number") : m(t) ? e.stylize("" + t, "boolean") : g(t) ? e.stylize("null", "null") : void 0
}
function c(e) {
return "[" + Error.prototype.toString.call(e) + "]"
}
function d(e, t, n, r, o) {
for (var i = [], a = 0, s = t.length; s > a; ++a) i.push(R(t, String(a)) ? p(e, t, n, r, String(a), !0) : "");
return o.forEach(function(o) {
o.match(/^\d+$/) || i.push(p(e, t, n, r, o, !0))
}), i
}
function p(e, t, n, r, o, i) {
var a, s, l;
if (l = Object.getOwnPropertyDescriptor(t, o) || {
value: t[o]
}, l.get ? s = l.set ? e.stylize("[Getter/Setter]", "special") : e.stylize("[Getter]", "special") : l.set && (s = e.stylize("[Setter]", "special")), R(r, o) || (a = "[" + o + "]"), s || (e.seen.indexOf(l.value) < 0 ? (s = g(n) ? u(e, l.value, null) : u(e, l.value, n - 1), s.indexOf("\n") > -1 && (s = i ? s.split("\n").map(function(e) {
return " " + e
}).join("\n").substr(2) : "\n" + s.split("\n").map(function(e) {
return " " + e
}).join("\n"))) : s = e.stylize("[Circular]", "special")), w(a)) {
if (i && o.match(/^\d+$/)) return s;
a = JSON.stringify("" + o), a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/) ? (a = a.substr(1, a.length - 2), a = e.stylize(a, "name")) : (a = a.replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'"), a = e.stylize(a, "string"))
}
return a + ": " + s
}
function f(e, t, n) {
var r = 0,
o = e.reduce(function(e, t) {
return r++, t.indexOf("\n") >= 0 && r++, e + t.replace(/\u001b\[\d\d?m/g, "").length + 1
}, 0);
return o > 60 ? n[0] + ("" === t ? "" : t + "\n ") + " " + e.join(",\n ") + " " + n[1] : n[0] + t + " " + e.join(", ") + " " + n[1]
}
function h(e) {
return Array.isArray(e)
}
function m(e) {
return "boolean" == typeof e
}
function g(e) {
return null === e
}
function v(e) {
return null == e
}
function y(e) {
return "number" == typeof e
}
function b(e) {
return "string" == typeof e
}
function _(e) {
return "symbol" == typeof e
}
function w(e) {
return void 0 === e
}
function C(e) {
return E(e) && "[object RegExp]" === D(e)
}
function E(e) {
return "object" == typeof e && null !== e
}
function x(e) {
return E(e) && "[object Date]" === D(e)
}
function k(e) {
return E(e) && ("[object Error]" === D(e) || e instanceof Error)
}
function S(e) {
return "function" == typeof e
}
function T(e) {
return null === e || "boolean" == typeof e || "number" == typeof e || "string" == typeof e || "symbol" == typeof e || "undefined" == typeof e
}
function D(e) {
return Object.prototype.toString.call(e)
}
function N(e) {
return 10 > e ? "0" + e.toString(10) : e.toString(10)
}
function O() {
var e = new Date,
t = [N(e.getHours()), N(e.getMinutes()), N(e.getSeconds())].join(":");
return [e.getDate(), A[e.getMonth()], t].join(" ")
}
function R(e, t) {
return Object.prototype.hasOwnProperty.call(e, t)
}
var P = /%[sdj%]/g;
n.format = function(e) {
if (!b(e)) {
for (var t = [], n = 0; n < arguments.length; n++) t.push(o(arguments[n]));
return t.join(" ")
}
for (var n = 1, r = arguments, i = r.length, a = String(e).replace(P, function(e) {
if ("%%" === e) return "%";
if (n >= i) return e;
switch (e) {
case "%s":
return String(r[n++]);
case "%d":
return Number(r[n++]);
case "%j":
try {
return JSON.stringify(r[n++])
} catch (t) {
return "[Circular]"
}
default:
return e
}
}), s = r[n]; i > n; s = r[++n]) a += g(s) || !E(s) ? " " + s : " " + o(s);
return a
}, n.deprecate = function(e, o) {
function i() {
if (!a) {
if (t.throwDeprecation) throw new Error(o);
t.traceDeprecation ? console.trace(o) : console.error(o), a = !0
}
return e.apply(this, arguments)
}
if (w(r.process)) return function() {
return n.deprecate(e, o).apply(this, arguments)
};
if (t.noDeprecation === !0) return e;
var a = !1;
return i
};
var M, I = {};
n.debuglog = function(e) {
if (w(M) && (M = t.env.NODE_DEBUG || ""), e = e.toUpperCase(), !I[e])
if (new RegExp("\\b" + e + "\\b", "i").test(M)) {
var r = t.pid;
I[e] = function() {
var t = n.format.apply(n, arguments);
console.error("%s %d: %s", e, r, t)
}
} else I[e] = function() {};
return I[e]
}, n.inspect = o, o.colors = {
bold: [1, 22],
italic: [3, 23],
underline: [4, 24],
inverse: [7, 27],
white: [37, 39],
grey: [90, 39],
black: [30, 39],
blue: [34, 39],
cyan: [36, 39],
green: [32, 39],
magenta: [35, 39],
red: [31, 39],
yellow: [33, 39]
}, o.styles = {
special: "cyan",
number: "yellow",
"boolean": "yellow",
undefined: "grey",
"null": "bold",
string: "green",
date: "magenta",
regexp: "red"
}, n.isArray = h, n.isBoolean = m, n.isNull = g, n.isNullOrUndefined = v, n.isNumber = y, n.isString = b, n.isSymbol = _, n.isUndefined = w, n.isRegExp = C, n.isObject = E, n.isDate = x, n.isError = k, n.isFunction = S, n.isPrimitive = T, n.isBuffer = e("./support/isBuffer");
var A = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
n.log = function() {
console.log("%s - %s", O(), n.format.apply(n, arguments))
}, n.inherits = e("inherits"), n._extend = function(e, t) {
if (!t || !E(t)) return e;
for (var n = Object.keys(t), r = n.length; r--;) e[n[r]] = t[n[r]];
return e
}
}).call(this, e("_process"), "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {})
}, {
"./support/isBuffer": 10,
_process: 9,
inherits: 8
}],
12: [function(e, t) {
(function(n, r) {
(function() {
"use strict";
function o(e) {
return "function" == typeof e || "object" == typeof e && null !== e
}
function i(e) {
return "function" == typeof e
}
function a(e) {
$ = e
}
function s(e) {
G = e
}
function u() {
return function() {
n.nextTick(f)
}
}
function l() {
return function() {
q(f)
}
}
function c() {
var e = 0,
t = new X(f),
n = document.createTextNode("");
return t.observe(n, {
characterData: !0
}),
function() {
n.data = e = ++e % 2
}
}
function d() {
var e = new MessageChannel;
return e.port1.onmessage = f,
function() {
e.port2.postMessage(0)
}
}
function p() {
return function() {
setTimeout(f, 1)
}
}
function f() {
for (var e = 0; K > e; e += 2) {
var t = tt[e],
n = tt[e + 1];
t(n), tt[e] = void 0, tt[e + 1] = void 0
}
K = 0
}
function h() {
try {
var t = e,
n = t("vertx");
return q = n.runOnLoop || n.runOnContext, l()
} catch (r) {
return p()
}
}
function m(e, t) {
var n = this,
r = n._state;
if (r === it && !e || r === at && !t) return this;
var o = new this.constructor(v),
i = n._result;
if (r) {
var a = arguments[r - 1];
G(function() {
M(r, o, a, i)
})
} else N(n, o, e, t);
return o
}
function g(e) {
var t = this;
if (e && "object" == typeof e && e.constructor === t) return e;
var n = new t(v);
return k(n, e), n
}
function v() {}
function y() {
return new TypeError("You cannot resolve a promise with itself")
}
function b() {
return new TypeError("A promises callback cannot return that same promise.")
}
function _(e) {
try {
return e.then
} catch (t) {
return st.error = t, st
}
}
function w(e, t, n, r) {
try {
e.call(t, n, r)
} catch (o) {
return o
}
}
function C(e, t, n) {
G(function(e) {
var r = !1,
o = w(n, t, function(n) {
r || (r = !0, t !== n ? k(e, n) : T(e, n))
}, function(t) {
r || (r = !0, D(e, t))
}, "Settle: " + (e._label || " unknown promise"));
!r && o && (r = !0, D(e, o))
}, e)
}
function E(e, t) {
t._state === it ? T(e, t._result) : t._state === at ? D(e, t._result) : N(t, void 0, function(t) {
k(e, t)
}, function(t) {
D(e, t)
})
}
function x(e, t, n) {
t.constructor === e.constructor && n === nt && constructor.resolve === rt ? E(e, t) : n === st ? D(e, st.error) : void 0 === n ? T(e, t) : i(n) ? C(e, t, n) : T(e, t)
}
function k(e, t) {
e === t ? D(e, y()) : o(t) ? x(e, t, _(t)) : T(e, t)
}
function S(e) {
e._onerror && e._onerror(e._result), O(e)
}
function T(e, t) {
e._state === ot && (e._result = t, e._state = it, 0 !== e._subscribers.length && G(O, e))
}
function D(e, t) {
e._state === ot && (e._state = at, e._result = t, G(S, e))
}
function N(e, t, n, r) {
var o = e._subscribers,
i = o.length;
e._onerror = null, o[i] = t, o[i + it] = n, o[i + at] = r, 0 === i && e._state && G(O, e)
}
function O(e) {
var t = e._subscribers,
n = e._state;
if (0 !== t.length) {
for (var r, o, i = e._result, a = 0; a < t.length; a += 3) r = t[a], o = t[a + n], r ? M(n, r, o, i) : o(i);
e._subscribers.length = 0
}
}
function R() {
this.error = null
}
function P(e, t) {
try {
return e(t)
} catch (n) {
return ut.error = n, ut
}
}
function M(e, t, n, r) {
var o, a, s, u, l = i(n);
if (l) {
if (o = P(n, r), o === ut ? (u = !0, a = o.error, o = null) : s = !0, t === o) return void D(t, b())
} else o = r, s = !0;
t._state !== ot || (l && s ? k(t, o) : u ? D(t, a) : e === it ? T(t, o) : e === at && D(t, o))
}
function I(e, t) {
try {
t(function(t) {
k(e, t)
}, function(t) {
D(e, t)
})
} catch (n) {
D(e, n)
}
}
function A(e) {
return new ht(this, e).promise
}
function j(e) {
function t(e) {
k(o, e)
}
function n(e) {
D(o, e)
}
var r = this,
o = new r(v);
if (!Y(e)) return D(o, new TypeError("You must pass an array to race.")), o;
for (var i = e.length, a = 0; o._state === ot && i > a; a++) N(r.resolve(e[a]), void 0, t, n);
return o
}
function L(e) {
var t = this,
n = new t(v);
return D(n, e), n
}
function U() {
throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")
}
function F() {
throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")
}
function B(e) {
this._id = pt++, this._state = void 0, this._result = void 0, this._subscribers = [], v !== e && ("function" != typeof e && U(), this instanceof B ? I(this, e) : F())
}
function V(e, t) {
this._instanceConstructor = e, this.promise = new e(v), Array.isArray(t) ? (this._input = t, this.length = t.length, this._remaining = t.length, this._result = new Array(this.length), 0 === this.length ? T(this.promise, this._result) : (this.length = this.length || 0, this._enumerate(), 0 === this._remaining && T(this.promise, this._result))) : D(this.promise, this._validationError())
}
function H() {
var e;
if ("undefined" != typeof r) e = r;
else if ("undefined" != typeof self) e = self;
else try {
e = Function("return this")()
} catch (t) {
throw new Error("polyfill failed because global object is unavailable in this environment")
}
var n = e.Promise;
n && "[object Promise]" === Object.prototype.toString.call(n.resolve()) && !n.cast || (e.Promise = ft)
}
var W;
W = Array.isArray ? Array.isArray : function(e) {
return "[object Array]" === Object.prototype.toString.call(e)
};
var q, $, z, Y = W,
K = 0,
G = function(e, t) {
tt[K] = e, tt[K + 1] = t, K += 2, 2 === K && ($ ? $(f) : z())
},
Q = "undefined" != typeof window ? window : void 0,
J = Q || {},
X = J.MutationObserver || J.WebKitMutationObserver,
Z = "undefined" != typeof n && "[object process]" === {}.toString.call(n),
et = "undefined" != typeof Uint8ClampedArray && "undefined" != typeof importScripts && "undefined" != typeof MessageChannel,
tt = new Array(1e3);
z = Z ? u() : X ? c() : et ? d() : void 0 === Q && "function" == typeof e ? h() : p();
var nt = m,
rt = g,
ot = void 0,
it = 1,
at = 2,
st = new R,
ut = new R,
lt = A,
ct = j,
dt = L,
pt = 0,
ft = B;
B.all = lt, B.race = ct, B.resolve = rt, B.reject = dt, B._setScheduler = a, B._setAsap = s, B._asap = G, B.prototype = {
constructor: B,
then: nt,
"catch": function(e) {
return this.then(null, e)
}
};
var ht = V;
V.prototype._validationError = function() {
return new Error("Array Methods must be provided an Array")
}, V.prototype._enumerate = function() {
for (var e = this.length, t = this._input, n = 0; this._state === ot && e > n; n++) this._eachEntry(t[n], n)
}, V.prototype._eachEntry = function(e, t) {
var n = this._instanceConstructor,
r = n.resolve;
if (r === rt) {
var o = _(e);
if (o === nt && e._state !== ot) this._settledAt(e._state, t, e._result);
else if ("function" != typeof o) this._remaining--, this._result[t] = e;
else if (n === ft) {
var i = new n(v);
x(i, e, o), this._willSettleAt(i, t)
} else this._willSettleAt(new n(function(t) {
t(e)
}), t)
} else this._willSettleAt(r(e), t)
}, V.prototype._settledAt = function(e, t, n) {
var r = this.promise;
r._state === ot && (this._remaining--, e === at ? D(r, n) : this._result[t] = n), 0 === this._remaining && T(r, this._result)
}, V.prototype._willSettleAt = function(e, t) {
var n = this;
N(e, void 0, function(e) {
n._settledAt(it, t, e)
}, function(e) {
n._settledAt(at, t, e)
})
};
var mt = H,
gt = {
Promise: ft,
polyfill: mt
};
"function" == typeof define && define.amd ? define(function() {
return gt
}) : "undefined" != typeof t && t.exports ? t.exports = gt : "undefined" != typeof this && (this.ES6Promise = gt), mt()
}).call(this)
}).call(this, e("_process"), "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {})
}, {
_process: 9
}]
}, {}, [2]);
return t(e)
}();
if ("function" == typeof define && define.amd) define([], function() {
return t
});
else {
var n = e.Twilio = e.Twilio || {};
for (var r in t) n[r] = t[r]
}
}("undefined" != typeof window ? window : "undefined" != typeof global ? global : this),
/* twilio-ip-messaging.js 0.10.10
The following license applies to all parts of this software except as
documented below.
Copyright (c) 2016, Twilio, inc.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. Neither the name of Twilio nor the names of its contributors may
be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This software includes javascript-state-machine under the following license.
Copyright (c) 2012, 2013, 2014, 2015, Jake Gordon and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
This software includes durational under the following license.
Copyright (c) 2014 Micheil Smith
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
This software includes loglevel under the following license.
Copyright (c) 2013 Tim Perry
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
This software includes q under the following license.
Copyright 2009–2014 Kristopher Michael Kowal. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
This software includes platform.js under the following license.
Copyright 2014 Benjamin Tan <https://d10.github.io/>
Copyright 2011-2015 John-David Dalton <http://allyoucanleet.com/>
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
function e(t, n, r) {
function o(a, s) {
if (!n[a]) {
if (!t[a]) {
var u = "function" == typeof require && require;
if (!s && u) return u(a, !0);
if (i) return i(a, !0);
var l = new Error("Cannot find module '" + a + "'");
throw l.code = "MODULE_NOT_FOUND", l
}
var c = n[a] = {
exports: {}
};
t[a][0].call(c.exports, function(e) {
var n = t[a][1][e];
return o(n ? n : e)
}, c, c.exports, e, t, n, r)
}
return n[a].exports
}
for (var i = "function" == typeof require && require, a = 0; a < r.length; a++) o(r[a]);
return o
}({
1: [function(require, module, exports) {
(function(global) {
! function(e) {
if ("object" == typeof exports && "undefined" != typeof module) module.exports = e();
else if ("function" == typeof define && define.amd) define([], e);
else {
var t;
t = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this, (t.Twilio || (t.Twilio = {})).IPMessaging = e()
}
}(function() {
var define, module, exports;
return function e(t, n, r) {
function o(a, s) {
if (!n[a]) {
if (!t[a]) {
var u = "function" == typeof require && require;
if (!s && u) return u(a, !0);
if (i) return i(a, !0);
var l = new Error("Cannot find module '" + a + "'");
throw l.code = "MODULE_NOT_FOUND", l
}
var c = n[a] = {
exports: {}
};
t[a][0].call(c.exports, function(e) {
var n = t[a][1][e];
return o(n ? n : e)
}, c, c.exports, e, t, n, r)
}
return n[a].exports
}
for (var i = "function" == typeof require && require, a = 0; a < r.length; a++) o(r[a]);
return o
}({
1: [function(e, t) {
"use strict";
function n(e) {
return e && e.__esModule ? e : {
"default": e
}
}
function r(e, t, n, r) {
var o = this,
i = new l(e, r),
a = new p(i, n),
u = new c(i, a);
s["default"](this, {
_notification: {
value: t
},
_config: {
value: i
},
_network: {
value: a
},
_subscriptions: {
value: u
},
_router: {
value: new d({
config: i,
subscriptions: u
})
}
}), t.subscribe(g), t.subscribe(v), t.subscribe(y), t.on("message", this._router.onMessage.bind(this._router)), t.on("transportReady", function(e) {
e && o._router.onConnected()
})
}
var o = e("babel-runtime/core-js/object/freeze"),
i = n(o),
a = e("babel-runtime/core-js/object/define-properties"),
s = n(a),
u = e("loglevel"),
l = e("./configuration.js"),
c = e("./subscriptions.js"),
d = e("./router.js"),
p = e("./network.js"),
f = e("./dataentity.js"),
h = e("./datastream.js"),
m = e("./datamap.js"),
g = "com.twilio.rtd.cds.entity",
v = "com.twilio.rtd.cds.stream",
y = "com.twilio.rtd.cds.map";
r.prototype._getDependencies = function() {
return {
config: this._config,
datasync: this,
network: this._network,
router: this._router
}
}, r.prototype.createEntity = function(e, t) {
var n = this,
r = {
data: e
};
return "undefined" != typeof t && (r.purpose = t), this._network.post(this._config.entitiesUri, r).then(function(e) {
return u.debug("DSS I: entity created: ", e), new f(n._getDependencies(), e.body)
})
}, r.prototype.openEntity = function(e, t) {
var n = this;
return t && (e += "?subscribe=true"), this._network.get(e).then(function(e) {
if (e.body.hasOwnProperty("type")) throw new Error("Unexpected data type: " + e.body.type + " when entity was expected");
var t = new f(n._getDependencies(), e.body);
return e.body.subscriptionId && n._subscriptions.add(t.uri, t, e.body.subscriptionId), t
})
}, r.prototype.createStream = function(e, t) {
var n = this,
r = {};
return "undefined" != typeof e && (r.purpose = e), "undefined" != typeof t && (r.context = t), this._network.post(this._config.streamsUri, r).then(function(e) {
return u.debug("DSS I: data stream created: ", e), new h(n._getDependencies(), e.body)
})
}, r.prototype.openStream = function(e, t) {
var n = this;
return t && (e += "?subscribe=true"), this._network.get(e).then(function(e) {
if ("stream" !== e.body.type) throw new Error("Unexpected data type: " + e.body.type);
u.debug("DSS I: data stream opened: ", e);
var t = new h(n._getDependencies(), e.body);
return e.body.subscriptionId && n._subscriptions.add(t.uri, t, e.body.subscriptionId), t
})
}, r.prototype.createMap = function(e, t) {
var n = this,
r = {};
return "undefined" != typeof e && (r.purpose = e), "undefined" != typeof t && (r.context = t), this._network.post(this._config.mapsUri, r).then(function(e) {
return new m(n._getDependencies(), e.body)
})
}, r.prototype.openMap = function(e, t) {
var n = this;
return t && (e += "?subscribe=true"), this._network.get(e).then(function(e) {
if ("map" !== e.body.type) throw new Error("Unexpected data type: " + e.body.type);
var t = new m(n._getDependencies(), e.body);
return e.body.subscriptionId && n._subscriptions.add(t.uri, t, e.body.subscriptionId), t
})
}, r.prototype.setAuthToken = function(e) {
u.info("DSS I: authTokenUpdated"), this._config.updateToken(e)
}, i["default"](r), t.exports = r
}, {
"./configuration.js": 3,
"./dataentity.js": 4,
"./datamap.js": 5,
"./datastream.js": 6,
"./network.js": 8,
"./router.js": 9,
"./subscriptions.js": 10,
"babel-runtime/core-js/object/define-properties": 33,
"babel-runtime/core-js/object/freeze": 34,
loglevel: 192
}],
2: [function(e, t) {
"use strict";
function n(e) {
return e && e.__esModule ? e : {
"default": e
}
}
function r(e) {
var t = this;
s["default"](this, {
_id: {
value: e.id,
writable: !1
},
_uri: {
value: e.uri,
writable: !1
},
_value: {
value: e.value,
writable: !0
},
id: {
enumerable: !0,
get: function() {
return t._id
}
},
uri: {
enumerable: !0,
get: function() {
return t._uri
}
},
value: {
enumerable: !0,
get: function() {
return t._value
}
}
})
}
var o = e("babel-runtime/core-js/object/freeze"),
i = n(o),
a = e("babel-runtime/core-js/object/define-properties"),
s = n(a);
r.prototype._update = function(e) {
this._value = e.value
}, i["default"](r), t.exports = r
}, {
"babel-runtime/core-js/object/define-properties": 33,
"babel-runtime/core-js/object/freeze": 34
}],
3: [function(e, t) {
"use strict";
function n(e) {
return e && e.__esModule ? e : {
"default": e
}
}
function r(e, t) {
var n = this;
t = (t || {}).DataSync || {};
var r = t.cdsUri || a,
o = {
subscriptionsUri: r + s,
entitiesUri: r + u,
streamsUri: r + l,
mapsUri: r + c
};
i["default"](this, {
_token: {
value: e,
writable: !0
},
token: {
enumerable: !0,
get: function() {
return n._token
}
},
subscriptionsUri: {
enumerable: !0,
get: function() {
return o.subscriptionsUri
}
},
entitiesUri: {
enumerable: !0,
get: function() {
return o.entitiesUri
}
},
streamsUri: {
enumerable: !0,
get: function() {
return o.streamsUri
}
},
mapsUri: {
enumerable: !0,
get: function() {
return o.mapsUri
}
}
})
}
var o = e("babel-runtime/core-js/object/define-properties"),
i = n(o),
a = "https://cds.twilio.com",
s = "/v1/subscriptions",
u = "/v2/Maps",
l = "/v2/Streams",
c = "/v2/Entities";
r.prototype.updateToken = function(e) {
this._token = e
}, t.exports = r
}, {
"babel-runtime/core-js/object/define-properties": 33
}],
4: [function(e, t) {
"use strict";
function n(e) {
return e && e.__esModule ? e : {
"default": e
}
}
function r(e, t) {
var n = this;
d["default"](this, {
_config: {
value: e.config
},
_datasync: {
value: e.datasync
},
_network: {
value: e.network
},
_router: {
value: e.router
},
_pendingListeners: {
value: {}
},
_isSynced: {
value: !0,
writable: !0
},
_links: {
value: t.links
},
_entityId: {
value: t.entity_id
},
_revision: {
value: t.entity_revision,
writable: !0
},
_data: {
value: t.data,
writable: !0
},
uri: {
enumerable: !0,
get: function() {
return n._links.entity
}
},
id: {
enumerable: !0,
get: function() {
return n._entityId
}
},
revision: {
enumerable: !0,
get: function() {
return n._revision
}
}
}), p.call(this), this._initialize()
}
var o = e("babel-runtime/core-js/object/freeze"),
i = n(o),
a = e("babel-runtime/helpers/typeof"),
s = n(a),
u = e("babel-runtime/core-js/promise"),
l = n(u),
c = e("babel-runtime/core-js/object/define-properties"),
d = n(c),
p = e("events").EventEmitter,
f = e("util").inherits,
h = e("../../util/jsondiff"),
m = e("loglevel");
f(r, p), r.prototype._initialize = function() {
var e = this;
["keyAdded", "keyRemoved", "keyUpdated"].forEach(function(t) {
e._pendingListeners[t] = {}, e.on(t, function(n, r) {
var o = e._pendingListeners[t][n] || [];
o.forEach(function(e) {
e(r)
}), e._pendingListeners[t][n] = []
})
})
}, r.prototype._update = function(e) {
switch (e.type) {
case "entity_update":
var t = this._data;
this._revision = e.entity_revision, this._data = e.data, this._traverse(t, e.data), this.emit("updated", e.data);
break;
case "entity_delete":
this.emit("deleted")
}
}, r.prototype._traverse = function(e, t) {
var n = this,
r = h.diff(e, t);
r.forEach(function(e) {
"add" === e.op ? n.emit("keyAdded", e.path, e.value) : "replace" === e.op ? n.emit("keyUpdated", e.path, e.value) : "remove" === e.op && n.emit("keyRemoved", e.path)
})
}, r.prototype._resolveConflict = function(e) {
var t = this;
return e && "function" == typeof e ? new l["default"](function(n, r) {
var o = t._revision,
i = t._data,
a = function(e) {
this._revision = o, this._data = i, r(e)
}.bind(t);
t.forceSync().then(function() {
e({
localData: i,
remoteData: t._data,
resolve: n,
reject: a
})
})
}) : l["default"].reject(new Error("Can't resolve conflict"))
}, r.prototype.subscribe = function() {
return this._router.subscribe(this.uri, this)
}, r.prototype.unsubscribe = function() {
return this._router.unsubscribe(this.uri, this)
}, r.prototype.getData = function() {
return this._data
}, r.prototype.setData = function(e) {
this._data = e, this._isSynced = !1
}, r.prototype._pushChangesInternal = function(e, t) {
var n = this;
return this._network.put(this.uri, {
data: this._data
}, this._revision).then(function(t) {
var r = t.body.entity_revision;
m.debug("DSS: entity updated: ", t, " new revision is: ", r), e(t), n._router.emulateUpdate(n, n.uri, {
revision: r,
data: n._data
})
})["catch"](t)
}, r.prototype.pushChanges = function(e) {
var t = this;
return new l["default"](function(n, r) {
function o(t) {
412 === t.status ? (m.info("DSS I: version conflict detected!"), a._resolveConflict(e).then(i)["catch"](r)) : (m.error("DSS E: failed to push local changes to server: ", t), r(t))
}
function i(e) {
a.setData(e), setTimeout(function() {
return a._pushChangesInternal(n, o)
}, 0)
}
var a = t;
t._pushChangesInternal(n, o)
})
}, r.prototype.softSync = function() {
var e = this;
return this._network.get(this.uri).then(function(t) {
var n = t.body.entity_revision,
r = t.body.data;
return e._update({
entity_revision: n,
type: "entity_update",
data: r
}), e
})
}, r.prototype.forceSync = function() {
var e = this;
return this._network.get(this.uri).then(function(t) {
return e._revision = t.body.entity_revision, e._data = t.body.data, e
})["catch"](function(e) {
m.error("DSS E: failed to get entity: ", e)
})
}, r.prototype.addEventHandler = function(e, t, n) {
var r = this._pendingListeners[e][t] || [];
r.push(n), this._pendingListeners[e][t] = r
}, r.prototype.value = function(e) {
var t = void 0;
try {
var n = e.replace(/^\/|\/$/gm, "").split("/"),
r = this.getData();
n.forEach(function(e) {
r = r[e]
}), t = r
} catch (o) {
m.warn("DSS W: failed to get value by path:", o)
}
return t
}, r.prototype.update = function(e, t) {
for (var n = e.replace(/^\/|\/$/gm, "").split("/").filter(function(e) {
return "" !== e
}), r = !0, o = this.getData(), i = 0; i < n.length; ++i)
if (o = o[n[i]], "undefined" == typeof o) {
r = !1;
break
}
if (r) {
if (("undefined" == typeof o ? "undefined" : s["default"](o)) !== ("undefined" == typeof t ? "undefined" : s["default"](t))) return m.error("Can't have different type when updating the value!"), !1;
switch ("undefined" == typeof t ? "undefined" : s["default"](t)) {
case "object":
for (var a in t) o[a] = t[a];
break;
default:
o = t
}
return this._isSynced = !1, !0
}
return !1
}, i["default"](r), t.exports = r
}, {
"../../util/jsondiff": 28,
"babel-runtime/core-js/object/define-properties": 33,
"babel-runtime/core-js/object/freeze": 34,
"babel-runtime/core-js/promise": 36,
"babel-runtime/helpers/typeof": 40,
events: 164,
loglevel: 192,
util: 236
}],
5: [function(e, t) {
"use strict";
function n(e) {
return e && e.__esModule ? e : {
"default": e
}
}
function r(e, t) {
var n = this,
r = {
ensured: !1
};
d["default"](this, {
_deps: {
value: e
},
_descriptor: {
value: t
},
_cacheState: {
value: r
},
_links: {
get: function() {
return n._descriptor.links
}
},
_revision: {
value: t.revision,
writable: !0
},
_context: {
writable: !0
},
_entities: {
value: new l["default"]
},
uri: {
enumerable: !0,
get: function() {
return n._descriptor.links.collection
}
},
entitiesUri: {
enumerable: !0,
get: function() {
return n._descriptor.links.entities
}
},
revision: {
enumerable: !0,
get: function() {
return n._revision
}
}
}), p.call(this)
}
var o = e("babel-runtime/core-js/object/freeze"),
i = n(o),
a = e("babel-runtime/core-js/promise"),
s = n(a),
u = e("babel-runtime/core-js/map"),
l = n(u),
c = e("babel-runtime/core-js/object/define-properties"),
d = n(c),
p = e("events").EventEmitter,
f = e("util").inherits,
h = e("../../util"),
m = e("./collectionentity");
f(r, p), r.prototype._uriForKey = function(e) {
return this._links.entities + "?id=" + e
}, r.prototype._tryPostOrUpdate = function(e, t) {
var n = this;
return new s["default"](function(r, o) {
n._deps.network.post(e, t).then(function(e) {
return r({
uri: e.body.links.entity
})
})["catch"](function(e) {
if (409 !== e.status) return void o(e);
var i = void 0;
try {
var a = JSON.parse(e.body);
i = a.links.entity
} catch (s) {
return void o(s)
}
n._deps.network.put(i, t).then(function() {
return r({
uri: i
})
})["catch"](o)
})
})
}, r.prototype._queryEvents = function() {
var e = this,
t = this._links.events + "?from=" + this._revision + "&limit=100";
return this._deps.network.get(t).then(function(t) {
t.body.results.forEach(function(t) {
return e._update(t)
})
})
}, r.prototype.getContext = function() {
var e = this;
return "undefined" != typeof this._context ? s["default"].resolve(this._context) : this._deps.network.get(this._links.context).then(function(t) {
return e._context = t.body.data, e._context
})
}, r.prototype.updateContext = function(e) {
var t = this;
return this._deps.network.put(this._links.context, {
data: e
}).then(function() {
t._context = e, t.emit("contextUpdated", e)
})
}, r.prototype.subscribe = function() {
return this._deps.router.subscribe(this._links.collection, this)
}, r.prototype.unsubscribe = function() {
return this._deps.router.unsubscribe(this._links.collection, this)
}, r.prototype.set = function(e, t) {
var n = this,
r = this._entities.get(e);
if ("undefined" != typeof r) {
var o = r.uri;
return this._deps.network.put(o, {
data: t
}).then(function() {
r._update({
value: t
})
})
}
var i = this._uriForKey(e);
return this._tryPostOrUpdate(i, {
data: t
}).then(function(o) {
r = new m({
id: e,
uri: o.uri,
value: t
}), n._entities.set(e, r)
})
}, r.prototype.get = function(e) {
var t = this;
return new s["default"](function(n, r) {
if (t._entities.has(e)) n(t._entities.get(e));
else {
var o = t._uriForKey(e);
t._deps.network.get(o).then(function(o) {
var i = o.body.results.length > 0 ? o.body.results[0] : null;
if (i && i.entity_id === e) {
var a = new m({
id: i.entity_id,
uri: i.links.entity,
value: i.data
});
t._entities.set(e, a), n(a)
} else r(new Error("Entity not found"))
})
}
})
}, r.prototype.remove = function(e) {
var t = this;
return this.get(e).then(function(e) {
return t._deps.network["delete"](e.uri)
}).then(function() {
t._entities["delete"](e)
})
}, r.prototype.query = function(e, t, n) {
var r = this;
t = t || 50, n = n || "forward";
var o = new h.UriBuilder(this._links.entities).arg("from", e).arg("limit", t).arg("direction", n).build();
return this._deps.network.get(o).then(function(e) {
var t = e.body.results.map(function(e) {
return new m({
id: e.entity_id,
uri: e.links.entity,
value: e.data
})
});
return t.forEach(function(e) {
return r._entities.set(e.id, e)
}), t
})
}, r.prototype.softSync = function() {
this._queryEvents()
}, r.prototype.forEach = function(e) {
var t = this,
n = 50;
return new s["default"](function(r, o) {
t._cacheState.ensured ? (t._entities.forEach(e), r()) : ! function() {
var i = function s(r, i, a) {
var u = n,
l = !1;
"undefined" != typeof r && (u += 1, l = !0), t.query(r, u, "forward").then(function(e) {
return l && e.shift(), e
}).then(function(t) {
return t.forEach(function(t) {
e(t)
}), t
}).then(function(e) {
e.length === n ? ! function() {
var t = e[e.length - 1].id;
setTimeout(function() {
return s(t, i, a)
})
}() : a()
})["catch"](o)
},
a = void 0;
i(a, e, function() {
t._cacheState.ensured = !0, r()
})
}()
})
}, r.prototype._update = function(e) {
switch (e.type) {
case "entity_create":
this._handleEntityAdded(e.entity_id, e.links.entity, e.data);
break;
case "entity_update":
this._handleEntityUpdated(e.entity_id, e.links.entity, e.data);
break;
case "entity_delete":
this._handleEntityRemoved(e.entity_id, e.links.entity, e.data);
break;
case "context_update":
this._handleContextUpdate(e.data);
break;
case "collection_delete":
this.emit("deleted")
}
this._revision === e.event_id - 1 && (this._revision = e.event_id)
}, r.prototype._handleEntityAdded = function(e, t, n) {
if (!this._entities.has(e)) {
var r = new m({
id: e,
uri: t,
value: n
});
this._entities.set(e, r), this.emit("entityAdded", r)
}
}, r.prototype._handleEntityUpdated = function(e, t, n) {
var r = new m({
id: e,
uri: t,
value: n
});
this._entities.set(e, r), this.emit("entityUpdated", r)
}, r.prototype._handleEntityRemoved = function(e) {
this._entities.has(e) && (this._entities["delete"](e), this.emit("entityRemoved", e))
}, r.prototype._handleContextUpdate = function(e) {
this._context = e, this.emit("contextUpdated", e)
}, i["default"](r), t.exports = r
}, {
"../../util": 27,
"./collectionentity": 2,
"babel-runtime/core-js/map": 32,
"babel-runtime/core-js/object/define-properties": 33,
"babel-runtime/core-js/object/freeze": 34,
"babel-runtime/core-js/promise": 36,
events: 164,
util: 236
}],
6: [function(e, t) {
"use strict";
function n(e) {
return e && e.__esModule ? e : {
"default": e
}
}
function r(e, t) {
var n = this;
d["default"](this, {
_config: {
value: e.config,
writable: !1
},
_deps: {
value: e,
writable: !1
},
_descriptor: {
value: t
},
_cache: {
value: new v
},
_links: {
get: function() {
return n._descriptor.links
}
},
_context: {
writable: !0
},
_revision: {
value: t.revision,
writable: !0
},
_entities: {
value: new l["default"]
},
uri: {
enumerable: !0,
get: function() {
return n._descriptor.links.collection
}
},
entitiesUri: {
get: function() {
return n._descriptor.links.entities
}
},
revision: {
enumerable: !0,
get: function() {
return n._revision
}
}
}), p.call(this)
}
var o = e("babel-runtime/core-js/object/freeze"),
i = n(o),
a = e("babel-runtime/core-js/promise"),
s = n(a),
u = e("babel-runtime/core-js/map"),
l = n(u),
c = e("babel-runtime/core-js/object/define-properties"),
d = n(c),
p = e("events").EventEmitter,
f = e("util").inherits,
h = e("../../util"),
m = e("loglevel"),
g = e("./collectionentity"),
v = e("./datastreamcache");
f(r, p), r.prototype._uriForKey = function(e) {
return this._links.entities + "/" + e + "?metadata=all"
}, r.prototype.subscribe = function() {
return this._deps.router.subscribe(this._links.collection, this)
}, r.prototype.unsubscribe = function() {
return this._deps.router.unsubscribe(this._links.collection, this)
}, r.prototype.add = function(e) {
var t = this;
return this._deps.network.post(this._links.entities, {
data: e
}).then(function(n) {
var r = new g({
id: Number(n.body.entity_id),
uri: n.body.links.entity,
value: e
});
return t._cache.set(r.id, r)
})
}, r.prototype.remove = function(e) {
var t = this,
n = this._uriForKey(e);
return this._deps.network["delete"](n).then(function() {
return t._cache.remove(e)
})
}, r.prototype.update = function(e, t) {
var n = this,
r = this._uriForKey(e);
return this._deps.network.put(r, {
data: t
}).then(function() {
return n._cache.update(e, t)
})
}, r.prototype.get = function(e) {
var t = this,
n = this._cache.get(e);
if (n) return s["default"].resolve(n);
var r = this._uriForKey(e);
return this._deps.network.get(r).then(function(e) {
var n = Number(e.body.entity_id);
if (isNaN(n)) throw m.error("DSS E: Malformed answer from server: ", r, e), new Error("Can't parse server response");
var o = new g({
id: n,
uri: r,
value: e.body.data
});
return t._cache.set(o.id, o)
})
}, r.prototype._queryEvents = function() {
var e = this,
t = this._links.events + "?from=" + this._revision + "&limit=100";
return this._deps.network.get(t).then(function(t) {
t.body.results.forEach(function(t) {
return e._update(t)
})
})
}, r.prototype.queryEntities = function(e, t, n, r) {
var o = this;
e = e || "forward", r = r || "asc";
var i = this._cache.query(e, t, n, r);
if (i.state === v.state.COMPLETE) return s["default"].resolve(i.items);
(i.state === v.state.HEAD || i.state === v.state.TAIL) && (t = i.since);
var a = new h.UriBuilder(this._links.entities).arg("direction", e).arg("from", t).arg("limit", n).arg("order", r).build();
return this._deps.network.get(a).then(function(n) {
var r = n.body.results.map(function(e) {
return new g({
id: Number(e.entity_id),
uri: e.links.entity,
value: e.data
})
});
return o._cache.store(r, {
from: t,
direction: e
})
}).then(function(e) {
if (i.state === v.state.HEAD) {
var t = i.items;
return t.push.apply(t, e), t.splice(n), t
}
if (i.state === v.state.TAIL) {
var r = e;
return r.push.apply(r, i.items), r.splice(0, r.length - n), r
}
return e
})
}, r.prototype.getContext = function() {
var e = this;
return "undefined" != typeof this._context ? s["default"].resolve(this._context) : this._deps.network.get(this._links.context).then(function(t) {
return e._context = t.body.data, e._context
})
}, r.prototype.updateContext = function(e) {
var t = this;
return this._deps.network.put(this._links.context, {
data: e
}).then(function() {
t._context = e, t.emit("contextUpdated", e)
})["catch"](function(e) {
throw m.error("Failed to update context", e), e
})
}, r.prototype.softSync = function() {
return this._queryEvents()
}, r.prototype._update = function(e) {
var t = Number(e.entity_id);
switch (e.type) {
case "entity_create":
this._handleEntityAdded(t, e.links.entity, e.data);
break;
case "entity_update":
this._handleEntityUpdated(t, e.links.entity, e.data);
break;
case "entity_delete":
this._handleEntityRemoved(t, e);
break;
case "context_update":
this._handleContextUpdate(e.data);
break;
case "collection_delete":
this.emit("deleted")
}
this._revision === e.event_id - 1 && (this._revision = e.event_id)
}, r.prototype._handleEntityAdded = function(e, t, n) {
if (!this._cache.has(e)) {
var r = new g({
id: Number(e),
uri: t,
value: n
});
r = this._cache.set(e, r), this.emit("entityAdded", r)
}
}, r.prototype._handleEntityUpdated = function(e, t, n) {
var r = new g({
id: e,
uri: t,
value: n
});
r = this._cache.update(e, r), this.emit("entityUpdated", r)
}, r.prototype._handleEntityRemoved = function(e) {
this._cache.remove(e), this.emit("entityRemoved", e)
}, r.prototype._handleContextUpdate = function(e) {
this._context = e, this.emit("contextUpdated", e)
}, i["default"](r), t.exports = r
}, {
"../../util": 27,
"./collectionentity": 2,
"./datastreamcache": 7,
"babel-runtime/core-js/map": 32,
"babel-runtime/core-js/object/define-properties": 33,
"babel-runtime/core-js/object/freeze": 34,
"babel-runtime/core-js/promise": 36,
events: 164,
loglevel: 192,
util: 236
}],
7: [function(e, t) {
"use strict";
function n(e) {
return e && e.__esModule ? e : {
"default": e
}
}
function r() {
p["default"](this, {
_cacheHeadEnsured: {
value: !1,
writable: !0
},
_cacheTailEnsured: {
value: !1,
writable: !0
},
_ensuredCacheRanges: {
value: [],
writable: !0
},
_items: {
value: new c["default"]
}
})
}
function o(e, t) {
return e.push(t), e.sort(function(e, t) {
return e.begin - t.begin
}), e.reduce(function(e, t) {
if (0 === e.length) return e.push(t), e;
var n = e[e.length - 1];
return n.end < t.begin - 1 ? (e.push(t), e) : (n.end = Math.max(n.end, t.end), e)
}, [])
}
var i = e("babel-runtime/core-js/object/freeze"),
a = n(i),
s = e("babel-runtime/core-js/get-iterator"),
u = n(s),
l = e("babel-runtime/core-js/map"),
c = n(l),
d = e("babel-runtime/core-js/object/define-properties"),
p = n(d),
f = e("loglevel");
r.state = {
FAILED: "failed",
HEAD: "head",
TAIL: "tail",
COMPLETE: "complete"
}, r.prototype._getRangeFor = function(e, t) {
var n = "undefined" == typeof e;
if (0 === this._ensuredCacheRanges.length) return null;
if (n && "forward" === t && this._cacheHeadEnsured) return this._ensuredCacheRanges[0];
if (n && "forward" !== t && this._cacheTailEnsured) return this._ensuredCacheRanges[this._ensuredCacheRanges.length - 1];
var r = !0,
o = !1,
i = void 0;
try {
for (var a, s = u["default"](this._ensuredCacheRanges); !(r = (a = s.next()).done); r = !0) {
var l = a.value;
if (e >= l.begin && e <= l.end) return l
}
} catch (c) {
o = !0, i = c
} finally {
try {
!r && s["return"] && s["return"]()
} finally {
if (o) throw i
}
}
return null
}, r.prototype.store = function(e, t) {
var n = this,
r = e.map(function(e) {
var t = n._items.get(e.id);
return t || (n._items.set(e.id, e), t = e), t
});
if (r.length > 0) {
var i = [r[0].id, r[r.length - 1].id].sort(function(e, t) {
return e - t
});
if ("undefined" != typeof t.from && "forward" === t.direction ? i[0] = t.from : "undefined" != typeof t.from && (i[1] = t.from), this._cacheTailEnsured) {
var a = e.reduce(function(e, t) {
return e > t.id ? e : t.id
}, 0),
s = this._getRangeFor(void 0, "backwards");
s && s.end < a && (i[0] = s.end)
}
this._ensuredCacheRanges = o(this._ensuredCacheRanges, {
begin: i[0],
end: i[1]
}), "undefined" == typeof t.from && "forward" === t.direction ? this._cacheHeadEnsured = !0 : "undefined" == typeof t.from && (this._cacheTailEnsured = !0), f.debug("DSS: New cache state: ", this._ensuredCacheRanges.map(function(e) {
return "{" + e.begin + ", " + e.end + "}"
}), "Head", this._cacheHeadEnsured, "tail", this._cacheTailEnsured)
}
return r
}, r.prototype.has = function(e) {
return this._items.has(e)
}, r.prototype.get = function(e) {
return this._items.get(e) || null
}, r.prototype.set = function(e, t) {
return this.store([t], {
from: e
})[0]
}, r.prototype.remove = function(e) {
this._items["delete"](e)
}, r.prototype.update = function(e, t) {
var n = this._items.get(e);
return n ? (n._update(t), n) : (this._items.set(e, t), t)
}, r.prototype.query = function(e, t, n, r) {
var o = "failed",
i = null,
a = [],
s = this._getRangeFor(t, e);
if (f.debug("DSS: Cache range for ", t, " is ", s), !s) return {
state: o,
items: a
};
for (var u = "forward" === e, l = t || (u ? s.begin : s.end);;) {
var c = this._items.get(l);
if (c && a.push(c), a.length === n || !u && 0 === l) {
o = "complete";
break
}
if (u) {
if (++l > s.end) {
o = "head";
break
}
} else if (--l < s.begin) {
o = "tail";
break
}
}
return u || a.reverse(), i = l, f.debug("DSS: Cache state is ", o), {
state: o,
since: i,
items: a
}
}, a["default"](r.state), a["default"](r), t.exports = r
}, {
"babel-runtime/core-js/get-iterator": 30,
"babel-runtime/core-js/map": 32,
"babel-runtime/core-js/object/define-properties": 33,
"babel-runtime/core-js/object/freeze": 34,
loglevel: 192
}],
8: [function(e, t) {
"use strict";
function n(e) {
return e && e.__esModule ? e : {
"default": e
}
}
function r(e, t) {
var n = this;
s["default"](this, {
_config: {
value: e
},
_transport: {
value: t
},
_headers: {
get: function() {
return n._getHeaders()
}
}
})
}
var o = e("babel-runtime/core-js/object/freeze"),
i = n(o),
a = e("babel-runtime/core-js/object/define-properties"),
s = n(a);
r.prototype._getHeaders = function() {
return {
"Content-Type": "application/json",
"X-Twilio-Token": this._config.token
}
}, r.prototype.get = function(e) {
return this._transport.get(e, this._headers)
}, r.prototype.post = function(e, t) {
return this._transport.post(e, this._headers, t)
}, r.prototype.put = function(e, t, n) {
var r = {
"Content-Type": "application/json",
"X-Twilio-Token": this._config.token
};
return "undefined" != typeof n && (r["If-Match"] = n), this._transport.put(e, r, t)
}, r.prototype["delete"] = function(e) {
return this._transport["delete"](e, this._headers)
}, i["default"](r), t.exports = r
}, {
"babel-runtime/core-js/object/define-properties": 33,
"babel-runtime/core-js/object/freeze": 34
}],
9: [function(e, t) {
"use strict";
function n(e) {
return e && e.__esModule ? e : {
"default": e
}
}
function r(e) {
s["default"](this, {
_config: {
value: e.config
},
_subscriptions: {
value: e.subscriptions
}
})
}
var o = e("babel-runtime/core-js/object/freeze"),
i = n(o),
a = e("babel-runtime/core-js/object/define-properties"),
s = n(a),
u = e("../../util"),
l = e("loglevel"),
c = "com.twilio.rtd.cds.entity",
d = "com.twilio.rtd.cds.stream",
p = "com.twilio.rtd.cds.map";
r.prototype.onMessage = function(e, t) {
if (l.trace("DSS I: message ", e, ": ", t), e === c) {
var n = t.event.links.entity;
this._subscriptions.getSubscribers(n).forEach(function(e) {
var n = u.deepClone(t);
e._update(n.event)
})
} else if (e === d || e === p) {
var r = t.collection.links.collection;
this._subscriptions.getSubscribers(r).forEach(function(e) {
var n = u.deepClone(t);
e._update(n.event)
})
}
}, r.prototype.emulateUpdate = function(e, t, n) {
this._subscriptions.getSubscribers(t).forEach(function(t) {
if (t !== e) {
var r = u.deepClone(n);
t._update(r)
}
})
}, r.prototype.subscribe = function(e, t) {
return this._subscriptions.add(e, t).then(function(e) {
e && t.softSync()
})
}, r.prototype.unsubscribe = function(e, t) {
return this._subscriptions.remove(e, t).then(function() {})
}, r.prototype.onConnected = function() {
this._subscriptions.forEach(function(e, t) {
t.softSync()
})
}, i["default"](r), t.exports = r
}, {
"../../util": 27,
"babel-runtime/core-js/object/define-properties": 33,
"babel-runtime/core-js/object/freeze": 34,
loglevel: 192
}],
10: [function(e, t) {
"use strict";
function n(e) {
return e && e.__esModule ? e : {
"default": e
}
}
function r(e, t) {
f["default"](this, {
_config: {
value: e
},
_network: {
value: t
},
_subscriptions: {
value: new d["default"]
},
_serverSubscriptions: {
value: new d["default"]
}
})
}
var o = e("babel-runtime/core-js/object/freeze"),
i = n(o),
a = e("babel-runtime/core-js/set"),
s = n(a),
u = e("babel-runtime/core-js/promise"),
l = n(u),
c = e("babel-runtime/core-js/map"),
d = n(c),
p = e("babel-runtime/core-js/object/define-properties"),
f = n(p),
h = e("loglevel");
r.prototype._subscribeOnServer = function(e) {
var t = this,
n = this._config.subscriptionsUri;
return this._network.post(n, {
subscription: {
objectUrl: e,
channelType: "twilsock"
}
}).then(function(n) {
if (h.debug("DSS I: subscribed: ", n.headers.location), !n.headers.location) throw new Error("location header is absent or inaccessible");
return t._serverSubscriptions.set(e, n.headers.location), !0
})["catch"](function(e) {
throw h.error("DSS E: subscription failed: ", e), e
})
}, r.prototype._unsubscribeOnServer = function(e) {
var t = this,
n = this._serverSubscriptions.get(e);
if (!n) throw new Error("No such subscription");
return this._network["delete"](n).then(function(n) {
return h.debug("DSS I: subscription deleted: ", n), t._serverSubscriptions["delete"](e), !0
})["catch"](function(e) {
if (404 === e.status) return h.debug("DSS I: subscription is already deleted"), !0;
throw h.error("DSS E: delete subscription failed: ", e), e
})
}, r.prototype.add = function(e, t, n) {
if (this._subscriptions.has(e)) {
var r = this._subscriptions.get(e);
return r.add(t), l["default"].resolve(!1)
}
var o = new s["default"];
return o.add(t), this._subscriptions.set(e, o), n ? (this._serverSubscriptions.set(e, n), l["default"].resolve(!0)) : this._subscribeOnServer(e).then(function() {
return !0
})
}, r.prototype.remove = function(e, t) {
if (!this._subscriptions.has(e)) return l["default"].resolve(!0);
if (!this._subscriptions.get(e).has(t)) return l["default"].resolve(!1);
var n = this._subscriptions.get(e);
return n["delete"](t), n.size > 0 ? (this._subscriptions.set(e, n), l["default"].resolve(!1)) : (this._subscriptions["delete"](e), this._unsubscribeOnServer(e))
}, r.prototype.getSubscribers = function(e) {
var t = this._subscriptions.get(e);
return t ? t : new s["default"]
}, r.prototype.forEach = function(e) {
this._subscriptions.forEach(function(t, n) {
t.forEach(function(t) {
return e(n, t)
})
})
}, i["default"](r), t.exports = r
}, {
"babel-runtime/core-js/map": 32,
"babel-runtime/core-js/object/define-properties": 33,
"babel-runtime/core-js/object/freeze": 34,
"babel-runtime/core-js/promise": 36,
"babel-runtime/core-js/set": 37,
loglevel: 192
}],
11: [function(e, t) {
"use strict";
function n(e) {
return e && e.__esModule ? e : {
"default": e
}
}
function r(e) {
try {
return new Date(e)
} catch (t) {
return null
}
}
function o(e, t, n) {
var i = this;
if (!(this instanceof o)) return new o(e, t, n);
var a = t.attributes || {},
s = t.createdBy,
u = r(t.dateCreated),
l = r(t.dateUpdated),
c = t.name || t.friendlyName || null,
p = "undefined" != typeof t.lastConsumedMessageIndex ? t.lastConsumedMessageIndex : null,
h = "known",
v = t.type || o.type.PUBLIC,
b = t.uniqueName || null,
w = t.channelUrl;
t.isPrivate && (v = o.type.PRIVATE);
try {
m["default"](a)
} catch (C) {
throw new Error("Attributes must be a valid JSON object.")
}
var E = new f["default"],
x = new y(this, e.session, e.userInfos, E);
x.on("memberJoined", this.emit.bind(this, "memberJoined")), x.on("memberLeft", this.emit.bind(this, "memberLeft")), x.on("memberUpdated", this.emit.bind(this, "memberUpdated")), x.on("memberInfoUpdated", this.emit.bind(this, "memberInfoUpdated"));
var k = [],
S = new _(this, e.session, k);
S.on("messageAdded", this.emit.bind(this, "messageAdded")), S.on("messageUpdated", this.emit.bind(this, "messageUpdated")), S.on("messageRemoved", this.emit.bind(this, "messageRemoved")), d["default"](this, {
_attributes: {
get: function() {
return a
},
set: function(e) {
return a = e
}
},
_createdBy: {
get: function() {
return s
},
set: function(e) {
return s = e
}
},
_dateCreated: {
get: function() {
return u
},
set: function(e) {
return u = e
}
},
_dateUpdated: {
get: function() {
return l
},
set: function(e) {
return l = e
}
},
_friendlyName: {
get: function() {
return c
},
set: function(e) {
return c = e
}
},
_lastConsumedMessageIndex: {
get: function() {
return p
},
set: function(e) {
return p = e
}
},
_type: {
get: function() {
return v
},
set: function(e) {
return v = e
}
},
_sid: {
get: function() {
return n
},
set: function(e) {
return n = e
}
},
_status: {
get: function() {
return h
},
set: function(e) {
return h = e
}
},
_uniqueName: {
get: function() {
return b
},
set: function(e) {
return b = e
}
},
_entityPromise: {
value: null,
writable: !0
},
_subscribePromise: {
value: null,
writable: !0
},
_membersEntity: {
value: x
},
_messagesEntity: {
value: S
},
_session: {
value: e.session
},
_typingIndicator: {
value: e.typingIndicator
},
_consumptionHorizon: {
value: e.consumptionHorizon
},
_uri: {
value: w,
writable: !0
},
attributes: {
enumerable: !0,
get: function() {
return a
}
},
createdBy: {
enumerable: !0,
get: function() {
return s
}
},
dateCreated: {
enumerable: !0,
get: function() {
return u
}
},
dateUpdated: {
enumerable: !0,
get: function() {
return l
}
},
friendlyName: {
enumerable: !0,
get: function() {
return c
}
},
isPrivate: {
enumerable: !0,
get: function() {
return i._type === o.type.PRIVATE
}
},
lastConsumedMessageIndex: {
enumerable: !0,
get: function() {
return p
}
},
members: {
enumerable: !0,
value: E
},
messages: {
enumerable: !0,
value: k
},
sid: {
enumerable: !0,
get: function() {
return n
}
},
status: {
enumerable: !0,
get: function() {
return h
}
},
type: {
enumerable: !0,
get: function() {
return v
}
},
uniqueName: {
enumerable: !0,
get: function() {
return b
}
}
}), g.call(this)
}
function i(e, t) {
try {
"string" == typeof e.attributes ? e.attributes = JSON.parse(e.attributes) : e.attributes && m["default"](e.attributes)
} catch (n) {
C.warn("Retrieved malformed attributes from the server for channel: " + t), e.attributes = {}
}
try {
e.dateCreated && (e.dateCreated = new Date(e.dateCreated))
} catch (n) {
C.warn("Retrieved malformed attributes from the server for channel: " + t), delete e.dateCreated
}
try {
e.dateUpdated && (e.dateUpdated = new Date(e.dateUpdated))
} catch (n) {
C.warn("Retrieved malformed attributes from the server for channel: " + t), delete e.dateUpdated
}
}
var a = e("babel-runtime/core-js/promise"),
s = n(a),
u = e("babel-runtime/core-js/object/freeze"),
l = n(u),
c = e("babel-runtime/core-js/object/define-properties"),
d = n(c),
p = e("babel-runtime/core-js/map"),
f = n(p),
h = e("babel-runtime/core-js/json/stringify"),
m = n(h),
g = e("events").EventEmitter,
v = e("util").inherits,
y = e("./data/members"),
b = e("./member"),
_ = e("./data/messages"),
w = e("../../util/jsondiff"),
C = e("loglevel"),
E = {
attributes: "attributes",
createdBy: "createdBy",
dateCreated: "dateCreated",
dateUpdated: "dateUpdated",
friendlyName: "friendlyName",
lastConsumedMessageIndex: "lastConsumedMessageIndex",
name: "friendlyName",
sid: "sid",
status: "status",
type: "type",
uniqueName: "uniqueName"
};
v(o, g), o.type = {
PUBLIC: "public",
PRIVATE: "private"
}, o.status = {
KNOWN: "known",
INVITED: "invited",
JOINED: "joined",
FAILED: "failed"
}, l["default"](o.type), l["default"](o.status), o.prototype._subscribe = function() {
var e = this;
return this._entityPromise ? this._entityPromise : (this._entityPromise = this._session.datasync.openEntity(this._uri, !0).then(function(t) {
return e._entity = t, t.on("updated", function(t) {
return e._update(t)
}), e._update(t.getData()), e._entity
})["catch"](function(t) {
throw e._enityPromise = null, C.error("Failed to get channel object", t), t
}), this._entityPromise)
}, o.prototype._subscribeStreams = function() {
var e = this;
return this._subscribePromise = this._subscribePromise || this._subscribe().then(function(t) {
var n = t.value("/messagesUrl"),
r = t.value("/rosterUrl");
return s["default"].all([e._messagesEntity.subscribe(n), e._membersEntity.subscribe(r)])
}).then(function() {
return e._entity
})["catch"](function(t) {
throw e._subscribePromise = null, C.error("Failed to subscribe on channel objects", e.sid, t), t
}), this._subscribePromise
}, o.prototype._fetch = function() {
return this._session.datasync.openEntity(this._uri).then(function(e) {
return e.getData()
})
}, o.prototype._unsubscribe = function() {
var e = [];
return this._entityPromise && e.push(this._entity.unsubscribe()), e.push(this._membersEntity.unsubscribe()), e.push(this._messagesEntity.unsubscribe()), this._entityPromise = null, this._subscribePromise = null, s["default"].all(e)
}, o.prototype._setStatus = function(e) {
this._status !== e && (this._status = e, e === o.status.JOINED ? this._subscribeStreams() : e === o.status.INVITED ? this._subscribe() : this._entityPromise && this._unsubscribe())
}, o.prototype._update = function(e) {
i(e, this._sid);
var t = !1;
for (var n in e) {
var r = E[n];
r && (r === E.attributes ? w.isDeepEqual(this._attributes, e.attributes) || (this._attributes = e.attributes, t = !0) : e[n] instanceof Date ? this[r] && this[r].getTime() === e[n].getTime() || (this["_" + r] = e[n], t = !0) : this[r] !== e[n] && (this["_" + r] = e[n], t = !0))
}
e.status || e.uniqueName || this._uniqueName && (this._uniqueName = null, t = !0), t && this.emit("updated", this)
}, o.prototype.add = function(e) {
if (!e || "string" != typeof e) throw new Error("Channel.add requires an <String>identity parameter");
return this._membersEntity.add(e)
}, o.prototype.advanceLastConsumedMessageIndex = function(e) {
var t = this;
if (parseInt(e) !== e) throw new Error("Channel.advanceLastConsumedMessageIndex requires an integral <Number>index parameter");
return null !== this.lastConsumedMessageIndex && e <= this.lastConsumedMessageIndex ? s["default"].resolve() : this._subscribeStreams().then(function() {
t._consumptionHorizon.advanceLastConsumedMessageIndexForChannel(t.sid, e)
}).then(function() {
return t
})
}, o.prototype.decline = function() {
var e = this;
return this._session.addCommand("declineInvitation", {
channelSid: this._sid
}).then(function() {
return e
})
}, o.prototype["delete"] = function() {
var e = this;
return this._session.addCommand("destroyChannel", {
channelSid: this._sid
}).then(function() {
return e
})
}, o.prototype.getAttributes = function() {
var e = this;
return this._entityPromise ? this._subscribe().then(function() {
return e.attributes
}) : this._fetch().then(function(t) {
return e._update(t), e.attributes
})
}, o.prototype.getMessagesPaged = function(e, t) {
var n = this;
return this._subscribeStreams().then(function() {
return n._messagesEntity.getMessagesPaged(e, t)
})
}, o.prototype.getMessages = function(e, t) {
var n = this;
return this._subscribeStreams().then(function() {
return n._messagesEntity.getMessages(e, t)
})
}, o.prototype.getMembers = function() {
var e = this;
return this._subscribeStreams().then(function() {
return e._membersEntity.getMembers()
})
}, o.prototype.invite = function(e) {
if ("string" != typeof e || !e.length) throw new Error("Channel.invite requires an <String>identity parameter");
return this._membersEntity.invite(e)
}, o.prototype.join = function() {
var e = this;
return this._session.addCommand("joinChannel", {
channelSid: this._sid
}).then(function() {
return e
})
}, o.prototype.leave = function() {
var e = this;
return this._status !== o.status.JOINED ? s["default"].resolve(this) : this._session.addCommand("leaveChannel", {
channelSid: this._sid
}).then(function() {
return e
})
}, o.prototype.removeMember = function(e) {
if (!e || "string" != typeof e && !(e instanceof b)) throw new Error("Channel.removeMember requires a <String|Member>member parameter.");
return this._membersEntity.remove("string" == typeof e ? e : e.identity)
}, o.prototype.sendMessage = function(e, t) {
return this._messagesEntity.send(e, t)
}, o.prototype.setAllMessagesConsumed = function() {
var e = this;
return this._subscribeStreams().then(function() {
return e.getMessages(1)
}).then(function(t) {
t.length > 0 && e.advanceLastConsumedMessageIndex(t[0].index)
}).then(function() {
return e
})
}, o.prototype.setNoMessagesConsumed = function() {
return this.updateLastConsumedMessageIndex(null)
}, o.prototype.typing = function() {
return this._typingIndicator.send(this._sid)
}, o.prototype.updateAttributes = function(e) {
var t = this;
if ("undefined" == typeof e) throw new Error("Attributes is a required parameter for updateAttributes");
if (e.constructor !== Object) throw new Error("Attributes must be a valid JSON object.");
return this._session.addCommand("editAttributes", {
channelSid: this._sid,
attributes: m["default"](e)
}).then(function() {
return t
})
}, o.prototype.updateFriendlyName = function(e) {
var t = this;
return this._friendlyName === e ? s["default"].resolve(this) : this._session.addCommand("editFriendlyName", {
channelSid: this._sid,
friendlyName: e
}).then(function() {
return t
})
}, o.prototype.updateLastConsumedMessageIndex = function(e) {
var t = this;
if (null !== e && parseInt(e) !== e) {
var n = "Channel.updateLastConsumedMessageIndex requires an integral <Number>index parameter";
throw new Error(n)
}
return this._subscribeStreams().then(function() {
t._consumptionHorizon.updateLastConsumedMessageIndexForChannel(t.sid, e)
}).then(function() {
return t
})
}, o.prototype.updateType = function(e) {
if (e !== o.type.PRIVATE && e !== o.type.PUBLIC) throw new Error("Can't set unknown channel type " + e);
if (this._type !== e) throw new Error("Changing of channel type isn't supported");
return s["default"].resolve(this)
}, o.prototype.updateUniqueName = function(e) {
var t = this;
return this._uniqueName === e ? s["default"].resolve(this) : this._session.addCommand("editUniqueName", {
channelSid: this._sid,
uniqueName: e
}).then(function() {
return t
})
}, l["default"](o), t.exports = o
}, {
"../../util/jsondiff": 28,
"./data/members": 15,
"./data/messages": 16,
"./member": 18,
"babel-runtime/core-js/json/stringify": 31,
"babel-runtime/core-js/map": 32,
"babel-runtime/core-js/object/define-properties": 33,
"babel-runtime/core-js/object/freeze": 34,
"babel-runtime/core-js/promise": 36,
events: 164,
loglevel: 192,
util: 236
}],
12: [function(e, t) {
"use strict";
function n(e) {
return e && e.__esModule ? e : {
"default": e
}
}
function r(e, t) {
var n = this;
t = t || {}, t.logLevel = t.logLevel || "error", h.setLevel(t.logLevel);
var o = new b(t);
if (!e || !e.token) throw new Error("A valid Twilio AccessManager must be passed to IPMessaging Client");
var i = e.token,
a = t.twilsockClient || new g(e, t),
s = t.transportClient || new v(a, t),
u = t.notificationClient || new m("ip_messaging", e, {
transport: s,
twilsockClient: a
}),
c = t.dataSyncClient || new y(i, u, s, t),
f = new _(c, s, o),
k = f.initialize(i),
S = new C(f, c, e.identity);
S.on("userInfoUpdated", this.emit.bind(this, "userInfoUpdated"));
var T = new x(o, f),
D = new E(o, e, s, u, this.getChannelBySid.bind(this)),
N = new d["default"],
O = new w({
session: f,
userInfos: S,
typingIndicator: D,
consumptionHorizon: T
}, N),
R = k.then(function() {
return O.on("channelAdded", n.emit.bind(n, "channelAdded")), O.on("channelRemoved", n.emit.bind(n, "channelRemoved")), O.on("channelInvited", n.emit.bind(n, "channelInvited")), O.on("channelJoined", n.emit.bind(n, "channelJoined")), O.on("channelLeft", n.emit.bind(n, "channelLeft")), O.on("channelUpdated", n.emit.bind(n, "channelUpdated")), O.on("memberJoined", n.emit.bind(n, "memberJoined")), O.on("memberLeft", n.emit.bind(n, "memberLeft")), O.on("memberUpdated", n.emit.bind(n, "memberUpdated")), O.on("messageAdded", n.emit.bind(n, "messageAdded")), O.on("messageUpdated", n.emit.bind(n, "messageUpdated")), O.on("messageRemoved", n.emit.bind(n, "messageRemoved")), O.on("typingStarted", n.emit.bind(n, "typingStarted")), O.on("typingEnded", n.emit.bind(n, "typingEnded")), O.fetchChannels(f)
});
e.on("tokenExpired", function() {
return n.emit("tokenExpired", e)
}), e.on("tokenUpdated", function() {
return n._updateToken(e.token)
}), u.on("transportReady", function(e) {
if (e) n._connectionState = r.connectionState.CONNECTED, n._session.syncToken()["catch"](function(e) {
h.error("IPMSG: failed to sync session token", e)
});
else switch (n._twilsock.state) {
case "rejected":
n._connectionState = r.connectionState.DENIED;
break;
default:
n._connectionState = r.connectionState.CONNECTING
}
n.emit("connectionStateChanged", n._connectionState)
}), l["default"](this, {
_channelsPromise: {
value: R
},
_datasync: {
value: c
},
_notification: {
value: u
},
_session: {
value: f
},
_sessionPromise: {
value: k
},
_initializePromise: {
value: null,
writable: !0
},
_token: {
value: i,
writable: !0
},
_twilsock: {
value: a
},
_typingIndicator: {
value: D
},
_userInfos: {
value: S
},
_userInfo: {
writable: !0
},
_connectionState: {
value: r.connectionState.CONNECTING,
writable: !0
},
accessManager: {
enumerable: !0,
value: e
},
channels: {
enumerable: !0,
value: N
},
identity: {
enumerable: !0,
get: function() {
return e.identity
}
},
userInfo: {
enumerable: !0,
get: function() {
return n._userInfos.myUserInfo
}
},
connectionState: {
enumerable: !0,
get: function() {
return n._connectionState
}
},
reachabilityEnabled: {
enumerable: !0,
get: function() {
return n._session.reachabilityEnabled
}
}
}), this._initializePromise = this._initialize(), p.call(this)
}
var o = e("babel-runtime/core-js/promise"),
i = n(o),
a = e("babel-runtime/core-js/object/freeze"),
s = n(a),
u = e("babel-runtime/core-js/object/define-properties"),
l = n(u),
c = e("babel-runtime/core-js/map"),
d = n(c),
p = e("events").EventEmitter,
f = e("util").inherits,
h = e("loglevel"),
m = e("twilio-notifications"),
g = e("twilsock"),
v = e("twilio-transport"),
y = e("../datasync/client"),
b = e("./configuration"),
_ = e("./session.js"),
w = e("./data/channels.js"),
C = e("./data/userinfos.js"),
E = e("./services/typingindicator"),
x = e("./services/consumptionhorizon"),
k = e("../../../package.json").version;
l["default"](r, {
version: {
enumerable: !0,
value: k
}
}), f(r, p), r.connectionState = {
DISCONNECTED: "disconnected",
CONNECTING: "connecting",
CONNECTED: "connected",
ERROR: "error",
DENIED: "denied"
}, s["default"](r.connectionState), r.prototype._initialize = function() {
var e = this;
return this._sessionPromise.then(function() {
e._notification.subscribe("twilio.channel.new_message", "gcm"), e._notification.subscribe("twilio.channel.added_to_channel", "gcm"), e._notification.subscribe("twilio.channel.invited_to_channel", "gcm")
}).then(this._typingIndicator.initialize())
}, r.prototype.initialize = function() {
var e = this;
return this._initializePromise.then(function() {
return e
})
}, r.prototype.shutdown = function() {
return this._twilsock.disconnect()
}, r.prototype._updateToken = function(e) {
var t = this;
return e === this._token ? i["default"].resolve(this) : (this._token = e, h.info("IPMSG I: authTokenUpdated"), this._datasync.setAuthToken(e), this._sessionPromise.then(function() {
return t._session.updateToken(e)
}).then(function() {
return t
}))
}, r.prototype.getChannelBySid = function(e) {
var t = this;
if (!e || "string" != typeof e) throw new Error("Client.getChannelBySid requires a <String>channelSid parameter");
return this._channelsPromise.then(function() {
return t.channels.get(e) || null
})
}, r.prototype.getChannelByUniqueName = function(e) {
var t = this;
if (!e || "string" != typeof e) throw new Error("Client.getChannelByUniqueName requires a <String>uniqueName parameter");
return this._channelsPromise.then(function() {
var n = null;
return t.channels.forEach(function(t) {
n || t.uniqueName !== e || (n = t)
}), n
})
}, r.prototype.getChannels = function() {
var e = this;
return this._channelsPromise.then(function() {
var t = [];
return e.channels.forEach(function(e) {
return t.push(e)
}), t
})
}, r.prototype.createChannel = function(e) {
return e = e || {}, this._channelsPromise.then(function(t) {
return t.addChannel(e)
})
}, r.prototype.setPushRegistrationId = function(e, t) {
this._notification.setPushRegistrationId(e, t)
}, r.prototype.putPushNotificationPayload = function(e) {
var t = this,
n = e.additionalData;
switch (n.type) {
case "twilio.channel.new_message":
! function() {
var e = n.data.channel_id,
r = n.data.message_id;
t.getChannelBySid(e).then(function(e) {
return e.getMessages(10, r)
})
}()
}
}, s["default"](r), t.exports = r
}, {
"../../../package.json": 241,
"../datasync/client": 1,
"./configuration": 13,
"./data/channels.js": 14,
"./data/userinfos.js": 17,
"./services/consumptionhorizon": 21,
"./services/typingindicator": 22,
"./session.js": 23,
"babel-runtime/core-js/map": 32,
"babel-runtime/core-js/object/define-properties": 33,
"babel-runtime/core-js/object/freeze": 34,
"babel-runtime/core-js/promise": 36,
events: 164,
loglevel: 192,
"twilio-notifications": 220,
"twilio-transport": 226,
twilsock: 227,
util: 236
}],
13: [function(e, t) {
"use strict";
function n(e) {
return e && e.__esModule ? e : {
"default": e
}
}
function r(e) {
e = e || {};
var t = e.IPMessaging || {},
n = t.typingUri || a;
i["default"](this, {
typingIndicatorUri: {
enumerable: !0,
value: n + s
},
typingIndicatorTimeout: {
enumerable: !0,
value: 1e3 * u
},
consumptionReportInterval: {
enumerable: !0,
value: l
}
})
}
var o = e("babel-runtime/core-js/object/define-properties"),
i = n(o),
a = "https://aim.twilio.com",
s = "/v1/typing",
u = 5,
l = "PT5S";
t.exports = r
}, {
"babel-runtime/core-js/object/define-properties": 33
}],
14: [function(e, t) {
"use strict";
function n(e) {
return e && e.__esModule ? e : {
"default": e
}
}
function r(e, t) {
l["default"](this, {
_services: {
value: e
},
_userInfos: {
value: e.userInfos
},
_typingIndicator: {
value: e.typingIndicator
},
_session: {
value: e.session
},
channels: {
enumerable: !0,
value: t
}
}), c.call(this)
}
var o = e("babel-runtime/core-js/promise"),
i = n(o),
a = e("babel-runtime/core-js/json/stringify"),
s = n(a),
u = e("babel-runtime/core-js/object/define-properties"),
l = n(u),
c = e("events").EventEmitter,
d = e("util").inherits,
p = e("../channel");
d(r, c), r.prototype.addChannel = function(e) {
var t = this;
return this._session.addCommand("createChannel", {
friendlyName: e.friendlyName,
uniqueName: e.uniqueName,
type: e.isPrivate ? "private" : "public",
attributes: s["default"](e.attributes)
}).then(function(e) {
var n = t.channels.get(e.channelSid);
if (n) return n._update(e), n;
var r = new p(t._services, e, e.channelSid);
return t.channels.set(r.sid, r), t._registerForEvents(r), r._subscribe().then(function() {
return t.emit("channelAdded", r), r
})
})
}, r.prototype.fetchChannels = function(e) {
var t = this;
return new i["default"](function(n, r) {
function o() {
s = !0, t._fetchPublicChannels(a).then(function() {
return t._fetchMyChannels(i)
}).then(function() {
n(t)
}, function(e) {
r(e)
})
}
var i = e.getMyChannelsUrl(),
a = e.getChannelsUrl(),
s = !1;
e.onKeyUpdated("/channelsUrl", function(e) {
a = e, i && !s && o()
}), e.onKeyUpdated("/myChannelsUrl", function(e) {
i = e, a && !s && o()
})
})
}, r.prototype._fetchMyChannels = function(e) {
var t = this;
return this._session.datasync.openMap(e, !0).then(function(e) {
e.on("entityAdded", function(e) {
var n = e.id;
t._upsertChannel(n, e.value)
}), e.on("entityRemoved", function(e) {
var n = t.channels.get(e);
n && (("joined" === n.status || "invited" === n.status) && (n._setStatus("known"), t.emit("channelLeft", n)), n.isPrivate && (t.channels["delete"](e), t.emit("channelRemoved", n)))
}), e.on("entityUpdated", function(e) {
var n = e.id;
t._upsertChannel(n, e.value)
});
var n = [];
return e.forEach(function(e) {
var r = e.value,
o = e.id;
n.push(t._upsertChannel(o, r))
}).then(function() {
return i["default"].all(n)
}).then(function() {
return t
})
})
}, r.prototype._fetchPublicChannels = function(e) {
var t = this;
return this._session.datasync.openMap(e, !0).then(function(e) {
return e.on("entityAdded", function(e) {
var n = e.id,
r = t.channels.get(n);
r || (r = new p(t._services, e.value, n), t._registerForEvents(r), t.channels.set(n, r), t.emit("channelAdded", r))
}), e.on("entityRemoved", function(e) {
var n = t.channels.get(e);
n && (("joined" === n.status || "invited" === n.status) && (n._unsubscribe(), t.emit("channelLeft", n)), t.channels["delete"](e), t.emit("channelRemoved", n))
}), e.on("entityUpdated", function(e) {
var n = e.id;
t._upsertChannel(n, e.value)
}), e.forEach(function(e) {
var n = e.value,
r = e.id,
o = new p(t._services, n, r);
t._registerForEvents(o), t.channels.set(r, o)
}).then(function() {
return t
})
})
}, r.prototype._upsertChannel = function(e, t) {
var n = this,
r = this.channels.get(e);
return r ? ("joined" === t.status && "joined" !== r.status ? (r._setStatus("joined"), "undefined" != typeof t.lastConsumedMessageIndex && (r._lastConsumedMessageIndex = t.lastConsumedMessageIndex), this.emit("channelJoined", r)) : "invited" === t.status && "invited" !== r.status ? (r._setStatus("invited"), this.emit("channelInvited", r)) : "known" !== t.status || "invited" !== r.status && "joined" !== r.status ? "notParticipating" === t.status && "private" === t.type ? r._subscribe() : r._update(t) : (r._setStatus("known"), r._update(t), this.emit("channelLeft", r)), i["default"].resolve(r)) : (r = new p(this._services, t, e), this._registerForEvents(r), this.channels.set(e, r), r._subscribe().then(function() {
return "joined" === t.status ? (r._setStatus("joined"), n.emit("channelJoined", r)) : "invited" === t.status && (r._setStatus("invited"), n.emit("channelInvited", r)), n.emit("channelAdded", r), r
}))
}, r.prototype._registerForEvents = function(e) {
var t = this;
e.on("updated", function() {
return t.emit("channelUpdated", e)
}), e.on("memberJoined", this.emit.bind(this, "memberJoined")), e.on("memberLeft", this.emit.bind(this, "memberLeft")), e.on("memberUpdated", this.emit.bind(this, "memberUpdated")), e.on("messageAdded", this.emit.bind(this, "messageAdded")), e.on("messageUpdated", this.emit.bind(this, "messageUpdated")), e.on("messageRemoved", this.emit.bind(this, "messageRemoved")), e.on("typingStarted", this.emit.bind(this, "typingStarted")), e.on("typingEnded", this.emit.bind(this, "typingEnded"))
}, t.exports = r
}, {
"../channel": 11,
"babel-runtime/core-js/json/stringify": 31,
"babel-runtime/core-js/object/define-properties": 33,
"babel-runtime/core-js/promise": 36,
events: 164,
util: 236
}],
15: [function(e, t) {
"use strict";
function n(e) {
return e && e.__esModule ? e : {
"default": e
}
}
function r(e, t, n, r) {
s["default"](this, {
_datasync: {
value: t.datasync
},
_userInfos: {
value: n
},
_session: {
value: t
},
_rosterStreamPromise: {
writable: !0,
value: null
},
channel: {
enumerable: !0,
value: e
},
members: {
enumerable: !0,
value: r
}
}), u.call(this)
}
var o = e("babel-runtime/core-js/promise"),
i = n(o),
a = e("babel-runtime/core-js/object/define-properties"),
s = n(a),
u = e("events").EventEmitter,
l = e("util").inherits,
c = e("loglevel"),
d = e("../member");
l(r, u), r.prototype.unsubscribe = function() {
return this._rosterStreamPromise ? this._rosterStreamPromise.then(function(e) {
return e.unsubscribe()
}) : i["default"].resolve()
}, r.prototype.subscribe = function(e) {
var t = this;
return this._rosterStreamPromise = this._rosterStreamPromise || this._datasync.openMap(e, !0).then(function(e) {
e.on("entityAdded", function(e) {
t.upsertMember(e.id, e.value).then(function(e) {
t.emit("memberJoined", e)
})
}), e.on("entityRemoved", function(e) {
if (t.members.has(e)) {
var n = t.members.get(e);
t.members["delete"](e), t.emit("memberLeft", n)
}
}), e.on("entityUpdated", function(e) {
t.upsertMember(e.id, e.value)
});
var n = [];
return e.forEach(function(e) {
n.push(t.upsertMember(e.id, e.value))
}).then(function() {
return i["default"].all(n)
}).then(function() {
return e
})
})["catch"](function(e) {
throw t._rosterStreamPromise = null, c.error("Failed to get roster object for channel", t.channel.sid, e), e
})
}, r.prototype.upsertMember = function(e, t) {
var n = this,
r = this.members.get(e);
return r ? (r._update(t), i["default"].resolve(r)) : this._userInfos.getUserInfo(t.identity, t.userInfo).then(function(o) {
return r = new d(n.channel, t, e, o), n.members.set(e, r), r.on("updated", function() {
return n.emit("memberUpdated", r)
}), r.on("userInfoUpdated", function() {
return n.emit("memberInfoUpdated", r)
}), r
})
}, r.prototype.getMembersList = function() {
var e = [];
return t
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment