@angular/core 9.0.3 → 9.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/bundles/core-testing.umd.js +1 -1
  2. package/bundles/core-testing.umd.min.js +1 -1
  3. package/bundles/core-testing.umd.min.js.map +1 -1
  4. package/bundles/core.umd.js +613 -579
  5. package/bundles/core.umd.js.map +1 -1
  6. package/bundles/core.umd.min.js +157 -156
  7. package/bundles/core.umd.min.js.map +1 -1
  8. package/core.d.ts +45 -45
  9. package/core.metadata.json +1 -1
  10. package/esm2015/core.js +2 -2
  11. package/esm2015/src/di/jit/injectable.js +2 -2
  12. package/esm2015/src/di/r3_injector.js +27 -9
  13. package/esm2015/src/render3/assert.js +4 -1
  14. package/esm2015/src/render3/definition.js +60 -60
  15. package/esm2015/src/render3/di.js +25 -19
  16. package/esm2015/src/render3/errors.js +1 -3
  17. package/esm2015/src/render3/features/ng_onchanges_feature.js +8 -13
  18. package/esm2015/src/render3/i18n.js +14 -7
  19. package/esm2015/src/render3/instructions/attribute.js +6 -6
  20. package/esm2015/src/render3/instructions/attribute_interpolation.js +29 -47
  21. package/esm2015/src/render3/instructions/host_property.js +13 -10
  22. package/esm2015/src/render3/instructions/property.js +8 -9
  23. package/esm2015/src/render3/instructions/property_interpolation.js +40 -39
  24. package/esm2015/src/render3/instructions/shared.js +18 -27
  25. package/esm2015/src/render3/jit/module.js +18 -18
  26. package/esm2015/src/render3/ng_module_ref.js +7 -3
  27. package/esm2015/src/render3/node_assert.js +1 -1
  28. package/esm2015/src/render3/pure_function.js +23 -6
  29. package/esm2015/src/render3/query.js +2 -5
  30. package/esm2015/src/render3/state.js +11 -1
  31. package/esm2015/src/util/assert.js +1 -3
  32. package/esm2015/src/util/closure.js +2 -2
  33. package/esm2015/src/util/decorators.js +87 -80
  34. package/esm2015/src/util/ng_dev_mode.js +1 -1
  35. package/esm2015/src/util/ng_i18n_closure_mode.js +1 -1
  36. package/esm2015/src/version.js +1 -1
  37. package/esm5/core.js +2 -2
  38. package/esm5/src/di/jit/injectable.js +2 -2
  39. package/esm5/src/di/r3_injector.js +19 -5
  40. package/esm5/src/render3/assert.js +3 -1
  41. package/esm5/src/render3/definition.js +51 -51
  42. package/esm5/src/render3/di.js +16 -13
  43. package/esm5/src/render3/errors.js +1 -3
  44. package/esm5/src/render3/features/ng_onchanges_feature.js +8 -9
  45. package/esm5/src/render3/i18n.js +13 -6
  46. package/esm5/src/render3/instructions/attribute.js +5 -5
  47. package/esm5/src/render3/instructions/attribute_interpolation.js +29 -38
  48. package/esm5/src/render3/instructions/host_property.js +10 -8
  49. package/esm5/src/render3/instructions/property.js +7 -7
  50. package/esm5/src/render3/instructions/property_interpolation.js +31 -30
  51. package/esm5/src/render3/instructions/shared.js +10 -14
  52. package/esm5/src/render3/jit/module.js +12 -12
  53. package/esm5/src/render3/ng_module_ref.js +7 -3
  54. package/esm5/src/render3/node_assert.js +1 -1
  55. package/esm5/src/render3/pure_function.js +19 -6
  56. package/esm5/src/render3/query.js +2 -4
  57. package/esm5/src/render3/state.js +9 -1
  58. package/esm5/src/util/assert.js +1 -3
  59. package/esm5/src/util/closure.js +2 -2
  60. package/esm5/src/util/decorators.js +101 -94
  61. package/esm5/src/util/ng_dev_mode.js +1 -1
  62. package/esm5/src/util/ng_i18n_closure_mode.js +1 -1
  63. package/esm5/src/version.js +1 -1
  64. package/fesm2015/core.js +1130 -1101
  65. package/fesm2015/core.js.map +1 -1
  66. package/fesm2015/testing.js +1 -1
  67. package/fesm5/core.js +613 -579
  68. package/fesm5/core.js.map +1 -1
  69. package/fesm5/testing.js +1 -1
  70. package/package.json +1 -1
  71. package/schematics/migrations/undecorated-classes-with-di/create_ngc_program.js +13 -1
  72. package/src/r3_symbols.d.ts +1 -1
  73. package/testing/testing.d.ts +1 -1
  74. package/testing.d.ts +1 -1
package/fesm2015/core.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v9.0.3
2
+ * @license Angular v9.0.7
3
3
  * (c) 2010-2020 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -7,6 +7,26 @@
7
7
  import { Subject, Subscription, Observable, merge as merge$1 } from 'rxjs';
8
8
  import { share } from 'rxjs/operators';
9
9
 
10
+ /**
11
+ * @license
12
+ * Copyright Google Inc. All Rights Reserved.
13
+ *
14
+ * Use of this source code is governed by an MIT-style license that can be
15
+ * found in the LICENSE file at https://angular.io/license
16
+ */
17
+ /**
18
+ * Convince closure compiler that the wrapped function has no side-effects.
19
+ *
20
+ * Closure compiler always assumes that `toString` has no side-effects. We use this quirk to
21
+ * allow us to execute a function but have closure compiler mark the call as no-side-effects.
22
+ * It is important that the return value for the `noSideEffects` function be assigned
23
+ * to something which is retained otherwise the call to `noSideEffects` will be removed by closure
24
+ * compiler.
25
+ */
26
+ function noSideEffects(fn) {
27
+ return { toString: fn }.toString();
28
+ }
29
+
10
30
  /**
11
31
  * @license
12
32
  * Copyright Google Inc. All Rights Reserved.
@@ -21,33 +41,35 @@ const PROP_METADATA = '__prop__metadata__';
21
41
  * @suppress {globalThis}
22
42
  */
