upgrade to AnuglarJS 0.10.6 bubblewrap-cape

master
Misko Hevery 13 years ago
parent 2682dab1b7
commit 02e4c215eb

1
.gitignore vendored

@ -5,3 +5,4 @@ build.xml
.project
.settings
.idea/*

@ -0,0 +1,53 @@
<!doctype html>
<html xmlns:ng="http://angularjs.org/" ng:app="myApp">
<head>
<meta charset="utf-8">
<script>
// include angular loader, which allows the files to load in any order
/*
AngularJS v0.10.6-5cdfe45a
(c) 2010-2012 AngularJS http://angularjs.org
License: MIT
*/
'use strict';(function(i){function d(a,b,c){return a[b]||(a[b]=c())}return d(d(i,"angular",Object),"module",function(){var a={};return function(b,c,e){c&&a.hasOwnProperty(b)&&(a[b]=null);return d(a,b,function(){function a(b,c){return function(){d.push([b,c,arguments]);return f}}if(!c)throw Error("No module: "+b);var d=[],g=[],h=a("$injector","invoke"),f={_invokeQueue:d,_runBlocks:g,requires:c,name:b,service:a("$provide","service"),factory:a("$provide","factory"),value:a("$provide","value"),filter:a("$filterProvider",
"register"),config:h,run:function(a){g.push(a);return this}};e&&h(e);return f})}})})(window);
// include a third-party async loader library
/*!
* $script.js v1.3
* https://github.com/ded/script.js
* Copyright: @ded & @fat - Dustin Diaz, Jacob Thornton 2011
* Follow our software http://twitter.com/dedfat
* License: MIT
*/
!function(a,b,c){function t(a,c){var e=b.createElement("script"),f=j;e.onload=e.onerror=e[o]=function(){e[m]&&!/^c|loade/.test(e[m])||f||(e.onload=e[o]=null,f=1,c())},e.async=1,e.src=a,d.insertBefore(e,d.firstChild)}function q(a,b){p(a,function(a){return!b(a)})}var d=b.getElementsByTagName("head")[0],e={},f={},g={},h={},i="string",j=!1,k="push",l="DOMContentLoaded",m="readyState",n="addEventListener",o="onreadystatechange",p=function(a,b){for(var c=0,d=a.length;c<d;++c)if(!b(a[c]))return j;return 1};!b[m]&&b[n]&&(b[n](l,function r(){b.removeEventListener(l,r,j),b[m]="complete"},j),b[m]="loading");var s=function(a,b,d){function o(){if(!--m){e[l]=1,j&&j();for(var a in g)p(a.split("|"),n)&&!q(g[a],n)&&(g[a]=[])}}function n(a){return a.call?a():e[a]}a=a[k]?a:[a];var i=b&&b.call,j=i?b:d,l=i?a.join(""):b,m=a.length;c(function(){q(a,function(a){h[a]?(l&&(f[l]=1),o()):(h[a]=1,l&&(f[l]=1),t(s.path?s.path+a+".js":a,o))})},0);return s};s.get=t,s.ready=function(a,b,c){a=a[k]?a:[a];var d=[];!q(a,function(a){e[a]||d[k](a)})&&p(a,function(a){return e[a]})?b():!function(a){g[a]=g[a]||[],g[a][k](b),c&&c(d)}(a.join("|"));return s};var u=a.$script;s.noConflict=function(){a.$script=u;return this},typeof module!="undefined"&&module.exports?module.exports=s:a.$script=s}(this,document,setTimeout)
// load all of the dependencies asynchronously.
$script([
'lib/angular/angular.js',
'js/app.js',
'js/services.js',
'js/controllers.js',
'js/filters.js',
'js/widgets.js'
], function() {
// when all is done, execute bootstrap angular application
angular.bootstrap(document, ['myApp']);
});
</script>
<title>my angular app</title>
<link rel="stylesheet" href="css/app.css"/>
</head>
<body>
<ul class="menu">
<li><a href="#/view1">view1</a></li>
<li><a href="#/view2">view2</a></li>
</ul>
<ng:view></ng:view>
<div>Angular seed app: v<span app-version></span></div>
</head>
</body>
</html>

@ -1,5 +1,5 @@
<!doctype html>
<html xmlns:ng="http://angularjs.org/">
<html xmlns:ng="http://angularjs.org/" ng:app="myApp">
<head>
<meta charset="utf-8">
<title>my angular app</title>
@ -13,7 +13,10 @@
<ng:view></ng:view>
<div>Angular seed app: v<span app-version></span></div>
<script src="lib/angular/angular.js" ng:autobind></script>
<script src="js/app.js"></script>
<script src="js/services.js"></script>
<script src="js/controllers.js"></script>
<script src="js/filters.js"></script>

@ -0,0 +1,17 @@
'use strict';
/* http://docs.angularjs.org/#!angular.service */
// Declare app level module which depends on filters, and services
angular.module('myApp', ['myApp.filters', 'myApp.services', 'myApp.widgets']).
run(['$route', '$window', '$rootScope', function($route, $window, $rootScope) {
$route.when('/view1', {template: 'partials/partial1.html', controller: MyCtrl1});
$route.when('/view2', {template: 'partials/partial2.html', controller: MyCtrl2});
$route.otherwise({redirectTo: '/view1'});
var self = this;
$rootScope.$on('$afterRouteChange', function(){
$window.scrollTo(0,0);
});
}]);

@ -1,3 +1,4 @@
'use strict';
/* App Controllers */

@ -1 +1,9 @@
'use strict';
/* http://docs.angularjs.org/#!angular.filter */
angular.module('myApp.filters', []).
filter('interpolate', ['version', function(version) {
return function(text) {
return String(text).replace(/\%VERSION\%/mg, version);
}
}]);

@ -1,18 +1,7 @@
'use strict';
/* http://docs.angularjs.org/#!angular.service */
/**
* App service which is responsible for the main configuration of the app.
*/
angular.service('myAngularApp', function($route, $window) {
$route.when('/view1', {template: 'partials/partial1.html', controller: MyCtrl1});
$route.when('/view2', {template: 'partials/partial2.html', controller: MyCtrl2});
$route.otherwise({redirectTo: '/view1'});
var self = this;
self.$on('$afterRouteChange', function(){
$window.scrollTo(0,0);
});
}, {$inject:['$route', '$window'], $eager: true});
// Demonstrate how to register services
// In this case it is a simple constant service.
angular.module('myApp.services', []).
value('version', '0.1');

@ -1 +1,11 @@
'use strict';
/* http://docs.angularjs.org/#!angular.widget */
angular.module('myApp.widgets', [], function() {
// temporary hack until we have proper directive injection.
angular.directive('app-version', function() {
return ['version', '$element', function(version, element) {
element.text(version);
}];
});
});

