@angular/compiler 19.0.0-next.1 → 19.0.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/fesm2022/compiler.mjs +4742 -4473
  2. package/fesm2022/compiler.mjs.map +1 -1
  3. package/index.d.ts +35 -3
  4. package/package.json +2 -4
  5. package/esm2022/compiler.mjs +0 -13
  6. package/esm2022/index.mjs +0 -13
  7. package/esm2022/public_api.mjs +0 -15
  8. package/esm2022/src/assertions.mjs +0 -31
  9. package/esm2022/src/chars.mjs +0 -90
  10. package/esm2022/src/compiler.mjs +0 -88
  11. package/esm2022/src/compiler_facade_interface.mjs +0 -29
  12. package/esm2022/src/config.mjs +0 -20
  13. package/esm2022/src/constant_pool.mjs +0 -285
  14. package/esm2022/src/core.mjs +0 -96
  15. package/esm2022/src/expression_parser/ast.mjs +0 -755
  16. package/esm2022/src/expression_parser/lexer.mjs +0 -421
  17. package/esm2022/src/expression_parser/parser.mjs +0 -1222
  18. package/esm2022/src/i18n/digest.mjs +0 -322
  19. package/esm2022/src/i18n/extractor_merger.mjs +0 -409
  20. package/esm2022/src/i18n/i18n_ast.mjs +0 -212
  21. package/esm2022/src/i18n/i18n_html_parser.mjs +0 -54
  22. package/esm2022/src/i18n/i18n_parser.mjs +0 -247
  23. package/esm2022/src/i18n/index.mjs +0 -16
  24. package/esm2022/src/i18n/message_bundle.mjs +0 -93
  25. package/esm2022/src/i18n/parse_util.mjs +0 -17
  26. package/esm2022/src/i18n/serializers/placeholder.mjs +0 -139
  27. package/esm2022/src/i18n/serializers/serializer.mjs +0 -77
  28. package/esm2022/src/i18n/serializers/xliff.mjs +0 -300
  29. package/esm2022/src/i18n/serializers/xliff2.mjs +0 -349
  30. package/esm2022/src/i18n/serializers/xmb.mjs +0 -188
  31. package/esm2022/src/i18n/serializers/xml_helper.mjs +0 -94
  32. package/esm2022/src/i18n/serializers/xtb.mjs +0 -186
  33. package/esm2022/src/i18n/translation_bundle.mjs +0 -164
  34. package/esm2022/src/injectable_compiler_2.mjs +0 -138
  35. package/esm2022/src/jit_compiler_facade.mjs +0 -681
  36. package/esm2022/src/ml_parser/ast.mjs +0 -167
  37. package/esm2022/src/ml_parser/defaults.mjs +0 -24
  38. package/esm2022/src/ml_parser/entities.mjs +0 -2144
  39. package/esm2022/src/ml_parser/html_parser.mjs +0 -18
  40. package/esm2022/src/ml_parser/html_tags.mjs +0 -156
  41. package/esm2022/src/ml_parser/html_whitespaces.mjs +0 -107
  42. package/esm2022/src/ml_parser/icu_ast_expander.mjs +0 -125
  43. package/esm2022/src/ml_parser/lexer.mjs +0 -1210
  44. package/esm2022/src/ml_parser/parser.mjs +0 -539
  45. package/esm2022/src/ml_parser/tags.mjs +0 -47
  46. package/esm2022/src/ml_parser/tokens.mjs +0 -9
  47. package/esm2022/src/ml_parser/xml_parser.mjs +0 -19
  48. package/esm2022/src/ml_parser/xml_tags.mjs +0 -32
  49. package/esm2022/src/output/abstract_emitter.mjs +0 -524
  50. package/esm2022/src/output/abstract_js_emitter.mjs +0 -130
  51. package/esm2022/src/output/map_util.mjs +0 -19
  52. package/esm2022/src/output/output_ast.mjs +0 -1301
  53. package/esm2022/src/output/output_jit.mjs +0 -138
  54. package/esm2022/src/output/output_jit_trusted_types.mjs +0 -100
  55. package/esm2022/src/output/source_map.mjs +0 -150
  56. package/esm2022/src/parse_util.mjs +0 -198
  57. package/esm2022/src/render3/partial/api.mjs +0 -9
  58. package/esm2022/src/render3/partial/class_metadata.mjs +0 -52
  59. package/esm2022/src/render3/partial/component.mjs +0 -197
  60. package/esm2022/src/render3/partial/directive.mjs +0 -264
  61. package/esm2022/src/render3/partial/factory.mjs +0 -35
  62. package/esm2022/src/render3/partial/injectable.mjs +0 -67
  63. package/esm2022/src/render3/partial/injector.mjs +0 -41
  64. package/esm2022/src/render3/partial/ng_module.mjs +0 -63
  65. package/esm2022/src/render3/partial/pipe.mjs +0 -50
  66. package/esm2022/src/render3/partial/util.mjs +0 -79
  67. package/esm2022/src/render3/r3_ast.mjs +0 -493
  68. package/esm2022/src/render3/r3_class_debug_info_compiler.mjs +0 -35
  69. package/esm2022/src/render3/r3_class_metadata_compiler.mjs +0 -92
  70. package/esm2022/src/render3/r3_control_flow.mjs +0 -421
  71. package/esm2022/src/render3/r3_deferred_blocks.mjs +0 -170
  72. package/esm2022/src/render3/r3_deferred_triggers.mjs +0 -316
  73. package/esm2022/src/render3/r3_factory.mjs +0 -200
  74. package/esm2022/src/render3/r3_identifiers.mjs +0 -480
  75. package/esm2022/src/render3/r3_injector_compiler.mjs +0 -28
  76. package/esm2022/src/render3/r3_jit.mjs +0 -29
  77. package/esm2022/src/render3/r3_module_compiler.mjs +0 -211
  78. package/esm2022/src/render3/r3_pipe_compiler.mjs +0 -35
  79. package/esm2022/src/render3/r3_template_transform.mjs +0 -560
  80. package/esm2022/src/render3/util.mjs +0 -90
  81. package/esm2022/src/render3/view/api.mjs +0 -14
  82. package/esm2022/src/render3/view/compiler.mjs +0 -546
  83. package/esm2022/src/render3/view/i18n/get_msg_utils.mjs +0 -113
  84. package/esm2022/src/render3/view/i18n/icu_serializer.mjs +0 -43
  85. package/esm2022/src/render3/view/i18n/localize_utils.mjs +0 -118
  86. package/esm2022/src/render3/view/i18n/meta.mjs +0 -259
  87. package/esm2022/src/render3/view/i18n/util.mjs +0 -70
  88. package/esm2022/src/render3/view/query_generation.mjs +0 -182
  89. package/esm2022/src/render3/view/t2_api.mjs +0 -9
  90. package/esm2022/src/render3/view/t2_binder.mjs +0 -823
  91. package/esm2022/src/render3/view/template.mjs +0 -113
  92. package/esm2022/src/render3/view/util.mjs +0 -192
  93. package/esm2022/src/resource_loader.mjs +0 -17
  94. package/esm2022/src/schema/dom_element_schema_registry.mjs +0 -471
  95. package/esm2022/src/schema/dom_security_schema.mjs +0 -96
  96. package/esm2022/src/schema/element_schema_registry.mjs +0 -10
  97. package/esm2022/src/schema/trusted_types_sinks.mjs +0 -41
  98. package/esm2022/src/selector.mjs +0 -400
  99. package/esm2022/src/shadow_css.mjs +0 -1053
  100. package/esm2022/src/style_url_resolver.mjs +0 -17
  101. package/esm2022/src/template/pipeline/ir/index.mjs +0 -18
  102. package/esm2022/src/template/pipeline/ir/src/enums.mjs +0 -503
  103. package/esm2022/src/template/pipeline/ir/src/expression.mjs +0 -997
  104. package/esm2022/src/template/pipeline/ir/src/handle.mjs +0 -13
  105. package/esm2022/src/template/pipeline/ir/src/operations.mjs +0 -261
  106. package/esm2022/src/template/pipeline/ir/src/ops/create.mjs +0 -405
  107. package/esm2022/src/template/pipeline/ir/src/ops/host.mjs +0 -25
  108. package/esm2022/src/template/pipeline/ir/src/ops/shared.mjs +0 -43
  109. package/esm2022/src/template/pipeline/ir/src/ops/update.mjs +0 -277
  110. package/esm2022/src/template/pipeline/ir/src/traits.mjs +0 -64
  111. package/esm2022/src/template/pipeline/ir/src/variable.mjs +0 -13
  112. package/esm2022/src/template/pipeline/src/compilation.mjs +0 -194
  113. package/esm2022/src/template/pipeline/src/conversion.mjs +0 -64
  114. package/esm2022/src/template/pipeline/src/emit.mjs +0 -238
  115. package/esm2022/src/template/pipeline/src/ingest.mjs +0 -1058
  116. package/esm2022/src/template/pipeline/src/instruction.mjs +0 -564
  117. package/esm2022/src/template/pipeline/src/phases/any_cast.mjs +0 -32
  118. package/esm2022/src/template/pipeline/src/phases/apply_i18n_expressions.mjs +0 -63
  119. package/esm2022/src/template/pipeline/src/phases/assign_i18n_slot_dependencies.mjs +0 -63
  120. package/esm2022/src/template/pipeline/src/phases/attribute_extraction.mjs +0 -138
  121. package/esm2022/src/template/pipeline/src/phases/binding_specialization.mjs +0 -75
  122. package/esm2022/src/template/pipeline/src/phases/chaining.mjs +0 -112
  123. package/esm2022/src/template/pipeline/src/phases/collapse_singleton_interpolations.mjs +0 -32
  124. package/esm2022/src/template/pipeline/src/phases/conditionals.mjs +0 -58
  125. package/esm2022/src/template/pipeline/src/phases/const_collection.mjs +0 -214
  126. package/esm2022/src/template/pipeline/src/phases/convert_i18n_bindings.mjs +0 -52
  127. package/esm2022/src/template/pipeline/src/phases/create_i18n_contexts.mjs +0 -105
  128. package/esm2022/src/template/pipeline/src/phases/deduplicate_text_bindings.mjs +0 -40
  129. package/esm2022/src/template/pipeline/src/phases/defer_configs.mjs +0 -29
  130. package/esm2022/src/template/pipeline/src/phases/defer_resolve_targets.mjs +0 -113
  131. package/esm2022/src/template/pipeline/src/phases/empty_elements.mjs +0 -47
  132. package/esm2022/src/template/pipeline/src/phases/expand_safe_reads.mjs +0 -192
  133. package/esm2022/src/template/pipeline/src/phases/extract_i18n_messages.mjs +0 -218
  134. package/esm2022/src/template/pipeline/src/phases/generate_advance.mjs +0 -66
  135. package/esm2022/src/template/pipeline/src/phases/generate_local_let_references.mjs +0 -29
  136. package/esm2022/src/template/pipeline/src/phases/generate_projection_def.mjs +0 -46
  137. package/esm2022/src/template/pipeline/src/phases/generate_variables.mjs +0 -170
  138. package/esm2022/src/template/pipeline/src/phases/has_const_expression_collection.mjs +0 -28
  139. package/esm2022/src/template/pipeline/src/phases/host_style_property_parsing.mjs +0 -81
  140. package/esm2022/src/template/pipeline/src/phases/i18n_const_collection.mjs +0 -309
  141. package/esm2022/src/template/pipeline/src/phases/i18n_text_extraction.mjs +0 -97
  142. package/esm2022/src/template/pipeline/src/phases/local_refs.mjs +0 -43
  143. package/esm2022/src/template/pipeline/src/phases/namespace.mjs +0 -26
  144. package/esm2022/src/template/pipeline/src/phases/naming.mjs +0 -179
  145. package/esm2022/src/template/pipeline/src/phases/next_context_merging.mjs +0 -75
  146. package/esm2022/src/template/pipeline/src/phases/ng_container.mjs +0 -29
  147. package/esm2022/src/template/pipeline/src/phases/nonbindable.mjs +0 -47
  148. package/esm2022/src/template/pipeline/src/phases/nullish_coalescing.mjs +0 -33
  149. package/esm2022/src/template/pipeline/src/phases/ordering.mjs +0 -140
  150. package/esm2022/src/template/pipeline/src/phases/parse_extracted_styles.mjs +0 -137
  151. package/esm2022/src/template/pipeline/src/phases/phase_remove_content_selectors.mjs +0 -42
  152. package/esm2022/src/template/pipeline/src/phases/pipe_creation.mjs +0 -74
  153. package/esm2022/src/template/pipeline/src/phases/pipe_variadic.mjs +0 -30
  154. package/esm2022/src/template/pipeline/src/phases/propagate_i18n_blocks.mjs +0 -81
  155. package/esm2022/src/template/pipeline/src/phases/pure_function_extraction.mjs +0 -55
  156. package/esm2022/src/template/pipeline/src/phases/pure_literal_structures.mjs +0 -58
  157. package/esm2022/src/template/pipeline/src/phases/reify.mjs +0 -433
  158. package/esm2022/src/template/pipeline/src/phases/remove_empty_bindings.mjs +0 -31
  159. package/esm2022/src/template/pipeline/src/phases/remove_i18n_contexts.mjs +0 -27
  160. package/esm2022/src/template/pipeline/src/phases/remove_illegal_let_references.mjs +0 -36
  161. package/esm2022/src/template/pipeline/src/phases/remove_unused_i18n_attrs.mjs +0 -33
  162. package/esm2022/src/template/pipeline/src/phases/resolve_contexts.mjs +0 -60
  163. package/esm2022/src/template/pipeline/src/phases/resolve_defer_deps_fns.mjs +0 -31
  164. package/esm2022/src/template/pipeline/src/phases/resolve_dollar_event.mjs +0 -36
  165. package/esm2022/src/template/pipeline/src/phases/resolve_i18n_element_placeholders.mjs +0 -266
  166. package/esm2022/src/template/pipeline/src/phases/resolve_i18n_expression_placeholders.mjs +0 -70
  167. package/esm2022/src/template/pipeline/src/phases/resolve_names.mjs +0 -124
  168. package/esm2022/src/template/pipeline/src/phases/resolve_sanitizers.mjs +0 -123
  169. package/esm2022/src/template/pipeline/src/phases/save_restore_view.mjs +0 -64
  170. package/esm2022/src/template/pipeline/src/phases/slot_allocation.mjs +0 -62
  171. package/esm2022/src/template/pipeline/src/phases/store_let_optimization.mjs +0 -35
  172. package/esm2022/src/template/pipeline/src/phases/style_binding_specialization.mjs +0 -42
  173. package/esm2022/src/template/pipeline/src/phases/temporary_variables.mjs +0 -87
  174. package/esm2022/src/template/pipeline/src/phases/track_fn_generation.mjs +0 -52
  175. package/esm2022/src/template/pipeline/src/phases/track_fn_optimization.mjs +0 -88
  176. package/esm2022/src/template/pipeline/src/phases/track_variables.mjs +0 -36
  177. package/esm2022/src/template/pipeline/src/phases/transform_two_way_binding_set.mjs +0 -43
  178. package/esm2022/src/template/pipeline/src/phases/var_counting.mjs +0 -155
  179. package/esm2022/src/template/pipeline/src/phases/variable_optimization.mjs +0 -423
  180. package/esm2022/src/template/pipeline/src/phases/wrap_icus.mjs +0 -41
  181. package/esm2022/src/template/pipeline/src/util/elements.mjs +0 -29
  182. package/esm2022/src/template_parser/binding_parser.mjs +0 -465
  183. package/esm2022/src/template_parser/template_preparser.mjs +0 -84
  184. package/esm2022/src/util.mjs +0 -124
  185. package/esm2022/src/version.mjs +0 -15
