Difference between revisions of "Team:Bordeaux/Design"

Line 173: Line 173:
 
         </div>
 
         </div>
 
     </div>
 
     </div>
 +
 +
 +
 +
                    <plasmid id="pdemo" class="plasmid" plasmidheight="450" plasmidwidth="600" sequence="{{sequence}}">
 +
                        <plasmidtrack trackclass="track" radius="{{radius}}" width="25">
 +
 +
                            <tracklabel labelclass="tracklabeltitle" text="pHS1" vadjust="-10"></tracklabel>
 +
                            <tracklabel labelclass="tracklabelbody" text="{{api.plasmid('pdemo').sequencelength}} bp" vadjust="25"></tracklabel>
 +
                            <tracklabel labelclass="tracklabelsmall" text="( Click a marker )" vadjust="50"></tracklabel>
 +
                            <trackscale interval="10" tickclass="scale-minor"></trackscale>
 +
                            <trackscale interval="50" tickclass="scale-major" showlabels="1" labelclass="scale-majortext"></trackscale>
 +
 +
                            <!-- Non-Coding Regions -->
 +
                            <trackmarker start="710" end="800" markerclass="noncodingregion" vadjust="55" arrowendlength="4" arrowendwidth="4" arrowstartlength="4" arrowstartwidth="4" wadjust="-10">
 +
                                <markerlabel labelclass="noncodinglabel" style="font-weight:400;kerning:2" text="710 - 800" type="path" vadjust="1"></markerlabel>
 +
                                <markerlabel labelclass="noncodinglabel" text="Non-Coding" vadjust="35" hadjust="0"></markerlabel>
 +
                                <markerlabel labelclass="noncodinglabel" text="Region" vadjust="35" hadjust="-3"></markerlabel>
 +
                            </trackmarker>
 +
 +
                            <!-- HindIII and Primers -->
 +
                            <trackmarker markerclass="markerhover" start="{{featurePos-100}}" end="{{featurePos-1}}" style="fill:rgba(255,0,0,0.4)" arrowendlength="4" wadjust="8" vadjust="-4"  markerclick="markerClick($event,$marker)">
 +
                                <markerlabel labelclass="markerlabel" text="FORWARD" type="path" style="fill:#fff" vadjust="5"></markerlabel>
 +
                                <markerlabel labelclass="markerlabel" text="Primer" type="path" style="fill:#fff" vadjust="-5"></markerlabel>
 +
                            </trackmarker>
 +
                            <trackmarker start="75" style="stroke:#c00;stroke-width:2px" wadjust="12" vadjust="-6">
 +
                                    <markerlabel labelclass="featurelabel" text="BamHI" type="path" valign="outer" hadjust="-2" vadjust="38"></markerlabel>
 +
                                    <svgelement type="a" xlink:href="http://en.wikipedia.org/wiki/BamHI" target="_blank">
 +
                                        <markerlabel labelclass="featurelabel" style="font-size:11px;font-weight:300" text="Click for details..." type="path" valign="outer" hadjust="-2" vadjust="25" showline="1" linestyle="stroke:#666;stroke-dasharray:2,2" linevadjust="-10"></markerlabel>
 +
                                    </svgelement>
 +
                                <markerlabel labelclass="featurelabel" text="75" type="path" valign="inner" vadjust="-5"></markerlabel>
 +
                            </trackmarker>
 +
                            <trackmarker start="{{featurePos}}" style="stroke:#c00;stroke-width:2px" wadjust="12" vadjust="-6">
 +
                                <svgelement type="a" xlink:href="http://en.wikipedia.org/wiki/EcoRI" target="_blank"><markerlabel labelclass="featurelabel" text="EcoRI" type="path" valign="outer" hadjust="2" vadjust="30" showline="1" linestyle="stroke:#666;stroke-dasharray:2,2" linevadjust="-10"></markerlabel></svgelement>
 +
                                <markerlabel labelclass="featurelabel" text="{{featurePos}}" type="path" valign="inner" vadjust="-5"></markerlabel>
 +
                            </trackmarker>
 +
                            <trackmarker  markerclass="markerhover" start="{{featurePos+1}}" end="{{featurePos + 120}}" style="fill:rgba(128,0,0,0.4)" arrowstartlength="4" wadjust="8" vadjust="-4"  markerclick="markerClick($event,$marker)">
 +
                                <markerlabel labelclass="markerlabel" text="REVERSE" type="path" style="fill:#fff" vadjust="5"></markerlabel>
 +
                                <markerlabel labelclass="markerlabel" text="Primer" type="path" style="fill:#fff" vadjust="-5"></markerlabel>
 +
                            </trackmarker>
 +
 +
                            <!-- Sequencing Region -->
 +
                            <trackmarker markerclass="markerhover" start="{{sequenceRegion.start}}" end="{{sequenceRegion.end}}" style="fill:rgba(0,128,0,0.1)" wadjust="30" markerclick="markerClick($event,$marker)">
 +
                                <markerlabel labelclass="regionlabel" text="Sequencing Region" type="path" style="fill:rgba(0,128,0,.6)" vadjust="40"></markerlabel>
 +
                            </trackmarker>
 +
                            <trackmarker start="{{sequenceRegion.start}}" style="stroke:rgba(0,64,0,0.5);stroke-dasharray:3,1;" wadjust="30">
 +
                                <markerlabel labelclass="regionlabel" text="{{sequenceRegion.start}}" type="path" style="fill:rgba(0,128,0,.6)" valign="inner" vadjust="-5"></markerlabel>
 +
                            </trackmarker>
 +
                            <trackmarker start="{{sequenceRegion.end}}" style="stroke:rgba(0,64,0,0.5);stroke-dasharray:3,1;" wadjust="30">
 +
                                <markerlabel labelclick="labelClick($event,$label)" labelclass="regionlabel" text="{{sequenceRegion.end}}" type="path" style="fill:rgba(0,128,0,.6)" valign="inner" vadjust="-5"></markerlabel>
 +
                            </trackmarker>
 +
 +
                            <!-- TARGET PROTEINS -->
 +
                            <trackmarker start="{{featureStart}}" end="{{featureEnd}}" style="fill:rgba(0,0,128,.4)" vadjust="3" arrowendlength="4" arrowendwidth="4" wadjust="-5">
 +
                                <markerlabel text="TARGET PROTEINS" type="path" style="fill:rgba(0,0,64,.7);font-size:12px;font-weight:700" vadjust="45"></markerlabel>                           
 +
                            </trackmarker>
 +
                            <trackmarker markerclass="markerhover" ng-repeat="m in featureMarkers" style="fill:rgba(0,0,128,.4)" start="{{m.start}}" end="{{m.end}}" wadjust="8" vadjust="-4" markerclick="markerClick($event, $marker)">
 +
                                <markerlabel labelclass="markerlabel" text="{{m.text}}" style="fill:#fff;font-weight:700" ></markerlabel>
 +
                            </trackmarker>
 +
                            <trackmarker start="{{featureStart}}" style="stroke:rgba(0,0,64,.7);stroke-width:2px;stroke-dasharray:4,2" vadjust="-7" wadjust="15">
 +
                                <markerlabel text="{{featureStart}}" style="fill:rgba(0,0,64,.7);font-size:11px;font-weight:700" vadjust="-35"></markerlabel>                           
 +
                            </trackmarker>
 +
                            <trackmarker start="{{featureEnd}}" style="stroke:rgba(0,0,64,.7);stroke-width:2px;stroke-dasharray:4,2" vadjust="-7" wadjust="15">
 +
                                <markerlabel text="{{featureEnd}}" style="fill:rgba(0,0,64,.7);font-size:11px;font-weight:700" vadjust="-35"></markerlabel>                           
 +
                            </trackmarker>
 +
 +
                        </plasmidtrack>
 +
                    </plasmid>
 +
 +
 +
 +
 +
 +
 +
 +
 +
<script>
 +