23
43
  function makeDecorator(name, props, parentClass, additionalProcessing, typeFn) {
24
- const metaCtor = makeMetadataCtor(props);
25
- function DecoratorFactory(...args) {
26
- if (this instanceof DecoratorFactory) {
27
- metaCtor.call(this, ...args);
28
- return this;
44
+ return noSideEffects(() => {
45
+ const metaCtor = makeMetadataCtor(props);
46
+ function DecoratorFactory(...args) {
47
+ if (this instanceof DecoratorFactory) {
48
+ metaCtor.call(this, ...args);
49
+ return this;
50
+ }
51
+ const annotationInstance = new DecoratorFactory(...args);
52
+ return function TypeDecorator(cls) {
53
+ if (typeFn)
54
+ typeFn(cls, ...args);
55
+ // Use of Object.defineProperty is important since it creates non-enumerable property which
56
+ // prevents the property is copied during subclassing.
57
+ const annotations = cls.hasOwnProperty(ANNOTATIONS) ?
58
+ cls[ANNOTATIONS] :
59
+ Object.defineProperty(cls, ANNOTATIONS, { value: [] })[ANNOTATIONS];
60
+ annotations.push(annotationInstance);
61
+ if (additionalProcessing)
62
+ additionalProcessing(cls);
63
+ return cls;
64
+ };
29
65
  }
30
- const annotationInstance = new DecoratorFactory(...args);
31
- return function TypeDecorator(cls) {
32
- if (typeFn)
33
- typeFn(cls, ...args);
34
- // Use of Object.defineProperty is important since it creates non-enumerable property which
35
- // prevents the property is copied during subclassing.
36
- const annotations = cls.hasOwnProperty(ANNOTATIONS) ?
37
- cls[ANNOTATIONS] :
38
- Object.defineProperty(cls, ANNOTATIONS, { value: [] })[ANNOTATIONS];
39
- annotations.push(annotationInstance);
40
- if (additionalProcessing)
41
- additionalProcessing(cls);
42
- return cls;
43
- };
44
- }
45
- if (parentClass) {
46
- DecoratorFactory.prototype = Object.create(parentClass.prototype);
47
- }
48
- DecoratorFactory.prototype.ngMetadataName = name;
49
- DecoratorFactory.annotationCls = DecoratorFactory;
50
- return DecoratorFactory;
66
+ if (parentClass) {
67
+ DecoratorFactory.prototype = Object.create(parentClass.prototype);
68
+ }
69
+ DecoratorFactory.prototype.ngMetadataName = name;
70
+ DecoratorFactory.annotationCls = DecoratorFactory;
71
+ return DecoratorFactory;
72
+ });
51
73
  }
52
74
  function makeMetadataCtor(props) {
53
75
  return function ctor(...args) {
@@ -60,65 +82,69 @@ function makeMetadataCtor(props) {
60
82
  };
61
83
  }
62
84
  function makeParamDecorator(name, props, parentClass) {
63
- const metaCtor = makeMetadataCtor(props);
64
- function ParamDecoratorFactory(...args) {
65
- if (this instanceof ParamDecoratorFactory) {
66
- metaCtor.apply(this, args);
67
- return this;
68
- }
69
- const annotationInstance = new ParamDecoratorFactory(...args);
70
- ParamDecorator.annotation = annotationInstance;
71
- return ParamDecorator;
72
- function ParamDecorator(cls, unusedKey, index) {
73
- // Use of Object.defineProperty is important since it creates non-enumerable property which
74
- // prevents the property is copied during subclassing.
75
- const parameters = cls.hasOwnProperty(PARAMETERS) ?
76
- cls[PARAMETERS] :
77
- Object.defineProperty(cls, PARAMETERS, { value: [] })[PARAMETERS];
78
- // there might be gaps if some in between parameters do not have annotations.
79
- // we pad with nulls.
80
- while (parameters.length <= index) {
81
- parameters.push(null);
85
+ return noSideEffects(() => {
86
+ const metaCtor = makeMetadataCtor(props);
87
+ function ParamDecoratorFactory(...args) {
88
+ if (this instanceof ParamDecoratorFactory) {
89
+ metaCtor.apply(this, args);
90
+ return this;
91
+ }
92
+ const annotationInstance = new ParamDecoratorFactory(...args);
93
+ ParamDecorator.annotation = annotationInstance;
94
+ return ParamDecorator;
95
+ function ParamDecorator(cls, unusedKey, index) {
96
+ // Use of Object.defineProperty is important since it creates non-enumerable property which
97
+ // prevents the property is copied during subclassing.
98
+ const parameters = cls.hasOwnProperty(PARAMETERS) ?
99
+ cls[PARAMETERS] :
100
+ Object.defineProperty(cls, PARAMETERS, { value: [] })[PARAMETERS];
101
+ // there might be gaps if some in between parameters do not have annotations.
102
+ // we pad with nulls.
103
+ while (parameters.length <= index) {
104
+ parameters.push(null);
105
+ }
106
+ (parameters[index] = parameters[index] || []).push(annotationInstance);
107
+ return cls;
82
108
  }
83
- (parameters[index] = parameters[index] || []).push(annotationInstance);
84
- return cls;
85
109
  }
86
- }
87
- if (parentClass) {
88
- ParamDecoratorFactory.prototype = Object.create(parentClass.prototype);
89
- }
90
- ParamDecoratorFactory.prototype.ngMetadataName = name;
91
- ParamDecoratorFactory.annotationCls = ParamDecoratorFactory;
92
- return ParamDecoratorFactory;
110
+ if (parentClass) {
111
+ ParamDecoratorFactory.prototype = Object.create(parentClass.prototype);
112
+ }
113
+ ParamDecoratorFactory.prototype.ngMetadataName = name;
114
+ ParamDecoratorFactory.annotationCls = ParamDecoratorFactory;
115
+ return ParamDecoratorFactory;
116
+ });
93
117
  }
94
118
  function makePropDecorator(name, props, parentClass, additionalProcessing) {
95
- const metaCtor = makeMetadataCtor(props);
96
- function PropDecoratorFactory(...args) {
97
- if (this instanceof PropDecoratorFactory) {
98
- metaCtor.apply(this, args);
99
- return this;
100
- }
101
- const decoratorInstance = new PropDecoratorFactory(...args);
102
- function PropDecorator(target, name) {
103
- const constructor = target.constructor;
104
- // Use of Object.defineProperty is important since it creates non-enumerable property which
105
- // prevents the property is copied during subclassing.
106
- const meta = constructor.hasOwnProperty(PROP_METADATA) ?
107
- constructor[PROP_METADATA] :
108
- Object.defineProperty(constructor, PROP_METADATA, { value: {} })[PROP_METADATA];
109
- meta[name] = meta.hasOwnProperty(name) && meta[name] || [];
110
- meta[name].unshift(decoratorInstance);
111
- if (additionalProcessing)
112
- additionalProcessing(target, name, ...args);
113
- }
114
- return PropDecorator;
115
- }
116
- if (parentClass) {
117
- PropDecoratorFactory.prototype = Object.create(parentClass.prototype);
118
- }
119
- PropDecoratorFactory.prototype.ngMetadataName = name;
120
- PropDecoratorFactory.annotationCls = PropDecoratorFactory;
121
- return PropDecoratorFactory;
119
+ return noSideEffects(() => {
120
+ const metaCtor = makeMetadataCtor(props);
121
+ function PropDecoratorFactory(...args) {
122
+ if (this instanceof PropDecoratorFactory) {
123
+ metaCtor.apply(this, args);
124
+ return this;
125
+ }
126
+ const decoratorInstance = new PropDecoratorFactory(...args);
127
+ function PropDecorator(target, name) {
128
+ const constructor = target.constructor;
129
+ // Use of Object.defineProperty is important since it creates non-enumerable property which
130
+ // prevents the property is copied during subclassing.
131
+ const meta = constructor.hasOwnProperty(PROP_METADATA) ?
132
+ constructor[PROP_METADATA] :
133
+ Object.defineProperty(constructor, PROP_METADATA, { value: {} })[PROP_METADATA];
134
+ meta[name] = meta.hasOwnProperty(name) && meta[name] || [];
135
+ meta[name].unshift(decoratorInstance);
136
+ if (additionalProcessing)
137
+ additionalProcessing(target, name, ...args);
138
+ }
139
+ return PropDecorator;
140
+ }
141
+ if (parentClass) {
142
+ PropDecoratorFactory.prototype = Object.create(parentClass.prototype);
143
+ }
144
+ PropDecoratorFactory.prototype.ngMetadataName = name;
145
+ PropDecoratorFactory.annotationCls = PropDecoratorFactory;
146
+ return PropDecoratorFactory;
147
+ });
122
148
  }
123
149
 
124
150
  /**
@@ -1306,8 +1332,6 @@ function assertDefined(actual, msg) {
1306
1332
  }
1307
1333
  }
1308
1334
  function throwError(msg, actual, expected, comparison) {
1309
- // tslint:disable-next-line
1310
- debugger; // Left intentionally for better debugger experience.
1311
1335
  throw new Error(`ASSERTION ERROR: ${msg}` +
1312
1336
  (comparison == null ? '' : ` [Expected=> ${expected} ${comparison} ${actual} <=Actual]`));
1313
1337
  }
@@ -1759,26 +1783,6 @@ ViewEncapsulation$1[ViewEncapsulation$1.Native] = 'Native';
1759
1783
  ViewEncapsulation$1[ViewEncapsulation$1.None] = 'None';
1760
1784
  ViewEncapsulation$1[ViewEncapsulation$1.ShadowDom] = 'ShadowDom';
1761
1785
 
1762
- /**
1763
- * @license
1764
- * Copyright Google Inc. All Rights Reserved.
1765
- *
1766
- * Use of this source code is governed by an MIT-style license that can be
1767
- * found in the LICENSE file at https://angular.io/license
1768
- */
1769
- /**
1770
- * Convince closure compiler that the wrapped function has no side-effects.
1771
- *
1772
- * Closure compiler always assumes that `toString` has no side-effects. We use this quirk to
1773
- * allow us to execute a function but have closure compiler mark the call as no-side-effects.
1774
- * It is important that the return value for the `noSideEffects` function be assigned
1775
- * to something which is retained otherwise the call to `noSideEffects` will be removed by closure
1776
- * compiler.
1777
- */
1778
- function noSideEffects(fn) {
1779
- return '' + { toString: fn };
1780
- }
1781
-
1782
1786
  /**
1783
1787
  * @fileoverview added by tsickle
1784
1788
  * Generated from: packages/core/src/render3/empty.ts
@@ -1831,66 +1835,66 @@ let _renderCompCount = 0;
1831
1835
  * @return {?}
1832
1836
  */
1833
1837
  function ɵɵdefineComponent(componentDefinition) {
1834
- // Initialize ngDevMode. This must be the first statement in ɵɵdefineComponent.
1835
- // See the `initNgDevMode` docstring for more information.
1836
- (typeof ngDevMode === 'undefined' || ngDevMode) && initNgDevMode();
1837
- /** @type {?} */
1838
- const type = componentDefinition.type;
1839
- /** @type {?} */
1840
- const typePrototype = type.prototype;
1841
- /** @type {?} */
1842
- const declaredInputs = (/** @type {?} */ ({}));
1843
- /** @type {?} */
1844
- const def = {
1845
- type: type,
1846
- providersResolver: null,
1847
- decls: componentDefinition.decls,
1848
- vars: componentDefinition.vars,
1849
- factory: null,
1850
- template: componentDefinition.template || (/** @type {?} */ (null)),
1851
- consts: componentDefinition.consts || null,
1852
- ngContentSelectors: componentDefinition.ngContentSelectors,
1853
- hostBindings: componentDefinition.hostBindings || null,
1854
- hostVars: componentDefinition.hostVars || 0,
1855
- hostAttrs: componentDefinition.hostAttrs || null,
1856
- contentQueries: componentDefinition.contentQueries || null,
1857
- declaredInputs: declaredInputs,
1858
- inputs: (/** @type {?} */ (null)),
1859
- // assigned in noSideEffects
1860
- outputs: (/** @type {?} */ (null)),
1861
- // assigned in noSideEffects
1862
- exportAs: componentDefinition.exportAs || null,
1863
- onChanges: null,
1864
- onInit: typePrototype.ngOnInit || null,
1865
- doCheck: typePrototype.ngDoCheck || null,
1866
- afterContentInit: typePrototype.ngAfterContentInit || null,
1867
- afterContentChecked: typePrototype.ngAfterContentChecked || null,
1868
- afterViewInit: typePrototype.ngAfterViewInit || null,
1869
- afterViewChecked: typePrototype.ngAfterViewChecked || null,
1870
- onDestroy: typePrototype.ngOnDestroy || null,
1871
- onPush: componentDefinition.changeDetection === ChangeDetectionStrategy.OnPush,
1872
- directiveDefs: (/** @type {?} */ (null)),
1873
- // assigned in noSideEffects
1874
- pipeDefs: (/** @type {?} */ (null)),
1875
- // assigned in noSideEffects
1876
- selectors: componentDefinition.selectors || EMPTY_ARRAY,
1877
- viewQuery: componentDefinition.viewQuery || null,
1878
- features: (/** @type {?} */ (componentDefinition.features)) || null,
1879
- data: componentDefinition.data || {},
1880
- // TODO(misko): convert ViewEncapsulation into const enum so that it can be used directly in the
1881
- // next line. Also `None` should be 0 not 2.
1882
- encapsulation: componentDefinition.encapsulation || ViewEncapsulation$1.Emulated,
1883
- id: 'c',
1884
- styles: componentDefinition.styles || EMPTY_ARRAY,
1885
- _: (/** @type {?} */ (null)),
1886
- setInput: null,
1887
- schemas: componentDefinition.schemas || null,
1888
- tView: null,
1889
- };
1890
- def._ = (/** @type {?} */ (noSideEffects((/**
1838
+ return noSideEffects((/**
1891
1839
  * @return {?}
1892
1840
  */
1893
1841
  () => {
1842
+ // Initialize ngDevMode. This must be the first statement in ɵɵdefineComponent.
1843
+ // See the `initNgDevMode` docstring for more information.
1844
+ (typeof ngDevMode === 'undefined' || ngDevMode) && initNgDevMode();
1845
+ /** @type {?} */
1846
+ const type = componentDefinition.type;
1847
+ /** @type {?} */
1848
+ const typePrototype = type.prototype;
1849
+ /** @type {?} */
1850
+ const declaredInputs = (/** @type {?} */ ({}));
1851
+ /** @type {?} */
1852
+ const def = {
1853
+ type: type,
1854
+ providersResolver: null,
1855
+ decls: componentDefinition.decls,
1856
+ vars: componentDefinition.vars,
1857
+ factory: null,
1858
+ template: componentDefinition.template || (/** @type {?} */ (null)),
1859
+ consts: componentDefinition.consts || null,
1860
+ ngContentSelectors: componentDefinition.ngContentSelectors,
1861
+ hostBindings: componentDefinition.hostBindings || null,
1862
+ hostVars: componentDefinition.hostVars || 0,
1863
+ hostAttrs: componentDefinition.hostAttrs || null,
1864
+ contentQueries: componentDefinition.contentQueries || null,
1865
+ declaredInputs: declaredInputs,
1866
+ inputs: (/** @type {?} */ (null)),
1867
+ // assigned in noSideEffects
1868
+ outputs: (/** @type {?} */ (null)),
1869
+ // assigned in noSideEffects
1870
+ exportAs: componentDefinition.exportAs || null,
1871
+ onChanges: null,
1872
+ onInit: typePrototype.ngOnInit || null,
1873
+ doCheck: typePrototype.ngDoCheck || null,
1874
+ afterContentInit: typePrototype.ngAfterContentInit || null,
1875
+ afterContentChecked: typePrototype.ngAfterContentChecked || null,
1876
+ afterViewInit: typePrototype.ngAfterViewInit || null,
1877
+ afterViewChecked: typePrototype.ngAfterViewChecked || null,
1878
+ onDestroy: typePrototype.ngOnDestroy || null,
1879
+ onPush: componentDefinition.changeDetection === ChangeDetectionStrategy.OnPush,
1880
+ directiveDefs: (/** @type {?} */ (null)),
1881
+ // assigned in noSideEffects
1882
+ pipeDefs: (/** @type {?} */ (null)),
1883
+ // assigned in noSideEffects
1884
+ selectors: componentDefinition.selectors || EMPTY_ARRAY,
1885
+ viewQuery: componentDefinition.viewQuery || null,
1886
+ features: (/** @type {?} */ (componentDefinition.features)) || null,
1887
+ data: componentDefinition.data || {},
1888
+ // TODO(misko): convert ViewEncapsulation into const enum so that it can be used directly in
1889
+ // the next line. Also `None` should be 0 not 2.
1890
+ encapsulation: componentDefinition.encapsulation || ViewEncapsulation$1.Emulated,
1891
+ id: 'c',
1892
+ styles: componentDefinition.styles || EMPTY_ARRAY,
1893
+ _: (/** @type {?} */ (null)),
1894
+ setInput: null,
1895
+ schemas: componentDefinition.schemas || null,
1896
+ tView: null,
1897
+ };
1894
1898
  /** @type {?} */
1895
1899
  const directiveTypes = (/** @type {?} */ (componentDefinition.directives));
1896
1900
  /** @type {?} */
@@ -1918,8 +1922,8 @@ function ɵɵdefineComponent(componentDefinition) {
1918
1922
  */
1919
1923
  () => (typeof pipeTypes === 'function' ? pipeTypes() : pipeTypes).map(extractPipeDef)) :
1920
1924
  null;
1921
- }))));
1922
- return (/** @type {?} */ (def));
1925
+ return (/** @type {?} */ (def));
1926
+ }));
1923
1927
  }
1924
1928
  /**
1925
1929
  * \@codeGenApi
@@ -2906,6 +2910,8 @@ function isRootView(target) {
2906
2910
  * Generated from: packages/core/src/render3/assert.ts
2907
2911
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2908
2912
  */
2913
+ // [Assert functions do not constraint type when they are guarded by a truthy
2914
+ // expression.](https://github.com/microsoft/TypeScript/issues/37295)
2909
2915
  /**
2910
2916
  * @param {?} tNode
2911
2917
  * @param {?} lView
@@ -3009,6 +3015,7 @@ function assertFirstUpdatePass(tView, errMessage) {
3009
3015
  /**
3010
3016
  * This is a basic sanity check that an object is probably a directive def. DirectiveDef is
3011
3017
  * an interface, so we can't do a direct instanceof check.
3018
+ * @template T
3012
3019
  * @param {?} obj
3013
3020
  * @return {?}
3014
3021
  */
@@ -3035,6 +3042,739 @@ const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';
3035
3042
  /** @type {?} */
3036
3043
  const MATH_ML_NAMESPACE = 'http://www.w3.org/1998/MathML/';
3037
3044
 
3045
+ /**
3046
+ * @fileoverview added by tsickle
3047
+ * Generated from: packages/core/src/render3/interfaces/context.ts
3048
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3049
+ */
3050
+ /**
3051
+ * @license
3052
+ * Copyright Google Inc. All Rights Reserved.
3053
+ *
3054
+ * Use of this source code is governed by an MIT-style license that can be
3055
+ * found in the LICENSE file at https://angular.io/license
3056
+ */
3057
+ /**
3058
+ * This property will be monkey-patched on elements, components and directives
3059
+ * @type {?}
3060
+ */
3061
+ const MONKEY_PATCH_KEY_NAME = '__ngContext__';
3062
+ /**
3063
+ * The internal view context which is specific to a given DOM element, directive or
3064
+ * component instance. Each value in here (besides the LView and element node details)
3065
+ * can be present, null or undefined. If undefined then it implies the value has not been
3066
+ * looked up yet, otherwise, if null, then a lookup was executed and nothing was found.
3067
+ *
3068
+ * Each value will get filled when the respective value is examined within the getContext
3069
+ * function. The component, element and each directive instance will share the same instance
3070
+ * of the context.
3071
+ * @record
3072
+ */
3073
+ function LContext() { }
3074
+ if (false) {
3075
+ /**
3076
+ * The component's parent view data.
3077
+ * @type {?}
3078
+ */
3079
+ LContext.prototype.lView;
3080
+ /**
3081
+ * The index instance of the node.
3082
+ * @type {?}
3083
+ */
3084
+ LContext.prototype.nodeIndex;
3085
+ /**
3086
+ * The instance of the DOM node that is attached to the lNode.
3087
+ * @type {?}
3088
+ */
3089
+ LContext.prototype.native;
3090
+ /**
3091
+ * The instance of the Component node.
3092
+ * @type {?}
3093
+ */
3094
+ LContext.prototype.component;
3095
+ /**
3096
+ * The list of active directives that exist on this element.
3097
+ * @type {?}
3098
+ */
3099
+ LContext.prototype.directives;
3100
+ /**
3101
+ * The map of local references (local reference name => element or directive instance) that exist
3102
+ * on this element.
3103
+ * @type {?}
3104
+ */
3105
+ LContext.prototype.localRefs;
3106
+ }
3107
+
3108
+ /**
3109
+ * @fileoverview added by tsickle
3110
+ * Generated from: packages/core/src/render3/interfaces/document.ts
3111
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3112
+ */
3113
+ /**
3114
+ * @license
3115
+ * Copyright Google Inc. All Rights Reserved.
3116
+ *
3117
+ * Use of this source code is governed by an MIT-style license that can be
3118
+ * found in the LICENSE file at https://angular.io/license
3119
+ */
3120
+ /**
3121
+ * Most of the use of `document` in Angular is from within the DI system so it is possible to simply
3122
+ * inject the `DOCUMENT` token and are done.
3123
+ *
3124
+ * Ivy is special because it does not rely upon the DI and must get hold of the document some other
3125
+ * way.
3126
+ *
3127
+ * The solution is to define `getDocument()` and `setDocument()` top-level functions for ivy.
3128
+ * Wherever ivy needs the global document, it calls `getDocument()` instead.
3129
+ *
3130
+ * When running ivy outside of a browser environment, it is necessary to call `setDocument()` to
3131
+ * tell ivy what the global `document` is.
3132
+ *
3133
+ * Angular does this for us in each of the standard platforms (`Browser`, `Server`, and `WebWorker`)
3134
+ * by calling `setDocument()` when providing the `DOCUMENT` token.
3135
+ * @type {?}
3136
+ */
3137
+ let DOCUMENT = undefined;
3138
+ /**
3139
+ * Tell ivy what the `document` is for this platform.
3140
+ *
3141
+ * It is only necessary to call this if the current platform is not a browser.
3142
+ *
3143
+ * @param {?} document The object representing the global `document` in this environment.
3144
+ * @return {?}
3145
+ */
3146
+ function setDocument(document) {
3147
+ DOCUMENT = document;
3148
+ }
3149
+ /**
3150
+ * Access the object that represents the `document` for this platform.
3151
+ *
3152
+ * Ivy calls this whenever it needs to access the `document` object.
3153
+ * For example to create the renderer or to do sanitization.
3154
+ * @return {?}
3155
+ */
3156
+ function getDocument() {
3157
+ if (DOCUMENT !== undefined) {
3158
+ return DOCUMENT;
3159
+ }
3160
+ else if (typeof document !== 'undefined') {
3161
+ return document;
3162
+ }
3163
+ // No "document" can be found. This should only happen if we are running ivy outside Angular and
3164
+ // the current platform is not a browser. Since this is not a supported scenario at the moment
3165
+ // this should not happen in Angular apps.
3166
+ // Once we support running ivy outside of Angular we will need to publish `setDocument()` as a
3167
+ // public API. Meanwhile we just return `undefined` and let the application fail.
3168
+ return (/** @type {?} */ (undefined));
3169
+ }
3170
+
3171
+ /**
3172
+ * @fileoverview added by tsickle
3173
+ * Generated from: packages/core/src/render3/interfaces/renderer.ts
3174
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3175
+ */
3176
+ /** @enum {number} */
3177
+ const RendererStyleFlags3 = {
3178
+ Important: 1,
3179
+ DashCase: 2,
3180
+ };
3181
+ RendererStyleFlags3[RendererStyleFlags3.Important] = 'Important';
3182
+ RendererStyleFlags3[RendererStyleFlags3.DashCase] = 'DashCase';
3183
+ /**
3184
+ * Object Oriented style of API needed to create elements and text nodes.
3185
+ *
3186
+ * This is the native browser API style, e.g. operations are methods on individual objects
3187
+ * like HTMLElement. With this style, no additional code is needed as a facade
3188
+ * (reducing payload size).
3189
+ *
3190
+ * @record
3191
+ */
3192
+ function ObjectOrientedRenderer3() { }
3193
+ if (false) {
3194
+ /**
3195
+ * @param {?} data
3196
+ * @return {?}
3197
+ */
3198
+ ObjectOrientedRenderer3.prototype.createComment = function (data) { };
3199
+ /**
3200
+ * @param {?} tagName
3201
+ * @return {?}
3202
+ */
3203
+ ObjectOrientedRenderer3.prototype.createElement = function (tagName) { };
3204
+ /**
3205
+ * @param {?} namespace
3206
+ * @param {?} tagName
3207
+ * @return {?}
3208
+ */
3209
+ ObjectOrientedRenderer3.prototype.createElementNS = function (namespace, tagName) { };
3210
+ /**
3211
+ * @param {?} data
3212
+ * @return {?}
3213
+ */
3214
+ ObjectOrientedRenderer3.prototype.createTextNode = function (data) { };
3215
+ /**
3216
+ * @param {?} selectors
3217
+ * @return {?}
3218
+ */
3219
+ ObjectOrientedRenderer3.prototype.querySelector = function (selectors) { };
3220
+ }
3221
+ /**
3222
+ * Returns whether the `renderer` is a `ProceduralRenderer3`
3223
+ * @param {?} renderer
3224
+ * @return {?}
3225
+ */
3226
+ function isProceduralRenderer(renderer) {
3227
+ return !!(((/** @type {?} */ (renderer))).listen);
3228
+ }
3229
+ /**
3230
+ * Procedural style of API needed to create elements and text nodes.
3231
+ *
3232
+ * In non-native browser environments (e.g. platforms such as web-workers), this is the
3233
+ * facade that enables element manipulation. This also facilitates backwards compatibility
3234
+ * with Renderer2.
3235
+ * @record
3236
+ */
3237
+ function ProceduralRenderer3() { }
3238
+ if (false) {
3239
+ /**
3240
+ * This property is allowed to be null / undefined,
3241
+ * in which case the view engine won't call it.
3242
+ * This is used as a performance optimization for production mode.
3243
+ * @type {?|undefined}
3244
+ */
3245
+ ProceduralRenderer3.prototype.destroyNode;
3246
+ /**
3247
+ * @return {?}
3248
+ */
3249
+ ProceduralRenderer3.prototype.destroy = function () { };
3250
+ /**
3251
+ * @param {?} value
3252
+ * @return {?}
3253
+ */
3254
+ ProceduralRenderer3.prototype.createComment = function (value) { };
3255
+ /**
3256
+ * @param {?} name
3257
+ * @param {?=} namespace
3258
+ * @return {?}
3259
+ */
3260
+ ProceduralRenderer3.prototype.createElement = function (name, namespace) { };
3261
+ /**
3262
+ * @param {?} value
3263
+ * @return {?}
3264
+ */
3265
+ ProceduralRenderer3.prototype.createText = function (value) { };
3266
+ /**
3267
+ * @param {?} parent
3268
+ * @param {?} newChild
3269
+ * @return {?}
3270
+ */
3271
+ ProceduralRenderer3.prototype.appendChild = function (parent, newChild) { };
3272
+ /**
3273
+ * @param {?} parent
3274
+ * @param {?} newChild
3275
+ * @param {?} refChild
3276
+ * @return {?}
3277
+ */
3278
+ ProceduralRenderer3.prototype.insertBefore = function (parent, newChild, refChild) { };
3279
+ /**
3280
+ * @param {?} parent
3281
+ * @param {?} oldChild
3282
+ * @param {?=} isHostElement
3283
+ * @return {?}
3284
+ */
3285
+ ProceduralRenderer3.prototype.removeChild = function (parent, oldChild, isHostElement) { };
3286
+ /**
3287
+ * @param {?} selectorOrNode
3288
+ * @param {?=} preserveContent
3289
+ * @return {?}
3290
+ */
3291
+ ProceduralRenderer3.prototype.selectRootElement = function (selectorOrNode, preserveContent) { };
3292
+ /**
3293
+ * @param {?} node
3294
+ * @return {?}
3295
+ */
3296
+ ProceduralRenderer3.prototype.parentNode = function (node) { };
3297
+ /**
3298
+ * @param {?} node
3299
+ * @return {?}
3300
+ */
3301
+ ProceduralRenderer3.prototype.nextSibling = function (node) { };
3302
+ /**
3303
+ * @param {?} el
3304
+ * @param {?} name
3305
+ * @param {?} value
3306
+ * @param {?=} namespace
3307
+ * @return {?}
3308
+ */
3309
+ ProceduralRenderer3.prototype.setAttribute = function (el, name, value, namespace) { };
3310
+ /**
3311
+ * @param {?} el
3312
+ * @param {?} name
3313
+ * @param {?=} namespace
3314
+ * @return {?}
3315
+ */
3316
+ ProceduralRenderer3.prototype.removeAttribute = function (el, name, namespace) { };
3317
+ /**
3318
+ * @param {?} el
3319
+ * @param {?} name
3320
+ * @return {?}
3321
+ */
3322
+ ProceduralRenderer3.prototype.addClass = function (el, name) { };
3323
+ /**
3324
+ * @param {?} el
3325
+ * @param {?} name
3326
+ * @return {?}
3327
+ */
3328
+ ProceduralRenderer3.prototype.removeClass = function (el, name) { };
3329
+ /**
3330
+ * @param {?} el
3331
+ * @param {?} style
3332
+ * @param {?} value
3333
+ * @param {?=} flags
3334
+ * @return {?}
3335
+ */
3336
+ ProceduralRenderer3.prototype.setStyle = function (el, style, value, flags) { };
3337
+ /**
3338
+ * @param {?} el
3339
+ * @param {?} style
3340
+ * @param {?=} flags
3341
+ * @return {?}
3342
+ */
3343
+ ProceduralRenderer3.prototype.removeStyle = function (el, style, flags) { };
3344
+ /**
3345
+ * @param {?} el
3346
+ * @param {?} name
3347
+ * @param {?} value
3348
+ * @return {?}
3349
+ */
3350
+ ProceduralRenderer3.prototype.setProperty = function (el, name, value) { };
3351
+ /**
3352
+ * @param {?} node
3353
+ * @param {?} value
3354
+ * @return {?}
3355
+ */
3356
+ ProceduralRenderer3.prototype.setValue = function (node, value) { };
3357
+ /**
3358
+ * @param {?} target
3359
+ * @param {?} eventName
3360
+ * @param {?} callback
3361
+ * @return {?}
3362
+ */
3363
+ ProceduralRenderer3.prototype.listen = function (target, eventName, callback) { };
3364
+ }
3365
+ /**
3366
+ * @record
3367
+ */
3368
+ function RendererFactory3() { }
3369
+ if (false) {
3370
+ /**
3371
+ * @param {?} hostElement
3372
+ * @param {?} rendererType
3373
+ * @return {?}
3374
+ */
3375
+ RendererFactory3.prototype.createRenderer = function (hostElement, rendererType) { };
3376
+ /**
3377
+ * @return {?}
3378
+ */
3379
+ RendererFactory3.prototype.begin = function () { };
3380
+ /**
3381
+ * @return {?}
3382
+ */
3383
+ RendererFactory3.prototype.end = function () { };
3384
+ }
3385
+ const ɵ0$2 = /**
3386
+ * @param {?} hostElement
3387
+ * @param {?} rendererType
3388
+ * @return {?}
3389
+ */
3390
+ (hostElement, rendererType) => { return getDocument(); };
3391
+ /** @type {?} */
3392
+ const domRendererFactory3 = {
3393
+ createRenderer: (ɵ0$2)
3394
+ };
3395
+ /**
3396
+ * Subset of API needed for appending elements and text nodes.
3397
+ * @record
3398
+ */
3399
+ function RNode() { }
3400
+ if (false) {
3401
+ /**
3402
+ * Returns the parent Element, Document, or DocumentFragment
3403
+ * @type {?}
3404
+ */
3405
+ RNode.prototype.parentNode;
3406
+ /**
3407
+ * Returns the parent Element if there is one
3408
+ * @type {?}
3409
+ */
3410
+ RNode.prototype.parentElement;
3411
+ /**
3412
+ * Gets the Node immediately following this one in the parent's childNodes
3413
+ * @type {?}
3414
+ */
3415
+ RNode.prototype.nextSibling;
3416
+ /**
3417
+ * Removes a child from the current node and returns the removed node
3418
+ * @param {?} oldChild the child node to remove
3419
+ * @return {?}
3420
+ */
3421
+ RNode.prototype.removeChild = function (oldChild) { };
3422
+ /**
3423
+ * Insert a child node.
3424
+ *
3425
+ * Used exclusively for adding View root nodes into ViewAnchor location.
3426
+ * @param {?} newChild
3427
+ * @param {?} refChild
3428
+ * @param {?} isViewRoot
3429
+ * @return {?}
3430
+ */
3431
+ RNode.prototype.insertBefore = function (newChild, refChild, isViewRoot) { };
3432
+ /**
3433
+ * Append a child node.
3434
+ *
3435
+ * Used exclusively for building up DOM which are static (ie not View roots)
3436
+ * @param {?} newChild
3437
+ * @return {?}
3438
+ */
3439
+ RNode.prototype.appendChild = function (newChild) { };
3440
+ }
3441
+ /**
3442
+ * Subset of API needed for writing attributes, properties, and setting up
3443
+ * listeners on Element.
3444
+ * @record
3445
+ */
3446
+ function RElement() { }
3447
+ if (false) {
3448
+ /** @type {?} */
3449
+ RElement.prototype.style;
3450
+ /** @type {?} */
3451
+ RElement.prototype.classList;
3452
+ /** @type {?} */
3453
+ RElement.prototype.className;
3454
+ /** @type {?} */
3455
+ RElement.prototype.textContent;
3456
+ /**
3457
+ * @param {?} name
3458
+ * @param {?} value
3459
+ * @return {?}
3460
+ */
3461
+ RElement.prototype.setAttribute = function (name, value) { };
3462
+ /**
3463
+ * @param {?} name
3464
+ * @return {?}
3465
+ */
3466
+ RElement.prototype.removeAttribute = function (name) { };
3467
+ /**
3468
+ * @param {?} namespaceURI
3469
+ * @param {?} qualifiedName
3470
+ * @param {?} value
3471
+ * @return {?}
3472
+ */
3473
+ RElement.prototype.setAttributeNS = function (namespaceURI, qualifiedName, value) { };
3474
+ /**
3475
+ * @param {?} type
3476
+ * @param {?} listener
3477
+ * @param {?=} useCapture
3478
+ * @return {?}
3479
+ */
3480
+ RElement.prototype.addEventListener = function (type, listener, useCapture) { };
3481
+ /**
3482
+ * @param {?} type
3483
+ * @param {?=} listener
3484
+ * @param {?=} options
3485
+ * @return {?}
3486
+ */
3487
+ RElement.prototype.removeEventListener = function (type, listener, options) { };
3488
+ /**
3489
+ * @param {?} name
3490
+ * @param {?} value
3491
+ * @return {?}
3492
+ */
3493
+ RElement.prototype.setProperty = function (name, value) { };
3494
+ }
3495
+ /**
3496
+ * @record
3497
+ */
3498
+ function RCssStyleDeclaration() { }
3499
+ if (false) {
3500
+ /**
3501
+ * @param {?} propertyName
3502
+ * @return {?}
3503
+ */
3504
+ RCssStyleDeclaration.prototype.removeProperty = function (propertyName) { };
3505
+ /**
3506
+ * @param {?} propertyName
3507
+ * @param {?} value
3508
+ * @param {?=} priority
3509
+ * @return {?}
3510
+ */
3511
+ RCssStyleDeclaration.prototype.setProperty = function (propertyName, value, priority) { };
3512
+ }
3513
+ /**
3514
+ * @record
3515
+ */
3516
+ function RDomTokenList() { }
3517
+ if (false) {
3518
+ /**
3519
+ * @param {?} token
3520
+ * @return {?}
3521
+ */
3522
+ RDomTokenList.prototype.add = function (token) { };
3523
+ /**
3524
+ * @param {?} token
3525
+ * @return {?}
3526
+ */
3527
+ RDomTokenList.prototype.remove = function (token) { };
3528
+ }
3529
+ /**
3530
+ * @record
3531
+ */
3532
+ function RText() { }
3533
+ if (false) {
3534
+ /** @type {?} */
3535
+ RText.prototype.textContent;
3536
+ }
3537
+ /**
3538
+ * @record
3539
+ */
3540
+ function RComment() { }
3541
+ if (false) {
3542
+ /** @type {?} */
3543
+ RComment.prototype.textContent;
3544
+ }
3545
+ // Note: This hack is necessary so we don't erroneously get a circular dependency
3546
+ // failure based on types.
3547
+ /** @type {?} */
3548
+ const unusedValueExportToPlacateAjd$2 = 1;
3549
+
3550
+ /**
3551
+ * @fileoverview added by tsickle
3552
+ * Generated from: packages/core/src/render3/util/view_utils.ts
3553
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3554
+ */
3555
+ /**
3556
+ * For efficiency reasons we often put several different data types (`RNode`, `LView`, `LContainer`)
3557
+ * in same location in `LView`. This is because we don't want to pre-allocate space for it
3558
+ * because the storage is sparse. This file contains utilities for dealing with such data types.
3559
+ *
3560
+ * How do we know what is stored at a given location in `LView`.
3561
+ * - `Array.isArray(value) === false` => `RNode` (The normal storage value)
3562
+ * - `Array.isArray(value) === true` => then the `value[0]` represents the wrapped value.
3563
+ * - `typeof value[TYPE] === 'object'` => `LView`
3564
+ * - This happens when we have a component at a given location
3565
+ * - `typeof value[TYPE] === true` => `LContainer`
3566
+ * - This happens when we have `LContainer` binding at a given location.
3567
+ *
3568
+ *
3569
+ * NOTE: it is assumed that `Array.isArray` and `typeof` operations are very efficient.
3570
+ */
3571
+ /**
3572
+ * Returns `RNode`.
3573
+ * @param {?} value wrapped value of `RNode`, `LView`, `LContainer`
3574
+ * @return {?}
3575
+ */
3576
+ function unwrapRNode(value) {
3577
+ while (Array.isArray(value)) {
3578
+ value = (/** @type {?} */ (value[HOST]));
3579
+ }
3580
+ return (/** @type {?} */ (value));
3581
+ }
3582
+ /**
3583
+ * Returns `LView` or `null` if not found.
3584
+ * @param {?} value wrapped value of `RNode`, `LView`, `LContainer`
3585
+ * @return {?}
3586
+ */
3587
+ function unwrapLView(value) {
3588
+ while (Array.isArray(value)) {
3589
+ // This check is same as `isLView()` but we don't call at as we don't want to call
3590
+ // `Array.isArray()` twice and give JITer more work for inlining.
3591
+ if (typeof value[TYPE] === 'object')
3592
+ return (/** @type {?} */ (value));
3593
+ value = (/** @type {?} */ (value[HOST]));
3594
+ }
3595
+ return null;
3596
+ }
3597
+ /**
3598
+ * Returns `LContainer` or `null` if not found.
3599
+ * @param {?} value wrapped value of `RNode`, `LView`, `LContainer`
3600
+ * @return {?}
3601
+ */
3602
+ function unwrapLContainer(value) {
3603
+ while (Array.isArray(value)) {
3604
+ // This check is same as `isLContainer()` but we don't call at as we don't want to call
3605
+ // `Array.isArray()` twice and give JITer more work for inlining.
3606
+ if (value[TYPE] === true)
3607
+ return (/** @type {?} */ (value));
3608
+ value = (/** @type {?} */ (value[HOST]));
3609
+ }
3610
+ return null;
3611
+ }
3612
+ /**
3613
+ * Retrieves an element value from the provided `viewData`, by unwrapping
3614
+ * from any containers, component views, or style contexts.
3615
+ * @param {?} index
3616
+ * @param {?} lView
3617
+ * @return {?}
3618
+ */
3619
+ function getNativeByIndex(index, lView) {
3620
+ return unwrapRNode(lView[index + HEADER_OFFSET]);
3621
+ }
3622
+ /**
3623
+ * Retrieve an `RNode` for a given `TNode` and `LView`.
3624
+ *
3625
+ * This function guarantees in dev mode to retrieve a non-null `RNode`.
3626
+ *
3627
+ * @param {?} tNode
3628
+ * @param {?} lView
3629
+ * @return {?}
3630
+ */
3631
+ function getNativeByTNode(tNode, lView) {
3632
+ ngDevMode && assertTNodeForLView(tNode, lView);
3633
+ ngDevMode && assertDataInRange(lView, tNode.index);
3634
+ /** @type {?} */
3635
+ const node = unwrapRNode(lView[tNode.index]);
3636
+ ngDevMode && !isProceduralRenderer(lView[RENDERER]) && assertDomNode(node);
3637
+ return node;
3638
+ }
3639
+ /**
3640
+ * Retrieve an `RNode` or `null` for a given `TNode` and `LView`.
3641
+ *
3642
+ * Some `TNode`s don't have associated `RNode`s. For example `Projection`
3643
+ *
3644
+ * @param {?} tNode
3645
+ * @param {?} lView
3646
+ * @return {?}
3647
+ */
3648
+ function getNativeByTNodeOrNull(tNode, lView) {
3649
+ /** @type {?} */
3650
+ const index = tNode.index;
3651
+ if (index !== -1) {
3652
+ ngDevMode && assertTNodeForLView(tNode, lView);
3653
+ /** @type {?} */
3654
+ const node = unwrapRNode(lView[index]);
3655
+ ngDevMode && node !== null && !isProceduralRenderer(lView[RENDERER]) && assertDomNode(node);
3656
+ return node;
3657
+ }
3658
+ return null;
3659
+ }
3660
+ /**
3661
+ * @param {?} tView
3662
+ * @param {?} index
3663
+ * @return {?}
3664
+ */
3665
+ function getTNode(tView, index) {
3666
+ ngDevMode && assertGreaterThan(index, -1, 'wrong index for TNode');
3667
+ ngDevMode && assertLessThan(index, tView.data.length, 'wrong index for TNode');
3668
+ return (/** @type {?} */ (tView.data[index + HEADER_OFFSET]));
3669
+ }
3670
+ /**
3671
+ * Retrieves a value from any `LView` or `TData`.
3672
+ * @template T
3673
+ * @param {?} view
3674
+ * @param {?} index
3675
+ * @return {?}
3676
+ */
3677
+ function load(view, index) {
3678
+ ngDevMode && assertDataInRange(view, index + HEADER_OFFSET);
3679
+ return view[index + HEADER_OFFSET];
3680
+ }
3681
+ /**
3682
+ * @param {?} nodeIndex
3683
+ * @param {?} hostView
3684
+ * @return {?}
3685
+ */
3686
+ function getComponentLViewByIndex(nodeIndex, hostView) {
3687
+ // Could be an LView or an LContainer. If LContainer, unwrap to find LView.
3688
+ ngDevMode && assertDataInRange(hostView, nodeIndex);
3689
+ /** @type {?} */
3690
+ const slotValue = hostView[nodeIndex];
3691
+ /** @type {?} */
3692
+ const lView = isLView(slotValue) ? slotValue : slotValue[HOST];
3693
+ return lView;
3694
+ }
3695
+ /**
3696
+ * Returns the monkey-patch value data present on the target (which could be
3697
+ * a component, directive or a DOM node).
3698
+ * @param {?} target
3699
+ * @return {?}
3700
+ */
3701
+ function readPatchedData(target) {
3702
+ ngDevMode && assertDefined(target, 'Target expected');
3703
+ return target[MONKEY_PATCH_KEY_NAME] || null;
3704
+ }
3705
+ /**
3706
+ * @param {?} target
3707
+ * @return {?}
3708
+ */
3709
+ function readPatchedLView(target) {
3710
+ /** @type {?} */
3711
+ const value = readPatchedData(target);
3712
+ if (value) {
3713
+ return Array.isArray(value) ? value : ((/** @type {?} */ (value))).lView;
3714
+ }
3715
+ return null;
3716
+ }
3717
+ /**
3718
+ * Checks whether a given view is in creation mode
3719
+ * @param {?} view
3720
+ * @return {?}
3721
+ */
3722
+ function isCreationMode(view) {
3723
+ return (view[FLAGS] & 4 /* CreationMode */) === 4 /* CreationMode */;
3724
+ }
3725
+ /**
3726
+ * Returns a boolean for whether the view is attached to the change detection tree.
3727
+ *
3728
+ * Note: This determines whether a view should be checked, not whether it's inserted
3729
+ * into a container. For that, you'll want `viewAttachedToContainer` below.
3730
+ * @param {?} view
3731
+ * @return {?}
3732
+ */
3733
+ function viewAttachedToChangeDetector(view) {
3734
+ return (view[FLAGS] & 128 /* Attached */) === 128 /* Attached */;
3735
+ }
3736
+ /**
3737
+ * Returns a boolean for whether the view is attached to a container.
3738
+ * @param {?} view
3739
+ * @return {?}
3740
+ */
3741
+ function viewAttachedToContainer(view) {
3742
+ return isLContainer(view[PARENT]);
3743
+ }
3744
+ /**
3745
+ * Returns a constant from `TConstants` instance.
3746
+ * @template T
3747
+ * @param {?} consts
3748
+ * @param {?} index
3749
+ * @return {?}
3750
+ */
3751
+ function getConstant(consts, index) {
3752
+ return consts === null || index == null ? null : (/** @type {?} */ ((/** @type {?} */ (consts[index]))));
3753
+ }
3754
+ /**
3755
+ * Resets the pre-order hook flags of the view.
3756
+ * @param {?} lView the LView on which the flags are reset
3757
+ * @return {?}
3758
+ */
3759
+ function resetPreOrderHookFlags(lView) {
3760
+ lView[PREORDER_HOOK_FLAGS] = 0;
3761
+ }
3762
+ /**
3763
+ * @param {?} lContainer
3764
+ * @return {?}
3765
+ */
3766
+ function getLContainerActiveIndex(lContainer) {
3767
+ return lContainer[ACTIVE_INDEX] >> 1 /* SHIFT */;
3768
+ }
3769
+ /**
3770
+ * @param {?} lContainer
3771
+ * @param {?} index
3772
+ * @return {?}
3773
+ */
3774
+ function setLContainerActiveIndex(lContainer, index) {
3775
+ lContainer[ACTIVE_INDEX] = index << 1 /* SHIFT */;
3776
+ }
3777
+
3038
3778
  /**
3039
3779
  * @fileoverview added by tsickle
3040
3780
  * Generated from: packages/core/src/render3/state.ts
@@ -3641,6 +4381,15 @@ function getSelectedIndex() {
3641
4381
  function setSelectedIndex(index) {
3642
4382
  instructionState.lFrame.selectedIndex = index;
3643
4383
  }
4384
+ /**
4385
+ * Gets the `tNode` that represents currently selected element.
4386
+ * @return {?}
4387
+ */
4388
+ function getSelectedTNode() {
4389
+ /** @type {?} */
4390
+ const lFrame = instructionState.lFrame;
4391
+ return getTNode(lFrame.tView, lFrame.selectedIndex);
4392
+ }
3644
4393
  /**
3645
4394
  * Sets the namespace used to create elements to `'http://www.w3.org/2000/svg'` in global state.
3646
4395
  *
@@ -4193,7 +4942,7 @@ function isFactory(obj) {
4193
4942
  // Note: This hack is necessary so we don't erroneously get a circular dependency
4194
4943
  // failure based on types.
4195
4944
  /** @type {?} */
4196
- const unusedValueExportToPlacateAjd$2 = 1;
4945
+ const unusedValueExportToPlacateAjd$3 = 1;
4197
4946
 
4198
4947
  /**
4199
4948
  * @fileoverview added by tsickle
@@ -4244,448 +4993,6 @@ function typeName(type) {
4244
4993
  return '<unknown>';
4245
4994
  }
4246
4995
 
4247
- /**
4248
- * @fileoverview added by tsickle
4249
- * Generated from: packages/core/src/render3/interfaces/document.ts
4250
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4251
- */
4252
- /**
4253
- * @license
4254
- * Copyright Google Inc. All Rights Reserved.
4255
- *
4256
- * Use of this source code is governed by an MIT-style license that can be
4257
- * found in the LICENSE file at https://angular.io/license
4258
- */
4259
- /**
4260
- * Most of the use of `document` in Angular is from within the DI system so it is possible to simply
4261
- * inject the `DOCUMENT` token and are done.
4262
- *
4263
- * Ivy is special because it does not rely upon the DI and must get hold of the document some other
4264
- * way.
4265
- *
4266
- * The solution is to define `getDocument()` and `setDocument()` top-level functions for ivy.
4267
- * Wherever ivy needs the global document, it calls `getDocument()` instead.
4268
- *
4269
- * When running ivy outside of a browser environment, it is necessary to call `setDocument()` to
4270
- * tell ivy what the global `document` is.
4271
- *
4272
- * Angular does this for us in each of the standard platforms (`Browser`, `Server`, and `WebWorker`)
4273
- * by calling `setDocument()` when providing the `DOCUMENT` token.
4274
- * @type {?}
4275
- */
4276
- let DOCUMENT = undefined;
4277
- /**
4278
- * Tell ivy what the `document` is for this platform.
4279
- *
4280
- * It is only necessary to call this if the current platform is not a browser.
4281
- *
4282
- * @param {?} document The object representing the global `document` in this environment.
4283
- * @return {?}
4284
- */
4285
- function setDocument(document) {
4286
- DOCUMENT = document;
4287
- }
4288
- /**
4289
- * Access the object that represents the `document` for this platform.
4290
- *
4291
- * Ivy calls this whenever it needs to access the `document` object.
4292
- * For example to create the renderer or to do sanitization.
4293
- * @return {?}
4294
- */
4295
- function getDocument() {
4296
- if (DOCUMENT !== undefined) {
4297
- return DOCUMENT;
4298
- }
4299
- else if (typeof document !== 'undefined') {
4300
- return document;
4301
- }
4302
- // No "document" can be found. This should only happen if we are running ivy outside Angular and
4303
- // the current platform is not a browser. Since this is not a supported scenario at the moment
4304
- // this should not happen in Angular apps.
4305
- // Once we support running ivy outside of Angular we will need to publish `setDocument()` as a
4306
- // public API. Meanwhile we just return `undefined` and let the application fail.
4307
- return (/** @type {?} */ (undefined));
4308
- }
4309
-
4310
- /**
4311
- * @fileoverview added by tsickle
4312
- * Generated from: packages/core/src/render3/interfaces/renderer.ts
4313
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4314
- */
4315
- /** @enum {number} */
4316
- const RendererStyleFlags3 = {
4317
- Important: 1,
4318
- DashCase: 2,
4319
- };
4320
- RendererStyleFlags3[RendererStyleFlags3.Important] = 'Important';
4321
- RendererStyleFlags3[RendererStyleFlags3.DashCase] = 'DashCase';
4322
- /**
4323
- * Object Oriented style of API needed to create elements and text nodes.
4324
- *
4325
- * This is the native browser API style, e.g. operations are methods on individual objects
4326
- * like HTMLElement. With this style, no additional code is needed as a facade
4327
- * (reducing payload size).
4328
- *
4329
- * @record
4330
- */
4331
- function ObjectOrientedRenderer3() { }
4332
- if (false) {
4333
- /**
4334
- * @param {?} data
4335
- * @return {?}
4336
- */
4337
- ObjectOrientedRenderer3.prototype.createComment = function (data) { };
4338
- /**
4339
- * @param {?} tagName
4340
- * @return {?}
4341
- */
4342
- ObjectOrientedRenderer3.prototype.createElement = function (tagName) { };
4343
- /**
4344
- * @param {?} namespace
4345
- * @param {?} tagName
4346
- * @return {?}
4347
- */
4348
- ObjectOrientedRenderer3.prototype.createElementNS = function (namespace, tagName) { };
4349
- /**
4350
- * @param {?} data
4351
- * @return {?}
4352
- */
4353
- ObjectOrientedRenderer3.prototype.createTextNode = function (data) { };
4354
- /**
4355
- * @param {?} selectors
4356
- * @return {?}
4357
- */
4358
- ObjectOrientedRenderer3.prototype.querySelector = function (selectors) { };
4359
- }
4360
- /**
4361
- * Returns whether the `renderer` is a `ProceduralRenderer3`
4362
- * @param {?} renderer
4363
- * @return {?}
4364
- */
4365
- function isProceduralRenderer(renderer) {
4366
- return !!(((/** @type {?} */ (renderer))).listen);
4367
- }
4368
- /**
4369
- * Procedural style of API needed to create elements and text nodes.
4370
- *
4371
- * In non-native browser environments (e.g. platforms such as web-workers), this is the
4372
- * facade that enables element manipulation. This also facilitates backwards compatibility
4373
- * with Renderer2.
4374
- * @record
4375
- */
4376
- function ProceduralRenderer3() { }
4377
- if (false) {
4378
- /**
4379
- * This property is allowed to be null / undefined,
4380
- * in which case the view engine won't call it.
4381
- * This is used as a performance optimization for production mode.
4382
- * @type {?|undefined}
4383
- */
4384
- ProceduralRenderer3.prototype.destroyNode;
4385
- /**
4386
- * @return {?}
4387
- */
4388
- ProceduralRenderer3.prototype.destroy = function () { };
4389
- /**
4390
- * @param {?} value
4391
- * @return {?}
4392
- */
4393
- ProceduralRenderer3.prototype.createComment = function (value) { };
4394
- /**
4395
- * @param {?} name
4396
- * @param {?=} namespace
4397
- * @return {?}
4398
- */
4399
- ProceduralRenderer3.prototype.createElement = function (name, namespace) { };
4400
- /**
4401
- * @param {?} value
4402
- * @return {?}
4403
- */
4404
- ProceduralRenderer3.prototype.createText = function (value) { };
4405
- /**
4406
- * @param {?} parent
4407
- * @param {?} newChild
4408
- * @return {?}
4409
- */
4410
- ProceduralRenderer3.prototype.appendChild = function (parent, newChild) { };
4411
- /**
4412
- * @param {?} parent
4413
- * @param {?} newChild
4414
- * @param {?} refChild
4415
- * @return {?}
4416
- */
4417
- ProceduralRenderer3.prototype.insertBefore = function (parent, newChild, refChild) { };
4418
- /**
4419
- * @param {?} parent
4420
- * @param {?} oldChild
4421
- * @param {?=} isHostElement
4422
- * @return {?}
4423
- */
4424
- ProceduralRenderer3.prototype.removeChild = function (parent, oldChild, isHostElement) { };
4425
- /**
4426
- * @param {?} selectorOrNode
4427
- * @param {?=} preserveContent
4428
- * @return {?}
4429
- */
4430
- ProceduralRenderer3.prototype.selectRootElement = function (selectorOrNode, preserveContent) { };
4431
- /**
4432
- * @param {?} node
4433
- * @return {?}
4434
- */
4435
- ProceduralRenderer3.prototype.parentNode = function (node) { };
4436
- /**
4437
- * @param {?} node
4438
- * @return {?}
4439
- */
4440
- ProceduralRenderer3.prototype.nextSibling = function (node) { };
4441
- /**
4442
- * @param {?} el
4443
- * @param {?} name
4444
- * @param {?} value
4445
- * @param {?=} namespace
4446
- * @return {?}
4447
- */
4448
- ProceduralRenderer3.prototype.setAttribute = function (el, name, value, namespace) { };
4449
- /**
4450
- * @param {?} el
4451
- * @param {?} name
4452
- * @param {?=} namespace
4453
- * @return {?}
4454
- */
4455
- ProceduralRenderer3.prototype.removeAttribute = function (el, name, namespace) { };
4456
- /**
4457
- * @param {?} el
4458
- * @param {?} name
4459
- * @return {?}
4460
- */
4461
- ProceduralRenderer3.prototype.addClass = function (el, name) { };
4462
- /**
4463
- * @param {?} el
4464
- * @param {?} name
4465
- * @return {?}
4466
- */
4467
- ProceduralRenderer3.prototype.removeClass = function (el, name) { };
4468
- /**
4469
- * @param {?} el
4470
- * @param {?} style
4471
- * @param {?} value
4472
- * @param {?=} flags
4473
- * @return {?}
4474
- */
4475
- ProceduralRenderer3.prototype.setStyle = function (el, style, value, flags) { };
4476
- /**
4477
- * @param {?} el
4478
- * @param {?} style
4479
- * @param {?=} flags
4480
- * @return {?}
4481
- */
4482
- ProceduralRenderer3.prototype.removeStyle = function (el, style, flags) { };
4483
- /**
4484
- * @param {?} el
4485
- * @param {?} name
4486
- * @param {?} value
4487
- * @return {?}
4488
- */
4489
- ProceduralRenderer3.prototype.setProperty = function (el, name, value) { };
4490
- /**
4491
- * @param {?} node
4492
- * @param {?} value
4493
- * @return {?}
4494
- */
4495
- ProceduralRenderer3.prototype.setValue = function (node, value) { };
4496
- /**
4497
- * @param {?} target
4498
- * @param {?} eventName
4499
- * @param {?} callback
4500
- * @return {?}
4501
- */
4502
- ProceduralRenderer3.prototype.listen = function (target, eventName, callback) { };
4503
- }
4504
- /**
4505
- * @record
4506
- */
4507
- function RendererFactory3() { }
4508
- if (false) {
4509
- /**
4510
- * @param {?} hostElement
4511
- * @param {?} rendererType
4512
- * @return {?}
4513
- */
4514
- RendererFactory3.prototype.createRenderer = function (hostElement, rendererType) { };
4515
- /**
4516
- * @return {?}
4517
- */
4518
- RendererFactory3.prototype.begin = function () { };
4519
- /**
4520
- * @return {?}
4521
- */
4522
- RendererFactory3.prototype.end = function () { };
4523
- }
4524
- const ɵ0$2 = /**
4525
- * @param {?} hostElement
4526
- * @param {?} rendererType
4527
- * @return {?}
4528
- */
4529
- (hostElement, rendererType) => { return getDocument(); };
4530
- /** @type {?} */
4531
- const domRendererFactory3 = {
4532
- createRenderer: (ɵ0$2)
4533
- };
4534
- /**
4535
- * Subset of API needed for appending elements and text nodes.
4536
- * @record
4537
- */
4538
- function RNode() { }
4539
- if (false) {
4540
- /**
4541
- * Returns the parent Element, Document, or DocumentFragment
4542
- * @type {?}
4543
- */
4544
- RNode.prototype.parentNode;
4545
- /**
4546
- * Returns the parent Element if there is one
4547
- * @type {?}
4548
- */
4549
- RNode.prototype.parentElement;
4550
- /**
4551
- * Gets the Node immediately following this one in the parent's childNodes
4552
- * @type {?}
4553
- */
4554
- RNode.prototype.nextSibling;
4555
- /**
4556
- * Removes a child from the current node and returns the removed node
4557
- * @param {?} oldChild the child node to remove
4558
- * @return {?}
4559
- */
4560
- RNode.prototype.removeChild = function (oldChild) { };
4561
- /**
4562
- * Insert a child node.
4563
- *
4564
- * Used exclusively for adding View root nodes into ViewAnchor location.
4565
- * @param {?} newChild
4566
- * @param {?} refChild
4567
- * @param {?} isViewRoot
4568
- * @return {?}
4569
- */
4570
- RNode.prototype.insertBefore = function (newChild, refChild, isViewRoot) { };
4571
- /**
4572
- * Append a child node.
4573
- *
4574
- * Used exclusively for building up DOM which are static (ie not View roots)
4575
- * @param {?} newChild
4576
- * @return {?}
4577
- */
4578
- RNode.prototype.appendChild = function (newChild) { };
4579
- }
4580
- /**
4581
- * Subset of API needed for writing attributes, properties, and setting up
4582
- * listeners on Element.
4583
- * @record
4584
- */
4585
- function RElement() { }
4586
- if (false) {
4587
- /** @type {?} */
4588
- RElement.prototype.style;
4589
- /** @type {?} */
4590
- RElement.prototype.classList;
4591
- /** @type {?} */
4592
- RElement.prototype.className;
4593
- /** @type {?} */
4594
- RElement.prototype.textContent;
4595
- /**
4596
- * @param {?} name
4597
- * @param {?} value
4598
- * @return {?}
4599
- */
4600
- RElement.prototype.setAttribute = function (name, value) { };
4601
- /**
4602
- * @param {?} name
4603
- * @return {?}
4604
- */
4605
- RElement.prototype.removeAttribute = function (name) { };
4606
- /**
4607
- * @param {?} namespaceURI
4608
- * @param {?} qualifiedName
4609
- * @param {?} value
4610
- * @return {?}
4611
- */
4612
- RElement.prototype.setAttributeNS = function (namespaceURI, qualifiedName, value) { };
4613
- /**
4614
- * @param {?} type
4615
- * @param {?} listener
4616
- * @param {?=} useCapture
4617
- * @return {?}
4618
- */
4619
- RElement.prototype.addEventListener = function (type, listener, useCapture) { };
4620
- /**
4621
- * @param {?} type
4622
- * @param {?=} listener
4623
- * @param {?=} options
4624
- * @return {?}
4625
- */
4626
- RElement.prototype.removeEventListener = function (type, listener, options) { };
4627
- /**
4628
- * @param {?} name
4629
- * @param {?} value
4630
- * @return {?}
4631
- */
4632
- RElement.prototype.setProperty = function (name, value) { };
4633
- }
4634
- /**
4635
- * @record
4636
- */
4637
- function RCssStyleDeclaration() { }
4638
- if (false) {
4639
- /**
4640
- * @param {?} propertyName
4641
- * @return {?}
4642
- */
4643
- RCssStyleDeclaration.prototype.removeProperty = function (propertyName) { };
4644
- /**
4645
- * @param {?} propertyName
4646
- * @param {?} value
4647
- * @param {?=} priority
4648
- * @return {?}
4649
- */
4650
- RCssStyleDeclaration.prototype.setProperty = function (propertyName, value, priority) { };
4651
- }
4652
- /**
4653
- * @record
4654
- */
4655
- function RDomTokenList() { }
4656
- if (false) {
4657
- /**
4658
- * @param {?} token
4659
- * @return {?}
4660
- */
4661
- RDomTokenList.prototype.add = function (token) { };
4662
- /**
4663
- * @param {?} token
4664
- * @return {?}
4665
- */
4666
- RDomTokenList.prototype.remove = function (token) { };
4667
- }
4668
- /**
4669
- * @record
4670
- */
4671
- function RText() { }
4672
- if (false) {
4673
- /** @type {?} */
4674
- RText.prototype.textContent;
4675
- }
4676
- /**
4677
- * @record
4678
- */
4679
- function RComment() { }
4680
- if (false) {
4681
- /** @type {?} */
4682
- RComment.prototype.textContent;
4683
- }
4684
- // Note: This hack is necessary so we don't erroneously get a circular dependency
4685
- // failure based on types.
4686
- /** @type {?} */
4687
- const unusedValueExportToPlacateAjd$3 = 1;
4688
-
4689
4996
  /**
4690
4997
  * @fileoverview added by tsickle
4691
4998
  * Generated from: packages/core/src/render3/util/attrs_utils.ts
@@ -5793,24 +6100,29 @@ function ɵɵgetFactoryOf(type) {
5793
6100
  * @return {?}
5794
6101
  */
5795
6102
  function ɵɵgetInheritedFactory(type) {
5796
- /** @type {?} */
5797
- const proto = (/** @type {?} */ (Object.getPrototypeOf(type.prototype).constructor));
5798
- /** @type {?} */
5799
- const factory = ((/** @type {?} */ (proto)))[NG_FACTORY_DEF] || ɵɵgetFactoryOf(proto);
5800
- if (factory !== null) {
5801
- return factory;
5802
- }
5803
- else {
5804
- // There is no factory defined. Either this was improper usage of inheritance
5805
- // (no Angular decorator on the superclass) or there is no constructor at all
5806
- // in the inheritance chain. Since the two cases cannot be distinguished, the
5807
- // latter has to be assumed.
5808
- return (/**
5809
- * @param {?} t
5810
- * @return {?}
5811
- */
5812
- (t) => new t());
5813
- }
6103
+ return noSideEffects((/**
6104
+ * @return {?}
6105
+ */
6106
+ () => {
6107
+ /** @type {?} */
6108
+ const proto = (/** @type {?} */ (Object.getPrototypeOf(type.prototype).constructor));
6109
+ /** @type {?} */
6110
+ const factory = ((/** @type {?} */ (proto)))[NG_FACTORY_DEF] || ɵɵgetFactoryOf(proto);
6111
+ if (factory !== null) {
6112
+ return factory;
6113
+ }
6114
+ else {
6115
+ // There is no factory defined. Either this was improper usage of inheritance
6116
+ // (no Angular decorator on the superclass) or there is no constructor at all
6117
+ // in the inheritance chain. Since the two cases cannot be distinguished, the
6118
+ // latter has to be assumed.
6119
+ return (/**
6120
+ * @param {?} t
6121
+ * @return {?}
6122
+ */
6123
+ (t) => new t());
6124
+ }
6125
+ }));
5814
6126
  }
5815
6127
 
5816
6128
  /**
@@ -7350,297 +7662,6 @@ function normalizeDebugBindingValue(value) {
7350
7662
  }
7351
7663
  }
7352
7664
 
7353
- /**
7354
- * @fileoverview added by tsickle
7355
- * Generated from: packages/core/src/render3/interfaces/context.ts
7356
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
7357
- */
7358
- /**
7359
- * @license
7360
- * Copyright Google Inc. All Rights Reserved.
7361
- *
7362
- * Use of this source code is governed by an MIT-style license that can be
7363
- * found in the LICENSE file at https://angular.io/license
7364
- */
7365
- /**
7366
- * This property will be monkey-patched on elements, components and directives
7367
- * @type {?}
7368
- */
7369
- const MONKEY_PATCH_KEY_NAME = '__ngContext__';
7370
- /**
7371
- * The internal view context which is specific to a given DOM element, directive or
7372
- * component instance. Each value in here (besides the LView and element node details)
7373
- * can be present, null or undefined. If undefined then it implies the value has not been
7374
- * looked up yet, otherwise, if null, then a lookup was executed and nothing was found.
7375
- *
7376
- * Each value will get filled when the respective value is examined within the getContext
7377
- * function. The component, element and each directive instance will share the same instance
7378
- * of the context.
7379
- * @record
7380
- */
7381
- function LContext() { }
7382
- if (false) {
7383
- /**
7384
- * The component's parent view data.
7385
- * @type {?}
7386
- */
7387
- LContext.prototype.lView;
7388
- /**
7389
- * The index instance of the node.
7390
- * @type {?}
7391
- */
7392
- LContext.prototype.nodeIndex;
7393
- /**
7394
- * The instance of the DOM node that is attached to the lNode.
7395
- * @type {?}
7396
- */
7397
- LContext.prototype.native;
7398
- /**
7399
- * The instance of the Component node.
7400
- * @type {?}
7401
- */
7402
- LContext.prototype.component;
7403
- /**
7404
- * The list of active directives that exist on this element.
7405
- * @type {?}
7406
- */
7407
- LContext.prototype.directives;
7408
- /**
7409
- * The map of local references (local reference name => element or directive instance) that exist
7410
- * on this element.
7411
- * @type {?}
7412
- */
7413
- LContext.prototype.localRefs;
7414
- }
7415
-
7416
- /**
7417
- * @fileoverview added by tsickle
7418
- * Generated from: packages/core/src/render3/util/view_utils.ts
7419
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
7420
- */
7421
- /**
7422
- * For efficiency reasons we often put several different data types (`RNode`, `LView`, `LContainer`)
7423
- * in same location in `LView`. This is because we don't want to pre-allocate space for it
7424
- * because the storage is sparse. This file contains utilities for dealing with such data types.
7425
- *
7426
- * How do we know what is stored at a given location in `LView`.
7427
- * - `Array.isArray(value) === false` => `RNode` (The normal storage value)
7428
- * - `Array.isArray(value) === true` => then the `value[0]` represents the wrapped value.
7429
- * - `typeof value[TYPE] === 'object'` => `LView`
7430
- * - This happens when we have a component at a given location
7431
- * - `typeof value[TYPE] === true` => `LContainer`
7432
- * - This happens when we have `LContainer` binding at a given location.
7433
- *
7434
- *
7435
- * NOTE: it is assumed that `Array.isArray` and `typeof` operations are very efficient.
7436
- */
7437
- /**
7438
- * Returns `RNode`.
7439
- * @param {?} value wrapped value of `RNode`, `LView`, `LContainer`
7440
- * @return {?}
7441
- */
7442
- function unwrapRNode(value) {
7443
- while (Array.isArray(value)) {
7444
- value = (/** @type {?} */ (value[HOST]));
7445
- }
7446
- return (/** @type {?} */ (value));
7447
- }
7448
- /**
7449
- * Returns `LView` or `null` if not found.
7450
- * @param {?} value wrapped value of `RNode`, `LView`, `LContainer`
7451
- * @return {?}
7452
- */
7453
- function unwrapLView(value) {
7454
- while (Array.isArray(value)) {
7455
- // This check is same as `isLView()` but we don't call at as we don't want to call
7456
- // `Array.isArray()` twice and give JITer more work for inlining.
7457
- if (typeof value[TYPE] === 'object')
7458
- return (/** @type {?} */ (value));
7459
- value = (/** @type {?} */ (value[HOST]));
7460
- }
7461
- return null;
7462
- }
7463
- /**
7464
- * Returns `LContainer` or `null` if not found.
7465
- * @param {?} value wrapped value of `RNode`, `LView`, `LContainer`
7466
- * @return {?}
7467
- */
7468
- function unwrapLContainer(value) {
7469
- while (Array.isArray(value)) {
7470
- // This check is same as `isLContainer()` but we don't call at as we don't want to call
7471
- // `Array.isArray()` twice and give JITer more work for inlining.
7472
- if (value[TYPE] === true)
7473
- return (/** @type {?} */ (value));
7474
- value = (/** @type {?} */ (value[HOST]));
7475
- }
7476
- return null;
7477
- }
7478
- /**
7479
- * Retrieves an element value from the provided `viewData`, by unwrapping
7480
- * from any containers, component views, or style contexts.
7481
- * @param {?} index
7482
- * @param {?} lView
7483
- * @return {?}
7484
- */
7485
- function getNativeByIndex(index, lView) {
7486
- return unwrapRNode(lView[index + HEADER_OFFSET]);
7487
- }
7488
- /**
7489
- * Retrieve an `RNode` for a given `TNode` and `LView`.
7490
- *
7491
- * This function guarantees in dev mode to retrieve a non-null `RNode`.
7492
- *
7493
- * @param {?} tNode
7494
- * @param {?} lView
7495
- * @return {?}
7496
- */
7497
- function getNativeByTNode(tNode, lView) {
7498
- ngDevMode && assertTNodeForLView(tNode, lView);
7499
- ngDevMode && assertDataInRange(lView, tNode.index);
7500
- /** @type {?} */
7501
- const node = unwrapRNode(lView[tNode.index]);
7502
- ngDevMode && !isProceduralRenderer(lView[RENDERER]) && assertDomNode(node);
7503
- return node;
7504
- }
7505
- /**
7506
- * Retrieve an `RNode` or `null` for a given `TNode` and `LView`.
7507
- *
7508
- * Some `TNode`s don't have associated `RNode`s. For example `Projection`
7509
- *
7510
- * @param {?} tNode
7511
- * @param {?} lView
7512
- * @return {?}
7513
- */
7514
- function getNativeByTNodeOrNull(tNode, lView) {
7515
- /** @type {?} */
7516
- const index = tNode.index;
7517
- if (index !== -1) {
7518
- ngDevMode && assertTNodeForLView(tNode, lView);
7519
- /** @type {?} */
7520
- const node = unwrapRNode(lView[index]);
7521
- ngDevMode && node !== null && !isProceduralRenderer(lView[RENDERER]) && assertDomNode(node);
7522
- return node;
7523
- }
7524
- return null;
7525
- }
7526
- /**
7527
- * @param {?} tView
7528
- * @param {?} index
7529
- * @return {?}
7530
- */
7531
- function getTNode(tView, index) {
7532
- ngDevMode && assertGreaterThan(index, -1, 'wrong index for TNode');
7533
- ngDevMode && assertLessThan(index, tView.data.length, 'wrong index for TNode');
7534
- return (/** @type {?} */ (tView.data[index + HEADER_OFFSET]));
7535
- }
7536
- /**
7537
- * Retrieves a value from any `LView` or `TData`.
7538
- * @template T
7539
- * @param {?} view
7540
- * @param {?} index
7541
- * @return {?}
7542
- */
7543
- function load(view, index) {
7544
- ngDevMode && assertDataInRange(view, index + HEADER_OFFSET);
7545
- return view[index + HEADER_OFFSET];
7546
- }
7547
- /**
7548
- * @param {?} nodeIndex
7549
- * @param {?} hostView
7550
- * @return {?}
7551
- */
7552
- function getComponentLViewByIndex(nodeIndex, hostView) {
7553
- // Could be an LView or an LContainer. If LContainer, unwrap to find LView.
7554
- ngDevMode && assertDataInRange(hostView, nodeIndex);
7555
- /** @type {?} */
7556
- const slotValue = hostView[nodeIndex];
7557
- /** @type {?} */
7558
- const lView = isLView(slotValue) ? slotValue : slotValue[HOST];
7559
- return lView;
7560
- }
7561
- /**
7562
- * Returns the monkey-patch value data present on the target (which could be
7563
- * a component, directive or a DOM node).
7564
- * @param {?} target
7565
- * @return {?}
7566
- */
7567
- function readPatchedData(target) {
7568
- ngDevMode && assertDefined(target, 'Target expected');
7569
- return target[MONKEY_PATCH_KEY_NAME] || null;
7570
- }
7571
- /**
7572
- * @param {?} target
7573
- * @return {?}
7574
- */
7575
- function readPatchedLView(target) {
7576
- /** @type {?} */
7577
- const value = readPatchedData(target);
7578
- if (value) {
7579
- return Array.isArray(value) ? value : ((/** @type {?} */ (value))).lView;
7580
- }
7581
- return null;
7582
- }
7583
- /**
7584
- * Checks whether a given view is in creation mode
7585
- * @param {?} view
7586
- * @return {?}
7587
- */
7588
- function isCreationMode(view) {
7589
- return (view[FLAGS] & 4 /* CreationMode */) === 4 /* CreationMode */;
7590
- }
7591
- /**
7592
- * Returns a boolean for whether the view is attached to the change detection tree.
7593
- *
7594
- * Note: This determines whether a view should be checked, not whether it's inserted
7595
- * into a container. For that, you'll want `viewAttachedToContainer` below.
7596
- * @param {?} view
7597
- * @return {?}
7598
- */
7599
- function viewAttachedToChangeDetector(view) {
7600
- return (view[FLAGS] & 128 /* Attached */) === 128 /* Attached */;
7601
- }
7602
- /**
7603
- * Returns a boolean for whether the view is attached to a container.
7604
- * @param {?} view
7605
- * @return {?}
7606
- */
7607
- function viewAttachedToContainer(view) {
7608
- return isLContainer(view[PARENT]);
7609
- }
7610
- /**
7611
- * Returns a constant from `TConstants` instance.
7612
- * @template T
7613
- * @param {?} consts
7614
- * @param {?} index
7615
- * @return {?}
7616
- */
7617
- function getConstant(consts, index) {
7618
- return consts === null || index == null ? null : (/** @type {?} */ ((/** @type {?} */ (consts[index]))));
7619
- }
7620
- /**
7621
- * Resets the pre-order hook flags of the view.
7622
- * @param {?} lView the LView on which the flags are reset
7623
- * @return {?}
7624
- */
7625
- function resetPreOrderHookFlags(lView) {
7626
- lView[PREORDER_HOOK_FLAGS] = 0;
7627
- }
7628
- /**
7629
- * @param {?} lContainer
7630
- * @return {?}
7631
- */
7632
- function getLContainerActiveIndex(lContainer) {
7633
- return lContainer[ACTIVE_INDEX] >> 1 /* SHIFT */;
7634
- }
7635
- /**
7636
- * @param {?} lContainer
7637
- * @param {?} index
7638
- * @return {?}
7639
- */
7640
- function setLContainerActiveIndex(lContainer, index) {
7641
- lContainer[ACTIVE_INDEX] = index << 1 /* SHIFT */;
7642
- }
7643
-
7644
7665
  /**
7645
7666
  * @fileoverview added by tsickle
7646
7667
  * Generated from: packages/core/src/render3/context_discovery.ts
@@ -8068,8 +8089,6 @@ function throwErrorIfNoChangesMode(creationMode, oldValue, currValue, propName)
8068
8089
  }
8069
8090
  // TODO: include debug context, see `viewDebugError` function in
8070
8091
  // `packages/core/src/view/errors.ts` for reference.
8071
- // tslint:disable-next-line
8072
- debugger; // Left intentionally for better debugger experience.
8073
8092
  throw new Error(msg);
8074
8093
  }
8075
8094
  /**
@@ -12327,7 +12346,7 @@ function initializeInputAndOutputAliases(tView, tNode) {
12327
12346
  outputsStore = generatePropertyAliases(directiveDef.outputs, i, outputsStore);
12328
12347
  }
12329
12348
  if (inputsStore !== null) {
12330
- if (inputsStore.hasOwnProperty('class') || inputsStore.hasOwnProperty('className')) {
12349
+ if (inputsStore.hasOwnProperty('class')) {
12331
12350
  tNode.flags |= 16 /* hasClassInput */;
12332
12351
  }