@@ -1,17 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- // Some of the code comes from WebComponents.JS
9
- // https://github.com/webcomponents/webcomponentsjs/blob/master/src/HTMLImports/path.js
10
- export function isStyleUrlResolvable(url) {
11
- if (url == null || url.length === 0 || url[0] == '/')
12
- return false;
13
- const schemeMatch = url.match(URL_WITH_SCHEMA_REGEXP);
14
- return schemeMatch === null || schemeMatch[1] == 'package' || schemeMatch[1] == 'asset';
15
- }
16
- const URL_WITH_SCHEMA_REGEXP = /^([^:/?#]+):/;
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVfdXJsX3Jlc29sdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXIvc3JjL3N0eWxlX3VybF9yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCwrQ0FBK0M7QUFDL0MsdUZBQXVGO0FBRXZGLE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxHQUFrQjtJQUNyRCxJQUFJLEdBQUcsSUFBSSxJQUFJLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUc7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUNuRSxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDdEQsT0FBTyxXQUFXLEtBQUssSUFBSSxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQztBQUMxRixDQUFDO0FBRUQsTUFBTSxzQkFBc0IsR0FBRyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLy8gU29tZSBvZiB0aGUgY29kZSBjb21lcyBmcm9tIFdlYkNvbXBvbmVudHMuSlNcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWJjb21wb25lbnRzL3dlYmNvbXBvbmVudHNqcy9ibG9iL21hc3Rlci9zcmMvSFRNTEltcG9ydHMvcGF0aC5qc1xuXG5leHBvcnQgZnVuY3Rpb24gaXNTdHlsZVVybFJlc29sdmFibGUodXJsOiBzdHJpbmcgfCBudWxsKTogdXJsIGlzIHN0cmluZyB7XG4gIGlmICh1cmwgPT0gbnVsbCB8fCB1cmwubGVuZ3RoID09PSAwIHx8IHVybFswXSA9PSAnLycpIHJldHVybiBmYWxzZTtcbiAgY29uc3Qgc2NoZW1lTWF0Y2ggPSB1cmwubWF0Y2goVVJMX1dJVEhfU0NIRU1BX1JFR0VYUCk7XG4gIHJldHVybiBzY2hlbWVNYXRjaCA9PT0gbnVsbCB8fCBzY2hlbWVNYXRjaFsxXSA9PSAncGFja2FnZScgfHwgc2NoZW1lTWF0Y2hbMV0gPT0gJ2Fzc2V0Jztcbn1cblxuY29uc3QgVVJMX1dJVEhfU0NIRU1BX1JFR0VYUCA9IC9eKFteOi8/I10rKTovO1xuIl19
@@ -1,18 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- export * from './src/enums';
9
- export * from './src/expression';
10
- export * from './src/operations';
11
- export * from './src/ops/create';
12
- export * from './src/ops/host';
13
- export * from './src/ops/shared';
14
- export * from './src/ops/update';
15
- export * from './src/handle';
16
- export * from './src/traits';
17
- export * from './src/variable';
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci9zcmMvdGVtcGxhdGUvcGlwZWxpbmUvaXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3NyYy9lbnVtcyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9leHByZXNzaW9uJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL29wZXJhdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvb3BzL2NyZWF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9vcHMvaG9zdCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9vcHMvc2hhcmVkJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL29wcy91cGRhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvaGFuZGxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3RyYWl0cyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy92YXJpYWJsZSc7XG4iXX0=
@@ -1,503 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- /**
9
- * Distinguishes different kinds of IR operations.
10
- *
11
- * Includes both creation and update operations.
12
- */
13
- export var OpKind;
14
- (function (OpKind) {
15
- /**
16
- * A special operation type which is used to represent the beginning and end nodes of a linked
17
- * list of operations.
18
- */
19
- OpKind[OpKind["ListEnd"] = 0] = "ListEnd";
20
- /**
21
- * An operation which wraps an output AST statement.
22
- */
23
- OpKind[OpKind["Statement"] = 1] = "Statement";
24
- /**
25
- * An operation which declares and initializes a `SemanticVariable`.
26
- */
27
- OpKind[OpKind["Variable"] = 2] = "Variable";
28
- /**
29
- * An operation to begin rendering of an element.
30
- */
31
- OpKind[OpKind["ElementStart"] = 3] = "ElementStart";
32
- /**
33
- * An operation to render an element with no children.
34
- */
35
- OpKind[OpKind["Element"] = 4] = "Element";
36
- /**
37
- * An operation which declares an embedded view.
38
- */
39
- OpKind[OpKind["Template"] = 5] = "Template";
40
- /**
41
- * An operation to end rendering of an element previously started with `ElementStart`.
42
- */
43
- OpKind[OpKind["ElementEnd"] = 6] = "ElementEnd";
44
- /**
45
- * An operation to begin an `ng-container`.
46
- */
47
- OpKind[OpKind["ContainerStart"] = 7] = "ContainerStart";
48
- /**
49
- * An operation for an `ng-container` with no children.
50
- */
51
- OpKind[OpKind["Container"] = 8] = "Container";
52
- /**
53
- * An operation to end an `ng-container`.
54
- */
55
- OpKind[OpKind["ContainerEnd"] = 9] = "ContainerEnd";
56
- /**
57
- * An operation disable binding for subsequent elements, which are descendants of a non-bindable
58
- * node.
59
- */
60
- OpKind[OpKind["DisableBindings"] = 10] = "DisableBindings";
61
- /**
62
- * An op to conditionally render a template.
63
- */
64
- OpKind[OpKind["Conditional"] = 11] = "Conditional";
65
- /**
66
- * An operation to re-enable binding, after it was previously disabled.
67
- */
68
- OpKind[OpKind["EnableBindings"] = 12] = "EnableBindings";
69
- /**
70
- * An operation to render a text node.
71
- */
72
- OpKind[OpKind["Text"] = 13] = "Text";
73
- /**
74
- * An operation declaring an event listener for an element.
75
- */
76
- OpKind[OpKind["Listener"] = 14] = "Listener";
77
- /**
78
- * An operation to interpolate text into a text node.
79
- */
80
- OpKind[OpKind["InterpolateText"] = 15] = "InterpolateText";
81
- /**
82
- * An intermediate binding op, that has not yet been processed into an individual property,
83
- * attribute, style, etc.
84
- */
85
- OpKind[OpKind["Binding"] = 16] = "Binding";
86
- /**
87
- * An operation to bind an expression to a property of an element.
88
- */
89
- OpKind[OpKind["Property"] = 17] = "Property";
90
- /**
91
- * An operation to bind an expression to a style property of an element.
92
- */
93
- OpKind[OpKind["StyleProp"] = 18] = "StyleProp";
94
- /**
95
- * An operation to bind an expression to a class property of an element.
96
- */
97
- OpKind[OpKind["ClassProp"] = 19] = "ClassProp";
98
- /**
99
- * An operation to bind an expression to the styles of an element.
100
- */
101
- OpKind[OpKind["StyleMap"] = 20] = "StyleMap";
102
- /**
103
- * An operation to bind an expression to the classes of an element.
104
- */
105
- OpKind[OpKind["ClassMap"] = 21] = "ClassMap";
106
- /**
107
- * An operation to advance the runtime's implicit slot context during the update phase of a view.
108
- */
109
- OpKind[OpKind["Advance"] = 22] = "Advance";
110
- /**
111
- * An operation to instantiate a pipe.
112
- */
113
- OpKind[OpKind["Pipe"] = 23] = "Pipe";
114
- /**
115
- * An operation to associate an attribute with an element.
116
- */
117
- OpKind[OpKind["Attribute"] = 24] = "Attribute";
118
- /**
119
- * An attribute that has been extracted for inclusion in the consts array.
120
- */
121
- OpKind[OpKind["ExtractedAttribute"] = 25] = "ExtractedAttribute";
122
- /**
123
- * An operation that configures a `@defer` block.
124
- */
125
- OpKind[OpKind["Defer"] = 26] = "Defer";
126
- /**
127
- * An operation that controls when a `@defer` loads.
128
- */
129
- OpKind[OpKind["DeferOn"] = 27] = "DeferOn";
130
- /**
131
- * An operation that controls when a `@defer` loads, using a custom expression as the condition.
132
- */
133
- OpKind[OpKind["DeferWhen"] = 28] = "DeferWhen";
134
- /**
135
- * An i18n message that has been extracted for inclusion in the consts array.
136
- */
137
- OpKind[OpKind["I18nMessage"] = 29] = "I18nMessage";
138
- /**
139
- * A host binding property.
140
- */
141
- OpKind[OpKind["HostProperty"] = 30] = "HostProperty";
142
- /**
143
- * A namespace change, which causes the subsequent elements to be processed as either HTML or SVG.
144
- */
145
- OpKind[OpKind["Namespace"] = 31] = "Namespace";
146
- /**
147
- * Configure a content projeciton definition for the view.
148
- */
149
- OpKind[OpKind["ProjectionDef"] = 32] = "ProjectionDef";
150
- /**
151
- * Create a content projection slot.
152
- */
153
- OpKind[OpKind["Projection"] = 33] = "Projection";
154
- /**
155
- * Create a repeater creation instruction op.
156
- */
157
- OpKind[OpKind["RepeaterCreate"] = 34] = "RepeaterCreate";
158
- /**
159
- * An update up for a repeater.
160
- */
161
- OpKind[OpKind["Repeater"] = 35] = "Repeater";
162
- /**
163
- * An operation to bind an expression to the property side of a two-way binding.
164
- */
165
- OpKind[OpKind["TwoWayProperty"] = 36] = "TwoWayProperty";
166
- /**
167
- * An operation declaring the event side of a two-way binding.
168
- */
169
- OpKind[OpKind["TwoWayListener"] = 37] = "TwoWayListener";
170
- /**
171
- * A creation-time operation that initializes the slot for a `@let` declaration.
172
- */
173
- OpKind[OpKind["DeclareLet"] = 38] = "DeclareLet";
174
- /**
175
- * An update-time operation that stores the current value of a `@let` declaration.
176
- */
177
- OpKind[OpKind["StoreLet"] = 39] = "StoreLet";
178
- /**
179
- * The start of an i18n block.
180
- */
181
- OpKind[OpKind["I18nStart"] = 40] = "I18nStart";
182
- /**
183
- * A self-closing i18n on a single element.
184
- */
185
- OpKind[OpKind["I18n"] = 41] = "I18n";
186
- /**
187
- * The end of an i18n block.
188
- */
189
- OpKind[OpKind["I18nEnd"] = 42] = "I18nEnd";
190
- /**
191
- * An expression in an i18n message.
192
- */
193
- OpKind[OpKind["I18nExpression"] = 43] = "I18nExpression";
194
- /**
195
- * An instruction that applies a set of i18n expressions.
196
- */
197
- OpKind[OpKind["I18nApply"] = 44] = "I18nApply";
198
- /**
199
- * An instruction to create an ICU expression.
200
- */
201
- OpKind[OpKind["IcuStart"] = 45] = "IcuStart";
202
- /**
203
- * An instruction to update an ICU expression.
204
- */
205
- OpKind[OpKind["IcuEnd"] = 46] = "IcuEnd";
206
- /**
207
- * An instruction representing a placeholder in an ICU expression.
208
- */
209
- OpKind[OpKind["IcuPlaceholder"] = 47] = "IcuPlaceholder";
210
- /**
211
- * An i18n context containing information needed to generate an i18n message.
212
- */
213
- OpKind[OpKind["I18nContext"] = 48] = "I18nContext";
214
- /**
215
- * A creation op that corresponds to i18n attributes on an element.
216
- */
217
- OpKind[OpKind["I18nAttributes"] = 49] = "I18nAttributes";
218
- })(OpKind || (OpKind = {}));
219
- /**
220
- * Distinguishes different kinds of IR expressions.
221
- */
222
- export var ExpressionKind;
223
- (function (ExpressionKind) {
224
- /**
225
- * Read of a variable in a lexical scope.
226
- */
227
- ExpressionKind[ExpressionKind["LexicalRead"] = 0] = "LexicalRead";
228
- /**
229
- * A reference to the current view context.
230
- */
231
- ExpressionKind[ExpressionKind["Context"] = 1] = "Context";
232
- /**
233
- * A reference to the view context, for use inside a track function.
234
- */
235
- ExpressionKind[ExpressionKind["TrackContext"] = 2] = "TrackContext";
236
- /**
237
- * Read of a variable declared in a `VariableOp`.
238
- */
239
- ExpressionKind[ExpressionKind["ReadVariable"] = 3] = "ReadVariable";
240
- /**
241
- * Runtime operation to navigate to the next view context in the view hierarchy.
242
- */
243
- ExpressionKind[ExpressionKind["NextContext"] = 4] = "NextContext";
244
- /**
245
- * Runtime operation to retrieve the value of a local reference.
246
- */
247
- ExpressionKind[ExpressionKind["Reference"] = 5] = "Reference";
248
- /**
249
- * A call storing the value of a `@let` declaration.
250
- */
251
- ExpressionKind[ExpressionKind["StoreLet"] = 6] = "StoreLet";
252
- /**
253
- * A reference to a `@let` declaration read from the context view.
254
- */
255
- ExpressionKind[ExpressionKind["ContextLetReference"] = 7] = "ContextLetReference";
256
- /**
257
- * Runtime operation to snapshot the current view context.
258
- */
259
- ExpressionKind[ExpressionKind["GetCurrentView"] = 8] = "GetCurrentView";
260
- /**
261
- * Runtime operation to restore a snapshotted view.
262
- */
263
- ExpressionKind[ExpressionKind["RestoreView"] = 9] = "RestoreView";
264
- /**
265
- * Runtime operation to reset the current view context after `RestoreView`.
266
- */
267
- ExpressionKind[ExpressionKind["ResetView"] = 10] = "ResetView";
268
- /**
269
- * Defines and calls a function with change-detected arguments.
270
- */
271
- ExpressionKind[ExpressionKind["PureFunctionExpr"] = 11] = "PureFunctionExpr";
272
- /**
273
- * Indicates a positional parameter to a pure function definition.
274
- */
275
- ExpressionKind[ExpressionKind["PureFunctionParameterExpr"] = 12] = "PureFunctionParameterExpr";
276
- /**
277
- * Binding to a pipe transformation.
278
- */
279
- ExpressionKind[ExpressionKind["PipeBinding"] = 13] = "PipeBinding";
280
- /**
281
- * Binding to a pipe transformation with a variable number of arguments.
282
- */
283
- ExpressionKind[ExpressionKind["PipeBindingVariadic"] = 14] = "PipeBindingVariadic";
284
- /*
285
- * A safe property read requiring expansion into a null check.
286
- */
287
- ExpressionKind[ExpressionKind["SafePropertyRead"] = 15] = "SafePropertyRead";
288
- /**
289
- * A safe keyed read requiring expansion into a null check.
290
- */
291
- ExpressionKind[ExpressionKind["SafeKeyedRead"] = 16] = "SafeKeyedRead";
292
- /**
293
- * A safe function call requiring expansion into a null check.
294
- */
295
- ExpressionKind[ExpressionKind["SafeInvokeFunction"] = 17] = "SafeInvokeFunction";
296
- /**
297
- * An intermediate expression that will be expanded from a safe read into an explicit ternary.
298
- */
299
- ExpressionKind[ExpressionKind["SafeTernaryExpr"] = 18] = "SafeTernaryExpr";
300
- /**
301
- * An empty expression that will be stipped before generating the final output.
302
- */
303
- ExpressionKind[ExpressionKind["EmptyExpr"] = 19] = "EmptyExpr";
304
- /*
305
- * An assignment to a temporary variable.
306
- */
307
- ExpressionKind[ExpressionKind["AssignTemporaryExpr"] = 20] = "AssignTemporaryExpr";
308
- /**
309
- * A reference to a temporary variable.
310
- */
311
- ExpressionKind[ExpressionKind["ReadTemporaryExpr"] = 21] = "ReadTemporaryExpr";
312
- /**
313
- * An expression that will cause a literal slot index to be emitted.
314
- */
315
- ExpressionKind[ExpressionKind["SlotLiteralExpr"] = 22] = "SlotLiteralExpr";
316
- /**
317
- * A test expression for a conditional op.
318
- */
319
- ExpressionKind[ExpressionKind["ConditionalCase"] = 23] = "ConditionalCase";
320
- /**
321
- * An expression that will be automatically extracted to the component const array.
322
- */
323
- ExpressionKind[ExpressionKind["ConstCollected"] = 24] = "ConstCollected";
324
- /**
325
- * Operation that sets the value of a two-way binding.
326
- */
327
- ExpressionKind[ExpressionKind["TwoWayBindingSet"] = 25] = "TwoWayBindingSet";
328
- })(ExpressionKind || (ExpressionKind = {}));
329
- export var VariableFlags;
330
- (function (VariableFlags) {
331
- VariableFlags[VariableFlags["None"] = 0] = "None";
332
- /**
333
- * Always inline this variable, regardless of the number of times it's used.
334
- * An `AlwaysInline` variable may not depend on context, because doing so may cause side effects
335
- * that are illegal when multi-inlined. (The optimizer will enforce this constraint.)
336
- */
337
- VariableFlags[VariableFlags["AlwaysInline"] = 1] = "AlwaysInline";
338
- })(VariableFlags || (VariableFlags = {}));
339
- /**
340
- * Distinguishes between different kinds of `SemanticVariable`s.
341
- */
342
- export var SemanticVariableKind;
343
- (function (SemanticVariableKind) {
344
- /**
345
- * Represents the context of a particular view.
346
- */
347
- SemanticVariableKind[SemanticVariableKind["Context"] = 0] = "Context";
348
- /**
349
- * Represents an identifier declared in the lexical scope of a view.
350
- */
351
- SemanticVariableKind[SemanticVariableKind["Identifier"] = 1] = "Identifier";
352
- /**
353
- * Represents a saved state that can be used to restore a view in a listener handler function.
354
- */
355
- SemanticVariableKind[SemanticVariableKind["SavedView"] = 2] = "SavedView";
356
- /**
357
- * An alias generated by a special embedded view type (e.g. a `@for` block).
358
- */
359
- SemanticVariableKind[SemanticVariableKind["Alias"] = 3] = "Alias";
360
- })(SemanticVariableKind || (SemanticVariableKind = {}));
361
- /**
362
- * Whether to compile in compatibilty mode. In compatibility mode, the template pipeline will
363
- * attempt to match the output of `TemplateDefinitionBuilder` as exactly as possible, at the cost
364
- * of producing quirky or larger code in some cases.
365
- */
366
- export var CompatibilityMode;
367
- (function (CompatibilityMode) {
368
- CompatibilityMode[CompatibilityMode["Normal"] = 0] = "Normal";
369
- CompatibilityMode[CompatibilityMode["TemplateDefinitionBuilder"] = 1] = "TemplateDefinitionBuilder";
370
- })(CompatibilityMode || (CompatibilityMode = {}));
371
- /**
372
- * Enumeration of the types of attributes which can be applied to an element.
373
- */
374
- export var BindingKind;
375
- (function (BindingKind) {
376
- /**
377
- * Static attributes.
378
- */
379
- BindingKind[BindingKind["Attribute"] = 0] = "Attribute";
380
- /**
381
- * Class bindings.
382
- */
383
- BindingKind[BindingKind["ClassName"] = 1] = "ClassName";
384
- /**
385
- * Style bindings.
386
- */
387
- BindingKind[BindingKind["StyleProperty"] = 2] = "StyleProperty";
388
- /**
389
- * Dynamic property bindings.
390
- */
391
- BindingKind[BindingKind["Property"] = 3] = "Property";
392
- /**
393
- * Property or attribute bindings on a template.
394
- */
395
- BindingKind[BindingKind["Template"] = 4] = "Template";
396
- /**
397
- * Internationalized attributes.
398
- */
399
- BindingKind[BindingKind["I18n"] = 5] = "I18n";
400
- /**
401
- * Animation property bindings.
402
- */
403
- BindingKind[BindingKind["Animation"] = 6] = "Animation";
404
- /**
405
- * Property side of a two-way binding.
406
- */
407
- BindingKind[BindingKind["TwoWayProperty"] = 7] = "TwoWayProperty";
408
- })(BindingKind || (BindingKind = {}));
409
- /**
410
- * Enumeration of possible times i18n params can be resolved.
411
- */
412
- export var I18nParamResolutionTime;
413
- (function (I18nParamResolutionTime) {
414
- /**
415
- * Param is resolved at message creation time. Most params should be resolved at message creation
416
- * time. However, ICU params need to be handled in post-processing.
417
- */
418
- I18nParamResolutionTime[I18nParamResolutionTime["Creation"] = 0] = "Creation";
419
- /**
420
- * Param is resolved during post-processing. This should be used for params whose value comes from
421
- * an ICU.
422
- */
423
- I18nParamResolutionTime[I18nParamResolutionTime["Postproccessing"] = 1] = "Postproccessing";
424
- })(I18nParamResolutionTime || (I18nParamResolutionTime = {}));
425
- /**
426
- * The contexts in which an i18n expression can be used.
427
- */
428
- export var I18nExpressionFor;
429
- (function (I18nExpressionFor) {
430
- /**
431
- * This expression is used as a value (i.e. inside an i18n block).
432
- */
433
- I18nExpressionFor[I18nExpressionFor["I18nText"] = 0] = "I18nText";
434
- /**
435
- * This expression is used in a binding.
436
- */
437
- I18nExpressionFor[I18nExpressionFor["I18nAttribute"] = 1] = "I18nAttribute";
438
- })(I18nExpressionFor || (I18nExpressionFor = {}));
439
- /**
440
- * Flags that describe what an i18n param value. These determine how the value is serialized into
441
- * the final map.
442
- */
443
- export var I18nParamValueFlags;
444
- (function (I18nParamValueFlags) {
445
- I18nParamValueFlags[I18nParamValueFlags["None"] = 0] = "None";
446
- /**
447
- * This value represents an element tag.
448
- */
449
- I18nParamValueFlags[I18nParamValueFlags["ElementTag"] = 1] = "ElementTag";
450
- /**
451
- * This value represents a template tag.
452
- */
453
- I18nParamValueFlags[I18nParamValueFlags["TemplateTag"] = 2] = "TemplateTag";
454
- /**
455
- * This value represents the opening of a tag.
456
- */
457
- I18nParamValueFlags[I18nParamValueFlags["OpenTag"] = 4] = "OpenTag";
458
- /**
459
- * This value represents the closing of a tag.
460
- */
461
- I18nParamValueFlags[I18nParamValueFlags["CloseTag"] = 8] = "CloseTag";
462
- /**
463
- * This value represents an i18n expression index.
464
- */
465
- I18nParamValueFlags[I18nParamValueFlags["ExpressionIndex"] = 16] = "ExpressionIndex";
466
- })(I18nParamValueFlags || (I18nParamValueFlags = {}));
467
- /**
468
- * Whether the active namespace is HTML, MathML, or SVG mode.
469
- */
470
- export var Namespace;
471
- (function (Namespace) {
472
- Namespace[Namespace["HTML"] = 0] = "HTML";
473
- Namespace[Namespace["SVG"] = 1] = "SVG";
474
- Namespace[Namespace["Math"] = 2] = "Math";
475
- })(Namespace || (Namespace = {}));
476
- /**
477
- * The type of a `@defer` trigger, for use in the ir.
478
- */
479
- export var DeferTriggerKind;
480
- (function (DeferTriggerKind) {
481
- DeferTriggerKind[DeferTriggerKind["Idle"] = 0] = "Idle";
482
- DeferTriggerKind[DeferTriggerKind["Immediate"] = 1] = "Immediate";
483
- DeferTriggerKind[DeferTriggerKind["Timer"] = 2] = "Timer";
484
- DeferTriggerKind[DeferTriggerKind["Hover"] = 3] = "Hover";
485
- DeferTriggerKind[DeferTriggerKind["Interaction"] = 4] = "Interaction";
486
- DeferTriggerKind[DeferTriggerKind["Viewport"] = 5] = "Viewport";
487
- })(DeferTriggerKind || (DeferTriggerKind = {}));
488
- /**
489
- * Kinds of i18n contexts. They can be created because of root i18n blocks, or ICUs.
490
- */
491
- export var I18nContextKind;
492
- (function (I18nContextKind) {
493
- I18nContextKind[I18nContextKind["RootI18n"] = 0] = "RootI18n";
494
- I18nContextKind[I18nContextKind["Icu"] = 1] = "Icu";
495
- I18nContextKind[I18nContextKind["Attr"] = 2] = "Attr";
496
- })(I18nContextKind || (I18nContextKind = {}));
497
- export var TemplateKind;
498
- (function (TemplateKind) {
499
- TemplateKind[TemplateKind["NgTemplate"] = 0] = "NgTemplate";
500
- TemplateKind[TemplateKind["Structural"] = 1] = "Structural";
501
- TemplateKind[TemplateKind["Block"] = 2] = "Block";
502
- })(TemplateKind || (TemplateKind = {}));
503
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci9zcmMvdGVtcGxhdGUvcGlwZWxpbmUvaXIvc3JjL2VudW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVIOzs7O0dBSUc7QUFDSCxNQUFNLENBQU4sSUFBWSxNQTZQWDtBQTdQRCxXQUFZLE1BQU07SUFDaEI7OztPQUdHO0lBQ0gseUNBQU8sQ0FBQTtJQUVQOztPQUVHO0lBQ0gsNkNBQVMsQ0FBQTtJQUVUOztPQUVHO0lBQ0gsMkNBQVEsQ0FBQTtJQUVSOztPQUVHO0lBQ0gsbURBQVksQ0FBQTtJQUVaOztPQUVHO0lBQ0gseUNBQU8sQ0FBQTtJQUVQOztPQUVHO0lBQ0gsMkNBQVEsQ0FBQTtJQUVSOztPQUVHO0lBQ0gsK0NBQVUsQ0FBQTtJQUVWOztPQUVHO0lBQ0gsdURBQWMsQ0FBQTtJQUVkOztPQUVHO0lBQ0gsNkNBQVMsQ0FBQTtJQUVUOztPQUVHO0lBQ0gsbURBQVksQ0FBQTtJQUVaOzs7T0FHRztJQUNILDBEQUFlLENBQUE7SUFFZjs7T0FFRztJQUNILGtEQUFXLENBQUE7SUFFWDs7T0FFRztJQUNILHdEQUFjLENBQUE7SUFFZDs7T0FFRztJQUNILG9DQUFJLENBQUE7SUFFSjs7T0FFRztJQUNILDRDQUFRLENBQUE7SUFFUjs7T0FFRztJQUNILDBEQUFlLENBQUE7SUFFZjs7O09BR0c7SUFDSCwwQ0FBTyxDQUFBO0lBRVA7O09BRUc7SUFDSCw0Q0FBUSxDQUFBO0lBRVI7O09BRUc7SUFDSCw4Q0FBUyxDQUFBO0lBRVQ7O09BRUc7SUFDSCw4Q0FBUyxDQUFBO0lBRVQ7O09BRUc7SUFDSCw0Q0FBUSxDQUFBO0lBRVI7O09BRUc7SUFDSCw0Q0FBUSxDQUFBO0lBRVI7O09BRUc7SUFDSCwwQ0FBTyxDQUFBO0lBRVA7O09BRUc7SUFDSCxvQ0FBSSxDQUFBO0lBRUo7O09B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Yjs7T0FFRztJQUNILHlFQUFnQixDQUFBO0lBRWhCOztPQUVHO0lBQ0gsMkVBQWtCLENBQUE7SUFFbEI7O09BRUc7SUFDSCxtRUFBZ0IsQ0FBQTtJQUVoQjs7T0FFRztJQUNILHFFQUFpQixDQUFBO0lBRWpCOztPQUVHO0lBQ0gsb0ZBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQTNCVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBMkI5QjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksU0FJWDtBQUpELFdBQVksU0FBUztJQUNuQix5Q0FBSSxDQUFBO0lBQ0osdUNBQUcsQ0FBQTtJQUNILHlDQUFJLENBQUE7QUFDTixDQUFDLEVBSlcsU0FBUyxLQUFULFNBQVMsUUFJcEI7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLGdCQU9YO0FBUEQsV0FBWSxnQkFBZ0I7SUFDMUIsdURBQUksQ0FBQTtJQUNKLGlFQUFTLENBQUE7SUFDVCx5REFBSyxDQUFBO0lBQ0wseURBQUssQ0FBQTtJQUNMLHFFQUFXLENBQUE7SUFDWCwrREFBUSxDQUFBO0FBQ1YsQ0FBQyxFQVBXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFPM0I7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLGVBSVg7QUFKRCxXQUFZLGVBQWU7SUFDekIsNkRBQVEsQ0FBQTtJQUNSLG1EQUFHLENBQUE7SUFDSCxxREFBSSxDQUFBO0FBQ04sQ0FBQyxFQUpXLGVBQWUsS0FBZixlQUFlLFFBSTFCO0FBRUQsTUFBTSxDQUFOLElBQVksWUFJWDtBQUpELFdBQVksWUFBWTtJQUN0QiwyREFBVSxDQUFBO0lBQ1YsMkRBQVUsQ0FBQTtJQUNWLGlEQUFLLENBQUE7QUFDUCxDQUFDLEVBSlcsWUFBWSxLQUFaLFlBQVksUUFJdkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBEaXN0aW5ndWlzaGVzIGRpZmZlcmVudCBraW5kcyBvZiBJUiBvcGVyYXRpb25zLlxuICpcbiAqIEluY2x1ZGVzIGJvdGggY3JlYXRpb24gYW5kIHVwZGF0ZSBvcGVyYXRpb25zLlxuICovXG5leHBvcnQgZW51bSBPcEtpbmQge1xuICAvKipcbiAgICogQSBzcGVjaWFsIG9wZXJhdGlvbiB0eXBlIHdoaWNoIGlzIHVzZWQgdG8gcmVwcmVzZW50IHRoZSBiZWdpbm5pbmcgYW5kIGVuZCBub2RlcyBvZiBhIGxpbmtlZFxuICAgKiBsaXN0IG9mIG9wZXJhdGlvbnMuXG4gICAqL1xuICBMaXN0RW5kLFxuXG4gIC8qKlxuICAgKiBBbiBvcGVyYXRpb24gd2hpY2ggd3JhcHMgYW4gb3V0cHV0IEFTVCBzdGF0ZW1lbnQuXG4gICAqL1xuICBTdGF0ZW1lbnQsXG5cbiAgLyoqXG4gICAqIEFuIG9wZXJhdGlvbiB3aGljaCBkZWNsYXJlcyBhbmQgaW5pdGlhbGl6ZXMgYSBgU2VtYW50aWNWYXJpYWJsZWAuXG4gICAqL1xuICBWYXJpYWJsZSxcblxuICAvKipcbiAgICogQW4gb3BlcmF0aW9uIHRvIGJlZ2luIHJlbmRlcmluZyBvZiBhbiBlbGVtZW50LlxuICAgKi9cbiAgRWxlbWVudFN0YXJ0LFxuXG4gIC8qKlxuICAgKiBBbiBvcGVyYXRpb24gdG8gcmVuZGVyIGFuIGVsZW1lbnQgd2l0aCBubyBjaGlsZHJlbi5cbiAgICovXG4gIEVsZW1lbnQsXG5cbiAgLyoqXG4gICAqIEFuIG9wZXJhdGlvbiB3aGljaCBkZWNsYXJlcyBhbiBlbWJlZGRlZCB2aWV3LlxuICAgKi9cbiAgVGVtcGxhdGUsXG5cbiAgLyoqXG4gICAqIEFuIG9wZXJhdGlvbiB0byBlbmQgcmVuZGVyaW5nIG9mIGFuIGVsZW1lbnQgcHJldmlvdXNseSBzdGFydGVkIHdpdGggYEVsZW1lbnRTdGFydGAuXG4gICAqL1xuICBFbGVtZW50RW5kLFxuXG4gIC8qKlxuICAgKiBBbiBvcGVyYXRpb24gdG8gYmVnaW4gYW4gYG5nLWNvbnRhaW5lcmAuXG4gICAqL1xuICBDb250YWluZXJTdGFydCxcblxuICAvKipcbiAgICogQW4gb3BlcmF0aW9uIGZvciBhbiBgbmctY29udGFpbmVyYCB3aXRoIG5vIGNoaWxkcmVuLlxuICAgKi9cbiAgQ29udGFpbmVyLFxuXG4gIC8qKlxuICAgKiBBbiBvcGVyYXRpb24gdG8gZW5kIGFuIGBuZy1jb250YWluZXJgLlxuICAgKi9cbiAgQ29udGFpbmVyRW5kLFxuXG4gIC8qKlxuICAgKiBBbiBvcGVyYXRpb24gZGlzYWJsZSBiaW5kaW5nIGZvciBzdWJzZXF1ZW50IGVsZW1lbnRzLCB3aGljaCBhcmUgZGVzY2VuZGFudHMgb2YgYSBub24tYmluZGFibGVcbiAgICogbm9kZS5cbiAgICovXG4gIERpc2FibGVCaW5kaW5ncyxcblxuICAvKipcbiAgICogQW4gb3AgdG8gY29uZGl0aW9uYWxseSByZW5kZXIgYSB0ZW1wbGF0ZS5cbiAgICovXG4gIENvbmRpdGlvbmFsLFxuXG4gIC8qKlxuICAgKiBBbiBvcGVyYXRpb24gdG8gcmUtZW5hYmxlIGJpbmRpbmcsIGFmdGVyIGl0IHdhcyBwcmV2aW91c2x5IGRpc2FibGVkLlxuICAgKi9cbiAgRW5hYmxlQmluZGluZ3MsXG5cbiAgLyoqXG4gICAqIEFuIG9wZXJhdGlvbiB0byByZW5kZXIgYSB0ZXh0IG5vZGUuXG4gICAqL1xuICBUZXh0LFxuXG4gIC8qKlxuICAgKiBBbiBvcGVyYXRpb24gZGVjbGFyaW5nIGFuIGV2ZW50IGxpc3RlbmVyIGZvciBhbiBlbGVtZW50LlxuICAgKi9cbiAgTGlzdGVuZXIsXG5cbiAgLyoqXG4gICAqIEFuIG9wZXJhdGlvbiB0byBpbnRlcnBvbGF0ZSB0ZXh0IGludG8gYSB0ZXh0IG5vZGUuXG4gICAqL1xuICBJbnRlcnBvbGF0ZVRleHQsXG5cbiAgLyoqXG4gICAqIEFuIGludGVybWVkaWF0ZSBiaW5kaW5nIG9wLCB0aGF0IGhhcyBub3QgeWV0IGJlZW4gcHJvY2Vzc2VkIGludG8gYW4gaW5kaXZpZHVhbCBwcm9wZXJ0eSxcbiAgICogYXR0cmlidXRlLCBzdHlsZSwgZXRjLlxuICAgKi9cbiAgQmluZGluZyxcblxuICAvKipcbiAgICogQW4gb3BlcmF0aW9uIHRvIGJpbmQgYW4gZXhwcmVzc2lvbiB0byBhIHByb3BlcnR5IG9mIGFuIGVsZW1lbnQuXG4gICAqL1xuICBQcm9wZXJ0eSxcblxuICAvKipcbiAgICogQW4gb3BlcmF0aW9uIHRvIGJpbmQgYW4gZXhwcmVzc2lvbiB0byBhIHN0eWxlIHByb3BlcnR5IG9mIGFuIGVsZW1lbnQuXG4gICAqL1xuICBTdHlsZVByb3AsXG5cbiAgLyoqXG4gICAqIEFuIG9wZXJhdGlvbiB0byBiaW5kIGFuIGV4cHJlc3Npb24gdG8gYSBjbGFzcyBwcm9wZXJ0eSBvZiBhbiBlbGVtZW50LlxuICAgKi9cbiAgQ2xhc3NQcm9wLFxuXG4gIC8qKlxuICAgKiBBbiBvcGVyYXRpb24gdG8gYmluZCBhbiBleHByZXNzaW9uIHRvIHRoZSBzdHlsZXMgb2YgYW4gZWxlbWVudC5cbiAgICovXG4gIFN0eWxlTWFwLFxuXG4gIC8qKlxuICAgKiBBbiBvcGVyYXRpb24gdG8gYmluZCBhbiBleHByZXNzaW9uIHRvIHRoZSBjbGFzc2VzIG9mIGFuIGVsZW1lbnQuXG4gICAqL1xuICBDbGFzc01hcCxcblxuICAvKipcbiAgICogQW4gb3BlcmF0aW9uIHRvIGFkdmFuY2UgdGhlIHJ1bnRpbWUncyBpbXBsaWNpdCBzbG90IGNvbnRleHQgZHVyaW5nIHRoZSB1cGRhdGUgcGhhc2Ugb2YgYSB2aWV3LlxuICAgKi9cbiAgQWR2YW5jZSxcblxuICAvKipcbiAgICogQW4gb3BlcmF0aW9uIHRvIGluc3RhbnRpYXRlIGEgcGlwZS5cbiAgICovXG4gIFBpcGUsXG5cbiAgLyoqXG4gICAqIEFuIG9wZXJhdGlvbiB0byBhc3NvY2lhdGUgYW4gYXR0cmlidXRlIHdpdGggYW4gZWxlbWVudC5cbiAgICovXG4gIEF0dHJpYnV0ZSxcblxuICAvKipcbiAgICogQW4gYXR0cmlidXRlIHRoYXQgaGFzIGJlZW4gZXh0cmFjdGVkIGZvciBpbmNsdXNpb24gaW4gdGhlIGNvbnN0cyBhcnJheS5cbiAgICovXG4gIEV4dHJhY3RlZEF0dHJpYnV0ZSxcblxuICAvKipcbiAgICogQW4gb3BlcmF0aW9uIHRoYXQgY29uZmlndXJlcyBhIGBAZGVmZXJgIGJsb2NrLlxuICAgKi9cbiAgRGVmZXIsXG5cbiAgLyoqXG4gICAqIEFuIG9wZXJhdGlvbiB0aGF0IGNvbnRyb2xzIHdoZW4gYSBgQGRlZmVyYCBsb2Fkcy5cbiAgICovXG4gIERlZmVyT24sXG5cbiAgLyoqXG4gICAqIEFuIG9wZXJhdGlvbiB0aGF0IGNvbnRyb2xzIHdoZW4gYSBgQGRlZmVyYCBsb2FkcywgdXNpbmcgYSBjdXN0b20gZXhwcmVzc2lvbiBhcyB0aGUgY29uZGl0aW9uLlxuICAgKi9cbiAgRGVmZXJXaGVuLFxuXG4gIC8qKlxuICAgKiBBbiBpMThuIG1lc3NhZ2UgdGhhdCBoYXMgYmVlbiBleHRyYWN0ZWQgZm9yIGluY2x1c2lvbiBpbiB0aGUgY29uc3RzIGFycmF5LlxuICAgKi9cbiAgSTE4bk1lc3NhZ2UsXG5cbiAgLyoqXG4gICAqIEEgaG9zdCBiaW5kaW5nIHByb3BlcnR5LlxuICAgKi9cbiAgSG9zdFByb3BlcnR5LFxuXG4gIC8qKlxuICAgKiBBIG5hbWVzcGFjZSBjaGFuZ2UsIHdoaWNoIGNhdXNlcyB0aGUgc3Vic2VxdWVudCBlbGVtZW50cyB0byBiZSBwcm9jZXNzZWQgYXMgZWl0aGVyIEhUTUwgb3IgU1ZHLlxuICAgKi9cbiAgTmFtZXNwYWNlLFxuXG4gIC8qKlxuICAgKiBDb25maWd1cmUgYSBjb250ZW50IHByb2plY2l0b24gZGVmaW5pdGlvbiBmb3IgdGhlIHZpZXcuXG4gICAqL1xuICBQcm9qZWN0aW9uRGVmLFxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBjb250ZW50IHByb2plY3Rpb24gc2xvdC5cbiAgICovXG4gIFByb2plY3Rpb24sXG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHJlcGVhdGVyIGNyZWF0aW9uIGluc3RydWN0aW9uIG9wLlxuICAgKi9cbiAgUmVwZWF0ZXJDcmVhdGUsXG5cbiAgLyoqXG4gICAqIEFuIHVwZGF0ZSB1cCBmb3IgYSByZXBlYXRlci5cbiAgICovXG4gIFJlcGVhdGVyLFxuXG4gIC8qKlxuICAgKiBBbiBvcGVyYXRpb24gdG8gYmluZCBhbiBleHByZXNzaW9uIHRvIHRoZSBwcm9wZXJ0eSBzaWRlIG9mIGEgdHdvLXdheSBiaW5kaW5nLlxuICAgKi9cbiAgVHdvV2F5UHJvcGVydHksXG5cbiAgLyoqXG4gICAqIEFuIG9wZXJhdGlvbiBkZWNsYXJpbmcgdGhlIGV2ZW50IHNpZGUgb2YgYSB0d28td2F5IGJpbmRpbmcuXG4gICAqL1xuICBUd29XYXlMaXN0ZW5lcixcblxuICAvKipcbiAgICogQSBjcmVhdGlvbi10aW1lIG9wZXJhdGlvbiB0aGF0IGluaXRpYWxpemVzIHRoZSBzbG90IGZvciBhIGBAbGV0YCBkZWNsYXJhdGlvbi5cbiAgICovXG4gIERlY2xhcmVMZXQsXG5cbiAgLyoqXG4gICAqIEFuIHVwZGF0ZS10aW1lIG9wZXJhdGlvbiB0aGF0IHN0b3JlcyB0aGUgY3VycmVudCB2YWx1ZSBvZiBhIGBAbGV0YCBkZWNsYXJhdGlvbi5cbiAgICovXG4gIFN0b3JlTGV0LFxuXG4gIC8qKlxuICAgKiBUaGUgc3RhcnQgb2YgYW4gaTE4biBibG9jay5cbiAgICovXG4gIEkxOG5TdGFydCxcblxuICAvKipcbiAgICogQSBzZWxmLWNsb3NpbmcgaTE4biBvbiBhIHNpbmdsZSBlbGVtZW50LlxuICAgKi9cbiAgSTE4bixcblxuICAvKipcbiAgICogVGhlIGVuZCBvZiBhbiBpMThuIGJsb2NrLlxuICAgKi9cbiAgSTE4bkVuZCxcblxuICAvKipcbiAgICogQW4gZXhwcmVzc2lvbiBpbiBhbiBpMThuIG1lc3NhZ2UuXG4gICAqL1xuICBJMThuRXhwcmVzc2lvbixcblxuICAvKipcbiAgICogQW4gaW5zdHJ1Y3Rpb24gdGhhdCBhcHBsaWVzIGEgc2V0IG9mIGkxOG4gZXhwcmVzc2lvbnMuXG4gICAqL1xuICBJMThuQXBwbHksXG5cbiAgLyoqXG4gICAqIEFuIGluc3RydWN0aW9uIHRvIGNyZWF0ZSBhbiBJQ1UgZXhwcmVzc2lvbi5cbiAgICovXG4gIEljdVN0YXJ0LFxuXG4gIC8qKlxuICAgKiBBbiBpbnN0cnVjdGlvbiB0byB1cGRhdGUgYW4gSUNVIGV4cHJlc3Npb24uXG4gICAqL1xuICBJY3VFbmQsXG5cbiAgLyoqXG4gICAqIEFuIGluc3RydWN0aW9uIHJlcHJlc2VudGluZyBhIHBsYWNlaG9sZGVyIGluIGFuIElDVSBleHByZXNzaW9uLlxuICAgKi9cbiAgSWN1UGxhY2Vob2xkZXIsXG5cbiAgLyoqXG4gICAqIEFuIGkxOG4gY29udGV4dCBjb250YWluaW5nIGluZm9ybWF0aW9uIG5lZWRlZCB0byBnZW5lcmF0ZSBhbiBpMThuIG1lc3NhZ2UuXG4gICAqL1xuICBJMThuQ29udGV4dCxcblxuICAvKipcbiAgICogQSBjcmVhdGlvbiBvcCB0aGF0IGNvcnJlc3BvbmRzIHRvIGkxOG4gYXR0cmlidXRlcyBvbiBhbiBlbGVtZW50LlxuICAgKi9cbiAgSTE4bkF0dHJpYnV0ZXMsXG59XG5cbi8qKlxuICogRGlzdGluZ3Vpc2hlcyBkaWZmZXJlbnQga2luZHMgb2YgSVIgZXhwcmVzc2lvbnMuXG4gKi9cbmV4cG9ydCBlbnVtIEV4cHJlc3Npb25LaW5kIHtcbiAgLyoqXG4gICAqIFJlYWQgb2YgYSB2YXJpYWJsZSBpbiBhIGxleGljYWwgc2NvcGUuXG4gICAqL1xuICBMZXhpY2FsUmVhZCxcblxuICAvKipcbiAgICogQSByZWZlcmVuY2UgdG8gdGhlIGN1cnJlbnQgdmlldyBjb250ZXh0LlxuICAgKi9cbiAgQ29udGV4dCxcblxuICAvKipcbiAgICogQSByZWZlcmVuY2UgdG8gdGhlIHZpZXcgY29udGV4dCwgZm9yIHVzZSBpbnNpZGUgYSB0cmFjayBmdW5jdGlvbi5cbiAgICovXG4gIFRyYWNrQ29udGV4dCxcblxuICAvKipcbiAgICogUmVhZCBvZiBhIHZhcmlhYmxlIGRlY2xhcmVkIGluIGEgYFZhcmlhYmxlT3BgLlxuICAgKi9cbiAgUmVhZFZhcmlhYmxlLFxuXG4gIC8qKlxuICAgKiBSdW50aW1lIG9wZXJhdGlvbiB0byBuYXZpZ2F0ZSB0byB0aGUgbmV4dCB2aWV3IGNvbnRleHQgaW4gdGhlIHZpZXcgaGllcmFyY2h5LlxuICAgKi9cbiAgTmV4dENvbnRleHQsXG5cbiAgLyoqXG4gICAqIFJ1bnRpbWUgb3BlcmF0aW9uIHRvIHJldHJpZXZlIHRoZSB2YWx1ZSBvZiBhIGxvY2FsIHJlZmVyZW5jZS5cbiAgICovXG4gIFJlZmVyZW5jZSxcblxuICAvKipcbiAgICogQSBjYWxsIHN0b3JpbmcgdGhlIHZhbHVlIG9mIGEgYEBsZXRgIGRlY2xhcmF0aW9uLlxuICAgKi9cbiAgU3RvcmVMZXQsXG5cbiAgLyoqXG4gICAqIEEgcmVmZXJlbmNlIHRvIGEgYEBsZXRgIGRlY2xhcmF0aW9uIHJlYWQgZnJvbSB0aGUgY29udGV4dCB2aWV3LlxuICAgKi9cbiAgQ29udGV4dExldFJlZmVyZW5jZSxcblxuICAvKipcbiAgICogUnVudGltZSBvcGVyYXRpb24gdG8gc25hcHNob3QgdGhlIGN1cnJlbnQgdmlldyBjb250ZXh0LlxuICAgKi9cbiAgR2V0Q3VycmVudFZpZXcsXG5cbiAgLyoqXG4gICAqIFJ1bnRpbWUgb3BlcmF0aW9uIHRvIHJlc3RvcmUgYSBzbmFwc2hvdHRlZCB2aWV3LlxuICAgKi9cbiAgUmVzdG9yZVZpZXcsXG5cbiAgLyoqXG4gICAqIFJ1bnRpbWUgb3BlcmF0aW9uIHRvIHJlc2V0IHRoZSBjdXJyZW50IHZpZXcgY29udGV4dCBhZnRlciBgUmVzdG9yZVZpZXdgLlxuICAgKi9cbiAgUmVzZXRWaWV3LFxuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGFuZCBjYWxscyBhIGZ1bmN0aW9uIHdpdGggY2hhbmdlLWRldGVjdGVkIGFyZ3VtZW50cy5cbiAgICovXG4gIFB1cmVGdW5jdGlvbkV4cHIsXG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBhIHBvc2l0aW9uYWwgcGFyYW1ldGVyIHRvIGEgcHVyZSBmdW5jdGlvbiBkZWZpbml0aW9uLlxuICAgKi9cbiAgUHVyZUZ1bmN0aW9uUGFyYW1ldGVyRXhwcixcblxuICAvKipcbiAgICogQmluZGluZyB0byBhIHBpcGUgdHJhbnNmb3JtYXRpb24uXG4gICAqL1xuICBQaXBlQmluZGluZyxcblxuICAvKipcbiAgICogQmluZGluZyB0byBhIHBpcGUgdHJhbnNmb3JtYXRpb24gd2l0aCBhIHZhcmlhYmxlIG51bWJlciBvZiBhcmd1bWVudHMuXG4gICAqL1xuICBQaXBlQmluZGluZ1ZhcmlhZGljLFxuXG4gIC8qXG4gICAqIEEgc2FmZSBwcm9wZXJ0eSByZWFkIHJlcXVpcmluZyBleHBhbnNpb24gaW50byBhIG51bGwgY2hlY2suXG4gICAqL1xuICBTYWZlUHJvcGVydHlSZWFkLFxuXG4gIC8qKlxuICAgKiBBIHNhZmUga2V5ZWQgcmVhZCByZXF1aXJpbmcgZXhwYW5zaW9uIGludG8gYSBudWxsIGNoZWNrLlxuICAgKi9cbiAgU2FmZUtleWVkUmVhZCxcblxuICAvKipcbiAgICogQSBzYWZlIGZ1bmN0aW9uIGNhbGwgcmVxdWlyaW5nIGV4cGFuc2lvbiBpbnRvIGEgbnVsbCBjaGVjay5cbiAgICovXG4gIFNhZmVJbnZva2VGdW5jdGlvbixcblxuICAvKipcbiAgICogQW4gaW50ZXJtZWRpYXRlIGV4cHJlc3Npb24gdGhhdCB3aWxsIGJlIGV4cGFuZGVkIGZyb20gYSBzYWZlIHJlYWQgaW50byBhbiBleHBsaWNpdCB0ZXJuYXJ5LlxuICAgKi9cbiAgU2FmZVRlcm5hcnlFeHByLFxuXG4gIC8qKlxuICAgKiBBbiBlbXB0eSBleHByZXNzaW9uIHRoYXQgd2lsbCBiZSBzdGlwcGVkIGJlZm9yZSBnZW5lcmF0aW5nIHRoZSBmaW5hbCBvdXRwdXQuXG4gICAqL1xuICBFbXB0eUV4cHIsXG5cbiAgLypcbiAgICogQW4gYXNzaWdubWVudCB0byBhIHRlbXBvcmFyeSB2YXJpYWJsZS5cbiAgICovXG4gIEFzc2lnblRlbXBvcmFyeUV4cHIsXG5cbiAgLyoqXG4gICAqIEEgcmVmZXJlbmNlIHRvIGEgdGVtcG9yYXJ5IHZhcmlhYmxlLlxuICAgKi9cbiAgUmVhZFRlbXBvcmFyeUV4cHIsXG5cbiAgLyoqXG4gICAqIEFuIGV4cHJlc3Npb24gdGhhdCB3aWxsIGNhdXNlIGEgbGl0ZXJhbCBzbG90IGluZGV4IHRvIGJlIGVtaXR0ZWQuXG4gICAqL1xuICBTbG90TGl0ZXJhbEV4cHIsXG5cbiAgLyoqXG4gICAqIEEgdGVzdCBleHByZXNzaW9uIGZvciBhIGNvbmRpdGlvbmFsIG9wLlxuICAgKi9cbiAgQ29uZGl0aW9uYWxDYXNlLFxuXG4gIC8qKlxuICAgKiBBbiBleHByZXNzaW9uIHRoYXQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGV4dHJhY3RlZCB0byB0aGUgY29tcG9uZW50IGNvbnN0IGFycmF5LlxuICAgKi9cbiAgQ29uc3RDb2xsZWN0ZWQsXG5cbiAgLyoqXG4gICAqIE9wZXJhdGlvbiB0aGF0IHNldHMgdGhlIHZhbHVlIG9mIGEgdHdvLXdheSBiaW5kaW5nLlxuICAgKi9cbiAgVHdvV2F5QmluZGluZ1NldCxcbn1cblxuZXhwb3J0IGVudW0gVmFyaWFibGVGbGFncyB7XG4gIE5vbmUgPSAwYjAwMDAsXG5cbiAgLyoqXG4gICAqIEFsd2F5cyBpbmxpbmUgdGhpcyB2YXJpYWJsZSwgcmVnYXJkbGVzcyBvZiB0aGUgbnVtYmVyIG9mIHRpbWVzIGl0J3MgdXNlZC5cbiAgICogQW4gYEFsd2F5c0lubGluZWAgdmFyaWFibGUgbWF5IG5vdCBkZXBlbmQgb24gY29udGV4dCwgYmVjYXVzZSBkb2luZyBzbyBtYXkgY2F1c2Ugc2lkZSBlZmZlY3RzXG4gICAqIHRoYXQgYXJlIGlsbGVnYWwgd2hlbiBtdWx0aS1pbmxpbmVkLiAoVGhlIG9wdGltaXplciB3aWxsIGVuZm9yY2UgdGhpcyBjb25zdHJhaW50LilcbiAgICovXG4gIEFsd2F5c0lubGluZSA9IDBiMDAwMSxcbn1cbi8qKlxuICogRGlzdGluZ3Vpc2hlcyBiZXR3ZWVuIGRpZmZlcmVudCBraW5kcyBvZiBgU2VtYW50aWNWYXJpYWJsZWBzLlxuICovXG5leHBvcnQgZW51bSBTZW1hbnRpY1ZhcmlhYmxlS2luZCB7XG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIHRoZSBjb250ZXh0IG9mIGEgcGFydGljdWxhciB2aWV3LlxuICAgKi9cbiAgQ29udGV4dCxcblxuICAvKipcbiAgICogUmVwcmVzZW50cyBhbiBpZGVudGlmaWVyIGRlY2xhcmVkIGluIHRoZSBsZXhpY2FsIHNjb3BlIG9mIGEgdmlldy5cbiAgICovXG4gIElkZW50aWZpZXIsXG5cbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgYSBzYXZlZCBzdGF0ZSB0aGF0IGNhbiBiZSB1c2VkIHRvIHJlc3RvcmUgYSB2aWV3IGluIGEgbGlzdGVuZXIgaGFuZGxlciBmdW5jdGlvbi5cbiAgICovXG4gIFNhdmVkVmlldyxcblxuICAvKipcbiAgICogQW4gYWxpYXMgZ2VuZXJhdGVkIGJ5IGEgc3BlY2lhbCBlbWJlZGRlZCB2aWV3IHR5cGUgKGUuZy4gYSBgQGZvcmAgYmxvY2spLlxuICAgKi9cbiAgQWxpYXMsXG59XG5cbi8qKlxuICogV2hldGhlciB0byBjb21waWxlIGluIGNvbXBhdGliaWx0eSBtb2RlLiBJbiBjb21wYXRpYmlsaXR5IG1vZGUsIHRoZSB0ZW1wbGF0ZSBwaXBlbGluZSB3aWxsXG4gKiBhdHRlbXB0IHRvIG1hdGNoIHRoZSBvdXRwdXQgb2YgYFRlbXBsYXRlRGVmaW5pdGlvbkJ1aWxkZXJgIGFzIGV4YWN0bHkgYXMgcG9zc2libGUsIGF0IHRoZSBjb3N0XG4gKiBvZiBwcm9kdWNpbmcgcXVpcmt5IG9yIGxhcmdlciBjb2RlIGluIHNvbWUgY2FzZXMuXG4gKi9cbmV4cG9ydCBlbnVtIENvbXBhdGliaWxpdHlNb2RlIHtcbiAgTm9ybWFsLFxuICBUZW1wbGF0ZURlZmluaXRpb25CdWlsZGVyLFxufVxuXG4vKipcbiAqIEVudW1lcmF0aW9uIG9mIHRoZSB0eXBlcyBvZiBhdHRyaWJ1dGVzIHdoaWNoIGNhbiBiZSBhcHBsaWVkIHRvIGFuIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCBlbnVtIEJpbmRpbmdLaW5kIHtcbiAgLyoqXG4gICAqIFN0YXRpYyBhdHRyaWJ1dGVzLlxuICAgKi9cbiAgQXR0cmlidXRlLFxuXG4gIC8qKlxuICAgKiBDbGFzcyBiaW5kaW5ncy5cbiAgICovXG4gIENsYXNzTmFtZSxcblxuICAvKipcbiAgICogU3R5bGUgYmluZGluZ3MuXG4gICAqL1xuICBTdHlsZVByb3BlcnR5LFxuXG4gIC8qKlxuICAgKiBEeW5hbWljIHByb3BlcnR5IGJpbmRpbmdzLlxuICAgKi9cbiAgUHJvcGVydHksXG5cbiAgLyoqXG4gICAqIFByb3BlcnR5IG9yIGF0dHJpYnV0ZSBiaW5kaW5ncyBvbiBhIHRlbXBsYXRlLlxuICAgKi9cbiAgVGVtcGxhdGUsXG5cbiAgLyoqXG4gICAqIEludGVybmF0aW9uYWxpemVkIGF0dHJpYnV0ZXMuXG4gICAqL1xuICBJMThuLFxuXG4gIC8qKlxuICAgKiBBbmltYXRpb24gcHJvcGVydHkgYmluZGluZ3MuXG4gICAqL1xuICBBbmltYXRpb24sXG5cbiAgLyoqXG4gICAqIFByb3BlcnR5IHNpZGUgb2YgYSB0d28td2F5IGJpbmRpbmcuXG4gICAqL1xuICBUd29XYXlQcm9wZXJ0eSxcbn1cblxuLyoqXG4gKiBFbnVtZXJhdGlvbiBvZiBwb3NzaWJsZSB0aW1lcyBpMThuIHBhcmFtcyBjYW4gYmUgcmVzb2x2ZWQuXG4gKi9cbmV4cG9ydCBlbnVtIEkxOG5QYXJhbVJlc29sdXRpb25UaW1lIHtcbiAgLyoqXG4gICAqIFBhcmFtIGlzIHJlc29sdmVkIGF0IG1lc3NhZ2UgY3JlYXRpb24gdGltZS4gTW9zdCBwYXJhbXMgc2hvdWxkIGJlIHJlc29sdmVkIGF0IG1lc3NhZ2UgY3JlYXRpb25cbiAgICogdGltZS4gSG93ZXZlciwgSUNVIHBhcmFtcyBuZWVkIHRvIGJlIGhhbmRsZWQgaW4gcG9zdC1wcm9jZXNzaW5nLlxuICAgKi9cbiAgQ3JlYXRpb24sXG5cbiAgLyoqXG4gICAqIFBhcmFtIGlzIHJlc29sdmVkIGR1cmluZyBwb3N0LXByb2Nlc3NpbmcuIFRoaXMgc2hvdWxkIGJlIHVzZWQgZm9yIHBhcmFtcyB3aG9zZSB2YWx1ZSBjb21lcyBmcm9tXG4gICAqIGFuIElDVS5cbiAgICovXG4gIFBvc3Rwcm9jY2Vzc2luZyxcbn1cblxuLyoqXG4gKiBUaGUgY29udGV4dHMgaW4gd2hpY2ggYW4gaTE4biBleHByZXNzaW9uIGNhbiBiZSB1c2VkLlxuICovXG5leHBvcnQgZW51bSBJMThuRXhwcmVzc2lvbkZvciB7XG4gIC8qKlxuICAgKiBUaGlzIGV4cHJlc3Npb24gaXMgdXNlZCBhcyBhIHZhbHVlIChpLmUuIGluc2lkZSBhbiBpMThuIGJsb2NrKS5cbiAgICovXG4gIEkxOG5UZXh0LFxuXG4gIC8qKlxuICAgKiBUaGlzIGV4cHJlc3Npb24gaXMgdXNlZCBpbiBhIGJpbmRpbmcuXG4gICAqL1xuICBJMThuQXR0cmlidXRlLFxufVxuXG4vKipcbiAqIEZsYWdzIHRoYXQgZGVzY3JpYmUgd2hhdCBhbiBpMThuIHBhcmFtIHZhbHVlLiBUaGVzZSBkZXRlcm1pbmUgaG93IHRoZSB2YWx1ZSBpcyBzZXJpYWxpemVkIGludG9cbiAqIHRoZSBmaW5hbCBtYXAuXG4gKi9cbmV4cG9ydCBlbnVtIEkxOG5QYXJhbVZhbHVlRmxhZ3Mge1xuICBOb25lID0gMGIwMDAwLFxuXG4gIC8qKlxuICAgKiAgVGhpcyB2YWx1ZSByZXByZXNlbnRzIGFuIGVsZW1lbnQgdGFnLlxuICAgKi9cbiAgRWxlbWVudFRhZyA9IDBiMSxcblxuICAvKipcbiAgICogVGhpcyB2YWx1ZSByZXByZXNlbnRzIGEgdGVtcGxhdGUgdGFnLlxuICAgKi9cbiAgVGVtcGxhdGVUYWcgPSAwYjEwLFxuXG4gIC8qKlxuICAgKiBUaGlzIHZhbHVlIHJlcHJlc2VudHMgdGhlIG9wZW5pbmcgb2YgYSB0YWcuXG4gICAqL1xuICBPcGVuVGFnID0gMGIwMTAwLFxuXG4gIC8qKlxuICAgKiBUaGlzIHZhbHVlIHJlcHJlc2VudHMgdGhlIGNsb3Npbmcgb2YgYSB0YWcuXG4gICAqL1xuICBDbG9zZVRhZyA9IDBiMTAwMCxcblxuICAvKipcbiAgICogVGhpcyB2YWx1ZSByZXByZXNlbnRzIGFuIGkxOG4gZXhwcmVzc2lvbiBpbmRleC5cbiAgICovXG4gIEV4cHJlc3Npb25JbmRleCA9IDBiMTAwMDAsXG59XG5cbi8qKlxuICogV2hldGhlciB0aGUgYWN0aXZlIG5hbWVzcGFjZSBpcyBIVE1MLCBNYXRoTUwsIG9yIFNWRyBtb2RlLlxuICovXG5leHBvcnQgZW51bSBOYW1lc3BhY2Uge1xuICBIVE1MLFxuICBTVkcsXG4gIE1hdGgsXG59XG5cbi8qKlxuICogVGhlIHR5cGUgb2YgYSBgQGRlZmVyYCB0cmlnZ2VyLCBmb3IgdXNlIGluIHRoZSBpci5cbiAqL1xuZXhwb3J0IGVudW0gRGVmZXJUcmlnZ2VyS2luZCB7XG4gIElkbGUsXG4gIEltbWVkaWF0ZSxcbiAgVGltZXIsXG4gIEhvdmVyLFxuICBJbnRlcmFjdGlvbixcbiAgVmlld3BvcnQsXG59XG5cbi8qKlxuICogS2luZHMgb2YgaTE4biBjb250ZXh0cy4gVGhleSBjYW4gYmUgY3JlYXRlZCBiZWNhdXNlIG9mIHJvb3QgaTE4biBibG9ja3MsIG9yIElDVXMuXG4gKi9cbmV4cG9ydCBlbnVtIEkxOG5Db250ZXh0S2luZCB7XG4gIFJvb3RJMThuLFxuICBJY3UsXG4gIEF0dHIsXG59XG5cbmV4cG9ydCBlbnVtIFRlbXBsYXRlS2luZCB7XG4gIE5nVGVtcGxhdGUsXG4gIFN0cnVjdHVyYWwsXG4gIEJsb2NrLFxufVxuIl19