summaryrefslogtreecommitdiffstats
path: root/js/vendor/angular
diff options
context:
space:
mode:
Diffstat (limited to 'js/vendor/angular')
-rw-r--r--js/vendor/angular/.bower.json8
-rw-r--r--js/vendor/angular/angular.js193
-rw-r--r--js/vendor/angular/angular.min.js555
-rw-r--r--js/vendor/angular/angular.min.js.gzipbin50065 -> 50404 bytes
-rw-r--r--js/vendor/angular/angular.min.js.map6
-rw-r--r--js/vendor/angular/bower.json2
-rw-r--r--js/vendor/angular/package.json2
7 files changed, 440 insertions, 326 deletions
diff --git a/js/vendor/angular/.bower.json b/js/vendor/angular/.bower.json
index ec1614632..f7c3b4179 100644
--- a/js/vendor/angular/.bower.json
+++ b/js/vendor/angular/.bower.json
@@ -1,15 +1,15 @@
{
"name": "angular",
- "version": "1.4.0-build.3887+sha.41fdb3d",
+ "version": "1.4.0-build.3911+sha.e57138d",
"main": "./angular.js",
"ignore": [],
"dependencies": {},
"homepage": "https://github.com/angular/bower-angular",
- "_release": "1.4.0-build.3887+sha.41fdb3d",
+ "_release": "1.4.0-build.3911+sha.e57138d",
"_resolution": {
"type": "version",
- "tag": "v1.4.0-build.3887+sha.41fdb3d",
- "commit": "c522cd5df7ccc23adb57788146c41c40ef402b03"
+ "tag": "v1.4.0-build.3911+sha.e57138d",
+ "commit": "e8bd7d1724e6326f65971ec4878135224e9d91f5"
},
"_source": "git://github.com/angular/bower-angular.git",
"_target": "~1.4.*",
diff --git a/js/vendor/angular/angular.js b/js/vendor/angular/angular.js
index d2beecf03..72673ba79 100644
--- a/js/vendor/angular/angular.js
+++ b/js/vendor/angular/angular.js
@@ -1,5 +1,5 @@
/**
- * @license AngularJS v1.4.0-build.3887+sha.41fdb3d
+ * @license AngularJS v1.4.0-build.3911+sha.e57138d
* (c) 2010-2015 Google, Inc. http://angularjs.org
* License: MIT
*/
@@ -57,7 +57,7 @@ function minErr(module, ErrorConstructor) {
return match;
});
- message += '\nhttp://errors.angularjs.org/1.4.0-build.3887+sha.41fdb3d/' +
+ message += '\nhttp://errors.angularjs.org/1.4.0-build.3911+sha.e57138d/' +
(module ? module + '/' : '') + code;
for (i = SKIP_INDEXES, paramPrefix = '?'; i < templateArgs.length; i++, paramPrefix = '&') {
@@ -157,6 +157,7 @@ function minErr(module, ErrorConstructor) {
createMap: true,
NODE_TYPE_ELEMENT: true,
+ NODE_TYPE_ATTRIBUTE: true,
NODE_TYPE_TEXT: true,
NODE_TYPE_COMMENT: true,
NODE_TYPE_DOCUMENT: true,
@@ -431,8 +432,6 @@ function baseExtend(dst, objs, deep) {
*
* @param {Object} dst Destination object.
* @param {...Object} src Source object(s).
- * @param {boolean=} deep if the last parameter is set to `true`, objects are recursively merged
- * (deep copy). Defaults to `false`.
* @returns {Object} Reference to `dst`.
*/
function extend(dst) {
@@ -1808,6 +1807,7 @@ function createMap() {
}
var NODE_TYPE_ELEMENT = 1;
+var NODE_TYPE_ATTRIBUTE = 2;
var NODE_TYPE_TEXT = 3;
var NODE_TYPE_COMMENT = 8;
var NODE_TYPE_DOCUMENT = 9;
@@ -2006,6 +2006,18 @@ function setupModuleLoader(window) {
*/
constant: invokeLater('$provide', 'constant', 'unshift'),
+ /**
+ * @ngdoc method
+ * @name angular.Module#decorator
+ * @module ng
+ * @param {string} The name of the service to decorate.
+ * @param {Function} This function will be invoked when the service needs to be
+ * instantiated and should return the decorated service instance.
+ * @description
+ * See {@link auto.$provide#decorator $provide.decorator()}.
+ */
+ decorator: invokeLater('$provide', 'decorator'),
+
/**
* @ngdoc method
* @name angular.Module#animation
@@ -2223,6 +2235,7 @@ function toDebugString(obj) {
$FilterProvider,
$InterpolateProvider,
$IntervalProvider,
+ $$HashMapProvider,
$HttpProvider,
$HttpBackendProvider,
$LocationProvider,
@@ -2262,7 +2275,7 @@ function toDebugString(obj) {
* - `codeName` – `{string}` – Code name of the release, such as "jiggling-armfat".
*/
var version = {
- full: '1.4.0-build.3887+sha.41fdb3d', // all of these placeholder strings will be replaced by grunt's
+ full: '1.4.0-build.3911+sha.e57138d', // all of these placeholder strings will be replaced by grunt's
major: 1, // package task
minor: 4,
dot: 0,
@@ -2399,12 +2412,24 @@ function publishExternalAPI(angular) {
$$rAF: $$RAFProvider,
$$asyncCallback: $$AsyncCallbackProvider,
$$jqLite: $$jqLiteProvider,
+ $$HashMap: $$HashMapProvider,
$$cookieReader: $$CookieReaderProvider
});
}
]);
}
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Any commits to this file should be reviewed with security in mind. *
+ * Changes to this file can potentially create security vulnerabilities. *
+ * An approval from 2 Core members with history of modifying *
+ * this file is required. *
+ * *
+ * Does the change somehow allow for arbitrary javascript to be executed? *
+ * Or allows for someone to change the prototype of built-in objects? *
+ * Or gives undesired access to variables likes document or window? *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
/* global JQLitePrototype: true,
addEventListenerFn: true,
removeEventListenerFn: true,
@@ -2992,6 +3017,10 @@ forEach({
},
attr: function(element, name, value) {
+ var nodeType = element.nodeType;
+ if (nodeType === NODE_TYPE_TEXT || nodeType === NODE_TYPE_ATTRIBUTE || nodeType === NODE_TYPE_COMMENT) {
+ return;
+ }
var lowercasedName = lowercase(name);
if (BOOLEAN_ATTR[lowercasedName]) {
if (isDefined(value)) {
@@ -3504,6 +3533,12 @@ HashMap.prototype = {
}
};
+var $$HashMapProvider = [function() {
+ this.$get = [function() {
+ return HashMap;
+ }];
+}];
+
/**
* @ngdoc function
* @module ng
@@ -5717,7 +5752,7 @@ function $CacheFactoryProvider() {
* the document, but it must be a descendent of the {@link ng.$rootElement $rootElement} (IE,
* element with ng-app attribute), otherwise the template will be ignored.
*
- * Adding via the $templateCache service:
+ * Adding via the `$templateCache` service:
*
* ```js
* var myApp = angular.module('myApp', []);
@@ -5745,6 +5780,17 @@ function $TemplateCacheProvider() {
}];
}
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Any commits to this file should be reviewed with security in mind. *
+ * Changes to this file can potentially create security vulnerabilities. *
+ * An approval from 2 Core members with history of modifying *
+ * this file is required. *
+ * *
+ * Does the change somehow allow for arbitrary javascript to be executed? *
+ * Or allows for someone to change the prototype of built-in objects? *
+ * Or gives undesired access to variables likes document or window? *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
/* ! VARIABLE/FUNCTION NAMING CONVENTIONS THAT APPLY TO THIS FILE!
*
* DOM-related variables:
@@ -7712,13 +7758,15 @@ function $CompileProvider($provide, $$sanitizeUriProvider) {
for (i in elementControllers) {
controller = elementControllers[i];
var controllerResult = controller();
- if (controllerResult !== controller.instance &&
- controller === controllerForBindings) {
- // Remove and re-install bindToController bindings
- thisLinkFn.$$destroyBindings();
- thisLinkFn.$$destroyBindings =
- initializeDirectiveBindings(scope, attrs, controllerResult,
- bindings, scopeDirective);
+ if (controllerResult !== controller.instance) {
+ controller.instance = controllerResult;
+ $element.data('$' + directive.name + 'Controller', controllerResult);
+ if (controller === controllerForBindings) {
+ // Remove and re-install bindToController bindings
+ thisLinkFn.$$destroyBindings();
+ thisLinkFn.$$destroyBindings =
+ initializeDirectiveBindings(scope, attrs, controllerResult, bindings, scopeDirective);
+ }
}
}
}
@@ -10414,6 +10462,7 @@ function $IntervalProvider() {
* indefinitely.
* @param {boolean=} [invokeApply=true] If set to `false` skips model dirty checking, otherwise
* will invoke `fn` within the {@link ng.$rootScope.Scope#$apply $apply} block.
+ * @param {...*=} Pass additional parameters to the executed function.
* @returns {promise} A promise which will be notified on each iteration.
*
* @example
@@ -10507,7 +10556,9 @@ function $IntervalProvider() {
* </example>
*/
function interval(fn, delay, count, invokeApply) {
- var setInterval = $window.setInterval,
+ var hasParams = arguments.length > 4,
+ args = hasParams ? sliceArgs(arguments, 4) : [],
+ setInterval = $window.setInterval,
clearInterval = $window.clearInterval,
iteration = 0,
skipApply = (isDefined(invokeApply) && !invokeApply),
@@ -10516,7 +10567,9 @@ function $IntervalProvider() {
count = isDefined(count) ? count : 0;
- promise.then(null, null, fn);
+ promise.then(null, null, (!hasParams) ? fn : function() {
+ fn.apply(null, args);
+ });
promise.$$intervalId = setInterval(function tick() {
deferred.notify(iteration++);
@@ -10620,7 +10673,15 @@ function $LocaleProvider() {
mediumDate: 'MMM d, y',
shortDate: 'M/d/yy',
mediumTime: 'h:mm:ss a',
- shortTime: 'h:mm a'
+ shortTime: 'h:mm a',
+ ERANAMES: [
+ "Before Christ",
+ "Anno Domini"
+ ],
+ ERAS: [
+ "BC",
+ "AD"
+ ]
},
pluralCat: function(num) {
@@ -11631,6 +11692,7 @@ function $LocationProvider() {
<button ng-click="$log.warn(message)">warn</button>
<button ng-click="$log.info(message)">info</button>
<button ng-click="$log.error(message)">error</button>
+ <button ng-click="$log.debug(message)">debug</button>
</div>
</file>
</example>
@@ -11761,6 +11823,17 @@ function $LogProvider() {
}];
}
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Any commits to this file should be reviewed with security in mind. *
+ * Changes to this file can potentially create security vulnerabilities. *
+ * An approval from 2 Core members with history of modifying *
+ * this file is required. *
+ * *
+ * Does the change somehow allow for arbitrary javascript to be executed? *
+ * Or allows for someone to change the prototype of built-in objects? *
+ * Or gives undesired access to variables likes document or window? *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
var $parseMinErr = minErr('$parse');
// Sandboxing Angular Expressions
@@ -14334,9 +14407,27 @@ function $RootScopeProvider() {
return TTL;
};
+ function createChildScopeClass(parent) {
+ function ChildScope() {
+ this.$$watchers = this.$$nextSibling =
+ this.$$childHead = this.$$childTail = null;
+ this.$$listeners = {};
+ this.$$listenerCount = {};
+ this.$$watchersCount = 0;
+ this.$id = nextUid();
+ this.$$ChildScope = null;
+ }
+ ChildScope.prototype = parent;
+ return ChildScope;
+ }
+
this.$get = ['$injector', '$exceptionHandler', '$parse', '$browser',
function($injector, $exceptionHandler, $parse, $browser) {
+ function destroyChildScope($event) {
+ $event.currentScope.$$destroyed = true;
+ }
+
/**
* @ngdoc type
* @name $rootScope.Scope
@@ -14460,16 +14551,7 @@ function $RootScopeProvider() {
// Only create a child scope class if somebody asks for one,
// but cache it to allow the VM to optimize lookups.
if (!this.$$ChildScope) {
- this.$$ChildScope = function ChildScope() {
- this.$$watchers = this.$$nextSibling =
- this.$$childHead = this.$$childTail = null;
- this.$$listeners = {};
- this.$$listenerCount = {};
- this.$$watchersCount = 0;
- this.$id = nextUid();
- this.$$ChildScope = null;
- };
- this.$$ChildScope.prototype = this;
+ this.$$ChildScope = createChildScopeClass(this);
}
child = new this.$$ChildScope();
}
@@ -14487,13 +14569,9 @@ function $RootScopeProvider() {
// prototypically. In all other cases, this property needs to be set
// when the parent scope is destroyed.
// The listener needs to be added after the parent is set
- if (isolate || parent != this) child.$on('$destroy', destroyChild);
+ if (isolate || parent != this) child.$on('$destroy', destroyChildScope);
return child;
-
- function destroyChild() {
- child.$$destroyed = true;
- }
},
/**
@@ -15663,6 +15741,17 @@ function $$SanitizeUriProvider() {
};
}
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Any commits to this file should be reviewed with security in mind. *
+ * Changes to this file can potentially create security vulnerabilities. *
+ * An approval from 2 Core members with history of modifying *
+ * this file is required. *
+ * *
+ * Does the change somehow allow for arbitrary javascript to be executed? *
+ * Or allows for someone to change the prototype of built-in objects? *
+ * Or gives undesired access to variables likes document or window? *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
var $sceMinErr = minErr('$sce');
var SCE_CONTEXTS = {
@@ -17007,6 +17096,7 @@ function $TimeoutProvider() {
* @param {number=} [delay=0] Delay in milliseconds.
* @param {boolean=} [invokeApply=true] If set to `false` skips model dirty checking, otherwise
* will invoke `fn` within the {@link ng.$rootScope.Scope#$apply $apply} block.
+ * @param {...*=} Pass additional parameters to the executed function.
* @returns {Promise} Promise that will be resolved when the timeout is reached. The value this
* promise will be resolved with is the return value of the `fn` function.
*
@@ -17018,14 +17108,15 @@ function $TimeoutProvider() {
fn = noop;
}
- var skipApply = (isDefined(invokeApply) && !invokeApply),
+ var args = sliceArgs(arguments, 3),
+ skipApply = (isDefined(invokeApply) && !invokeApply),
deferred = (skipApply ? $$q : $q).defer(),
promise = deferred.promise,
timeoutId;
timeoutId = $browser.defer(function() {
try {
- deferred.resolve(fn());
+ deferred.resolve(fn.apply(null, args));
} catch (e) {
deferred.reject(e);
$exceptionHandler(e);
@@ -17963,6 +18054,14 @@ function ampmGetter(date, formats) {
return date.getHours() < 12 ? formats.AMPMS[0] : formats.AMPMS[1];
}
+function eraGetter(date, formats) {
+ return date.getFullYear() <= 0 ? formats.ERAS[0] : formats.ERAS[1];
+}
+
+function longEraGetter(date, formats) {
+ return date.getFullYear() <= 0 ? formats.ERANAMES[0] : formats.ERANAMES[1];
+}
+
var DATE_FORMATS = {
yyyy: dateGetter('FullYear', 4),
yy: dateGetter('FullYear', 2, 0, true),
@@ -17989,10 +18088,14 @@ var DATE_FORMATS = {
a: ampmGetter,
Z: timeZoneGetter,
ww: weekGetter(2),
- w: weekGetter(1)
+ w: weekGetter(1),
+ G: eraGetter,
+ GG: eraGetter,
+ GGG: eraGetter,
+ GGGG: longEraGetter
};
-var DATE_FORMATS_SPLIT = /((?:[^yMdHhmsaZEw']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|w+))(.*)/,
+var DATE_FORMATS_SPLIT = /((?:[^yMdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/,
NUMBER_STRING = /^\-?\d+$/;
/**
@@ -18029,6 +18132,8 @@ var DATE_FORMATS_SPLIT = /((?:[^yMdHhmsaZEw']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d
* * `'Z'`: 4 digit (+sign) representation of the timezone offset (-1200-+1200)
* * `'ww'`: Week of year, padded (00-53). Week 01 is the week with the first Thursday of the year
* * `'w'`: Week of year (0-53). Week 1 is the week with the first Thursday of the year
+ * * `'G'`, `'GG'`, `'GGG'`: The abbreviated form of the era string (e.g. 'AD')
+ * * `'GGGG'`: The long form of the era string (e.g. 'Anno Domini')
*
* `format` string can also be one of the following predefined
* {@link guide/i18n localizable formats}:
@@ -25117,6 +25222,11 @@ var ngOptionsDirective = ['$compile', '$parse', function($compile, $parse) {
selectValueMap: selectValueMap,
getOptionFromViewValue: function(value) {
return selectValueMap[getTrackByValue(value, getLocals(value))];
+ },
+ getViewValueFromOption: function(option) {
+ // If the viewValue could be an object that may be mutated by the application,
+ // we need to make a copy and not return the reference to the value on the option.
+ return trackBy ? angular.copy(option.viewValue) : option.viewValue;
}
};
}
@@ -25210,7 +25320,7 @@ var ngOptionsDirective = ['$compile', '$parse', function($compile, $parse) {
if (selectedOption && !selectedOption.disabled) {
removeEmptyOption();
removeUnknownOption();
- return selectedOption.viewValue;
+ return options.getViewValueFromOption(selectedOption);
}
return null;
};
@@ -25244,7 +25354,7 @@ var ngOptionsDirective = ['$compile', '$parse', function($compile, $parse) {
forEach(selectedValues, function(value) {
var option = options.selectValueMap[value];
- if (!option.disabled) selections.push(option.viewValue);
+ if (!option.disabled) selections.push(options.getViewValueFromOption(option));
});
return selections;
@@ -25275,6 +25385,10 @@ var ngOptionsDirective = ['$compile', '$parse', function($compile, $parse) {
// We will re-render the option elements if the option values or labels change
scope.$watchCollection(ngOptions.getWatchables, updateOptions);
+ // We also need to watch to see if the internals of the model changes, since
+ // ngModel only watches for object identity change
+ scope.$watch(attr.ngModel, function() { ngModelCtrl.$render(); }, true);
+
// ------------------------------------------------------------------ //
@@ -25606,7 +25720,6 @@ var ngPluralizeDirective = ['$locale', '$interpolate', '$log', function($locale,
IS_WHEN = /^when(Minus)?(.+)$/;
return {
- restrict: 'EA',
link: function(scope, element, attr) {
var numberExp = attr.count,
whenExp = attr.$attr.when && element.attr(attr.$attr.when), // we have {{}} in attrs
@@ -25699,8 +25812,8 @@ var ngPluralizeDirective = ['$locale', '$interpolate', '$log', function($locale,
* <div ng-repeat="(key, value) in myObj"> ... </div>
* ```
*
- * You need to be aware that the JavaScript specification does not define what order
- * it will return the keys for an object. (To mitigate this in Angular 1.3 the `ngRepeat` directive
+ * You need to be aware that the JavaScript specification does not define the order of keys
+ * returned for an object. (To mitigate this in Angular 1.3 the `ngRepeat` directive
* used to sort the keys alphabetically.)
*
* Version 1.4 removed the alphabetic sorting. We now rely on the order returned by the browser
diff --git a/js/vendor/angular/angular.min.js b/js/vendor/angular/angular.min.js
index bac3e013b..b5c0ea2d3 100644
--- a/js/vendor/angular/angular.min.js
+++ b/js/vendor/angular/angular.min.js
@@ -1,282 +1,283 @@
/*
- AngularJS v1.4.0-build.3887+sha.41fdb3d
+ AngularJS v1.4.0-build.3911+sha.e57138d
(c) 2010-2015 Google, Inc. http://angularjs.org
License: MIT
*/
-(function(O,W,u){'use strict';function C(b){return function(){var a=arguments[0],c;c="["+(b?b+":":"")+a+"] http://errors.angularjs.org/1.4.0-build.3887+sha.41fdb3d/"+(b?b+"/":"")+a;for(a=1;a<arguments.length;a++){c=c+(1==a?"?":"&")+"p"+(a-1)+"=";var d=encodeURIComponent,e;e=arguments[a];e="function"==typeof e?e.toString().replace(/ \{[\s\S]*$/,""):"undefined"==typeof e?"undefined":"string"!=typeof e?JSON.stringify(e):e;c+=d(e)}return Error(c)}}function Oa(b){if(null==b||Pa(b))return!1;var a=b.length;
-return b.nodeType===oa&&a?!0:L(b)||J(b)||0===a||"number"===typeof a&&0<a&&a-1 in b}function p(b,a,c){var d,e;if(b)if(H(b))for(d in b)"prototype"==d||"length"==d||"name"==d||b.hasOwnProperty&&!b.hasOwnProperty(d)||a.call(c,b[d],d,b);else if(J(b)||Oa(b)){var f="object"!==typeof b;d=0;for(e=b.length;d<e;d++)(f||d in b)&&a.call(c,b[d],d,b)}else if(b.forEach&&b.forEach!==p)b.forEach(a,c,b);else for(d in b)b.hasOwnProperty(d)&&a.call(c,b[d],d,b);return b}function Kd(b,a,c){for(var d=Object.keys(b).sort(),
-e=0;e<d.length;e++)a.call(c,b[d[e]],d[e]);return d}function ic(b){return function(a,c){b(c,a)}}function Ld(){return++fb}function jc(b,a){a?b.$$hashKey=a:delete b.$$hashKey}function Jb(b,a,c){for(var d=b.$$hashKey,e=0,f=a.length;e<f;++e){var g=a[e];if(E(g)||H(g))for(var h=Object.keys(g),l=0,k=h.length;l<k;l++){var n=h[l],m=g[n];c&&E(m)?(E(b[n])||(b[n]=J(m)?[]:{}),Jb(b[n],[m],!0)):b[n]=m}}jc(b,d);return b}function R(b){return Jb(b,Ba.call(arguments,1),!1)}function Md(b){return Jb(b,Ba.call(arguments,
-1),!0)}function Z(b){return parseInt(b,10)}function Kb(b,a){return R(Object.create(b),a)}function F(){}function Qa(b){return b}function pa(b){return function(){return b}}function D(b){return"undefined"===typeof b}function x(b){return"undefined"!==typeof b}function E(b){return null!==b&&"object"===typeof b}function L(b){return"string"===typeof b}function U(b){return"number"===typeof b}function da(b){return"[object Date]"===sa.call(b)}function H(b){return"function"===typeof b}function Ra(b){return"[object RegExp]"===
-sa.call(b)}function Pa(b){return b&&b.window===b}function Sa(b){return b&&b.$evalAsync&&b.$watch}function Ta(b){return"boolean"===typeof b}function kc(b){return!(!b||!(b.nodeName||b.prop&&b.attr&&b.find))}function Nd(b){var a={};b=b.split(",");var c;for(c=0;c<b.length;c++)a[b[c]]=!0;return a}function ta(b){return N(b.nodeName||b[0]&&b[0].nodeName)}function Ua(b,a){var c=b.indexOf(a);0<=c&&b.splice(c,1);return c}function ua(b,a,c,d){if(Pa(b)||Sa(b))throw Ca("cpws");if(lc.test(sa.call(a)))throw Ca("cpta");
-if(a){if(b===a)throw Ca("cpi");c=c||[];d=d||[];if(E(b)){var e=c.indexOf(b);if(-1!==e)return d[e];c.push(b);d.push(a)}if(J(b))for(var f=a.length=0;f<b.length;f++)e=ua(b[f],null,c,d),E(b[f])&&(c.push(b[f]),d.push(e)),a.push(e);else{var g=a.$$hashKey;J(a)?a.length=0:p(a,function(b,c){delete a[c]});for(f in b)b.hasOwnProperty(f)&&(e=ua(b[f],null,c,d),E(b[f])&&(c.push(b[f]),d.push(e)),a[f]=e);jc(a,g)}}else if(a=b)J(b)?a=ua(b,[],c,d):lc.test(sa.call(b))?a=new b.constructor(b):da(b)?a=new Date(b.getTime()):
-Ra(b)?(a=new RegExp(b.source,b.toString().match(/[^\/]*$/)[0]),a.lastIndex=b.lastIndex):E(b)&&(e=Object.create(Object.getPrototypeOf(b)),a=ua(b,e,c,d));return a}function ea(b,a){if(J(b)){a=a||[];for(var c=0,d=b.length;c<d;c++)a[c]=b[c]}else if(E(b))for(c in a=a||{},b)if("$"!==c.charAt(0)||"$"!==c.charAt(1))a[c]=b[c];return a||b}function ja(b,a){if(b===a)return!0;if(null===b||null===a)return!1;if(b!==b&&a!==a)return!0;var c=typeof b,d;if(c==typeof a&&"object"==c)if(J(b)){if(!J(a))return!1;if((c=b.length)==
-a.length){for(d=0;d<c;d++)if(!ja(b[d],a[d]))return!1;return!0}}else{if(da(b))return da(a)?ja(b.getTime(),a.getTime()):!1;if(Ra(b))return Ra(a)?b.toString()==a.toString():!1;if(Sa(b)||Sa(a)||Pa(b)||Pa(a)||J(a)||da(a)||Ra(a))return!1;c={};for(d in b)if("$"!==d.charAt(0)&&!H(b[d])){if(!ja(b[d],a[d]))return!1;c[d]=!0}for(d in a)if(!c.hasOwnProperty(d)&&"$"!==d.charAt(0)&&a[d]!==u&&!H(a[d]))return!1;return!0}return!1}function Va(b,a,c){return b.concat(Ba.call(a,c))}function mc(b,a){var c=2<arguments.length?
-Ba.call(arguments,2):[];return!H(a)||a instanceof RegExp?a:c.length?function(){return arguments.length?a.apply(b,Va(c,arguments,0)):a.apply(b,c)}:function(){return arguments.length?a.apply(b,arguments):a.call(b)}}function Od(b,a){var c=a;"string"===typeof b&&"$"===b.charAt(0)&&"$"===b.charAt(1)?c=u:Pa(a)?c="$WINDOW":a&&W===a?c="$DOCUMENT":Sa(a)&&(c="$SCOPE");return c}function Wa(b,a){if("undefined"===typeof b)return u;U(a)||(a=a?2:null);return JSON.stringify(b,Od,a)}function nc(b){return L(b)?JSON.parse(b):
-b}function oc(b,a){var c=Date.parse("Jan 01, 1970 00:00:00 "+b)/6E4;return isNaN(c)?a:c}function Lb(b,a,c){c=c?-1:1;var d=oc(a,b.getTimezoneOffset());a=b;b=c*(d-b.getTimezoneOffset());a=new Date(a.getTime());a.setMinutes(a.getMinutes()+b);return a}function va(b){b=I(b).clone();try{b.empty()}catch(a){}var c=I("<div>").append(b).html();try{return b[0].nodeType===gb?N(c):c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+N(b)})}catch(d){return N(c)}}function pc(b){try{return decodeURIComponent(b)}catch(a){}}
-function qc(b){var a={},c,d;p((b||"").split("&"),function(b){b&&(c=b.replace(/\+/g,"%20").split("="),d=pc(c[0]),x(d)&&(b=x(c[1])?pc(c[1]):!0,rc.call(a,d)?J(a[d])?a[d].push(b):a[d]=[a[d],b]:a[d]=b))});return a}function Mb(b){var a=[];p(b,function(b,d){J(b)?p(b,function(b){a.push(Da(d,!0)+(!0===b?"":"="+Da(b,!0)))}):a.push(Da(d,!0)+(!0===b?"":"="+Da(b,!0)))});return a.length?a.join("&"):""}function hb(b){return Da(b,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function Da(b,a){return encodeURIComponent(b).replace(/%40/gi,
-"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,a?"%20":"+")}function Pd(b,a){var c,d,e=Ja.length;for(d=0;d<e;++d)if(c=Ja[d]+a,L(c=b.getAttribute(c)))return c;return null}function Qd(b,a){var c,d,e={};p(Ja,function(a){a+="app";!c&&b.hasAttribute&&b.hasAttribute(a)&&(c=b,d=b.getAttribute(a))});p(Ja,function(a){a+="app";var e;!c&&(e=b.querySelector("["+a.replace(":","\\:")+"]"))&&(c=e,d=e.getAttribute(a))});c&&(e.strictDi=null!==Pd(c,"strict-di"),
-a(c,d?[d]:[],e))}function sc(b,a,c){E(c)||(c={});c=R({strictDi:!1},c);var d=function(){b=I(b);if(b.injector()){var d=b[0]===W?"document":va(b);throw Ca("btstrpd",d.replace(/</,"&lt;").replace(/>/,"&gt;"));}a=a||[];a.unshift(["$provide",function(a){a.value("$rootElement",b)}]);c.debugInfoEnabled&&a.push(["$compileProvider",function(a){a.debugInfoEnabled(!0)}]);a.unshift("ng");d=Xa(a,c.strictDi);d.invoke(["$rootScope","$rootElement","$compile","$injector",function(a,b,c,d){a.$apply(function(){b.data("$injector",
-d);c(b)(a)})}]);return d},e=/^NG_ENABLE_DEBUG_INFO!/,f=/^NG_DEFER_BOOTSTRAP!/;O&&e.test(O.name)&&(c.debugInfoEnabled=!0,O.name=O.name.replace(e,""));if(O&&!f.test(O.name))return d();O.name=O.name.replace(f,"");$.resumeBootstrap=function(b){p(b,function(b){a.push(b)});return d()};H($.resumeDeferredBootstrap)&&$.resumeDeferredBootstrap()}function Rd(){O.name="NG_ENABLE_DEBUG_INFO!"+O.name;O.location.reload()}function Sd(b){b=$.element(b).injector();if(!b)throw Ca("test");return b.get("$$testability")}
-function tc(b,a){a=a||"_";return b.replace(Td,function(b,d){return(d?a:"")+b.toLowerCase()})}function Ud(){var b;if(!uc){var a=ib();ka=O.jQuery;x(a)&&(ka=null===a?u:O[a]);ka&&ka.fn.on?(I=ka,R(ka.fn,{scope:Ka.scope,isolateScope:Ka.isolateScope,controller:Ka.controller,injector:Ka.injector,inheritedData:Ka.inheritedData}),b=ka.cleanData,ka.cleanData=function(a){var d;if(Nb)Nb=!1;else for(var e=0,f;null!=(f=a[e]);e++)(d=ka._data(f,"events"))&&d.$destroy&&ka(f).triggerHandler("$destroy");b(a)}):I=P;$.element=
-I;uc=!0}}function Ob(b,a,c){if(!b)throw Ca("areq",a||"?",c||"required");return b}function jb(b,a,c){c&&J(b)&&(b=b[b.length-1]);Ob(H(b),a,"not a function, got "+(b&&"object"===typeof b?b.constructor.name||"Object":typeof b));return b}function La(b,a){if("hasOwnProperty"===b)throw Ca("badname",a);}function vc(b,a,c){if(!a)return b;a=a.split(".");for(var d,e=b,f=a.length,g=0;g<f;g++)d=a[g],b&&(b=(e=b)[d]);return!c&&H(b)?mc(e,b):b}function kb(b){var a=b[0];b=b[b.length-1];var c=[a];do{a=a.nextSibling;
-if(!a)break;c.push(a)}while(a!==b);return I(c)}function la(){return Object.create(null)}function Vd(b){function a(a,b,c){return a[b]||(a[b]=c())}var c=C("$injector"),d=C("ng");b=a(b,"angular",Object);b.$$minErr=b.$$minErr||C;return a(b,"module",function(){var b={};return function(f,g,h){if("hasOwnProperty"===f)throw d("badname","module");g&&b.hasOwnProperty(f)&&(b[f]=null);return a(b,f,function(){function a(c,d,e,f){f||(f=b);return function(){f[e||"push"]([c,d,arguments]);return t}}if(!g)throw c("nomod",
-f);var b=[],d=[],e=[],s=a("$injector","invoke","push",d),t={_invokeQueue:b,_configBlocks:d,_runBlocks:e,requires:g,name:f,provider:a("$provide","provider"),factory:a("$provide","factory"),service:a("$provide","service"),value:a("$provide","value"),constant:a("$provide","constant","unshift"),animation:a("$animateProvider","register"),filter:a("$filterProvider","register"),controller:a("$controllerProvider","register"),directive:a("$compileProvider","directive"),config:s,run:function(a){e.push(a);return this}};
-h&&s(h);return t})}})}function Wd(b){R(b,{bootstrap:sc,copy:ua,extend:R,merge:Md,equals:ja,element:I,forEach:p,injector:Xa,noop:F,bind:mc,toJson:Wa,fromJson:nc,identity:Qa,isUndefined:D,isDefined:x,isString:L,isFunction:H,isObject:E,isNumber:U,isElement:kc,isArray:J,version:Xd,isDate:da,lowercase:N,uppercase:lb,callbacks:{counter:0},getTestability:Sd,$$minErr:C,$$csp:Ya,reloadWithDebugInfo:Rd});Za=Vd(O);try{Za("ngLocale")}catch(a){Za("ngLocale",[]).provider("$locale",Yd)}Za("ng",["ngLocale"],["$provide",
-function(a){a.provider({$$sanitizeUri:Zd});a.provider("$compile",wc).directive({a:$d,input:xc,textarea:xc,form:ae,script:be,select:ce,style:de,option:ee,ngBind:fe,ngBindHtml:ge,ngBindTemplate:he,ngClass:ie,ngClassEven:je,ngClassOdd:ke,ngCloak:le,ngController:me,ngForm:ne,ngHide:oe,ngIf:pe,ngInclude:qe,ngInit:re,ngNonBindable:se,ngPluralize:te,ngRepeat:ue,ngShow:ve,ngStyle:we,ngSwitch:xe,ngSwitchWhen:ye,ngSwitchDefault:ze,ngOptions:Ae,ngTransclude:Be,ngModel:Ce,ngList:De,ngChange:Ee,pattern:yc,ngPattern:yc,
-required:zc,ngRequired:zc,minlength:Ac,ngMinlength:Ac,maxlength:Bc,ngMaxlength:Bc,ngValue:Fe,ngModelOptions:Ge}).directive({ngInclude:He}).directive(mb).directive(Cc);a.provider({$anchorScroll:Ie,$animate:Je,$browser:Ke,$cacheFactory:Le,$controller:Me,$document:Ne,$exceptionHandler:Oe,$filter:Dc,$interpolate:Pe,$interval:Qe,$http:Re,$httpBackend:Se,$location:Te,$log:Ue,$parse:Ve,$rootScope:We,$q:Xe,$$q:Ye,$sce:Ze,$sceDelegate:$e,$sniffer:af,$templateCache:bf,$templateRequest:cf,$$testability:df,$timeout:ef,
-$window:ff,$$rAF:gf,$$asyncCallback:hf,$$jqLite:jf,$$cookieReader:kf})}])}function $a(b){return b.replace(lf,function(a,b,d,e){return e?d.toUpperCase():d}).replace(mf,"Moz$1")}function Ec(b){b=b.nodeType;return b===oa||!b||9===b}function Fc(b,a){var c,d,e=a.createDocumentFragment(),f=[];if(Pb.test(b)){c=c||e.appendChild(a.createElement("div"));d=(nf.exec(b)||["",""])[1].toLowerCase();d=fa[d]||fa._default;c.innerHTML=d[1]+b.replace(of,"<$1></$2>")+d[2];for(d=d[0];d--;)c=c.lastChild;f=Va(f,c.childNodes);
-c=e.firstChild;c.textContent=""}else f.push(a.createTextNode(b));e.textContent="";e.innerHTML="";p(f,function(a){e.appendChild(a)});return e}function P(b){if(b instanceof P)return b;var a;L(b)&&(b=T(b),a=!0);if(!(this instanceof P)){if(a&&"<"!=b.charAt(0))throw Qb("nosel");return new P(b)}if(a){a=W;var c;b=(c=pf.exec(b))?[a.createElement(c[1])]:(c=Fc(b,a))?c.childNodes:[]}Gc(this,b)}function Rb(b){return b.cloneNode(!0)}function nb(b,a){a||ob(b);if(b.querySelectorAll)for(var c=b.querySelectorAll("*"),
-d=0,e=c.length;d<e;d++)ob(c[d])}function Hc(b,a,c,d){if(x(d))throw Qb("offargs");var e=(d=pb(b))&&d.events,f=d&&d.handle;if(f)if(a)p(a.split(" "),function(a){if(x(c)){var d=e[a];Ua(d||[],c);if(d&&0<d.length)return}b.removeEventListener(a,f,!1);delete e[a]});else for(a in e)"$destroy"!==a&&b.removeEventListener(a,f,!1),delete e[a]}function ob(b,a){var c=b.ng339,d=c&&qb[c];d&&(a?delete d.data[a]:(d.handle&&(d.events.$destroy&&d.handle({},"$destroy"),Hc(b)),delete qb[c],b.ng339=u))}function pb(b,a){var c=
-b.ng339,c=c&&qb[c];a&&!c&&(b.ng339=c=++qf,c=qb[c]={events:{},data:{},handle:u});return c}function Sb(b,a,c){if(Ec(b)){var d=x(c),e=!d&&a&&!E(a),f=!a;b=(b=pb(b,!e))&&b.data;if(d)b[a]=c;else{if(f)return b;if(e)return b&&b[a];R(b,a)}}}function rb(b,a){return b.getAttribute?-1<(" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+a+" "):!1}function sb(b,a){a&&b.setAttribute&&p(a.split(" "),function(a){b.setAttribute("class",T((" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g,
-" ").replace(" "+T(a)+" "," ")))})}function tb(b,a){if(a&&b.setAttribute){var c=(" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");p(a.split(" "),function(a){a=T(a);-1===c.indexOf(" "+a+" ")&&(c+=a+" ")});b.setAttribute("class",T(c))}}function Gc(b,a){if(a)if(a.nodeType)b[b.length++]=a;else{var c=a.length;if("number"===typeof c&&a.window!==a){if(c)for(var d=0;d<c;d++)b[b.length++]=a[d]}else b[b.length++]=a}}function Ic(b,a){return ub(b,"$"+(a||"ngController")+"Controller")}function ub(b,
-a,c){9==b.nodeType&&(b=b.documentElement);for(a=J(a)?a:[a];b;){for(var d=0,e=a.length;d<e;d++)if((c=I.data(b,a[d]))!==u)return c;b=b.parentNode||11===b.nodeType&&b.host}}function Jc(b){for(nb(b,!0);b.firstChild;)b.removeChild(b.firstChild)}function Tb(b,a){a||nb(b);var c=b.parentNode;c&&c.removeChild(b)}function rf(b,a){a=a||O;if("complete"===a.document.readyState)a.setTimeout(b);else I(a).on("load",b)}function Kc(b,a){var c=vb[a.toLowerCase()];return c&&Lc[ta(b)]&&c}function sf(b,a){var c=b.nodeName;
-return("INPUT"===c||"TEXTAREA"===c)&&Mc[a]}function tf(b,a){var c=function(c,e){c.isDefaultPrevented=function(){return c.defaultPrevented};var f=a[e||c.type],g=f?f.length:0;if(g){if(D(c.immediatePropagationStopped)){var h=c.stopImmediatePropagation;c.stopImmediatePropagation=function(){c.immediatePropagationStopped=!0;c.stopPropagation&&c.stopPropagation();h&&h.call(c)}}c.isImmediatePropagationStopped=function(){return!0===c.immediatePropagationStopped};1<g&&(f=ea(f));for(var l=0;l<g;l++)c.isImmediatePropagationStopped()||
-f[l].call(b,c)}};c.elem=b;return c}function jf(){this.$get=function(){return R(P,{hasClass:function(b,a){b.attr&&(b=b[0]);return rb(b,a)},addClass:function(b,a){b.attr&&(b=b[0]);return tb(b,a)},removeClass:function(b,a){b.attr&&(b=b[0]);return sb(b,a)}})}}function Ea(b,a){var c=b&&b.$$hashKey;if(c)return"function"===typeof c&&(c=b.$$hashKey()),c;c=typeof b;return c="function"==c||"object"==c&&null!==b?b.$$hashKey=c+":"+(a||Ld)():c+":"+b}function wb(b,a){if(a){var c=0;this.nextUid=function(){return++c}}p(b,
-this.put,this)}function uf(b){return(b=b.toString().replace(Nc,"").match(Oc))?"function("+(b[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function Xa(b,a){function c(a){return function(b,c){if(E(b))p(b,ic(a));else return a(b,c)}}function d(a,b){La(a,"service");if(H(b)||J(b))b=s.instantiate(b);if(!b.$get)throw Fa("pget",a);return m[a+"Provider"]=b}function e(a,b){return function(){var c=y.invoke(b,this);if(D(c))throw Fa("undef",a);return c}}function f(a,b,c){return d(a,{$get:!1!==c?e(a,b):b})}function g(a){var b=
-[],c;p(a,function(a){function d(a){var b,c;b=0;for(c=a.length;b<c;b++){var e=a[b],f=s.get(e[0]);f[e[1]].apply(f,e[2])}}if(!n.get(a)){n.put(a,!0);try{L(a)?(c=Za(a),b=b.concat(g(c.requires)).concat(c._runBlocks),d(c._invokeQueue),d(c._configBlocks)):H(a)?b.push(s.invoke(a)):J(a)?b.push(s.invoke(a)):jb(a,"module")}catch(e){throw J(a)&&(a=a[a.length-1]),e.message&&e.stack&&-1==e.stack.indexOf(e.message)&&(e=e.message+"\n"+e.stack),Fa("modulerr",a,e.stack||e.message||e);}}});return b}function h(b,c){function d(a,
-e){if(b.hasOwnProperty(a)){if(b[a]===l)throw Fa("cdep",a+" <- "+k.join(" <- "));return b[a]}try{return k.unshift(a),b[a]=l,b[a]=c(a,e)}catch(f){throw b[a]===l&&delete b[a],f;}finally{k.shift()}}function e(b,c,f,k){"string"===typeof f&&(k=f,f=null);var g=[],h=Xa.$$annotate(b,a,k),l,s,m;s=0;for(l=h.length;s<l;s++){m=h[s];if("string"!==typeof m)throw Fa("itkn",m);g.push(f&&f.hasOwnProperty(m)?f[m]:d(m,k))}J(b)&&(b=b[l]);return b.apply(c,g)}return{invoke:e,instantiate:function(a,b,c){var d=Object.create((J(a)?
-a[a.length-1]:a).prototype||null);a=e(a,d,b,c);return E(a)||H(a)?a:d},get:d,annotate:Xa.$$annotate,has:function(a){return m.hasOwnProperty(a+"Provider")||b.hasOwnProperty(a)}}}a=!0===a;var l={},k=[],n=new wb([],!0),m={$provide:{provider:c(d),factory:c(f),service:c(function(a,b){return f(a,["$injector",function(a){return a.instantiate(b)}])}),value:c(function(a,b){return f(a,pa(b),!1)}),constant:c(function(a,b){La(a,"constant");m[a]=b;t[a]=b}),decorator:function(a,b){var c=s.get(a+"Provider"),d=c.$get;
-c.$get=function(){var a=y.invoke(d,c);return y.invoke(b,null,{$delegate:a})}}}},s=m.$injector=h(m,function(a,b){$.isString(b)&&k.push(b);throw Fa("unpr",k.join(" <- "));}),t={},y=t.$injector=h(t,function(a,b){var c=s.get(a+"Provider",b);return y.invoke(c.$get,c,u,a)});p(g(b),function(a){y.invoke(a||F)});return y}function Ie(){var b=!0;this.disableAutoScrolling=function(){b=!1};this.$get=["$window","$location","$rootScope",function(a,c,d){function e(a){var b=null;Array.prototype.some.call(a,function(a){if("a"===
-ta(a))return b=a,!0});return b}function f(b){if(b){b.scrollIntoView();var c;c=g.yOffset;H(c)?c=c():kc(c)?(c=c[0],c="fixed"!==a.getComputedStyle(c).position?0:c.getBoundingClientRect().bottom):U(c)||(c=0);c&&(b=b.getBoundingClientRect().top,a.scrollBy(0,b-c))}else a.scrollTo(0,0)}function g(){var a=c.hash(),b;a?(b=h.getElementById(a))?f(b):(b=e(h.getElementsByName(a)))?f(b):"top"===a&&f(null):f(null)}var h=a.document;b&&d.$watch(function(){return c.hash()},function(a,b){a===b&&""===a||rf(function(){d.$evalAsync(g)})});
-return g}]}function hf(){this.$get=["$$rAF","$timeout",function(b,a){return b.supported?function(a){return b(a)}:function(b){return a(b,0,!1)}}]}function vf(b,a,c,d){function e(a){try{a.apply(null,Ba.call(arguments,1))}finally{if(y--,0===y)for(;w.length;)try{w.pop()()}catch(b){c.error(b)}}}function f(){g();h()}function g(){a:{try{v=n.state;break a}catch(a){}v=void 0}v=D(v)?null:v;ja(v,A)&&(v=A);A=v}function h(){if(B!==l.url()||q!==v)B=l.url(),q=v,p(Q,function(a){a(l.url(),v)})}var l=this,k=b.location,
-n=b.history,m=b.setTimeout,s=b.clearTimeout,t={};l.isMock=!1;var y=0,w=[];l.$$completeOutstandingRequest=e;l.$$incOutstandingRequestCount=function(){y++};l.notifyWhenNoOutstandingRequests=function(a){0===y?a():w.push(a)};var v,q,B=k.href,G=a.find("base"),z=null;g();q=v;l.url=function(a,c,e){D(e)&&(e=null);k!==b.location&&(k=b.location);n!==b.history&&(n=b.history);if(a){var f=q===e;if(B===a&&(!d.history||f))return l;var h=B&&Ga(B)===Ga(a);B=a;q=e;!d.history||h&&f?(h||(z=a),c?k.replace(a):h?(c=k,e=
-a.indexOf("#"),a=-1===e?"":a.substr(e+1),c.hash=a):k.href=a):(n[c?"replaceState":"pushState"](e,"",a),g(),q=v);return l}return z||k.href.replace(/%27/g,"'")};l.state=function(){return v};var Q=[],M=!1,A=null;l.onUrlChange=function(a){if(!M){if(d.history)I(b).on("popstate",f);I(b).on("hashchange",f);M=!0}Q.push(a);return a};l.$$checkUrlChange=h;l.baseHref=function(){var a=G.attr("href");return a?a.replace(/^(https?\:)?\/\/[^\/]*/,""):""};l.defer=function(a,b){var c;y++;c=m(function(){delete t[c];e(a)},
-b||0);t[c]=!0;return c};l.defer.cancel=function(a){return t[a]?(delete t[a],s(a),e(F),!0):!1}}function Ke(){this.$get=["$window","$log","$sniffer","$document",function(b,a,c,d){return new vf(b,d,a,c)}]}function Le(){this.$get=function(){function b(b,d){function e(a){a!=m&&(s?s==a&&(s=a.n):s=a,f(a.n,a.p),f(a,m),m=a,m.n=null)}function f(a,b){a!=b&&(a&&(a.p=b),b&&(b.n=a))}if(b in a)throw C("$cacheFactory")("iid",b);var g=0,h=R({},d,{id:b}),l={},k=d&&d.capacity||Number.MAX_VALUE,n={},m=null,s=null;return a[b]=
-{put:function(a,b){if(!D(b)){if(k<Number.MAX_VALUE){var c=n[a]||(n[a]={key:a});e(c)}a in l||g++;l[a]=b;g>k&&this.remove(s.key);return b}},get:function(a){if(k<Number.MAX_VALUE){var b=n[a];if(!b)return;e(b)}return l[a]},remove:function(a){if(k<Number.MAX_VALUE){var b=n[a];if(!b)return;b==m&&