/** * @license Angular v2.4.5 * (c) 2010-2016 Google, Inc. https://angular.io/ * License: MIT */ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core')) : typeof define === 'function' && define.amd ? define(['exports', '@angular/common', '@angular/core'], factory) : (factory((global.ng = global.ng || {}, global.ng.platformBrowser = global.ng.platformBrowser || {}),global.ng.common,global.ng.core)); }(this, function (exports,_angular_common,core) { 'use strict'; var /** @type {?} */ DebugDomRootRenderer = core.__core_private__.DebugDomRootRenderer; var /** @type {?} */ NoOpAnimationPlayer = core.__core_private__.NoOpAnimationPlayer; /** * \@experimental */ var NoOpAnimationDriver = (function () { function NoOpAnimationDriver() { } /** * @param {?} element * @param {?} startingStyles * @param {?} keyframes * @param {?} duration * @param {?} delay * @param {?} easing * @param {?=} previousPlayers * @return {?} */ NoOpAnimationDriver.prototype.animate = function (element, startingStyles, keyframes, duration, delay, easing, previousPlayers) { if (previousPlayers === void 0) { previousPlayers = []; } return new NoOpAnimationPlayer(); }; return NoOpAnimationDriver; }()); /** * \@experimental * @abstract */ var AnimationDriver = (function () { function AnimationDriver() { } /** * @abstract * @param {?} element * @param {?} startingStyles * @param {?} keyframes * @param {?} duration * @param {?} delay * @param {?} easing * @param {?=} previousPlayers * @return {?} */ AnimationDriver.prototype.animate = function (element, startingStyles, keyframes, duration, delay, easing, previousPlayers) { }; AnimationDriver.NOOP = new NoOpAnimationDriver(); return AnimationDriver; }()); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var /** @type {?} */ globalScope; if (typeof window === 'undefined') { if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) { // TODO: Replace any with WorkerGlobalScope from lib.webworker.d.ts #3492 globalScope = (self); } else { globalScope = (global); } } else { globalScope = (window); } // Need to declare a new variable for global here since TypeScript // exports the original value of the symbol. var /** @type {?} */ global$1 = globalScope; // TODO: remove calls to assert in production environment // Note: Can't just export this and import in in other files // as `assert` is a reserved keyword in Dart global$1.assert = function assert(condition) { // TODO: to be fixed properly via #2830, noop for now }; /** * @param {?} obj * @return {?} */ function isPresent(obj) { return obj != null; } /** * @param {?} obj * @return {?} */ function isBlank(obj) { return obj == null; } /** * @param {?} token * @return {?} */ function stringify(token) { if (typeof token === 'string') { return token; } if (token == null) { return '' + token; } if (token.overriddenName) { return "" + token.overriddenName; } if (token.name) { return "" + token.name; } var /** @type {?} */ res = token.toString(); var /** @type {?} */ newLineIndex = res.indexOf('\n'); return newLineIndex === -1 ? res : res.substring(0, newLineIndex); } /** * @param {?} global * @param {?} path * @param {?} value * @return {?} */ function setValueOnPath(global, path, value) { var /** @type {?} */ parts = path.split('.'); var /** @type {?} */ obj = global; while (parts.length > 1) { var /** @type {?} */ name_1 = parts.shift(); if (obj.hasOwnProperty(name_1) && obj[name_1] != null) { obj = obj[name_1]; } else { obj = obj[name_1] = {}; } } if (obj === undefined || obj === null) { obj = {}; } obj[parts.shift()] = value; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var /** @type {?} */ _DOM = null; /** * @return {?} */ function getDOM() { return _DOM; } /** * @param {?} adapter * @return {?} */ function setRootDomAdapter(adapter) { if (!_DOM) { _DOM = adapter; } } /** * Provides DOM operations in an environment-agnostic way. * * \@security Tread carefully! Interacting with the DOM directly is dangerous and * can introduce XSS risks. * @abstract */ var DomAdapter = (function () { function DomAdapter() { this.resourceLoaderType = null; } /** * @abstract * @param {?} element * @param {?} name * @return {?} */ DomAdapter.prototype.hasProperty = function (element /** TODO #9100 */, name) { }; /** * @abstract * @param {?} el * @param {?} name * @param {?} value * @return {?} */ DomAdapter.prototype.setProperty = function (el, name, value) { }; /** * @abstract * @param {?} el * @param {?} name * @return {?} */ DomAdapter.prototype.getProperty = function (el, name) { }; /** * @abstract * @param {?} el * @param {?} methodName * @param {?} args * @return {?} */ DomAdapter.prototype.invoke = function (el, methodName, args) { }; /** * @abstract * @param {?} error * @return {?} */ DomAdapter.prototype.logError = function (error) { }; /** * @abstract * @param {?} error * @return {?} */ DomAdapter.prototype.log = function (error) { }; /** * @abstract * @param {?} error * @return {?} */ DomAdapter.prototype.logGroup = function (error) { }; /** * @abstract * @return {?} */ DomAdapter.prototype.logGroupEnd = function () { }; Object.defineProperty(DomAdapter.prototype, "attrToPropMap", { /** * Maps attribute names to their corresponding property names for cases * where attribute name doesn't match property name. * @return {?} */ get: function () { return this._attrToPropMap; }, /** * @param {?} value * @return {?} */ set: function (value) { this._attrToPropMap = value; }, enumerable: true, configurable: true }); ; ; /** * @abstract * @param {?} templateHtml * @return {?} */ DomAdapter.prototype.parse = function (templateHtml) { }; /** * @abstract * @param {?} selector * @return {?} */ DomAdapter.prototype.query = function (selector) { }; /** * @abstract * @param {?} el * @param {?} selector * @return {?} */ DomAdapter.prototype.querySelector = function (el /** TODO #9100 */, selector) { }; /** * @abstract * @param {?} el * @param {?} selector * @return {?} */ DomAdapter.prototype.querySelectorAll = function (el /** TODO #9100 */, selector) { }; /** * @abstract * @param {?} el * @param {?} evt * @param {?} listener * @return {?} */ DomAdapter.prototype.on = function (el /** TODO #9100 */, evt /** TODO #9100 */, listener) { }; /** * @abstract * @param {?} el * @param {?} evt * @param {?} listener * @return {?} */ DomAdapter.prototype.onAndCancel = function (el /** TODO #9100 */, evt /** TODO #9100 */, listener) { }; /** * @abstract * @param {?} el * @param {?} evt * @return {?} */ DomAdapter.prototype.dispatchEvent = function (el /** TODO #9100 */, evt) { }; /** * @abstract * @param {?} eventType * @return {?} */ DomAdapter.prototype.createMouseEvent = function (eventType) { }; /** * @abstract * @param {?} eventType * @return {?} */ DomAdapter.prototype.createEvent = function (eventType) { }; /** * @abstract * @param {?} evt * @return {?} */ DomAdapter.prototype.preventDefault = function (evt) { }; /** * @abstract * @param {?} evt * @return {?} */ DomAdapter.prototype.isPrevented = function (evt) { }; /** * @abstract * @param {?} el * @return {?} */ DomAdapter.prototype.getInnerHTML = function (el) { }; /** * Returns content if el is a