12333
12352
  if (inputsStore.hasOwnProperty('style')) {
@@ -12368,21 +12387,19 @@ function mapPropName(name) {
12368
12387
  /**
12369
12388
  * @template T
12370
12389
  * @param {?} tView
12390
+ * @param {?} tNode
12371
12391
  * @param {?} lView
12372
- * @param {?} index
12373
12392
  * @param {?} propName
12374
12393
  * @param {?} value
12375
- * @param {?=} sanitizer
12376
- * @param {?=} nativeOnly
12377
- * @param {?=} loadRendererFn
12394
+ * @param {?} renderer
12395
+ * @param {?} sanitizer
12396
+ * @param {?} nativeOnly
12378
12397
  * @return {?}
12379
12398
  */
12380
- function elementPropertyInternal(tView, lView, index, propName, value, sanitizer, nativeOnly, loadRendererFn) {
12399
+ function elementPropertyInternal(tView, tNode, lView, propName, value, renderer, sanitizer, nativeOnly) {
12381
12400
  ngDevMode && assertNotSame(value, (/** @type {?} */ (NO_CHANGE)), 'Incoming value should never be NO_CHANGE.');
12382
12401
  /** @type {?} */
12383
- const element = (/** @type {?} */ (getNativeByIndex(index, lView)));
12384
- /** @type {?} */
12385
- const tNode = getTNode(tView, index);
12402
+ const element = (/** @type {?} */ (getNativeByTNode(tNode, lView)));
12386
12403
  /** @type {?} */
12387
12404
  let inputData = tNode.inputs;
12388
12405
  /** @type {?} */
@@ -12390,7 +12407,7 @@ function elementPropertyInternal(tView, lView, index, propName, value, sanitizer
12390
12407
  if (!nativeOnly && inputData != null && (dataValue = inputData[propName])) {
12391
12408
  setInputsForProperty(tView, lView, dataValue, propName, value);
12392
12409
  if (isComponentHost(tNode))
12393
- markDirtyIfOnPush(lView, index + HEADER_OFFSET);
12410
+ markDirtyIfOnPush(lView, tNode.index);
12394
12411
  if (ngDevMode) {
12395
12412
  setNgReflectProperties(lView, element, tNode.type, dataValue, value);
12396
12413
  }
@@ -12406,8 +12423,6 @@ function elementPropertyInternal(tView, lView, index, propName, value, sanitizer
12406
12423
  }
12407
12424
  ngDevMode.rendererSetProperty++;
12408
12425
  }
12409
- /** @type {?} */
12410
- const renderer = loadRendererFn ? loadRendererFn(tNode, lView) : lView[RENDERER];
12411
12426
  // It is assumed that the sanitizer is only added when the compiler determines that the
12412
12427
  // property is risky, so sanitization can be done without further checks.
12413
12428
  value = sanitizer != null ? ((/** @type {?} */ (sanitizer(value, tNode.tagName || '', propName)))) : value;
@@ -12962,20 +12977,19 @@ function addComponentLogic(lView, hostTNode, def) {
12962
12977
  lView[hostTNode.index] = componentView;
12963
12978
  }
12964
12979
  /**
12965
- * @param {?} index
12980
+ * @param {?} tNode
12981
+ * @param {?} lView
12966
12982
  * @param {?} name
12967
12983
  * @param {?} value
12968
- * @param {?} tView
12969
- * @param {?} lView
12970
- * @param {?=} sanitizer
12971
- * @param {?=} namespace
12984
+ * @param {?} sanitizer
12985
+ * @param {?} namespace
12972
12986
  * @return {?}
12973
12987
  */
12974
- function elementAttributeInternal(index, name, value, tView, lView, sanitizer, namespace) {
12988
+ function elementAttributeInternal(tNode, lView, name, value, sanitizer, namespace) {
12975
12989
  ngDevMode && assertNotSame(value, (/** @type {?} */ (NO_CHANGE)), 'Incoming value should never be NO_CHANGE.');
12976
12990
  ngDevMode && validateAgainstEventAttributes(name);
12977
12991
  /** @type {?} */
12978
- const element = (/** @type {?} */ (getNativeByIndex(index, lView)));
12992
+ const element = (/** @type {?} */ (getNativeByTNode(tNode, lView)));
12979
12993
  /** @type {?} */
12980
12994
  const renderer = lView[RENDERER];
12981
12995
  if (value == null) {
@@ -12986,8 +13000,6 @@ function elementAttributeInternal(index, name, value, tView, lView, sanitizer, n
12986
13000
  else {
12987
13001
  ngDevMode && ngDevMode.rendererSetAttribute++;
12988
13002
  /** @type {?} */
12989
- const tNode = getTNode(tView, index);
12990
- /** @type {?} */
12991
13003
  const strValue = sanitizer == null ? renderStringify(value) : sanitizer(value, tNode.tagName || '', name);
12992
13004
  if (isProceduralRenderer(renderer)) {
12993
13005
  renderer.setAttribute(element, name, strValue, namespace);
@@ -13478,19 +13490,17 @@ function executeViewQueryFn(flags, viewQueryFn, component) {
13478
13490
  * interpolated properties.
13479
13491
  *
13480
13492
  * @param {?} tData `TData` where meta-data will be saved;
13481
- * @param {?} nodeIndex index of a `TNode` that is a target of the binding;
13493
+ * @param {?} tNode `TNode` that is a target of the binding;
13482
13494
  * @param {?} propertyName bound property name;
13483
13495
  * @param {?} bindingIndex binding index in `LView`
13484
13496
  * @param {...?} interpolationParts static interpolation parts (for property interpolations)
13485
13497
  * @return {?}
13486
13498
  */
13487
- function storePropertyBindingMetadata(tData, nodeIndex, propertyName, bindingIndex, ...interpolationParts) {
13499
+ function storePropertyBindingMetadata(tData, tNode, propertyName, bindingIndex, ...interpolationParts) {
13488
13500
  // Binding meta-data are stored only the first time a given property instruction is processed.
13489
13501
  // Since we don't have a concept of the "first update pass" we need to check for presence of the
13490
13502
  // binding meta-data to decide if one should be stored (or if was stored already).
13491
13503
  if (tData[bindingIndex] === null) {
13492
- /** @type {?} */
13493
- const tNode = (/** @type {?} */ (tData[nodeIndex + HEADER_OFFSET]));
13494
13504
  if (tNode.inputs == null || !tNode.inputs[propertyName]) {
13495
13505
  /** @type {?} */
13496
13506
  const propBindingIdxs = tNode.propertyBindings || (tNode.propertyBindings = []);
@@ -13602,7 +13612,7 @@ function textBindingInternal(lView, index, value) {
13602
13612
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
13603
13613
  */
13604
13614
  /** @type {?} */
13605
- const unusedValueToPlacateAjd$1 = unusedValueExportToPlacateAjd$1 + unusedValueExportToPlacateAjd$4 + unusedValueExportToPlacateAjd$5 + unusedValueExportToPlacateAjd$3 + unusedValueExportToPlacateAjd;
13615
+ const unusedValueToPlacateAjd$1 = unusedValueExportToPlacateAjd$1 + unusedValueExportToPlacateAjd$4 + unusedValueExportToPlacateAjd$5 + unusedValueExportToPlacateAjd$2 + unusedValueExportToPlacateAjd;
13606
13616
  /**
13607
13617
  * @param {?} tNode
13608
13618
  * @param {?} embeddedView
@@ -16187,7 +16197,7 @@ function compileInjectable(type, srcMeta) {
16187
16197
  typeArgumentCount: metadata.typeArgumentCount,
16188
16198
  deps: reflectDependencies(type),
16189
16199
  injectFn: 'inject',
16190
- target: compiler.R3FactoryTarget.Pipe
16200
+ target: compiler.R3FactoryTarget.Injectable
16191
16201
  });
16192
16202
  }
16193
16203
  return ngFactoryDef;
@@ -16471,8 +16481,23 @@ if (false) {
16471
16481
  * @return {?}
16472
16482
  */
16473
16483
  function createInjector(defType, parent = null, additionalProviders = null, name) {
16474
- parent = parent || getNullInjector();
16475
- return new R3Injector(defType, additionalProviders, parent, name);
16484
+ /** @type {?} */
16485
+ const injector = createInjectorWithoutInjectorInstances(defType, parent, additionalProviders, name);
16486
+ injector._resolveInjectorDefTypes();
16487
+ return injector;
16488
+ }
16489
+ /**
16490
+ * Creates a new injector without eagerly resolving its injector types. Can be used in places
16491
+ * where resolving the injector types immediately can lead to an infinite loop. The injector types
16492
+ * should be resolved at a later point by calling `_resolveInjectorDefTypes`.
16493
+ * @param {?} defType
16494
+ * @param {?=} parent
16495
+ * @param {?=} additionalProviders
16496
+ * @param {?=} name
16497
+ * @return {?}
16498
+ */
16499
+ function createInjectorWithoutInjectorInstances(defType, parent = null, additionalProviders = null, name) {
16500
+ return new R3Injector(defType, additionalProviders, parent || getNullInjector(), name);
16476
16501
  }
16477
16502
  class R3Injector {
16478
16503
  /**
@@ -16520,12 +16545,6 @@ class R3Injector {
16520
16545
  /** @type {?} */
16521
16546
  const record = this.records.get(INJECTOR_SCOPE);
16522
16547
  this.scope = record != null ? record.value : null;
16523
- // Eagerly instantiate the InjectorType classes themselves.
16524
- this.injectorDefTypes.forEach((/**
16525
- * @param {?} defType
16526
- * @return {?}
16527
- */
16528
- defType => this.get(defType)));
16529
16548
  // Source name, used for debugging
16530
16549
  this.source = source || (typeof def === 'object' ? null : stringify(def));
16531
16550
  }
@@ -16632,6 +16651,15 @@ class R3Injector {
16632
16651
  setCurrentInjector(previousInjector);
16633
16652
  }
16634
16653
  }
16654
+ /**
16655
+ * \@internal
16656
+ * @return {?}
16657
+ */
16658
+ _resolveInjectorDefTypes() { this.injectorDefTypes.forEach((/**
16659
+ * @param {?} defType
16660
+ * @return {?}
16661
+ */
16662
+ defType => this.get(defType))); }
16635
16663
  /**
16636
16664
  * @return {?}
16637
16665
  */
@@ -19822,12 +19850,12 @@ function ɵɵattribute(name, value, sanitizer, namespace) {
19822
19850
  /** @type {?} */
19823
19851
  const bindingIndex = nextBindingIndex();
19824
19852
  if (bindingUpdated(lView, bindingIndex, value)) {
19825
- /** @type {?} */
19826
- const nodeIndex = getSelectedIndex();
19827
19853
  /** @type {?} */
19828
19854
  const tView = getTView();
19829
- elementAttributeInternal(nodeIndex, name, value, tView, lView, sanitizer, namespace);
19830
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, 'attr.' + name, bindingIndex);
19855
+ /** @type {?} */
19856
+ const tNode = getSelectedTNode();
19857
+ elementAttributeInternal(tNode, lView, name, value, sanitizer, namespace);
19858
+ ngDevMode && storePropertyBindingMetadata(tView.data, tNode, 'attr.' + name, bindingIndex);
19831
19859
  }
19832
19860
  return ɵɵattribute;
19833
19861
  }
@@ -20118,12 +20146,10 @@ function ɵɵattributeInterpolate1(attrName, prefix, v0, suffix, sanitizer, name
20118
20146
  const interpolatedValue = interpolation1(lView, prefix, v0, suffix);
20119
20147
  if (interpolatedValue !== NO_CHANGE) {
20120
20148
  /** @type {?} */
20121
- const nodeIndex = getSelectedIndex();
20122
- /** @type {?} */
20123
- const tView = getTView();
20124
- elementAttributeInternal(nodeIndex, attrName, interpolatedValue, tView, lView, sanitizer, namespace);
20149
+ const tNode = getSelectedTNode();
20150
+ elementAttributeInternal(tNode, lView, attrName, interpolatedValue, sanitizer, namespace);
20125
20151
  ngDevMode &&
20126
- storePropertyBindingMetadata(tView.data, nodeIndex, 'attr.' + attrName, getBindingIndex() - 1, prefix, suffix);
20152
+ storePropertyBindingMetadata(getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - 1, prefix, suffix);
20127
20153
  }
20128
20154
  return ɵɵattributeInterpolate1;
20129
20155
  }
@@ -20161,12 +20187,10 @@ function ɵɵattributeInterpolate2(attrName, prefix, v0, i0, v1, suffix, sanitiz
20161
20187
  const interpolatedValue = interpolation2(lView, prefix, v0, i0, v1, suffix);
20162
20188
  if (interpolatedValue !== NO_CHANGE) {
20163
20189
  /** @type {?} */
20164
- const nodeIndex = getSelectedIndex();
20165
- /** @type {?} */
20166
- const tView = getTView();
20167
- elementAttributeInternal(nodeIndex, attrName, interpolatedValue, tView, lView, sanitizer, namespace);
20190
+ const tNode = getSelectedTNode();
20191
+ elementAttributeInternal(tNode, lView, attrName, interpolatedValue, sanitizer, namespace);
20168
20192
  ngDevMode &&
20169
- storePropertyBindingMetadata(tView.data, nodeIndex, 'attr.' + attrName, getBindingIndex() - 2, prefix, i0, suffix);
20193
+ storePropertyBindingMetadata(getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - 2, prefix, i0, suffix);
20170
20194
  }
20171
20195
  return ɵɵattributeInterpolate2;
20172
20196
  }
@@ -20207,11 +20231,9 @@ function ɵɵattributeInterpolate3(attrName, prefix, v0, i0, v1, i1, v2, suffix,
20207
20231
  const interpolatedValue = interpolation3(lView, prefix, v0, i0, v1, i1, v2, suffix);
20208
20232
  if (interpolatedValue !== NO_CHANGE) {
20209
20233
  /** @type {?} */
20210
- const nodeIndex = getSelectedIndex();
20211
- /** @type {?} */
20212
- const tView = getTView();
20213
- elementAttributeInternal(nodeIndex, attrName, interpolatedValue, tView, lView, sanitizer, namespace);
20214
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, 'attr.' + attrName, getBindingIndex() - 3, prefix, i0, i1, suffix);
20234
+ const tNode = getSelectedTNode();
20235
+ elementAttributeInternal(tNode, lView, attrName, interpolatedValue, sanitizer, namespace);
20236
+ ngDevMode && storePropertyBindingMetadata(getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - 3, prefix, i0, i1, suffix);
20215
20237
  }
20216
20238
  return ɵɵattributeInterpolate3;
20217
20239
  }
@@ -20254,11 +20276,9 @@ function ɵɵattributeInterpolate4(attrName, prefix, v0, i0, v1, i1, v2, i2, v3,
20254
20276
  const interpolatedValue = interpolation4(lView, prefix, v0, i0, v1, i1, v2, i2, v3, suffix);
20255
20277
  if (interpolatedValue !== NO_CHANGE) {
20256
20278
  /** @type {?} */
20257
- const nodeIndex = getSelectedIndex();
20258
- /** @type {?} */
20259
- const tView = getTView();
20260
- elementAttributeInternal(nodeIndex, attrName, interpolatedValue, tView, lView, sanitizer, namespace);
20261
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, 'attr.' + attrName, getBindingIndex() - 4, prefix, i0, i1, i2, suffix);
20279
+ const tNode = getSelectedTNode();
20280
+ elementAttributeInternal(tNode, lView, attrName, interpolatedValue, sanitizer, namespace);
20281
+ ngDevMode && storePropertyBindingMetadata(getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - 4, prefix, i0, i1, i2, suffix);
20262
20282
  }
20263
20283
  return ɵɵattributeInterpolate4;
20264
20284
  }
@@ -20303,11 +20323,9 @@ function ɵɵattributeInterpolate5(attrName, prefix, v0, i0, v1, i1, v2, i2, v3,
20303
20323
  const interpolatedValue = interpolation5(lView, prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, suffix);
20304
20324
  if (interpolatedValue !== NO_CHANGE) {
20305
20325
  /** @type {?} */
20306
- const nodeIndex = getSelectedIndex();
20307
- /** @type {?} */
20308
- const tView = getTView();
20309
- elementAttributeInternal(nodeIndex, attrName, interpolatedValue, tView, lView, sanitizer, namespace);
20310
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, 'attr.' + attrName, getBindingIndex() - 5, prefix, i0, i1, i2, i3, suffix);
20326
+ const tNode = getSelectedTNode();
20327
+ elementAttributeInternal(tNode, lView, attrName, interpolatedValue, sanitizer, namespace);
20328
+ ngDevMode && storePropertyBindingMetadata(getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - 5, prefix, i0, i1, i2, i3, suffix);
20311
20329
  }
20312
20330
  return ɵɵattributeInterpolate5;
20313
20331
  }
@@ -20354,11 +20372,9 @@ function ɵɵattributeInterpolate6(attrName, prefix, v0, i0, v1, i1, v2, i2, v3,
20354
20372
  const interpolatedValue = interpolation6(lView, prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5, suffix);
20355
20373
  if (interpolatedValue !== NO_CHANGE) {
20356
20374
  /** @type {?} */
20357
- const nodeIndex = getSelectedIndex();
20358
- /** @type {?} */
20359
- const tView = getTView();
20360
- elementAttributeInternal(nodeIndex, attrName, interpolatedValue, tView, lView, sanitizer, namespace);
20361
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, 'attr.' + attrName, getBindingIndex() - 6, prefix, i0, i1, i2, i3, i4, suffix);
20375
+ const tNode = getSelectedTNode();
20376
+ elementAttributeInternal(tNode, lView, attrName, interpolatedValue, sanitizer, namespace);
20377
+ ngDevMode && storePropertyBindingMetadata(getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - 6, prefix, i0, i1, i2, i3, i4, suffix);
20362
20378
  }
20363
20379
  return ɵɵattributeInterpolate6;
20364
20380
  }
@@ -20407,11 +20423,9 @@ function ɵɵattributeInterpolate7(attrName, prefix, v0, i0, v1, i1, v2, i2, v3,
20407
20423
  const interpolatedValue = interpolation7(lView, prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5, i5, v6, suffix);
20408
20424
  if (interpolatedValue !== NO_CHANGE) {
20409
20425
  /** @type {?} */
20410
- const nodeIndex = getSelectedIndex();
20411
- /** @type {?} */
20412
- const tView = getTView();
20413
- elementAttributeInternal(nodeIndex, attrName, interpolatedValue, tView, lView, sanitizer, namespace);
20414
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, 'attr.' + attrName, getBindingIndex() - 7, prefix, i0, i1, i2, i3, i4, i5, suffix);
20426
+ const tNode = getSelectedTNode();
20427
+ elementAttributeInternal(tNode, lView, attrName, interpolatedValue, sanitizer, namespace);
20428
+ ngDevMode && storePropertyBindingMetadata(getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - 7, prefix, i0, i1, i2, i3, i4, i5, suffix);
20415
20429
  }
20416
20430
  return ɵɵattributeInterpolate7;
20417
20431
  }
@@ -20462,11 +20476,9 @@ function ɵɵattributeInterpolate8(attrName, prefix, v0, i0, v1, i1, v2, i2, v3,
20462
20476
  const interpolatedValue = interpolation8(lView, prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5, i5, v6, i6, v7, suffix);
20463
20477
  if (interpolatedValue !== NO_CHANGE) {
20464
20478
  /** @type {?} */
20465
- const nodeIndex = getSelectedIndex();
20466
- /** @type {?} */
20467
- const tView = getTView();
20468
- elementAttributeInternal(nodeIndex, attrName, interpolatedValue, tView, lView, sanitizer, namespace);
20469
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, 'attr.' + attrName, getBindingIndex() - 8, prefix, i0, i1, i2, i3, i4, i5, i6, suffix);
20479
+ const tNode = getSelectedTNode();
20480
+ elementAttributeInternal(tNode, lView, attrName, interpolatedValue, sanitizer, namespace);
20481
+ ngDevMode && storePropertyBindingMetadata(getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - 8, prefix, i0, i1, i2, i3, i4, i5, i6, suffix);
20470
20482
  }
20471
20483
  return ɵɵattributeInterpolate8;
20472
20484
  }
@@ -20504,17 +20516,15 @@ function ɵɵattributeInterpolateV(attrName, values, sanitizer, namespace) {
20504
20516
  const interpolated = interpolationV(lView, values);
20505
20517
  if (interpolated !== NO_CHANGE) {
20506
20518
  /** @type {?} */
20507
- const tView = getTView();
20508
- /** @type {?} */
20509
- const nodeIndex = getSelectedIndex();
20510
- elementAttributeInternal(nodeIndex, attrName, interpolated, tView, lView, sanitizer, namespace);
20519
+ const tNode = getSelectedTNode();
20520
+ elementAttributeInternal(tNode, lView, attrName, interpolated, sanitizer, namespace);
20511
20521
  if (ngDevMode) {
20512
20522
  /** @type {?} */
20513
20523
  const interpolationInBetween = [values[0]];
20514
20524
  for (let i = 2; i < values.length; i += 2) {
20515
20525
  interpolationInBetween.push(values[i]);
20516
20526
  }
20517
- storePropertyBindingMetadata(tView.data, nodeIndex, 'attr.' + attrName, getBindingIndex() - interpolationInBetween.length + 1, ...interpolationInBetween);
20527
+ storePropertyBindingMetadata(getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - interpolationInBetween.length + 1, ...interpolationInBetween);
20518
20528
  }
20519
20529
  }
20520
20530
  return ɵɵattributeInterpolateV;
@@ -20909,12 +20919,12 @@ function ɵɵproperty(propName, value, sanitizer) {
20909
20919
  /** @type {?} */
20910
20920
  const bindingIndex = nextBindingIndex();
20911
20921
  if (bindingUpdated(lView, bindingIndex, value)) {
20912
- /** @type {?} */
20913
- const nodeIndex = getSelectedIndex();
20914
20922
  /** @type {?} */
20915
20923
  const tView = getTView();
20916
- elementPropertyInternal(tView, lView, nodeIndex, propName, value, sanitizer);
20917
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, propName, bindingIndex);
20924
+ /** @type {?} */
20925
+ const tNode = getSelectedTNode();
20926
+ elementPropertyInternal(tView, tNode, lView, propName, value, lView[RENDERER], sanitizer, false);
20927
+ ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, bindingIndex);
20918
20928
  }
20919
20929
  return ɵɵproperty;
20920
20930
  }
@@ -20934,9 +20944,7 @@ function setDirectiveInputsWhichShadowsStyling(tView, tNode, lView, value, isCla
20934
20944
  /** @type {?} */
20935
20945
  const property = isClassBased ? 'class' : 'style';
20936
20946
  // We support both 'class' and `className` hence the fallback.
20937
- /** @type {?} */
20938
- const stylingInputs = inputs[property] || (isClassBased && inputs['className']);
20939
- setInputsForProperty(tView, lView, stylingInputs, property, value);
20947
+ setInputsForProperty(tView, lView, inputs[property], property, value);
20940
20948
  }
20941
20949
 
20942
20950
  /**
@@ -21972,12 +21980,12 @@ function ɵɵpropertyInterpolate1(propName, prefix, v0, suffix, sanitizer) {
21972
21980
  /** @type {?} */
21973
21981
  const interpolatedValue = interpolation1(lView, prefix, v0, suffix);
21974
21982
  if (interpolatedValue !== NO_CHANGE) {
21975
- /** @type {?} */
21976
- const nodeIndex = getSelectedIndex();
21977
21983
  /** @type {?} */
21978
21984
  const tView = getTView();
21979
- elementPropertyInternal(tView, lView, nodeIndex, propName, interpolatedValue, sanitizer);
21980
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, propName, getBindingIndex() - 1, prefix, suffix);
21985
+ /** @type {?} */
21986
+ const tNode = getSelectedTNode();
21987
+ elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
21988
+ ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, getBindingIndex() - 1, prefix, suffix);
21981
21989
  }
21982
21990
  return ɵɵpropertyInterpolate1;
21983
21991
  }
@@ -22017,12 +22025,12 @@ function ɵɵpropertyInterpolate2(propName, prefix, v0, i0, v1, suffix, sanitize
22017
22025
  /** @type {?} */
22018
22026
  const interpolatedValue = interpolation2(lView, prefix, v0, i0, v1, suffix);
22019
22027
  if (interpolatedValue !== NO_CHANGE) {
22020
- /** @type {?} */
22021
- const nodeIndex = getSelectedIndex();
22022
22028
  /** @type {?} */
22023
22029
  const tView = getTView();
22024
- elementPropertyInternal(tView, lView, nodeIndex, propName, interpolatedValue, sanitizer);
22025
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, propName, getBindingIndex() - 2, prefix, i0, suffix);
22030
+ /** @type {?} */
22031
+ const tNode = getSelectedTNode();
22032
+ elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
22033
+ ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, getBindingIndex() - 2, prefix, i0, suffix);
22026
22034
  }
22027
22035
  return ɵɵpropertyInterpolate2;
22028
22036
  }
@@ -22065,13 +22073,12 @@ function ɵɵpropertyInterpolate3(propName, prefix, v0, i0, v1, i1, v2, suffix,
22065
22073
  /** @type {?} */
22066
22074
  const interpolatedValue = interpolation3(lView, prefix, v0, i0, v1, i1, v2, suffix);
22067
22075
  if (interpolatedValue !== NO_CHANGE) {
22068
- /** @type {?} */
22069
- const nodeIndex = getSelectedIndex();
22070
22076
  /** @type {?} */
22071
22077
  const tView = getTView();
22072
- elementPropertyInternal(tView, lView, nodeIndex, propName, interpolatedValue, sanitizer);
22073
- ngDevMode &&
22074
- storePropertyBindingMetadata(tView.data, nodeIndex, propName, getBindingIndex() - 3, prefix, i0, i1, suffix);
22078
+ /** @type {?} */
22079
+ const tNode = getSelectedTNode();
22080
+ elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
22081
+ ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, getBindingIndex() - 3, prefix, i0, i1, suffix);
22075
22082
  }
22076
22083
  return ɵɵpropertyInterpolate3;
22077
22084
  }
@@ -22116,13 +22123,13 @@ function ɵɵpropertyInterpolate4(propName, prefix, v0, i0, v1, i1, v2, i2, v3,
22116
22123
  /** @type {?} */
22117
22124
  const interpolatedValue = interpolation4(lView, prefix, v0, i0, v1, i1, v2, i2, v3, suffix);
22118
22125
  if (interpolatedValue !== NO_CHANGE) {
22119
- /** @type {?} */
22120
- const nodeIndex = getSelectedIndex();
22121
22126
  /** @type {?} */
22122
22127
  const tView = getTView();
22123
- elementPropertyInternal(tView, lView, nodeIndex, propName, interpolatedValue, sanitizer);
22128
+ /** @type {?} */
22129
+ const tNode = getSelectedTNode();
22130
+ elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
22124
22131
  ngDevMode &&
22125
- storePropertyBindingMetadata(tView.data, nodeIndex, propName, getBindingIndex() - 4, prefix, i0, i1, i2, suffix);
22132
+ storePropertyBindingMetadata(tView.data, tNode, propName, getBindingIndex() - 4, prefix, i0, i1, i2, suffix);
22126
22133
  }
22127
22134
  return ɵɵpropertyInterpolate4;
22128
22135
  }
@@ -22169,13 +22176,13 @@ function ɵɵpropertyInterpolate5(propName, prefix, v0, i0, v1, i1, v2, i2, v3,
22169
22176
  /** @type {?} */
22170
22177
  const interpolatedValue = interpolation5(lView, prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, suffix);
22171
22178
  if (interpolatedValue !== NO_CHANGE) {
22172
- /** @type {?} */
22173
- const nodeIndex = getSelectedIndex();
22174
22179
  /** @type {?} */
22175
22180
  const tView = getTView();
22176
- elementPropertyInternal(tView, lView, nodeIndex, propName, interpolatedValue, sanitizer);
22181
+ /** @type {?} */
22182
+ const tNode = getSelectedTNode();
22183
+ elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
22177
22184
  ngDevMode &&
22178
- storePropertyBindingMetadata(tView.data, nodeIndex, propName, getBindingIndex() - 5, prefix, i0, i1, i2, i3, suffix);
22185
+ storePropertyBindingMetadata(tView.data, tNode, propName, getBindingIndex() - 5, prefix, i0, i1, i2, i3, suffix);
22179
22186
  }
22180
22187
  return ɵɵpropertyInterpolate5;
22181
22188
  }
@@ -22224,12 +22231,13 @@ function ɵɵpropertyInterpolate6(propName, prefix, v0, i0, v1, i1, v2, i2, v3,
22224
22231
  /** @type {?} */
22225
22232
  const interpolatedValue = interpolation6(lView, prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5, suffix);
22226
22233
  if (interpolatedValue !== NO_CHANGE) {
22227
- /** @type {?} */
22228
- const nodeIndex = getSelectedIndex();
22229
22234
  /** @type {?} */
22230
22235
  const tView = getTView();
22231
- elementPropertyInternal(tView, lView, nodeIndex, propName, interpolatedValue, sanitizer);
22232
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, propName, getBindingIndex() - 6, prefix, i0, i1, i2, i3, i4, suffix);
22236
+ /** @type {?} */
22237
+ const tNode = getSelectedTNode();
22238
+ elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
22239
+ ngDevMode &&
22240
+ storePropertyBindingMetadata(tView.data, tNode, propName, getBindingIndex() - 6, prefix, i0, i1, i2, i3, i4, suffix);
22233
22241
  }
22234
22242
  return ɵɵpropertyInterpolate6;
22235
22243
  }
@@ -22280,12 +22288,12 @@ function ɵɵpropertyInterpolate7(propName, prefix, v0, i0, v1, i1, v2, i2, v3,
22280
22288
  /** @type {?} */
22281
22289
  const interpolatedValue = interpolation7(lView, prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5, i5, v6, suffix);
22282
22290
  if (interpolatedValue !== NO_CHANGE) {
22283
- /** @type {?} */
22284
- const nodeIndex = getSelectedIndex();
22285
22291
  /** @type {?} */
22286
22292
  const tView = getTView();
22287
- elementPropertyInternal(tView, lView, nodeIndex, propName, interpolatedValue, sanitizer);
22288
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, propName, getBindingIndex() - 7, prefix, i0, i1, i2, i3, i4, i5, suffix);
22293
+ /** @type {?} */
22294
+ const tNode = getSelectedTNode();
22295
+ elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
22296
+ ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, getBindingIndex() - 7, prefix, i0, i1, i2, i3, i4, i5, suffix);
22289
22297
  }
