text: angular.module("ngTranslate",["ng"]).run(["$translate",function(e){var r=e.storageKey(),t=e.storage();t?t.get(r)?e.uses(t.get(r)):angular.isString(e.preferredLanguage())?e.uses(e.preferredLanguage()):t.set(r,e.uses()):angular.isString(e.preferredLanguage())&&e.uses(e.preferredLanguage())}]),angular.module("ngTranslate").constant("$STORAGE_KEY","NG_TRANSLATE_LANG_KEY"),angular.module("ngTranslate").provider("$translate",["$STORAGE_KEY",function(e){var r,t,n,a,o,s={},i=e,u=[],l=".",c={forUrl:function(e){return["$http","$q",function(r,t){return function(n){var a=t.defer();return r({url:e,params:{lang:n},method:"GET"}).success(function(e){a.resolve(e)}).error(function(){a.reject(n)}),a.promise}}]},byStaticFiles:function(e,r){return["$http","$q",function(t,n){return function(a){var o=n.defer();return t({url:[e,a,r].join(""),method:"GET",params:""}).success(function(e){o.resolve(e)}).error(function(){o.reject(a)}),o.promise}}]}},g=function(e,r){if(!e&&!r)return s;if(e&&!r){if(angular.isString(e))return s[e];angular.extend(s,f(e))}else angular.isObject(s[e])||(s[e]={}),angular.extend(s[e],f(r))},f=function(e,r,t){var n,a,o;r||(r=[]),t||(t={});for(n in e)e.hasOwnProperty(n)&&(o=e[n],angular.isObject(o)?f(o,r.concat(n),t):(a=r.length?""+r.join(l)+l+n:n,t[a]=o));return t},d=function(e,r){var t,n=e.get("$q").defer(),a=u[0];return a?(t=e.invoke(a),angular.isFunction(t)?t(r).then(function(e){g(r,e),n.resolve(e)},function(e){n.reject(e)}):n.reject(r)):n.reject(r),n.promise};this.translations=g,this.preferredLanguage=function(e){return e?(r=e,void 0):r},this.uses=function(e){if(!e)return t;if(!s[e]&&!u.length)throw Error("$translateProvider couldn't find translationTable for langKey: '"+e+"'");t=e};var h=function(e){return e?(i=e,void 0):a?a+i:i};this.storageKey=h,this.missingTranslationHandler=function(e){return angular.isUndefined(e)?o:(o=e,void 0)},this.registerLoader=function(e){if(!e)throw Error("Please define a valid loader!");var r;if(angular.isFunction(e)||angular.isArray(e))r=e;else switch(angular.isString(e)&&(e={type:"url",url:e}),e.type){case"url":r=c.forUrl(e.url);break;case"static-files":r=c.byStaticFiles(e.prefix,e.suffix)}u.push(r)},this.useLoaderFactory=function(e){this.registerLoader(e)},this.useLocalStorage=function(){this.useStorage("$translateLocalStorage")},this.useCookieStorage=function(){this.useStorage("$translateCookieStorage")},this.useStorage=function(e){n=e},this.storagePrefix=function(e){return e?(a=e,void 0):e},this.$get=["$interpolate","$log","$injector","$rootScope","$q",function(e,a,i,l,c){var g;if(n&&(g=i.get(n),!g.get||!g.set))throw Error("Couldn't use storage '"+n+"', missing get() or set() method!");var f=function(r,n){var i=t?s[t]?s[t][r]:r:s[r];return i?e(i)(n):(angular.isUndefined(o)?a.warn("Translation for "+r+" doesn't exist"):o(r),r)};return f.preferredLanguage=function(){return r},f.storage=function(){return g},f.uses=function(e){if(!e)return t;var r=c.defer();return s[e]?(t=e,n&&g.set(f.storageKey(),t),r.resolve(t),l.$broadcast("translationChangeSuccess"),r.promise):(d(i,e).then(function(){t=e,n&&g.set(f.storageKey(),t),l.$broadcast("translationChangeSuccess"),r.resolve(t)},function(e){l.$broadcast("translationChangeError"),r.reject(e)}),r.promise)},f.storageKey=function(){return h()},u.length&&angular.equals(s,{})&&f.uses(f.uses()),f}]}]),angular.module("ngTranslate").directive("translate",["$filter","$interpolate",function(e,r){var t=e("translate");return{restrict:"A",scope:!0,link:function(e,n,a){a.$observe("translate",function(t){e.translationId=angular.equals(t,"")?r(n.text().replace(/^\s+|\s+$/g,""))(e.$parent):t}),a.$observe("values",function(r){e.interpolateParams=r}),e.$on("translationChangeSuccess",function(){n.html(t(e.translationId,e.interpolateParams))}),e.$watch("translationId + interpolateParams",function(r){r&&n.html(t(e.translationId,e.interpolateParams))})}}}]),angular.module("ngTranslate").filter("translate",["$parse","$translate",function(e,r){return function(t,n){return angular.isObject(n)||(n=e(n)()),r(t,n)}}]),angular.module("ngTranslate").factory("$translateCookieStorage",["$cookieStore",function(e){var r={get:function(r){return e.get(r)},set:function(r,t){e.put(r,t)}};return r}]),angular.module("ngTranslate").factory("$translateLocalStorage",["$window","$translateCookieStorage",function(e,r){var t={get:function(r){return e.localStorage.getItem(r)},set:function(r,t){e.localStorage.setItem(r,t)}},n="localStorage"in e&&null!==e.localStorage?t:r;return n}]);