!function(t,e,n){"use strict";function r(t,e){return e=e||Error,function(){var n,r,i=arguments[0],a="["+(t?t+":":"")+i+"] ",o=arguments[1],s=arguments;for(n=a+o.replace(/\{\d+\}/g,function(t){var e=+t.slice(1,-1);return e+2<s.length?de(s[e+2]):t}),n=n+"\nhttp://errors.angularjs.org/1.3.13/"+(t?t+"/":"")+i,r=2;r<arguments.length;r++)n=n+(2==r?"?":"&")+"p"+(r-2)+"="+encodeURIComponent(de(arguments[r]));return new e(n)}}function i(t){if(null==t||C(t))return!1;var e=t.length;return t.nodeType===gi&&e?!0:b(t)||ci(t)||0===e||"number"==typeof e&&e>0&&e-1 in t}function a(t,e,n){var r,o;if(t)if(k(t))for(r in t)"prototype"==r||"length"==r||"name"==r||t.hasOwnProperty&&!t.hasOwnProperty(r)||e.call(n,t[r],r,t);else if(ci(t)||i(t)){var s="object"!=typeof t;for(r=0,o=t.length;o>r;r++)(s||r in t)&&e.call(n,t[r],r,t)}else if(t.forEach&&t.forEach!==a)t.forEach(e,n,t);else for(r in t)t.hasOwnProperty(r)&&e.call(n,t[r],r,t);return t}function o(t){return Object.keys(t).sort()}function s(t,e,n){for(var r=o(t),i=0;i<r.length;i++)e.call(n,t[r[i]],r[i]);return r}function u(t){return function(e,n){t(n,e)}}function l(){return++ui}function c(t,e){e?t.$$hashKey=e:delete t.$$hashKey}function f(t){for(var e=t.$$hashKey,n=1,r=arguments.length;r>n;n++){var i=arguments[n];if(i)for(var a=Object.keys(i),o=0,s=a.length;s>o;o++){var u=a[o];t[u]=i[u]}}return c(t,e),t}function d(t){return parseInt(t,10)}function h(t,e){return f(Object.create(t),e)}function p(){}function $(t){return t}function m(t){return function(){return t}}function g(t){return"undefined"==typeof t}function v(t){return"undefined"!=typeof t}function y(t){return null!==t&&"object"==typeof t}function b(t){return"string"==typeof t}function w(t){return"number"==typeof t}function x(t){return"[object Date]"===ai.call(t)}function k(t){return"function"==typeof t}function S(t){return"[object RegExp]"===ai.call(t)}function C(t){return t&&t.window===t}function A(t){return t&&t.$evalAsync&&t.$watch}function O(t){return"[object File]"===ai.call(t)}function E(t){return"[object FormData]"===ai.call(t)}function j(t){return"[object Blob]"===ai.call(t)}function N(t){return"boolean"==typeof t}function T(t){return t&&k(t.then)}function M(t){return!(!t||!(t.nodeName||t.prop&&t.attr&&t.find))}function P(t){var e,n={},r=t.split(",");for(e=0;e<r.length;e++)n[r[e]]=!0;return n}function V(t){return Wr(t.nodeName||t[0]&&t[0].nodeName)}function q(t,e){var n=t.indexOf(e);return n>=0&&t.splice(n,1),e}function D(t,e,n,r){if(C(t)||A(t))throw oi("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");if(e){if(t===e)throw oi("cpi","Can't copy! Source and destination are identical.");if(n=n||[],r=r||[],y(t)){var i=n.indexOf(t);if(-1!==i)return r[i];n.push(t),r.push(e)}var o;if(ci(t)){e.length=0;for(var s=0;s<t.length;s++)o=D(t[s],null,n,r),y(t[s])&&(n.push(t[s]),r.push(o)),e.push(o)}else{var u=e.$$hashKey;ci(e)?e.length=0:a(e,function(t,n){delete e[n]});for(var l in t)t.hasOwnProperty(l)&&(o=D(t[l],null,n,r),y(t[l])&&(n.push(t[l]),r.push(o)),e[l]=o);c(e,u)}}else if(e=t,t)if(ci(t))e=D(t,[],n,r);else if(x(t))e=new Date(t.getTime());else if(S(t))e=new RegExp(t.source,t.toString().match(/[^\/]*$/)[0]),e.lastIndex=t.lastIndex;else if(y(t)){var f=Object.create(Object.getPrototypeOf(t));e=D(t,f,n,r)}return e}function R(t,e){if(ci(t)){e=e||[];for(var n=0,r=t.length;r>n;n++)e[n]=t[n]}else if(y(t)){e=e||{};for(var i in t)("$"!==i.charAt(0)||"$"!==i.charAt(1))&&(e[i]=t[i])}return e||t}function I(t,e){if(t===e)return!0;if(null===t||null===e)return!1;if(t!==t&&e!==e)return!0;var r,i,a,o=typeof t,s=typeof e;if(o==s&&"object"==o){if(!ci(t)){if(x(t))return x(e)?I(t.getTime(),e.getTime()):!1;if(S(t)&&S(e))return t.toString()==e.toString();if(A(t)||A(e)||C(t)||C(e)||ci(e))return!1;a={};for(i in t)if("$"!==i.charAt(0)&&!k(t[i])){if(!I(t[i],e[i]))return!1;a[i]=!0}for(i in e)if(!a.hasOwnProperty(i)&&"$"!==i.charAt(0)&&e[i]!==n&&!k(e[i]))return!1;return!0}if(!ci(e))return!1;if((r=t.length)==e.length){for(i=0;r>i;i++)if(!I(t[i],e[i]))return!1;return!0}}return!1}function _(t,e,n){return t.concat(ni.call(e,n))}function U(t,e){return ni.call(t,e||0)}function L(t,e){var n=arguments.length>2?U(arguments,2):[];return!k(e)||e instanceof RegExp?e:n.length?function(){return arguments.length?e.apply(t,_(n,arguments,0)):e.apply(t,n)}:function(){return arguments.length?e.apply(t,arguments):e.call(t)}}function F(t,r){var i=r;return"string"==typeof t&&"$"===t.charAt(0)&&"$"===t.charAt(1)?i=n:C(r)?i="$WINDOW":r&&e===r?i="$DOCUMENT":A(r)&&(i="$SCOPE"),i}function H(t,e){return"undefined"==typeof t?n:(w(e)||(e=e?2:null),JSON.stringify(t,F,e))}function B(t){return b(t)?JSON.parse(t):t}function z(t){t=Qr(t).clone();try{t.empty()}catch(e){}var n=Qr("<div>").append(t).html();try{return t[0].nodeType===vi?Wr(n):n.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(t,e){return"<"+Wr(e)})}catch(e){return Wr(n)}}function G(t){try{return decodeURIComponent(t)}catch(e){}}function W(t){var e,n,r={};return a((t||"").split("&"),function(t){if(t&&(e=t.replace(/\+/g,"%20").split("="),n=G(e[0]),v(n))){var i=v(e[1])?G(e[1]):!0;Jr.call(r,n)?ci(r[n])?r[n].push(i):r[n]=[r[n],i]:r[n]=i}}),r}function J(t){var e=[];return a(t,function(t,n){ci(t)?a(t,function(t){e.push(Z(n,!0)+(t===!0?"":"="+Z(t,!0)))}):e.push(Z(n,!0)+(t===!0?"":"="+Z(t,!0)))}),e.length?e.join("&"):""}function Y(t){return Z(t,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function Z(t,e){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,e?"%20":"+")}function K(t,e){var n,r,i=pi.length;for(t=Qr(t),r=0;i>r;++r)if(n=pi[r]+e,b(n=t.attr(n)))return n;return null}function X(t,e){var n,r,i={};a(pi,function(e){var i=e+"app";!n&&t.hasAttribute&&t.hasAttribute(i)&&(n=t,r=t.getAttribute(i))}),a(pi,function(e){var i,a=e+"app";!n&&(i=t.querySelector("["+a.replace(":","\\:")+"]"))&&(n=i,r=i.getAttribute(a))}),n&&(i.strictDi=null!==K(n,"strict-di"),e(n,r?[r]:[],i))}function Q(n,r,i){y(i)||(i={});var o={strictDi:!1};i=f(o,i);var s=function(){if(n=Qr(n),n.injector()){var t=n[0]===e?"document":z(n);throw oi("btstrpd","App Already Bootstrapped with this Element '{0}'",t.replace(/</,"&lt;").replace(/>/,"&gt;"))}r=r||[],r.unshift(["$provide",function(t){t.value("$rootElement",n)}]),i.debugInfoEnabled&&r.push(["$compileProvider",function(t){t.debugInfoEnabled(!0)}]),r.unshift("ng");var a=Be(r,i.strictDi);return a.invoke(["$rootScope","$rootElement","$compile","$injector",function(t,e,n,r){t.$apply(function(){e.data("$injector",r),n(e)(t)})}]),a},u=/^NG_ENABLE_DEBUG_INFO!/,l=/^NG_DEFER_BOOTSTRAP!/;return t&&u.test(t.name)&&(i.debugInfoEnabled=!0,t.name=t.name.replace(u,"")),t&&!l.test(t.name)?s():(t.name=t.name.replace(l,""),si.resumeBootstrap=function(t){return a(t,function(t){r.push(t)}),s()},k(si.resumeDeferredBootstrap)&&si.resumeDeferredBootstrap(),void 0)}function te(){t.name="NG_ENABLE_DEBUG_INFO!"+t.name,t.location.reload()}function ee(t){var e=si.element(t).injector();if(!e)throw oi("test","no injector found for element argument to getTestability");return e.get("$$testability")}function ne(t,e){return e=e||"_",t.replace($i,function(t,n){return(n?e:"")+t.toLowerCase()})}function re(){var e;mi||(ti=t.jQuery,ti&&ti.fn.on?(Qr=ti,f(ti.fn,{scope:Di.scope,isolateScope:Di.isolateScope,controller:Di.controller,injector:Di.injector,inheritedData:Di.inheritedData}),e=ti.cleanData,ti.cleanData=function(t){var n;if(li)li=!1;else for(var r,i=0;null!=(r=t[i]);i++)n=ti._data(r,"events"),n&&n.$destroy&&ti(r).triggerHandler("$destroy");e(t)}):Qr=be,si.element=Qr,mi=!0)}function ie(t,e,n){if(!t)throw oi("areq","Argument '{0}' is {1}",e||"?",n||"required");return t}function ae(t,e,n){return n&&ci(t)&&(t=t[t.length-1]),ie(k(t),e,"not a function, got "+(t&&"object"==typeof t?t.constructor.name||"Object":typeof t)),t}function oe(t,e){if("hasOwnProperty"===t)throw oi("badname","hasOwnProperty is not a valid {0} name",e)}function se(t,e,n){if(!e)return t;for(var r,i=e.split("."),a=t,o=i.length,s=0;o>s;s++)r=i[s],t&&(t=(a=t)[r]);return!n&&k(t)?L(a,t):t}function ue(t){var e=t[0],n=t[t.length-1],r=[e];do{if(e=e.nextSibling,!e)break;r.push(e)}while(e!==n);return Qr(r)}function le(){return Object.create(null)}function ce(t){function e(t,e,n){return t[e]||(t[e]=n())}var n=r("$injector"),i=r("ng"),a=e(t,"angular",Object);return a.$$minErr=a.$$minErr||r,e(a,"module",function(){var t={};return function(r,a,o){var s=function(t,e){if("hasOwnProperty"===t)throw i("badname","hasOwnProperty is not a valid {0} name",e)};return s(r,"module"),a&&t.hasOwnProperty(r)&&(t[r]=null),e(t,r,function(){function t(t,n,r,i){return i||(i=e),function(){return i[r||"push"]([t,n,arguments]),l}}if(!a)throw n("nomod","Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.",r);var e=[],i=[],s=[],u=t("$injector","invoke","push",i),l={_invokeQueue:e,_configBlocks:i,_runBlocks:s,requires:a,name:r,provider:t("$provide","provider"),factory:t("$provide","factory"),service:t("$provide","service"),value:t("$provide","value"),constant:t("$provide","constant","unshift"),animation:t("$animateProvider","register"),filter:t("$filterProvider","register"),controller:t("$controllerProvider","register"),directive:t("$compileProvider","directive"),config:u,run:function(t){return s.push(t),this}};return o&&u(o),l})}})}function fe(t){var e=[];return JSON.stringify(t,function(t,n){if(n=F(t,n),y(n)){if(e.indexOf(n)>=0)return"<<already seen>>";e.push(n)}return n})}function de(t){return"function"==typeof t?t.toString().replace(/ \{[\s\S]*$/,""):"undefined"==typeof t?"undefined":"string"!=typeof t?fe(t):t}function he(e){f(e,{bootstrap:Q,copy:D,extend:f,equals:I,element:Qr,forEach:a,injector:Be,noop:p,bind:L,toJson:H,fromJson:B,identity:$,isUndefined:g,isDefined:v,isString:b,isFunction:k,isObject:y,isNumber:w,isElement:M,isArray:ci,version:xi,isDate:x,lowercase:Wr,uppercase:Yr,callbacks:{counter:0},getTestability:ee,$$minErr:r,$$csp:hi,reloadWithDebugInfo:te}),ei=ce(t);try{ei("ngLocale")}catch(n){ei("ngLocale",[]).provider("$locale",gn)}ei("ng",["ngLocale"],["$provide",function(t){t.provider({$$sanitizeUri:Yn}),t.provider("$compile",Ke).directive({a:Ea,input:za,textarea:za,form:Pa,script:qo,select:Io,style:Uo,option:_o,ngBind:Ja,ngBindHtml:Za,ngBindTemplate:Ya,ngClass:Xa,ngClassEven:to,ngClassOdd:Qa,ngCloak:eo,ngController:no,ngForm:Va,ngHide:jo,ngIf:ao,ngInclude:oo,ngInit:uo,ngNonBindable:ko,ngPluralize:So,ngRepeat:Co,ngShow:Eo,ngStyle:No,ngSwitch:To,ngSwitchWhen:Mo,ngSwitchDefault:Po,ngOptions:Ro,ngTransclude:Vo,ngModel:bo,ngList:lo,ngChange:Ka,pattern:Fo,ngPattern:Fo,required:Lo,ngRequired:Lo,minlength:Bo,ngMinlength:Bo,maxlength:Ho,ngMaxlength:Ho,ngValue:Wa,ngModelOptions:xo}).directive({ngInclude:so}).directive(ja).directive(ro),t.provider({$anchorScroll:ze,$animate:Gi,$browser:Je,$cacheFactory:Ye,$controller:en,$document:nn,$exceptionHandler:rn,$filter:sr,$interpolate:$n,$interval:mn,$http:fn,$httpBackend:hn,$location:Tn,$log:Mn,$parse:Hn,$rootScope:Jn,$q:Bn,$$q:zn,$sce:Qn,$sceDelegate:Xn,$sniffer:tr,$templateCache:Ze,$templateRequest:er,$$testability:nr,$timeout:rr,$window:or,$$rAF:Wn,$$asyncCallback:Ge,$$jqLite:_e})}])}function pe(){return++Si}function $e(t){return t.replace(Oi,function(t,e,n,r){return r?n.toUpperCase():n}).replace(Ei,"Moz$1")}function me(t){return!Mi.test(t)}function ge(t){var e=t.nodeType;return e===gi||!e||e===bi}function ve(t,e){var n,r,i,o,s=e.createDocumentFragment(),u=[];if(me(t))u.push(e.createTextNode(t));else{for(n=n||s.appendChild(e.createElement("div")),r=(Pi.exec(t)||["",""])[1].toLowerCase(),i=qi[r]||qi._default,n.innerHTML=i[1]+t.replace(Vi,"<$1></$2>")+i[2],o=i[0];o--;)n=n.lastChild;u=_(u,n.childNodes),n=s.firstChild,n.textContent=""}return s.textContent="",s.innerHTML="",a(u,function(t){s.appendChild(t)}),s}function ye(t,n){n=n||e;var r;return(r=Ti.exec(t))?[n.createElement(r[1])]:(r=ve(t,n))?r.childNodes:[]}function be(t){if(t instanceof be)return t;var e;if(b(t)&&(t=fi(t),e=!0),!(this instanceof be)){if(e&&"<"!=t.charAt(0))throw Ni("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new be(t)}e?Ne(this,ye(t)):Ne(this,t)}function we(t){return t.cloneNode(!0)}function xe(t,e){if(e||Se(t),t.querySelectorAll)for(var n=t.querySelectorAll("*"),r=0,i=n.length;i>r;r++)Se(n[r])}function ke(t,e,n,r){if(v(r))throw Ni("offargs","jqLite#off() does not support the `selector` argument");var i=Ce(t),o=i&&i.events,s=i&&i.handle;if(s)if(e)a(e.split(" "),function(e){if(v(n)){var r=o[e];if(q(r||[],n),r&&r.length>0)return}Ai(t,e,s),delete o[e]});else for(e in o)"$destroy"!==e&&Ai(t,e,s),delete o[e]}function Se(t,e){var r=t.ng339,i=r&&ki[r];if(i){if(e)return delete i.data[e],void 0;i.handle&&(i.events.$destroy&&i.handle({},"$destroy"),ke(t)),delete ki[r],t.ng339=n}}function Ce(t,e){var r=t.ng339,i=r&&ki[r];return e&&!i&&(t.ng339=r=pe(),i=ki[r]={events:{},data:{},handle:n}),i}function Ae(t,e,n){if(ge(t)){var r=v(n),i=!r&&e&&!y(e),a=!e,o=Ce(t,!i),s=o&&o.data;if(r)s[e]=n;else{if(a)return s;if(i)return s&&s[e];f(s,e)}}}function Oe(t,e){return t.getAttribute?(" "+(t.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+e+" ")>-1:!1}function Ee(t,e){e&&t.setAttribute&&a(e.split(" "),function(e){t.setAttribute("class",fi((" "+(t.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+fi(e)+" "," ")))})}function je(t,e){if(e&&t.setAttribute){var n=(" "+(t.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");a(e.split(" "),function(t){t=fi(t),-1===n.indexOf(" "+t+" ")&&(n+=t+" ")}),t.setAttribute("class",fi(n))}}function Ne(t,e){if(e)if(e.nodeType)t[t.length++]=e;else{var n=e.length;if("number"==typeof n&&e.window!==e){if(n)for(var r=0;n>r;r++)t[t.length++]=e[r]}else t[t.length++]=e}}function Te(t,e){return Me(t,"$"+(e||"ngController")+"Controller")}function Me(t,e,r){t.nodeType==bi&&(t=t.documentElement);for(var i=ci(e)?e:[e];t;){for(var a=0,o=i.length;o>a;a++)if((r=Qr.data(t,i[a]))!==n)return r;t=t.parentNode||t.nodeType===wi&&t.host}}function Pe(t){for(xe(t,!0);t.firstChild;)t.removeChild(t.firstChild)}function Ve(t,e){e||xe(t);var n=t.parentNode;n&&n.removeChild(t)}function qe(e,n){n=n||t,"complete"===n.document.readyState?n.setTimeout(e):Qr(n).on("load",e)}function De(t,e){var n=Ri[e.toLowerCase()];return n&&Ii[V(t)]&&n}function Re(t,e){var n=t.nodeName;return("INPUT"===n||"TEXTAREA"===n)&&_i[e]}function Ie(t,e){var n=function(n,r){n.isDefaultPrevented=function(){return n.defaultPrevented};var i=e[r||n.type],a=i?i.length:0;if(a){if(g(n.immediatePropagationStopped)){var o=n.stopImmediatePropagation;n.stopImmediatePropagation=function(){n.immediatePropagationStopped=!0,n.stopPropagation&&n.stopPropagation(),o&&o.call(n)}}n.isImmediatePropagationStopped=function(){return n.immediatePropagationStopped===!0},a>1&&(i=R(i));for(var s=0;a>s;s++)n.isImmediatePropagationStopped()||i[s].call(t,n)}};return n.elem=t,n}function _e(){this.$get=function(){return f(be,{hasClass:function(t,e){return t.attr&&(t=t[0]),Oe(t,e)},addClass:function(t,e){return t.attr&&(t=t[0]),je(t,e)},removeClass:function(t,e){return t.attr&&(t=t[0]),Ee(t,e)}})}}function Ue(t,e){var n=t&&t.$$hashKey;if(n)return"function"==typeof n&&(n=t.$$hashKey()),n;var r=typeof t;return n="function"==r||"object"==r&&null!==t?t.$$hashKey=r+":"+(e||l)():r+":"+t}function Le(t,e){if(e){var n=0;this.nextUid=function(){return++n}}a(t,this.put,this)}function Fe(t){var e=t.toString().replace(Hi,""),n=e.match(Ui);return n?"function("+(n[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function He(t,e,n){var r,i,o,s;if("function"==typeof t){if(!(r=t.$inject)){if(r=[],t.length){if(e)throw b(n)&&n||(n=t.name||Fe(t)),Bi("strictdi","{0} is not using explicit annotation and cannot be invoked in strict mode",n);i=t.toString().replace(Hi,""),o=i.match(Ui),a(o[1].split(Li),function(t){t.replace(Fi,function(t,e,n){r.push(n)})})}t.$inject=r}}else ci(t)?(s=t.length-1,ae(t[s],"fn"),r=t.slice(0,s)):ae(t,"fn",!0);return r}function Be(t,e){function r(t){return function(e,n){return y(e)?(a(e,u(t)),void 0):t(e,n)}}function i(t,e){if(oe(t,"service"),(k(e)||ci(e))&&(e=A.instantiate(e)),!e.$get)throw Bi("pget","Provider '{0}' must define $get factory method.",t);return C[t+w]=e}function o(t,e){return function(){var n=E.invoke(e,this);if(g(n))throw Bi("undef","Provider '{0}' must return a value from $get factory method.",t);return n}}function s(t,e,n){return i(t,{$get:n!==!1?o(t,e):e})}function l(t,e){return s(t,["$injector",function(t){return t.instantiate(e)}])}function c(t,e){return s(t,m(e),!1)}function f(t,e){oe(t,"constant"),C[t]=e,O[t]=e}function d(t,e){var n=A.get(t+w),r=n.$get;n.$get=function(){var t=E.invoke(r,n);return E.invoke(e,null,{$delegate:t})}}function h(t){var e,n=[];return a(t,function(t){function r(t){var e,n;for(e=0,n=t.length;n>e;e++){var r=t[e],i=A.get(r[0]);i[r[1]].apply(i,r[2])}}if(!S.get(t)){S.put(t,!0);try{b(t)?(e=ei(t),n=n.concat(h(e.requires)).concat(e._runBlocks),r(e._invokeQueue),r(e._configBlocks)):k(t)?n.push(A.invoke(t)):ci(t)?n.push(A.invoke(t)):ae(t,"module")}catch(i){throw ci(t)&&(t=t[t.length-1]),i.message&&i.stack&&-1==i.stack.indexOf(i.message)&&(i=i.message+"\n"+i.stack),Bi("modulerr","Failed to instantiate module {0} due to:\n{1}",t,i.stack||i.message||i)}}}),n}function $(t,n){function r(e,r){if(t.hasOwnProperty(e)){if(t[e]===v)throw Bi("cdep","Circular dependency found: {0}",e+" <- "+x.join(" <- "));return t[e]}try{return x.unshift(e),t[e]=v,t[e]=n(e,r)}catch(i){throw t[e]===v&&delete t[e],i}finally{x.shift()}}function i(t,n,i,a){"string"==typeof i&&(a=i,i=null);var o,s,u,l=[],c=Be.$$annotate(t,e,a);for(s=0,o=c.length;o>s;s++){if(u=c[s],"string"!=typeof u)throw Bi("itkn","Incorrect injection token! Expected service name as string, got {0}",u);l.push(i&&i.hasOwnProperty(u)?i[u]:r(u,a))}return ci(t)&&(t=t[o]),t.apply(n,l)}function a(t,e,n){var r=Object.create((ci(t)?t[t.length-1]:t).prototype||null),a=i(t,r,e,n);return y(a)||k(a)?a:r}return{invoke:i,instantiate:a,get:r,annotate:Be.$$annotate,has:function(e){return C.hasOwnProperty(e+w)||t.hasOwnProperty(e)}}}e=e===!0;var v={},w="Provider",x=[],S=new Le([],!0),C={$provide:{provider:r(i),factory:r(s),service:r(l),value:r(c),constant:r(f),decorator:d}},A=C.$injector=$(C,function(t,e){throw si.isString(e)&&x.push(e),Bi("unpr","Unknown provider: {0}",x.join(" <- "))}),O={},E=O.$injector=$(O,function(t,e){var r=A.get(t+w,e);return E.invoke(r.$get,r,n,t)});return a(h(t),function(t){E.invoke(t||p)}),E}function ze(){var t=!0;this.disableAutoScrolling=function(){t=!1},this.$get=["$window","$location","$rootScope",function(e,n,r){function i(t){var e=null;return Array.prototype.some.call(t,function(t){return"a"===V(t)?(e=t,!0):void 0}),e}function a(){var t=s.yOffset;if(k(t))t=t();else if(M(t)){var n=t[0],r=e.getComputedStyle(n);t="fixed"!==r.position?0:n.getBoundingClientRect().bottom}else w(t)||(t=0);return t}function o(t){if(t){t.scrollIntoView();var n=a();if(n){var r=t.getBoundingClientRect().top;e.scrollBy(0,r-n)}}else e.scrollTo(0,0)}function s(){var t,e=n.hash();e?(t=u.getElementById(e))?o(t):(t=i(u.getElementsByName(e)))?o(t):"top"===e&&o(null):o(null)}var u=e.document;return t&&r.$watch(function(){return n.hash()},function(t,e){(t!==e||""!==t)&&qe(function(){r.$evalAsync(s)})}),s}]}function Ge(){this.$get=["$$rAF","$timeout",function(t,e){return t.supported?function(e){return t(e)}:function(t){return e(t,0,!1)}}]}function We(t,e,r,i){function o(t){try{t.apply(null,U(arguments,1))}finally{if(k--,0===k)for(;S.length;)try{S.pop()()}catch(e){r.error(e)}}}function s(t){var e=t.indexOf("#");return-1===e?"":t.substr(e+1)}function u(t,e){!function n(){a(A,function(t){t()}),C=e(n,t)}()}function l(){c(),f()}function c(){O=t.history.state,O=g(O)?null:O,I(O,V)&&(O=V),V=O}function f(){(j!==h.url()||E!==O)&&(j=h.url(),E=O,a(M,function(t){t(h.url(),O)}))}function d(t){try{return decodeURIComponent(t)}catch(e){return t}}var h=this,$=e[0],m=t.location,v=t.history,y=t.setTimeout,w=t.clearTimeout,x={};h.isMock=!1;var k=0,S=[];h.$$completeOutstandingRequest=o,h.$$incOutstandingRequestCount=function(){k++},h.notifyWhenNoOutstandingRequests=function(t){a(A,function(t){t()}),0===k?t():S.push(t)};var C,A=[];h.addPollFn=function(t){return g(C)&&u(100,y),A.push(t),t};var O,E,j=m.href,N=e.find("base"),T=null;c(),E=O,h.url=function(e,n,r){if(g(r)&&(r=null),m!==t.location&&(m=t.location),v!==t.history&&(v=t.history),e){var a=E===r;if(j===e&&(!i.history||a))return h;var o=j&&xn(j)===xn(e);return j=e,E=r,!i.history||o&&a?(o||(T=e),n?m.replace(e):o?m.hash=s(e):m.href=e):(v[n?"replaceState":"pushState"](r,"",e),c(),E=O),h}return T||m.href.replace(/%27/g,"'")},h.state=function(){return O};var M=[],P=!1,V=null;h.onUrlChange=function(e){return P||(i.history&&Qr(t).on("popstate",l),Qr(t).on("hashchange",l),P=!0),M.push(e),e},h.$$checkUrlChange=f,h.baseHref=function(){var t=N.attr("href");return t?t.replace(/^(https?\:)?\/\/[^\/]*/,""):""};var q={},D="",R=h.baseHref();h.cookies=function(t,e){var i,a,o,s,u;if(!t){if($.cookie!==D)for(D=$.cookie,a=D.split("; "),q={},s=0;s<a.length;s++)o=a[s],u=o.indexOf("="),u>0&&(t=d(o.substring(0,u)),q[t]===n&&(q[t]=d(o.substring(u+1))));return q}e===n?$.cookie=encodeURIComponent(t)+"=;path="+R+";expires=Thu, 01 Jan 1970 00:00:00 GMT":b(e)&&(i=($.cookie=encodeURIComponent(t)+"="+encodeURIComponent(e)+";path="+R).length+1,i>4096&&r.warn("Cookie '"+t+"' possibly not set or overflowed because it was too large ("+i+" > 4096 bytes)!"))},h.defer=function(t,e){var n;return k++,n=y(function(){delete x[n],o(t)},e||0),x[n]=!0,n},h.defer.cancel=function(t){return x[t]?(delete x[t],w(t),o(p),!0):!1}}function Je(){this.$get=["$window","$log","$sniffer","$document",function(t,e,n,r){return new We(t,r,e,n)}]}function Ye(){this.$get=function(){function t(t,n){function i(t){t!=d&&(h?h==t&&(h=t.n):h=t,a(t.n,t.p),a(t,d),d=t,d.n=null)}function a(t,e){t!=e&&(t&&(t.p=e),e&&(e.n=t))}if(t in e)throw r("$cacheFactory")("iid","CacheId '{0}' is already taken!",t);var o=0,s=f({},n,{id:t}),u={},l=n&&n.capacity||Number.MAX_VALUE,c={},d=null,h=null;return e[t]={put:function(t,e){if(l<Number.MAX_VALUE){var n=c[t]||(c[t]={key:t});i(n)}if(!g(e))return t in u||o++,u[t]=e,o>l&&this.remove(h.key),e},get:function(t){if(l<Number.MAX_VALUE){var e=c[t];if(!e)return;i(e)}return u[t]},remove:function(t){if(l<Number.MAX_VALUE){var e=c[t];if(!e)return;e==d&&(d=e.p),e==h&&(h=e.n),a(e.n,e.p),delete c[t]}delete u[t],o--},removeAll:function(){u={},o=0,c={},d=h=null},destroy:function(){u=null,s=null,c=null,delete e[t]},info:function(){return f({},s,{size:o})}}}var e={};return t.info=function(){var t={};return a(e,function(e,n){t[n]=e.info()}),t},t.get=function(t){return e[t]},t}}function Ze(){this.$get=["$cacheFactory",function(t){return t("templates")}]}function Ke(t,r){function i(t,e){var n=/^\s*([@&]|=(\*?))(\??)\s*(\w*)\s*$/,r={};return a(t,function(t,i){var a=t.match(n);if(!a)throw Wi("iscp","Invalid isolate scope definition for directive '{0}'. Definition: {... {1}: '{2}' ...}",e,i,t);r[i]={mode:a[1][0],collection:"*"===a[2],optional:"?"===a[3],attrName:a[4]||i}}),r}var o={},s="Directive",l=/^\s*directive\:\s*([\w\-]+)\s+(.*)$/,c=/(([\w\-]+)(?:\:([^;]+))?;?)/,d=P("ngSrc,ngSrcset,src,srcset"),g=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,w=/^(on[a-z]+|formaction)$/;this.directive=function S(e,n){return oe(e,"directive"),b(e)?(ie(n,"directiveFactory"),o.hasOwnProperty(e)||(o[e]=[],t.factory(e+s,["$injector","$exceptionHandler",function(t,n){var r=[];return a(o[e],function(a,o){try{var s=t.invoke(a);k(s)?s={compile:m(s)}:!s.compile&&s.link&&(s.compile=m(s.link)),s.priority=s.priority||0,s.index=o,s.name=s.name||e,s.require=s.require||s.controller&&s.name,s.restrict=s.restrict||"EA",y(s.scope)&&(s.$$isolateBindings=i(s.scope,s.name)),r.push(s)}catch(u){n(u)}}),r}])),o[e].push(n)):a(e,u(S)),this},this.aHrefSanitizationWhitelist=function(t){return v(t)?(r.aHrefSanitizationWhitelist(t),this):r.aHrefSanitizationWhitelist()},this.imgSrcSanitizationWhitelist=function(t){return v(t)?(r.imgSrcSanitizationWhitelist(t),this):r.imgSrcSanitizationWhitelist()};var x=!0;this.debugInfoEnabled=function(t){return v(t)?(x=t,this):x},this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$document","$sce","$animate","$$sanitizeUri",function(t,r,i,u,m,v,S,C,O,E,j){function N(t,e){try{t.addClass(e)}catch(n){}}function T(t,e,n,r,i){t instanceof Qr||(t=Qr(t)),a(t,function(e,n){e.nodeType==vi&&e.nodeValue.match(/\S+/)&&(t[n]=Qr(e).wrap("<span></span>").parent()[0])});var o=P(t,e,t,n,r,i);T.$$addScopeClass(t);var s=null;return function(e,n,r){ie(e,"scope"),r=r||{};var i=r.parentBoundTranscludeFn,a=r.transcludeControllers,u=r.futureParentElement;i&&i.$$boundTransclude&&(i=i.$$boundTransclude),s||(s=M(u));var l;if(l="html"!==s?Qr(X(s,Qr("<div>").append(t).html())):n?Di.clone.call(t):t,a)for(var c in a)l.data("$"+c+"Controller",a[c].instance);return T.$$addScopeInfo(l,e),n&&n(l,e),o&&o(e,l,l,i),l}}function M(t){var e=t&&t[0];return e?"foreignobject"!==V(e)&&e.toString().match(/SVG/)?"svg":"html":"html"}function P(t,e,r,i,a,o){function s(t,r,i,a){var o,s,u,l,c,f,d,h,m;if(p){var g=r.length;for(m=new Array(g),c=0;c<$.length;c+=3)d=$[c],m[d]=r[d]}else m=r;for(c=0,f=$.length;f>c;)u=m[$[c++]],o=$[c++],s=$[c++],o?(o.scope?(l=t.$new(),T.$$addScopeInfo(Qr(u),l)):l=t,h=o.transcludeOnThisElement?D(t,o.transclude,a,o.elementTranscludeOnThisElement):!o.templateOnThisElement&&a?a:!a&&e?D(t,e):null,o(s,l,u,i,h)):s&&s(t,u.childNodes,n,a)}for(var u,l,c,f,d,h,p,$=[],m=0;m<t.length;m++)u=new oe,l=R(t[m],[],u,0===m?i:n,a),c=l.length?F(l,t[m],u,e,r,null,[],[],o):null,c&&c.scope&&T.$$addScopeClass(u.$$element),d=c&&c.terminal||!(f=t[m].childNodes)||!f.length?null:P(f,c?(c.transcludeOnThisElement||!c.templateOnThisElement)&&c.transclude:e),(c||d)&&($.push(m,c,d),h=!0,p=p||c),o=null;return h?s:null}function D(t,e,n){var r=function(r,i,a,o,s){return r||(r=t.$new(!1,s),r.$$transcluded=!0),e(r,i,{parentBoundTranscludeFn:n,transcludeControllers:a,futureParentElement:o})};return r}function R(t,e,n,r,i){var a,o,s=t.nodeType,u=n.$attr;switch(s){case gi:B(e,Xe(V(t)),"E",r,i);for(var f,d,h,p,$,m,g=t.attributes,v=0,w=g&&g.length;w>v;v++){var x=!1,k=!1;f=g[v],d=f.name,$=fi(f.value),p=Xe(d),(m=fe.test(p))&&(d=d.replace(Ji,"").substr(8).replace(/_(.)/g,function(t,e){return e.toUpperCase()}));var S=p.replace(/(Start|End)$/,"");G(S)&&p===S+"Start"&&(x=d,k=d.substr(0,d.length-5)+"end",d=d.substr(0,d.length-6)),h=Xe(d.toLowerCase()),u[h]=d,(m||!n.hasOwnProperty(h))&&(n[h]=$,De(t,h)&&(n[h]=!0)),te(t,e,$,h,m),B(e,h,"A",r,i,x,k)}if(o=t.className,y(o)&&(o=o.animVal),b(o)&&""!==o)for(;a=c.exec(o);)h=Xe(a[2]),B(e,h,"C",r,i)&&(n[h]=fi(a[3])),o=o.substr(a.index+a[0].length);break;case vi:K(e,t.nodeValue);break;case yi:try{a=l.exec(t.nodeValue),a&&(h=Xe(a[1]),B(e,h,"M",r,i)&&(n[h]=fi(a[2])))}catch(C){}}return e.sort(Y),e}function _(t,e,n){var r=[],i=0;if(e&&t.hasAttribute&&t.hasAttribute(e)){do{if(!t)throw Wi("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",e,n);t.nodeType==gi&&(t.hasAttribute(e)&&i++,t.hasAttribute(n)&&i--),r.push(t),t=t.nextSibling}while(i>0)}else r.push(t);return Qr(r)}function L(t,e,n){return function(r,i,a,o,s){return i=_(i[0],e,n),t(r,i,a,o,s)}}function F(t,o,s,u,l,c,f,d,h){function p(t,e,n,r){t&&(n&&(t=L(t,n,r)),t.require=C.require,t.directiveName=O,(V===C||C.$$isolateScope)&&(t=re(t,{isolateScope:!0})),f.push(t)),e&&(n&&(e=L(e,n,r)),e.require=C.require,e.directiveName=O,(V===C||C.$$isolateScope)&&(e=re(e,{isolateScope:!0})),d.push(e))}function $(t,e,n,r){var i,o,s="data",u=!1,l=n;if(b(e)){if(o=e.match(g),e=e.substring(o[0].length),o[3]&&(o[1]?o[3]=null:o[1]=o[3]),"^"===o[1]?s="inheritedData":"^^"===o[1]&&(s="inheritedData",l=n.parent()),"?"===o[2]&&(u=!0),i=null,r&&"data"===s&&(i=r[e])&&(i=i.instance),i=i||l[s]("$"+e+"Controller"),!i&&!u)throw Wi("ctreq","Controller '{0}', required by directive '{1}', can't be found!",e,t);return i||null}return ci(e)&&(i=[],a(e,function(e){i.push($(t,e,n,r))})),i}function w(t,e,i,u,l){function c(t,e,r){var i;return A(t)||(r=e,e=t,t=n),G&&(i=w),r||(r=G?k.parent():k),l(t,e,i,r,j)}var h,p,g,y,b,w,x,k,C;if(o===i?(C=s,k=s.$$element):(k=Qr(i),C=new oe(k,s)),V&&(b=e.$new(!0)),l&&(x=c,x.$$boundTransclude=l),P&&(S={},w={},a(P,function(t){var n,r={$scope:t===V||t.$$isolateScope?b:e,$element:k,$attrs:C,$transclude:x};y=t.controller,"@"==y&&(y=C[t.name]),n=v(y,r,!0,t.controllerAs),w[t.name]=n,G||k.data("$"+t.name+"Controller",n.instance),S[t.name]=n})),V){T.$$addScopeInfo(k,b,!0,!(q&&(q===V||q===V.$$originalDirective))),T.$$addScopeClass(k,!0);var O=S&&S[V.name],E=b;O&&O.identifier&&V.bindToController===!0&&(E=O.instance),a(b.$$isolateBindings=V.$$isolateBindings,function(t,n){var i,a,o,s,u=t.attrName,l=t.optional,c=t.mode;switch(c){case"@":C.$observe(u,function(t){E[n]=t}),C.$$observers[u].$$scope=e,C[u]&&(E[n]=r(C[u])(e));break;case"=":if(l&&!C[u])return;a=m(C[u]),s=a.literal?I:function(t,e){return t===e||t!==t&&e!==e},o=a.assign||function(){throw i=E[n]=a(e),Wi("nonassign","Expression '{0}' used with directive '{1}' is non-assignable!",C[u],V.name)},i=E[n]=a(e);var f=function(t){return s(t,E[n])||(s(t,i)?o(e,t=E[n]):E[n]=t),i=t};f.$stateful=!0;var d;d=t.collection?e.$watchCollection(C[u],f):e.$watch(m(C[u],f),null,a.literal),b.$on("$destroy",d);break;case"&":a=m(C[u]),E[n]=function(t){return a(e,t)}}})}for(S&&(a(S,function(t){t()}),S=null),h=0,p=f.length;p>h;h++)g=f[h],ae(g,g.isolateScope?b:e,k,C,g.require&&$(g.directiveName,g.require,k,w),x);var j=e;for(V&&(V.template||null===V.templateUrl)&&(j=b),t&&t(j,i.childNodes,n,l),h=d.length-1;h>=0;h--)g=d[h],ae(g,g.isolateScope?b:e,k,C,g.require&&$(g.directiveName,g.require,k,w),x)}h=h||{};for(var x,S,C,O,E,j,N,M=-Number.MAX_VALUE,P=h.controllerDirectives,V=h.newIsolateScopeDirective,q=h.templateDirective,D=h.nonTlbTranscludeDirective,F=!1,B=!1,G=h.hasElementTranscludeDirective,Y=s.$$element=Qr(o),K=c,Q=u,te=0,ne=t.length;ne>te;te++){C=t[te];var ie=C.$$start,se=C.$$end;if(ie&&(Y=_(o,ie,se)),E=n,M>C.priority)break;if((N=C.scope)&&(C.templateUrl||(y(N)?(Z("new/isolated scope",V||x,C,Y),V=C):Z("new/isolated scope",V,C,Y)),x=x||C),O=C.name,!C.templateUrl&&C.controller&&(N=C.controller,P=P||{},Z("'"+O+"' controller",P[O],C,Y),P[O]=C),(N=C.transclude)&&(F=!0,C.$$tlb||(Z("transclusion",D,C,Y),D=C),"element"==N?(G=!0,M=C.priority,E=Y,Y=s.$$element=Qr(e.createComment(" "+O+": "+s[O]+" ")),o=Y[0],ee(l,U(E),o),Q=T(E,u,M,K&&K.name,{nonTlbTranscludeDirective:D})):(E=Qr(we(o)).contents(),Y.empty(),Q=T(E,u))),C.template)if(B=!0,Z("template",q,C,Y),q=C,N=k(C.template)?C.template(Y,s):C.template,N=ce(N),C.replace){if(K=C,E=me(N)?[]:tn(X(C.templateNamespace,fi(N))),o=E[0],1!=E.length||o.nodeType!==gi)throw Wi("tplrt","Template for directive '{0}' must have exactly one root element. {1}",O,"");ee(l,Y,o);var ue={$attr:{}},le=R(o,[],ue),fe=t.splice(te+1,t.length-(te+1));V&&H(le),t=t.concat(le).concat(fe),W(s,ue),ne=t.length}else Y.html(N);if(C.templateUrl)B=!0,Z("template",q,C,Y),q=C,C.replace&&(K=C),w=J(t.splice(te,t.length-te),Y,s,l,F&&Q,f,d,{controllerDirectives:P,newIsolateScopeDirective:V,templateDirective:q,nonTlbTranscludeDirective:D}),ne=t.length;else if(C.compile)try{j=C.compile(Y,s,Q),k(j)?p(null,j,ie,se):j&&p(j.pre,j.post,ie,se)}catch(de){i(de,z(Y))}C.terminal&&(w.terminal=!0,M=Math.max(M,C.priority))}return w.scope=x&&x.scope===!0,w.transcludeOnThisElement=F,w.elementTranscludeOnThisElement=G,w.templateOnThisElement=B,w.transclude=Q,h.hasElementTranscludeDirective=G,w}function H(t){for(var e=0,n=t.length;n>e;e++)t[e]=h(t[e],{$$isolateScope:!0})}function B(e,r,a,u,l,c,f){if(r===l)return null;var d=null;if(o.hasOwnProperty(r))for(var p,$=t.get(r+s),m=0,g=$.length;g>m;m++)try{p=$[m],(u===n||u>p.priority)&&-1!=p.restrict.indexOf(a)&&(c&&(p=h(p,{$$start:c,$$end:f})),e.push(p),d=p)
 +
}catch(v){i(v)}return d}function G(e){if(o.hasOwnProperty(e))for(var n,r=t.get(e+s),i=0,a=r.length;a>i;i++)if(n=r[i],n.multiElement)return!0;return!1}function W(t,e){var n=e.$attr,r=t.$attr,i=t.$$element;a(t,function(r,i){"$"!=i.charAt(0)&&(e[i]&&e[i]!==r&&(r+=("style"===i?";":" ")+e[i]),t.$set(i,r,!0,n[i]))}),a(e,function(e,a){"class"==a?(N(i,e),t["class"]=(t["class"]?t["class"]+" ":"")+e):"style"==a?(i.attr("style",i.attr("style")+";"+e),t.style=(t.style?t.style+";":"")+e):"$"==a.charAt(0)||t.hasOwnProperty(a)||(t[a]=e,r[a]=n[a])})}function J(t,e,n,r,i,o,s,l){var c,f,d=[],p=e[0],$=t.shift(),m=h($,{templateUrl:null,transclude:null,replace:null,$$originalDirective:$}),g=k($.templateUrl)?$.templateUrl(e,n):$.templateUrl,v=$.templateNamespace;return e.empty(),u(O.getTrustedResourceUrl(g)).then(function(u){var h,b,w,x;if(u=ce(u),$.replace){if(w=me(u)?[]:tn(X(v,fi(u))),h=w[0],1!=w.length||h.nodeType!==gi)throw Wi("tplrt","Template for directive '{0}' must have exactly one root element. {1}",$.name,g);b={$attr:{}},ee(r,e,h);var k=R(h,[],b);y($.scope)&&H(k),t=k.concat(t),W(n,b)}else h=p,e.html(u);for(t.unshift(m),c=F(t,h,n,i,e,$,o,s,l),a(r,function(t,n){t==h&&(r[n]=e[0])}),f=P(e[0].childNodes,i);d.length;){var S=d.shift(),C=d.shift(),A=d.shift(),O=d.shift(),E=e[0];if(!S.$$destroyed){if(C!==p){var j=C.className;l.hasElementTranscludeDirective&&$.replace||(E=we(h)),ee(A,Qr(C),E),N(Qr(E),j)}x=c.transcludeOnThisElement?D(S,c.transclude,O):O,c(f,S,E,r,x)}}d=null}),function(t,e,n,r,i){var a=i;e.$$destroyed||(d?d.push(e,n,r,a):(c.transcludeOnThisElement&&(a=D(e,c.transclude,i)),c(f,e,n,r,a)))}}function Y(t,e){var n=e.priority-t.priority;return 0!==n?n:t.name!==e.name?t.name<e.name?-1:1:t.index-e.index}function Z(t,e,n,r){if(e)throw Wi("multidir","Multiple directives [{0}, {1}] asking for {2} on: {3}",e.name,n.name,t,z(r))}function K(t,e){var n=r(e,!0);n&&t.push({priority:0,compile:function(t){var e=t.parent(),r=!!e.length;return r&&T.$$addBindingClass(e),function(t,e){var i=e.parent();r||T.$$addBindingClass(i),T.$$addBindingInfo(i,n.expressions),t.$watch(n,function(t){e[0].nodeValue=t})}}})}function X(t,n){switch(t=Wr(t||"html")){case"svg":case"math":var r=e.createElement("div");return r.innerHTML="<"+t+">"+n+"</"+t+">",r.childNodes[0].childNodes;default:return n}}function Q(t,e){if("srcdoc"==e)return O.HTML;var n=V(t);return"xlinkHref"==e||"form"==n&&"action"==e||"img"!=n&&("src"==e||"ngSrc"==e)?O.RESOURCE_URL:void 0}function te(t,e,n,i,a){var o=Q(t,i);a=d[i]||a;var s=r(n,!0,o,a);if(s){if("multiple"===i&&"select"===V(t))throw Wi("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",z(t));e.push({priority:100,compile:function(){return{pre:function(t,e,u){var l=u.$$observers||(u.$$observers={});if(w.test(i))throw Wi("nodomevents","Interpolations for HTML DOM event attributes are disallowed.  Please use the ng- versions (such as ng-click instead of onclick) instead.");var c=u[i];c!==n&&(s=c&&r(c,!0,o,a),n=c),s&&(u[i]=s(t),(l[i]||(l[i]=[])).$$inter=!0,(u.$$observers&&u.$$observers[i].$$scope||t).$watch(s,function(t,e){"class"===i&&t!=e?u.$updateClass(t,e):u.$set(i,t)}))}}}})}}function ee(t,n,r){var i,a,o=n[0],s=n.length,u=o.parentNode;if(t)for(i=0,a=t.length;a>i;i++)if(t[i]==o){t[i++]=r;for(var l=i,c=l+s-1,f=t.length;f>l;l++,c++)f>c?t[l]=t[c]:delete t[l];t.length-=s-1,t.context===o&&(t.context=r);break}u&&u.replaceChild(r,o);var d=e.createDocumentFragment();d.appendChild(o),Qr(r).data(Qr(o).data()),ti?(li=!0,ti.cleanData([o])):delete Qr.cache[o[Qr.expando]];for(var h=1,p=n.length;p>h;h++){var $=n[h];Qr($).remove(),d.appendChild($),delete n[h]}n[0]=r,n.length=1}function re(t,e){return f(function(){return t.apply(null,arguments)},t,e)}function ae(t,e,n,r,a,o){try{t(e,n,r,a,o)}catch(s){i(s,z(n))}}var oe=function(t,e){if(e){var n,r,i,a=Object.keys(e);for(n=0,r=a.length;r>n;n++)i=a[n],this[i]=e[i]}else this.$attr={};this.$$element=t};oe.prototype={$normalize:Xe,$addClass:function(t){t&&t.length>0&&E.addClass(this.$$element,t)},$removeClass:function(t){t&&t.length>0&&E.removeClass(this.$$element,t)},$updateClass:function(t,e){var n=Qe(t,e);n&&n.length&&E.addClass(this.$$element,n);var r=Qe(e,t);r&&r.length&&E.removeClass(this.$$element,r)},$set:function(t,e,r,o){var s,u=this.$$element[0],l=De(u,t),c=Re(u,t),f=t;if(l?(this.$$element.prop(t,e),o=l):c&&(this[c]=e,f=c),this[t]=e,o?this.$attr[t]=o:(o=this.$attr[t],o||(this.$attr[t]=o=ne(t,"-"))),s=V(this.$$element),"a"===s&&"href"===t||"img"===s&&"src"===t)this[t]=e=j(e,"src"===t);else if("img"===s&&"srcset"===t){for(var d="",h=fi(e),p=/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/,$=/\s/.test(h)?p:/(,)/,m=h.split($),g=Math.floor(m.length/2),v=0;g>v;v++){var y=2*v;d+=j(fi(m[y]),!0),d+=" "+fi(m[y+1])}var b=fi(m[2*v]).split(/\s/);d+=j(fi(b[0]),!0),2===b.length&&(d+=" "+fi(b[1])),this[t]=e=d}r!==!1&&(null===e||e===n?this.$$element.removeAttr(o):this.$$element.attr(o,e));var w=this.$$observers;w&&a(w[f],function(t){try{t(e)}catch(n){i(n)}})},$observe:function(t,e){var n=this,r=n.$$observers||(n.$$observers=le()),i=r[t]||(r[t]=[]);return i.push(e),S.$evalAsync(function(){!i.$$inter&&n.hasOwnProperty(t)&&e(n[t])}),function(){q(i,e)}}};var se=r.startSymbol(),ue=r.endSymbol(),ce="{{"==se||"}}"==ue?$:function(t){return t.replace(/\{\{/g,se).replace(/}}/g,ue)},fe=/^ngAttr[A-Z]/;return T.$$addBindingInfo=x?function(t,e){var n=t.data("$binding")||[];ci(e)?n=n.concat(e):n.push(e),t.data("$binding",n)}:p,T.$$addBindingClass=x?function(t){N(t,"ng-binding")}:p,T.$$addScopeInfo=x?function(t,e,n,r){var i=n?r?"$isolateScopeNoTemplate":"$isolateScope":"$scope";t.data(i,e)}:p,T.$$addScopeClass=x?function(t,e){N(t,e?"ng-isolate-scope":"ng-scope")}:p,T}]}function Xe(t){return $e(t.replace(Ji,""))}function Qe(t,e){var n="",r=t.split(/\s+/),i=e.split(/\s+/);t:for(var a=0;a<r.length;a++){for(var o=r[a],s=0;s<i.length;s++)if(o==i[s])continue t;n+=(n.length>0?" ":"")+o}return n}function tn(t){t=Qr(t);var e=t.length;if(1>=e)return t;for(;e--;){var n=t[e];n.nodeType===yi&&ri.call(t,e,1)}return t}function en(){var t={},e=!1,i=/^(\S+)(\s+as\s+(\w+))?$/;this.register=function(e,n){oe(e,"controller"),y(e)?f(t,e):t[e]=n},this.allowGlobals=function(){e=!0},this.$get=["$injector","$window",function(a,o){function s(t,e,n,i){if(!t||!y(t.$scope))throw r("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",i,e);t.$scope[e]=n}return function(r,u,l,c){var d,h,p,$;if(l=l===!0,c&&b(c)&&($=c),b(r)){if(h=r.match(i),!h)throw Yi("ctrlfmt","Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.",r);p=h[1],$=$||h[3],r=t.hasOwnProperty(p)?t[p]:se(u.$scope,p,!0)||(e?se(o,p,!0):n),ae(r,p,!0)}if(l){var m=(ci(r)?r[r.length-1]:r).prototype;return d=Object.create(m||null),$&&s(u,$,d,p||r.name),f(function(){return a.invoke(r,d,u,p),d},{instance:d,identifier:$})}return d=a.instantiate(r,u,p),$&&s(u,$,d,p||r.name),d}}]}function nn(){this.$get=["$window",function(t){return Qr(t.document)}]}function rn(){this.$get=["$log",function(t){return function(){t.error.apply(t,arguments)}}]}function an(t,e){if(b(t)){var n=t.replace(ta,"").trim();if(n){var r=e("Content-Type");(r&&0===r.indexOf(Zi)||on(n))&&(t=B(n))}}return t}function on(t){var e=t.match(Xi);return e&&Qi[e[0]].test(t)}function sn(t){var e,n,r,i=le();return t?(a(t.split("\n"),function(t){r=t.indexOf(":"),e=Wr(fi(t.substr(0,r))),n=fi(t.substr(r+1)),e&&(i[e]=i[e]?i[e]+", "+n:n)}),i):i}function un(t){var e=y(t)?t:n;return function(n){if(e||(e=sn(t)),n){var r=e[Wr(n)];return void 0===r&&(r=null),r}return e}}function ln(t,e,n,r){return k(r)?r(t,e,n):(a(r,function(r){t=r(t,e,n)}),t)}function cn(t){return t>=200&&300>t}function fn(){var t=this.defaults={transformResponse:[an],transformRequest:[function(t){return!y(t)||O(t)||j(t)||E(t)?t:H(t)}],headers:{common:{Accept:"application/json, text/plain, */*"},post:R(Ki),put:R(Ki),patch:R(Ki)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN"},e=!1;this.useApplyAsync=function(t){return v(t)?(e=!!t,this):e};var i=this.interceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope","$q","$injector",function(o,u,l,c,d,h){function p(e){function i(t){var e=f({},t);return e.data=t.data?ln(t.data,t.headers,t.status,u.transformResponse):t.data,cn(t.status)?e:d.reject(e)}function o(t){var e,n={};return a(t,function(t,r){k(t)?(e=t(),null!=e&&(n[r]=e)):n[r]=t}),n}function s(e){var n,r,i,a=t.headers,s=f({},e.headers);a=f({},a.common,a[Wr(e.method)]);t:for(n in a){r=Wr(n);for(i in s)if(Wr(i)===r)continue t;s[n]=a[n]}return o(s)}if(!si.isObject(e))throw r("$http")("badreq","Http request configuration must be an object.  Received: {0}",e);var u=f({method:"get",transformRequest:t.transformRequest,transformResponse:t.transformResponse},e);u.headers=s(e),u.method=Yr(u.method);var l=function(e){var r=e.headers,o=ln(e.data,un(r),n,e.transformRequest);return g(o)&&a(r,function(t,e){"content-type"===Wr(e)&&delete r[e]}),g(e.withCredentials)&&!g(t.withCredentials)&&(e.withCredentials=t.withCredentials),w(e,o).then(i,i)},c=[l,n],h=d.when(u);for(a(A,function(t){(t.request||t.requestError)&&c.unshift(t.request,t.requestError),(t.response||t.responseError)&&c.push(t.response,t.responseError)});c.length;){var p=c.shift(),$=c.shift();h=h.then(p,$)}return h.success=function(t){return h.then(function(e){t(e.data,e.status,e.headers,u)}),h},h.error=function(t){return h.then(null,function(e){t(e.data,e.status,e.headers,u)}),h},h}function $(){a(arguments,function(t){p[t]=function(e,n){return p(f(n||{},{method:t,url:e}))}})}function m(){a(arguments,function(t){p[t]=function(e,n,r){return p(f(r||{},{method:t,url:e,data:n}))}})}function w(r,i){function a(t,n,r,i){function a(){s(n,t,r,i)}h&&(cn(t)?h.put(x,[t,n,sn(r),i]):h.remove(x)),e?c.$applyAsync(a):(a(),c.$$phase||c.$apply())}function s(t,e,n,i){e=Math.max(e,0),(cn(e)?m.resolve:m.reject)({data:t,status:e,headers:un(n),config:r,statusText:i})}function l(t){s(t.data,t.status,R(t.headers()),t.statusText)}function f(){var t=p.pendingRequests.indexOf(r);-1!==t&&p.pendingRequests.splice(t,1)}var h,$,m=d.defer(),b=m.promise,w=r.headers,x=S(r.url,r.params);if(p.pendingRequests.push(r),b.then(f,f),!r.cache&&!t.cache||r.cache===!1||"GET"!==r.method&&"JSONP"!==r.method||(h=y(r.cache)?r.cache:y(t.cache)?t.cache:C),h&&($=h.get(x),v($)?T($)?$.then(l,l):ci($)?s($[1],$[0],R($[2]),$[3]):s($,200,{},"OK"):h.put(x,b)),g($)){var k=ar(r.url)?u.cookies()[r.xsrfCookieName||t.xsrfCookieName]:n;k&&(w[r.xsrfHeaderName||t.xsrfHeaderName]=k),o(r.method,x,i,a,w,r.timeout,r.withCredentials,r.responseType)}return b}function S(t,e){if(!e)return t;var n=[];return s(e,function(t,e){null===t||g(t)||(ci(t)||(t=[t]),a(t,function(t){y(t)&&(t=x(t)?t.toISOString():H(t)),n.push(Z(e)+"="+Z(t))}))}),n.length>0&&(t+=(-1==t.indexOf("?")?"?":"&")+n.join("&")),t}var C=l("$http"),A=[];return a(i,function(t){A.unshift(b(t)?h.get(t):h.invoke(t))}),p.pendingRequests=[],$("get","delete","head","jsonp"),m("post","put","patch"),p.defaults=t,p}]}function dn(){return new t.XMLHttpRequest}function hn(){this.$get=["$browser","$window","$document",function(t,e,n){return pn(t,dn,t.defer,e.angular.callbacks,n[0])}]}function pn(t,e,r,i,o){function s(t,e,n){var r=o.createElement("script"),a=null;return r.type="text/javascript",r.src=t,r.async=!0,a=function(t){Ai(r,"load",a),Ai(r,"error",a),o.body.removeChild(r),r=null;var s=-1,u="unknown";t&&("load"!==t.type||i[e].called||(t={type:"error"}),u=t.type,s="error"===t.type?404:200),n&&n(s,u)},Ci(r,"load",a),Ci(r,"error",a),o.body.appendChild(r),a}return function(o,u,l,c,f,d,h,$){function m(){b&&b(),w&&w.abort()}function g(e,i,a,o,s){S!==n&&r.cancel(S),b=w=null,e(i,a,o,s),t.$$completeOutstandingRequest(p)}if(t.$$incOutstandingRequestCount(),u=u||t.url(),"jsonp"==Wr(o)){var y="_"+(i.counter++).toString(36);i[y]=function(t){i[y].data=t,i[y].called=!0};var b=s(u.replace("JSON_CALLBACK","angular.callbacks."+y),y,function(t,e){g(c,t,i[y].data,"",e),i[y]=p})}else{var w=e();w.open(o,u,!0),a(f,function(t,e){v(t)&&w.setRequestHeader(e,t)}),w.onload=function(){var t=w.statusText||"",e="response"in w?w.response:w.responseText,n=1223===w.status?204:w.status;0===n&&(n=e?200:"file"==ir(u).protocol?404:0),g(c,n,e,w.getAllResponseHeaders(),t)};var x=function(){g(c,-1,null,null,"")};if(w.onerror=x,w.onabort=x,h&&(w.withCredentials=!0),$)try{w.responseType=$}catch(k){if("json"!==$)throw k}w.send(l||null)}if(d>0)var S=r(m,d);else T(d)&&d.then(m)}}function $n(){var t="{{",e="}}";this.startSymbol=function(e){return e?(t=e,this):t},this.endSymbol=function(t){return t?(e=t,this):e},this.$get=["$parse","$exceptionHandler","$sce",function(n,r,i){function a(t){return"\\\\\\"+t}function o(a,o,d,h){function p(n){return n.replace(l,t).replace(c,e)}function $(t){try{return t=j(t),h&&!v(t)?t:N(t)}catch(e){var n=ea("interr","Can't interpolate: {0}\n{1}",a,e.toString());r(n)}}h=!!h;for(var m,y,b,w=0,x=[],S=[],C=a.length,A=[],O=[];C>w;){if(-1==(m=a.indexOf(t,w))||-1==(y=a.indexOf(e,m+s))){w!==C&&A.push(p(a.substring(w)));break}w!==m&&A.push(p(a.substring(w,m))),b=a.substring(m+s,y),x.push(b),S.push(n(b,$)),w=y+u,O.push(A.length),A.push("")}if(d&&A.length>1)throw ea("noconcat","Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required.  See http://docs.angularjs.org/api/ng.$sce",a);if(!o||x.length){var E=function(t){for(var e=0,n=x.length;n>e;e++){if(h&&g(t[e]))return;A[O[e]]=t[e]}return A.join("")},j=function(t){return d?i.getTrusted(d,t):i.valueOf(t)},N=function(t){if(null==t)return"";switch(typeof t){case"string":break;case"number":t=""+t;break;default:t=H(t)}return t};return f(function(t){var e=0,n=x.length,i=new Array(n);try{for(;n>e;e++)i[e]=S[e](t);return E(i)}catch(o){var s=ea("interr","Can't interpolate: {0}\n{1}",a,o.toString());r(s)}},{exp:a,expressions:x,$$watchDelegate:function(t,e,n){var r;return t.$watchGroup(S,function(n,i){var a=E(n);k(e)&&e.call(this,a,n!==i?r:a,t),r=a},n)}})}}var s=t.length,u=e.length,l=new RegExp(t.replace(/./g,a),"g"),c=new RegExp(e.replace(/./g,a),"g");return o.startSymbol=function(){return t},o.endSymbol=function(){return e},o}]}function mn(){this.$get=["$rootScope","$window","$q","$$q",function(t,e,n,r){function i(i,o,s,u){var l=e.setInterval,c=e.clearInterval,f=0,d=v(u)&&!u,h=(d?r:n).defer(),p=h.promise;return s=v(s)?s:0,p.then(null,null,i),p.$$intervalId=l(function(){h.notify(f++),s>0&&f>=s&&(h.resolve(f),c(p.$$intervalId),delete a[p.$$intervalId]),d||t.$apply()},o),a[p.$$intervalId]=h,p}var a={};return i.cancel=function(t){return t&&t.$$intervalId in a?(a[t.$$intervalId].reject("canceled"),e.clearInterval(t.$$intervalId),delete a[t.$$intervalId],!0):!1},i}]}function gn(){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:"¤",posSuf:"",negPre:"(¤",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(t){return 1===t?"one":"other"}}}}function vn(t){for(var e=t.split("/"),n=e.length;n--;)e[n]=Y(e[n]);return e.join("/")}function yn(t,e){var n=ir(t);e.$$protocol=n.protocol,e.$$host=n.hostname,e.$$port=d(n.port)||ra[n.protocol]||null}function bn(t,e){var n="/"!==t.charAt(0);n&&(t="/"+t);var r=ir(t);e.$$path=decodeURIComponent(n&&"/"===r.pathname.charAt(0)?r.pathname.substring(1):r.pathname),e.$$search=W(r.search),e.$$hash=decodeURIComponent(r.hash),e.$$path&&"/"!=e.$$path.charAt(0)&&(e.$$path="/"+e.$$path)}function wn(t,e){return 0===e.indexOf(t)?e.substr(t.length):void 0}function xn(t){var e=t.indexOf("#");return-1==e?t:t.substr(0,e)}function kn(t){return t.replace(/(#.+)|#$/,"$1")}function Sn(t){return t.substr(0,xn(t).lastIndexOf("/")+1)}function Cn(t){return t.substring(0,t.indexOf("/",t.indexOf("//")+2))}function An(t,e){this.$$html5=!0,e=e||"";var r=Sn(t);yn(t,this),this.$$parse=function(t){var e=wn(r,t);if(!b(e))throw ia("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',t,r);bn(e,this),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var t=J(this.$$search),e=this.$$hash?"#"+Y(this.$$hash):"";this.$$url=vn(this.$$path)+(t?"?"+t:"")+e,this.$$absUrl=r+this.$$url.substr(1)},this.$$parseLinkUrl=function(i,a){if(a&&"#"===a[0])return this.hash(a.slice(1)),!0;var o,s,u;return(o=wn(t,i))!==n?(s=o,u=(o=wn(e,o))!==n?r+(wn("/",o)||o):t+s):(o=wn(r,i))!==n?u=r+o:r==i+"/"&&(u=r),u&&this.$$parse(u),!!u}}function On(t,e){var n=Sn(t);yn(t,this),this.$$parse=function(r){function i(t,e,n){var r,i=/^\/[A-Z]:(\/.*)/;return 0===e.indexOf(n)&&(e=e.replace(n,"")),i.exec(e)?t:(r=i.exec(t),r?r[1]:t)}var a,o=wn(t,r)||wn(n,r);"#"===o.charAt(0)?(a=wn(e,o),g(a)&&(a=o)):a=this.$$html5?o:"",bn(a,this),this.$$path=i(this.$$path,a,t),this.$$compose()},this.$$compose=function(){var n=J(this.$$search),r=this.$$hash?"#"+Y(this.$$hash):"";this.$$url=vn(this.$$path)+(n?"?"+n:"")+r,this.$$absUrl=t+(this.$$url?e+this.$$url:"")},this.$$parseLinkUrl=function(e){return xn(t)==xn(e)?(this.$$parse(e),!0):!1}}function En(t,e){this.$$html5=!0,On.apply(this,arguments);var n=Sn(t);this.$$parseLinkUrl=function(r,i){if(i&&"#"===i[0])return this.hash(i.slice(1)),!0;var a,o;return t==xn(r)?a=r:(o=wn(n,r))?a=t+e+o:n===r+"/"&&(a=n),a&&this.$$parse(a),!!a},this.$$compose=function(){var n=J(this.$$search),r=this.$$hash?"#"+Y(this.$$hash):"";this.$$url=vn(this.$$path)+(n?"?"+n:"")+r,this.$$absUrl=t+e+this.$$url}}function jn(t){return function(){return this[t]}}function Nn(t,e){return function(n){return g(n)?this[t]:(this[t]=e(n),this.$$compose(),this)}}function Tn(){var t="",e={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(e){return v(e)?(t=e,this):t},this.html5Mode=function(t){return N(t)?(e.enabled=t,this):y(t)?(N(t.enabled)&&(e.enabled=t.enabled),N(t.requireBase)&&(e.requireBase=t.requireBase),N(t.rewriteLinks)&&(e.rewriteLinks=t.rewriteLinks),this):e},this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(n,r,i,a,o){function s(t,e,n){var i=l.url(),a=l.$$state;try{r.url(t,e,n),l.$$state=r.state()}catch(o){throw l.url(i),l.$$state=a,o}}function u(t,e){n.$broadcast("$locationChangeSuccess",l.absUrl(),t,l.$$state,e)}var l,c,f,d=r.baseHref(),h=r.url();if(e.enabled){if(!d&&e.requireBase)throw ia("nobase","$location in HTML5 mode requires a <base> tag to be present!");f=Cn(h)+(d||"/"),c=i.history?An:En}else f=xn(h),c=On;l=new c(f,"#"+t),l.$$parseLinkUrl(h,h),l.$$state=r.state();var p=/^\s*(javascript|mailto):/i;a.on("click",function(t){if(e.rewriteLinks&&!t.ctrlKey&&!t.metaKey&&!t.shiftKey&&2!=t.which&&2!=t.button){for(var i=Qr(t.target);"a"!==V(i[0]);)if(i[0]===a[0]||!(i=i.parent())[0])return;var s=i.prop("href"),u=i.attr("href")||i.attr("xlink:href");y(s)&&"[object SVGAnimatedString]"===s.toString()&&(s=ir(s.animVal).href),p.test(s)||!s||i.attr("target")||t.isDefaultPrevented()||l.$$parseLinkUrl(s,u)&&(t.preventDefault(),l.absUrl()!=r.url()&&(n.$apply(),o.angular["ff-684208-preventDefault"]=!0))}}),kn(l.absUrl())!=kn(h)&&r.url(l.absUrl(),!0);var $=!0;return r.onUrlChange(function(t,e){n.$evalAsync(function(){var r,i=l.absUrl(),a=l.$$state;l.$$parse(t),l.$$state=e,r=n.$broadcast("$locationChangeStart",t,i,e,a).defaultPrevented,l.absUrl()===t&&(r?(l.$$parse(i),l.$$state=a,s(i,!1,a)):($=!1,u(i,a)))}),n.$$phase||n.$digest()}),n.$watch(function(){var t=kn(r.url()),e=kn(l.absUrl()),a=r.state(),o=l.$$replace,c=t!==e||l.$$html5&&i.history&&a!==l.$$state;($||c)&&($=!1,n.$evalAsync(function(){var e=l.absUrl(),r=n.$broadcast("$locationChangeStart",e,t,l.$$state,a).defaultPrevented;l.absUrl()===e&&(r?(l.$$parse(t),l.$$state=a):(c&&s(e,o,a===l.$$state?null:l.$$state),u(t,a)))})),l.$$replace=!1}),l}]}function Mn(){var t=!0,e=this;this.debugEnabled=function(e){return v(e)?(t=e,this):t},this.$get=["$window",function(n){function r(t){return t instanceof Error&&(t.stack?t=t.message&&-1===t.stack.indexOf(t.message)?"Error: "+t.message+"\n"+t.stack:t.stack:t.sourceURL&&(t=t.message+"\n"+t.sourceURL+":"+t.line)),t}function i(t){var e=n.console||{},i=e[t]||e.log||p,o=!1;try{o=!!i.apply}catch(s){}return o?function(){var t=[];return a(arguments,function(e){t.push(r(e))}),i.apply(e,t)}:function(t,e){i(t,null==e?"":e)}}return{log:i("log"),info:i("info"),warn:i("warn"),error:i("error"),debug:function(){var n=i("debug");return function(){t&&n.apply(e,arguments)}}()}}]}function Pn(t,e){if("__defineGetter__"===t||"__defineSetter__"===t||"__lookupGetter__"===t||"__lookupSetter__"===t||"__proto__"===t)throw oa("isecfld","Attempting to access a disallowed field in Angular expressions! Expression: {0}",e);return t}function Vn(t,e){if(t){if(t.constructor===t)throw oa("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",e);if(t.window===t)throw oa("isecwindow","Referencing the Window in Angular expressions is disallowed! Expression: {0}",e);if(t.children&&(t.nodeName||t.prop&&t.attr&&t.find))throw oa("isecdom","Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}",e);if(t===Object)throw oa("isecobj","Referencing Object in Angular expressions is disallowed! Expression: {0}",e)}return t}function qn(t,e){if(t){if(t.constructor===t)throw oa("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",e);if(t===sa||t===ua||t===la)throw oa("isecff","Referencing call, apply or bind in Angular expressions is disallowed! Expression: {0}",e)}}function Dn(t){return t.constant}function Rn(t,e,n,r,i){Vn(t,i),Vn(e,i);for(var a,o=n.split("."),s=0;o.length>1;s++){a=Pn(o.shift(),i);var u=0===s&&e&&e[a]||t[a];u||(u={},t[a]=u),t=Vn(u,i)}return a=Pn(o.shift(),i),Vn(t[a],i),t[a]=r,r}function In(t){return"constructor"==t}function _n(t,e,r,i,a,o,s){Pn(t,o),Pn(e,o),Pn(r,o),Pn(i,o),Pn(a,o);var u=function(t){return Vn(t,o)},l=s||In(t)?u:$,c=s||In(e)?u:$,f=s||In(r)?u:$,d=s||In(i)?u:$,h=s||In(a)?u:$;return function(o,s){var u=s&&s.hasOwnProperty(t)?s:o;return null==u?u:(u=l(u[t]),e?null==u?n:(u=c(u[e]),r?null==u?n:(u=f(u[r]),i?null==u?n:(u=d(u[i]),a?null==u?n:u=h(u[a]):u):u):u):u)}}function Un(t,e){return function(n,r){return t(n,r,Vn,e)}}function Ln(t,e,r){var i=e.expensiveChecks,o=i?ma:$a,s=o[t];if(s)return s;var u=t.split("."),l=u.length;if(e.csp)s=6>l?_n(u[0],u[1],u[2],u[3],u[4],r,i):function(t,e){var a,o=0;do a=_n(u[o++],u[o++],u[o++],u[o++],u[o++],r,i)(t,e),e=n,t=a;while(l>o);return a};else{var c="";i&&(c+="s = eso(s, fe);\nl = eso(l, fe);\n");var f=i;a(u,function(t,e){Pn(t,r);var n=(e?"s":'((l&&l.hasOwnProperty("'+t+'"))?l:s)')+"."+t;(i||In(t))&&(n="eso("+n+", fe)",f=!0),c+="if(s == null) return undefined;\ns="+n+";\n"}),c+="return s;";var d=new Function("s","l","eso","fe",c);d.toString=m(c),f&&(d=Un(d,r)),s=d}return s.sharedGetter=!0,s.assign=function(e,n,r){return Rn(e,r,t,n,t)},o[t]=s,s}function Fn(t){return k(t.valueOf)?t.valueOf():ga.call(t)}function Hn(){var t=le(),e=le();this.$get=["$filter","$sniffer",function(n,r){function i(t){var e=t;return t.sharedGetter&&(e=function(e,n){return t(e,n)},e.literal=t.literal,e.constant=t.constant,e.assign=t.assign),e}function o(t,e){for(var n=0,r=t.length;r>n;n++){var i=t[n];i.constant||(i.inputs?o(i.inputs,e):-1===e.indexOf(i)&&e.push(i))}return e}function s(t,e){return null==t||null==e?t===e:"object"==typeof t&&(t=Fn(t),"object"==typeof t)?!1:t===e||t!==t&&e!==e}function u(t,e,n,r){var i,a=r.$$inputs||(r.$$inputs=o(r.inputs,[]));if(1===a.length){var u=s;return a=a[0],t.$watch(function(t){var e=a(t);return s(e,u)||(i=r(t),u=e&&Fn(e)),i},e,n)}for(var l=[],c=0,f=a.length;f>c;c++)l[c]=s;return t.$watch(function(t){for(var e=!1,n=0,o=a.length;o>n;n++){var u=a[n](t);(e||(e=!s(u,l[n])))&&(l[n]=u&&Fn(u))}return e&&(i=r(t)),i},e,n)}function l(t,e,n,r){var i,a;return i=t.$watch(function(t){return r(t)},function(t,n,r){a=t,k(e)&&e.apply(this,arguments),v(t)&&r.$$postDigest(function(){v(a)&&i()})},n)}function c(t,e,n,r){function i(t){var e=!0;return a(t,function(t){v(t)||(e=!1)}),e}var o,s;return o=t.$watch(function(t){return r(t)},function(t,n,r){s=t,k(e)&&e.call(this,t,n,r),i(t)&&r.$$postDigest(function(){i(s)&&o()})},n)}function f(t,e,n,r){var i;return i=t.$watch(function(t){return r(t)},function(){k(e)&&e.apply(this,arguments),i()},n)}function d(t,e){if(!e)return t;var n=t.$$watchDelegate,r=n!==c&&n!==l,i=r?function(n,r){var i=t(n,r);return e(i,n,r)}:function(n,r){var i=t(n,r),a=e(i,n,r);return v(i)?a:i};return t.$$watchDelegate&&t.$$watchDelegate!==u?i.$$watchDelegate=t.$$watchDelegate:e.$stateful||(i.$$watchDelegate=u,i.inputs=[t]),i}var h={csp:r.csp,expensiveChecks:!1},$={csp:r.csp,expensiveChecks:!0};return function(r,a,o){var s,m,g;switch(typeof r){case"string":g=r=r.trim();var v=o?e:t;if(s=v[g],!s){":"===r.charAt(0)&&":"===r.charAt(1)&&(m=!0,r=r.substring(2));var y=o?$:h,b=new ha(y),w=new pa(b,n,y);s=w.parse(r),s.constant?s.$$watchDelegate=f:m?(s=i(s),s.$$watchDelegate=s.literal?c:l):s.inputs&&(s.$$watchDelegate=u),v[g]=s}return d(s,a);case"function":return d(r,a);default:return d(p,a)}}}]}function Bn(){this.$get=["$rootScope","$exceptionHandler",function(t,e){return Gn(function(e){t.$evalAsync(e)},e)}]}function zn(){this.$get=["$browser","$exceptionHandler",function(t,e){return Gn(function(e){t.defer(e)},e)}]}function Gn(t,e){function i(t,e,n){function r(e){return function(n){i||(i=!0,e.call(t,n))}}var i=!1;return[r(e),r(n)]}function o(){this.$$state={status:0}}function s(t,e){return function(n){e.call(t,n)}}function u(t){var r,i,a;a=t.pending,t.processScheduled=!1,t.pending=n;for(var o=0,s=a.length;s>o;++o){i=a[o][0],r=a[o][t.status];try{k(r)?i.resolve(r(t.value)):1===t.status?i.resolve(t.value):i.reject(t.value)}catch(u){i.reject(u),e(u)}}}function l(e){!e.processScheduled&&e.pending&&(e.processScheduled=!0,t(function(){u(e)}))}function c(){this.promise=new o,this.resolve=s(this,this.resolve),this.reject=s(this,this.reject),this.notify=s(this,this.notify)}function f(t){var e=new c,n=0,r=ci(t)?[]:{};return a(t,function(t,i){n++,g(t).then(function(t){r.hasOwnProperty(i)||(r[i]=t,--n||e.resolve(r))},function(t){r.hasOwnProperty(i)||e.reject(t)})}),0===n&&e.resolve(r),e.promise}var d=r("$q",TypeError),h=function(){return new c};o.prototype={then:function(t,e,n){var r=new c;return this.$$state.pending=this.$$state.pending||[],this.$$state.pending.push([r,t,e,n]),this.$$state.status>0&&l(this.$$state),r.promise},"catch":function(t){return this.then(null,t)},"finally":function(t,e){return this.then(function(e){return m(e,!0,t)},function(e){return m(e,!1,t)},e)}},c.prototype={resolve:function(t){this.promise.$$state.status||(t===this.promise?this.$$reject(d("qcycle","Expected promise to be resolved with value other than itself '{0}'",t)):this.$$resolve(t))},$$resolve:function(t){var n,r;r=i(this,this.$$resolve,this.$$reject);try{(y(t)||k(t))&&(n=t&&t.then),k(n)?(this.promise.$$state.status=-1,n.call(t,r[0],r[1],this.notify)):(this.promise.$$state.value=t,this.promise.$$state.status=1,l(this.promise.$$state))}catch(a){r[1](a),e(a)}},reject:function(t){this.promise.$$state.status||this.$$reject(t)},$$reject:function(t){this.promise.$$state.value=t,this.promise.$$state.status=2,l(this.promise.$$state)},notify:function(n){var r=this.promise.$$state.pending;this.promise.$$state.status<=0&&r&&r.length&&t(function(){for(var t,i,a=0,o=r.length;o>a;a++){i=r[a][0],t=r[a][3];try{i.notify(k(t)?t(n):n)}catch(s){e(s)}}})}};var p=function(t){var e=new c;return e.reject(t),e.promise},$=function(t,e){var n=new c;return e?n.resolve(t):n.reject(t),n.promise},m=function(t,e,n){var r=null;try{k(n)&&(r=n())}catch(i){return $(i,!1)}return T(r)?r.then(function(){return $(t,e)},function(t){return $(t,!1)}):$(t,e)},g=function(t,e,n,r){var i=new c;return i.resolve(t),i.promise.then(e,n,r)},v=function b(t){function e(t){r.resolve(t)}function n(t){r.reject(t)}if(!k(t))throw d("norslvr","Expected resolverFn, got '{0}'",t);if(!(this instanceof b))return new b(t);var r=new c;return t(e,n),r.promise};return v.defer=h,v.reject=p,v.when=g,v.all=f,v}function Wn(){this.$get=["$window","$timeout",function(t,e){var n=t.requestAnimationFrame||t.webkitRequestAnimationFrame,r=t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.webkitCancelRequestAnimationFrame,i=!!n,a=i?function(t){var e=n(t);return function(){r(e)}}:function(t){var n=e(t,16.66,!1);return function(){e.cancel(n)}};return a.supported=i,a}]}function Jn(){var t=10,e=r("$rootScope"),n=null,o=null;this.digestTtl=function(e){return arguments.length&&(t=e),t},this.$get=["$injector","$exceptionHandler","$parse","$browser",function(r,s,u,c){function f(){this.$id=l(),this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,this.$root=this,this.$$destroyed=!1,this.$$listeners={},this.$$listenerCount={},this.$$isolateBindings=null}function d(t){if(w.$$phase)throw e("inprog","{0} already in progress",w.$$phase);w.$$phase=t}function h(){w.$$phase=null}function $(t,e,n){do t.$$listenerCount[n]-=e,0===t.$$listenerCount[n]&&delete t.$$listenerCount[n];while(t=t.$parent)}function m(){}function v(){for(;C.length;)try{C.shift()()}catch(t){s(t)}o=null}function b(){null===o&&(o=c.defer(function(){w.$apply(v)}))}f.prototype={constructor:f,$new:function(t,e){function n(){r.$$destroyed=!0}var r;return e=e||this,t?(r=new f,r.$root=this.$root):(this.$$ChildScope||(this.$$ChildScope=function(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null,this.$$listeners={},this.$$listenerCount={},this.$id=l(),this.$$ChildScope=null},this.$$ChildScope.prototype=this),r=new this.$$ChildScope),r.$parent=e,r.$$prevSibling=e.$$childTail,e.$$childHead?(e.$$childTail.$$nextSibling=r,e.$$childTail=r):e.$$childHead=e.$$childTail=r,(t||e!=this)&&r.$on("$destroy",n),r},$watch:function(t,e,r){var i=u(t);if(i.$$watchDelegate)return i.$$watchDelegate(this,e,r,i);var a=this,o=a.$$watchers,s={fn:e,last:m,get:i,exp:t,eq:!!r};return n=null,k(e)||(s.fn=p),o||(o=a.$$watchers=[]),o.unshift(s),function(){q(o,s),n=null}},$watchGroup:function(t,e){function n(){u=!1,l?(l=!1,e(i,i,s)):e(i,r,s)}var r=new Array(t.length),i=new Array(t.length),o=[],s=this,u=!1,l=!0;if(!t.length){var c=!0;return s.$evalAsync(function(){c&&e(i,i,s)}),function(){c=!1}}return 1===t.length?this.$watch(t[0],function(t,n,a){i[0]=t,r[0]=n,e(i,t===n?i:r,a)}):(a(t,function(t,e){var a=s.$watch(t,function(t,a){i[e]=t,r[e]=a,u||(u=!0,s.$evalAsync(n))});o.push(a)}),function(){for(;o.length;)o.shift()()})},$watchCollection:function(t,e){function n(t){a=t;var e,n,r,s,u;if(!g(a)){if(y(a))if(i(a)){o!==h&&(o=h,m=o.length=0,f++),e=a.length,m!==e&&(f++,o.length=m=e);for(var l=0;e>l;l++)u=o[l],s=a[l],r=u!==u&&s!==s,r||u===s||(f++,o[l]=s)}else{o!==p&&(o=p={},m=0,f++),e=0;for(n in a)a.hasOwnProperty(n)&&(e++,s=a[n],u=o[n],n in o?(r=u!==u&&s!==s,r||u===s||(f++,o[n]=s)):(m++,o[n]=s,f++));if(m>e){f++;for(n in o)a.hasOwnProperty(n)||(m--,delete o[n])}}else o!==a&&(o=a,f++);return f}}function r(){if($?($=!1,e(a,a,l)):e(a,s,l),c)if(y(a))if(i(a)){s=new Array(a.length);for(var t=0;t<a.length;t++)s[t]=a[t]}else{s={};for(var n in a)Jr.call(a,n)&&(s[n]=a[n])}else s=a}n.$stateful=!0;var a,o,s,l=this,c=e.length>1,f=0,d=u(t,n),h=[],p={},$=!0,m=0;return this.$watch(d,r)},$digest:function(){var r,i,a,u,l,f,p,$,g,y,b=t,C=this,A=[];d("$digest"),c.$$checkUrlChange(),this===w&&null!==o&&(c.defer.cancel(o),v()),n=null;do{for(f=!1,$=C;x.length;){try{y=x.shift(),y.scope.$eval(y.expression,y.locals)}catch(O){s(O)}n=null}t:do{if(u=$.$$watchers)for(l=u.length;l--;)try{if(r=u[l])if((i=r.get($))===(a=r.last)||(r.eq?I(i,a):"number"==typeof i&&"number"==typeof a&&isNaN(i)&&isNaN(a))){if(r===n){f=!1;
 +
break t}}else f=!0,n=r,r.last=r.eq?D(i,null):i,r.fn(i,a===m?i:a,$),5>b&&(g=4-b,A[g]||(A[g]=[]),A[g].push({msg:k(r.exp)?"fn: "+(r.exp.name||r.exp.toString()):r.exp,newVal:i,oldVal:a}))}catch(O){s(O)}if(!(p=$.$$childHead||$!==C&&$.$$nextSibling))for(;$!==C&&!(p=$.$$nextSibling);)$=$.$parent}while($=p);if((f||x.length)&&!b--)throw h(),e("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",t,A)}while(f||x.length);for(h();S.length;)try{S.shift()()}catch(O){s(O)}},$destroy:function(){if(!this.$$destroyed){var t=this.$parent;if(this.$broadcast("$destroy"),this.$$destroyed=!0,this!==w){for(var e in this.$$listenerCount)$(this,this.$$listenerCount[e],e);t.$$childHead==this&&(t.$$childHead=this.$$nextSibling),t.$$childTail==this&&(t.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=p,this.$on=this.$watch=this.$watchGroup=function(){return p},this.$$listeners={},this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=this.$root=this.$$watchers=null}}},$eval:function(t,e){return u(t)(this,e)},$evalAsync:function(t,e){w.$$phase||x.length||c.defer(function(){x.length&&w.$digest()}),x.push({scope:this,expression:t,locals:e})},$$postDigest:function(t){S.push(t)},$apply:function(t){try{return d("$apply"),this.$eval(t)}catch(e){s(e)}finally{h();try{w.$digest()}catch(e){throw s(e),e}}},$applyAsync:function(t){function e(){n.$eval(t)}var n=this;t&&C.push(e),b()},$on:function(t,e){var n=this.$$listeners[t];n||(this.$$listeners[t]=n=[]),n.push(e);var r=this;do r.$$listenerCount[t]||(r.$$listenerCount[t]=0),r.$$listenerCount[t]++;while(r=r.$parent);var i=this;return function(){var r=n.indexOf(e);-1!==r&&(n[r]=null,$(i,1,t))}},$emit:function(t){var e,n,r,i=[],a=this,o=!1,u={name:t,targetScope:a,stopPropagation:function(){o=!0},preventDefault:function(){u.defaultPrevented=!0},defaultPrevented:!1},l=_([u],arguments,1);do{for(e=a.$$listeners[t]||i,u.currentScope=a,n=0,r=e.length;r>n;n++)if(e[n])try{e[n].apply(null,l)}catch(c){s(c)}else e.splice(n,1),n--,r--;if(o)return u.currentScope=null,u;a=a.$parent}while(a);return u.currentScope=null,u},$broadcast:function(t){var e=this,n=e,r=e,i={name:t,targetScope:e,preventDefault:function(){i.defaultPrevented=!0},defaultPrevented:!1};if(!e.$$listenerCount[t])return i;for(var a,o,u,l=_([i],arguments,1);n=r;){for(i.currentScope=n,a=n.$$listeners[t]||[],o=0,u=a.length;u>o;o++)if(a[o])try{a[o].apply(null,l)}catch(c){s(c)}else a.splice(o,1),o--,u--;if(!(r=n.$$listenerCount[t]&&n.$$childHead||n!==e&&n.$$nextSibling))for(;n!==e&&!(r=n.$$nextSibling);)n=n.$parent}return i.currentScope=null,i}};var w=new f,x=w.$$asyncQueue=[],S=w.$$postDigestQueue=[],C=w.$$applyAsyncQueue=[];return w}]}function Yn(){var t=/^\s*(https?|ftp|mailto|tel|file):/,e=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationWhitelist=function(e){return v(e)?(t=e,this):t},this.imgSrcSanitizationWhitelist=function(t){return v(t)?(e=t,this):e},this.$get=function(){return function(n,r){var i,a=r?e:t;return i=ir(n).href,""===i||i.match(a)?n:"unsafe:"+i}}}function Zn(t){if("self"===t)return t;if(b(t)){if(t.indexOf("***")>-1)throw va("iwcard","Illegal sequence *** in string matcher.  String: {0}",t);return t=di(t).replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*"),new RegExp("^"+t+"$")}if(S(t))return new RegExp("^"+t.source+"$");throw va("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}function Kn(t){var e=[];return v(t)&&a(t,function(t){e.push(Zn(t))}),e}function Xn(){this.SCE_CONTEXTS=ya;var t=["self"],e=[];this.resourceUrlWhitelist=function(e){return arguments.length&&(t=Kn(e)),t},this.resourceUrlBlacklist=function(t){return arguments.length&&(e=Kn(t)),e},this.$get=["$injector",function(r){function i(t,e){return"self"===t?ar(e):!!t.exec(e.href)}function a(n){var r,a,o=ir(n.toString()),s=!1;for(r=0,a=t.length;a>r;r++)if(i(t[r],o)){s=!0;break}if(s)for(r=0,a=e.length;a>r;r++)if(i(e[r],o)){s=!1;break}return s}function o(t){var e=function(t){this.$$unwrapTrustedValue=function(){return t}};return t&&(e.prototype=new t),e.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},e.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},e}function s(t,e){var r=d.hasOwnProperty(t)?d[t]:null;if(!r)throw va("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",t,e);if(null===e||e===n||""===e)return e;if("string"!=typeof e)throw va("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",t);return new r(e)}function u(t){return t instanceof f?t.$$unwrapTrustedValue():t}function l(t,e){if(null===e||e===n||""===e)return e;var r=d.hasOwnProperty(t)?d[t]:null;if(r&&e instanceof r)return e.$$unwrapTrustedValue();if(t===ya.RESOURCE_URL){if(a(e))return e;throw va("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy.  URL: {0}",e.toString())}if(t===ya.HTML)return c(e);throw va("unsafe","Attempting to use an unsafe value in a safe context.")}var c=function(){throw va("unsafe","Attempting to use an unsafe value in a safe context.")};r.has("$sanitize")&&(c=r.get("$sanitize"));var f=o(),d={};return d[ya.HTML]=o(f),d[ya.CSS]=o(f),d[ya.URL]=o(f),d[ya.JS]=o(f),d[ya.RESOURCE_URL]=o(d[ya.URL]),{trustAs:s,getTrusted:l,valueOf:u}}]}function Qn(){var t=!0;this.enabled=function(e){return arguments.length&&(t=!!e),t},this.$get=["$parse","$sceDelegate",function(e,n){if(t&&8>Xr)throw va("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode.  You can fix this by adding the text <!doctype html> to the top of your HTML document.  See http://docs.angularjs.org/api/ng.$sce for more information.");var r=R(ya);r.isEnabled=function(){return t},r.trustAs=n.trustAs,r.getTrusted=n.getTrusted,r.valueOf=n.valueOf,t||(r.trustAs=r.getTrusted=function(t,e){return e},r.valueOf=$),r.parseAs=function(t,n){var i=e(n);return i.literal&&i.constant?i:e(n,function(e){return r.getTrusted(t,e)})};var i=r.parseAs,o=r.getTrusted,s=r.trustAs;return a(ya,function(t,e){var n=Wr(e);r[$e("parse_as_"+n)]=function(e){return i(t,e)},r[$e("get_trusted_"+n)]=function(e){return o(t,e)},r[$e("trust_as_"+n)]=function(e){return s(t,e)}}),r}]}function tr(){this.$get=["$window","$document",function(t,e){var n,r,i={},a=d((/android (\d+)/.exec(Wr((t.navigator||{}).userAgent))||[])[1]),o=/Boxee/i.test((t.navigator||{}).userAgent),s=e[0]||{},u=/^(Moz|webkit|ms)(?=[A-Z])/,l=s.body&&s.body.style,c=!1,f=!1;if(l){for(var h in l)if(r=u.exec(h)){n=r[0],n=n.substr(0,1).toUpperCase()+n.substr(1);break}n||(n="WebkitOpacity"in l&&"webkit"),c=!!("transition"in l||n+"Transition"in l),f=!!("animation"in l||n+"Animation"in l),!a||c&&f||(c=b(s.body.style.webkitTransition),f=b(s.body.style.webkitAnimation))}return{history:!(!t.history||!t.history.pushState||4>a||o),hasEvent:function(t){if("input"===t&&11>=Xr)return!1;if(g(i[t])){var e=s.createElement("div");i[t]="on"+t in e}return i[t]},csp:hi(),vendorPrefix:n,transitions:c,animations:f,android:a}}]}function er(){this.$get=["$templateCache","$http","$q",function(t,e,n){function r(i,a){function o(t){if(!a)throw Wi("tpload","Failed to load template: {0}",i);return n.reject(t)}r.totalPendingRequests++;var s=e.defaults&&e.defaults.transformResponse;ci(s)?s=s.filter(function(t){return t!==an}):s===an&&(s=null);var u={cache:t,transformResponse:s};return e.get(i,u).finally(function(){r.totalPendingRequests--}).then(function(t){return t.data},o)}return r.totalPendingRequests=0,r}]}function nr(){this.$get=["$rootScope","$browser","$location",function(t,e,n){var r={};return r.findBindings=function(t,e,n){var r=t.getElementsByClassName("ng-binding"),i=[];return a(r,function(t){var r=si.element(t).data("$binding");r&&a(r,function(r){if(n){var a=new RegExp("(^|\\s)"+di(e)+"(\\s|\\||$)");a.test(r)&&i.push(t)}else-1!=r.indexOf(e)&&i.push(t)})}),i},r.findModels=function(t,e,n){for(var r=["ng-","data-ng-","ng\\:"],i=0;i<r.length;++i){var a=n?"=":"*=",o="["+r[i]+"model"+a+'"'+e+'"]',s=t.querySelectorAll(o);if(s.length)return s}},r.getLocation=function(){return n.url()},r.setLocation=function(e){e!==n.url()&&(n.url(e),t.$digest())},r.whenStable=function(t){e.notifyWhenNoOutstandingRequests(t)},r}]}function rr(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",function(t,e,n,r,i){function a(a,s,u){var l,c=v(u)&&!u,f=(c?r:n).defer(),d=f.promise;return l=e.defer(function(){try{f.resolve(a())}catch(e){f.reject(e),i(e)}finally{delete o[d.$$timeoutId]}c||t.$apply()},s),d.$$timeoutId=l,o[l]=f,d}var o={};return a.cancel=function(t){return t&&t.$$timeoutId in o?(o[t.$$timeoutId].reject("canceled"),delete o[t.$$timeoutId],e.defer.cancel(t.$$timeoutId)):!1},a}]}function ir(t){var e=t;return Xr&&(ba.setAttribute("href",e),e=ba.href),ba.setAttribute("href",e),{href:ba.href,protocol:ba.protocol?ba.protocol.replace(/:$/,""):"",host:ba.host,search:ba.search?ba.search.replace(/^\?/,""):"",hash:ba.hash?ba.hash.replace(/^#/,""):"",hostname:ba.hostname,port:ba.port,pathname:"/"===ba.pathname.charAt(0)?ba.pathname:"/"+ba.pathname}}function ar(t){var e=b(t)?ir(t):t;return e.protocol===wa.protocol&&e.host===wa.host}function or(){this.$get=m(t)}function sr(t){function e(r,i){if(y(r)){var o={};return a(r,function(t,n){o[n]=e(n,t)}),o}return t.factory(r+n,i)}var n="Filter";this.register=e,this.$get=["$injector",function(t){return function(e){return t.get(e+n)}}],e("currency",fr),e("date",xr),e("filter",ur),e("json",kr),e("limitTo",Sr),e("lowercase",Aa),e("number",dr),e("orderBy",Cr),e("uppercase",Oa)}function ur(){return function(t,e,n){if(!ci(t))return t;var r,i;switch(typeof e){case"function":r=e;break;case"boolean":case"number":case"string":i=!0;case"object":r=lr(e,n,i);break;default:return t}return t.filter(r)}}function lr(t,e,n){var r,i=y(t)&&"$"in t;return e===!0?e=I:k(e)||(e=function(t,e){return y(t)||y(e)?!1:(t=Wr(""+t),e=Wr(""+e),-1!==t.indexOf(e))}),r=function(r){return i&&!y(r)?cr(r,t.$,e,!1):cr(r,t,e,n)}}function cr(t,e,n,r,i){var a=typeof t,o=typeof e;if("string"===o&&"!"===e.charAt(0))return!cr(t,e.substring(1),n,r);if(ci(t))return t.some(function(t){return cr(t,e,n,r)});switch(a){case"object":var s;if(r){for(s in t)if("$"!==s.charAt(0)&&cr(t[s],e,n,!0))return!0;return i?!1:cr(t,e,n,!1)}if("object"===o){for(s in e){var u=e[s];if(!k(u)){var l="$"===s,c=l?t:t[s];if(!cr(c,u,n,l,l))return!1}}return!0}return n(t,e);case"function":return!1;default:return n(t,e)}}function fr(t){var e=t.NUMBER_FORMATS;return function(t,n,r){return g(n)&&(n=e.CURRENCY_SYM),g(r)&&(r=e.PATTERNS[1].maxFrac),null==t?t:hr(t,e.PATTERNS[1],e.GROUP_SEP,e.DECIMAL_SEP,r).replace(/\u00A4/g,n)}}function dr(t){var e=t.NUMBER_FORMATS;return function(t,n){return null==t?t:hr(t,e.PATTERNS[0],e.GROUP_SEP,e.DECIMAL_SEP,n)}}function hr(t,e,n,r,i){if(!isFinite(t)||y(t))return"";var a=0>t;t=Math.abs(t);var o=t+"",s="",u=[],l=!1;if(-1!==o.indexOf("e")){var c=o.match(/([\d\.]+)e(-?)(\d+)/);c&&"-"==c[2]&&c[3]>i+1?t=0:(s=o,l=!0)}if(l)i>0&&1>t&&(s=t.toFixed(i),t=parseFloat(s));else{var f=(o.split(xa)[1]||"").length;g(i)&&(i=Math.min(Math.max(e.minFrac,f),e.maxFrac)),t=+(Math.round(+(t.toString()+"e"+i)).toString()+"e"+-i);var d=(""+t).split(xa),h=d[0];d=d[1]||"";var p,$=0,m=e.lgSize,v=e.gSize;if(h.length>=m+v)for($=h.length-m,p=0;$>p;p++)($-p)%v===0&&0!==p&&(s+=n),s+=h.charAt(p);for(p=$;p<h.length;p++)(h.length-p)%m===0&&0!==p&&(s+=n),s+=h.charAt(p);for(;d.length<i;)d+="0";i&&"0"!==i&&(s+=r+d.substr(0,i))}return 0===t&&(a=!1),u.push(a?e.negPre:e.posPre,s,a?e.negSuf:e.posSuf),u.join("")}function pr(t,e,n){var r="";for(0>t&&(r="-",t=-t),t=""+t;t.length<e;)t="0"+t;return n&&(t=t.substr(t.length-e)),r+t}function $r(t,e,n,r){return n=n||0,function(i){var a=i["get"+t]();return(n>0||a>-n)&&(a+=n),0===a&&-12==n&&(a=12),pr(a,e,r)}}function mr(t,e){return function(n,r){var i=n["get"+t](),a=Yr(e?"SHORT"+t:t);return r[a][i]}}function gr(t){var e=-1*t.getTimezoneOffset(),n=e>=0?"+":"";return n+=pr(Math[e>0?"floor":"ceil"](e/60),2)+pr(Math.abs(e%60),2)}function vr(t){var e=new Date(t,0,1).getDay();return new Date(t,0,(4>=e?5:12)-e)}function yr(t){return new Date(t.getFullYear(),t.getMonth(),t.getDate()+(4-t.getDay()))}function br(t){return function(e){var n=vr(e.getFullYear()),r=yr(e),i=+r-+n,a=1+Math.round(i/6048e5);return pr(a,t)}}function wr(t,e){return t.getHours()<12?e.AMPMS[0]:e.AMPMS[1]}function xr(t){function e(t){var e;if(e=t.match(n)){var r=new Date(0),i=0,a=0,o=e[8]?r.setUTCFullYear:r.setFullYear,s=e[8]?r.setUTCHours:r.setHours;e[9]&&(i=d(e[9]+e[10]),a=d(e[9]+e[11])),o.call(r,d(e[1]),d(e[2])-1,d(e[3]));var u=d(e[4]||0)-i,l=d(e[5]||0)-a,c=d(e[6]||0),f=Math.round(1e3*parseFloat("0."+(e[7]||0)));return s.call(r,u,l,c,f),r}return t}var n=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(n,r,i){var o,s,u="",l=[];if(r=r||"mediumDate",r=t.DATETIME_FORMATS[r]||r,b(n)&&(n=Ca.test(n)?d(n):e(n)),w(n)&&(n=new Date(n)),!x(n))return n;for(;r;)s=Sa.exec(r),s?(l=_(l,s,1),r=l.pop()):(l.push(r),r=null);return i&&"UTC"===i&&(n=new Date(n.getTime()),n.setMinutes(n.getMinutes()+n.getTimezoneOffset())),a(l,function(e){o=ka[e],u+=o?o(n,t.DATETIME_FORMATS):e.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),u}}function kr(){return function(t,e){return g(e)&&(e=2),H(t,e)}}function Sr(){return function(t,e){return w(t)&&(t=t.toString()),ci(t)||b(t)?(e=1/0===Math.abs(Number(e))?Number(e):d(e),e?e>0?t.slice(0,e):t.slice(e):b(t)?"":[]):t}}function Cr(t){return function(e,n,r){function a(t,e){for(var r=0;r<n.length;r++){var i=n[r](t,e);if(0!==i)return i}return 0}function o(t,e){return e?function(e,n){return t(n,e)}:t}function s(t){switch(typeof t){case"number":case"boolean":case"string":return!0;default:return!1}}function u(t){return null===t?"null":"function"==typeof t.valueOf&&(t=t.valueOf(),s(t))?t:"function"==typeof t.toString&&(t=t.toString(),s(t))?t:""}function l(t,e){var n=typeof t,r=typeof e;return n===r&&"object"===n&&(t=u(t),e=u(e)),n===r?("string"===n&&(t=t.toLowerCase(),e=e.toLowerCase()),t===e?0:e>t?-1:1):r>n?-1:1}return i(e)?(n=ci(n)?n:[n],0===n.length&&(n=["+"]),n=n.map(function(e){var n=!1,r=e||$;if(b(e)){if(("+"==e.charAt(0)||"-"==e.charAt(0))&&(n="-"==e.charAt(0),e=e.substring(1)),""===e)return o(l,n);if(r=t(e),r.constant){var i=r();return o(function(t,e){return l(t[i],e[i])},n)}}return o(function(t,e){return l(r(t),r(e))},n)}),ni.call(e).sort(o(a,r))):e}}function Ar(t){return k(t)&&(t={link:t}),t.restrict=t.restrict||"AC",m(t)}function Or(t,e){t.$name=e}function Er(t,e,r,i,o){var s=this,u=[],l=s.$$parentForm=t.parent().controller("form")||Na;s.$error={},s.$$success={},s.$pending=n,s.$name=o(e.name||e.ngForm||"")(r),s.$dirty=!1,s.$pristine=!0,s.$valid=!0,s.$invalid=!1,s.$submitted=!1,l.$addControl(s),s.$rollbackViewValue=function(){a(u,function(t){t.$rollbackViewValue()})},s.$commitViewValue=function(){a(u,function(t){t.$commitViewValue()})},s.$addControl=function(t){oe(t.$name,"input"),u.push(t),t.$name&&(s[t.$name]=t)},s.$$renameControl=function(t,e){var n=t.$name;s[n]===t&&delete s[n],s[e]=t,t.$name=e},s.$removeControl=function(t){t.$name&&s[t.$name]===t&&delete s[t.$name],a(s.$pending,function(e,n){s.$setValidity(n,null,t)}),a(s.$error,function(e,n){s.$setValidity(n,null,t)}),a(s.$$success,function(e,n){s.$setValidity(n,null,t)}),q(u,t)},Hr({ctrl:this,$element:t,set:function(t,e,n){var r=t[e];if(r){var i=r.indexOf(n);-1===i&&r.push(n)}else t[e]=[n]},unset:function(t,e,n){var r=t[e];r&&(q(r,n),0===r.length&&delete t[e])},parentForm:l,$animate:i}),s.$setDirty=function(){i.removeClass(t,ho),i.addClass(t,po),s.$dirty=!0,s.$pristine=!1,l.$setDirty()},s.$setPristine=function(){i.setClass(t,ho,po+" "+Ta),s.$dirty=!1,s.$pristine=!0,s.$submitted=!1,a(u,function(t){t.$setPristine()})},s.$setUntouched=function(){a(u,function(t){t.$setUntouched()})},s.$setSubmitted=function(){i.addClass(t,Ta),s.$submitted=!0,l.$setSubmitted()}}function jr(t){t.$formatters.push(function(e){return t.$isEmpty(e)?e:e.toString()})}function Nr(t,e,n,r,i,a){Tr(t,e,n,r,i,a),jr(r)}function Tr(t,e,n,r,i,a){var o=Wr(e[0].type);if(!i.android){var s=!1;e.on("compositionstart",function(){s=!0}),e.on("compositionend",function(){s=!1,u()})}var u=function(t){if(l&&(a.defer.cancel(l),l=null),!s){var i=e.val(),u=t&&t.type;"password"===o||n.ngTrim&&"false"===n.ngTrim||(i=fi(i)),(r.$viewValue!==i||""===i&&r.$$hasNativeValidators)&&r.$setViewValue(i,u)}};if(i.hasEvent("input"))e.on("input",u);else{var l,c=function(t,e,n){l||(l=a.defer(function(){l=null,e&&e.value===n||u(t)}))};e.on("keydown",function(t){var e=t.keyCode;91===e||e>15&&19>e||e>=37&&40>=e||c(t,this,this.value)}),i.hasEvent("paste")&&e.on("paste cut",c)}e.on("change",u),r.$render=function(){e.val(r.$isEmpty(r.$viewValue)?"":r.$viewValue)}}function Mr(t,e){if(x(t))return t;if(b(t)){La.lastIndex=0;var n=La.exec(t);if(n){var r=+n[1],i=+n[2],a=0,o=0,s=0,u=0,l=vr(r),c=7*(i-1);return e&&(a=e.getHours(),o=e.getMinutes(),s=e.getSeconds(),u=e.getMilliseconds()),new Date(r,0,l.getDate()+c,a,o,s,u)}}return 0/0}function Pr(t,e){return function(n,r){var i,o;if(x(n))return n;if(b(n)){if('"'==n.charAt(0)&&'"'==n.charAt(n.length-1)&&(n=n.substring(1,n.length-1)),qa.test(n))return new Date(n);if(t.lastIndex=0,i=t.exec(n))return i.shift(),o=r?{yyyy:r.getFullYear(),MM:r.getMonth()+1,dd:r.getDate(),HH:r.getHours(),mm:r.getMinutes(),ss:r.getSeconds(),sss:r.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},a(i,function(t,n){n<e.length&&(o[e[n]]=+t)}),new Date(o.yyyy,o.MM-1,o.dd,o.HH,o.mm,o.ss||0,1e3*o.sss||0)}return 0/0}}function Vr(t,e,r,i){return function(a,o,s,u,l,c,f){function d(t){return t&&!(t.getTime&&t.getTime()!==t.getTime())}function h(t){return v(t)?x(t)?t:r(t):n}qr(a,o,s,u),Tr(a,o,s,u,l,c);var p,$=u&&u.$options&&u.$options.timezone;if(u.$$parserName=t,u.$parsers.push(function(t){if(u.$isEmpty(t))return null;if(e.test(t)){var i=r(t,p);return"UTC"===$&&i.setMinutes(i.getMinutes()-i.getTimezoneOffset()),i}return n}),u.$formatters.push(function(t){if(t&&!x(t))throw vo("datefmt","Expected `{0}` to be a date",t);if(d(t)){if(p=t,p&&"UTC"===$){var e=6e4*p.getTimezoneOffset();p=new Date(p.getTime()+e)}return f("date")(t,i,$)}return p=null,""}),v(s.min)||s.ngMin){var m;u.$validators.min=function(t){return!d(t)||g(m)||r(t)>=m},s.$observe("min",function(t){m=h(t),u.$validate()})}if(v(s.max)||s.ngMax){var y;u.$validators.max=function(t){return!d(t)||g(y)||r(t)<=y},s.$observe("max",function(t){y=h(t),u.$validate()})}}}function qr(t,e,r,i){var a=e[0],o=i.$$hasNativeValidators=y(a.validity);o&&i.$parsers.push(function(t){var r=e.prop(Gr)||{};return r.badInput&&!r.typeMismatch?n:t})}function Dr(t,e,r,i,a,o){if(qr(t,e,r,i),Tr(t,e,r,i,a,o),i.$$parserName="number",i.$parsers.push(function(t){return i.$isEmpty(t)?null:Ia.test(t)?parseFloat(t):n}),i.$formatters.push(function(t){if(!i.$isEmpty(t)){if(!w(t))throw vo("numfmt","Expected `{0}` to be a number",t);t=t.toString()}return t}),r.min||r.ngMin){var s;i.$validators.min=function(t){return i.$isEmpty(t)||g(s)||t>=s},r.$observe("min",function(t){v(t)&&!w(t)&&(t=parseFloat(t,10)),s=w(t)&&!isNaN(t)?t:n,i.$validate()})}if(r.max||r.ngMax){var u;i.$validators.max=function(t){return i.$isEmpty(t)||g(u)||u>=t},r.$observe("max",function(t){v(t)&&!w(t)&&(t=parseFloat(t,10)),u=w(t)&&!isNaN(t)?t:n,i.$validate()})}}function Rr(t,e,n,r,i,a){Tr(t,e,n,r,i,a),jr(r),r.$$parserName="url",r.$validators.url=function(t,e){var n=t||e;return r.$isEmpty(n)||Da.test(n)}}function Ir(t,e,n,r,i,a){Tr(t,e,n,r,i,a),jr(r),r.$$parserName="email",r.$validators.email=function(t,e){var n=t||e;return r.$isEmpty(n)||Ra.test(n)}}function _r(t,e,n,r){g(n.name)&&e.attr("name",l());var i=function(t){e[0].checked&&r.$setViewValue(n.value,t&&t.type)};e.on("click",i),r.$render=function(){var t=n.value;e[0].checked=t==r.$viewValue},n.$observe("value",r.$render)}function Ur(t,e,n,i,a){var o;if(v(i)){if(o=t(i),!o.constant)throw r("ngModel")("constexpr","Expected constant expression for `{0}`, but saw `{1}`.",n,i);return o(e)}return a}function Lr(t,e,n,r,i,a,o,s){var u=Ur(s,t,"ngTrueValue",n.ngTrueValue,!0),l=Ur(s,t,"ngFalseValue",n.ngFalseValue,!1),c=function(t){r.$setViewValue(e[0].checked,t&&t.type)};e.on("click",c),r.$render=function(){e[0].checked=r.$viewValue},r.$isEmpty=function(t){return t===!1},r.$formatters.push(function(t){return I(t,u)}),r.$parsers.push(function(t){return t?u:l})}function Fr(t,e){return t="ngClass"+t,["$animate",function(n){function r(t,e){var n=[];t:for(var r=0;r<t.length;r++){for(var i=t[r],a=0;a<e.length;a++)if(i==e[a])continue t;n.push(i)}return n}function i(t){if(ci(t))return t;if(b(t))return t.split(" ");if(y(t)){var e=[];return a(t,function(t,n){t&&(e=e.concat(n.split(" ")))}),e}return t}return{restrict:"AC",link:function(o,s,u){function l(t){var e=f(t,1);u.$addClass(e)}function c(t){var e=f(t,-1);u.$removeClass(e)}function f(t,e){var n=s.data("$classCounts")||{},r=[];return a(t,function(t){(e>0||n[t])&&(n[t]=(n[t]||0)+e,n[t]===+(e>0)&&r.push(t))}),s.data("$classCounts",n),r.join(" ")}function d(t,e){var i=r(e,t),a=r(t,e);i=f(i,1),a=f(a,-1),i&&i.length&&n.addClass(s,i),a&&a.length&&n.removeClass(s,a)}function h(t){if(e===!0||o.$index%2===e){var n=i(t||[]);if(p){if(!I(t,p)){var r=i(p);d(r,n)}}else l(n)}p=R(t)}var p;o.$watch(u[t],h,!0),u.$observe("class",function(){h(o.$eval(u[t]))}),"ngClass"!==t&&o.$watch("$index",function(n,r){var a=1&n;if(a!==(1&r)){var s=i(o.$eval(u[t]));a===e?l(s):c(s)}})}}}]}function Hr(t){function e(t,e,u){e===n?r("$pending",t,u):i("$pending",t,u),N(e)?e?(f(s.$error,t,u),c(s.$$success,t,u)):(c(s.$error,t,u),f(s.$$success,t,u)):(f(s.$error,t,u),f(s.$$success,t,u)),s.$pending?(a(go,!0),s.$valid=s.$invalid=n,o("",null)):(a(go,!1),s.$valid=Br(s.$error),s.$invalid=!s.$valid,o("",s.$valid));var l;l=s.$pending&&s.$pending[t]?n:s.$error[t]?!1:s.$$success[t]?!0:null,o(t,l),d.$setValidity(t,l,s)}function r(t,e,n){s[t]||(s[t]={}),c(s[t],e,n)}function i(t,e,r){s[t]&&f(s[t],e,r),Br(s[t])&&(s[t]=n)}function a(t,e){e&&!l[t]?(h.addClass(u,t),l[t]=!0):!e&&l[t]&&(h.removeClass(u,t),l[t]=!1)}function o(t,e){t=t?"-"+ne(t,"-"):"",a(co+t,e===!0),a(fo+t,e===!1)}var s=t.ctrl,u=t.$element,l={},c=t.set,f=t.unset,d=t.parentForm,h=t.$animate;l[fo]=!(l[co]=u.hasClass(co)),s.$setValidity=e}function Br(t){if(t)for(var e in t)return!1;return!0}var zr=/^\/(.+)\/([a-z]*)$/,Gr="validity",Wr=function(t){return b(t)?t.toLowerCase():t},Jr=Object.prototype.hasOwnProperty,Yr=function(t){return b(t)?t.toUpperCase():t},Zr=function(t){return b(t)?t.replace(/[A-Z]/g,function(t){return String.fromCharCode(32|t.charCodeAt(0))}):t},Kr=function(t){return b(t)?t.replace(/[a-z]/g,function(t){return String.fromCharCode(-33&t.charCodeAt(0))}):t};"i"!=="I".toLowerCase()&&(Wr=Zr,Yr=Kr);var Xr,Qr,ti,ei,ni=[].slice,ri=[].splice,ii=[].push,ai=Object.prototype.toString,oi=r("ng"),si=t.angular||(t.angular={}),ui=0;Xr=e.documentMode,p.$inject=[],$.$inject=[];var li,ci=Array.isArray,fi=function(t){return b(t)?t.trim():t},di=function(t){return t.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")},hi=function(){if(v(hi.isActive_))return hi.isActive_;var t=!(!e.querySelector("[ng-csp]")&&!e.querySelector("[data-ng-csp]"));if(!t)try{new Function("")}catch(n){t=!0}return hi.isActive_=t},pi=["ng-","data-ng-","ng:","x-ng-"],$i=/[A-Z]/g,mi=!1,gi=1,vi=3,yi=8,bi=9,wi=11,xi={full:"1.3.13",major:1,minor:3,dot:13,codeName:"meticulous-riffleshuffle"};be.expando="ng339";var ki=be.cache={},Si=1,Ci=function(t,e,n){t.addEventListener(e,n,!1)},Ai=function(t,e,n){t.removeEventListener(e,n,!1)};be._data=function(t){return this.cache[t[this.expando]]||{}};var Oi=/([\:\-\_]+(.))/g,Ei=/^moz([A-Z])/,ji={mouseleave:"mouseout",mouseenter:"mouseover"},Ni=r("jqLite"),Ti=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,Mi=/<|&#?\w+;/,Pi=/<([\w:]+)/,Vi=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,qi={option:[1,'<select multiple="multiple">',"</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};qi.optgroup=qi.option,qi.tbody=qi.tfoot=qi.colgroup=qi.caption=qi.thead,qi.th=qi.td;var Di=be.prototype={ready:function(n){function r(){i||(i=!0,n())}var i=!1;"complete"===e.readyState?setTimeout(r):(this.on("DOMContentLoaded",r),be(t).on("load",r))},toString:function(){var t=[];return a(this,function(e){t.push(""+e)}),"["+t.join(", ")+"]"},eq:function(t){return t>=0?Qr(this[t]):Qr(this[this.length+t])},length:0,push:ii,sort:[].sort,splice:[].splice},Ri={};a("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(t){Ri[Wr(t)]=t});var Ii={};a("input,select,option,textarea,button,form,details".split(","),function(t){Ii[t]=!0});var _i={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern"};a({data:Ae,removeData:Se},function(t,e){be[e]=t}),a({data:Ae,inheritedData:Me,scope:function(t){return Qr.data(t,"$scope")||Me(t.parentNode||t,["$isolateScope","$scope"])},isolateScope:function(t){return Qr.data(t,"$isolateScope")||Qr.data(t,"$isolateScopeNoTemplate")},controller:Te,injector:function(t){return Me(t,"$injector")},removeAttr:function(t,e){t.removeAttribute(e)},hasClass:Oe,css:function(t,e,n){return e=$e(e),v(n)?(t.style[e]=n,void 0):t.style[e]},attr:function(t,e,r){var i=Wr(e);if(Ri[i]){if(!v(r))return t[e]||(t.attributes.getNamedItem(e)||p).specified?i:n;r?(t[e]=!0,t.setAttribute(e,i)):(t[e]=!1,t.removeAttribute(i))}else if(v(r))t.setAttribute(e,r);else if(t.getAttribute){var a=t.getAttribute(e,2);return null===a?n:a}},prop:function(t,e,n){return v(n)?(t[e]=n,void 0):t[e]},text:function(){function t(t,e){if(g(e)){var n=t.nodeType;return n===gi||n===vi?t.textContent:""}t.textContent=e}return t.$dv="",t}(),val:function(t,e){if(g(e)){if(t.multiple&&"select"===V(t)){var n=[];return a(t.options,function(t){t.selected&&n.push(t.value||t.text)}),0===n.length?null:n}return t.value}t.value=e},html:function(t,e){return g(e)?t.innerHTML:(xe(t,!0),t.innerHTML=e,void 0)},empty:Pe},function(t,e){be.prototype[e]=function(e,r){var i,a,o=this.length;if(t!==Pe&&(2==t.length&&t!==Oe&&t!==Te?e:r)===n){if(y(e)){for(i=0;o>i;i++)if(t===Ae)t(this[i],e);else for(a in e)t(this[i],a,e[a]);return this}for(var s=t.$dv,u=s===n?Math.min(o,1):o,l=0;u>l;l++){var c=t(this[l],e,r);s=s?s+c:c}return s}for(i=0;o>i;i++)t(this[i],e,r);return this}}),a({removeData:Se,on:function zo(t,e,n,r){if(v(r))throw Ni("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");if(ge(t)){var i=Ce(t,!0),a=i.events,o=i.handle;o||(o=i.handle=Ie(t,a));for(var s=e.indexOf(" ")>=0?e.split(" "):[e],u=s.length;u--;){e=s[u];var l=a[e];l||(a[e]=[],"mouseenter"===e||"mouseleave"===e?zo(t,ji[e],function(t){var n=this,r=t.relatedTarget;(!r||r!==n&&!n.contains(r))&&o(t,e)}):"$destroy"!==e&&Ci(t,e,o),l=a[e]),l.push(n)}}},off:ke,one:function(t,e,n){t=Qr(t),t.on(e,function r(){t.off(e,n),t.off(e,r)}),t.on(e,n)},replaceWith:function(t,e){var n,r=t.parentNode;xe(t),a(new be(e),function(e){n?r.insertBefore(e,n.nextSibling):r.replaceChild(e,t),n=e})},children:function(t){var e=[];return a(t.childNodes,function(t){t.nodeType===gi&&e.push(t)}),e},contents:function(t){return t.contentDocument||t.childNodes||[]},append:function(t,e){var n=t.nodeType;if(n===gi||n===wi){e=new be(e);for(var r=0,i=e.length;i>r;r++){var a=e[r];t.appendChild(a)}}},prepend:function(t,e){if(t.nodeType===gi){var n=t.firstChild;a(new be(e),function(e){t.insertBefore(e,n)})}},wrap:function(t,e){e=Qr(e).eq(0).clone()[0];var n=t.parentNode;n&&n.replaceChild(e,t),e.appendChild(t)},remove:Ve,detach:function(t){Ve(t,!0)},after:function(t,e){var n=t,r=t.parentNode;e=new be(e);for(var i=0,a=e.length;a>i;i++){var o=e[i];r.insertBefore(o,n.nextSibling),n=o}},addClass:je,removeClass:Ee,toggleClass:function(t,e,n){e&&a(e.split(" "),function(e){var r=n;g(r)&&(r=!Oe(t,e)),(r?je:Ee)(t,e)})},parent:function(t){var e=t.parentNode;return e&&e.nodeType!==wi?e:null},next:function(t){return t.nextElementSibling},find:function(t,e){return t.getElementsByTagName?t.getElementsByTagName(e):[]},clone:we,triggerHandler:function(t,e,n){var r,i,o,s=e.type||e,u=Ce(t),l=u&&u.events,c=l&&l[s];c&&(r={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return this.defaultPrevented===!0},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return this.immediatePropagationStopped===!0},stopPropagation:p,type:s,target:t},e.type&&(r=f(r,e)),i=R(c),o=n?[r].concat(n):[r],a(i,function(e){r.isImmediatePropagationStopped()||e.apply(t,o)}))}},function(t,e){be.prototype[e]=function(e,n,r){for(var i,a=0,o=this.length;o>a;a++)g(i)?(i=t(this[a],e,n,r),v(i)&&(i=Qr(i))):Ne(i,t(this[a],e,n,r));return v(i)?i:this},be.prototype.bind=be.prototype.on,be.prototype.unbind=be.prototype.off}),Le.prototype={put:function(t,e){this[Ue(t,this.nextUid)]=e},get:function(t){return this[Ue(t,this.nextUid)]},remove:function(t){var e=this[t=Ue(t,this.nextUid)];return delete this[t],e}};var Ui=/^function\s*[^\(]*\(\s*([^\)]*)\)/m,Li=/,/,Fi=/^\s*(_?)(\S+?)\1\s*$/,Hi=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,Bi=r("$injector");Be.$$annotate=He;var zi=r("$animate"),Gi=["$provide",function(t){this.$$selectors={},this.register=function(e,n){var r=e+"-animation";if(e&&"."!=e.charAt(0))throw zi("notcsel","Expecting class selector starting with '.' got '{0}'.",e);this.$$selectors[e.substr(1)]=r,t.factory(r,n)},this.classNameFilter=function(t){return 1===arguments.length&&(this.$$classNameFilter=t instanceof RegExp?t:null),this.$$classNameFilter},this.$get=["$$q","$$asyncCallback","$rootScope",function(t,e,n){function r(e){var r,i=t.defer();return i.promise.$$cancelFn=function(){r&&r()},n.$$postDigest(function(){r=e(function(){i.resolve()})}),i.promise}function i(t,e){var n=[],r=[],i=le();return a((t.attr("class")||"").split(/\s+/),function(t){i[t]=!0}),a(e,function(t,e){var a=i[e];t===!1&&a?r.push(e):t!==!0||a||n.push(e)}),n.length+r.length>0&&[n.length?n:null,r.length?r:null]}function o(t,e,n){for(var r=0,i=e.length;i>r;++r){var a=e[r];t[a]=n}}function s(){return l||(l=t.defer(),e(function(){l.resolve(),l=null})),l.promise}function u(t,e){if(si.isObject(e)){var n=f(e.from||{},e.to||{});t.css(n)}}var l;return{animate:function(t,e,n){return u(t,{from:e,to:n}),s()},enter:function(t,e,n,r){return u(t,r),n?n.after(t):e.prepend(t),s()},leave:function(t){return t.remove(),s()},move:function(t,e,n,r){return this.enter(t,e,n,r)},addClass:function(t,e,n){return this.setClass(t,e,[],n)},$$addClassImmediately:function(t,e,n){return t=Qr(t),e=b(e)?e:ci(e)?e.join(" "):"",a(t,function(t){je(t,e)}),u(t,n),s()},removeClass:function(t,e,n){return this.setClass(t,[],e,n)},$$removeClassImmediately:function(t,e,n){return t=Qr(t),e=b(e)?e:ci(e)?e.join(" "):"",a(t,function(t){Ee(t,e)}),u(t,n),s()},setClass:function(t,e,n,a){var s=this,u="$$animateClasses",l=!1;t=Qr(t);var c=t.data(u);c?a&&c.options&&(c.options=si.extend(c.options||{},a)):(c={classes:{},options:a},l=!0);var f=c.classes;return e=ci(e)?e:e.split(" "),n=ci(n)?n:n.split(" "),o(f,e,!0),o(f,n,!1),l&&(c.promise=r(function(e){var n=t.data(u);if(t.removeData(u),n){var r=i(t,n.classes);r&&s.$$setClassImmediately(t,r[0],r[1],n.options)}e()}),t.data(u,c)),c.promise},$$setClassImmediately:function(t,e,n,r){return e&&this.$$addClassImmediately(t,e),n&&this.$$removeClassImmediately(t,n),u(t,r),s()},enabled:p,cancel:p}}]}],Wi=r("$compile");Ke.$inject=["$provide","$$sanitizeUriProvider"];var Ji=/^((?:x|data)[\:\-_])/i,Yi=r("$controller"),Zi="application/json",Ki={"Content-Type":Zi+";charset=utf-8"},Xi=/^\[|^\{(?!\{)/,Qi={"[":/]$/,"{":/}$/},ta=/^\)\]\}',?\n/,ea=r("$interpolate"),na=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,ra={http:80,https:443,ftp:21},ia=r("$location"),aa={$$html5:!1,$$replace:!1,absUrl:jn("$$absUrl"),url:function(t){if(g(t))return this.$$url;
 +
