@angular/core 13.0.0-next.9 → 13.0.0-rc.3
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.
- package/core.d.ts +791 -1180
- package/esm2020/core.mjs +5 -0
- package/esm2020/index.mjs +14 -0
- package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
- package/esm2020/src/application_init.mjs +140 -0
- package/esm2020/src/application_module.mjs +130 -0
- package/esm2020/src/application_ref.mjs +738 -0
- package/{esm2015/src/application_tokens.js → esm2020/src/application_tokens.mjs} +0 -0
- package/esm2020/src/change_detection/change_detection.mjs +31 -0
- package/esm2020/src/change_detection/change_detection_util.mjs +64 -0
- package/esm2020/src/change_detection/change_detector_ref.mjs +89 -0
- package/{esm2015/src/change_detection/constants.js → esm2020/src/change_detection/constants.mjs} +0 -0
- package/esm2020/src/change_detection/differs/default_iterable_differ.mjs +666 -0
- package/{esm2015/src/change_detection/differs/default_keyvalue_differ.js → esm2020/src/change_detection/differs/default_keyvalue_differ.mjs} +0 -0
- package/{esm2015/src/change_detection/differs/iterable_differs.js → esm2020/src/change_detection/differs/iterable_differs.mjs} +0 -0
- package/{esm2015/src/change_detection/differs/keyvalue_differs.js → esm2020/src/change_detection/differs/keyvalue_differs.mjs} +0 -0
- package/{esm2015/src/change_detection/pipe_transform.js → esm2020/src/change_detection/pipe_transform.mjs} +0 -0
- package/esm2020/src/change_detection.mjs +14 -0
- package/esm2020/src/codegen_private_exports.mjs +11 -0
- package/{esm2015/src/compiler/compiler_facade.js → esm2020/src/compiler/compiler_facade.mjs} +0 -0
- package/{esm2015/src/compiler/compiler_facade_interface.js → esm2020/src/compiler/compiler_facade_interface.mjs} +1 -1
- package/esm2020/src/console.mjs +26 -0
- package/esm2020/src/core.mjs +52 -0
- package/esm2020/src/core_private_export.mjs +34 -0
- package/esm2020/src/core_render3_private_export.mjs +47 -0
- package/esm2020/src/debug/debug_node.mjs +625 -0
- package/{esm2015/src/debug/proxy.js → esm2020/src/debug/proxy.mjs} +0 -0
- package/{esm2015/src/di/forward_ref.js → esm2020/src/di/forward_ref.mjs} +0 -0
- package/{esm2015/src/di/index.js → esm2020/src/di/index.mjs} +0 -0
- package/{esm2015/src/di/inject_switch.js → esm2020/src/di/inject_switch.mjs} +0 -0
- package/esm2020/src/di/injectable.mjs +27 -0
- package/esm2020/src/di/injection_token.mjs +82 -0
- package/esm2020/src/di/injector.mjs +323 -0
- package/esm2020/src/di/injector_compatibility.mjs +185 -0
- package/{esm2015/src/di/injector_marker.js → esm2020/src/di/injector_marker.mjs} +0 -0
- package/{esm2015/src/di/injector_token.js → esm2020/src/di/injector_token.mjs} +0 -0
- package/{esm2015/src/di/interface/defs.js → esm2020/src/di/interface/defs.mjs} +0 -0
- package/{esm2015/src/di/interface/injector.js → esm2020/src/di/interface/injector.mjs} +0 -0
- package/{esm2015/src/di/interface/provider.js → esm2020/src/di/interface/provider.mjs} +0 -0
- package/{esm2015/src/di/jit/environment.js → esm2020/src/di/jit/environment.mjs} +0 -0
- package/esm2020/src/di/jit/injectable.mjs +94 -0
- package/{esm2015/src/di/jit/util.js → esm2020/src/di/jit/util.mjs} +0 -0
- package/esm2020/src/di/metadata.mjs +60 -0
- package/esm2020/src/di/metadata_attr.mjs +24 -0
- package/{esm2015/src/di/null_injector.js → esm2020/src/di/null_injector.mjs} +0 -0
- package/{esm2015/src/di/provider_token.js → esm2020/src/di/provider_token.mjs} +0 -0
- package/{esm2015/src/di/r3_injector.js → esm2020/src/di/r3_injector.mjs} +0 -0
- package/{esm2015/src/di/reflective_errors.js → esm2020/src/di/reflective_errors.mjs} +0 -0
- package/{esm2015/src/di/reflective_injector.js → esm2020/src/di/reflective_injector.mjs} +0 -0
- package/{esm2015/src/di/reflective_key.js → esm2020/src/di/reflective_key.mjs} +0 -0
- package/{esm2015/src/di/reflective_provider.js → esm2020/src/di/reflective_provider.mjs} +0 -0
- package/{esm2015/src/di/scope.js → esm2020/src/di/scope.mjs} +0 -0
- package/esm2020/src/di/util.mjs +51 -0
- package/{esm2015/src/di.js → esm2020/src/di.mjs} +0 -0
- package/{esm2015/src/error_handler.js → esm2020/src/error_handler.mjs} +0 -0
- package/{esm2015/src/errors.js → esm2020/src/errors.mjs} +0 -0
- package/esm2020/src/event_emitter.mjs +53 -0
- package/{esm2015/src/i18n/locale_data_api.js → esm2020/src/i18n/locale_data_api.mjs} +0 -0
- package/esm2020/src/i18n/locale_en.mjs +17 -0
- package/{esm2015/src/i18n/localization.js → esm2020/src/i18n/localization.mjs} +0 -0
- package/{esm2015/src/i18n/tokens.js → esm2020/src/i18n/tokens.mjs} +0 -0
- package/{esm2015/src/interface/lifecycle_hooks.js → esm2020/src/interface/lifecycle_hooks.mjs} +0 -0
- package/{esm2015/src/interface/simple_change.js → esm2020/src/interface/simple_change.mjs} +0 -0
- package/{esm2015/src/interface/type.js → esm2020/src/interface/type.mjs} +0 -0
- package/{esm2015/src/ivy_switch.js → esm2020/src/ivy_switch.mjs} +2 -2
- package/esm2020/src/linker/compiler.mjs +136 -0
- package/{esm2015/src/linker/component_factory.js → esm2020/src/linker/component_factory.mjs} +0 -0
- package/{esm2015/src/linker/component_factory_resolver.js → esm2020/src/linker/component_factory_resolver.mjs} +5 -5
- package/esm2020/src/linker/element_ref.mjs +59 -0
- package/esm2020/src/linker/ng_module_factory.mjs +29 -0
- package/esm2020/src/linker/ng_module_factory_loader.mjs +42 -0
- package/esm2020/src/linker/ng_module_factory_loader_impl.mjs +10 -0
- package/{esm2015/src/linker/ng_module_factory_registration.js → esm2020/src/linker/ng_module_factory_registration.mjs} +2 -2
- package/{esm2015/src/linker/query_list.js → esm2020/src/linker/query_list.mjs} +0 -0
- package/{esm2015/src/linker/template_ref.js → esm2020/src/linker/template_ref.mjs} +2 -2
- package/esm2020/src/linker/view_container_ref.mjs +283 -0
- package/{esm2015/src/linker/view_ref.js → esm2020/src/linker/view_ref.mjs} +0 -0
- package/esm2020/src/linker.mjs +19 -0
- package/esm2020/src/metadata/di.mjs +108 -0
- package/esm2020/src/metadata/directives.mjs +112 -0
- package/{esm2015/src/metadata/do_boostrap.js → esm2020/src/metadata/do_boostrap.mjs} +0 -0
- package/esm2020/src/metadata/ng_module.mjs +42 -0
- package/{esm2015/src/metadata/ng_module_def.js → esm2020/src/metadata/ng_module_def.mjs} +0 -0
- package/{esm2015/src/metadata/resource_loading.js → esm2020/src/metadata/resource_loading.mjs} +0 -0
- package/{esm2015/src/metadata/schema.js → esm2020/src/metadata/schema.mjs} +0 -0
- package/{esm2015/src/metadata/view.js → esm2020/src/metadata/view.mjs} +0 -0
- package/{esm2015/src/metadata.js → esm2020/src/metadata.mjs} +0 -0
- package/{esm2015/src/platform_core_providers.js → esm2020/src/platform_core_providers.mjs} +0 -0
- package/{esm2015/src/r3_symbols.js → esm2020/src/r3_symbols.mjs} +0 -0
- package/{esm2015/src/reflection/platform_reflection_capabilities.js → esm2020/src/reflection/platform_reflection_capabilities.mjs} +0 -0
- package/{esm2015/src/reflection/reflection.js → esm2020/src/reflection/reflection.mjs} +0 -0
- package/{esm2015/src/reflection/reflection_capabilities.js → esm2020/src/reflection/reflection_capabilities.mjs} +0 -0
- package/{esm2015/src/reflection/reflector.js → esm2020/src/reflection/reflector.mjs} +0 -0
- package/{esm2015/src/reflection/types.js → esm2020/src/reflection/types.mjs} +0 -0
- package/{esm2015/src/render/api.js → esm2020/src/render/api.mjs} +2 -2
- package/{esm2015/src/render/api_flags.js → esm2020/src/render/api_flags.mjs} +0 -0
- package/{esm2015/src/render.js → esm2020/src/render.mjs} +0 -0
- package/{esm2015/src/render3/assert.js → esm2020/src/render3/assert.mjs} +0 -0
- package/{esm2015/src/render3/bindings.js → esm2020/src/render3/bindings.mjs} +0 -0
- package/{esm2015/src/render3/collect_native_nodes.js → esm2020/src/render3/collect_native_nodes.mjs} +0 -0
- package/esm2020/src/render3/component.mjs +204 -0
- package/{esm2015/src/render3/component_ref.js → esm2020/src/render3/component_ref.mjs} +0 -0
- package/{esm2015/src/render3/context_discovery.js → esm2020/src/render3/context_discovery.mjs} +0 -0
- package/esm2020/src/render3/definition.mjs +296 -0
- package/{esm2015/src/render3/definition_factory.js → esm2020/src/render3/definition_factory.mjs} +0 -0
- package/{esm2015/src/render3/di.js → esm2020/src/render3/di.mjs} +3 -3
- package/{esm2015/src/render3/di_setup.js → esm2020/src/render3/di_setup.mjs} +0 -0
- package/esm2020/src/render3/error_code.mjs +42 -0
- package/esm2020/src/render3/error_details_base_url.mjs +16 -0
- package/{esm2015/src/render3/errors.js → esm2020/src/render3/errors.mjs} +0 -0
- package/{esm2015/src/render3/errors_di.js → esm2020/src/render3/errors_di.mjs} +0 -0
- package/{esm2015/src/render3/features/copy_definition_feature.js → esm2020/src/render3/features/copy_definition_feature.mjs} +0 -0
- package/{esm2015/src/render3/features/inherit_definition_feature.js → esm2020/src/render3/features/inherit_definition_feature.mjs} +0 -0
- package/esm2020/src/render3/features/ng_onchanges_feature.mjs +92 -0
- package/{esm2015/src/render3/features/providers_feature.js → esm2020/src/render3/features/providers_feature.mjs} +0 -0
- package/esm2020/src/render3/fields.mjs +21 -0
- package/{esm2015/src/render3/global_utils_api.js → esm2020/src/render3/global_utils_api.mjs} +0 -0
- package/{esm2015/src/render3/hooks.js → esm2020/src/render3/hooks.mjs} +0 -0
- package/{esm2015/src/render3/i18n/i18n_apply.js → esm2020/src/render3/i18n/i18n_apply.mjs} +0 -0
- package/{esm2015/src/render3/i18n/i18n_debug.js → esm2020/src/render3/i18n/i18n_debug.mjs} +0 -0
- package/{esm2015/src/render3/i18n/i18n_insert_before_index.js → esm2020/src/render3/i18n/i18n_insert_before_index.mjs} +0 -0
- package/{esm2015/src/render3/i18n/i18n_locale_id.js → esm2020/src/render3/i18n/i18n_locale_id.mjs} +0 -0
- package/{esm2015/src/render3/i18n/i18n_parse.js → esm2020/src/render3/i18n/i18n_parse.mjs} +0 -0
- package/{esm2015/src/render3/i18n/i18n_postprocess.js → esm2020/src/render3/i18n/i18n_postprocess.mjs} +0 -0
- package/{esm2015/src/render3/i18n/i18n_tree_shaking.js → esm2020/src/render3/i18n/i18n_tree_shaking.mjs} +0 -0
- package/{esm2015/src/render3/i18n/i18n_util.js → esm2020/src/render3/i18n/i18n_util.mjs} +0 -0
- package/{esm2015/src/render3/index.js → esm2020/src/render3/index.mjs} +0 -0
- package/{esm2015/src/render3/instructions/advance.js → esm2020/src/render3/instructions/advance.mjs} +0 -0
- package/{esm2015/src/render3/instructions/all.js → esm2020/src/render3/instructions/all.mjs} +0 -0
- package/{esm2015/src/render3/instructions/attribute.js → esm2020/src/render3/instructions/attribute.mjs} +0 -0
- package/{esm2015/src/render3/instructions/attribute_interpolation.js → esm2020/src/render3/instructions/attribute_interpolation.mjs} +0 -0
- package/{esm2015/src/render3/instructions/change_detection.js → esm2020/src/render3/instructions/change_detection.mjs} +0 -0
- package/{esm2015/src/render3/instructions/class_map_interpolation.js → esm2020/src/render3/instructions/class_map_interpolation.mjs} +0 -0
- package/{esm2015/src/render3/instructions/di.js → esm2020/src/render3/instructions/di.mjs} +0 -0
- package/{esm2015/src/render3/instructions/di_attr.js → esm2020/src/render3/instructions/di_attr.mjs} +0 -0
- package/{esm2015/src/render3/instructions/element.js → esm2020/src/render3/instructions/element.mjs} +0 -0
- package/{esm2015/src/render3/instructions/element_container.js → esm2020/src/render3/instructions/element_container.mjs} +0 -0
- package/{esm2015/src/render3/instructions/get_current_view.js → esm2020/src/render3/instructions/get_current_view.mjs} +0 -0
- package/{esm2015/src/render3/instructions/host_property.js → esm2020/src/render3/instructions/host_property.mjs} +0 -0
- package/{esm2015/src/render3/instructions/i18n.js → esm2020/src/render3/instructions/i18n.mjs} +0 -0
- package/{esm2015/src/render3/instructions/i18n_icu_container_visitor.js → esm2020/src/render3/instructions/i18n_icu_container_visitor.mjs} +0 -0
- package/{esm2015/src/render3/instructions/interpolation.js → esm2020/src/render3/instructions/interpolation.mjs} +0 -0
- package/{esm2015/src/render3/instructions/listener.js → esm2020/src/render3/instructions/listener.mjs} +0 -0
- package/{esm2015/src/render3/instructions/lview_debug.js → esm2020/src/render3/instructions/lview_debug.mjs} +0 -0
- package/{esm2015/src/render3/instructions/namespace.js → esm2020/src/render3/instructions/namespace.mjs} +0 -0
- package/{esm2015/src/render3/instructions/next_context.js → esm2020/src/render3/instructions/next_context.mjs} +0 -0
- package/{esm2015/src/render3/instructions/projection.js → esm2020/src/render3/instructions/projection.mjs} +0 -0
- package/{esm2015/src/render3/instructions/property.js → esm2020/src/render3/instructions/property.mjs} +0 -0
- package/{esm2015/src/render3/instructions/property_interpolation.js → esm2020/src/render3/instructions/property_interpolation.mjs} +0 -0
- package/esm2020/src/render3/instructions/shared.mjs +1811 -0
- package/{esm2015/src/render3/instructions/storage.js → esm2020/src/render3/instructions/storage.mjs} +0 -0
- package/{esm2015/src/render3/instructions/style_map_interpolation.js → esm2020/src/render3/instructions/style_map_interpolation.mjs} +0 -0
- package/{esm2015/src/render3/instructions/style_prop_interpolation.js → esm2020/src/render3/instructions/style_prop_interpolation.mjs} +0 -0
- package/{esm2015/src/render3/instructions/styling.js → esm2020/src/render3/instructions/styling.mjs} +0 -0
- package/{esm2015/src/render3/instructions/template.js → esm2020/src/render3/instructions/template.mjs} +0 -0
- package/{esm2015/src/render3/instructions/text.js → esm2020/src/render3/instructions/text.mjs} +0 -0
- package/{esm2015/src/render3/instructions/text_interpolation.js → esm2020/src/render3/instructions/text_interpolation.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/container.js → esm2020/src/render3/interfaces/container.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/context.js → esm2020/src/render3/interfaces/context.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/definition.js → esm2020/src/render3/interfaces/definition.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/document.js → esm2020/src/render3/interfaces/document.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/i18n.js → esm2020/src/render3/interfaces/i18n.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/injector.js → esm2020/src/render3/interfaces/injector.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/node.js → esm2020/src/render3/interfaces/node.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/player.js → esm2020/src/render3/interfaces/player.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/projection.js → esm2020/src/render3/interfaces/projection.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/public_definitions.js → esm2020/src/render3/interfaces/public_definitions.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/query.js → esm2020/src/render3/interfaces/query.mjs} +0 -0
- package/esm2020/src/render3/interfaces/renderer.mjs +27 -0
- package/{esm2015/src/render3/interfaces/renderer_dom.js → esm2020/src/render3/interfaces/renderer_dom.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/sanitization.js → esm2020/src/render3/interfaces/sanitization.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/styling.js → esm2020/src/render3/interfaces/styling.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/type_checks.js → esm2020/src/render3/interfaces/type_checks.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/view.js → esm2020/src/render3/interfaces/view.mjs} +0 -0
- package/esm2020/src/render3/jit/directive.mjs +325 -0
- package/esm2020/src/render3/jit/environment.mjs +165 -0
- package/{esm2015/src/render3/jit/jit_options.js → esm2020/src/render3/jit/jit_options.mjs} +0 -0
- package/{esm2015/src/render3/jit/module.js → esm2020/src/render3/jit/module.mjs} +0 -0
- package/esm2020/src/render3/jit/partial.mjs +104 -0
- package/{esm2015/src/render3/jit/pipe.js → esm2020/src/render3/jit/pipe.mjs} +0 -0
- package/esm2020/src/render3/metadata.mjs +49 -0
- package/{esm2015/src/render3/namespaces.js → esm2020/src/render3/namespaces.mjs} +0 -0
- package/esm2020/src/render3/ng_module_ref.mjs +119 -0
- package/{esm2015/src/render3/node_assert.js → esm2020/src/render3/node_assert.mjs} +0 -0
- package/{esm2015/src/render3/node_manipulation.js → esm2020/src/render3/node_manipulation.mjs} +0 -0
- package/{esm2015/src/render3/node_manipulation_i18n.js → esm2020/src/render3/node_manipulation_i18n.mjs} +0 -0
- package/{esm2015/src/render3/node_selector_matcher.js → esm2020/src/render3/node_selector_matcher.mjs} +0 -0
- package/esm2020/src/render3/pipe.mjs +184 -0
- package/{esm2015/src/render3/profiler.js → esm2020/src/render3/profiler.mjs} +0 -0
- package/{esm2015/src/render3/pure_function.js → esm2020/src/render3/pure_function.mjs} +0 -0
- package/{esm2015/src/render3/query.js → esm2020/src/render3/query.mjs} +0 -0
- package/{esm2015/src/render3/state.js → esm2020/src/render3/state.mjs} +0 -0
- package/{esm2015/src/render3/styling/class_differ.js → esm2020/src/render3/styling/class_differ.mjs} +0 -0
- package/{esm2015/src/render3/styling/static_styling.js → esm2020/src/render3/styling/static_styling.mjs} +0 -0
- package/{esm2015/src/render3/styling/style_binding_list.js → esm2020/src/render3/styling/style_binding_list.mjs} +0 -0
- package/{esm2015/src/render3/styling/styling_parser.js → esm2020/src/render3/styling/styling_parser.mjs} +0 -0
- package/{esm2015/src/render3/tokens.js → esm2020/src/render3/tokens.mjs} +0 -0
- package/{esm2015/src/render3/util/attrs_utils.js → esm2020/src/render3/util/attrs_utils.mjs} +0 -0
- package/{esm2015/src/render3/util/change_detection_utils.js → esm2020/src/render3/util/change_detection_utils.mjs} +0 -0
- package/{esm2015/src/render3/util/debug_utils.js → esm2020/src/render3/util/debug_utils.mjs} +0 -0
- package/esm2020/src/render3/util/discovery_utils.mjs +411 -0
- package/esm2020/src/render3/util/global_utils.mjs +77 -0
- package/{esm2015/src/render3/util/injector_utils.js → esm2020/src/render3/util/injector_utils.mjs} +0 -0
- package/esm2020/src/render3/util/misc_utils.mjs +61 -0
- package/{esm2015/src/render3/util/stringify_utils.js → esm2020/src/render3/util/stringify_utils.mjs} +0 -0
- package/{esm2015/src/render3/util/view_traversal_utils.js → esm2020/src/render3/util/view_traversal_utils.mjs} +0 -0
- package/{esm2015/src/render3/util/view_utils.js → esm2020/src/render3/util/view_utils.mjs} +0 -0
- package/{esm2015/src/render3/view_engine_compatibility_prebound.js → esm2020/src/render3/view_engine_compatibility_prebound.mjs} +0 -0
- package/{esm2015/src/render3/view_ref.js → esm2020/src/render3/view_ref.mjs} +0 -0
- package/{esm2015/src/sanitization/bypass.js → esm2020/src/sanitization/bypass.mjs} +0 -0
- package/{esm2015/src/sanitization/html_sanitizer.js → esm2020/src/sanitization/html_sanitizer.mjs} +0 -0
- package/{esm2015/src/sanitization/inert_body.js → esm2020/src/sanitization/inert_body.mjs} +3 -3
- package/{esm2015/src/sanitization/sanitization.js → esm2020/src/sanitization/sanitization.mjs} +0 -0
- package/{esm2015/src/sanitization/sanitizer.js → esm2020/src/sanitization/sanitizer.mjs} +0 -0
- package/{esm2015/src/sanitization/security.js → esm2020/src/sanitization/security.mjs} +0 -0
- package/{esm2015/src/sanitization/url_sanitizer.js → esm2020/src/sanitization/url_sanitizer.mjs} +0 -0
- package/esm2020/src/testability/testability.mjs +258 -0
- package/{esm2015/src/util/array_utils.js → esm2020/src/util/array_utils.mjs} +0 -0
- package/{esm2015/src/util/assert.js → esm2020/src/util/assert.mjs} +0 -0
- package/{esm2015/src/util/char_code.js → esm2020/src/util/char_code.mjs} +0 -0
- package/{esm2015/src/util/closure.js → esm2020/src/util/closure.mjs} +0 -0
- package/{esm2015/src/util/comparison.js → esm2020/src/util/comparison.mjs} +0 -0
- package/{esm2015/src/util/decorators.js → esm2020/src/util/decorators.mjs} +0 -0
- package/{esm2015/src/util/dom.js → esm2020/src/util/dom.mjs} +0 -0
- package/{esm2015/src/util/empty.js → esm2020/src/util/empty.mjs} +0 -0
- package/{esm2015/src/util/errors.js → esm2020/src/util/errors.mjs} +0 -0
- package/{esm2015/src/util/global.js → esm2020/src/util/global.mjs} +0 -0
- package/{esm2015/src/util/is_dev_mode.js → esm2020/src/util/is_dev_mode.mjs} +0 -0
- package/{esm2015/src/util/iterable.js → esm2020/src/util/iterable.mjs} +0 -0
- package/{esm2015/src/util/lang.js → esm2020/src/util/lang.mjs} +0 -0
- package/{esm2015/src/util/microtask.js → esm2020/src/util/microtask.mjs} +0 -0
- package/{esm2015/src/util/named_array_type.js → esm2020/src/util/named_array_type.mjs} +0 -0
- package/{esm2015/src/util/ng_dev_mode.js → esm2020/src/util/ng_dev_mode.mjs} +0 -0
- package/{esm2015/src/util/ng_i18n_closure_mode.js → esm2020/src/util/ng_i18n_closure_mode.mjs} +0 -0
- package/{esm2015/src/util/ng_jit_mode.js → esm2020/src/util/ng_jit_mode.mjs} +0 -0
- package/{esm2015/src/util/ng_reflect.js → esm2020/src/util/ng_reflect.mjs} +0 -0
- package/{esm2015/src/util/noop.js → esm2020/src/util/noop.mjs} +0 -0
- package/{esm2015/src/util/property.js → esm2020/src/util/property.mjs} +0 -0
- package/{esm2015/src/util/raf.js → esm2020/src/util/raf.mjs} +0 -0
- package/{esm2015/src/util/security/trusted_type_defs.js → esm2020/src/util/security/trusted_type_defs.mjs} +0 -0
- package/esm2020/src/util/security/trusted_types.mjs +130 -0
- package/esm2020/src/util/security/trusted_types_bypass.mjs +83 -0
- package/{esm2015/src/util/stringify.js → esm2020/src/util/stringify.mjs} +0 -0
- package/{esm2015/src/util/symbol.js → esm2020/src/util/symbol.mjs} +0 -0
- package/{esm2015/src/version.js → esm2020/src/version.mjs} +1 -1
- package/{esm2015/src/view/element.js → esm2020/src/view/element.mjs} +0 -0
- package/{esm2015/src/view/entrypoint.js → esm2020/src/view/entrypoint.mjs} +0 -0
- package/{esm2015/src/view/errors.js → esm2020/src/view/errors.mjs} +0 -0
- package/{esm2015/src/view/index.js → esm2020/src/view/index.mjs} +2 -2
- package/{esm2015/src/view/ng_content.js → esm2020/src/view/ng_content.mjs} +0 -0
- package/{esm2015/src/view/ng_module.js → esm2020/src/view/ng_module.mjs} +0 -0
- package/esm2020/src/view/provider.mjs +490 -0
- package/{esm2015/src/view/provider_flags.js → esm2020/src/view/provider_flags.mjs} +0 -0
- package/{esm2015/src/view/pure_expression.js → esm2020/src/view/pure_expression.mjs} +0 -0
- package/{esm2015/src/view/query.js → esm2020/src/view/query.mjs} +0 -0
- package/{esm2015/src/view/refs.js → esm2020/src/view/refs.mjs} +0 -0
- package/{esm2015/src/view/services.js → esm2020/src/view/services.mjs} +0 -0
- package/{esm2015/src/view/text.js → esm2020/src/view/text.mjs} +0 -0
- package/{esm2015/src/view/types.js → esm2020/src/view/types.mjs} +0 -0
- package/esm2020/src/view/util.mjs +369 -0
- package/{esm2015/src/view/view.js → esm2020/src/view/view.mjs} +0 -0
- package/{esm2015/src/view/view_attach.js → esm2020/src/view/view_attach.mjs} +0 -0
- package/{esm2015/src/zone/ng_zone.js → esm2020/src/zone/ng_zone.mjs} +0 -0
- package/{esm2015/src/zone.js → esm2020/src/zone.mjs} +0 -0
- package/{esm2015/testing/index.js → esm2020/testing/index.mjs} +0 -0
- package/{esm2015/testing/public_api.js → esm2020/testing/public_api.mjs} +0 -0
- package/{esm2015/testing/src/async.js → esm2020/testing/src/async.mjs} +0 -0
- package/{esm2015/testing/src/component_fixture.js → esm2020/testing/src/component_fixture.mjs} +0 -0
- package/{esm2015/testing/src/fake_async.js → esm2020/testing/src/fake_async.mjs} +0 -0
- package/{esm2015/testing/src/lang_utils.js → esm2020/testing/src/lang_utils.mjs} +0 -0
- package/esm2020/testing/src/logger.mjs +34 -0
- package/{esm2015/testing/src/metadata_override.js → esm2020/testing/src/metadata_override.mjs} +0 -0
- package/{esm2015/testing/src/metadata_overrider.js → esm2020/testing/src/metadata_overrider.mjs} +0 -0
- package/esm2020/testing/src/ng_zone_mock.mjs +33 -0
- package/{esm2015/testing/src/private_export_testing.js → esm2020/testing/src/private_export_testing.mjs} +0 -0
- package/esm2020/testing/src/r3_test_bed.mjs +397 -0
- package/esm2020/testing/src/r3_test_bed_compiler.mjs +735 -0
- package/{esm2015/testing/src/resolvers.js → esm2020/testing/src/resolvers.mjs} +0 -0
- package/{esm2015/testing/src/styling.js → esm2020/testing/src/styling.mjs} +0 -0
- package/esm2020/testing/src/test_bed.mjs +614 -0
- package/esm2020/testing/src/test_bed_common.mjs +28 -0
- package/esm2020/testing/src/test_compiler.mjs +69 -0
- package/{esm2015/testing/src/test_hooks.js → esm2020/testing/src/test_hooks.mjs} +0 -0
- package/{esm2015/testing/src/testing.js → esm2020/testing/src/testing.mjs} +0 -0
- package/{esm2015/testing/src/testing_internal.js → esm2020/testing/src/testing_internal.mjs} +0 -0
- package/esm2020/testing/testing.mjs +5 -0
- package/fesm2015/{core.js → core.mjs} +496 -546
- package/fesm2015/core.mjs.map +1 -0
- package/fesm2015/{testing.js → testing.mjs} +50 -61
- package/fesm2015/testing.mjs.map +1 -0
- package/fesm2020/core.mjs +33109 -0
- package/fesm2020/core.mjs.map +1 -0
- package/fesm2020/testing.mjs +2635 -0
- package/fesm2020/testing.mjs.map +1 -0
- package/package.json +33 -8
- package/schematics/migrations/{move-document → testbed-teardown}/index.d.ts +2 -2
- package/schematics/migrations/testbed-teardown/index.js +92 -0
- package/schematics/migrations/testbed-teardown/util.d.ts +35 -0
- package/schematics/migrations/testbed-teardown/util.js +188 -0
- package/schematics/migrations.json +6 -101
- package/schematics/package.json +3 -0
- package/schematics/utils/import_manager.d.ts +1 -1
- package/schematics/utils/import_manager.js +22 -19
- package/schematics/utils/load_esm.d.ts +8 -0
- package/schematics/utils/load_esm.js +24 -2
- package/schematics/utils/ng_component_template.d.ts +1 -1
- package/schematics/utils/ng_component_template.js +12 -9
- package/schematics/utils/ng_decorators.d.ts +1 -1
- package/schematics/utils/ng_decorators.js +1 -1
- package/schematics/utils/typescript/class_declaration.d.ts +1 -1
- package/schematics/utils/typescript/class_declaration.js +10 -7
- package/schematics/utils/typescript/compiler_host.d.ts +1 -1
- package/schematics/utils/typescript/compiler_host.js +7 -4
- package/schematics/utils/typescript/decorators.d.ts +1 -1
- package/schematics/utils/typescript/decorators.js +7 -4
- package/schematics/utils/typescript/find_base_classes.d.ts +1 -1
- package/schematics/utils/typescript/find_base_classes.js +6 -3
- package/schematics/utils/typescript/functions.d.ts +1 -1
- package/schematics/utils/typescript/functions.js +9 -6
- package/schematics/utils/typescript/imports.d.ts +1 -1
- package/schematics/utils/typescript/imports.js +12 -9
- package/schematics/utils/typescript/nodes.d.ts +1 -1
- package/schematics/utils/typescript/nodes.js +11 -8
- package/schematics/utils/typescript/parse_tsconfig.d.ts +1 -1
- package/schematics/utils/typescript/parse_tsconfig.js +31 -9
- package/schematics/utils/typescript/property_name.d.ts +1 -1
- package/schematics/utils/typescript/property_name.js +7 -4
- package/schematics/utils/typescript/symbol.d.ts +1 -1
- package/schematics/utils/typescript/symbol.js +15 -12
- package/testing/package.json +5 -5
- package/testing/testing.d.ts +4 -333
- package/bundles/core-testing.umd.js +0 -3179
- package/bundles/core-testing.umd.js.map +0 -1
- package/bundles/core.umd.js +0 -34454
- package/bundles/core.umd.js.map +0 -1
- package/core.metadata.json +0 -1
- package/esm2015/core.externs.js +0 -6
- package/esm2015/core.js +0 -38
- package/esm2015/index.js +0 -13
- package/esm2015/src/application_init.js +0 -142
- package/esm2015/src/application_module.js +0 -134
- package/esm2015/src/application_ref.js +0 -738
- package/esm2015/src/change_detection/change_detection.js +0 -31
- package/esm2015/src/change_detection/change_detection_util.js +0 -105
- package/esm2015/src/change_detection/change_detector_ref.js +0 -96
- package/esm2015/src/change_detection/differs/default_iterable_differ.js +0 -668
- package/esm2015/src/change_detection.js +0 -14
- package/esm2015/src/codegen_private_exports.js +0 -11
- package/esm2015/src/compiler/compiler.externs.js +0 -0
- package/esm2015/src/console.js +0 -23
- package/esm2015/src/core.js +0 -50
- package/esm2015/src/core_private_export.js +0 -35
- package/esm2015/src/core_render3_private_export.js +0 -45
- package/esm2015/src/debug/debug_node.js +0 -632
- package/esm2015/src/di/injectable.js +0 -36
- package/esm2015/src/di/injection_token.js +0 -75
- package/esm2015/src/di/injector.js +0 -326
- package/esm2015/src/di/injector_compatibility.js +0 -187
- package/esm2015/src/di/interface/interface.externs.js +0 -0
- package/esm2015/src/di/jit/injectable.js +0 -96
- package/esm2015/src/di/metadata.js +0 -62
- package/esm2015/src/di/metadata_attr.js +0 -24
- package/esm2015/src/di/util.js +0 -53
- package/esm2015/src/event_emitter.js +0 -54
- package/esm2015/src/i18n/locale_en.js +0 -17
- package/esm2015/src/interface/interface.externs.js +0 -0
- package/esm2015/src/linker/compiler.js +0 -118
- package/esm2015/src/linker/element_ref.js +0 -66
- package/esm2015/src/linker/ng_module_factory.js +0 -21
- package/esm2015/src/linker/ng_module_factory_loader.js +0 -32
- package/esm2015/src/linker/view_container_ref.js +0 -290
- package/esm2015/src/linker.js +0 -19
- package/esm2015/src/metadata/di.js +0 -99
- package/esm2015/src/metadata/directives.js +0 -120
- package/esm2015/src/metadata/ng_module.js +0 -44
- package/esm2015/src/reflection/reflection.externs.js +0 -0
- package/esm2015/src/render3/component.js +0 -206
- package/esm2015/src/render3/definition.js +0 -299
- package/esm2015/src/render3/error_code.js +0 -45
- package/esm2015/src/render3/features/ng_onchanges_feature.js +0 -92
- package/esm2015/src/render3/fields.js +0 -22
- package/esm2015/src/render3/instructions/shared.js +0 -1813
- package/esm2015/src/render3/interfaces/renderer.js +0 -29
- package/esm2015/src/render3/jit/directive.js +0 -312
- package/esm2015/src/render3/jit/environment.js +0 -167
- package/esm2015/src/render3/jit/partial.js +0 -105
- package/esm2015/src/render3/metadata.js +0 -49
- package/esm2015/src/render3/ng_module_ref.js +0 -108
- package/esm2015/src/render3/pipe.js +0 -202
- package/esm2015/src/render3/util/discovery_utils.js +0 -411
- package/esm2015/src/render3/util/global_utils.js +0 -78
- package/esm2015/src/render3/util/misc_utils.js +0 -63
- package/esm2015/src/testability/testability.js +0 -256
- package/esm2015/src/util/security/trusted_types.js +0 -133
- package/esm2015/src/util/security/trusted_types_bypass.js +0 -86
- package/esm2015/src/util/util.externs.js +0 -0
- package/esm2015/src/view/provider.js +0 -490
- package/esm2015/src/view/util.js +0 -378
- package/esm2015/testing/src/logger.js +0 -32
- package/esm2015/testing/src/ng_zone_mock.js +0 -31
- package/esm2015/testing/src/r3_test_bed.js +0 -397
- package/esm2015/testing/src/r3_test_bed_compiler.js +0 -744
- package/esm2015/testing/src/test_bed.js +0 -608
- package/esm2015/testing/src/test_bed_common.js +0 -31
- package/esm2015/testing/src/test_compiler.js +0 -66
- package/esm2015/testing/testing.externs.js +0 -6
- package/esm2015/testing/testing.js +0 -7
- package/fesm2015/core.js.map +0 -1
- package/fesm2015/testing.js.map +0 -1
- package/schematics/migrations/abstract-control-parent/index.d.ts +0 -11
- package/schematics/migrations/abstract-control-parent/index.js +0 -69
- package/schematics/migrations/abstract-control-parent/util.d.ts +0 -14
- package/schematics/migrations/abstract-control-parent/util.js +0 -64
- package/schematics/migrations/activated-route-snapshot-fragment/index.d.ts +0 -13
- package/schematics/migrations/activated-route-snapshot-fragment/index.js +0 -70
- package/schematics/migrations/activated-route-snapshot-fragment/util.d.ts +0 -16
- package/schematics/migrations/activated-route-snapshot-fragment/util.js +0 -48
- package/schematics/migrations/can-activate-with-redirect-to/index.d.ts +0 -11
- package/schematics/migrations/can-activate-with-redirect-to/index.js +0 -66
- package/schematics/migrations/can-activate-with-redirect-to/util.d.ts +0 -11
- package/schematics/migrations/can-activate-with-redirect-to/util.js +0 -70
- package/schematics/migrations/deep-shadow-piercing-selector/index.d.ts +0 -10
- package/schematics/migrations/deep-shadow-piercing-selector/index.js +0 -49
- package/schematics/migrations/dynamic-queries/index.d.ts +0 -13
- package/schematics/migrations/dynamic-queries/index.js +0 -73
- package/schematics/migrations/dynamic-queries/util.d.ts +0 -25
- package/schematics/migrations/dynamic-queries/util.js +0 -81
- package/schematics/migrations/initial-navigation/collector.d.ts +0 -22
- package/schematics/migrations/initial-navigation/collector.js +0 -119
- package/schematics/migrations/initial-navigation/index.d.ts +0 -11
- package/schematics/migrations/initial-navigation/index.js +0 -83
- package/schematics/migrations/initial-navigation/transform.d.ts +0 -20
- package/schematics/migrations/initial-navigation/transform.js +0 -68
- package/schematics/migrations/initial-navigation/update_recorder.d.ts +0 -18
- package/schematics/migrations/initial-navigation/update_recorder.js +0 -20
- package/schematics/migrations/initial-navigation/util.d.ts +0 -12
- package/schematics/migrations/initial-navigation/util.js +0 -43
- package/schematics/migrations/missing-injectable/definition_collector.d.ts +0 -37
- package/schematics/migrations/missing-injectable/definition_collector.js +0 -89
- package/schematics/migrations/missing-injectable/index.d.ts +0 -11
- package/schematics/migrations/missing-injectable/index.js +0 -122
- package/schematics/migrations/missing-injectable/providers_evaluator.d.ts +0 -36
- package/schematics/migrations/missing-injectable/providers_evaluator.js +0 -64
- package/schematics/migrations/missing-injectable/transform.d.ts +0 -69
- package/schematics/migrations/missing-injectable/transform.js +0 -201
- package/schematics/migrations/missing-injectable/update_recorder.d.ts +0 -21
- package/schematics/migrations/missing-injectable/update_recorder.js +0 -20
- package/schematics/migrations/module-with-providers/collector.d.ts +0 -34
- package/schematics/migrations/module-with-providers/collector.js +0 -73
- package/schematics/migrations/module-with-providers/index.d.ts +0 -13
- package/schematics/migrations/module-with-providers/index.js +0 -93
- package/schematics/migrations/module-with-providers/transform.d.ts +0 -49
- package/schematics/migrations/module-with-providers/transform.js +0 -148
- package/schematics/migrations/module-with-providers/util.d.ts +0 -13
- package/schematics/migrations/module-with-providers/util.js +0 -40
- package/schematics/migrations/move-document/document_import_visitor.d.ts +0 -27
- package/schematics/migrations/move-document/document_import_visitor.js +0 -74
- package/schematics/migrations/move-document/index.js +0 -93
- package/schematics/migrations/move-document/move-import.d.ts +0 -12
- package/schematics/migrations/move-document/move-import.js +0 -61
- package/schematics/migrations/native-view-encapsulation/index.d.ts +0 -11
- package/schematics/migrations/native-view-encapsulation/index.js +0 -63
- package/schematics/migrations/native-view-encapsulation/util.d.ts +0 -11
- package/schematics/migrations/native-view-encapsulation/util.js +0 -48
- package/schematics/migrations/navigation-extras-omissions/index.d.ts +0 -11
- package/schematics/migrations/navigation-extras-omissions/index.js +0 -69
- package/schematics/migrations/navigation-extras-omissions/util.d.ts +0 -11
- package/schematics/migrations/navigation-extras-omissions/util.js +0 -126
- package/schematics/migrations/relative-link-resolution/collector.d.ts +0 -22
- package/schematics/migrations/relative-link-resolution/collector.js +0 -95
- package/schematics/migrations/relative-link-resolution/index.d.ts +0 -11
- package/schematics/migrations/relative-link-resolution/index.js +0 -84
- package/schematics/migrations/relative-link-resolution/transform.d.ts +0 -22
- package/schematics/migrations/relative-link-resolution/transform.js +0 -65
- package/schematics/migrations/relative-link-resolution/update_recorder.d.ts +0 -18
- package/schematics/migrations/relative-link-resolution/update_recorder.js +0 -20
- package/schematics/migrations/relative-link-resolution/util.d.ts +0 -12
- package/schematics/migrations/relative-link-resolution/util.js +0 -43
- package/schematics/migrations/renderer-to-renderer2/helpers.d.ts +0 -25
- package/schematics/migrations/renderer-to-renderer2/helpers.js +0 -238
- package/schematics/migrations/renderer-to-renderer2/index.d.ts +0 -14
- package/schematics/migrations/renderer-to-renderer2/index.js +0 -135
- package/schematics/migrations/renderer-to-renderer2/migration.d.ts +0 -18
- package/schematics/migrations/renderer-to-renderer2/migration.js +0 -225
- package/schematics/migrations/renderer-to-renderer2/util.d.ts +0 -18
- package/schematics/migrations/renderer-to-renderer2/util.js +0 -83
- package/schematics/migrations/router-preserve-query-params/index.d.ts +0 -14
- package/schematics/migrations/router-preserve-query-params/index.js +0 -72
- package/schematics/migrations/router-preserve-query-params/util.d.ts +0 -11
- package/schematics/migrations/router-preserve-query-params/util.js +0 -103
- package/schematics/migrations/static-queries/angular/directive_inputs.d.ts +0 -11
- package/schematics/migrations/static-queries/angular/directive_inputs.js +0 -84
- package/schematics/migrations/static-queries/angular/ng_query_visitor.d.ts +0 -45
- package/schematics/migrations/static-queries/angular/ng_query_visitor.js +0 -127
- package/schematics/migrations/static-queries/angular/query-definition.d.ts +0 -37
- package/schematics/migrations/static-queries/angular/query-definition.js +0 -33
- package/schematics/migrations/static-queries/angular/super_class.d.ts +0 -15
- package/schematics/migrations/static-queries/angular/super_class.js +0 -35
- package/schematics/migrations/static-queries/index.d.ts +0 -11
- package/schematics/migrations/static-queries/index.js +0 -230
- package/schematics/migrations/static-queries/strategies/template_strategy/template_strategy.d.ts +0 -41
- package/schematics/migrations/static-queries/strategies/template_strategy/template_strategy.js +0 -214
- package/schematics/migrations/static-queries/strategies/test_strategy/test_strategy.d.ts +0 -24
- package/schematics/migrations/static-queries/strategies/test_strategy/test_strategy.js +0 -38
- package/schematics/migrations/static-queries/strategies/timing-strategy.d.ts +0 -19
- package/schematics/migrations/static-queries/strategies/timing-strategy.js +0 -20
- package/schematics/migrations/static-queries/strategies/usage_strategy/declaration_usage_visitor.d.ts +0 -82
- package/schematics/migrations/static-queries/strategies/usage_strategy/declaration_usage_visitor.js +0 -369
- package/schematics/migrations/static-queries/strategies/usage_strategy/super_class_context.d.ts +0 -18
- package/schematics/migrations/static-queries/strategies/usage_strategy/super_class_context.js +0 -52
- package/schematics/migrations/static-queries/strategies/usage_strategy/template_usage_visitor.d.ts +0 -27
- package/schematics/migrations/static-queries/strategies/usage_strategy/template_usage_visitor.js +0 -93
- package/schematics/migrations/static-queries/strategies/usage_strategy/usage_strategy.d.ts +0 -34
- package/schematics/migrations/static-queries/strategies/usage_strategy/usage_strategy.js +0 -169
- package/schematics/migrations/static-queries/transform.d.ts +0 -21
- package/schematics/migrations/static-queries/transform.js +0 -102
- package/schematics/migrations/template-var-assignment/analyze_template.d.ts +0 -20
- package/schematics/migrations/template-var-assignment/analyze_template.js +0 -38
- package/schematics/migrations/template-var-assignment/angular/html_variable_assignment_visitor.d.ts +0 -28
- package/schematics/migrations/template-var-assignment/angular/html_variable_assignment_visitor.js +0 -80
- package/schematics/migrations/template-var-assignment/index.d.ts +0 -11
- package/schematics/migrations/template-var-assignment/index.js +0 -101
- package/schematics/migrations/undecorated-classes-with-decorated-fields/index.d.ts +0 -14
- package/schematics/migrations/undecorated-classes-with-decorated-fields/index.js +0 -114
- package/schematics/migrations/undecorated-classes-with-decorated-fields/transform.d.ts +0 -63
- package/schematics/migrations/undecorated-classes-with-decorated-fields/transform.js +0 -300
- package/schematics/migrations/undecorated-classes-with-decorated-fields/update_recorder.d.ts +0 -19
- package/schematics/migrations/undecorated-classes-with-decorated-fields/update_recorder.js +0 -20
- package/schematics/migrations/undecorated-classes-with-di/create_ngc_program.d.ts +0 -18
- package/schematics/migrations/undecorated-classes-with-di/create_ngc_program.js +0 -57
- package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/convert_directive_metadata.d.ts +0 -18
- package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/convert_directive_metadata.js +0 -96
- package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/decorator_rewriter.d.ts +0 -39
- package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/decorator_rewriter.js +0 -116
- package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/import_rewrite_visitor.d.ts +0 -37
- package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/import_rewrite_visitor.js +0 -126
- package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/path_format.d.ts +0 -10
- package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/path_format.js +0 -31
- package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/source_file_exports.d.ts +0 -16
- package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/source_file_exports.js +0 -65
- package/schematics/migrations/undecorated-classes-with-di/index.d.ts +0 -11
- package/schematics/migrations/undecorated-classes-with-di/index.js +0 -195
- package/schematics/migrations/undecorated-classes-with-di/ng_declaration_collector.d.ts +0 -38
- package/schematics/migrations/undecorated-classes-with-di/ng_declaration_collector.js +0 -142
- package/schematics/migrations/undecorated-classes-with-di/transform.d.ts +0 -98
- package/schematics/migrations/undecorated-classes-with-di/transform.js +0 -371
- package/schematics/migrations/undecorated-classes-with-di/update_recorder.d.ts +0 -20
- package/schematics/migrations/undecorated-classes-with-di/update_recorder.js +0 -20
- package/schematics/migrations/wait-for-async/index.d.ts +0 -11
- package/schematics/migrations/wait-for-async/index.js +0 -98
- package/schematics/migrations/wait-for-async/util.d.ts +0 -11
- package/schematics/migrations/wait-for-async/util.js +0 -37
- package/schematics/migrations/xhr-factory/index.d.ts +0 -10
- package/schematics/migrations/xhr-factory/index.js +0 -104
- package/src/r3_symbols.d.ts +0 -1025
- package/testing/testing.metadata.json +0 -1
- package/testing.d.ts +0 -7
- package/testing.metadata.json +0 -1
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
import { getDocument } from './document';
|
|
9
|
-
// TODO: cleanup once the code is merged in angular/angular
|
|
10
|
-
export var RendererStyleFlags3;
|
|
11
|
-
(function (RendererStyleFlags3) {
|
|
12
|
-
RendererStyleFlags3[RendererStyleFlags3["Important"] = 1] = "Important";
|
|
13
|
-
RendererStyleFlags3[RendererStyleFlags3["DashCase"] = 2] = "DashCase";
|
|
14
|
-
})(RendererStyleFlags3 || (RendererStyleFlags3 = {}));
|
|
15
|
-
/** Returns whether the `renderer` is a `ProceduralRenderer3` */
|
|
16
|
-
export function isProceduralRenderer(renderer) {
|
|
17
|
-
return !!(renderer.listen);
|
|
18
|
-
}
|
|
19
|
-
const ɵ0 = (hostElement, rendererType) => {
|
|
20
|
-
return getDocument();
|
|
21
|
-
};
|
|
22
|
-
export const domRendererFactory3 = {
|
|
23
|
-
createRenderer: ɵ0
|
|
24
|
-
};
|
|
25
|
-
// Note: This hack is necessary so we don't erroneously get a circular dependency
|
|
26
|
-
// failure based on types.
|
|
27
|
-
export const unusedValueExportToPlacateAjd = 1;
|
|
28
|
-
export { ɵ0 };
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9yZW5kZXIzL2ludGVyZmFjZXMvcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBYUgsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUd2QywyREFBMkQ7QUFDM0QsTUFBTSxDQUFOLElBQVksbUJBR1g7QUFIRCxXQUFZLG1CQUFtQjtJQUM3Qix1RUFBa0IsQ0FBQTtJQUNsQixxRUFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSFcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUc5QjtBQXdCRCxnRUFBZ0U7QUFDaEUsTUFBTSxVQUFVLG9CQUFvQixDQUFDLFFBQ3VCO0lBQzFELE9BQU8sQ0FBQyxDQUFDLENBQUUsUUFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN0QyxDQUFDO1dBc0RpQixDQUFDLFdBQTBCLEVBQUUsWUFBZ0MsRUFBYSxFQUFFO0lBQzFGLE9BQU8sV0FBVyxFQUFFLENBQUM7QUFDdkIsQ0FBQztBQUhILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFxQjtJQUNuRCxjQUFjLElBRWI7Q0FDRixDQUFDO0FBR0YsaUZBQWlGO0FBQ2pGLDBCQUEwQjtBQUMxQixNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBUaGUgZ29hbCBoZXJlIGlzIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBicm93c2VyIERPTSBBUEkgaXMgdGhlIFJlbmRlcmVyLlxuICogV2UgZG8gdGhpcyBieSBkZWZpbmluZyBhIHN1YnNldCBvZiBET00gQVBJIHRvIGJlIHRoZSByZW5kZXJlciBhbmQgdGhlblxuICogdXNlIHRoYXQgYXQgcnVudGltZSBmb3IgcmVuZGVyaW5nLlxuICpcbiAqIEF0IHJ1bnRpbWUgd2UgY2FuIHRoZW4gdXNlIHRoZSBET00gYXBpIGRpcmVjdGx5LCBpbiBzZXJ2ZXIgb3Igd2ViLXdvcmtlclxuICogaXQgd2lsbCBiZSBlYXN5IHRvIGltcGxlbWVudCBzdWNoIEFQSS5cbiAqL1xuXG5pbXBvcnQge1JlbmRlcmVyU3R5bGVGbGFnczIsIFJlbmRlcmVyVHlwZTJ9IGZyb20gJy4uLy4uL3JlbmRlci9hcGlfZmxhZ3MnO1xuaW1wb3J0IHtUcnVzdGVkSFRNTCwgVHJ1c3RlZFNjcmlwdCwgVHJ1c3RlZFNjcmlwdFVSTH0gZnJvbSAnLi4vLi4vdXRpbC9zZWN1cml0eS90cnVzdGVkX3R5cGVfZGVmcyc7XG5pbXBvcnQge2dldERvY3VtZW50fSBmcm9tICcuL2RvY3VtZW50JztcbmltcG9ydCB7UkNvbW1lbnQsIFJFbGVtZW50LCBSTm9kZSwgUlRleHR9IGZyb20gJy4vcmVuZGVyZXJfZG9tJztcblxuLy8gVE9ETzogY2xlYW51cCBvbmNlIHRoZSBjb2RlIGlzIG1lcmdlZCBpbiBhbmd1bGFyL2FuZ3VsYXJcbmV4cG9ydCBlbnVtIFJlbmRlcmVyU3R5bGVGbGFnczMge1xuICBJbXBvcnRhbnQgPSAxIDw8IDAsXG4gIERhc2hDYXNlID0gMSA8PCAxXG59XG5cbmV4cG9ydCB0eXBlIFJlbmRlcmVyMyA9IE9iamVjdE9yaWVudGVkUmVuZGVyZXIzfFByb2NlZHVyYWxSZW5kZXJlcjM7XG5cbmV4cG9ydCB0eXBlIEdsb2JhbFRhcmdldE5hbWUgPSAnZG9jdW1lbnQnfCd3aW5kb3cnfCdib2R5JztcblxuZXhwb3J0IHR5cGUgR2xvYmFsVGFyZ2V0UmVzb2x2ZXIgPSAoZWxlbWVudDogYW55KSA9PiBFdmVudFRhcmdldDtcblxuLyoqXG4gKiBPYmplY3QgT3JpZW50ZWQgc3R5bGUgb2YgQVBJIG5lZWRlZCB0byBjcmVhdGUgZWxlbWVudHMgYW5kIHRleHQgbm9kZXMuXG4gKlxuICogVGhpcyBpcyB0aGUgbmF0aXZlIGJyb3dzZXIgQVBJIHN0eWxlLCBlLmcuIG9wZXJhdGlvbnMgYXJlIG1ldGhvZHMgb24gaW5kaXZpZHVhbCBvYmplY3RzXG4gKiBsaWtlIEhUTUxFbGVtZW50LiBXaXRoIHRoaXMgc3R5bGUsIG5vIGFkZGl0aW9uYWwgY29kZSBpcyBuZWVkZWQgYXMgYSBmYWNhZGVcbiAqIChyZWR1Y2luZyBwYXlsb2FkIHNpemUpLlxuICogKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2JqZWN0T3JpZW50ZWRSZW5kZXJlcjMge1xuICBjcmVhdGVDb21tZW50KGRhdGE6IHN0cmluZyk6IFJDb21tZW50O1xuICBjcmVhdGVFbGVtZW50KHRhZ05hbWU6IHN0cmluZyk6IFJFbGVtZW50O1xuICBjcmVhdGVFbGVtZW50TlMobmFtZXNwYWNlOiBzdHJpbmcsIHRhZ05hbWU6IHN0cmluZyk6IFJFbGVtZW50O1xuICBjcmVhdGVUZXh0Tm9kZShkYXRhOiBzdHJpbmcpOiBSVGV4dDtcblxuICBxdWVyeVNlbGVjdG9yKHNlbGVjdG9yczogc3RyaW5nKTogUkVsZW1lbnR8bnVsbDtcbn1cblxuLyoqIFJldHVybnMgd2hldGhlciB0aGUgYHJlbmRlcmVyYCBpcyBhIGBQcm9jZWR1cmFsUmVuZGVyZXIzYCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUHJvY2VkdXJhbFJlbmRlcmVyKHJlbmRlcmVyOiBQcm9jZWR1cmFsUmVuZGVyZXIzfFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdE9yaWVudGVkUmVuZGVyZXIzKTogcmVuZGVyZXIgaXMgUHJvY2VkdXJhbFJlbmRlcmVyMyB7XG4gIHJldHVybiAhISgocmVuZGVyZXIgYXMgYW55KS5saXN0ZW4pO1xufVxuXG4vKipcbiAqIFByb2NlZHVyYWwgc3R5bGUgb2YgQVBJIG5lZWRlZCB0byBjcmVhdGUgZWxlbWVudHMgYW5kIHRleHQgbm9kZXMuXG4gKlxuICogSW4gbm9uLW5hdGl2ZSBicm93c2VyIGVudmlyb25tZW50cyAoZS5nLiBwbGF0Zm9ybXMgc3VjaCBhcyB3ZWItd29ya2VycyksIHRoaXMgaXMgdGhlXG4gKiBmYWNhZGUgdGhhdCBlbmFibGVzIGVsZW1lbnQgbWFuaXB1bGF0aW9uLiBUaGlzIGFsc28gZmFjaWxpdGF0ZXMgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAqIHdpdGggUmVuZGVyZXIyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2NlZHVyYWxSZW5kZXJlcjMge1xuICBkZXN0cm95KCk6IHZvaWQ7XG4gIGNyZWF0ZUNvbW1lbnQodmFsdWU6IHN0cmluZyk6IFJDb21tZW50O1xuICBjcmVhdGVFbGVtZW50KG5hbWU6IHN0cmluZywgbmFtZXNwYWNlPzogc3RyaW5nfG51bGwpOiBSRWxlbWVudDtcbiAgY3JlYXRlVGV4dCh2YWx1ZTogc3RyaW5nKTogUlRleHQ7XG4gIC8qKlxuICAgKiBUaGlzIHByb3BlcnR5IGlzIGFsbG93ZWQgdG8gYmUgbnVsbCAvIHVuZGVmaW5lZCxcbiAgICogaW4gd2hpY2ggY2FzZSB0aGUgdmlldyBlbmdpbmUgd29uJ3QgY2FsbCBpdC5cbiAgICogVGhpcyBpcyB1c2VkIGFzIGEgcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uIGZvciBwcm9kdWN0aW9uIG1vZGUuXG4gICAqL1xuICBkZXN0cm95Tm9kZT86ICgobm9kZTogUk5vZGUpID0+IHZvaWQpfG51bGw7XG4gIGFwcGVuZENoaWxkKHBhcmVudDogUkVsZW1lbnQsIG5ld0NoaWxkOiBSTm9kZSk6IHZvaWQ7XG4gIGluc2VydEJlZm9yZShwYXJlbnQ6IFJOb2RlLCBuZXdDaGlsZDogUk5vZGUsIHJlZkNoaWxkOiBSTm9kZXxudWxsLCBpc01vdmU/OiBib29sZWFuKTogdm9pZDtcbiAgcmVtb3ZlQ2hpbGQocGFyZW50OiBSRWxlbWVudCwgb2xkQ2hpbGQ6IFJOb2RlLCBpc0hvc3RFbGVtZW50PzogYm9vbGVhbik6IHZvaWQ7XG4gIHNlbGVjdFJvb3RFbGVtZW50KHNlbGVjdG9yT3JOb2RlOiBzdHJpbmd8YW55LCBwcmVzZXJ2ZUNvbnRlbnQ/OiBib29sZWFuKTogUkVsZW1lbnQ7XG5cbiAgcGFyZW50Tm9kZShub2RlOiBSTm9kZSk6IFJFbGVtZW50fG51bGw7XG4gIG5leHRTaWJsaW5nKG5vZGU6IFJOb2RlKTogUk5vZGV8bnVsbDtcblxuICBzZXRBdHRyaWJ1dGUoXG4gICAgICBlbDogUkVsZW1lbnQsIG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZ3xUcnVzdGVkSFRNTHxUcnVzdGVkU2NyaXB0fFRydXN0ZWRTY3JpcHRVUkwsXG4gICAgICBuYW1lc3BhY2U/OiBzdHJpbmd8bnVsbCk6IHZvaWQ7XG4gIHJlbW92ZUF0dHJpYnV0ZShlbDogUkVsZW1lbnQsIG5hbWU6IHN0cmluZywgbmFtZXNwYWNlPzogc3RyaW5nfG51bGwpOiB2b2lkO1xuICBhZGRDbGFzcyhlbDogUkVsZW1lbnQsIG5hbWU6IHN0cmluZyk6IHZvaWQ7XG4gIHJlbW92ZUNsYXNzKGVsOiBSRWxlbWVudCwgbmFtZTogc3RyaW5nKTogdm9pZDtcbiAgc2V0U3R5bGUoXG4gICAgICBlbDogUkVsZW1lbnQsIHN0eWxlOiBzdHJpbmcsIHZhbHVlOiBhbnksXG4gICAgICBmbGFncz86IFJlbmRlcmVyU3R5bGVGbGFnczJ8UmVuZGVyZXJTdHlsZUZsYWdzMyk6IHZvaWQ7XG4gIHJlbW92ZVN0eWxlKGVsOiBSRWxlbWVudCwgc3R5bGU6IHN0cmluZywgZmxhZ3M/OiBSZW5kZXJlclN0eWxlRmxhZ3MyfFJlbmRlcmVyU3R5bGVGbGFnczMpOiB2b2lkO1xuICBzZXRQcm9wZXJ0eShlbDogUkVsZW1lbnQsIG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQ7XG4gIHNldFZhbHVlKG5vZGU6IFJUZXh0fFJDb21tZW50LCB2YWx1ZTogc3RyaW5nKTogdm9pZDtcblxuICAvLyBUT0RPKG1pc2tvKTogRGVwcmVjYXRlIGluIGZhdm9yIG9mIGFkZEV2ZW50TGlzdGVuZXIvcmVtb3ZlRXZlbnRMaXN0ZW5lclxuICBsaXN0ZW4oXG4gICAgICB0YXJnZXQ6IEdsb2JhbFRhcmdldE5hbWV8Uk5vZGUsIGV2ZW50TmFtZTogc3RyaW5nLFxuICAgICAgY2FsbGJhY2s6IChldmVudDogYW55KSA9PiBib29sZWFuIHwgdm9pZCk6ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVuZGVyZXJGYWN0b3J5MyB7XG4gIGNyZWF0ZVJlbmRlcmVyKGhvc3RFbGVtZW50OiBSRWxlbWVudHxudWxsLCByZW5kZXJlclR5cGU6IFJlbmRlcmVyVHlwZTJ8bnVsbCk6IFJlbmRlcmVyMztcbiAgYmVnaW4/KCk6IHZvaWQ7XG4gIGVuZD8oKTogdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IGRvbVJlbmRlcmVyRmFjdG9yeTM6IFJlbmRlcmVyRmFjdG9yeTMgPSB7XG4gIGNyZWF0ZVJlbmRlcmVyOiAoaG9zdEVsZW1lbnQ6IFJFbGVtZW50fG51bGwsIHJlbmRlcmVyVHlwZTogUmVuZGVyZXJUeXBlMnxudWxsKTogUmVuZGVyZXIzID0+IHtcbiAgICByZXR1cm4gZ2V0RG9jdW1lbnQoKTtcbiAgfVxufTtcblxuXG4vLyBOb3RlOiBUaGlzIGhhY2sgaXMgbmVjZXNzYXJ5IHNvIHdlIGRvbid0IGVycm9uZW91c2x5IGdldCBhIGNpcmN1bGFyIGRlcGVuZGVuY3lcbi8vIGZhaWx1cmUgYmFzZWQgb24gdHlwZXMuXG5leHBvcnQgY29uc3QgdW51c2VkVmFsdWVFeHBvcnRUb1BsYWNhdGVBamQgPSAxO1xuIl19
|
|
@@ -1,312 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
import { getCompilerFacade } from '../../compiler/compiler_facade';
|
|
9
|
-
import { resolveForwardRef } from '../../di/forward_ref';
|
|
10
|
-
import { getReflect, reflectDependencies } from '../../di/jit/util';
|
|
11
|
-
import { componentNeedsResolution, maybeQueueResolutionOfComponentResources } from '../../metadata/resource_loading';
|
|
12
|
-
import { ViewEncapsulation } from '../../metadata/view';
|
|
13
|
-
import { EMPTY_ARRAY, EMPTY_OBJ } from '../../util/empty';
|
|
14
|
-
import { initNgDevMode } from '../../util/ng_dev_mode';
|
|
15
|
-
import { getComponentDef, getDirectiveDef } from '../definition';
|
|
16
|
-
import { NG_COMP_DEF, NG_DIR_DEF, NG_FACTORY_DEF } from '../fields';
|
|
17
|
-
import { stringifyForError } from '../util/stringify_utils';
|
|
18
|
-
import { angularCoreEnv } from './environment';
|
|
19
|
-
import { getJitOptions } from './jit_options';
|
|
20
|
-
import { flushModuleScopingQueueAsMuchAsPossible, patchComponentDefWithScope, transitiveScopesFor } from './module';
|
|
21
|
-
/**
|
|
22
|
-
* Keep track of the compilation depth to avoid reentrancy issues during JIT compilation. This
|
|
23
|
-
* matters in the following scenario:
|
|
24
|
-
*
|
|
25
|
-
* Consider a component 'A' that extends component 'B', both declared in module 'M'. During
|
|
26
|
-
* the compilation of 'A' the definition of 'B' is requested to capture the inheritance chain,
|
|
27
|
-
* potentially triggering compilation of 'B'. If this nested compilation were to trigger
|
|
28
|
-
* `flushModuleScopingQueueAsMuchAsPossible` it may happen that module 'M' is still pending in the
|
|
29
|
-
* queue, resulting in 'A' and 'B' to be patched with the NgModule scope. As the compilation of
|
|
30
|
-
* 'A' is still in progress, this would introduce a circular dependency on its compilation. To avoid
|
|
31
|
-
* this issue, the module scope queue is only flushed for compilations at the depth 0, to ensure
|
|
32
|
-
* all compilations have finished.
|
|
33
|
-
*/
|
|
34
|
-
let compilationDepth = 0;
|
|
35
|
-
/**
|
|
36
|
-
* Compile an Angular component according to its decorator metadata, and patch the resulting
|
|
37
|
-
* component def (ɵcmp) onto the component type.
|
|
38
|
-
*
|
|
39
|
-
* Compilation may be asynchronous (due to the need to resolve URLs for the component template or
|
|
40
|
-
* other resources, for example). In the event that compilation is not immediate, `compileComponent`
|
|
41
|
-
* will enqueue resource resolution into a global queue and will fail to return the `ɵcmp`
|
|
42
|
-
* until the global queue has been resolved with a call to `resolveComponentResources`.
|
|
43
|
-
*/
|
|
44
|
-
export function compileComponent(type, metadata) {
|
|
45
|
-
// Initialize ngDevMode. This must be the first statement in compileComponent.
|
|
46
|
-
// See the `initNgDevMode` docstring for more information.
|
|
47
|
-
(typeof ngDevMode === 'undefined' || ngDevMode) && initNgDevMode();
|
|
48
|
-
let ngComponentDef = null;
|
|
49
|
-
// Metadata may have resources which need to be resolved.
|
|
50
|
-
maybeQueueResolutionOfComponentResources(type, metadata);
|
|
51
|
-
// Note that we're using the same function as `Directive`, because that's only subset of metadata
|
|
52
|
-
// that we need to create the ngFactoryDef. We're avoiding using the component metadata
|
|
53
|
-
// because we'd have to resolve the asynchronous templates.
|
|
54
|
-
addDirectiveFactoryDef(type, metadata);
|
|
55
|
-
Object.defineProperty(type, NG_COMP_DEF, {
|
|
56
|
-
get: () => {
|
|
57
|
-
if (ngComponentDef === null) {
|
|
58
|
-
const compiler = getCompilerFacade({ usage: 0 /* Decorator */, kind: 'component', type: type });
|
|
59
|
-
if (componentNeedsResolution(metadata)) {
|
|
60
|
-
const error = [`Component '${type.name}' is not resolved:`];
|
|
61
|
-
if (metadata.templateUrl) {
|
|
62
|
-
error.push(` - templateUrl: ${metadata.templateUrl}`);
|
|
63
|
-
}
|
|
64
|
-
if (metadata.styleUrls && metadata.styleUrls.length) {
|
|
65
|
-
error.push(` - styleUrls: ${JSON.stringify(metadata.styleUrls)}`);
|
|
66
|
-
}
|
|
67
|
-
error.push(`Did you run and wait for 'resolveComponentResources()'?`);
|
|
68
|
-
throw new Error(error.join('\n'));
|
|
69
|
-
}
|
|
70
|
-
// This const was called `jitOptions` previously but had to be renamed to `options` because
|
|
71
|
-
// of a bug with Terser that caused optimized JIT builds to throw a `ReferenceError`.
|
|
72
|
-
// This bug was investigated in https://github.com/angular/angular-cli/issues/17264.
|
|
73
|
-
// We should not rename it back until https://github.com/terser/terser/issues/615 is fixed.
|
|
74
|
-
const options = getJitOptions();
|
|
75
|
-
let preserveWhitespaces = metadata.preserveWhitespaces;
|
|
76
|
-
if (preserveWhitespaces === undefined) {
|
|
77
|
-
if (options !== null && options.preserveWhitespaces !== undefined) {
|
|
78
|
-
preserveWhitespaces = options.preserveWhitespaces;
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
preserveWhitespaces = false;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
let encapsulation = metadata.encapsulation;
|
|
85
|
-
if (encapsulation === undefined) {
|
|
86
|
-
if (options !== null && options.defaultEncapsulation !== undefined) {
|
|
87
|
-
encapsulation = options.defaultEncapsulation;
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
encapsulation = ViewEncapsulation.Emulated;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
const templateUrl = metadata.templateUrl || `ng:///${type.name}/template.html`;
|
|
94
|
-
const meta = Object.assign(Object.assign({}, directiveMetadata(type, metadata)), { typeSourceSpan: compiler.createParseSourceSpan('Component', type.name, templateUrl), template: metadata.template || '', preserveWhitespaces, styles: metadata.styles || EMPTY_ARRAY, animations: metadata.animations, directives: [], changeDetection: metadata.changeDetection, pipes: new Map(), encapsulation, interpolation: metadata.interpolation, viewProviders: metadata.viewProviders || null });
|
|
95
|
-
compilationDepth++;
|
|
96
|
-
try {
|
|
97
|
-
if (meta.usesInheritance) {
|
|
98
|
-
addDirectiveDefToUndecoratedParents(type);
|
|
99
|
-
}
|
|
100
|
-
ngComponentDef = compiler.compileComponent(angularCoreEnv, templateUrl, meta);
|
|
101
|
-
}
|
|
102
|
-
finally {
|
|
103
|
-
// Ensure that the compilation depth is decremented even when the compilation failed.
|
|
104
|
-
compilationDepth--;
|
|
105
|
-
}
|
|
106
|
-
if (compilationDepth === 0) {
|
|
107
|
-
// When NgModule decorator executed, we enqueued the module definition such that
|
|
108
|
-
// it would only dequeue and add itself as module scope to all of its declarations,
|
|
109
|
-
// but only if if all of its declarations had resolved. This call runs the check
|
|
110
|
-
// to see if any modules that are in the queue can be dequeued and add scope to
|
|
111
|
-
// their declarations.
|
|
112
|
-
flushModuleScopingQueueAsMuchAsPossible();
|
|
113
|
-
}
|
|
114
|
-
// If component compilation is async, then the @NgModule annotation which declares the
|
|
115
|
-
// component may execute and set an ngSelectorScope property on the component type. This
|
|
116
|
-
// allows the component to patch itself with directiveDefs from the module after it
|
|
117
|
-
// finishes compiling.
|
|
118
|
-
if (hasSelectorScope(type)) {
|
|
119
|
-
const scopes = transitiveScopesFor(type.ngSelectorScope);
|
|
120
|
-
patchComponentDefWithScope(ngComponentDef, scopes);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
return ngComponentDef;
|
|
124
|
-
},
|
|
125
|
-
// Make the property configurable in dev mode to allow overriding in tests
|
|
126
|
-
configurable: !!ngDevMode,
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
function hasSelectorScope(component) {
|
|
130
|
-
return component.ngSelectorScope !== undefined;
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Compile an Angular directive according to its decorator metadata, and patch the resulting
|
|
134
|
-
* directive def onto the component type.
|
|
135
|
-
*
|
|
136
|
-
* In the event that compilation is not immediate, `compileDirective` will return a `Promise` which
|
|
137
|
-
* will resolve when compilation completes and the directive becomes usable.
|
|
138
|
-
*/
|
|
139
|
-
export function compileDirective(type, directive) {
|
|
140
|
-
let ngDirectiveDef = null;
|
|
141
|
-
addDirectiveFactoryDef(type, directive || {});
|
|
142
|
-
Object.defineProperty(type, NG_DIR_DEF, {
|
|
143
|
-
get: () => {
|
|
144
|
-
if (ngDirectiveDef === null) {
|
|
145
|
-
// `directive` can be null in the case of abstract directives as a base class
|
|
146
|
-
// that use `@Directive()` with no selector. In that case, pass empty object to the
|
|
147
|
-
// `directiveMetadata` function instead of null.
|
|
148
|
-
const meta = getDirectiveMetadata(type, directive || {});
|
|
149
|
-
const compiler = getCompilerFacade({ usage: 0 /* Decorator */, kind: 'directive', type });
|
|
150
|
-
ngDirectiveDef =
|
|
151
|
-
compiler.compileDirective(angularCoreEnv, meta.sourceMapUrl, meta.metadata);
|
|
152
|
-
}
|
|
153
|
-
return ngDirectiveDef;
|
|
154
|
-
},
|
|
155
|
-
// Make the property configurable in dev mode to allow overriding in tests
|
|
156
|
-
configurable: !!ngDevMode,
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
function getDirectiveMetadata(type, metadata) {
|
|
160
|
-
const name = type && type.name;
|
|
161
|
-
const sourceMapUrl = `ng:///${name}/ɵdir.js`;
|
|
162
|
-
const compiler = getCompilerFacade({ usage: 0 /* Decorator */, kind: 'directive', type });
|
|
163
|
-
const facade = directiveMetadata(type, metadata);
|
|
164
|
-
facade.typeSourceSpan = compiler.createParseSourceSpan('Directive', name, sourceMapUrl);
|
|
165
|
-
if (facade.usesInheritance) {
|
|
166
|
-
addDirectiveDefToUndecoratedParents(type);
|
|
167
|
-
}
|
|
168
|
-
return { metadata: facade, sourceMapUrl };
|
|
169
|
-
}
|
|
170
|
-
function addDirectiveFactoryDef(type, metadata) {
|
|
171
|
-
let ngFactoryDef = null;
|
|
172
|
-
Object.defineProperty(type, NG_FACTORY_DEF, {
|
|
173
|
-
get: () => {
|
|
174
|
-
if (ngFactoryDef === null) {
|
|
175
|
-
const meta = getDirectiveMetadata(type, metadata);
|
|
176
|
-
const compiler = getCompilerFacade({ usage: 0 /* Decorator */, kind: 'directive', type });
|
|
177
|
-
ngFactoryDef = compiler.compileFactory(angularCoreEnv, `ng:///${type.name}/ɵfac.js`, {
|
|
178
|
-
name: meta.metadata.name,
|
|
179
|
-
type: meta.metadata.type,
|
|
180
|
-
typeArgumentCount: 0,
|
|
181
|
-
deps: reflectDependencies(type),
|
|
182
|
-
target: compiler.FactoryTarget.Directive
|
|
183
|
-
});
|
|
184
|
-
}
|
|
185
|
-
return ngFactoryDef;
|
|
186
|
-
},
|
|
187
|
-
// Make the property configurable in dev mode to allow overriding in tests
|
|
188
|
-
configurable: !!ngDevMode,
|
|
189
|
-
});
|
|
190
|
-
}
|
|
191
|
-
export function extendsDirectlyFromObject(type) {
|
|
192
|
-
return Object.getPrototypeOf(type.prototype) === Object.prototype;
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Extract the `R3DirectiveMetadata` for a particular directive (either a `Directive` or a
|
|
196
|
-
* `Component`).
|
|
197
|
-
*/
|
|
198
|
-
export function directiveMetadata(type, metadata) {
|
|
199
|
-
// Reflect inputs and outputs.
|
|
200
|
-
const reflect = getReflect();
|
|
201
|
-
const propMetadata = reflect.ownPropMetadata(type);
|
|
202
|
-
return {
|
|
203
|
-
name: type.name,
|
|
204
|
-
type: type,
|
|
205
|
-
selector: metadata.selector !== undefined ? metadata.selector : null,
|
|
206
|
-
host: metadata.host || EMPTY_OBJ,
|
|
207
|
-
propMetadata: propMetadata,
|
|
208
|
-
inputs: metadata.inputs || EMPTY_ARRAY,
|
|
209
|
-
outputs: metadata.outputs || EMPTY_ARRAY,
|
|
210
|
-
queries: extractQueriesMetadata(type, propMetadata, isContentQuery),
|
|
211
|
-
lifecycle: { usesOnChanges: reflect.hasLifecycleHook(type, 'ngOnChanges') },
|
|
212
|
-
typeSourceSpan: null,
|
|
213
|
-
usesInheritance: !extendsDirectlyFromObject(type),
|
|
214
|
-
exportAs: extractExportAs(metadata.exportAs),
|
|
215
|
-
providers: metadata.providers || null,
|
|
216
|
-
viewQueries: extractQueriesMetadata(type, propMetadata, isViewQuery)
|
|
217
|
-
};
|
|
218
|
-
}
|
|
219
|
-
/**
|
|
220
|
-
* Adds a directive definition to all parent classes of a type that don't have an Angular decorator.
|
|
221
|
-
*/
|
|
222
|
-
function addDirectiveDefToUndecoratedParents(type) {
|
|
223
|
-
const objPrototype = Object.prototype;
|
|
224
|
-
let parent = Object.getPrototypeOf(type.prototype).constructor;
|
|
225
|
-
// Go up the prototype until we hit `Object`.
|
|
226
|
-
while (parent && parent !== objPrototype) {
|
|
227
|
-
// Since inheritance works if the class was annotated already, we only need to add
|
|
228
|
-
// the def if there are no annotations and the def hasn't been created already.
|
|
229
|
-
if (!getDirectiveDef(parent) && !getComponentDef(parent) &&
|
|
230
|
-
shouldAddAbstractDirective(parent)) {
|
|
231
|
-
compileDirective(parent, null);
|
|
232
|
-
}
|
|
233
|
-
parent = Object.getPrototypeOf(parent);
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
function convertToR3QueryPredicate(selector) {
|
|
237
|
-
return typeof selector === 'string' ? splitByComma(selector) : resolveForwardRef(selector);
|
|
238
|
-
}
|
|
239
|
-
export function convertToR3QueryMetadata(propertyName, ann) {
|
|
240
|
-
return {
|
|
241
|
-
propertyName: propertyName,
|
|
242
|
-
predicate: convertToR3QueryPredicate(ann.selector),
|
|
243
|
-
descendants: ann.descendants,
|
|
244
|
-
first: ann.first,
|
|
245
|
-
read: ann.read ? ann.read : null,
|
|
246
|
-
static: !!ann.static,
|
|
247
|
-
emitDistinctChangesOnly: !!ann.emitDistinctChangesOnly,
|
|
248
|
-
};
|
|
249
|
-
}
|
|
250
|
-
function extractQueriesMetadata(type, propMetadata, isQueryAnn) {
|
|
251
|
-
const queriesMeta = [];
|
|
252
|
-
for (const field in propMetadata) {
|
|
253
|
-
if (propMetadata.hasOwnProperty(field)) {
|
|
254
|
-
const annotations = propMetadata[field];
|
|
255
|
-
annotations.forEach(ann => {
|
|
256
|
-
if (isQueryAnn(ann)) {
|
|
257
|
-
if (!ann.selector) {
|
|
258
|
-
throw new Error(`Can't construct a query for the property "${field}" of ` +
|
|
259
|
-
`"${stringifyForError(type)}" since the query selector wasn't defined.`);
|
|
260
|
-
}
|
|
261
|
-
if (annotations.some(isInputAnnotation)) {
|
|
262
|
-
throw new Error(`Cannot combine @Input decorators with query decorators`);
|
|
263
|
-
}
|
|
264
|
-
queriesMeta.push(convertToR3QueryMetadata(field, ann));
|
|
265
|
-
}
|
|
266
|
-
});
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
return queriesMeta;
|
|
270
|
-
}
|
|
271
|
-
function extractExportAs(exportAs) {
|
|
272
|
-
return exportAs === undefined ? null : splitByComma(exportAs);
|
|
273
|
-
}
|
|
274
|
-
function isContentQuery(value) {
|
|
275
|
-
const name = value.ngMetadataName;
|
|
276
|
-
return name === 'ContentChild' || name === 'ContentChildren';
|
|
277
|
-
}
|
|
278
|
-
function isViewQuery(value) {
|
|
279
|
-
const name = value.ngMetadataName;
|
|
280
|
-
return name === 'ViewChild' || name === 'ViewChildren';
|
|
281
|
-
}
|
|
282
|
-
function isInputAnnotation(value) {
|
|
283
|
-
return value.ngMetadataName === 'Input';
|
|
284
|
-
}
|
|
285
|
-
function splitByComma(value) {
|
|
286
|
-
return value.split(',').map(piece => piece.trim());
|
|
287
|
-
}
|
|
288
|
-
const LIFECYCLE_HOOKS = [
|
|
289
|
-
'ngOnChanges', 'ngOnInit', 'ngOnDestroy', 'ngDoCheck', 'ngAfterViewInit', 'ngAfterViewChecked',
|
|
290
|
-
'ngAfterContentInit', 'ngAfterContentChecked'
|
|
291
|
-
];
|
|
292
|
-
function shouldAddAbstractDirective(type) {
|
|
293
|
-
const reflect = getReflect();
|
|
294
|
-
if (LIFECYCLE_HOOKS.some(hookName => reflect.hasLifecycleHook(type, hookName))) {
|
|
295
|
-
return true;
|
|
296
|
-
}
|
|
297
|
-
const propMetadata = reflect.propMetadata(type);
|
|
298
|
-
for (const field in propMetadata) {
|
|
299
|
-
const annotations = propMetadata[field];
|
|
300
|
-
for (let i = 0; i < annotations.length; i++) {
|
|
301
|
-
const current = annotations[i];
|
|
302
|
-
const metadataName = current.ngMetadataName;
|
|
303
|
-
if (isInputAnnotation(current) || isContentQuery(current) || isViewQuery(current) ||
|
|
304
|
-
metadataName === 'Output' || metadataName === 'HostBinding' ||
|
|
305
|
-
metadataName === 'HostListener') {
|
|
306
|
-
return true;
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
return false;
|
|
311
|
-
}
|
|
312
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvcmVuZGVyMy9qaXQvZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBQyxpQkFBaUIsRUFBOEMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU5RyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsVUFBVSxFQUFFLG1CQUFtQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFJbEUsT0FBTyxFQUFDLHdCQUF3QixFQUFFLHdDQUF3QyxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDbkgsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBRWxFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRTFELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUMsdUNBQXVDLEVBQUUsMEJBQTBCLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFbEg7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsSUFBSSxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7QUFFekI7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFN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QUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUU7UUFDOUUsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFaEQsS0FBSyxNQUFNLEtBQUssSUFBSSxZQUFZLEVBQUU7UUFDaEMsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzNDLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQixNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDO1lBRTVDLElBQUksaUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUM7Z0JBQzdFLFlBQVksS0FBSyxRQUFRLElBQUksWUFBWSxLQUFLLGFBQWE7Z0JBQzNELFlBQVksS0FBSyxjQUFjLEVBQUU7Z0JBQ25DLE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjtLQUNGO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7Z2V0Q29tcGlsZXJGYWNhZGUsIEppdENvbXBpbGVyVXNhZ2UsIFIzRGlyZWN0aXZlTWV0YWRhdGFGYWNhZGV9IGZyb20gJy4uLy4uL2NvbXBpbGVyL2NvbXBpbGVyX2ZhY2FkZSc7XG5pbXBvcnQge1IzQ29tcG9uZW50TWV0YWRhdGFGYWNhZGUsIFIzUXVlcnlNZXRhZGF0YUZhY2FkZX0gZnJvbSAnLi4vLi4vY29tcGlsZXIvY29tcGlsZXJfZmFjYWRlX2ludGVyZmFjZSc7XG5pbXBvcnQge3Jlc29sdmVGb3J3YXJkUmVmfSBmcm9tICcuLi8uLi9kaS9mb3J3YXJkX3JlZic7XG5pbXBvcnQge2dldFJlZmxlY3QsIHJlZmxlY3REZXBlbmRlbmNpZXN9IGZyb20gJy4uLy4uL2RpL2ppdC91dGlsJztcbmltcG9ydCB7VHlwZX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlL3R5cGUnO1xuaW1wb3J0IHtRdWVyeX0gZnJvbSAnLi4vLi4vbWV0YWRhdGEvZGknO1xuaW1wb3J0IHtDb21wb25lbnQsIERpcmVjdGl2ZSwgSW5wdXR9IGZyb20gJy4uLy4uL21ldGFkYXRhL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtjb21wb25lbnROZWVkc1Jlc29sdXRpb24sIG1heWJlUXVldWVSZXNvbHV0aW9uT2ZDb21wb25lbnRSZXNvdXJjZXN9IGZyb20gJy4uLy4uL21ldGFkYXRhL3Jlc291cmNlX2xvYWRpbmcnO1xuaW1wb3J0IHtWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnLi4vLi4vbWV0YWRhdGEvdmlldyc7XG5pbXBvcnQge0VNUFRZX0FSUkFZLCBFTVBUWV9PQkp9IGZyb20gJy4uLy4uL3V0aWwvZW1wdHknO1xuaW1wb3J0IHtpbml0TmdEZXZNb2RlfSBmcm9tICcuLi8uLi91dGlsL25nX2Rldl9tb2RlJztcbmltcG9ydCB7Z2V0Q29tcG9uZW50RGVmLCBnZXREaXJlY3RpdmVEZWZ9IGZyb20gJy4uL2RlZmluaXRpb24nO1xuaW1wb3J0IHtOR19DT01QX0RFRiwgTkdfRElSX0RFRiwgTkdfRkFDVE9SWV9ERUZ9IGZyb20gJy4uL2ZpZWxkcyc7XG5pbXBvcnQge0NvbXBvbmVudFR5cGV9IGZyb20gJy4uL2ludGVyZmFjZXMvZGVmaW5pdGlvbic7XG5pbXBvcnQge3N0cmluZ2lmeUZvckVycm9yfSBmcm9tICcuLi91dGlsL3N0cmluZ2lmeV91dGlscyc7XG5cbmltcG9ydCB7YW5ndWxhckNvcmVFbnZ9IGZyb20gJy4vZW52aXJvbm1lbnQnO1xuaW1wb3J0IHtnZXRKaXRPcHRpb25zfSBmcm9tICcuL2ppdF9vcHRpb25zJztcbmltcG9ydCB7Zmx1c2hNb2R1bGVTY29waW5nUXVldWVBc011Y2hBc1Bvc3NpYmxlLCBwYXRjaENvbXBvbmVudERlZldpdGhTY29wZSwgdHJhbnNpdGl2ZVNjb3Blc0Zvcn0gZnJvbSAnLi9tb2R1bGUnO1xuXG4vKipcbiAqIEtlZXAgdHJhY2sgb2YgdGhlIGNvbXBpbGF0aW9uIGRlcHRoIHRvIGF2b2lkIHJlZW50cmFuY3kgaXNzdWVzIGR1cmluZyBKSVQgY29tcGlsYXRpb24uIFRoaXNcbiAqIG1hdHRlcnMgaW4gdGhlIGZvbGxvd2luZyBzY2VuYXJpbzpcbiAqXG4gKiBDb25zaWRlciBhIGNvbXBvbmVudCAnQScgdGhhdCBleHRlbmRzIGNvbXBvbmVudCAnQicsIGJvdGggZGVjbGFyZWQgaW4gbW9kdWxlICdNJy4gRHVyaW5nXG4gKiB0aGUgY29tcGlsYXRpb24gb2YgJ0EnIHRoZSBkZWZpbml0aW9uIG9mICdCJyBpcyByZXF1ZXN0ZWQgdG8gY2FwdHVyZSB0aGUgaW5oZXJpdGFuY2UgY2hhaW4sXG4gKiBwb3RlbnRpYWxseSB0cmlnZ2VyaW5nIGNvbXBpbGF0aW9uIG9mICdCJy4gSWYgdGhpcyBuZXN0ZWQgY29tcGlsYXRpb24gd2VyZSB0byB0cmlnZ2VyXG4gKiBgZmx1c2hNb2R1bGVTY29waW5nUXVldWVBc011Y2hBc1Bvc3NpYmxlYCBpdCBtYXkgaGFwcGVuIHRoYXQgbW9kdWxlICdNJyBpcyBzdGlsbCBwZW5kaW5nIGluIHRoZVxuICogcXVldWUsIHJlc3VsdGluZyBpbiAnQScgYW5kICdCJyB0byBiZSBwYXRjaGVkIHdpdGggdGhlIE5nTW9kdWxlIHNjb3BlLiBBcyB0aGUgY29tcGlsYXRpb24gb2ZcbiAqICdBJyBpcyBzdGlsbCBpbiBwcm9ncmVzcywgdGhpcyB3b3VsZCBpbnRyb2R1Y2UgYSBjaXJjdWxhciBkZXBlbmRlbmN5IG9uIGl0cyBjb21waWxhdGlvbi4gVG8gYXZvaWRcbiAqIHRoaXMgaXNzdWUsIHRoZSBtb2R1bGUgc2NvcGUgcXVldWUgaXMgb25seSBmbHVzaGVkIGZvciBjb21waWxhdGlvbnMgYXQgdGhlIGRlcHRoIDAsIHRvIGVuc3VyZVxuICogYWxsIGNvbXBpbGF0aW9ucyBoYXZlIGZpbmlzaGVkLlxuICovXG5sZXQgY29tcGlsYXRpb25EZXB0aCA9IDA7XG5cbi8qKlxuICogQ29tcGlsZSBhbiBBbmd1bGFyIGNvbXBvbmVudCBhY2NvcmRpbmcgdG8gaXRzIGRlY29yYXRvciBtZXRhZGF0YSwgYW5kIHBhdGNoIHRoZSByZXN1bHRpbmdcbiAqIGNvbXBvbmVudCBkZWYgKMm1Y21wKSBvbnRvIHRoZSBjb21wb25lbnQgdHlwZS5cbiAqXG4gKiBDb21waWxhdGlvbiBtYXkgYmUgYXN5bmNocm9ub3VzIChkdWUgdG8gdGhlIG5lZWQgdG8gcmVzb2x2ZSBVUkxzIGZvciB0aGUgY29tcG9uZW50IHRlbXBsYXRlIG9yXG4gKiBvdGhlciByZXNvdXJjZXMsIGZvciBleGFtcGxlKS4gSW4gdGhlIGV2ZW50IHRoYXQgY29tcGlsYXRpb24gaXMgbm90IGltbWVkaWF0ZSwgYGNvbXBpbGVDb21wb25lbnRgXG4gKiB3aWxsIGVucXVldWUgcmVzb3VyY2UgcmVzb2x1dGlvbiBpbnRvIGEgZ2xvYmFsIHF1ZXVlIGFuZCB3aWxsIGZhaWwgdG8gcmV0dXJuIHRoZSBgybVjbXBgXG4gKiB1bnRpbCB0aGUgZ2xvYmFsIHF1ZXVlIGhhcyBiZWVuIHJlc29sdmVkIHdpdGggYSBjYWxsIHRvIGByZXNvbHZlQ29tcG9uZW50UmVzb3VyY2VzYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbXBpbGVDb21wb25lbnQodHlwZTogVHlwZTxhbnk+LCBtZXRhZGF0YTogQ29tcG9uZW50KTogdm9pZCB7XG4gIC8vIEluaXRpYWxpemUgbmdEZXZNb2RlLiBUaGlzIG11c3QgYmUgdGhlIGZpcnN0IHN0YXRlbWVudCBpbiBjb21waWxlQ29tcG9uZW50LlxuICAvLyBTZWUgdGhlIGBpbml0TmdEZXZNb2RlYCBkb2NzdHJpbmcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gICh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpICYmIGluaXROZ0Rldk1vZGUoKTtcblxuICBsZXQgbmdDb21wb25lbnREZWY6IGFueSA9IG51bGw7XG5cbiAgLy8gTWV0YWRhdGEgbWF5IGhhdmUgcmVzb3VyY2VzIHdoaWNoIG5lZWQgdG8gYmUgcmVzb2x2ZWQuXG4gIG1heWJlUXVldWVSZXNvbHV0aW9uT2ZDb21wb25lbnRSZXNvdXJjZXModHlwZSwgbWV0YWRhdGEpO1xuXG4gIC8vIE5vdGUgdGhhdCB3ZSdyZSB1c2luZyB0aGUgc2FtZSBmdW5jdGlvbiBhcyBgRGlyZWN0aXZlYCwgYmVjYXVzZSB0aGF0J3Mgb25seSBzdWJzZXQgb2YgbWV0YWRhdGFcbiAgLy8gdGhhdCB3ZSBuZWVkIHRvIGNyZWF0ZSB0aGUgbmdGYWN0b3J5RGVmLiBXZSdyZSBhdm9pZGluZyB1c2luZyB0aGUgY29tcG9uZW50IG1ldGFkYXRhXG4gIC8vIGJlY2F1c2Ugd2UnZCBoYXZlIHRvIHJlc29sdmUgdGhlIGFzeW5jaHJvbm91cyB0ZW1wbGF0ZXMuXG4gIGFkZERpcmVjdGl2ZUZhY3RvcnlEZWYodHlwZSwgbWV0YWRhdGEpO1xuXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0eXBlLCBOR19DT01QX0RFRiwge1xuICAgIGdldDogKCkgPT4ge1xuICAgICAgaWYgKG5nQ29tcG9uZW50RGVmID09PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGNvbXBpbGVyID1cbiAgICAgICAgICAgIGdldENvbXBpbGVyRmFjYWRlKHt1c2FnZTogSml0Q29tcGlsZXJVc2FnZS5EZWNvcmF0b3IsIGtpbmQ6ICdjb21wb25lbnQnLCB0eXBlOiB0eXBlfSk7XG5cbiAgICAgICAgaWYgKGNvbXBvbmVudE5lZWRzUmVzb2x1dGlvbihtZXRhZGF0YSkpIHtcbiAgICAgICAgICBjb25zdCBlcnJvciA9IFtgQ29tcG9uZW50ICcke3R5cGUubmFtZX0nIGlzIG5vdCByZXNvbHZlZDpgXTtcbiAgICAgICAgICBpZiAobWV0YWRhdGEudGVtcGxhdGVVcmwpIHtcbiAgICAgICAgICAgIGVycm9yLnB1c2goYCAtIHRlbXBsYXRlVXJsOiAke21ldGFkYXRhLnRlbXBsYXRlVXJsfWApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAobWV0YWRhdGEuc3R5bGVVcmxzICYmIG1ldGFkYXRhLnN0eWxlVXJscy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGVycm9yLnB1c2goYCAtIHN0eWxlVXJsczogJHtKU09OLnN0cmluZ2lmeShtZXRhZGF0YS5zdHlsZVVybHMpfWApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlcnJvci5wdXNoKGBEaWQgeW91IHJ1biBhbmQgd2FpdCBmb3IgJ3Jlc29sdmVDb21wb25lbnRSZXNvdXJjZXMoKSc/YCk7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLmpvaW4oJ1xcbicpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoaXMgY29uc3Qgd2FzIGNhbGxlZCBgaml0T3B0aW9uc2AgcHJldmlvdXNseSBidXQgaGFkIHRvIGJlIHJlbmFtZWQgdG8gYG9wdGlvbnNgIGJlY2F1c2VcbiAgICAgICAgLy8gb2YgYSBidWcgd2l0aCBUZXJzZXIgdGhhdCBjYXVzZWQgb3B0aW1pemVkIEpJVCBidWlsZHMgdG8gdGhyb3cgYSBgUmVmZXJlbmNlRXJyb3JgLlxuICAgICAgICAvLyBUaGlzIGJ1ZyB3YXMgaW52ZXN0aWdhdGVkIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXItY2xpL2lzc3Vlcy8xNzI2NC5cbiAgICAgICAgLy8gV2Ugc2hvdWxkIG5vdCByZW5hbWUgaXQgYmFjayB1bnRpbCBodHRwczovL2dpdGh1Yi5jb20vdGVyc2VyL3RlcnNlci9pc3N1ZXMvNjE1IGlzIGZpeGVkLlxuICAgICAgICBjb25zdCBvcHRpb25zID0gZ2V0Sml0T3B0aW9ucygpO1xuICAgICAgICBsZXQgcHJlc2VydmVXaGl0ZXNwYWNlcyA9IG1ldGFkYXRhLnByZXNlcnZlV2hpdGVzcGFjZXM7XG4gICAgICAgIGlmIChwcmVzZXJ2ZVdoaXRlc3BhY2VzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBpZiAob3B0aW9ucyAhPT0gbnVsbCAmJiBvcHRpb25zLnByZXNlcnZlV2hpdGVzcGFjZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcHJlc2VydmVXaGl0ZXNwYWNlcyA9IG9wdGlvbnMucHJlc2VydmVXaGl0ZXNwYWNlcztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcHJlc2VydmVXaGl0ZXNwYWNlcyA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsZXQgZW5jYXBzdWxhdGlvbiA9IG1ldGFkYXRhLmVuY2Fwc3VsYXRpb247XG4gICAgICAgIGlmIChlbmNhcHN1bGF0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBpZiAob3B0aW9ucyAhPT0gbnVsbCAmJiBvcHRpb25zLmRlZmF1bHRFbmNhcHN1bGF0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGVuY2Fwc3VsYXRpb24gPSBvcHRpb25zLmRlZmF1bHRFbmNhcHN1bGF0aW9uO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlbmNhcHN1bGF0aW9uID0gVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGVtcGxhdGVVcmwgPSBtZXRhZGF0YS50ZW1wbGF0ZVVybCB8fCBgbmc6Ly8vJHt0eXBlLm5hbWV9L3RlbXBsYXRlLmh0bWxgO1xuICAgICAgICBjb25zdCBtZXRhOiBSM0NvbXBvbmVudE1ldGFkYXRhRmFjYWRlID0ge1xuICAgICAgICAgIC4uLmRpcmVjdGl2ZU1ldGFkYXRhKHR5cGUsIG1ldGFkYXRhKSxcbiAgICAgICAgICB0eXBlU291cmNlU3BhbjogY29tcGlsZXIuY3JlYXRlUGFyc2VTb3VyY2VTcGFuKCdDb21wb25lbnQnLCB0eXBlLm5hbWUsIHRlbXBsYXRlVXJsKSxcbiAgICAgICAgICB0ZW1wbGF0ZTogbWV0YWRhdGEudGVtcGxhdGUgfHwgJycsXG4gICAgICAgICAgcHJlc2VydmVXaGl0ZXNwYWNlcyxcbiAgICAgICAgICBzdHlsZXM6IG1ldGFkYXRhLnN0eWxlcyB8fCBFTVBUWV9BUlJBWSxcbiAgICAgICAgICBhbmltYXRpb25zOiBtZXRhZGF0YS5hbmltYXRpb25zLFxuICAgICAgICAgIGRpcmVjdGl2ZXM6IFtdLFxuICAgICAgICAgIGNoYW5nZURldGVjdGlvbjogbWV0YWRhdGEuY2hhbmdlRGV0ZWN0aW9uLFxuICAgICAgICAgIHBpcGVzOiBuZXcgTWFwKCksXG4gICAgICAgICAgZW5jYXBzdWxhdGlvbixcbiAgICAgICAgICBpbnRlcnBvbGF0aW9uOiBtZXRhZGF0YS5pbnRlcnBvbGF0aW9uLFxuICAgICAgICAgIHZpZXdQcm92aWRlcnM6IG1ldGFkYXRhLnZpZXdQcm92aWRlcnMgfHwgbnVsbCxcbiAgICAgICAgfTtcblxuICAgICAgICBjb21waWxhdGlvbkRlcHRoKys7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaWYgKG1ldGEudXNlc0luaGVyaXRhbmNlKSB7XG4gICAgICAgICAgICBhZGREaXJlY3RpdmVEZWZUb1VuZGVjb3JhdGVkUGFyZW50cyh0eXBlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbmdDb21wb25lbnREZWYgPSBjb21waWxlci5jb21waWxlQ29tcG9uZW50KGFuZ3VsYXJDb3JlRW52LCB0ZW1wbGF0ZVVybCwgbWV0YSk7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIGNvbXBpbGF0aW9uIGRlcHRoIGlzIGRlY3JlbWVudGVkIGV2ZW4gd2hlbiB0aGUgY29tcGlsYXRpb24gZmFpbGVkLlxuICAgICAgICAgIGNvbXBpbGF0aW9uRGVwdGgtLTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb21waWxhdGlvbkRlcHRoID09PSAwKSB7XG4gICAgICAgICAgLy8gV2hlbiBOZ01vZHVsZSBkZWNvcmF0b3IgZXhlY3V0ZWQsIHdlIGVucXVldWVkIHRoZSBtb2R1bGUgZGVmaW5pdGlvbiBzdWNoIHRoYXRcbiAgICAgICAgICAvLyBpdCB3b3VsZCBvbmx5IGRlcXVldWUgYW5kIGFkZCBpdHNlbGYgYXMgbW9kdWxlIHNjb3BlIHRvIGFsbCBvZiBpdHMgZGVjbGFyYXRpb25zLFxuICAgICAgICAgIC8vIGJ1dCBvbmx5IGlmICBpZiBhbGwgb2YgaXRzIGRlY2xhcmF0aW9ucyBoYWQgcmVzb2x2ZWQuIFRoaXMgY2FsbCBydW5zIHRoZSBjaGVja1xuICAgICAgICAgIC8vIHRvIHNlZSBpZiBhbnkgbW9kdWxlcyB0aGF0IGFyZSBpbiB0aGUgcXVldWUgY2FuIGJlIGRlcXVldWVkIGFuZCBhZGQgc2NvcGUgdG9cbiAgICAgICAgICAvLyB0aGVpciBkZWNsYXJhdGlvbnMuXG4gICAgICAgICAgZmx1c2hNb2R1bGVTY29waW5nUXVldWVBc011Y2hBc1Bvc3NpYmxlKCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiBjb21wb25lbnQgY29tcGlsYXRpb24gaXMgYXN5bmMsIHRoZW4gdGhlIEBOZ01vZHVsZSBhbm5vdGF0aW9uIHdoaWNoIGRlY2xhcmVzIHRoZVxuICAgICAgICAvLyBjb21wb25lbnQgbWF5IGV4ZWN1dGUgYW5kIHNldCBhbiBuZ1NlbGVjdG9yU2NvcGUgcHJvcGVydHkgb24gdGhlIGNvbXBvbmVudCB0eXBlLiBUaGlzXG4gICAgICAgIC8vIGFsbG93cyB0aGUgY29tcG9uZW50IHRvIHBhdGNoIGl0c2VsZiB3aXRoIGRpcmVjdGl2ZURlZnMgZnJvbSB0aGUgbW9kdWxlIGFmdGVyIGl0XG4gICAgICAgIC8vIGZpbmlzaGVzIGNvbXBpbGluZy5cbiAgICAgICAgaWYgKGhhc1NlbGVjdG9yU2NvcGUodHlwZSkpIHtcbiAgICAgICAgICBjb25zdCBzY29wZXMgPSB0cmFuc2l0aXZlU2NvcGVzRm9yKHR5cGUubmdTZWxlY3RvclNjb3BlKTtcbiAgICAgICAgICBwYXRjaENvbXBvbmVudERlZldpdGhTY29wZShuZ0NvbXBvbmVudERlZiwgc2NvcGVzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG5nQ29tcG9uZW50RGVmO1xuICAgIH0sXG4gICAgLy8gTWFrZSB0aGUgcHJvcGVydHkgY29uZmlndXJhYmxlIGluIGRldiBtb2RlIHRvIGFsbG93IG92ZXJyaWRpbmcgaW4gdGVzdHNcbiAgICBjb25maWd1cmFibGU6ICEhbmdEZXZNb2RlLFxuICB9KTtcbn1cblxuZnVuY3Rpb24gaGFzU2VsZWN0b3JTY29wZTxUPihjb21wb25lbnQ6IFR5cGU8VD4pOiBjb21wb25lbnQgaXMgVHlwZTxUPiZcbiAgICB7bmdTZWxlY3RvclNjb3BlOiBUeXBlPGFueT59IHtcbiAgcmV0dXJuIChjb21wb25lbnQgYXMge25nU2VsZWN0b3JTY29wZT86IGFueX0pLm5nU2VsZWN0b3JTY29wZSAhPT0gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIENvbXBpbGUgYW4gQW5ndWxhciBkaXJlY3RpdmUgYWNjb3JkaW5nIHRvIGl0cyBkZWNvcmF0b3IgbWV0YWRhdGEsIGFuZCBwYXRjaCB0aGUgcmVzdWx0aW5nXG4gKiBkaXJlY3RpdmUgZGVmIG9udG8gdGhlIGNvbXBvbmVudCB0eXBlLlxuICpcbiAqIEluIHRoZSBldmVudCB0aGF0IGNvbXBpbGF0aW9uIGlzIG5vdCBpbW1lZGlhdGUsIGBjb21waWxlRGlyZWN0aXZlYCB3aWxsIHJldHVybiBhIGBQcm9taXNlYCB3aGljaFxuICogd2lsbCByZXNvbHZlIHdoZW4gY29tcGlsYXRpb24gY29tcGxldGVzIGFuZCB0aGUgZGlyZWN0aXZlIGJlY29tZXMgdXNhYmxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tcGlsZURpcmVjdGl2ZSh0eXBlOiBUeXBlPGFueT4sIGRpcmVjdGl2ZTogRGlyZWN0aXZlfG51bGwpOiB2b2lkIHtcbiAgbGV0IG5nRGlyZWN0aXZlRGVmOiBhbnkgPSBudWxsO1xuXG4gIGFkZERpcmVjdGl2ZUZhY3RvcnlEZWYodHlwZSwgZGlyZWN0aXZlIHx8IHt9KTtcblxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodHlwZSwgTkdfRElSX0RFRiwge1xuICAgIGdldDogKCkgPT4ge1xuICAgICAgaWYgKG5nRGlyZWN0aXZlRGVmID09PSBudWxsKSB7XG4gICAgICAgIC8vIGBkaXJlY3RpdmVgIGNhbiBiZSBudWxsIGluIHRoZSBjYXNlIG9mIGFic3RyYWN0IGRpcmVjdGl2ZXMgYXMgYSBiYXNlIGNsYXNzXG4gICAgICAgIC8vIHRoYXQgdXNlIGBARGlyZWN0aXZlKClgIHdpdGggbm8gc2VsZWN0b3IuIEluIHRoYXQgY2FzZSwgcGFzcyBlbXB0eSBvYmplY3QgdG8gdGhlXG4gICAgICAgIC8vIGBkaXJlY3RpdmVNZXRhZGF0YWAgZnVuY3Rpb24gaW5zdGVhZCBvZiBudWxsLlxuICAgICAgICBjb25zdCBtZXRhID0gZ2V0RGlyZWN0aXZlTWV0YWRhdGEodHlwZSwgZGlyZWN0aXZlIHx8IHt9KTtcbiAgICAgICAgY29uc3QgY29tcGlsZXIgPVxuICAgICAgICAgICAgZ2V0Q29tcGlsZXJGYWNhZGUoe3VzYWdlOiBKaXRDb21waWxlclVzYWdlLkRlY29yYXRvciwga2luZDogJ2RpcmVjdGl2ZScsIHR5cGV9KTtcbiAgICAgICAgbmdEaXJlY3RpdmVEZWYgPVxuICAgICAgICAgICAgY29tcGlsZXIuY29tcGlsZURpcmVjdGl2ZShhbmd1bGFyQ29yZUVudiwgbWV0YS5zb3VyY2VNYXBVcmwsIG1ldGEubWV0YWRhdGEpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG5nRGlyZWN0aXZlRGVmO1xuICAgIH0sXG4gICAgLy8gTWFrZSB0aGUgcHJvcGVydHkgY29uZmlndXJhYmxlIGluIGRldiBtb2RlIHRvIGFsbG93IG92ZXJyaWRpbmcgaW4gdGVzdHNcbiAgICBjb25maWd1cmFibGU6ICEhbmdEZXZNb2RlLFxuICB9KTtcbn1cblxuZnVuY3Rpb24gZ2V0RGlyZWN0aXZlTWV0YWRhdGEodHlwZTogVHlwZTxhbnk+LCBtZXRhZGF0YTogRGlyZWN0aXZlKSB7XG4gIGNvbnN0IG5hbWUgPSB0eXBlICYmIHR5cGUubmFtZTtcbiAgY29uc3Qgc291cmNlTWFwVXJsID0gYG5nOi8vLyR7bmFtZX0vybVkaXIuanNgO1xuICBjb25zdCBjb21waWxlciA9IGdldENvbXBpbGVyRmFjYWRlKHt1c2FnZTogSml0Q29tcGlsZXJVc2FnZS5EZWNvcmF0b3IsIGtpbmQ6ICdkaXJlY3RpdmUnLCB0eXBlfSk7XG4gIGNvbnN0IGZhY2FkZSA9IGRpcmVjdGl2ZU1ldGFkYXRhKHR5cGUgYXMgQ29tcG9uZW50VHlwZTxhbnk+LCBtZXRhZGF0YSk7XG4gIGZhY2FkZS50eXBlU291cmNlU3BhbiA9IGNvbXBpbGVyLmNyZWF0ZVBhcnNlU291cmNlU3BhbignRGlyZWN0aXZlJywgbmFtZSwgc291cmNlTWFwVXJsKTtcbiAgaWYgKGZhY2FkZS51c2VzSW5oZXJpdGFuY2UpIHtcbiAgICBhZGREaXJlY3RpdmVEZWZUb1VuZGVjb3JhdGVkUGFyZW50cyh0eXBlKTtcbiAgfVxuICByZXR1cm4ge21ldGFkYXRhOiBmYWNhZGUsIHNvdXJjZU1hcFVybH07XG59XG5cbmZ1bmN0aW9uIGFkZERpcmVjdGl2ZUZhY3RvcnlEZWYodHlwZTogVHlwZTxhbnk+LCBtZXRhZGF0YTogRGlyZWN0aXZlfENvbXBvbmVudCkge1xuICBsZXQgbmdGYWN0b3J5RGVmOiBhbnkgPSBudWxsO1xuXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0eXBlLCBOR19GQUNUT1JZX0RFRiwge1xuICAgIGdldDogKCkgPT4ge1xuICAgICAgaWYgKG5nRmFjdG9yeURlZiA9PT0gbnVsbCkge1xuICAgICAgICBjb25zdCBtZXRhID0gZ2V0RGlyZWN0aXZlTWV0YWRhdGEodHlwZSwgbWV0YWRhdGEpO1xuICAgICAgICBjb25zdCBjb21waWxlciA9XG4gICAgICAgICAgICBnZXRDb21waWxlckZhY2FkZSh7dXNhZ2U6IEppdENvbXBpbGVyVXNhZ2UuRGVjb3JhdG9yLCBraW5kOiAnZGlyZWN0aXZlJywgdHlwZX0pO1xuICAgICAgICBuZ0ZhY3RvcnlEZWYgPSBjb21waWxlci5jb21waWxlRmFjdG9yeShhbmd1bGFyQ29yZUVudiwgYG5nOi8vLyR7dHlwZS5uYW1lfS/JtWZhYy5qc2AsIHtcbiAgICAgICAgICBuYW1lOiBtZXRhLm1ldGFkYXRhLm5hbWUsXG4gICAgICAgICAgdHlwZTogbWV0YS5tZXRhZGF0YS50eXBlLFxuICAgICAgICAgIHR5cGVBcmd1bWVudENvdW50OiAwLFxuICAgICAgICAgIGRlcHM6IHJlZmxlY3REZXBlbmRlbmNpZXModHlwZSksXG4gICAgICAgICAgdGFyZ2V0OiBjb21waWxlci5GYWN0b3J5VGFyZ2V0LkRpcmVjdGl2ZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZ0ZhY3RvcnlEZWY7XG4gICAgfSxcbiAgICAvLyBNYWtlIHRoZSBwcm9wZXJ0eSBjb25maWd1cmFibGUgaW4gZGV2IG1vZGUgdG8gYWxsb3cgb3ZlcnJpZGluZyBpbiB0ZXN0c1xuICAgIGNvbmZpZ3VyYWJsZTogISFuZ0Rldk1vZGUsXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXh0ZW5kc0RpcmVjdGx5RnJvbU9iamVjdCh0eXBlOiBUeXBlPGFueT4pOiBib29sZWFuIHtcbiAgcmV0dXJuIE9iamVjdC5nZXRQcm90b3R5cGVPZih0eXBlLnByb3RvdHlwZSkgPT09IE9iamVjdC5wcm90b3R5cGU7XG59XG5cbi8qKlxuICogRXh0cmFjdCB0aGUgYFIzRGlyZWN0aXZlTWV0YWRhdGFgIGZvciBhIHBhcnRpY3VsYXIgZGlyZWN0aXZlIChlaXRoZXIgYSBgRGlyZWN0aXZlYCBvciBhXG4gKiBgQ29tcG9uZW50YCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkaXJlY3RpdmVNZXRhZGF0YSh0eXBlOiBUeXBlPGFueT4sIG1ldGFkYXRhOiBEaXJlY3RpdmUpOiBSM0RpcmVjdGl2ZU1ldGFkYXRhRmFjYWRlIHtcbiAgLy8gUmVmbGVjdCBpbnB1dHMgYW5kIG91dHB1dHMuXG4gIGNvbnN0IHJlZmxlY3QgPSBnZXRSZWZsZWN0KCk7XG4gIGNvbnN0IHByb3BNZXRhZGF0YSA9IHJlZmxlY3Qub3duUHJvcE1ldGFkYXRhKHR5cGUpO1xuXG4gIHJldHVybiB7XG4gICAgbmFtZTogdHlwZS5uYW1lLFxuICAgIHR5cGU6IHR5cGUsXG4gICAgc2VsZWN0b3I6IG1ldGFkYXRhLnNlbGVjdG9yICE9PSB1bmRlZmluZWQgPyBtZXRhZGF0YS5zZWxlY3RvciA6IG51bGwsXG4gICAgaG9zdDogbWV0YWRhdGEuaG9zdCB8fCBFTVBUWV9PQkosXG4gICAgcHJvcE1ldGFkYXRhOiBwcm9wTWV0YWRhdGEsXG4gICAgaW5wdXRzOiBtZXRhZGF0YS5pbnB1dHMgfHwgRU1QVFlfQVJSQVksXG4gICAgb3V0cHV0czogbWV0YWRhdGEub3V0cHV0cyB8fCBFTVBUWV9BUlJBWSxcbiAgICBxdWVyaWVzOiBleHRyYWN0UXVlcmllc01ldGFkYXRhKHR5cGUsIHByb3BNZXRhZGF0YSwgaXNDb250ZW50UXVlcnkpLFxuICAgIGxpZmVjeWNsZToge3VzZXNPbkNoYW5nZXM6IHJlZmxlY3QuaGFzTGlmZWN5Y2xlSG9vayh0eXBlLCAnbmdPbkNoYW5nZXMnKX0sXG4gICAgdHlwZVNvdXJjZVNwYW46IG51bGwhLFxuICAgIHVzZXNJbmhlcml0YW5jZTogIWV4dGVuZHNEaXJlY3RseUZyb21PYmplY3QodHlwZSksXG4gICAgZXhwb3J0QXM6IGV4dHJhY3RFeHBvcnRBcyhtZXRhZGF0YS5leHBvcnRBcyksXG4gICAgcHJvdmlkZXJzOiBtZXRhZGF0YS5wcm92aWRlcnMgfHwgbnVsbCxcbiAgICB2aWV3UXVlcmllczogZXh0cmFjdFF1ZXJpZXNNZXRhZGF0YSh0eXBlLCBwcm9wTWV0YWRhdGEsIGlzVmlld1F1ZXJ5KVxuICB9O1xufVxuXG4vKipcbiAqIEFkZHMgYSBkaXJlY3RpdmUgZGVmaW5pdGlvbiB0byBhbGwgcGFyZW50IGNsYXNzZXMgb2YgYSB0eXBlIHRoYXQgZG9uJ3QgaGF2ZSBhbiBBbmd1bGFyIGRlY29yYXRvci5cbiAqL1xuZnVuY3Rpb24gYWRkRGlyZWN0aXZlRGVmVG9VbmRlY29yYXRlZFBhcmVudHModHlwZTogVHlwZTxhbnk+KSB7XG4gIGNvbnN0IG9ialByb3RvdHlwZSA9IE9iamVjdC5wcm90b3R5cGU7XG4gIGxldCBwYXJlbnQgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YodHlwZS5wcm90b3R5cGUpLmNvbnN0cnVjdG9yO1xuXG4gIC8vIEdvIHVwIHRoZSBwcm90b3R5cGUgdW50aWwgd2UgaGl0IGBPYmplY3RgLlxuICB3aGlsZSAocGFyZW50ICYmIHBhcmVudCAhPT0gb2JqUHJvdG90eXBlKSB7XG4gICAgLy8gU2luY2UgaW5oZXJpdGFuY2Ugd29ya3MgaWYgdGhlIGNsYXNzIHdhcyBhbm5vdGF0ZWQgYWxyZWFkeSwgd2Ugb25seSBuZWVkIHRvIGFkZFxuICAgIC8vIHRoZSBkZWYgaWYgdGhlcmUgYXJlIG5vIGFubm90YXRpb25zIGFuZCB0aGUgZGVmIGhhc24ndCBiZWVuIGNyZWF0ZWQgYWxyZWFkeS5cbiAgICBpZiAoIWdldERpcmVjdGl2ZURlZihwYXJlbnQpICYmICFnZXRDb21wb25lbnREZWYocGFyZW50KSAmJlxuICAgICAgICBzaG91bGRBZGRBYnN0cmFjdERpcmVjdGl2ZShwYXJlbnQpKSB7XG4gICAgICBjb21waWxlRGlyZWN0aXZlKHBhcmVudCwgbnVsbCk7XG4gICAgfVxuICAgIHBhcmVudCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihwYXJlbnQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRUb1IzUXVlcnlQcmVkaWNhdGUoc2VsZWN0b3I6IGFueSk6IGFueXxzdHJpbmdbXSB7XG4gIHJldHVybiB0eXBlb2Ygc2VsZWN0b3IgPT09ICdzdHJpbmcnID8gc3BsaXRCeUNvbW1hKHNlbGVjdG9yKSA6IHJlc29sdmVGb3J3YXJkUmVmKHNlbGVjdG9yKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRUb1IzUXVlcnlNZXRhZGF0YShwcm9wZXJ0eU5hbWU6IHN0cmluZywgYW5uOiBRdWVyeSk6IFIzUXVlcnlNZXRhZGF0YUZhY2FkZSB7XG4gIHJldHVybiB7XG4gICAgcHJvcGVydHlOYW1lOiBwcm9wZXJ0eU5hbWUsXG4gICAgcHJlZGljYXRlOiBjb252ZXJ0VG9SM1F1ZXJ5UHJlZGljYXRlKGFubi5zZWxlY3RvciksXG4gICAgZGVzY2VuZGFudHM6IGFubi5kZXNjZW5kYW50cyxcbiAgICBmaXJzdDogYW5uLmZpcnN0LFxuICAgIHJlYWQ6IGFubi5yZWFkID8gYW5uLnJlYWQgOiBudWxsLFxuICAgIHN0YXRpYzogISFhbm4uc3RhdGljLFxuICAgIGVtaXREaXN0aW5jdENoYW5nZXNPbmx5OiAhIWFubi5lbWl0RGlzdGluY3RDaGFuZ2VzT25seSxcbiAgfTtcbn1cbmZ1bmN0aW9uIGV4dHJhY3RRdWVyaWVzTWV0YWRhdGEoXG4gICAgdHlwZTogVHlwZTxhbnk+LCBwcm9wTWV0YWRhdGE6IHtba2V5OiBzdHJpbmddOiBhbnlbXX0sXG4gICAgaXNRdWVyeUFubjogKGFubjogYW55KSA9PiBhbm4gaXMgUXVlcnkpOiBSM1F1ZXJ5TWV0YWRhdGFGYWNhZGVbXSB7XG4gIGNvbnN0IHF1ZXJpZXNNZXRhOiBSM1F1ZXJ5TWV0YWRhdGFGYWNhZGVbXSA9IFtdO1xuICBmb3IgKGNvbnN0IGZpZWxkIGluIHByb3BNZXRhZGF0YSkge1xuICAgIGlmIChwcm9wTWV0YWRhdGEuaGFzT3duUHJvcGVydHkoZmllbGQpKSB7XG4gICAgICBjb25zdCBhbm5vdGF0aW9ucyA9IHByb3BNZXRhZGF0YVtmaWVsZF07XG4gICAgICBhbm5vdGF0aW9ucy5mb3JFYWNoKGFubiA9PiB7XG4gICAgICAgIGlmIChpc1F1ZXJ5QW5uKGFubikpIHtcbiAgICAgICAgICBpZiAoIWFubi5zZWxlY3Rvcikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgIGBDYW4ndCBjb25zdHJ1Y3QgYSBxdWVyeSBmb3IgdGhlIHByb3BlcnR5IFwiJHtmaWVsZH1cIiBvZiBgICtcbiAgICAgICAgICAgICAgICBgXCIke3N0cmluZ2lmeUZvckVycm9yKHR5cGUpfVwiIHNpbmNlIHRoZSBxdWVyeSBzZWxlY3RvciB3YXNuJ3QgZGVmaW5lZC5gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGFubm90YXRpb25zLnNvbWUoaXNJbnB1dEFubm90YXRpb24pKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBjb21iaW5lIEBJbnB1dCBkZWNvcmF0b3JzIHdpdGggcXVlcnkgZGVjb3JhdG9yc2ApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBxdWVyaWVzTWV0YS5wdXNoKGNvbnZlcnRUb1IzUXVlcnlNZXRhZGF0YShmaWVsZCwgYW5uKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcXVlcmllc01ldGE7XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RFeHBvcnRBcyhleHBvcnRBczogc3RyaW5nfHVuZGVmaW5lZCk6IHN0cmluZ1tdfG51bGwge1xuICByZXR1cm4gZXhwb3J0QXMgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBzcGxpdEJ5Q29tbWEoZXhwb3J0QXMpO1xufVxuXG5mdW5jdGlvbiBpc0NvbnRlbnRRdWVyeSh2YWx1ZTogYW55KTogdmFsdWUgaXMgUXVlcnkge1xuICBjb25zdCBuYW1lID0gdmFsdWUubmdNZXRhZGF0YU5hbWU7XG4gIHJldHVybiBuYW1lID09PSAnQ29udGVudENoaWxkJyB8fCBuYW1lID09PSAnQ29udGVudENoaWxkcmVuJztcbn1cblxuZnVuY3Rpb24gaXNWaWV3UXVlcnkodmFsdWU6IGFueSk6IHZhbHVlIGlzIFF1ZXJ5IHtcbiAgY29uc3QgbmFtZSA9IHZhbHVlLm5nTWV0YWRhdGFOYW1lO1xuICByZXR1cm4gbmFtZSA9PT0gJ1ZpZXdDaGlsZCcgfHwgbmFtZSA9PT0gJ1ZpZXdDaGlsZHJlbic7XG59XG5cbmZ1bmN0aW9uIGlzSW5wdXRBbm5vdGF0aW9uKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBJbnB1dCB7XG4gIHJldHVybiB2YWx1ZS5uZ01ldGFkYXRhTmFtZSA9PT0gJ0lucHV0Jztcbn1cblxuZnVuY3Rpb24gc3BsaXRCeUNvbW1hKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gIHJldHVybiB2YWx1ZS5zcGxpdCgnLCcpLm1hcChwaWVjZSA9PiBwaWVjZS50cmltKCkpO1xufVxuXG5jb25zdCBMSUZFQ1lDTEVfSE9PS1MgPSBbXG4gICduZ09uQ2hhbmdlcycsICduZ09uSW5pdCcsICduZ09uRGVzdHJveScsICduZ0RvQ2hlY2snLCAnbmdBZnRlclZpZXdJbml0JywgJ25nQWZ0ZXJWaWV3Q2hlY2tlZCcsXG4gICduZ0FmdGVyQ29udGVudEluaXQnLCAnbmdBZnRlckNvbnRlbnRDaGVja2VkJ1xuXTtcblxuZnVuY3Rpb24gc2hvdWxkQWRkQWJzdHJhY3REaXJlY3RpdmUodHlwZTogVHlwZTxhbnk+KTogYm9vbGVhbiB7XG4gIGNvbnN0IHJlZmxlY3QgPSBnZXRSZWZsZWN0KCk7XG5cbiAgaWYgKExJRkVDWUNMRV9IT09LUy5zb21lKGhvb2tOYW1lID0+IHJlZmxlY3QuaGFzTGlmZWN5Y2xlSG9vayh0eXBlLCBob29rTmFtZSkpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBjb25zdCBwcm9wTWV0YWRhdGEgPSByZWZsZWN0LnByb3BNZXRhZGF0YSh0eXBlKTtcblxuICBmb3IgKGNvbnN0IGZpZWxkIGluIHByb3BNZXRhZGF0YSkge1xuICAgIGNvbnN0IGFubm90YXRpb25zID0gcHJvcE1ldGFkYXRhW2ZpZWxkXTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYW5ub3RhdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGN1cnJlbnQgPSBhbm5vdGF0aW9uc1tpXTtcbiAgICAgIGNvbnN0IG1ldGFkYXRhTmFtZSA9IGN1cnJlbnQubmdNZXRhZGF0YU5hbWU7XG5cbiAgICAgIGlmIChpc0lucHV0QW5ub3RhdGlvbihjdXJyZW50KSB8fCBpc0NvbnRlbnRRdWVyeShjdXJyZW50KSB8fCBpc1ZpZXdRdWVyeShjdXJyZW50KSB8fFxuICAgICAgICAgIG1ldGFkYXRhTmFtZSA9PT0gJ091dHB1dCcgfHwgbWV0YWRhdGFOYW1lID09PSAnSG9zdEJpbmRpbmcnIHx8XG4gICAgICAgICAgbWV0YWRhdGFOYW1lID09PSAnSG9zdExpc3RlbmVyJykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG4iXX0=
|
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
import { forwardRef, resolveForwardRef } from '../../di/forward_ref';
|
|
9
|
-
import { ɵɵinject, ɵɵinvalidFactoryDep } from '../../di/injector_compatibility';
|
|
10
|
-
import { ɵɵdefineInjectable, ɵɵdefineInjector } from '../../di/interface/defs';
|
|
11
|
-
import * as sanitization from '../../sanitization/sanitization';
|
|
12
|
-
import * as r3 from '../index';
|
|
13
|
-
const ɵ0 = () => ({
|
|
14
|
-
'ɵɵattribute': r3.ɵɵattribute,
|
|
15
|
-
'ɵɵattributeInterpolate1': r3.ɵɵattributeInterpolate1,
|
|
16
|
-
'ɵɵattributeInterpolate2': r3.ɵɵattributeInterpolate2,
|
|
17
|
-
'ɵɵattributeInterpolate3': r3.ɵɵattributeInterpolate3,
|
|
18
|
-
'ɵɵattributeInterpolate4': r3.ɵɵattributeInterpolate4,
|
|
19
|
-
'ɵɵattributeInterpolate5': r3.ɵɵattributeInterpolate5,
|
|
20
|
-
'ɵɵattributeInterpolate6': r3.ɵɵattributeInterpolate6,
|
|
21
|
-
'ɵɵattributeInterpolate7': r3.ɵɵattributeInterpolate7,
|
|
22
|
-
'ɵɵattributeInterpolate8': r3.ɵɵattributeInterpolate8,
|
|
23
|
-
'ɵɵattributeInterpolateV': r3.ɵɵattributeInterpolateV,
|
|
24
|
-
'ɵɵdefineComponent': r3.ɵɵdefineComponent,
|
|
25
|
-
'ɵɵdefineDirective': r3.ɵɵdefineDirective,
|
|
26
|
-
'ɵɵdefineInjectable': ɵɵdefineInjectable,
|
|
27
|
-
'ɵɵdefineInjector': ɵɵdefineInjector,
|
|
28
|
-
'ɵɵdefineNgModule': r3.ɵɵdefineNgModule,
|
|
29
|
-
'ɵɵdefinePipe': r3.ɵɵdefinePipe,
|
|
30
|
-
'ɵɵdirectiveInject': r3.ɵɵdirectiveInject,
|
|
31
|
-
'ɵɵgetInheritedFactory': r3.ɵɵgetInheritedFactory,
|
|
32
|
-
'ɵɵinject': ɵɵinject,
|
|
33
|
-
'ɵɵinjectAttribute': r3.ɵɵinjectAttribute,
|
|
34
|
-
'ɵɵinvalidFactory': r3.ɵɵinvalidFactory,
|
|
35
|
-
'ɵɵinvalidFactoryDep': ɵɵinvalidFactoryDep,
|
|
36
|
-
'ɵɵtemplateRefExtractor': r3.ɵɵtemplateRefExtractor,
|
|
37
|
-
'ɵɵNgOnChangesFeature': r3.ɵɵNgOnChangesFeature,
|
|
38
|
-
'ɵɵProvidersFeature': r3.ɵɵProvidersFeature,
|
|
39
|
-
'ɵɵCopyDefinitionFeature': r3.ɵɵCopyDefinitionFeature,
|
|
40
|
-
'ɵɵInheritDefinitionFeature': r3.ɵɵInheritDefinitionFeature,
|
|
41
|
-
'ɵɵnextContext': r3.ɵɵnextContext,
|
|
42
|
-
'ɵɵnamespaceHTML': r3.ɵɵnamespaceHTML,
|
|
43
|
-
'ɵɵnamespaceMathML': r3.ɵɵnamespaceMathML,
|
|
44
|
-
'ɵɵnamespaceSVG': r3.ɵɵnamespaceSVG,
|
|
45
|
-
'ɵɵenableBindings': r3.ɵɵenableBindings,
|
|
46
|
-
'ɵɵdisableBindings': r3.ɵɵdisableBindings,
|
|
47
|
-
'ɵɵelementStart': r3.ɵɵelementStart,
|
|
48
|
-
'ɵɵelementEnd': r3.ɵɵelementEnd,
|
|
49
|
-
'ɵɵelement': r3.ɵɵelement,
|
|
50
|
-
'ɵɵelementContainerStart': r3.ɵɵelementContainerStart,
|
|
51
|
-
'ɵɵelementContainerEnd': r3.ɵɵelementContainerEnd,
|
|
52
|
-
'ɵɵelementContainer': r3.ɵɵelementContainer,
|
|
53
|
-
'ɵɵpureFunction0': r3.ɵɵpureFunction0,
|
|
54
|
-
'ɵɵpureFunction1': r3.ɵɵpureFunction1,
|
|
55
|
-
'ɵɵpureFunction2': r3.ɵɵpureFunction2,
|
|
56
|
-
'ɵɵpureFunction3': r3.ɵɵpureFunction3,
|
|
57
|
-
'ɵɵpureFunction4': r3.ɵɵpureFunction4,
|
|
58
|
-
'ɵɵpureFunction5': r3.ɵɵpureFunction5,
|
|
59
|
-
'ɵɵpureFunction6': r3.ɵɵpureFunction6,
|
|
60
|
-
'ɵɵpureFunction7': r3.ɵɵpureFunction7,
|
|
61
|
-
'ɵɵpureFunction8': r3.ɵɵpureFunction8,
|
|
62
|
-
'ɵɵpureFunctionV': r3.ɵɵpureFunctionV,
|
|
63
|
-
'ɵɵgetCurrentView': r3.ɵɵgetCurrentView,
|
|
64
|
-
'ɵɵrestoreView': r3.ɵɵrestoreView,
|
|
65
|
-
'ɵɵlistener': r3.ɵɵlistener,
|
|
66
|
-
'ɵɵprojection': r3.ɵɵprojection,
|
|
67
|
-
'ɵɵsyntheticHostProperty': r3.ɵɵsyntheticHostProperty,
|
|
68
|
-
'ɵɵsyntheticHostListener': r3.ɵɵsyntheticHostListener,
|
|
69
|
-
'ɵɵpipeBind1': r3.ɵɵpipeBind1,
|
|
70
|
-
'ɵɵpipeBind2': r3.ɵɵpipeBind2,
|
|
71
|
-
'ɵɵpipeBind3': r3.ɵɵpipeBind3,
|
|
72
|
-
'ɵɵpipeBind4': r3.ɵɵpipeBind4,
|
|
73
|
-
'ɵɵpipeBindV': r3.ɵɵpipeBindV,
|
|
74
|
-
'ɵɵprojectionDef': r3.ɵɵprojectionDef,
|
|
75
|
-
'ɵɵhostProperty': r3.ɵɵhostProperty,
|
|
76
|
-
'ɵɵproperty': r3.ɵɵproperty,
|
|
77
|
-
'ɵɵpropertyInterpolate': r3.ɵɵpropertyInterpolate,
|
|
78
|
-
'ɵɵpropertyInterpolate1': r3.ɵɵpropertyInterpolate1,
|
|
79
|
-
'ɵɵpropertyInterpolate2': r3.ɵɵpropertyInterpolate2,
|
|
80
|
-
'ɵɵpropertyInterpolate3': r3.ɵɵpropertyInterpolate3,
|
|
81
|
-
'ɵɵpropertyInterpolate4': r3.ɵɵpropertyInterpolate4,
|
|
82
|
-
'ɵɵpropertyInterpolate5': r3.ɵɵpropertyInterpolate5,
|
|
83
|
-
'ɵɵpropertyInterpolate6': r3.ɵɵpropertyInterpolate6,
|
|
84
|
-
'ɵɵpropertyInterpolate7': r3.ɵɵpropertyInterpolate7,
|
|
85
|
-
'ɵɵpropertyInterpolate8': r3.ɵɵpropertyInterpolate8,
|
|
86
|
-
'ɵɵpropertyInterpolateV': r3.ɵɵpropertyInterpolateV,
|
|
87
|
-
'ɵɵpipe': r3.ɵɵpipe,
|
|
88
|
-
'ɵɵqueryRefresh': r3.ɵɵqueryRefresh,
|
|
89
|
-
'ɵɵviewQuery': r3.ɵɵviewQuery,
|
|
90
|
-
'ɵɵloadQuery': r3.ɵɵloadQuery,
|
|
91
|
-
'ɵɵcontentQuery': r3.ɵɵcontentQuery,
|
|
92
|
-
'ɵɵreference': r3.ɵɵreference,
|
|
93
|
-
'ɵɵclassMap': r3.ɵɵclassMap,
|
|
94
|
-
'ɵɵclassMapInterpolate1': r3.ɵɵclassMapInterpolate1,
|
|
95
|
-
'ɵɵclassMapInterpolate2': r3.ɵɵclassMapInterpolate2,
|
|
96
|
-
'ɵɵclassMapInterpolate3': r3.ɵɵclassMapInterpolate3,
|
|
97
|
-
'ɵɵclassMapInterpolate4': r3.ɵɵclassMapInterpolate4,
|
|
98
|
-
'ɵɵclassMapInterpolate5': r3.ɵɵclassMapInterpolate5,
|
|
99
|
-
'ɵɵclassMapInterpolate6': r3.ɵɵclassMapInterpolate6,
|
|
100
|
-
'ɵɵclassMapInterpolate7': r3.ɵɵclassMapInterpolate7,
|
|
101
|
-
'ɵɵclassMapInterpolate8': r3.ɵɵclassMapInterpolate8,
|
|
102
|
-
'ɵɵclassMapInterpolateV': r3.ɵɵclassMapInterpolateV,
|
|
103
|
-
'ɵɵstyleMap': r3.ɵɵstyleMap,
|
|
104
|
-
'ɵɵstyleMapInterpolate1': r3.ɵɵstyleMapInterpolate1,
|
|
105
|
-
'ɵɵstyleMapInterpolate2': r3.ɵɵstyleMapInterpolate2,
|
|
106
|
-
'ɵɵstyleMapInterpolate3': r3.ɵɵstyleMapInterpolate3,
|
|
107
|
-
'ɵɵstyleMapInterpolate4': r3.ɵɵstyleMapInterpolate4,
|
|
108
|
-
'ɵɵstyleMapInterpolate5': r3.ɵɵstyleMapInterpolate5,
|
|
109
|
-
'ɵɵstyleMapInterpolate6': r3.ɵɵstyleMapInterpolate6,
|
|
110
|
-
'ɵɵstyleMapInterpolate7': r3.ɵɵstyleMapInterpolate7,
|
|
111
|
-
'ɵɵstyleMapInterpolate8': r3.ɵɵstyleMapInterpolate8,
|
|
112
|
-
'ɵɵstyleMapInterpolateV': r3.ɵɵstyleMapInterpolateV,
|
|
113
|
-
'ɵɵstyleProp': r3.ɵɵstyleProp,
|
|
114
|
-
'ɵɵstylePropInterpolate1': r3.ɵɵstylePropInterpolate1,
|
|
115
|
-
'ɵɵstylePropInterpolate2': r3.ɵɵstylePropInterpolate2,
|
|
116
|
-
'ɵɵstylePropInterpolate3': r3.ɵɵstylePropInterpolate3,
|
|
117
|
-
'ɵɵstylePropInterpolate4': r3.ɵɵstylePropInterpolate4,
|
|
118
|
-
'ɵɵstylePropInterpolate5': r3.ɵɵstylePropInterpolate5,
|
|
119
|
-
'ɵɵstylePropInterpolate6': r3.ɵɵstylePropInterpolate6,
|
|
120
|
-
'ɵɵstylePropInterpolate7': r3.ɵɵstylePropInterpolate7,
|
|
121
|
-
'ɵɵstylePropInterpolate8': r3.ɵɵstylePropInterpolate8,
|
|
122
|
-
'ɵɵstylePropInterpolateV': r3.ɵɵstylePropInterpolateV,
|
|
123
|
-
'ɵɵclassProp': r3.ɵɵclassProp,
|
|
124
|
-
'ɵɵadvance': r3.ɵɵadvance,
|
|
125
|
-
'ɵɵtemplate': r3.ɵɵtemplate,
|
|
126
|
-
'ɵɵtext': r3.ɵɵtext,
|
|
127
|
-
'ɵɵtextInterpolate': r3.ɵɵtextInterpolate,
|
|
128
|
-
'ɵɵtextInterpolate1': r3.ɵɵtextInterpolate1,
|
|
129
|
-
'ɵɵtextInterpolate2': r3.ɵɵtextInterpolate2,
|
|
130
|
-
'ɵɵtextInterpolate3': r3.ɵɵtextInterpolate3,
|
|
131
|
-
'ɵɵtextInterpolate4': r3.ɵɵtextInterpolate4,
|
|
132
|
-
'ɵɵtextInterpolate5': r3.ɵɵtextInterpolate5,
|
|
133
|
-
'ɵɵtextInterpolate6': r3.ɵɵtextInterpolate6,
|
|
134
|
-
'ɵɵtextInterpolate7': r3.ɵɵtextInterpolate7,
|
|
135
|
-
'ɵɵtextInterpolate8': r3.ɵɵtextInterpolate8,
|
|
136
|
-
'ɵɵtextInterpolateV': r3.ɵɵtextInterpolateV,
|
|
137
|
-
'ɵɵi18n': r3.ɵɵi18n,
|
|
138
|
-
'ɵɵi18nAttributes': r3.ɵɵi18nAttributes,
|
|
139
|
-
'ɵɵi18nExp': r3.ɵɵi18nExp,
|
|
140
|
-
'ɵɵi18nStart': r3.ɵɵi18nStart,
|
|
141
|
-
'ɵɵi18nEnd': r3.ɵɵi18nEnd,
|
|
142
|
-
'ɵɵi18nApply': r3.ɵɵi18nApply,
|
|
143
|
-
'ɵɵi18nPostprocess': r3.ɵɵi18nPostprocess,
|
|
144
|
-
'ɵɵresolveWindow': r3.ɵɵresolveWindow,
|
|
145
|
-
'ɵɵresolveDocument': r3.ɵɵresolveDocument,
|
|
146
|
-
'ɵɵresolveBody': r3.ɵɵresolveBody,
|
|
147
|
-
'ɵɵsetComponentScope': r3.ɵɵsetComponentScope,
|
|
148
|
-
'ɵɵsetNgModuleScope': r3.ɵɵsetNgModuleScope,
|
|
149
|
-
'ɵɵsanitizeHtml': sanitization.ɵɵsanitizeHtml,
|
|
150
|
-
'ɵɵsanitizeStyle': sanitization.ɵɵsanitizeStyle,
|
|
151
|
-
'ɵɵsanitizeResourceUrl': sanitization.ɵɵsanitizeResourceUrl,
|
|
152
|
-
'ɵɵsanitizeScript': sanitization.ɵɵsanitizeScript,
|
|
153
|
-
'ɵɵsanitizeUrl': sanitization.ɵɵsanitizeUrl,
|
|
154
|
-
'ɵɵsanitizeUrlOrResourceUrl': sanitization.ɵɵsanitizeUrlOrResourceUrl,
|
|
155
|
-
'ɵɵtrustConstantHtml': sanitization.ɵɵtrustConstantHtml,
|
|
156
|
-
'ɵɵtrustConstantResourceUrl': sanitization.ɵɵtrustConstantResourceUrl,
|
|
157
|
-
'forwardRef': forwardRef,
|
|
158
|
-
'resolveForwardRef': resolveForwardRef,
|
|
159
|
-
});
|
|
160
|
-
/**
|
|
161
|
-
* A mapping of the @angular/core API surface used in generated expressions to the actual symbols.
|
|
162
|
-
*
|
|
163
|
-
* This should be kept up to date with the public exports of @angular/core.
|
|
164
|
-
*/
|
|
165
|
-
export const angularCoreEnv = (ɵ0)();
|
|
166
|
-
export { ɵ0 };
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9yZW5kZXIzL2ppdC9lbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUMsVUFBVSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkUsT0FBTyxFQUFDLFFBQVEsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzdFLE9BQU8sS0FBSyxZQUFZLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7V0FTMUIsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNMLGFBQWEsRUFBRSxFQUFFLENBQUMsV0FBVztJQUM3Qix5QkFBeUIsRUFBRSxFQUFFLENBQUMsdUJBQXVCO0lBQ3JELHlCQUF5QixFQUFFLEVBQUUsQ0FBQyx1QkFBdUI7SUFDckQseUJBQXlCLEVBQUUsRUFBRSxDQUFDLHVCQUF1QjtJQUNyRCx5QkFBeUIsRUFBRSxFQUFFLENBQUMsdUJBQXVCO0lBQ3JELHlCQUF5QixFQUFFLEVBQUUsQ0FBQyx1QkFBdUI7SUFDckQseUJBQXlCLEVBQUUsRUFBRSxDQUFDLHVCQUF1QjtJQUNyRCx5QkFBeUIsRUFBRSxFQUFFLENBQUMsdUJBQXVCO0lBQ3JELHlCQUF5QixFQUFFLEVBQUUsQ0FBQyx1QkFBdUI7SUFDckQseUJBQXlCLEVBQUUsRUFBRSxDQUFDLHVCQUF1QjtJQUNyRCxtQkFBbUIsRUFBRSxFQUFFLENBQUMsaUJBQWlCO0lBQ3pDLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxpQkFBaUI7SUFDekMsb0JBQW9CLEVBQUUsa0JBQWtCO0lBQ3hDLGtCQUFrQixFQUFFLGdC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IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7Zm9yd2FyZFJlZiwgcmVzb2x2ZUZvcndhcmRSZWZ9IGZyb20gJy4uLy4uL2RpL2ZvcndhcmRfcmVmJztcbmltcG9ydCB7ybXJtWluamVjdCwgybXJtWludmFsaWRGYWN0b3J5RGVwfSBmcm9tICcuLi8uLi9kaS9pbmplY3Rvcl9jb21wYXRpYmlsaXR5JztcbmltcG9ydCB7ybXJtWRlZmluZUluamVjdGFibGUsIMm1ybVkZWZpbmVJbmplY3Rvcn0gZnJvbSAnLi4vLi4vZGkvaW50ZXJmYWNlL2RlZnMnO1xuaW1wb3J0ICogYXMgc2FuaXRpemF0aW9uIGZyb20gJy4uLy4uL3Nhbml0aXphdGlvbi9zYW5pdGl6YXRpb24nO1xuaW1wb3J0ICogYXMgcjMgZnJvbSAnLi4vaW5kZXgnO1xuXG5cbi8qKlxuICogQSBtYXBwaW5nIG9mIHRoZSBAYW5ndWxhci9jb3JlIEFQSSBzdXJmYWNlIHVzZWQgaW4gZ2VuZXJhdGVkIGV4cHJlc3Npb25zIHRvIHRoZSBhY3R1YWwgc3ltYm9scy5cbiAqXG4gKiBUaGlzIHNob3VsZCBiZSBrZXB0IHVwIHRvIGRhdGUgd2l0aCB0aGUgcHVibGljIGV4cG9ydHMgb2YgQGFuZ3VsYXIvY29yZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGFuZ3VsYXJDb3JlRW52OiB7W25hbWU6IHN0cmluZ106IEZ1bmN0aW9ufSA9XG4gICAgKCgpID0+ICh7XG4gICAgICAgJ8m1ybVhdHRyaWJ1dGUnOiByMy7Jtcm1YXR0cmlidXRlLFxuICAgICAgICfJtcm1YXR0cmlidXRlSW50ZXJwb2xhdGUxJzogcjMuybXJtWF0dHJpYnV0ZUludGVycG9sYXRlMSxcbiAgICAgICAnybXJtWF0dHJpYnV0ZUludGVycG9sYXRlMic6IHIzLsm1ybVhdHRyaWJ1dGVJbnRlcnBvbGF0ZTIsXG4gICAgICAgJ8m1ybVhdHRyaWJ1dGVJbnRlcnBvbGF0ZTMnOiByMy7Jtcm1YXR0cmlidXRlSW50ZXJwb2xhdGUzLFxuICAgICAgICfJtcm1YXR0cmlidXRlSW50ZXJwb2xhdGU0JzogcjMuybXJtWF0dHJpYnV0ZUludGVycG9sYXRlNCxcbiAgICAgICAnybXJtWF0dHJpYnV0ZUludGVycG9sYXRlNSc6IHIzLsm1ybVhdHRyaWJ1dGVJbnRlcnBvbGF0ZTUsXG4gICAgICAgJ8m1ybVhdHRyaWJ1dGVJbnRlcnBvbGF0ZTYnOiByMy7Jtcm1YXR0cmlidXRlSW50ZXJwb2xhdGU2LFxuICAgICAgICfJtcm1YXR0cmlidXRlSW50ZXJwb2xhdGU3JzogcjMuybXJtWF0dHJpYnV0ZUludGVycG9sYXRlNyxcbiAgICAgICAnybXJtWF0dHJpYnV0ZUludGVycG9sYXRlOCc6IHIzLsm1ybVhdHRyaWJ1dGVJbnRlcnBvbGF0ZTgsXG4gICAgICAgJ8m1ybVhdHRyaWJ1dGVJbnRlcnBvbGF0ZVYnOiByMy7Jtcm1YXR0cmlidXRlSW50ZXJwb2xhdGVWLFxuICAgICAgICfJtcm1ZGVmaW5lQ29tcG9uZW50JzogcjMuybXJtWRlZmluZUNvbXBvbmVudCxcbiAgICAgICAnybXJtWRlZmluZURpcmVjdGl2ZSc6IHIzLsm1ybVkZWZpbmVEaXJlY3RpdmUsXG4gICAgICAgJ8m1ybVkZWZpbmVJbmplY3RhYmxlJzogybXJtWRlZmluZUluamVjdGFibGUsXG4gICAgICAgJ8m1ybVkZWZpbmVJbmplY3Rvcic6IMm1ybVkZWZpbmVJbmplY3RvcixcbiAgICAgICAnybXJtWRlZmluZU5nTW9kdWxlJzogcjMuybXJtWRlZmluZU5nTW9kdWxlLFxuICAgICAgICfJtcm1ZGVmaW5lUGlwZSc6IHIzLsm1ybVkZWZpbmVQaXBlLFxuICAgICAgICfJtcm1ZGlyZWN0aXZlSW5qZWN0JzogcjMuybXJtWRpcmVjdGl2ZUluamVjdCxcbiAgICAgICAnybXJtWdldEluaGVyaXRlZEZhY3RvcnknOiByMy7Jtcm1Z2V0SW5oZXJpdGVkRmFjdG9yeSxcbiAgICAgICAnybXJtWluamVjdCc6IMm1ybVpbmplY3QsXG4gICAgICAgJ8m1ybVpbmplY3RBdHRyaWJ1dGUnOiByMy7Jtcm1aW5qZWN0QXR0cmlidXRlLFxuICAgICAgICfJtcm1aW52YWxpZEZhY3RvcnknOiByMy7Jtcm1aW52YWxpZEZhY3RvcnksXG4gICAgICAgJ8m1ybVpbnZhbGlkRmFjdG9yeURlcCc6IMm1ybVpbnZhbGlkRmFjdG9yeURlcCxcbiAgICAgICAnybXJtXRlbXBsYXRlUmVmRXh0cmFjdG9yJzogcjMuybXJtXRlbXBsYXRlUmVmRXh0cmFjdG9yLFxuICAgICAgICfJtcm1TmdPbkNoYW5nZXNGZWF0dXJlJzogcjMuybXJtU5nT25DaGFuZ2VzRmVhdHVyZSxcbiAgICAgICAnybXJtVByb3ZpZGVyc0ZlYXR1cmUnOiByMy7Jtcm1UHJvdmlkZXJzRmVhdHVyZSxcbiAgICAgICAnybXJtUNvcHlEZWZpbml0aW9uRmVhdHVyZSc6IHIzLsm1ybVDb3B5RGVmaW5pdGlvbkZlYXR1cmUsXG4gICAgICAgJ8m1ybVJbmhlcml0RGVmaW5pdGlvbkZlYXR1cmUnOiByMy7Jtcm1SW5oZXJpdERlZmluaXRpb25GZWF0dXJlLFxuICAgICAgICfJtcm1bmV4dENvbnRleHQnOiByMy7Jtcm1bmV4dENvbnRleHQsXG4gICAgICAgJ8m1ybVuYW1lc3BhY2VIVE1MJzogcjMuybXJtW5hbWVzcGFjZUhUTUwsXG4gICAgICAgJ8m1ybVuYW1lc3BhY2VNYXRoTUwnOiByMy7Jtcm1bmFtZXNwYWNlTWF0aE1MLFxuICAgICAgICfJtcm1bmFtZXNwYWNlU1ZHJzogcjMuybXJtW5hbWVzcGFjZVNWRyxcbiAgICAgICAnybXJtWVuYWJsZUJpbmRpbmdzJzogcjMuybXJtWVuYWJsZUJpbmRpbmdzLFxuICAgICAgICfJtcm1ZGlzYWJsZUJpbmRpbmdzJzogcjMuybXJtWRpc2FibGVCaW5kaW5ncyxcbiAgICAgICAnybXJtWVsZW1lbnRTdGFydCc6IHIzLsm1ybVlbGVtZW50U3RhcnQsXG4gICAgICAgJ8m1ybVlbGVtZW50RW5kJzogcjMuybXJtWVsZW1lbnRFbmQsXG4gICAgICAgJ8m1ybVlbGVtZW50JzogcjMuybXJtWVsZW1lbnQsXG4gICAgICAgJ8m1ybVlbGVtZW50Q29udGFpbmVyU3RhcnQnOiByMy7Jtcm1ZWxlbWVudENvbnRhaW5lclN0YXJ0LFxuICAgICAgICfJtcm1ZWxlbWVudENvbnRhaW5lckVuZCc6IHIzLsm1ybVlbGVtZW50Q29udGFpbmVyRW5kLFxuICAgICAgICfJtcm1ZWxlbWVudENvbnRhaW5lcic6IHIzLsm1ybVlbGVtZW50Q29udGFpbmVyLFxuICAgICAgICfJtcm1cHVyZUZ1bmN0aW9uMCc6IHIzLsm1ybVwdXJlRnVuY3Rpb24wLFxuICAgICAgICfJtcm1cHVyZUZ1bmN0aW9uMSc6IHIzLsm1ybVwdXJlRnVuY3Rpb24xLFxuICAgICAgICfJtcm1cHVyZUZ1bmN0aW9uMic6IHIzLsm1ybVwdXJlRnVuY3Rpb24yLFxuICAgICAgICfJtcm1cHVyZUZ1bmN0aW9uMyc6IHIzLsm1ybVwdXJlRnVuY3Rpb24zLFxuICAgICAgICfJtcm1cHVyZUZ1bmN0aW9uNCc6IHIzLsm1ybVwdXJlRnVuY3Rpb240LFxuICAgICAgICfJtcm1cHVyZUZ1bmN0aW9uNSc6IHIzLsm1ybVwdXJlRnVuY3Rpb241LFxuICAgICAgICfJtcm1cHVyZUZ1bmN0aW9uNic6IHIzLsm1ybVwdXJlRnVuY3Rpb242LFxuICAgICAgICfJtcm1cHVyZUZ1bmN0aW9uNyc6IHIzLsm1ybVwdXJlRnVuY3Rpb243LFxuICAgICAgICfJtcm1cHVyZUZ1bmN0aW9uOCc6IHIzLsm1ybVwdXJlRnVuY3Rpb244LFxuICAgICAgICfJtcm1cHVyZUZ1bmN0aW9uVic6IHIzLsm1ybVwdXJlRnVuY3Rpb25WLFxuICAgICAgICfJtcm1Z2V0Q3VycmVudFZpZXcnOiByMy7Jtcm1Z2V0Q3VycmVudFZpZXcsXG4gICAgICAgJ8m1ybVyZXN0b3JlVmlldyc6IHIzLsm1ybVyZXN0b3JlVmlldyxcbiAgICAgICAnybXJtWxpc3RlbmVyJzogcjMuybXJtWxpc3RlbmVyLFxuICAgICAgICfJtcm1cHJvamVjdGlvbic6IHIzLsm1ybVwcm9qZWN0aW9uLFxuICAgICAgICfJtcm1c3ludGhldGljSG9zdFByb3BlcnR5JzogcjMuybXJtXN5bnRoZXRpY0hvc3RQcm9wZXJ0eSxcbiAgICAgICAnybXJtXN5bnRoZXRpY0hvc3RMaXN0ZW5lcic6IHIzLsm1ybVzeW50aGV0aWNIb3N0TGlzdGVuZXIsXG4gICAgICAgJ8m1ybVwaXBlQmluZDEnOiByMy7Jtcm1cGlwZUJpbmQxLFxuICAgICAgICfJtcm1cGlwZUJpbmQyJzogcjMuybXJtXBpcGVCaW5kMixcbiAgICAgICAnybXJtXBpcGVCaW5kMyc6IHIzLsm1ybVwaXBlQmluZDMsXG4gICAgICAgJ8m1ybVwaXBlQmluZDQnOiByMy7Jtcm1cGlwZUJpbmQ0LFxuICAgICAgICfJtcm1cGlwZUJpbmRWJzogcjMuybXJtXBpcGVCaW5kVixcbiAgICAgICAnybXJtXByb2plY3Rpb25EZWYnOiByMy7Jtcm1cHJvamVjdGlvbkRlZixcbiAgICAgICAnybXJtWhvc3RQcm9wZXJ0eSc6IHIzLsm1ybVob3N0UHJvcGVydHksXG4gICAgICAgJ8m1ybVwcm9wZXJ0eSc6IHIzLsm1ybVwcm9wZXJ0eSxcbiAgICAgICAnybXJtXByb3BlcnR5SW50ZXJwb2xhdGUnOiByMy7Jtcm1cHJvcGVydHlJbnRlcnBvbGF0ZSxcbiAgICAgICAnybXJtXByb3BlcnR5SW50ZXJwb2xhdGUxJzogcjMuybXJtXByb3BlcnR5SW50ZXJwb2xhdGUxLFxuICAgICAgICfJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTInOiByMy7Jtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTIsXG4gICAgICAgJ8m1ybVwcm9wZXJ0eUludGVycG9sYXRlMyc6IHIzLsm1ybVwcm9wZXJ0eUludGVycG9sYXRlMyxcbiAgICAgICAnybXJtXByb3BlcnR5SW50ZXJwb2xhdGU0JzogcjMuybXJtXByb3BlcnR5SW50ZXJwb2xhdGU0LFxuICAgICAgICfJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTUnOiByMy7Jtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTUsXG4gICAgICAgJ8m1ybVwcm9wZXJ0eUludGVycG9sYXRlNic6IHIzLsm1ybVwcm9wZXJ0eUludGVycG9sYXRlNixcbiAgICAgICAnybXJtXByb3BlcnR5SW50ZXJwb2xhdGU3JzogcjMuybXJtXByb3BlcnR5SW50ZXJwb2xhdGU3LFxuICAgICAgICfJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTgnOiByMy7Jtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTgsXG4gICAgICAgJ8m1ybVwcm9wZXJ0eUludGVycG9sYXRlVic6IHIzLsm1ybVwcm9wZXJ0eUludGVycG9sYXRlVixcbiAgICAgICAnybXJtXBpcGUnOiByMy7Jtcm1cGlwZSxcbiAgICAgICAnybXJtXF1ZXJ5UmVmcmVzaCc6IHIzLsm1ybVxdWVyeVJlZnJlc2gsXG4gICAgICAgJ8m1ybV2aWV3UXVlcnknOiByMy7Jtcm1dmlld1F1ZXJ5LFxuICAgICAgICfJtcm1bG9hZFF1ZXJ5JzogcjMuybXJtWxvYWRRdWVyeSxcbiAgICAgICAnybXJtWNvbnRlbnRRdWVyeSc6IHIzLsm1ybVjb250ZW50UXVlcnksXG4gICAgICAgJ8m1ybVyZWZlcmVuY2UnOiByMy7Jtcm1cmVmZXJlbmNlLFxuICAgICAgICfJtcm1Y2xhc3NNYXAnOiByMy7Jtcm1Y2xhc3NNYXAsXG4gICAgICAgJ8m1ybVjbGFzc01hcEludGVycG9sYXRlMSc6IHIzLsm1ybVjbGFzc01hcEludGVycG9sYXRlMSxcbiAgICAgICAnybXJtWNsYXNzTWFwSW50ZXJwb2xhdGUyJzogcjMuybXJtWNsYXNzTWFwSW50ZXJwb2xhdGUyLFxuICAgICAgICfJtcm1Y2xhc3NNYXBJbnRlcnBvbGF0ZTMnOiByMy7Jtcm1Y2xhc3NNYXBJbnRlcnBvbGF0ZTMsXG4gICAgICAgJ8m1ybVjbGFzc01hcEludGVycG9sYXRlNCc6IHIzLsm1ybVjbGFzc01hcEludGVycG9sYXRlNCxcbiAgICAgICAnybXJtWNsYXNzTWFwSW50ZXJwb2xhdGU1JzogcjMuybXJtWNsYXNzTWFwSW50ZXJwb2xhdGU1LFxuICAgICAgICfJtcm1Y2xhc3NNYXBJbnRlcnBvbGF0ZTYnOiByMy7Jtcm1Y2xhc3NNYXBJbnRlcnBvbGF0ZTYsXG4gICAgICAgJ8m1ybVjbGFzc01hcEludGVycG9sYXRlNyc6IHIzLsm1ybVjbGFzc01hcEludGVycG9sYXRlNyxcbiAgICAgICAnybXJtWNsYXNzTWFwSW50ZXJwb2xhdGU4JzogcjMuybXJtWNsYXNzTWFwSW50ZXJwb2xhdGU4LFxuICAgICAgICfJtcm1Y2xhc3NNYXBJbnRlcnBvbGF0ZVYnOiByMy7Jtcm1Y2xhc3NNYXBJbnRlcnBvbGF0ZVYsXG4gICAgICAgJ8m1ybVzdHlsZU1hcCc6IHIzLsm1ybVzdHlsZU1hcCxcbiAgICAgICAnybXJtXN0eWxlTWFwSW50ZXJwb2xhdGUxJzogcjMuybXJtXN0eWxlTWFwSW50ZXJwb2xhdGUxLFxuICAgICAgICfJtcm1c3R5bGVNYXBJbnRlcnBvbGF0ZTInOiByMy7Jtcm1c3R5bGVNYXBJbnRlcnBvbGF0ZTIsXG4gICAgICAgJ8m1ybVzdHlsZU1hcEludGVycG9sYXRlMyc6IHIzLsm1ybVzdHlsZU1hcEludGVycG9sYXRlMyxcbiAgICAgICAnybXJtXN0eWxlTWFwSW50ZXJwb2xhdGU0JzogcjMuybXJtXN0eWxlTWFwSW50ZXJwb2xhdGU0LFxuICAgICAgICfJtcm1c3R5bGVNYXBJbnRlcnBvbGF0ZTUnOiByMy7Jtcm1c3R5bGVNYXBJbnRlcnBvbGF0ZTUsXG4gICAgICAgJ8m1ybVzdHlsZU1hcEludGVycG9sYXRlNic6IHIzLsm1ybVzdHlsZU1hcEludGVycG9sYXRlNixcbiAgICAgICAnybXJtXN0eWxlTWFwSW50ZXJwb2xhdGU3JzogcjMuybXJtXN0eWxlTWFwSW50ZXJwb2xhdGU3LFxuICAgICAgICfJtcm1c3R5bGVNYXBJbnRlcnBvbGF0ZTgnOiByMy7Jtcm1c3R5bGVNYXBJbnRlcnBvbGF0ZTgsXG4gICAgICAgJ8m1ybVzdHlsZU1hcEludGVycG9sYXRlVic6IHIzLsm1ybVzdHlsZU1hcEludGVycG9sYXRlVixcbiAgICAgICAnybXJtXN0eWxlUHJvcCc6IHIzLsm1ybVzdHlsZVByb3AsXG4gICAgICAgJ8m1ybVzdHlsZVByb3BJbnRlcnBvbGF0ZTEnOiByMy7Jtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGUxLFxuICAgICAgICfJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGUyJzogcjMuybXJtXN0eWxlUHJvcEludGVycG9sYXRlMixcbiAgICAgICAnybXJtXN0eWxlUHJvcEludGVycG9sYXRlMyc6IHIzLsm1ybVzdHlsZVByb3BJbnRlcnBvbGF0ZTMsXG4gICAgICAgJ8m1ybVzdHlsZVByb3BJbnRlcnBvbGF0ZTQnOiByMy7Jtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGU0LFxuICAgICAgICfJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGU1JzogcjMuybXJtXN0eWxlUHJvcEludGVycG9sYXRlNSxcbiAgICAgICAnybXJtXN0eWxlUHJvcEludGVycG9sYXRlNic6IHIzLsm1ybVzdHlsZVByb3BJbnRlcnBvbGF0ZTYsXG4gICAgICAgJ8m1ybVzdHlsZVByb3BJbnRlcnBvbGF0ZTcnOiByMy7Jtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGU3LFxuICAgICAgICfJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGU4JzogcjMuybXJtXN0eWxlUHJvcEludGVycG9sYXRlOCxcbiAgICAgICAnybXJtXN0eWxlUHJvcEludGVycG9sYXRlVic6IHIzLsm1ybVzdHlsZVByb3BJbnRlcnBvbGF0ZVYsXG4gICAgICAgJ8m1ybVjbGFzc1Byb3AnOiByMy7Jtcm1Y2xhc3NQcm9wLFxuICAgICAgICfJtcm1YWR2YW5jZSc6IHIzLsm1ybVhZHZhbmNlLFxuICAgICAgICfJtcm1dGVtcGxhdGUnOiByMy7Jtcm1dGVtcGxhdGUsXG4gICAgICAgJ8m1ybV0ZXh0JzogcjMuybXJtXRleHQsXG4gICAgICAgJ8m1ybV0ZXh0SW50ZXJwb2xhdGUnOiByMy7Jtcm1dGV4dEludGVycG9sYXRlLFxuICAgICAgICfJtcm1dGV4dEludGVycG9sYXRlMSc6IHIzLsm1ybV0ZXh0SW50ZXJwb2xhdGUxLFxuICAgICAgICfJtcm1dGV4dEludGVycG9sYXRlMic6IHIzLsm1ybV0ZXh0SW50ZXJwb2xhdGUyLFxuICAgICAgICfJtcm1dGV4dEludGVycG9sYXRlMyc6IHIzLsm1ybV0ZXh0SW50ZXJwb2xhdGUzLFxuICAgICAgICfJtcm1dGV4dEludGVycG9sYXRlNCc6IHIzLsm1ybV0ZXh0SW50ZXJwb2xhdGU0LFxuICAgICAgICfJtcm1dGV4dEludGVycG9sYXRlNSc6IHIzLsm1ybV0ZXh0SW50ZXJwb2xhdGU1LFxuICAgICAgICfJtcm1dGV4dEludGVycG9sYXRlNic6IHIzLsm1ybV0ZXh0SW50ZXJwb2xhdGU2LFxuICAgICAgICfJtcm1dGV4dEludGVycG9sYXRlNyc6IHIzLsm1ybV0ZXh0SW50ZXJwb2xhdGU3LFxuICAgICAgICfJtcm1dGV4dEludGVycG9sYXRlOCc6IHIzLsm1ybV0ZXh0SW50ZXJwb2xhdGU4LFxuICAgICAgICfJtcm1dGV4dEludGVycG9sYXRlVic6IHIzLsm1ybV0ZXh0SW50ZXJwb2xhdGVWLFxuICAgICAgICfJtcm1aTE4bic6IHIzLsm1ybVpMThuLFxuICAgICAgICfJtcm1aTE4bkF0dHJpYnV0ZXMnOiByMy7Jtcm1aTE4bkF0dHJpYnV0ZXMsXG4gICAgICAgJ8m1ybVpMThuRXhwJzogcjMuybXJtWkxOG5FeHAsXG4gICAgICAgJ8m1ybVpMThuU3RhcnQnOiByMy7Jtcm1aTE4blN0YXJ0LFxuICAgICAgICfJtcm1aTE4bkVuZCc6IHIzLsm1ybVpMThuRW5kLFxuICAgICAgICfJtcm1aTE4bkFwcGx5JzogcjMuybXJtWkxOG5BcHBseSxcbiAgICAgICAnybXJtWkxOG5Qb3N0cHJvY2Vzcyc6IHIzLsm1ybVpMThuUG9zdHByb2Nlc3MsXG4gICAgICAgJ8m1ybVyZXNvbHZlV2luZG93JzogcjMuybXJtXJlc29sdmVXaW5kb3csXG4gICAgICAgJ8m1ybVyZXNvbHZlRG9jdW1lbnQnOiByMy7Jtcm1cmVzb2x2ZURvY3VtZW50LFxuICAgICAgICfJtcm1cmVzb2x2ZUJvZHknOiByMy7Jtcm1cmVzb2x2ZUJvZHksXG4gICAgICAgJ8m1ybVzZXRDb21wb25lbnRTY29wZSc6IHIzLsm1ybVzZXRDb21wb25lbnRTY29wZSxcbiAgICAgICAnybXJtXNldE5nTW9kdWxlU2NvcGUnOiByMy7Jtcm1c2V0TmdNb2R1bGVTY29wZSxcblxuICAgICAgICfJtcm1c2FuaXRpemVIdG1sJzogc2FuaXRpemF0aW9uLsm1ybVzYW5pdGl6ZUh0bWwsXG4gICAgICAgJ8m1ybVzYW5pdGl6ZVN0eWxlJzogc2FuaXRpemF0aW9uLsm1ybVzYW5pdGl6ZVN0eWxlLFxuICAgICAgICfJtcm1c2FuaXRpemVSZXNvdXJjZVVybCc6IHNhbml0aXphdGlvbi7Jtcm1c2FuaXRpemVSZXNvdXJjZVVybCxcbiAgICAgICAnybXJtXNhbml0aXplU2NyaXB0Jzogc2FuaXRpemF0aW9uLsm1ybVzYW5pdGl6ZVNjcmlwdCxcbiAgICAgICAnybXJtXNhbml0aXplVXJsJzogc2FuaXRpemF0aW9uLsm1ybVzYW5pdGl6ZVVybCxcbiAgICAgICAnybXJtXNhbml0aXplVXJsT3JSZXNvdXJjZVVybCc6IHNhbml0aXphdGlvbi7Jtcm1c2FuaXRpemVVcmxPclJlc291cmNlVXJsLFxuICAgICAgICfJtcm1dHJ1c3RDb25zdGFudEh0bWwnOiBzYW5pdGl6YXRpb24uybXJtXRydXN0Q29uc3RhbnRIdG1sLFxuICAgICAgICfJtcm1dHJ1c3RDb25zdGFudFJlc291cmNlVXJsJzogc2FuaXRpemF0aW9uLsm1ybV0cnVzdENvbnN0YW50UmVzb3VyY2VVcmwsXG5cbiAgICAgICAnZm9yd2FyZFJlZic6IGZvcndhcmRSZWYsXG4gICAgICAgJ3Jlc29sdmVGb3J3YXJkUmVmJzogcmVzb2x2ZUZvcndhcmRSZWYsXG4gICAgIH0pKSgpO1xuIl19
|