22290
22298
  return ɵɵpropertyInterpolate7;
22291
22299
  }
@@ -22338,12 +22346,12 @@ function ɵɵpropertyInterpolate8(propName, prefix, v0, i0, v1, i1, v2, i2, v3,
22338
22346
  /** @type {?} */
22339
22347
  const interpolatedValue = interpolation8(lView, prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5, i5, v6, i6, v7, suffix);
22340
22348
  if (interpolatedValue !== NO_CHANGE) {
22341
- /** @type {?} */
22342
- const nodeIndex = getSelectedIndex();
22343
22349
  /** @type {?} */
22344
22350
  const tView = getTView();
22345
- elementPropertyInternal(tView, lView, nodeIndex, propName, interpolatedValue, sanitizer);
22346
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, propName, getBindingIndex() - 8, prefix, i0, i1, i2, i3, i4, i5, i6, suffix);
22351
+ /** @type {?} */
22352
+ const tNode = getSelectedTNode();
22353
+ elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
22354
+ ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, getBindingIndex() - 8, prefix, i0, i1, i2, i3, i4, i5, i6, suffix);
22347
22355
  }
22348
22356
  return ɵɵpropertyInterpolate8;
22349
22357
  }
@@ -22383,18 +22391,18 @@ function ɵɵpropertyInterpolateV(propName, values, sanitizer) {
22383
22391
  /** @type {?} */
22384
22392
  const interpolatedValue = interpolationV(lView, values);
22385
22393
  if (interpolatedValue !== NO_CHANGE) {
22386
- /** @type {?} */
22387
- const nodeIndex = getSelectedIndex();
22388
22394
  /** @type {?} */
22389
22395
  const tView = getTView();
22390
- elementPropertyInternal(tView, lView, nodeIndex, propName, interpolatedValue, sanitizer);
22396
+ /** @type {?} */
22397
+ const tNode = getSelectedTNode();
22398
+ elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
22391
22399
  if (ngDevMode) {
22392
22400
  /** @type {?} */
22393
22401
  const interpolationInBetween = [values[0]];
22394
22402
  for (let i = 2; i < values.length; i += 2) {
22395
22403
  interpolationInBetween.push(values[i]);
22396
22404
  }
22397
- storePropertyBindingMetadata(tView.data, nodeIndex, propName, getBindingIndex() - interpolationInBetween.length + 1, ...interpolationInBetween);
22405
+ storePropertyBindingMetadata(tView.data, tNode, propName, getBindingIndex() - interpolationInBetween.length + 1, ...interpolationInBetween);
22398
22406
  }
22399
22407
  }
22400
22408
  return ɵɵpropertyInterpolateV;
@@ -25550,12 +25558,12 @@ function ɵɵhostProperty(propName, value, sanitizer) {
25550
25558
  /** @type {?} */
25551
25559
  const bindingIndex = nextBindingIndex();
25552
25560
  if (bindingUpdated(lView, bindingIndex, value)) {
25553
- /** @type {?} */
25554
- const nodeIndex = getSelectedIndex();
25555
25561
  /** @type {?} */
25556
25562
  const tView = getTView();
25557
- elementPropertyInternal(tView, lView, nodeIndex, propName, value, sanitizer, true);
25558
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, propName, bindingIndex);
25563
+ /** @type {?} */
25564
+ const tNode = getSelectedTNode();
25565
+ elementPropertyInternal(tView, tNode, lView, propName, value, lView[RENDERER], sanitizer, true);
25566
+ ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, bindingIndex);
25559
25567
  }