var e=na.exec(t);return(e[1]||""===t)&&this.path(decodeURIComponent(e[1])),(e[2]||e[1]||""===t)&&this.search(e[3]||""),this.hash(e[5]||""),this},protocol:jn("$$protocol"),host:jn("$$host"),port:jn("$$port"),path:Nn("$$path",function(t){return t=null!==t?t.toString():"","/"==t.charAt(0)?t:"/"+t}),search:function(t,e){switch(arguments.length){case 0:return this.$$search;case 1:if(b(t)||w(t))t=t.toString(),this.$$search=W(t);else{if(!y(t))throw ia("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");t=D(t,{}),a(t,function(e,n){null==e&&delete t[n]}),this.$$search=t}break;default:g(e)||null===e?delete this.$$search[t]:this.$$search[t]=e}return this.$$compose(),this},hash:Nn("$$hash",function(t){return null!==t?t.toString():""}),replace:function(){return this.$$replace=!0,this}};a([En,On,An],function(t){t.prototype=Object.create(aa),t.prototype.state=function(e){if(!arguments.length)return this.$$state;if(t!==An||!this.$$html5)throw ia("nostate","History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API");return this.$$state=g(e)?null:e,this}});var oa=r("$parse"),sa=Function.prototype.call,ua=Function.prototype.apply,la=Function.prototype.bind,ca=le();a({"null":function(){return null},"true":function(){return!0},"false":function(){return!1},undefined:function(){}},function(t,e){t.constant=t.literal=t.sharedGetter=!0,ca[e]=t}),ca["this"]=function(t){return t},ca["this"].sharedGetter=!0;var fa=f(le(),{"+":function(t,e,r,i){return r=r(t,e),i=i(t,e),v(r)?v(i)?r+i:r:v(i)?i:n},"-":function(t,e,n,r){return n=n(t,e),r=r(t,e),(v(n)?n:0)-(v(r)?r:0)},"*":function(t,e,n,r){return n(t,e)*r(t,e)},"/":function(t,e,n,r){return n(t,e)/r(t,e)},"%":function(t,e,n,r){return n(t,e)%r(t,e)},"===":function(t,e,n,r){return n(t,e)===r(t,e)},"!==":function(t,e,n,r){return n(t,e)!==r(t,e)},"==":function(t,e,n,r){return n(t,e)==r(t,e)},"!=":function(t,e,n,r){return n(t,e)!=r(t,e)},"<":function(t,e,n,r){return n(t,e)<r(t,e)},">":function(t,e,n,r){return n(t,e)>r(t,e)},"<=":function(t,e,n,r){return n(t,e)<=r(t,e)},">=":function(t,e,n,r){return n(t,e)>=r(t,e)},"&&":function(t,e,n,r){return n(t,e)&&r(t,e)},"||":function(t,e,n,r){return n(t,e)||r(t,e)},"!":function(t,e,n){return!n(t,e)},"=":!0,"|":!0}),da={n:"\n",f:"\f",r:"\r",t:" ",v:"�","'":"'",'"':'"'},ha=function(t){this.options=t};ha.prototype={constructor:ha,lex:function(t){for(this.text=t,this.index=0,this.tokens=[];this.index<this.text.length;){var e=this.text.charAt(this.index);if('"'===e||"'"===e)this.readString(e);else if(this.isNumber(e)||"."===e&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdent(e))this.readIdent();else if(this.is(e,"(){}[].,;:?"))this.tokens.push({index:this.index,text:e}),this.index++;else if(this.isWhitespace(e))this.index++;else{var n=e+this.peek(),r=n+this.peek(2),i=fa[e],a=fa[n],o=fa[r];if(i||a||o){var s=o?r:a?n:e;this.tokens.push({index:this.index,text:s,operator:!0}),this.index+=s.length}else this.throwError("Unexpected next character ",this.index,this.index+1)}}return this.tokens},is:function(t,e){return-1!==e.indexOf(t)},peek:function(t){var e=t||1;return this.index+e<this.text.length?this.text.charAt(this.index+e):!1},isNumber:function(t){return t>="0"&&"9">=t&&"string"==typeof t},isWhitespace:function(t){return" "===t||"\r"===t||" "===t||"\n"===t||"�"===t||" "===t},isIdent:function(t){return t>="a"&&"z">=t||t>="A"&&"Z">=t||"_"===t||"$"===t},isExpOperator:function(t){return"-"===t||"+"===t||this.isNumber(t)},throwError:function(t,e,n){n=n||this.index;var r=v(e)?"s "+e+"-"+this.index+" ["+this.text.substring(e,n)+"]":" "+n;throw oa("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",t,r,this.text)},readNumber:function(){for(var t="",e=this.index;this.index<this.text.length;){var n=Wr(this.text.charAt(this.index));if("."==n||this.isNumber(n))t+=n;else{var r=this.peek();if("e"==n&&this.isExpOperator(r))t+=n;else if(this.isExpOperator(n)&&r&&this.isNumber(r)&&"e"==t.charAt(t.length-1))t+=n;else{if(!this.isExpOperator(n)||r&&this.isNumber(r)||"e"!=t.charAt(t.length-1))break;this.throwError("Invalid exponent")}}this.index++}this.tokens.push({index:e,text:t,constant:!0,value:Number(t)})},readIdent:function(){for(var t=this.index;this.index<this.text.length;){var e=this.text.charAt(this.index);if(!this.isIdent(e)&&!this.isNumber(e))break;this.index++}this.tokens.push({index:t,text:this.text.slice(t,this.index),identifier:!0})},readString:function(t){var e=this.index;this.index++;for(var n="",r=t,i=!1;this.index<this.text.length;){var a=this.text.charAt(this.index);if(r+=a,i){if("u"===a){var o=this.text.substring(this.index+1,this.index+5);o.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+o+"]"),this.index+=4,n+=String.fromCharCode(parseInt(o,16))}else{var s=da[a];n+=s||a}i=!1}else if("\\"===a)i=!0;else{if(a===t)return this.index++,this.tokens.push({index:e,text:r,constant:!0,value:n}),void 0;n+=a}this.index++}this.throwError("Unterminated quote",e)}};var pa=function(t,e,n){this.lexer=t,this.$filter=e,this.options=n};pa.ZERO=f(function(){return 0},{sharedGetter:!0,constant:!0}),pa.prototype={constructor:pa,parse:function(t){this.text=t,this.tokens=this.lexer.lex(t);var e=this.statements();return 0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]),e.literal=!!e.literal,e.constant=!!e.constant,e},primary:function(){var t;this.expect("(")?(t=this.filterChain(),this.consume(")")):this.expect("[")?t=this.arrayDeclaration():this.expect("{")?t=this.object():this.peek().identifier&&this.peek().text in ca?t=ca[this.consume().text]:this.peek().identifier?t=this.identifier():this.peek().constant?t=this.constant():this.throwError("not a primary expression",this.peek());for(var e,n;e=this.expect("(","[",".");)"("===e.text?(t=this.functionCall(t,n),n=null):"["===e.text?(n=t,t=this.objectIndex(t)):"."===e.text?(n=t,t=this.fieldAccess(t)):this.throwError("IMPOSSIBLE");return t},throwError:function(t,e){throw oa("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",e.text,t,e.index+1,this.text,this.text.substring(e.index))},peekToken:function(){if(0===this.tokens.length)throw oa("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]},peek:function(t,e,n,r){return this.peekAhead(0,t,e,n,r)},peekAhead:function(t,e,n,r,i){if(this.tokens.length>t){var a=this.tokens[t],o=a.text;if(o===e||o===n||o===r||o===i||!e&&!n&&!r&&!i)return a}return!1},expect:function(t,e,n,r){var i=this.peek(t,e,n,r);return i?(this.tokens.shift(),i):!1},consume:function(t){if(0===this.tokens.length)throw oa("ueoe","Unexpected end of expression: {0}",this.text);var e=this.expect(t);return e||this.throwError("is unexpected, expecting ["+t+"]",this.peek()),e},unaryFn:function(t,e){var n=fa[t];return f(function(t,r){return n(t,r,e)},{constant:e.constant,inputs:[e]})},binaryFn:function(t,e,n,r){var i=fa[e];return f(function(e,r){return i(e,r,t,n)},{constant:t.constant&&n.constant,inputs:!r&&[t,n]})},identifier:function(){for(var t=this.consume().text;this.peek(".")&&this.peekAhead(1).identifier&&!this.peekAhead(2,"(");)t+=this.consume().text+this.consume().text;return Ln(t,this.options,this.text)},constant:function(){var t=this.consume().value;return f(function(){return t},{constant:!0,literal:!0})},statements:function(){for(var t=[];;)if(this.tokens.length>0&&!this.peek("}",")",";","]")&&t.push(this.filterChain()),!this.expect(";"))return 1===t.length?t[0]:function(e,n){for(var r,i=0,a=t.length;a>i;i++)r=t[i](e,n);return r}},filterChain:function(){for(var t,e=this.expression();t=this.expect("|");)e=this.filter(e);return e},filter:function(t){var e,r,i=this.$filter(this.consume().text);if(this.peek(":"))for(e=[],r=[];this.expect(":");)e.push(this.expression());var a=[t].concat(e||[]);return f(function(a,o){var s=t(a,o);if(r){r[0]=s;for(var u=e.length;u--;)r[u+1]=e[u](a,o);return i.apply(n,r)}return i(s)},{constant:!i.$stateful&&a.every(Dn),inputs:!i.$stateful&&a})},expression:function(){return this.assignment()},assignment:function(){var t,e,n=this.ternary();return(e=this.expect("="))?(n.assign||this.throwError("implies assignment but ["+this.text.substring(0,e.index)+"] can not be assigned to",e),t=this.ternary(),f(function(e,r){return n.assign(e,t(e,r),r)},{inputs:[n,t]})):n},ternary:function(){var t,e,n=this.logicalOR();if((e=this.expect("?"))&&(t=this.assignment(),this.consume(":"))){var r=this.assignment();return f(function(e,i){return n(e,i)?t(e,i):r(e,i)},{constant:n.constant&&t.constant&&r.constant})}return n},logicalOR:function(){for(var t,e=this.logicalAND();t=this.expect("||");)e=this.binaryFn(e,t.text,this.logicalAND(),!0);return e},logicalAND:function(){for(var t,e=this.equality();t=this.expect("&&");)e=this.binaryFn(e,t.text,this.equality(),!0);return e},equality:function(){for(var t,e=this.relational();t=this.expect("==","!=","===","!==");)e=this.binaryFn(e,t.text,this.relational());return e},relational:function(){for(var t,e=this.additive();t=this.expect("<",">","<=",">=");)e=this.binaryFn(e,t.text,this.additive());return e},additive:function(){for(var t,e=this.multiplicative();t=this.expect("+","-");)e=this.binaryFn(e,t.text,this.multiplicative());return e},multiplicative:function(){for(var t,e=this.unary();t=this.expect("*","/","%");)e=this.binaryFn(e,t.text,this.unary());return e},unary:function(){var t;return this.expect("+")?this.primary():(t=this.expect("-"))?this.binaryFn(pa.ZERO,t.text,this.unary()):(t=this.expect("!"))?this.unaryFn(t.text,this.unary()):this.primary()},fieldAccess:function(t){var e=this.identifier();return f(function(r,i,a){var o=a||t(r,i);return null==o?n:e(o)},{assign:function(n,r,i){var a=t(n,i);return a||t.assign(n,a={},i),e.assign(a,r)}})},objectIndex:function(t){var e=this.text,r=this.expression();return this.consume("]"),f(function(i,a){var o,s=t(i,a),u=r(i,a);return Pn(u,e),s?o=Vn(s[u],e):n},{assign:function(n,i,a){var o=Pn(r(n,a),e),s=Vn(t(n,a),e);return s||t.assign(n,s={},a),s[o]=i}})},functionCall:function(t,e){var r=[];if(")"!==this.peekToken().text)do r.push(this.expression());while(this.expect(","));this.consume(")");var i=this.text,a=r.length?[]:null;return function(o,s){var u=e?e(o,s):v(e)?n:o,l=t(o,s,u)||p;if(a)for(var c=r.length;c--;)a[c]=Vn(r[c](o,s),i);Vn(u,i),qn(l,i);var f=l.apply?l.apply(u,a):l(a[0],a[1],a[2],a[3],a[4]);return a&&(a.length=0),Vn(f,i)}},arrayDeclaration:function(){var t=[];if("]"!==this.peekToken().text)do{if(this.peek("]"))break;t.push(this.expression())}while(this.expect(","));return this.consume("]"),f(function(e,n){for(var r=[],i=0,a=t.length;a>i;i++)r.push(t[i](e,n));return r},{literal:!0,constant:t.every(Dn),inputs:t})},object:function(){var t=[],e=[];if("}"!==this.peekToken().text)do{if(this.peek("}"))break;var n=this.consume();n.constant?t.push(n.value):n.identifier?t.push(n.text):this.throwError("invalid key",n),this.consume(":"),e.push(this.expression())}while(this.expect(","));return this.consume("}"),f(function(n,r){for(var i={},a=0,o=e.length;o>a;a++)i[t[a]]=e[a](n,r);return i},{literal:!0,constant:e.every(Dn),inputs:e})}};var $a=le(),ma=le(),ga=Object.prototype.valueOf,va=r("$sce"),ya={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},Wi=r("$compile"),ba=e.createElement("a"),wa=ir(t.location.href);sr.$inject=["$provide"],fr.$inject=["$locale"],dr.$inject=["$locale"];var xa=".",ka={yyyy:$r("FullYear",4),yy:$r("FullYear",2,0,!0),y:$r("FullYear",1),MMMM:mr("Month"),MMM:mr("Month",!0),MM:$r("Month",2,1),M:$r("Month",1,1),dd:$r("Date",2),d:$r("Date",1),HH:$r("Hours",2),H:$r("Hours",1),hh:$r("Hours",2,-12),h:$r("Hours",1,-12),mm:$r("Minutes",2),m:$r("Minutes",1),ss:$r("Seconds",2),s:$r("Seconds",1),sss:$r("Milliseconds",3),EEEE:mr("Day"),EEE:mr("Day",!0),a:wr,Z:gr,ww:br(2),w:br(1)},Sa=/((?:[^yMdHhmsaZEw']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|w+))(.*)/,Ca=/^\-?\d+$/;xr.$inject=["$locale"];var Aa=m(Wr),Oa=m(Yr);Cr.$inject=["$parse"];var Ea=m({restrict:"E",compile:function(t,e){return e.href||e.xlinkHref||e.name?void 0:function(t,e){if("a"===e[0].nodeName.toLowerCase()){var n="[object SVGAnimatedString]"===ai.call(e.prop("href"))?"xlink:href":"href";e.on("click",function(t){e.attr(n)||t.preventDefault()})}}}}),ja={};a(Ri,function(t,e){if("multiple"!=t){var n=Xe("ng-"+e);ja[n]=function(){return{restrict:"A",priority:100,link:function(t,r,i){t.$watch(i[n],function(t){i.$set(e,!!t)})}}}}}),a(_i,function(t,e){ja[e]=function(){return{priority:100,link:function(t,n,r){if("ngPattern"===e&&"/"==r.ngPattern.charAt(0)){var i=r.ngPattern.match(zr);if(i)return r.$set("ngPattern",new RegExp(i[1],i[2])),void 0}t.$watch(r[e],function(t){r.$set(e,t)})}}}}),a(["src","srcset","href"],function(t){var e=Xe("ng-"+t);ja[e]=function(){return{priority:99,link:function(n,r,i){var a=t,o=t;"href"===t&&"[object SVGAnimatedString]"===ai.call(r.prop("href"))&&(o="xlinkHref",i.$attr[o]="xlink:href",a=null),i.$observe(e,function(e){return e?(i.$set(o,e),Xr&&a&&r.prop(a,i[o]),void 0):("href"===t&&i.$set(o,null),void 0)})}}}});var Na={$addControl:p,$$renameControl:Or,$removeControl:p,$setValidity:p,$setDirty:p,$setPristine:p,$setSubmitted:p},Ta="ng-submitted";Er.$inject=["$element","$attrs","$scope","$animate","$interpolate"];var Ma=function(t){return["$timeout",function(e){var r={name:"form",restrict:t?"EAC":"E",controller:Er,compile:function(t){return t.addClass(ho).addClass(co),{pre:function(t,r,i,a){if(!("action"in i)){var o=function(e){t.$apply(function(){a.$commitViewValue(),a.$setSubmitted()}),e.preventDefault()};Ci(r[0],"submit",o),r.on("$destroy",function(){e(function(){Ai(r[0],"submit",o)},0,!1)})}var s=a.$$parentForm,u=a.$name;u&&(Rn(t,null,u,a,u),i.$observe(i.name?"name":"ngForm",function(e){u!==e&&(Rn(t,null,u,n,u),u=e,Rn(t,null,u,a,u),s.$$renameControl(a,u))})),r.on("$destroy",function(){s.$removeControl(a),u&&Rn(t,null,u,n,u),f(a,Na)})}}}};return r}]},Pa=Ma(),Va=Ma(!0),qa=/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/,Da=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,Ra=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,Ia=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,_a=/^(\d{4})-(\d{2})-(\d{2})$/,Ua=/^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,La=/^(\d{4})-W(\d\d)$/,Fa=/^(\d{4})-(\d\d)$/,Ha=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Ba={text:Nr,date:Vr("date",_a,Pr(_a,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":Vr("datetimelocal",Ua,Pr(Ua,["yyyy","MM","dd","HH","mm","ss","sss"]),"yyyy-MM-ddTHH:mm:ss.sss"),time:Vr("time",Ha,Pr(Ha,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:Vr("week",La,Mr,"yyyy-Www"),month:Vr("month",Fa,Pr(Fa,["yyyy","MM"]),"yyyy-MM"),number:Dr,url:Rr,email:Ir,radio:_r,checkbox:Lr,hidden:p,button:p,submit:p,reset:p,file:p},za=["$browser","$sniffer","$filter","$parse",function(t,e,n,r){return{restrict:"E",require:["?ngModel"],link:{pre:function(i,a,o,s){s[0]&&(Ba[Wr(o.type)]||Ba.text)(i,a,o,s[0],e,t,n,r)}}}}],Ga=/^(true|false|\d+)$/,Wa=function(){return{restrict:"A",priority:100,compile:function(t,e){return Ga.test(e.ngValue)?function(t,e,n){n.$set("value",t.$eval(n.ngValue))}:function(t,e,n){t.$watch(n.ngValue,function(t){n.$set("value",t)})}}}},Ja=["$compile",function(t){return{restrict:"AC",compile:function(e){return t.$$addBindingClass(e),function(e,r,i){t.$$addBindingInfo(r,i.ngBind),r=r[0],e.$watch(i.ngBind,function(t){r.textContent=t===n?"":t})}}}}],Ya=["$interpolate","$compile",function(t,e){return{compile:function(r){return e.$$addBindingClass(r),function(r,i,a){var o=t(i.attr(a.$attr.ngBindTemplate));e.$$addBindingInfo(i,o.expressions),i=i[0],a.$observe("ngBindTemplate",function(t){i.textContent=t===n?"":t})}}}}],Za=["$sce","$parse","$compile",function(t,e,n){return{restrict:"A",compile:function(r,i){var a=e(i.ngBindHtml),o=e(i.ngBindHtml,function(t){return(t||"").toString()});return n.$$addBindingClass(r),function(e,r,i){n.$$addBindingInfo(r,i.ngBindHtml),e.$watch(o,function(){r.html(t.getTrustedHtml(a(e))||"")})}}}}],Ka=m({restrict:"A",require:"ngModel",link:function(t,e,n,r){r.$viewChangeListeners.push(function(){t.$eval(n.ngChange)})}}),Xa=Fr("",!0),Qa=Fr("Odd",0),to=Fr("Even",1),eo=Ar({compile:function(t,e){e.$set("ngCloak",n),t.removeClass("ng-cloak")}}),no=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],ro={},io={blur:!0,focus:!0};a("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(t){var e=Xe("ng-"+t);ro[e]=["$parse","$rootScope",function(n,r){return{restrict:"A",compile:function(i,a){var o=n(a[e],null,!0);return function(e,n){n.on(t,function(n){var i=function(){o(e,{$event:n})};io[t]&&r.$$phase?e.$evalAsync(i):e.$apply(i)})}}}}]});var ao=["$animate",function(t){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(n,r,i,a,o){var s,u,l;n.$watch(i.ngIf,function(n){n?u||o(function(n,a){u=a,n[n.length++]=e.createComment(" end ngIf: "+i.ngIf+" "),s={clone:n},t.enter(n,r.parent(),r)}):(l&&(l.remove(),l=null),u&&(u.$destroy(),u=null),s&&(l=ue(s.clone),t.leave(l).then(function(){l=null}),s=null))})}}}],oo=["$templateRequest","$anchorScroll","$animate","$sce",function(t,e,n,r){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:si.noop,compile:function(i,a){var o=a.ngInclude||a.src,s=a.onload||"",u=a.autoscroll;return function(i,a,l,c,f){var d,h,p,$=0,m=function(){h&&(h.remove(),h=null),d&&(d.$destroy(),d=null),p&&(n.leave(p).then(function(){h=null}),h=p,p=null)};i.$watch(r.parseAsResourceUrl(o),function(r){var o=function(){!v(u)||u&&!i.$eval(u)||e()},l=++$;r?(t(r,!0).then(function(t){if(l===$){var e=i.$new();c.template=t;var u=f(e,function(t){m(),n.enter(t,null,a).then(o)});d=e,p=u,d.$emit("$includeContentLoaded",r),i.$eval(s)}},function(){l===$&&(m(),i.$emit("$includeContentError",r))}),i.$emit("$includeContentRequested",r)):(m(),c.template=null)})}}}}],so=["$compile",function(t){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(n,r,i,a){return/SVG/.test(r[0].toString())?(r.empty(),t(ve(a.template,e).childNodes)(n,function(t){r.append(t)},{futureParentElement:r}),void 0):(r.html(a.template),t(r.contents())(n),void 0)}}}],uo=Ar({priority:450,compile:function(){return{pre:function(t,e,n){t.$eval(n.ngInit)}}}}),lo=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(t,e,r,i){var o=e.attr(r.$attr.ngList)||", ",s="false"!==r.ngTrim,u=s?fi(o):o,l=function(t){if(!g(t)){var e=[];return t&&a(t.split(u),function(t){t&&e.push(s?fi(t):t)}),e}};i.$parsers.push(l),i.$formatters.push(function(t){return ci(t)?t.join(o):n}),i.$isEmpty=function(t){return!t||!t.length}}}},co="ng-valid",fo="ng-invalid",ho="ng-pristine",po="ng-dirty",$o="ng-untouched",mo="ng-touched",go="ng-pending",vo=new r("ngModel"),yo=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function(t,e,r,i,o,s,u,l,c,f){this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$$rawModelValue=n,this.$validators={},this.$asyncValidators={},this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$untouched=!0,this.$touched=!1,this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$error={},this.$$success={},this.$pending=n,this.$name=f(r.name||"",!1)(t);var d=o(r.ngModel),h=d.assign,$=d,m=h,y=null,b=this;this.$$setOptions=function(t){if(b.$options=t,t&&t.getterSetter){var e=o(r.ngModel+"()"),n=o(r.ngModel+"($$$p)");$=function(t){var n=d(t);return k(n)&&(n=e(t)),n},m=function(t){k(d(t))?n(t,{$$$p:b.$modelValue}):h(t,b.$modelValue)}}else if(!d.assign)throw vo("nonassign","Expression '{0}' is non-assignable. Element: {1}",r.ngModel,z(i))},this.$render=p,this.$isEmpty=function(t){return g(t)||""===t||null===t||t!==t};var x=i.inheritedData("$formController")||Na,S=0;Hr({ctrl:this,$element:i,set:function(t,e){t[e]=!0},unset:function(t,e){delete t[e]},parentForm:x,$animate:s}),this.$setPristine=function(){b.$dirty=!1,b.$pristine=!0,s.removeClass(i,po),s.addClass(i,ho)},this.$setDirty=function(){b.$dirty=!0,b.$pristine=!1,s.removeClass(i,ho),s.addClass(i,po),x.$setDirty()},this.$setUntouched=function(){b.$touched=!1,b.$untouched=!0,s.setClass(i,$o,mo)},this.$setTouched=function(){b.$touched=!0,b.$untouched=!1,s.setClass(i,mo,$o)},this.$rollbackViewValue=function(){u.cancel(y),b.$viewValue=b.$$lastCommittedViewValue,b.$render()},this.$validate=function(){if(!w(b.$modelValue)||!isNaN(b.$modelValue)){var t=b.$$lastCommittedViewValue,e=b.$$rawModelValue,r=b.$$parserName||"parse",i=b.$error[r]?!1:n,a=b.$valid,o=b.$modelValue,s=b.$options&&b.$options.allowInvalid;b.$$runValidators(i,e,t,function(t){s||a===t||(b.$modelValue=t?e:n,b.$modelValue!==o&&b.$$writeModelToScope())})}},this.$$runValidators=function(t,e,r,i){function o(t){var e=b.$$parserName||"parse";if(t===n)l(e,null);else if(l(e,t),!t)return a(b.$validators,function(t,e){l(e,null)}),a(b.$asyncValidators,function(t,e){l(e,null)}),!1;return!0}function s(){var t=!0;return a(b.$validators,function(n,i){var a=n(e,r);t=t&&a,l(i,a)}),t?!0:(a(b.$asyncValidators,function(t,e){l(e,null)}),!1)}function u(){var t=[],i=!0;a(b.$asyncValidators,function(a,o){var s=a(e,r);if(!T(s))throw vo("$asyncValidators","Expected asynchronous validator to return a promise but got '{0}' instead.",s);l(o,n),t.push(s.then(function(){l(o,!0)},function(){i=!1,l(o,!1)}))}),t.length?c.all(t).then(function(){f(i)},p):f(!0)}function l(t,e){d===S&&b.$setValidity(t,e)}function f(t){d===S&&i(t)}S++;var d=S;return o(t)?s()?(u(),void 0):(f(!1),void 0):(f(!1),void 0)},this.$commitViewValue=function(){var t=b.$viewValue;u.cancel(y),(b.$$lastCommittedViewValue!==t||""===t&&b.$$hasNativeValidators)&&(b.$$lastCommittedViewValue=t,b.$pristine&&this.$setDirty(),this.$$parseAndValidate())},this.$$parseAndValidate=function(){function e(){b.$modelValue!==s&&b.$$writeModelToScope()}var r=b.$$lastCommittedViewValue,i=r,a=g(i)?n:!0;if(a)for(var o=0;o<b.$parsers.length;o++)if(i=b.$parsers[o](i),g(i)){a=!1;break}w(b.$modelValue)&&isNaN(b.$modelValue)&&(b.$modelValue=$(t));var s=b.$modelValue,u=b.$options&&b.$options.allowInvalid;b.$$rawModelValue=i,u&&(b.$modelValue=i,e()),b.$$runValidators(a,i,b.$$lastCommittedViewValue,function(t){u||(b.$modelValue=t?i:n,e())})},this.$$writeModelToScope=function(){m(t,b.$modelValue),a(b.$viewChangeListeners,function(t){try{t()}catch(n){e(n)}})},this.$setViewValue=function(t,e){b.$viewValue=t,(!b.$options||b.$options.updateOnDefault)&&b.$$debounceViewValueCommit(e)},this.$$debounceViewValueCommit=function(e){var n,r=0,i=b.$options;i&&v(i.debounce)&&(n=i.debounce,w(n)?r=n:w(n[e])?r=n[e]:w(n["default"])&&(r=n["default"])),u.cancel(y),r?y=u(function(){b.$commitViewValue()},r):l.$$phase?b.$commitViewValue():t.$apply(function(){b.$commitViewValue()})},t.$watch(function(){var e=$(t);if(e!==b.$modelValue){b.$modelValue=b.$$rawModelValue=e;for(var r=b.$formatters,i=r.length,a=e;i--;)a=r[i](a);b.$viewValue!==a&&(b.$viewValue=b.$$lastCommittedViewValue=a,b.$render(),b.$$runValidators(n,e,a,p))}return e})}],bo=["$rootScope",function(t){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:yo,priority:1,compile:function(e){return e.addClass(ho).addClass($o).addClass(co),{pre:function(t,e,n,r){var i=r[0],a=r[1]||Na;i.$$setOptions(r[2]&&r[2].$options),a.$addControl(i),n.$observe("name",function(t){i.$name!==t&&a.$$renameControl(i,t)}),t.$on("$destroy",function(){a.$removeControl(i)})},post:function(e,n,r,i){var a=i[0];a.$options&&a.$options.updateOn&&n.on(a.$options.updateOn,function(t){a.$$debounceViewValueCommit(t&&t.type)}),n.on("blur",function(){a.$touched||(t.$$phase?e.$evalAsync(a.$setTouched):e.$apply(a.$setTouched))})}}}}}],wo=/(\s+|^)default(\s+|$)/,xo=function(){return{restrict:"A",controller:["$scope","$attrs",function(t,e){var r=this;this.$options=t.$eval(e.ngModelOptions),this.$options.updateOn!==n?(this.$options.updateOnDefault=!1,this.$options.updateOn=fi(this.$options.updateOn.replace(wo,function(){return r.$options.updateOnDefault=!0," "}))):this.$options.updateOnDefault=!0}]}},ko=Ar({terminal:!0,priority:1e3}),So=["$locale","$interpolate",function(t,e){var n=/{}/g,r=/^when(Minus)?(.+)$/;return{restrict:"EA",link:function(i,o,s){function u(t){o.text(t||"")}var l,c=s.count,f=s.$attr.when&&o.attr(s.$attr.when),d=s.offset||0,h=i.$eval(f)||{},p={},$=e.startSymbol(),m=e.endSymbol(),g=$+c+"-"+d+m,v=si.noop;a(s,function(t,e){var n=r.exec(e);if(n){var i=(n[1]?"-":"")+Wr(n[2]);h[i]=o.attr(s.$attr[e])}}),a(h,function(t,r){p[r]=e(t.replace(n,g))}),i.$watch(c,function(e){var n=parseFloat(e),r=isNaN(n);r||n in h||(n=t.pluralCat(n-d)),n===l||r&&isNaN(l)||(v(),v=i.$watch(p[n],u),l=n)})}}}],Co=["$parse","$animate",function(t,o){var s="$$NG_REMOVED",u=r("ngRepeat"),l=function(t,e,n,r,i,a,o){t[n]=r,i&&(t[i]=a),t.$index=e,t.$first=0===e,t.$last=e===o-1,t.$middle=!(t.$first||t.$last),t.$odd=!(t.$even=0===(1&e))},c=function(t){return t.clone[0]},f=function(t){return t.clone[t.clone.length-1]};return{restrict:"A",multiElement:!0,transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,compile:function(r,d){var h=d.ngRepeat,p=e.createComment(" end ngRepeat: "+h+" "),$=h.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!$)throw u("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",h);var m=$[1],g=$[2],v=$[3],y=$[4];if($=m.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/),!$)throw u("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",m);var b=$[3]||$[1],w=$[2];if(v&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(v)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(v)))throw u("badident","alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.",v);var x,k,S,C,A={$id:Ue};return y?x=t(y):(S=function(t,e){return Ue(e)},C=function(t){return t}),function(t,e,r,d,$){x&&(k=function(e,n,r){return w&&(A[w]=e),A[b]=n,A.$index=r,x(t,A)});var m=le();t.$watchCollection(g,function(r){var d,g,y,x,A,O,E,j,N,T,M,P,V=e[0],q=le();if(v&&(t[v]=r),i(r))N=r,j=k||S;else{j=k||C,N=[];for(var D in r)r.hasOwnProperty(D)&&"$"!=D.charAt(0)&&N.push(D);N.sort()}for(x=N.length,M=new Array(x),d=0;x>d;d++)if(A=r===N?d:N[d],O=r[A],E=j(A,O,d),m[E])T=m[E],delete m[E],q[E]=T,M[d]=T;else{if(q[E])throw a(M,function(t){t&&t.scope&&(m[t.id]=t)}),u("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",h,E,O);M[d]={id:E,scope:n,clone:n},q[E]=!0}for(var R in m){if(T=m[R],P=ue(T.clone),o.leave(P),P[0].parentNode)for(d=0,g=P.length;g>d;d++)P[d][s]=!0;T.scope.$destroy()}for(d=0;x>d;d++)if(A=r===N?d:N[d],O=r[A],T=M[d],T.scope){y=V;do y=y.nextSibling;while(y&&y[s]);c(T)!=y&&o.move(ue(T.clone),null,Qr(V)),V=f(T),l(T.scope,d,b,O,w,A,x)}else $(function(t,e){T.scope=e;var n=p.cloneNode(!1);t[t.length++]=n,o.enter(t,null,Qr(V)),V=n,T.clone=t,q[T.id]=T,l(T.scope,d,b,O,w,A,x)});m=q})}}}}],Ao="ng-hide",Oo="ng-hide-animate",Eo=["$animate",function(t){return{restrict:"A",multiElement:!0,link:function(e,n,r){e.$watch(r.ngShow,function(e){t[e?"removeClass":"addClass"](n,Ao,{tempClasses:Oo})})}}}],jo=["$animate",function(t){return{restrict:"A",multiElement:!0,link:function(e,n,r){e.$watch(r.ngHide,function(e){t[e?"addClass":"removeClass"](n,Ao,{tempClasses:Oo})})}}}],No=Ar(function(t,e,n){t.$watchCollection(n.ngStyle,function(t,n){n&&t!==n&&a(n,function(t,n){e.css(n,"")}),t&&e.css(t)})}),To=["$animate",function(t){return{restrict:"EA",require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(n,r,i,o){var s=i.ngSwitch||i.on,u=[],l=[],c=[],f=[],d=function(t,e){return function(){t.splice(e,1)}};n.$watch(s,function(n){var r,i;for(r=0,i=c.length;i>r;++r)t.cancel(c[r]);for(c.length=0,r=0,i=f.length;i>r;++r){var s=ue(l[r].clone);f[r].$destroy();var h=c[r]=t.leave(s);h.then(d(c,r))}l.length=0,f.length=0,(u=o.cases["!"+n]||o.cases["?"])&&a(u,function(n){n.transclude(function(r,i){f.push(i);var a=n.element;r[r.length++]=e.createComment(" end ngSwitchWhen: ");var o={clone:r};l.push(o),t.enter(r,a.parent(),a)})})})}}}],Mo=Ar({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(t,e,n,r,i){r.cases["!"+n.ngSwitchWhen]=r.cases["!"+n.ngSwitchWhen]||[],r.cases["!"+n.ngSwitchWhen].push({transclude:i,element:e})}}),Po=Ar({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(t,e,n,r,i){r.cases["?"]=r.cases["?"]||[],r.cases["?"].push({transclude:i,element:e})}}),Vo=Ar({restrict:"EAC",link:function(t,e,n,i,a){if(!a)throw r("ngTransclude")("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",z(e));a(function(t){e.empty(),e.append(t)})}}),qo=["$templateCache",function(t){return{restrict:"E",terminal:!0,compile:function(e,n){if("text/ng-template"==n.type){var r=n.id,i=e[0].text;t.put(r,i)}}}}],Do=r("ngOptions"),Ro=m({restrict:"A",terminal:!0}),Io=["$compile","$parse",function(t,r){var i=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,s={$setViewValue:p};return{restrict:"E",require:["select","?ngModel"],controller:["$element","$scope","$attrs",function(t,e,n){var r,i,a=this,o={},u=s;a.databound=n.ngModel,a.init=function(t,e,n){u=t,r=e,i=n},a.addOption=function(e,n){oe(e,'"option value"'),o[e]=!0,u.$viewValue==e&&(t.val(e),i.parent()&&i.remove()),n&&n[0].hasAttribute("selected")&&(n[0].selected=!0)},a.removeOption=function(t){this.hasOption(t)&&(delete o[t],u.$viewValue===t&&this.renderUnknownOption(t))},a.renderUnknownOption=function(e){var n="? "+Ue(e)+" ?";i.val(n),t.prepend(i),t.val(n),i.prop("selected",!0)},a.hasOption=function(t){return o.hasOwnProperty(t)},e.$on("$destroy",function(){a.renderUnknownOption=p})}],link:function(s,u,l,c){function f(t,e,n,r){n.$render=function(){var t=n.$viewValue;r.hasOption(t)?(C.parent()&&C.remove(),e.val(t),""===t&&p.prop("selected",!0)):g(t)&&p?e.val(""):r.renderUnknownOption(t)},e.on("change",function(){t.$apply(function(){C.parent()&&C.remove(),n.$setViewValue(e.val())})})}function d(t,e,n){var r;n.$render=function(){var t=new Le(n.$viewValue);a(e.find("option"),function(e){e.selected=v(t.get(e.value))})},t.$watch(function(){I(r,n.$viewValue)||(r=R(n.$viewValue),n.$render())}),e.on("change",function(){t.$apply(function(){var t=[];a(e.find("option"),function(e){e.selected&&t.push(e.value)}),n.$setViewValue(t)})})}function h(e,s,u){function l(t,n,r){return I[O]=r,N&&(I[N]=n),t(e,I)}function c(){e.$apply(function(){var t,n=P(e)||[];if(y)t=[],a(s.val(),function(e){e=q?D[e]:e,t.push(f(e,n[e]))});else{var r=q?D[s.val()]:s.val();t=f(r,n[r])}u.$setViewValue(t),g()})}function f(t,e){if("?"===t)return n;if(""===t)return null;var r=j?j:M;return l(r,t,e)}function d(){var t,n=P(e);if(n&&ci(n)){t=new Array(n.length);for(var r=0,i=n.length;i>r;r++)t[r]=l(A,r,n[r]);return t}if(n){t={};for(var a in n)n.hasOwnProperty(a)&&(t[a]=l(A,a,n[a]))}return t}function h(t){var e;if(y)if(q&&ci(t)){e=new Le([]);for(var n=0;n<t.length;n++)e.put(l(q,null,t[n]),!0)}else e=new Le(t);else q&&(t=l(q,null,t));return function(n,r){var i;return i=q?q:j?j:M,y?v(e.remove(l(i,n,r))):t===l(i,n,r)}}function p(){x||(e.$$postDigest(g),x=!0)}function m(t,e,n){t[e]=t[e]||0,t[e]+=n?1:-1}function g(){x=!1;var t,n,r,i,c,f,d,p,g,b,C,O,E,j,M,V,_,U={"":[]},L=[""],F=u.$viewValue,H=P(e)||[],B=N?o(H):H,z={},G=h(F),W=!1;for(D={},O=0;b=B.length,b>O;O++)d=O,N&&(d=B[O],"$"===d.charAt(0))||(p=H[d],t=l(T,d,p)||"",(n=U[t])||(n=U[t]=[],L.push(t)),E=G(d,p),W=W||E,V=l(A,d,p),V=v(V)?V:"",_=q?q(e,I):N?B[O]:O,q&&(D[_]=d),n.push({id:_,label:V,selected:E}));
 +
for(y||(w||null===F?U[""].unshift({id:"",label:"",selected:!W}):W||U[""].unshift({id:"?",label:"",selected:!0})),C=0,g=L.length;g>C;C++){for(t=L[C],n=U[t],R.length<=C?(i={element:S.clone().attr("label",t),label:n.label},c=[i],R.push(c),s.append(i.element)):(c=R[C],i=c[0],i.label!=t&&i.element.attr("label",i.label=t)),j=null,O=0,b=n.length;b>O;O++)r=n[O],(f=c[O+1])?(j=f.element,f.label!==r.label&&(m(z,f.label,!1),m(z,r.label,!0),j.text(f.label=r.label),j.prop("label",f.label)),f.id!==r.id&&j.val(f.id=r.id),j[0].selected!==r.selected&&(j.prop("selected",f.selected=r.selected),Xr&&j.prop("selected",f.selected))):(""===r.id&&w?M=w:(M=k.clone()).val(r.id).prop("selected",r.selected).attr("selected",r.selected).prop("label",r.label).text(r.label),c.push(f={element:M,label:r.label,id:r.id,selected:r.selected}),m(z,r.label,!0),j?j.after(M):i.element.append(M),j=M);for(O++;c.length>O;)r=c.pop(),m(z,r.label,!1),r.element.remove()}for(;R.length>C;){for(n=R.pop(),O=1;O<n.length;++O)m(z,n[O].label,!1);n[0].element.remove()}a(z,function(t,e){t>0?$.addOption(e):0>t&&$.removeOption(e)})}var C;if(!(C=b.match(i)))throw Do("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",b,z(s));var A=r(C[2]||C[1]),O=C[4]||C[6],E=/ as /.test(C[0])&&C[1],j=E?r(E):null,N=C[5],T=r(C[3]||""),M=r(C[2]?C[1]:O),P=r(C[7]),V=C[8],q=V?r(C[8]):null,D={},R=[[{element:s,label:""}]],I={};w&&(t(w)(e),w.removeClass("ng-scope"),w.remove()),s.empty(),s.on("change",c),u.$render=g,e.$watchCollection(P,p),e.$watchCollection(d,p),y&&e.$watchCollection(function(){return u.$modelValue},p)}if(c[1]){for(var p,$=c[0],m=c[1],y=l.multiple,b=l.ngOptions,w=!1,x=!1,k=Qr(e.createElement("option")),S=Qr(e.createElement("optgroup")),C=k.clone(),A=0,O=u.children(),E=O.length;E>A;A++)if(""===O[A].value){p=w=O.eq(A);break}$.init(m,w,C),y&&(m.$isEmpty=function(t){return!t||0===t.length}),b?h(s,u,m):y?d(s,u,m):f(s,u,m,$)}}}}],_o=["$interpolate",function(t){var e={addOption:p,removeOption:p};return{restrict:"E",priority:100,compile:function(n,r){if(g(r.value)){var i=t(n.text(),!0);i||r.$set("value",n.text())}return function(t,n,r){var a="$selectController",o=n.parent(),s=o.data(a)||o.parent().data(a);s&&s.databound||(s=e),i?t.$watch(i,function(t,e){r.$set("value",t),e!==t&&s.removeOption(e),s.addOption(t,n)}):s.addOption(r.value,n),n.on("$destroy",function(){s.removeOption(r.value)})}}}}],Uo=m({restrict:"E",terminal:!1}),Lo=function(){return{restrict:"A",require:"?ngModel",link:function(t,e,n,r){r&&(n.required=!0,r.$validators.required=function(t,e){return!n.required||!r.$isEmpty(e)},n.$observe("required",function(){r.$validate()}))}}},Fo=function(){return{restrict:"A",require:"?ngModel",link:function(t,e,i,a){if(a){var o,s=i.ngPattern||i.pattern;i.$observe("pattern",function(t){if(b(t)&&t.length>0&&(t=new RegExp("^"+t+"$")),t&&!t.test)throw r("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",s,t,z(e));o=t||n,a.$validate()}),a.$validators.pattern=function(t){return a.$isEmpty(t)||g(o)||o.test(t)}}}}},Ho=function(){return{restrict:"A",require:"?ngModel",link:function(t,e,n,r){if(r){var i=-1;n.$observe("maxlength",function(t){var e=d(t);i=isNaN(e)?-1:e,r.$validate()}),r.$validators.maxlength=function(t,e){return 0>i||r.$isEmpty(e)||e.length<=i}}}}},Bo=function(){return{restrict:"A",require:"?ngModel",link:function(t,e,n,r){if(r){var i=0;n.$observe("minlength",function(t){i=d(t)||0,r.$validate()}),r.$validators.minlength=function(t,e){return r.$isEmpty(e)||e.length>=i}}}}};return t.angular.bootstrap?(console.log("WARNING: Tried to load angular more than once."),void 0):(re(),he(si),Qr(e).ready(function(){X(e,Q)}),void 0)}(window,document),!window.angular.$$csp()&&window.angular.element(document).find("head").prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}</style>'),angular.module("app",["angularplasmid"]),function(){"use strict";angular.module("angularplasmid.services",[]).factory("SVGUtil",function(){function t(t,e){var n="round";return"undefined"==typeof e||0===+e?Math[n](t):(t=+t,e=+e,isNaN(t)||"number"!=typeof e||e%1!==0?0/0:(t=t.toString().split("e"),t=Math[n](+(t[0]+"e"+(t[1]?+t[1]-e:-e))),t=t.toString().split("e"),+(t[0]+"e"+(t[1]?+t[1]+e:e))))}function e(t){d.push(t)}function n(t){var e;for(e=0;e<d.length;e+=1)if(d[e].id===t)return d[e]}function r(t,e,n,r){var i=(r-90)*Math.PI/180;return{x:t+n*Math.cos(i),y:e+n*Math.sin(i)}}function i(t,e){var n,r,i=["id","name","class","style","filter","ng-attr-style","ng-attr-class","ng-class"];for(r=0;r<i.length;r+=1)n=i[r],t[0].hasAttribute(n)&&(e.attr(n,t.attr(n)),t.removeAttr(n))}function a(t,e,n){var r,i="http://www.w3.org/2000/svg",a=document.createElementNS(i,t);return n=n||[],angular.forEach(e,function(t){n.indexOf(t)<0&&(r=e[t],null===r||t.match(/\$/)||"string"==typeof r&&""===r||a.setAttribute(t,r))}),a}function o(t){angular.forEach(["id","class","style"],function(e){t.removeAttribute(e)})}function s(t,e,n,i){var a,o,s;return t=Number(t||0),e=Number(e||0),n=Number(n||0),i=Number(i||0),a={start:r(t,e,n,359.99),end:r(t,e,n,0)},o={start:r(t,e,n+i,359.99),end:r(t,e,n+i,0)},s=["M",a.start.x,a.start.y,"A",n,n,0,1,0,a.end.x,a.end.y,"M",o.start.x,o.start.y,"A",n+i,n+i,0,1,0,o.end.x,o.end.y].join(" ")}function u(t,e,n,i,a,o,s,u){var l,c,f,d,h,p,$,m,g,v,y,b,w;return t=Number(t),e=Number(e),n=Number(n),i=Number(i),a=Number(a),o=Number(o),s=s||{width:0,length:0,angle:0},u=u||{width:0,length:0,angle:0},i===a?(c=r(t,e,n,i),d=r(t,e,n+o,i),l=["M",c.x,c.y,"L",d.x,d.y].join(" ")):1===o?(c=r(t,e,n,i),d=r(t,e,n,a),h=a>i?180>=a-i?"0":"1":180>=a-i?"1":"0",l=["M",c.x,c.y,"A",n,n,0,h,1,d.x,d.y].join(" ")):(a-=u.length<0?0:u.length,i+=s.length<0?0:s.length,c=r(t,e,n,a),d=r(t,e,n,i),p=r(t,e,n-s.width,i+s.angle),$=r(t,e,n+o/2,i-s.length),m=r(t,e,n+o+s.width,i+s.angle),g=r(t,e,n+o,i),v=r(t,e,n+o+u.width,a-u.angle),y=r(t,e,n+o/2,a+u.length),b=r(t,e,n-u.width,a-u.angle),w=r(t,e,n,a),f=r(t,e,n+o,a),h=180>=a-i?"0":"1",l=["M",c.x,c.y,"A",n,n,0,h,0,d.x,d.y,"L",p.x,p.y,"L",$.x,$.y,"L",m.x,m.y,"L",g.x,g.y,"A",n+o,n+o,0,h,1,f.x,f.y,"L",v.x,v.y,"L",y.x,y.y,"L",b.x,b.y,"L",w.x,w.y,"z"].join(" ")),l}function l(e,n,r,i,a,o){e=Number(e||0),n=Number(n||0),r=Number(r||0),i=Number(i||0),a=Number(a||0),o=Number(o||2);var s,u,l,c,f=Number(i)>0?Number(a)/Number(i):0,d=2*Math.PI/f,h=-1,p="";for(c=0;f>c;c+=1)s=d*c-Math.PI/2,l=Math.cos(s),u=Math.sin(s),p+="M"+t(e+r*l,h)+","+t(n+r*u,h)+" L"+t(e+(r+o)*l,h)+","+t(n+(r+o)*u,h)+" ";return p=p||"M 0,0"}function c(e,n,r,i,a){e=Number(e),n=Number(n),r=Number(r),i=Number(i),a=Number(a);var o,s,u,l,c=Number(i)>0?Number(a)/Number(i):0,f=2*Math.PI/c,d=-1,h=[];for(l=0;c>l;l+=1)o=f*l-Math.PI/2,u=Math.cos(o),s=Math.sin(o),h.push({x:t(e+r*u,d),y:t(n+r*s,d),text:i*l});return h}function f(t,e){return isNaN(t)?e||0:Number(t)}var d=[],h=[],p=[];return{api:{addPlasmid:e,plasmids:d,plasmid:n,plasmidtracks:h,trackmarkers:p},util:{polarToCartesian:r,swapProperties:i,Numeric:f},svg:{createNode:a,removeAttributes:o,path:{donut:s,arc:u,scale:l},element:{scalelabels:c}}}})}(),function(){"use strict";angular.module("angularplasmid",["angularplasmid.services"]).directive("plasmidapi",["SVGUtil",function(t){return{restrict:"AE",link:function(e,n,r){e[r.name]=t.api}}}]).directive("plasmid",["SVGUtil",function(){return{restrict:"AE",type:"svg",template:'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"></svg>',replace:!0,transclude:!0,require:"plasmid",scope:{plasmidheight:"@",plasmidwidth:"@",sequencelength:"@",sequence:"@",plasmidclass:"@",plasmidstyle:"@"},link:{pre:function(t,e,n,r){r.init(e)},post:function(t,e,n,r,i){i(t.$parent,function(t){e.append(t)}),t.$watchGroup(["plasmidheight","plasmidwidth","sequencelength","sequence","plasmidclass","plasmidstyle"],function(){r.draw()})}},controller:["$scope","SVGUtil",function(t,e){var n,r,i=[];r=this,r.elementtype="plasmid",r.init=function(t){e.api.addPlasmid(r),n=t,r.id=n.attr("id")},r.draw=function(){var t=r.dimensions,e=n.plasmidclass,a=n.plasmidstyle;n.attr("height",t.height),n.attr("width",t.width),e&&n.attr("class",e),a&&n.attr("style",a),angular.forEach(i,function(t){t.draw()})},r.addTrack=function(t){i.push(t)},Object.defineProperty(r,"center",{get:function(){var t=r.dimensions;return{x:t.width/2,y:t.height/2}}}),Object.defineProperty(r,"dimensions",{get:function(){return{height:e.util.Numeric(t.plasmidheight,300),width:e.util.Numeric(t.plasmidwidth,300)}}}),Object.defineProperty(r,"sequencelength",{get:function(){return r.sequence?r.sequence.length:e.util.Numeric(t.sequencelength)}}),Object.defineProperty(r,"sequence",{get:function(){return t.sequence}}),Object.defineProperty(r,"plasmidclass",{get:function(){return t.plasmidclass}}),Object.defineProperty(r,"plasmidstyle",{get:function(){return t.plasmidstyle}}),r.tracks=i}]}}]).directive("plasmidtrack",["SVGUtil","$compile",function(t,e){return{restrict:"AE",type:"svg",template:"<g><path></path></g>",replace:!0,transclude:!0,require:["plasmidtrack","^plasmid"],scope:{radius:"@",width:"@",trackclass:"@",trackstyle:"@",trackclick:"&"},link:{pre:function(t,e,n,r){var i=r[0],a=r[1],o=angular.element(e.children()[0]);i.init(o,a)},post:function(n,r,i,a,o){o(n.$parent,function(t){r.append(t)});var s=angular.element(r),u=angular.element(r.children()[0]),l=a[0];t.util.swapProperties(s,u),u.attr("fill-rule","evenodd"),e(u)(n.$parent),u.on("click",function(t){n.trackclick({$event:t,$track:l})}),n.$watchGroup(["radius","width","trackstyle","trackclass"],function(){l.draw()})}},controller:["$scope",function(e){var n,r,i,a=[],o=[],s=[];i=this,i.elementtype="plasmidtrack",i.init=function(t,e){n=e,n.addTrack(i),i.plasmid=n,r=t},i.draw=function(){var e=i.center,n=t.svg.path.donut(e.x,e.y,i.radius,i.width),u=i.trackclass,l=i.trackstyle;r.attr("d",n),u&&r.attr("class",u),l&&r.attr("style",l),angular.forEach(a,function(t){t.draw()}),angular.forEach(o,function(t){t.draw()}),angular.forEach(s,function(t){t.draw()})},i.addMarker=function(t){a.push(t)},i.addScale=function(t){o.push(t)},i.addLabel=function(t){s.push(t)},i.markergroup=function(t){var e=[];return angular.forEach(a,function(n){n.markergroup===t&&e.push(n)}),e},i.getPosition=function(e,r,a){a=Number(a||0),e=Number(e);var o,s,u=1,l=2,c=i.center,f=n.sequencelength;if(f>0){switch(s=e/f*360,r){case u:o=i.radius+a;break;case l:o=i.radius+i.width+a;break;default:o=i.radius+i.width/2+a}return t.util.polarToCartesian(c.x,c.y,o,s)}},Object.defineProperty(i,"center",{get:function(){return n.center}}),Object.defineProperty(i,"radius",{get:function(){return t.util.Numeric(e.radius,100)}}),Object.defineProperty(i,"width",{get:function(){return t.util.Numeric(e.width,25)}}),Object.defineProperty(i,"trackclass",{get:function(){return e.trackclass}}),Object.defineProperty(i,"trackstyle",{get:function(){return e.trackstyle}}),i.markers=a,i.scales=o,i.labels=s}]}}]).directive("trackscale",["SVGUtil","$compile",function(t,e){return{restrict:"AE",type:"svg",template:"<g><path></path><g></g></g>",replace:!0,transclude:!0,require:["trackscale","^plasmidtrack"],scope:{interval:"@",vadjust:"@",ticksize:"@",direction:"@",showlabels:"@",labelvadjust:"@",labelclass:"@",labelstyle:"@",tickclass:"@",tickstyle:"@",scaleclick:"&"},link:{pre:function(t,e,n,r){var i=r[0],a=r[1],o=angular.element(e.children()[0]),s=angular.element(e.children()[1]);i.init(o,s,a)},post:function(n,r,i,a,o){var s,u,l;o(n.$parent,function(t){r.append(t)}),s=angular.element(r),u=angular.element(r.children()[0]),t.util.swapProperties(s,u),e(u)(n.$parent),u.on("click",function(t){n.scaleclick({$event:t,$scale:l})}),l=a[0],n.$watchGroup(["interval","vadjust","ticksize","labelvadjust","direction","showlabels","labelstyle","labelclass","tickstyle","tickclass"],function(){l.draw()})}},controller:["$scope",function(e){var n,r,i,a,o=15,s=3;r=this,r.elementtype="trackscale",r.init=function(t,e,o){n=o,n.addScale(r),r.track=n,i=t,a=e},r.draw=function(){var e=r.tickclass,o=r.tickstyle,s=n.center,u=t.svg.path.scale(s.x,s.y,r.radius,r.interval,r.total,r.ticksize);i.attr("d",u),e&&i.attr("class",e),o&&i.attr("style",o),r.showlabels?r.drawLabel():a.empty()},r.drawLabel=function(){function i(t){e.scaleclick({$event:t,$scale:r})}var o,s,u,l=n.center;for(u=t.svg.element.scalelabels(l.x,l.y,r.labelradius,r.interval,r.total),a.empty(),o=0;o<=u.length-1;o+=1)s=angular.element(t.svg.createNode("text")),r.labelclass&&s.attr("class",r.labelclass),r.labelstyle&&s.attr("style",r.labelstyle),s.attr("x",u[o].x),s.attr("y",u[o].y),s.attr("text-anchor","middle"),s.attr("alignment-baseline","middle"),s.text(u[o].text),s.on("click",i),a.append(s)},Object.defineProperty(r,"radius",{get:function(){return(r.inwardflg?n.radius:n.radius+n.width)+(r.inwardflg?-1:1)*r.vadjust+(r.inwardflg?-r.ticksize:0)}}),Object.defineProperty(r,"interval",{get:function(){return t.util.Numeric(e.interval)}}),Object.defineProperty(r,"vadjust",{get:function(){return t.util.Numeric(e.vadjust)}}),Object.defineProperty(r,"ticksize",{get:function(){return t.util.Numeric(e.ticksize,s)}}),Object.defineProperty(r,"inwardflg",{get:function(){return"in"===e.direction?!0:!1}}),Object.defineProperty(r,"total",{get:function(){return n.plasmid.sequencelength}}),Object.defineProperty(r,"showlabels",{get:function(){return"1"===e.showlabels?!0:!1}}),Object.defineProperty(r,"labelvadjust",{get:function(){return t.util.Numeric(e.labelvadjust,o)}}),Object.defineProperty(r,"tickclass",{get:function(){return e.tickclass}}),Object.defineProperty(r,"tickstyle",{get:function(){return e.tickstyle}}),Object.defineProperty(r,"labelclass",{get:function(){return e.labelclass}}),Object.defineProperty(r,"labelstyle",{get:function(){return e.labelstyle}}),Object.defineProperty(r,"labelradius",{get:function(){return r.radius+r.labelvadjust*(r.inwardflg?-1:1)}})}]}}]).directive("tracklabel",["SVGUtil",function(t){return{restrict:"AE",type:"svg",template:"<text></text>",replace:!0,transclude:!0,require:["tracklabel","^plasmidtrack"],scope:{text:"@",hadjust:"@",vadjust:"@",labelclass:"@",labelstyle:"@",labelclick:"&"},link:{pre:function(t,e,n,r){var i=r[0],a=r[1],o=angular.element(e[0]);i.init(o,a)},post:function(t,e,n,r,i){var a;i(t.$parent,function(t){e.append(t)}),e.attr("text-anchor","middle"),e.attr("alignment-baseline","middle"),e.on("click",function(e){t.labelclick({$event:e,$label:a})}),a=r[0],t.$watchGroup(["text","vadjust","hadjust","labelstyle","labelclass"],function(){a.draw()})}},controller:["$scope",function(e){var n,r,i;r=this,r.elementtype="tracklabel",r.init=function(t,e){n=e,n.addLabel(r),r.track=n,i=t},r.draw=function(){var t=n.center,e=r.labelclass,a=r.labelstyle;i.attr("x",t.x+r.hadjust),i.attr("y",t.y+r.vadjust),i.text(r.text),e&&i.attr("class",e),a&&i.attr("style",a)},Object.defineProperty(r,"center",{get:function(){return n.center}}),Object.defineProperty(r,"text",{get:function(){return e.text}}),Object.defineProperty(r,"labelclass",{get:function(){return e.labelclass}}),Object.defineProperty(r,"labelstyle",{get:function(){return e.labelstyle}}),Object.defineProperty(r,"hadjust",{get:function(){return t.util.Numeric(e.hadjust,0)}}),Object.defineProperty(r,"vadjust",{get:function(){return t.util.Numeric(e.vadjust,0)}}),Object.defineProperty(r,"dimensions",{get:function(){return i[0].getBBox()}})}]}}]).directive("trackmarker",["SVGUtil","$compile",function(t,e){return{restrict:"AE",type:"svg",template:"<g><path></path></g>",replace:!0,transclude:!0,require:["trackmarker","^plasmidtrack"],scope:{start:"@",end:"@",vadjust:"@",wadjust:"@",markergroup:"@",arrowstartlength:"@",arrowstartwidth:"@",arrowstartangle:"@",arrowendlength:"@",arrowendwidth:"@",arrowendangle:"@",markerclass:"@",markerstyle:"@",markerclick:"&"},link:{pre:function(t,e,n,r){var i=r[0],a=r[1],o=angular.element(e.children()[0]);i.init(o,a)},post:function(n,r,i,a,o){var s,u,l=a[0];o(n.$parent,function(t){r.append(t)}),s=angular.element(r),u=angular.element(r.children()[0]),t.util.swapProperties(s,u),e(u)(n.$parent),u.on("click",function(t){n.markerclick({$event:t,$marker:l})}),n.$watchGroup(["start","end","vadjust","wadjust","markergroup","markerclass","markerstyle","arrowstartlength","arrowstartwidth","arrowstartangle","arrowendlength","arrowendwidth","arrowendangle"],function(){l.draw()})}},controller:["$scope",function(e){var n,r,i,a=[];r=this,r.elementtype="trackmarker",r.init=function(t,e){n=e,n.addMarker(r),i=t,r.track=n},r.draw=function(){var t=r.markerclass,e=r.markerstyle;i.attr("d",r.getPath()),t&&i.attr("class",t),e&&i.attr("style",e),angular.forEach(a,function(t){t.draw()})},r.addMarkerLabel=function(t){a.push(t)},r.getPath=function(){var e=n.center,i=r.angle,a=r.radius;return t.svg.path.arc(e.x,e.y,a.inner,i.start,i.end,r.width,r.arrowstart,r.arrowend)},r.getPosition=function(e,i,a,o){var s,u,l,c,f,d="start",h="end",p="inner",$="outer";if(s=n.center,c=r.radius,f=r.angle,e=t.util.Numeric(e),i=t.util.Numeric(i),void 0!==o&&void 0!==a){switch(o){case p:u=c.inner+i;break;case $:u=c.outer+i;break;default:u=c.middle+i}switch(a){case d:l=f.start+e;break;case h:l=f.end+e;break;default:l=f.middle+e}return t.util.polarToCartesian(s.x,s.y,u,l)}return u={outer:c.outer+i,inner:c.inner+i,middle:c.middle+i},l={begin:f.start+e,end:f.end+e,middle:f.middle+e},{outer:{begin:t.util.polarToCartesian(s.x,s.y,u.outer,l.begin),middle:t.util.polarToCartesian(s.x,s.y,u.outer,l.middle),end:t.util.polarToCartesian(s.x,s.y,u.outer,l.end)},middle:{begin:t.util.polarToCartesian(s.x,s.y,u.middle,l.begin),middle:t.util.polarToCartesian(s.x,s.y,u.middle,l.middle),end:t.util.polarToCartesian(s.x,s.y,u.middle,l.end)},inner:{begin:t.util.polarToCartesian(s.x,s.y,u.inner,l.begin),middle:t.util.polarToCartesian(s.x,s.y,u.inner,l.middle),end:t.util.polarToCartesian(s.x,s.y,u.inner,l.end)}}},r.fireClick=function(t){e.markerclick({$event:t.$event,$marker:t.$marker})},Object.defineProperty(r,"center",{get:function(){return n.center}}),Object.defineProperty(r,"radius",{get:function(){return{inner:n.radius+r.vadjust,outer:n.radius+r.vadjust+r.width,middle:n.radius+r.vadjust+r.width/2}}}),Object.defineProperty(r,"angle",{get:function(){var i,a,o,s;return i=r.start/n.plasmid.sequencelength*360,s=e.end||e.start,a=t.util.Numeric(s)/n.plasmid.sequencelength*360,a+=i>a?360:0,o=i+(a-i)/2,{start:i,middle:o,end:a}}}),Object.defineProperty(r,"vadjust",{get:function(){return t.util.Numeric(e.vadjust)}}),Object.defineProperty(r,"wadjust",{get:function(){return t.util.Numeric(e.wadjust)}}),Object.defineProperty(r,"width",{get:function(){return n.width+r.wadjust}}),Object.defineProperty(r,"start",{get:function(){return t.util.Numeric(e.start)}}),Object.defineProperty(r,"end",{get:function(){return t.util.Numeric(e.end)}}),Object.defineProperty(r,"arrowstart",{get:function(){return{width:t.util.Numeric(e.arrowstartwidth),length:t.util.Numeric(e.arrowstartlength),angle:t.util.Numeric(e.arrowstartangle)}}}),Object.defineProperty(r,"arrowend",{get:function(){return{width:t.util.Numeric(e.arrowendwidth),length:t.util.Numeric(e.arrowendlength),angle:t.util.Numeric(e.arrowendangle)}}}),Object.defineProperty(r,"markergroup",{get:function(){return e.markergroup}}),Object.defineProperty(r,"markerclass",{get:function(){return e.markerclass}}),Object.defineProperty(r,"markerstyle",{get:function(){return e.markerstyle}}),Object.defineProperty(r,"sequence",{get:function(){var t=r.track.plasmid.sequence;return r.start>r.end?t.substring(r.start-1,t.length-1)+t.substring(0,r.end-1):t.substring(r.start-1,r.end-1)}}),r.labels=a}]}}]).directive("markerlabel",["SVGUtil","$compile",function(t,e){return{restrict:"AE",type:"svg",transclude:!0,template:'<g><path></path><path id="" style="fill:none;stroke:none"></path><text></text></g>',require:["markerlabel","^trackmarker"],replace:!0,scope:{text:"@",valign:"@",vadjust:"@",halign:"@",hadjust:"@",type:"@",showline:"@",linestyle:"@",lineclass:"@",labelstyle:"@",labelclass:"@",linevadjust:"@",labelclick:"&"},link:{pre:function(t,e,n,r){var i=r[0],a=r[1],o=angular.element(e[0]),s=angular.element(e.children()[0]),u=angular.element(e.children()[1]),l=angular.element(e.children()[2]);i.init(l,o,u,s,a)},post:function(n,r,i,a,o){o(n.$parent,function(t){r.append(t)});var s=a[0],u=a[1],l=angular.element(r),c=angular.element(r.children()[2]);c.attr("text-anchor","middle"),c.attr("alignment-baseline","middle"),t.util.swapProperties(l,c),e(c)(n.$parent),i.labelclick?c.on("click",function(t){n.labelclick({$event:t,$label:s})}):c.on("click",function(t){u.fireClick({$event:t,$marker:u})}),n.$watchGroup(["text","type","valign","vadjust","halign","hadjust","showline","linevadjust","linestyle","labelclass","labelstyle"],function(){s.draw()})}},controller:["$scope","$compile",function(e,n){var r,i,a,o,s,u,l,c;i=this,i.elementtype="markerlabel",i.init=function(t,e,n,s,u){var f="TPATH"+(Math.random()+1).toString(36).substring(3,7);r=u,r.addMarkerLabel(i),i.marker=r,a=t,o=n,l=s,c=e,o.attr("id",f)},i.draw=function(){var t,c,f,d,h,p="middle",$="inner",m="outer",g="start",v="end",y=0,b=0,w=i.labelclass,x=i.labelstyle;if(w&&a.attr("class",w),x&&a.attr("style",x),"path"===i.type)switch(a.attr("x",""),a.attr("y",""),s||(u=document.createElementNS("http://www.w3.org/2000/svg","textPath"),u.setAttributeNS("http://www.w3.org/1999/xlink","href","#"+o.attr("id")),s=angular.element(u),n(s)(e),a.empty(),a.append(s)),u.textContent=i.text,y=window.getComputedStyle(a[0]).fontSize.replace("px",""),b=i.valign===m?0:i.valign===$?Number(y||0):Number(y||0)/2,o.attr("d",i.getPath(i.hadjust,i.vadjust-b,i.halign,i.valign)),i.halign){case g:a.attr("text-anchor","start"),s[0].setAttribute("startOffset","0%");break;case v:a.attr("text-anchor","end"),s[0].setAttribute("startOffset","100%");break;default:a.attr("text-anchor","middle"),s[0].setAttribute("startOffset","50%")}else s&&(s.remove(),s=null),t=r.getPosition(i.hadjust,i.vadjust,i.halign,i.valign),a.attr("x",t.x),a.attr("y",t.y),a.text(i.text);i.showlineflg?(c=r.getPosition(i.hadjust,i.vadjust+i.linevadjust,i.halign,i.valign),d=r.getPosition(),h=i.valign===$?d.inner:i.valign===p?d.middle:d.outer,f=i.halign===g?h.begin:i.halign===v?h.end:h.middle,l.attr("d",["M",c.x,c.y,"L",f.x,f.y].join(" ")),i.linestyle||i.lineclass||l.attr("style","stroke:#000"),i.linestyle&&l.attr("style",i.linestyle),i.lineclass&&l.attr("class",i.lineclass)):l.removeAttr("d")},i.getPath=function(e,n,i,a){var o,s,u,l,c,f="inner",d="outer",h="start",p="end",$=r.center;switch(s=r.radius,a){case f:o=s.inner;break;case d:o=s.outer;break;default:o=s.middle}switch(u=r.angle,i){case h:l=u.start,c=u.start+359.99;break;case p:l=u.end+1,c=u.end;break;default:l=u.middle+180.05,c=u.middle+179.95}return t.svg.path.arc($.x,$.y,o+Number(n||0),l+Number(e||0),c+Number(e||0),1)},Object.defineProperty(i,"showlineflg",{get:function(){return"1"===e.showline?!0:!1}}),Object.defineProperty(i,"halign",{get:function(){return e.halign||"middle"}}),Object.defineProperty(i,"valign",{get:function(){return e.valign||"middle"}}),Object.defineProperty(i,"hadjust",{get:function(){return t.util.Numeric(e.hadjust)}}),Object.defineProperty(i,"vadjust",{get:function(){return t.util.Numeric(e.vadjust)}}),Object.defineProperty(i,"type",{get:function(){return e.type}}),Object.defineProperty(i,"linevadjust",{get:function(){return t.util.Numeric(e.linevadjust)}}),Object.defineProperty(i,"labelclass",{get:function(){return e.labelclass}}),Object.defineProperty(i,"labelstyle",{get:function(){return e.labelstyle}}),Object.defineProperty(i,"linestyle",{get:function(){return e.linestyle}}),Object.defineProperty(i,"lineclass",{get:function(){return e.lineclass}}),Object.defineProperty(i,"text",{get:function(){return e.text}})}]}}]).directive("svgelement",["SVGUtil",function(){return{restrict:"AE",template:function(t,e){return"<"+e.type+"></"+e.type+">"},type:"svg",replace:!0,transclude:!0,require:["^plasmid"],scope:{},link:function(t,e,n,r,i){i(t.$parent,function(t){e.append(t)})}}}])}(),function(){"use strict";angular.element(document).ready(function(){angular.bootstrap(document,["app"])})}();
 +
