@angular/core 7.0.0-rc.1 → 7.0.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/bundles/core-testing.umd.js +36 -33
- package/bundles/core-testing.umd.js.map +1 -1
- package/bundles/core-testing.umd.min.js +3 -3
- package/bundles/core-testing.umd.min.js.map +1 -1
- package/bundles/core.umd.js +1856 -1463
- package/bundles/core.umd.js.map +1 -1
- package/bundles/core.umd.min.js +155 -94
- package/bundles/core.umd.min.js.map +1 -1
- package/core.d.ts +7 -6
- package/core.metadata.json +1 -1
- package/esm2015/core.externs.js +0 -3
- package/esm2015/core.js +6 -6
- package/esm2015/index.js +2 -2
- package/esm2015/public_api.js +2 -2
- package/esm2015/src/application_init.js +5 -1
- package/esm2015/src/application_module.js +2 -2
- package/esm2015/src/application_ref.js +11 -9
- package/esm2015/src/application_tokens.js +7 -7
- package/esm2015/src/change_detection/change_detection_util.js +3 -1
- package/esm2015/src/change_detection/change_detector_ref.js +2 -1
- package/esm2015/src/change_detection/constants.js +1 -1
- package/esm2015/src/change_detection/differs/default_iterable_differ.js +2 -1
- package/esm2015/src/change_detection/differs/iterable_differs.js +8 -6
- package/esm2015/src/change_detection/differs/keyvalue_differs.js +6 -5
- package/esm2015/src/change_detection/pipe_transform.js +2 -2
- package/esm2015/src/core.js +2 -2
- package/esm2015/src/core_render3_private_export.js +5 -4
- package/esm2015/src/debug/debug_node.js +6 -6
- package/esm2015/src/di/defs.js +5 -5
- package/esm2015/src/di/forward_ref.js +4 -4
- package/esm2015/src/di/injectable.js +5 -2
- package/esm2015/src/di/injection_token.js +3 -1
- package/esm2015/src/di/injector.js +3 -3
- package/esm2015/src/di/metadata.js +16 -1
- package/esm2015/src/di/provider.js +16 -6
- package/esm2015/src/di/r3_injector.js +2 -2
- package/esm2015/src/di/reflective_injector.js +2 -2
- package/esm2015/src/di/reflective_key.js +3 -1
- package/esm2015/src/di/reflective_provider.js +3 -3
- package/esm2015/src/error_handler.js +3 -1
- package/esm2015/src/event_emitter.js +2 -1
- package/esm2015/src/i18n/tokens.js +4 -4
- package/esm2015/src/is_dev_mode.js +4 -2
- package/esm2015/src/ivy_switch/runtime/index.js +2 -2
- package/esm2015/src/ivy_switch/runtime/ivy_switch_on.js +4 -2
- package/esm2015/src/ivy_switch/runtime/jit.js +2 -2
- package/esm2015/src/ivy_switch/runtime/legacy.js +7 -1
- package/esm2015/src/ivy_switch/runtime/local.js +2 -2
- package/esm2015/src/linker/compiler.js +5 -4
- package/esm2015/src/linker/component_factory.js +4 -2
- package/esm2015/src/linker/component_factory_resolver.js +2 -1
- package/esm2015/src/linker/element_ref.js +2 -2
- package/esm2015/src/linker/ng_module_factory.js +3 -3
- package/esm2015/src/linker/ng_module_factory_loader.js +4 -3
- package/esm2015/src/linker/query_list.js +3 -1
- package/esm2015/src/linker/system_js_ng_module_factory_loader.js +3 -3
- package/esm2015/src/linker/template_ref.js +2 -1
- package/esm2015/src/linker/view_container_ref.js +2 -1
- package/esm2015/src/linker/view_ref.js +4 -2
- package/esm2015/src/metadata/di.js +13 -5
- package/esm2015/src/metadata/directives.js +20 -7
- package/esm2015/src/metadata/lifecycle_hooks.js +10 -5
- package/esm2015/src/metadata/ng_module.js +8 -6
- package/esm2015/src/metadata/view.js +1 -1
- package/esm2015/src/platform_core_providers.js +2 -2
- package/esm2015/src/profile/profile.js +5 -5
- package/esm2015/src/profile/wtf_impl.js +2 -2
- package/esm2015/src/r3_symbols.js +1 -1
- package/esm2015/src/reflection/reflection_capabilities.js +3 -3
- package/esm2015/src/render/api.js +20 -7
- package/esm2015/src/render3/component.js +52 -18
- package/esm2015/src/render3/component_ref.js +15 -15
- package/esm2015/src/render3/context_discovery.js +35 -126
- package/esm2015/src/render3/debug.js +33 -56
- package/esm2015/src/render3/definition.js +42 -37
- package/esm2015/src/render3/di.js +4 -28
- package/esm2015/src/render3/discovery_utils.js +10 -7
- package/esm2015/src/render3/i18n.js +60 -34
- package/esm2015/src/render3/index.js +3 -3
- package/esm2015/src/render3/instructions.js +162 -275
- package/esm2015/src/render3/interfaces/container.js +7 -5
- package/esm2015/src/render3/interfaces/context.js +60 -0
- package/esm2015/src/render3/interfaces/definition.js +7 -1
- package/esm2015/src/render3/interfaces/i18n.js +338 -0
- package/esm2015/src/render3/interfaces/node.js +12 -126
- package/esm2015/src/render3/interfaces/player.js +73 -1
- package/esm2015/src/render3/interfaces/styling.js +18 -22
- package/esm2015/src/render3/interfaces/view.js +19 -26
- package/esm2015/src/render3/jit/compiler_facade.js +22 -0
- package/esm2015/src/render3/jit/compiler_facade_interface.js +229 -0
- package/esm2015/src/render3/jit/directive.js +57 -93
- package/esm2015/src/render3/jit/environment.js +7 -3
- package/esm2015/src/render3/jit/injectable.js +21 -46
- package/esm2015/src/render3/jit/module.js +16 -43
- package/esm2015/src/render3/jit/pipe.js +6 -12
- package/esm2015/src/render3/jit/util.js +14 -17
- package/esm2015/src/render3/node_assert.js +1 -1
- package/esm2015/src/render3/node_manipulation.js +99 -109
- package/esm2015/src/render3/players.js +67 -0
- package/esm2015/src/render3/styling/class_and_style_bindings.js +347 -88
- package/esm2015/src/render3/styling/core_player_handler.js +2 -2
- package/esm2015/src/render3/styling/player_factory.js +48 -0
- package/esm2015/src/render3/styling/util.js +165 -17
- package/esm2015/src/render3/util.js +73 -20
- package/esm2015/src/render3/view_engine_compatibility.js +56 -40
- package/esm2015/src/sanitization/security.js +2 -2
- package/esm2015/src/testability/testability.js +5 -6
- package/esm2015/src/type.js +5 -2
- package/esm2015/src/util/decorators.js +2 -1
- package/esm2015/src/util.js +15 -1
- package/esm2015/src/version.js +6 -4
- package/esm2015/src/view/refs.js +3 -3
- package/esm2015/src/view/services.js +8 -6
- package/esm2015/src/zone/ng_zone.js +2 -2
- package/esm2015/testing/src/async.js +2 -2
- package/esm2015/testing/src/component_fixture.js +2 -2
- package/esm2015/testing/src/fake_async.js +7 -7
- package/esm2015/testing/src/fake_async_fallback.js +7 -7
- package/esm2015/testing/src/metadata_override.js +1 -1
- package/esm2015/testing/src/r3_test_bed.js +8 -6
- package/esm2015/testing/src/test_bed.js +10 -8
- package/esm2015/testing/src/test_bed_common.js +6 -6
- package/esm2015/testing/src/test_compiler.js +3 -3
- package/esm5/core.js +6 -6
- package/esm5/src/application_init.js +5 -1
- package/esm5/src/application_module.js +2 -2
- package/esm5/src/application_ref.js +11 -9
- package/esm5/src/application_tokens.js +7 -7
- package/esm5/src/change_detection/change_detection_util.js +3 -1
- package/esm5/src/change_detection/change_detector_ref.js +2 -1
- package/esm5/src/change_detection/constants.js +2 -1
- package/esm5/src/change_detection/differs/default_iterable_differ.js +2 -1
- package/esm5/src/change_detection/differs/iterable_differs.js +2 -1
- package/esm5/src/change_detection/differs/keyvalue_differs.js +2 -1
- package/esm5/src/change_detection/pipe_transform.js +1 -1
- package/esm5/src/core_render3_private_export.js +5 -4
- package/esm5/src/debug/debug_node.js +5 -5
- package/esm5/src/di/defs.js +3 -3
- package/esm5/src/di/forward_ref.js +3 -3
- package/esm5/src/di/injectable.js +6 -5
- package/esm5/src/di/injection_token.js +3 -1
- package/esm5/src/di/injector.js +3 -3
- package/esm5/src/di/metadata.js +6 -1
- package/esm5/src/di/provider.js +1 -1
- package/esm5/src/di/r3_injector.js +2 -2
- package/esm5/src/di/reflective_injector.js +2 -2
- package/esm5/src/di/reflective_key.js +3 -1
- package/esm5/src/di/reflective_provider.js +2 -2
- package/esm5/src/error_handler.js +3 -1
- package/esm5/src/event_emitter.js +2 -1
- package/esm5/src/i18n/tokens.js +5 -5
- package/esm5/src/is_dev_mode.js +4 -2
- package/esm5/src/ivy_switch/runtime/ivy_switch_on.js +3 -2
- package/esm5/src/ivy_switch/runtime/legacy.js +4 -1
- package/esm5/src/linker/compiler.js +5 -4
- package/esm5/src/linker/component_factory.js +5 -1
- package/esm5/src/linker/component_factory_resolver.js +4 -1
- package/esm5/src/linker/element_ref.js +2 -2
- package/esm5/src/linker/ng_module_factory.js +3 -3
- package/esm5/src/linker/ng_module_factory_loader.js +4 -3
- package/esm5/src/linker/query_list.js +3 -1
- package/esm5/src/linker/system_js_ng_module_factory_loader.js +3 -3
- package/esm5/src/linker/template_ref.js +2 -1
- package/esm5/src/linker/view_container_ref.js +2 -1
- package/esm5/src/linker/view_ref.js +4 -2
- package/esm5/src/metadata/di.js +10 -3
- package/esm5/src/metadata/directives.js +9 -6
- package/esm5/src/metadata/lifecycle_hooks.js +1 -1
- package/esm5/src/metadata/ng_module.js +4 -3
- package/esm5/src/metadata/view.js +4 -1
- package/esm5/src/platform_core_providers.js +2 -2
- package/esm5/src/profile/profile.js +5 -5
- package/esm5/src/profile/wtf_impl.js +1 -1
- package/esm5/src/r3_symbols.js +1 -1
- package/esm5/src/reflection/reflection_capabilities.js +3 -3
- package/esm5/src/render/api.js +11 -5
- package/esm5/src/render3/component.js +45 -16
- package/esm5/src/render3/component_ref.js +12 -13
- package/esm5/src/render3/context_discovery.js +33 -65
- package/esm5/src/render3/debug.js +31 -50
- package/esm5/src/render3/definition.js +35 -31
- package/esm5/src/render3/di.js +4 -20
- package/esm5/src/render3/discovery_utils.js +12 -7
- package/esm5/src/render3/i18n.js +40 -30
- package/esm5/src/render3/index.js +3 -3
- package/esm5/src/render3/instructions.js +143 -230
- package/esm5/src/render3/interfaces/container.js +6 -5
- package/esm5/src/render3/interfaces/context.js +13 -0
- package/esm5/src/render3/interfaces/definition.js +1 -1
- package/esm5/src/render3/interfaces/i18n.js +25 -0
- package/esm5/src/render3/interfaces/node.js +1 -1
- package/esm5/src/render3/interfaces/player.js +1 -1
- package/esm5/src/render3/interfaces/styling.js +1 -8
- package/esm5/src/render3/interfaces/view.js +18 -17
- package/esm5/src/render3/jit/compiler_facade.js +21 -0
- package/esm5/src/render3/jit/compiler_facade_interface.js +15 -0
- package/esm5/src/render3/jit/directive.js +44 -79
- package/esm5/src/render3/jit/environment.js +7 -3
- package/esm5/src/render3/jit/injectable.js +26 -46
- package/esm5/src/render3/jit/module.js +16 -31
- package/esm5/src/render3/jit/pipe.js +6 -9
- package/esm5/src/render3/jit/util.js +12 -17
- package/esm5/src/render3/node_assert.js +1 -1
- package/esm5/src/render3/node_manipulation.js +89 -101
- package/esm5/src/render3/players.js +59 -0
- package/esm5/src/render3/styling/class_and_style_bindings.js +248 -85
- package/esm5/src/render3/styling/core_player_handler.js +2 -2
- package/esm5/src/render3/styling/player_factory.js +29 -0
- package/esm5/src/render3/styling/util.js +132 -14
- package/esm5/src/render3/util.js +54 -21
- package/esm5/src/render3/view_engine_compatibility.js +46 -32
- package/esm5/src/sanitization/security.js +3 -3
- package/esm5/src/testability/testability.js +4 -4
- package/esm5/src/type.js +2 -2
- package/esm5/src/util/decorators.js +1 -1
- package/esm5/src/util.js +13 -1
- package/esm5/src/version.js +6 -3
- package/esm5/src/view/refs.js +1 -1
- package/esm5/src/view/services.js +7 -10
- package/esm5/src/zone/ng_zone.js +2 -2
- package/esm5/testing/src/async.js +2 -2
- package/esm5/testing/src/component_fixture.js +2 -2
- package/esm5/testing/src/fake_async.js +7 -7
- package/esm5/testing/src/fake_async_fallback.js +7 -7
- package/esm5/testing/src/metadata_override.js +1 -1
- package/esm5/testing/src/r3_test_bed.js +8 -7
- package/esm5/testing/src/test_bed.js +10 -8
- package/esm5/testing/src/test_bed_common.js +4 -4
- package/esm5/testing/src/test_compiler.js +3 -3
- package/fesm2015/core.js +2486 -1951
- package/fesm2015/core.js.map +1 -1
- package/fesm2015/testing.js +36 -32
- package/fesm2015/testing.js.map +1 -1
- package/fesm5/core.js +1830 -1439
- package/fesm5/core.js.map +1 -1
- package/fesm5/testing.js +36 -33
- package/fesm5/testing.js.map +1 -1
- package/package.json +1 -2
- package/src/application_init.d.ts +4 -0
- package/src/application_module.d.ts +1 -1
- package/src/application_ref.d.ts +10 -8
- package/src/application_tokens.d.ts +6 -6
- package/src/change_detection/change_detection_util.d.ts +2 -0
- package/src/change_detection/change_detector_ref.d.ts +1 -0
- package/src/change_detection/constants.d.ts +1 -0
- package/src/change_detection/differs/default_iterable_differ.d.ts +1 -0
- package/src/change_detection/differs/iterable_differs.d.ts +8 -6
- package/src/change_detection/differs/keyvalue_differs.d.ts +5 -4
- package/src/change_detection/pipe_transform.d.ts +1 -1
- package/src/core_render3_private_export.d.ts +7 -5
- package/src/debug/debug_node.d.ts +5 -5
- package/src/di/defs.d.ts +4 -4
- package/src/di/forward_ref.d.ts +3 -3
- package/src/di/injectable.d.ts +10 -7
- package/src/di/injection_token.d.ts +2 -0
- package/src/di/injector.d.ts +5 -3
- package/src/di/metadata.d.ts +24 -1
- package/src/di/provider.d.ts +19 -5
- package/src/di/r3_injector.d.ts +1 -1
- package/src/di/reflective_injector.d.ts +1 -1
- package/src/di/reflective_key.d.ts +2 -0
- package/src/di/reflective_provider.d.ts +2 -2
- package/src/error_handler.d.ts +2 -0
- package/src/event_emitter.d.ts +1 -0
- package/src/i18n/tokens.d.ts +4 -4
- package/src/is_dev_mode.d.ts +3 -1
- package/src/ivy_switch/runtime/ivy_switch_on.d.ts +2 -1
- package/src/ivy_switch/runtime/legacy.d.ts +3 -0
- package/src/linker/compiler.d.ts +5 -4
- package/src/linker/component_factory.d.ts +5 -1
- package/src/linker/component_factory_resolver.d.ts +3 -0
- package/src/linker/element_ref.d.ts +1 -1
- package/src/linker/ng_module_factory.d.ts +2 -2
- package/src/linker/ng_module_factory_loader.d.ts +3 -2
- package/src/linker/query_list.d.ts +2 -0
- package/src/linker/system_js_ng_module_factory_loader.d.ts +2 -2
- package/src/linker/template_ref.d.ts +1 -0
- package/src/linker/view_container_ref.d.ts +1 -0
- package/src/linker/view_ref.d.ts +3 -1
- package/src/metadata/di.d.ts +13 -5
- package/src/metadata/directives.d.ts +19 -6
- package/src/metadata/lifecycle_hooks.d.ts +9 -4
- package/src/metadata/ng_module.d.ts +7 -7
- package/src/metadata/view.d.ts +3 -0
- package/src/platform_core_providers.d.ts +1 -1
- package/src/profile/profile.d.ts +4 -4
- package/src/profile/wtf_impl.d.ts +1 -1
- package/src/r3_symbols.d.ts +1 -1
- package/src/render/api.d.ts +10 -7
- package/src/render3/component.d.ts +14 -3
- package/src/render3/context_discovery.d.ts +6 -58
- package/src/render3/definition.d.ts +0 -4
- package/src/render3/di.d.ts +1 -3
- package/src/render3/discovery_utils.d.ts +7 -1
- package/src/render3/i18n.d.ts +4 -0
- package/src/render3/index.d.ts +2 -2
- package/src/render3/instructions.d.ts +43 -50
- package/src/render3/interfaces/container.d.ts +36 -22
- package/src/render3/interfaces/context.d.ts +52 -0
- package/src/render3/interfaces/definition.d.ts +8 -3
- package/src/render3/interfaces/i18n.d.ts +326 -0
- package/src/render3/interfaces/node.d.ts +12 -89
- package/src/render3/interfaces/player.d.ts +58 -4
- package/src/render3/interfaces/styling.d.ts +17 -15
- package/src/render3/interfaces/view.d.ts +28 -28
- package/src/render3/jit/compiler_facade.d.ts +3 -0
- package/src/render3/jit/compiler_facade_interface.d.ts +131 -0
- package/src/render3/jit/directive.d.ts +3 -0
- package/src/render3/jit/util.d.ts +3 -3
- package/src/render3/node_manipulation.d.ts +21 -22
- package/src/render3/players.d.ts +32 -0
- package/src/render3/styling/class_and_style_bindings.d.ts +31 -24
- package/src/render3/styling/player_factory.d.ts +31 -0
- package/src/render3/styling/util.d.ts +31 -9
- package/src/render3/util.d.ts +32 -15
- package/src/render3/view_engine_compatibility.d.ts +3 -0
- package/src/sanitization/security.d.ts +2 -2
- package/src/testability/testability.d.ts +5 -6
- package/src/type.d.ts +6 -1
- package/src/util/decorators.d.ts +1 -0
- package/src/util.d.ts +10 -0
- package/src/version.d.ts +4 -1
- package/src/view/services.d.ts +2 -2
- package/src/zone/ng_zone.d.ts +1 -1
- package/testing/src/async.d.ts +1 -1
- package/testing/src/component_fixture.d.ts +1 -1
- package/testing/src/fake_async.d.ts +6 -6
- package/testing/src/fake_async_fallback.d.ts +6 -6
- package/testing/src/metadata_override.d.ts +1 -1
- package/testing/src/r3_test_bed.d.ts +4 -4
- package/testing/src/test_bed.d.ts +12 -10
- package/testing/src/test_bed_common.d.ts +6 -6
- package/testing/src/test_compiler.d.ts +2 -2
- package/testing/testing.metadata.json +1 -1
- package/esm2015/src/render3/player.js +0 -51
- package/esm5/src/render3/player.js +0 -39
- package/src/render3/player.d.ts +0 -3
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* Use of this source code is governed by an MIT-style license that can be
|
|
10
10
|
* found in the LICENSE file at https://angular.io/license
|
|
11
11
|
*/
|
|
12
|
-
import { NEXT, PARENT, QUERIES } from './view';
|
|
12
|
+
import { HOST, NEXT, PARENT, QUERIES } from './view';
|
|
13
13
|
/** *
|
|
14
14
|
* Below are constants for LContainer indices to help us look up LContainer members
|
|
15
15
|
* without having to remember the specific indices.
|
|
@@ -17,11 +17,13 @@ import { NEXT, PARENT, QUERIES } from './view';
|
|
|
17
17
|
@type {?} */
|
|
18
18
|
export const ACTIVE_INDEX = 0;
|
|
19
19
|
/** @type {?} */
|
|
20
|
-
export const VIEWS =
|
|
20
|
+
export const VIEWS = 1;
|
|
21
21
|
/** @type {?} */
|
|
22
|
-
export const
|
|
22
|
+
export const NATIVE = 6;
|
|
23
|
+
/** @type {?} */
|
|
24
|
+
export const RENDER_PARENT = 7;
|
|
23
25
|
/**
|
|
24
|
-
* The state associated with
|
|
26
|
+
* The state associated with a container.
|
|
25
27
|
*
|
|
26
28
|
* This is an array so that its structure is closer to LViewData. This helps
|
|
27
29
|
* when traversing the view tree (which is a mix of containers and component
|
|
@@ -33,4 +35,4 @@ export function LContainer() { }
|
|
|
33
35
|
/** @type {?} */
|
|
34
36
|
export const unusedValueExportToPlacateAjd = 1;
|
|
35
37
|
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvcmVuZGVyMy9pbnRlcmZhY2VzL2NvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQVdBLE9BQU8sRUFBQyxJQUFJLEVBQWEsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUMsTUFBTSxRQUFRLENBQUM7Ozs7OztBQVE5RCxhQUFhLFlBQVksR0FBRyxDQUFDLENBQUM7O0FBQzlCLGFBQWEsS0FBSyxHQUFHLENBQUMsQ0FBQzs7QUFHdkIsYUFBYSxNQUFNLEdBQUcsQ0FBQyxDQUFDOztBQUN4QixhQUFhLGFBQWEsR0FBRyxDQUFDLENBQUM7Ozs7Ozs7Ozs7OztBQXNGL0IsYUFBYSw2QkFBNkIsR0FBRyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7TFF1ZXJpZXN9IGZyb20gJy4vcXVlcnknO1xuaW1wb3J0IHtSQ29tbWVudCwgUkVsZW1lbnR9IGZyb20gJy4vcmVuZGVyZXInO1xuaW1wb3J0IHtTdHlsaW5nQ29udGV4dH0gZnJvbSAnLi9zdHlsaW5nJztcbmltcG9ydCB7SE9TVCwgTFZpZXdEYXRhLCBORVhULCBQQVJFTlQsIFFVRVJJRVN9IGZyb20gJy4vdmlldyc7XG5cblxuLyoqXG4gKiBCZWxvdyBhcmUgY29uc3RhbnRzIGZvciBMQ29udGFpbmVyIGluZGljZXMgdG8gaGVscCB1cyBsb29rIHVwIExDb250YWluZXIgbWVtYmVyc1xuICogd2l0aG91dCBoYXZpbmcgdG8gcmVtZW1iZXIgdGhlIHNwZWNpZmljIGluZGljZXMuXG4gKiBVZ2xpZnkgd2lsbCBpbmxpbmUgdGhlc2Ugd2hlbiBtaW5pZnlpbmcgc28gdGhlcmUgc2hvdWxkbid0IGJlIGEgY29zdC5cbiAqL1xuZXhwb3J0IGNvbnN0IEFDVElWRV9JTkRFWCA9IDA7XG5leHBvcnQgY29uc3QgVklFV1MgPSAxO1xuLy8gUEFSRU5ULCBORVhULCBRVUVSSUVTLCBhbmQgSE9TVCBhcmUgaW5kaWNlcyAyLCAzLCA0LCBhbmQgNS5cbi8vIEFzIHdlIGFscmVhZHkgaGF2ZSB0aGVzZSBjb25zdGFudHMgaW4gTFZpZXdEYXRhLCB3ZSBkb24ndCBuZWVkIHRvIHJlLWNyZWF0ZSB0aGVtLlxuZXhwb3J0IGNvbnN0IE5BVElWRSA9IDY7XG5leHBvcnQgY29uc3QgUkVOREVSX1BBUkVOVCA9IDc7XG5cbi8qKlxuICogVGhlIHN0YXRlIGFzc29jaWF0ZWQgd2l0aCBhIGNvbnRhaW5lci5cbiAqXG4gKiBUaGlzIGlzIGFuIGFycmF5IHNvIHRoYXQgaXRzIHN0cnVjdHVyZSBpcyBjbG9zZXIgdG8gTFZpZXdEYXRhLiBUaGlzIGhlbHBzXG4gKiB3aGVuIHRyYXZlcnNpbmcgdGhlIHZpZXcgdHJlZSAod2hpY2ggaXMgYSBtaXggb2YgY29udGFpbmVycyBhbmQgY29tcG9uZW50XG4gKiB2aWV3cyksIHNvIHdlIGNhbiBqdW1wIHRvIHZpZXdPckNvbnRhaW5lcltORVhUXSBpbiB0aGUgc2FtZSB3YXkgcmVnYXJkbGVzc1xuICogb2YgdHlwZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMQ29udGFpbmVyIGV4dGVuZHMgQXJyYXk8YW55PiB7XG4gIC8qKlxuICAgKiBUaGUgbmV4dCBhY3RpdmUgaW5kZXggaW4gdGhlIHZpZXdzIGFycmF5IHRvIHJlYWQgb3Igd3JpdGUgdG8uIFRoaXMgaGVscHMgdXNcbiAgICoga2VlcCB0cmFjayBvZiB3aGVyZSB3ZSBhcmUgaW4gdGhlIHZpZXdzIGFycmF5LlxuICAgKiBJbiB0aGUgY2FzZSB0aGUgTENvbnRhaW5lciBpcyBjcmVhdGVkIGZvciBhIFZpZXdDb250YWluZXJSZWYsXG4gICAqIGl0IGlzIHNldCB0byBudWxsIHRvIGlkZW50aWZ5IHRoaXMgc2NlbmFyaW8sIGFzIGluZGljZXMgYXJlIFwiYWJzb2x1dGVcIiBpbiB0aGF0IGNhc2UsXG4gICAqIGkuZS4gcHJvdmlkZWQgZGlyZWN0bHkgYnkgdGhlIHVzZXIgb2YgdGhlIFZpZXdDb250YWluZXJSZWYgQVBJLlxuICAgKi9cbiAgW0FDVElWRV9JTkRFWF06IG51bWJlcjtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIHRoZSBjb250YWluZXIncyBjdXJyZW50bHkgYWN0aXZlIGNoaWxkIHZpZXdzLiBWaWV3cyB3aWxsIGJlIGluc2VydGVkXG4gICAqIGhlcmUgYXMgdGhleSBhcmUgYWRkZWQgYW5kIHNwbGljZWQgZnJvbSBoZXJlIHdoZW4gdGhleSBhcmUgcmVtb3ZlZC4gV2UgbmVlZFxuICAgKiB0byBrZWVwIGEgcmVjb3JkIG9mIGN1cnJlbnQgdmlld3Mgc28gd2Uga25vdyB3aGljaCB2aWV3cyBhcmUgYWxyZWFkeSBpbiB0aGUgRE9NXG4gICAqIChhbmQgZG9uJ3QgbmVlZCB0byBiZSByZS1hZGRlZCkgYW5kIHNvIHdlIGNhbiByZW1vdmUgdmlld3MgZnJvbSB0aGUgRE9NIHdoZW4gdGhleVxuICAgKiBhcmUgbm8gbG9uZ2VyIHJlcXVpcmVkLlxuICAgKi9cbiAgW1ZJRVdTXTogTFZpZXdEYXRhW107XG5cbiAgLyoqXG4gICAqIEFjY2VzcyB0byB0aGUgcGFyZW50IHZpZXcgaXMgbmVjZXNzYXJ5IHNvIHdlIGNhbiBwcm9wYWdhdGUgYmFja1xuICAgKiB1cCBmcm9tIGluc2lkZSBhIGNvbnRhaW5lciB0byBwYXJlbnRbTkVYVF0uXG4gICAqL1xuICBbUEFSRU5UXTogTFZpZXdEYXRhfG51bGw7XG5cbiAgLyoqXG4gICAqIFRoaXMgYWxsb3dzIHVzIHRvIGp1bXAgZnJvbSBhIGNvbnRhaW5lciB0byBhIHNpYmxpbmcgY29udGFpbmVyIG9yIGNvbXBvbmVudFxuICAgKiB2aWV3IHdpdGggdGhlIHNhbWUgcGFyZW50LCBzbyB3ZSBjYW4gcmVtb3ZlIGxpc3RlbmVycyBlZmZpY2llbnRseS5cbiAgICovXG4gIFtORVhUXTogTFZpZXdEYXRhfExDb250YWluZXJ8bnVsbDtcblxuICAvKipcbiAgICogUXVlcmllcyBhY3RpdmUgZm9yIHRoaXMgY29udGFpbmVyIC0gYWxsIHRoZSB2aWV3cyBpbnNlcnRlZCB0byAvIHJlbW92ZWQgZnJvbVxuICAgKiB0aGlzIGNvbnRhaW5lciBhcmUgcmVwb3J0ZWQgdG8gcXVlcmllcyByZWZlcmVuY2VkIGhlcmUuXG4gICAqL1xuICBbUVVFUklFU106IExRdWVyaWVzfG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBob3N0IGVsZW1lbnQgb2YgdGhpcyBMQ29udGFpbmVyLlxuICAgKlxuICAgKiBUaGUgaG9zdCBjb3VsZCBiZSBhbiBMVmlld0RhdGEgaWYgdGhpcyBjb250YWluZXIgaXMgb24gYSBjb21wb25lbnQgbm9kZS5cbiAgICogSW4gdGhhdCBjYXNlLCB0aGUgY29tcG9uZW50IExWaWV3RGF0YSBpcyBpdHMgSE9TVC5cbiAgICpcbiAgICogSXQgY291bGQgYWxzbyBiZSBhIHN0eWxpbmcgY29udGV4dCBpZiB0aGlzIGlzIGEgbm9kZSB3aXRoIGEgc3R5bGUvY2xhc3NcbiAgICogYmluZGluZy5cbiAgICovXG4gIFtIT1NUXTogUkVsZW1lbnR8UkNvbW1lbnR8U3R5bGluZ0NvbnRleHR8TFZpZXdEYXRhO1xuXG4gIC8qKiBUaGUgY29tbWVudCBlbGVtZW50IHRoYXQgc2VydmVzIGFzIGFuIGFuY2hvciBmb3IgdGhpcyBMQ29udGFpbmVyLiAqL1xuICBbTkFUSVZFXTogUkNvbW1lbnQ7XG5cbiAgLyoqXG4gICAqIFBhcmVudCBFbGVtZW50IHdoaWNoIHdpbGwgY29udGFpbiB0aGUgbG9jYXRpb24gd2hlcmUgYWxsIG9mIHRoZSB2aWV3cyB3aWxsIGJlXG4gICAqIGluc2VydGVkIGludG8gdG8uXG4gICAqXG4gICAqIElmIGByZW5kZXJQYXJlbnRgIGlzIGBudWxsYCBpdCBpcyBoZWFkbGVzcy4gVGhpcyBtZWFucyB0aGF0IGl0IGlzIGNvbnRhaW5lZFxuICAgKiBpbiBhbm90aGVyIHZpZXcgd2hpY2ggaW4gdHVybiBpcyBjb250YWluZWQgaW4gYW5vdGhlciBjb250YWluZXIgYW5kXG4gICAqIHRoZXJlZm9yZSBpdCBkb2VzIG5vdCB5ZXQgaGF2ZSBpdHMgb3duIHBhcmVudC5cbiAgICpcbiAgICogSWYgYHJlbmRlclBhcmVudGAgaXMgbm90IGBudWxsYCB0aGVuIGl0IG1heSBiZTpcbiAgICogLSBzYW1lIGFzIGB0Q29udGFpbmVyTm9kZS5wYXJlbnRgIGluIHdoaWNoIGNhc2UgaXQgaXMganVzdCBhIG5vcm1hbCBjb250YWluZXIuXG4gICAqIC0gZGlmZmVyZW50IGZyb20gYHRDb250YWluZXJOb2RlLnBhcmVudGAgaW4gd2hpY2ggY2FzZSBpdCBoYXMgYmVlbiByZS1wcm9qZWN0ZWQuXG4gICAqICAgSW4gb3RoZXIgd29yZHMgYHRDb250YWluZXJOb2RlLnBhcmVudGAgaXMgbG9naWNhbCBwYXJlbnQgd2hlcmUgYXNcbiAgICogICBgdENvbnRhaW5lck5vZGUucHJvamVjdGVkUGFyZW50YCBpcyByZW5kZXIgcGFyZW50LlxuICAgKlxuICAgKiBXaGVuIHZpZXdzIGFyZSBpbnNlcnRlZCBpbnRvIGBMQ29udGFpbmVyYCB0aGVuIGByZW5kZXJQYXJlbnRgIGlzOlxuICAgKiAtIGBudWxsYCwgd2UgYXJlIGluIGEgdmlldywga2VlcCBnb2luZyB1cCBhIGhpZXJhcmNoeSB1bnRpbCBhY3R1YWxcbiAgICogICBgcmVuZGVyUGFyZW50YCBpcyBmb3VuZC5cbiAgICogLSBub3QgYG51bGxgLCB0aGVuIHVzZSB0aGUgYHByb2plY3RlZFBhcmVudC5uYXRpdmVgIGFzIHRoZSBgUkVsZW1lbnRgIHRvIGluc2VydFxuICAgKiB2aWV3cyBpbnRvLlxuICAgKi9cbiAgW1JFTkRFUl9QQVJFTlRdOiBSRWxlbWVudHxudWxsO1xufVxuXG4vLyBOb3RlOiBUaGlzIGhhY2sgaXMgbmVjZXNzYXJ5IHNvIHdlIGRvbid0IGVycm9uZW91c2x5IGdldCBhIGNpcmN1bGFyIGRlcGVuZGVuY3lcbi8vIGZhaWx1cmUgYmFzZWQgb24gdHlwZXMuXG5leHBvcnQgY29uc3QgdW51c2VkVmFsdWVFeHBvcnRUb1BsYWNhdGVBamQgPSAxO1xuIl19
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @license
|
|
7
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
8
|
+
*
|
|
9
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
10
|
+
* found in the LICENSE file at https://angular.io/license
|
|
11
|
+
*/
|
|
12
|
+
/** *
|
|
13
|
+
* This property will be monkey-patched on elements, components and directives
|
|
14
|
+
@type {?} */
|
|
15
|
+
export const MONKEY_PATCH_KEY_NAME = '__ngContext__';
|
|
16
|
+
/**
|
|
17
|
+
* The internal view context which is specific to a given DOM element, directive or
|
|
18
|
+
* component instance. Each value in here (besides the LViewData and element node details)
|
|
19
|
+
* can be present, null or undefined. If undefined then it implies the value has not been
|
|
20
|
+
* looked up yet, otherwise, if null, then a lookup was executed and nothing was found.
|
|
21
|
+
*
|
|
22
|
+
* Each value will get filled when the respective value is examined within the getContext
|
|
23
|
+
* function. The component, element and each directive instance will share the same instance
|
|
24
|
+
* of the context.
|
|
25
|
+
* @record
|
|
26
|
+
*/
|
|
27
|
+
export function LContext() { }
|
|
28
|
+
/**
|
|
29
|
+
* The component's parent view data.
|
|
30
|
+
* @type {?}
|
|
31
|
+
*/
|
|
32
|
+
LContext.prototype.lViewData;
|
|
33
|
+
/**
|
|
34
|
+
* The index instance of the node.
|
|
35
|
+
* @type {?}
|
|
36
|
+
*/
|
|
37
|
+
LContext.prototype.nodeIndex;
|
|
38
|
+
/**
|
|
39
|
+
* The instance of the DOM node that is attached to the lNode.
|
|
40
|
+
* @type {?}
|
|
41
|
+
*/
|
|
42
|
+
LContext.prototype.native;
|
|
43
|
+
/**
|
|
44
|
+
* The instance of the Component node.
|
|
45
|
+
* @type {?}
|
|
46
|
+
*/
|
|
47
|
+
LContext.prototype.component;
|
|
48
|
+
/**
|
|
49
|
+
* The list of active directives that exist on this element.
|
|
50
|
+
* @type {?}
|
|
51
|
+
*/
|
|
52
|
+
LContext.prototype.directives;
|
|
53
|
+
/**
|
|
54
|
+
* The map of local references (local reference name => element or directive instance) that exist
|
|
55
|
+
* on this element.
|
|
56
|
+
* @type {?}
|
|
57
|
+
*/
|
|
58
|
+
LContext.prototype.localRefs;
|
|
59
|
+
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3JlbmRlcjMvaW50ZXJmYWNlcy9jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBZUEsYUFBYSxxQkFBcUIsR0FBRyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cblxuaW1wb3J0IHtSRWxlbWVudH0gZnJvbSAnLi9yZW5kZXJlcic7XG5pbXBvcnQge0xWaWV3RGF0YX0gZnJvbSAnLi92aWV3JztcblxuLyoqXG4gKiBUaGlzIHByb3BlcnR5IHdpbGwgYmUgbW9ua2V5LXBhdGNoZWQgb24gZWxlbWVudHMsIGNvbXBvbmVudHMgYW5kIGRpcmVjdGl2ZXNcbiAqL1xuZXhwb3J0IGNvbnN0IE1PTktFWV9QQVRDSF9LRVlfTkFNRSA9ICdfX25nQ29udGV4dF9fJztcblxuLyoqXG4gKiBUaGUgaW50ZXJuYWwgdmlldyBjb250ZXh0IHdoaWNoIGlzIHNwZWNpZmljIHRvIGEgZ2l2ZW4gRE9NIGVsZW1lbnQsIGRpcmVjdGl2ZSBvclxuICogY29tcG9uZW50IGluc3RhbmNlLiBFYWNoIHZhbHVlIGluIGhlcmUgKGJlc2lkZXMgdGhlIExWaWV3RGF0YSBhbmQgZWxlbWVudCBub2RlIGRldGFpbHMpXG4gKiBjYW4gYmUgcHJlc2VudCwgbnVsbCBvciB1bmRlZmluZWQuIElmIHVuZGVmaW5lZCB0aGVuIGl0IGltcGxpZXMgdGhlIHZhbHVlIGhhcyBub3QgYmVlblxuICogbG9va2VkIHVwIHlldCwgb3RoZXJ3aXNlLCBpZiBudWxsLCB0aGVuIGEgbG9va3VwIHdhcyBleGVjdXRlZCBhbmQgbm90aGluZyB3YXMgZm91bmQuXG4gKlxuICogRWFjaCB2YWx1ZSB3aWxsIGdldCBmaWxsZWQgd2hlbiB0aGUgcmVzcGVjdGl2ZSB2YWx1ZSBpcyBleGFtaW5lZCB3aXRoaW4gdGhlIGdldENvbnRleHRcbiAqIGZ1bmN0aW9uLiBUaGUgY29tcG9uZW50LCBlbGVtZW50IGFuZCBlYWNoIGRpcmVjdGl2ZSBpbnN0YW5jZSB3aWxsIHNoYXJlIHRoZSBzYW1lIGluc3RhbmNlXG4gKiBvZiB0aGUgY29udGV4dC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMQ29udGV4dCB7XG4gIC8qKlxuICAgKiBUaGUgY29tcG9uZW50J3MgcGFyZW50IHZpZXcgZGF0YS5cbiAgICovXG4gIGxWaWV3RGF0YTogTFZpZXdEYXRhO1xuXG4gIC8qKlxuICAgKiBUaGUgaW5kZXggaW5zdGFuY2Ugb2YgdGhlIG5vZGUuXG4gICAqL1xuICBub2RlSW5kZXg6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGluc3RhbmNlIG9mIHRoZSBET00gbm9kZSB0aGF0IGlzIGF0dGFjaGVkIHRvIHRoZSBsTm9kZS5cbiAgICovXG4gIG5hdGl2ZTogUkVsZW1lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZSBvZiB0aGUgQ29tcG9uZW50IG5vZGUuXG4gICAqL1xuICBjb21wb25lbnQ6IHt9fG51bGx8dW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBhY3RpdmUgZGlyZWN0aXZlcyB0aGF0IGV4aXN0IG9uIHRoaXMgZWxlbWVudC5cbiAgICovXG4gIGRpcmVjdGl2ZXM6IGFueVtdfG51bGx8dW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgbWFwIG9mIGxvY2FsIHJlZmVyZW5jZXMgKGxvY2FsIHJlZmVyZW5jZSBuYW1lID0+IGVsZW1lbnQgb3IgZGlyZWN0aXZlIGluc3RhbmNlKSB0aGF0IGV4aXN0XG4gICAqIG9uIHRoaXMgZWxlbWVudC5cbiAgICovXG4gIGxvY2FsUmVmczoge1trZXk6IHN0cmluZ106IGFueX18bnVsbHx1bmRlZmluZWQ7XG59XG4iXX0=
|
|
@@ -286,6 +286,12 @@ ComponentDef.prototype.directiveDefs;
|
|
|
286
286
|
* @type {?}
|
|
287
287
|
*/
|
|
288
288
|
ComponentDef.prototype.pipeDefs;
|
|
289
|
+
/**
|
|
290
|
+
* Used to store the result of `noSideEffects` function so that it is not removed by closure
|
|
291
|
+
* compiler. The property should never be read.
|
|
292
|
+
* @type {?|undefined}
|
|
293
|
+
*/
|
|
294
|
+
ComponentDef.prototype._;
|
|
289
295
|
/**
|
|
290
296
|
* Runtime link information for Pipes.
|
|
291
297
|
*
|
|
@@ -367,4 +373,4 @@ var InitialStylingFlags = {
|
|
|
367
373
|
};
|
|
368
374
|
export { InitialStylingFlags };
|
|
369
375
|
|
|
370
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5pdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3JlbmRlcjMvaW50ZXJmYWNlcy9kZWZpbml0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBbUNFLFNBQWE7O0lBR2IsU0FBYTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFlc0IsZUFBbUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMFN4RCxhQUFhLDZCQUE2QixHQUFHLENBQUMsQ0FBQzs7O0lBRzdDLGNBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1Byb3ZpZGVyLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQge1R5cGV9IGZyb20gJy4uLy4uL3R5cGUnO1xuaW1wb3J0IHtDc3NTZWxlY3Rvckxpc3R9IGZyb20gJy4vcHJvamVjdGlvbic7XG5cblxuLyoqXG4gKiBEZWZpbml0aW9uIG9mIHdoYXQgYSB0ZW1wbGF0ZSByZW5kZXJpbmcgZnVuY3Rpb24gc2hvdWxkIGxvb2sgbGlrZSBmb3IgYSBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCB0eXBlIENvbXBvbmVudFRlbXBsYXRlPFQ+ID0ge1xuICAocmY6IFJlbmRlckZsYWdzLCBjdHg6IFQpOiB2b2lkOyBuZ1ByaXZhdGVEYXRhPzogbmV2ZXI7XG59O1xuXG4vKipcbiAqIERlZmluaXRpb24gb2Ygd2hhdCBhIHF1ZXJ5IGZ1bmN0aW9uIHNob3VsZCBsb29rIGxpa2UuXG4gKi9cbmV4cG9ydCB0eXBlIENvbXBvbmVudFF1ZXJ5PFQ+ID0gQ29tcG9uZW50VGVtcGxhdGU8VD47XG5cbi8qKlxuICogRmxhZ3MgcGFzc2VkIGludG8gdGVtcGxhdGUgZnVuY3Rpb25zIHRvIGRldGVybWluZSB3aGljaCBibG9ja3MgKGkuZS4gY3JlYXRpb24sIHVwZGF0ZSlcbiAqIHNob3VsZCBiZSBleGVjdXRlZC5cbiAqXG4gKiBUeXBpY2FsbHksIGEgdGVtcGxhdGUgcnVucyBib3RoIHRoZSBjcmVhdGlvbiBibG9jayBhbmQgdGhlIHVwZGF0ZSBibG9jayBvbiBpbml0aWFsaXphdGlvbiBhbmRcbiAqIHN1YnNlcXVlbnQgcnVucyBvbmx5IGV4ZWN1dGUgdGhlIHVwZGF0ZSBibG9jay4gSG93ZXZlciwgZHluYW1pY2FsbHkgY3JlYXRlZCB2aWV3cyByZXF1aXJlIHRoYXRcbiAqIHRoZSBjcmVhdGlvbiBibG9jayBiZSBleGVjdXRlZCBzZXBhcmF0ZWx5IGZyb20gdGhlIHVwZGF0ZSBibG9jayAoZm9yIGJhY2t3YXJkcyBjb21wYXQpLlxuICovXG5leHBvcnQgY29uc3QgZW51bSBSZW5kZXJGbGFncyB7XG4gIC8qIFdoZXRoZXIgdG8gcnVuIHRoZSBjcmVhdGlvbiBibG9jayAoZS5nLiBjcmVhdGUgZWxlbWVudHMgYW5kIGRpcmVjdGl2ZXMpICovXG4gIENyZWF0ZSA9IDBiMDEsXG5cbiAgLyogV2hldGhlciB0byBydW4gdGhlIHVwZGF0ZSBibG9jayAoZS5nLiByZWZyZXNoIGJpbmRpbmdzKSAqL1xuICBVcGRhdGUgPSAwYjEwXG59XG5cbi8qKlxuICogQSBzdWJjbGFzcyBvZiBgVHlwZWAgd2hpY2ggaGFzIGEgc3RhdGljIGBuZ0NvbXBvbmVudERlZmA6YENvbXBvbmVudERlZmAgZmllbGQgbWFraW5nIGl0XG4gKiBjb25zdW1hYmxlIGZvciByZW5kZXJpbmcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50VHlwZTxUPiBleHRlbmRzIFR5cGU8VD4geyBuZ0NvbXBvbmVudERlZjogbmV2ZXI7IH1cblxuLyoqXG4gKiBBIHN1YmNsYXNzIG9mIGBUeXBlYCB3aGljaCBoYXMgYSBzdGF0aWMgYG5nRGlyZWN0aXZlRGVmYDpgRGlyZWN0aXZlRGVmYCBmaWVsZCBtYWtpbmcgaXRcbiAqIGNvbnN1bWFibGUgZm9yIHJlbmRlcmluZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXJlY3RpdmVUeXBlPFQ+IGV4dGVuZHMgVHlwZTxUPiB7IG5nRGlyZWN0aXZlRGVmOiBuZXZlcjsgfVxuXG5leHBvcnQgY29uc3QgZW51bSBEaXJlY3RpdmVEZWZGbGFncyB7Q29udGVudFF1ZXJ5ID0gMGIxMH1cblxuLyoqXG4gKiBBIHN1YmNsYXNzIG9mIGBUeXBlYCB3aGljaCBoYXMgYSBzdGF0aWMgYG5nUGlwZURlZmA6YFBpcGVEZWZgIGZpZWxkIG1ha2luZyBpdFxuICogY29uc3VtYWJsZSBmb3IgcmVuZGVyaW5nLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBpcGVUeXBlPFQ+IGV4dGVuZHMgVHlwZTxUPiB7IG5nUGlwZURlZjogbmV2ZXI7IH1cblxuZXhwb3J0IHR5cGUgRGlyZWN0aXZlRGVmV2l0aE1ldGE8XG4gICAgVCwgU2VsZWN0b3IgZXh0ZW5kcyBzdHJpbmcsIEV4cG9ydEFzIGV4dGVuZHMgc3RyaW5nLCBJbnB1dE1hcCBleHRlbmRze1trZXk6IHN0cmluZ106IHN0cmluZ30sXG4gICAgT3V0cHV0TWFwIGV4dGVuZHN7W2tleTogc3RyaW5nXTogc3RyaW5nfSwgUXVlcnlGaWVsZHMgZXh0ZW5kcyBzdHJpbmdbXT4gPSBEaXJlY3RpdmVEZWY8VD47XG5cbi8qKlxuICogUnVudGltZSBpbmZvcm1hdGlvbiBmb3IgY2xhc3NlcyB0aGF0IGFyZSBpbmhlcml0ZWQgYnkgY29tcG9uZW50cyBvciBkaXJlY3RpdmVzXG4gKiB0aGF0IGFyZW4ndCBkZWZpbmVkIGFzIGNvbXBvbmVudHMgb3IgZGlyZWN0aXZlcy5cbiAqXG4gKiBUaGlzIGlzIGFuIGludGVybmFsIGRhdGEgc3RydWN0dXJlIHVzZWQgYnkgdGhlIHJlbmRlciB0byBkZXRlcm1pbmUgd2hhdCBpbnB1dHNcbiAqIGFuZCBvdXRwdXRzIHNob3VsZCBiZSBpbmhlcml0ZWQuXG4gKlxuICogU2VlOiB7QGxpbmsgZGVmaW5lQmFzZX1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXNlRGVmPFQ+IHtcbiAgLyoqXG4gICAqIEEgZGljdGlvbmFyeSBtYXBwaW5nIHRoZSBpbnB1dHMnIG1pbmlmaWVkIHByb3BlcnR5IG5hbWVzIHRvIHRoZWlyIHB1YmxpYyBBUEkgbmFtZXMsIHdoaWNoXG4gICAqIGFyZSB0aGVpciBhbGlhc2VzIGlmIGFueSwgb3IgdGhlaXIgb3JpZ2luYWwgdW5taW5pZmllZCBwcm9wZXJ0eSBuYW1lc1xuICAgKiAoYXMgaW4gYEBJbnB1dCgnYWxpYXMnKSBwcm9wZXJ0eU5hbWU6IGFueTtgKS5cbiAgICovXG4gIHJlYWRvbmx5IGlucHV0czoge1tQIGluIGtleW9mIFRdOiBzdHJpbmd9O1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIG9ubHkgaGVyZSBiZWNhdXNlIGBOZ09uQ2hhbmdlc2AgaW5jb3JyZWN0bHkgdXNlcyBkZWNsYXJlZCBuYW1lIGluc3RlYWQgb2ZcbiAgICogcHVibGljIG9yIG1pbmlmaWVkIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBkZWNsYXJlZElucHV0czoge1tQIGluIGtleW9mIFRdOiBQfTtcblxuICAvKipcbiAgICogQSBkaWN0aW9uYXJ5IG1hcHBpbmcgdGhlIG91dHB1dHMnIG1pbmlmaWVkIHByb3BlcnR5IG5hbWVzIHRvIHRoZWlyIHB1YmxpYyBBUEkgbmFtZXMsIHdoaWNoXG4gICAqIGFyZSB0aGVpciBhbGlhc2VzIGlmIGFueSwgb3IgdGhlaXIgb3JpZ2luYWwgdW5taW5pZmllZCBwcm9wZXJ0eSBuYW1lc1xuICAgKiAoYXMgaW4gYEBPdXRwdXQoJ2FsaWFzJykgcHJvcGVydHlOYW1lOiBhbnk7YCkuXG4gICAqL1xuICByZWFkb25seSBvdXRwdXRzOiB7W1AgaW4ga2V5b2YgVF06IFB9O1xufVxuXG4vKipcbiAqIFJ1bnRpbWUgbGluayBpbmZvcm1hdGlvbiBmb3IgRGlyZWN0aXZlcy5cbiAqXG4gKiBUaGlzIGlzIGludGVybmFsIGRhdGEgc3RydWN0dXJlIHVzZWQgYnkgdGhlIHJlbmRlciB0byBsaW5rXG4gKiBkaXJlY3RpdmVzIGludG8gdGVtcGxhdGVzLlxuICpcbiAqIE5PVEU6IEFsd2F5cyB1c2UgYGRlZmluZURpcmVjdGl2ZWAgZnVuY3Rpb24gdG8gY3JlYXRlIHRoaXMgb2JqZWN0LFxuICogbmV2ZXIgY3JlYXRlIHRoZSBvYmplY3QgZGlyZWN0bHkgc2luY2UgdGhlIHNoYXBlIG9mIHRoaXMgb2JqZWN0XG4gKiBjYW4gY2hhbmdlIGJldHdlZW4gdmVyc2lvbnMuXG4gKlxuICogQHBhcmFtIFNlbGVjdG9yIHR5cGUgbWV0YWRhdGEgc3BlY2lmeWluZyB0aGUgc2VsZWN0b3Igb2YgdGhlIGRpcmVjdGl2ZSBvciBjb21wb25lbnRcbiAqXG4gKiBTZWU6IHtAbGluayBkZWZpbmVEaXJlY3RpdmV9XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlyZWN0aXZlRGVmPFQ+IGV4dGVuZHMgQmFzZURlZjxUPiB7XG4gIC8qKiBUb2tlbiByZXByZXNlbnRpbmcgdGhlIGRpcmVjdGl2ZS4gVXNlZCBieSBESS4gKi9cbiAgdHlwZTogVHlwZTxUPjtcblxuICAvKiogRnVuY3Rpb24gdGhhdCBtYWtlcyBhIGRpcmVjdGl2ZSBwdWJsaWMgdG8gdGhlIERJIHN5c3RlbS4gKi9cbiAgZGlQdWJsaWM6ICgoZGVmOiBEaXJlY3RpdmVEZWY8VD4pID0+IHZvaWQpfG51bGw7XG5cbiAgLyoqIFRoZSBzZWxlY3RvcnMgdGhhdCB3aWxsIGJlIHVzZWQgdG8gbWF0Y2ggbm9kZXMgdG8gdGhpcyBkaXJlY3RpdmUuICovXG4gIHNlbGVjdG9yczogQ3NzU2VsZWN0b3JMaXN0O1xuXG4gIC8qKlxuICAgKiBOYW1lIHVuZGVyIHdoaWNoIHRoZSBkaXJlY3RpdmUgaXMgZXhwb3J0ZWQgKGZvciB1c2Ugd2l0aCBsb2NhbCByZWZlcmVuY2VzIGluIHRlbXBsYXRlKVxuICAgKi9cbiAgcmVhZG9ubHkgZXhwb3J0QXM6IHN0cmluZ3xudWxsO1xuXG4gIC8qKlxuICAgKiBGYWN0b3J5IGZ1bmN0aW9uIHVzZWQgdG8gY3JlYXRlIGEgbmV3IGRpcmVjdGl2ZSBpbnN0YW5jZS5cbiAgICovXG4gIGZhY3RvcnkoKTogVDtcblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gY3JlYXRlIGluc3RhbmNlcyBvZiBjb250ZW50IHF1ZXJpZXMgYXNzb2NpYXRlZCB3aXRoIGEgZ2l2ZW4gZGlyZWN0aXZlLlxuICAgKi9cbiAgY29udGVudFF1ZXJpZXM6ICgoKSA9PiB2b2lkKXxudWxsO1xuXG4gIC8qKiBSZWZyZXNoZXMgY29udGVudCBxdWVyaWVzIGFzc29jaWF0ZWQgd2l0aCBkaXJlY3RpdmVzIGluIGEgZ2l2ZW4gdmlldyAqL1xuICBjb250ZW50UXVlcmllc1JlZnJlc2g6ICgoZGlyZWN0aXZlSW5kZXg6IG51bWJlciwgcXVlcnlJbmRleDogbnVtYmVyKSA9PiB2b2lkKXxudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGhvc3QgYmluZGluZ3MgKGluY2x1ZGluZyBwdXJlIGZuIGJpbmRpbmdzKSBpbiB0aGlzIGRpcmVjdGl2ZS9jb21wb25lbnQuXG4gICAqXG4gICAqIFVzZWQgdG8gY2FsY3VsYXRlIHRoZSBsZW5ndGggb2YgdGhlIExWaWV3RGF0YSBhcnJheSBmb3IgdGhlICpwYXJlbnQqIGNvbXBvbmVudFxuICAgKiBvZiB0aGlzIGRpcmVjdGl2ZS9jb21wb25lbnQuXG4gICAqL1xuICBob3N0VmFyczogbnVtYmVyO1xuXG4gIC8qKiBSZWZyZXNoZXMgaG9zdCBiaW5kaW5ncyBvbiB0aGUgYXNzb2NpYXRlZCBkaXJlY3RpdmUuICovXG4gIGhvc3RCaW5kaW5nczogSG9zdEJpbmRpbmdzRnVuY3Rpb258bnVsbDtcblxuICAvKipcbiAgICogU3RhdGljIGF0dHJpYnV0ZXMgdG8gc2V0IG9uIGhvc3QgZWxlbWVudC5cbiAgICpcbiAgICogRXZlbiBpbmRpY2VzOiBhdHRyaWJ1dGUgbmFtZVxuICAgKiBPZGQgaW5kaWNlczogYXR0cmlidXRlIHZhbHVlXG4gICAqL1xuICBhdHRyaWJ1dGVzOiBzdHJpbmdbXXxudWxsO1xuXG4gIC8qIFRoZSBmb2xsb3dpbmcgYXJlIGxpZmVjeWNsZSBob29rcyBmb3IgdGhpcyBjb21wb25lbnQgKi9cbiAgb25Jbml0OiAoKCkgPT4gdm9pZCl8bnVsbDtcbiAgZG9DaGVjazogKCgpID0+IHZvaWQpfG51bGw7XG4gIGFmdGVyQ29udGVudEluaXQ6ICgoKSA9PiB2b2lkKXxudWxsO1xuICBhZnRlckNvbnRlbnRDaGVja2VkOiAoKCkgPT4gdm9pZCl8bnVsbDtcbiAgYWZ0ZXJWaWV3SW5pdDogKCgpID0+IHZvaWQpfG51bGw7XG4gIGFmdGVyVmlld0NoZWNrZWQ6ICgoKSA9PiB2b2lkKXxudWxsO1xuICBvbkRlc3Ryb3k6ICgoKSA9PiB2b2lkKXxudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgZmVhdHVyZXMgYXBwbGllZCB0byB0aGlzIGRpcmVjdGl2ZVxuICAgKi9cbiAgZmVhdHVyZXM6IERpcmVjdGl2ZURlZkZlYXR1cmVbXXxudWxsO1xufVxuXG5leHBvcnQgdHlwZSBDb21wb25lbnREZWZXaXRoTWV0YTxcbiAgICBULCBTZWxlY3RvciBleHRlbmRzIFN0cmluZywgRXhwb3J0QXMgZXh0ZW5kcyBzdHJpbmcsIElucHV0TWFwIGV4dGVuZHN7W2tleTogc3RyaW5nXTogc3RyaW5nfSxcbiAgICBPdXRwdXRNYXAgZXh0ZW5kc3tba2V5OiBzdHJpbmddOiBzdHJpbmd9LCBRdWVyeUZpZWxkcyBleHRlbmRzIHN0cmluZ1tdPiA9IENvbXBvbmVudERlZjxUPjtcblxuLyoqXG4gKiBSdW50aW1lIGxpbmsgaW5mb3JtYXRpb24gZm9yIENvbXBvbmVudHMuXG4gKlxuICogVGhpcyBpcyBpbnRlcm5hbCBkYXRhIHN0cnVjdHVyZSB1c2VkIGJ5IHRoZSByZW5kZXIgdG8gbGlua1xuICogY29tcG9uZW50cyBpbnRvIHRlbXBsYXRlcy5cbiAqXG4gKiBOT1RFOiBBbHdheXMgdXNlIGBkZWZpbmVDb21wb25lbnRgIGZ1bmN0aW9uIHRvIGNyZWF0ZSB0aGlzIG9iamVjdCxcbiAqIG5ldmVyIGNyZWF0ZSB0aGUgb2JqZWN0IGRpcmVjdGx5IHNpbmNlIHRoZSBzaGFwZSBvZiB0aGlzIG9iamVjdFxuICogY2FuIGNoYW5nZSBiZXR3ZWVuIHZlcnNpb25zLlxuICpcbiAqIFNlZToge0BsaW5rIGRlZmluZUNvbXBvbmVudH1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wb25lbnREZWY8VD4gZXh0ZW5kcyBEaXJlY3RpdmVEZWY8VD4ge1xuICAvKipcbiAgICogUnVudGltZSB1bmlxdWUgY29tcG9uZW50IElELlxuICAgKi9cbiAgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFZpZXcgdGVtcGxhdGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHJlYWRvbmx5IHRlbXBsYXRlOiBDb21wb25lbnRUZW1wbGF0ZTxUPjtcblxuICAvKipcbiAgICogQSBzZXQgb2Ygc3R5bGVzIHRoYXQgdGhlIGNvbXBvbmVudCBuZWVkcyB0byBiZSBwcmVzZW50IGZvciBjb21wb25lbnQgdG8gcmVuZGVyIGNvcnJlY3RseS5cbiAgICovXG4gIHJlYWRvbmx5IHN0eWxlczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2Ygbm9kZXMsIGxvY2FsIHJlZnMsIGFuZCBwaXBlcyBpbiB0aGlzIGNvbXBvbmVudCB0ZW1wbGF0ZS5cbiAgICpcbiAgICogVXNlZCB0byBjYWxjdWxhdGUgdGhlIGxlbmd0aCBvZiB0aGUgY29tcG9uZW50J3MgTFZpZXdEYXRhIGFycmF5LCBzbyB3ZVxuICAgKiBjYW4gcHJlLWZpbGwgdGhlIGFycmF5IGFuZCBzZXQgdGhlIGJpbmRpbmcgc3RhcnQgaW5kZXguXG4gICAqL1xuICAvLyBUT0RPKGthcmEpOiByZW1vdmUgcXVlcmllcyBmcm9tIHRoaXMgY291bnRcbiAgY29uc3RzOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgYmluZGluZ3MgaW4gdGhpcyBjb21wb25lbnQgdGVtcGxhdGUgKGluY2x1ZGluZyBwdXJlIGZuIGJpbmRpbmdzKS5cbiAgICpcbiAgICogVXNlZCB0byBjYWxjdWxhdGUgdGhlIGxlbmd0aCBvZiB0aGUgY29tcG9uZW50J3MgTFZpZXdEYXRhIGFycmF5LCBzbyB3ZVxuICAgKiBjYW4gcHJlLWZpbGwgdGhlIGFycmF5IGFuZCBzZXQgdGhlIGhvc3QgYmluZGluZyBzdGFydCBpbmRleC5cbiAgICovXG4gIHZhcnM6IG51bWJlcjtcblxuICAvKipcbiAgICogUXVlcnktcmVsYXRlZCBpbnN0cnVjdGlvbnMgZm9yIGEgY29tcG9uZW50LlxuICAgKi9cbiAgdmlld1F1ZXJ5OiBDb21wb25lbnRRdWVyeTxUPnxudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgdmlldyBlbmNhcHN1bGF0aW9uIHR5cGUsIHdoaWNoIGRldGVybWluZXMgaG93IHN0eWxlcyBhcmUgYXBwbGllZCB0b1xuICAgKiBET00gZWxlbWVudHMuIE9uZSBvZlxuICAgKiAtIGBFbXVsYXRlZGAgKGRlZmF1bHQpOiBFbXVsYXRlIG5hdGl2ZSBzY29waW5nIG9mIHN0eWxlcy5cbiAgICogLSBgTmF0aXZlYDogVXNlIHRoZSBuYXRpdmUgZW5jYXBzdWxhdGlvbiBtZWNoYW5pc20gb2YgdGhlIHJlbmRlcmVyLlxuICAgKiAtIGBTaGFkb3dEb21gOiBVc2UgbW9kZXJuIFtTaGFkb3dET01dKGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJjb21wb25lbnRzL3NwZWMvc2hhZG93LykgYW5kXG4gICAqICAgY3JlYXRlIGEgU2hhZG93Um9vdCBmb3IgY29tcG9uZW50J3MgaG9zdCBlbGVtZW50LlxuICAgKiAtIGBOb25lYDogRG8gbm90IHByb3ZpZGUgYW55IHRlbXBsYXRlIG9yIHN0eWxlIGVuY2Fwc3VsYXRpb24uXG4gICAqL1xuICByZWFkb25seSBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbjtcblxuICAvKipcbiAgICogRGVmaW5lcyBhcmJpdHJhcnkgZGV2ZWxvcGVyLWRlZmluZWQgZGF0YSB0byBiZSBzdG9yZWQgb24gYSByZW5kZXJlciBpbnN0YW5jZS5cbiAgICogVGhpcyBpcyB1c2VmdWwgZm9yIHJlbmRlcmVycyB0aGF0IGRlbGVnYXRlIHRvIG90aGVyIHJlbmRlcmVycy5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGE6IHtba2luZDogc3RyaW5nXTogYW55fTtcblxuICAvKiogV2hldGhlciBvciBub3QgdGhpcyBjb21wb25lbnQncyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSBpcyBPblB1c2ggKi9cbiAgcmVhZG9ubHkgb25QdXNoOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBzZXQgb2YgaW5qZWN0YWJsZSBwcm92aWRlcnMgdGhhdCBhcmUgdmlzaWJsZSB0byBhIERpcmVjdGl2ZSBhbmQgaXRzIGNvbnRlbnQgRE9NXG4gICAqIGNoaWxkcmVuLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdmlkZXJzOiBQcm92aWRlcltdfG51bGw7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIHNldCBvZiBpbmplY3RhYmxlIHByb3ZpZGVycyB0aGF0IGFyZSB2aXNpYmxlIHRvIGEgRGlyZWN0aXZlIGFuZCBpdHMgdmlldyBET01cbiAgICogY2hpbGRyZW4gb25seS5cbiAgICovXG4gIHJlYWRvbmx5IHZpZXdQcm92aWRlcnM6IFByb3ZpZGVyW118bnVsbDtcblxuICAvKipcbiAgICogUmVnaXN0cnkgb2YgZGlyZWN0aXZlcyBhbmQgY29tcG9uZW50cyB0aGF0IG1heSBiZSBmb3VuZCBpbiB0aGlzIHZpZXcuXG4gICAqXG4gICAqIFRoZSBwcm9wZXJ0eSBpcyBlaXRoZXIgYW4gYXJyYXkgb2YgYERpcmVjdGl2ZURlZmBzIG9yIGEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyB0aGUgYXJyYXkgb2ZcbiAgICogYERpcmVjdGl2ZURlZmBzLiBUaGUgZnVuY3Rpb24gaXMgbmVjZXNzYXJ5IHRvIGJlIGFibGUgdG8gc3VwcG9ydCBmb3J3YXJkIGRlY2xhcmF0aW9ucy5cbiAgICovXG4gIGRpcmVjdGl2ZURlZnM6IERpcmVjdGl2ZURlZkxpc3RPckZhY3Rvcnl8bnVsbDtcblxuICAvKipcbiAgICogUmVnaXN0cnkgb2YgcGlwZXMgdGhhdCBtYXkgYmUgZm91bmQgaW4gdGhpcyB2aWV3LlxuICAgKlxuICAgKiBUaGUgcHJvcGVydHkgaXMgZWl0aGVyIGFuIGFycmF5IG9mIGBQaXBlRGVmc2BzIG9yIGEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyB0aGUgYXJyYXkgb2ZcbiAgICogYFBpcGVEZWZzYHMuIFRoZSBmdW5jdGlvbiBpcyBuZWNlc3NhcnkgdG8gYmUgYWJsZSB0byBzdXBwb3J0IGZvcndhcmQgZGVjbGFyYXRpb25zLlxuICAgKi9cbiAgcGlwZURlZnM6IFBpcGVEZWZMaXN0T3JGYWN0b3J5fG51bGw7XG59XG5cbi8qKlxuICogUnVudGltZSBsaW5rIGluZm9ybWF0aW9uIGZvciBQaXBlcy5cbiAqXG4gKiBUaGlzIGlzIGludGVybmFsIGRhdGEgc3RydWN0dXJlIHVzZWQgYnkgdGhlIHJlbmRlcmVyIHRvIGxpbmtcbiAqIHBpcGVzIGludG8gdGVtcGxhdGVzLlxuICpcbiAqIE5PVEU6IEFsd2F5cyB1c2UgYGRlZmluZVBpcGVgIGZ1bmN0aW9uIHRvIGNyZWF0ZSB0aGlzIG9iamVjdCxcbiAqIG5ldmVyIGNyZWF0ZSB0aGUgb2JqZWN0IGRpcmVjdGx5IHNpbmNlIHRoZSBzaGFwZSBvZiB0aGlzIG9iamVjdFxuICogY2FuIGNoYW5nZSBiZXR3ZWVuIHZlcnNpb25zLlxuICpcbiAqIFNlZToge0BsaW5rIGRlZmluZVBpcGV9XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGlwZURlZjxUPiB7XG4gIC8qKlxuICAgKiBQaXBlIG5hbWUuXG4gICAqXG4gICAqIFVzZWQgdG8gcmVzb2x2ZSBwaXBlIGluIHRlbXBsYXRlcy5cbiAgICovXG4gIG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRmFjdG9yeSBmdW5jdGlvbiB1c2VkIHRvIGNyZWF0ZSBhIG5ldyBwaXBlIGluc3RhbmNlLlxuICAgKi9cbiAgZmFjdG9yeTogKCkgPT4gVDtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIHBpcGUgaXMgcHVyZS5cbiAgICpcbiAgICogUHVyZSBwaXBlcyByZXN1bHQgb25seSBkZXBlbmRzIG9uIHRoZSBwaXBlIGlucHV0IGFuZCBub3Qgb24gaW50ZXJuYWxcbiAgICogc3RhdGUgb2YgdGhlIHBpcGUuXG4gICAqL1xuICBwdXJlOiBib29sZWFuO1xuXG4gIC8qIFRoZSBmb2xsb3dpbmcgYXJlIGxpZmVjeWNsZSBob29rcyBmb3IgdGhpcyBwaXBlICovXG4gIG9uRGVzdHJveTogKCgpID0+IHZvaWQpfG51bGw7XG59XG5cbmV4cG9ydCB0eXBlIFBpcGVEZWZXaXRoTWV0YTxULCBOYW1lIGV4dGVuZHMgc3RyaW5nPiA9IFBpcGVEZWY8VD47XG5cbmV4cG9ydCB0eXBlIERpcmVjdGl2ZURlZkZlYXR1cmUgPSA8VD4oZGlyZWN0aXZlRGVmOiBEaXJlY3RpdmVEZWY8VD4pID0+IHZvaWQ7XG5leHBvcnQgdHlwZSBDb21wb25lbnREZWZGZWF0dXJlID0gPFQ+KGNvbXBvbmVudERlZjogQ29tcG9uZW50RGVmPFQ+KSA9PiB2b2lkO1xuXG4vKipcbiAqIFR5cGUgdXNlZCBmb3IgZGlyZWN0aXZlRGVmcyBvbiBjb21wb25lbnQgZGVmaW5pdGlvbi5cbiAqXG4gKiBUaGUgZnVuY3Rpb24gaXMgbmVjZXNzYXJ5IHRvIGJlIGFibGUgdG8gc3VwcG9ydCBmb3J3YXJkIGRlY2xhcmF0aW9ucy5cbiAqL1xuZXhwb3J0IHR5cGUgRGlyZWN0aXZlRGVmTGlzdE9yRmFjdG9yeSA9ICgoKSA9PiBEaXJlY3RpdmVEZWZMaXN0KSB8IERpcmVjdGl2ZURlZkxpc3Q7XG5cbmV4cG9ydCB0eXBlIERpcmVjdGl2ZURlZkxpc3QgPSAoRGlyZWN0aXZlRGVmPGFueT58IENvbXBvbmVudERlZjxhbnk+KVtdO1xuXG5leHBvcnQgdHlwZSBEaXJlY3RpdmVUeXBlc09yRmFjdG9yeSA9ICgoKSA9PiBEaXJlY3RpdmVUeXBlTGlzdCkgfCBEaXJlY3RpdmVUeXBlTGlzdDtcblxuZXhwb3J0IHR5cGUgRGlyZWN0aXZlVHlwZUxpc3QgPVxuICAgIChEaXJlY3RpdmVEZWY8YW55PnwgQ29tcG9uZW50RGVmPGFueT58XG4gICAgIFR5cGU8YW55Pi8qIFR5cGUgYXMgd29ya2Fyb3VuZCBmb3I6IE1pY3Jvc29mdC9UeXBlU2NyaXB0L2lzc3Vlcy80ODgxICovKVtdO1xuXG5leHBvcnQgdHlwZSBIb3N0QmluZGluZ3NGdW5jdGlvbiA9IChkaXJlY3RpdmVJbmRleDogbnVtYmVyLCBlbGVtZW50SW5kZXg6IG51bWJlcikgPT4gdm9pZDtcblxuLyoqXG4gKiBUeXBlIHVzZWQgZm9yIFBpcGVEZWZzIG9uIGNvbXBvbmVudCBkZWZpbml0aW9uLlxuICpcbiAqIFRoZSBmdW5jdGlvbiBpcyBuZWNlc3NhcnkgdG8gYmUgYWJsZSB0byBzdXBwb3J0IGZvcndhcmQgZGVjbGFyYXRpb25zLlxuICovXG5leHBvcnQgdHlwZSBQaXBlRGVmTGlzdE9yRmFjdG9yeSA9ICgoKSA9PiBQaXBlRGVmTGlzdCkgfCBQaXBlRGVmTGlzdDtcblxuZXhwb3J0IHR5cGUgUGlwZURlZkxpc3QgPSBQaXBlRGVmPGFueT5bXTtcblxuZXhwb3J0IHR5cGUgUGlwZVR5cGVzT3JGYWN0b3J5ID0gKCgpID0+IERpcmVjdGl2ZVR5cGVMaXN0KSB8IERpcmVjdGl2ZVR5cGVMaXN0O1xuXG5leHBvcnQgdHlwZSBQaXBlVHlwZUxpc3QgPVxuICAgIChQaXBlRGVmPGFueT58IFR5cGU8YW55Pi8qIFR5cGUgYXMgd29ya2Fyb3VuZCBmb3I6IE1pY3Jvc29mdC9UeXBlU2NyaXB0L2lzc3Vlcy80ODgxICovKVtdO1xuXG5cbi8vIE5vdGU6IFRoaXMgaGFjayBpcyBuZWNlc3Nhcnkgc28gd2UgZG9uJ3QgZXJyb25lb3VzbHkgZ2V0IGEgY2lyY3VsYXIgZGVwZW5kZW5jeVxuLy8gZmFpbHVyZSBiYXNlZCBvbiB0eXBlcy5cbmV4cG9ydCBjb25zdCB1bnVzZWRWYWx1ZUV4cG9ydFRvUGxhY2F0ZUFqZCA9IDE7XG5cbmV4cG9ydCBjb25zdCBlbnVtIEluaXRpYWxTdHlsaW5nRmxhZ3Mge1xuICBWQUxVRVNfTU9ERSA9IDBiMSxcbn1cbiJdfQ==
|
|
376
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5pdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3JlbmRlcjMvaW50ZXJmYWNlcy9kZWZpbml0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBbUNFLFNBQWE7O0lBR2IsU0FBYTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFlc0IsZUFBbUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ1R4RCxhQUFhLDZCQUE2QixHQUFHLENBQUMsQ0FBQzs7O0lBRzdDLGNBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1Byb3ZpZGVyLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQge1R5cGV9IGZyb20gJy4uLy4uL3R5cGUnO1xuaW1wb3J0IHtDc3NTZWxlY3Rvckxpc3R9IGZyb20gJy4vcHJvamVjdGlvbic7XG5cblxuLyoqXG4gKiBEZWZpbml0aW9uIG9mIHdoYXQgYSB0ZW1wbGF0ZSByZW5kZXJpbmcgZnVuY3Rpb24gc2hvdWxkIGxvb2sgbGlrZSBmb3IgYSBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCB0eXBlIENvbXBvbmVudFRlbXBsYXRlPFQ+ID0ge1xuICAocmY6IFJlbmRlckZsYWdzLCBjdHg6IFQpOiB2b2lkOyBuZ1ByaXZhdGVEYXRhPzogbmV2ZXI7XG59O1xuXG4vKipcbiAqIERlZmluaXRpb24gb2Ygd2hhdCBhIHF1ZXJ5IGZ1bmN0aW9uIHNob3VsZCBsb29rIGxpa2UuXG4gKi9cbmV4cG9ydCB0eXBlIENvbXBvbmVudFF1ZXJ5PFQ+ID0gQ29tcG9uZW50VGVtcGxhdGU8VD47XG5cbi8qKlxuICogRmxhZ3MgcGFzc2VkIGludG8gdGVtcGxhdGUgZnVuY3Rpb25zIHRvIGRldGVybWluZSB3aGljaCBibG9ja3MgKGkuZS4gY3JlYXRpb24sIHVwZGF0ZSlcbiAqIHNob3VsZCBiZSBleGVjdXRlZC5cbiAqXG4gKiBUeXBpY2FsbHksIGEgdGVtcGxhdGUgcnVucyBib3RoIHRoZSBjcmVhdGlvbiBibG9jayBhbmQgdGhlIHVwZGF0ZSBibG9jayBvbiBpbml0aWFsaXphdGlvbiBhbmRcbiAqIHN1YnNlcXVlbnQgcnVucyBvbmx5IGV4ZWN1dGUgdGhlIHVwZGF0ZSBibG9jay4gSG93ZXZlciwgZHluYW1pY2FsbHkgY3JlYXRlZCB2aWV3cyByZXF1aXJlIHRoYXRcbiAqIHRoZSBjcmVhdGlvbiBibG9jayBiZSBleGVjdXRlZCBzZXBhcmF0ZWx5IGZyb20gdGhlIHVwZGF0ZSBibG9jayAoZm9yIGJhY2t3YXJkcyBjb21wYXQpLlxuICovXG5leHBvcnQgY29uc3QgZW51bSBSZW5kZXJGbGFncyB7XG4gIC8qIFdoZXRoZXIgdG8gcnVuIHRoZSBjcmVhdGlvbiBibG9jayAoZS5nLiBjcmVhdGUgZWxlbWVudHMgYW5kIGRpcmVjdGl2ZXMpICovXG4gIENyZWF0ZSA9IDBiMDEsXG5cbiAgLyogV2hldGhlciB0byBydW4gdGhlIHVwZGF0ZSBibG9jayAoZS5nLiByZWZyZXNoIGJpbmRpbmdzKSAqL1xuICBVcGRhdGUgPSAwYjEwXG59XG5cbi8qKlxuICogQSBzdWJjbGFzcyBvZiBgVHlwZWAgd2hpY2ggaGFzIGEgc3RhdGljIGBuZ0NvbXBvbmVudERlZmA6YENvbXBvbmVudERlZmAgZmllbGQgbWFraW5nIGl0XG4gKiBjb25zdW1hYmxlIGZvciByZW5kZXJpbmcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50VHlwZTxUPiBleHRlbmRzIFR5cGU8VD4geyBuZ0NvbXBvbmVudERlZjogbmV2ZXI7IH1cblxuLyoqXG4gKiBBIHN1YmNsYXNzIG9mIGBUeXBlYCB3aGljaCBoYXMgYSBzdGF0aWMgYG5nRGlyZWN0aXZlRGVmYDpgRGlyZWN0aXZlRGVmYCBmaWVsZCBtYWtpbmcgaXRcbiAqIGNvbnN1bWFibGUgZm9yIHJlbmRlcmluZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXJlY3RpdmVUeXBlPFQ+IGV4dGVuZHMgVHlwZTxUPiB7IG5nRGlyZWN0aXZlRGVmOiBuZXZlcjsgfVxuXG5leHBvcnQgY29uc3QgZW51bSBEaXJlY3RpdmVEZWZGbGFncyB7Q29udGVudFF1ZXJ5ID0gMGIxMH1cblxuLyoqXG4gKiBBIHN1YmNsYXNzIG9mIGBUeXBlYCB3aGljaCBoYXMgYSBzdGF0aWMgYG5nUGlwZURlZmA6YFBpcGVEZWZgIGZpZWxkIG1ha2luZyBpdFxuICogY29uc3VtYWJsZSBmb3IgcmVuZGVyaW5nLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBpcGVUeXBlPFQ+IGV4dGVuZHMgVHlwZTxUPiB7IG5nUGlwZURlZjogbmV2ZXI7IH1cblxuZXhwb3J0IHR5cGUgRGlyZWN0aXZlRGVmV2l0aE1ldGE8XG4gICAgVCwgU2VsZWN0b3IgZXh0ZW5kcyBzdHJpbmcsIEV4cG9ydEFzIGV4dGVuZHMgc3RyaW5nLCBJbnB1dE1hcCBleHRlbmRze1trZXk6IHN0cmluZ106IHN0cmluZ30sXG4gICAgT3V0cHV0TWFwIGV4dGVuZHN7W2tleTogc3RyaW5nXTogc3RyaW5nfSwgUXVlcnlGaWVsZHMgZXh0ZW5kcyBzdHJpbmdbXT4gPSBEaXJlY3RpdmVEZWY8VD47XG5cbi8qKlxuICogUnVudGltZSBpbmZvcm1hdGlvbiBmb3IgY2xhc3NlcyB0aGF0IGFyZSBpbmhlcml0ZWQgYnkgY29tcG9uZW50cyBvciBkaXJlY3RpdmVzXG4gKiB0aGF0IGFyZW4ndCBkZWZpbmVkIGFzIGNvbXBvbmVudHMgb3IgZGlyZWN0aXZlcy5cbiAqXG4gKiBUaGlzIGlzIGFuIGludGVybmFsIGRhdGEgc3RydWN0dXJlIHVzZWQgYnkgdGhlIHJlbmRlciB0byBkZXRlcm1pbmUgd2hhdCBpbnB1dHNcbiAqIGFuZCBvdXRwdXRzIHNob3VsZCBiZSBpbmhlcml0ZWQuXG4gKlxuICogU2VlOiB7QGxpbmsgZGVmaW5lQmFzZX1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXNlRGVmPFQ+IHtcbiAgLyoqXG4gICAqIEEgZGljdGlvbmFyeSBtYXBwaW5nIHRoZSBpbnB1dHMnIG1pbmlmaWVkIHByb3BlcnR5IG5hbWVzIHRvIHRoZWlyIHB1YmxpYyBBUEkgbmFtZXMsIHdoaWNoXG4gICAqIGFyZSB0aGVpciBhbGlhc2VzIGlmIGFueSwgb3IgdGhlaXIgb3JpZ2luYWwgdW5taW5pZmllZCBwcm9wZXJ0eSBuYW1lc1xuICAgKiAoYXMgaW4gYEBJbnB1dCgnYWxpYXMnKSBwcm9wZXJ0eU5hbWU6IGFueTtgKS5cbiAgICovXG4gIHJlYWRvbmx5IGlucHV0czoge1tQIGluIGtleW9mIFRdOiBzdHJpbmd9O1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIG9ubHkgaGVyZSBiZWNhdXNlIGBOZ09uQ2hhbmdlc2AgaW5jb3JyZWN0bHkgdXNlcyBkZWNsYXJlZCBuYW1lIGluc3RlYWQgb2ZcbiAgICogcHVibGljIG9yIG1pbmlmaWVkIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBkZWNsYXJlZElucHV0czoge1tQIGluIGtleW9mIFRdOiBQfTtcblxuICAvKipcbiAgICogQSBkaWN0aW9uYXJ5IG1hcHBpbmcgdGhlIG91dHB1dHMnIG1pbmlmaWVkIHByb3BlcnR5IG5hbWVzIHRvIHRoZWlyIHB1YmxpYyBBUEkgbmFtZXMsIHdoaWNoXG4gICAqIGFyZSB0aGVpciBhbGlhc2VzIGlmIGFueSwgb3IgdGhlaXIgb3JpZ2luYWwgdW5taW5pZmllZCBwcm9wZXJ0eSBuYW1lc1xuICAgKiAoYXMgaW4gYEBPdXRwdXQoJ2FsaWFzJykgcHJvcGVydHlOYW1lOiBhbnk7YCkuXG4gICAqL1xuICByZWFkb25seSBvdXRwdXRzOiB7W1AgaW4ga2V5b2YgVF06IFB9O1xufVxuXG4vKipcbiAqIFJ1bnRpbWUgbGluayBpbmZvcm1hdGlvbiBmb3IgRGlyZWN0aXZlcy5cbiAqXG4gKiBUaGlzIGlzIGludGVybmFsIGRhdGEgc3RydWN0dXJlIHVzZWQgYnkgdGhlIHJlbmRlciB0byBsaW5rXG4gKiBkaXJlY3RpdmVzIGludG8gdGVtcGxhdGVzLlxuICpcbiAqIE5PVEU6IEFsd2F5cyB1c2UgYGRlZmluZURpcmVjdGl2ZWAgZnVuY3Rpb24gdG8gY3JlYXRlIHRoaXMgb2JqZWN0LFxuICogbmV2ZXIgY3JlYXRlIHRoZSBvYmplY3QgZGlyZWN0bHkgc2luY2UgdGhlIHNoYXBlIG9mIHRoaXMgb2JqZWN0XG4gKiBjYW4gY2hhbmdlIGJldHdlZW4gdmVyc2lvbnMuXG4gKlxuICogQHBhcmFtIFNlbGVjdG9yIHR5cGUgbWV0YWRhdGEgc3BlY2lmeWluZyB0aGUgc2VsZWN0b3Igb2YgdGhlIGRpcmVjdGl2ZSBvciBjb21wb25lbnRcbiAqXG4gKiBTZWU6IHtAbGluayBkZWZpbmVEaXJlY3RpdmV9XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlyZWN0aXZlRGVmPFQ+IGV4dGVuZHMgQmFzZURlZjxUPiB7XG4gIC8qKiBUb2tlbiByZXByZXNlbnRpbmcgdGhlIGRpcmVjdGl2ZS4gVXNlZCBieSBESS4gKi9cbiAgdHlwZTogVHlwZTxUPjtcblxuICAvKiogRnVuY3Rpb24gdGhhdCBtYWtlcyBhIGRpcmVjdGl2ZSBwdWJsaWMgdG8gdGhlIERJIHN5c3RlbS4gKi9cbiAgZGlQdWJsaWM6ICgoZGVmOiBEaXJlY3RpdmVEZWY8VD4pID0+IHZvaWQpfG51bGw7XG5cbiAgLyoqIFRoZSBzZWxlY3RvcnMgdGhhdCB3aWxsIGJlIHVzZWQgdG8gbWF0Y2ggbm9kZXMgdG8gdGhpcyBkaXJlY3RpdmUuICovXG4gIHNlbGVjdG9yczogQ3NzU2VsZWN0b3JMaXN0O1xuXG4gIC8qKlxuICAgKiBOYW1lIHVuZGVyIHdoaWNoIHRoZSBkaXJlY3RpdmUgaXMgZXhwb3J0ZWQgKGZvciB1c2Ugd2l0aCBsb2NhbCByZWZlcmVuY2VzIGluIHRlbXBsYXRlKVxuICAgKi9cbiAgcmVhZG9ubHkgZXhwb3J0QXM6IHN0cmluZ3xudWxsO1xuXG4gIC8qKlxuICAgKiBGYWN0b3J5IGZ1bmN0aW9uIHVzZWQgdG8gY3JlYXRlIGEgbmV3IGRpcmVjdGl2ZSBpbnN0YW5jZS5cbiAgICovXG4gIGZhY3RvcnkoKTogVDtcblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gY3JlYXRlIGluc3RhbmNlcyBvZiBjb250ZW50IHF1ZXJpZXMgYXNzb2NpYXRlZCB3aXRoIGEgZ2l2ZW4gZGlyZWN0aXZlLlxuICAgKi9cbiAgY29udGVudFF1ZXJpZXM6ICgoKSA9PiB2b2lkKXxudWxsO1xuXG4gIC8qKiBSZWZyZXNoZXMgY29udGVudCBxdWVyaWVzIGFzc29jaWF0ZWQgd2l0aCBkaXJlY3RpdmVzIGluIGEgZ2l2ZW4gdmlldyAqL1xuICBjb250ZW50UXVlcmllc1JlZnJlc2g6ICgoZGlyZWN0aXZlSW5kZXg6IG51bWJlciwgcXVlcnlJbmRleDogbnVtYmVyKSA9PiB2b2lkKXxudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGhvc3QgYmluZGluZ3MgKGluY2x1ZGluZyBwdXJlIGZuIGJpbmRpbmdzKSBpbiB0aGlzIGRpcmVjdGl2ZS9jb21wb25lbnQuXG4gICAqXG4gICAqIFVzZWQgdG8gY2FsY3VsYXRlIHRoZSBsZW5ndGggb2YgdGhlIExWaWV3RGF0YSBhcnJheSBmb3IgdGhlICpwYXJlbnQqIGNvbXBvbmVudFxuICAgKiBvZiB0aGlzIGRpcmVjdGl2ZS9jb21wb25lbnQuXG4gICAqL1xuICBob3N0VmFyczogbnVtYmVyO1xuXG4gIC8qKiBSZWZyZXNoZXMgaG9zdCBiaW5kaW5ncyBvbiB0aGUgYXNzb2NpYXRlZCBkaXJlY3RpdmUuICovXG4gIGhvc3RCaW5kaW5nczogSG9zdEJpbmRpbmdzRnVuY3Rpb258bnVsbDtcblxuICAvKipcbiAgICogU3RhdGljIGF0dHJpYnV0ZXMgdG8gc2V0IG9uIGhvc3QgZWxlbWVudC5cbiAgICpcbiAgICogRXZlbiBpbmRpY2VzOiBhdHRyaWJ1dGUgbmFtZVxuICAgKiBPZGQgaW5kaWNlczogYXR0cmlidXRlIHZhbHVlXG4gICAqL1xuICBhdHRyaWJ1dGVzOiBzdHJpbmdbXXxudWxsO1xuXG4gIC8qIFRoZSBmb2xsb3dpbmcgYXJlIGxpZmVjeWNsZSBob29rcyBmb3IgdGhpcyBjb21wb25lbnQgKi9cbiAgb25Jbml0OiAoKCkgPT4gdm9pZCl8bnVsbDtcbiAgZG9DaGVjazogKCgpID0+IHZvaWQpfG51bGw7XG4gIGFmdGVyQ29udGVudEluaXQ6ICgoKSA9PiB2b2lkKXxudWxsO1xuICBhZnRlckNvbnRlbnRDaGVja2VkOiAoKCkgPT4gdm9pZCl8bnVsbDtcbiAgYWZ0ZXJWaWV3SW5pdDogKCgpID0+IHZvaWQpfG51bGw7XG4gIGFmdGVyVmlld0NoZWNrZWQ6ICgoKSA9PiB2b2lkKXxudWxsO1xuICBvbkRlc3Ryb3k6ICgoKSA9PiB2b2lkKXxudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgZmVhdHVyZXMgYXBwbGllZCB0byB0aGlzIGRpcmVjdGl2ZVxuICAgKi9cbiAgZmVhdHVyZXM6IERpcmVjdGl2ZURlZkZlYXR1cmVbXXxudWxsO1xufVxuXG5leHBvcnQgdHlwZSBDb21wb25lbnREZWZXaXRoTWV0YTxcbiAgICBULCBTZWxlY3RvciBleHRlbmRzIFN0cmluZywgRXhwb3J0QXMgZXh0ZW5kcyBzdHJpbmcsIElucHV0TWFwIGV4dGVuZHN7W2tleTogc3RyaW5nXTogc3RyaW5nfSxcbiAgICBPdXRwdXRNYXAgZXh0ZW5kc3tba2V5OiBzdHJpbmddOiBzdHJpbmd9LCBRdWVyeUZpZWxkcyBleHRlbmRzIHN0cmluZ1tdPiA9IENvbXBvbmVudERlZjxUPjtcblxuLyoqXG4gKiBSdW50aW1lIGxpbmsgaW5mb3JtYXRpb24gZm9yIENvbXBvbmVudHMuXG4gKlxuICogVGhpcyBpcyBpbnRlcm5hbCBkYXRhIHN0cnVjdHVyZSB1c2VkIGJ5IHRoZSByZW5kZXIgdG8gbGlua1xuICogY29tcG9uZW50cyBpbnRvIHRlbXBsYXRlcy5cbiAqXG4gKiBOT1RFOiBBbHdheXMgdXNlIGBkZWZpbmVDb21wb25lbnRgIGZ1bmN0aW9uIHRvIGNyZWF0ZSB0aGlzIG9iamVjdCxcbiAqIG5ldmVyIGNyZWF0ZSB0aGUgb2JqZWN0IGRpcmVjdGx5IHNpbmNlIHRoZSBzaGFwZSBvZiB0aGlzIG9iamVjdFxuICogY2FuIGNoYW5nZSBiZXR3ZWVuIHZlcnNpb25zLlxuICpcbiAqIFNlZToge0BsaW5rIGRlZmluZUNvbXBvbmVudH1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wb25lbnREZWY8VD4gZXh0ZW5kcyBEaXJlY3RpdmVEZWY8VD4ge1xuICAvKipcbiAgICogUnVudGltZSB1bmlxdWUgY29tcG9uZW50IElELlxuICAgKi9cbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFZpZXcgdGVtcGxhdGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHJlYWRvbmx5IHRlbXBsYXRlOiBDb21wb25lbnRUZW1wbGF0ZTxUPjtcblxuICAvKipcbiAgICogQSBzZXQgb2Ygc3R5bGVzIHRoYXQgdGhlIGNvbXBvbmVudCBuZWVkcyB0byBiZSBwcmVzZW50IGZvciBjb21wb25lbnQgdG8gcmVuZGVyIGNvcnJlY3RseS5cbiAgICovXG4gIHJlYWRvbmx5IHN0eWxlczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2Ygbm9kZXMsIGxvY2FsIHJlZnMsIGFuZCBwaXBlcyBpbiB0aGlzIGNvbXBvbmVudCB0ZW1wbGF0ZS5cbiAgICpcbiAgICogVXNlZCB0byBjYWxjdWxhdGUgdGhlIGxlbmd0aCBvZiB0aGUgY29tcG9uZW50J3MgTFZpZXdEYXRhIGFycmF5LCBzbyB3ZVxuICAgKiBjYW4gcHJlLWZpbGwgdGhlIGFycmF5IGFuZCBzZXQgdGhlIGJpbmRpbmcgc3RhcnQgaW5kZXguXG4gICAqL1xuICAvLyBUT0RPKGthcmEpOiByZW1vdmUgcXVlcmllcyBmcm9tIHRoaXMgY291bnRcbiAgcmVhZG9ubHkgY29uc3RzOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgYmluZGluZ3MgaW4gdGhpcyBjb21wb25lbnQgdGVtcGxhdGUgKGluY2x1ZGluZyBwdXJlIGZuIGJpbmRpbmdzKS5cbiAgICpcbiAgICogVXNlZCB0byBjYWxjdWxhdGUgdGhlIGxlbmd0aCBvZiB0aGUgY29tcG9uZW50J3MgTFZpZXdEYXRhIGFycmF5LCBzbyB3ZVxuICAgKiBjYW4gcHJlLWZpbGwgdGhlIGFycmF5IGFuZCBzZXQgdGhlIGhvc3QgYmluZGluZyBzdGFydCBpbmRleC5cbiAgICovXG4gIHJlYWRvbmx5IHZhcnM6IG51bWJlcjtcblxuICAvKipcbiAgICogUXVlcnktcmVsYXRlZCBpbnN0cnVjdGlvbnMgZm9yIGEgY29tcG9uZW50LlxuICAgKi9cbiAgdmlld1F1ZXJ5OiBDb21wb25lbnRRdWVyeTxUPnxudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgdmlldyBlbmNhcHN1bGF0aW9uIHR5cGUsIHdoaWNoIGRldGVybWluZXMgaG93IHN0eWxlcyBhcmUgYXBwbGllZCB0b1xuICAgKiBET00gZWxlbWVudHMuIE9uZSBvZlxuICAgKiAtIGBFbXVsYXRlZGAgKGRlZmF1bHQpOiBFbXVsYXRlIG5hdGl2ZSBzY29waW5nIG9mIHN0eWxlcy5cbiAgICogLSBgTmF0aXZlYDogVXNlIHRoZSBuYXRpdmUgZW5jYXBzdWxhdGlvbiBtZWNoYW5pc20gb2YgdGhlIHJlbmRlcmVyLlxuICAgKiAtIGBTaGFkb3dEb21gOiBVc2UgbW9kZXJuIFtTaGFkb3dET01dKGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJjb21wb25lbnRzL3NwZWMvc2hhZG93LykgYW5kXG4gICAqICAgY3JlYXRlIGEgU2hhZG93Um9vdCBmb3IgY29tcG9uZW50J3MgaG9zdCBlbGVtZW50LlxuICAgKiAtIGBOb25lYDogRG8gbm90IHByb3ZpZGUgYW55IHRlbXBsYXRlIG9yIHN0eWxlIGVuY2Fwc3VsYXRpb24uXG4gICAqL1xuICByZWFkb25seSBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbjtcblxuICAvKipcbiAgICogRGVmaW5lcyBhcmJpdHJhcnkgZGV2ZWxvcGVyLWRlZmluZWQgZGF0YSB0byBiZSBzdG9yZWQgb24gYSByZW5kZXJlciBpbnN0YW5jZS5cbiAgICogVGhpcyBpcyB1c2VmdWwgZm9yIHJlbmRlcmVycyB0aGF0IGRlbGVnYXRlIHRvIG90aGVyIHJlbmRlcmVycy5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGE6IHtba2luZDogc3RyaW5nXTogYW55fTtcblxuICAvKiogV2hldGhlciBvciBub3QgdGhpcyBjb21wb25lbnQncyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSBpcyBPblB1c2ggKi9cbiAgcmVhZG9ubHkgb25QdXNoOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBzZXQgb2YgaW5qZWN0YWJsZSBwcm92aWRlcnMgdGhhdCBhcmUgdmlzaWJsZSB0byBhIERpcmVjdGl2ZSBhbmQgaXRzIGNvbnRlbnQgRE9NXG4gICAqIGNoaWxkcmVuLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdmlkZXJzOiBQcm92aWRlcltdfG51bGw7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIHNldCBvZiBpbmplY3RhYmxlIHByb3ZpZGVycyB0aGF0IGFyZSB2aXNpYmxlIHRvIGEgRGlyZWN0aXZlIGFuZCBpdHMgdmlldyBET01cbiAgICogY2hpbGRyZW4gb25seS5cbiAgICovXG4gIHJlYWRvbmx5IHZpZXdQcm92aWRlcnM6IFByb3ZpZGVyW118bnVsbDtcblxuICAvKipcbiAgICogUmVnaXN0cnkgb2YgZGlyZWN0aXZlcyBhbmQgY29tcG9uZW50cyB0aGF0IG1heSBiZSBmb3VuZCBpbiB0aGlzIHZpZXcuXG4gICAqXG4gICAqIFRoZSBwcm9wZXJ0eSBpcyBlaXRoZXIgYW4gYXJyYXkgb2YgYERpcmVjdGl2ZURlZmBzIG9yIGEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyB0aGUgYXJyYXkgb2ZcbiAgICogYERpcmVjdGl2ZURlZmBzLiBUaGUgZnVuY3Rpb24gaXMgbmVjZXNzYXJ5IHRvIGJlIGFibGUgdG8gc3VwcG9ydCBmb3J3YXJkIGRlY2xhcmF0aW9ucy5cbiAgICovXG4gIGRpcmVjdGl2ZURlZnM6IERpcmVjdGl2ZURlZkxpc3RPckZhY3Rvcnl8bnVsbDtcblxuICAvKipcbiAgICogUmVnaXN0cnkgb2YgcGlwZXMgdGhhdCBtYXkgYmUgZm91bmQgaW4gdGhpcyB2aWV3LlxuICAgKlxuICAgKiBUaGUgcHJvcGVydHkgaXMgZWl0aGVyIGFuIGFycmF5IG9mIGBQaXBlRGVmc2BzIG9yIGEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyB0aGUgYXJyYXkgb2ZcbiAgICogYFBpcGVEZWZzYHMuIFRoZSBmdW5jdGlvbiBpcyBuZWNlc3NhcnkgdG8gYmUgYWJsZSB0byBzdXBwb3J0IGZvcndhcmQgZGVjbGFyYXRpb25zLlxuICAgKi9cbiAgcGlwZURlZnM6IFBpcGVEZWZMaXN0T3JGYWN0b3J5fG51bGw7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gc3RvcmUgdGhlIHJlc3VsdCBvZiBgbm9TaWRlRWZmZWN0c2AgZnVuY3Rpb24gc28gdGhhdCBpdCBpcyBub3QgcmVtb3ZlZCBieSBjbG9zdXJlXG4gICAqIGNvbXBpbGVyLiBUaGUgcHJvcGVydHkgc2hvdWxkIG5ldmVyIGJlIHJlYWQuXG4gICAqL1xuICByZWFkb25seSBfPzogbmV2ZXI7XG59XG5cbi8qKlxuICogUnVudGltZSBsaW5rIGluZm9ybWF0aW9uIGZvciBQaXBlcy5cbiAqXG4gKiBUaGlzIGlzIGludGVybmFsIGRhdGEgc3RydWN0dXJlIHVzZWQgYnkgdGhlIHJlbmRlcmVyIHRvIGxpbmtcbiAqIHBpcGVzIGludG8gdGVtcGxhdGVzLlxuICpcbiAqIE5PVEU6IEFsd2F5cyB1c2UgYGRlZmluZVBpcGVgIGZ1bmN0aW9uIHRvIGNyZWF0ZSB0aGlzIG9iamVjdCxcbiAqIG5ldmVyIGNyZWF0ZSB0aGUgb2JqZWN0IGRpcmVjdGx5IHNpbmNlIHRoZSBzaGFwZSBvZiB0aGlzIG9iamVjdFxuICogY2FuIGNoYW5nZSBiZXR3ZWVuIHZlcnNpb25zLlxuICpcbiAqIFNlZToge0BsaW5rIGRlZmluZVBpcGV9XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGlwZURlZjxUPiB7XG4gIC8qKlxuICAgKiBQaXBlIG5hbWUuXG4gICAqXG4gICAqIFVzZWQgdG8gcmVzb2x2ZSBwaXBlIGluIHRlbXBsYXRlcy5cbiAgICovXG4gIG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRmFjdG9yeSBmdW5jdGlvbiB1c2VkIHRvIGNyZWF0ZSBhIG5ldyBwaXBlIGluc3RhbmNlLlxuICAgKi9cbiAgZmFjdG9yeTogKCkgPT4gVDtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIHBpcGUgaXMgcHVyZS5cbiAgICpcbiAgICogUHVyZSBwaXBlcyByZXN1bHQgb25seSBkZXBlbmRzIG9uIHRoZSBwaXBlIGlucHV0IGFuZCBub3Qgb24gaW50ZXJuYWxcbiAgICogc3RhdGUgb2YgdGhlIHBpcGUuXG4gICAqL1xuICBwdXJlOiBib29sZWFuO1xuXG4gIC8qIFRoZSBmb2xsb3dpbmcgYXJlIGxpZmVjeWNsZSBob29rcyBmb3IgdGhpcyBwaXBlICovXG4gIG9uRGVzdHJveTogKCgpID0+IHZvaWQpfG51bGw7XG59XG5cbmV4cG9ydCB0eXBlIFBpcGVEZWZXaXRoTWV0YTxULCBOYW1lIGV4dGVuZHMgc3RyaW5nPiA9IFBpcGVEZWY8VD47XG5cbmV4cG9ydCB0eXBlIERpcmVjdGl2ZURlZkZlYXR1cmUgPSA8VD4oZGlyZWN0aXZlRGVmOiBEaXJlY3RpdmVEZWY8VD4pID0+IHZvaWQ7XG5leHBvcnQgdHlwZSBDb21wb25lbnREZWZGZWF0dXJlID0gPFQ+KGNvbXBvbmVudERlZjogQ29tcG9uZW50RGVmPFQ+KSA9PiB2b2lkO1xuXG4vKipcbiAqIFR5cGUgdXNlZCBmb3IgZGlyZWN0aXZlRGVmcyBvbiBjb21wb25lbnQgZGVmaW5pdGlvbi5cbiAqXG4gKiBUaGUgZnVuY3Rpb24gaXMgbmVjZXNzYXJ5IHRvIGJlIGFibGUgdG8gc3VwcG9ydCBmb3J3YXJkIGRlY2xhcmF0aW9ucy5cbiAqL1xuZXhwb3J0IHR5cGUgRGlyZWN0aXZlRGVmTGlzdE9yRmFjdG9yeSA9ICgoKSA9PiBEaXJlY3RpdmVEZWZMaXN0KSB8IERpcmVjdGl2ZURlZkxpc3Q7XG5cbmV4cG9ydCB0eXBlIERpcmVjdGl2ZURlZkxpc3QgPSAoRGlyZWN0aXZlRGVmPGFueT58IENvbXBvbmVudERlZjxhbnk+KVtdO1xuXG5leHBvcnQgdHlwZSBEaXJlY3RpdmVUeXBlc09yRmFjdG9yeSA9ICgoKSA9PiBEaXJlY3RpdmVUeXBlTGlzdCkgfCBEaXJlY3RpdmVUeXBlTGlzdDtcblxuZXhwb3J0IHR5cGUgRGlyZWN0aXZlVHlwZUxpc3QgPVxuICAgIChEaXJlY3RpdmVEZWY8YW55PnwgQ29tcG9uZW50RGVmPGFueT58XG4gICAgIFR5cGU8YW55Pi8qIFR5cGUgYXMgd29ya2Fyb3VuZCBmb3I6IE1pY3Jvc29mdC9UeXBlU2NyaXB0L2lzc3Vlcy80ODgxICovKVtdO1xuXG5leHBvcnQgdHlwZSBIb3N0QmluZGluZ3NGdW5jdGlvbiA9IChkaXJlY3RpdmVJbmRleDogbnVtYmVyLCBlbGVtZW50SW5kZXg6IG51bWJlcikgPT4gdm9pZDtcblxuLyoqXG4gKiBUeXBlIHVzZWQgZm9yIFBpcGVEZWZzIG9uIGNvbXBvbmVudCBkZWZpbml0aW9uLlxuICpcbiAqIFRoZSBmdW5jdGlvbiBpcyBuZWNlc3NhcnkgdG8gYmUgYWJsZSB0byBzdXBwb3J0IGZvcndhcmQgZGVjbGFyYXRpb25zLlxuICovXG5leHBvcnQgdHlwZSBQaXBlRGVmTGlzdE9yRmFjdG9yeSA9ICgoKSA9PiBQaXBlRGVmTGlzdCkgfCBQaXBlRGVmTGlzdDtcblxuZXhwb3J0IHR5cGUgUGlwZURlZkxpc3QgPSBQaXBlRGVmPGFueT5bXTtcblxuZXhwb3J0IHR5cGUgUGlwZVR5cGVzT3JGYWN0b3J5ID0gKCgpID0+IERpcmVjdGl2ZVR5cGVMaXN0KSB8IERpcmVjdGl2ZVR5cGVMaXN0O1xuXG5leHBvcnQgdHlwZSBQaXBlVHlwZUxpc3QgPVxuICAgIChQaXBlRGVmPGFueT58IFR5cGU8YW55Pi8qIFR5cGUgYXMgd29ya2Fyb3VuZCBmb3I6IE1pY3Jvc29mdC9UeXBlU2NyaXB0L2lzc3Vlcy80ODgxICovKVtdO1xuXG5cbi8vIE5vdGU6IFRoaXMgaGFjayBpcyBuZWNlc3Nhcnkgc28gd2UgZG9uJ3QgZXJyb25lb3VzbHkgZ2V0IGEgY2lyY3VsYXIgZGVwZW5kZW5jeVxuLy8gZmFpbHVyZSBiYXNlZCBvbiB0eXBlcy5cbmV4cG9ydCBjb25zdCB1bnVzZWRWYWx1ZUV4cG9ydFRvUGxhY2F0ZUFqZCA9IDE7XG5cbmV4cG9ydCBjb25zdCBlbnVtIEluaXRpYWxTdHlsaW5nRmxhZ3Mge1xuICBWQUxVRVNfTU9ERSA9IDBiMSxcbn1cbiJdfQ==
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @license
|
|
7
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
8
|
+
*
|
|
9
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
10
|
+
* found in the LICENSE file at https://angular.io/license
|
|
11
|
+
*/
|
|
12
|
+
/** @enum {number} */
|
|
13
|
+
var I18nMutateOpCode = {
|
|
14
|
+
SHIFT_REF: 2,
|
|
15
|
+
SHIFT_PARENT: 17,
|
|
16
|
+
MASK_OPCODE: 3,
|
|
17
|
+
MASK_REF: 68,
|
|
18
|
+
Select: 0,
|
|
19
|
+
AppendChild: 1,
|
|
20
|
+
InsertBefore: 2,
|
|
21
|
+
Remove: 3,
|
|
22
|
+
};
|
|
23
|
+
export { I18nMutateOpCode };
|
|
24
|
+
/** *
|
|
25
|
+
* Marks that the next string is for element.
|
|
26
|
+
*
|
|
27
|
+
* See `I18nMutateOpCodes` documentation.
|
|
28
|
+
@type {?} */
|
|
29
|
+
export const ELEMENT_MARKER = {
|
|
30
|
+
marker: 'element'
|
|
31
|
+
};
|
|
32
|
+
/** *
|
|
33
|
+
* Marks that the next string is for comment.
|
|
34
|
+
*
|
|
35
|
+
* See `I18nMutateOpCodes` documentation.
|
|
36
|
+
@type {?} */
|
|
37
|
+
export const COMMENT_MARKER = {
|
|
38
|
+
marker: 'comment'
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Array storing OpCode for dynamically creating `i18n` blocks.
|
|
42
|
+
*
|
|
43
|
+
* Example:
|
|
44
|
+
* ```
|
|
45
|
+
* <I18nCreateOpCode>[
|
|
46
|
+
* // For adding text nodes
|
|
47
|
+
* // ---------------------
|
|
48
|
+
* // Equivalent to:
|
|
49
|
+
* // const node = lViewData[index++] = document.createTextNode('abc');
|
|
50
|
+
* // lViewData[1].insertBefore(node, lViewData[2]);
|
|
51
|
+
* 'abc', 1 << SHIFT_PARENT | 2 << SHIFT_REF | InsertBefore,
|
|
52
|
+
*
|
|
53
|
+
* // Equivalent to:
|
|
54
|
+
* // const node = lViewData[index++] = document.createTextNode('xyz');
|
|
55
|
+
* // lViewData[1].appendChild(node);
|
|
56
|
+
* 'xyz', 1 << SHIFT_PARENT | AppendChild,
|
|
57
|
+
*
|
|
58
|
+
* // For adding element nodes
|
|
59
|
+
* // ---------------------
|
|
60
|
+
* // Equivalent to:
|
|
61
|
+
* // const node = lViewData[index++] = document.createElement('div');
|
|
62
|
+
* // lViewData[1].insertBefore(node, lViewData[2]);
|
|
63
|
+
* ELEMENT_MARKER, 'div', 1 << SHIFT_PARENT | 2 << SHIFT_REF | InsertBefore,
|
|
64
|
+
*
|
|
65
|
+
* // Equivalent to:
|
|
66
|
+
* // const node = lViewData[index++] = document.createElement('div');
|
|
67
|
+
* // lViewData[1].appendChild(node);
|
|
68
|
+
* ELEMENT_MARKER, 'div', 1 << SHIFT_PARENT | AppendChild,
|
|
69
|
+
*
|
|
70
|
+
* // For adding comment nodes
|
|
71
|
+
* // ---------------------
|
|
72
|
+
* // Equivalent to:
|
|
73
|
+
* // const node = lViewData[index++] = document.createComment('');
|
|
74
|
+
* // lViewData[1].insertBefore(node, lViewData[2]);
|
|
75
|
+
* COMMENT_MARKER, '', 1 << SHIFT_PARENT | 2 << SHIFT_REF | InsertBefore,
|
|
76
|
+
*
|
|
77
|
+
* // Equivalent to:
|
|
78
|
+
* // const node = lViewData[index++] = document.createComment('');
|
|
79
|
+
* // lViewData[1].appendChild(node);
|
|
80
|
+
* COMMENT_MARKER, '', 1 << SHIFT_PARENT | AppendChild,
|
|
81
|
+
*
|
|
82
|
+
* // For moving existing nodes to a different location
|
|
83
|
+
* // --------------------------------------------------
|
|
84
|
+
* // Equivalent to:
|
|
85
|
+
* // const node = lViewData[1];
|
|
86
|
+
* // lViewData[2].insertBefore(node, lViewData[3]);
|
|
87
|
+
* 1 << SHIFT_REF | Select, 2 << SHIFT_PARENT | 3 << SHIFT_REF | InsertBefore,
|
|
88
|
+
*
|
|
89
|
+
* // Equivalent to:
|
|
90
|
+
* // const node = lViewData[1];
|
|
91
|
+
* // lViewData[2].appendChild(node);
|
|
92
|
+
* 1 << SHIFT_REF | Select, 2 << SHIFT_PARENT | AppendChild,
|
|
93
|
+
*
|
|
94
|
+
* // For removing existing nodes
|
|
95
|
+
* // --------------------------------------------------
|
|
96
|
+
* // const node = lViewData[1];
|
|
97
|
+
* // lViewData[2].remove(node);
|
|
98
|
+
* 2 << SHIFT_PARENT | 1 << SHIFT_REF | Remove,
|
|
99
|
+
*
|
|
100
|
+
* // For writing attributes
|
|
101
|
+
* // --------------------------------------------------
|
|
102
|
+
* // const node = lViewData[1];
|
|
103
|
+
* // node.setAttribute('attr', 'value');
|
|
104
|
+
* 1 << SHIFT_REF | Select, 'attr', 'value'
|
|
105
|
+
* // NOTE: Select followed by two string (vs select followed by OpCode)
|
|
106
|
+
* ];
|
|
107
|
+
* ```
|
|
108
|
+
* NOTE:
|
|
109
|
+
* - `index` is initial location where the extra nodes should be stored in the EXPANDO section of
|
|
110
|
+
* `LVIewData`.
|
|
111
|
+
*
|
|
112
|
+
* See: `applyI18nCreateOpCodes`;
|
|
113
|
+
* @record
|
|
114
|
+
*/
|
|
115
|
+
export function I18nMutateOpCodes() { }
|
|
116
|
+
/** @enum {number} */
|
|
117
|
+
var I18nUpdateOpCode = {
|
|
118
|
+
SHIFT_REF: 2,
|
|
119
|
+
SHIFT_ICU: 17,
|
|
120
|
+
MASK_OPCODE: 3,
|
|
121
|
+
MASK_REF: 68,
|
|
122
|
+
Text: 0,
|
|
123
|
+
Attr: 1,
|
|
124
|
+
IcuSwitch: 2,
|
|
125
|
+
IcuUpdate: 3,
|
|
126
|
+
};
|
|
127
|
+
export { I18nUpdateOpCode };
|
|
128
|
+
/**
|
|
129
|
+
* Stores DOM operations which need to be applied to update DOM render tree due to changes in
|
|
130
|
+
* expressions.
|
|
131
|
+
*
|
|
132
|
+
* The basic idea is that `i18nExp` OpCodes capture expression changes and update a change
|
|
133
|
+
* mask bit. (Bit 1 for expression 1, bit 2 for expression 2 etc..., bit 32 for expression 32 and
|
|
134
|
+
* higher.) The OpCodes then compare its own change mask against the expression change mask to
|
|
135
|
+
* determine if the OpCodes should execute.
|
|
136
|
+
*
|
|
137
|
+
* These OpCodes can be used by both the i18n block as well as ICU sub-block.
|
|
138
|
+
*
|
|
139
|
+
* ## Example
|
|
140
|
+
*
|
|
141
|
+
* Assume
|
|
142
|
+
* ```
|
|
143
|
+
* if (rf & RenderFlags.Update) {
|
|
144
|
+
* i18nExp(bind(ctx.exp1)); // If changed set mask bit 1
|
|
145
|
+
* i18nExp(bind(ctx.exp2)); // If changed set mask bit 2
|
|
146
|
+
* i18nExp(bind(ctx.exp3)); // If changed set mask bit 3
|
|
147
|
+
* i18nExp(bind(ctx.exp4)); // If changed set mask bit 4
|
|
148
|
+
* i18nApply(0); // Apply all changes by executing the OpCodes.
|
|
149
|
+
* }
|
|
150
|
+
* ```
|
|
151
|
+
* We can assume that each call to `i18nExp` sets an internal `changeMask` bit depending on the
|
|
152
|
+
* index of `i18nExp` index.
|
|
153
|
+
*
|
|
154
|
+
* OpCodes
|
|
155
|
+
* ```
|
|
156
|
+
* <I18nUpdateOpCodes>[
|
|
157
|
+
* // The following OpCodes represent: `<div i18n-title="pre{{exp1}}in{{exp2}}post">`
|
|
158
|
+
* // If `changeMask & 0b11`
|
|
159
|
+
* // has changed then execute update OpCodes.
|
|
160
|
+
* // has NOT changed then skip `7` values and start processing next OpCodes.
|
|
161
|
+
* 0b11, 7,
|
|
162
|
+
* // Concatenate `newValue = 'pre'+lViewData[bindIndex-4]+'in'+lViewData[bindIndex-3]+'post';`.
|
|
163
|
+
* 'pre', -4, 'in', -3, 'post',
|
|
164
|
+
* // Update attribute: `elementAttribute(1, 'title', sanitizerFn(newValue));`
|
|
165
|
+
* 1 << SHIFT_REF | Attr, 'title', sanitizerFn,
|
|
166
|
+
*
|
|
167
|
+
* // The following OpCodes represent: `<div i18n>Hello {{exp3}}!">`
|
|
168
|
+
* // If `changeMask & 0b100`
|
|
169
|
+
* // has changed then execute update OpCodes.
|
|
170
|
+
* // has NOT changed then skip `4` values and start processing next OpCodes.
|
|
171
|
+
* 0b100, 4,
|
|
172
|
+
* // Concatenate `newValue = 'Hello ' + lViewData[bindIndex -2] + '!';`.
|
|
173
|
+
* 'Hello ', -2, '!',
|
|
174
|
+
* // Update text: `lViewData[1].textContent = newValue;`
|
|
175
|
+
* 1 << SHIFT_REF | Text,
|
|
176
|
+
*
|
|
177
|
+
* // The following OpCodes represent: `<div i18n>{exp4, plural, ... }">`
|
|
178
|
+
* // If `changeMask & 0b1000`
|
|
179
|
+
* // has changed then execute update OpCodes.
|
|
180
|
+
* // has NOT changed then skip `4` values and start processing next OpCodes.
|
|
181
|
+
* 0b1000, 4,
|
|
182
|
+
* // Concatenate `newValue = lViewData[bindIndex -1];`.
|
|
183
|
+
* -1,
|
|
184
|
+
* // Switch ICU: `icuSwitchCase(lViewData[1], 0, newValue);`
|
|
185
|
+
* 0 << SHIFT_ICU | 1 << SHIFT_REF | IcuSwitch,
|
|
186
|
+
*
|
|
187
|
+
* // Note `changeMask & -1` is always true, so the IcuUpdate will always execute.
|
|
188
|
+
* -1, 1,
|
|
189
|
+
* // Update ICU: `icuUpdateCase(lViewData[1], 0);`
|
|
190
|
+
* 0 << SHIFT_ICU | 1 << SHIFT_REF | IcuUpdate,
|
|
191
|
+
*
|
|
192
|
+
* ];
|
|
193
|
+
* ```
|
|
194
|
+
*
|
|
195
|
+
* @record
|
|
196
|
+
*/
|
|
197
|
+
export function I18nUpdateOpCodes() { }
|
|
198
|
+
/**
|
|
199
|
+
* Store information for the i18n translation block.
|
|
200
|
+
* @record
|
|
201
|
+
*/
|
|
202
|
+
export function TI18n() { }
|
|
203
|
+
/**
|
|
204
|
+
* Number of slots to allocate in expando.
|
|
205
|
+
*
|
|
206
|
+
* This is the max number of DOM elements which will be created by this i18n + ICU blocks. When
|
|
207
|
+
* the DOM elements are being created they are stored in the EXPANDO, so that update OpCodes can
|
|
208
|
+
* write into them.
|
|
209
|
+
* @type {?}
|
|
210
|
+
*/
|
|
211
|
+
TI18n.prototype.vars;
|
|
212
|
+
/**
|
|
213
|
+
* Index in EXPANDO where the i18n stores its DOM nodes.
|
|
214
|
+
*
|
|
215
|
+
* When the bindings are processed by the `i18nEnd` instruction it is necessary to know where the
|
|
216
|
+
* newly created DOM nodes will be inserted.
|
|
217
|
+
* @type {?}
|
|
218
|
+
*/
|
|
219
|
+
TI18n.prototype.expandoStartIndex;
|
|
220
|
+
/**
|
|
221
|
+
* A set of OpCodes which will create the Text Nodes and ICU anchors for the translation blocks.
|
|
222
|
+
*
|
|
223
|
+
* NOTE: The ICU anchors are filled in with ICU Update OpCode.
|
|
224
|
+
* @type {?}
|
|
225
|
+
*/
|
|
226
|
+
TI18n.prototype.create;
|
|
227
|
+
/**
|
|
228
|
+
* A set of OpCodes which will be executed on each change detection to determine if any changes to
|
|
229
|
+
* DOM are required.
|
|
230
|
+
* @type {?}
|
|
231
|
+
*/
|
|
232
|
+
TI18n.prototype.update;
|
|
233
|
+
/**
|
|
234
|
+
* A list of ICUs in a translation block (or `null` if block has no ICUs).
|
|
235
|
+
*
|
|
236
|
+
* Example:
|
|
237
|
+
* Given: `<div i18n>You have {count, plural, ...} and {state, switch, ...}</div>`
|
|
238
|
+
* There would be 2 ICUs in this array.
|
|
239
|
+
* 1. `{count, plural, ...}`
|
|
240
|
+
* 2. `{state, switch, ...}`
|
|
241
|
+
* @type {?}
|
|
242
|
+
*/
|
|
243
|
+
TI18n.prototype.icus;
|
|
244
|
+
/** @enum {number} */
|
|
245
|
+
var IcuType = {
|
|
246
|
+
select: 0,
|
|
247
|
+
plural: 1,
|
|
248
|
+
};
|
|
249
|
+
export { IcuType };
|
|
250
|
+
/**
|
|
251
|
+
* @record
|
|
252
|
+
*/
|
|
253
|
+
export function TIcu() { }
|
|
254
|
+
/**
|
|
255
|
+
* Defines the ICU type of `select` or `plural`
|
|
256
|
+
* @type {?}
|
|
257
|
+
*/
|
|
258
|
+
TIcu.prototype.type;
|
|
259
|
+
/**
|
|
260
|
+
* Number of slots to allocate in expando for each case.
|
|
261
|
+
*
|
|
262
|
+
* This is the max number of DOM elements which will be created by this i18n + ICU blocks. When
|
|
263
|
+
* the DOM elements are being created they are stored in the EXPANDO, so that update OpCodes can
|
|
264
|
+
* write into them.
|
|
265
|
+
* @type {?}
|
|
266
|
+
*/
|
|
267
|
+
TIcu.prototype.vars;
|
|
268
|
+
/**
|
|
269
|
+
* An optional array of child/sub ICUs.
|
|
270
|
+
*
|
|
271
|
+
* In case of nested ICUs such as:
|
|
272
|
+
* ```
|
|
273
|
+
* {�0�, plural,
|
|
274
|
+
* =0 {zero}
|
|
275
|
+
* other {�0� {�1�, select,
|
|
276
|
+
* cat {cats}
|
|
277
|
+
* dog {dogs}
|
|
278
|
+
* other {animals}
|
|
279
|
+
* }!
|
|
280
|
+
* }
|
|
281
|
+
* }
|
|
282
|
+
* ```
|
|
283
|
+
* When the parent ICU is changing it must clean up child ICUs as well. For this reason it needs
|
|
284
|
+
* to know which child ICUs to run clean up for as well.
|
|
285
|
+
*
|
|
286
|
+
* In the above example this would be:
|
|
287
|
+
* ```
|
|
288
|
+
* [
|
|
289
|
+
* [], // `=0` has no sub ICUs
|
|
290
|
+
* [1], // `other` has one subICU at `1`st index.
|
|
291
|
+
* ]
|
|
292
|
+
* ```
|
|
293
|
+
*
|
|
294
|
+
* The reason why it is Array of Arrays is because first array represents the case, and second
|
|
295
|
+
* represents the child ICUs to clean up. There may be more than one child ICUs per case.
|
|
296
|
+
* @type {?}
|
|
297
|
+
*/
|
|
298
|
+
TIcu.prototype.childIcus;
|
|
299
|
+
/**
|
|
300
|
+
* Index in EXPANDO where the i18n stores its DOM nodes.
|
|
301
|
+
*
|
|
302
|
+
* When the bindings are processed by the `i18nEnd` instruction it is necessary to know where the
|
|
303
|
+
* newly created DOM nodes will be inserted.
|
|
304
|
+
* @type {?}
|
|
305
|
+
*/
|
|
306
|
+
TIcu.prototype.expandoStartIndex;
|
|
307
|
+
/**
|
|
308
|
+
* A list of case values which the current ICU will try to match.
|
|
309
|
+
*
|
|
310
|
+
* The last value is `other`
|
|
311
|
+
* @type {?}
|
|
312
|
+
*/
|
|
313
|
+
TIcu.prototype.cases;
|
|
314
|
+
/**
|
|
315
|
+
* A set of OpCodes to apply in order to build up the DOM render tree for the ICU
|
|
316
|
+
* @type {?}
|
|
317
|
+
*/
|
|
318
|
+
TIcu.prototype.create;
|
|
319
|
+
/**
|
|
320
|
+
* A set of OpCodes to apply in order to destroy the DOM render tree for the ICU.
|
|
321
|
+
* @type {?}
|
|
322
|
+
*/
|
|
323
|
+
TIcu.prototype.remove;
|
|
324
|
+
/**
|
|
325
|
+
* A set of OpCodes to apply in order to update the DOM render tree for the ICU bindings.
|
|
326
|
+
* @type {?}
|
|
327
|
+
*/
|
|
328
|
+
TIcu.prototype.update;
|
|
329
|
+
/**
|
|
330
|
+
* Stores currently selected case in each ICU.
|
|
331
|
+
*
|
|
332
|
+
* For each ICU in translation, the `Li18n` stores the currently selected case for the current
|
|
333
|
+
* `LView`. For perf reasons this array is only created if a translation block has an ICU.
|
|
334
|
+
* @record
|
|
335
|
+
*/
|
|
336
|
+
export function LI18n() { }
|
|
337
|
+
|
|
338
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3JlbmRlcjMvaW50ZXJmYWNlcy9pMThuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7SUFvQkUsWUFBYTtJQUViLGdCQUFpQjtJQUVqQixjQUFrQjtJQUVsQixZQUFzQztJQUd0QyxTQUFhO0lBRWIsY0FBa0I7SUFFbEIsZUFBbUI7SUFFbkIsU0FBYTs7Ozs7Ozs7QUFRZixhQUFhLGNBQWMsR0FBbUI7SUFDNUMsTUFBTSxFQUFFLFNBQVM7Q0FDbEIsQ0FBQzs7Ozs7O0FBUUYsYUFBYSxjQUFjLEdBQW1CO0lBQzVDLE1BQU0sRUFBRSxTQUFTO0NBQ2xCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFtRkEsWUFBYTtJQUViLGFBQWM7SUFFZCxjQUFrQjtJQUVsQixZQUFzQztJQUd0QyxPQUFXO0lBRVgsT0FBVztJQUVYLFlBQWdCO0lBRWhCLFlBQWdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBMkhoQixTQUFVO0lBQ1YsU0FBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBgSTE4bk11dGF0ZU9wQ29kZWAgZGVmaW5lcyBPcENvZGVzIGZvciBgSTE4bk11dGF0ZU9wQ29kZXNgIGFycmF5LlxuICpcbiAqIE9wQ29kZXMgY29udGFpbiB0aHJlZSBwYXJ0czpcbiAqICAxKSBQYXJlbnQgbm9kZSBpbmRleCBvZmZzZXQuXG4gKiAgMikgUmVmZXJlbmNlIG5vZGUgaW5kZXggb2Zmc2V0LlxuICogIDMpIFRoZSBPcENvZGUgdG8gZXhlY3V0ZS5cbiAqXG4gKiBTZWU6IGBJMThuQ3JlYXRlT3BDb2Rlc2AgZm9yIGV4YW1wbGUgb2YgdXNhZ2UuXG4gKi9cbmV4cG9ydCBjb25zdCBlbnVtIEkxOG5NdXRhdGVPcENvZGUge1xuICAvLy8gU3RvcmVzIHNoaWZ0IGFtb3VudCBmb3IgYml0cyAxNy0yIHRoYXQgY29udGFpbiByZWZlcmVuY2UgaW5kZXguXG4gIFNISUZUX1JFRiA9IDIsXG4gIC8vLyBTdG9yZXMgc2hpZnQgYW1vdW50IGZvciBiaXRzIDMxLTE3IHRoYXQgY29udGFpbiBwYXJlbnQgaW5kZXguXG4gIFNISUZUX1BBUkVOVCA9IDE3LFxuICAvLy8gTWFzayBmb3IgT3BDb2RlXG4gIE1BU0tfT1BDT0RFID0gMGIxMSxcbiAgLy8vIE1hc2sgZm9yIHJlZmVyZW5jZSBpbmRleC5cbiAgTUFTS19SRUYgPSAoKDIgXiAxNikgLSAxKSA8PCBTSElGVF9SRUYsXG5cbiAgLy8vIE9wQ29kZSB0byBzZWxlY3QgYSBub2RlLiAobmV4dCBPcENvZGUgd2lsbCBjb250YWluIHRoZSBvcGVyYXRpb24uKVxuICBTZWxlY3QgPSAwYjAwLFxuICAvLy8gT3BDb2RlIHRvIGFwcGVuZCB0aGUgY3VycmVudCBub2RlIHRvIGBQQVJFTlRgLlxuICBBcHBlbmRDaGlsZCA9IDBiMDEsXG4gIC8vLyBPcENvZGUgdG8gaW5zZXJ0IHRoZSBjdXJyZW50IG5vZGUgdG8gYFBBUkVOVGAgYmVmb3JlIGBSRUZgLlxuICBJbnNlcnRCZWZvcmUgPSAwYjEwLFxuICAvLy8gT3BDb2RlIHRvIHJlbW92ZSB0aGUgYFJFRmAgbm9kZSBmcm9tIGBQQVJFTlRgLlxuICBSZW1vdmUgPSAwYjExLFxufVxuXG4vKipcbiAqIE1hcmtzIHRoYXQgdGhlIG5leHQgc3RyaW5nIGlzIGZvciBlbGVtZW50LlxuICpcbiAqIFNlZSBgSTE4bk11dGF0ZU9wQ29kZXNgIGRvY3VtZW50YXRpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBFTEVNRU5UX01BUktFUjogRUxFTUVOVF9NQVJLRVIgPSB7XG4gIG1hcmtlcjogJ2VsZW1lbnQnXG59O1xuZXhwb3J0IGludGVyZmFjZSBFTEVNRU5UX01BUktFUiB7IG1hcmtlcjogJ2VsZW1lbnQnOyB9XG5cbi8qKlxuICogTWFya3MgdGhhdCB0aGUgbmV4dCBzdHJpbmcgaXMgZm9yIGNvbW1lbnQuXG4gKlxuICogU2VlIGBJMThuTXV0YXRlT3BDb2Rlc2AgZG9jdW1lbnRhdGlvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IENPTU1FTlRfTUFSS0VSOiBDT01NRU5UX01BUktFUiA9IHtcbiAgbWFya2VyOiAnY29tbWVudCdcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ09NTUVOVF9NQVJLRVIgeyBtYXJrZXI6ICdjb21tZW50JzsgfVxuXG4vKipcbiAqIEFycmF5IHN0b3JpbmcgT3BDb2RlIGZvciBkeW5hbWljYWxseSBjcmVhdGluZyBgaTE4bmAgYmxvY2tzLlxuICpcbiAqIEV4YW1wbGU6XG4gKiBgYGBcbiAqIDxJMThuQ3JlYXRlT3BDb2RlPltcbiAqICAgLy8gRm9yIGFkZGluZyB0ZXh0IG5vZGVzXG4gKiAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogICAvLyBFcXVpdmFsZW50IHRvOlxuICogICAvLyAgIGNvbnN0IG5vZGUgPSBsVmlld0RhdGFbaW5kZXgrK10gPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnYWJjJyk7XG4gKiAgIC8vICAgbFZpZXdEYXRhWzFdLmluc2VydEJlZm9yZShub2RlLCBsVmlld0RhdGFbMl0pO1xuICogICAnYWJjJywgMSA8PCBTSElGVF9QQVJFTlQgfCAyIDw8IFNISUZUX1JFRiB8IEluc2VydEJlZm9yZSxcbiAqXG4gKiAgIC8vIEVxdWl2YWxlbnQgdG86XG4gKiAgIC8vICAgY29uc3Qgbm9kZSA9IGxWaWV3RGF0YVtpbmRleCsrXSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCd4eXonKTtcbiAqICAgLy8gICBsVmlld0RhdGFbMV0uYXBwZW5kQ2hpbGQobm9kZSk7XG4gKiAgICd4eXonLCAxIDw8IFNISUZUX1BBUkVOVCB8IEFwcGVuZENoaWxkLFxuICpcbiAqICAgLy8gRm9yIGFkZGluZyBlbGVtZW50IG5vZGVzXG4gKiAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogICAvLyBFcXVpdmFsZW50IHRvOlxuICogICAvLyAgIGNvbnN0IG5vZGUgPSBsVmlld0RhdGFbaW5kZXgrK10gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAqICAgLy8gICBsVmlld0RhdGFbMV0uaW5zZXJ0QmVmb3JlKG5vZGUsIGxWaWV3RGF0YVsyXSk7XG4gKiAgIEVMRU1FTlRfTUFSS0VSLCAnZGl2JywgMSA8PCBTSElGVF9QQVJFTlQgfCAyIDw8IFNISUZUX1JFRiB8IEluc2VydEJlZm9yZSxcbiAqXG4gKiAgIC8vIEVxdWl2YWxlbnQgdG86XG4gKiAgIC8vICAgY29uc3Qgbm9kZSA9IGxWaWV3RGF0YVtpbmRleCsrXSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICogICAvLyAgIGxWaWV3RGF0YVsxXS5hcHBlbmRDaGlsZChub2RlKTtcbiAqICAgRUxFTUVOVF9NQVJLRVIsICdkaXYnLCAxIDw8IFNISUZUX1BBUkVOVCB8IEFwcGVuZENoaWxkLFxuICpcbiAqICAgLy8gRm9yIGFkZGluZyBjb21tZW50IG5vZGVzXG4gKiAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogICAvLyBFcXVpdmFsZW50IHRvOlxuICogICAvLyAgIGNvbnN0IG5vZGUgPSBsVmlld0RhdGFbaW5kZXgrK10gPSBkb2N1bWVudC5jcmVhdGVDb21tZW50KCcnKTtcbiAqICAgLy8gICBsVmlld0RhdGFbMV0uaW5zZXJ0QmVmb3JlKG5vZGUsIGxWaWV3RGF0YVsyXSk7XG4gKiAgIENPTU1FTlRfTUFSS0VSLCAnJywgMSA8PCBTSElGVF9QQVJFTlQgfCAyIDw8IFNISUZUX1JFRiB8IEluc2VydEJlZm9yZSxcbiAqXG4gKiAgIC8vIEVxdWl2YWxlbnQgdG86XG4gKiAgIC8vICAgY29uc3Qgbm9kZSA9IGxWaWV3RGF0YVtpbmRleCsrXSA9IGRvY3VtZW50LmNyZWF0ZUNvbW1lbnQoJycpO1xuICogICAvLyAgIGxWaWV3RGF0YVsxXS5hcHBlbmRDaGlsZChub2RlKTtcbiAqICAgQ09NTUVOVF9NQVJLRVIsICcnLCAxIDw8IFNISUZUX1BBUkVOVCB8IEFwcGVuZENoaWxkLFxuICpcbiAqICAgLy8gRm9yIG1vdmluZyBleGlzdGluZyBub2RlcyB0byBhIGRpZmZlcmVudCBsb2NhdGlvblxuICogICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogICAvLyBFcXVpdmFsZW50IHRvOlxuICogICAvLyAgIGNvbnN0IG5vZGUgPSBsVmlld0RhdGFbMV07XG4gKiAgIC8vICAgbFZpZXdEYXRhWzJdLmluc2VydEJlZm9yZShub2RlLCBsVmlld0RhdGFbM10pO1xuICogICAxIDw8IFNISUZUX1JFRiB8IFNlbGVjdCwgMiA8PCBTSElGVF9QQVJFTlQgfCAzIDw8IFNISUZUX1JFRiB8IEluc2VydEJlZm9yZSxcbiAqXG4gKiAgIC8vIEVxdWl2YWxlbnQgdG86XG4gKiAgIC8vICAgY29uc3Qgbm9kZSA9IGxWaWV3RGF0YVsxXTtcbiAqICAgLy8gICBsVmlld0RhdGFbMl0uYXBwZW5kQ2hpbGQobm9kZSk7XG4gKiAgIDEgPDwgU0hJRlRfUkVGIHwgU2VsZWN0LCAyIDw8IFNISUZUX1BBUkVOVCB8IEFwcGVuZENoaWxkLFxuICpcbiAqICAgLy8gRm9yIHJlbW92aW5nIGV4aXN0aW5nIG5vZGVzXG4gKiAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgIC8vICAgY29uc3Qgbm9kZSA9IGxWaWV3RGF0YVsxXTtcbiAqICAgLy8gICBsVmlld0RhdGFbMl0ucmVtb3ZlKG5vZGUpO1xuICogICAyIDw8IFNISUZUX1BBUkVOVCB8IDEgPDwgU0hJRlRfUkVGIHwgUmVtb3ZlLFxuICpcbiAqICAgLy8gRm9yIHdyaXRpbmcgYXR0cmlidXRlc1xuICogICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogICAvLyAgIGNvbnN0IG5vZGUgPSBsVmlld0RhdGFbMV07XG4gKiAgIC8vICAgbm9kZS5zZXRBdHRyaWJ1dGUoJ2F0dHInLCAndmFsdWUnKTtcbiAqICAgMSA8PCBTSElGVF9SRUYgfCBTZWxlY3QsICdhdHRyJywgJ3ZhbHVlJ1xuICogICAgICAgICAgICAvLyBOT1RFOiBTZWxlY3QgZm9sbG93ZWQgYnkgdHdvIHN0cmluZyAodnMgc2VsZWN0IGZvbGxvd2VkIGJ5IE9wQ29kZSlcbiAqIF07XG4gKiBgYGBcbiAqIE5PVEU6XG4gKiAgIC0gYGluZGV4YCBpcyBpbml0aWFsIGxvY2F0aW9uIHdoZXJlIHRoZSBleHRyYSBub2RlcyBzaG91bGQgYmUgc3RvcmVkIGluIHRoZSBFWFBBTkRPIHNlY3Rpb24gb2ZcbiAqIGBMVklld0RhdGFgLlxuICpcbiAqIFNlZTogYGFwcGx5STE4bkNyZWF0ZU9wQ29kZXNgO1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEkxOG5NdXRhdGVPcENvZGVzIGV4dGVuZHMgQXJyYXk8bnVtYmVyfHN0cmluZ3xFTEVNRU5UX01BUktFUnxDT01NRU5UX01BUktFUnxudWxsPiB7XG59XG5cbmV4cG9ydCBjb25zdCBlbnVtIEkxOG5VcGRhdGVPcENvZGUge1xuICAvLy8gU3RvcmVzIHNoaWZ0IGFtb3VudCBmb3IgYml0cyAxNy0yIHRoYXQgY29udGFpbiByZWZlcmVuY2UgaW5kZXguXG4gIFNISUZUX1JFRiA9IDIsXG4gIC8vLyBTdG9yZXMgc2hpZnQgYW1vdW50IGZvciBiaXRzIDMxLTE3IHRoYXQgY29udGFpbiB3aGljaCBJQ1UgaW4gaTE4biBibG9jayBhcmUgd2UgcmVmZXJyaW5nIHRvLlxuICBTSElGVF9JQ1UgPSAxNyxcbiAgLy8vIE1hc2sgZm9yIE9wQ29kZVxuICBNQVNLX09QQ09ERSA9IDBiMTEsXG4gIC8vLyBNYXNrIGZvciByZWZlcmVuY2UgaW5kZXguXG4gIE1BU0tfUkVGID0gKCgyIF4gMTYpIC0gMSkgPDwgU0hJRlRfUkVGLFxuXG4gIC8vLyBPcENvZGUgdG8gdXBkYXRlIGEgdGV4dCBub2RlLlxuICBUZXh0ID0gMGIwMCxcbiAgLy8vIE9wQ29kZSB0byB1cGRhdGUgYSBhdHRyaWJ1dGUgb2YgYSBub2RlLlxuICBBdHRyID0gMGIwMSxcbiAgLy8vIE9wQ29kZSB0byBzd2l0Y2ggdGhlIGN1cnJlbnQgSUNVIGNhc2UuXG4gIEljdVN3aXRjaCA9IDBiMTAsXG4gIC8vLyBPcENvZGUgdG8gdXBkYXRlIHRoZSBjdXJyZW50IElDVSBjYXNlLlxuICBJY3VVcGRhdGUgPSAwYjExLFxufVxuXG4vKipcbiAqIFN0b3JlcyBET00gb3BlcmF0aW9ucyB3aGljaCBuZWVkIHRvIGJlIGFwcGxpZWQgdG8gdXBkYXRlIERPTSByZW5kZXIgdHJlZSBkdWUgdG8gY2hhbmdlcyBpblxuICogZXhwcmVzc2lvbnMuXG4gKlxuICogVGhlIGJhc2ljIGlkZWEgaXMgdGhhdCBgaTE4bkV4cGAgT3BDb2RlcyBjYXB0dXJlIGV4cHJlc3Npb24gY2hhbmdlcyBhbmQgdXBkYXRlIGEgY2hhbmdlXG4gKiBtYXNrIGJpdC4gKEJpdCAxIGZvciBleHByZXNzaW9uIDEsIGJpdCAyIGZvciBleHByZXNzaW9uIDIgZXRjLi4uLCBiaXQgMzIgZm9yIGV4cHJlc3Npb24gMzIgYW5kXG4gKiBoaWdoZXIuKSBUaGUgT3BDb2RlcyB0aGVuIGNvbXBhcmUgaXRzIG93biBjaGFuZ2UgbWFzayBhZ2FpbnN0IHRoZSBleHByZXNzaW9uIGNoYW5nZSBtYXNrIHRvXG4gKiBkZXRlcm1pbmUgaWYgdGhlIE9wQ29kZXMgc2hvdWxkIGV4ZWN1dGUuXG4gKlxuICogVGhlc2UgT3BDb2RlcyBjYW4gYmUgdXNlZCBieSBib3RoIHRoZSBpMThuIGJsb2NrIGFzIHdlbGwgYXMgSUNVIHN1Yi1ibG9jay5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogQXNzdW1lXG4gKiBgYGBcbiAqICAgaWYgKHJmICYgUmVuZGVyRmxhZ3MuVXBkYXRlKSB7XG4gKiAgICBpMThuRXhwKGJpbmQoY3R4LmV4cDEpKTsgLy8gSWYgY2hhbmdlZCBzZXQgbWFzayBiaXQgMVxuICogICAgaTE4bkV4cChiaW5kKGN0eC5leHAyKSk7IC8vIElmIGNoYW5nZWQgc2V0IG1hc2sgYml0IDJcbiAqICAgIGkxOG5FeHAoYmluZChjdHguZXhwMykpOyAvLyBJZiBjaGFuZ2VkIHNldCBtYXNrIGJpdCAzXG4gKiAgICBpMThuRXhwKGJpbmQoY3R4LmV4cDQpKTsgLy8gSWYgY2hhbmdlZCBzZXQgbWFzayBiaXQgNFxuICogICAgaTE4bkFwcGx5KDApOyAgICAgICAgICAgIC8vIEFwcGx5IGFsbCBjaGFuZ2VzIGJ5IGV4ZWN1dGluZyB0aGUgT3BDb2Rlcy5cbiAqICB9XG4gKiBgYGBcbiAqIFdlIGNhbiBhc3N1bWUgdGhhdCBlYWNoIGNhbGwgdG8gYGkxOG5FeHBgIHNldHMgYW4gaW50ZXJuYWwgYGNoYW5nZU1hc2tgIGJpdCBkZXBlbmRpbmcgb24gdGhlXG4gKiBpbmRleCBvZiBgaTE4bkV4cGAgaW5kZXguXG4gKlxuICogT3BDb2Rlc1xuICogYGBgXG4gKiA8STE4blVwZGF0ZU9wQ29kZXM+W1xuICogICAvLyBUaGUgZm9sbG93aW5nIE9wQ29kZXMgcmVwcmVzZW50OiBgPGRpdiBpMThuLXRpdGxlPVwicHJle3tleHAxfX1pbnt7ZXhwMn19cG9zdFwiPmBcbiAqICAgLy8gSWYgYGNoYW5nZU1hc2sgJiAwYjExYFxuICogICAvLyAgICAgICAgaGFzIGNoYW5nZWQgdGhlbiBleGVjdXRlIHVwZGF0ZSBPcENvZGVzLlxuICogICAvLyAgICAgICAgaGFzIE5PVCBjaGFuZ2VkIHRoZW4gc2tpcCBgN2AgdmFsdWVzIGFuZCBzdGFydCBwcm9jZXNzaW5nIG5leHQgT3BDb2Rlcy5cbiAqICAgMGIxMSwgNyxcbiAqICAgLy8gQ29uY2F0ZW5hdGUgYG5ld1ZhbHVlID0gJ3ByZScrbFZpZXdEYXRhW2JpbmRJbmRleC00XSsnaW4nK2xWaWV3RGF0YVtiaW5kSW5kZXgtM10rJ3Bvc3QnO2AuXG4gKiAgICdwcmUnLCAtNCwgJ2luJywgLTMsICdwb3N0JyxcbiAqICAgLy8gVXBkYXRlIGF0dHJpYnV0ZTogYGVsZW1lbnRBdHRyaWJ1dGUoMSwgJ3RpdGxlJywgc2FuaXRpemVyRm4obmV3VmFsdWUpKTtgXG4gKiAgIDEgPDwgU0hJRlRfUkVGIHwgQXR0ciwgJ3RpdGxlJywgc2FuaXRpemVyRm4sXG4gKlxuICogICAvLyBUaGUgZm9sbG93aW5nIE9wQ29kZXMgcmVwcmVzZW50OiBgPGRpdiBpMThuPkhlbGxvIHt7ZXhwM319IVwiPmBcbiAqICAgLy8gSWYgYGNoYW5nZU1hc2sgJiAwYjEwMGBcbiAqICAgLy8gICAgICAgIGhhcyBjaGFuZ2VkIHRoZW4gZXhlY3V0ZSB1cGRhdGUgT3BDb2Rlcy5cbiAqICAgLy8gICAgICAgIGhhcyBOT1QgY2hhbmdlZCB0aGVuIHNraXAgYDRgIHZhbHVlcyBhbmQgc3RhcnQgcHJvY2Vzc2luZyBuZXh0IE9wQ29kZXMuXG4gKiAgIDBiMTAwLCA0LFxuICogICAvLyBDb25jYXRlbmF0ZSBgbmV3VmFsdWUgPSAnSGVsbG8gJyArIGxWaWV3RGF0YVtiaW5kSW5kZXggLTJdICsgJyEnO2AuXG4gKiAgICdIZWxsbyAnLCAtMiwgJyEnLFxuICogICAvLyBVcGRhdGUgdGV4dDogYGxWaWV3RGF0YVsxXS50ZXh0Q29udGVudCA9IG5ld1ZhbHVlO2BcbiAqICAgMSA8PCBTSElGVF9SRUYgfCBUZXh0LFxuICpcbiAqICAgLy8gVGhlIGZvbGxvd2luZyBPcENvZGVzIHJlcHJlc2VudDogYDxkaXYgaTE4bj57ZXhwNCwgcGx1cmFsLCAuLi4gfVwiPmBcbiAqICAgLy8gSWYgYGNoYW5nZU1hc2sgJiAwYjEwMDBgXG4gKiAgIC8vICAgICAgICBoYXMgY2hhbmdlZCB0aGVuIGV4ZWN1dGUgdXBkYXRlIE9wQ29kZXMuXG4gKiAgIC8vICAgICAgICBoYXMgTk9UIGNoYW5nZWQgdGhlbiBza2lwIGA0YCB2YWx1ZXMgYW5kIHN0YXJ0IHByb2Nlc3NpbmcgbmV4dCBPcENvZGVzLlxuICogICAwYjEwMDAsIDQsXG4gKiAgIC8vIENvbmNhdGVuYXRlIGBuZXdWYWx1ZSA9IGxWaWV3RGF0YVtiaW5kSW5kZXggLTFdO2AuXG4gKiAgIC0xLFxuICogICAvLyBTd2l0Y2ggSUNVOiBgaWN1U3dpdGNoQ2FzZShsVmlld0RhdGFbMV0sIDAsIG5ld1ZhbHVlKTtgXG4gKiAgIDAgPDwgU0hJRlRfSUNVIHwgMSA8PCBTSElGVF9SRUYgfCBJY3VTd2l0Y2gsXG4gKlxuICogICAvLyBOb3RlIGBjaGFuZ2VNYXNrICYgLTFgIGlzIGFsd2F5cyB0cnVlLCBzbyB0aGUgSWN1VXBkYXRlIHdpbGwgYWx3YXlzIGV4ZWN1dGUuXG4gKiAgIC0xLCAxLFxuICogICAvLyBVcGRhdGUgSUNVOiBgaWN1VXBkYXRlQ2FzZShsVmlld0RhdGFbMV0sIDApO2BcbiAqICAgMCA8PCBTSElGVF9JQ1UgfCAxIDw8IFNISUZUX1JFRiB8IEljdVVwZGF0ZSxcbiAqXG4gKiBdO1xuICogYGBgXG4gKlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEkxOG5VcGRhdGVPcENvZGVzIGV4dGVuZHMgQXJyYXk8c3RyaW5nfG51bWJlcnwoKHRleHQ6IHN0cmluZykgPT4gc3RyaW5nIHwgbnVsbCk+IHt9XG5cbi8qKlxuICogU3RvcmUgaW5mb3JtYXRpb24gZm9yIHRoZSBpMThuIHRyYW5zbGF0aW9uIGJsb2NrLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRJMThuIHtcbiAgLyoqXG4gICAqIE51bWJlciBvZiBzbG90cyB0byBhbGxvY2F0ZSBpbiBleHBhbmRvLlxuICAgKlxuICAgKiBUaGlzIGlzIHRoZSBtYXggbnVtYmVyIG9mIERPTSBlbGVtZW50cyB3aGljaCB3aWxsIGJlIGNyZWF0ZWQgYnkgdGhpcyBpMThuICsgSUNVIGJsb2Nrcy4gV2hlblxuICAgKiB0aGUgRE9NIGVsZW1lbnRzIGFyZSBiZWluZyBjcmVhdGVkIHRoZXkgYXJlIHN0b3JlZCBpbiB0aGUgRVhQQU5ETywgc28gdGhhdCB1cGRhdGUgT3BDb2RlcyBjYW5cbiAgICogd3JpdGUgaW50byB0aGVtLlxuICAgKi9cbiAgdmFyczogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJbmRleCBpbiBFWFBBTkRPIHdoZXJlIHRoZSBpMThuIHN0b3JlcyBpdHMgRE9NIG5vZGVzLlxuICAgKlxuICAgKiBXaGVuIHRoZSBiaW5kaW5ncyBhcmUgcHJvY2Vzc2VkIGJ5IHRoZSBgaTE4bkVuZGAgaW5zdHJ1Y3Rpb24gaXQgaXMgbmVjZXNzYXJ5IHRvIGtub3cgd2hlcmUgdGhlXG4gICAqIG5ld2x5IGNyZWF0ZWQgRE9NIG5vZGVzIHdpbGwgYmUgaW5zZXJ0ZWQuXG4gICAqL1xuICBleHBhbmRvU3RhcnRJbmRleDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBIHNldCBvZiBPcENvZGVzIHdoaWNoIHdpbGwgY3JlYXRlIHRoZSBUZXh0IE5vZGVzIGFuZCBJQ1UgYW5jaG9ycyBmb3IgdGhlIHRyYW5zbGF0aW9uIGJsb2Nrcy5cbiAgICpcbiAgICogTk9URTogVGhlIElDVSBhbmNob3JzIGFyZSBmaWxsZWQgaW4gd2l0aCBJQ1UgVXBkYXRlIE9wQ29kZS5cbiAgICovXG4gIGNyZWF0ZTogSTE4bk11dGF0ZU9wQ29kZXM7XG5cbiAgLyoqXG4gICAqIEEgc2V0IG9mIE9wQ29kZXMgd2hpY2ggd2lsbCBiZSBleGVjdXRlZCBvbiBlYWNoIGNoYW5nZSBkZXRlY3Rpb24gdG8gZGV0ZXJtaW5lIGlmIGFueSBjaGFuZ2VzIHRvXG4gICAqIERPTSBhcmUgcmVxdWlyZWQuXG4gICAqL1xuICB1cGRhdGU6IEkxOG5VcGRhdGVPcENvZGVzO1xuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgSUNVcyBpbiBhIHRyYW5zbGF0aW9uIGJsb2NrIChvciBgbnVsbGAgaWYgYmxvY2sgaGFzIG5vIElDVXMpLlxuICAgKlxuICAgKiBFeGFtcGxlOlxuICAgKiBHaXZlbjogYDxkaXYgaTE4bj5Zb3UgaGF2ZSB7Y291bnQsIHBsdXJhbCwgLi4ufSBhbmQge3N0YXRlLCBzd2l0Y2gsIC4uLn08L2Rpdj5gXG4gICAqIFRoZXJlIHdvdWxkIGJlIDIgSUNVcyBpbiB0aGlzIGFycmF5LlxuICAgKiAgIDEuIGB7Y291bnQsIHBsdXJhbCwgLi4ufWBcbiAgICogICAyLiBge3N0YXRlLCBzd2l0Y2gsIC4uLn1gXG4gICAqL1xuICBpY3VzOiBUSWN1W118bnVsbDtcbn1cblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBJQ1UgdHlwZSBvZiBgc2VsZWN0YCBvciBgcGx1cmFsYFxuICovXG5leHBvcnQgY29uc3QgZW51bSBJY3VUeXBlIHtcbiAgc2VsZWN0ID0gMCxcbiAgcGx1cmFsID0gMSxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUSWN1IHtcbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIElDVSB0eXBlIG9mIGBzZWxlY3RgIG9yIGBwbHVyYWxgXG4gICAqL1xuICB0eXBlOiBJY3VUeXBlO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2Ygc2xvdHMgdG8gYWxsb2NhdGUgaW4gZXhwYW5kbyBmb3IgZWFjaCBjYXNlLlxuICAgKlxuICAgKiBUaGlzIGlzIHRoZSBtYXggbnVtYmVyIG9mIERPTSBlbGVtZW50cyB3aGljaCB3aWxsIGJlIGNyZWF0ZWQgYnkgdGhpcyBpMThuICsgSUNVIGJsb2Nrcy4gV2hlblxuICAgKiB0aGUgRE9NIGVsZW1lbnRzIGFyZSBiZWluZyBjcmVhdGVkIHRoZXkgYXJlIHN0b3JlZCBpbiB0aGUgRVhQQU5ETywgc28gdGhhdCB1cGRhdGUgT3BDb2RlcyBjYW5cbiAgICogd3JpdGUgaW50byB0aGVtLlxuICAgKi9cbiAgdmFyczogbnVtYmVyW107XG5cbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIGFycmF5IG9mIGNoaWxkL3N1YiBJQ1VzLlxuICAgKlxuICAgKiBJbiBjYXNlIG9mIG5lc3RlZCBJQ1VzIHN1Y2ggYXM6XG4gICAqIGBgYFxuICAgKiB777+9MO+/vSwgcGx1cmFsLFxuICAgKiAgID0wIHt6ZXJvfVxuICAgKiAgIG90aGVyIHvvv70w77+9IHvvv70x77+9LCBzZWxlY3QsXG4gICAqICAgICAgICAgICAgICAgICAgICAgY2F0IHtjYXRzfVxuICAgKiAgICAgICAgICAgICAgICAgICAgIGRvZyB7ZG9nc31cbiAgICogICAgICAgICAgICAgICAgICAgICBvdGhlciB7YW5pbWFsc31cbiAgICogICAgICAgICAgICAgICAgICAgfSFcbiAgICogICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqIFdoZW4gdGhlIHBhcmVudCBJQ1UgaXMgY2hhbmdpbmcgaXQgbXVzdCBjbGVhbiB1cCBjaGlsZCBJQ1VzIGFzIHdlbGwuIEZvciB0aGlzIHJlYXNvbiBpdCBuZWVkc1xuICAgKiB0byBrbm93IHdoaWNoIGNoaWxkIElDVXMgdG8gcnVuIGNsZWFuIHVwIGZvciBhcyB3ZWxsLlxuICAgKlxuICAgKiBJbiB0aGUgYWJvdmUgZXhhbXBsZSB0aGlzIHdvdWxkIGJlOlxuICAgKiBgYGBcbiAgICogW1xuICAgKiAgIFtdLCAgIC8vIGA9MGAgaGFzIG5vIHN1YiBJQ1VzXG4gICAqICAgWzFdLCAgLy8gYG90aGVyYCBoYXMgb25lIHN1YklDVSBhdCBgMWBzdCBpbmRleC5cbiAgICogXVxuICAgKiBgYGBcbiAgICpcbiAgICogVGhlIHJlYXNvbiB3aHkgaXQgaXMgQXJyYXkgb2YgQXJyYXlzIGlzIGJlY2F1c2UgZmlyc3QgYXJyYXkgcmVwcmVzZW50cyB0aGUgY2FzZSwgYW5kIHNlY29uZFxuICAgKiByZXByZXNlbnRzIHRoZSBjaGlsZCBJQ1VzIHRvIGNsZWFuIHVwLiBUaGVyZSBtYXkgYmUgbW9yZSB0aGFuIG9uZSBjaGlsZCBJQ1VzIHBlciBjYXNlLlxuICAgKi9cbiAgY2hpbGRJY3VzOiBudW1iZXJbXVtdO1xuXG4gIC8qKlxuICAgKiBJbmRleCBpbiBFWFBBTkRPIHdoZXJlIHRoZSBpMThuIHN0b3JlcyBpdHMgRE9NIG5vZGVzLlxuICAgKlxuICAgKiBXaGVuIHRoZSBiaW5kaW5ncyBhcmUgcHJvY2Vzc2VkIGJ5IHRoZSBgaTE4bkVuZGAgaW5zdHJ1Y3Rpb24gaXQgaXMgbmVjZXNzYXJ5IHRvIGtub3cgd2hlcmUgdGhlXG4gICAqIG5ld2x5IGNyZWF0ZWQgRE9NIG5vZGVzIHdpbGwgYmUgaW5zZXJ0ZWQuXG4gICAqL1xuICBleHBhbmRvU3RhcnRJbmRleDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgY2FzZSB2YWx1ZXMgd2hpY2ggdGhlIGN1cnJlbnQgSUNVIHdpbGwgdHJ5IHRvIG1hdGNoLlxuICAgKlxuICAgKiBUaGUgbGFzdCB2YWx1ZSBpcyBgb3RoZXJgXG4gICAqL1xuICBjYXNlczogYW55W107XG5cbiAgLyoqXG4gICAqIEEgc2V0IG9mIE9wQ29kZXMgdG8gYXBwbHkgaW4gb3JkZXIgdG8gYnVpbGQgdXAgdGhlIERPTSByZW5kZXIgdHJlZSBmb3IgdGhlIElDVVxuICAgKi9cbiAgY3JlYXRlOiBJMThuTXV0YXRlT3BDb2Rlc1tdO1xuXG4gIC8qKlxuICAgKiBBIHNldCBvZiBPcENvZGVzIHRvIGFwcGx5IGluIG9yZGVyIHRvIGRlc3Ryb3kgdGhlIERPTSByZW5kZXIgdHJlZSBmb3IgdGhlIElDVS5cbiAgICovXG4gIHJlbW92ZTogSTE4bk11dGF0ZU9wQ29kZXNbXTtcblxuICAvKipcbiAgICogQSBzZXQgb2YgT3BDb2RlcyB0byBhcHBseSBpbiBvcmRlciB0byB1cGRhdGUgdGhlIERPTSByZW5kZXIgdHJlZSBmb3IgdGhlIElDVSBiaW5kaW5ncy5cbiAgICovXG4gIHVwZGF0ZTogSTE4blVwZGF0ZU9wQ29kZXNbXTtcbn1cblxuLyoqXG4gKiBTdG9yZXMgY3VycmVudGx5IHNlbGVjdGVkIGNhc2UgaW4gZWFjaCBJQ1UuXG4gKlxuICogRm9yIGVhY2ggSUNVIGluIHRyYW5zbGF0aW9uLCB0aGUgYExpMThuYCBzdG9yZXMgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBjYXNlIGZvciB0aGUgY3VycmVudFxuICogYExWaWV3YC4gRm9yIHBlcmYgcmVhc29ucyB0aGlzIGFycmF5IGlzIG9ubHkgY3JlYXRlZCBpZiBhIHRyYW5zbGF0aW9uIGJsb2NrIGhhcyBhbiBJQ1UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTEkxOG4gZXh0ZW5kcyBBcnJheTxudW1iZXI+IHt9XG4iXX0=
|