25560
25568
  return ɵɵhostProperty;
25561
25569
  }
@@ -25587,12 +25595,14 @@ function ɵɵupdateSyntheticHostBinding(propName, value, sanitizer) {
25587
25595
  /** @type {?} */
25588
25596
  const bindingIndex = nextBindingIndex();
25589
25597
  if (bindingUpdated(lView, bindingIndex, value)) {
25590
- /** @type {?} */
25591
- const nodeIndex = getSelectedIndex();
25592
25598
  /** @type {?} */
25593
25599
  const tView = getTView();
25594
- elementPropertyInternal(tView, lView, nodeIndex, propName, value, sanitizer, true, loadComponentRenderer);
25595
- ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, propName, bindingIndex);
25600
+ /** @type {?} */
25601
+ const tNode = getSelectedTNode();
25602
+ /** @type {?} */
25603
+ const renderer = loadComponentRenderer(tNode, lView);
25604
+ elementPropertyInternal(tView, tNode, lView, propName, value, renderer, sanitizer, true);
25605
+ ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, bindingIndex);
25596
25606
  }
25597
25607
  return ɵɵupdateSyntheticHostBinding;
25598
25608
  }
@@ -26793,31 +26803,26 @@ const PRIVATE_PREFIX = '__ngOnChanges_';
26793
26803
  * static ɵcmp = defineComponent({
26794
26804
  * ...
26795
26805
  * inputs: {name: 'publicName'},
26796
- * features: [NgOnChangesFeature()]
26806
+ * features: [NgOnChangesFeature]
26797
26807
  * });