</script>
 +
 
     <script href="https://2018.igem.org/Team:Bordeaux/Template/bootstrapjs?action=raw"></script> </body>
 
     <script href="https://2018.igem.org/Team:Bordeaux/Template/bootstrapjs?action=raw"></script> </body>

Revision as of 16:34, 28 September 2018

Loading...

Design

Recent studies have shown that multiple organisms have the ability of metabolizing 5-hydroxymethylfurfural (HMF). For instance, enzyme able to oxidize HMF into Furan-2,5-dicarboxylic acid (FDCA) has been discovered in fungal species such as Caldariomyces fumago [1] or in prokaryotic species Cupriavidus basilensis (C. basilensis) [2]. and Methylovorus sp. [4].

As we intended to work with Escherichia coli (E. coli), we focused on the enzymes discovered in prokaryotes. Due to glycosylations on the enzymes that has been found in Caldaryomyces fumago and Eukaryotes/Prokaryotes gene compatibility issue, fungal enzymes have been dismissed. The following section describes the enzymes selected to achieve an efficient transformation of HMF into FDCA.

HmfH is an enzyme that has been discovered in C. basilensis. This enzyme is part of a gene cluster implied in furanic compound degradation. HmfH homologues as also been found in several other bacterial species [6]. In a study, HmfH gene has been cloned into Pseudomonas putida in order to enable this bacteria to synthetize FDCA from HMF. HmfH catalyse two successive oxidations that transform HMF into 5-(hydroxymethyl)furoic acid ( HMF acid) and then into FDCA [5] ( fig 2. ). The modified P. putida with HmfH was able to produce FDCA without excessive amount of other furan derivatives. One issue with this enzyme is that the second oxidation of HMF acid into FDCA is slower than the first one. It results in the accumulation of the intermediate product, HMF acid. In fed batch culture the accumulation of intermediate product could lead to efficiency issue to the production of high purity FDCA.

