!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("Rx"),require("rxjs/observable/fromPromise"),require("rxjs/operator/toPromise")):"function"==typeof define&&define.amd?define(["Rx","rxjs/observable/fromPromise","rxjs/operator/toPromise"],t):"object"==typeof exports?exports.ng=t(require("Rx"),require("rxjs/observable/fromPromise"),require("rxjs/operator/toPromise")):e.ng=t(e.Rx,e.Rx.Observable,e.Rx.Observable.prototype)}(this,function(e,t,n){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){t.core=n(2),t.common=n(104),t.compiler=n(147),t.platform={browser:n(179),common_dom:n(203)},t.http=n(209),t.router=n(224),t.router_link_dsl=n(248),t.instrumentation=n(250),t.upgrade=n(251)},function(e,t,n){function r(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}r(n(3)),r(n(57)),r(n(58)),r(n(6)),r(n(59));var i=n(5);t.enableProdMode=i.enableProdMode;var o=n(65);t.platform=o.platform,t.createNgZone=o.createNgZone,t.PlatformRef=o.PlatformRef,t.ApplicationRef=o.ApplicationRef;var s=n(67);t.APP_ID=s.APP_ID,t.APP_COMPONENT=s.APP_COMPONENT,t.APP_INITIALIZER=s.APP_INITIALIZER,t.PACKAGE_ROOT_URL=s.PACKAGE_ROOT_URL,t.PLATFORM_INITIALIZER=s.PLATFORM_INITIALIZER,r(n(98)),r(n(99)),r(n(100));var a=n(101);t.DebugElement=a.DebugElement,t.Scope=a.Scope,t.inspectElement=a.inspectElement,t.asNativeElements=a.asNativeElements,r(n(68)),r(n(24)),r(n(95)),r(n(102)),r(n(103)),r(n(16))},function(e,t,n){var r=n(4);t.QueryMetadata=r.QueryMetadata,t.ContentChildrenMetadata=r.ContentChildrenMetadata,t.ContentChildMetadata=r.ContentChildMetadata,t.ViewChildrenMetadata=r.ViewChildrenMetadata,t.ViewQueryMetadata=r.ViewQueryMetadata,t.ViewChildMetadata=r.ViewChildMetadata,t.AttributeMetadata=r.AttributeMetadata;var i=n(23);t.ComponentMetadata=i.ComponentMetadata,t.DirectiveMetadata=i.DirectiveMetadata,t.PipeMetadata=i.PipeMetadata,t.InputMetadata=i.InputMetadata,t.OutputMetadata=i.OutputMetadata,t.HostBindingMetadata=i.HostBindingMetadata,t.HostListenerMetadata=i.HostListenerMetadata;var o=n(56);t.ViewMetadata=o.ViewMetadata,t.ViewEncapsulation=o.ViewEncapsulation;var s=n(4),a=n(23),c=n(56),u=n(9);t.Component=u.makeDecorator(a.ComponentMetadata,function(e){return e.View=t.View}),t.Directive=u.makeDecorator(a.DirectiveMetadata),t.View=u.makeDecorator(c.ViewMetadata,function(e){return e.View=t.View}),t.Attribute=u.makeParamDecorator(s.AttributeMetadata),t.Query=u.makeParamDecorator(s.QueryMetadata),t.ContentChildren=u.makePropDecorator(s.ContentChildrenMetadata),t.ContentChild=u.makePropDecorator(s.ContentChildMetadata),t.ViewChildren=u.makePropDecorator(s.ViewChildrenMetadata),t.ViewChild=u.makePropDecorator(s.ViewChildMetadata),t.ViewQuery=u.makeParamDecorator(s.ViewQueryMetadata),t.Pipe=u.makeDecorator(a.PipeMetadata),t.Input=u.makePropDecorator(a.InputMetadata),t.Output=u.makePropDecorator(a.OutputMetadata),t.HostBinding=u.makePropDecorator(a.HostBindingMetadata),t.HostListener=u.makePropDecorator(a.HostListenerMetadata)},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=n(5),a=n(6),c=n(7),u=function(e){function t(t){e.call(this),this.attributeName=t}return r(t,e),Object.defineProperty(t.prototype,"token",{get:function(){return this},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return"@Attribute("+s.stringify(this.attributeName)+")"},t=i([s.CONST(),o("design:paramtypes",[String])],t)}(c.DependencyMetadata);t.AttributeMetadata=u;var p=function(e){function t(t,n){var r=void 0===n?{}:n,i=r.descendants,o=void 0===i?!1:i,s=r.first,a=void 0===s?!1:s;e.call(this),this._selector=t,this.descendants=o,this.first=a}return r(t,e),Object.defineProperty(t.prototype,"isViewQuery",{get:function(){return!1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selector",{get:function(){return a.resolveForwardRef(this._selector)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isVarBindingQuery",{get:function(){return s.isString(this.selector)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"varBindings",{get:function(){return this.selector.split(",")},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return"@Query("+s.stringify(this.selector)+")"},t=i([s.CONST(),o("design:paramtypes",[Object,Object])],t)}(c.DependencyMetadata);t.QueryMetadata=p;var l=function(e){function t(t,n){var r=(void 0===n?{}:n).descendants,i=void 0===r?!1:r;e.call(this,t,{descendants:i})}return r(t,e),t=i([s.CONST(),o("design:paramtypes",[Object,Object])],t)}(p);t.ContentChildrenMetadata=l;var h=function(e){function t(t){e.call(this,t,{descendants:!0,first:!0})}return r(t,e),t=i([s.CONST(),o("design:paramtypes",[Object])],t)}(p);t.ContentChildMetadata=h;var f=function(e){function t(t,n){var r=void 0===n?{}:n,i=r.descendants,o=void 0===i?!1:i,s=r.first,a=void 0===s?!1:s;e.call(this,t,{descendants:o,first:a})}return r(t,e),Object.defineProperty(t.prototype,"isViewQuery",{get:function(){return!0},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return"@ViewQuery("+s.stringify(this.selector)+")"},t=i([s.CONST(),o("design:paramtypes",[Object,Object])],t)}(p);t.ViewQueryMetadata=f;var d=function(e){function t(t){e.call(this,t,{descendants:!0})}return r(t,e),t=i([s.CONST(),o("design:paramtypes",[Object])],t)}(f);t.ViewChildrenMetadata=d;var y=function(e){function t(t){e.call(this,t,{descendants:!0,first:!0})}return r(t,e),t=i([s.CONST(),o("design:paramtypes",[Object])],t)}(f);t.ViewChildMetadata=y},function(e,t){(function(e){function n(e){return e.name}function r(){k=!0}function i(){if(k)throw"Cannot enable prod mode after platform setup.";N=!1}function o(){return N}function s(e){return e}function a(){return function(e){return e}}function c(e){return void 0!==e&&null!==e}function u(e){return void 0===e||null===e}function p(e){return"string"==typeof e}function l(e){return"function"==typeof e}function h(e){return l(e)}function f(e){return"object"==typeof e&&null!==e}function d(e){return e instanceof x.Promise}function y(e){return Array.isArray(e)}function v(e){return"number"==typeof e}function m(e){return e instanceof t.Date&&!isNaN(e.valueOf())}function g(){}function _(e){if("string"==typeof e)return e;if(void 0===e||null===e)return""+e;if(e.name)return e.name;var t=e.toString(),n=t.indexOf("\n");return-1===n?t:t.substring(0,n)}function b(e){return e}function C(e,t){return e}function P(e,t){return e===t||"number"==typeof e&&"number"==typeof t&&isNaN(e)&&isNaN(t)}function w(e){return e}function R(e){return u(e)?null:e}function E(e){return u(e)?!1:e}function O(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function S(e){console.log(e)}function D(e,t,n){for(var r=t.split("."),i=e;r.length>1;){var o=r.shift();i=i.hasOwnProperty(o)&&c(i[o])?i[o]:i[o]={}}(void 0===i||null===i)&&(i={}),i[r.shift()]=n}function T(){if(u(q))if(c(Symbol)&&c(Symbol.iterator))q=Symbol.iterator;else for(var e=Object.getOwnPropertyNames(Map.prototype),t=0;t=0&&e[r]==t;r--)n--;e=e.substring(0,n)}return e},e.replace=function(e,t,n){return e.replace(t,n)},e.replaceAll=function(e,t,n){return e.replace(t,n)},e.slice=function(e,t,n){return void 0===t&&(t=0),void 0===n&&(n=null),e.slice(t,null===n?void 0:n)},e.replaceAllMapped=function(e,t,n){return e.replace(t,function(){for(var e=[],t=0;te?-1:e>t?1:0},e}();t.StringWrapper=j;var V=function(){function e(e){void 0===e&&(e=[]),this.parts=e}return e.prototype.add=function(e){this.parts.push(e)},e.prototype.toString=function(){return this.parts.join("")},e}();t.StringJoiner=V;var M=function(e){function t(t){e.call(this),this.message=t}return I(t,e),t.prototype.toString=function(){return this.message},t}(Error);t.NumberParseError=M;var B=function(){function e(){}return e.toFixed=function(e,t){return e.toFixed(t)},e.equal=function(e,t){return e===t},e.parseIntAutoRadix=function(e){var t=parseInt(e);if(isNaN(t))throw new M("Invalid integer literal when parsing "+e);return t},e.parseInt=function(e,t){if(10==t){if(/^(\-|\+)?[0-9]+$/.test(e))return parseInt(e,t)}else if(16==t){if(/^(\-|\+)?[0-9ABCDEFabcdef]+$/.test(e))return parseInt(e,t)}else{var n=parseInt(e,t);if(!isNaN(n))return n}throw new M("Invalid integer literal when parsing "+e+" in base "+t)},e.parseFloat=function(e){return parseFloat(e)},Object.defineProperty(e,"NaN",{get:function(){return NaN},enumerable:!0,configurable:!0}),e.isNaN=function(e){return isNaN(e)},e.isInteger=function(e){return Number.isInteger(e)},e}();t.NumberWrapper=B,t.RegExp=x.RegExp;var L=function(){function e(){}return e.create=function(e,t){return void 0===t&&(t=""),t=t.replace(/g/g,""),new x.RegExp(e,t+"g")},e.firstMatch=function(e,t){return e.lastIndex=0,e.exec(t)},e.test=function(e,t){return e.lastIndex=0,e.test(t)},e.matcher=function(e,t){return e.lastIndex=0,{re:e,input:t}},e}();t.RegExpWrapper=L;var F=function(){function e(){}return e.next=function(e){return e.re.exec(e.input)},e}();t.RegExpMatcherWrapper=F;var W=function(){function e(){}return e.apply=function(e,t){return e.apply(null,t)},e}();t.FunctionWrapper=W,t.looseIdentical=P,t.getMapKey=w,t.normalizeBlank=R,t.normalizeBool=E,t.isJsObject=O,t.print=S;var U=function(){function e(){}return e.parse=function(e){return x.JSON.parse(e)},e.stringify=function(e){return x.JSON.stringify(e,null,2)},e}();t.Json=U;var H=function(){function e(){}return e.create=function(e,n,r,i,o,s,a){return void 0===n&&(n=1),void 0===r&&(r=1),void 0===i&&(i=0),void 0===o&&(o=0),void 0===s&&(s=0),void 0===a&&(a=0),new t.Date(e,n-1,r,i,o,s,a)},e.fromISOString=function(e){return new t.Date(e)},e.fromMillis=function(e){return new t.Date(e)},e.toMillis=function(e){return e.getTime()},e.now=function(){return new t.Date},e.toJson=function(e){return e.toJSON()},e}();t.DateWrapper=H,t.setValueOnPath=D;var q=null;t.getSymbolIterator=T}).call(t,function(){return this}())},function(e,t,n){function r(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}var i=n(7);t.InjectMetadata=i.InjectMetadata,t.OptionalMetadata=i.OptionalMetadata,t.InjectableMetadata=i.InjectableMetadata,t.SelfMetadata=i.SelfMetadata,t.HostMetadata=i.HostMetadata,t.SkipSelfMetadata=i.SkipSelfMetadata,t.DependencyMetadata=i.DependencyMetadata,r(n(8));var o=n(10);t.forwardRef=o.forwardRef,t.resolveForwardRef=o.resolveForwardRef;var s=n(11);t.Injector=s.Injector;var a=n(13);t.Binding=a.Binding,t.ProviderBuilder=a.ProviderBuilder,t.ResolvedFactory=a.ResolvedFactory,t.Dependency=a.Dependency,t.bind=a.bind,t.Provider=a.Provider,t.provide=a.provide;var c=n(19);t.Key=c.Key,t.TypeLiteral=c.TypeLiteral;var u=n(21);t.NoProviderError=u.NoProviderError,t.AbstractProviderError=u.AbstractProviderError,t.CyclicDependencyError=u.CyclicDependencyError,t.InstantiationError=u.InstantiationError,t.InvalidProviderError=u.InvalidProviderError,t.NoAnnotationError=u.NoAnnotationError,t.OutOfBoundsError=u.OutOfBoundsError;var p=n(22);t.OpaqueToken=p.OpaqueToken},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(5),s=function(){function e(e){this.token=e}return e.prototype.toString=function(){return"@Inject("+o.stringify(this.token)+")"},e=r([o.CONST(),i("design:paramtypes",[Object])],e)}();t.InjectMetadata=s;var a=function(){function e(){}return e.prototype.toString=function(){return"@Optional()"},e=r([o.CONST(),i("design:paramtypes",[])],e)}();t.OptionalMetadata=a;var c=function(){function e(){}return Object.defineProperty(e.prototype,"token",{get:function(){return null},enumerable:!0,configurable:!0}),e=r([o.CONST(),i("design:paramtypes",[])],e)}();t.DependencyMetadata=c;var u=function(){function e(){}return e=r([o.CONST(),i("design:paramtypes",[])],e)}();t.InjectableMetadata=u;var p=function(){function e(){}return e.prototype.toString=function(){return"@Self()"},e=r([o.CONST(),i("design:paramtypes",[])],e)}();t.SelfMetadata=p;var l=function(){function e(){}return e.prototype.toString=function(){return"@SkipSelf()"},e=r([o.CONST(),i("design:paramtypes",[])],e)}();t.SkipSelfMetadata=l;var h=function(){function e(){}return e.prototype.toString=function(){return"@Host()"},e=r([o.CONST(),i("design:paramtypes",[])],e)}();t.HostMetadata=h},function(e,t,n){var r=n(7),i=n(9);t.Inject=i.makeParamDecorator(r.InjectMetadata),t.Optional=i.makeParamDecorator(r.OptionalMetadata),t.Injectable=i.makeDecorator(r.InjectableMetadata),t.Self=i.makeParamDecorator(r.SelfMetadata),t.Host=i.makeParamDecorator(r.HostMetadata),t.SkipSelf=i.makeParamDecorator(r.SkipSelfMetadata)},function(e,t,n){function r(e){return u.isFunction(e)&&e.hasOwnProperty("annotation")&&(e=e.annotation),e}function i(e,t){if(e===Object||e===String||e===Function||e===Number||e===Array)throw new Error("Can not use native "+u.stringify(e)+" as constructor");if(u.isFunction(e))return e;if(e instanceof Array){var n=e,i=e[e.length-1];if(!u.isFunction(i))throw new Error("Last position of Class method array must be Function in key "+t+" was '"+u.stringify(i)+"'");var o=n.length-1;if(o!=i.length)throw new Error("Number of annotations ("+o+") does not match number of arguments ("+i.length+") in the function: "+u.stringify(i));for(var s=[],a=0,c=n.length-1;c>a;a++){var l=[];s.push(l);var h=n[a];if(h instanceof Array)for(var f=0;f0&&(this.provider0=t[0].provider,this.keyId0=t[0].getKeyId(),this.visibility0=t[0].visibility),n>1&&(this.provider1=t[1].provider,this.keyId1=t[1].getKeyId(),this.visibility1=t[1].visibility),n>2&&(this.provider2=t[2].provider,this.keyId2=t[2].getKeyId(),this.visibility2=t[2].visibility),n>3&&(this.provider3=t[3].provider,this.keyId3=t[3].getKeyId(),this.visibility3=t[3].visibility),n>4&&(this.provider4=t[4].provider,this.keyId4=t[4].getKeyId(),this.visibility4=t[4].visibility),n>5&&(this.provider5=t[5].provider,this.keyId5=t[5].getKeyId(),this.visibility5=t[5].visibility),n>6&&(this.provider6=t[6].provider,this.keyId6=t[6].getKeyId(),this.visibility6=t[6].visibility),n>7&&(this.provider7=t[7].provider,this.keyId7=t[7].getKeyId(),this.visibility7=t[7].visibility),n>8&&(this.provider8=t[8].provider,this.keyId8=t[8].getKeyId(),this.visibility8=t[8].visibility),n>9&&(this.provider9=t[9].provider,this.keyId9=t[9].getKeyId(),this.visibility9=t[9].visibility)}return e.prototype.getProviderAtIndex=function(e){if(0==e)return this.provider0;if(1==e)return this.provider1;if(2==e)return this.provider2;if(3==e)return this.provider3;if(4==e)return this.provider4;if(5==e)return this.provider5;if(6==e)return this.provider6;if(7==e)return this.provider7;if(8==e)return this.provider8;if(9==e)return this.provider9;throw new a.OutOfBoundsError(e)},e.prototype.createInjectorStrategy=function(e){return new v(e,this)},e}();t.ProtoInjectorInlineStrategy=f;var d=function(){function e(e,t){var n=t.length;this.providers=o.ListWrapper.createFixedSize(n),this.keyIds=o.ListWrapper.createFixedSize(n),this.visibilities=o.ListWrapper.createFixedSize(n);for(var r=0;n>r;r++)this.providers[r]=t[r].provider,this.keyIds[r]=t[r].getKeyId(),this.visibilities[r]=t[r].visibility}return e.prototype.getProviderAtIndex=function(e){if(0>e||e>=this.providers.length)throw new a.OutOfBoundsError(e);return this.providers[e]},e.prototype.createInjectorStrategy=function(e){return new m(this,e)},e}();t.ProtoInjectorDynamicStrategy=d;var y=function(){function e(e){this.numberOfProviders=e.length,this._strategy=e.length>l?new d(this,e):new f(this,e)}return e.prototype.getProviderAtIndex=function(e){return this._strategy.getProviderAtIndex(e)},e}();t.ProtoInjector=y;var v=function(){function e(e,n){this.injector=e,this.protoStrategy=n,this.obj0=t.UNDEFINED,this.obj1=t.UNDEFINED,this.obj2=t.UNDEFINED,this.obj3=t.UNDEFINED,this.obj4=t.UNDEFINED,this.obj5=t.UNDEFINED,this.obj6=t.UNDEFINED,this.obj7=t.UNDEFINED,this.obj8=t.UNDEFINED,this.obj9=t.UNDEFINED}return e.prototype.resetConstructionCounter=function(){this.injector._constructionCounter=0},e.prototype.instantiateProvider=function(e,t){return this.injector._new(e,t)},e.prototype.attach=function(e,t){var n=this.injector;n._parent=e,n._isHost=t},e.prototype.getObjByKeyId=function(e,n){var i=this.protoStrategy,o=this.injector;return i.keyId0===e&&r(i.visibility0,n)?(this.obj0===t.UNDEFINED&&(this.obj0=o._new(i.provider0,i.visibility0)),this.obj0):i.keyId1===e&&r(i.visibility1,n)?(this.obj1===t.UNDEFINED&&(this.obj1=o._new(i.provider1,i.visibility1)),this.obj1):i.keyId2===e&&r(i.visibility2,n)?(this.obj2===t.UNDEFINED&&(this.obj2=o._new(i.provider2,i.visibility2)),this.obj2):i.keyId3===e&&r(i.visibility3,n)?(this.obj3===t.UNDEFINED&&(this.obj3=o._new(i.provider3,i.visibility3)),this.obj3):i.keyId4===e&&r(i.visibility4,n)?(this.obj4===t.UNDEFINED&&(this.obj4=o._new(i.provider4,i.visibility4)),this.obj4):i.keyId5===e&&r(i.visibility5,n)?(this.obj5===t.UNDEFINED&&(this.obj5=o._new(i.provider5,i.visibility5)),this.obj5):i.keyId6===e&&r(i.visibility6,n)?(this.obj6===t.UNDEFINED&&(this.obj6=o._new(i.provider6,i.visibility6)),this.obj6):i.keyId7===e&&r(i.visibility7,n)?(this.obj7===t.UNDEFINED&&(this.obj7=o._new(i.provider7,i.visibility7)),this.obj7):i.keyId8===e&&r(i.visibility8,n)?(this.obj8===t.UNDEFINED&&(this.obj8=o._new(i.provider8,i.visibility8)),this.obj8):i.keyId9===e&&r(i.visibility9,n)?(this.obj9===t.UNDEFINED&&(this.obj9=o._new(i.provider9,i.visibility9)),this.obj9):t.UNDEFINED},e.prototype.getObjAtIndex=function(e){if(0==e)return this.obj0;if(1==e)return this.obj1;if(2==e)return this.obj2;if(3==e)return this.obj3;if(4==e)return this.obj4;if(5==e)return this.obj5;if(6==e)return this.obj6;if(7==e)return this.obj7;if(8==e)return this.obj8;if(9==e)return this.obj9;throw new a.OutOfBoundsError(e)},e.prototype.getMaxNumberOfObjects=function(){return l},e}();t.InjectorInlineStrategy=v;var m=function(){function e(e,n){this.protoStrategy=e,this.injector=n,this.objs=o.ListWrapper.createFixedSize(e.providers.length),o.ListWrapper.fill(this.objs,t.UNDEFINED)}return e.prototype.resetConstructionCounter=function(){this.injector._constructionCounter=0},e.prototype.instantiateProvider=function(e,t){return this.injector._new(e,t)},e.prototype.attach=function(e,t){var n=this.injector;n._parent=e,n._isHost=t},e.prototype.getObjByKeyId=function(e,n){for(var i=this.protoStrategy,o=0;oe||e>=this.objs.length)throw new a.OutOfBoundsError(e);return this.objs[e]},e.prototype.getMaxNumberOfObjects=function(){return this.objs.length},e}();t.InjectorDynamicStrategy=m;var g=function(){function e(e,t){this.provider=e,this.visibility=t}return e.prototype.getKeyId=function(){return this.provider.key.id},e}();t.ProviderWithVisibility=g;var _=function(){function e(e,t,n,r){void 0===t&&(t=null),void 0===n&&(n=null),void 0===r&&(r=null),this._depProvider=n,this._debugContext=r,this._isHost=!1,this._constructionCounter=0,this._proto=e,this._parent=t,this._strategy=e._strategy.createInjectorStrategy(this)}return e.resolve=function(e){return s.resolveProviders(e)},e.resolveAndCreate=function(t){var n=e.resolve(t);return e.fromResolvedProviders(n)},e.fromResolvedProviders=function(t){var n=t.map(function(e){return new g(e,h.Public)}),r=new y(n);return new e(r,null,null)},e.fromResolvedBindings=function(t){return e.fromResolvedProviders(t)},e.prototype.debugContext=function(){return this._debugContext()},e.prototype.get=function(e){return this._getByKey(u.Key.get(e),null,null,!1,h.PublicAndPrivate)},e.prototype.getOptional=function(e){return this._getByKey(u.Key.get(e),null,null,!0,h.PublicAndPrivate)},e.prototype.getAt=function(e){return this._strategy.getObjAtIndex(e)},Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"internalStrategy",{get:function(){return this._strategy},enumerable:!0,configurable:!0}),e.prototype.resolveAndCreateChild=function(t){var n=e.resolve(t);return this.createChildFromResolved(n)},e.prototype.createChildFromResolved=function(t){var n=t.map(function(e){return new g(e,h.Public)}),r=new y(n),i=new e(r,null,null);return i._parent=this,i},e.prototype.resolveAndInstantiate=function(t){return this.instantiateResolved(e.resolve([t])[0])},e.prototype.instantiateResolved=function(e){return this._instantiateProvider(e,h.PublicAndPrivate)},e.prototype._new=function(e,t){if(this._constructionCounter++>this._strategy.getMaxNumberOfObjects())throw new a.CyclicDependencyError(this,e.key);return this._instantiateProvider(e,t)},e.prototype._instantiateProvider=function(e,t){if(e.multiProvider){for(var n=o.ListWrapper.createFixedSize(e.resolvedFactories.length),r=0;r0?this._getByDependency(e,E[0],n):null,i=O>1?this._getByDependency(e,E[1],n):null,o=O>2?this._getByDependency(e,E[2],n):null,s=O>3?this._getByDependency(e,E[3],n):null,c=O>4?this._getByDependency(e,E[4],n):null,u=O>5?this._getByDependency(e,E[5],n):null,p=O>6?this._getByDependency(e,E[6],n):null,l=O>7?this._getByDependency(e,E[7],n):null,h=O>8?this._getByDependency(e,E[8],n):null,f=O>9?this._getByDependency(e,E[9],n):null,d=O>10?this._getByDependency(e,E[10],n):null,y=O>11?this._getByDependency(e,E[11],n):null,v=O>12?this._getByDependency(e,E[12],n):null,m=O>13?this._getByDependency(e,E[13],n):null,g=O>14?this._getByDependency(e,E[14],n):null,_=O>15?this._getByDependency(e,E[15],n):null,b=O>16?this._getByDependency(e,E[16],n):null,C=O>17?this._getByDependency(e,E[17],n):null,P=O>18?this._getByDependency(e,E[18],n):null,w=O>19?this._getByDependency(e,E[19],n):null}catch(S){throw(S instanceof a.AbstractProviderError||S instanceof a.InstantiationError)&&S.addKey(this,e.key),S}var D;try{switch(O){case 0:D=R();break;case 1:D=R(r);break;case 2:D=R(r,i);break;case 3:D=R(r,i,o);break;case 4:D=R(r,i,o,s);break;case 5:D=R(r,i,o,s,c);break;case 6:D=R(r,i,o,s,c,u);break;case 7:D=R(r,i,o,s,c,u,p);break;case 8:D=R(r,i,o,s,c,u,p,l);break;case 9:D=R(r,i,o,s,c,u,p,l,h);break;case 10:D=R(r,i,o,s,c,u,p,l,h,f);break;case 11:D=R(r,i,o,s,c,u,p,l,h,f,d);break;case 12:D=R(r,i,o,s,c,u,p,l,h,f,d,y);break;case 13:D=R(r,i,o,s,c,u,p,l,h,f,d,y,v);break;case 14:D=R(r,i,o,s,c,u,p,l,h,f,d,y,v,m);break;case 15:D=R(r,i,o,s,c,u,p,l,h,f,d,y,v,m,g);break;case 16:D=R(r,i,o,s,c,u,p,l,h,f,d,y,v,m,g,_);break;case 17:D=R(r,i,o,s,c,u,p,l,h,f,d,y,v,m,g,_,b);break;case 18:D=R(r,i,o,s,c,u,p,l,h,f,d,y,v,m,g,_,b,C);break;case 19:D=R(r,i,o,s,c,u,p,l,h,f,d,y,v,m,g,_,b,C,P);break;case 20:D=R(r,i,o,s,c,u,p,l,h,f,d,y,v,m,g,_,b,C,P,w)}}catch(S){throw new a.InstantiationError(this,S,S.stack,e.key)}return D},e.prototype._getByDependency=function(e,n,r){var i=c.isPresent(this._depProvider)?this._depProvider.getDependency(this,e,n):t.UNDEFINED;return i!==t.UNDEFINED?i:this._getByKey(n.key,n.lowerBoundVisibility,n.upperBoundVisibility,n.optional,r)},e.prototype._getByKey=function(e,t,n,r,i){return e===b?this:n instanceof p.SelfMetadata?this._getByKeySelf(e,r,i):n instanceof p.HostMetadata?this._getByKeyHost(e,r,i,t):this._getByKeyDefault(e,r,i,t)},e.prototype._throwOrNull=function(e,t){if(t)return null;throw new a.NoProviderError(this,e)},e.prototype._getByKeySelf=function(e,n,r){var i=this._strategy.getObjByKeyId(e.id,r);return i!==t.UNDEFINED?i:this._throwOrNull(e,n)},e.prototype._getByKeyHost=function(e,n,r,i){var o=this;if(i instanceof p.SkipSelfMetadata){if(o._isHost)return this._getPrivateDependency(e,n,o);o=o._parent}for(;null!=o;){var s=o._strategy.getObjByKeyId(e.id,r);if(s!==t.UNDEFINED)return s;if(c.isPresent(o._parent)&&o._isHost)return this._getPrivateDependency(e,n,o);o=o._parent}return this._throwOrNull(e,n)},e.prototype._getPrivateDependency=function(e,n,r){var i=r._parent._strategy.getObjByKeyId(e.id,h.Private);return i!==t.UNDEFINED?i:this._throwOrNull(e,n)},e.prototype._getByKeyDefault=function(e,n,r,i){var o=this;for(i instanceof p.SkipSelfMetadata&&(r=o._isHost?h.PublicAndPrivate:h.Public,o=o._parent);null!=o;){var s=o._strategy.getObjByKeyId(e.id,r);if(s!==t.UNDEFINED)return s;r=o._isHost?h.PublicAndPrivate:h.Public,o=o._parent}return this._throwOrNull(e,n)},Object.defineProperty(e.prototype,"displayName",{get:function(){return"Injector(providers: ["+i(this,function(e){return' "'+e.key.displayName+'" '}).join(", ")+"])"},enumerable:!0,configurable:!0}),e.prototype.toString=function(){return this.displayName},e}();t.Injector=_;var b=u.Key.get(_)},function(e,t,n){function r(e){return o.isJsObject(e)?o.isArray(e)||!(e instanceof t.Map)&&o.getSymbolIterator()in e:!1}function i(e,t){if(o.isArray(e))for(var n=0;n-1?(e.splice(n,1),!0):!1},e.clear=function(e){e.length=0},e.isEmpty=function(e){return 0==e.length},e.fill=function(e,t,n,r){void 0===n&&(n=0),void 0===r&&(r=null),e.fill(t,n,null===r?e.length:r)},e.equals=function(e,t){if(e.length!=t.length)return!1;for(var n=0;nr&&(n=s,r=a)}}return n},e}();t.ListWrapper=h,t.isListLikeIterable=r,t.iterateListLike=i;var f=function(){var e=new t.Set([1,2,3]);return 3===e.size?function(e){return new t.Set(e)}:function(e){var n=new t.Set(e);if(n.size!==e.length)for(var r=0;ro?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},g=n(5),_=n(14),b=n(12),C=n(16),P=n(19),w=n(7),R=n(21),E=n(10),O=function(){function e(e,t,n,r,i){this.key=e,this.optional=t,this.lowerBoundVisibility=n,this.upperBoundVisibility=r,this.properties=i}return e.fromKey=function(t){return new e(t,!1,null,null,[])},e}();t.Dependency=O;var S=g.CONST_EXPR([]),D=function(){function e(e,t){var n=t.useClass,r=t.useValue,i=t.useExisting,o=t.useFactory,s=t.deps,a=t.multi;this.token=e,this.useClass=n,this.useValue=r,this.useExisting=i,this.useFactory=o,this.dependencies=s,this._multi=a}return Object.defineProperty(e.prototype,"multi",{get:function(){return g.normalizeBool(this._multi)},enumerable:!0,configurable:!0}),e=v([g.CONST(),m("design:paramtypes",[Object,Object])],e)}();t.Provider=D;var T=function(e){function t(t,n){var r=n.toClass,i=n.toValue,o=n.toAlias,s=n.toFactory,a=n.deps,c=n.multi;e.call(this,t,{useClass:r,useValue:i,useExisting:o,useFactory:s,deps:a,multi:c})}return y(t,e),Object.defineProperty(t.prototype,"toClass",{get:function(){return this.useClass},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"toAlias",{get:function(){return this.useExisting},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"toFactory",{get:function(){return this.useFactory},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"toValue",{get:function(){return this.useValue},enumerable:!0,configurable:!0}),t=v([g.CONST(),m("design:paramtypes",[Object,Object])],t)}(D);t.Binding=T;var A=function(){function e(e,t,n){this.key=e,this.resolvedFactories=t,this.multiProvider=n}return Object.defineProperty(e.prototype,"resolvedFactory",{get:function(){return this.resolvedFactories[0]},enumerable:!0,configurable:!0}),e}();t.ResolvedProvider_=A;var I=function(){function e(e,t){this.factory=e,this.dependencies=t}return e}();t.ResolvedFactory=I,t.bind=r,t.provide=i;var x=function(){function e(e){this.token=e}return e.prototype.toClass=function(e){if(!g.isType(e))throw new _.BaseException('Trying to create a class provider but "'+g.stringify(e)+'" is not a class!');return new D(this.token,{useClass:e})},e.prototype.toValue=function(e){return new D(this.token,{useValue:e})},e.prototype.toAlias=function(e){if(g.isBlank(e))throw new _.BaseException("Can not alias "+g.stringify(this.token)+" to a blank value!");return new D(this.token,{useExisting:e})},e.prototype.toFactory=function(e,t){if(!g.isFunction(e))throw new _.BaseException('Trying to create a factory provider but "'+g.stringify(e)+'" is not a function!');return new D(this.token,{useFactory:e,deps:t})},e}();t.ProviderBuilder=x,t.resolveFactory=o,t.resolveProvider=s,t.resolveProviders=a;var N=function(){function e(e,t){this.key=e,this.resolvedFactory=t}return e}()},function(e,t,n){function r(e){return new TypeError(e)}function i(){throw new c("unimplemented")}var o=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},s=n(15),a=n(15);t.ExceptionHandler=a.ExceptionHandler;var c=function(e){function t(t){void 0===t&&(t="--"),e.call(this,t),this.message=t,this.stack=new Error(t).stack}return o(t,e),t.prototype.toString=function(){return this.message},t}(Error);t.BaseException=c;var u=function(e){function t(t,n,r,i){e.call(this,t),this._wrapperMessage=t,this._originalException=n,this._originalStack=r,this._context=i,this._wrapperStack=new Error(t).stack}return o(t,e),Object.defineProperty(t.prototype,"wrapperMessage",{get:function(){return this._wrapperMessage},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"wrapperStack",{get:function(){return this._wrapperStack},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"originalException",{get:function(){return this._originalException},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"originalStack",{get:function(){return this._originalStack},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"context",{get:function(){return this._context},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"message",{get:function(){return s.ExceptionHandler.exceptionToString(this)},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return this.message},t}(Error);t.WrappedException=u,t.makeTypeError=r,t.unimplemented=i},function(e,t,n){var r=n(5),i=n(14),o=n(12),s=function(){function e(){this.res=[]}return e.prototype.log=function(e){this.res.push(e)},e.prototype.logError=function(e){this.res.push(e)},e.prototype.logGroup=function(e){this.res.push(e)},e.prototype.logGroupEnd=function(){},e}(),a=function(){function e(e,t){void 0===t&&(t=!0),this._logger=e,this._rethrowException=t}return e.exceptionToString=function(t,n,r){void 0===n&&(n=null),void 0===r&&(r=null);var i=new s,o=new e(i,!1);return o.call(t,n,r),i.res.join("\n")},e.prototype.call=function(e,t,n){void 0===t&&(t=null),void 0===n&&(n=null);var i=this._findOriginalException(e),o=this._findOriginalStack(e),s=this._findContext(e);if(this._logger.logGroup("EXCEPTION: "+this._extractMessage(e)),r.isPresent(t)&&r.isBlank(o)&&(this._logger.logError("STACKTRACE:"),this._logger.logError(this._longStackTrace(t))),r.isPresent(n)&&this._logger.logError("REASON: "+n),r.isPresent(i)&&this._logger.logError("ORIGINAL EXCEPTION: "+this._extractMessage(i)),r.isPresent(o)&&(this._logger.logError("ORIGINAL STACKTRACE:"),this._logger.logError(this._longStackTrace(o))),r.isPresent(s)&&(this._logger.logError("ERROR CONTEXT:"),this._logger.logError(s)),this._logger.logGroupEnd(),this._rethrowException)throw e},e.prototype._extractMessage=function(e){return e instanceof i.WrappedException?e.wrapperMessage:e.toString()},e.prototype._longStackTrace=function(e){return o.isListLikeIterable(e)?e.join("\n\n-----async gap-----\n"):e.toString()},e.prototype._findContext=function(e){try{return e instanceof i.WrappedException?r.isPresent(e.context)?e.context:this._findContext(e.originalException):null}catch(t){return null}},e.prototype._findOriginalException=function(e){if(!(e instanceof i.WrappedException))return null;for(var t=e.originalException;t instanceof i.WrappedException&&r.isPresent(t.originalException);)t=t.originalException;return t},e.prototype._findOriginalStack=function(e){if(!(e instanceof i.WrappedException))return null;for(var t=e,n=e.originalStack;t instanceof i.WrappedException&&r.isPresent(t.originalException);)t=t.originalException,t instanceof i.WrappedException&&r.isPresent(t.originalException)&&(n=t.originalStack);return n},e}();t.ExceptionHandler=a},function(e,t,n){var r=n(17),i=n(17);t.Reflector=i.Reflector,t.ReflectionInfo=i.ReflectionInfo;var o=n(18);t.reflector=new r.Reflector(new o.ReflectionCapabilities)},function(e,t,n){function r(e,t){s.StringMapWrapper.forEach(t,function(t,n){return e.set(n,t)})}var i=n(5),o=n(14),s=n(12),a=function(){function e(e,t,n,r,i){this.annotations=e,this.parameters=t,this.factory=n,this.interfaces=r,this.propMetadata=i}return e}();t.ReflectionInfo=a;var c=function(){function e(e){this._injectableInfo=new s.Map,this._getters=new s.Map,this._setters=new s.Map,this._methods=new s.Map,this._usedKeys=null,this.reflectionCapabilities=e}return e.prototype.isReflectionEnabled=function(){return this.reflectionCapabilities.isReflectionEnabled()},e.prototype.trackUsage=function(){this._usedKeys=new s.Set},e.prototype.listUnusedKeys=function(){var e=this;if(null==this._usedKeys)throw new o.BaseException("Usage tracking is disabled");var t=s.MapWrapper.keys(this._injectableInfo);return t.filter(function(t){return!s.SetWrapper.has(e._usedKeys,t)})},e.prototype.registerFunction=function(e,t){this._injectableInfo.set(e,t)},e.prototype.registerType=function(e,t){this._injectableInfo.set(e,t)},e.prototype.registerGetters=function(e){r(this._getters,e)},e.prototype.registerSetters=function(e){r(this._setters,e)},e.prototype.registerMethods=function(e){r(this._methods,e)},e.prototype.factory=function(e){if(this._containsReflectionInfo(e)){var t=this._getReflectionInfo(e).factory;return i.isPresent(t)?t:null}return this.reflectionCapabilities.factory(e)},e.prototype.parameters=function(e){if(this._injectableInfo.has(e)){var t=this._getReflectionInfo(e).parameters;return i.isPresent(t)?t:[]}return this.reflectionCapabilities.parameters(e)},e.prototype.annotations=function(e){if(this._injectableInfo.has(e)){var t=this._getReflectionInfo(e).annotations;return i.isPresent(t)?t:[]}return this.reflectionCapabilities.annotations(e)},e.prototype.propMetadata=function(e){if(this._injectableInfo.has(e)){var t=this._getReflectionInfo(e).propMetadata;return i.isPresent(t)?t:{}}return this.reflectionCapabilities.propMetadata(e)},e.prototype.interfaces=function(e){if(this._injectableInfo.has(e)){var t=this._getReflectionInfo(e).interfaces;return i.isPresent(t)?t:[]}return this.reflectionCapabilities.interfaces(e)},e.prototype.getter=function(e){return this._getters.has(e)?this._getters.get(e):this.reflectionCapabilities.getter(e)},e.prototype.setter=function(e){return this._setters.has(e)?this._setters.get(e):this.reflectionCapabilities.setter(e)},e.prototype.method=function(e){return this._methods.has(e)?this._methods.get(e):this.reflectionCapabilities.method(e)},e.prototype._getReflectionInfo=function(e){return i.isPresent(this._usedKeys)&&this._usedKeys.add(e),this._injectableInfo.get(e)},e.prototype._containsReflectionInfo=function(e){return this._injectableInfo.has(e)},e.prototype.importUri=function(e){return this.reflectionCapabilities.importUri(e)},e}();t.Reflector=c},function(e,t,n){var r=n(5),i=n(14),o=function(){function e(e){this._reflect=r.isPresent(e)?e:r.global.Reflect}return e.prototype.isReflectionEnabled=function(){return!0},e.prototype.factory=function(e){switch(e.length){case 0:return function(){return new e};case 1:return function(t){return new e(t)};case 2:return function(t,n){return new e(t,n)};case 3:return function(t,n,r){return new e(t,n,r)};case 4:return function(t,n,r,i){return new e(t,n,r,i)};case 5:return function(t,n,r,i,o){return new e(t,n,r,i,o)};case 6:return function(t,n,r,i,o,s){return new e(t,n,r,i,o,s)};case 7:return function(t,n,r,i,o,s,a){return new e(t,n,r,i,o,s,a)};case 8:return function(t,n,r,i,o,s,a,c){return new e(t,n,r,i,o,s,a,c)};case 9:return function(t,n,r,i,o,s,a,c,u){return new e(t,n,r,i,o,s,a,c,u)};case 10:return function(t,n,r,i,o,s,a,c,u,p){return new e(t,n,r,i,o,s,a,c,u,p)};case 11:return function(t,n,r,i,o,s,a,c,u,p,l){return new e(t,n,r,i,o,s,a,c,u,p,l)};case 12:return function(t,n,r,i,o,s,a,c,u,p,l,h){return new e(t,n,r,i,o,s,a,c,u,p,l,h)};case 13:return function(t,n,r,i,o,s,a,c,u,p,l,h,f){return new e(t,n,r,i,o,s,a,c,u,p,l,h,f)};case 14:return function(t,n,r,i,o,s,a,c,u,p,l,h,f,d){return new e(t,n,r,i,o,s,a,c,u,p,l,h,f,d)};case 15:return function(t,n,r,i,o,s,a,c,u,p,l,h,f,d,y){return new e(t,n,r,i,o,s,a,c,u,p,l,h,f,d,y)};case 16:return function(t,n,r,i,o,s,a,c,u,p,l,h,f,d,y,v){return new e(t,n,r,i,o,s,a,c,u,p,l,h,f,d,y,v)};case 17:return function(t,n,r,i,o,s,a,c,u,p,l,h,f,d,y,v,m){return new e(t,n,r,i,o,s,a,c,u,p,l,h,f,d,y,v,m)};case 18:return function(t,n,r,i,o,s,a,c,u,p,l,h,f,d,y,v,m,g){return new e(t,n,r,i,o,s,a,c,u,p,l,h,f,d,y,v,m,g)};case 19:return function(t,n,r,i,o,s,a,c,u,p,l,h,f,d,y,v,m,g,_){return new e(t,n,r,i,o,s,a,c,u,p,l,h,f,d,y,v,m,g,_)};case 20:return function(t,n,r,i,o,s,a,c,u,p,l,h,f,d,y,v,m,g,_,b){return new e(t,n,r,i,o,s,a,c,u,p,l,h,f,d,y,v,m,g,_,b)}}throw new Error("Cannot create a factory for '"+r.stringify(e)+"' because its constructor has more than 20 arguments")},e.prototype._zipTypesAndAnnotaions=function(e,t){var n;n="undefined"==typeof e?new Array(t.length):new Array(e.length);for(var i=0;i1){var t=r(s.ListWrapper.reversed(e)),n=t.map(function(e){return a.stringify(e.token)});return" ("+n.join(" -> ")+")"}return""}var o=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},s=n(12),a=n(5),c=n(14),u=function(e){function t(t,n,r){e.call(this,"DI Exception"),this.keys=[n],this.injectors=[t],this.constructResolvingMessage=r,this.message=this.constructResolvingMessage(this.keys)}return o(t,e),t.prototype.addKey=function(e,t){this.injectors.push(e),this.keys.push(t),this.message=this.constructResolvingMessage(this.keys)},Object.defineProperty(t.prototype,"context",{get:function(){return this.injectors[this.injectors.length-1].debugContext()},enumerable:!0,configurable:!0}),t}(c.BaseException);t.AbstractProviderError=u;var p=function(e){function t(t,n){e.call(this,t,n,function(e){var t=a.stringify(s.ListWrapper.first(e).token);return"No provider for "+t+"!"+i(e)})}return o(t,e),t}(u);t.NoProviderError=p;var l=function(e){function t(t,n){e.call(this,t,n,function(e){return"Cannot instantiate cyclic dependency!"+i(e)})}return o(t,e),t}(u);t.CyclicDependencyError=l;var h=function(e){function t(t,n,r,i){e.call(this,"DI Exception",n,r,null),this.keys=[i],this.injectors=[t]}return o(t,e),t.prototype.addKey=function(e,t){this.injectors.push(e),this.keys.push(t)},Object.defineProperty(t.prototype,"wrapperMessage",{get:function(){var e=a.stringify(s.ListWrapper.first(this.keys).token);return"Error during instantiation of "+e+"!"+i(this.keys)+"."},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"causeKey",{get:function(){return this.keys[0]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"context",{get:function(){return this.injectors[this.injectors.length-1].debugContext()},enumerable:!0,configurable:!0}),t}(c.WrappedException);t.InstantiationError=h;var f=function(e){function t(t){e.call(this,"Invalid provider - only instances of Provider and Type are allowed, got: "+t.toString())}return o(t,e),t}(c.BaseException);t.InvalidProviderError=f;var d=function(e){function t(n,r){e.call(this,t._genMessage(n,r))}return o(t,e),t._genMessage=function(e,t){for(var n=[],r=0,i=t.length;i>r;r++){var o=t[r];a.isBlank(o)||0==o.length?n.push("?"):n.push(o.map(a.stringify).join(" "))}return"Cannot resolve all parameters for "+a.stringify(e)+"("+n.join(", ")+"). Make sure they all have valid type or annotations."},t}(c.BaseException);t.NoAnnotationError=d;var y=function(e){function t(t){e.call(this,"Index "+t+" is out-of-bounds.")}return o(t,e),t}(c.BaseException);t.OutOfBoundsError=y;var v=function(e){function t(t,n){e.call(this,"Cannot mix multi providers and regular providers, got: "+t.toString()+" "+n.toString())}return o(t,e),t}(c.BaseException);t.MixingMultiProvidersWithRegularProvidersError=v},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(5),s=function(){function e(e){this._desc=e}return e.prototype.toString=function(){return"Token "+this._desc},e=r([o.CONST(),i("design:paramtypes",[String])],e)}();t.OpaqueToken=s},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=n(5),a=n(7),c=n(24),u=function(e){function t(t){var n=void 0===t?{}:t,r=n.selector,i=n.inputs,o=n.outputs,s=n.properties,a=n.events,c=n.host,u=n.bindings,p=n.providers,l=n.exportAs,h=n.queries;e.call(this),this.selector=r,this._inputs=i,this._properties=s,this._outputs=o,this._events=a,this.host=c,this.exportAs=l,this.queries=h,this._providers=p,this._bindings=u}return r(t,e),Object.defineProperty(t.prototype,"inputs",{get:function(){return s.isPresent(this._properties)&&this._properties.length>0?this._properties:this._inputs},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"properties",{get:function(){return this.inputs},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"outputs",{get:function(){return s.isPresent(this._events)&&this._events.length>0?this._events:this._outputs},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"events",{get:function(){return this.outputs},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"providers",{get:function(){return s.isPresent(this._bindings)&&this._bindings.length>0?this._bindings:this._providers},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"bindings",{get:function(){return this.providers},enumerable:!0,configurable:!0}),t=i([s.CONST(),o("design:paramtypes",[Object])],t)}(a.InjectableMetadata);t.DirectiveMetadata=u;var p=function(e){function t(t){var n=void 0===t?{}:t,r=n.selector,i=n.inputs,o=n.outputs,s=n.properties,a=n.events,u=n.host,p=n.exportAs,l=n.moduleId,h=n.bindings,f=n.providers,d=n.viewBindings,y=n.viewProviders,v=n.changeDetection,m=void 0===v?c.ChangeDetectionStrategy.Default:v,g=n.queries,_=n.templateUrl,b=n.template,C=n.styleUrls,P=n.styles,w=n.directives,R=n.pipes,E=n.encapsulation;e.call(this,{selector:r,inputs:i,outputs:o,properties:s,events:a,host:u,exportAs:p,bindings:h,providers:f,queries:g}),this.changeDetection=m,this._viewProviders=y,this._viewBindings=d,this.templateUrl=_,this.template=b,this.styleUrls=C,this.styles=P,this.directives=w,this.pipes=R,this.encapsulation=E,this.moduleId=l}return r(t,e),Object.defineProperty(t.prototype,"viewProviders",{get:function(){return s.isPresent(this._viewBindings)&&this._viewBindings.length>0?this._viewBindings:this._viewProviders},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"viewBindings",{get:function(){return this.viewProviders},enumerable:!0,configurable:!0}),t=i([s.CONST(),o("design:paramtypes",[Object])],t)}(u);t.ComponentMetadata=p;var l=function(e){function t(t){var n=t.name,r=t.pure;e.call(this),this.name=n,this._pure=r}return r(t,e),Object.defineProperty(t.prototype,"pure",{get:function(){return s.isPresent(this._pure)?this._pure:!0},enumerable:!0,configurable:!0}),t=i([s.CONST(),o("design:paramtypes",[Object])],t)}(a.InjectableMetadata);t.PipeMetadata=l;var h=function(){function e(e){this.bindingPropertyName=e}return e=i([s.CONST(),o("design:paramtypes",[String])],e)}();t.InputMetadata=h;var f=function(){function e(e){this.bindingPropertyName=e}return e=i([s.CONST(),o("design:paramtypes",[String])],e)}();t.OutputMetadata=f;var d=function(){function e(e){this.hostPropertyName=e}return e=i([s.CONST(),o("design:paramtypes",[String])],e)}();t.HostBindingMetadata=d;var y=function(){function e(e,t){this.eventName=e,this.args=t}return e=i([s.CONST(),o("design:paramtypes",[String,Array])],e)}();t.HostListenerMetadata=y},function(e,t,n){var r=n(25);t.ChangeDetectionStrategy=r.ChangeDetectionStrategy,t.ExpressionChangedAfterItHasBeenCheckedException=r.ExpressionChangedAfterItHasBeenCheckedException,t.ChangeDetectionError=r.ChangeDetectionError,t.ChangeDetectorRef=r.ChangeDetectorRef,t.WrappedValue=r.WrappedValue,t.SimpleChange=r.SimpleChange,t.IterableDiffers=r.IterableDiffers,t.KeyValueDiffers=r.KeyValueDiffers},function(e,t,n){var r=n(26),i=n(27),o=n(28),s=n(29),a=n(5),c=n(30);t.ASTWithSource=c.ASTWithSource,t.AST=c.AST,t.AstTransformer=c.AstTransformer,t.PropertyRead=c.PropertyRead,t.LiteralArray=c.LiteralArray,t.ImplicitReceiver=c.ImplicitReceiver;var u=n(31);t.Lexer=u.Lexer;var p=n(32);t.Parser=p.Parser;var l=n(33);t.Locals=l.Locals;var h=n(34);t.DehydratedException=h.DehydratedException,t.ExpressionChangedAfterItHasBeenCheckedException=h.ExpressionChangedAfterItHasBeenCheckedException,t.ChangeDetectionError=h.ChangeDetectionError;var f=n(35);t.ChangeDetectorDefinition=f.ChangeDetectorDefinition,t.DebugContext=f.DebugContext,t.ChangeDetectorGenConfig=f.ChangeDetectorGenConfig;var d=n(36);t.ChangeDetectionStrategy=d.ChangeDetectionStrategy,t.CHANGE_DETECTION_STRATEGY_VALUES=d.CHANGE_DETECTION_STRATEGY_VALUES;var y=n(37);t.DynamicProtoChangeDetector=y.DynamicProtoChangeDetector;var v=n(51);t.JitProtoChangeDetector=v.JitProtoChangeDetector;var m=n(40);t.BindingRecord=m.BindingRecord,t.BindingTarget=m.BindingTarget;var g=n(41);t.DirectiveIndex=g.DirectiveIndex,t.DirectiveRecord=g.DirectiveRecord;var _=n(42);t.DynamicChangeDetector=_.DynamicChangeDetector;var b=n(44);t.ChangeDetectorRef=b.ChangeDetectorRef;var C=n(26);t.IterableDiffers=C.IterableDiffers;var P=n(28);t.KeyValueDiffers=P.KeyValueDiffers;var w=n(38);t.WrappedValue=w.WrappedValue,t.SimpleChange=w.SimpleChange,t.keyValDiff=a.CONST_EXPR([a.CONST_EXPR(new s.DefaultKeyValueDifferFactory)]),t.iterableDiff=a.CONST_EXPR([a.CONST_EXPR(new i.DefaultIterableDifferFactory)]),t.defaultIterableDiffers=a.CONST_EXPR(new r.IterableDiffers(t.iterableDiff)),t.defaultKeyValueDiffers=a.CONST_EXPR(new o.KeyValueDiffers(t.keyValDiff))},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(5),s=n(14),a=n(12),c=n(6),u=function(){function e(e){this.factories=e}return e.create=function(t,n){if(o.isPresent(n)){var r=a.ListWrapper.clone(n.factories);return t=t.concat(r),new e(t)}return new e(t)},e.extend=function(t){return new c.Provider(e,{useFactory:function(n){if(o.isBlank(n))throw new s.BaseException("Cannot extend IterableDiffers without a parent injector");return e.create(t,n)},deps:[[e,new c.SkipSelfMetadata,new c.OptionalMetadata]]})},e.prototype.find=function(e){var t=this.factories.find(function(t){return t.supports(e)});if(o.isPresent(t))return t;throw new s.BaseException("Cannot find a differ supporting object '"+e+"'")},e=r([c.Injectable(),o.CONST(),i("design:paramtypes",[Array])],e)}();t.IterableDiffers=u},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s); return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(5),s=n(14),a=n(12),c=n(5),u=function(){function e(){}return e.prototype.supports=function(e){return a.isListLikeIterable(e)},e.prototype.create=function(e){return new p},e=r([o.CONST(),i("design:paramtypes",[])],e)}();t.DefaultIterableDifferFactory=u;var p=function(){function e(){this._collection=null,this._length=null,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null}return Object.defineProperty(e.prototype,"collection",{get:function(){return this._collection},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"length",{get:function(){return this._length},enumerable:!0,configurable:!0}),e.prototype.forEachItem=function(e){var t;for(t=this._itHead;null!==t;t=t._next)e(t)},e.prototype.forEachPreviousItem=function(e){var t;for(t=this._previousItHead;null!==t;t=t._nextPrevious)e(t)},e.prototype.forEachAddedItem=function(e){var t;for(t=this._additionsHead;null!==t;t=t._nextAdded)e(t)},e.prototype.forEachMovedItem=function(e){var t;for(t=this._movesHead;null!==t;t=t._nextMoved)e(t)},e.prototype.forEachRemovedItem=function(e){var t;for(t=this._removalsHead;null!==t;t=t._nextRemoved)e(t)},e.prototype.diff=function(e){if(c.isBlank(e)&&(e=[]),!a.isListLikeIterable(e))throw new s.BaseException("Error trying to diff '"+e+"'");return this.check(e)?this:null},e.prototype.onDestroy=function(){},e.prototype.check=function(e){var t=this;this._reset();var n,r,i=this._itHead,o=!1;if(c.isArray(e)){var s=e;for(this._length=e.length,n=0;n"+c.stringify(this.currentIndex)+"]"},e}();t.CollectionChangeRecord=l;var h=function(){function e(){this._head=null,this._tail=null}return e.prototype.add=function(e){null===this._head?(this._head=this._tail=e,e._nextDup=null,e._prevDup=null):(this._tail._nextDup=e,e._prevDup=this._tail,e._nextDup=null,this._tail=e)},e.prototype.get=function(e,t){var n;for(n=this._head;null!==n;n=n._nextDup)if((null===t||to?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(5),s=n(14),a=n(12),c=n(6),u=function(){function e(e){this.factories=e}return e.create=function(t,n){if(o.isPresent(n)){var r=a.ListWrapper.clone(n.factories);return t=t.concat(r),new e(t)}return new e(t)},e.extend=function(t){return new c.Provider(e,{useFactory:function(n){if(o.isBlank(n))throw new s.BaseException("Cannot extend KeyValueDiffers without a parent injector");return e.create(t,n)},deps:[[e,new c.SkipSelfMetadata,new c.OptionalMetadata]]})},e.prototype.find=function(e){var t=this.factories.find(function(t){return t.supports(e)});if(o.isPresent(t))return t;throw new s.BaseException("Cannot find a differ supporting object '"+e+"'")},e=r([c.Injectable(),o.CONST(),i("design:paramtypes",[Array])],e)}();t.KeyValueDiffers=u},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(12),s=n(5),a=n(14),c=function(){function e(){}return e.prototype.supports=function(e){return e instanceof Map||s.isJsObject(e)},e.prototype.create=function(e){return new u},e=r([s.CONST(),i("design:paramtypes",[])],e)}();t.DefaultKeyValueDifferFactory=c;var u=function(){function e(){this._records=new Map,this._mapHead=null,this._previousMapHead=null,this._changesHead=null,this._changesTail=null,this._additionsHead=null,this._additionsTail=null,this._removalsHead=null,this._removalsTail=null}return Object.defineProperty(e.prototype,"isDirty",{get:function(){return null!==this._additionsHead||null!==this._changesHead||null!==this._removalsHead},enumerable:!0,configurable:!0}),e.prototype.forEachItem=function(e){var t;for(t=this._mapHead;null!==t;t=t._next)e(t)},e.prototype.forEachPreviousItem=function(e){var t;for(t=this._previousMapHead;null!==t;t=t._nextPrevious)e(t)},e.prototype.forEachChangedItem=function(e){var t;for(t=this._changesHead;null!==t;t=t._nextChanged)e(t)},e.prototype.forEachAddedItem=function(e){var t;for(t=this._additionsHead;null!==t;t=t._nextAdded)e(t)},e.prototype.forEachRemovedItem=function(e){var t;for(t=this._removalsHead;null!==t;t=t._nextRemoved)e(t)},e.prototype.diff=function(e){if(s.isBlank(e)&&(e=o.MapWrapper.createFromPairs([])),!(e instanceof Map||s.isJsObject(e)))throw new a.BaseException("Error trying to diff '"+e+"'");return this.check(e)?this:null},e.prototype.onDestroy=function(){},e.prototype.check=function(e){var t=this;this._reset();var n=this._records,r=this._mapHead,i=null,o=null,a=!1;return this._forEach(e,function(e,c){var u;null!==r&&c===r.key?(u=r,s.looseIdentical(e,r.currentValue)||(r.previousValue=r.currentValue,r.currentValue=e,t._addToChanges(r))):(a=!0,null!==r&&(r._next=null,t._removeFromSeq(i,r),t._addToRemovals(r)),n.has(c)?u=n.get(c):(u=new p(c),n.set(c,u),u.currentValue=e,t._addToAdditions(u))),a&&(t._isInRemovals(u)&&t._removeFromRemovals(u),null==o?t._mapHead=u:o._next=u),i=r,o=u,r=null===r?null:r._next}),this._truncate(i,r),this.isDirty},e.prototype._reset=function(){if(this.isDirty){var e;for(e=this._previousMapHead=this._mapHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._changesHead;null!==e;e=e._nextChanged)e.previousValue=e.currentValue;for(e=this._additionsHead;null!=e;e=e._nextAdded)e.previousValue=e.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=this._removalsTail=null}},e.prototype._truncate=function(e,t){for(;null!==t;){null===e?this._mapHead=null:e._next=null;var n=t._next;this._addToRemovals(t),e=t,t=n}for(var r=this._removalsHead;null!==r;r=r._nextRemoved)r.previousValue=r.currentValue,r.currentValue=null,this._records["delete"](r.key)},e.prototype._isInRemovals=function(e){return e===this._removalsHead||null!==e._nextRemoved||null!==e._prevRemoved},e.prototype._addToRemovals=function(e){null===this._removalsHead?this._removalsHead=this._removalsTail=e:(this._removalsTail._nextRemoved=e,e._prevRemoved=this._removalsTail,this._removalsTail=e)},e.prototype._removeFromSeq=function(e,t){var n=t._next;null===e?this._mapHead=n:e._next=n},e.prototype._removeFromRemovals=function(e){var t=e._prevRemoved,n=e._nextRemoved;null===t?this._removalsHead=n:t._nextRemoved=n,null===n?this._removalsTail=t:n._prevRemoved=t,e._prevRemoved=e._nextRemoved=null},e.prototype._addToAdditions=function(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)},e.prototype._addToChanges=function(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)},e.prototype.toString=function(){var e,t=[],n=[],r=[],i=[],o=[];for(e=this._mapHead;null!==e;e=e._next)t.push(s.stringify(e));for(e=this._previousMapHead;null!==e;e=e._nextPrevious)n.push(s.stringify(e));for(e=this._changesHead;null!==e;e=e._nextChanged)r.push(s.stringify(e));for(e=this._additionsHead;null!==e;e=e._nextAdded)i.push(s.stringify(e));for(e=this._removalsHead;null!==e;e=e._nextRemoved)o.push(s.stringify(e));return"map: "+t.join(", ")+"\nprevious: "+n.join(", ")+"\nadditions: "+i.join(", ")+"\nchanges: "+r.join(", ")+"\nremovals: "+o.join(", ")+"\n"},e.prototype._forEach=function(e,t){e instanceof Map?e.forEach(t):o.StringMapWrapper.forEach(e,t)},e}();t.DefaultKeyValueDiffer=u;var p=function(){function e(e){this.key=e,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._nextAdded=null,this._nextRemoved=null,this._prevRemoved=null,this._nextChanged=null}return e.prototype.toString=function(){return s.looseIdentical(this.previousValue,this.currentValue)?s.stringify(this.key):s.stringify(this.key)+"["+s.stringify(this.previousValue)+"->"+s.stringify(this.currentValue)+"]"},e}();t.KVChangeRecord=p},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=n(12),o=function(){function e(){}return e.prototype.visit=function(e){return null},e.prototype.toString=function(){return"AST"},e}();t.AST=o;var s=function(e){function t(t,n,r){e.call(this),this.prefix=t,this.uninterpretedExpression=n,this.location=r}return r(t,e),t.prototype.visit=function(e){return e.visitQuote(this)},t.prototype.toString=function(){return"Quote"},t}(o);t.Quote=s;var a=function(e){function t(){e.apply(this,arguments)}return r(t,e),t.prototype.visit=function(e){},t}(o);t.EmptyExpr=a;var c=function(e){function t(){e.apply(this,arguments)}return r(t,e),t.prototype.visit=function(e){return e.visitImplicitReceiver(this)},t}(o);t.ImplicitReceiver=c;var u=function(e){function t(t){e.call(this),this.expressions=t}return r(t,e),t.prototype.visit=function(e){return e.visitChain(this)},t}(o);t.Chain=u;var p=function(e){function t(t,n,r){e.call(this),this.condition=t,this.trueExp=n,this.falseExp=r}return r(t,e),t.prototype.visit=function(e){return e.visitConditional(this)},t}(o);t.Conditional=p;var l=function(e){function t(t,n,r){e.call(this),this.receiver=t,this.name=n,this.getter=r}return r(t,e),t.prototype.visit=function(e){return e.visitPropertyRead(this)},t}(o);t.PropertyRead=l;var h=function(e){function t(t,n,r,i){e.call(this),this.receiver=t,this.name=n,this.setter=r,this.value=i}return r(t,e),t.prototype.visit=function(e){return e.visitPropertyWrite(this)},t}(o);t.PropertyWrite=h;var f=function(e){function t(t,n,r){e.call(this),this.receiver=t,this.name=n,this.getter=r}return r(t,e),t.prototype.visit=function(e){return e.visitSafePropertyRead(this)},t}(o);t.SafePropertyRead=f;var d=function(e){function t(t,n){e.call(this),this.obj=t,this.key=n}return r(t,e),t.prototype.visit=function(e){return e.visitKeyedRead(this)},t}(o);t.KeyedRead=d;var y=function(e){function t(t,n,r){e.call(this),this.obj=t,this.key=n,this.value=r}return r(t,e),t.prototype.visit=function(e){return e.visitKeyedWrite(this)},t}(o);t.KeyedWrite=y;var v=function(e){function t(t,n,r){e.call(this),this.exp=t,this.name=n,this.args=r}return r(t,e),t.prototype.visit=function(e){return e.visitPipe(this)},t}(o);t.BindingPipe=v;var m=function(e){function t(t){e.call(this),this.value=t}return r(t,e),t.prototype.visit=function(e){return e.visitLiteralPrimitive(this)},t}(o);t.LiteralPrimitive=m;var g=function(e){function t(t){e.call(this),this.expressions=t}return r(t,e),t.prototype.visit=function(e){return e.visitLiteralArray(this)},t}(o);t.LiteralArray=g;var _=function(e){function t(t,n){e.call(this),this.keys=t,this.values=n}return r(t,e),t.prototype.visit=function(e){return e.visitLiteralMap(this)},t}(o);t.LiteralMap=_;var b=function(e){function t(t,n){e.call(this),this.strings=t,this.expressions=n}return r(t,e),t.prototype.visit=function(e){return e.visitInterpolation(this)},t}(o);t.Interpolation=b;var C=function(e){function t(t,n,r){e.call(this),this.operation=t,this.left=n,this.right=r}return r(t,e),t.prototype.visit=function(e){return e.visitBinary(this)},t}(o);t.Binary=C;var P=function(e){function t(t){e.call(this),this.expression=t}return r(t,e),t.prototype.visit=function(e){return e.visitPrefixNot(this)},t}(o);t.PrefixNot=P;var w=function(e){function t(t,n,r,i){e.call(this),this.receiver=t,this.name=n,this.fn=r,this.args=i}return r(t,e),t.prototype.visit=function(e){return e.visitMethodCall(this)},t}(o);t.MethodCall=w;var R=function(e){function t(t,n,r,i){e.call(this),this.receiver=t,this.name=n,this.fn=r,this.args=i}return r(t,e),t.prototype.visit=function(e){return e.visitSafeMethodCall(this)},t}(o);t.SafeMethodCall=R;var E=function(e){function t(t,n){e.call(this),this.target=t,this.args=n}return r(t,e),t.prototype.visit=function(e){return e.visitFunctionCall(this)},t}(o);t.FunctionCall=E;var O=function(e){function t(t,n,r){e.call(this),this.ast=t,this.source=n,this.location=r}return r(t,e),t.prototype.visit=function(e){return this.ast.visit(e)},t.prototype.toString=function(){return this.source+" in "+this.location},t}(o);t.ASTWithSource=O;var S=function(){function e(e,t,n,r){this.key=e,this.keyIsVar=t,this.name=n,this.expression=r}return e}();t.TemplateBinding=S;var D=function(){function e(){}return e.prototype.visitBinary=function(e){return e.left.visit(this),e.right.visit(this),null},e.prototype.visitChain=function(e){return this.visitAll(e.expressions)},e.prototype.visitConditional=function(e){return e.condition.visit(this),e.trueExp.visit(this),e.falseExp.visit(this),null},e.prototype.visitPipe=function(e){return e.exp.visit(this),this.visitAll(e.args),null},e.prototype.visitFunctionCall=function(e){return e.target.visit(this),this.visitAll(e.args),null},e.prototype.visitImplicitReceiver=function(e){return null},e.prototype.visitInterpolation=function(e){return this.visitAll(e.expressions)},e.prototype.visitKeyedRead=function(e){return e.obj.visit(this),e.key.visit(this),null},e.prototype.visitKeyedWrite=function(e){return e.obj.visit(this),e.key.visit(this),e.value.visit(this),null},e.prototype.visitLiteralArray=function(e){return this.visitAll(e.expressions)},e.prototype.visitLiteralMap=function(e){return this.visitAll(e.values)},e.prototype.visitLiteralPrimitive=function(e){return null},e.prototype.visitMethodCall=function(e){return e.receiver.visit(this),this.visitAll(e.args)},e.prototype.visitPrefixNot=function(e){return e.expression.visit(this),null},e.prototype.visitPropertyRead=function(e){return e.receiver.visit(this),null},e.prototype.visitPropertyWrite=function(e){return e.receiver.visit(this),e.value.visit(this),null},e.prototype.visitSafePropertyRead=function(e){return e.receiver.visit(this),null},e.prototype.visitSafeMethodCall=function(e){return e.receiver.visit(this),this.visitAll(e.args)},e.prototype.visitAll=function(e){var t=this;return e.forEach(function(e){return e.visit(t)}),null},e.prototype.visitQuote=function(e){return null},e}();t.RecursiveAstVisitor=D;var T=function(){function e(){}return e.prototype.visitImplicitReceiver=function(e){return e},e.prototype.visitInterpolation=function(e){return new b(e.strings,this.visitAll(e.expressions))},e.prototype.visitLiteralPrimitive=function(e){return new m(e.value)},e.prototype.visitPropertyRead=function(e){return new l(e.receiver.visit(this),e.name,e.getter)},e.prototype.visitPropertyWrite=function(e){return new h(e.receiver.visit(this),e.name,e.setter,e.value)},e.prototype.visitSafePropertyRead=function(e){return new f(e.receiver.visit(this),e.name,e.getter)},e.prototype.visitMethodCall=function(e){return new w(e.receiver.visit(this),e.name,e.fn,this.visitAll(e.args))},e.prototype.visitSafeMethodCall=function(e){return new R(e.receiver.visit(this),e.name,e.fn,this.visitAll(e.args))},e.prototype.visitFunctionCall=function(e){return new E(e.target.visit(this),this.visitAll(e.args))},e.prototype.visitLiteralArray=function(e){return new g(this.visitAll(e.expressions))},e.prototype.visitLiteralMap=function(e){return new _(e.keys,this.visitAll(e.values))},e.prototype.visitBinary=function(e){return new C(e.operation,e.left.visit(this),e.right.visit(this))},e.prototype.visitPrefixNot=function(e){return new P(e.expression.visit(this))},e.prototype.visitConditional=function(e){return new p(e.condition.visit(this),e.trueExp.visit(this),e.falseExp.visit(this))},e.prototype.visitPipe=function(e){return new v(e.exp.visit(this),e.name,this.visitAll(e.args))},e.prototype.visitKeyedRead=function(e){return new d(e.obj.visit(this),e.key.visit(this))},e.prototype.visitKeyedWrite=function(e){return new y(e.obj.visit(this),e.key.visit(this),e.value.visit(this))},e.prototype.visitAll=function(e){for(var t=i.ListWrapper.createFixedSize(e.length),n=0;n=t.$TAB&&e<=t.$SPACE||e==H}function p(e){return e>=k&&U>=e||e>=T&&I>=e||e==N||e==t.$$}function l(e){if(0==e.length)return!1;var n=new G(e);if(!p(n.peek))return!1;for(n.advance();n.peek!==t.$EOF;){if(!h(n.peek))return!1;n.advance()}return!0}function h(e){return e>=k&&U>=e||e>=T&&I>=e||e>=S&&D>=e||e==N||e==t.$$}function f(e){return e>=S&&D>=e}function d(e){return e==j||e==A}function y(e){return e==t.$MINUS||e==t.$PLUS}function v(e){switch(e){case M:return t.$LF;case V:return t.$FF;case B:return t.$CR;case L:return t.$TAB;case W:return t.$VTAB;default:return e}}var m=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},g=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},_=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},b=n(8),C=n(12),P=n(5),w=n(14);!function(e){e[e.Character=0]="Character",e[e.Identifier=1]="Identifier",e[e.Keyword=2]="Keyword",e[e.String=3]="String",e[e.Operator=4]="Operator",e[e.Number=5]="Number"}(t.TokenType||(t.TokenType={}));var R=t.TokenType,E=function(){function e(){}return e.prototype.tokenize=function(e){for(var t=new G(e),n=[],r=t.scanToken();null!=r;)n.push(r),r=t.scanToken();return n},e=g([b.Injectable(),_("design:paramtypes",[])],e)}();t.Lexer=E;var O=function(){function e(e,t,n,r){this.index=e,this.type=t,this.numValue=n,this.strValue=r}return e.prototype.isCharacter=function(e){return this.type==R.Character&&this.numValue==e},e.prototype.isNumber=function(){return this.type==R.Number},e.prototype.isString=function(){return this.type==R.String},e.prototype.isOperator=function(e){return this.type==R.Operator&&this.strValue==e},e.prototype.isIdentifier=function(){return this.type==R.Identifier},e.prototype.isKeyword=function(){return this.type==R.Keyword},e.prototype.isKeywordVar=function(){return this.type==R.Keyword&&"var"==this.strValue},e.prototype.isKeywordNull=function(){return this.type==R.Keyword&&"null"==this.strValue},e.prototype.isKeywordUndefined=function(){return this.type==R.Keyword&&"undefined"==this.strValue},e.prototype.isKeywordTrue=function(){return this.type==R.Keyword&&"true"==this.strValue},e.prototype.isKeywordFalse=function(){return this.type==R.Keyword&&"false"==this.strValue},e.prototype.toNumber=function(){return this.type==R.Number?this.numValue:-1},e.prototype.toString=function(){switch(this.type){case R.Character:case R.Identifier:case R.Keyword:case R.Operator:case R.String:return this.strValue;case R.Number:return this.numValue.toString();default:return null}},e}();t.Token=O,t.EOF=new O(-1,R.Character,0,""),t.$EOF=0,t.$TAB=9,t.$LF=10,t.$VTAB=11,t.$FF=12,t.$CR=13,t.$SPACE=32,t.$BANG=33,t.$DQ=34,t.$HASH=35,t.$$=36,t.$PERCENT=37,t.$AMPERSAND=38,t.$SQ=39,t.$LPAREN=40,t.$RPAREN=41,t.$STAR=42,t.$PLUS=43,t.$COMMA=44,t.$MINUS=45,t.$PERIOD=46,t.$SLASH=47,t.$COLON=58,t.$SEMICOLON=59,t.$LT=60,t.$EQ=61,t.$GT=62,t.$QUESTION=63;var S=48,D=57,T=65,A=69,I=90;t.$LBRACKET=91,t.$BACKSLASH=92,t.$RBRACKET=93;var x=94,N=95,k=97,j=101,V=102,M=110,B=114,L=116,F=117,W=118,U=122;t.$LBRACE=123,t.$BAR=124,t.$RBRACE=125;var H=160,q=function(e){function t(t){e.call(this),this.message=t}return m(t,e),t.prototype.toString=function(){return this.message},t}(w.BaseException);t.ScannerError=q;var G=function(){function e(e){this.input=e,this.peek=0,this.index=-1,this.length=e.length,this.advance()}return e.prototype.advance=function(){this.peek=++this.index>=this.length?t.$EOF:P.StringWrapper.charCodeAt(this.input,this.index)},e.prototype.scanToken=function(){for(var e=this.input,n=this.length,i=this.peek,o=this.index;i<=t.$SPACE;){if(++o>=n){i=t.$EOF;break}i=P.StringWrapper.charCodeAt(e,o)}if(this.peek=i,this.index=o,o>=n)return null;if(p(i))return this.scanIdentifier();if(f(i))return this.scanNumber(o);var s=o;switch(i){case t.$PERIOD:return this.advance(),f(this.peek)?this.scanNumber(s):r(s,t.$PERIOD);case t.$LPAREN:case t.$RPAREN:case t.$LBRACE:case t.$RBRACE:case t.$LBRACKET:case t.$RBRACKET:case t.$COMMA:case t.$COLON:case t.$SEMICOLON:return this.scanCharacter(s,i);case t.$SQ:case t.$DQ:return this.scanString();case t.$HASH:case t.$PLUS:case t.$MINUS:case t.$STAR:case t.$SLASH:case t.$PERCENT:case x:return this.scanOperator(s,P.StringWrapper.fromCharCode(i));case t.$QUESTION:return this.scanComplexOperator(s,"?",t.$PERIOD,".");case t.$LT:case t.$GT:return this.scanComplexOperator(s,P.StringWrapper.fromCharCode(i),t.$EQ,"=");case t.$BANG:case t.$EQ:return this.scanComplexOperator(s,P.StringWrapper.fromCharCode(i),t.$EQ,"=",t.$EQ,"=");case t.$AMPERSAND:return this.scanComplexOperator(s,"&",t.$AMPERSAND,"&");case t.$BAR:return this.scanComplexOperator(s,"|",t.$BAR,"|");case H:for(;u(this.peek);)this.advance();return this.scanToken()}return this.error("Unexpected character ["+P.StringWrapper.fromCharCode(i)+"]",0),null},e.prototype.scanCharacter=function(e,t){return assert(this.peek==t),this.advance(),r(e,t)},e.prototype.scanOperator=function(e,t){return assert(this.peek==P.StringWrapper.charCodeAt(t,0)),assert(C.SetWrapper.has(z,t)),this.advance(),s(e,t)},e.prototype.scanComplexOperator=function(e,t,n,r,i,o){assert(this.peek==P.StringWrapper.charCodeAt(t,0)),this.advance();var a=t;return this.peek==n&&(this.advance(),a+=r),P.isPresent(i)&&this.peek==i&&(this.advance(),a+=o),assert(C.SetWrapper.has(z,a)),s(e,a)},e.prototype.scanIdentifier=function(){assert(p(this.peek));var e=this.index;for(this.advance();h(this.peek);)this.advance();var t=this.input.substring(e,this.index);return C.SetWrapper.has(K,t)?o(e,t):i(e,t)},e.prototype.scanNumber=function(e){assert(f(this.peek));var n=this.index===e;for(this.advance();;){if(f(this.peek));else if(this.peek==t.$PERIOD)n=!1;else{if(!d(this.peek))break;this.advance(),y(this.peek)&&this.advance(),f(this.peek)||this.error("Invalid exponent",-1),n=!1}this.advance()}var r=this.input.substring(e,this.index),i=n?P.NumberWrapper.parseIntAutoRadix(r):P.NumberWrapper.parseFloat(r);return c(e,i)},e.prototype.scanString=function(){assert(this.peek==t.$SQ||this.peek==t.$DQ);var e=this.index,n=this.peek;this.advance();for(var r,i=this.index,o=this.input;this.peek!=n;)if(this.peek==t.$BACKSLASH){null==r&&(r=new P.StringJoiner),r.add(o.substring(i,this.index)),this.advance();var s;if(this.peek==F){var c=o.substring(this.index+1,this.index+5);try{s=P.NumberWrapper.parseInt(c,16)}catch(u){this.error("Invalid unicode escape [\\u"+c+"]",0)}for(var p=0;5>p;p++)this.advance()}else s=v(this.peek),this.advance();r.add(P.StringWrapper.fromCharCode(s)),i=this.index}else this.peek==t.$EOF?this.error("Unterminated quote",0):this.advance();var l=o.substring(i,this.index);this.advance();var h=l;return null!=r&&(r.add(l),h=r.toString()),a(e,h)},e.prototype.error=function(e,t){var n=this.index+t;throw new q("Lexer Error: "+e+" at column "+n+" in expression ["+this.input+"]")},e}();t.isIdentifier=l;var z=C.SetWrapper.createFromList(["+","-","*","/","%","^","=","==","!=","===","!==","<",">","<=",">=","&&","||","&","|","!","?","#","?."]),K=C.SetWrapper.createFromList(["var","null","undefined","true","false","if","else"])},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=n(8),a=n(5),c=n(14),u=n(12),p=n(31),l=n(16),h=n(30),f=new h.ImplicitReceiver,d=/\{\{(.*?)\}\}/g,y=function(e){function t(t,n,r,i){e.call(this,"Parser Error: "+t+" "+r+" ["+n+"] in "+i)}return r(t,e),t}(c.BaseException),v=function(){function e(e,t){void 0===t&&(t=null),this._lexer=e,this._reflector=a.isPresent(t)?t:l.reflector}return e.prototype.parseAction=function(e,t){this._checkNoInterpolation(e,t);var n=this._lexer.tokenize(e),r=new m(e,t,n,this._reflector,!0).parseChain();return new h.ASTWithSource(r,e,t)},e.prototype.parseBinding=function(e,t){var n=this._parseBindingAst(e,t);return new h.ASTWithSource(n,e,t)},e.prototype.parseSimpleBinding=function(e,t){var n=this._parseBindingAst(e,t);if(!g.check(n))throw new y("Host binding expression can only contain field access and constants",e,t);return new h.ASTWithSource(n,e,t)},e.prototype._parseBindingAst=function(e,t){var n=this._parseQuote(e,t);if(a.isPresent(n))return n;this._checkNoInterpolation(e,t);var r=this._lexer.tokenize(e); return new m(e,t,r,this._reflector,!1).parseChain()},e.prototype._parseQuote=function(e,t){if(a.isBlank(e))return null;var n=e.indexOf(":");if(-1==n)return null;var r=e.substring(0,n).trim();if(!p.isIdentifier(r))return null;var i=e.substring(n+1);return new h.Quote(r,i,t)},e.prototype.parseTemplateBindings=function(e,t){var n=this._lexer.tokenize(e);return new m(e,t,n,this._reflector,!1).parseTemplateBindings()},e.prototype.parseInterpolation=function(e,t){var n=a.StringWrapper.split(e,d);if(n.length<=1)return null;for(var r=[],i=[],o=0;o0))throw new y("Blank expressions are not allowed in interpolated strings",e,"at column "+this._findInterpolationErrorColumn(n,o)+" in",t);var c=this._lexer.tokenize(s),u=new m(e,t,c,this._reflector,!1).parseChain();i.push(u)}}return new h.ASTWithSource(new h.Interpolation(r,i),e,t)},e.prototype.wrapLiteralPrimitive=function(e,t){return new h.ASTWithSource(new h.LiteralPrimitive(e),e,t)},e.prototype._checkNoInterpolation=function(e,t){var n=a.StringWrapper.split(e,d);if(n.length>1)throw new y("Got interpolation ({{}}) where expression was expected",e,"at column "+this._findInterpolationErrorColumn(n,1)+" in",t)},e.prototype._findInterpolationErrorColumn=function(e,t){for(var n="",r=0;t>r;r++)n+=r%2===0?e[r]:"{{"+e[r]+"}}";return n.length},e=i([s.Injectable(),o("design:paramtypes",[p.Lexer,l.Reflector])],e)}();t.Parser=v;var m=function(){function e(e,t,n,r,i){this.input=e,this.location=t,this.tokens=n,this.reflector=r,this.parseAction=i,this.index=0}return e.prototype.peek=function(e){var t=this.index+e;return t"))e=new h.Binary(">",e,this.parseAdditive());else if(this.optionalOperator("<="))e=new h.Binary("<=",e,this.parseAdditive());else{if(!this.optionalOperator(">="))return e;e=new h.Binary(">=",e,this.parseAdditive())}},e.prototype.parseAdditive=function(){for(var e=this.parseMultiplicative();;)if(this.optionalOperator("+"))e=new h.Binary("+",e,this.parseMultiplicative());else{if(!this.optionalOperator("-"))return e;e=new h.Binary("-",e,this.parseMultiplicative())}},e.prototype.parseMultiplicative=function(){for(var e=this.parsePrefix();;)if(this.optionalOperator("*"))e=new h.Binary("*",e,this.parsePrefix());else if(this.optionalOperator("%"))e=new h.Binary("%",e,this.parsePrefix());else{if(!this.optionalOperator("/"))return e;e=new h.Binary("/",e,this.parsePrefix())}},e.prototype.parsePrefix=function(){return this.optionalOperator("+")?this.parsePrefix():this.optionalOperator("-")?new h.Binary("-",new h.LiteralPrimitive(0),this.parsePrefix()):this.optionalOperator("!")?new h.PrefixNot(this.parsePrefix()):this.parseCallChain()},e.prototype.parseCallChain=function(){for(var e=this.parsePrimary();;)if(this.optionalCharacter(p.$PERIOD))e=this.parseAccessMemberOrMethodCall(e,!1);else if(this.optionalOperator("?."))e=this.parseAccessMemberOrMethodCall(e,!0);else if(this.optionalCharacter(p.$LBRACKET)){var t=this.parsePipe();if(this.expectCharacter(p.$RBRACKET),this.optionalOperator("=")){var n=this.parseConditional();e=new h.KeyedWrite(e,t,n)}else e=new h.KeyedRead(e,t)}else{if(!this.optionalCharacter(p.$LPAREN))return e;var r=this.parseCallArguments();this.expectCharacter(p.$RPAREN),e=new h.FunctionCall(e,r)}},e.prototype.parsePrimary=function(){if(this.optionalCharacter(p.$LPAREN)){var e=this.parsePipe();return this.expectCharacter(p.$RPAREN),e}if(this.next.isKeywordNull()||this.next.isKeywordUndefined())return this.advance(),new h.LiteralPrimitive(null);if(this.next.isKeywordTrue())return this.advance(),new h.LiteralPrimitive(!0);if(this.next.isKeywordFalse())return this.advance(),new h.LiteralPrimitive(!1);if(this.optionalCharacter(p.$LBRACKET)){var t=this.parseExpressionList(p.$RBRACKET);return this.expectCharacter(p.$RBRACKET),new h.LiteralArray(t)}if(this.next.isCharacter(p.$LBRACE))return this.parseLiteralMap();if(this.next.isIdentifier())return this.parseAccessMemberOrMethodCall(f,!1);if(this.next.isNumber()){var n=this.next.toNumber();return this.advance(),new h.LiteralPrimitive(n)}if(this.next.isString()){var r=this.next.toString();return this.advance(),new h.LiteralPrimitive(r)}throw this.index>=this.tokens.length?this.error("Unexpected end of expression: "+this.input):this.error("Unexpected token "+this.next),new c.BaseException("Fell through all cases in parsePrimary")},e.prototype.parseExpressionList=function(e){var t=[];if(!this.next.isCharacter(e))do t.push(this.parsePipe());while(this.optionalCharacter(p.$COMMA));return t},e.prototype.parseLiteralMap=function(){var e=[],t=[];if(this.expectCharacter(p.$LBRACE),!this.optionalCharacter(p.$RBRACE)){do{var n=this.expectIdentifierOrKeywordOrString();e.push(n),this.expectCharacter(p.$COLON),t.push(this.parsePipe())}while(this.optionalCharacter(p.$COMMA));this.expectCharacter(p.$RBRACE)}return new h.LiteralMap(e,t)},e.prototype.parseAccessMemberOrMethodCall=function(e,t){void 0===t&&(t=!1);var n=this.expectIdentifierOrKeyword();if(this.optionalCharacter(p.$LPAREN)){var r=this.parseCallArguments();this.expectCharacter(p.$RPAREN);var i=this.reflector.method(n);return t?new h.SafeMethodCall(e,n,i,r):new h.MethodCall(e,n,i,r)}if(!t){if(this.optionalOperator("=")){this.parseAction||this.error("Bindings cannot contain assignments");var o=this.parseConditional();return new h.PropertyWrite(e,n,this.reflector.setter(n),o)}return new h.PropertyRead(e,n,this.reflector.getter(n))}return this.optionalOperator("=")?(this.error("The '?.' operator cannot be used in the assignment"),null):new h.SafePropertyRead(e,n,this.reflector.getter(n))},e.prototype.parseCallArguments=function(){if(this.next.isCharacter(p.$RPAREN))return[];var e=[];do e.push(this.parsePipe());while(this.optionalCharacter(p.$COMMA));return e},e.prototype.parseBlockContent=function(){this.parseAction||this.error("Binding expression cannot contain chained expression");for(var e=[];this.index":return"operation_greater_then";case"<=":return"operation_less_or_equals_then";case">=":return"operation_greater_or_equals_then";default:throw new h.BaseException("Unsupported operation "+e)}}function c(e){switch(e){case"+":return y.ChangeDetectionUtil.operation_add;case"-":return y.ChangeDetectionUtil.operation_subtract;case"*":return y.ChangeDetectionUtil.operation_multiply;case"/":return y.ChangeDetectionUtil.operation_divide;case"%":return y.ChangeDetectionUtil.operation_remainder;case"==":return y.ChangeDetectionUtil.operation_equals;case"!=":return y.ChangeDetectionUtil.operation_not_equals;case"===":return y.ChangeDetectionUtil.operation_identical;case"!==":return y.ChangeDetectionUtil.operation_not_identical;case"<":return y.ChangeDetectionUtil.operation_less_then;case">":return y.ChangeDetectionUtil.operation_greater_then;case"<=":return y.ChangeDetectionUtil.operation_less_or_equals_then;case">=":return y.ChangeDetectionUtil.operation_greater_or_equals_then;default:throw new h.BaseException("Unsupported operation "+e)}}function u(e){return l.isPresent(e)?""+e:""}function p(e){var t=e.length,n=t>0?e[0]:null,r=t>1?e[1]:null,i=t>2?e[2]:null,o=t>3?e[3]:null,s=t>4?e[4]:null,a=t>5?e[5]:null,c=t>6?e[6]:null,p=t>7?e[7]:null,l=t>8?e[8]:null,f=t>9?e[9]:null;switch(t-1){case 1:return function(e){return n+u(e)+r};case 2:return function(e,t){return n+u(e)+r+u(t)+i};case 3:return function(e,t,s){return n+u(e)+r+u(t)+i+u(s)+o};case 4:return function(e,t,a,c){return n+u(e)+r+u(t)+i+u(a)+o+u(c)+s};case 5:return function(e,t,c,p,l){return n+u(e)+r+u(t)+i+u(c)+o+u(p)+s+u(l)+a};case 6:return function(e,t,p,l,h,f){return n+u(e)+r+u(t)+i+u(p)+o+u(l)+s+u(h)+a+u(f)+c};case 7:return function(e,t,l,h,f,d,y){return n+u(e)+r+u(t)+i+u(l)+o+u(h)+s+u(f)+a+u(d)+c+u(y)+p};case 8:return function(e,t,h,f,d,y,v,m){return n+u(e)+r+u(t)+i+u(h)+o+u(f)+s+u(d)+a+u(y)+c+u(v)+p+u(m)+l};case 9:return function(e,t,h,d,y,v,m,g,_){return n+u(e)+r+u(t)+i+u(h)+o+u(d)+s+u(y)+a+u(v)+c+u(m)+p+u(g)+l+u(_)+f};default:throw new h.BaseException("Does not support more than 9 expressions")}}var l=n(5),h=n(14),f=n(12),d=n(30),y=n(38),v=n(42),m=n(41),g=n(49),_=n(50),b=n(48),C=function(){function e(e){this._definition=e,this._propertyBindingRecords=r(e),this._eventBindingRecords=i(e),this._propertyBindingTargets=this._definition.bindingRecords.map(function(e){return e.target}),this._directiveIndices=this._definition.directiveRecords.map(function(e){return e.directiveIndex})}return e.prototype.instantiate=function(e){return new v.DynamicChangeDetector(this._definition.id,e,this._propertyBindingRecords.length,this._propertyBindingTargets,this._directiveIndices,this._definition.strategy,this._propertyBindingRecords,this._eventBindingRecords,this._definition.directiveRecords,this._definition.genConfig)},e}();t.DynamicProtoChangeDetector=C,t.createPropertyRecords=r,t.createEventRecords=i;var P=function(){function e(){this.records=[]}return e.prototype.add=function(e,t,n){var r=f.ListWrapper.last(this.records);l.isPresent(r)&&r.bindingRecord.directiveRecord==e.directiveRecord&&(r.lastInDirective=!1);var i=this.records.length;this._appendRecords(e,t,n);var o=f.ListWrapper.last(this.records);l.isPresent(o)&&o!==r&&(o.lastInBinding=!0,o.lastInDirective=!0,this._setArgumentToPureFunction(i))},e.prototype._setArgumentToPureFunction=function(e){for(var t=this,n=e;ne},e.operation_greater_then=function(e,t){return e>t},e.operation_less_or_equals_then=function(e,t){return t>=e},e.operation_greater_or_equals_then=function(e,t){return e>=t},e.cond=function(e,t,n){return e?t:n},e.mapFn=function(e){function t(t){for(var n=s.StringMapWrapper.create(),r=0;rt?null:e[t-1]},e.callPipeOnDestroy=function(e){c.implementsOnDestroy(e.pipe)&&e.pipe.ngOnDestroy()},e.bindingTarget=function(e,t,n,r,i){return new u.BindingTarget(e,t,n,r,i)},e.directiveIndex=function(e,t){return new p.DirectiveIndex(e,t)},e.looseNotIdentical=function(e,t){return!i.looseIdentical(e,t)},e.uninitialized=i.CONST_EXPR(new Object),e}();t.ChangeDetectionUtil=m},function(e,t){function n(e){return e.constructor.prototype.ngOnDestroy}t.implementsOnDestroy=n},function(e,t,n){var r=n(5),i="directiveLifecycle",o="native",s="directive",a="elementProperty",c="elementAttribute",u="elementClass",p="elementStyle",l="textNode",h="event",f="hostEvent",d=function(){function e(e,t,n,r,i){this.mode=e,this.elementIndex=t,this.name=n,this.unit=r,this.debug=i}return e.prototype.isDirective=function(){return this.mode===s},e.prototype.isElementProperty=function(){return this.mode===a},e.prototype.isElementAttribute=function(){return this.mode===c},e.prototype.isElementClass=function(){return this.mode===u},e.prototype.isElementStyle=function(){return this.mode===p},e.prototype.isTextNode=function(){return this.mode===l},e}();t.BindingTarget=d;var y=function(){function e(e,t,n,r,i,o,s){this.mode=e,this.target=t,this.implicitReceiver=n,this.ast=r,this.setter=i,this.lifecycleEvent=o,this.directiveRecord=s}return e.prototype.isDirectiveLifecycle=function(){return this.mode===i},e.prototype.callOnChanges=function(){return r.isPresent(this.directiveRecord)&&this.directiveRecord.callOnChanges},e.prototype.isDefaultChangeDetection=function(){return r.isBlank(this.directiveRecord)||this.directiveRecord.isDefaultChangeDetection()},e.createDirectiveDoCheck=function(t){return new e(i,null,0,null,null,"DoCheck",t)},e.createDirectiveOnInit=function(t){return new e(i,null,0,null,null,"OnInit",t)},e.createDirectiveOnChanges=function(t){return new e(i,null,0,null,null,"OnChanges",t)},e.createForDirective=function(t,n,r,i){var o=i.directiveIndex.elementIndex,a=new d(s,o,n,null,t.toString());return new e(s,a,0,t,r,null,i)},e.createForElementProperty=function(t,n,r){var i=new d(a,n,r,null,t.toString());return new e(o,i,0,t,null,null,null)},e.createForElementAttribute=function(t,n,r){var i=new d(c,n,r,null,t.toString());return new e(o,i,0,t,null,null,null)},e.createForElementClass=function(t,n,r){var i=new d(u,n,r,null,t.toString());return new e(o,i,0,t,null,null,null)},e.createForElementStyle=function(t,n,r,i){var s=new d(p,n,r,i,t.toString());return new e(o,s,0,t,null,null,null)},e.createForHostProperty=function(t,n,r){var i=new d(a,t.elementIndex,r,null,n.toString());return new e(o,i,t,n,null,null,null)},e.createForHostAttribute=function(t,n,r){var i=new d(c,t.elementIndex,r,null,n.toString());return new e(o,i,t,n,null,null,null)},e.createForHostClass=function(t,n,r){var i=new d(u,t.elementIndex,r,null,n.toString());return new e(o,i,t,n,null,null,null)},e.createForHostStyle=function(t,n,r,i){var s=new d(p,t.elementIndex,r,i,n.toString());return new e(o,s,t,n,null,null,null)},e.createForTextNode=function(t,n){ var r=new d(l,n,null,null,t.toString());return new e(o,r,0,t,null,null,null)},e.createForEvent=function(t,n,r){var i=new d(h,r,n,null,t.toString());return new e(h,i,0,t,null,null,null)},e.createForHostEvent=function(t,n,r){var i=r.directiveIndex,o=new d(f,i.elementIndex,n,null,t.toString());return new e(f,o,i,t,null,null,r)},e}();t.BindingRecord=y},function(e,t,n){var r=n(5),i=n(36),o=function(){function e(e,t){this.elementIndex=e,this.directiveIndex=t}return Object.defineProperty(e.prototype,"name",{get:function(){return this.elementIndex+"_"+this.directiveIndex},enumerable:!0,configurable:!0}),e}();t.DirectiveIndex=o;var s=function(){function e(e){var t=void 0===e?{}:e,n=t.directiveIndex,i=t.callAfterContentInit,o=t.callAfterContentChecked,s=t.callAfterViewInit,a=t.callAfterViewChecked,c=t.callOnChanges,u=t.callDoCheck,p=t.callOnInit,l=t.changeDetection;this.directiveIndex=n,this.callAfterContentInit=r.normalizeBool(i),this.callAfterContentChecked=r.normalizeBool(o),this.callOnChanges=r.normalizeBool(c),this.callAfterViewInit=r.normalizeBool(s),this.callAfterViewChecked=r.normalizeBool(a),this.callDoCheck=r.normalizeBool(u),this.callOnInit=r.normalizeBool(p),this.changeDetection=l}return e.prototype.isDefaultChangeDetection=function(){return i.isDefaultChangeDetectionStrategy(this.changeDetection)},e}();t.DirectiveRecord=s},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=n(5),o=n(14),s=n(12),a=n(43),c=n(38),u=n(36),p=n(48),l=function(e){function t(t,n,r,i,o,a,c,u,p,l){e.call(this,t,n,r,i,o,a),this._records=c,this._eventBindings=u,this._directiveRecords=p,this._genConfig=l,this.directives=null;var h=c.length+1;this.values=s.ListWrapper.createFixedSize(h),this.localPipes=s.ListWrapper.createFixedSize(h),this.prevContexts=s.ListWrapper.createFixedSize(h),this.changes=s.ListWrapper.createFixedSize(h),this.dehydrateDirectives(!1)}return r(t,e),t.prototype.handleEventInternal=function(e,t,n){var r=this,i=!1;return this._matchingEventBindings(e,t).forEach(function(e){var t=r._processEventBinding(e,n);t===!1&&(i=!0)}),i},t.prototype._processEventBinding=function(e,t){var n=s.ListWrapper.createFixedSize(e.records.length);n[0]=this.values[0];for(var r=0;r=0;--t){var n=e[t];n.callAfterContentInit&&this.state==u.ChangeDetectorState.NeverChecked&&this._getDirectiveFor(n.directiveIndex).ngAfterContentInit(),n.callAfterContentChecked&&this._getDirectiveFor(n.directiveIndex).ngAfterContentChecked()}},t.prototype.afterViewLifecycleCallbacksInternal=function(){for(var e=this._directiveRecords,t=e.length-1;t>=0;--t){var n=e[t];n.callAfterViewInit&&this.state==u.ChangeDetectorState.NeverChecked&&this._getDirectiveFor(n.directiveIndex).ngAfterViewInit(),n.callAfterViewChecked&&this._getDirectiveFor(n.directiveIndex).ngAfterViewChecked()}},t.prototype._updateDirectiveOrElement=function(t,n){if(i.isBlank(n.directiveRecord))e.prototype.notifyDispatcher.call(this,t.currentValue);else{var r=n.directiveRecord.directiveIndex;n.setter(this._getDirectiveFor(r),t.currentValue)}this._genConfig.logBindingUpdate&&e.prototype.logBindingUpdate.call(this,t.currentValue)},t.prototype._addChange=function(t,n,r){return t.callOnChanges()?e.prototype.addChange.call(this,r,n.previousValue,n.currentValue):r},t.prototype._getDirectiveFor=function(e){return this.directives.getDirectiveFor(e)},t.prototype._getDetectorFor=function(e){return this.directives.getDetectorFor(e)},t.prototype._check=function(e,t,n,r){return e.isPipeRecord()?this._pipeCheck(e,t,n):this._referenceCheck(e,t,n,r)},t.prototype._referenceCheck=function(t,n,r,i){if(this._pureFuncAndArgsDidNotChange(t))return this._setChanged(t,!1),null;var o=this._calculateCurrValue(t,r,i);if(this.strategy===u.ChangeDetectionStrategy.OnPushObserve&&e.prototype.observeValue.call(this,o,t.selfIndex),t.shouldBeChecked()){var s=this._readSelf(t,r);if(c.ChangeDetectionUtil.looseNotIdentical(s,o)){if(t.lastInBinding){var a=c.ChangeDetectionUtil.simpleChange(s,o);return n&&this.throwOnChangeError(s,o),this._writeSelf(t,o,r),this._setChanged(t,!0),a}return this._writeSelf(t,o,r),this._setChanged(t,!0),null}return this._setChanged(t,!1),null}return this._writeSelf(t,o,r),this._setChanged(t,!0),null},t.prototype._calculateCurrValue=function(e,t,n){switch(e.mode){case p.RecordType.Self:return this._readContext(e,t);case p.RecordType.Const:return e.funcOrValue;case p.RecordType.PropertyRead:var r=this._readContext(e,t);return e.funcOrValue(r);case p.RecordType.SafeProperty:var r=this._readContext(e,t);return i.isBlank(r)?null:e.funcOrValue(r);case p.RecordType.PropertyWrite:var r=this._readContext(e,t),s=this._readArgs(e,t)[0];return e.funcOrValue(r,s),s;case p.RecordType.KeyedWrite:var r=this._readContext(e,t),a=this._readArgs(e,t)[0],s=this._readArgs(e,t)[1];return r[a]=s,s;case p.RecordType.Local:return n.get(e.name);case p.RecordType.InvokeMethod:var r=this._readContext(e,t),c=this._readArgs(e,t);return e.funcOrValue(r,c);case p.RecordType.SafeMethodInvoke:var r=this._readContext(e,t);if(i.isBlank(r))return null;var c=this._readArgs(e,t);return e.funcOrValue(r,c);case p.RecordType.KeyedRead:var u=this._readArgs(e,t)[0];return this._readContext(e,t)[u];case p.RecordType.Chain:var c=this._readArgs(e,t);return c[c.length-1];case p.RecordType.InvokeClosure:return i.FunctionWrapper.apply(this._readContext(e,t),this._readArgs(e,t));case p.RecordType.Interpolate:case p.RecordType.PrimitiveOp:case p.RecordType.CollectionLiteral:return i.FunctionWrapper.apply(e.funcOrValue,this._readArgs(e,t));default:throw new o.BaseException("Unknown operation "+e.mode)}},t.prototype._pipeCheck=function(e,t,n){var r=this._readContext(e,n),i=this._pipeFor(e,r);if(!i.pure||this._argsOrContextChanged(e)){var o=this._readArgs(e,n),s=i.pipe.transform(r,o);if(e.shouldBeChecked()){var a=this._readSelf(e,n);if(c.ChangeDetectionUtil.looseNotIdentical(a,s)){if(s=c.ChangeDetectionUtil.unwrapValue(s),e.lastInBinding){var u=c.ChangeDetectionUtil.simpleChange(a,s);return t&&this.throwOnChangeError(a,s),this._writeSelf(e,s,n),this._setChanged(e,!0),u}return this._writeSelf(e,s,n),this._setChanged(e,!0),null}return this._setChanged(e,!1),null}return this._writeSelf(e,s,n),this._setChanged(e,!0),null}},t.prototype._pipeFor=function(e,t){var n=this._readPipe(e);if(i.isPresent(n))return n;var r=this.pipes.get(e.name);return this._writePipe(e,r),r},t.prototype._readContext=function(e,t){return-1==e.contextIndex?this._getDirectiveFor(e.directiveIndex):t[e.contextIndex]},t.prototype._readSelf=function(e,t){return t[e.selfIndex]},t.prototype._writeSelf=function(e,t,n){n[e.selfIndex]=t},t.prototype._readPipe=function(e){return this.localPipes[e.selfIndex]},t.prototype._writePipe=function(e,t){this.localPipes[e.selfIndex]=t},t.prototype._setChanged=function(e,t){e.argumentToPureFunction&&(this.changes[e.selfIndex]=t)},t.prototype._pureFuncAndArgsDidNotChange=function(e){return e.isPureFunction()&&!this._argsChanged(e)},t.prototype._argsChanged=function(e){for(var t=e.args,n=0;n0);r.set(f.selfIndex,y.selfIndex)}}return i(t)}function i(e){for(var t=[],n=h.ListWrapper.createFixedSize(e.length),r=new h.Map,i=0;ii+1){var c=a(s,t,r);t.push(c),n[c.fixedArgs[0]]=c}}else{var c=a(s,t,r);t.push(c),r.set(s.selfIndex,c.selfIndex)}}return t}function o(e,t,n,r){var i=s(e,t,n);return l.isPresent(i)?(e.lastInBinding?(t.push(u(e,i.selfIndex,t.length+1)),i.referencedBySelf=!0):e.argumentToPureFunction&&(i.argumentToPureFunction=!0),i):(r&&n.push(e.selfIndex),t.push(e),e)}function s(e,t,n){return t.find(function(t){return-1==n.indexOf(t.selfIndex)&&t.mode!==f.RecordType.DirectiveLifecycle&&p(t,e)&&t.mode===e.mode&&l.looseIdentical(t.funcOrValue,e.funcOrValue)&&t.contextIndex===e.contextIndex&&l.looseIdentical(t.name,e.name)&&h.ListWrapper.equals(t.args,e.args)})}function a(e,t,n){var r=e.args.map(function(e){return c(n,e)}),i=c(n,e.contextIndex),o=t.length+1;return new f.ProtoRecord(e.mode,e.name,e.funcOrValue,r,e.fixedArgs,i,e.directiveIndex,o,e.bindingRecord,e.lastInBinding,e.lastInDirective,e.argumentToPureFunction,e.referencedBySelf,e.propertyBindingIndex)}function c(e,t){var n=e.get(t);return l.isPresent(n)?n:t}function u(e,t,n){return new f.ProtoRecord(f.RecordType.Self,"self",null,[],e.fixedArgs,t,e.directiveIndex,n,e.bindingRecord,e.lastInBinding,e.lastInDirective,!1,!1,e.propertyBindingIndex)}function p(e,t){var n=l.isBlank(e.directiveIndex)?null:e.directiveIndex.directiveIndex,r=l.isBlank(e.directiveIndex)?null:e.directiveIndex.elementIndex,i=l.isBlank(t.directiveIndex)?null:t.directiveIndex.directiveIndex,o=l.isBlank(t.directiveIndex)?null:t.directiveIndex.elementIndex;return n===i&&r===o}var l=n(5),h=n(12),f=n(48);t.coalesce=r},function(e,t,n){var r=n(52),i=function(){function e(e){this.definition=e,this._factory=this._createFactory(e)}return e.isSupported=function(){return!0},e.prototype.instantiate=function(e){return this._factory(e)},e.prototype._createFactory=function(e){return new r.ChangeDetectorJITGenerator(e,"util","AbstractChangeDetector","ChangeDetectorStatus").generate()},e}();t.JitProtoChangeDetector=i},function(e,t,n){var r=n(5),i=n(14),o=n(12),s=n(43),a=n(38),c=n(48),u=n(53),p=n(54),l=n(55),h=n(36),f=n(37),d="isChanged",y="changes",v=function(){function e(e,t,n,r){this.changeDetectionUtilVarName=t,this.abstractChangeDetectorVarName=n,this.changeDetectorStateVarName=r;var i=f.createPropertyRecords(e),o=f.createEventRecords(e),s=e.bindingRecords.map(function(e){return e.target});this.id=e.id,this.changeDetectionStrategy=e.strategy,this.genConfig=e.genConfig,this.records=i,this.propertyBindingTargets=s,this.eventBindings=o,this.directiveRecords=e.directiveRecords,this._names=new u.CodegenNameUtil(this.records,this.eventBindings,this.directiveRecords,this.changeDetectionUtilVarName),this._logic=new p.CodegenLogicUtil(this._names,this.changeDetectionUtilVarName,this.changeDetectorStateVarName,this.changeDetectionStrategy),this.typeName=u.sanitizeName("ChangeDetector_"+this.id)}return e.prototype.generate=function(){var e="\n "+this.generateSource()+"\n return function(dispatcher) {\n return new "+this.typeName+"(dispatcher);\n }\n ";return new Function(this.abstractChangeDetectorVarName,this.changeDetectionUtilVarName,this.changeDetectorStateVarName,e)(s.AbstractChangeDetector,a.ChangeDetectionUtil,h.ChangeDetectorState)},e.prototype.generateSource=function(){return"\n var "+this.typeName+" = function "+this.typeName+"(dispatcher) {\n "+this.abstractChangeDetectorVarName+".call(\n this, "+JSON.stringify(this.id)+", dispatcher, "+this.records.length+",\n "+this.typeName+".gen_propertyBindingTargets, "+this.typeName+".gen_directiveIndices,\n "+l.codify(this.changeDetectionStrategy)+");\n this.dehydrateDirectives(false);\n }\n\n "+this.typeName+".prototype = Object.create("+this.abstractChangeDetectorVarName+".prototype);\n\n "+this.typeName+".prototype.detectChangesInRecordsInternal = function(throwOnChange) {\n "+this._names.genInitLocals()+"\n var "+d+" = false;\n var "+y+" = null;\n\n "+this._genAllRecords(this.records)+"\n }\n\n "+this._maybeGenHandleEventInternal()+"\n\n "+this._maybeGenAfterContentLifecycleCallbacks()+"\n\n "+this._maybeGenAfterViewLifecycleCallbacks()+"\n\n "+this._maybeGenHydrateDirectives()+"\n\n "+this._maybeGenDehydrateDirectives()+"\n\n "+this._genPropertyBindingTargets()+"\n\n "+this._genDirectiveIndices()+"\n "},e.prototype._genPropertyBindingTargets=function(){var e=this._logic.genPropertyBindingTargets(this.propertyBindingTargets,this.genConfig.genDebugInfo);return this.typeName+".gen_propertyBindingTargets = "+e+";"},e.prototype._genDirectiveIndices=function(){var e=this._logic.genDirectiveIndices(this.directiveRecords);return this.typeName+".gen_directiveIndices = "+e+";"},e.prototype._maybeGenHandleEventInternal=function(){var e=this;if(this.eventBindings.length>0){var t=this.eventBindings.map(function(t){return e._genEventBinding(t)}).join("\n");return"\n "+this.typeName+".prototype.handleEventInternal = function(eventName, elIndex, locals) {\n var "+this._names.getPreventDefaultAccesor()+" = false;\n "+this._names.genInitEventLocals()+"\n "+t+"\n return "+this._names.getPreventDefaultAccesor()+";\n }\n "}return""},e.prototype._genEventBinding=function(e){var t=this,n=[];return this._endOfBlockIdxs=[],o.ListWrapper.forEachWithIndex(e.records,function(r,i){var o;o=r.isConditionalSkipRecord()?t._genConditionalSkip(r,t._names.getEventLocalName(e,i)):r.isUnconditionalSkipRecord()?t._genUnconditionalSkip(r):t._genEventBindingEval(e,r),o+=t._genEndOfSkipBlock(i),n.push(o)}),'\n if (eventName === "'+e.eventName+'" && elIndex === '+e.elIndex+") {\n "+n.join("\n")+"\n }"},e.prototype._genEventBindingEval=function(e,t){if(t.lastInBinding){var n=this._logic.genEventBindingEvalValue(e,t),r=this._genMarkPathToRootAsCheckOnce(t),i=this._genUpdatePreventDefault(e,t);return n+"\n"+r+"\n"+i}return this._logic.genEventBindingEvalValue(e,t)},e.prototype._genMarkPathToRootAsCheckOnce=function(e){var t=e.bindingRecord;return t.isDefaultChangeDetection()?"":this._names.getDetectorName(t.directiveRecord.directiveIndex)+".markPathToRootAsCheckOnce();"},e.prototype._genUpdatePreventDefault=function(e,t){var n=this._names.getEventLocalName(e,t.selfIndex);return"if ("+n+" === false) { "+this._names.getPreventDefaultAccesor()+" = true};"},e.prototype._maybeGenDehydrateDirectives=function(){var e=this._names.genPipeOnDestroy();e&&(e="if (destroyPipes) { "+e+" }");var t=this._names.genDehydrateFields();return e||t?this.typeName+".prototype.dehydrateDirectives = function(destroyPipes) {\n "+e+"\n "+t+"\n }":""},e.prototype._maybeGenHydrateDirectives=function(){var e=this._logic.genHydrateDirectives(this.directiveRecords),t=this._logic.genHydrateDetectors(this.directiveRecords);return e||t?this.typeName+".prototype.hydrateDirectives = function(directives) {\n "+e+"\n "+t+"\n }":""},e.prototype._maybeGenAfterContentLifecycleCallbacks=function(){var e=this._logic.genContentLifecycleCallbacks(this.directiveRecords);if(e.length>0){var t=e.join("\n");return"\n "+this.typeName+".prototype.afterContentLifecycleCallbacksInternal = function() {\n "+t+"\n }\n "}return""},e.prototype._maybeGenAfterViewLifecycleCallbacks=function(){var e=this._logic.genViewLifecycleCallbacks(this.directiveRecords);if(e.length>0){var t=e.join("\n");return"\n "+this.typeName+".prototype.afterViewLifecycleCallbacksInternal = function() {\n "+t+"\n }\n "}return""},e.prototype._genAllRecords=function(e){var t=[];this._endOfBlockIdxs=[];for(var n=0;na;++a)this._sanitizedNames[a+1]=r(""+this._records[a].name+a);for(var u=0;ua;++a)l.push(r(""+p.records[a].name+a+"_"+u));this._sanitizedEventNames.set(p,l)}}return e.prototype._addFieldPrefix=function(e){return""+d+e},e.prototype.getDispatcherName=function(){return this._addFieldPrefix(u)},e.prototype.getPipesAccessorName=function(){return this._addFieldPrefix(h)},e.prototype.getProtosName=function(){return this._addFieldPrefix(f)},e.prototype.getDirectivesAccessorName=function(){return this._addFieldPrefix(c)},e.prototype.getLocalsAccessorName=function(){return this._addFieldPrefix(p)},e.prototype.getStateName=function(){return this._addFieldPrefix(s)},e.prototype.getModeName=function(){return this._addFieldPrefix(l)},e.prototype.getPropertyBindingIndex=function(){return this._addFieldPrefix(a)},e.prototype.getLocalName=function(e){return"l_"+this._sanitizedNames[e]},e.prototype.getEventLocalName=function(e,t){return"l_"+this._sanitizedEventNames.get(e)[t]},e.prototype.getChangeName=function(e){return"c_"+this._sanitizedNames[e]},e.prototype.genInitLocals=function(){for(var e=[],n=[],r=0,i=this.getFieldCount();i>r;++r)if(r==t.CONTEXT_INDEX)e.push(this.getLocalName(r)+" = "+this.getFieldName(r));else{var s=this._records[r-1];if(s.argumentToPureFunction){var a=this.getChangeName(r);e.push(this.getLocalName(r)+","+a),n.push(a)}else e.push(""+this.getLocalName(r))}var c=o.ListWrapper.isEmpty(n)?"":n.join("=")+" = false;";return"var "+e.join(",")+";"+c},e.prototype.genInitEventLocals=function(){var e=this,n=[this.getLocalName(t.CONTEXT_INDEX)+" = "+this.getFieldName(t.CONTEXT_INDEX)];return this._sanitizedEventNames.forEach(function(r,i){for(var o=0;o1?"var "+n.join(",")+";":""},e.prototype.getPreventDefaultAccesor=function(){return"preventDefault"},e.prototype.getFieldCount=function(){return this._sanitizedNames.length},e.prototype.getFieldName=function(e){return this._addFieldPrefix(this._sanitizedNames[e])},e.prototype.getAllFieldNames=function(){for(var e=[],t=0,n=this.getFieldCount();n>t;++t)(0===t||this._records[t-1].shouldBeChecked())&&e.push(this.getFieldName(t));for(var r=0,i=this._records.length;i>r;++r){var o=this._records[r];o.isPipeRecord()&&e.push(this.getPipeName(o.selfIndex))}for(var s=0,a=this._directiveRecords.length;a>s;++s){var c=this._directiveRecords[s];e.push(this.getDirectiveName(c.directiveIndex)),c.isDefaultChangeDetection()||e.push(this.getDetectorName(c.directiveIndex))}return e},e.prototype.genDehydrateFields=function(){var e=this.getAllFieldNames();return o.ListWrapper.removeAt(e,t.CONTEXT_INDEX),o.ListWrapper.isEmpty(e)?"":(e.push(this._utilName+".uninitialized;"),e.join(" = "))},e.prototype.genPipeOnDestroy=function(){var e=this;return this._records.filter(function(e){return e.isPipeRecord()}).map(function(t){return e._utilName+".callPipeOnDestroy("+e.getPipeName(t.selfIndex)+");"}).join("\n")},e.prototype.getPipeName=function(e){return this._addFieldPrefix(this._sanitizedNames[e]+"_pipe")},e.prototype.getDirectiveName=function(e){return this._addFieldPrefix("directive_"+e.name)},e.prototype.getDetectorName=function(e){return this._addFieldPrefix("detector_"+e.name)},e}();t.CodegenNameUtil=v},function(e,t,n){var r=n(5),i=n(55),o=n(48),s=n(36),a=n(14),c=function(){function e(e,t,n,r){this._names=e,this._utilName=t,this._changeDetectorStateName=n,this._changeDetection=r}return e.prototype.genPropertyBindingEvalValue=function(e){var t=this;return this._genEvalValue(e,function(e){return t._names.getLocalName(e)},this._names.getLocalsAccessorName())},e.prototype.genEventBindingEvalValue=function(e,t){var n=this;return this._genEvalValue(t,function(t){return n._names.getEventLocalName(e,t)},"locals")},e.prototype._genEvalValue=function(e,t,n){var r,s=-1==e.contextIndex?this._names.getDirectiveName(e.directiveIndex):t(e.contextIndex),c=e.args.map(function(e){return t(e)}).join(", ");switch(e.mode){case o.RecordType.Self:r=s;break;case o.RecordType.Const:r=i.codify(e.funcOrValue);break;case o.RecordType.PropertyRead:r=this._observe(s+"."+e.name,e);break;case o.RecordType.SafeProperty:var u=this._observe(s+"."+e.name,e);r=this._utilName+".isValueBlank("+s+") ? null : "+this._observe(u,e);break;case o.RecordType.PropertyWrite:r=s+"."+e.name+" = "+t(e.args[0]);break;case o.RecordType.Local:r=this._observe(n+".get("+i.rawString(e.name)+")",e);break;case o.RecordType.InvokeMethod:r=this._observe(s+"."+e.name+"("+c+")",e);break;case o.RecordType.SafeMethodInvoke:var p=s+"."+e.name+"("+c+")";r=this._utilName+".isValueBlank("+s+") ? null : "+this._observe(p,e);break;case o.RecordType.InvokeClosure:r=s+"("+c+")";break;case o.RecordType.PrimitiveOp:r=this._utilName+"."+e.name+"("+c+")";break;case o.RecordType.CollectionLiteral:r=this._utilName+"."+e.name+"("+c+")";break;case o.RecordType.Interpolate:r=this._genInterpolation(e);break;case o.RecordType.KeyedRead:r=this._observe(s+"["+t(e.args[0])+"]",e);break;case o.RecordType.KeyedWrite:r=s+"["+t(e.args[0])+"] = "+t(e.args[1]);break;case o.RecordType.Chain:r="null";break;default:throw new a.BaseException("Unknown operation "+e.mode)}return t(e.selfIndex)+" = "+r+";"},e.prototype._observe=function(e,t){return this._changeDetection===s.ChangeDetectionStrategy.OnPushObserve?"this.observeValue("+e+", "+t.selfIndex+")":e},e.prototype.genPropertyBindingTargets=function(e,t){var n=this,o=e.map(function(e){if(r.isBlank(e))return"null";var o=t?i.codify(e.debug):"null";return n._utilName+".bindingTarget("+i.codify(e.mode)+", "+e.elementIndex+", "+i.codify(e.name)+", "+i.codify(e.unit)+", "+o+")"});return"["+o.join(", ")+"]"},e.prototype.genDirectiveIndices=function(e){var t=this,n=e.map(function(e){return t._utilName+".directiveIndex("+e.directiveIndex.elementIndex+", "+e.directiveIndex.directiveIndex+")"});return"["+n.join(", ")+"]"},e.prototype._genInterpolation=function(e){for(var t=[],n=0;n=0;--i){var o=e[i];o.callAfterContentInit&&t.push("if("+this._names.getStateName()+" "+n+" "+this._changeDetectorStateName+".NeverChecked) "+this._names.getDirectiveName(o.directiveIndex)+".ngAfterContentInit();"),o.callAfterContentChecked&&t.push(this._names.getDirectiveName(o.directiveIndex)+".ngAfterContentChecked();")}return t},e.prototype.genViewLifecycleCallbacks=function(e){for(var t=[],n=r.IS_DART?"==":"===",i=e.length-1;i>=0;--i){var o=e[i];o.callAfterViewInit&&t.push("if("+this._names.getStateName()+" "+n+" "+this._changeDetectorStateName+".NeverChecked) "+this._names.getDirectiveName(o.directiveIndex)+".ngAfterViewInit();"),o.callAfterViewChecked&&t.push(this._names.getDirectiveName(o.directiveIndex)+".ngAfterViewChecked();")}return t},e}();t.CodegenLogicUtil=c},function(e,t){function n(e){return JSON.stringify(e)}function r(e){return"'"+e+"'"}function i(e){return e.join(" + ")}t.codify=n,t.rawString=r,t.combineGeneratedStrings=i},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(5);!function(e){e[e.Emulated=0]="Emulated",e[e.Native=1]="Native",e[e.None=2]="None"}(t.ViewEncapsulation||(t.ViewEncapsulation={}));var s=t.ViewEncapsulation;t.VIEW_ENCAPSULATION_VALUES=[s.Emulated,s.Native,s.None];var a=function(){function e(e){var t=void 0===e?{}:e,n=t.templateUrl,r=t.template,i=t.directives,o=t.pipes,s=t.encapsulation,a=t.styles,c=t.styleUrls;this.templateUrl=n,this.template=r,this.styleUrls=c,this.styles=a,this.directives=i,this.pipes=o,this.encapsulation=s}return e=r([o.CONST(),i("design:paramtypes",[Object])],e)}();t.ViewMetadata=a},function(e,t,n){var r=n(9);t.Class=r.Class},function(e,t,n){var r=n(5);t.enableProdMode=r.enableProdMode},function(e,t,n){var r=n(5);t.Type=r.Type;var i=n(60);t.EventEmitter=i.EventEmitter;var o=n(14);t.WrappedException=o.WrappedException;var s=n(15);t.ExceptionHandler=s.ExceptionHandler},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=n(5),o=n(61);t.PromiseWrapper=o.PromiseWrapper,t.Promise=o.Promise;var s=n(62),a=n(63),c=n(64),u=n(62);t.Observable=u.Observable;var p=n(62);t.Subject=p.Subject;var l=function(){function e(){}return e.setTimeout=function(e,t){return i.global.setTimeout(e,t)},e.clearTimeout=function(e){i.global.clearTimeout(e)},e.setInterval=function(e,t){return i.global.setInterval(e,t)},e.clearInterval=function(e){i.global.clearInterval(e)},e}();t.TimerWrapper=l;var h=function(){function e(){}return e.subscribe=function(e,t,n,r){return void 0===r&&(r=function(){}),n="function"==typeof n&&n||i.noop,r="function"==typeof r&&r||i.noop,e.subscribe({next:t,error:n,complete:r})},e.isObservable=function(e){return!!e.subscribe},e.hasSubscribers=function(e){return e.observers.length>0},e.dispose=function(e){e.unsubscribe()},e.callNext=function(e,t){e.next(t)},e.callEmit=function(e,t){e.emit(t)},e.callError=function(e,t){e.error(t)},e.callComplete=function(e){e.complete()},e.fromPromise=function(e){return a.PromiseObservable.create(e)},e.toPromise=function(e){return c.toPromise.call(e)},e}();t.ObservableWrapper=h;var f=function(e){function t(t){void 0===t&&(t=!0),e.call(this),this._isAsync=t}return r(t,e),t.prototype.emit=function(t){e.prototype.next.call(this,t)},t.prototype.next=function(t){e.prototype.next.call(this,t)},t.prototype.subscribe=function(t,n,r){var i,o=function(e){return null},s=function(){return null};return t&&"object"==typeof t?(i=this._isAsync?function(e){setTimeout(function(){return t.next(e)})}:function(e){t.next(e)},t.error&&(o=this._isAsync?function(e){setTimeout(function(){return t.error(e)})}:function(e){t.error(e)}),t.complete&&(s=this._isAsync?function(){setTimeout(function(){return t.complete()})}:function(){t.complete()})):(i=this._isAsync?function(e){setTimeout(function(){return t(e)})}:function(e){t(e)},n&&(o=this._isAsync?function(e){setTimeout(function(){return n(e)})}:function(e){n(e)}),r&&(s=this._isAsync?function(){setTimeout(function(){return r()})}:function(){r()})),e.prototype.subscribe.call(this,i,o,s)},t}(s.Subject);t.EventEmitter=f},function(e,t){var n=function(){function e(){}return e.resolve=function(e){return Promise.resolve(e)},e.reject=function(e,t){return Promise.reject(e)},e.catchError=function(e,t){return e["catch"](t)},e.all=function(e){return 0==e.length?Promise.resolve([]):Promise.all(e)},e.then=function(e,t,n){return e.then(t,n)},e.wrap=function(e){return new Promise(function(t,n){try{t(e())}catch(r){n(r)}})},e.scheduleMicrotask=function(t){e.then(e.resolve(null),t,function(e){})},e.isPromise=function(e){return e instanceof Promise},e.completer=function(){var e,t,n=new Promise(function(n,r){e=n,t=r});return{promise:n,resolve:e,reject:t}},e}();t.PromiseWrapper=n},function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t){e.exports=n},function(e,t,n){function r(e){return[f.provide(d.APP_COMPONENT,{useValue:e}),f.provide(d.APP_COMPONENT_REF_PROMISE,{useFactory:function(t,n,r){var i;return t.loadAsRoot(e,null,r,function(){n._unloadComponent(i)}).then(function(e){return i=e,h.isPresent(e.location.nativeElement)&&r.get(m.TestabilityRegistry).registerApplication(e.location.nativeElement,r.get(m.Testability)),e})},deps:[g.DynamicComponentLoader,D,f.Injector]}),f.provide(e,{useFactory:function(e){return e.then(function(e){return e.instance})},deps:[d.APP_COMPONENT_REF_PROMISE]})]}function i(){return new l.NgZone({enableLongStackTrace:h.assertionsEnabled()})}function o(e){if(w.lockMode(),h.isPresent(R)){if(v.ListWrapper.equals(E,e))return R;throw new _.BaseException("platform cannot be initialized with different sets of providers.")}return a(e)}function s(){h.isPresent(R)&&(R.dispose(),R=null)}function a(e){E=e;var t=f.Injector.resolveAndCreate(e);return R=new S(t,function(){R=null,E=null}),c(t),R}function c(e){var t=e.getOptional(d.PLATFORM_INITIALIZER);h.isPresent(t)&&t.forEach(function(e){return e()})}function u(e){var t=e.getOptional(d.APP_INITIALIZER);h.isPresent(t)&&t.forEach(function(e){return e()})}var p=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},l=n(66),h=n(5),f=n(6),d=n(67),y=n(60),v=n(12),m=n(68),g=n(69),_=n(14),b=n(77),C=n(97),P=n(45),w=n(5);t.createNgZone=i;var R,E;t.platform=o,t.disposePlatform=s;var O=function(){function e(){}return Object.defineProperty(e.prototype,"injector",{get:function(){return _.unimplemented()},enumerable:!0,configurable:!0}),e}();t.PlatformRef=O;var S=function(e){function t(t,n){e.call(this),this._injector=t,this._dispose=n,this._applications=[],this._disposeListeners=[]}return p(t,e),t.prototype.registerDisposeListener=function(e){this._disposeListeners.push(e)},Object.defineProperty(t.prototype,"injector",{get:function(){return this._injector},enumerable:!0,configurable:!0}),t.prototype.application=function(e){var t=this._initApp(i(),e);return t},t.prototype.asyncApplication=function(e,t){var n=this,r=i(),o=y.PromiseWrapper.completer();return r.run(function(){y.PromiseWrapper.then(e(r),function(e){h.isPresent(t)&&(e=v.ListWrapper.concat(e,t)),o.resolve(n._initApp(r,e))})}),o.promise},t.prototype._initApp=function(e,t){var n,r,i=this;return e.run(function(){t=v.ListWrapper.concat(t,[f.provide(l.NgZone,{useValue:e}),f.provide(D,{useFactory:function(){return r},deps:[]})]);var o;try{n=i.injector.resolveAndCreateChild(t),o=n.get(_.ExceptionHandler),e.overrideOnErrorHandler(function(e,t){return o.call(e,t)})}catch(s){h.isPresent(o)?o.call(s,s.stack):h.print(s.toString())}}),r=new T(this,e,n),this._applications.push(r),u(n),r},t.prototype.dispose=function(){v.ListWrapper.clone(this._applications).forEach(function(e){return e.dispose()}),this._disposeListeners.forEach(function(e){return e()}),this._dispose()},t.prototype._applicationDisposed=function(e){v.ListWrapper.remove(this._applications,e)},t}(O);t.PlatformRef_=S;var D=function(){function e(){}return Object.defineProperty(e.prototype,"injector",{get:function(){return _.unimplemented()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"zone",{get:function(){return _.unimplemented()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"componentTypes",{get:function(){return _.unimplemented()},enumerable:!0,configurable:!0}),e}();t.ApplicationRef=D;var T=function(e){function t(t,n,r){var i=this;e.call(this),this._platform=t,this._zone=n,this._injector=r,this._bootstrapListeners=[],this._disposeListeners=[],this._rootComponents=[],this._rootComponentTypes=[],this._changeDetectorRefs=[],this._runningTick=!1,this._enforceNoNewChanges=!1,h.isPresent(this._zone)&&y.ObservableWrapper.subscribe(this._zone.onTurnDone,function(e){i._zone.run(function(){i.tick()})}),this._enforceNoNewChanges=h.assertionsEnabled()}return p(t,e),t.prototype.registerBootstrapListener=function(e){this._bootstrapListeners.push(e)},t.prototype.registerDisposeListener=function(e){this._disposeListeners.push(e)},t.prototype.registerChangeDetector=function(e){this._changeDetectorRefs.push(e)},t.prototype.unregisterChangeDetector=function(e){v.ListWrapper.remove(this._changeDetectorRefs,e)},t.prototype.bootstrap=function(e,t){var n=this,i=y.PromiseWrapper.completer();return this._zone.run(function(){var o=r(e);h.isPresent(t)&&o.push(t);var s=n._injector.get(_.ExceptionHandler);n._rootComponentTypes.push(e);try{var a=n._injector.resolveAndCreateChild(o),c=a.get(d.APP_COMPONENT_REF_PROMISE),u=function(e){n._loadComponent(e),i.resolve(e)},p=y.PromiseWrapper.then(c,u);h.IS_DART&&y.PromiseWrapper.then(p,function(e){}),y.PromiseWrapper.then(p,null,function(e,t){return i.reject(e,t)})}catch(l){s.call(l,l.stack),i.reject(l,l.stack)}}),i.promise.then(function(e){var t=n._injector.get(C.Console),r=h.assertionsEnabled()?"in the development mode. Call enableProdMode() to enable the production mode.":"in the production mode. Call enableDevMode() to enable the development mode.";return t.log("Angular 2 is running "+r),e})},t.prototype._loadComponent=function(e){var t=b.internalView(e.hostView).changeDetector;this._changeDetectorRefs.push(t.ref),this.tick(),this._rootComponents.push(e),this._bootstrapListeners.forEach(function(t){return t(e)})},t.prototype._unloadComponent=function(e){v.ListWrapper.contains(this._rootComponents,e)&&(this.unregisterChangeDetector(b.internalView(e.hostView).changeDetector.ref),v.ListWrapper.remove(this._rootComponents,e))},Object.defineProperty(t.prototype,"injector",{get:function(){return this._injector},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"zone",{get:function(){return this._zone},enumerable:!0,configurable:!0}),t.prototype.tick=function(){if(this._runningTick)throw new _.BaseException("ApplicationRef.tick is called recursively");var e=t._tickScope();try{this._runningTick=!0,this._changeDetectorRefs.forEach(function(e){return e.detectChanges()}),this._enforceNoNewChanges&&this._changeDetectorRefs.forEach(function(e){return e.checkNoChanges()})}finally{this._runningTick=!1,P.wtfLeave(e)}},t.prototype.dispose=function(){v.ListWrapper.clone(this._rootComponents).forEach(function(e){return e.dispose()}),this._disposeListeners.forEach(function(e){return e()}),this._platform._applicationDisposed(this)},Object.defineProperty(t.prototype,"componentTypes",{get:function(){return this._rootComponentTypes},enumerable:!0,configurable:!0}),t._tickScope=P.wtfCreateScope("ApplicationRef#tick()"),t}(D);t.ApplicationRef_=T},function(e,t,n){var r=n(12),i=n(5),o=n(60),s=n(45),a=function(){function e(e,t){this.error=e,this.stackTrace=t}return e}();t.NgZoneError=a;var c=function(){function e(e){var t=e.enableLongStackTrace;this._runScope=s.wtfCreateScope("NgZone#run()"),this._microtaskScope=s.wtfCreateScope("NgZone#microtask()"),this._pendingMicrotasks=0,this._hasExecutedCodeInInnerZone=!1,this._nestedRun=0,this._inVmTurnDone=!1,this._pendingTimeouts=[],i.global.zone?(this._disabled=!1,this._mountZone=i.global.zone,this._innerZone=this._createInnerZone(this._mountZone,t)):(this._disabled=!0,this._mountZone=null),this._onTurnStartEvents=new o.EventEmitter(!1),this._onTurnDoneEvents=new o.EventEmitter(!1),this._onEventDoneEvents=new o.EventEmitter(!1),this._onErrorEvents=new o.EventEmitter(!1)}return e.prototype.overrideOnTurnStart=function(e){this._onTurnStart=i.normalizeBlank(e)},Object.defineProperty(e.prototype,"onTurnStart",{get:function(){return this._onTurnStartEvents},enumerable:!0,configurable:!0}),e.prototype._notifyOnTurnStart=function(e){var t=this;e.call(this._innerZone,function(){t._onTurnStartEvents.emit(null)})},e.prototype.overrideOnTurnDone=function(e){this._onTurnDone=i.normalizeBlank(e)},Object.defineProperty(e.prototype,"onTurnDone",{get:function(){return this._onTurnDoneEvents},enumerable:!0,configurable:!0}),e.prototype._notifyOnTurnDone=function(e){var t=this;e.call(this._innerZone,function(){t._onTurnDoneEvents.emit(null)})},e.prototype.overrideOnEventDone=function(e,t){var n=this;void 0===t&&(t=!1);var r=i.normalizeBlank(e);t?this._onEventDone=function(){n._pendingTimeouts.length||r()}:this._onEventDone=r},Object.defineProperty(e.prototype,"onEventDone",{get:function(){return this._onEventDoneEvents},enumerable:!0,configurable:!0}),e.prototype._notifyOnEventDone=function(){var e=this;this.runOutsideAngular(function(){e._onEventDoneEvents.emit(null)})},Object.defineProperty(e.prototype,"hasPendingMicrotasks",{get:function(){return this._pendingMicrotasks>0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasPendingTimers",{get:function(){return this._pendingTimeouts.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasPendingAsyncTasks",{get:function(){return this.hasPendingMicrotasks||this.hasPendingTimers},enumerable:!0,configurable:!0}),e.prototype.overrideOnErrorHandler=function(e){this._onErrorHandler=i.normalizeBlank(e)},Object.defineProperty(e.prototype,"onError",{get:function(){return this._onErrorEvents},enumerable:!0,configurable:!0}),e.prototype.run=function(e){if(this._disabled)return e();var t=this._runScope();try{return this._innerZone.run(e)}finally{s.wtfLeave(t)}},e.prototype.runOutsideAngular=function(e){return this._disabled?e():this._mountZone.run(e)},e.prototype._createInnerZone=function(e,t){var n,o=this._microtaskScope,a=this;return n=t?r.StringMapWrapper.merge(Zone.longStackTraceZone,{onError:function(e){a._notifyOnError(this,e)}}):{onError:function(e){a._notifyOnError(this,e)}},e.fork(n).fork({$run:function(e){return function(){try{return a._nestedRun++,a._hasExecutedCodeInInnerZone||(a._hasExecutedCodeInInnerZone=!0,a._notifyOnTurnStart(e),a._onTurnStart&&e.call(a._innerZone,a._onTurnStart)),e.apply(this,arguments)}finally{if(a._nestedRun--,0==a._pendingMicrotasks&&0==a._nestedRun&&!this._inVmTurnDone){if(a._hasExecutedCodeInInnerZone)try{this._inVmTurnDone=!0,a._notifyOnTurnDone(e),a._onTurnDone&&e.call(a._innerZone,a._onTurnDone)}finally{this._inVmTurnDone=!1,a._hasExecutedCodeInInnerZone=!1}0===a._pendingMicrotasks&&(a._notifyOnEventDone(),i.isPresent(a._onEventDone)&&a.runOutsideAngular(a._onEventDone))}}}},$scheduleMicrotask:function(e){return function(t){a._pendingMicrotasks++;var n=function(){var e=o();try{t()}finally{a._pendingMicrotasks--,s.wtfLeave(e)}};e.call(this,n)}},$setTimeout:function(e){return function(t,n){for(var i=[],o=2;o")),t.APP_COMPONENT=s.CONST_EXPR(new o.OpaqueToken("AppComponent")),t.APP_ID=s.CONST_EXPR(new o.OpaqueToken("AppId")),t.APP_ID_RANDOM_PROVIDER=s.CONST_EXPR(new o.Provider(t.APP_ID,{useFactory:r,deps:[]})),t.PLATFORM_INITIALIZER=s.CONST_EXPR(new o.OpaqueToken("Platform Initializer")),t.APP_INITIALIZER=s.CONST_EXPR(new o.OpaqueToken("Application Initializer")),t.PACKAGE_ROOT_URL=s.CONST_EXPR(new o.OpaqueToken("Application Packages Root URL"))},function(e,t,n){function r(e){y=e}var i=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=n(6),a=n(12),c=n(5),u=n(14),p=n(66),l=n(60),h=function(){function e(e){this._pendingCount=0,this._callbacks=[],this._isAngularEventPending=!1,this._watchAngularEvents(e)}return e.prototype._watchAngularEvents=function(e){var t=this;l.ObservableWrapper.subscribe(e.onTurnStart,function(e){t._isAngularEventPending=!0}),e.runOutsideAngular(function(){l.ObservableWrapper.subscribe(e.onEventDone,function(n){e.hasPendingTimers||(t._isAngularEventPending=!1,t._runCallbacksIfReady())})})},e.prototype.increasePendingRequestCount=function(){return this._pendingCount+=1,this._pendingCount},e.prototype.decreasePendingRequestCount=function(){if(this._pendingCount-=1,this._pendingCount<0)throw new u.BaseException("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount},e.prototype.isStable=function(){return 0==this._pendingCount&&!this._isAngularEventPending},e.prototype._runCallbacksIfReady=function(){var e=this;this.isStable()&&l.PromiseWrapper.resolve(null).then(function(t){for(;0!==e._callbacks.length;)e._callbacks.pop()()})},e.prototype.whenStable=function(e){this._callbacks.push(e),this._runCallbacksIfReady()},e.prototype.getPendingRequestCount=function(){return this._pendingCount},e.prototype.isAngularEventPending=function(){return this._isAngularEventPending},e.prototype.findBindings=function(e,t,n){return[]},e.prototype.findProviders=function(e,t,n){return[]},e=i([s.Injectable(),o("design:paramtypes",[p.NgZone])],e)}();t.Testability=h;var f=function(){function e(){this._applications=new a.Map,y.addToWindow(this)}return e.prototype.registerApplication=function(e,t){this._applications.set(e,t)},e.prototype.getTestability=function(e){return this._applications.get(e)},e.prototype.getAllTestabilities=function(){return a.MapWrapper.values(this._applications)},e.prototype.findTestabilityInTree=function(e,t){return void 0===t&&(t=!0),y.findTestabilityInTree(this,e,t)},e=i([s.Injectable(),o("design:paramtypes",[])],e)}();t.TestabilityRegistry=f;var d=function(){function e(){}return e.prototype.addToWindow=function(e){},e.prototype.findTestabilityInTree=function(e,t,n){return null},e=i([c.CONST(),o("design:paramtypes",[])],e)}();t.setTestabilityGetter=r;var y=c.CONST_EXPR(new d)},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=n(6),a=n(70),c=n(5),u=n(81),p=function(){function e(){}return Object.defineProperty(e.prototype,"hostView",{get:function(){return this.location.parentView},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hostComponent",{get:function(){return this.instance},enumerable:!0,configurable:!0}),e}();t.ComponentRef=p;var l=function(e){function t(t,n,r,i,o){e.call(this),this._dispose=o,this.location=t,this.instance=n,this.componentType=r,this.injector=i}return r(t,e),Object.defineProperty(t.prototype,"hostComponentType",{get:function(){return this.componentType},enumerable:!0,configurable:!0}),t.prototype.dispose=function(){this._dispose()},t}(p);t.ComponentRef_=l;var h=function(){function e(){}return e}();t.DynamicComponentLoader=h;var f=function(e){function t(t,n){e.call(this),this._compiler=t,this._viewManager=n}return r(t,e), t.prototype.loadAsRoot=function(e,t,n,r){var i=this;return this._compiler.compileInHost(e).then(function(o){var s=i._viewManager.createRootHostView(o,t,n),a=i._viewManager.getHostElement(s),u=i._viewManager.getComponent(a),p=function(){c.isPresent(r)&&r(),i._viewManager.destroyRootHostView(s)};return new l(a,u,e,n,p)})},t.prototype.loadIntoLocation=function(e,t,n,r){return void 0===r&&(r=null),this.loadNextToLocation(e,this._viewManager.getNamedElementInComponentView(t,n),r)},t.prototype.loadNextToLocation=function(e,t,n){var r=this;return void 0===n&&(n=null),this._compiler.compileInHost(e).then(function(i){var o=r._viewManager.getViewContainer(t),s=o.createHostView(i,o.length,n),a=r._viewManager.getHostElement(s),c=r._viewManager.getComponent(a),u=function(){var e=o.indexOf(s);-1!==e&&o.remove(e)};return new l(a,c,e,null,u)})},t=i([s.Injectable(),o("design:paramtypes",[a.Compiler,u.AppViewManager])],t)}(h);t.DynamicComponentLoader_=f},function(e,t,n){function r(e){return e instanceof d.CompiledHostTemplate}function i(e,t){return e._createProtoView(t)}var o=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},s=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},a=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},c=n(71),u=n(6),p=n(5),l=n(14),h=n(60),f=n(16),d=n(96),y=function(){function e(){}return e}();t.Compiler=y;var v=function(e){function t(t){e.call(this),this._protoViewFactory=t}return o(t,e),t.prototype.compileInHost=function(e){var t=f.reflector.annotations(e),n=t.find(r);if(p.isBlank(n))throw new l.BaseException("No precompiled template for component "+p.stringify(e)+" found");return h.PromiseWrapper.resolve(this._createProtoView(n))},t.prototype._createProtoView=function(e){return this._protoViewFactory.createHost(e).ref},t.prototype.clearCache=function(){this._protoViewFactory.clearCache()},t=s([u.Injectable(),a("design:paramtypes",[c.ProtoViewFactory])],t)}(y);t.Compiler_=v,t.internalCreateProtoView=i},function(e,t,n){function r(e,t){return e._createComponent(t)}function i(e,t,n){return e._createEmbeddedTemplate(t,n)}function o(e,t,n,r,i,o,u){var p=null,l=null;if(i>0&&(p=n[n.length-i]),d.isBlank(p)&&(i=-1),o>0){var h=n[n.length-o];d.isPresent(h)&&(l=h.protoElementInjector)}d.isBlank(l)&&(o=-1);var f=null,y=!1,v=u.directives.map(function(t){return s(e,t)});u instanceof S.BeginComponentCmd?f=v[0]:u instanceof S.EmbeddedTemplateCmd&&(y=!0);var m=null,g=u.variableNameAndValues.length>0;if(v.length>0||g||y){var _=new Map;y||(_=a(u.variableNameAndValues,v)),m=C.ProtoElementInjector.create(l,r,v,d.isPresent(f),o,_),m.attributes=c(u.attrNameAndValues,!1)}return new b.ElementBinder(r,p,i,m,f,t)}function s(e,t){var n=e.resolve(t);return C.DirectiveProvider.createFromType(t,n)}function a(e,t){for(var n=new Map,r=0;ro?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},h=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},f=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}},d=n(5),y=n(72),v=n(6),m=n(73),g=n(74),_=n(76),b=n(79),C=n(80),P=n(92),w=n(93),R=n(94),E=n(56),O=n(95),S=n(96),D=n(72),T=n(67),A=function(){function e(e,t,n,r,i,o){this._renderer=e,this._platformPipes=t,this._directiveResolver=n,this._viewResolver=r,this._pipeResolver=i,this._appId=o,this._cache=new Map,this._nextTemplateId=0}return e.prototype.clearCache=function(){this._cache.clear()},e.prototype.createHost=function(e){var t=e.template,n=this._cache.get(t.id);if(d.isBlank(n)){var r={},i=this._appId+"-"+this._nextTemplateId++;this._renderer.registerComponentTemplate(new y.RenderComponentTemplate(t.id,i,E.ViewEncapsulation.None,t.commands,[])),n=new _.AppProtoView(t.id,t.commands,_.ViewType.HOST,!0,t.changeDetectorFactory,null,new g.ProtoPipes(r)),this._cache.set(t.id,n)}return n},e.prototype._createComponent=function(e){var t=this,n=this._cache.get(e.templateId);if(d.isBlank(n)){var r=e.directives[0],i=this._viewResolver.resolve(r),o=e.templateGetter(),s=p(o.styles,[]),a=this._appId+"-"+this._nextTemplateId++;this._renderer.registerComponentTemplate(new y.RenderComponentTemplate(o.id,a,e.encapsulation,o.commands,s));var c=this._flattenPipes(i).map(function(e){return t._bindPipe(e)});n=new _.AppProtoView(o.id,o.commands,_.ViewType.COMPONENT,!0,o.changeDetectorFactory,null,g.ProtoPipes.fromProviders(c)),this._cache.set(o.id,n),this._initializeProtoView(n,null)}return n},e.prototype._createEmbeddedTemplate=function(e,t){var n=new _.AppProtoView(t.templateId,e.children,_.ViewType.EMBEDDED,e.isMerged,e.changeDetectorFactory,c(e.variableNameAndValues,!0),new g.ProtoPipes(t.pipes.config));return e.isMerged&&this.initializeProtoViewIfNeeded(n),n},e.prototype.initializeProtoViewIfNeeded=function(e){if(!e.isInitialized()){var t=this._renderer.createProtoView(e.templateId,e.templateCmds);this._initializeProtoView(e,t)}},e.prototype._initializeProtoView=function(e,t){var n=new I(e,this._directiveResolver,this);S.visitAllCommands(n,e.templateCmds);var r=new _.AppProtoViewMergeInfo(n.mergeEmbeddedViewCount,n.mergeElementCount,n.mergeViewCount);e.init(t,n.elementBinders,n.boundTextCount,r,n.variableLocations)},e.prototype._bindPipe=function(e){var t=this._pipeResolver.resolve(e);return m.PipeProvider.createFromType(e,t)},e.prototype._flattenPipes=function(e){var t=[];return d.isPresent(this._platformPipes)&&u(this._platformPipes,t),d.isPresent(e.pipes)&&u(e.pipes,t),t},e=l([v.Injectable(),f(1,v.Optional()),f(1,v.Inject(O.PLATFORM_PIPES)),f(5,v.Inject(T.APP_ID)),h("design:paramtypes",[D.Renderer,Array,P.DirectiveResolver,w.ViewResolver,R.PipeResolver,String])],e)}();t.ProtoViewFactory=A;var I=function(){function e(e,t,n){this._protoView=e,this._directiveResolver=t,this._protoViewFactory=n,this.variableLocations=new Map,this.boundTextCount=0,this.boundElementIndex=0,this.elementBinderStack=[],this.distanceToParentElementBinder=0,this.distanceToParentProtoElementInjector=0,this.elementBinders=[],this.mergeEmbeddedViewCount=0,this.mergeElementCount=0,this.mergeViewCount=1}return e.prototype.visitText=function(e,t){return e.isBound&&this.boundTextCount++,null},e.prototype.visitNgContent=function(e,t){return null},e.prototype.visitBeginElement=function(e,t){return e.isBound?this._visitBeginBoundElement(e,null):this._visitBeginElement(e,null,null),null},e.prototype.visitEndElement=function(e){return this._visitEndElement()},e.prototype.visitBeginComponent=function(e,t){var n=r(this._protoViewFactory,e);return this._visitBeginBoundElement(e,n)},e.prototype.visitEndComponent=function(e){return this._visitEndElement()},e.prototype.visitEmbeddedTemplate=function(e,t){var n=i(this._protoViewFactory,e,this._protoView);return e.isMerged&&this.mergeEmbeddedViewCount++,this._visitBeginBoundElement(e,n),this._visitEndElement()},e.prototype._visitBeginBoundElement=function(e,t){d.isPresent(t)&&t.isMergable&&(this.mergeElementCount+=t.mergeInfo.elementCount,this.mergeViewCount+=t.mergeInfo.viewCount,this.mergeEmbeddedViewCount+=t.mergeInfo.embeddedViewCount);var n=o(this._directiveResolver,t,this.elementBinderStack,this.boundElementIndex,this.distanceToParentElementBinder,this.distanceToParentProtoElementInjector,e);this.elementBinders.push(n);for(var r=n.protoElementInjector,i=0;i=0;n--)c.isPresent(t[n+this.elementOffset])&&t[n+this.elementOffset].ngAfterContentChecked()},e.prototype.notifyAfterViewChecked=function(){for(var e=this.proto.elementBinders.length,t=this.elementInjectors,n=e-1;n>=0;n--)c.isPresent(t[n+this.elementOffset])&&t[n+this.elementOffset].ngAfterViewChecked()},e.prototype.getDirectiveFor=function(e){var t=this.elementInjectors[this.elementOffset+e.elementIndex];return t.getDirectiveAtIndex(e.directiveIndex)},e.prototype.getNestedView=function(e){var t=this.elementInjectors[e];return c.isPresent(t)?t.getNestedView():null},e.prototype.getContainerElement=function(){return c.isPresent(this.containerElementInjector)?this.containerElementInjector.getElementRef():null},e.prototype.getDebugContext=function(e,t){try{var n=this.elementOffset+e,i=n1)throw new c.BaseException("A directive injectable can contain only one of the following @Attribute or @Query.")},t.createFrom=function(e){return new t(e.key,e.optional,e.lowerBoundVisibility,e.upperBoundVisibility,e.properties,t._attributeName(e.properties),t._query(e.properties))},t._attributeName=function(e){var t=e.find(function(e){return e instanceof d.AttributeMetadata});return a.isPresent(t)?t.attributeName:null},t._query=function(e){return e.find(function(e){return e instanceof d.QueryMetadata})},t}(l.Dependency);t.DirectiveDependency=A;var I=function(e){function t(t,n,r,i,o,s){e.call(this,t,[new f.ResolvedFactory(n,r)],!1),this.metadata=i,this.providers=o,this.viewProviders=s,this.callOnDestroy=b.hasLifecycleHook(O.LifecycleHooks.OnDestroy,t.token)}return s(t,e),Object.defineProperty(t.prototype,"displayName",{get:function(){return this.key.displayName},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"queries",{get:function(){if(a.isBlank(this.metadata.queries))return[];var e=[];return p.StringMapWrapper.forEach(this.metadata.queries,function(t,n){var r=w.reflector.setter(n);e.push(new N(r,t))}),e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"eventEmitters",{get:function(){return a.isPresent(this.metadata)&&a.isPresent(this.metadata.outputs)?this.metadata.outputs:[]},enumerable:!0,configurable:!0}),t.createFromProvider=function(e,n){a.isBlank(n)&&(n=new _.DirectiveMetadata);var r=f.resolveProvider(e),i=r.resolvedFactories[0],o=i.dependencies.map(A.createFrom),s=a.isPresent(n.providers)?n.providers:[],c=n instanceof _.ComponentMetadata&&a.isPresent(n.viewProviders)?n.viewProviders:[];return new t(r.key,i.factory,o,n,s,c)},t.createFromType=function(e,n){var r=new l.Provider(e,{useClass:e});return t.createFromProvider(r,n)},t}(f.ResolvedProvider_);t.DirectiveProvider=I;var x=function(){function e(e,t,n,r){this.viewManager=e,this.view=t,this.elementRef=n,this.templateRef=r,this.nestedView=null}return e}();t.PreBuiltObjects=x;var N=function(){function e(e,t){this.setter=e,this.metadata=t}return e}();t.QueryMetadataWithSetter=N;var k=function(){function e(e,t){this.eventName=e,this.getter=t}return e.prototype.subscribe=function(e,t,n){var r=this,i=this.getter(n);return u.ObservableWrapper.subscribe(i,function(n){return e.triggerEventHandlers(r.eventName,n,t)})},e}();t.EventEmitterAccessor=k;var j=function(){function e(e,t,n,o,s,a){this.parent=e,this.index=t,this.distanceToParent=o,this.directiveVariableBindings=a,this._firstProviderIsComponent=s;var c=n.length;this.protoInjector=new h.ProtoInjector(n),this.eventEmitterAccessors=p.ListWrapper.createFixedSize(c);for(var u=0;c>u;++u)this.eventEmitterAccessors[u]=r(n[u]);this.protoQueryRefs=i(n)}return e.create=function(t,n,r,i,o,s){var a=[];return e._createDirectiveProviderWithVisibility(r,a,i),i&&e._createViewProvidersWithVisibility(r,a),e._createProvidersWithVisibility(r,a),new e(t,n,a,o,i,s)},e._createDirectiveProviderWithVisibility=function(t,n,r){t.forEach(function(i){n.push(e._createProviderWithVisibility(r,i,t,i))})},e._createProvidersWithVisibility=function(e,t){var n=[];e.forEach(function(e){n=p.ListWrapper.concat(n,e.providers)});var r=l.Injector.resolve(n);r.forEach(function(e){return t.push(new h.ProviderWithVisibility(e,h.Visibility.Public))})},e._createProviderWithVisibility=function(e,t,n,r){var i=e&&n[0]===t;return new h.ProviderWithVisibility(r,i?h.Visibility.PublicAndPrivate:h.Visibility.Public)},e._createViewProvidersWithVisibility=function(e,t){var n=l.Injector.resolve(e[0].viewProviders);n.forEach(function(e){return t.push(new h.ProviderWithVisibility(e,h.Visibility.Private))})},e.prototype.instantiate=function(e){return new M(this,e)},e.prototype.directParent=function(){return this.distanceToParent<2?this.parent:null},Object.defineProperty(e.prototype,"hasBindings",{get:function(){return this.eventEmitterAccessors.length>0},enumerable:!0,configurable:!0}),e.prototype.getProviderAtIndex=function(e){return this.protoInjector.getProviderAtIndex(e)},e}();t.ProtoElementInjector=j;var V=function(){function e(e,t,n){this.element=e,this.componentElement=t,this.injector=n}return e}(),M=function(e){function t(t,n){var r=this;e.call(this,n),this._preBuiltObjects=null,this._proto=t,this._injector=new l.Injector(this._proto.protoInjector,null,this,function(){return r._debugContext()});var i=this._injector.internalStrategy;this._strategy=i instanceof h.InjectorInlineStrategy?new U(i,this):new H(i,this),this.hydrated=!1,this._queryStrategy=this._buildQueryStrategy()}return s(t,e),t.prototype.dehydrate=function(){this.hydrated=!1,this._host=null,this._preBuiltObjects=null,this._strategy.callOnDestroy(),this._strategy.dehydrate(),this._queryStrategy.dehydrate()},t.prototype.hydrate=function(e,t,n){this._host=t,this._preBuiltObjects=n,this._reattachInjectors(e),this._queryStrategy.hydrate(),this._strategy.hydrate(),this.hydrated=!0},t.prototype._debugContext=function(){var e=this._preBuiltObjects,t=e.elementRef.boundElementIndex-e.view.elementOffset,n=this._preBuiltObjects.view.getDebugContext(t,null);return a.isPresent(n)?new V(n.element,n.componentElement,n.injector):null},t.prototype._reattachInjectors=function(e){a.isPresent(this._parent)?a.isPresent(e)?(this._reattachInjector(this._injector,e,!1),this._reattachInjector(e,this._parent._injector,!1)):this._reattachInjector(this._injector,this._parent._injector,!1):a.isPresent(this._host)?a.isPresent(e)?(this._reattachInjector(this._injector,e,!1),this._reattachInjector(e,this._host._injector,!0)):this._reattachInjector(this._injector,this._host._injector,!0):a.isPresent(e)&&this._reattachInjector(this._injector,e,!0)},t.prototype._reattachInjector=function(e,t,n){e.internalStrategy.attach(t,n)},t.prototype.hasVariableBinding=function(e){var t=this._proto.directiveVariableBindings;return a.isPresent(t)&&t.has(e)},t.prototype.getVariableBinding=function(e){var t=this._proto.directiveVariableBindings.get(e);return a.isPresent(t)?this.getDirectiveAtIndex(t):this.getElementRef()},t.prototype.get=function(e){return this._injector.get(e)},t.prototype.hasDirective=function(e){return a.isPresent(this._injector.getOptional(e))},t.prototype.getEventEmitterAccessors=function(){return this._proto.eventEmitterAccessors},t.prototype.getDirectiveVariableBindings=function(){return this._proto.directiveVariableBindings},t.prototype.getComponent=function(){return this._strategy.getComponent()},t.prototype.getInjector=function(){return this._injector},t.prototype.getElementRef=function(){return this._preBuiltObjects.elementRef},t.prototype.getViewContainerRef=function(){return new S.ViewContainerRef_(this._preBuiltObjects.viewManager,this.getElementRef())},t.prototype.getNestedView=function(){return this._preBuiltObjects.nestedView},t.prototype.getView=function(){return this._preBuiltObjects.view},t.prototype.directParent=function(){return this._proto.distanceToParent<2?this.parent:null},t.prototype.isComponentKey=function(e){return this._strategy.isComponentKey(e)},t.prototype.getDependency=function(e,t,n){var r=n.key;if(t instanceof I){var i=n,o=t,s=D.instance();if(r.id===s.viewManagerId)return this._preBuiltObjects.viewManager;if(a.isPresent(i.attributeName))return this._buildAttribute(i);if(a.isPresent(i.queryDecorator))return this._queryStrategy.findQuery(i.queryDecorator).list;if(i.key.id===D.instance().changeDetectorRefId){if(o.metadata instanceof _.ComponentMetadata){var c=this._preBuiltObjects.view.getNestedView(this._preBuiltObjects.elementRef.boundElementIndex);return c.changeDetector.ref}return this._preBuiltObjects.view.changeDetector.ref}if(i.key.id===D.instance().elementRefId)return this.getElementRef();if(i.key.id===D.instance().viewContainerId)return this.getViewContainerRef();if(i.key.id===D.instance().templateRefId){if(a.isBlank(this._preBuiltObjects.templateRef)){if(i.optional)return null;throw new l.NoProviderError(null,i.key)}return this._preBuiltObjects.templateRef}}else if(t instanceof E.PipeProvider&&n.key.id===D.instance().changeDetectorRefId){var c=this._preBuiltObjects.view.getNestedView(this._preBuiltObjects.elementRef.boundElementIndex);return c.changeDetector.ref}return h.UNDEFINED},t.prototype._buildAttribute=function(e){var t=this._proto.attributes;return a.isPresent(t)&&t.has(e.attributeName)?t.get(e.attributeName):null},t.prototype.addDirectivesMatchingQuery=function(e,t){var n=a.isBlank(this._preBuiltObjects)?null:this._preBuiltObjects.templateRef;e.selector===g.TemplateRef&&a.isPresent(n)&&t.push(n),this._strategy.addDirectivesMatchingQuery(e,t)},t.prototype._buildQueryStrategy=function(){return 0===this._proto.protoQueryRefs.length?L:this._proto.protoQueryRefs.length<=F.NUMBER_OF_SUPPORTED_QUERIES?new F(this):new W(this)},t.prototype.link=function(e){e.addChild(this); },t.prototype.unlink=function(){this.remove()},t.prototype.getDirectiveAtIndex=function(e){return this._injector.getAt(e)},t.prototype.hasInstances=function(){return this._proto.hasBindings&&this.hydrated},t.prototype.getHost=function(){return this._host},t.prototype.getBoundElementIndex=function(){return this._proto.index},t.prototype.getRootViewInjectors=function(){if(!this.hydrated)return[];var e=this._preBuiltObjects.view,t=e.getNestedView(e.elementOffset+this.getBoundElementIndex());return a.isPresent(t)?t.rootElementInjectors:[]},t.prototype.ngAfterViewChecked=function(){this._queryStrategy.updateViewQueries()},t.prototype.ngAfterContentChecked=function(){this._queryStrategy.updateContentQueries()},t.prototype.traverseAndSetQueriesAsDirty=function(){for(var e=this;a.isPresent(e);)e._setQueriesAsDirty(),e=e.parent},t.prototype._setQueriesAsDirty=function(){this._queryStrategy.setContentQueriesAsDirty(),a.isPresent(this._host)&&this._host._queryStrategy.setViewQueriesAsDirty()},t}(T);t.ElementInjector=M;var B=function(){function e(){}return e.prototype.setContentQueriesAsDirty=function(){},e.prototype.setViewQueriesAsDirty=function(){},e.prototype.hydrate=function(){},e.prototype.dehydrate=function(){},e.prototype.updateContentQueries=function(){},e.prototype.updateViewQueries=function(){},e.prototype.findQuery=function(e){throw new c.BaseException("Cannot find query for directive "+e+".")},e}(),L=new B,F=function(){function e(e){var t=e._proto.protoQueryRefs;t.length>0&&(this.query0=new G(t[0],e)),t.length>1&&(this.query1=new G(t[1],e)),t.length>2&&(this.query2=new G(t[2],e))}return e.prototype.setContentQueriesAsDirty=function(){a.isPresent(this.query0)&&!this.query0.isViewQuery&&(this.query0.dirty=!0),a.isPresent(this.query1)&&!this.query1.isViewQuery&&(this.query1.dirty=!0),a.isPresent(this.query2)&&!this.query2.isViewQuery&&(this.query2.dirty=!0)},e.prototype.setViewQueriesAsDirty=function(){a.isPresent(this.query0)&&this.query0.isViewQuery&&(this.query0.dirty=!0),a.isPresent(this.query1)&&this.query1.isViewQuery&&(this.query1.dirty=!0),a.isPresent(this.query2)&&this.query2.isViewQuery&&(this.query2.dirty=!0)},e.prototype.hydrate=function(){a.isPresent(this.query0)&&this.query0.hydrate(),a.isPresent(this.query1)&&this.query1.hydrate(),a.isPresent(this.query2)&&this.query2.hydrate()},e.prototype.dehydrate=function(){a.isPresent(this.query0)&&this.query0.dehydrate(),a.isPresent(this.query1)&&this.query1.dehydrate(),a.isPresent(this.query2)&&this.query2.dehydrate()},e.prototype.updateContentQueries=function(){a.isPresent(this.query0)&&!this.query0.isViewQuery&&this.query0.update(),a.isPresent(this.query1)&&!this.query1.isViewQuery&&this.query1.update(),a.isPresent(this.query2)&&!this.query2.isViewQuery&&this.query2.update()},e.prototype.updateViewQueries=function(){a.isPresent(this.query0)&&this.query0.isViewQuery&&this.query0.update(),a.isPresent(this.query1)&&this.query1.isViewQuery&&this.query1.update(),a.isPresent(this.query2)&&this.query2.isViewQuery&&this.query2.update()},e.prototype.findQuery=function(e){if(a.isPresent(this.query0)&&this.query0.protoQueryRef.query===e)return this.query0;if(a.isPresent(this.query1)&&this.query1.protoQueryRef.query===e)return this.query1;if(a.isPresent(this.query2)&&this.query2.protoQueryRef.query===e)return this.query2;throw new c.BaseException("Cannot find query for directive "+e+".")},e.NUMBER_OF_SUPPORTED_QUERIES=3,e}(),W=function(){function e(e){this.queries=e._proto.protoQueryRefs.map(function(t){return new G(t,e)})}return e.prototype.setContentQueriesAsDirty=function(){for(var e=0;e0?this.list.first:null):this.protoQueryRef.setter(e,this.list)}this.list.notifyOnChanges()}},e.prototype._update=function(){var e=[];if(this.protoQueryRef.query.isViewQuery){var t=this.originator.getView(),n=t.getNestedView(t.elementOffset+this.originator.getBoundElementIndex());a.isPresent(n)&&this._visitView(n,e)}else this._visit(this.originator,e);this.list.reset(e)},e.prototype._visit=function(e,t){for(var n=e.getView(),r=n.elementOffset+e._proto.index,i=r;ir&&(a.isBlank(o)||a.isBlank(o.parent)||n.elementOffset+o.parent._proto.indexo?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}},a=n(6),c=n(5),u=n(14),p=n(76),l=n(77),h=n(72),f=n(82),d=n(85),y=n(86),v=n(45),m=n(71),g=function(){function e(){}return e.prototype.getHostElement=function(e){var t=l.internalView(e);if(t.proto.type!==p.ViewType.HOST)throw new u.BaseException("This operation is only allowed on host views");return t.elementRefs[t.elementOffset]},e}();t.AppViewManager=g;var _=function(e){function t(t,n,r,i,o){e.call(this),this._viewPool=t,this._viewListener=n,this._utils=r,this._renderer=i,this._createRootHostViewScope=v.wtfCreateScope("AppViewManager#createRootHostView()"),this._destroyRootHostViewScope=v.wtfCreateScope("AppViewManager#destroyRootHostView()"),this._createEmbeddedViewInContainerScope=v.wtfCreateScope("AppViewManager#createEmbeddedViewInContainer()"),this._createHostViewInContainerScope=v.wtfCreateScope("AppViewManager#createHostViewInContainer()"),this._destroyViewInContainerScope=v.wtfCreateScope("AppViewMananger#destroyViewInContainer()"),this._attachViewInContainerScope=v.wtfCreateScope("AppViewMananger#attachViewInContainer()"),this._detachViewInContainerScope=v.wtfCreateScope("AppViewMananger#detachViewInContainer()"),this._protoViewFactory=o}return r(t,e),t.prototype.getViewContainer=function(e){var t=l.internalView(e.parentView);return t.elementInjectors[e.boundElementIndex].getViewContainerRef()},t.prototype.getNamedElementInComponentView=function(e,t){var n=l.internalView(e.parentView),r=e.boundElementIndex,i=n.getNestedView(r);if(c.isBlank(i))throw new u.BaseException("There is no component directive at element "+r);var o=i.proto.variableLocations.get(t);if(c.isBlank(o))throw new u.BaseException("Could not find variable "+t);return i.elementRefs[i.elementOffset+o]},t.prototype.getComponent=function(e){var t=l.internalView(e.parentView),n=e.boundElementIndex;return this._utils.getComponentInstance(t,n)},t.prototype.createRootHostView=function(e,t,n){var r=this._createRootHostViewScope(),i=l.internalProtoView(e);this._protoViewFactory.initializeProtoViewIfNeeded(i);var o=t;c.isBlank(o)&&(o=i.elementBinders[0].componentDirective.metadata.selector);var s=this._renderer.createRootHostView(i.render,i.mergeInfo.embeddedViewCount+1,o),a=this._createMainView(i,s);return this._renderer.hydrateView(a.render),this._utils.hydrateRootHostView(a,n),v.wtfLeave(r,a.ref)},t.prototype.destroyRootHostView=function(e){var t=this._destroyRootHostViewScope(),n=l.internalView(e);this._renderer.detachFragment(n.renderFragment),this._renderer.dehydrateView(n.render),this._viewDehydrateRecurse(n),this._viewListener.onViewDestroyed(n),this._renderer.destroyView(n.render),v.wtfLeave(t)},t.prototype.createEmbeddedViewInContainer=function(e,t,n){var r=this._createEmbeddedViewInContainerScope(),i=l.internalProtoView(n.protoViewRef);if(i.type!==p.ViewType.EMBEDDED)throw new u.BaseException("This method can only be called with embedded ProtoViews!");return this._protoViewFactory.initializeProtoViewIfNeeded(i),v.wtfLeave(r,this._createViewInContainer(e,t,i,n.elementRef,null))},t.prototype.createHostViewInContainer=function(e,t,n,r){var i=this._createHostViewInContainerScope(),o=l.internalProtoView(n);if(o.type!==p.ViewType.HOST)throw new u.BaseException("This method can only be called with host ProtoViews!");return this._protoViewFactory.initializeProtoViewIfNeeded(o),v.wtfLeave(i,this._createViewInContainer(e,t,o,e,r))},t.prototype._createViewInContainer=function(e,t,n,r,i){var o,s=l.internalView(e.parentView),a=e.boundElementIndex,u=l.internalView(r.parentView),h=r.boundElementIndex,f=u.getNestedView(h);n.type===p.ViewType.EMBEDDED&&c.isPresent(f)&&!f.hydrated()?(o=f,this._attachRenderView(s,a,t,o)):(o=this._createPooledView(n),this._attachRenderView(s,a,t,o),this._renderer.hydrateView(o.render)),this._utils.attachViewInContainer(s,a,u,h,t,o);try{this._utils.hydrateViewInContainer(s,a,u,h,t,i)}catch(d){throw this._utils.detachViewInContainer(s,a,t),d}return o.ref},t.prototype._attachRenderView=function(e,t,n,r){var i=e.elementRefs[t];if(0===n)this._renderer.attachFragmentAfterElement(i,r.renderFragment);else{var o=e.viewContainers[t].views[n-1];this._renderer.attachFragmentAfterFragment(o.renderFragment,r.renderFragment)}},t.prototype.destroyViewInContainer=function(e,t){var n=this._destroyViewInContainerScope(),r=l.internalView(e.parentView),i=e.boundElementIndex;this._destroyViewInContainer(r,i,t),v.wtfLeave(n)},t.prototype.attachViewInContainer=function(e,t,n){var r=this._attachViewInContainerScope(),i=l.internalView(n),o=l.internalView(e.parentView),s=e.boundElementIndex;return this._utils.attachViewInContainer(o,s,null,null,t,i),this._attachRenderView(o,s,t,i),v.wtfLeave(r,n)},t.prototype.detachViewInContainer=function(e,t){var n=this._detachViewInContainerScope(),r=l.internalView(e.parentView),i=e.boundElementIndex,o=r.viewContainers[i],s=o.views[t];return this._utils.detachViewInContainer(r,i,t),this._renderer.detachFragment(s.renderFragment),v.wtfLeave(n,s.ref)},t.prototype._createMainView=function(e,t){var n=this._utils.createView(e,t,this,this._renderer);return this._renderer.setEventDispatcher(n.render,n),this._viewListener.onViewCreated(n),n},t.prototype._createPooledView=function(e){var t=this._viewPool.getView(e);return c.isBlank(t)&&(t=this._createMainView(e,this._renderer.createView(e.render,e.mergeInfo.embeddedViewCount+1))),t},t.prototype._destroyPooledView=function(e){var t=this._viewPool.returnView(e);t||(this._viewListener.onViewDestroyed(e),this._renderer.destroyView(e.render))},t.prototype._destroyViewInContainer=function(e,t,n){var r=e.viewContainers[t],i=r.views[n];this._viewDehydrateRecurse(i),this._utils.detachViewInContainer(e,t,n),i.viewOffset>0?this._renderer.detachFragment(i.renderFragment):(this._renderer.dehydrateView(i.render),this._renderer.detachFragment(i.renderFragment),this._destroyPooledView(i))},t.prototype._viewDehydrateRecurse=function(e){e.hydrated()&&this._utils.dehydrateView(e);for(var t=e.viewContainers,n=e.viewOffset,r=e.viewOffset+e.proto.mergeInfo.viewCount-1,i=e.elementOffset,o=n;r>=o;o++)for(var s=e.views[o],a=0;a=0;p--)this._destroyViewInContainer(s,i,p)}},t=i([a.Injectable(),s(4,a.Inject(a.forwardRef(function(){return m.ProtoViewFactory}))),o("design:paramtypes",[d.AppViewPool,y.AppViewListener,f.AppViewManagerUtils,h.Renderer,Object])],t)}(g);t.AppViewManager_=_},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(6),s=n(12),a=n(80),c=n(5),u=n(76),p=n(83),l=n(84),h=n(74),f=function(){function e(){}return e.prototype.getComponentInstance=function(e,t){var n=e.elementInjectors[t];return n.getComponent()},e.prototype.createView=function(e,t,n,r){for(var i=t.fragmentRefs,o=t.viewRef,h=e.mergeInfo.elementCount,f=e.mergeInfo.viewCount,d=s.ListWrapper.createFixedSize(h),y=s.ListWrapper.createFixedSize(h),v=s.ListWrapper.createFixedSize(h),m=s.ListWrapper.createFixedSize(h),g=s.ListWrapper.createFixedSize(f),_=0,b=0,C=0,P=s.ListWrapper.createFixedSize(f),w=0;f>w;w++){var R=P[w],E=c.isPresent(R)?m[R]:null,O=c.isPresent(E)?v[R].view:null,S=c.isPresent(R)?O.proto.elementBinders[R-O.elementOffset].nestedProtoView:e,D=null;(0===w||S.type===u.ViewType.EMBEDDED)&&(D=i[C++]);var T=new u.AppView(r,S,w,_,b,S.protoLocals,o,D,E);g[w]=T,c.isPresent(R)&&(v[R].nestedView=T);for(var A=[],I=w+1,x=0;x=0;l--)c.isPresent(p.parent)&&o.rootElementInjectors[l].link(p.parent);p.traverseAndSetQueriesAsDirty()},e.prototype.detachViewInContainer=function(e,t,n){var r=e.viewContainers[t],i=r.views[n];e.elementInjectors[t].traverseAndSetQueriesAsDirty(),i.changeDetector.remove(),s.ListWrapper.removeAt(r.views,n);for(var o=0;o=o;){var a=e.views[o],p=a.proto;if(a!==e&&a.proto.type===u.ViewType.EMBEDDED)o+=a.proto.mergeInfo.viewCount;else{a!==e&&(t=null,i=null,n=a.containerElementInjector,r=n.getComponent()),a.context=r,a.locals.parent=i;for(var l=p.elementBinders,f=0;f=n;n++){var r=e.views[n];if(r.hydrated()){c.isPresent(r.locals)&&r.locals.clearValues(),r.context=null,r.changeDetector.dehydrate();for(var i=r.proto.elementBinders,o=0;oo?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}},s=n(6),a=n(5),c=n(12);t.APP_VIEW_POOL_CAPACITY=a.CONST_EXPR(new s.OpaqueToken("AppViewPool.viewPoolCapacity"));var u=function(){function e(e){this._pooledViewsPerProtoView=new c.Map,this._poolCapacityPerProtoView=e}return e.prototype.getView=function(e){var t=this._pooledViewsPerProtoView.get(e);return a.isPresent(t)&&t.length>0?t.pop():null},e.prototype.returnView=function(e){var t=e.proto,n=this._pooledViewsPerProtoView.get(t);a.isBlank(n)&&(n=[],this._pooledViewsPerProtoView.set(t,n));var r=n.lengtho?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(6),s=function(){function e(){}return e.prototype.onViewCreated=function(e){},e.prototype.onViewDestroyed=function(e){},e=r([o.Injectable(),i("design:paramtypes",[])],e)}();t.AppViewListener=s},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=n(12),o=n(14),s=n(5),a=n(77),c=function(){function e(){}return e.prototype.clear=function(){for(var e=this.length-1;e>=0;e--)this.remove(e)},Object.defineProperty(e.prototype,"length",{get:function(){return o.unimplemented()},enumerable:!0,configurable:!0}),e}();t.ViewContainerRef=c;var u=function(e){function t(t,n){e.call(this),this.viewManager=t,this.element=n}return r(t,e),t.prototype._getViews=function(){var e=this.element,t=a.internalView(e.parentView).viewContainers[e.boundElementIndex];return s.isPresent(t)?t.views:[]},t.prototype.get=function(e){return this._getViews()[e].ref},Object.defineProperty(t.prototype,"length",{get:function(){return this._getViews().length},enumerable:!0,configurable:!0}),t.prototype.createEmbeddedView=function(e,t){return void 0===t&&(t=-1),-1==t&&(t=this.length),this.viewManager.createEmbeddedViewInContainer(this.element,t,e)},t.prototype.createHostView=function(e,t,n){return void 0===e&&(e=null),void 0===t&&(t=-1),void 0===n&&(n=null),-1==t&&(t=this.length),this.viewManager.createHostViewInContainer(this.element,t,e,n)},t.prototype.insert=function(e,t){return void 0===t&&(t=-1),-1==t&&(t=this.length),this.viewManager.attachViewInContainer(this.element,t,e)},t.prototype.indexOf=function(e){return i.ListWrapper.indexOf(this._getViews(),a.internalView(e))},t.prototype.remove=function(e){void 0===e&&(e=-1),-1==e&&(e=this.length-1),this.viewManager.destroyViewInContainer(this.element,e)},t.prototype.detach=function(e){return void 0===e&&(e=-1),-1==e&&(e=this.length-1),this.viewManager.detachViewInContainer(this.element,e)},t}(c);t.ViewContainerRef_=u},function(e,t,n){function r(e,t){if(!(t instanceof i.Type))return!1;var n=t.prototype;switch(e){case o.LifecycleHooks.AfterContentInit:return!!n.ngAfterContentInit;case o.LifecycleHooks.AfterContentChecked:return!!n.ngAfterContentChecked;case o.LifecycleHooks.AfterViewInit:return!!n.ngAfterViewInit;case o.LifecycleHooks.AfterViewChecked:return!!n.ngAfterViewChecked;case o.LifecycleHooks.OnChanges:return!!n.ngOnChanges;case o.LifecycleHooks.DoCheck:return!!n.ngDoCheck;case o.LifecycleHooks.OnDestroy:return!!n.ngOnDestroy;case o.LifecycleHooks.OnInit:return!!n.ngOnInit;default:return!1}}var i=n(5),o=n(89);t.hasLifecycleHook=r},function(e,t){!function(e){e[e.OnInit=0]="OnInit",e[e.OnDestroy=1]="OnDestroy",e[e.DoCheck=2]="DoCheck",e[e.OnChanges=3]="OnChanges",e[e.AfterContentInit=4]="AfterContentInit",e[e.AfterContentChecked=5]="AfterContentChecked",e[e.AfterViewInit=6]="AfterViewInit",e[e.AfterViewChecked=7]="AfterViewChecked"}(t.LifecycleHooks||(t.LifecycleHooks={}));var n=t.LifecycleHooks;t.LIFECYCLE_HOOKS_VALUES=[n.OnInit,n.OnDestroy,n.DoCheck,n.OnChanges,n.AfterContentInit,n.AfterContentChecked,n.AfterViewInit,n.AfterViewChecked]},function(e,t,n){var r=n(12),i=n(5),o=n(60),s=function(){function e(){this._results=[],this._emitter=new o.EventEmitter}return Object.defineProperty(e.prototype,"changes",{get:function(){return this._emitter},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"length",{get:function(){return this._results.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"first",{get:function(){return r.ListWrapper.first(this._results)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"last",{get:function(){return r.ListWrapper.last(this._results)},enumerable:!0,configurable:!0}),e.prototype.map=function(e){return this._results.map(e)},e.prototype.filter=function(e){return this._results.filter(e); },e.prototype.reduce=function(e,t){return this._results.reduce(e,t)},e.prototype.toArray=function(){return r.ListWrapper.clone(this._results)},e.prototype[i.getSymbolIterator()]=function(){return this._results[i.getSymbolIterator()]()},e.prototype.toString=function(){return this._results.toString()},e.prototype.reset=function(e){this._results=e},e.prototype.notifyOnChanges=function(){this._emitter.emit(this)},e}();t.QueryList=s},function(e,t){t.EVENT_TARGET_SEPARATOR=":";var n=function(){function e(e,t,n){this.fieldName=e,this.eventName=t,this.isLongForm=n}return e.parse=function(n){var r=n,i=n,o=!1,s=n.indexOf(t.EVENT_TARGET_SEPARATOR);return s>-1&&(r=n.substring(0,s).trim(),i=n.substring(s+1).trim(),o=!0),new e(r,i,o)},e.prototype.getFullName=function(){return this.isLongForm?""+this.fieldName+t.EVENT_TARGET_SEPARATOR+this.eventName:this.eventName},e}();t.EventConfig=n},function(e,t,n){function r(e){return e instanceof p.DirectiveMetadata}var i=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=n(6),a=n(5),c=n(14),u=n(12),p=n(3),l=n(16),h=function(){function e(){}return e.prototype.resolve=function(e){var t=l.reflector.annotations(s.resolveForwardRef(e));if(a.isPresent(t)){var n=t.find(r);if(a.isPresent(n)){var i=l.reflector.propMetadata(e);return this._mergeWithPropertyMetadata(n,i)}}throw new c.BaseException("No Directive annotation found on "+a.stringify(e))},e.prototype._mergeWithPropertyMetadata=function(e,t){var n=[],r=[],i={},o={};return u.StringMapWrapper.forEach(t,function(e,t){e.forEach(function(e){if(e instanceof p.InputMetadata&&(a.isPresent(e.bindingPropertyName)?n.push(t+": "+e.bindingPropertyName):n.push(t)),e instanceof p.OutputMetadata&&(a.isPresent(e.bindingPropertyName)?r.push(t+": "+e.bindingPropertyName):r.push(t)),e instanceof p.HostBindingMetadata&&(a.isPresent(e.hostPropertyName)?i["["+e.hostPropertyName+"]"]=t:i["["+t+"]"]=t),e instanceof p.HostListenerMetadata){var s=a.isPresent(e.args)?e.args.join(", "):"";i["("+e.eventName+")"]=t+"("+s+")"}e instanceof p.ContentChildrenMetadata&&(o[t]=e),e instanceof p.ViewChildrenMetadata&&(o[t]=e),e instanceof p.ContentChildMetadata&&(o[t]=e),e instanceof p.ViewChildMetadata&&(o[t]=e)})}),this._merge(e,n,r,i,o)},e.prototype._merge=function(e,t,n,r,i){var o=a.isPresent(e.inputs)?u.ListWrapper.concat(e.inputs,t):t,s=a.isPresent(e.outputs)?u.ListWrapper.concat(e.outputs,n):n,c=a.isPresent(e.host)?u.StringMapWrapper.merge(e.host,r):r,l=a.isPresent(e.queries)?u.StringMapWrapper.merge(e.queries,i):i;return e instanceof p.ComponentMetadata?new p.ComponentMetadata({selector:e.selector,inputs:o,outputs:s,host:c,exportAs:e.exportAs,moduleId:e.moduleId,queries:l,changeDetection:e.changeDetection,providers:e.providers,viewProviders:e.viewProviders}):new p.DirectiveMetadata({selector:e.selector,inputs:o,outputs:s,host:c,exportAs:e.exportAs,queries:l,providers:e.providers})},e=i([s.Injectable(),o("design:paramtypes",[])],e)}();t.DirectiveResolver=h},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(6),s=n(56),a=n(23),c=n(5),u=n(14),p=n(12),l=n(16),h=function(){function e(){this._cache=new p.Map}return e.prototype.resolve=function(e){var t=this._cache.get(e);return c.isBlank(t)&&(t=this._resolve(e),this._cache.set(e,t)),t},e.prototype._resolve=function(e){var t,n;if(l.reflector.annotations(e).forEach(function(e){e instanceof s.ViewMetadata&&(n=e),e instanceof a.ComponentMetadata&&(t=e)}),!c.isPresent(t)){if(c.isBlank(n))throw new u.BaseException("No View decorator found on component '"+c.stringify(e)+"'");return n}if(c.isBlank(t.template)&&c.isBlank(t.templateUrl)&&c.isBlank(n))throw new u.BaseException("Component '"+c.stringify(e)+"' must have either 'template', 'templateUrl', or '@View' set.");if(c.isPresent(t.template)&&c.isPresent(n))this._throwMixingViewAndComponent("template",e);else if(c.isPresent(t.templateUrl)&&c.isPresent(n))this._throwMixingViewAndComponent("templateUrl",e);else if(c.isPresent(t.directives)&&c.isPresent(n))this._throwMixingViewAndComponent("directives",e);else if(c.isPresent(t.pipes)&&c.isPresent(n))this._throwMixingViewAndComponent("pipes",e);else if(c.isPresent(t.encapsulation)&&c.isPresent(n))this._throwMixingViewAndComponent("encapsulation",e);else if(c.isPresent(t.styles)&&c.isPresent(n))this._throwMixingViewAndComponent("styles",e);else{if(!c.isPresent(t.styleUrls)||!c.isPresent(n))return c.isPresent(n)?n:new s.ViewMetadata({templateUrl:t.templateUrl,template:t.template,directives:t.directives,pipes:t.pipes,encapsulation:t.encapsulation,styles:t.styles,styleUrls:t.styleUrls});this._throwMixingViewAndComponent("styleUrls",e)}return null},e.prototype._throwMixingViewAndComponent=function(e,t){throw new u.BaseException("Component '"+c.stringify(t)+"' cannot have both '"+e+"' and '@View' set at the same time\"")},e=r([o.Injectable(),i("design:paramtypes",[])],e)}();t.ViewResolver=h},function(e,t,n){function r(e){return e instanceof u.PipeMetadata}var i=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=n(6),a=n(5),c=n(14),u=n(3),p=n(16),l=function(){function e(){}return e.prototype.resolve=function(e){var t=p.reflector.annotations(s.resolveForwardRef(e));if(a.isPresent(t)){var n=t.find(r);if(a.isPresent(n))return n}throw new c.BaseException("No Pipe decorator found on "+a.stringify(e))},e=i([s.Injectable(),o("design:paramtypes",[])],e)}();t.PipeResolver=l},function(e,t,n){var r=n(6),i=n(5);t.PLATFORM_DIRECTIVES=i.CONST_EXPR(new r.OpaqueToken("Platform Directives")),t.PLATFORM_PIPES=i.CONST_EXPR(new r.OpaqueToken("Platform Pipes"))},function(e,t,n){function r(e,t,n){void 0===n&&(n=null);for(var r=0;ro?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},s=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},a=n(5),c=n(14),u=n(72),p=(n(3),n(3));t.ViewEncapsulation=p.ViewEncapsulation;var l=function(){function e(e){this.template=e}return e=o([a.CONST(),s("design:paramtypes",[h])],e)}();t.CompiledHostTemplate=l;var h=function(){function e(e,t,n,r){this.id=e,this.changeDetectorFactory=t,this.commands=n,this.styles=r}return e=o([a.CONST(),s("design:paramtypes",[String,Function,Array,Array])],e)}();t.CompiledComponentTemplate=h;var f=a.CONST_EXPR([]),d=function(){function e(e,t,n){this.value=e,this.isBound=t,this.ngContentIndex=n}return e.prototype.visit=function(e,t){return e.visitText(this,t)},e=o([a.CONST(),s("design:paramtypes",[String,Boolean,Number])],e)}();t.TextCmd=d;var y=function(){function e(e,t){this.index=e,this.ngContentIndex=t,this.isBound=!1}return e.prototype.visit=function(e,t){return e.visitNgContent(this,t)},e=o([a.CONST(),s("design:paramtypes",[Number,Number])],e)}();t.NgContentCmd=y;var v=function(e){function t(){e.apply(this,arguments)}return i(t,e),Object.defineProperty(t.prototype,"variableNameAndValues",{get:function(){return c.unimplemented()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"eventTargetAndNames",{get:function(){return c.unimplemented()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"directives",{get:function(){return c.unimplemented()},enumerable:!0,configurable:!0}),t}(u.RenderBeginElementCmd);t.IBeginElementCmd=v;var m=function(){function e(e,t,n,r,i,o,s){this.name=e,this.attrNameAndValues=t,this.eventTargetAndNames=n,this.variableNameAndValues=r,this.directives=i,this.isBound=o,this.ngContentIndex=s}return e.prototype.visit=function(e,t){return e.visitBeginElement(this,t)},e=o([a.CONST(),s("design:paramtypes",[String,Array,Array,Array,Array,Boolean,Number])],e)}();t.BeginElementCmd=m;var g=function(){function e(){}return e.prototype.visit=function(e,t){return e.visitEndElement(t)},e=o([a.CONST(),s("design:paramtypes",[])],e)}();t.EndElementCmd=g;var _=function(){function e(e,t,n,r,i,o,s,a){this.name=e,this.attrNameAndValues=t,this.eventTargetAndNames=n,this.variableNameAndValues=r,this.directives=i,this.encapsulation=o,this.ngContentIndex=s,this.templateGetter=a,this.isBound=!0}return Object.defineProperty(e.prototype,"templateId",{get:function(){return this.templateGetter().id},enumerable:!0,configurable:!0}),e.prototype.visit=function(e,t){return e.visitBeginComponent(this,t)},e=o([a.CONST(),s("design:paramtypes",[String,Array,Array,Array,Array,Number,Number,Function])],e)}();t.BeginComponentCmd=_;var b=function(){function e(){}return e.prototype.visit=function(e,t){return e.visitEndComponent(t)},e=o([a.CONST(),s("design:paramtypes",[])],e)}();t.EndComponentCmd=b;var C=function(){function e(e,t,n,r,i,o,s){this.attrNameAndValues=e,this.variableNameAndValues=t,this.directives=n,this.isMerged=r,this.ngContentIndex=i,this.changeDetectorFactory=o,this.children=s,this.isBound=!0,this.name=null,this.eventTargetAndNames=f}return e.prototype.visit=function(e,t){return e.visitEmbeddedTemplate(this,t)},e=o([a.CONST(),s("design:paramtypes",[Array,Array,Array,Boolean,Number,Function,Array])],e)}();t.EmbeddedTemplateCmd=C,t.visitAllCommands=r},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(6),s=n(5),a=function(){function e(){}return e.prototype.log=function(e){s.print(e)},e=r([o.Injectable(),i("design:paramtypes",[])],e)}();t.Console=a},function(e,t,n){var r=n(66);t.NgZone=r.NgZone,t.NgZoneError=r.NgZoneError},function(e,t,n){var r=n(72);t.Renderer=r.Renderer,t.RenderViewRef=r.RenderViewRef,t.RenderProtoViewRef=r.RenderProtoViewRef,t.RenderFragmentRef=r.RenderFragmentRef,t.RenderViewWithFragments=r.RenderViewWithFragments,t.RenderTemplateCmd=r.RenderTemplateCmd,t.RenderTextCmd=r.RenderTextCmd,t.RenderNgContentCmd=r.RenderNgContentCmd,t.RenderBeginElementCmd=r.RenderBeginElementCmd,t.RenderBeginComponentCmd=r.RenderBeginComponentCmd,t.RenderEmbeddedTemplateCmd=r.RenderEmbeddedTemplateCmd,t.RenderBeginCmd=r.RenderBeginCmd,t.RenderComponentTemplate=r.RenderComponentTemplate},function(e,t,n){var r=n(92);t.DirectiveResolver=r.DirectiveResolver;var i=n(93);t.ViewResolver=i.ViewResolver;var o=n(70);t.Compiler=o.Compiler;var s=n(81);t.AppViewManager=s.AppViewManager;var a=n(90);t.QueryList=a.QueryList;var c=n(69);t.DynamicComponentLoader=c.DynamicComponentLoader;var u=n(83);t.ElementRef=u.ElementRef;var p=n(84);t.TemplateRef=p.TemplateRef;var l=n(77);t.ViewRef=l.ViewRef,t.ProtoViewRef=l.ProtoViewRef;var h=n(87);t.ViewContainerRef=h.ViewContainerRef;var f=n(69);t.ComponentRef=f.ComponentRef},function(e,t,n){function r(e){return new l(u.internalView(e.parentView),e.boundElementIndex)}function i(e){return e.map(function(e){return e.nativeElement})}var o=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},s=n(5),a=n(14),c=n(76),u=n(77),p=function(){function e(){}return Object.defineProperty(e.prototype,"componentInstance",{get:function(){return a.unimplemented()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"nativeElement",{get:function(){return a.unimplemented()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"elementRef",{get:function(){return a.unimplemented()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"children",{get:function(){return a.unimplemented()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"componentViewChildren",{get:function(){return a.unimplemented()},enumerable:!0,configurable:!0}),e.prototype.query=function(e,t){void 0===t&&(t=h.all);var n=this.queryAll(e,t);return n.length>0?n[0]:null},e.prototype.queryAll=function(e,t){void 0===t&&(t=h.all);var n=t(this);return n.filter(e)},e}();t.DebugElement=p;var l=function(e){function t(t,n){e.call(this),this._parentView=t,this._boundElementIndex=n,this._elementInjector=this._parentView.elementInjectors[this._boundElementIndex]}return o(t,e),Object.defineProperty(t.prototype,"componentInstance",{get:function(){return s.isPresent(this._elementInjector)?this._elementInjector.getComponent():null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"nativeElement",{get:function(){return this.elementRef.nativeElement},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"elementRef",{get:function(){return this._parentView.elementRefs[this._boundElementIndex]},enumerable:!0,configurable:!0}),t.prototype.getDirectiveInstance=function(e){return this._elementInjector.getDirectiveAtIndex(e)},Object.defineProperty(t.prototype,"children",{get:function(){return this._getChildElements(this._parentView,this._boundElementIndex)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"componentViewChildren",{get:function(){var e=this._parentView.getNestedView(this._boundElementIndex);return s.isPresent(e)&&e.proto.type===c.ViewType.COMPONENT?this._getChildElements(e,null):[]},enumerable:!0,configurable:!0}),t.prototype.triggerEventHandler=function(e,t){this._parentView.triggerEventHandlers(e,t,this._boundElementIndex)},t.prototype.hasDirective=function(e){return s.isPresent(this._elementInjector)?this._elementInjector.hasDirective(e):!1},t.prototype.inject=function(e){return s.isPresent(this._elementInjector)?this._elementInjector.get(e):null},t.prototype.getLocal=function(e){return this._parentView.locals.get(e)},t.prototype._getChildElements=function(e,n){var r=this,i=[],o=null;s.isPresent(n)&&(o=e.proto.elementBinders[n-e.elementOffset]);for(var a=0;ao?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(5),s=n(60),a=n(2),c=n(107),u=function(){function e(){}return e.prototype.createSubscription=function(e,t){return s.ObservableWrapper.subscribe(e,t,function(e){throw e})},e.prototype.dispose=function(e){s.ObservableWrapper.dispose(e)},e.prototype.onDestroy=function(e){s.ObservableWrapper.dispose(e)},e}(),p=function(){function e(){}return e.prototype.createSubscription=function(e,t){return e.then(t)},e.prototype.dispose=function(e){},e.prototype.onDestroy=function(e){},e}(),l=new p,h=new u,f=function(){function e(e){this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null,this._strategy=null,this._ref=e}return e.prototype.ngOnDestroy=function(){o.isPresent(this._subscription)&&this._dispose()},e.prototype.transform=function(e,t){return o.isBlank(this._obj)?(o.isPresent(e)&&this._subscribe(e),this._latestValue):e!==this._obj?(this._dispose(),this.transform(e)):this._latestValue===this._latestReturnedValue?this._latestReturnedValue:(this._latestReturnedValue=this._latestValue,a.WrappedValue.wrap(this._latestValue))},e.prototype._subscribe=function(e){var t=this;this._obj=e,this._strategy=this._selectStrategy(e),this._subscription=this._strategy.createSubscription(e,function(n){return t._updateLatestValue(e,n)})},e.prototype._selectStrategy=function(t){if(o.isPromise(t))return l;if(s.ObservableWrapper.isObservable(t))return h;throw new c.InvalidPipeArgumentException(e,t)},e.prototype._dispose=function(){this._strategy.dispose(this._subscription),this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null},e.prototype._updateLatestValue=function(e,t){e===this._obj&&(this._latestValue=t,this._ref.markForCheck())},e=r([a.Pipe({name:"async",pure:!1}),a.Injectable(),i("design:paramtypes",[a.ChangeDetectorRef])],e)}();t.AsyncPipe=f},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=n(5),o=n(14),s=function(e){function t(t,n){e.call(this,"Invalid argument '"+n+"' for pipe '"+i.stringify(t)+"'")}return r(t,e),t}(o.BaseException);t.InvalidPipeArgumentException=s},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(5),s=n(2),a=n(107),c=function(){function e(){}return e.prototype.transform=function(t,n){if(void 0===n&&(n=null),o.isBlank(t))return t;if(!o.isString(t))throw new a.InvalidPipeArgumentException(e,t);return t.toUpperCase()},e=r([o.CONST(),s.Pipe({name:"uppercase"}),s.Injectable(),i("design:paramtypes",[])],e)}();t.UpperCasePipe=c},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(5),s=n(2),a=n(107),c=function(){function e(){}return e.prototype.transform=function(t,n){if(void 0===n&&(n=null),o.isBlank(t))return t;if(!o.isString(t))throw new a.InvalidPipeArgumentException(e,t);return t.toLowerCase()},e=r([o.CONST(),s.Pipe({name:"lowercase"}),s.Injectable(),i("design:paramtypes",[])],e)}();t.LowerCasePipe=c},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(5),s=n(2),a=function(){function e(){}return e.prototype.transform=function(e,t){return void 0===t&&(t=null),o.Json.stringify(e)},e=r([o.CONST(),s.Pipe({name:"json",pure:!1}),s.Injectable(),i("design:paramtypes",[])],e)}();t.JsonPipe=a},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(5),s=n(14),a=n(12),c=n(2),u=n(107),p=function(){function e(){}return e.prototype.transform=function(t,n){if(void 0===n&&(n=null),o.isBlank(n)||0==n.length)throw new s.BaseException("Slice pipe requires one argument");if(!this.supports(t))throw new u.InvalidPipeArgumentException(e,t);if(o.isBlank(t))return t;var r=n[0],i=n.length>1?n[1]:null;return o.isString(t)?o.StringWrapper.slice(t,r,i):a.ListWrapper.slice(t,r,i)},e.prototype.supports=function(e){return o.isString(e)||o.isArray(e)},e=r([c.Pipe({name:"slice",pure:!1}),c.Injectable(),i("design:paramtypes",[])],e)}();t.SlicePipe=p},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(5),s=n(113),a=n(2),c=n(12),u=n(107),p="en-US",l=function(){function e(){}return e.prototype.transform=function(t,n){if(o.isBlank(t))return null;if(!this.supports(t))throw new u.InvalidPipeArgumentException(e,t);var r=o.isPresent(n)&&n.length>0?n[0]:"mediumDate";return o.isNumber(t)&&(t=o.DateWrapper.fromMillis(t)),c.StringMapWrapper.contains(e._ALIASES,r)&&(r=c.StringMapWrapper.get(e._ALIASES,r)),s.DateFormatter.format(t,p,r)},e.prototype.supports=function(e){return o.isDate(e)||o.isNumber(e)},e._ALIASES={medium:"yMMMdjms","short":"yMdjm",fullDate:"yMMMMEEEEd",longDate:"yMMMMd",mediumDate:"yMMMd",shortDate:"yMd",mediumTime:"jms",shortTime:"jm"},e=r([o.CONST(),a.Pipe({name:"date",pure:!0}),a.Injectable(),i("design:paramtypes",[])],e)}();t.DatePipe=l},function(e,t){function n(e){return 2==e?"2-digit":"numeric"}function r(e){return 4>e?"short":"long"}function i(e){for(var t,i={},o=0;o=3?i.month=r(s):i.month=n(s);break;case"d":i.day=n(s);break;case"E":i.weekday=r(s);break;case"j":i.hour=n(s);break;case"h":i.hour=n(s),i.hour12=!0;break;case"H":i.hour=n(s),i.hour12=!1;break;case"m":i.minute=n(s);break;case"s":i.second=n(s);break;case"z":i.timeZoneName="long";break;case"Z":i.timeZoneName="short"}o=t}return i}!function(e){e[e.Decimal=0]="Decimal",e[e.Percent=1]="Percent",e[e.Currency=2]="Currency"}(t.NumberFormatStyle||(t.NumberFormatStyle={}));var o=t.NumberFormatStyle,s=function(){function e(){}return e.format=function(e,t,n,r){var i=void 0===r?{}:r,s=i.minimumIntegerDigits,a=void 0===s?1:s,c=i.minimumFractionDigits,u=void 0===c?0:c,p=i.maximumFractionDigits,l=void 0===p?3:p,h=i.currency,f=i.currencyAsSymbol,d=void 0===f?!1:f,y={minimumIntegerDigits:a,minimumFractionDigits:u,maximumFractionDigits:l};return y.style=o[n].toLowerCase(),n==o.Currency&&(y.currency=h,y.currencyDisplay=d?"symbol":"code"),new Intl.NumberFormat(t,y).format(e)},e}();t.NumberFormatter=s;var a=new Map,c=function(){function e(){}return e.format=function(e,t,n){var r=t+n;if(a.has(r))return a.get(r).format(e);var o=new Intl.DateTimeFormat(t,i(n));return a.set(r,o),o.format(e)},e}();t.DateFormatter=c},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=n(5),a=n(14),c=n(113),u=n(2),p=n(12),l=n(107),h="en-US",f=s.RegExpWrapper.create("^(\\d+)?\\.((\\d+)(\\-(\\d+))?)?$"),d=function(){function e(){}return e._format=function(t,n,r,i,o){if(void 0===i&&(i=null),void 0===o&&(o=!1),s.isBlank(t))return null;if(!s.isNumber(t))throw new l.InvalidPipeArgumentException(e,t);var u=1,p=0,d=3;if(s.isPresent(r)){var y=s.RegExpWrapper.firstMatch(f,r);if(s.isBlank(y))throw new a.BaseException(r+" is not a valid digit info for number pipes");s.isPresent(y[1])&&(u=s.NumberWrapper.parseIntAutoRadix(y[1])),s.isPresent(y[3])&&(p=s.NumberWrapper.parseIntAutoRadix(y[3])),s.isPresent(y[5])&&(d=s.NumberWrapper.parseIntAutoRadix(y[5]))}return c.NumberFormatter.format(t,h,n,{minimumIntegerDigits:u,minimumFractionDigits:p,maximumFractionDigits:d,currency:i,currencyAsSymbol:o})},e=i([s.CONST(),u.Injectable(),o("design:paramtypes",[])],e)}();t.NumberPipe=d;var y=function(e){function t(){e.apply(this,arguments)}return r(t,e),t.prototype.transform=function(e,t){var n=p.ListWrapper.first(t);return d._format(e,c.NumberFormatStyle.Decimal,n)},t=i([s.CONST(),u.Pipe({name:"number"}),u.Injectable(),o("design:paramtypes",[])],t)}(d);t.DecimalPipe=y;var v=function(e){function t(){e.apply(this,arguments)}return r(t,e),t.prototype.transform=function(e,t){var n=p.ListWrapper.first(t);return d._format(e,c.NumberFormatStyle.Percent,n)},t=i([s.CONST(),u.Pipe({name:"percent"}),u.Injectable(),o("design:paramtypes",[])],t)}(d);t.PercentPipe=v;var m=function(e){function t(){e.apply(this,arguments)}return r(t,e),t.prototype.transform=function(e,t){var n=s.isPresent(t)&&t.length>0?t[0]:"USD",r=s.isPresent(t)&&t.length>1?t[1]:!1,i=s.isPresent(t)&&t.length>2?t[2]:null;return d._format(e,c.NumberFormatStyle.Currency,i,n,r)},t=i([s.CONST(),u.Pipe({name:"currency"}),u.Injectable(),o("design:paramtypes",[])],t)}(d);t.CurrencyPipe=m},function(e,t,n){function r(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}var i=n(116);t.NgClass=i.NgClass;var o=n(117);t.NgFor=o.NgFor;var s=n(118);t.NgIf=s.NgIf;var a=n(119);t.NgStyle=a.NgStyle;var c=n(120);t.NgSwitch=c.NgSwitch,t.NgSwitchWhen=c.NgSwitchWhen,t.NgSwitchDefault=c.NgSwitchDefault,r(n(121));var u=n(122);t.CORE_DIRECTIVES=u.CORE_DIRECTIVES},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(5),s=n(2),a=n(12),c=function(){function e(e,t,n,r){this._iterableDiffers=e,this._keyValueDiffers=t,this._ngEl=n,this._renderer=r,this._initialClasses=[]}return Object.defineProperty(e.prototype,"initialClasses",{set:function(e){this._applyInitialClasses(!0),this._initialClasses=o.isPresent(e)&&o.isString(e)?e.split(" "):[],this._applyInitialClasses(!1),this._applyClasses(this._rawClass,!1)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rawClass",{set:function(e){this._cleanupClasses(this._rawClass),o.isString(e)&&(e=e.split(" ")),this._rawClass=e,o.isPresent(e)?a.isListLikeIterable(e)?(this._differ=this._iterableDiffers.find(e).create(null),this._mode="iterable"):(this._differ=this._keyValueDiffers.find(e).create(null),this._mode="keyValue"):this._differ=null},enumerable:!0,configurable:!0}),e.prototype.ngDoCheck=function(){if(o.isPresent(this._differ)){var e=this._differ.diff(this._rawClass);o.isPresent(e)&&("iterable"==this._mode?this._applyIterableChanges(e):this._applyKeyValueChanges(e))}},e.prototype.ngOnDestroy=function(){this._cleanupClasses(this._rawClass)},e.prototype._cleanupClasses=function(e){this._applyClasses(e,!0),this._applyInitialClasses(!1)},e.prototype._applyKeyValueChanges=function(e){var t=this;e.forEachAddedItem(function(e){t._toggleClass(e.key,e.currentValue)}),e.forEachChangedItem(function(e){t._toggleClass(e.key,e.currentValue)}),e.forEachRemovedItem(function(e){e.previousValue&&t._toggleClass(e.key,!1)})},e.prototype._applyIterableChanges=function(e){ var t=this;e.forEachAddedItem(function(e){t._toggleClass(e.item,!0)}),e.forEachRemovedItem(function(e){t._toggleClass(e.item,!1)})},e.prototype._applyInitialClasses=function(e){var t=this;this._initialClasses.forEach(function(n){return t._toggleClass(n,!e)})},e.prototype._applyClasses=function(e,t){var n=this;o.isPresent(e)&&(o.isArray(e)?e.forEach(function(e){return n._toggleClass(e,!t)}):e instanceof Set?e.forEach(function(e){return n._toggleClass(e,!t)}):a.StringMapWrapper.forEach(e,function(e,r){e&&n._toggleClass(r,!t)}))},e.prototype._toggleClass=function(e,t){if(e=e.trim(),e.length>0)if(e.indexOf(" ")>-1)for(var n=e.split(/\s+/g),r=0,i=n.length;i>r;r++)this._renderer.setElementClass(this._ngEl,n[r],t);else this._renderer.setElementClass(this._ngEl,e,t)},e=r([s.Directive({selector:"[ngClass]",inputs:["rawClass: ngClass","initialClasses: class"]}),i("design:paramtypes",[s.IterableDiffers,s.KeyValueDiffers,s.ElementRef,s.Renderer])],e)}();t.NgClass=c},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(2),s=n(5),a=function(){function e(e,t,n,r){this._viewContainer=e,this._templateRef=t,this._iterableDiffers=n,this._cdr=r}return Object.defineProperty(e.prototype,"ngForOf",{set:function(e){this._ngForOf=e,s.isBlank(this._differ)&&s.isPresent(e)&&(this._differ=this._iterableDiffers.find(e).create(this._cdr))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ngForTemplate",{set:function(e){s.isPresent(e)&&(this._templateRef=e)},enumerable:!0,configurable:!0}),e.prototype.ngDoCheck=function(){if(s.isPresent(this._differ)){var e=this._differ.diff(this._ngForOf);s.isPresent(e)&&this._applyChanges(e)}},e.prototype._applyChanges=function(e){var t=[];e.forEachRemovedItem(function(e){return t.push(new c(e,null))}),e.forEachMovedItem(function(e){return t.push(new c(e,null))});var n=this._bulkRemove(t);e.forEachAddedItem(function(e){return n.push(new c(e,null))}),this._bulkInsert(n);for(var r=0;rr;r++)this._viewContainer.get(r).setLocal("last",r===i-1)},e.prototype._perViewChange=function(e,t){e.setLocal("$implicit",t.item),e.setLocal("index",t.currentIndex),e.setLocal("even",t.currentIndex%2==0),e.setLocal("odd",t.currentIndex%2==1)},e.prototype._bulkRemove=function(e){e.sort(function(e,t){return e.record.previousIndex-t.record.previousIndex});for(var t=[],n=e.length-1;n>=0;n--){var r=e[n];s.isPresent(r.record.currentIndex)?(r.view=this._viewContainer.detach(r.record.previousIndex),t.push(r)):this._viewContainer.remove(r.record.previousIndex)}return t},e.prototype._bulkInsert=function(e){e.sort(function(e,t){return e.record.currentIndex-t.record.currentIndex});for(var t=0;to?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(2),s=n(5),a=function(){function e(e,t){this._viewContainer=e,this._templateRef=t,this._prevCondition=null}return Object.defineProperty(e.prototype,"ngIf",{set:function(e){!e||!s.isBlank(this._prevCondition)&&this._prevCondition?e||!s.isBlank(this._prevCondition)&&!this._prevCondition||(this._prevCondition=!1,this._viewContainer.clear()):(this._prevCondition=!0,this._viewContainer.createEmbeddedView(this._templateRef))},enumerable:!0,configurable:!0}),e=r([o.Directive({selector:"[ngIf]",inputs:["ngIf"]}),i("design:paramtypes",[o.ViewContainerRef,o.TemplateRef])],e)}();t.NgIf=a},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(2),s=n(5),a=function(){function e(e,t,n){this._differs=e,this._ngEl=t,this._renderer=n}return Object.defineProperty(e.prototype,"rawStyle",{set:function(e){this._rawStyle=e,s.isBlank(this._differ)&&s.isPresent(e)&&(this._differ=this._differs.find(this._rawStyle).create(null))},enumerable:!0,configurable:!0}),e.prototype.ngDoCheck=function(){if(s.isPresent(this._differ)){var e=this._differ.diff(this._rawStyle);s.isPresent(e)&&this._applyChanges(e)}},e.prototype._applyChanges=function(e){var t=this;e.forEachAddedItem(function(e){t._setStyle(e.key,e.currentValue)}),e.forEachChangedItem(function(e){t._setStyle(e.key,e.currentValue)}),e.forEachRemovedItem(function(e){t._setStyle(e.key,null)})},e.prototype._setStyle=function(e,t){this._renderer.setElementStyle(this._ngEl,e,t)},e=r([o.Directive({selector:"[ngStyle]",inputs:["rawStyle: ngStyle"]}),i("design:paramtypes",[o.KeyValueDiffers,o.ElementRef,o.Renderer])],e)}();t.NgStyle=a},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}},s=n(2),a=n(5),c=n(12),u=a.CONST_EXPR(new Object),p=function(){function e(e,t){this._viewContainerRef=e,this._templateRef=t}return e.prototype.create=function(){this._viewContainerRef.createEmbeddedView(this._templateRef)},e.prototype.destroy=function(){this._viewContainerRef.clear()},e}(),l=function(){function e(){this._useDefault=!1,this._valueViews=new c.Map,this._activeViews=[]}return Object.defineProperty(e.prototype,"ngSwitch",{set:function(e){this._emptyAllActiveViews(),this._useDefault=!1;var t=this._valueViews.get(e);a.isBlank(t)&&(this._useDefault=!0,t=a.normalizeBlank(this._valueViews.get(u))),this._activateViews(t),this._switchValue=e},enumerable:!0,configurable:!0}),e.prototype._onWhenValueChanged=function(e,t,n){this._deregisterView(e,n),this._registerView(t,n),e===this._switchValue?(n.destroy(),c.ListWrapper.remove(this._activeViews,n)):t===this._switchValue&&(this._useDefault&&(this._useDefault=!1,this._emptyAllActiveViews()),n.create(),this._activeViews.push(n)),0!==this._activeViews.length||this._useDefault||(this._useDefault=!0,this._activateViews(this._valueViews.get(u)))},e.prototype._emptyAllActiveViews=function(){for(var e=this._activeViews,t=0;to?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}},a=n(5),c=n(60),u=n(2),p=n(126),l=n(128),h=n(129),f=n(130),d=n(131),y=a.CONST_EXPR(new u.Provider(l.NgControl,{useExisting:u.forwardRef(function(){return v})})),v=function(e){function t(t,n,r,i){e.call(this),this._parent=t,this._validators=n,this._asyncValidators=r,this.update=new c.EventEmitter,this._added=!1,this.valueAccessor=f.selectValueAccessor(this,i)}return r(t,e),t.prototype.ngOnChanges=function(e){this._added||(this.formDirective.addControl(this),this._added=!0),f.isPropertyUpdated(e,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))},t.prototype.ngOnDestroy=function(){this.formDirective.removeControl(this)},t.prototype.viewToModelUpdate=function(e){this.viewModel=e,c.ObservableWrapper.callEmit(this.update,e)},Object.defineProperty(t.prototype,"path",{get:function(){return f.controlPath(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formDirective",{get:function(){return this._parent.formDirective},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"validator",{get:function(){return f.composeValidators(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"asyncValidator",{get:function(){return f.composeAsyncValidators(this._asyncValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"control",{get:function(){return this.formDirective.getControl(this)},enumerable:!0,configurable:!0}),t=i([u.Directive({selector:"[ngControl]",bindings:[y],inputs:["name: ngControl","model: ngModel"],outputs:["update: ngModelChange"],exportAs:"ngForm"}),s(0,u.Host()),s(0,u.SkipSelf()),s(1,u.Optional()),s(1,u.Self()),s(1,u.Inject(d.NG_VALIDATORS)),s(2,u.Optional()),s(2,u.Self()),s(2,u.Inject(d.NG_ASYNC_VALIDATORS)),s(3,u.Optional()),s(3,u.Self()),s(3,u.Inject(h.NG_VALUE_ACCESSOR)),o("design:paramtypes",[p.ControlContainer,Array,Array,Array])],t)}(l.NgControl);t.NgControlName=v},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=n(125),o=n(14),s=function(e){function t(){e.apply(this,arguments),this.name=null,this.valueAccessor=null}return r(t,e),Object.defineProperty(t.prototype,"validator",{get:function(){return o.unimplemented()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"asyncValidator",{get:function(){return o.unimplemented()},enumerable:!0,configurable:!0}),t}(i.AbstractControlDirective);t.NgControl=s},function(e,t,n){var r=n(2),i=n(5);t.NG_VALUE_ACCESSOR=i.CONST_EXPR(new r.OpaqueToken("NgValueAccessor"))},function(e,t,n){function r(e,t){var n=l.ListWrapper.clone(t.path);return n.push(e),n}function i(e,t){h.isBlank(e)&&s(t,"Cannot find control"),h.isBlank(t.valueAccessor)&&s(t,"No value accessor for"),e.validator=d.Validators.compose([e.validator,t.validator]),e.asyncValidator=d.Validators.composeAsync([e.asyncValidator,t.asyncValidator]),t.valueAccessor.writeValue(e.value),t.valueAccessor.registerOnChange(function(n){t.viewToModelUpdate(n),e.updateValue(n,{emitModelToViewChange:!1}),e.markAsDirty()}),e.registerOnChange(function(e){return t.valueAccessor.writeValue(e)}),t.valueAccessor.registerOnTouched(function(){return e.markAsTouched()})}function o(e,t){h.isBlank(e)&&s(t,"Cannot find control"),e.validator=d.Validators.compose([e.validator,t.validator]),e.asyncValidator=d.Validators.composeAsync([e.asyncValidator,t.asyncValidator])}function s(e,t){var n=e.path.join(" -> ");throw new f.BaseException(t+" '"+n+"'")}function a(e){return h.isPresent(e)?d.Validators.compose(e.map(_.normalizeValidator)):null}function c(e){return h.isPresent(e)?d.Validators.composeAsync(e.map(_.normalizeValidator)):null}function u(e,t){if(!l.StringMapWrapper.contains(e,"model"))return!1;var n=e.model;return n.isFirstChange()?!0:!h.looseIdentical(t,n.currentValue)}function p(e,t){if(h.isBlank(t))return null;var n,r,i;return t.forEach(function(t){t instanceof y.DefaultValueAccessor?n=t:t instanceof m.CheckboxControlValueAccessor||t instanceof v.NumberValueAccessor||t instanceof g.SelectControlValueAccessor?(h.isPresent(r)&&s(e,"More than one built-in value accessor matches"),r=t):(h.isPresent(i)&&s(e,"More than one custom value accessor matches"),i=t)}),h.isPresent(i)?i:h.isPresent(r)?r:h.isPresent(n)?n:(s(e,"No valid value accessor for"),null)}var l=n(12),h=n(5),f=n(14),d=n(131),y=n(132),v=n(133),m=n(134),g=n(135),_=n(136);t.controlPath=r,t.setUpControl=i,t.setUpControlGroup=o,t.composeValidators=a,t.composeAsyncValidators=c,t.isPropertyUpdated=u,t.selectValueAccessor=p},function(e,t,n){function r(e){return a.PromiseWrapper.isPromise(e)?e:c.ObservableWrapper.toPromise(e)}function i(e,t){return t.map(function(t){return t(e)})}function o(e){var t=e.reduce(function(e,t){return s.isPresent(t)?u.StringMapWrapper.merge(e,t):e},{});return u.StringMapWrapper.isEmpty(t)?null:t}var s=n(5),a=n(61),c=n(60),u=n(12),p=n(2);t.NG_VALIDATORS=s.CONST_EXPR(new p.OpaqueToken("NgValidators")),t.NG_ASYNC_VALIDATORS=s.CONST_EXPR(new p.OpaqueToken("NgAsyncValidators"));var l=function(){function e(){}return e.required=function(e){return s.isBlank(e.value)||""==e.value?{required:!0}:null},e.minLength=function(t){return function(n){if(s.isPresent(e.required(n)))return null;var r=n.value;return r.lengtht?{maxlength:{requiredLength:t,actualLength:r.length}}:null}},e.nullValidator=function(e){return null},e.compose=function(e){if(s.isBlank(e))return null;var t=e.filter(s.isPresent);return 0==t.length?null:function(e){return o(i(e,t))}},e.composeAsync=function(e){if(s.isBlank(e))return null;var t=e.filter(s.isPresent);return 0==t.length?null:function(e){var n=i(e,t).map(r);return a.PromiseWrapper.all(n).then(o)}},e}();t.Validators=l},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(2),s=n(129),a=n(5),c=a.CONST_EXPR(new o.Provider(s.NG_VALUE_ACCESSOR,{useExisting:o.forwardRef(function(){return u}),multi:!0})),u=function(){function e(e,t){this._renderer=e,this._elementRef=t,this.onChange=function(e){},this.onTouched=function(){}}return e.prototype.writeValue=function(e){var t=a.isBlank(e)?"":e;this._renderer.setElementProperty(this._elementRef,"value",t)},e.prototype.registerOnChange=function(e){this.onChange=e},e.prototype.registerOnTouched=function(e){this.onTouched=e},e=r([o.Directive({selector:"input:not([type=checkbox])[ngControl],textarea[ngControl],input:not([type=checkbox])[ngFormControl],textarea[ngFormControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]",host:{"(input)":"onChange($event.target.value)","(blur)":"onTouched()"},bindings:[c]}),i("design:paramtypes",[o.Renderer,o.ElementRef])],e)}();t.DefaultValueAccessor=u},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(2),s=n(129),a=n(5),c=a.CONST_EXPR(new o.Provider(s.NG_VALUE_ACCESSOR,{useExisting:o.forwardRef(function(){return u}),multi:!0})),u=function(){function e(e,t){this._renderer=e,this._elementRef=t,this.onChange=function(e){},this.onTouched=function(){}}return e.prototype.writeValue=function(e){this._renderer.setElementProperty(this._elementRef,"value",e)},e.prototype.registerOnChange=function(e){this.onChange=function(t){e(a.NumberWrapper.parseFloat(t))}},e.prototype.registerOnTouched=function(e){this.onTouched=e},e=r([o.Directive({selector:"input[type=number][ngControl],input[type=number][ngFormControl],input[type=number][ngModel]",host:{"(change)":"onChange($event.target.value)","(input)":"onChange($event.target.value)","(blur)":"onTouched()"},bindings:[c]}),i("design:paramtypes",[o.Renderer,o.ElementRef])],e)}();t.NumberValueAccessor=u},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(2),s=n(129),a=n(5),c=a.CONST_EXPR(new o.Provider(s.NG_VALUE_ACCESSOR,{useExisting:o.forwardRef(function(){return u}),multi:!0})),u=function(){function e(e,t){this._renderer=e,this._elementRef=t,this.onChange=function(e){},this.onTouched=function(){}}return e.prototype.writeValue=function(e){this._renderer.setElementProperty(this._elementRef,"checked",e)},e.prototype.registerOnChange=function(e){this.onChange=e},e.prototype.registerOnTouched=function(e){this.onTouched=e},e=r([o.Directive({selector:"input[type=checkbox][ngControl],input[type=checkbox][ngFormControl],input[type=checkbox][ngModel]",host:{"(change)":"onChange($event.target.checked)","(blur)":"onTouched()"},bindings:[c]}),i("design:paramtypes",[o.Renderer,o.ElementRef])],e)}();t.CheckboxControlValueAccessor=u},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0; },o=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}},s=n(2),a=n(60),c=n(129),u=n(5),p=u.CONST_EXPR(new s.Provider(c.NG_VALUE_ACCESSOR,{useExisting:s.forwardRef(function(){return h}),multi:!0})),l=function(){function e(){}return e=r([s.Directive({selector:"option"}),i("design:paramtypes",[])],e)}();t.NgSelectOption=l;var h=function(){function e(e,t,n){this._renderer=e,this._elementRef=t,this.onChange=function(e){},this.onTouched=function(){},this._updateValueWhenListOfOptionsChanges(n)}return e.prototype.writeValue=function(e){this.value=e,this._renderer.setElementProperty(this._elementRef,"value",e)},e.prototype.registerOnChange=function(e){this.onChange=e},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype._updateValueWhenListOfOptionsChanges=function(e){var t=this;a.ObservableWrapper.subscribe(e.changes,function(e){return t.writeValue(t.value)})},e=r([s.Directive({selector:"select[ngControl],select[ngFormControl],select[ngModel]",host:{"(change)":"onChange($event.target.value)","(input)":"onChange($event.target.value)","(blur)":"onTouched()"},bindings:[p]}),o(2,s.Query(l,{descendants:!0})),i("design:paramtypes",[s.Renderer,s.ElementRef,s.QueryList])],e)}();t.SelectControlValueAccessor=h},function(e,t){function n(e){return void 0!==e.validate?function(t){return e.validate(t)}:e}t.normalizeValidator=n},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}},a=n(5),c=n(12),u=n(60),p=n(2),l=n(128),h=n(131),f=n(129),d=n(130),y=a.CONST_EXPR(new p.Provider(l.NgControl,{useExisting:p.forwardRef(function(){return v})})),v=function(e){function t(t,n,r){e.call(this),this._validators=t,this._asyncValidators=n,this.update=new u.EventEmitter,this.valueAccessor=d.selectValueAccessor(this,r)}return r(t,e),t.prototype.ngOnChanges=function(e){this._isControlChanged(e)&&(d.setUpControl(this.form,this),this.form.updateValueAndValidity({emitEvent:!1})),d.isPropertyUpdated(e,this.viewModel)&&(this.form.updateValue(this.model),this.viewModel=this.model)},Object.defineProperty(t.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"validator",{get:function(){return d.composeValidators(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"asyncValidator",{get:function(){return d.composeAsyncValidators(this._asyncValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),t.prototype.viewToModelUpdate=function(e){this.viewModel=e,u.ObservableWrapper.callEmit(this.update,e)},t.prototype._isControlChanged=function(e){return c.StringMapWrapper.contains(e,"form")},t=i([p.Directive({selector:"[ngFormControl]",bindings:[y],inputs:["form: ngFormControl","model: ngModel"],outputs:["update: ngModelChange"],exportAs:"ngForm"}),s(0,p.Optional()),s(0,p.Self()),s(0,p.Inject(h.NG_VALIDATORS)),s(1,p.Optional()),s(1,p.Self()),s(1,p.Inject(h.NG_ASYNC_VALIDATORS)),s(2,p.Optional()),s(2,p.Self()),s(2,p.Inject(f.NG_VALUE_ACCESSOR)),o("design:paramtypes",[Array,Array,Array])],t)}(l.NgControl);t.NgFormControl=v},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}},a=n(5),c=n(60),u=n(2),p=n(129),l=n(128),h=n(124),f=n(131),d=n(130),y=a.CONST_EXPR(new u.Provider(l.NgControl,{useExisting:u.forwardRef(function(){return v})})),v=function(e){function t(t,n,r){e.call(this),this._validators=t,this._asyncValidators=n,this._control=new h.Control,this._added=!1,this.update=new c.EventEmitter,this.valueAccessor=d.selectValueAccessor(this,r)}return r(t,e),t.prototype.ngOnChanges=function(e){this._added||(d.setUpControl(this._control,this),this._control.updateValueAndValidity({emitEvent:!1}),this._added=!0),d.isPropertyUpdated(e,this.viewModel)&&(this._control.updateValue(this.model),this.viewModel=this.model)},Object.defineProperty(t.prototype,"control",{get:function(){return this._control},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"validator",{get:function(){return d.composeValidators(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"asyncValidator",{get:function(){return d.composeAsyncValidators(this._asyncValidators)},enumerable:!0,configurable:!0}),t.prototype.viewToModelUpdate=function(e){this.viewModel=e,c.ObservableWrapper.callEmit(this.update,e)},t=i([u.Directive({selector:"[ngModel]:not([ngControl]):not([ngFormControl])",bindings:[y],inputs:["model: ngModel"],outputs:["update: ngModelChange"],exportAs:"ngForm"}),s(0,u.Optional()),s(0,u.Self()),s(0,u.Inject(f.NG_VALIDATORS)),s(1,u.Optional()),s(1,u.Self()),s(1,u.Inject(f.NG_ASYNC_VALIDATORS)),s(2,u.Optional()),s(2,u.Self()),s(2,u.Inject(p.NG_VALUE_ACCESSOR)),o("design:paramtypes",[Array,Array,Array])],t)}(l.NgControl);t.NgModel=v},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}},a=n(2),c=n(5),u=n(126),p=n(130),l=n(131),h=c.CONST_EXPR(new a.Provider(u.ControlContainer,{useExisting:a.forwardRef(function(){return f})})),f=function(e){function t(t,n,r){e.call(this),this._validators=n,this._asyncValidators=r,this._parent=t}return r(t,e),t.prototype.ngOnInit=function(){this.formDirective.addControlGroup(this)},t.prototype.ngOnDestroy=function(){this.formDirective.removeControlGroup(this)},Object.defineProperty(t.prototype,"control",{get:function(){return this.formDirective.getControlGroup(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return p.controlPath(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formDirective",{get:function(){return this._parent.formDirective},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"validator",{get:function(){return p.composeValidators(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"asyncValidator",{get:function(){return p.composeAsyncValidators(this._asyncValidators)},enumerable:!0,configurable:!0}),t=i([a.Directive({selector:"[ngControlGroup]",providers:[h],inputs:["name: ngControlGroup"],exportAs:"ngForm"}),s(0,a.Host()),s(0,a.SkipSelf()),s(1,a.Optional()),s(1,a.Self()),s(1,a.Inject(l.NG_VALIDATORS)),s(2,a.Optional()),s(2,a.Self()),s(2,a.Inject(l.NG_ASYNC_VALIDATORS)),o("design:paramtypes",[u.ControlContainer,Array,Array])],t)}(u.ControlContainer);t.NgControlGroup=f},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}},a=n(5),c=n(12),u=n(60),p=n(2),l=n(126),h=n(130),f=n(131),d=a.CONST_EXPR(new p.Provider(l.ControlContainer,{useExisting:p.forwardRef(function(){return y})})),y=function(e){function t(t,n){e.call(this),this._validators=t,this._asyncValidators=n,this.form=null,this.directives=[],this.ngSubmit=new u.EventEmitter}return r(t,e),t.prototype.ngOnChanges=function(e){if(c.StringMapWrapper.contains(e,"form")){var t=h.composeValidators(this._validators);this.form.validator=f.Validators.compose([this.form.validator,t]);var n=h.composeAsyncValidators(this._asyncValidators);this.form.asyncValidator=f.Validators.composeAsync([this.form.asyncValidator,n]),this.form.updateValueAndValidity({onlySelf:!0,emitEvent:!1})}this._updateDomValue()},Object.defineProperty(t.prototype,"formDirective",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),t.prototype.addControl=function(e){var t=this.form.find(e.path);h.setUpControl(t,e),t.updateValueAndValidity({emitEvent:!1}),this.directives.push(e)},t.prototype.getControl=function(e){return this.form.find(e.path)},t.prototype.removeControl=function(e){c.ListWrapper.remove(this.directives,e)},t.prototype.addControlGroup=function(e){var t=this.form.find(e.path);h.setUpControlGroup(t,e),t.updateValueAndValidity({emitEvent:!1})},t.prototype.removeControlGroup=function(e){},t.prototype.getControlGroup=function(e){return this.form.find(e.path)},t.prototype.updateModel=function(e,t){var n=this.form.find(e.path);n.updateValue(t)},t.prototype.onSubmit=function(){return u.ObservableWrapper.callEmit(this.ngSubmit,null),!1},t.prototype._updateDomValue=function(){var e=this;this.directives.forEach(function(t){var n=e.form.find(t.path);t.valueAccessor.writeValue(n.value)})},t=i([p.Directive({selector:"[ngFormModel]",bindings:[d],inputs:["form: ngFormModel"],host:{"(submit)":"onSubmit()"},outputs:["ngSubmit"],exportAs:"ngForm"}),s(0,p.Optional()),s(0,p.Self()),s(0,p.Inject(f.NG_VALIDATORS)),s(1,p.Optional()),s(1,p.Self()),s(1,p.Inject(f.NG_ASYNC_VALIDATORS)),o("design:paramtypes",[Array,Array])],t)}(l.ControlContainer);t.NgFormModel=y},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}},a=n(60),c=n(12),u=n(5),p=n(2),l=n(126),h=n(124),f=n(130),d=n(131),y=u.CONST_EXPR(new p.Provider(l.ControlContainer,{useExisting:p.forwardRef(function(){return v})})),v=function(e){function t(t,n){e.call(this),this.ngSubmit=new a.EventEmitter,this.form=new h.ControlGroup({},null,f.composeValidators(t),f.composeAsyncValidators(n))}return r(t,e),Object.defineProperty(t.prototype,"formDirective",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"controls",{get:function(){return this.form.controls},enumerable:!0,configurable:!0}),t.prototype.addControl=function(e){var t=this;a.PromiseWrapper.scheduleMicrotask(function(){var n=t._findContainer(e.path),r=new h.Control;f.setUpControl(r,e),n.addControl(e.name,r),r.updateValueAndValidity({emitEvent:!1})})},t.prototype.getControl=function(e){return this.form.find(e.path)},t.prototype.removeControl=function(e){var t=this;a.PromiseWrapper.scheduleMicrotask(function(){var n=t._findContainer(e.path);u.isPresent(n)&&(n.removeControl(e.name),n.updateValueAndValidity({emitEvent:!1}))})},t.prototype.addControlGroup=function(e){var t=this;a.PromiseWrapper.scheduleMicrotask(function(){var n=t._findContainer(e.path),r=new h.ControlGroup({});f.setUpControlGroup(r,e),n.addControl(e.name,r),r.updateValueAndValidity({emitEvent:!1})})},t.prototype.removeControlGroup=function(e){var t=this;a.PromiseWrapper.scheduleMicrotask(function(){var n=t._findContainer(e.path);u.isPresent(n)&&(n.removeControl(e.name),n.updateValueAndValidity({emitEvent:!1}))})},t.prototype.getControlGroup=function(e){return this.form.find(e.path)},t.prototype.updateModel=function(e,t){var n=this;a.PromiseWrapper.scheduleMicrotask(function(){var r=n.form.find(e.path);r.updateValue(t)})},t.prototype.onSubmit=function(){return a.ObservableWrapper.callEmit(this.ngSubmit,null),!1},t.prototype._findContainer=function(e){return e.pop(),c.ListWrapper.isEmpty(e)?this.form:this.form.find(e)},t=i([p.Directive({selector:"form:not([ngNoForm]):not([ngFormModel]),ngForm,[ngForm]",bindings:[y],host:{"(submit)":"onSubmit()"},outputs:["ngSubmit"],exportAs:"ngForm"}),s(0,p.Optional()),s(0,p.Self()),s(0,p.Inject(d.NG_VALIDATORS)),s(1,p.Optional()),s(1,p.Self()),s(1,p.Inject(d.NG_ASYNC_VALIDATORS)),o("design:paramtypes",[Array,Array])],t)}(l.ControlContainer);t.NgForm=v},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}},s=n(2),a=n(128),c=n(5),u=function(){function e(e){this._cd=e}return Object.defineProperty(e.prototype,"ngClassUntouched",{get:function(){return c.isPresent(this._cd.control)?this._cd.control.untouched:!1},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ngClassTouched",{get:function(){return c.isPresent(this._cd.control)?this._cd.control.touched:!1},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ngClassPristine",{get:function(){return c.isPresent(this._cd.control)?this._cd.control.pristine:!1},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ngClassDirty",{get:function(){return c.isPresent(this._cd.control)?this._cd.control.dirty:!1},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ngClassValid",{get:function(){return c.isPresent(this._cd.control)?this._cd.control.valid:!1},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ngClassInvalid",{get:function(){return c.isPresent(this._cd.control)?!this._cd.control.valid:!1},enumerable:!0,configurable:!0}),e=r([s.Directive({selector:"[ngControl],[ngModel],[ngFormControl]",host:{"[class.ng-untouched]":"ngClassUntouched","[class.ng-touched]":"ngClassTouched","[class.ng-pristine]":"ngClassPristine","[class.ng-dirty]":"ngClassDirty","[class.ng-valid]":"ngClassValid","[class.ng-invalid]":"ngClassInvalid"}}),o(0,s.Self()),i("design:paramtypes",[a.NgControl])],e)}();t.NgControlStatus=u},function(e,t,n){var r=n(5),i=n(127),o=n(137),s=n(138),a=n(139),c=n(140),u=n(141),p=n(132),l=n(134),h=n(133),f=n(142),d=n(135),y=n(144),v=n(127);t.NgControlName=v.NgControlName;var m=n(137);t.NgFormControl=m.NgFormControl;var g=n(138);t.NgModel=g.NgModel;var _=n(139);t.NgControlGroup=_.NgControlGroup;var b=n(140);t.NgFormModel=b.NgFormModel;var C=n(141);t.NgForm=C.NgForm;var P=n(132);t.DefaultValueAccessor=P.DefaultValueAccessor;var w=n(134);t.CheckboxControlValueAccessor=w.CheckboxControlValueAccessor;var R=n(133);t.NumberValueAccessor=R.NumberValueAccessor;var E=n(142);t.NgControlStatus=E.NgControlStatus;var O=n(135);t.SelectControlValueAccessor=O.SelectControlValueAccessor,t.NgSelectOption=O.NgSelectOption;var S=n(144);t.RequiredValidator=S.RequiredValidator,t.MinLengthValidator=S.MinLengthValidator,t.MaxLengthValidator=S.MaxLengthValidator;var D=n(128);t.NgControl=D.NgControl,t.FORM_DIRECTIVES=r.CONST_EXPR([i.NgControlName,a.NgControlGroup,o.NgFormControl,s.NgModel,c.NgFormModel,u.NgForm,d.NgSelectOption,p.DefaultValueAccessor,h.NumberValueAccessor,l.CheckboxControlValueAccessor,d.SelectControlValueAccessor,f.NgControlStatus,y.RequiredValidator,y.MinLengthValidator,y.MaxLengthValidator])},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}},s=n(2),a=n(5),c=n(131),u=n(5),p=a.CONST_EXPR(new s.Provider(c.NG_VALIDATORS,{useValue:c.Validators.required,multi:!0})),l=function(){function e(){}return e=r([s.Directive({selector:"[required][ngControl],[required][ngFormControl],[required][ngModel]",providers:[p]}),i("design:paramtypes",[])],e)}();t.RequiredValidator=l;var h=a.CONST_EXPR(new s.Provider(c.NG_VALIDATORS,{useExisting:s.forwardRef(function(){return f}),multi:!0})),f=function(){function e(e){this._validator=c.Validators.minLength(u.NumberWrapper.parseInt(e,10))}return e.prototype.validate=function(e){return this._validator(e)},e=r([s.Directive({selector:"[minlength][ngControl],[minlength][ngFormControl],[minlength][ngModel]",providers:[h]}),o(0,s.Attribute("minlength")),i("design:paramtypes",[String])],e)}();t.MinLengthValidator=f;var d=a.CONST_EXPR(new s.Provider(c.NG_VALIDATORS,{useExisting:s.forwardRef(function(){return y}),multi:!0})),y=function(){function e(e){this._validator=c.Validators.maxLength(u.NumberWrapper.parseInt(e,10))}return e.prototype.validate=function(e){return this._validator(e)},e=r([s.Directive({selector:"[maxlength][ngControl],[maxlength][ngFormControl],[maxlength][ngModel]",providers:[d]}),o(0,s.Attribute("maxlength")),i("design:paramtypes",[String])],e)}();t.MaxLengthValidator=y},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(2),s=n(12),a=n(5),c=n(124),u=function(){function e(){}return e.prototype.group=function(e,t){void 0===t&&(t=null);var n=this._reduceControls(e),r=a.isPresent(t)?s.StringMapWrapper.get(t,"optionals"):null,i=a.isPresent(t)?s.StringMapWrapper.get(t,"validator"):null,o=a.isPresent(t)?s.StringMapWrapper.get(t,"asyncValidator"):null;return new c.ControlGroup(n,r,i,o)},e.prototype.control=function(e,t,n){return void 0===t&&(t=null),void 0===n&&(n=null),new c.Control(e,t,n)},e.prototype.array=function(e,t,n){var r=this;void 0===t&&(t=null),void 0===n&&(n=null);var i=e.map(function(e){return r._createControl(e)});return new c.ControlArray(i,t,n)},e.prototype._reduceControls=function(e){var t=this,n={};return s.StringMapWrapper.forEach(e,function(e,r){n[r]=t._createControl(e)}),n},e.prototype._createControl=function(e){if(e instanceof c.Control||e instanceof c.ControlGroup||e instanceof c.ControlArray)return e;if(a.isArray(e)){var t=e[0],n=e.length>1?e[1]:null,r=e.length>2?e[2]:null;return this.control(t,n,r)}return this.control(e)},e=r([o.Injectable(),i("design:paramtypes",[])],e)}();t.FormBuilder=u,t.FORM_PROVIDERS=a.CONST_EXPR([u]),t.FORM_BINDINGS=t.FORM_PROVIDERS},function(e,t,n){var r=n(5),i=n(123),o=n(115);t.COMMON_DIRECTIVES=r.CONST_EXPR([o.CORE_DIRECTIVES,i.FORM_DIRECTIVES])},function(e,t,n){function r(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}r(n(148)),r(n(149)),r(n(150))},function(e,t,n){function r(){return new m}function i(e){var t=s(e);return t&&t[g.Scheme]||""}function o(e,t,n,r,i,o,s){var a=[];return d.isPresent(e)&&a.push(e+":"),d.isPresent(n)&&(a.push("//"),d.isPresent(t)&&a.push(t+"@"),a.push(n),d.isPresent(r)&&a.push(":"+r)),d.isPresent(i)&&a.push(i),d.isPresent(o)&&a.push("?"+o),d.isPresent(s)&&a.push("#"+s),a.join("")}function s(e){return d.RegExpWrapper.firstMatch(_,e)}function a(e){if("/"==e)return"/";for(var t="/"==e[0]?"/":"",n="/"===e[e.length-1]?"/":"",r=e.split("/"),i=[],o=0,s=0;s0?i.pop():o++;break;default:i.push(a)}}if(""==t){for(;o-->0;)i.unshift("..");0===i.length&&i.push(".")}return t+i.join("/")+n}function c(e){var t=e[g.Path];return t=d.isBlank(t)?"":a(t),e[g.Path]=t,o(e[g.Scheme],e[g.UserInfo],e[g.Domain],e[g.Port],t,e[g.QueryData],e[g.Fragment])}function u(e,t){var n=s(encodeURI(t)),r=s(e);if(d.isPresent(n[g.Scheme]))return c(n);n[g.Scheme]=r[g.Scheme];for(var i=g.Scheme;i<=g.Port;i++)d.isBlank(n[i])&&(n[i]=r[i]);if("/"==n[g.Path][0])return c(n);var o=r[g.Path];d.isBlank(o)&&(o="/");var a=o.lastIndexOf("/");return o=o.substring(0,a+1)+n[g.Path],n[g.Path]=o,c(n)}var p=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},l=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},h=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}},f=n(6),d=n(5),y=n(67),v=n(6);t.createWithoutPackagePrefix=r,t.DEFAULT_PACKAGE_URL_PROVIDER=new v.Provider(y.PACKAGE_ROOT_URL,{useValue:"/"});var m=function(){function e(e){void 0===e&&(e=null),d.isPresent(e)&&(this._packagePrefix=d.StringWrapper.stripRight(e,"/")+"/")}return e.prototype.resolve=function(e,t){var n=t;return d.isPresent(e)&&e.length>0&&(n=u(e,n)),d.isPresent(this._packagePrefix)&&"package"==i(n)&&(n=n.replace("package:",this._packagePrefix)),n},e=p([f.Injectable(),h(0,f.Inject(y.PACKAGE_ROOT_URL)),l("design:paramtypes",[String])],e)}();t.UrlResolver=m,t.getUrlScheme=i;var g,_=d.RegExpWrapper.create("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([\\w\\d\\-\\u0100-\\uffff.%]*)(?::([0-9]+))?)?([^?#]+)?(?:\\?([^#]*))?(?:#(.*))?$");!function(e){e[e.Scheme=1]="Scheme",e[e.UserInfo=2]="UserInfo",e[e.Domain=3]="Domain",e[e.Port=4]="Port",e[e.Path=5]="Path",e[e.QueryData=6]="QueryData",e[e.Fragment=7]="Fragment"}(g||(g={}))},function(e,t){var n=function(){function e(){}return e.prototype.get=function(e){return null},e}();t.XHR=n},function(e,t,n){function r(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}function i(){return new C.ChangeDetectorGenConfig(l.assertionsEnabled(),!1,!0)}var o=n(151),s=n(152);t.TemplateCompiler=s.TemplateCompiler;var a=n(153);t.CompileDirectiveMetadata=a.CompileDirectiveMetadata,t.CompileTypeMetadata=a.CompileTypeMetadata,t.CompileTemplateMetadata=a.CompileTemplateMetadata;var c=n(156);t.SourceModule=c.SourceModule,t.SourceWithImports=c.SourceWithImports;var u=n(95);t.PLATFORM_DIRECTIVES=u.PLATFORM_DIRECTIVES,t.PLATFORM_PIPES=u.PLATFORM_PIPES,r(n(159));var p=n(167);t.TEMPLATE_TRANSFORMS=p.TEMPLATE_TRANSFORMS;var l=n(5),h=n(6),f=n(167),d=n(168),y=n(175),v=n(176),m=n(157),g=n(161),_=n(166),b=n(152),C=n(25),P=n(70),w=n(151),R=n(173),E=n(177),O=n(148),S=n(25);t.COMPILER_PROVIDERS=l.CONST_EXPR([S.Lexer,S.Parser,d.HtmlParser,f.TemplateParser,y.TemplateNormalizer,v.RuntimeMetadataResolver,O.DEFAULT_PACKAGE_URL_PROVIDER,g.StyleCompiler,_.CommandCompiler,m.ChangeDetectionCompiler,new h.Provider(C.ChangeDetectorGenConfig,{useFactory:i,deps:[]}),b.TemplateCompiler,new h.Provider(w.RuntimeCompiler,{useClass:o.RuntimeCompiler_}),new h.Provider(P.Compiler,{useExisting:w.RuntimeCompiler}),E.DomElementSchemaRegistry,new h.Provider(R.ElementSchemaRegistry,{useExisting:E.DomElementSchemaRegistry}),O.UrlResolver])},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=n(70),a=n(71),c=n(152),u=n(6),p=function(e){function t(){e.apply(this,arguments)}return r(t,e),t}(s.Compiler);t.RuntimeCompiler=p;var l=function(e){function t(t,n){e.call(this,t),this._templateCompiler=n}return r(t,e),t.prototype.compileInHost=function(e){var t=this;return this._templateCompiler.compileHostComponentRuntime(e).then(function(e){return s.internalCreateProtoView(t,e)})},t.prototype.clearCache=function(){e.prototype.clearCache.call(this),this._templateCompiler.clearCache()},t=i([u.Injectable(),o("design:paramtypes",[a.ProtoViewFactory,c.TemplateCompiler])],t)}(s.Compiler_);t.RuntimeCompiler_=l},function(e,t,n){function r(e){if(!e.isComponent)throw new f.BaseException("Could not compile '"+e.type.name+"' because it is not a component.")}function i(e){return e.name+"Template"}function o(e){return i(e)+"Getter"}function s(e){var t=e.substring(0,e.length-S.MODULE_SUFFIX.length);return t+".template"+S.MODULE_SUFFIX}function a(e,t){for(var n=0;n0;n||t.push(e)}),t}var p=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},l=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},h=n(5),f=n(14),d=n(12),y=n(60),v=n(96),m=n(153),g=n(6),_=n(156),b=n(157),C=n(161),P=n(166),w=n(167),R=n(175),E=n(176),O=n(166),S=n(155),D=function(){function e(e,t,n,r,i,o){this._runtimeMetadataResolver=e,this._templateNormalizer=t,this._templateParser=n,this._styleCompiler=r,this._commandCompiler=i,this._cdCompiler=o,this._hostCacheKeys=new Map,this._compiledTemplateCache=new Map,this._compiledTemplateDone=new Map,this._nextTemplateId=0}return e.prototype.normalizeDirectiveMetadata=function(e){return e.isComponent?this._templateNormalizer.normalizeTemplate(e.type,e.template).then(function(t){return new m.CompileDirectiveMetadata({type:e.type,isComponent:e.isComponent,dynamicLoadable:e.dynamicLoadable,selector:e.selector,exportAs:e.exportAs,changeDetection:e.changeDetection,inputs:e.inputs,outputs:e.outputs,hostListeners:e.hostListeners,hostProperties:e.hostProperties,hostAttributes:e.hostAttributes,lifecycleHooks:e.lifecycleHooks,template:t})}):y.PromiseWrapper.resolve(e)},e.prototype.compileHostComponentRuntime=function(e){var t=this._hostCacheKeys.get(e);if(h.isBlank(t)){t=new Object,this._hostCacheKeys.set(e,t);var n=this._runtimeMetadataResolver.getMetadata(e);r(n);var i=m.createHostComponentMeta(n.type,n.selector);this._compileComponentRuntime(t,i,[n],new Set)}return this._compiledTemplateDone.get(t).then(function(e){return new v.CompiledHostTemplate(e)})},e.prototype.clearCache=function(){this._hostCacheKeys.clear(),this._styleCompiler.clearCache(),this._compiledTemplateCache.clear(),this._compiledTemplateDone.clear()},e.prototype._compileComponentRuntime=function(e,t,n,r){var i=this,o=u(n),s=this._compiledTemplateCache.get(e),a=this._compiledTemplateDone.get(e);if(h.isBlank(s)){var c,p=[],l=[],f=h.stringify(t.type.runtime)+"Template"+this._nextTemplateId++;s=new v.CompiledComponentTemplate(f,function(e){return c(e)},l,p),this._compiledTemplateCache.set(e,s),r.add(e),a=y.PromiseWrapper.all([this._styleCompiler.compileComponentRuntime(t.template)].concat(o.map(function(e){return i.normalizeDirectiveMetadata(e)}))).then(function(e){var n=[],o=e.slice(1),s=i._templateParser.parse(t.template.template,o,t.type.name),a=i._cdCompiler.compileComponentRuntime(t.type,t.changeDetection,s);c=a[0];var u=e[0];u.forEach(function(e){return p.push(e)});var h=i._compileCommandsRuntime(t,s,a,r,n);return h.forEach(function(e){return l.push(e)}),y.PromiseWrapper.all(n)}).then(function(t){return d.SetWrapper["delete"](r,e),s}),this._compiledTemplateDone.set(e,a)}return s},e.prototype._compileCommandsRuntime=function(e,t,n,r,i){var o=this,s=this._commandCompiler.compileComponentRuntime(e,t,n,function(e){var t=e.type.runtime,n=o._runtimeMetadataResolver.getViewDirectivesMetadata(e.type.runtime),s=d.SetWrapper.has(r,t),a=o._compileComponentRuntime(t,e,n,r);return s||i.push(o._compiledTemplateDone.get(t)),function(){return a}});return s.forEach(function(e){e instanceof v.BeginComponentCmd&&e.templateGetter()}),s},e.prototype.compileTemplatesCodeGen=function(e){var t=this;if(0===e.length)throw new f.BaseException("No components given");var n=[],a=[],c=[];e.forEach(function(e){var i=e.component;if(r(i),c.push(i),t._processTemplateCodeGen(i,e.directives,n,a),i.dynamicLoadable){var o=m.createHostComponentMeta(i.type,i.selector);c.push(o),t._processTemplateCodeGen(o,[i],n,a)}}),d.ListWrapper.forEachWithIndex(c,function(e,t){var r,s=e.type.moduleUrl+"|"+e.type.name,c=h.IS_DART?"const":"new",u=c+" "+O.TEMPLATE_COMMANDS_MODULE_REF+"CompiledComponentTemplate('"+s+"',"+a[t].join(",")+")"; r=e.type.isHost?c+" "+O.TEMPLATE_COMMANDS_MODULE_REF+"CompiledHostTemplate("+u+")":u;var p=i(e.type);n.push(""+S.codeGenExportVariable(p)+r+";"),n.push(S.codeGenValueFn([],p,o(e.type))+";")});var u=e[0].component.type.moduleUrl;return new _.SourceModule(""+s(u),n.join("\n"))},e.prototype.compileStylesheetCodeGen=function(e,t){return this._styleCompiler.compileStylesheetCodeGen(e,t)},e.prototype._processTemplateCodeGen=function(e,t,n,r){var i=u(t),o=this._styleCompiler.compileComponentCodeGen(e.template),s=this._templateParser.parse(e.template.template,i,e.type.name),p=this._cdCompiler.compileComponentCodeGen(e.type,e.changeDetection,s),l=this._commandCompiler.compileComponentCodeGen(e,s,p.expressions,c);a(o.declarations,n),a(p.declarations,n),a(l.declarations,n),r.push([p.expressions[0],l.expression,o.expression])},e=p([g.Injectable(),l("design:paramtypes",[E.RuntimeMetadataResolver,R.TemplateNormalizer,w.TemplateParser,C.StyleCompiler,P.CommandCompiler,b.ChangeDetectionCompiler])],e)}();t.TemplateCompiler=D;var T=function(){function e(e,t){this.component=e,this.directives=t}return e}();t.NormalizedComponentWithViewDirectives=T},function(e,t,n){function r(e,t){var n=c.CssSelector.parse(t)[0].getMatchingElementTemplate();return d.create({type:new h({runtime:Object,name:"Host"+e.name,moduleUrl:e.moduleUrl,isHost:!0}),template:new f({template:n,templateUrl:"",styles:[],styleUrls:[],ngContentSelectors:[]}),changeDetection:s.ChangeDetectionStrategy.Default,inputs:[],outputs:[],host:{},lifecycleHooks:[],isComponent:!0,dynamicLoadable:!1,selector:"*"})}var i=n(5),o=n(12),s=n(25),a=n(56),c=n(154),u=n(155),p=n(89),l=/^(?:(?:\[([^\]]+)\])|(?:\(([^\)]+)\)))$/g,h=function(){function e(e){var t=void 0===e?{}:e,n=t.runtime,r=t.name,o=t.moduleUrl,s=t.isHost;this.runtime=n,this.name=r,this.moduleUrl=o,this.isHost=i.normalizeBool(s)}return e.fromJson=function(t){return new e({name:t.name,moduleUrl:t.moduleUrl,isHost:t.isHost})},e.prototype.toJson=function(){return{name:this.name,moduleUrl:this.moduleUrl,isHost:this.isHost}},e}();t.CompileTypeMetadata=h;var f=function(){function e(e){var t=void 0===e?{}:e,n=t.encapsulation,r=t.template,o=t.templateUrl,s=t.styles,c=t.styleUrls,u=t.ngContentSelectors;this.encapsulation=i.isPresent(n)?n:a.ViewEncapsulation.Emulated,this.template=r,this.templateUrl=o,this.styles=i.isPresent(s)?s:[],this.styleUrls=i.isPresent(c)?c:[],this.ngContentSelectors=i.isPresent(u)?u:[]}return e.fromJson=function(t){return new e({encapsulation:i.isPresent(t.encapsulation)?a.VIEW_ENCAPSULATION_VALUES[t.encapsulation]:t.encapsulation,template:t.template,templateUrl:t.templateUrl,styles:t.styles,styleUrls:t.styleUrls,ngContentSelectors:t.ngContentSelectors})},e.prototype.toJson=function(){return{encapsulation:i.isPresent(this.encapsulation)?i.serializeEnum(this.encapsulation):this.encapsulation,template:this.template,templateUrl:this.templateUrl,styles:this.styles,styleUrls:this.styleUrls,ngContentSelectors:this.ngContentSelectors}},e}();t.CompileTemplateMetadata=f;var d=function(){function e(e){var t=void 0===e?{}:e,n=t.type,r=t.isComponent,i=t.dynamicLoadable,o=t.selector,s=t.exportAs,a=t.changeDetection,c=t.inputs,u=t.outputs,p=t.hostListeners,l=t.hostProperties,h=t.hostAttributes,f=t.lifecycleHooks,d=t.template;this.type=n,this.isComponent=r,this.dynamicLoadable=i,this.selector=o,this.exportAs=s,this.changeDetection=a,this.inputs=c,this.outputs=u,this.hostListeners=p,this.hostProperties=l,this.hostAttributes=h,this.lifecycleHooks=f,this.template=d}return e.create=function(t){var n=void 0===t?{}:t,r=n.type,s=n.isComponent,a=n.dynamicLoadable,c=n.selector,p=n.exportAs,h=n.changeDetection,f=n.inputs,d=n.outputs,y=n.host,v=n.lifecycleHooks,m=n.template,g={},_={},b={};i.isPresent(y)&&o.StringMapWrapper.forEach(y,function(e,t){var n=i.RegExpWrapper.firstMatch(l,t);i.isBlank(n)?b[t]=e:i.isPresent(n[1])?_[n[1]]=e:i.isPresent(n[2])&&(g[n[2]]=e)});var C={};i.isPresent(f)&&f.forEach(function(e){var t=u.splitAtColon(e,[e,e]);C[t[0]]=t[1]});var P={};return i.isPresent(d)&&d.forEach(function(e){var t=u.splitAtColon(e,[e,e]);P[t[0]]=t[1]}),new e({type:r,isComponent:i.normalizeBool(s),dynamicLoadable:i.normalizeBool(a),selector:c,exportAs:p,changeDetection:h,inputs:C,outputs:P,hostListeners:g,hostProperties:_,hostAttributes:b,lifecycleHooks:i.isPresent(v)?v:[],template:m})},e.fromJson=function(t){return new e({isComponent:t.isComponent,dynamicLoadable:t.dynamicLoadable,selector:t.selector,exportAs:t.exportAs,type:i.isPresent(t.type)?h.fromJson(t.type):t.type,changeDetection:i.isPresent(t.changeDetection)?s.CHANGE_DETECTION_STRATEGY_VALUES[t.changeDetection]:t.changeDetection,inputs:t.inputs,outputs:t.outputs,hostListeners:t.hostListeners,hostProperties:t.hostProperties,hostAttributes:t.hostAttributes,lifecycleHooks:t.lifecycleHooks.map(function(e){return p.LIFECYCLE_HOOKS_VALUES[e]}),template:i.isPresent(t.template)?f.fromJson(t.template):t.template})},e.prototype.toJson=function(){return{isComponent:this.isComponent,dynamicLoadable:this.dynamicLoadable,selector:this.selector,exportAs:this.exportAs,type:i.isPresent(this.type)?this.type.toJson():this.type,changeDetection:i.isPresent(this.changeDetection)?i.serializeEnum(this.changeDetection):this.changeDetection,inputs:this.inputs,outputs:this.outputs,hostListeners:this.hostListeners,hostProperties:this.hostProperties,hostAttributes:this.hostAttributes,lifecycleHooks:this.lifecycleHooks.map(function(e){return i.serializeEnum(e)}),template:i.isPresent(this.template)?this.template.toJson():this.template}},e}();t.CompileDirectiveMetadata=d,t.createHostComponentMeta=r},function(e,t,n){var r=n(12),i=n(5),o=n(14),s="",a=i.RegExpWrapper.create("(\\:not\\()|([-\\w]+)|(?:\\.([-\\w]+))|(?:\\[([-\\w*]+)(?:=([^\\]]*))?\\])|(\\))|(\\s*,\\s*)"),c=function(){function e(){this.element=null,this.classNames=[],this.attrs=[],this.notSelectors=[]}return e.parse=function(t){for(var n,s=[],c=function(e,t){t.notSelectors.length>0&&i.isBlank(t.element)&&r.ListWrapper.isEmpty(t.classNames)&&r.ListWrapper.isEmpty(t.attrs)&&(t.element="*"),e.push(t)},u=new e,p=i.RegExpWrapper.matcher(a,t),l=u,h=!1;i.isPresent(n=i.RegExpMatcherWrapper.next(p));){if(i.isPresent(n[1])){if(h)throw new o.BaseException("Nesting :not is not allowed in a selector");h=!0,l=new e,u.notSelectors.push(l)}if(i.isPresent(n[2])&&l.setElement(n[2]),i.isPresent(n[3])&&l.addClassName(n[3]),i.isPresent(n[4])&&l.addAttribute(n[4],n[5]),i.isPresent(n[6])&&(h=!1,l=u),i.isPresent(n[7])){if(h)throw new o.BaseException("Multiple selectors in :not are not supported");c(s,u),u=l=new e}}return c(s,u),s},e.prototype.isElementSelector=function(){return i.isPresent(this.element)&&r.ListWrapper.isEmpty(this.classNames)&&r.ListWrapper.isEmpty(this.attrs)&&0===this.notSelectors.length},e.prototype.setElement=function(e){void 0===e&&(e=null),this.element=e},e.prototype.getMatchingElementTemplate=function(){for(var e=i.isPresent(this.element)?this.element:"div",t=this.classNames.length>0?' class="'+this.classNames.join(" ")+'"':"",n="",r=0;r"},e.prototype.addAttribute=function(e,t){void 0===t&&(t=s),this.attrs.push(e),t=i.isPresent(t)?t.toLowerCase():s,this.attrs.push(t)},e.prototype.addClassName=function(e){this.classNames.push(e.toLowerCase())},e.prototype.toString=function(){var e="";if(i.isPresent(this.element)&&(e+=this.element),i.isPresent(this.classNames))for(var t=0;t0&&(e+="="+r),e+="]"}return this.notSelectors.forEach(function(t){return e+=":not("+t+")"}),e},e}();t.CssSelector=c;var u=function(){function e(){this._elementMap=new r.Map,this._elementPartialMap=new r.Map,this._classMap=new r.Map,this._classPartialMap=new r.Map,this._attrValueMap=new r.Map,this._attrValuePartialMap=new r.Map,this._listContexts=[]}return e.createNotMatcher=function(t){var n=new e;return n.addSelectables(t,null),n},e.prototype.addSelectables=function(e,t){var n=null;e.length>1&&(n=new p(e),this._listContexts.push(n));for(var r=0;r0&&(i.isBlank(this.listContext)||!this.listContext.alreadyMatched)){var r=u.createNotMatcher(this.notSelectors);n=!r.match(e,null)}return n&&i.isPresent(t)&&(i.isBlank(this.listContext)||!this.listContext.alreadyMatched)&&(i.isPresent(this.listContext)&&(this.listContext.alreadyMatched=!0),t(this.selector,this.cbContext)),n},e}();t.SelectorContext=l},function(e,t,n){function r(e){return f.StringWrapper.replaceAllMapped(e,d,function(e){return"-"+e[1].toLowerCase()})}function i(e){return f.StringWrapper.replaceAllMapped(e,y,function(e){return e[1].toUpperCase()})}function o(e){return f.isBlank(e)?null:"'"+a(e,v)+"'"}function s(e){return f.isBlank(e)?null:'"'+a(e,m)+'"'}function a(e,t){return f.StringWrapper.replaceAllMapped(e,t,function(e){return"$"==e[0]?f.IS_DART?"\\$":"$":"\n"==e[0]?"\\n":"\r"==e[0]?"\\r":"\\"+e[0]})}function c(e){return f.IS_DART?"const "+e+" = ":"var "+e+" = exports['"+e+"'] = "}function u(e){return f.IS_DART?"const "+e:"new "+e}function p(e,t,n){return void 0===n&&(n=""),f.IS_DART?n+"("+e.join(",")+") => "+t:"function "+n+"("+e.join(",")+") { return "+t+"; }"}function l(e){return f.IS_DART?"'${"+e+"}'":e}function h(e,t){var n=f.StringWrapper.split(e.trim(),/\s*:\s*/g);return n.length>1?n:t}var f=n(5),d=/([A-Z])/g,y=/-([a-z])/g,v=/'|\\|\n|\r|\$/g,m=/"|\\|\n|\r|\$/g;t.MODULE_SUFFIX=f.IS_DART?".dart":".js",t.camelCaseToDashCase=r,t.dashCaseToCamelCase=i,t.escapeSingleQuoteString=o,t.escapeDoubleQuoteString=s,t.codeGenExportVariable=c,t.codeGenConstConstructorCall=u,t.codeGenValueFn=p,t.codeGenToString=l,t.splitAtColon=h},function(e,t,n){function r(e){return"#MODULE["+e+"]"}var i=n(5),o=/#MODULE\[([^\]]*)\]/g;t.moduleRef=r;var s=function(){function e(e,t){this.moduleUrl=e,this.sourceWithModuleRefs=t}return e.prototype.getSourceWithImports=function(){var e=this,t={},n=[],r=i.StringWrapper.replaceAllMapped(this.sourceWithModuleRefs,o,function(r){var o=r[1],s=t[o];return i.isBlank(s)&&(o==e.moduleUrl?s="":(s="import"+n.length,n.push([o,s])),t[o]=s),s.length>0?s+".":""});return new u(r,n)},e}();t.SourceModule=s;var a=function(){function e(e,t){this.declarations=e,this.expression=t}return e}();t.SourceExpression=a;var c=function(){function e(e,t){this.declarations=e,this.expressions=t}return e}();t.SourceExpressions=c;var u=function(){function e(e,t){this.source=e,this.imports=t}return e}();t.SourceWithImports=u},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(156),s=n(52),a=n(158),c=n(5),u=n(25),p=n(160),l=n(155),h=n(6),f="AbstractChangeDetector",d="ChangeDetectionUtil",y="ChangeDetectorState",v=o.moduleRef("package:angular2/src/core/change_detection/abstract_change_detector"+l.MODULE_SUFFIX),m=o.moduleRef("package:angular2/src/core/change_detection/change_detection_util"+l.MODULE_SUFFIX),g=o.moduleRef("package:angular2/src/core/change_detection/pregen_proto_change_detector"+l.MODULE_SUFFIX),_=o.moduleRef("package:angular2/src/core/change_detection/constants"+l.MODULE_SUFFIX),b=function(){function e(e){this._genConfig=e}return e.prototype.compileComponentRuntime=function(e,t,n){var r=this,i=a.createChangeDetectorDefinitions(e,t,this._genConfig,n);return i.map(function(e){return r._createChangeDetectorFactory(e)})},e.prototype._createChangeDetectorFactory=function(e){if(c.IS_DART||!this._genConfig.useJit){var t=new u.DynamicProtoChangeDetector(e);return function(e){return t.instantiate(e)}}return new s.ChangeDetectorJITGenerator(e,d,f,y).generate()},e.prototype.compileComponentCodeGen=function(e,t,n){var r=a.createChangeDetectorDefinitions(e,t,this._genConfig,n),i=[],u=0,l=r.map(function(t){var n,r;if(c.IS_DART){n=new p.Codegen(g);var a="_"+t.id,l=0===u&&e.isHost?"dynamic":""+o.moduleRef(e.moduleUrl)+e.name;n.generate(l,a,t),i.push(a+".newChangeDetector"),r=n.toString()}else n=new s.ChangeDetectorJITGenerator(t,""+m+d,""+v+f,""+_+y),i.push("function(dispatcher) { return new "+n.typeName+"(dispatcher); }"),r=n.generateSource();return u++,r});return new o.SourceExpressions(l,i)},e=r([h.Injectable(),i("design:paramtypes",[u.ChangeDetectorGenConfig])],e)}();t.ChangeDetectionCompiler=b},function(e,t,n){function r(e,t,n,r){var o=[],s=new h(null,o,t);return p.templateVisitAll(s,r),i(o,e,n)}function i(e,t,n){var r=o(e);return e.map(function(e){var i=t.name+"_"+e.viewIndex;return new u.ChangeDetectorDefinition(i,e.strategy,r[e.viewIndex],e.bindingRecords,e.eventRecords,e.directiveRecords,n)})}function o(e){var t=s.ListWrapper.createFixedSize(e.length);return e.forEach(function(e){var n=a.isPresent(e.parent)?t[e.parent.viewIndex]:[];t[e.viewIndex]=n.concat(e.variableNames)}),t}var s=n(12),a=n(5),c=n(16),u=n(25),p=n(159),l=n(89);t.createChangeDetectorDefinitions=r;var h=function(){function e(e,t,n){this.parent=e,this.allVisitors=t,this.strategy=n,this.boundTextCount=0,this.boundElementCount=0,this.variableNames=[],this.bindingRecords=[],this.eventRecords=[],this.directiveRecords=[],this.viewIndex=t.length,t.push(this)}return e.prototype.visitEmbeddedTemplate=function(t,n){this.boundElementCount++,p.templateVisitAll(this,t.outputs);for(var r=0;r0||this.outputs.length>0||this.exportAsVars.length>0||this.directives.length>0},e.prototype.getComponent=function(){return this.directives.length>0&&this.directives[0].directive.isComponent?this.directives[0].directive:null},e}();t.ElementAst=l;var h=function(){function e(e,t,n,r,i,o,s){this.attrs=e,this.outputs=t,this.vars=n,this.directives=r,this.children=i,this.ngContentIndex=o,this.sourceSpan=s}return e.prototype.visit=function(e,t){return e.visitEmbeddedTemplate(this,t)},e}();t.EmbeddedTemplateAst=h;var f=function(){function e(e,t,n,r){this.directiveName=e,this.templateName=t,this.value=n,this.sourceSpan=r}return e.prototype.visit=function(e,t){return e.visitDirectiveProperty(this,t)},e}();t.BoundDirectivePropertyAst=f;var d=function(){function e(e,t,n,r,i,o){this.directive=e,this.inputs=t,this.hostProperties=n,this.hostEvents=r,this.exportAsVars=i,this.sourceSpan=o}return e.prototype.visit=function(e,t){return e.visitDirective(this,t)},e}();t.DirectiveAst=d;var y=function(){function e(e,t,n){this.index=e,this.ngContentIndex=t,this.sourceSpan=n}return e.prototype.visit=function(e,t){return e.visitNgContent(this,t)},e}();t.NgContentAst=y,function(e){e[e.Property=0]="Property",e[e.Attribute=1]="Attribute",e[e.Class=2]="Class",e[e.Style=3]="Style"}(t.PropertyBindingType||(t.PropertyBindingType={}));t.PropertyBindingType;t.templateVisitAll=r},function(e,t){var n=function(){function e(e){}return e.prototype.generate=function(e,t,n){throw"Not implemented in JS"},e.prototype.toString=function(){throw"Not implemented in JS"},e}();t.Codegen=n},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(156),s=n(56),a=n(149),c=n(5),u=n(60),p=n(162),l=n(148),h=n(163),f=n(155),d=n(6),y=n(164),v=function(){function e(e,t){this._xhr=e,this._urlResolver=t,this._styleCache=new Map,this._shadowCss=new p.ShadowCss}return e.prototype.compileComponentRuntime=function(e){var t=e.styles,n=e.styleUrls;return this._loadStyles(t,n,e.encapsulation===s.ViewEncapsulation.Emulated)},e.prototype.compileComponentCodeGen=function(e){var t=e.encapsulation===s.ViewEncapsulation.Emulated;return this._styleCodeGen(e.styles,e.styleUrls,t)},e.prototype.compileStylesheetCodeGen=function(e,t){var n=h.extractStyleUrls(this._urlResolver,e,t);return[this._styleModule(e,!1,this._styleCodeGen([n.style],n.styleUrls,!1)),this._styleModule(e,!0,this._styleCodeGen([n.style],n.styleUrls,!0))]},e.prototype.clearCache=function(){this._styleCache.clear()},e.prototype._loadStyles=function(e,t,n){var r=this,i=t.map(function(e){var t=""+e+(n?".shim":""),i=r._styleCache.get(t);return c.isBlank(i)&&(i=r._xhr.get(e).then(function(t){var i=h.extractStyleUrls(r._urlResolver,e,t);return r._loadStyles([i.style],i.styleUrls,n)}),r._styleCache.set(t,i)),i});return u.PromiseWrapper.all(i).then(function(t){var i=e.map(function(e){return r._shimIfNeeded(e,n)});return t.forEach(function(e){return i.push(e)}),i})},e.prototype._styleCodeGen=function(e,t,n){for(var r=this,i=c.IS_DART?"const":"",s=e.map(function(e){return f.escapeSingleQuoteString(r._shimIfNeeded(e,n))}),a=0;a0?o.push(c):(o.length>0&&(r.push(o.join("")),n.push(D),o=[]),n.push(c)),c==O&&i++}return o.length>0&&(r.push(o.join("")),n.push(D)),new A(n.join(""),r)}var s=n(12),a=n(5),c=function(){function e(){this.strictStyling=!0}return e.prototype.shimCssText=function(e,t,n){return void 0===n&&(n=""),e=r(e),e=this._insertDirectives(e),this._scopeCssText(e,t,n)},e.prototype._insertDirectives=function(e){return e=this._insertPolyfillDirectivesInCssText(e),this._insertPolyfillRulesInCssText(e)},e.prototype._insertPolyfillDirectivesInCssText=function(e){return a.StringWrapper.replaceAllMapped(e,u,function(e){return e[1]+"{"})},e.prototype._insertPolyfillRulesInCssText=function(e){return a.StringWrapper.replaceAllMapped(e,p,function(e){var t=e[0];return t=a.StringWrapper.replace(t,e[1],""),t=a.StringWrapper.replace(t,e[2],""),e[3]+t})},e.prototype._scopeCssText=function(e,t,n){var r=this._extractUnscopedRulesFromCssText(e);return e=this._insertPolyfillHostInCssText(e),e=this._convertColonHost(e),e=this._convertColonHostContext(e),e=this._convertShadowDOMSelectors(e),a.isPresent(t)&&(e=this._scopeSelectors(e,t,n)),e=e+"\n"+r,e.trim()},e.prototype._extractUnscopedRulesFromCssText=function(e){for(var t,n="",r=a.RegExpWrapper.matcher(l,e);a.isPresent(t=a.RegExpMatcherWrapper.next(r));){var i=t[0];i=a.StringWrapper.replace(i,t[2],""),i=a.StringWrapper.replace(i,t[1],t[3]),n+=i+"\n\n"}return n},e.prototype._convertColonHost=function(e){return this._convertColonRule(e,y,this._colonHostPartReplacer)},e.prototype._convertColonHostContext=function(e){return this._convertColonRule(e,v,this._colonHostContextPartReplacer)},e.prototype._convertColonRule=function(e,t,n){return a.StringWrapper.replaceAllMapped(e,t,function(e){if(a.isPresent(e[2])){for(var t=e[2].split(","),r=[],i=0;i","+","~"],i=e,o="["+t+"]",c=0;c0&&!s.ListWrapper.contains(r,t)&&!a.StringWrapper.contains(t,o)){var n=/([^:]*)(:*)(.*)/g,i=a.RegExpWrapper.firstMatch(n,t);a.isPresent(i)&&(e=i[1]+o+i[2]+i[3])}return e}).join(u)}return i},e.prototype._insertPolyfillHostInCssText=function(e){return e=a.StringWrapper.replaceAll(e,P,f),e=a.StringWrapper.replaceAll(e,C,h)},e}();t.ShadowCss=c;var u=/polyfill-next-selector[^}]*content:[\s]*?['"](.*?)['"][;\s]*}([^{]*?){/gim,p=/(polyfill-rule)[^}]*(content:[\s]*['"](.*?)['"])[;\s]*[^}]*}/gim,l=/(polyfill-unscoped-rule)[^}]*(content:[\s]*['"](.*?)['"])[;\s]*[^}]*}/gim,h="-shadowcsshost",f="-shadowcsscontext",d=")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)",y=a.RegExpWrapper.create("("+h+d,"im"),v=a.RegExpWrapper.create("("+f+d,"im"),m=h+"-no-combinator",g=[/>>>/g,/::shadow/g,/::content/g,/\/deep\//g,/\/shadow-deep\//g,/\/shadow\//g],_="([>\\s~+[.,{:][\\s\\S]*)?$",b=a.RegExpWrapper.create(h,"im"),C=/:host/gim,P=/:host-context/gim,w=/\/\*[\s\S]*?\*\//g,R=/(\s*)([^;\{\}]+?)(\s*)((?:{%BLOCK%}?\s*;?)|(?:\s*;))/g,E=/([{}])/g,O="{",S="}",D="%BLOCK%",T=function(){function e(e,t){this.selector=e,this.content=t}return e}();t.CssRule=T,t.processRules=i;var A=function(){function e(e,t){this.escapedString=e,this.blocks=t}return e}()},function(e,t,n){function r(e){if(o.isBlank(e)||0===e.length||"/"==e[0])return!1;var t=o.RegExpWrapper.firstMatch(c,e);return o.isBlank(t)||"package"==t[1]||"asset"==t[1]}function i(e,t,n){var i=[],c=o.StringWrapper.replaceAllMapped(n,a,function(n){var s=o.isPresent(n[1])?n[1]:n[2];return r(s)?(i.push(e.resolve(t,s)),""):n[0]});return new s(c,i)}var o=n(5),s=function(){function e(e,t){this.style=e,this.styleUrls=t}return e}();t.StyleWithImports=s,t.isStyleUrlResolvable=r,t.extractStyleUrls=i;var a=/@import\s+(?:url\()?\s*(?:(?:['"]([^'"]*))|([^;\)\s]*))[^;]*;?/g,c=/^([a-zA-Z\-\+\.]+):/g},function(e,t,n){function r(e){var t=e.styles;if(e.encapsulation===l.ViewEncapsulation.Emulated){t=h.ListWrapper.createFixedSize(e.styles.length);for(var n=0;ni.length){var f,d=h.ListWrapper.createFixedSize(p);for(f=0;fo?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},f=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},d=n(5),y=n(12),v=n(96),m=n(159),g=n(156),_=n(155),b=n(6);t.TEMPLATE_COMMANDS_MODULE_REF=g.moduleRef("package:angular2/src/core/linker/template_commands"+_.MODULE_SUFFIX);var C="$implicit",P="class",w="style",R=function(){function e(){}return e.prototype.compileComponentRuntime=function(e,t,n,r){var i=new S(new E(e,r,n),0);return m.templateVisitAll(i,t),i.result},e.prototype.compileComponentCodeGen=function(e,t,n,r){var i=new S(new O(e,r,n),0);return m.templateVisitAll(i,t),new g.SourceExpression([],u(i.result))},e=h([b.Injectable(),f("design:paramtypes",[])],e)}();t.CommandCompiler=R;var E=function(){function e(e,t,n){this.component=e,this.componentTemplateFactory=t,this.changeDetectorFactories=n}return e.prototype._mapDirectives=function(e){return e.map(function(e){return e.type.runtime})},e.prototype.createText=function(e,t,n){return new v.TextCmd(e,t,n)},e.prototype.createNgContent=function(e,t){return new v.NgContentCmd(e,t)},e.prototype.createBeginElement=function(e,t,n,r,i,o,s){return new v.BeginElementCmd(e,t,n,r,this._mapDirectives(i),o,s)},e.prototype.createEndElement=function(){return new v.EndElementCmd},e.prototype.createBeginComponent=function(e,t,n,r,i,o,s){var a=this.componentTemplateFactory(i[0]);return new v.BeginComponentCmd(e,t,n,r,this._mapDirectives(i),o,s,a)},e.prototype.createEndComponent=function(){return new v.EndComponentCmd},e.prototype.createEmbeddedTemplate=function(e,t,n,r,i,o,s){return new v.EmbeddedTemplateCmd(t,n,this._mapDirectives(r),i,o,this.changeDetectorFactories[e],s)},e}(),O=function(){function e(e,t,n){this.component=e,this.componentTemplateFactory=t,this.changeDetectorFactoryExpressions=n}return e.prototype.createText=function(e,n,r){return new T(_.codeGenConstConstructorCall(t.TEMPLATE_COMMANDS_MODULE_REF+"TextCmd")+"("+_.escapeSingleQuoteString(e)+", "+n+", "+r+")")},e.prototype.createNgContent=function(e,n){return new T(_.codeGenConstConstructorCall(t.TEMPLATE_COMMANDS_MODULE_REF+"NgContentCmd")+"("+e+", "+n+")")},e.prototype.createBeginElement=function(e,n,r,i,o,s,a){var c=u(n);return new T(_.codeGenConstConstructorCall(t.TEMPLATE_COMMANDS_MODULE_REF+"BeginElementCmd")+"("+_.escapeSingleQuoteString(e)+", "+c+", "+(u(r)+", "+u(i)+", "+p(o)+", "+s+", "+a+")"))},e.prototype.createEndElement=function(){return new T(_.codeGenConstConstructorCall(t.TEMPLATE_COMMANDS_MODULE_REF+"EndElementCmd")+"()")},e.prototype.createBeginComponent=function(e,n,r,i,o,s,a){var c=u(n);return new T(_.codeGenConstConstructorCall(t.TEMPLATE_COMMANDS_MODULE_REF+"BeginComponentCmd")+"("+_.escapeSingleQuoteString(e)+", "+c+", "+(u(r)+", "+u(i)+", "+p(o)+", "+l(s)+", "+a+", "+this.componentTemplateFactory(o[0])+")"))},e.prototype.createEndComponent=function(){return new T(_.codeGenConstConstructorCall(t.TEMPLATE_COMMANDS_MODULE_REF+"EndComponentCmd")+"()")},e.prototype.createEmbeddedTemplate=function(e,n,r,i,o,s,a){return new T(_.codeGenConstConstructorCall(t.TEMPLATE_COMMANDS_MODULE_REF+"EmbeddedTemplateCmd")+"("+u(n)+", "+u(r)+", "+(p(i)+", "+o+", "+s+", "+this.changeDetectorFactoryExpressions[e]+", "+u(a)+")"))},e}(),S=function(){function e(e,t){this.commandFactory=e,this.embeddedTemplateIndex=t,this.result=[],this.transitiveNgContentCount=0}return e.prototype._readAttrNameAndValues=function(e,t){var n=o(r(this,t,[]));return e.forEach(function(e){y.StringMapWrapper.forEach(e.hostAttributes,function(e,t){var r=n[t];n[t]=d.isPresent(r)?a(t,r,e):e})}),s(n)},e.prototype.visitNgContent=function(e,t){return this.transitiveNgContentCount++,this.result.push(this.commandFactory.createNgContent(e.index,e.ngContentIndex)),null},e.prototype.visitEmbeddedTemplate=function(t,n){var r=this;this.embeddedTemplateIndex++;var i=new e(this.commandFactory,this.embeddedTemplateIndex);m.templateVisitAll(i,t.children);var o=i.transitiveNgContentCount>0,s=[];t.vars.forEach(function(e){s.push(e.name),s.push(e.value.length>0?e.value:C)});var a=[];return y.ListWrapper.forEachWithIndex(t.directives,function(e,t){e.visit(r,new D(t,[],[],a))}),this.result.push(this.commandFactory.createEmbeddedTemplate(this.embeddedTemplateIndex,this._readAttrNameAndValues(a,t.attrs),s,a,o,t.ngContentIndex,i.result)),this.transitiveNgContentCount+=i.transitiveNgContentCount,this.embeddedTemplateIndex=i.embeddedTemplateIndex,null},e.prototype.visitElement=function(e,t){var n=this,o=e.getComponent(),s=r(this,e.outputs,[]),a=[];d.isBlank(o)&&e.exportAsVars.forEach(function(e){a.push(e.name),a.push(null)});var c=[];y.ListWrapper.forEachWithIndex(e.directives,function(e,t){e.visit(n,new D(t,s,a,c))}),s=i(s);var u=this._readAttrNameAndValues(c,e.attrs);return d.isPresent(o)?(this.result.push(this.commandFactory.createBeginComponent(e.name,u,s,a,c,o.template.encapsulation,e.ngContentIndex)),m.templateVisitAll(this,e.children),this.result.push(this.commandFactory.createEndComponent())):(this.result.push(this.commandFactory.createBeginElement(e.name,u,s,a,c,e.isBound(),e.ngContentIndex)),m.templateVisitAll(this,e.children),this.result.push(this.commandFactory.createEndElement())),null},e.prototype.visitVariable=function(e,t){return null},e.prototype.visitAttr=function(e,t){return t.push(e.name),t.push(e.value),null},e.prototype.visitBoundText=function(e,t){return this.result.push(this.commandFactory.createText(null,!0,e.ngContentIndex)),null},e.prototype.visitText=function(e,t){return this.result.push(this.commandFactory.createText(e.value,!1,e.ngContentIndex)),null},e.prototype.visitDirective=function(e,t){return t.targetDirectives.push(e.directive),m.templateVisitAll(this,e.hostEvents,t.eventTargetAndNames),e.exportAsVars.forEach(function(e){t.targetVariableNameAndValues.push(e.name),t.targetVariableNameAndValues.push(t.index)}),null},e.prototype.visitEvent=function(e,t){return t.push(e.target),t.push(e.name),null},e.prototype.visitDirectiveProperty=function(e,t){return null},e.prototype.visitElementProperty=function(e,t){return null},e}(),D=function(){function e(e,t,n,r){this.index=e,this.eventTargetAndNames=t,this.targetVariableNameAndValues=n,this.targetDirectives=r}return e}(),T=function(){function e(e){this.value=e}return e}()},function(e,t,n){function r(e){return p.StringWrapper.split(e.trim(),/\s+/g)}function i(e,t){var n=new _.CssSelector,i=v.splitNsName(e)[1];n.setElement(i);for(var o=0;oo?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},a=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},c=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}},u=n(12),p=n(5),l=n(2),h=n(5),f=n(14),d=n(25),y=n(168),v=n(172),m=n(171),g=n(159),_=n(154),b=n(173),C=n(174),P=n(163),w=n(169),R=n(155),E=/^(?:(?:(?:(bind-)|(var-|#)|(on-)|(bindon-))(.+))|\[\(([^\)]+)\)\]|\[([^\]]+)\]|\(([^\)]+)\))$/g,O="template",S="template",D="*",T="class",A=".",I="attr",x="class",N="style",k=_.CssSelector.parse("*")[0];t.TEMPLATE_TRANSFORMS=h.CONST_EXPR(new l.OpaqueToken("TemplateTransforms"));var j=function(e){function t(t,n){e.call(this,n,t)}return o(t,e),t}(m.ParseError);t.TemplateParseError=j;var V=function(){function e(e,t,n,r){this._exprParser=e,this._schemaRegistry=t,this._htmlParser=n,this.transforms=r}return e.prototype.parse=function(e,t,n){var r=new M(t,this._exprParser,this._schemaRegistry),i=this._htmlParser.parse(e,n),o=w.htmlVisitAll(r,i.rootNodes,W),s=i.errors.concat(r.errors);if(s.length>0){var a=s.join("\n");throw new f.BaseException("Template parse errors:\n"+a)}return p.isPresent(this.transforms)&&this.transforms.forEach(function(e){o=g.templateVisitAll(e,o)}),o},e=s([l.Injectable(),c(3,l.Optional()),c(3,l.Inject(t.TEMPLATE_TRANSFORMS)),a("design:paramtypes",[d.Parser,b.ElementSchemaRegistry,y.HtmlParser,Array])],e)}();t.TemplateParser=V;var M=function(){function e(e,t,n){var r=this;this._exprParser=t,this._schemaRegistry=n,this.errors=[],this.directivesIndex=new Map,this.ngContentCount=0,this.selectorMatcher=new _.SelectorMatcher,u.ListWrapper.forEachWithIndex(e,function(e,t){var n=_.CssSelector.parse(e.selector);r.selectorMatcher.addSelectables(n,e),r.directivesIndex.set(e,t)})}return e.prototype._reportError=function(e,t){this.errors.push(new j(e,t.start))},e.prototype._parseInterpolation=function(e,t){var n=t.start.toString();try{return this._exprParser.parseInterpolation(e,n)}catch(r){return this._reportError(""+r,t),this._exprParser.wrapLiteralPrimitive("ERROR",n)}},e.prototype._parseAction=function(e,t){var n=t.start.toString();try{return this._exprParser.parseAction(e,n)}catch(r){return this._reportError(""+r,t),this._exprParser.wrapLiteralPrimitive("ERROR",n)}},e.prototype._parseBinding=function(e,t){var n=t.start.toString();try{return this._exprParser.parseBinding(e,n)}catch(r){return this._reportError(""+r,t),this._exprParser.wrapLiteralPrimitive("ERROR",n)}},e.prototype._parseTemplateBindings=function(e,t){var n=t.start.toString();try{return this._exprParser.parseTemplateBindings(e,n)}catch(r){return this._reportError(""+r,t),[]}},e.prototype.visitText=function(e,t){var n=t.findNgContentIndex(k),r=this._parseInterpolation(e.value,e.sourceSpan);return p.isPresent(r)?new g.BoundTextAst(r,n,e.sourceSpan):new g.TextAst(e.value,n,e.sourceSpan)},e.prototype.visitAttr=function(e,t){return new g.AttrAst(e.name,e.value,e.sourceSpan)},e.prototype.visitElement=function(e,t){var n=this,r=e.name,o=C.preparseElement(e);if(o.type===C.PreparsedElementType.SCRIPT||o.type===C.PreparsedElementType.STYLE)return null;if(o.type===C.PreparsedElementType.STYLESHEET&&P.isStyleUrlResolvable(o.hrefAttr))return null;var s=[],a=[],c=[],u=[],l=[],h=[],f=[],d=!1,y=[];e.attrs.forEach(function(e){s.push([e.name,e.value]);var t=n._parseAttr(e,s,a,u,c),r=n._parseInlineTemplateBinding(e,f,l,h);t||r||y.push(n.visitAttr(e,null)),r&&(d=!0)});var m,_=v.splitNsName(r.toLowerCase())[1],b=_==O,R=i(r,s),E=this._createDirectiveAsts(e.name,this._parseDirectives(this.selectorMatcher,R),a,b?[]:c,e.sourceSpan),S=this._createElementPropertyAsts(e.name,a,E),D=w.htmlVisitAll(o.nonBindable?U:this,e.children,F.create(E)),T=d?null:t.findNgContentIndex(R);if(o.type===C.PreparsedElementType.NG_CONTENT)p.isPresent(e.children)&&e.children.length>0&&this._reportError(" element cannot have content. must be immediately followed by ",e.sourceSpan),m=new g.NgContentAst(this.ngContentCount++,T,e.sourceSpan);else if(b)this._assertAllEventsPublishedByDirectives(E,u),this._assertNoComponentsNorElementBindingsOnTemplate(E,S,e.sourceSpan),m=new g.EmbeddedTemplateAst(y,u,c,E,D,T,e.sourceSpan);else{this._assertOnlyOneComponent(E,e.sourceSpan);var A=c.filter(function(e){return 0===e.value.length});m=new g.ElementAst(r,y,S,u,A,E,D,T,e.sourceSpan)}if(d){var I=i(O,f),x=this._createDirectiveAsts(e.name,this._parseDirectives(this.selectorMatcher,I),l,[],e.sourceSpan),N=this._createElementPropertyAsts(e.name,l,x);this._assertNoComponentsNorElementBindingsOnTemplate(x,N,e.sourceSpan),m=new g.EmbeddedTemplateAst([],[],h,x,[m],t.findNgContentIndex(I),e.sourceSpan)}return m},e.prototype._parseInlineTemplateBinding=function(e,t,n,r){var i=null;if(e.name==S)i=e.value;else if(e.name.startsWith(D)){var o=e.name.substring(D.length);i=0==e.value.length?o:o+" "+e.value}if(p.isPresent(i)){for(var s=this._parseTemplateBindings(i,e.sourceSpan),a=0;a-1&&this._reportError('"-" is not allowed in variable names',n),r.push(new g.VariableAst(e,t,n))},e.prototype._parseProperty=function(e,t,n,r,i){this._parsePropertyAst(e,this._parseBinding(t,n),n,r,i)},e.prototype._parsePropertyInterpolation=function(e,t,n,r,i){var o=this._parseInterpolation(t,n);return p.isPresent(o)?(this._parsePropertyAst(e,o,n,r,i),!0):!1},e.prototype._parsePropertyAst=function(e,t,n,r,i){r.push([e,t.source]),i.push(new L(e,t,!1,n))},e.prototype._parseAssignmentEvent=function(e,t,n,r,i){this._parseEvent(e+"Change",t+"=$event",n,r,i)},e.prototype._parseEvent=function(e,t,n,r,i){var o=R.splitAtColon(e,[null,e]),s=o[0],a=o[1];i.push(new g.BoundEventAst(a,s,this._parseAction(t,n),n))},e.prototype._parseLiteralAttr=function(e,t,n,r){r.push(new L(e,this._exprParser.wrapLiteralPrimitive(t,""),!0,n))},e.prototype._parseDirectives=function(e,t){var n=this,r=[];return e.match(t,function(e,t){r.push(t)}),u.ListWrapper.sort(r,function(e,t){var r=e.isComponent,i=t.isComponent;return r&&!i?-1:!r&&i?1:n.directivesIndex.get(e)-n.directivesIndex.get(t)}),r},e.prototype._createDirectiveAsts=function(e,t,n,r,i){var o=this,s=new Set,a=t.map(function(t){var a=[],c=[],u=[];o._createDirectiveHostPropertyAsts(e,t.hostProperties,i,a),o._createDirectiveHostEventAsts(t.hostListeners,i,c),o._createDirectivePropertyAsts(t.inputs,n,u);var p=[];return r.forEach(function(e){(0===e.value.length&&t.isComponent||t.exportAs==e.value)&&(p.push(e),s.add(e.name))}),new g.DirectiveAst(t,u,a,c,p,i)});return r.forEach(function(e){e.value.length>0&&!u.SetWrapper.has(s,e.name)&&o._reportError('There is no directive with "exportAs" set to "'+e.value+'"',e.sourceSpan)}),a},e.prototype._createDirectiveHostPropertyAsts=function(e,t,n,r){var i=this;p.isPresent(t)&&u.StringMapWrapper.forEach(t,function(t,o){var s=i._parseBinding(t,n);r.push(i._createElementPropertyAst(e,o,s,n))})},e.prototype._createDirectiveHostEventAsts=function(e,t,n){var r=this;p.isPresent(e)&&u.StringMapWrapper.forEach(e,function(e,i){r._parseEvent(i,e,t,[],n)})},e.prototype._createDirectivePropertyAsts=function(e,t,n){if(p.isPresent(e)){var r=new Map;t.forEach(function(e){var t=r.get(e.name);(p.isBlank(t)||t.isLiteral)&&r.set(e.name,e)}),u.StringMapWrapper.forEach(e,function(e,t){var i=r.get(e);p.isPresent(i)&&n.push(new g.BoundDirectivePropertyAst(t,i.name,i.expression,i.sourceSpan))})}},e.prototype._createElementPropertyAsts=function(e,t,n){var r=this,i=[],o=new Map;return n.forEach(function(e){e.inputs.forEach(function(e){o.set(e.templateName,e)})}),t.forEach(function(t){!t.isLiteral&&p.isBlank(o.get(t.name))&&i.push(r._createElementPropertyAst(e,t.name,t.expression,t.sourceSpan))}),i},e.prototype._createElementPropertyAst=function(e,t,n,r){var i,o,s=null,a=t.split(A);return 1===a.length?(o=this._schemaRegistry.getMappedPropName(a[0]),i=g.PropertyBindingType.Property,this._schemaRegistry.hasProperty(e,o)||this._reportError("Can't bind to '"+o+"' since it isn't a known native property",r)):a[0]==I?(o=a[1],i=g.PropertyBindingType.Attribute):a[0]==x?(o=a[1],i=g.PropertyBindingType.Class):a[0]==N?(s=a.length>2?a[2]:null,o=a[1],i=g.PropertyBindingType.Style):(this._reportError("Invalid property name '"+t+"'",r),i=null),new g.BoundElementPropertyAst(o,i,n,s,r)},e.prototype._findComponentDirectiveNames=function(e){var t=[];return e.forEach(function(e){var n=e.directive.type.name;e.directive.isComponent&&t.push(n)}),t},e.prototype._assertOnlyOneComponent=function(e,t){var n=this._findComponentDirectiveNames(e);n.length>1&&this._reportError("More than one component: "+n.join(","),t)},e.prototype._assertNoComponentsNorElementBindingsOnTemplate=function(e,t,n){var r=this,i=this._findComponentDirectiveNames(e);i.length>0&&this._reportError("Components on an embedded template: "+i.join(","),n),t.forEach(function(e){r._reportError("Property binding "+e.name+" not used by any directive on an embedded template",n)})},e.prototype._assertAllEventsPublishedByDirectives=function(e,t){var n=this,r=new Set;e.forEach(function(e){u.StringMapWrapper.forEach(e.directive.outputs,function(e,t){r.add(e)})}),t.forEach(function(e){(p.isPresent(e.target)||!u.SetWrapper.has(r,e.name))&&n._reportError("Event binding "+e.fullName+" not emitted by any directive on an embedded template",e.sourceSpan)})},e}(),B=function(){function e(){}return e.prototype.visitElement=function(e,t){var n=C.preparseElement(e);if(n.type===C.PreparsedElementType.SCRIPT||n.type===C.PreparsedElementType.STYLE||n.type===C.PreparsedElementType.STYLESHEET)return null;var r=e.attrs.map(function(e){return[e.name,e.value]}),o=i(e.name,r),s=t.findNgContentIndex(o),a=w.htmlVisitAll(this,e.children,W);return new g.ElementAst(e.name,w.htmlVisitAll(this,e.attrs),[],[],[],[],a,s,e.sourceSpan)},e.prototype.visitAttr=function(e,t){return new g.AttrAst(e.name,e.value,e.sourceSpan)},e.prototype.visitText=function(e,t){var n=t.findNgContentIndex(k);return new g.TextAst(e.value,n,e.sourceSpan)},e}(),L=function(){function e(e,t,n,r){this.name=e,this.expression=t,this.isLiteral=n,this.sourceSpan=r}return e}();t.splitClasses=r;var F=function(){function e(e,t){this.ngContentIndexMatcher=e,this.wildcardNgContentIndex=t}return e.create=function(t){if(0===t.length||!t[0].directive.isComponent)return W;for(var n=new _.SelectorMatcher,r=t[0].directive.template.ngContentSelectors,i=null,o=0;o0?t[0]:null},e}(),W=new F(new _.SelectorMatcher,null),U=new B},function(e,t,n){function r(e,t){return c.isPresent(e)?"@"+e+":"+t:t}function i(e,t,n){return c.isBlank(e)&&(e=d.getHtmlTagDefinition(t).implicitNamespacePrefix,c.isBlank(e)&&c.isPresent(n)&&(e=d.getNsPrefix(n.name))),r(e,t)}var o=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},s=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},a=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},c=n(5),u=n(12),p=n(169),l=n(6),h=n(170),f=n(171),d=n(172),y=function(e){function t(t,n,r){e.call(this,n,r),this.elementName=t}return o(t,e),t.create=function(e,n,r){return new t(e,n,r)},t}(f.ParseError);t.HtmlTreeError=y;var v=function(){function e(e,t){this.rootNodes=e,this.errors=t}return e}();t.HtmlParseTreeResult=v;var m=function(){function e(){}return e.prototype.parse=function(e,t){var n=h.tokenizeHtml(e,t),r=new g(n.tokens).build();return new v(r.rootNodes,n.errors.concat(r.errors))},e=s([l.Injectable(),a("design:paramtypes",[])],e)}();t.HtmlParser=m;var g=function(){function e(e){this.tokens=e,this.index=-1,this.rootNodes=[],this.errors=[],this.elementStack=[],this._advance()}return e.prototype.build=function(){for(;this.peek.type!==h.HtmlTokenType.EOF;)this.peek.type===h.HtmlTokenType.TAG_OPEN_START?this._consumeStartTag(this._advance()):this.peek.type===h.HtmlTokenType.TAG_CLOSE?this._consumeEndTag(this._advance()):this.peek.type===h.HtmlTokenType.CDATA_START?(this._closeVoidElement(),this._consumeCdata(this._advance())):this.peek.type===h.HtmlTokenType.COMMENT_START?(this._closeVoidElement(),this._consumeComment(this._advance())):this.peek.type===h.HtmlTokenType.TEXT||this.peek.type===h.HtmlTokenType.RAW_TEXT||this.peek.type===h.HtmlTokenType.ESCAPABLE_RAW_TEXT?(this._closeVoidElement(),this._consumeText(this._advance())):this._advance();return new v(this.rootNodes,this.errors)},e.prototype._advance=function(){var e=this.peek;return this.index0&&"\n"==t[0]){var n=this._getParentElement();c.isPresent(n)&&0==n.children.length&&d.getHtmlTagDefinition(n.name).ignoreFirstLf&&(t=t.substring(1))}t.length>0&&this._addToParent(new p.HtmlTextAst(t,e.sourceSpan))},e.prototype._closeVoidElement=function(){if(this.elementStack.length>0){var e=u.ListWrapper.last(this.elementStack);d.getHtmlTagDefinition(e.name).isVoid&&this.elementStack.pop()}},e.prototype._consumeStartTag=function(e){for(var t=e.parts[0],n=e.parts[1],r=[];this.peek.type===h.HtmlTokenType.ATTR_NAME;)r.push(this._consumeAttr(this._advance()));var o=i(t,n,this._getParentElement()),s=!1;this.peek.type===h.HtmlTokenType.TAG_OPEN_END_VOID?(this._advance(),s=!0,null!=d.getNsPrefix(o)||d.getHtmlTagDefinition(o).isVoid||this.errors.push(y.create(o,e.sourceSpan.start,'Only void and foreign elements can be self closed "'+e.parts[1]+'"'))):this.peek.type===h.HtmlTokenType.TAG_OPEN_END&&(this._advance(),s=!1);var a=this.peek.sourceSpan.start,c=new p.HtmlElementAst(o,r,[],new f.ParseSourceSpan(e.sourceSpan.start,a));this._pushElement(c),s&&this._popElement(o)},e.prototype._pushElement=function(e){if(this.elementStack.length>0){var t=u.ListWrapper.last(this.elementStack);d.getHtmlTagDefinition(t.name).isClosedByChild(e.name)&&this.elementStack.pop()}var n=d.getHtmlTagDefinition(e.name),t=this._getParentElement();if(n.requireExtraParent(c.isPresent(t)?t.name:null)){var r=new p.HtmlElementAst(n.parentToAdd,[],[e],e.sourceSpan);this._addToParent(r),this.elementStack.push(r),this.elementStack.push(e)}else this._addToParent(e),this.elementStack.push(e)},e.prototype._consumeEndTag=function(e){var t=i(e.parts[0],e.parts[1],this._getParentElement());d.getHtmlTagDefinition(t).isVoid?this.errors.push(y.create(t,e.sourceSpan.start,'Void elements do not have end tags "'+e.parts[1]+'"')):this._popElement(t)||this.errors.push(y.create(t,e.sourceSpan.start,'Unexpected closing tag "'+e.parts[1]+'"')); },e.prototype._popElement=function(e){for(var t=this.elementStack.length-1;t>=0;t--){var n=this.elementStack[t];if(n.name==e)return u.ListWrapper.splice(this.elementStack,t,this.elementStack.length-t),!0;if(!d.getHtmlTagDefinition(n.name).closedByParent)return!1}return!1},e.prototype._consumeAttr=function(e){var t=r(e.parts[0],e.parts[1]),n=e.sourceSpan.end,i="";if(this.peek.type===h.HtmlTokenType.ATTR_VALUE){var o=this._advance();i=o.parts[0],n=o.sourceSpan.end}return new p.HtmlAttrAst(t,i,new f.ParseSourceSpan(e.sourceSpan.start,n))},e.prototype._getParentElement=function(){return this.elementStack.length>0?u.ListWrapper.last(this.elementStack):null},e.prototype._addToParent=function(e){var t=this._getParentElement();c.isPresent(t)?t.children.push(e):this.rootNodes.push(e)},e}()},function(e,t,n){function r(e,t,n){void 0===n&&(n=null);var r=[];return t.forEach(function(t){var o=t.visit(e,n);i.isPresent(o)&&r.push(o)}),r}var i=n(5),o=function(){function e(e,t){this.value=e,this.sourceSpan=t}return e.prototype.visit=function(e,t){return e.visitText(this,t)},e}();t.HtmlTextAst=o;var s=function(){function e(e,t,n){this.name=e,this.value=t,this.sourceSpan=n}return e.prototype.visit=function(e,t){return e.visitAttr(this,t)},e}();t.HtmlAttrAst=s;var a=function(){function e(e,t,n,r){this.name=e,this.attrs=t,this.children=n,this.sourceSpan=r}return e.prototype.visit=function(e,t){return e.visitElement(this,t)},e}();t.HtmlElementAst=a,t.htmlVisitAll=r},function(e,t,n){function r(e,t){return new te(new _.ParseSourceFile(e,t)).tokenize()}function i(e){var t=e===E?"EOF":m.StringWrapper.fromCharCode(e);return'Unexpected character "'+t+'"'}function o(e){return'Unknown entity "'+e+'" - use the "&#;" or "&#x;" syntax'}function s(e){return!a(e)||e===E}function a(e){return e>=O&&T>=e||e===Z}function c(e){return a(e)||e===H||e===V||e===k||e===I||e===U}function u(e){return($>e||e>Q)&&(q>e||e>G)&&(M>e||e>L)}function p(e){return e==B||e==E||!d(e)}function l(e){return e==B||e==E||!f(e)}function h(e){return e===W||e===E}function f(e){return e>=$&&Q>=e}function d(e){return e>=$&&X>=e||e>=M&&L>=e}function y(e){for(var t,n=[],r=0;r=this.length)throw this._createError(i(E),this._getLocation());this.peek===S?(this.line++,this.column=0):this.peek!==S&&this.peek!==D&&this.column++,this.index++,this.peek=this.index>=this.length?E:m.StringWrapper.charCodeAt(this.inputLowercase,this.index)},e.prototype._attemptChar=function(e){return this.peek===e?(this._advance(),!0):!1},e.prototype._requireChar=function(e){var t=this._getLocation();if(!this._attemptChar(e))throw this._createError(i(this.peek),t)},e.prototype._attemptChars=function(e){for(var t=0;tr.offset&&o.push(this.input.substring(r.offset,this.index));this.peek!==t;)o.push(this._readChar(e))}return this._endToken([this._processCarriageReturns(o.join(""))],r)},e.prototype._consumeComment=function(e){var t=this;this._beginToken(C.COMMENT_START,e),this._requireChar(j),this._endToken([]);var n=this._consumeRawText(!1,j,function(){return t._attemptChars("->")});this._beginToken(C.COMMENT_END,n.sourceSpan.end),this._endToken([])},e.prototype._consumeCdata=function(e){var t=this;this._beginToken(C.CDATA_START,e),this._requireChars("cdata["),this._endToken([]);var n=this._consumeRawText(!1,K,function(){return t._attemptChars("]>")});this._beginToken(C.CDATA_END,n.sourceSpan.end),this._endToken([])},e.prototype._consumeDocType=function(e){this._beginToken(C.DOC_TYPE,e),this._attemptUntilChar(H),this._advance(),this._endToken([this.input.substring(e.offset+2,this.index-1)])},e.prototype._consumePrefixAndName=function(){for(var e=this.index,t=null;this.peek!==F&&!u(this.peek);)this._advance();var n;this.peek===F?(this._advance(),t=this.input.substring(e,this.index-1),n=this.index):n=e,this._requireUntilFn(c,this.index===n?1:0);var r=this.input.substring(n,this.index);return[t,r]},e.prototype._consumeTagOpen=function(e){var t,n=this._savePosition();try{if(!f(this.peek))throw this._createError(i(this.peek),this._getLocation());var r=this.index;for(this._consumeTagOpenStart(e),t=this.inputLowercase.substring(r,this.index),this._attemptUntilFn(s);this.peek!==V&&this.peek!==H;)this._consumeAttributeName(),this._attemptUntilFn(s),this._attemptChar(U)&&(this._attemptUntilFn(s),this._consumeAttributeValue()),this._attemptUntilFn(s);this._consumeTagOpenEnd()}catch(o){if(o instanceof ee)return this._restorePosition(n),this._beginToken(C.TEXT,e),void this._endToken(["<"]);throw o}var a=b.getHtmlTagDefinition(t).contentType;a===b.HtmlTagContentType.RAW_TEXT?this._consumeRawTextWithTagClose(t,!1):a===b.HtmlTagContentType.ESCAPABLE_RAW_TEXT&&this._consumeRawTextWithTagClose(t,!0)},e.prototype._consumeRawTextWithTagClose=function(e,t){var n=this,r=this._consumeRawText(t,W,function(){return n._attemptChar(V)?(n._attemptUntilFn(s),n._attemptChars(e)?(n._attemptUntilFn(s),n._attemptChar(H)?!0:!1):!1):!1});this._beginToken(C.TAG_CLOSE,r.sourceSpan.end),this._endToken([null,e])},e.prototype._consumeTagOpenStart=function(e){this._beginToken(C.TAG_OPEN_START,e);var t=this._consumePrefixAndName();this._endToken(t)},e.prototype._consumeAttributeName=function(){this._beginToken(C.ATTR_NAME);var e=this._consumePrefixAndName();this._endToken(e)},e.prototype._consumeAttributeValue=function(){this._beginToken(C.ATTR_VALUE);var e;if(this.peek===k||this.peek===I){var t=this.peek;this._advance();for(var n=[];this.peek!==t;)n.push(this._readChar(!0));e=n.join(""),this._advance()}else{var r=this.index;this._requireUntilFn(c,1),e=this.input.substring(r,this.index)}this._endToken([this._processCarriageReturns(e)])},e.prototype._consumeTagOpenEnd=function(){var e=this._attemptChar(V)?C.TAG_OPEN_END_VOID:C.TAG_OPEN_END;this._beginToken(e),this._requireChar(H),this._endToken([])},e.prototype._consumeTagClose=function(e){this._beginToken(C.TAG_CLOSE,e),this._attemptUntilFn(s);var t;t=this._consumePrefixAndName(),this._attemptUntilFn(s),this._requireChar(H),this._endToken(t)},e.prototype._consumeText=function(){var e=this._getLocation();this._beginToken(C.TEXT,e);for(var t=[this._readChar(!0)];!h(this.peek);)t.push(this._readChar(!0));this._endToken([this._processCarriageReturns(t.join(""))])},e.prototype._savePosition=function(){return[this.peek,this.index,this.column,this.line,this.tokens.length]},e.prototype._restorePosition=function(e){this.peek=e[0],this.index=e[1],this.column=e[2],this.line=e[3];var t=e[4];te.length-1&&(t=e.length-1);for(var n=t,r=0,i=0;100>r&&t>0&&(t--,r++,"\n"!=e[t]||3!=++i););for(r=0,i=0;100>r&&n]"+e.substring(this.location.offset,n+1);return this.msg+' ("'+o+'"): '+this.location},e}();t.ParseError=i;var o=function(){function e(e,t){this.start=e,this.end=t}return e.prototype.toString=function(){return this.start.file.content.substring(this.start.offset,this.end.offset)},e}();t.ParseSourceSpan=o},function(e,t,n){function r(e){var t=u[e.toLowerCase()];return s.isPresent(t)?t:p}function i(e){if("@"!=e[0])return[null,e];var t=s.RegExpWrapper.firstMatch(l,e);return[t[1],t[2]]}function o(e){return i(e)[0]}var s=n(5);t.NAMED_ENTITIES=s.CONST_EXPR({Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",alefsym:"ℵ",Alpha:"Α",alpha:"α",amp:"&",and:"∧",ang:"∠",apos:"'",Aring:"Å",aring:"å",asymp:"≈",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",bdquo:"„",Beta:"Β",beta:"β",brvbar:"¦",bull:"•",cap:"∩",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",Chi:"Χ",chi:"χ",circ:"ˆ",clubs:"♣",cong:"≅",copy:"©",crarr:"↵",cup:"∪",curren:"¤",dagger:"†",Dagger:"‡",darr:"↓",dArr:"⇓",deg:"°",Delta:"Δ",delta:"δ",diams:"♦",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",empty:"∅",emsp:" ",ensp:" ",Epsilon:"Ε",epsilon:"ε",equiv:"≡",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",exist:"∃",fnof:"ƒ",forall:"∀",frac12:"½",frac14:"¼",frac34:"¾",frasl:"⁄",Gamma:"Γ",gamma:"γ",ge:"≥",gt:">",harr:"↔",hArr:"⇔",hearts:"♥",hellip:"…",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",image:"ℑ",infin:"∞","int":"∫",Iota:"Ι",iota:"ι",iquest:"¿",isin:"∈",Iuml:"Ï",iuml:"ï",Kappa:"Κ",kappa:"κ",Lambda:"Λ",lambda:"λ",lang:"⟨",laquo:"«",larr:"←",lArr:"⇐",lceil:"⌈",ldquo:"“",le:"≤",lfloor:"⌊",lowast:"∗",loz:"◊",lrm:"‎",lsaquo:"‹",lsquo:"‘",lt:"<",macr:"¯",mdash:"—",micro:"µ",middot:"·",minus:"−",Mu:"Μ",mu:"μ",nabla:"∇",nbsp:" ",ndash:"–",ne:"≠",ni:"∋",not:"¬",notin:"∉",nsub:"⊄",Ntilde:"Ñ",ntilde:"ñ",Nu:"Ν",nu:"ν",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",OElig:"Œ",oelig:"œ",Ograve:"Ò",ograve:"ò",oline:"‾",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",oplus:"⊕",or:"∨",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",otimes:"⊗",Ouml:"Ö",ouml:"ö",para:"¶",permil:"‰",perp:"⊥",Phi:"Φ",phi:"φ",Pi:"Π",pi:"π",piv:"ϖ",plusmn:"±",pound:"£",prime:"′",Prime:"″",prod:"∏",prop:"∝",Psi:"Ψ",psi:"ψ",quot:'"',radic:"√",rang:"⟩",raquo:"»",rarr:"→",rArr:"⇒",rceil:"⌉",rdquo:"”",real:"ℜ",reg:"®",rfloor:"⌋",Rho:"Ρ",rho:"ρ",rlm:"‏",rsaquo:"›",rsquo:"’",sbquo:"‚",Scaron:"Š",scaron:"š",sdot:"⋅",sect:"§",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sim:"∼",spades:"♠",sub:"⊂",sube:"⊆",sum:"∑",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supe:"⊇",szlig:"ß",Tau:"Τ",tau:"τ",there4:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thinsp:" ",THORN:"Þ",thorn:"þ",tilde:"˜",times:"×",trade:"™",Uacute:"Ú",uacute:"ú",uarr:"↑",uArr:"⇑",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",Uuml:"Ü",uuml:"ü",weierp:"℘",Xi:"Ξ",xi:"ξ",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ",Yuml:"Ÿ",Zeta:"Ζ",zeta:"ζ",zwj:"‍",zwnj:"‌"}),function(e){e[e.RAW_TEXT=0]="RAW_TEXT",e[e.ESCAPABLE_RAW_TEXT=1]="ESCAPABLE_RAW_TEXT",e[e.PARSABLE_DATA=2]="PARSABLE_DATA"}(t.HtmlTagContentType||(t.HtmlTagContentType={}));var a=t.HtmlTagContentType,c=function(){function e(e){var t=this,n=void 0===e?{}:e,r=n.closedByChildren,i=n.requiredParents,o=n.implicitNamespacePrefix,c=n.contentType,u=n.closedByParent,p=n.isVoid,l=n.ignoreFirstLf;this.closedByChildren={},this.closedByParent=!1,s.isPresent(r)&&r.length>0&&r.forEach(function(e){return t.closedByChildren[e]=!0}),this.isVoid=s.normalizeBool(p),this.closedByParent=s.normalizeBool(u)||this.isVoid,s.isPresent(i)&&i.length>0&&(this.requiredParents={},this.parentToAdd=i[0],i.forEach(function(e){return t.requiredParents[e]=!0})),this.implicitNamespacePrefix=o,this.contentType=s.isPresent(c)?c:a.PARSABLE_DATA,this.ignoreFirstLf=s.normalizeBool(l)}return e.prototype.requireExtraParent=function(e){if(s.isBlank(this.requiredParents))return!1;if(s.isBlank(e))return!0;var t=e.toLowerCase();return 1!=this.requiredParents[t]&&"template"!=t},e.prototype.isClosedByChild=function(e){return this.isVoid||s.normalizeBool(this.closedByChildren[e.toLowerCase()])},e}();t.HtmlTagDefinition=c;var u={area:new c({isVoid:!0}),embed:new c({isVoid:!0}),link:new c({isVoid:!0}),img:new c({isVoid:!0}),input:new c({isVoid:!0}),param:new c({isVoid:!0}),hr:new c({isVoid:!0}),br:new c({isVoid:!0}),source:new c({isVoid:!0}),track:new c({isVoid:!0}),wbr:new c({isVoid:!0}),p:new c({closedByChildren:["address","article","aside","blockquote","div","dl","fieldset","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","main","nav","ol","p","pre","section","table","ul"],closedByParent:!0}),thead:new c({closedByChildren:["tbody","tfoot"]}),tbody:new c({closedByChildren:["tbody","tfoot"],closedByParent:!0}),tfoot:new c({closedByChildren:["tbody"],closedByParent:!0}),tr:new c({closedByChildren:["tr"],requiredParents:["tbody","tfoot","thead"],closedByParent:!0}),td:new c({closedByChildren:["td","th"],closedByParent:!0}),th:new c({closedByChildren:["td","th"],closedByParent:!0}),col:new c({requiredParents:["colgroup"],isVoid:!0}),svg:new c({implicitNamespacePrefix:"svg"}),math:new c({implicitNamespacePrefix:"math"}),li:new c({closedByChildren:["li"],closedByParent:!0}),dt:new c({closedByChildren:["dt","dd"]}),dd:new c({closedByChildren:["dt","dd"],closedByParent:!0}),rb:new c({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rt:new c({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rtc:new c({closedByChildren:["rb","rtc","rp"],closedByParent:!0}),rp:new c({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),optgroup:new c({closedByChildren:["optgroup"],closedByParent:!0}),option:new c({closedByChildren:["option","optgroup"],closedByParent:!0}),pre:new c({ignoreFirstLf:!0}),listing:new c({ignoreFirstLf:!0}),style:new c({contentType:a.RAW_TEXT}),script:new c({contentType:a.RAW_TEXT}),title:new c({contentType:a.ESCAPABLE_RAW_TEXT}),textarea:new c({contentType:a.ESCAPABLE_RAW_TEXT,ignoreFirstLf:!0})},p=new c;t.getHtmlTagDefinition=r;var l=/^@([^:]+):(.+)/g;t.splitNsName=i,t.getNsPrefix=o},function(e,t){var n=function(){function e(){}return e.prototype.hasProperty=function(e,t){return!0},e.prototype.getMappedPropName=function(e){return e},e}();t.ElementSchemaRegistry=n},function(e,t,n){function r(e){var t=null,n=null,r=null,o=!1;e.attrs.forEach(function(e){var i=e.name.toLowerCase();i==a?t=e.value:i==l?n=e.value:i==p?r=e.value:e.name==y&&(o=!0)}),t=i(t);var g=e.name.toLowerCase(),_=v.OTHER;return s.splitNsName(g)[1]==c?_=v.NG_CONTENT:g==f?_=v.STYLE:g==d?_=v.SCRIPT:g==u&&r==h&&(_=v.STYLESHEET),new m(_,t,n,o)}function i(e){return o.isBlank(e)||0===e.length?"*":e}var o=n(5),s=n(172),a="select",c="ng-content",u="link",p="rel",l="href",h="stylesheet",f="style",d="script",y="ngNonBindable";t.preparseElement=r,function(e){e[e.NG_CONTENT=0]="NG_CONTENT",e[e.STYLE=1]="STYLE",e[e.STYLESHEET=2]="STYLESHEET",e[e.SCRIPT=3]="SCRIPT",e[e.OTHER=4]="OTHER"}(t.PreparsedElementType||(t.PreparsedElementType={}));var v=t.PreparsedElementType,m=function(){function e(e,t,n,r){this.type=e,this.selectAttr=t,this.hrefAttr=n,this.nonBindable=r}return e}();t.PreparsedElement=m},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(153),s=n(5),a=n(14),c=n(60),u=n(149),p=n(148),l=n(163),h=n(6),f=n(56),d=n(169),y=n(168),v=n(174),m=function(){function e(e,t,n){this._xhr=e,this._urlResolver=t,this._htmlParser=n}return e.prototype.normalizeTemplate=function(e,t){var n=this;if(s.isPresent(t.template))return c.PromiseWrapper.resolve(this.normalizeLoadedTemplate(e,t,t.template,e.moduleUrl));if(s.isPresent(t.templateUrl)){var r=this._urlResolver.resolve(e.moduleUrl,t.templateUrl);return this._xhr.get(r).then(function(i){return n.normalizeLoadedTemplate(e,t,i,r)})}throw new a.BaseException("No template specified for component "+e.name)},e.prototype.normalizeLoadedTemplate=function(e,t,n,r){var i=this,s=this._htmlParser.parse(n,e.name);if(s.errors.length>0){var c=s.errors.join("\n");throw new a.BaseException("Template parse errors:\n"+c)}var u=new g;d.htmlVisitAll(u,s.rootNodes);var p=t.styles.concat(u.styles),h=u.styleUrls.filter(l.isStyleUrlResolvable).map(function(e){return i._urlResolver.resolve(r,e)}).concat(t.styleUrls.filter(l.isStyleUrlResolvable).map(function(t){return i._urlResolver.resolve(e.moduleUrl,t)})),y=p.map(function(e){var t=l.extractStyleUrls(i._urlResolver,r,e);return t.styleUrls.forEach(function(e){return h.push(e)}),t.style}),v=t.encapsulation;return v===f.ViewEncapsulation.Emulated&&0===y.length&&0===h.length&&(v=f.ViewEncapsulation.None),new o.CompileTemplateMetadata({encapsulation:v,template:n,templateUrl:r,styles:y,styleUrls:h,ngContentSelectors:u.ngContentSelectors})},e=r([h.Injectable(),i("design:paramtypes",[u.XHR,p.UrlResolver,y.HtmlParser])],e)}();t.TemplateNormalizer=m;var g=function(){function e(){this.ngContentSelectors=[],this.styles=[],this.styleUrls=[],this.ngNonBindableStackCount=0}return e.prototype.visitElement=function(e,t){var n=v.preparseElement(e);switch(n.type){case v.PreparsedElementType.NG_CONTENT:0===this.ngNonBindableStackCount&&this.ngContentSelectors.push(n.selectAttr);break;case v.PreparsedElementType.STYLE:var r="";e.children.forEach(function(e){e instanceof d.HtmlTextAst&&(r+=e.value)}),this.styles.push(r);break;case v.PreparsedElementType.STYLESHEET:this.styleUrls.push(n.hrefAttr)}return n.nonBindable&&this.ngNonBindableStackCount++,d.htmlVisitAll(this,e.children),n.nonBindable&&this.ngNonBindableStackCount--,null},e.prototype.visitAttr=function(e,t){return null},e.prototype.visitText=function(e,t){return null},e}()},function(e,t,n){function r(e,t){var n=[];return l.isPresent(t)&&i(t,n),l.isPresent(e.directives)&&i(e.directives,n),n}function i(e,t){for(var n=0;n0?n:"package:"+n+P.MODULE_SUFFIX}return _.reflector.importUri(e)}var a=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},c=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},u=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}},p=n(6),l=n(5),h=n(14),f=n(153),d=n(23),y=n(92),v=n(93),m=n(88),g=n(89),_=n(16),b=n(6),C=n(95),P=n(155),w=n(148),R=function(){function e(e,t,n){this._directiveResolver=e,this._viewResolver=t,this._platformDirectives=n,this._cache=new Map}return e.prototype.getMetadata=function(e){var t=this._cache.get(e);if(l.isBlank(t)){var n=this._directiveResolver.resolve(e),r=null,i=null,o=null;if(n instanceof d.ComponentMetadata){var a=n;r=s(e,a);var c=this._viewResolver.resolve(e);i=new f.CompileTemplateMetadata({encapsulation:c.encapsulation,template:c.template,templateUrl:c.templateUrl,styles:c.styles,styleUrls:c.styleUrls}),o=a.changeDetection}t=f.CompileDirectiveMetadata.create({selector:n.selector,exportAs:n.exportAs,isComponent:l.isPresent(i),dynamicLoadable:!0,type:new f.CompileTypeMetadata({name:l.stringify(e),moduleUrl:r,runtime:e}),template:i,changeDetection:o,inputs:n.inputs,outputs:n.outputs,host:n.host,lifecycleHooks:g.LIFECYCLE_HOOKS_VALUES.filter(function(t){return m.hasLifecycleHook(t,e)})}),this._cache.set(e,t)}return t},e.prototype.getViewDirectivesMetadata=function(e){for(var t=this,n=this._viewResolver.resolve(e),i=r(n,this._platformDirectives),s=0;so?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=n(6),a=n(5),c=n(12),u=n(178),p=n(172),l=n(173),h=a.CONST_EXPR({xlink:"http://www.w3.org/1999/xlink",svg:"http://www.w3.org/2000/svg"}),f=function(e){function t(){e.apply(this,arguments),this._protoElements=new Map}return r(t,e),t.prototype._getProtoElement=function(e){var t=this._protoElements.get(e);if(a.isBlank(t)){var n=p.splitNsName(e);t=a.isPresent(n[0])?u.DOM.createElementNS(h[n[0]],n[1]):u.DOM.createElement(n[1]),this._protoElements.set(e,t)}return t},t.prototype.hasProperty=function(e,t){if(-1!==e.indexOf("-"))return!0;var n=this._getProtoElement(e);return u.DOM.hasProperty(n,t)},t.prototype.getMappedPropName=function(e){var t=c.StringMapWrapper.get(u.DOM.attrToPropMap,e);return a.isPresent(t)?t:e},t=i([s.Injectable(),o("design:paramtypes",[])],t)}(l.ElementSchemaRegistry);t.DomElementSchemaRegistry=f},function(e,t,n){function r(e){i.isBlank(t.DOM)&&(t.DOM=e)}var i=n(5);t.DOM=null,t.setRootDomAdapter=r;var o=function(){function e(){}return e}();t.DomAdapter=o},function(e,t,n){function r(e,n){u.reflector.reflectionCapabilities=new p.ReflectionCapabilities;var r=s.isPresent(n)?[t.BROWSER_APP_PROVIDERS,n]:t.BROWSER_APP_PROVIDERS;return u.platform(a.BROWSER_PROVIDERS).application(r).bootstrap(e)}var i=n(180);t.AngularEntrypoint=i.AngularEntrypoint;var o=n(181);t.BROWSER_PROVIDERS=o.BROWSER_PROVIDERS,t.ELEMENT_PROBE_BINDINGS=o.ELEMENT_PROBE_BINDINGS,t.ELEMENT_PROBE_PROVIDERS=o.ELEMENT_PROBE_PROVIDERS,t.inspectNativeElement=o.inspectNativeElement,t.BrowserDomAdapter=o.BrowserDomAdapter,t.By=o.By,t.Title=o.Title,t.DOCUMENT=o.DOCUMENT,t.enableDebugTools=o.enableDebugTools,t.disableDebugTools=o.disableDebugTools;var s=n(5),a=n(181),c=n(147),u=n(2),p=n(18),l=n(199),h=n(147),f=n(6);t.BROWSER_APP_PROVIDERS=s.CONST_EXPR([a.BROWSER_APP_COMMON_PROVIDERS,c.COMPILER_PROVIDERS,new f.Provider(h.XHR,{useClass:l.XHRImpl})]),t.bootstrap=r},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(5),s=function(){function e(e){this.name=e}return e=r([o.CONST(),i("design:paramtypes",[String])],e)}();t.AngularEntrypoint=s},function(e,t,n){function r(){return new c.ExceptionHandler(l.DOM,!s.IS_DART)}function i(){return l.DOM.defaultDoc()}function o(){C.BrowserDomAdapter.makeCurrent(),w.wtfInit(),P.BrowserGetTestability.init()}var s=n(5),a=n(6),c=n(2),u=n(104),p=n(68),l=n(178),h=n(182),f=n(184),d=n(185),y=n(187),v=n(188),m=n(196),g=n(196),_=n(195),b=n(189),C=n(197),P=n(200),w=n(201),R=n(183),E=n(187);t.DOCUMENT=E.DOCUMENT;var O=n(202);t.Title=O.Title;var S=n(203);t.DebugElementViewListener=S.DebugElementViewListener,t.ELEMENT_PROBE_PROVIDERS=S.ELEMENT_PROBE_PROVIDERS,t.ELEMENT_PROBE_BINDINGS=S.ELEMENT_PROBE_BINDINGS,t.inspectNativeElement=S.inspectNativeElement,t.By=S.By;var D=n(197);t.BrowserDomAdapter=D.BrowserDomAdapter;var T=n(206);t.enableDebugTools=T.enableDebugTools,t.disableDebugTools=T.disableDebugTools,t.BROWSER_PROVIDERS=s.CONST_EXPR([c.PLATFORM_COMMON_PROVIDERS,new a.Provider(c.PLATFORM_INITIALIZER,{useValue:o,multi:!0})]),t.BROWSER_APP_COMMON_PROVIDERS=s.CONST_EXPR([c.APPLICATION_COMMON_PROVIDERS,u.FORM_PROVIDERS,new a.Provider(c.PLATFORM_PIPES,{useValue:u.COMMON_PIPES,multi:!0}),new a.Provider(c.PLATFORM_DIRECTIVES,{useValue:u.COMMON_DIRECTIVES,multi:!0}),new a.Provider(c.ExceptionHandler,{useFactory:r,deps:[]}),new a.Provider(y.DOCUMENT,{useFactory:i,deps:[]}),new a.Provider(R.EVENT_MANAGER_PLUGINS,{useClass:h.DomEventsPlugin,multi:!0}),new a.Provider(R.EVENT_MANAGER_PLUGINS,{useClass:f.KeyEventsPlugin,multi:!0}),new a.Provider(R.EVENT_MANAGER_PLUGINS,{useClass:d.HammerGesturesPlugin,multi:!0}),new a.Provider(v.DomRenderer,{useClass:v.DomRenderer_}),new a.Provider(c.Renderer,{useExisting:v.DomRenderer}),new a.Provider(g.SharedStylesHost,{useExisting:m.DomSharedStylesHost}),m.DomSharedStylesHost,p.Testability,_.BrowserDetails,b.AnimationBuilder,R.EventManager]),t.initDomAdapter=o},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=n(178),a=n(2),c=n(183),u=function(e){function t(){e.apply(this,arguments)}return r(t,e),t.prototype.supports=function(e){return!0},t.prototype.addEventListener=function(e,t,n){var r=this.manager.getZone(),i=function(e){return r.run(function(){return n(e)})};this.manager.getZone().runOutsideAngular(function(){s.DOM.on(e,t,i)})},t.prototype.addGlobalEventListener=function(e,t,n){var r=s.DOM.getGlobalEventTarget(e),i=this.manager.getZone(),o=function(e){return i.run(function(){return n(e)})};return this.manager.getZone().runOutsideAngular(function(){return s.DOM.onAndCancel(r,t,o)})},t=i([a.Injectable(),o("design:paramtypes",[])],t)}(c.EventManagerPlugin);t.DomEventsPlugin=u},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}},s=n(5),a=n(14),c=n(6),u=n(66),p=n(12);t.EVENT_MANAGER_PLUGINS=s.CONST_EXPR(new c.OpaqueToken("EventManagerPlugins"));var l=function(){function e(e,t){var n=this;this._zone=t,e.forEach(function(e){return e.manager=n}),this._plugins=p.ListWrapper.reversed(e)}return e.prototype.addEventListener=function(e,t,n){var r=this._findPluginFor(t);r.addEventListener(e,t,n)},e.prototype.addGlobalEventListener=function(e,t,n){var r=this._findPluginFor(t);return r.addGlobalEventListener(e,t,n)},e.prototype.getZone=function(){return this._zone},e.prototype._findPluginFor=function(e){for(var t=this._plugins,n=0;no?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=n(178),a=n(5),c=n(12),u=n(183),p=n(6),l=["alt","control","meta","shift"],h={alt:function(e){return e.altKey},control:function(e){return e.ctrlKey},meta:function(e){return e.metaKey},shift:function(e){return e.shiftKey}},f=function(e){function t(){e.call(this)}return r(t,e),t.prototype.supports=function(e){return a.isPresent(t.parseEventName(e))},t.prototype.addEventListener=function(e,n,r){var i=t.parseEventName(n),o=t.eventCallback(e,c.StringMapWrapper.get(i,"fullKey"),r,this.manager.getZone());this.manager.getZone().runOutsideAngular(function(){s.DOM.on(e,c.StringMapWrapper.get(i,"domEventName"),o)})},t.parseEventName=function(e){var n=e.toLowerCase().split("."),r=n.shift();if(0===n.length||!a.StringWrapper.equals(r,"keydown")&&!a.StringWrapper.equals(r,"keyup"))return null;var i=t._normalizeKey(n.pop()),o="";if(l.forEach(function(e){c.ListWrapper.contains(n,e)&&(c.ListWrapper.remove(n,e),o+=e+".")}),o+=i,0!=n.length||0===i.length)return null;var s=c.StringMapWrapper.create();return c.StringMapWrapper.set(s,"domEventName",r),c.StringMapWrapper.set(s,"fullKey",o),s},t.getEventFullKey=function(e){var t="",n=s.DOM.getEventKey(e);return n=n.toLowerCase(),a.StringWrapper.equals(n," ")?n="space":a.StringWrapper.equals(n,".")&&(n="dot"),l.forEach(function(r){if(r!=n){var i=c.StringMapWrapper.get(h,r);i(e)&&(t+=r+".")}}),t+=n},t.eventCallback=function(e,n,r,i){return function(e){a.StringWrapper.equals(t.getEventFullKey(e),n)&&i.run(function(){return r(e)})}},t._normalizeKey=function(e){switch(e){case"esc":return"escape";default:return e}},t=i([p.Injectable(),o("design:paramtypes",[])],t)}(u.EventManagerPlugin);t.KeyEventsPlugin=f},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=n(186),a=n(5),c=n(14),u=n(6),p=function(e){function t(){e.apply(this,arguments)}return r(t,e),t.prototype.supports=function(t){if(!e.prototype.supports.call(this,t))return!1;if(!a.isPresent(window.Hammer))throw new c.BaseException("Hammer.js is not loaded, can not bind "+t+" event");return!0},t.prototype.addEventListener=function(e,t,n){var r=this.manager.getZone();t=t.toLowerCase(),r.runOutsideAngular(function(){var i=new Hammer(e);i.get("pinch").set({enable:!0}),i.get("rotate").set({enable:!0}),i.on(t,function(e){r.run(function(){n(e)})})})},t=i([u.Injectable(),o("design:paramtypes",[])],t)}(s.HammerGesturesPluginCommon);t.HammerGesturesPlugin=p},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=n(183),o=n(12),s={pan:!0,panstart:!0,panmove:!0,panend:!0,pancancel:!0,panleft:!0,panright:!0,panup:!0,pandown:!0,pinch:!0,pinchstart:!0,pinchmove:!0,pinchend:!0,pinchcancel:!0,pinchin:!0,pinchout:!0,press:!0,pressup:!0,rotate:!0,rotatestart:!0,rotatemove:!0,rotateend:!0,rotatecancel:!0,swipe:!0,swipeleft:!0,swiperight:!0,swipeup:!0,swipedown:!0,tap:!0},a=function(e){function t(){e.call(this)}return r(t,e),t.prototype.supports=function(e){return e=e.toLowerCase(),o.StringMapWrapper.contains(s,e)},t}(i.EventManagerPlugin);t.HammerGesturesPluginCommon=a},function(e,t,n){var r=n(6),i=n(5);t.DOCUMENT=i.CONST_EXPR(new r.OpaqueToken("DocumentToken"))},function(e,t,n){function r(e){return e}function i(e){return e.nodes}function o(e,t){var n=R.DOM.parentElement(e);if(t.length>0&&d.isPresent(n)){var r=R.DOM.nextSibling(e);if(d.isPresent(r))for(var i=0;io?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},p=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},l=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}},h=n(6),f=n(189),d=n(5),y=n(14),v=n(196),m=n(45),g=n(2),_=n(183),b=n(187),C=n(164),P=n(165),w=n(3),R=n(178),E=n(194),O=d.CONST_EXPR({xlink:"http://www.w3.org/1999/xlink",svg:"http://www.w3.org/2000/svg"}),S="template bindings={}",D=/^template bindings=(.*)$/g,T=function(e){function t(){e.apply(this,arguments)}return c(t,e),t.prototype.getNativeElementSync=function(e){return r(e.renderView).boundElements[e.boundElementIndex]},t.prototype.getRootNodes=function(e){return i(e)},t.prototype.attachFragmentAfterFragment=function(e,t){var n=i(e);if(n.length>0){var r=n[n.length-1],s=i(t);o(r,s),this.animateNodesEnter(s)}},t.prototype.animateNodesEnter=function(e){for(var t=0;to?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(6),s=n(190),a=n(195),c=function(){function e(e){this.browserDetails=e}return e.prototype.css=function(){return new s.CssAnimationBuilder(this.browserDetails)},e=r([o.Injectable(),i("design:paramtypes",[a.BrowserDetails])],e)}();t.AnimationBuilder=c},function(e,t,n){var r=n(191),i=n(192),o=function(){function e(e){this.browserDetails=e,this.data=new r.CssAnimationOptions}return e.prototype.addAnimationClass=function(e){return this.data.animationClasses.push(e),this},e.prototype.addClass=function(e){return this.data.classesToAdd.push(e),this},e.prototype.removeClass=function(e){return this.data.classesToRemove.push(e),this},e.prototype.setDuration=function(e){return this.data.duration=e,this},e.prototype.setDelay=function(e){return this.data.delay=e,this},e.prototype.setStyles=function(e,t){return this.setFromStyles(e).setToStyles(t)},e.prototype.setFromStyles=function(e){return this.data.fromStyles=e,this},e.prototype.setToStyles=function(e){return this.data.toStyles=e,this},e.prototype.start=function(e){return new i.Animation(e,this.data,this.browserDetails)},e}();t.CssAnimationBuilder=o},function(e,t){var n=function(){function e(){this.classesToAdd=[],this.classesToRemove=[],this.animationClasses=[]}return e}();t.CssAnimationOptions=n},function(e,t,n){var r=n(5),i=n(193),o=n(194),s=n(12),a=n(178),c=function(){function e(e,t,n){var i=this;this.element=e,this.data=t,this.browserDetails=n,this.callbacks=[],this.eventClearFunctions=[],this.completed=!1,this._stringPrefix="",this.startTime=r.DateWrapper.toMillis(r.DateWrapper.now()),this._stringPrefix=a.DOM.getAnimationPrefix(),this.setup(),this.wait(function(e){return i.start()})}return Object.defineProperty(e.prototype,"totalTime",{get:function(){var e=null!=this.computedDelay?this.computedDelay:0,t=null!=this.computedDuration?this.computedDuration:0;return e+t},enumerable:!0,configurable:!0}),e.prototype.wait=function(e){this.browserDetails.raf(e,2)},e.prototype.setup=function(){null!=this.data.fromStyles&&this.applyStyles(this.data.fromStyles),null!=this.data.duration&&this.applyStyles({transitionDuration:this.data.duration.toString()+"ms"}),null!=this.data.delay&&this.applyStyles({transitionDelay:this.data.delay.toString()+"ms"})},e.prototype.start=function(){this.addClasses(this.data.classesToAdd),this.addClasses(this.data.animationClasses),this.removeClasses(this.data.classesToRemove),null!=this.data.toStyles&&this.applyStyles(this.data.toStyles);var e=a.DOM.getComputedStyle(this.element);this.computedDelay=i.Math.max(this.parseDurationString(e.getPropertyValue(this._stringPrefix+"transition-delay")),this.parseDurationString(this.element.style.getPropertyValue(this._stringPrefix+"transition-delay"))),this.computedDuration=i.Math.max(this.parseDurationString(e.getPropertyValue(this._stringPrefix+"transition-duration")),this.parseDurationString(this.element.style.getPropertyValue(this._stringPrefix+"transition-duration"))),this.addEvents()},e.prototype.applyStyles=function(e){var t=this;s.StringMapWrapper.forEach(e,function(e,n){var i=o.camelCaseToDashCase(n);r.isPresent(a.DOM.getStyle(t.element,i))?a.DOM.setStyle(t.element,i,e.toString()):a.DOM.setStyle(t.element,t._stringPrefix+i,e.toString())})},e.prototype.addClasses=function(e){for(var t=0,n=e.length;n>t;t++)a.DOM.addClass(this.element,e[t])},e.prototype.removeClasses=function(e){for(var t=0,n=e.length;n>t;t++)a.DOM.removeClass(this.element,e[t])},e.prototype.addEvents=function(){var e=this;this.totalTime>0?this.eventClearFunctions.push(a.DOM.onAndCancel(this.element,a.DOM.getTransitionEnd(),function(t){return e.handleAnimationEvent(t)})):this.handleAnimationCompleted()},e.prototype.handleAnimationEvent=function(e){var t=i.Math.round(1e3*e.elapsedTime);this.browserDetails.elapsedTimeIncludesDelay||(t+=this.computedDelay),e.stopPropagation(),t>=this.totalTime&&this.handleAnimationCompleted()},e.prototype.handleAnimationCompleted=function(){this.removeClasses(this.data.animationClasses),this.callbacks.forEach(function(e){return e()}),this.callbacks=[],this.eventClearFunctions.forEach(function(e){return e()}),this.eventClearFunctions=[],this.completed=!0},e.prototype.onComplete=function(e){return this.completed?e():this.callbacks.push(e),this},e.prototype.parseDurationString=function(e){var t=0;if(null==e||e.length<2)return t;if("ms"==e.substring(e.length-2)){var n=r.NumberWrapper.parseInt(this.stripLetters(e),10);n>t&&(t=n)}else if("s"==e.substring(e.length-1)){var o=1e3*r.NumberWrapper.parseFloat(this.stripLetters(e)),n=i.Math.floor(o);n>t&&(t=n)}return t},e.prototype.stripLetters=function(e){return r.StringWrapper.replaceAll(e,r.RegExpWrapper.create("[^0-9]+$",""),"")},e}();t.Animation=c},function(e,t,n){var r=n(5);t.Math=r.global.Math,t.NaN=typeof t.NaN},function(e,t,n){function r(e){return o.StringWrapper.replaceAllMapped(e,s,function(e){return"-"+e[1].toLowerCase()})}function i(e){return o.StringWrapper.replaceAllMapped(e,a,function(e){return e[1].toUpperCase()})}var o=n(5),s=/([A-Z])/g,a=/-([a-z])/g;t.camelCaseToDashCase=r,t.dashCaseToCamelCase=i},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(6),s=n(193),a=n(178),c=function(){function e(){this.elapsedTimeIncludesDelay=!1,this.doesElapsedTimeIncludesDelay()}return e.prototype.doesElapsedTimeIncludesDelay=function(){var e=this,t=a.DOM.createElement("div");a.DOM.setAttribute(t,"style","position: absolute; top: -9999px; left: -9999px; width: 1px;\n height: 1px; transition: all 1ms linear 1ms;"),this.raf(function(n){a.DOM.on(t,"transitionend",function(n){var r=s.Math.round(1e3*n.elapsedTime);e.elapsedTimeIncludesDelay=2==r,a.DOM.remove(t)}),a.DOM.setStyle(t,"width","2px")},2)},e.prototype.raf=function(e,t){void 0===t&&(t=1);var n=new u(e,t);return function(){return n.cancel()}},e=r([o.Injectable(),i("design:paramtypes",[])],e)}();t.BrowserDetails=c;var u=function(){function e(e,t){this.callback=e,this.frames=t,this._raf()}return e.prototype._raf=function(){var e=this;this.currentFrameId=a.DOM.requestAnimationFrame(function(t){return e._nextFrame(t)})},e.prototype._nextFrame=function(e){this.frames--,this.frames>0?this._raf():this.callback(e)},e.prototype.cancel=function(){a.DOM.cancelAnimationFrame(this.currentFrameId),this.currentFrameId=null},e}()},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}},a=n(178),c=n(6),u=n(12),p=n(187),l=function(){function e(){this._styles=[],this._stylesSet=new Set}return e.prototype.addStyles=function(e){var t=this,n=[];e.forEach(function(e){u.SetWrapper.has(t._stylesSet,e)||(t._stylesSet.add(e),t._styles.push(e),n.push(e))}),this.onStylesAdded(n)},e.prototype.onStylesAdded=function(e){},e.prototype.getAllStyles=function(){return this._styles},e=i([c.Injectable(),o("design:paramtypes",[])],e)}();t.SharedStylesHost=l;var h=function(e){function t(t){e.call(this),this._hostNodes=new Set,this._hostNodes.add(t.head)}return r(t,e),t.prototype._addStylesToHost=function(e,t){for(var n=0;n0},t.prototype.tagName=function(e){return e.tagName},t.prototype.attributeMap=function(e){for(var t=new Map,n=e.attributes,r=0;r=200&&300>=i?t.resolve(r):t.reject("Failed to load "+e,null)},n.onerror=function(){t.reject("Failed to load "+e,null)},n.send(),t.promise},t}(s.XHR);t.XHRImpl=a},function(e,t,n){var r=n(5),i=n(178),o=n(2),s=function(){function e(e){this._testability=e}return e.prototype.isStable=function(){return this._testability.isStable()},e.prototype.whenStable=function(e){this._testability.whenStable(e)},e.prototype.findBindings=function(e,t,n){return this.findProviders(e,t,n)},e.prototype.findProviders=function(e,t,n){return this._testability.findBindings(e,t,n)},e}(),a=function(){function e(){}return e.init=function(){o.setTestabilityGetter(new e)},e.prototype.addToWindow=function(e){r.global.getAngularTestability=function(t,n){void 0===n&&(n=!0);var r=e.findTestabilityInTree(t,n);if(null==r)throw new Error("Could not find testability for element.");return new s(r)},r.global.getAllAngularTestabilities=function(){var t=e.getAllTestabilities();return t.map(function(e){return new s(e)})}},e.prototype.findTestabilityInTree=function(e,t,n){if(null==t)return null;var o=e.getTestability(t);return r.isPresent(o)?o:n?i.DOM.isShadowRoot(t)?this.findTestabilityInTree(e,i.DOM.getHost(t),!0):this.findTestabilityInTree(e,i.DOM.parentElement(t),!0):null},e}();t.BrowserGetTestability=a},function(e,t){function n(){}t.wtfInit=n},function(e,t,n){var r=n(178),i=function(){function e(){}return e.prototype.getTitle=function(){return r.DOM.getTitle()},e.prototype.setTitle=function(e){r.DOM.setTitle(e)},e}();t.Title=i},function(e,t,n){function r(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}var i=n(178);t.DOM=i.DOM,t.setRootDomAdapter=i.setRootDomAdapter,t.DomAdapter=i.DomAdapter;var o=n(188);t.DomRenderer=o.DomRenderer;var s=n(187);t.DOCUMENT=s.DOCUMENT;var a=n(196);t.SharedStylesHost=a.SharedStylesHost,t.DomSharedStylesHost=a.DomSharedStylesHost;var c=n(182);t.DomEventsPlugin=c.DomEventsPlugin;var u=n(183);t.EVENT_MANAGER_PLUGINS=u.EVENT_MANAGER_PLUGINS,t.EventManager=u.EventManager,t.EventManagerPlugin=u.EventManagerPlugin,r(n(204)),r(n(205))},function(e,t,n){var r=n(5),i=n(178),o=function(){function e(){}return e.all=function(){return function(e){return!0}},e.css=function(e){return function(t){return r.isPresent(t.nativeElement)?i.DOM.elementMatches(t.nativeElement,e):!1}},e.directive=function(e){return function(t){return t.hasDirective(e)}},e}();t.By=o},function(e,t,n){function r(e,t){c.isPresent(e)&&h.DOM.isElementNode(e)&&h.DOM.setData(e,y,t.join(m))}function i(e){var t=h.DOM.getData(e,y);return c.isPresent(t)?t.split(m).map(function(e){return c.NumberWrapper.parseInt(e,10)}):null}function o(e){var t=i(e);if(c.isPresent(t)){var n=_.get(t[0]);if(c.isPresent(n))return new d.DebugElement_(n,t[1])}return null}var s=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},a=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},c=n(5),u=n(12),p=n(6),l=n(86),h=n(178),f=n(72),d=n(101),y="ngid",v="ng.probe",m="#",g=new u.Map,_=new u.Map,b=0;t.inspectNativeElement=o;var C=function(){function e(e){this._renderer=e,h.DOM.setGlobalVar(v,o)}return e.prototype.onViewCreated=function(e){var t=b++;_.set(t,e),g.set(e,t);for(var n=0;nc||s.DOM.performanceNow()-a<500;)this.appRef.tick(),c++;var u=s.DOM.performanceNow();t&&r&&o.window.console.profileEnd(n);var p=(u-a)/c;o.window.console.log("ran "+c+" change detection cycles"),o.window.console.log(i.NumberWrapper.toFixed(p,2)+" ms per check")},e}();t.AngularProfiler=c},function(e,t){var n=window;t.window=n,t.document=window.document,t.location=window.location,t.gc=window.gc?function(){return window.gc()}:function(){return null},t.performance=window.performance?window.performance:null,t.Event=window.Event,t.MouseEvent=window.MouseEvent,t.KeyboardEvent=window.KeyboardEvent,t.EventTarget=window.EventTarget,t.History=window.History,t.Location=window.Location,t.EventListener=window.EventListener},function(e,t,n){var r=n(2),i=n(210),o=n(218),s=n(222),a=n(221),c=n(223),u=n(216),p=n(220),l=n(212);t.Request=l.Request;var h=n(219);t.Response=h.Response;var f=n(211);t.Connection=f.Connection,t.ConnectionBackend=f.ConnectionBackend;var d=n(221);t.BrowserXhr=d.BrowserXhr;var y=n(216);t.BaseRequestOptions=y.BaseRequestOptions,t.RequestOptions=y.RequestOptions;var v=n(220);t.BaseResponseOptions=v.BaseResponseOptions,t.ResponseOptions=v.ResponseOptions;var m=n(218);t.XHRBackend=m.XHRBackend,t.XHRConnection=m.XHRConnection;var g=n(222);t.JSONPBackend=g.JSONPBackend,t.JSONPConnection=g.JSONPConnection;var _=n(210);t.Http=_.Http,t.Jsonp=_.Jsonp;var b=n(213);t.Headers=b.Headers;var C=n(215);t.ResponseType=C.ResponseType,t.ReadyState=C.ReadyState,t.RequestMethod=C.RequestMethod;var P=n(217);t.URLSearchParams=P.URLSearchParams,t.HTTP_PROVIDERS=[r.provide(i.Http,{useFactory:function(e,t){return new i.Http(e,t)},deps:[o.XHRBackend,u.RequestOptions]}),a.BrowserXhr,r.provide(u.RequestOptions,{useClass:u.BaseRequestOptions}),r.provide(p.ResponseOptions,{useClass:p.BaseResponseOptions}),o.XHRBackend],t.HTTP_BINDINGS=t.HTTP_PROVIDERS,t.JSONP_PROVIDERS=[r.provide(i.Jsonp,{useFactory:function(e,t){return new i.Jsonp(e,t)},deps:[s.JSONPBackend,u.RequestOptions]}),c.BrowserJsonp,r.provide(u.RequestOptions,{useClass:u.BaseRequestOptions}),r.provide(p.ResponseOptions,{useClass:p.BaseResponseOptions}),r.provide(s.JSONPBackend,{useClass:s.JSONPBackend_})],t.JSON_BINDINGS=t.JSONP_PROVIDERS},function(e,t,n){function r(e,t){return e.createConnection(t).response}function i(e,t,n,r){var i=e;return c.isPresent(t)?i.merge(new f.RequestOptions({method:t.method||n,url:t.url||r,search:t.search,headers:t.headers,body:t.body})):c.isPresent(n)?i.merge(new f.RequestOptions({method:n,url:r})):i.merge(new f.RequestOptions({url:r}))}var o=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},s=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},a=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},c=n(5),u=n(14),p=n(2),l=n(211),h=n(212),f=n(216),d=n(215),y=function(){function e(e,t){this._backend=e,this._defaultOptions=t}return e.prototype.request=function(e,t){var n;if(c.isString(e))n=r(this._backend,new h.Request(i(this._defaultOptions,t,d.RequestMethod.Get,e)));else{if(!(e instanceof h.Request))throw u.makeTypeError("First argument must be a url string or Request instance.");n=r(this._backend,e)}return n},e.prototype.get=function(e,t){return r(this._backend,new h.Request(i(this._defaultOptions,t,d.RequestMethod.Get,e)))},e.prototype.post=function(e,t,n){return r(this._backend,new h.Request(i(this._defaultOptions.merge(new f.RequestOptions({body:t})),n,d.RequestMethod.Post,e)))},e.prototype.put=function(e,t,n){return r(this._backend,new h.Request(i(this._defaultOptions.merge(new f.RequestOptions({body:t})),n,d.RequestMethod.Put,e)))},e.prototype["delete"]=function(e,t){return r(this._backend,new h.Request(i(this._defaultOptions,t,d.RequestMethod.Delete,e)))},e.prototype.patch=function(e,t,n){return r(this._backend,new h.Request(i(this._defaultOptions.merge(new f.RequestOptions({body:t})),n,d.RequestMethod.Patch,e)))},e.prototype.head=function(e,t){return r(this._backend,new h.Request(i(this._defaultOptions,t,d.RequestMethod.Head,e)))},e=s([p.Injectable(),a("design:paramtypes",[l.ConnectionBackend,f.RequestOptions])],e)}();t.Http=y;var v=function(e){function t(t,n){e.call(this,t,n)}return o(t,e),t.prototype.request=function(e,t){var n;if(c.isString(e)&&(e=new h.Request(i(this._defaultOptions,t,d.RequestMethod.Get,e))),!(e instanceof h.Request))throw u.makeTypeError("First argument must be a url string or Request instance.");return e.method!==d.RequestMethod.Get&&u.makeTypeError("JSONP requests must use GET request method."),n=r(this._backend,e)},t=s([p.Injectable(),a("design:paramtypes",[l.ConnectionBackend,f.RequestOptions])],t)}(y);t.Jsonp=v},function(e,t){var n=function(){function e(){}return e}();t.ConnectionBackend=n;var r=function(){function e(){}return e}();t.Connection=r},function(e,t,n){var r=n(213),i=n(214),o=n(5),s=function(){function e(e){var t=e.url;if(this.url=e.url,o.isPresent(e.search)){var n=e.search.toString();if(n.length>0){var s="?";o.StringWrapper.contains(this.url,"?")&&(s="&"==this.url[this.url.length-1]?"":"&"),this.url=t+s+n}}this._body=e.body,this.method=i.normalizeMethodName(e.method),this.headers=new r.Headers(e.headers)}return e.prototype.text=function(){return o.isPresent(this._body)?this._body.toString():""},e}();t.Request=s},function(e,t,n){var r=n(5),i=n(14),o=n(12),s=function(){function e(t){var n=this;return t instanceof e?void(this._headersMap=t._headersMap):(this._headersMap=new o.Map,void(r.isBlank(t)||o.StringMapWrapper.forEach(t,function(e,t){n._headersMap.set(t,o.isListLikeIterable(e)?e:[e])})))}return e.fromResponseHeaderString=function(t){return t.trim().split("\n").map(function(e){return e.split(":")}).map(function(e){var t=e[0],n=e.slice(1);return[t.trim(),n.join(":").trim()]}).reduce(function(e,t){var n=t[0],r=t[1];return!e.set(n,r)&&e},new e)},e.prototype.append=function(e,t){var n=this._headersMap.get(e),r=o.isListLikeIterable(n)?n:[];r.push(t),this._headersMap.set(e,r)},e.prototype["delete"]=function(e){this._headersMap["delete"](e)},e.prototype.forEach=function(e){this._headersMap.forEach(e)},e.prototype.get=function(e){return o.ListWrapper.first(this._headersMap.get(e))},e.prototype.has=function(e){return this._headersMap.has(e)},e.prototype.keys=function(){return o.MapWrapper.keys(this._headersMap)},e.prototype.set=function(e,t){var n=[];if(o.isListLikeIterable(t)){var r=t.join(",");n.push(r)}else n.push(t);this._headersMap.set(e,n)},e.prototype.values=function(){return o.MapWrapper.values(this._headersMap)},e.prototype.toJSON=function(){return r.Json.stringify(this.values())},e.prototype.getAll=function(e){var t=this._headersMap.get(e);return o.isListLikeIterable(t)?t:[]},e.prototype.entries=function(){throw new i.BaseException('"entries" method is not implemented on Headers class')},e}();t.Headers=s},function(e,t,n){function r(e){if(o.isString(e)){var t=e;if(e=e.replace(/(\w)(\w*)/g,function(e,t,n){return t.toUpperCase()+n.toLowerCase()}),e=s.RequestMethod[e],"number"!=typeof e)throw a.makeTypeError('Invalid request method. The method "'+t+'" is not supported.')}return e}function i(e){return"responseURL"in e?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):void 0}var o=n(5),s=n(215),a=n(14);t.normalizeMethodName=r,t.isSuccess=function(e){return e>=200&&300>e},t.getResponseURL=i;var c=n(5);t.isJsObject=c.isJsObject},function(e,t){!function(e){e[e.Get=0]="Get",e[e.Post=1]="Post",e[e.Put=2]="Put",e[e.Delete=3]="Delete",e[e.Options=4]="Options",e[e.Head=5]="Head",e[e.Patch=6]="Patch"}(t.RequestMethod||(t.RequestMethod={}));t.RequestMethod;!function(e){e[e.Unsent=0]="Unsent",e[e.Open=1]="Open",e[e.HeadersReceived=2]="HeadersReceived",e[e.Loading=3]="Loading",e[e.Done=4]="Done",e[e.Cancelled=5]="Cancelled"}(t.ReadyState||(t.ReadyState={}));t.ReadyState;!function(e){e[e.Basic=0]="Basic",e[e.Cors=1]="Cors",e[e.Default=2]="Default",e[e.Error=3]="Error",e[e.Opaque=4]="Opaque"}(t.ResponseType||(t.ResponseType={}));t.ResponseType},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=n(5),a=n(213),c=n(215),u=n(2),p=n(217),l=n(214),h=function(){function e(e){var t=void 0===e?{}:e,n=t.method,r=t.headers,i=t.body,o=t.url,a=t.search;this.method=s.isPresent(n)?l.normalizeMethodName(n):null,this.headers=s.isPresent(r)?r:null,this.body=s.isPresent(i)?i:null,this.url=s.isPresent(o)?o:null,this.search=s.isPresent(a)?s.isString(a)?new p.URLSearchParams(a):a:null}return e.prototype.merge=function(t){return new e({method:s.isPresent(t)&&s.isPresent(t.method)?t.method:this.method,headers:s.isPresent(t)&&s.isPresent(t.headers)?t.headers:this.headers,body:s.isPresent(t)&&s.isPresent(t.body)?t.body:this.body,url:s.isPresent(t)&&s.isPresent(t.url)?t.url:this.url,search:s.isPresent(t)&&s.isPresent(t.search)?s.isString(t.search)?new p.URLSearchParams(t.search):t.search.clone():this.search})},e}();t.RequestOptions=h;var f=function(e){function t(){e.call(this,{method:c.RequestMethod.Get,headers:new a.Headers})}return r(t,e),t=i([u.Injectable(),o("design:paramtypes",[])],t)}(h);t.BaseRequestOptions=f},function(e,t,n){function r(e){void 0===e&&(e="");var t=new o.Map;if(e.length>0){var n=e.split("&");n.forEach(function(e){var n=e.split("="),r=n[0],o=n[1],s=i.isPresent(t.get(r))?t.get(r):[];s.push(o),t.set(r,s)})}return t}var i=n(5),o=n(12),s=function(){function e(e){void 0===e&&(e=""),this.rawParams=e,this.paramsMap=r(e)}return e.prototype.clone=function(){var t=new e;return t.appendAll(this),t},e.prototype.has=function(e){return this.paramsMap.has(e)},e.prototype.get=function(e){var t=this.paramsMap.get(e);return o.isListLikeIterable(t)?o.ListWrapper.first(t):null},e.prototype.getAll=function(e){var t=this.paramsMap.get(e);return i.isPresent(t)?t:[]},e.prototype.set=function(e,t){var n=this.paramsMap.get(e),r=i.isPresent(n)?n:[];o.ListWrapper.clear(r),r.push(t),this.paramsMap.set(e,r)},e.prototype.setAll=function(e){var t=this;e.paramsMap.forEach(function(e,n){var r=t.paramsMap.get(n),s=i.isPresent(r)?r:[];o.ListWrapper.clear(s),s.push(e[0]),t.paramsMap.set(n,s)})},e.prototype.append=function(e,t){var n=this.paramsMap.get(e),r=i.isPresent(n)?n:[];r.push(t),this.paramsMap.set(e,r)},e.prototype.appendAll=function(e){var t=this;e.paramsMap.forEach(function(e,n){for(var r=t.paramsMap.get(n),o=i.isPresent(r)?r:[],s=0;so?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(215),s=n(219),a=n(213),c=n(220),u=n(2),p=n(221),l=n(5),h=n(62),f=n(214),d=function(){function e(e,t,n){var r=this;this.request=e,this.response=new h.Observable(function(i){var u=t.build();u.open(o.RequestMethod[e.method].toUpperCase(),e.url);var p=function(){var e=l.isPresent(u.response)?u.response:u.responseText,t=a.Headers.fromResponseHeaderString(u.getAllResponseHeaders()),r=f.getResponseURL(u),o=1223===u.status?204:u.status;0===o&&(o=e?200:0);var p=new c.ResponseOptions({body:e,status:o,headers:t,url:r});l.isPresent(n)&&(p=n.merge(p));var h=new s.Response(p);return f.isSuccess(o)?(i.next(h),void i.complete()):void i.error(h)},h=function(e){var t=new c.ResponseOptions({body:e,type:o.ResponseType.Error});l.isPresent(n)&&(t=n.merge(t)),i.error(new s.Response(t))};return l.isPresent(e.headers)&&e.headers.forEach(function(e,t){return u.setRequestHeader(t,e.join(","))}),u.addEventListener("load",p),u.addEventListener("error",h),u.send(r.request.text()),function(){u.removeEventListener("load",p),u.removeEventListener("error",h),u.abort()}})}return e}();t.XHRConnection=d;var y=function(){function e(e,t){this._browserXHR=e,this._baseResponseOptions=t}return e.prototype.createConnection=function(e){return new d(e,this._browserXHR,this._baseResponseOptions)},e=r([u.Injectable(),i("design:paramtypes",[p.BrowserXhr,c.ResponseOptions])],e)}();t.XHRBackend=y},function(e,t,n){var r=n(5),i=n(14),o=n(214),s=function(){function e(e){this._body=e.body,this.status=e.status,this.statusText=e.statusText,this.headers=e.headers,this.type=e.type,this.url=e.url}return e.prototype.blob=function(){throw new i.BaseException('"blob()" method not implemented on Response superclass')},e.prototype.json=function(){var e;return o.isJsObject(this._body)?e=this._body:r.isString(this._body)&&(e=r.Json.parse(this._body)),e},e.prototype.text=function(){return this._body.toString()},e.prototype.arrayBuffer=function(){throw new i.BaseException('"arrayBuffer()" method not implemented on Response superclass')},e}();t.Response=s},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=n(2),a=n(5),c=n(213),u=n(215),p=function(){function e(e){var t=void 0===e?{}:e,n=t.body,r=t.status,i=t.headers,o=t.statusText,s=t.type,c=t.url;this.body=a.isPresent(n)?n:null,this.status=a.isPresent(r)?r:null,this.headers=a.isPresent(i)?i:null,this.statusText=a.isPresent(o)?o:null,this.type=a.isPresent(s)?s:null,this.url=a.isPresent(c)?c:null}return e.prototype.merge=function(t){return new e({body:a.isPresent(t)&&a.isPresent(t.body)?t.body:this.body,status:a.isPresent(t)&&a.isPresent(t.status)?t.status:this.status,headers:a.isPresent(t)&&a.isPresent(t.headers)?t.headers:this.headers,statusText:a.isPresent(t)&&a.isPresent(t.statusText)?t.statusText:this.statusText,type:a.isPresent(t)&&a.isPresent(t.type)?t.type:this.type,url:a.isPresent(t)&&a.isPresent(t.url)?t.url:this.url})},e}();t.ResponseOptions=p;var l=function(e){function t(){e.call(this,{status:200,statusText:"Ok",type:u.ResponseType.Default,headers:new c.Headers})}return r(t,e),t=i([s.Injectable(),o("design:paramtypes",[])],t)}(p);t.BaseResponseOptions=l},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(2),s=function(){function e(){}return e.prototype.build=function(){return new XMLHttpRequest},e=r([o.Injectable(),i("design:paramtypes",[])],e)}();t.BrowserXhr=s},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=n(211),a=n(215),c=n(219),u=n(220),p=n(2),l=n(223),h=n(14),f=n(5),d=n(62),y="JSONP injected script did not invoke callback.",v="JSONP requests must use GET request method.",m=function(){function e(){}return e}();t.JSONPConnection=m;var g=function(e){function t(t,n,r){var i=this;if(e.call(this),this._dom=n,this.baseResponseOptions=r,this._finished=!1,t.method!==a.RequestMethod.Get)throw h.makeTypeError(v);this.request=t,this.response=new d.Observable(function(e){i.readyState=a.ReadyState.Loading;var o=i._id=n.nextRequestID();n.exposeConnection(o,i);var s=n.requestCallback(i._id),p=t.url;p.indexOf("=JSONP_CALLBACK&")>-1?p=f.StringWrapper.replace(p,"=JSONP_CALLBACK&","="+s+"&"):p.lastIndexOf("=JSONP_CALLBACK")===p.length-"=JSONP_CALLBACK".length&&(p=p.substring(0,p.length-"=JSONP_CALLBACK".length)+("="+s));var l=i._script=n.build(p),h=function(t){if(i.readyState!==a.ReadyState.Cancelled){if(i.readyState=a.ReadyState.Done,n.cleanup(l),!i._finished){var o=new u.ResponseOptions({body:y,type:a.ResponseType.Error,url:p});return f.isPresent(r)&&(o=r.merge(o)),void e.error(new c.Response(o))}var s=new u.ResponseOptions({body:i._responseData,url:p});f.isPresent(i.baseResponseOptions)&&(s=i.baseResponseOptions.merge(s)),e.next(new c.Response(s)),e.complete()}},d=function(t){if(i.readyState!==a.ReadyState.Cancelled){i.readyState=a.ReadyState.Done,n.cleanup(l);var o=new u.ResponseOptions({body:t.message,type:a.ResponseType.Error});f.isPresent(r)&&(o=r.merge(o)),e.error(new c.Response(o))}};return l.addEventListener("load",h),l.addEventListener("error",d),n.send(l),function(){i.readyState=a.ReadyState.Cancelled,l.removeEventListener("load",h),l.removeEventListener("error",d),f.isPresent(l)&&i._dom.cleanup(l)}})}return r(t,e),t.prototype.finished=function(e){this._finished=!0,this._dom.removeConnection(this._id),this.readyState!==a.ReadyState.Cancelled&&(this._responseData=e)},t}(m);t.JSONPConnection_=g;var _=function(e){function t(){e.apply(this,arguments)}return r(t,e),t}(s.ConnectionBackend);t.JSONPBackend=_;var b=function(e){function t(t,n){e.call(this),this._browserJSONP=t,this._baseResponseOptions=n}return r(t,e),t.prototype.createConnection=function(e){return new g(e,this._browserJSONP,this._baseResponseOptions)},t=i([p.Injectable(),o("design:paramtypes",[l.BrowserJsonp,u.ResponseOptions])],t)}(_);t.JSONPBackend_=b},function(e,t,n){function r(){return null===u&&(u=a.global[t.JSONP_HOME]={}),u}var i=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=n(2),a=n(5),c=0;t.JSONP_HOME="__ng_jsonp__";var u=null,p=function(){function e(){}return e.prototype.build=function(e){var t=document.createElement("script");return t.src=e,t},e.prototype.nextRequestID=function(){return"__req"+c++},e.prototype.requestCallback=function(e){return t.JSONP_HOME+"."+e+".finished"},e.prototype.exposeConnection=function(e,t){var n=r();n[e]=t},e.prototype.removeConnection=function(e){var t=r();t[e]=null},e.prototype.send=function(e){document.body.appendChild(e)},e.prototype.cleanup=function(e){e.parentNode&&e.parentNode.removeChild(e)},e=i([s.Injectable(),o("design:paramtypes",[])],e)}();t.BrowserJsonp=p},function(e,t,n){function r(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}function i(e,t,n,r){var i=new P.RootRouter(e,t,n);return r.registerDisposeListener(function(){return i.dispose()}),i}function o(e){if(0==e.componentTypes.length)throw new T.BaseException("Bootstrap at least one component before injecting Router.");return e.componentTypes[0]}var s=n(225);t.Router=s.Router;var a=n(241);t.RouterOutlet=a.RouterOutlet;var c=n(243);t.RouterLink=c.RouterLink;var u=n(229);t.RouteParams=u.RouteParams,t.RouteData=u.RouteData;var p=n(244);t.PlatformLocation=p.PlatformLocation;var l=n(226);t.RouteRegistry=l.RouteRegistry,t.ROUTER_PRIMARY_COMPONENT=l.ROUTER_PRIMARY_COMPONENT;var h=n(238);t.LocationStrategy=h.LocationStrategy,t.APP_BASE_HREF=h.APP_BASE_HREF;var f=n(245);t.HashLocationStrategy=f.HashLocationStrategy;var d=n(246);t.PathLocationStrategy=d.PathLocationStrategy;var y=n(237);t.Location=y.Location,r(n(236)),r(n(247));var v=n(242);t.CanActivate=v.CanActivate;var m=n(229);t.Instruction=m.Instruction,t.ComponentInstruction=m.ComponentInstruction;var g=n(2);t.OpaqueToken=g.OpaqueToken;var _=n(244),b=n(238),C=n(246),P=n(225),w=n(241),R=n(243),E=n(226),O=n(237),S=n(2),D=n(5),T=n(14);t.ROUTER_DIRECTIVES=D.CONST_EXPR([w.RouterOutlet,R.RouterLink]),t.ROUTER_PROVIDERS=D.CONST_EXPR([E.RouteRegistry,D.CONST_EXPR(new S.Provider(b.LocationStrategy,{useClass:C.PathLocationStrategy})),_.PlatformLocation,O.Location,D.CONST_EXPR(new S.Provider(P.Router,{useFactory:i,deps:D.CONST_EXPR([E.RouteRegistry,O.Location,E.ROUTER_PRIMARY_COMPONENT,S.ApplicationRef])})),D.CONST_EXPR(new S.Provider(E.ROUTER_PRIMARY_COMPONENT,{useFactory:o,deps:D.CONST_EXPR([S.ApplicationRef])}))]),t.ROUTER_BINDINGS=t.ROUTER_PROVIDERS},function(e,t,n){function r(e,t){var n=v;return p.isPresent(e.child)&&(n=r(e.child,p.isPresent(t)?t.child:null)),n.then(function(n){if(0==n)return!1;if(e.component.reuse)return!0;var r=y.getCanActivateHook(e.component.componentType);return p.isPresent(r)?r(e.component,p.isPresent(t)?t.component:null):!0})}var i=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},o=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},s=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},a=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}},c=n(60),u=n(12),p=n(5),l=n(14),h=n(2),f=n(226),d=n(237),y=n(239),v=c.PromiseWrapper.resolve(!0),m=c.PromiseWrapper.resolve(!1),g=function(){function e(e,t,n){this.registry=e,this.parent=t,this.hostComponent=n,this.navigating=!1,this._currentInstruction=null,this._currentNavigation=v,this._outlet=null,this._auxRouters=new u.Map,this._subject=new c.EventEmitter}return e.prototype.childRouter=function(e){return this._childRouter=new b(this,e)},e.prototype.auxRouter=function(e){return new b(this,e)},e.prototype.registerPrimaryOutlet=function(e){if(p.isPresent(e.name))throw new l.BaseException("registerPrimaryOutlet expects to be called with an unnamed outlet.");return this._outlet=e,p.isPresent(this._currentInstruction)?this.commit(this._currentInstruction,!1):v},e.prototype.registerAuxOutlet=function(e){var t=e.name;if(p.isBlank(t))throw new l.BaseException("registerAuxOutlet expects to be called with an outlet with a name.");var n=this.auxRouter(this.hostComponent);this._auxRouters.set(t,n),n._outlet=e;var r;return p.isPresent(this._currentInstruction)&&p.isPresent(r=this._currentInstruction.auxInstruction[t])?n.commit(r):v},e.prototype.isRouteActive=function(e){for(var t=this;p.isPresent(t.parent)&&p.isPresent(e.child);)t=t.parent,e=e.child;return p.isPresent(this._currentInstruction)&&this._currentInstruction.component==e.component},e.prototype.config=function(e){var t=this;return e.forEach(function(e){t.registry.config(t.hostComponent,e)}),this.renavigate()},e.prototype.navigate=function(e){var t=this.generate(e);return this.navigateByInstruction(t,!1)},e.prototype.navigateByUrl=function(e,t){var n=this;return void 0===t&&(t=!1),this._currentNavigation=this._currentNavigation.then(function(r){return n.lastNavigationAttempt=e,n._startNavigating(),n._afterPromiseFinishNavigating(n.recognize(e).then(function(e){return p.isBlank(e)?!1:n._navigate(e,t)}))})},e.prototype.navigateByInstruction=function(e,t){var n=this;return void 0===t&&(t=!1),p.isBlank(e)?m:this._currentNavigation=this._currentNavigation.then(function(r){return n._startNavigating(),n._afterPromiseFinishNavigating(n._navigate(e,t))})},e.prototype._navigate=function(e,t){var n=this;return this._settleInstruction(e).then(function(t){return n._routerCanReuse(e)}).then(function(t){return n._canActivate(e)}).then(function(r){return r?n._routerCanDeactivate(e).then(function(r){return r?n.commit(e,t).then(function(t){return n._emitNavigationFinish(e.toRootUrl()),!0}):void 0}):!1})},e.prototype._settleInstruction=function(e){var t=this;return e.resolveComponent().then(function(n){e.component.reuse=!1;var r=[];return p.isPresent(e.child)&&r.push(t._settleInstruction(e.child)),u.StringMapWrapper.forEach(e.auxInstruction,function(e,n){r.push(t._settleInstruction(e))}), c.PromiseWrapper.all(r)})},e.prototype._emitNavigationFinish=function(e){c.ObservableWrapper.callEmit(this._subject,e)},e.prototype._afterPromiseFinishNavigating=function(e){var t=this;return c.PromiseWrapper.catchError(e.then(function(e){return t._finishNavigating()}),function(e){throw t._finishNavigating(),e})},e.prototype._routerCanReuse=function(e){var t=this;return p.isBlank(this._outlet)?m:this._outlet.routerCanReuse(e.component).then(function(n){return e.component.reuse=n,n&&p.isPresent(t._childRouter)&&p.isPresent(e.child)?t._childRouter._routerCanReuse(e.child):void 0})},e.prototype._canActivate=function(e){return r(e,this._currentInstruction)},e.prototype._routerCanDeactivate=function(e){var t=this;if(p.isBlank(this._outlet))return v;var n,r=null,i=!1,o=null;return p.isPresent(e)&&(r=e.child,o=e.component,i=e.component.reuse),n=i?v:this._outlet.routerCanDeactivate(o),n.then(function(e){return 0==e?!1:p.isPresent(t._childRouter)?t._childRouter._routerCanDeactivate(r):!0})},e.prototype.commit=function(e,t){var n=this;void 0===t&&(t=!1),this._currentInstruction=e;var r=v;if(p.isPresent(this._outlet)){var i=e.component;r=i.reuse?this._outlet.reuse(i):this.deactivate(e).then(function(e){return n._outlet.activate(i)}),p.isPresent(e.child)&&(r=r.then(function(t){return p.isPresent(n._childRouter)?n._childRouter.commit(e.child):void 0}))}var o=[];return this._auxRouters.forEach(function(t,n){p.isPresent(e.auxInstruction[n])&&o.push(t.commit(e.auxInstruction[n]))}),r.then(function(e){return c.PromiseWrapper.all(o)})},e.prototype._startNavigating=function(){this.navigating=!0},e.prototype._finishNavigating=function(){this.navigating=!1},e.prototype.subscribe=function(e){return c.ObservableWrapper.subscribe(this._subject,e)},e.prototype.deactivate=function(e){var t=this,n=null,r=null;p.isPresent(e)&&(n=e.child,r=e.component);var i=v;return p.isPresent(this._childRouter)&&(i=this._childRouter.deactivate(n)),p.isPresent(this._outlet)&&(i=i.then(function(e){return t._outlet.deactivate(r)})),i},e.prototype.recognize=function(e){var t=this._getAncestorInstructions();return this.registry.recognize(e,t)},e.prototype._getAncestorInstructions=function(){for(var e=[],t=this;p.isPresent(t.parent)&&p.isPresent(t.parent._currentInstruction);)t=t.parent,e.unshift(t._currentInstruction);return e},e.prototype.renavigate=function(){return p.isBlank(this.lastNavigationAttempt)?this._currentNavigation:this.navigateByUrl(this.lastNavigationAttempt)},e.prototype.generate=function(e){var t=this._getAncestorInstructions();return this.registry.generate(e,t)},e}();t.Router=g;var _=function(e){function t(t,n,r){var i=this;e.call(this,t,null,r),this._location=n,this._locationSub=this._location.subscribe(function(e){i.recognize(e.url).then(function(t){i.navigateByInstruction(t,p.isPresent(e.pop)).then(function(n){if(!p.isPresent(e.pop)||"hashchange"==e.type){var r=t.toUrlPath(),o=t.toUrlQuery();r.length>0&&(r="/"+r),"hashchange"==e.type?t.toRootUrl()!=i._location.path()&&i._location.replaceState(r,o):i._location.go(r,o)}})})}),this.registry.configFromComponent(r),this.navigateByUrl(n.path())}return i(t,e),t.prototype.commit=function(t,n){var r=this;void 0===n&&(n=!1);var i=t.toUrlPath(),o=t.toUrlQuery();i.length>0&&(i="/"+i);var s=e.prototype.commit.call(this,t);return n||(s=s.then(function(e){r._location.go(i,o)})),s},t.prototype.dispose=function(){p.isPresent(this._locationSub)&&(c.ObservableWrapper.dispose(this._locationSub),this._locationSub=null)},t=o([h.Injectable(),a(2,h.Inject(f.ROUTER_PRIMARY_COMPONENT)),s("design:paramtypes",[f.RouteRegistry,d.Location,p.Type])],t)}(g);t.RootRouter=_;var b=function(e){function t(t,n){e.call(this,t.registry,t,n),this.parent=t}return i(t,e),t.prototype.navigateByUrl=function(e,t){return void 0===t&&(t=!1),this.parent.navigateByUrl(e,t)},t.prototype.navigateByInstruction=function(e,t){return void 0===t&&(t=!1),this.parent.navigateByInstruction(e,t)},t}(g)},function(e,t,n){function r(e){return e.reduce(function(e,t){if(l.isString(t)){var n=t;return e.concat(n.split("/"))}return e.push(t),e},[])}function i(e){return u.ListWrapper.maximum(e,function(e){return e.specificity})}function o(e,t){if(l.isType(e)){var n=f.reflector.annotations(e);if(l.isPresent(n))for(var r=0;ro?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},a=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},c=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}},u=n(12),p=n(60),l=n(5),h=n(14),f=n(16),d=n(2),y=n(227),v=n(228),m=n(232),g=n(229),_=n(235),b=n(231),C=p.PromiseWrapper.resolve(null);t.ROUTER_PRIMARY_COMPONENT=l.CONST_EXPR(new d.OpaqueToken("RouterPrimaryComponent"));var P=function(){function e(e){this._rootComponent=e,this._rules=new u.Map}return e.prototype.config=function(e,t){t=_.normalizeRouteConfig(t,this),t instanceof y.Route?_.assertComponentExists(t.component,t.path):t instanceof y.AuxRoute&&_.assertComponentExists(t.component,t.path);var n=this._rules.get(e);l.isBlank(n)&&(n=new m.ComponentRecognizer,this._rules.set(e,n));var r=n.config(t);t instanceof y.Route&&(r?o(t.component,t.path):this.configFromComponent(t.component))},e.prototype.configFromComponent=function(e){var t=this;if(l.isType(e)&&!this._rules.has(e)){var n=f.reflector.annotations(e);if(l.isPresent(n))for(var r=0;r0?t[t.length-1].component.componentType:this._rootComponent,s=this._rules.get(o);if(l.isBlank(s))return C;var a=n?s.recognizeAuxiliary(e):s.recognize(e),c=a.map(function(e){return e.then(function(e){if(e instanceof v.PathMatch){var n=t.length>0?[t[t.length-1]]:[],i=r._auxRoutesToUnresolved(e.remainingAux,n),o=new g.ResolvedInstruction(e.instruction,null,i);if(e.instruction.terminal)return o;var s=t.concat([o]);return r._recognize(e.remaining,s).then(function(e){return l.isBlank(e)?null:e instanceof g.RedirectInstruction?e:(o.child=e,o)})}if(e instanceof v.RedirectMatch){var o=r.generate(e.redirectTo,t);return new g.RedirectInstruction(o.component,o.child,o.auxInstruction)}})});return!l.isBlank(e)&&""!=e.path||0!=a.length?p.PromiseWrapper.all(c).then(i):p.PromiseWrapper.resolve(this.generateDefault(o))},e.prototype._auxRoutesToUnresolved=function(e,t){var n=this,r={};return e.forEach(function(e){r[e.path]=new g.UnresolvedInstruction(function(){return n._recognize(e,t,!0)})}),r},e.prototype.generate=function(e,t,n){void 0===n&&(n=!1);var i=r(e),o=u.ListWrapper.first(i),s=u.ListWrapper.slice(i,1);if(""==o)t=[];else if(".."==o){for(t.pop();".."==u.ListWrapper.first(s);)if(s=u.ListWrapper.slice(s,1),t.pop(),t.length<=0)throw new h.BaseException('Link "'+u.ListWrapper.toJSON(e)+'" has too many "../" segments.')}else if("."!=o){var a=this._rootComponent,c=null;t.length>1?(a=t[t.length-1].component.componentType,c=t[t.length-2].component.componentType):1==t.length&&(a=t[0].component.componentType,c=this._rootComponent);var p=this.hasRoute(o,a),f=l.isPresent(c)&&this.hasRoute(o,c);if(f&&p){var d='Link "'+u.ListWrapper.toJSON(e)+'" is ambiguous, use "./" or "../" to disambiguate.';throw new h.BaseException(d)}f&&t.pop(),s=e}if(""==s[s.length-1]&&s.pop(),s.length<1){var d='Link "'+u.ListWrapper.toJSON(e)+'" must include a route name.';throw new h.BaseException(d)}for(var y=this._generate(s,t,n),v=t.length-1;v>=0;v--){var m=t[v];y=m.replaceChild(y)}return y},e.prototype._generate=function(e,t,n){var r=this;void 0===n&&(n=!1);var i=t.length>0?t[t.length-1].component.componentType:this._rootComponent;if(0==e.length)return this.generateDefault(i);var o=0,s=e[o];if(!l.isString(s))throw new h.BaseException('Unexpected segment "'+s+'" in link DSL. Expected a string.');if(""==s||"."==s||".."==s)throw new h.BaseException('"'+s+'/" is only allowed at the beginning of a link DSL.');var a={};if(o+10?[t[t.length-1]]:[],y=this._generate(p,d,!0);f[y.component.urlPath]=y,o+=1}var v=this._rules.get(i);if(l.isBlank(v))throw new h.BaseException('Component "'+l.getTypeNameForDebugging(i)+'" has no route config.');var m=(n?v.auxNames:v.names).get(s);if(!l.isPresent(m))throw new h.BaseException('Component "'+l.getTypeNameForDebugging(i)+'" has no route named "'+s+'".');if(!l.isPresent(m.handler.componentType)){var _=m.generateComponentPathValues(a);return new g.UnresolvedInstruction(function(){return m.handler.resolveComponentType().then(function(i){return r._generate(e,t,n)})},_.urlPath,_.urlParams)}var b=n?v.generateAuxiliary(s,a):v.generate(s,a),C=e.slice(o+1),P=new g.ResolvedInstruction(b,null,f);if(l.isPresent(b.componentType)){var w=null;if(o+1o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(5),s=function(){function e(e){this.configs=e}return e=r([o.CONST(),i("design:paramtypes",[Array])],e)}();t.RouteConfig=s;var a=function(){function e(e){var t=e.path,n=e.component,r=e.name,i=e.data,o=e.useAsDefault;this.aux=null,this.loader=null,this.redirectTo=null,this.path=t,this.component=n,this.name=r,this.data=i,this.useAsDefault=o}return e=r([o.CONST(),i("design:paramtypes",[Object])],e)}();t.Route=a;var c=function(){function e(e){var t=e.path,n=e.component,r=e.name;this.data=null,this.aux=null,this.loader=null,this.redirectTo=null,this.useAsDefault=!1,this.path=t,this.component=n,this.name=r}return e=r([o.CONST(),i("design:paramtypes",[Object])],e)}();t.AuxRoute=c;var u=function(){function e(e){var t=e.path,n=e.loader,r=e.name,i=e.data,o=e.useAsDefault;this.aux=null,this.path=t,this.loader=n,this.name=r,this.data=i,this.useAsDefault=o}return e=r([o.CONST(),i("design:paramtypes",[Object])],e)}();t.AsyncRoute=u;var p=function(){function e(e){var t=e.path,n=e.redirectTo;this.name=null,this.loader=null,this.data=null,this.aux=null,this.useAsDefault=!1,this.path=t,this.redirectTo=n}return e=r([o.CONST(),i("design:paramtypes",[Object])],e)}();t.Redirect=p},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=n(5),o=n(14),s=n(61),a=n(12),c=n(229),u=n(230),p=function(){function e(){}return e}();t.RouteMatch=p;var l=function(e){function t(t,n,r){e.call(this),this.instruction=t,this.remaining=n,this.remainingAux=r}return r(t,e),t}(p);t.PathMatch=l;var h=function(e){function t(t,n){e.call(this),this.redirectTo=t,this.specificity=n}return r(t,e),t}(p);t.RedirectMatch=h;var f=function(){function e(e,t){this.path=e,this.redirectTo=t,this._pathRecognizer=new u.PathRecognizer(e),this.hash=this._pathRecognizer.hash}return e.prototype.recognize=function(e){var t=null;return i.isPresent(this._pathRecognizer.recognize(e))&&(t=new h(this.redirectTo,this._pathRecognizer.specificity)),s.PromiseWrapper.resolve(t)},e.prototype.generate=function(e){throw new o.BaseException("Tried to generate a redirect.")},e}();t.RedirectRecognizer=f;var d=function(){function e(e,t){this.path=e,this.handler=t,this.terminal=!0,this._cache=new a.Map,this._pathRecognizer=new u.PathRecognizer(e),this.specificity=this._pathRecognizer.specificity,this.hash=this._pathRecognizer.hash,this.terminal=this._pathRecognizer.terminal}return e.prototype.recognize=function(e){var t=this,n=this._pathRecognizer.recognize(e);return i.isBlank(n)?null:this.handler.resolveComponentType().then(function(e){var r=t._getInstruction(n.urlPath,n.urlParams,n.allParams);return new l(r,n.nextSegment,n.auxiliary)})},e.prototype.generate=function(e){var t=this._pathRecognizer.generate(e),n=t.urlPath,r=t.urlParams;return this._getInstruction(n,r,e)},e.prototype.generateComponentPathValues=function(e){return this._pathRecognizer.generate(e)},e.prototype._getInstruction=function(e,t,n){if(i.isBlank(this.handler.componentType))throw new o.BaseException("Tried to get instruction before the type was loaded.");var r=e+"?"+t.join("?");if(this._cache.has(r))return this._cache.get(r);var s=new c.ComponentInstruction(e,t,this.handler.data,this.handler.componentType,this.terminal,this.specificity,n);return this._cache.set(r,s),s},e}();t.RouteRecognizer=d},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=n(12),o=n(5),s=n(60),a=function(){function e(e){this.params=e}return e.prototype.get=function(e){return o.normalizeBlank(i.StringMapWrapper.get(this.params,e))},e}();t.RouteParams=a;var c=function(){function e(e){void 0===e&&(e=o.CONST_EXPR({})),this.data=e}return e.prototype.get=function(e){return o.normalizeBlank(i.StringMapWrapper.get(this.data,e))},e}();t.RouteData=c,t.BLANK_ROUTE_DATA=new c;var u=function(){function e(){this.auxInstruction={}}return Object.defineProperty(e.prototype,"urlPath",{get:function(){return this.component.urlPath},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"urlParams",{get:function(){return this.component.urlParams},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"specificity",{get:function(){var e=0;return o.isPresent(this.component)&&(e+=this.component.specificity),o.isPresent(this.child)&&(e+=this.child.specificity),e},enumerable:!0,configurable:!0}),e.prototype.toRootUrl=function(){return this.toUrlPath()+this.toUrlQuery()},e.prototype._toNonRootUrl=function(){return this._stringifyPathMatrixAuxPrefixed()+(o.isPresent(this.child)?this.child._toNonRootUrl():"")},e.prototype.toUrlQuery=function(){return this.urlParams.length>0?"?"+this.urlParams.join("&"):""},e.prototype.replaceChild=function(e){return new p(this.component,e,this.auxInstruction)},e.prototype.toUrlPath=function(){return this.urlPath+this._stringifyAux()+(o.isPresent(this.child)?this.child._toNonRootUrl():"")},e.prototype.toLinkUrl=function(){return this.urlPath+this._stringifyAux()+(o.isPresent(this.child)?this.child._toLinkUrl():"")},e.prototype._toLinkUrl=function(){return this._stringifyPathMatrixAuxPrefixed()+(o.isPresent(this.child)?this.child._toLinkUrl():"")},e.prototype._stringifyPathMatrixAuxPrefixed=function(){var e=this._stringifyPathMatrixAux();return e.length>0&&(e="/"+e),e},e.prototype._stringifyMatrixParams=function(){return this.urlParams.length>0?";"+this.component.urlParams.join(";"):""},e.prototype._stringifyPathMatrixAux=function(){return o.isBlank(this.component)?"":this.urlPath+this._stringifyMatrixParams()+this._stringifyAux()},e.prototype._stringifyAux=function(){var e=[];return i.StringMapWrapper.forEach(this.auxInstruction,function(t,n){e.push(t._stringifyPathMatrixAux())}),e.length>0?"("+e.join("//")+")":""},e}();t.Instruction=u;var p=function(e){function t(t,n,r){e.call(this),this.component=t,this.child=n,this.auxInstruction=r}return r(t,e),t.prototype.resolveComponent=function(){return s.PromiseWrapper.resolve(this.component)},t}(u);t.ResolvedInstruction=p;var l=function(e){function t(t,n){e.call(this),this.component=t,this.child=n}return r(t,e),t.prototype.resolveComponent=function(){return s.PromiseWrapper.resolve(this.component)},t.prototype.toLinkUrl=function(){return""},t.prototype._toLinkUrl=function(){return""},t}(u);t.DefaultInstruction=l;var h=function(e){function t(t,n,r){void 0===n&&(n=""),void 0===r&&(r=o.CONST_EXPR([])),e.call(this),this._resolver=t,this._urlPath=n,this._urlParams=r}return r(t,e),Object.defineProperty(t.prototype,"urlPath",{get:function(){return o.isPresent(this.component)?this.component.urlPath:o.isPresent(this._urlPath)?this._urlPath:""},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"urlParams",{get:function(){return o.isPresent(this.component)?this.component.urlParams:o.isPresent(this._urlParams)?this._urlParams:[]},enumerable:!0,configurable:!0}),t.prototype.resolveComponent=function(){var e=this;return o.isPresent(this.component)?s.PromiseWrapper.resolve(this.component):this._resolver().then(function(t){return e.child=t.child,e.component=t.component})},t}(u);t.UnresolvedInstruction=h;var f=function(e){function t(t,n,r){e.call(this,t,n,r)}return r(t,e),t}(p);t.RedirectInstruction=f;var d=function(){function e(e,n,r,i,s,a,c){void 0===c&&(c=null),this.urlPath=e,this.urlParams=n,this.componentType=i,this.terminal=s,this.specificity=a,this.params=c,this.reuse=!1,this.routeData=o.isPresent(r)?r:t.BLANK_ROUTE_DATA}return e}();t.ComponentInstruction=d},function(e,t,n){function r(e){return c.isBlank(e)?null:e.toString()}function i(e){e.startsWith("/")&&(e=e.substring(1));var t=s(e),n=[],r=0;if(t.length>98)throw new u.BaseException("'"+e+"' has more than the maximum supported number of segments.");for(var i=t.length-1,o=0;i>=o;o++){var a,l=t[o];if(c.isPresent(a=c.RegExpWrapper.firstMatch(m,l)))n.push(new y(a[1])),r+=100-o;else if(c.isPresent(a=c.RegExpWrapper.firstMatch(g,l)))n.push(new v(a[1]));else if("..."==l){if(i>o)throw new u.BaseException('Unexpected "..." before the end of the path for "'+e+'".');n.push(new f)}else n.push(new d(l)),r+=100*(100-o)}var h=p.StringMapWrapper.create();return p.StringMapWrapper.set(h,"segments",n),p.StringMapWrapper.set(h,"specificity",r),h}function o(e){return e.map(function(e){return e instanceof v?"*":e instanceof f?"...":e instanceof y?":":e instanceof d?e.path:void 0}).join("/")}function s(e){return e.split("/")}function a(e){if(c.StringWrapper.contains(e,"#"))throw new u.BaseException('Path "'+e+'" should not include "#". Use "HashLocationStrategy" instead.');var t=c.RegExpWrapper.firstMatch(_,e);if(c.isPresent(t))throw new u.BaseException('Path "'+e+'" contains "'+t[0]+'" which is not allowed in a route config.')}var c=n(5),u=n(14),p=n(12),l=n(231),h=function(){function e(e){var t=this;this.map={},this.keys={},c.isPresent(e)&&p.StringMapWrapper.forEach(e,function(e,n){t.map[n]=c.isPresent(e)?e.toString():null,t.keys[n]=!0})}return e.prototype.get=function(e){return p.StringMapWrapper["delete"](this.keys,e),this.map[e]},e.prototype.getUnused=function(){var e=this,t={},n=p.StringMapWrapper.keys(this.keys);return n.forEach(function(n){return t[n]=p.StringMapWrapper.get(e.map,n)}),t},e}(),f=function(){function e(){this.name=""}return e.prototype.generate=function(e){return""},e.prototype.match=function(e){return!0},e}(),d=function(){function e(e){this.path=e,this.name=""}return e.prototype.match=function(e){return e==this.path},e.prototype.generate=function(e){return this.path},e}(),y=function(){function e(e){this.name=e}return e.prototype.match=function(e){return e.length>0},e.prototype.generate=function(e){if(!p.StringMapWrapper.contains(e.map,this.name))throw new u.BaseException("Route generator for '"+this.name+"' was not included in parameters passed.");return r(e.get(this.name))},e}(),v=function(){function e(e){this.name=e}return e.prototype.match=function(e){return!0},e.prototype.generate=function(e){return r(e.get(this.name))},e}(),m=/^:([^\/]+)$/g,g=/^\*([^\/]+)$/g,_=c.RegExpWrapper.create("//|\\(|\\)|;|\\?|="),b=function(){function e(e){this.path=e,this.terminal=!0,a(e);var t=i(e);this._segments=t.segments,this.specificity=t.specificity,this.hash=o(this._segments);var n=this._segments[this._segments.length-1];this.terminal=!(n instanceof f)}return e.prototype.recognize=function(e){for(var t,n=e,r={},i=[],o=0;o=0;n-=1)t=new p(e[n],t);return t}function i(e){var t=c.RegExpWrapper.firstMatch(h,e);return c.isPresent(t)?t[0]:""}function o(e){var t=[];return c.isPresent(e)&&a.StringMapWrapper.forEach(e,function(e,n){1==e?t.push(n):t.push(n+"="+e)}),t}var s=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},a=n(12),c=n(5),u=n(14),p=function(){function e(e,t,n,r){void 0===t&&(t=null),void 0===n&&(n=c.CONST_EXPR([])),void 0===r&&(r=null),this.path=e,this.child=t,this.auxiliary=n,this.params=r}return e.prototype.toString=function(){return this.path+this._matrixParamsToString()+this._auxToString()+this._childString()},e.prototype.segmentToString=function(){return this.path+this._matrixParamsToString()},e.prototype._auxToString=function(){return this.auxiliary.length>0?"("+this.auxiliary.map(function(e){return e.toString()}).join("//")+")":""},e.prototype._matrixParamsToString=function(){return c.isBlank(this.params)?"":";"+o(this.params).join(";")},e.prototype._childString=function(){return c.isPresent(this.child)?"/"+this.child.toString():""},e}();t.Url=p;var l=function(e){function t(t,n,r,i){void 0===n&&(n=null),void 0===r&&(r=c.CONST_EXPR([])),void 0===i&&(i=null),e.call(this,t,n,r,i)}return s(t,e),t.prototype.toString=function(){return this.path+this._auxToString()+this._childString()+this._queryParamsToString()},t.prototype.segmentToString=function(){return this.path+this._queryParamsToString()},t.prototype._queryParamsToString=function(){return c.isBlank(this.params)?"":"?"+o(this.params).join("&")},t}(p);t.RootUrl=l,t.pathSegmentsToUrl=r;var h=c.RegExpWrapper.create("^[^\\/\\(\\)\\?;=&#]+"),f=function(){function e(){}return e.prototype.peekStartsWith=function(e){return this._remaining.startsWith(e)},e.prototype.capture=function(e){if(!this._remaining.startsWith(e))throw new u.BaseException('Expected "'+e+'".');this._remaining=this._remaining.substring(e.length)},e.prototype.parse=function(e){return this._remaining=e,""==e||"/"==e?new p(""):this.parseRoot()},e.prototype.parseRoot=function(){this.peekStartsWith("/")&&this.capture("/");var e=i(this._remaining);this.capture(e);var t=[];this.peekStartsWith("(")&&(t=this.parseAuxiliaryRoutes()),this.peekStartsWith(";")&&this.parseMatrixParams();var n=null;this.peekStartsWith("/")&&!this.peekStartsWith("//")&&(this.capture("/"),n=this.parseSegment());var r=null;return this.peekStartsWith("?")&&(r=this.parseQueryParams()),new l(e,n,t,r)},e.prototype.parseSegment=function(){if(0==this._remaining.length)return null;this.peekStartsWith("/")&&this.capture("/");var e=i(this._remaining);this.capture(e);var t=null;this.peekStartsWith(";")&&(t=this.parseMatrixParams());var n=[];this.peekStartsWith("(")&&(n=this.parseAuxiliaryRoutes());var r=null;return this.peekStartsWith("/")&&!this.peekStartsWith("//")&&(this.capture("/"),r=this.parseSegment()),new p(e,r,n,t)},e.prototype.parseQueryParams=function(){var e={};for(this.capture("?"),this.parseParam(e);this._remaining.length>0&&this.peekStartsWith("&");)this.capture("&"),this.parseParam(e);return e},e.prototype.parseMatrixParams=function(){for(var e={};this._remaining.length>0&&this.peekStartsWith(";");)this.capture(";"),this.parseParam(e);return e},e.prototype.parseParam=function(e){var t=i(this._remaining);if(!c.isBlank(t)){this.capture(t);var n=!0;if(this.peekStartsWith("=")){this.capture("=");var r=i(this._remaining);c.isPresent(r)&&(n=r,this.capture(n))}e[t]=n}},e.prototype.parseAuxiliaryRoutes=function(){var e=[];for(this.capture("(");!this.peekStartsWith(")")&&this._remaining.length>0;)e.push(this.parseSegment()),this.peekStartsWith("//")&&this.capture("//");return this.capture(")"),e},e}();t.UrlParser=f,t.parser=new f,t.serializeParams=o},function(e,t,n){var r=n(5),i=n(14),o=n(12),s=n(60),a=n(228),c=n(227),u=n(233),p=n(234),l=function(){function e(){this.names=new o.Map,this.auxNames=new o.Map,this.auxRoutes=new o.Map,this.matchers=[],this.defaultRoute=null}return e.prototype.config=function(e){var t;if(r.isPresent(e.name)&&e.name[0].toUpperCase()!=e.name[0]){var n=e.name[0].toUpperCase()+e.name.substring(1);throw new i.BaseException('Route "'+e.path+'" with name "'+e.name+'" does not begin with an uppercase letter. Route names should be CamelCase like "'+n+'".')}if(e instanceof c.AuxRoute){t=new p.SyncRouteHandler(e.component,e.data);var o=e.path.startsWith("/")?e.path.substring(1):e.path,s=new a.RouteRecognizer(e.path,t);return this.auxRoutes.set(o,s),r.isPresent(e.name)&&this.auxNames.set(e.name,s),s.terminal}var l=!1;if(e instanceof c.Redirect){var h=new a.RedirectRecognizer(e.path,e.redirectTo);return this._assertNoHashCollision(h.hash,e.path),this.matchers.push(h),!0}e instanceof c.Route?(t=new p.SyncRouteHandler(e.component,e.data),l=r.isPresent(e.useAsDefault)&&e.useAsDefault):e instanceof c.AsyncRoute&&(t=new u.AsyncRouteHandler(e.loader,e.data),l=r.isPresent(e.useAsDefault)&&e.useAsDefault);var s=new a.RouteRecognizer(e.path,t);if(this._assertNoHashCollision(s.hash,e.path),l){if(r.isPresent(this.defaultRoute))throw new i.BaseException("Only one route can be default");this.defaultRoute=s}return this.matchers.push(s),r.isPresent(e.name)&&this.names.set(e.name,s),s.terminal},e.prototype._assertNoHashCollision=function(e,t){this.matchers.forEach(function(n){if(e==n.hash)throw new i.BaseException("Configuration '"+t+"' conflicts with existing route '"+n.path+"'")})},e.prototype.recognize=function(e){var t=[];return this.matchers.forEach(function(n){var i=n.recognize(e);r.isPresent(i)&&t.push(i)}),t},e.prototype.recognizeAuxiliary=function(e){var t=this.auxRoutes.get(e.path);return r.isPresent(t)?[t.recognize(e)]:[s.PromiseWrapper.resolve(null)]},e.prototype.hasRoute=function(e){return this.names.has(e)},e.prototype.componentLoaded=function(e){return this.hasRoute(e)&&r.isPresent(this.names.get(e).handler.componentType)},e.prototype.loadComponent=function(e){return this.names.get(e).handler.resolveComponentType()},e.prototype.generate=function(e,t){var n=this.names.get(e);return r.isBlank(n)?null:n.generate(t)},e.prototype.generateAuxiliary=function(e,t){var n=this.auxNames.get(e);return r.isBlank(n)?null:n.generate(t)},e}();t.ComponentRecognizer=l},function(e,t,n){var r=n(5),i=n(229),o=function(){function e(e,t){void 0===t&&(t=null),this._loader=e,this._resolvedComponent=null,this.data=r.isPresent(t)?new i.RouteData(t):i.BLANK_ROUTE_DATA}return e.prototype.resolveComponentType=function(){var e=this;return r.isPresent(this._resolvedComponent)?this._resolvedComponent:this._resolvedComponent=this._loader().then(function(t){return e.componentType=t,t})},e}();t.AsyncRouteHandler=o},function(e,t,n){var r=n(60),i=n(5),o=n(229),s=function(){function e(e,t){this.componentType=e,this._resolvedComponent=null,this._resolvedComponent=r.PromiseWrapper.resolve(e),this.data=i.isPresent(t)?new o.RouteData(t):o.BLANK_ROUTE_DATA}return e.prototype.resolveComponentType=function(){return this._resolvedComponent},e}();t.SyncRouteHandler=s},function(e,t,n){function r(e,t){if(e instanceof s.AsyncRoute){var n=i(e.loader,t);return new s.AsyncRoute({path:e.path,loader:n,name:e.name,data:e.data,useAsDefault:e.useAsDefault})}if(e instanceof s.Route||e instanceof s.Redirect||e instanceof s.AuxRoute)return e;if(+!!e.component+ +!!e.redirectTo+ +!!e.loader!=1)throw new c.BaseException('Route config should contain exactly one "component", "loader", or "redirectTo" property.');if(e.as&&e.name)throw new c.BaseException('Route config should contain exactly one "as" or "name" property.');if(e.as&&(e.name=e.as),e.loader){var n=i(e.loader,t);return new s.AsyncRoute({path:e.path,loader:n,name:e.name,useAsDefault:e.useAsDefault})}if(e.aux)return new s.AuxRoute({path:e.aux,component:e.component,name:e.name});if(e.component){if("object"==typeof e.component){var r=e.component;if("constructor"==r.type)return new s.Route({path:e.path,component:r.constructor,name:e.name,data:e.data,useAsDefault:e.useAsDefault});if("loader"==r.type)return new s.AsyncRoute({path:e.path,loader:r.loader,name:e.name,useAsDefault:e.useAsDefault});throw new c.BaseException('Invalid component type "'+r.type+'". Valid types are "constructor" and "loader".')}return new s.Route(e)}return e.redirectTo?new s.Redirect({path:e.path,redirectTo:e.redirectTo}):e}function i(e,t){return function(){return e().then(function(e){return t.configFromComponent(e),e})}}function o(e,t){if(!a.isType(e))throw new c.BaseException('Component for route "'+t+'" is not defined, or is not a class.')}var s=n(236),a=n(5),c=n(14);t.normalizeRouteConfig=r,t.assertComponentExists=o},function(e,t,n){var r=n(227),i=n(9),o=n(227);t.Route=o.Route,t.Redirect=o.Redirect,t.AuxRoute=o.AuxRoute,t.AsyncRoute=o.AsyncRoute,t.RouteConfig=i.makeDecorator(r.RouteConfig)},function(e,t,n){function r(e,t){return e.length>0&&t.startsWith(e)?t.substring(e.length):t}function i(e){return/\/index.html$/g.test(e)?e.substring(0,e.length-11):e}function o(e){return/\/$/g.test(e)&&(e=e.substring(0,e.length-1)),e}var s=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},a=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},c=n(238),u=n(60),p=n(2),l=function(){function e(e){ var t=this;this.platformStrategy=e,this._subject=new u.EventEmitter;var n=this.platformStrategy.getBaseHref();this._baseHref=o(i(n)),this.platformStrategy.onPopState(function(e){u.ObservableWrapper.callEmit(t._subject,{url:t.path(),pop:!0,type:e.type})})}return e.prototype.path=function(){return this.normalize(this.platformStrategy.path())},e.prototype.normalize=function(e){return o(r(this._baseHref,i(e)))},e.prototype.prepareExternalUrl=function(e){return e.length>0&&!e.startsWith("/")&&(e="/"+e),this.platformStrategy.prepareExternalUrl(e)},e.prototype.go=function(e,t){void 0===t&&(t=""),this.platformStrategy.pushState(null,"",e,t)},e.prototype.replaceState=function(e,t){void 0===t&&(t=""),this.platformStrategy.replaceState(null,"",e,t)},e.prototype.forward=function(){this.platformStrategy.forward()},e.prototype.back=function(){this.platformStrategy.back()},e.prototype.subscribe=function(e,t,n){return void 0===t&&(t=null),void 0===n&&(n=null),u.ObservableWrapper.subscribe(this._subject,e,t,n)},e=s([p.Injectable(),a("design:paramtypes",[c.LocationStrategy])],e)}();t.Location=l},function(e,t,n){function r(e){return e.length>0&&"?"!=e.substring(0,1)?"?"+e:e}function i(e,t){if(0==e.length)return t;if(0==t.length)return e;var n=0;return e.endsWith("/")&&n++,t.startsWith("/")&&n++,2==n?e+t.substring(1):1==n?e+t:e+"/"+t}var o=n(5),s=n(2),a=function(){function e(){}return e}();t.LocationStrategy=a,t.APP_BASE_HREF=o.CONST_EXPR(new s.OpaqueToken("appBaseHref")),t.normalizeQueryParams=r,t.joinWithSlash=i},function(e,t,n){function r(e,t){return t instanceof o.Type?e.name in t.prototype:!1}function i(e){for(var t=a.reflector.annotations(e),n=0;no?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(5),s=function(){function e(e){this.name=e}return e=r([o.CONST(),i("design:paramtypes",[String])],e)}();t.RouteLifecycleHook=s;var a=function(){function e(e){this.fn=e}return e=r([o.CONST(),i("design:paramtypes",[Function])],e)}();t.CanActivate=a,t.routerCanReuse=o.CONST_EXPR(new s("routerCanReuse")),t.routerCanDeactivate=o.CONST_EXPR(new s("routerCanDeactivate")),t.routerOnActivate=o.CONST_EXPR(new s("routerOnActivate")),t.routerOnReuse=o.CONST_EXPR(new s("routerOnReuse")),t.routerOnDeactivate=o.CONST_EXPR(new s("routerOnDeactivate"))},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}},s=n(60),a=n(12),c=n(5),u=n(14),p=n(2),l=n(225),h=n(229),f=n(242),d=n(239),y=s.PromiseWrapper.resolve(!0),v=function(){function e(e,t,n,r){this._elementRef=e,this._loader=t,this._parentRouter=n,this.name=null,this._componentRef=null,this._currentInstruction=null,c.isPresent(r)?(this.name=r,this._parentRouter.registerAuxOutlet(this)):this._parentRouter.registerPrimaryOutlet(this)}return e.prototype.activate=function(e){var t=this,n=this._currentInstruction;this._currentInstruction=e;var r=e.componentType,i=this._parentRouter.childRouter(r),o=p.Injector.resolve([p.provide(h.RouteData,{useValue:e.routeData}),p.provide(h.RouteParams,{useValue:new h.RouteParams(e.params)}),p.provide(l.Router,{useValue:i})]);return this._loader.loadNextToLocation(r,this._elementRef,o).then(function(i){return t._componentRef=i,d.hasLifecycleHook(f.routerOnActivate,r)?t._componentRef.instance.routerOnActivate(e,n):void 0})},e.prototype.reuse=function(e){var t=this._currentInstruction;if(this._currentInstruction=e,c.isBlank(this._componentRef))throw new u.BaseException("Cannot reuse an outlet that does not contain a component.");return s.PromiseWrapper.resolve(d.hasLifecycleHook(f.routerOnReuse,this._currentInstruction.componentType)?this._componentRef.instance.routerOnReuse(e,t):!0)},e.prototype.deactivate=function(e){var t=this,n=y;return c.isPresent(this._componentRef)&&c.isPresent(this._currentInstruction)&&d.hasLifecycleHook(f.routerOnDeactivate,this._currentInstruction.componentType)&&(n=s.PromiseWrapper.resolve(this._componentRef.instance.routerOnDeactivate(e,this._currentInstruction))),n.then(function(e){c.isPresent(t._componentRef)&&(t._componentRef.dispose(),t._componentRef=null)})},e.prototype.routerCanDeactivate=function(e){return c.isBlank(this._currentInstruction)?y:d.hasLifecycleHook(f.routerCanDeactivate,this._currentInstruction.componentType)?s.PromiseWrapper.resolve(this._componentRef.instance.routerCanDeactivate(e,this._currentInstruction)):y},e.prototype.routerCanReuse=function(e){var t;return t=c.isBlank(this._currentInstruction)||this._currentInstruction.componentType!=e.componentType?!1:d.hasLifecycleHook(f.routerCanReuse,this._currentInstruction.componentType)?this._componentRef.instance.routerCanReuse(e,this._currentInstruction):e==this._currentInstruction||c.isPresent(e.params)&&c.isPresent(this._currentInstruction.params)&&a.StringMapWrapper.equals(e.params,this._currentInstruction.params),s.PromiseWrapper.resolve(t)},e=r([p.Directive({selector:"router-outlet"}),o(3,p.Attribute("name")),i("design:paramtypes",[p.ElementRef,p.DynamicComponentLoader,l.Router,String])],e)}();t.RouterOutlet=v},function(e,t,n){var r=n(9),i=n(240),o=n(240);t.routerCanReuse=o.routerCanReuse,t.routerCanDeactivate=o.routerCanDeactivate,t.routerOnActivate=o.routerOnActivate,t.routerOnReuse=o.routerOnReuse,t.routerOnDeactivate=o.routerOnDeactivate,t.CanActivate=r.makeDecorator(i.CanActivate)},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(2),s=n(5),a=n(225),c=n(237),u=function(){function e(e,t){this._router=e,this._location=t}return Object.defineProperty(e.prototype,"isRouteActive",{get:function(){return this._router.isRouteActive(this._navigationInstruction)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"routeParams",{set:function(e){this._routeParams=e,this._navigationInstruction=this._router.generate(this._routeParams);var t=this._navigationInstruction.toLinkUrl();this.visibleHref=this._location.prepareExternalUrl(t)},enumerable:!0,configurable:!0}),e.prototype.onClick=function(){return s.isString(this.target)&&"_self"!=this.target?!0:(this._router.navigateByInstruction(this._navigationInstruction),!1)},e=r([o.Directive({selector:"[routerLink]",inputs:["routeParams: routerLink","target: target"],host:{"(click)":"onClick()","[attr.href]":"visibleHref","[class.router-link-active]":"isRouteActive"}}),i("design:paramtypes",[a.Router,c.Location])],e)}();t.RouterLink=u},function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},o=n(178),s=n(2),a=function(){function e(){this._init()}return e.prototype._init=function(){this._location=o.DOM.getLocation(),this._history=o.DOM.getHistory()},e.prototype.getBaseHrefFromDOM=function(){return o.DOM.getBaseHref()},e.prototype.onPopState=function(e){o.DOM.getGlobalEventTarget("window").addEventListener("popstate",e,!1)},e.prototype.onHashChange=function(e){o.DOM.getGlobalEventTarget("window").addEventListener("hashchange",e,!1)},Object.defineProperty(e.prototype,"pathname",{get:function(){return this._location.pathname},set:function(e){this._location.pathname=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"search",{get:function(){return this._location.search},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hash",{get:function(){return this._location.hash},enumerable:!0,configurable:!0}),e.prototype.pushState=function(e,t,n){this._history.pushState(e,t,n)},e.prototype.replaceState=function(e,t,n){this._history.replaceState(e,t,n)},e.prototype.forward=function(){this._history.forward()},e.prototype.back=function(){this._history.back()},e=r([s.Injectable(),i("design:paramtypes",[])],e)}();t.PlatformLocation=a},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}},a=n(2),c=n(238),u=n(5),p=n(244),l=function(e){function t(t,n){e.call(this),this._platformLocation=t,this._baseHref="",u.isPresent(n)&&(this._baseHref=n)}return r(t,e),t.prototype.onPopState=function(e){this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e)},t.prototype.getBaseHref=function(){return this._baseHref},t.prototype.path=function(){var e=this._platformLocation.hash;return(e.length>0?e.substring(1):e)+c.normalizeQueryParams(this._platformLocation.search)},t.prototype.prepareExternalUrl=function(e){var t=c.joinWithSlash(this._baseHref,e);return t.length>0?"#"+t:t},t.prototype.pushState=function(e,t,n,r){var i=this.prepareExternalUrl(n+c.normalizeQueryParams(r));0==i.length&&(i=this._platformLocation.pathname),this._platformLocation.pushState(e,t,i)},t.prototype.replaceState=function(e,t,n,r){var i=this.prepareExternalUrl(n+c.normalizeQueryParams(r));0==i.length&&(i=this._platformLocation.pathname),this._platformLocation.replaceState(e,t,i)},t.prototype.forward=function(){this._platformLocation.forward()},t.prototype.back=function(){this._platformLocation.back()},t=i([a.Injectable(),s(1,a.Optional()),s(1,a.Inject(c.APP_BASE_HREF)),o("design:paramtypes",[p.PlatformLocation,String])],t)}(c.LocationStrategy);t.HashLocationStrategy=l},function(e,t,n){var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}},a=n(2),c=n(5),u=n(14),p=n(238),l=n(244),h=function(e){function t(t,n){if(e.call(this),this._platformLocation=t,c.isBlank(n)&&(n=this._platformLocation.getBaseHrefFromDOM()),c.isBlank(n))throw new u.BaseException("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=n}return r(t,e),t.prototype.onPopState=function(e){this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e)},t.prototype.getBaseHref=function(){return this._baseHref},t.prototype.prepareExternalUrl=function(e){return p.joinWithSlash(this._baseHref,e)},t.prototype.path=function(){return this._platformLocation.pathname+p.normalizeQueryParams(this._platformLocation.search)},t.prototype.pushState=function(e,t,n,r){var i=this.prepareExternalUrl(n+p.normalizeQueryParams(r));this._platformLocation.pushState(e,t,i)},t.prototype.replaceState=function(e,t,n,r){var i=this.prepareExternalUrl(n+p.normalizeQueryParams(r));this._platformLocation.replaceState(e,t,i)},t.prototype.forward=function(){this._platformLocation.forward()},t.prototype.back=function(){this._platformLocation.back()},t=i([a.Injectable(),s(1,a.Optional()),s(1,a.Inject(p.APP_BASE_HREF)),o("design:paramtypes",[l.PlatformLocation,String])],t)}(p.LocationStrategy);t.PathLocationStrategy=h},function(e,t){},function(e,t,n){var r=n(147),i=n(2),o=n(249),s=n(5),a=n(249);t.RouterLinkTransform=a.RouterLinkTransform,t.ROUTER_LINK_DSL_PROVIDER=s.CONST_EXPR(new i.Provider(r.TEMPLATE_TRANSFORMS,{useClass:o.RouterLinkTransform,multi:!0}))},function(e,t,n){function r(e,t){var n=new v(e,t.trim()).tokenize();return new m(n).generate()}var i=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},o=this&&this.__decorate||function(e,t,n,r){var i,o=arguments.length,s=3>o?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(3>o?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},s=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},a=n(147),c=n(30),u=n(14),p=n(2),l=n(32),h=function(){function e(e){this.value=e}return e}(),f=function(){function e(){}return e}(),d=function(){function e(){}return e}(),y=function(){function e(e){this.ast=e}return e}(),v=function(){function e(e,t){this.parser=e,this.exp=t,this.index=0}return e.prototype.tokenize=function(){for(var e=[];this.indexn;n++)t.insertBefore(e[n],this.contentInserctionPoint)},e.prototype.setupOutputs=function(){for(var e=this,t=this.attrs,n=this.info.outputs,r=0;r1)throw new Error("Only support single directive definition for: "+this.name);var n=t[0];n.replace&&this.notSupported("replace"),n.terminal&&this.notSupported("terminal");var r=n.link;return"object"==typeof r&&r.post&&this.notSupported("link.post"),n},e.prototype.notSupported=function(e){throw new Error("Upgraded directive '"+this.name+"' does not support '"+e+"'.")},e.prototype.extractBindings=function(){var e=this.directive.scope;if("object"==typeof e)for(var t in e)if(e.hasOwnProperty(t)){var n=e[t],r=n.charAt(0);n=n.substr(1)||t;var i="output_"+t,o=i+": "+t,s=i+": "+t+"Change",a="input_"+t,c=a+": "+t;switch(r){case"=":this.propertyOutputs.push(i),this.checkProperties.push(n),this.outputs.push(i),this.outputsRename.push(s),this.propertyMap[i]=n;case"@":this.inputs.push(a),this.inputsRename.push(c),this.propertyMap[a]=n;break;case"&":this.outputs.push(i),this.outputsRename.push(o),this.propertyMap[i]=n;break;default:var u=JSON.stringify(e);throw new Error("Unexpected mapping '"+r+"' in '"+u+"' in '"+this.name+"' directive.")}}},e.prototype.compileTemplate=function(e,t,n){function r(t){var n=document.createElement("div");return n.innerHTML=t,e(n.childNodes)}var i=this;if(void 0!==this.directive.template)this.linkFn=r(this.directive.template);else{if(!this.directive.templateUrl)throw new Error("Directive '"+this.name+"' is not a component, it is missing template.");var o=this.directive.templateUrl,s=t.get(o);if(void 0===s)return new Promise(function(e,s){n("GET",o,null,function(n,a){200==n?e(i.linkFn=r(t.put(o,a))):s("GET "+o+" returned "+n+": "+a)})});this.linkFn=r(s)}return null},e.resolve=function(e,t){var n=[],r=t.get(i.NG1_COMPILE),o=t.get(i.NG1_TEMPLATE_CACHE),s=t.get(i.NG1_HTTP_BACKEND),a=t.get(i.NG1_CONTROLLER);for(var c in e)if(e.hasOwnProperty(c)){var u=e[c];u.directive=u.extractDirective(t),u.$controller=a,u.extractBindings();var p=u.compileTemplate(r,o,s);p&&n.push(p)}return Promise.all(n)},e}();t.UpgradeNg1ComponentAdapterBuilder=p;var l=function(){function e(e,t,n,i,a,p,l,h,f,d){this.directive=n,this.inputs=p,this.outputs=l,this.propOuts=h,this.checkProperties=f,this.propertyMap=d,this.destinationObj=null,this.checkLastValues=[];for(var y,v=i.nativeElement,m=[];y=v.firstChild;)v.removeChild(y),m.push(y);var g=t.$new(!!n.scope),_=s.element(v),b=n.controller,C=null;if(b){var P={$scope:g,$element:_};C=a(b,P,null,n.controllerAs),_.data(o.controllerKey(n.name),C)}var w=n.link;if("object"==typeof w&&(w=w.pre),w){var R=u,E=u,O=this.resolveRequired(_,n.require);n.link(g,_,R,O,E)}this.destinationObj=n.bindToController&&C?C:g,e(g,function(e,t){for(var n=0,r=e.length;r>n;n++)v.appendChild(e[n])},{parentBoundTranscludeFn:function(e,t){t(m)}});for(var S=0;S