26798
26808
  * ```
26799
26809
  *
26800
26810
  * \@codeGenApi
26801
- * @template T
26802
- * @return {?}
26803
- */
26804
- function ɵɵNgOnChangesFeature() {
26805
- // This option ensures that the ngOnChanges lifecycle hook will be inherited
26806
- // from superclasses (in InheritDefinitionFeature).
26807
- ((/** @type {?} */ (NgOnChangesFeatureImpl))).ngInherit = true;
26808
- return NgOnChangesFeatureImpl;
26809
- }
26810
- /**
26811
26811
  * @template T
26812
26812
  * @param {?} definition
26813
26813
  * @return {?}
26814
26814
  */
26815
- function NgOnChangesFeatureImpl(definition) {
26815
+ function ɵɵNgOnChangesFeature(definition) {
26816
26816
  if (definition.type.prototype.ngOnChanges) {
26817
26817
  definition.setInput = ngOnChangesSetInput;
26818
26818
  ((/** @type {?} */ (definition))).onChanges = wrapOnChanges();
26819
26819
  }
26820
26820
  }
26821
+ // This option ensures that the ngOnChanges lifecycle hook will be inherited
26822
+ // from superclasses (in InheritDefinitionFeature).
26823
+ /** @nocollapse */
26824
+ // tslint:disable-next-line:no-toplevel-property-access
26825
+ ((/** @type {?} */ (ɵɵNgOnChangesFeature))).ngInherit = true;
26821
26826
  /**
26822
26827
  * @return {?}
26823
26828
  */
@@ -28032,7 +28037,7 @@ if (false) {
28032
28037
  * \@publicApi
28033
28038
  * @type {?}
28034
28039
  */
28035
- const VERSION = new Version('9.0.3');
28040
+ const VERSION = new Version('9.0.7');
28036
28041
 
28037
28042
  /**
28038
28043
  * @fileoverview added by tsickle
@@ -34802,14 +34807,20 @@ function i18nStartFirstPass(lView, tView, index, message, subTemplateIndex) {
34802
34807
  for (let j = 0; j < parts.length; j++) {
34803
34808
  if (j & 1) {
34804
34809
  // Odd indexes are ICU expressions
34810
+ /** @type {?} */
34811
+ const icuExpression = (/** @type {?} */ (parts[j]));
34812
+ // Verify that ICU expression has the right shape. Translations might contain invalid
34813
+ // constructions (while original messages were correct), so ICU parsing at runtime may not
34814
+ // succeed (thus `icuExpression` remains a string).
34815
+ if (typeof icuExpression !== 'object') {
34816
+ throw new Error(`Unable to parse ICU expression in "${templateTranslation}" message.`);
34817
+ }
34805
34818
  // Create the comment node that will anchor the ICU expression
34806
34819
  /** @type {?} */
34807
34820
  const icuNodeIndex = startIndex + i18nVarsCount++;
34808
34821
  createOpCodes.push(COMMENT_MARKER, ngDevMode ? `ICU ${icuNodeIndex}` : '', icuNodeIndex, parentIndex << 17 /* SHIFT_PARENT */ | 1 /* AppendChild */);
34809
34822
  // Update codes for the ICU expression
34810
34823
  /** @type {?} */
34811
- const icuExpression = (/** @type {?} */ (parts[j]));
34812
- /** @type {?} */
34813
34824
  const mask = getBindingMask(icuExpression);
34814
34825
  icuStart(icuExpressions, icuExpression, icuNodeIndex, icuNodeIndex);
34815
34826
  // Since this is recursive, the last TIcu that was pushed is the one we want
@@ -35098,7 +35109,8 @@ function i18nEndFirstPass(tView, lView) {
35098
35109
  // Check if an element has any local refs and skip them
35099
35110
  /** @type {?} */
35100
35111
  const tNode = getTNode(tView, index);
35101
- if (tNode && (tNode.type === 3 /* Element */ || tNode.type === 4 /* ElementContainer */) &&
35112
+ if (tNode && (tNode.type === 0 /* Container */ || tNode.type === 3 /* Element */ ||
35113
+ tNode.type === 4 /* ElementContainer */) &&
35102
35114
  tNode.localNames !== null) {
35103
35115
  // Divide by 2 to get the number of local refs,
35104
35116
  // since they are stored as an array that also includes directive indexes,
@@ -35212,7 +35224,7 @@ function readCreateOpCodes(index, createOpCodes, tView, lView) {
35212
35224
  const attrValue = (/** @type {?} */ (createOpCodes[++i]));
35213
35225
  // This code is used for ICU expressions only, since we don't support
35214
35226
  // directives/components in ICUs, we don't need to worry about inputs here
35215
- elementAttributeInternal(elementNodeIndex, attrName, attrValue, tView, lView);
35227
+ elementAttributeInternal(getTNode(tView, elementNodeIndex), lView, attrName, attrValue, null, null);
35216
35228
  break;
35217
35229
  default:
35218
35230
  throw new Error(`Unable to determine the type of mutate operation for "${opCode}"`);
@@ -35308,7 +35320,7 @@ function readUpdateOpCodes(updateOpCodes, icus, bindingsStartIndex, changeMask,
35308
35320
  const propName = (/** @type {?} */ (updateOpCodes[++j]));
35309
35321
  /** @type {?} */
35310
35322
  const sanitizeFn = (/** @type {?} */ (updateOpCodes[++j]));
35311
- elementPropertyInternal(tView, lView, nodeIndex, propName, value, sanitizeFn);
35323
+ elementPropertyInternal(tView, getTNode(tView, nodeIndex), lView, propName, value, lView[RENDERER], sanitizeFn, false);
35312
35324
  break;
35313
35325
  case 0 /* Text */:
35314
35326
  textBindingInternal(lView, nodeIndex, value);
@@ -35500,7 +35512,7 @@ function i18nAttributesFirstPass(lView, tView, index, values) {
35500
35512
  // Set attributes for Elements only, for other types (like ElementContainer),
35501
35513
  // only set inputs below
35502
35514
  if (tNode.type === 3 /* Element */) {
35503
- elementAttributeInternal(previousElementIndex, attrName, value, tView, lView);
35515
+ elementAttributeInternal(tNode, lView, attrName, value, null, null);
35504
35516
  }
35505
35517
  // Check if that attribute is a directive input
35506
35518
  /** @type {?} */
@@ -35992,10 +36004,14 @@ class NgModuleRef$1 extends NgModuleRef {
35992
36004
  const ngLocaleIdDef = getNgLocaleIdDef(ngModuleType);
35993
36005
  ngLocaleIdDef && setLocaleId(ngLocaleIdDef);
35994
36006
  this._bootstrapComponents = maybeUnwrapFn((/** @type {?} */ (ngModuleDef)).bootstrap);
35995
- this._r3Injector = (/** @type {?} */ (createInjector(ngModuleType, _parent, [
36007
+ this._r3Injector = (/** @type {?} */ (createInjectorWithoutInjectorInstances(ngModuleType, _parent, [
35996
36008
  { provide: NgModuleRef, useValue: this },
35997
36009
  { provide: ComponentFactoryResolver, useValue: this.componentFactoryResolver }
35998
36010
  ], stringify(ngModuleType))));
36011
+ // We need to resolve the injector types separately from the injector creation, because
36012
+ // the module might be trying to use this ref in its contructor for DI which will cause a
36013
+ // circular error that will eventually error out, because the injector isn't created yet.
36014
+ this._r3Injector._resolveInjectorDefTypes();
35999
36015
  this.instance = this.get(ngModuleType);
36000
36016
  }
36001
36017
  /**
@@ -36427,6 +36443,22 @@ function ɵɵpureFunction8(slotOffset, pureFn, exp1, exp2, exp3, exp4, exp5, exp
36427
36443
  function ɵɵpureFunctionV(slotOffset, pureFn, exps, thisArg) {
36428
36444
  return pureFunctionVInternal(getLView(), getBindingRoot(), slotOffset, pureFn, exps, thisArg);
36429
36445
  }
36446
+ /**
36447
+ * Results of a pure function invocation are stored in LView in a dedicated slot that is initialized
36448
+ * to NO_CHANGE. In rare situations a pure pipe might throw an exception on the very first
36449
+ * invocation and not produce any valid results. In this case LView would keep holding the NO_CHANGE
36450
+ * value. The NO_CHANGE is not something that we can use in expressions / bindings thus we convert
36451
+ * it to `undefined`.
36452
+ * @param {?} lView
36453
+ * @param {?} returnValueIndex
36454
+ * @return {?}
36455
+ */
36456
+ function getPureFunctionReturnValue(lView, returnValueIndex) {
36457
+ ngDevMode && assertDataInRange(lView, returnValueIndex);
36458
+ /** @type {?} */
36459
+ const lastReturnValue = lView[returnValueIndex];
36460
+ return lastReturnValue === NO_CHANGE ? undefined : lastReturnValue;
36461
+ }
36430
36462
  /**
36431
36463
  * If the value of the provided exp has changed, calls the pure function to return
36432
36464
  * an updated value. Or if the value has not changed, returns cached value.
@@ -36444,7 +36476,7 @@ function pureFunction1Internal(lView, bindingRoot, slotOffset, pureFn, exp, this
36444
36476
  const bindingIndex = bindingRoot + slotOffset;
36445
36477
  return bindingUpdated(lView, bindingIndex, exp) ?
36446
36478
  updateBinding(lView, bindingIndex + 1, thisArg ? pureFn.call(thisArg, exp) : pureFn(exp)) :
36447
- getBinding(lView, bindingIndex + 1);
36479
+ getPureFunctionReturnValue(lView, bindingIndex + 1);
36448
36480
  }
36449
36481
  /**
36450
36482
  * If the value of any provided exp has changed, calls the pure function to return
@@ -36464,7 +36496,7 @@ function pureFunction2Internal(lView, bindingRoot, slotOffset, pureFn, exp1, exp
36464
36496
  const bindingIndex = bindingRoot + slotOffset;
36465
36497
  return bindingUpdated2(lView, bindingIndex, exp1, exp2) ?
36466
36498
  updateBinding(lView, bindingIndex + 2, thisArg ? pureFn.call(thisArg, exp1, exp2) : pureFn(exp1, exp2)) :
36467
- getBinding(lView, bindingIndex + 2);
36499
+ getPureFunctionReturnValue(lView, bindingIndex + 2);
36468
36500
  }
36469
36501
  /**
36470
36502
  * If the value of any provided exp has changed, calls the pure function to return
@@ -36485,7 +36517,7 @@ function pureFunction3Internal(lView, bindingRoot, slotOffset, pureFn, exp1, exp
36485
36517
  const bindingIndex = bindingRoot + slotOffset;
36486
36518
  return bindingUpdated3(lView, bindingIndex, exp1, exp2, exp3) ?
36487
36519
  updateBinding(lView, bindingIndex + 3, thisArg ? pureFn.call(thisArg, exp1, exp2, exp3) : pureFn(exp1, exp2, exp3)) :
36488
- getBinding(lView, bindingIndex + 3);
36520
+ getPureFunctionReturnValue(lView, bindingIndex + 3);
36489
36521
  }
36490
36522
  /**
36491
36523
  * If the value of any provided exp has changed, calls the pure function to return
@@ -36508,7 +36540,7 @@ function pureFunction4Internal(lView, bindingRoot, slotOffset, pureFn, exp1, exp
36508
36540
  const bindingIndex = bindingRoot + slotOffset;
36509
36541
  return bindingUpdated4(lView, bindingIndex, exp1, exp2, exp3, exp4) ?
36510
36542
  updateBinding(lView, bindingIndex + 4, thisArg ? pureFn.call(thisArg, exp1, exp2, exp3, exp4) : pureFn(exp1, exp2, exp3, exp4)) :
36511
- getBinding(lView, bindingIndex + 4);
36543
+ getPureFunctionReturnValue(lView, bindingIndex + 4);
36512
36544
  }
36513
36545
  /**
36514
36546
  * pureFunction instruction that can support any number of bindings.
@@ -36534,7 +36566,7 @@ function pureFunctionVInternal(lView, bindingRoot, slotOffset, pureFn, exps, thi
36534
36566
  bindingUpdated(lView, bindingIndex++, exps[i]) && (different = true);
36535
36567
  }
36536
36568
  return different ? updateBinding(lView, bindingIndex, pureFn.apply(thisArg, exps)) :
36537
- getBinding(lView, bindingIndex);
36569
+ getPureFunctionReturnValue(lView, bindingIndex);
36538
36570
  }
36539
36571
 
36540
36572
  /**
@@ -37755,7 +37787,7 @@ const unusedValueExportToPlacateAjd$8 = 1;
37755
37787
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
37756
37788
  */
37757
37789
  /** @type {?} */
37758
- const unusedValueToPlacateAjd$2 = unusedValueExportToPlacateAjd$7 + unusedValueExportToPlacateAjd$2 + unusedValueExportToPlacateAjd$4 + unusedValueExportToPlacateAjd$8;
37790
+ const unusedValueToPlacateAjd$2 = unusedValueExportToPlacateAjd$7 + unusedValueExportToPlacateAjd$3 + unusedValueExportToPlacateAjd$4 + unusedValueExportToPlacateAjd$8;
37759
37791
  /**
37760
37792
  * @template T
37761
37793
  */
@@ -38278,10 +38310,7 @@ function collectQueryResults(tView, lView, queryIndex, result) {
38278
38310
  /** @type {?} */
38279
38311
  const tNodeIdx = tQueryMatches[i];
38280
38312
  if (tNodeIdx > 0) {
38281
- /** @type {?} */
38282
- const viewResult = lViewResults[i / 2];
38283
- ngDevMode && assertDefined(viewResult, 'materialized query result should be defined');
38284
- result.push((/** @type {?} */ (viewResult)));
38313
+ result.push((/** @type {?} */ (lViewResults[i / 2])));
38285
38314
  }
38286
38315
  else {
38287
38316
  /** @type {?} */
@@ -39285,23 +39314,6 @@ function transitiveScopesFor(moduleType) {
39285
39314
  pipes: new Set(),
39286
39315
  },
39287
39316
  };
39288
- maybeUnwrapFn(def.declarations).forEach((/**
39289
- * @param {?} declared
39290
- * @return {?}
39291
- */
39292
- declared => {
39293
- /** @type {?} */
39294
- const declaredWithDefs = (/** @type {?} */ (declared));
39295
- if (getPipeDef(declaredWithDefs)) {
39296
- scopes.compilation.pipes.add(declared);
39297
- }
39298
- else {
39299
- // Either declared has a ɵcmp or ɵdir, or it's a component which hasn't
39300
- // had its template compiled yet. In either case, it gets added to the compilation's
39301
- // directives.
39302
- scopes.compilation.directives.add(declared);
39303
- }
39304
- }));
39305
39317
  maybeUnwrapFn(def.imports).forEach((/**
39306
39318
  * @template I
39307
39319
  * @param {?} imported
@@ -39328,6 +39340,23 @@ function transitiveScopesFor(moduleType) {
39328
39340
  */
39329
39341
  entry => scopes.compilation.pipes.add(entry)));
39330
39342
  }));
39343
+ maybeUnwrapFn(def.declarations).forEach((/**
39344
+ * @param {?} declared
39345
+ * @return {?}
39346
+ */
39347
+ declared => {
39348
+ /** @type {?} */
39349
+ const declaredWithDefs = (/** @type {?} */ (declared));
39350
+ if (getPipeDef(declaredWithDefs)) {
39351
+ scopes.compilation.pipes.add(declared);
39352
+ }
39353
+ else {
39354
+ // Either declared has a ɵcmp or ɵdir, or it's a component which hasn't
39355
+ // had its template compiled yet. In either case, it gets added to the compilation's
39356
+ // directives.
39357
+ scopes.compilation.directives.add(declared);
39358
+ }
39359
+ }));
39331
39360
  maybeUnwrapFn(def.exports).forEach((/**
39332
39361
  * @template E
39333
39362
  * @param {?} exported
@@ -47847,5 +47876,5 @@ if (ngDevMode) {
47847
47876
  * Generated bundle index. Do not edit.
47848
47877
  */
47849
47878
 
47850
- export { ANALYZE_FOR_ENTRY_COMPONENTS, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, ApplicationInitStatus, ApplicationModule, ApplicationRef, Attribute, COMPILER_OPTIONS, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Compiler, CompilerFactory, Component, ComponentFactory, ComponentFactoryResolver, ComponentRef, ContentChild, ContentChildren, DEFAULT_CURRENCY_CODE, DebugElement, DebugEventListener, DebugNode$1 as DebugNode, DefaultIterableDiffer, Directive, ElementRef, EmbeddedViewRef, ErrorHandler, EventEmitter, Host, HostBinding, HostListener, INJECTOR, Inject, InjectFlags, Injectable, InjectionToken, Injector, Input, IterableDiffers, KeyValueDiffers, LOCALE_ID$1 as LOCALE_ID, MissingTranslationStrategy, ModuleWithComponentFactories, NO_ERRORS_SCHEMA, NgModule, NgModuleFactory, NgModuleFactoryLoader, NgModuleRef, NgProbeToken, NgZone, Optional, Output, PACKAGE_ROOT_URL, PLATFORM_ID, PLATFORM_INITIALIZER, Pipe, PlatformRef, Query, QueryList, ReflectiveInjector, ReflectiveKey, Renderer2, RendererFactory2, RendererStyleFlags2, ResolvedReflectiveFactory, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, SystemJsNgModuleLoader, SystemJsNgModuleLoaderConfig, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, Type, VERSION, Version, ViewChild, ViewChildren, ViewContainerRef, ViewEncapsulation$1 as ViewEncapsulation, ViewRef$1 as ViewRef, WrappedValue, asNativeElements, assertPlatform, createPlatform, createPlatformFactory, defineInjectable, destroyPlatform, enableProdMode, forwardRef, getDebugNode$1 as getDebugNode, getModuleFactory, getPlatform, inject, isDevMode, platformCore, resolveForwardRef, setTestabilityGetter, ALLOW_MULTIPLE_PLATFORMS as ɵALLOW_MULTIPLE_PLATFORMS, APP_ID_RANDOM_PROVIDER as ɵAPP_ID_RANDOM_PROVIDER, ChangeDetectorStatus as ɵChangeDetectorStatus, CodegenComponentFactoryResolver as ɵCodegenComponentFactoryResolver, Compiler_compileModuleAndAllComponentsAsync__POST_R3__ as ɵCompiler_compileModuleAndAllComponentsAsync__POST_R3__, Compiler_compileModuleAndAllComponentsSync__POST_R3__ as ɵCompiler_compileModuleAndAllComponentsSync__POST_R3__, Compiler_compileModuleAsync__POST_R3__ as ɵCompiler_compileModuleAsync__POST_R3__, Compiler_compileModuleSync__POST_R3__ as ɵCompiler_compileModuleSync__POST_R3__, ComponentFactory as ɵComponentFactory, Console as ɵConsole, DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, EMPTY_ARRAY$4 as ɵEMPTY_ARRAY, EMPTY_MAP as ɵEMPTY_MAP, INJECTOR_IMPL__POST_R3__ as ɵINJECTOR_IMPL__POST_R3__, INJECTOR_SCOPE as ɵINJECTOR_SCOPE, LifecycleHooksFeature as ɵLifecycleHooksFeature, LocaleDataIndex as ɵLocaleDataIndex, NG_COMP_DEF as ɵNG_COMP_DEF, NG_DIR_DEF as ɵNG_DIR_DEF, NG_ELEMENT_ID as ɵNG_ELEMENT_ID, NG_INJ_DEF as ɵNG_INJ_DEF, NG_MOD_DEF as ɵNG_MOD_DEF, NG_PIPE_DEF as ɵNG_PIPE_DEF, NG_PROV_DEF as ɵNG_PROV_DEF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE as ɵNO_CHANGE, NgModuleFactory$1 as ɵNgModuleFactory, NoopNgZone as ɵNoopNgZone, ReflectionCapabilities as ɵReflectionCapabilities, ComponentFactory$1 as ɵRender3ComponentFactory, ComponentRef$1 as ɵRender3ComponentRef, NgModuleRef$1 as ɵRender3NgModuleRef, SWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__ as ɵSWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__, SWITCH_COMPILE_COMPONENT__POST_R3__ as ɵSWITCH_COMPILE_COMPONENT__POST_R3__, SWITCH_COMPILE_DIRECTIVE__POST_R3__ as ɵSWITCH_COMPILE_DIRECTIVE__POST_R3__, SWITCH_COMPILE_INJECTABLE__POST_R3__ as ɵSWITCH_COMPILE_INJECTABLE__POST_R3__, SWITCH_COMPILE_NGMODULE__POST_R3__ as ɵSWITCH_COMPILE_NGMODULE__POST_R3__, SWITCH_COMPILE_PIPE__POST_R3__ as ɵSWITCH_COMPILE_PIPE__POST_R3__, SWITCH_ELEMENT_REF_FACTORY__POST_R3__ as ɵSWITCH_ELEMENT_REF_FACTORY__POST_R3__, SWITCH_IVY_ENABLED__POST_R3__ as ɵSWITCH_IVY_ENABLED__POST_R3__, SWITCH_RENDERER2_FACTORY__POST_R3__ as ɵSWITCH_RENDERER2_FACTORY__POST_R3__, SWITCH_TEMPLATE_REF_FACTORY__POST_R3__ as ɵSWITCH_TEMPLATE_REF_FACTORY__POST_R3__, SWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__ as ɵSWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__, _sanitizeHtml as ɵ_sanitizeHtml, _sanitizeStyle as ɵ_sanitizeStyle, _sanitizeUrl as ɵ_sanitizeUrl, allowSanitizationBypassAndThrow as ɵallowSanitizationBypassAndThrow, anchorDef as ɵand, isForwardRef as ɵangular_packages_core_core_a, injectInjectorOnly as ɵangular_packages_core_core_b, getLView as ɵangular_packages_core_core_ba, getPreviousOrParentTNode as ɵangular_packages_core_core_bb, getBindingRoot as ɵangular_packages_core_core_bc, nextContextImpl as ɵangular_packages_core_core_bd, pureFunction1Internal as ɵangular_packages_core_core_bf, pureFunction2Internal as ɵangular_packages_core_core_bg, pureFunction3Internal as ɵangular_packages_core_core_bh, pureFunction4Internal as ɵangular_packages_core_core_bi, pureFunctionVInternal as ɵangular_packages_core_core_bj, getUrlSanitizer as ɵangular_packages_core_core_bk, makeParamDecorator as ɵangular_packages_core_core_bl, makePropDecorator as ɵangular_packages_core_core_bm, getClosureSafeProperty as ɵangular_packages_core_core_bn, noSideEffects as ɵangular_packages_core_core_bp, getRootContext as ɵangular_packages_core_core_bq, NullInjector as ɵangular_packages_core_core_c, ReflectiveInjector_ as ɵangular_packages_core_core_d, ReflectiveDependency as ɵangular_packages_core_core_e, resolveReflectiveProviders as ɵangular_packages_core_core_f, _appIdRandomProviderFactory as ɵangular_packages_core_core_g, createElementRef as ɵangular_packages_core_core_h, createTemplateRef as ɵangular_packages_core_core_i, getModuleFactory__PRE_R3__ as ɵangular_packages_core_core_j, DebugNode__PRE_R3__ as ɵangular_packages_core_core_k, DebugElement__PRE_R3__ as ɵangular_packages_core_core_l, getDebugNodeR2__PRE_R3__ as ɵangular_packages_core_core_m, DefaultIterableDifferFactory as ɵangular_packages_core_core_n, DefaultKeyValueDifferFactory as ɵangular_packages_core_core_o, _iterableDiffersFactory as ɵangular_packages_core_core_p, _keyValueDiffersFactory as ɵangular_packages_core_core_q, _localeFactory as ɵangular_packages_core_core_r, APPLICATION_MODULE_PROVIDERS as ɵangular_packages_core_core_s, zoneSchedulerFactory as ɵangular_packages_core_core_t, USD_CURRENCY_CODE as ɵangular_packages_core_core_u, _def as ɵangular_packages_core_core_v, DebugContext as ɵangular_packages_core_core_w, SCHEDULER as ɵangular_packages_core_core_x, injectAttributeImpl as ɵangular_packages_core_core_y, instructionState as ɵangular_packages_core_core_z, bypassSanitizationTrustHtml as ɵbypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl as ɵbypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript as ɵbypassSanitizationTrustScript, bypassSanitizationTrustStyle as ɵbypassSanitizationTrustStyle, bypassSanitizationTrustUrl as ɵbypassSanitizationTrustUrl, createComponentFactory as ɵccf, clearOverrides as ɵclearOverrides, clearResolutionOfComponentResourcesQueue as ɵclearResolutionOfComponentResourcesQueue, createNgModuleFactory as ɵcmf, compileComponent as ɵcompileComponent, compileDirective as ɵcompileDirective, compileNgModule as ɵcompileNgModule, compileNgModuleDefs as ɵcompileNgModuleDefs, compileNgModuleFactory__POST_R3__ as ɵcompileNgModuleFactory__POST_R3__, compilePipe as ɵcompilePipe, createInjector as ɵcreateInjector, createRendererType2 as ɵcrt, defaultIterableDiffers as ɵdefaultIterableDiffers, defaultKeyValueDiffers as ɵdefaultKeyValueDiffers, detectChanges as ɵdetectChanges, devModeEqual$1 as ɵdevModeEqual, directiveDef as ɵdid, elementDef as ɵeld, findLocaleData as ɵfindLocaleData, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, getComponentViewDefinitionFactory as ɵgetComponentViewDefinitionFactory, getDebugNodeR2 as ɵgetDebugNodeR2, getDebugNode__POST_R3__ as ɵgetDebugNode__POST_R3__, getDirectives as ɵgetDirectives, getHostElement as ɵgetHostElement, getInjectableDef as ɵgetInjectableDef, getLContext as ɵgetLContext, getLocaleCurrencyCode as ɵgetLocaleCurrencyCode, getLocalePluralCase as ɵgetLocalePluralCase, getModuleFactory__POST_R3__ as ɵgetModuleFactory__POST_R3__, getSanitizationBypassType as ɵgetSanitizationBypassType, _global as ɵglobal, initServicesIfNeeded as ɵinitServicesIfNeeded, inlineInterpolate as ɵinlineInterpolate, interpolate as ɵinterpolate, isBoundToModule__POST_R3__ as ɵisBoundToModule__POST_R3__, isDefaultChangeDetectionStrategy as ɵisDefaultChangeDetectionStrategy, isListLikeIterable$1 as ɵisListLikeIterable, isObservable as ɵisObservable, isPromise as ɵisPromise, ivyEnabled as ɵivyEnabled, looseIdentical as ɵlooseIdentical, makeDecorator as ɵmakeDecorator, markDirty as ɵmarkDirty, moduleDef as ɵmod, moduleProvideDef as ɵmpd, ngContentDef as ɵncd, nodeValue as ɵnov, overrideComponentView as ɵoverrideComponentView, overrideProvider as ɵoverrideProvider, pureArrayDef as ɵpad, patchComponentDefWithScope as ɵpatchComponentDefWithScope, pipeDef as ɵpid, pureObjectDef as ɵpod, purePipeDef as ɵppd, providerDef as ɵprd, publishDefaultGlobalUtils as ɵpublishDefaultGlobalUtils, publishGlobalUtil as ɵpublishGlobalUtil, queryDef as ɵqud, registerLocaleData as ɵregisterLocaleData, registerModuleFactory as ɵregisterModuleFactory, registerNgModuleType as ɵregisterNgModuleType, renderComponent$1 as ɵrenderComponent, resetCompiledComponents as ɵresetCompiledComponents, resolveComponentResources as ɵresolveComponentResources, setClassMetadata as ɵsetClassMetadata, setCurrentInjector as ɵsetCurrentInjector, setDocument as ɵsetDocument, setLocaleId as ɵsetLocaleId, store as ɵstore, stringify as ɵstringify, textDef as ɵted, transitiveScopesFor as ɵtransitiveScopesFor, unregisterAllLocaleData as ɵunregisterLocaleData, unwrapValue as ɵunv, unwrapSafeValue as ɵunwrapSafeValue, viewDef as ɵvid, whenRendered as ɵwhenRendered, ɵɵCopyDefinitionFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵattribute, ɵɵattributeInterpolate1, ɵɵattributeInterpolate2, ɵɵattributeInterpolate3, ɵɵattributeInterpolate4, ɵɵattributeInterpolate5, ɵɵattributeInterpolate6, ɵɵattributeInterpolate7, ɵɵattributeInterpolate8, ɵɵattributeInterpolateV, ɵɵclassMap, ɵɵclassMapInterpolate1, ɵɵclassMapInterpolate2, ɵɵclassMapInterpolate3, ɵɵclassMapInterpolate4, ɵɵclassMapInterpolate5, ɵɵclassMapInterpolate6, ɵɵclassMapInterpolate7, ɵɵclassMapInterpolate8, ɵɵclassMapInterpolateV, ɵɵclassProp, ɵɵcomponentHostSyntheticListener, ɵɵcontainer, ɵɵcontainerRefreshEnd, ɵɵcontainerRefreshStart, ɵɵcontentQuery, ɵɵdefaultStyleSanitizer, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineInjectable, ɵɵdefineInjector, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdisableBindings, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵembeddedViewEnd, ɵɵembeddedViewStart, ɵɵenableBindings, ɵɵgetCurrentView, ɵɵgetFactoryOf, ɵɵgetInheritedFactory, ɵɵhostProperty, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinject, ɵɵinjectAttribute, ɵɵinjectPipeChangeDetectorRef, ɵɵinvalidFactory, ɵɵinvalidFactoryDep, ɵɵlistener, ɵɵloadQuery, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵnextContext, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpropertyInterpolate, ɵɵpropertyInterpolate1, ɵɵpropertyInterpolate2, ɵɵpropertyInterpolate3, ɵɵpropertyInterpolate4, ɵɵpropertyInterpolate5, ɵɵpropertyInterpolate6, ɵɵpropertyInterpolate7, ɵɵpropertyInterpolate8, ɵɵpropertyInterpolateV, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryRefresh, ɵɵreference, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵrestoreView, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵselect, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstaticContentQuery, ɵɵstaticViewQuery, ɵɵstyleMap, ɵɵstyleMapInterpolate1, ɵɵstyleMapInterpolate2, ɵɵstyleMapInterpolate3, ɵɵstyleMapInterpolate4, ɵɵstyleMapInterpolate5, ɵɵstyleMapInterpolate6, ɵɵstyleMapInterpolate7, ɵɵstyleMapInterpolate8, ɵɵstyleMapInterpolateV, ɵɵstyleProp, ɵɵstylePropInterpolate1, ɵɵstylePropInterpolate2, ɵɵstylePropInterpolate3, ɵɵstylePropInterpolate4, ɵɵstylePropInterpolate5, ɵɵstylePropInterpolate6, ɵɵstylePropInterpolate7, ɵɵstylePropInterpolate8, ɵɵstylePropInterpolateV, ɵɵstyleSanitizer, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵupdateSyntheticHostBinding, ɵɵviewQuery };
47879
+ export { ANALYZE_FOR_ENTRY_COMPONENTS, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, ApplicationInitStatus, ApplicationModule, ApplicationRef, Attribute, COMPILER_OPTIONS, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Compiler, CompilerFactory, Component, ComponentFactory, ComponentFactoryResolver, ComponentRef, ContentChild, ContentChildren, DEFAULT_CURRENCY_CODE, DebugElement, DebugEventListener, DebugNode$1 as DebugNode, DefaultIterableDiffer, Directive, ElementRef, EmbeddedViewRef, ErrorHandler, EventEmitter, Host, HostBinding, HostListener, INJECTOR, Inject, InjectFlags, Injectable, InjectionToken, Injector, Input, IterableDiffers, KeyValueDiffers, LOCALE_ID$1 as LOCALE_ID, MissingTranslationStrategy, ModuleWithComponentFactories, NO_ERRORS_SCHEMA, NgModule, NgModuleFactory, NgModuleFactoryLoader, NgModuleRef, NgProbeToken, NgZone, Optional, Output, PACKAGE_ROOT_URL, PLATFORM_ID, PLATFORM_INITIALIZER, Pipe, PlatformRef, Query, QueryList, ReflectiveInjector, ReflectiveKey, Renderer2, RendererFactory2, RendererStyleFlags2, ResolvedReflectiveFactory, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, SystemJsNgModuleLoader, SystemJsNgModuleLoaderConfig, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, Type, VERSION, Version, ViewChild, ViewChildren, ViewContainerRef, ViewEncapsulation$1 as ViewEncapsulation, ViewRef$1 as ViewRef, WrappedValue, asNativeElements, assertPlatform, createPlatform, createPlatformFactory, defineInjectable, destroyPlatform, enableProdMode, forwardRef, getDebugNode$1 as getDebugNode, getModuleFactory, getPlatform, inject, isDevMode, platformCore, resolveForwardRef, setTestabilityGetter, ALLOW_MULTIPLE_PLATFORMS as ɵALLOW_MULTIPLE_PLATFORMS, APP_ID_RANDOM_PROVIDER as ɵAPP_ID_RANDOM_PROVIDER, ChangeDetectorStatus as ɵChangeDetectorStatus, CodegenComponentFactoryResolver as ɵCodegenComponentFactoryResolver, Compiler_compileModuleAndAllComponentsAsync__POST_R3__ as ɵCompiler_compileModuleAndAllComponentsAsync__POST_R3__, Compiler_compileModuleAndAllComponentsSync__POST_R3__ as ɵCompiler_compileModuleAndAllComponentsSync__POST_R3__, Compiler_compileModuleAsync__POST_R3__ as ɵCompiler_compileModuleAsync__POST_R3__, Compiler_compileModuleSync__POST_R3__ as ɵCompiler_compileModuleSync__POST_R3__, ComponentFactory as ɵComponentFactory, Console as ɵConsole, DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, EMPTY_ARRAY$4 as ɵEMPTY_ARRAY, EMPTY_MAP as ɵEMPTY_MAP, INJECTOR_IMPL__POST_R3__ as ɵINJECTOR_IMPL__POST_R3__, INJECTOR_SCOPE as ɵINJECTOR_SCOPE, LifecycleHooksFeature as ɵLifecycleHooksFeature, LocaleDataIndex as ɵLocaleDataIndex, NG_COMP_DEF as ɵNG_COMP_DEF, NG_DIR_DEF as ɵNG_DIR_DEF, NG_ELEMENT_ID as ɵNG_ELEMENT_ID, NG_INJ_DEF as ɵNG_INJ_DEF, NG_MOD_DEF as ɵNG_MOD_DEF, NG_PIPE_DEF as ɵNG_PIPE_DEF, NG_PROV_DEF as ɵNG_PROV_DEF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE as ɵNO_CHANGE, NgModuleFactory$1 as ɵNgModuleFactory, NoopNgZone as ɵNoopNgZone, ReflectionCapabilities as ɵReflectionCapabilities, ComponentFactory$1 as ɵRender3ComponentFactory, ComponentRef$1 as ɵRender3ComponentRef, NgModuleRef$1 as ɵRender3NgModuleRef, SWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__ as ɵSWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__, SWITCH_COMPILE_COMPONENT__POST_R3__ as ɵSWITCH_COMPILE_COMPONENT__POST_R3__, SWITCH_COMPILE_DIRECTIVE__POST_R3__ as ɵSWITCH_COMPILE_DIRECTIVE__POST_R3__, SWITCH_COMPILE_INJECTABLE__POST_R3__ as ɵSWITCH_COMPILE_INJECTABLE__POST_R3__, SWITCH_COMPILE_NGMODULE__POST_R3__ as ɵSWITCH_COMPILE_NGMODULE__POST_R3__, SWITCH_COMPILE_PIPE__POST_R3__ as ɵSWITCH_COMPILE_PIPE__POST_R3__, SWITCH_ELEMENT_REF_FACTORY__POST_R3__ as ɵSWITCH_ELEMENT_REF_FACTORY__POST_R3__, SWITCH_IVY_ENABLED__POST_R3__ as ɵSWITCH_IVY_ENABLED__POST_R3__, SWITCH_RENDERER2_FACTORY__POST_R3__ as ɵSWITCH_RENDERER2_FACTORY__POST_R3__, SWITCH_TEMPLATE_REF_FACTORY__POST_R3__ as ɵSWITCH_TEMPLATE_REF_FACTORY__POST_R3__, SWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__ as ɵSWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__, _sanitizeHtml as ɵ_sanitizeHtml, _sanitizeStyle as ɵ_sanitizeStyle, _sanitizeUrl as ɵ_sanitizeUrl, allowSanitizationBypassAndThrow as ɵallowSanitizationBypassAndThrow, anchorDef as ɵand, isForwardRef as ɵangular_packages_core_core_a, injectInjectorOnly as ɵangular_packages_core_core_b, getLView as ɵangular_packages_core_core_ba, getPreviousOrParentTNode as ɵangular_packages_core_core_bb, getBindingRoot as ɵangular_packages_core_core_bc, nextContextImpl as ɵangular_packages_core_core_bd, pureFunction1Internal as ɵangular_packages_core_core_bf, pureFunction2Internal as ɵangular_packages_core_core_bg, pureFunction3Internal as ɵangular_packages_core_core_bh, pureFunction4Internal as ɵangular_packages_core_core_bi, pureFunctionVInternal as ɵangular_packages_core_core_bj, getUrlSanitizer as ɵangular_packages_core_core_bk, makeParamDecorator as ɵangular_packages_core_core_bl, makePropDecorator as ɵangular_packages_core_core_bm, getClosureSafeProperty as ɵangular_packages_core_core_bn, noSideEffects as ɵangular_packages_core_core_bo, getRootContext as ɵangular_packages_core_core_bq, NullInjector as ɵangular_packages_core_core_c, ReflectiveInjector_ as ɵangular_packages_core_core_d, ReflectiveDependency as ɵangular_packages_core_core_e, resolveReflectiveProviders as ɵangular_packages_core_core_f, _appIdRandomProviderFactory as ɵangular_packages_core_core_g, createElementRef as ɵangular_packages_core_core_h, createTemplateRef as ɵangular_packages_core_core_i, getModuleFactory__PRE_R3__ as ɵangular_packages_core_core_j, DebugNode__PRE_R3__ as ɵangular_packages_core_core_k, DebugElement__PRE_R3__ as ɵangular_packages_core_core_l, getDebugNodeR2__PRE_R3__ as ɵangular_packages_core_core_m, DefaultIterableDifferFactory as ɵangular_packages_core_core_n, DefaultKeyValueDifferFactory as ɵangular_packages_core_core_o, _iterableDiffersFactory as ɵangular_packages_core_core_p, _keyValueDiffersFactory as ɵangular_packages_core_core_q, _localeFactory as ɵangular_packages_core_core_r, APPLICATION_MODULE_PROVIDERS as ɵangular_packages_core_core_s, zoneSchedulerFactory as ɵangular_packages_core_core_t, USD_CURRENCY_CODE as ɵangular_packages_core_core_u, _def as ɵangular_packages_core_core_v, DebugContext as ɵangular_packages_core_core_w, SCHEDULER as ɵangular_packages_core_core_x, injectAttributeImpl as ɵangular_packages_core_core_y, instructionState as ɵangular_packages_core_core_z, bypassSanitizationTrustHtml as ɵbypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl as ɵbypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript as ɵbypassSanitizationTrustScript, bypassSanitizationTrustStyle as ɵbypassSanitizationTrustStyle, bypassSanitizationTrustUrl as ɵbypassSanitizationTrustUrl, createComponentFactory as ɵccf, clearOverrides as ɵclearOverrides, clearResolutionOfComponentResourcesQueue as ɵclearResolutionOfComponentResourcesQueue, createNgModuleFactory as ɵcmf, compileComponent as ɵcompileComponent, compileDirective as ɵcompileDirective, compileNgModule as ɵcompileNgModule, compileNgModuleDefs as ɵcompileNgModuleDefs, compileNgModuleFactory__POST_R3__ as ɵcompileNgModuleFactory__POST_R3__, compilePipe as ɵcompilePipe, createInjector as ɵcreateInjector, createRendererType2 as ɵcrt, defaultIterableDiffers as ɵdefaultIterableDiffers, defaultKeyValueDiffers as ɵdefaultKeyValueDiffers, detectChanges as ɵdetectChanges, devModeEqual$1 as ɵdevModeEqual, directiveDef as ɵdid, elementDef as ɵeld, findLocaleData as ɵfindLocaleData, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, getComponentViewDefinitionFactory as ɵgetComponentViewDefinitionFactory, getDebugNodeR2 as ɵgetDebugNodeR2, getDebugNode__POST_R3__ as ɵgetDebugNode__POST_R3__, getDirectives as ɵgetDirectives, getHostElement as ɵgetHostElement, getInjectableDef as ɵgetInjectableDef, getLContext as ɵgetLContext, getLocaleCurrencyCode as ɵgetLocaleCurrencyCode, getLocalePluralCase as ɵgetLocalePluralCase, getModuleFactory__POST_R3__ as ɵgetModuleFactory__POST_R3__, getSanitizationBypassType as ɵgetSanitizationBypassType, _global as ɵglobal, initServicesIfNeeded as ɵinitServicesIfNeeded, inlineInterpolate as ɵinlineInterpolate, interpolate as ɵinterpolate, isBoundToModule__POST_R3__ as ɵisBoundToModule__POST_R3__, isDefaultChangeDetectionStrategy as ɵisDefaultChangeDetectionStrategy, isListLikeIterable$1 as ɵisListLikeIterable, isObservable as ɵisObservable, isPromise as ɵisPromise, ivyEnabled as ɵivyEnabled, looseIdentical as ɵlooseIdentical, makeDecorator as ɵmakeDecorator, markDirty as ɵmarkDirty, moduleDef as ɵmod, moduleProvideDef as ɵmpd, ngContentDef as ɵncd, nodeValue as ɵnov, overrideComponentView as ɵoverrideComponentView, overrideProvider as ɵoverrideProvider, pureArrayDef as ɵpad, patchComponentDefWithScope as ɵpatchComponentDefWithScope, pipeDef as ɵpid, pureObjectDef as ɵpod, purePipeDef as ɵppd, providerDef as ɵprd, publishDefaultGlobalUtils as ɵpublishDefaultGlobalUtils, publishGlobalUtil as ɵpublishGlobalUtil, queryDef as ɵqud, registerLocaleData as ɵregisterLocaleData, registerModuleFactory as ɵregisterModuleFactory, registerNgModuleType as ɵregisterNgModuleType, renderComponent$1 as ɵrenderComponent, resetCompiledComponents as ɵresetCompiledComponents, resolveComponentResources as ɵresolveComponentResources, setClassMetadata as ɵsetClassMetadata, setCurrentInjector as ɵsetCurrentInjector, setDocument as ɵsetDocument, setLocaleId as ɵsetLocaleId, store as ɵstore, stringify as ɵstringify, textDef as ɵted, transitiveScopesFor as ɵtransitiveScopesFor, unregisterAllLocaleData as ɵunregisterLocaleData, unwrapValue as ɵunv, unwrapSafeValue as ɵunwrapSafeValue, viewDef as ɵvid, whenRendered as ɵwhenRendered, ɵɵCopyDefinitionFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵattribute, ɵɵattributeInterpolate1, ɵɵattributeInterpolate2, ɵɵattributeInterpolate3, ɵɵattributeInterpolate4, ɵɵattributeInterpolate5, ɵɵattributeInterpolate6, ɵɵattributeInterpolate7, ɵɵattributeInterpolate8, ɵɵattributeInterpolateV, ɵɵclassMap, ɵɵclassMapInterpolate1, ɵɵclassMapInterpolate2, ɵɵclassMapInterpolate3, ɵɵclassMapInterpolate4, ɵɵclassMapInterpolate5, ɵɵclassMapInterpolate6, ɵɵclassMapInterpolate7, ɵɵclassMapInterpolate8, ɵɵclassMapInterpolateV, ɵɵclassProp, ɵɵcomponentHostSyntheticListener, ɵɵcontainer, ɵɵcontainerRefreshEnd, ɵɵcontainerRefreshStart, ɵɵcontentQuery, ɵɵdefaultStyleSanitizer, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineInjectable, ɵɵdefineInjector, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdisableBindings, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵembeddedViewEnd, ɵɵembeddedViewStart, ɵɵenableBindings, ɵɵgetCurrentView, ɵɵgetFactoryOf, ɵɵgetInheritedFactory, ɵɵhostProperty, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinject, ɵɵinjectAttribute, ɵɵinjectPipeChangeDetectorRef, ɵɵinvalidFactory, ɵɵinvalidFactoryDep, ɵɵlistener, ɵɵloadQuery, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵnextContext, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpropertyInterpolate, ɵɵpropertyInterpolate1, ɵɵpropertyInterpolate2, ɵɵpropertyInterpolate3, ɵɵpropertyInterpolate4, ɵɵpropertyInterpolate5, ɵɵpropertyInterpolate6, ɵɵpropertyInterpolate7, ɵɵpropertyInterpolate8, ɵɵpropertyInterpolateV, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryRefresh, ɵɵreference, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵrestoreView, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵselect, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstaticContentQuery, ɵɵstaticViewQuery, ɵɵstyleMap, ɵɵstyleMapInterpolate1, ɵɵstyleMapInterpolate2, ɵɵstyleMapInterpolate3, ɵɵstyleMapInterpolate4, ɵɵstyleMapInterpolate5, ɵɵstyleMapInterpolate6, ɵɵstyleMapInterpolate7, ɵɵstyleMapInterpolate8, ɵɵstyleMapInterpolateV, ɵɵstyleProp, ɵɵstylePropInterpolate1, ɵɵstylePropInterpolate2, ɵɵstylePropInterpolate3, ɵɵstylePropInterpolate4, ɵɵstylePropInterpolate5, ɵɵstylePropInterpolate6, ɵɵstylePropInterpolate7, ɵɵstylePropInterpolate8, ɵɵstylePropInterpolateV, ɵɵstyleSanitizer, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵupdateSyntheticHostBinding, ɵɵviewQuery };
47851
47880
  //# sourceMappingURL=core.js.map