One way to compensate for that is to add other enzymes to the artificial metabolic pathway, in order to speed up the second oxidation of HMF acid into FDCA.

An enzyme of interest, HMF dehydrogenase (Aldh1), is found to catalyse identical reaction as HmfH. This enzyme oxidizes HMF into FDCA with HMF acid as a reaction intermediate. The Kcat of this enzyme on 5-HMF has been estimated to 5.1 mM-1.min-1 [8]. By acting synergically with HmfH, Aldh1 could limit the accumulation of HmfAcid.

An other enzyme that may turn worthwhile for the biosynthesis of FDCA is HmfO (5-(hydroxymethyl)furfural Oxydase). This enzyme is present in Methylovorus sp. and in C. basilensis. HmfO belongs to a C. basilensis HMF14 gene cluster involved in Hmf degradation pathway. HmfO and HmfH are homologous, they both belongs to the GMC (glucose-methanol-choline) oxidoreductase proteins family. The N-ter GMC domain bind to FAD, and release H2O2 as a byproduct [4]. However, unlike HmfH , HmfO needs three successive oxidations of HMF to reach FDCA (fig 1.). Thereby two intermediary compounds are formed, 2,5-Furandicarboxaldehyde (furfural) (DFF) and 5-formyl-2-furancarboxylic acid (FFA) [4].

