3 (c) 2010-2020 Google LLC. http://angularjs.org
10 if (!a) throw Pa("areq", b || "?", c || "required");
15 if (!a && !b) return "";
18 Z(a) && (a = a.join(" "));
19 Z(b) && (b = b.join(" "));
25 a && (a.to || a.from) && (b.to = a.to, b.from = a.from);
31 a = Z(a) ? a : a && G(a) && a.length ? a.split(/\s+/) : [];
33 a && 0 < a.length && (d += 0 < k ? " " : "", d += c ? b + a : a + b)
39 if (a instanceof A) switch (a.length) {
43 if (1 === a[0].nodeType) return a;
48 if (1 === a.nodeType) return A(a)
53 for (var b = 0; b < a.length; b++) {
55 if (1 === c.nodeType) return c
59 function Ra(a, b, c) {
65 function Sa(a, b, c) {
72 return function(b, c) {
73 c.addClass && (Ra(a, b, c.addClass), c.addClass = null);
74 c.removeClass && (Sa(a, b, c.removeClass), c.removeClass = null)
81 var b = a.domOperation ||
83 a.domOperation = function() {
84 a.$$domOperationFired = !0;
99 b.from && (a.css(b.from), b.from = null)
103 b.to && (a.css(b.to), b.to = null)
106 function T(a, b, c) {
107 var d = b.options || {};
109 var f = (d.addClass || "") + " " + (c.addClass || ""),
110 k = (d.removeClass || "") + " " + (c.removeClass || "");
111 a = Ta(a.attr("class"), f, k);
112 c.preparationClasses && (d.preparationClasses = ba(c.preparationClasses, d.preparationClasses), delete c.preparationClasses);
113 f = d.domOperation !== N ? d.domOperation : null;
115 f && (d.domOperation = f);
116 d.addClass = a.addClass ? a.addClass : null;
117 d.removeClass = a.removeClass ? a.removeClass : null;
118 b.addClass = d.addClass;
119 b.removeClass = d.removeClass;
123 function Ta(a, b, c) {
125 G(a) && (a = a.split(" "));
128 a.length && (c[a] = !0)
135 s(b, function(a, c) {
139 s(c, function(a, c) {
140 f[c] = 1 === f[c] ? null : -1
146 s(f, function(c, b) {
148 1 === c ? (d = "addClass",
149 f = !a[b] || a[b + "-remove"]) : -1 === c && (d = "removeClass", f = a[b] || a[b + "-add"]);
150 f && (k[d].length && (k[d] += " "), k[d] += b)
156 return a instanceof A ? a[0] : a
159 function Ua(a, b, c, d) {
161 c && (a = $(c, "ng-", !0));
162 d.addClass && (a = ba(a, $(d.addClass, "-add")));
163 d.removeClass && (a = ba(a, $(d.removeClass, "-remove")));
164 a.length && (d.preparationClasses = a, b.addClass(a))
168 var c = b ? "paused" : "",
169 d = ca + "PlayState";
179 return a ? b ? a + " " +
183 function Ka(a, b, c) {
184 var d = Object.create(null),
185 f = a.getComputedStyle(b) || {};
186 s(c, function(a, c) {
190 if ("-" === L || "+" === L || 0 <= L) b = Va(b);
191 0 === b && (b = null);
200 a = a.split(/\s*,\s*/);
202 "s" === a.charAt(a.length - 1) && (a = a.substring(0, a.length - 1));
203 a = parseFloat(a) || 0;
204 b = b ? Math.max(a, b) : a
210 return 0 === a || null != a
216 b ? c += "Duration" : d += " linear all";
220 function Ma(a, b, c) {
223 a[c] = za(a[c]) ? a[c] : b.style.getPropertyValue(c)
227 void 0 === Y.ontransitionend && void 0 !== Y.onwebkittransitionend ? (M = "WebkitTransition", Aa = "webkitTransitionEnd transitionend") : (M = "transition", Aa = "transitionend");
228 void 0 === Y.onanimationend && void 0 !== Y.onwebkitanimationend ? (ca = "WebkitAnimation", Ba = "webkitAnimationEnd animationend") : (ca = "animation", Ba = "animationend");
229 var qa = ca + "Delay",
230 Ca = ca + "Duration",
233 Pa = z.$$minErr("ng"),
235 blockTransitions: function(a,
237 var c = b ? "-" + b + "s" : "";
243 transitionDuration: Na,
245 transitionProperty: M + "Property",
246 animationDuration: Ca,
248 animationIterationCount: ca + "IterationCount"
251 transitionDuration: Na,
253 animationDuration: Ca,
256 Da, wa, s, Z, za, sa, Ea, ta, G, R, A, N;
257 z.module("ngAnimate", [], function() {
271 angularVersion: "1.8.2"
272 }).directive("ngAnimateSwap", ["$animate", function(a) {
275 transclude: "element",
278 link: function(b, c, d, f, k) {
280 b.$watchCollection(d.ngAnimateSwap || d["for"], function(b) {
282 Q && (Q.$destroy(), Q = null);
283 (b || 0 === b) && k(function(b, d) {
291 }]).directive("ngAnimateChildren", ["$interpolate", function(a) {
293 link: function(b, c, d) {
295 c.data("$$ngAnimateChildren", "on" === a || "true" ===
298 var k = d.ngAnimateChildren;
299 G(k) && 0 === k.length ? c.data("$$ngAnimateChildren", !0) : (f(a(k)(b)), d.$observe("ngAnimateChildren", f))
302 }]).factory("$$rAFScheduler", ["$$rAF", function(a) {
310 for (var b = d.shift(), e = 0; e < b.length; e++) b[e]();
318 b.waitUntilQuiet = function(b) {
327 }]).provider("$$animateQueue", ["$animateProvider", function(a) {
330 addClass: a.addClass,
331 removeClass: a.removeClass,
340 var b = Object.create(null);
350 return a.split(" ").some(function(a) {
356 function f(a, b, c) {
357 return e[a].some(function(a) {
363 var c = 0 < (a.addClass || "").length,
364 d = 0 < (a.removeClass || "").length;
365 return b ? c && d : c || d
367 var e = this.rules = {
372 e.join.push(function(a, b) {
373 return !a.structural && k(a)
375 e.skip.push(function(a, b) {
376 return !a.structural && !k(a)
378 e.skip.push(function(a, b) {
379 return "leave" === b.event && a.structural
381 e.skip.push(function(a, b) {
382 return b.structural && 2 === b.state && !a.structural
384 e.cancel.push(function(a, b) {
385 return b.structural && a.structural
387 e.cancel.push(function(a, b) {
388 return 2 === b.state && a.structural
390 e.cancel.push(function(a, b) {
391 if (b.structural) return !1;
396 return R(c) && R(f) || R(k) && R(e) ? !1 : d(c, e) || d(f, k)
398 this.$get = ["$$rAF",
399 "$rootScope", "$rootElement", "$document", "$$Map", "$$animation", "$$AnimateRunner", "$templateRequest", "$$jqLite", "$$forceReflow", "$$isDocumentHidden",
400 function(c, d, e, C, U, oa, H, u, t, I, da) {
408 a ? b() : d.$$postDigest(function() {
415 function ua(a, b, c) {
418 l && s(l, function(l) {
419 Oa.call(l.node, b) ? g.push(l.callback) : "leave" === c && Oa.call(l.node, a) && g.push(l.callback)
424 function h(a, b, c) {
426 return a.filter(function(a) {
428 l && (!c || a.callback === c))
432 function q(a, J, w) {
433 function e(a, b, l, g) {
435 var a = ua(ia, m, b);
436 a.length ? c(function() {
440 "close" !== l || m.parentNode || D.off(m)
441 }) : "close" !== l || m.parentNode || D.off(m)
449 c.preparationClasses && (b.removeClass(c.preparationClasses), c.preparationClasses = null);
450 c.activeClasses && (b.removeClass(c.activeClasses), c.activeClasses = null);
464 Z(n.addClass) && (n.addClass = n.addClass.join(" "));
465 n.addClass && !G(n.addClass) && (n.addClass = null);
466 Z(n.removeClass) && (n.removeClass = n.removeClass.join(" "));
467 n.removeClass && !G(n.removeClass) && (n.removeClass = null);
468 n.from && !ta(n.from) && (n.from = null);
469 n.to && !ta(n.to) && (n.to = null);
470 if (!(B && m && fa(m, J, w) && Ya(m, n))) return I(), q;
471 var x = 0 <= ["enter", "move", "leave"].indexOf(J),
474 w = !P && y.get(m) || {};
476 P || p && 1 === w.state || (P = !E(m, ia, J));
478 e(q, J, "start", b(n)), I(), r && e(q, J, "close", b(n)), q;
484 addClass: n.addClass,
485 removeClass: n.removeClass,
491 if (f("skip", r, w)) {
492 if (2 === w.state) return I(), q;
496 if (f("cancel", r, w))
497 if (2 === w.state) w.runner.end();
498 else if (w.structural) w.close();
499 else return T(h, w, r), w.runner;
500 else if (f("join", r, w))
501 if (2 === w.state) T(h, r, {});
502 else return Ua(t, h, x ? J : null, n), J = r.event = w.event, n = T(h, w, r), w.runner
504 (p = r.structural) ||
505 (p = "animate" === r.event && 0 < Object.keys(r.options.to || {}).length || k(r));
506 if (!p) return I(), g(m), q;
507 var C = (w.counter || 0) + 1;
510 d.$$postDigest(function() {
515 t = 0 < (h.parent() || []).length && ("animate" === c.event || c.structural || k(c));
516 if (d || c.counter !== C || !t) {
517 d && (W(h, n), ha(h, n));
518 if (d || x && c.event !== J) n.domOperation(), q.end();
520 } else J = !c.structural && k(c, !0) ? "setClass" : c.event, l(m, 2), c = oa(h, J, c.options), q.setHost(c), e(q, J, "start", b(n)), c.done(function(a) {
522 (a = y.get(m)) && a.counter === C && g(m);
523 e(q, J, "close", b(n))
530 a = a.querySelectorAll("[data-ng-animate]");
532 var b = parseInt(a.getAttribute("data-ng-animate"), 10),
544 a.removeAttribute("data-ng-animate");
548 function E(a, b, c) {
551 g = a === c || "HTML" === a.nodeName,
556 for ((a = A.data(a, "$ngAnimatePin")) && (b = K(a)); b;) {
558 if (1 !== b.nodeType) break;
562 if (!0 === f && !1 !== m) {
565 } else !1 === f && (m = !1);
568 if (R(h) || !0 === h) a = A.data(b, "$$ngAnimateChildren"), za(a) && (h = a);
569 if (t && !1 === h) break;
572 if (!d && (a = A.data(b, "$ngAnimatePin"))) {
578 return (!t || h) && !0 !== m && d && g
581 function l(a, b, c) {
584 a.setAttribute("data-ng-animate", b);
585 c = (b = y.get(a)) ? wa(b, c) : c;
591 P = d.$watch(function() {
592 return 0 === u.totalPendingRequests
595 (P(), d.$$postDigest(function() {
596 d.$$postDigest(function() {
597 null === B && (B = !0)
601 m = Object.create(null);
602 U = a.customFilter();
603 var la = a.classNameFilter();
608 Ya = la ? function(a, b) {
609 var c = [a.getAttribute("class"), b.addClass, b.removeClass].join(" ");
613 Oa = Y.Node.prototype.contains || function(a) {
614 return this === a || !!(this.compareDocumentPosition(a) & 16)
617 on: function(a, b, c) {
624 A(b).on("$destroy", function() {
629 off: function(a, b, c) {
630 if (1 !== arguments.length || G(arguments[0])) {
632 l && (m[a] = 1 === arguments.length ? null : h(l, b, c))
634 for (l in b = arguments[0], m) m[l] = h(m[l], b)
636 pin: function(a, b) {
637 Fa(sa(a), "element", "not an element");
638 Fa(sa(b), "parentElement", "not an element");
639 a.data("$ngAnimatePin", b)
641 push: function(a, b, c, l) {
646 enabled: function(a, b) {
647 var c = arguments.length;
648 if (0 === c) b = !!B;
651 if (1 === c) b = !O.get(l);
653 if (!O.has(l)) A(a).on("$destroy",
664 }]).provider("$$animateCache", function() {
666 b = Object.create(null);
667 this.$get = [function() {
669 cacheKey: function(b, d, f, k) {
670 var e = b.parentNode;
671 b = [e.$$ngAnimateParentKey || (e.$$ngAnimateParentKey = ++a), d, b.getAttribute("class")];
676 containsCachedAnimationWithoutDuration: function(a) {
677 return (a = b[a]) && !a.isValid || !1
680 b = Object.create(null)
683 return (a = b[a]) ? a.total : 0
689 put: function(a, d, f) {
690 b[a] ? (b[a].total++, b[a].value = d) : b[a] = {
698 }).provider("$$animation", ["$animateProvider", function(a) {
699 var b = this.drivers = [];
700 this.$get = ["$$jqLite", "$rootScope", "$injector", "$$AnimateRunner", "$$Map", "$$rAFScheduler", "$$animateCache", function(a, d, f, k, e, Q, L) {
703 if (a.processed) return a;
710 h.processed || (h = b(h));
722 for (d = 0; d < a.length; d++) {
724 f.set(da.domNode, a[d] = {
731 for (d = 0; d < a.length; d++) b(a[d]);
736 for (d = 0; d < a.children.length; d++) c.push(a.children[d]);
740 for (d = 0; d < c.length; d++) {
742 0 >= a && (a = t, t = 0, b.push(f), f = []);
744 g.children.forEach(function(a) {
750 f.length && b.push(f);
759 a = a.hasAttribute("ng-animate-ref") ? [a] : a.querySelectorAll("[ng-animate-ref]");
762 var c = a.getAttribute("ng-animate-ref");
763 c && c.length && b.push(a)
771 s(a, function(a, d) {
772 var l = K(a.element),
773 g = 0 <= ["enter", "move"].indexOf(a.event),
774 l = a.structural ? t(l) : [];
776 var f = g ? "to" : "from";
778 var b = a.getAttribute("ng-animate-ref");
794 var h = a[f.animationID],
795 k = a[e.animationID],
796 E = f.animationID.toString();
800 beforeStart: function() {
808 classes: da(h.classes, k.classes),
813 I.classes.length ? b.push(I) : (b.push(h), b.push(k))
819 } else f = f ? f.animationID : e.animationID, e = f.toString(), d[e] || (d[e] = !0, b.push(a[f]))
827 for (var c = [], d = 0; d < a.length; d++) {
829 if ("ng-" !== g.substring(0, 3))
830 for (var t = 0; t < b.length; t++)
840 for (var c = b.length - 1; 0 <= c; c--) {
841 var d = f.get(b[c])(a);
848 (a = a.data("$$animationRunner")) && a.setHost(b)
850 a.from && a.to ? (c(a.from.element), c(a.to.element)) : c(a.element)
854 var a = e.data("$$animationRunner");
855 !a || "leave" === H && u.$$domOperationFired || a.end()
861 e.removeData("$$animationRunner");
865 E && a.removeClass(e, E);
869 var q = 0 <= ["enter", "move", "leave"].indexOf(H),
878 if (!b.length) return h(), F;
879 var g = Ga(e.attr("class"), Ga(u.addClass, u.removeClass)),
881 E && (g += " " + E, u.tempClasses = null);
882 q && e.data("$$animatePrepareClasses", "ng-" + H + "-prepare");
883 e.data("$$animationRunner", F);
890 beforeStart: function() {
892 (E ? E + " " : "") + "ng-animate";
894 var b = e.data("$$animatePrepareClasses");
895 b && a.removeClass(e, b)
899 e.on("$destroy", ua);
900 if (1 < C.length) return F;
901 d.$$postDigest(function() {
904 a.element.data("$$animationRunner") ? b.push(a) : a.close()
910 var b = a.from ? a.from.element : a.element,
912 d = L.cacheKey(b[0], a.event, (c ? c + " " : "") + "ng-animate", u.removeClass);
918 if (L.containsCachedAnimationWithoutDuration(d)) c();
921 if ((a.anchors ? a.from.element || a.to.element : a.element).data("$$animationRunner")) {
925 b ? (b = b(), b.done(function(a) {
932 for (var d = x(g), t = 0; t < d.length; t++)
933 for (var f = d[t], e = 0; e < f.length; e++) {
937 0 === t ? k.removeData("$$animatePrepareClasses") : (h = k.data("$$animatePrepareClasses")) && a.addClass(k, h)
944 }]).provider("$animateCss", ["$animateProvider", function(a) {
945 this.$get = ["$window", "$$jqLite", "$$AnimateRunner",
946 "$timeout", "$$animateCache", "$$forceReflow", "$sniffer", "$$rAFScheduler", "$$animateQueue",
947 function(a, c, d, f, k, e, Q, L, x) {
948 function C(d, f, e, x) {
949 var v, s = "stagger-" + e;
950 0 < k.count(e) && (v = k.get(s), v || (f = $(f, "-stagger"), c.addClass(d, f), v = Ka(a, d, x), v.animationDuration = Math.max(v.animationDuration, 0), v.transitionDuration = Math.max(v.transitionDuration, 0), c.removeClass(d, f), k.put(s, v, !0)));
956 L.waitUntilQuiet(function() {
958 for (var a = e(), b = 0; b < u.length; b++) u[b](a);
963 function z(c, d, f, e) {
965 d || (d = Ka(a, c, Wa), "infinite" === d.animationIterationCount && (d.animationIterationCount = 1));
966 k.put(f, d, e || 0 < d.transitionDuration || 0 < d.animationDuration);
968 f = c.animationDelay;
969 e = c.transitionDelay;
970 c.maxDelay = f && e ? Math.max(f, e) : f || e;
971 c.maxDuration = Math.max(c.animationDuration * c.animationIterationCount, c.transitionDuration);
976 return function(a, b) {
986 if (!(P || la && m)) {
989 V && !g.$$skipPreparationClasses &&
991 ba && c.removeClass(a, ba);
993 ra.blockTransitions(l, !1);
999 Object.keys(E).length && s(E, function(a, b) {
1000 a ? l.style.setProperty(b, a) : l.style.removeProperty(b)
1002 if (g.onDone) g.onDone();
1003 w && w.length && a.off(w.join(" "), q);
1004 var d = a.data("$$animateCss");
1005 d && (f.cancel(d[0].timer), a.removeData("$$animateCss"));
1006 fa && fa.complete(!b)
1011 p.blockTransition && ra.blockTransitions(l, a);
1012 p.blockKeyframeAnimation && xa(l, !!a)
1032 a.stopPropagation();
1033 var b = a.originalEvent || a;
1034 b.target === l && (a = b.$manualTimeStamp || Date.now(), b = parseFloat(b.elapsedTime.toFixed(3)), Math.max(a - J, 0) >= G && b >= D && (la = !0, v()))
1042 l.style[a[0]] = a[1]
1046 if (p.recalculateTimingStyles) {
1047 T = l.getAttribute("class") + " " + V;
1048 ka = k.cacheKey(l, ja, g.addClass, g.removeClass);
1049 r = z(l, T, ka, !1);
1058 p.hasTransitions = 0 < r.transitionDuration;
1059 p.hasAnimations = 0 < r.animationDuration
1061 p.applyAnimationDelay && (ga = "boolean" !== typeof g.delay && ya(g.delay) ? parseFloat(g.delay) : ga, W = Math.max(ga, 0), r.animationDelay = ga, ea = [qa, ga + "s"], y.push(ea), l.style[ea[0]] = ea[1]);
1065 var e, h = g.easing;
1066 p.hasTransitions && (e = M + "TimingFunction", y.push([e, h]), l.style[e] = h);
1067 p.hasAnimations && (e = ca + "TimingFunction", y.push([e, h]), l.style[e] = h)
1069 r.transitionDuration &&
1071 r.animationDuration && w.push(Ba);
1073 var m = G + 1.5 * R;
1075 var h = a.data("$$animateCss") || [],
1079 (F = e > n.expectedEndTime) ? f.cancel(n.timer): h.push(v)
1081 F && (m = f(d, m, !1), h[0] = {
1084 }, h.push(v), a.data("$$animateCss", h));
1085 if (w.length) a.on(w.join(" "), q);
1086 g.to && (g.cleanupStyles && Ma(E, l, Object.keys(g.to)), Ja(a, g))
1091 var b = a.data("$$animateCss");
1093 for (var c = 1; c < b.length; c++) b[c]();
1094 a.removeData("$$animateCss")
1101 if (la) m && a && (m = !1, v());
1102 else if (m = !a, r.animationDuration)
1103 if (a = xa(l, m), m) y.push(a);
1107 0 <= a && b.splice(c, 1)
1110 h = 0 < aa && (r.transitionDuration && 0 === X.transitionDuration || r.animationDuration && 0 === X.animationDuration) && Math.max(X.animationDelay, X.transitionDelay);
1111 h ? f(b, Math.floor(h * aa * 1E3), !1) : b();
1112 A.resume = function() {
1115 A.pause = function() {
1121 g.$$prepared || (g = pa(Da(g)));
1124 if (!l || !l.parentNode || !x.enabled()) return h();
1129 P, m, la, fa, A, W, G, D, R, J, w = [];
1130 if (0 === g.duration || !Q.animations && !Q.transitions) return h();
1131 var ja = g.event && Z(g.event) ? g.event.join(" ") : g.event,
1132 Y = ja && g.structural,
1135 Y ? n = $(ja, "ng-", !0) : ja && (n = ja);
1136 g.addClass && (S += $(g.addClass, "-add"));
1137 g.removeClass && (S.length && (S += " "), S += $(g.removeClass, "-remove"));
1138 g.applyClassesEarly && S.length && H(a, g);
1139 var V = [n, S].join(" ").trim(),
1141 O = B.to && 0 < Object.keys(B.to).length;
1142 if (!(0 < (g.keyframeStyle || "").length || O || V)) return h();
1144 k.cacheKey(l, ja, g.addClass, g.removeClass);
1145 if (k.containsCachedAnimationWithoutDuration(ka)) return V = null, h();
1146 0 < g.stagger ? (B = parseFloat(g.stagger), X = {
1149 transitionDuration: 0,
1150 animationDuration: 0
1151 }) : X = C(l, V, ka, Xa);
1152 g.$$skipPreparationClasses || c.addClass(a, V);
1153 g.transitionStyle && (B = [M, g.transitionStyle], ma(l, B), y.push(B));
1154 0 <= g.duration && (B = 0 < l.style[M].length, B = La(g.duration, B), ma(l, B), y.push(B));
1155 g.keyframeStyle && (B = [ca, g.keyframeStyle], ma(l, B), y.push(B));
1156 var aa = X ? 0 <= g.staggerIndex ?
1157 g.staggerIndex : k.count(ka) : 0;
1158 (n = 0 === aa) && !g.skipBlocking && ra.blockTransitions(l, 9999);
1159 var r = z(l, T, ka, !Y),
1161 W = Math.max(ga, 0);
1164 p.hasTransitions = 0 < r.transitionDuration;
1165 p.hasAnimations = 0 < r.animationDuration;
1166 p.hasTransitionAll = p.hasTransitions && "all" === r.transitionProperty;
1167 p.applyTransitionDuration = O && (p.hasTransitions && !p.hasTransitionAll || p.hasAnimations && !p.hasTransitions);
1168 p.applyAnimationDuration = g.duration && p.hasAnimations;
1169 p.applyTransitionDelay = ya(g.delay) && (p.applyTransitionDuration ||
1171 p.applyAnimationDelay = ya(g.delay) && p.hasAnimations;
1172 p.recalculateTimingStyles = 0 < S.length;
1173 if (p.applyTransitionDuration || p.applyAnimationDuration) D = g.duration ? parseFloat(g.duration) : D, p.applyTransitionDuration && (p.hasTransitions = !0, r.transitionDuration = D, B = 0 < l.style[M + "Property"].length, y.push(La(D, B))), p.applyAnimationDuration && (p.hasAnimations = !0, r.animationDuration = D, y.push([Ca, D + "s"]));
1174 if (0 === D && !p.recalculateTimingStyles) return h();
1175 var ba = $(V, "-active");
1176 if (null != g.delay) {
1178 "boolean" !== typeof g.delay && (ea = parseFloat(g.delay), W = Math.max(ea, 0));
1179 p.applyTransitionDelay && y.push([na, ea + "s"]);
1180 p.applyAnimationDelay && y.push([qa, ea + "s"])
1182 null == g.duration && 0 < r.transitionDuration && (p.recalculateTimingStyles = p.recalculateTimingStyles || n);
1185 g.skipBlocking || (p.blockTransition = 0 < r.transitionDuration, p.blockKeyframeAnimation = 0 < r.animationDuration && 0 < X.animationDelay && 0 === X.animationDuration);
1186 g.from && (g.cleanupStyles && Ma(E, l, Object.keys(g.from)), Ia(a, g));
1187 p.blockTransition ||
1188 p.blockKeyframeAnimation ? u(D) : g.skipBlocking || ra.blockTransitions(l, !1);
1193 if (!P) return A = {
1198 }, fa = new d(A), U(F), fa
1204 }]).provider("$$animateCssDriver", ["$$animationProvider", function(a) {
1205 a.drivers.push("$$animateCssDriver");
1206 this.$get = ["$animateCss", "$rootScope", "$$AnimateRunner", "$rootElement", "$sniffer", "$$jqLite", "$document", function(a, c, d, f, k, e, Q) {
1208 return a.replace(/\bng-\S+\b/g, "")
1214 G(b) && (b = b.split(" "));
1215 return a.filter(function(a) {
1216 return -1 === b.indexOf(a)
1220 function C(c, e, f) {
1223 c = K(a).getBoundingClientRect();
1224 s(["width", "height", "top", "left"], function(a) {
1233 b[a] = Math.floor(d) + "px"
1239 var c = L(f.attr("class") || ""),
1244 addClass: "ng-anchor-in " + d,
1245 removeClass: "ng-anchor-out " + c,
1248 return d.$$willAnimate ?
1254 e.removeClass("ng-animate-shim");
1255 f.removeClass("ng-animate-shim")
1257 var h = A(K(e).cloneNode(!0)),
1258 q = L(h.attr("class") || "");
1259 e.addClass("ng-animate-shim");
1260 f.addClass("ng-animate-shim");
1261 h.addClass("ng-anchor");
1266 addClass: "ng-anchor-out",
1270 return c.$$willAnimate ? c : null
1272 if (!c && (F = v(), !F)) return C();
1279 var b, c = g.start();
1282 if (!F && (F = v())) return c =
1283 F.start(), c.done(function() {
1299 function z(a, b, c, e) {
1304 (a = C(c, a.out, a["in"])) && h.push(a)
1306 if (f || k || 0 !== h.length) return {
1314 f && b.push(f.start());
1315 k && b.push(k.start());
1323 d.all(b, function(a) {
1333 e = c.options || {};
1334 c.structural && (e.event = c.event, e.structural = !0, e.applyClassesEarly = !0, "leave" === c.event && (e.onDone = e.domOperation));
1335 e.preparationClasses && (e.event = ba(e.event, e.preparationClasses));
1337 return c.$$willAnimate ? c : null
1339 if (!k.animations && !k.transitions) return N;
1342 var u = A(c.parentNode && 11 === c.parentNode.nodeType || H.contains(c) ? c : H);
1343 return function(a) {
1344 return a.from && a.to ? z(a.from, a.to, a.classes, a.anchors) : oa(a)
1347 }]).provider("$$animateJs", ["$animateProvider", function(a) {
1348 this.$get = ["$injector", "$$AnimateRunner", "$$jqLite", function(b, c, d) {
1350 c = Z(c) ? c : c.split(" ");
1351 for (var d = [], f = {}, k = 0; k < c.length; k++) {
1353 z = a.$$registeredAnimations[s];
1354 z && !f[s] && (d.push(b.get(z)), f[s] = !0)
1359 return function(a, b, d, x) {
1365 function z(a, b, d, f, e) {
1368 b = [b, f.from, f.to, e];
1385 if (Ea(a.start) && (a = a.start()), a instanceof c) a.done(e);
1386 else if (Ea(a)) return a;
1390 function A(a, b, d, e, f) {
1394 l && h.push(function() {
1397 h || (h = !0, (f || N)(a), e.complete(!a))
1403 cancel: function() {
1407 f = z(l, a, b, d, function(a) {
1416 function H(a, b, d, e, f) {
1417 var h = A(a, b, d, e, f);
1418 if (0 === h.length) {
1420 "beforeSetClass" === f ? (k = A(a, "removeClass", d, e, "beforeRemoveClass"), q = A(a, "addClass", d, e, "beforeAddClass")) :
1421 "setClass" === f && (k = A(a, "removeClass", d, e, "removeClass"), q = A(a, "addClass", d, e, "addClass"));
1422 k && (h = h.concat(k));
1423 q && (h = h.concat(q))
1425 if (0 !== h.length) return function(a) {
1427 h.length && s(h, function(a) {
1430 b.length ? c.all(b, a) : a();
1431 return function(a) {
1433 a ? b.cancel() : b.end()
1439 3 === arguments.length && ta(d) && (x = d, d = null);
1441 d || (d = a.attr("class") || "", x.addClass && (d += " " + x.addClass), x.removeClass && (d += " " + x.removeClass));
1449 "leave" === b ? (h = "leave", M = "afterLeave") : (h = "before" + b.charAt(0).toUpperCase() + b.substr(1), M = b);
1450 "enter" !== b && "move" !== b && (K = H(a, b, x, G, h));
1451 v = H(a, b, x, G, M)
1458 q ? q.end() : (u = !0, C(), ha(a, x), q = new c, q.complete(!0));
1471 K && f.push(function(a) {
1474 f.length ? f.push(function(a) {
1478 v && f.push(function(a) {
1484 N)(void 0), b(void 0))
1486 cancel: function() {
1487 u || ((d || N)(!0), b(!0))
1497 }]).provider("$$animateJsDriver", ["$$animationProvider", function(a) {
1498 a.drivers.push("$$animateJsDriver");
1499 this.$get = ["$$animateJs", "$$AnimateRunner", function(a, c) {
1501 return a(c.element, c.event, c.classes, c.options)
1503 return function(a) {
1504 if (a.from && a.to) {
1507 if (b || e) return {
1517 b && d.push(b.start());
1520 c.all(d, function(a) {
1534 })(window, window.angular);
1535 //# sourceMappingURL=angular-animate.min.js.map