@ -1,35 +0,0 @@
/*
Content-Type: multipart/related; boundary="_"
--_
Content-Location:img0
Content-Transfer-Encoding:base64
R0lGODlhCwAXAKIAAMzMzO/v7/f39////////wAAAAAAAAAAACH5BAUUAAQALAAAAAALABcAAAMrSLoc/AG8FeUUIN+sGebWAnbKSJodqqlsOxJtqYooU9vvk+vcJIcTkg+QAAA7
--_
Content-Location:img1
Content-Transfer-Encoding:base64
R0lGODlhCwAXAKIAAMzMzO/v7/f39////////wAAAAAAAAAAACH5BAUUAAQALAAAAAALABcAAAMrCLTcoM29yN6k9socs91e5X3EyJloipYrO4ohTMqA0Fn2XVNswJe+H+SXAAA7
--_
Content-Location:img2
Content-Transfer-Encoding:base64
R0lGODlhEAAQAPQAAP///wAAAPDw8IqKiuDg4EZGRnp6egAAAFhYWCQkJKysrL6+vhQUFJycnAQEBDY2NmhoaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAAFdyAgAgIJIeWoAkRCCMdBkKtIHIngyMKsErPBYbADpkSCwhDmQCBethRB6Vj4kFCkQPG4IlWDgrNRIwnO4UKBXDufzQvDMaoSDBgFb886MiQadgNABAokfCwzBA8LCg0Egl8jAggGAA1kBIA1BAYzlyILczULC2UhACH5BAkKAAAALAAAAAAQABAAAAV2ICACAmlAZTmOREEIyUEQjLKKxPHADhEvqxlgcGgkGI1DYSVAIAWMx+lwSKkICJ0QsHi9RgKBwnVTiRQQgwF4I4UFDQQEwi6/3YSGWRRmjhEETAJfIgMFCnAKM0KDV4EEEAQLiF18TAYNXDaSe3x6mjidN1s3IQAh+QQJCgAAACwAAAAAEAAQAAAFeCAgAgLZDGU5jgRECEUiCI+yioSDwDJyLKsXoHFQxBSHAoAAFBhqtMJg8DgQBgfrEsJAEAg4YhZIEiwgKtHiMBgtpg3wbUZXGO7kOb1MUKRFMysCChAoggJCIg0GC2aNe4gqQldfL4l/Ag1AXySJgn5LcoE3QXI3IQAh+QQJCgAAACwAAAAAEAAQAAAFdiAgAgLZNGU5joQhCEjxIssqEo8bC9BRjy9Ag7GILQ4QEoE0gBAEBcOpcBA0DoxSK/e8LRIHn+i1cK0IyKdg0VAoljYIg+GgnRrwVS/8IAkICyosBIQpBAMoKy9dImxPhS+GKkFrkX+TigtLlIyKXUF+NjagNiEAIfkECQoAAAAsAAAAABAAEAAABWwgIAICaRhlOY4EIgjH8R7LKhKHGwsMvb4AAy3WODBIBBKCsYA9TjuhDNDKEVSERezQEL0WrhXucRUQGuik7bFlngzqVW9LMl9XWvLdjFaJtDFqZ1cEZUB0dUgvL3dgP4WJZn4jkomWNpSTIyEAIfkECQoAAAAsAAAAABAAEAAABX4gIAICuSxlOY6CIgiD8RrEKgqGOwxwUrMlAoSwIzAGpJpgoSDAGifDY5kopBYDlEpAQBwevxfBtRIUGi8xwWkDNBCIwmC9Vq0aiQQDQuK+VgQPDXV9hCJjBwcFYU5pLwwHXQcMKSmNLQcIAExlbH8JBwttaX0ABAcNbWVbKyEAIfkECQoAAAAsAAAAABAAEAAABXkgIAICSRBlOY7CIghN8zbEKsKoIjdFzZaEgUBHKChMJtRwcWpAWoWnifm6ESAMhO8lQK0EEAV3rFopIBCEcGwDKAqPh4HUrY4ICHH1dSoTFgcHUiZjBhAJB2AHDykpKAwHAwdzf19KkASIPl9cDgcnDkdtNwiMJCshACH5BAkKAAAALAAAAAAQABAAAAV3ICACAkkQZTmOAiosiyAoxCq+KPxCNVsSMRgBsiClWrLTSWFoIQZHl6pleBh6suxKMIhlvzbAwkBWfFWrBQTxNLq2RG2yhSUkDs2b63AYDAoJXAcFRwADeAkJDX0AQCsEfAQMDAIPBz0rCgcxky0JRWE1AmwpKyEAIfkECQoAAAAsAAAAABAAEAAABXkgIAICKZzkqJ4nQZxLqZKv4NqNLKK2/Q4Ek4lFXChsg5ypJjs1II3gEDUSRInEGYAw6B6zM4JhrDAtEosVkLUtHA7RHaHAGJQEjsODcEg0FBAFVgkQJQ1pAwcDDw8KcFtSInwJAowCCA6RIwqZAgkPNgVpWndjdyohACH5BAkKAAAALAAAAAAQABAAAAV5ICACAimc5KieLEuUKvm2xAKLqDCfC2GaO9eL0LABWTiBYmA06W6kHgvCqEJiAIJiu3gcvgUsscHUERm+kaCxyxa+zRPk0SgJEgfIvbAdIAQLCAYlCj4DBw0IBQsMCjIqBAcPAooCBg9pKgsJLwUFOhCZKyQDA3YqIQAh+QQJCgAAACwAAAAAEAAQAAAFdSAgAgIpnOSonmxbqiThCrJKEHFbo8JxDDOZYFFb+A41E4H4OhkOipXwBElYITDAckFEOBgMQ3arkMkUBdxIUGZpEb7kaQBRlASPg0FQQHAbEEMGDSVEAA1QBhAED1E0NgwFAooCDWljaQIQCE5qMHcNhCkjIQAh+QQJCgAAACwAAAAAEAAQAAAFeSAgAgIpnOSoLgxxvqgKLEcCC65KEAByKK8cSpA4DAiHQ/DkKhGKh4ZCtCyZGo6F6iYYPAqFgYy02xkSaLEMV34tELyRYNEsCQyHlvWkGCzsPgMCEAY7Cg04Uk48LAsDhRA8MVQPEF0GAgqYYwSRlycNcWskCkApIyEAOwAAAAAAAAAAAA==
--_--
*/
(function(){
var jsUri = document.location.href.replace(/\/[^\/]+(#.*)?$/, '/') +
document.getElementById('ng-ie-compat').src,
css = '#ng-callout .ng-arrow-left{*background-image:url("mhtml:' + jsUri + '!img0")}#ng-callout .ng-arrow-right{*background-image:url("mhtml:' + jsUri + '!img1")}.ng-input-indicator-wait {*background-image:url("mhtml:' + jsUri + '!img2")}',
s = document.createElement('style');
s.setAttribute('type', 'text/css');
if (s.styleSheet) {
s.styleSheet.cssText = css;
} else {
s.appendChild(document.createTextNode(css));
}
document.getElementsByTagName('head')[0].appendChild(s);
})();

@ -0,0 +1,221 @@
/**
* @license AngularJS v0.10.6-5cdfe45a
* (c) 2010-2012 AngularJS http://angularjs.org
* License: MIT
*/
(
/**
* @ngdoc interface
* @name angular.Module
* @description
*
* Interface for configuring angular {@link angular.module modules}.
*/
function setupModuleLoader(window) {
function ensure(obj, name, factory) {
return obj[name] || (obj[name] = factory());
}
return ensure(ensure(window, 'angular', Object), 'module', function() {
/** @type {Object.<string, angular.Module>} */
var modules = {};
/**
* @ngdoc function
* @name angular.module
* @description
*
* The `angular.module` is a global place for registering angular modules. All modules
* (angular core or 3rd party) that should be available to an application must be registered using this mechanism.
*
* # Module
*
* A module is a collocation of services, directives, filters, and configure information. Module is used to configure the,
* {@link angular.module.AUTO.$injector $injector}.
*
* <pre>
* // Create a new module
* var myModule = angular.module('myModule', []);
*
* // configure a new service
* myModule.value('appName', 'MyCoolApp');
*
* // configure existing services inside initialization blocks.
* myModule.init(function($locationProvider) {
* // Configure existing providers
* $locationProvider.hashPrefix = '!';
* });
* </pre>
*
* Then you can load your module like this:
*
* <pre>
* var injector = angular.injector(['ng', 'MyModule'])
* </pre>
*
* @param {!string} name The name of the module to create or retrieve.
* @param {Array.<string>=} requires If specified then new module is being created. If unspecified then the
* the module is being retrieved for further configuration.
* @param {Function} initFn Option configuration function for the module. Same as
* {@link angular.Module#init Module.init()}.
* @return {angular.Module}
*/
return function module(name, requires, configFn) {
if (requires && modules.hasOwnProperty(name)) {
modules[name] = null;
}
return ensure(modules, name, function() {
if (!requires) {
throw Error('No module: ' + name);
}
/** @type {!Array.<Array.<*>>} */
var invokeQueue = [];
/** @type {!Array.<Function>} */
var runBlocks = [];
var config = invokeLater('$injector', 'invoke');
/** @type {angular.Module} */
var moduleInstance = {
// Private state
_invokeQueue: invokeQueue,
_runBlocks: runBlocks,
/**
* @ngdoc property
* @name angular.Module#requires
* @propertyOf angular.Module
* @returns {Array.<string>} List of module names which must be loaded before this module.
* @description
* Holds the list of modules which the injector will load before the current module is loaded.
*/
requires: requires,
/**
* @ngdoc property
* @name angular.Module#name
* @propertyOf angular.Module
* @returns {string} Name of the module.
* @description
*/
name: name,
/**
* @ngdoc method
* @name angular.Module#service
* @methodOf angular.Module
* @param {string} name service name
* @param {Function} providerType Construction function for creating new instance of the service.
* @description
* See {@link angular.module.AUTO.$provide#service $provide.service()}.
*/
service: invokeLater('$provide', 'service'),
/**
* @ngdoc method
* @name angular.Module#factory
* @methodOf angular.Module
* @param {string} name service name
* @param {Function} providerFunction Function for creating new instance of the service.
* @description
* See {@link angular.module.AUTO.$provide#service $provide.factory()}.
*/
factory: invokeLater('$provide', 'factory'),
/**
* @ngdoc method
* @name angular.Module#value
* @methodOf angular.Module
* @param {string} name service name
* @param {*} object Service instance object.
* @description
* See {@link angular.module.AUTO.$provide#value $provide.value()}.
*/
value: invokeLater('$provide', 'value'),
/**
* @ngdoc method
* @name angular.Module#filter
* @methodOf angular.Module
* @param {string} name filterr name
* @param {Function} filterFactory Factory function for creating new instance of filter.
* @description
* See {@link angular.module.ng.$filterProvider#register $filterProvider.register()}.
*/
filter: invokeLater('$filterProvider', 'register'),
/**
* @ngdoc method
* @name angular.Module#config
* @methodOf angular.Module
* @param {Function} initializationFn Execute this function on module load. Useful for
* service configuration.
* @description
* Use this method to register work which needs to be performed on module loading.
*/
config: config,
/**
* @ngdoc method
* @name angular.Module#run
* @methodOf angular.Module
* @param {Function} initializationFn Execute this function after injector creation.
* Useful for application initialization.
* @description
* Use this method to register work which needs to be performed on module loading.
*/
run: function(block) {
runBlocks.push(block);
return this;
}
};
if (configFn) {
config(configFn);
}
return moduleInstance;
/**
* @param {string} provider
* @param {string} method
* @returns {angular.Module}
*/
function invokeLater(provider, method) {
return function() {
invokeQueue.push([provider, method, arguments]);
return moduleInstance;
}
}
});
};
});
}
)(window);
/**
* Closure compiler type information
*
* @typedef { {
* requires: !Array.<string>,
* invokeQueue: !Array.<Array.<*>>,
*
* service: function(string, Function):angular.Module,
* factory: function(string, Function):angular.Module,
* value: function(string, *):angular.Module,
*
* filter: function(string, Function):angular.Module,
*
* init: function(Function):angular.Module
* } }
*/
angular.Module;

@ -0,0 +1,7 @@
/*
AngularJS v0.10.6-5cdfe45a
(c) 2010-2012 AngularJS http://angularjs.org
License: MIT
*/
'use strict';(function(i){function d(a,b,c){return a[b]||(a[b]=c())}return d(d(i,"angular",Object),"module",function(){var a={};return function(b,c,e){c&&a.hasOwnProperty(b)&&(a[b]=null);return d(a,b,function(){function a(b,c){return function(){d.push([b,c,arguments]);return f}}if(!c)throw Error("No module: "+b);var d=[],g=[],h=a("$injector","invoke"),f={_invokeQueue:d,_runBlocks:g,requires:c,name:b,service:a("$provide","service"),factory:a("$provide","factory"),value:a("$provide","value"),filter:a("$filterProvider",
"register"),config:h,run:function(a){g.push(a);return this}};e&&h(e);return f})}})})(window);

File diff suppressed because it is too large Load Diff

@ -1,128 +1,150 @@
/*
AngularJS v0.10.0
(c) 2010-2011 AngularJS http://angularjs.org
AngularJS v0.10.6-5cdfe45a
(c) 2010-2012 AngularJS http://angularjs.org
License: MIT
*/
'use strict';(function(x,F,A){function k(a,b,c){var d;if(a)if(q(a))for(d in a)d!="prototype"&&d!=mc&&d!=nc&&a.hasOwnProperty(d)&&b.call(c,a[d],d);else if(a.forEach&&a.forEach!==k)a.forEach(b,c);else if(I(a)&&oa(a.length))for(d=0;d<a.length;d++)b.call(c,a[d],d);else for(d in a)b.call(c,a[d],d);return a}function sb(a,b,c){var d=[],e;for(e in a)d.push(e);d.sort();for(e=0;e<d.length;e++)b.call(c,a[d[e]],d[e]);return d}function tb(a){a instanceof z&&(a.stack?a=a.message&&a.stack.indexOf(a.message)===-1?
"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line));return a}function Oa(){for(var a=S.length,b;a;){a--;b=S[a].charCodeAt(0);if(b==57)return S[a]="A",S.join("");if(b==90)S[a]="0";else return S[a]=String.fromCharCode(b+1),S.join("")}S.unshift("0");return S.join("")}function s(a){k(arguments,function(b){b!==a&&k(b,function(b,d){a[d]=b})});return a}function Pa(a,b){return s(new (s(function(){},{prototype:a})),b)}function p(){}function da(a){return a}function Qa(a){return function(){return a}}
function T(a,b,c){var d;return a[b]||(d=a[b]=function(a,b,g){a=(c||da)(a);v(b)&&(d[a]=s(b,g||{}));return d[a]})}function y(a){return typeof a==pa}function v(a){return typeof a!=pa}function I(a){return a!=null&&typeof a==ub}function u(a){return typeof a==oc}function oa(a){return typeof a==pc}function qa(a){return a instanceof Date}function U(a){return a instanceof Array}function q(a){return typeof a=="function"}function ea(a){return u(a)?a.replace(/^\s*/,"").replace(/\s*$/,""):a}function Ra(a){return a&&
(a.nodeName||a.bind&&a.find)}function Z(a){var b={},a=a.split(","),c;for(c=0;c<a.length;c++)b[a[c]]=!0;return b}function Sa(a,b){this.html=a;this.get=H(b)=="unsafe"?Qa(a):function(){var b=[];vb(a,wb(b));return b.join("")}}function qc(a,b,c){var d=[];k(a,function(a,f,g){d.push(b.call(c,a,f,g))});return d}function xb(a,b){var c=0,d;if(U(a)||u(a))return a.length;else if(I(a))for(d in a)(!b||a.hasOwnProperty(d))&&c++;return c}function yb(a,b){for(var c=0;c<a.length;c++)if(b===a[c])return!0;return!1}function ya(a,
b){for(var c=0;c<a.length;c++)if(b===a[c])return c;return-1}function rc(a){if(a)switch(a.nodeName){case "OPTION":case "PRE":case "TITLE":return!0}return!1}function C(a,b){if(b)if(U(a)){for(;b.length;)b.pop();for(var c=0;c<a.length;c++)b.push(C(a[c]))}else for(c in k(b,function(a,c){delete b[c]}),a)b[c]=C(a[c]);else(b=a)&&(U(a)?b=C(a,[]):qa(a)?b=new Date(a.getTime()):I(a)&&(b=C(a,{})));return b}function $(a,b){if(a===b)return!0;if(a===null||b===null)return!1;var c=typeof a,d;if(c==typeof b&&c=="object")if(a instanceof
Array){if((c=a.length)==b.length){for(d=0;d<c;d++)if(!$(a[d],b[d]))return!1;return!0}}else{c={};for(d in a){if(d.charAt(0)!=="$"&&!q(a[d])&&!$(a[d],b[d]))return!1;c[d]=!0}for(d in b)if(!c[d]&&d.charAt(0)!=="$"&&!q(b[d]))return!1;return!0}return!1}function sc(a){return(a=a&&a[0]&&a[0].nodeName)&&a.charAt(0)!="#"&&!yb(["TR","COL","COLGROUP","TBODY","THEAD","TFOOT"],a)}function ka(a,b,c){for(var d;!sc(a);)if(d=a.parent(),d.length)a=a.parent();else return;if(a[0].$NG_ERROR!==c)(a[0].$NG_ERROR=c)?(a.addClass(b),
a.attr(b,c.message||c)):(a.removeClass(b),a.removeAttr(b))}function M(a,b){var c=arguments.length>2?la.call(arguments,2):[];return q(b)&&!(b instanceof RegExp)?c.length?function(){return arguments.length?b.apply(a,c.concat(la.call(arguments,0))):b.apply(a,c)}:function(){return arguments.length?b.apply(a,arguments):b.call(a)}:b}function ma(a){a&&a.length!==0?(a=H(""+a),a=!(a=="f"||a=="0"||a=="false"||a=="no"||a=="n"||a=="[]")):a=!1;return a}function zb(a){return(new Ab(Ta,Bb,B,O)).compile(a)}function Ua(a){var b=
{},c,d;k((a||"").split("&"),function(a){a&&(c=a.split("="),d=unescape(c[0]),b[d]=v(c[1])?unescape(c[1]):!0)});return b}function Cb(a){var b=[];k(a,function(a,d){b.push(escape(d)+(a===!0?"":"="+escape(a)))});return b.length?b.join("&"):""}function Va(a,b){return encodeURIComponent(a).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(b?null:/%20/g,"+")}function tc(a,b){Db();for(var c=a.getElementsByTagName("script"),d,b=s({ie_compat_id:"ng-ie-compat"},b),e=0;e<
c.length;e++)if(d=(c[e].src||"").match(uc))b.base_url=d[1],b.ie_compat=d[1]+"angular-ie-compat"+(d[2]||"")+".js",s(b,Ua(d[6])),za(n(c[e]),function(a,c){/^ng:/.exec(c)&&(c=c.substring(3).replace(/-/g,"_"),b[c]=a||!0)});return b}function Db(){(Wa=x.jQuery)?(n=Wa,s(Wa.fn,{scope:Eb.scope})):n=Xa;w.element=n}function ra(a,b){if(!q(a))throw new z("Argument '"+(b||"?")+"' is "+("not a function, got "+(typeof a=="object"?a.constructor.name:typeof a)||"required"));}function Q(a,b){var c=[];Ya(c,a,b?"\n ":
null,[]);return c.join("")}function fa(a,b){function c(a){if(u(a)&&a.length===Fb)return ga.toDate(a);else(U(a)||I(a))&&k(a,function(b,d){a[d]=c(b)});return a}if(!u(a))return a;var d;try{return b&&x.JSON&&x.JSON.parse?(d=JSON.parse(a),c(d)):aa(a,!0).primary()()}catch(e){throw vc("fromJson error: ",a,e),e;}}function Ya(a,b,c,d){if(I(b)){if(b===x){a.push("WINDOW");return}if(b===F){a.push("DOCUMENT");return}if(yb(d,b)){a.push("RECURSION");return}d.push(b)}if(b===null)a.push(Aa);else if(b instanceof RegExp)a.push(ga.quoteUnicode(b.toString()));
else if(q(b))return;else if(typeof b==wc)a.push(""+b);else if(oa(b))isNaN(b)?a.push(Aa):a.push(""+b);else if(u(b))return a.push(ga.quoteUnicode(b));else if(I(b))if(U(b)){a.push("[");for(var e=b.length,f=!1,g=0;g<e;g++){var h=b[g];f&&a.push(",");!(h instanceof RegExp)&&(q(h)||y(h))?a.push(Aa):Ya(a,h,c,d);f=!0}a.push("]")}else if(Ra(b))a.push("DOM_ELEMENT");else if(qa(b))a.push(ga.quoteUnicode(w.Date.toString(b)));else{a.push("{");c&&a.push(c);e=!1;f=c?c+" ":!1;g=[];for(h in b)b.hasOwnProperty(h)&&
b[h]!==A&&g.push(h);g.sort();for(h=0;h<g.length;h++){var i=g[h],j=b[i];q(j)||(e&&(a.push(","),c&&a.push(c)),a.push(ga.quote(i)),a.push(":"),Ya(a,j,f,d),e=!0)}a.push("}")}I(b)&&d.pop()}function Za(){this.paths=[];this.children=[];this.linkFns=[];this.newScope=!1}function Ab(a,b,c,d){this.markup=a;this.attrMarkup=b;this.directives=c;this.widgets=d}function xc(a,b){var c,d=a[0].childNodes||[],e;for(c=0;c<d.length;c++){var f=e=d[c];sa(f)=="#text"||b(n(e),c)}}function za(a,b){var c,d=a[0].attributes||
[],e,f,g={};for(c=0;c<d.length;c++)e=d[c],f=e.name,e=e.value,V&&f=="href"&&(e=decodeURIComponent(a[0].getAttribute(f,2))),g[f]=e;sb(g,b)}function $a(a,b){var c=new Gb;(c.$service=Hb(c,a,b)).eager();return c}function Gb(){this.$id=Oa();this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null;this.$destructor=p;this["this"]=this.$root=this;this.$$asyncQueue=[];this.$$listeners={}}function Ib(a,b){var c=u(a)?W(a):a;ra(c,b);return c}function Hb(a,
b,c){function d(d){if(!(d in c)){var g=b[d];if(!g)throw z("Unknown provider for '"+d+"'.");c[d]=e(a,g)}return c[d]}function e(a,b,c){for(var c=c||[],e=yc(b),j=e.length;j--;)c.unshift(d(e[j]));return b.apply(a,c)}b=b||Ba;c=c||{};a=a||{};d.invoke=e;d.eager=function(){k(b,function(a,b){a.$eager&&d(b);if(a.$creation)throw new z("Failed to register service '"+b+"': $creation property is unsupported. Use $eager:true or see release notes.");})};return d}function ab(a,b){if(a instanceof Array)return b.$inject=
a,b;else{for(var c=0,d=arguments.length-1,e=arguments[d].$inject=[];c<d;c++)e.push(arguments[c]);return arguments[d]}}function G(a,b,c,d){Ba(a,b,{$inject:c,$eager:d})}function yc(a){ra(a);if(!a.$inject){var b=a.$inject=[],c=a.toString().replace(zc,"").match(Ac);k(c[1].split(Bc),function(a){a.replace(Cc,function(a,c){b.push(c)})})}return a.$inject}function Dc(a,b){function c(a){return a.indexOf(r)!=-1}function d(){return t+1<a.length?a.charAt(t+1):!1}function e(a){return"0"<=a&&a<="9"}function f(a){return"a"<=
a&&a<="z"||"A"<=a&&a<="Z"||"_"==a||a=="$"}function g(a){return a=="-"||a=="+"||e(a)}function h(b,c,d){d=d||t;throw z("Lexer Error: "+b+" at column"+(v(c)?"s "+c+"-"+t+" ["+a.substring(c,d)+"]":" "+d)+" in expression ["+a+"].");}function i(){for(var b="",c=t;t<a.length;){var f=H(a.charAt(t));if(f=="."||e(f))b+=f;else{var i=d();if(f=="e"&&g(i))b+=f;else if(g(f)&&i&&e(i)&&b.charAt(b.length-1)=="e")b+=f;else if(g(f)&&(!i||!e(i))&&b.charAt(b.length-1)=="e")h("Invalid exponent");else break}t++}b*=1;o.push({index:c,
text:b,json:!0,fn:function(){return b}})}function j(){for(var b="",c=t,d;t<a.length;){d=a.charAt(t);if(d=="."||f(d)||e(d))b+=d;else break;t++}d=bb[b];o.push({index:c,text:b,json:d,fn:d||s(Lb(b),{assign:function(a,c){return Mb(a,b,c)}})})}function l(b){var c=t;t++;for(var d="",e=b,g=!1;t<a.length;){var f=a.charAt(t);e+=f;if(g)f=="u"?(f=a.substring(t+1,t+5),f.match(/[\da-f]{4}/i)||h("Invalid unicode escape [\\u"+f+"]"),t+=4,d+=String.fromCharCode(parseInt(f,16))):(g=Ec[f],d+=g?g:f),g=!1;else if(f==
"\\")g=!0;else if(f==b){t++;o.push({index:c,text:e,string:d,json:!0,fn:function(){return d.length==m?w.String.toDate(d):d}});return}else d+=f;t++}h("Unterminated quote",c)}for(var m=b?Fb:-1,o=[],D,t=0,k=[],r,K=":";t<a.length;){r=a.charAt(t);if(c("\"'"))l(r);else if(e(r)||c(".")&&e(d()))i();else if(f(r)){if(j(),"{,".indexOf(K)!=-1&&k[0]=="{"&&(D=o[o.length-1]))D.json=D.text.indexOf(".")==-1}else if(c("(){}[].,;:"))o.push({index:t,text:r,json:":[,".indexOf(K)!=-1&&c("{[")||c("}]:,")}),c("{[")&&k.unshift(r),
c("}]")&&k.shift(),t++;else if(r==" "||r=="\r"||r=="\t"||r=="\n"||r=="\u000b"||r=="\u00a0"){t++;continue}else{var L=r+d(),n=bb[r],p=bb[L];p?(o.push({index:t,text:L,fn:p}),t+=2):n?(o.push({index:t,text:r,fn:n,json:"[,:".indexOf(K)!=-1&&c("+-")}),t+=1):h("Unexpected next character ",t,t+1)}K=r}return o}function aa(a,b){function c(a){return function(){var b=a();N.length!==0&&d("is an unexpected token",N[0]);return b}}function d(b,c){throw z("Syntax Error: Token '"+c.text+"' "+b+" at column "+(c.index+
1)+" of the expression ["+a+"] starting at ["+a.substring(c.index)+"].");}function e(){if(N.length===0)throw z("Unexpected end of expression: "+a);return N[0]}function f(a,b,c,d){if(N.length>0){var e=N[0],g=e.text;if(g==a||g==b||g==c||g==d||!a&&!b&&!c&&!d)return e}return!1}function g(a,c,e,g){return(a=f(a,c,e,g))?(b&&!a.json&&d("is not valid json",a),N.shift(),a):!1}function h(a){g(a)||d("is unexpected, expecting ["+a+"]",f())}function i(a,b){return function(c){return a(c,b(c))}}function j(a,b,c){return function(d){return b(d,
a(d),c(d))}}function l(){return w(X)}function m(){for(var a=o(),b;;)if(b=g("||"))a=j(a,b.fn,o());else return a}function o(){var a=D(),b;if(b=g("&&"))a=j(a,b.fn,o());return a}function D(){var a=t(),b;if(b=g("==","!="))a=j(a,b.fn,D());return a}function t(){var a;a=k();for(var b;b=g("+","-");)a=j(a,b.fn,k());if(b=g("<",">","<=",">="))a=j(a,b.fn,t());return a}function k(){for(var a=r(),b;b=g("*","/","%");)a=j(a,b.fn,r());return a}function r(){var a;return g("+")?n():(a=g("-"))?j(u,a.fn,r()):(a=g("!"))?
i(a.fn,r()):n()}function n(){var a;if(g("("))a=cb(),h(")");else if(g("["))a=L();else if(g("{"))a=ha();else{var b=g();(a=b.fn)||d("not a primary expression",b)}for(;b=g("(","[",".");)b.text==="("?a=Kb(a):b.text==="["?a=v(a):b.text==="."?a=Ca(a):d("IMPOSSIBLE");return a}function L(){var a=[];if(e().text!="]"){do a.push(ba());while(g(","))}h("]");return function(b){for(var c=[],d=0;d<a.length;d++)c.push(a[d](b));return c}}function ha(){var a=[];if(e().text!="}"){do{var b=g(),b=b.string||b.text;h(":");
var c=ba();a.push({key:b,value:c})}while(g(","))}h("}");return function(b){for(var c={},d=0;d<a.length;d++){var e=a[d],g=e.value(b);c[e.key]=g}return c}}var u=Qa(0),N=Dc(a,b),ba=function(){var b=m(),c,e;return(e=g("="))?(b.assign||d("implies assignment but ["+a.substring(0,e.index)+"] can not be assigned to",e),c=m(),function(a){return b.assign(a,c(a))}):b},Jb=m,Kb=function(a){var b=[];if(e().text!=")"){do b.push(ba());while(g(","))}h(")");return function(c){for(var d=[],e=0;e<b.length;e++)d.push(b[e](c));
e=a(c)||p;return e.apply?e.apply(c,d):e(d[0],d[1],d[2],d[3],d[4])}},Ca=function(a){var b=g().text,c=Lb(b);return s(function(b){return c(a(b))},{assign:function(c,d){return Mb(a(c),b,d)}})},v=function(a){var b=ba();h("]");return s(function(c){var d=a(c),c=b(c);return d?d[c]:A},{assign:function(c,d){return a(c)[b(c)]=d}})},cb=function(){for(var a=ba(),b;;)if(b=g("|"))a=j(a,b.fn,l());else return a},x=function(a){for(var b=g(),c=b.text.split("."),e,f=0;f<c.length;f++)e=c[f],a&&(a=a[e]);q(a)||d("should be a function",
b);return a},w=function(a){for(var b=x(a),c=[];;)if(g(":"))c.push(ba());else{var d=function(a,d){for(var e=[d],g=0;g<c.length;g++)e.push(c[g](a));return b.apply(a,e)};return function(){return d}}};b&&(ba=m,Kb=Ca=v=Jb=cb=x=w=function(){d("is not valid json",{text:a,index:0})});return{assignable:c(Jb),primary:c(n),statements:c(function(){for(var a=[];;)if(N.length>0&&!f("}",")",";","]")&&a.push(cb()),!g(";"))return a.length==1?a[0]:function(b){for(var c,d=0;d<a.length;d++){var e=a[d];e&&(c=e(b))}return c}}),
validator:c(function(){return w(db)}),formatter:c(function(){function a(b){return function(a,c){for(var d=[c],g=0;g<e.length;g++)d.push(e[g](a));return b.apply(a,d)}}var b=g(),c=ia[b.text],e=[];for(c||d("is not a valid formatter.",b);;)if(b=g(":"))e.push(ba());else return Qa({format:a(c.format),parse:a(c.parse)})}),filter:c(l)}}function Mb(a,b,c){for(var b=b.split("."),d=0;b.length>1;d++){var e=b.shift(),f=a[e];f||(f={},a[e]=f);a=f}return a[b.shift()]=c}function Da(a,b,c){if(!b)return a;for(var b=
b.split("."),d,e=a,f=b.length,g=0;g<f;g++)if(d=b[g],a&&(a=(e=a)[d]),y(a)&&d.charAt(0)=="$"){var h=ca.typeOf(e);if(d=(h=w[h.charAt(0).toUpperCase()+h.substring(1)])?h[[d.substring(1)]]:Fc)return M(e,d,e)}return!c&&q(a)?M(e,a):a}function Lb(a){var b=Nb[a];if(b)return b;var c="var l, fn, t;\n";k(a.split("."),function(a){a=Ob[a]?'["'+a+'"]':"."+a;c+="if(!s) return s;\nl=s;\ns=s"+a+';\nif(typeof s=="function" && !(s instanceof RegExp)) s = function(){ return l'+a+".apply(l, arguments); };\n";a.charAt(1)==
"$"&&(a=a.substr(2),c+='if(!s) {\n t = angular.Global.typeOf(l);\n fn = (angular[t.charAt(0).toUpperCase() + t.substring(1)]||{})["'+a+'"];\n if (fn) s = function(){ return fn.apply(l, [l].concat(Array.prototype.slice.call(arguments, 0))); };\n}\n')});c+="return s;";b=Function("s",c);b.toString=function(){return c};return Nb[a]=b}function W(a){if(q(a))return a;var b=Pb[a];b||(b=Pb[a]=aa(a).statements());return b}function Qb(a,b){this.template=a+="#";this.defaults=b||{};var c=this.urlParams={};k(a.split(/\W/),
function(b){b&&a.match(RegExp(":"+b+"\\W"))&&(c[b]=!0)})}function Ea(a){this.xhr=a}function Gc(a,b,c,d,e){function f(a){try{a.apply(null,la.call(arguments,1))}finally{if(ta--,ta===0)for(;r.length;)try{r.pop()()}catch(b){e.error(b)}}}function g(a,b){(function Ca(){k(K,function(a){a()});L=b(Ca,a)})()}var h=this,i=b[0],j=a.location,l=a.setTimeout,m=a.clearTimeout,o={},D;h.isMock=!1;var t=0,ta=0,r=[];h.xhr=function(b,e,g,i,j){ta++;if(H(b)=="json"){var m=("angular_"+Math.random()+"_"+t++).replace(/\d\./,
"");a[m]=function(b){a[m].data=b};var o=h.addJs(e.replace("JSON_CALLBACK",m),null,function(){a[m].data?f(i,200,a[m].data):f(i);delete a[m];c[0].removeChild(o)})}else{var l=new d;l.open(b,e,!0);k(j,function(a,b){a&&l.setRequestHeader(b,a)});l.onreadystatechange=function(){l.readyState==4&&f(i,l.status==1223?204:l.status||200,l.responseText)};l.send(g||"")}};h.notifyWhenNoOutstandingRequests=function(a){k(K,function(a){a()});ta===0?a():r.push(a)};var K=[],L;h.addPollFn=function(a){y(L)&&g(100,l);K.push(a);
return a};h.setUrl=function(a){var b=D;b.match(/#/)||(b+="#");a.match(/#/)||(a+="#");if(b!=a)j.href=a};h.getUrl=function(){return D=j.href};h.onHashChange=function(b){var c=a.document.documentMode;if("onhashchange"in a&&(y(c)||c>=8))n(a).bind("hashchange",b);else{var d=h.getUrl();h.addPollFn(function(){d!=h.getUrl()&&(b(),d=h.getUrl())})}return b};var ha={},s="";h.cookies=function(a,b){var c,d,g,f;if(a)if(b===A)i.cookie=escape(a)+"=;expires=Thu, 01 Jan 1970 00:00:00 GMT";else{if(u(b))i.cookie=escape(a)+
"="+escape(b),c=a.length+b.length+1,c>4096&&e.warn("Cookie '"+a+"' possibly not set or overflowed because it was too large ("+c+" > 4096 bytes)!"),ha.length>20&&e.warn("Cookie '"+a+"' possibly not set or overflowed because too many cookies were already set ("+ha.length+" > 20 )")}else{if(i.cookie!==s){s=i.cookie;c=s.split("; ");ha={};for(g=0;g<c.length;g++)d=c[g],f=d.indexOf("="),f>0&&(ha[unescape(d.substring(0,f))]=unescape(d.substring(f+1)))}return ha}};h.defer=function(a,b){var c;ta++;c=l(function(){delete o[c];
f(a)},b||0);o[c]=!0;return c};h.defer.cancel=function(a){if(o[a])return delete o[a],m(a),f(p),!0};var N=p;h.hover=function(a){N=a};h.bind=function(){b.bind("mouseover",function(a){N(n(V?a.srcElement:a.target),!0);return!0});b.bind("mouseleave mouseout click dblclick keypress keyup",function(a){N(n(a.target),!1);return!0})};h.addCss=function(a){var b=n(i.createElement("link"));b.attr("rel","stylesheet");b.attr("type","text/css");b.attr("href",a);c.append(b)};h.addJs=function(a,b,d){var e=i.createElement("script");
e.type="text/javascript";e.src=a;if(b)e.id=b;if(V)e.onreadystatechange=function(){/loaded|complete/.test(e.readyState)&&d&&d()};else if(d)e.onload=e.onerror=d;c[0].appendChild(e);return e}}function vb(a,b){function c(a,c,e,f){c=H(c);if(Rb[c])for(;g.last()&&Sb[g.last()];)d("",g.last());Tb[c]&&g.last()==c&&d("",c);(f=Ub[c]||!!f)||g.push(c);var h={};e.replace(Hc,function(a,b,c,d,e){h[b]=eb(c||d||e||"")});b.start&&b.start(c,h,f)}function d(a,c){var d=0,e;if(c=H(c))for(d=g.length-1;d>=0;d--)if(g[d]==c)break;
if(d>=0){for(e=g.length-1;e>=d;e--)b.end&&b.end(g[e]);g.length=d}}var e,f,g=[],h=a;for(g.last=function(){return g[g.length-1]};a;){f=!0;if(!g.last()||!Vb[g.last()]){if(a.indexOf("<\!--")===0)e=a.indexOf("--\>"),e>=0&&(b.comment&&b.comment(a.substring(4,e)),a=a.substring(e+3),f=!1);else if(Ic.test(a)){if(e=a.match(Wb))a=a.substring(e[0].length),e[0].replace(Wb,d),f=!1}else if(Jc.test(a)&&(e=a.match(Xb)))a=a.substring(e[0].length),e[0].replace(Xb,c),f=!1;f&&(e=a.indexOf("<"),f=e<0?a:a.substring(0,e),
a=e<0?"":a.substring(e),b.chars&&b.chars(eb(f)))}else a=a.replace(RegExp("(.*)<\\s*\\/\\s*"+g.last()+"[^>]*>","i"),function(a,c){c=c.replace(Kc,"$1").replace(Lc,"$1");b.chars&&b.chars(eb(c));return""}),d("",g.last());if(a==h)throw"Parse Error: "+a;h=a}d()}function eb(a){fb.innerHTML=a.replace(/</g,"&lt;");return fb.innerText||fb.textContent||""}function Yb(a){return a.replace(/&/g,"&amp;").replace(Mc,function(a){return"&#"+a.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}function wb(a){var b=
!1,c=M(a,a.push);return{start:function(a,e,f){a=H(a);!b&&Vb[a]&&(b=a);!b&&Zb[a]==!0&&(c("<"),c(a),k(e,function(a,b){var d=H(b);if(Nc[d]==!0&&($b[d]!==!0||a.match(Oc)))c(" "),c(b),c('="'),c(Yb(a)),c('"')}),c(f?"/>":">"))},end:function(a){a=H(a);!b&&Zb[a]==!0&&(c("</"),c(a),c(">"));a==b&&(b=!1)},chars:function(a){b||c(Yb(a))}}}function Pc(a){var b={},a=a[0].style,c,d;if(typeof a.length=="number")for(c=0;c<a.length;c++)d=a[c],b[d]=a[d];else for(d in a)c=a[d],1*d!=d&&d!="cssText"&&c&&typeof c=="string"&&
c!="false"&&(b[d]=c);return b}function Xa(a){if(u(a)&&a.charAt(0)!="<")throw new z("selectors not implemented");return new Y(a)}function Y(a){if(a instanceof Y)return a;else if(u(a)){var b=F.createElement("div");b.innerHTML="<div>&nbsp;</div>"+a;b.removeChild(b.firstChild);gb(this,b.childNodes);this.remove()}else gb(this,a)}function ua(a){ac(a);for(var b=0,a=a.childNodes||[];b<a.length;b++)ua(a[b])}function ac(a){var b=a[Fa],c=Ga[b];c&&(k(c.bind||{},function(b,c){Qc(a,c,b)}),delete Ga[b],a[Fa]=A)}
function hb(a,b,c){var d=a[Fa],d=Ga[d||-1];if(v(c))d||(a[Fa]=d=Rc++,d=Ga[d]={}),d[b]=c;else return d?d[b]:null}function ib(a,b){var c;return(" "+a.className+" ").replace(/[\n\t]/g," ").indexOf(" "+b+" ")>-1}function bc(a,b){b&&k(b.split(" "),function(b){a.className=ea((" "+a.className+" ").replace(/[\n\t]/g," ").replace(" "+ea(b)+" "," "))})}function cc(a,b){b&&k(b.split(" "),function(b){if(!ib(a,b))a.className=ea(a.className+" "+ea(b))})}function gb(a,b){if(b)for(var b=!b.nodeName&&v(b.length)&&
(!b||!b.document||!b.location||!b.alert||!b.setInterval)?b:[b],c=0;c<b.length;c++)a.push(b[c])}function jb(a){var b=typeof a,c=a;if(b=="object")if(typeof(c=a.$hashKey)=="function")c=a.$hashKey();else if(c===A)c=a.$hashKey=Oa();return b+":"+c}function dc(){}function ja(a,b){w[a]=w[a]||{};k(b,function(b){s(w[a],b)})}function ec(a,b,c,d,e){var f=a<0,a=Math.abs(a),g=a+"",h="",i=[];if(g.indexOf("e")!==-1)h=g;else{g=(g.split(fc)[1]||"").length;y(e)&&(e=Math.min(Math.max(b.minFrac,g),b.maxFrac));var g=Math.pow(10,
e),a=Math.round(a*g)/g,a=(""+a).split(fc),g=a[0],a=a[1]||"",j=0,l=b.lgSize,m=b.gSize;if(g.length>=l+m)for(var j=g.length-l,o=0;o<j;o++)(j-o)%m===0&&o!==0&&(h+=c),h+=g.charAt(o);for(o=j;o<g.length;o++)(g.length-o)%l===0&&o!==0&&(h+=c),h+=g.charAt(o);for(;a.length<e;)a+="0";e&&(h+=d+a.substr(0,e))}i.push(f?b.negPre:b.posPre);i.push(h);i.push(f?b.negSuf:b.posSuf);return i.join("")}function R(a,b,c){var d="";a<0&&(d="-",a=-a);for(a=""+a;a.length<b;)a="0"+a;c&&(a=a.substr(a.length-b));return d+a}function E(a,
b,c,d){return function(e){e=e["get"+a]();if(c>0||e>-c)e+=c;e===0&&c==-12&&(e=12);return R(e,b,d)}}function Ha(a,b){return function(c,d){var e=c["get"+a](),f=Ia(b?"SHORT"+a:a);return d[f][e]}}function na(a,b){return{format:a,parse:b||a}}function gc(a){return v(a)&&a!==null?""+a:a}function kb(a){var b=hc[a];if(!b){var c=[];k(Ja(a),function(a){var b=Ka(a);c.push(b?function(a,c){var d,i;try{i=a.$eval(b)}catch(j){a.$service("$exceptionHandler")(j),d=Q(j)}ka(c,lb,d);return d?d:i}:function(){return a})});
hc[a]=b=function(a,b,f){var g=[],h=a.hasOwnProperty("$element"),i=a.$element;a.$element=b;try{for(var j=0;j<c.length;j++){var l=c[j](a,b);Ra(l)?l="":I(l)&&(l=Q(l,f));g.push(l)}return g.join("")}finally{h?a.$element=i:delete a.$element}}}return b}function mb(a){return function(b){return function(c){this.$watch(b,function(b,e,f){a(b.$index)&&(c.removeClass(U(f)?f.join(" "):f),c.addClass(U(e)?e.join(" "):e))})}}}function Ja(a){for(var b=[],c=0,d;(d=a.indexOf("{{",c))>-1;)c<d&&b.push(a.substr(c,d-c)),
c=d,d=a.indexOf("}}",d),d=d<0?a.length:d+2,b.push(a.substr(c,d-c)),c=d;c!=a.length&&b.push(a.substr(c,a.length-c));return b.length===0?[a]:b}function Ka(a){return(a=a.replace(/\n/gm," ").match(/^\{\{(.*)\}\}$/))?a[1]:null}function va(a,b){var c=b.attr("name"),d,e;if(c){d=aa(c).assignable();e=d.assign;if(!e)throw new z("Expression '"+c+"' is not assignable.");return{get:function(){return d(a)},set:function(b){b!==A&&e(a,b)}}}}function ic(a,b){var c=va(a,b),d=b.attr("ng:format")||La,e=aa(d).formatter()();
if(c)return{get:function(){return e.format(a,c.get())},set:function(b){return c.set(e.parse(a,b))}}}function jc(a,b){function c(){var c=ea(b.val());if(b[0].disabled||b[0].readOnly)ka(b,wa,null),m.markValid(b);else{var d=Pa(a,{$element:b}),c=l&&!c?"Required":c?e(d,c):null;ka(b,wa,c);(j=c)?m.markInvalid(b):m.markValid(b)}}var d=b.attr("ng:validate")||La,e=aa(d).validator()(),f=b.attr("ng:required"),g=b.attr("ng:format")||La,g=aa(g).formatter()(),h,i,j,l,m=a.$service("$invalidWidgets")||{markValid:p,
markInvalid:p};if(!e)throw"Validator named '"+d+"' not found.";h=g.format;i=g.parse;f?a.$watch(f,function(a,b){l=b;c()}):l=f==="";b.data(nb,c);return{get:function(){j&&ka(b,wa,null);try{var d=i(a,b.val());c();return d}catch(e){j=e,ka(b,wa,e)}},set:function(d){var e=b.val(),d=h(a,d);e!=d&&b.val(d||"");c()}}}function Ma(a){return function(b,c){var d=c.get();!d&&v(a)&&(d=C(a));y(b.get())&&v(d)&&b.set(d)}}function xa(a,b,c,d,e){return ab("$defer",function(f,g){var h=this,i=b(h,g),j=c(h,g),l=g.attr("ng:change")||
p,m;i&&(d.call(h,i,j,g),h.$eval(g.attr("ng:init")||p),g.bind(a,function(a){function b(){var a=j.get();if(!e||a!=m)i.set(a),m=i.get(),h.$eval(l)}a.type=="keydown"?f(b):h.$apply(b)}),h.$watch(i.get,function(a,b){$(m,b)||j.set(m=b)}))})}function ob(a){this.directives(!0);this.descend(!0);return Sc[H(a[0].type)]||p}if(typeof F.getAttribute==pa)F.getAttribute=function(){};var H=function(a){return u(a)?a.toLowerCase():a},Ia=function(a){return u(a)?a.toUpperCase():a},Fc=A,nb="$validate",wc="boolean",mc=
"length",nc="name",Aa="null",pc="number",ub="object",oc="string",pa="undefined",lb="ng-exception",wa="ng-validation-error",La="noop",z=x.Error,V=parseInt((/msie (\d+)/.exec(H(navigator.userAgent))||[])[1],10),n,Wa,la=[].slice,P=[].push,vc=x.console?M(x.console,x.console.error||p):p,w=x.angular||(x.angular={}),Ta=T(w,"markup"),Bb=T(w,"attrMarkup"),B=T(w,"directive"),O=T(w,"widget",H),db=T(w,"validator"),X=T(w,"filter"),ia=T(w,"formatter"),Ba=T(w,"service");T(w,"callbacks");var sa,uc=/^(|.*\/)angular(-.*?)?(\.min)?.js(\?[^#]*)?(#(.*))?$/,
S=["0","0","0"],Fb=24;sa=V<9?function(a){a=a.nodeName?a:a[0];return a.scopeName&&a.scopeName!="HTML"?Ia(a.scopeName+":"+a.nodeName):a.nodeName}:function(a){return a.nodeName?a.nodeName:a[0].nodeName};w.toJson=Q;w.fromJson=fa;Za.prototype={link:function(a,b){var c=b;this.newScope&&(c=q(this.newScope)?b.$new(this.newScope(b)):b.$new(),a.data("$scope",c));k(this.linkFns,function(b){try{c.$service.invoke(c,b,[a])}catch(d){c.$service("$exceptionHandler")(d)}});var d,e=a[0].childNodes,f=this.children,g=
this.paths,h=g.length;for(d=0;d<h;d++)f[d].link(n(e[g[d]]),c)},addLinkFn:function(a){if(a){if(!a.$inject)a.$inject=[];this.linkFns.push(a)}},addChild:function(a,b){b&&(this.paths.push(a),this.children.push(b))},empty:function(){return this.linkFns.length===0&&this.paths.length===0}};Ab.prototype={compile:function(a){var a=n(a),b=0,c,d=a.parent();if(a.length>1)throw z("Cannot compile multiple element roots: "+n("<div>").append(a.clone()).html());if(d&&d[0])for(var d=d[0],e=0;e<d.childNodes.length;e++)d.childNodes[e]==
a[0]&&(b=e);c=this.templatize(a,b)||new Za;return function(b,d){var e=d?Eb.clone.call(a):a,b=b||$a();e.data("$scope",b);b.$element=e;(d||p)(e,b);c.link(e,b);return b}},templatize:function(a,b){var c=this,d,e,f=c.directives,g=!0,h=!0,i=sa(a),j=i.indexOf(":")>0?H(i).replace(":","-"):"",l,m={compile:M(c,c.compile),descend:function(a){v(a)&&(g=a);return g},directives:function(a){v(a)&&(h=a);return h},scope:function(a){if(v(a))l.newScope=l.newScope||a;return l.newScope}};a.addClass(j);l=new Za;za(a,function(b,
e){if(!d&&(d=c.widgets("@"+e)))a.addClass("ng-attr-widget"),d=M(m,d,b,a)});if(!d&&(d=c.widgets(i)))j&&a.addClass("ng-widget"),d=M(m,d,a);d&&(h=g=!1,i=a.parent(),l.addLinkFn(d.call(m,a)),i&&i[0]&&(a=n(i[0].childNodes[b])));if(g)for(var o=0,D=a[0].childNodes;o<D.length;o++)sa(D[o])=="#text"&&k(c.markup,function(b){if(o<D.length){var c=n(D[o]);b.call(m,c.text(),c,a)}});h&&(za(a,function(b,d){k(c.attrMarkup,function(c){c.call(m,b,d,a)})}),za(a,function(b,c){if(e=f[c])a.addClass("ng-directive"),l.addLinkFn(f[c].call(m,
b,a))}));g&&xc(a,function(a,b){l.addChild(b,c.templatize(a,b))});return l.empty()?null:l}};Gb.prototype={$new:function(a,b){var c=function(){};c.prototype=this;c=new c;c["this"]=c;c.$$listeners={};c.$parent=this;c.$id=Oa();c.$$asyncQueue=[];c.$$phase=c.$$watchers=c.$$nextSibling=c.$$childHead=c.$$childTail=null;c.$$prevSibling=this.$$childTail;this.$$childHead?this.$$childTail=this.$$childTail.$$nextSibling=c:this.$$childHead=this.$$childTail=c;if(a){var d=a.prototype,e;for(e in d)c[e]=M(c,d[e]);
this.$service.invoke(c,a,b)}return c},$watch:function(a,b){var c=Ib(a,"watch"),d=this.$$watchers,e={fn:Ib(b||p,"listener"),last:Number.NaN,get:c};if(!d)d=this.$$watchers=[];d.unshift(e);return function(){pb.remove(d,e)}},$digest:function(){var a,b,c,d,e,f,g=100,h;if(this.$$phase)throw z(this.$$phase+" already in progress");do{f=!1;h=this;do{h.$$phase="$digest";for(d=h.$$asyncQueue;d.length;)try{h.$eval(d.shift())}catch(i){h.$service("$exceptionHandler")(i)}if(d=h.$$watchers)for(e=d.length;e--;)try{if(a=
d[e],(b=a.get(h))!==(c=a.last)&&!$(b,c))f=!0,a.fn(h,a.last=C(b),c)}catch(j){h.$service("$exceptionHandler")(j)}h.$$phase=null;if(!(d=h.$$childHead||h!==this&&h.$$nextSibling))for(;h!==this&&!(d=h.$$nextSibling);)h=h.$parent}while(h=d);if(!g--)throw z("100 $digest() iterations reached. Aborting!");}while(f)},$destroy:function(){if(this.$root!=this){this.$emit("$destroy");var a=this.$parent;if(a.$$childHead==this)a.$$childHead=this.$$nextSibling;if(a.$$childTail==this)a.$$childTail=this.$$prevSibling;
if(this.$$prevSibling)this.$$prevSibling.$$nextSibling=this.$$nextSibling;if(this.$$nextSibling)this.$$nextSibling.$$prevSibling=this.$$prevSibling}},$eval:function(a){return(u(a)?W(a):a||p)(this)},$evalAsync:function(a){this.$$asyncQueue.push(a)},$apply:function(a){try{return this.$eval(a)}catch(b){this.$service("$exceptionHandler")(b)}finally{this.$root.$digest()}},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]);c.push(b);return function(){pb.remove(c,b)}},$emit:function(a,
b){var c=[],d,e=!1,f=this,g={name:a,targetScope:f,cancel:function(){e=!0}},h=[g].concat(la.call(arguments,1)),i,j;do{d=f.$$listeners[a]||c;g.currentScope=f;i=0;for(j=d.length;i<j;i++)try{if(d[i].apply(null,h),e)return}catch(l){f.$service("$exceptionHandler")(l)}f=f.$parent}while(f)},$broadcast:function(a,b){var c=this,d=this,e={name:a,targetScope:this},f=[e].concat(la.call(arguments,1));do if(c=d,e.currentScope=c,k(c.$$listeners[a],function(a){try{a.apply(null,f)}catch(b){c.$service("$exceptionHandler")(b)}}),
!(d=c.$$childHead||c!==this&&c.$$nextSibling))for(;c!==this&&!(d=c.$$nextSibling);)c=c.$parent;while(c=d)}};var Ac=/^function\s*[^\(]*\(([^\)]*)\)/m,Bc=/,/,Cc=/^\s*(.+?)\s*$/,zc=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg,bb={"null":function(){return null},"true":function(){return!0},"false":function(){return!1},$undefined:p,"+":function(a,b,c){return(v(b)?b:0)+(v(c)?c:0)},"-":function(a,b,c){return(v(b)?b:0)-(v(c)?c:0)},"*":function(a,b,c){return b*c},"/":function(a,b,c){return b/c},"%":function(a,b,c){return b%
c},"^":function(a,b,c){return b^c},"=":p,"==":function(a,b,c){return b==c},"!=":function(a,b,c){return b!=c},"<":function(a,b,c){return b<c},">":function(a,b,c){return b>c},"<=":function(a,b,c){return b<=c},">=":function(a,b,c){return b>=c},"&&":function(a,b,c){return b&&c},"||":function(a,b,c){return b||c},"&":function(a,b,c){return b&c},"|":function(a,b,c){return c(a,b)},"!":function(a,b){return!b}},Ec={n:"\n",f:"\u000c",r:"\r",t:"\t",v:"\u000b","'":"'",'"':'"'},Nb={},Pb={},Ob={};k("abstract,boolean,break,byte,case,catch,char,class,const,continue,debugger,default,delete,do,double,else,enum,export,extends,false,final,finally,float,for,function,goto,if,implements,import,ininstanceof,intinterface,long,native,new,null,package,private,protected,public,return,short,static,super,switch,synchronized,this,throw,throws,transient,true,try,typeof,var,volatile,void,undefined,while,with".split(/,/),
function(a){Ob[a]=!0});Qb.prototype={url:function(a){var b=this,c=this.template,d,a=a||{};k(this.urlParams,function(e,g){d=Va(a[g]||b.defaults[g]||"",!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+");c=c.replace(RegExp(":"+g+"(\\W)"),d+"$1")});var c=c.replace(/\/?#$/,""),e=[];sb(a,function(a,c){b.urlParams[c]||e.push(Va(c)+"="+Va(a))});c=c.replace(/\/*$/,"");return c+(e.length?"?"+e.join("&"):"")}};Ea.DEFAULT_ACTIONS={get:{method:"GET"},save:{method:"POST"},query:{method:"GET",isArray:!0},
remove:{method:"DELETE"},"delete":{method:"DELETE"}};Ea.prototype={route:function(a,b,c){function d(a){var c={};k(b||{},function(b,d){c[d]=b.charAt&&b.charAt(0)=="@"?Da(a,b.substr(1)):b});return c}function e(a){C(a||{},this)}var f=this,g=new Qb(a),c=s({},Ea.DEFAULT_ACTIONS,c);k(c,function(h,i){var j=h.method=="POST"||h.method=="PUT";e[i]=function(a,b,c,i){var t={},n,r=p,K=null;switch(arguments.length){case 4:K=i,r=c;case 3:case 2:if(q(b)){if(q(a)){r=a;K=b;break}r=b;K=c}else{t=a;n=b;r=c;break}case 1:q(a)?
r=a:j?n=a:t=a;break;case 0:break;default:throw"Expected between 0-4 arguments [params, data, success, error], got "+arguments.length+" arguments.";}var L=this instanceof e?this:h.isArray?[]:new e(n);f.xhr(h.method,g.url(s({},h.params||{},d(n),t)),n,function(a,b){if(b)h.isArray?(L.length=0,k(b,function(a){L.push(new e(a))})):C(b,L);(r||p)(L)},K||h.verifyCache,h.verifyCache);return L};e.bind=function(d){return f.route(a,s({},b,d),c)};e.prototype["$"+i]=function(a,b,c){var g=d(this),f=p,h;switch(arguments.length){case 3:g=
a;f=b;h=c;break;case 2:case 1:q(a)?(f=a,h=b):(g=a,f=b||p);case 0:break;default:throw"Expected between 1-3 arguments [params, success, error], got "+arguments.length+" arguments.";}e[i].call(this,g,j?this:A,f,h)}});return e}};var Tc=x.XMLHttpRequest||function(){try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(a){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(b){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(c){}throw new z("This browser does not support XMLHttpRequest.");
},Xb=/^<\s*([\w:-]+)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*>/,Wb=/^<\s*\/\s*([\w:-]+)[^>]*>/,Hc=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,Jc=/^</,Ic=/^<\s*\//,Kc=/<\!--(.*?)--\>/g,Lc=/<!\[CDATA\[(.*?)]]\>/g,Oc=/^((ftp|https?):\/\/|mailto:|#)/,Mc=/([^\#-~| |!])/g,Ub=Z("area,br,col,hr,img"),Rb=Z("address,blockquote,center,dd,del,dir,div,dl,dt,hr,ins,li,map,menu,ol,p,pre,script,table,tbody,td,tfoot,th,thead,tr,ul"),Sb=Z("a,abbr,acronym,b,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,q,s,samp,small,span,strike,strong,sub,sup,tt,u,var"),
Tb=Z("colgroup,dd,dt,li,p,td,tfoot,th,thead,tr"),Vb=Z("script,style"),Zb=s({},Ub,Rb,Sb,Tb),$b=Z("background,href,longdesc,src,usemap"),Nc=s({},$b,Z("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,span,start,summary,target,title,type,valign,value,vspace,width")),fb=F.createElement("pre"),Ga={},Fa="ng-"+(new Date).getTime(),
Rc=1,Uc=x.document.addEventListener?function(a,b,c){a.addEventListener(b,c,!1)}:function(a,b,c){a.attachEvent("on"+b,c)},Qc=x.document.removeEventListener?function(a,b,c){a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent("on"+b,c)},Eb=Y.prototype={ready:function(a){function b(){c||(c=!0,a())}var c=!1;this.bind("DOMContentLoaded",b);Xa(x).bind("load",b)},toString:function(){var a=[];k(this,function(b){a.push(""+b)});return"["+a.join(", ")+"]"},eq:function(a){return a>=0?n(this[a]):n(this[this.length+
a])},length:0,push:P,sort:[].sort,splice:[].splice},Vc=Z("multiple,selected,checked,disabled,readonly");k({data:hb,scope:function(a){for(var b;a&&!(b=n(a).data("$scope"));)a=a.parentNode;return b},removeAttr:function(a,b){a.removeAttribute(b)},hasClass:ib,css:function(a,b,c){if(v(c))a.style[b]=c;else return a.style[b]},attr:function(a,b,c){if(b==="class")if(v(c))a.className=c;else return a.className;else if(Vc[b])if(v(c))a[b]=!!c;else return a[b];else if(v(c))a.setAttribute(b,c);else if(a.getAttribute)return a=
a.getAttribute(b,2),a===null?A:a},text:s(V<9?function(a,b){if(a.nodeType==3){if(y(b))return a.nodeValue;a.nodeValue=b}else{if(y(b))return a.innerText;a.innerText=b}}:function(a,b){if(y(b))return a.textContent;a.textContent=b},{$dv:""}),val:function(a,b){if(y(b))return a.value;a.value=b},html:function(a,b){if(y(b))return a.innerHTML;for(var c=0,d=a.childNodes;c<d.length;c++)ua(d[c]);a.innerHTML=b}},function(a,b){Y.prototype[b]=function(b,d){var e,f;if((a.length==2?b:d)===A)if(I(b)){for(e=0;e<this.length;e++)for(f in b)a(this[e],
f,b[f]);return this}else{if(this.length)return a(this[0],b,d)}else{for(e=0;e<this.length;e++)a(this[e],b,d);return this}return a.$dv}});k({removeData:ac,dealoc:ua,bind:function(a,b,c){var d=hb(a,"bind");d||hb(a,"bind",d={});k(b.split(" "),function(b){var f=d[b];if(!f)d[b]=f=function(b){if(!b.preventDefault)b.preventDefault=function(){b.returnValue=!1};if(!b.stopPropagation)b.stopPropagation=function(){b.cancelBubble=!0};if(!b.target)b.target=b.srcElement||F;k(f.fns,function(c){c.call(a,b)})},f.fns=
[],Uc(a,b,f);f.fns.push(c)})},replaceWith:function(a,b){var c,d=a.parentNode;ua(a);k(new Y(b),function(b){c?d.insertBefore(b,c.nextSibling):d.replaceChild(b,a);c=b})},children:function(a){var b=[];k(a.childNodes,function(a){a.nodeName!="#text"&&b.push(a)});return b},append:function(a,b){k(new Y(b),function(b){a.nodeType===1&&a.appendChild(b)})},prepend:function(a,b){if(a.nodeType===1){var c=a.firstChild;k(new Y(b),function(b){c?a.insertBefore(b,c):(a.appendChild(b),c=b)})}},remove:function(a){ua(a);
var b=a.parentNode;b&&b.removeChild(a)},after:function(a,b){var c=a,d=a.parentNode;k(new Y(b),function(a){d.insertBefore(a,c.nextSibling);c=a})},addClass:cc,removeClass:bc,toggleClass:function(a,b,c){y(c)&&(c=!ib(a,b));(c?cc:bc)(a,b)},parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},next:function(a){return a.nextSibling},find:function(a,b){return a.getElementsByTagName(b)},clone:function(a){return a.cloneNode(!0)}},function(a,b){Y.prototype[b]=function(b,d){for(var e,f=0;f<this.length;f++)e==
A?(e=a(this[f],b,d),e!==A&&(e=n(e))):gb(e,a(this[f],b,d));return e==A?this:e}});var ca={typeOf:function(a){if(a===null)return Aa;var b=typeof a;if(b==ub){if(a instanceof Array)return"array";if(qa(a))return"date";if(a.nodeType==1)return"element"}return b}},P={copy:C,size:xb,equals:$},Wc={extend:s},pb={indexOf:ya,sum:function(a,b){for(var c=qb.compile(b),d=0,e=0;e<a.length;e++){var f=1*c(a[e]);isNaN(f)||(d+=f)}return d},remove:function(a,b){var c=ya(a,b);c>=0&&a.splice(c,1);return b},filter:function(a,
b){var c=[];c.check=function(a){for(var b=0;b<c.length;b++)if(!c[b](a))return!1;return!0};var d=function(a,b){if(b.charAt(0)==="!")return!d(a,b.substr(1));switch(typeof a){case "boolean":case "number":case "string":return(""+a).toLowerCase().indexOf(b)>-1;case "object":for(var c in a)if(c.charAt(0)!=="$"&&d(a[c],b))return!0;return!1;case "array":for(c=0;c<a.length;c++)if(d(a[c],b))return!0;return!1;default:return!1}};switch(typeof b){case "boolean":case "number":case "string":b={$:b};case "object":for(var e in b)e==
"$"?function(){var a=(""+b[e]).toLowerCase();a&&c.push(function(b){return d(b,a)})}():function(){var a=e,g=(""+b[e]).toLowerCase();g&&c.push(function(b){return d(Da(b,a),g)})}();break;case "function":c.push(b);break;default:return a}for(var f=[],g=0;g<a.length;g++){var h=a[g];c.check(h)&&f.push(h)}return f},add:function(a,b){a.push(y(b)?{}:b);return a},count:function(a,b){if(!b)return a.length;var c=qb.compile(b),d=0;k(a,function(a){c(a)&&d++});return d},orderBy:function(a,b,c){function d(a,b){return ma(b)?
function(b,c){return a(c,b)}:a}if(!b)return a;for(var b=U(b)?b:[b],b=qc(b,function(a){var b=!1,c=a||da;if(u(a)){if(a.charAt(0)=="+"||a.charAt(0)=="-")b=a.charAt(0)=="-",a=a.substring(1);c=W(a)}return d(function(a,b){var d;d=c(a);var e=c(b),g=typeof d,f=typeof e;g==f?(g=="string"&&(d=d.toLowerCase()),g=="string"&&(e=e.toLowerCase()),d=d===e?0:d<e?-1:1):d=g<f?-1:1;return d},b)}),e=[],f=0;f<a.length;f++)e.push(a[f]);return e.sort(d(function(a,c){for(var d=0;d<b.length;d++){var e=b[d](a,c);if(e!==0)return e}return 0},
c))},limitTo:function(a,b){var b=parseInt(b,10),c=[],d,e;b>0?(d=0,e=b):(d=a.length+b,e=a.length);for(;d<e;d++)c.push(a[d]);return c}},Xc=/^(\d{4})-(\d\d)-(\d\d)(?:T(\d\d)(?:\:(\d\d)(?:\:(\d\d)(?:\.(\d{3}))?)?)?Z)?$/,ga={quote:function(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v")+'"'},quoteUnicode:function(a){for(var a=w.String.quote(a),b=[],c=0;c<a.length;c++){var d=a.charCodeAt(c);
d<128?b.push(a.charAt(c)):(d="000"+d.toString(16),b.push("\\u"+d.substring(d.length-4)))}return b.join("")},toDate:function(a){var b;if(u(a)&&(b=a.match(Xc)))a=new Date(0),a.setUTCFullYear(b[1],b[2]-1,b[3]),a.setUTCHours(b[4]||0,b[5]||0,b[6]||0,b[7]||0);return a}},kc={toString:function(a){if(!a)return a;var b=a.toISOString?a.toISOString():"";return b.length==24?b:R(a.getUTCFullYear(),4)+"-"+R(a.getUTCMonth()+1,2)+"-"+R(a.getUTCDate(),2)+"T"+R(a.getUTCHours(),2)+":"+R(a.getUTCMinutes(),2)+":"+R(a.getUTCSeconds(),
2)+"."+R(a.getUTCMilliseconds(),3)+"Z"}},qb={compile:function(a){return q(a)?a:a?W(a):da}};dc.prototype={put:function(a,b){var c=jb(a),d=this[c];this[c]=b;return d},get:function(a){return this[jb(a)]},remove:function(a){var a=jb(a),b=this[a];delete this[a];return b}};ja("Global",[ca]);ja("Collection",[ca,P]);ja("Array",[ca,P,pb]);ja("Object",[ca,P,Wc]);ja("String",[ca,ga]);ja("Date",[ca,kc]);w.Date.toString=kc.toString;ja("Function",[ca,P,qb]);X.currency=function(a,b){var c=this.$service("$locale").NUMBER_FORMATS;
this.$element.toggleClass("ng-format-negative",a<0);if(y(b))b=c.CURRENCY_SYM;return ec(a,c.PATTERNS[1],c.GROUP_SEP,c.DECIMAL_SEP,2).replace(/\u00A4/g,b)};var fc=".";X.number=function(a,b){if(isNaN(a)||!isFinite(a))return"";var c=this.$service("$locale").NUMBER_FORMATS;return ec(a,c.PATTERNS[0],c.GROUP_SEP,c.DECIMAL_SEP,b)};var Yc={yyyy:E("FullYear",4),yy:E("FullYear",2,0,!0),y:E("FullYear",1),MMMM:Ha("Month"),MMM:Ha("Month",!0),MM:E("Month",2,1),M:E("Month",1,1),dd:E("Date",2),d:E("Date",1),HH:E("Hours",
2),H:E("Hours",1),hh:E("Hours",2,-12),h:E("Hours",1,-12),mm:E("Minutes",2),m:E("Minutes",1),ss:E("Seconds",2),s:E("Seconds",1),EEEE:Ha("Day"),EEE:Ha("Day",!0),a:function(a,b){return a.getHours()<12?b.AMPMS[0]:b.AMPMS[1]},Z:function(a){a=a.getTimezoneOffset();return R(a/60,2)+R(Math.abs(a%60),2)}},Zc=/((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/,$c=/^\d+$/;X.date=function(a,b){var c=this.$service("$locale"),b=c.DATETIME_FORMATS[b]||b;u(a)&&(a=$c.test(a)?parseInt(a,
10):ga.toDate(a));oa(a)&&(a=new Date(a));if(!qa(a))return a;var d=a.toLocaleDateString(),e;if(b&&u(b)){for(var d="",f=[],g;b;)(g=Zc.exec(b))?(f=f.concat(la.call(g,1)),b=f.pop()):(f.push(b),b=null);k(f,function(b){e=Yc[b];d+=e?e(a,c.DATETIME_FORMATS):b.replace(/(^'|'$)/g,"").replace(/''/g,"'")})}return d};X.json=function(a){this.$element.addClass("ng-monospace");return Q(a,!0)};X.lowercase=H;X.uppercase=Ia;X.html=function(a,b){return new Sa(a,b)};var ad=/((ftp|https?):\/\/|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s\.\;\,\(\)\{\}\<\>]/,
bd=/^mailto:/;X.linky=function(a){if(!a)return a;for(var b=a,c=[],d=wb(c),e,f;a=b.match(ad);)e=a[0],a[2]==a[3]&&(e="mailto:"+e),f=a.index,d.chars(b.substr(0,f)),d.start("a",{href:e}),d.chars(a[0].replace(bd,"")),d.end("a"),b=b.substring(f+a[0].length);d.chars(b);return new Sa(c.join(""))};var cd=/^\s*[-+]?\d*(\.\d*)?\s*$/;ia.noop=na(da,da);ia.json=na(Q,function(a){return fa(a||"null")});ia["boolean"]=na(gc,ma);ia.number=na(gc,function(a){if(a==null||cd.exec(a))return a===null||a===""?null:1*a;else throw"Not a number";
});ia.list=na(function(a){return a?a.join(", "):a},function(a){var b=[];k((a||"").split(","),function(a){(a=ea(a))&&b.push(a)});return b});ia.trim=na(function(a){return a?ea(""+a):""});s(db,{noop:function(){return null},regexp:function(a,b,c){return a.match(b)?null:c||"Value does not match expected format "+b+"."},number:function(a,b,c){var d=1*a;return d==a?typeof b!=pa&&d<b?"Value can not be less than "+b+".":typeof b!=pa&&d>c?"Value can not be greater than "+c+".":null:"Not a number"},integer:function(a,
b,c){return(b=db.number(a,b,c))?b:!(""+a).match(/^\s*[\d+]*\s*$/)||a!=Math.round(a)?"Not a whole number":null},date:function(a){var b=(a=/^(\d\d?)\/(\d\d?)\/(\d\d\d\d)$/.exec(a))?new Date(a[3],a[1]-1,a[2]):0;return b&&b.getFullYear()==a[3]&&b.getMonth()==a[1]-1&&b.getDate()==a[2]?null:"Value is not a date. (Expecting format: 12/31/2009)."},email:function(a){return a.match(/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/)?null:"Email needs to be in username@host.com format."},phone:function(a){return a.match(/^1\(\d\d\d\)\d\d\d-\d\d\d\d$/)?
null:a.match(/^\+\d{2,3} (\(\d{1,5}\))?[\d ]+\d$/)?null:"Phone number needs to be in 1(987)654-3210 format in North America or +999 (123) 45678 906 internationally."},url:function(a){return a.match(/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/)?null:"URL needs to be in http://server[:port]/path format."},json:function(a){try{return fa(a),null}catch(b){return b.toString()}},asynchronous:function(a,b,c){if(a){var d=this.$element,e=d.data("$asyncValidator");e||
d.data("$asyncValidator",e={inputs:{}});e.current=a;var f=e.inputs[a],g=this.$service("$invalidWidgets");f?f.inFlight?g.markInvalid(this.$element):(c||p)(f.response):(e.inputs[a]=f={inFlight:!0},g.markInvalid(this.$element),d.addClass("ng-input-indicator-wait"),b(a,function(b,c){f.response=c;f.error=b;f.inFlight=!1;e.current==a&&(d.removeClass("ng-input-indicator-wait"),g.markValid(d));d.data(nb)()}));return f.error}}});G("$cookieStore",function(a){return{get:function(b){return fa(a[b])},put:function(b,
c){a[b]=Q(c)},remove:function(b){delete a[b]}}},["$cookies"]);G("$cookies",function(a){var b=this,c={},d={},e,f=!1;a.addPollFn(function(){var g=a.cookies();e!=g&&(e=g,C(g,d),C(g,c),f&&b.$apply())})();f=!0;this.$watch(function(){var b,e,f;for(b in d)y(c[b])&&a.cookies(b,A);for(b in c)e=c[b],u(e)?e!==d[b]&&(a.cookies(b,e),f=!0):v(d[b])?c[b]=d[b]:delete c[b];if(f)for(b in e=a.cookies(),c)c[b]!==e[b]&&(y(e[b])?delete c[b]:c[b]=e[b])});return c},["$browser"]);G("$defer",function(a){var b=this;return function(c,
d){a.defer(function(){b.$apply(c)},d)}},["$browser"]);G("$document",function(a){return n(a.document)},["$window"]);G("$exceptionHandler",function(a){return function(b){a.error(b)}},["$log"]);G("$hover",function(a,b){var c,d,e=n(b[0].body);a.hover(function(a,b){if(b&&(d=a.attr(lb)||a.attr(wa))){c||(c={callout:n('<div id="ng-callout"></div>'),arrow:n("<div></div>"),title:n('<div class="ng-title"></div>'),content:n('<div class="ng-content"></div>')},c.callout.append(c.arrow),c.callout.append(c.title),
c.callout.append(c.content),e.append(c.callout));var h=e[0].getBoundingClientRect(),i=a[0].getBoundingClientRect(),h=h.right-i.right-10;c.title.text(a.hasClass("ng-exception")?"EXCEPTION:":"Validation error...");c.content.text(d);h<300?(c.arrow.addClass("ng-arrow-right"),c.arrow.css({left:"301px"}),c.callout.css({position:"fixed",left:i.left-10-300-4+"px",top:i.top-3+"px",width:"300px"})):(c.arrow.addClass("ng-arrow-left"),c.callout.css({position:"fixed",left:i.right+10+"px",top:i.top-3+"px",width:"300px"}))}else c&&
(c.callout.remove(),c=null)})},["$browser","$document"],!0);G("$invalidWidgets",function(){function a(b){if(b==x.document)return!1;b=b.parentNode;return!b||a(b)}var b=[];b.markValid=function(a){a=ya(b,a);a!=-1&&b.splice(a,1)};b.markInvalid=function(a){ya(b,a)===-1&&b.push(a)};b.visible=function(){var a=0;k(b,function(b){var e=a,b=b[0].getBoundingClientRect(),f=b.height||b.bottom||0-b.top||0;a=e+((b.width||b.right||0-b.left||0)>0&&f>0?1:0)});return a};this.$watch(function(){for(var c=0;c<b.length;){var d=
b[c];a(d[0])?(b.splice(c,1),d.dealoc&&d.dealoc()):c++}});return b});var dd=/^(file|ftp|http|https):\/\/(\w+:{0,1}\w*@)?([\w\.-]*)(:([0-9]+))?(\/[^\?#]*)?(\?([^#]*))?(#(.*))?$/,ed=/^([^\?]*)?(\?([^\?]*))?$/,lc={http:80,https:443,ftp:21};G("$location",function(a){function b(b){if(u(b)){var c=s,l=g,m={},o=dd.exec(b);if(o)m.href=b.replace(/#$/,""),m.protocol=o[1],m.host=o[3]||"",m.port=o[5]||lc[m.protocol]||null,m.path=o[6]||"",m.search=Ua(o[8]),m.hash=o[10]||"",s(m,f(m.hash));c(l,m)}else{v(b.hash)&&
s(b,u(b.hash)?f(b.hash):b.hash);s(g,b);if(v(b.hashPath||b.hashSearch))g.hash=e(g);g.href=d(g)}a.setUrl(g.href);C(g,h)}function c(a,c){var d={};u(a)?(d.hashPath=a,d.hashSearch=c||{}):d.hashSearch=a;d.hash=e(d);b({hash:d})}function d(a){var b=Cb(a.search),c=a.port==lc[a.protocol]?null:a.port;return a.protocol+"://"+a.host+(c?":"+c:"")+a.path+(b?"?"+b:"")+(a.hash?"#"+a.hash:"")}function e(a){var b=Cb(a.hashSearch);return escape(a.hashPath).replace(/%21/gi,"!").replace(/%3A/gi,":").replace(/%24/gi,"$")+
(b?"?"+b:"")}function f(a){var b={},c=ed.exec(a);if(c)b.hash=a,b.hashPath=unescape(c[1]||""),b.hashSearch=Ua(c[3]);return b}var g={update:b,updateHash:c},h={};a.onHashChange(M(this,this.$apply,function(){b(a.getUrl())}))();this.$watch(function(){if(!$(g,h)){if(g.href==h.href)if(g.hash!=h.hash){var a=f(g.hash);c(a.hashPath,a.hashSearch)}else g.hash=e(g),g.href=d(g);b(g.href)}});return g},["$browser"]);G("$log",function(a){function b(b){var d=a.console||{},e=d[b]||d.log||p;return e.apply?function(){var a=
[];k(arguments,function(b){a.push(tb(b))});return e.apply(d,a)}:e}return{log:b("log"),warn:b("warn"),info:b("info"),error:b("error")}},["$window"]);G("$resource",function(a){a=new Ea(a);return M(a,a.route)},["$xhr.cache"]);G("$route",function(a,b){function c(){var b,c;k(e,function(d,e){if(!c&&(b=f(a.hashPath,e)))c=Pa(d,{params:s({},a.hashSearch,b),pathParams:b}),c.$route=d});return c||e[null]&&Pa(e[null],{params:{},pathParams:{}})}function d(a,b){var c=[];k((a||"").split(":"),function(a,d){if(d==
0)c.push(a);else{var e=a.match(/(\w+)(.*)/),g=e[1];c.push(b[g]);c.push(e[2]||"");delete b[g]}});return c.join("")}var e={},f=function(a,b,c){var d="^"+b.replace(/[\.\\\(\)\^\$]/g,"$1")+"$",e=[],g={};k(b.split(/\W/),function(a){if(a){var b=RegExp(":"+a+"([\\W])");d.match(b)&&(d=d.replace(b,"([^/]*)$1"),e.push(a))}});var f=a.match(RegExp(d));f&&(k(e,function(a,b){g[a]=f[b+1]}),c&&this.$set(c,g));return f?g:null},g=this,h=this,i=0,j=!0,l={routes:e,parent:function(a){a&&(g=a)},when:function(a,b){if(y(a))return e;
var c=e[a];c||(c=e[a]={reloadOnSearch:!0});b&&s(c,b);i++;return c},otherwise:function(a){l.when(null,a)},reload:function(){i++;j=!1}};this.$watch(function(){return i+a.hash},function(){var e=c(),f=l.current;if(e&&f&&e.$route===f.$route&&$(e.pathParams,f.pathParams)&&!e.reloadOnSearch&&j)l.current=e,C(e.params,b),f.scope&&f.scope.$emit("$routeUpdate");else{j=!0;h.$broadcast("$beforeRouteChange",e,f);f&&f.scope&&f.scope.$destroy();if(l.current=e)e.redirectTo?a.update(u(e.redirectTo)?{hashSearch:e.params,
hashPath:d(e.redirectTo,e.params)}:{hash:e.redirectTo(e.pathParams,a.hash,a.hashPath,a.hashSearch)}):(C(e.params,b),e.scope=g.$new(e.controller));h.$broadcast("$afterRouteChange",e,f)}});return l},["$location","$routeParams"]);Ba("$routeParams",function(){return{}});G("$window",M(x,da,x));G("$xhr.bulk",function(a,b,c){function d(b,c,g,h,i){q(g)&&(i=h,h=g,g=null);var j;k(d.urls,function(a){if(q(a.match)?a.match(c):a.match.exec(c))j=a});if(j){if(!j.requests)j.requests=[];b={method:b,url:c,data:g,success:h};
if(i)b.error=i;j.requests.push(b)}else a(b,c,g,h,i)}d.urls={};d.flush=function(e,f){ra(e=e||p,0);ra(f=f||p,1);k(d.urls,function(d,f){var i=d.requests;if(i&&i.length)d.requests=[],d.callbacks=[],a("POST",f,{requests:i},function(a,d){k(d,function(a,d){try{a.status==200?(i[d].success||p)(a.status,a.response):q(i[d].error)?i[d].error(a.status,a.response):b(i[d],a)}catch(e){c.error(e)}});e()},function(a,d){k(i,function(e){try{q(e.error)?e.error(a,d):b(e,d)}catch(g){c.error(g)}})})})};this.$watch(function(){d.flush()});
return d},["$xhr","$xhr.error","$log"]);G("$xhr.cache",function(a,b,c,d){function e(a,h,i,j,l,m,o){q(i)?(q(j)?(o=m,m=l,l=j):(m=j,o=l,l=null),j=i,i=null):q(l)||(o=m,m=l,l=null);if(a=="GET"){var n;if(n=e.data[h])if(o?j(200,C(n.value)):b(function(){j(200,C(n.value))}),!m)return;(m=f[h])?(m.successes.push(j),m.errors.push(l)):(f[h]={successes:[j],errors:[l]},e.delegate(a,h,i,function(a,b){a==200&&(e.data[h]={value:b});var c=f[h].successes;delete f[h];k(c,function(c){try{(c||p)(a,C(b))}catch(e){d.error(e)}})},
function(b,e){var j=f[h].errors,l=f[h].successes;delete f[h];k(j,function(f,j){try{q(f)?f(b,C(e)):c({method:a,url:h,data:i,success:l[j]},{status:b,body:e})}catch(m){d.error(m)}})}))}else e.data={},e.delegate(a,h,i,j,l)}var f={};e.data={};e.delegate=a;return e},["$xhr.bulk","$defer","$xhr.error","$log"]);G("$xhr.error",function(a){return function(b,c){a.error("ERROR: XHR: "+b.url,b,c)}},["$log"]);G("$xhr",function(a,b,c){function d(d,h,i,j,l){q(i)&&(l=j,j=i,i=null);i&&I(i)&&(i=Q(i));a.xhr(d,h,i,function(a,
f){try{u(f)&&(f.match(/^\)\]\}',\n/)&&(f=f.substr(6)),/^\s*[\[\{]/.exec(f)&&/[\}\]]\s*$/.exec(f)&&(f=fa(f,!0))),e.$apply(function(){200<=a&&a<300?j(a,f):q(l)?l(a,f):b({method:d,url:h,data:i,success:j},{status:a,body:f})})}catch(k){c.error(k)}},s({"X-XSRF-TOKEN":a.cookies()["XSRF-TOKEN"]},f.common,f[H(d)]))}var e=this,f={common:{Accept:"application/json, text/plain, */*","X-Requested-With":"XMLHttpRequest"},post:{"Content-Type":"application/x-www-form-urlencoded"},get:{},head:{},put:{},"delete":{},
patch:{}};d.defaults={headers:f};return d},["$browser","$xhr.error","$log"]);G("$locale",function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"\u00a4",posSuf:"",negPre:"(\u00a4",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),
SHORTMONTH:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),DAY:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),SHORTDAY:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(","),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(a){return a===1?"one":"other"}}});B("ng:init",function(a){return function(){this.$eval(a)}});
B("ng:controller",function(a){this.scope(function(b){b=Da(b,a,!0)||Da(x,a,!0);ra(b,a);return b});return p});B("ng:bind",function(a,b){b.addClass("ng-binding");var c=aa(a).statements();return function(a){var b=p,f=p;this.$watch(function(g){var h,i,j,l;l=g.hasOwnProperty("$element");var m=g.$element;g.$element=a;try{i=c(g)}catch(k){g.$service("$exceptionHandler")(k),h=tb(k)}finally{l?g.$element=m:delete g.$element}if(g=i instanceof Sa)i=(j=i).html;if(!(b===i&&f==h)&&(l=Ra(i),!g&&!l&&I(i)&&(i=Q(i,!0)),
i!=b||h!=f))b=i,f=h,ka(a,lb,h),h&&(i=h),g?a.html(j.get()):l?(a.html(""),a.append(i)):a.text(i==A?"":i)})}});var hc={};B("ng:bind-template",function(a,b){b.addClass("ng-binding");var c=kb(a);return function(a){var b;this.$watch(function(f){f=c(f,a,!0);f!=b&&(a.text(f),b=f)})}});var fd={disabled:"disabled",readonly:"readOnly",checked:"checked",selected:"selected",multiple:"multiple"};B("ng:bind-attr",function(a){return function(b){var c={};this.$watch(function(d){var e=d.$eval(a),f;for(f in e){var g=
kb(e[f])(d,b),h=fd[H(f)];c[f]!==g&&(c[f]=g,h?(ma(g)?(b.attr(h,h),b.attr("ng-"+h,g)):(b.removeAttr(h),b.removeAttr("ng-"+h)),(b.data(nb)||p)()):b.attr(f,g))}})}});B("ng:click",function(a){return function(b){var c=this;b.bind("click",function(b){c.$apply(a);b.stopPropagation()})}});B("ng:submit",function(a){return function(b){var c=this;b.bind("submit",function(b){c.$apply(a);b.preventDefault()})}});B("ng:class",mb(function(){return!0}));B("ng:class-odd",mb(function(a){return a%2===0}));B("ng:class-even",
mb(function(a){return a%2===1}));B("ng:show",function(a){return function(b){this.$watch(a,function(a,d){b.css("display",ma(d)?"":"none")})}});B("ng:hide",function(a){return function(b){this.$watch(a,function(a,d){b.css("display",ma(d)?"none":"")})}});B("ng:style",function(a){return function(b){var c=Pc(b);this.$watch(function(d){var d=d.$eval(a)||{},e,f={};for(e in d)c[e]===A&&(c[e]=""),f[e]=d[e];for(e in c)f[e]=f[e]||c[e];b.css(f)})}});B("ng:cloak",function(a,b){b.removeAttr("ng:cloak");b.removeClass("ng-cloak")});
Ta("{{}}",function(a,b,c){var d=Ja(a);if(d.length>1||Ka(d[0])!==null)if(rc(c[0]))c.attr("ng:bind-template",a);else{var e=b,f;k(Ja(a),function(a){var b=Ka(a);b?(f=n("<span>"),f.attr("ng:bind",b)):f=n(F.createTextNode(a));V&&a.charAt(0)==" "&&(f=n("<span>&nbsp;</span>"),b=f.html(),f.text(a.substr(1)),f.html(b+f.html()));e.after(f);e=f});b.remove()}});Ta("option",function(a,b,c){H(sa(c))=="option"&&(V<=7?vb(c[0].outerHTML,{start:function(b,e){y(e.value)&&c.attr("value",a)}}):c[0].getAttribute("value")==
null&&c.attr("value",a))});var rb={};k("src,href,checked,disabled,multiple,readonly,selected".split(","),function(a){rb["ng:"+a]=a});Bb("{{}}",function(a,b,c){if(!B(b)&&!B("@"+b)){V&&b=="src"&&(a=decodeURI(a));var d=Ja(a);if(d.length>1||Ka(d[0])!==null||rb[b])c.removeAttr(b),d=fa(c.attr("ng:bind-attr")||"{}"),d[rb[b]||b]=a,c.attr("ng:bind-attr",Q(d))}});var P=xa("keydown change",va,jc,Ma(),!0),Sc={text:P,textarea:P,hidden:P,password:P,checkbox:xa("click",ic,function(a,b){var c=b[0];return{get:function(){return!!c.checked},
set:function(a){c.checked=ma(a)}}},Ma(!1)),radio:xa("click",ic,function(a,b){var c=b[0];return{get:function(){return c.checked?c.value:null},set:function(a){c.checked=a==c.value}}},function(a,b,c){var d=a.get(),e=b.get(),c=c[0];c.checked=!1;c.name=this.$id+"@"+c.name;y(d)&&a.set(d=null);d==null&&e!==null&&a.set(e);b.set(d)}),"select-one":xa("change",va,jc,Ma(null)),"select-multiple":xa("change",va,function(a,b){var c=b.attr("ng:format")||La,d=aa(c).formatter()();return{get:function(){var c=[];k(b[0].options,
function(b){b.selected&&c.push(d.parse(a,b.value))});return c},set:function(c){var f={};k(c,function(b){f[d.format(a,b)]=!0});k(b[0].options,function(a){a.selected=f[a.value]})}}},Ma([]))};O("input",ob);O("textarea",ob);var gd=/^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+group\s+by\s+(.*))?\s+for\s+(?:([\$\w][\$\w\d]*)|(?:\(\s*([\$\w][\$\w\d]*)\s*,\s*([\$\w][\$\w\d]*)\s*\)))\s+in\s+(.*)$/;O("select",function(a){this.descend(!0);this.directives(!0);var b=a.attr("multiple"),c=a.attr("ng:options"),d=W(a.attr("ng:change")||
""),e;if(!c)return ob.call(this,a);if(!(e=c.match(gd)))throw z("Expected ng:options in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '"+c+"'.");var f=W(e[2]||e[1]),g=e[4]||e[6],h=e[5],i=W(e[3]||""),j=W(e[2]?e[1]:g),l=W(e[7]),m=n(F.createElement("option")),o=n(F.createElement("optgroup")),D=!1;return function(c){var e=[[{element:c,label:""}]],r=this,p=va(r,a);k(c.children(),function(a){a.value==""&&(D={label:n(a).text(),id:""})});c.html("");c.bind("change",function(){var a,
f=l(r)||[],i=c.val(),m=r.$new(),k,o,n,D,s,q;if(b){k=[];D=0;for(q=e.length;D<q;D++){a=e[D];n=1;for(s=a.length;n<s;n++)if((o=a[n].element)[0].selected)h&&(m[h]=i),m[g]=f[o.val()],k.push(j(m))}}else i=="?"?k=A:i==""?k=null:(m[g]=f[i],h&&(m[h]=i),k=j(m));v(k)&&p.get()!==k&&(d(r),p.set(k));r.$root.$apply()});r.$watch(function(a){var d={"":[]},k=[""],n,r,q,u,v,w,x=l(a)||[],y=x,C,H,A,z,J,a=a.$new(),B=p.get(),G,E=!1,F,I;try{if(b){if(E=new dc,B&&oa(A=B.length))for(J=0;J<A;J++)E.put(B[J],!0)}else if(B===null||
D)d[""].push(s({selected:B===null,id:"",label:""},D)),E=!0;if(h){y=[];for(C in x)x.hasOwnProperty(C)&&y.push(C);y.sort()}for(J=0;A=y.length,J<A;J++){a[g]=x[h?a[h]=y[J]:J];n=i(a)||"";if(!(r=d[n]))r=d[n]=[],k.push(n);b?G=!!E.remove(j(a)):(G=B===j(a),E=E||G);r.push({id:h?y[J]:J,label:f(a)||"",selected:G})}k.sort();!b&&!E&&d[""].unshift({id:"?",label:"",selected:!0});z=0;for(H=k.length;z<H;z++){n=k[z];r=d[n];if(e.length<=z)e.push(v=[u={element:o.clone().attr("label",n),label:r.label}]),c.append(u.element);
else if(v=e[z],u=v[0],u.label!=n)u.element.attr("label",u.label=n);F=null;J=0;for(A=r.length;J<A;J++)if(q=r[J],w=v[J+1]){F=w.element;if(w.label!==q.label)F.text(w.label=q.label);if(w.id!==q.id)F.val(w.id=q.id);w.selected!==q.selected&&F.attr("selected",q.selected)}else(I=m.clone()).val(q.id).attr("selected",q.selected).text(q.label),v.push(w={element:I,label:q.label,id:q.id,checked:q.selected}),F?F.after(I):u.element.append(I),F=I;for(J++;v.length>J;)v.pop().element.remove()}for(;e.length>z;)e.pop()[0].element.remove()}finally{a.$destroy()}})}});
O("ng:include",function(a){var b=this,c=a.attr("src"),d=a.attr("scope")||"",e=a[0].getAttribute("onload")||"";if(a[0]["ng:compiled"])this.descend(!0),this.directives(!0);else return a[0]["ng:compiled"]=!0,s(function(a,g){var h=0,i=[],j,l;this.$watch(c,function(){h++});this.$watch(function(a){a=a.$eval(d);a!==l&&(l=a,h++)});this.$watch(function(){return h},function(h){for(var l=h.$eval(c),k=h.$eval(d);i.length;)i.pop().$destroy();l?a("GET",l,null,function(a,c){g.html(c);k?j=k:i.push(j=h.$new());b.compile(g)(j);
h.$eval(e)},!1,!0):(j=null,g.html(""))})},{$inject:["$xhr.cache"]})});O("ng:switch",function(a){var b=a.attr("on"),c=a.attr("change"),d={},e,f=a.children(),g=f.length,h,i;if(!b)throw new z("Missing 'on' attribute.");for(;g--;)h=n(f[g]),h.remove(),i=h.attr("ng:switch-when"),u(i)?d[i]=this.compile(h):u(h.attr("ng:switch-default"))&&(e=this.compile(h));f=null;a.html("");return function(a){var f=0,g,h;this.$watch(b,function(b,i){a.html("");if(h=d[i]||e)f++,g&&g.$destroy(),g=b.$new(),g.$eval(c)});this.$watch(function(){return f},
function(){a.html("");h&&h(g,function(b){a.append(b)})})}});O("a",function(){this.descend(!0);this.directives(!0);return function(a){var b=(a.attr("ng:bind-attr")||"").indexOf('"href":')!==-1;!b&&!a.attr("name")&&!a.attr("href")&&a.attr("href","");a.attr("href")===""&&!b&&a.bind("click",function(a){a.preventDefault()})}});O("@ng:repeat",function(a,b){b.removeAttr("ng:repeat");b.replaceWith(n("<\!-- ng:repeat: "+a+" --\>"));var c=this.compile(b);return function(b){var e=a.match(/^\s*(.+)\s+in\s+(.*)\s*$/),
f,g,h,i;if(!e)throw z("Expected ng:repeat in form of '_item_ in _collection_' but got '"+a+"'.");f=e[1];g=e[2];e=f.match(/^([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\)$/);if(!e)throw z("'item' in 'item in collection' should be identifier or (key, value) but got '"+keyValue+"'.");h=e[3]||e[1];i=e[2];var j=[],l=[b],k=this;this.$watch(function(a){var b=0,d=j.length,a=a.$eval(g),e=xb(a,!0),f=F.createDocumentFragment(),q=d<e?l[d]:null,p,s;for(s in a)if(a.hasOwnProperty(s))b<d?(p=j[b],p[h]=a[s],i&&(p[i]=s),
p.$position=b==0?"first":b==e-1?"last":"middle",p.$eval()):(p=k.$new(),p[h]=a[s],i&&(p[i]=s),p.$index=b,p.$position=b==0?"first":b==e-1?"last":"middle",j.push(p),c(p,function(a){a.attr("ng:repeat-index",b);f.appendChild(a[0]);p.$digest();l[b+1]=a})),b++;for(q&&q.after(n(f));j.length>b;)j.pop().$destroy(),l.pop().remove()})}});O("@ng:non-bindable",p);O("ng:view",function(a){var b=this;if(a[0]["ng:compiled"])b.descend(!0),b.directives(!0);else return a[0]["ng:compiled"]=!0,ab("$xhr.cache","$route",
function(a,d,e){var f=0;this.$on("$afterRouteChange",function(){f++});this.$watch(function(){return f},function(){var f=d.current&&d.current.template;f?a("GET",f,function(a,c){e.html(c);b.compile(e)(d.current.scope)}):e.html("")})})});O("ng:pluralize",function(a){var b=a.attr("count"),c=a.attr("when"),d=a.attr("offset")||0;return ab("$locale",function(a,f){var g=this,h=g.$eval(c),i={};k(h,function(a,c){i[c]=kb(a.replace(/{}/g,"{{"+b+"-"+d+"}}"))});g.$watch(function(){var c=parseFloat(g.$eval(b));
return isNaN(c)?"":(h[c]||(c=a.pluralCat(c-d)),i[c](g,f,!0))},function(a,b){f.text(b)})})});var Na;Ba("$browser",function(a){Na||(Na=new Gc(x,n(x.document),n(x.document.body),Tc,a),Na.bind());return Na},{$inject:["$log"]});s(w,{compile:zb,scope:$a,copy:C,extend:s,equals:$,forEach:k,injector:Hb,noop:p,bind:M,toJson:Q,fromJson:fa,identity:da,isUndefined:y,isDefined:v,isString:u,isFunction:q,isObject:I,isNumber:oa,isArray:U,version:{full:"0.10.0",major:0,minor:10,dot:0,codeName:"chicken-hands"},isDate:qa,
lowercase:H,uppercase:Ia});Db();Xa(F).ready(function(){var a=tc(F),b=F,c=a.autobind;c&&(b=u(c)?b.getElementById(c):b,b=zb(b)($a()),c=b.$service("$browser"),a.css?c.addCss(a.base_url+a.css):V<8&&c.addJs(a.ie_compat,a.ie_compat_id),b.$apply())})})(window,document);angular.element(document).find("head").append('<style type="text/css">@charset "UTF-8";[ng\\:cloak],.ng-cloak{display:none;}.ng-format-negative{color:red;}.ng-exception{border:2px solid #FF0000;font-family:"Courier New",Courier,monospace;font-size:smaller;white-space:pre;}.ng-validation-error{border:2px solid #FF0000;}#ng-callout{margin:0;padding:0;border:0;outline:0;font-size:13px;font-weight:normal;font-family:Verdana,Arial,Helvetica,sans-serif;vertical-align:baseline;background:transparent;text-decoration:none;}#ng-callout .ng-arrow-left{background-image:url("data:image/gif;base64,R0lGODlhCwAXAKIAAMzMzO/v7/f39////////wAAAAAAAAAAACH5BAUUAAQALAAAAAALABcAAAMrSLoc/AG8FeUUIN+sGebWAnbKSJodqqlsOxJtqYooU9vvk+vcJIcTkg+QAAA7");background-repeat:no-repeat;background-position:left top;position:absolute;z-index:101;left:-12px;height:23px;width:10px;top:-3px;}#ng-callout .ng-arrow-right{background-image:url("data:image/gif;base64,R0lGODlhCwAXAKIAAMzMzO/v7/f39////////wAAAAAAAAAAACH5BAUUAAQALAAAAAALABcAAAMrCLTcoM29yN6k9socs91e5X3EyJloipYrO4ohTMqA0Fn2XVNswJe+H+SXAAA7");background-repeat:no-repeat;background-position:left top;position:absolute;z-index:101;height:23px;width:11px;top:-2px;}#ng-callout{position:absolute;z-index:100;border:2px solid #CCCCCC;background-color:#fff;}#ng-callout .ng-content{padding:10px 10px 10px 10px;color:#333333;}#ng-callout .ng-title{background-color:#CCCCCC;text-align:left;padding-left:8px;padding-bottom:5px;padding-top:2px;font-weight:bold;}.ng-input-indicator-wait{background-image:url("data:image/png;base64,R0lGODlhEAAQAPQAAP///wAAAPDw8IqKiuDg4EZGRnp6egAAAFhYWCQkJKysrL6+vhQUFJycnAQEBDY2NmhoaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAAFdyAgAgIJIeWoAkRCCMdBkKtIHIngyMKsErPBYbADpkSCwhDmQCBethRB6Vj4kFCkQPG4IlWDgrNRIwnO4UKBXDufzQvDMaoSDBgFb886MiQadgNABAokfCwzBA8LCg0Egl8jAggGAA1kBIA1BAYzlyILczULC2UhACH5BAkKAAAALAAAAAAQABAAAAV2ICACAmlAZTmOREEIyUEQjLKKxPHADhEvqxlgcGgkGI1DYSVAIAWMx+lwSKkICJ0QsHi9RgKBwnVTiRQQgwF4I4UFDQQEwi6/3YSGWRRmjhEETAJfIgMFCnAKM0KDV4EEEAQLiF18TAYNXDaSe3x6mjidN1s3IQAh+QQJCgAAACwAAAAAEAAQAAAFeCAgAgLZDGU5jgRECEUiCI+yioSDwDJyLKsXoHFQxBSHAoAAFBhqtMJg8DgQBgfrEsJAEAg4YhZIEiwgKtHiMBgtpg3wbUZXGO7kOb1MUKRFMysCChAoggJCIg0GC2aNe4gqQldfL4l/Ag1AXySJgn5LcoE3QXI3IQAh+QQJCgAAACwAAAAAEAAQAAAFdiAgAgLZNGU5joQhCEjxIssqEo8bC9BRjy9Ag7GILQ4QEoE0gBAEBcOpcBA0DoxSK/e8LRIHn+i1cK0IyKdg0VAoljYIg+GgnRrwVS/8IAkICyosBIQpBAMoKy9dImxPhS+GKkFrkX+TigtLlIyKXUF+NjagNiEAIfkECQoAAAAsAAAAABAAEAAABWwgIAICaRhlOY4EIgjH8R7LKhKHGwsMvb4AAy3WODBIBBKCsYA9TjuhDNDKEVSERezQEL0WrhXucRUQGuik7bFlngzqVW9LMl9XWvLdjFaJtDFqZ1cEZUB0dUgvL3dgP4WJZn4jkomWNpSTIyEAIfkECQoAAAAsAAAAABAAEAAABX4gIAICuSxlOY6CIgiD8RrEKgqGOwxwUrMlAoSwIzAGpJpgoSDAGifDY5kopBYDlEpAQBwevxfBtRIUGi8xwWkDNBCIwmC9Vq0aiQQDQuK+VgQPDXV9hCJjBwcFYU5pLwwHXQcMKSmNLQcIAExlbH8JBwttaX0ABAcNbWVbKyEAIfkECQoAAAAsAAAAABAAEAAABXkgIAICSRBlOY7CIghN8zbEKsKoIjdFzZaEgUBHKChMJtRwcWpAWoWnifm6ESAMhO8lQK0EEAV3rFopIBCEcGwDKAqPh4HUrY4ICHH1dSoTFgcHUiZjBhAJB2AHDykpKAwHAwdzf19KkASIPl9cDgcnDkdtNwiMJCshACH5BAkKAAAALAAAAAAQABAAAAV3ICACAkkQZTmOAiosiyAoxCq+KPxCNVsSMRgBsiClWrLTSWFoIQZHl6pleBh6suxKMIhlvzbAwkBWfFWrBQTxNLq2RG2yhSUkDs2b63AYDAoJXAcFRwADeAkJDX0AQCsEfAQMDAIPBz0rCgcxky0JRWE1AmwpKyEAIfkECQoAAAAsAAAAABAAEAAABXkgIAICKZzkqJ4nQZxLqZKv4NqNLKK2/Q4Ek4lFXChsg5ypJjs1II3gEDUSRInEGYAw6B6zM4JhrDAtEosVkLUtHA7RHaHAGJQEjsODcEg0FBAFVgkQJQ1pAwcDDw8KcFtSInwJAowCCA6RIwqZAgkPNgVpWndjdyohACH5BAkKAAAALAAAAAAQABAAAAV5ICACAimc5KieLEuUKvm2xAKLqDCfC2GaO9eL0LABWTiBYmA06W6kHgvCqEJiAIJiu3gcvgUsscHUERm+kaCxyxa+zRPk0SgJEgfIvbAdIAQLCAYlCj4DBw0IBQsMCjIqBAcPAooCBg9pKgsJLwUFOhCZKyQDA3YqIQAh+QQJCgAAACwAAAAAEAAQAAAFdSAgAgIpnOSonmxbqiThCrJKEHFbo8JxDDOZYFFb+A41E4H4OhkOipXwBElYITDAckFEOBgMQ3arkMkUBdxIUGZpEb7kaQBRlASPg0FQQHAbEEMGDSVEAA1QBhAED1E0NgwFAooCDWljaQIQCE5qMHcNhCkjIQAh+QQJCgAAACwAAAAAEAAQAAAFeSAgAgIpnOSoLgxxvqgKLEcCC65KEAByKK8cSpA4DAiHQ/DkKhGKh4ZCtCyZGo6F6iYYPAqFgYy02xkSaLEMV34tELyRYNEsCQyHlvWkGCzsPgMCEAY7Cg04Uk48LAsDhRA8MVQPEF0GAgqYYwSRlycNcWskCkApIyEAOwAAAAAAAAAAAA==");background-position:right;background-repeat:no-repeat;}</style>');
'use strict';(function(D,L,F){function k(a,b,c){var d;if(a)if(B(a))for(d in a)d!="prototype"&&d!=gc&&d!=hc&&a.hasOwnProperty(d)&&b.call(c,a[d],d);else if(a.forEach&&a.forEach!==k)a.forEach(b,c);else if(H(a)&&ga(a.length))for(d=0;d<a.length;d++)b.call(c,a[d],d);else for(d in a)b.call(c,a[d],d);return a}function jb(a){var b=[],c;for(c in a)a.hasOwnProperty(c)&&b.push(c);return b.sort()}function kb(a,b,c){for(var d=jb(a),e=0;e<d.length;e++)b.call(c,a[d[e]],d[e]);return d}function ic(a){return function(b,
c){a(c,b)}}function Ka(){for(var a=U.length,b;a;){a--;b=U[a].charCodeAt(0);if(b==57)return U[a]="A",U.join("");if(b==90)U[a]="0";else return U[a]=String.fromCharCode(b+1),U.join("")}U.unshift("0");return U.join("")}function z(a){k(arguments,function(b){b!==a&&k(b,function(b,d){a[d]=b})});return a}function ha(a,b){return z(new (z(function(){},{prototype:a})),b)}function A(){}function ia(a){return a}function Y(a){return function(){return a}}function ja(a,b,c){var d;return a[b]||(d=a[b]=function(a,b,
f){a=(c||ia)(a);t(b)&&(d[a]=z(b,f||{}));return d[a]})}function C(a){return typeof a==La}function t(a){return typeof a!=La}function H(a){return a!=null&&typeof a==jc}function s(a){return typeof a==kc}function ga(a){return typeof a=="number"}function sa(a){return lb.apply(a)=="[object Date]"}function E(a){return lb.apply(a)=="[object Array]"}function B(a){return typeof a=="function"}function ta(a){return a&&a.document&&a.location&&a.alert&&a.setInterval}function O(a){return s(a)?a.replace(/^\s*/,"").replace(/\s*$/,
""):a}function ua(a){return a&&(a.nodeName||a.bind&&a.find)}function V(a){var b={},a=a.split(","),c;for(c=0;c<a.length;c++)b[a[c]]=!0;return b}function Ma(a,b){this.html=a;this.get=v(b)=="unsafe"?Y(a):function(){var b=[];mb(a,nb(b));return b.join("")}}function lc(a,b,c){var d=[];k(a,function(a,g,f){d.push(b.call(c,a,g,f))});return d}function mc(a,b){var c=0,d;if(E(a)||s(a))return a.length;else if(H(a))for(d in a)(!b||a.hasOwnProperty(d))&&c++;return c}function ob(a,b){for(var c=0;c<a.length;c++)if(b===
a[c])return c;return-1}function Na(a,b){var c=ob(a,b);c>=0&&a.splice(c,1);return b}function nc(a){if(a)switch(a.nodeName){case "OPTION":case "PRE":case "TITLE":return!0}return!1}function M(a,b){if(ta(a)||a&&a.$evalAsync&&a.$watch)throw y("Can't copy Window or Scope");if(b){if(a===b)throw y("Can't copy equivalent objects or arrays");if(E(a)){for(;b.length;)b.pop();for(var c=0;c<a.length;c++)b.push(M(a[c]))}else for(c in k(b,function(a,c){delete b[c]}),a)b[c]=M(a[c])}else(b=a)&&(E(a)?b=M(a,[]):sa(a)?
b=new Date(a.getTime()):H(a)&&(b=M(a,{})));return b}function W(a,b){if(a===b)return!0;if(a===null||b===null)return!1;if(a!==a&&b!==b)return!0;var c=typeof a,d;if(c==typeof b&&c=="object")if(E(a)){if((c=a.length)==b.length){for(d=0;d<c;d++)if(!W(a[d],b[d]))return!1;return!0}}else{if(a&&a.$evalAsync&&a.$watch||b&&b.$evalAsync&&b.$watch||ta(a)||ta(b))return!1;c={};for(d in a){if(d.charAt(0)!=="$"&&!B(a[d])&&!W(a[d],b[d]))return!1;c[d]=!0}for(d in b)if(!c[d]&&d.charAt(0)!=="$"&&!B(b[d]))return!1;return!0}return!1}
function Z(a,b){var c=arguments.length>2?ca.call(arguments,2):[];return B(b)&&!(b instanceof RegExp)?c.length?function(){return arguments.length?b.apply(a,c.concat(ca.call(arguments,0))):b.apply(a,c)}:function(){return arguments.length?b.apply(a,arguments):b.call(a)}:b}function va(a){a&&a.length!==0?(a=v(""+a),a=!(a=="f"||a=="0"||a=="false"||a=="no"||a=="n"||a=="[]")):a=!1;return a}function Oa(a){var b={},c,d;k((a||"").split("&"),function(a){a&&(c=a.split("="),d=decodeURIComponent(c[0]),b[d]=t(c[1])?
decodeURIComponent(c[1]):!0)});return b}function pb(a){var b=[];k(a,function(a,d){b.push(da(d,!0)+(a===!0?"":"="+da(a,!0)))});return b.length?b.join("&"):""}function wa(a){return da(a,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function da(a,b){return encodeURIComponent(a).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(b?null:/%20/g,"+")}function oc(a,b){function c(a){a&&d.push(a)}var d=[a],e,g,f=["ng:app","ng-app","x-ng-app","data-ng-app"],
i=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;k(f,function(b){f[b]=!0;c(L.getElementById(b));b=b.replace(":","\\:");a.querySelectorAll&&(k(a.querySelectorAll("."+b),c),k(a.querySelectorAll("."+b+"\\:"),c),k(a.querySelectorAll("["+b+"]"),c))});k(d,function(a){if(!e){var b=i.exec(" "+a.className+" ");b?(e=a,g=(b[2]||"").replace(/\s+/g,",")):k(a.attributes,function(b){if(!e&&f[b.name])e=a,g=b.value})}});e&&b(e,g?[g]:[])}function qb(a,b){a=q(a);b=b||[];b.unshift("ng");var c=rb(b);c.invoke(["$rootScope","$compile",
"$injector",function(b,c,g){b.$apply(function(){a.data("$injector",g);c(a)(b)})}]);return c}function sb(a,b,c){if(!a)throw new y("Argument '"+(b||"?")+"' is "+(c||"required"));return a}function ea(a,b){sb(B(a),b,"not a function, got "+(typeof a=="object"?a.constructor.name||"Object":typeof a));return a}function pc(a){function b(a,b,e){return a[b]||(a[b]=e())}return b(b(a,"angular",Object),"module",function(){var a={};return function(d,e,g){e&&a.hasOwnProperty(d)&&(a[d]=null);return b(a,d,function(){function a(c,
d){return function(){b.push([c,d,arguments]);return l}}if(!e)throw y("No module: "+d);var b=[],c=[],h=a("$injector","invoke"),l={_invokeQueue:b,_runBlocks:c,requires:e,name:d,service:a("$provide","service"),factory:a("$provide","factory"),value:a("$provide","value"),filter:a("$filterProvider","register"),config:h,run:function(a){c.push(a);return this}};g&&h(g);return l})}})}function Q(a,b){var c=[];Pa(c,a,b?"\n ":null,[]);return c.join("")}function ka(a,b){function c(a){if(s(a)&&a.length===qc)return tb(a);
else(E(a)||H(a))&&k(a,function(b,d){a[d]=c(b)});return a}if(!s(a))return a;var d;try{return d=b&&D.JSON&&D.JSON.parse?JSON.parse(a):ub(a,!0)(),c(d)}catch(e){throw rc("fromJson error: ",a,e),e;}}function tb(a){var b;if(s(a)&&(b=a.match(sc)))a=new Date(0),a.setUTCFullYear(b[1],b[2]-1,b[3]),a.setUTCHours(b[4]||0,b[5]||0,b[6]||0,b[7]||0);return a}function tc(a){if(!a)return a;var b=a.toISOString?a.toISOString():"";return b.length==24?b:R(a.getUTCFullYear(),4)+"-"+R(a.getUTCMonth()+1,2)+"-"+R(a.getUTCDate(),
2)+"T"+R(a.getUTCHours(),2)+":"+R(a.getUTCMinutes(),2)+":"+R(a.getUTCSeconds(),2)+"."+R(a.getUTCMilliseconds(),3)+"Z"}function xa(a){for(var b=['"'],c=0;c<a.length;c++){var d=a.charCodeAt(c),e=a.charAt(c);switch(e){case '"':b.push('\\"');break;case "\\":b.push("\\\\");break;case "\n":b.push("\\n");break;case "\u000c":b.push("\\f");break;case "\r":b.push("\\r");break;case "\t":b.push("\\t");break;default:32<=d&&d<=126?b.push(e):(d="000"+d.toString(16),b.push("\\u"+d.substring(d.length-4)))}}b.push('"');
return b.join("")}function Pa(a,b,c,d){if(H(b)){if(b===D){a.push("WINDOW");return}if(b===L){a.push("DOCUMENT");return}var e;a:{for(e=0;e<d.length;e++)if(b===d[e]){e=!0;break a}e=!1}if(e){a.push("RECURSION");return}d.push(b)}if(b===null)a.push("null");else if(b instanceof RegExp)a.push(xa(b.toString()));else if(B(b))return;else if(typeof b==uc)a.push(""+b);else if(ga(b))isNaN(b)?a.push("null"):a.push(""+b);else if(s(b))return a.push(xa(b));else if(H(b))if(E(b)){a.push("[");e=b.length;for(var g=!1,
f=0;f<e;f++){var i=b[f];g&&a.push(",");!(i instanceof RegExp)&&(B(i)||C(i))?a.push("null"):Pa(a,i,c,d);g=!0}a.push("]")}else if(ua(b))a.push("DOM_ELEMENT");else if(sa(b))a.push(xa(tc(b)));else{a.push("{");c&&a.push(c);e=!1;g=c?c+" ":!1;f=[];for(i in b)i!="this"&&i!="$parent"&&i.substring(0,2)!="$$"&&b.hasOwnProperty(i)&&b[i]!==F&&f.push(i);f.sort();for(i=0;i<f.length;i++){var j=f[i],h=b[j];B(h)||(e&&(a.push(","),c&&a.push(c)),a.push(xa(j)),a.push(":"),Pa(a,h,g,d),e=!0)}a.push("}")}H(b)&&d.pop()}
function Qa(a){ea(a);if(!a.$inject){var b=a.$inject=[],c=a.toString().replace(vc,"").match(wc);k(c[1].split(xc),function(a){a.replace(yc,function(a,c){b.push(c)})})}return a.$inject}function rb(a){function b(a){return function(b,c){H(b)?k(b,ic(a)):a(b,c)}}function c(a,b){B(b)&&(b=l.instantiate(b));if(!b.$get)throw y("Provider "+a+" must define $get factory method.");h[a+f]=b}function d(a,b){c(a,{$get:b})}function e(a){var b=[];k(a,function(a){if(!j.get(a))if(j.put(a,!0),s(a)){var c=la(a);b=b.concat(e(c.requires)).concat(c._runBlocks);
try{for(var d=c._invokeQueue,c=0,f=d.length;c<f;c++){var h=d[c],i=h[0]=="$injector"?l:l.get(h[0]);i[h[1]].apply(i,h[2])}}catch(g){throw g.message&&(g.message+=" from "+a),g;}}else if(B(a))try{b.push(l.invoke(a))}catch(m){throw m.message&&(m.message+=" from "+a),m;}else if(E(a))try{b.push(l.invoke(a))}catch(o){throw o.message&&(o.message+=" from "+String(a[a.length-1])),o;}else ea(a,"module")});return b}function g(a,b){function c(d){if(typeof d!=="string")throw y("Service name expected");if(a.hasOwnProperty(d))return a[d];
else try{return i.unshift(d),a[d]=b(d)}finally{i.shift()}}function d(a,b,e){var f=[],h,i,g;if(typeof a=="function")h=Qa(a),i=h.length;else{if(E(a))h=a,i=h.length,a=h[--i];ea(a,"fn")}for(;i--;)g=h[i],f.unshift(e&&e.hasOwnProperty(g)?e[g]:c(g));switch(b?-1:f.length){case 0:return a();case 1:return a(f[0]);case 2:return a(f[0],f[1]);case 3:return a(f[0],f[1],f[2]);case 4:return a(f[0],f[1],f[2],f[3]);case 5:return a(f[0],f[1],f[2],f[3],f[4]);case 6:return a(f[0],f[1],f[2],f[3],f[4],f[5]);case 7:return a(f[0],
f[1],f[2],f[3],f[4],f[5],f[6]);case 8:return a(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7]);case 9:return a(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7],f[8]);case 10:return a(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7],f[8],f[9]);default:return a.apply(b,f)}}return{invoke:d,instantiate:function(a,b){var c=function(){};c.prototype=a.prototype;c=new c;return d(a,c,b)||c},get:c}}var f="Provider",i=[],j=new ya,h={$provide:{service:b(c),factory:b(d),value:b(function(a,b){d(a,Y(b))}),decorator:function(a,b){var c=
l.get(a+f),d=c.$get;c.$get=function(){var a=m.invoke(d,c);return m.invoke(b,null,{$delegate:a})}}}},l=g(h,function(){throw y("Unknown provider: "+i.join(" <- "));}),o={},m=o.$injector=g(o,function(a){a=l.get(a+f);return m.invoke(a.$get,a)});k(e(a),function(a){m.invoke(a||A)});return m}function vb(a,b){this.template=a+="#";this.defaults=b||{};var c=this.urlParams={};k(a.split(/\W/),function(b){b&&a.match(RegExp(":"+b+"\\W"))&&(c[b]=!0)})}function za(a){this.$http=a}function mb(a,b){function c(a,c,
e,i){c=v(c);if(wb[c])for(;f.last()&&xb[f.last()];)d("",f.last());yb[c]&&f.last()==c&&d("",c);(i=zb[c]||!!i)||f.push(c);var g={};e.replace(zc,function(a,b,c,d,f){g[b]=Sa(c||d||f||"")});b.start&&b.start(c,g,i)}function d(a,c){var d=0,e;if(c=v(c))for(d=f.length-1;d>=0;d--)if(f[d]==c)break;if(d>=0){for(e=f.length-1;e>=d;e--)b.end&&b.end(f[e]);f.length=d}}var e,g,f=[],i=a;for(f.last=function(){return f[f.length-1]};a;){g=!0;if(!f.last()||!Ab[f.last()]){if(a.indexOf("<\!--")===0)e=a.indexOf("--\>"),e>=
0&&(b.comment&&b.comment(a.substring(4,e)),a=a.substring(e+3),g=!1);else if(Ac.test(a)){if(e=a.match(Bb))a=a.substring(e[0].length),e[0].replace(Bb,d),g=!1}else if(Bc.test(a)&&(e=a.match(Cb)))a=a.substring(e[0].length),e[0].replace(Cb,c),g=!1;g&&(e=a.indexOf("<"),g=e<0?a:a.substring(0,e),a=e<0?"":a.substring(e),b.chars&&b.chars(Sa(g)))}else a=a.replace(RegExp("(.*)<\\s*\\/\\s*"+f.last()+"[^>]*>","i"),function(a,c){c=c.replace(Cc,"$1").replace(Dc,"$1");b.chars&&b.chars(Sa(c));return""}),d("",f.last());
if(a==i)throw"Parse Error: "+a;i=a}d()}function Sa(a){Ta.innerHTML=a.replace(/</g,"&lt;");return Ta.innerText||Ta.textContent||""}function Db(a){return a.replace(/&/g,"&amp;").replace(Ec,function(a){return"&#"+a.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}function nb(a){var b=!1,c=Z(a,a.push);return{start:function(a,e,g){a=v(a);!b&&Ab[a]&&(b=a);!b&&Eb[a]==!0&&(c("<"),c(a),k(e,function(a,b){var d=v(b);if(Fc[d]==!0&&(Fb[d]!==!0||a.match(Gc)))c(" "),c(b),c('="'),c(Db(a)),c('"')}),c(g?
"/>":">"))},end:function(a){a=v(a);!b&&Eb[a]==!0&&(c("</"),c(a),c(">"));a==b&&(b=!1)},chars:function(a){b||c(Db(a))}}}function Hc(a){return a.replace(/\-(\w)/g,function(a,c,d){return d==0&&c=="w"?"w":c.toUpperCase()})}function Ua(a,b){function c(){var e;for(var a=[this],c=b,f,i,j,h,l,o,m;a.length;){f=a.shift();i=0;for(j=f.length;i<j;i++){h=q(f[i]);c?(m=(l=h.data("events"))&&l.$destroy)&&k(m,function(a){a.handler()}):c=!c;l=0;for(e=(o=h.children()).length,h=e;l<h;l++)a.push(fa(o[l]))}}return d.apply(this,
arguments)}var d=fa.fn[a],d=d.$original||d;c.$original=d;fa.fn[a]=c}function Va(a){if(s(a)&&a.charAt(0)!="<")throw new y("selectors not implemented");return new X(a)}function X(a){if(a instanceof X)return a;else if(s(a)){var b=L.createElement("div");b.innerHTML="<div>&nbsp;</div>"+a;b.removeChild(b.firstChild);Wa(this,b.childNodes);this.remove()}else Wa(this,a)}function ma(a){Gb(a);for(var b=0,a=a.childNodes||[];b<a.length;b++)ma(a[b])}function Gb(a){var b=a[Aa],c=Ba[b];c&&(c.bind&&k(c.bind,function(b,
c){c=="$destroy"?b({}):Xa(a,c,b)}),delete Ba[b],a[Aa]=F)}function Ca(a,b,c){var d=a[Aa],d=Ba[d||-1];if(t(c))d||(a[Aa]=d=Ic++,d=Ba[d]={}),d[b]=c;else return d?d[b]:null}function Da(a,b){return(" "+a.className+" ").replace(/[\n\t]/g," ").indexOf(" "+b+" ")>-1}function Hb(a,b){b&&k(b.split(" "),function(b){a.className=O((" "+a.className+" ").replace(/[\n\t]/g," ").replace(" "+O(b)+" "," "))})}function Ib(a,b){b&&k(b.split(" "),function(b){if(!Da(a,b))a.className=O(a.className+" "+O(b))})}function Wa(a,
b){if(b)for(var b=!b.nodeName&&t(b.length)&&!ta(b)?b:[b],c=0;c<b.length;c++)a.push(b[c])}function na(a){var b=typeof a,c;if(b=="object"&&a!==null)if(typeof(c=a.$$hashKey)=="function")c=a.$$hashKey();else{if(c===F)c=a.$$hashKey=Ka()}else c=a;return b+":"+c}function ya(a){k(a,this.put,this)}function Ya(){}function Jc(){var a=!0;this.disableAutoScrolling=function(){a=!1};this.$get=["$window","$location","$rootScope",function(b,c,d){function e(a){var b=null;k(a,function(a){!b&&v(a.nodeName)==="a"&&(b=
a)});return b}function g(){var a=c.hash(),d;a?(d=f.getElementById(a))?d.scrollIntoView():(d=e(f.getElementsByName(a)))?d.scrollIntoView():a==="top"&&b.scrollTo(0,0):b.scrollTo(0,0)}var f=b.document;a&&d.$watch(function(){return c.hash()},function(){d.$evalAsync(g)});return g}]}function Kc(a,b,c,d,e){function g(a){try{a.apply(null,ca.call(arguments,1))}finally{if(n--,n===0)for(;r.length;)try{r.pop()()}catch(b){d.error(b)}}}function f(a,b){(function Lc(){k(w,function(a){a()});u=b(Lc,a)})()}function i(){S!=
j.url()&&(S=j.url(),k(N,function(a){a(j.url())}))}var j=this,h=b[0],l=a.location,o=a.history,m=a.setTimeout,x=a.clearTimeout,p={};j.isMock=!1;var n=0,r=[];j.$$completeOutstandingRequest=g;j.$$incOutstandingRequestCount=function(){n++};j.notifyWhenNoOutstandingRequests=function(a){k(w,function(a){a()});n===0?a():r.push(a)};var w=[],u;j.addPollFn=function(a){C(u)&&f(100,m);w.push(a);return a};var S=l.href;j.url=function(a,b){return a?(S=a,e.history?b?o.replaceState(null,"",a):o.pushState(null,"",a):
b?l.replace(a):l.href=a,j):l.href};var N=[],T=!1;j.onUrlChange=function(b){T||(e.history&&q(a).bind("popstate",i),e.hashchange?q(a).bind("hashchange",i):j.addPollFn(i),T=!0);N.push(b);return b};var K={},Ra="";j.cookies=function(a,b){var c,f,e,g;if(a)if(b===F)h.cookie=escape(a)+"=;expires=Thu, 01 Jan 1970 00:00:00 GMT";else{if(s(b))h.cookie=escape(a)+"="+escape(b),c=a.length+b.length+1,c>4096&&d.warn("Cookie '"+a+"' possibly not set or overflowed because it was too large ("+c+" > 4096 bytes)!"),K.length>
20&&d.warn("Cookie '"+a+"' possibly not set or overflowed because too many cookies were already set ("+K.length+" > 20 )")}else{if(h.cookie!==Ra){Ra=h.cookie;c=Ra.split("; ");K={};for(e=0;e<c.length;e++)f=c[e],g=f.indexOf("="),g>0&&(K[unescape(f.substring(0,g))]=unescape(f.substring(g+1)))}return K}};j.defer=function(a,b){var c;n++;c=m(function(){delete p[c];g(a)},b||0);p[c]=!0;return c};j.defer.cancel=function(a){return p[a]?(delete p[a],x(a),g(A),!0):!1};j.addCss=function(a){var b=q(h.createElement("link"));
b.attr("rel","stylesheet");b.attr("type","text/css");b.attr("href",a);c.append(b)};j.addJs=function(a,b){var d=h.createElement("script");d.type="text/javascript";d.src=a;if(P)d.onreadystatechange=function(){/loaded|complete/.test(d.readyState)&&b&&b()};else if(b)d.onload=d.onerror=b;c[0].appendChild(d);return d};j.baseHref=function(){var a=b.find("base").attr("href");return a?a.replace(/^https?\:\/\/[^\/]*/,""):a}}function Mc(){this.$get=["$window","$log","$sniffer","$document",function(a,b,c,d){return new Kc(a,
d,d.find("body"),b,c)}]}function Nc(){this.$get=function(){function a(a,d){function e(a){if(a!=o){if(m){if(m==a)m=a.n}else m=a;g(a.n,a.p);g(a,o);o=a;o.n=null}}function g(a,b){if(a!=b){if(a)a.p=b;if(b)b.n=a}}if(a in b)throw y("cacheId "+a+" taken");var f=0,i=z({},d,{id:a}),j={},h=d&&d.capacity||Number.MAX_VALUE,l={},o=null,m=null;return b[a]={put:function(a,b){var c=l[a]||(l[a]={key:a});e(c);C(b)||(a in j||f++,j[a]=b,f>h&&this.remove(m.key))},get:function(a){var b=l[a];if(b)return e(b),j[a]},remove:function(a){var b=
l[a];if(b==o)o=b.p;if(b==m)m=b.n;g(b.n,b.p);delete l[a];delete j[a];f--},removeAll:function(){j={};f=0;l={};o=m=null},destroy:function(){l=i=j=null;delete b[a]},info:function(){return z({},i,{size:f})}}}var b={};a.info=function(){var a={};k(b,function(b,e){a[e]=b.info()});return a};a.get=function(a){return b[a]};return a}}function Oc(){this.$get=["$cacheFactory",function(a){return a("templates")}]}function Pc(){this.$get=["$injector","$exceptionHandler","$textMarkup","$attrMarkup","$directive","$widget",
function(a,b,c,d,e,g){function f(){this.paths=[];this.children=[];this.linkFns=[];this.newScope=!1}function i(a,b,c,d){this.markup=a;this.attrMarkup=b;this.directives=c;this.widgets=d}f.prototype={link:function(c,d){var f=d,e={$element:c};this.newScope&&(f=B(this.newScope)?d.$new(this.newScope(d)):d.$new(),c.data(Za,f));k(this.linkFns,function(d){try{E(d)||d.$inject?a.invoke(d,f,e):d.call(f,c)}catch(h){b(h)}});var g,i=c[0].childNodes,p=this.children,n=this.paths,r=n.length;for(g=0;g<r;g++)i[n[g]]?
p[g].link(q(i[n[g]]),f):delete n[g]},addLinkFn:function(a){a&&this.linkFns.push(a)},addChild:function(a,b){b&&(this.paths.push(a),this.children.push(b))},empty:function(){return this.linkFns.length===0&&this.paths.length===0}};i.prototype={compile:function(a){var a=q(a),b=0,c,d=a.parent();if(a.length>1)throw y("Cannot compile multiple element roots: "+q("<div>").append(a.clone()).html());if(d&&d[0])for(var d=d[0],e=0;e<d.childNodes.length;e++)d.childNodes[e]==a[0]&&(b=e);c=this.templatize(a,b)||new f;
return function(b,d){sb(b,"scope");var f=d?$a.clone.call(a):a;f.data(Za,b);b.$element=f;(d||A)(f,b);c.link(f,b);return f}},templatize:function(b,c){var d=this,e,g,i=d.directives,p=!0,n=!0,r=oa(b),w=r.indexOf(":")>0?v(r).replace(":","-"):"",u,S={$element:b},N={compile:Z(d,d.compile),descend:function(a){t(a)&&(p=a);return p},directives:function(a){t(a)&&(n=a);return n},scope:function(a){if(t(a))u.newScope=u.newScope||a;return u.newScope}};b.addClass(w);u=new f;ab(b,function(a,c){if(!e&&(e=d.widgets("@"+
c))){b.addClass("ng-attr-widget");if(B(e)&&!e.$inject)e.$inject=["$value","$element"];S.$value=a}});if(!e&&(e=d.widgets(r)))if(w&&b.addClass("ng-widget"),B(e)&&!e.$inject)e.$inject=["$element"];e&&(n=p=!1,r=b.parent(),u.addLinkFn(a.invoke(e,N,S)),r&&r[0]&&(b=q(r[0].childNodes[c])));if(p)for(var T=0,K=b[0].childNodes;T<K.length;T++)oa(K[T])=="#text"&&k(d.markup,function(a){if(T<K.length){var c=q(K[T]);a.call(N,c.text(),c,b)}});n&&(ab(b,function(a,c){k(d.attrMarkup,function(d){d.call(N,a,c,b)})}),ab(b,
function(c,d){d=v(d);if(g=i[d])b.addClass("ng-directive"),u.addLinkFn(E(g)||g.$inject?a.invoke(g,N,{$value:c,$element:b}):g.call(N,c,b))}));p&&Qc(b,function(a,b){u.addChild(b,d.templatize(a,b))});return u.empty()?null:u}};c=new i(c,d,e,g);return Z(c,c.compile)}]}function Qc(a,b){var c,d=a[0].childNodes||[],e;for(c=0;c<d.length;c++){var g=e=d[c];oa(g)=="#text"||b(q(e),c)}}function ab(a,b){var c,d=a[0].attributes||[],e,g,f={};for(c=0;c<d.length;c++)e=d[c],g=e.name,e=e.value,P&&g=="href"&&(e=decodeURIComponent(a[0].getAttribute(g,
2))),f[g]=e;kb(f,b)}function Rc(){this.$get=["$cookies",function(a){return{get:function(b){return ka(a[b])},put:function(b,c){a[b]=Q(c)},remove:function(b){delete a[b]}}}]}function Sc(){this.$get=["$rootScope","$browser",function(a,b){var c={},d={},e,g=!1;b.addPollFn(function(){var f=b.cookies();e!=f&&(e=f,M(f,d),M(f,c),g&&a.$apply())})();g=!0;a.$watch(function(){var a,e,g;for(a in d)C(c[a])&&b.cookies(a,F);for(a in c)e=c[a],s(e)?e!==d[a]&&(b.cookies(a,e),g=!0):t(d[a])?c[a]=d[a]:delete c[a];if(g)for(a in e=
b.cookies(),c)c[a]!==e[a]&&(C(e[a])?delete c[a]:c[a]=e[a])});return c}]}function Tc(){this.$get=["$rootScope","$browser",function(a,b){function c(c,e){return b.defer(function(){a.$apply(c)},e)}c.cancel=function(a){return b.defer.cancel(a)};return c}]}function Uc(){this.$get=["$window",function(a){return q(a.document)}]}function Vc(){this.$get=["$log",function(a){return function(b){a.error(b)}}]}function Jb(a){function b(b,e){return a.factory(b+c,e)}var c="Filter";this.register=b;this.$get=["$injector",
function(a){return function(b){return a.get(b+c)}}];b("currency",Kb);b("date",Lb);b("filter",Wc);b("html",Xc);b("json",Yc);b("limitTo",Zc);b("linky",$c);b("lowercase",ad);b("number",Mb);b("orderBy",Nb);b("uppercase",bd)}function Wc(){return function(a,b){if(!(a instanceof Array))return a;var c=[];c.check=function(a){for(var b=0;b<c.length;b++)if(!c[b](a))return!1;return!0};var d=function(a,b){if(b.charAt(0)==="!")return!d(a,b.substr(1));switch(typeof a){case "boolean":case "number":case "string":return(""+
a).toLowerCase().indexOf(b)>-1;case "object":for(var c in a)if(c.charAt(0)!=="$"&&d(a[c],b))return!0;return!1;case "array":for(c=0;c<a.length;c++)if(d(a[c],b))return!0;return!1;default:return!1}};switch(typeof b){case "boolean":case "number":case "string":b={$:b};case "object":for(var e in b)e=="$"?function(){var a=(""+b[e]).toLowerCase();a&&c.push(function(b){return d(b,a)})}():function(){var a=e,f=(""+b[e]).toLowerCase();f&&c.push(function(b){return d(Ea(b,a),f)})}();break;case "function":c.push(b);
break;default:return a}for(var g=[],f=0;f<a.length;f++){var i=a[f];c.check(i)&&g.push(i)}return g}}function Kb(a){var b=a.NUMBER_FORMATS;return function(a,d){if(C(d))d=b.CURRENCY_SYM;return Ob(a,b.PATTERNS[1],b.GROUP_SEP,b.DECIMAL_SEP,2).replace(/\u00A4/g,d)}}function Mb(a){var b=a.NUMBER_FORMATS;return function(a,d){return Ob(a,b.PATTERNS[0],b.GROUP_SEP,b.DECIMAL_SEP,d)}}function Ob(a,b,c,d,e){if(isNaN(a)||!isFinite(a))return"";var g=a<0,a=Math.abs(a),f=a+"",i="",j=[];if(f.indexOf("e")!==-1)i=f;
else{f=(f.split(Pb)[1]||"").length;C(e)&&(e=Math.min(Math.max(b.minFrac,f),b.maxFrac));var f=Math.pow(10,e),a=Math.round(a*f)/f,a=(""+a).split(Pb),f=a[0],a=a[1]||"",h=0,l=b.lgSize,o=b.gSize;if(f.length>=l+o)for(var h=f.length-l,m=0;m<h;m++)(h-m)%o===0&&m!==0&&(i+=c),i+=f.charAt(m);for(m=h;m<f.length;m++)(f.length-m)%l===0&&m!==0&&(i+=c),i+=f.charAt(m);for(;a.length<e;)a+="0";e&&(i+=d+a.substr(0,e))}j.push(g?b.negPre:b.posPre);j.push(i);j.push(g?b.negSuf:b.posSuf);return j.join("")}function R(a,b,
c){var d="";a<0&&(d="-",a=-a);for(a=""+a;a.length<b;)a="0"+a;c&&(a=a.substr(a.length-b));return d+a}function I(a,b,c,d){return function(e){e=e["get"+a]();if(c>0||e>-c)e+=c;e===0&&c==-12&&(e=12);return R(e,b,d)}}function Fa(a,b){return function(c,d){var e=c["get"+a](),g=pa(b?"SHORT"+a:a);return d[g][e]}}function Lb(a){return function(b,c){var d="",e=[],g,f,c=c||"mediumDate",c=a.DATETIME_FORMATS[c]||c;s(b)&&(b=cd.test(b)?parseInt(b,10):tb(b));ga(b)&&(b=new Date(b));if(!sa(b))return b;for(;c;)(f=dd.exec(c))?
(e=e.concat(ca.call(f,1)),c=e.pop()):(e.push(c),c=null);k(e,function(c){g=ed[c];d+=g?g(b,a.DATETIME_FORMATS):c.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return d}}function Yc(){return function(a){return Q(a,!0)}}function Xc(){return function(a,b){return new Ma(a,b)}}function $c(){var a=/((ftp|https?):\/\/|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s\.\;\,\(\)\{\}\<\>]/,b=/^mailto:/;return function(c){if(!c)return c;for(var d=c,e=[],g=nb(e),f,i;c=d.match(a);)f=c[0],c[2]==c[3]&&(f="mailto:"+f),i=c.index,
g.chars(d.substr(0,i)),g.start("a",{href:f}),g.chars(c[0].replace(b,"")),g.end("a"),d=d.substring(i+c[0].length);g.chars(d);return new Ma(e.join(""))}}function Zc(){return function(a,b){if(!(a instanceof Array))return a;var b=parseInt(b,10),c=[],d,e;if(!a||!(a instanceof Array))return c;b>a.length?b=a.length:b<-a.length&&(b=-a.length);b>0?(d=0,e=b):(d=a.length+b,e=a.length);for(;d<e;d++)c.push(a[d]);return c}}function Nb(a){return function(b,c,d){function e(a,b){return va(b)?function(b,c){return a(c,
b)}:a}if(!(b instanceof Array))return b;if(!c)return b;for(var c=E(c)?c:[c],c=lc(c,function(b){var c=!1,d=b||ia;if(s(b)){if(b.charAt(0)=="+"||b.charAt(0)=="-")c=b.charAt(0)=="-",b=b.substring(1);d=a(b)}return e(function(a,b){var c;c=d(a);var e=d(b),f=typeof c,g=typeof e;f==g?(f=="string"&&(c=c.toLowerCase()),f=="string"&&(e=e.toLowerCase()),c=c===e?0:c<e?-1:1):c=f<g?-1:1;return c},c)}),g=[],f=0;f<b.length;f++)g.push(b[f]);return g.sort(e(function(a,b){for(var d=0;d<c.length;d++){var e=c[d](a,b);if(e!==
0)return e}return 0},d))}}function fd(){function a(a){a.$valid=!(a.$invalid=!(a.$readonly||a.$disabled||W(a.$error,{})))}function b(){function b(d,i,j){if(d){for(var j=j||this,h=0,l=d.length;h<l;h++)d[h]===j&&(d.splice(h,1),d.length||delete g[i]);a(c)}}var c=this,g=c.$error={};c.$on("$destroy",function(a){a=a.targetScope;a.$widgetId&&delete c[a.$widgetId];k(g,b,a)});c.$on("$valid",function(c,e){var j=c.targetScope;delete j.$error[e];a(j);b(g[e],e,j)});c.$on("$invalid",function(b,d){var j=b.targetScope;
a:{var h=g[d];if(h)for(var l=0,o=h.length;l<o;l++){if(h[l]===j)break a}else g[d]=h=[];h.push(j);a(c)}j.$error[d]=!0;a(j)});a(c)}var c;this.$get=["$rootScope","$parse",function(a,e){function g(a){return(a||g.rootForm).$new(b)}c=e;g.rootForm=g(a);g.forElement=function(a){return a.inheritedData("$form")||g.rootForm};return g}];b.prototype.$createWidget=function(b){var e=b.scope,g=b.onChange,f=b.alias,i=c(b.model),j=i.assign,h=this.$new(b.controller,b.controllerArgs);if(!j)throw y("Expression '"+b.model+
"' is not assignable!");h.$error={};h.$modelValue=Number.NaN;e.$watch(i,function(a,b){if(!W(h.$modelValue,b))h.$modelValue=b,h.$parseModel?h.$parseModel():h.$viewValue=b,h.$emit("$validate"),h.$render&&h.$render()});h.$on("$viewChange",function(a,b){if(!W(h.$viewValue,b))h.$viewValue=b,h.$parseView?h.$parseView():h.$modelValue=h.$viewValue,j(e,h.$modelValue),g&&e.$eval(g),h.$emit("$validate")});a(h);f&&!this.hasOwnProperty(f)?(this[f]=h,h.$widgetId=f):f=null;return h}}function gd(){this.$get=["$parse",
function(){return function(a,b){var c=qa(a);if(bb(c)||!b)return Ga(a)}}]}function Ga(a){var b=Qb[a];if(!b){var c=[];k(qa(a),function(a){var b=cb(a);c.push(b?function(a){return a.$eval(b)}:function(){return a})});Qb[a]=b=function(a,b,g){var f=[],i=a.hasOwnProperty("$element"),j=a.$element;a.$element=b;try{for(var h=0;h<c.length;h++){var l=c[h](a,b);ua(l)?l="":H(l)&&(l=Q(l,g));f.push(l)}return f.join("")}finally{i?a.$element=j:delete a.$element}}}return b}function qa(a){for(var b=[],c=0,d;(d=a.indexOf("{{",
c))>-1;)c<d&&b.push(a.substr(c,d-c)),c=d,d=a.indexOf("}}",d),d=d<0?a.length:d+2,b.push(a.substr(c,d-c)),c=d;c!=a.length&&b.push(a.substr(c,a.length-c));return b.length===0?[a]:b}function cb(a){return(a=a.replace(/\n/gm," ").match(/^\{\{(.*)\}\}$/))?a[1]:null}function bb(a){return a.length>1||cb(a[0])!==null}function Rb(a){for(var a=a.split("/"),b=a.length;b--;)a[b]=wa(a[b]);return a.join("/")}function Ha(a,b){var c=Sb.exec(a),c={protocol:c[1],host:c[3],port:parseInt(c[5],10)||Tb[c[1]]||null,path:c[6]||
"/",search:c[8],hash:c[10]};if(b)b.$$protocol=c.protocol,b.$$host=c.host,b.$$port=c.port;return c}function ra(a,b,c){return a+"://"+b+(c==Tb[a]?"":":"+c)}function hd(a,b,c){var d=Ha(a);return decodeURIComponent(d.path)!=b||C(d.hash)||d.hash.indexOf(c)!==0?a:ra(d.protocol,d.host,d.port)+b.substr(0,b.lastIndexOf("/"))+d.hash.substr(c.length)}function id(a,b,c){var d=Ha(a);if(decodeURIComponent(d.path)==b)return a;else{var e=d.search&&"?"+d.search||"",g=d.hash&&"#"+d.hash||"",f=b.substr(0,b.lastIndexOf("/")),
i=d.path.substr(f.length);if(d.path.indexOf(f)!==0)throw'Invalid url "'+a+'", missing path prefix "'+f+'" !';return ra(d.protocol,d.host,d.port)+b+"#"+c+i+e+g}}function db(a,b){b=b||"";this.$$parse=function(a){var d=Ha(a,this);if(d.path.indexOf(b)!==0)throw'Invalid url "'+a+'", missing path prefix "'+b+'" !';this.$$path=decodeURIComponent(d.path.substr(b.length));this.$$search=Oa(d.search);this.$$hash=d.hash&&decodeURIComponent(d.hash)||"";this.$$compose()};this.$$compose=function(){var a=pb(this.$$search),
d=this.$$hash?"#"+wa(this.$$hash):"";this.$$url=Rb(this.$$path)+(a?"?"+a:"")+d;this.$$absUrl=ra(this.$$protocol,this.$$host,this.$$port)+b+this.$$url};this.$$parse(a)}function eb(a,b){var c;this.$$parse=function(a){var e=Ha(a,this);if(e.hash&&e.hash.indexOf(b)!==0)throw'Invalid url "'+a+'", missing hash prefix "'+b+'" !';c=e.path+(e.search?"?"+e.search:"");e=jd.exec((e.hash||"").substr(b.length));this.$$path=e[1]?(e[1].charAt(0)=="/"?"":"/")+decodeURIComponent(e[1]):"";this.$$search=Oa(e[3]);this.$$hash=
e[5]&&decodeURIComponent(e[5])||"";this.$$compose()};this.$$compose=function(){var a=pb(this.$$search),e=this.$$hash?"#"+wa(this.$$hash):"";this.$$url=Rb(this.$$path)+(a?"?"+a:"")+e;this.$$absUrl=ra(this.$$protocol,this.$$host,this.$$port)+c+(this.$$url?"#"+b+this.$$url:"")};this.$$parse(a)}function Ia(a){return function(){return this[a]}}function Ub(a,b){return function(c){if(C(c))return this[a];this[a]=b(c);this.$$compose();return this}}function kd(){var a="",b=!1;this.hashPrefix=function(c){return t(c)?
(a=c,this):b};this.html5Mode=function(a){return t(a)?(b=a,this):b};this.$get=["$rootScope","$browser","$sniffer","$document",function(c,d,e,g){var f,i=d.baseHref()||"/",j=i.substr(0,i.lastIndexOf("/")),h=d.url();if(b){var e=f=e.history?new db(hd(h,i,a),j):new eb(id(h,i,a),a),l=ra(e.protocol(),e.host(),e.port())+j;g.bind("click",function(a){if(!a.ctrlKey&&!(a.metaKey||a.which==2)){for(var b=q(a.target);b.length&&v(b[0].nodeName)!=="a";)b=b.parent();var d=b.attr("href");d&&!t(b.attr("ng:ext-link"))&&
!b.attr("target")&&(d=d.replace(l,""),d.substr(0,4)!="http"&&(d=d.indexOf(j)===0?d.substr(j.length):d,f.url(d),c.$apply(),a.preventDefault(),D.angular["ff-684208-preventDefault"]=!0))}})}else f=new eb(h,a);f.absUrl()!=h&&d.url(f.absUrl(),!0);d.onUrlChange(function(a){f.absUrl()!=a&&(f.$$parse(a),c.$apply())});var o=0;c.$watch(function(){d.url()!=f.absUrl()&&(o++,c.$evalAsync(function(){d.url(f.absUrl(),f.$$replace);f.$$replace=!1}));return o});return f}]}function ld(){this.$get=["$window",function(a){function b(a){a instanceof
y&&(a.stack?a=a.message&&a.stack.indexOf(a.message)===-1?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line));return a}function c(c){var e=a.console||{},g=e[c]||e.log||A;return g.apply?function(){var a=[];k(arguments,function(c){a.push(b(c))});return g.apply(e,a)}:g}return{log:c("log"),warn:c("warn"),info:c("info"),error:c("error")}}]}function md(){this.$get=["$http",function(a){a=new za(a);return Z(a,a.route)}]}function nd(a){function b(a){return a.indexOf(p)!=
-1}function c(){return m+1<a.length?a.charAt(m+1):!1}function d(a){return"0"<=a&&a<="9"}function e(a){return"a"<=a&&a<="z"||"A"<=a&&a<="Z"||"_"==a||a=="$"}function g(a){return a=="-"||a=="+"||d(a)}function f(b,c,d){d=d||m;throw y("Lexer Error: "+b+" at column"+(t(c)?"s "+c+"-"+m+" ["+a.substring(c,d)+"]":" "+d)+" in expression ["+a+"].");}function i(){for(var b="",e=m;m<a.length;){var h=v(a.charAt(m));if(h=="."||d(h))b+=h;else{var i=c();if(h=="e"&&g(i))b+=h;else if(g(h)&&i&&d(i)&&b.charAt(b.length-
1)=="e")b+=h;else if(g(h)&&(!i||!d(i))&&b.charAt(b.length-1)=="e")f("Invalid exponent");else break}m++}b*=1;l.push({index:e,text:b,json:!0,fn:function(){return b}})}function j(){for(var b="",c=m,f;m<a.length;){f=a.charAt(m);if(f=="."||e(f)||d(f))b+=f;else break;m++}f=fb[b];l.push({index:c,text:b,json:f,fn:f||z(Vb(b),{assign:function(a,c){return Wb(a,b,c)}})})}function h(b){var c=m;m++;for(var d="",e=b,g=!1;m<a.length;){var h=a.charAt(m);e+=h;if(g)h=="u"?(h=a.substring(m+1,m+5),h.match(/[\da-f]{4}/i)||
f("Invalid unicode escape [\\u"+h+"]"),m+=4,d+=String.fromCharCode(parseInt(h,16))):(g=od[h],d+=g?g:h),g=!1;else if(h=="\\")g=!0;else if(h==b){m++;l.push({index:c,text:e,string:d,json:!0,fn:function(){return d}});return}else d+=h;m++}f("Unterminated quote",c)}for(var l=[],o,m=0,x=[],p,n=":";m<a.length;){p=a.charAt(m);if(b("\"'"))h(p);else if(d(p)||b(".")&&d(c()))i();else if(e(p)){if(j(),"{,".indexOf(n)!=-1&&x[0]=="{"&&(o=l[l.length-1]))o.json=o.text.indexOf(".")==-1}else if(b("(){}[].,;:"))l.push({index:m,
text:p,json:":[,".indexOf(n)!=-1&&b("{[")||b("}]:,")}),b("{[")&&x.unshift(p),b("}]")&&x.shift(),m++;else if(p==" "||p=="\r"||p=="\t"||p=="\n"||p=="\u000b"||p=="\u00a0"){m++;continue}else{var k=p+c(),w=fb[p],u=fb[k];u?(l.push({index:m,text:k,fn:u}),m+=2):w?(l.push({index:m,text:p,fn:w,json:"[,:".indexOf(n)!=-1&&b("+-")}),m+=1):f("Unexpected next character ",m,m+1)}n=p}return l}function ub(a,b,c){function d(b,c){throw y("Syntax Error: Token '"+c.text+"' "+b+" at column "+(c.index+1)+" of the expression ["+
a+"] starting at ["+a.substring(c.index)+"].");}function e(){if(q.length===0)throw y("Unexpected end of expression: "+a);return q[0]}function g(a,b,c,d){if(q.length>0){var e=q[0],f=e.text;if(f==a||f==b||f==c||f==d||!a&&!b&&!c&&!d)return e}return!1}function f(a,c,e,f){return(a=g(a,c,e,f))?(b&&!a.json&&d("is not valid json",a),q.shift(),a):!1}function i(a){f(a)||d("is unexpected, expecting ["+a+"]",g())}function j(a,b){return function(c){return a(c,b)}}function h(a,b,c){return function(d){return b(d,
a,c)}}function l(){for(var a=[];;)if(q.length>0&&!g("}",")",";","]")&&a.push(B()),!f(";"))return a.length==1?a[0]:function(b){for(var c,d=0;d<a.length;d++){var e=a[d];e&&(c=e(b))}return c}}function o(){for(var a=f(),b=c(a.text),d=[];;)if(a=f(":"))d.push(s());else{var e=function(a,c){for(var e=[c],f=0;f<d.length;f++)e.push(d[f](a));return b.apply(a,e)};return function(){return e}}}function m(){for(var a=x(),b;;)if(b=f("||"))a=h(a,b.fn,x());else return a}function x(){var a=p(),b;if(b=f("&&"))a=h(a,
b.fn,x());return a}function p(){var a=n(),b;if(b=f("==","!="))a=h(a,b.fn,p());return a}function n(){var a;a=k();for(var b;b=f("+","-");)a=h(a,b.fn,k());if(b=f("<",">","<=",">="))a=h(a,b.fn,n());return a}function k(){for(var a=w(),b;b=f("*","/","%");)a=h(a,b.fn,w());return a}function w(){var a;return f("+")?u():(a=f("-"))?h(T,a.fn,w()):(a=f("!"))?j(a.fn,w()):u()}function u(){var a;if(f("("))a=B(),i(")");else if(f("["))a=S();else if(f("{"))a=N();else{var b=f();(a=b.fn)||d("not a primary expression",
b)}for(;b=f("(","[",".");)b.text==="("?a=v(a):b.text==="["?a=C(a):b.text==="."?a=t(a):d("IMPOSSIBLE");return a}function S(){var a=[];if(e().text!="]"){do a.push(s());while(f(","))}i("]");return function(b){for(var c=[],d=0;d<a.length;d++)c.push(a[d](b));return c}}function N(){var a=[];if(e().text!="}"){do{var b=f(),b=b.string||b.text;i(":");var c=s();a.push({key:b,value:c})}while(f(","))}i("}");return function(b){for(var c={},d=0;d<a.length;d++){var e=a[d],f=e.value(b);c[e.key]=f}return c}}var T=
Y(0),K,q=nd(a),s=function(){var b=m(),c,e;return(e=f("="))?(b.assign||d("implies assignment but ["+a.substring(0,e.index)+"] can not be assigned to",e),c=m(),function(a){return b.assign(a,c(a))}):b},v=function(a){var b=[];if(e().text!=")"){do b.push(s());while(f(","))}i(")");return function(c){for(var d=[],e=0;e<b.length;e++)d.push(b[e](c));e=a(c)||A;return e.apply?e.apply(c,d):e(d[0],d[1],d[2],d[3],d[4])}},t=function(a){var b=f().text,c=Vb(b);return z(function(b){return c(a(b))},{assign:function(c,
d){return Wb(a(c),b,d)}})},C=function(a){var b=s();i("]");return z(function(c){var d=a(c),c=b(c),e;if(!d)return F;if((d=d[c])&&d.then){e=d;if(!("$$v"in d))e.$$v=F,e.then(function(a){e.$$v=a});d=d.$$v}return d},{assign:function(c,d){return a(c)[b(c)]=d}})},B=function(){for(var a=s(),b;;)if(b=f("|"))a=h(a,b.fn,o());else return a};b?(s=m,v=t=C=B=function(){d("is not valid json",{text:a,index:0})},K=u()):K=l();q.length!==0&&d("is an unexpected token",q[0]);return K}function Wb(a,b,c){for(var b=b.split("."),
d=0;b.length>1;d++){var e=b.shift(),g=a[e];g||(g={},a[e]=g);a=g}return a[b.shift()]=c}function Ea(a,b,c){if(!b)return a;for(var b=b.split("."),d,e=a,g=b.length,f=0;f<g;f++)d=b[f],a&&(a=(e=a)[d]);return!c&&B(a)?Z(e,a):a}function Vb(a){var b=Xb[a];if(b)return b;var c="var l, fn, p;\n";k(a.split("."),function(a){a=Yb[a]?'["'+a+'"]':"."+a;c+="if(!s) return s;\nl=s;\ns=s"+a+';\nif(typeof s=="function" && !(s instanceof RegExp)) {\n fn=function(){ return l'+a+'.apply(l, arguments); };\n fn.$unboundFn=s;\n s=fn;\n} else if (s && s.then) {\n if (!("$$v" in s)) {\n p=s;\n p.$$v = undefined;\n p.then(function(v) {p.$$v=v;});\n}\n s=s.$$v\n}\n'});
c+="return s;";b=Function("s",c);b.toString=function(){return c};return Xb[a]=b}function pd(){var a={};this.$get=["$filter",function(b){return function(c){switch(typeof c){case "string":return a.hasOwnProperty(c)?a[c]:a[c]=ub(c,!1,b);case "function":return c;default:return A}}}]}function qd(){this.$get=["$rootScope","$exceptionHandler",function(a,b){return rd(function(b){a.$evalAsync(b)},b)}]}function rd(a,b){function c(a){return a}function d(a){return f(a)}var e=function(){var i=[],j,h;return h=
{resolve:function(b){if(i){var c=i;i=F;j=g(b);c.length&&a(function(){for(var a,b=0,d=c.length;b<d;b++)a=c[b],j.then(a[0],a[1])})}},reject:function(a){h.resolve(f(a))},promise:{then:function(a,f){var g=e(),h=function(d){try{g.resolve((a||c)(d))}catch(e){b(e),g.reject(e)}},p=function(a){try{g.resolve((f||d)(a))}catch(c){b(c),g.reject(c)}};i?i.push([h,p]):j.then(h,p);return g.promise}}}},g=function(b){return b&&b.then?b:{then:function(c){var d=e();a(function(){d.resolve(c(b))});return d.promise}}},f=
function(b){return{then:function(c,d){var f=e();a(function(){f.resolve(d(b))});return f.promise}}};return{defer:e,reject:f,when:function(i,j,h){var l=e(),o,m=function(a){try{return(j||c)(a)}catch(d){return b(d),f(d)}},x=function(a){try{return(h||d)(a)}catch(c){return b(c),f(c)}};a(function(){g(i).then(function(a){o||(o=!0,l.resolve(g(a).then(m,x)))},function(a){o||(o=!0,l.resolve(x(a)))})});return l.promise},all:function(a){var b=e(),c=a.length,d=[];k(a,function(a,e){a.then(function(a){e in d||(d[e]=
a,--c||b.resolve(d))},function(a){e in d||b.reject(a)})});return b.promise}}}function sd(){this.$get=["$rootScope","$location","$routeParams",function(a,b,c){function d(){var a,c;k(g,function(d,e){if(!c&&(a=f(b.path(),e)))c=ha(d,{params:z({},b.search(),a),pathParams:a}),c.$route=d});return c||g[null]&&ha(g[null],{params:{},pathParams:{}})}function e(a,b){var c=[];k((a||"").split(":"),function(a,d){if(d==0)c.push(a);else{var e=a.match(/(\w+)(.*)/),f=e[1];c.push(b[f]);c.push(e[2]||"");delete b[f]}});
return c.join("")}var g={},f=function(a,b){var c="^"+b.replace(/([\.\\\(\)\^\$])/g,"\\$1")+"$",d=[],e={};k(b.split(/\W/),function(a){if(a){var b=RegExp(":"+a+"([\\W])");c.match(b)&&(c=c.replace(b,"([^\\/]*)$1"),d.push(a))}});var f=a.match(RegExp(c));f&&k(d,function(a,b){e[a]=f[b+1]});return f?e:null},i=a,j=0,h=!1,l={routes:g,parent:function(a){a&&(i=a)},when:function(a,b){var c=g[a];c||(c=g[a]={reloadOnSearch:!0});b&&z(c,b);j++;return c},otherwise:function(a){l.when(null,a)},reload:function(){j++;
h=!0}};a.$watch(function(){return j+b.url()},function(){var f=d(),g=l.current,j;if(f&&g&&f.$route===g.$route&&W(f.pathParams,g.pathParams)&&!f.reloadOnSearch&&!h)f.scope=g.scope,l.current=f,M(f.params,c),g.scope&&g.scope.$emit("$routeUpdate");else{h=!1;a.$broadcast("$beforeRouteChange",f,g);g&&g.scope&&g.scope.$destroy();if(l.current=f)f.redirectTo?s(f.redirectTo)?b.path(e(f.redirectTo,f.params)).search(f.params).replace():b.url(f.redirectTo(f.pathParams,b.path(),b.search())).replace():(M(f.params,
c),(j=f.controller)&&Qa(j),f.scope=i.$new(j));a.$broadcast("$afterRouteChange",f,g)}});return l}]}function td(){this.$get=Y({})}function ud(){this.$get=["$injector","$exceptionHandler","$parse",function(a,b,c){function d(){this.$id=Ka();this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null;this.$destructor=A;this["this"]=this.$root=this;this.$$asyncQueue=[];this.$$listeners={}}function e(a,b){var c=a.$root;if(c.$$phase)throw y(c.$$phase+
" already in progress");c.$$phase=b}function g(a,b){var d=c(a);ea(d,b);return d}function f(){}d.prototype={$new:function(b,c){var d=function(){};d.prototype=this;d=new d;d["this"]=d;d.$$listeners={};d.$parent=this;d.$id=Ka();d.$$asyncQueue=[];d.$$watchers=d.$$nextSibling=d.$$childHead=d.$$childTail=null;d.$$prevSibling=this.$$childTail;this.$$childHead?this.$$childTail=this.$$childTail.$$nextSibling=d:this.$$childHead=this.$$childTail=d;if(b){var e=b.prototype,f;for(f in e)d[f]=Z(d,e[f]);a.invoke(b,
d,c)}return d},$watch:function(a,b){var c=g(a,"watch"),d=this.$$watchers,e={fn:g(b||A,"listener"),last:f,get:c,exp:a};if(!d)d=this.$$watchers=[];d.unshift(e);return function(){Na(d,e)}},$digest:function(){var a,c,d,g,o,m,k,p=100,n,r=[],w,u;e(this,"$digest");do{k=!1;n=this;do{for(o=n.$$asyncQueue;o.length;)try{n.$eval(o.shift())}catch(S){b(S)}if(g=n.$$watchers)for(m=g.length;m--;)try{if(a=g[m],(c=a.get(n))!==(d=a.last)&&!W(c,d))k=!0,a.last=M(c),a.fn(n,c,d===f?c:d),p<5&&(w=4-p,r[w]||(r[w]=[]),u=B(a.exp)?
"fn: "+(a.exp.name||a.exp.toString()):a.exp,u+="; newVal: "+Q(c)+"; oldVal: "+Q(d),r[w].push(u))}catch(N){b(N)}if(!(g=n.$$childHead||n!==this&&n.$$nextSibling))for(;n!==this&&!(g=n.$$nextSibling);)n=n.$parent}while(n=g);if(k&&!p--)throw y("100 $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: "+Q(r));}while(k||o.length);this.$root.$$phase=null},$destroy:function(){if(this.$root!=this){this.$emit("$destroy");var a=this.$parent;if(a.$$childHead==this)a.$$childHead=this.$$nextSibling;
if(a.$$childTail==this)a.$$childTail=this.$$prevSibling;if(this.$$prevSibling)this.$$prevSibling.$$nextSibling=this.$$nextSibling;if(this.$$nextSibling)this.$$nextSibling.$$prevSibling=this.$$prevSibling}},$eval:function(a){return c(a)(this)},$evalAsync:function(a){this.$$asyncQueue.push(a)},$apply:function(a){try{return e(this,"$apply"),this.$eval(a)}catch(c){b(c)}finally{this.$root.$$phase=null,this.$root.$digest()}},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]);c.push(b);
return function(){Na(c,b)}},$emit:function(a,c){var d=[],e,f=!1,g=this,k={name:a,targetScope:g,cancel:function(){f=!0}},p=[k].concat(ca.call(arguments,1)),n,r;do{e=g.$$listeners[a]||d;k.currentScope=g;n=0;for(r=e.length;n<r;n++)try{if(e[n].apply(null,p),f)return}catch(w){b(w)}g=g.$parent}while(g)},$broadcast:function(a,c){var d=this,e=this,f={name:a,targetScope:this},g=[f].concat(ca.call(arguments,1));do if(d=e,f.currentScope=d,k(d.$$listeners[a],function(a){try{a.apply(null,g)}catch(c){b(c)}}),!(e=
d.$$childHead||d!==this&&d.$$nextSibling))for(;d!==this&&!(e=d.$$nextSibling);)d=d.$parent;while(d=e)}};return new d}]}function vd(){this.$get=["$window",function(a){return a.Modernizr?a.Modernizr:{history:!(!a.history||!a.history.pushState),hashchange:"onhashchange"in a&&(!a.document.documentMode||a.document.documentMode>7)}}]}function wd(){this.$get=Y(D)}function Zb(a){var b={},c,d,e;if(!a)return b;k(a.split("\n"),function(a){e=a.indexOf(":");c=v(O(a.substr(0,e)));d=O(a.substr(e+1));c&&(b[c]?b[c]+=
", "+d:b[c]=d)});return b}function $b(a){var b=H(a)?a:F;return function(c){b||(b=Zb(a));return c?b[v(c)]||null:b}}function ac(a,b,c){if(B(c))return c(a,b);k(c,function(c){a=c(a,b)});return a}function xd(){var a=/^\s*(\[|\{[^\{])/,b=/[\}\]]\s*$/,c=/^\)\]\}',?\n/,d=this.defaults={transformResponse:function(d){s(d)&&(d=d.replace(c,""),a.test(d)&&b.test(d)&&(d=ka(d,!0)));return d},transformRequest:function(a){return H(a)?Q(a):a},headers:{common:{Accept:"application/json, text/plain, */*","X-Requested-With":"XMLHttpRequest"},
post:{"Content-Type":"application/json"},put:{"Content-Type":"application/json"}}},e=this.responseInterceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope","$q","$injector",function(a,b,c,j,h,l){function o(a){function c(a){var b=z({},a,{data:ac(a.data,a.headers,g)});return 200<=a.status&&a.status<300?b:h.reject(b)}a.method=pa(a.method);var e=a.transformRequest||d.transformRequest,g=a.transformResponse||d.transformResponse,i=d.headers,i=z({"X-XSRF-TOKEN":b.cookies()["XSRF-TOKEN"]},
i.common,i[v(a.method)],a.headers),e=ac(a.data,$b(i),e),j;j=m(a,e,i);j=j.then(c,c);k(p,function(a){j=a(j)});j.success=function(b){j.then(function(c){b(c.data,c.status,c.headers,a)});return j};j.error=function(b){j.then(null,function(c){b(c.data,c.status,c.headers,a)});return j};return j}function m(b,c,d){function e(a,c,d){p&&(200<=a&&a<300?p.put(b.url,[a,c,Zb(d)]):p.remove(b.url));f(c,a,d);j.$apply()}function f(a,c,d){c=Math.max(c,0);(200<=c&&c<300?m.resolve:m.reject)({data:a,status:c,headers:$b(d),
config:b})}function i(){var a=ob(o.pendingRequests,b);a!==-1&&o.pendingRequests.splice(a,1)}var m=h.defer(),l=m.promise,p,k;o.pendingRequests.push(b);l.then(i,i);b.cache&&b.method=="GET"&&(p=H(b.cache)?b.cache:x);if(p)if(k=p.get(b.url))if(k.then)return k.then(i,i),k;else E(k)?f(k[1],k[0],M(k[2])):f(k,200,{});else p.put(b.url,l);k||a(b.method,b.url,c,e,d,b.timeout);return l}var x=c("$http"),p=[];k(e,function(a){p.push(s(a)?l.get(a):l.invoke(a))});o.pendingRequests=[];(function(a){k(arguments,function(a){o[a]=
function(b,c){return o(z(c||{},{method:a,url:b}))}})})("get","delete","head","jsonp");(function(a){k(arguments,function(a){o[a]=function(b,c,d){return o(z(d||{},{method:a,url:b,data:c}))}})})("post","put");return o}]}function yd(){this.$get=["$browser","$window","$document",function(a,b,c){return zd(a,Ad,a.defer,b.angular.callbacks,c[0].body,b.location.protocol.replace(":",""))}]}function zd(a,b,c,d,e,g){return function(f,i,j,h,l,o){function m(b,c,d,e){c=(i.match(Sb)||["",g])[1]=="file"?d?200:404:
c;b(c==1223?204:c,d,e);a.$$completeOutstandingRequest(A)}a.$$incOutstandingRequestCount();if(v(f)=="jsonp"){var x="_"+(d.counter++).toString(36);d[x]=function(a){d[x].data=a};var p=a.addJs(i.replace("JSON_CALLBACK","angular.callbacks."+x),function(){d[x].data?m(h,200,d[x].data):m(h,-2);delete d[x];e.removeChild(p)})}else{var n=new b;n.open(f,i,!0);k(l,function(a,b){a&&n.setRequestHeader(b,a)});var r;n.onreadystatechange=function(){n.readyState==4&&m(h,r||n.status,n.responseText,n.getAllResponseHeaders())};
n.send(j||"");o>0&&c(function(){r=-1;n.abort()},o)}}}function Bd(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"\u00a4",posSuf:"",negPre:"(\u00a4",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),SHORTMONTH:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),
DAY:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),SHORTDAY:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(","),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(a){return a===1?"one":"other"}}}}function gb(a){return function(b){return function(c){this.$watch(b,function(b,e,g){a(b.$index)&&(g&&e!==g&&c.removeClass(E(g)?
g.join(" "):g),e&&c.addClass(E(e)?e.join(" "):e))})}}}function bc(a,b){return["$element",function(c){var d=this,e=1*(c.attr("min")||Number.MIN_VALUE),g=1*(c.attr("max")||Number.MAX_VALUE);d.$on("$validate",function(){var c=d.$viewValue,i=c&&O(c)!="",j=s(c)&&c.match(a);d.$emit(!i||j?"$valid":"$invalid",b);i&&(c*=1);d.$emit(j&&c<e?"$invalid":"$valid","MIN");d.$emit(j&&c>g?"$invalid":"$valid","MAX")});d.$parseView=function(){if(d.$viewValue.match(a))d.$modelValue=1*d.$viewValue;else if(d.$viewValue==
"")d.$modelValue=null};d.$parseModel=function(){d.$viewValue=ga(d.$modelValue)?""+d.$modelValue:""}}]}function aa(a,b,c,d){var e=ka(d.attr("ng:bind-attr")||"{}"),g=/\s*{{(.*)}}\s*/.exec(e[c]),f=Ja[c];b["$"+c]=f?s(d.prop(c))||!!d.prop(c)||!!d[0].attributes[c]:d.attr(c);e[c]&&g&&a.$watch(g[1],function(a,d){b["$"+c]=f?!!d:d;b.$emit("$validate");b.$render&&b.$render()})}if(typeof L.getAttribute==La)L.getAttribute=function(){};var v=function(a){return s(a)?a.toLowerCase():a},pa=function(a){return s(a)?
a.toUpperCase():a},Za="$scope",uc="boolean",gc="length",hc="name",jc="object",kc="string",La="undefined",y=D.Error,P=parseInt((/msie (\d+)/.exec(v(navigator.userAgent))||[])[1],10),q,fa,ca=[].slice,Cd=[].push,lb=Object.prototype.toString,rc=D.console?Z(D.console,D.console.error||A):A,ba=D.angular||(D.angular={}),la=null,hb=ja(ba,"markup"),cc=ja(ba,"attrMarkup"),G=ja(ba,"directive",v),J=ja(ba,"widget",function(a){a=v(a);P<9&&a.charAt(0)!="@"&&L.createElement(a);return a}),$=ja(ba,"inputType",v),oa,
U=["0","0","0"],qc=24;A.$inject=[];ia.$inject=[];oa=P<9?function(a){a=a.nodeName?a:a[0];return a.scopeName&&a.scopeName!="HTML"?pa(a.scopeName+":"+a.nodeName):a.nodeName}:function(a){return a.nodeName?a.nodeName:a[0].nodeName};var Dd={full:"0.10.6-5cdfe45a",major:0,minor:10,dot:6,codeName:"bubblewrap-cape"},sc=/^(\d{4})-(\d\d)-(\d\d)(?:T(\d\d)(?:\:(\d\d)(?:\:(\d\d)(?:\.(\d{3}))?)?)?Z)?$/,wc=/^function\s*[^\(]*\(([^\)]*)\)/m,xc=/,/,yc=/^\s*(.+?)\s*$/,vc=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg;vb.prototype=
{url:function(a){var b=this,c=this.template,d,a=a||{};k(this.urlParams,function(e,f){d=wa(a[f]||b.defaults[f]||"");c=c.replace(RegExp(":"+f+"(\\W)"),d+"$1")});var c=c.replace(/\/?#$/,""),e=[];kb(a,function(a,c){b.urlParams[c]||e.push(da(c)+"="+da(a))});c=c.replace(/\/*$/,"");return c+(e.length?"?"+e.join("&"):"")}};za.DEFAULT_ACTIONS={get:{method:"GET"},save:{method:"POST"},query:{method:"GET",isArray:!0},remove:{method:"DELETE"},"delete":{method:"DELETE"}};za.prototype={route:function(a,b,c){function d(a){var c=
{};k(b||{},function(b,d){c[d]=b.charAt&&b.charAt(0)=="@"?Ea(a,b.substr(1)):b});return c}function e(a){M(a||{},this)}var g=this,f=new vb(a),c=z({},za.DEFAULT_ACTIONS,c);k(c,function(i,j){var h=i.method=="POST"||i.method=="PUT";e[j]=function(a,b,c,j){var p={},n,r=A,w=null;switch(arguments.length){case 4:w=j,r=c;case 3:case 2:if(B(b)){if(B(a)){r=a;w=b;break}r=b;w=c}else{p=a;n=b;r=c;break}case 1:B(a)?r=a:h?n=a:p=a;break;case 0:break;default:throw"Expected between 0-4 arguments [params, data, success, error], got "+
arguments.length+" arguments.";}var u=this instanceof e?this:i.isArray?[]:new e(n);g.$http({method:i.method,url:f.url(z({},d(n),i.params||{},p)),data:n}).then(function(a){var b=a.data;if(b)i.isArray?(u.length=0,k(b,function(a){u.push(new e(a))})):M(b,u);(r||A)(u,a.headers)},w);return u};e.bind=function(d){return g.route(a,z({},b,d),c)};e.prototype["$"+j]=function(a,b,c){var f=d(this),g=A,i;switch(arguments.length){case 3:f=a;g=b;i=c;break;case 2:case 1:B(a)?(g=a,i=b):(f=a,g=b||A);case 0:break;default:throw"Expected between 1-3 arguments [params, success, error], got "+
arguments.length+" arguments.";}e[j].call(this,f,h?this:F,g,i)}});return e}};var Cb=/^<\s*([\w:-]+)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*>/,Bb=/^<\s*\/\s*([\w:-]+)[^>]*>/,zc=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,Bc=/^</,Ac=/^<\s*\//,Cc=/<\!--(.*?)--\>/g,Dc=/<!\[CDATA\[(.*?)]]\>/g,Gc=/^((ftp|https?):\/\/|mailto:|#)/,Ec=/([^\#-~| |!])/g,zb=V("area,br,col,hr,img,wbr"),dc=V("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),ec=V("rp,rt"),
yb=z({},ec,dc),wb=z({},dc,V("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,script,section,table,ul")),xb=z({},ec,V("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")),Ab=V("script,style"),Eb=z({},zb,wb,xb,yb),Fb=V("background,cite,href,longdesc,src,usemap"),Fc=z({},Fb,V("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,span,start,summary,target,title,type,valign,value,vspace,width")),
Ta=L.createElement("pre"),Ba={},Aa="ng-"+(new Date).getTime(),Ic=1,Ed=D.document.addEventListener?function(a,b,c){a.addEventListener(b,c,!1)}:function(a,b,c){a.attachEvent("on"+b,c)},Xa=D.document.removeEventListener?function(a,b,c){a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent("on"+b,c)},$a=X.prototype={ready:function(a){function b(){c||(c=!0,a())}var c=!1;this.bind("DOMContentLoaded",b);Va(D).bind("load",b)},toString:function(){var a=[];k(this,function(b){a.push(""+b)});return"["+
a.join(", ")+"]"},eq:function(a){return a>=0?q(this[a]):q(this[this.length+a])},length:0,push:Cd,sort:[].sort,splice:[].splice},Ja={};k("multiple,selected,checked,disabled,readOnly,required".split(","),function(a){Ja[v(a)]=a});k({data:Ca,inheritedData:function(a,b,c){for(a=q(a);a.length;){if(c=a.data(b))return c;a=a.parent()}},scope:function(a){return q(a).inheritedData(Za)},removeAttr:function(a,b){a.removeAttribute(b)},hasClass:Da,css:function(a,b,c){b=Hc(b);if(t(c))a.style[b]=c;else{var d;P<=8&&
(d=a.currentStyle&&a.currentStyle[b],d===""&&(d="auto"));d=d||a.style[b];P<=8&&(d=d===""?F:d);return d}},attr:function(a,b,c){var d=v(b);if(Ja[d])if(t(c))c?(a[b]=!0,a.setAttribute(b,d)):(a[b]=!1,a.removeAttribute(d));else return a[b]||a.getAttribute(b)!==null&&(P<9?a.getAttribute(b)!=="":1)?d:F;else if(t(c))a.setAttribute(b,c);else if(a.getAttribute)return a=a.getAttribute(b,2),a===null?F:a},prop:function(a,b,c){if(t(c))a[b]=c;else return a[b]},text:z(P<9?function(a,b){if(a.nodeType==3){if(C(b))return a.nodeValue;
a.nodeValue=b}else{if(C(b))return a.innerText;a.innerText=b}}:function(a,b){if(C(b))return a.textContent;a.textContent=b},{$dv:""}),val:function(a,b){if(C(b))return a.value;a.value=b},html:function(a,b){if(C(b))return a.innerHTML;for(var c=0,d=a.childNodes;c<d.length;c++)ma(d[c]);a.innerHTML=b}},function(a,b){X.prototype[b]=function(b,d){var e,g;if((a.length==2&&a!==Da?b:d)===F)if(H(b)){for(e=0;e<this.length;e++)for(g in b)a(this[e],g,b[g]);return this}else{if(this.length)return a(this[0],b,d)}else{for(e=
0;e<this.length;e++)a(this[e],b,d);return this}return a.$dv}});k({removeData:Gb,dealoc:ma,bind:function(a,b,c){var d=Ca(a,"bind");d||Ca(a,"bind",d={});k(b.split(" "),function(b){var g=d[b];if(!g)d[b]=g=function(b){if(!b.preventDefault)b.preventDefault=function(){b.returnValue=!1};if(!b.stopPropagation)b.stopPropagation=function(){b.cancelBubble=!0};if(!b.target)b.target=b.srcElement||L;if(C(b.defaultPrevented)){var c=b.preventDefault;b.preventDefault=function(){b.defaultPrevented=!0;c.call(b)};b.defaultPrevented=
!1}b.isDefaultPrevented=function(){return b.defaultPrevented};k(g.fns,function(c){c.call(a,b)})},g.fns=[],Ed(a,b,g);g.fns.push(c)})},unbind:function(a,b,c){var d=Ca(a,"bind");d&&(C(b)?k(d,function(b,c){Xa(a,c,b);delete d[c]}):C(c)?(Xa(a,b,d[b]),delete d[b]):Na(d[b].fns,c))},replaceWith:function(a,b){var c,d=a.parentNode;ma(a);k(new X(b),function(b){c?d.insertBefore(b,c.nextSibling):d.replaceChild(b,a);c=b})},children:function(a){var b=[];k(a.childNodes,function(a){a.nodeName!="#text"&&b.push(a)});
return b},append:function(a,b){k(new X(b),function(b){a.nodeType===1&&a.appendChild(b)})},prepend:function(a,b){if(a.nodeType===1){var c=a.firstChild;k(new X(b),function(b){c?a.insertBefore(b,c):(a.appendChild(b),c=b)})}},remove:function(a){ma(a);var b=a.parentNode;b&&b.removeChild(a)},after:function(a,b){var c=a,d=a.parentNode;k(new X(b),function(a){d.insertBefore(a,c.nextSibling);c=a})},addClass:Ib,removeClass:Hb,toggleClass:function(a,b,c){C(c)&&(c=!Da(a,b));(c?Ib:Hb)(a,b)},parent:function(a){return(a=
a.parentNode)&&a.nodeType!==11?a:null},next:function(a){return a.nextSibling},find:function(a,b){return a.getElementsByTagName(b)},clone:function(a){return a.cloneNode(!0)}},function(a,b){X.prototype[b]=function(b,d){for(var e,g=0;g<this.length;g++)e==F?(e=a(this[g],b,d),e!==F&&(e=q(e))):Wa(e,a(this[g],b,d));return e==F?this:e}});ya.prototype={put:function(a,b){this[na(a)]=b},get:function(a){return this[na(a)]},remove:function(a){var b=this[a=na(a)];delete this[a];return b}};Ya.prototype={push:function(a,
b){var c=this[a=na(a)];c?c.push(b):this[a]=[b]},shift:function(a){var b=this[a=na(a)];if(b)return b.length==1?(delete this[a],b[0]):b.shift()}};Jb.$inject=["$provide"];Kb.$inject=["$locale"];Mb.$inject=["$locale"];var Pb=".",ed={yyyy:I("FullYear",4),yy:I("FullYear",2,0,!0),y:I("FullYear",1),MMMM:Fa("Month"),MMM:Fa("Month",!0),MM:I("Month",2,1),M:I("Month",1,1),dd:I("Date",2),d:I("Date",1),HH:I("Hours",2),H:I("Hours",1),hh:I("Hours",2,-12),h:I("Hours",1,-12),mm:I("Minutes",2),m:I("Minutes",1),ss:I("Seconds",
2),s:I("Seconds",1),EEEE:Fa("Day"),EEE:Fa("Day",!0),a:function(a,b){return a.getHours()<12?b.AMPMS[0]:b.AMPMS[1]},Z:function(a){a=a.getTimezoneOffset();return R(a/60,2)+R(Math.abs(a%60),2)}},dd=/((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/,cd=/^\d+$/;Lb.$inject=["$locale"];var ad=Y(v),bd=Y(pa);Nb.$inject=["$parse"];var Qb={},Sb=/^(file|ftp|http|https):\/\/(\w+:{0,1}\w*@)?([\w\.-]*)(:([0-9]+))?(\/[^\?#]*)?(\?([^#]*))?(#(.*))?$/,fc=/^([^\?#]*)?(\?([^#]*))?(#(.*))?$/,
jd=fc,Tb={http:80,https:443,ftp:21};db.prototype={$$replace:!1,absUrl:Ia("$$absUrl"),url:function(a,b){if(C(a))return this.$$url;var c=fc.exec(a);c[1]&&this.path(decodeURIComponent(c[1]));if(c[2]||c[1])this.search(c[3]||"");this.hash(c[5]||"",b);return this},protocol:Ia("$$protocol"),host:Ia("$$host"),port:Ia("$$port"),path:Ub("$$path",function(a){return a.charAt(0)=="/"?a:"/"+a}),search:function(a,b){if(C(a))return this.$$search;t(b)?b===null?delete this.$$search[a]:this.$$search[a]=da(b):this.$$search=
s(a)?Oa(a):a;this.$$compose();return this},hash:Ub("$$hash",ia),replace:function(){this.$$replace=!0;return this}};eb.prototype=ha(db.prototype);var fb={"null":function(){return null},"true":function(){return!0},"false":function(){return!1},$undefined:A,"+":function(a,b,c){b=b(a);c=c(a);return(t(b)?b:0)+(t(c)?c:0)},"-":function(a,b,c){b=b(a);c=c(a);return(t(b)?b:0)-(t(c)?c:0)},"*":function(a,b,c){return b(a)*c(a)},"/":function(a,b,c){return b(a)/c(a)},"%":function(a,b,c){return b(a)%c(a)},"^":function(a,
b,c){return b(a)^c(a)},"=":A,"==":function(a,b,c){return b(a)==c(a)},"!=":function(a,b,c){return b(a)!=c(a)},"<":function(a,b,c){return b(a)<c(a)},">":function(a,b,c){return b(a)>c(a)},"<=":function(a,b,c){return b(a)<=c(a)},">=":function(a,b,c){return b(a)>=c(a)},"&&":function(a,b,c){return b(a)&&c(a)},"||":function(a,b,c){return b(a)||c(a)},"&":function(a,b,c){return b(a)&c(a)},"|":function(a,b,c){return c(a)(a,b(a))},"!":function(a,b){return!b(a)}},od={n:"\n",f:"\u000c",r:"\r",t:"\t",v:"\u000b",
"'":"'",'"':'"'},Xb={},Yb={};k("abstract,boolean,break,byte,case,catch,char,class,const,continue,debugger,default,delete,do,double,else,enum,export,extends,false,final,finally,float,for,function,goto,if,implements,import,ininstanceof,intinterface,long,native,new,null,package,private,protected,public,return,short,static,super,switch,synchronized,this,throw,throws,transient,true,try,typeof,var,volatile,void,undefined,while,with".split(/,/),function(a){Yb[a]=!0});var Ad=D.XMLHttpRequest||function(){try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(a){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(b){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(c){}throw new y("This browser does not support XMLHttpRequest.");
};G("ng:init",function(a){return function(){this.$eval(a)}});G("ng:controller",function(a){this.scope(function(b){b=Ea(b,a,!0)||Ea(D,a,!0);ea(b,a);Qa(b);return b});return A});G("ng:bind",function(a,b){b.addClass("ng-binding");return["$exceptionHandler","$parse","$element",function(b,d,e){var g=d(a),f=Number.NaN;this.$watch(function(a){var d,h,l,k,m=a.hasOwnProperty("$element"),x=a.$element;a.$element=e;try{d=g(a);if(l=d instanceof Ma)d=(h=d).html;f!==d&&(k=ua(d),!l&&!k&&H(d)&&(d=Q(d,!0)),d!=f&&(f=
d,l?e.html(h.get()):k?(e.html(""),e.append(d)):e.text(d==F?"":d)))}catch(p){b(p)}finally{m?a.$element=x:delete a.$element}})}]});G("ng:bind-template",function(a,b){b.addClass("ng-binding");var c=Ga(a);return function(a){var b;this.$watch(function(g){g=c(g,a,!0);g!=b&&(a.text(g),b=g)})}});G("ng:bind-attr",function(a){return function(b){var c={};this.$watch(function(d){var e=d.$eval(a),g;for(g in e){var f=Ga(e[g])(d,b);c[g]!==f&&(c[g]=f,b.attr(g,Ja[v(g)]?va(f):f))}})}});G("ng:click",function(a){return function(b){var c=
this;b.bind("click",function(b){c.$apply(a);b.stopPropagation()})}});G("ng:submit",function(a){return function(b){var c=this;b.bind("submit",function(){c.$apply(a)})}});G("ng:class",gb(function(){return!0}));G("ng:class-odd",gb(function(a){return a%2===0}));G("ng:class-even",gb(function(a){return a%2===1}));G("ng:show",function(a){return function(b){this.$watch(a,function(a,d){b.css("display",va(d)?"":"none")})}});G("ng:hide",function(a){return function(b){this.$watch(a,function(a,d){b.css("display",
va(d)?"none":"")})}});G("ng:style",function(a){return function(b){this.$watch(a,function(a,d,e){e&&d!==e&&k(e,function(a,c){b.css(c,"")});d&&b.css(d)})}});G("ng:cloak",function(a,b){b.removeAttr("ng:cloak");b.removeClass("ng-cloak")});hb("{{}}",function(a,b,c){var d=qa(a);if(bb(d))if(nc(c[0]))c.attr("ng:bind-template",a);else{var e=b,g;k(qa(a),function(a){var b=cb(a);b?(g=q("<span>"),g.attr("ng:bind",b)):g=q(L.createTextNode(a));P&&a.charAt(0)==" "&&(g=q("<span>&nbsp;</span>"),b=g.html(),g.text(a.substr(1)),
g.html(b+g.html()));e.after(g);e=g});b.remove()}});hb("option",function(a,b,c){v(oa(c))=="option"&&(P<=7?mb(c[0].outerHTML,{start:function(b,e){C(e.value)&&c.attr("value",a)}}):c[0].getAttribute("value")==null&&c.attr("value",a))});var ib={};k("src,href,multiple,selected,checked,disabled,readonly,required".split(","),function(a){ib["ng:"+a]=a});cc("{{}}",function(a,b,c){if(!G(b)&&!G("@"+b)){P&&b=="src"&&(a=decodeURI(a));var d=qa(a);if(bb(d)||ib[b])c.removeAttr(b),d=ka(c.attr("ng:bind-attr")||"{}"),
d[ib[b]||b]=a,c.attr("ng:bind-attr",Q(d))}});J("ng:include",function(a){var b=this,c=a.attr("src"),d=a.attr("scope")||"",e=a[0].getAttribute("onload")||"",g=a.attr("autoscroll");if(a[0]["ng:compiled"])this.descend(!0),this.directives(!0);else return a[0]["ng:compiled"]=!0,["$http","$templateCache","$anchorScroll","$element",function(a,i,j,h){function l(){m++}var k=this,m=0,x;this.$watch(c,l);this.$watch(function(){var a=k.$eval(d);if(a)return a.$id},l);this.$watch(function(){return m},function(l,
k){function o(){k===m&&(x&&x.$destroy(),x=null,h.html(""))}var w=l.$eval(c),u=l.$eval(d);w?a.get(w,{cache:i}).success(function(a){k===m&&(h.html(a),x&&x.$destroy(),x=u?u:l.$new(),b.compile(h)(x),t(g)&&(!g||l.$eval(g))&&j(),l.$eval(e))}).error(o):o()})}]});J("ng:switch",function(a){var b=a.attr("on"),c=a.attr("change"),d={},e,g=a.children(),f=g.length,i,j;if(!b)throw new y("Missing 'on' attribute.");for(;f--;)i=q(g[f]),i.remove(),j=i.attr("ng:switch-when"),s(j)?d[j]=this.compile(i):s(i.attr("ng:switch-default"))&&
(e=this.compile(i));g=null;a.html("");return function(a){var f=0,g,i;this.$watch(b,function(b,j){a.html("");if(i=d[j]||e)f++,g&&g.$destroy(),g=b.$new(),g.$eval(c)});this.$watch(function(){return f},function(){a.html("");i&&i(g,function(b){a.append(b)})})}});J("a",function(){this.descend(!0);this.directives(!0);return function(a){var b=(a.attr("ng:bind-attr")||"").indexOf('"href":')!==-1;!b&&!a.attr("name")&&!a.attr("href")&&a.attr("href","");a.attr("href")===""&&!b&&a.bind("click",function(a){a.preventDefault()})}});
J("@ng:repeat",function(a,b){b.removeAttr("ng:repeat");b.replaceWith(q("<\!-- ng:repeat: "+a+" --\>"));var c=this.compile(b);return function(b){var e=a.match(/^\s*(.+)\s+in\s+(.*)\s*$/),g,f,i,j;if(!e)throw y("Expected ng:repeat in form of '_item_ in _collection_' but got '"+a+"'.");g=e[1];f=e[2];e=g.match(/^([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\)$/);if(!e)throw y("'item' in 'item in collection' should be identifier or (key, value) but got '"+keyValue+"'.");i=e[3]||e[1];j=e[2];var h=this,l=new Ya;
this.$watch(function(a){var e,g=a.$eval(f),k=mc(g,!0),n,r=new Ya,w,u,q,s,v=b;if(E(g))q=g||[];else{q=[];for(w in g)g.hasOwnProperty(w)&&w.charAt(0)!="$"&&q.push(w);q.sort()}e=0;for(a=q.length;e<a;e++){w=g===q?e:q[e];u=g[w];if(s=l.shift(u)){n=s.scope;r.push(u,s);if(e!==s.index)s.index=e,v.after(s.element);v=s.element}else n=h.$new();n[i]=u;j&&(n[j]=w);n.$index=e;n.$position=e===0?"first":e==k-1?"last":"middle";s||c(n,function(a){v.after(a);s={scope:n,element:v=a,index:e};r.push(u,s)})}for(w in l)if(l.hasOwnProperty(w))for(q=
l[w];q.length;)u=q.pop(),u.element.remove(),u.scope.$destroy();l=r})}});J("@ng:non-bindable",A);J("ng:view",function(a){var b=this;if(a[0]["ng:compiled"])b.descend(!0),b.directives(!0);else return a[0]["ng:compiled"]=!0,["$http","$templateCache","$route","$anchorScroll","$element",function(a,d,e,g,f){var i=0;this.$on("$afterRouteChange",function(){i++});this.$watch(function(){return i},function(j,h){function l(){h==i&&f.html("")}var k=e.current&&e.current.template;k?a.get(k,{cache:d}).success(function(a){h==
i&&(f.html(a),b.compile(f)(e.current.scope),g())}).error(l):l()})}]});J("ng:pluralize",function(a){var b=a.attr("count"),c=a.attr("when"),d=a.attr("offset")||0;return["$locale","$element",function(a,g){var f=this,i=f.$eval(c),j={};k(i,function(a,c){j[c]=Ga(a.replace(/{}/g,"{{"+b+"-"+d+"}}"))});f.$watch(function(){var c=parseFloat(f.$eval(b));return isNaN(c)?"":(i[c]||(c=a.pluralCat(c-d)),j[c](f,g,!0))},function(a,b){g.text(b)})}]});J("form",function(){this.descend(!0);this.directives(!0);return["$formFactory",
"$element",function(a,b){function c(a){g.$watch("$"+a,function(c,d){b[d?"addClass":"removeClass"]("ng-"+a)})}var d=b.attr("name"),e=a.forElement(b),g=a(e);b.data("$form",g);b.bind("submit",function(a){b.attr("action")||a.preventDefault()});d&&(this[d]=g);c("valid");c("invalid")}]});J("ng:form",J("form"));var Fd=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,Gd=/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/;$("email",function(){var a=this;this.$on("$validate",
function(){var b=a.$viewValue;a.$emit(!b||b.match(Gd)?"$valid":"$invalid","EMAIL")})});$("url",function(){var a=this;this.$on("$validate",function(){var b=a.$viewValue;a.$emit(!b||b.match(Fd)?"$valid":"$invalid","URL")})});$("list",function(){function a(a){var c=[];k(a.split(/\s*,\s*/),function(a){a&&c.push(O(a))});return c}this.$parseView=function(){s(this.$viewValue)&&(this.$modelValue=a(this.$viewValue))};this.$parseModel=function(){var b=this.$modelValue;if(E(b)&&(!s(this.$viewValue)||!W(a(this.$viewValue),
b)))this.$viewValue=b.join(", ")}});$("number",bc(/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,"NUMBER"));$("integer",bc(/^\s*(\-|\+)?\d+\s*$/,"INTEGER"));$("checkbox",function(a){var b=this,c=a.attr("ng:true-value"),d=a.attr("ng:false-value");s(c)||(c=!0);s(d)||(d=!1);a.bind("click",function(){b.$apply(function(){b.$emit("$viewChange",a[0].checked)})});b.$render=function(){a[0].checked=b.$viewValue};b.$parseModel=function(){b.$viewValue=this.$modelValue===c};b.$parseView=function(){b.$modelValue=b.$viewValue?
c:d}});$("radio",function(a){var b=this;a.attr("name",b.$id+"@"+a.attr("name"));a.bind("click",function(){b.$apply(function(){a[0].checked&&b.$emit("$viewChange",b.$value)})});b.$render=function(){a[0].checked=t(b.$value)&&b.$value==b.$viewValue};if(a[0].checked)b.$viewValue=b.$value});var Hd=V("search,tel,url,email,datetime,date,month,week,time,datetime-local,number,range,color,radio,checkbox,text,button,submit,reset,hidden,password");J("input",function(a){this.directives(!0);this.descend(!0);var b=
a.attr("ng:model");return b&&["$defer","$formFactory","$element",function(a,d,e){var d=d.forElement(e),g=e[0].getAttribute("type")||"text",f,i=this,j,h,l=O(e.attr("ng:pattern")),o=parseInt(e.attr("ng:minlength"),10),m=parseInt(e.attr("ng:maxlength"),10);f=g.match(/^\s*\@\s*(.*)/);l?l.match(/^\/(.*)\/$/)?(l=RegExp(l.substr(1,l.length-2)),j=function(a){return l.test(a)}):j=function(a){var b=i.$eval(l);if(!b||!b.test)throw new y("Expected "+l+" to be a RegExp but was "+b);return b.test(a)}:j=Y(!0);g=
v(g);f=(f?ea(this.$eval(f[1]),f[1]).$unboundFn:$(g))||A;if(!Hd[g])try{e[0].setAttribute("type","text")}catch(x){}!f.$inject&&(f.$inject=["$element"]);h=d.$createWidget({scope:i,model:b,onChange:e.attr("ng:change"),alias:e.attr("name"),controller:f,controllerArgs:{$element:e}});aa(this,h,"value",e);aa(this,h,"required",e);aa(this,h,"readonly",e);aa(this,h,"disabled",e);h.$pristine=!(h.$dirty=!1);h.$on("$validate",function(){var a=O(h.$viewValue),b=h.$required&&!a,c=m&&a&&a.length>m,d=o&&a&&a.length<
o,a=a&&!j(a);h.$error.REQUIRED!=b&&h.$emit(b?"$invalid":"$valid","REQUIRED");h.$error.PATTERN!=a&&h.$emit(a?"$invalid":"$valid","PATTERN");h.$error.MINLENGTH!=d&&h.$emit(d?"$invalid":"$valid","MINLENGTH");h.$error.MAXLENGTH!=c&&h.$emit(c?"$invalid":"$valid","MAXLENGTH")});k(["valid","invalid","pristine","dirty"],function(a){h.$watch("$"+a,function(b,c){e[c?"addClass":"removeClass"]("ng-"+a)})});e.bind("$destroy",function(){h.$destroy()});if(g!="checkbox"&&g!="radio")h.$render=function(){e.val(h.$viewValue||
"")},e.bind("keydown change input",function(b){b=b.keyCode;b!=91&&!(15<b&&b<19)&&!(37<b&&b<40)&&a(function(){h.$dirty=!(h.$pristine=!1);var a=O(e.val());h.$viewValue!==a&&h.$emit("$viewChange",a)})})}]});J("textarea",J("input"));var Id=/^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+group\s+by\s+(.*))?\s+for\s+(?:([\$\w][\$\w\d]*)|(?:\(\s*([\$\w][\$\w\d]*)\s*,\s*([\$\w][\$\w\d]*)\s*\)))\s+in\s+(.*)$/;J("select",function(a){this.directives(!0);this.descend(!0);return a.attr("ng:model")&&["$formFactory","$compile",
"$parse","$element",function(a,c,d,e){function g(){var a=this;this.$render=function(){var a=new ya(this.$viewValue);k(e.children(),function(b){b.selected=t(a.get(b.value))})};e.bind("change",function(){a.$apply(function(){var b=[];k(e.children(),function(a){a.selected&&b.push(a.value)});a.$emit("$viewChange",b)})})}function f(){var a=this;a.$render=function(){e.val(a.$viewValue)};e.bind("change",function(){a.$apply(function(){a.$emit("$viewChange",e.val())})});a.$viewValue=e.val()}function i(){function a(){var c=
{"":[]},d=[""],f,g,k,l,n;k=b.$modelValue;l=z(j)||[];var q=o?jb(l):l,x,r,t;r=ha(j);n=!1;var y,E;if(h)n=new ya(k);else if(k===null||A)c[""].push({selected:k===null,id:"",label:""}),n=!0;for(t=0;x=q.length,t<x;t++){r[m]=l[o?r[o]=q[t]:t];f=s(r)||"";if(!(g=c[f]))g=c[f]=[],d.push(f);h?f=n.remove(v(r))!=F:(f=k===v(r),n=n||f);g.push({id:o?q[t]:t,label:i(r)||"",selected:f})}!h&&!n&&c[""].unshift({id:"?",label:"",selected:!0});r=0;for(q=d.length;r<q;r++){f=d[r];g=c[f];if(D.length<=r)k={element:C.clone().attr("label",
f),label:g.label},l=[k],D.push(l),e.append(k.element);else if(l=D[r],k=l[0],k.label!=f)k.element.attr("label",k.label=f);y=null;t=0;for(x=g.length;t<x;t++)if(f=g[t],n=l[t+1]){y=n.element;if(n.label!==f.label)y.text(n.label=f.label);if(n.id!==f.id)y.val(n.id=f.id);if(n.element.selected!==f.selected)y.prop("selected",n.selected=f.selected)}else f.id===""&&A?E=A:(E=B.clone()).val(f.id).attr("selected",f.selected).text(f.label),l.push({element:E,label:f.label,id:f.id,selected:f.selected}),y?y.after(E):
k.element.append(E),y=E;for(t++;l.length>t;)l.pop().element.remove()}for(;D.length>r;)D.pop()[0].element.remove()}var b=this,f;if(!(f=l.match(Id)))throw y("Expected ng:options in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '"+l+"'.");var g=this,i=d(f[2]||f[1]),m=f[4]||f[6],o=f[5],s=d(f[3]||""),v=d(f[2]?f[1]:m),z=d(f[7]),B=q(L.createElement("option")),C=q(L.createElement("optgroup")),A=!1,D=[[{element:e,label:""}]];k(e.children(),function(a){a.value==""&&(A=q(a).remove(),
c(A)(j))});e.html("");e.bind("change",function(){g.$apply(function(){var a,b=z(j)||[],c=e.val(),d=ha(j),f,i,k,l,n,p;if(h){f=[];l=0;for(p=D.length;l<p;l++){a=D[l];k=1;for(n=a.length;k<n;k++)if((i=a[k].element)[0].selected)o&&(d[o]=c),d[m]=b[i.val()],f.push(v(d))}}else c=="?"?f=F:c==""?f=null:(d[m]=b[c],o&&(d[o]=c),f=v(d));t(f)&&j.$viewVal!==f&&g.$emit("$viewChange",f)})});g.$watch(a);g.$render=a}var j=this,a=a.forElement(e),h=e.attr("multiple"),l=e.attr("ng:options"),o=e.attr("ng:model"),m=a.$createWidget({scope:this,
model:o,onChange:e.attr("ng:change"),alias:e.attr("name"),controller:l?i:h?g:f});e.bind("$destroy",function(){m.$destroy()});m.$pristine=!(m.$dirty=!1);aa(j,m,"required",e);aa(j,m,"readonly",e);aa(j,m,"disabled",e);m.$on("$validate",function(){var a=!m.$required||!!m.$modelValue;a&&h&&m.$required&&(a=!!m.$modelValue.length);a!==!m.$error.REQUIRED&&m.$emit(a?"$valid":"$invalid","REQUIRED")});m.$on("$viewChange",function(){m.$pristine=!(m.$dirty=!0)});k(["valid","invalid","pristine","dirty"],function(a){m.$watch("$"+
a,function(b,c){e[c?"addClass":"removeClass"]("ng-"+a)})})}]});(fa=D.jQuery)?(q=fa,z(fa.fn,{scope:$a.scope,inheritedData:$a.inheritedData}),Ua("remove",!0),Ua("empty"),Ua("html")):q=Va;ba.element=q;(function(a){z(a,{bootstrap:qb,copy:M,extend:z,equals:W,element:q,forEach:k,injector:rb,noop:A,bind:Z,toJson:Q,fromJson:ka,identity:ia,isUndefined:C,isDefined:t,isString:s,isFunction:B,isObject:H,isNumber:ga,isElement:ua,isArray:E,version:Dd,isDate:sa,lowercase:v,uppercase:pa,callbacks:{counter:0}});la=
pc(D);try{la("ngLocale")}catch(b){la("ngLocale",[]).service("$locale",Bd)}la("ng",["ngLocale"],["$provide",function(a){a.value("$textMarkup",hb);a.value("$attrMarkup",cc);a.value("$directive",G);a.value("$widget",J);a.service("$anchorScroll",Jc);a.service("$browser",Mc);a.service("$cacheFactory",Nc);a.service("$compile",Pc);a.service("$cookies",Sc);a.service("$cookieStore",Rc);a.service("$defer",Tc);a.service("$document",Uc);a.service("$exceptionHandler",Vc);a.service("$filter",Jb);a.service("$interpolate",
gd);a.service("$formFactory",fd);a.service("$http",xd);a.service("$httpBackend",yd);a.service("$location",kd);a.service("$log",ld);a.service("$parse",pd);a.service("$resource",md);a.service("$route",sd);a.service("$routeParams",td);a.service("$rootScope",ud);a.service("$q",qd);a.service("$sniffer",vd);a.service("$templateCache",Oc);a.service("$window",wd)}])})(ba);Va(L).ready(function(){oc(L,qb)})})(window,document);angular.element(document).find("head").append('<style type="text/css">@charset "UTF-8";[ng\\:cloak],.ng-cloak{display:none;}ng\\:form{display:block;}</style>');

@ -1 +1,5 @@
<p>This is the partial for view 2.</p>
<p>
Showing of 'interpolate' filter:
{{ 'Current version is v%VERSION%.' | interpolate }}
</p>

@ -6,7 +6,7 @@ describe('my app', function() {
it('should automatically redirect to /view1 when location hash/fragment is empty', function() {
expect(browser().location().hash()).toBe("/view1");
expect(browser().location().url()).toBe("/view1");
});

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -1,27 +1,11 @@
/**
* The MIT License
*
* Copyright (c) 2010 Adam Abrons and Misko Hevery http://getangular.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.
* @license AngularJS v0.10.6-5cdfe45a
* (c) 2010-2011 AngularJS http://angularjs.org
* License: MIT
*/
(function(window) {
'use strict';
/**
* JSTestDriver adapter for angular scenario tests
*

@ -6,14 +6,25 @@
var rootDescribes = new Describes(window);
var describePath = [];
rootDescribes.collectMode();
var jasmineTest = TestCase('Jasmine Adapter Tests', null, 'jasmine test case');
var JASMINE_TYPE = 'jasmine test case';
TestCase('Jasmine Adapter Tests', null, JASMINE_TYPE);
var jasminePlugin = {
name:'jasmine',
getTestRunsConfigurationFor: function(testCaseInfos, expressions, testRunsConfiguration) {
for (var i = 0; i < testCaseInfos.length; i++) {
if (testCaseInfos[i].getType() == JASMINE_TYPE) {
testRunsConfiguration.push(new jstestdriver.TestRunConfiguration(testCaseInfos[i], []));
}
}
return false;
},
runTestConfiguration: function(testRunConfiguration, onTestDone, onTestRunConfigurationComplete){
if (testRunConfiguration.testCaseInfo_.template_ !== jasmineTest) return;
if (testRunConfiguration.getTestCaseInfo().getType() != JASMINE_TYPE) return false;
var jasmineEnv = jasmine.currentEnv_ = new jasmine.Env();
rootDescribes.playback();
var specLog = jstestdriver.console.log_ = [];
@ -45,24 +56,24 @@
if (!resultItems[i].passed()) {
state = resultItems[i].message.match(/AssertionError:/) ? 'error' : 'failed';
messages.push({
message: resultItems[i].toString(),
name: resultItems[i].trace.name,
stack: formatStack(resultItems[i].trace.stack)
});
message: resultItems[i].toString(),
name: resultItems[i].trace.name,
stack: formatStack(resultItems[i].trace.stack)
});
}
}
onTestDone(
new jstestdriver.TestResult(
suite.getFullName(),
spec.description,
state,
suite.getFullName(),
spec.description,
state,
jstestdriver.angular.toJson(messages),
specLog.join('\n'),
end - start));
},
reportSuiteResults: function(suite) {},
reportRunnerResults: function(runner) {
onTestRunConfigurationComplete();
}
@ -70,6 +81,7 @@
jasmineEnv.execute();
return true;
},
onTestsFinish: function(){
jasmine.currentEnv_ = null;
rootDescribes.collectMode();
@ -93,13 +105,17 @@
var describes = {};
var beforeEachs = {};
var afterEachs = {};
var exclusive;
// Here we store:
// 0: everyone runs
// 1: run everything under ddescribe
// 2: run only iits (ignore ddescribe)
var exclusive = 0;
var collectMode = true;
intercept('describe', describes);
intercept('xdescribe', describes);
intercept('beforeEach', beforeEachs);
intercept('afterEach', afterEachs);
function intercept(functionName, collection){
window[functionName] = function(desc, fn){
if (collectMode) {
@ -112,11 +128,15 @@
};
}
window.ddescribe = function(name, fn){
exclusive = true;
console.log('ddescribe', name);
if (exclusive < 1) {
exclusive = 1; // run ddescribe only
}
window.describe(name, function(){
var oldIt = window.it;
window.it = window.iit;
window.it = function(name, fn){
fn.exclusive = 1; // run anything under ddescribe
oldIt(name, fn);
};
try {
fn.call(this);
} finally {
@ -125,34 +145,33 @@
});
};
window.iit = function(name, fn){
exclusive = fn.exclusive = true;
console.log(fn);
exclusive = fn.exclusive = 2; // run only iits
jasmine.getEnv().it(name, fn);
};
this.collectMode = function() {
collectMode = true;
exclusive = false;
exclusive = 0; // run everything
};
this.playback = function(){
collectMode = false;
playback(beforeEachs);
playback(afterEachs);
playback(describes);
function playback(set) {
for ( var name in set) {
set[name]();
}
}
};
this.isExclusive = function(spec) {
if (exclusive) {
var blocks = spec.queue.blocks;
for ( var i = 0; i < blocks.length; i++) {
if (blocks[i].func.exclusive) {
if (blocks[i].func.exclusive >= exclusive) {
return true;
}
}
@ -161,7 +180,7 @@
return true;
};
}
})(window);
// Patch Jasmine for proper stack traces

@ -1 +1 @@
1ade1ad7cad4caadb3a3 @ 2011-03-07
da92db714142b49f9cf61db664e782bb0ccad80b @ 2011-10-18

@ -1 +1 @@
r899 (post 1.3.1) @ 2011-02-18
1.3.3d

@ -1 +1,17 @@
/* jasmine specs for filters go here */
describe('filter', function() {
beforeEach(module('myApp.filters'));
describe('interpolate', function() {
beforeEach(module(function($provide) {
$provide.value('version', 'TEST_VER');
}));
it('should replace VERSION', inject(function(interpolateFilter) {
expect(interpolateFilter('before %VERSION% after')).toEqual('before TEST_VER after');
}));
});
});

@ -1 +1,12 @@
/* jasmine specs for services go here */
describe('service', function() {
beforeEach(module('myApp.services'));
describe('version', function() {
it('should return current version', inject(function(version) {
expect(version).toEqual('0.1');
}));
});
});

@ -1 +1,17 @@
/* jasmine specs for widgets go here */
describe('widgets', function() {
beforeEach(module('myApp.widgets'));
describe('app-version', function() {
it('should print current version', function() {
module(function($provide) {
$provide.value('version', 'TEST_VER');
});
inject(function($compile, $rootScope) {
var element = $compile('<span app-version></span>')($rootScope);
expect(element.text()).toEqual('TEST_VER');
});
});
});
});