In order to obtain an efficient whole cell biocatalyst genes coding for the three previously described enzymes have to be under control of a strong promoter. To maximize the expression of these proteins it was planned to put them under control of promoter improved by freiburg 2011 iGem team and characterized by Slovenia HS 2015 iGem team (BBa_K608002).

Genes overexpression could be a drag on bacterial growth. In order to able bacterial culture to reach stationary phase quicker it was planned to use an inducible promoter.The part pBAD strong (BBa_K206000) , registered by iGEM09_British_Columbia, offer a high expression level.

In order to study each proteins activity individually, it was planned to cloned each one of them in pSB1-C3 under control of BBa_K608002 (“strong promoter strong RBS”). Moreover , so as to study their joint activity, an operon structure of HmfH, HmfO and Aldh1 under control of an constitutive and inducible promoter has been designed (fig 3).

References :

  1. 5-hydroxymethylfurfural conversion by fungal aryl-alcohol oxidase and unspecific peroxygenase Juan Carro, Patricia Ferreira, Leonor Rodrıguez, Alicia Prieto, Ana Serrano, Beatriz Balcells, Ana Arda, Jesus Jim enez-Barbero, Ana Gutierrez, Rene Ullrich, Martin Hofrichter and Angel T. Martınez
  2. Identification and characterization of the furfural and 5-(hydroxymethyl)furfural degradation pathways of Cupriavidus basilensis HMF14. Koopman F, Wierckx N, de Winde JH, Ruijssenaars HJ.
  3. "Enzyme-catalyzed oxidation of 5-hydroxymethylfurfural to furan-2,5-dicarboxylic acid." Dijkman W.P., Groothuis D.E., Fraaije M.W.
  4. "Discovery and characterization of a 5-hydroxymethylfurfural oxidase from Methylovorus sp. strain MP688." Dijkman W.P., Fraaije M.W.
  5. 2010 Aug;101(16):6291-6. doi: 10.1016/j.biortech.2010.03.050. Epub 2010 Apr 3. Efficient whole-cell biotransformation of 5-(hydroxymethyl)furfural into FDCA, 2,5-furandicarboxylic acid. Koopman F1, Wierckx N, de Winde JH, Ruijssenaars HJ.
  6. Microbial degradation of furanic compounds: biochemistry, genetics, and impact ; Nick Wierckx, Frank Koopman, Harald J. Ruijssenaars, and Johannes H. de Winde
  7. Inhibition performance of lignocellulose degradation products on industrial cellulase enzymes during cellulose hydrolysis. Jing X, Zhang X, Bao J.
  8. Metabolic engineering of Raoultella ornithinolytica BF60 for the production of 2, 5- 2 furandicarboxylic acid from 5-hydroxymethylfurfural Gazi Sakir Hossain, Haibo Yuan, Jianghua Li, Hyun-dong Shin, Miao Wang, Guocheng Du, Jian Chen, Long Liu